Вы находитесь на странице: 1из 34

S f Software E Engineering i i

Process Models - II

General Process Models


n n n n

Waterfall model. Prototype model. RAD model model. Evolutionary models:


Incremental model. The Th spiral i l model. d l Concurrent development model.

Motivation for Evolutionary Models


n

Business Requirements are often change as development proceeds.

n n

Software evolves over a period of time. Tight market deadlines make the completion of a comprehensive software product impossible.

Making a straight line to an end is unrealistic.

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.

General Process Models


n n n n

Waterfall model. Prototype model. RAD model model. Evolutionary models:


Incremental model. The Th spiral i l model. d l Concurrent development model.

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

delivery of 1st increment

l i increment 2 analysis

design

code

test

delivery of 2nd increment

increment 3 analysis

design

code

test

delivery of 3rd increment

increment 4 analysis

design

code

test

delivery of 4th increment

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

The process is repeated until the completion.

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.

General Process Models


n n n n

Waterfall model. Prototype model. RAD model model. Evolutionary models:


Incremental model. The Th spiral i l model. d l Concurrent development model.

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

R isk Analys is Customer Communication

E ngineering g g

Pressman 5/e Pressman,

Customer E valuation

Construction & R eleas e

How Its Used


n n n n n n

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.

Characteristics of the Model


n

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.

General Process Models


n n n n

Waterfall model. Prototype model. RAD model model. Evolutionary models:


Incremental model. The Th spiral i l model. d l Concurrent development model.

Concurrent Development Model


n n n

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

Weakness in Evolutionary P.M.


n

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


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.

Grady Booch speaks


n

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.

The Most Important Concept


n n

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

Rational Unified Process


Core Workflows
Requirements Analysis Design Implementation Testing

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

The iterations and the phases fig 1

The Agile Manifesto


n n n n

Individuals and interactions


Over O processes and dt tools l

Working software
Over O comprehensive h i d documentation t ti

Customer collaboration
Over contract negotiation

Responding to change
Over following a plan

Unified Process best practices


n n n n n n n n

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

An analysis is done to determine the


Risks Stability of vision of what the product is to become Stability of architecture Expenditure of resources.

Construction
n

The Construction phase is a engineering process. It emphasizes


managing resources Controlling g operations to optimize
Costs Schedules quality.

This phase iterations.

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.

The Rational Unified Process


n

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

????????????/

Assignment # 2 (20 marks) C Compare & Contrast C SPM S


n n

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

SRS Document 1st submission (next week)

Thank You
n

Thank you

Вам также может понравиться