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.
19. The <strong>Object</strong> Modeling Technique<br />
19.1 <strong>Introduction</strong><br />
This chapter provides <strong>an</strong> overview of the <strong>Object</strong> Modeling Technique (OMT). It should not be treated<br />
as a definitive, nor complete, description of the method. For that the reader should see [Rumbaugh et al,<br />
1990] <strong><strong>an</strong>d</strong> [Derr 1995]. Instead, this chapter provides <strong>an</strong> introduction to the basic phases <strong><strong>an</strong>d</strong> a summary<br />
of the steps which form each phase. As such it should provide <strong>an</strong> insight into <strong>an</strong> object oriented design<br />
(OOD) method.<br />
The chapter first introduces the OMT methodology. The <strong>an</strong>alysis phase is then described in some<br />
detail. The use of use case <strong>an</strong>alysis is included. This is not actually part of OMT (in fact it is part of the<br />
<strong>Object</strong>ory method of [Jacobson et al 1992]) but is a useful adjunct to the method. The dynamic <strong><strong>an</strong>d</strong><br />
functional models of the <strong>an</strong>alysis phase are described in the next chapter. The design phase (which is<br />
then introduced) <strong><strong>an</strong>d</strong> the implementation phase are described in detail in the next chapter.<br />
19.2 The OMT methodology<br />
The OMT methodology consists of several phases. These phases progress a design from (relatively)<br />
early requirements <strong>an</strong>alysis through detailed design to the implementation. The phases are thus: the<br />
<strong>an</strong>alysis phase, the design phase <strong><strong>an</strong>d</strong> the implementation phase.<br />
The <strong>an</strong>alysis phase is concerned with underst<strong><strong>an</strong>d</strong>ing <strong><strong>an</strong>d</strong> modeling the application <strong><strong>an</strong>d</strong> the domain<br />
within which it operates. The OMT book suggests that the initial input to the <strong>an</strong>alysis phase is a<br />
problem statement which describes the problem to be solved <strong><strong>an</strong>d</strong> provides a conceptual overview of the<br />
proposed system. This problem statement may be a textual description (as suggested by the authors) or<br />
it might be a more formal description as provided by a technique su ch as OOA or one of the structured<br />
<strong>an</strong>alysis methods in the software engineering field.<br />
The design phase is made up of two sub -phases, the system design phase <strong><strong>an</strong>d</strong> the object design<br />
phase. The system design sub -phase is concerned with the overall architectu re of the system. This<br />
architecture is based on the information provided during the <strong>an</strong>alysis phase (in particular the object<br />
model).<br />
The object design sub -phase attempts to produce a practical design by refining, optimizing <strong><strong>an</strong>d</strong><br />
reviewing the models produce d during the <strong>an</strong>alysis phase. This therefore involves moving the focus<br />
away from conceptual objects <strong><strong>an</strong>d</strong> towards computer implementation objects. It also involves<br />
identifying appropriate algorithms, ensuring efficient communication between objects <strong><strong>an</strong>d</strong> accoun ting<br />
for the flow of control <strong><strong>an</strong>d</strong> concurrency issues.<br />
The final phase, the implementation phase, considers how the design should be implemented. It<br />
considers, amongst other issues, mapping a design onto <strong>an</strong> object oriented l<strong>an</strong>guage, a data base system<br />
as well as non object oriented l<strong>an</strong>guages.<br />
19.3 Analysis phase<br />
The <strong>an</strong>alysis phase is concerned with producing a precise, concise, underst<strong><strong>an</strong>d</strong>able, <strong><strong>an</strong>d</strong> correct model of<br />
the real -world. This is done by constructing a series of models. In particular OMT defines <strong>an</strong> object<br />
model, a dynamic model <strong><strong>an</strong>d</strong> a functional model. OMT does not attempt to construct use case diagrams<br />
to help underst<strong><strong>an</strong>d</strong> how the system is used <strong><strong>an</strong>d</strong> what the main functions of that system are. However, it<br />
is probably a very good idea to start the <strong>an</strong>alysis pha se by carrying out a use case <strong>an</strong>alysis. We will<br />
therefore consider use case <strong>an</strong>alysis before continuing with the OMT method.<br />
154