Sunteți pe pagina 1din 48

Enterprise Software

Systems Development

Lecture 4: ESSD Lifecycle Models

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

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

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models (revision)


Q.1: What is a lifecycle model?
Q.2: Which lifecycle models do you know?
Q.3: What are the common/distinctive features of lifecycle
models ?
Q.4: What does lifecycle model choice depend on ?
*Work in SGs of 3 (2 mins). Discuss results (1 min). Give your
answer.
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

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

Additionally, we can consider:


Artifacts (document patterns and results)
Practices
Major pre-determined control points (optional)

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Choosing the Lifecycle Model for (E)SSD


The task for process architect and management
To be considered
Business criteria
Technology criteria

Compromise between market/clients demand and developers


resources/experince
The lifecycle model can be pre-determined by the client OR
preferred by most influential developers representative(s)
May vary for project-based (depending on aims\scope) and
product-based development (often longer lifecycle and
repeating activities)

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Choosing the Lifecycle Model for (E)SSD


Choice criteria:
Project type
Is any process of standard model required to be performed \checked
Problem domain understandability

System model
Project from scratch OR redevelopment
Developer team experience

ISO/IEC standard lifecycle models (see TR 15271 Guide for ISO/IEC


12207):
Waterfall
Incremental
Evolving
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Incomplete Lifecycle Models


Q.1: Should a lifecycle model always cover all SDL phases?
Why?
Q.2: Which SDL phases can be omitted in a lifecycle model?
Q.3: What product requirements are compatible with an
incomplete lifecycle model(s)?

*Work in SGs of 3 (2 mins). Discuss results (1 min). Give your


answer.
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: Code-and-Fix


Features:
No projects specifications and preliminary design
Several full project rebuilds and client approval

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

Conclusion: incomplete lifecycle model


National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: Code-and-Fix


Build Version #1

Modify till
client satisfied

Maintenance

Retirement
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

One-Path Lifecycle Models


Q.1: Should a lifecycle model always be iterative? Why?
Q.2: What are the strong points of a non-iterative lifecycle
model(s)?
Q.3: What are the weak points of a non-iterative lifecycle
model(s)?

*Work in SGs of 3 (2 mins). Discuss results (1 min). Give your


answer.
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: Waterfall


Features:
Sequential change of all lifecycle phases
SQA group verifies\tests results after every phase (sometimes
client side participates)
Feedback with earlier lifecycle phases

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

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: Waterfall


Requirements /
Verification
Design /
Verification
Coding & Testing /
Verification
Implementation, Transfer, Maintenance /
Verification
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Waterfall Model - applicability


Appicability degree varies depending on methodology
Benefits:
easy to understand and estimate
visibility (processes are easy to trace)

Drawbacks:
changes become complicated: terminated phases get frozen
does not model iterations and evolution

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: V-Model (waterfall-based)


Business analysis

Maintenance

Requirements

Acceptance
Product Testing

Functional Design
Design

Integration Testing

Detailed Design

Testing

Coding
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Independent Lifecycle Models


Q.1: Should a lifecycle model always be independent? Why?
Q.2: When can a non-independent lifecycle model be used?
Q.3: What are the limitations of using non-independent
lifecycle model(s)?

*Work in SGs of 3 (2 mins). Discuss results (1 min). Give your


answer.
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: rapid prototyping


Features:
Requirement analysis and specifications are generally possible
before coding and testing

Client has no technical knowledge to discuss requirements


Rapid prototype has limited functionality and
reliability/performance

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: rapid prototyping

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: rapid prototyping


Benefits:
Idea basis for software development and discussions/interviews
Technical risk reduction (cheap detection of potential problems)

Drawbacks:
Temptation to use non-technological code
(low quality, insufficient testing and documenting)

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: Shark teeth/ prototyping


Client

Product
Requirements

Prototype 1

Prototype 2

Acceptance

Project
Review

Product

Manager

Testing
Requirement
Analysis

Integration
Testing
Preliminary
Design

