11 KiB
11 KiB
مشخصات درسنامه: تحلیل نیازمندیها: کارکردی در برابر غیرکارکردی (Functional vs Non-Functional Requirements)
- شناسه در سیلابس:
L4.7 - فصل: فصل ۴: از ایده تا محصول (Ch 4)
- نوع محتوا: 📘 درسنامه متنی
- زمان تقریبی مطالعه: ۱۲ دقیقه
- پیشنیازهای مستقیم:
L4.6(فیچرها و معیارهای پذیرش)
۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
دانشجو پس از مطالعهٔ این درسنامه باید بتواند:
- درک کند (Understand): تفاوت بنیادین میان نیازمندیهای کارکردی (Functional Requirements - FR: سیستم چه کاری انجام میدهد) و نیازمندیهای غیرکارکردی یا کیفی (Non-Functional Requirements - NFR: سیستم چگونه و با چه کیفیتی عمل میکند) چیست.
- تحلیل/ارزیابی کند (Evaluate): چرا هوش مصنوعی به طور پیشفرض به نیازمندیهای کیفی (پرفورمنس، امنیت، واکنشگرایی در موبایل) کمتوجه است مگر اینکه صراحتاً به او دیکته شود.
- بهکار ببندد (Apply): چهار ستون اصلی کیفیت نرمافزار (کاربردپذیری، پایداری، پرفورمنس، امنیت) را بر روی پروژه محوری (پورتفولیوی پویا) استخراج و مستند کند.
- بهکار ببندد (Apply): بلوک استانداردی از شروط غیرکارکردی (مانند سازگاری با موبایل، نمره بالای سئو، و محافظت از متغیرهای امنیتی) را برای درج در پرامپتها و فایل قوانین ایجنت آماده سازد.
۲. محدوده و مرزهای محتوا (Scope & Boundaries)
آنچه باید پوشش داده شود (In-Scope):
- تفاوت دو جنس نیازمندی در مهندسی نرمافزار:
- نیازمندیهای کارکردی (FR): رفتارهای مستقیم، دکمهها، فرمها، عملیات ورود و خروج دادهها (پاسخ به سوال: سیستم چه میکند؟).
- نیازمندیهای غیرکارکردی (NFR): ویژگیهای کیفی و صفات سیستمی نظیر سرعت، مقاومت، امنیت، دسترسیپذیری و سئو (پاسخ به سوال: سیستم با چه کیفیتی کار میکند؟).
- چرا هوش مصنوعی بدون NFR کدهای فاجعهبار تولید میکند؟
- هوش مصنوعی با پرامپت ساده کدی مینویسد که کار میکند، اما:
- تصاویر با حجم ۱۰ مگابایت لود میشوند و سرعت سایت را نابود میکنند.
- چیدمان در موبایل کاملاً به هم میریزد.
- اطلاعات محرمانه در فرانتاند لو میروند.
- هوش مصنوعی با پرامپت ساده کدی مینویسد که کار میکند، اما:
- ستونهای چهارگانه کیفیت محصول (چارچوب FURPS سادهشده):
- ۱. کاربردپذیری (Usability): تجربه کاربری روان، پیامهای خطای فارسی و واضح، طراحی واکنشگرا (Responsive) از عرض ۳۲۰ پیکسل تا نمایشگرهای دسکتاپ.
- ۲. پایداری (Reliability): ممانعت از کرش کردن برنامه در صورت قطعی ارتباط یا وارد کردن دادههای ناقص.
- ۳. عملکرد و سرعت (Performance): زمان بارگذاری اولیه زیر ۱.۵ ثانیه و کسب امتیاز لایتهاوس (Lighthouse) بالای ۹۰.
- ۴. امنیت و سئو (Security & SEO): عدم دسترسی بدون لاگین به پنل
/admin، استفاده از ساختار تگهای سمانتیک استاندارد (<h1>تا<h6>، متا تگها، Alt برای تصاویر).
- استخراج لیست تفکیکشده FR و NFR برای پروژه پورتفولیوی پویا:
- جدول شفاف نیازمندیهای کارکردی (نمایش کارتها، فیلتر مهارت، لاگین ادمین، فرم ویرایش سئو).
- جدول شفاف نیازمندیهای غیرکارکردی (سرعت لودینگ، ریسپانسیو بودن، محافظت از کلیدها، تگهای OpenGraph).
- روش تزریق NFR به پرامپتهای ایجنتهای وایب کدینگ:
- نحوه افزودن بلوک «الزامات کیفی» در انتهای پرامپت برای مجبور کردن مدل به رعایت استانداردهای مهندسی.
- کالاوتهای Quera:
<details class="violet">: چرا هوش مصنوعی به ذات خود نیازمندیهای غیرکارکردی را فراموش میکند و چگونه با.cursorrulesجلوی این نسیان را بگیریم؟<details class="red">: خطر امنیتی افشای کلیدها در کلاینت؛ مرز باریک میان کدهای اجرا شونده در سرور و کدهای لو رفته در مرورگر کاربر.
آنچه نباید وارد آن شویم (Out-of-Scope):
- تستهای مقیاسپذیری انترپرایز برای میلیونها کاربر همزمان (در فصول آخر بررسی خواهد شد).
- تنظیمات سرورهای وب Nginx یا کلودفلر (فصل ۱۲ استقرار).
۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یکخطی ساده |
|---|---|---|
| Functional Requirement (FR) | نیازمندی کارکردی | عمل و رفتار مشخصی که نرمافزار باید در پاسخ به ورودی کاربر انجام دهد |
| Non-Functional Requirement (NFR) | نیازمندی غیرکارکردی | صفت یا معیار کیفی که نحوه عملکرد، سرعت، پایداری و امنیت سیستم را توصیف میکند |
| Semantic HTML | ساختار معنایی وب | استفاده از تگهای استاندارد HTML که به موتورهای جستجو و ابزارها معنای محتوا را تفهیم میکنند |
| Lighthouse Audit | ارزیابی لایتهاوس | ابزار رسمی گوگل برای سنجش سرعت، سئو، دسترسیپذیری و استانداردهای وبسایت |
| Responsive Layout | چیدمان واکنشگرا | انطباق خودکار ابعاد و اجزای رابط کاربری با اندازه صفحهنمایش موبایل، تبلت و کامپیوتر |
۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
راهنمای ایجنت نویسنده: تمام تصاویر باید در پوشهٔ
images/قرار گرفته و در قالب جدول تکخانهای وسطچین با کپشن تفصیلی درج شوند:
- تصویر کاور درس:
images/cover.png- موضوع: کاور مدرن با تم تیره و ترازوی دیجیتالی نئونی که در یک کفه چرخدندههای کارکردی (FR) و در کفه دیگر شاخصهای سرعت، امنیت و سئو (NFR) را به توازن رسانده است.
- ترازوی نیازمندیهای کارکردی در برابر غیرکارکردی:
images/fr-vs-nfr-balance.png- موضوع: اینفوگرافیک مقایسهای: ستون سبز (FR: چه کارهایی میکند) در برابر ستون آبی (NFR: با چه سرعتی، چه امنیتی و چگونه میکند).
- چهار ستون کیفیت نرمافزار:
images/quality-pillars-diagram.png- موضوع: تصویر شماتیک ۴ ستون معبد کیفیت: کاربردپذیری، پایداری، عملکرد و سرعت، امنیت و سئو.
- چکلیست کیفی پروژه پورتفولیوی پویا:
images/portfolio-nfr-checklist.png- موضوع: نمایش تصویری ۴ تیک سبز: تست در موبایل، سرعت لود زیر ۲ ثانیه، محافظت از پنل ادمین و تگهای سالم سئو.
۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (README.md)
- تیتر اصلی:
# تحلیل نیازمندیها: تفاوت کارهایی که نرمافزار میکند با کیفیتی که ارائه میدهد - مقدمه: چرا یک برنامه با ده فیچر عالی اما سرعت حلزونی و باگهای موبایل، یک شکست کامل است؟
- جدول کاور درس
- تعریف نیازمندیهای کارکردی (FR): استخوانبندی کارها: کارهایی که برنامه انجام میدهد.
- تعریف نیازمندیهای غیرکارکردی (NFR): روح و کیفیت نرمافزار: سرعت، امنیت و تجربه.
- باکس شگفتانگیز Quera (
<details class="violet">): چرا هوش مصنوعی به طور خودکار NFRها را دور میزند؟ - چهار ستون استاندارد کیفیت (FURPS): کاربردپذیری، پایداری، پرفورمنس، امنیت و سئو.
- تفکیک FR و NFR در پروژه محوری (پورتفولیوی پویا):
- لیست نیازمندیهای کارکردی ویترین، ادمین و سئو.
- الزامات کیفی سرعت، نمایش در گوشی و حفظ متغیرهای امنیتی.
- فرمول تزریق الزامات کیفی به پرامپتها و
.cursorrules: مهار هوش مصنوعی پیش از تولید کد بیکیفیت. - باکس هشدار Quera (
<details class="red">): اشتباه نابخشودنی نشت کلیدهای خصوصی در محیط کلاینت. - جمعبندی درسنامه: تکمیل ابزارهای تفکر محصولی و آماده شدن برای تدوین سند نیازمندیهای محصول (PRD).
۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- تمایز میان نیازمندیهای کارکردی و غیرکارکردی با مثالهای واضح تبیین شده باشد.
- پیامدهای غفلت هوش مصنوعی از NFRها (سرعت پایین، خرابی در موبایل، نشت اطلاعات) تشریح گردد.
- نیازمندیهای کارکردی و کیفی پروژه پورتفولیو در دو جدول مجزا مستند شده باشند.
- شیوه هدایت ایجنت با لحاظ کردن الزامات کیفی در پرامپتها آموزش داده شود.