مقدمه
مرور کلی
UML 2.0 نمودارها را به دو دسته اصلی دستهبندی میکند: دو دسته اصلی:
| دسته | هدف |
|---|---|
| نمودارهای ساختاری | سازماندهی فیزیکی عناصر را ثبت میکنند—یعنی نحوه ارتباط اشیاء با یکدیگر |
| نمودارهای رفتاری | بر نحوه تعامل عناصر، تغییر وضعیت و پردازش رفتار در طول زمان تمرکز دارند |
💡 اصل کلیدی: یک مدل UML از یک یا چند نمودار تشکیل شده است. هر نمودار یک دید یا یک علاقه خاص به سیستم مدلشده را نشان میدهد.دیدیاعلاقهدر سیستم مدلشده وجود دارد. عناصر فردی اغلب در چند نمودار ظاهر میشوند.
🔷 نمودارهای ساختاری
نمودارهای ساختاری معماری ثابت سیستم شما را مدل میکنند—یعنی «چه» و نه «چگونه».
1. نمودارهای کلاس
هدف: کلاسهای مدل، رابطها و روابط ثابت آنها.
عناصر کلیدی:
-
کلاسهایی با ویژگیها و عملیات
-
رابطها و روابط پیادهسازی
-
وابستگیها، تجمیعها، ترکیبها و کلیسازیها
-
modifierهای دیداری (
+,-,#,~) -
مشخصات چندگانگی (
1,0..*,1..5)
مثال استفاده:زمان استفاده:
استایلهای کلاس و انواع آن
این نمودار از استایلها استفاده میکند (که با متن داخل پرانتز زاویهدار مشخص شدهاند، مانند <<entiti>>) برای دستهبندی نقش هر کلاس:
-
کلاسهای مرزی (
<<مرزی>>):اینها تعامل بین سیستم و اکتورهای آن (کاربران یا سیستمهای خارجی) را مدیریت میکنند. -
مثالها:
پنجرهی کنسولوجعبهی پیام. -
کلاسهای کنترل (
<<کنترل>>):اینها هماهنگی، تراکنشها و جریان منطق کاربردی برنامه را مدیریت میکنند. -
مثالها:
متناظر رسموکنترلکنندهی داده. -
کلاسهای موجودیت (
<<موجودیت>>):اینها دادههای اصلی یا اطلاعات پایداری که سیستم پیگیری میکند را نمایندگی میکنند. -
مثالها:
چارچوب,پنجره,رویداد,شکل,دایره,مستطیل,چندضلعی، ونقطه. -
کلاس مجازی: این
شکلکلاس مفهومی مجازی را نشان میدهد. به عنوان یک طرح اصلی برای شکلهای خاص عمل میکند و مستقیماً نمیتوان آن را به صورت مستقل ایجاد کرد.
ساختار یک کلاس
یک جعبه کلاس استاندارد UML به بخشهای مختلف تقسیم میشود. با نگاه به کلاس دایره کلاس به عنوان مثال:
-
نام کلاس: در بخش بالایی قرار دارد (
دایره). -
ویژگیها: در بخش میانی قرار دارد و نشاندهنده فیلدهای داده است.
-
-شعاع : float(علامت منهای-نشاندهنده ویژگی خصوصی است). -
-مرکز : عدد صحیح بدون علامت -
عملیات (روشها): در بخش پایینی قرار دارد و نشاندهنده رفتارها یا توابع است.
-
+area(در شعاع : عدد اعشاری) : عدد اعشاری(علامت مثبت+نشاندهنده یک روش عمومی است). -
+محیط(),+تنظیم مرکز(), و+تنظیم شعاع().
رابطهها و ارتباطات
خطوط و فلشهای متصلکننده کلاسها نحوه تعامل و وابستگی آنها به یکدیگر را تعریف میکنند:
کلیتر شدن (ارثبری)
با یک خط پررنگ و یک سر فلش خالی که به سمت کلاس والد اشاره میکند. این نشاندهنده رابطهای از نوع «یک نوع از» است که در آن کلاس فرزند ویژگیها و رفتارهای کلاس والد را ارث میبرد.
-
پنجرهازچارچوب. -
پنجره کنسولوجعبه محاورهازپنجره. -
دایره,مستطیل, وچندضلعیاز کلاس مجازی ارث ببرندشکل(مثلاً یک دایره یک شکل).
ترکیب
با یک خط پیوسته با یک مربع خالی در انتهای مخزن. این نشاندهنده رابطهای کل-جزئی یا “دارای-یک” کمرنگ است که در آن فرزند میتواند به صورت مستقل از والد وجود داشته باشد.
-
پنجرهترکیب میشودشکل(چندگانگی1تا*). یکپنجرهمیتواند چندین (*) شکلها را شامل شود، اما اگر پنجره بسته شود، شکلها خود میتوانند به طور مفهومی در حافظه یا زمینهای دیگر وجود داشته باشند.
ترکیب
با یک خط پیوسته با یک مربع پر (سیاه) در انتهای مخزن. این نشاندهنده رابطهای قوی “دارای-یک” با عمر همزمان است—اگر مخزن نابود شود، قطعات نیز نابود میشوند.
-
دایرهازنقطهشیها (چندگانگی1به*). یک دایره نمیتواند بدون مرکز یا نقاط مرزی وجود داشته باشد؛ از بین بردن دایره، این مراجع خاص به نقاط را نیز از بین میبرد.
وابستگی
با یکپیکان نقطهچین. نشان میدهد که یک کلاس به کلاس دیگر وابسته است، به این معنا که تغییر در کلاس هدف ممکن است بر کلاس منبع تأثیر بگذارد.
-
پنجرهوابسته بهرویداد(که با پیکان نقطهچین به سمترویداد). پنجره به فعالسازیهای رویداد وابسته است تا عملیاتی مانندhandleEvent().
وابستگی
با یک خط ساده و پررنگ نشان داده میشود. نشاندهنده رابطه ساختاری است که در آن اشیاء یک کلاس به اشیاء کلاس دیگر متصل میشوند.
-
جعبه محاورهباکنترلکننده داده، به این معنا که با یکدیگر ارتباط برقرار میکنند تا اطلاعات را منتقل کنند یا رفتار خود را هماهنگ کنند.
عناصر مستندسازی
-
یادداشت: نمودار یک جعبه یادداشت با گوشه تا شده دارد که با خط نقطهچین به
پنجرهکلاس متصل است. این جعبه زمینه قابل فهم برای انسان ارائه میدهد:«پنجره اصلی برنامه»

-
طراحی معماری نرمافزار شیءگرا
-
مستندسازی مدلهای حوزهای
-
تولید استخوانهای کد
2. نمودارهای مؤلفه
هدف: نشان دادن سازمانبندی و وابستگیهای واحدهای پیادهسازی.
عناصر کلیدی:
-
مؤلفهها (با استایلبندی به عنوان
«مؤلفه») -
رابطههای ارائهشده/مورد نیاز (نماد کشیدهشده کروی-شیاری)
-
اتصالات مونتاژ و روابط وابستگی
-
موارد (خروجیهای کامپایل شده: JARها، DLLها، اجراییها)
استفاده نمونه:زمان استفاده:
مؤلفهها و مرزهای مدولار
در هسته این نمودار مفهوم مؤلفه است، یک واحد مستقل و مدولار از سیستم که محتوای خود را پوشش میدهد و رفتار خود را از طریق رابطهای تمیز نشان میدهد. مرز بزرگ خارجی نشاندهنده مؤلفه اصلی است که به عنوان یک زیرسیستم یا ظرف عمل میکند.ترمینال مؤلفه، که به عنوان یک زیرسیستم یا ظرف عمل میکند. درون این ظرف مؤلفههای داخلی کوچکتر و تخصصیتر قرار دارند—به طور خاص بررسی ایمنی, کارکنان, عیب, و نقشه. هر یک از این واحدهای داخلی یک قطعه مدولار نرمافزار یا منطق مدیریت داده را نشان میدهد که به همکاری با یکدیگر، مسئولیتهای ترمینال را انجام میدهند.
رابطهها به عنوان قراردادها
مؤلفهها به طور مستقیم منطق داخلی خود را نمایش نمیدهند؛ بلکه از طریق رابطهای بهخوبی تعریف شده که به عنوان قراردادهای معماری عمل میکنند، با یکدیگر تعامل دارند.
-
رابطههای ارائهشده:با نمادی مانند «لولیپاپ» یا دایره نشان داده میشوند، اینها خدمات، دادهها یا عملیاتی را نشان میدهند که یک مؤلفه پیادهسازی میکند و به محیط اطراف ارائه میدهد. به عنوان مثال، مؤلفه خارجی Terminal رابطهای ارائهشده خارجی مانندوضعیت, جزئیات، وآیتم بررسی، که نشان میدهد مشتریان خارجی چه چیزی را از آن درخواست میکنند.
-
رابطههای مورد نیاز:با نمادی مانند «پریز» یا نیمدایره نشان داده میشوند، اینها خدمات یا دادههایی را مشخص میکنند که یک مؤلفه از موجودیت دیگری برای عملکرد صحیح نیاز دارد. در سمت راست نمودار، مؤلفه Terminal به طور مشخص رابطهای مورد نیاز برایحساب وشناسه بررسی، که وابستگیهای آن به زیرسیستمهای خارجی را نشان میدهد.
پورتها و سیمکشی داخلی
برای مدیریت جریان داده و کنترل در حالی که انکاپسلاسیون حفظ میشود، سیستم از پورتها و روابط تفویض استفاده میکند.
-
پورتها: مربعهای کوچکی که روی مرز مؤلفهها قرار دارند، نماینده پورتها هستند. آنها به عنوان نقاط تعامل متمایزی عمل میکنند که از طریق آنها ساختار داخلی مؤلفه با دنیای خارجی ارتباط برقرار میکند. پورتها به مؤلفه اجازه میدهند تا سیمکشی داخلی خود را از محیط خارجی جدا کند، به این معنی که مؤلفههای داخلی میتوانند جایگزین یا تغییر کنند بدون اینکه ظاهر مؤلفه والد نسبت به بیرون تغییر کند.
-
تفویض و مونتاژ: در داخل Terminal، خطوط این رابطها را به هم متصل میکنند تا مونتاژ ساختاری ایجاد شود. یک رابط ارائهشده روی پورت خارجی درخواستهای ورودی را مستقیماً به رابط ارائهشده یک مؤلفه داخلی تفویض میکند (همانطور که در مسیرهایوضعیت وجزئیات که به سمتبررسی ایمنی، در مقابل، مؤلفههای داخلی رابطهای نیازمند پریز خود را مستقیماً به رابطهای ارائهشده لولیپاپی مؤلفههای همسایه وصل میکنند. به عنوان مثال، مؤلفهبررسی ایمنی به رابطبررسیکننده که توسطکارکنان, که جزئیات عیب رابط ارائه شده توسط عیب, و مکان رابط ارائه شده توسط نقشه, که یک اکوسیستم داخلی به هم پیوسته اما به طور کمبندی شده ایجاد میکند.

-
برنامهریزی معماری سیستم ماژولار
-
مدیریت وابستگیهای ساخت
-
مستندسازی کتابخانههای مؤلفههای قابل استفاده مجدد
3. نمودارهای ساختار مرکب(افزوده شده در UML 2.0)
عناصر کلیدی:
-
اجزاء (ویژگیهای با روابط کل-جزء)
-
دریچهها (نقاط تعامل با رابطهای ارائه شده/نیازمند)
-
اتصالدهندهها (لینکهای زمان اجرا بین اجزاء)
-
رویدادهای همکاری
مثال استفاده: مدلسازی یک خودرو:
طبقهبندیکننده مخفی (کلاس)
مستطیل خارجی، طبقهبندیکننده حاوی را نشان میدهد، در این مورد، خودرو کلاس. در یک نمودار ساختار مرکب، این مرز به عنوان یک ظرف عمل میکند که پیکربندی زمان اجرا داخلی سیستم را مخفی میکند. این مرز زمینهای را تعریف میکند که در آن نمونههای فردی به همکاری میپردازند تا به هدف رفتاری گستردهتری برسند و پیچیدگی نحوه عملکرد یک «خودرو» به صورت داخلی را از موجودیتهای خارجی پنهان میکند.
اجزاء (ساختار داخلی)
مستطیلهای داخلی در محدوده خودرو نشاندهندهی اجزاء. یک جزء نقشی را که توسط مجموعهای از نمونهها در طول اجرای طبقهبندیکنندهی محتوی ایفا میکند، توضیح میدهد. به جای نمایش رابطهای استاتیک در زمان کامپایل (مانند یک دیاگرام کلاس استاندارد)، این اجزا نمونههای زمان اجرا را نشان میدهند که جایگاههای معماری خاصی را پر میکنند:
-
-t : ترانسمیشن: یک نمونه که نقش سیستم ترانسمیشن را ایفا میکند. -
-e : موتور: یک نمونه که نقش منبع قدرت موتور را ایفا میکند. -
-s : سیستم راهاندازی: یک نمونه که نقش مکانیزم راهاندازی را ایفا میکند.
نماد دو نقطه نشاندهندهی این است که اینها نقشهای ساختاری هستند که توسط کلاسهای مربوطه تعریف شدهاند و دقیقاً مشخص میکنند که چه مؤلفههایی باید در داخل یک خودروی عملیاتی وجود داشته باشند.
پورتها و مرزها
مربعهای کوچکی که در مرزهای خارجی طبقهبندیکننده و مرزهای داخلی اجزا قرار دارند، نشاندهندهی پورتها. پورتها نقاط تعامل متمایزی هستند که ساختار داخلی یک طبقهبندیکننده را از محیط خارجی آن جدا میکنند.
-
پورتهای خارجی در مرز خودرو—مانند
: چرخ,: دسته گاز, و: دسته راهاندازی—نشاندهندهی نحوهی تعامل خودرو با دنیای خارجی یا محیط فیزیکی است بدون اینکه نشان دهد کدام اجزای داخلی این تعاملات را انجام میدهند.کداماجزای داخلی این تعاملات را پردازش میکنند. -
پورتهای درونی اجزا (مانند پورتهای بلوکهای ترانسمیشن یا موتور) نحوهی ارتباط این زیرسیستمها با یکدیگر یا با مرز والد را کنترل میکنند.
اتصالدهندهها و سیمکشی داخلی
خطوط پیوستهی متصلکنندهی پورتها، نشاندهندهی اتصالدهندهها. اتصالدهندهها مسیرهای ارتباطی بین اجزا یا بین یک جزء و یک پورت خارجی در زمان اجرا را تعریف میکنند.
-
اتصالدهندههای تفویضی: یک پورت خارجی مخزن را مستقیماً به یک پورت داخلی یک جزء متصل میکند. به عنوان مثال، پورت خارجی
: چرخپورت به طور مستقیم به داخل گیربکس, و بخش خارجی: دسته چرخبه طور مستقیم به داخل سیستم راهاندازی. این امر تضمین میکند که محرکهای خارجی به طور بدون درز به عملگر داخلی صحیح تفویض شوند. -
اتصالدهندههای مونتاژ: قطعات داخلی را به هم متصل میکند تا همکاری ممکن شود. اتصال بین گیربکس و موتور نشان میدهد که این دو نقش متمایز اجرایی به طور مستقیم سیگنالها، دادهها یا نیروی مکانیکی را مبادله میکنند تا خودرو به عنوان یک واحد یکپارچه عمل کند.

زمان استفاده:
-
مستندسازی الگوهای طراحی
-
مدلسازی همکاریهای داخلی پیچیده
-
پلزدن بین طراحی کلاس و پیادهسازی مؤلفه
4. نمودارهای اجرایی
هدف: نقشهبرداری اشیاء نرمافزاری به محیطهای اجرایی سختافزاری.
عناصر کلیدی:
-
گرهها (دستگاهها، محیطهای اجرایی)
-
اشیاء (واحدهای قابل اجرای)
-
مسیرهای ارتباطی بین گرهها
-
مشخصات اجرایی (جزئیات پیکربندی)
مثال استفاده:زمان استفاده:
گرهها و زیرساخت فیزیکی
برخلاف نمودارهای طراحی منطقی که ساختار کد یا ساختار کلاسها را مدل میکنند، نمودار اجرایی بر روی توپولوژی سختافزاری تمرکز دارد. بلوکهای اصلی ساختاری عبارتند ازگرهها، که به صورت مکعبهای سهبعدی به نمایش درمیآیند. گرهها منابع محاسباتی فیزیکی یا محیطهای اجرایی را نشان میدهند که در آنها عناصر نرمافزاری واقعاً اجرا میشوند:
-
<<پردازنده>>گرهها: مکعبهایی که با<<پردازنده>>(مانند سرور کش, سرور اصلی، و سرور بلوکها) گرههایی را نشان میدهند که دارای ظرفیت محاسباتی، حافظه و قدرت پردازشی هستند و قادر به اجرای باینریهای نرمافزاری میباشند. -
<<شبکه>>گرهها: مکعب دراز شکلی که بر روی آن نوشته شده شبکه محلی مسیر ارتباطی یا زیرساخت مسیریابی را نشان میدهد، نه یک کامپیوتر فردی. این مورد نشاندهنده ساختار فیزیکی است که به پردازندههای متصل شده امکان میدهد جریان بستههای داده را مبادله کنند. -
گرههای دستگاه: گرههای بدون استریوتایپ مانند اینترنت و بانک مودم اجزای سختافزاری مرزی یا زیرساخت فیزیکی خارجی را نشان میدهند که برای هدایت ترافیک خارجی به محیط سیستم اصلی ضروری هستند.
ارتباطات و مسیرهای ارتباطی
خطوط پررنگی که مکعبهای سهبعدی را به هم متصل میکنند، نشاندهندهارتباطات. در یک نمودار اجرایی، این ارتباطات مسیرهای فیزیکی ارتباطی، اتصالات شبکه یا اتصالات سختافزاری بین گرهها را نشان میدهند.
-
خط بین اینترنت و بانک مودمنشاندهنده نقطه ورود دادههای عمومی خارجی به بسته سختافزاری است.
-
ارتباطی که از بانک مودم به سمت پایین به سرور کشمسیریابی فیزیکی ترافیک ورودی را تا لایه کش حاشیهای نشان میدهد.
-
ارتباطاتی که بین سرورهای کش و زیربنای سرور اصلی خوشه به سمت شبکه محلینحوه ارتباط مؤلفههای داخلی از طریق زیرساخت مشترک باند بالا و اتصالات شبکه محلی یا کلید شبکه را تعریف میکنند.
لایهبندی توپولوژیک و پشتیبانی
چیدمان گرهها در نمودار به طور صریح توپولوژی اجرایی و انتخابهای طراحی معماری برای دستیابی به دسترسی بالا و توزیع بار را نشان میدهد.
-
لایه کش حاشیهای: در زیر سختافزار مودم نقطه ورود قرار دارند دو گره مجزا و موازی سرور کشگرهها. این پیکربندی به صورت بصری یک لایه حاشیهای پشتیبان را نشان میدهد که برای توزیع بار ترافیک ورودی و کش کردن داراییها قبل از رسیدن درخواستها به زیرساخت عمیق طراحی شده است.
-
مزرعه سرور داخلی: در پایین بسته قرار دارد و از طریق شبکه محلی، یک خوشه سرورهای اصلی است. تفاوت بین سرور اصلی و ژنریک مجاور سرور گرهها به صورت بصری یک طرح معماری ماستر-رپلیکا یا اولویت-ثانویه را نشان میدهند، که اطمینان حاصل میکند که حفظ دادهها و بارهای محاسباتی سنگین به طور ایمن در محیط مرکز داده داخلی هماهنگ شوند.
هدف: مدل سازی ساختار داخلی طبقهبندیها و الگوهای پیچیده.
-
برنامهریزی زیرساخت سیستم
-
مستندسازی معماریهای توزیعشده
-
تعیین استراتژیهای فعالسازی جایگزین و تکرارپذیری
5. نمودارهای بسته
هدف: سازماندهی و مدیریت نامفضاهای از طریق گروهبندی منطقی.
عناصر کلیدی:
-
بستهها (مستطیلهایی با تبها)
-
رابطههای وارد کردن/دسترسی (
«وارد کردن»,«دسترسی») -
رابطههای ادغام (
«ادغام») -
دیدهشدن (
+عمومی،-خصوصی)
مثال استفاده:
مرزهای زیرسیستم و بسته
این نمودار به طور قابل توجهی از نمادگذاری «پوشه» برای نمایش گروهبندیهای منطقی عناصر طراحی استفاده میکند.
-
زیرسیستم: پوشه بزرگ خارجی که به صورت استاندارد به عنوان
<<زیرسیستم>> مدیریت سفارشاتیک واحد رفتاری اصلی و مجزا از سیستم فیزیکی را نشان میدهد. به عنوان یک ظرف سطح بالا عمل میکند که مؤلفهها و بستههای مرتبطی را که برای اجرای مدیریت سفارشات لازم است، گروهبندی میکند. -
بسته: پوشههای کوچک داخل و خارج از زیرسیستم (مانند UI, پردازش سفارشات, و مدیر رابط کاربری) بستههای استاندارد هستند. برای گروهبندی عناصر در گروههای قابل مدیریت، ایجاد نامفضاها و تعیین مرزهای دید در معماری استفاده میشوند.
وابستگیها و لایهبندی
پیکانهای خطچین نشاندهنده وابستگیها، که نشان میدهد تغییری در یک بسته (مقصد) ممکن است بر عملکرد بسته مبدأ (منبع) تأثیر بگذارد.
-
وابستگیهای داخلی: درون زیرسیستم مدیریت سفارشات، لایهبندی معماری به صورت واضح از بالا به پایین دیده میشود. بسته UI وابسته به پردازش سفارشات، که خود به نوبه خود وابسته به ماشین حساب قیمت و ذخیرهسازی خارجی است. این موضوع جریان معماری را نشان میدهد که در آن عناصر ارائه سطح بالاتر به منطق کسبوکار اصلی و لایههای دسترسی به دادهها وابسته هستند.
-
وابستگی به بسته خارجی: بستهها میتوانند همچنین به عناصر خارج از مرز زیرسیستم خود وابسته باشند. به عنوان مثال، بسته UI بسته وابستگی به خارجی داردمدیر رابط کاربری. به همین ترتیب، بستههایذخیرهسازی تصادفی و ذخیرهسازی جریانی بستههای پایینی از مرز زیرسیستم عبور میکنند تا به ساختارهای داده خارجی وابسته شوند، که نشان میدهد زیرسیستم چگونه در یک اکوسیستم نرمافزاری بزرگتر یکپارچه میشود.
مجردسازی و ارثگیری (کلیسازی)
این نمودار از سبکهای ویژه و فلشهای رابطه برای نشان دادن الگوهای طراحی مجازی که برای معماری ماژولار به کار گرفته شدهاند، استفاده میکند.
-
بستههای مجازی در مقابل بستههای واقعی: بستههای حاوی عناصر مجازی یا ساختاری شبیه به رابط با نامهای ایتالیک نشان داده میشوند (مانندذخیرهسازی خارجی و مدیریت ذخیرهسازی). در مقابل، بستههای حاوی پیادهسازی کدهای عملیاتی، مانندانبار و ذخیرهسازی فایل از متن استاندارد استفاده میکنند تا نشان دهند که بستههای واقعی هستند.
-
کلیسازی: با خط پیوسته و مثلث باز و خالی که به بسته والد اشاره دارد نشان داده میشود. این امر نشاندهنده رابطه ارثگیری یا پیادهسازی است. در داخل زیرسیستم،ذخیرهسازی تصادفی و ذخیرهسازی جریانی خصوصیسازی یا پیادهسازی رابط مجازیذخیرهسازی خارجی را انجام میدهند. خارج از زیرسیستم، بستههای واقعیانبار و ذخیرهسازی فایل بستهها به سمت مفهوم کلیتر و انتزاعی بالا میروند مدیریت ذخیرهسازی بسته، نشان میدهد که چگونه رفتار چندشکلی و طبقهبندی ساختاری میتوانند در سطح بسته مدلسازی شوند.

-
زمان مناسب استفاده:
-
مدیریت پایگاههای کد بزرگ
-
تعیین مرزهای ماژول
-
کنترل وابستگیهای کامپایل
6. نمودارهای شیء
هدف: نمایش تصاویر لحظهای از نمونهها و ارتباطات آنها در یک لحظه خاص.
عناصر کلیدی:
-
شیها (نامهای زیرخطدار:
myCar:Car) -
ارتباطات بین نمونههای شیء
-
مقادیر ویژگیها در حین اجرا
مثال کاربرد:
شیها و نمونههای واقعی
برخلاف نمودارهای کلاس که پیکربندیهای انتزاعی و سطح طرحواره را نشان میدهند، نمودار شیء نمونههای واقعی که در حافظه زنده هستند را ثبت میکند. شیها با مستطیلها نمایش داده میشوند و نامهای آنها همیشه زیرخطدار هستند تا نشاندهنده ساختار شی باشند.
-
شیهای نامدار: اینها از سینتکس پیروی میکنند
نام_نمونه : نام_کلاس. به عنوان مثال،c : شرکتنمونه خاصی از شرکت با نام «c» را نشان میدهد، وp : فردنمونه خاصی از فرد با نام «p» را نشان میدهد. -
اشیاء ناشناس: هنگامی که شناسهی خاص نمونه حذف شده یا در مورد مربوطه اهمیت ندارد، فقط نام کلاس ارائه میشود که با دو نقطه شروع میشود (مثلاً،
: اطلاعات تماس). این نشان میدهد که یک نمونه واقعی از اطلاعات تماس وجود دارد و به ساختار متصل است، اما در این زمینه نیازی به نام متغیر منحصر به فرد نیست.
حالت و مقادیر ویژگیها
قسمت پایین مستطیل شیء حالت خاص آن را شامل میشود که توسط مقادیر مشخصی که در آن لحظه به ویژگیهای آن اختصاص داده شدهاند، تعریف میشود. به جای فقط فهرست کردن انواع داده، این ورودیها از فرمت تخصیص ویژگی = مقدار استفاده میکنند تا واقعیت را منعکس کنند:
-
نمونه دپارتمان
d1مقدار ویژگی را نگه میداردنام = فروش. -
نمونه دیگری از دپارتمان
d2مقدار را نگه میداردنام = تحقیق و توسعه. -
نمونه فرد
pمجموعهای کامل از دادههای حالت را نگه میدارد که یک پروفایل خاص را ترسیم میکند:نام = دریک,کد کارمند = D-12821, وعنوان = مدیر.
لینکها و روابط
خطوط پررنگی که اشیاء را به هم متصل میکنند، نشاندهندهی لینکها. یک ارتباط نمونهای ملموس از یک ارتباط تعریفشده بین کلاسها است. اگر یک نمودار کلاس بگوید که شرکتها دپارتمانها دارند، نمودار شیها ارتباطات واقعی در زمان اجرا بین آنها را نشان میدهد.
-
نمونه شرکت
cبه طور فعال به نمونههای دپارتمان متصل استd1(فروش) وd2(توسعه و تحقیق). -
این نمودار همچنین اتصالات سلسله مراتبی نمونهها را نشان میدهد، جایی که
d1 : دپارتمان(فروش) به یک نمونه زیردپارتمان متصل میشود که همچنان به عنوان دپارتمان تعریف شده است (نام = فروش آمریکای شمالی). -
در نهایت، نمونه فرد
p(دِرِک) به نمونه دپارتمان فروش آمریکای شمالی متصل است، در حالی که همزمان به یک نمونه ناشناس: اطلاعات تماسمتصل است که آدرس فیزیکی او را شامل میشود.

زمان استفاده:
-
اعتبارسنجی طراحیهای نمودار کلاس
-
اشکالزدایی از روابط پیچیده شیها
-
نمایش حالتهای نمونهای در زمان اجرا
🔶 نمودارهای رفتاری
نمودارهای رفتاری جنبههای پویا—یعنی نحوه رفتار سیستم در طول زمان—را مدل میکنند.
7. نمودارهای فعالیت
هدف: مدلسازی جریانکارها، فرآیندهای کسبوکار و منطق الگوریتمی.
عناصر کلیدی:
-
اقدامات (مستطیلهای گرد)
-
گرههای کنترلی: اولیه، تصمیمگیری، ادغام، شاخهبندی، اتصال، نهایی
-
گرههای شیء و پینها
-
بخشبندیها (شیملاینها) برای تخصیص مسئولیتها
-
مدیریت خطاها و مناطق قابل قطع شدن
مثال استفاده: جریان کار پردازش سفارش
سازماندهی ساختاری (شیملاینها و بخشبندیها)
نمودار به صورت عمودی در کنارههای بزرگی سازماندهی شده است که به طور متناوب به عنوانشیملاینها یا بخشبندیها. این مرزها مسئولیتهای اقدامات موجود درون آنها را دستهبندی میکنند و مراحل را به نقشها یا واحدهای تجاری خاص نسبت میدهند:
-
رابط فروش مشتری:زیرساخت زنگزنی مشتری را در بر میگیرد و فرآیند مواجهه با مشتری را مدیریت میکند، شامل آغاز کار مشتری، مسیریابی جایگزین و نهایتاً ارائه نهایی.
-
مالک پیشنهاد: برنامهریزی اصلی، تحلیل عملیاتی و تهیه ساختارهای دادهای رسمی پیشنهاد را مدیریت میکند.
-
مالک پیشنهاد قیمت: صرفاً بر ارزیابی مالی و آمادهسازی معیارهای خاص پیشنهاد قیمت تمرکز دارد.
جریان کنترل و وضعیتهای اقدام
اجرای مراحل به صورت تدریجی و پروتکلی توسط گرههای کنترلی و مسیرهای جهتدار هدایت میشود.
-
گره اولیه: با دایره سیاه جامد در بالا نشان داده میشود، این گره نقطه شروع کل فرآیند فعالیت را نشان میدهد.
-
اقدام: مستطیلهای گرد (مثلاً ایجاد تماس, جستجوی جایگزین, و جمعآوری اطلاعات اضافی) نشاندهنده مراحل یا وظایف تکی و غیرقابل تجزیه در دنباله اجرایی هستند.
-
جریان کنترل: پیکانهای پررنگ متصلکننده عناصر، پیشرفت توالیای فرآیند کار را تعیین میکنند و بهطور دقیق نشان میدهند که کدام عمل باید پایان یابد تا عمل بعدی شروع شود.
-
گره پایان فعالیت: نماد هدف (دایره پررنگ درون حلقه خالی) در پایین، نقطه پایان مطلق اجرای کل فرآیند را مشخص میکند.
مسیریابی و منطق محافظ (گرههای تصمیمگیری)
نمادهای مثلثی شکل نشاندهندهاندگرههای تصمیمگیری, که شاخهبندی شرطی در فرآیند کار را مدل میکنند.
-
مسیرهای ورودی کنترل به مسیرهای خروجی متعدد و متقابلمنفی بر اساس ورودیهای خاص تقسیم میشوند.
-
شرایطی که تعیین میکنند کدام مسیر انتخاب شود، در براکتهای مربعی قرار دارند، که به آنها شرایط محافظ (مانند
[پذیرفته شده],[رد شده], و[اتصال با تأمینکننده دیگر یا تغییر نیازها]). فرآیند این شرایط را در حین اجرا ارزیابی میکند تا اجرای فرآیند را در مسیر عملیاتی مناسب هدایت کند.
پردازش موازی (گرههای شاخهای و اتصالی)
نوارهای سیاه پررنگ در نمودار به عنوان نقاط هماهنگی عمل میکنند تا جریانهای موازی یا همزمان اجرا را مدیریت کنند.
-
گره شاخهای (که در نشانگر نمودار به عنوان گره جریان علامتگذاری شده است): یک جریان کنترل ورودی وارد نوار میشود و به چندین رشته مستقل و موازی اجرا تقسیم میشود. در اینجا، پس از ایجاد طرح پروژه، فرآیند شاخهای میشود تا صاحب پیشنهاد بتواند تحلیل و برنامهریزی تحویل را انجام دهد، در حالی که صاحب پیشنهاد قیمت بهطور همزمان تهیه پیشنهاد قیمت را انجام میدهد.
-
گره اتصال: نوار هماهنگی که چندین مسیر موازی را دوباره به یک جریان کنترل تبدیل میکند. فرآیند نمیتواند از گره اتصال عبور کند مگر اینکههمه جریانهای موازی ورودی بهطور موفق به نوار رسیده باشند، که اطمینان حاصل میشود که تهیه پیشنهاد قیمت و طراحی پیشنهاد بهطور کامل تکمیل شدهاند تا بتوان به تهیه بسته نهایی ادامه داد.
یکپارچهسازی دادهها (گرههای شیء)
مستطیلهای استاندارد نشاندهندهاندگرههای شیء, که جریان داده را به نمودار فعالیت مبتنی بر کنترل معرفی میکنند.
-
گرههای شیء نمونههای خاصی از دادهها یا اشیاء فیزیکی را که توسط اقدامات تولید یا مصرف میشوند، نشان میدهند، با استفاده از
نام نمونه : نام کلاسسنت (مثلاً،یک پیشنهاد : پیشنهادویک برنامه : برنامه پروژه تحویل). -
به صورت صریح علامتگذاری شده
ایجاد کردنفیلهایی نشان میدهند که یک عمل چه زمانی یک ساختار داده را ایجاد یا بهروزرسانی میکند، و نحوه جریان دادهها از وظیفهای به وظیفه دیگر را در کنار اجرای عملیاتی نشان میدهند.

زمان مناسب استفاده:
-
مستندسازی فرآیندهای کسبوکار
-
مدلسازی پیادهسازی موارد استفاده
-
تعیین الگوریتمهای پیچیده
8. نمودارهای ماشین حالت (Statecharts)
هدف: مدلسازی چرخه زندگی و رفتار وابسته به حالت اشیاء.
عناصر کلیدی:
-
حالتها (مستطیلهای گرد با فعالیتهای ورود/خروج/انجام)
-
انتقالها (تریگر[گارد]/اثر)
-
حالتهای مجازی: اولیه، انتخاب، شاخهای، ادغام، تاریخچه، پایان
-
حالتهای مرکب و مناطق متعامد
مثال کاربرد: تنظیم تلفن
حالتها و شرایط سیستم
این نمودار رفتار یک سیستم—به طور خاص تنظیم تلفن—را با نقشهبرداری از موقعیتها یا شرایط گسسته مختلف آن ثبت میکند.
-
حالتها: مستطیلهای گرد حالتها را نشان میدهند (مثلاً، بیفعال, صدای دیال, در حال دیال کردن, در حال اتصال, و اتصال برقرار شد). وضعیت نشاندهنده یک دوره در چرخه زندگی یک شی است که در آن شرایطی را برآورده میکند، فعالیتی انجام میدهد یا منتظر وقوع یک رویداد است.
-
حالت مجازی اولیه: دایره سیاه رنگ در سمت چپ نشاندهنده نقطه شروع ماشین حالت است. این یک حالت مجازی است و نه یک حالت واقعی، و تنها به عنوان یک نشانگر برای حالت فعال پیشفرض هنگام ایجاد شی عمل میکند (بیفعال).
-
حالت نهایی: نماد بولسای (هدف) در سمت راست نشاندهنده پایان اجرای ماشین حالت است و نشان میدهد که شی چرخه زندگی خود را تمام کرده است.
انتقالها و مسیریابی مبتنی بر رویداد
خطوط جهتدار که حالتها را به هم متصل میکنند، انتقالها, که حرکت از یک حالت به حالت دیگر را به عنوان پاسخ به یک فعالساز خاص نشان میدهند.
-
انتقالهای استاندارد: توسط رویدادهای خاص، مانند عملکرد کاربر یا پاسخ سیستم، فعال میشوند که در طول خطوط ذکر شدهاند. به عنوان مثال، حرکت از بیفعال به صدای دیال زمانی رخ میدهد که رویداد
onHookفعال شود، و حرکت از صدای دیال به در حال دیال کردن هنگامی که یکعدد(n)رویداد دریافت میشود. -
انتقالهای خودی: یک پیکان انتقال که از یک حالت خارج شده و مستقیماً به همان حالت بازگشت میکند (همانطور که در در حال دیال کردن حالت با تریگر
عدد(n)این نشان میدهد که رویداد پردازش شده و وضعیت داخلی حالت بهروزرسانی میشود (مثلاً ثبت یک رقم جدید که دیال شده است) بدون اینکه شیء از حالت خارج شود یا وضعیت عملیاتی کلی آن تغییر کند.
مسیرهای جایگزین و مدیریت خطاها
ماشینهای حالت در نمایش منطق رفتاری و شاخهبندی خطاها بر اساس شرایط متفاوت در حین اجرای برنامه بسیار ماهرند.
-
مسیر اجرای موفق: لولهای افقی مرکزی مسیر بهینه را نشان میدهد: بیفعال $rightarrow$ صدای دیال $rightarrow$ در حال دیال کردن $rightarrow$ در حال اتصال $rightarrow$ در حال زنگ زدن $rightarrow$ اتصال برقرار شد $rightarrow$ قطع شده.
-
حالتهای مدیریت استثنا و خطا: سیستم با شاخهزدن به حالتهای اختصاصی مدیریت، به شکستها یا تأخیرها پاسخ میدهد. اگر شماره در حین اتصال مشغول باشد، سیستم حالت
شماره مشغولانتقال برای ورود به صدای مشغول حالت. اگر کاربر در حین دیال کردن مدت زمان طولانیای متوقف شود، یکزمانگذاریرویداد سیستم را به حالتی تغییر میدهدهشدار یا زمانگذاری حالت. اگر دنبالهای اشتباه شناسایی شود، یکشماره نامعتبرفعالساز سیستم را به حالتی هدایت میکندپیام ثبتشده حالت، که مطمئن میشود سیستم بهطور ایمن تمام موارد لبهای واقعی جهان را مدیریت میکند.

زمان استفاده:
-
مدلسازی سیستمهای توکار یا پیادهسازی پروتکلها
-
تعیین مدیریت حالت رابط کاربری
-
مستندسازی قوانین چرخه زندگی شیء
9. نمودارهای تعامل
چهار نوع نمودار بر جنبههای مختلف همکاری شیء تأکید دارند:
الف) نمودارهای توالی(رایجترین)
هدف: نشان دادن مبادله پیامهای مرتبشده زمانی بین خطوط زندگی.
عناصر کلیدی:
-
خطوط زندگی (خطوط نقطهچین عمودی)
-
پیامها (فیلهای جامد/نقطهچین با برچسبها)
-
رویدادهای اجرایی (میلههای فعالسازی)
-
ترکیب بخشها:
alt,opt,loop,par,break
استفاده از مثال:
خطوط زندگی و زمینههای اجرایی
نمودار از چپ به راست برای تعیین شرکتکنندگان خوانده میشود و از بالا به پایین برای نشان دادن گذر زمان.
-
خطوط زندگی: جعبههای در بالا که به خطوط عمودی نقطهچین متصل هستند، خطوط زندگی را نشان میدهند. این جعبهها شرکتکنندگان فردی در تعامل را مدل میکنند، با رعایت قاعده
نام_نمونه : نام_کلاسقاعده (مثلاًwindow : UI,aChain : HotelChain, وaHotel : Hotel). خط نقطهچین وجود آن شرکتکننده را در طول دنباله ردیابی میکند. -
نوارهای فعالسازی: مستطیلهای عمودی نازک و رنگی که روی خطوط زندگی قرار دارند، نشاندهنده یک فعالسازی (یا رویداد اجرایی) هستند. این نوارها دقیقاً نشان میدهند که یک شیء در حال اجرای فعال یک عملیات است یا در حال انتظار برای بازگشت یک فراخوانی زیرمجموعه نهفته است.
-
متوقف شده: نماد بزرگ «X» در پایین
window : UIخط زنده نشاندهنده نابودی یا پایان است و نشان میدهد که چرخه زندگی این شرکتکننده خاص به پایان رسیده و منابع آن آزاد شدهاند.
انواع پیامها و ارتباطات
ارتباط بین شرکتکنندگان با استفاده از فلشهای افقی که نشاندهنده پیامها هستند، مدلسازی میشود و به صورت ترتیبی با استفاده از سیستم شمارهگذاری سلسله مراتبی (مثلاً 1، 1.1، 1.1.1) مرتب میشوند.
-
پیامهای همزمان:خطهای پیوسته با سر فلش پیوسته (مثل
1: makeReservationو1.1: makeReservationنشاندهنده فراخوانیهای همزمان است. فرستنده اجرای خود را متوقف میکند و منتظر میماند تا شیء دریافتکننده فرآیند خود را تمام کند. -
پیامهای خودی:حلقه پیامی که از همان نوار فعالسازی شروع و به همان نوار پایان مییابد (مانند
1.1.1: available(roomId, date): isRoomاجرا شده توسطaHotelنماینده یکپیام خودی. این نشاندهنده اجرای یک روش داخلی است که در آن یک شی، یکی از عملیات خود را فراخوانی میکند. -
پیامهای ایجاد:خط نقطهچین با سر فلش باز که مستقیماً به جعبه شیء اشاره میکند (مانند پیام
1.1.2:به سمتaReservation : Reservationنماینده ایجاد شی است. این نشان میدهد که نمونهaHotelدر زمان اجرای دقیق، به صورت پویا شیaReservationرا در آن لحظه دقیق از دنباله اجرایی ایجاد میکند.
ترکیب بخشها و جریان کنترل
جعبههای مستطیلی بزرگ که بخشهایی از دنباله را احاطه میکنند،بخشهای ترکیبی, که از عملگرهای تعامل برای مدیریت منطق پیچیده، شاخهبندی و تکرار استفاده میکنند.
-
بخش حلقه: جعبه خارجی برچسبدار
حلقهبا شرط نگهبان[هر روز]نمایش تکرار است. تمام تعاملات داخل این جعبه به صورت مداوم برای هر روز مشخص شده در درخواست رزرو تکرار خواهند شد. -
بخش ترکیبی جایگزین (Alt): درون حلقه یک
altبخش (با توضیح «اگر» در نشانگر نمودار)، که شاخهبندی شرطی را مدیریت میکند. شرط نگهبان را ارزیابی میکند[اتاق = درست]. اگر شرط برقرار باشد، دنباله مسیر خاص داخل آن بلوک را اجرا میکند—ایجاد نمونهaReservationو سپس ارسال پیام2:برای ایجاد نمونهaNotice : تأییدیه. اگر شرط غلط بود، مسیر جایگزین (یا هیچ اقدامی) انجام میشد.
ب) نمودارهای ارتباطی
هدف: تأکید بر روابط بین اشیاء به جای زمانبندی پیامها.

عناصر کلیدی:
-
اشیاء به عنوان گرهها
-
ارتباطات با پیامهای شمارهدار و جهتدار
-
تمرکز بر «کی با کی صحبت میکند»
ج) نمودارهای مرور تعاملات
هدف: جریان سطح بالا کنترل با استفاده از نمادگذاری نمودار فعالیت.

عناصر کلیدی:
-
رویدادهای تعامل به عنوان گرههای فعالیت
-
تصمیم/ادغام برای شاخهبندی
-
شاخهسازی/ادغام برای موازیسازی
د) نمودارهای زمانی
هدف: مدلسازی محدودیتهای زمانی دقیق (سیستمهای زمان واقعی).

عناصر کلیدی:
-
خطوط زمانی وضعیت برای هر خط زنده
-
مقیاسهای زمانی و محدودیتها
-
پیکانهای پیام با نشانگرهای مدت زمان
زمان مناسب استفاده از تعاملات:
-
تعیین پیادهسازی موارد استفاده
-
اشکالزدایی از جریانهای پیچیده پیام
-
مستندسازی الگوهای استفاده از API
-
مدلسازی زمانبندی پروتکل زمان واقعی
۱۰. نمودارهای مورد استفاده
هدف: جمعآوری نیازهای عملکردی از دیدگاه یک عامل خارجی.
عناصر کلیدی:
-
موارد استفاده (دایرهها یا مستطیلهای طبقهبندی)
-
عاملان (شکلهای میلهای یا طبقهبندیها)
-
ارتباطات (عامل ↔ مورد استفاده)
-
رابطهها:
«شامل کردن»,«افزودن», تعمیم -
جعبه مرز سیستم
مثال استفاده: سیستم ATM

زمان استفاده:
-
استخراج نیازمندیها با ذینفعان
-
تعیین دامنه و مرزهای سیستم
-
برنامهریزی سناریوهای آزمون
🎯 انتخاب نمودار مناسب: راهنمای تصمیمگیری
| هدف | نمودار(های) پیشنهادی |
|---|---|
| طراحی ساختار کلاس | کلاس، شی، بسته |
| مدلسازی تعاملات در حین اجرا | دنباله، ارتباط |
| مستندسازی جریانهای کاری کسبوکار | فعالیت، مورد استفاده |
| تعیین چرخه زندگی شی | ماشین حالت |
| برنامهریزی نصب سیستم | نصب، مؤلفه |
| مدلسازی الگوهای داخلی پیچیده | ساختار ترکیبی |
| ثبت محدودیتهای زمان واقعی | نمودار زمانبندی |
| تعیین نیازمندیها | مورد استفاده، فعالیت |
🔑 اصول اصلی مدلسازی
-
شروع ساده کنید: با نوع نموداری شروع کنید که بهترین تطابق را با هدف فوری شما دارد.
-
تکرار کنید: مدلها را هنگامی که درک شما عمیقتر میشود، بهبود بخشید—هیچ نموداری در نسخه اولیه «نهایی» نیست.
-
مخاطب مهم است: سطح جزئیات را بر اساس خوانندگان تنظیم کنید (توسعهدهندگان در مقابل ذینفعان).
-
چشماندازها را ترکیب کنید: از چند نمودار برای روایت یک داستان کامل استفاده کنید (مثلاً: مورد استفاده → توالی → کلاس).
-
بهصورت فکری و آگاهانه گسترش دهید: از استایلها، مقادیر برچسبدار و پروفایلها برای نیازهای ویژه حوزه استفاده کنید—اما مقررات را مستند کنید.
-
خواندنی نگه دارید: جزئیات بیربط را حذف کنید؛ از یادداشتها برای زمینه تکمیلی استفاده کنید.
📌 به یاد داشته باشید: «UML یک زبان است، نه یک روششناسی.» این ابزار نمادگذاری ارائه میدهد—نه فرآیند. نمودارهایی را انتخاب کنید که ارتباط را روشن کنند، نه آنهایی که فقط چکباکسها را پر کنند.
نتیجهگیری
This post is also available in English, Español and Français.




