دوره آموزشی مبانی برنامه نویسی: طراحی شی گرا

دوره آموزشی مبانی برنامه نویسی: طراحی شی گرا

2 ساعت 41 دقیقهمبتدی2024-12-09

مدرسین

Barron Stone

Barron Stone

Electrical Engineer

Olivia Chiu Stone

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): تعریف مفاهیم مشترک برای کلاس‌های مرتبط.
توسعه نرم‌افزار با اصول طراحی شیءگرا: به‌کارگیری طراحی برای کدنویسی مؤثر و مقیاس‌پذیر.

مهارت ها

Object-Oriented ProgrammingSoftware DesignPythonFoundationsOpen SourceSoftware Development

سرفصل ها

مقدمه

  • اصول طراحی شی‌گرا را بیاموزید
  • آنچه باید بدانید

مبانی شی گرا

  • تفکر شی گرا
  • اشیاء
  • کلاس ها
  • انتزاع
  • کپسولاسیون
  • ارث
  • چند شکلی
  • تحلیل، طراحی و برنامه نویسی
  • زبان مدلسازی یکپارچه (UML)

الزامات

  • تعریف الزامات
  • الزامات FURPS+
  • چالش - الزامات جوک باکس
  • راه حل - الزامات جوک باکس

Use Cases و User Stories

  • موارد استفاده
  • شناسایی بازیگران
  • شناسایی سناریوها
  • موارد استفاده از نمودار
  • داستان‌های کاربر
  • چالش - موارد استفاده جوک باکس
  • راه حل - موارد استفاده جوک باکس

مدل سازی دامنه

  • شناسایی اشیاء
  • شناسایی روابط طبقاتی
  • شناسایی مسئولیت‌های طبقاتی
  • کارت‌های CRC
  • چالش - مدل مفهومی جوک باکس
  • راه حل - مدل مفهومی جوک باکس

نمودارهای کلاس

  • ایجاد نمودارهای کلاس - ویژگی ها
  • ایجاد نمودارهای کلاسی - رفتارها
  • تبدیل نمودارهای کلاس به کد
  • کلاسهای نمونه
  • کلاس با سازنده‌های متعدد
  • صفات و روشهای ایستا
  • چالش - نمودارهای کلاس جوک باکس
  • حل - نمودارهای کلاس جوک باکس

ارث و ترکیب

  • شناسایی حالات ارثی
  • استفاده از ارث
  • کلاسهای انتزاعی و ملموس
  • رابط ها
  • تجمیع
  • ترکیب
  • چالش - روابط کلاسی جوک باکس
  • راه حل - روابط کلاسی جوک باکس

توسعه نرم افزار

  • پشتیبانی OOP به زبان‌های مختلف
  • اصول کلی توسعه
  • تست نرم افزار
  • الگوهای طراحی

واژه نامه ها

نتیجه گیری

  • مراحل بعدی
۸۰,۰۰۰ تومان