Notes 2/7/2014 cs562 - Software Engineering II Last time we covered Effort/Time estimation Including GQM, Time estimation with past experience, COCOMO, COCOMO II, and Function Points This time we will look at OO function estimation and Project status tracking with earned value. OO Function estimation 1. Est. the # of classes 2. Categorize UIs No UI 2.0 Text-based 2.2 GUI 2.5 Complex 3.0 3. Compute #UI classes = # of non-UI classes * UI categorization 4. #classes = #UI classes + # of non-UI classes 5. Multiply the total number of classes by a value between 15 and 20 to determine the number of person-days required 3 tasks , 10, 15, 30 person months Calc bcw Effort so far Budgeted cost of work (BCW) - estimated effort for each task Budgeted cost of work scheduled (BCWS) - sum of estimated efforts sum(BCW) at date Budget at completion (BAC) - sum (BCW) Budgeted cost of work performed (BCWP) - sum (estimated effort for completed tasks) on particular date Actual cost of work performed (ACWP) - sum (actual effort for completed tasks) on particular date Earned Value = BCWP/BAC Cost Variance = BCWP - ACWP Schedule Variance = BCWP - BCWS Evidence Based Scheduling Base scheduling upon past experiences We will also look at project management and risk assessment Project management is different from software engineering in that it follows a management process to ensure the software engineering process is followed. Includes Planning, Organizing, Monitoring, and Adjusting Planning Want to satisfy customer needs Include all desired project attributes Hit target milestones Ensure team members operate effectively and with high morale Make sure required tools/resources are available and effectively utilized In planning phase answer following questions What is the nature of the SW project, who is sponsoring the project, who are users? Requirements Delieverables? Known risks? It is helpful to quantify goals What is high quality? What is high reliability? Etc. Want Risk identification Risk prioritization Risk mitigation Organizing Tools to use Tasks and schedule Content and deliverables Goals and measurement Risks Monitoring, including the following helps to deal with risk Collection of project information Analysis and evaluation of the collected data Presentation and communication of this information How to monitor? Trend analysis and control charts Data correlation and regression analysis Moving averages and data smoothing Model building for interpolation and extrapolation Useful tools include Pie charts Histograms Bar charts Adjusting Resources Schedule Project content