پایان نامه بهبود میزان تخمین هزینه پروژه‌ های نرم‌ افزاری در مدل COCOMO II مبتنی بر الگوریتم‌ های منطق‌ فازی

word 9 MB 31044 126
1394 کارشناسی ارشد مهندسی کامپیوتر
قیمت: ۱۶,۳۸۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • پایان نامه جهت اخذ مدرک کارشناسی ارشد

    در رشته مهندسی کامپیوتر – گرایش نرم‌افزار

    چکیده

     

    در تمامی پروژه­ هایی که امروزه انجام می­شوند بحث مدیریت مسأله­ای بسیار تعیین کننده است. پروژه­های نرم­افزاری نیز از این قاعده مستثنی نیستند. از مهم‌ترین جنبه­های فعالیت توسعه نرم­افزاری بحث مدیریت زمان و هزینه است. با توجه به اینکه در مراحل ابتدایی توسعه نرم­افزار اطلاعات دقیقی نسبت به جنبه­های مختلف توسعه وجود ندارد؛ تخمینی دقیق­تر از هزینه­های پیش­رو می­تواند امری حیاتی در موفقیت یک نرم‌افزار باشد. در این پژوهش توانستم با بکارگیری مدل COCOMO II، که از شناخته­شده­ترین روش­های تخمینِ هزینه­های توسعه نرم­افزاری مبتنی بر مدل­های الگوریتمی است، و ترکیب آن با منطق‌فازی، مدلی را ایجاد کرده که با توجه به برخی پارامترهای موجود در فازهای اولیه­ی توسعه، تخمین­های دقیق­تری نسبت به هزینه انجام می­دهد. پیاده‌سازی آن در نرم‌افزار MATLAB و با کمک داده‌های مصنوعی صورت گرفته شده است. بررسی صحت داده‌های ایجاد شده نیز در نرم‌افزار SPSS صورت گرفته است. همچنین اینکه از داده‌های 2 Dataset رسمی COCOMO II برای ارزیابی مدل پیشنهادی استفاده شده‌اند که نتایج حاصله با استفاده از تکنیک­های MMRE و PRED مورد بررسی واقع شده‌اند که خروجی‌های تولید شده نشان می‌دهند سیستم پیشنهادی در مقایسه با مدل اصلی COCOMO II که میانگین بهبودی معادل 5.901% داشته است.

     

    کلمات کلیدی: مدل COCOMO II، تخمین هزینه، بهینه سازی، منطق‌فازی

     

    فصل اول 

    فصل1 کلیات پژوهش

    1-1. مقدمه

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

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

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

      در دهه‌های اخیر بسیاری از مدل‌های تخمین هزینه‌های نرم‌افزاری توسعه داده شده‌اند[3]. این مدل‌ها از دو تکنیک مبتنی بر تجربه و مبتنی بر مدل‌های الگوریتمی برای این تخمین استفاده می‌کنند. تکنیک‌های مبتنی بر تجربه عبارتند از تخمین میزان نیروی انسانی مورد نیاز، توسط مدیر پروژه بر اساس تجربیات خود از پروژه‌های گذشته؛ و تکنیک مبتنی بر مدل الگوریتمی عبارت است از یک فرمول که برای محاسبه‌ی میزان نیروی انسانی مورد نیاز یک پروژه بر اساس تخمینی از خصوصیات محصول نظیر اندازه، و خصوصیات فرآیند نظیر تجربه‌ی افراد درگیر در پروژه مورد استفاده قرار می‌گیرد[2-4] . این فرمول‌ها می‌توانند بوسیله تحلیل هزینه‌ها و ویژگی‌های پروژه‌های کامل شده قبلی، ساخته شوند و نزدیک‌ترین فرمول به تجربه‌های واقعی را پیدا کنند[3].

    در این پژوهش ما یک مدل ترکیبی مبتنی بر الگوریتم‌های منطق‌فازی ارائه نموده‌ایم؛ که می‌تواند با تکیه بر توانایی‌های منطق‌فازی و آموزش‌های اعمال شده بر آن بواسطه‌ی Datasetی که بصورت مصنوعی ایجاد کرده‌ایم تخمین‌های دقیق‌تری را ارائه دهد.

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

    [1]COCOMO یکی از شناخته شده‌ترین مدل‌های مبتنی بر مدل الگوریتمی است که در سال 1981 توسط Barry Boehm ارائه گردید. این مدل از آنالیز 63 پروژه نرم‌افزاری ایجاد شده است. اندازه تعداد خطوط پروژه‌های مورد مطالعه در محدوده بین 2000 تا 100000  خط کد بوده‌اند که از زبان‌های برنامه‌نویسی مختلفی استفاده کرده بودند[18,20،25]. متدولوژی مورد استفاده در این نرم‌افزارها به دلیل رایج بودن در آن زمان، مدل آبشاری بوده است. این مدل اغلب به نام COCOMO 81 معروف است.  Boehm سه سطح به نام‌های COCOMO پایه ای، COCOMO میانی و COCOMO مشخصات را برای این الگوریتم (COCOMO 81) پیشنهاد نمود.

      در سال 1995 مدل COCOMO II  جانشین 81  COCOMO شد و بعد از آن در سال 2000 کتاب Software Cost Estimation with COCOMO II انتشار یافت. با توجه به نحوه محاسبات این نسخه به نظر می‌رسد که این مدل برای تخمین هزینه نرم‌افزاری در پروژه‌های نرم‌افزاری مدرن مناسب‌تر است. این مدل حمایت بیشتری را از فرایندهای توسعه نرم‌افزاری مدرن و پایگاه داده‌های پروژه‌های به‌روز شده انجام می‌دهد[11,18,29]. نیاز به مدل جدید از آنجایی آغاز شد که تکنولوژی توسعه نرم‌افزار، از پردازنده‌های مرکزی[2] و پردازش دسته‌ای به سمت توسعه نرم‌افزارهای رومیزی[3]، قابلیت استفاده مجدد کدها و استفاده از مؤلفه‌های نرم‌افزاری در دسترس، منتقل گردید[22].

      منطق‌فازی در 1965 برای اولین‌بار در مقاله‌ای به همین نام، توسط پروفسور «لطفی عسگرزاده» ارائه شد و در حال حاضر کاربردهای فراوانی دارد و در حیطه مدیریت نیز جای خاصی را به خود اختصاص داده است. این منطق برای سنجش مسائل و الگوهای کیفی، کاربرد فراوانی دارد و پاسخگوی مسائل زیادی در رشته‌های علوم انسانی بویژه مدیریت است. منطق‌فازی راهکاری است که بوسیله آن می‌توان سیستم‌های پیچیده را که مدلسازی آن‌ها با استفاده از ریاضیات و روش‌های مدلسازی کلاسیک غیرممکن بوده و یا بسیار مشکل است، به آسانی و با انعطاف بسیار بیشتر، مدلسازی کرد[14,25,26].

      در سیستم‏های دارای عدم قطعیت زیاد و پیچیدگی‌های بالا، منطق‌فازی روشی مناسب برای مدلسازی به شمار می‌رود. همانگونه که ذکر شد تخمین دقیق‌تر در بحث مدیریت منابع هنگام توسعه پروژه‌های نرم‌افزاری امری است بسیار مهم و قابل توجه، لذا هدف این پژوهش این است که با مطالعه و بکارگیری منطق‌فازی، یک تابع فازی مناسب استخراج کرده، که این تابع بواسطه‌ی ساختن ترکیبی مناسب از قوانین میان بخشی از 23 پارامتر ذکر شده در COCOMO II نظیر محرک‌های هزینه (مثل CPLX که بیان‌گر پیچیدگی نرم‌افزار، PCAP که بیان‌گر قابلیت برنامه‌نویس است و غیره)، فاکتورهای مقیاس (نظیر TEAM که بیان‌گر انسجام تیمی افراد دخیل در پروژه است) و اندازه‌ی نرم‌افزار، حاصل می‌گردد، سپس با بررسی و استفاده از قوانین بدست آمده و انجام مراحل مربوط به فازی‌سازی، با استفاده از یک موتور استنتاج فازی در یکی از نرم‌افزارهای شبیه‌سازی MATLAB  یا  SPSS تست‌هایی با تعدادی از داده‌های موجود در مجموعه داده‌های[4] نمونه از جمله مجموعه داده‌های COCOMO81، COCOMO II یا نسخه‌های COCOMONASA انجام داده و خروجی‌های مدنظر را بدست آوریم. در آخر نیز بین خروجی‌های تولید شده توسط مدل فازی پیشنهادی، و مدل اصلی COCOMO II مقایسه‌ای مبتنی بر برخی تکنیک‌های مشهور نظیر دامنه‌ی خطای نسبی (MMRE) صورت خواهد گرفت.

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

    1-2. تعریف مساله و سوال اصلی تحقیق

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

    چگونه می‌توان با استفاده از منطق‌فازی دقت میزان تخمین هزینه پروژه‌های نرم‌افزاری را در مدل COCOMO II بهبود بخشید؟

    1-3. فرضیه‌ها

    1. با استفاده از منطق‌فازی می‌توان برای تنظیم پارامترهای تخمین تلاش در مدل COCOMO II قوانین ایجاد نمود.

    2. با استفاده از منطق‌فازی می‌توان مدلی را پیاده‌سازی کرد که بصورت کاربردی قابل استفاده باشد.

    3. با استفاده از ترکیب منطق‌فازی و مدل COCOMO II می‌توان مدلی را پیاده‌سازی کرد که دقت تخمین‌های آن نسبت به خود مدل COCOMO II بهینه‌تر باشد.

    1-4. اهداف تحقیق

    قصد داریم تا با نوآروی در راستای منطق‌فازی در جهت بهبود دقت تخمین هزینه‌های توسعه نرم‌افزار به اهداف دیگری نیز که در ادامه به آن‌ها اشاره شده دست بیابیم:

    ارائه روشی جهت بهبود روش تخمین هزینه‌های نرم‌افزاری در مراحل ابتدایی پروژه

    کمک به مدیر پروژه برای موفقیت در پروژه‌های بزرگ با بهبود تخمین هزینه‌های توسعه نرم‌افزار

    کاهش چالش‌های میان ذی‌النفعان در مراحل توسعه پروژه

    بهینه نمودن منابع(انسانی، سخت‌افزاری، نرم‌افزاری و زمان)

    کمک به بالا بردن سود شرکت با توجه به استفاده بهینه از منابع

    1-5. روش تحقیق

    روش کار بصورت کتابخانه‌ای می‌باشد. در این روش اسناد مرتبط در کتاب‌های کتابخانه‌های دانشگاهی (دانشگاه)، مقالات و مجلات معتبر(Springer, IEEE, …)، سایت‌ها و سیستم‌های اطلاع‌رسانی اینترنتی و نشریه‌های رسمی دولتی می‌باشد. روش انجام تحقیق به صورت تاریخی، از طریق مطالعه طرح‌ها و روش‌های مختلف موجود در راستای موضوع تحقیق و نیز به صورت تطبیقی از طریق مقایسه با روش‌های مرتبط موجود خواهد بود.

    1-6. مراحل انجام تحقیق

    ابتدا با مطالعات پیمایشی در بین منابع دیجیتالی و غیر دیجیتالی سعی در فهم و مشخص نمودن الگوریتم و پارامترهای موثر در تخمین هزینه‌های نرم‌افزار با استفاده از COCOMO II خواهیم نمود.

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

    یافتن پارامترهای صحیح برای استفاده در این روش.

    یافتن تابع فازی کارآمد برای بکارگیری در حل مسأله که این تابع بواسطه‌ی ساختن ترکیبی مناسب از قوانین میان بخشی از 23 پارامتر ذکر شده در COCOMO II نظیر محرک‌های هزینه (مثل CPLX که بیان‌گر پیچیدگی نرم‌افزار، PCAP که بیان‌گر قابلیت برنامه‌نویس است و غیره)، فاکتورهای مقیاس(نظیر TEAM که بیان‌گر انسجام تیمی افراد دخیل در پروژه است) و اندازه‌ی نرم‌افزار حاصل می گردد.

    بررسی موارد بدست آمده در منطق‌فازی  با استفاده از یک موتور استنتاج فازی در یکی از نرم‌افزارهای شبیه‌سازی MATLAB  یا  SPSS و آزمایش کردن با تعدادی از داده‌های موجود در Dataset و بدست آوردن خروجی‌های مدنظر در نرم‌افزار MATLAB یا SPSS

    بررسی نتایج بدست آمده با داده‌های تست Dataset و مقایسه‌ای مبتنی بر برخی تکنیک‌های مشهور نظیر دامنه ی خطای نسبی(MMRE).

    استخراج داده‌ها و مقایسه آن‌ها با سایر کارهای مرتبط صورت گرفته.

    ارائه و تجزیه و تحلیل نتایج بدست آمده.

    1-7. ساختار پایان‌نامه

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

     

     

     

     

     

     

     

     

     

    فصل2                                                            روش پیشنهادی

     

     

    2-1. فرضیات الگوریتم

    مدل پیشنهادی جدید مبتنی بر مدل COCOMO II بوده است. این مدل در واقع یک روش تخمین تلاش پروژه، مبتنی بر الگوریتم‌های منطق‌فازی است که تصمیم‌گیری راجع به خروجی خود را برمبنای متغیرهای زبانی ورودی تعیین می‌نماید. ورودی‌های این مدل، ترکیبی از پارامترهای موجود در مدل COCOMO II هستند که پس از انتخاب وضعیت و اعمال عملیات جمع و یا ضرب مربوط به آن‌ها، به عنوان سه گروه جداگانه به سیستم وارد می‌گردند تا سیستم بر مبنای وضعیت جاری آن‌ها تصمیم‌گیری نماید.

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

    2-2. معرفی EST-COCOMO II

    این مدل جهت افزایش دقت تخمین هزینه‌های نرم‌افزاری و بالابردن هرچه‌ بیشتر ضریب اطمینان مدیران پروژه‌های نرم‌افزاری در تصمیم‌گیری‌های پیش‌رو ارائه شده است. سیستم ارائه شده در این کار، ترکیبی از منطق فازی و مدل COCOMO II است. معماری کلی این سیستم در شکل 3-1 نشان داده شده است.

    Abstract

     Nowadays in all running projects, management is a critical issue. Software programming projects are not exceptional, as well. One of the most important aspects of software development is time and cost management, as in early steps of software development there exist no exact information about different aspects of developing, a near exact estimation of cost could be vital in success of the software. In this research, using COCOMOII model, one of the most well-known methods of software development costs estimation based on algorithmic models, and combining it with fuzzy logic, we managed to establish a model that is able to estimate the cost more exact. This model is semulated in MATLAB software using artificial data. Accuracy of data checked with SPSS software. In addition, to assess the model, we used data from two formal dataset of COCOMOII, and results were assessed using PRED and MMRE techniques. Output results show that suggested system made an improvement average of 5.901% comparing to COCOMOII.

     

    Keywords: COCOMO II Model, Cost Estimation, Optemization, Fuzzy Logic.

     

     

    Acknowledgment:

     

    Above all, I would like to thank God…

     

    Then I would like to begin by thanking Dr. Iman Attarzadeh, my thesis supervisor, for his support on whole steps of this research, countless hours he has spent for my work, discussing all around the issue always imparting and inspiring a new viewpoint and solution to the problem. In addition, I would like to thank Mr. Hossein Beigi Harchegani, my thesis advisor, for his guidance in my initial steps.  Moreover, I had the chance to recieve kindly and hopeful feedbacks on my work from Mr. Amin Golabpour, I am grateful to him too.

    Finally, I would like to thank my parents, family and friends who are always supporting me in my life. Certainly, every success in science and research, if this is supposed to be any success, is indebted to best efforts of previous researchers around the world. Therefore, I am grateful to them all.

     

    "If I have seen further it is by standing on the shoulders of giants."
    Isaac Newton, letter to Robert Hooke, 1676

  • فهرست:

    فصل1 کلیات پژوهش... 1

    1-1. مقدمه. 2

    1-2. تعریف مساله و سوال اصلی تحقیق.. 5

    1-3. فرضیه‌ها 5

    1-4. اهداف تحقیق.. 5

    1-5. روش تحقیق.. 6

    1-6. مراحل انجام تحقیق.. 6

    1-7. ساختار پایان‌نامه. 7

    فصل2 روش پیشنهادی.. 8

    2-1. فرضیات الگوریتم.. 9

    2-2. معرفی EST-COCOMO II 9

    2-3. بررسی پیاده‌سازی مدل ترکیبی EST-COCOMO II 11

    2-3-1. معرفی ابزار MATLAB. 11

    2-3-1-1. اندازه‌گیری دقیق.. 12

    2-3-1-2. قدرت Matlab. 13

    2-3-2. تشریح کلی پیاده‌سازی سیستم.. 14

    2-3-2-1. روش آزمون و خطا 14

    2-3-2-2. روش جداول ارجاع. 14

    2-3-2-3. روش ANFIS. 15

    2-3-3. روند پیاده‌سازی سیستم در نرم‌افزار MATLAB. 16

    2-3-3-1. تشکیل Dataset  مصنوعی.. 18

    2-3-3-2. طراحی ANFIS. 21

    2-3-4. معرفی و ارزیابی Dataset مصنوعی ایجاد شده. 28

    2-3-4-1. آزمون تحلیل واریانس مقایسه چند جامعه مستقل (ANOVA) 28

    2-3-5. شاخص‌های EST-COCOMO II 31

    2-4. جمع‌بندی.. 32

    فصل3 مبانی تحقیق و مروری بر تحقیقات پیشین.. 33

    3-1. برآورد پروژه‌های نرم‌افزاری.. 34

    3-1-1. تکنیک‌های مبتنی بر تجربه. 35

    3-1-2. تکنیک مبتنی بر مدل الگوریتمی.. 35

    3-2. مدل COCOMO II 36

    3-2-1. مقدمه. 36

    3-2-2. اندازه‌گیری.. 38

    3-2-3. تخمین تلاش.... 43

    3-2-3-1. محرک‌های هزینه در مدل Post Architecture. 44

    3-2-3-2. محرک‌های مدل Early Design. 61

    3-2-4. تخمین هزینه. 63

    3-3. منطق‌فازی.. 63

    3-3-1. مجموعه‌های قطعی.. 64

    3-3-2. مجموعه‌های فازی.. 65

    3-3-3. تابع عضویت... 65

    3-3-3-1. اشکال مختلف توابع عضویت... 66

    3-3-4. عملیات اساسی روی مجموعه‌های فازی (t-norm, co-norm): 70

    3-3-5. متغیرهای زبانی.. 71

    3-3-6. روابط فازی.. 73

    3-3-7. کنترل فازی.. 73

    3-3-7-1. مزایای کنترل فازی.. 74

    3-3-7-2. مراحل طراحی یک سیستم فازی.. 75

    3-3-7-3. بررسی فرایند طراحی تعدادی از نمونه‌های واقعی.. 75

    3-3-8. موتور استنتاج.. 77

    3-3-8-1. روش‌های غیر فازی سازی.. 78

    3-3-8-2. محتمل‌ترین در مقابل سازگارترین روش... 78

    3-4. خوشه‌بندی فازی C-Means. 81

    3-4-1. مقدمه. 81

    3-4-2. هدف از خوشه‌بندی.. 82

    3-4-3. خوشه‌بندی فازی.. 82

    3-4-3-1. الگوریتم خوشه‌بندی فازی C-Means. 84

    3-4-4. بررسی نمونه تست... 88

    3-5. مروری بر برخی کارهای مرتبط... 88

    3-5-1. جمع‌بندی.. 90

    3-6. نتیجه‌گیری.. 92

    فصل4 بررسی سیستم و ارزیابی نتایج آن.. 93

    4-1. شاخص‌های ارزیابی و شبیه‌سازی.. 94

    4-2. روند بررسی و نتایج خروجی.. 96

    4-3. جمع بندی.. 100

    فصل5 جمع‌بندی و پیشنهاد‌ها 102

    5-1. یافته‌های تحقیق.. 103

    5-2. نوآوری تحقیق.. 104

    5-3. پیشنهاد‌ها 105

    مراجع.. 106

    واژه‌نامه. 112

     

    منبع:

     

    [1] Pressman, R.S. (2005). ”Software Engineering: A Practitioner's Approach”, Boston.

     

    [2] McConnell, S. (1996). “Rapid development: taming wild software schedules”, Microsoft Press.

     

    [3] Anupama Kaushik, A.C., Deepak Mittal, Sachin Gupta. (2012). “COCOMO Estimates Using Neural Networks. I.J. Intelligent Systems and Applications”, pp. 22-28.

     

    [4] Sommerville, I. (2007). ” Software Engineering, Addison-Wesley”.

     

    [5] Ali Bou Nassif and Luiz Fernando Capretz, D.H. (2012). “Software Effort Estimation in the Early Stages of the Software Life Cycle Using a Cascade Correlation Neural Network Model”, 13th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, IEEE, pp. 589-594.

     

    [6] Chintala Abhishek, V.P.K., Harish Vitta, Praveen Ranjan Srivastava. (2010). “Test Effort Estimation Using Neural Network”, J. Software Engineering & Applications, pp. 331-340.

     

    [7] Divya Kashyap, A.T., Prof. A. K. Misra. (2012). “Software Development Effort and Cost Estimation: Neuro-Fuzzy Model”, IOSR Journal of Computer Engineering (IOSRJCE), pp. 12-14.

     

    [8] Jagannath Singh, B.S.,”Software Effort Estimation with Different Artificial Neural Network”, pp. 815-818.

     

    [9] Jaswinder Kaur, S.S., Dr. Karanjeet Singh Kahlon, Pourush Bassi. (2010). “Neural Network-A Novel Technique for Software Effort Estimation”. International Journal of Computer Theory and Engineering, pp. 13-17.

     

    [10] Kirti Seth, A.S., Ashish Seth. (2010). “Component Selection Efforts Estimation– a Fuzzy Logic Based Approach”, International Journal of Computer Science and Security, (IJCSS), pp. 210-215.

     

    [11] Kunal Gaurav, P.J., K.S.Patnaik, PhD. (2013). “Analyzing Effort Estimation in Multistage based FL-COCOMO II Framework using various Fuzzy Membership Functions”, International Journal of Computer Applications, pp. 35-39.

     

    [12] Manpreet Kaur, S.G. (2012). “Analysis of Neural Network based Approaches for Software effort Estimation and Comparison with Intermediate COCOMO”. International Journal of Engineering and Innovative Technology (IJEIT), pp. 197-200.

     

    [13] Prasad Reddy, Rama Sree P and Ramesh. (2010). “Software Effort Estimation using Radial Basis and Generalized Regression Neural Networks”, JOURNAL OF COMPUTING, pp. 87-92.

     

     [14] Prasad Reddy, Rama Sree. (2011). “Application of Fuzzy Logic Approach to Software Effort Estimation”, (IJACSA) International Journal of Advanced Computer Science and Applications, pp. 87-92.

     

    [15] Raju. (2010). “An Optimal Neural Network Model for Software Effort Estimation”, Int.J. Of Software Engineering, IJSE, pp. 63-78.

     

    [16] Roheet Bhatnagar, Vandana Bhattacharjee. (2011). “A Novel Approach to the Early Stage Software Development Effort Estimations using Neural Network Models: A Case Study”, IJCA Special Issue on “Artificial Intelligence Techniques - Novel Approaches & Practical Applications”, pp. 8-11.

     

    [17] Roheet Bhatnagar, M.K.G., Vandana Bhattacharjee. (2010). “Software Development Effort Estimation – Neural Network vs. Regression Modeling Approach”. International Journal of Engineering Science and Technology, pp. 2950-2956.

     

    [18] Sandeep Kad, V.C. (2011). “Fuzzy Logic based framework for Software Development Effort Estimation”. An International Journal of Engineering Sciences, pp. 330-342.

     

    [19] Shiyna Kumar, V.C. (2013). “Neural Network and Fuzzy Logic based framework for Software Development Effort Estimation”, International Journal of Advanced Research in Computer Science and Software Engineering, pp. 19-24.

     

    [20] Vishal Sharma, H.K.V. (2010). “Optimized Fuzzy Logic Based Framework for Effort Estimation in Software Development”, IJCSI International Journal of Computer Science, pp. 30-38.

     

    [21] Xishi Huang, D.H., Jing Ren, Luiz F. Capretz. (2005). “Improving the COCOMO model using a neuro-fuzzy approach”, Elsevier, pp. 29-40.

     

    [22] Ali Idri, A.A., Laila Kjiri. (2000). “COCOMO Cost Model Using Fuzzy Logic”, in 7th International Conference on Fuzzy Theory & Technology, New Jersy, pp. 1-4.

     

    [23] Barry Boehm, B.C., Ellis Horowitz, Chris Westland, Ray Madachy, Richard Selby. (1995). “Cost Models for Future Software Life Cycle Processes: COCOMO 2.0”, Science Publishers, Amsterdam, The Netherlands.

     

    [24] Hamdy, A. (2012). “Fuzzy Logic for Enhancing the Sensitivity of COCOMO Cost Model”, Journal of Emerging Trends in Computing and Information Sciences, pp. 1292-1297.

     

    [25] Kasabov, N.K. (1998). “Foundations of Neural Networks, Fuzzy Systems, and Knowledge Engineering”, The MIT Press.

     

    [26] Attarzadeh, I.H.O., Siew. (2009). “Proposing a new high performance model for Software Cost estimation”, in Second international Conference on Computer and electrical Engineering, pp. 112-116.

     

    [27] K.S.Patnaik and P.J.a. (2012). “Comparative Analysis of COCOMO81 using various Fuzzy Membership Functions”, International Journal of Computer Applications, pp. 20-27.

     

    [28]   Vishal Sharma and Harsh Kumar Verma. (2010). “Optimized Fuzzy Logic Based Framework for Effort Estimation in Software Development”, IJCSI International Journal of Computer Science Issues, pp. 30-38.

     

    [29] Barry W. Boehm, Chris Abts, A. Winsor Brown, Sunita Chulani, Bradford K. Clark, Ellis Horowitz, Ray Madachy, Donald Reifer, and Bert Steece. (2000). “Software Cost Estimation with COCOMO II”, Prentice Hall, Englewood Cliffs, N.J.

     

    [30] R. Royce. (1998). “Software Project Management A Unified Framework”, Addison-Wesley, Reading, Ma.

     

    [31] M. Paulk, C. Weber, B. Curtis, and M. Chrissis. (1995). “The Capability Maturity Model: Guidelines for Improving the Software Process”, Addison-Wesley.

     

    [32] Boehm, B., Clark, B., Horowitz, E., Westland, C., Madachy, R., Selby, R. (1995), “Cost Models for Future Software Life-cycle Processes: COCOMO 2.0” Annals of Software Engineering Special Volume on Software Process and Product Measurement, J.D. Arthur and S.M. Henry (Eds.), J.C. Baltzer AG, Science Publishers, Amsterdam, The Netherlands , pp. 45-60.

     

    [33] Zadeh L.A. (1965). “Fuzzy sets”. Information and Control 8: pp. 338-353.

     

    [34] Novák, V., Perfilieva, I. and Močkoř, J. (1999). “Mathematical principles of fuzzy logic Dodrecht: Kluwer Academic”, 320 pp. ISBN 0-7923-8595-0.

     

    [35] Ahlawat, Nishant, Ashu Gautam, and Nidhi Sharma. (2014). “Use of Logic Gates to Make Edge Avoider Robot”. International Journal of Information & Computation Technolog, pp. 629-632.

     

    [36] (2008). “Fuzzy Logic”. Stanford Encyclopedia of Philosophy. Stanford University.

     

    [37] Pelletier, Francis Jeffry. (2000). “Review of Metamathematics of fuzzy logics”. JSTOR 421060. The Bulletin of Symbolic Logic 6 (3): pp. 342-346.

     

    [38] Zadeh, L. A. et al. (1996). “Fuzzy Sets, Fuzzy Logic, Fuzzy Systems”. World Scientific Press, ISBN 981-02-2421-4

     

    [39] (2014). “The L-Shaped Membrane”. MathWorks.

     

    [40] (2013). “System Requirements and Platform Availability”. MathWorks.

     

    [41] Richard Goering. (2004). “Matlab edges closer to electronic design automation world”. EE Times.

     

    [42] M. Halkidi, Y. Batistakis and M. Vazirgiannis. (2001). “On Clustering Validation Techniques", Journal of Intelligent Systems, pp. 107-145.

     

    [43] George E. Tsekouras and Haralambos Sarimveis. (2004). “A new approach for measuring the validity of the fuzzy c-means algorithm”. Advances in Engineering Software 35, pp. 567-575.

     

    [44] N. Zahid, M. Limouri and A. Essaid. (1999). “A new cluster-validity for fuzzy clustering”, Pattern Recognition 32, pp. 1089-1097.

     

    [45] M. Ramze Rezaee, B.P.F. Lelieveldt, J.H.C. Reiber. (1998). “A new cluster validity index for the fuzzy c-mean”. Pattern Recognition Letters 19, pp. 237-246.

     

    [46] Bezdek, J.C. (1981). “Pattern Recognization with Fuzzy Objective Function Algorithms”. Plenum press, New York.

     

    [47] Bezdek JC. (1973). “Fuzzy mathematics in pattern classification”. PhD dissertation, Cornell University, Ithaca, NY, pp 125-138.

     

    [48] S.L. Chiu. (1994). “Fuzzy model identification based on cluster estimation", J. Intell. Fuzzy Systems 2, pp. 267- 278.

    [49] Banker R. D., Chang H., Kemerer C. (1994). “Evidence on Economies of Scale in Software Development”, Information and Software Technology, 1994, pp. 275-282.


