Advanced Systems Design with Java, UML and MDA

Chapter 5: Platform-Independent Design

This chapter describes techniques for the refinement of analysis models towards platform-independent designs, by model transformation. It also describes platform-independent design structuring techniques such as design patterns and module specifications.

5.1 The Design Process

Design is concerned with constructing components and organising their interactions in order to achieve the system requirements. This involves:

  • Identifying subsystems and modules which have a coherent and well-defined purpose and functional cohesion.

  • Identifying the dependencies between modules, and specifying their interfaces and responsibilities (eg, in terms of a set of constraints that they are responsible for).

In a completed design each requirement use case and constraint must be carried out/maintained by some class/module, or by a combination of classes and modules. For example, in the Scrabble system, the 'make move' use case discussed in Section 2.2 will be primarily implemented in the PlayerGUI module, which manages all the GUI interaction for constructing a move. The validation and score calculation of the move will be the responsibility of the Move module.

Some constraints will be satisfied by the design of an individual module or class, for example the postconditions

post :

squareLetter

=

{}

=>

result

=

false

post :

squareLetter

/ =

{}

=>

result

=

true

on operation isOccupied() : Boolean of Square can be directly implemented as conditional statements in pseudocode in the definition of this operation.

Other constraints, such as the property C5 that all occupied squares on the board must be reachable from...

UNLIMITED FREE ACCESS TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Semiconductor Power Modules
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.