圆满的满
软件技术是一个发展变化非常快的行业,软件人才要按照企业和领域需求来确定培养的方向。下面是由我整理的软件技术论文范文,谢谢你的阅读。
浅谈软件项目估算技术
摘 要:由于软件产品自身的特殊性,导致软件项目的估算工作进行困难,估算结果准确性差。为了解决这一问题,产生了很多不同的软件项目估算技术,本文对各种估算技术的主要思想及其优缺点进行简单的阐述。尤其是对功能点估算技术,本文做了详细的介绍,并通过实例加以说明其应用方法。
关键词:规模估算;成本估算;实例应用
中图分类号:
软件项目的估算历来是比较复杂的事,因为软件本身的复杂性、历史经验的缺乏、估算工具缺乏以及一些人为错误,导致软件项目的估算往往和实际情况相差甚远。因此,估算错误已被列入软件项目失败的四大原因之一。由此,也证明了正确对软件项目进行估算是何等重要。
在软件项目管理中,估算就是对项目将持续多长时间或花费多少成本的预测。所以说,估算正是一种对未来的预测。从这里也看以看出估算的重点就在“工作量估算”或“成本估算”,而在对这两者进行估算的过程中大多数情况下都少不了“软件规模”这个条件,所以本文将软件估算分为两种类型,第一个种是软件项目规模的估算,第二种是将估算得出的规模转换为工作量的估算或成本的估算。目前使用比较广泛的规模估算技术,如:代码行估算技术、功能点估算技术;而使用比较广泛的成本估算技术,如:COCOMO算法模型估算技术。
除了上述所列举的几种技术外,还有几种估算技术既可以用于估算规模,也可直接应用与估算工作量或估算成本,如:Delphi估算法、类比估算技术、PERT估算技术。这几种估算技术不似前面所列的技术,比较有针对行,且有具体的计算过程、计算公式。这几种技术只是一种思想,依据某个选定的科目进行估算。下面本文将简单介绍上述提到的几种估算技术,并通过具体的实例重点阐述功能点估算技术。
1 估算技术简介
代码行估算技术。代码行(LOC)指所有的可执行的源代码行数,包括可交付的工作控制语言(JCL:Job Control Language)语句、数据定义、数据类型声明、等价声明、输入/输出格式声明等[1]。代码行估算技术主要是估算软件的规模,即通过该技术估算待研发软件项目有多少行代码。一般为了方便表示,使用较大的单位千代码行(KLOC)来表示待研发软件项目的规模大小。这种方法比较适用于有经验积累和开发模式稳定的公司。如果是新成立公司,使用这种估算技术则会存在很大误差,加大项目失败的风险。
功能点估算技术。功能点法是一种经过实践验证的方法,但应用成本很高,估算的工作量投入也较大。功能点估算技术最终结果是规模,仍然需要知道项目的生产率数据才能得出实际的工作量。功能点估算技术将系统功能分为输入、输出、查询、外部文件和内部文件5种类型。其中,输入是一个数据跨越系统边界,从外部到内部的基本数据处理过程。数据的来源可以是人机输入界面/接口,或是另一个应用系统;输出是一个衍生数据跨越系统边界,从内部到外部的基本数据处理过程。这些输出的数据可能会产生报表,或发到其他外部系统的输出文件;查询是一个不包含衍生数据和数据维护的基本数据处理过程,包括输入和输出两部分;内部文件存在于系统边界之内,用户可识别的一组逻辑上相互关联的数据;外部文件存在于系统边界之外,用户可识别的一组逻辑上相互关联的数据。使用功能点估算技术估算的大概步骤为:
(1)通过需求分析将系统功能按照上述5种类型进行分类。
(2)分析每个功能项的复杂程度,大致分为一般、简单、复杂三种类型,每一种类型都对应一个权重值,具体如表1。
(3)根据每个功能项的复杂权重值,求出功能项的加权和,即为未调整功能点数(UFC)。
(4)分析该系统的技术复杂度,功能点估算将与系统相关的技术影响因素分为14组(用Ai表示),每个分为6个级别,权重分别从0至5。根据分析结果及公式计算技术复杂度因子(TCF),即TCF=(SUM(Ai))。
(5)将UFC与TCF相乘即为功能点数。
COCOMO算法模型。Cocomo模像是一个分层次的系列软件成本估算模型,包括基本模型、中级模型和详细模型3个子模型。3个模型采用同一个计算公式,即E=asb×EAF[2]。其中,E是以人月为单位的工作量;S是以KLOC为单位的程序规模;EAF是一个工作量调整因子,在基本模型中该项值为1,中级模型和详细模型中根据成本驱动因素确定;a和b是随开发模式而变化的因子,这里开发模式被分为3中类型,即有机式、半分离式和嵌入式。
Cocomo算法模型是一种精确易用的估算方法,如果项目没有足够多的历史数据,会使得各调整因子和系数很难确定,进而使得估算比较困难。但是一旦项目建立起这种模型,则通过Cocomo模型得出的项目工作量和项目周期具有更高的准确度。
Delphi估算技术。Delphi估算技术又被成为专家估算技术,它是由一个被认为是该任务专家的人来进行估算,且估算过程很大一部分是基于不清晰,不可重复的推理过程,也就是直觉。所以该技术中专家“专”的程度及对项目的理解程度是该技术的重点,也是难点,它的好坏直接影响估算结果的准确程度。
Delphi估算技术估算过程并不像功能点估算技术或COCOMO算法模型那样,有明确的计算方法或计算公式。它是将待估算的项目的相关信息发给专家,专家估算后由专门的负责人进行汇总,然后再发给专家估算,反复几次后得到一个估算结果,可见只是一种思想,所以它除了用来估算规模,也可以用来估算成本、风险等,即对选定的某个科目进行估算。
类比估算技术。“类比估算”,顾名思义是通过同以往类似项目(如应用领域、环境和复杂程度等)相比较得出估算结果。类比估算技术是一种粗略的估算方法,它估算结果的精确度取决于历史项目数据的完整性和准确度。类比估算技术与Delphi估算技术类似,它的用途不仅仅用在规模估算上,也可以估算成本、工作量等。 PERT估算技术。PERT估算技术,又称为计划评审估算技术,它对需要估算的科目(如规模、成本、工期等)按三种不同情况估算:一个乐观估算结果,一个最可能估算结果,一个悲观估算结果。再通过这三个结果计算得到一个期望规模和标准偏差。这种估算技术可以用于估算规模,同样也可以用于估算工期,相比较来说PERT技术估算的结果比类比估算技术的结果要更准确。
2 功能点估算技术应用实例
假设某员工管理系统,经过需求分析得知,该系统所包含功能如下:
(1)员工信息维护:添加员工、修改员工信息、查询员工信息;
(2)部门信息维护:添加部门、修改部门信息;
(3)工资统计:统计员工年薪,并打印输出。
其中,在该系统中添加一个员工资料,会使用到员工的基本信息:员工ID(标签控件)、姓名、性别、年龄、婚否、部门ID;教育情况:学校名称、所学专业、学历。对部门的维护会使用到部门的信息:部门ID(标签控件)、部门名称。员工工资信息由另外一个财务系统提供,工资表信息有员工的基本信息:员工ID(标签控件)、姓名、部门名称;工资信息:工资级别、工资金额。
根据功能点估算技术估算步骤,首先计算未调整功能点数,即各种类型功能项的加权和,分析该系统6个功能项所属类型及其复杂权重值如表2:
假设该项目的14个技术复杂度因子均为“有一定影响”,即权重值均为2,则该项目功能点数为:FP=45×(×14×2)=。如果知道该项目使用何种语言,可以将功能点数转换为代码行数。
3 结语
本文对目前比较流行的几种软件项目估算技术做了简单介绍。重点讲述了功能点估算技术,并通过一个实例演示了功能点估算技术的应用方法。通过本文描述可以看出每种项目估算技术都有其自己的优缺点,如果想要得到比较准确的估算结果,不能仅靠一种估算技术,而应该综合运用各种估算技术,才能得到比较全面的信息和比较准确的结果。目前,也有一些基于这些估算技术的思想的自动化估算工具产生,相信通过不断的发展,将解决软件项目成本估算难的问题。
参考文献:
[1]朱少民.软件项目管理[M].北京:清华大学出版社,2009-11.
[2]覃征等.软件项目管理[M].北京:清华大学出版社,2004.
[3]李明树,何梅,杨达,舒风笛,王青.软件成本估算方法及应用[J].Journal of Software,, , April 2007,775-795.
[4]The David Consulting Group ,Function Point Counting Practices Manual Release ,January 2005,
[5]刘谦.软件项目估算方法在敏捷开发中的实践.中国管理网,2010-06-18.
作者简介:王颖,女,研究生,软件工程专业;江文焱,男,研究生,软件工程专业。
点击下页还有更多>>>软件技术论文范文
恋水无痕
软件工程硕士论文要求与模板
软件工程硕士论文要求有哪些,有具体的模板可以借鉴吗?下面是我为大家收集的关于软件工程硕士论文要求与模板,欢迎大家阅读借鉴!
软件工程硕士论文要求主要包括:字数要求与书写格式要求,一般软件工程专业研究生论文字数要求3万--5万之间,字数太少无法将课题研究透彻,字数过多会显得繁杂,因此,在撰写软件工程硕士论文时,要抓住研究核心,阐述清楚研究问题,适当减少一些常识性知识,特别重要的常识原理,可以在附录中体现;其次论文完成后,要按照论文格式标准进行排版,具体格式要求见下:
1 软件工程硕士论文基本结构
软件工程硕士论文基本结构包括前置部分、主体部分和结尾部分。
前置部分
(1) 封面
(2) 原创性声明和《中国优秀博硕学位论文全文数据库》投稿声明
(3) 序或前言(可根据需要)
(4) 摘要及关键词
(5) 目次页
(6) 插图和附表清单(可根据需要)
(7) 符号、标志、缩略词、首字母缩写、计量单位、名词、术语等的注释表(可根据需要)
主体部分
(1) 引言(或绪论)
(2) 正文
(3) 结论
(4) 参考文献
(5) 注释(可根据需要)
(6) 附录(可根据需要)
结尾部分
(1) 作者简介及在学期间所取得的科研成果
(2) 后记和致谢
(3) 封底
2 软件工程硕士论文编写规范与要求
前置部分
封面
封面(含扉页)包括以下要素:
论文分类号:采用《中国图书资料分类法》(第四版),可到图书馆查询。
单位代码: ××××。
密级:密级一般设定为公开,涉密级别分为秘密、机密、绝密。凡涉密论文需根据《××大学研究生涉密论文暂行规定》(校研院字[2007]18号)办理审批手续。
研究生学号:填写由研究生管理处统一编排的研究生学号。
学位类别:按申请专业的学科门类和学位级别进行分类。
专业学位直接写上专业学位名称,“软件工程硕士”.
校徽:蓝色,大小为3×3cm.
论文题目:应准确反映论文的核心内容,简明扼要,必要时可加副标题。论文题目(包括副标题)总长度不要超过30个汉字。论文题目需同时翻译成英文,写在汉语题目之下。论文题目在封面中间居中排列。
作者姓名:姓名所使用的汉字必须与本人有效身份证件完全一致。
专业名称:必须严格按照“研究生教育管理信息系统”中的专业名称填写,不得使用简称。
导师姓名:导师姓名后附职称,姓名与职称之间应空一个汉字的位置。
培养单位:填写研究生的具体培养单位,“计算机科学与技术学院”.
论文完成时间:在论文封面下部,居中填写论文打印成稿的年月。
××××大学博士、硕士学位论文封面及扉页格式请分别参考学院论文封面格式样本。
原创性声明和《中国优秀博硕学位论文全文数据库》投稿声明
本部分使用统一的'格式,具体内容见附件。
序或前言
学位论文的序或前言,一般是作者对本篇论文基本特征的简介,如说明研究工作缘起、背景、主旨、目的、意义、编写体例,以及资助、支持、协作经过等。这些内容也可以在正文引言(或绪论)中说明。
摘要及关键词
摘要是对论文主要内容的概述,是一篇完整的短文,可以独立使用。摘要应阐明研究的目的,所获得的主要成果,学位论文的论点及论据。同时也应客观地阐述成果的创造性及新发现、新见解和所取得的成果在研究领域中的地位、意义及其价值。除了实在无变通办法可用以外,摘要中不用图、表、化学结构式、非公知公用的符号和术语。硕士学位论文摘要以汉字1000字左右为宜,博士学位论文摘要以汉字2000字左右为宜。学位论文摘要分为中文摘要和英文摘要。英文摘要根据中文摘要进行翻译。
在中、英文摘要之后要附关键词。关键词是为了文献索引而从学位论文中选取出来的、用以表示全文主题内容信息的单词或术语。一般选用3-8个关键词,要求所选词汇能准确反映概括全文的主要内容。
使用非汉语语言撰写的学位论文,应写出详细的中文摘要,硕士中文摘要不少于3000字,博士中文摘要不少于5000字。
目次页
论文中内容标题的集合,另起页。目次页每行均由标题名称和页码组成,包括引言(或前言),主要内容的篇、章、条、款、项序号和标题,小结,(引文)参考文献、注释、附录,可供参考的文献题录、索引等。
插图和附表清单
论文中如图表较多,可以分别列出清单置于目次页之后。图的清单应有序号、图题和页码。表的清单应有序号、表题和页码。
符号、标志、缩略词、首字母缩写、计量单位、名词、术语等的注释表
符号、标志、缩略词、首字母缩写、计量单位、名词、术语等的注释说明,如需汇集,可集中置于图表清单之后。
有。软考论文摘要通常要求字数在200字以上,500字以下,正文通常要求字数在2500字左右,在论文写作的方格纸上会有字数提醒。软考论文是有字数要求的,写作要求如
软件技术是一个发展变化非常快的行业,软件人才要按照企业和领域需求来确定培养的方向。下面是由我整理的软件技术论文范文,谢谢你的阅读。 浅谈软件项目估算技术 摘 要
软件前景还是很不错的。我国进入新时代了,对第三产业,服务业需求日益增多,大家花在手机上的时间也越来越多这些都需要软件提供服务,不断发展的文化产业对软件需要也很多
不是课程设计啊
软件工程硕士的论文在 轻风论文网 很多的哦,你可以参考下,如果还有不清楚的地方,可以咨询下他们的在线辅导老师,我之前也是求助他们帮忙的,很快就给我了,当时还是