Click here to load reader

System Development Life Cycle

Embed Size (px)

Citation preview

  • 1. Software Development LifeCycle(SDLC)

2. INTRODUCTION: A Software Development Life Cycle (SDLC) isany logical process used by a systems analyst todevelop an information system, includingrequirements, validation, training, and user(stakeholder) ownership A framework that describes the activitiesperformed at each stage of a softwaredevelopment project.S.K.Ahsan 3. WHY DO WE NEED SDLC? SDLC has made the development of softwaremore easy than earlier. Because software can be very difficult andcomplex. SDLC works as a framework to guidethe development to make it more systematic andefficient. By SDLC we will be able to tell how long it willtake to complete the project, to test and deploy.S.K.Ahsan 4. SDLC Characteristics: Disciplined approach Systems approach Iterative (not sequential) CyclicalS.K.Ahsan 5. SDLC PHASESS.K.Ahsan 6. SDLCPHASESS.K.Ahsan 7. SDLCPHASES Initialization Planning Requirement Analysis Design Development Integration and testing implementation Deployment MaintenanceS.K.Ahsan 8. Initiation & feasibility:Project objectives & ScopePreliminary survey & feasibilityTechnicalEconomicOperationalProject proposal and scheduleIdentify assumptions &constraintsS.K.Ahsan 9. Initiation & feasibility:S.K.Ahsan 10. Planning: Develops a project management plan and otherplanning documents. Provides the basis for acquiring the resourcesneeded to achieve a solution.S.K.Ahsan 11. Requirement Analysis: defines needed information, function,behavior, performance and interfaces. Analyses user needs and develops userrequirements Create a detailed functional requirementsdocument. Refines project goals into defined functions andoperation of the intended application. Analyzes end-userinformation needs.S.K.Ahsan 12. Design: data structures, software architecture,interface representations, algorithmicdetails. Transform detailed requirement intocomplete, detailed systems designdocument focuses on how to deliver therequired functionality. System design Describes desired features andoperations in detail, including screen layouts,business rules, process diagrams, pseudo codeand other documentation.S.K.Ahsan 13. Development: Implementation is the part of the process wheresoftware engineers actually program the code forthe project. Converts a design into a complete informationsystem includes acquiring and installing systemsenvironment; creating and testing databasespreparing test case procedures ;preparing testfiles, coding compiling, refining programs.S.K.Ahsan 14. Integration and testing: Brings all the pieces together into a specialtesting environment, then checks for errors, bugsand interoperability. Software testing is an integral and important partof the software development process. This part ofthe process ensures that bugs are recognized asearly as possible. Documenting the internal design of software forthe purpose of future maintenance andenhancement is done throughout development.S.K.Ahsan 15. Implementation: source code, database, user documentation,testing. Implementation of the system in the realenvironment Resolution of the problem in the integration andthe test phaseS.K.Ahsan 16. S.K.Ahsan 17. Deployment: The final stage of initial development, where thesoftware is put into production and runs actualbusiness. Deployment starts after the code is appropriatelytested, is approved for release and sold orotherwise distributed into a productionenvironment.S.K.Ahsan 18. Maintenance1- Corrective maintenance - To fix errors2 -Adaptive maintenance - To add newcapability and enhancements3- Perfective maintenance - To improveefficiencyS.K.Ahsan 19. SDLC Advantages: Focus on goals Controls: milestones, checklist,accountability Tools, models, CASE Hierarchical decomposition Designed for user & managerinvolvementS.K.Ahsan 20. SDLC - Reasons for Failure: Scope too broad or too narrow Lack of needed skills Incomplete specifications No control/no framework Lack of management/user involvement Too time-consumingS.K.Ahsan 21. SDLC models: To over come the problems following modelswere introduced:1. Waterfall models.2. Spiral models.3. Iterative models.4. JDA ( Joint Development Application )5. RDA ( Rapid Development Application )S.K.Ahsan