Join the growing community of curious minds on IDNLearn.com. Discover reliable answers to your questions with our extensive database of expert knowledge.

You are in charge of five software development projects. The ‘characteristics’ of each of your projects are as follows:

• Project 1: Web-site for a local company. Relatively small system. Requirements are unclear 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 like this one in the past.

• Project 4: A relatively complex administrative system for one of the local hospitals. Some of the requirements seem to be pretty unclear, 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? Briefly explain your choices.