Software Process Models
MS 204/ ES 205 Software Engineering MS - Med Soft (Sem II) MS – Emb.Systems (Sem II)
Process Models • • • • •
10/22/08
Waterfall / Classical/ Linear Sequential Model Prototyping RAD Model Phased Developments (Increments & Iterative) Spiral
Software Process Models
2
Waterfall Model Validation: Focus on building right product
Analysi s Design
Verification: Focus on quality of implementation
Coding Testing Installatio n Operation and Maintenance 10/22/08
Software Process Models
3
Waterfall Model Advantages: • Simple to understand & implement • Document is ready • Testing & Verification at each stage Disadvantages: • Requirements freezing is difficult • Document driven • Large Projects (dev. time is long): Obsolete h/w
10/22/08
Software Process Models
4
Prototyping
Listen to customer Customer Test drives the prototype
10/22/08
Build/ Release prototype
• Used when general objectives for software is known
• Detailed I/P, Processing, O/P are not known
Software Process Models
5
Prototyping Advantages: • More fine-grained requirements can be retrieved from customer • Improves understanding of the customer Disadvantages: • Rework out of control • Cost at later stage is high • Proto. Environment may remain same
10/22/08
Software Process Models
6
Rapid Application Model (RAD) Business Modeling Data Modeling Process Modeling App Generation Test & Turnover 10/22/08
Software Process Models
7
Rapid Application Model (RAD) Advantages: • Uses reusable components • Short period for development Disadvantages: • Not good for Tech. Risky Systems • Not all the projects are appropriate for RAD 10/22/08
Software Process Models
8
Evolutionary Process Models
Phased Development Model
Spiral Model
10/22/08
Software Process Models
9
Phased Development • • • •
To reduce cycle time Deliver in pieces Operational System – In use : Release n Development System – Under dev. : Release (n + 1)
• Approaches : • Incremental approach • Iterative approach
10/22/08
Software Process Models
10
Incremental Approach • The system is partitioned into subsystems by functionality • The releases are defined by beginning with one small functional subsystem & then adding functionality with each new release Increment 1
10/22/08
Increment 2
Software Process Models
Increment 3
11
Iterative Approach • Delivers the full systems at the very beginning & then changes (enhancements to) the functionality of each subsystem with each new release.
Iteration 1
10/22/08
Iteration 2
Software Process Models
Iteration 3
12
Phased Development :An Example
Text Processing Package (e.g. MS Word) Incremental R1 R2
Iterative
Creating Text
Provide min. but all functions
(Write text & save it )
(No. of Fonts /Colors: 10)
Organising Text ( Cut & Paste )
Improve the functionalities of all (No. of Fonts /Colors: 256)
R3
Formatting text Enrich the functionalities still more (Changing Font Style, Size) (Choosing custom color)
R4
Objects (Including Images, Charts)
10/22/08
Enrich still further (Create own font, effect & style)
Software Process Models
13
Adv & Disadvantages • Adv – Markets can be created for never-beenoffered functionalities – Training can begin at early release – Frequent releases help developers (fix bugs, globally & quickly) • Disadvantages – Too much releases & patches would confuse customers – Tend to postpone the “buy” decisions
10/22/08
Software Process Models
14
References: • Book: Chapter 2, Software Engineering – Theory & Practice, Shari Lawrence Pfleeger • Book: Chapter 2, Software Engineering – A Practitioner’s Approach, Roger Pressman
10/22/08
Software Process Models
15