Beruflich Dokumente
Kultur Dokumente
Systems Development
Contents
Build-and-Fix model
Waterfall model
Rapid prototyping model
Incremental model
Synch-stabilization model
Spiral model
OO model
Models benefits and drawbacks
Business-case: E-shop model choice
References
National Research University - Higher School of Economics, 2015-16
Lifecycle Models
A lifecycle model determines the set of processes, activities and
task, as well as the order of their sequence
Two major components of virtually any methodology /
framework for (E)SSD:
Process model
Role model
System model
Project from scratch OR redevelopment
Developer team experience
Benefits:
Cost reduction for small projects with distinct requirements and
predictable behavior
Drawbacks:
Early lifecycle errors show up only at the very end => serious
costs increase is possible
Non-applicable for large (over 1000 lines = 1KLOC) products
Modify till
client satisfied
Maintenance
Retirement
National Research University - Higher School of Economics, 2015-16
Benefits:
Cost reduction for software correction (due to feedback)
Drawbacks:
Requires technically literate client to create satisfactory
specifications
Under high risks, should be combined with rapid protoryping
National Research University - Higher School of Economics, 2015-16
Drawbacks:
changes become complicated: terminated phases get frozen
does not model iterations and evolution
Maintenance
Requirements
Acceptance
Product Testing
Functional Design
Design
Integration Testing
Detailed Design
Testing
Coding
National Research University - Higher School of Economics, 2015-16
Drawbacks:
Temptation to use non-technological code
(low quality, insufficient testing and documenting)
Product
Requirements
Prototype 1
Prototype 2
Acceptance
Project
Review
Product
Manager
Testing
Requirement
Analysis
Integration
Testing
Preliminary
Design
Partial / Unit
Testing
Detailed
Design
Implementation
Developer
Features:
Product decomposition to sequential releases (each
development cycle gives an operational product)
Benefits:
Operational product at every development step
Flexible introduction of the new functionality at the clients site
Easy maintenance due to straightforward expanding of the
major product modules
Design /
Verification
& Testing /
Verification
Implementation, Integration,
Tra nsfer, Maintena nce /
Verification
Increm ent 1
Implementation
Design /
Verification
Requirements / Verification
& Testing /
Verifica tion
Implementation, Integration,
Tra nsfer, Ma intena nce /
Verification
Increm ent 2
Implementation
Design /
Verification
& Testing /
Verification
Increm ent 3
Requirement
s
Version 1
Requirements
Version 2
Requirements
Version n
Project
Project
Project
Installation
Acceptance
Maintenance
Installation
Acceptance
Maintenance
Installation
Acceptance
Maintenance
Development phase
First 1/3 of functions (critical functions, shared components)
Second 1/3 of functions
Final 1/3 of functions (least critical functions )
Stabilization phase
Internal testing
External testing
Release production
Benefits:
f req u en t an d early t est in g (and error
detection)
Continuous interoperability (modules are tested together =>
operational product version always available => intra-module
relationships are easy-to-test)
2
Risk?
Prototypes
Risk?
Operations
Risk?
Risk?
Review/Accept.
Req. Mgmt.
3
2
Concept/
Req.
Vision
Req.
Mgmt.
Impl. Plan
Anal.
Plan
Integr.
testing
InslallaAccept.
tion
testing
Models
Product Det.
Design Design
Code
Unit
test
Drawbacks:
Suitable for in-house projects only (requirement and risk evaluation required)
Suitable for large-scale projects only (risk evaluation is cost-intensive)
Risk assessment experience required
Features:
Lifecycle Models: OO
Lifecycle Models: OO
Benefits:
Naturally suitable for OO (E)SSD
Drawbacks:
Weal development constraints may lead (under bad project
discipline) to degradation to Build-and-Fix
Embedded
Automobile
Application
DOD Arms
Control System
National Air
Communication
Control System
Telecom Switch
Commercial
Compiler
Low Management
Complexity
Large-Scale
Model
Small-scale
Research Model
Web Application
ESS
On-line Store
Business
Spreadsheet
Low Technical
Complexity
High Management
Complexity
CMM
Weakly Formalized
DOD-STD-2167
+MIL-STD-1521
MIL-STD-498
Well-Formalized
Little documentation
Light process
Well-documented
Few customs
Traceability
Changes control
Adaptive
development
CMMI
Many customs
XP SCRUM
Iterative
Risk-driven
Continuous integration & testing
National Research University - Higher School of Economics, 2015-16
Weakly
Formalized
Middle
RUP
Strongly
Formalized
Large
Formal RUP
Iterative
National Research University - Higher School of Economics, 2015-16
42
Benefits
Shortcomings
Build-and-Fix
Waterfall
Rapid Prototyping
Incremental
Synchostabilization
Spiral
Intra-phase iterations,
inter-phase p arallelism
National Research University - Higher School of Economics, 2015-16
References
Main Readings:
Sommerville I. Software Engineering (8th Edition).
Pearson Education Ltd., 2008, 850 pp.
Schach S.R.: Object-Oriented and Classical Software
Engineering (5 ed.) McGraw-Hill, 2001, 744 pp.
Zykov S.V. Enterprise portal development. .: MIPT,
2005. 258 pp. (in Russian).
Booch G., Jacobson I., Rumbaugh J. The Unified
Modeling Language User Guide. Addison Wesley, 1998
Fowler M. Patterns of Enterprise Application
Architecture. Addison Wesley, 2004, 533 pp.
References
Additional Readings:
Martin Fowler, The New Methodology
http://www.martinfowler.com/articles/newMethodology.html
Questions?
http://www.hse.ru/org/persons/3468544/index.html
http://zykov.altweb.ru
szykov@hse.ru
szykov@hotmail.com