شیگرایی در مهندسی نرمافزار:
- نقش نرم افزار در روزهای اولیه عصر کامپیوتر
- نقش ثانویه تلقی می شد (Afterthought)
- هزینه اساسی طراحی یک سیستم کامپیوتری از آن سخت افزار بود
- بیشتر نرم افزارها بوسیله یک نفر تولید می شدند
- نقش نرم افزار در روزهای اولیه عصر کامپیوتر
- فرایند طراحی به صورت ضمنی در ذهن برنامه نویس انجام می شد
- زبان رایج: زبان ماشین سپس اسمبلی ابداع شد
- قابلیت سخت افزار بسیار محدود بود برنامه ها کوچک و ساده بودند
- ظاهراً نیازی به مستندسازی نبود
- نقش نرم افزار در روزهای کنونی
- نقش بسیار اساسی
- هزینه اساسی طراحی یک سیستم کامپیوتری از آن نرم افزار است
- بیشتر نرم افزارها بوسیله تیمهای چند نفره تولید می شوند
- فرآیند طراحی به صورت صریح در خارج از ذهن برنامه نویس انجام می شود
نقش نرم افزار در روزهای کنونی:
- سخت افزار سریعتر، ارزانتر و قابل اطمینان تر اقتصادی شدن فرایند خودکارسازی بسیاری از کاربردهای صنعتی و تجاری تقاضا برای نرم افزارهای پیچیده تر
- زبانهای رایج: زبانهای سطح بالا، ساخت یافته و شئگرا
- درک اهمیت مستندسازی سیستم ها
- احساس نیاز به روشهای تحلیل و طراحی
تاریخچه:
روش شیءگرا در توسعه نرم افزار اولین بار در اواخر دهه ۱۹۶۰ برای توسعه نرم افزار به کار گرفته شد. ولی ۲۰ سال طول کشید تا فنآوری شیء گرا به طور گسترده مورد استفاده قرار گیرد. در سرتاسر دهه ۱۹۹۰ ، مهندسی نرم افزار شیء گرا الگوی انتخابی بسیاری از نرم افزار نویسان شد
مزایای شی گرایی:
فنآوری های شیء گرا منجر به استفاده مجدد می شود و استفاده مجدد (از مؤلفه های برنامه) منجر به توسعه سریعتر نرم افزارها و برنامه هایی با کیفیت بالاتر می شود. نگهدرای نرم افزارهای شیء گرا آسانتر است زیرا ساختار آن ذاتاً فاقد پیوستگی است. این موضوع، به هنگام اعمال تغییرات، اثرات جانبی کمتری به وجود می آورد و برای مهندس نرم افزار و مشتری دردسر کمتری ایجاد می کند. به علاوه، تطبیق دادن و تغییر دادن اندازه سیستم های شیء گرا آسانتر است (یعنی سیستم های بزرگ را می توان با مونتاژ کردن زیرسیستم های قابل استفاده مجدد ایجاد کرد).
اهداف جلسه:
- آشنائی با اصول شئ گرائی
- درک نقش اصول شئ گرائی در کنترل پیچیدگی
- سیستمهای نرم افزاری
- درک مزایای مدل شئ و کاربردهای آن
فهرست:
- مقدمه
- روشهای طراحی
- تجرید Abstraction
- محصور کردن Encapsulation
- واحدبندی Modularity
- سلسله مراتب Hierarchy
- مزایای مدل شئ و کاربردهای آن