UML – راهنمای جامع
UML چیست؟
UML یک نماد استاندارد برای روشهای شیءگرا است که با ادغام تکنیکهای مدلسازی شیءها ایجاد شده است. این ابزار برای تحلیل، طراحی و اجرای سیستمها استفاده میشود. زبان مدلسازی یکپارچه با هدف پاسخگویی به نیازهای کسبوکارها برای اتوماسیون تولید نرمافزار، بهبود کیفیت و کاهش هزینه و زمان ورود به بازار طراحی شده است. همچنین پایهای رسمی برای درک زبان مدلسازی فراهم میکند.

چرا UML؟
برنامههای بزرگ سازمانی باید به گونهای ساختار یافته باشند که امکان مقیاسپذیری، امنیت و اجرای قوی در شرایط فشار را فراهم کنند. یک معماری بهدرستی طراحیشده، امکان استفاده مجدد از کد را فراهم میکند و به برنامهنویسان نگهداری اجازه میدهد تا باگهایی را که پس از مدتها از ایجاد اولیه ظهور میکنند، پیدا و رفع کنند. مدلسازی برای پروژههای بزرگ نرمافزاری ضروری است و به پروژههای متوسط و کوچک نیز کمک میکند. یک مدل تضمین میکند که عملکرد کسبوکار کامل و صحیح باشد، نیازهای کاربر نهایی برآورده شود و طراحی برنامه، نیازهایی مانند مقیاسپذیری، قابلیت اطمینان، امنیت، قابلیت گسترش و سایر ویژگیها را پشتیبانی کند.
- مدلها به ما کمک میکنند تا در سطح بالاتری از تعمیم کار کنیم، با پنهان کردن یا ماسک کردن جزئیات، نمایش تصویر کلی یا تمرکز بر جنبههای مختلف پروتاتیپ.
- UML به شما اجازه میدهد هر نوع برنامهای را مدلسازی کنید، که روی هر نوع سختافزار، سیستم عامل، زبان برنامهنویسی و شبکه اجرا شود، و میتوان از آن برای مدلسازی برنامههای غیرشیءگرا نیز استفاده کرد.
- برخی ابزارها کد منبع موجود (یا برخی میگویند کد شیءی!) را تحلیل کرده و آن را به مجموعهای از نمودارهای UML، در حالی که برخی دیگر مدلهای UML را اجرا میکنند، بهطور معمول کد زبان برنامهنویسی تولید میکنند که اگر تولیدکننده کد الگوهای بهینه مقیاسپذیر را در خود جای داده باشد، بهسرعت اجرا میشود.
- فرآیند جمعآوری و تحلیل نیازهای یک برنامه و ادغام آنها در طراحی برنامه پیچیده است. UML زبانی است که به شما امکان میدهد نتایج تحلیل و طراحی خود را بیان کنید.
از کجا آمده است؟
UML ریشه در روشهای برنامهنویسی شیءگرا دارد که در دهه ۱۹۸۰ و اوایل دهه ۱۹۹۰ توسعه یافتهاند. جیم رمباو، گریدی بوچ و ایوار یاکوبسون ایدههای خود را در روش یکپارچه ادغام کردند که بعداً به نام زبان مدلسازی یکپارچه (UML) شناخته شد. اولین درخواست پیشنهاد (RFP) که توسط گروه مدیریت شیء (OMG) صادر شد، محرکی برای این بود که چندین سازمان در کنار هم تلاش کنند تا پاسخ مشترکی به RFP ارائه دهند. پاسخ به RFP، UML 1.0، بهطور دقیق، بیانگر، قدرتمند و بهطور کلی کاربردی بود و از نسخه 1.1 تا 1.5 بهبود یافت و سپس به UML 2.1 از سال 01 تا 06 (اکنون نسخه فعلی UML 2.5 است)

مزایای UML
بهترین مزیت استفاده از UML این است که کدهای نمودار بهراحتی قابل خواندن برای هر برنامهنویسی است که حتی بخش کوچکی از برنامه را درک کرده باشد.
- UML استانداردی است که برای توصیف بصری یک برنامه استفاده میشود. بهطور گستردهای استفاده و به عنوان زبانی برای طراحی برنامهها پذیرفته شده است.
- یک نمودار UML روابط بین کلاسها و موجودیتها در یک برنامه کامپیوتری را نشان میدهد. با نگاه کردن به نمودار، درک روابط یک برنامه بهراحتی امکانپذیر است.
- یک نمودار UML به توضیح روابط در یک برنامه به شکل ساده و مستقیم کمک میکند و به برنامهنویس اجازه میدهد تا بخشهایی از کد که قبلاً وجود دارند را مجدداً استفاده کند، به جای اینکه آن توابع را دوباره بنویسد.
- UML استاندارد فعلی برای برنامهنویسی در زبانهای برنامهنویسی شیءگرا است. به برنامهنویس کمک میکند تا برنامه را قبل از اجرای برنامهنویسی برنامهریزی کند، و کد تولید میکند بر اساس کلاسهایی که در مدل تنظیم شدهاند.
نمودارهای UML و مدل – ساختار در مقابل رفتار
یک نمودار UML نشان میدهد که اجزای یک سیستم چگونه با یکدیگر تعامل دارند و چگونه اجرا خواهد شد. مدل UML نمایش گرافیکی کاملی از مدل سیستم است، در حالی که یک نمودار نمایش جزئی است.

