1 / 20

روش های تخمین نرم افزار

روش های تخمین نرم افزار. مهدی گرکانی. تخمین چیست ؟. تعریف دیکشنری : 1) ارزیابی تجربی یا محاسبه نادقیق 2) محاسبه اولیه هزینه پروژه 3) قضاوت بر اساس ادراک و نظر شخصی (Source: The American Heritage Dictionary , Second College Edition, 1985.). تخمین چیست ؟.

Download Presentation

روش های تخمین نرم افزار

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. روش های تخمین نرم افزار مهدی گرکانی درس هوش تجاری (http://ceit.aut.ac.ir/islab)

  2. تخمین چیست ؟ • تعریف دیکشنری : 1) ارزیابی تجربی یا محاسبه نادقیق 2) محاسبه اولیه هزینه پروژه 3) قضاوت بر اساس ادراک و نظر شخصی (Source: The American Heritage Dictionary, Second College Edition, 1985.) آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  3. تخمین چیست ؟ • در تخمین پروژه های نرم افزاری باید سه موضوع زیر را در نظر داشته باشیم : 1) برآوردها 2) اهداف 3) تعهدات آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  4. تخمین چیست ؟ • تعریف کاربردی : تخمین خوب تخمینی است که یک دید شفاف از واقیعت های پروژه را در اختیار مدیر پروژه قرار می دهد تا بر اساس آن تصمیمات لازم و مناسب برای کنترل پروژه و برای رسیدن به اهداف مقرر اتخاذ گردد. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  5. تکنیک های پایه • شمارش : در صورت امکان • محاسبه : در صورت عدم امکان شمارش • قضاوت : آخرین راهکار آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  6. چه چیز را بشماریم ؟ • موردی را پیدا کنید که بیشترین ارتباط با اندازه ی پروژه داشته باشد • موردی را پیدا کنید که در چرخه تولید نرم افزار زود تر به آن دسترسی دارید • موردی را پیدا کنید که یک میانگین آماری با مفهوم ایجاد کند • بفهمید که چه چیزی را می شمارید • موردی را پیدا کنید که با کمترین تلاش و هزینه قابل شمارش باشد آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  7. محاسبه • برای تبدیل شمارش به تخمین استفاده می شود آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  8. محاسبه • مثال تخمین به وسیله شمارش صفحات وب : اگر اطلاعات به دست آمده به شما می گوید که طراحی، پیاده سازی و تست هر صفحه وب 40 ساعت طول می کشد و 12 صفحه دیگر تا اتمام پروژه باقی مانده، این بدان معنی است که 40 x 12 ساعت تا اتمام پروژه زمان نیاز است. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  9. قضاوت آخرین راهکار است • داده های تاریخی ( Historical Data ) به همراه محاسبات دارای کمترین میزان تعصب و نظرات شخصی می باشد که باعث می شود تخمین ها کمتر قضاوت گونه باشند • از ترقیب شدن برای پیچاندن و همسو کردن تخمین های محاسبه شده با قضاوت شخصی و تخصصی خود اجتناب کنید آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  10. تخمین بر اساس مقایسه آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  11. تخمین بر اساس مقایسه • خط مشی اصلی : بر اساس مقایسه پروژه ِِی جدید با پروژه های انجام شده می توانید تخمین دقیقی برای پروژه فعلی ارائه دهید. • فرایند : 1) جزئیات اندازه، عملیات و هزینه پروژه مشابه قبلی را به دست آورید. در صورت امکان اطلاعات تجزیه شده بر اساس قابلیت ها توسط ساختار تفکیک کار ها ( WBS ) و یا سیستم های دیگر تجزیه به دست آورید. 2) اندازه پروژه جدید را با پروژه قدیمی مقایسه کنید. 3) اندازه پروژه جدید را بر اساس درصدی از پروژه ِی قدیمی بدست آورده و برای پروژه جدید تخمینی بر اساس این مقایسه بدست آورید. 4) فرض های سازگار میان دو پروژه را بررسی نمایید. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  12. یک مثال آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  13. تخمین های بر اساس پروکسی • در ابتدا یک پروکسی مرتبط با مولفه ای که قصد تخمین آن را دارید تعیین کنید. این پروکسی باید به گونه ای باشد که تخمین آن راحت تر و یا زودتر از مولفه اصلی در اختیار شما باشد. • بعد از تعیین پروکسی و تخمین یا شمارش اقلام پروکسی ، طی محاسباتی بر اساس داده های تاریخی سازمان مقدار تخمین زده شده برای پروکسی را به تخمین اصلی مولفه مورد نظر تبدیل کنید. • به عنوان مثال برای محاسبه و تخمین تعداد خطوط کد می توان از تعداد قابلیت ( feature ) که مرتبط با تعداد خطوط کد خواهد بود به عنوان پروکسی استفاده کرد. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  14. تخمین های بر اساس پروکسی آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  15. تخمین منطق فازی • خصیصه ها و قابلیت ها را بر اساس بسیار کوچک، کوچک، متوسط، بزرگ و خیلی بزرگ دسته بندی کنید. سپس برای تخمین تعداد خطوط کد از داده های تاریخی استفاده کرده و در می یابیم که به ازای هر دسته چند خط کد به طور متوسط مورد نیاز است و از این اطلاعات برای تخمین نهایی استفاده می کنیم. منطق فازی روش خوبی برای تخمین تعداد خطوط کد به شمار می رود. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  16. یک مثال • اندازه های میانگین از داده های تاریخی سازمان بدست می آیند آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  17. قضاوت ماهرانه در گروه ها • این دسته از تکنیک ها برای تخمین های زودهنگام و یا تخمین های مولفه های زیاد ناشناخته به کار می رود. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  18. بازبینی گروهی • روشی ساده برای ارتقای دقت تخمین های شکل گرفته توسط افراد از طریق بازبینی های گروهی. این فرآیند شامل سه مرحله است : 1) هر عضو این گروه به صورت انفرادی مولفه های مورد نظر را تخمین می زنند و سپس در جلسه گروهی نتایج با هم مقایسه می شوند : در این بخش بر سر نتایج به دست آمده بحث و گفتگو می شود تا در مورد نتیجه مطلوب اجماع حاصل شود. 2) برای دستیابی به نتیجه نهایی بین نتایج انفرادی فقط میانگین نگیرید . باید در مورد تمامی نتایج بحث و گفتگو شود و لزوما نتیجه مطلوب میانگین نتایج انفرادی نیست. 3) به نتیجه ای برسید که تمامی اعضا بر سر آن توافق کامل داشته باشند. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  19. مثال بازبینی گروهی • برای افزایش دقت تخمین ها از این روش استفاده می شود آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

  20. منبع • Software Estimation: Demystifying the Black Art by Steve McConnell Microsoft Press 2006 (338 pages) ISBN:0735605351 آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)

More Related