تخمین در پروژه های نرم افزاری

Slides:



Advertisements
Similar presentations
Awe sim.
Advertisements

معاونت درمان امور مامایی اردیبهشت 90. برای ثبت اطلاعات در برنامه نرم افزاری نظام مراقبت مرگ پریناتال ابتدا لازم است برنامه نرم افزار info-path وپرنیان.
آزمايشگاه سيستم‌هاي هوشمند1 برنامه ريزي و نظاره پروژه درس مهندسي نرم‌افزار 2 فصل 24 دكتر احمد عبداله زاده بارفروش تهيه كننده : پويا جافريان.
فاکتورهای مهم در ایجاد یک مقاله علمی
الگوریتم ژنتیکی. تعریف  الگوریتم ژنتیکی، رویه ای تکراری است که راه حل های انتخابیش را بصورت رشته ای از ژنها که کروموزوم نامیده می شوند، بازنمایی می کند.
O r g a n i z a t i o n a l b e h a v i o r e l e v e n t h e d i t i o n.
1 بسم الله الرحمن الرحیم. 2 پژوهش های آموزشی فرآیند – محور (POER) علی عمادزاده عضو هیئت علمی EDC
Decision Tree.
© 2005 Prentice Hall Inc. All rights reserved. o r g a n i z a t i o n a l b e h a v i o r e l e v e n t h e d i t i o n.
تعاریف هوش تجاری مهدی گرکانی درس هوش تجاری
شهره کاظمی 1 آزمایشکاه سیستم های هوشمند ( گزار ش و برنامه ریزی پروژه شهره کاظمی
نام و نام خانوادگي : فريد ملازم 1 آزمايشکاه سيستم هاي هوشمند ( موضوع ارائه Process and Deployment Design.
Artificial Intelligent Systems Laboratory 1 الگو‌هاي فرايند (Process Patterns) فصل 2 درس مهندسي نرم‌افزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده :
روش تحقیق جلسه چهارم دانشگاه صنعتی اصفهان دانشکده کشاورزی
پیاده سازی کنترلر PC/104. Contents PC/104 پیاده سازی کنترلر HILتست 1.
آشنايي با سيستم اعداد.
Eric S. K. Yu Faculty of Information Studies, University of Toronto
کالیبراسیون، صحت سنجی و آنالیز حساسیت مدل
( Project Operation Management )
تمرین هفتم بسم الله الرحمن الرحیم درس یادگیری ماشین محمدعلی کیوان راد
هیدروگراف(Hydrograph) تهیه : دکتر محمد مهدی احمدی
معرفی پرتال سازمانی درسا مرکز فناوری اطلاعات و ارتباطات

متدولوژی CDM با رویکردهای CLASSIC و FAST TRACK
بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics
آشنایی مقدماتی با نرم افزار Endnote X4
تحلیل و طراحی سیستم ها بخش ششم کتاب توربان.
استانداردهای تصاویر دیجیتال پزشکی با فرمت دایکام DICOM در سیستم PACS
ارائه شده: الهام قنبری فتحیه فقیه خراسانی گروه3 تابستان 85
چگونه بفهمیم آیا ژورنالی ISI است؟ ایمپکت فاکتور دارد یا خیر؟
نرم افزار نگهداری و تعمیرات مبتنی بر مدیریت دانش نت CMMS-MKMS
به نام خدا.
مدیریت مالی و اقتصاد مدیریت موضوع : نقطه سر به سر زمستان 93
Route configuration for 5400W ADSL Router
تکنیک دیماتل DEMATEL: decision making trial and evaluation laboratory.
مقدمه اي بر مهندسي نيازمنديها
SSO Single Sign-on Systems
آموزش و یادگیری Education and Training
SE Dept.2 تهیه کنندگان: ملیحه اسکندری نسیبه پوتی
مهندسی سيستم‌هاي تجارت الکترونيکی
کوئیز از جلسه قبل) کارخانه ای در حال خرید قطعه‌ای برای یکی از ماشین‌آلات خود می باشد اگر نرخ بهره 10% برای محاسبات فرض شود، دو مدل از قطعه ماشین در دسترس.
مدارهای منطقی فصل سوم - خصوصیات توابع سويیچی
Software configuration management
بسم الله الرحمن الرحیم.
فصل 10 طراحی انباره فراداده ارائه درس هوش تجاری
سیستم های اطلاعات مدیریت Management Information systems
داده ها -پیوسته Continuous
مهندسی نرم افزار عامل گرا
ASP.NET فرناز شریعت.
معرفی متدولوژی RUP ارديبهشت 1384.
فصل 4. فصل 4 جمع آوری نیازمندیها و تحلیل سیستم : فاز تولید هر نرم افزار با مرحله ای به نام تعریف مسئله شروع می شود. منظور از تعریف مسئله شناخت محیط.
معماری سرویس گرا (SOA).
نام طرح.
تدريس يار: ميثم نظرياني
آشنایی مقدماتی با نرم افزار Endnote X4
نام درس: طراحی و پیاده سازی زبانهای برنامه سازی
بسم الله الرحمن الرحیم هرس درخت تصمیم Dr.vahidipour Zahra bayat
سمینار SharePoint رانندگی در بزرگراه پرتال ها
فصل ششم مدارهای ترتیبی.
فرشاد آقابزرگی هوش تجاری
یادگیری الکترونیکی مبتنی بر دانش
Uniprocessor Scheduling
به نام یکتای دانا فصل اول: متدها و قواعد.
فصل 8 –Process and Deployment
نسبت جرم فرمولی ”جرم اتمی و فرمول تجربی
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
آشنایی با فرایند داده کاوی در نرم افزار R گروه داده کاوی دایکه داود دوروش تابستان 6139.
هدف با استفاده از الگوریتم بهینه سازی کلونی مورچگان( ACO ) و قوانین سیستم فازی به تفسیرقوانین آنها میپردازیم. سپس، با بهره گیری از این قوانین، تعریف مناسبی.
سد خونی- مغزی. تکنولوژی نمایش فاژی و کاربرد آن  مقدمه و تاریخچه  نمایش فاژی در تولید آنتی بادی مونوکونال.
Presentation transcript:

تخمین در پروژه های نرم افزاری درس مهندسي نرم‌افزار 2 فصل 23 دكتر احمد عبداله زاده بارفروش تهيه كننده : پويا جافريان Artificial Intelligent Systems Laboratory

طرح ریزی پروژه نرم افزاری هدف کلی طرح ریزی پروژه، بنانهادن یک راهبرد کاربردی برای کنترل، ردگیری، و پایش یک پروژه فنی پیچیده می باشد. برای چه این کار را انجام می دهیم ؟ برای اینکه محصول در زمان معین و با کیفیت آماده شود. Artificial Intelligent Systems Laboratory

مجموعه فعالیت های طرح ریزی پروژه تعیین دامنه پروژه امکان سنجی پروژه تحلیل ریسک ها مشخص نمودن منابع مورد نیاز منابع انسانی نرم افزارهای با قابلیت استفاده مجدد منابع محیطی Artificial Intelligent Systems Laboratory

انواع نرم افزار با قابلیت استفاده مجدد Off-the-shelf components محصولات تولید شده توسط Third Party که باید از نظر تولید ارزانتر تمام شود. Full-Experience Components استفاده از تجربیات گذشته از نظر آنالیز، طراحی، کد و ... Partial-Experience Components استفاده تا اندازه ای New Components Artificial Intelligent Systems Laboratory

Artificial Intelligent Systems Laboratory محیط نرم افزار محیط یک سیستم بر مبنای کامپیوتر بر اساس سخت افزار و نرم افزار می باشد. و باید در رابطه با Resource به آن توجه شود. Artificial Intelligent Systems Laboratory

مجموعه فعالیت های طرح ریزی پروژه تخمین هزینه و کار شکستن مسئله تهیه دو یا چند تخمین با استفاده از سایز، Function Point ، Process Tasks یا موارد کاربرد جمع بندی تخمین ها تهیه برنامه زمانی پروژه Artificial Intelligent Systems Laboratory

Artificial Intelligent Systems Laboratory تخمین تخمین منابع، هزینه و زمانبندی برای یک فعالیت مهندسی نرم افزار به موارد زیر احتیاج دارد: تجربه دسترسی به داده های آماری مربوط به شاخص ها شجاعت برای اطمینان به اطلاعات عددی وقتی این اطلاعات موجود است. تخمین به طور ذاتی دارای ریسک می باشد و این ریسک منجر به ابهام می شود. Artificial Intelligent Systems Laboratory

طرح پروژه باید مستند شود. دامنه پروژه تخمین ها ریسک ها زمانبندی راهبرد کنترل طرح پروژه نرم افزاری Artificial Intelligent Systems Laboratory

برای فهم دامنه پروژه ... فهم نیاز های مشتری فهم حوزه کسب و کار برای فهم دامنه پروژه ... فهم نیاز های مشتری فهم حوزه کسب و کار فهم مرزهای پروژه فهم دلایل اشتیاق مشتری فهم مسیر احتمالی تغییرات و فهم اینکه : وقتی شما همه چیز را فهمیده اید بازهم هیچ چیز قطعی نیست. Artificial Intelligent Systems Laboratory

Artificial Intelligent Systems Laboratory دامنه (Scope) چیست ؟ دامنه پروژه موارد زیر را شرح می دهد : کارکردها و ویژگی هایی که به کاربران نهایی تحویل داده می شود. داده های ورودی و خروجی محتوایی که در نتیجه استفاده از نرم افزار به کاربر نمایش داده می شود. کارایی، محدودیت ها ، نقاط ارتباطی و قابلیت اطمینان نرم افزار دامنه با استفاده از تکنیک های زیر مشخص می شود : پس از ارتباط با همه ذینفعان مجموعه ای از شرح دامنه تهیه می شود. مجموعه ای از موارد کاربرد توسط کاربر نهایی تولید می شود. Artificial Intelligent Systems Laboratory

Artificial Intelligent Systems Laboratory منابع Artificial Intelligent Systems Laboratory

Artificial Intelligent Systems Laboratory تخمین پروژه دامنه پروژه باید تعیین گردد. تجزیه سیستم لازم است. شاخص های آماری سودمند هستند. حداقل دو روش مختلف باید استفاده شود. عدم اطمینان یکی از ویژگی های ذاتی فرایند تخمین است. Artificial Intelligent Systems Laboratory

Artificial Intelligent Systems Laboratory تکنیک های تخمین پروژه های پیشین روش های تخمین معمول شکستن فعالیت ها و تخمین کار لازم تخمین بر مبنای سایز (به طور مثال FP) مدل های تجربی (Empirical Models) ابزارهای خودکار (Automated Tools) Artificial Intelligent Systems Laboratory

Artificial Intelligent Systems Laboratory دقت تخمین دقت تخمین بر مبنای موارد زیر تعیین می شود: درجه ای از دقت که طرح ریزی کننده پروژه اندازه آن را تخمین زده است. توانایی تبدیل تخمین های بر مبنای اندازه به کار انسانی، زمان، و ریال درجه ای از قدرت طرح نرم افزار در نمایش توانایی های تیم نرم افزاری ثبات نیازمندی های محصول و محیطی که فعالیت های مهندسی نرم افزار را پشتیبانی می کند. Artificial Intelligent Systems Laboratory

تجزیه کارکردی (Functional Decomposition) بیانیه دامنه تجزیه کارکردی انجام یک Grammatical “parse” Artificial Intelligent Systems Laboratory

مثالی از یک الگوریتم تجزیه Artificial Intelligent Systems Laboratory

Artificial Intelligent Systems Laboratory روش های تجزیه با توجه به اندازه نرم افزار صورت می گیرد و تحت عنوان Software Sizing مطرح است. رویکرد های متفاوت آن عبارتند از : Fuzzy-Logic Sizing Function Point Sizing Standard Component Sizing Change Sizing Artificial Intelligent Systems Laboratory

روش های معمول : رویکرد LOC/FP استفاده از داده های آماری برای تهیه تخمین برای پروژه Artificial Intelligent Systems Laboratory

Artificial Intelligent Systems Laboratory مثالی از رویکرد LOC Average 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. Artificial Intelligent Systems Laboratory

Artificial Intelligent Systems Laboratory مثالی از رویکرد FP The estimated number of FP is derived: FPestimated = count-total 3 [0.65 + 0.01 3 S (Fi)] FPestimated = 375 organizational 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. Artificial Intelligent Systems Laboratory

Artificial Intelligent Systems Laboratory تخمین مبتنی بر فرایند گرفته شده از چارچوب فرایند فعالیت های چارچوب کارکرد های برنامه کار لازم برای تکمیل هر فعالیت چارچوب برای هر کارکرد برنامه Artificial Intelligent Systems Laboratory

مثالی از تخمین برمبنای فرایند 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. Artificial Intelligent Systems Laboratory

Artificial Intelligent Systems Laboratory تخمین مبتنی بر ابزار ویژگی های پروژه فاکتورهای کالیبراسیون LOC/FP داده های Artificial Intelligent Systems Laboratory

مثالی از تخمین به کمک موارد کاربرد 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. Artificial Intelligent Systems Laboratory

Artificial Intelligent Systems Laboratory مدل های تخمین تجربی این مدل ها به فرم کلی زیر می باشند : exponent effort = tuning coefficient * size معمولا کار به صورت نفر / ماه نشان داده می شود. به صورت تجربی تعیین می شود اندازه معمولاً به صورت LOC بیان می شود ولی می توان از FP هم استفاده نمود. معمولاً یک ثابت عددی است که با توجه به پیچیدگی پروژه تعیین می گردد. Artificial Intelligent Systems Laboratory

Artificial Intelligent Systems Laboratory روش COCOMO-II COCOMO-II مجموعه ای از مدل های تخمین است که به مسائل زیر می پردازد: مدل ترکیب نرم افزار (Application Composition Model) که در مراحل اولیه توسعه نرم افزار که نمونه سازی، تعیین ارتباط نرم افزار و سیستمها، ارزیابی کارایی و تکنولوژی انجام می گیرد مورد استفاده قرار می گیرد. مدل طراحی اولیه (Early Design Model) هنگامی که نیازهای نرم افزار تقریباً ثابت شده و معماری نرم افزار تعیین گردید مورد استفاده قرار می گیرد. مدل بعد از معماری (Post-Architecture Stage Model) در حین ساخت نرم افزار مورد استفاده قرار می گیرد. Artificial Intelligent Systems Laboratory

معادله نرم افزار (The software equation) یک مدل پویا چند متغیره به صورت زیر می باشد : E = [LOC x B0.333/P]3 x (1/t4) که : E = کار بر اساس نفرماه یا نفر سال می باشد. t = زمان پروژه در قالب ماه یا سال B = فاکتور تخصص های ویژه P = Productivity فاکتور Artificial Intelligent Systems Laboratory

تخمین در پروژه های شیء گرا از تجزیه کار، تحلیل FP یا دیگر روش های عمومی استفاده کنید. مدل مورد کاربرد (Use case) سیستم را تهیه کرده و تعداد موارد کاربرد را بشمارید. کلاس های آنالیز یا کلیدی را تعیین کرده و تعداد آنها را بشمارید. انواع واسط های کاربر برای نرم افزار را تعیین کرده و برای هر کلاس پشتیبان ضریبی تعیین کنید : Interface type Multiplier No GUI 2.0 Text-based user interface 2.25 GUI 2.5 Complex GUI 3.0 Artificial Intelligent Systems Laboratory

تخمین در پروژه های شیء گرا تعداد کلاس های کلیدی را در ضریب به دست آمده از مرحله قبل ضرب کنید تا تعداد کلاس های پشتیبان به دست آید. تعداد کل کلاس ها را در میانگین واحدهای کاری برای هر کلاس ضرب کنید. (این مقدار 15 الی 20 نفر روز برای هر کلاس پیشنهاد شده است) Artificial Intelligent Systems Laboratory