Object modeling

advertisement
An Introduction to Object Modeling

An Introduction to Object Modeling


The approach of using object modeling during systems analysis
and design is called object-oriented analysis.
 Object-oriented analysis (OOA) techniques are used to (1)
study existing objects to see if they can be reused or adapted for
new uses, and to (2) define new or modified objects that will be
combined with existing objects into a useful business
computing application.
The object-oriented approach is centered around a technique
referred to as object modeling.
 Object modeling is a technique for identifying objects within
the systems environment, and the relationships between those
objects.
System Concepts for Object Modeling

Objects, Attributes, Methods, and Encapsulation




The object-oriented approach to system development is based on
the concept of objects that exist within a system’s environment.
Objects are everywhere
Webster’s Dictionary definition of an object.
 Something that is or is capable of being seen, touched, or
otherwise sensed.
In object-oriented approaches to systems development the
definition of an object is as follows:
 An object is something that is or is capable of being seen,
touched, or otherwise sensed, and about which users store data
and associate behavior.
System Concepts for Object Modeling

Objects, Attributes, Methods, and Encapsulation

The types of objects may include a person, place, thing, or event.
 An employee, customer, vendor, and student are examples of
person objects.
 A particular warehouse, regional office, building, and room are
examples of place objects.
 A product, vehicle, equipment, video tape, or a window
appearing on a users display monitor are examples of thing
objects.
 An order, payment, invoice, application, registration, and
reservation are examples of event objects.
System Concepts for Object Modeling

Objects, Attributes, Methods, and Encapsulation

In the object-oriented circles, the term “data” refers to what are
called attributes.
 Attributes are the data that represent characteristics of interest
about an object.
 Example attributes for the person object called customer:
• CUSTOMER NUMBER, FIRST NAME, LAST NAME, HOME
ADDRESS, WORK ADDRESS, TYPE OF CUSTOMER, HOME PHONE,
WORK PHONE, CREDIT LIMIT, AVAILABLE CREDIT, ACCOUNT
BALANCE, and ACCOUNT STATUS.

Each individual customer object is referred to as an object
instance.
• An instance (or object instance) of an object consists of the values
for the attributes that describe a specific person, place, thing, or
event.
System Concepts for Object Modeling

Objects, Attributes, Methods, and Encapsulation

What is the “behavior” of an object.
 Behavior refers to those things that the object can do and
which correspond to functions that act on the object’s data (or
attributes).
 In object-oriented circles, an object’s behavior is commonly
referred to as a method or service.
 An object is solely responsible for carrying out any functions or
behaviors that act upon its own data (or attributes).
• For example, only YOU (an object) may CHANGE (behavior)
your LAST NAME and HOME ADDRESS (attributes about you).
System Concepts for Object Modeling

Objects, Attributes, Methods, and Encapsulation

Encapsulation, an important concept.
 Encapsulation is the packaging of several items together into
one unit.
 Both attributes and behavior of the object are packaged
together.
 The only way to access an object's attributes is through that
object’s behaviors.
 No other object may perform that object’s behavior.
System Concepts for Object Modeling

Classes, Generalization, and Specialization


An important concept of object modeling is the concept of
categorizing objects into classes.
 A class is a set of objects that share common attributes and
behavior. A class is sometimes referred to as an object class.
 For example, textbook and workbook objects represent thingobjects that have some similar attributes and behavior and
could be classified as BOOKs .
A class may also have sub-classes of objects.
 For example, STUDENT and TEACHER object classes could
be members of the class PERSON.
System Concepts for Object Modeling

Classes, Generalization, and Specialization


When levels of classes are identified, the concept of inheritance is
applied.
 Inheritance means that methods and/or attributes defined in an
object class can be inherited or reused by another object class.
The approach that seeks to discover and exploit the commonalties
between objects/classes is referred to as
generalization/specialization.
 Generalization/specialization is a technique wherein the
attributes and behaviors that are common to several types of an
object classes are grouped into their own class, called a
supertype. The attributes and methods of the supertype object
class are then inherited by those object classes.
System Concepts for Object Modeling

Classes, Generalization, and Specialization


When levels of classes are identified, the concept of inheritance is
applied.
 Inheritance means that methods and/or attributes defined in an
object class can be inherited or reused by another object class.
In the object class PERSON, STUDENT and TEACHER example,
PERSON is referred to as a supertype (or generalization class)
whereas STUDENT and TEACHER are referred to as subtypes (or
specialization class).
 A class supertype is an entity whose instances store attributes
