• 回答数

    3

  • 浏览数

    227

爱吃爱玩007
首页 > 期刊论文 > 计算机软件工程论文范文

3个回答 默认排序
  • 默认排序
  • 按时间排序

金吉小酉子

已采纳

免费查阅文献的刊物,你可以看看(计算机科学与应用)等等这些

325 评论

momohana0217

软件技术是一个发展变化非常快的行业,软件人才要按照企业和领域需求来确定培养的方向。下面是由我整理的软件技术论文范文,谢谢你的阅读。

浅谈软件项目估算技术

摘 要:由于软件产品自身的特殊性,导致软件项目的估算工作进行困难,估算结果准确性差。为了解决这一问题,产生了很多不同的软件项目估算技术,本文对各种估算技术的主要思想及其优缺点进行简单的阐述。尤其是对功能点估算技术,本文做了详细的介绍,并通过实例加以说明其应用方法。

关键词:规模估算;成本估算;实例应用

中图分类号:

软件项目的估算历来是比较复杂的事,因为软件本身的复杂性、历史经验的缺乏、估算工具缺乏以及一些人为错误,导致软件项目的估算往往和实际情况相差甚远。因此,估算错误已被列入软件项目失败的四大原因之一。由此,也证明了正确对软件项目进行估算是何等重要。

在软件项目管理中,估算就是对项目将持续多长时间或花费多少成本的预测。所以说,估算正是一种对未来的预测。从这里也看以看出估算的重点就在“工作量估算”或“成本估算”,而在对这两者进行估算的过程中大多数情况下都少不了“软件规模”这个条件,所以本文将软件估算分为两种类型,第一个种是软件项目规模的估算,第二种是将估算得出的规模转换为工作量的估算或成本的估算。目前使用比较广泛的规模估算技术,如:代码行估算技术、功能点估算技术;而使用比较广泛的成本估算技术,如: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.

作者简介:王颖,女,研究生,软件工程专业;江文焱,男,研究生,软件工程专业。

点击下页还有更多>>>软件技术论文范文

329 评论

少女心-

学术堂整理了一篇3000字的计算机论文范文,供大家参考:

范文题目:关于新工程教育计算机专业离散数学实验教学研究

摘要: 立足新工科对计算机类专业应用实践能力培养的要求,分析了目前离散数学教学存在的关键问题,指明了开展离散数学实验教学的必要性。在此基础上,介绍了实验教学内容的设计思路和设计原则,给出了相应的实验项目,并阐述了实验教学的实施过程和教学效果。

关键词:新工科教育;离散数学;计算机专业;实验教学

引言

新工科教育是以新理念、新模式培养具有可持续竞争力的创新型卓越工程科技人才,既重视前沿知识和交叉知识体系的构建,又强调实践创新创业能力的培养。计算机类是新工科体系中的一个庞大专业类,按照新工科教育的要求,计算机类专业的学生应该有很好的逻辑推理能力和实践创新能力,具有较好的数学基础和数学知识的应用能力。作为计算机类专业的核心基础课,离散数学的教学目标在于培养学生逻辑思维、计算思维能力以及分析问题和解决问题的能力。但长期以来“定义-定理-证明”这种纯数学的教学模式,导致学生意识不到该课程的重要性,从而缺乏学习兴趣,严重影响学生实践能力的培养。因此,打破原有的教学模式,结合计算机学科的应用背景,通过开展实验教学来加深学生对于离散数学知识的深度理解是实现离散数学教学目标的重要手段。

1.实验项目设计

围绕巩固课堂教学知识,培养学生实践创新能力两个目标,遵循实用性和可行性原则,设计了基础性、应用性、研究性和创新性四个层次的实验项目。

(1) 基础性实验

针对离散数学的一些基本问题,如基本的定义、性质、计算方法等设计了7个基础性实验项目,如表1所示。这类实验要求学生利用所学基础知识,完成算法设计并编写程序。通过实验将抽象的离散数学知识与编程结合起来,能激发学生学习离散数学的积极性,提高教学效率,进而培养学生的编程实践能力。

