Aditdem

Post on 14-Jun-2015

1.159 views 0 download

Tags:

Transcript of Aditdem

The Software Development Process

Title in Jotter

The StepsDescribe and Exemplify Steps

Iterative Process

ADITDEM

• A• Dance • In• The • Dark• Every• Monday

• This is a mnemonic to remember the steps in the correct order

A - Analysis• Produce a A Software Specification• Details exactly what the program

will do• Needs to be correct as mistakes

are difficult to fix later• Legally binding contract – must

meet specification

Dance - Design• Design the solution what it will look

like• Modular Design – fit into modules,

can be designed by multiple programmers at same time

• Top Down Design – break down into smaller parts

• Step wise refinement until broken down into one line of code

Dance - Design• Bottom up Design• Prototyping • Design modules and procedures

first

Design Notations• Flow Chart

Design Notations• Structure Diagrams

Design Notations• Pseudocode

• 1. ask user to enter selection• 2. do while out of range• 3. ask user to re-enter selection• 4. loop

Design Notations• Data Flow

• To show data flow of information sent between sub programs

In - Implementation• Programming the solution• Choose language to implement in• Take account of features which

platform and processor it must run on

• Produce Internal Documentation (Comments)

The - Testing• Test to make sure it meets

Software Specification• Systematic Testing develop a test

plan – not random

Testing• Field Testing allow users to have a go

using the program• Alpha testing distributed in company• Beta testing (acceptance testing) put

on general release• ITG! Independent Test Group – no ties

to client or Software Development Company

• Keep a record of testing and any errors found. These are reported to programmer

Dark - Documentation• Technical and User Guide must be

written• Technical Guide explains how to

install the software onto a computer system and the requirements of the system

• User Guide explains how to use software when installed

Every - Evaluation• 8 Criteria for

assessment• Robustness• Is it able to cope

with errors during execution without failing

Every - Evaluation• 8 Criteria for

assessment• Reliability• Does it work

regardless of design faults

Every - Evaluation• 8 Criteria for

assessment• Portability• Can it be used on

different platforms other than the one it was designed for?

Every - Evaluation• 8 Criteria for

assessment• Maintainability• How easy is it to

update a program. To correct mistakes and add new features

Every - Evaluation• 8 Criteria for

assessment• Readability• How easy can

someone else come and understand your code. Using comments, meaningful variable names, indentation, blank lines, modules

Every - Evaluation• 8 Criteria for

assessment• Fitness For

Purpose• Does it fulfil the

original software specification?

Every - Evaluation• 8 Criteria for

assessment• User Interface• You should consider• Help screens and

instruction screens, visual appeal and screen layout, prompts for user

Every - Evaluation• 8 Criteria for

assessment• Efficiency• This evaluates the

amount of memory and processor time the software requires.

Monday - Maintenance• Three types of Maintenance• Corrective Maintenance• Fixing errors by changing the software

Monday - Maintenance• Three types of Maintenance• Adaptive Maintenance• Changing program to run on a new OS,

or when updates in hardware require change to the program

Monday - Maintenance• Three types of Maintenance• Perfective Maintenance• Improving the software to enhance how

it performs. Increase its speed of operation. Adding in new features

Iterative Nature• Repeat Until Ready• Iteration, repeat, repeat, repeat.• Any stage of the Software Development

Process can be revisited again and again and again

• Revisiting again to improve the solution• Repeat stages in the process when you

discover new information