Please enable JavaScript.
Coggle requires JavaScript to display documents.
Software Development Model (Testing (Systematic and comprehensive (Test it…
Software Development Model
Analysis
Create a precise
specification
from a rough idea
Legally binding
document that protects both the client and the development team
Describes what the software will be able to do,
not
how it will be made
Is the job of a
systems analyst
Has to have good
communication
skills
Communicate with the
development team
Communicate with the
client
They might be inexperienced with
programming
and
software
Will have to consult multiple people
Design
Uses the software specification to create a
design
used in the implementation phase
Design methods include
Wire framing
Used for user interface design
Shows the visual layout of the program interface
Interface design is extremely important as people are less likely to come back to your program if you don't design it well enough
Structure diagram
data flow diagram
Graphical representation of the main procedures in the program
It also includes sub-modules of all of the actions taken by the program
Pseudcode
Detailed representation of how the program will logically work
More pseudo code the easier it is to create
Implementation
This is turning your design or pseudo code into a program code
OS
Type of problem
Testing
Does the program meet the specification?
is the program reliable
In testing we want to push the program to the limits and try and break it so it is robust
Testing is there to prove the presence of errors, not the absence of errors!
Systematic and comprehensive
Test it in order and use test data that tests all eventualities
Beta Testing is when the program is tested in the environment its to be used in
Alpha testing is inside the organisation that is making it
Documentation
User Guide
uSed to help the user on how to use the program properly
Technical Guide
Provides information for installing the program like minimum clock speed and minimum RAM
Licensing Agreements
OS compatible
Evaluation
Fit for purpose
Effecient
Robust
Reliable
Maintenance
User Friendly
Customisable
Appropriate
Consistent
Provide protection from error
Accessible
Maintenance
Perfective
Adding extra features that's paid for by the client
Corrective
Fixing errors or bugs found after release this is usually paid for by the company
Adaptive
If the enviroment that the software is being used in changes, like a new OS. Paid for by client
Disadvantages to the water fall method
Too rigid and slow
Software specification needs to be changed during the development process
software out of data before its even complete
Rapid Application Development (RAD)
Stages
Requirements planning
Everyone discusses and agrees on what the program is going to be, no legally binding document
User Design
Devs work with users to create the design and what they want
Construction
Creates the code properly and tests it, the users input is still used
Cutover
Software is installed and the user training and the maintenance starts
users are involved at all stages of the development
Can generally be quicker and more flexible
Agile development
useful in small scale developments
Adaptive and responsive
Suited to Web development
Benefits
Reduced development time
Increased responsiveness to changing circustamces
Reduced costs because of small dev teams
Makes use of prototypying
A way of creating copies of the code at a certain stage and giving them to users to receive feedback
Disadvantages
Not specified at the beginning what the user wants
Too extreme compared to the waterfall method