نمودار ER در مقابل نمودار کلاس
نمودارهای ER (نهاد-رابطه) و نمودارهای کلاس دو تا از نمودارهای طراحی هستند که توسعه دهندگان نرم افزار معمولاً در طول مراحل طراحی چرخه عمر مهندسی نرم افزار ایجاد می کنند. نمودارهای ER محصولی از تکنیک مدلسازی رابطه موجودیت (ERM) برای مدلسازی پایگاههای داده هستند. نمودار کلاس که به زبان مدلسازی متحد نوشته شده است، نموداری است که ساختار یک سیستم پیشنهادی را توصیف می کند. اگرچه نیازی به نگاشت دقیق یک به یک بین کلاس ها در نمودارهای کلاس و موجودیت ها در نمودار موجودیت وجود ندارد، به طور کلی رابطه معناداری بین آنها وجود دارد.با این حال، موارد زیادی وجود دارد که موجودیت یک نمودار ER به چندین کلاس از نمودار کلاس مربوطه نگاشت می شود یا یک کلاس منفرد از یک نمودار کلاس که به چندین نهاد از نمودار ER مربوطه نگاشت می شود. اما، این کاملا به انتخاب های طراحی توسعه دهندگان نرم افزار بستگی دارد.
نمودار ER چیست؟
نمودارهای ER محصول مدلسازی رابطه موجودیت هستند. مدلسازی نهاد-رابطه فرآیند ارائه یک نمایش انتزاعی و مفهومی از دادهها است. نمودارهای ER در نهایت پایگاه های داده را مدل می کنند. به طور خاص تر، طرح مفهومی مدل داده را تولید می کند. بلوک های ساختمان اصلی نمودارهای ER موجودیت ها، روابط و ویژگی ها هستند. یک موجودیت چیزی را نشان می دهد که می تواند به طور مستقل وجود داشته باشد و می تواند به طور منحصر به فرد تعریف شود. اغلب، یک موجودیت یک شیء دنیای واقعی مانند یک ماشین یا یک کارمند را نشان می دهد. موجودیت ها را می توان به عنوان اسم هایی در نظر گرفت که در حین شرح مسئله ای که باید حل شود، ظاهر می شوند.رابطه نشان می دهد که چگونه موجودیت ها به هم متصل می شوند. آنها مانند افعالی هستند که در توضیح مسئله حل شده یافت می شوند. ویژگیهای موجودات و ویژگیها را ویژگیها مینامند.
نمودار کلاس چیست؟
نمودار کلاس(به درستی به عنوان نمودار کلاس UML شناخته می شود) یک نمودار طراحی است که ساختار ایستا و رفتار یک سیستم پیشنهادی را نشان می دهد که با استفاده از UML (زبان مدل سازی یکپارچه) تعریف شده است. یک نمودار کلاس کلاس های سیستم ها، روابط بین کلاس ها و ویژگی های آنها را نشان می دهد. کلاس ها بازنمایی انتزاعی اشیاء دنیای واقعی را به تصویر می کشند، در حالی که روابط نشان می دهد که چگونه هر کلاس با دیگران مرتبط است. هم کلاس ها و هم روابط دارای ویژگی هایی به نام ویژگی ها هستند. متدها در کلاس ها رفتار این کلاس ها را نشان می دهند یا تعریف می کنند. متدها و ویژگی های کلاس ها اعضای کلاس نامیده می شوند.
تفاوت بین نمودار ER و نمودار کلاس چیست؟
اگرچه نمودارهای ER و نمودارهای کلاس دو تا از نمودارهایی هستند که توسعه دهندگان اغلب در طول مراحل طراحی پروژه های مهندسی نرم افزار با آن مواجه می شوند، اما تفاوت های کلیدی خود را دارند.نمودارهای ER نمایش انتزاعی مدل داده را نشان میدهند، در حالی که نمودارهای کلاس ساختار و رفتار استاتیک سیستم پیشنهادی را نشان میدهند. بلوکهای ساختمان اصلی نمودارهای ER موجودیتها، روابط و ویژگیها هستند، اما بلوکهای سازنده اصلی نمودارهای کلاس، کلاسها، روابط و ویژگیها هستند. نمودار کلاس بیشتر به اشیاء دنیای واقعی نگاشت می شود، در حالی که نمودارهای ER اغلب به جداول در پایگاه داده نگاشت می شوند. معمولاً درک روابط موجود در نمودارهای ER برای انسان دشوارتر از روابط موجود در نمودارهای کلاس است.