نگاه ثابت در مقابل نگاه پویا
مدلسازی ثابت ساختار سیستم را با استفاده از اشیاء، ویژگیها، عملیات و روابط نشان میدهد، در حالی که مدلسازی پویا رفتار سیستم را با استفاده از همکاریهای بین اشیاء و تغییرات در وضعیتهای داخلی اشیاء نشان میدهد.
- نمودارهای ساختار جنبههای ثابت یک سیستم نرمافزاری را نمایش میدهند. برای مستندسازی معماری نرمافزاری سیستمهای نرمافزاری استفاده میشوند.
- نمودارهای رفتاری جنبه پویای یک سیستم را توصیف میکنند. برای توصیف عملکرد سیستمهای نرمافزاری استفاده میشوند.
14 نوع نمودار UML
UML 2.2 دارد14 نوع نموداراز این موارد 7 مورد اطلاعات ساختاری و 7 مورد جنبههای کلی تعاملات را نشان میدهند.

نمودارهای ساختاری
از آنجا که نمودارهای ساختاری ساختار را نشان میدهند، به طور گسترده در مستندسازی معماری نرمافزاری سیستمهای نرمافزاری استفاده میشوند. نمودارهای ساختاری ساختار ثابت عناصر در سیستم شما را نشان میدهند. هفت نمودار ساختاری UML به طور تقریبی حول گروههای اصلی چیزهایی که در مدلسازی یک سیستم پیدا میکنید، سازماندهی شدهاند.
به عنوان مثال، نمودار مؤلفهها نحوه تقسیم یک سیستم نرمافزاری به مؤلفهها را توصیف میکند و وابستگیهای بین این مؤلفهها را نشان میدهد.
| ساختارینمودار | توضیح مختصر |
| نمودار ساختار ترکیبی | ساختار داخلی یک طبقهبندی، تعاملات طبقهبندی با محیط از طریق پورتها یا رفتار یک همکاری را نشان میدهد. |
| نمودار نصب | مجموعهای از گرهها و روابط آنها را نشان میدهد که دید ثابت نصب یک معماری را نشان میدهد. |
| نمودار بسته | عناصر مرتبط UML را در مجموعهای از ساختارهای منطقی UML گروهبندی میکند. |
| نمودار پروفایل | |
| نمودار کلاس | مجموعهای از کلاسها، رابطها و همکاریها و روابط آنها را نشان میدهد که معمولاً در مدلسازی سیستمهای شیگرا پیدا میشوند. |
| نمودار شی | مجموعهای از شیها و روابط آنها را نشان میدهد که تصاویر ثابت نمونههای چیزهایی است که در نمودارهای کلاس پیدا میشوند. |
| نمودار مؤلفه | مجموعهای از مؤلفهها و روابط آنها را نشان میدهد که دید ثابت پیادهسازی یک سیستم را نشان میدهد. |
نمودارهای رفتاری
پنج نمودار رفتاری UML برای مدلسازی رفتار یک سیستم استفاده میشوند. آنها نشان میدهند که دادهها چگونه از سیستم عبور میکنند، چگونه اشیا با یکدیگر ارتباط برقرار میکنند، چگونه گذشت زمان بر سیستم تأثیر میگذارد و چه رویدادهایی باعث تغییر حالتهای داخلی سیستم میشوند.
| رفتارینمودار | توضیح مختصر |
| نمودار فعالیت | این نمایشگر گرافیکی جریان کار فعالیتها و اقدامات سریالی با پشتیبانی از انتخاب، تکرار و همگامسازی است |
| نمودار موارد مصرف | این مفهوم نیازهای عملکردی یک سیستم را به صورت موارد مصرف توصیف میکند که به شما امکان میدهد ارتباط بین آنچه از سیستم نیاز دارید و نحوه تأمین این نیازها توسط سیستم را برقرار کنید. |
| نمودار ماشین حالت | این نمودار رفتار گسسته بخشی از یک سیستم طراحی شده را از طریق انتقالهای حالت محدود نشان میدهد. |
| نمودار توالی | این نمودار توالی پیامهای مبادله شده بین اشیاء مورد نیاز برای اجرای عملکرد سناریو را نشان میدهد. |
| نمودار ارتباط | این نمودار تعاملات بین اشیاء و/یا قسمتها (به صورت خطوط زندگی نمایش داده شده) را با استفاده از پیامهای توالی در یک چیدمان آزاد نشان میدهد. |
| نمودار مرور تعامل | این نمودار جریان کنترل را با گرههایی که میتوانند حاوی سایر عناصر باشند، نشان میدهدنمودارهای تعامل. |
| نمودار زمانبندی | این نمودار تعاملات را نشان میدهد زمانی که هدف اصلی نمودار، استدلال درباره زمان با تمرکز بر تغییرات شرایط درون و بین خطوط زندگی در طول یک محور زمان خطی است. |
1. نمودار کلاس
یککلاسنمودار کلاس دیدی استاتیک از یک برنامه را نشان میدهد و در ساخت کد نرمافزار قابل اجرا کمک میکند. این نمودار ویژگیها، کلاسها، توابع و روابط را نشان میدهد تا دید کلی از سیستم نرمافزاری ارائه شود. این نمودارها برای ایجاد دید استاتیک از یک برنامه استفاده میشوند. یک نمودار مدل شیء میتواند زمان نگهداری را با ارائه یک طرح کلی از برنامه قبل از کدنویسی کاهش دهد.
بسته به پیچیدگی یک سیستم، میتوانید از یک نمودار کلاس برای مدلسازی کل سیستم استفاده کنید یا از چند نمودار کلاس برای مدلسازی قطعات سیستم استفاده کنید. نمودارهای کلاس اساسی در فرآیند مدلسازی شیء هستند و ساختار استاتیک یک سیستم را مدل میکنند. در مرحله تحلیل، یک نمودار کلاس میتواند به شما کمک کند تا نیازهای حوزه مسئله خود را درک کنید و اجزای آن را شناسایی کنید.
نمودار کلاسنمودار کلاس بلوک اصلی مدلسازی شیءگرا است. این نمودار ساختار یک سیستم شیءگرا را با نشان دادن کلاسها، ویژگیهای آنها، عملیات و روابط بین اشیاء نشان میدهد. بخش بالایی حاوی نام کلاس است، بخش میانی حاوی ویژگیهای آن و بخش پایینی حاوی عملیات آن است.
رابطهها در وسط خط ارتباط نوشته میشوند. اغلب دارای یک سری کوچک هستند تا جهت خواندن رابطه را نشان دهند. تعداد اشیاء در یک رابطه میتواند به صورت زیر بیان شود: دقیقاً یکی، صفر، یکی، چندین، یک یا بیشتر.

