Se2 9 Metrics

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Se2 9 Metrics as PDF for free.

More details

  • Words: 2,532
  • Pages: 49
‫مهندسی نرم افزار ‪2‬‬ ‫‪Metrics‬‬ ‫محسن کامیار‬ ‫دانشگاه فردوسی مشهد‬

‫‪Metrics‬‬ ‫‪‬‬

‫‪‬‬

‫در هر فرآیند تولید مهندسی باید معیارهایی‬ ‫(سنجه‪ ،‬محک) برای کیفیت محصول تولید‬ ‫شده وجود داشته باشند که بتوان با‬ ‫استفاده از آن میزان کارایی فرآیند را‬ ‫ارزیابی نمود‪.‬‬ ‫مهمترین مشکل مهندسی نرم افزار را می‬ ‫توان غیر دقیق بودن این معیارها دانست‪.‬‬ ‫چیزی که در بسیاری از رشته های‬ ‫مهندسی کامل به صورت کمی موجود‬

‫‪Metrics‬‬ ‫‪‬‬

‫مهمترین عوامل بروز ناکارایی را می توان‬ ‫در موارد زیر خلصه نمود‪:‬‬ ‫‪‬‬

‫‪‬‬

‫زیربنای سنجش کیفیت را می توان نیازمندی‬ ‫های یک سیستم نرم افزاری دانست‪ .‬عدم‬ ‫انطباق تولید بر نیازمندی ها یکی از منابع‬ ‫ناکارایی خواهد بود‬ ‫استانداردها راه کارهایی برای تولید یک‬ ‫محصول با کیفیت ارائه می نمایند‪ .‬مسلما‬ ‫عدم پیروی از این استانداردها منجر به تولید‬ ‫محصولت بدون کیفیت مناسب خواهد شد‪.‬‬

‫‪Metrics‬‬ ‫‪‬‬

‫همیشه تعدادی نیازمندی های ضمنی هست‬ ‫که مد نظر قرار نمی گیرند (مانند کاربرپسند‬ ‫بودن واسط کاربر)‪ .‬عدم برآورده سازی این‬ ‫نیازمندی ها باعث عدم دست یابی به کارایی‬ ‫مناسب خواهد شد‪.‬‬

‫‪Metrics‬‬ ‫‪‬‬

‫می توان عوامل تأثیر گذار برروی کیفیت‬ ‫نرم افزار را شامل دو دسته زیر دانست‬ ‫‪‬‬

‫‪‬‬

‫‪‬‬

‫عوامل قابل اندازه گیری (مانند تعداد باگ ها‬ ‫به ازای هر تابع و ‪)...‬‬ ‫عوامل غیرقابل اندازه گیری (مانند استفاده‬ ‫مجدد‪ ،‬قدرت نگهداری و ‪)...‬‬

‫در کل می توان عوامل زیر را مهمترین‬ ‫عوامل در کیفیت محصول دانست‪:‬‬

‫‪Metrics‬‬ ‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫صحت (‪ :)correctness‬محصول بتواند‬ ‫نیازمندی ها و مشخصات مد نظر و اهداف‬ ‫اصلی مشتری را برآورده سازد‪.‬‬ ‫قابلیت اطمینان (‪ :)Reliability‬محصول بتواند‬ ‫کارکردهای خواسته شده را با دقت کافی‬ ‫برآورده سازد‪.‬‬ ‫کارایی (‪ :)Efficiency‬حجم منابع مورد استفاده‬ ‫برای انجام کارکردها‬ ‫امنیت کافی (‪ :)Integrity‬کنترل دسترسی‬ ‫افراد برای دستیابی به توابع و داده ها‬

‫‪Metrics‬‬ ‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫استفاده آسان (‪ :)Usability‬تلش مورد نیاز‬ ‫برای آموزش‪ ،‬تفسیر خروجی ها‪ ،‬آماده سازی‬ ‫وروردی ها و ‪...‬‬ ‫قدرت نگهداری (‪ :)Maintainability‬فعالیت‬ ‫مورد نیاز برای اصلح یک خطا در برنامه‬ ‫انعطاف پذیری (‪ :)Flexibility‬فعالیت مورد نیاز‬ ‫برای تغییر یک کارکرد‬ ‫قابلیت تست (‪ :)Testability‬میزان فعالیت‬ ‫مورد نیاز برای تست یک کارکرد مورد انتظار‬

