Waterfall
Linear \+ simple Easy to time scale - Lack of flexibility End use not involved in development
Rapid Application Development
Successive prototypes each time Iterative \+ User involved End product match requirement - Regular contact with client Not good for large projects or small timescale
Spiral Model
Risk driven approach Risk analysis, prototype, how can we reduce risk, prototype etc \+ Focuses on risk Good for large projects - Risk management is specialised Costly
Agile Methodologies and Extreme Programming
Agile is group of methodologies
Iterative
XP: Frequent software versions made in short development cycles Paired programming \+ Quality of end code is high Efficient - High cost of development Heavy collaboration Embedded end user in team needed
Order of software development
Analysis Design Implementation Evaluation Maintenance
ADIEM
Documentation
Waterfall, spiral, rapid, extreme
Most to least documentation
Addressing Modes
Immediate
Direct
Indirect
Indexed
IIID
(3D)
Programming paradigms
Procedural
Object orientated
Declarative (describe problem and computer solves it, SQL)
Functional