Professional Documents
Culture Documents
definition of a multilayered software architecture, the specification of subsystems that perform required functions and provide infrastructure support, a description of objects (classes) that form the building blocks of the system, and a description of the communication mechanisms that allow data to flow between layers, subsystems, and objects. Objectoriented design accomplishes all of these things.
entities and manage themselves. Objects are independent and encapsulate state and representation information. System functionality is expressed in terms of object services. Shared data areas are eliminated. Objects communicate by message passing. Objects may be distributed and may execute sequentially or in parallel.
What are the steps? OOD is divided into two major activities: system
activities: Partition the analysis model into subsystems. Identify concurrency that is dictated by the problem. Allocate subsystems to processors and tasks. Develop a design for the user interface. Choose a basic strategy for implementing data management. Identify global resources and the control mechanisms required to access them.
the objects and their interactions. It is completed within the overall architecture defined during system design and according to agreed design guidelines and protocols. Object design is particularly concerned with the specification of attribute types, how operations function, and how objects are linked to other objects.
distinct. Classification: Objects with the same attributes and behaviour are grouped into Classes. Polymorphism: The same procedure name may be used by different Classes to invoke different code. Inheritance: Allows a Class to be defined as a sub-type of another Class. Encapsulation: Separates the external interface of an Object from its internal implementation details.
objects with common attributes and common behavior The difference between an Object and a Class is that the class defines shared attributes and behaviors of objects An object is an instance or occurrence of a class
collaboration of individual object-oriented methods that has been adopted as a standard for modeling object-oriented systems
UML has three categories:
Things, the objects Relationships, the glue that holds things together
The Diagrams Use-case Diagram Class Diagram Object Diagram State Diagram
Sequence Diagram
Collaboration Diagram Activity Diagram Component Diagram Deployment Diagram
functional spec. May be described in plain text. May be supported by activity diagrams or state diagrams.
1 owns Customer
1..* handles
1 Trader
0..* 0..*
Instrument
Bond
Stock
Stock Option
On first floor
Arrive first floor
Go up(floor)
Moving up
arrived
arrived
Go up(floor)
idle Go down(floor)
2
3 4
Classes & Objects The Class Diagram Associations Aggregation & Composition Generalisation
OBJECT
Attributes contained in data structures Procedures which can operate on the data structures
Object behaviour
Classname Classname
OR
attribute: datatype
Associations model Class relationships. Associations should be named where appropriate. Usual to
use verbs from the problem domain. Roles played by classes may also be named. Associations have a cardinality. Rules from programming about sensible names apply.
One person may be a member of many teams. Person is part of team, shared by N teams.
Team
Members
Person
Rules
Parts live inside whole, parts die with whole, like
automatic variables. Multiplicity on whole side must be 0..1, on part side may be anything.
Composition aggregation forms a tree of parts, shared
similarities among Classes while also preserving differences. Inheritance refers to mechanism of sharing attributes & operations between subclasses and their superclass. Default values of attributes & methods for operations may be overridden in subclass.
General
Car
Specific
Estate Saloon Hatchback Coupe
understood as stand-alone entities. Objects are potentially reusable components. For some systems, there may be an obvious mapping from real world entities to system objects.
S. Pressman