Combined Fragment و Interaction Operators | UML و Enterprise Architect

Combined Fragment و Interaction Operators

توسط admin | گروه مهندسی نرم افزار | 1405/05/19

نظرات 0

Combined Fragment و Interaction Operators

عنوان اصلی
Unified Modeling Language (UML)
عنوان ترجمه‌شده
Combined Fragment و Interaction Operators
مجموعه
Enterprise Architect — User Guide Series
نویسنده / سازمان
Sparx Systems
نسخه منبع
17.1
تاریخ منبع
2026-05-27
زبان اصلی
انگلیسی
وضعیت حقوقی
حق ترجمه و انتشار توسط کاربر تأیید شده است.
تاریخ ترجمه
2026-08-10 / ۱۴۰۵/۰۵/۱۹
اعتبار ترجمه
ترجمه با کمک هوش مصنوعی

فروش یا انتشار این ترجمه منوط به داشتن مجوز لازم از صاحب حقوق اثر است.

صفحهٔ منبع 165

Combined Fragment

Combined Fragment یک یا چند جنبه از Interaction ــ که Interaction Operand نام دارند ــ را نمایش می‌دهد که تحت کنترل Interaction Operator و Boolean Conditionهای متناظر، یعنی Interaction Constraintها، هستند. Fragment به‌صورت Window شفاف نمایش داده می‌شود و برای هر Operand با خط افقی تقسیم می‌شود.

Sequence Diagram نمونه، Combined Fragmentها را در مدل‌سازی یک فرایند خرید ساده نشان می‌دهد. Loop Fragment تکرار روی تعداد نامعلومی Item خرید را نشان می‌دهد و پس از آن Cashier درخواست Payment می‌کند. Alternative Fragment گزینه‌های Payment را نمایش می‌دهد و به دو Operand برای Cash و Credit Card تقسیم شده است. پس از پایان Trace، در صورت برقرار بودن شرط پرداخت، Cashier Receipt را به Customer می‌دهد.

ترتیب Conditionهای Interaction Fragment را می‌توان روی Diagram تغییر داد:

  1. Interaction Fragmentای با بیش از یک Condition را انتخاب کنید؛ فلش‌های بالا و پایین کنار هر Condition ظاهر می‌شوند.
  2. فلش مناسب را برای تغییر ترتیب کلیک کنید.
عنصر تصویری منبع — صفحه 165تصویر، نمودار یا آیکون اصلی موجود در صفحه 165 سند؛ برای حفظ وفاداری بصری به‌صورت داده درون‌خطی درج شده است.
عنصر تصویری اصلی — صفحه 165
عنصر تصویری منبع — صفحه 165تصویر، نمودار یا آیکون اصلی موجود در صفحه 165 سند؛ برای حفظ وفاداری بصری به‌صورت داده درون‌خطی درج شده است.
عنصر تصویری اصلی — صفحه 165
صفحهٔ منبع 166

انتخاب و جابه‌جایی Combined Fragment

برای انتخاب Combined Fragment باید نزدیک لبهٔ داخلی آن کلیک کنید یا Selection Rectangle دور Fragment بکشید؛ این طراحی برای جلوگیری از انتخاب تصادفی هنگام جابه‌جایی Messageهای داخل Fragment است.

Messageهایی که داخل Fragment یا Fragment Operand قرار دارند هنگام جابه‌جایی بالا و پایین همچنان در همان Container می‌مانند. برای خارج‌کردن Message از Fragment یا انتقال آن به موقعیت دیگری در Sequence داخل Fragment، Alt را نگه دارید و Message را Drag کنید. Fragment روی Sequence Diagram با جابه‌جایی Message داخلی Resize می‌شود تا Message را در خود نگه دارد.

وقتی Interaction Fragment انتخاب می‌شود، یکی از دو Element Icon در گوشهٔ بالا-راست ظاهر می‌شود که آزادی جابه‌جایی Fragment و Messageهای درون و زیر آن را کنترل می‌کند. برای حرکت مستقل Fragment، حالت «move freely» را فعال کنید. Interaction Fragment درون Operand نمی‌تواند از Operand خارج شود مگر در حالت move freely. جابه‌جایی Operand Line، Objectها و Messageهای زیر آن را به همان میزان جابه‌جا می‌کند. Fragmentهای شامل Fragment دیگر هنگام Resize شدن Child Fragment خود نیز Resize می‌شوند، مگر در حالت move freely.

