چکیده:
مدل های قابلیت اطمینان نرم افزار برای تخمین وپیش بینی قابلیت اطمینان نرم افزاراستفاده می شوند. در این مطالعه برای تحلیل رشد اطمینان از نرم افزار منبع باز (OSS)که از مدل های رشد قابلیت اطمینان داده ( SRGM) و همچنین داده های شکست خورده از بیست و پنج انتشار مختلف از پنجOSS نمونه استفاده شده است برای هر انتشار از نمونه پروژه انتخابی ازمجموعه داده ها بوجود امده، مجموعه داده ها ی پیشرفته با ارتباط با داده های بوجود امده ی معیوب (داده ی ایجاد شدهDS )و مجموعه داده های پیشرفته با ارتباط با داده بروز رسانی شده معیوب(بروز رسانی داده های DS) . این مجموعه داده معیوب که در هشت مدل SRGMآورده شده اند:Okumoto Musa ،Infleetion s-shaped ، goel okumoto ، Delayed s-shaped ، Logistic ،Gompertz ، Exponential Yamada و generalized goel model.
سیستم های نرم افزاری با طول عمر زیاد که در تولیدهای جدید بیرون آمده اند درگیر درجه بندی نهایی بعد از پخش و انتشار نسخه های قبلی از این نرم افزار بعد از نسخه جدید در بازار است. اما بهبود امکانات در نرم افزار باعث افزایش حجم خطا می شود.بنابراین برای مدل سازی رشد قابلیت اعتماد در نرم افزار با پخش های چند گانه،باید شکست هایی که از پخش قبلی را بهبود داده و امکانات ایجاد شده را ملاحظه کنید و این شکست ها که درپخش و انتشار قبلی اشکال زدایی نشده بودند را حذف نمائیم.ابزارها و تکنیک هابرای انتخاب مدل قابلیت اطمینان نرم افزارموجود در نوشته های عملی,نمی توانند با سطح بالایی از اطمینان استفاده شوندزیرا ان هاتعداد محدودی از ملاک های انتخاب مدل را استفاده می کنند.قابلیت اعتماد نرم افزار یک عامل مهم برای مشخص کردن کمی کیفیت نرم افزار به شمارمیرود ودوره ی تست نرم افزار راتخمین میزند.نتایج نشان میدهد کهSRGMها قابلیت تناسب و کیفیت نرم افزار را پیش بینی کرده و مستقیمأ افزایش میابد. زمانیکه زمان بوجود امدن عیب برای پیشبرد OSS استفاده شده و شکست مجموعه داده ها برای مشخص سازی و قابلیت رشد در OSS وجود دارد در حالی که OSS میتواند قابلیت رشد داشته باشد با SRGM در بهترین روش اگر زمان بوجود امدن عیب به جای بروز رسانی عیب و توسعه مجموعه داده های معیوب در قابلیت نمونه ها انجام شود نتیجه بهتری در بردارد.
مدل های توسعه یافته پارامتری سنتی قابلیت اعتمادنرم افزار(SRGMS)ازقبیل مدل های غیرهمگن فرایند پوآسن(NHPP )به طورموفقیت آمیزی درمهندسی قابلیت اعتماد نرم افزار عملی استفاده شده است.به هرحال،هیچ مدل پرامتری ای نمیتواند درهمه موارد پیش بینی درستی را انجام دهدبه علاوه ی مدل های پارامتری،مدل های غیرپارامتری هم مانندشبکه های عصبی نشان داده اندکه میتواند تکنیک های موثری برای پیش بینی قابلیت اطمینان نرم افزاربه شمار روند.
در این گزارش ،مدل های قابلیت اطمینان نرم افزارطبق چرخه حیات توسعه نرم افزاررده بندی شده تعدادی از معیارها به همراه اولویت اهمیت ان ها برای انتخاب مدل قابلیت اطمینان نرم افزارتعیین وتعریف می شود همچنین الگوریتمی برای استفاده از این معیاربیان می شود، مطالعه در قابلیت رشدOSSبا رابطه برطرف کردن عیوب و زمان بروز رسانی عیب ها، مشکلات نقشه های پخش شده مطلوب که هزینه تست کردن انتشار رابه حداقل می رساند که بردن آن به بازار درزیر فشاربرای حذف درجه خطا در انتشار صورت می گیرد و همچنین روشی رابررسی میکنیم که درآن یک سیستم غیره پارامتری ارائه میشود که پیش بینی بهتری را از قابلیت اطمینان نرم افزار براساس مجموع شبکه عصبی ومدل هایNHPP،ارائه میشوند.
در این گزارش علاوه بر شناسایی چند روش قابلیت اطمینان نرم افزار راهکارهای انتخاب مدل مناسب نیز مورد بررسی قرار گرفته است.
مقدمه:
با توجه به نقش مهمی که امروزه نرم افزار در سيستم ها دارد، کيفيت اجزاء (component) نرم افزاری بسيار مهم می باشد. يکی از جنبه های مهم کيفيت، قابليت اطمينان می باشد و به همين دليل مهندسی قابليت اطمينان نرم افزار (SRE ) دارای اهميت زيادی می باشد. يکی از جنبه های مهم و مورد توجه در SRE، مدلسازی قابليت اطمينان نرم افزار می باشد. در اين گزارش، بعضی از مدلهای مهم و کاربردی قابليت اطمينان نرم افزار، بطور دسته بندی شده، مورد بررسی قرار می گيرند.
قابلیت اطمینان نرم افزار به عنوان احتمال عملیات نرم افزاری خالی از نقص در محیطی مشخص برای دوره زمانی مشخص تعریف میشود.زمان زیادی نیست که شرکت ها انتظار داشته که برای ادامه کارخود مجبور به نوآوری و تغییر و اصلاح در محصولات خود شدند. با این زمینه جهان به سوی دهکده جهانی پیش رفت و تکنولوژی به هرگوشه کشور رسید و رقابت به شکلی که قبلا اصلا باورش نمی رفت رسید.
به هرحال پروژه های جدیدشروع شدند و استرانژی برای رویارویی با چالش هادررقابت ها لازم شد. توسعه وایجاد نرم افزار و نت گیر است و برای رسیدن به هدف مستلزم هزینه های زیادمی باشد.یکی از موثرترین راه برای رسیدن به پیشرفت نرم افزار توسعه نرم افزار در پایه است و به علاوه عملکرد کاملی برای انتشارات گوناگون نیازاست.[1]
پیشرفت وتوسعه نرم افزاردرپخش چندتایی باعث مزایای فراوانی درتوسعه شرکت هاداشته است.این مزایا شامل سرعت درتحویل دادن،سوداولیه درتولید و افزایش بازار برای تولیدات می شود.
امروزه مقدارکمی ازتولیدات نرم افزاری که واردبازارمی شونددراولین انتشاروپخش دارای قابلیت های کاملی هستند.اغلب تولیدات کارخودرادرچرخه حضور خوددراولین نسخه که دارای امکانات کافی ومفیدی برای مشتری هادارد،شروع می کنند.بعدأ امکانات وخصیصه هایی اضافه می شودوامکانات موجوددرطی سری های انتشارترقی پیدامی کند مثلأ ،فرض شرکت این است که نرم افزار آنتی ویروس پیشرفت کند، این چنین شرکت ها می توانند تولیدات خود را پخش هایی شروع کنند که کشف و حذف ویروس و نرم افزار جاسوسی دراین سیستم کامپیوتر را به عهده دارد[1].
امکانات سیستم را از ویروس که ایمیل ها راآلوده می کند،محفوظ می دارد سپس انهاویژگی سدکردن نرم افزارهای جاسوسی رابه شکل اتوماتیک برای انتشاربعدی اضافه می کنند.در پخشی می توان بسته حفاظتی پایه ای رابرای حذف تهدیدات مخفی درسیستم های عامل توسعه دادمحصولات نرم افزاری پایدارنیستندوهرنرم افزارمنتشرشده دارای عمرمحدود است همینکه نرم افزاربه مرحله تولیدرسیدفاکتورهای گوناگونی جهت تغییرمورددرخواست مشتریان به وجودمی آیدنقص هانیازمندتعمیرمی شوند.رقابت کننده هانرم افزارهای باخصیصه هاوعملکردها عرضه می کند.
ارزیابی تکنولوژی نیازبه بالابردن حمایت ازسخت افزارهای جدید،وبروزرسانی نسخه درعملکردنرم افزارهای جدیدرادارد. فروش به خصیصه های جدید برای رسیدن به انتظارات نیازدارد. مشتریان کارکردی جدیدبرای توجیح هزینه خواهانند.این تقاضاهابه مرور درزمان برروی هم انبا شته شده وسرانجام به نقطه ای میرسندکه محصول نرم افزار باید ترقی پیدا کرد.وبا نسخه جدید برای حیات در بازار تلاش کندبه محض انتشاروپخش نسخه جدیداین چرخه دوباره شروع می شود[1].
مواردی که دربالاخاطر نشان شدومزایای جدیدکه باعث می شودشرکت ها پخش های متفاوتی داشته باشند ودر همان زمان،انتشار جدید(دراغلب موارد)برای مشتریان مفیددر می آید پخش های جدیداز این نرم افزاربه کاربر ها اجازه می دهد که وظایف خود رازودترانجام داده ودر نسخه های قبلی چنین کاری امکان پذیر نبود.وبه علاوه نسخه های جدید امنیت بیشتری دارد.(دردوره ی باز آوری داده بعدازشکست سیستم)برای مثال ویندوز XPامنیت بهتر سرعت و قابلیت اعتماد عملکردی بیشتر درمقایسه با ویندوز 2000دارد.زمانی که فتوشاپCS4 منتشرشد اجازه می دادکه طراحان گرافیک بهتر در محیط 3D نسبت به نسخه های قبلی ویرایش کند.
به تنها این موارد بلکه پخش های جدید با آخرین تکنولوژی ها بروز رسانی می شدند بالا بردن سطح امکانات یک نرم افزاریک پروسه پیچیده است.ترقی نرم افزارریسک هایی داردکه درنسخه های جدید ممکن است اشکالاتی به وجودآمده و باعث شکست دربرنامه شود.نسخه جدیدوقبلی ممکن است در عملکرد،وصل کردن واجرا با هم تفاوت داشته باشند.فقط ترکیب های انتخاب شده در عملکردتغییر می کنددر حالیکه دیگر قسمت ها به فعالیت خودادامه می دهند.این روندباعث نقص درمحتویات می شود. شکست های نرم افزار ممکن است به خاطرخطا ها ابهام ها و تفسیر غلط از این مشخصات که نرم افزار باید داشته باشد برای رضایت،بی دقتی یا نادرستی در نوشتن کدها، ناکافی بودن تست ها،غلط یا استفاده غیر منتظره از نرم افزار ودیگر مشکلات پیش بینی نشده میباشند باید حذف شوند. از این رونیازهای بیشتری به پخش متعدد مدل هادر پروسه توسعه نرم افزار وجود دارد.دراین گزارش قالب مدل سازی را به جهت چندین انتشار و در روندهای شکست خورده اش که رابطه ای درناحیه ی کشف نشده در قسمت قابلیت اعتماد نرم افزار داشته را بررسی نموده ایم[1].
توسعه روند به وجود آوردن نرم افزار برای شرکت ها به دو سرمایه اصلی است که یکی زمان و دیگری منابع قابل لمس می باشد هر دو سرمایه محدود ، گرانبها هستند روند توسعه و پیشبرد نرم افزار شامل نیازمندی ها،طراحی،کدگذاری،تست کردن و مراحل نگهداری است ،به هر جهت برای ساخت کیفیت نرم افزار هر مرحله قانون و قاعده دارد مرحله تست آن که معمولا یکی از حیاتی ترین مراحل در روند توسعه می باشد.تست نرم افزار مرحله ای از اجرای برنامه یا سیستم وقصد پیدا کردن خطا ها است اما مشکل اصلی در تست نرم افزار در این است که یک نرم افزار خوش ساخت وهیچ اشکالی نداشته باشد(صد درصد بدون اشکال باشد)اگر چه تست نرم افزارارزیابی و پیشبرد کیفیت کمک می کند اما نمی تواند یک اجرای نا محدود را تضمین نماید. بنابراین زمان تست یکی از فاکتورهای مهم است که تشریح شد(محدودیت)چیزدیگری که درتست کردن نرم افزار مهم است که قسمت اصلی منابع قابل دسترس درتوسعه نرم افزار مصرف میباشد
فهرست مطالب:
چکیده
مقدمه
انتشار منفرد V/S مدلهای ترقی قابلیت اعتماد چند بخشی
srgm یک بعدی V/S بر خلاف srgm دو بعدی
مشکل برنامه ریزی انتشار
چهار چوب مدل سازی دو بعدی
چهار چوب مدل سازی انتشار چند تایی دو بعدی
انتشار متعدد دو بعدی مدل سازی SRGM
الگوریتم حل روش تکوینی
مدل پیشرفته نرم افزار قابل اعتماد
هدف ها سوالات تحقیق و استاندارد ها
مولفه شبکه عصبی
نتیجه گیری
سپاسگذاری
مراجع
برچسب ها:
SOFTWARE RELIABILITY پروژه مهندسی نرم افزار قالبیت اعتماد نرم افزاری قابلیت اطمینان نرم افزاری مدل سازی SRGM الگوریتم حل روش تکوینی پیش بینی قابلیت اطمینان نرم افزار پروژه قابلیت اطمینان نرم افزار پیش بینی قالبیت اطمینان نرم افزار