‫‪Metrics‬‬ ‫‪‬‬

‫‪‬‬

‫‪‬‬

‫قابلیت انتقال (‪ :)Portability‬میزان فعالیت‬ ‫مورد نیاز برای انتقال نرم افزار از یک بستر‬ ‫سخت افزاری و یا نرم افزاری به یک بستر‬ ‫دیگر‬ ‫استفاده مجدد (‪ :)Reusability‬میزان قابلیت‬ ‫استفاده مجدد از همه یا قسمتی از برنامه‬ ‫تهیه شده‬ ‫قابلیت همکاری (‪ :)Interoperability‬قابلیت‬ ‫همکاری با دیگر نرم افزارها‬

Metrics

‫‪Metrics‬‬ ‫‪‬‬

‫برای اندازه گیری هر یک از جنبه های ذکر‬ ‫شده در بال باید معیارهای قابل اندازه‬ ‫گیری وجود داشته باشد که می توان به‬ ‫موارد زیر اشاره نمود‪ .‬این معیارها عمدتا‬ ‫به نحوی انتخاب شده اند که مستقل‬ ‫باشند‪ .‬هر معیار امتیاز ‪ 0‬تا ‪ 10‬را دریافت‬ ‫می کند و تأثیر هر یک بر عوامل ذکر شده‬ ‫در بال نیز در جدولی آمده است‪.‬‬

‫‪Metrics‬‬ ‫‪‬‬

‫این معیارها شامل موارد زیر هستند‪:‬‬ ‫‪‬‬

‫‪‬‬ ‫‪‬‬

‫‪‬‬ ‫‪‬‬

‫‪ :Auditability‬سادگی بررسی سازگاری با‬ ‫استانداردها‬ ‫‪ :Accuracy‬دقت محاسبات و عملیات کنترلی‬ ‫‪ :Communication commonality‬میزان‬ ‫استفاده از واسطها و پروتکل های استاندارد‬ ‫‪ :Conciseness‬استفاده از حداقل میزان کد‬ ‫‪ :Consistency‬استفاده از روش های طراحی‬ ‫و مستندسازی یکسان در طول تولید‬

‫‪Metrics‬‬ ‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ :Data commonality‬استفاده از ساختارها و‬ ‫انواع داده استاندارد در تولید‬ ‫‪ :Error tolerance‬میزان تأثیر وجود یک خطا‬ ‫برروی دقت و ‪ ...‬داده ها‬ ‫‪ :Execution Efficiency‬کارایی زمان اجرای‬ ‫برنامه‬ ‫‪ :Expandability‬قابلیت گسترش طراحی‬ ‫ساختار‪ ،‬داده ها و یا توابع‬ ‫‪ :Generality‬آینده نگری در کاربردهای قابل‬ ‫فرض برای اجزاء برنامه‬

‫‪Metrics‬‬ ‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬ ‫‪‬‬

‫‪ :Hardware independence‬میزان استقلل‬ ‫نرم افزار از سخت افزار مورد نیاز‬ ‫‪ :Instrumentation‬امکانات نرم افزار برای‬ ‫کنترل وضعیت داخلی نرم افزار و تشخیص‬ ‫خطاها‬ ‫‪ :Modularity‬میزان استقلل کارکردی اجزاء‬ ‫مختلف سیستم‬ ‫‪ :Operability‬سادگی استفاده از برنامه‬ ‫‪ :Security‬استفاده از مکانیزم های حفظ داده‬ ‫ها و توابع‬

‫‪Metrics‬‬ ‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ :Software system independence‬میزان‬ ‫استقلل سیستم از عوامل محیطی مانند‬ ‫محدودیت های سیستم عامل و ‪...‬‬ ‫‪ :Traceability‬قابلیت پیگیری رو به عقب از‬ ‫یک جزء خاص از سیستم به سمت طراحی‬ ‫مورد نظر‬ ‫‪ :Training‬میزان کمک های مکانیزه به کاربر‬ ‫برای استفاده از سیستم‬

Metrics ‫دو استاندارد دیگر نیز در مورد عوامل‬ ‫مؤثر در کیفیت وجود دارند که استفاده‬ :‫گسترده ای می شوند‬ ‫ به نام‬HP ‫استاندارد ارائه شده توسط‬ FURPS )Functionality, Usability, )Reliability, Performance, Supportability ISO 9126 )Functionality, ‫استاندارد‬ Usability, Reliability, Efficiency, )Maintainability, Portability