Fill Opacity

از آنجا که Interaction Fragment معمولاً عناصر دیگری را می‌پوشاند، می‌توانید Opacity عنصر را تغییر دهید تا عناصر پشت آن کاملاً مخفی، کامل نمایان یا با سایهٔ نسبی دیده شوند.

عنصر تصویری منبع — صفحه 166تصویر، نمودار یا آیکون اصلی موجود در صفحه 166 سند؛ برای حفظ وفاداری بصری به‌صورت داده درون‌خطی درج شده است.
عنصر تصویری اصلی — صفحه 166
عنصر تصویری منبع — صفحه 166تصویر، نمودار یا آیکون اصلی موجود در صفحه 166 سند؛ برای حفظ وفاداری بصری به‌صورت داده درون‌خطی درج شده است.
عنصر تصویری اصلی — صفحه 166
عنصر تصویری منبع — صفحه 166تصویر، نمودار یا آیکون اصلی موجود در صفحه 166 سند؛ برای حفظ وفاداری بصری به‌صورت داده درون‌خطی درج شده است.
عنصر تصویری اصلی — صفحه 166
عنصر تصویری منبع — صفحه 166تصویر، نمودار یا آیکون اصلی موجود در صفحه 166 سند؛ برای حفظ وفاداری بصری به‌صورت داده درون‌خطی درج شده است.
عنصر تصویری اصلی — صفحه 166
عنصر تصویری منبع — صفحه 166تصویر، نمودار یا آیکون اصلی موجود در صفحه 166 سند؛ برای حفظ وفاداری بصری به‌صورت داده درون‌خطی درج شده است.
عنصر تصویری اصلی — صفحه 166
صفحهٔ منبع 167

پیش از تنظیم Opacity مطمئن شوید عنصر Fill Color دارد. از Toolbar شناور عنصر ــ با کلیک روی Fragment یا راست‌کلیک روی آن ــ آیکون Opacity را انتخاب کنید:

  • 100%: Opacity کامل؛ عناصر پشت Fragment مخفی می‌شوند. برای نمایش یک عنصر خاص می‌توان Z-Order | Bring to Top را روی آن اعمال کرد.
  • 0%: بدون Opacity؛ Fill Color اعمال نمی‌شود و همهٔ عناصر پشت Fragment کاملاً دیده می‌شوند.
  • 75%، 50% یا 25%: درجات میانی Opacity؛ عناصر پوشیده دیده می‌شوند اما زیر سایه قرار می‌گیرند.

مشخصات OMG UML

طبق UML 2.5.1 صفحهٔ 607، CombinedFragment یک Expression از InteractionFragmentها تعریف می‌کند و توسط Interaction Operator و InteractionOperandهای متناظر مشخص می‌شود. با CombinedFragmentها می‌توان تعداد زیادی Trace را به‌شکل فشرده و موجز توصیف کرد.

عنصر تصویری منبع — صفحه 167تصویر، نمودار یا آیکون اصلی موجود در صفحه 167 سند؛ برای حفظ وفاداری بصری به‌صورت داده درون‌خطی درج شده است.
عنصر تصویری اصلی — صفحه 167
عنصر تصویری منبع — صفحه 167تصویر، نمودار یا آیکون اصلی موجود در صفحه 167 سند؛ برای حفظ وفاداری بصری به‌صورت داده درون‌خطی درج شده است.
عنصر تصویری اصلی — صفحه 167
عنصر تصویری منبع — صفحه 167تصویر، نمودار یا آیکون اصلی موجود در صفحه 167 سند؛ برای حفظ وفاداری بصری به‌صورت داده درون‌خطی درج شده است.
عنصر تصویری اصلی — صفحه 167
عنصر تصویری منبع — صفحه 167تصویر، نمودار یا آیکون اصلی موجود در صفحه 167 سند؛ برای حفظ وفاداری بصری به‌صورت داده درون‌خطی درج شده است.
عنصر تصویری اصلی — صفحه 167
عنصر تصویری منبع — صفحه 167تصویر، نمودار یا آیکون اصلی موجود در صفحه 167 سند؛ برای حفظ وفاداری بصری به‌صورت داده درون‌خطی درج شده است.
عنصر تصویری اصلی — صفحه 167
صفحهٔ منبع 168

