Presentation is loading. Please wait.

Presentation is loading. Please wait.

CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.

Similar presentations


Presentation on theme: "CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the."— Presentation transcript:

1 CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the software and the speed with which it is developed * The Meaning of Process * Software Process Models * Tools and Techniques for Process Modeling * Practical Process Modeling TECH Computer Science

2 The Meaning of Process We can think of a set of ordered tasks as a process: a series of steps involving activities, constraints and resources that produce an intended output of some kind. When the process involves the building of some product, we sometimes refer to the process as a life cycle.

3 Following a Process A process is a collection of procedures (a recipe), organized so that we build products to satisfy a set of goals or standards. Processes are important because they impose consistency and structure on a set of activities. When we know how to do something well and we want to ensue that others do it the same way.

4 Writing a Process (Writing a “program” for others to follow) Prescribe all major activities Uses resources, subject to a set of constraints May composed of sub-processes Each activities has entry and exit criteria Activities are organized in a sequence. State the goals of each activity.

5 Software Process Models are prescriptions for the way software development should progress. are descriptions of the way software development is done in actuality. Every software development process model includes system requirements as input and delivered product as output.

6 Waterfall Model REQUIREMENTS ANALYSIS SYSTEM DESIGN PROGRAM DESIGN CODING UNIT & INTE- GRATION TESTING SYSTEM TESTING ACCEPTANCE TESTING OPERATION & MAINTENANCE

7 (Development process in reality) REQUIREMENTS ANALYSIS SYSTEM DESIGN PROGRAM DESIGN PROGRAM IMPLEMENTATION UNIT TESTING INTEGRATION TESTING SYSTEM TESTING DELIVERY MAINTENANCE

8 V Model REQUIREMENTS ANALYSIS SYSTEM DESIGN PROGRAM DESIGN CODING UNIT & INTE- GRATION TESTING SYSTEM TESTING ACCEPTANCE TESTING OPERATION & MAINTENANCE Verify design Validate requirements

9 Prototyping Model LIST OF REVISIONS LIST OF REVISIONS LIST OF REVISIONS PROTOTYPE REQUIREMENTS PROTOTYPE DESIGN PROTOTYPE SYSTEM TEST DELIVERED SYSTEM REQUIREMENTS (sometimes informal or incomplete) revise prototype user/ customer review

10 Operational Specification: requirements enacted (automated) using a software package TEST DELIVERED SYSTEM Execute and Revise OPERATIONAL SPECIFICATION (problem-oriented) TRANSFORMED SPECIFICATION (implementation- oriented) SYSTEM REQUIREMENTS (sometimes informal or incomplete)

11 Transformational Model TEST DELIVERED SYSTEM Compare with requirements; update as needed FORMAL SPECIFICATION TRANSFORM N. SYSTEM REQUIREMENTS (sometimes informal or incomplete) TRANSFORM 2 TRANSFORM 1 FORMAL DEVELOPMENT RECORD Sequence of transformations plus rationale for them

12 Phases Development Development systems Production systems DEVELOPERS USERS Build Release 1 Use Release 1 Build Release 2 Use Release 2 Build Release 3 Use Release 3 Time

13 (Increments and Interactions) INCREMENTAL DEVELOPMENT ITERATIVE DEVELOPMENT

14 Spiral Model // PLAN DEVELOP & TEST DETERMINE GOALS, ALTERNATIVES, CONSTRAINTS EVALUATE ALTERNATIVES AND RISKS start Requirements, life-cycle plan Budget 1 Alternatives 1 Constraints 1 Risk analysis 1 Risk analysis 2 Risk analysis 3 Risk analysis 4 Constraints 2 Constraints 3 Constraints 4 Budget 2 Budget 3 Budget 4 Alternatives 2 Alternatives 3 Alternatives 4 Prototype 1 Proto- type 2 Proto- type 3 Proto- type 4 Concept of operation Software requirements Validated requirements Development plan Integration and test plan Software design Validated, verified design Detailed design Code Unit test System test Acceptance test Implementation plan

15 Tools and Techniques for Process Modeling Choose Language or Notation A static model depicts the process, showing that the inputs are transformed to outputs. A dynamic model can enact the process, so that the user can see how intermediate and final products are transformed over time.

16 Static Modeling: Lai Notation State tables show information about the completeness of each artifact at a given time. Transition diagrams show how the states are related to one another.

17 State table and Transition diagram INITIATEDMOVING PARKED initiate go stop get-out Parked: ((state_of(car.engine) = off) (state_of(car.gear) = park) (state_of(car.speed) = stand))

18 Dynamic Modeling: System Dynamics Simulate the process and make changes before the resources are actually expended. Factors affecting overall productivity. (Quantified) Relationships (links) between the factors. System dynamics models are supported by software that simulates the overall process.

19 Practical Process Modeling used properly, process modeling offers great benefits for understanding processes and revealing inconsistencies. Develop special language to help defining and enacting processes, e.g. Marvel specification language. A process model is useful for guiding your behavior when you are working with a group.

20


Download ppt "CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the."

Similar presentations


Ads by Google