آموزش زبان با داستان انگلیسی
 
 دانلود پایان نامه ارشد درباره مخازن نرم افزاری

مقدمه

آنچه که بین تمام علوم مشترک است، حجم وسیعی از اطلاعات و داده به شکل­های مختلف است، که همراه با پیشرفت و وسعت علوم بزرگتر و ارزشمندتر می­شود. با رشد سریع علوم کامپیوتر و استفاده از آن در چند دهه اخیر، تقریبا همه سازمان­ها در پروژه­های مختلف خود حجم عظیمی داده در پایگاه­های داده ذخیره می­کنند. این سازمان­ها و کسانی که به نوعی در پروژه­ها سهیم هستند به فهم این داده­ها و بهتر بگوییم کشف دانش نهفته در آن نیازمندند. این نیاز، باعث به­وجود آمدن حوزه جدید میان رشته­ای کشف دانش و داده­کاوی[1] شده است، که حوزه­های مختلف همچون پایگاه داده، آمار، یادگیری ماشین را برای کشف دانش ارزشمند نهفته در اطلاعات و داده­ها را با هم تلفیق می­کند. اصطلاح Data­ Mining همان­طور که از ترجمه آن به معنی داده­کاوی مشخص می‌شود، به مفهوم استخراج اطلاعات نهان، و یا الگوها وروابط مشخص در حجم زیادی از داده‌ها در یک یا چند بانک اطلاعاتی بزرگ است.

هر نرم ­افزار در طول فرآیند­تولید و پس از آن، انبوهی از اطلاعات ­و مستندات دارد که قابل کاوش و استفاده­ مفید است. این داده­ها معمولا در پایگاه­ داده­هایی به­نام مخازن نرم­افزاری[2] ذخیره و نگهداری می­شوند. مخازن نرم­افزاری نمایش دقیقی از مسیر­تولید یک سیستم ­نرم­افزاری ارائه می­دهند]1 .[هدف ازکاوش مخازن نرم­افزاری[3]MSR استفاده هوشمند از تحلیل داده­های نهفته در آن­ها برای کمک به تصمیم­گیری های بهتر و سریعتر در پروژه تولید و پشتیبانی آن­ها است. آن­چه که در اینجا مورد توجه این تحقیق است، استخراج اطلاعات مهم برای همه ذینفعان پروژه نرم­افزاری است. این اطلاعات از مجموعه داده­های مرتبط با خطا­های رخ داده در طول تولید و پشتیبانی پروژه استخراج می شود.

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

 

 

 

سعی بر این شده که با استفاده از الگوریتم معنایی برپایه مجموعه تشابه جملاتبر پایه LCS و تشابه کلمات (SOC-PMI )، روی مستندات ذخیره­ شده در مخازن خطای نرم­افزار، مانند راه­حل­های ارائه ­شده برای خطا­های مشابه مدل­های قبلی را تکمیل­کرده و جوابی بهینه و سریع­تر برای خطای پیش آمده پیدا کنیم. همچنین می­توان زمانی تخمینی نیز برای تصحیح خطا پیش­بینی کرد تا راهنمای تیم توسعه و ذینفعان دیگر نرم­افزار باشد. همچنین دید بهتری نسبت به روند پیشرفت و تکامل نرم­افزار مورد نظر ارائه ­شود.

 

2.1. تعریف مسئله

یکی ­از مراحل مهم و اساسی در مهندسی ­و تولید نرم­افزار مرحله یافتن و رفع خطا­های موجود در نرم­افزار است. این مرحله از تولید نرم­افزار جزء وقت­گیرترین و پرهزینه ­ترین مراحل به­ حساب  می­آید]4[. سال­هاست که دانش داده ­کاوی و استخراج دانش به کمک مهندسین نرم­افزار آمده­است. رفع خطا در فرآیند تولید بسته به مدل توسعه نرم ­افزار چندین بار انجام می­گیرد. خطا­ها و مشکلات برطرف ­شده معمولا به روش­های مختلف تحت عنوان مخازن خطای نرم افزار، مستند­سازی و ذخیره می­شود. این مخازن منابع عظیم دانش هستند، که کمک بزرگی در تسریع زمان تولید نرم­افزار و پایین­آوردن هزینه­ها خواهد­بود]5[. روش­هایی نیاز­است که این دانش و اطلاعات مفید استخراج شود. در این تحقیق روشی برای سرعت بخشیدن به رفع­خطای جدید با استفاده از اطلاعات موجود در مخازن خطای نرم­افزار، ارائه شده ­است. مدل­های زیادی تا به­حال ارائه ­شده که یا مکمل هم بوده یا از الگوریتم­های جدید استفاده شده ­است. مدل­های پیشنهادی با استفاده از تشابه متن همگی از الگوریتم­ های معمولی و ساده استفاده کرده اند. در این مدل ها به این نکته مهم کمتر توجه شده که مخازن حجم بالا و پیچیده­ای از اطلاعات را شامل می­شوند، که بعضاً تشابه بین کلمات و معانی مختلف یک جمله نتیجه ­گیری را سخت­تر می­کند. پس نیاز به الگوریتم­های معنایی در بررسی تشابه متن احساس می­شود. همچنین باید به این نکته مهم توجه کرد که الگوریتم معنایی انتخاب ­شده بهینه است و قادر باشد میان این حجم اطلاعات که از سوی کاربران مختلف ثبت می­شود، بهترین جواب با تشابه بیشتر را انتخاب کند. اگرچه تا به­حال روش­های بسیاری برای تکمیل مخازن خطا و استفاده از دانش نهفته در آن صورت­گرفته اما می­توان گفت که ضرورت اهمیت به تشابه معنایی بین داده­ها در نظر گرفته نشده ­است. در این تحقیق سعی شده که این ضعف در جستجو و بهره­ گیری دانش نهفته در این مخازن داده پوشش داده ­شود.

مدل ارائه ­شده در اینجا ابتدا لیستی از خطا­های مشابه خطای جدید با استفاده ازیک الگوریتم تشابه معنایی مناسب، با توجه به اطلاعات متنی ذخیره­شده ارائه می­دهد. در مرحله بعد این خطا­ها براساس چرخه ­عمر خطا با استفاده از روش خوشه­ بندی K-means، خوشه بندی می­شوند.

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

 

تعداد صفحه : 85

ادامه مطلب...