(2) 应用性实验

应用性实验是围绕离散数学主要知识单元在计算机学科领域的应用来设计实验,如表2所示。设计这类实验时充分考虑了学生掌握知识的情况,按照相关知识点的应用方法给出了每个实验的步骤。学生甚至不需要完成全部实验步骤即可达到实验效果。例如,在“等价关系的应用”实验中,按照基于等价类测试用例的设计方法给出了实验步骤,对基础较差的学生只需做完第三步即可达到“巩固等价关系、等价类、划分等相关知识,了解等价关系在软件测试中的应用,培养数学知识的应用能力。”的实验目的。

(3) 研究性实验研究性实验和应用性实验一样

也是围绕离散数学主要知识单元在计算机科学领域中的应用来设计实验,不同之处在于,研究性实验的实验步骤中增加了一些需要学生进一步探讨的问题。这类实验项目一方面为了使学生进一步了解离散数学的重要性,另一方面为了加强学生的创新意识与创新思维,提高计算机专业学生的数学素质和能力。表 3 给出了研究性试验项目。

(4) 创新性实验

在实际教学中还设计了多个难度较高的创新性实验题目,例如,基于prolog语言的简单动物识别

系统、基于最短路径的公交线路查询系统、简单文本信息检索系统的实现等,完成该类实验需要花费较长的时间,用到更多的知识。通过这些实验不仅有利于培养学生分析问题、解决问题的能力和创新设计能力,也有利于培养学生独立思考、敢于创新的能力。

3.实验教学模式的构建

通过实验教学环节无疑可以激发学生对课程的兴趣,提高课程教学效率,培养学生的实践创新能力。但是,近年来,为了突出应用性人才培养,很多地方本科院校对离散数学等基础理论课的课时进行了压缩,加之地方本科院校学生基础较差,使得离散数学课时严重不足,不可能留出足够的实验教学时间。针对这种情况,采用多维度、多层次的教学模式进行离散数学实验教学。

(1) 将实验项目引入课堂教学

在离散数学的教学过程中,将能反映在计算机科学领域典型应用的实验项目引入到课堂教学中,引导学生应用所学知识分析问题、解决问题。例如在讲授主析取范式时,引入加法器、表决器的设计,并用multisim进行仿真演示,让学生理解数理逻辑在计算机硬件设计中的作用。又如讲谓词逻辑推理时,引入前一届学生用Prolog完成的“小型动物识别系统”作为演示实验。这些应用实例能够让学生体会数理逻辑在计算机科学领域的应用价值,不仅激发学生的学习兴趣,提高课堂教学效率,也锻炼了学生的逻辑思维,培养了学生的系统设计能力。

(2) 改变课后作业形式,在课后作业中增加上机实验题目

由于课时有限,将实验内容以课后作业的形式布置下去,让学生在课余时间完成实验任务。例如讲完数理逻辑内容后,布置作业: 编写 C语言程序,实现如下功能: 给定两个命题变元 P、Q,给它们赋予一定的真值,并计算P、P∧Q、P∨Q的真值。通过完成,使学生掌握命题联结词的定义和真值的确定方法,了解逻辑运算在计算机中的实现方法。又如,把“偏序关系的应用”实验作为“二元关系”这一章的课后作业,给定某专业开设的课程以及课程之间的先后关系,要求学生画出课程关系的哈斯图,安排该专业课程开设顺序,并编写程序实现拓扑排序算法。通过该实验学生不仅巩固了偏序关系、哈斯图等知识,而且了解到偏序关系在计算机程序设计算法中的应用和实现方法。

(3) 布置阅读材料

在教学中,通常选取典型应用和相关的背景知识作为课前或课后阅读材料,通过课堂提问抽查学生的阅读情况。这样,不仅使学生预习或复习了课程内容,同时也使他们对相关知识点在计算机学科领域的应用有了一定的了解。例如,在讲解等价关系后,将“基于等价类的软件测试用例设计方法”作为课后阅读材料; 在讲解图的基本概念之前,将“图在网络爬虫技术中的应用”作为课前阅读材料; 货郎担问题和中国邮路问题作为特殊图的课后阅读材料。通过这些阅读材料极大地调动学生学习的积极性,取得了非常好的教学效果。

