What is Software Process?
What is Software?
A software is a type of computer programs that contains associated documents as well as configuration data that helps the programs to operate properly.
A program is also a set of instructions (written in human-readable code) and it performs only one specific task.
There are mainly four activities in any software process.
Let us know about the four activities of Software Process
Software Specification: It defines the main functionalities of the software and the constraints around them. In this, customers and engineers collect and analyze the feature, workflow, operational constraints or limitations of a final software product.
This part is very common in all software processes, whether it is big or small or how complex it is.
Software Design and Implementation: Software is designed and programmed. After doing all the specifications, the goal of the software products is now fixed, engineers now have to develop the software in which they have to implement all the artworks, audio and visual elements needed along with coding as well in that software product. .
Software Verification and Validation: Software should work according to its specification and it should also fulfill the needs of the customers.
Software product has to be checked first for mejuda bugs, incomplete for unavailable features etc. However, software validation can be done in small software after software development, and can also be done multiple times (milestones) if required during the software development phase.
Software Evolution (or software maintenance): In this the software is modified keeping in view the customer demand and market requirements change.
It can take up to several years for a software product to develop completely. Meanwhile, specifications, feature requirements etc. can be changed as per the requirement. Some of these features can be add, remove or change. This is the process where software is developed and they are made even better.
What is Software Process Models
A software process model is an abstract representation of a software process. Many general process models are introduced in this and are presented from an architectural viewpoint.
These models are used to explain different approaches. They are also considered process frameworks that are extended and adapted to create more specific software engineering processes.
Types of Software Process Models
Let us know about different process models of Software Process
The Waterfall Model
In this model of software process, software processes fundamental process activities of specification, development, validation and evolution and are represented at the basis of sequential process phases such as requirements specification, software design, implementation, testing etc.
Evolutionary Development
In this approach, it interleave the specification, development and validation of the remaining activities. An initial system develops very rapidly from abstract specifications. After that the initial system is refined more to produce such system from customer inputs that satisfy customer needs.
Component-Based Software Engineering
The process models that follow this approach are based on the existence of significant number of reusable components. In this, the system development process focuses more on integrating these components into a system rather than developing them.
The three generic process models mentioned above are widely used in current software engineering practice. They are not mutually exclusive and are mostly used together, especially for large systems development.
In a larger system within sub-systems, they are developed using different approaches. So even though it is convenient to discuss them separately, but in practice, they are often combined.
What is the Characteristics of Software Process
Let us know about the characteristics of software processes .
Characteristic | Description |
Understandability | To the extent that the process is defined clearly and the ease with which the process definition can be understood. |
Visibility | In this, the process activities are fully culminated in clear results so that the progress of the process can be externally visible. |
Supportability | To the extent that CASE tools support process activities. |
Acceptability | To the extent where the process is acceptable and usable by the Engineers and also responsible for producing the software product. |
Reliability | It is called the manner in which the process is designed in such a way that errors in the process are avoided or trapped so that they do not appear in the final products. |
Robustness | The process is prepared in such a way that the process can continue no matter how many unexpected problems arise. |
Maintainability | The process has been designed in such a way that it can evolve itself and reflect the changing organizational requirements as well as identify the process improvements. |
Rapidity | This is called the speed with which the complete software can be delivered with the given specifications. |
What are the components of software process
The main objective of a software process is to develop a product, which fulfills all the requirements of the user. The major components of a software process are a process management process and a product engineering process.
The main aim of Process Management Process ( PMP) is to improve software processes, so that a cost-effective and high-quality product can be developed. Existing processes of Completed Projects are examined for this.
The following tasks are done in the Process Management Process such as
Comprehend the existing process, analyze their properties, determine how they can be improved, and effect improvement later. All these processes are done in PMP.
A group, also called Software Engineering Process Group (SEPG), performs all the activities of process management.
According to the analysis mentioned above, the product engineering processes are improved, so that the software process is improved.
The aim of the product engineering process is how to develop the product according to user requirements.
This product engineering process mainly consists of three major components, which are listed below.
Development Process
This is a process that is used during the development of the software. These specify development and quality assurance activities that are performed. Programmers, designers, testing personnel, etc. perform these processes.
Project Management Process
It is concerned with the set of activities that are used to accomplish a set of goals. It provides means to plan, organize and control allocated resources and thereby to meet project cost, time and performance objectives.
To do this, many processes, techniques and tools are used to achieve the objectives of projetcs. The Project Management team performs all activities for this process.
अच्छा लेख हे
ReplyDelete