Professional Documents
Culture Documents
Overview
What is the Aim of Software
Development?
Budget
Timescale
Requirements
Budget/Resources Timescale
Software Development
Methodologies
Purpose?
Usefulness?
Software Development
Methodologies
may guide the Developers on:
1. how to plan/manage/phase the project
activities;
2. how to view/model the problem domain;
3. how to design/model the new software.
Waterfall
Incremental/Iterative
For what sort of systems might you
use each type of method?
Waterfall
Incremental/Iterative
How do Agile systems fit in?
A methodology may give guidance on ways
of looking at (modelling) a problem domain.
Model
Ways of modelling a problem domain
Features of the main paradigms
Structured
Initially DATA is analysed separately from PROCESSES
Object-Oriented
Problem domain is broken down into objects – and within
these Data and Processes are looked at together
Ways of modelling a problem domain
Features of the main paradigms
Structured
Some Key concepts:
Sequence, Selection, Iteration
Functions and Functional decomposition, global/local
variables
Object-Oriented
Some Key concepts:
Classes, objects. Generalisation (inheritance),
polymorphism, message passing, association,
aggregation.
Example Methodologies
Structured: SSADM, Yourdon, JSD
O-O: RUP, OMT, OOSE
Agile: DSDM, Lean, XP, Scrum
For next week's lecture
1. Attempt exercises
2. Review SSADM:
Stages – what is the aim of each stage? How
do they fit into the general picture of the
software development phases/activities/life-
cycle?
Key techniques –
DFM, LDM, Function Definition, ELH, ECD,
EAP