02 object modeling technique

50
Copyright Irwin/McGraw-Hill 1998 1 O bject Model i ng 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 objectoriented approach is centered around a technique referred to as object modeling . Object modeling  is a technique for identifying objects within the systems en!ironment, and the relationships between those objects.

Upload: muhammad-romadhon-batukarang-esd

Post on 06-Jul-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 1/50

Page 2: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 2/50

Copyright Irwin/McGraw-Hill 19982

Object Modeling

System Concepts for Object Modeling

Objects, Attributes, Methods, and Encapsulation The objectoriented approach to system de!elopment is based on

the concept of objects that exist within a system"s en!ironment.

#bjects are e!erywhere $ebster"s %ictionary definition of an object.

Something that is or is capable of being seen, touched, or

otherwise sensed.

 &n objectoriented approaches to systems de!elopment the

definition of an object is as follows' n object is something that is or is capable of being seen,

touched, or otherwise sensed, and about which users store data

and associate beha!ior.

Page 3: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 3/50

Copyright Irwin/McGraw-Hill 19983

Object Modeling

System Concepts for Object Modeling

Objects, Attributes, Methods, and Encapsulation The types of objects may include a person, place, thing , or event .

 n employee, customer, !endor, and student are examples of

 person objects. particular warehouse, regional office, building, and room are

examples of place objects.

product, !ehicle, equipment, !ideo tape, or a window

appearing on a users display monitor are examples of thing  

objects. n order, payment, in!oice, application, registration, and

reser!ation are examples of event  objects.

Page 4: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 4/50

Copyright Irwin/McGraw-Hill 19984

Object Modeling

System Concepts for Object Modeling

Objects, Attributes, Methods, and Encapsulation &n the objectoriented circles, the term data* refers to what are

called attributes.

Attributes are the data that represent characteristics of interestabout an object.

+xample attributes for the person object called customer'• -T#/+0 -/+0, 3&0T /+, 4T /+, 5#/+

%%0+, $#06 %%0+, T78+ #3 -T#/+0, 5#/+ 85#+,

$#06 85#+, 0+%&T 4&/&T, 9&44+ 0+%&T, #-T

4+, and #-T TT-.  +ach indi!idual customer object is referred to as an object

instance.

• n instance (or object instance) of an object consists of the !alues

for the attributes that describe a specific person, place, thing, or

e!ent.

Page 5: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 5/50

Copyright Irwin/McGraw-Hill 19985

Object Modeling

System Concepts for Object Modeling

Objects, Attributes, Methods, and Encapsulation $hat 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 (orattributes).

&n objectoriented circles, an object"s beha!ior is commonly

referred to as a method  or service.

n object is solely responsible for carrying out any functions

or beha!iors that act upon its own data (or attributes).• 3or example, only 7#- (an object) may 5:+ (beha!ior)

your 4T /+ and 5#/+ %%0+ (attributes about you).

Page 6: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 6/50

Copyright Irwin/McGraw-Hill 19986

Object Modeling

System Concepts for Object Modeling

Objects, Attributes, Methods, and Encapsulation  Encapsulation, an important concept.

Encapsulation is the pac;aging of se!eral items together into

one unit. oth attributes and beha!ior of the object are pac;aged

together.

The only way to access an object<s attributes is through that

object"s beha!iors.

 o other object may perform that object"s beha!ior.

Page 7: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 7/50Copyright Irwin/McGraw-Hill 19987

Object Modeling

System Concepts for Object Modeling

Classes, enerali!ation, and "peciali!ation n important concept of object modeling is the concept of

categori=ing objects into classes.

class is a set of objects that share common attributes and beha!ior. class is sometimes referred to as an object class.

3or example, textboo; and wor;boo; objects represent thing

objects that ha!e some similar attributes and beha!ior and

could be classified as ##6s .

class may also ha!e subclasses of objects.  3or example, T-%+T and T+5+0 object classes could

 be members of the class 8+0#.

Page 8: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 8/50Copyright Irwin/McGraw-Hill 19988

