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

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

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

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

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

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

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

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

زمان استفاده:
-
استخراج نیازمندیها با ذینفعان
-
تعیین دامنه و مرزهای سیستم
-
برنامهریزی سناریوهای آزمون
🎯 انتخاب نمودار مناسب: راهنمای تصمیمگیری
| هدف | نمودار(های) پیشنهادی |
|---|---|
| طراحی ساختار کلاس | کلاس، شی، بسته |
| مدلسازی تعاملات در حین اجرا | دنباله، ارتباط |
| مستندسازی جریانهای کاری کسبوکار | فعالیت، مورد استفاده |
| تعیین چرخه زندگی شی | ماشین حالت |
| برنامهریزی نصب سیستم | نصب، مؤلفه |
| مدلسازی الگوهای داخلی پیچیده | ساختار ترکیبی |
| ثبت محدودیتهای زمان واقعی | نمودار زمانبندی |
| تعیین نیازمندیها | مورد استفاده، فعالیت |
🔑 اصول اصلی مدلسازی
-
شروع ساده کنید: با نوع نموداری شروع کنید که بهترین تطابق را با هدف فوری شما دارد.
-
تکرار کنید: مدلها را هنگامی که درک شما عمیقتر میشود، بهبود بخشید—هیچ نموداری در نسخه اولیه «نهایی» نیست.
-
مخاطب مهم است: سطح جزئیات را برای خوانندگان تنظیم کنید (توسعهدهندگان در مقابل ذینفعان).
-
چشماندازها را ترکیب کنید: از چند نمودار برای روایت یک داستان کامل استفاده کنید (مثلاً: مورد استفاده → توالی → کلاس).
-
بهصورت مسئلهای گسترش دهید: از استایلها، مقادیر برچسبدار و پروفایلها برای نیازهای ویژه حوزه استفاده کنید—اما مقررات را مستند کنید.
-
خواندنی نگه دارید: جزئیات بیربط را حذف کنید؛ از یادداشتها برای زمینه تکمیلی استفاده کنید.
📌 به یاد داشته باشید: «UML یک زبان است، نه یک روششناسی.» این ابزار نمادگذاری ارائه میدهد—نه فرآیند. نمودارهایی را انتخاب کنید که ارتباط را روشن کنند، نه آنهایی که فقط چکباکسها را پر کنند.

