Disciplined Software Engineering Lecture #3.ppt
《Disciplined Software Engineering Lecture #3.ppt》由会员分享,可在线阅读,更多相关《Disciplined Software Engineering Lecture #3.ppt(62页珍藏版)》请在麦多课文档分享上搜索。
1、Disciplined Software Engineering Lecture #3,Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213Sponsored by the U.S. Department of Defense,Lecture #3 Overview - Size Estimating - 1,Why estimate size?Some estimating backgroundSize estimating principlesEstimating approachesE
2、stimating proxies,Metrics,Measuring the output of a process is the first step to analyzing the process. Automobile companies measure how many manufacturing hours go into producing a car. As with any measurement, there are problems. You are trying to summarize a great deal of information into a singl
3、e or small number of values. How much does the high and low temperatures really tell you about the weather, or the barometric pressure, or the wind direction. Looking at any one of these measures it is easy to find flaws, and short comings. Should the temperature be recorded at ground level? or a to
4、p a central tower? in the shade or in the sunlight.,Lines-of-code,What unit of measure should be used to measure software output? The traditional and much maligned metric is called lines-of-code or LOC. A summary of concerns with LOC: Capers Jones notes: 1) should the code count include non-executab
5、le code, such as comments, or explanatory information. 2) how are differences between high-level and low-level languages represented. 3) Whether non-delivered code should be represented in a LOC count. So, it appears that LOC counts may not be the best way to measure software development output.,Fun
6、ction Points,If not LOC, then what? Many other metrics have been developed. Most of these metrics have major flaws. Albrecht developed Function Point Analysis (FPA) in the late 70s This method assumes that “the amount of function to be provided by the application (program) can be estimated from an i
7、temization of the major components of data to be used or provided by it”. Albrecht believes that the complexity of a software project is determined by the functions of the software.,More on Function Points,FPA breaks the functionality of a software project into five areas. Then for each area, the nu
8、mber of simple, average, and complex functions is determined, followed by a technical complexity factor calculated from 14 software system characteristics. These 14 characteristics are tied to Halsteads Software Science Metrics which are tied to Putnams cost estimation models, which are based on Nor
9、dens Rayleigh Curve model first published in the late 50s based on computer hardware development.,So LOC is not so bad after all,A big problem with Rayleigh Curves is that for early software development data, the curves appear to fit, but no one can explain why. Beside that fact that function points
10、 have a shaky theoretical background, it is much harder to generate function points than LOC, therefore few use them. Like the imperial measurement system, it is clearly inferior to the metric system, however, until people use the metric system, it will be of little relevance to most people. Therefo
11、re, we will proceed with using line-of-code, being careful to minimize Jones issues,How long will the project take?,Estimate of the size of a project Lines of code Function points Person-months Based on requirements and experience or mathematical model,Why Estimate Size?,To make better plans to bett
12、er size the job to divide the job into separable elementsTo assist in tracking progress can judge when job scope changes can better measure the workValue in this course learn estimating methods build estimating skills,Estimating Background,Estimating models in other fields large base of history in w
13、ide use generate detailed planning data require a size estimate as inputSoftware size estimating experience 100% + errors are normal few developers make estimates fewer still use orderly methods,Size Estimating Principles - 1,Estimating is an uncertain process. no one knows how big the product will
14、be the earlier the estimate, the less is known estimates can be biased by business and other pressuresEstimating is an intuitive learning process. ability improves with experience and data some people will be better at estimating than others,Estimating is a skill. improvement will be gradual you may
15、 never get very goodThe objective, however, is to get consistent. you will then understand the variability of your estimates you seek an even balance between under and over estimates,Size Estimating Principles - 2,The principal advantages of using a defined estimating method are you have known pract
16、ices that you can work to improve it provides a framework for gathering estimating data by using consistent methods and historical data, your estimates will get more consistent,Size Estimating Principles - 3,The Size Estimating Framework,Estimating Approaches,Fuzzy logicFunction pointsStandard compo
17、nentsDelphi,Fuzzy Logic Size Estimating - 1,Gather size data on previously developed programsSubdivide these data into size categories: very large, large, medium, small, very small establish size ranges include all existing and expected productsSubdivide each range into subcategories,Fuzzy Logic Siz
18、e Estimating - 2,Allocate the available data to the categories.Establish subcategory size ranges.When estimating a new program, judge which category and subcategory it most closely resembles.,A Fuzzy Logic Example - 1,You have historical data on 5 programs as follows: a file utility of 1,844 LOC a f
19、ile management program of 5,834 LOC a personnel record keeping program of 6,845 LOC a report generating package of 18,386 LOC an inventory management program of 25,943 LOC,A Fuzzy Logic Example - 2,You thus establish 5 size ranges, as follows log(1844) = 3.266 log(25,943) = 4.414 the difference is 1
20、.148 1/4th this difference is 0.287 the logs of the five ranges are thus spaced 0.287 apart the limits or these ranges are at 0.1435 above and below the midpoint of each range,A Fuzzy Logic Example - 3,The 5 size ranges are thus very small - 1,325 to 2,566: file utility small - 2,566 to 4,970: no me
21、mbers medium - 4,970 to 9,626: file management and personnel record program large - 9,626 to 18,641: report generator very large - 18,641 to 36,104: inventory management,A Fuzzy Logic Example - 4,Your new program has the following requirements analyze marketing performance by product line project th
22、e likely sales in each product category allocate these sales to marketing regions and time periods produce a monthly report of these projections and the actual results,A Fuzzy Logic Example - 5,In comparing the new program to the historical data you make the following judgments it is a substantially
23、 more complex application than either the file management or personnel programs it is not as complex as the inventory management program it appears to have significantly more function than the report package You conclude that the new program is in the lower end of “very large,” or from 18 to 25 KLOC
24、.,Fuzzy Logic - Summary,To make a fuzzy logic estimate:1 - Divide the historical product size data into size ranges.2 - Compare the planned product with these prior products.3 - Based on this comparison, select the size that seems most appropriate for the new product.,Fuzzy Logic Size Estimating - A
25、dvantages,Fuzzy logic estimating is based on relevant historical data is easy to use requires no special tools or training provides reasonably good estimates where new work is like prior experience,Fuzzy Logic Size Estimating - Disadvantages,The disadvantages of fuzzy logic are it requires a lot of
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DISCIPLINEDSOFTWAREENGINEERINGLECTURE3PPT
