Q) Describe the important characteristics of a software process.
Q) Explain software process. Enumerate the activities common to all software processes. Also list the characteristics of software processes.
Ans) Software Process:- A software process is a set of activities, together with ordering constraints among them, such that if the activities are performed properly and in accordance with the ordering constraints, the desired result is produced. The desired result is high quality software at low cost.
There are four fundamental process activities which are common to all software processes. These activities are-
1) Software Specification
2) Software Development
3) Software Validation
4) Software Evolution
1) Software Specification:- The functionality of the software and constraints on its operation must be defined.
2) Software Development:- The software to meet the specification must be produced.
3) Software Validation:- The software must be validated to ensure that it does what the customer wants.
4) Software Evolution:- The software must evolve to meet changing customer needs.
Characteristics of Software Process:-
The main objective of process is same as that of software engineering, namely optimality and scalability. Optimality defines the process should be able to produce high quality software at low cost, while scalability means that it should also be applicable for large software projects. So, process should have some desirable characteristics to achieve the objectives, which are as follows-
1) Predictability
2) Testability and Maintainability
3) Early Defect Removal and Defect Prevention
4) Process improvement
1) Predictability:- Predictability can be considered as a fundamental property of any process. Predictability of a process determines how accurately the outcome of following process in a project can be predicted before the project is completed. If a process is not predictable, then it is of limited use.
A predictable process is under statistical also called as under statistical control. Statistical control implies the prediction for a process, which are generally based on the past performance of the process, are only probabilistic. A Predictable process is an essential requirement for ensuring good quality and low cost.
2) Testing and Maintainability:- One of the important objectives of the development project should be to produce software that is easy to maintain and the process should be such that it ensures this Maintainability.
The goal of the process should not be to reduce the effect of design and coding, but to reduce the cost of testing and maintenance. Both testing and maintenance depend heavily on the design and coding of software, and these costs can be considerably reduced if the software is designed and coding to make testing and maintenance easier.
3) Early Defect Removal and Defect Prevention:- In this section, the main moral is that, we should attempt to detect errors that occur in a phase during that phase itself and should not wait until testing to detect errors. In reality, sometimes testing is the sole point where errors are detected. Besides the cost factor, reliance on testing as the primary source for error detection, due to the limitations of testing, will also result in unreliable software. Error detection and correction should be a continuous process throughout the software.
4) Process Improvement:- The process is not a static entity. The fundamental goals of any engineering discipline are improving the quality and reducing the cost of products.
Comments
Post a Comment