new5

کد متلب و متن کامل پایان نامه تخمين تلاش پروژه هاي نرم افزاري با استفاده از منطق فازي نوع دوم

توضیحات

لینک دانلود

چكيده
برآورد دقيق از تلاشهاي توسعه نرم افزار يك چالش مهم براي هر پروژه نرم افزاري است. در واقع برنامه ريزي پروژه نرم افزاري شامل برآورد اندازه پروژه نرم افزاري مورد نظر، برآورد تلاش موردنياز، ارائه جدول زمانبندي اوليه پروژه و از همه مهمتر برآورد کل هزينه پروژه مي باشد. پيش بيني تلاش يك پروژه موفق، يك مشکل جدي براي مهندسين نرم افزار بوده است و اهميت آن باعث شده که به طور گسترده به اين حوزه پرداخته شود. يکي از اهداف مهم جامعه مهندسي نرم افزار، توسعه مدلهاي سودمند در جهت توسعه چرخه حيات نرم افزار و پيش بيني هزينه هاي توسعه محصول نرم افزار است. عدم وجود اين فعاليتها قبل از شروع پروژه منجر به توليد مشکلات متعددي مي شود. پژوهش گران توجه خود را به تعيين تکنيك هايي که بيشترين دقت پيش بيني تلاش را دارند و يا پيشنهاد تکنيك هاي ترکيبي جديدي که بتوانند تخمين هاي بهتري را فراهم کنند متمرکز مي کنند.
در اين پايان نامه روش جديدي به منظور افزايش دقت برآورد تلاش ارائه شده است. اساس مدل پيشنهادي منطق فازي نوع دوم مي باشد. ما دو الگوريتم جديد براي آموزش سيستم فازي نوع 2 ارائه داديم. الگوريتم اول بر اساس گراديان نزولي مي باشد. الگوريتم دوم ما ترکيب سيستم نروفازي و الگوريتم ژنتيک مي باشد. هر دو الگوريتم براي اولين بار ارائه مي شوند. نتايج حاصل از شبيه سازي نشان مي دهد که هر دو الگوريتم پيشنهادي همگرا مي شوند و الگوريتم پيشنهادي اول نسبت به دوم نتايج بهتري مي دهد.
به منظور ارزيابي الگوريتم هاي پيشنهادي از سه پايگاه داده معروف استفاده شده است. مدل پيشنهادي را با سيستم نروفازي و فازي نوع 1 مقايسه کرديم. . نتايج نشان ميدهد که مدل پيشنهادي نسبت به ساير مدلها نتايج مطلوب تري در اين زمينه بدست آورده است. معيارهاي ازريابي شامل MMRE و MdMRE و PRED مي باشد.

واژگان کليدي: برآورد تلاش نرم افزار، برآورد تلاش توسعه نرم افزار، منطق فازي.