Object Modeling

System Concepts for Object Modeling

Classes, enerali!ation, and "peciali!ation $hen le!els of classes are identified, the concept of inheritance is

applied.

#nheritance means that methods and>or attributes defined in anobject class can be inherited or reused by another object class.

The approach that see;s to disco!er and exploit the commonalties

 between objects>classes is referred to as

 generalization/specialization.

enerali!ation$speciali!ation is a technique wherein theattributes and beha!iors that are common to se!eral 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: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 9/50Copyright Irwin/McGraw-Hill 19989

Object Modeling

System Concepts for Object Modeling

Classes, enerali!ation, and "peciali!ation $hen le!els of classes are identified, the concept of inheritance is

applied.

#nheritance means that methods and>or attributes defined in anobject class can be inherited or reused by another object class.

&n the object class 8+0#, T-%+T and T+5+0 example,

8+0# is referred to as a supertype (or generali=ation class)

whereas T-%+T and T+5+0 are referred to as subtypes (or

speciali=ation class ).  class supertype is an entity whose instances store attributes

that are common to one or more class subtypes.

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: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 10/50Copyright Irwin/McGraw-Hill 199810

Object Modeling

System Concepts for Object Modeling

Classes, enerali!ation, and "peciali!ation The class supertype will ha!e one or more one-to-one relationships

to object class subtypes.

