Caâc kiïíu dûô liïơu trong UML metamodel (Data Types)

Một phần của tài liệu Ứng dụng UML trong quy trình phát triển phần mền (Trang 58)

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

Phođng ăađo taơo

Ăùng nhíơp hïơ thöịng <<include> taâc nhín (actor) UseCase UseCase Quaên lyâ sinh viïn bao göìm möơt daôy caâc hađnh ăöơng mađ hïơ thöịng seô thûơc hiïơn ăïí quaên lyâ sinh viïn.

Hònh 2-28 Vñ duơ Use Case

Chûúng 2

NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 61

2.61. Package State Machines (goâi mö hònh traơng thaâi)

State Machines cung cíịp caâc thađnh töị vađ cuâ phaâp cho mö hònh hoâa hoaơt ăöơng vađ biïịn ăöíi traơng thaâi cuêa möơt thađnh töị trong chu kyđ söịng dûúâi caâc sûơ kiïơn taâc ăöơng lïn noâ. Möơt möơt thađnh töị (nhû caâc Classifiers, Operation, Attribute...) coâ thïí coâ möơt quaâ trònh biïịn ăöíi traơng thaâi. Quaâ trònh nađy ặúơc ắnh nghôa búêi thađnh töị StateMachine.

Thađnh töị StateMachine ặúơc ắnh nghôa trong goâi nađy bao göìm thađnh töị cú baên lađ State vađ Transition. State mö taê traơng thaâi möơt thađnh töị. Transition bao göìm nhiïìu loaơi khaâc nhau mö taê sûơ chuýín traơng thaâi sang möơt traơng thaâi múâi qua taâc ăöơng cuêa möơt sûơ kiïơn (event). State Machines bao göìm hai mö hònh lađ Main (chuê ýịu) vađ Events (sûơ kiïơn). Main mö taê traơng thaâi (State) vađ chuýín traơng thaâi (Transition). Events mö taê caâc sûơ kiïơn taâc ăöơng lïn möơt thađnh töị.

Chûúng 2

NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 62

Thađnh töị StateMachine bao göìm traơng thaâi (State) vađ chuýín traơng thaâi (Transition). Traơng thaâi phûâc (CompositeState) bao göìm nhiïìu traơng thaâi ăún (State). Transition lađ sûơ chuýín traơng thaâi nađy sang traơng thaâi khaâc. Traơng thaâi coâ thïí chûâa caâc taâc ăöơng (action) ặúơc thûơc hiïơn khi vađo traơng thaâi, giûô traơng thaâi hay kïịt thuâc traơng thaâi.

Hòònh 2-29 Mö hònh chñnh ắnh nghôa traơng thaâi vađ sûơ chuýín traơng thaâi

Chûúng 2

NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 63

2.63. StateVertex (ăiïím traơng thaâi)

StateVertex lađ ăiïím biïíu diïîn trûơc quan möơt traơng thaâi.

2.63. State (traơng thaâi)

State mö taê traơng thaâi cuêa thađnh töị (classifier, operation, use case...) ngoađi ra cođn mö taê möơt söị caâc Action seô ặúơc thi hađnh khi thađnh töị bùưt ăíìu traơng thaâi, nùưm giûô traơng thaâi vađ kïịt thuâc traơng thaâi cuđng möơt söị caâc sûơ kiïơn (Event) ặúơc treo khöng cho taâc ăöơng lïn thađnh töị. Veô hònh entry/ thiïịt líơp Device do/ Veô trïn Device exit/ huêy boê Device. Möơt State cuđng vúâi caâc hađnh ăöơng ặúơc thûơc hiïơn khi bùưt ăíìu, nùưm giûô vađ kïịt thuâc traơng thaâi.

Hòònh 2-30 Vñ duơ traơng thaâi (State)

State coâ ăùơc biïơt hoâa lađ FinalState. FinalState lađ traơng thaâi kïịt thuâc.

- deepHistory : líịy laơi State ăaô ặúơc giûô trûúâc ăoâ úê bíịt cûâ State con nađo cuêa CompositeState chûâa deepHistory.

- shallowHistory : líịy laơi State ăaô ặúơc giûô trûúâc ăoâ úê cuđng mûâc vúâi shalowHistory trong CompositeState.

- join : nhoâm caâc Transition tûđ nhiïìu State khaâc nhau.

- fork : taâch Transition thađnh nhiïìu Transition ăïịn caâc State khaâc nhau.

- junction : taâch möơt Transition thađnh caâc Transition coâ Guard ăïí phín nhaânh theo ăiïìu kiïơn.

Traơng thaâi mùơc ắnh CompositeState1 CompositeState2 C1 C2 H B1 CompositeState2 C1 C2 B1 Taơm dûđng

Möơt PseudoState loaơi shalowHistory trong CompositeState1 Nïịu sûơ kiïơn "Taơm dûđng" xaêy ra líìn ăíìu vađ vađo luâc traơng thaâi lađ B1, caê C1 vađ C2 ăïìu chûa ặúơc kñch hoaơt thò H ăaơi diïơn cho traơng thaâi mùơc ắnh lađ C2. Nïịu khöng H ăaơi diïơn cho C1 hoùơc C2 tuyđ theo traơng thaâi nađo ăaô ặúơc kñch hoaơt gíìn nhíịt.

Taơm dûđng Tiïịp tuơc

Chûúng 2

NGÛÔ NGHÔA VAĐ CUÂ PHAÂP CAÂC THAĐNH TÖỊ TRONG UML (UML Semantic) 64

2.64. Transition (chuýín traơng thaâi)

Transition ắnh nghôa quan hïơ chuýín ăöíi traơng thaâi giûôa möơt StateVertex nguöìn vađ möơt StateVertex ăñch. Möơt Transition coâ thïí gùưn vúâi caâc chùưn (Guard). Guard lađ biïíu thûâc logic gùưn vúâi möîi Transition. Khi möơt sûơ kiïơn taâc ăöơng lïn

Một phần của tài liệu Ứng dụng UML trong quy trình phát triển phần mền (Trang 58)