مفاهیم شئ گرایی
زبان مدلسازی یکپارچه (UML)
زبانی برای مصور سازی (visualization)
زبانی برای مشخص کردن (specifying)
زبانی برای ساخت (construction)
زبانی برای مستندسازی (documentation)
مدل منطقی UML
موجودها (things)
موجودها: ساختاری
کلاس (class)
رابط (interface)
همکاری (collaboration)
مورد کاربرد (use case)
کلاس فعال (active class)
مولفه (component)
گره (node)
موجودها: رفتاری
تعاملها (interactions)
ماشینهای حالت (state machines)
روابط (relationships)
· وابستگی (dependency)
· انجمن (association)
· تعمیم (generalization)
· تحقق (realization)
نمودارها (diagrams)
· کلاس (class)
· شئ (object)
· مورد کاربرد (use case)
· ترتیب (sequence)
· همکاری (collaboration)
· حالت (state chart)
· فعالیت (activity)
· مولفه (component)
· نصب و راه اندازی (deployment)
مکانیزمهای عمومی
o مشخصات (specification)
o تزیینات (adornments)
o مکانیزمهای بسط و توسعه (extension mechanisms)
o کلیشه (stereotype)
o مقادیر برچسب دار (tagged values)
o محدودیتها (constraints)
نام کلاس
هر کلاسی دارای یک نام ساده است
اسامی ساده به عنوان نام کلاس و مسیرها به عنوان نام کلاس و نام بسته
هر حرفی قابل استفاده است بجز متمایز کننده بسته
از اسم و یا عباراتی از اسامی برای نام استفاده شود
حرف اول هر اسم را با حرف بزرگ و بقیه حروف کوچک می باشند
خواص کلاس (attribute)
یک خاصیت کلاس که دارای نام است
نام خواص باید اسم و یا عبارتی از اسامی باشد
حرف اول هر اسم به جز اسم اول باید حرف بزرگ باشد
نوع هر اسم و مقدار پیش فرض آن را مشخص نمایید
عملیات کلاس
پیاده سازی سرویسی که می توان از کلاس درخواست کرد
نام عملیات باید یک فعل و یا ترکیبی از فعل و سایر لغات باشد.
حرف اول هر کلمه بجز کلمه اول باید بزرگ باشد
مرتب سازی خصوصیات و عملیات
از کلیشه برای دسته بندی خصوصیات و یا عملیات استفاده شود.
از سه نقطه (…) برای مخفی سازی بخشی از خصوصیات و یا عملیات استفاده شود
خصوصیات و یا عملیات غیره مربوط به یک دید را نمایش ندهید
مسئولیتهای یک کلاس
یک مسئولیت قرارداد و یا وظیفه کلاس است
کلاسهایی که درست طراحی شده باشند حداکثر یک مسئولیت دارند.
در طول پالایش مدل، مسئولیتها به عملیات و یا خصوصیات تبدیل می شوند.
روابط
تغییر در تعریف یک موجود احتمالا باعث تغییر در موجود دیگر می شود
رابطه وابستگی می تواند نام داشته باشد (به ندرت)
با استفاده از کلیشه ها می توانیم روابط وابستگی را از هم تشخیص دهیم
تعمیم (generalization)
رابطه “is-a”
اشیایی از کلاس فرزند هر جایی که اشیاء کلاس پدر مورد انتظار باشد قابل استفاده می باشند
کلاس فرزند خصوصیات و رفتار پدرش را به ارث می برد.
فرزند می تواند خصوصیات و یا رفتاری اضافه نیز داشته باشد
یک رابطه ساختاری که مشخص کننده اتصال اشیاء یک کلاس به اشیاء کلاس دیگر می باشد
نام رابطه مشخص کننده طبیعت آن است و برای از بین بردن ابهام استفاده می شود
نقش مشخص کننده وظیفه هر کلاس در آن رابطه است
کاردینالیته مشخص کننده تعداد اشیایی است که در هر طرف می توانند وجود داشته باشند.
تجمع
نوع خاصی از رابط انجمن است
معرف یک رابطه کل به جزء می باشد
یک موجود بزرگتر که از اجزائی کوچکتر تشکیل شده است
نمودارها
دید یک سیستم نرم افزاری از زاویه خاص
UML نه نمودار برای مصورسازی و مستندسازی یک سیستم نرم افزاری ارائه می کند
ایجاد نمودارها باید به صورت چرخشی/افزایشی انجام شود
عناصر گوناگونی در نمودارهای مختلف و در سطوح مختلف وجود دارند
چند اصطلاح
سیستم: مجموعه ای از زیر سیستمها برای بر آورده کردن هرف مشخصی و نمایش داده شده از طریق چند مدل
زیر سیستم: مجموعه ای از عناصر
مدل: یک تجرد بسته (از نظر مفهوم) از یک سیستم
دید: یک نمایش و یا تصویری از مدل یک سیستم که بر روی وجه خاصی از آن تمرکز دارد
تعریف رسمی نمودار
یک سیستم معرفی موجودی است که در حال تولید است، که مدلهای مختلف وجوه مختلف آن را ارائه می کنند. دید به هر یک از این وجوه را یک نمودار گوییم.
نمودارهای ساختاری
برای مدلسازی وجوه ساختاری و ثابت سیستم:
نمودار کلاس (Class Diagram)
نمودار شئ (Object Diagram)
نمودارمولفه (Component Diagram )
نمودار نصب و راه اندازی (Deployment Diagram)
نمودارهای رفتاری
برای مدلسازی جنبه رفتاری (دینامیک) سیستم:
نمودار مورد کاربرد (Use case diagram)
نمودار توالی (Sequence diagram)
نمودار همکاری (Collaboration diagram)
نمودار حالت (Statechart diagram)
نمودار فعالیت (Activity diagram)
نمودارهای کلاس
معمول ترین نمودار در مدلسازی
نمایش دهنده تعدادی کلاس، رابط، و روابط بین آنها
برای مدلسازی وجوه ساختاری و ایستای سیستم