Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "مقدمه اي بر مهندسي نيازمنديها"— Presentation transcript:

1 مقدمه اي بر مهندسي نيازمنديها
جلسه دوم استاد راهنما: آقاي دکتر احمد عبدا.. زاده بهمن 90-91

2 تعريف نيازمندي يك ويژگي كه بايد توسط يك سيستم توسعه يافته، براي حل يك مساله خاص ارائه شود[SWEBOK]. يك نيازمندي بعنوان ”يك شرط يا قابليت“ تعريف مي شود كه يك سيستم بايد مطابق آن كار كند. ‌‍[RUP] يك عبارت درباره سيستم پيشنهادي كه توافق كليه ذينفعان بايد بر سر آن اخذ شود و در جهت رفع مشكل كاربر به اندازه كافي باشد. [Lethbridge].

3 تعريف نيازمندي استاندارد IEEE نيازمندي را به صورت زير تعريف ميکند: يک شرط يا قابليت مورد نياز توسط کاربر براي حل يک مسئله يا دستيابي به يک هدف. يک شرط يا قابليت که بايد در سيستم يا مولفه هاي آن وجود داشته باشد تا يک قرارداد، استاندارد، توصيف، يا ساير مستندات رسمي برآورده گردد. يک نمايش مستندشده از يک شرط يا قابليت از موارد 1 و 2.

4 تعريف نيازمندي نقاط کلیدی در مورد نیازمندیها دقیق و کوتاه باشد
چیزهایی درباره سیستم باشند همه ذینفعان در مورد اعتبار آن توافق داشته باشند در جهت حل مشکل کاربر باشند می تواند متغیر باشد از یک عبارت سطح بالای مجرد درباره یک سرویس یا محدودیت سیستم تا توصیفات کارکردی ریاضی جزئی [Ian Summerville]

5 تعريف مهندسی نيازمندي محاسبه نیازمندی‌ها در life cycle با توجه به process model در متودولوژی مشخص

6 مسیر مهندسی نیازمندیها

7 تولید سیستم بر مبنای View

8 4+1 View SR Scenario Class Model Structural Behavior

9 ابزارهای مختلف برای رسیدن به Viewها
Scenario Entity relationship diagram Use-case diagram User stories Behavior Class model Sequence diagram Collaboration diagram Activity diagram Class diagram Structural Flow model State diagram Data flow diagram

10 Behavior Structure System

11 جایگاه مهندسی نیازمندی
Wish Requirement بعد از تولید در حین تولید قبل از تولید RFP PD Contract Need

12 رویکرد مهندسی نیازمندی برای حرکت به سوی موفقیت
کلیه نیازهای کارکردی پوشش داده شوند. کیفیت مطلوب باشد. (اندازه کیفیت تعریف شده باشد.) اصل صفر همه چیز سرمایه است و باید سود داشته باشد!

13 تعريف نادرست نيازمنديها
در مهندسی نیازمندی‌ها سعی داریم Defect نداشته باشیم. Defect مشکلی است که باید در مرحله بعد آن را حل کنیم. بدترین (پر هزینه ترین) حالت وقتی است که در هنگام اجرا متوجه Defect شویم.

14 نمونه اي از تعريف نادرست نيازمنديها
در مثال زير نمونه اي از تعريف نادرست نيازمندي و نتايج آن نشان داده شده است: نيازمندي: ساخت يك وسيله نقليه براي جابجايي يك نفر از منزل به محل كار

15 هزينه نسبي رفع خطا در مراحل مختلف تولید نرم افزار
هزينه نسبي براي رفع يك خطا در مراحل مختلف توسعه سيستم در جدول زير آورده شده است:

16 انواع نیازمندی نیازمندیهای کارکردی نیازمندیهای غیرکارکردی
بیان سرویسهایی که سیستم باید فراهم نماید، چگونگی واکنش سیستم در برابر ورودیهای خاص و چگونگی رفتار سیستم در شرایط خاص نیازمندیهای غیرکارکردی بیان محدودیت ها و قیودی که بر روی سرویسهای کارکردی سیستم باید اعمال شود مانند محدودیت‌های زمانی، قیودی بر روی فرآیند توسعه، استانداردها و غیره