فهرست مطالب
عنوان صفحه
فهرست جدول‌ها ‌د
فهرست شكل‌‌ها ‌ه
فصل 1- معرفی 3
1-1 بيان مساله و کليات تحقيق 3
1-2 بيان مسئله 4
1-3 اهداف تحقيق 6
1-4 فرضيه ها 6
1-5 متغيرها 7
1-6 ضرورت تحقيق 7
1-7 جنبه هاي نوآوري 9
1-8 ساختار پايان نامه 10
فصل 2- ادبيات و پيشينه تحقيق 12
2-1 مديريت پروژه هاي نرم افزاري 12
2-1-1 دلايل شکست پروژه هاي نرم افزاري 12
2-1-2 دلايل موفقيت پروژه هاي نرم افزاري 13
2-2 برآورد تلاش نرم افزار 13
2-3 مراحل برآورد تلاش نرم افزار 14
2-4 انواع برآورد تلاش نرم افزار 16
2-4-1 برآورد ساخت يافته 16
2-4-2 برآورد تحليلي 17
2-4-3 تخمين مقايسه اي 18
2-4-3-1 اجزاء برآورد مبتني بر مقايسه 18
2-4-3-2 روند برآورد مبتني بر مقايسه 18
2-5 اهميت پارمترهاي زمان و هزينه 19
2-6 دلايل اهميت برآورد هزينه 20
2-7 ويژگي هاي برآورد درست هزينه 21
2-8 مشكلات متداول در برآورد هزينه هاي پروژه نرم افزاري 21
2-9 مدلهاي برآورد تلاش در پروژه هاي نرم افزاري 23
2-9-1 مدل هاي الگوريتمي 25
2-9-1-1 مدل بيلي و باسيليس 26
2-9-1-2 مدل نلسون 27
2-9-1-3 مدل نلسون مدل آرون 27
2-9-1-4 مدل داتي 29
2-9-1-5 مدل پاتنم 29
2-9-1-6 مدل نقطه مورد کاربري 30
2-9-1-7 مدل پرايس– اس 32
2-9-1-8 مدل کاستونويز: 33
2-9-1-9 مدل هزينه سازنده: 34
2-9-2 مدل هاي غير الگوريتمي 36
2-9-2-1 مدل داوري تخصصي 36
2-9-2-2 روش قيمت برنده 37
2-9-2-3 روش پارکينسون 38
2-9-2-4 روش پايين به بالا 38
2-9-2-5 روش بالا به پايين 38
2-9-2-6 مدل يادگيري ماشين 38
2-10 روش هاي تخمين مبتني بر هوش مصنوعي 39
2-10-1 الگوريتم هاي بهينه سازي 39
2-10-2 مدل فازي 43
2-10-2-1 اجزاء سيستم فازي 44
2-10-2-2 سيستم استنتاج فازي 45
2-10-3 شبکه عصبي 45
2-11 تحليل چالش هاي موجود 47
فصل 3- مباني تحقيق و روش پيشنهادي : 49
3-1 مقدمه 49
3-2 مجموعه هاي فازي نوع -2 49
3-3 تفاوت مجموعه هاي فازي نوع -1 و مجموعه هاي فازي نوع -2: 52
3-4 ارائه مدل پيشنهادي: 52
3-4-1 ارائه دو الگوريتم به منظور آموزش سيستم فازي نوع 2 56
3-4-1-1 روش کاهش گراديان نزولي 56
3-4-1-2 مراحل مربوط به روند کار الگوريتم پيشنهادي اول 61
3-4-1-3 کاهش ضريب نرخ يادگيري (η) 63
3-4-1-4 روش ترکيبي انفيس و الگوريتم ژنتيک 63
فصل 4- نتايج شبيه سازي 66
4-1 مقدمه 66
4-2 معرفي پايگاه داده ها 66
4-2-1 مجموعه داده دشارنيز 67
4-2-2 مجموعه داده آلبرشت 68
4-2-3 مجموعه داده مرجع]79[ 68
4-3 نتايج تجربي 69
4-3-1 نتايج حاصل از الگوريتم پيشنهادي اول 69
4-3-1-1 ارزيابي نتايج بر روي پايگاه داده مرجع]79[ 69
4-3-1-2 نتايج بر روي پايگاه داده آلبرشت 72
4-3-1-3 نتايج بر روي پايگاه داده دشارنيز 74
4-3-2 نتايج حاصل از الگوريتم پيشنهادي دوم 76
4-3-2-1 ارزيابي نتايج بر روي پايگاه داده مقاله]79[ 76
4-3-2-2 نتايج بر روي پايگاه داده آلبرشت 76
4-3-2-3 نتايج بر روي پايگاه داده دشارنيز 78
فصل 5- جمع بندي 81
5-1 مقدمه 81
5-2 دستاوردهاي مدل پيشنهادي 82
5-3 پيشنهادات براي کارهاي آينده : 83
فهرست منابع: 84

فصل اول

بيان مساله و کليات تحقيق

فصل 1- معرفی
1-1 بيان مساله و کليات تحقيق
در گذشته انجام محاسبات هزينه نرم افزاري درصد کمي از کل هزينه سيستم کامپيوتري را شامل مي شد و ضريب خطا در تخمين هاي هزينه نرم افزاري نسبتاً کم بود. امروزه نرم افزار از گرانترين عناصر يک سيستم کامپيوتري محسوب مي گردد، لذا کيفيت نرم افزار کاربردي نيازمند فرآيند توسعه و مديريت پروژه مي باشد. در اين راستا براي مديران پروژه، برآورد هزينه و تلاش به يک مرحله حياتي هنگام شروع پروژه جديد نرم افزاري تبديل گشته است.
برآورد در ابتداي فرآيند ساخت سيستم، كه به برآورد مقدماتي معروف است، اغلب دقت كمي دارد زيرا در ابتدا دانش كمي از پروژه موجود است. لذا برنامه ريزي پروژه براساس برآوردهاي اوليه با ريسک همراه است. با افزايش ريسک عدم اطمينان از برنامه ريزي اوليه افزايش مي يابد و با افزايش پيچيدگي و اندازه پروژه ها ميزان عدم اطمينان بيشتر مي شود. مديريت موفق پروژه نيز، نقش مؤثري در بهره وري سازمان ايفا مينمايد. بنابراين، استفاده از روشهاي مؤثر برآورد تلاش و هزينه، تأثير قابل توجهي در مديريت پروژه دارد.
بدون داشتن يک تخمين مناسب از هزينه مورد نياز، مدير پروژه نمي تواند تشخيص دهد که به چه ميزان زمان و چه حجمي از نيروي انساني و ساير منابع جهت انجام پروژه نياز دارد و در صورت تشخيص اشتباه، پروژه در مسير شکست حتمي حرکت خواهد کرد. بررسي هاي صورت گرفته نشان مي دهند، که اکثر پروژه هاي نرم افزاري به دليل برآورد غلط هزينه و برنامه ريزي و زمان بندي نامناسب مديران با شکست مواجه شده اند. در نتيجه برآورد صحيح پروژه نرم افزاري اهميت زيادي پيدا کرده است]2و1[.

1-2 بيان مسئله
نرم افزار برآورد تلاش يکي از مهمترين و پيچيده ترين نرم افزارها مي باشد، اما کماکان توليد اين نوع نرم افزارها فعاليتي اجتناب ناپذير در فرآيند هاي مديريت پروژه هاي نرم افزاري است. در طول سه دهه گذشته، محققان تمايل زيادي به استفاده از نرم افزارهاي گوناگون براي مدل هاي برآورد تلاش جهت غلبه بر تنوع فرآيند هاي توسعه نرم افزار داشتند. اگرچه زمان و هزينه بسيار زيادي به بهبود دقت مدلهاي مختلف برآورد اختصاص داده شده است، به دليل وجود عدم قطعيت در پروژه هاي توسعه نرم افزار و عواملي مانند ويژگيهاي پويا، پيچيدگي ذاتي نرم افزار، مشکلات ناشي از عدم استاندارد سازي و ناکافي بودن اطلاعات مربوط به نرم افزار، انتظار دقت بسيار بالا از نرم افزارهاي برآورد تلاش امري غير منطقي مي باشد]3[.
برآورد دقيق از تلاش هاي توسعه نرم افزار يک چالش مهم براي هر پروژه نرم افزاري است. برآورد تلاش نرم افزار براي موفقيت مديريت پروژه هاي نرم افزاري امري حياتي است. برآوردهاي تلاش به عنوان ورودي هاي برنامه ريزي پروژه، بودجه بندي، آناليز سرمايه گذاري و فرايندهاي قيمت گذاري مورد استفاده قرار مي گيرد]4[.
پيش بيني تلاش يک پروژه موفق، يک مشکل جدي براي مهندسين نرم افزار بوده است و اهميت آن باعث شده که به طور گسترده به اين حوزه پرداخته شود. يکي از اهداف مهم جامعه مهندسي نرم افزار، توسعه مدل هاي هوشمند در جهت توسعه چرخه حيات نرم افزار و پيش بيني هزينه هاي توسعه محصول نرم افزاري است]5[.
روش هاي عمده در اين حوزه مبتني بر تجزيه و تحليل واژگاني از مشخصات مورد نياز، برنامه نويسي ژنتيک، برنامه ريزي خطي، مدل هاي توليد اقتصادي، محاسبات نرم، مدل سازي منطق فازي، و برآورد هزينه مبتني بر قياس مي باشد]6-8 .[
مدلهاي موجود برآورد تلاش، کاهش خطاي نسبي را به عنوان مهمترين هدف خود معرفي مي کنند و تلاش مي کنند تا اين ميزان خطا را تا حد امکان کاهش دهند. به دليل عدم قطعيت و خواص غيرخطي و پيچيده پروژه هاي نرم افزاري، تمرکز مدل برآورد بر روي اين معيار به تنهايي نمي تواند زمينه دستيابي به دقتهاي بالا و مطمئن را فراهم کند. علاوه بر اين، مدلهاي برآورد مبتني بر بهينه سازيهاي تک هدفه قادر به مديريت پروژه هاي نرم افزاري نيستند و بطور قابل ملاحظه اي نتايج حاصل از اين نوع برآوردگرها از يک پايگاه داده به پايگاه داده ديگر متفاوت است. در نتيجه تعميم دقت برآوردگرهاي تلاش موجود براي انواع پروژه هاي نرم افزاري به دليل سطح بالاي پيچيدگي امکان پذير نيست]9[.
مطالعات نشان ميدهند که ميزان موفقيت اجراي پروژه هاي نرم افزاري بسيار پايين است تنها 32 % تا از تمام پروژه هاي نرم افزاري در زمان برنامه ريزي شده با بودجه تعيين شده به پايان رسيده اند]10[. يکي از شايع ترين دلايل براي چنين ميزان موفقيتي، برآورد نادرست و غيردقيق است. مشکلات مربوط به برآورد بيش از حد يا خيلي دست پايين تلاش است، که هر دو نوع آن به نوبه خود روي روند پروژه نرم افزاري تاثير منفي مي گذارند]3و11[.
پژهشگران توجه خود را به تعيين تکنيک هايي که بيشترين دقت پيش بيني تلاش را دارند و يا پيشنهاد تکنيک هاي ترکيبي جديدي که بتوانند تخمين هاي بهتري را فراهم کنند متمرکز مي کنند]12[. توسعه مدل هاي پيش بيني تلاش نرم افزاري موثر، منجر به انجام تحقيقات هدفمندي در دوره هاي گذشته به منظور برآورد تلاش توسعه نرم افزار گرديده است]13[. به منظور جمع بندي مي توان گفت يک فعاليت بسيار مهم از برنامه ريزي پروژه نرم افزاري، برآورد توسعه تلاش است که به عنوان يکي از سه چالش مهم علوم کامپيوتر محسوب مي شود]12و13[. به طور کلي برآورد تلاش توسعه نرم افزار، مي تواند به عنوان يک زيرمجموعه از برآوردهاي نرم افزاري محسوب شود]14[. با وجود معرفي روش هاي متعدد به منظور تخمين تلاش در پروژه هاي نرم افزاري، سازگاري و دقت روش هاي موجود همچنان راضي کننده نيست. بطور خاص عملکرد روش هاي موجود در پروژه هاي متفاوت نرم افزاري يکسان نيست و دامنه نوسانات عملکرد روش ها بسيار زياد است. به اين دلايل استفاده از منطق فازي نوع دوم در حوزه تخمين تلاش پروژه نرم افزاري مي تواند بسيار کارگشا باشد.

1-3 اهداف تحقيق
اين پايان نامه اهداف زير را دنبال مي کند:
1- بررسي ميزان سازگاري مدلهاي موجود تخمين تلاش با پروژه هاي مختلف نرم افزاري.
2- دسته بندي پروژه هاي نرم افزاري به منظور کشف بهترين عملکرد مدلهاي تخمين.
3- معرفي يك مدل تخمين تلاش مبتني بر منطق فازي نوع دوم به منظور افزايش انعطاف پذيري و دقت تخمين.
4- ارزيابي مدل معرفي شده با داده هاي واقعي و روشهاي استاندارد ارزيابي عملکرد.

1-4 فرضيه ها
فرضيه هاي تحقيق عبارتند از:
1- عملکرد روشهاي مختلف تخمين تلاش بر روي پايگاه داده هاي مختلف تفاوت چشمگيري دارد.
2- سازگاري مدلهاي موجود تخمين تلاش با انواع متفاوت پروژه هاي نرم افزاري بسيار کم است.

3- پياده سازي يك مدل روش مبتني بر منطق فازي نوع دوم به منظور تخمين تلاش ميتواند دقت را افزايش دهد.
4- پياده سازي يك مدل روش مبتني بر منطق فازي نوع دوم به منظور تخمين تلاش ميتواند سازگاري را افزايش دهد.

دیدگاهها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین نفری باشید که دیدگاهی را ارسال می کنید برای “کد متلب و متن کامل پایان نامه تخمين تلاش پروژه هاي نرم افزاري با استفاده از منطق فازي نوع دوم”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

48 − = 45

دسته: