Möơt söị khaâi niïơm vađ cuâ phaâp ngûô phaâp khaâ trûđu tûúơng, trong chûúng túâi seô trònh bađy nhûông kyâ hiïơu trûơc quan cuêa caâc thađnh töị trïn trong viïơc mö hònh hoaâ caâc hïơ
Trang 1Subsystem lađ nhoâm caâc thađnh töị mö taê hađnh ăöơng cuêa möơt hïơ thöịng Subsystem do ăoâ bao göìm caâc phûúng thûâc (Operation) vađ cung cíịp caâc giao diïơn (Interface) Caâc thađnh phíìn trong Subsystem coâ thïí chia lađm hai loaơi lađ caâc thađnh phíìn mö taê hađnh ăöơng vađ caâc thađnh phíìn thûơc thi hađnh ăöơng
Chûúng 2 NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML
(UML Semantic) 71
2.71 Toâm tùưt
Chûúng hai trònh bađy nhûông thađnh töị cú baên vađ cíịu truâc UML, cuđng vúâi viïơc phín tñch caâc goâi thađnh töị cuêa ngön ngûô nhû: package nïìn taêng, package hađnh vi, package quaên trõ mö hònh Möơt söị khaâi niïơm vađ cuâ phaâp ngûô phaâp khaâ trûđu tûúơng, trong chûúng túâi seô trònh bađy nhûông kyâ hiïơu trûơc quan cuêa caâc thađnh töị trïn trong viïơc mö hònh hoaâ caâc hïơ thöịng thöng qua caâc loaơi lûúơc ăöì
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 72
3.1 Giúâi thiïơu
Khi mö hònh hoâa möơt hïơ thöịng, chuâng ta cíìn xíy dûơng caâc loaơi mö hònh khaâc nhau, trong UML caâc thöng tin trong mö hònh thûúđng ặúơc biïíu diïîn bùìng caâc kyâ hiïơu ăöì hoơa cuđng vúâi caâc kïịt nöịi thïí hiïơn möịi quan hïơ giûôa caâc kyâ hiïơu nađy Tíơp caâc kyâ hiïơu ăöì hoơa vađ caâc liïn kïịt giûôa chuâng duđng ăïí mö taê cho möơt chûâc nùng, thađnh phíìn hoùơc möơt thïí hiïơn cuêa hïơ thöịng ặúơc töí chûâc thađnh möơt lûúơc ăöì (diagram), caâc lûúơc ăöì seô giuâp trûơc quan hoâa caâc mö hònh cuêa hïơ thöịng
Trang 2cíìn ặúơc xíy dûơng, möîi mö hònh seô ặúơc biïíu diïîn bùìng nhiïìu loaơi lûúơc ăöì vađ möîi loaơi lûúơc ăöì coâ thïí ặúơc sûê duơng trong nhiïìu loaơi mö hònh khaâc nhau
Trong chûúng nađy seô trònh bađy hïơ thöịng caâc kyâ hiïơu cuêa UML, caâc kyâ hiïơu nađy ặúơc phín loaơi theo caâc lûúơc ăöì Möîi lûúơc ăöì seô coâ hïơ thöịng caâc kyâ hiïơu riïng vađ cuông coâ möơt söị kyâ hiïơu chung sûê duơng trong nhiïìu loaơi lûúơc ăöì khaâc nhau Trong UML ắnh nghôa chñn loaơi lûúơc ăöì:
_ Lûúơc ăöì Use Case (Use case diagram)
_ Lûúơc ăöì lúâp (Class Diagram)
_ Lûúơc ăöì ăöịi tûúơng (Object Diagram)
_ Lûúơc ăöì tuíìn tûơ (Sepuence Diagram)
_ Lûúơc ăöì cöơng taâc (Collaboration Diagram)
_ Lûúơc ăöì traơng thaâi (State Diagram)
_ Lûúơc ăöì hoaơt ăöơng (Activity Diagram)
_ Lûúơc ăöì thađnh phíìn (Component Diagram)
_ Lûúơc ăöì triïín khai (Deployment Diagram)
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 73
3.2 Caâc thađnh phíìn cú baên cuêa lûúơc ăöì
3.2.1 Ăöì thõ vađ nöơi dung (Graphs and their Contents)
Híìu hïịt caâc lûúơc ăöì trong UML ăïìu úê daơng ăöì thõ, caâc thöng tin ặúơc töí chûâc dûúâi daơng hònh hoơc topö, khöng bõ aênh hûúêng búêi sûơ thay ăöíi vïì hònh daâng vađ kñch thûúâc Caâc kyâ hiïơu trong UML thûúđng úê daơng hai chiïìu, möơt söị lađ hònh chiïịu cuêa caâc kyâ hiïơu ba chiïìu (caâc khöịi líơp phûúng), nhûng thûúđng ặúơc biïíu diïîn dûúâi daơng caâc biïíu tûúơng trïn bïì mùơt hai chiïìu Coâ böịn loaơi kyâ hiïơu ăöì hoơa
cú baên trong hïơ thöịng kyâ hiïơu cuêa UML :
_ Caâc biïíu tûúơng (Icons)– lađ möơt hònh khöng thïí thay ăöíi vïì hònh daơng cuông nhû kñch thûúâc, Icon khöng thïí múê röơng ăïí chûâa nöơi dung bïn trong
_ Caâc kyâ hiïơu hai chiïìu (2-d sumbols)– coâ kñch cúô khaâc nhau, coâ thïí múê röơng ăïí chûâa caâc thûâ khaâc nhû danh saâch caâc chuöîi hoùơc ngay caê caâc kyâ hiïơu khaâc bïn trong, chuâng cuông coâ thïí ặúơc chia lađm nhiïìu phíìn Loaơi kyâ hiïơu nađy khi keâo
Trang 3hoùơc xoâa seô lađm aênh hûúêng ăïịn nöơi dung bïn trong cuông nhû caâc ặúđng díîn liïn kïịt vúâi noâ
_ Caâc ặúđng díîn (Paths)- lađ möơt tíơp tuíìn tûơ caâc ăoaơn thùỉng, möơt ặúđng díîn phaêi luön ặúơc gùưn vúâi caâc kyâ hiïơu ăöì hoơa khaâc úê hai ăíìu Ăûúđng díîn coâ thïí coâ caâc terminator, ăoâ lađ caâc biïíu tûúơng úê cuöịi ặúđng díîn lađm roô nghôa cho caâc ặúđng díîn nađy
_ Caâc chuöîi (Strings)- coâ thïí töìn taơi nhû lađ möơt thađnh töị ăöơc líơp trong caâc lûúơc ăöì hoùơc lađ möơt phíìn cuêa caâc thađnh töị khaâc trong lûúơc ăöì, hoùơc lađ möơt nhaôn gùưn vađo caâc kyâ hiïơu hay caâc ặúđng díîn
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 74
3.3 Caâc ặúđng díîn (Drawing Paths)
Ăûúđng díîn lađ möơt tíơp caâc ăoaơn thùỉng coâ caâc ăiïím cuöịi khúâp vúâi nhau, ăíy lađ möơt ăún võ hònh hoơc topö ăún Caâc ăoaơn thùỉng coâ thïí lađ caâc ặúđng trûơc giao, ặúđng xiïn hoùơc ặúđng cong Trong möơt söị quan hïơ (vñ duơ nhû kïịt húơp hoùơc töíng quaât hoâa), vađi ặúđng díîn cuđng loaơi coâ thïí liïn kïịt ăïịn cuđng möơt kyâ hiïơu ăún Trong möơt söị trûúđng húơp caâc ặúđng díîn coâ thïí kïịt húơp laơi hoùơc phín nhaânh thađnh nhiïìu ặúđng nhû töí chûâc cuêa möơt cíy
3.3.1 Caâc liïn kïịt íín vađ vai trođ cuêa cöng cuơ
Möơt kyâ hiïơu viïịt trïn giíịy thò khöng thïí chûâa caâc thöng tin íín, kyâ hiïơu trïn mađn hònh coâ thïí chûâa caâc liïn kïịt ăïịn caâc thöng tin íín khöng thïí hiïín thõ trong view tônh, muöịn thïí hiïơn caâc thöng tin íín nađy phaêi nhúđ ăïịn caâc cöng cuơ höî trúơ Caâc kyâ hiïơu trònh bađy dûúâi ăíy ặúơc ắnh nghôa nhû lađ nhûông kyâ hiïơu tônh
3.3.2 Thöng tin nïìn (Background Information)
Caâc thïí hiïơn cuêa kyâ hiïơu lúâp trong caâc lûúơc ăöì khaâc nhau coâ thïí khaâc nhau, vñ duơ nhû kyâ hiïơu lúâp chó coâ phíìn tïn lúâp hoùơc coâ chûâa thïm phíìn thuöơc tñnh hoùơc hađm tuyđ theo ýu cíìu cuêa tûđng lûúơc ăöì Khöng phaêi tíịt caê caâc thöng tin ăïì úê daơng kyâ hiïơu ăöì hoaơ, möơt söị thïí hiïơn töịt nhíịt dûúâi daơng vùn baên, UML khöng giaê thiïịt tíịt caê caâc thöng tin trong mö hònh seô ặúơc thïí hiïơn trong lûúơc ăöì, möơt söị coâ thïí chó ặúơc biïíu diïîn dûúâi daơng baêng
Trang 43.3.3 Chuöîi (String), tïn (Name),nhaôn (Label) vađ tûđ khoâa
(Keywords) Chuöîi lađ möơt daôy caâc kyâ tûơ duđng ăïí hiïín thõ möơt thöng tin nađo ăoâ trong mö hònh Font vađ kñch cúô cuêa chuöîi coâ thïí phuơ thuöơc vađo thuöơc tñnh cuêa mö hònh, möơt chuöîi coâ thïí úê daơng dođng ăún hay möơt phín ăoaơn
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 75
Tïn lađ möơt chuöîi duđng ăïí ắnh nghôa cho möơt thađnh töị mö hònh duy nhíịt Möơt pathname (tïn ặúđng díîn), göìm möơt tíơp caâc tïn ặúơc nöịi vúâi nhau búêi möơt kyâ hiïơu ăùơc biïơt (vñ duơ nhû díịu “::”), ặúơc duđng ăïí tòm möơt thađnh töị mö hònh bùưt ăíìu tûđ göịc cuêa hïơ thöịng Tïn ặúơc thïí hiïơn nhû lađ möơt chuöîi vùn baên, thöng thûúđng nùìm trïn möơt dođng vađ thûúđng khöng chûâa caâc kyâ tûơ ăùơc biïơt.Thöng thûúđng ăöơ dađi cuêa tïn vađ tíơp caâc kyâ tûơ duđng ăïí ăùơt tïn ặúơc ắnh nghôa búêi cöng cuơ vađ ngön ngûô hiïín thõ
Vñ duơ : Tïn - Nguýîn Vùn A, abstract, interger Pathname - ngín hađngA::ChinhaânhB::PhođngC Nhaôn (label) cuông lađ möơt chuöîi kyâ tûơ ặúơc gùưn vađo kyâ hiïơu ăöì hoơa
Tûđ then chöịt (hay tûđ khoâa - keyword) thûúđng duđng ăïí phín biïơt giûôa nhûông nhoâm, nhûông chuê ăïì chung Kyâ hiïơu cuêa möơt keyword thûúđng lađ möơt chuöíi ặúơc ăùơt trong hai díịu“‹‹ ›› “.Vñ du ơ : ‹‹ extend ››, ‹‹ include››
3.4 Biïíu thûâc (Expression)
Biïíu thûâc ặúơc sûê duơng trong möơt söị cíịu truâc cuêa UML, ăùơc biïơt lađ trong ngön ngûô mö taê rađng buöơc duđng ăïí ắnh nghôa UML Hađm ặúơc thïí hiïơn nhû lađ möơt chuöîi kyâ tûơ vađ cuâ phaâp cuêa chuöîi ặúơc ắnh nghôa tuđy thuöơc vađo cöng cuơ höî trúơ vađ cöng cuơ phín tñch cho ngön ngûô
Vñ duơ : Cöngty.Giaâmăöịc.Lûúng > Cöngty.Nhínviïn.Lûúng
3.4.1 Ghi Chuâ (Note)
Lađ möơt kyâ hiïơu ăöì hoaơ coâ chûâa thöng tin dûúâi daơng vùn baên hoùơc chûâa caê hònh aênh Note coâ thïí thïí hiïơn nhiïìu loaơi thöng tin khaâc nhau nhû: rađng buöơc, chuâ thñch, thín cuêa caâc hađm, caâc giaâ trõ ăñnh keđm
Trang 5Hònh 3-1 Note duđng ăïí ghi chuâ cho mö hònh
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 76
3.5 Sûơ tûúng quan giûôa caâc loaơi thađnh töị vađ thïí hiïơn cuêa noâ
Nhiïìu khaâi niïơm mö hònh hoâa trong UML coâ hai thïí hiïơn tûúng tûơ nhau ăi thađnh möơt cùơp thađnh töị vađ thïí hiïơn, vñ duơ nhû : Lúâp vađ ăöịi tûúơng, quan hïơ kïịt húơp vađ liïn kïịt, tham söị vađ giaâ trõ
Hònh 3-2 Lúâp Poiint vađ hai ăöịâi tûúơng Poiint
Role (vai trođ) trong möơt cöơng taâc (collaboration) cuông lađ möơt cùơp giûôa thađnh töị vađ thïí hiïơn Möơt role trong möơt collaboration ặúơc thïí hiïơn bùìng möơt tïn, díịu hai chíịm vađ kiïíu, möơt thïí hiïơn ặúơc biïíu diïîn bùìng tïn, díịu “/”, danh saâch vai trođ, díịu hai chíịm vađ danh saâch kiïíu Vñ duơ : Caâc vai trođ Caâc ăöịi tûúơng möơt collaboration
Hònh 3-3 Caâc vai trođ vađ caâc ăöịi tûúơng ăiïím
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 77
3.6 Caâc thađnh phíìn quaên trõ mö hònh (model management)
3.6.1 Goâi (Package)
Ngûô nghôa
Möơt goâi(package) lađ möơt nhoâm caâc thađnh töị mö hònh, baên thín package cuông coâ thïí chûâa caâc package con Tíịt caê caâc thađnh töị mö hònh ăïìu coâ thïí töí chûâc dûúâi daơng package
Trang 6Lûu yâ rùìng package coâ thïí súê hûôu caâc thađnh töị, caâc maêng mö hònh, nhûông thađnh phíìn cú baên ăïí ăiïìu khiïín cíịu hònh, ăïí lûu trûô, ăïí ăiïìu khiïín caâc truy cíơp Möîi thađnh töị coâ thïí ặúơc súê hûôu trûơc tiïịp búêi möơt package ăún, vò víơy cíy kïị thûđa cuêa package lađ möơt cíơy kïị thûđa nghiïm ngùơt Möơt package coâ thïí tham chiïịu ăïịn möơt package khaâc bùìng caâch duđng caâc khuön míîu cuêa quan hïơ phuơ thuöơc nhû ‹‹import››, ‹‹access›› hoùơc caâc quan hïơ khaâc nhû tinh chïị hay töíng quaât hoâa
Hònh 3-4 Caâch thïí hiïơn tïn cuêa Packages
Packages Editor chûâa caâc Package phuơ thuöơc caâc quan hïơ
Hònh 3-5 Package vađ caâc quan hïơ
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 78
3.7 Caâc thađnh phíìn quaên trõ mö hònh (model management)
Hònh 3-6 Nöơi dung cuêa package Ediitor thïí hiïơn dûúâi daơng Cíy
Trang 7Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 79
3.8 Subsystem
3.8.1 Ngûô nghôa
Möơt subsystem (hïơ thöịng con) miïu taê möơt ăún võ hađnh vi cuêa möơt víịn ăïì trong hïơ thöịng hay noâi caâc khaâc lađ trong möơt mö hònh Ăùơc taê cuêa subsystem bao göìm caâc thao taâch hay caâc hađm cuêa subsystem, caâc thađnh töị ăùơc taê liïn quan ăïịn subsystem nhû use case, state machines
3.8.2 Kyâ hiïơu
Kyâ hiïơu cuêa möơt subsystem tûúng tûơ nhû cuêa package, göìm möơt hònh chûô nhíơt lúân vađ möơt hònh chûô nhíơt nhoê gùưn vađo goâc trïn traâi cuêa hònh chûô nhíơt lúân, ăöìng thúđi coâ thïm möơt kyâ hiïơu hònh caâi nôa gùưn vađo goâc trïn phaêi cuêa hònh chûô nhíơt chûâa tïn subsystem
Hònh 3-7 Möơt thïí hiïơn ăún giaên cuêa subsystem
Möơt subsytem cuông coâ hai caâch thïí hiïơn tïn giöịng nhû package Bïn caơnh ăoâ ta cuông coâ thïí duđng kyâ hiïơu cuêa package ăïí thay thïị cho subsystem bùìng caâch thïm vađo tûđ khoâa ‹‹ subsystem›› vađo phña trïn tïn cuêa
subsystem Hònh chûô nhíơt lúân cuêa subsystem co thïí ặúơc chia lađm ba phíìn : _ Operation (thao taâc)
_ Specification Element (thađnh töị ăùơc taê/mö taê)
_ Realization element (thađnh töị thûơc thi/ duđng ăïí ắnh roô caâc ăùơc taê tûúng ûâng) Tuyđ trûúđng húơp sûê duơng mađ nhûông phíìn nađy coâ thïí hiïín thõ hay khöng, coâ thïí hiïín thõ caê ba phíìn hay tûđng phíìn riïng, giûôa caâc phíìn coâ thïí coâ caâc aânh xaơ vúâi nhau hoùơc vúâi caâc thađnh töị bïn ngoađi thöng quan caâc quan hïơ
Hònh 3-8 Möơt thïí hiïơn ăíìy ăuê cuêa subsystem
Trang 8Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 80
3.9 Caâc thađnh phíìn quaên trõ mö hònh (model management)
Hònh 3-9 Subsystem vađ aânh xaơ (mappiing) giûôa caâc thađnh phíìn
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 81
3.10 Model
3.10.1 Ngûô nghôa
Möơt model (mö hònh) lađ sûơ trûđu tûúơng hoâa cuêa möơt víịn ăïì trong hïơ thöịng, noâ miïu taê hïơ thöịng dûúâi möơt goâc ăöơ quan saât ăùơc biïơt vúâi möơt mûâc ăöơ trûđu tûúơng nađo ăoâ, model coâ thïí chûâa tíịt caê caâc thađnh töị mö hònh cíìn thiïịt cho viïơc miïu taê víịn ăïì cuêa hïơ thöịng Caâc thađnh töị trong mö hònh ặúơc töí chûâc dûúâi daơng cíy kïị thûđa cuêa caâc package hoùơc subsystem
3.10.2 Kyâ hiïơu
Möơt model sûê duơng kyâ hiïơu cuêa package vúâi möơt hònh tam giaâc nhoê ặúơc gùưn vađo trïn phaêi cuêa hònh chûô nhíơt lúân Trong trûúđng húơp, model coâ chûâa nöơi dung thò hònh tam giaâc ặúơc veô trong hònh chûô nhíơt nhoê cuđng vúâi tïn cuêa model Möơt model cuông coâ thïí sûê duơng kyâ hiïơu nhû lađ package vúâi möơt tûđ khoâa ‹‹ model
›› ặúơc ăùơt phña trïn tïn cuêa model
Vñ duơ : möơt mö hònh hïơ thöịng (systemModel) seô chûâa caâc mö hònh phín tñch (analysis models) vađ thiïịt kïị (design models)
Trang 9Hònh 3-10 Möơt thïí hiïơn cuêa Modell
Vñ duơ vïì viïơc töí chûâc cíy kïị thûđa trong model Kïị thûđa dûơa trïn Model Kïị thûđa dûơa trïn Subsystem
Hòònh 3-11 Töí chûâc kïịâ thûđa trong Modell
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 82
3.11 Caâc cú chïị múê röơng töíng quaât
3.11.1 Rađng buöơc (Constraint) vađ chuâ thñch (Comment)
Ngûô nghôa
Constraint (rađng buöơc) lađ möơt quan hïơ rađng buöơc vïì ngûô nghôa ặúơc ăñnh
keđm vađo caâc thađnh töị mö hònh nhùìm thay ăöíi vađ giúâi haơn vïì ngûô nghôa cuêa caâc thađnh töị nađy, ăaêm baêo hïơ thöịng ặúơc mö hònh hoâa möơt caâch ăuâng ăùưn Möơt söị constraint ặúơc ắnh nghôa ngay trong baên thín UML, möơt söị do ngûúđi sûê duơng tûơ ắnh nghôa líịy Nhûông rađng buöơc do ngûúđi duđng ắnh nghôa thûúđng ặúơc ăùơc taê bùìng caâc tûđ trong möơt ngön ngûô ặúơc qui ắnh (cuâ phaâp vađ sûơ thïí hiïơn phuơ
thuöơc vađo cöng cuơ höî trúơ) Comment (chuâ thñch) lađ möơt chuöîi vùn baên ặúơc gùưn trûơc tiïịp vađo caâc thađnh töị mö hònh coâ taâc duơng ghi chuâ, giaêi thñch, böí sung ngûô
nghôa cho thađnh töị ăoâ
Trang 10Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 83
3.12 Kyâ hiïơu
Constraint ặúơc biïíu diïîn búêi möơt chuöîi vùn baên ặúơc ăùơt trong cùơp díịu {} Ngön ngûô duđng ăïí viïịt constraint thûúđng ặúơc ắnh nghôa búêi cöng cuơ höî trúơ (vñ duơ nhû OCL – Object Constraint Language hoùơc coâ thïí duđng ngön ngûô tûơ nhiïn ăïí ăùơc taê rađng buöơc) Ăöịi vúâi caâc thađnh töị mađ kyâ hiïơu lađ möơt chuöîi vùn baên (vñ duơ nhû möơt thuöơc tñnh nađo ăoâ ) chuöîi kyâ tûơ rađng buöơc ặúơc ghi ngay sau chuöîi vùn baên vađ ặúơc taâch búêi möơt díịu ngùn caâch
Ăöịi vúâi möơt danh saâch caâc thađnh töị úê daơng vùn baên (vñ duơ nhû danh saâch caâc thuöơc tñnh cuêa möơt lúâp) thò rađng buöơc seô ặúơc aâp ăùơt trïn tíịt caê caâc thađnh töị sau chuöîi rađng buöơc cho túâi khi coâ möơt chuöîi rađng buöơc múâi hoùơc kïịt thuâc danh saâch
Rađng buöơc 1 aâp duơng cho caâc thuöơc tñnh 1,2 túâi n-1
Rađng buöơc 2 aâp duơng cho caâc thuöơc tñnh tûđ n túâi cuöịi
Hònh 3-12 Rađng buöơc trïn danh saâch thađnh töịâ
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 84
Ăöịi vúâi caâc thađnh töị coâ kyâ hiïơu ăöì hoơa ăún, chuöîi rađng buöơc coâ thïí ăùơt gíìn kyâ hiïơu, töịt nhíịt lađ ăùơt gíìn tïn cuêa thađnh töị nïịu coâ Ăöịi vúâi caâc möơt cùơp hai kyâ hiïơu ăöì hoơa, rađng buöơc ặúơc thïí hiïơn bùìng möơt muôi tïn ặât neât tûđ nhaôn cuêa thađnh töị nađy túâi nhaôn cuêa thađnh töị kia Chair-of (lađm chuê tõch) phaêi lađ tíơp con cuêa Member-of(thađnh viïn) rađng buöơc
Trang 11Hònh 3-13 Rađng buöơc trïn möơt cùơp thađnh töịâ
Ăöịi vúâi rađng buöơc trïn ba kyâ hiïơu ăöì thõ trúê lïn, rađng buöơc ặúơc ăùơt trong note (ăïí trong cùơp díịu {})vađ coâ caâc ặúđng ặât neât liïn kïịt ăïịn caâc thađnh töị bõ rađng buöơc
Caâc chuâ thñch lađ möơt chuöîi kyâ tûơ ăùơt trong möơt biïíu tûúng note Caâc chuâ thñch cho caâc hađm hoùơc caâc rađng buöơc khöng ặúơc ăùơc taê trong UML nhûng ặúơc ăùơc taê trong cöng cuơ höî trúơ
Hònh 3-14 Rađng buöơc trïn nhiïìu thađnh töịâ
Hònh 3-15 Chuâ thñch cho package MFC6 0
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 85
3.13 Thuöơc tñnh cuêa caâc thađnh töị (Element Properties)
Ngûô nghôa
Möơt söị thuöơc tñnh cuêa caâc thađnh töị khöng coâ kyâ hiïơu trûơc quan Ăïí thïm vađo ăoâ ngûúđi duđng coâ thïí ắnh nghôa caâc thuöơc tñnh múâi bùìng caâch sûê duơng cú chïị tagged value (taơm dõch lađ giaâ trõ ăñnh keđm hay giaâ trõ theê) Möîi tagged value biïíu diïîn möơt loaơi thuöơc tñnh ăùơc biïơt trong ûâng duơng tûúng ûâng vúâi möơt hay nhiïìu loaơi phíìn tûê mö hònh
Kyâ hiïơu
Möơt tagged value ặúơc thïí hiïơn bïn trong möơt cùơp díịu {}, vúâi möơt theê (tag) vađ möơt giaâ trõ (value), coâ daơng : { name = value } name lađ tïn cuêa theê (tag), value lađ giaâ trõ cuêa theê, caê hai ặúơc biïíu diïîn bùìng chuöîi kyâ tûơ Nïịu kiïíu cuêa theê lađ Boolean (ăuâng/sai) thò giaâ trõ mùơc ắnh cuêa theê lađ True (ăuâng), nhûông kiïíu khaâc thò cíìn phaêi coâ giaâ trõ roô rađng, thöng thûúđng thò khöng coâ ắnh nghôa hònh thûâc cho giaâ trõ theê, muơc ăñch chuê ýịu chó ăïí cung cíịp thöng tin quaên lyâ mö hònh
vñ duơ nhû version, taâc giaê cuêa mö hònh, khöng liïn quan ăïịn saên phíím cuöịi.Vñ duơ : {abstract} { Taâc giaê = “ Nguýîn Vùn A”, Thúđi haơn cuöịi = 31-7-2000, Gian
ăoaơn = Phín tñch } (giaâ trõ theê )(rađng buöơc)
Hònh 3-16 Vñ duơ vïì tagged vallue
Trang 12Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 86
3.14 Caâc míîu (Stereotypes)
Ngûô nghôa
Stereotype duđng ăïí ăùơc biïơt hoâa vïì mùơt ngûô nghôa cuêa caâc phíìn tûê ăaô ặúơc ắnh nghôa trong UML, lađ möơt lúâp caâc phíìn tûê mö hònh múâi ặúơc töíng quaât tûđ nhûông phíìn tûê ăaô ặúơc ắnh nghôa, ặúơc giúâi thiïơu taơi möơt thúđi ăiïím cíìn thiïịt nađo ăoâ trong quâa trònh mö hònh hoâa hïơ thöịng
Kyâ hiïơu
Caâch thïí hiïơn töíng quaât cuêa Stereotype lađ sûê duơng kyâ hiïơu cuêa phíìn tûê cú súê vúâi möơt tûđ khoâa nùìm bïn trïn tïn cuêa thađnh töị, chuöîi tûđ khoâa ặúơc ăùơt bïn trong cùơp díịu ‹‹ ›› cuông lađ tïn cuêa stereoype Möơt caâch thïí hiïơn khaâc lađ ăùơt biïíu tûúơng (icon) bïn trong hònh chûô nhíơt chûâa tïn cuêa khuön míîu, hoùơc chó coâ biïíu tûúơng vađ bïn dûúâi lađ tïn cuêa khuön míîu
Hònh 3-17 Möơt söịâ stereotype (khuöđn míîêu)
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 87
3.15 Caâc lûúơc ăöì
3.15.1 Giúâi thiïơu
Caâc lûúơc ăöì lađ nïìn taêng cú baên ăïí mö hònh hoâa hïơ thöịng trong UML UML cung cíịp chñn loaơi lûúơc ăöì khaâc nhau nhùìm giuâp mö hònh hoâa chi tiïịt hïơ thöịng, chuâng ặúơc chia thađnh ba loaơi chñnh
Trang 13_ Caâc lûúơc ăöì tônh : Use Case (Use Case Diagram), lúâp (Class diagram), ăöịi tûúơng (Component diagram)
_ Caâc lûúơc ăöì ăöơng (hay caâc lûúơc ăöì hađnh vi) : tuíìn tûơ (Sequence Diagram), cöơng taâc (Collaboration diagram), traơng thaâi (Statechart diagram), hoaơt ăöơng (Activity diagram)
_ Caâc ăöì thûơc thi : thađnh phíìn (Component diagram), triïín khai (Deployment diagram)
Caâc lûúơc ăöì líìn lûúơc ặúơc trònh bađy theo cíịu truâc :
_ Vñ duơ : göìm hònh veô vađ caâc chuâ thñch trïn lûúơc ăöì
_ Ngûô nghôa : yâ nghôa cuêa caâc lûúơc ăöì
_ Chûâc nùng : chûâc nùng sûê duơng
_ Caâc thađnh phíìn chñnh : giúâi thiïơu caâc thađnh phíìn chñnh trong lûúơc ăöì
Hònh 3-18 Töíơng quan vïì caâc lûúơc ăöì trong UML
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 88
3.16 Lûúơc ăöì lúâp (Class Diagram)
(quan hïơ kïịt húơp hay thu naơp) (tïn lúâp) (quan hïơ töíng quaât hoâa) (quan hïơ kïịt húơp) (rađng buöơc) (thuöơc tñnh) (hađm) (giao tiïịp) (quan hïơ phuơ thuöơc) (vai trođ) (biïíu tûúơng cuêa lúâp) (ăa xaơ)
Hònh 3-19 Lûúơc ăöì lúâp (Cllass Diiagram)
Trang 14Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 89
Ngûô nghôa
_ Möơt lûúơc ăöì lúâp lađ möơt lûúơc ăöì duđng ăïí mö taê caâc lúâp (class), caâc giao tiïịp (interface), sûơ cöơng taâc (collaboration) vađ caâc möịi quan hïơ giûôa caâc thađnh phíìn trong mö hònh
_ Class Diagram lađ möơt thïí hiïơn dûúâi daơng ăöì thõ cíịu truâc tônh cuêa mö hònh
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 90
3.17 Chûâc nùng
_ Ăùơt tïn vađ líơp mö hònh caâc khaâi niïơm trong hïơ thöịng
_ Ăùơc taê sûơ cöơng taâc, caâc möịi quan hïơ quan hïơ giûôa caâc lúâp
_ Ăùơc taê sú ăöì cú súê dûô liïơu
_ Ngûúđi ta thûúđng duđng caâc lûúơc ăöì lúâp ăïí thïí hiïơn sûơ kïịt nöịi cuêa caâc thađnh
phíìn cíịu truâc trong design view vađ process view
_ Class Diagram ặúơc sûê duơng trong mö hònh phín tñch vađ thiïịt kïị, höî trúơ cho giai ăoaơn phín tñch vađ thiïịt kïị hïơ thöịng
3.17.1 Caâc thađnh phíìn chñnh
Lúâp (Class)
Ngûô nghôa
Trang 15Möơt lúâp (class) lađ möơt ăaơi diïơn cho möơt tíơp caâc caâc ăöịi tûúơng coâ nhûông ăùơc tñnh tûúng tû nhau Ăíy lađ thađnh phíìn cú baên nhíịt cuêa möơt lûúơc ăöì lúâp Lúâp cuông coâ cíịu truâc dûô liïơu, hađnh vi vađ caâc quan hïơ vúâi caâc lúâp khaâc
- Phíìn giûôa : chûâa danh saâch caâc thuöơc tñnh(hay cođn goơi lađ caâc biïịn thađnh phíìn)
- Phíìn cuöịi : chûâa danh saâch caâc hađnh vi (hay cođn goơi lađ caâc hađm thađnh phíìn) Trong möơt söị lûúơc ăöì hai phíìn dûúâi cuđng thûúđng ặúơc boê qua, ngay caê khi chuâng thûơc sûơ hiïơn diïơn, thò chuâng cuông khöng hiïîn thõ tíịt caê danh saâch caâc thuöơc tñnh cuông nhû caâc hađnh vi Muơc tiïu úê ăíy chó thïí hiïơn nhûông thuöơc tñnh vađ nhûông hađnh vi coâ ñch trong möơt lûúơc ăöì cuơ thïí, vò víơy biïíu tûúơng cuêa lúâp coâ thïí ặúơc ruât goơn khi cíìn thiïịt
Hònh 3-20 Biïíu tûúơng cuêa möơt lúâp
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 91
(biïíu tûúơng ăún giaên nhíịt) (thïí hiïơn cuêa lúâp úê mûâc ăöơ phín tñch hïơ thöịng) (thïí hiïơn cuêa lúâp úê mûâc ăöơ triïín khai – xíy dûơng hïơ thöịng)
Hònh 3-21 Thïí hiïơn cuêa lúâp úê caâc giai ăoaơn khaâc nhau
Caâc thuöơc tñnh vađ caâc hađnh vi trong möơt lúâp coâ thïí coâ caâc tíìm vûơc (visibility) khaâc nhau, caâc kyâ hiïơu cuêa caâc tíìm vûơc ặúơc ăùơt trûúâc caâc thuöơc tñnh hay hađnh
vi, trong UML ắnh nghôa ba mûâc chuíín :
_ Public – kyâ hiïơu bùìng díịu (+)
_ Private – kyâ hiïơu bùìng díịu (-)
_ Protected – kyâ hiïơu bùìng díịu (#)
Cuâ phaâp cho caâc khai baâo cuêa thuöơc tñnh nhû sau :
Tíìm vûơc – Tïn thuöơc tñnh – Baên söị : Kiïíu = Giaâ trõ khúêi taơo
Trang 16Vñ duơ : - color : Color = Red
+ size: Area = (100,100)
# points [2 *] : Point
Cuâ phaâp cho caâc khai baâo cuêa hađm nhû sau :
Tíìm vûơc – Tïn thuöơc tñnh (danh saâch tham söị) : Kiïíu traê vïì
Vñ duơ : + display (): Location
+ hide()
- attachXwindow(zwin: Xwindow*)
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 92
3.18 Interface
Ngûô nghôa
Coâ nhûông lúâp khöng coâ gò ngoađi caâc hađm aêo thuíìn tuây, trong ngön ngûô Java caâc lúâp nhû víơy khöng lađ ăöịi tûúơng, chuâng ặúơc goơi lađ interface (giao tiïịp) Muöịn sûê duơng interface, lúâp phaêi giao tiïịp vúâi noâ bùìng möơt quan hïơ phuơ thuöơc, lúâp sûê duơng chó phuơ thuöơc vađo caâc hađnh vi trong giao tiïịp, chûâ khöng phuơ thuöơc vađo caâc thûâ khaâc trong interface
Kyâ hiïơu
Kyâ hiïơu ăún giaên cuêa möơt interface lađ möơt hònh trođn nhoê coâ tïn ngay phña dûúâi Muöịn chó ra caâc hađnh vi trong interface, coâ thïí biïíu diïîn interface bùìng kyâ hiïơu lúâp vúâi möơt stereotype bïn trïn cuêa tïn interface
Hònh 3-22 Thïí hiïơôn cuêa möơt iinterface
Hònh 3-23 Möơt caâc sûê duơng iinterface
Trang 17Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 93
3.19 Caâc loaơi quan hïơ
3.19.1 Quan hïơ kïịt húơp (association)
Möơt quan hïơ kïịt húơp lađ quan hïơ vïì mùơt cíịu truâc giûôa hai, hoùơc giûôa möơt vađ nhiïìu thađnh töị (lúâp hoùơc ăöịi tûúơng)
- Trïn quan hïơ kïịt húơp coâ thïí coâ hai tïn cho hai hûúâng ngûúơc chiïìu nhau
(2 quan hïơ kïịt húơp – cöng nhín lađm viïơc cho cöng ty vađ cöng ty quaên lyâ cöng nhín )
manage
Hòònh 3-24 Tïđn trong quan hïơô kïịât húớp
- Möîi möịi hïơ kïịt húơp cuông coâ baên söị (multiplicity) vađ tñnh ắnh hûúâng (navigate) Vñ duơ nhû: (0 1), (1), (0 *), (1 *), (1 6), (10 *)
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 94
Hònh 3-25 Baên söịâ (mulltiiplliiciity) trong quan hïơ kïịât húơp
- Trong quan hïơ kïịt húơp cuông coâ sûơ ăïơ quy (trong trûúđng húơp möơt lúâp (hay ăöịi
tûúơng) kïịt húơp vúâi chñnh noâ ( ăïơ quy )
Trang 18Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 95
(vai trođ) (Person ăoâng vai trođ lađ ngûúđi lao ăöơng) (Company ăoâng vai trođ lađ ngûúđi chuê)
Hònh 3-27 Vai trođ (rolles) trong quan hïơ kïịât húơp
- Ngoađi ra cođn coâ Or-Association (quan hïơ kïịt húơp rađng buöơc or), ăíy coâ thïí coi lađ möơt rađng buöơc trïn hai hay nhiïìu quan hïơ kïịt húơp Noâ xaâc ắnh caâc ăöịi tûúơng cuêa möơt lúâp chó coâ thïí tham gia vađo möơt trong nhûông quan hïơ kïịt húơp nađy taơi möơt thúđi ăiïím Xeât vñ duơ trong hònh 3-28 taơi möơt thúđi ăiïím nhíịt ắnh thò lúâp Account (tađi khoaên) chó coâ quan hïơ kïịt húơp vúâi möơt trong hai lúâp Person (ngûúđi)
hoùơc Corporation (haông) (caâch thïí hiïơn cuêa quan hïơ Or-Association) (taơi möơt thúđi ăiïím thò chó coâ möơt trong hai quan hïơ coâ taâc duơng)
Hònh 3-28 Möơt cuêa Or-Associiatiion
- Trong quan hïơ kïịt húơp cuông coâ quan hïơ kïịt húơp haơn chïị (qualified association) Xeât vñ duơ hònh 3-29 lúâp Person (ngûúđi) chó quan hïơ vúâi lúâp Bank (ngín hađng) thöng qua thuöơc tñnh haơn chïị lađ account (tađi khoaên)
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 96
(thuöơc tñnh haơn chïị )
Hònh 3-29 Möơt vñ duơ cuêa Qualliifiier Associiatiion
- Trong quan hïơ kïịt húơp ta cuông coâ möơt loaơi thïí hiïơn khaâc ăoâ lađ quan hïơ thu naơp (Aggregation) Quan hïơ nađy chó ra rùìng lúâp kïịt húơp ặúơc xem lađ “toađn thïí“, vađ lúâp kia ặúơc xem nhû lađ möơt böơ phíơn cuêa “toađn thïí“ ăoâ Xeât vñ duơ hònh 3-30 lúâp Window ặúơc xem lađ lúâp “toađn thïí” búêi vò noâ coâ thïí chûâa nhiïìu hònh (lúâp
Trang 19shape) (lúâp ”toađn thïí “) ( lúâp “böơ phíơn”) (caâch thïí hiïơn cuêa quan hïơ thu naơp)
Hònh 3-30 Quan hïơ thu naơp (aggregatiion)
- Ngoađi ra cođn coâ quan hïơ cíịu thađnh (composition) Ăíy lađ möơt daơng maơnh hún cuêa quan hïơ thu naơp (aggregation), trong trûúđng húơp nađy khi lúâp toađn thïí bõ huêy thò lúâp böơ phíơn (hay lúâp cíịu thađnh) cuông bõ huêy theo Xeât vñ duơ trong hònh bïn dûúâi 3-31 ta coâ thïí thíịy lúâp Window ặúơc cíịu thađnh tûđ hai thanh cuöơn (scrollbar), möơt header ăoâng vai trođ lađ tiïu ăïì vađ möơt panel ăoâng vai trođ lađ body cuêa Window
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 97
(lúâp window ặúơc cíịu thađnh tûđ ba lúâp Slider , Header vađ Panel) (caâch thïí hiïơn cuêa quan hïơ cíịu thađnh)
Hònh 3-31 Quan hïơ cíịâu thađnh (Composiitiion)
- Ngoađi ra cođn coâ quan hïơ n-ary association (quan hïơ kïịt húơp bíơc n) giûôa nhiïìu lúâp vúâi nhau.Sau ăíy lađ möơt vñ duơ vïì quan hïơ giûôa ba lúâp Year (nùm), Team (ăöơi) vađ Player (cíìu thuê) Quan hïơ nađy chó ra söị bađn ăïí loơt lûúâi, söị bađn ăúô ặúơc, söị tríơn thùưng, söị tríơn thua, söị tríơn hođa cuêa thuê mön cuêa möơt ăöơi boâng trong möơt
muđa boâng (caâch thïí hiïơn cuêa quan hïơ kïịt húơp bíơc 3)
Hònh 3-32 Quan hïơ kïịât húơp bíơc 3
- Lûu yâ trong quan hïơ kïịt húơp bíơc n tíịt caê caâc nhaânh quan hïơ ăïìu lađ quan hïơ kïịt húơp thöng thûúđng, khöng phaêi lađ thu naơp hay cíịu thađnh
Trang 20Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 98
3.20 Quan hïơ töíng quaât hoâa
Quan hïơ töíng quaât hoâa cođn ặúơc goơi lađ quan hïơ kïị thûđa Quan hïơ töíng quaât hoâa lađ möơt quan hïơ giûôa möơt thađnh töị töíng quaât (thûúđng ặúơc xem lađ thađnh töị cha – superclass) vađ möơt hay nhiïìu thađnh töị chuýn biïơt (ặúơc xem lađ thađnh töị con - subclass) Quan hïơ nađy thûúđng ặúơc sûê duơng cho caâc thađnh töị mö hònh nhû lúâp (class), goâi (package), use case Trong quan hïơ nađy thađnh töị con ặúơc kïị thûđa caâc ăùơc ăiïím cuêa thađnh töị cha (vñ duơ lúâp con kïị thûđa caâc thuöơc tñnh vađ hađm cuêa lúâp cha) Sau ăíy lađ vñ duơ vïì quan hïơ töíng quaât hoâa :
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 99
(lúâp cha) (caâc lúâp cha Shape ặúơc töíng quaât hoâa tûđ caâc lúâp con Polygon, Ellipse, Spline ) (caâch thïí hiïơn kiïíu riïng leê) (caâch thïí hiïơn kiïíu cíy chia seô) (caâch thïí hiïơn cuêa quan hïơ kïị thûđa)
Hònh 3-33 Möơt söịâ caâch thïí hiïơn cuêa quan hïơ töíng quaât hoâa (Generalliizatiion) Trong quan hïơ töíng quaât hoâa coâ möơt söị kiïíu rađng buöơc trïn quan hïơ :
- Phuê líịp (Overlapping) – quan hïơ nađy cho pheâp möơt lúâp con úê cíịp síu hún coâ thïí kïị thûđa tûđ nhiïìu lúâp con (cuđng möơt luâc) úê cíịp cao hún cuêa möơt quan hïơ kïị thûđa trïn möơt lúâp cha chung nađo ăoâ
Trang 21Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 100
(lúâp con coâ kïị thûđa phuê líịp) (lúâp con ặúơc kïị thûđa phuê líịp) (lúâp cha) (caâch thïí hiïơn cuêa quan hïơ kïị thûđa phuê líịp)
Hònh 3-34 Quan hïơ kïịâ thûđa phuê líịâp (Overllappiing)
- Taâch rúđi (Disjoint) – quan hïơ nađy traâi ngûúơc vúâi quan hïơ kïị thûđa phuê líịp – lúâp
con úê cíịp síu hún khöng ặúơc kïị thûđa cuđng möơt luâc nhiïìu lúâp con úê cíịp cao hún
- Hoađn toađn (Complete) –coâ nghôa lađ quan hïơ nađy ăaô ăíìy ăuê caâc lúâp con, khöng thïí thïm múâi möơt lúâp con nađo nûôa Vñ duơ: lúâp cha lađ lúâp Gađ (con gađ)vađ hai lúâp con lađ Gađ tröịng vađ Gađ maâi, hiïín nhiïn ta khöng thïí thïm möơt lúâp vađo trong quan hïơ kïị thûđa giûôa ba lúâp nađy Caâch thïí hiïơn cuông tûúng tûơ nhû phíìn phuê líịp, ta chó
thay rađng buöơc Overlapping bùìng Complete
- Khöng hoađn toađn (Incomplete) – ngûúơc laơi vúâi quan hïơ hoađn toađn, ăíy lađ quan hïơ mùơc ắnh trong quan hïơ kïị thûđa, coâ nghôa lađ coâ thïí thïm vađo caâc lúâp con trong quan hïơ nađy
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 101
(thïí hiïơn cuêa quan hïơ kïị thûđa khöng hoađn toađn, taâch rúđi)
Hònh 3-35 Quan hïơ kïịâ thûđa khöng hoađn toađn
3.21 Quan hïơ phuơ thuöơc (Dependency)
Quan hïơ phuơ thuöơc lađ möơt quan hïơ ngûô nghôa giûôa hai thađnh töị mö hònh, trong hai thađnh töị nađy coâ möơt thađnh töị ăöơc líơp vađ möơt thađnh töị phuơc thuöơc vađo
Trang 22thađnh töị ăöơc líơp nađy Thûúđng ăíy lađ quan hïơ giûôa hai lúâp hai use case hoùơc hai package Vñ duơ nhû möơt lúâp sûê duơng tham söị lađ möơt ăöịi tûúơng cuêa möơt lúâp khaâc
(lúâp Shape phuơ thuöơc vađo lúâp DrawingContext vò hađm Draw trong lúâp Shape sûê duơng tham söị lađ ăöịi tûúơng cuêa lúâp DrawingContext) (caâch thïí hiïơn cuêa quan hïơ phuơ thuöơc )
Hònh 3-36 Möơt vñ duơ cuêa quan hïơ phuơc thuöơc
Thöng thûúđng quan hïơ phuơ thuöơc ặúơc biïíu diïîn bùìng möơt ặúđng ặât neât coâ möơt muôi tïn úê ăíìu vađ thûúđng coâ caâc keyword ăi keđm bïn trïn muôi tïn ăïí chó
kiïíu phuơ thuöơc (caâc kiïíu quan hïơ phuơ thuöơc)
Hònh 3-37 Caâc keyword trïn quan hïơ phuơ thuöơc
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 101
3.22 Caâc thađnh töị ặúơc tñnh toaân (hay ặúơc díîn xuíịt – derived Element)
Ăíy lađ caâc thađnh töị ặúơc tñnh tûđ caâc thađnh töị khaâc trong mö hònh hay trong lûúơc ăöì, chuâng ặúơc thïm vađo trong baên phín tñch giuâp lađm roô thïm caâc lûúơc ăöì, chuâng víîn ặúơc thïm vađo ngay caê khi viïơc nađy khöng cung cíịp thïm thöng tin vïì ngûô nghôa cho lûúơc ăöì Kyâ hiïơu cuêa caâc thađnh töị nađy lađ möơt díịu söí
(/)ngay trûúâc tïn cuêa thađnh töị (thuöơc tñnh age ặúơc tñnh tûđ hai thuöơc tñnh currentDate vađ birthday) (quan hïơ kïịt húơp díîn xuíịt)
Hònh 3-38 Thađnh töịâ tñnh toaân – díîn xuíịât (Deriived Ellement)
Trang 23Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 103
3.23 Lûúơc ăöì ăöịi tûúơng (Object Diagram)
Vñ duơ: (caâc ăöịi tûúơng trong lûúơc ăöì (giaâ trõ thuöơc tñnh) (liïn kïịt giûôa caâc ăöịi
tûúơng) (ăöịi tûúơng íín danh)
Hònh 3-39 Lûúơc ăöì ăöịâi tûúơng(Objject Diiagram)
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 104
Ngûô nghôa
_ Lađ möơt ăöì thõ cuêa caâc thïí hiïơn, bao göìm caâc ăöịi tûúơng vađ caâc giaâ trõ cuơ thïí _ Lađ möơt thïí hiïơn cuêa lûúơc ăöì lúâp, ặa ra möơt caâi nhòn khaâ chi tiïịt vïì caâc ăöịi tûúơng trong hïơ thöịng taơi möơt thúđi ăiïím nhíịt ắnh
Chûâc nùng
_ Minh hoơa cíịu truâc cuêa dûô liïơu
_ Minh hoơa caâc ăöịi tûúơng taơi nhûông thúđi ăiïím cuơ thïí
_ Ăùơc taê caâc snapshot (thïí hiïơn cuêa hïơ thöịng)
3.24 Caâc thađnh phíìn chñnh
3.24.1 Caâc ăöịi tûúơng (Objects)
Ngûô nghôa
Trang 24Möơt object (ăöịi tûúơng) lađ möơt thïí hiïơn cuơ thïí cuêa möơt lúâp trong hïơ thöịng, ăöịi tûúơng coâ thïí líịy tïn thíơt trong thïị giúi thûơc Möơt ăöịi tûúơng coâ thïí ặúơc ắnh danh vađ ắnh trõ
- Phíìn bïn dûúâi chûâa caâc giaâ trõ cuêa ăöịi tûúơng vúâi caâc giaâ trõ cuơ thïí Cuâ phaâp :
Tïn thuöơc tñnh : Kiïíu = Giaâ trõ
(möơt thïí hiïơn ăún giaên chó vúâi tïn cuêa ăöịi tûúơng) (tïn ăöịi tûúơng) (tïn lúâp) (ăöịi tûúơng coâ caâc giaâ trõ thuöơc tñnh cuơ thïí ) ( ăöịi tûúơng íín danh, chó coâ tïn lúâp ) ( ăöịi tûúơng vúâi biïíu tûúơng lúâp phuơ thuöơc vađ tïn ặúơc gaơch dûúâi)
Hònh 3-40 Möơt söịâ thïí hiïơn cuêa ăöịâi tûúơng (Objject)
Chûúng 3 HÏƠ THÖỊNG KYÂ HIÏƠU (UML Notation) 105
3.25 Ăöịi tûúơng gheâp (Composite Object)
Ngûô nghôa
Ăöịi tûúơng gheâp biïíu diïîn ăöịi tûúơng úê mûâc ăöơ cao hún, ăöịi tûúơng gheâp ặúơc cíịu thađnh tûđ caâc ăöịi tûúơng thađnh phíìn khaâc Ăíy lađ möơt thïí hiïơn cuêa lúâp trong quan hïơ cíịu thađnh (xem hònh 3-34)