نمایش پست تنها
  #2  
قدیمی 06-14-2013
bigbang آواتار ها
bigbang bigbang آنلاین نیست.
مدیر بخش مکانیک - ویندوز و رفع اشکال

 
تاریخ عضویت: Sep 2009
نوشته ها: 2,586
سپاسها: : 5,427

6,159 سپاس در 1,794 نوشته ایشان در یکماه اخیر
پیش فرض مدل کردن روابط بین اشیاء

مدل کردن روابط بین اشیاء

در OOP وقتی که برنامه اجرا می­شود، اشیاء مختلفی با یکدیگر کار می­کنند تا وظایف برنامه را انجام دهند. برای مثال، در برنامه رزرو پرواز، برای رزرو کردن یک صندلی، شیء Reservation باید با شیء Flight رابطه برقرار کند. این رابطه باید در نمودار کلاس مدل شود. با بررسی افعال در مستند SRS اغلب این رابطه­های کشف می­شوند. در ادامه برخی از مهمترین رابطه­ها بین کلاس­ها به وجود می­آید بیان می­شوند.
اتحاد[۴]

وقتی که یک کلاس به کلاس دیگری مراجعه می­کند یا از آن استفاده می­کند می­گوییم که این کلاس­ها یک اتحاد را شکل داده اند. شما یک خط بین این دو کلاس می­کشید تا این اتحاد را نشان دهید و برای آن یک نام تعیین می­کنید. برای مثال، یک پرواز دارای تعدادی صندلی است در برنامه رزرو بلیط هواپیما. این موضوع در نمودار زیر بیان شده است.





گاهی اوقات یک نمونه از یک کلاس با چندین نمونه از کلاس دیگر ارتباط دارد. برای مثال وقتی که یک مشتری یک رزرو را انجام می­دهد، یک اتحاد بین مشتری و رزرو ایجاد می­شود. چون یک مشتری ممکن است چندین بلیط را رزرو کند، بنابراین یک نمونه از کلاس مشتری ممکن است که با چندین نمونه از کلاس رزرو رابطه داشته باشد. در شکل زیر این موضوع بیان شده است.

حالتی ممکن است وجود داشته باشد که یک نمونه از یک کلاس با چندین نمونه از کلاس خودش رابطه داشته باشد. برای مثال یک نمونه از کلاس خلبان، کاپیتان است و نمونه دیگر کمک خلبان. خلبان کمک خلبان را مدیریت می­کند. این سناریو به عنوان یک اتحاد با خود[۵] شناخته می­شود و با رسم خط ارتباطی از کلاس به خودش مدل می­شود، مطابق شکل زیر:



وراثت

وراثت یعنی وقتی که چندین کلاس در برخی خصوصیات و عملکردها اشتراک داشته باشند، یک کلاس پایه می­تواند این اشتراکات را در بر بگیرد. سپس کلاس­های فرزند با ارث بری از کلاس پایه، این خصوصیات و عملکردها را داشته باشند و علاوه بر آن، خصوصیات و عملکردهای منحصربفرد خود را ایجاد کنند. این مفهوم در نمودار کلاس با یک خط که یک سر آن دارای پیکان بسته به سمت کلاس پایه است، نشان داده می­شود. برای مثال کلاس مشتری شرکتی و مشتری موردی می­توانند خصوصیات و عملکردهای کلاس پایه مشتری را به ارث ببرند، مطابق شکل زیر.

اجتماع

وقتی که یک کلاس با ترکیب سایر کلاس­ها شکل می­گیرد، آنها به صورت اجتماع بیان می­شوند. این با رسم یک خط بین کلاس­ها نمایش داده می­شود. قرار گرفتن یک لوزی کنار هر کلاس بیان کننده سطح بالاتر سلسله مراتب آن است. برای مثال، در برنامه انبار قطعات هواپیما نمودار کلاس زیر را خواهیم داشت:

کلاس های اتحادی

وقتی که کلاس­ها و ارتباطات بین آنها ایجاد می­شوند، ممکن است وضعیتی پیش آید که یک خصوصیت را نتوان در یک کلاس قرار دارد بلکه باید در یک اتحاد بین کلاس­ها قرار گیرد. برای مثال ر برنامه انبار قطعات که در بالا اشاره شد، ممکن است کلاس­های قطعه و تولید کننده را داشته باشیم.
به خاطر اینکه یک قطعه ممکن است بیش از یک تهیه کننده داشته باشد و یک تهیه کننده بیش از یک قطعه تولید کند، کجا باید قیمت قطعه قرار گیرد؟ آن نمی­تواند به صورت خصوصیتی در کلاس قطعه یا تولید کننده باشد. راه حل این است که یک کلاس اتحادی با نام قیمت قطعه تعریف کنیم. این مدل با استفاده از خط چین بین اتحاد و کلاس اتحادی مشخص می­شود، مطابق شکل زیر.



نمودار کلاس تکمیل شده برنامه رزرو بلیط پرواز

شکل زیر نمودار کلاس تکمیل شده برنامه رزرو بلیط هواپیما را نمایش می­دهد. این نمودار شامل ک


__________________

احد،صمد، قاهر، صادق ...
عاشقشم

لا تقنطوا من رحمة الله

هیچ چیز تجربه نمیشه اینو یادت باشه !!
ترفند هایی براي ويندوز 7


عیب یابی سخت افزاری سیستم در کسری از دقیقه


ویرایش توسط bigbang : 06-14-2013 در ساعت 08:02 PM
پاسخ با نقل قول
کاربران زیر از bigbang به خاطر پست مفیدش تشکر کرده اند :
جای تبلیغات شما اینجا خالیست با ما تماس بگیرید