یک **مشخصه کاربردی** (به انگلیسی: Functional specification) (همچنین مشخصات، سند مشخصات کاربردی ( FSD )، مشخصات مورد نیاز کاربردی)

Maryam.Max
در مهندسی سیستم و توسعه نرم‌افزار، یک سند است که عملکردهایی را مشخص می‌نماید که یک سیستم یا یک جزء تشکیل دهنده باید اجرا نماید (اغلب بخشی از یک مشخصات الزامات) (ISO/IEC / IEEE 24765-2010)

مستندسازی معمولاً توصیف می‌کند که کاربر سیستم و همچنین مشخصات درخواست شده ورودیها و خروجیها (به‌عنوان مثال سیستم نرم‌افزاری) به چه نیاز دارند. یک مشخصه کاربردی واکنش فنی تری به یک سند الزامات تطبیقی به‌شمار می‌رود، به‌عنوان مثال سند الزامات محصول "PRD" [ارجاع لازم است]. بنابراین آن نتایج مرحلهٔ تجزیه و تحلیل الزامات را سرعت می‌دهد. در سیستمهای پیچیده تر سطوح چندگانه از مشخصات کاربردی معمولاً در کنار یکدیگر قرار دارند، به‌عنوان مثال در سطح سیستم روی سطح ماژول یا روی سطح جزئیات فنی.

بررسی اجمالی
------------

یک مشخصه کاربردی عملکرد درونی سیستم پیشنهادی را تعریف نمی‌کند و شامل مشخصه کاربردی نحوهای که عملکرد سیستم اجرا می‌شود، نمی‌شود. درعوض، بر اینکه عوامل مختلف خارجی (به‌عنوان مثال افرادی که از برنامه استفاده می‌کنند، لوازم جانبی یا سایر کامپیوترها) چگونه ممکن است در حال تعامل با سیستم «ملاحظه شوند» تمرکز می‌نماید.

یک لازمهٔ کاربردی در یک مشخصه کاربردی ممکن است به شرح زیر باشد:

هنگامی که کاربر بر روی دکمهٔ OK کلیک می‌کند، گفتگو بسته می‌شود و تمرکز به پنجره اصلی به حالت قبل از نمایش این گفتگو بازمی‌گردد.

چنین لازمهای تعاملی بین یک عامل خارجی (کاربر) و سیستم نرم‌افزاری را توصیف می‌کند. هنگامی که کاربر با کلیک کردن بر روی دکمه OK وارد سیستم می‌شود، برنامه با بسته شدن پنجره گفتگو حاوی دکمه OK پاسخ می‌دهد (یا باید پاسخ دهد).

مباحث مشخصات کاربردی
--------------------

### هدف

اهداف بسیاری برای مشخصات کاربردی وجود دارد. یکی از اهداف اصلی در پروژه‌های گروهی، دستیابی به نوعی توافق گروهی در این مورد است که برنامه قبل از تلاش زمانبر برای نوشتن کد منبع و موارد آزمایش به چه چیزی دست می‌یابد، و سپس دوره‌ای از اشکال‌زدایی، واقع می‌شود. به‌طور معمول، چنین وفاقی پس از یک یا چند بررسی توسط ذینفعان در پروژه مورد نظر و پس از مذاکره راجع به یک راه مقرون به‌صرفه برای دستیابی به الزاماتی که نرم‌افزار باید انجام دهد، به دست می‌آید تا:

1. موجب شود برنامه نویسان بدانند که چه چیزی را باید بسازند.
2. موجب شود که آزمایش کنندگان بدانند که چه آزمایشهایی را باید اجرا نمایند.
3. موجب شود ذینفعان بدانند که چه چیزی را قرار است به دست آوردند.

### فرایند

درچرخه زندگی مهندسی نرم‌افزار صنعتی سامان یافته (مدل آبشاری)، مشخصات کاربردی توصیف می‌کند که چه چیزی باید اجراشود. سپس، سند معماری سیستمها توضیح می‌دهد که چگونه عملکردها با استفاده از یک محیط نرم‌افزاری انتخاب شده تحقق می‌یابد. در توسعهٔ سیستمهای غیر صنعتی طرح اصلی، مشخصات کاربردی معمولاً بعداً یا به‌عنوان بخشی از تجزیه و تحلیل الزامات نوشته می‌شوند.

هنگامی که گروه موافق است که توافق مشخصات کاربردی به دست‌آمده‌است، یک مشخصه کاربردی معمولاً "تکمیل شده "یا "امضاشده" اعلام می‌شود. پس‌از این، معمولاً گروه توسعه و آزمایش نرم‌افزار، کد منبع و موارد آزمون را با استفاده از مشخصات کاربردی به عنوان مرجع وارد می‌کند. درحالی که آزمایش انجام می‌شود، رفتار برنامه با رفتار مورد انتظار همان‌طور که در مشخصات کاربردی تعریف شده مورد مقایسه قرار می‌گیرد.

### روشها

