The Software Development Process Title in Jotter The Steps Describe and Exemplify Steps Iterative Process
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
The - Testing• Comprehensive Testing test as
thoroughly and completely as you can• Exhaustive Testing where you test
every part of the program with every type of test data
Test Data• Normal Test – test within the boundaries
of expected input• Should be accepted
Test Data• Extreme Test – test at the boundaries of
expected input• Should be accepted
Test Data• Exceptional Test – test out with the
expected input• Shouldn’t be accepted
• If you are exceptionally drunk you don’t get in the club
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