Introduction
The competition in the area of information technology is so intense nowadays that it is necessary to use software process models that help to cope with the changing business requirements. In most of the software development environments, it is not possible to know the complete set of requirements at the beginning of a project. This is because the requirements either keep evolving as software development proceeds, or the customers keep changing them.
There are various evolutionary process models designed to handle the development of evolving software products. One of the most important evolutionary process models is the spiral process model, which forms a good base for any evolutionary development approach. In this section, you will learn about the concept of evolutionary models with the help of the spiral process model as an example.
Software products often evolve
The business scenarios today are complex, and therefore, it may not be possible to know exactly what the software product should do before starting its development. Although the basic or core requirements may be known at the beginning of a project, the complete set of requirements evolves as the software product is developed. In such a case, a limited version of the software product is built based on the core requirements. This version of the product is put to use as soon as possible. The product then evolves through repeated iterations of development as the requirements become clearer.
In situations, such as given above, we need process models that help to understand the evolving product requirements.
Let us look at an example in which a software product is evolved.
Evolving software products: An example
Although the requirements for the Web site appear hazy at the moment, the concept seems to be promising. Many advertisers have already signed up and
The organization needs to start the development of the Web site and make the initial product visible. This will help in obtaining funds from the investors for further research and refinement of the product.
This requires the use of a process model that works when the requirements of the Web site are not clearly specified in the beginning. Based on an initial version, the product (the Web site) is expected to evolve over time.
Evolutionary process models
An evolutionary process model is designed to accommodate iterative development of a software product. Iterations are required in case a product is evolving because the requirements get defined in more detail and may also change in subsequent iterations. Even in earlier iterations when the details are not known, some product, concept, or core functionality should be delivered.
In an evolutionary model, the following steps occur iteratively.
- Listening to the customer to understand the requirements for the software product
- Engineering, building, or modifying the software product based on the customer requirements (at the moment)
- Allowing the customer to evaluate the product and provide feedback and suggestions
- Iterating the above steps until an acceptable version of the software product is ready
An evolutionary process model has to accommodate the changing requirements of the evolving software products.
This means that in the evolutionary process model the detailed requirements get defined as the project proceeds. The level of detail increases from top-level specifications at the beginning of a project to more detailed levels as the project proceeds.
While the initial iterations may result in a high-level product such as a concept paper, the later iterations result in more detailed level products such as analysis, design, and the actual code.
2 comments:
Vector Processing
Role of Parser
Mutual Exclusion with Busy Waiting
Midpoint Ellipse Algorithm
THEADR, LNAMES, SEGDEF
Unguided (Wireless) transmission media
Color and Greyscale Levels
Big Data and Characteristics of Big Data V3s in Brief
8085 Programming Model
General model for a sequential or state machine
Descriptor tables 80386
Comparison between Kerberos Version 4 And Version 5
Human-Oriented Names
Passive time Server Algorithms
Points and Lines
Testing Strategies – Integration Testing
16-Bit Data operations
Single Pass Assembler Intel x86
Post a Comment