面向对象软件成本估算方法比较

D. Foley, Brenda K. Wetzel
{"title":"面向对象软件成本估算方法比较","authors":"D. Foley, Brenda K. Wetzel","doi":"10.1080/1941658X.2008.10462210","DOIUrl":null,"url":null,"abstract":"Executive Summary Most commonly available software cost estimation methodologies and tools use either source lines of code (SLOC) or function point (FP) measures as the basis for the estimate. While these methodologies and tools may suffice for software projects that use structured software development techniques, when object-oriented (OO) techniques such as use-case modeling are employed, it is more effective to use a methodology that takes advantage of the information provided by the use cases, scenarios, and more in-depth object-oriented metrics. Furthermore, as an organization becomes proficient in developing object-oriented system software, the traditional metrics of SLOC and FPs become less useful because each individual line of code becomes less likely to be like the others. Using use cases as the basis for effort estimation is a valuable addition to the tools available to a project manager, particularly for those projects where use cases are produced as part of the life-cycle process. Though use cases have a wide range of interpretation, which makes it difficult for them to be used confidently as a sizing metric outside a relatively uniform group of applications and practitioners, with standardization similar to that used for function point analysis, this method has the potential to become a mature and widely accepted estimation tool. More in-depth OO metrics, such as the number of top-level classes, weighted methods per class, average depth of inheritance tree, and number of children per base class, can provide a more accurate estimate of the resulting effort required to build the system, but these metrics are typically not available until a little further along in the system life cycle — the high-level design. Virtually every estimation method is susceptible to error and requires accurate historical data for productivity to be useful within the context of an organization. A critical consideration for any estimation model and tool is the ability to calibrate the results to reflect an individual organization's historical productivity data. Other considerations for an effective estimation model and tool include a relatively minimal amount of formal training to use the tool, well-defined sizing inputs (to include a wizard and/or an automated data import/export mechanism), visibility into the estimating algorithm, and adequate documentation. An effective tool provides early estimates that can be refined as more data and detail are developed, provides accurate estimates, and allows for variation in resource expertise, application languages, platform, and reuse. Research on the effectiveness of using OO metrics to estimate effort and schedule is on-going, and validation is still in its infancy. OO size estimation models are continuing to evolve, along with automated tools to support the model calculations. Key to the effective use of these models and tools is the ability to capture project data from the tools that are used to document and analyze the system requirements. Studies have continued to show that using any structured, automated method for software cost estimation is more accurate than unaided developer ad hoc estimates. An immature OO estimation tool is still a worthwhile complement to existing tools based on SLOC and FPs.","PeriodicalId":390877,"journal":{"name":"Journal of Cost Analysis and Parametrics","volume":"20 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Object-Oriented Software Cost Estimation Methodologies Compared\",\"authors\":\"D. Foley, Brenda K. Wetzel\",\"doi\":\"10.1080/1941658X.2008.10462210\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Executive Summary Most commonly available software cost estimation methodologies and tools use either source lines of code (SLOC) or function point (FP) measures as the basis for the estimate. While these methodologies and tools may suffice for software projects that use structured software development techniques, when object-oriented (OO) techniques such as use-case modeling are employed, it is more effective to use a methodology that takes advantage of the information provided by the use cases, scenarios, and more in-depth object-oriented metrics. Furthermore, as an organization becomes proficient in developing object-oriented system software, the traditional metrics of SLOC and FPs become less useful because each individual line of code becomes less likely to be like the others. Using use cases as the basis for effort estimation is a valuable addition to the tools available to a project manager, particularly for those projects where use cases are produced as part of the life-cycle process. Though use cases have a wide range of interpretation, which makes it difficult for them to be used confidently as a sizing metric outside a relatively uniform group of applications and practitioners, with standardization similar to that used for function point analysis, this method has the potential to become a mature and widely accepted estimation tool. More in-depth OO metrics, such as the number of top-level classes, weighted methods per class, average depth of inheritance tree, and number of children per base class, can provide a more accurate estimate of the resulting effort required to build the system, but these metrics are typically not available until a little further along in the system life cycle — the high-level design. Virtually every estimation method is susceptible to error and requires accurate historical data for productivity to be useful within the context of an organization. A critical consideration for any estimation model and tool is the ability to calibrate the results to reflect an individual organization's historical productivity data. Other considerations for an effective estimation model and tool include a relatively minimal amount of formal training to use the tool, well-defined sizing inputs (to include a wizard and/or an automated data import/export mechanism), visibility into the estimating algorithm, and adequate documentation. An effective tool provides early estimates that can be refined as more data and detail are developed, provides accurate estimates, and allows for variation in resource expertise, application languages, platform, and reuse. Research on the effectiveness of using OO metrics to estimate effort and schedule is on-going, and validation is still in its infancy. OO size estimation models are continuing to evolve, along with automated tools to support the model calculations. Key to the effective use of these models and tools is the ability to capture project data from the tools that are used to document and analyze the system requirements. Studies have continued to show that using any structured, automated method for software cost estimation is more accurate than unaided developer ad hoc estimates. An immature OO estimation tool is still a worthwhile complement to existing tools based on SLOC and FPs.\",\"PeriodicalId\":390877,\"journal\":{\"name\":\"Journal of Cost Analysis and Parametrics\",\"volume\":\"20 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2008-03-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Journal of Cost Analysis and Parametrics\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1080/1941658X.2008.10462210\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Cost Analysis and Parametrics","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1080/1941658X.2008.10462210","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

摘要

大多数常用的软件成本估算方法和工具使用源代码行(SLOC)或功能点(FP)度量作为估算的基础。虽然这些方法和工具可能足以满足使用结构化软件开发技术的软件项目,但是当使用面向对象(OO)技术(例如用例建模)时,使用利用由用例、场景和更深入的面向对象度量提供的信息的方法会更有效。此外,当一个组织精通开发面向对象的系统软件时,SLOC和FPs的传统度量变得不那么有用,因为每一行代码变得不太可能像其他代码一样。使用用例作为工作量估计的基础是对项目经理可用的工具的有价值的补充,特别是对于那些用例作为生命周期过程的一部分产生的项目。尽管用例具有广泛的解释范围,这使得它们很难在相对统一的应用程序和实践者群体之外被自信地用作规模度量标准,并且与用于功能点分析的标准化类似,但该方法具有成为成熟且被广泛接受的评估工具的潜力。更深入的OO指标,例如顶级类的数量、每个类的加权方法、继承树的平均深度和每个基类的子类数量,可以提供构建系统所需的最终工作量的更准确的估计,但是这些指标通常要到系统生命周期的较远阶段——高级设计阶段才可用。实际上,每一种评估方法都容易出错,并且需要准确的历史数据才能使生产力在组织环境中发挥作用。任何评估模型和工具的关键考虑因素是校准结果以反映单个组织的历史生产力数据的能力。对于有效的评估模型和工具的其他考虑因素包括使用该工具的相对最少的正式培训,定义良好的大小输入(包括向导和/或自动数据导入/导出机制),对评估算法的可见性,以及足够的文档。一个有效的工具提供早期的估计,可以随着开发更多的数据和细节进行细化,提供准确的估计,并允许资源专业知识、应用程序语言、平台和重用方面的变化。关于使用OO度量来估计工作量和进度的有效性的研究正在进行中,而验证仍处于起步阶段。OO大小估计模型正在继续发展,同时还有自动化工具来支持模型计算。有效使用这些模型和工具的关键是从用于记录和分析系统需求的工具中获取项目数据的能力。研究继续表明,使用任何结构化的、自动化的软件成本估算方法都比独立的开发人员特别估算更准确。对于基于SLOC和FPs的现有工具来说,一个不成熟的OO评估工具仍然是一个有价值的补充。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Object-Oriented Software Cost Estimation Methodologies Compared
Executive Summary Most commonly available software cost estimation methodologies and tools use either source lines of code (SLOC) or function point (FP) measures as the basis for the estimate. While these methodologies and tools may suffice for software projects that use structured software development techniques, when object-oriented (OO) techniques such as use-case modeling are employed, it is more effective to use a methodology that takes advantage of the information provided by the use cases, scenarios, and more in-depth object-oriented metrics. Furthermore, as an organization becomes proficient in developing object-oriented system software, the traditional metrics of SLOC and FPs become less useful because each individual line of code becomes less likely to be like the others. Using use cases as the basis for effort estimation is a valuable addition to the tools available to a project manager, particularly for those projects where use cases are produced as part of the life-cycle process. Though use cases have a wide range of interpretation, which makes it difficult for them to be used confidently as a sizing metric outside a relatively uniform group of applications and practitioners, with standardization similar to that used for function point analysis, this method has the potential to become a mature and widely accepted estimation tool. More in-depth OO metrics, such as the number of top-level classes, weighted methods per class, average depth of inheritance tree, and number of children per base class, can provide a more accurate estimate of the resulting effort required to build the system, but these metrics are typically not available until a little further along in the system life cycle — the high-level design. Virtually every estimation method is susceptible to error and requires accurate historical data for productivity to be useful within the context of an organization. A critical consideration for any estimation model and tool is the ability to calibrate the results to reflect an individual organization's historical productivity data. Other considerations for an effective estimation model and tool include a relatively minimal amount of formal training to use the tool, well-defined sizing inputs (to include a wizard and/or an automated data import/export mechanism), visibility into the estimating algorithm, and adequate documentation. An effective tool provides early estimates that can be refined as more data and detail are developed, provides accurate estimates, and allows for variation in resource expertise, application languages, platform, and reuse. Research on the effectiveness of using OO metrics to estimate effort and schedule is on-going, and validation is still in its infancy. OO size estimation models are continuing to evolve, along with automated tools to support the model calculations. Key to the effective use of these models and tools is the ability to capture project data from the tools that are used to document and analyze the system requirements. Studies have continued to show that using any structured, automated method for software cost estimation is more accurate than unaided developer ad hoc estimates. An immature OO estimation tool is still a worthwhile complement to existing tools based on SLOC and FPs.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Editorial Board EOV Multiproduct Cost-Volume-Profit Model: A Resource Reallocation Approach for Decision Making Dynamics of New Building Construction Costs: Implications for Forecasting Escalation Allowances Balancing Expert Opinion and Historical Data: The Case of Baseball Umpires Using Robust Statistical Methodology to Evaluate the Cost Performance of Project Delivery Systems: A Case Study of Horizontal Construction
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1