آشنایی با طراحی شیءگرا
بسمه تعالی
تهیه کننده: رضا محمددوست
طراحی شیءگرا
سیستم شیءگرا از چند شیء متعامل تشکیل شده است که حالت محلی را نگهداری کرده عملیاتی را بر روی آن حالت تدارک می بیند .
در سراسر توسعه از راهبرد شیء گرا استفاده می شود :
۱- تحلیل شیءگرا .
۲- طراحی شیءگرا .
۳- برنامه نویسی شیءگرا .
اشیا و کلاس های شیء
شیء باید عملیات سازنده و وارسی داشته باشند تا حالت آن وارسی و اصلاح شود . اشیا سرویس هایی را برای اشیاء دیگر فراهم می کنند .
اشیا می توانند به طور ترتیبی یا همزمان پیاده سازی شوند . شیء همزمان می تواند غیر فعال باشد که حالت آن فقط از طریق واسط تغییر می کند یا می تواند فعال باشد که حالت خودش را تغییر می دهد .
اشیای همزمان
هر شیء برای درخواست سرویس از شیء دیگر، پیام ”درخواست سرویس ” را ارسال می کند .
دو نوع پیاده سازی همزمان اشیاء وجود دارد :
۱- کارگزاران .
۲- اشیای فعال .
فرایند طراحی شیءگرا
فرایند کلی که در این جا استفاده می شود چند مرحله ای است :
۱- درک و تعریف حیطه و حالت های کاربرد سیستم .
۲- طراحی معماری سیستم .
۳- شناسایی اشیای اصلی سیستم .
۴- توسعه مدل های طراحی .
۵- شناسایی واسط های شیء .
حیطه سیستم و مدل های کاربرد
اولین مرحله در فرایند طراحی نرم افزار درک روابط بین نرم افزار در حال توسعه و محیط خارجی آن است .
توسعه این درک ، برای تأمین عملکردهای سیستم و تعیین ساختار سیستم به کار می رود ، به طوری که با محیط خود به خوبی ارتباط برقرار کند .
حیطه سیستم و مدل استفاده سیستم ، دو مدل مکمل را برای روابط بین سیستم و محیط آن نشان می دهند :
۱- حیطه سیستم، یک مدل ایستا است که سایر سیستم های موجود در محیط را توصیف می کند .
۲- مدل استفاده سیستم، یک مدل پویا است که مشخص می کند سیستم چگونه با محیط خود تعامل دارد .
شناسایی اشیاء
برای شناسایی کلاس های شیء، قواعدی وجود دارد :
۱- از تحلیل گرامری توصیف زبان طبیعی سیستم استفاده کنید .
۲- از نهاد های ملموس در دامنه کاربرد استفاده کنید .
۳- از روش رفتاری استفاده کنید .
۴- از تحلیل مبتنی بر سناریو استفاده کنید .
مدل های طراحی
اشیاء یا کلاس های شیء موجود در سیستم را نشان می دهند، و در صورت لزوم روابط بین این ها را نیز نشان می دهند .
برای توصیف طراحی شیءگرا دو نوع مدل طراحی باید ایجاد شوند :
۱- مدل های ایستا .
۲- مدل های پویا .
سه نوع مدل ایستا و پویا :
۱- مدل های زیر سیستم .
۲- مدل های توالی .
۳- مدل های ماشین حالت .
در مدل توالی :
۱- اشیای موجود در تعامل به طور افقی و با پیوند عمودی تنظیم می شوند .
۲- زمان به طور عمودی نشان داده می شود .
۳- تعامل های بین اشیا توسط فلش های برچسب داری نمایش داده می شوند که خطوط عمودی را پیوند می دهند .
۴- چهارگوش باریک در رگ حیاتی شیء ، زمان را نشان می دهد که شیء در حال کنترل شیء ای در سیستم است .
واسط ها باید طوری مشخص شوند که اشیا و قطعات بتوانند به طور موازی طراحی شوند .
طراحی واسط شیء به معنای مشخص کردن جزئیات واسط یک شیء یا گروهی از اشیا است .این به معنی تعریف امضاها و معنای سرویس هایی است که توسط شیء یا گروهی از اشیا تعریف می شود .
تکامل طراحی
امتیاز مهم روش شیء گرا این است که تکامل طراحی را آسان می کند . علتش این است که نمایش حالت شیء بر طراحی تأثیر ندارد .
تغییر جزئیات داخلی شیء بر سایر اشیای سیستم تأثیر ندارد . علاوه بر این چون اشیا انسجام چندانی ندارند ، بدون تغییر زیاد در سیستم ، می توان اشیای جدیدی را معرفی کرد .
ادامه دارد
مهندس رضا محمددوست
کارشناس ارشد فناوری اطلاعات








