Software Development Life Cycle (SDLC).ppt

上传人:仙人指路1688 文档编号:2206552 上传时间:2023-01-30 格式:PPT 页数:77 大小:1.73MB
返回 下载 相关 举报
Software Development Life Cycle (SDLC).ppt_第1页
第1页 / 共77页
Software Development Life Cycle (SDLC).ppt_第2页
第2页 / 共77页
Software Development Life Cycle (SDLC).ppt_第3页
第3页 / 共77页
Software Development Life Cycle (SDLC).ppt_第4页
第4页 / 共77页
Software Development Life Cycle (SDLC).ppt_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《Software Development Life Cycle (SDLC).ppt》由会员分享,可在线阅读,更多相关《Software Development Life Cycle (SDLC).ppt(77页珍藏版)》请在三一办公上搜索。

1、Software Development Life Cycle(SDLC),“Youve got to be very careful if you dont know where youre going,because you might not get there.”Yogi Berra,Capability Maturity Model(CMM),A bench-mark for measuring the maturity of an organizations software processCMM defines 5 levels of process maturity based

2、 on certain Key Process Areas(KPA),CMM Levels,Level 5 Optimizing(1%)-process change management-technology change management-defect preventionLevel 4 Managed(5%)-software quality management-quantitative process managementLevel 3 Defined(10%)-peer reviews-intergroup coordination-software product engin

3、eering-integrated software management-training program-organization process definition-organization process focus,Level 2 Repeatable(15%)-software configuration management-software quality assurance-software project tracking and oversight-software project planning-requirements managementLevel 1 Init

4、ial(70%),SDLC Model,A framework that describes the activities performed at each stage of a software development project.,Waterfall Model,Requirements defines needed information,function,behavior,performance and interfaces.Design data structures,software architecture,interface representations,algorit

5、hmic details.Implementation source code,database,user documentation,testing.,Waterfall Strengths,Easy to understand,easy to useProvides structure to inexperienced staffMilestones are well understoodSets requirements stabilityGood for management control(plan,staff,track)Works well when quality is mor

6、e important than cost or schedule,Waterfall Deficiencies,All requirements must be known upfrontDeliverables created for each phase are considered frozen inhibits flexibilityCan give a false impression of progressDoes not reflect problem-solving nature of software development iterations of phasesInte

7、gration is one big bang at the endLittle opportunity for customer to preview the system(until it may be too late),When to use the Waterfall Model,Requirements are very well knownProduct definition is stableTechnology is understoodNew version of an existing productPorting an existing product to a new

8、 platform.High risk for new systems because of specification and design problems.Low risk for well-understood developments using familiar technology.,V-Shaped SDLC Model,A variant of the Waterfall that emphasizes the verification and validation of the product.Testing of the product is planned in par

9、allel with a corresponding phase of development,V-Shaped Steps,Project and Requirements Planning allocate resourcesProduct Requirements and Specification Analysis complete specification of the software systemArchitecture or High-Level Design defines how software functions fulfill the designDetailed

10、Design develop algorithms for each architectural component,Production,operation and maintenance provide for enhancement and correctionsSystem and acceptance testing check the entire software system in its environmentIntegration and Testing check that modules interconnect correctlyUnit testing check

11、that each module acts as expected Coding transform algorithms into software,V-Shaped Strengths,Emphasize planning for verification and validation of the product in early stages of product developmentEach deliverable must be testableProject management can track progress by milestonesEasy to use,V-Sha

12、ped Weaknesses,Does not easily handle concurrent eventsDoes not handle iterations or phasesDoes not easily handle dynamic changes in requirementsDoes not contain risk analysis activities,When to use the V-Shaped Model,Excellent choice for systems requiring high reliability hospital patient control a

13、pplicationsAll requirements are known up-frontWhen it can be modified to handle changing requirements beyond analysis phase Solution and technology are known,Protoyping:Basic Steps,Identify basic requirementsIncluding input and output infoDetails(e.g.,security)generally ignoredDevelop initial protot

14、ypeUI firstReviewCustomers/end users review and give feedbackRevise and enhance the prototype&specsNegotiation about scope of contract may be necessary,Dimensions of prototyping,Horizontal prototypeBroad view of entire system/sub-systemFocus is on user interaction more than low-level system function

15、ality(e.g.,databsae access)Useful for:Confirmation of UI requirements and system scopeDemonstration version of the system to obtain buy-in from business/customersDevelop preliminary estimates of development time,cost,effort,Dimensions of Prototyping,Vertical prototypeMore complete elaboration of a s

