Download presentation
Presentation is loading. Please wait.
Published byChristopher Camburn Modified over 10 years ago
1
Lecture 3: Software Process Models Dr Valentina Plekhanova University of Sunderland, UK http://www.cet.sunderland.ac.uk/~cs0vpl/SE-Com185.htm
2
Lecture 3Valentina Plekhanova 2 Week 8: 24.04.2003-28.03.2003 Project Control Session Tutorial Time: 10 minutes for each Team Tutorial Time: 10 minutes for each Team Scheduledocumentation Students will present project file, particularly Schedule, plus 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.
3
Lecture 3Valentina Plekhanova 3 Week 8: 24.04.2003-28.03.2003 Project Control Session Tutorial Time: 10 minutes for each Team Tutorial Time: 10 minutes for each Team Scheduledocumentation Students will present project file, particularly Schedule, plus 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.
4
Lecture 3Valentina Plekhanova 4 Week 8: 24.04.2003-28.03.2003 Project Control Session Tutorial Time: 10 minutes for each Team Tutorial Time: 10 minutes for each Team Scheduledocumentation Students will present project file, particularly Schedule, plus 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.
5
Lecture 3Valentina Plekhanova 5 Basic Definitions: Process Model A representation of a process. activities agents products resources Some of the key components of a process model are the activities that must be performed, the agents that perform the activities, the products that are produced, and the resources that are needed for an activity [Pankaj K. Garg, Mehdi Jazayeri, 1996.].
6
Lecture 3Valentina Plekhanova 6 Traditional Definition [Boehm, 1988] main function order transition criteria The main function of a software development process model is to establish the order in which major tasks are performed within a project, and to establish the transition criteria for proceeding from one task to the next.
7
Lecture 3Valentina Plekhanova 7 Goal A process model presents desired phases or activities in a project …????
8
Lecture 3Valentina Plekhanova 8 Process Element Any component of a process. Process elements range from individual process steps to very large parts of process.
9
Lecture 3Valentina Plekhanova 9 Process Step An atomic action of a process that has no externally visible substructure.
10
Lecture 3Valentina Plekhanova 10 Agent An actor (human or machine) who performs a process elements.
11
Lecture 3Valentina Plekhanova 11 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.
12
Lecture 3Valentina Plekhanova 12 Artifact A product created or modified by the enactment of a process element. A product created or modified by the enactment of a process element.
13
Lecture 3Valentina Plekhanova 13 Software Process Models: Introduction What are the common process models for What are the common process models for developing software?
14
Lecture 3Valentina Plekhanova 14 Software Process Models development strategy processmethods tools layersgeneric phases A process model is a development strategy that encompasses the process, methods and tools layers and the generic 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.
15
Lecture 3Valentina Plekhanova 15 Software 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.
16
Lecture 3Valentina Plekhanova 16 Software 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.
17
Lecture 3Valentina Plekhanova 17 Software 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.
18
Lecture 3Valentina Plekhanova 18 Software 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.
19
Lecture 3Valentina Plekhanova 19 Some Modelsor Some Paradigms of Software Development Some Models or Some Paradigms of Software Development Waterfall Document-driven Time-Milestone Driven Model Evolutionary Prototyping Risk-Based Spiral Model "Buy Commercial-Off-The-Shelf" Model Evolutionary Development Risk Reduction/Waterfall Incremental Development
20
Lecture 3Valentina Plekhanova 20 The Linear Sequential Model waterfall model Also called the waterfall model life-cycle or classic life-cycle. waterfall model The waterfall 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.
21
Lecture 3Valentina Plekhanova 21 Sequential 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
22
Lecture 3Valentina Plekhanova 22 The Waterfall Model Requirements Documents System Specification System Design Models Working Alpha System Final Release System RequirementsCapture SystemAnalysis SystemDesign SystemImplementation SystemTesting SystemMaintenance
23
Lecture 3Valentina Plekhanova 23 The Waterfall Model: 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.
24
Lecture 3Valentina Plekhanova 24 The Waterfall Model: 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.
25
Lecture 3Valentina Plekhanova 25 The Prototyping Model The prototyping model is often used when some aspects of the system are not well defined. Prototyping Prototyping 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.
26
Lecture 3Valentina Plekhanova 26 The 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 are usually built using a waterfall model process. It should be pointed out that the prototypes are usually built using a waterfall model process.
27
Lecture 3Valentina Plekhanova 27 The Prototyping Model: Requirements Gathering The Prototyping Model: Basic Steps - Requirements Gathering Obtain requirements from customer. Identify areas of uncertainty. Quick Design and Build Quick design of aspects of system visible to customer. Quick development of a prototype implementation.
28
Lecture 3Valentina Plekhanova 28 The Prototyping Model: Customer Evaluation of Prototype The Prototyping Model: Basic Steps - Customer 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.
29
Lecture 3Valentina Plekhanova 29 The Prototyping Model:Advantages The Prototyping Model: Advantages 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.
30
Lecture 3Valentina Plekhanova 30 The Prototyping Model:Disadvantages 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.
31
Lecture 3Valentina Plekhanova 31 The Spiral Model Spiral model The Spiral 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).
32
Lecture 3Valentina Plekhanova 32 The 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.
33
Lecture 3Valentina Plekhanova 33 The Spiral Model spiral model The spiral 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.
34
Lecture 3Valentina Plekhanova 34 The Spiral Model (figure shows a single cycle of the spiral)
35
Lecture 3Valentina Plekhanova 35 The 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.
36
Lecture 3Valentina Plekhanova 36 The 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.
37
Lecture 3Valentina Plekhanova 37 The 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.
38
Lecture 3Valentina Plekhanova 38 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
39
Lecture 3Valentina Plekhanova 39 The 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’).
40
Lecture 3Valentina Plekhanova 40 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 one aspect that bears upon process development - namely, to present a description of process activities for software creation and evolution. Most current software models present only one aspect that bears upon process development - namely, to present a description of process activities for software creation and evolution.
41
Lecture 3Valentina Plekhanova 41 Summary 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.
42
Lecture 3Valentina Plekhanova 42 Week 4: 24.02.03- 28.02.03 Project Control Session Project 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.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.