ایجاد Combined Fragment

  1. آیکون «Fragment» را از صفحهٔ «Interaction Elements» در Diagram Toolbox روی Diagram بکشید.
  2. در فیلد «Type» فهرست را باز و یکی از Interaction Operatorها را انتخاب کنید.
  3. در فیلد «Condition» برای هر Operand یک Condition یا Interaction Constraint مشخص کنید.
  4. Frame مستطیلی نمایش داده می‌شود که با Lineهایی به Segmentهای مربوط به Operandها تقسیم شده است.
  5. Frame را Resize کنید تا Event Occurrenceهای لازم هر Operand را در بر بگیرد.

یادداشت‌ها

  • اگر Message به داخل Fragment یا Fragment Operand منتقل شود، همیشه در آن Container قرار می‌گیرد.
  • Fragmentهای Sequence Diagram هنگام انتقال Message به پایین Resize می‌شوند تا Messageهای واردشده همچنان در Fragment باقی بمانند.
صفحهٔ منبع 169

Interaction Operatorها

هنگام ساخت Combined Fragment باید Interaction Operator مناسب برای Characterize کردن Fragment انتخاب شود.

Operatorعمل
altInteraction Fragmentها را بر اساس Boolean Condition تقسیم می‌کند.
optیک Fragment اختیاری Interaction را در بر می‌گیرد.
parنشان می‌دهد Operandها موازی اجرا می‌شوند.
loopنشان می‌دهد Operand طبق Interaction Constraint تعداد مشخصی تکرار می‌شود.
criticalSequenceای را مشخص می‌کند که نباید توسط Processing دیگر Interrupt شود.
negFragment را نامعتبر اعلام می‌کند و ضمنی سایر Interactionها را معتبر می‌داند.
assertتنها Fragment معتبر قابل وقوع را مشخص می‌کند؛ اغلب داخل consider یا ignore استفاده می‌شود.
strictBehaviorهای Operandها باید به ترتیب سخت اجرا شوند.
seqCombined Fragment به‌صورت Weakly Sequenced است؛ Ordering داخل Operand حفظ می‌شود ولی Ordering میان Operandها، جز در موارد الزام Lifeline، تعریف نشده است.
ignoreMessageهایی را مشخص می‌کند که هنگام Execution نادیده گرفته می‌شوند یا می‌توانند هرجای Trace ظاهر شوند.
considerMessageهایی را مشخص می‌کند که در Trace باید در نظر گرفته شوند؛ اغلب همراه assert استفاده می‌شود.
refReference به Diagram دیگر؛ برای ایجاد آن یک Diagram موجود را از Browser روی Diagram جاری Drag کنید.

مشخصات OMG UML

طبق UML 2.5.1 صفحات 583–585، Value مربوط به interactionOperator برای Semantics CombinedFragment اهمیت دارد و برای هر Enumeration Value تعریف می‌شود.

صفحهٔ منبع 170

Alternative

Operator alt نشان می‌دهد CombinedFragment یک انتخاب Behavior است و حداکثر یک Operand انتخاب می‌شود. Operand انتخابی باید Guard صریح یا ضمنی True داشته باشد؛ نبود Guard به‌معنای Guard ضمنی True است. مجموعهٔ Traceهای Choice اجتماع Traceهای Guardدار Operandها است. Operand با Guard else نقیض Disjunction همهٔ Guardهای دیگر است. اگر هیچ Guardای True نباشد، هیچ Operand اجرا نمی‌شود و باقی Enclosing InteractionFragment ادامه می‌یابد. اگر Inner Gate در یکی از Operandهای alt استفاده شود، Gate هم‌نام باید در همهٔ Operandها وجود داشته باشد.

Option

opt Choiceای است که یا Operand منفرد رخ می‌دهد یا هیچ‌چیز؛ از نظر Semantics معادل alt با یک Operand غیرخالی و یک Operand خالی است.

Break