این نمودار کلاس را ویرایش کنید
- یک کلاس الگویی برای یک شی است و هدف طراحی شیءگرا درباره اشیاء نیست، بلکه درباره کلاسهاست، زیرا ما از کلاسها برای ایجاد اشیاء استفاده میکنیم.
- انتخاب دیدگاه به این بستگی دارد که شما در چه مرحلهای از فرآیند توسعه هستید. مدلهای تحلیلی ویژگیهای ترکیبی از دیدگاههای مفهومی و مشخصات دارند.
- رابطههای کلاس UML برای انتقال نحوه پیادهسازی کد از نمودارها استفاده میشوند. اگر به درستی تفسیر شوند، کد پیادهسازی شده به درستی نیت طراح را منعکس خواهد کرد.
- رابطه با یک خط که دو کلاس را به هم متصل میکند، نمایش داده میشود. در هر انتهای این خط میتوانیم مالکیت، نقش عناصر این انتها و تعداد نمونههای آن را مشخص کنیم.
- تعمیمدهی نوعی رابطه بین دو کلاس است. هر نمونه از کلاس خاص، همچنین یک نمونه غیرمستقیم از کلاس کلی است.
- یک تجمیع نوعی ارتباط است که رابطه بخش-کل یا بخش-از را نشان میدهد. به صورت گرافیکی میتوان آن را با یک شکل دایرهای خالی روی کلاس حاوی با یک خط تکی که به کلاس حاوی متصل است، نمایش داد.
- رابطه وابستگی زمانی وجود دارد که یک شیء از یک کلاس از یک شیء کلاس دیگر استفاده کند.
- کلاس مجازی برای یافتن عملکردهای مشترک بین کلاسها استفاده میشود و نام آن به صورت ایتالیک نوشته میشود.
2. نمودار شی
یک شی، نمونهای از یک کلاس در یک لحظه خاص در زمان اجرا است و نمودار شی حالت دقیق یک سیستم در یک لحظه خاص را نشان میدهد. این نمودارها برای نمایش مثالهایی از ساختارهای داده استفاده میشوند و نمودارهای کلاس برای تأیید صحت و کامل بودن استفاده میشوندنمودارهای شی.

(ایجاد شده با ابزار نمودار شی Visual Paradigm (Desktop))ابزار نمودار شی)
- نمودار شی رابطه بین شیها در یک سیستم را نشان میدهد و میتواند برای توضیح نمودارهای کلاس پیچیده سیستم استفاده شود.
- در UML، نمودارهای شی نمونههای طبقهبندیها در مدلها و روابط بین آنها را نشان میدهند. میتوانید نمودارهای شی را با ایجاد نمونه از عناصر مدل در نمودارهای کلاس، نصب، مؤلفه و مورد استفاده ایجاد کنید.
- برای توسعه یک نمودار شی، باید مکانیزمهایی که سیستم را تشکیل میدهند را شناسایی کنید، سپس کلاسها، رابطها و سایر عناصری که در این مکانیزم شرکت دارند را شناسایی کنید و همچنین روابط بین این موارد را شناسایی کنید.
- نمودار شی میتواند برای نشان دادن حالت شیها در یک لحظه خاص از زمان استفاده شود.
3. نمودار مؤلفه
یک نمودار مؤلفهبرای تقسیم یک سیستم بزرگ شیگرا به مؤلفههای کوچکتر استفاده میشود. روابط و همچنین سازمان بین مؤلفههای موجود در سیستم را نمایش میدهد. نمودار مؤلفه، نمایشی از مؤلفههای منطقی یک سیستم نرمافزاری و روابط بین آنها است که یک دید ثابت اجرا از سیستم است. معمولاً برای نمایش مؤلفهها، ساخت فایلهای اجرایی و توصیف سازمان و روابط مؤلفهها استفاده میشود.


این نمودار مؤلفه UML را ویرایش کنید
- نمودار نمودار مؤلفهرابطههای ارائهشده و مورد نیاز یک مؤلفه را نشان میدهد.
- یک مؤلفه بخشی مدولار از سیستم است. به صورت مستطیل با بخشهای اختیاری که به صورت عمودی قرار گرفتهاند رسم میشود.
- یک لولیا یا پایه برای نمایش وابستگی از یک مؤلفه به یک رابط استفاده میشود و نیمدایره برای نمایش وابستگی از یک مؤلفه به یک رابط مورد نیاز استفاده میشود.
4. نمودار نصب
نمودار نصب ساختار سیستم زمان اجرا و مسیرهای ارتباطی بین اقلام مختلف سختافزاری که نرمافزار روی آنها نصب خواهد شد را نشان میدهد. نمودار نصب مجموعهای از رئوس و کمانها است که روابط بین گرههای یک سیستم را نشان میدهد. برای مهندسان سیستم مفید است تا عملکرد، قابلیت مقیاسپذیری، نگهداری و قابلیت انتقال را کنترل کنند.

این نمودار نصب را آنلاین ویرایش کنید
نمودارهای نصب معماری یک سیستم را به عنوان نصب آثار نرمافزاری به اهداف نصب نشان میدهند. این نمودارها میتوانند سطح مشخصات (که به آن سطح نوع نیز گفته میشود) یا سطح نمونه (مشابه نمودارهای کلاس و نمودارهای شی) باشند.
نمودار نصب در مقابل نمودار مؤلفه
- نمودارهای نصب برای توصیف مؤلفههای سختافزاری که برای نصب مؤلفههای نرمافزاری در یک سیستم استفاده میشوند، استفاده میشوند.
- نمودارهای مؤلفه برای توصیف آثار نرمافزاری یک سیستم استفاده میشوند و نمودارهای نصب برای توصیف توپولوژی سختافزاری یک سیستم استفاده میشوند.
۵. نمودار بسته
بستهها برای گروهبندی عناصر مرتبط معنایی به منظور سازماندهی عناصر سطح بالای سیستمهای پیچیده استفاده میشوند. یک نمودار بسته الگویی برای گروهبندی عناصر و تعیین وابستگیهای بین آنها است. آنها عناصر مدل و مؤلفهها را به واحدهای یا سیستمهای منسجم تقسیم میکنند. این نمودارها به سادهسازی کنترل دسترسی سیستم، ناوبری مدل، مدیریت پیکربندی و سایر ملاحظات معنایی کمک میکنند.

