تخمین در پروژههای نرم افزاری
اسلاید 1: Artificial Intelligent Systems Laboratory1تخمین در پروژه های نرم افزاریدرس مهندسي نرمافزار 2فصل 23دكتر احمد عبداله زاده بارفروشتهيه كننده : پويا جافريان
اسلاید 2: Artificial Intelligent Systems Laboratory2طرح ریزی پروژه نرم افزاری هدف کلی طرح ریزی پروژه، بنانهادن یک راهبرد کاربردی برای کنترل، ردگیری، و پایش یک پروژه فنی پیچیده می باشد. برای چه این کار را انجام می دهیم ؟برای اینکه محصول در زمان معین و با کیفیت آماده شود.
اسلاید 3: Artificial Intelligent Systems Laboratory3مجموعه فعالیت های طرح ریزی پروژه تعیین دامنه پروژه امکان سنجی پروژه تحلیل ریسک هامشخص نمودن منابع مورد نیاز منابع انسانی نرم افزارهای با قابلیت استفاده مجددمنابع محیطی
اسلاید 4: Artificial Intelligent Systems Laboratory4انواع نرم افزار با قابلیت استفاده مجددOff-the-shelf componentsمحصولات تولید شده توسط Third Party که باید از نظر تولید ارزانتر تمام شود. Full-Experience Componentsاستفاده از تجربیات گذشته از نظر آنالیز، طراحی، کد و ... Partial-Experience Components استفاده تا اندازه ای New Components
اسلاید 5: Artificial Intelligent Systems Laboratory5محیط نرم افزار محیط یک سیستم بر مبنای کامپیوتر بر اساس سخت افزار و نرم افزار می باشد. و باید در رابطه با Resource به آن توجه شود.
اسلاید 6: Artificial Intelligent Systems Laboratory6مجموعه فعالیت های طرح ریزی پروژهتخمین هزینه و کار شکستن مسئله تهیه دو یا چند تخمین با استفاده از سایز، Function Point ، Process Tasks یا موارد کاربردجمع بندی تخمین ها تهیه برنامه زمانی پروژه
اسلاید 7: Artificial Intelligent Systems Laboratory7تخمین تخمین منابع، هزینه و زمانبندی برای یک فعالیت مهندسی نرم افزار به موارد زیر احتیاج دارد: تجربه دسترسی به داده های آماری مربوط به شاخص ها شجاعت برای اطمینان به اطلاعات عددی وقتی این اطلاعات موجود است. تخمین به طور ذاتی دارای ریسک می باشد و این ریسک منجر به ابهام می شود.
اسلاید 8: Artificial Intelligent Systems Laboratory8طرح پروژه باید مستند شود. طرح پروژه نرم افزاریدامنه پروژهتخمین هاریسک هازمانبندیراهبرد کنترل
اسلاید 9: Artificial Intelligent Systems Laboratory9برای فهم دامنه پروژه ... فهم نیاز های مشتریفهم حوزه کسب و کار فهم مرزهای پروژه فهم دلایل اشتیاق مشتری فهم مسیر احتمالی تغییرات و فهم اینکه :وقتی شما همه چیز را فهمیده اید بازهم هیچ چیز قطعی نیست.
اسلاید 10: Artificial Intelligent Systems Laboratory10دامنه (Scope) چیست ؟دامنه پروژه موارد زیر را شرح می دهد : کارکردها و ویژگی هایی که به کاربران نهایی تحویل داده می شود. داده های ورودی و خروجی محتوایی که در نتیجه استفاده از نرم افزار به کاربر نمایش داده می شود. کارایی، محدودیت ها ، نقاط ارتباطی و قابلیت اطمینان نرم افزار دامنه با استفاده از تکنیک های زیر مشخص می شود : پس از ارتباط با همه ذینفعان مجموعه ای از شرح دامنه تهیه می شود. مجموعه ای از موارد کاربرد توسط کاربر نهایی تولید می شود.
اسلاید 11: Artificial Intelligent Systems Laboratory11منابع
اسلاید 12: Artificial Intelligent Systems Laboratory12تخمین پروژه دامنه پروژه باید تعیین گردد. تجزیه سیستم لازم است. شاخص های آماری سودمند هستند. حداقل دو روش مختلف باید استفاده شود. عدم اطمینان یکی از ویژگی های ذاتی فرایند تخمین است.
اسلاید 13: Artificial Intelligent Systems Laboratory13تکنیک های تخمین پروژه های پیشین روش های تخمین معمول شکستن فعالیت ها و تخمین کار لازم تخمین بر مبنای سایز (به طور مثال FP) مدل های تجربی (Empirical Models) ابزارهای خودکار (Automated Tools)
اسلاید 14: Artificial Intelligent Systems Laboratory14دقت تخمین دقت تخمین بر مبنای موارد زیر تعیین می شود:درجه ای از دقت که طرح ریزی کننده پروژه اندازه آن را تخمین زده است. توانایی تبدیل تخمین های بر مبنای اندازه به کار انسانی، زمان، و ریال درجه ای از قدرت طرح نرم افزار در نمایش توانایی های تیم نرم افزاری ثبات نیازمندی های محصول و محیطی که فعالیت های مهندسی نرم افزار را پشتیبانی می کند.
اسلاید 15: Artificial Intelligent Systems Laboratory15تجزیه کارکردی (Functional Decomposition)تجزیه کارکردیبیانیه دامنهانجام یک Grammatical “parse”
اسلاید 16: Artificial Intelligent Systems Laboratory16مثالی از یک الگوریتم تجزیه
اسلاید 17: Artificial Intelligent Systems Laboratory17روش های تجزیه با توجه به اندازه نرم افزار صورت می گیرد و تحت عنوان Software Sizing مطرح است. رویکرد های متفاوت آن عبارتند از : Fuzzy-Logic SizingFunction Point SizingStandard Component SizingChange Sizing
اسلاید 18: Artificial Intelligent Systems Laboratory18روش های معمول : رویکرد LOC/FPمحاسبه LOC/FP برمبنای تخمین هایی روی اطلاعات حوزه مسئله استفاده از داده های آماری برای تهیه تخمین برای پروژه
اسلاید 19: Artificial Intelligent Systems Laboratory19مثالی از رویکرد LOCAverage productivity for systems of this type = 620 LOC/pm. Burdened labor rate =$8000 per month, the cost per line of code is approximately $13. Based on the LOC estimate and the historical productivity data, the total estimated project cost is $431,000 and the estimated effort is 54 person-months.
اسلاید 20: Artificial Intelligent Systems Laboratory20مثالی از رویکرد FPThe estimated number of FP is derived:FPestimated = count-total 3 [0.65 + 0.01 3 S (Fi)]FPestimated = 375organizational average productivity = 6.5 FP/pm. burdened labor rate = $8000 per month, the cost per FP is approximately $1230. Based on the FP estimate and the historical productivity data, the total estimated project cost is $461,000 and the estimated effort is 58 person-months.
اسلاید 21: Artificial Intelligent Systems Laboratory21تخمین مبتنی بر فرایندگرفته شده از چارچوب فرایندکارکرد های برنامهفعالیت های چارچوبکار لازم برای تکمیل هر فعالیت چارچوب برای هر کارکرد برنامه
اسلاید 22: Artificial Intelligent Systems Laboratory22مثالی از تخمین برمبنای فرایند Based on an average burdened labor rate of $8,000 per month, the total estimated project cost is $368,000 and the estimated effort is 46 person-months.
اسلاید 23: Artificial Intelligent Systems Laboratory23تخمین مبتنی بر ابزار ویژگی های پروژهفاکتورهای کالیبراسیونLOC/FP داده های
اسلاید 24: Artificial Intelligent Systems Laboratory24مثالی از تخمین به کمک موارد کاربردUsing 620 LOC/pm as the average productivity for systems of this type and a burdened labor rate of $8000 per month, the cost per line of code is approximately $13. Based on the use-case estimate and the historical productivity data, the total estimated project cost is $552,000 and the estimated effort is 68 person-months.
اسلاید 25: Artificial Intelligent Systems Laboratory25مدل های تخمین تجربی این مدل ها به فرم کلی زیر می باشند : effort = tuning coefficient * sizeexponentمعمولا کار به صورت نفر / ماه نشان داده می شود.معمولاً یک ثابت عددی است که با توجه به پیچیدگی پروژه تعیین می گردد. اندازه معمولاً به صورت LOC بیان می شود ولی می توان از FP هم استفاده نمود.به صورت تجربی تعیین می شود
اسلاید 26: Artificial Intelligent Systems Laboratory26روش COCOMO-IICOCOMO-II مجموعه ای از مدل های تخمین است که به مسائل زیر می پردازد:مدل ترکیب نرم افزار (Application Composition Model) که در مراحل اولیه توسعه نرم افزار که نمونه سازی، تعیین ارتباط نرم افزار و سیستمها، ارزیابی کارایی و تکنولوژی انجام می گیرد مورد استفاده قرار می گیرد.مدل طراحی اولیه (Early Design Model) هنگامی که نیازهای نرم افزار تقریباً ثابت شده و معماری نرم افزار تعیین گردید مورد استفاده قرار می گیرد. مدل بعد از معماری (Post-Architecture Stage Model) در حین ساخت نرم افزار مورد استفاده قرار می گیرد.
اسلاید 27: Artificial Intelligent Systems Laboratory27معادله نرم افزار (The software equation)یک مدل پویا چند متغیره به صورت زیر می باشد :E = [LOC x B0.333/P]3 x (1/t4)که : E = کار بر اساس نفرماه یا نفر سال می باشد.t = زمان پروژه در قالب ماه یا سالB = فاکتور تخصص های ویژهP = Productivity فاکتور
اسلاید 28: Artificial Intelligent Systems Laboratory28تخمین در پروژه های شیء گرااز تجزیه کار، تحلیل FP یا دیگر روش های عمومی استفاده کنید. مدل مورد کاربرد (Use case) سیستم را تهیه کرده و تعداد موارد کاربرد را بشمارید. کلاس های آنالیز یا کلیدی را تعیین کرده و تعداد آنها را بشمارید. انواع واسط های کاربر برای نرم افزار را تعیین کرده و برای هر کلاس پشتیبان ضریبی تعیین کنید : Interface typeMultiplierNo GUI 2.0Text-based user interface 2.25GUI 2.5Complex GUI 3.0
اسلاید 29: Artificial Intelligent Systems Laboratory29تخمین در پروژه های شیء گرا تعداد کلاس های کلیدی را در ضریب به دست آمده از مرحله قبل ضرب کنید تا تعداد کلاس های پشتیبان به دست آید. تعداد کل کلاس ها را در میانگین واحدهای کاری برای هر کلاس ضرب کنید. (این مقدار 15 الی 20 نفر روز برای هر کلاس پیشنهاد شده است)
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.