IBM
Contents Index Previous Next



System Design Phase


For many projects there is a need to divide the design work on more than one design team. In this situation the system design phase is a crucial phase since this is when the interfaces between the different parts of the system are defined. A good interface definition is essential to give the different development teams a possibility to progress with their work without confusion. In the system design the logical architecture from the system analysis is used to decompose the system into subsystems to be implemented by different teams and the interfaces between the subsystems are defined. The static interface is defined in terms of signals and/or remote procedure calls. The dynamic aspects of the interface are defined in the design use cases that should be precise enough to be used as test cases by the design teams.

For practical reasons it is best if the same team that performed the system analysis phase also is involved in the system design phase, but extended with more designers and test engineers from the teams that will continue the design work to ensure that an understanding of the architecture is spread also into the different design teams.

The system design also includes planning the design module structure to be used in the design of the system to facilitate a smooth integration between the different subsystems. The design module structure is in essence a definition of the structure of the work to be performed by the different teams and it must be designed in order to facilitate reuse of common components and existing frameworks.

A third aspect to be considered in the system design phase, which is more of a project management nature, is to plan the following design and elaboration phases. The planning should be based on the achieved knowledge of the architecture and behavioral requirements and is intended to define the order in which the different features of the application is designed. The major criteria for defining this order is to minimize the risks involved in the project by validating the assumptions about the architecture as soon as possible and by designing the difficult and uncertain parts as early as possible. This implies that the design phase following the system analysis should concentrate on designing a first version of the application that covers an `interesting' subset of the behavioral requirements (as defined in the use cases) and create a skeleton structure where all major components are in place but where their complete functionality is not yet realized.

When the system design is completed the tangible results are thus:


http://www.ibm.com/rational
Contents Index Previous Next