کامپیوتر و IT و اینترنتعلوم مهندسی

مقدمه ای بر مهندسی نيازمندی ها

صفحه 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

جهت مطالعه ادامه متن، فایل را دریافت نمایید.
30,000 تومان