#2 Software Development Life Cycle


 Purpose: "Understand standard life cycles and QA in
development process models"

Part 1: SDLC Model



Flowchart
1. Characteristics of stages
 A stage has its own objectives and work products
generated by internal processes of the stage.
 A stage may have one or more iterations depending
on the complexity of the stage.
 Stages may be combined to one depending on the
complexity of project.
2. Quality Gate
To be performed by QA to determine:
 If the objectives of the stage have been met.
 If the mandatory work products have satisfied the

requirements.
Initiation State

1. Overview
 The Initiation stage is the start of the SLC.
 The main activities:
 Establish project's software scope and boundary conditions
 Estimate overall cost and schedule of the project
 Build the project team
 Draft a project plan
 Define potential risks
 Providing all necessary resources/tools/supports required to carry out the project
 Opening Decision: Decision for PM, actual Start date of the project
2. Outputs
 User Requirement Document
 Proposal

Definition State

1. Overview
 The main purpose of this stage is to understand customer requirements.
 The main activities:
 Study and clarify user requirements
 Negotiate Acceptance Criteria with customer
 Update and release complete project plan
 Create Test Plan
2. Outputs
 Project plan
 Test plan

 Prototype

Solution State

1. Overview
 The main purpose of this stage is to define an effective solution to meet
customer requirements.
 The main activities:
 Create HLD
 Create DDD
 Create test case and test data
2. Outputs
 Architecture Design Document
 Detailed design document

 Test case and test data

Construction State

1. Overview
 The goal of this stage is to develop the system.
 The main activities:
 Coding
 Testing
2. Outputs
 Software package
 Test report
 Defect report
 Installation guide

 User manual

Transition State

1. Overview
 The focus of this stage is to ensure that software is available for its end users.
 The main activities:
 Deliver software to customer
 Support UAT
2. Outputs
 Project report
 Test report

 Acceptance report

Termination State

1. Overview
 The goal of this stage is to summarize the results of the project and to provide
the project knowledge and experiences for other projects.
 The main activities:
 Get customer acceptance of the whole project.
 Postmortem project
 Project assets must be collected and transferred to company
2. Outputs
 Customer Satisfaction Survey
 Project Report

 Acceptance Note

Part2: SMLC Model



Flowchart
Initiation State

1. Overview
 The Initiation stage is the start of the SLC.
 The main activities are:
 Establish project's software scope and boundary conditions
 Estimate overall cost and schedule of the project
 Build the project team
 Draft a project plan
 Define potential risks
 Providing all necessary resources/tools/supports required to carry out the project
2. Outputs
 Work order
 Project plan

 Customer Requirement

Help Desk

1. Overview
 The main activities are:
 Receive customer requirements in a request form such as problem report or change
request,
 Perform primary evaluation of the request and responding to customer.
2. Outputs

 Customer requests (CRs)

Bug Fixing

1. Overview
 The main purpose of this workflow is to correct customer submitted defects of
the maintained system.
 The main activities are:
 Analyze submitted defects, coding and testing.
 Regression test
2. Outputs
 Test case and Test Data
 Software package
 Test Report
 Installation Manual (optional)

 User Manual (optional)

Enhancement workflow

1. Overview
 The goal of this workflow is to enhance the system like a small or shorted
development project with the input being change requirements defined from
change requests .
 The main activities are
 Analyze, refine design
 Coding and testing for the updated software package
2. Outputs
 Requirement documents
 Design documents
 Test plan, test case

 Software package

Release sub-stage

1. Overview
 The focus of this sub-stage is to ensure that updated software is available for
its end users.
 The main activities are:
 Deliver the updated software to customer
 Implement the updated software systems on customer site and conduct test activities
for release acceptance.
Normally there are two kind of release: Emergency and Periodical which is mandatory.
2. Outputs
 Software package
 Release note

 Project Report.

Transition stage

1. Overview
 The focus of this stage is to ensure that the updated software of all releases is
available for it end users.
 The main activities are:
 Conduct the regression test
 Deliver the final updated software (Final release) to customer, implement the final
updated software systems on customer site and conduct test activities for final
acceptance .
2. Work products
 Software package
 Project documents
 Release note

 Project report

Termination stage

1. Overview
 The goal of this stage is to summarize the results of the project and to provide the project
knowledge and experiences for other projects.
 The project closes at this stage when customer accepts the whole project. Project assets
must be collected and transferred to company library.
2. Work products
 Customer Satisfaction Survey
 Project Report

 Acceptance Note

Part 3: Development Process Models

 Process models:
 Waterfall development process
 Iterative development process
 Spiral development process
 Agile development processes
 Mixed/synthesized/customized processes

 QA important in all processes

Waterfall development process



Iterative development process


Spiral development process


Agile development process

 Emphasize face-to-face communication over written
documents
 Release = Sprint
 Short tasks

 Write test scripts before code

Part 4: QA in Development Process

 QA in Waterfall model

QA in other software processes

 Iterative: QA in iterations/increments; IT
 Spiral: QA and risk management
 Agile: testing and inspection
 Mixed/synthesized: case specific
 Maintenance process:
 Focus on defect handling
 Defect containment activities play an important role in post-release
product operations and maintenance support
 Data for future QA activities improvement

=> QA scattered throughout all processes.


translate

Hôm nay đọc gì

Lưu trữ

view

view