You are on page 1of 83

Bai giang BM HTTT - Khoa CNTT HUI

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

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

No language is perfect, ORM cung khng ngoai l.


UML cung cp 1 loat cac ky hiu m hinh hoa ca d liu va qui trinh (process) ORM hin chi tp trung vao vic m hinh hoa d liu.

Bai giang BM HTTT - Khoa CNTT - HUI

Vi du cua 1 lc class UML

Bai giang BM HTTT - Khoa CNTT - HUI

Lc class m ta cac lp Employee va Car va mi kt hp gia chung. Tng ng vi quan h ORM Employee drives Car

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

12

Lc class vi cac ky hiu khng theo tiu chun chi khoa Primary key va rang buc duy nht

Bai giang BM HTTT - Khoa CNTT - HUI

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

Bai giang BM HTTT - Khoa CNTT - HUI

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

Bai giang BM HTTT - Khoa CNTT - HUI

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

Attribute multiplicity constraint


Trong m hinh ORM, birth country, social security number, hay passport number u la tuy chon. Trong UML tuy chon nay c th hin thng qua vic thm multiplicity [0..1] vao mi thuc tinh tng ng.

Uniqueness constraints (UC):


Trong ORM, cac UC dung chi mi employee number, social security number, va passport number chi tham chiu duy nht n 1 employee ma thi. UML khng co ky hiu chun chi "attribute uniqueness constraints", vi vy no c b sung bi ky hiu do ta t quy inh ly, chng han {P} va {Un }

Bai giang BM HTTT - Khoa CNTT - HUI

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 {}.

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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)

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

25

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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,

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

33

Bai giang BM HTTT - Khoa CNTT - HUI

34

Bai giang BM HTTT - Khoa CNTT - HUI

35

Bai giang BM HTTT - Khoa CNTT - HUI

36

Association t 3 ngi tr ln c ky hiu nh 1 diamond va ni n cac class bng cac ng thng.

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

38

Tng t nh cac rang buc trong thuc tinh


Bai giang BM HTTT - Khoa CNTT - HUI
39

Trong lc UML, ca hai cp RoomHourSlot va HourSlot-Activity u la duy nht. Trong ORM la cac UC tng ng.

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

44

Bai giang BM HTTT - Khoa CNTT - HUI

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)

Bai giang BM HTTT - Khoa CNTT - HUI

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

Rang buc Set-comparison bao gm:


Rang buc tp con (subset) Rang buc ngang bng (equality) Rang buc quan h loai tr (exclusion relationship) gia cac phn b cua cac role khac nhau.

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)

Bai giang BM HTTT - Khoa CNTT - HUI

48

Rang buc subset any person who chairs a committee must be a member of that committee

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

58

Ca UML va ORM hin thi subtye di dang cy (acyclic graphs). Mui tn i t node subtype n supertype.

Bai giang BM HTTT - Khoa CNTT - HUI

59

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

61

UML co 4 rang buc inh sn danh cho subtype


{overlapping} va {disjoint} chi cac subtype co th trung lp (overlap) hay loai tr ln nhau (mutually exclusive) {complete} co nghia la exhaustive (i.e., supertype bng vi hp cua tt ca subtype cua no, hay tt ca subtype u c chi ra . {incomplete } co nghia la supertype co nhiu hn la hp cac subtype cua no

Mc inh la {disjoint, incomplete}


Bai giang BM HTTT - Khoa CNTT - HUI
62

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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

Bai giang BM HTTT - Khoa CNTT - HUI

65

Gender c dung nh discriminator phn loai patient


Bai giang BM HTTT - Khoa CNTT - HUI
66

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.

Bai giang BM HTTT - Khoa CNTT - HUI

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

Bai giang BM HTTT - Khoa CNTT - HUI

69

Bc 1: tao quan h nhi phn cho bt ky tp cc cp loai tr nao (sets of exclusive binaries)

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

71

Bai giang BM HTTT - Khoa CNTT - HUI

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

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

75

Cac loai quan h con lai c anh xa thanh associations.

Bai giang BM HTTT - Khoa CNTT - HUI

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

Bai giang BM HTTT - Khoa CNTT - HUI

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)

Bai giang BM HTTT - Khoa CNTT - HUI

78

Bai giang BM HTTT - Khoa CNTT - HUI

79

Bai giang BM HTTT - Khoa CNTT - HUI

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.

Bai giang BM HTTT - Khoa CNTT - HUI

81

Bai giang BM HTTT - Khoa CNTT - HUI

82

Cac subtype c anh xa thanh subclass, sau o b sung cac rang buc thich hp

Bai giang BM HTTT - Khoa CNTT - HUI

83

You might also like