این نمودار بسته را ویرایش کنید
- بستهها با نماد پوشه نمایش داده میشوند و مدلها با مثلث در گوشه بالا سمت راست نمایش داده میشوند.
- نمودار بسته ساختار سلسله مراتبی بستههای تو در تو را دنبال میکند، به عنوان مثال، نمودار بسته میتواند موارد استفاده را به زیرسیستمهای منطقی گروهبندی کند.
- اگر هر کلاس در بسته A به هر کلاس در بسته B وابسته باشد یا اگر رابطه مشتری-سرور بین دو کلاس وجود داشته باشد، بین دو بسته وابستگی وجود دارد.
- نمودارهای بسته به ما اجازه میدهند تا وابستگیهای بین بستهها را مشخص کنیم. یک وابستگی با یک پیکان نقطهچین مدل میشود.
- رابطه وارد کردن بسته به این معنا تفسیر میشود که عناصر از بسته مقصد به بسته منبع وارد میشوند.
- اولویت بسته رابطهای جهتدار بین دو بسته است. ویژگیهای بسته مقصد را به ویژگیهای بسته منبع اضافه میکند.
- یک بسته ظرفی برای عناصر مدل دیگر است. یک بسته میتواند به صورت سلسله مراتبی تو در تو شده باشد و ظرف میتواند حذف یا کپی شود بدون اینکه عناصری که در آن قرار دارد حذف شوند.
۶. نمودار ساختار ترکیبی
در مدلهای UML، یکنمودار ساختار ترکیبی ساختار داخلی طبقهبندیهای ساختاری را با استفاده از قسمتها، پورتها و اتصالات نشان میدهد

(ایجاد شده با ابزارابزار نمودار ساختار ترکیبی)
-
قسمتها: عنصر نموداری که مجموعهای از یک یا چند نمونهای را که یک طبقهبندی ساختاری محتوی آن است، نشان میدهد
- اتصالدهنده پورتها را با هم پیوند میدهد، همکاری نمونهها را با هم پیوند میدهد، طبقهبندی ساختاری یک کلاس را نشان میدهد که میتواند با تعاملات بین قسمتها توصیف شود، و طبقهبندی محصور شده پورتها را دارد.
-
پورتها: نقطه تعامل بین یک نمونه طبقهبندی و محیط آن یا بین رفتار طبقهبندی و قسمتهای داخلی آن را تعریف میکنند
- رابط: میتواند به صورت کلاس مدل شود، اما نمونهسازی نمیشود. یک کلاس واقعی باید رابط را پیادهسازی کند و موجودیتهای خارجی میتوانند از رابط استفاده کنند بدون اینکه نگران پیادهسازی داخلی باشند.
-
همکاریها: از استفاده همکاری برای تعریف فقط نقشها و اتصالاتی که برای دستیابی به هدف خاص همکاری لازم است، استفاده میکنند
کلاس در مقابل شی در مقابل نمودار ساختار ترکیبی
- نمودارهای کلاس روابط بین کلاسهایی که ساختار پیچیده را تشکیل میدهند را نشان میدهند، در حالی که نمودارهای شی نمونههای خاص این ساختار را نشان میدهند.
- نمودارهای ساختار ترکیبی نشان میدهند که مؤلفهها چگونه با یکدیگر تعامل دارند.
۷. نمودار پروفایل
UML زبان مدلسازی عمومی است. با این حال، در برخی موارد، زبانی که برای حوزه مشخص بهینهسازی شده است، مزیت دارد.نمودارهای پروفایلامکان سفارشیسازی مدلهای UML برای حوزهها و پلتفرمهای خاص را فراهم میکند. این نمودارها با استفاده از استایلهای تخصصی، تعریف مقادیر علامتگذاری شده و محدودیتها تعریف میشوند.


این نمودار پروفایل را ویرایش کنید
الفپروفایل UMLمیتواند به سه روش ایجاد شود: با ایجاد یک مدل فرایند جدید، گسترش مدل فرایند موجود یا استفاده از مکانیزمهای ذاتی زبان.
- استایلهای تخصصی به شما امکان میدهند تا دایره واژگان UML را با ایجاد بلوکهای ساختاری جدید که ظاهری ساده دارند و زبان حوزه خود را به کار ببرند، افزایش دهید.
- مقادیر علامتگذاری شده برای افزودن اطلاعات به یک عنصر مدل UML استفاده میشوند. میتوانند برای تولید کد، کنترل نسخه، مدیریت پیکربندی، نویسندگی و غیره استفاده شوند.
- محدودیتها به شما امکان میدهند تا معنای بلوکهای ساختاری UML را با افزودن پروتکلهای جدید گسترش دهید. آنها به صورت رشتهای که در براکتها محصور شدهاند و نزدیک به عنصر مرتبط قرار دارند، نمایش داده میشوند.
نمودار رفتاری
نمودارهای رفتاری UML جنبههای پویای یک سیستم را به تصویر میکشند، مشخص میکنند، ساخته و مستند میکنند. نمودارهای رفتاری به صورت زیر دستهبندی میشوند: نمودارهای مورد استفاده، نمودارهای تعامل، نمودارهای حالت و نمودارهای فعالیت.
۱. نمودار مورد استفاده
یک نمودار مورد استفادهنمایش بصری رفتار یک برنامه نرمافزاری است. به طراحان کمک میکند تا رفتار یک سیستم را با مشخص کردن رفتار قابل مشاهده از بیرون به کاربر انتقال دهند. موارد استفاده تنها الزامات عملکردی یک سیستم را نشان میدهند. قوانین کسبوکار، الزامات کیفیت خدمات و محدودیتهای اجرا باید به صورت جداگانه نمایش داده شوند. نمودارهای مورد استفاده برای توصیف نقشهای افراد در یک سیستم استفاده میشوند. میتوانند برای برنامهریزی الزامات، اعتبارسنجی طراحی سختافزار، آزمون یک محصول نرمافزاری یا ایجاد یک منبع راهنمای آنلاین استفاده شوند.
مدلسازی مورد استفاده در سال ۱۹۸۶ توسط ایوار یاکوبسون معرفی شد. در سال ۱۹۹۲، کتاب او با عنوان مهندسی نرمافزار شیءگرا به گسترش این روش کمک کرد. نمودار مورد استفاده دیدی با سطح بالاتر از یک سیستم است. در صورتی که نیازی نباشد، مفید است که موارد استفاده را در سطح کلیتر و با جزئیات کمتر بنویسید. نمودارهای مورد استفاده معمولاً در مراحل اولیه توسعه برای جمعآوری الزامات، اعتبارسنجی معماری و رهبری اجرا ایجاد میشوند.

