29.11.2014 Views

Smalltalk and Object Orientation: an Introduction - Free

Smalltalk and Object Orientation: an Introduction - Free

Smalltalk and Object Orientation: an Introduction - Free

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!