Structured Activity و Structured Nodes | UML و Enterprise Architect

Structured Activity و Structured Nodes

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

نظرات 0

Structured Activity و Structured Nodes

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

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

صفحهٔ منبع 231

Structured Activity

Structured Activity در Activity Diagram استفاده می‌شود. این عنصر Activity Nodeای است که می‌تواند Subordinate Nodeها را به‌عنوان Activity Group مستقل داشته باشد. با Checkbox «Must Isolate» می‌توانید تضمین کنید Activityهای دیگر یا Side Effectهای آن‌ها در Processing این Activity دخالت نکنند. Enterprise Architect چند نوع Basic و Specialized Structured Activity دارد.

دسترسی

Design > Diagram > Toolbox و جستجوی «Activity»، یا میانبر Ctrl+Shift+3. Toolbox را نیز می‌توان از Iconهای سمت چپ Caption Bar نمایش/پنهان کرد.

ایجاد Structured Activity

وقتی آیکون Structured Activity را روی Diagram Drag می‌کنید، منوی کوتاهی با گزینه‌های Loop Node، Conditional Node و Other باز می‌شود. دو گزینهٔ نخست همان Type را می‌سازند؛ Other گفت‌وگوی «New Structured Activity» را باز می‌کند و از پنج Type قابل انتخاب است.

Typeتوضیح
Simple Composite ActivityComposite Activity با Child Activity Diagram می‌سازد.
Loop NodeSequenceای از Action/Activity برای تکرار را نمایش می‌دهد.
Conditional Nodeساختاری از Action/Activity که Choice تعیین می‌کند کدام اجرا شود.
Structured Activity NodeArrangement مرتب از Executable Activity Nodeها مانند Action، Decision و Merge، شامل Branch و Nesting؛ Base Type سایر Structured Activityها است.
عنصر تصویری منبع — صفحه 231تصویر، نمودار یا آیکون اصلی موجود در صفحه 231 سند؛ برای حفظ وفاداری بصری به‌صورت داده درون‌خطی درج شده است.
عنصر تصویری اصلی — صفحه 231
عنصر تصویری منبع — صفحه 231تصویر، نمودار یا آیکون اصلی موجود در صفحه 231 سند؛ برای حفظ وفاداری بصری به‌صورت داده درون‌خطی درج شده است.
عنصر تصویری اصلی — صفحه 231
عنصر تصویری منبع — صفحه 231تصویر، نمودار یا آیکون اصلی موجود در صفحه 231 سند؛ برای حفظ وفاداری بصری به‌صورت داده درون‌خطی درج شده است.
عنصر تصویری اصلی — صفحه 231
صفحهٔ منبع 232

Sequential Node: Arrangement ترتیبی از Executable Activity Nodeها را نشان می‌دهد.

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

Structured Node

Structured Activity Node در Diagram Border شکسته دارد. می‌توانید عناصر دیگری را درون Structured Node قرار دهید، از جمله Conditional، Loop و Structured Nodeهای دیگر.

مشخصات OMG UML

طبق UML 2.5.1 صفحهٔ 476، StructuredActivityNode یک Action و هم‌زمان ActivityGroup است و Behavior آن توسط ActivityNodeها و ActivityEdgeهای درونش مشخص می‌شود. برخلاف سایر ActivityGroupها، Nodeها و Edgeهای داخلش را Own می‌کند؛ بنابراین هر Node یا Edge فقط مستقیماً در یک StructuredActivityNode قرار می‌گیرد. StructuredActivityNodeها می‌توانند تو‌در‌تو باشند و یک Node/Edge می‌تواند غیرمستقیم در چند StructuredActivityNode محصور باشد.

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

Sequential Node

Sequential Activity Node در Diagram Border شکسته دارد و می‌تواند عناصر تو‌در‌تو داشته باشد که Sequence Actionها را تعریف می‌کنند. Sequential Node در Context Menu به‌عنوان Composite Flag می‌شود؛ با افزودن Child Diagram، عنصر به Composite Activity ساده تبدیل می‌شود.

مشخصات OMG UML

طبق UML 2.5.1 صفحهٔ 480، SequenceNode Ordering کامل و ترتیبی همهٔ ActivityNodeهای داخلش را که باید ExecutableNode باشند تعریف می‌کند. هنگام اجرای SequenceNode، Nodeها به ترتیب اجرا می‌شوند. ActivityEdge نیز می‌تواند داخل Node یا وارد/خارج آن شود. Semantics معادل StructuredActivityNode عمومی با ControlFlowهای اضافه برای ترتیب Nodeها است.

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

Loop Node

Loop Structured Activity Node برای تعریف Loop و معمولاً متناظر با While، Repeat یا For استفاده می‌شود. هر Loop Node سه Partition دارد:

  • Setup: معمولاً Variableهای موردنیاز Exit Condition را مقداردهی اولیه می‌کند و یک‌بار هنگام ورود اجرا می‌شود.
  • Test: Exit Condition Loop را تعریف می‌کند.
  • Body: Actionهایی که تا False شدن Test تکرار می‌شوند.

Result آخرین اجرای Test یا Body پس از پایان Loop در دسترس است. برای ساخت Loop Node، آیکون Structured Activity را از Toolbox انتخاب و Loop Node را برگزینید. Actionها را در Partitionهای Setup، Test و Body قرار دهید. عنصرها در بالا-چپ Partition Align می‌شوند و Resize ساختار را حفظ می‌کند؛ اگر بیش از حد کوچک شود به Best Fit بازمی‌گردد.

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

