Modeling the Process and Life Cycle
Process includes: ➢ all major process activities ➢ resources used, subject to set of constraints (such as schedule) ➢ intermediate and final products ➢ subprocesses, with hierarchy or links ➢ entry and exit criteria for each activity ➢ sequence of activities, so timing is clear ➢ guiding principles, including goals of each activity ➢ constraints for each activity, resource or product
Software life cycle
- describes life of a software product from its conception to its implementation, delivery, use and maintenance.
Reasons for modeling a process ➢ To form a common understanding ➢ To find inconsistencies, redundancies, omissions ➢ To find and evaluate appropriate activities for reaching process goal ➢ To tailor a general process for the particular situation in which it will be used
Examples of process models • Waterfall model √ one development stage should be completed before the next begins √ simplicity makes it easy to explain to customers who are not familiar with software development √ inflexible partitioning of the project into distinct stages √ should only be used when the requirements are well understood √ used when the system is part of a larger system • V-model √ A variation of the waterfall model that demonstrates how the testing activities are related to analysis and design ▪ Unit and integration testing – coders and team members should ensure that all aspects of the program design have been implemented correctly in the code ▪ System testing – should verify the system design aspects of the program design have been implemented correctly in the code ▪ Acceptance testing – conducted by customer and validates the requirements by associating and testing each element of the specification • Prototyping √ Allows all or part