that are common to one or more class subtypes.
 A class subtype is an object class whose instances inherit some
common attributes from a class supertype, and then add other
attributes that are unique to an instances of the subtype.
System Concepts for Object Modeling

Classes, Generalization, and Specialization


The class supertype will have one or more one-to-one relationships
to object class subtypes.
 These relationships are sometimes called “IS A” relationships
(or “WAS A”, or “COULD BE A”) because each instance of
the supertype “is also an” instance of one or more subtypes.
Using OMT notation, classes are represented on an object model as
a rectangle.
 The rectangle is divided into three portions.
• The top portion contains the name of the class.
• The middle portion contains the name of the common attributes of
interest.
• The lower portion contains the common behavior (or methods).
(Customer)
customer number = 412209
last name =
Bentley
f irst name =
Lonnie
home phone =
317-463-9593
street =
2625 Darw in
Drive
city =
West Laf ayette
state =
Indiana
zipcode =
47906
etc.
(a)
(Book)
(Book)
ISBN = 0256102219
type = w orkbook
title = Projects and Cases to Accompany
SADM
copyright = 1996
ISBN = 0256101329
type = textbook
title = Systems Analysis & Design Methods
copyright = 1996
(b)
Person Class
(supertype)
Student Class
(subtype)
Student A
Student B
Teacher Class
(subtype)
Teacher A
Student C
(c)
Book
ISBN
type
title
copyright
Open
Close
(d)
Teacher B
Person
last name
f irst name
birthdate
gender
w alk
jump
talk
sleep
eat
etc.
Student
Teacher
GPA
classification
rank
enroll
display GPA
lecture
System Concepts for Object Modeling

Object/Class Relationships

Objects and classes do not exist in isolation.
 The things they represent interact with, and impact one another
to support the business mission.
 Thus there is an object/class relationship.
• An object/class relationship is a natural business association that
exists between one or more objects/classes.

For example, consider the object classes customer and order
that may exist in a typical information system and how they
interact.
• a CUSTOMER PLACES zero or more ORDERs
• an ORDER IS PLACED BY one and only one CUSTOMERs
System Concepts for Object Modeling

Object/Class Relationships


We graphically illustrate the association(relationship) between two
classes as a connecting line.
 A verb phrase describes the relationship.
 All relationships are implicitly bi-directional, meaning that they
can interpreted in both directions.
What is multiplicity?
 Multiplicity defines the minimum and maximum number of
occurrences of one object/class for a single occurrence of the
related object/class.
 Because all relationships are bi-directional, multiplicity must be
defined in both directions for every relationship.
Places
Order
Customer
(a)
Meaning of
Notation
Multiplicity
Notation
Class name
1
+
n, m
means one and only one
Class name
means zero or more
Class name
means zero or one
Class name
one or more
Class name
means minimum of n and
maximum of m (ie. 1,7)
(b)
System Concepts for Object Modeling

Object/Class Relationships

What are aggregation class relationships?
 Sometimes objects/classes are made up of other objects/classes.
This type of relationship is called aggregation.
• It is also sometimes referred to as “whole-part” or “part-of”
relationships.

For example, the TEXTBOOK object may contain several
objects, including: COVER, TABLE OF CONTENTS,
CHAPTER, and INDEX objects.
• The CHAPTER object contains PAGE objects, which in turn
contain PARAGRAPH objects, which in turn contain WORD
objects, and so forth.
System Concepts for Object Modeling

Object/Class Relationships


By identifying aggregation relationships we can partition a very
complex object and assign behaviors and attributes to the
individual objects within it.
Multiplicity is also specified for aggregate relationships.
Book
1
+
Cover
Table of
Contents
Chapter
1
+
Page
Paragraph
1
+
Word
Index
System Concepts for Object Modeling

Messages and Message Sending


Objects/Classes interact or "communicate" with one another by
passing messages.
 A message is passed when one object invokes another object's
method (behavior) to request information or some action
An object sending a message does not need to know how the
receiving object is organized internally or how the behavior is to
be accomplished, only that it responds to the request in a welldefined way.
MESSAGE
REQUEST
(containing name of request behavior
and attribute needed by ORDER)
Customer
display order status
of order 23161
Order
order number
order date
order status
etc.
add order
modify order
delete order
display status
etc.
System Concepts for Object Modeling

Messages and Message Sending