این نمودار مورد استفاده را ویرایش کنید
- نمودارهای مورد استفاده باید از دیدگاه بازیگران ساختاردهی شوند و بر «چه» تمرکز کنند و نه بر «چگونه».
- رابطه گسترش برای اینکه رفتار اختیاری از یک مورد استفاده گسترشدهنده را در یک مورد استفاده گسترشیافته شامل شود، استفاده میشود.
- رابطه کلیسازی دو مورد استفاده را به هم متصل میکند. فرزند میتواند رفتار والد را اضافه یا جایگزین کند.
- بازیگران سیستم شما افرادی هستند که از سیستم استفاده میکنند، آن را نصب میکنند، فعال میکنند، نگهداری میکنند، خاموش میکنند و اطلاعات از سیستم دریافت و به آن اطلاعات ارائه میدهند.
۲. نمودار فعالیت
نمودارهای فعالیت برای نمایش جریان کنترل در یک سیستم و توصیف مراحل مربوط به اجرای یک مورد استفاده استفاده میشوند. نمودارهای فعالیت نمایشهای گرافیکی فرآیندهای کاری هستند و از انتخاب، تکرار و همگامسازی پشتیبانی میکنند. میتوانند عناصری را شامل شوند که جریان داده بین فعالیتها را نشان دهند. شبیه نمودارهای جریان هستند و برای نمایش جنبههای پویای یک سیستم استفاده میشوند. به عنوان مثال، یک نمودار فعالیت میتواند برای نشان دادن جریان کنترل از حالت اولیه به حالت نهایی استفاده شود.
نمودارهای فعالیت همچنین برای مدلسازی فرآیندهای کسبوکار و جریانهای کاری استفاده میشوند. برای ثبت رفتار پویای یک سیستم و مدلسازی جریان کار یک سیستم شیءگرا یا توزیعشده استفاده میشوند.

این نمودار فعالیت را آنلاین ویرایش کنید
- نمودارهای فعالیت برای مدلسازی سریای از اقدامات یا جریان کنترل در یک سیستم استفاده میشوند.
- یک الماس نشاندهنده تصمیمگیری با مسیرهای جایگزین است. مسیرهای جایگزین باید با شرایط برچسبگذاری شوند.
- یک گره شاخهای جریان ورودی تکی را به چندین جریان همزمان تقسیم میکند.
- یک گره اتصال چندین جریان همزمان را دوباره به هم متصل میکند.
- پینها برای تمیز کردن نمودارهای فعالیت پیچیده استفاده میشوند. آنها یک ورودی به یا خروجی از یک اقدام را نشان میدهند.
- سیگنالها برای تغییر فعالیتهای در یک سیستم استفاده میشوند. پاسخی لازم است قبل از اینکه فعالیت قابل تغییر باشد.
- اسیملاینها برای گروهبندی اقدامات در نمودارهای فعالیت استفاده میشوند.
3. نمودار توالی
نمودار توالی یک نمودار ساده است که برای نشان دادن تعاملات بین بخشهای مختلف (یعنی زیرسیستم یا اشیا) یک سیستم استفاده میشود. نمودارهای توالی UML نشان میدهند که اشیا چگونه در زمان با یکدیگر تعامل دارند و از محور عمودی برای نمایش زمان استفاده میکنند. نمودارهای توالی تعاملات بین یک سیستم و کاربر آن یا بین سیستمها را ثبت میکنند. نمودار توالی نشان میدهد که عملیات چگونه انجام میشوند. زمان با پیش رفتن به پایین صفحه پیشرفت میکند.
در یک نمودار توالی، پیامها تعامل بین اشیا را نشان میدهند. پیامهای فراخوانی نشاندهنده درخواست فراخوانی یک عملیات هستند، پیامهای بازگشتی جریان اطلاعات از دریافتکننده به فرستنده را نشان میدهند و پیامهای بازگشتی (Recursive) نشاندهنده فراخوانی به فرستنده هستند.

