1 / 35

فصل نوزدهم متريک هاي فني نرم افزار

فصل نوزدهم متريک هاي فني نرم افزار. نگاه اجمالي. متريک هاي فني نرم افزار چيست؟ ماهيتاً مهندسي يک ديسپيلين کميتي است. مهندسين از اعداد براي کمک به طراحي استفاده کرده ومحصول ساخته شده را ارزيابي مي کنند. چه کسي عهده دار انجام آن است؟ مهندسين نرم افزار

len-david
Télécharger la présentation

فصل نوزدهم متريک هاي فني نرم افزار

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. فصل نوزدهم متريک هاي فني نرم افزار

  2. نگاه اجمالي • متريک هاي فني نرم افزار چيست؟ ماهيتاً مهندسي يک ديسپيلين کميتي است. مهندسين از اعداد براي کمک به طراحي استفاده کرده ومحصول ساخته شده را ارزيابي مي کنند. • چه کسي عهده دار انجام آن است؟ مهندسين نرم افزار • چرا اين مسئله از اهميت برخوردار است؟ سيستم متريک فني, پايه اي را براي تحليل, طراحي برنامه نويسي وآزمون بطور ملموس تري در نظر گرفته است. مرحله ي بعدي, داده هاي مورد نياز براي دستيابي به سيستم متريک فرموله شده است. • محصول کار چيست؟ سيستم متريک نرم افزاري که از طريق محاسبه ي داده هاي جمع آوري شده از تحليل و مدل هاي طراحي, برنامه منبع و موارد آزمون, بدست مي آيند.

  3. 1- کيفيت نرم افزار کيفيت برروي هماهنگي داشتن با نيازمندي هاي صريحاً اظهار شده ي عملکردي و اجرايي تأکيد دارد که شامل استانداردهاي توسعه ي مستند شده و خصويات تلويحي که از تمامي نرم افزار هاي بطور حرفه اي طراحي شده نيز مي گردد.

  4. 1-1- فاکتورهاي کيفيت"مک کال" فاکتورهاي مؤثر در کيفيت نرم افزار را مي توان در دو گروه عمده تقسيم کرد: • فاکتورهايي که مي توان آنها را مستقيماً اندازه گرفت (مثلاً نواقص در هر کارکرد – امتياز). • فاکتورهايي که فقط بطور غيرمستقيم اندازه گيري مي شوند. (مثلاً قابليت استفاده يا قابليت نگهداري). در هر حالت, بايد اندازه گيري انجام شود. ما بايد نرم افزار را (اسناد, برنامه, داده ها) با تعدادي از داده ها مقايسه کرده و به يک دلالت کيفيتي برسيم.

  5. اين فاکتورهاي کيفيت نرم افزار مک کال, نمايش داده شده در شکل زير برروي سه جنبه ي مهم يک محصول نرم افزاري, توجه خود را متمرکز مي کند: خصوصيات عملياتي, توانايي تغيير يافتن و تطبيق با محيط هاي جديد. انتقالمحصول بازبينی محصول کارکرد محصولی

  6. با عطف به فاکتورهاي ذکرشده در شکل مک کال شرح ذيل را ارائه مي کند: درستي: آن اندازه که برنامه اي مشخصه هاي خود و نيازمندي هاي مربوط به مشتري را برآورده مي کند. قابليت اطمينان: آن اندازه که از برنامه اي بتوان اجراي کارکردهاي مربوط به خود را با دقت لازم, انتظار داشت. کارايي: مقدار منابع محاسبه و کد مورد نياز براي آنکه برنامه اي کارکرد خود را اجرا کند. جامعيت: اندازه اي که افراد غير مجاز را مي توان از دستيابي به نرم افزار يا داده ها منع کرد. قابليت استفاده: تلاش مورد نياز براي يادگيري, عمليات, آماده کردن ورودي و تفسير خروجي يک برنامه. قابليت انعطاف: تلاش مورد نياز براي اصلاح يک برنامه عملياتي.

  7. آزمون پذيري: تلاش لازم براي آزمودن برنامه جهت حصول از اجراي کارکرد تعيين شده. قابليت حمل: تلاش مورد نياز براي انتقال برنامه از يک سخت افزار و يا محيط سيستم نرم افزار به محيطي ديگر. قابليت استفاده مجدد: آن اندازه که برنامه اي را بتوان در ديگر کاربردهاي دوباره بکار برد. قابليت درون عملياتي: تلاش مورد نياز براي تلفيق سيستمي به سيستم ديگر.

  8. محاسبه ي فاکتورهاي کيفيت: Fq = c1 * m1 + c2 * m2 + … +cn * mn در اين Fqرابطه کيفيت نرم افزار, cn ضريب رگرسيون, mn متريک هايي است که روي فاکتور کيفيت تأثير مي گذارد. • متريک هاي ذيل در شماي درجه بندي بکار مي روند(فاکتورهاي کيفيت): قابليت وارسي, دقت, رايج بودن ارتباطات, تکميل بودن, فشرده بودن, سازگاري, رايج بودن داده ها, تولارانس اشتباه, کارايي اجرايي, قابليت توسعه, عموميت داشتن, استقلال سخت افزاري, بکارگيري ابزار, پيمانه اي بودن, قابليت اجرا, امنيت, خود-مستندسازي, سادگي, استقلال سيستم نرم افزار, قابليت رديابي, آموزش.

  9. 1-2- فاکتورهاي کيفيت FURPS قابليت کارکردي: از طريق ارزيابي مجموعه ويژگي هاي و توانايي هاي برنامه, عموميت کارکردهايي که تجويل داده مي شوند وامنيت کل سيستم, سنجيده مي شود. قابليت بکارگيري: با لحاظ کردن فاکتورهاي انساني, زيبايي شناسي, سازگاري و مستندسازي جامع, سيجيده مي شود. قابليت اطمينان: از طريق اندازه گيري فرکانس و شدتت شکست, توانايي بهبود شکست, دقت نتايج خروجي, زمان ميانگين شکست(MTTF) و قابل پيش بيني بودن برنامه ارزيابي مي شود. عملکرد: از طريق سرعت پردازش, زمان پاسخ, مصرف منابع, توان عملياتي و کارايي سنجيده مي شود. قابليت پشتيباني: توانايي تعميم برنامه, قابليت تطبيق, قابليت خدماتي را با يکديگر ترکيب مي کند.

  10. 1-3- فاکتورهاي کيفيت ايزو 9126 اين استاندارد شش خصلت کيفيت کليدي را تعيين مي کند: قابليت کارکردي: مناسب بودن, دقيق بودن, درون-عملياتي بودن, متابعت و امنيت. قابليت اطمينان: پختگي, تلورانس خطا, قابليت بهبود بازيابي. قابليت بکارگرفته شدن: قابليت ادراک شدن, قابليت يادگيري آن, قابليت اجراي عمليات روي آن. کارايي: ميزان بکارگيري بهينه ي نرم افزار از منابع سيستم در رفتار زماني, رفتار منبعي. قابليت نگهداري شدن: راحتي تعمير کردن نرم افزار براي قابليت تحليل شدن, قابليت تغييرکردن, ثبات, قابليت آزمون پذيري. قابليت حمل شدن: راحتي حمل و نقل از محيطي به محيط ديگر در قابليت تطبيق, قابليت نصب, متابعت, قابليت جابجايي.

  11. 1-4- انتقال به ديدگاه کمي ذهني و موضوعي بودن و تخصصي شدن نيز در تشخيص کيفيت نرم افزار, دخيل است. براي آن که به حل مشکل کمک کنيم, يک تعريف دقيق تر از کيفيت نرم افزار همراه با طريقه اي براي بدست آوردن اندازه هاي مقداري کيفيت نرم افزار جهت تحليل ملموس و مشهود مورد نياز است.

  12. 2-يک چارچوب براي متريک هاي فني نرم افزار

  13. 2-1- چالش متريک هاي فني نياز به مقياس و کنترل پيچيدگي نرم افزار وجود دارد. و اگر دستيابي به يک مقدار منفرد از اين متريک کيفيت مشکل است, ايجاد مقياس هايي با خصلت هاي برنامه اي دروني متفاوت بايد ممکن باشد. (مثلاً پيمانه سازي مؤثر, استقلال کارکردي و ...) . اين مقياس ها و متريک هاي حاصل از آنها را مي توان به عنوان نشانه هايي از کيفيت تحليل و مدل هاي طراحي, مورد استفاده قرار داد.

  14. 2-2- اصول اندازه گيري روچه فرآيند اندازه گيري که خصوصيات آن به پنج گروه فعاليت بالغ مي شود, را پيشنهاد کرده است: • فرموله کردن • گردآوري • تحليل • تفسير • بازخور

  15. 2-3- صفات خاصه متريک هاي مؤثر نرم افزار متريک حاصله و مقياس هاي منتهي به آن بايد: • ساده وقابل محاسبه باشند. • از نظر تجربي و شهودي ترغيب کننده باشند. • سازگاري و دست يافتني • سازگاري در بکارگيري واحدها و ابعاد • برنامه ريزي زبان مستقل • يک مکانيسم مؤثر براي بازخورد با کيفيت

  16. 3- متريک هاي مدل تحليل کار فني در مهندسي نرم افزار با ايجاد مدل تحليل, شروع مي شود. در اين مرحله است که نيازمندي ها استخراج شده و بنيادي براي طراحي برقرار مي گردد. بنابراين, متريک هاي فني که نسبت به کيفيت مدل تحليل شناخت ارائه مي کنند, مطلوب هستند.

  17. 3-1- متريک هاي مبتني برکارکرد متريک امتياز کارکرد (FP) مي تواند بطور کارآمدي به عنوان يک وسيله ي پيش بيني اندازه يک سيستم که از مدل تحليلي حاصل خواهد شد, بکار برود. • [0.65 + 0.01 * ∑(Fi)] شمارش کلFP = • در اين معادله Fi مقادير تطبيق پيچيدگي هستند.

  18. 3-2- متريک بنگ مانند متريک امتياز کارکردي, متريک بنگ را مي توان براي ايجاد يک بيانگر اندازه نرم افزاري که قرار است به عنوان پيامد تحليلي پياده سازي شود, بکار برد. متريک بنگ دلالتي از پياده سازي مستقل از اندازه سيستم اس. براي محاسبه ي متريک بنگ, مهندس نرم افزار بايد در درجه ي اول يک سري نکات ابتدايي يعني عناصري که مربوط به مدل تحليل بوده و در سطح تحليل دچار تقسيمات بيشتري نخواهند شد را مورد ارزيابي قرار دهد.

  19. امتيازات اوليه از طريق ارزيابي مدل تحليل و ايجاد شمارش ها به شکل هاي ذيل, تعيين مي شوند: امتيازات اوليه کارکردي(FuP): تعداد تغيير شکل هايي که در پايين ترين سطح يک نمودار جريان داده ها ظاهر مي شوند. عناصر داده ها(DE): مقدار صفات خاصه يک شيء داده اي اشياء(OB): تعداد اشياء داده اي روابط(RE): تعداد ارتباط بين اشياء داده اي وضعيت ها(ST): تعداد وضعيت هاي قابل مشاهده ي کاربر در يک نمودار انتقال وضعيت انتقال ها(TR): تعداد انتقال هاي وضعيت در نمودار انتقال وضعيت

  20. 3-3- متريک هاي کيفيت مشخصات يويس و همکارانش ليستي از خصوصيات قابل استفاده براي ارزيابي کيفيت مدل تحليل و تشخيص نيازهاي مربوط به آن, پيشنهاد کرده اند: وضوح(فقدان ابهام), کامل بودن, صحيح بودن, قابل فهم بودن, قابل تصديق بودن, هم خواني دروني و بيروني, قابل دستيابي بودن, فشردگي, قابليت ردگيري, قابليت اصلاح شدن, دقت و قابل استفاده مجدد بودن.

  21. 4- متريک هاي مدل طراحي طراحي بدون اندازه گيري يک آلترناتيو(گزينه) غيرقابل قبول است. در بخش هاي بعدي چند متريک طراحي رايج براي نرم افزار کامپيوتري را بررسي خواهيم کرد. هر يک از آنها مي توانند شناخت بهتري را در اختيار طراح قرار داده و کمک کنند تا طراحي به سطح بالاتري از کيفيت ارتقاء يابد.

  22. 4-1- متريک هاي طراحي معماري متريک هاي طراحي معماري, توجه خود را به خصوصيات معماري همراه با تأکيد بر ساختار معماري و مؤثربودن پيمانه ها, متمرکز مي کند. اين متريک ها به اين مفهوم که نياز به هيچ دانشي از عمليات دروني يک جزء خاص واقع در سيستم ندارند, جعبه سياه تلقي مي شوند. کارو و گلاس اين سه مقياس پيچيدگي طرح نرم افزاري را تعريف کرده اند: پيچيدگي ساختاري, پيچيدگي داده اي و پيچيدگي سيستم.

  23. پيچيدگي ساختاري يک پيمانه i به روش ذيل تعريف مي شود: S(i) = f2out(i) که در آن f2out(i) توان خروجي پيمانه i است. پيچيدگي داده ها مبين پيچيدگي در تعامل دروني پيماهنه i مي باشد و بصورت زير تعريف مي شود: D(i) = v(i)/ [fout(i) + 1] که در آن v(i) تعداد متغيرهاي ورودي و خروجي است که به پيمانه i وارد مي شوند و يا از آن خارج مي گردند. پيچيدگي سيستم به عنوان مجموع پيچيدگي ساختاري و داده اي بوده و بصورت ذيل ارائه مي شود: C(i) = S(i) + D(i)

  24. يک متريک طراحي معماري سطح بالا اوليه که توسط هنري و کانورا پيشنهاد شد, نيز ار کاربرد توان ورودي-توان خروجي بهره مي گيرد. اين افراد پيچيدگي متريک شکل را ب خ شکل زير تعريف کردند: HKM = length(i) * [fin(i) + Fout(i)]2 که در آن lenght(طول) تعداد جملات و عبارات زبان برنامه نويسي در پيمانه i و fin(i) عبارت از توان ورودي پيمانه, مي باشد.

  25. 4-2- متريک هاي طراحي تفصيلي(سطح اجزاء) متريک هاي طراحي در سطح اجزاء, توجه را به خصوصيات دروني اجزاء نرم افزار معطوف کرده و مقياس هاي 3-CS يعني چسبندگي پيمانه, پيوستگي و پيچيدگي را شامل مي شود. اين قياس ها مي توانند به مهندس نرم افزار کمک کنند تا کيفيت طراحي در سطح اجزاء را مورد قضاوت قرار دهد. متريک هاي ارائه شدهدر اين بخش به اين مفهوم که نياز به دانش و شناخت از عمليات دروني پيمانه تحت بررسي دارند, جعبه شيشه اي ناميده مي شوند.

  26. متريک هاي چسبندگي (انسجام): • برش داده ها • نشانه هاي داده ها • نشانه ها چسبي • نشانه هاي سوپر-چسبي • متريک ها پيوستگي(متصل کننده): اتصال پيمانه تعامل از متصل بودن يک پيمانه با ديگر پيمانه ها, داده هاي سراسري و مجيط خارجي,ارائه مي کند. • براي متصل سازي جريان داده ها و کنترل: di= تعداد پارامترهاي ورودي داده ها do= تعداد پارامترهاي خروجي داده ها

  27. ci= تعداد پارامترهاي ورودي کنترل co= تعداد پارامترهاي خروجي کنترل • براي متصل سازي جهاني: gd= تعداد متغيرهاي سراسري بکار رفته به عنوان داده ها gc= تعداد متغيرهاي سراسري بکار رفته به عنوان کنترل • براي متصل سازي محيطي: w= تعداد پيمانه هاي خوانده شده (توان خروجي) r= تعداد پيمانه هايي که پيمانه هاي تحت بررسي را فراخوان مي کنند.(توان ورودي)

  28. با بکار گيري اين مقياس ها, يک نمايش گر متصل سازي پيمانه, mc به روش ذيل تعريف شده است: mc = K / M که در آن K=1 و يک ثابت تناسبي است. M = di+(a*ci)+d0+(b*c0)+gd+(c*gc)+w+r که در آن a=b=c=2 مي باشد. • متريک هاي پيچيدگي: انواع متريک هاي نرم افزاري را ميتوان براي تعيين پيجيدگي جريان کنترل برنامه, محاسبه کرد. بسياري از اينها بر پايه گراف جريان استوار شده اند.

  29. 4-3- متريک هاي طراحي رابط کاربر يک GUI متعارف از عناصر موجوديت هاي طرح بندي استفاده مي کند_نمادهاي گرافيکي, متن, منوها, پنجره ها و موارد مشابه- تا به کاربر در تکميل و انجام وظايف کمک کند. براي انجام کاري با استفاده از GUI کاربر بايد از يک عنصر طرح بندي به عنصر بعدي در حرکت باشد. براي هريک طرح بندي مشخص مي توان هزينه را براي هر توالي اقدامات مطابق با رابطه ذيل در نظر گرفت: ] هزينه انتقال (k) * تعداد انتقال=∑ [ (k) هزينه که در آن k يک انتقال مشخص از يک موجوديت طرح بندي به بعدي به عنوان يک وظيفه مشخص انجام شده, مي باشد.

  30. مناسب بودن طرح کلي به طريقه ذيل تعريف شده است: )] هزينه طرح بندي پيشنهاد شده ) / (طرح بندي بهينه شده - هزينه LA = [(LA که در آن LA براي طرح بندي بهينه برابر با 100 خواهد بود. • براي محاسبه طرح بندي بهينه يک رابط کاربر گرافيک وضعيت واقعي رابط(ناحيه صفحه نمايش)به صورت يک توري يا يک شبکه درخواهد آمد. هر بخش از اين صفحه قسمت بندي شده, يک موجوديت را بازنمايي خواهد نمود. بنابر اين براي يک توري با N موقعيت ممکن, K طرح بندي مختلف براي جاي دادن موجوديت ها خواهيم داشت. تعداد طرح بندي ممکنه به قرار ذيل است: [N! / (K! * (N – K)!] * K! = تعداد طرح بندي ممکن براي يافتن طرح بندي بهينه (کمترين هزينه) سيرز يک الگوريتم درختي جستجو را توصيه کرده است.

  31. 5- متريک هاي برنامه منبع عمل نرم افزار قوانين کميتي را براي توسعه نرمافزار کامپيوتري در نظر گرفته و يک سري مقياس هاي اوليه که مي توان پس از ارائه برنامه بدان ها دست يافت و يا حدوداً زماني که طراحي کامل شده است, را بکار مي گيرد که در ذيل آمده اند: n1= تعداد عملگرهاي مشخص که در برنامه ظاهر مي شوند. n2= تعداد عملوندهاي مشخص که در برنامه ظاهر مي شوند. N1= تعداد کل موارد وقوع عملگر N2= تعداد کل موارد وقوع عملوند

  32. هالستيد نشان مي دهد که طول N را مي اوان تخمين زد: N = n1 log n1 + n2 log n2 و حجم برنامه را مي توان اين گونه تعريف کرد: V = N log 2 (n1 + n2) بطور تئوريک, يک حداقل حجم بايد براي هر الگوريتم خاص, وجود داشته باشد. هالسته يک نسبت حجم فشرده ترين حالت يک برنامه با حجم برنامه واقعي را تعريف مي کند. از لحاظ مقياس هاي اوليه, نسبت حجم مي تواند به طريق ذيل ارائه شود: L = 2/ n1 * n2/N2

  33. 6- متريک هاي آزمون در کل, آزمون کننده ها, بايد برروي تحليل, طراحي, ومتريک هاي برنامه جهت هدايت به سوي طراحي و انجام موارد آزمون, اتکاء داشته باند. متريک هاي استوار برکارکرد را مي توان به عنوان پيش بيني کننده ي کل تلاش مربوط به انجام آزمون, مورد استفاده قرار داد. متريک بنگ مي تواند دلالتي براي تعداد موارد آزمون مورد نياز از طريق آزمون مقياس هاي اوليه بحث شده در 3-2 ارائه کند. متريک هاي طراحي معماري, اطلاعاتي در مورد راحتي يا سختي مرتبط با آزمون تماميت و جامعيت ارائه کرده ونياز به آزمون تخصصي نرم افزار راه مي يابد.

  34. 7- متريک هاي نگهداري تمام متريک هاي نرم افزار معرفي شده در اين فصل ار مي توان براي توسعه ي نرم افزاري جديد و نگهداري نرم افزار موجود به کار گرفت. متريک هاي طراحي شده بطور صريح جهت نگهداري, پيشنهاد شده اند. IEEE يک نمايه ي پختگي (بلوغ) نرم افزار را توصيه مي کند که دلالتي بر ثبات يک محصول نرم افزاري ارائه مي دد. اطلاعات ذيل معين شده اند: MT= تعداد پيمانه هاي توليد جاري FC= تعداد پيمانه هاي توليد جاري که تغيير کرده اند. Fa= تعداد پيمانه هاي توليد جاري که اضافه شده اند. Fd= تعداد پيمانه هاي ناشي از توليد قبلي که در توليد فعلي خذف شده اند. شاخص بلوغ نرم افزار به روش زير محاسبه مي شود: SMI = [ MT – (Fa+Fc+Fd) / MT

  35. پايان فصل نوزدهم متريک هاي فني نرم افزار

More Related