مقدمه‌ای بر زبان مدل‌سازی یکپارچه (UML)

این زبان مدل‌سازی یکپارچه (UML)زبان مدل‌سازی است که می‌تواند برای هر هدفی استفاده شود. هدف اصلی UMLایجاد یک استاندارد برای تجسم طراحی یک سیستم است. این زبان بسیار شبیه به طراحی‌ها در سایر شاخه‌های مهندسی است.

UML یک زبان بصری است نه یک زبان برنامه‌نویسی. نمودارهای UML برای نمایش رفتار و ساختار یک سیستم استفاده می‌شوند. UML ابزاری برای مدل‌سازی، طراحی و تحلیل برای مهندسان نرم‌افزار، بازرگانان و معماران سیستم است. زبان مدل‌سازی یکپارچه به عنوان یک استاندارد توسط گروه مدیریت شیء (OMG)در سال 1997 تأسیس شد. از آن زمان، OMG مسئول آن بوده است. در سال 2005، سازمان بین‌المللی استانداردسازی (ISO) UML را به عنوان یک استاندارد پذیرفت. UML در طول زمان به‌روزرسانی شده و به طور منظم مورد بررسی قرار می‌گیرد.

UML چیست؟

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

این شامل انواع مختلفی از نمودارها است و شبیه به نقشه‌های استفاده شده در سایر حوزه‌ها است. نمودارهای UML به طور کلی مرزها، ساختار و رفتار یک سیستم و همچنین اشیاء موجود در آن را نشان می‌دهند.

اگرچه UML یک زبان برنامه‌نویسی نیست، ابزارهایی وجود دارند که با استفاده از نمودارهای UML کدهایی به زبان‌های مختلف تولید می‌کنند.

تاریخچه UML

UML از سردرگمی که پیرامون توسعه و مستندسازی نرم‌افزار وجود داشت، به وجود آمد. در طول دهه 1990، تکنیک‌های مختلفی برای نمایش و مستندسازی سیستم‌های نرم‌افزاری وجود داشت. در نتیجه، سه توسعه‌دهنده نرم‌افزار Rational در سال‌های 1994-1996 UML را ایجاد کردند. این زبان بعدها به عنوان یک استاندارد در سال 1997 شناخته شد و از آن زمان با تغییرات بسیار جزئی باقی مانده است.

آیا UML واقعاً ضروری است؟

  • برنامه‌های پیچیده نیازمند همکاری و برنامه‌ریزی تیم‌های مختلف هستند که نیاز به یک روش ارتباطی واضح و ساده بین آن‌ها دارد.
  • کد برای بازرگانان قابل درک نیست. در نتیجه، UML برای غیر برنامه‌نویسان ضروری می‌شود تا نیازهای اساسی، عملکرد و عملیات سیستم را درک کنند.
  • زمانی که تیم‌ها می‌توانند فرآیندها، تعاملات کاربر و ساختار ایستا سیستم را تجسم کنند، می‌توانند زمان زیادی را صرفه‌جویی کنند.

طراحی و تحلیل شیءگرا به UML مرتبط است. برای ایجاد نمودارها، UML اشیاء را گرفته و ارتباطاتی بین آن‌ها ایجاد می‌کند. در زیر برخی از نمونه‌های نمودارهای UML آورده شده است.

  • یک نمودار ساختاریویژگی‌ها یا ساختار ایستای یک سیستم را نشان می‌دهد. نمودارهای ساختاری نمایش داده می‌شوند. نمودارهای مؤلفه، نمودارهای شیء، نمودارهای کلاس و نمودارهای استقرار همه نمونه‌هایی از نمودارهای استفاده شده در توسعه نرم‌افزار هستند.
  • یک نمودار رفتاریویژگی‌ها یا رفتارهای پویا یک سیستم را نشان می‌دهد. نمودارهای رفتاری شامل می‌شوند. نمودارهای مورد استفاده، نمودارهای حالت، نمودارهای فعالیت و نمودارهای تعامل به شما کمک می‌کنند تا ایده‌های خود را تجسم کنید.

سلسله‌مراتب شماتیک طبق UML در شکل زیر نشان داده شده است.

مفاهیم کلیدی شیءگرا در UML

تحلیل و طراحی شیءگرا (OO)توسط UML جایگزین شده‌اند.