این نمودار توالی را ویرایش کنید
- نمودار توالی میتواند برای مدلسازی نحوه تعامل بخشهای مختلف یک سیستم برای انجام یک مورد استفاده واحد استفاده شود، به عنوان مثال، نمودار توالی میتواند به تصویرسازی تعاملات بین کلاسها و کشف مسئولیتها در یک سیستم جدید کمک کند.
- در یک نمودار توالی، یک شی به شی دیگر پیام میفرستد. هر دو شی در طول تبادل پیام فعال هستند.
- پیکانهای پیام در نمودارهای توالی برای نشان دادن یک پیام استفاده میشوند. پیکان پیام دارای توضیحی است که به آن امضای پیام گفته میشود.
- یک پیام غیرهمزمان زمانی ارسال میشود که فرستنده پیام منتظر پردازش پیام نباشد.
4. نمودار ماشین حالت
نمودار ماشین حالت (که به عنوان نمودار حالت یا نمودار انتقال حالت شناخته میشود) برای توصیف حالتهای مختلف یک مؤلفه در یک سیستم استفاده میشود. این نمودار توسط رویدادهای خارجی یا داخلی کنترل میشود. این نمودارها برای مدلسازی طبیعت پویای یک سیستم استفاده میشوند. جریان کنترل از یک حالت به حالت دیگر را توصیف میکنند و برای مدلسازی طول عمر یک شی از ایجاد تا پایان استفاده میشوند. به عنوان مثال، نمودارهای حالت تمام رفتارهای ممکن اشیا یک کلاس و ترتیب رویدادها را نشان میدهند و برای درک صحیح سیستم ضروری هستند.
در اکثر سیستمها، پیچیدگی از تعامل بین اشیا از کلاسهای مختلف ناشی میشود، بنابراین نمودارهای حالت برای هر کلاس ضروری نیستند. با این حال، برای کلاسهای پیچیده، مانند سیستمهای کنترل فرآیند یا سیستمهای ارتباطی، نمودار حالت برای مدلسازی رفتار اشیا ضروری است.


این نمودار ماشین حالت را آنلاین ویرایش کنید
- یک دایره سیاه پر شده برای نمایش حالت اولیه یک سیستم یا یک کلاس.
- یک پیکان پر برای نمایش انتقال از یک حالت به حالت دیگر
- یک مستطیل گرد برای نمایش یک حالت.
- انتقال حالت از یک حالت به حالت دیگر توسط رویدادها ایجاد میشود.
- گاردها از عبور برخی انتقالها جلوگیری میکنند و انتقالهای داخلی بر انتقال حالت تأثیری نمیگذارند.
- یک نمودار حالت شامل حالت اولیه، حالتهای میانی، انتقالها و حالت نهایی است. همچنین شامل یک جعبه با گوشههای گرد، نام، متغیرهای حالت و اقدامات انجام شده در هر حالت است.
حالت چیست؟
حالت شرایط یا موقعیتی است که در طول زندگی یک شی رخ میدهد و رویداد یک تحریک است که میتواند منجر به انتقال حالت شود. شرط گارد ارزیابی یک عبارت منطقی است و یک انتقال میتواند چندین شرط گارد داشته باشد. نمودارهای حالت اغلب برای توصیف رفتار اجزای الکترونیکی استفاده میشوند. نمودارهای حالت میتوانند شامل تقسیم حالتها به چندین حالت، ادغام حالتها، حالتهای تاریخی و حالتهای ترکیبی باشند.
نمودار فعالیت در برابر نمودار حالت
- در UML، نمودارهای فعالیت فعالیتهای سطح بالا را نشان میدهند. به طور خاص، نمودارهای فعالیت میتوانند همگامی و هماهنگی را نشان دهند.
- در یک نمودار ماشین حالت، رئوس نشاندهنده حالتهای یک شی هستند و لبهها نشاندهنده وقوع رویدادها هستند. نمادهای اضافی نحوه هماهنگی فعالیتها را ثبت میکنند.
5. نمودار ارتباطی
نمودارهای ارتباطی نشان میدهند که اشیا چگونه با یکدیگر تعامل دارند. همچنین پیامهایی که بین اشیا حرکت میکنند را نشان میدهند. مدلسازی انتقال پیام بین اشیا که عملکردهای موارد استفاده و عملیات را تأمین میکنند و تعاملاتی را ثبت میکنند که پیامهای منتقل شده را نشان میدهند. در یک نمودار ارتباطی، اشیا (عملگرهای در موارد استفاده) با مستطیلها نمایش داده میشوند و پیامهای ارسالی بین اشیا با پیکانهای برچسبدار که از شی فرستنده شروع شده و به شی دریافتکننده ختم میشوند، نمایش داده میشوند. خواندن آن آسان است زیرا پیامها با اعداد برچسبگذاری شدهاند.