These relationships are sometimes called & * relationships(or $ *, or #-4% + *) because each instance of

the supertype is also an* instance of one or more subtypes.

-sing #/T notation, classes are represented on an object model

as a rectangle.

The rectangle is di!ided 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 beha!ior (or methods).

Page 11: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 11/50Copyright Irwin/McGraw-Hill 1998

11

Object ModelingC!"to#$r%

c!"to#$r n!#&$r ' 412209la"t na#$ ' ($ntl$y) r"t na#$ ' *onni$ho#$ phon$ ' 317-463-9593"tr$$t ' 2625 +arwin+ri,$city ' $"t *a.ay$tt$

"tat$ ' In/ianaipco/$ ' 47906$tc

(a)

(oo%

I( ' 0256101329typ$ ' t$t&ootitl$ ' y"t$#" naly"i" +$"ign M$tho/"copyright ' 1996

(b)

(oo%

I( ' 0256102219typ$ ' wor&ootitl$ ' 8ro$ct" an/ Ca"$" to cco#pany+Mcopyright ' 1996

8$r"on Cla"""!p$rtyp$%

t!/$nt Cla"""!&typ$%

 :$ach$r Cla"""!&typ$%

t!/$nt t!/$nt ( t!/$nt C  :$ach$r :$ach$r (

(c)

;p$nClo"$

I(typ$titl$copyright

(oo

(d)

Page 12: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 12/50Copyright Irwin/McGraw-Hill 1998

12

Object Modeling

wal

 !#p

tal

"l$$p

$at

$tc

la"t na#$

) r"t na#$

&irth/at$

g$n/$r

8$r"on

$nroll

/i"play G8

G8

cla""i) cation

t!/$nt

l$ct!r$

ran

 :$ach$r

Page 13: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 13/50Copyright Irwin/McGraw-Hill 1998

13

Object Modeling

System Concepts for Object Modeling

Object$Class %elationships #bjects 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.

• n object$class relationship is a natural business association that

exists between one or more objects>classes.

3or example, consider the object classes customer and order

that may exist in a typical information system and how theyinteract.

• a -T#/+0 84+ =ero or more #0%+0s

• an #0%+0 & 84+% 7 one and only one -T#/+0s

Page 14: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 14/50Copyright Irwin/McGraw-Hill 1998

14

Object Modeling

System Concepts for Object Modeling

Object$Class %elationships $e graphically illustrate the association(relationship) between two

classes as a connecting line.

!erb phrase describes the relationship. ll relationships are implicitly bidirectional, meaning that they

can interpreted in both directions.

$hat is multiplicity?

Multiplicity defines the minimum and maximum number of

occurrences of one object>class for a single occurrence of therelated object>class.

ecause all relationships are bidirectional, multiplicity must

 be defined in both directions for e!ery relationship.

Page 15: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 15/50Copyright Irwin/McGraw-Hill 1998

15

Object Modeling

Cla"" na#$

Cla"" na#$

Cla"" na#$

Cla"" na#$

Cla"" na#$

1<

n= #

#$an" on$ an/ only on$

#$an" 0$ro or #or$

#$an" 0$ro or on$

on$ or #or$

#$an" #ini#!# o. n an/#a5i#!# o. # i$ 1=7%

(b)

MultiplicityNotation

Meaning of Notation

C!"to#$r ;r/$r8lac$"

(a)

Page 16: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 16/50Copyright Irwin/McGraw-Hill 1998

16

Object Modeling

System Concepts for Object Modeling

Object$Class %elationships $hat are aggregation class relationships?

ometimes objects>classes are made up of other objects>classes.

This type of relationship is called aggregation.• &t is also sometimes referred to as wholepart* or partof*

relationships.

3or example, the T+@T##6 object may contain se!eral

objects, including' #9+0, T4+ #3 #T+T,

58T+0, and &%+@ objects.

• The 58T+0 object contains 8:+ objects, which in turn

contain 80:085 objects, which in turn contain $#0%

objects, and so forth.

Page 17: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 17/50

Copyright Irwin/McGraw-Hill 199817

Object Modeling

System Concepts for Object Modeling

Object$Class %elationships y identifying aggregation relationships we can partition a !ery

complex object and assign beha!iors and attributes to the

indi!idual objects within it.

/ultiplicity is also specified for aggregate relationships.

Page 18: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 18/50

Copyright Irwin/McGraw-Hill 199818

Object Modeling(oo

Co,$r :a&l$ o. 

Cont$nt" Chapt$r In/$

8ag$

8aragraph

or/

1

<

1

<

1

<

Page 19: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 19/50

Copyright Irwin/McGraw-Hill 199819

Object Modeling

System Concepts for Object Modeling

Messages and Message "ending #bjects>lasses interact or AcommunicateA with one another by

 passing messages.

message is passed when one object in!o;es another object<smethod (beha!ior) to request information or some action

n object sending a message does not need to ;now how the

recei!ing object is organi=ed internally or how the beha!ior is to

 be accomplished, only that it responds to the request in a well

defined way.

Page 20: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 20/50

Page 21: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 21/50

Copyright Irwin/McGraw-Hill 199821

Object Modeling

System Concepts for Object Modeling

Messages and Message "ending 8olymorphism $hat is it?

&olymorphism means many forms*. pplied to object

oriented techniques, it means that a beha!ior may be completeddifferently for different objects>classes.

The requesting object ;nows the what ser!ice (or beha!ior) to

request and from which object. 5owe!er, the requesting object

does not need to worry about how a beha!ior is accomplished.

Page 22: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 22/50

Copyright Irwin/McGraw-Hill 199822

Object Modeling

#$e %rocess of Object Modeling

&er'orming Object Oriented Analysis (OOA)  The purpose of ## is to gain a better understanding of the

system and its functional requirements.

 ## requires that we identify the objects, their data attributes,associated beha!ior, and relationships which support the required

 business system functionality.

$e perform object modeling to document the identified objects,

the data and beha!ior they encapsulate, plus their relationships

with other objects.

Two general acti!ities when performing object oriented analysis'

3inding and identifying the business objects.

#rgani=ing the objects and identifying their relationships.

Page 23: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 23/50

Copyright Irwin/McGraw-Hill 199823

Object Modeling

#$e %rocess of Object Modeling

inding And #denti'ying he Business Objects &n 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 tas;B There are just too many

nouns.

#ne of the more popular and successful approaches for finding

and identifying objects, is a technique called *se Case Modeling 

de!eloped by %r. &!ar Cacobson.

*se Case Modeling is the process of identifying and modeling

 business e!ents, who initiated them, and how the system

responds to them.

Page 24: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 24/50

Copyright Irwin/McGraw-Hill 199824

Object Modeling

#$e %rocess of Object Modeling

inding And #denti'ying he Business Objects -se case modeling brea;s down the entire scope of system

functionality into many smaller statements of system functionality

called use cases or business e!ents.

 use case a beha!iorally related sequence of steps (a

scenario), both automated and manual for the purpose of

completing a single business tas;.

This smaller format simplifies and ma;es more efficient the

technique of underlining the nouns.

&t identifies and describes the system functions from the

 perspecti!e of external users.

Page 25: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 25/50

Copyright Irwin/McGraw-Hill 199825

Object Modeling

#$e %rocess of Object Modeling

inding And #denti'ying he Business Objects -se ases are initiated by users or systems called Actors.

n actor represents anything that needs to interact with the

system to exchange information. n actor is a user, a role,which could be an external system as well as a person.

• n actor initiates system acti!ity, a use case, for the purpose of

completing some business tas;.

• n actor represents a role fulfilled by a user interacting with the

system and is not meant to portray a single indi!idual or job title.

• 3or e!ents that are triggered by time called temporal events, the

actor is the system itself.

Page 26: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 26/50

Copyright Irwin/McGraw-Hill 199826

Object Modeling

#$e %rocess of Object Modeling

inding And #denti'ying he Business Objects -se cases pro!ide the following benefits'

s a basis to help identify objects and their high le!el

relationships and responsibilities. !iew of system beha!ior from external person"s !iewpoint.

n effecti!e tool for !alidating requirements.

n effecti!e communication tool.

s a basis for a test plan.

s a basis for a user"s manual.

Page 27: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 27/50

Copyright Irwin/McGraw-Hill 199827

Object Modeling

#$e %rocess of Object Modeling

inding And #denti'ying he Business Objects tep 1' &dentifying ctors and -se ases. 

good place to find potential actors and use cases is by

analy=ing the context model diagram of the system.• &f an external party initiates the input, it is considered an actor.

• ome 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: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 28/50

Copyright Irwin/McGraw-Hill 199828

Object Modeling

+arehouse

Member "ervices

"ystem

Club Member

Mar,eting

epartment

&otential

Member

ubscription #ffer 

 ew ubscription

 ew /embership

8lan D ubscrition

#ffer 

ales D 8romotion

0eports

#rder To e 3illed

lub 8romtion

8romotion #rder 

Member "ervices

Conte.t Model

 ew /onthly or easonal 8romotion

&ast Member

 ubscrition

0enewal #ffer 

 ubscrition

0enewal

 /ember redit

tatus

Accounts

%eceivable

ata Base

0egular #rder 

Member "ervices

epartment

/embership

0eports

Page 29: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 29/50

Copyright Irwin/McGraw-Hill 199829

Object Modeling

AC)O%  *"E CA"EClub Member   initiates "ubmit &romotion Order

"ubmit %egular Order

&otential Member   initiates "ubmit /e0 "ubscription

&ast Member   initiates "ubmit "ubscription %ene0al

Member "ervices epartment   initiates %e1uest Membership %pts2

Mar,eting epartment   initiates Create /e0 Monthly &romotion

Create /e0 "easonal &romotionCreate /e0 "ubscription &rogram

%e1uest &romotion %pts2

%e1uest "ales %pts2

Member "ervices "ystem   initiates "end /e0 "ubscription O''er

"end Club &romotion

"end "ubscription %ene0al O''er

Page 30: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 30/50

Copyright Irwin/McGraw-Hill 199830

Object Modeling

#$e %rocess of Object Modeling

inding And #denti'ying he Business Objects tep 2' onstructing a -se ase /odel

*se Case Model iagram 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 beha!ior into subsystems is !ery

important in understanding the system architecture and is !ery ;ey

to defining your de!elopment strategy E which use cases will be

de!eloped first and by who.

Page 31: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 31/50

Copyright Irwin/McGraw-Hill 199831

Object Modeling

Member 

Services

Department

Marketing

Department

Member 

Services

System

Past

Member 

Potential

Member 

Club

Member 

Create New

Seasonal Promotion

Request Promotion

Rpts.

RequestMembership Rpts.

Request Sales Rpts.

Create NewSubscription

Program

Create New

Monthly Promotion

Submit New

Subscription

Send New

Subscription !!er 

SubmitSubscription

Renewal

Send Subscri ption

Renewal !!er 

Submit Promotion

rder 

Send Club

Promotion

Submit Regular 

rder 

Member Services SystemUse Case Model

%romotioSubsyste

OrdersSubsyste

embers$ipSubsystem

Page 32: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 32/50

Copyright Irwin/McGraw-Hill 199832

Object Modeling

#$e %rocess of Object Modeling

inding And #denti'ying he Business Objects tep F' %ocumenting the -se ase ourse of +!ents

3or each use case identified, use case"s normal course of e!ents

must be documented.

use case"s normal course of e!ents is a step by step

description starting with the actor initiating the use case until

the end of the business e!ent.

• t this point we only include the major steps which happen the

majority of the time (its normal course).

• +xception conditions or conditional branching logic will be

documented in a later step.

Page 33: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 33/50

Copyright Irwin/McGraw-Hill 199833

Object Modeling*"E CA"EAuthor34452 Bentley4 ate34467$76$894  

*"E CA"E /AME3 ubmit 8romotion #rder 

AC)O%3 lub /ember 

E"C%#&)#O/3 %escribes 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 duringthis promotion.

/O%MA5

CO*%"E3

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 !alidated against

what is currently recorded in member ser!ices.

F. The promotion order is !erified to see if product is being ordered.

G. The club member"s credit status is chec;ed with (ccounts 0ecei!able to ma;esure no payments are outstanding.

H. 3or each product being ordered, !alidate the product number.

I. 3or each product being ordered, chec; the a!ailability in in!entory and record

the ordered product information which include )quantify being ordered* and

gi!e each ordered product a status of )open*.

J. reate a 8ic;ing Tic;et for the promotion order containing all ordered

 products which ha!e a status )open*.

K. 0oute the 8ic;ing Tic;et to the $arehouse.

&%E-CO/#)#O/3 -se case Send Club Motion has been processed.

&O")-CO/#)#O/3 8romotion order has been recorded and the 8ic;ing Tic;et has been routed to the

$arehouse.

A""*M&)#O/"3

Page 34: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 34/50

Copyright Irwin/McGraw-Hill 199834

Object Modeling

#$e %rocess of Object Modeling

inding And #denti'ying he Business Objects tep G' &dentifying -se ase %ependencies. 

ome use cases may be dependent on other use cases, with one

use case lea!ing the system in a state that is a precondition for

another use case.

$e use a diagram called the *se Case ependency iagram 

to model dependencies.

Page 35: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 35/50

Copyright Irwin/McGraw-Hill 199835

Object Modeling

#$e %rocess of Object Modeling

inding And #denti'ying he Business Objects tep G' &dentifying -se ase %ependencies. 

The use case dependency diagram pro!ides the following

 benefits'

• graphical depiction of the system"s e!ents and their states

enhances the understanding of system functionality.

• &t helps to identify missing use cases. use case with a

 precondition that is not satisfied by the execution of any other use

case may indicate a missing use case.

• 5elps facilitate project management by depicting which use casesare more critical (ha!e the most dependencies) and thus need to

ha!e a higher priority.

M b S i S t

Page 36: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 36/50

Copyright Irwin/McGraw-Hill 199836

Object Modeling

Create New

Seasonal Promotion

Send Club

Promotion

Request Promotion

Rpts.

Create New

Monthly Promotion

Submit Promotion

rder 

Send New

Subscription !!er 

Send Subscription

Renewal !!er 

Submit New

Subscription

Request

Membership Rpts.

Subscription

Renewal

Create New

Subscription

Program

Request Sales

Rpts.

Submit Regular 

rder OR 

Member Services System

Use Case Dependency Diagram

depends on

depends on

depends on

depends on

depends on

depends on

depends on

Page 37: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 37/50

Copyright Irwin/McGraw-Hill 199837

Object Modeling

#$e %rocess of Object Modeling

inding And #denti'ying he Business Objects tep H' %ocumenting the -se ase lternate ourse of +!ents

use case has one normal e!ent course that was pre!iously

defined, and possibly many alternate courses.

• lternate courses are de!iations or branches, from the normal

e!ent course.

• lternate courses are documented in a separate use case course.

*"E CA"E

Page 38: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 38/50

Copyright Irwin/McGraw-Hill 199838

Object ModelingAuthor34452 Bentley ate34 67$7:$89

*"E CA"E /AME3 ubmit 8romotion #rder 

AC)O%3 lub /ember 

E"C%#&)#O/3 %escribes 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.

/O%MA5

CO*%"E3

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 !alidated against

what is currently recorded in member ser!ices.

F. The promotion order is !erified to see if product is being ordered.

G. The club member"s credit status is chec;ed with (ccounts 0ecei!able to ma;e

sure no payments are outstanding.

H. 3or each product being ordered, !alidate the product number.

I. 3or each product being ordered, chec; the a!ailability in in!entory and record

the ordered product information which include )quantify being ordered* and