Polymorphism - What is it?
 Polymorphism means “many forms”. Applied to objectoriented techniques, it means that a behavior may be completed
differently for different objects/classes.
The requesting object knows the what service (or behavior) to
request and from which object. However, the requesting object
does not need to worry about how a behavior is accomplished.
The Process of Object Modeling

Performing Object Oriented Analysis (OOA)




The purpose of OOA is to gain a better understanding of the
system and its functional requirements.
OOA requires that we identify the objects, their data attributes,
associated behavior, and relationships which support the required
business system functionality.
We perform object modeling to document the identified objects,
the data and behavior they encapsulate, plus their relationships
with other objects.
Two general activities when performing object oriented analysis:
 Finding and identifying the business objects.
 Organizing the objects and identifying their relationships.
The Process of Object Modeling

Finding And Identifying The Business Objects


In trying to identify objects, many methodology experts
recommend the technique of searching the requirements document
or other associated documentation and underline the nouns which
may represent potential objects.
 This could be a monumental task! There are just too many
nouns.
One of the more popular and successful approaches for finding and
identifying objects, is a technique called Use Case Modeling
developed by Dr. Ivar Jacobson.
 Use Case Modeling is the process of identifying and modeling
business events, who initiated them, and how the system
responds to them.
The Process of Object Modeling

Finding And Identifying The Business Objects

Use case modeling breaks down the entire scope of system
functionality into many smaller statements of system functionality
called use cases or business events.
 A use case a behaviorally related sequence of steps (a
scenario), both automated and manual for the purpose of
completing a single business task.
 This smaller format simplifies and makes more efficient the
technique of underlining the nouns.
 It identifies and describes the system functions from the
perspective of external users.
The Process of Object Modeling

Finding And Identifying The Business Objects

Use Cases are initiated by users or systems called Actors.
 An actor represents anything that needs to interact with the
system to exchange information. An actor is a user, a role,
which could be an external system as well as a person.
• An actor initiates system activity, a use case, for the purpose of
completing some business task.
• An actor represents a role fulfilled by a user interacting with the
system and is not meant to portray a single individual or job title.
• For events that are triggered by time called temporal events, the
actor is the system itself.
The Process of Object Modeling

Finding And Identifying The Business Objects

Use cases provide the following benefits:
 As a basis to help identify objects and their high level
relationships and responsibilities.
 A view of system behavior from external person’s viewpoint.
 An effective tool for validating requirements.
 An effective communication tool.
 As a basis for a test plan.
 As a basis for a user’s manual.
The Process of Object Modeling

Finding And Identifying The Business Objects

Step 1: Identifying Actors and Use Cases.
 A good place to find potential actors and use cases is by
analyzing the context model diagram of the system.
• If an external party initiates the input, it is considered an actor.
• Some of the inputs are self explanatory, but others may be
misleading, it is always wise to confirm your findings with the
system’s business analyst.
Member Services
Context Model
Subscription Offer
Club Promtion
New Subscription
Promotion Order
Club Member
Regular Order
Potential
Member
Subscrition
Renewal Offer
Past Member
Member Credit
Status
Subscrition
Renewal
Order To Be Filled
Member Services
System
Membership
Reports
Warehouse
New Membership
Plan & Subscrition
Offer
Sales & Promotion
Reports
New Monthly or
Seasonal Promotion
Member Services
Department
Accounts
Receivable
Data Base
Marketing
Department
ACTOR
USE CASE
Club Member
initiates
Potential Member
Past Member
Member Services Department
Marketing Department
initiates
initiates
initiates
initiates
Member Services System
initiates
Submit Promotion Order
Submit Regular Order
Submit New Subscription
Submit Subscription Renewal
Request Membership Rpts.
Create New Monthly Promotion
Create New Seasonal Promotion
Create New Subscription Program
Request Promotion Rpts.
Request Sales Rpts.
Send New Subscription Offer
Send Club Promotion
Send Subscription Renewal Offer
The Process of Object Modeling

Finding And Identifying The Business Objects

Step 2: Constructing a Use Case Model
 A Use Case Model Diagram is used to graphically depict the
system scope and boundaries in terms of use cases and actors.
 The use case model diagram represents the relationships
