.: مشخصات درس
اهداف و مهارتها

این دوره با هدف توسعه توانایی ساخت نرم‌افزارهای دسکتاپ حرفه‌ای طراحی شده و مهارت‌هایی فراتر از سطح برنامه‌نویسی پایه در اختیار دانش‌پذیران قرار می‌دهد. این دوره پروژه‌محور است و در پایان، دانشجویان قادر خواهند بود یک نرم‌افزار واقعی و کاربردی را طراحی و ارائه نمایند.



شرایط شرکت کنندگان
تسلط به دوره مقدماتي PYTHON

توانای مورد انتظار از دانشپذیران در پایان دوره
• طراحي و پياده‌سازي نرم‌افزارهاي دسكتاپ با PyQt و ايجاد رابط‌كاربري حرفه‌اي • تحليل، مدل‌سازي و طراحي پايگاه‌داده با SQLite و پياده‌سازي روابط داده‌اي • استفاده از SQLAlchemy جهت ساخت لايه داده‌اي استاندارد و قابل توسعه • به‌كارگيري مفاهيم پيشرفته OOP براي ايجاد ساختارهاي منظم و مقياس‌پذير • طراحي پروژه‌ها بر اساس معماري سه‌لايه و جداسازي مسئوليت‌ها • تم‌سازي و ايجاد ظاهر يكپارچه و كاربرپسند با QSS • توسعه نسخه نهايي و قابل انتشار نرم‌افزار (EXE)

مخاطبان
افرادي كه مي‌خواهند مهارتشان را قابل‌فروش كنند اين دوره براي كساني است كه مي‌خواهند: • پروژه بگيرند • نرم‌افزار بفروشند • اپليكيشن اختصاصي توليد كنند • رزومه‌ خود را از «پايتون‌كار معمولي» به «سازنده نرم‌افزار قابل‌استفاده» ارتقا دهند

مدت
36  ساعت

كاربرد درس در ساير دروس


سرفصل

 

. شی‌ءگرایی پیشرفته و معماری کد
  • درک عمیق مفاهیم OOP: کلاس، وراثت، ترکیب، چندریختی
  • طراحی ساختارهای داده
  • اصول معماری تمیز در پروژه‌های واقعی
  • سازمان‌دهی ماژول‌ها و پکیج‌ها، مدیریت import و ساختاردهی حرفه‌ای کد
 
۲. طراحی پایگاه‌داده برای نرم‌افزارهای دسکتاپ
  • مفاهیم پایه SQL
  • طراحی دیتابیس: تعریف موجودیت‌ها، روابط و کلیدها
  • استفاده از SQLite به‌عنوان پایگاه‌داده سبک و قابل‌حمل
  • پیاده‌سازی روابط یک‌به‌چند و چندبه‌چند
  • اجرای Query‌ها، مدیریت Session و اصول تعامل با DB
 
۳. توسعه مدل‌های داده با SQLAlchemy
  • آشنایی با ORM حرفه‌ای در پایتون
  • تعریف مدل‌ها، ستون‌ها و روابط
  • پیاده‌سازی لایه داده به‌صورت استاندارد و قابل نگهداری
 
۴. توسعه رابط‌کاربری (GUI) با PyQt
  • مبانی PyQt و ساخت پنجره‌های کاربردی
  • کار با QWidget، ‌QMainWindow و ساختارهای Layout
  • مدیریت ارتباطات با Signal/Slot
  • طراحی فرم‌های چندبخشی و پیچیده
  • طراحی و تولید فرم با Qt Designer برای سرعت و دقت بیشتر
  • ساخت Dialog‌های سفارشی برای ایجاد/ویرایش/حذف
  • اعتبارسنجی ورودی‌ها و مدیریت رویدادهای کاربری
۵. معماری سه‌لایه (Three-Layer Architecture)
  • تفکیک لایه‌ها: رابط کاربری (UI)، منطق کسب‌وکار (Service)، و داده (Repository)
  • پیاده‌سازی ساختار قابل‌نگهداری و توسعه‌پذیر
  • کاهش وابستگی‌ها و رعایت اصول مهندسی نرم‌افزار
 
۶. طراحی گرافیکی حرفه‌ای و تم‌سازی
  • کار با استایل‌ها و تم‌ها (QSS)
  • انتخاب رنگ‌ها، آیکون‌ها و استانداردهای UI/UX
  • ساخت ظاهر یکپارچه و حرفه‌ای برای نرم‌افزار دسکتاپ
 
۷. ساخت و انتشار نسخه نهایی نرم‌افزار
  • تولید خروجی اجرایی (EXE)
  • مدیریت فایل‌های جانبی، تنظیمات و منابع
  • آماده‌سازی نسخه قابل‌نصب یا قابل‌حمل برای کاربر نهایی
 
۸. ارائه و تکمیل پروژه نهایی
  • توسعه یک نرم‌افزار کامل مدیریت آموزشی
  • شامل: مدیریت دانشجو، استاد، درس، نمره، کاربر و نقش‌ها
  • طراحی رابط کاربری حرفه‌ای
  • پیاده‌سازی کامل پایگاه‌داده و معماری سه‌لایه
  • آماده‌سازی نسخه نهایی و ارائه پروژه
 
پروژه‌های پیشنهادی قابل ساخت با مباحث این دوره
·         سیستم مدیریت فروش و انبارداری (Inventory & POS)
·         سیستم مدیریت منابع انسانی (HRM Desktop App)
·         نرم‌افزار مدیریت رستوران یا کافی‌شاپ
·         نرم‌افزار حسابداری ساده
·         ...