0% found this document useful (0 votes)
6 views26 pages

Chap 2.2

Uploaded by

aimanshahid800
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views26 pages

Chap 2.2

Uploaded by

aimanshahid800
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

EVOLUTIONARY PROCESS MODEL

• Software evolves over a period of time


• Business and product requirements often
change as development proceeds making a
straight-line path to an end product unrealistic
• Evolutionary models are iterative and as such
are applicable to modern day applications

Types of evolutionary models


– Prototyping
– Spiral model
– Concurrent development model
PROTOTYPING
• Mock up or model( throw away version) of a
software product
• Used when customer defines a set of
objective but does not identify input, output,
or processing requirements
• Developer is not sure of:
• efficiency of an algorithm adaptability of an
operating system
• human/machine interaction
PROTOTYPING
STEPS IN PROTOTYPING
• Begins with requirement gathering
• Identify whatever requirements are known
• Outline areas where further definition is mandatory
• A quick design occur
• Quick design leads to the construction of prototype
• Prototype is evaluated by the customer
• Requirements are refined
• Prototype is turned to satisfy the needs of customer

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

THE UNIFIED PROCESS

• 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

You might also like