Professional Documents
Culture Documents
Cac phng phap ng nghia m hinh hoa h thng thng tin xut hin ngay cang nhiu
Hinh anh "Yama" (Yet Another Modeling Approach) theo nghia ting Nht la "Mountain".
Bai giang BM HTTT - Khoa CNTT - HUI
2
Gn y, UML c xem nh 1 phng phap thich hp m hinh hoa CTUD. a co xut "the modeling wars are over--UML has won".
UML c ng dung chu yu trong thit k ma chng trinh hng i tng. Hin nay UML cung c dung trong thit k database nhng cha thay th c phng phap ER. Tuy nhin trong tng lai khi phat trin HT theo hng i tng thi UML la 1 ngn ng quan trong thit k database.
Tng t ER, UML s dung attributes, tuy s lng attribute co th qua ln nhng dung attribute thi d m hinh c mi quan h gia cac thc th, it bi anh hng khi thc th thay i. Cach tt nht phat trin m hinh d liu bng UML la first do an ORM model and then map it to UML.
Lc class m ta cac lp Employee va Car va mi kt hp gia chung. Tng ng vi quan h ORM Employee drives Car
Role "driver" phia bn trai mi kt hp lam ro ng nghia Mui tn bn phai mi kt hp chi rng mt in hinh cua employee co th truy xut n 1 in hinh car cua no. Mi kt hp nay chi lin quan n vic thc thi va khng chi ra y nim cua m hinh nghip vu.
Bng cach bo qua chi tit, lc class co th c dung phn tich y nim. Khi dung theo cach nay thi lc class rt ging vi m hinh ER. Nhng co 1 s khac bit ang k nu xet theo hng OO Khac bit gi??
10
Khng co s xac inh (identification schemas) trong class. Vi lp trinh OO, cac i tng co th c nhn bit thng qua ia chi b nh, vi vy UML khng cn n s nay. Nhng nu dung phn tich y nim thi cn phai co s tham chiu hng ngi dung.
11
UML cho phep thm 1 s thuc tinh vi cac ky hiu khng theo tiu chun khai bao cach nhn bit va rang buc cua class
{P} chi tham chiu hay dung (preferred reference ) "{ Un }" chi tinh duy nht (n > 0), vi n la s trng hp co cung nghia khi cung rang buc U c ap dung cho 1 t hp cac thuc tinh.
12
Lc class vi cac ky hiu khng theo tiu chun chi khoa Primary key va rang buc duy nht
13
ORM chia object thanh 2 loai: entities (nonlexical objects) va values (lexical objects) va bt buc mi entity phai c xac inh bi mt s tham chiu (reference scheme ). ORM s dung "object", "entity", va "value" chi "object instance", "entity instanceva "value instance. Cac entities co th c tham chiu theo nhiu cach, va co th thay i trang thai (state) theo thi gian
14
UML chia cac instances thanh objects va data values. Cac UML objects tng ng vi cac ORM entities. Cac UML data values tng ng vi cac ORM values, chung u la hng s. Cac loai entity trong UML c goi la classes va cac loai value thi c goi la data types. "object" co nghia la 1 "object instance", ch khng phai la "object type". Mi in hinh quan h (relationship instance) trong UML c goi la 1 link, va loai quan h c goi la mt association.
Bai giang BM HTTT - Khoa CNTT - HUI
15
16
Trong UML, mc inh cac thuc tinh (attribute) la bt buc (mandatory) va co gia tri n. Trong ORM, predicate 1 ngi "smokes" la tuy chon (optional). UML khng h tr quan h 1 ngi, ma chi dung thuc tinh Boolean "isSmoker. Trong UML, domain cua mi thuc tinh co th c hin thi ngay sau tn thuc tinh, ngn cach bi du : .
Bai giang BM HTTT - Khoa CNTT - HUI
17
18
UML cung khng co ky hiu chi rang buc loai tr (inclusive-or constraint), rang buc nay co th din ta bng note inh kem, hay t rang buc vao {}.
19
Loai quan h ORM Employee was born in Country c m hinh nh thuc tinh birthcountry trong lc class UML. Nu sau nay khi cn lu tr lai phn b cua country thi cn phai a vao lp Country va lam ro kt ni gia birthcountry va Country co th cn phai bin i thuc tinh birthcountry thanh mi kt hp gia 2 class Employee va Country. ORM tranh c s bt n ng nghia nay vi no lun s dung quan h thay vi dung thuc tinh.
Bai giang BM HTTT - Khoa CNTT - HUI
20
Co giai thut phat trin lc UML va ER t lc ORM. Cac giai thut nay gan cac mc quan trong khac nhau vao cac loai i tng tuy thuc vao role va cac rang buc. Mc quan trong nay co th thay i theo thi gian khi ta kham pha c nhiu hn m hinh tng th va ban thn nghip vu cung bi thay i theo thi gian.
21
Thuc tinh a tri sports trong UML c chi ra bng rang buc "[0..*]" (mt ngi co th chi nhiu mn th thao khac nhau hoc khng chi mn nao) Trong s ORM tng ng, loai quan h many:many c dung thay cho thuc tinh a tri sports.
Bai giang BM HTTT - Khoa CNTT - HUI
22
Class Flag dung lu tr nickname va mau c cua cac quc gia Cac rang buc:
Mi flag co nhiu nht 2 nickname Mi Flag co it nht 1 mau
Mt UC phu khac cung cn xac inh la mi nickname tham chiu nhiu nht n mt flag.
Bai giang BM HTTT - Khoa CNTT HUI 23
Khng chi mi nicknames phai la duy nht i vi mi flag ma mi phn t trong mi tp hp cung phai duy nht. Mi rang buc phc nay c xac inh trong UML di dang 1 note inh kem (attached note)
24
Thuc tinh Nickname: min gia tri la mt loai d liu nao o, co th la string Thuc tinh countries hay colors:
Nu khng cn lu tr thm thng tin , co th chon string nh min gia tri (domain) Nu mun co thm thng tin dung sau nay, tt hn la nn dung class Country va Color xac inh domain cho no.
25
26
UML cho phep ta m hinh 1 tinh cht nao o nh mt attribute hay mt association. phn tich y nim thi dung association thng co nhiu thun li hn so vi attributes, c bit la vi thuc tinh a tri.
D m hinh hoa va tao phn b cho association hn. Cho phep din ta cac rang buc co dang "role played by the attribute" dang chun hn la phai dung cac m rng khng ung tiu chun.
27
Nu dung association Flag is of Country thi rang buc each country has at most one flag co th a vao thng qua rang buc "0..1" t bn trai mi kt hp nay. Dung associations thi n inh hn attributes. Thay vi m hinh 1 tinh cht thanh 1 attribute, u tin thay th attribute nay thanh 1 association. Sau o du la UML hay ORM u dang tao ra i tng t mt association va inh kem vao no 1 s chi tit mi.
Bai giang BM HTTT - Khoa CNTT - HUI
28
Khao sat association Employee plays Sport. Nu cn lu tr lai skill level cho mt ln chi nao o play, ta co th i tng hoa association nay thanh Play, va a thm vao 1 loai quan h: Play has SkillLevel. Trong m hinh UML vic nay c thc hin d dang nu play c m hinh nh 1 association. Trong vi du thi play c m hinh nh attribute sports , thi cn thay th thanh 1 association tng ng trc khi thm chi tit mi skill level vao.
Bai giang BM HTTT - Khoa CNTT - HUI
29
Khi truy vn n cac thuc tinh a tri thi se phc tap hn thuc tinh n tri. Vi du: so sanh cac truy vn Q1,
30
Thuc tinh a tri (multivalued attribute) nn tranh dung trong m hinh phn tich. Tuy nhin vn co th s dung thuc tinh a tri trong thc thi sau nay.
31
UML dung thuc tinh Boolean chi mi quan h 1 chiu (unary relationship). Vi cac quan h 2 chiu tr ln (association):
Thng c t tn bt u bng 1 ky t ch hoa. Cac associations 2 chiu c ky hiu la ng thng ni gia 2 class. Association role c ky hiu nh u cui cua ng thng (line end) thay vi la cac box.
32
Trong UML, tn association la tuy chon nhng tn role la bt buc. Nu khng t tn role thi tn lp cung c xem la tn role. Nu co 2 hay nhiu role cho cung 1 class thi cac role phai co cac tn khac nhau phn bit. Trong ORM, cac predicate thun va ngc cn c chi ro, hoc chi cn chi ro 1 trong 2 loai. Tn role la tuy chon va c t trong ngoc vung.
33
34
35
36
37
Thng khng co ky hiu chi hng oc (reading direction indicator), nn cac lc class cua UML khng c dung giao tip trong dang cu noi thng thng. Lc class cung khng thun tin trong vic tao phn b cho cac association nu khng t tn role cho cac ct tng ng trong bang phn b.
38
Trong lc UML, ca hai cp RoomHourSlot va HourSlot-Activity u la duy nht. Trong ORM la cac UC tng ng.
40
Cac ky hiu rang buc multiplicity cua UML thi phong phu hn cua ER. Tuy nhin co nhiu trng hp ky hiu multiplicity cua UML khng th din at c rang buc cua role bt buc hay rang buc thng xuyn ti thiu ln hn 1 (minimum frequency constraint above 1). Cac ky hiu rang buc cua ORM co th din at c bt ky rang buc nao trn cac role hay cac predicate nhiu ngi. Vi vy ORM phong phu hn trong vic din at rang buc.
41
Vi UML c a ca hai loai rang buc bt buc va duy nht vao cung 1 ky hiu nn khng th din at c cho tng hoat ng book phong buc phai a thm 1 note vao lc . Lc ORM tng ng co th din at c rang buc role bt buc mt cach d dang.
Bai giang BM HTTT - Khoa CNTT - HUI
42
Nguyn nhn cua vic kho din at rang buc trong UML la do inh kem rang buc multiplicity ti thiu vao role ma khng qua 1 role trung gian. Vi cung ly do nay, UML khng th din at c cac rang buc thng xuyn (frequency constraints )khac cua ORM.
43
In general, given any n-ary (n > 2) association, if an ORM mandatory or frequency constraint applies to at least 1 and at most n - 2 roles, this cannot be captured by a UML multiplicity constraint.
44
45
Ca UML va ORM u cho phep i tng hoa cac mi kt hp (association) thanh cac loai i tng.
Trong UML: tao thanh cac association class nhng cn phai gi nguyn tn trong association gc luc u va association class tng ng Trong ORM: tao thanh cac objectified association hay cac loai nested object, khng bt buc mi kt hp va i tng lng nhau phai cung tn (1 cum ng t c i tng hoa thanh cum danh t, nn ca hai u co th phat biu thanh cu co u ng nghia thng thng)
46
Trong UML, thuc tinh period chi ra mt person mt bao nhiu lu vit 1 paper. Trong ORM, Writing c anh du c lp bi ky hiu "! chi ra i tng writing co th tn tai mt cach c lp khng cn quan tm n vic co lu tr lai period hay khng. ORM hin thi Period nh 1 loai i tng, khng phai la thuc tinh.
Bai giang BM HTTT - Khoa CNTT - HUI
47
UML cho phep tao cac rang buc subset gia cac mi kt hp bng cach inh kem nhan rang buc "{ subset }" k bn mui tn t net ni gia cac mi kt hp (association)
48
Rang buc subset any person who chairs a committee must be a member of that committee
49
Trong ORM, rang buc equality gia hai quan h co th tich hp (compatible), la cach vit tt cua 2 rang buc subset theo 2 chiu ngc nhau, c ky hiu "= khoanh tron. Phn b ng vi mi rang buc subset phai bng nhau. Nu 2 role cua cung 1 object u bt buc thi gia chung se ngm inh co 1 rang buc equality UML khng co ky hiu danh cho rang buc equality, co th dung note chu thich rang buc loai nay.
50
Nu o uc ap lc mau v tim (systolic) thi cung se o c ap lc mau i t tim ra (diastolic) va ngc lai.
51
Trong UML, co 1 ky hiu chi rang buc exclusive-or: mi in hinh (instance) cua 1 class phai co chinh xac 1 role trong s 1 tp cac role khac nhau (set of alternatives). Ky hiu "{xor}" t bn canh ng t net ni cac association vi nhau. Trong ORM, ky hiu tng ng se la 1 t hp vung goc cua rang buc inclusive-or (chm c khoanh tron) va rang buc exclusion (X c khoanh tron)
Bai giang BM HTTT - Khoa CNTT - HUI
52
Mi account c dung bi 1 person hay 1 corporation nhng khng th cung luc cho ca hai.
53
Ca hai UML va ORM u h tr kiu con (subtyping), mi in hinh kiu con cung la 1 in hinh cua siu kiu (supertype). Cho 2 loai i tng A va B, A la subtype cua B nu vi mi trang thai cua database, phn b cua A c bao gm trong phn b cua B. A la proper subtype cua B nu va chi nu A la subtype cua B va co th tn tai 1 trang thai sao cho phn b cua B cha 1 in hinh khng co trong A. Vit tt "subtype" thay cho "proper subtype".
54
Trong ca UML va ORM, chuyn bit hoa (specialization) la qua trinh gii thiu cac subtypes, va tng quat hoa (generalization) la qua trinh ngc lai gii thiu mt supertype. Ca UML va ORM u cho phep s dung k tha n (single inheritance) cung nh a k tha (multiple inheritance) (mt subtype co nhiu hn 1 supertype).
Vi du a k tha: AsianWoman co th la subtype cua ca AsianPerson va Woman.
55
Trong UML, "subclass" va "superclass" ng nghia vi "subtype" va "supertype", tng quat hoa khng chi ap dung cho class ma cho ca interfaces, use case actors, va packages
56
Trong ORM, subtype k tha tt ca role cua supertype cua no. Trong UML, subclass k tha tt attributes, associations, va operations/methods cua supertype cua no. m hinh hoa d liu, chi tp trung vao k tha cac thuc tinh tinh khng xet n tinh k tha cua operations hay methods.
57
Subtypes c dung trong m hinh hoa d liu anh gia cac rang buc v kiu, h tr vic s dung lai cac thanh phn cua m hinh va chi ra s phn loai. Rang buc kiu (typing constraint) bao am la cac role xac inh subtype chi c dung trong cac subtype phu hp.
58
Ca UML va ORM hin thi subtye di dang cy (acyclic graphs). Mui tn i t node subtype n supertype.
59
60
Nu dung ng thng vi mui tn ring bit kt ni cac subtype thi rang buc se c t trong {} k bn ng t net ni n link cua subtype.
61
Mc inh cac subtypes cua ORM co th overlap va khng cn phai xac inh trit cac supertype cua 1 subtype. Mt s ky hiu rang buc cua ORM:
Mutually exclusive: "X" c khoanh tron ni n link cua subtype Complete (collectively exhaustive): du chm khoanh tron Ca hai rang buc: mt chm anh cheo va c khoanh tron.
63
Trong ORM, cac rang buc loai tr hay toan b se c th hin trong bang phn b hn la trong cac loai (type) Mt rang buc overlap khng co nghia la bang phn b phai overlap, ma chi la chung co th overlap. Vi vy no khng thc s la 1 rang buc va khng cn m ta chung.
64
Discriminator c t k bn mui tn cua subtype chi ra 1 s phn loai cho cac subtype. Vi du: discriminator "gender" dung phn loai Person thanh MalePerson va FemalePerson. Discriminator khng co nghia la subtypes phai thuc rang buc complete
65
Vic phn loai phai c thc thi ca trn subtype va loai quan h dung phn loai. Ca hai phai ng b vi nhau.
Hoc subtype c suy dn t 1 inh nghia subtype chinh thc Hoc loai quan h dung phn loai phai c suy dn t cac subtype xac inh nao o.
67
Dung theo cach 1 (suy dn cac subtype) Rang buc phn loai c ngm inh bi t hp cua inh nghia subtype cung vi 3 rang buc khac trn loai quan h Patient is of Gender.
Bai giang BM HTTT - Khoa CNTT - HUI
68
69
Bc 1: tao quan h nhi phn cho bt ky tp cc cp loai tr nao (sets of exclusive binaries)
70
Ta nn quyt inh xem loai object nao nn m hinh thanh class va association n: 1 va 1:1 nao cua ORM nn chuyn thanh attributes. Thng cac loai entity co ong vai tro la quan h chc nng thi se tr thanh class. Quan h chc nng nhi phn (n:l and 1:1) t 1 loai entity A n 1 loai gia tri B, hay n 1 loai thc th B ma vi loai thc th nay ta khng mun phai lu tr chi tit thi nn anh xa thanh 1 thuc tinh cua A la u.
71
72
Trng hp c bit: nu loai gia tri la c lp, va ong 1 vai tro bt buc tng minh, hay gi 1 vai tro chc nng nao o trong loai quan h 1 :n c anh xa thanh class. Vi du: bin loai gia tri PersonTitle thanh class Title
73
Hinh a xet n rang buc title-gender (e.g. title 'Mr' bi gii han thanh male) Hinh b s dung thuc tinh a tri lu tr tt ca gender co th ap dung vao title (e.g., title 'Dr.' ap dung cho ca male va female).
Bai giang BM HTTT - Khoa CNTT - HUI
74
Anh xa cac quan h 1 ngi thanh thuc tinh Boolean hay cac subclass.
75
76
Nu mi kt hp m:n co lin quan n loai gia tri (e.g., Employee has PhoneNr) thay vi dung thuc tinh a tri, co th bin i mi kt hp m:n thanh nhiu mi kt hp n: 1 (e.g. Employee has Ph0neNrl; Employee has Ph0neNr2, etc.).
77
Nu mi loai object trong loai quan h n chiu c anh xa thanh 1 class, khi o loai quan h n chiu se c anh xa thanh mi kt hp n chiu (vd1). Nu mt object trong loai quan h tam ngi khng c anh xa thanh class thi i tng hoa phn con lai cua association nh mt association class va anh xa role cua no nh 1 thuc tinh (vd2)
78
79
80
Rang buc n gian nht thng c anh xa thanh cac rang buc multiplicity Cac rang buc phc tap hn khng co ky hiu tng ng trong UML, vi vy cn ghi nhn lai chung trong dang note.
81
82
Cac subtype c anh xa thanh subclass, sau o b sung cac rang buc thich hp
83