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.

driving force behind the whole of the <strong>Object</strong>ory method is the concept of a use case. A use case is a<br />

particular interaction, between the system <strong><strong>an</strong>d</strong> a user of that system, for a particular purpose (or<br />

function). The users of the system may be hum<strong>an</strong> or machine <strong><strong>an</strong>d</strong> are termed actors. A complete set of<br />

use cases therefore describes a system’s functionality based around what actors should be able to do<br />

(with the system).<br />

16.7.1 The Requirements phase<br />

The Requirements phase uses a natural l<strong>an</strong>guage description of what the system should do to build three<br />

models: the Use case models, the Domain <strong>Object</strong> model <strong><strong>an</strong>d</strong> the User Interface descriptions.<br />

The use-case model describes all the interactions between actors <strong><strong>an</strong>d</strong> the system. Each use case<br />

specifies the actions which are performed <strong><strong>an</strong>d</strong> their sequence. Any alternatives are also documented.<br />

This c<strong>an</strong> be done in natural l<strong>an</strong>guage or using state tr<strong>an</strong>sitions diagrams.<br />

The domain model describes the objects, classes <strong><strong>an</strong>d</strong> associations between objects in the domain. It<br />

uses a modified E-R model.<br />

The user interface descriptions contain mock ups of the various interfaces between actors <strong><strong>an</strong>d</strong> the<br />

system. User interfaces are represented as pictures of windows while other interfaces are described by<br />

protocols.<br />

16.7.2 The Analysis phase<br />

The Analysis phase produces the <strong>an</strong>alysis model <strong><strong>an</strong>d</strong> a set of subsystems. The <strong>an</strong>alysis model is<br />

essentially a refineme nt of the domain object model produced in the last phase. It also contains<br />

behavioral information as well as control objects which are linked to use cases. As well as control<br />

objects, the <strong>an</strong>alysis model also possesses entity objects (which are objects wh ich exist beyond a single<br />

use case) <strong><strong>an</strong>d</strong> interface objects which h<strong><strong>an</strong>d</strong>le system -actor interaction. The subsystem description aims<br />

to partition the system around objects which are involved in similar activities <strong><strong>an</strong>d</strong> which are closely<br />

coupled. This org<strong>an</strong>ization is used to structure the remainder of the design process.<br />

16.7.3 The Construction phase<br />

The Construction phase refines the models produced in the <strong>an</strong>alysis phase. For example inter object<br />

communication is refined as well as consideration of facilities provided by the target l<strong>an</strong>guage. Four<br />

models are produced by this phase:<br />

• Block models which represent the functional modules of the system.<br />

• Block interfaces which specify the public operations performed by blocks.<br />

• Block specifications are optional descriptions o f a block behavior in the form of finite state<br />

machines.<br />

The final stage is then to implement the blocks in the target l<strong>an</strong>guage.<br />

16.7.4 Strengths <strong><strong>an</strong>d</strong> weaknesses<br />

The most signific<strong>an</strong>t aspect of <strong>Object</strong>ory is its use of use-cases. These act as the cement which joins the<br />

various building blocks of the whole method. As such <strong>Object</strong>ory is unique in the methods considered<br />

here as it provides a unifying framework for the design process. However, it still lacks the step by step<br />

support which would simplify the whole design process.<br />

16.8 The Fusion method<br />

The majority of OOD methods currently available, including those described in this chapter, possess<br />

some form of systematic approach to the design process. However, in almost all cases this process is<br />

rather weak, providing i nsufficient direction or support to the developer. In addition methods such as<br />

OMT rely on a “bottom up” approach. This me<strong>an</strong>s that the developer must focus on the identification<br />

135

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

Saved successfully!

Ooh no, something went wrong!