1/13
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Software Development Cycle
Analysis â Design â Implementation â Evaluation â Maintenance â (cycle repeats)
Analysis Stage
Systems analyst gathers information about what the current system does/if there is one, and what the new systems needs to do
To get this information, the systems analyst may:
interview people who will use the software
use questionnaires to get information from large groups of people
observe how the current system works
look at existing documentation
Output from Analysis
Systems analyst will produce a decent called something like âSystem Specificationâ / âUser Requirementsâ
This document defines WHAT the system will do but not HOW it will do it- it is used to create the design and to evaluate the finished product
Design Stage
Software design will include:
a description of data: data type, format, and validations
database design (if appropriate)
input screens
output screens & reports
how the data will be processed
how the software will be tested
Implementation Stage
this stage includes:
coding and testing the software
writing user and technical documentation
installing the software for the user
Testing Strategies
Black box testing- carried out independently of the code used in the program- it looks at the program specification and creates a set of test data that covers all the inputs, outputs, and program functions
White box testing- depends on the code logic- tests are devised which test each path through the code at least once
Alpha testing- carried out by the software developer's in-house team and by the user- can reveal errors/omissions in the definition of the system requirements- user may discover that the program doesnât do what they want it to do
Beta testing- this is when commercial software is being developed (e.g. Ms Windows, Ms Word, etc)- the software is given to a number of potential users, who agree to use the software and report any faults
Evaluation stage
the user now needs to test every aspect of the software to make sure it does what it is supposed to
it is evaluated against the original specification document
this can also be called acceptance testing
Maintenance stage
Corrective maintenance- bugs will usually be found when software is put into action, no matter how thoroughly it was tested
Adaptive maintenance- over time, user requirements may change and the the software will have to be adapted to meet those requirements
Perfective maintenance- even if the software works well, there may be ways of making it even better- faster, easier to use, more functionality, etc.
And then the cycle repeats!
Waterfall model
each stage is completed and documented before moving on to the next one
customer does not see the end product before it is completed
any changes means the project has to start all over again
Advantages of waterfall model
simple to understand and use
each stage is separate and self-contained with well defined outcomes and written documentation
this makes the project relatively straightforward to manage
model works well for smaller projects where requirements are very well understood
Disadvantages of waterfall model
not much user involvement after the analysis stage
no working software is produced until late in the cycle
user is presented with finished product and if they donât like it, itâs too late to make changes
when is the waterfall model suitable?
requirements are clear and fixed
no ambiguous requirements
technology is well understood
project is short
Spiral model
Four basic stages of development (A, D, I, E) are followed
software project passes through these phases repeatedly
each successive loop generates a new. more refined prototype until the software meets the userâs requirements
Advantages of the spiral model
well defined steps make the project easy to manage
software is produced at an early stage so problems and issues can be identified early
user gives feedback to each prototype and any changes can be made early in the process
added functionality can be added during the process
end result is more likely to be what the user wants