Software Development Life Cycle (SDLC)

Overview:
Software Development Life Cycle (SDLC) : It is an iterative and incremental process.
Life Cycle of SDLC:
1. Initiation
Begins with a Sponser, identifies a need or an opportunity. Concept proposal is created.
2. System Concept development
Defines the scope or boundary of the concepts. Includes Systems Boundary Document, Cost Benefit Analysis, Risk Management Plan and Feasibility Study.
3. Planning
Develops a Project Management Plan and other Planning Documents. It provides basis for acquiring the resources needed to achieve a solution.
4. Requirement Analysis
Analyses user needs and deveops user requirements. Includes detailed Functional Requirement Document.
5. Design
Transforms detailed requirements into complete detailed systems design Document focuses on how to deliver the required functionality.
6. Development
Converts a design into a complete information system includes acquiring and installing systems environment; creating and testing databases preparing test case procedure; preparing test files, coding, compiling, refining programs, performing test readiness review and procurement activities.
7. Integration and Testing
Demonstrates that developed system conforms to requirements as specified in the Functional Requirements Documents. Conducted by Quality Assurance staff and users. Produces Test Analysis Reports.
8. Implementation
Includes implementation preparation, implementation of the system in to a production environment and resolution of problems identified in the integration and Test phases.
9. Operations and Maintenance
Describes Tasks to operate and maintain information systems in a production environment. Includes Post-Implementation and In-Process Reviews.
10. Disposition
Describes end-of-system activities, emphasis is given to proper preparation of Data.

Summary:
There are six phases in SDLC Process
1. Requirements
2. Design
3. Development
4. Testing
5. Deployment
6. Maintenance/Support
Explaination:
Requirement Phase:
Before the requirement phase Business Analyst (BA) proposes a documents to the shareholder/Business owners.
The Document consists of
1) 10 - 20% use cases
2) Business Modelling
3) Risk Analysis
4) Budget
When the Document is approved then BA moves to the next step
1. BRD (Business Required Document)
In BRD there are generally use cases.
2. FRD (Functional Required Document)
In FRD there are Functional and Features of the applications
3. SRS (System Required Specification)
In SRS contains the complete architecture. It contains about software and Hardware information.
Design Phase:
In this phase, Test plan document is prepared and consist of
1) Tools to be used
2) Methods and tools
3) Resources
4) Entry/Exit Criteria
5) Time Line
6) Naming Conventions
Entry Criteria consist of
i) Testing Tools
ii) Resources
iii) Test Case
iv) Environment
Development Phase:
In this phase developer develops and goes through white box testing, meanwhile lead prepares Test Strategy.
Test Strategy Document which consist of
1) Purpose
2) Objective
3) Scope
4) Type of Testing
5) Test Date
6) Risk Analysis
7) Sign off
Testing Phase:
In the Testing Phase, testing is done using the Test Case.
Test Case consist of
1. Test Case id
2. Objective
3. Steps to perform
4. Expected Result
5. Pass/Fail
6. Comments
7. Remarks

Software Testing Life Cycle (STLC)
Software Testing Life Cycle consists of six phases
1) Test Planning
2) Test Analysis
3) Test Design
4) Construction and Verification
5) Testing Cycles
6) Final Testing and Implementation
7) Post Implementation

Bug Life Cycle
1) Line Summary
2) Complete Description
3) Steps to perform
4) Reproducible Y/N
5) Version etc.,