CMBUkTI 5
mU:EDlkmµbT
(Object Modeling)
eKalbMNgénemeronH
eRkaybBa©b;emeronenH GñkniwgsikSa
KMnitnigBakSénkarepþatkmµbT
mU:EDlkmµbT
karerobcM mU:EDlkmµbT
88
1> KMnitnigBakSénkarepþatkmµbT(Object-Oriented Terms and Concepts)
Object-oriented analysis bgðajBIkarviPaKRbB½n§Bt’manedaykMnt; things
eKehAfa objects. Object bgðajBImnusS/ TIkEnøg rWRBwtþikarN_ ]TahrN_³ GñkCMgW
(patient) eFVIkarkMnt;eBlevla (appointment) CYbevC¢bNÐit (doctor) dUcenH doctor,
patient nig appointment Ca object.
Object-oriented analysis KWCaviFIedaHRsaymYymanRbCaRbiy kñúgTsSnHemIl
GVI²enAkñúgRbB½n§Ca objects ehIy end product én object-oriented analysis KW object
model bgðajRbB½n§Bt’mankñúgTMrg;Ca objects nig object-oriented concepts. bnÞab;
mk GñkviPaKRbB½n§ nig programmers nwgbMElg objects eTACa program code
modules enAkñúgdMNak;kal implementation phase én SDLC. Modular approach
snSMsMéceBlevla nigéføcMNay eRBaH modules can be optimized, tested, and
reused.
Overview
eyIgdwgehIyfa Unified Modeling Language (UML) KWCaviFImYyEdlRtUv)an
eKeRbIR)as;ya:gTUlMTUlaysMrab;bgðajCarUbPaB (visualizing) nigkt;RtaCaÉksarcMeBaH
RbB½n§Bt’man ehIyenAkñúgCMBUkenHeyIgnwgeRbIR)as; UML edIm,IbegáIt object models.
CMhandMbUgKWeyIgRtUvEsVgyl;eGay)anc,as;nUv basic object-oriented terms Camunsin
dUcCa objects, attributes, methods, messages, classes nig instances ehIykñúg
CMBUkenH eyIgnwgsikSafaetIGñkviPaKRbB½n§eRbIR)as;BaküTaMgenaHedIm,IBN’naRbB½n§eday
rebobNa.
Objects bgðajBImnusS/ TIkEnøg rWRBwtþikarN_EdlmansarHsMxan;cMeBaHRbB½n§.
kalBICMBUkTI 4 eyIg)ansikSa nigbegáIt DFDs Edlbgðaj data nig processes dac;BIKña
b:uEnþcMeBaH objects vijKWvabBa©Úl data nig processes CamYyKña. ]TahrN_³ customer
object manlkçNHdUcCa name, address, sex nig account number ehIy customer
object GacdMeNIrkarkic©kardUcCa place an order, pay a bill nig change address
CaedIm.
89
Object Gacman attributes c,as;las;Edlerobrab;BIlkçNHrUbragén object
enaH. ]TahrN_³ RbsinebIeyIgmanLanCakmµsiT§ vaman attributes dUcCa make,
model nig color. elIsBIenHeTot object man methods EdlsMedAelIkic©kar (tasks)
rWmuxgar (functions) objects enaHGacdMeNIrkarenAeBlTTYl)an message.
]TahrN_³ Lanrbs;eyIgGacdMeNIrkar methods dUcCa turn on wiper enAeBlEdlGñk
bBa¢Ún message edaycucelI control NamYy.
Class KWCaRkumén objects RsedogKña. ]TahrN_³ enAkñúgsalaeronmanLan
CaeRcInmanma:kxus²Kña EtBYkvaTaMgGs;sßitkñúug CAR class. Instance KWCasmaCik
Cak;lak;NamYyenAkñúg class. ]TahrN_³ Lanma:k COROLLA manpøakelx 1542
KWCa instance én CAR class.
eTaHbICaBakü object CaTUeTAsMedAeTAelI instance NamYyk¾eday k¾GñkviPaK
RbB½n§CYnkalGaceRbIBaküenaHsMedAelI class k¾)anEdr ehtuenHGtßn½yrbs;vaGaRs½yeTA
elIbribT (context).
Objects
UML bgðaj object eRkamrUbragCactuekaNEkg EdlmaneQµaHenAxagelIeK
bnÞab;mk attributes nigeRkameKbMputKW methods. rUbxageRkambgðajBI CHILD
object CamYynwg attributes dUcCa name, age, sex nig hair color ehtudUcenH
RbsinebIRKYsarman children 3 nak; enaHmann½yfa man 3 instances én CHILD
object. CHILD object GacdMeNIrkar methods dUcCa picking up toys, eating
dinner nig playing with siblings ehIyedIm,Ipþl;sBaØaeGay CHILD object
dMeNIrkarkic©karTaMgenaH luHRtaEtvaTTYl messages EdlvaGacyl;)an. ]TahrN_³
DINNER’S READY message R)ab; CHILD object eGayeFVIdMeNIreTAkan;tu
nigjaMGahar rIÉ PLAY message R)ab; CHILD object eGayelgCamYybgb¥ÚnKñava.
90
CHILD Object Instances of the CHILD Object
CHILD James Smith
-Name Age 3
Male
-Age Red
Attributes
-Sex
-Hair color Amelia Ali
Age 1
+Pick up toys() Female
Methods +Eat dinner() Brown
+Play()
Misty Greene
Age 12
Female
(rUb 5.1)
Blonde
RbsinemIleTAelIRKYsar enaHvaGacman PARENT object pÞúknUv attributes
dUcKñaCamYy CHILD object’s attributes nigelIs attribute mYyeTotEdlkMnt;BIRbePT
parent KW parent type.
PARENT Object Instances of the PARENT Object
PARENT Mary Smith
-Name Age 25
Female
Attributes -Age Red
-Sex Biological
-Hair color
Ahmed All
-Pareny type Age 34
+Read bedtime story() Male
Methods +Drive a car() Brown
Step
+Prepare school lunch()
Anthony Greene
(rUb 5.2) Age 34
Male
Brown
Step
91
PARENT object GacdMeNIrkar methods dUcCa reading a bedtime story.
driving a car nig prepare school lunch. GOOD NIGHT message R)ab;
PARENT object eGay reading a bedtime story rIÉ DRIVE message R)ab;
PARENT object eGay drive a car.
Attributes
Object RsedogeTAnwgnam É attribute RsedogeTAnwgKuNnamEdlerobrab;BI
lkçNHrUbragén object. sMnYrEtgsYrfa etI object RtUvkar attributes cMnYnb:unµanEdr?
cMelIyrbs;va KWGaRs½yeTAnwg business requirements énRbB½n§Bt’man nig users.
Objects xøHGacman attributes bIbYn ehIyxøHeTotCagdb; ehIycMnYn attributes cMeBaH
objects dUcKñacMeBaHRbB½n§Bt’manxusKñaGacmancMnYnxusKña. ]TahrN_³ student object
Gacman attributes dUcCa student number, name, sex, address nig dateofbirth.
(rUb 5.3)
92
GñkviPaKRbB½n§eFVIkarkMnt; attributes kMLúgeBl systems design process ehIy
objects GacTTYllkçNH (inherit) BI objects epSgeTotenAkñúg object-oriented
system. Objects Gacman specific attribute mYyehAfa state ehIy state én object
KWCaKuNnamerobrab;BI current status én objects enaH. ]TahrN_³ student GacCa
FUTURE student, CURRENT student rW PAST student.
Methods
Method kMnt;kic©karCak;lak;Edl object GacdMeNIrkar ehIyvaRsedogeTAnwg
kiriyas½BÞerobrab;faetI object GaceFVIGVI)anxøH nigedayrebobNa (what and how an
object does something). ]TahrN_³ ADD STUDENT method bEnßm instance fµI
eTAkan; STUDENT class dUctaragxageRkam³
Method: ADD STUDENT Steps:
1. Add a new student instance
2. Record STUDENT number
3. Record student name
4. Record student sex
5. Record student address
6. Record student telephone number
7. Record student date of birth
8. Save new student data
Constructor method KWCa method EdlbegáIt instance fµIén object dUcCa
method bBa©ÚlsisSfµI. Update method KWCa method EdlEkTinñn½ykMBugeRbIR)as;
dUcCa method EkERbGas½ydæan. Query method KWCa method Edlpþl;Bt’manGMBI
object enaH dUcCa method bgðajsisSTaMgGs;.
Messages
Message KWCa command EdlR)ab; object eGaydMeNIrkar method NamYy.
]TahrN_³ message ADD R)ab; STUDENT class eGayeFVIkarbBa©Úl STUDENT
instance fµI. STUDENT class yl;ya:gc,as;fa vaKYrEtbBa©Úl student number,
name nigTinñn½yd¾éTeTot. dUcKñaCamYyenHEdr message DELETE R)ab; STUDENT
class eGaylub STUDENT instance ecal.
93
KYrkt;sMKal;pgEdrfa message dEdleTAkan; objects 2 xusKñaGacpþl;nUvlT§pl
xusKña eKehAfa polymorphism. ]TahrN_³ message GOOD NIGHT pþl;sBaØa
eGay PARENT object eFVIkar read a bedtime story b:uEnþ message dEdlenaHeTA
kan; DOG object EbrCaR)ab; dog eGay go to sleep nig GOOD NIGHT message
eTAkan; CHILD object R)ab;vaeGay drink water or five-minute reprieve.
Message: GOOD NIGHT
PARENT DOG CHILD
Causes the Causes the DOG Causes the CHILD
PARENT object object to go to object to request a
to read a bedtime sleep. drink of water or a
story. five-minute
reprieve.
Object bgðajBI encapsulation edayral;Tinñn½y nig methods TaMgGs;RtUv)an
pÞúkedayxøÜnvapÞal;. va)ankMnt;karcUleRbIR)as; internal process edayraraMgmineGay
mankarEkERb internal codes BI objects rW processes epSgeTot.
Object-oriented design CaTUeTA implement edayeRbIR)as; object-oriented
programming language. KuNRbeyaCn_én object-oriented design KWfaGñkviPaK
RbB½n§GacsnSMeBlevla nigeCosvag errors edayeRbIR)as; modular objects ehIy
bnÞab;mk programmers eFVIkarbMElgeTACa code.
Message:
UPDATE QUANTITY
SALES
PRODUCT
TRANSACTION
(rUb 5.4)
Classes
Object RtUvsßitenAkñúgRkum rWRbePTdUcKña ehAfa class ehIy objects TaMgGs;
enAkñúg class eRbIR)as; (share) common attributes and methods. Objects enAkñúg
class GacRbmUlpþMúcUlKñabegáItCa subclasses EdlmanRbePTCaklak; (specific
category) NamYyenAkñúg class. ]TahrN_³ TRUCK objects bgðajBI subclass
94
enAkñúg VEHICLE class CamYynwg subclasses epSgeTotdUcCa CAR nig SCHOOL
BUS KYrkt;sMKal;fa subclasses TaMg 3 eRbIR)as; (share) lkçNHrUbragTUeTAén
VEHICLE class dUcCa make, model, year, weight nig color. Subclass
nImYy²GacmanlkçNH epSgeTotsMrab;vanImYy²dUcCa load limit cMeBaH TRUCK rW
emergency exit location cMeBaH SCHOOL BUS.
Class Subclass
VEHICLE CAR
-Make Attributes
Attributes -Model
-Year TRUCK
-Weight
Attributes
-Color Load limit
+Start()
Methods Uncommon
+Stop() Attributes
+Park() SCHOOL BUS
Attributes
EEL (Emergency exit location) EEL
(rUb 5.5)
]TahrN_epSgeToteTAelI class cMeBaH EMPLOYEE class man subclasses
CaeRcIndUcCa INSTUCTOR, MANAGER, OFFICE STAFF CaedIm edaysarTaMg
instructor, manager nig office staff suT§EtCa employees ehIypÞúknUvBt’manRsedog
KñadUcCa employee number, name, title nig salary RBmTaMgdMeNIrkarkic©kardUcCa
EkERbGas½ydæan rWelxTUrs½BÞCaedIm.
2> mU:EDlkmµbTCamYyPasam:UEDlrYmKña (Object Modeling with the Unified Modeling
Language)
eyIgeRbIR)as; DFDs enAkñúg structured analysis edIm,I model data nig
process b:uEnþGñkviPaKRbB½n§nwgeRbIR)as; Unified Modeling Language (UML) edIm,I
model object-oriented systems vij. eyIg)andwgehIyfa UML KWCaviFImYyman
95
RbCaRbiysMrab;kt;RtaCaÉksar nig model RbB½n§ ehIyva)aneRbIR)as;sMnMunimµitþsBaØamYy
cMnYnedIm,IbgðajCarUbPaBcMeBaHsmasPaBnImYy² nigTMnak;TMngrbs;vaenAkñúgRbB½n§.
enAkñúgCMBUkenH eyIgnwgeRbI UML edIm,IbgðajBI use cases, use case diagrams,
class diagrams, sequence diagrams, state transition diagrams nig activity
diagrams.
2. 1. Use Case Modeling
Use case bgðajBI business function or process Cak;lak;NamYy. External
entity ehAfa actor cab;epþImeRbIR)as; rWTak;TgCamYy use case edayesñIsMueGayRbB½n§
dMeNIrkar function or process NamYy. ]TahrN_³ PATIENT (actor) can MAKE
AN APPOINTMENT (use case) dUcrUbxageRkam
MAKE APPOINTMENT
PATIENT
PLACE ORDER
CUSTOMER
(rUb 5.6)
KYrkt;sMKal;cMeBaH UML symbols sMrab; use case KWCarUbragmUlBgRkeBI
(oval) Edlman label enAxagkñúgerobrab;BIskmµPaBdMeNIrkar. Actor bgðajCarUbrag
mnusSedayman label enAxageRkamsMrab;bBa¢ak; actor’s role ehIymanbnÞat;mYysMrab;
P¢ab; actor eTAkan; use case.
Use cases k¾GacTak;TgCamYy use cases d¾éTeTot)anEdr. enAeBllT§plén
use case mYyeFVIkarCamYy use cases epSgeTot eyIgniyayfa use case TI 2 eRbIR)as;
96
use case TI 1. UML sMKal;TMnak;TMngvatamryHsBaØaRBYjmank,alRbehag Edlcg¥úl
eTAkan; use case RtUv)aneKeRbIR)as;. ]TahrN_xageRkambgðajBI Produce Fitness-
class Roster use case eRbIR)as;lT§plén Add Fitness-class edIm,IbegáIt new
fitness-class roster.
«uses» Produce
Add Fitness-class
Fitness-class Roster
Student
(rUb 5.7)
edIm,IbegáIt use case eyIgcab;epþImedayRtYtBinitüeTAelIBt’manEdl)anRbmUl
kMLúgeBl requirement modeling phase ehIyeKaledACacMbgrbs;eyIgRtUvkMnt;eGay
)annUv actors nig functions or transactions.
(rUb 5.8)
eyIgRtUvEtbegáIt use case description cMeBaH use case nImYy²kñúgTMrg;Ca
table. Use case description kt;RtanUv name of use case, actor, description of
use case, step-by-step list of tasks and actions EdlRbB½n§RtUvkar. ]TahrN_³
rUbxageelIbgðajBI ADD NEW STUDENT use case description.
97
2. 2. Use Case Diagrams
Use case diagram KWCaesckþIsegçbCarUbPaB (visual summary) cMeBaH use
cases CaeRcInEdlBak;B½n§KñaenAkñúgRbB½n§. enAeBlbegáIt use case diagram CMhandMbUg
eyIgRtUvkMnt; system boundary CamunsinEdltagedaysBaØactuekaNEkg. System
boundary bgðajBIGVIxøHRtUvbBa©ÚlkñúgRbB½n§ ¬xagkñúgctuekaNEkg¦ nigGVIxøHminsßitenAkñúg
RbB½n§ ¬xageRkActuekaNEkg¦. bnÞab;BIkMnt; system boundary rYcehIy eyIgRtUvdak;
use cases enAelI diagrams nigbBa©Ül actors RBmTaMgkMnt;TMnak;TMng. rUbxageRkam
bgðajBI use case diagram cMeBaH appointment system.
Appointment System
Make appointment
Patient
Management
Produce schedule
information
Record availability
Doctor
(rUb 5.9)
2. 3. Class Diagrams
Class diagram bgðajBIkarBiBN’nalMGiteTAelI use case NamYy edaybgðajBI
classes Edl)ancUlrYmenAkñúg use case nigkt;RtaCaÉksarnUvTMnak;TMngrvag classes
TaMgenaH. dUceTAnwg DFDs Edr class diagram KWCa logical model sMrab;vivtþeTACa
physical model nigcugbBa©b;køayeTACa functioning information system.
98
CMhandMbUgKWeFVIkarRtYtBinitüeLIgvijnUv use case nigkMnt; classes EdlcUlrYm
cMeBaH business transactions. enAkñúg class diagram, class nImYy²bgðajCarag
ctuekaNEkgehIyeQµaHsßitenAxagkñúg elIsBIenHeTot bnÞat;Rtg;bgðajBITMnak;TMngrvag
classes nig label bgðajBIskmµPaBTak;Tg classes TaMgBIenaH.
Class diagram k¾bBa©Úl concept eKehAfa cardinality Edlerobrab;BI
instances én class mYyTak;TgCamYy instances én class mYyepSgeToteday
rebobNa. ]TahrN_³ Employee TTYl)anéf¶Qb;sMrakmYy rWeRcInéf¶ dUcKñaEdr
employee GacKµan spouse Tal;EtesaH rWman spouse Etmñak;Kt;.
UML Nature of Example
Notation Relationship
0..* Zero or many Employee Payroll Deduction
1 0..*
0..1 Zero or one Employee Spouse
1 0..1
1 One and only one Office Manager Sales Office
1 1
1..* One or many Order Item Ordered
1 1..*
(rUb 5.10)
rUbxageRkamenHbgðajBI class diagram cMeBaH sale order use case ehIyKYrkt;
sMKal;fa sale office man sales manager EtmYyKt; ehIy sales manager Gacman
sales reps sUnü rWeRcIn. RKb; sales rep Gacman customers sUnü rWeRcIn.
99
(rUb 5.11)
2. 4. Sequence Diagrams
Sequence diagram KWCa dynamic modeling of a use case bgðajBIGnþrkmµ
rvag classes kMLúgcenøaHeBlNamYy ehIyvakt;RtaCaÉksarnUv use case edaybgðajBI
classes, messages nig timing of messages. Sequence diagrams mannimµitþsBaØa
mYycMnYnbgðajBI classes, lifelines, messages nig focuses.
Classes
bgðajtamryHrUbctuekaNEkg EdlmaneQµaHbgðajenAxagkñúg ehIyvaeRbIsMrab;
bBa©Ún nigTTYl messages.
Messages
bgðajtamryHbnÞat;Rtg; ehIymansBaØaRBYjsMrab;bBa¢ak;BITisedAdMeNIrkar.
100
CLASS 1 CLASS 2
Lifeline Lifeline
Message 1
Focus Focus
Message 1
X
End of Class 2
Lifeline
(rUb 5.12)
Lifelines
bgðajtamryHbnÞat;dac;² nigmanTisedABIelIcuHeRkam ehIyvabgðajBIeBlevla
Edl object Tak;TgCamYy objects epSgeTotenAkñúguse case. sBaØa X sMrab;sMKal;BI
cMnuccugbBa©b; lifeline.
Focuses
bgðajtamryH narrow vertical rectangle h‘MuB½T§CMuvij lifeline.
]TarhN_³ rUbxageRkambgðajBI sequence diagram cMeBaH ADD NEW
STUDENT use case.
STUDENT RECEPTIONIST CLASS SCHEDULE REGISTRATION RECORD
Request
Class Check
Notify
Pay
Register
(rUb 5.13)
101
2. 5. State Transition Diagrams
kalBICMBUkmun eyIg)ansikSaBI state EdlsMedAeTAelI object’s current status.
State transition diagrams bgðajBIetI object ERbRbYlBI state mYyeTA state mYyeTot
edayrebobNa ehIyRBwtþkarN_GVIeFVIeGaymanPaBERbRbYlenaHekIteLIg. ral; states
GacekIteLIgTaMgGs;RtUvkt;RtaCaÉksarenAkñúg state transition diagrams. ]TahrN_
xageRkambgðajBI state transition diagrams cMeBaH bank account.
(rUb 5.14)
2. 6. Activity Diagrams
Activity diagram Rbhak;RbEhleTAnwg horizontal flow chart EdlbgðajBI
skmµPaB nigRBwtþikarN_ekIteLIg ehIyvabgðajtamlMdab;skmµPaBekIteLIg nigkMnt;
lT§pl. rUbxageRkambgðajBI activity diagram sMrab;kardkR)ak;BI ATM machine.
Sequence diagrams, state transition diagrams nig activity diagrams KWCa
dynamic modeling tools sMrab;CYyGñkviPaKRbB½n§eGayyl;faetI object RbRBwtþ nigTak;
TgCamYyRbB½n§edayrebobNa.
102
(rUb 5.15)
103
sMnYrrMlWk (Review Questions)
1 GVIeTACa object-oriented analysis? etImanplRbeyaCGVIxøHkñúgkareRbIR)as;
bec©keTsenH?
2 cUrkMnt; object, attribute nig method RBmTaMgpþl;]TahrN_pg?
3 GVIeTACa encapsulation?
4 GVIeTACa polymorphism?
5 cUrkMnt; class, subclass nig superclass RBmTaMgpþl;]TahrN_ pg?
6 GVIeTACa actor? RBmTaMgeGay]TahrN_bBa¢ak;pg.
7 cUrkMnt; use case nig use case diagram RBmTaMgpþl;]TahrN_pg?
104