

Each function will be represented as a UML activity, and will then be further decomposed where appropriate into a number if inter-related UML use cases. In this section we decompose the problem into a number of ‘functions’ that the system will perform for (and on behalf of) the users of the system i.e. The problem domain should be familiar to most readers while providing sufficient scope for us to explore a range of UML concepts and constructs. We hope to have met this challenge with our presentation of the “Stock Broker” case study. The challenge with any such case study is to find a problem that is sufficiently challenging, sufficiently realistic, yet self-contained and simple enough to present in a single document.

The logical or static aspect: comprising UML class diagrams and a component diagram. The behavioral or dynamic aspect: comprising UML sequence diagrams and a state diagram. The functional aspect: comprising UML use case diagrams and activity diagrams. We have arranged the case study as three distinct perspectives or aspects as follows. In this case study we aim to put it right by working through a single problem from use cases and activity diagrams, through sequence diagrams and state diagrams, to class diagrams and component diagrams. The problem with many Unified Modeling Language (UML) educational texts is that they present the various concepts each in isolation so you see a use case diagram for one problem domain, a class diagram for an entirely different problem domain, and you never get to see the important traceability between the diagrams.
