Chap 2.2
Chap 2.2
LIMITATIONS OF PROTOTYPING
• In a rush to get it working, overall software quality or
long term maintainability are generally overlooked
• Use of inappropriate OS or PL
• Use of inefficient algorithm
THE SPIRAL MODEL
• An evolutionary model which combines the
best feature of the classical life cycle and
the iterative nature of prototype model.
• Include new element : Risk element. Starts
in middle and continually visits the basic
tasks of communication, planning, modeling,
construction and deployment
THE SPIRAL MODEL
• Realistic approach to the development of
large scale system and software
• Software evolves as process progresses
• Better understanding between developer and
customer
• The first circuit might result in the
development of a product specification
• Subsequent circuits develop a prototype
• sophisticated version of software
THE CONCURRENT DEVELOPMENT
MODEL
• The concurrent development model also
called concurrent engineering
• Constitutes a series of framework activities,
software engineering action, tasks and their
associated states
• All activities exist concurrently but reside in
different states
• Applicable to all types of software
development
• Event generated at one point in the process
trigger transitions among the states
A FINAL COMMENT ON
EVOLUTIONARY PROCESS
• Difficult in project planning
• Speed of evolution is not known
• Does not focus on flexibility and
extensibility (more emphasis on high quality)
• Requirement is balance between high
quality and flexibility and extensibility
THE UNIFIED PROCESS
• Evolved by Rumbaugh, Booch, Jacobson. Combines the
best features their OO models.
• Adopts additional features proposed by other experts.
• Resulted in Unified Modeling Language (UML).
• Unified process developed Rumbaugh and Booch. A
framework for Object-Oriented Software Engineering
using UML
• INCEPTION PHASE
• ELABORATION PHASE
• CONSTRUCTION PHASE
• TRANSITION PHASE
UNIFIED PROCESS WORK
PRODUCTS
Tasks which are required to be completed during different phases
1. Inception Phase
• Vision document
• Initial Use-Case model
• Initial Risk assessment
• Project Plan
2. Elaboration Phase
• Use-Case model
• Analysis model
• Software Architecture description
• Preliminary design model
• Preliminary model
3. Construction Phase
• Design model
• System components
• Test plan and procedure
• Test cases
• Manual
•
4. Transition Phase
• Delivered software increment
• Beta test results
• General user feedback
Personal and Team Process Models
• The best software process is one that is close to
the people who will be doing the work.
• If a software process model has been developed
at a corporate or organizational level, it can be
effective only if it is amenable to significant
adaptation to meet the needs of the project
team that is actually doing software engineering
work.
• In an ideal setting, you would create a process
that best fits your needs, and at the same time,
meets the broader needs of the team and the
organization.
Process and Product
Assignment
1. Study different Process Assessment and
Improvement models and state the following
for each.
• Origin
• Purpose
• Technique (explain in detail how it works)
• Best suitable for, type of projects
• Limitations
At the end make a comparison table for all
these models
Assignment
2. Study different Prescriptive models and
state the following for each.
• Origin
• Purpose
• Technique (explain in detail how it works)
• Best suitable for, type of projects
• Limitations
At the end make a comparison table for all
these models
Assignment Rules
• Make groups of not more than 4 members
• Assignment should be submitted as
hardcopy
• Submission date: 30 Sept 2024