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.
for representing dynamic behavior in real-time avionic control systems. Essentially statecharts indicate<br />
the states of the system, the tr<strong>an</strong>sitions between states, their sequence <strong><strong>an</strong>d</strong> the events which cause the<br />
state ch<strong>an</strong>ge.<br />
The Functional Model describes how system functions are performed. To do this it uses data flow<br />
diagrams (DFD). These illustrate the sources <strong><strong>an</strong>d</strong> sinks of data as well as the data being exch<strong>an</strong>ged.<br />
They contain no sequencing information or control structures.<br />
The relationshi p between these three models is import<strong>an</strong>t as each model adds to the designer's<br />
underst<strong><strong>an</strong>d</strong>ing of the domain. Essentially the relationships are:<br />
• The object model defines the objects which hold the state variables referenced in the dynamic<br />
model <strong><strong>an</strong>d</strong> are the sources <strong><strong>an</strong>d</strong> sinks referenced in the functional model.<br />
• The dynamic model indicates when the behavior in the functional model occurs <strong><strong>an</strong>d</strong> what<br />
triggered it.<br />
• The functional model explains why <strong>an</strong> event tr<strong>an</strong>sition leads from one state to <strong>an</strong>other in the<br />
dynamic model.<br />
The construction of these models is not sequential, with ch<strong>an</strong>ges to <strong>an</strong>y one of the models having a<br />
knock on effect in the other models. Typically, the designer will start with the object model, then<br />
consider the dynamic <strong><strong>an</strong>d</strong> finally the functional, but the process is iterative.<br />
The actual <strong>an</strong>alysis process is described in considerable detail <strong><strong>an</strong>d</strong> is supported by step by step<br />
guid<strong>an</strong>ce. This ensures that the developer knows what to do at <strong>an</strong>y time to adv<strong>an</strong>ce the three models.<br />
16.6.2 The Design phase<br />
The Design phase of OMT builds upon the models produced during the <strong>an</strong>alysis phase by breaking them<br />
down into subsystems <strong><strong>an</strong>d</strong> by identifying appropriate algorithms for methods. These two steps are<br />
performed during the system design <strong><strong>an</strong>d</strong> object design steps.<br />
• The syste m design breaks the system down into subsystems <strong><strong>an</strong>d</strong> determines the overall<br />
architecture to be used.<br />
• The object design decides on the algorithms to be used for the methods. The methods<br />
themselves are identified by <strong>an</strong>alyzing the three <strong>an</strong>alysis models for each class etc.<br />
Each of these steps possess some guidelines for their respective tasks, however, far less support is<br />
provided for the designer th<strong>an</strong> in the <strong>an</strong>alysis phase. For example, systematic guid<strong>an</strong>ce for the<br />
identification of subsystems is missing. In stead the issues involved are discussed such as resource<br />
m<strong>an</strong>agement, batch versus interactive modes etc. This me<strong>an</strong>s that identifying where to start, how to<br />
proceed <strong><strong>an</strong>d</strong> what to do next c<strong>an</strong> be difficult.<br />
16.6.3 The Implementation phase<br />
The implementation phase rep resents the process of codifying the system <strong><strong>an</strong>d</strong> object designs into the<br />
target l<strong>an</strong>guage. This phase does provide some very useful guid<strong>an</strong>ce on how to implement features used<br />
in the model-based design process used, but is again lacking in the step by step g uid<strong>an</strong>ce which would<br />
be so useful for those new to object orientation.<br />
16.6.4 Strengths <strong><strong>an</strong>d</strong> weaknesses<br />
OMTs’ greatest strength is the level of step by step support which it provides during the <strong>an</strong>alysis phase.<br />
However it is much weaker in its guid<strong>an</strong>ce during the de sign <strong><strong>an</strong>d</strong> implementation phases providing<br />
general guid<strong>an</strong>ce (<strong><strong>an</strong>d</strong> some heuristics).<br />
16.7 The <strong>Object</strong>ory method<br />
The <strong>Object</strong>ory method [Jacobson 1991] possesses three phases each of which produce a set of models.<br />
The three phas es are: the Requirements phase, the Analysis phase <strong><strong>an</strong>d</strong> the Construction phase. The<br />
134