Quick Exercise 3 - Software Process Modelling

In your logbook, answer the following question.

Giving reasons for your answer based on the type of system being developed, suggest the most appropriate generic software process model that might be used as a basis for managing the development of the following systems:

A system to control anti-lock braking in a car

Anti-lock braking system. This is a safety-critical system so requires a lot of up-front analysis before implementation. It certainly needs a plan-driven approach to development with the requirements carefully analysed. A waterfall model is therefore the most appropriate approach to use, perhaps with formal transformations between the different development stages.

A virtual reality system to support software maintenance

Virtual reality system. This is a system where the requirements will change and there will be an extensive user interface components. Incremental development with, perhaps, some UI prototyping is the most appropriate model. An agile process may be used.

A university accounting system that replaces an existing system

University accounting system. This is a system whose requirements are fairly well-known and which will be used in an environment in conjunction with lots of other systems such as a research grant management system. Therefore, a reuse-based approach is likely to be appropriate for this.

An interactive travel planning system that helps users plan journeys with the lowest environmental impact

Interactive travel planning system. System with a complex user interface but which must be stable and reliable. An incremental development approach is the most appropriate as the system requirements will change as real user experience with the system is gained.

Todo

Now take a look at Java T(utorial) Point – a great resource of tutorials on Software Engineering, Java, Android, JavaScript, C#, C++, etc. Read the section about software models found at https://www.javatpoint.com/software-engineering-sdlc-models.

You can also click on the links for each model to get more information about it.

Question

Draw a table to compare the different models presented in the tutorial with the following columns: model name, brief model description, what type of software development is the model good to be used for.