تحقیق در مورد پایان نامه بهبود میزان تخمین هزینه پروژه‌ های نرم‌ افزاری در مدل COCOMO II مبتنی بر الگوریتم‌ های منطق‌ فازی, مقاله در مورد پایان نامه بهبود میزان تخمین هزینه پروژه‌ های نرم‌ افزاری در مدل COCOMO II مبتنی بر الگوریتم‌ های منطق‌ فازی, پروژه دانشجویی در مورد پایان نامه بهبود میزان تخمین هزینه پروژه‌ های نرم‌ افزاری در مدل COCOMO II مبتنی بر الگوریتم‌ های منطق‌ فازی, پروپوزال در مورد پایان نامه بهبود میزان تخمین هزینه پروژه‌ های نرم‌ افزاری در مدل COCOMO II مبتنی بر الگوریتم‌ های منطق‌ فازی, تز دکترا در مورد پایان نامه بهبود میزان تخمین هزینه پروژه‌ های نرم‌ افزاری در مدل COCOMO II مبتنی بر الگوریتم‌ های منطق‌ فازی, تحقیقات دانشجویی درباره پایان نامه بهبود میزان تخمین هزینه پروژه‌ های نرم‌ افزاری در مدل COCOMO II مبتنی بر الگوریتم‌ های منطق‌ فازی, مقالات دانشجویی درباره پایان نامه بهبود میزان تخمین هزینه پروژه‌ های نرم‌ افزاری در مدل COCOMO II مبتنی بر الگوریتم‌ های منطق‌ فازی, پروژه درباره پایان نامه بهبود میزان تخمین هزینه پروژه‌ های نرم‌ افزاری در مدل COCOMO II مبتنی بر الگوریتم‌ های منطق‌ فازی, گزارش سمینار در مورد پایان نامه بهبود میزان تخمین هزینه پروژه‌ های نرم‌ افزاری در مدل COCOMO II مبتنی بر الگوریتم‌ های منطق‌ فازی, پروژه دانشجویی در مورد پایان نامه بهبود میزان تخمین هزینه پروژه‌ های نرم‌ افزاری در مدل COCOMO II مبتنی بر الگوریتم‌ های منطق‌ فازی, تحقیق دانش آموزی در مورد پایان نامه بهبود میزان تخمین هزینه پروژه‌ های نرم‌ افزاری در مدل COCOMO II مبتنی بر الگوریتم‌ های منطق‌ فازی, مقاله دانش آموزی در مورد پایان نامه بهبود میزان تخمین هزینه پروژه‌ های نرم‌ افزاری در مدل COCOMO II مبتنی بر الگوریتم‌ های منطق‌ فازی, رساله دکترا در مورد پایان نامه بهبود میزان تخمین هزینه پروژه‌ های نرم‌ افزاری در مدل COCOMO II مبتنی بر الگوریتم‌ های منطق‌ فازی

