پایان نامه کارشناسی ارشد رشته نرم افزار کامپیوتر: مخازن نرم افزاری

دانلود متن کامل پایان نامه با فرمت ورد

پایان نامه مقطع کارشناسی ارشد رشته کامپیوتر

عنوان پایان نامه:پیش‌نمایش

مخازن نرم افزاری

برای رعایت حریم خصوصی نام نگارنده درج نمی شود

تکه هایی از متن به عنوان نمونه :

فصل اول: کلیات

1-1- مقدمه

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

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

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

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

2-1- تعریف مسئله

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

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

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

3-1- پیشینه تحقیقاتی

شاید بتوان گفت که بنیان MSR و نرم­افزارهای ردیابی­خطا[7]با تولید [8]GNATS در سال­1992 نهاده ­شد. پس از آن نرم­افزارهای­متعددی به یاری مهندسی ­نرم­ افزار شتافت ه­است. در این مدت سعی و اهتمام محققان بر تکمیل مدل­ها و موتورهای­جستجو مورد ­استفاده در این نرم­افزارها بوده ­است. در سال 2000 مدلی با استفاده­از رگرسیون ­فازی[9] برای تخمین تعداد خطا­های ­موجود در نرم­افزار ارائه­شد]6[. در]5[ همین کار با استفاده از شبکه­های­عصبی انجام­شد. در­سال 2007 LucasD.Panjerداده­کاوی را برای تخمین زمان­خطا با مقایسه پنج الگوریتم دسته­بندی داده­ها مطرح کرد­]7[. Suma.V و همکارانش به سراغ روش­های خوشه­بندی رفته و ثابت­کردند که روش K-mean در میان روش­های مورد بررسی آنها بهینه­تر بوده ­است]8[. CathrinWeiß و همکارانش از روش نزدیکترین همسایه و تشابه جملات با استفاده از موتور­ارزیابیLucene[10] استفاده­ کردند]9[.Lucene خود از SVM و یک مدل بولی[11] برای جستجو و ارزیابی متون استفاده ­می­کند. Nagwani نیزدرمدل­های­ مختلفی از الگوریتم ­های داده­­کاوی متعددی برای اهداف مختلف استفاده­­کرد]10[،]11[،]12[. اما همه این روش­ها یا به جنبه­­ معنایی تشابه متون و کلمات توجه نداشتند. یا برای استخراج ضریب ­تشابه دو متن از الگوریتم­های­ مناسب برای این محیط بهره ­نبردند. الگوریتم­های استفاده­ شده بیشتر به تاثیر یک متن و یافتن ضریب ­تشابه آنها با متن کاربرتوجه داشتند­، معمولا استاتیک بودند و هرگز به بهره­وری روش در محیط با حجم بالا توجه نداشتند. نوآوری کار تحقیقاتی ارائه­شده نسبت به مدل­های قبلی استفاده از یک الگوریتم بهینه با دقت بیشتر در اندازه­گیری تشابه میان دو متن است به­طوری­که با حجم زیاد مستندات و کلمه­های مشابه در مخازن نرم­افزاری سازگار باشد. این الگوریتم تشابه جملات و تشابه ­معنایی بین کلمات را با هم ترکیب می­کند. به­طوری­که­، مشابه­ترین جملات را، با توضیحات داده­شده برای خطا از سوی کاربر، از میان داده­های قبلی در مخزن استخراج کند.

4.1. فرضیه های تحقیق

  1. مخازن خطای هر نرم افزار منابع ارزشمند دانش هستند.
  2. اطلاعات ثبت شده در مخازن خطا به پیشبرد سریعتر و کم هزینه تر فرآیند تولید نرم افزار کمک می کند
  3. ثبت روش حل مشکل یا خطا در طول فرآیند تولید می تواند به توسعه دهنده پروژه برای حل خطا جدید کمک کند.
  4. برای پیش بینی قسمتی از زمان انجام پروژه و هزینه آن می توان از این اطلاعات استفاده کرد.

5.1. اهداف تحقیق

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

  1. ارائه یک روش برای کاوش مخازن خطای نرم­افزار که کاستی­های روش­های قبلی در اندازه­گیری میزان تشابه بین نمونه و خطا را پوشش­دهد.
  2. یافتن خطا­های مشابه با خطای­ جدیدواستفاده از آنها برای تخمین زمان لازم برای رفع­خطا
  3. تعیین میزان پیچیدگی خطای­ جدیدبا محاسبه میانگین طول عمر خطا­هایی با شباهت بیشتر
  4. استفاده ازراه­کارهای رفع ­خطا با جستجوی خطا­هایی با ضریب تشابه بالاتر با خطای ­جدید

هدف نهایی کاهش هزینه­های مالی پروژه­های نرم­افزاری و تسریع درفرآیند مهندسی­نرم­افزار است.

6.1. نوآوری تحقیق

آنچه بیش از همه به ­عنوان نوآوری در کار و بهبود روش­های گذشته مطرح است:

  1. استفاده از یک الگوریتم معنایی مناسب به­همراه تشابه خطی در مرحله اول
  2. استفاده از الگوریتم­های خوشه­بندی در مرحله دوم.

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

7.1. ساختار پایان نامه

این تحقیق شامل 5 فصل است که ترتیب فصول و موضوعات مطرح ­شده به­صورت کلی در زیر بیان شده­است:

1.7.1. فصل اول: کلیات(همین فصل)

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

2.7.1 .فصل دوم: ادبیات تحقیق

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

3.7.1. فصل سوم : استفاده از تکنیک­های داده ­کاوی برای کشف و رفع خطاهای نرم ­افزار بر پایه ضریب تشابه­ معنایی متن و خوشه­ بندی

ضریب ­تشابه رشته ای یا خطی بر پایه LCS ، روش SOC-PMI به­عنوان یک روش معنایی و تشابه جملات بر اساس عبارات مشترک معرفی­می شوند. و در نهایت روش اندازه­گیری شباهت ترکیبی با ادغام و بهینه­سازی این روش­ها معرفی می­شود. روش­های خوشه­بندی و محاسبه میانگین داده­ها مورد نیاز این تحقیق هم بیان می­شوند. روش پیشنهادی با استفاده­از استراتژی­ها و روش­های انتخاب­شده که با محیط ­داده­ای مخازن سازگار هستند، برای یافتن خطای مشابه­تر با خطای ­جدید تشریح ­می­شود و توضیح­می­دهیم که چگونه با یک خوشه­بندی و محاسبه می­توانیم میزان پیچیدگی و تخمینی برای زمان رفع­خطا ارائه­کرد.

4.7.1.فصل چهارم: اعتبارسنجی و توسعه

پیاده سازی روش بر روی نمونه داده­ های واقعی که از مخزن خطا استخراج ­شده با استفاده از برنامه­نویسی و نرم­افزار Rapid miner[12]، مقایسه روش از نظر زمان و دقت پاسخ­گویی با روش­های دیگر. همچنین روش ارائه ­شده را با روشهای قبلی مورد مقایسه و تحلیل موضوعی قرار می­دهیم.

5.7.1. فصل پنجم : نتیجه گیری

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

[1]-Knowledge Discovery and Data Mining(KDD)

[2]-Software Repositories

[3]-Mining Software Repositories

[4]-String Similarity

[5]-longest common subsequence

[6]-Second-order co-occurrence pointwise mutual information

[7] -Bug Tracking

[8] -GNU product’s issue-tracking software

[9] -Fuzzy Regresion

[10]– www.lucene.apache.org

[11]Boolean model 

[12]-www.apidminer.com

***ممکن است هنگام انتقال از فایل اصلی به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل و با فرمت ورد موجود است***

متن کامل را می توانید دانلود نمائید

چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)

ولی در فایل دانلودی متن کامل پایان نامه

 با فرمت ورد word که قابل ویرایش و کپی کردن می باشند

موجود است

تعداد صفحه : 83

قیمت : چهارده هزار تومان

 

بلافاصله پس از پرداخت ، لینک دانلود به شما نشان داده می شود

و به ایمیل شما ارسال می شود.

پشتیبانی سایت :        09124404335        info@arshadha.ir

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

شماره کارت :  6037997263131360 بانک ملی به نام محمد علی رودسرابی

11

مطالب مشابه را هم ببینید

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