در حیطه مباحث مهندسی نرم افزار، نمودار کلاس در زبان مدل سازی یکپارچه یک نوع از نمودارهای ساختاری ایستاست که ساختار یک سیستم را با نمایش کلاسهای سیستم، خصوصیات آنها و روابط بین آنها توصیف می کند.
نمودار کلاس اصلی ترین جزء سازنده در مدلسازی شی گراست. این نمودار هم برای مدلسازی مفهومی کلی برنامه و هم برای مدلسازی طراحی جزئیات برای ترجمه به کد برنامه نویسی به کار می رود. یک کلاس در این نمودار به صورت جعبه مستطیلی نمایش داده می شود که از سه بخش تشکیل شده است:[ ۱]
• قسمت بالایی نام کلاس را نمایش می دهد
• قسمت میانی خصوصیات کلاس را نمایش می دهد
• قسمت پایینی شامل متدها یا عملیاتی است که کلاس انجام می دهد یا بر روی آن انجام می شود.
یک کلاس نمایشگر یک موجودیت از یک سیستم معین است که پیاده سازی کپسوله شده ( encapsulated ) ای از یک کارکرد موجودیت داده شده را ارائه می دهد. این کارکردها از طریق متدهای یک کلاس عرضه می شوند. کلاس همچنین دارای ویژگیهایی است که خصایص یکتای کلاس را تعریف می کنند. در مراحل اولیه انعقاد طراحی سیستم، کلاسها را کلاس های تحلیلی یا کلیشه ( stereotype ) می نامند. کلاس های تحلیلی بر اساس رفتارشان به سه دسته تقسیم می شوند:[ ۲]
• کلاس های مرزی: در یک سیستم چندلایه ای ( multi - tier ) ایده آل کاربر تنها با کلاس های مرزی تعامل دارد.
• کلاس های کنترلی: وظیفه این کلاس ها انتقال کنترل از کلاس های مرزی به کلاس هایی است که منطق برنامه را پیاده می کنند.
• کلاس های موجودیتی: این کلاس ها حاوی منطق اصلی برنامه هستند.
واسطها ( Interface ) گونه ای از کلاسهای تغییر یافته هستند که به جای پیاده سازی کارکرد تنها آن را تعریف می نمایند. [ ۲] واسط ها همه ویژگی های کلاسها را دارند و تنها تفاوتشان این است که در واسط متدها فقط تعریف می شوند و پیاده سازی در کلاسها انجام می شود.
بسته ( Package ) این امکان را فراهم می کند که کلاسها و واسط هایی را که به یکدیگر شبیه یا مرتبط اند را در گروه هایی جمع آوری نمود. گروه بندی عناصر طراحی در یک عنصر بسته باعث خوانایی بیشتر نمودارهای کلاس می شود. [ ۲]
یو ام ال سازوکارهای ویژه ای برای نمایش اعضای کلاس ( متدها و خصوصیت ها ) و اطلاعاتی اضافی راجع به آنها ارائه می دهد.
برای مشخص کردن قابلیت دید هر یک از اعضای کلاس ( یعنی متدهاوخصوصیات ) از نمادهایی که در جدول زیر آمده اند استفاده می شود که می بایست قبل از نام کلاس قرار گیرند:[ ۳]
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفنمودار کلاس اصلی ترین جزء سازنده در مدلسازی شی گراست. این نمودار هم برای مدلسازی مفهومی کلی برنامه و هم برای مدلسازی طراحی جزئیات برای ترجمه به کد برنامه نویسی به کار می رود. یک کلاس در این نمودار به صورت جعبه مستطیلی نمایش داده می شود که از سه بخش تشکیل شده است:[ ۱]
• قسمت بالایی نام کلاس را نمایش می دهد
• قسمت میانی خصوصیات کلاس را نمایش می دهد
• قسمت پایینی شامل متدها یا عملیاتی است که کلاس انجام می دهد یا بر روی آن انجام می شود.
یک کلاس نمایشگر یک موجودیت از یک سیستم معین است که پیاده سازی کپسوله شده ( encapsulated ) ای از یک کارکرد موجودیت داده شده را ارائه می دهد. این کارکردها از طریق متدهای یک کلاس عرضه می شوند. کلاس همچنین دارای ویژگیهایی است که خصایص یکتای کلاس را تعریف می کنند. در مراحل اولیه انعقاد طراحی سیستم، کلاسها را کلاس های تحلیلی یا کلیشه ( stereotype ) می نامند. کلاس های تحلیلی بر اساس رفتارشان به سه دسته تقسیم می شوند:[ ۲]
• کلاس های مرزی: در یک سیستم چندلایه ای ( multi - tier ) ایده آل کاربر تنها با کلاس های مرزی تعامل دارد.
• کلاس های کنترلی: وظیفه این کلاس ها انتقال کنترل از کلاس های مرزی به کلاس هایی است که منطق برنامه را پیاده می کنند.
• کلاس های موجودیتی: این کلاس ها حاوی منطق اصلی برنامه هستند.
واسطها ( Interface ) گونه ای از کلاسهای تغییر یافته هستند که به جای پیاده سازی کارکرد تنها آن را تعریف می نمایند. [ ۲] واسط ها همه ویژگی های کلاسها را دارند و تنها تفاوتشان این است که در واسط متدها فقط تعریف می شوند و پیاده سازی در کلاسها انجام می شود.
بسته ( Package ) این امکان را فراهم می کند که کلاسها و واسط هایی را که به یکدیگر شبیه یا مرتبط اند را در گروه هایی جمع آوری نمود. گروه بندی عناصر طراحی در یک عنصر بسته باعث خوانایی بیشتر نمودارهای کلاس می شود. [ ۲]
یو ام ال سازوکارهای ویژه ای برای نمایش اعضای کلاس ( متدها و خصوصیت ها ) و اطلاعاتی اضافی راجع به آنها ارائه می دهد.
برای مشخص کردن قابلیت دید هر یک از اعضای کلاس ( یعنی متدهاوخصوصیات ) از نمادهایی که در جدول زیر آمده اند استفاده می شود که می بایست قبل از نام کلاس قرار گیرند:[ ۳]
wiki: نمودار کلاس