Design Patterns in Practice
مقدمه:
الگوها (Patterns) به عنوان
موضوعی مستقل در مهندسی نرمافزار از جمله بخشهای بسیار
جذاب این حوزه از مهندسی به شمار میآید. تولید نرمافزار
و به خصوص طراحی، چیزی نیست جز حل مسئله. اما «کسی
قبلاً مسئله شما را حل کرده است.»(شعار الگوهای نرمافزاری)، از
این حیث، الگوها یکی از مهمترین اجزای
مهندسی نرمافزار هستند که هر مهندس نرمافزار، نه به اختیار که به
اجبار باید آنها را فرا گیرد.
هدف دوره:
هدف دوره، ارائه الگوهای نرمافزاری و به ویژه
الگوهای طراحی و معماری به صورت کاربردی با اهداف
زیر میباشد:
·
کمک به بهبود طراحی
سیستمهای نرمافزاری در پروسه ساخت و تولید آن
·
کمک به بازمهندسی و
بازسازی سیستمهای نرمافزاری موجود
محتوای دوره:
در این دوره ابتدا به معرفی الگوها و کاربرد آن در تولید
نرمافزار پرداخته خواهد شد. در ادامه، انواع الگوها از الگوهای
تحلیل، طراحی، معماری و پیادهسازی معرفی گردیده
و دستهبندی هر یک از آنها تشریح خواهد گردید.
از آن پس، معرفی الگوها همراه با مثالهای کاربردی آغاز و
ادامه پیدا خواهد کرد. نحوه ارائه الگوها به شکل زیر خواهد بود:
·
ارائه یک مسئله از حوزههای
کاربردی
·
حل مسئله به کمک
دانشجویان و نمایش طراحی آن به کمک UML
·
معرفی اولیه الگو
و بازطراحی مسئله به کمک الگو
·
معرفی ساختار،
مزایا، معایب، الگوهای مشابه و کاربردهای دیگر الگو
·
بررسی کدهای
نمونه که در اختیار دانشجویان قرار داده شده و بحث و بررسی در
مورد آنها
·
ارائه طراحی به کمک CASE Tool و پیادهسازی
بعضی از طراحیهای انجام شده
شرايط حضور در دوره:
شرایط لازم برای دانشجویان جهت شرکت در کلاس عبارت است از:
·
تجربه عملی در
طراحی و پیادهسازی سیستمهای نرمافزاری
·
آشنایی به
مفاهیم و تحلیل و طراحی شیءگرا
·
آشنایی به UML (Unified Modeling Language) به عنوان زبان ارائه مدلهای مورد نیاز در
تولید نرمافزار
·
ترجیحاً آشنا به
یک زبان برنامهسازی مانند Java، C#.NET یا VB.NET
مواد آموزشی:
Agenda:
|
Topic |
Schedule |
|
Introduction to Patterns |
0.5 Session |
|
Kinds of Patterns (Analysis, Design, Architecture,
Idiom, Anti, Organization, and so on) |
0.5 Session |
|
Design Pattern Classification |
1 Session |
|
Factory Method Pattern |
1 Session |
|
Template Method Pattern |
1 Session |
|
Abstract Factory Pattern |
1 Session |
|
Builder Pattern |
1 Session |
|
Observer Pattern |
1 Session |
|
Singleton Pattern |
1 Session |
|
Adapter Pattern |
1 Session |
|
Façade Pattern |
1 Session |
|
|
|
|
Total: |
30 hours |