Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

1 1/23 Prescriptive Process Models

2 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process models advocate an orderly approach to software engineering

3 3/23 The Waterfall Model Pro: the most widely used model; a template for use Con: inflexible to changing customer requirements This is a good model to use when requirements are well understood

4 4/23 Incremental Models Incremental Model: delivers software in small but usable pieces, each piece builds on pieces already delivered Rapid Application and Development (RAD) Model: makes heavy use of reusable software components with an extremely short development cycle

5 5/23 The Incremental Model delivers software in small but usable pieces, each piece builds on pieces already delivered

6 6/23 A software project has significant functionality but big pressure on short time-to-market….. How does the incremental model help to deliver this software by the business deadline? Example: A word-processing software I: basic file management, editing, document production II: more sophisticated editing and document production III: spelling and grammar checking IV: advanced page layout capability

7 7/23 The RAD Model The RAD model is a high-speed adaptation of the linear sequential model. Project requirements must be well understood and the project scope tightly constrained Developers can use component-based construction techniques to build a fully functional system in a short time period Pro: may shorten development time significantly Con: the system may not be modularized for use; performance issue; risk issue

8 8/23 The RAD Model makes heavy use of reusable software components with an extremely short development cycle

9 9/23 Assumptions of using RAD model for software project development: 1.A project can be modularized 2.Major functionality could be delivered in short time 3.Sufficient human resources will be available

10 10/23 Evolutionary Models Prototyping Model: good first step when customer has a legitimate need, but is clueless about the details, developer needs to resist pressure to extend a rough prototype into a production product Spiral Model: couples iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model Concurrent Development Model: similar to spiral model often used in development of client/server applications

11 11/23 Evolutionary Models: Prototyping communication Quick plan Modeling Quick design Construction of prototype Deployment delivery & feedback

12 12/23 The Prototyping Model This model is good to use when the customer has legitimate needs, but is not able to articulate the details at the start of the project. A small mock-up of a working system is developed and presented to the customer. Pro: evaluated by user and used to refine requirements Con: the first system built is barely usable; unrealistic expectations from the customer; the performance issue

13 13/23 Which software projects are easy to prototype? Human-machine interactionComputer graphics Mathematical algorithmsCommand-driven systems Control functionsReal-time applications Embedded software

14 14/23 Evolutionary Models: The Spiral Each loop in the spiral shows a phase of the SW process Each loop will be split into few sections, the task regions Each region conducts a set of work tasks, the task set

15 15/23 A Spiral Model (II) The loops in the spiral could be identified as:  concept development, product development, product enhancement and product maintenance OR  product specification, prototype development, software versions updated OR  system feasibility, requirements definition, system design, etc.

16 16/23 A Spiral Model (III) The task regions in each spiral loop could contain:  customer communication, planning, risk analysis, engineering, construction & release, customer evaluation OR  objective setting, risk assessment and reduction, development and validation, planning Points: when to trigger a new phase of the spiral and what to do?

17 17/23 A Spiral Model (IV)  It combines the iterative nature of prototyping with the systematic control found in the linear sequential model  Assessment of both management and technical risks is performed as each incremental release is completed  It demands risk assessment expertise and relies on this expertise for success.

18 18/23 Evolutionary Models: Concurrent different parts (stages) of a project will be performed at different places (activities) concurrently in the process

19 19/23 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 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)

20 20/23 inception The Unified Process (UP) inception elaboration

21 21/23 The Unified Process (UP) Use-case driven, architecture centric, iterative, and incremental software process Phases Inception phase (customer communication and planning) Elaboration phase (communication and modeling) Construction phase Transition phase (customer delivery and feedback) Production phase (software monitoring and support)

22 22/23 UP Phases

23 23/23 UP and UML UML is a modeling notation and language to support OO software engineering practice UP is a process framework in which UML may be applied as part of software engineering activities In UP, what’s the meaning of a workflow? A task set Does the UP phase occur in a sequence? No. UP phases could be with staggered concurrency.


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

Similar presentations


Ads by Google