Control systems A real-time system will have to be implemented using an appropriate methodology, for example. Mascot. Real-time systems that employ concurrent processing will use techniques such as Petri nets.
The implications of prototyping and the incremental approach are explored later in the chapter.
Information systems Similarly, an information system will need a methodology, such as SSADM or Information Engineering, that matches that type of environment. SSADM will be especially appropriate where the project will employ a large number of development staff whose work will need to be coordinated: the method lays down in detail what needs to be done and what products need to be created at each step. Team members would therefore know exactly what is expected of them.
General applications Where the software to be produced is for the general market rather than for a specific application and user, then a methodology such as SSADM would have to be thought about very carefully. This is because the framers of the method make the assumption that a specific user exists. Some parts in the method also assume that there is an existing system that can be analysed to yield the logical features of the new, computer-based, system.
Specialized techniques These have been invented to expedite the development of, for example, knowledge-based systems w here there are a number of specialized tools and logic based programming languages that can be used to implement this type of system. Similarly a number of specialized techniques and tools have been developed to assist in the development of graphics-based systems.
Hardware environment The environment in which the system is to operate can put constraints on the way it is to be implemented. For instance, the need for a fast response time or for the software to take up only a small part of computer memory may mean that only low-level programming languages can be used - particularly in real-time and embedded systems.
Safety-critical systems Where safety and reliability arc of the essence, it might be possible to justify the additional expense of a formal specification using a notation such as Z or VDM. Really critical systems call for expensive measures such as having independent teams develop parallel systems with the same functionality. The parallel systems can then run concurrently w hen the application is in operation so that the results of each of the parallel systems can be crosschecked.
Imprecise requirements Uncertainties or a novel hardware/software platform may mean that a prototyping approach should be considered. If the environment in which the system is to be implemented is a rapidly changing one, then serious consideration would need to be given to incremental delivery. If the users have uncertain objectives in connection with the project, then a soft systems approach might be desirable.
Exercise 4.3 Bearing in mind the discussion above, w hat, in broad outline, is the most suitable approach for each of the following?
(a) a system that calculates the amount of a drug that should be administered to a patient who has a particular complaint;
(b) a system to administer a student loans scheme;
(c) a system to control trains on a railway network.
Was this article helpful?
What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.