RAJIKA TANDON. SOFTWARE DESIGN. CIS 453 - Software Specification & Design Instructor: Dr. E. Sibert. DESIGN. The design of a system is essentially a blueprint or a plan for a solution for the system.
Instructor: Dr. E. Sibert
with specific attribute values and relationships.
What happens if we find the wrong abstractions?
Object class: group of objects with similar properties (attributes), common behavior(operations), common relationships to other objects)
Useful for taxonomies, patters, schemata...
i.e. dynamic modeling !!
name = “Joe”
name = “Mary”
age = 24
age = 18Attributes – A data value held by the objects in a class.
Signature:Number & types of arguments, type of result value. All methods of a class have the same signature (Object Design Phase)
Method: Implementation of an operation for a class (Implementation Phase)
Polymorphic operation: The same operation applies to many different classes.
read()Operation, Signature or Method? What when?( Feature –A generic word for either attribute /operation)
using the diamond as before, e.g.
recursively defined classes. For example,
the class diagram
0 .. 2
T2 : Binary
T3 : Binary
T4 : Binary
T5 : Binary
Name of association
n-to-… if for every object y :Y there are
n distinct objects x1 ,…, xn : X with
xiR y for i = 1 ,…, n
…-to-m if for every object x :X there are
m distinct objects y1 ,…, ym : Y with
x R yi for i = 1 ,…, m
Without qualification: A directory has many files. A file belongs only to one directory.
With qualification: A directory has many files, each with a unique name
stock exchange lists many companies.
, a stock exchange lists only one company with a
given ticker symbol.
company may be listed on many stock
exchanges, possibly with different ticker symbols.
Find company with ticker symbol AAPL.
Plain association: peer relationship.
Aggregation: whole/part relationship.
- An object may be a part of ONLY one aggregate at a time.
In Composition (composite aggregation):
- An object may be a part of ONLY one composite at a time.
- Whole is responsible for the disposition of its parts.
A triangle connecting the superclass to its subclasses. The superclass connected by a line to the apex of the triangle. The subclasses are connected by lines to a horizontal bar attached to the base of the triangle.
Both associations describe trees (hierarchies)
A logical construct for grouping classes, associations, and generalizations. It captures one perspective or view of a situation.
Electrical, Plumbing and ventilation modules are different views of a building.
A mechanism for breaking a large object model into a series of pages.
a semantic relationship between two things in which a change to one thing (independent) may affect the semantics of the other thing (dependent).
Directed is optional and label is optional.
a structural relationship that describes a set of links, a link being a connection between objects.
Can bedirected labels Can havemultiplicity & role names
a special kind of association. It represents a structural relationship
between the whole and its parts. Aggregation is inherently TRANSITIVE.
An aggregate has parts, which may inturn have parts.
Represented by a diamond.
a specialization/generalization relationship in which objects of the specialized element (the child) are more specific than the objects of the generalized element.
Part of speech
3 years old
( Is is-a (kind-of) and has-a present in the above text ? )
GetBalance()Object Modeling in Practice: Encourage Brainstorming
Naming is important!
GetBalance()Object Modeling in Practice: Categorize!( many accounts belong to 1 bank OR a bank holds many accounts – aggregation)
In this lecture, we described:
Create the class model using the following class relations and the