تعریف Loop Node

  1. از صفحهٔ Activity در Toolbox آیکون Structured Activity را روی Diagram بکشید.
  2. «Loop Node» را انتخاب کنید. Loop Node و Properties آن نمایش داده می‌شود.
  3. Propertyهای عمومی را تکمیل و Properties را ببندید.
  4. Properties Window را باز و زبانهٔ «Loop» را انتخاب کنید.
عنصر تصویری منبع — صفحه 236تصویر، نمودار یا آیکون اصلی موجود در صفحه 236 سند؛ برای حفظ وفاداری بصری به‌صورت داده درون‌خطی درج شده است.
عنصر تصویری اصلی — صفحه 236
صفحهٔ منبع 237
  1. Checkboxهای زیر را تنظیم کنید:
    • Must Isolate: Concurrency را تعیین می‌کند؛ Objectهای داخل Node خارج از آن قابل استفاده نیستند.
    • Tested First: اگر فعال باشد Loop از نوع For/While و اگر غیرفعال باشد Repeat Until است.
  2. برای فیلدهای Decider، Loop Variable Input، Loop Variable، Body Output و Result، دکمهٔ Add را بزنید و Action Pin مناسب را انتخاب کنید. Decider یک Output Pin در Test است که Value آن تعیین می‌کند Body اجرا شود یا خیر. Select Pins فقط Input Pin را برای Loop Variable Input و Output Pin را برای سایر فیلدها نشان می‌دهد. با Add New می‌توان Pin جدید ساخت.
  3. در پنل Nodes، Radio Buttonهای Setup/Test/Body را برای نمایش عناصر هر Partition انتخاب کنید. عنصر باید کامل زیر Edge بالای Partition باشد؛ اگر با Partition بالا Overlap کند متعلق به Partition بالا محسوب می‌شود.
  4. OK را برای Save بزنید.
  5. روی Node راست‌کلیک و Features | Interaction Points را انتخاب کنید. در Features Window Checkbox Interaction Pointها را فعال کنید تا Action Pinها روی Diagram دیده شوند.

مشخصات OMG UML

LoopNode یک StructuredActivityNode برای Iterative Loop است و شامل setupPart، test و bodyPart است. هر ExecutableNode داخل LoopNode باید در یکی از این Sectionها باشد. هنگام شروع، InitialNodeها فعال می‌شوند اما سایر ExecutableNodeها فقط وقتی Section خود اجرا شود Enable می‌شوند. Token Offerهای Section غیرفعال Pending می‌مانند تا آن Section بعداً اجرا شود.

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

اگر ExecutableNode در اجرای بعدی Section خود فعال شود، می‌تواند Offerهای Pending را بپذیرد.

صفحهٔ منبع 239

Conditional Node

Conditional Structured Activity Node معادل Modeling سازهٔ برنامه‌نویسی If-Then-Else است. ساده‌ترین حالت یک Clause شامل Test Partition و Body Partition دارد. اگر Test True باشد Body اجرا می‌شود. می‌توان چند Clause داشت؛ اگر Test یک Clause False باشد Body آن نادیده گرفته و Clause بعدی بررسی می‌شود.

هر Clause یک Decider ActionPin برای نتیجهٔ Test و Body Output ActionPin برای نتیجهٔ Body دارد. خود Conditional Node نیز Result ActionPin دارد که Output نخستین Body اجراشده را ارائه می‌کند.

عناصر Activity را از Toolbox داخل Partitionها قرار دهید. Layout هنگام Resize حفظ می‌شود و عنصر در Size خیلی کوچک به Best Fit بازمی‌گردد. هنگام ساخت، Properties باز می‌شود و Properties Window زبانهٔ «Condition» نیز دارد. در پنل Result با Add یک Action Pin برای Result انتخاب کنید.

یک Conditional Node به‌طور خودکار یک Clause با Test، Body، Decider و Body Output دارد. Clauseهای بیشتری می‌توان افزود و برای هرکدام Pinهای Decider و Body Output تعیین کرد. Select Pin فقط Output Pinهای مناسب را نشان می‌دهد و Add New می‌تواند Pin جدید بسازد. برای Result و Body Output می‌توان از «Find in Project Browser» محل Pin را یافت. پنل Nodes به‌طور پیش‌فرض عناصر Test را نشان می‌دهد؛ با Radio Button Body عناصر Body را می‌بینید. عنصر باید کاملاً در Body باشد؛ هر Overlap با Test باعث می‌شود متعلق به Test محسوب شود.

افزودن/حذف Clause

برای افزودن Clause دکمهٔ Add زیر فهرست Clauseها را بزنید. Clause جدید درج شده، Predecessor/Successor مشخص می‌شود و فیلدهای Decider/Body Output برای ورود داده پاک می‌شوند. Partitionهای Test و Body جدید فوراً روی Element افزوده می‌شوند.

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

برای حذف Clause، آن را انتخاب و Delete را بزنید. Partitionهای متناظر و Activity Elementهای داخل آن فوراً حذف می‌شوند. حذف Clause میانی شماره‌گذاری Clauseهای بعدی را به‌روزرسانی می‌کند.

مشخصات OMG UML

ConditionalNode یک StructuredActivityNode است که یکی از چند Collection جایگزین ExecutableNode را برای اجرا انتخاب می‌کند. شامل یک یا چند Clause است؛ هر Clause یک Branch با Test Section و Body Section دارد که Subsetهای جدا از ExecutableNodeها هستند. هر ExecutableNode داخل ConditionalNode باید دقیقاً در Test یا Body یکی از Clauseها قرار گیرد.

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

☆☆☆☆☆

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

 

0 نظر

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

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

0 / 500

اطلاعات تماس

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