gi!e each ordered product a status of )open*.

J. reate a 8ic;ing Tic;et for the promotion order containing all ordered

 products which ha!e a status )open*.

K. 0oute the 8ic;ing Tic;et to the $arehouse.

A5)E%/A)ECO*%"E3

2. &f the club member has indicated an address or telephone number change onthe promotion order, update the club member"s record with the new

information.

F. &f 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 ha!e a status of )rejected*, then cancel the transaction.

G. &f (ccounts 0ecei!able returns a credit status that the customer is in arrears,

in!o;e abstract use case Send Order Rejection Notice. /odify the promotion

order"s status to be )on hold pending payment*.

Ha. &f the product number is not !alid, create an #rder +rror 0eport containing the

club member"s information, the promotion order information and the product

number in error. +ach completed report will be routed to a /ember er!ices

cler; for resolution.

Hb. &f the club member is not ordering the selection of the month, modify theordered product"s record to ha!e a status of )rejected*.

I. &f the product being ordered is not a!ailable, record the ordered product

information which include )quantify being ordered* and gi!e a status of 

)bac;ordered*.

J. &f there are no ordered product records with a status of )open*, cancel the

transaction.

&%E-CO/#)#O/3 -se case Send Club Motion has been processed.

&O")-CO/#)#O/3 8romotion order has been recorded and the 8ic;ing Tic;et has been routed to the