17 کیفیت نرم افزار Product Quality Software Quality Process Quality
مهندسی نیازمندیها به کیفیت از دو بعد نگاه می کند. چه چیز تولید می‌شود نیازمندیها طراحی کد تست سیستم Software Quality Product Quality Process Quality چگونه تولید می‌شود استانداردها روش‌ها فرآیندهای سطح پروژه

18 کیفیت نرم افزار (ادامه)
کیفیت نرم افزار (ادامه) برای دانستن اینکه آیا کیفیت افزایش پیدا کرده یا نه باید بتوانیم کیفیت را اندازه گیری کنیم. سوال اساسی: چگونه می توان کیفیت را اندازه گیری کرد؟

19 کیفیت نرم افزار (ادامه)
کیفیت نرم افزار (ادامه) تعریف Indicators, Metrics, Measures: یک Measure نشانه کمی میزان حجم، سایز، اندازه، بعد و سایر ویژگی‌های یک محصول یا فرآیند است. در واژه‌نامه IEEE معنی Metric به شکل زیر ارائه شده است: یک درجه از اندازه کمی که یک سیستم، component یا process برای یک ویژگی تعیین شده دارد. یک Indicator عبارت است از یک Metric یا ترکیبی از Metricها که یک دید نسبت به فرآیند نرم افزاری، یک پروژه و یا یک محصول نرم‌افزاری ارائه می دهد.

20 دیدگاه کیفیت McCall فاکتورهای کیفیت معیارهای کیفیت کیفیت

21 دیدگاه McCall در رابطه با فاکتورهای کیفیت
نرم افزارهایی که در قرن 21 هم از این معیارها استفاده می کنند، با وجود تغییر وصف ناپذیر تکنولوژی، همچنان از کیفیت بالایی برخوردار خواهند بود.

22 معیارها و فاکتورهای کیفیت McCall
McCall، Richard و Walters مفهوم کیفیت نرم‌افزار را در قالب دو مفهوم کلی زیر بررسی کردند: فاکتورهای کیفیت معیارهای کیفیت فاکتورهای کیفیت ویژگی‌های رفتاری سیستم را نمایش می دهد: مثال: درستی، قابلیت اعتماد، قابلیت کارایی، قابلیت تست پذیری، قابلیت حمل و معیارهای کیفیت ویژگی های فاکتورهای کیفیت هستند که با توسعه نرم افزار در ارتباطند: مثال: Modularity, accuracy, consistency, error handling مثال: ماژولاربودن یک ویژگی معماری سیستم نرم افزاری است. یک نرم افزار ماژولار به طرح امکان جمع آوری componentهای مرتبط را در یک ماژول می دهد و باعث می شود قابلیت نگهداری سیستم افزایش پیدا کند.

23 یازده فاکتور کیفیت از دیدگاه McCall
Quality Factor Definitions Correctness The extent to which a program satisfies its specification and fulfills the user’s mission objectives Reliability The extent to which a program can be expected to perform its intended function with required precision Efficiency The amount of computing resources and code required by a program to perform a function Integrity The extent to which access to software or data by unauthorized persons can be controlled Usability The effort required to learn, operate, prepare input, and interpret output of a program Maintainability The effort required to test a program to ensure that it performs its intended functions Testability Flexibility The effort required to modify an operational program Portability The effort required to transfer a program from one hardware and/ or software environment to another Reusability The extend to which parts of a software system can be reused in other applications Interoperability The effort required to couple one system with another

24 مثلث کیفیت McCall Product Revision Product Transition
Product Operations

25 یازده فاکتور کیفیت از دیدگاه McCall
Quality Categories Quality Factors Broad Objectives Product Operation Correctness Reliability Efficiency Integrity Usability Does it do what the customer wants? Does it do it accurately all of the time? Does it quickly solve the intended problem? Is it secure? Can I run it? Product Revision Maintainability Testability Flexibility Can it be fixed? Can it be tested? Can it be changed? Product Transition Portability Reusability Interoperability Can it be used on another machine? Can parts of it be reused? Can it interface with another system?

26 تکنیک شامل روش‌هایی است که برای اندازه‌گیری در روش‌های مختلف از آن استفاده می‌کنیم. مثال: کارت CRC که مشخص میکند یک کلاس چه می‌کند، وظیفه‌اش چیست، با چه کلاس‌هایی در ارتباط است.


Download ppt "مقدمه اي بر مهندسي نيازمنديها"

Similar presentations


Ads by Google