45
Software Life Cycle Models Prescriptive Process Models -Traditional process models - Specialized process models - The unified process

Pressman Ch 3 Prescriptive Process Models

Embed Size (px)

Citation preview

Page 1: Pressman Ch 3 Prescriptive Process Models

Chapter 3Software Life Cycle Models

Prescriptive Process Models

-Traditional process models- Specialized process models- The unified process

Page 2: Pressman Ch 3 Prescriptive Process Models

Life Cycle Models A life cycle is the sequence in which a project specifies, prototypes, designs, implements, tests, and maintains a piece of software.

In software engineering, the life cycle model depicts various stages of software development process.

Using life cycle model various development issues can be solved at the appropriate time.

Page 3: Pressman Ch 3 Prescriptive Process Models
Page 4: Pressman Ch 3 Prescriptive Process Models

4

Modeling: Software Requirements AnalysisHelps software engineers to better understand the

problem they will work to solveEncompasses the set of tasks that lead to an

understanding of what the business impact of the software will be, what the customer wants, and how end-users will interact with the software

Uses a combination of text and diagrams to depict requirements for data, function, and behavior Provides a relatively easy way to understand and review

requirements for correctness, completeness and consistency

Page 5: Pressman Ch 3 Prescriptive Process Models

Traditional Process Models

Page 6: Pressman Ch 3 Prescriptive Process Models

6

Prescriptive Process Model

Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high-quality software

The activities may be linear, incremental, or evolutionary

analysis design code test

System/informationengineering

Page 7: Pressman Ch 3 Prescriptive Process Models

7

Waterfall Model(Diagram)

CommunicationProject initiation

Requirements gathering

PlanningEstimatingSchedulingTracking Modeling

AnalysisDesign Construction

CodeTest Deployment

DeliverySupport

Feedback

Page 8: Pressman Ch 3 Prescriptive Process Models
Page 9: Pressman Ch 3 Prescriptive Process Models
Page 10: Pressman Ch 3 Prescriptive Process Models

10

Waterfall Model(Description)

Oldest software lifecycle model and best understood by upper management

Used when requirements are well understood and risk is lowWork flow is in a linear (i.e., sequential) fashionUsed often with well-defined adaptations or enhancements

to current software

Page 11: Pressman Ch 3 Prescriptive Process Models

•The waterfall model is also called as classic life cycle model. It is the oldest software paradigm. It follows the sequential approach to software development process.

•In this kind of modeling, the software development process starts with communication phase. In communication phase the requirement gathering is done by communicating with the customer. The software requirement specification (SRS) is prepared.

Page 12: Pressman Ch 3 Prescriptive Process Models

•The second phase is planning. In planning phase we schedule the project and also perform some primitive estimation of project. The software project plan is prepared.

•Modeling is the next phase in which requirement analysis is done and we Simply design our software. Various models such as data flow diagram, ERD are prepared.

Page 13: Pressman Ch 3 Prescriptive Process Models

•The construction phase comes after modeling. In construction phase actual implementation is performed.

•We do actual coding with the help ~f suitable programming language After preparing the code, we test it with all possible input set.

•And complete software has to be prepared which can be delivered to the customer.

Page 14: Pressman Ch 3 Prescriptive Process Models

•Finally deployment is carried out.

•In deployment phase we actually deliver the software and give the necessary support to the customer.

•Frequent feedback from the customer is to be taken in order to maintain the software.

Page 15: Pressman Ch 3 Prescriptive Process Models

15

Waterfall Model(Problems)

Doesn't support iteration, so changes can cause confusion

Difficult for customers to state all requirements explicitly and up front

Requires customer patience because a working version of the program doesn't occur until the final phase

Problems can be somewhat alleviated in the model through the addition of feedback loops (see the next slide)

Page 16: Pressman Ch 3 Prescriptive Process Models

16

Waterfall Model with Feedback(Diagram)

CommunicationProject initiation

Requirements gathering

PlanningEstimatingSchedulingTracking Modeling

AnalysisDesign Construction

CodeTest Deployment

DeliverySupport

Feedback

Page 17: Pressman Ch 3 Prescriptive Process Models

17

Incremental Model(Diagram)

