صفحهٔ منبع 161Actor
یادداشت: در Construction Diagram، Actor بهطور پیشفرض با Rectangular Notation نمایش داده میشود و شبیه Class است.
توضیح
Actor کاربر System است؛ User میتواند انسان، Machine یا حتی System/SubSystem دیگری در Model باشد. هر چیزی که از بیرون یا از آن سوی System Boundary با System تعامل کند Actor نامیده میشود. Actorها معمولاً با Use Caseها Association دارند.
Actor میتواند از طریق Graphical User Interface، Batch Interface یا رسانهای دیگر با System کار کند. Interaction میان Actor و Use Case در Use Case Scenario مستند میشود؛ سناریو Functionهایی را که System برای برآوردن User Requirementها باید ارائه دهد شرح میدهد.
Actorها همچنین نقش User را در Sequence Diagram نمایندگی میکنند و میتوان آنها را با Rectangle Notation نمایش داد. Enterprise Architect یک Stereotyped Actor برای Business Modeling نیز پشتیبانی میکند؛ عناصر Business Modeling نیز Actorها را بهشکل Stereotyped Object نمایش میدهند.
مشخصات OMG UML
UML 2.5.1 صفحات 640 و 647 بیان میکند Actor نقشی را مشخص میکند که User یا System دیگری در Interaction با Subject بازی میکند. Actor نوع Role یک Entity در تعامل با Use Caseهای مرتبط را مدل میکند، از جمله Human User، External Hardware یا System دیگر.
Actor الزاماً یک Physical Entity مشخص نیست بلکه Role معینی از یک Entity است. یک Instance فیزیکی میتواند چند Actor Role داشته باشد و یک Actor نیز میتواند توسط چند Instance بازی شود. واژهٔ «Role» در اینجا غیررسمی است. اگر Multiplicity در انتهای UseCase بیشتر از یک باشد، Actor میتواند در چند UseCase از آن Type مشارکت داشته باشد؛ این مشارکت ممکن است Concurrent یا در زمانهای مختلف باشد و جزئیات آن در Specification تعیین نشده است.
عنصر تصویری اصلی — صفحه 161عنصر تصویری اصلی — صفحه 161© Sparx Systems 2026 — صفحهٔ 161 از ۴۲۲ — ایجادشده با Enterprise Architect
صفحهٔ منبع 162Central Buffer Node
توضیح
Central Buffer Node یک Object Node برای مدیریت Flow از چند Source و Destination در Activity Diagram است. بهعنوان Buffer برای چند In-flow و Out-flow عمل میکند، اما مستقیماً به Actionها متصل نمیشود.
مشخصات OMG UML
طبق UML 2.5.1 صفحهٔ 398، CentralBufferNode میان ObjectFlowهای ورودی و خروجی Buffer ایجاد میکند. همهٔ Object Tokenهای ارائهشده روی Flowهای ورودی را میپذیرد و نگه میدارد. Tokenهای نگهداشتهشده طبق قواعد Ordering عمومی ObjectNode به Flowهای خروجی ارائه میشوند. هنگامی که Downstream Object Node یک Token را میپذیرد، Token از CentralBufferNode حذف و به آن Node منتقل میشود.
عنصر تصویری اصلی — صفحه 162عنصر تصویری اصلی — صفحه 162© Sparx Systems 2026 — صفحهٔ 162 از ۴۲۲ — ایجادشده با Enterprise Architect
صفحهٔ منبع 163Choice
توضیح
Choice Pseudostate برای ساختن مسیرهای Transition پیچیده، مثلاً در StateMachine Diagram، استفاده میشود؛ جایی که مسیر خروجی Transition بر اساس Conditionهای پویا در Runtime انتخاب میشود. Conditionهای Runtime با Actionهای انجامشده توسط StateMachine در مسیر منتهی به Choice تعیین میشوند.
در مثال منبع، پس از رسیدن به Pseudostate «Filter»، Transition بر اساس Runtime Value ارسالشده به Filter به State مناسب میرود. Choice از نظر Shape شبیه Junction است، اما تفاوتش این است که مسیر Transition را در Runtime انتخاب میکند.
مشخصات OMG UML
UML 2.5.1 صفحهٔ 313 میگوید Choice شبیه Junction Pseudostate است و هدفهای مشابهی دارد، با این تفاوت که Guard Constraintهای همهٔ Transitionهای خروجی هنگام رسیدن Traversal ترکیبی به این Pseudostate بهصورت پویا ارزیابی میشوند.
عنصر تصویری اصلی — صفحه 163عنصر تصویری اصلی — صفحه 163عنصر تصویری اصلی — صفحه 163© Sparx Systems 2026 — صفحهٔ 163 از ۴۲۲ — ایجادشده با Enterprise Architect
صفحهٔ منبع 164در نتیجه Choice یک Dynamic Conditional Branch را پیادهسازی میکند و Compound Transition را به چند مسیر جایگزین تقسیم میکند؛ تصمیم مسیر میتواند به نتیجهٔ Behaviorهایی وابسته باشد که پیش از رسیدن به Choice در همان Compound Transition اجرا شدهاند. اگر بیش از یک Guard True باشد، یکی از Transitionهای متناظر انتخاب میشود و Algorithm انتخاب تعریف نشده است. اگر هیچ Guardای True نباشد Model بدساخت محسوب میشود؛ برای جلوگیری از آن توصیه میشود یک Transition خروجی با Guard از پیش تعریفشدهٔ else برای هر Choice Pseudostate در نظر گرفته شود.
© Sparx Systems 2026 — صفحهٔ 164 از ۴۲۲ — ایجادشده با Enterprise Architect