Download presentation
Presentation is loading. Please wait.
Published byAdrienne Sayles Modified over 9 years ago
1
1 Prescriptive Process Models
2
2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process models advocate an orderly approach to software engineering That leads to a few questions … If prescriptive process models strive for structure and order, are they inappropriate for a software world that increases on change? If prescriptive process models strive for structure and order, are they inappropriate for a software world that increases on change? Yet, if we reject traditional process models (and the order they imply) and replace them with something less structured, do we make it impossible to achieve coordination and coherence in software work? Yet, if we reject traditional process models (and the order they imply) and replace them with something less structured, do we make it impossible to achieve coordination and coherence in software work?
3
3
4
4
5
5 The Waterfall Model
6
6
7
7
8
8 Problems: Problems: Sequential flow. Real projects rarely follow the sequential flow that the model proposes. Sequential flow. Real projects rarely follow the sequential flow that the model proposes. Requirements. It is often difficult for the customer to state all requirements explicitly. It has difficulty accommodating the natural uncertainty that exists at the beginning of many projects. Requirements. It is often difficult for the customer to state all requirements explicitly. It has difficulty accommodating the natural uncertainty that exists at the beginning of many projects. Patience. The customer must have patience. A working version of the programs will not be available until late in the project time- span. Patience. The customer must have patience. A working version of the programs will not be available until late in the project time- span.
9
9
10
10 Evolutionary Models: Prototyping communication Quick plan Modeling Quick design Construction of prototype Deployment delivery & feedback
11
11 Prototyping Customer is not clear about detailed input, output requirements Customer is not clear about detailed input, output requirements Developer is unsure of a particular aspect of the design Developer is unsure of a particular aspect of the design Allows better understanding of what is to be built when requirements are fuzzy Allows better understanding of what is to be built when requirements are fuzzy It can be treated as a standalone process model or within the context of any one of the process models It can be treated as a standalone process model or within the context of any one of the process models Serves as a mechanism for identifying software requirements. Serves as a mechanism for identifying software requirements. Evolutionary Models
12
Evolutionary Models: Prototyping 12
13
Evolutionary Models: Prototyping 13
14
Evolutionary Models: Prototyping 14
15
15
16
16 The RAD Model Incremental Models
17
17
18
18
19
19
20
20 The RAD Model Short development cycle Short development cycle High-speed adaptation of the waterfall model High-speed adaptation of the waterfall model Uses a component-based construction approach Uses a component-based construction approach Uses the generic framework activities Uses the generic framework activities Multiple software teams work in parallel on different functions Multiple software teams work in parallel on different functions Drawbacks: May not be appropriate if: Drawbacks: May not be appropriate if: System cannot be properly modularized System cannot be properly modularized Technical risks are high Technical risks are high High performance is an issue High performance is an issue Incremental Models
21
21
22
22
23
23
24
24 The Incremental Model Incremental Models
25
25
26
26 The Incremental Model Waterfall model applied in an iterative manner Waterfall model applied in an iterative manner Delivery of an operational product with each increment Delivery of an operational product with each increment Linear sequences in a staggered fashion. Linear sequences in a staggered fashion. Each linear sequence produces deliverable increments of the software (e.g. word processing software) Each linear sequence produces deliverable increments of the software (e.g. word processing software) Increment 1: file management, editing and document production Increment 1: file management, editing and document production Increment 2: More sophisticated editing and production Increment 2: More sophisticated editing and production Increment 3: Spelling and grammar checking Increment 3: Spelling and grammar checking Increment 4: Advanced page layout capability Increment 4: Advanced page layout capability The first increment is the core product The first increment is the core product Incremental Models
27
27
28
28
29
29 Evolutionary Models: The Spiral
30
30 The Spiral Software is developed in a series of evolutionary releases Software is developed in a series of evolutionary releases First circuit around the spiral: product specification First circuit around the spiral: product specification The project manager adjusts the number of iterations required to complete the software The project manager adjusts the number of iterations required to complete the software Circuit 1: Product specification Circuit 1: Product specification Circuit 2: Prototype Circuit 2: Prototype Circuit n: More sophisticated versions of the software Circuit n: More sophisticated versions of the software Each pass through the planning region result in adjustments to the project plan Each pass through the planning region result in adjustments to the project plan Evolutionary Models
31
31 The Spiral It can be adapted to apply throughout the life of software It can be adapted to apply throughout the life of software Iterations around the spiral may be used to represent: Iterations around the spiral may be used to represent: Concept development project Concept development project Product development Product development Product enhancement Product enhancement Is a realistic approach to the development of large-scale systems. Is a realistic approach to the development of large-scale systems. It is not a solution: it may be difficult to convince customers that the approach is controllable It is not a solution: it may be difficult to convince customers that the approach is controllable Evolutionary Models
32
The Spiral 32
33
The Spiral 33
34
34 Concurrent Model Evolutionary Models
35
35 Concurrent Model Also known as concurrent engineering Also known as concurrent engineering Consist of framework activities, SE actions and tasks, and associated states. Consist of framework activities, SE actions and tasks, and associated states. The activity can be in one of the states at a time The activity can be in one of the states at a time All activities exist concurrently but reside in different states. All activities exist concurrently but reside in different states. Communication activity: awaiting changes state Communication activity: awaiting changes state Modeling activity: under development Modeling activity: under development Appropriate for system engineering projects where different teams are involved Appropriate for system engineering projects where different teams are involved Evolutionary Models
36
36 Final Comment A problem to project planning: A problem to project planning: uncertain number of cycles required uncertain number of cycles required Most project management and estimation techniques are based on linear layouts Most project management and estimation techniques are based on linear layouts Undefined maximum speed: Undefined maximum speed: If evolution is too fast, the process will fall into chaos If evolution is too fast, the process will fall into chaos If evolution is too slow, then productivity could be affected If evolution is too slow, then productivity could be affected Evolutionary Models
37
37 Final Comment Excessive focus on high quality: Excessive focus on high quality: We should prioritize the speed of the development over zero defects We should prioritize the speed of the development over zero defects Extending the development in order to reach high quality could result in late delivery of the product. Extending the development in order to reach high quality could result in late delivery of the product. It is possible to use an evolutionary process to emphasize flexibility, extensibility, and speed of development. It is possible to use an evolutionary process to emphasize flexibility, extensibility, and speed of development. The challenge is to establish a proper balance between product parameters and customer satisfaction. The challenge is to establish a proper balance between product parameters and customer satisfaction. Evolutionary Models
38
38 Still Other Process Models Component based development—the process to apply when reuse is a development objective Component based development—the process to apply when reuse is a development objective Formal methods—emphasizes the mathematical specification of requirements Formal methods—emphasizes the mathematical specification of requirements AOSD—provides a process and methodological approach for defining, specifying, designing, and constructing aspects AOSD—provides a process and methodological approach for defining, specifying, designing, and constructing aspects Unified Process—a “use-case driven, architecture- centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML) Unified Process—a “use-case driven, architecture- centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML)
39
39 inception The Unified Process (UP) inception elaboration
40
40 The Unified Process (UP) A framework for OO SE using UML A framework for OO SE using UML Has its roots in the industrial experience within Ericsson Has its roots in the industrial experience within Ericsson Successor methodologies led by Rational and Objectory Successor methodologies led by Rational and Objectory Status: a widely adopted industrial standard Status: a widely adopted industrial standard Uses the Unified Modeling Language (UML) Uses the Unified Modeling Language (UML) Several OOA and OOD methods were proposed during the 80’s and early 90’s Several OOA and OOD methods were proposed during the 80’s and early 90’s UP combine the best features of each individual method. UP combine the best features of each individual method. Rational Corporation developed automated tools to support UML methods Rational Corporation developed automated tools to support UML methods
41
The Unified Process (UP) A modern process model derived from the work on the UML and associated process. A modern process model derived from the work on the UML and associated process. Normally described from 3 perspectives Normally described from 3 perspectives A dynamic perspective that shows phases over time; A dynamic perspective that shows phases over time; A static perspective that shows process activities; A static perspective that shows process activities; A proactive perspective that suggests good practice. A proactive perspective that suggests good practice. 41
42
42 The Unified Process (UP) - Phases Inception (feasibility study) Document a vision of the product Document a vision of the product Who are the expected users of the system Who are the expected users of the system What is the preliminary high-level architecture of the system What is the preliminary high-level architecture of the system What is the development plan and what are the development costs? What is the development plan and what are the development costs? Elaboration Use cases are specified in detail Use cases are specified in detail Software architecture is developed and specified Software architecture is developed and specified Construction – developing and testing code Transition – corresponds to beta testing. Production – deployment, monitored use of software
43
43 UP Phases
44
44 UP Work Products
45
45
46
46
47
47
48
48
49
49
50
50
51
51
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.