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.
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