یک شیء از داده‌ها و متدهایی که آن را کنترل می‌کنند، تشکیل شده است. داده‌ها وضعیت فعلی شیء را نشان می‌دهند. یک کلاس نوعی شیء است که دارای سلسله‌مراتبی است که می‌تواند برای تقلید از سیستم‌های دنیای واقعی استفاده شود. سلسله‌مراتب از طریق وراثت بیان می‌شود و کلاس‌ها می‌توانند بسته به نیازها به روش‌های مختلفی به هم مرتبط شوند.

اشیاء موجودیت‌های دنیای واقعی هستند که در اطراف ما وجود دارند و UML می‌تواند اصول پایه‌ای مانند انتزاع، کپسوله‌سازی، وراثت و چندریختی را نمایندگی کند.

UML قادر به نمایندگی تمام مفاهیم موجود در تحلیل و طراحی شیءگرا است.

فقط مفاهیم شیءگرا در نمودارهای UML نمایندگی می‌شوند. در نتیجه، قبل از یادگیری UML، درک کامل از مفاهیم OO بسیار مهم است.

  • کلاس: یک کلاس نقشه‌راه، یعنی ساختار و عملکرد یک شیء را تعریف می‌کند و در UML استفاده می‌شود.
  • اشیاء: اشیاء به ما در تجزیه و مدولار کردن سیستم‌های پیچیده کمک می‌کنند. مدولار بودن به ما اجازه می‌دهد تا سیستم خود را به اجزای قابل فهم تقسیم کنیم و آن را به صورت قطعه به قطعه بسازیم. واحدهای پایه (بلوک‌های سازنده) یک سیستم اشیاء هستند که برای توصیف یک موجودیت استفاده می‌شوند.
  • وراثت: یک مکانیزم که به یک کلاس فرزند اجازه می‌دهد تا ویژگی‌های کلاس والد خود را به ارث ببرد.
  • انتزاع: یک روش که کاربر را از جزئیات پیاده‌سازی محافظت می‌کند.
  • کپسوله‌سازی: فرآیند جمع‌آوری داده‌ها و محافظت از آن‌ها در برابر دنیای خارج.
  • چندریختی: یک روش که به یک تابع یا موجودیت اجازه می‌دهد در چندین نسخه وجود داشته باشد.

اضافه‌ها در UML:

  • دامنه تعریف اصلی UML افزایش یافته و رویکردهای توسعه نرم‌افزار مانند Agile به آن اضافه شده است.
  • در ابتدا، UML به نه نمودار نیاز داشت. تعداد نمودارها در UML 2.x از 9 به 13 افزایش یافت. نمودار زمان‌بندی، نمودار ارتباط، نمودار نمای کلی تعامل و نمودار ساختار ترکیبی چهار نمودار جدید هستند. نمودار حالت در UML 2.x به نمودار ماشین حالت تغییر نام یافت.
  • اکنون می‌توان سیستم‌های نرم‌افزاری را با استفاده از UML 2.x به مؤلفه‌ها و زیرمؤلفه‌ها تجزیه کرد.

نمودارهای ساختاری UML

نمودار کلاس– نمودار کلاس پرکاربردترین نمودار UML است. این نمودار به عنوان پایه‌ای برای تمام سیستم‌های نرم‌افزاری شیءگرا عمل می‌کند. نمودارهای کلاس برای نمایش ساختار ایستای یک سیستم با نمایش کلاس‌ها، متدها و ویژگی‌های آن استفاده می‌شوند. نمودارهای کلاس همچنین به ما در تعیین ارتباطات بین کلاس‌ها یا اشیاء مختلف کمک می‌کنند.

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

نمودار شیء– یک گراف شیء می‌تواند به عنوان یک اسکرین‌شات از نمونه‌ها در یک سیستم و روابطی که بین آن‌ها وجود دارد، توصیف شود. از آنجا که نمودارهای شیء رفتار یک شیء را پس از ایجاد آن توصیف می‌کنند، ما قادر به مطالعه رفتار سیستم در یک لحظه خاص از زمان هستیم. یک نمودار شیء شبیه به یک نمودار کلاس است، به جز اینکه نمونه‌های کلاس‌ها در سیستم را نشان می‌دهد. ما با استفاده از نمودارهای کلاس، طبقه‌بندهای واقعی و روابط آن‌ها را توصیف می‌کنیم. از طرف دیگر، گراف‌های شیء نمونه‌های خاصی از کلاس‌ها و روابط بین آن‌ها را در یک نقطه زمانی نمایندگی می‌کنند.

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