پايان نامه کارشناسي ارشد، رشته مديريت صنعتي، گرايش تحقيق در عمليات شهريور 1390 چکيده نحوه و چگونگي انتخاب از ديرباز موضوع بحث فلاسفه و دانشمندان بوده است، لذا حصول نتايج رضايت بخش نيازمند طي

پايان نامه کارشناسي ارشد رشته مديريت جهانگردي گرايش برنامه ريزي و توسعه بهار 1391 چکيده در دنياي کنوني، برنامه‌ ريزي استراتژيک به عنوان بنايي مهم براي توسعه محسوب مي‌شود و لازم

براي دريافت درجه کارشناسي ارشد مهندسي پليمر- صنايع پليمر ارديبهشت 1393 چکيده  با پيشرفت دانش‌ها و علوم مختلف، مرزهاي دانش به‌هم رسيده و در برخي از زمينه‌ها ما شاهد آمي

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

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

پایان نامه کارشناسی ارشد رشته مهندسی عمران – سازه‌ های هیدرولیکی چکیده: رودخانه‌ ها از مهم‌ترین و متداول‌ترین منابع تأمین آب آشامیدنی، کشاورزی و صنعتی به شمار می‌آیند. این منابع به علت عبور از بسترهای مختلف و ارتباط مستقیم با محیط پیرامون خود نوسانات کیفی زیادی دارند. از اینرو پیش‌بینی کیفیت جریان رودخانه‌ها که پدیده‌ای غیر قطعی، تصادفی و تأثیرپذیر از برخی عوامل طبیعی و غیر ...

پایان نامه کارشناسی ارشد مهندسی عمران - گرایش سازه بهمن ماه‌ 1393 چکیده: عملکرد ساختمان در حین زلزله به عوامل بسیاری بستگی دارد، در نتیجه پیش­بینی عملکرد لرزه‌ای سازه‌ها، به عنوان بخشی از طراحی یا ارزیابی باید چه صریحاً و چه ضمناً مد نظر قرار گیرد. پیش­بینی پاسخ لرزه‌ای سازه بسیار پیچیده است، که این امر نه تنها به دلیل تعداد زیاد عوامل دخیل در عملکرد بلکه به سبب پیچیدگی رفتارهای ...

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

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

پايان‌نامه دوره کارشناسي‌ارشد مديريت (گرايش صنعتي) تابستان 1390 چکيده مدل هاي تحليل پوششي داده ها از ديرباز مورد استفاده ي متخصصان جهت سنجش ،مقايسه و بهبود کارايي بوده است. با در

ثبت سفارش