defining the problem and
establishing the requirements of
the project
Design
considering which algorithms, data
structures, user interfaces etc. should
be used
Testing
Black box/functional
looking at the program spec. and a
creating set of data that covers all
inputs and outputs and program
func..
doesn't look at
the code
White box / structural
SOFTWARE DEV. TEAMS -> program
code is studied -> tests are devised which
test each possible path at least once.
Alpha
IN-HOUSE SOFTWARE DEV.
TEAMS reveals both errors
and omissions in the system
requirements definition
Beta
giving a newly developed software
package to a number of potential users
who agree to use the system and report
any problems to the developers
Implementation
After testing stage has been used to make the
appropriate changes to the software, it is installed
onto the users’ systems
Evaluation
effectiveness of software is evaluated against
the system req. defined during analysis stage to
evaluate its suitability in solving the problem.
Different criteria are considered -> robustness,
reliability, portability and maintainability.
Maintenance
Development
Methodologies
iterative, regularly
develops prototypes
collection of
methodologies
aim to improve the flexibility of
software development
adapt to changes in user
requirements faster.
builds software incrementally from
the start of the project, instead of
trying to deliver all at once.
Small - medium projects +
unclear initial requirements
Agile
Waterfall lifecycle
large complex projects
req. well understood
stages carried out sequentially
focus of
effectively
managing
risk-heavy
projects
Analysing system requirements
Pinpointing and mitigating risks
Development, testing and implementation
Evaluating to inform the next iteration
Large,
risk-intensive
projects with a
high budget
Spiral
XP
pair of programmers alongside
a representative end-user
built on ‘user stories’:
system reqs. are specified by
end-user + used when designing
the program.
XP
high quality code
user requirements made
in focus groups
prototype made and developed
along with the reqs.
continuously until the final product is
reached
Small - medium, low-budget
projects with short time-frames.