<< Chapter < Page | Chapter >> Page > |
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.
Different software processes organise these activities in different ways and are described at different levels of detail. The timing of the activities varies as does the results of each activity. Different organisations may use different processes to produce the same type of product. However, some processes are more suitable than others for some types of application. If an inappropriate process is used, this will probably reduce the quality or the usefulness of the software product to be developed.
A software process model is a simplified description of a software process which is presented from a particular perspective. Models, by their very nature, are simplifications so a software process model is an abstraction of the actual process which is being described. Process models may include activities which are part of the software process, software products and the roles of people involved in software engineering. Some examples of the types of software process model which may be produced are:
1. A workflow model: This shows the sequence of activities in the process along with their inputs, outputs and dependencies. The activities in this model represent human actions.
2. A dataflow or activity model: This represents the process as a set of activities each of which carries out some data transformation. It shows how the input to the process such as a specification is transformed to an output such as a design. The activities here may be at a lower-level than activities in a workflow model. They may represent transformations carried out by people or by computers.
3. A role/action model: This represents the roles of the people involved in the software process and the activities for which they are responsible. There are a number of different general models or paradigms of software development:
There is no simple answer to this question as the precise distribution of costs across the software process depends on the process used and the type of software which is being developed. If we take the total cost of developing a complex software system as 100 cost units, the distribution of these cost units is 25 for specification, 25 for design, 25 for development and the rest for intergration and testing.
Notification Switch
Would you like to follow the 'Software engineering' conversation and receive update notifications?