Communication PlanningModeling

ConstructionDeployment

Communication PlanningModeling

ConstructionDeployment

Communication PlanningModeling

ConstructionDeployment

Increment #1

Increment #2

Increment #3

Page 18: Pressman Ch 3 Prescriptive Process Models

analysis design code test

System/informationengineering

analysis design code test

analysis design code test

analysis design code test

increment 2

increment 3

increment 4

increment 1

delivery of1st increment

delivery of2nd increment

delivery of3rd increment

delivery of4th increment

calendar time

Page 19: Pressman Ch 3 Prescriptive Process Models

19

Incremental Model(Description)

Used when requirements are well understoodMultiple independent deliveries are identifiedWork flow is in a linear (i.e., sequential) fashion within an

increment and is staggered between increments Iterative in nature; focuses on an operational product with

each incrementProvides a needed set of functionality sooner while

delivering optional components laterUseful also when staffing is too short for a full-scale

development

Page 20: Pressman Ch 3 Prescriptive Process Models

•The incremental model has same phases that are in waterfall model. But it is iterative in nature.

•The incremental model has following phases.

•1. Analysis •2. Design •3. Code •4. Test

Page 21: Pressman Ch 3 Prescriptive Process Models

•The incremental model delivers series of releases to the customer. These releases are called increments.

•More and more functionality is associated with each increment.

•The first increment is called core product. In this release the basic requirements are implemented and then in subsequent increments new requirements are added.

Page 22: Pressman Ch 3 Prescriptive Process Models

•The word processing software package can be considered as an example of incremental model.

•In the first increment only the document processing facilities are available.

•In the second increment, more sophisticated document producing and processing facilities, file management functionalities are given.

•In the next increment spelling and grammar checking facilities can be given.

• Thus in incremental model progressive functionalities are obtained with each release.

Page 23: Pressman Ch 3 Prescriptive Process Models

•When to choose it?

•1. When requirements are reasonably well-defined.

•2. When overall scope of the development effort suggests a purely linear effort.

•3. When limited set of software functionality needed quickly.

Page 24: Pressman Ch 3 Prescriptive Process Models

Merits of incremental model

1.The incremental model can be adopted when there are less number of people involved in the project.

2. Technical risks can be managed with each increment.

3. For a very small time span, at least core product can be delivered to the customer.

Page 25: Pressman Ch 3 Prescriptive Process Models

25

Prototyping Model(Diagram)

Communication

Quick Planning

ModelingQuick Design

ConstructionOf Prototype

Deployment,Delivery,

and Feedback

Start

Page 26: Pressman Ch 3 Prescriptive Process Models
Page 27: Pressman Ch 3 Prescriptive Process Models
Page 28: Pressman Ch 3 Prescriptive Process Models

•In prototyping model initially the requirement gathering is done.

•Developer & customer define overall objectives; identify areas needing more requirement gathering.

•Then a quick design is prepared. This design represents what will be visible to user- in input and output format.

•From the quick design a prototype is prepared. Customer or user evaluates the prototype in order to refine the requirements.

•Iteratively prototype is tuned for satisfying customer requirements. Thus prototype is important to identify the software requirements.

Page 29: Pressman Ch 3 Prescriptive Process Models

•When working prototype is built, developer use existing program fragments or program generators", to throwaway the prototype and rebuild the system to high quality .

•Certain classes of mathematical algorithms, subset of command driven systems and other applications where results can be easily examined without real time interaction can be developed using prototyping paradigm.

Page 30: Pressman Ch 3 Prescriptive Process Models

When to choose it?

•Software applications that are relatively easy to prototype almost always involve human-machine interaction (He!) the prototyping model is suggested.

•A general objective of software is defined but not detailed input, processing or output requirements. Then in such a case prototyping model is useful.

•When the developer is unsure of the efficiency of an algorithm or the adaptability of an operating system then prototype serves as a better choice.

Page 31: Pressman Ch 3 Prescriptive Process Models

Drawbacks of Prototyping

1.In the first version itself, customer often wants "few fixes" rather than rebuilding of the system. Whereas rebuilding of new system maintains high level of quality.

2. The first version may have some compromises.

