Top Banner
Lecture 3 Lecture 3 : : Software Process Software Process Models Models Dr Valentina Plekhanova Dr Valentina Plekhanova University of Sunderland, University of Sunderland, UK UK http://www.cet.sunderland.ac.uk/~cs0vpl/SE- http://www.cet.sunderland.ac.uk/~cs0vpl/SE- Com185.htm Com185.htm
42

Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Mar 31, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3Lecture 3:: Software Process ModelsSoftware Process Models

Dr Valentina PlekhanovaDr Valentina Plekhanova

University of Sunderland, UKUniversity of Sunderland, UK

http://www.cet.sunderland.ac.uk/~cs0vpl/SE-Com185.htmhttp://www.cet.sunderland.ac.uk/~cs0vpl/SE-Com185.htm

Page 2: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 2

Week 8:Week 8: 24.04.2003-28.03.2003 24.04.2003-28.03.2003Project Control SessionProject Control Session Tutorial Time: 10 minutes for each Team Tutorial Time: 10 minutes for each Team Students will present project file, particularly

ScheduleSchedule, plus any project documentationdocumentation. Students will describe where they are in the

project and any problems encountered. During the discussion reviewers will ask to see

evidence of deliverables for any tasks that are complete to determine whether they have in fact been done.

Page 3: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 3

Week 8:Week 8: 24.04.2003-28.03.2003 24.04.2003-28.03.2003Project Control SessionProject Control Session Tutorial Time: 10 minutes for each Team Tutorial Time: 10 minutes for each Team Students will present project file, particularly

ScheduleSchedule, plus any project documentationdocumentation. Students will describe where they are in the

project and any problems encountered. During the discussion reviewers will ask to see

evidence of deliverables for any tasks that are complete to determine whether they have in fact been done.

Page 4: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 4

Week 8:Week 8: 24.04.2003-28.03.2003 24.04.2003-28.03.2003Project Control SessionProject Control Session Tutorial Time: 10 minutes for each Team Tutorial Time: 10 minutes for each Team Students will present project file, particularly

ScheduleSchedule, plus any project documentationdocumentation. Students will describe where they are in the

project and any problems encountered. During the discussion reviewers will ask to see

evidence of deliverables for any tasks that are complete to determine whether they have in fact been done.

Page 5: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 5

Basic Definitions: Basic Definitions: Process ModelProcess Model A representation of a process. Some of the key components of a process

model are the activitiesactivities that must be performed, the agentsagents that perform the activities, the productsproducts that are produced, and the resourcesresources that are needed for an activity [Pankaj K. Garg, Mehdi Jazayeri, 1996.] .

Page 6: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 6

Traditional Definition Traditional Definition [Boehm, 1988][Boehm, 1988]

The main functionmain function of a software development process model is to establish the orderorder in which major tasks are performed within a project, and to establish the transition criteriatransition criteria for proceeding from one task to the next.

Page 7: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 7

GoalGoal A process model presents desired phases or

activities in a project …????

Page 8: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 8

Process Element Process Element Any component of a process. Process elements range from individual

process steps to very large parts of process.

Page 9: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 9

Process Step Process Step An atomic action of a process that has no

externally visible substructure.

Page 10: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 10

AgentAgent An actor (human or machine) who

performs a process elements.

Page 11: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 11

Role Role A coherent set of process elements to be

assigned to an agent as a unit of functional responsibility.

A single agent can perform multiple roles and a single role may be performed by multiple agents.

Page 12: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 12

Artifact Artifact A product created or modified by the A product created or modified by the

enactment of a process element.enactment of a process element.

Page 13: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 13

Software Process Models: Software Process Models: IntroductionIntroduction

  What are the common process models for What are the common process models for

developing software?developing software?

Page 14: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 14

Software Process ModelsSoftware Process Models A process model is a development strategydevelopment strategy

that encompasses the processprocess, methods methods and tools layerstools layers and the generic phasesgeneric phases (see Lecture 1).

The process model for a project is selected to support the nature of the project, the application domain, tools available, and the controls and deliverables required.

Page 15: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 15

Software Process ModelsSoftware Process Models The process model for a project is selected

