HW8: Chapter 2
2.1. Suggest the most appropriate generic software process model that might be used as a basis for managing the development of the following systems. Explain your answer according to the type of system being developed:
A system to control antilock braking in a car
The antilock braking of a car is a safety-critical system and therefore it seems the most appropriate model would be the waterfall model. The requirements analysis and definition of the system would be necessarily thorough and extensive documentation for the approval process would be expected. Also, the requirements for the system would remain relatively static, an area where the waterfall model excels. This is the most 'formal' model presented in the text.
A virtual reality system to support software maintenance
Integration and configuration would allow for a sufficiently generic yet modifiable program. Because the system may be used in different software environments having increased adaptability is crucial. Also, is more adaptable to changes in requirements over the lifetime of the product and different functionality can be implemented as new technologies/systems become available.
A university accounting system that replaces an existing system
Initially, I was leaning towards incremental development but since an accounting system is likely to endure for an extended period of time, the waterfall model is more appropriate. While not a safety critical system like the antilock braking, it deals with money at a large institution and error-free (if that's possible) performance is expected. Also, since there is currently a system in place, the longer development time typically required for the waterfall model would have less of an impact.
An interactive travel planning system that helps users plan journeys with the lowest environmental impact
Incremental development would be the best in this scenario. It seems to me that in a project like this, what the customer expects would be difficult to discern and a development model that can adapt to the users' needs would be ideal. Being able to present the product in stages to the customer and elicit feedback along the way would make it more likely that the system would meet the customers expectations.
Comments
Post a Comment