2. دیاگرامهای Class:
Class Diagram چیست؟
این دیاگرام استخوانبندی و پایه و اساس تقریبا تمام روشهای Object Orient مبتنی بر UML است.آنها انواع Object های سیستم را تعریف و توصیف می کنند و انواع ارتباطاط استاتیکی بین آنهاست را نمایش می دهند. در برنامه های مبتنی بر Object Oriented هر Class ها دارای یکسری Attribute ، Operation هستند و با سایر کلاسها در ارتباطند
چگونه کلاسها عینیت خارجی پیدا می کنند؟
می توانید از علامتهای Visibility استفاده کنید که تعیین می کند که چگونه می توانند به اطلاعات داخل ملاس دسترسی داشته باشند. (اصطلاحا می گویند Visibility را تعیین می کنند) اگر Visibility را Private تعیین کنید، اطلاعات از هر چیزی خارج از کلاس مخفی می ماند. اگر Visibility را Public در نظر بگیرید ، این اجازه را داده اید که همه به اطلاعت دسترسی داشته باشند و اگر Visibility را Protected فرض کنید تنها خود کلاس و کلاسهای فرزندش امکان دسترسی به اطلاعات را دارند.
ارتباط با سایر کلاسها چگونه است؟
Association ها:
Association ها ارتباطات استاتیک بین کلاسها را بر قرار می کنند. هر Association دو نقش دارد (Role). که هر نقش می گوید که هر کلاس در این Association چی کار می کند.(یعنی هر کلاس شرکت کننده در Association یک نقش دارد). همچنین هر نقش هم یک کثرت(Multiplicity یا cardinality) دارد.
Multiplicity :
یک عدد یا علامت است. این علائم نشون می دهند که چند نمونه از یک کلاس به یک نمونه از کلاس دیگر طرف Association مرتبط می شوند. مثلا یک شرکت می تواند یک یا چند کارمند داشته باشد(1..*) اما هر کارمند فقط برای یک کمپانی کار می کند(1)
محدودیتها(Constraints):
محدودیتها داخل کروشه نمایش داده می شوند و روی ارتباطات تعریف می شوند ت محدودیتهای ارتباطی را بیان کنند. البته نمی توان گاهی تمام محدودیتها را روی ارتباط نشان داد، در اینصورت فقط محدودیتهای مهم را نمایش می دهند.
سلسله مراتبی(Generalization):
سلسله مراتب نام دیگریست برای وراثت و ارتباط بین 2 کلاس اشاره می کند که یک کلاس حالت خاص شده ای از کلاس دیگر است.از دید پیاده سازی می توان گفت که اون کلاس خاص شده subclass یا زیر کلاس از کلاس عمومی تر است و خصوصیات و عملکردهای آن کلاس را به ارث می برد با این امکان که می تواند بعضی از آنها را مجددا باز سازی کند انجور که خودش لازم دارد.
ترکیب و تجمیع(Composition & Aggregation):
تجمیع یا aggregation نوعی ارتباط بین دو کلاس است که بیان می کند یک کلاس جزئی از کلاس دیگر است. مشکل شباهتهای بین aggregation و composition است.ترکیب یا composition حالت خاصی از aggregation است که مشخص میکند یک مالکیت قوی بین کلاس اول (کلاس کل) و کلاس دیگر(کلاس جزء) است. به زبان ساده تر در composition شما می توانید بعضی از خصوصیات sub-class را تغییر دهید ولی نمی توانید آنچه از Super-class میاد تغییر دهید.Composition یک ارتباط بسیار قوی تری نسبت به aggregation تعرف می کند.
چه موقع باید از Class Diagram استفاده کنیم؟
این دیاگرام را اغلب اوقات میشه استفاده کرد. این دیاگرامها بسیار مفید هستند ، وقتی که کلاسهای سیستم را بررسی و طراحی می کنید و ارتباطات بین آنها را بدست می آورید.
دیاگرام:
قسمت بعدی دیاگرامهای Iteration