to support the nature of the project, the application domain, tools available, and the controls and deliverables required.

No agreement on a ‘best’ process model.

Page 16: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 16

Software Process ModelsSoftware Process Models The life cycle history of each software product is

different. Some products will spend years in the conceptual

stage, other products will be quickly designed and implemented and some products must be developed from scratch.

Various models have been designed to undertake the process.

Page 17: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 17

Software Process ModelsSoftware Process Models It is recognised that: Process Model

Describes development strategy encompassing processes, methods, tools.

Brings order into chaotic activities. Assists in controlling and co-ordination of

software projects.

Page 18: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 18

Software Process Models: BenefitsSoftware Process Models: Benefits There are several benefits that have been

suggested for utilising process modelling [Kellner and Hansen, 1989; White, 1992]. The main ones are (but not limited to): facilitating reasoning and communication about the

process; analysing, studying, controlling and managing the

process; determining ways in which the process may be

improved.

Page 19: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 19

Some ModelsSome Models or Some Paradigms or Some Paradigms of Software Developmentof Software Development Waterfall Waterfall Document-driven Time-Milestone Driven Model Evolutionary PrototypingEvolutionary Prototyping Risk-Based Spiral Model Risk-Based Spiral Model "Buy Commercial-Off-The-Shelf" Model Evolutionary Development Risk Reduction/Waterfall Incremental Development

Page 20: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 20

The Linear Sequential ModelThe Linear Sequential Model Also called the waterfall modelwaterfall model

or classic life-cyclelife-cycle.

The waterfall modelwaterfall model presents a documentation-driven approach [Royce, 1970; Boehm, 1981]. This model was developed to provide support for the developers to produce the necessary documentation.

Page 21: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 21

Sequential set of phasesSequential set of phases Software Requirements Analysis System and Software Design Writing the Programs (or coding, program

implementation, code generation)

Testing (unit testing, integration testing, system testing, acceptance testing)

Maintenance

Page 22: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 22

The Waterfall ModelThe Waterfall Model Requirements Documents

System Specification

System Design Models

Working Alpha System

Final Release System

RequirementsRequirementsCaptureCapture

SystemSystemAnalysisAnalysis

SystemSystemDesignDesign

SystemSystemImplementationImplementation

SystemSystemTestingTesting

SystemSystemMaintenanceMaintenance

Page 23: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 23

The Waterfall ModelThe Waterfall Model: Advantages: Advantages The waterfall model allows correction of

the failed tasks. This is represented by the feedback loops for task performances.

Simple to implement and manage. Well used.

Page 24: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 24

The Waterfall ModelThe Waterfall Model: Disadvantages: Disadvantages Real projects are not sequential. Can not state requirements completely early. Customer does not see system until after testing. Development often results in parts of project being

‘blocked’. Emphasis is on ease of project management. Method does not scale up to large projects well. Can not ensure that the delivered product satisfies the

customer’s requirements and the project proceeds in an essentially fixed sequence of phases.

Page 25: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 25

The Prototyping ModelThe Prototyping Model The prototyping model is often used when some

aspects of the system are not well defined. PrototypingPrototyping is focused on a target product [Lantz,

1985; Connell and Shafer, 1989; Gane, 1989]. This model helps to ensure (in comparison with

the waterfall model) the development of delivered products that satisfy the customer’s real needs.

Page 26: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 26

The Prototyping ModelThe Prototyping Model The general idea is to construct a series of

prototypes to allow users to examine these and then to indicate what changes they want in the next one.

It should be pointed out that the prototypes It should be pointed out that the prototypes are usually built using a waterfall model are usually built using a waterfall model process.process.

Page 27: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 27

The Prototyping Model:The Prototyping Model: Basic Steps - Requirements GatheringRequirements Gathering Obtain requirements from customer. Identify areas of uncertainty. Quick Design and BuildQuick Design and Build Quick design of aspects of system visible

to customer. Quick development of a prototype

implementation.

Page 28: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 28

The Prototyping Model:The Prototyping Model: Basic Steps - Customer Evaluation of PrototypeCustomer Evaluation of Prototype Prototype used to refine the requirements

of the system.

*********************** These basic steps are repeated until

requirements are well defined. Should discard prototype and build the