(ایجاد شده با ابزار ابزار نمودار ارتباطی)
- نمودارهای ارتباطی UML نشان میدهند که پیامها چگونه بین اشیا در یک سیستم یا بخشی از نرمافزار ارسال و دریافت میشوند.
- خطوط نشاندهنده ارتباطات و پیکانها نشاندهنده پیامها هستند.
- پیامها به ترتیب توالی شمارهگذاری شدهاند و با اعداد و اعشار توصیف میشوند.
نمودار ارتباطی در مقابل نمودار توالی
نمودار ارتباطی و نمودار توالی شبیه هم هستند. اطلاعات یکسانی را ارائه میدهند، اما نمودار ارتباطی بر اساس فضا و نمودار توالی بر اساس زمان تنظیم شدهاند.
به عنوان مثال، اغلب همپوشانی بین نمودار فعالیت و نمودار توالی ایجاد میکند و پیامهایی را که بین موجودیتها مبادله میشوند، برای دستیابی به وظایف مشخصی در سیستم نشان میدهد.
- نمودار توالی ترتیب زمانی پیامها را نشان میدهد، و
- نمودار ارتباطی روابط بین اشیاء را نشان میدهد.
6. نمودار مرور تعامل
نمودارهای مرور تعامل شبیه نمودارهای فعالیت هستند، اما هر فعالیت منفرد به صورت یک چارچوب نمایش داده میشود که میتواند یک نمودار تعامل داخلی را شامل شود. نمودارهای مرور تعامل UML سطح بالایی از تعمیم مدل تعامل را ارائه میدهند. همچنین میتوانند جریان فعالیتها بین نمودارها را نشان دهند. به عبارت دیگر، نمودارهای تعامل رفتار پویای سیستم را با توصیف ترتیب زمانی پیامها و ساختار سازمانی اشیاءی که پیامها را ارسال و دریافت میکنند، نشان میدهند.

(ایجاد شده با ابزار ابزار نمودار مرور تعامل)
نمودار مرور تعامل شبیه نمودار فعالیت است، اما هر فعالیت منفرد به صورت یک چارچوب نمایش داده میشود که میتواند یک نمودار تعامل داخلی را شامل شود. نمودارهای مرور تعامل UML سطح بالایی از تعمیم مدل تعامل را ارائه میدهند. همچنین میتوانند جریان فعالیت بین نمودارها را نشان دهند. به عبارت دیگر، نمودار تعامل رفتار پویای سیستم را با توصیف توالی زمانی پیامها و ساختار سازمانی اشیاءی که پیامها را ارسال و دریافت میکنند، نشان میدهد.
نمودار مرور تعامل شامل گرههایی است که نمودارهای تعامل را نشان میدهند. به عنوان مثال، یک رویداد تعامل (یا نمودار توالی مرجع) به شما امکان میدهد از داخل یک نمودار توالی به یک نمودار توالی دیگر ارجاع دهید. این قابلیت به شما امکان میدهد سناریوهای پیچیده را به سناریوهای کوچکتری تقسیم کنید که قابل استفاده مجدد هستند. هر سناریو یک «تعامل» است.
7. نمودار زمانی
نمودار زمانی بخشی از یک نمودار تعامل است که نحوه تغییر شرایط درون و بین خطوط زندگی را همراه با یک خط زمانی خطی نشان میدهد. این نمودار نحوه تعامل اشیاء در طول یک بازه زمانی مشخص را نشان میدهد، زمان هر مرحله از فرآیند را نشان میدهد و میتواند برای یافتن بهبودها استفاده شود.

(ایجاد شده با ابزار ویرایشگر نمودار زمانی)
- نمودار زمانی تعاملات را در طول یک محور زمانی خطی نشان میدهد و عناصری مانند پیام، خط زندگی، خط زمانی و شیء یا نقش را شامل میشود.
- خط زندگی نماینده یک شرکتکننده فردی در یک تعامل است. میتواند در داخل یک چارچوب نمودار یا یک نوار شناور قرار گیرد.
- محدودیت مدت زمان برای تشخیص اینکه آیا یک محدودیت برای یک مدت زمان رعایت شده است یا خیر، استفاده میشود.
- محدودیت زمانی یک محدودیت بازهای است که یک بازه زمانی را نشان میدهد. نقض یک محدودیت زمانی به این معناست که سیستم شکسته است.













