Lec 4
Lec 4
A Comparison
Selection of Appropriate Model
Prior to selection one must understand the strengths
and weaknesses of each of the models
Waterfall Model
• Cascading processes, Plan driven model
System’s services, constraints and goals established
12
Software Process Models:
..Evolutionary Development
13
Software Process Models:
..Evolutionary Development
Advantages:
– Deals constantly with changes
– Provides quickly an initial version of the system
– Involves all development teams
Disadvantages:
– Quick fixes may be involved
– “Invisible” process, not well-supported by
documentation
– The system’s structure can be corrupted by continuous
change
14
Software Process Models:
…Evolutionary Development
Disadvantages [cont’d]:
– Special tools and techniques may be necessary
– The client may have the impression the first version is
very close to the final product and thus be less patient
Applicability:
– When requirements are not well understood
– When the client and the developer agree on a “rapid
prototype” that will be thrown away
– Good for small and medium-sized software systems
15
Software Process Models:
..Component-based Software Engineering
16
Software Process Models:
..Component-based Software Engineering
Advantages:
– Reduces considerably the software to be developed
“in-house”
– Allows faster delivery
– In principle, more reliable systems, due to using
previously tested components
17
Software Process Models:
…Component-based Software Engineering
Disadvantages:
– Compromises in requirements are needed
– Less control over the system’s evolution
Applicability:
– When there is a pool of existing components that could
satisfy the requirements of the new product
– Emerging trend: integration of web services from a
range of suppliers
18
Software Process Models:
..Incremental
Software Process Models:
..Incremental
Advantages:
– Provides better support for process iteration
– Reduces rework in the software construction process
– Some decisions on requirements may be delayed
– Allows early delivery of parts of the system
– Supports easier integration of sub-systems
– Lower risk of project failure
– Delivery priorities can be more easily set
Software Process Models:
...Incremental
Disadvantages:
– Increments need be relatively small
– Mapping requirements to increments may not be easy
– Common software facilities may be difficult to identify
Applicability:
– When it is possible to deliver the system “part-by-part”
21
Choosing a Right Model
Step 1: Learn About SDLC models
make effective comparison all models, their usages,
advantages and disadvantages, selection based on
experience and familiarity with model
Step2: Assess the needs of stakeholders
study the business domain, user requirements, business
priorities, technology constraints
Step3: Define criteria
Defining Criteria
• Is the SDLC appropriate for the size of our team and
their skills?
• Is the SDLC appropriate with the selected technology
we use for implementing the solution?
• Is the SDLC appropriate with client and stakeholders
need and priorities?
• Is the SDLC appropriate for the geographical
situation (co-located or geographically dispersed)?
Defining Criteria
• Is the SDLC appropriate for the size and complexity
of our software?
• Is the SDLC appropriate for the type of projects we
do?
• Is the SDLC appropriate for our engineering
capability?
Model Selection
Unclear User
Poor Poor Good Excellent Good Excellent
Requirement
Unfamiliar
Poor Poor Excellent Excellent Good Poor
Technology
Short Time
Poor Poor Good Excellent Excellent Excellent
Schedule
Strong Project
Excellent Excellent Excellent Excellent Excellent Excellent
Management
Model Selection
Agile
Evolutionary Iterative and
Factors Waterfall V-Shaped Spiral Methodolog
Prototyping Incremental
ies
Visibility of
Good Good Excellent Excellent Good Excellent
Stakeholders
Component
Excellent Excellent Poor Poor Excellent Poor
reusability
Process Modeling Guidelines
G1: Use as few elements in the model as possible
The size of the model has undesirable effects on
understand ability and likelihood of errors
Reference: Seven Process Modeling Guidelines (7PMG), J. Mendling , H.A. Reijers, W.M.P. van der Aalst
Process Modeling Guidelines
G3: Use one start and one end event
Most work-flow engines require a single start and end node
. Moreover, models satisfying this requirement are easier to
understand and analyse
Reference: Seven Process Modeling Guidelines (7PMG), J. Mendling , H.A. Reijers, W.M.P. van der Aalst
Process Modeling Guidelines
G5: Use verb-object activity labels
like “Inform complainant”, as significantly less
ambiguous and more useful than action-noun labels e.g.
“Complaint analysis”
Reference: Seven Process Modeling Guidelines (7PMG), J. Mendling , H.A. Reijers, W.M.P. van der Aalst
Which model to choose?
• A system to control anti-lock braking in a car
• A virtual reality system to support software
maintenance
• A university accounting system that replaces an
existing system
• An interactive system that allows railway
passengers to find train times from terminals
installed in stations.