$arehouse.

A""*M&)#O/"3

Page 39: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 39/50

Copyright Irwin/McGraw-Hill 199839

Object Modeling

#$e %rocess of Object Modeling

inding And #denti'ying he Business Objects tep I' 3inding The 8otential #bjects. 

This step is accomplished by re!iewing each use case to find

nouns that correspond to business entities or e!ents.

tep J' electing The 8roposed #bjects. 

 ot all the of the nouns represent good business objects.

0emo!e the nouns that represent'

• ynonyms

•  ouns outside the scope of the system•  ouns that are roles without unique beha!ior or are external roles

• -nclear nouns that need focus

•  ouns that are really actions or attributes

j i

Page 40: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 40/50

Copyright Irwin/McGraw-Hill 199840

Object Modeling*"E CA"E

Author34452 Bentley ate34467$7;$894  

*"E CA"E /AME3 ubmit &romotion Order

AC)O%3 Club Member

E"C%#&)#O/3 %escribes 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.

/O%MA5CO*%"E3

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

2. The club member"s personal in'ormation such as address is !alidated against

what is currently recorded in member services.

F. The promotion order is !erified to see if product is being ordered.

G. The club member"s credit status is chec;ed with Accounts %eceivable to

ma;e sure no payments are outstanding.

H. 3or each product being ordered, !alidate the product number.

