Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Chapter 3 Process Models. 2 Prescriptive Models What is it A prescriptive process model defines a distinct set of activities, actions, tasks, milestones,

Similar presentations

Presentation on theme: "1 Chapter 3 Process Models. 2 Prescriptive Models What is it A prescriptive process model defines a distinct set of activities, actions, tasks, milestones,"— Presentation transcript:

1 1 Chapter 3 Process Models

2 2 Prescriptive Models What is it A prescriptive process model defines a distinct set of activities, actions, tasks, milestones, and work products to engineering high-quality software. 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 thrives 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?

3 3 Prescriptive Models (cont.) Regardless of the process model selected, it should accommodate the following generic framework activities: communication planning modeling construction deployment

4 4 Process Models Waterfall model Incremental process models Incremental model RAD (rapid application development) model Evolutionary process models Prototyping model Spiral model Concurrent development model

5 5 The Linear Model Waterfall model Winston Royce, 1970 Also called the software life cycle

6 6 Problems of Waterfall Model Real projects rarely follow the sequential flow that the model proposes It is often difficult for the customer to state all requirements explicitly The customer must have patience Applicable only when the requirements are well- defined and stable

7 7 The Incremental Model The objective is to work with customers and to evolve a final system from an initial outline specification. Should start with well- understood requirements This model combines elements of waterfall model applied in an iterative fashion Particular useful when staffing is limited in initial stage

8 8 The Incremental Model (cont.)

9 9 The RAD Model Rapid Application Development is an incremental software development process model, emphasizing a short development cycle (e.g., 60 to 90 days) For application ’ s requirement been well understood

10 10 The RAD Model (cont.)

11 11 Need sufficient RAD teams for large, scalable projects Easy to fail if developers and users are not committed to rapid-fire activities The system need to be properly modularized May not be appropriate if high performance is an issue May not be appropriate when technical risks are high Drawbacks of RAD Model

12 12 Objective is to understand the system requirements. Should start with poorly understood requirements More commonly adopted within the context of any process model Problems “ prototype ” yes, it ’ s a prototype Compromise (less-than-ideal) while implementation The Prototyping Model

13 13 The Prototyping Model (cont.)

14 14 The Spiral Model Originally proposed by Boehm Emphasize on risk management Using this model, software is developed in a series of evolutionary releases The spiral model can be adapted to apply throughout the life of the software It is a realistic model to the development of large-scale systems

15 15 The Spiral Model

16 16 Drawbacks of Spiral Model May difficult to convince customers to adopt the model – uncertain number of cycles to construct the product Requires considerable risk assessment expertise Problems will occur if a major risk is not uncovered and managed

17 17 Concurrent Development Model Also known as concurrent engineering Represented as a series of framework activities, software engineering actions and tasks, and associated states Define a series of events that will trigger transition from state to state Provide an accurate picture of project current state

18 18 Concurrent Development Model

19 19 Still Other Process Models Component-based development model The process to apply when reuse is a development objective It is evolutionary in nature It incorporates the following steps Research and evaluate available component-based products Consider component integration issues Design a software architecture to accommodate the components Integrate components into the architecture Conduct comprehensive testing

20 20 Still Other Process Models (cont.) Formal methods model The process to apply when a mathematical specification is to be developed Ambiguity, incompleteness, and inconsistency can be discovered and corrected more easily – promise of defect-free software Drawbacks Time-consuming and expensive Need extensive training Hard to serve as a communication mechanism Useful for safety-critical software, e.g., Aircraft avionics, medical devices

21 21 Still Other Process Models (cont.) Aspect-oriented software development (AOSD) Aspect – customer concerns that cut across multiple system functions, features and information, e.g., User interface aspects Distribution aspects (transport and receiving) Persistence aspects (data store/retrieve and indexing) Security aspects Transaction aspects AOSD provides a process and methodological approach for defining, specifying, designing, and constructing aspects (modeled as components)

22 22 The Unified Process What is UP Developed by Ivar Jacobson, James Rumbaugh, and Grady Booch A framework for object-oriented software engineering using UML (the Unified Modeling Language), an industry standard for object-oriented software development It is a use-case driven, architecture-centric, iterative, and incremental model

23 23 The Unified Process (cont.) Phases of UP Inception Identify business requirements, described as use-cases Propose a rough system architecture Elaboration Refine and expand the preliminary use-cases Expand the architecture to include five different views  Use-case model, analysis model, design model, implementation model, deployment model

24 24 The Unified Process (cont.) Construction Develop or acquires the software components to accomplish an initial release Transition Software is given to users for beta-testing to collect defects and necessary changes Create support information, e.g., user manuals, installation procedures, trouble-shooting guides Production Monitor the on-going use of the software, and evaluate defect reports and change requests

25 25 inception The Unified Process (UP) inception elaboration

26 26 UP Phases

27 27 UP Work Products

Download ppt "1 Chapter 3 Process Models. 2 Prescriptive Models What is it A prescriptive process model defines a distinct set of activities, actions, tasks, milestones,"

Similar presentations

Ads by Google