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

An Introduction to Object Modeling An Introduction to Object Modeling The approach of using object modeling during systems analysis and design is called

Embed Size (px)

Citation preview

Page 1: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 2: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 3: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 4: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 5: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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

Page 6: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 7: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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

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

Page 8: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 9: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 10: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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

Page 11: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

(Customer)

customer number = 412209last name = Bentleyfirst name = Lonniehome phone = 317-463-9593street = 2625 DarwinDrivecity = West Lafayettestate = Indianazipcode = 47906etc.

(a)

(Book)

ISBN = 0256101329type = textbooktitle = Systems Analysis & Design Methodscopyright = 1996

(b)

(Book)

ISBN = 0256102219type = workbooktitle = Projects and Cases to AccompanySADMcopyright = 1996

Person Class(supertype)

Student Class(subtype)

Teacher Class(subtype)

Student A Student B Student C Teacher A Teacher B

(c)

OpenClose

ISBNtypetitlecopyright

Book

(d)

Page 12: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

walkjumptalksleepeatetc.

last namefirst namebirthdategender

Person

enrolldisplay GPA

GPAclassification

Student

lecture

rank

Teacher

Page 13: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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

Page 14: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 15: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

Class name

Class name

Class name

Class name

Class name

1+

n, m

means one and only one

means zero or more

means zero or one

one or more

means minimum of n andmaximum of m (ie. 1,7)

(b)

MultiplicityNotation

Meaning ofNotation

Customer OrderPlaces

(a)

Page 16: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 17: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 18: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

Book

CoverTable ofContents Chapter Index

Page

Paragraph

Word

1+

1+

1+

Page 19: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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 well-defined way.

Page 20: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

Customeradd ordermodify orderdelete orderdisplay statusetc.

order numberorder dateorder statusetc.

Order

display order statusof order 23161

MESSAGEREQUEST

(containing name of request behaviorand attribute needed by ORDER)

Page 21: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

System Concepts for Object Modeling

Messages and Message Sending Polymorphism - What is it?

Polymorphism means “many forms”. Applied to object-oriented 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.

Page 22: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 23: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 24: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 25: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 26: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 27: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 28: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

Warehouse

Member ServicesSystem

Club Member

MarketingDepartment

PotentialMember

Subscription Offer

New Subscription

New MembershipPlan & Subscrition

Offer

Sales & PromotionReports

Order To Be Filled

Club Promtion

Promotion Order

Member ServicesContext Model

New Monthly orSeasonal Promotion

Past Member

SubscritionRenewal Offer

SubscritionRenewal

Member CreditStatus

AccountsReceivableData Base

Regular Order

Member ServicesDepartment

MembershipReports

Page 29: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

ACTOR USE CASEClub Member initiates Submit Promotion Order

Submit Regular OrderPotential Member initiates Submit New SubscriptionPast Member initiates Submit Subscription RenewalMember Services Department initiates Request Membership Rpts.Marketing Department initiates Create New Monthly Promotion

Create New Seasonal PromotionCreate New Subscription ProgramRequest Promotion Rpts.Request Sales Rpts.

Member Services System initiates Send New Subscription OfferSend Club PromotionSend Subscription Renewal Offer

Page 30: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 31: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

MemberServices

Department

MarketingDepartment

MemberServicesSystem

PastMember

PotentialMember

ClubMember

Create NewSeasonal Promotion

Request PromotionRpts.

RequestMembership Rpts.

Request Sales Rpts.

Create NewSubscription

Program

Create NewMonthly Promotion

Submit NewSubscription

Send NewSubscription Offer

SubmitSubscription

Renewal

Send SubscriptionRenewal Offer

Submit PromotionOrder

Send ClubPromotion

Submit RegularOrder

Member Services SystemUse Case Model

PromotionsSubsystem

OrdersSubsystem

MembershipSubsystem

Page 32: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 33: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

USE CASEAuthor:__L. Bentley_ Date:__10/01/96_USE CASE NAME: Submit Promotion Order

ACTOR: Club Member

DESCRIPTION: Describes the process when a club member submits a club promotion order to eitherindicate the products they are interested in ordering or declining to order duringthis promotion.

NORMALCOURSE:

1. This use case is initiated when the club member submits the promotion order tobe processed.

2. The club member’s personal information such as address is validated againstwhat is currently recorded in member services.

3. The promotion order is verified to see if product is being ordered.

4. The club member’s credit status is checked with Accounts Receivable to makesure no payments are outstanding.

5. For each product being ordered, validate the product number.

6. For each product being ordered, check the availability in inventory and recordthe ordered product information which include “quantify being ordered” andgive each ordered product a status of “open”.

7. Create a Picking Ticket for the promotion order containing all orderedproducts which have a status “open”.

8. Route the Picking Ticket to the Warehouse.

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

ASSUMPTIONS:

A

B

C

D

E

F

Page 34: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 35: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 36: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

Create NewSeasonal Promotion

Send ClubPromotion

Request PromotionRpts.

Create NewMonthly Promotion

Submit PromotionOrder

Send NewSubscription Offer

Send SubscriptionRenewal Offer

Submit NewSubscription

RequestMembership Rpts.

SubscriptionRenewal

Create NewSubscription

Program

Request SalesRpts.

Submit RegularOrder

OR

Member Services SystemUse Case Dependency Diagram

depends on

depends on

depends on

depends on

depends on

depends on

depends on

Page 37: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 38: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

USE CASEAuthor:__L. Bentley Date:_ 10/02/96USE CASE NAME: Submit Promotion Order

ACTOR: Club Member

DESCRIPTION: Describes the process when a club member submits a club promotion order to eitherindicate the products they are interested in ordering or declining to order duringthis promotion.

NORMALCOURSE:

1. This use case is initiated when the club member submits the promotion order tobe processed.

2. The club member’s personal information such as address is validated againstwhat is currently recorded in member services.

3. The promotion order is verified to see if product is being ordered.

4. The club member’s credit status is checked with Accounts Receivable to makesure no payments are outstanding.

5. For each product being ordered, validate the product number.

6. For each product being ordered, check the availability in inventory and recordthe ordered product information which include “quantify being ordered” andgive each ordered product a status of “open”.

7. Create a Picking Ticket for the promotion order containing all orderedproducts which have a status “open”.

8. Route the Picking Ticket to the Warehouse.

ALTERNATECOURSE:

2. If the club member has indicated an address or telephone number change onthe promotion order, update the club member’s record with the newinformation.

3. If the club member is not ordering product at this time, modify the promotionorder’s status to be “closed” and modify the selection of the month orderedproduct’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 promotionorder’s status to be “on hold pending payment”.

5a. If the product number is not valid, create an Order Error Report containing theclub member’s information, the promotion order information and the productnumber in error. Each completed report will be routed to a Member Servicesclerk for resolution.

5b. If the club member is not ordering the selection of the month, modify theordered product’s record to have a status of “rejected”.

6. If the product being ordered is not available, record the ordered productinformation 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 thetransaction.

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

ASSUMPTIONS:

Page 39: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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

Page 40: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

USE CASEAuthor:__L. Bentley Date:__10/05/96_USE CASE NAME: Submit Promotion Order

ACTOR: Club Member

DESCRIPTION: Describes the process when a club member submits a promotion order to eitherindicate the products they are interested in ordering or declining to order duringthis promotion.

NORMALCOURSE:

1. This use case is initiated when the club member submits the promotion order tobe processed.

2. The club member’s personal information such as address is validated againstwhat is currently recorded in member services.

3. The promotion order is verified to see if product is being ordered.

4. The club member’s credit status is checked with Accounts Receivable tomake sure no payments are outstanding.

5. For each product being ordered, validate the product number.

6. For each product being ordered, check the availability in inventory and recordthe ordered product information which include “quantify being ordered”,and give each ordered product a status of “open”.

7. Create a Picking Ticket for the promotion order containing all orderedproducts which have a status “open”.

8. Route the Picking Ticket to the Warehouse.

ALTERNATECOURSE:

2. If the club member has indicated an address or telephone number change onthe promotion order, update the club member’s record with the newinformation.

3. If the club member is not ordering product at this time, modify the promotionorder’s status to be “closed” and modify the selection of the month orderedproduct’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 inarrears, invoke abstract use case Send Order Rejection Notice. Modify thepromotion order’s status to be “on hold pending payment”.

5a. If the product number is not valid, create an Order Error Report containingthe club member’s information, the promotion order information and theproduct number in error. Each completed report will be routed to a MemberServices clerk for resolution.

5b. If the club member is not ordering the selection of the month, modify theordered product’s record to have a status of “rejected”.

6. If the product being ordered is not available, record the ordered productinformation 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 thetransaction.

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

ASSUMPTIONS:

Page 41: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

POTENTIAL OBJECTLIST

Club MemberPotential MemberPast MemberMember Services DepartmentMarketing DepartmentMember Services SystemMember AddressPromotion orderProductProduct InventoryOrder QuantityOrdered ProductCredit StatusPaymentsOrdered Product StatusPicking TicketWarehouseMember Telephone NumberSelection Of MonthTransactionAccounts ReceivablePromotion Order StatusOrder Error ReportMember Services Clerk

Page 42: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

POTENTIAL OBJECTLIST

REASON

Club Member Type of “MEMBER”Potential Member Type of “MEMBER”Past Member Type of “MEMBER”Member Services Department Not relevant for current projectMarketing Department Not relevant for current projectMember Services System Not relevant for current projectMember Address Attribute of “MEMBER”Promotion order Result of an event named “PROMOTION”

Type of “MEMBER ORDER”Product “PRODUCT”Product Inventory Attribute of “PRODUCT”Order Quantity Attribute of “MEMBER ORDER”Ordered Product “PRODUCT ON ORDER”Credit Status Attribute of “MEMBER”Payment Out of ScopeOrdered Product Status Attribute of “PRODUCT ON ORDER”Picking Ticket Potential interface itemWarehouse Not relevant for current projectMember Telephone Number Attribute of “MEMBER”Selection Of Month Type of “TITLE”Transaction Not relevant for current projectAccounts Receivable Not relevant for current projectPromotion Order Status Attribute of “MEMBER ORDER”Order Error Report Potential interface itemMember Services Clerk Not relevant for current project

Page 43: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

PROPOSED OBJECTLIST

MEMBERMEMBER ORDERPRODUCTPRODUCT ON ORDERTITLEPROMOTION

PLUS

MERCHANDISEAUDIO TITLEVIDEO TITLEGAME TITLECLUBCLUB MEMBERSHIPAGREEMENT

Page 44: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 45: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 46: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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

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

Page 47: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 48: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

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.

Page 49: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

PRODUCT ON ORDER

CLUB MEMBERSHIP

AUDIO TITLE VIDEO TITLE GAME TITLE

MEMBER ORDER MEMBER

MERCHANDISE

PRODUCT

TITLE AGREEMENTCLUBPROMOTION

MEMBER SERVICES INFORMATION SYSTEMHIGH LEVEL OBJECT MODEL

is a

is a

generates sponsors

sponsors

1+

establishes

binds

1+

enrolls in

placed

sold as

1+

sells

Page 50: An Introduction to Object Modeling  An Introduction to Object Modeling  The approach of using object modeling during systems analysis and design is called

Summary

Introduction An Introduction to Object Modeling System Concepts for Object Modeling The Process of Object Modeling