between the actors and use cases defined for each business
subsystem.
• The subsystems represent logical functional areas of business
processes.
• The partitioning of system behavior into subsystems is very
important in understanding the system architecture and is very key
to defining your development strategy — which use cases will be
developed first and by who.
Member Services System
Use Case Model
Submit Regular
Order
Member
Services
Department
Past
Member
Club
Member
Request Sales Rpts.
O rd e rs
S ub s y s te m
Submit Promotion
Order
M e m b e rs hi p
S ub s y s te m
Request
Membership Rpts.
Submit
Subscription
Renewal
Create New
Subscription
Program
Marketing
Department
Submit New
Subscription
Send Subscription
Renewal Offer
Send New
Subscription Offer
Create New
Create New
Seasonal Promotion Monthly Promotion
Request Promotion
Rpts.
P ro m o tio ns
S ub s y s te m
Potential
Member
Member
Services
System
Send Club
Promotion
The Process of Object Modeling

Finding And Identifying The Business Objects

Step 3: Documenting the Use Case Course of Events
 For each use case identified, use case’s normal course of events
must be documented.
 A use case’s normal course of events is a step by step
description starting with the actor initiating the use case until
the end of the business event.
• At this point we only include the major steps which happen the
majority of the time (its normal course).
• Exception conditions or conditional branching logic will be
documented in a later step.
USE CASE
Author:__L. Bentley_
Date:__10/01/96_
Submit Promotion Order
USE CASE NAME:
ACTOR:
A Club Member
Describes the process when a club member submits a club promotion order to either
DESCRIPTION:
B
NORMAL
COURSE:
indicate the products they are interested in ordering or declining to order during
this promotion.
1.
This use case is initiated when the club member submits the promotion order to
be processed.
2.
The club member’s personal information such as address is validated against
what is currently recorded in member services.
The promotion order is verified to see if product is being ordered.
The club member’s credit status is checked with Accounts Receivable to make
sure no payments are outstanding.
For each product being ordered, validate the product number.
For each product being ordered, check the availability in inventory and record
the ordered product information which include “quantify being ordered” and
give each ordered product a status of “open”.
Create a Picking Ticket for the promotion order containing all ordered
products which have a status “open”.
Route the Picking Ticket to the Warehouse.
3.
4.
C
5.
6.
7.
8.
D
E
F
PRE-CONDITION:
Use case Send Club Motion has been processed.
POST-CONDITION:
Promotion order has been recorded and the Picking Ticket has been routed to the
Warehouse.
ASSUMPTIONS:
The Process of Object Modeling

Finding And Identifying The Business Objects

Step 4: Identifying Use Case Dependencies.
 Some use cases may be dependent on other use cases, with one
use case leaving the system in a state that is a precondition for
another use case.
 We use a diagram called the Use Case Dependency Diagram
to model dependencies.
The Process of Object Modeling

Finding And Identifying The Business Objects

Step 4: Identifying Use Case Dependencies.
 The use case dependency diagram provides the following
benefits:
• A graphical depiction of the system’s events and their states
enhances the understanding of system functionality.
• It helps to identify missing use cases. A use case with a
precondition that is not satisfied by the execution of any other use
case may indicate a missing use case.
• Helps facilitate project management by depicting which use cases
are more critical (have the most dependencies) and thus need to
have a higher priority.
Member Services System
Use Case Dependency Diagram
depends on
Send Subscription
Renewal Offer
Subscription
Renewal
depends on
Create New
Subscription
Program
depends on
Request
Membership Rpts.
depends on
Send New
Subscription Offer
Submit New
Subscription
Request Promotion
Rpts.
Request Sales
Rpts.
Create New
Seasonal Promotion
depends on
depends on
OR
depends on
Create New
Monthly Promotion
Send Club
Promotion
Submit Promotion
Order
Submit Regular
Order
The Process of Object Modeling

Finding And Identifying The Business Objects

Step 5: Documenting the Use Case Alternate Course of Events
 A use case has one normal event course that was previously
