Software Development Life Cycle SDLC Software management project

  • Slides: 20
Download presentation
Software Development Life Cycle (SDLC) Software management project

Software Development Life Cycle (SDLC) Software management project

SDLC overview n q SDLC, Software Development Life Cycle is a process used by

SDLC overview n q SDLC, Software Development Life Cycle is a process used by software industry to design, develop and test high quality software's. The SDLC aims to produce a high quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates. SDLC is the acronym of Software Development Life Cycle. It is also called as Software development process. The software development life cycle (SDLC) is a framework defining tasks performed at each step in the software development process. ISO/IEC 12207 is an international standard for software life-cycle processes. It aims to be the standard that defines all the tasks required for developing and maintaining software.

What is SDLC? SDLC is a process followed for a software project, within a

What is SDLC? SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall development process.

SDLC Phases Preliminary Investigation System Analysis System Operation & Maintenance System Implementation n System

SDLC Phases Preliminary Investigation System Analysis System Operation & Maintenance System Implementation n System Design System Development

Phases of the System Development Life Cycle n n n Preliminary Investigation n Assesses

Phases of the System Development Life Cycle n n n Preliminary Investigation n Assesses feasibility and practicality of system System Analysis n Study old system and identify new requirements n Defines system from user's view System Design new/alternative system n Defines system from technical view

Six Phases of the System Development Life Cycle n System Development n n System

Six Phases of the System Development Life Cycle n System Development n n System Implementation n n New hardware and software is acquired, developed, and tested System installation and training System Operation & Maintenance n Daily operation n Periodic evaluation and updating

Phase 1: Preliminary Investigation n Determine if a new system is needed n Three

Phase 1: Preliminary Investigation n Determine if a new system is needed n Three primary tasks: n Define the problem n By observation and interview, determine what information is needed by whom, when, where and why n Suggest alternative solutions n Prepare a short report

Phase 2: System Analysis n In depth study of the existing system to determine

Phase 2: System Analysis n In depth study of the existing system to determine what the new system should do. n n Expand on data gathered in Phase 1 In addition to observation and interviews, examine: n n Formal lines of authority (org chart) Standard operating procedures How information flows Reasons for any in efficiencies

Phase 2: System Analysis Tools Used n n Checklists - list of questions Top-down

Phase 2: System Analysis Tools Used n n Checklists - list of questions Top-down analysis - start with top level components, break down into smaller parts through each successive level Grid charts - to show relationship between inputs and outputs System flowcharts - charts flow of input data, processing, and output which show system elements and interactions

Phase 2: System Analysis Documentation Produced n n n Complete description of current system

Phase 2: System Analysis Documentation Produced n n n Complete description of current system and its problems Requirements for new system including: n Subject n Scope n Objectives n Benefits Possible development schedule

Phase 3: System Design n n Uses specifications from the systems analysis to design

Phase 3: System Design n n Uses specifications from the systems analysis to design alternative systems Evaluate alternatives based upon: n n n Economic feasibility - Do benefits justify costs? Technical feasibility - Is reliable technology and training available? Operational feasibility - Will the managers and users support it?

Phase 3: System Design Tools Used n n Computer-Aided Software Engineering (CASE) tools are

Phase 3: System Design Tools Used n n Computer-Aided Software Engineering (CASE) tools are software-based products designed to help automate the production of information systems. Examples: n n n Diagramming Tools Data Repositories Prototyping Tools Test Data Generators Documentation Tools Project Management Tools

Phase 3: System Design Documentation Produced n System Design Report n Describe Alternatives including:

Phase 3: System Design Documentation Produced n System Design Report n Describe Alternatives including: n n Inputs/Outputs Processing Storage and Backup Recommend Top Alternative based upon: n n n System Fit into the Organization Flexibility for the future Costs vs. benefits

Phase 4: System Development n Build the system to the design specifications n Develop

Phase 4: System Development n Build the system to the design specifications n Develop the software n n Acquire the hardware Test the new system n n n Purchase off-the-shelf software OR Write custom software Module (unit) test - tests each part of system Integration testing - tests system as one unit Create manuals for users and operators

Phase 5: System Implementation n Convert from old system to new system n Train

Phase 5: System Implementation n Convert from old system to new system n Train users n Compile final documentation n Evaluate the new system

Phase 5: System Implementation Types of Conversion n n Direct/plunge/crash approach – entire new

Phase 5: System Implementation Types of Conversion n n Direct/plunge/crash approach – entire new system completely replaces entire old system, in one step Parallel approach - both systems are operated side by side until the new system proves itself Pilot approach - launched new system for only one group within the business -- once new system is operating smoothly, implementation goes companywide Phased/incremental approach - individual parts of new system are gradually phased-in over time, using either crash or parallel for each piece.

Phase 5: System Implementation n User Training n n Ease into system, make them

Phase 5: System Implementation n User Training n n Ease into system, make them comfortable, and gain their support Most commonly overlooked Can be commenced before equipment delivery Outside trainers sometimes used

Phase 6: Operations & Maintenance n Types of changes: n Physical repair of the

Phase 6: Operations & Maintenance n Types of changes: n Physical repair of the system n Correction of new bugs found (corrective) n System adjustments to environmental changes n Adjustments for users’ changing needs (adaptive) n Changes to user better techniques when they become available (perfective)

Phase 6: Operations & Maintenance n Evaluation Methods n n Systems audit - performance

Phase 6: Operations & Maintenance n Evaluation Methods n n Systems audit - performance compared to original specifications Periodic evaluation - “checkups” from time to time, modifications if necessary

Deliverables of the SDLC Approved Feasibility Study Preliminary Investigation System Analysis System Design Problem

Deliverables of the SDLC Approved Feasibility Study Preliminary Investigation System Analysis System Design Problem Specifications Design Specifications System Development Begin building new system Abort Project Goto next phase Goto Previous phase Coded and Tested System Implementation System converted Users trained System Maintenance Operational System Documentation completed