Files

97 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# مشخصات درس‌نامه: متودولوژی‌های توسعه نرم‌افزار با AI (AI Software Methodologies & SDD)
- **شناسه در سیلابس:** `L2.7`
- **فصل:** فصل ۲: شروع مسیر Vibe Coding (Ch 2)
- **نوع محتوا:** 📘 درس‌نامه متنی
- **زمان تقریبی مطالعه:** ۱۲ دقیقه
- **پیش‌نیازهای مستقیم:** `L2.6` (اصول مهندسی پرامپت)
---
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند:
- [ ] **تحلیل/ارزیابی کند (Evaluate):** رویکرد غیرحرفه‌ای «پرامپت و دعا» (Prompt & Pray) را با رویکرد مهندسی و پایدار «توسعه مشخصات‌محور» (Spec-Driven Development - SDD) مقایسه کند.
- [ ] **درک کند (Understand):** چرخهٔ چهار مرحله‌ای SDD شامل: **۱. مشخصات (Specify) $\rightarrow$ ۲. برنامه‌ریزی (Plan) $\rightarrow$ ۳. اجرای ایجنت (Execute) $\rightarrow$ ۴. راستی‌آزمایی انسان (Verify)** چگونه کار می‌کند.
- [ ] **درک کند (Understand):** چرا ثبت تصمیمات در قالب اسناد شفاف (سند مشخصات یا PRD) مانع از سردرگمی هوش مصنوعی در پروژه‌های بزرگ می‌شود.
- [ ] **به‌کار ببندد (Apply):** نقش خود به عنوان ناظر و معمار نهایی در حلقه بازخورد را بپذیرد؛ کدهای تغییریافته (Git Diffs یا تغییرات ایجنت) را پیش از تایید، مرور و راستی‌آزمایی کند.
---
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
### آنچه باید پوشش داده شود (In-Scope):
1. **بیماری شایع توسعه شتاب‌زده با هوش مصنوعی (Prompt & Pray):**
* پرامپت‌نویسی تصادفی و تکراری به این امید که شانس بیاوریم و باگ حل شود!
* چرا این روش بعد از رسیدن پروژه به بیش از ۳ صفحه به یک فاجعه و قفل کامل پروژه تبدیل می‌شود.
2. **تولد پارادایم توسعه مشخصات‌محور (Spec-Driven Development):**
* در دنیای وایب کدینگ حرفه‌ای، ارزان‌ترین و سریع‌ترین بخش کار تولید کد است (توسط هوش مصنوعی انجام می‌شود).
* گران‌ترین و مهم‌ترین بخش، **روشن کردن دقیق نیت و رفتار مورد انتظار نرم‌افزار** است.
* نوشتن مشخصات شفاف (چه کارهایی باید انجام شود، داده‌ها چه ساختاری دارند، سناریوهای کاربر چیست).
3. **چرخهٔ چهار مرحله‌ای حلقه SDD:**
* **گام ۱: تدوین مشخصات (Specify):** نوشتن سند یا تعریف مرزهای تسک قبل از درخواست کد.
* **گام ۲: طرح اقدام و برنامه‌ریزی (Plan):** ایجنت مراحل انجام تسک را می‌چیند و گام‌ها را برای بررسی ارائه می‌دهد.
* **گام ۳: اجرای هوشمند توسط ایجنت (Execute):** ایجنت فایل‌ها را ویرایش و کدهای لازم را اضافه می‌کند.
* **گام ۴: آزمایش و راستی‌آزمایی انسان (Verify):** کاربر خروجی را در مرورگر یا با تست می‌بیند، بررسی می‌کند و سپس تایید یا اصلاح می‌کند.
4. **نقش حیاتی انسان در صندلی تایید نهایی:**
* هوش مصنوعی کد را پیشنهاد می‌دهد؛ شما مسئول بازبینی، تست و کلیک دکمه قبولی هستید.
5. **پیش‌درآمدی بر فصول بعدی دوره:**
* در فصل ۴ نحوه نوشتن PRD واقعی با هوش مصنوعی را یاد خواهید گرفت؛ در فصل‌های ۶ و ۷ کدها با همین چرخه تولید می‌شوند و در پروژه‌های ۸ و ۱۴ پیاده‌سازی کامل محصول را تجربه خواهید کرد.
6. **کال‌اوت‌های Quera:**
* `<details class="violet">`: چرا شرکت‌های پیشروی جهان و تیم‌های مدرن هوش مصنوعی در سال‌های ۲۰۲۵ و ۲۰۲۶ متدولوژی SDD را جایگزین روش‌های سنتی کرده‌اند؟
* `<details class="green">`: مژده به دانشجویان: با این متدولوژی شما هرگز در میان صدها خط کد سردرگم نخواهید شد، زیرا نقشه همیشه مشخص است.
### آنچه نباید وارد آن شویم (Out-of-Scope):
- ورود تفصیلی به نگارش تمپلیت‌های PRD، فیچربک‌لاگ یا ابزارهای مدیریت پروژه مثل Jira/Notion (فصل ۴).
- تشریح تست‌های خودکار نرم‌افزاری با فریم‌ورک‌های Jest یا Pytest (فصل ۹).
---
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یک‌خطی ساده |
| :--- | :--- | :--- |
| Prompt & Pray | پرامپت و دعا | رویکرد غیرعلمی و تصادفی فرستادن پرامپت‌های کورکورانه به امید درست شدن خودکار کد |
| Spec-Driven Development (SDD) | توسعه مشخصات‌محور | متدولوژی مهندسی که در آن تولید نرم‌افزار بر پایه اسناد مشخصات و برنامه اقدام شفاف استوار است |
| Feedback Loop | چرخهٔ بازخورد | فرایند پیوستهٔ آزمایش خروجی ایجنت، مشاهده نتیجه و ارائه راهنمایی تکمیلی به هوش مصنوعی |
| Verification | راستی‌آزمایی | بررسی و تست واقعی عملکرد نرم‌افزار توسط انسان پیش از پذیرش تغییرات ایجنت |
| Product Requirements Document (PRD) | سند نیازمندی‌های محصول | سندی جامع که چرایی، اهداف و رفتار دقیق فیچرهای یک نرم‌افزار را پیش از ساخت توصیف می‌کند |
---
## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders)
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تک‌خانه‌ای وسط‌چین با کپشن تفصیلی درج شوند:
1. **تصویر کاور درس:** `images/cover.png`
* **موضوع:** کاور مدرن نمایش‌دهنده نقشهٔ معماری دیجیتال (Blueprint) که توسط دست انسان هدایت شده و هوش مصنوعی در حال اجرای خطوط آن است.
2. **مقایسه پرامپت و دعا در برابر توسعه مشخصات‌محور:** `images/prompt-and-pray-vs-sdd.png`
* **موضوع:** تصویر مقایسه‌ای: سمت چپ آشفتگی، آزمون‌وخطای بی‌پایان و سرخوردگی (Prompt & Pray) در برابر سمت راست ریل‌گذاری منظم و گام‌به‌گام با سند مشخصات (SDD).
3. **چرخهٔ چهار مرحله‌ای حلقه SDD:** `images/sdd-four-step-loop.png`
* **موضوع:** دیاگرام چرخشی ۴ مرحله: ۱. مشخصات (Specify) $\rightarrow$ ۲. برنامه (Plan) $\rightarrow$ ۳. اجرای ایجنت (Execute) $\rightarrow$ ۴. بررسی انسان (Verify).
4. **جایگاه انسان در فرماندهی بازخورد:** `images/human-in-the-loop.png`
* **موضوع:** اینفوگرافیک مفهوم Human-in-the-Loop که انسان را در نقطه آغاز (تعیین هدف) و نقطه پایان (تایید کیفیت خروجی) نشان می‌دهد.
5. **نقشه راه SDD در امتداد فصول دوره:** `images/sdd-course-application.png`
* **موضوع:** فلوچارت اتصال فصول دوره: فصل ۴ (طراحی سند و تسک) $\rightarrow$ فصل‌های ۶ تا ۸ (پیاده‌سازی مرحله‌ای) $\rightarrow$ پروژه‌های عملی ۱ و ۲.
---
## ۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (`README.md`)
1. **تیتر اصلی:** `# متودولوژی‌های توسعه نرم‌افزار با AI و ورود به دنیای SDD`
2. **مقدمه ملموس:** چرا توسعه‌دهندگان مبتدی با هوش مصنوعی در بن‌بست گیر می‌کنند؟
3. **جدول کاور درس**
4. **پدیده خطرناک «پرامپت و دعا» (Prompt & Pray):** تحلیل آسیب‌شناسانه سردرگمی در پروژه‌ها.
5. **ظهور متدولوژی توسعه مشخصات‌محور (SDD):** ارزش مشخصه‌نویسی شفاف در عصر هوش مصنوعی.
6. **چهار گام طلایی چرخه SDD:** تشریح مراحل Specify، Plan، Execute و Verify با یک سناریوی زنده.
7. **باکس نکته پیشرفته Quera (`<details class="violet">`):** چرا غول‌های فناوری متدولوژی SDD را قلب آینده مهندسی نرم‌افزار می‌دانند؟
8. **انسان در حلقه فرماندهی (Human-in-the-Loop):** تفاوت ناظر فعال با تماشاگر منفعل.
9. **ارتباط SDD با مسیر شما در این دوره:** چگونه این متدولوژی ستون فقرات پروژه‌های کوئرا کالج خواهد بود.
10. **باکس اطمینان‌بخش Quera (`<details class="green">`):** آرامش ذهن و تسلط کامل با اتکا به ریل‌گذاری مشخصات.
11. **جمع‌بندی درس‌نامه و آماده‌سازی برای آزمون پایانی فصل:** مرور کلیدی‌ترین اصول پیش از ورود به کوئیز.
---
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- [ ] تفاوت شفاف رویکرد «پرامپت و دعا» با متدولوژی «توسعه مشخصات‌محور» شرح داده شده باشد.
- [ ] چرخه ۴ مرحله‌ای SDD (مشخصات، برنامه، اجرا، راستی‌آزمایی) همراه با دیاگرام به خوبی مستند شده باشد.
- [ ] نقش نظارتی انسان در پذیرش یا رد کدهای ایجنت به صراحت تاکید شده باشد.
- [ ] پل ارتباطی این درس با فصول بعدی (به‌ویژه فصل ۴ و پروژه‌های عملی) برقرار شده باشد.