Вы находитесь на странице: 1из 23

SDLC

Introduction to Software Development Life Cycle

What is Software Engineering?

Software
Computer

programs + related documentation + relevant configuration data of systematic, disciplined approach to find solutions to problems Concerned with all aspects of software development (Ian Sommerville)

Engineering
Application

Software Engineering
..

Initiation

Activities: Identify a business need or opportunity. Identify project sponsor Form a Project Team Review and Approval Sent for approval.

Deliverables: Concept Proposal

System concept development


Activities: Study and analyze the business need. Plan the project Study and analyze the risks of the system. Obtain Project Funding, Staff and Resources

Deliverables: System Boundary Document Cost Benefit Analysis. Feasibility Study. Risk Management Plan.

Planning
Activities: Analyze Project Schedule. Establish Agreements with Stakeholders. Develop the Project Management Plan.

Deliverables: Configuration Management Plan. Quality Assurance Plan. Concept of Operations. Project Management Plan.

Requirement Analysis
Activities: Analyze and Document Requirements to a level of detail sufficient for systems design to proceed Develop the Test Criteria and Plans. Conduct Functional Review.

Deliverables: Requirements Document Test and Evaluation Master Plan.

Design
Activities: Design the Application: software architecture, detailed design Design Conversion/Migratio n/Transition Strategies. Conduct Design Review

Deliverables: Conversion Plan. System Design Document.

Development
Activities: Translate the detailed specifications produced during the design phase, into hardware, communications, and executable software. Unit Test as per the Test plans created during the design phase.

Deliverables: Source code Unit Test Results

Integration and Test


Activities: Integrate and test various components of the system Systematic Integration test System test

Deliverables: Test Reports

Implementation

Implementation:
The

system or system modifications are installed and made operational in a production environment. The phase is initiated after the system has been tested and accepted by the user. This phase continues until the system is operating in production in accordance with the defined user requirements.

Operations and Maintenance


Operations
The

and Maintenance :

system is monitored for continued performance in accordance with user requirements, and needed system modifications are incorporated. The operational system is periodically assessed through In-Process Reviews to determine how the system can be made more efficient and effective. Operations continue as long as the system can be effectively adapted to respond to an organizations needs. When modifications or changes are identified as necessary, the system may reenter the

Documentation

Various documents created/revised/ referenced at different phases are described in the document:

Microsoft Word Document

Software Processes, Models


A software process is a set of activities and associated results to produce a software product. A software process model is a simplified description of a software process.

We shall quickly go through a few Process Models the next few slides

Waterfall Model
Problems:
This

assumes that all requirements are clearly defined right in the beginning. This is very difficult for most customers. The final delivery happens after the entire

Prototyping Model
This

model starts with gathering requirements, proceeds to a quick design focusing on aspects visible to the customer/user and then to development. The purpose is to identify / refine software requirements. Once this is served, the proto is thrown. Problems:
Since

the objective is to develop something quickly to satisfy the customer, quality of the deliverable is sacrificed. Sometimes it is difficult to convince the customer that the actual development is

RAD Model
Rapid Application Development Model High speed adaptation of Waterfall model Depends on Component based construction: heavy use of reusable components Problems:
Large

projects need a large pool of professionals to work in parallel Works for systems that can be modularized

Evolutionary Software Models


Based on the evolutionary nature of software Iterative Specification, development and validation carried out concurrently, with rapid feedback across activities.

Incremental Model

Incremental Model- evaluation


Merits: First increment is often a core product Delivery of operational product with each increment Particularly useful when you encounter a difficult business deadline: you can have fewer people to start with and add more, if necessary, to implement the next increment.

Spiral Model

Spiral Model - evaluation


Merits: Technical development and risk management integrated, hence risks are minimized. Can be adapted to apply throughout the life of the computer software Depends on risk assessment expertise for success: problems may occur if a major risk is not identified. Demerits: Not used widely: hence efficacy uncertain

Вам также может понравиться