break سناریویی را نشان می‌دهد که به‌جای ادامهٔ Enclosing InteractionFragment اجرا می‌شود. اگر Guard True باشد Operand Break اجرا و باقی Fragment نادیده گرفته می‌شود؛ اگر False باشد Break نادیده گرفته و ادامه انتخاب می‌شود. بدون Guard انتخاب Non-deterministic است. Break CombinedFragment باید همهٔ Lifelineهای Enclosing Fragment را پوشش دهد.

Parallel

par Parallel Merge رفتار Operandها را نشان می‌دهد. OccurrenceSpecificationهای Operandهای مختلف می‌توانند با هر Interleaving ظاهر شوند، به شرط حفظ Ordering داخل هر Operand.

Weak Sequencing

seq Weak Sequencing را تعریف می‌کند: ۱) Ordering داخل هر Operand حفظ می‌شود؛ ۲) OccurrenceSpecificationهای Lifelineهای متفاوت می‌توانند هر ترتیب داشته باشند؛ ۳) روی یک Lifeline، OccurrenceSpecification Operand اول قبل از Operand دوم قرار می‌گیرد. اگر Participantها جدا باشند به Parallel Merge و اگر فقط یک Participant باشد به Strict Sequencing تبدیل می‌شود.

Strict Sequencing

strict Ordering سخت Operandها را در سطح اول CombinedFragment تعریف می‌کند؛ OccurrenceSpecificationهای Fragmentهای تو در تو مستقیماً با OccurrenceSpecificationهای Enclosing Fragment مقایسه نمی‌شوند.

Negative

neg Traceهای Operand منفرد را نامعتبر تعریف می‌کند؛ سایر InteractionFragmentها مثبت و معرف Traceهای معتبرند.

Critical Region

critical یک Critical Region تعریف می‌کند.

صفحهٔ منبع 171

Critical Region یعنی Traceهای Region نمی‌توانند با OccurrenceSpecificationهای دیگر روی Lifelineهای پوشش‌داده‌شده Interleave شوند. Region برای تعیین Traceهای معتبر توسط Enclosing Fragment به‌صورت Atomic رفتار می‌کند؛ حتی اگر CombinedFragment بیرونی مانند par Interleaving را مجاز بداند، Critical Region آن را محدود می‌کند.

Ignore / Consider

ignore مشخص می‌کند برخی Message Typeها در Combined Fragment نمایش داده نشده‌اند و در Execution متناظر بی‌اهمیت بوده و نادیده گرفته می‌شوند؛ یا می‌توانند هرجای Trace ظاهر شوند. consider برعکس، Messageهایی را که باید در Combined Fragment لحاظ شوند مشخص می‌کند و معادل Ignore کردن همهٔ Messageهای دیگر است.

Assertion

assert یک Assertion است؛ Sequenceهای Operand تنها Continuationهای معتبر هستند و سایر Continuationها Trace نامعتبر می‌سازند. Assertion اغلب با Ignore یا Consider ترکیب می‌شود.

Loop

loop یک Loop را مشخص می‌کند. Operand بین تعداد حداقل و حداکثر تکرار می‌شود. Guard می‌تواند Lower/Upper Iteration Count و Boolean Expression داشته باشد. Loop دست‌کم minint بار و حداکثر maxint بار اجرا می‌شود؛ پس از حداقل تکرار، اگر Boolean Expression False شود Loop پایان می‌یابد. Loop کاربرد بازگشتی Operator seq است که هر Iteration را پس از نتیجهٔ Iterationهای قبلی Sequence می‌کند. اگر Loop یک InteractionConstraint مستقل با Specification داشته باشد، ادامهٔ Loop منوط به True بودن آن Specification در Execution است، بدون توجه به Minimum Iteration تعیین‌شده.

امتیاز کاربران به این مقاله

☆☆☆☆☆

0 نفر امتیاز داده اند. میانگین: 0.0 از 5

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

0 / 500

اطلاعات تماس

  • آدرس:اصفهان-خیابان ام کلثوم غربی - بعد خیابان تخم چی - بیست متر بعد از پیتزا ننه شب - کوچه تعمیر گاه سمار زغالی - پلاک 354 - درب مشکی - طبقه هفتم
  • آدرس ایمیل:najafzade@gmail.com
  • وب سایت:http://www.a00b.com/
  • تلفن ثابت:(+98)9131253620
  • تلفن همراه:09131253620