یکی از روش‌های محبوب نوشتن یک سند مشخصات کاربردی شامل طراحی یا ارائه یک فریم ساده یا تصویرهای دقیق و از لحاظ گرافیکی طراحی شده UI است. پس از اینکه این امر انجام شد، و نمونه‌های صفحه نمایش توسط همه ذینفعان تأیید شدند، عناصر گرافیکی می‌توانند شماره گذاری شوند و دستور العملهای نوشته شده می‌توانند برای هر عدد در نمونهٔ صفحه نمایش اضافه شوند. به‌عنوان مثال، یک صفحه ورود به سیستم می‌تواند فیلد نام کاربری با برچسب '۱' و فیلد رمزعبور با برچسب ' ۲ ' داشته باشد و سپس هر عدد را می‌توان در نوشتن برای استفاده توسط مهندسان نرم‌افزار و بعدها برای اهداف آزمایش بتا اعلام نمود تا اطمینان حاصل شود که عملکرد مورد انتظار بوده‌است. مزیت این روش این است که جزئیات اضافی بی‌شماری را می‌توان به نمونه‌های صفحه نمایش پیوند داد.

نمونه‌هایی از مشخصات کاربردی
----------------------------

* - ساختار گذرگاه پیشرفته میکروکنترلر
* - رابط ابزار با نرم‌افزار ثابت توسعه‌پذیر
* - مشخصاتی با چند راه‌انداز سیستم
* - مشخصات بلادرنگ برای جاوا
* - مشخصات UNIX واحد

انواع مشخصات توسعه نرم‌افزار
----------------------------

* - مشخصات بیت (ابهام‌زدایی)
* - مشخصات طراحی
* - مشخصات طراحی تشخیصی
* - مشخصات طراحی محصول
* - مشخصات الزامات نرم‌افزاری

جستارهای وابسته
---------------

* محک‌زنی
* فرایند توسعه نرم‌افزار
* اعتبار و درستی‌سنجی نرم‌افزار

منابع
-----

* مشارکت‌کنندگان ویکی‌پدیا. «مشخصات کاربردی». در *دانشنامهٔ ویکی‌پدیای انگلیسی*، بازبینی‌شده در ۲ فوریه ۲۰۱۸.
*

پیوند به بیرون
--------------

* Painless Functional Specifications, 4-part series by Joel Spolsky
* ISO/IEC/IEEE 24765:2010 Systems and software engineering — Vocabulary

| * ن
* ب
* و
مهندسی نرم‌افزار |
| --- |
| حوزه‌ها | تحلیل نیازمندی‌ها •  تحلیل سامانه‌ها •  طراحی نرم‌افزار •  برنامه‌نویسی •  روش‌های صوری •  وارسی مدل •  تست نرم‌افزار •  توسعه نرم‌افزار •  گسترش نرم‌افزار •  نگهداری نرم‌افزار |
| مفاهیم | مدل‌سازی داده •  معماری سازمانی •  مشخصات کاربردی •  زبان مدل‌سازی •  پارادایم برنامه‌نویسی •  نرم‌افزار •  معماری نرم‌افزار •  فرایند توسعه نرم‌افزار •  فرایند تولید نرم‌افزار •  کیفیت نرم‌افزار •  تضمین کیفیت نرم‌افزار •  Software archaeology •  تحلیل ساختمند |
| گرایشات | مدل چابک •  مدل طراحی جنبه‌گرا •  شیءگرایی •  آنتولوژی •  سرویس‌گرایی •  چرخه حیات توسعه سیستم‌ها |
| مدل‌ها | 

|  |  |
| --- | --- |
| مدل‌های توسعه | مدل چابک •  آریوپی  •  اسکرام •  مدل مارپیچی •  مدل آبشاری •  برنامه‌سازی مفرط •  مدل وی •  مدل تکراری و افزایشی •  پیش‌نمونه |
| مدل‌های دیگر | Automotive SPICE •  مدل بلوغ قابلیت یکپارچه •  مدل داده •  مدل تابع •  مدل اطلاعات •  فرامدل •  مدل شیءگرایی •  مدل‌سازی سیستم‌ها •  مدل نما |
| زبان‌های مدل سازی | IDEF •  زبان مدل‌سازی یکپارچه |

 |
| مهندساننرم‌افزار سرشناس | 
* ویکتور باسیلی
* کنت بک
* گریدی بوچ
* فردریک بروکز
* Barry Boehm
* وارد کانینگهام
* تام دی ماکرو
* ادسخر دیکسترا
* مارتین فولر
* تونی هور
* واتس هامفری
* مایکل ای. جکسون
* ایوار جاکوبسون
* Stephen J. Mellor
* برترند میر
* دیوید پارناس
* وینستون واکر رویس
* جیمز رامبا
* نیکلاوس ویرت
* Edward Yourdon
* Mohamed Fayad

 |
| حوزه‌های مرتبط | 
* علوم رایانه
* مهندسی کامپیوتر
* مدیریت پروژه
* مدیریت ریسک
* مهندسی سامانه‌ها

 |
|  •  رده  •  انبار |