Partial / Unit
Testing
Detailed
Design
Implementation

National Research University - Higher School of Economics, 2015-16

Developer

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Adding Functionality Lifecycle Models


Q.1: Is it possible to add SS features with a lifecycle model?
Why?
Q.2: When can a feature-additive lifecycle model be used?
Q.3: Can we treat SDL as an evolution-like process? Why?

*Work in SGs of 3 (2 mins). Discuss results (1 min). Give your


answer.
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: Incremental

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

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: Incremental


Drawbacks:
Requires expandable software solution (non-applicable for
products, which immediately require full functionality )
Product should be architecture scalable
Product should have stable upgrade path
Non-applicable for products, which quickly go beyond the
frame of their original concept (degenerates into Build-andFix)

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: Incremental


Product is divided into subsystems and is supplied in
releases/builds
Each release provides operational quality of the subsystem
With each release, the new subsystem is included into th
previous release

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: Incremental


Implementation

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

Implementation, Integra tion,


Tra nsfer, Ma intena nce /
Verification

Increm ent 3

Each release includes: detailed design, implementation,


integration, testing and transfer
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: Evolution

Requirement
s
Version 1

Requirements
Version 2

Requirements
Version n

Project

Project

Project

Code & Test

Installation
Acceptance
Maintenance

Code & Test

Installation
Acceptance
Maintenance

Code & Test

Installation
Acceptance
Maintenance

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

One-Path/Cyclic Lifecycle Models


Q.1: Which cyclic SDL models do you know?
Q.2: Can waterfall model be considered cyclic? Why?
Q.3: What is the relationship between a SDL model and a SDL
methodology ?

*Work in SGs of 3 (2 mins). Discuss results (1 min). Give your


answer.
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: Iterative approach


An example: Spiral model, Boehm, 1987
Model with tasks/activities emphasis
Deals with tasks changes and iterations
Risk management focus

Any waterfall model phase/activity is cyclic


Every cycle contains 4 stages

Define goals, alternatives, point out constraints


Evaluate alternatives, identify risks, point out ways of mitigating
Implement and test the current cycle
Plan the next cycle

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: synch-stabilization or Microsoft


Team members activities are continuously sychronized
Planning phase
Vision
Specification document
Activity schedule and team

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

Currently is being substituted by MSF

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: synch-stabilization or Microsoft


Features:

3-4 incremental product versions, including:


Synchronization (testing, integration, testing)
Stabilization (reduction of faults, detected by tests)
Freezing working product slice

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)

Early product correction (full earlier version product assembly


allows to detect product odds before full-scale implementation =>
redesign cost cutdown)
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: synch-stabilization or Microsoft


Drawbacks:
Suitable for certain product types (e.g., only for those, which
support test automation)
Certain amount of time should be spent for synch-stabilization
(not development itself)
Frequent integration/testing cycles required (monthly or
weekly)
Seldom used outside Microsoft

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: Spiral


Features:
Rapid prototyping advantages application to the entire lifecycle
Based on waterfall model and risk analysis
Risks analyzed at the start of each phase (detection and mitigating
of the most serious project risks)
Project terminated if risks cannot be eliminated
Several prototyping steps and unlimited iterations number allowed

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: Spiral (Boehm, 1987)


A kind of iterative/evolution model

2
Risk?

Prototypes

Risk?
Operations

Risk?
Risk?
Review/Accept.
Req. Mgmt.

3
2

Concept/
Req.
Vision
Req.
Mgmt.
Impl. Plan
Anal.

Integr. & Test

Plan
Integr.
testing
InslallaAccept.
tion
testing

Models
Product Det.
Design Design
Code

Unit
test

Every cycle includes 4 phases:


1. Define goals: define product,
define business goals,
understand constraints, suggest
alternatives
2.
Estimate alternatives: risk
analysis, prototyping
3.
Product development: detailed
product, code, unit testing,
4. integration
Next cycle planning: client
assessment, design plan, supply,
implementation

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: Spiral


Features:
4 major kinds of activities for every stage:

Define goals, alternatives, constraints


Evaluate alternatives, detecting and mitigating risks
Develop and verify the next-level product
Plan the next stage

National Research University - Higher School of Economics, 2015-16

Lifecycle Models: Spiral


Benefits :
Reusability (due to alternative analysis and evaluation)
Reasonable testing (due to risk analysis)
Seamless transfer to maintenance (due to cyclic product development till
product transfer)

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

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Object-based Lifecycle Models


Q.1: Is the OO model an iterative or a sequential one? Why?
Q.2: What are the lifecycle features of the OO model?
Q.3: What are the challenges of an OO model? How can we
mitigate these challenges?

*Work in SGs of 3 (2 mins). Discuss results (1 min). Give your


answer.
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: OO (e.g. fountain)

Features:

Intensive interaction between lifecycle phases


Explicit iterative lifecycle phases change
Phases interlap (e.g., OOA and requirement specification, etc.)
OOD phases usually include OOA phases (e.g., use-case analysis,
object modeling, etc.)
Backtrack to earlier lifecycle phases is possible (arrows mean
interaction)

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: OO

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

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

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Product Size/Scope & Lifecycle Models


Q.1: How can we measure product complexity? Where is ESS?
Q.2: How can SDL methodologies scale to meet the complexity?
Q.3: Can a SDL methodology work with single/multiple
model(s)? Why?

*Work in SGs of 3 (2 mins). Discuss results (1 min). Give your


answer.
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: Project Complexity


High Technical
Complexity

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

Is there a single universe lifecycle model?


National Research University - Higher School of Economics, 2015-16

High Management
Complexity

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Formal/Iterative Models (1)


Waterfall
Few risks, sequential order
Late integration & testing

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

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Formal/Iterative Models (2)


Waterfall

Weakly
Formalized

RUP Process Model


Light
RUP

Middle
RUP

Strongly
Formalized

Large
Formal RUP

Iterative
National Research University - Higher School of Economics, 2015-16
42

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Lifecycle Models: Benefits and Odds


Wh at are th e strength s and weaknesses of model ?
Why?
Q.1: build-&-fix
Q.2: waterfall
Q.3: rapid prototyping
Q.4: incremental
Q.5: synchro-stabilization
Q.6: spiral
Q.7: OO
*Work in pairs (2 mins). Discuss results (1 min). Give your
answer.
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

SDL models: comparison and conclusion


SDL Model

Benefits

Shortcomings

Build-and-Fix

Valid for small p rojects, which do not


require maintenance

Totally invalid for non-trivial p rojects

Waterfall

Well-discip lined, document driven

Software may not meet client's requirements

Rapid Prototyping

Product features meet clients requirements

Temp ts for reusing code, which should be


rewritten from scratch

Incremental

Early ROI; maintainability

Synchostabilization

Meets future client requirements; p rovides


comp onent integration

Rarely used outside Microsoft

Accumulates features of all the above


models

Only valid for large in-house p rojects;


develop ers should know risk management well

Spiral

Requires op en architecture; may degenerate into


Build-and-fix

may degenerate into Build-and-fix


OO

Intra-phase iterations,
inter-phase p arallelism
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

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.

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

References
Additional Readings:
Martin Fowler, The New Methodology
http://www.martinfowler.com/articles/newMethodology.html

National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Business-Case: African Ethnic E-Shop


SDL Model Choice
Project: E-shop of African
ethnic goods
Based on the product objectives, choose the most suitable
model. Justify your choice in a short (1-page) essay.
Determine and justify acceptability and suitability/utility for each of
the seven SDL models studied.
National Research University - Higher School of Economics, 2015-16

Enterprise Software Systems Development: Module 1


Lecture 4: ESSD Lifecycle Models

Thanks for your attention!

Questions?

http://www.hse.ru/org/persons/3468544/index.html
http://zykov.altweb.ru
szykov@hse.ru
szykov@hotmail.com

National Research University - Higher School of Economics, 2015-16

S-ar putea să vă placă și