Smalltalk and Object Orientation: an Introduction - Free
Smalltalk and Object Orientation: an Introduction - Free
Smalltalk and Object Orientation: an Introduction - Free
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
confirming the users’ needs, their <strong>an</strong>ticipated use, as well as helping to keep them involved in the<br />
development. As the use cases specify the sequences of operations to be performed, the GUI’s c<strong>an</strong> be<br />
made to mimic the desired system behavior. This is a good way of confirming that the use case is<br />
correct. For non-hum<strong>an</strong> interfaces <strong>an</strong>y proposed communications protocols c<strong>an</strong> be defined <strong><strong>an</strong>d</strong> checked<br />
(for example, that the interacting system is capable of sending <strong><strong>an</strong>d</strong> receiving the appropriate<br />
information).<br />
19.3.1.5 Relating the use case model to OMT<br />
The use case model dictates the formation of the models in OMT’s <strong>an</strong>alysis phase as indicated in Figure<br />
19.2. For example,<br />
• it helps identify the primary objects in the object model,<br />
• it helps specify the top level behavior of the system in the dynamic model,<br />
• it helps determine the inputs <strong><strong>an</strong>d</strong> outputs provided by, <strong><strong>an</strong>d</strong> expected by, the actors for the<br />
functional model.<br />
In addition use cases may also have <strong>an</strong> influence on ho w the system will be org<strong>an</strong>ized into subsystems<br />
as they indicate associated behaviors. In the implementation phase the use cases may be used to identify<br />
suitable scenarios <strong><strong>an</strong>d</strong> expected results for integration or system testing.<br />
Use case model<br />
<strong>Object</strong><br />
Model<br />
Dynamic<br />
Model<br />
identifies<br />
specifies<br />
Functional<br />
Model<br />
inputs +<br />
outputs<br />
org<strong>an</strong>izes<br />
Subsystem<br />
Model<br />
realized<br />
by<br />
<strong>Object</strong><br />
Design<br />
tested in<br />
implemented<br />
by<br />
Test<br />
specification<br />
Source<br />
code<br />
Figure 19.2: How the use case model c<strong>an</strong> be used in OMT<br />
19.3.2 <strong>Object</strong> modeling<br />
The first step in requirements <strong>an</strong>alysis phase, of the OMT method, is the construction of the object<br />
model. The object model is essentially com prised of the class <strong><strong>an</strong>d</strong> object diagrams described in the last<br />
chapter. As with BOOCH <strong><strong>an</strong>d</strong> the UML it is the object model which is the core of the OMT<br />
representation. As we have already encountered object models before we will not attempt to explain<br />
what they are other th<strong>an</strong> to state that the object model “shows the static data structure of the real -world<br />
system <strong><strong>an</strong>d</strong> org<strong>an</strong>izes it into workable pieces”.<br />
The information for the object model comes from:<br />
• the problem statement (written in natural l<strong>an</strong>guage according to OMT),<br />
• requirements <strong>an</strong>alysis process such as OOA,<br />
• the domain experts,<br />
• general knowledge of the real world,<br />
• the use case model (if you have constructed one).<br />
An interesting point to note is that OMT claims that object models promote communication betwe<br />
computer professionals <strong><strong>an</strong>d</strong> application-domain experts (what do you think?).<br />
OMT suggests the following steps as being <strong>an</strong> appropriate way in which to construct <strong>an</strong> object<br />
model.<br />
en<br />
1. Identify objects <strong><strong>an</strong>d</strong> classes.<br />
2. Prepare a data dictionary.<br />
3. Identify associations (including aggregations) between objects.<br />
4. Identify attributes of objects <strong><strong>an</strong>d</strong> links.<br />
5. Org<strong>an</strong>ize <strong><strong>an</strong>d</strong> simplify object classes using inherit<strong>an</strong>ce.<br />
157