CSCI 5828 Foundations of Software Engineering Lecture 5 and 6 Modeling the Process and Life Cycle Slides created by Pfleeger and Atlee for the SE textbook Some modifications to the original slides have been made by Ken Anderson for clarity of presentation 01 29 2008 01 31 2008 Chapter 2 Modeling the Process and Life Cycle ISBN 0 13 146913 4 Prentice Hall 2006 Copyright 2006 Pearson Prentice Hall All rights reserved Contents 2 1 2 2 2 3 2 4 2 5 2 6 2 7 The Meaning of Process Software Process Models Tools and Techniques for Process Modeling Practical Process Modeling Information System Example Real Time Example What this Chapter Means for You Pfleeger and Atlee Software Engineering Theory and Practice 2006 Pearson Prentice Hall Page 2 3 Chapter 2 Objectives Discuss the definition of process or life cycle Discuss standard terminology Software dev products processes and resources Present several software life cycles Cover tools and techniques for process modeling Pfleeger and Atlee Software Engineering Theory and Practice 2006 Pearson Prentice Hall Page 2 4 2 1 The Meaning of Process process a series of steps involving activities constrains and resources that produce an intended ouput of some kind A process involves a set of tools and techniques Pfleeger and Atlee Software Engineering Theory and Practice 2006 Pearson Prentice Hall Page 2 5 2 1 The Meaning of Process Process Characteristics Prescribes all major process activities Uses resources subject to set of constraints such as a schedule or a budget Constraints may apply to an activity resource or product Produces intermediate and final products May be composed of subprocesses with hierarchy or links Each process activity has entry and exit criteria Activities are organized in sequence so timing is clear Each process has guiding principles including the goals of each activity Pfleeger and Atlee Software Engineering Theory and Practice 2006 Pearson Prentice Hall Page 2 6 2 1 The Meaning of Process The Importance of Processes Impose consistency and structure on a set of activities especially across projects in a single organization or two or more projects performed by the same team Aids engineers in understanding controlling and improving the activities within the process Allows engineers to capture measure our experiences and use them to improve future performance Pfleeger and Atlee Software Engineering Theory and Practice 2006 Pearson Prentice Hall Page 2 7 2 2 Software Process Models Reasons for Modeling a Process To form a common understanding across different stakeholders To find inconsistencies redundancies omissions To find and evaluate appropriate activities for reaching process goals To tailor a general process for a particular situation in which it will be used Pfleeger and Atlee Software Engineering Theory and Practice 2006 Pearson Prentice Hall Page 2 8 2 2 Software Process Models Software Life Cycle When a process involves building software the process may be referred to as software life cycle Requirements analysis and definition System architecture design Program detailed procedural design Writing programs coding implementation Testing unit integration system System delivery deployment Maintenance Pfleeger and Atlee Software Engineering Theory and Practice 2006 Pearson Prentice Hall Page 2 9 2 2 Software Process Models Software Development Process Models Waterfall model V model Prototyping model Operational specification Transformational model Phased development increments and iterations Spiral model Agile methods Pfleeger and Atlee Software Engineering Theory and Practice 2006 Pearson Prentice Hall Page 2 10 2 2 Software Process Models Waterfall Model One of the first process development models proposed circa 1970 Works for well understood problems with minimal or no changes in the requirements Simple and easy to explain to customers It presents a very high level view of the development process a sequence of process activities Each major phase is marked by milestones and deliverables artifacts Pfleeger and Atlee Software Engineering Theory and Practice 2006 Pearson Prentice Hall Page 2 11 2 2 Software Process Models Waterfall Model continued Pfleeger and Atlee Software Engineering Theory and Practice 2006 Pearson Prentice Hall Page 2 12 2 2 Software Process Models Waterfall Model continued There is no iteration in the original waterfall model Most software projects apply a great many iterations Pfleeger and Atlee Software Engineering Theory and Practice 2006 Pearson Prentice Hall Page 2 13 2 2 Software Process Models Sidebar 2 1 Drawbacks of The Waterfall Model Provides no guidance on how to handle changes to products and activities during development assumes requirements can be frozen Views software development as a manufacturing process rather than as a creative process There is no iterative activities that lead to creating a final product From customer perspective there can be a long wait before a final product is delivered Pfleeger and Atlee Software Engineering Theory and Practice 2006 Pearson Prentice Hall Page 2 14 2 2 Software Process Models Waterfall Model with Prototype A prototype is a partially developed product Prototyping helps developers assess alternative design strategies design prototype users understand what the system will be like user interface prototype Protopyping is useful for verification and validation validation have all requirements been implemented verification have all requirements been implemented correctly and with high quality Pfleeger and Atlee Software Engineering Theory and Practice 2006 Pearson Prentice Hall Page 2 15 2 2 Software Process Models Waterfall Model with Prototype continued Waterfall model with prototyping Pfleeger and Atlee Software Engineering Theory and Practice 2006 Pearson Prentice Hall Page 2 16 2 2 Software Process Models V Model A slight variation of the waterfall model Uses unit testing to verify program design Uses integration testing to verify architectural design Uses acceptance testing to validate the requirements If problems are found during verification and validation the left side of the V can be re executed before testing on the right side is re enacted Pfleeger and Atlee Software Engineering Theory and Practice 2006 Pearson Prentice Hall Page 2 17 2 2 Software Process Models V Model continued Pfleeger and Atlee Software Engineering Theory and Practice 2006 Pearson Prentice Hall Page 2 18 2 2 Software Process Models Prototyping Model Allows repeated
View Full Document
Unlocking...