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

Slides:



Advertisements
Similar presentations
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Advertisements

Computer Science Department
Lecture # 2 : Process Models
Software Process Models
1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
IS2210: Systems Analysis and Systems Design and Change
CSE 470 : Software Engineering The Software Process.
CSC 480 Software Engineering
What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Chapter 2 – Software Processes
Chapter 2 The Analyst As Project Manager In Managing Information Systems 2.3.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Chapter 14 Network Design and Implementation. 2 Network Analysis and Design Aspects of network analysis and design Understanding the requirements for.
Project Management.
CS 5150 Software Engineering
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Lecture 13 Revision IMS Systems Analysis and Design.
Software Project Transition Planning
What is a project? Project Management Institute definition
CS 501: Software Engineering
SE 555 Software Requirements & Specification Requirements Validation.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Software Life Cycle Model
Web Development Process Description
S/W Project Management
1 Advanced Computer Programming Project Management: Software Life Cycle Copyright © Texas Education Agency, 2013.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 CMPT 275 Software Engineering Software life cycle.
Chapter 2 The process Process, Methods, and Tools
THE PROTOTYPING MODEL The prototyping model begins with requirements gathering. Developer and customer meet and define the overall objectives for the software.
Software Project Management Introduction to Project Management.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Installation and Maintenance of Health IT Systems
MCS 270 Spring 2014 Object-Oriented Software Development.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Gathering Network Requirements Designing and Supporting Computer Networks – Chapter.
Software Engineering Management Lecture 1 The Software Process.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Software Requirements Engineering: What, Why, Who, When, and How
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Systems Analysis and Design in a Changing World, Fourth Edition
Developed by Reneta Barneva, SUNY Fredonia The Process.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Information Systems System Analysis 421 Chapter 3 Managing the Information Systems Project.
Software Engineering Lecture # 1.
SWE 513: Software Engineering
Software Project Management Iterative Model & Spiral Model.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Chapter 2 Managing the Information Systems Project 2.1.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
PI2134 Software Engineering IT Telkom.  Layered technology  Software Process  Generic Process (by Pressman)  Fundamental activities (by Sommerville)
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Team-Based Development ISYS321 Managing the Information Systems Project.
Introduction to Systems Analysis and Design
Software Engineering Management
Exam 0 review CS 360 Lecture 8.
Testing More In CS430.
Software Development Life Cycle (SDLC)
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Chapter 1 (pages 4-9); Overview of SDLC
Lesson 1 Understanding Software Quality Assurance
Baisc Of Software Testing
Software Engineering I
Presentation transcript:

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

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

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.

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

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.

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.

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

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.

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.

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.

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.

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

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)

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

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.

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.

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

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

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

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.

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

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