en_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

تسلط بر نمودار کلاس UML: نحو و مثال‌ها

این نمودار کلاس UMLاغلب نقطه شروع طراحی شیءگرا است. این نمودار واژگان یک سیستم را ثبت می‌کند — کلاس‌ها، ویژگی‌های آن‌ها، رفتارهای آن‌ها و روابطی که آن‌ها را به هم پیوند می‌دهد. چه در حال طراحی یک مدل مفهومی باشید یا یک نقشه‌برداری دقیق برای اجرا، درک نحو نمودارهای کلاس ضروری است.

این راهنما به مرور نمادهای کلیدی، انواع اصلی روابط و مثال‌های روشنی می‌پردازد که UML را به مشکلات روزمره طراحی مرتبط می‌کند.

نمایش‌دهنده چه چیزی است؟

نمودار کلاس توصیف می‌کند ساختار ثابت. برخلاف نمودارهای رفتاری، بر جریان یا زمان‌بندی تمرکز نمی‌کند. بلکه توضیح می‌دهد سیستم چگونه سازمان‌دهی شده است:

  • کلاس‌های موجود چه هستند
  • داده‌هایی که نگه می‌دارند
  • عملیاتی که انجام می‌دهند
  • چگونه به یکدیگر متصل هستند

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

نحو نمودار کلاس: اصول اولیه

نمادگذاری کلاس

یک کلاس به صورت مستطیلی رسم می‌شود که تا سه بخش تقسیم می‌شود:

  1. نام کلاس (ضروری)
  2. ویژگی‌ها (اختیاری)
  3. عملیات (اختیاری)

مثال:

ویژگی‌ها

ویژگی‌ها حالت یک شی را توصیف می‌کنند.

نحو:

دسترسی نام : نوع = پیش‌فرض

نمادهای دیداری:

  • + عمومی
  • - خصوصی
  • # محافظ شده

مثال:

Attributes-example

عملیات

عملیات رفتار یا خدماتی را که کلاس ارائه می‌دهد، نشان می‌دهد.

سینتکس:

دیداری نام(لیست پارامترها) : نوع بازگشتی

مثال:

Operations example

انواع روابط در نمودار کلاس

توانمندی یک نمودار کلاس از ارتباطات بین کلاس‌ها نشأت می‌گیرد. رایج‌ترین انواع روابط نحوه تعامل یا وابستگی اشیاء به یکدیگر را توصیف می‌کنند.

ارتباط

یک ارتباط، یک اتصال ساختاری بین کلاس‌ها را نشان می‌دهد.

  • می‌تواند شامل نقش‌ها, چندگانگی‌ها, یا قابلیت جستجو.
  • نشان‌دهنده ارتباط پایدار و بلندمدت است.

مثال:
یک مشتری چندین سفارش‌ها.

مشتری 1 ----- * سفارش

آگرگاسیون

آگرگاسیون رابطه‌ای «کل-جزء» را نشان می‌دهد که در آن جزء می‌تواند به صورت مستقل وجود داشته باشد.

با یک الماس خالی در طرف کل.

مثال:
یک تیم چندین بازیکنان اما بازیکنان می‌توانند خارج از تیم وجود داشته باشند.

ترکیب

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

با یک الماس پر شده.

مثال:
یک سفارش شامل خط سفارش آیتم‌ها، و حذف سفارش تمام خطوط آن را حذف می‌کند.

کلی‌سازی (وراثت)

نشان می‌دهد که یک کلاس از کلاس دیگر ارث‌بری می‌کند.

  • پیکان به سمت کلاس والد اشاره می‌کند.
  • برای ویژگی‌های مشترک و رفتار چندشکل استفاده می‌شود.

مثال:
حساب صرفه‌جوییحساب

وابستگی

نشان می‌دهد که یک کلاس به طور موقت از کلاس دیگر استفاده یا وابسته به آن است (مثلاً یک پارامتر).

معمولاً با یک پیکان نقطه‌چین نشان داده می‌شود.

تحقيق

زمانی استفاده می‌شود که یک کلاس یک رابطه را پیاده‌سازی می‌کند.


مثال‌های عملی شی‌گرا

زیرا سناریوهای ساده اما واقع‌گرایانه‌ای وجود دارند که نشان می‌دهند نحوه ظهور سینتکس دیاگرام کلاس در کارهای طراحی واقعی چگونه است.

مثال: سیستم سفارش‌دهی اینترنتی

کلاس‌ها:

  • مشتری
  • سفارش
  • آیتم سفارش
  • محصول

رابطه‌های کلیدی:

  • مشتری ایجاد می‌کند سفارش (ارتباط)
  • سفارش ترکیب می‌کند آیتم سفارش (ترکیب)
  • آیتم سفارشاشاره می‌کند به محصول (ارتباط)

این ساختار به وضوح نشان می‌دهد:

  • مالکیت آیتم‌های ردیف سفارش
  • ارتباط بین آیتم‌های سفارش‌شده و داده‌های محصول
  • نقش مشتری در فرآیند تراکنش

مثال: مدیریت کتابخانه

کلاس‌ها:

  • کتاب
  • نمونه
  • عضو
  • قرض

رابطه‌ها:

  • کتابتجمیع می‌شودنمونه (نمونه‌ها به طور مستقل از متادیتای کتاب وجود دارند)
  • نمونهتشکیل می‌دهدقرض (قرض‌ها بدون اینکه نمونه‌ای به عنوان قرض داده شده باشند، وجود ندارند)
  • عضوقرض می‌گیردقرض (ارتباط)

این مدل مفهوم مجرد کتاب را از نمونه‌های فیزیکی جدا می‌کند.

چرا دیاگرام کلاس‌ها مهم هستند

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

  • ساختار مبتنی بر شی را قبل از کدنویسی روشن کنند
  • محدودیت‌ها و مسئولیت‌ها را بهبود بخشند
  • مفاهیم گم‌شده یا طراحی‌های بیش از حد پیچیده را شناسایی کنند
  • ایده‌های فنی را به طور مؤثر انتقال دهند
  • مستندات را با اجرای متناظر نگه دارید

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

برای توضیحات بیشتر در مورد UML و اینکه چگونه هوش مصنوعی به دیدار آن کمک می‌کند، به ما مراجعه کنیدمرکز منابع UML.

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