HW6: Chapter 2
Today's entry covers a broad introduction to three types of software development processes.
Excercise Questions
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 anti lock braking in a car
A virtual reality system to support software maintenance
A university accounting system that replaces an existing system
An interactive travel planning system that helps users plan journeys with the lowest environmental impact
- The most optimal software process model in this case would in my opinion be the waterfall method. I believe this to be the case because this system has a heavy emphasis on safety and would allow for heavy investment during the specification phase. Although the development should most likely borrow from the integration and configuration model as well. Given that systems to control anti lock breaks already exists, A thoroughly vetted integration and configuration of a previous similar system could help cut unnecessary development costs.
- In this case I would advocate for incremental development. This system is very broad and will inevitably constantly require reexamination of specification and extensive testing. This method would also ease the process of user feedback which is critical.
- This system would most likely primarily benefit from an integration and configuration process. This is assuming the current system works to specification but the client would like an update/desires more capabilities from an updated system. Re-using and configuring the existing system would greatly reduce development costs. However, this system could benefit greatly from using incremental development for building on top of the current system and expanding its capabilities beyond the previous system if the client desires a product with more capabilities.
- This system would most likely benefit from incremental development. Strict and robust specification is important but not paramount to this system and this system is not extremely large or complex. Both of these factors allow for costs to be saved in an incremental development process.