این مطلب بخشی از آموزش اصول برنامه نویسی شی گرا هست.
یک مدل متداول برای طبقه بندی ویژگی های کیفی نرم افزار، مخفف اختصاری FURPS (راهنمای تلفظ) است که مخفف عملکرد (Functionality)، کاربرد پذیری (Usability)، قابلیت اطمینان (Reliability)، کارایی (Performance) و قابلیت پشتیبانی (Supportability) است. در هنگام نوشتن و تعیین نیازمندی ها باید چک لیست FURPS را در نظر بگیریم.
عملکرد (Functionality) به قابلیت ها و ویژگی های برنامه اشاره دارد که هسته اصلی آنچه مشتری می خواهد را تشکیل میدهد.
کاربرد پذیری (Usability) با شخص استفاده کننده از برنامه سروکار دارد. اینکه آیا استفاده از برنامه آسان است؟ آیا برنامه دارای ثبات است؟ آیا مستندات برنامه دقیق و کامل است؟
برای تعریف قابلیت اطمینان (Reliability) نکته اول تعریف میزان قابل قبول برای در دسترس نبودن برنامه (Downtime) است. پیش بینی خرابی های سیستم و چگونگی بازیابی آن نیز اهمیت دارند.
کارایی (Performance) میزان زمان پاسخ برنامه و محدودیت های استفاده از منابع را تعیین میکند.
در قابلیت پشتیبانی (Supportability) اطمینان حاصل کنید که برنامه را می توان مورد آزمایش، گسترش، سرویس دهی و نصب و پیکربندی قرار داد.
علاوه بر این پنج دسته، الگوی افزودنی به مدل FURPS با نام FURPS Plus نیز وجود دارد که چهار دسته دیگر را اضافه می کند.
طراحی (Design) که محدودیت های ساخت برنامه را نشان می دهد، بطور مثال برنامه باید از دیتابیس رابطه ای استفاده کند.
پیاده سازی (Implementation)، آیا برنامه باید به زبانی خاص نوشته شود؟ آیا معیارها یا متدولوژی هایی وجود دارند که باید رعایت شوند؟
رابط (Interface) (با رابط کاربری اشتباه نگیرید) به طور معمول به یک سیستم خارجی که باید با آن ارتباط برقرار شود، گفته می شود.
و در آخر، الزامات فیزیکی (Physical)، محدودیتهای فیزیکی واقعی مربوط به سخت افزاری که برنامه در آن مستقر خواهد شد.
به خاطر داشته باشید که هدف از FURPS Plus این است که شما را تشویق کند تا در مورد بعضی از قسمت های مورد نیاز کلیدی فکر کنید. اما همه این موارد مربوط به همه پروژه نخواهد بود.
آنالیز نیازمندی ها خیلی فراتر از چیزی است که ما در این آموزش مطرح می کنیم. اگر نیاز به مطالعه جامع تری در این خصوص دارید کتاب های بسیار خوبی در این زمینه موجود است. کتاب Software Requirements نوشته Karl Wiegers و کتاب Mastering the Requirements Process نوشته Suzanne Robertson و James Robertson رفرنس های بسیار خوبی هستند. اگر شما نیاز به استخراج نیازمندی های مشتری دارید، مخصوصا زمانیکه آشنایی کافی با مشتری و نیازهایش ندارید، این کتاب ها به شما بسیار کمک خواهند کرد.
قسمت قبلی : آموزش اصول برنامه نویسی شی گرا : تعریف نیازمندی ها
قسمت بعدی : آموزش اصول برنامه نویسی شی گرا : چالش دستگاه پخش موسیقی