چکیده: هدف این مقاله ارائه یک مدل برای ارزیابی کیفیت نرم افزارهای کاربردی می باشد که فرایند توسعه مـدل پیشـنهادی در چند مرحله دنبال خواهد شد ابتدا مدل های کیفیت نرم افزار مورد بررسی ومقایسه قـرار گرفتـه و پـس از مقایسـه نقـاط قـوت و ضعف آنها، یک مدل به عنوان مبنا ا نتخاب می شود و در مرحله دوم ،صفات های کیفـی نـرم افـزار هـای کـاربردی بـا اسـتفاده از شاخص های کیفی ،نرم افزارهای کاربردی و ویژگیهای کیفی نرم افزارهای موجود استخراج و به مدل اضافه مـی شـود . در پایـان نیز مدل پیشنهادی به روش معیاری مورد ارزیابی قرار خواهد گرفت.برای تخمین کیفیت نرمافـزار مـا نیازمنـد یـک مـدل کیفـی مبتنی بر تکنیکهای مدلسازی جهت تست میباشیم که بتواند مشخصات کیفی را با بیشترین صحت ،ارزیابی نماید.این مقاله یک بررسی بر روی این تکنیک مینماید.

کلمات کلیدی: تست نرمافزار،تصدیق نرمافزار،اعتبار نرمافزار، ریسک های نرمافزاری،کیفیت ،شبکه های بیزی،IOS

۱٫ مقدمه

در حال حاضر،تفاوت بین دو نرم افزار را توانایی نـرم افزارهـا در برآورده ساختن نیازمندیهای کیفی مورد انتظار که همان کیفیت نـرمافـزار اسـت،تعیین مـی کند.بـه دلیـل تفـاوت در نیازمنــــــدیهــــــای افــــــراد مختلــــــف از قبیــــــل کاربر،مشتری،مدیر،…کیفیت را بایسـتی از دیـدگاههـا و ابعـاد مختلفی مورد بررسی قرار داد. کیفیت نرمافزار مـدل معیـاری برای تعیـین ترکیـب مطلـوبی از مشخصـههـا ماننـد قابلیـت اطمینـــان، قابلیـــت نگهـــداری،کارایی،قابلیت حمل،قابلیـــت استفاده و قابلیت استفاده مجدد برای یک نرمافزار مـی باشـد یک مدل کیفی شمایی برای تشریحی بهتر ایدهمان از کیفیت است.مدلهای کیفی نـرمافـزار چنـین توصـیفاتی را همـراه بـا ابزارهایی برای پیش بینی و ارزیابی مهیا میسازد مدل کیفـی نرمافزار میتواند برای تعیین ماژولهای برنامه که عیبدار بـه نظر میرسند استفاده شود .یک مدل تخمینی از کیفیت نرم-افزار به تیم توسعه نرمافزار اجازه می دهد تا نقصهـای بـالقوه نرمافزار را ردیابی و مشخص سـازند.همچنین ایـن مـدلهـای کیفی به توسعه دهندگان بالقوه در سـاخت بهتـر برنامـههـای کیفیتی کمک خواهـد کـرد یـک تعـداد از مـدلهـای کیفـی پرکاربرد، برای ایجاد نـرمافزارهـای کیفـی در صـنعت استفاده میشوند.هدف از ساخت مـدل جدیـد،پیش بینـی بـر چسبهای خطا دار ماژولها (ماژولهای مستعد خرابی) جهت ترخیص نهایی نرمافزار میباشد.تخمین کیفیت شامل تخمین

قابلیت اطمینان و قابلیت نگهـداری نـرمافزارمـی باشـد.عمومأ برای هیچ سیستمی امکان بهینـهسـازی تمـام مشخصـههـای بالقوه وجود ندارد. این مدل به این معناسـت کـه مهمتـرین و حساسترین مشخصههای کیفی تعریف شده و نشان دهیم کـه چگونه میتوانند بدست آیند.غالبأ اندازهگیـری مشخصـههـای کیفی خارجی نرمافزار بـه طـور مسـتقیم غیـر ممکـن اسـت مشخصههای خارجی همانند قابلیـت نگهـداری،قابلیت فهـم و پیچیدگی تحت تأثیر فاکتورهای زیادی قرار میگیرند و هـیچ متریک مستقیمی برای اندازهگیری آنها وجود نـدارد پـس مـا باید بعضی از مشخصههای داخلی نرمافزار (همانند اندازه نرم-افزار) را تخمین زده و فرض کنیم که بین آنچه کـه مـا مـی-توانیم اندازه بگیریم و آنچه کـه مـیتـوانیم درک کنـیم یـک رابطهای وجود دارد.به طور ایده آل بایـد یـک رابطـه واضـح و کمی بین مشخصههـای داخلـی و خـارجی نـرم افـزار وجـود داشــته باشد.مشخصــههــای خــارجی بــرای ســرمایه گــذاران محصول (مانند مشتریان،کاربران و مدیران پروژه)قابـل رویـت می باشند مشخصههایخارجی ،توسعهدهندهمحصولرا نگـران میکنـد.عمومأ سـرمایه گـذران فقـط مراقـب مشخصـههـای خارجی نرمافزار هستند اما مشخصههای داخلی کـه بـه طـور وسیع با ساختار نرمافـزار سـر و کـار دارنـد نیـز بـه توسـعه-دهندگان کمک میکنند تا کیفیـت هـای خـارجی را بدسـت آورند. برای مثال کیفیت داخلی قابلیـت رسـیدگی (تصـدیق) برای بدست آوردن کیفیت خـارجی قابلیـت خـارجی قابلیـت