defined, and possibly many alternate courses.
• Alternate courses are deviations or branches, from the normal
event course.
• Alternate courses are documented in a separate use case course.
USE CASE
Author:__L. Bentley
USE CASE NAME:
ACTOR:
DESCRIPTION:
NORMAL
COURSE:
Date:_ 10/02/96
Submit Promotion Order
Club Member
Describes the process when a club member submits a club promotion order to either
indicate the products they are interested in ordering or declining to order during
this promotion.
1.
This use case is initiated when the club member submits the promotion order to
be processed.
2.
The club member’s personal information such as address is validated against
what is currently recorded in member services.
The promotion order is verified to see if product is being ordered.
The club member’s credit status is checked with Accounts Receivable to make
sure no payments are outstanding.
For each product being ordered, validate the product number.
For each product being ordered, check the availability in inventory and record
the ordered product information which include “quantify being ordered” and
give each ordered product a status of “open”.
Create a Picking Ticket for the promotion order containing all ordered
products which have a status “open”.
Route the Picking Ticket to the Warehouse.
3.
4.
5.
6.
7.
8.
ALTERNATE
COURSE:
PRE-CONDITION:
POST-CONDITION:
ASSUMPTIONS:
2.
If the club member has indicated an address or telephone number change on
the promotion order, update the club member’s record with the new
information.
3. If the club member is not ordering product at this time, modify the promotion
order’s status to be “closed” and modify the selection of the month ordered
product’s record to have a status of “rejected”, then cancel the transaction.
4. If Accounts Receivable returns a credit status that the customer is in arrears,
invoke abstract use case Send Order Rejection Notice. Modify the promotion
order’s status to be “on hold pending payment”.
5a. If the product number is not valid, create an Order Error Report containing the
club member’s information, the promotion order information and the product
number in error. Each completed report will be routed to a Member Services
clerk for resolution.
5b. If the club member is not ordering the selection of the month, modify the
ordered product’s record to have a status of “rejected”.
6. If the product being ordered is not available, record the ordered product
information which include “quantify being ordered” and give a status of
“backordered”.
7. If there are no ordered product records with a status of “open”, cancel the
transaction.
Use case Send Club Motion has been processed.
Promotion order has been recorded and the Picking Ticket has been routed to the
Warehouse.
The Process of Object Modeling

Finding And Identifying The Business Objects


Step 6: Finding The Potential Objects.
 This step is accomplished by reviewing each use case to find
nouns that correspond to business entities or events.
Step 7: Selecting The Proposed Objects.
 Not all the of the nouns represent good business objects.
 Remove the nouns that represent:
•
•
•
•
•
Synonyms
Nouns outside the scope of the system
Nouns that are roles without unique behavior or are external roles
Unclear nouns that need focus
Nouns that are really actions or attributes
USE CASE
Author:__L. Bentley
USE CASE NAME:
ACTOR:
DESCRIPTION:
NORMAL
COURSE:
Date:__10/05/96_
Submit Promotion Order
Club Member
Describes the process when a club member submits a promotion order to either
indicate the products they are interested in ordering or declining to order during
this promotion.
1.
This use case is initiated when the club member submits the promotion order to
be processed.
2.
The club member’s personal information such as address is validated against
what is currently recorded in member services.
The promotion order is verified to see if product is being ordered.
3.
4.
5.
6.
7.
8.
ALTERNATE
COURSE:
PRE-CONDITION:
POST-CONDITION:
ASSUMPTIONS:
The club member’s credit status is checked with Accounts Receivable to
make sure no payments are outstanding.
For each product being ordered, validate the product number.
For each product being ordered, check the availability in inventory and record
the ordered product information which include “quantify being ordered”,
and give each ordered product a status of “open”.
Create a Picking Ticket for the promotion order containing all ordered
products which have a status “open”.
Route the Picking Ticket to the Warehouse.
2.
If the club member has indicated an address or telephone number change on
the promotion order, update the club member’s record with the new
information.
3. If the club member is not ordering product at this time, modify the promotion
order’s status to be “closed” and modify the selection of the month ordered
product’s record to have a status of “rejected”, then cancel the transaction.
4. If Accounts Receivable returns a credit status that the club member is in
arrears, invoke abstract use case Send Order Rejection Notice. Modify the
promotion order’s status to be “on hold pending payment”.
5a. If the product number is not valid, create an Order Error Report containing
the club member’s information, the promotion order information and the
product number in error. Each completed report will be routed to a Member
Services clerk for resolution.
5b. If the club member is not ordering the selection of the month, modify the
ordered product’s record to have a status of “rejected”.
6. If the product being ordered is not available, record the ordered product
information which include “quantify being ordered” and give a status of
“backordered”.
7. If there are no ordered product records with a status of “open”, cancel the
transaction.
Use case Send Club Motion has been processed.
Promotion order has been recorded and the Picking Ticket has been routed to the
Warehouse.
POTENTIAL OBJECT
LIST
Club Member
Potential Member
Past Member
Member Services Department
Marketing Department
Member Services System
Member Address
Promotion order
Product
Product Inventory
Order Quantity
Ordered Product
Credit Status
Payments
Ordered Product Status
Picking Ticket
Warehouse
Member Telephone Number
Selection Of Month
Transaction
Accounts Receivable
Promotion Order Status
Order Error Report
Member Services Clerk
POTENTIAL OBJECT
LIST
Club Member
Potential Member
Past Member
Member Services Department
Marketing Department
Member Services System
Member Address
Promotion order
Product
Product Inventory
Order Quantity
Ordered Product
Credit Status
Payment
Ordered Product Status
Picking Ticket
Warehouse
Member Telephone Number
Selection Of Month
Transaction
Accounts Receivable
Promotion Order Status
Order Error Report
Member Services Clerk
REASON

