3. Sometimes developer may make implementation compromises to get prototype working quickly. Later on developer may become comfortable with compromises and forget why they are inappropriate.

Page 32: Pressman Ch 3 Prescriptive Process Models

Spiral Model

Page 33: Pressman Ch 3 Prescriptive Process Models

Spiral Model

•This model possesses the iterative nature of prototyping model and controlled and systematic approaches of the linear sequential model.

•This model gives efficient development of incremental versions of software. In this model, the software is developed in series of increments.

•The spiral model is divided into a number of framework activities. These framework activities are denoted by task regions. Usually there are six tasks regions.

•The spiral model is as shown in Fig.

Page 34: Pressman Ch 3 Prescriptive Process Models

•In the initial pass, product specification is built and in subsequent passes around the spiral the prototype gets developed and then more improved versions of software gets developed.

•During planning phase, the cost and schedule of software can be planned and adjusted based on feedback obtained from customer evaluation.

•In spiral model, project entry point axis is defined. This axis represents starting point for different types of projects.

Page 35: Pressman Ch 3 Prescriptive Process Models

•The development of the project can be carried out in iterations.

•The task regions can be described as

•i. Customer communication - In this region it is suggested to establish customer communication.

•ii. Planning - All planning activities are carried out in order to define resources time-line and other project related activities.

•iii. Risk analysis - The tasks required to calculate technical and management risks are carried out.

Page 36: Pressman Ch 3 Prescriptive Process Models

iv. Engineering - In this task region, tasks required to build one or more representations of applications are carried out.

v. Construct and release - All the necessary tasks required to construct, test, install the application are conducted. Some tasks that are required to provide user support are also carried out in this task region.

vi. Customer evaluation - Customer's feedback is obtained and based on customer evaluation required tasks are performed and implemented at installation stage.

Page 37: Pressman Ch 3 Prescriptive Process Models

Drawbacks of spiral model

•It is based on customer communication. If the communication is not proper then the software product that gets developed will not be the up to the mark.

•It demands considerable risk assessment. If the risk assessment is done properly then only the successful product can be obtained.

Page 38: Pressman Ch 3 Prescriptive Process Models

WIN-WIN Spiral Model

Page 39: Pressman Ch 3 Prescriptive Process Models

•As in spiral model the customer communication is important for obtaining the requirements of the project, the WIN-WIN model also suggests proper communication with customer.

•In reality customer and developers undergo through the process of negotiation.

•Successful negotiation occurs when both the sides win. This is called win-win' result.

Page 40: Pressman Ch 3 Prescriptive Process Models

•Customer's win means - obtaining the system that satisfies most of the needs.

•Developer's win means - getting the work done with realistic and achievable budgets and deadlines.

•In WIN-WIN spiral model negotiation activities are carried out at the beginning of each pass of the spiral.

Page 41: Pressman Ch 3 Prescriptive Process Models

Various activities that can be carried out in WIN-WIN spiral model are

1.Identification of 'stakeholders'.

2. Determination of „stakeholders‟ wins condition.

3. Negotiations of stakeholders striving for win condition. With the concerned software project team reconcile for win-win result. Then determine next level objectives, constraints and alternatives.

Page 42: Pressman Ch 3 Prescriptive Process Models

4. Evaluate process and product. Analyze and resolve the risks.

5. Define next level of product and process.

6. Validate process and product definitions.

7. Take a review of product and give necessary comments on it.

Page 43: Pressman Ch 3 Prescriptive Process Models

There are three anchor points that can be defined in WINWIN spiral model.

1.LCO - That means Life Cycle Objective. It defines the objectives for majol software engineering activities.

2. LCA - That means Life Cycle Architecture. It defines the software architectures that can be produced with all the objectives are set.

3. IOC - That means Initial Operational Capability. It represents software with all the desired initial operational capabilities.

Page 44: Pressman Ch 3 Prescriptive Process Models

Object Oriented Model

•The fountain model is a kind of object oriented model.

•The iterations can be applied within as well as between the phases. •There is incremental development of software product.

•The parallelism and iteration between the phases is possible.

Page 45: Pressman Ch 3 Prescriptive Process Models