تفاوت اصلی بین نمودار کلاس و نمودار شی در این است که نمودار کلاس نشان دهنده کلاس ها و روابط آنها بین آنها است در حالی که نمودار شی نشان دهنده اشیاء و روابط آنها بین آنها در یک لحظه خاص است.
UML مخفف Unified Modeling Language است. این به مدل سازی مفاهیم شی گرا برای توسعه راه حل های نرم افزاری کمک می کند. نمودارهای UML مزایای مختلفی مانند درک نیازهای تجاری و به دست آوردن درک سطح بالایی از عملکردهای سیستم را ارائه می دهند. دو نوع اصلی مدل سازی UML وجود دارد. آنها مدلسازی ساختاری و مدلسازی رفتاری هستند.مدل سازی ساختار یافته ویژگی های استاتیک سیستم را توصیف می کند. از سوی دیگر، مدل سازی رفتاری ماهیت پویای سیستم را توصیف می کند. نمودار کلاس و نمودار شی دو نمودار UML مدل سازی ساختاری هستند.
نمودار کلاس چیست؟
نمودار کلاس نمای ایستا از سیستم را نشان می دهد. این ویژگی ها و عملیات کلاس ها را توصیف می کند. نمودارهای کلاس پرمصرف ترین نمودار مدل سازی برای سیستم های شی گرا هستند زیرا می توان آنها را مستقیماً با زبان های شی گرا ترسیم کرد.
شکل 01: نمودار کلاس
در بالا یک مثال ساده از نمودار کلاس است. این یک سیستم سفارش آنلاین است. User، Customer، Administrator، Order، OrderDetails کلاس ها هستند. هر کلاس از ویژگی ها و متدها تشکیل شده است. ویژگی ها ویژگی ها را توصیف می کنند در حالی که روش ها رفتارها یا عملیات ها را توصیف می کنند.
در یک نمودار کلاس، یک مستطیل نشان دهنده کلاس است. بیشتر به سه بخش تقسیم می شود. قسمت بالا نوشتن نام کلاس است. بخش میانی مربوط به ویژگی ها و بخش آخر مربوط به روش ها است. کلاس Customer دارای ویژگی هایی مانند نام، آدرس، ایمیل، شناسه مشتری، موجودی حساب و روش هایی مانند ثبت نام، ورود به سیستم و خرید است.
ویژگی ها و روش ها
ویژگی ها و روش ها دارای نمادی برای نشان دادن قابلیت مشاهده هستند. - نشان دهنده خصوصی است. کلاس های دیگر نمی توانند به اعضای خصوصی دسترسی داشته باشند. آنها فقط برای آن کلاس خاص قابل مشاهده هستند. + نشان دهنده عمومی است و کلاس های دیگر می توانند به آن اعضا دسترسی داشته باشند.معمولاً صفات کلاس خصوصی و متدها عمومی هستند. دید دیگری وجود دارد. این محافظت شده نامیده می شود و نمادآن را نشان می دهد. فقط اعضای کلاس و زیر کلاس می توانند به اعضای محافظت شده دسترسی داشته باشند.
کاربر شکل کلی مدیر و مشتری است. این دو کلاس می توانند ویژگی ها و متدهای کلاس کاربر و همچنین ویژگی ها و متدهای خاص خود را داشته باشند. کلاس User کلاس والد است در حالی که کلاس های Customer و Administrator کلاس های فرزند هستند. این مفهوم تعمیم نامیده می شود.
مشتری و سفارش رابطه ترکیبی دارند. کلاس Order بدون کلاس Customer نمی تواند وجود داشته باشد. Order و OrderDetails رابطه ترکیبی دارند. بنابراین، کلاس OrderDetails نمی تواند بدون کلاس Order وجود داشته باشد.
نمودار کلاس نیز نشان دهنده کثرت است. هنگامی که به رابطه مشتری و سفارش اشاره می شود، مشتری می تواند صفر یا تعداد زیادی سفارش داشته باشد.از طرف دیگر، یک سفارش فقط متعلق به یک مشتری است. سفارش و OrderDetails رابطه 1 به 1 دارند. یک سفارش می تواند فقط یک سفارش جزئیات داشته باشد. اینها برخی از اصول نمودارهای کلاس هستند.
دیاگرام شی چیست؟
یکی دیگر از نمودارهای ساختاری، نمودار شی است. این شبیه به یک نمودار کلاس است، اما بر روی اشیاء تمرکز می کند. مفاهیم اولیه نمودار شی شبیه به نمودار کلاس است. این نمودارها به درک رفتار شی و روابط آنها در یک لحظه خاص کمک می کند.
شکل 02: نمودار شیء
s1، s2، و s3 اشیاء دانشجویی هستند و در شیء دوره c1 ثبت نام می کنند. شی l1 lecturer درس c1 را آموزش می دهد. شیء مدرس l2 دوره ویژه c2 را تدریس می کند. Student s3 در دوره c1 و همچنین دوره ویژه c2 ثبت نام می کند. این نمودار نشان می دهد که چگونه مجموعه ای از اشیاء با یکدیگر ارتباط دارند. به طور کلی، یک نمودار شی نمای ایستا از یک سیستم را نشان می دهد، اما به طور خاص، نمای ایستا از سیستم را در یک لحظه خاص نشان می دهد.
تفاوت بین نمودار کلاس و نمودار شی چیست؟
نمودار کلاس نوعی نمودار ساختاری استاتیک است که ساختار سیستم را با نشان دادن کلاس ها، ویژگی های آنها، روش ها و رابطه بین کلاس ها توصیف می کند. نمودار شی نیز نوعی نمودار ساختاری استاتیک است که نمای کامل یا جزئی از ساختار یک سیستم مدلسازی شده را در یک زمان خاص نشان میدهد.
علاوه بر این، نمودارهای کلاس کلاس ها را تعریف می کنند و نحوه ارتباط آنها را با یکدیگر نشان می دهند.نمودارهای شیء اشیاء و روابط آنها را نشان می دهد. کلاس ها نقشه ها و اشیاء نمونه های کلاس ها هستند. این تفاوت اصلی بین نمودار کلاس و نمودار شی است.
بعلاوه، در نمودار کلاس، نام کلاس با حروف بزرگ شروع می شود. به عنوان مثال، دانشجو در نمودار شی، نام شی با حروف کوچک است و زیر آن خط کشیده شده است. به عنوان مثال، s1: دانشجو
خلاصه – نمودار کلاس در مقابل نمودار شی
هر دو نمودار کلاس و شی نشان دهنده ویژگی های ثابت یک سیستم هستند.تفاوت بین نمودار کلاس و نمودار شی در این است که نمودار کلاس نشان دهنده کلاس ها و روابط آنها بین آنها است در حالی که نمودار شی نشان دهنده اشیا و روابط آنها بین آنها در یک لحظه خاص است. این نمودارها به درک سطح بالایی از سیستم کمک می کند.