اولین همایش منطقه ای برق وکامپیوتر دانشکده فنی وحرفه ای سما واحد مراغه اسفند۱۳۹۲

اطمینان نیاز است.در اکثر موارد کیفیتها به طـور تنگـاتنگی به هم وابسته هسـتند و تمـایز بـین مشخصـههـای داخلـی و خارجی قابل درک نیست. [۱۰ ]

تا چندین سال قیل توسـعه دهنـدگان تسـت نـرم افـزار را بـه عنوان فعالیت ثانویه می شناختند ولی امروزه تست بسیاری از برنامه ها به عنوان نقطه شـروع تولیـد یـک محصـول در نظـر گرفته شده و هزینه آن اغلـب بـا هزینـه توسـعه(ایجاد) قابـل مقایسه است در حقیقت تست نرم افزار قـادر اسـت خطاهـای موجود در کدها را کشف کند که این خطاهـا بـا بـیش از %۵۰ نرم افزار ایجاد شده درگیر اسـت زمـان و هزینـه مـی توانـد از طریق تست اتوماتیک کاهش پیدا کند تصدیق و اعتبار سنجی نرم افزار نقش مهمی در تولید نرمافزار ایفا می کنـد کـه بـرای رسیدن به این هدف چندین استاندارد و خطوط راهنما در نظر گرفتــه شــده اســت،به عنــوان مثــال اســتاندارد بــین المللــی ISO/IEC9126 که یک مدل کیفیت برای تولیدات نرمافزار را و استاندارد IEEE 1012 که برای اعتبار و تصدیق نرمافزار یک استخوان بندی مشترک را برای تمـامی فعالیـت هـا و وظـایف تعریف می کند تمامی این استانداردها مشخص می کنـد کـه آیا محصولات این نرمافزارها با نیازها مطابقت دارد و آیـا نـرم-افزار نیازهای کاربران و مشتریان را برآورده می سازد. [ ۱۱ ]

.۳مدلهای کیفی

واژه مدل کیفی به صورت مجموعه ای از مشخصه ها و روابـط بین آنها که اساس مشـخص کـردن نیازهـای کیفـی وارزیـابی کیفیت را فراهم می سازد تعریف شده است.دو نمونه از قدیمی ترین مدلهای کیفی که در این مدلها مشخصهها فاکتور هـای کیفیتی و معیارهای کیفی هستند.مدلهای کیفی مـیتواننـد براساس روشی که برای ساختشان استفاده شـده اسـت بـه دو دسته روش ساخت ثابـت و روش مـدل تعریـف شـده تقسـیم شوند. [ ۳ ]

.۳ انواع مشخصه های نرم افزار: .۱٫۳ عملیاتی بودن: ۱

قابلیت نرم افـزار بـرای انجـام وظـایفی کـه نیازهـای صـریح و ضمنی را در شرایط تعریف شده برآورده سازد. ایـن ویژگـی بـا نیازهایی که نـرم افـزار بایـد بـرآورده سـازد مـرتبط اسـت در

× ٌFunctionality

حالیکه ویژگیهای دیگر نحوه اجرای نیازمندیها را بیان مـی-کند این ویژگـی شـامل پـنج ویزگـی فرعـی متناسـب بـودن، دقت،قابلیت همکاری،امنیت و قابلیت ردیابی است.

متناسب بودن : قابلیت نرم افزار برای ارائـه مجموعـه عملیـات مناسب برای انجام کارهای تعریف شده و نیازهای کاربر . دقت : قابلیت نرم افزار برای ارائه نتایج صحیح و خروجی های تعیین شده بر اساس نیازمندیهای نرم افزار.

قابلیت همکاری : قابلیت تعامـل نـرم افـزار بـا یـک یـا چنـد سیستم دیگر. با توجه به تعریف فوق ، قابلیت همکاری در نـرم افزارهــا را مــی تــوان از دو جنبــه مــورد بررســی قــرار داد: یکپارچگی بـا سیسـتم هـای داخـل سـازمان و یکپـارچگی بـا سیستم های تجاری.

امنیــت : قابلیــت نــرم افــزار در حفــظ داده هــا و اطلاعــات بطوریکه افراد یا سیستمهای غیر مجاز امکان خواندن یا تغییـر آنها را نداشته باشند و افراد مجاز نیز امکان دسترسی به آنها را داشته باشند.

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