آشنایی با طراحی شیءگرا

بسمه تعالی
تهیه کننده: رضا محمددوست ‏
طراحی شیءگرا
سیستم شیءگرا از چند شیء متعامل تشکیل شده است که حالت محلی را نگهداری کرده عملیاتی را بر روی آن حالت تدارک می بیند .

در سراسر توسعه از راهبرد شیء گرا استفاده می شود :

۱- تحلیل شیءگرا .
۲- طراحی شیءگرا .
۳- برنامه نویسی شیءگرا .

اشیا و کلاس های شیء
شیء باید عملیات سازنده و وارسی داشته باشند تا حالت آن وارسی و اصلاح شود . اشیا سرویس هایی را برای اشیاء دیگر فراهم می کنند .

اشیا می توانند به طور ترتیبی یا همزمان پیاده سازی شوند . شیء همزمان می تواند غیر فعال باشد که حالت آن فقط از طریق واسط تغییر می کند یا می تواند فعال باشد که حالت خودش را تغییر می دهد .

اشیای همزمان
هر شیء برای درخواست سرویس از شیء دیگر، پیام ”درخواست سرویس ” را ارسال می کند .

دو نوع پیاده سازی همزمان اشیاء وجود دارد :

۱- کارگزاران .

۲- اشیای فعال .
فرایند طراحی شیءگرا
فرایند کلی که در این جا استفاده می شود چند مرحله ای است :

۱- درک و تعریف حیطه و حالت های کاربرد سیستم .
۲- طراحی معماری سیستم .
۳- شناسایی اشیای اصلی سیستم .
۴- توسعه مدل های طراحی .
۵- شناسایی واسط های شیء .
حیطه سیستم و مدل های کاربرد

اولین مرحله در فرایند طراحی نرم افزار درک روابط بین نرم افزار در حال توسعه و محیط خارجی آن است .

توسعه این درک ، برای تأمین عملکردهای سیستم و تعیین ساختار سیستم به کار می رود ، به طوری که با محیط خود به خوبی ارتباط برقرار کند .

حیطه سیستم و مدل استفاده سیستم ، دو مدل مکمل را برای روابط بین سیستم و محیط آن نشان می دهند :
۱- حیطه سیستم، یک مدل ایستا است که سایر سیستم های موجود در محیط را توصیف می کند .

۲- مدل استفاده سیستم، یک مدل پویا است که مشخص می کند سیستم چگونه با محیط خود تعامل دارد .

شناسایی اشیاء
برای شناسایی کلاس های شیء، قواعدی وجود دارد :

۱- از تحلیل گرامری توصیف زبان طبیعی سیستم استفاده کنید .

۲- از نهاد های ملموس در دامنه کاربرد استفاده کنید .

۳- از روش رفتاری استفاده کنید .

۴- از تحلیل مبتنی بر سناریو استفاده کنید .
مدل های طراحی
اشیاء یا کلاس های شیء موجود در سیستم را نشان می دهند، و در صورت لزوم روابط بین این ها را نیز نشان می دهند .

برای توصیف طراحی شیءگرا دو نوع مدل طراحی باید ایجاد شوند :

۱- مدل های ایستا .

۲- مدل های پویا .
سه نوع مدل ایستا و پویا :
۱- مدل های زیر سیستم .

۲- مدل های توالی .

۳- مدل های ماشین حالت .

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

طراحی واسط شیء به معنای مشخص کردن جزئیات واسط یک شیء یا گروهی از اشیا است .این به معنی تعریف امضاها و معنای سرویس هایی است که توسط شیء یا گروهی از اشیا تعریف می شود .
تکامل طراحی
امتیاز مهم روش شیء گرا این است که تکامل طراحی را آسان می کند . علتش این است که نمایش حالت شیء بر طراحی تأثیر ندارد .
تغییر جزئیات داخلی شیء بر سایر اشیای سیستم تأثیر ندارد . علاوه بر این چون اشیا انسجام چندانی ندارند ، بدون تغییر زیاد در سیستم ، می توان اشیای جدیدی را معرفی کرد .

ادامه دارد
مهندس رضا محمددوست
کارشناس ارشد فناوری اطلاعات