نمودار استقرار– نمودار استقرار نموداری است که سخت‌افزار و نرم‌افزار یک سیستم را نشان می‌دهد. این نمودار به ما اطلاعاتی درباره مؤلفه‌های سخت‌افزاری که وجود دارند و همچنین مؤلفه‌های نرم‌افزاری که بر روی آن‌ها اجرا می‌شوند، می‌دهد. اطلاعات تولید شده توسط نرم‌افزار سیستم به عنوان آثار شناخته می‌شوند. این نمودارها بیشتر زمانی استفاده می‌شوند که نرم‌افزار بر روی دستگاه‌های مختلف با پیکربندی‌های مختلف استفاده، توزیع یا مستقر می‌شود.

نمودار بسته– نمودارهای بسته برای نشان دادن چگونگی ترتیب بسته‌ها و مؤلفه‌های آن‌ها استفاده می‌شوند. نمودارهای بسته به سادگی وابستگی‌های متقابل بسته‌های مختلف و همچنین ساختار داخلی بسته‌ها را نشان می‌دهند. بسته‌ها به سازماندهی نمودارهای UML به گروه‌های معنادار و درک نمودارها کمک می‌کنند. آن‌ها بیشتر برای نگهداری نمودارهای کلاس و نمودارهای مورد استفاده سازماندهی می‌شوند.

نمودارهای رفتاری UML

نمودار ماشین حالت– برای نمایش وضعیت یک سیستم یا بخشی از یک سیستم در یک نقطه خاص از زمان استفاده می‌شود. این یک نمودار رفتاری است که در آن رفتار با تعداد محدودی از انتقال‌های حالت نمایش داده می‌شود. ماشین‌های حالت و نمودارهای حالت نام‌های دیگری برای نمودارهای حالت هستند. این اصطلاحات اغلب به جای یکدیگر استفاده می‌شوند. به سادگی توصیف شده، یک نمودار حالت نمایشی بصری از رفتار پویا یک کلاس در واکنش به زمان و ورودی‌های خارجی متغیر است.

نمودار فعالیت– ما از نمودارهای فعالیت برای نشان دادن چگونگی کارکرد جریان کنترل یک سیستم استفاده می‌کنیم. نمودارهای فعالیت همچنین می‌توانند به مراحل مربوط به اجرای یک مورد استفاده اشاره کنند. نمودارهای فعالیت برای نمایش فعالیت‌های متوالی و همزمان استفاده می‌شوند. در نتیجه، نمودارهای فعالیت برای تجسم جریان کار استفاده می‌شوند. شرایط جریان و ترتیبی که در آن‌ها رخ می‌دهند، محور نمودارهای فعالیت هستند. نمودارهای فعالیت برای نمایندگی یا توصیف رویدادهایی که منجر به یک رویداد خاص می‌شوند، استفاده می‌شوند.

نمودار مورد استفادهبرای توصیف عملکرد یک سیستم یا یک مؤلفه از یک سیستم استفاده می‌شوند. آن‌ها به طور مکرر برای نمایش نیازهای عملکردی یک سیستم و تعاملات با عوامل خارجی (بازیگران) استفاده می‌شوند. یک مورد استفاده نموداری است که زمینه‌های مختلفی را که یک سیستم می‌تواند در آن‌ها به کار رود، نشان می‌دهد. نمودارهای مورد استفاده به ما یک نمای کلی از آنچه که یک سیستم یا عنصر یک سیستم انجام می‌دهد، بدون ورود به جزئیات پیاده‌سازی ارائه می‌دهند.

نمودار توالیبه سادگی تعاملات بین اشیاء را در یک سری نشان می‌دهد، یعنی ترتیب وقوع این تعاملات. یک نمودار توالی همچنین می‌تواند به عنوان نمودار رویداد یا سناریوی رویداد نامیده شود. نمودارهای توالی نشان می‌دهند که اجزای یک سیستم چگونه و به چه ترتیبی با یکدیگر کار می‌کنند. بازرگانان و مهندسان نرم‌افزار به طور مکرر از این نمودارها برای مستندسازی و درک نیازهای سیستم‌های جدید و موجود استفاده می‌کنند.