I. 3or each product being ordered, chec; the availability in inventory and record

the ordered product in'ormation which include )1uanti'y being ordered*,

and gi!e each ordered product a status of )open*.

J. reate a &ic,ing )ic,et for the promotion order containing all ordered

 products which ha!e a status )open*.

K. 0oute the 8ic;ing Tic;et to the +arehouse.

A5)E%/A)E

CO*%"E3

2. &f 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.

F. &f the club member is not ordering product at this time, modify the promotion

order"s status to be )closed* and modify the selection o' the month ordered

 product"s record to ha!e a status of )rejected*, then cancel the transaction.

G. &f Accounts %eceivable returns a credit status that the club member is in

arrears, in!o;e abstract use case Send Order Rejection Notice. /odify the

promotion order<s status to be )on hold pending payment*.

Ha. &f the product number is not !alid, create an Order Error %eport containing

the club member"s information, the promotion order information and the

 product number in error. +ach completed report will be routed to a Member

"ervices cler,  for resolution.

Hb. &f the club member is not ordering the selection of the month, modify theordered product"s record to ha!e a status of )rejected*.

I. &f the product being ordered is not a!ailable, record the ordered product

information which include )quantify being ordered* and gi!e a status of 

)bac;ordered*.

J. &f there are no ordered product records with a status of )open*, cancel the

transaction.

&%E-CO/#)#O/3 -se case Send Club Motion has been processed.

&O")-CO/#)#O/3 8romotion order h as been recorded and the 8ic;ing Tic;et has been routed to the

$arehouse.

A""*M&)#O/"3

j i

Page 41: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 41/50

Copyright Irwin/McGraw-Hill 199841

Object Modeling&O)E/)#A5 OB=EC)

5#")

Club Member

&otential Member

&ast MemberMember "ervices epartment

Mar,eting epartment

Member "ervices "ystem

Member Address

&romotion order

&roduct

&roduct #nventory

Order >uantity

Ordered &roductCredit "tatus

&ayments

Ordered &roduct "tatus

&ic,ing )ic,et

+arehouse

Member )elephone /umber

"election O' Month

)ransaction

Accounts %eceivable&romotion Order "tatus

Order Error %eport

Member "ervices Cler, 

bj dli

Page 42: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 42/50

Copyright Irwin/McGraw-Hill 199842

Object Modeling

&OE/#A5 OB=EC

5#"

%EA"O/

Club Member   ype o' ?MEMBE%@

&otential Member 

ype o' ?MEMBE%@

&ast Member   ype o' ?MEMBE%@

Member "ervices epartment   /ot relevant 'or current project

Mareting epartment   /ot relevant 'or current project

Member "ervices "ystem   /ot relevant 'or current project

Member Address   Attribute o' ?MEMBE%@

&romotion order 

%esult o' an event named ?&%OMO#O/@

  ype o' ?MEMBE% O%E%@

&roduct 

?&%O*C@

&roduct #nventory   Attribute o' ?&%O*C@

Order >uantity   Attribute o' ?MEMBE% O%E%@

Ordered &roduct 

?&%O*C O/ O%E%@

Credit "tatus   Attribute o' ?MEMBE%@

&ayment   Out o' "cope

Ordered &roduct "tatus   Attribute o' ?&%O*C O/ O%E%@

&icing icet   &otential inter'ace item

+arehouse   /ot relevant 'or current project

Member elephone /umber 

Attribute o' ?MEMBE%@"election O' Month   ype o' ?#5E@

ransaction   /ot relevant 'or current project

Accounts %eceivable   /ot relevant 'or current project

&romotion Order "tatus   Attribute o' ?MEMBE% O%E%@

Order Error %eport   &otential inter'ace item

Member "ervices Cler    /ot relevant 'or current project

Obj dli

Page 43: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 43/50

Copyright Irwin/McGraw-Hill 199843

Object Modeling

&%O&O"E OB=EC)

5#")

MEMBE% MEMBE% O%E% 

&%O*C

&%O*C O/ O%E% 

#5E

