Alternative Software Life Cycle ModelsFeel free to interrupt!IntroductionDefinitionAlternative ModelsSlide 6Slide 7Slide 8Slide 9Evaluation of Alternative Life Cycle ModelsSlide 11Slide 12Slide 13Slide 14Slide 15Slide 16Defining, Selecting, or Adapting a Life Cycle ModelConclusionAlternative Alternative Software Life Cycle Software Life Cycle ModelsModelsBy Edward R. CornerBy Edward R. Cornervol. 2, chapter 8, pp. 289-299vol. 2, chapter 8, pp. 289-299Presented by: Gleyner Presented by: Gleyner GardenGardenEEL6883EEL6883Software Engineering II Software Engineering IIFeel free to interrupt!Feel free to interrupt!IntroductionIntroductionThe classic waterfall The classic waterfall model that we are familiar model that we are familiar with was developed with was developed around 1970 by Dr. around 1970 by Dr. Winston RoyceWinston RoyceMany different models Many different models have been proposed since have been proposed since thenthenThey all exist to help cope They all exist to help cope with the great complexity with the great complexity and expense of software and expense of software products, and to help products, and to help create a product that create a product that meets the user’s needs meets the user’s needs and expectationsand expectationsDefinitionDefinitionNotNot a definition of process followed by a a definition of process followed by a software development organizationsoftware development organizationNotNot a methodology a methodologyIsIs a reference model for a software a reference model for a software development process that provides:development process that provides:a common basis for standards, and where these a common basis for standards, and where these standards belong with respect to the modelstandards belong with respect to the modela description of major functions involved in a description of major functions involved in software developmentsoftware developmentinsight towards the important aspects or features insight towards the important aspects or features necessary for common understanding and focusnecessary for common understanding and focusAlternative ModelsAlternative ModelsRapid, Throwaway Prototype:Rapid, Throwaway Prototype:Gomaa and Scott made it popular in 1981Gomaa and Scott made it popular in 1981Focuses on ensuring product meets user’s Focuses on ensuring product meets user’s needsneedsGoal is to improve the quality of requirements Goal is to improve the quality of requirements specifications by providing a “quick and dirty” specifications by providing a “quick and dirty” partial implementation during requirements partial implementation during requirements phasephaseUse of this implementation by the users can Use of this implementation by the users can expose miscommunications in the requirement expose miscommunications in the requirement specificationsspecificationsAlternative ModelsAlternative ModelsIncremental Development:Incremental Development:Constructing a partially implemented, yet Constructing a partially implemented, yet useful build and then incrementally added useful build and then incrementally added functionalityfunctionalityRequirements can be defined for each Requirements can be defined for each increment in advance, or during development increment in advance, or during development between incrementsbetween incrementsIf done correctly, can increase reliability and If done correctly, can increase reliability and decrease riskdecrease riskRequires a very flexible system architecture, Requires a very flexible system architecture, and especially if the overall end-result is not and especially if the overall end-result is not fully planning forfully planning forAlternative ModelsAlternative ModelsEvolutionary Prototypes:Evolutionary Prototypes:Views the software life cycle as a set of Views the software life cycle as a set of prototypes that are evolved through iterative prototypes that are evolved through iterative experimentation and refinementexperimentation and refinementIntended to addresses customer satisfactionIntended to addresses customer satisfactionSort of a mixture of Rapid Prototyping and Sort of a mixture of Rapid Prototyping and Incremental Development, without the need for Incremental Development, without the need for a full understanding of requirementsa full understanding of requirementsHard to scale up to large systemsHard to scale up to large systemsExpensive to use for complex mission-critical Expensive to use for complex mission-critical applicationsapplicationsAlternative ModelsAlternative ModelsReusable Software:Reusable Software:Reduce costs by incorporating existing Reduce costs by incorporating existing designs, programs, modules, and data designs, programs, modules, and data into new software productsinto new software productsCompatible with all life cycle modelsCompatible with all life cycle modelsAvoid reinventing the wheelAvoid reinventing the wheelLess schedule needed, since code is Less schedule needed, since code is already written, and less bugs to fix, already written, and less bugs to fix, since software has been “proven”since software has been “proven”Alternative ModelsAlternative ModelsAutomated Software Synthesis:Automated Software Synthesis:Automated transformation of formal Automated transformation of formal requirements into operational coderequirements into operational codeRelies heavily on automated tools (Relies heavily on automated tools (veryvery smart compilers)smart compilers)Evaluation of Alternative Evaluation of Alternative Life Cycle ModelsLife Cycle ModelsUser’s needs are User’s needs are constantly evolvingconstantly evolvingCreates new Creates new requirements which requirements which must be met to meet must be met to meet expectationsexpectationsProject gets behind Project gets behind schedulescheduleWaterfall example Waterfall example shows how shows how development is development is affectedaffectedEvaluation of Alternative Evaluation of Alternative Life Cycle ModelsLife Cycle ModelsShortfall is a measure of how far the system at a given time t, is from meeting the Shortfall is a measure of how far the system at a given time t, is from meeting the actual requirements at time tactual requirements at time tLateness is a measure of the time that elapses between the appearance of a new Lateness is a measure of the time that elapses
View Full Document