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

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

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

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

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

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

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

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

قیمت : 14700 تومان

 

—-

پشتیبانی سایت :       

*         serderehi@gmail.com

جستجو در سایت : کلمه کلیدی خود را وارد نمایید :