int 2 computing

31
Int 2 Computing Int 2 Computing Software Development Software Development

Upload: amal-riggs

Post on 03-Jan-2016

18 views

Category:

Documents


0 download

DESCRIPTION

Int 2 Computing. Software Development. I2. The Development Process. Before we think about how software is developed, it is worth considering how any product is developed, because the process is essentially the same. I2. The Development Process. Analysis Design Implementation Testing - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Int 2 Computing

Int 2 ComputingInt 2 Computing

Software DevelopmentSoftware Development

Page 2: Int 2 Computing

The Development Process The Development Process

Before we think about how software is Before we think about how software is developed, it is worth considering how developed, it is worth considering how any product is developed, because the any product is developed, because the process is essentially the same. process is essentially the same.

Page 3: Int 2 Computing

The Development ProcessThe Development Process

1.1. AnalysisAnalysis

2.2. DesignDesign

3.3. ImplementationImplementation

4.4. TestingTesting

5.5. DocumentationDocumentation

6.6. EvaluationEvaluation

7.7. MaintenanceMaintenance

Page 4: Int 2 Computing

Software Development Software Development ProcessProcessA Dance In The Dark Every

Monday•Analysis

•Design

•Implementation

•Testing

•Documentation

•Evaluation

•Maintainance

Monday

Page 5: Int 2 Computing

Real life (Real life (forget programming forget programming for a moment)for a moment)

For example, think about the process For example, think about the process of developing a new model of TV.of developing a new model of TV.

Page 6: Int 2 Computing

TV - AnalysisTV - Analysis

Before a new product is developed, someone within Before a new product is developed, someone within the company, probably in the marketing department, the company, probably in the marketing department, analyses what people want. analyses what people want.

They consider which products are selling well, look at They consider which products are selling well, look at what rival companies are producing, and maybe even what rival companies are producing, and maybe even carry out a survey to find out what people want. carry out a survey to find out what people want.

From this they can work out which features are From this they can work out which features are required in their newest model, including its size, required in their newest model, including its size, target price range and various technical target price range and various technical requirements.requirements.

Page 7: Int 2 Computing

TV - AnalysisTV - Analysis

They use this information to produce a They use this information to produce a specification specification for the new model of for the new model of TV. TV.

This states clearly all the features that This states clearly all the features that it must have.it must have.

Page 8: Int 2 Computing

TV - DesignTV - Design

The next stage is to turn the specification into The next stage is to turn the specification into a design. Designers will get to work, alone or a design. Designers will get to work, alone or in groups, to design various aspects of the in groups, to design various aspects of the new TV. new TV.

•What will it look like? What will it look like? •How will the controls be laid out? How will the controls be laid out?

Sketches will be drawn up and checked Sketches will be drawn up and checked against the specification. Another team of against the specification. Another team of designers will be planning the internal designers will be planning the internal circuitry, making sure it will allow the TV to do circuitry, making sure it will allow the TV to do all the things set out in the specification.all the things set out in the specification.

Page 9: Int 2 Computing

TV - ImplementationTV - Implementation

Once the design phase is over, engineers Once the design phase is over, engineers will get to work to actually build a prototype. will get to work to actually build a prototype.

Some will build the case according to the Some will build the case according to the design, while others will develop the design, while others will develop the electronics to go inside. electronics to go inside.

Each part will be tested on its own, then the Each part will be tested on its own, then the whole thing will be assembled into a whole thing will be assembled into a (hopefully) working TV set.(hopefully) working TV set.

Page 10: Int 2 Computing

TV - TestingTV - Testing

Before the new model can be put on sale, it Before the new model can be put on sale, it will be thoroughly tested. A wide range of will be thoroughly tested. A wide range of tests will be carried out.tests will be carried out.

It might be tested under ‘It might be tested under ‘normalnormal’ ’ conditions. conditions.

It could be put in a room at normal room It could be put in a room at normal room temperature, and checked to see that all the temperature, and checked to see that all the controls work correctly, the display is clear, controls work correctly, the display is clear, it is nice and stable, and so on.it is nice and stable, and so on.

