SlideShare a Scribd company logo
1 of 28
‫الزامات‬ ‫و‬ ‫نیازها‬ ‫تعیین‬
‫مهندسـی‬
‫ها‬‫سیستم‬
‫رسولی‬ ‫علی‬–‫سیستما‬ ‫تیم‬
‫یک‬ ‫با‬ ‫ای‬‫پروژه‬ ‫هر‬‫نیاز‬‫میشه‬ ‫شروع‬
‫نیازها‬
‫ها‬‫خواسته‬
‫انتظارات‬
‫اهداف‬
‫مساله‬
‫مشکل‬
‫یک‬ ‫با‬ ‫ای‬‫پروژه‬ ‫هر‬‫نیاز‬‫میشه‬ ‫شروع‬
‫یک‬ ‫یعنی‬‫کاربر‬‫یا‬‫کارفرما‬
‫نیازمندی‬‫یا‬‫مساله‬‫خودش‬
‫کنه‬‫می‬ ‫مطرح‬ ‫رو‬
‫یک‬ ‫با‬ ‫ای‬‫پروژه‬ ‫هر‬‫نیاز‬‫میشه‬ ‫شروع‬
‫رو‬ ‫نیاز‬ ‫این‬ ‫باید‬ ‫اول‬ ‫قدم‬ ‫در‬‫کنیم‬
‫باید‬ ‫واقع‬ ‫در‬‫مساله‬‫صورت‬‫کنیم‬ ‫تعریف‬ ‫درستی‬ ‫به‬ ‫رو‬
‫اگر‬‫مساله‬‫صورت‬،‫کنیم‬ ‫پیدا‬ ‫که‬ ‫هم‬ ‫جوابی‬ ‫هر‬ ،‫نباشه‬ ‫مشخص‬‫اشتباهه‬!
‫بریم‬ ‫سریع‬ ‫که‬ ‫داریم‬ ‫عادت‬ ‫ها‬‫مهندس‬ ‫ما‬
‫سراغ‬‫حل‬‫مساله‬‫کردن‬ ‫پیدا‬ ‫و‬‫ها‬‫حل‬‫راه‬
‫داره‬ ‫بیشتری‬ ‫لذت‬ ‫چون‬!‫کردیم‬ ‫تجربه‬ ‫رو‬ ‫مساله‬ ‫یک‬ ‫حل‬ ‫لذت‬ ‫هممون‬
‫دقیق‬ ‫همیشه‬ ‫مساله‬ ‫صورت‬ ‫دانشگاه‬ ‫توی‬ ‫که‬ ‫خاطر‬ ‫این‬ ‫به‬ ‫هم‬ ‫شاید‬
‫بودیم‬ ‫جواب‬ ‫و‬ ‫مساله‬ ‫حل‬‫راه‬ ‫دنبال‬ ‫باید‬ ‫فقط‬ ‫ما‬ ‫و‬ ‫بوده‬ ‫شفاف‬ ‫و‬
‫محصول‬ ‫ساخت‬ ‫در‬ ،‫سیستم‬ ‫توسعه‬ ‫در‬ ،‫پروژه‬ ‫یک‬ ‫در‬ ‫ولی‬
‫یک‬ ‫نیاز‬ ‫یا‬ ‫مساله‬‫صورت‬ ‫نکردن‬ ‫شفاف‬‫اشتباه‬‫مهلکه‬!
،‫کشیدن‬ ‫زحمت‬ ‫ماه‬ ‫چندین‬ ‫از‬ ‫بعد‬ ‫کنید‬ ‫تصور‬
‫بگه‬ ‫کاربر‬ ‫یا‬ ‫کارفرما‬ ،‫پروژه‬ ‫تحویل‬ ‫موقع‬:
‫خواستم‬‫نمی‬ ‫چیزی‬ ‫همچین‬ ‫که‬ ‫من‬!
‫نمیخوره‬ ‫ما‬ ‫درد‬ ‫به‬ ‫اینکه‬!
‫ایکاش‬ ‫ولی‬ ‫عالیه‬ ‫خیلی‬...!
‫مساله‬ ‫صورت‬ ‫دقیق‬ ‫تعیین‬(‫نیازسنجی‬)
‫افزایش‬ ‫بر‬ ‫عالوه‬‫رضایت‬‫کاربر‬ ‫و‬ ‫کارفرما‬(‫ذینفعان‬)
‫به‬‫مساله‬ ‫حل‬‫کنه‬‫می‬ ‫کمک‬ ‫هم‬...
‫انیشتین‬ ‫قول‬ ‫به‬:
‫از‬ ‫بیش‬ ‫انیشتین‬ ‫مثل‬ ‫نیست‬ ‫الزم‬ ‫البته‬90‫کنیم‬ ‫الزامات‬ ‫و‬ ‫نیازها‬ ‫تعیین‬ ‫صرف‬ ‫رو‬ ‫پروژه‬ ‫وقت‬ ‫درصد‬
‫بشیم‬ ‫مطمئن‬ ‫باید‬ ‫حتما‬ ‫ولی‬‫کافی‬ ‫منابع‬(‫نفرات‬ ‫و‬ ‫پول‬ ،‫زمان‬)
‫برای‬‫ها‬‫نیازمندی‬ ‫تعیین‬‫شده‬ ‫داده‬ ‫تخصیص‬
‫بندی‬‫زمان‬ ‫برنامه‬ ‫در‬ ‫زیر‬ ‫های‬‫آیتم‬ ‫باید‬ ‫دیگه‬ ‫عبارت‬ ‫به‬(‫چارت‬‫گانت‬)‫بشه‬ ‫دیده‬ ‫پروژه‬:
‫سیستم‬ ‫الزامات‬ ‫تعیین‬A
‫زیرسیستم‬ ‫الزامات‬ ‫تعیین‬A1
‫زیرسیستم‬ ‫الزامات‬ ‫تعیین‬A2
‫کاربر‬‫کارفرما‬ ‫و‬‫متخصص‬ ‫و‬ ‫مهندس‬
‫یک‬ ‫بتونن‬ ‫تا‬ ‫کنیم‬ ‫منتقل‬ ‫مهندسین‬ ‫به‬ ‫رو‬ ‫کاربر‬ ‫های‬‫نیازمندی‬ ‫باید‬ ‫ما‬
‫کنن‬ ‫پیدا‬ ‫مساله‬ ‫برای‬ ‫حل‬‫راه‬(‫طراحی‬‫کنن‬)
‫ها‬‫نیازمندی‬
‫کاربر‬‫کارفرما‬ ‫و‬‫متخصص‬ ‫و‬ ‫مهندس‬
‫ب‬ ‫فهم‬ ‫قابل‬ ‫و‬ ‫دقیق‬ ‫بصورت‬ ‫را‬ ‫ها‬‫نیازمندی‬ ‫ما‬ ،‫دارد‬ ‫تفاوت‬ ‫گروه‬ ‫دو‬ ‫این‬ ‫ادبیات‬ ‫و‬ ‫زبان‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬‫رای‬
‫بنویسیم‬ ‫طراحی‬ ‫در‬ ‫استفاده‬ ‫قابل‬ ‫و‬ ‫متخصصین‬ ‫و‬ ‫مهندسین‬.
‫ها‬‫نیازمندی‬
NEEDS
‫کاربر‬‫کارفرما‬ ‫و‬‫متخصص‬ ‫و‬ ‫مهندس‬
‫واقع‬ ‫در‬‫ها‬‫نیازمندی‬‫به‬ ‫را‬‫الزامات‬‫کنیم‬‫می‬ ‫تبدیل‬
‫ها‬‫نیازمندی‬
Needs‫الزامات‬
Requirements
‫وقتی‬ ‫که‬ ‫خوام‬‫می‬ ‫ماشینم‬ ‫برای‬ ‫باند‬ ‫یه‬
‫های‬‫شیشه‬ ،‫کنم‬‫می‬ ‫زیاد‬ ‫آخر‬ ‫تا‬ ‫رو‬ ‫صداش‬
‫بشکنه‬ ‫رو‬ ‫ماشین‬
‫کاربر‬‫کارفرما‬ ‫و‬‫متخصص‬ ‫و‬ ‫مهندس‬
‫ها‬‫نیازمندی‬
Needs‫الزامات‬
Requirements
‫توان‬ ‫ماکزیمم‬ ‫بایستی‬ ‫باند‬ ‫سیستم‬
80‫الی‬100‫باشد‬ ‫داشته‬ ‫بل‬‫دسی‬
‫همراه‬ ‫مهمات‬ ‫که‬ ‫خوام‬‫می‬ ‫ربات‬ ‫یه‬
‫کنه‬ ‫جابجا‬ ‫رو‬ ‫سربازها‬
‫کاربر‬‫کارفرما‬ ‫و‬‫متخصص‬ ‫و‬ ‫مهندس‬
‫ها‬‫نیازمندی‬
Needs‫الزامات‬
Requirements
‫حمل‬ ‫به‬ ‫قادر‬ ‫بایستی‬ ‫ربات‬ ‫سیستم‬
‫حداقل‬100‫باشد‬ ‫بار‬ ‫کیلوگرم‬
‫بار‬ ‫بتواند‬ ‫بایستی‬ ‫ربات‬ ‫سیستم‬100‫را‬ ‫کیلوگرمی‬
‫کند‬ ‫حمل‬ ‫صاف‬ ‫زمین‬ ‫در‬ ‫ثانیه‬ ‫بر‬ ‫متر‬ ‫یک‬ ‫سرعت‬ ‫با‬
‫است‬ ‫شده‬ ‫کسب‬ ‫الزامات‬ ‫نوشتن‬ ‫در‬ ‫زیادی‬ ‫بسیار‬ ‫تجربیات‬ ،‫زمان‬ ‫طول‬ ‫در‬
‫نام‬ ‫به‬ ‫تخصص‬ ‫یک‬ ‫حتی‬ ‫و‬‫الزامات‬ ‫مهندسی‬‫است‬ ‫آمده‬ ‫بوجود‬ ‫کار‬ ‫این‬ ‫برای‬
Requirements Engineering
‫کنیم‬‫می‬ ‫مرور‬ ‫همدیگر‬ ‫با‬ ‫را‬ ‫الزامات‬ ‫توسعه‬ ‫زمینه‬ ‫در‬ ‫مهم‬ ‫اصل‬ ‫هفت‬ ،‫ادامه‬ ‫در‬
‫ها‬‫سیستم‬ ‫مهندسی‬ ‫المللی‬‫بین‬ ‫سازمان‬ ‫از‬ ‫راهنمای‬ ‫سند‬ ‫به‬ ‫توانید‬‫می‬ ‫بیشتر‬ ‫مطالعه‬ ‫برای‬(INCOSE)‫کنید‬ ‫مراجعه‬
Guide for Writing Requirements
‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬
‫تکی‬
singular
‫می‬ ‫بیان‬ ‫ا‬‫ر‬‫خواسته‬ ‫یک‬‫الزام‬‫هر‬‫د‬‫ر‬‫دا‬ ‫اصلی‬ ‫فعل‬‫یک‬ ‫با‬ ‫اصلی‬ ‫ت‬‫ر‬‫عبا‬ ‫یک‬‫و‬ ‫کند‬.
‫ترکیب‬‫از‬‫استفاده‬‫کننده‬‫ها‬‫نشانه‬ ‫تواند‬‫می‬
‫باشد‬‫ت‬‫ر‬‫عبا‬ ‫یک‬‫در‬‫الزام‬‫چند‬‫ثبت‬:‫و‬‫همچنین‬‫مگراینکه‬‫همچنین‬‫هرچند‬
‫نویسیم‬‫می‬‫جمله‬‫یک‬ ‫قالب‬‫در‬‫و‬‫مجزا‬ ‫ت‬‫ر‬‫بصو‬ ‫ا‬‫ر‬‫الزامات‬‫از‬ ‫یک‬‫هر‬‫یعنی‬
‫کنید‬ ‫تعیین‬ ‫فرد‬ ‫به‬‫منحصر‬ ‫شناسه‬ ‫یک‬‫الزام‬‫هر‬‫برای‬ ‫است‬‫بهتر‬:
R3.2.1‫سرعت‬‫حداکثر‬ ‫با‬‫بایستی‬‫بات‬‫ر‬‫سیستم‬100‫کند‬‫حرکت‬‫ساعت‬‫بر‬‫کیلومتر‬
R3.2.2‫ن‬‫ز‬‫و‬‫با‬ ‫ی‬‫بار‬ ‫بتواند‬‫بایستی‬ ‫بات‬‫ر‬‫سیستم‬100‫با‬ ‫ا‬‫ر‬ ‫کیلوگرم‬‫مناسب‬‫سرعت‬‫کند‬ ‫جابجا‬
‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬
‫کامل‬
complete
‫باشیم‬‫الزامات‬‫سایر‬ ‫به‬‫مراجعه‬ ‫به‬‫ناچار‬‫الزام‬ ‫یک‬ ‫فهم‬‫برای‬ ‫نباید‬
Fr > 80-100 MHz ‫است‬‫ممنوع‬ ‫الزامات‬‫کردن‬‫مشخص‬ ‫برای‬‫این‬‫مثل‬ ‫اتی‬‫ر‬‫عبا‬‫از‬‫استفاده‬‫پس‬:
‫فاعل‬ ‫و‬ ‫فعل‬ ‫ای‬‫ر‬‫دا‬ ‫کامل‬ ‫جمله‬ ‫یک‬ ‫در‬ ‫بایستی‬ ‫ام‬‫ز‬‫ال‬ ‫هر‬(‫قید‬ ‫و‬ ‫ل‬‫مفعو‬ ‫احتماال‬ ‫و‬)‫شود‬ ‫نوشته‬
‫بعنوان‬ ‫را‬ ‫اصول‬ ‫این‬ ‫فعال‬ ، ‫باشد‬ ‫نداشته‬ ‫دلیلی‬ ‫الزامات‬ ‫ثبت‬ ‫در‬ ‫ها‬‫گیری‬‫سخت‬ ‫این‬ ‫نظرتان‬ ‫به‬ ‫شاید‬best practice‫بپذیرید‬
‫ک‬ ‫تست‬ ،‫یم‬‫ز‬‫بسا‬ ،‫کنیم‬ ‫احی‬‫ر‬‫ط‬ ‫امات‬‫ز‬‫ال‬ ‫اساس‬ ‫بر‬ ‫ا‬‫ر‬ ‫دنظرمان‬‫ر‬‫مو‬ ‫سیستم‬ ‫است‬ ‫ار‬‫ر‬‫ق‬ ‫ما‬‫ن‬‫بدهیم‬ ‫تحویل‬ ‫و‬ ‫یم‬.
‫شد‬ ‫خواهند‬ ‫مواجه‬ ‫خطا‬ ‫و‬ ‫ی‬‫دشوار‬ ‫با‬‫بعدی‬ ‫های‬‫ر‬‫کا‬ ‫تمام‬ ،‫نشوند‬ ‫نوشته‬ ‫کامل‬ ‫و‬ ‫تکی‬ ‫ت‬‫ر‬‫بصو‬ ‫امات‬‫ز‬‫ال‬ ‫از‬‫یک‬ ‫هر‬ ‫اگر‬
‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬
‫ی‬‫ر‬‫و‬‫ضر‬
necessary
‫کنیم‬ ‫حذف‬‫ا‬‫ر‬‫آن‬ ‫نتوانیم‬‫یعنی‬ ،‫باشد‬‫الزامی‬ ‫باید‬‫الزام‬
‫نیست‬‫ی‬‫ر‬‫و‬‫ضر‬‫احتماال‬ ،‫د‬‫ر‬‫ندا‬‫ذینفعان‬‫برای‬‫ای‬‫ده‬‫و‬‫افز‬ ‫ش‬‫ز‬‫ار‬ ‫یا‬ ‫نیست‬ ‫مشخص‬‫الزام‬ ‫علت‬‫اگر‬
‫کنند‬‫می‬ ‫اضافه‬ ‫ه‬‫ژ‬‫و‬‫پر‬ ‫به‬‫ای‬‫بیهوده‬ ‫های‬‫هزینه‬‫و‬‫یسک‬‫ر‬،‫ی‬‫ر‬‫و‬‫غیرضر‬‫الزامات‬
‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬
‫پیاده‬‫از‬‫مستقل‬‫ی‬‫ساز‬
Implementationindependent
‫خواهم‬‫می‬ ‫آلومینیومی‬ ‫بات‬‫ر‬ ‫یک‬ ‫من‬
‫کند‬ ‫مشخص‬ ‫ا‬‫ر‬‫ای‬‫یشه‬‫ر‬‫و‬ ‫اصلی‬ ‫هدف‬‫و‬‫نیاز‬ ‫باید‬‫الزام‬
‫باشد‬ ‫هدف‬‫به‬ ‫سیدن‬‫ر‬‫حل‬‫اه‬‫ر‬‫شامل‬‫نباید‬ ‫امکان‬ ‫حد‬ ‫تا‬‫و‬
‫سوال‬ ‫به‬ ‫باید‬‫الزام‬ ،‫اصطالح‬ ‫به‬"‫چیز‬‫چه‬"‫سوال‬ ‫نه‬‫و‬ ‫بدهد‬‫جواب‬"‫چگونه‬"
‫آلومینیومی؟‬ ‫چرا‬‫از‬‫کمتر‬ ‫بایستی‬ ‫بات‬‫ر‬ ‫ن‬‫ز‬‫و‬100‫باشد‬ ‫کیلوگرم‬
‫فرصت‬ ،‫شود‬‫می‬ ‫مشخص‬ ‫حل‬‫اه‬‫ر‬ ‫ابتدا‬‫همان‬‫وقتی‬‫بهینه‬ ‫طراحی‬‫د‬‫و‬‫ر‬‫می‬‫بین‬‫از‬ ‫آینده‬‫در‬
‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬
‫نامبهم‬
unambiguous
‫باشد‬ ‫داشته‬ ‫صحیح‬‫گرامر‬ ‫باید‬‫الزام‬‫جمله‬
‫نمایید‬‫شفاف‬‫و‬ ‫تعریف‬ ‫ا‬‫ر‬‫سند‬‫در‬‫فته‬‫ر‬‫کار‬ ‫به‬ ‫اصطالحات‬،‫آن‬‫در‬‫و‬‫کنید‬‫پیوست‬‫الزامات‬‫سند‬ ‫به‬ ‫نامه‬‫ه‬‫ژ‬‫وا‬‫یک‬
‫بگیرید‬‫کمک‬‫ی‬‫تصویر‬‫نمایش‬‫از‬‫الزامات‬ ‫کردن‬‫شفاف‬‫برای‬
‫قیدها‬:‫تقریبا‬،‫دقیقا‬ ،‫کامال‬‫صفات‬:‫ل‬‫معمو‬ ،‫کلی‬،‫کمکی‬،‫مربوطه‬
‫است‬ ‫ممنوع‬‫و‬‫شوند‬‫می‬‫الزام‬‫ابهام‬ ‫باعث‬‫ل‬‫مجهو‬‫جمالت‬ ‫یا‬‫ضمیر‬‫از‬‫استفاده‬
‫کنند‬‫می‬‫تعیین‬‫مجاز‬‫های‬‫اسم‬‫و‬ ‫افعال‬‫از‬ ‫لیستی‬‫ها‬‫ه‬‫ژ‬‫پرو‬‫ی‬ ‫بعض‬
‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬
‫مثال‬
The Flight_Information_System shall display the tracking_Information
for relevant aircraft.
The Flight_Information_System shall display the tracking_Information
of each Aircraft located less than or equal to 20 kilometers from the
Airfield.
‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬
‫مثال‬
The Flight_Information_System shall usually be on line.
The Flight_Information_System shall have an Availability of at
least xx% over a period of at least yy hours
‫کلمه‬ ‫خود‬ ‫همچنان‬abailability‫شود‬ ‫تعریف‬ ‫نامه‬‫واژه‬ ‫در‬ ‫باید‬
‫در‬ ‫را‬ ‫سامانه‬ ‫شرایطی‬ ‫چه‬ ‫تحت‬ ‫اینکه‬‫دانیم‬‫می‬ ‫دسترس‬
‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬
‫تصدیق‬‫قابل‬
verifiable
‫با‬ ‫بتوانیم‬ ‫باید‬‫ابط‬‫و‬‫ر‬‫کمک‬‫ی‬ ‫یاض‬‫ر‬،‫کردن‬ ‫تست‬ ‫یا‬‫شویم‬ ‫مطمئن‬‫الزام‬‫تحقق‬‫از‬
‫شده؟‬‫محقق‬‫الزام‬‫بفهمم‬‫کجا‬‫از‬
«‫برپسند‬‫ر‬‫کا‬ ‫بایستی‬ ‫ی‬‫بر‬‫ر‬‫کا‬ ‫ابط‬‫ر‬(user friendly)‫باشد‬»
‫کنیم‬ ‫شروع‬ ‫را‬ ‫ها‬‫تست‬ ‫برای‬ ‫ریزی‬‫برنامه‬ ‫توانیم‬‫می‬ ‫الزامات‬ ‫تعیین‬ ‫از‬ ‫بعد‬
‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬
‫مطابقت‬
conforming
‫د‬‫ر‬‫استاندا‬‫ی‬‫الگو‬ ‫با‬
‫کرد‬ ‫مشخص‬‫الزامات‬‫جمالت‬‫برای‬ ‫د‬‫ر‬‫استاندا‬‫ی‬‫الگو‬ ‫چند‬ ‫یا‬ ‫یک‬ ‫توان‬‫می‬
‫لذا‬ ،‫ند‬‫ر‬‫ندا‬ ‫یکسانی‬ ‫اهمیت‬‫الزامات‬ ‫همه‬:
‫کلمه‬‫از‬‫بایستی‬‫کنید‬‫استفاده‬ ‫ی‬‫ر‬‫و‬‫ضر‬‫و‬‫مهم‬‫بسیار‬‫الزامات‬‫در‬
‫کلمه‬‫از‬‫باید‬‫کنید‬‫استفاده‬ ‫مطلوب‬‫و‬‫ترجیحی‬‫الزامات‬‫در‬
]‫فاعل‬[‫بایستی‬]‫فعل‬[]‫ل‬‫مفعو‬[]‫ل‬‫مفعو‬[]‫مکانی‬ ‫یا‬ ‫مانی‬‫ز‬‫شرایط‬[
[Condition] [Subject] [Action] [Object] [Constraint]
When signal x is received [Condition],
the system [Subject] shall set [Action]
the signal x received bit [Object]
within 2 seconds [Constraint].
‫مثال‬
‫کنید‬ ‫چک‬ ‫را‬ ‫مورد‬ ‫هفت‬ ‫این‬ ،‫نویسید‬‫می‬ ‫که‬ ‫الزاماتی‬ ‫تک‬ ‫تک‬ ‫برای‬ ‫باید‬
،‫خودتان‬ ‫های‬‫پروژه‬ ‫در‬ ‫هایتان‬‫آموخته‬ ‫و‬ ‫اشتباهات‬ ‫با‬ ‫متناسب‬ ‫همچنین‬
‫کنید‬ ‫تر‬‫تکمیل‬ ‫را‬ ‫لیست‬ ‫چک‬ ‫این‬ ‫بتدریج‬ ‫باید‬
‫ها‬‫سیستم‬ ‫مهندسی‬ ‫المللی‬‫بین‬ ‫سازمان‬ ‫از‬ ‫راهنمای‬ ‫سند‬ ‫به‬ ‫توانید‬‫می‬ ‫بیشتر‬ ‫مطالعه‬ ‫برای‬(INCOSE)‫کنید‬ ‫مراجعه‬
Guide for Writing Requirements
‫تکی‬‫کامل‬‫ی‬‫ر‬‫و‬‫ضر‬‫طراحی‬‫از‬‫مستقل‬‫نامبهم‬‫تصدیق‬ ‫قابل‬‫مطابقت‬
‫الزامات‬ ‫مستندسازی‬ ‫و‬ ‫ثبت‬ ‫نحوه‬ ‫و‬ ‫الزامات‬ ‫اهمیت‬ ‫درباره‬ ‫ارائه‬ ‫این‬ ‫در‬‫کردیم‬ ‫گفتگو‬
‫کرد‬ ‫خواهیم‬ ‫مطرح‬ ‫آینده‬ ‫در‬ ‫که‬ ‫موضوعاتی‬:
‫الزامات‬ ‫انواع‬(‫و‬ ‫محیطی‬ ‫شرایط‬ ،‫ها‬‫محدودیت‬ ،‫مشترک‬‫وجه‬ ،‫عملکردی‬ ،‫کارکردی‬ ‫الزامات‬)....
‫سیستم‬ ‫عمر‬ ‫چرخه‬ ‫در‬ ‫الزامات‬ ‫توسعه‬ ‫فرآیند‬
‫الزامات‬ ‫مدیریت‬(‫و‬ ‫فرآیندی‬ ‫های‬‫شاخص‬ ،‫الزامات‬ ‫تغییر‬ ،‫الزامات‬ ‫ردگیری‬)...
‫معکوس‬ ‫مهندسی‬ ‫و‬ ‫سیستمی‬ ‫طراحی‬ ‫در‬ ‫الزامات‬ ‫کاربرد‬
‫سیستم‬ ‫اطمینان‬ ‫قابلیت‬ ‫افزایش‬ ‫در‬ ‫الزامات‬ ‫کاربرد‬(FMEA)
‫پیچیده‬ ‫های‬‫پروژه‬ ‫در‬ ‫الزامات‬ ‫مدیریت‬ ‫افزارهای‬‫نرم‬ ‫و‬ ‫ابزارها‬
‫شما‬ ‫توجه‬ ‫از‬ ‫تشکر‬ ‫با‬
‫بگذاری‬ ‫میان‬ ‫در‬ ‫ما‬ ‫با‬ ‫زیر‬ ‫ایمیل‬ ‫طریق‬ ‫از‬ ‫را‬ ‫خود‬ ‫پیشنهادات‬ ‫و‬ ‫سواالت‬‫د‬
CONTACT@SYSTEMSENGINEER.IR

More Related Content

Similar to مبانی تعیین نیازمندی ها و الزامات

معرفی خدمات شرکت آماتک
معرفی خدمات شرکت آماتکمعرفی خدمات شرکت آماتک
معرفی خدمات شرکت آماتکEsmaeilGhoroghchian
 
لحاظ کردن موارد امنیتی در طراحی سرویس‌های از نوع RESTFUL
لحاظ کردن موارد امنیتی در طراحی سرویس‌های از نوع RESTFULلحاظ کردن موارد امنیتی در طراحی سرویس‌های از نوع RESTFUL
لحاظ کردن موارد امنیتی در طراحی سرویس‌های از نوع RESTFULSeyedMasoudMousavi
 
Repository pattern
Repository patternRepository pattern
Repository patternMahdi Fa
 
Machine learning and big-data-in-physics 13970711-Dr. Amin Nezarat
Machine learning and big-data-in-physics 13970711-Dr. Amin NezaratMachine learning and big-data-in-physics 13970711-Dr. Amin Nezarat
Machine learning and big-data-in-physics 13970711-Dr. Amin Nezarataminnezarat
 
How to be a better Developer & Programmer
How to be a better Developer & ProgrammerHow to be a better Developer & Programmer
How to be a better Developer & ProgrammerReza Razavi
 
مهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهدمهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهدعباس بني اسدي مقدم
 
نرم افزار حقوق و دستمزد
نرم افزار حقوق و دستمزدنرم افزار حقوق و دستمزد
نرم افزار حقوق و دستمزدJahangostarParsRaden
 
آشنایی با چابکی و اسکرام (Agile & scrum)
آشنایی با چابکی و اسکرام (Agile & scrum)آشنایی با چابکی و اسکرام (Agile & scrum)
آشنایی با چابکی و اسکرام (Agile & scrum)Neda Ansari
 
افزایش بهره وری سازمانی با استقرار سامانه مدیریت زمان
افزایش بهره وری سازمانی با استقرار سامانه مدیریت زمانافزایش بهره وری سازمانی با استقرار سامانه مدیریت زمان
افزایش بهره وری سازمانی با استقرار سامانه مدیریت زمانReihan Rabiei
 
بهینه سازی انتقال چمدان در فرودگاه
بهینه سازی انتقال چمدان در فرودگاهبهینه سازی انتقال چمدان در فرودگاه
بهینه سازی انتقال چمدان در فرودگاهyahya soleimani
 
multiple input & multiple output
multiple input & multiple outputmultiple input & multiple output
multiple input & multiple outputReza Afshar najafi
 

Similar to مبانی تعیین نیازمندی ها و الزامات (20)

rbdmap in ceph
rbdmap in ceph rbdmap in ceph
rbdmap in ceph
 
معرفی خدمات شرکت آماتک
معرفی خدمات شرکت آماتکمعرفی خدمات شرکت آماتک
معرفی خدمات شرکت آماتک
 
Pg autoscaling in ceph
Pg autoscaling in  cephPg autoscaling in  ceph
Pg autoscaling in ceph
 
لحاظ کردن موارد امنیتی در طراحی سرویس‌های از نوع RESTFUL
لحاظ کردن موارد امنیتی در طراحی سرویس‌های از نوع RESTFULلحاظ کردن موارد امنیتی در طراحی سرویس‌های از نوع RESTFUL
لحاظ کردن موارد امنیتی در طراحی سرویس‌های از نوع RESTFUL
 
Repository pattern
Repository patternRepository pattern
Repository pattern
 
Machine learning and big-data-in-physics 13970711-Dr. Amin Nezarat
Machine learning and big-data-in-physics 13970711-Dr. Amin NezaratMachine learning and big-data-in-physics 13970711-Dr. Amin Nezarat
Machine learning and big-data-in-physics 13970711-Dr. Amin Nezarat
 
How to be a better Developer & Programmer
How to be a better Developer & ProgrammerHow to be a better Developer & Programmer
How to be a better Developer & Programmer
 
how enable ceph dashboard
how enable  ceph dashboardhow enable  ceph dashboard
how enable ceph dashboard
 
Rbdmap ceph realease 0.2
Rbdmap ceph realease 0.2Rbdmap ceph realease 0.2
Rbdmap ceph realease 0.2
 
7 ترفند ضروری و موردنیاز در اکسل 2013
7 ترفند ضروری و موردنیاز در اکسل 20137 ترفند ضروری و موردنیاز در اکسل 2013
7 ترفند ضروری و موردنیاز در اکسل 2013
 
6 sigma
6 sigma6 sigma
6 sigma
 
مهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهدمهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهد
 
OpenStack and its service
OpenStack and its serviceOpenStack and its service
OpenStack and its service
 
نرم افزار حقوق و دستمزد
نرم افزار حقوق و دستمزدنرم افزار حقوق و دستمزد
نرم افزار حقوق و دستمزد
 
Stack Buffer Overflow Attack
Stack Buffer Overflow AttackStack Buffer Overflow Attack
Stack Buffer Overflow Attack
 
آشنایی با چابکی و اسکرام (Agile & scrum)
آشنایی با چابکی و اسکرام (Agile & scrum)آشنایی با چابکی و اسکرام (Agile & scrum)
آشنایی با چابکی و اسکرام (Agile & scrum)
 
افزایش بهره وری سازمانی با استقرار سامانه مدیریت زمان
افزایش بهره وری سازمانی با استقرار سامانه مدیریت زمانافزایش بهره وری سازمانی با استقرار سامانه مدیریت زمان
افزایش بهره وری سازمانی با استقرار سامانه مدیریت زمان
 
بهینه سازی انتقال چمدان در فرودگاه
بهینه سازی انتقال چمدان در فرودگاهبهینه سازی انتقال چمدان در فرودگاه
بهینه سازی انتقال چمدان در فرودگاه
 
multiple input & multiple output
multiple input & multiple outputmultiple input & multiple output
multiple input & multiple output
 
security book
security book security book
security book
 

مبانی تعیین نیازمندی ها و الزامات

  • 1. ‫الزامات‬ ‫و‬ ‫نیازها‬ ‫تعیین‬ ‫مهندسـی‬ ‫ها‬‫سیستم‬ ‫رسولی‬ ‫علی‬–‫سیستما‬ ‫تیم‬
  • 2. ‫یک‬ ‫با‬ ‫ای‬‫پروژه‬ ‫هر‬‫نیاز‬‫میشه‬ ‫شروع‬ ‫نیازها‬ ‫ها‬‫خواسته‬ ‫انتظارات‬ ‫اهداف‬ ‫مساله‬ ‫مشکل‬
  • 3. ‫یک‬ ‫با‬ ‫ای‬‫پروژه‬ ‫هر‬‫نیاز‬‫میشه‬ ‫شروع‬ ‫یک‬ ‫یعنی‬‫کاربر‬‫یا‬‫کارفرما‬ ‫نیازمندی‬‫یا‬‫مساله‬‫خودش‬ ‫کنه‬‫می‬ ‫مطرح‬ ‫رو‬
  • 4. ‫یک‬ ‫با‬ ‫ای‬‫پروژه‬ ‫هر‬‫نیاز‬‫میشه‬ ‫شروع‬ ‫رو‬ ‫نیاز‬ ‫این‬ ‫باید‬ ‫اول‬ ‫قدم‬ ‫در‬‫کنیم‬ ‫باید‬ ‫واقع‬ ‫در‬‫مساله‬‫صورت‬‫کنیم‬ ‫تعریف‬ ‫درستی‬ ‫به‬ ‫رو‬ ‫اگر‬‫مساله‬‫صورت‬،‫کنیم‬ ‫پیدا‬ ‫که‬ ‫هم‬ ‫جوابی‬ ‫هر‬ ،‫نباشه‬ ‫مشخص‬‫اشتباهه‬!
  • 5. ‫بریم‬ ‫سریع‬ ‫که‬ ‫داریم‬ ‫عادت‬ ‫ها‬‫مهندس‬ ‫ما‬ ‫سراغ‬‫حل‬‫مساله‬‫کردن‬ ‫پیدا‬ ‫و‬‫ها‬‫حل‬‫راه‬ ‫داره‬ ‫بیشتری‬ ‫لذت‬ ‫چون‬!‫کردیم‬ ‫تجربه‬ ‫رو‬ ‫مساله‬ ‫یک‬ ‫حل‬ ‫لذت‬ ‫هممون‬ ‫دقیق‬ ‫همیشه‬ ‫مساله‬ ‫صورت‬ ‫دانشگاه‬ ‫توی‬ ‫که‬ ‫خاطر‬ ‫این‬ ‫به‬ ‫هم‬ ‫شاید‬ ‫بودیم‬ ‫جواب‬ ‫و‬ ‫مساله‬ ‫حل‬‫راه‬ ‫دنبال‬ ‫باید‬ ‫فقط‬ ‫ما‬ ‫و‬ ‫بوده‬ ‫شفاف‬ ‫و‬ ‫محصول‬ ‫ساخت‬ ‫در‬ ،‫سیستم‬ ‫توسعه‬ ‫در‬ ،‫پروژه‬ ‫یک‬ ‫در‬ ‫ولی‬ ‫یک‬ ‫نیاز‬ ‫یا‬ ‫مساله‬‫صورت‬ ‫نکردن‬ ‫شفاف‬‫اشتباه‬‫مهلکه‬!
  • 6. ،‫کشیدن‬ ‫زحمت‬ ‫ماه‬ ‫چندین‬ ‫از‬ ‫بعد‬ ‫کنید‬ ‫تصور‬ ‫بگه‬ ‫کاربر‬ ‫یا‬ ‫کارفرما‬ ،‫پروژه‬ ‫تحویل‬ ‫موقع‬: ‫خواستم‬‫نمی‬ ‫چیزی‬ ‫همچین‬ ‫که‬ ‫من‬! ‫نمیخوره‬ ‫ما‬ ‫درد‬ ‫به‬ ‫اینکه‬! ‫ایکاش‬ ‫ولی‬ ‫عالیه‬ ‫خیلی‬...!
  • 7. ‫مساله‬ ‫صورت‬ ‫دقیق‬ ‫تعیین‬(‫نیازسنجی‬) ‫افزایش‬ ‫بر‬ ‫عالوه‬‫رضایت‬‫کاربر‬ ‫و‬ ‫کارفرما‬(‫ذینفعان‬) ‫به‬‫مساله‬ ‫حل‬‫کنه‬‫می‬ ‫کمک‬ ‫هم‬... ‫انیشتین‬ ‫قول‬ ‫به‬:
  • 8.
  • 9. ‫از‬ ‫بیش‬ ‫انیشتین‬ ‫مثل‬ ‫نیست‬ ‫الزم‬ ‫البته‬90‫کنیم‬ ‫الزامات‬ ‫و‬ ‫نیازها‬ ‫تعیین‬ ‫صرف‬ ‫رو‬ ‫پروژه‬ ‫وقت‬ ‫درصد‬ ‫بشیم‬ ‫مطمئن‬ ‫باید‬ ‫حتما‬ ‫ولی‬‫کافی‬ ‫منابع‬(‫نفرات‬ ‫و‬ ‫پول‬ ،‫زمان‬) ‫برای‬‫ها‬‫نیازمندی‬ ‫تعیین‬‫شده‬ ‫داده‬ ‫تخصیص‬ ‫بندی‬‫زمان‬ ‫برنامه‬ ‫در‬ ‫زیر‬ ‫های‬‫آیتم‬ ‫باید‬ ‫دیگه‬ ‫عبارت‬ ‫به‬(‫چارت‬‫گانت‬)‫بشه‬ ‫دیده‬ ‫پروژه‬: ‫سیستم‬ ‫الزامات‬ ‫تعیین‬A ‫زیرسیستم‬ ‫الزامات‬ ‫تعیین‬A1 ‫زیرسیستم‬ ‫الزامات‬ ‫تعیین‬A2
  • 10. ‫کاربر‬‫کارفرما‬ ‫و‬‫متخصص‬ ‫و‬ ‫مهندس‬ ‫یک‬ ‫بتونن‬ ‫تا‬ ‫کنیم‬ ‫منتقل‬ ‫مهندسین‬ ‫به‬ ‫رو‬ ‫کاربر‬ ‫های‬‫نیازمندی‬ ‫باید‬ ‫ما‬ ‫کنن‬ ‫پیدا‬ ‫مساله‬ ‫برای‬ ‫حل‬‫راه‬(‫طراحی‬‫کنن‬) ‫ها‬‫نیازمندی‬
  • 11. ‫کاربر‬‫کارفرما‬ ‫و‬‫متخصص‬ ‫و‬ ‫مهندس‬ ‫ب‬ ‫فهم‬ ‫قابل‬ ‫و‬ ‫دقیق‬ ‫بصورت‬ ‫را‬ ‫ها‬‫نیازمندی‬ ‫ما‬ ،‫دارد‬ ‫تفاوت‬ ‫گروه‬ ‫دو‬ ‫این‬ ‫ادبیات‬ ‫و‬ ‫زبان‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬‫رای‬ ‫بنویسیم‬ ‫طراحی‬ ‫در‬ ‫استفاده‬ ‫قابل‬ ‫و‬ ‫متخصصین‬ ‫و‬ ‫مهندسین‬. ‫ها‬‫نیازمندی‬ NEEDS
  • 12. ‫کاربر‬‫کارفرما‬ ‫و‬‫متخصص‬ ‫و‬ ‫مهندس‬ ‫واقع‬ ‫در‬‫ها‬‫نیازمندی‬‫به‬ ‫را‬‫الزامات‬‫کنیم‬‫می‬ ‫تبدیل‬ ‫ها‬‫نیازمندی‬ Needs‫الزامات‬ Requirements
  • 13. ‫وقتی‬ ‫که‬ ‫خوام‬‫می‬ ‫ماشینم‬ ‫برای‬ ‫باند‬ ‫یه‬ ‫های‬‫شیشه‬ ،‫کنم‬‫می‬ ‫زیاد‬ ‫آخر‬ ‫تا‬ ‫رو‬ ‫صداش‬ ‫بشکنه‬ ‫رو‬ ‫ماشین‬ ‫کاربر‬‫کارفرما‬ ‫و‬‫متخصص‬ ‫و‬ ‫مهندس‬ ‫ها‬‫نیازمندی‬ Needs‫الزامات‬ Requirements ‫توان‬ ‫ماکزیمم‬ ‫بایستی‬ ‫باند‬ ‫سیستم‬ 80‫الی‬100‫باشد‬ ‫داشته‬ ‫بل‬‫دسی‬
  • 14. ‫همراه‬ ‫مهمات‬ ‫که‬ ‫خوام‬‫می‬ ‫ربات‬ ‫یه‬ ‫کنه‬ ‫جابجا‬ ‫رو‬ ‫سربازها‬ ‫کاربر‬‫کارفرما‬ ‫و‬‫متخصص‬ ‫و‬ ‫مهندس‬ ‫ها‬‫نیازمندی‬ Needs‫الزامات‬ Requirements ‫حمل‬ ‫به‬ ‫قادر‬ ‫بایستی‬ ‫ربات‬ ‫سیستم‬ ‫حداقل‬100‫باشد‬ ‫بار‬ ‫کیلوگرم‬ ‫بار‬ ‫بتواند‬ ‫بایستی‬ ‫ربات‬ ‫سیستم‬100‫را‬ ‫کیلوگرمی‬ ‫کند‬ ‫حمل‬ ‫صاف‬ ‫زمین‬ ‫در‬ ‫ثانیه‬ ‫بر‬ ‫متر‬ ‫یک‬ ‫سرعت‬ ‫با‬
  • 15. ‫است‬ ‫شده‬ ‫کسب‬ ‫الزامات‬ ‫نوشتن‬ ‫در‬ ‫زیادی‬ ‫بسیار‬ ‫تجربیات‬ ،‫زمان‬ ‫طول‬ ‫در‬ ‫نام‬ ‫به‬ ‫تخصص‬ ‫یک‬ ‫حتی‬ ‫و‬‫الزامات‬ ‫مهندسی‬‫است‬ ‫آمده‬ ‫بوجود‬ ‫کار‬ ‫این‬ ‫برای‬ Requirements Engineering ‫کنیم‬‫می‬ ‫مرور‬ ‫همدیگر‬ ‫با‬ ‫را‬ ‫الزامات‬ ‫توسعه‬ ‫زمینه‬ ‫در‬ ‫مهم‬ ‫اصل‬ ‫هفت‬ ،‫ادامه‬ ‫در‬ ‫ها‬‫سیستم‬ ‫مهندسی‬ ‫المللی‬‫بین‬ ‫سازمان‬ ‫از‬ ‫راهنمای‬ ‫سند‬ ‫به‬ ‫توانید‬‫می‬ ‫بیشتر‬ ‫مطالعه‬ ‫برای‬(INCOSE)‫کنید‬ ‫مراجعه‬ Guide for Writing Requirements
  • 16. ‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬ ‫تکی‬ singular ‫می‬ ‫بیان‬ ‫ا‬‫ر‬‫خواسته‬ ‫یک‬‫الزام‬‫هر‬‫د‬‫ر‬‫دا‬ ‫اصلی‬ ‫فعل‬‫یک‬ ‫با‬ ‫اصلی‬ ‫ت‬‫ر‬‫عبا‬ ‫یک‬‫و‬ ‫کند‬. ‫ترکیب‬‫از‬‫استفاده‬‫کننده‬‫ها‬‫نشانه‬ ‫تواند‬‫می‬ ‫باشد‬‫ت‬‫ر‬‫عبا‬ ‫یک‬‫در‬‫الزام‬‫چند‬‫ثبت‬:‫و‬‫همچنین‬‫مگراینکه‬‫همچنین‬‫هرچند‬ ‫نویسیم‬‫می‬‫جمله‬‫یک‬ ‫قالب‬‫در‬‫و‬‫مجزا‬ ‫ت‬‫ر‬‫بصو‬ ‫ا‬‫ر‬‫الزامات‬‫از‬ ‫یک‬‫هر‬‫یعنی‬ ‫کنید‬ ‫تعیین‬ ‫فرد‬ ‫به‬‫منحصر‬ ‫شناسه‬ ‫یک‬‫الزام‬‫هر‬‫برای‬ ‫است‬‫بهتر‬: R3.2.1‫سرعت‬‫حداکثر‬ ‫با‬‫بایستی‬‫بات‬‫ر‬‫سیستم‬100‫کند‬‫حرکت‬‫ساعت‬‫بر‬‫کیلومتر‬ R3.2.2‫ن‬‫ز‬‫و‬‫با‬ ‫ی‬‫بار‬ ‫بتواند‬‫بایستی‬ ‫بات‬‫ر‬‫سیستم‬100‫با‬ ‫ا‬‫ر‬ ‫کیلوگرم‬‫مناسب‬‫سرعت‬‫کند‬ ‫جابجا‬
  • 17. ‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬ ‫کامل‬ complete ‫باشیم‬‫الزامات‬‫سایر‬ ‫به‬‫مراجعه‬ ‫به‬‫ناچار‬‫الزام‬ ‫یک‬ ‫فهم‬‫برای‬ ‫نباید‬ Fr > 80-100 MHz ‫است‬‫ممنوع‬ ‫الزامات‬‫کردن‬‫مشخص‬ ‫برای‬‫این‬‫مثل‬ ‫اتی‬‫ر‬‫عبا‬‫از‬‫استفاده‬‫پس‬: ‫فاعل‬ ‫و‬ ‫فعل‬ ‫ای‬‫ر‬‫دا‬ ‫کامل‬ ‫جمله‬ ‫یک‬ ‫در‬ ‫بایستی‬ ‫ام‬‫ز‬‫ال‬ ‫هر‬(‫قید‬ ‫و‬ ‫ل‬‫مفعو‬ ‫احتماال‬ ‫و‬)‫شود‬ ‫نوشته‬ ‫بعنوان‬ ‫را‬ ‫اصول‬ ‫این‬ ‫فعال‬ ، ‫باشد‬ ‫نداشته‬ ‫دلیلی‬ ‫الزامات‬ ‫ثبت‬ ‫در‬ ‫ها‬‫گیری‬‫سخت‬ ‫این‬ ‫نظرتان‬ ‫به‬ ‫شاید‬best practice‫بپذیرید‬ ‫ک‬ ‫تست‬ ،‫یم‬‫ز‬‫بسا‬ ،‫کنیم‬ ‫احی‬‫ر‬‫ط‬ ‫امات‬‫ز‬‫ال‬ ‫اساس‬ ‫بر‬ ‫ا‬‫ر‬ ‫دنظرمان‬‫ر‬‫مو‬ ‫سیستم‬ ‫است‬ ‫ار‬‫ر‬‫ق‬ ‫ما‬‫ن‬‫بدهیم‬ ‫تحویل‬ ‫و‬ ‫یم‬. ‫شد‬ ‫خواهند‬ ‫مواجه‬ ‫خطا‬ ‫و‬ ‫ی‬‫دشوار‬ ‫با‬‫بعدی‬ ‫های‬‫ر‬‫کا‬ ‫تمام‬ ،‫نشوند‬ ‫نوشته‬ ‫کامل‬ ‫و‬ ‫تکی‬ ‫ت‬‫ر‬‫بصو‬ ‫امات‬‫ز‬‫ال‬ ‫از‬‫یک‬ ‫هر‬ ‫اگر‬
  • 18. ‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬ ‫ی‬‫ر‬‫و‬‫ضر‬ necessary ‫کنیم‬ ‫حذف‬‫ا‬‫ر‬‫آن‬ ‫نتوانیم‬‫یعنی‬ ،‫باشد‬‫الزامی‬ ‫باید‬‫الزام‬ ‫نیست‬‫ی‬‫ر‬‫و‬‫ضر‬‫احتماال‬ ،‫د‬‫ر‬‫ندا‬‫ذینفعان‬‫برای‬‫ای‬‫ده‬‫و‬‫افز‬ ‫ش‬‫ز‬‫ار‬ ‫یا‬ ‫نیست‬ ‫مشخص‬‫الزام‬ ‫علت‬‫اگر‬ ‫کنند‬‫می‬ ‫اضافه‬ ‫ه‬‫ژ‬‫و‬‫پر‬ ‫به‬‫ای‬‫بیهوده‬ ‫های‬‫هزینه‬‫و‬‫یسک‬‫ر‬،‫ی‬‫ر‬‫و‬‫غیرضر‬‫الزامات‬
  • 19. ‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬ ‫پیاده‬‫از‬‫مستقل‬‫ی‬‫ساز‬ Implementationindependent ‫خواهم‬‫می‬ ‫آلومینیومی‬ ‫بات‬‫ر‬ ‫یک‬ ‫من‬ ‫کند‬ ‫مشخص‬ ‫ا‬‫ر‬‫ای‬‫یشه‬‫ر‬‫و‬ ‫اصلی‬ ‫هدف‬‫و‬‫نیاز‬ ‫باید‬‫الزام‬ ‫باشد‬ ‫هدف‬‫به‬ ‫سیدن‬‫ر‬‫حل‬‫اه‬‫ر‬‫شامل‬‫نباید‬ ‫امکان‬ ‫حد‬ ‫تا‬‫و‬ ‫سوال‬ ‫به‬ ‫باید‬‫الزام‬ ،‫اصطالح‬ ‫به‬"‫چیز‬‫چه‬"‫سوال‬ ‫نه‬‫و‬ ‫بدهد‬‫جواب‬"‫چگونه‬" ‫آلومینیومی؟‬ ‫چرا‬‫از‬‫کمتر‬ ‫بایستی‬ ‫بات‬‫ر‬ ‫ن‬‫ز‬‫و‬100‫باشد‬ ‫کیلوگرم‬ ‫فرصت‬ ،‫شود‬‫می‬ ‫مشخص‬ ‫حل‬‫اه‬‫ر‬ ‫ابتدا‬‫همان‬‫وقتی‬‫بهینه‬ ‫طراحی‬‫د‬‫و‬‫ر‬‫می‬‫بین‬‫از‬ ‫آینده‬‫در‬
  • 20. ‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬ ‫نامبهم‬ unambiguous ‫باشد‬ ‫داشته‬ ‫صحیح‬‫گرامر‬ ‫باید‬‫الزام‬‫جمله‬ ‫نمایید‬‫شفاف‬‫و‬ ‫تعریف‬ ‫ا‬‫ر‬‫سند‬‫در‬‫فته‬‫ر‬‫کار‬ ‫به‬ ‫اصطالحات‬،‫آن‬‫در‬‫و‬‫کنید‬‫پیوست‬‫الزامات‬‫سند‬ ‫به‬ ‫نامه‬‫ه‬‫ژ‬‫وا‬‫یک‬ ‫بگیرید‬‫کمک‬‫ی‬‫تصویر‬‫نمایش‬‫از‬‫الزامات‬ ‫کردن‬‫شفاف‬‫برای‬ ‫قیدها‬:‫تقریبا‬،‫دقیقا‬ ،‫کامال‬‫صفات‬:‫ل‬‫معمو‬ ،‫کلی‬،‫کمکی‬،‫مربوطه‬ ‫است‬ ‫ممنوع‬‫و‬‫شوند‬‫می‬‫الزام‬‫ابهام‬ ‫باعث‬‫ل‬‫مجهو‬‫جمالت‬ ‫یا‬‫ضمیر‬‫از‬‫استفاده‬ ‫کنند‬‫می‬‫تعیین‬‫مجاز‬‫های‬‫اسم‬‫و‬ ‫افعال‬‫از‬ ‫لیستی‬‫ها‬‫ه‬‫ژ‬‫پرو‬‫ی‬ ‫بعض‬
  • 21. ‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬ ‫مثال‬ The Flight_Information_System shall display the tracking_Information for relevant aircraft. The Flight_Information_System shall display the tracking_Information of each Aircraft located less than or equal to 20 kilometers from the Airfield.
  • 22. ‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬ ‫مثال‬ The Flight_Information_System shall usually be on line. The Flight_Information_System shall have an Availability of at least xx% over a period of at least yy hours ‫کلمه‬ ‫خود‬ ‫همچنان‬abailability‫شود‬ ‫تعریف‬ ‫نامه‬‫واژه‬ ‫در‬ ‫باید‬ ‫در‬ ‫را‬ ‫سامانه‬ ‫شرایطی‬ ‫چه‬ ‫تحت‬ ‫اینکه‬‫دانیم‬‫می‬ ‫دسترس‬
  • 23. ‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬ ‫تصدیق‬‫قابل‬ verifiable ‫با‬ ‫بتوانیم‬ ‫باید‬‫ابط‬‫و‬‫ر‬‫کمک‬‫ی‬ ‫یاض‬‫ر‬،‫کردن‬ ‫تست‬ ‫یا‬‫شویم‬ ‫مطمئن‬‫الزام‬‫تحقق‬‫از‬ ‫شده؟‬‫محقق‬‫الزام‬‫بفهمم‬‫کجا‬‫از‬ «‫برپسند‬‫ر‬‫کا‬ ‫بایستی‬ ‫ی‬‫بر‬‫ر‬‫کا‬ ‫ابط‬‫ر‬(user friendly)‫باشد‬» ‫کنیم‬ ‫شروع‬ ‫را‬ ‫ها‬‫تست‬ ‫برای‬ ‫ریزی‬‫برنامه‬ ‫توانیم‬‫می‬ ‫الزامات‬ ‫تعیین‬ ‫از‬ ‫بعد‬
  • 24. ‫خوب‬‫ام‬‫ز‬‫ال‬‫یک‬‫مشخصات‬ ‫مطابقت‬ conforming ‫د‬‫ر‬‫استاندا‬‫ی‬‫الگو‬ ‫با‬ ‫کرد‬ ‫مشخص‬‫الزامات‬‫جمالت‬‫برای‬ ‫د‬‫ر‬‫استاندا‬‫ی‬‫الگو‬ ‫چند‬ ‫یا‬ ‫یک‬ ‫توان‬‫می‬ ‫لذا‬ ،‫ند‬‫ر‬‫ندا‬ ‫یکسانی‬ ‫اهمیت‬‫الزامات‬ ‫همه‬: ‫کلمه‬‫از‬‫بایستی‬‫کنید‬‫استفاده‬ ‫ی‬‫ر‬‫و‬‫ضر‬‫و‬‫مهم‬‫بسیار‬‫الزامات‬‫در‬ ‫کلمه‬‫از‬‫باید‬‫کنید‬‫استفاده‬ ‫مطلوب‬‫و‬‫ترجیحی‬‫الزامات‬‫در‬ ]‫فاعل‬[‫بایستی‬]‫فعل‬[]‫ل‬‫مفعو‬[]‫ل‬‫مفعو‬[]‫مکانی‬ ‫یا‬ ‫مانی‬‫ز‬‫شرایط‬[
  • 25. [Condition] [Subject] [Action] [Object] [Constraint] When signal x is received [Condition], the system [Subject] shall set [Action] the signal x received bit [Object] within 2 seconds [Constraint]. ‫مثال‬
  • 26. ‫کنید‬ ‫چک‬ ‫را‬ ‫مورد‬ ‫هفت‬ ‫این‬ ،‫نویسید‬‫می‬ ‫که‬ ‫الزاماتی‬ ‫تک‬ ‫تک‬ ‫برای‬ ‫باید‬ ،‫خودتان‬ ‫های‬‫پروژه‬ ‫در‬ ‫هایتان‬‫آموخته‬ ‫و‬ ‫اشتباهات‬ ‫با‬ ‫متناسب‬ ‫همچنین‬ ‫کنید‬ ‫تر‬‫تکمیل‬ ‫را‬ ‫لیست‬ ‫چک‬ ‫این‬ ‫بتدریج‬ ‫باید‬ ‫ها‬‫سیستم‬ ‫مهندسی‬ ‫المللی‬‫بین‬ ‫سازمان‬ ‫از‬ ‫راهنمای‬ ‫سند‬ ‫به‬ ‫توانید‬‫می‬ ‫بیشتر‬ ‫مطالعه‬ ‫برای‬(INCOSE)‫کنید‬ ‫مراجعه‬ Guide for Writing Requirements ‫تکی‬‫کامل‬‫ی‬‫ر‬‫و‬‫ضر‬‫طراحی‬‫از‬‫مستقل‬‫نامبهم‬‫تصدیق‬ ‫قابل‬‫مطابقت‬
  • 27. ‫الزامات‬ ‫مستندسازی‬ ‫و‬ ‫ثبت‬ ‫نحوه‬ ‫و‬ ‫الزامات‬ ‫اهمیت‬ ‫درباره‬ ‫ارائه‬ ‫این‬ ‫در‬‫کردیم‬ ‫گفتگو‬ ‫کرد‬ ‫خواهیم‬ ‫مطرح‬ ‫آینده‬ ‫در‬ ‫که‬ ‫موضوعاتی‬: ‫الزامات‬ ‫انواع‬(‫و‬ ‫محیطی‬ ‫شرایط‬ ،‫ها‬‫محدودیت‬ ،‫مشترک‬‫وجه‬ ،‫عملکردی‬ ،‫کارکردی‬ ‫الزامات‬).... ‫سیستم‬ ‫عمر‬ ‫چرخه‬ ‫در‬ ‫الزامات‬ ‫توسعه‬ ‫فرآیند‬ ‫الزامات‬ ‫مدیریت‬(‫و‬ ‫فرآیندی‬ ‫های‬‫شاخص‬ ،‫الزامات‬ ‫تغییر‬ ،‫الزامات‬ ‫ردگیری‬)... ‫معکوس‬ ‫مهندسی‬ ‫و‬ ‫سیستمی‬ ‫طراحی‬ ‫در‬ ‫الزامات‬ ‫کاربرد‬ ‫سیستم‬ ‫اطمینان‬ ‫قابلیت‬ ‫افزایش‬ ‫در‬ ‫الزامات‬ ‫کاربرد‬(FMEA) ‫پیچیده‬ ‫های‬‫پروژه‬ ‫در‬ ‫الزامات‬ ‫مدیریت‬ ‫افزارهای‬‫نرم‬ ‫و‬ ‫ابزارها‬
  • 28. ‫شما‬ ‫توجه‬ ‫از‬ ‫تشکر‬ ‫با‬ ‫بگذاری‬ ‫میان‬ ‫در‬ ‫ما‬ ‫با‬ ‫زیر‬ ‫ایمیل‬ ‫طریق‬ ‫از‬ ‫را‬ ‫خود‬ ‫پیشنهادات‬ ‫و‬ ‫سواالت‬‫د‬ CONTACT@SYSTEMSENGINEER.IR

Editor's Notes

  1. A requirement statement addresses a single thought. Completeness and singularity need to be balanced, and modularity has to be used to ensure that related requirements are grouped.
  2. A requirement statement is complete in and of itself. اثربخشی سایر کارها مثل تجزیه، تخصیص، صحه گذاری و اعتباردهی به این ویژگی بستگی دارد: فهم یک الزام، مستقل از سایر الزامات البته میتوان به سایر اسناد یا استانداردها ارجاع داد
  3. When customer requirements specify design, it should be questioned. A proper requirement should deal with the entity being specified as black box by describing what transformation is to be performed by the box The requirement should specify ‘what’ is to be done at that level, not ‘how’ it is to be done at that level.
  4. یک مفهوم واحد توسط نویسنده، طراح و تست کننده درک شود
  5. یک مفهوم واحد توسط نویسنده، طراح و تست کننده درک شود
  6. یک مفهوم واحد توسط نویسنده، طراح و تست کننده درک شود
  7. مثال گفته شده یک الزام معتبر، اما غیرقابل ارزیابی (صحه گذاری) است. این نوع الزام نشانه ای است مبنی بر اینکه یک مصالحه (trade study) برای مشخص کردن الزام حداکثر برد مورد نیاز است. هر الزامی بایستی فقط از طریق یک روش صحه گذاری شود. اگر روش های متعددی برای صحه گذاری یک الزام موردنیاز است، آن الزام بایستی به الزامات ریزتر شکسته شود.
  8. وقتی که همه ی الزامات در یک سازمان شکل و شمایل واحدی داشته باشند و از یک تمپلیت استانداردی پیروی کنند، نوشتن، بازبینی و صحه گذاری هر الزام آسان تر خواهد بود. Have and use just one term per concept in the whole set of requirements. Synonyms are not acceptable. Use a glossary to define each term used. This may be as simple as a list of nouns and verbs allowable in the project.
  9. Conditions are measurable qualitative or quantitative attributes that are stipulated for a requirement. They further qualify a requirement that is needed, and provide attributes that permit a requirement to be formulated and stated in a manner that can be validated and verified. Conditions may limit the options open to a designer. It is important to transform the stakeholder needs into stakeholder requirements without imposing unnecessary bounds on the solution space. Constraints restrict the design solution or implementation of the systems engineering process. Constraints may apply across all requirements, may be specified in a relationship to a specific requirement or set of requirements, or may be identified as stand-alone requirements (i.e., not bounding any specific requirement). Examples of constraints include: interfaces to already existing systems (e.g., format, protocol, or content) where the interface cannot be changed, physical size limitations (e.g., a controller shall fit within a limited space in an airplane wing), laws of a particular country, available duration or budget, pre-existing technology platform, user or operator capabilities and limitations.
  10. Conditions are measurable qualitative or quantitative attributes that are stipulated for a requirement. They further qualify a requirement that is needed, and provide attributes that permit a requirement to be formulated and stated in a manner that can be validated and verified. Conditions may limit the options open to a designer. It is important to transform the stakeholder needs into stakeholder requirements without imposing unnecessary bounds on the solution space. Constraints restrict the design solution or implementation of the systems engineering process. Constraints may apply across all requirements, may be specified in a relationship to a specific requirement or set of requirements, or may be identified as stand-alone requirements (i.e., not bounding any specific requirement). Examples of constraints include: interfaces to already existing systems (e.g., format, protocol, or content) where the interface cannot be changed, physical size limitations (e.g., a controller shall fit within a limited space in an airplane wing), laws of a particular country, available duration or budget, pre-existing technology platform, user or operator capabilities and limitations.