چکیده :

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

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

واژگان کلیدی :

قابلیت اطمینان نرم افزار، طبقه بندی مدل، معیار انتخاب مدل، تکنیک های انتخاب مدل، مدل رشد قابلیت اطمینان نرم افزار

مقدمه:

قابلیت اطمینان نرم افزار به عنوان احتمال عملیات نرم افزار خالی از نقص در محیطی مشخص برای دوره زمانی مشخص تعریف می شود. مدل های قابلیت اطمینان نرم افزار در رسیدن به نرم افزاری با قابلیت اطمینان برای تصمیم گیری های مهم تجاری مانند اتمام پروژه نرم افزاری با اهمیت است.[۱] اولین مدل در سال ۱۳۹۲ معرفی شد. در حال حاضر تعداد مدل های موجود فراتر از صد مدل می باشد و هر ساله این مدل ها درحال

پیشرفت می باشند. ولی هنوز هیچ مدلی وجود ندارد که بتواند در همه موارد به کار رود.[۱]

مدل رشد قابلیت اطمینان نرم افزار

بدون تردید، هر چقدر هم که قابلیت اطمینان سخت افزار یک محصول بالا باشد، اگر نرم افزار هدایت کننده آن دارای نقص و عیب باشد، مسلماً نمی توان به اهداف مأموریتی آن محصول خاص به درستی و با دقت مورد نظر دست یافت.
قابلیت اطمینان نرم افزارها به صورت احتمالی تعریف می شود که یک نرم افزار معین برای مدت زمانی مشخص در یک محیط خاص بدون خرابی کار می کند. [۲]

فرآیند مدل کردن

برای مدل کردن قابلیت اطمینان نرم افزار، مراحل زیر باید انجام شود:

-۱ بررسی داده ها: داده ها باید بر روی یک نمودار بر حسب زمان رسم شده و به صورت غیر رسمی تحلیل شوند تا دیدی کلی از فرآیندی که مدل می شود به دست آید.
-۲ انتخاب مدل: باید بک مدل یا چند مل بر مبنای فرآیند تست، داده ها و مفروضات مدل انتخاب شود.

-۳ برآورد پارامترهای مدل: این برآورد با استفاده از روش های آماری مثل ماکزیمم راستنمایی یا حداقل مربعات به دست می آید. -۴ به دست آوردن مدل مناسب: این کار با جایگذاری پارامتر های برآورده شده در مدل منتخب انجام می شود.

-۵ انجام یک تست برازش نکویی: با این کار، منطقی بودن مدل مشخص می شود. اگر مدل مناسب نبود باید مدل دیگری انتخاب شود.
-۶ پیش بینی های قابلیت اطمینان بر مبنای مدل انتخاب شده انجام می شود.[۲]

انواع مدل های قابلیت اطمینان نرم افزارها

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

۲

خرابی ها در نرم افزار بهره می برند. در مدل های دینامیک از نرخ کشف خرابی های گذشته در حین اجرای نرم افزار یا پروفایل خرابی های تجمعی در طول زمان برای تخمین تعداد خرابی ها استفاده می شود.[۳]

طبقه بندی مدل های قابلیت اطمینان نرم افزار

مدل های قابلیت اطمینان نرم افزار طبق موارد زیر زبقه بندی می شوند: -۱ مدل های پیش بینی سریع[۴] -۲ مدل های رشد یافته قابلیت اطمینان نرم افزار[۵]۱

-۳ مدل های مبتنی بر دامنه ورودی[۶] -۴ مدل های مبتنی بر معماری[۷] -۵ مدل های جعبه سیاه مرکب -۶ مدل های جعبه سفید مرکب

طبقه بندی پیشنهاد شده از مدل های قابلیت اطمینان طبق دوره چرخه حیات توسعه نرم افزار، در شکل ۱ بر حسب مدل های مطالعه شده نشان داده شده است.