欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    Disciplined Software Engineering Lecture #3.ppt

    • 资源ID:374379       资源大小:134.50KB        全文页数:62页
    • 资源格式: PPT        下载积分:2000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要2000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Disciplined Software Engineering Lecture #3.ppt

    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

    26、data the estimators must be familiar with the historically developed programs it only provides a crude sizing it is not useful for new program types it is not useful for programs much larger or smaller than the historical data,Function Point Estimating - 1,A function point is an arbitrary unit based

    27、 on application functions inputs, outputs, files, inquiries scaled by simple, average, complex For job complexity: adjust a further +/- 35%,Function Point Estimating - 2,Procedure determine numbers of each function type in the application judge the scale and complexity of each function calculate fun

    28、ction point total use historical data on development cost per function point to make the estimate multiply function points times rate to get the estimate,A Function Point Example - 1,Your new program has the following requirements analyze marketing performance by product line project the likely sale

    29、s 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 Function Point Example - 2,You first estimate the numbers of raw function points as follows: 12 inputs: 12 x 4 = 48 7 outputs: 7 x 5 = 35 0 inq

    30、uiries: 0 x 4 = 0 3 logical files: 3 x 10 = 30 2 interfaces: 2 x 7 = 14 total raw function points: 127,A Function Point Example - 3,You next adjust for influence factors: data communication: 4 on-line data entry: 4 complex processing: 3 operational ease: 5 facilitate change: 5 total influence factor

    31、s: 21Complexity multiplier = 0.65+21x0.01=0.86,A Function Point Example - 4,The function point total is thus: 127x0.86=109.22Using historical data on hours per function point, calculate the development time for the project.,Function Point Advantages,The advantages of function points are: they are us

    32、able in the earliest requirements phases they are independent of programming language, product design, or development style there exists a large body of historical data it is a well documented method there is an active users group,Function Point Disadvantages,The disadvantages of function points are

    33、: you cannot directly count an existing products function point content without historical data, it is difficult to improve estimating skill function points do not reflect language, design, or style differences function points are designed for estimating commercial data processing applications,Stand

    34、ard Component Sizing - 1,Establish the principal product size levels components, modules, screens, etc. determine typical sizes of each level For a new product: determine the component level at which estimation is practical estimate how many of those components will likely be in the product determin

    35、e the maximum and minimum numbers possible,Standard Component Sizing - 2,Calculate the size as the number of components of each type times typical sizes of each type total to give sizeCalculate for the maximum, minimum, and likely numbers of components.Calculate size as: maximum+4*(likely)+minimum/6

    36、,Standard Component Sizing Example - 1,Your new program has the following requirements: analyze marketing performance by product line project the likely sales in each product category allocate these sales to marketing regions and time periods produce a monthly report of these projections and the act

    37、ual results,Standard Component Sizing - Example - 2,You have the following historical data on a number of standard components data input component: 1,108 LOC output component: 675 LOC file component: 1,585 LOC control component: 2,550 LOC computation component: 475 LOC,Standard Component Sizing - Ex

    38、ample - 3,First, estimate the minimum, likely, and maximum numbers of components like these in the new product data input component: 1, 4, 7 output component: 1, 3, 5 file component: 2, 4, 8 control component: 1, 2, 3 computation component: 1, 3, 7,Standard Component Sizing - Example - 4,Second, cal

    39、culate the minimum, likely, and maximum size of the product components data input component: 1108, 4432, 7756 output component: 675, 2025, 3375 file component: 3170, 6340, 12680 control component: 2550, 5100, 7650 computation component: 475, 1425, 3325,Standard Component Sizing - Example - 5,Third,

    40、calculate the minimum, likely, and maximum LOC of the new product minimum: 7,978 likely: 13,616 maximum: 34,786The size estimate is then LOC = (7978+4*13616+34786)/6 = 16,205 LOC the standard deviation is (34786-7978)/6=4468 the estimate range is: 11,737 to 20,673 LOC,Standard Component Sizing - Adv

    41、antages and Disadvantages,Advantages based on relevant historical data easy to use requires no special tools or training provides a rough estimate rangeDisadvantages must use large components early in a project limited data on large components,Delphi Size Estimating,Uses several estimators each make

    42、s an independent estimate each submits estimate to a coordinatorCoordinator calculates average estimate enters on form: average, other estimates (anonymous), and previous estimateWhen reestimates stabilize average is the estimate range is range of original estimates,Delphi Example - 1,3 estimators a

    43、re asked to estimate the product.Their initial estimates areA - 13,800 LOCB - 15,700 LOCC - 21,000 LOCThe coordinator then calculates average estimate as 16,833 LOC returns this with their original estimates to the estimators,Delphi Example - 2,The estimators then meet and discuss the estimates. The

    44、ir second estimates areA - 18,500 LOCB - 19,500 LOCC - 20,000 LOCThe coordinator then calculates average estimate as 19,333 LOC asks the estimators if they agree with this as the estimate,Delphi Size Estimating - 2,Advantages can produce very accurate results utilizes organizations skills can work f

    45、or any sized productDisadvantages relies on a few experts is time consuming is subject to common biases,Size Estimating Proxies - 1,The basic issue good size measures are detailed early estimators rarely can think in detail Alternatives wait to estimate until you have the detail make your best guess

    46、 identify a suitable proxy,Size Estimating Proxies - 2,A good proxy should correlate closely to development costs.A good proxy would be easy to visualize early in development.It should also be a physical entity that can be counted.,Example Proxies,Function pointsObjectsProduct elements components sc

    47、reens, reports, scripts, files book chapters,Function Points as Proxies - 1,Data show that function point counts correlate well with development time.Function points can be visualized early in development.To use function points properly, trained estimators are required.,Function Points as Proxies -

    48、2,Function points cannot directly be counted.Conversion factors are available for counting LOC and calculating function points from the LOC value.The function point users group (IFPUG) is refining the function point method.,Standard Components as Proxies,Component count correlation with development

    49、depends on the components.A lot of development data is required.Component counts are hard to visualize early in development.Components are machine countable.,Objects as Proxies - 1,Correlation with development hours numbers of objects correlate reasonably well object lines of code (LOC) correlate ve

    50、ry closely object LOC can be estimated using the standard component estimating method then calculate LOC estimate from historical relationship between object LOC and program LOC,Objects as Proxies - 2,When objects are selected as application entities, they can be visualized early in development.Functions and procedures can often be estimated in the same way.Objects, functions, procedures, and their LOC can be automatically counted.,


    注意事项

    本文(Disciplined Software Engineering Lecture #3.ppt)为本站会员(livefirmly316)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开