کیفیت نرم افزار (ادامه)
Download
Report
Transcript کیفیت نرم افزار (ادامه)
آزمايشگاه سيستم هاي هوشمند )(ISLAB
مقدمه اي بر مهندس ي نيازمنديها
جلسه دوم
استاد راهنما :آقاي دکتر احمد عبدا ..زاده
بهمن 91-90
آزمايشگاه سيستم هاي هوشمند )(ISLAB
تعريف نيازمندي
يك ويژگي كه بايد توسط يك سيستم توسعه يافته ،براي حل يك مساله خاص ارائه
شود[SWEBOK].
يك نيازمندي بعنوان ”يك شرط يا قابليت“ تعريف مي شود كه يك سيستم بايد مطابق آن
كار كند[RUP] .
يك عبارت درباره سيستم پيشنهادي كه توافق كليه ذينفعان بايد بر سر آن اخذ شود و در
جهت رفع مشكل كاربر به اندازه كافي باشد.[Lethbridge] .
آزمايشگاه سيستم هاي هوشمند )(ISLAB
تعريف نيازمندي
استاندارد IEEE 610.12-1990نيازمندي را به صورت زير تعريف ميکند:
يک شرط يا قابليت مورد نياز توسط کاربر براي حل يک مسئله يا دستيابي به يک هدف.
يک شرط يا قابليت که بايد در سيستم يا مولفه هاي آن وجود داشته باشد تا يک قرارداد،
استاندارد ،توصيف ،يا ساير مستندات رسمي برآورده گردد.
يک نمايش مستندشده از يک شرط يا قابليت از موارد 1و .2
آزمايشگاه سيستم هاي هوشمند )(ISLAB
تعريف نيازمندي
نقاط کلیدی در مورد نیازمنديها
دقیق و کوتاه باشد
چیزهایی درباره سیستم باشند
همه ذینفعان در مورد اعتبار آن توافق داشته باشند
در جهت حل مشکل کاربر باشند
می تواند متغیر باشد از یک عبارت سطح باالی مجرد درباره یک سرویس یا محدودیت
سیستم تا توصیفات کارکردی ریاض ی جزئی []Ian Summerville
آزمايشگاه سيستم هاي هوشمند )(ISLAB
تعريف مهندس ی نيازمندي
محاسبه نیازمندیها در life cycleبا توجه به process modelدر
متودولوژی مشخص
آزمايشگاه سيستم هاي هوشمند )(ISLAB
مسیر مهندس ی نیازمنديها
آزمايشگاه سيستم هاي هوشمند )(ISLAB
تولید سیستم بر مبنای View
ذینفعان متفاوت
Viewهای متفاوت
آزمايشگاه سيستم هاي هوشمند )(ISLAB
View 4+1
SR
(ISLAB) آزمايشگاه سيستم هاي هوشمند
هاView ابزارهای مختلف برای رسیدن به
Scenario
Use-case diagram
User stories
Class model
Collaboration diagram
Class diagram
Structural
Flow model
State diagram
Data flow diagram
Entity relationship
diagram
Behavior
Sequence diagram
Activity diagram
State diagram
(ISLAB) آزمايشگاه سيستم هاي هوشمند
Behavior
System
Structure
آزمايشگاه سيستم هاي هوشمند )(ISLAB
جایگاه مهندس ی نیازمندی
بعد از تولید
Requirement
در حین تولید
قبل از تولید
Wish
Need
PD Contract
RFP
آزمايشگاه سيستم هاي هوشمند )(ISLAB
رویکرد مهندس ی نیازمندی برای حرکت به سوی موفقیت
کلیه نیازهای کارکردی پوشش داده شوند.
کیفیت مطلوب باشد( .اندازه کیفیت تعریف شده باشد).
اصل صفر
همه چیز سرمایه است و باید سود
داشته باشد!
آزمايشگاه سيستم هاي هوشمند )(ISLAB
تعريف نادرست نيازمنديها
در مهندس ی نیازمندیها سعی داریم Defectنداشته باشیم.
Defectمشکلی است که باید در مرحله بعد آن را حل کنیم.
بدترین (پر هزینه ترین) حالت وقتی است که در هنگام اجرا متوجه Defect
شویم.
آزمايشگاه سيستم هاي هوشمند )(ISLAB
نمونه اي از تعريف نادرست نيازمنديها
• در مثال زير نمونه اي از تعريف نادرست نيازمندي و نتايج آن نشان داده شده
است:
• نيازمندي :ساخت يك وسيله نقليه براي جابجايي يك نفر از منزل به محل كار
آزمايشگاه سيستم هاي هوشمند )(ISLAB
هزينه نسبي رفع خطا در مراحل مختلف تولید نرم افزار
• هزينه نسبي براي رفع يك خطا در مراحل مختلف توسعه سيستم در جدول زير آورده شده است:
آزمايشگاه سيستم هاي هوشمند )(ISLAB
انواع نیازمندی
نیازمنديهای کارکردی
بیان سرویسهایی که سیستم باید فراهم نماید ،چگونگی واکنش سیستم در برابر
وروديهای خاص و چگونگی رفتار سیستم در شرایط خاص
نیازمنديهای غیرکارکردی
بیان محدودیت ها و قیودی که بر روی سرویسهای کارکردی سیستم باید اعمال
شود مانند محدودیتهای زمانی ،قیودی بر روی فرآیند توسعه ،استانداردها و
غیره
آزمايشگاه سيستم هاي هوشمند )(ISLAB
کیفیت نرم افزار
مهندس ی نیازمنديها به کیفیت از دو بعد نگاه می کند.
چه چیز تولید میشود
نیازمنديها
طراحی
کد
تست
Product
Quality
سیستم
چگونه تولید میشود
استانداردها
روشها
فرآیندهای سطح پروژه
Software
Quality
Process
Quality
آزمايشگاه سيستم هاي هوشمند )(ISLAB
کیفیت نرم افزار (ادامه)
برای دانستن اینکه آیا کیفیت افزایش پیدا کرده یا نه باید بتوانیم کیفیت را
اندازه گیری کنیم.
سوال اساس ی:
چگونه می توان کیفیت را اندازه گیری کرد؟
آزمايشگاه سيستم هاي هوشمند )(ISLAB
کیفیت نرم افزار (ادامه)
تعریف :Indicators, Metrics, Measures
یک Measureنشانه کمی میزان حجم ،سایز ،اندازه ،بعد و سایر ویژگیهای یک محصول یا فرآیند
است.
در واژهنامه IEEEمعنی Metricبه شکل زیر ارائه شده است:
یک درجه از اندازه کمی که یک سیستم component ،یا processبرای یک ویژگی تعیین شده
دارد.
یک Indicatorعبارت است از یک Metricیا ترکیبی از Metricها که یک دید نسبت به فرآیند
نرم افزاری ،یک پروژه و یا یک محصول نرمافزاری ارائه می دهد.
آزمايشگاه سيستم هاي هوشمند )(ISLAB
دیدگاه کیفیت McCall
کیفیت
معیارهای کیفیت
فاکتورهای کیفیت
آزمايشگاه سيستم هاي هوشمند )(ISLAB
دیدگاه McCallدر رابطه با فاکتورهای کیفیت
فاکتورهای کیفیت توسط McCallدر سالهای اولیه دهه 70ارائه شده است .با این
وجود فاکتورهای ارائه شده در زمان فعلی نیز به اندازه گذشته معتبر هستند.
نرم افزارهایی که در قرن 21هم از این معیارها استفاده می کنند ،با وجود تغییر وصف
ناپذیر تکنولوژی ،همچنان از کیفیت باالیی برخوردار خواهند بود.
آزمايشگاه سيستم هاي هوشمند )(ISLAB
معیارها و فاکتورهای کیفیت McCall
Richard ،McCall و Waltersمفهوم کیفیت نرمافزار را در قالب دو مفهوم کلی زیر بررس ی کردند:
فاکتورهای کیفیت
معیارهای کیفیت
فاکتورهای کیفیت ویژگیهای رفتاری سیستم را نمایش می دهد:
مثال :درستی ،قابلیت اعتماد ،قابلیت کارایی ،قابلیت تست پذیری ،قابلیت حمل و . ....
معیارهای کیفیت ویژگی های فاکتورهای کیفیت هستند که با توسعه نرم افزار در ارتباطند:
مثالModularity, accuracy, consistency, error handling :
مثال :ماژوالربودن یک ویژگی معماری سیستم نرم افزاری است.
یک نرم افزار ماژوالر به طرح امکان جمع آوری componentهای مرتبط را در یک ماژول می دهد و
باعث می شود قابلیت نگهداری سیستم افزایش پیدا کند.
(ISLAB) آزمايشگاه سيستم هاي هوشمند
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
The effort required to test a program to ensure that it performs its intended functions
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
(ISLAB) آزمايشگاه سيستم هاي هوشمند
McCall مثلث کیفیت
Product
Revision
Product
Transition
Product
Operations
(ISLAB) آزمايشگاه سيستم هاي هوشمند
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?
آزمايشگاه سيستم هاي هوشمند )(ISLAB
تکنیک
شامل روشهایی است که برای اندازهگیری در روشهای مختلف از آن
استفاده میکنیم.
مثال :کارت CRCکه مشخص میکند یک کالس چه میکند ،وظیفهاش
چیست ،با چه کالسهایی در ارتباط است.