The Domain Model Class Diagram
: Problem domain | ga cul
—the specific area (or domain) of the users’ business need that is within the
scope of the new system
users’ / woadiwall Gio! le sgidy gill aaaall (val! gi) Gainiol!
ayaaUl plAill gai jos pai iN business need
ges I, ay!
are those items users work with when accomplishing tasks that need to be
remembered
Aiuuuil ySla data Laic jjai alina cil .pII aplall ga _
wugla Gow gf use aiio clpb .¢j data Laic ji) action jgSi S00 91 _
sygoll Glu go
LayS3i Gay , ill alaall jlail aic lace jgoadiwall Jas il polisll cli a
$ ga things I aul Sj
sales, shippers / (yi>Liul, customers, invoices/ jilgall, payments /, etc.
domain classes Lasouwis g things JJ modeling Jooi -
data entities Il database JI ua larouisg -
identifying palosi ylike udpo
Brainstorming Technique - 1
Noun Technique - JI 9
idl anol Guidi / Brainstorming Technique +l -
Use a checklist of all of the usual types of things typically found and
brainstorm to identify domain classes of each typeadel gyi g lalagy piuyull pagal ol plaall list Jale agp cil gag _
iW Gobi 2 ay wagabi g ga Cipbil paso jjlaig stakeholder JI go
seit Ul alg Ladsaia (Il
Noun Technique +i -
SYSTEM J described Yocl ..24 Lol Lada Ul slowdl cU identify Joois
tol] atiad Lins yuu! gl attribute gl domain class 1S payd a> yids gl aaa g
: gaugi le Brainstorming Technique! 2;
) Piuaall Slo GLily aoe oud yylll lolol 8 ay! judi flow! Iau
Si
SG@uwgolo cluvi Lia Ja / $f Are there any tangible things
‘S@youhii Cita>g aogi Ya / 5 Are there any organizational units
RECORDE Laloniy jyLa EVENTS 50 Ja
Galisall ¢1gi81 wayoi nsis Lio! (jf Lid Brainstorming Technique I Lidjc Liz> Lod
things 41 go
7? things 4! jo Galisall gigidl a I
d9S4 gSa0
organization unit giRole Played gi tangible thing
incidents or event or interaction g1 site / location gl Devices 9!
Brainstorming Technique AI gli) Giga ay!
auser and a set of use cases JI ayes:
the use case 1 44aii 4 djLiiy 51/1 things JI Igaguuig user JI go analy: 2
lay ple aaic , du pja system I pill information 1 6j ll things 1
qgaain Jouiy aliwdl apa (categories)! 5 j things JI ja ggi aadiuiy:3
@loinall things Jg>P ga Giwal aut 5 j
?Are there any tangible things you store information about:
?Are there any locations involved
?Are there roles played by people that you need to remember
expand Jani jlisc stakeholders JIg user go ga Ciigioall audi yi: 4
(problem domain classes (things J identify ay Jos , UII technique II ga-
Lad ,! glia 5! nouns / slawiil finding, classifying, and refining yosu Lil ju
discussions or documents jas
Lol Lanadiwl api cuuil -
there are no users available to help brainstorm
The Noun Technique I Cucliy staps I
, use cases, actors, and other information about the system JI padiuiy -
inputs and outputs—identify all nouns JI J5au9
il §j pit nouns 4 jaa
customer, product item, sale, confirmation, transaction, shipping, bank,
change request, summary report, management, transaction report,
accounting, back order, back order notification, return, return confirmation...
Unall,ag2g0 system jo information padiui joao -procedures, and current reports or forms, add items or categories of
information needed.
price, size, color, style, season I .5j
ig Chuai Jit... noun si include Jani lo js -
Faidjoo 51! PAU aly syd sb ga Ja
Is it a unique thing the system needs to know about?
Soule Yaoci 53ll alll! Gai y5ia ga a+
side the scope of the system | am working on?
Spatial ada jo paic jo piSt jO3i 51) plAill aly Ja-
+ Does the system need to remember more than one of these items?
Nouns yj! to exclude it /aloziw! Joo juke Jigw pS Yiuiiad -
aa a identify alilac noun .s¥ synonym /cilaalja 51-4 Ja
aleuiw! alasa ad gl
nouns J Coy /research it Josi linc Jiguw pS Jiuiiad -
Ugi g node WsiSi g all nouns identified 41 jo list Janiaaasac: -
included, excluded, or researched ,,aua Ja noun JS w1i> Ja axa
stakeholders Ig user I .jc aliloc , Ul list i review Janiaaasacy -
list of things in the .1 define ass a4 anig team members «11g
:problem domain
: Domain Classes I jc jualay
# Attribute JI ga aul
describes one piece of information about each instance of the classfirst name, last name, phone number aul customer I ulin .5j
JAttribute alS ga cilplall
identifier or key 11g ay!
44 unique key J! aud apis) class II ud instance I ja attribute I janis api
Customer ID identifies a customer I sj (database I
: Compound attribute + 1 ga ay!
Igingy Juite one structure v6 yas: go genaiy attribute tI jo yiSI gl J
Cail JUN ALU g gyLiull aay qua Ay cLetiy igi!) in ,¢j model I simplify
first name and jo JoSiy juitic awl .5j gf (doginn yo pS! aud fay Lain
@aolg deb .,4 andi pono last name
Associations Among Things JI
classes I ju ,2ule Jou jinais relationship 4: Associations JI ga 51
class diagram in UML II ,.,4 associations Layauuis _
class (1 ju @auloll Jui UI gag Multiplicity YI Law! a>t> Lalg> 9519
one to many \ one to one I ,5j ,zilillg
On ERD in database class J! ,,2 relationship Larauuis 9 _
(Big Lavin g classes iJ ai adil ple yay a>b> Lalg> Jou gon a9
Cardinality taco!
Associations have minimum and maximum constraints - 1
two classes J! Ju) anid Yl g anid pnd! 2 ay! el Adgit ga Sal GoUI I Ugéia laicuu one to one cuils twoclasses (ju Afulal gf ulin .,imy
max=1 yl Jig min=1
: Associations I gigi
: Binary Association JI
(walida IgigSug two classes (ju .>duil .5lll Associations I a
Course Section includes Students I sj -
Members join Club -
s: Unary Association (recursive 1
qundig class J! ju alaily . duis 51! Associations I ,,2
‘Gpiiall ga .5/l supervisor yl aa 1c Jlia
aoyw) cic aaj Sb 0 4539
Employee yl class yaa
Person married to personJi sj -
: Ternary Association (three JI
database (|! 8 iS Laliad sag Three Classes ju (JgSi! pl adulall 53
#N-ary Association (between n JI g
916 GIS IgigSy Jono agi! yuai 54 class jo iS! ju Jayiy Ul afulal sa
isl
(Entity-Relationship Diagrams: ERD) Ig ,5!
database JI wa Laaadiuui .U/I develop data model Jani jhe lanadiuuis
development
plai class diagram J! ely pula! yudi Yond gay a
9 classes Jl ju Gila! jc pail Gol> 4 class diagram Yl pA yldo sj
- cardinality 1 lia 54 Lacyone to many Jig one to one Jig ,y!! puoi! yaudi Laid Igyg
data entities JI awl ERD Ia" thing" jomiy -
uml notation 51 padiaiy yito g UMLII jo yuo ERDJIg -
UML models I 5j expressive yin ERD model JI -
ERD ole yllilin
Semantic Neti ga ay!
attribite Yl ju agus! jie wayeil jadl Yhile lanadin aay ga Sal ja
wgilaies data jo aigai Guy Lil Gy Je YgSu aag ERD 51a aa9>g0 ,5Il
model Sub . 4 Laic piel Iaulg supermarket 6 aag>g0 5a
ERD model J! Jacl jadi Jhiile aad yasy Lanadiwl gagThe Domain Model Class Diagram
class
di Yodegoro J describe Joc! jliic aordiuy classification 4! yo egi
: objects
= Domain Class JI
9-5 aag problem domain 41 ca objects JI angi yl classesI Gcgaaa
aia data ad
: Class Diagram JI
classes with attributes and associations Clygu .,L/| UML diagram ga
+ Domain Model Class Diagram «JI ga gi
cludes classes from the problem domain lI class diagram tI ga
UML Domain Class Notation
ized , fui) CLASS JI clowi
‘WB camelback 4! Cuaypey Lagos yay JliulS yito Attribute II clawi
Association class JI ga ail
2944 Laiclw many to many ,,2 two classes ju adic! jg Si Lal oa 2
aa Ulin! .¢j 2ya> classes 59 adulell le jalle+ Association class I ¢liy yalgaut ay!
The association class is the same “thing” as the association itself -
gi keys I jo Glukw jc dye ga the association class JI gly key I -
paiyla g ,zlil classes tt
I ,zfiua Cross Section 1! gis key JI fin
uc) CourseNumber+SectionNumber+StudentiD
( paiulo g vplll classes Jl ggit keys I jo dluaky (ye yl
More Complex Issues about Classes:
Generalization/Specialization J! -
subordinate classes I I Cuzy 0a Youd 0 4 relationship II gi
I eyauuis ag the superior classes I (ja ¢j> duis
an Inheritance Hierarchy
the Superior 1 /:superciass 1 -
more general class in a generalization/specialization hierarchy JI ga
HERBS /:subciess
more specialized class in a generalizé
hierarchy
Inheritance -
(Go iS! Jo CiLéad! 4g subclasses classes JI Lal concept JI ga
general super class
Abstract class JI ga ail
characteristics 41 yg, ail subclasses (J anuiy (pli class JI ga
instances/ uy au 544 joo .5Ul! class ,plll ga : Concrete class II:Whole-part relationship JI ai!
a gisi> aolg 56 pfug classes II (will j
J relationship, a 5fu yi
«gill class (jo component portion
: Aggregation I
component part I Laga .,44 .5lJl Whole-part relationship I a
oye ord cual gl Jl pai g Ygjmo juin fu
2diy Au disk storage JI aa uu pigunS JlaaS le ylin -
O bath
1S pl parts 41 ji Cupy Aggregation I yuSe a : Composition I
lalnhi yheaire yous a...
pay
:gi> lin
- Orderitem on an Order (without the Order, there are no
Orderitems)
relationships I ,,6 relationships I (yo glgil 3 Haic
: Association Relationships I -
: Whole Part Relationships I -
:Generalizations/Specialization Relationships II -
Object Behavior - State Machine Diagram 41
states JI ju) movement JI Jo g states (40 151 40 gin: Object Behavior JI
S
State JI 32 1
Ue jc an object's life 1! Jga ag>go 44 . Ul condition asome criterion, performs an action, or waits for an event
salen albjo,,4 object JI Y> Ge pals apl> ail Jgai pono gl
state jo object JI Ciclis GLALiI a : Transition JI
State Machine Diagram
: State Machine Diagram I si
states and Gjgb Jul5 jo life of an object 11 CLygut .5lll
transition .g1 lay Lo
Jo object JI cyjgis
transition oS La acy object 1! LLygis .5ll! state ,,a: Destination state It
di jo sj> Jodi jie Josii aja activity agi : action-expression 1
transition
8g transition Josi gail cgay Ul a true/false JI ga : guard-condition JI
Ba
g object II Cicliy aylaul &
«gy! pseudostate I!
~ Syntax of transition statement:
jon-name (parameters, ...) [guard-condition) / action-expres:
: Concurrency in a State Machine Diagram I
Concurrent states tI
states Yo jiSi .,4 cylin object (jo jiSI Hair Ay
Gigi yada
yasy (4940 , zl states and transitions I jo Glu ga: Path tI
when multiple paths are being followed ,,4: Concurrent paths I
sconcurrently
Creating a State Machine Diagram: StepsIgptiny ono , lI the class diagram and select classe J ret
w jas
state machine diagrams
identify Lalasi alino .,UI status conditions JI jo list Jaci class JS)
«gia pill transi
ns I 4S j7 Cail Ju diagram fragments I ziti lat
the identified state JI jo Jails object JI
Qin \uiji 5a states I ja Sequence Jani
independent, concurrent paths II .;lc jg 9 paths |! review Jac!
NS yzle 193
- Expand each transition with appropriate message event, guard
Lactis directions II jc test Jac g additional trans
condition, and action expression
state machine diagram JJ Review and test Jacia
really state for the object in the class ,,a state I yi aStiia
asl Lal aod [ny Lo Cuclw ,j0 life cycle of an object Jluaguuia -
delete
diagram covers all exception condition JI jiaSiiia -