Page 11: Int 2 Computing

TV - TestingTV - Testing

If it passes normal of testing, it might next be tested If it passes normal of testing, it might next be tested under ‘under ‘extremeextreme’ conditions. ’ conditions.

For example, does it still work if the temperature is For example, does it still work if the temperature is below freezing, or very hot and humid, if it used for below freezing, or very hot and humid, if it used for long periods of time, or with the volume or the long periods of time, or with the volume or the brightness or contrast set to their maximum values.brightness or contrast set to their maximum values.

Finally, it could be tested under ‘Finally, it could be tested under ‘exceptionalexceptional’ ’ conditions.conditions.

What happens if a 2-year old picks up the remote What happens if a 2-year old picks up the remote and presses all the buttons at once? What happens if and presses all the buttons at once? What happens if there is a power cut, or a power surge?there is a power cut, or a power surge?

Page 12: Int 2 Computing

TV - TestingTV - Testing

If it fails any of these tests, it might be If it fails any of these tests, it might be necessary to go back to the necessary to go back to the implementation (or even design) stage implementation (or even design) stage and do some further work, before re-and do some further work, before re-testing.testing.

If it passes all the tests, then the new If it passes all the tests, then the new TV can go into production.TV can go into production.

Page 13: Int 2 Computing

TV - DocumentationTV - Documentation

However, the development isn’t yet However, the development isn’t yet complete! complete!

Some documentation will be needed to Some documentation will be needed to go with the TV – a go with the TV – a User Manual User Manual containing all the instructions about containing all the instructions about how to work the new TV, and probably how to work the new TV, and probably a a Technical ManualTechnical Manual for repair for repair engineers.engineers.

Page 14: Int 2 Computing

TV - EvaluationTV - Evaluation

Once the model is in production, the Once the model is in production, the company will want to evaluate it. company will want to evaluate it.

•Does it do what it is supposed to do? Does it do what it is supposed to do?

•Is it easy to use? Is it easy to use?

•From the engineer’s point of view, is From the engineer’s point of view, is it easy to repair?it easy to repair?

Page 15: Int 2 Computing

TV - MaintenanceTV - Maintenance

Stage 6 should be the end of the story, but Stage 6 should be the end of the story, but in the real world, there needs to be stage 7 – in the real world, there needs to be stage 7 – maintenance. maintenance.

There are different kinds of maintenance: There are different kinds of maintenance: •fixing faults that turn up once it is being fixing faults that turn up once it is being used regularly, used regularly, •improving the design to make it even improving the design to make it even better, better, •or making changes for other situations (like or making changes for other situations (like making a version that will work in another making a version that will work in another country).country).

Page 16: Int 2 Computing

The Software Development The Software Development ProcessProcess

Exactly the same process goes into the Exactly the same process goes into the production of a piece of software. production of a piece of software.

The software engineers and their The software engineers and their colleagues carry out all the stages of colleagues carry out all the stages of the software development process in the software development process in order – order – analysis, design, analysis, design, implementation, testing, implementation, testing, documentation, evaluation, documentation, evaluation, maintenancemaintenance..

Page 17: Int 2 Computing

The Software Development The Software Development Process - AnalysisProcess - AnalysisThe main purpose of the analysis stage is to be The main purpose of the analysis stage is to be absolutely clear about what the program is supposed to absolutely clear about what the program is supposed to do. do.

Often, a new program will start from a rough idea. Before Often, a new program will start from a rough idea. Before getting started, it is important to turn the rough idea into getting started, it is important to turn the rough idea into an exact description of how the program will behave. an exact description of how the program will behave.

What will it do? What will it do? What are the inputs and the outputs? What are the inputs and the outputs? What type of computer is it to run on? What type of computer is it to run on?

All these questions, and many more, must be asked and All these questions, and many more, must be asked and answered at this stage.answered at this stage.

Page 18: Int 2 Computing

The Software Development The Software Development Process - AnalysisProcess - AnalysisThe main purpose of the analysis stage is to be The main purpose of the analysis stage is to be absolutely clear about what the program is supposed to absolutely clear about what the program is supposed to do. do.

