Tham söị cho míîu lađ tham söị cho caâc thađnh töị Template. Vñ duơ nhû trong möơt möi trûúđng ngön ngûô líơp trònh höî trúơ Template, ta coâ thïí xíy dûơng lúâp múâi bùìng caâch cung cíịp caâc lúâp tham söị cho Template. TemplateParameter ắnh nghôa quan hïơ giûôa möơt thađnh töị ModelElement vúâi caâc tham söị (caâc tham söị nađy lađ caâc thađnh töị ModelElement ). ModelElement lađ möơt Template khi sûê duơng ñt nhíịt möơt TemplateParameter.
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 42
Khaâi quaât
Extension Mechanisms ắnh nghôa caâch thûâc múê röơng ngön ngûô UML bùìng caâch ặa ra cú chïị böí sung caâc thađnh töị vúâi ngûô nghôa múâi. Package nađy ắnh nghôa Stereotypes, Constraint (rađng buöơc) vađ Tagged Value (theê giaâ trõ) lađ ba cú chïị múê röơng cuêa UML. UML cung cíịp cú chïị múê röơng ăïí thïm caâc thađnh töị múâi cho caâc lônh vûơc ăùơc biïơt mađ UML chuíín khöng ắnh nghôa. Caâc lônh vûơc cíìn caâc khaâi niïơm múâi coâ thïí tûơ ắnh nghôa caâc khaâi niïơm nađy qua cú chïị múê röơng UML. Viïơc múê röơng nađy khöng ăún giaên lađ gùưn tïn Stereotypes vađo thađnh töị vađ quy ắnh ngûô nghôa múâi do ăöi khi cođn coâ caâc rađng buöơc ngûô nghôa trong thïị giúâi thûơc. Do ăoâ caâc stereotype thûúđng chûâa caâc rađng buöơc vađ caâc giaâ trõ theê. Möîi StereoType quy ắnh loaơi thađnh töị ModelElement mađ stereotype nađy coâ thïí taâc ăöơng. Thađnh töị ặúơc taâc ăöơng nađy lađ caâc thađnh töị trong UML metamodel vñ duơ nhû Class, Association, Component... Khi gùưn stereotype vađo caâc thađnh töị nađy thò ặúơc thađnh töị múâi thûđa kïị thađnh töị cuô vađ coâ tïn cuêa stereotype. Vñ duơ
nhû Component coâ caâc stereotype lađ “document”,”executable”,”table”. Caâc stereotype nađy baên chíịt cuông lađ component nhûng “document” lađ möơt thađnh
phíìn (component) chûâa caâc sûu liïơu, “executable” lađ thađnh phíìn chûâa caâc dõch vuơ xûê lyâ cođn “table” chûâa caâc baêng trong möơt cú súê dûô liïơu.
Stereotype bao göìm rađng buöơc (Constraint), caâc theê giaâ trõ (Tagged Value) taâc ăöơng lïn ModelElement vađ cho kïịt quaê tûúng tûơ nhû ăíơc biïơt hoâa. Loaơi thađnh
töị mađ Stereotype coâ thïí aâp duơng ặúơc xaâc ắnh qua thuöơc tñnh baseClass, vñ duơ nhû Class, Association... noâi chung lađ tïn caâc thađnh töị trong UML
Hònh 2-19 Mö hònh cú chïịâ múê röơng
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 43
2.43. Constraint (rađng buöơc)
Lađ caâc rađng buöơc ngûô nghôa ặúơc gùưn vúâi möơt thađnh töị cíìn múê röơng ăïí aâp ăùơt caâc ăiïìu kiïơn lïn thađnh töị nađy vađ coâ taâc duơng thay ăöíi hay giúâi haơn ngûô
Lađ cú chïị phín loaơi möơt thađnh töị theo quan hïơ kïịt húơp cuêa thađnh töị nađy vúâi caâc stereotype. Möîi stereotype gùưn möơt thađnh töị seô cho möơt thađnh töị múâi thûđa kïị thađnh töị cuô ngoađi ra coâ thïm caâc thöng riïng. Stereotype chñnh lađ sûơ khaâc nhau vïì ngûô nghôa cuêa hai thađnh töịù cuđng cíịu truâc. Vñ duơ nhû trong quy trònh phaât triïín phíìn mïìm Rational Unified Process, caâc stereotype cho thađnh töị Class ặúơc ắnh nghôa thïm trong ăoâ coâ stereotype “boundary”. Stereotype nađy lađ möơt Class ăoâng vai trođ giao tiïịp vúâi caâc tûúng taâc bïn ngoađi hïơ thöịng. Muơc ăñch cuêa múê röơng nađy lađ phín loaơi caâc Class theo chûâc nùng phuơc vuơ cho quaâ trònh phín tñch.
Thiïịt kïị giao diïơn nguúđi sûê duơng: Giao diïơn ngûúđi sûê duơng phín tñch Class vúâi stereotype lađ “boundary”. Class chuíín cuêa UML.
Hòònh 2-20 Vñ duơ vïì stereotype
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 44
2.44. Tagged Value (theê giaâ trõ)
Lađ caâc thuöơc tñnh ăñnh keđm cho möơt thađnh töị múê röơng. Tagged Value coâ thïí chûâa nhûông thöng tin bíịt kyđ cíìn thiïịt böí sung cho möơt thađnh töị múâi.
2.44.1. Caâc kiïíu dûô liïơu trong UML metamodel (Data Types)
Khaâi quaât
DataTypes ắnh nghôa caâc kiïíu dûô kiïơu duđng riïng trong UML metamodel nghôa lađ thuöơc tñnh cuêa caâc thađnh töị trong UML metamodel coâ caâc kiïíu dûô liïơu
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 45
2.45. Caâc kiïíu dûô liïơu trong Data Types
- ActionExpression : biïíu thûâc cho kïịt quaê lađ sûơ thi hađnh möơt Action.
- AggregationKind : kiïíu liïơt kï bao göìm caâc giaâ trõ none, aggregate, composite. Caâc giaâ trõ nađy xaâc ắnh loaơi Association.
- ArgListsExpression :biïíu thûâc traê vïì möơt danh saâch caâc ăöịi tûúơng (object). - Boolean : kiïíu liïơt kï bao göìm hai giaâ trõ false vađ true.
- BooleanExpression : biïíu thûâc logic traê vïì kiïíu Boolean.
- CallConcurrencyKind : kiïíu liïơt kï bao göìm caâc giaâ trõ sequential, guarded, concurrent.
- ChangeableKind : kiïíu liïơt kï quy ắnh giaâ trõ möơt AttributeLink hay möơt
LinkEnd coâ thïí thay ăöíi bao göìm caâc none, frozen vađ addOnly.
- Enumeration : ắnh nghôa kiïíu liïơt kï.
- EnumerationLiteral : ắnh nghôa möơt giaâ trõ thuöơc möơt kiïíu liïơt kï. - Expression : biïíu thûâc traê vïì möơt kiïíu thuöơc package DataType.
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 46
- Integer : kiïíu nguýn.
- Muliplicity : tíơp caâc söị nguýn khöng ím.
- MultiplicityRange : miïìn giaâ trõ söị nguýn khöng ím. - Name : ắnh danh cho möơt ModelElement.
- ObjectSetExpression : biïíu thûâc traê vïì danh saâch caâc ăöịi tûúơng.
- OperationDirectionKind : kiïíu liïơt kï quy ắnh möơt Operation lađ ặúơc ýu cíìu
hay ặúơc cung cíịp búêi möơt Classifier bao göìm caâc giaâ trõ provide vađ require. - ParameterDirectionKind : kiïíu liïơt kï bao göìm caâc giaâ trõ in, inout, out vađ return.
- Primitive : ắnh nghôa kiïíu dûô liïơu ăún.
- ProcedureExpression : biïíu thûâc traê vïì möơt Procedure.
- ProgrammingLanguageType : kiïíu dûô liïơu trong möơt ngön ngûô líơp trònh.
- PseudostateKind : kiïíu liïơt kï bao göìm caâc giaâ trõ initial, deepHistory, shallowHistory, join, fork, branch, junction vađ final.
- ScopeKind : kiïíu liïơt kï bao göìm caâc giaâ trõ classifier vađ instance.
- String : chuöîi vùn baên.
- Structure : kiïíu dûô liïơu coâ cíịu truâc. - Time : kiïíu giúđ.
- TimeExpression : biïíu thûâc kiïíu Time.
- UnlimitedInteger : kiïíu nguýn khöng giúâi haơn. - Uninterpreted : kiïíu khöng xaâc ắnh.
- VisibilityKind : kiïíu liïơt kï bao göìm caâc giaâ trõ public, protected vađ private.
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 47
Graphs (mö hònh hoaơt ăöơng). Hònh 2-21 Caâc thađnh töịâ hađnh vi
CommonBehavior ắnh nghôa caâc thađnh töị hađnh vi cú baên. Collaboration ắnh nghôa caâc thađnh töị vađ cuâ phaâp cho lûúơc ăöì
Collaboration vađ Sequence úê UML model. Collaboration mö taê tûúng taâc giûôa caâc thađnh töị ăïí thûơc hiïơn möơt taâc vuơ cuơ thïí.
Use Cases bao göìm caâc thađnh töị mö hònh hoâa chûâc nùng hïơ thöịng cho tûđng loaơi ngûúđi sûê duơng. Use Cases giûô vai trođ ắnh nghôa cho lûúơc ăöì Use Case úê UML model.
StateMachine bao göìm caâc khaâi niïơm cho mö hònh hoâa quaâ trònh thay ăöíi traơng thaâi cuêa möơt thađnh töị. StateMachine ắnh nghôa lûúơc ăöì StateChart trong UML model.
Activity Graphs lađ daơng ăùơc biïơt cuêa StateMachine, ặúơc ắnh nghôa dûơa trïn StateMachine, mö taê quaâ trònh hoaơt ăöơng cuêa möơt hay nhiïìu thađnh töị. Activity Graphs ắnh nghôa lûúơc ăöì Activity Graph trong UML model.
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 48
2.48. Package Common Behavior (goâi hađnh vi töíng quaât)
Common Behavior ắnh nghôa caâc thađnh töị cú baên cho mö hònh hoâa tûúng taâc. Common Behiavior ặúơc mö taê bùìng caâc mö hònh Signals(tñn hiïơu), Actions (taâc ăöơng), Instances and Links (thïí hiïơn vađ liïn kïịt).
2.48.1. Mö hònh Signals (tñn hiïơu)
Mö hònh nađy chuê ýịu ắnh nghôa thađnh töị Signal (tñn hiïơu). Tñn hiïơu ặúơc taơo ra tûđ möơt hađnh vi (BehavioralFeature) cuêa classifier nađy vađ guêi ăïịn möơt thađnh töị nhíơn tñn hiïơu (Reception) cuêa möơt classifier khaâc. Tñn hiïơu ặúc taơo ra tíơp caâc hađnh vi cuêa möơt Do thûđa kïị tûđ (BehavioralElement lađ thađnh hađnh vi cuêa möơt classifier) Reception cuông lađ möơt thađnh hađnh vi cuêa classifier. ắnh nghôa hađnh vi xûê lyâ tñn cuêa möơt tñn hiïơu ặúơc gûêi ăïịn thađnh töị xûê lyâ tñn hiïơu cuêa möơt
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 49
2.49. Reception (thađnh töị nhíơn tñn hiïơu)
Reception lađ thađnh töị nhíơn tñn hiïơu tûđ möơt classifier vađ giûô chûâc nùng mö taê caâc taâc ăöơng (bùìng chuöîi vùn baên) cuêa tñn hiïơu ăïịn classifier nhíơn.
2.49.1. Signal (tñn hiïơu)
Signal lađ caâc taâc tûúng taâc khöng ăöìng böơ giûôa caâc classifier vađ lađ thađnh töị ăöơc líơp vúâi caâc classifier. Signal ặúơc taơo ra do caâc hađnh vi (BehvioralFeature) cuêa caâc classifier nađy vađ gûêi ăïịn caâc classifier khaâc. Do BehavioralFeature lađ thađnh töị hađnh vi trûđu tûúơng nïn tíịt caê caâc thađnh töị hađnh vi thûđa kïị BehavioralFeature nhû caâc phûúng thûâc (operation) ăïìu coâ thïí taơo vađ gûêi caâc signal.
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 50
ăùơc biïơt hoâa cuêa möơt taâc ăöơng (Action) ActionSequence lađ möơt taâc ăöơng thûâc bao göìm caâc taâc ăöơng con theo trònh tûơ xaâc ắnh. Acti on bao göìm möơt tíơp ăöịi söị.
Hònh 2-23 Mö hònh ắnh nghôa hađnh ăöơng (Actiions)
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 51
2.51. Argument (ăöịi söị)
Argument lađ ăöịi söị cho möơt Action, cung cíịp giaâ trõ tham söị cho möơt Action.
2.51.1. Action (taâc ăöơng)
Action lađ caâc chó thõ thi hađnh trong möơt quy trònh tñnh toaân coâ aênh hûúêng ăïịn traơng thaâi cuêa hïơ thöịng. Action bao göìm caâc ăùơc biïơt hoâa sau
- AssignmentAction : gaân cho thuöơc tñnh möơt giaâ trõ múâi. - CallAction : kñch hoaơt möơt hađnh ăöơng.
- CreateAction : taơo thïí hiïơn cuêa möơt Classifier. - DestroyAction : huêy möơt ăöịi tûúơng
- ReturnAction : traê vïì giaâ trõ cho ăöịi tûúơng goơi. - SendAction : gúêi tñn hiïơu (Signal ).
- TerminateAction : hađnh ăöơng tûơ huêy cuêa möơt ăöịi tûúơng. - UninterpretedAction : hađnh ăöơng khöng xaâc ắnh.
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 52
2.52. ActionSequence (taâc ăöơng phûâc)
ActionSequence lađ möơt taâc ăöơng chûâa möơt tíơp caâc Action con theo thûâ tûơ xaâc ắnh.
2.52.1. Mö hònh Instances and Links (thïí hiïơn vađ liïn kïịt)
Instance vađ Link ặúơc ắnh nghôa trong mö hònh Instances and Links cuêa UML metamodel. Instance ắnh nghôa thïí hiïơn cuêa möơt classifier, caâc thïí hiïơn nađy liïn kïịt vúâi nhau qua caâc Link.
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 53
Liïn kïịt (Link) bao göìm nhiïìu möịi liïn kïịt (LinkEnd) Möìi liïn kïịt (LinkEnd) lađ thïí hiïơn cuêa möịi kïịt húơp (Association), ặúơc xaâc ắnh búêi möịi kïịt húơp. Instance lađ thïí hiïơn cuêa Classifier, ặúơc xaâc ắnh búêi Classifier. Caâc Instance tûúng taâc vúâi nhau qua caâc taâc nhín (Stimulus). gùưn vúâi caâc Link. Liïn kïịt (Link) lađ thïí hiïơn cuêa quan hïơ kïịt húơp (Association), ặúơc xaâc ắnh búêi quan hïơ kïịt húơp. Caâc Instance liïn hïơ vúâi nhau qua caâc Link.
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 54
2.54. Stimulus (taâc nhín)
Stimulus lađ möơt giao tiïịp cuơ thïí giûôa hai instance qua möơt liïn kïịt (link) ặúơc gûêi ăi búêi sûơ thi hađnh möơt Action, coâ thïí lađ möơt tñn hiïơu gûêi ăïịn instance hay viïơc kñch hoaơt möơt phûúng thûâc. Hay noâi caâch khaâc, caâc thïí hiïơn tûúng taâc vúâi nhau qua stimulus.
2.54.2. AttributeLink (theê thuöơc tñnh)
AttributeLink chûâa tíơp caâc giaâ trõ cuêa Attribute trong möơt instance do ăoâ thïí hiïơn traơng thaâi cuêa instance.
2.54.2. LinkEnd (möịi liïn kïịt)
LinkEnd lađ caâc möịi liïn kïịt cuêa möơt Link. Möîi LinkEnd tûúng ûâng vúâi möơt möịi kïịt húơp (AssociationEnd) ăïí xaâc ắnh LinkEnd. LinkEnd trong UML metamodel lađ thïí hiïơn cuêa AssociationEnd trong UML metamodel. Caâc instance liïn kïịt vúâi nhau qua caâc LinkEnd.
2.54.3. Link (liïn kïịt)
Link lađ liïn kïịt giûôa caâc instance. Link tûúng ûâng vúâi möơt Association coâ vai trođ xaâc ắnh Link. Link trong UML metamodel lađ thïí hiïơn Association trong UML metamodel. Link chó coâ vai trođ liïn kïịt caâc instance vúâi nhau, caâc taâc ăöơng giûôa caâc instance thûơc hiïơn qua caâc stimulus. Möơt Link coâ thïí tûúng ûâng vúâi nhiïìu stimulus.
2.54.4. Instance (thïí hiïơn)
Instance lađ thïí hiïơn cuêa möơt Classifier. Instance lađ möơt thûơc thïí coâ caâc thöng tin vïì traơng thaâi vađ chõu taâc ăöơng cuêa caâc phûúng thûâc (Operation) ăïí thay ăöíi traơng thaâi. Instance ặúơc xaâc ắnh cíịu truâc vađ hađnh ăöơng qua Classifier coâ quan hïơ kïịt húơp vúâi noâ. Instance coâ caâc ăùơc biïơt hoâa sau
- DataValue (giaâ trõ dûô liïơu): giaâ trõ cuêa möơt thuöơc tñnh lađ thïí hiïơn cuêa kiïíu dûô liïơu cuêa thuöơc tñnh ăoâ.
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 55
2.55. Package Collaborations (goâi cöơng taâc)
Collaborations ắnh nghôa thađnh töị Collaboration vađ cuâ phaâp cho mö hònh hoâa tûúng taâc giûôa caâc thađnh töị ăïí thi hađnh möơt taâc vuơ cuơ thïí. Mö hònh cöơng taâc mö taê quan hïơ giûôa instance vađ link thöng qua caâc thöng ăiïơp (message).
Thađnh töị Collaboration ặúơc ắnh nghôa la øquaâ trònh trao ăöíi caâc thöng ăiïơp (message) giûôa caâc vai (role) cuêa caâc thađnh töị trong Collaboration. Möơt thađnh töị classifier coâ thïí tham gia vađo Collaboration thöng qua nhiïìu vai cuêa thađnh töị ăoâ.
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 56
Classifier tham gia vađo Collaboration qua nhiïìu vai (ClassifierRole). Caâc ClassifierRole trong Collaboration coâ liïn hïơ vúâi nhau qua vai trođ caâc möịi liïn kïịt (AssociationRole) tûúng ûâng vúâi caâc möịi kïịt húơp cuêa Classifier. Caâc ClassifierRo le trong Collaboration tûúng taâc vúâi nhau qua cú chïị trao ăöíi thöng ăiïơp (message). Möơt message xaâc ắnh classifier gûêi vađ calssifier nhíơn. Möơt
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 57
2.57. AssociationEndRole (vai cuêa möịi kïịt húơp)
AssociationEndRole lađ möịi liïn kïịt cuêa möơt vai Association (AssociationRole) trong Collaboration. Möơt Association coâ thïí tham gia nhiïìu vai vađo Collaboration nïn cuông coâ nhiïìu vai cuêa möịi liïn kïịt tûúng ûâng.
2.57.1. AssociationRole (vai cuêa quan hïơ kïịt húơp)
Möơt Association coâ thïí tham gia vađo Collaboration qua nhiïìu AssociationRole. AssociationRole lađ möơt vai cuêa Association trong Collaboration.
2.57.2. ClassifierRole (vai cuêa Classifier)
Möơt Collaboration bao göìm caâc ClassifierRole vađ caâc liïn kïịt giûôa caâc ClassifierRole nađy. Möơt Classifier coâ thïí tham gia vađo Collaboration qua nhiïìu ClassifierRole.
2.57.3. Collaboration (cöơng taâc)
Collaboration mö taê quaâ trònh tûúng taâc giûôa caâc thađnh töị classifier (qua caâc ClassifierRole cuêa noâ) ăïí thûơc hiïơn möơt phûúng thûâc (operation). Caâc classifier nađy trao ăöíi caâc thöng ăiïơp vúâi nhau theo möơt thûâ tûơ xaâc ắnh. Möîi thöng ăiïơp gíy ra möơt taâc ăöơng lïn thađnh töị classifier nhíơn. Collaboration chñnh lađ mö taê cho cú chïị víơn hađnh cuêa möơt hïơ thöịng
Giao diïơn sûêa ăöíi thöng tin sinh viïn : Sinh viïn UI Xûê lyâ sûêa ăöíi thöng tin sinh viïn : Sinh viïn Control Dûô liïơu sinh viïn : Sinh viïn Data
Xûê lyâ sûêa ăöíi thöng tin sinh viïn : Sinh viïn Control 1: sûêa ăöíi thöng tin sinh viïn
4: choơn sinh viïn vađ sûêa ăöíi 5: cíơp nhíơt thöng tin ăaô sûêa ăöíi 2: hiïín thi caâc sinh viïn
AssociationRole thöng ăiïơp vúâi classifier gûêi vađ nhíơn. Hònh 2-26 Vñ duơ vïì mö hònh cöơng taâc
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 58
2.58. Message (thöng ăiïơp)
Message lađ thöng ăiïơp giûôa caâc ClassifierRole. Message ắnh nghôa vai trođ cuêa ClassifierRole gûêi vađ ClassifierRole nhíơn cuđng vúâi möơt taâc ăöơng (Action) lïn Classifier nhíơn thöng ăiïơp.
2.58.1. Package Use Cases (goâi Use Cases)
Use Cases ắnh nghôa caâc thađnh töị vađ cuâ phaâp cho mö hònh hoâa chûâc nùng cuêa hïơ thöịng cung cíịp cho tûđng loaơi ngûúđi sûê duơng. Caâc thađnh töị trong Use Cases chuê ýịu ăïí mö taê caâc hađnh vi trong hïơ thöịng trong khi víîn chûa xaâc ắnh cíịu truâc hïơ thöịng.
Use Cases ắnh nghôa hai thađnh töị cú baên lađ Actor vađ UseCase. Actor lađ caâc taâc nhín bïn ngoađi hïơ thöịng coâ tûúng taâc vúâi hïơ thöịng (coâ thïí lađ ngûúđi sûê duơng hay möơt hïơ thöịng khaâc). Trong khi ăoâ, möîi UseCase mö taê möơt chûâc nùng cuêa hïơ thöịng vađ chûâc nùng nađy ặúơc kñch hoaơt khi coâ taâc ăöơng cuêa Actor lïn UseCase. Association nöịi Actor vúâi caâc UseCase cho biïịt caâc chûâc nùng mađ hïơ thöịng cung cíịp cho Actor UseCase lađ möơt classifier chûâa möơt daôy caâc hađnh vi ặúơc th ûơc hiïơn theo thûâ tûơ khi coâ taâc ăöơng kñch hoaơt tûđ taâc nhín (actor). Hai loaơi quan hïơ giûôa hai UseCase.
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 59
2.59. Actor (taâc nhín)
Actor lađ taâc nhín taâc ăöơng lïn hïơ thöịng thöng qua caâc Use Case cuêa hïơ thöịng. Möơt Actor coâ thïí tûúng taâc vúâi nhiïìu Use Case khaâc nhau. ExtensionPoint lađ võ trñ trong möơt UseCase coâ thïí múê röơng hađnh vi bùìng caâch cheđn thïm caâc hađnh vi cho Use Case ăoâ.
Chûúng 2
NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 60
2.60. Extend (múê röơng)
Extend ắnh nghôa quan hïơ giûôa caâc Use Case vúâi yâ nghôa möơt Use Case nađy coâ thïí ặúơc múê röơng thïm caâc hađnh vi trong Use Case khaâc bùìng caâch thïm vađo mö taê cuêa Use Case göịc caâc biïíu thûâc vađ ăiïìu kiïơn múê röơng taơi nhûông võ trñ xaâc ắnh trong möơt daôy caâc hađnh vi cuêa Use Case.
2.60.1. Include (bao göìm)
Include ắnh nghôa quan hïơ giûôa caâc Use Case vúâi yâ nghôa UseCase nađy sûê duơng caâc hađnh vi ặúơc ắnh nghôa trong UseCase khaâc.
2.60.2. UseCase
UseCase lađ caâc chûâc nùng cuêa hïơ thöịng dûúâi goâc ăöơ cuêa ngûúđi sûê duơng. UseCase khöng quan tím ăïịn cíịu truâc bïn trong cuêa hïơ thöịng. Möîi UseCase bao göìm möơt daôy caâc hađnh ăöơng nguýn töị coâ thûâ tûơ (khöng bõ ngùưt búêi caâc hađnh ăöơng nađo khaâc) mađ hïơ thöịng seô thûơc hiïơn khi coâ tûúng taâc cuêa Actor lïn