1 / 20

CH02: Modeling the process and life cycle

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

uma
Download Presentation

CH02: Modeling the process and life cycle

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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. REQUIREMENTS ANALYSIS SYSTEM DESIGN PROGRAM DESIGN CODING UNIT & INTE- GRATION TESTING SYSTEM TESTING ACCEPTANCE TESTING OPERATION & MAINTENANCE Waterfall Model

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

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

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

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

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

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

  13. INCREMENTAL DEVELOPMENT ITERATIVE DEVELOPMENT (Increments and Interactions)

  14. EVALUATE ALTERNATIVES AND RISKS DETERMINE GOALS, ALTERNATIVES, CONSTRAINTS Constraints4 Risk analysis4 Constraints3 Risk analysis3 Alternatives4 Constraints2 Alternatives3 Risk analysis2 Alternatives2 Risk analysis1 Proto- type2 Proto- type3 Proto- type4 Constraints1 Budget4 Alternatives1 Budget3 Budget2 Prototype1 Budget1 start Requirements, life-cycle plan Concept of operation Detailed design Software requirements Software design Development plan Validated requirements Code Integration and test plan Validated, verified design Unit test System test Implementation plan Acceptance test PLAN DEVELOP & TEST Spiral Model //

  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. PARKED initiate get-out INITIATED MOVING stop go State table and Transition diagram 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.

More Related