(4) 设置开放性实验项目

在离散数学教学中,通常选择一两个创新性实验项目作为课外开放性实验,供学有余力的学生学习并完成,图1给出了学生完成的“基于最短路径公交查询系统”界面图。同时,又将学生完成的实验系统用于日后的课堂教学演示,取得了比较好的反响。

(5) 利用网络教学平台

为了拓展学生学习的空间和时间,建立了离散数学学习网站,学习网站主要包括资源下载、在线视频、在线测试、知识拓展和站内论坛五个部分模块,其中知识拓展模块包含背景知识、应用案例和实验教学三部分内容。通过学习网站,学生不仅可以了解离散数学各知识点的典型应用,还可以根据自己的兴趣选择并完成一些实验项目。在教学实践中,规定学生至少完成1-2个应用性实验项目并纳入期中或平时考试成绩中,从而激发学生的学习兴趣。

4.结束语

针对新工科教育对计算机类专业实践创新能力的要求,在离散数学教学实践中进行了多方位、多层次的实验教学,使学生了解到离散数学的重要

性,激发了学生的学习兴趣,提高了学生程序设计能力和创新能力,取得了较好的教学效果。教学团队将进一步挖掘离散数学的相关知识点在计算机学科领域的应用,完善离散数学实验教学体系,使学生实践能力和创新思维得以协同培养,适应未来工程需要。

参考文献:

[1]徐晓飞,丁效华.面向可持续竞争力的新工科人才培养模式改革探索[J].中国大学教学,2017(6).

[2]钟登华.新工科建设的内涵与行动[J].高等工程教育研究,2017(3).

[3]蒋宗礼.新工科建设背景下的计算机类专业改革养[J].中国大学教学,2018( 11) .

[4]The Joint IEEE Computer Society/ACM Task Force onComputing Curricula Computing Curricula 2001 ComputerScience[DB / OL]. http:/ / WWW. acm. org / education /curric_vols / cc2001. pdf,2001.

[5]ACM/IEEE - CS Joint Task Force on Computing Curricula.2013. Computer Science Curricula 2013[DB / OL]. ACMPress and IEEE Computer Society Press. DOI: http: / / dx.doi. org /10. 1145 /2534860.

[6]中国计算机科学与技术学科教程2002研究组.中国计算机科学与技术学科教程2002[M].北京: 清华大学出版社,2002.

[7]张剑妹,李艳玲,吴海霞.结合计算机应用的离散数学教学研究[J].数学学习与研究,2014(1) .

[8]莫愿斌.凸显计算机专业特色的离散数学教学研究与实践[J].计算机教育,2010(14)

171 评论

相关问答

  • 计算机软件工程毕业论文

    楼上那位 强悍!你文章需要多少字数。具体的还有什么要求吗?

    hj黄小兔 4人参与回答 2023-12-05
  • 计算机软件毕业论文范文

    随着我国现代化程度的不断提高,计算机软件被应用的领域愈发广泛,其本身的创造程度也越来越高,计算机产业现在已经成为一个规模庞大的产业。下面是我为大家整理的计算机软

    七月紫梦 2人参与回答 2023-12-12
  • 计算机软件与设计杂志

    计算机技术的发展一日千里,稍不留神,就大有落后之感觉。笔者的体会是常阅读一些计算机类的报刊杂志,受益非浅。据不完全统计,国内正式出版发行的计算机类报纸有20余种

    石门小可爱 3人参与回答 2023-12-09
  • 软件工程和计算机论文

    软件工程论文题目 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科,我们看看下面的软件工程论文题目吧! 1、基于手机APP的中医移动健

    大灵灵小乖乖 5人参与回答 2023-12-06
  • 计算机软件设计论文范文参考

    免费查阅文献的刊物,你可以看看(计算机科学与应用)等等这些

    无奇不爱 3人参与回答 2023-12-06