صفحه 1:
ل 7ن
02 ea royce
فصل دوم: دسته بندی نیازمندیها
صفحه 2:
* دسته بندی نیازمندیها
* دسته بندی نیازمندیهای غیر کارکردی
* بررسی مدل ۳175+
* روش های اندازه گیری نیازمندی( متریک ...)
* جمع بندی
* مراجع
صفحه 3:
مقدمه
؟ نیازمندیها به طور کلی به سه دسته تقسیم میشوند:
نیازمندیهای کارکردی ([۳611016)
تنیازمندیهای غیر کار کردی (Non-Functional)
نیازمندیهای فرآیند (ظ8صطهتثنای ۴8 85ع۲۵6ظ)
صفحه 4:
دسته بندی نیازمندیها
Deseribe consneints
Product Process placed on the
requirement requirement development
Quality Deserbe qulites ofthe system
requirement such a performance, azabiiy,
(Non-Functional) safey, Greta
Functional
requirement
Describe
Properties of the
صفحه 5:
دسته gui نیازمندیها (ادامه)
* نیازمندی محصول
نیازمندیهای کارکردی
* آنچه سیستم باید انجام دهد را بیان میکند. نظیر عملیات لام در یک سیستم بانکداری
نیازتندنهاق غیرکارکزدی ( کیقی)
" بیان کننده محدودیتهایی برای فضای راه حل است: نظیر کارآیی: امنیت
مندیهای فرآیند
" قيودى را تعيين ميكند كه براى راي فريئد توسعه در نظر كرفته شده است نظیر ینکه
سیستم باید براساس پلتفرم EE’ :أل تفه زد
صفحه 6:
نیا زمندیهای کار کردی (۴۷۳۲۱۵۳۵۱)
* نیازمندیهای کمی و قلبل اندازه گیری است که به بیان سرویسهایی که سیستم باید
ارائه دهد میپردازد.
مندیها نحوه واکنش سیستم در برابر ورودیهای خاص, و اینکه سیستم در
ای خاص چه کاری باید انجام دهد را نشان میدهد.
sale
موا
* در واقع عمليلتى را كه سيستم بدون در نظر كرفتن قيود فيزيكى بليد قادر به انجام
آن باشد را بيان ميكند.
صفحه 7:
(40fof) (Functional) 6055 5 clewic ils
این نوع نیازمندی تعیین کننده موارد زیر است:
تاورودیهایی که سیستم بايد بيذيرد.
تاخروجیهایی که سیستم باید تولید کند.
حقافهآهلیی کة سكم لیف افنشیره کته که سازز سیستمها امک السك |"
آن استفاده کنند
7امحاسباتی که سیستم باید انجام دهد
7زمانبندی و همگام سازی موارد فوق.
صفحه 8:
نیازمندیهای غیر کار کردی (Non-Functional)
؟ نیازمندیهای غیرکارکردی قیودی را تعریف میکنند که برای سرویسها و
عملیلتی که توسط سیستم ارلئه میشود اعمال میگردد. نظیر قیود زمانی»
قیود مربوط به فرآیند توسعه استانداردهاء و غیره را توصیف میکند.
* اين نیازمندیها برای بیان موارد زیر استفاده میشود:
تانیازمندیهای کیفی و نه زا قابل اندازه گیری
بیان کیفیت مورد انتظار از نیازهای کارکردی
تآپیان محدودیتها مانند محدودیتهای نمانی. مالی. استانداردها و غیره.
صفحه 9:
نیازمندیهای غیر کار کردی (ادامه)
؟ نیازمندیهای غیرکارکردی کیفیت یا خصوصیات عمومی سیستم نهایی را
* نبازمندیهای غیرکارکردی محدودیتهایی را بر محصول مورد تولید و
فرآیند تولید اعمال میکند و قیود خارجی که در محصول باید رعایت
شود را تعیین ميکند.
* مثالهایی از نیازمندیهای غیرکارکردی شامل ایمنی. امنیت قابلیت
استفاده. کارآیی....
صفحه 10:
دسته بندی نیازمندیهای غیر کارکردی
صفحه 11:
دسته بندی نیازمندیهای غیر کار کردی (ادامه)
مندیهای محصول
تانیازمندیهایی که مشخص کند محصول ارائه شده باید بگونه ای خاص رفتار
کند. بعنوان مثال سرعت اجراه قابلیت اطمینان و غیره
تاخصوصیات: مطاویین که سیستم. پا زیرسپستها Gat Vp dtp SEBO AY
0اغلب ۳ ]ها قیود مربوط به رفتار سیستم اجرایی را مشخص میکند.
* نیازمندیهای سازمانی (فر آیند)
تانیازمندیهلیی که نشلّت گرفته از سیاستها و رویه های بنگاه تجاری باشد
مانند استانداردهای فرایند مورد استفاده. نیازمندیهای پیاده سازی و غیره.
تاستال : تحویل» پیاده: سازی استاندارذها:
صفحه 12:
دسته بندی نیاز مندیهای غیر کار کردی (ادامه)
* نیازمندیهای خارجی
تا نیازمندی های که برخاسته از فاکتورهایی خارج از سیستم و فرایند توسعه آن
andl مانتد تیارهتدیهای ارتباطی: شیتنتم هورهنطر جا یک تیستم تخارچی:
نیازمندیهای قانونی و غیرهه
تامغال ( قیود اقتصادی» قانوتی» همکاری با سایر سیستمها)
تاين نوع نیازمندی هم برای محصول و هم برای فرآیند قابل تعریف است.
از محیطی که سیستم در آن توسعه مییایذ مشتق میود:
این نیازمندی برمبنای موارد زیر است:
لا اطلاعات دامنه کاربرد
| ملاحضات سازمانی
لأ نياز به سيستم براى كار با ساير سيستمها
أ قوانین سلامت. امنیت. حفاظت داده ها
صفحه 13:
مثالی از نیازمندیهای محصول
* سرویس 16 از سیستم مورد نظر باید ۹٩ دردسترس باشد.
* سیستم ۷ باید ۸ تراکنش در ثانیه پردازش کند. (یک نیازمندی کارآیی)
* برخی نیازمندیهای محصول به کد منبع سیستم مربوط ميشود. مثال:
سیستم باید برای کامپیوترهای مکینتاش تهیه شود. یک نیازمندی جابه
جایی پذیری.
صفحه 14:
تضاد در نیازمندیهای محصول
* نیازمندیهای محصول گاهی اوقات با یکدیگر در تضاد هستند. به عنوان
مثال:
تیک نیازمندی که سطح مشخصی از کارآیی را تعیین میکند ممکن است با
قابلیت اطمینان و امنیت در تناقض باشد چون از ظرفیت پردازنده برای
انجام برخی بررسیها در سیستم استفاده میکند.
صفحه 15:
مثالهایی از نیازمندیهای سازمانی
* نیازمندیهای فرآیند تعیین کننده قیود برای فرآیند توسعه سیستم
است.
* نیازمندیهای فرآیند شامل:
۲7 نیازمندیها برای استانداردهای توسعه و روشهایی که باید دنبال شود.
۲7 ابزارهای 2۸۹5 مورد استفاده
۲7 گزارش مدیریتی که باید فراهم شود.
صفحه 16:
مثالهایی از نیازمندیهای خارجی
؟ نیازمندیهای خارجی کمتر در قالب " سیستم باید ..." یا "سیستم
نباید ..." بیان ميشوند. بلکه به صورت توصیفی از محیطی هستند که
سیستم در آن توسعه مییابد و باید مد نظر قرار بگیرد.
صفحه 17:
+FRUPS Joo
یکی از روشهای طبقه بندی نیازمندیها مدل ۳15+ است که شامل:
(54-5) Functionality ۰
(LsbELt) Reliability 0
(adel cL) Usability 0
Gl) Performance 0
(oils clu) Supportability 0
“.” در 1۳35[] ۳+ شامل نیازمندیهای:
۲ کاصنهتاعگه) 1265100 (محنودیتهای طرلحی)
(gj ay glpsods) Implementation Requirements 0
Gauls sleoojs) Interface Requirements 0
(Sd sltads) Physical Requirements 9
Constraint »s:5 3L.+; Quality Requirement ost, RUPS Ju: p19 °
«cw Fequirements
صفحه 18:
(Functionality) 0,56
(Suitability) .5053),0
؟ کارها یا عملیات بلید رضایت بخش باشند یعنی عملیات مطابق توصیفات
نیزمندیها عمل کنند ویک خروجی معقول, منطقی و قلبل قبول جهت
برآورد یک هدف خاص مورد نظر کاربر تولید نماید.
(Accuracy) ©3500
تاعدم دقت و صحت شامل موارد زیر است:
J نتیجه غیر دقیق و ناصحیح ناشی از داده ناقص
ل ناسازگاری بین رویه های عملیاتی واقعی و موارد تعریف شده در راهنمای
عملیاتی
! تفاوت بين نتایج واقعی و نتایج منطقی مورد انتظار در حین اجرای عملیات
صفحه 19:
(alot) - (Functionality) كاركرذ
* همكارى با سيستم هاى )5 (nteroperability)
لاسيستم بايد قابليت همكارى با ساير سيستمها را داشته باشد.
(Security) c..01°
تاعدم وجود امنیت شامل موارد زیر است:
ل| ناتوانی در جلوگیری از فاش شدن داده ها و اطلاعات خروجی امن
ناتوانی در جلوگیری از نابودی داده های مهم "
لأ ناتوانی در جلوگیری از دسترسیها و عملیات غیرمچاز
صفحه 20:
قابلیت اطمینان ity)
(Reliabi
نلیی سیستم برای انجام عملیات مورد نیاز تحت شرلیط عنوان شده است. در واقع قیودی برای را
آجرای سیستم تعریف میکند.
5
دسترسی پذیری (/۸۷۵11811113: آیا سیستم در هنگام درخواست کاربر نهایی موجود است.
خ خرابی (۲21:6 ۳۵1110176): چند وقت یکبار سیستم در ارلئه سرویس مورد انتظار کاربر شکست
میخورد.
He (Maturity) Juss ésh © بودن نرم افزار از خطا و اشکال
* تحمل پذیری خطا (Fault Tolerance) قابلیت نرم افزار در حفظ یک سطح ثلبت و مشخص از
کارایی در هنگام بروز خطاهای عملیاتی.
8 قبلیت 3... Cubls (Recoverability) سیستم در دوباره برقرار کردن سطح مناسبی از
wl)
صفحه 21:
قابلیت استفاده (Usability)
* سهولت استفاده یا یادگیری کار با سیستم توسط کاربر و مربوط به واسط کاربری و تعامل کاربر تهایی با سیستم است.
Understandability) ss au + کاربران جدید میتانند درک کنند كه نم فا مناسب هست با خبر و از جكوتكى
استفاه از آن در مور خاص اطلع داد
تا
یادگبری (وافلاطهصهم
(Attractiveness) cule *
COperability) g9y se *
عملياتى بودن نرم اقزار بر موارد زير تاكيد دارد:
اتناسب نرم اقزار با وظيفه معبوله.
خود توصيفكرى ترم لفزار
7 قبلیت كتترل نرم افزار
مطابقت نرم افزار با اننظارات كارير
تحمل پذیری نرم افزار در برابر خطا
* دستورالعمل مناسب برای کارب نهایی.پیمهای خطای حاوی اطلاعات مقید. امکانات 9610 واسطهای سازکار بعث ارتقای
قابلیت استفاده ميشود. بحث قراردادههای واسط کاربر
صفحه 22:
کار آبی (Performance)
* خصوصیات قابل کمی سازی سیستم است که سرعت عملیات سیستم را
* انواع نیازمندیهای کارآیی:
Response timeo
Throughputso
Recovery Timed
Resource usageo
صفحه 23:
قابلیت پشتیبانی 5۱000۳۲۲۵0۱۱۱۳
* میزان سهولت تغییر سیستم بعد از نصب.
Testability ۶
Adaptability *
maintainability ۶
compatibility ۶
configurability °
Changeability *
installability *
scalability *
Localizability *
Ease of installation °
صفحه 24:
+-
(Design requirement) .1,b clysr
مقید کردن طراحی ( به عنوان مثال: نیاز به پایگاه داده رابطه ای) 7
مندیهای پیاده سازی ( 60و۲6 صمناعا صمصو اوه
7" مقيد كردن كد و ساخت نرم افزار ( به عنوان مثال: استانداردهای کد نویسی, زبان پیاده
سازی, تکنولوژی مورد استفاده. .)
* نیازمندیهای واسطه ( و۲ ومعتعاص)
لا يك نیازمندی برای تعامل با موارد خارچی.
(Physical requirement ) 63.3 cle
یکی که برای سخت افزار مورد استفاده در سیستم تعیین میشود. مثال اندازه.
ذنه
صفحه 25:
دشواریهای نیاز مندیهای غیر کار کردی
* بیان ۳1۴ ]ها دشوار است. برخی دلایل این مسئله:
ل قيود معين به راهكار طراحی مرتبط است که در مرحله نیازمندیها شناخته شده
7 قیود معین بسیار ذهنی هستند که فقط از طریق ارزیابیهای تجربی پیچیده قابل
تحیین هستند.
7 نیازمندیهای غیروظیفه ای به یک يا چند نیازمندی وظیفه ای مرتبط هستند.
[۲ نیازمندهای غیروظیفه ای ممکن است تناقض یا تضاد داشته باشند.
هیچ قانون سراسری و راهنمایی وجود ندارد که تعیین کند چه زمانی
نیازمندیهای غیرکارکردی به شکل بهینه برآورده شده است.
صفحه 26:
اندازه گیری نیازمندیها
* هدف از انجام اندازه گیری برای :
gto
لاارزيابى
لابيش بينى
تاتوسعه و بهبود
۴ امکان دستیابی به اهداف فوق با اندازه گیری برآورده میشود.
صفحه 27:
هدف از انجام اندازه گیری (ادامه)
* ارزیابی وضعیت پروژه جاری
* ردكيرى ریسکهای بالقوه
* کثتف موضوعات مشکل زا قبل از اینکه دچار وضعیت بحرانی شوند.
* بهبود فرایند کاری پا وظایف
؟ ارزیابی توانایی تیم نرم افزار به منظور کنترل کیفیت محصولات کاری
نرم افزار
صفحه 28:
اصول اندازه گیری
* هدف از اندازه كيرى بايد قبل از شروع جمع آوری داده ها تعیین شود.
* هر معیار فنی باید به شیوه ای غیرمبهم تعریف شود.
© معیارها باید براساس تفوری که برای دامنه کاربرد مغتبر است استفاده شود. ( مثال:
معیارها برای طراحی باید بر اساس مفاهیم و اصول پایه طراحی باشد)
* معيارها اید برای بهترین مطابقت با یک محصول یا فرآیند خاص تنظیم شوند.
صفحه 29:
مقیاس» متریک» شاخص
*مقیاس (۷]6851076): یک نشانه کمی از مقدان میزان. بعد.
ظرفیت. یا اندازه یک خصوصیت از یک محصول یا فرآیند را فراهم
* متریک (1۷]61710): یک رابطه کمی Ge مقیاسها است که با توجه
به نیاز و شرایط مسئله تعریف ميشود.
* شاخص (1120116001:01) : یک متریک یا ترکیبی از متریکها است که
بینش خاصی در مورد فرآیند» پروژه. يا محصول نرم افزاری فراهم میکند.
صفحه 30:
سس ۲۳[
خصوصیات مناسب برای معیارهای نرم افزار
* ساده و قابل محاسبه
* به طور تجربی و شهودی متقاعد کننده
* سازگار و عینی
* سازگار در واحدها و ابعاد
* مستقل از زبان برنامه نویسی
صفحه 31:
سس ۲۳[
متریک هایی برای کیفیت نیاز مندیها
فرض کنید ء,1۳ ۷ 11 < 10و داشته باشیم:
- 11: تعداد ک ان یایمندیها
- ,10: تعداد نیازمندیهای کارکردی
- م1 : تعداد نیازمندیهایمی رکلرکردی
صفحه 32:
متریک هایی برای کیفیت نباز مندیها (ادامه)
(Specificity) ply! pac -
Q = n,/n, -
> و۳: تعداد ن بازم دیهاییکه همه مرورکنندها تسفسیر یکسانینسبنسه
abby!
- کامل بودن (Completeness)
Q=n,/(m,X n,) -
7 ,0: تسعداد نیایمندهایک ارکردییکنا
- ب13: تعداد ورودیهایتسعیینشدم
- ,10: تسعداد وضعیتهای نت عیینشده
صفحه 33:
متریک هایی برای کیفیت توصیف نیازمندیها
Q3= n/ [n, +n,,JO
لا ,11 : تعداد ن_باژم دیهاییکه لعتبارسنجیشدم لست
لا .۳ : تعداد نیام ندیهاییکه تا ک نورلعتبرسنجون شدم
1
صفحه 34:
ی
مراجع
¢ The ISO/IEC 9126 software product
quality standards (Jung et al. 2004)
۰ Software Engineering (8" edition),
Summervile.
° Software Engineering: A Practitioner's
Approach (6" edition), Pressman