16、ingle sub-system or functionUseful for:Obtaining detailed requirements for a given functionRefining database designObtaining info on system interface needsClarifying complex requirements by drilling down to actual system functionality,Types of prototyping,Throwaway/rapid/close-ended prototypingCreat

17、ion of a model that will be discarded rather than becoming part of the final delivered softwareAfter preliminary requirements gathering,used to visually show the users what their requirements may look like when implementedFocus is on quickly developing the model not on good programming practicesCan

18、Wizard of Oz things,Fidelity of Protype,Low-fidelityPaper/pencilMimics the functionality,but does not look like it,Fidelity of Protype,Medium to High-fidelityGUI builder“Click dummy”prototype looks like the system,but does not provide the functionalityOr provide functionality,but have it be general

19、and not linked to specific datahttp:/,Throwaway Prototyping steps,Write preliminary requirementsDesign the prototypeUser experiences/uses the prototype,specifies new requirementsRepeat if necessaryWrite the final requirementsDevelop the real products,Evolutionary Prototyping,Aka breadboard prototypi

20、ngGoal is to build a very robust prototype in a structured manner and constantly refine itThe evolutionary prototype forms the heart of the new system and is added to and refinedAllow the development team to add features or make changes that were not conceived in the initial requirements,Evolutionar

21、y Prototyping Model,Developers build a prototype during the requirements phasePrototype is evaluated by end usersUsers give corrective feedback Developers further refine the prototypeWhen the user is satisfied,the prototype code is brought up to the standards needed for a final product.,EP Steps,A p

22、reliminary project plan is developedAn partial high-level paper model is createdThe model is source for a partial requirements specificationA prototype is built with basic and critical attributesThe designer builds the database user interface algorithmic functionsThe designer demonstrates the protot

23、ype,the user evaluates for problems and suggests improvements.This loop continues until the user is satisfied,EP Strengths,Customers can“see”the system requirements as they are being gatheredDevelopers learn from customers A more accurate end productUnexpected requirements accommodatedAllows for fle

24、xible design and developmentSteady,visible signs of progress producedInteraction with the prototype stimulates awareness of additional needed functionality,Incremental prototyping,Final product built as separate prototypesAt the end,the prototypes are merged into a final design,Extreme Prototyping,O

25、ften used for web applicationsDevelopment broken down into 3 phases,each based on the preceding 1Static prototype consisting of HTML pagesScreen are programmed and fully functional using a simulated services layerFully functional UI is developed with little regard to the services,other than their co

26、ntractServices are implemented,Prototyping advantages,Reduced time and costCan improve the quality of requirements and specifications provided to developersEarly determination of what the user really wants can result in faster and less expensive softwareImproved/increased user involvementUser can se

27、e and interact with the prototype,allowing them to provide better/more complete feedback and specsMisunderstandings/miscommunications revealedFinal product more likely to satisfy their desired look/feel/performance,Disadvantages of prototyping 1,Insufficient analysisFocus on limited prototype can di

28、stract developers from analyzing complete projectMay overlook better solutionsConversion of limited prototypes into poorly engineered final projects that are hard to maintainLimited functionality may not scale well if used as the basis of a final deliverableMay not be noticed if developers too focus

29、ed on building prototype as a model,Disadvantages of prototyping 2,User confusion of prototype and finished systemUsers can think that a prototype(intended to be thrown away)is actually a final system that needs to be polishedUnaware of the scope of programming needed to give prototype robust functi

30、onalityUsers can become attached to features included in prototype for consideration and then removed from final specification,Disadvantages of prototyping 3,Developer attachment to prototypeIf spend a great deal of time/effort to produce,may become attachedMight try to attempt to convert a limited

31、prototype into a final systemBad if the prototype does not have an appropriate underlying architecture,Disadvantages of prototyping 4,Excessive development time of the prototypePrototyping supposed to be done quicklyIf developers lose sight of this,can try to build a prototype that is too complexFor

32、 throw away prototypes,the benefits realized from the prototype(precise requirements)may not offset the time spent in developing the prototype expected productivity reducedUsers can be stuck in debates over prototype details and hold up development process,Disadvantages of prototyping 5,Expense of i

33、mplementing prototypingStart up costs of prototyping may be highExpensive to change development methodologies in place(re-training,re-tooling)Slow development if proper training not in placeHigh expectations for productivity unrealistic if insufficient recognition of the learning curveLower producti

