Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.

Similar presentations


Presentation on theme: "Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance."— Presentation transcript:

1 Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.

2 Software Life Cycle Main steps 1. Determining feasibility 2. Gathering requirements 3. Designing the software 4. Implementing the software 5. Testing and Software Quality Assurance (SQA) 6. Installation 7. Maintenance

3 Steps in the Software Life Cycle Determining feasibility – Is the proposed project worthwhile? This is the most important step in the software life cycle. This is the most important step in the software life cycle. Many software projects have been implemented that are not worthwhile. Many software projects have been implemented that are not worthwhile.

4 Steps in the Software Life Cycle Doing market analysis – determining if there is a potential market for the product. Is the proposed project worthwhile? This is the most important step in the software life cycle Many large software projects have been implemented that are not worthwhile software projects software projects

5 Feasibility Study What should go into a good feasibility study? What should go into a good feasibility study? 1. A statement of the task to be undertaken. 2. A domain analysis 3. A preliminary requirements analysis.

6 Feasibility Study 4. Suggested deliverables. 5. Process to be followed, e.g., modified waterfall model, iterative refinement, prototype, phased development, etc. 6. Outline plan, showing principal activities and milestones.

7 Feasibility Study 7. Visibility plan. How will you keep in contact with the client and report progress?How will you keep in contact with the client and report progress? How will you communicate among your team?How will you communicate among your team? 8. Risk analysis. What can go wrong? What is your fallback plan? 9. Probable technical requirements

8 Steps in the Software Life Cycle Determining requirements – What functionality should the software have? This involves: Obtaining requirements from the users (or potential users) is called requirement elicitation. Obtaining requirements from the users (or potential users) is called requirement elicitation. Determining the tasks common to the problem is called domain analysis. Determining the tasks common to the problem is called domain analysis.

9 Steps in the Software Life Cycle Prototyping – creating a rough model of the proposed system. Requirements can be agreed upon using a non-functional user interface. This is part of both the requirements gathering phase AND the design phase. Requirements can be agreed upon using a non-functional user interface. This is part of both the requirements gathering phase AND the design phase.

10 Steps in the Software Life Cycle Users provide a document called statement of work that is a preliminary specification of the capabilities of the software. Users provide a document called statement of work that is a preliminary specification of the capabilities of the software.

11 Steps in the Software Life Cycle The software provider creates a software requirements specification document, which describes what the software will do. This document typically includes: Object Models – a model showing the main objects/classes, their properties, methods and their associated relationships. Use case scenarios – Show a sequence of possible behaviors from the users viewpoint.

12 Steps in the Software Life Cycle Project Planning – determining how to develop the software. Determining who does what (work breakdown structure) when (scheduling). Determining who does what (work breakdown structure) when (scheduling). Cost analysis – determining the cost of development and which requirements might be too costly Cost analysis – determining the cost of development and which requirements might be too costly

13 Steps in the Software Life Cycle (Project Planning) Scheduling – building a schedule for development. A document called the “project schedule” is produced. Scheduling – building a schedule for development. A document called the “project schedule” is produced. Software quality assurance (Software quality assurance plan document) Software quality assurance (Software quality assurance plan document)

14 Steps in the Software Life Cycle Design – determining how the software will provide functionality Architectural Design – determining the structure of the system (like a blueprint) Architectural Design – determining the structure of the system (like a blueprint) Interface Design – specifying the interfaces between parts of the system Interface Design – specifying the interfaces between parts of the system

15 Steps in the Software Life Cycle (Design) Detailed design – designing the methods or low level objects to be used in the parts. A document is produced at this step. Detailed design – designing the methods or low level objects to be used in the parts. A document is produced at this step.

16 Steps in the Software Life Cycle Implementation – building the software. When a pre-defined portion of the software is complete, a milestone is reached. When a pre-defined portion of the software is complete, a milestone is reached.

17 Steps in the Software Life Cycle Testing Unit Testing – Testing by the original developer (should be done during and after implementation) Unit Testing – Testing by the original developer (should be done during and after implementation) Integration Testing – Testing during the integration of the software Integration Testing – Testing during the integration of the software

18 Steps in the Software Life Cycle (Testing) System testing – testing the software in an environment that matches the operational environment System testing – testing the software in an environment that matches the operational environment Alpha testing – testing by the customer at the developers site Alpha testing – testing by the customer at the developers site Beta testing – testing by the customer at the customers site Beta testing – testing by the customer at the customers site

19 Steps in the Software Life Cycle (Testing) Acceptance testing – testing to satisfy the purchaser Acceptance testing – testing to satisfy the purchaser Regression testing – saving the tests from the previous version to ensure that the new version retains the previous capabilities Regression testing – saving the tests from the previous version to ensure that the new version retains the previous capabilities

20 Steps in the Software Life Cycle (Testing) When testing is complete, a test report document is generated. As a result of alpha and beta testing, the customer generates a defect report.

21 Steps in the Software Life Cycle Delivery – providing the software to the purchaser Installation – making the software operational at the purchasers site Installation – making the software operational at the purchasers site Training – teaching the user to use the software Training – teaching the user to use the software Help desk – answering the users questions Help desk – answering the users questions

22 Steps in the Software Life Cycle Maintainance Fixing errors Fixing errors Adding new features Adding new features Removing obsolete features Removing obsolete features


Download ppt "Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance."

Similar presentations


Ads by Google