Type of “MEMBER”
Type of “MEMBER”
Type of “MEMBER”
Not relevant for current project
Not relevant for current project
Not relevant for current project
Attribute of “MEMBER”
Result of an event named “PROMOTION”
Type of “MEMBER ORDER”
“PRODUCT”
Attribute of “PRODUCT”
Attribute of “MEMBER ORDER”
“PRODUCT ON ORDER”
Attribute of “MEMBER”
Out of Scope
Attribute of “PRODUCT ON ORDER”
Potential interface item
Not relevant for current project
Attribute of “MEMBER”
Type of “TITLE”
Not relevant for current project
Not relevant for current project
Attribute of “MEMBER ORDER”
Potential interface item
Not relevant for current project
PROPOSED OBJECT
LIST
MEMBER
MEMBER ORDER
PRODUCT
PRODUCT ON ORDER
TITLE
PROMOTION
PLUS
MERCHANDISE
AUDIO TITLE
VIDEO TITLE
GAME TITLE
CLUB
CLUB MEMBERSHIP
AGREEMENT
The Process of Object Modeling

Organizing The Objects and Identifying Their
Relationships


Once the business objects of the system have been identified, it is
time to organize those objects and document any major conceptual
relationships between the objects.
An Object Association Model is used to graphically depict the
objects and their relationships.
 This diagram will also include multiplicity,
generalization/specialization relationships and aggregation
relationships.
The Process of Object Modeling

Organizing The Objects and Identifying Their
Relationships

Step 1: Identifying Associations and Multiplicity
 In this step we need to identify relationships or associations that
exists between objects/classes.
• Recall that a relationship between two objects/classes is what one
object/class “needs to know” about the other.
• Once the relationship have been identified, the multiplicity that
governs the relationship must be defined.
The Process of Object Modeling

Organizing The Objects and Identifying Their
Relationships

Step 2: Identifying Generalization/Specialization Relationships
 Generalization/Specialization relationships may be discovered
by looking at the object model association diagram.
• Do any associations exist between two objects that have a one-toone multiplicity?
• Can you say the sentence “object X is a object Y” and it be true?
• Do two or more objects have common attributes and behaviors?

Why do we want generalization/specialization relationships?
• It allows us to take advantage of inheritance which facilitates the
reuse of objects and programming code.
The Process of Object Modeling

Organizing The Objects and Identifying Their
Relationships

Step 3: Identifying Aggregation Relationships
 In this step we must determine if any aggregation or
composition relationships exist.
 Aggregation relationships are asymmetric, in that object B is
part of Object A but, object A is not part of object B.
 Aggregation relationships do not imply inheritance, in that
object B does not inherit behavior or attributes from object A.
 Aggregation relationships propagate behavior in that behavior
applied to the whole is automatically applied to the parts.
The Process of Object Modeling

Organizing The Objects and Identifying Their
Relationships

Step 4: Preparing The Object Association Model
 In this step construct the object association model diagram
which depicts how the objects are related to each other and
what type the relationships are.
MEMBER SERVICES INFORMATION SYSTEM
HIGH LEVEL OBJECT MODEL
PRODUCT ON ORDER
MEMBER ORDER
sells
MEMBER
placed
1+
sold as
enrolls in
1+
PRODUCT
CLUB MEMBERSHIP
sponsors
binds
is a
MERCHANDISE
TITLE
PROMOTION
generates
CLUB
sponsors
AGREEMENT
establishes
1+
is a
AUDIO TITLE
VIDEO TITLE
GAME TITLE
Summary




Introduction
An Introduction to Object Modeling
System Concepts for Object Modeling
The Process of Object Modeling
Download