‫‪Metrics‬‬ ‫‪‬‬

‫‪‬‬

‫در ادامه سعی می کنیم تا معیارهای کامل‬ ‫فنی را برای اندازه گیری کیفیت ارائه‬ ‫نماییم‪.‬‬ ‫معیارهای فنی باید‪:‬‬ ‫‪‬‬

‫‪‬‬

‫‪‬‬

‫در سنجش مدل های تحلیل و طراحی کمک‬ ‫لزم را بنمایند‬ ‫معیاری برای میزان پیچیدگی طراحی و کد‬ ‫ارائه نمایند‬ ‫در طراحی تست های مورد نیاز حداکثر کمک‬ ‫لزم را بنمایند‬

‫‪Metrics‬‬ ‫‪‬‬

‫به همین منظور این معیارها باید از اصول‬ ‫زیر پیروی نمایند‪:‬‬ ‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ :Formulation‬جمع آوری معیارهایی که برای‬ ‫نرم افزار مورد نظر مناسب تر می باشند‬ ‫‪ :Collection‬تعیین مکانیزم های لزم برای‬ ‫جمع آوری داده های مورد استفاده در‬ ‫معیارهای تعیین شده‬ ‫‪ :Analysis‬استفاده از ابزارهای لزم برای‬ ‫محاسبه معیارها‬ ‫‪ :Interpretation‬بررسی نتایج برای ایجاد تغییر‬

‫‪Metrics‬‬ ‫‪‬‬

‫‪ :Feedback‬انتقال پیشنهادات جمع آوری شده‬ ‫براساس معیارها به تیم تولید نرم افزار‬

‫‪Metrics‬‬ ‫‪‬‬

‫در پایان معیارها باید از خصوصیات زیر‬ ‫پیروی نمایند‪:‬‬ ‫‪‬‬

‫‪‬‬

‫‪‬‬

‫ساده و قابل محاسبه‪ :‬فهم و محاسبه به‬ ‫سادگی انجام گیرد‬ ‫به صورت تجربی و عینی قابل تفسیر و توجیه‬ ‫باشند (دقیقا مشخص باشد که این معیار قصد‬ ‫دارد تا چه مشخصه ای را اندازه گیری نماید)‬ ‫کامل مستقل و بی طرفانه تهیه شده باشد به‬ ‫صورتی که یک شخص ثالث نیز بتواند به نتیجه‬ ‫مشابه ما با استفاده از داده های یکسان‬

‫‪Metrics‬‬ ‫‪‬‬

‫‪‬‬ ‫‪‬‬

‫در استفاده از واحدها و ابعاد کامل سازگار‬ ‫عمل کند‬ ‫استقلل از زبان برنامه نویسی‬ ‫امکان فراهم نمودن بازخوردهای مناسب به‬ ‫تیم تولید برای دستیابی به نرم افزار با کیفیت‬ ‫بالتر‬

‫‪ – Metrics‬معیارهای مدل تحلیل‬ ‫‪‬‬

‫معیارهای مورد استفاده در مدل تحلیل‪:‬‬ ‫دسته های مختلفی از این معیارها‬ ‫موجودند که در زیر به آنها می پردازیم‬ ‫‪‬‬

‫معیارهای برپایه کارکرد‪ :‬این معیارها‬ ‫(معیارهای نقطه کارکرد) می توانند برای‬ ‫برآورد اندازه سیستم حاصل از تحلیل انجام‬ ‫گرفته استفاده شوند‪ .‬این معیار دارای موارد‬ ‫زیر می باشد‪:‬‬ ‫‪‬‬ ‫‪‬‬

‫تعداد ورودی های کاربر‬ ‫تعداد خروجی های کاربر‬

‫‪ – Metrics‬معیارهای مدل تحلیل‬ ‫‪‬‬ ‫‪‬‬

‫تعداد فایل ها‬ ‫تعداد واسط های خارجی‬

‫سپس از جدول زیر برای محاسبه استفاده می‬ ‫کنیم تا مجموع کل را به دست آوریم‬

‫‪ – Metrics‬معیارهای مدل تحلیل‬ ‫در نهایت عدد به دست آمده را در فرمول زیر‬ ‫قرار می دهیم و عدد ‪ FP‬را به دست می‬ ‫آوریم‪.‬‬ ‫در این فرمول ‪ fi‬ها اعدادی هستند که نتیجه‬ ‫جوابگویی به پرسش های ‪14‬گانه زیر می‬ ‫باشند و به هر پرسش عددی بین ‪ 0‬تا ‪ 5‬نسبت‬ ‫داده می شود‪.‬‬ ‫در نهایت براساس تجاربی مانند اینکه هر واحد‬ ‫‪ FP‬متناظر ‪ 60‬خط کد است و هر ‪ 12‬واحد‬

‫‪ – Metrics‬معیارهای مدل تحلیل‬

‫‪ – Metrics‬معیارهای مدل تحلیل‬ ‫‪‬‬

‫‪‬‬

‫معیار ‪ :Bang‬مانند مدل قبل برای به دست‬ ‫آوردن برآوردی از اندازه سیستم مورد‬ ‫استفاده قرار می گیرد‪.‬‬ ‫برای محاسبه این معیار ابتدا باید تعداد اجزاء‬ ‫اولیه را محاسبه نماییم‪ .‬اجزاء اولیه اجزائی از‬ ‫تحلیل هستند که دیگر در مدل تحلیل شکسته‬ ‫نمی شوند‪ .‬این اجزاء اولیه دارای گروه های‬ ‫زیر می باشند‪:‬‬ ‫‪‬‬

‫اجزاء اولیه کارکردی (‪:)Functional Primitives‬‬ ‫تعداد عملیاتی که برروی داده ها انجام می شود‪.‬‬ ‫این تعداد را می توان با استفاده از آخرین سطح‬

‫‪ – Metrics‬معیارهای مدل تحلیل‬ ‫نشان می دهند به دست آورد و یا در زبان ‪ UML‬این‬ ‫معیار را می توان برابر تعداد ‪usecase‬های موجود‬ ‫در آخرین سطح تحلیل دانست‪.‬‬ ‫‪ ‬اجزاء داده ای (‪ :)Data Elements‬تعداد اجزاء داده‬ ‫ای یا به عبارتی داده هایی که نوع داده ترکیبی‬ ‫محسوب نمی شوند‪.‬‬ ‫‪ ‬اشیاء (‪ :)Objects‬تعداد اشیائ تعریف شده در‬ ‫سیستم‪.‬‬ ‫‪ ‬روابط (‪ :)Relationships‬تعداد روابط تعریف شده‬ ‫بین اشیاء مختلف‬ ‫‪ ‬حالت ها (‪ :)States‬تعداد حالت های قابل مشاهده‬ ‫توسط کاربر در سیستم‬

‫‪ – Metrics‬معیارهای مدل تحلیل‬ ‫‪‬‬

‫‪‬‬

‫انتقال ها (‪ :)Transitions‬تعداد انتقال های بین‬ ‫حالت ها در نمودار حالت ها‬

‫علوه بر این باید اعداد زیر نیز به دست آیند‪:‬‬ ‫‪‬‬

‫‪‬‬

‫‪‬‬

‫تعداد کارکردهای دستی اولیه تغییر یافته‬ ‫(‪:)Modified Manual Function Primitives, FuPM‬‬ ‫تعداد کارکردهایی که در حوزه این سیستم نمی‬ ‫گنجند اما باید برای سازگاری با این سیستم تغییر‬ ‫یابند‪.‬‬ ‫اجزاء داده ای ورودی (‪Input Date Elements,‬‬ ‫‪ :)DEI‬تعداد اجزاء داده در ورودی های سیستم‬ ‫اجزاء داده ای خروجی (‪Output Data Elements,‬‬ ‫‪)DEO‬‬

‫‪ – Metrics‬معیارهای مدل تحلیل‬ ‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫اجزاء داده ای نگهداری شده (‪Retained Data‬‬ ‫‪ :)Elements, DER‬تعداد اجزاء داده ای که توسط‬ ‫سیستم ذخیره می شوند‪.‬‬ ‫‪ :Data Tokens – TCi‬تعداد داده هایی که در مرز‬ ‫کارکرد اولیه ٍ‪-i‬ام شکسته نمی شوند‪.‬‬ ‫رابطه ها (‪:)Relationship Connections, REi‬‬ ‫تعداد رابطه هایی که بین داده ‪ i‬ام در مدل داده ها‬ ‫با دیگر داده ها موجود است‪.‬‬

‫بر اساس این موارد می توان کاربردها را به‬ ‫دو دسته کاربردهای مبتنی بر داده و کارکرد‬ ‫تقسیم نمود‪ .‬با استفاده از معیار زیر می توان‬

‫‪ – Metrics‬معیارهای مدل تحلیل‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬

‫‪ RE/FuP < 0.7‬کاربردهای مبتنی برکارکرد‬ ‫‪ RE/FuP<1.4<0.8‬کاربردهای ترکیبی‬ ‫‪ RE/FuP<1.5‬کاربردهای مبتنی بر داده‬

‫‪‬‬

‫و یا معیار زیر می تواند نشان دهنده این باشد‬ ‫که آیا تمام توابع دارای درشت دانگی یکسانی‬ ‫هستند‬

‫‪‬‬

‫در نهایت برای محاسبه معیار ‪ Bang‬در‬ ‫کاربردهای مبتنی بر کارکرد از الگوریتم زیر‬ ‫استفاده می شود‪.‬‬

‫‪ – Metrics‬معیارهای مدل تحلیل‬

‫‪‬‬

‫در این الگوریتم تعداد توکن برابر تعداد توکن‬ ‫های مجزایی است که در آن کارکرد اولیه‬ ‫دیده می شوند‪ CFuPI .‬از جدولی که توسط‬ ‫‪ DeMarco‬ارائه شده است به دست می آید‬ ‫که نسخه ساده شده آن در زیر آمده‬

‫‪ – Metrics‬معیارهای مدل تحلیل‬

‫و در نهایت کلس های ذکر شده ‪ 16‬کلس هستند‬ ‫که دارای وزن های ‪ 0.6‬برای کارکردهای‬ ‫شامل انتقال ساده داده ها تا ‪ 2.5‬برای‬ ‫کارکردهای مدیریت داده ها می باشند‪.‬‬ ‫‪ ‬برای محاسبه معیار ‪ Bang‬در کاربردهای‬ ‫مبتنی بر داده نیز به صورت زیر عمل می‬ ‫کنیم‪.‬‬

‫‪ – Metrics‬معیارهای مدل تحلیل‬

‫‪‬‬

‫در این الگوریتم نیز ‪ COBI‬از جدول زیر به‬ ‫دست می آید‪.‬‬

‫‪ – Metrics‬معیارهای مدل تحلیل‬ ‫‪‬‬

‫پیشنهاد عمده در این روش این است که هر‬ ‫مجموعه ای جدول های متناسب با سازمان‬ ‫خود را براساس تجارب موجود در سازمان‬ ‫ایجاد نماید تا انطباق بیشتری با واقعیت‬ ‫داشته باشد‪.‬‬

‫‪ – Metrics‬معیارهای مدل طراحی‬ ‫‪‬‬

‫‪‬‬

‫در این بخش نیز مسلما برای دست یابی‬ ‫به محصولی که کیفیت لزم را داشته باشد‬ ‫باید معیارهای مناسب وجود داشته باشند‬ ‫که در ادامه به توضیح در این مورد می‬ ‫پردازیم‪.‬‬ ‫یکی از اولین دسته معیارها‪ ،‬معیارهای‬ ‫ساختار طراحی (‪Architectural Design‬‬ ‫‪ )Metric‬می باشند‪ .‬این معیارها را می‬ ‫توان معیارهای جعبه سیاه دانست زیرا تنها‬

‫‪ – Metrics‬معیارهای مدل طراحی‬ ‫عملیات در اجزاء سیستم نمی شوند‪.‬‬ ‫‪ ‬سه معیار پیچیدگی طراحی نرم افزار توسط‬ ‫‪ Card‬و ‪ Glass‬ارائه شده است‪ :‬پیچیدگی‬ ‫ساختاری (‪ ،)Structural Complexity‬پیچیدگی‬ ‫داده (‪ )Data Complexity‬و پیچیدگی سیستم‬ ‫(‪.)System Complexity‬‬ ‫‪ ‬این سه معیار بر اساس فرمول های زیر‬ ‫محاسبه می گردند‪.‬‬

‫‪ – Metrics‬معیارهای مدل طراحی‬ ‫‪‬‬

‫در این فرمول ها ‪ fout)i( )fan out‬یک ماژول) برابر‬ ‫است با تعداد ماژول هایی که مستقیما توسط‬ ‫ماژول ‪ i‬ام فراخوانی می شوند‪ )v)i .‬نیز برابر‬ ‫تعداد متغیرهای ورودی و خروجی است‪.‬‬

‫‪‬‬

‫یکی دیگر از معیارها توسط ‪ Henry‬و ‪Kafura‬‬ ‫ارائه شده است و به صورت زیر محاسبه می‬ ‫شود‪.‬‬

‫‪‬‬

‫در این معیار ‪ )length)i‬برابر است با تعداد‬ ‫دستورات زبان برنامه نویسی در ماژول مورد‬ ‫نظر‪ .‬البته در این معیار ‪ fin‬و ‪ fout‬علوه بر‬

‫‪ – Metrics‬معیارهای مدل طراحی‬ ‫‪‬‬

‫‪‬‬

‫هر چه دو معیار ذکر شده در بال بیشتر گردند‬ ‫میزان تلش برای یکپارچه سازی و تست نیز‬ ‫بال می روند‪.‬‬ ‫همچنین معیار زیر نشان دهنده چگالی ارتباط‬ ‫بین اجزاء مختلف سیستم است‪.‬‬

‫‪ – Metrics‬معیارهای مدل طراحی‬ ‫‪‬‬

‫همچنین نیروی هوایی آمریکا معیاری را به نام‬ ‫‪)Design Structure Quality Index )DSQI‬‬ ‫معرفی نموده است که مقداری بین ‪ 0‬و ‪ 1‬را‬ ‫ارائه نموده و باید مقادیر زیر با استفاده از‬ ‫طراحی داده ها و ساختار محاسبه گردند‪:‬‬ ‫‪‬‬

‫‪ : S1‬تعداد ماژول های موجود در سیستم‪.‬‬

‫‪‬‬

‫‪ : S2‬تعداد ماژول هایی که صحت کارکرد آن ها‬ ‫وابسته به داده های ورودی است و یا داده هایی‬ ‫را برای استفاده در دیگر ماژول ها فراهم می‬ ‫آورند‪( .‬ماژول های کنترلی در این دسته قرار نمی‬ ‫گیرند‪).‬‬

‫‪ – Metrics‬معیارهای مدل طراحی‬ ‫‪‬‬

‫‪ : S4‬تعداد اقلم داده ای موجود در پایگاه داده‬

‫‪‬‬

‫‪ : S5‬تعداد اقلم داده ای یکتای موجود در پایگاه‬ ‫داده‬ ‫‪ : S6‬تعداد قسمت های پایگاه داده‬

‫‪‬‬

‫‪ : S7‬تعداد ماژول های با یک ورودی و خروجی‬ ‫(ماژول های کنترل استثنائات چند خروجی‬ ‫محسوب نمی شوند)‬

‫‪‬‬

‫‪‬‬

‫بر این اساس مقادیر زیر نیز محاسبه می‬ ‫گردند‪:‬‬ ‫‪‬‬

‫ساختار برنامه‪ :‬اگر بر اساس روش های مبتنی بر‬ ‫جریان داده و یا شیءگرا طراحی صورت گرفته‬

‫‪ – Metrics‬معیارهای مدل طراحی‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬

‫‪‬‬

‫استقلل ماژول ها‪:‬‬ ‫استقلل ماژول ها از پردازش های قبلی‪:‬‬ ‫اندازه پایگاه داده‪:‬‬ ‫تقسیم پذیری پایگاه داده‪:‬‬ ‫خصوصیات ورود و خروج پایگاه داده‪:‬‬

‫با استفاده از این مقادیر معیار مورد نظر به‬ ‫صورت زیر محاسبه می شود که در آن‬

‫‪ – Metrics‬معیارهای مدل طراحی‬ ‫‪‬‬

‫دسته بعدی از معیارها‪ ،‬معیارهای طراحی‬ ‫در سطح اجزاء (‪Component-level‬‬ ‫‪ )Design Metrics‬می باشند‪ .‬این معیارها‬ ‫بر اساس مشخصات داخلی اجزاء نرم‬ ‫افزار می باشند و از سه ‪ c‬برای اندازه‬ ‫گیری استفاده می نمایند‪.‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬

‫‪( Cohesion‬چسبیدگی)‬ ‫‪( Coupling‬همکاری)‬ ‫‪( Complexity‬پیچیدگی)‬

‫‪ – Metrics‬معیارهای مدل طراحی‬ ‫‪‬‬

‫در همین سه دسته به بررسی معیارهای‬ ‫موجود می پردازیم‪:‬‬ ‫‪‬‬

‫معیارهای ‪ :cohesion‬این معیار میزان‬ ‫یکپارچگی یک ماژول را مشخص می کند و‬ ‫براساس مفاهیم زیر محاسبه می شود‪:‬‬ ‫‪‬‬

‫‪‬‬

‫‪ :Data slice‬قسمت های داده ای که تعیین کننده‬ ‫محل شروع حرکت یک ماژول در بین حالت های‬ ‫مختلف می باشند‪.‬‬ ‫‪ :Data tokens‬داده هایی که می توانند به عنوان‬ ‫توکن برای ماژول مورد نظر محسوب شوند‪.‬‬

‫‪ – Metrics‬معیارهای مدل طراحی‬ ‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ :Glue Tokens‬این توکن ها برروی یک یا چند‬ ‫‪ data slice‬ساخته شده اند‪.‬‬ ‫‪ :Super Glue Tokens‬این توکن ها در بین تمام‬ ‫‪data slice‬ها مشترک هستند‪.‬‬ ‫‪ :Stickness‬برای یک ‪ glue token‬برابر است با‬ ‫تعداد ‪ data slice‬ها متناظر با آن‪.‬‬

‫و در نهایت معیار زیر برای ‪strong functional‬‬ ‫‪ coherence‬ارائه می گردد‪.‬‬

‫‪ – Metrics‬معیارهای مدل طراحی‬ ‫‪‬‬

‫معیارهای ‪ :coupling‬این معیارها نشان دهنده‬ ‫میزان ارتباط یک ماژول با ماژول های دیگر‬ ‫می باشد و شامل دسته های مختلف ارتباط‬ ‫مانند ارتباط داده ای‪ ،‬ساختارهای کنترل‬ ‫جریان‪ ،‬سراسری و محیطی می باشد‪.‬‬ ‫‪‬‬

‫برای محاسبه باید معیارهای زیر به دست آیند‪:‬‬ ‫‪‬‬

‫ارتباطات داده ای و کنترل اجرا‬

‫‪‬‬

‫ارتباط سراسری‬

‫‪ – Metrics‬معیارهای مدل طراحی‬ ‫‪‬‬

‫ارتباط محیطی‬

‫‪‬‬

‫بر این اساس معیار ارتباط ماژول محاسبه می‬ ‫شود که به صورت زیر محاسبه می شود‪:‬‬ ‫که در آن ‪ k=1‬و ‪ a=b=c=2‬و‬

‫‪‬‬

‫میزان ارتباط با دیگر ماژول ها برابر خواهد بود با‬

‫‪‬‬

‫‪ – Metrics‬معیارهای مدل طراحی‬

‫‪‬‬

‫معیارهای واسط کاربر به عنوان ارائه‬ ‫موضوع بسیار مناسبی می باشد‪.‬‬

‫‪ – Metrics‬معیارهای کد‬ ‫‪‬‬

‫در این دسته از معیارها می توان از‬ ‫مهترین متغیرها به موارد زیر اشاره نمود‪:‬‬

‫‪‬‬

‫با استفاده از این مقادیر می توان‬ ‫‪ Program‬ارائه نمود‬ ‫‪Length‬زیر را‬ ‫معیارهایی مانند‬ ‫‪Program Volume‬‬ ‫‪Program Volume Ratio‬‬

‫‪Metrics‬‬ ‫‪‬‬

‫همچنین معیارهایی برای تست و پشتیبانی‬ ‫وجود دارند که در اینجا بیشتر در این زمینه‬ ‫بحث را ادامه نخواهیم داد‪.‬‬

Related Documents

Se2 9 Metrics
November 2019 9
Se2
October 2019 7
Metrics
November 2019 35
Metrics
November 2019 32
Metrics
November 2019 35
Metrics
November 2019 38