Notes > Software Engineering > Software Development Process
The software development process can be modelled in many different ways and actual software development projects can use a combination of these models to aid in managing the software development process.
The Waterfall Model
The waterfall model is a top-down model consisting of various well defined steps. The standard model does not really allow for any feedback between the stages but some software development models specifically accomodate for this feedback which is needed for refinement of the software system.
Some advantages of the waterfall model are outlined below:
- Project requirements are defined explicitly
- Clear objectives
- The waterfall model is a highly structured software development model therefore it able in theory to manage risk effectively due to the emphasis on planning
Some possible negative features of the waterfall software development model are as follows:
- Real projects rarely progress is such a strict sequential manner
- The waterfall model does not allow for iterative software development
The Spiral Model
The Spiral Model involves the repetition of the following software development stages:
- Risk Analysis
- Software Development
- User Evaluation
The Evolutionary Model is similar to the Spiral Model. These models have the advantages of making it easier for software developers to incorporate changes into the software as the project progresses as well as catching any errors in the coding early on. This reduces the rick of serious errors being built into the software which would take a lot of time and effort to remove after the whole software system had been built.
Prototyping enables the client to see what the system is going to be like after it has been completed. Prototyping can be a useful type of software development in Rapid Application Development (RAD) where the system is required in a short period of time and there is a lot of communication with, and input from, the client or user.
The Unified Software Development Process (USDP) attempts to make use of both the main types of software system development styles. UML is integral to USDP. USDP is also based around the use of components i.e. re-usability of code.
Search for "Software Development Process" on:
eBay (UK) |
Search for "Software Development Process" on the rest of Computing Students: Software Development Process