متريک بنگ

Download Report

Transcript متريک بنگ

1
‫‪ ‬متريک هاي فني نرم افزار چيست؟ ماهيتاً مهندسي يک ديسپيلين کميتي است‪ .‬مهندسين از اعداد‬
‫براي کمک به طراحي استفاده کرده ومحصول ساخته شده را ارزيابي مي کنند‪.‬‬
‫‪ ‬چه کسي عهده دار انجام ان است؟ مهندسين نرم افزار‬
‫‪ ‬چرا اين مسئله از اهميت برخوردار است؟ سيستم متريک فني‪ ,‬پايه اي را براي تحليل‪ ,‬طراحي برنامه‬
‫نويسي وازمون بطورً ملموس تريً در نظر گرفته است‪ .‬مرحله ي بعدي‪ ,‬داده هاي مورد نياز براي‬
‫دستيابي به سيستم متريک فرموله شده است‪.‬‬
‫‪ ‬محصول کار چيست؟ سيستم متريک نرم افزاريً که از طريق محاسبه ي داده هاي جمع اوريً شده از‬
‫تحليل و مدل هاي طراحي‪ ,‬برنامه منبع و موارد ازمون‪ ,‬بدست مي ايند‪.‬‬
‫‪2‬‬
‫کيفيت برروي هماهنگي داشتن با نيازمندي هاي صريحاً اظهار شده ي عملکردي و اجراي ي تاکيد دارد که‬
‫شامل استانداردهاي توسعه ي مستند شده و خصويات تلويحي که از تمامي نرم افزار هاي بطورً حرفه اي‬
‫طراحي شده نيز مي گردد‪.‬‬
‫‪3‬‬
‫فاک تورهاي مؤثر در کيفيت نرم افزار را مي توان در دو گروه عمده تقسيم کرد‪:‬‬
‫‪ (1‬فاک تورهاي ي که مي توان انها را مستقيماً اندازه گرفت (مثلً نواقص در هر کارکرد – امتياز)‪.‬‬
‫‪ (2‬فاک تورهاي ي که فقط بطورً غيرمستقيم اندازه گيريً مي شوند‪( .‬مثلً قابليت استفاده يا قابليت‬
‫نگهدار ًي)‪.‬‬
‫در هر حالت‪ ,‬بايد اندازه گيريً انجام شود‪ .‬ما بايد نرم افزار را (اسناد‪ ,‬برنامه‪ ,‬داده ها) با تعدادي از داده‬
‫ها مقايسه کرده و به يک داللت کيفيتي برسيم‪.‬‬
‫‪4‬‬
‫اين فاک تورهاي کيفيت نرم افزار مک کال‪ ,‬نمايش داده شده در شکل زير برروي سه جنبه ي مهم يک‬
‫محصول نرم افزاريً‪ ,‬توجه خود را متمرکز مي کند‪ :‬خصوصيات عملياتي‪ ,‬تواناي ي تغيير يافتن و تطبيق با‬
‫محيط هاي جديد‪.‬‬
‫‪5‬‬
‫‪ ‬با عطف به فاک تورهاي ذکرشده در شکل مک کال شرحً ذيل را ارائه مي کند‪:‬‬
‫درستي‪ :‬ان اندازه که برنامه اي مشخصه هاي خود و نيازمندي هاي مربوط به مشتريً را براورده مي کند‪.‬‬
‫قابليت اطمينان‪ :‬ان اندازه که از برنامه اي بتوان اجراي کارکردهاي مربوط به خود را با دقت الزم‪ ,‬انتظار‬
‫داشت‪.‬‬
‫کاراي ي‪ :‬مقدار منابع محاسبه و کد مورد نياز براي انکه برنامه اي کارکرد خود را اجرا کند‪.‬‬
‫جامعيت‪ :‬اندازه اي که افراد غير مجاز را مي توان از دستيابي به نرم افزار يا داده ها منع کرد‪.‬‬
‫قابليت استفاده‪ :‬تلش مورد نياز براي يادگيريً‪ ,‬عمليات‪ ,‬اماده کردن ورودي و تفسير خ ًروجي يک برنامه‪.‬‬
‫قابليت انعطاف‪ :‬تلش مورد نياز براي اصلح يک برنامه عملياتي‪.‬‬
‫‪6‬‬
‫ازمون پذيري‪ :‬تلش الزم براي ازمودن برنامه جهت حصول از اجراي کارکرد تعيين شده‪.‬‬
‫قابليت حمل‪ :‬تلش مورد نياز براي انتقال برنامه از يک سخت افزار و يا محيط سيستم نرم افزار به‬
‫محيطي ديگر‪.‬‬
‫قابليت استفاده مجدد‪ :‬ان اندازه که برنامه اي را بتوان در ديگر کاربردهاي دوباره بکار برد‪.‬‬
‫قابليت درون عملياتي‪ :‬تلش مورد نياز براي تلفيق سيستمي به سيستم ديگر‪.‬‬
‫‪7‬‬
‫‪ ‬محاسبه ي فاک تورهاي کيفيت‪:‬‬
‫‪Fq = c1 * m1 + c2 * m2 + … +cn * mn‬‬
‫در اين ‪Fq‬رابطه کيفيت نرم افزار‪ cn ,‬ضريب رگرسيون‪ mn ,‬متريک هاي ي است که روي فاک تورً کيفيت‬
‫تاثير مي گذارد‪.‬‬
‫‪ ‬متريک هاي ذيل در شماي درجه بندي بکار مي روند(فاک تورهاي کيفيت)‪:‬‬
‫قابليت وارسي‪ ,‬دقت‪ ,‬رايج بودن ارتباطات‪ ,‬تکميل بودن‪ ,‬فشرده بودن‪ ,‬سازگاريً‪ ,‬رايج بودن داده ها‪,‬‬
‫توالرانس اشتباه‪ ,‬کاراي ي اجراي ي‪ ,‬قابليت توسعه‪ ,‬عموميت داشتن‪ ,‬استقلل سخت افزا ًريً‪ ,‬بکارگيريً ابزار‪,‬‬
‫پيمانه اي بودن‪ ,‬قابليت اجرا‪ ,‬امنيت‪ ,‬خود‪-‬مستندسازيً‪ ,‬سادگي‪ ,‬استقلل سيستم نرم افزار‪ ,‬قابليت‬
‫رديابي‪ ,‬اموزش‪.‬‬
‫‪8‬‬
‫قابليت کارکردي‪ :‬از طريق ارزيابي مجموعه ويژگي هاي و تواناي ي هاي برنامه‪ ,‬عموميت کارکردهاي ي که‬
‫تجويل داده مي شوند وامنيت کل سيستم‪ ,‬سنجيده مي شود‪.‬‬
‫قابليت بکارگيري‪ :‬با لحاظ کردن فاک تورهاي انساني‪ ,‬زيباي ي شناسي‪ ,‬سازگاريً و مستندسازيً جامع‪,‬‬
‫سيجيده مي شود‪.‬‬
‫قابليت اطمينان‪ :‬از طريق اندازه گيريً فرکانس و شدتت شکست‪ ,‬تواناي ي بهبود شکست‪ ,‬دقت نتايج‬
‫خروجي‪ ,‬زمان ميانگين شکست(‪ )MTTF‬و قابل پيش بيني بودن برنامه ارزيابي مي شود‪.‬‬
‫عملکرد‪ :‬از طريق سرعت پردازش‪ ,‬زمان پاسخ‪ ,‬مصرف منابع‪ ,‬توان عملياتي و کاراي ي سنجيده مي شود‪.‬‬
‫قابليت پشتيباني‪ :‬تواناي ي تعميم برنامه‪ ,‬قابليت تطبيق‪ ,‬قابليت خدماتي را با يکديگر ترکيب مي کند‪.‬‬
‫‪9‬‬
‫اين استاندارد شش خصلت کيفيت کليدي را تعيين مي کند‪:‬‬
‫قابليت کارکردي‪ :‬مناسب بودن‪ ,‬دقيق بودن‪ ,‬درون‪-‬عملياتي بودن‪ ,‬متابعت و امنيت‪.‬‬
‫قابليت اطمينان‪ :‬پختگي‪ ,‬تلورانس خطا‪ ,‬قابليت بهبود بازيابي‪.‬‬
‫قابليت بکارگرفته شدن‪ :‬قابليت ادراک شدن‪ ,‬قابليت يادگيريً ان‪ ,‬قابليت اجراي عمليات روي ان‪.‬‬
‫کاراي ي‪ :‬ميزان بکارگيريً بهينه ي نرم افزار از منابع سيستم در رفتار زماني‪ ,‬رفتار منبعي‪.‬‬
‫قابليت نگهداري شدن‪ :‬راحتي تعمير کردن نرم افزار براي قابليت تحليل شدن‪ ,‬قابليت تغييرکردن‪ ,‬ثبات‪,‬‬
‫قابليت ازمون پذيريً‪.‬‬
‫قابليت حمل شدن‪ :‬راحتي حمل و نقل از محيطي به محيط ديگر در قابليت تطبيق‪ ,‬قابليت نصب‪,‬‬
‫متابعت‪ ,‬قابليت جابجاي ي‪.‬‬
‫‪10‬‬
‫ذهني و موضوعي بودن و تخصصي شدن نيز در تشخيص کيفيت نرم افزار‪ ,‬دخيل است‪ .‬ب ًراي ان که به‬
‫حل مشکل کمک کنيم‪ ,‬يک تعريف دقيق تر از کيفيت نرم افزار همراه با طريقه اي براي بدست اوردن‬
‫اندازه هاي مقداريً کيفيت نرم افزار جهت تحليل ملموس و مشهود مورد نياز است‪.‬‬
‫‪11‬‬
12
‫نياز به مقياس و کنترل پيچيدگي نرم افزار وجود دارد‪ .‬و اگر دستيابي به يک مقدار منفرد از اين متريک‬
‫کيفيت مشکل است‪ ,‬ايجاد مقياس هاي ي با خصلت هاي برنامه اي دروني متفاوت بايد ممکن باشد‪( .‬مثلً‬
‫پيمانه سازيً مؤثر‪ ,‬استقلل کارکردي و ‪ . )...‬اين مقياس ها و متريک هاي حاصل از انها را مي توان به‬
‫عنوان نشانه هاي ي از کيفيت تحليل و مدل هاي طراحي‪ ,‬مورد استفاده قرار داد‪.‬‬
‫‪13‬‬
‫روچه فرايند اندازه گيريً که خصوصيات ان به پنج گروه فعاليت بالغ مي شود‪ ,‬را پيشنهاد کرده است‪:‬‬
‫‪ ‬فرموله کردن‬
‫‪ ‬گرداوريً‬
‫‪ ‬تحليل‬
‫‪ ‬تفسير‬
‫‪ ‬بازخو ًر‬
‫‪14‬‬
‫متريک حاصله و مقياس هاي منتهي به ان بايد‪:‬‬
‫‪ ‬ساده وقابل محاسبه باشند‪.‬‬
‫‪ ‬از نظر تجربي و شهودي ترغيب کننده باشند‪.‬‬
‫‪ ‬سازگاريً و دست يافتني‬
‫‪ ‬سازگاريً در بکارگيريً واحدها و ابعاد‬
‫‪ ‬برنامه ريزيً زبان مستقل‬
‫‪ ‬يک مکانيسم مؤثر براي بازخورد با کيفيت‬
‫‪15‬‬
‫کار فني در مهندسي نرم افزار با ايجاد مدل تحليل‪ ,‬شروع مي شود‪ .‬در اين مرحله است که نيازمندي ها‬
‫استخراج شده و بنيادي براي طراحي برقرار مي گردد‪ .‬بنابراين‪ ,‬متريک هاي فني که نسبت به کيفيت مدل‬
‫تحليل شناخت ارائه مي کنند‪ ,‬مطلوب هستند‪.‬‬
‫‪16‬‬
‫متريک امتياز کارکرد (‪ )FP‬مي تواند بطورً کارامدي به عنوان يک وسيله ي پيش بيني اندازه يک‬
‫سيستم که از مدل تحليلي حاصل خواهد شد‪ ,‬بکار برود‪.‬‬
‫• ])‪[0.65 + 0.01 * ∑(Fi‬شمارشًکل = ‪FP‬‬
‫• در اين معادله ‪ Fi‬مقادير تطبيق پيچيدگي هستند‪.‬‬
‫‪17‬‬
‫مانند متريک امتياز کارکردي‪ ,‬متريک بنگ را مي توان براي ايجاد يک بيانگر اندازه نرم افزاريً که قرار‬
‫است به عنوان پيامد تحليلي پياده سازيً شود‪ ,‬بکار برد‪.‬‬
‫متريک بنگ داللتي از پياده سازيً مستقل از اندازه سيستم اس‪ .‬براي محاسبه ي متريک بنگ‪ ,‬مهندس‬
‫نرم افزار بايد در درجه ي اول يک سريً نکات ابتداي ي يعني عناصريً که مربوط به مدل تحليل بوده و در‬
‫سطح تحليل دچار تقسيمات بيشتريً نخواهند شد را مورد ارزيابي قرار دهد‪.‬‬
‫‪18‬‬
‫‪ ‬امتيازات اوليه از طريق ارزيابي مدل تحليل و ايجاد شمارش ها به شکل هاي ذيل‪ ,‬تعيين مي شوند‪:‬‬
‫امتيازات اوليه کارکردي(‪ :)FuP‬تعداد تغيير شکل هاي ي که در پايين ترين سطح يک نمودار جريان‬
‫داده ها ظاهر مي شوند‪.‬‬
‫عناصر داده ها(‪ :)DE‬مقدار صفات خاصه يک شيء داده اي‬
‫اشياء(‪ :)OB‬تعداد اشياء داده اي‬
‫روابط(‪ :)RE‬تعداد ارتباط بين اشياء داده اي‬
‫وضعيت ها(‪ :)ST‬تعداد وضعيت هاي قابل مشاهده ي کاربر در يک نمودار انتقال وضعيت‬
‫انتقال ها(‪ :)TR‬تعداد انتقال هاي وضعيت در نمودار انتقال وضعيت‬
‫‪19‬‬
‫يويس و همکارانش ليستي از خصوصيات قابل استفاده براي ارزيابي کيفيت مدل تحليل و تشخيص‬
‫نيازهاي مربوط به ان‪ ,‬پيشنهاد کرده اند‪:‬‬
‫وضوح(فقدان ابهام)‪ ,‬کامل بودن‪ ,‬صحيح بودن‪ ,‬قابل فهم بودن‪ ,‬قابل تصديق بودن‪ ,‬هم خواني دروني و‬
‫بيروني‪ ,‬قابل دستيابي بودن‪ ,‬فشردگي‪ ,‬قابليت ردگيريً‪ ,‬قابليت اصلح شدن‪ ,‬دقت و قابل استفاده مجدد‬
‫بودن‪.‬‬
‫‪20‬‬
‫طراحي بدون اندازه گيريً يک الترناتيو(گزينه) غيرقابل قبول است‪ .‬در بخش هاي بعدي چند متريک‬
‫طراحي رايج براي نرم افزار کامپيوتريً را بررسي خواهيم کرد‪ .‬هر يک از انها مي توانند شناخت بهتريً را در‬
‫اختيار طراح قرار داده و کمک کنند تا طراحي به سطح باالتريً از کيفيت ارتقاء يابد‪.‬‬
‫‪21‬‬
‫متريک هاي طراحي معماريً‪ ,‬توجه خود را به خصوصيات معماريً همراه با تاکيد بر ساختار معماريً و‬
‫مؤثربودن پيمانه ها‪ ,‬متمرکز مي کند‪ .‬اين متريک ها به اين مفهوم که نياز به هيچ دانشي از عمليات دروني‬
‫يک جزء خاص واقع در سيستم ندارند‪ ,‬جعبه سياه تلقي مي شوند‪.‬‬
‫کاروً و گلس اين سه مقياس پيچيدگي طرحً نرم افزاريً را تعريف کرده اند‪ :‬پيچيدگي ساختاريً‪ ,‬پيچيدگي‬
‫داده اي و پيچيدگي سيستم‪.‬‬
‫‪22‬‬
‫پيچيدگي ساختار ًي يک پيمانه ‪ i‬به روش ذيل تعريف مي شود‪:‬‬
‫که در ان )‪ f2out(i‬توان خروجي پيمانه ‪ i‬است‪.‬‬
‫)‪S(i) = f2out(i‬‬
‫پيچيدگي داده ها مبين پيچيدگي در تعامل دروني پيماهنه ‪ i‬مي باشد و بصورت زير تعريف مي شود‪:‬‬
‫]‪D(i) = v(i)/ [fout(i) + 1‬‬
‫که در ان )‪ v(i‬تعداد متغيرهاي ورودي و خروجي است که به پيمانه ‪ i‬وارد مي شوند و يا از ان خارج مي گردند‪.‬‬
‫پيچيدگي سيستم به عنوان مجموع پيچيدگي ساختار ًي و داده اي بوده و بصورت ذيل ارائه مي شود‪:‬‬
‫)‪C(i) = S(i) + D(i‬‬
‫‪23‬‬
‫‪ ‬يک متريک طراحي معمار ًي سطح باال اوليه که توسط هنريً و کانورا پيشنهاد شد‪ ,‬نيز ار کاربرد توان‬
‫ورودي‪-‬توان خروجي بهره مي گيرد‪ .‬اين افراد پيچيدگي متريک شکل را ب خ شکل زير تعريف کردند‪:‬‬
‫‪HKM = length(i) * [fin(i) + Fout(i)]2‬‬
‫که در ان ‪(lenght‬طول) تعداد جملت و عبارات زبان برنامه نويسي در پيمانه ‪ i‬و )‪fin(i‬‬
‫عبارت از توان ورودي پيمانه‪ ,‬مي باشد‪.‬‬
‫‪24‬‬
‫متريک هاي طراحي در سطح اجزاء‪ ,‬توجه را به خصوصيات دروني اجزاء نرم افزار معطوف کرده و‬
‫مقياس هاي ‪ 3-CS‬يعني چسبندگي پيمانه‪ ,‬پيوستگي و پيچيدگي را شامل مي شود‪ .‬اين قياس ها مي‬
‫توانند به مهندس نرم افزار کمک کنند تا کيفيت طراحي در سطح اجزاء را مورد قضاوت قرار دهد‪ .‬متريک‬
‫هاي ارائه شدهدر اين بخش به اين مفهوم که نياز به دانش و شناخت از عمليات دروني پيمانه تحت بررسي‬
‫دارند‪ ,‬جعبه شيشه اي ناميده مي شوند‪.‬‬
‫‪25‬‬
‫‪ ‬متريک هاي چسبندگي (انسجام)‪:‬‬
‫‪ ‬برش داده ها‬
‫‪ ‬نشانه هاي داده ها‬
‫‪ ‬نشانه ها چسبي‬
‫‪ ‬نشانه هاي سوپر‪-‬چسبي‬
‫‪ ‬متريک ها پيوستگي(متصل کننده)‪ :‬اتصال پيمانه تعامل از متصل بودن يک پيمانه با ديگر پيمانه‬
‫ها‪ ,‬داده هاي سراسريً و مجيط خارجي‪,‬ارائه مي کند‪.‬‬
‫‪ ‬براي متصل سازيً جريان داده ها و کنترل‪:‬‬
‫‪ =di‬تعداد پارامترهاي ورودي داده ها‬
‫‪ =do‬تعداد پارامترهاي خروجي داده ها‬
‫‪26‬‬
‫‪ =ci‬تعداد پارامترهاي ورودي کنترل‬
‫‪ =co‬تعداد پارامترهاي خروجي کنترل‬
‫‪ ‬براي متصل سازيً جهاني‪:‬‬
‫‪ =gd‬تعداد متغيرهاي سراسر ًي بکار رفته به عنوان داده ها‬
‫‪ =gc‬تعداد متغيرهاي سراسريً بکار رفته به عنوان کنترل‬
‫‪ ‬براي متصل سازيً محيطي‪:‬‬
‫‪ =w‬تعداد پيمانه هاي خوانده شده (توان خروجي)‬
‫‪ =r‬تعداد پيمانه هاي ي که پيمانه هاي تحت بررسي را فراخوان مي کنند‪(.‬توان ورودي)‬
‫‪27‬‬
‫‪ ‬با بکار گير ًي اين مقياس ها‪ ,‬يک نمايش گر متصل ساز ًي پيمانه‪ mc ,‬به روش ذيل تعريف شده‬
‫است‪:‬‬
‫‪mc = K / M‬‬
‫که در ان ‪ K=1‬و يک ثابت تناسبي است‪.‬‬
‫‪M = di+(a*ci)+d0+(b*c0)+gd+(c*gc)+w+r‬‬
‫که در ان ‪ a=b=c=2‬مي باشد‪.‬‬
‫‪ ‬متريک هاي پيچيدگي‪ :‬انواع متريک هاي نرم افزاريً را ميتوان براي تعيين پيجيدگي جريان کنترل‬
‫برنامه‪ ,‬محاسبه کرد‪ .‬بسياريً از اينها بر پايه گراف جريان استوار شده اند‪.‬‬
‫‪28‬‬
‫يک ‪ GUI‬متعارف از عناصر موجوديت هاي طرحً بندي استفاده مي کند_نمادهاي گرافيکي‪ ,‬متن‪,‬‬
‫منوها‪ ,‬پنجره ها و موارد مشابه‪ -‬تا به کاربر در تکميل و انجام وظايف کمک کند‪ .‬براي انجام کار ًي با‬
‫استفاده از ‪ GUI‬کاربر بايد از يک عنصر طرحً بندي به عنصر بعدي در حرکت باشد‪.‬‬
‫براي هريک طرحً بندي مشخص مي توان هزينه را براي هر توالي اقدامات مطابق با رابطه ذيل در نظر‬
‫گرفت‪:‬‬
‫] هزينهًانتقالً)‪ * (k‬تعدادًانتقال )‪=∑ [ (k‬هزينه‬
‫که در ان ‪ k‬يک انتقال مشخص از يک موجوديت طرحً بندي به بعدي به عنوان يک وظيفه مشخص انجام شده‪ ,‬مي باشد‪.‬‬
‫‪29‬‬
‫مناسب بودن طرحً کلي به طريقه ذيل تعريف شده است‪:‬‬
‫]) هزينهًطرحًبنديًپيشنهادًشدهًً( ‪) /‬طرحًبنديًبهينهًشدهً‪ -‬هزينهً‪LA = [(LA‬‬
‫که در ان ‪ LA‬براي طرحً بندي بهينه برابر با ‪ 100‬خواهد بود‪.‬‬
‫‪ ‬براي محاسبه طرحً بندي بهينه يک رابط کاربر گرافيک وضعيت واقعي رابط(ناحيه صفحه نمايش)به صورت‬
‫يک تور ًي يا يک شبکه درخواهد امد‪ .‬هر بخش از اين صفحه قسمت بندي شده‪ ,‬يک موجوديت را با ًزنماي ي‬
‫خواهد نمود‪ .‬بنابر اين براي يک تور ًي با ‪ N‬موقعيت ممکن‪ K ,‬طرحً بندي مختلف براي جاي دادن موجوديت‬
‫ها خواهيم داشت‪ .‬تعداد طرحً بندي ممکنه به قرار ذيل است‪:‬‬
‫!‪ = [N! / (K! * (N – K)!] * K‬تعدادًطرحًبنديًممکن‬
‫براي يافتن طرحً بندي بهينه (کمترين هزينه) سيرزً يک الگوريتم درختي جستجو را توصيه کرده است‪.‬‬
‫‪30‬‬
‫عمل نرم افزار قوانين کميتي را براي توسعه نرمافزار کامپيوتريً در نظر گرفته و يک سريً مقياس هاي‬
‫اوليه که مي توان پس از ارائه برنامه بدان ها دست يافت و يا حدوداً زماني که طراحي کامل شده است‪ ,‬را‬
‫بکار مي گيرد که در ذيل امده اند‪:‬‬
‫‪ =n1‬تعداد عملگرهاي مشخص که در برنامه ظاهر مي شوند‪.‬‬
‫‪ =n2‬تعداد عملوندهاي مشخص که در برنامه ظاهر مي شوند‪.‬‬
‫‪ =N1‬تعداد کل موارد وقوع عملگر‬
‫‪ =N2‬تعداد کل موارد وقوع عملوند‬
‫‪31‬‬
‫هالستيد نشان مي دهد که طول ‪ N‬را مي اوان تخمين زد‪:‬‬
‫‪N = n1 log n1 + n2 log n2‬‬
‫و حجم برنامه را مي توان اين گونه تعريف کرد‪:‬‬
‫)‪V = N log 2 (n1 + n2‬‬
‫بطورً تئوريک‪ ,‬يک حداقل حجم بايد براي هر الگوريتم خاص‪ ,‬وجود داشته باشد‪ .‬هالسته يک نسبت‬
‫حجم فشرده ترين حالت يک برنامه با حجم برنامه واقعي را تعريف مي کند‪ .‬از لحاظ مقياس هاي اوليه‪,‬‬
‫نسبت حجم مي تواند به طريق ذيل ارائه شود‪:‬‬
‫‪L = 2/ n1 * n2/N2‬‬
‫‪32‬‬
‫در کل‪ ,‬ازمون کننده ها‪ ,‬بايد برروي تحليل‪ ,‬طراحي‪ ,‬ومتريک هاي برنامه جهت هدايت به سوي طراحي‬
‫و انجام موارد ازمون‪ ,‬اتکاء داشته باند‪ .‬متريک هاي استوار برکارکرد را مي توان به عنوان پيش بيني کننده‬
‫ي کل تلش مربوط به انجام ازمون‪ ,‬مورد استفاده قرار داد‪.‬‬
‫متريک بنگ مي تواند داللتي براي تعداد موارد ازمون مورد نياز از طريق ازمون مقياس هاي اوليه بحث‬
‫شده در ‪ 2-3‬ارائه کند‪.‬‬
‫متريک هاي طراحي معماريً‪ ,‬اطلعاتي در مورد راحتي يا سختي مرتبط با ازمون تماميت و جامعيت‬
‫ارائه کرده ونياز به ازمون تخصصي نرم افزار راه مي يابد‪.‬‬
‫‪33‬‬
‫تمام متريک هاي نرم افزار معرفي شده در اين فصل ار مي توان براي توسعه ي نرم افزاريً جديد و نگهداريً نرم‬
‫افزار موجود به کار گرفت‪ .‬متريک هاي طراحي شده بطورً صريح جهت نگهداريً‪ ,‬پيشنهاد شده اند‪.‬‬
‫‪ IEEE‬يک نمايه ي پختگي (بلوغ) نرم افزار را توصيه مي کند که داللتي بر ثبات يک محصول نرم افزار ًي ارائه‬
‫مي دد‪ .‬اطلعات ذيل معين شده اند‪:‬‬
‫‪ =MT‬تعداد پيمانه هاي توليد جاريً‬
‫‪ =FC‬تعداد پيمانه هاي توليد جاريً که تغيير کرده اند‪.‬‬
‫‪ =Fa‬تعداد پيمانه هاي توليد جاريً که اضافه شده اند‪.‬‬
‫‪ =Fd‬تعداد پيمانه هاي ناشي از توليد قبلي که در توليد فعلي خذف شده اند‪.‬‬
‫شاخص بلوغ نرم افزار به روش زير محاسبه مي شود‪:‬‬
‫‪SMI = [ MT – (Fa+Fc+Fd) / MT‬‬
‫‪34‬‬
35