Software process deals with the technical and management issues of developing software. It specifies the abstract set of activities that should be performed to go from user needs to the final product.
Software process follows the PDCA cycle.
PDCA Cycle
1) Plan(P): Device a plan. Define your objective and determine the strategy and supporting methods required to achieve that objective.
2) Do(D): Execute the plan. Create the conditions and perform the necessary training to execute the plan.
3) Check(C): Check the results to detemine whether work is progressing according to the plan and whether the results are obtained.
4) Act(A): Take the necessary action if work is not being performed according to plan or if results are not what was anticipated.
SDLC
The software development life cycle consists of the following phases.
- Requirements Analysis
- Design
- Development
- Testing
- Implementation
- Maintenance
Requirements Analysis
The main objective of the requirements analysis is to produce a document that properly specifies all requirements of the customer.The Software Requirements Specification(SRS) is the primary output of this phase. Proper requirements analysis and specification are critical for having a successful project.
Design Process
The development process is the process by which the user requirements are elicited and software satisfying these requirements is designed, built, tested and delivered to the customer.
High-Level Design(System Design)
High-Level Design is the phase of the life cycle when a logical view of the solution is developed. The participants in this phase are the design team, the review team and the customer. The entry criteria is that the SRS document has been reviewed and approved. The exit criteria is that the high-level documents have been reviewed and approved.
Low-Level Design(Detailed Design)
During the detailed design phase, the view of the application developed during the high-level design is broken down into modules and programs. The participants in this phase are the members of the design team. The entry criteria is that the high-level documents are reviewed and authorized. The input is the high-level design documents and the output is the functional specification document and unit test plans. The exit criteria is that the program specifications and unit test plans have been reviewed and authorized.
Development(Coding)
During the build-phase, the detailed design is used to produce the required programs in a programming language. This stage produces the source code and databases following the appropriate coding standards. The output of this phase is the subject of subsequent testing and validation. The participants are members of the team and the team leader. The entry criteria is that the program specifications are reviewed and authorized.
Testing
Unit Testing
The testing carried out in modules/programs immediately after design is unit testing. The exit criteria is that all test cases in the unit test plan are successfully executed.
Integration Testing
Integration is the systematic approach to build the complete software specified in the design from unit-tested modules.During this phase, tests are also conducted to find defects associated with interfacing. Integration is performed in the order specified in the integration plan and corresponding test case for each integration phase executed. The entry criteria is that the high-level design documents are reviewed and authorized. The exit criteria is that the integration plan and integration test plan have been reviewed and authorized.
System Testing
System testing is an activity to validate the software product against the requirements specification. This stage is intended to find defects that can be exposed only by testing the entire system. The entry criteria are that the SRS document are reviewed and authorized. It is often done in parallel with coding. The exit criteria is that the system test plans have been reviewed and authorized.
Acceptance & Installation(Implementation)
Acceptance and installation is the phase in the software life cycle in which a software product is integrated into its operational environment and tested in this environment to ensure that it performs as required. This phase includes getting the software accepted and installing the software at the customer site.
Acceptance Testing is the formal testing conducted by the customer according to the acceptance test plan prepared earlier and analysis of the test results to determine whether the system satisfies the acceptance criteria. When the results satisfy the acceptance criteria, the user accepts the software.Installation involves placing the accepted software in the actual producion environment.
The main inputs are the tested software and the acceptance criteria document. The exit criteria is that the customer signs off the acceptance letter, and the main output is the installed software.
STLC
The Software Testing Life Cycle consists of the following phases:
- Test Plan Preparation
- Test Case Design
- Test Execution & Test Log Preparation
- Defect Tracking
- Test Report Preparation
No comments:
Post a Comment