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

Post on 09-Jan-2016

193 Views

Category:

Documents

36 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

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

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

زاده(

مقدمه1

فهرست

مدل هاي كيفي2

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

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

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

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

3

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

1

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

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

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

دیگر دارد.

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

تعريف كيفيت :

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

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

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

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

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

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

IEEE

3

Quality Control

2

Quality Planning

1

Quality Assurance

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

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

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

تضمين كيفيت

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

كنترل كيفيت

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

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

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

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

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

کارايي

امنيت

Usability

Functionality

Supportability

FURPS

Supportability

Performance

: FURPS مدل

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

General UtilityPortability

As is Utility

Reliability

Efficiency

Human Engineering

Maintainability

Testability

Understandability

Modifiability

: Boehm مدل

MC CallProduct

Operation

Correctness

Reliability

Efficiency

Integrity

Usability

Product Revision

Maintainability

Testability

Flexibility

Product Transition

Portability

Reusability

Interoperability

Mc Call مدل

: Clements , Bass , Kazman مدل

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

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

خصوصيات كيفي

• Performance• Security• Availability• Functionality• Usability

• Modifiability• Portability• Integritability• Reusability• Testability

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

زمان

كيفيت

هزينه

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

:(:Performanceكارايي)

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

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

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

گيرند.

(:Securityامنيت )

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

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

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

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

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

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

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

availabilityاندازه گيري

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

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

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

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

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

•Learnability•Efficiency

•Memorability•Errors

•Satisfaction

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

•Simplicity•machine/device independence

•self-contained•Software Independence

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

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

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

Sub Characteristic

•Simplicity•Generality•Modularity

•Software Independence•machine/device independence

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

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

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

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

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

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

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

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

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

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

Sub Characteristic

•Simplicity•Self-descriptiveness

•Instrumentation•Accountability

•Communicativeness

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

Component Base Development

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

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

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

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

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

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

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

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

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

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

مي گيرند.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

منفي باشد.

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

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

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

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

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

قابليت حمل

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.است شده

Quality Attribute Workshop

Quality Attribute Workshop

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

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

کمک می کند.

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

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

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

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

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

QAW Method Steps

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

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

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

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

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

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

top related