نمودار ارتباط (که به عنوان نمودارهای همکاری در UML 1.x نیز شناخته می‌شوند) برای نمایش انتقال متوالی اطلاعات بین اشیاء استفاده می‌شوند. اشیاء و روابط آن‌ها محور نمودارهای ارتباط هستند. نمودارهای توالی می‌توانند برای توصیف اطلاعات مشابه استفاده شوند، اما نمودارهای ارتباط اشیاء و ارتباطات را در حالت طبیعی خود نمایندگی می‌کنند.

نمودار زمان‌بندی – نمودارهای زمان‌بندی نوعی از نمودار توالی هستند که رفتار اشیاء را در یک بازه زمانی مشخص نشان می‌دهند. آن‌ها برای نمایش محدودیت‌های زمانی و مدت زمانی که تغییرات در وضعیت و رفتار یک شیء را کنترل می‌کنند، استفاده می‌شوند.

نمودارهای نمای کلی تعامل– یک نمودار نمای کلی تعامل مدلی از یک سری رویدادها است که می‌تواند برای تجزیه تعاملات پیچیده به رویدادهای ساده‌تر استفاده شود. این نمودار ترکیبی از نمودار فعالیت و نمودار توالی است.

واژه‌نامه UML

  • کلاس انتزاعی – کلاسی که هرگز ایجاد نخواهد شد. نمونه‌ای از این کلاس هرگز وجود نخواهد داشت.
  • بازیگر – یک شیء یا شخص که رویدادهایی را که سیستم در آن‌ها درگیر است، آغاز می‌کند.
  • فعالیت: یک مرحله یا عمل در یک نمودار فعالیت. نمایانگر عملی است که توسط سیستم یا یک بازیگر انجام می‌شود.
  • نمودار فعالیت: یک نمودار جریان کار بزرگ‌نمایی شده که مراحل و تصمیمات و عملیات‌های موازی در یک فرآیند، مانند یک الگوریتم یا یک فرآیند تجاری را نشان می‌دهد.
  • تجمع – بخشی از یک کلاس دیگر است. در نمودارها با یک الماس توخالی در کنار کلاس حاوی آن نشان داده می‌شود.
  • آثار – مدارکی که خروجی یک مرحله در فرآیند طراحی را توصیف می‌کنند. توصیف می‌تواند گرافیکی، متنی یا ترکیبی از هر دو باشد.
  • ارتباط – یک ارتباط بین دو عنصر از یک مدل. این ممکن است نمایانگر یک متغیر عضو در کد باشد، یا ارتباط بین یک رکورد پرسنلی و شخصی که نمایندگی می‌کند، یا رابطه‌ای بین دو دسته از کارگران، یا هر رابطه مشابهی. به طور پیش‌فرض، هر دو عنصر در یک ارتباط برابر هستند و از طریق ارتباط از وجود یکدیگر آگاهند. یک ارتباط همچنین می‌تواند یک ارتباط قابل ناوبری باشد، به این معنی که انتهای منبع ارتباط از انتهای هدف آگاه است، اما برعکس نیست.
  • کلاس ارتباط: کلاسی که نمایانگر و افزودن اطلاعات به ارتباط بین دو کلاس دیگر است.
  • ویژگی‌ها – ویژگی‌های یک شیء که ممکن است برای ارجاع به اشیاء دیگر یا ذخیره اطلاعات وضعیت شیء استفاده شوند.
  • کلاس پایه: کلاسی که ویژگی‌ها و عملیات‌هایی را تعریف می‌کند که از طریق یک رابطه تعمیم به یک زیرکلاس به ارث می‌رسند.
  • شاخه: یک نقطه تصمیم‌گیری در نمودار فعالیت. چندین انتقال از شاخه ناشی می‌شود، هر کدام با یک شرط نگهبان. وقتی کنترل به شاخه می‌رسد، باید دقیقاً یک شرط نگهبان درست باشد؛ و کنترل به انتقال مربوطه پیروی می‌کند.
  • کلاس: یک دسته از اشیاء مشابه، که همه با همان ویژگی‌ها و عملیات توصیف شده‌اند و همه با هم سازگار هستند.
  • نمودار کلاس – کلاس‌های سیستم و روابط بین آن‌ها را نشان می‌دهد.
  • طبقه‌بند: یک عنصر UML که دارای ویژگی‌ها و عملیات است. به‌طور خاص، بازیگران، کلاس‌ها و رابط‌ها.
  • همکاری: یک رابطه بین دو شیء در یک نمودار ارتباطی، که نشان می‌دهد پیام‌ها می‌توانند بین اشیاء رد و بدل شوند.
  • نمودار ارتباطی – نموداری که نشان می‌دهد عملیات چگونه انجام می‌شود و در عین حال بر نقش‌های اشیاء تأکید می‌کند.
  • جزء: یک واحد قابل استقرار از کد درون سیستم.
  • نمودار جزء: نموداری که روابط بین اجزای مختلف و رابط‌ها را نشان می‌دهد.
  • مفهوم – یک اسم یا ایده انتزاعی که باید در یک مدل دامنه گنجانده شود.
  • مرحله ساخت – سومین مرحله از فرآیند یکپارچه منطقی که در آن چندین تکرار از عملکردها در سیستم در حال ساخت ساخته می‌شود. اینجا جایی است که کار اصلی انجام می‌شود.
  • وابستگی: یک رابطه که نشان می‌دهد یک طبقه‌بند ویژگی‌ها و عملیات‌های یک طبقه‌بند دیگر را می‌شناسد، اما به هیچ نمونه‌ای از طبقه‌بند دوم به‌طور مستقیم متصل نیست.
  • نمودار استقرار: نموداری که روابط بین پردازنده‌های مختلف را نشان می‌دهد.
  • دامنه – بخشی از جهان که سیستم با آن درگیر است.
  • مرحله توضیح – دومین مرحله از فرآیند یکپارچه منطقی که امکان برنامه‌ریزی اضافی پروژه را شامل تکرارهای مرحله ساخت فراهم می‌کند.
  • عنصر: هر موردی که در یک مدل ظاهر می‌شود.
  • کپسوله‌سازی – داده‌ها در اشیاء خصوصی هستند.
  • عمومی‌سازی – نشان می‌دهد که یک کلاس زیرکلاسی از یک کلاس دیگر (کلاس والد) است. یک پیکان توخالی به کلاس والد اشاره می‌کند.
  • رویداد: در یک نمودار حالت، این نمایانگر یک سیگنال یا رویداد یا ورودی است که باعث می‌شود سیستم عملی انجام دهد یا حالت‌ها را تغییر دهد.
  • حالت نهایی: در یک نمودار حالت یا یک نمودار فعالیت، این نشان‌دهنده نقطه‌ای است که نمودار کامل می‌شود.
  • انشعاب: یک نقطه در یک نمودار فعالیت که در آن چندین رشته کنترل موازی آغاز می‌شود.
  • عمومی‌سازی: یک رابطه وراثتی که در آن یک زیرکلاس ویژگی‌ها و عملیات‌های یک کلاس پایه را به ارث می‌برد و به آن‌ها اضافه می‌کند.
  • GoF – مجموعه الگوهای طراحی گنگ چهار.
  • همبستگی بالا – یک الگوی ارزیابی GRASP که اطمینان حاصل می‌کند کلاس خیلی پیچیده نیست و عملکردهای نامرتبط را انجام نمی‌دهد.
  • کاهش وابستگی – یک الگوی ارزیابی GRASP که اندازه‌گیری می‌کند یک کلاس چقدر به کلاس دیگری وابسته است یا به آن متصل است.
  • مرحله آغازین – اولین مرحله از فرآیند یکپارچه منطقی که به مفهوم‌سازی اولیه و آغاز پروژه می‌پردازد.
  • وراثت – زیرکلاس‌ها ویژگی‌ها یا خصوصیات کلاس والد (کلاس فوقانی) خود را به ارث می‌برند. این ویژگی‌ها می‌توانند در زیرکلاس نادیده گرفته شوند.
  • حالت اولیه: در یک نمودار حالت یا یک نمودار فعالیت، این نشان‌دهنده نقطه‌ای است که نمودار آغاز می‌شود.
  • نمونه – یک کلاس مانند یک الگو برای ایجاد یک شیء استفاده می‌شود. این شیء به عنوان یک نمونه از کلاس نامیده می‌شود. هر تعداد نمونه از کلاس می‌تواند ایجاد شود.
  • رابط: یک طبقه‌بند که ویژگی‌ها و عملیات‌هایی را تعریف می‌کند که یک قرارداد برای رفتار تشکیل می‌دهند. یک کلاس یا جزء ارائه‌دهنده ممکن است تصمیم بگیرد یک رابط را تحقق بخشد (یعنی ویژگی‌ها و عملیات‌های آن را پیاده‌سازی کند). یک کلاس یا جزء مشتری ممکن است سپس به رابط وابسته باشد و بنابراین از ارائه‌دهنده بدون هیچ جزئیاتی از کلاس واقعی ارائه‌دهنده استفاده کند.
  • تکرار – یک بخش مینی پروژه که در آن یک قطعه کوچک از عملکرد به پروژه اضافه می‌شود. شامل حلقه توسعه تحلیل، طراحی و کدنویسی است.
  • اتصال: یک نقطه در یک نمودار فعالیت که در آن چندین رشته کنترل موازی همزمان می‌شوند و دوباره به هم می‌پیوندند.
  • عضو: یک ویژگی یا یک عملیات درون یک طبقه‌بند.
  • ادغام: یک نقطه در یک نمودار فعالیت که در آن مسیرهای کنترل مختلف به هم می‌رسند.
  • پیام – یک درخواست از یک شیء به شیء دیگر که از شیء دریافت‌کننده پیام می‌خواهد کاری انجام دهد. این اساساً یک فراخوانی به یک متد در شیء دریافت‌کننده است.
  • متد – یک تابع یا رویه در یک شیء.
  • مدل – اثر مرکزی UML. شامل عناصر مختلفی است که در یک سلسله‌مراتب توسط بسته‌ها مرتب شده‌اند و روابط بین عناصر نیز وجود دارد.
  • چندگانگی – در یک مدل دامنه نشان داده شده و در خارج از جعبه‌های مفهوم مشخص شده است، نشان‌دهنده رابطه تعداد اشیاء با کسرهای دیگر اشیاء است.
  • قابلیت ناوبری: نشان می‌دهد که کدام انتهای یک رابطه از انتهای دیگر آگاه است. روابط می‌توانند قابلیت ناوبری دوطرفه (هر انتها از دیگری آگاه است) یا قابلیت ناوبری یکطرفه (یک انتها از دیگری آگاه است، اما برعکس نه) داشته باشند.
  • نوتاسیون – سند گرافیکی با قوانین برای ایجاد روش‌های تحلیل و طراحی.
  • یادداشت: یک یادداشت متنی که به یک نمودار اضافه شده است تا نمودار را با جزئیات بیشتری توضیح دهد.
  • شیء – شیء: در یک نمودار فعالیت، شیئی که اطلاعاتی از فعالیت‌ها دریافت می‌کند یا اطلاعاتی به فعالیت‌ها ارائه می‌دهد. در یک نمودار همکاری یا یک نمودار توالی، شیئی که در سناریوی نشان داده شده در نمودار شرکت می‌کند. به‌طور کلی: یک نمونه یا مثال از یک طبقه‌بند خاص (بازیگر، کلاس یا رابط).
  • بسته – گروهی از عناصر UML که به‌طور منطقی باید با هم گروه‌بندی شوند.
  • نمودار بسته: یک نمودار کلاس که در آن تمام عناصر بسته‌ها و وابستگی‌ها هستند.
  • الگو – راه‌حل‌هایی که برای تعیین تخصیص مسئولیت برای تعامل اشیاء استفاده می‌شود. این نامی برای یک راه‌حل موفق برای یک مشکل رایج و شناخته‌شده است.
  • پارامتر: یک آرگومان به یک عملیات.
  • چندریختی – پیام یکسان، متد متفاوت. همچنین به عنوان یک الگو استفاده می‌شود.
  • خصوصی: یک سطح دید که به یک ویژگی یا یک عملیات اعمال می‌شود و نشان می‌دهد که فقط کد مربوط به طبقه‌بند که عضو را شامل می‌شود می‌تواند به آن دسترسی پیدا کند.
  • پردازنده: در یک نمودار استقرار، این نمایانگر یک کامپیوتر یا دستگاه برنامه‌پذیر دیگر است که کد ممکن است در آن مستقر شود.
  • محافظت‌شده: یک سطح دید که به یک ویژگی یا یک عملیات اعمال می‌شود و نشان می‌دهد که فقط کد مربوط به طبقه‌بند که عضو را شامل می‌شود یا برای زیرکلاس‌های آن می‌تواند به عضو دسترسی پیدا کند.
  • عمومی: یک سطح دید که به یک ویژگی یا یک عملیات اعمال می‌شود و نشان می‌دهد که هر کدی می‌تواند به عضو دسترسی پیدا کند.
  • پیکان جهت‌خوانی– نشان‌دهنده‌ی جهت یک رابطه در یک مدل دامنه است.
  • تحقق: نشان می‌دهد که یک مؤلفه یا یک کلاس یک رابط خاص را فراهم می‌کند.
  • نقش– در یک مدل دامنه استفاده می‌شود، این یک توصیف اختیاری درباره‌ی نقش یک بازیگر است.
  • نمودار توالی: نموداری که وجود اشیاء را در طول زمان نشان می‌دهد و پیام‌هایی که بین آن اشیاء در طول زمان برای انجام برخی رفتارها رد و بدل می‌شود. نمودار وضعیت – نموداری که تمام وضعیت‌های ممکن اشیاء را نشان می‌دهد.
  • وضعیت: در یک نمودار وضعیت، این نمایانگر یک وضعیت از یک سیستم یا زیرسیستم است: آن در یک نقطه زمانی چه کاری انجام می‌دهد و همچنین مقادیر داده‌های آن.
  • نمودار وضعیت: نموداری که وضعیت‌های یک سیستم یا زیرسیستم، انتقال‌ها بین وضعیت‌ها و رویدادهایی که باعث انتقال‌ها می‌شوند را نشان می‌دهد.
  • ایستا: یک اصلاح‌کننده برای یک ویژگی که نشان می‌دهد تنها یک نسخه از ویژگی بین تمام نمونه‌های طبقه‌بندی‌کننده مشترک است. یک اصلاح‌کننده برای یک عملیات که نشان می‌دهد عملیات به‌تنهایی عمل می‌کند و بر روی یک نمونه خاص از طبقه‌بندی‌کننده عمل نمی‌کند.
  • استریوتیپ: یک اصلاح‌کننده که به یک عنصر مدل اعمال می‌شود و چیزی درباره‌ی آن را نشان می‌دهد که معمولاً نمی‌توان در UML بیان کرد. در واقع، استریوتیپ‌ها به شما اجازه می‌دهند که «گویش» خاص خود را از UML تعریف کنید.
  • زیرکلاس: یک کلاس که ویژگی‌ها و عملیات‌هایی را که توسط یک زیرکلاس از طریق یک رابطه تعمیم تعریف شده‌اند، به ارث می‌برد.
  • مسیر شنا: یک عنصر از یک نمودار فعالیت که نشان می‌دهد کدام بخش‌های یک سیستم یا دامنه فعالیت‌های خاصی را انجام می‌دهند. تمام فعالیت‌ها در یک مسیر شنا مسئولیت شی، مؤلفه یا بازیگری را که توسط مسیر شنا نمایندگی می‌شود، بر عهده دارند.
  • زمان‌بندی– هر تکرار یک محدودیت زمانی با اهداف خاص خواهد داشت.
  • انتقال: در یک نمودار فعالیت، نمایانگر یک جریان کنترل از یک فعالیت یا شاخه یا ادغام یا انشعاب یا پیوستن به دیگری است. در یک نمودار وضعیت، نمایانگر تغییر از یک وضعیت به وضعیت دیگر است.
  • مرحله انتقال– آخرین مرحله از فرآیند یکپارچه منطقی که در آن کاربران بر روی استفاده از سیستم جدید آموزش می‌بینند و سیستم برای کاربران در دسترس قرار می‌گیرد.
  • UML– زبان مدل‌سازی یکپارچه از متون و اسناد گرافیکی برای بهبود تحلیل و طراحی پروژه‌های نرم‌افزاری استفاده می‌کند و به روابط منسجم‌تری بین اشیاء اجازه می‌دهد.
  • مورد استفاده: در یک نمودار مورد استفاده، نمایانگر عملی است که سیستم در پاسخ به یک درخواست از یک بازیگر انجام می‌دهد.
  • نمودار مورد استفاده: نموداری که روابط بین بازیگران و موارد استفاده را نشان می‌دهد.
  • قابلیت مشاهده: یک اصلاح‌کننده برای یک ویژگی یا عملیات که نشان می‌دهد کدام کد به عضو دسترسی دارد. سطوح قابلیت مشاهده شامل عمومی، محافظت‌شده و خصوصی است.
  • جریان کار– مجموعه‌ای از فعالیت‌ها که نتیجه خاصی را تولید می‌کند.

منابع و مراجع UML

This post is also available in Deutsch, English, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文.

Leave a Reply

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *