خصوصیات کیفی نرم افزار

34

Upload: bat

Post on 09-Jan-2016

193 views

Category:

Documents


36 download

DESCRIPTION

خصوصیات کیفی نرم افزار. واحد علوم و تحقيقات. مهندسي نرم افزار پيشرفته ) محسن زاده). 1. 2. 3. 4. 5. 6. مدل هاي كيفي. خصوصيات كيفي نرم افزار. مديريت كيفي نرم افزار. Tradeoff بين خصوصيات نرم افزاري. خصوصيات كيفي در مولفه هاي COTS. مقدمه. فهرست. 1. 2. 3. خصوصيت كاربردهاي بحراني:. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: خصوصیات کیفی نرم افزار
Page 2: خصوصیات کیفی نرم افزار

خصوصیات کیفی نرم افزار

واحد علوم و تحقيقات

مهندسي نرم افزار (محسن پيشرفته

زاده(

Page 3: خصوصیات کیفی نرم افزار

مقدمه1

فهرست

مدل هاي كيفي2

خصوصيات كيفي نرم افزار3

مديريت كيفي نرم افزار4

Tradeoffبين خصوصيات نرم افزاري 5

COTSخصوصيات كيفي در مولفه هاي 6

Page 4: خصوصیات کیفی نرم افزار

3

خصوصيت كاربردهاي بحراني:

1

کاربردها نیاز به اجرای پیوسته هستند.2

کاربردها نیاز به تعامل با دستگاه های سخت افزاری هستند.

عملکرد کاربرد بستگی به ویژگی های کیفی مانند دقت 4باال ،قابلیت اطمینان ،ایمنی،قابلیت همگاری با بخش های

دیگر دارد.

چرخه عمر طوالنی دارند و نیازمند بهبود تکاملی می باشند

Page 5: خصوصیات کیفی نرم افزار

تعريف كيفيت :

يعني محصول بايد ويژگي هايش را برآورده كند.•

تعريف كيفيت در استاندارد

كيفيت نرم افزار درجه اي است كه نرم IEEEدر •افزار تركيبي از خصوصيات مطلوب را دارا مي باشد.

پيچيده بون بحث كيفيت در سيستم هاي نرم افزاري تنش و بحرانی که بین نیازمندی های کیفی •

مشتریان )مانند کارایی ،قابلیت اطمینان و ...( و نیازمندی های کیفی تولید کنندگان )قابلیت نگهداری و استفاده مجدد( وجود دارد.

برای بیشتر نیازمندی های کیفی روشی روشن و •بدون ابهام جهت تعریف آنها وجود ندارد.

IEEE

Page 6: خصوصیات کیفی نرم افزار

3

Quality Control

2

Quality Planning

1

Quality Assurance

مديريت كيفيت نرم افزار :

در : تعريLف نيLاز مLورد كيفي سLطوح اينكLه از هLدف محصLول نLرم افLزاري بLرآورده شLود ،بصLورتيكه اسLتاندارد هLا

و رويه هاي تعريف شده در نظر گرفته شود.

تضمين كيفيت

برنامه ريزي كيفيت

كنترل كيفيت

Page 7: خصوصیات کیفی نرم افزار

نيازمندي هاي سيستم نرم افزاري

يازمندي هاي سيستمن

نيازمندي هاي وظيفه اي

عملکرد خام سيستم يا به عبارت ديگرتوانايي سيستم

نيازمندي هاي غير وظيفه اي

کارايي

امنيت

Page 8: خصوصیات کیفی نرم افزار

Usability

Functionality

Supportability

FURPS

Supportability

Performance

: FURPS مدل

Page 9: خصوصیات کیفی نرم افزار

Reliability

Usability

Efficiency

Maintainability

Portability

Functionality

: ISO9126 مدلSuitability

AccuracyInteroperability

ComplianceSecurity

Fault tolerance

RecoverabilityMaturity

Understandability

OperabilityLernability

Timebased EfficiencyResourcebased

Efficiency

Analysability

Stability

Changeability

Testability

Adaptability

Conformance

Installability

Replaceability

Page 10: خصوصیات کیفی نرم افزار

General UtilityPortability

As is Utility

Reliability

Efficiency

Human Engineering

Maintainability

Testability

Understandability

Modifiability

: Boehm مدل

Page 11: خصوصیات کیفی نرم افزار

MC CallProduct

Operation

Correctness

Reliability

Efficiency

Integrity

Usability

Product Revision

Maintainability

Testability

Flexibility

Product Transition

Portability

Reusability

Interoperability

Mc Call مدل

Page 12: خصوصیات کیفی نرم افزار

: Clements , Bass , Kazman مدل

غير قابل مشاهده در زمان اجرا

قابل مشاهده در زمان اجرا

خصوصيات كيفي

• Performance• Security• Availability• Functionality• Usability

• Modifiability• Portability• Integritability• Reusability• Testability

Page 13: خصوصیات کیفی نرم افزار

محصول نرم افزاري

زمان

كيفيت

هزينه

مشخصات يك محصول نرم افزاري:

Page 14: خصوصیات کیفی نرم افزار

:(:Performanceكارايي)

رخدادهاي از تعدادي به سيستم پاسخگويي براي نياز مورد زمان کارايي• مورد معين زماني فاصله يک در که تعداد رويدادهايي يا و مشخصاست گيرند، مي قرار پردازش

محاسبه كارايي

.از طريق محاسبه زمان مورد نياز براي پاسخگويي به يک رخداد خاص•محاسبه تعداد رخدادهايي که در واحد زمان مورد پاسخگويي قرار مي •

گيرند.

Page 15: خصوصیات کیفی نرم افزار

(:Securityامنيت )

توانايي يک سيستم را براي مقاومت در برابر مسائل ناخواسته و تالشهاي •- در زماني که خود سيستم در حال غير مجاز و همچنين امتناع از سرويس. ايجاد سرويسهايي براي کاربران است

انواع سيستم هاي امنيتي

برنامه هاي دولتي و نظامي )محرمانگي اطالعات(•(جامعيت بانک اطالعاتي برنامه هاي بانکي و مالي)•

(قابليت استفاده و دسترسي برنامه هاي دانشگاهي و علمي)•

Page 16: خصوصیات کیفی نرم افزار

(:Availabilityدر دسترس بودن )

اين صفت با خرابي و نقص سيستم و نتايج مرتبط با آن سرو كار دارد. . •اين ويژگي کيفيتي نشان مي دهد که سيستم چقدر قادر است که

مشکالت خود را رفع کند وبه حالت طبيعي خود باز گردد.

availabilityاندازه گيري

در دسترس بودن کسري از زمان است که سيستم زنده است و اجرا مي •شود

Page 17: خصوصیات کیفی نرم افزار

(Usabilityقابليت استفاده )

قابليت اس\تفاده مرب\وط ب\ه اين اس\ت ک\ه ي\ک ک\اربر ب\ه چ\ه م\يزان ب\ه راح\تي •ق\ادر اس\ت ک\ار م\ورد نظ\ر خ\ود را انج\ام ده\د و همچ\نين سيس\تم چ\ه م\يزان

از انواع خواسته هاي آن را پشتيباني مي نمايد

اندازه گيري قابليت استفاده

•Learnability•Efficiency

•Memorability•Errors

•Satisfaction

Page 18: خصوصیات کیفی نرم افزار

( Modifiabilityتغيير پذيري)

توانايي اينکه بتوان در سيستمي تغييرات را با سرعت و کارايي باال و •هزينه کم ايجاد کرد،اصالح پذيري است

تغييرا ت ممکن را به سه دسته کلي زير تقسيم مي کند

.تغييراتي که منجر به اصالح پذيري در يک مؤلفه مي شوند•تغييراتي که منجر به اصالح پذيري در بيش از يک مؤلفه مي •

شوند.تغيير مطلوب فراتر از اصالح پذيري مؤلفه ها است. مثال تغيير •

در سبک معماري که يک تغيير بنيادي است

تغيير پذيري در دو مسئله بررسي ميشود:

چه چيزي ميتواندتغييركند ؟••platform ي كه سيستم در آن ساكن است ،محيطي كه

سيستم در آن اجرا ميشود ،خصوصيات كيفي ،ظرفيتش و ...چه زماني تغيير ايجاد شده و چه كسي آن را انجام مي دهد؟•

كاربر نهايي ،توليد كننده سيستم يا مدير سيستم •

Page 19: خصوصیات کیفی نرم افزار

(Stabilityثبات و پايداري)

توان\ايي سيس\تم ن\رم اف\زاري در اجتن\اب از ت\اثيرات ناخواس\ته درزم\ان تغي\ير •و ويرايش سيستم نرم افزاري مي باشد.

جهت داشتن سيستم هايي باخصوصيات ثبات و پايداري

داشتن قابليت تغيير باال در سيستم•انجام ارزيابي پيشگويانه از تغييرات آينده•

اجتناب از داشتن كالس هايا مولفه هاي مركزي به گونه اي كه از بخش •هاي ديگر برنامه به آن دسترسي وجود داشته باشد.

Page 20: خصوصیات کیفی نرم افزار

(Portabilityقابليت حمل)

قابليت اينك\ه ي\ك سيس\تم ي\ا مولف\ه بتوان\د ب\ه راح\تي از ي\ك محي\ط س\خت •افزاري يانرم افزاري به محيط ديگري منتقل شود

جهت داشتن سيستم هايي باخصوصيات قابل حمل

•Simplicity•machine/device independence

•self-contained•Software Independence

Page 21: خصوصیات کیفی نرم افزار

( Reusabilityقابليت استفاده مجدد)

به معن\اي آن اس\ت ك\ه م\اژول ن\رم اف\زاري ي\ا ديگ\ر مولف\ه ه\ا و تولي\دات ب\ه گون\ه اي •ن\رم ي\ا سيس\تم ه\اي ه\اي محاس\باتي برنام\ه ديگ\ر در بتوانن\د ك\ه ط\راحي ش\وند

افزاري استفاده شوند

Sub Characteristic

•Simplicity•Generality•Modularity

•Software Independence•machine/device independence

براي داشتن سيستم هايي با قابليت استفاده مجدد بايد حداالمكان سيستم

ايجاد كردcomponent baseرا

Page 22: خصوصیات کیفی نرم افزار

راهكارهايي جهت داشتن سيستم Reusableهاي

ساختن راه ح\ل ه\اي عم\ومي و س\اده جهت اف\زايش ق\ابلت فهم و در نتيج\ه •اين كار قابليت استفاده مجدد نيز افزايش مي يابد.

سيستم را بصورت ماژوالر طراحي و پياده سازي كني وتا حد امكان از •پيوند ضعيف بين ماژول ها اطمينان حاصل كنيد

. سخت افزاري بخصوصي را دنبال platformسيستم عملياتي خاص يا •نكنيد.

COM/DCOM يا CORBAجهت ارتباطات از ميان افزار هاي استاندارد مانند •استفاده كنيد.

واسط مولفه ها را سازگار و همسان بسازيد.•

Page 23: خصوصیات کیفی نرم افزار

(Testabilityقابليت آزمايش)

قابليت آزم\ايش ي\ک ن\رم اف\زار، توان\ايي ايج\اد تس\هيالتي جهت تس\ت معياره\ا و •كارايي سيستم جهت بررسي درجه برآورده كردن نيازها وخواسته ها است

Sub Characteristic

•Simplicity•Self-descriptiveness

•Instrumentation•Accountability

•Communicativeness

Page 24: خصوصیات کیفی نرم افزار

بر Component Baseتاثير توسعه خصوصيات كيفي نرم افزار

Page 25: خصوصیات کیفی نرم افزار

Component Base Development

توس\عهCB را مفه\ومي اس\ت ك\ه توس\عه دهن\دگان ق\ادر ب\ه س\اختن سيس\تم ه\ا ن\رم اف\زاري ك\ه از بخش

. هاي قابل استفاده مجدد تشكيل شده اند ،مي كند مولف\ه ي\ك ج\زء مس\تقل و قاب\ل تع\ويض از سيس\تم

ي\ك ي\ك عملك\رد مش\خص را درفض\اي باش\د ك\ه مي معماري خوش تعريف برآورده مي سازد.

این توس\عه منج\ر ب\ه تولی\د ن\رم اف\زار ه\ایی می باش\دبLاالترک\ه اطمينLان تغيLيرو قLابليت قLابليت

بيشتري را دارا میباشند.

Page 26: خصوصیات کیفی نرم افزار

خصوصيات كيفي نرم CBDتاثير افزار

خصوصيات كيفي مي تواند به سه گروه مختلف تقسيم شود :

مستقيما روي آن تاثير دارد.CBDبعضي از خصوصيات هستند كه 1.

تحت ت\اثير ق\رار نمي گيرن\د ،ام\ا CBDديگ\ر خصوص\يات لزوم\ا توس\ط 2.

هس\تند تحت ت\اثير ق\رار CBDتوس\ط ديگ\ر خصوص\ياتي ك\ه تحت ت\اثير

مي گيرند.

بعض\ي از خصوص\يات ن\ه بط\ور مس\تقيم و ن\ه بط\ور غ\ير مس\تقيم تحت 3.

.تاثير قرار نمي گيرند

Page 27: خصوصیات کیفی نرم افزار

ISO بر خصوصيات كيفي در مدل CBDتاثير 9126:

تاثير منفي تاثير مثبت خصوصيتموج\ود بيش از ه\اي مولف\ه را عملك\ردي آن اس\ت ممكن

كه شما نياز داريد ندهند.

اس\تفاده از مولف\ه ه\اي از بيش موج\ود اج\ازه تحوي\ل س\ريع تر و عملكرد بهتري را فراهم مي كند.

قابليت عملكرد

هاي مولفه -blackبراي box انج\\ام ب\\ه ق\\ادر ،ش\\ما

پش\\تيباني و تعم\\ير هرگون\\ه خ\ود ك\ه آنگون\ه را ه\ا مولف\ه

مي خواهيد ندارد.

ساختار م\اژوالر راه ح\ل مبت\ني ب\ر مولف\ه امك\ان ج\ايگزيني راحتي را به مولفه هاي منحصر به فرد مي دهد.

قابليت نگهداشت

ه\اي عام\ه پس\ند را GUIاس\تفاده از مولف\ه ه\اي اس\تاندارد،پشتيباني مي كند.

قابليت استفاده

ني\از ب\ه توس\عه سيس\تم مط\ابق داده مولف\ه چ\ارچوب ي\ك ب\ا ش\ده و اس\تفاده از مولف\ه ه\ايي ك\ه لزوم\ا يك\ديگر را بهين\ه نمي ك\ارايي ب\راي توان\د ،مي كنن\د

منفي باشد.

گلوگ\اه ه\اي ك\ارايي مي توان\د تع\يين ش\ده و س\پس ني\از ب\ه درتع\\دادي ك\\ارايي متمرك\\ز تنظيم حي\\اتي مولف\\ه

جهت داخلي بط\ور توانن\د مي ه\ا مولف\ه ش\ود.همچنين ارتقاء كارايي بدون تاثير بر خصوصياتشان بهينه شوند.

كفايت وكارايي

از آنه\\ا ،اس\\تقالل مولف\\ه مي Platformمشخص\\ات ي\ك ب\راي س\ريعا توان\د مي مولف\ه ي\ك باش\د.بنابراين

platform جدي\د ب\دون آنك\ه ت\اثيري ب\ر ديگ\ر مولف\ه ه\ا داش\ته باشد، ساخته شود .

قابليت حمل

با داش\تن ي\ك س\ري مشخص\ات كام\ل،رس\مي و معل\وم از ي\ك ق\ابليت اطمين\ان ي\ك س\ري مولف\ه ه\ا س\وال درب\اره مولف\ه، آس\ان مي ش\ود.به اين ص\ورت ك\ه :آي\ا مولف\ه ي\ك

است؟پياده سازي كامل و صريح از خصوصياتش

قابليت اطمينان

Page 28: خصوصیات کیفی نرم افزار

مصالحه بين صفات كيفي

Page 29: خصوصیات کیفی نرم افزار

مصالحه بين صفات كيفي

ک\اربران نیازه\ای ب\رآوردن ب\رای ه\ا سیس\تم می failاغلب

ش\وندو بیش\تر ب\ه دلی\ل نب\ودن کیفیت اس\ت و عمدتازمانیس\ت

ک\ه طراح\ان ب\ه دقت ب\ر ب\رآورد بعض\ی نب\از هاب\دون توج\ه ب\ه

تاثیر آن بر دیگر نیازمندی ها عمل می کنند.

گاهی بعض\ی از ص\فات ذات\ا ب\ا یک\دیگر در تض\اد هس\تند و م\ورد

اف\راد دی\د در کیفی خصوص\یات اس\ت ممکن اینک\ه دیگ\ر

مختل\ف متف\اوت باش\د.مثال مفه\وم ام\نیت می توان\د در دی\د ی\ک

نف\ر ب\ه معن\ای رم\ز ک\ردن اطالع\ات و در دی\د دیگ\ری ب\ه معن\ای

خط\ا تحم\ل و ام\نيت کني\د ف\رض مثال باش\د. آتش دی\وار

بص\ورت انحص\اري قاب\ل دس\تيابي باش\ند ولي اگ\ر ت\وأم ب\ا هم

بخواهيم آنها را داشته باشيم بايد مصالحه انجام دهيم

Page 30: خصوصیات کیفی نرم افزار

مصالحه بين صفات كيفي

آوريم، ف\راهم همزم\ان نت\وانيم را ص\فات کيفي\تي هم\ه اس\ت ممکن

اهميت از م\ا ب\راي ش\رايط اين از ي\ک ک\دام ک\ه ببي\نيم باي\د ولي

ي\ا دارد بيش\تري اهميت ک\ارايي مثال يع\ني. برخورداراس\ت بيش\تري

در بهمين و مج\دد اس\تفاده ق\ابليت ص\فات بقي\ه م\ورد ت\رتيب

داده نش\ان کيفي\تی وي\ژگی س\ه ب\رای مفه\وم در ش\كل اين.کيفي\تي

.است شده

Page 31: خصوصیات کیفی نرم افزار

Quality Attribute Workshop

Page 32: خصوصیات کیفی نرم افزار

Quality Attribute Workshop

Quality Attribute Workshop : عبارت است از روشی که

ب\ه معم\اران سیس\تم جهت دری\افت ح\داکثر اطالع\ات کیفی

کمک می کند.

.جهت تعریف ساختار سیستم کمک شایانی می کند

( کش\\\ف جهت س\\\ازی discoverراه ،مس\\\تند )

(document(بن\دی ،اول\ویت )prioritize ت\ر ه\ر چ\ه س\ریع )

ویژگی های کیفی سیستم در طول چرخه حیات می باشد.

Page 33: خصوصیات کیفی نرم افزار

QAW Method Steps

1. QAW presentation and Introduction

2. Business/Mission Presentation

3. Architecture Plan Presentation

4. Identification of Architectural Drivers

5. Scenario Brain Storming

6. Scenario Consolidation

7. Scenario Prioritization

8. Scenario Refinement

Page 34: خصوصیات کیفی نرم افزار

QAW Method Steps

در موارد Quality Attribute WorkShopاطالعات کسب شده از زیر قابل استفاده می باشد :

جهت به روز رسانی دیدگاه معماری

تصویه و تصحیح نیازمندی های نرم افزار و سیستم

کمک به راهبرد و توسعه توابع اولیه سیستم

درک و روشن کردن درایورهای معماری سیستم

توصیف عملیات سیستم