Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.

Similar presentations


Presentation on theme: "1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process."— Presentation transcript:

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


Download ppt "1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process."

Similar presentations


Ads by Google