‘real’ system.

Page 29: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 29

The Prototyping Model:The Prototyping Model: AdvantagesAdvantages Customer can provide input to system early

during the development of the prototype, and will usually get a system which does what they require, and which they want.

Reduces problems in requirements which are the most expensive to fix.

Page 30: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 30

The Prototyping Model:The Prototyping Model:DDisadvantagesisadvantages Customers see a working version early, and

unless they have a basic knowledge of the process, can not understand why it should be thrown away.

The customer sees the prototype built quickly - may not understand why the ‘real’ version takes so long.

Developer may make implementation decisions to get the prototype working quickly, and these may be carried over to the ‘real’ system.

Page 31: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 31

The Spiral ModelThe Spiral Model The Spiral modelSpiral model is a risk-driven approach

[Boehm, 1988]. The primarily goal of this model is to

determine the risks involved in the process of product development and then to attempt to minimise those risks.

Spiral model is divided into a number of framework activities (or task regions).

Page 32: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 32

The Spiral ModelThe Spiral Model The specific character of the spiral model

is that it provides risk analysis before initiating each life-cycle phase.

This model represents a significant advantage by the incorporation of risk analysis, multiple paradigms, managerial and planning issues.

Page 33: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 33

The Spiral ModelThe Spiral Model The spiral modelspiral model views the development process in

polar coordinates. … (!!!) The plane is divided into four quadrants that represent

different kinds of activities, as follows:I. Determination of objectives, alternatives, and

constraints.II. Evaluation of alternatives; identification and resolution

of risks.III. Development activities.IV. Review and planning for future cycles.

Page 34: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 34

The Spiral ModelThe Spiral Model ((figure shows a single cycle of the spiral)figure shows a single cycle of the spiral)

Page 35: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 35

The Spiral ModelThe Spiral Model Specific activities may overlap multiple spirals. Also, concurrent spirals may be required to

address varying areas of risk. The commitment line may involve a decision to

terminate the project or change direction based on the review results.

Some cycles of the spiral may require months to complete, while others require only days.

Page 36: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 36

The Spiral ModelThe Spiral Model Each cycle of the model addresses all the

activities between review and commitment events.

Early in the process, cycles may be short as alternatives in the decision space of the project are explored.

As risks are resolved, cycles may stretch, with the development quadrant subsuming several steps in the waterfall.

Page 37: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 37

The Spiral ModelThe Spiral Model The spiral may be terminated with product

delivery—in which case modification or maintenance activities are new spirals—or continue until the product is retired.

Page 38: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 38

The Spiral Model: Advantages The Spiral Model: Advantages Matches reality in that requirements

change over the life of a project. Has advantages of prototyping - customer

has early input into system. Many adaptations possible. Requires consideration of risks at all stages

of the development

Page 39: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 39

The Spiral Model: DisadvantagesThe Spiral Model: Disadvantages Customers may be concerned about control

of the process in the spiral model. Can lead to difficulties in contract negotiations.

Requires considerable expertise in risk assessment.

Has not been as widely used as linear sequential model (seen as ‘new’).

Page 40: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 40

Summary Summary Current software process models differ

from each other by the goals and the different ordering of project tasks.

Most current software models present only Most current software models present only one aspect that bears upon process one aspect that bears upon process development - namely, to present a development - namely, to present a description of process activities for description of process activities for software creation and evolution. software creation and evolution.

Page 41: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 41

SummarySummary However, software is developed by people within

a complex environment which can be defined by organisational, social, technical, psychological and other aspects.

Hence, one of the major reasons for the lack of process modelling success in practical applications is that the existing process models do not represent the human factors and environment settings in which projects exist.

Page 42: Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm.

Lecture 3 Valentina Plekhanova 42

Week 4: 24.02.03- 28.02.03Week 4: 24.02.03- 28.02.03 Project Control SessionProject Control Session Tutorial Time: 10 minutes for each Team Tutorial Time: 10 minutes for each Team Project Team will present project file: Schedule,

any project documentation. Students will describe where they are in the

project and any problems encountered. During the discussion reviewers will ask to see

evidence of deliverables for any tasks that are complete to determine whether they have in fact been done.