Often, a new program will start from a rough idea. Before Often, a new program will start from a rough idea. Before getting started, it is important to turn the rough idea into getting started, it is important to turn the rough idea into an exact description of how the program will behave. an exact description of how the program will behave.

What will it do? What will it do? What are the inputs and the outputs? What are the inputs and the outputs? What type of computer is it to run on? What type of computer is it to run on?

All these questions, and many more, must be asked and All these questions, and many more, must be asked and answered at this stage.answered at this stage.

Page 19: Int 2 Computing

The Software Development The Software Development Process - DesignProcess - Design

Inexperienced programmers are often Inexperienced programmers are often tempted to jump straight from the program tempted to jump straight from the program specification to coding, but this is not a good specification to coding, but this is not a good idea. idea.

It is worth spending time at the design stage It is worth spending time at the design stage working out some of the important details, working out some of the important details, including how the program will look on the including how the program will look on the screen, how the user will interact with the screen, how the user will interact with the program, and how the program might be program, and how the program might be structured. structured.

Page 20: Int 2 Computing

The Software Development The Software Development Process - DesignProcess - Design

Program designers use a variety of Program designers use a variety of methods for describing the program methods for describing the program structure. structure.

Two common ones are called Two common ones are called pseudocode pseudocode and and structure diagramsstructure diagrams. .

There are many others, but we will only There are many others, but we will only consider these two.consider these two.

Page 21: Int 2 Computing

The Software Development The Software Development Process – Design - PseudocodeProcess – Design - PseudocodeThink about making tea. Here is a list of instructions Think about making tea. Here is a list of instructions for this task:for this task:

1. Get a mug out of the cupboard1. Get a mug out of the cupboard2. Put a teabag in it2. Put a teabag in it3. Boil the kettle3. Boil the kettle4. Pour boiling water from the kettle into the 4. Pour boiling water from the kettle into the

mugmug5. Stir.5. Stir.

This is an example of This is an example of pseudocodepseudocode. It is a numbered . It is a numbered list of instructions written in normal human language list of instructions written in normal human language (in this case, English). It doesn’t go into all the details, (in this case, English). It doesn’t go into all the details, but it gives the main steps.but it gives the main steps.

Pseudocode Pseudocode is readis read from top to bottom.from top to bottom.

Page 22: Int 2 Computing

The Software Development The Software Development Process – Design – Structure Process – Design – Structure DiagramDiagramAnother way of showing this is as a Another way of showing this is as a structure diagramstructure diagram..

It could look like this:It could look like this:Making

tea

Get mug from

cupboard

Put teabagin mug

Boil kettle

Pour water from

kettle into mug

Stir

Page 23: Int 2 Computing

The Software Development The Software Development Process - DesignProcess - Design

When designing a programme it is When designing a programme it is important to indicate the important to indicate the data flowdata flow..

This shows how an item of data gets This shows how an item of data gets from one part of the program to from one part of the program to another. another.

Page 24: Int 2 Computing

The Software Development The Software Development Process – ImplementationProcess – ImplementationIn software development, implementation is the process of In software development, implementation is the process of converting a program design into a suitable programming converting a program design into a suitable programming language.language.

There are thousands of different programming languages There are thousands of different programming languages out there, all with their own advantages and out there, all with their own advantages and disadvantages. disadvantages.

For the purposes of this course, you only need to know For the purposes of this course, you only need to know about two main groups: about two main groups: machine codemachine code and and high level high level languageslanguages. .

For this course, you will be learning to implement programs For this course, you will be learning to implement programs in Visual Basic. in Visual Basic.

Be aware other languages are available!Be aware other languages are available!

Page 25: Int 2 Computing

The Software Development The Software Development Process – TestingProcess – TestingWe looked at testing at the start of this booklet. We looked at testing at the start of this booklet. Whether talking about a new TV, a new item of Whether talking about a new TV, a new item of clothing, or a new computer program, the clothing, or a new computer program, the manufacturers will spend a great deal of time on manufacturers will spend a great deal of time on testing. testing.

