Lec - 3 (Process Models2)
Lec - 3 (Process Models2)
Process Models - II
n n
Software evolves over a period of time. Tight market deadlines make the completion of a comprehensive software product impossible.
Evolutionary Models
n n n n
Evolutionary models are iterative. A software segment can be delivered after the completion of an increment. Unlike the prototype model, the segment is a part of the production d ti system. t Suitable scenario:
The core requirements q of a p product are well understood. Details of the product extension have yet to be defined.
Incremental Model
n n n n n
Iterative in nature as illustrated by its name. Combination of linear sequential & prototyping models models. An increment (usable piece) is delivered in a cycle. A increment is based on its p predecessor increment. Unlike prototype, an operational product is the focus of increments.
Incremental Model
System/information engineering
increment 1
code test
analysis
design
l i increment 2 analysis
design
code
test
increment 3 analysis
design
code
test
increment 4 analysis
design
code
test
calendar time
Incremental Model
n
Steps:
Core product (first increment) is developed to address basic requirements. Core product is used and evaluated to develop a plan for the next increment. Objectives j of the plan:
To better meets the needs of customers. To address the modification to core product. To T deliver d li additional dditi lf feature t and df functionality. ti lit
Incremental Model
n
Suitable scenario: Staff is unavailable for a complete implementation by the business deadline. Fewer people is available to implement an early increment. increment Additional staff can be added to implement the next increments. Increments can be planned to manage technical risks.
Spiral Model
n n n n n
Evolutionary process model. Combination of prototype and linear sequential models models. Produces software in a series of incremental releases. Having potential for rapid development. Realistic approach to the development of a large scale system.
Spiral: Structure
Spiral model is divided into number of framework activities called as Tasks Regions
Planning
E ngineering g g
Customer E valuation
Region and task sets are adapted to the characteristics of the project to be undertaken. S ft Software engineers i move around d the th spiral. i l Early passes result in product specification. Subsequent passes result in development of prototype and then more sophisticated software. Project plan is adjusted in each pass from customers feedback. feedback And number of iteration is adjusted by project manager.
n n
Developers and customers understand and react to risk at each evolutionary level level. Prototyping is used to reduce risk. Classical life cycle y approach pp is followed with iterative approach. Technical risk is considered in order to reduce in all stages. stages Risk assessment expertise is demanded and relies on this expertise p for success. The evolutionary approach is difficult to control.
n n
Also called as Concurrent Engineering A series of framework activities, tasks and associated states. states All activities exist concurrently, but reside in different state awaiting changes, under development, none, & done. done Suitable for system engineering projects. Events g generated at one p point in the p process network trigger transitions among the states.
Customer Communication Activities and tasks Analysis Activity N None Under development Under revision Base Line Done
Awaiting Changes
Project planning because of the uncertain number of cycles required to construct the product product. Maximum evolutions speed has not been fixed. F Focuses on flexibilities fl ibiliti and d extensibilities t ibiliti rather th th than on the high quality.
n n
Rational Unified Process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003. RUP is not a single concrete prescriptive process, but rather an adaptable process framework, intended to be tailored by y the development p organizations g and software project teams that will select the elements of the process that are appropriate for their need Th roots The t of f Rational R ti l Process P go back b k to t the th original i i l spiral model of Barry Boehm. The Rational Approach was developed at Rational Software in the 1980s and 1990s.
People are more important than any process. Good people with a good process will p g good p people p with no p process outperform any time.
n n
The critical idea in the Rational Unified Process is Iterative Development. Iterative Development is successively enlarging and refining a system through multiple iterations, using feedback and adaptation. adaptation Each iteration will include requirements, analysis design analysis, design, and implementation implementation. Iterations are timeboxed.
Phases in RUP
RUP is divided into four phases, named: I Inception ti Elaboration Construction Transition
Phases
Inception Elaboration Construction Transition
Iterations
Each phase has iterations, each having the purpose of producing a demonstrable piece of software. The duration of iteration may vary from two weeks or less up to six months.
Iteration s
Iteration s
Iteration s
Iteration s
Inception
Elaboratio n
Constructio n
Transition
Working software
Over O comprehensive h i d documentation t ti
Customer collaboration
Over contract negotiation
Responding to change
Over following a plan
Get high risk and high value first C Constant t t user feedback f db k and d engagement t Early cohesive core architecture Test early, often, and realistically Apply use cases where needed Do some visual modeling with UML Manage requirements and scope creep Manage change requests and configuration
Inception
n
The life-cycle objectives of the project are stated so that the needs of every stakeholder stated, are considered.
Scope Boundary conditions Acceptance p criteria and some requirements are established.
Elaboration
n
Construction
n
is
broken
into
several
Transition
n
The transition phase is the phase where th product the d t is i put t in i the th hands h d of f its it end d users. It involves issues of
marketing, packaging, installing, configuring, supporting the user-community, making corrections, etc.
RUP is a method of managing g g OO Software Development It can be viewed as a Software Development F Framework k which hi h i is extensible t ibl and df features: t Iterative Development Requirements Management Component-Based Architectural Vision Visual Modeling g of Systems y Quality Management Change Control Management
Advantages of RUP
The RUP puts an emphasis on addressing very early high risks areas. areas It does not assume a fixed set of firm requirements q at the inception p of the p project, j but allows to refine the requirements as the project evolves. It does d not t put t either ith a strong t f focus on documents or ceremonies The main focus remains the software product itself, and its quality.
Drawbacks of RUP
????????????/
Identify y advantages g and disadvantages g of each process model (excluding RUP) Compare and contrast the software process models (excluding RUP) Submission date : 26th March, 2008
Document Presentation
Thank You
n
Thank you