You are in charge of five software development projects. The project characteristics of each of the sys are as follows:
• Project 1. Web-site for a local company. Relatively small system. Requirements are vague and likely to change in the near future.
• Project 2. A very large embedded system whose requirements can be easily identified and are relatively stable.
• Project 3. A ‘standard’ business application. You have developed similar systems in the past.
• Project 4. A relatively complex administrative system for one of the local hospitals. Some of the requirements seem to be pretty vague, but all the requirements are stable.
• Project 5. A small real-time control system to be used for monitoring patients in a local hospital.
Consider the following software development approaches/models: waterfall, throw-away prototyping, evolutionary prototyping, component-based development, formal development.
Which of the above approaches/models would you choose for each of your projects? Justify your choices.