34、vity can result if overlook the need to develop corporate and project specific underlying structure to support the technology,Best uses of prototyping,Most beneficial for systems that will have many interactions with end usersThe greater the interaction between the computer and the user,the greater

35、the benefit of building a quick system for the user to play withEspecially good for designing good human-computer interfaces,Spiral SDLC Model,Adds risk analysis,and 4gl RAD prototyping to the waterfall modelEach cycle involves the same sequence of steps as the waterfall process model,Spiral Quadran

36、t:Determine objectives,alternatives and constraints,Objectives:functionality,performance,hardware/software interface,critical success factors,etc.Alternatives:build,reuse,buy,sub-contract,etc.Constraints:cost,schedule,interface,etc.,Spiral Quadrant:Evaluate alternatives,identify and resolve risks,St

37、udy alternatives relative to objectives and constraintsIdentify risks(lack of experience,new technology,tight schedules,poor process,etc.Resolve risks(evaluate if money could be lost by continuing system development,Spiral Quadrant:Develop next-level product,Typical activites:Create a designReview d

38、esignDevelop codeInspect codeTest product,Spiral Quadrant:Plan next phase,Typical activitiesDevelop project planDevelop configuration management planDevelop a test planDevelop an installation plan,Spiral Model Strengths,Provides early indication of insurmountable risks,without much costUsers see the

39、 system early because of rapid prototyping toolsCritical high-risk functions are developed firstThe design does not have to be perfect Users can be closely tied to all lifecycle stepsEarly and frequent feedback from usersCumulative costs assessed frequently,Spiral Model Weaknesses,Time spent for eva

40、luating risks too large for small or low-risk projectsTime spent planning,resetting objectives,doing risk analysis and prototyping may be excessiveThe model is complex Risk assessment expertise is requiredSpiral may continue indefinitelyDevelopers must be reassigned during non-development phase acti

41、vitiesMay be hard to define objective,verifiable milestones that indicate readiness to proceed through the next iteration,When to use Spiral Model,When creation of a prototype is appropriateWhen costs and risk evaluation is importantFor medium to high-risk projectsLong-term project commitment unwise

42、 because of potential changes to economic prioritiesUsers are unsure of their needsRequirements are complexNew product line Significant changes are expected(research and exploration),Role Playing Game for SEs,http:/,Housekeeping,Individual Assignment:Post mortem+peer reviewFinal presentations/demosJ

43、uly 26/28-25 minutes per8 minute presentation10 minute demo7 minutes questionsCourse evaluations this Thursday(4:05 pm),The Rise and Fall of Waterfall,http:/bad language at 3:50!(hands over ears if easily offended!),Agile software development life cycles,Agile SDLCs,Speed up or bypass one or more li

44、fe cycle phases Usually less formal and reduced scopeUsed for time-critical applicationsUsed in organizations that employ disciplined methods,Some Agile Methods,Rapid Application Development(RAD)Incremental SDLCScrum Extreme Programming(XP)Adaptive Software Development(ASD)Feature Driven Development

45、(FDD)Crystal Clear Dynamic Software Development Method(DSDM)Rational Unify Process(RUP),Agile vs Waterfall Propaganda,http:/,Rapid application development(RAD)Model,Rapid Application Model(RAD),Requirements planning phase(a workshop utilizing structured discussion of business problems)User descripti

46、on phase automated tools capture information from usersConstruction phase productivity tools,such as code generators,screen generators,etc.inside a time-box.(“Do until done”)Cutover phase-installation of the system,user acceptance testing and user training,Requirements Planning Phase,Combines elemen

47、ts of the system planning and systems analysis phases of the System Development Life Cycle(SDLC).Users,managers,and IT staff members discuss and agree on business needs,project scope,constraints,and system requirements.It ends when the team agrees on the key issues and obtains management authorizati

48、on to continue.,User Design Phase,Users interact with systems analysts and develop models and prototypes that represent all system processes,inputs,and outputs.Typically use a combination of Joint Application Development(JAD)techniques and CASE tools to translate user needs into working models.A con

49、tinuous interactive process that allows users to understand,modify,and eventually approve a working model of the system that meets their needs.,JAD Techniques,http:/en.wikipedia.org/wiki/Joint_application_designCASE Toolshttp:/en.wikipedia.org/wiki/Computer-aided_software_engineering,Construction Ph

50、ase,Focuses on program and application development task similar to the SDLC.However,users continue to participate and can still suggest changes or improvements as actual screens or reports are developed.Its tasks are programming and application development,coding,unit-integration,and system testing.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号