Nat 5 Software Development Process The Software Development

  • Slides: 27
Download presentation
Nat 5 Software Development Process

Nat 5 Software Development Process

The Software Development Process Any product, whether it is hardware or software it is

The Software Development Process Any product, whether it is hardware or software it is always developed following essentially the same process. This process is called the Software Development Process.

Learning The Steps It is important that you learn the steps in the correct

Learning The Steps It is important that you learn the steps in the correct order: Analysis Design Implementation Testing Documentation Evaluation Maintenance

A D I T D E M (Initials) We remember the stages and order

A D I T D E M (Initials) We remember the stages and order of the Software Development Process using a rhyme: A Dance In The Dark Every Monday n a l y s i s e s i g n m p l e m e n t a t i o n e s t i n g o c u m e n t a t i o n v a l u a t i o n a i n t e n a n c e

Analysis The main purpose of the analysis stage is to be absolutely clear about

Analysis The main purpose of the analysis stage is to be absolutely clear about what the program is supposed to do. The result of this stage is the program specification agreed by both the customer (whoever wants the program written) and the developer (the person or company who are developing the program).

Design It is worth spending time at the design stage working out some of

Design It is worth spending time at the design stage working out some of the important details, including how the program will look on the screen, how the user will interact with the program, and how the program might be structured. Program designers use a variety of methods for describing the program structure. Two common ones are called pseudocode and structure diagrams.

Pseudocode Pseudocode is a non-graphical design notation. It is a numbered list of instructions

Pseudocode Pseudocode is a non-graphical design notation. It is a numbered list of instructions written in normal human language (in this case, English). It doesn’t go into all the details, but it gives the main steps.

Pseudocode -Example Problem – Write a program that allows a user to enter a

Pseudocode -Example Problem – Write a program that allows a user to enter a score out of 50. The program should calculate and display the percentage. Before you write the pseudocode it is good to work out the Inputs , Processes (calculations) and Outputs. Inputs Processes Outputs Score Calculate Percentage

Pseudocode -Example � � Pseudocode 1. Get the score 2. Calculate Percentage 3. Display

Pseudocode -Example � � Pseudocode 1. Get the score 2. Calculate Percentage 3. Display Message 1. 1 Prompt user for a score 1. 2 Accept score 2. 1 percentage= score / 50 * 100 Here is the trick: Start with the input variables and put “Get the” in front of them. Next comes the process variables. Put calculate in front of them. And always put Display Message at end

Structured Diagram Name of program Step 1 Step 2 Step 3 Step 4 Step

Structured Diagram Name of program Step 1 Step 2 Step 3 Step 4 Step 5 • Each instruction goes into a separate box. • You read pseudocode from top to bottom. • You read a structure diagram from top to bottom, left to right.

Structured Diagram- Example Here is the previous problem as a structured diagram: Percentage Program

Structured Diagram- Example Here is the previous problem as a structured diagram: Percentage Program Get the Score Calculate Percentage Display Message

Implementation is the process of converting a program design into a suitable program language.

Implementation is the process of converting a program design into a suitable program language. • The screen should look like your screen design • The structure of your code should follow your pseudocode and your structured diagrams Any changes made during implementation MUST be recorded and changed in the design.

Implementation There are thousands of different programming languages, all with their own advantage and

Implementation There are thousands of different programming languages, all with their own advantage and disadvantages.

Testing When you finish programming you will need to test your program rigorously. This

Testing When you finish programming you will need to test your program rigorously. This will be carefully planned to test a wide range of conditions. We can divide it up into three types of testing. • Normal • Extreme • Exceptional

Types of testing � Testing normal conditions • Making sure the program does what

Types of testing � Testing normal conditions • Making sure the program does what it should do when data is within the boundaries of normal use. • If the program asks for a number from 0 -100 • enter any number between 1 and 99, e. g. 12 as it should accept this.

Types of testing � Testing extreme conditions • Making sure the program can handle

Types of testing � Testing extreme conditions • Making sure the program can handle situations that are at the edge of what would be considered normal. On the boundaries of normal use. • If the program asks for a number from 0 -100 • enter 0 or 100.

Types of testing � Testing exceptional conditions • Making sure it can handle situations

Types of testing � Testing exceptional conditions • Making sure it can handle situations or inputs that it has not been designed to cope with. Out with the boundaries of normal use. • If the program asks for a number from 0 -100 • Enter “computing” or -12 or any number out with the boundaries of normal use. It should give you an error message and not crash.

Documentation This is the documentation that the user gets when they buy a piece

Documentation This is the documentation that the user gets when they buy a piece of software. There are two main types of documentation; • User Guide & • Technical Guide

Documentation- User Guide This tells you how to use the product. It might also

Documentation- User Guide This tells you how to use the product. It might also contain a tutorial, taking you through the use of the product step by step. User guides come in the form of a booklet or electronically.

Documentation- Technical Guide This gives technical information about the type of computer the software

Documentation- Technical Guide This gives technical information about the type of computer the software will run on, including; • how much RAM it needs, • how fast a processor it must have, • which operating system is required. The Technical Guide should also include instructions on how to install the software.

Evaluation The final stage in the process before the software can be distributed or

Evaluation The final stage in the process before the software can be distributed or sold is evaluation. Evaluation involves reviewing the software under various headings to see if it is of the quality required. In this course, we will review software under the following three headings; • fitness for purpose • user interface • readability.

Fitness For Purpose Is the software fit for purpose? To answer this question the

Fitness For Purpose Is the software fit for purpose? To answer this question the programmer must go back to the program specification (produced at the analysis stage) and checking that all the features of the software have been implemented. It also means considering the results of testing, and making sure that the program works correctly and is free from bugs.

User Interface The user interface should also be evaluated. • The user interface is

User Interface The user interface should also be evaluated. • The user interface is the way in which the users interact with the program. To evaluate a program answer the following questions; • Is the program easy to use? • Is it clear what all the menus, commands and options are supposed to do? • Could it be improved in any way?

Readability This is not for the end-user, but for the programmer. It is assessing

Readability This is not for the end-user, but for the programmer. It is assessing the way that the coding has been implemented. If a programmer can take a program they have not written and understand it, it is deemed readable.

Readability: What makes a program readable? Using meaningful variable names l If the program

Readability: What makes a program readable? Using meaningful variable names l If the program asks for a user name call the variable “user name”! Use internal comment lines • Beside each section of code write a small sentence on what that piece of code does.

Maintenance • This final phase happens after the program has been put into use

Maintenance • This final phase happens after the program has been put into use (sold), so we cannot put this stage into action in class. • There are 3 different types of maintenance that might be required, these are called; • Corrective maintenance (fixing bugs), • Perfective maintenance (adding new features) • Adaptive maintenance (taking account of new conditions, e. g. new OS).

Written Task Now fill the table with a description of each stage in the

Written Task Now fill the table with a description of each stage in the Software development Process. Stage 1. Analysis 2. Design 3. Implementation 4. Testing 5. Documentation 6. Evaluation 7. Maintenance Description