Information Technology Reference
In-Depth Information
change many objects and their interfaces. Interface specification activities of
object design include (Bruegge and Dutiot 2004 ):
• Identifying missing attributes and operations
• Specifying type signatures and visibility
• Specifying invariants
• Specifying preconditions and postconditions
During system development we would have made decisions about the system
and produced several models:
• The analysis object model describing the entity, boundary, and control
objects that are visible to user. The analysis object model includes attributes
and operations for each object.
• Subsystem decomposition describes how these objects are partitioned into
cohesive pieces that are realized by different teams of developers. Each
subsystem
includes
high-level
service
descriptions
that
indicate
which
functionality it provides to others.
• Hardware/Software mapping identifies the components that make up the
virtual machine on which we build solution objects. This may include classes
and APIs defined by existing components.
• Boundary use cases describe, from the user's point of view, administrative
and exceptional cases that the system handles.
• Design patterns selected during object design reuse describe partial object
design models addressing specific design issues.
All of these models, however, reflect partial view of the system. The goal of the
object design is to produce an object design model that integrates all of the above
information into a coherent and precise whole. The interface specification includes
the following activities:
• Identify missing attributes and operations: During this activity, we examine
each subsystem service and each analysis object.
• Specify visibility and signatures: During this activity, we decide which
operations are available to other objects and subsystems, and which are used
only within a subsystem.
• Specify contracts: During this activity, we describe in terms of constraints the
behavior of the operations provided by each object.
8.5 Interface Specification Concepts
8.5.1 Class Implementer
A good class definition and implementation must have many desirable properties.
Because a class captures an abstraction, the class must have all of the properties of
Search WWH ::




Custom Search