&%OMO#O/

 PLUS 

ME%CA/#"E

A*#O #5E

#EO #5E

AME #5E

C5*B

C5*B MEMBE%"#&

A%EEME/

Obj tM dli

Page 44: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 44/50

Copyright Irwin/McGraw-Hill 199844

Object Modeling

#$e %rocess of Object Modeling

Organi!ing he Objects and #denti'ying heir

%elationships #nce the business objects of the system ha!e been identified, it is

time to organi=e those objects and document any major conceptual

relationships between the objects.

n Object Association Model is used to graphically depict the

objects and their relationships.

This diagram will also include multiplicity,

generali=ation>speciali=ation relationships and aggregation

relationships.

Obj tM dli

Page 45: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 45/50

Copyright Irwin/McGraw-Hill 199845

Object Modeling

#$e %rocess of Object Modeling

Organi!ing he Objects and #denti'ying heir

%elationships tep 1' &dentifying ssociations and /ultiplicity 

&n this step we need to identify relationships or associationsthat exists between objects>classes.

•  0ecall that a relationship between two objects>classes is what one

object>class needs to ;now* about the other.

• #nce the relationship ha!e been identified, the multiplicity that

go!erns the relationship must be defined.

Obj tM dli

Page 46: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 46/50

Copyright Irwin/McGraw-Hill 199846

Object Modeling

#$e %rocess of Object Modeling

Organi!ing he Objects and #denti'ying heir

%elationships tep 2' &dentifying :enerali=ation>peciali=ation 0elationships

:enerali=ation>peciali=ation relationships may be disco!ered by loo;ing at the object model association diagram.

• %o any associations exist between two objects that ha!e a oneto

one multiplicity?

• an you say the sentence object @ is a object 7* and it be true?

• %o two or more objects ha!e common attributes and beha!iors?

$hy do we want generali=ation>speciali=ation relationships?

•  &t allows us to ta;e ad!antage of inheritance which facilitates the

reuse of objects and programming code.

Obj tM dlig

Page 47: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 47/50

Copyright Irwin/McGraw-Hill 199847

Object Modeling

#$e %rocess of Object Modeling

Organi!ing he Objects and #denti'ying heir

%elationships tep F' &dentifying ggregation 0elationships

&n this step we must determine if any aggregation orcomposition relationships exist.

ggregation relationships are asymmetric, in that object is

 part of #bject but, object is not part of object .

ggregation relationships do not imply inheritance, in that

object does not inherit beha!ior or attributes from object . ggregation relationships propagate beha!ior in that beha!ior

applied to the whole is automatically applied to the parts.

Obj tM dlig

Page 48: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 48/50

Copyright Irwin/McGraw-Hill 199848

Object Modeling

#$e %rocess of Object Modeling

Organi!ing he Objects and #denti'ying heir

%elationships tep G' 8reparing The #bject ssociation /odel

&n this step construct the object association model diagramwhich depicts how the objects are related to each other and

what type the relationships are.

Obj tM dligMEMBER SERVICES INFORM!ION S"S!EM

Page 49: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 49/50

Copyright Irwin/McGraw-Hill 199849

Object ModelingPRD"C# N RD$R

C%"& M$M&$RS'(P

 )"D( #(#%$ *(D$ #(#%$ +)M$ #(#%$

M$M&$R RD$R M$M&$R

M$RC')ND(S$

PRD"C#

#(#%$ )+R$$M$N#C%"&PRM#(N

MEMBER SERVICES INFORM!ION S"S!EM

#I$# %EVE% OB&EC! MODE%

is a

is a

generates   sponsors

sponsors

,-

establishes

binds

,-

enrolls in

 placed 

sold as

,-

sells

ObjectModeling

Page 50: 02 Object Modeling Technique

8/17/2019 02 Object Modeling Technique

http://slidepdf.com/reader/full/02-object-modeling-technique 50/50

Object Modeling

Summary

Introduction An Introduction to Object Modeling System Concepts for Object Modeling

#$e %rocess of Object Modeling