دوره آموزشی مبانی برنامه نویسی: طراحی شی گرا
2 ساعت 41 دقیقهمبتدی2024-12-09
مدرسین

Barron Stone
Electrical Engineer

Olivia Chiu Stone
Programmer, Engineer
جزئیات دوره
تمام نرمافزارهای خوب با طراحی عالی شروع میشوند. طراحی شیءگرا (Object-Oriented Design) به توسعهدهندگان کمک میکند تا برنامهها را قبل از نوشتن حتی یک خط کد برنامهریزی کرده و ایدهها را به اجزای قابل استفاده مجدد و قابل نگهداری تجزیه کنند. این دوره بر روی مفاهیم بنیادی تمرکز دارد و آنها را به شیوهای سرگرمکننده و تعاملی آموزش میدهد تا به سرعت مهارتهای شما توسعه یابد. اولیویا و بارون استون، مدرسین دوره، مفاهیم و اصطلاحات مورد نیاز برای شروع، مانند اشیاء، کلاسها، انتزاع، ارثبری و موارد دیگر را معرفی میکنند. سپس نحوه تحلیل نیازمندیهای یک برنامه، شناسایی موارد کاربرد (Use Cases) و طراحی کلاسها را با استفاده از Universal Modeling Language (UML) آموزش میدهند. طرح نهایی میتواند به کد در یکی از زبانهای محبوب برنامهنویسی شیءگرا مانند Java، C#، Ruby یا Python تبدیل شود.
اهداف آموزشی:
مبانی طراحی شیءگرا: آشنایی با مفاهیمی همچون اشیاء، کلاسها و موارد دیگر.
کپسولهسازی (Encapsulation): نحوه محافظت از دادهها و کاهش وابستگیهای خارجی.
ارثبری (Inheritance): استفاده از قابلیتهای کلاسهای پایه در کلاسهای مشتق.
تعریف نیازمندیها: تحلیل دقیق الزامات برای طراحی صحیح.
شناسایی موارد کاربرد، بازیگران و سناریوها: درک نقش کاربران و تعاملات سیستم.
مدلسازی دامنه (Domain Modeling): سازماندهی مفاهیم کلیدی دامنه مسئله.
شناسایی مسئولیتها و روابط کلاسها: تقسیم کارها و تعیین ارتباط بین اجزا.
ایجاد نمودارهای کلاس (Class Diagrams): نمایش ساختار برنامه با استفاده از UML.
کار با کلاسهای انتزاعی (Abstract Classes): تعریف مفاهیم مشترک برای کلاسهای مرتبط.
توسعه نرمافزار با اصول طراحی شیءگرا: بهکارگیری طراحی برای کدنویسی مؤثر و مقیاسپذیر.
اهداف آموزشی:
مبانی طراحی شیءگرا: آشنایی با مفاهیمی همچون اشیاء، کلاسها و موارد دیگر.
کپسولهسازی (Encapsulation): نحوه محافظت از دادهها و کاهش وابستگیهای خارجی.
ارثبری (Inheritance): استفاده از قابلیتهای کلاسهای پایه در کلاسهای مشتق.
تعریف نیازمندیها: تحلیل دقیق الزامات برای طراحی صحیح.
شناسایی موارد کاربرد، بازیگران و سناریوها: درک نقش کاربران و تعاملات سیستم.
مدلسازی دامنه (Domain Modeling): سازماندهی مفاهیم کلیدی دامنه مسئله.
شناسایی مسئولیتها و روابط کلاسها: تقسیم کارها و تعیین ارتباط بین اجزا.
ایجاد نمودارهای کلاس (Class Diagrams): نمایش ساختار برنامه با استفاده از UML.
کار با کلاسهای انتزاعی (Abstract Classes): تعریف مفاهیم مشترک برای کلاسهای مرتبط.
توسعه نرمافزار با اصول طراحی شیءگرا: بهکارگیری طراحی برای کدنویسی مؤثر و مقیاسپذیر.
مهارت ها
Object-Oriented ProgrammingSoftware DesignPythonFoundationsOpen SourceSoftware Development
سرفصل ها
مقدمه
- اصول طراحی شیگرا را بیاموزید
- آنچه باید بدانید
مبانی شی گرا
- تفکر شی گرا
- اشیاء
- کلاس ها
- انتزاع
- کپسولاسیون
- ارث
- چند شکلی
- تحلیل، طراحی و برنامه نویسی
- زبان مدلسازی یکپارچه (UML)
الزامات
- تعریف الزامات
- الزامات FURPS+
- چالش - الزامات جوک باکس
- راه حل - الزامات جوک باکس
Use Cases و User Stories
- موارد استفاده
- شناسایی بازیگران
- شناسایی سناریوها
- موارد استفاده از نمودار
- داستانهای کاربر
- چالش - موارد استفاده جوک باکس
- راه حل - موارد استفاده جوک باکس
مدل سازی دامنه
- شناسایی اشیاء
- شناسایی روابط طبقاتی
- شناسایی مسئولیتهای طبقاتی
- کارتهای CRC
- چالش - مدل مفهومی جوک باکس
- راه حل - مدل مفهومی جوک باکس
نمودارهای کلاس
- ایجاد نمودارهای کلاس - ویژگی ها
- ایجاد نمودارهای کلاسی - رفتارها
- تبدیل نمودارهای کلاس به کد
- کلاسهای نمونه
- کلاس با سازندههای متعدد
- صفات و روشهای ایستا
- چالش - نمودارهای کلاس جوک باکس
- حل - نمودارهای کلاس جوک باکس
ارث و ترکیب
- شناسایی حالات ارثی
- استفاده از ارث
- کلاسهای انتزاعی و ملموس
- رابط ها
- تجمیع
- ترکیب
- چالش - روابط کلاسی جوک باکس
- راه حل - روابط کلاسی جوک باکس
توسعه نرم افزار
- پشتیبانی OOP به زبانهای مختلف
- اصول کلی توسعه
- تست نرم افزار
- الگوهای طراحی
واژه نامه ها
نتیجه گیری
- مراحل بعدی