This will be carefully planned to test a wide range of This will be carefully planned to test a wide range of conditions. We can divide it up into three types of conditions. We can divide it up into three types of testing.testing.

•NormalNormal•ExtremeExtreme•ExceptionalExceptional

Page 26: Int 2 Computing

The Software Development The Software Development Process – DocumentationProcess – DocumentationUser Guide User Guide

When you buy a product, whether it is a computer When you buy a product, whether it is a computer program or anything else, you usually get some program or anything else, you usually get some kind of User Guide with it. kind of User Guide with it.

This tells you how to use the product. It might also This tells you how to use the product. It might also contain a tutorial, taking you through the use of the contain a tutorial, taking you through the use of the product step by step.product step by step.

Some software comes with a big fat book called Some software comes with a big fat book called User Guide or Manual; others come with the User User Guide or Manual; others come with the User Guide on a CD.Guide on a CD.

Page 27: Int 2 Computing

The Software Development The Software Development Process – DocumentationProcess – DocumentationTechnical GuideTechnical Guide

As well as documentation for the user of the software, As well as documentation for the user of the software, there should also be a Technical Guide of some sort. there should also be a Technical Guide of some sort.

This gives technical information which is of little This gives technical information which is of little interest to most users, except that it will usually interest to most users, except that it will usually include information about the specification of include information about the specification of computer required, including how much RAM it needs, computer required, including how much RAM it needs, how fast a processor it must have, and which how fast a processor it must have, and which operating system is required. operating system is required.

The Technical Guide should also include instructions The Technical Guide should also include instructions on how to install the software.on how to install the software.

Page 28: Int 2 Computing

The Software Development The Software Development Process – EvaluationProcess – Evaluation

The final stage in the process before the software The final stage in the process before the software can be distributed or sold is evaluation. can be distributed or sold is evaluation.

Evaluation involves reviewing the software under Evaluation involves reviewing the software under various headings to see if it is of the quality various headings to see if it is of the quality required.required.

For Int 2, we will review software under three For Int 2, we will review software under three headings:headings:fitness for purpose, user interface and fitness for purpose, user interface and readabilityreadability..

Page 29: Int 2 Computing

The Software Development The Software Development Process – EvaluationProcess – Evaluation

Fit for purposeFit for purpose

Is the software fit for purpose? Is the software fit for purpose? The answer is ‘yes’ if the software does all the The answer is ‘yes’ if the software does all the things that it is supposed to do, under all things that it is supposed to do, under all reasonable conditions. reasonable conditions.

This means going back to the program specification This means going back to the program specification (produced at the analysis stage) and checking that (produced at the analysis stage) and checking that all the features of the software have been all the features of the software have been implemented. It also means considering the results implemented. It also means considering the results of testing, and making sure that the program works of testing, and making sure that the program works correctly and is free from bugs.correctly and is free from bugs.

Page 30: Int 2 Computing

The Software Development The Software Development Process – EvaluationProcess – Evaluation

The User InterfaceThe User Interface

The user interface should also be The user interface should also be evaluated. evaluated. •Is the program easy to use? Is the program easy to use? •Is it clear what all the menus, Is it clear what all the menus, commands and options are supposed commands and options are supposed to do? to do? •Could it be improved in any way?Could it be improved in any way?

Page 31: Int 2 Computing

The Software Development The Software Development Process – EvaluationProcess – EvaluationReadabilityReadability

The third aspect of evaluation that we will consider is The third aspect of evaluation that we will consider is readability. readability.

This is of no direct concern to the user of the software, This is of no direct concern to the user of the software, but is important for any programmer who may need to but is important for any programmer who may need to understand how the program works.understand how the program works.

It is to do with the way that the coding has been It is to do with the way that the coding has been implemented. implemented.

Is it possible for the program code to be read and Is it possible for the program code to be read and understood by another programmer, perhaps at a later understood by another programmer, perhaps at a later date when the program is being updated in some way?date when the program is being updated in some way?