intermediate 2

34
INTERMEDIATE 2 Software Development Process

Upload: ivi

Post on 25-Feb-2016

38 views

Category:

Documents


0 download

DESCRIPTION

Intermediate 2. Software Development Process. Software. You should already know that any computer system is made up of hardware and software . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Intermediate 2

INTERMEDIATE 2Software Development Process

Page 2: Intermediate 2

Software You should already know that any computer system

is made up of hardware and software.

The term hardware is fairly easy to understand, because you can see it. It is all the pieces of equipment that make up the system – the processor, monitor, keyboard, mouse, printer, scanner and so on.

Software is not so obvious. It is all the programs, instructions and data that allow the hardware to do something useful and interesting.

Page 3: Intermediate 2

Software we know (no need to copy this slide)

Microsoft Word (the word processing program that I use – I regularly use three versions of it: Word 2000, Word 98 for MacOS 8, Word v.X for MacOS X)

Microsoft Excel (spreadsheet used to keep charity accounts for which I am the treasurer)

AppleWorks (integrated package – I mainly use its word processor and simple database sections)

Internet Explorer (both PC and Mac versions – for browsing the web)

Page 4: Intermediate 2

Jotter Work1. What is the

meaning of the term hardware?

2. Give three examples of software.

3. Identify each of the items in the table as either hardware or software:

Item Hardware SoftwaremonitordatabaseWindows 97scanneran e-mailInternet Explorermousemodem

Page 5: Intermediate 2

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.

Page 6: Intermediate 2

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

the correct order:

AnalysisDesign

ImplementationTesting

DocumentationEvaluation

Maintenance

Page 7: Intermediate 2

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 Mondaynalysis

esign

mplementation

esting

ocumentation

valuation

aintenance

Page 8: Intermediate 2

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).

Page 9: Intermediate 2

Jotter WorkCopy this table at the back of your jotter and copy out the description of analysis.Stage Description1. Analysis •Produce a Program Specification

•Have a clear understanding of exactly what the program is required to do.

2. Design

3. Implementation

4. Testing

5. Documentation

6. Evaluation

7. Maintenance Occurs after the software is complete

Page 10: Intermediate 2

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.

Page 11: Intermediate 2

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.

Page 12: Intermediate 2

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 Percentage Percentage

Page 13: Intermediate 2

Pseudocode -Example Pseudocode

1. Get the score1.1 Prompt user for a score1.2 Accept

2. Calculate Percentage2.1 percentage= score / 50 * 100

3. Display Message 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

Page 14: Intermediate 2

Structured Diagram

•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.

Name of program

Step 1 Step 2 Step 3 Step 4 Step 5

Page 15: Intermediate 2

Structured Diagram- Example

Here is the previous problem as a structured diagram:

Percentage Program

Get the Score Calculate Percentage

Display Message

Page 16: Intermediate 2

Written TaskNow fill the table in your jotter out with the description of design.

Stage Description1. Analysis

2. Design •Working out the details of what the screens will look like, what menus and functions there will be and other detailed aspects of the program.•Use pseudocode and/or structured diagram

3. Implementation

4. Testing

5. Documentation

6. Evaluation

7. Maintenance

Page 17: Intermediate 2

Implementation 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 change in design.

Page 18: Intermediate 2

Implementation There are thousands of different

programming languages, all with their own advantage and disadvantages.

You have already used Prolog in the AI unit of this course. This language is good for creating knowledge bases for expert systems.

Page 19: Intermediate 2

Written TaskNow fill the table in your jotter out with the description of implementation.

Stage Description1. Analysis

2. Design

3. Implementation Actual writing all the program code and creating of the user interface

4. Testing

5. Documentation

6. Evaluation

7. Maintenance

Page 20: Intermediate 2

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

Page 21: Intermediate 2

Types of testing Testing normal conditions

• Making sure the program does what it should do when used ‘normally’. Within the boundaries of normal use.

• If the program asks for a percentage enter any number between 1 and 99, e.g.12 as it should accept this.

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 percentage enter 0 or 100. 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 percentage enter “computing” or -12 or any number out with the boundaries of normal use. It should give you an error message and not crash.

Page 22: Intermediate 2

Written TaskNow fill the table in your jotter out with the description of testing.

Stage Description1. Analysis

2. Design

3. Implementation

4. Testing Getting users to try out the program to make sure it works under most conditions

5. Documentation

6. Evaluation

7. Maintenance

Page 23: Intermediate 2

Documentation This is the documentation that the

user gets when they buy a piece of software.

When you buy a PS3 game you get;• On the outside a label saying PS3 so that

you know what console it is for.• In the package a booklet telling you what

control does what and how to work the basics of the game.

There are two main types of documents;• User Guide &• Technical Guide

Page 24: Intermediate 2

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.

Some user guides come in the form of a booklet or on a CD.

Page 25: Intermediate 2

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.

Page 26: Intermediate 2

Written TaskNow fill the table in your jotter out with the description of documentation.

Stage Description1. Analysis

2. Design

3. Implementation

4. Testing

5. Documentation Writing a user guide and technical guide for the software

6. Evaluation

7. Maintenance

Page 27: Intermediate 2

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.

Page 28: Intermediate 2

Fit 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.

Page 29: Intermediate 2

User Interface The user interface should also be

evaluated. • The user interface is the way in which the user

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?

Page 30: Intermediate 2

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.

Page 31: Intermediate 2

Readability: What makes a program readable?

Using meaning variable names 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.

Page 32: Intermediate 2

Written TaskNow fill the table in your jotter out with the description of evaluation.

Stage Description1. Analysis

2. Design

3. Implementation

4. Testing

5. Documentation

6. Evaluation Checking that the program does what it is supposed to do, is easy to use and can be fixed if there is a problem

7. Maintenance

Page 33: Intermediate 2

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 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).

Page 34: Intermediate 2

Written TaskNow fill the table in your jotter out with the description of maintenance.

Stage Description1. Analysis

2. Design

3. Implementation

4. Testing

5. Documentation

6. Evaluation

7. Maintenance Occurs after the software is complete, e.g. adapting the game to run on a different type of computer