软件工程论文题目
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科,我们看看下面的软件工程论文题目吧!
1、基于手机APP的中医移动健康管理平台探索
2、基于案例驱动法的软件工程课程影响因素实证分析
3、基于LAN的农业科技信息管理系统的研发
4、基于平板电脑的森林资源信息外业采集APP设计关键技术研究
5、基于物料的生产管理系统设计
6、ICE在模拟训练系统消息中间件中的应用
7、指纹考勤系统的设计与实现
8、基于Android平台的通用Adapter适配器的设计与实现
9、基于TMap的软件测试模型的分析研究
10、计算机软件开发技术现状及应用实践探究
11、基于SOC的智能野外目标监视和记录系统设计与实现
12、分析机械传动装置模块化设计系统的开发
13、舰船平台管理网络技术研究
14、基于分支相关性分析的不可达路径检测方法
15、基于求解开销预测的符号执行搜索策略研究
16、数字化装配管理系统研究与实现
17、基于小波神经网络对软件可靠性模型的研究
18、基于藏语学习的Android平台的研究与开发
19、基于交互技术移动端个人形象管理的应用与研发
20、基于JAVA+STRUTS的科技计划项目评估管理信息系统实现与安全设计
21、基于J2EE技术的计算机教研管理平台的设计与实现
22、采用COSMIC方法测量企业移动应用软件功能规模
23、基于Android平台的旅游系统的设计
24、基于SVG-JS技术的项目任务管理设计
25、基于凌一揆的中医药传承信息平台的构建
26、依托信息技术优化中药饮片发药流程
27、轨道交通工程Revit快速建模工具集开发
28、基于LabVIEW下嵌入式系统实验平台的设计与实现分析
29、多终端数字皮影交互系统的设计与实现
30、中小学食品配送质量管理及溯源系统开发与应用
31、CDIO理念下构建软件人才孵化中心
32、基于项目导向模式的软件技术专业教学方法探讨
33、基于Unity3D齿轮油泵交互式多媒体课件的设计与实现
34、基于文本服务框架的拼音输入法研究与实现
35、医院消毒器械管理追踪系统的设计与开发
36、面向Android的电子商务移动客户端的设计与开发
37、面向数据的软件工程方法研究
38、层次分析法在飞行模拟训练评价体系设计中的应用
39、基于ExcelVBA的企业员工年假统计系统设计与实现
40、PHP技术在在线考试系统开发中的应用研究
41、检察院审讯系统中即时通讯工具研究与实现
42、浅析移动实习就业跟踪系统的开发与应用
43、轨道交通工程Revit族库系统设计与开发
44、基于SSH的教室信息管理系统设计与实现
45、高校数字化校园中数据交换和共享平台的实现
46、软件算法相关技术探究
47、基于统计调查问卷的手机APP使用现状研究
48、关于对新形势下电子商务软件测试的`研究
49、软件项目管理中的进度管理
50、试析PLC和计算机间串行通讯方式及程序设计
51、浅析基于安卓系统的移动互联网集成平台开发设计
52、多线程技术在Android手机开发中的运用
53、JavaScript程序动态切片技术的研究
54、基于SmartAdmin的数据维护软件前台的快速构建
55、医院预授权结算系统的设计和实现
56、浅析计算机软件工程的管理和应用
57、生物计算下的分布式计算系统设计及实现
58、浅议广东省气象局科研管理系统管理技术
59、系统集成在城市轨道交通建设中的应用
60、JavaWeb开发中文件上传方法研究与实现
61、基于Web的Word文档管理系统设计
62、高校移动图书馆管理系统的设计与实现
63、基于移动互联网的考试平台设计与实现
64、智慧教室移动端管理平台开发
65、云计算环境下的软件测试服务分析
66、基于安卓系统的新能源电站移动数据库系统的设计
67、基于树型结构模型足球成绩系统的研究与设计
68、中小企业管理信息系统的功能设计
69、数据结构课程中栈和队列实验教学方案设计
70、基于需求模型的航天软件测试用例生成方法
71、酒店电能管理系统的设计与实现
72、基于VSTO技术的Office计时器插件的设计与实现
73、基于分布式结构的医学影像归档和通信系统设计
74、一种基于移动手机的大学生体质测试软件设计
75、移动APP在数字器检中的应用及意义
76、电子护理文书质控管理平台建设
77、基于手机客户端APP的移动学习资源开发研究
78、刍议软件无形性对计算机科学和软件工程教育的影响
79、电气技术人员提高PLC编程能力的思考
80、基于移动化、云化的轨道交通工程建设管理信息化架构设计
81、基于iOS的个人健康管理系统客户端的开发
82、预防性维护管理与设备管理系统的集成性分析
83、试论软件工程保护中软件防篡改技术
84、基于TCSP的实时并发系统测试方法
85、MapWindowGIS插件机制及应用
86、基于Android的手机助手设计的研究
87、档案自动化管理系统
88、基于LabVIEW技术的宏观观测动物信息管理系统研究
89、特种设备作业人员动态管理系统设计
90、基于时间索引的0-N数据结构在序列模式挖掘算法中的应用
91、基于Linux的USB摄像头驱动程序的实现
92、基于Android系统的主变差动保护装置调试软件研究及应用
93、环境保障信息传输与控制中间件研制综述
94、三维模型与属性数据同步的批处理方法研究
95、权限管理在成绩管理系统中的设计与实现
96、基于移动物联的安全生产数据服务云平台的设计与实现
97、单链表辅助教学系统的设计与实现
98、软件开发质量管理研究
99、影楼后期物件管理系统设计
100、一种基于三角形非结构化网格SIMPLE算法的程序设计
101、城市突发公共事件应急管理平台研究
102、河北省气象灾害预警应急服务系统
103、智能气象站气象要素数据测试软件设计
104、一种杀毒软件升级流程的安全性分析方法
105、基于IMS的气象信息传输智能语音通知系统设计与实现
106、电子商务平台的设计
107、计算机程序设计课程中计算思维的培养
108、基于Agent的微信平台自适应负载均衡算法
109、高等学校移动信息化建设的研究
110、软件构造课程设计及其课程群
这个题目不知是要分析些什么?是分析软件工程与软件项目管理的差别,还是分析两者的作用?
分析软件工程与软件项目管理的差别比较简单啦,分别说明两者的内容以及在软件项目执行过程中所起的作用即可,这个对于学习过软件工程和项目管理的人来说应该不是什么难事吧。
若是分析两者的作用则相对比较复杂些,可以从软件工程和软件项目管理的内容(软件工程:规划、需求调研、需求分析、系统设计、编码开发、测试、发布等,项目管理:九大知识领域)开始入手,再说明两者在软件开发项目过程中的相互作用和影响范围,就基本上可以将两者的作用说明清楚。如在软件工程中的规范阶段,如何利用项目管理的知识领域对其产生正面影响,或利用哪些知识领域进行影响、产生哪些影响等等;或在软件项目管理过程中的不同领域中使用到哪些软件工程的阶段或知识、产生什么影响等等。
总之,软件工程与软件项目管理是软件项目中两个不同的管理角度,两者可以相辅相承、共同作用于软件项目,使软件项目能够以更高效、更低成本的目标完成。
软件开发论文参考文献(汇总)
你知道软件开发论文参考文献有哪些吗?下面是我为大家收集的关于软件开发论文参考文献,欢迎大家阅读借鉴!
[1]周金陵.张鹏.丛于 CMMI 的软件过程改进研究[J].计算机工程与设计,2003,2400:60-62.
[2]龚波,于自跃.小型软件企业实施 CMMI 过程改进研究和分析[J].计算机应用研究,2004,21(8):64-67.
[3][美] 施瓦尔贝.IT项目管理[M].王金玉,时郴,译.北京:机械工业出版社,2002.
[4]刘佰忠.项目管理是 IT 项目灵魂[J].湖南制造业信息化,2004(4): 9-10.
[5]段琳琳.敏捷方法在需求工程中的研究与应用[[D].长沙:湖南大学,2008.1.
[6]段琳琳.王如龙.极限编程在软件项目开发中的研究与应用[J].计算技术与自动化.2008. 27 (l):127-130.
[7]唐爱国,王如龙.软件项目范围变更流程与过程控制研究[J].项目管理技术,2006. 4(9):71-73.
[8]唐艳.教捷方法在数据库设计中的应用.牡丹江教育学院学报,2005 年 02 期.
[9]林锐.软件工程与项目管理解析[M].北京:电子工业出版社,2003.
[10]ROBERT C. MARTIN.敏捷软件开发[M].北京:机械工业出版社,2008:388.
[11]伯克温.项目管理艺术[M].南京:东南大学出版社,2007: 342.
[1]陆恩锡,涨慧娟,尹清华.化工过程模拟及相关高新技术[J],化工进展,1999,18(4): 63-64.
[2]王之瑛.改进高效浓密机工艺和设备是降低生产成本的有效途径[J],湖南有色金属,1995,24-27.
[3]钱学森.关于思维科学[M],上海:上海人民出版社,1987,3-12.
[4]黄向华.控制系统仿真[M],北京:北京航空航天大学出版社,2008,1-5.
[5]刘晓东.沉降槽泥层界面检测仪的应用[J],自动化仪器与仪表,2007(3):52-53.
[6]杨慧,陈述文.0>50m大型浓密机的自动控制[J],金属矿山,2002,318(12):38-40.
[7]杨榛,浦伟光等.化工流程工业计算机的应用技术与进展[J],计算机与应用化学,2010, 27(2): 139-143.
[8]韩虹,李朝明.关于浓缩池设计的探究[J],新疆化工,2007,20(3):12-14.
[9]孙红先,赵听友,蔡冠梁.化工模拟软件的应用与开发[J],计算机与应用化学,2007,24(9): 1285-1288.
[10]耿增显,柴天佑,岳恒.浓密机生产过程自动化系统[J],控制工程,2008,19(9): 353-363.
[11]刘学言.多级逆流洗漆系统洗涤动力数的提出及其应用[J],湿法冶金,1993,7(3): 25-31.
[1]陈友洪,G 公司 SAP 质量管理系统应用研究[D],甘肃,兰州大学硕士学位论文,2009,7-9.
[2]栾跃,软件开发项目管理[M],上海,上海交通大学出版社,2005,20-40.
[3]黄佳,SAP 业务数据传输指南[M],北京,人民邮电出版社,2006,234-238.
[4] 卢俊,SAP 行业解决方案[M],北京,东方出版社,2008,5-10.
[5]石坚燕,SAP NetWeaver--SAP 新一代业务平台[M],北京,东方出版社,2005,1-37.
[6] 胡险峰,SAP 及 mySAP 商务套件[M],北京,东方出版社,2006,12-15.
[7] Raymond McLeond,Jr. George Schell 着,张成洪,顾卓珺等译,管理信息系统(第10 版)[M],北京,电子工业出版社,2007,19-33.
[8]Peter S. Pande et al,Robert P. Neuman,Roland R. Cavanagh,The Six Sigma Way:How GE,Motorola,and Other Top Companies are Honing Their Performance[M],McGraw-Hill,2000,1-67.
[9]David M. Levine,Statistics for Six Sigma Green Belts with Minitab and JMP[M],FT Press,2006,1-22.
[10]王天杨,王斌峰,倪寅凌,左贝合着,SAP 最佳业务实践[M],北京,东方出版社,2005,17-19.
[11]Christian Kramer,Sven Ringling,Song Yang,Mastering HR Management with SAP[M],SAP Press,2006,19-22.
[12]Andreas Vogel,Ian Kimbell,mySAP ERP For Dummies[M],For Dummies,2005,1-80.
[1]姜新.嵌入式控制系统软件平台的研究与实现[D],武汉:华中科技大学,2003.
[2]向立志,谭杰等.先进控制算法软件的`设计与开发[J],计算机工程,2003,29(18):41-43.
[3]刘x,周建宏,刘宏民.电熔法提纯氧化镁电极的自动控制[J],电气传动自动化,2000,22(1): 18-20.
[4]吴志伟,吴永建,张莉等.一种基于规则推理的电熔镁炉智能控制系统[J],东北大学学报(自然版),2009, 30(11): 1526-1529.
[5]吴新军.PLC在电溶镁炉集中控制系统中的应用[J],冶金设备,2003,4(2):67-68.
[6]孙鹤旭,林涛.嵌入式控制系统[M],北京:清华大学出版社,2007,3-4.
[7]齐国超,张卫军.电熔镁电弧炉炉体优化设计[J],冶金能源,2010,29(4):34-36.
[8]吴永建,吴志伟,柴天佑等.电熔镁炉智能优化仿真实验平台[J],系统仿真学报,2011, 23(4):676-680.
[9]倪晓明,孙菲.电熔镁石炉的计算机控制及节能改造[J],冶金能源,2002,21(1): 60-61.
[10]葛伟.基于虚拟仪器的电溶镁炉监测系统[D],大连:大连理工大学,2005.
探析软件项目管理中的PERT技术应用论文
软件项目管理是通过对项目参与人员、项目目标产品、实施过程和项目本身进行前期评估和开发阶段的管理等方式,确保项目能够在规定的时间范围内以更低的成本获取项目预期目标或超过预期。因此,软件项目管理决定着软件开发的成功与否,软件开发公司也通过先进管理技术的引入来提升软件项目管理质量,PERT技术就是代表性的技术之一 。 本文通过阐述软件 项目管理 现状、PERT技术基本内容以及该技术在软件项目管理中的应用,系统分析软件项目管理中PERT技术的应用现状及发展前景。
软件开发项目管理是软件开发领域的专业性项目管理活动,其成败关系到整个项目的成败,并影响到企业整体的商誉、市场和盈利能力。所以,软件企业需要关注项目管理能力的提升。而实现这一目的的重要途径之一就是在项目管理过程中应用各种技术对软件项目管理质量进行提升,从而确保项目的成功。PERT技术是软件项目管理中常用的技术之一,主要通过对项目进行整体评估和进度安排的方式提升项目的可行性以及开发效率,以降低项目风险,确保开发者的利益。因此,有必要对PERT技术进行深入的研究,从而更好的应用与软件项目管理,促进软件开发行业的发展与进步。
一、PERT技术简介
PERT技术全称计划评价与审查技术(Program Evaluation and Review Technique),是20世纪50年代中期发展起来的一种科学的计划管理技术, 最初是用于美国海军部开发北极星潜艇系统时为协调3000多个承包商和研究机构而开发的,其理论基础是假设项目持续时间以及整个项目完成时间是随机的,且服从某种概率分布。PERT可以估计整个项目在某个时间内完成的概率。
简单地说,PERT是利用网络分析制定计划以及对计划予以评价的.技术。它能协调整个计划的各道工序,合理安排人力、物力、时间、资金,加速计划的完成。在现代计划的编制和分析手段上,PERT被广泛的使用,是现代化管理的重要手段和方法。
PERT网络是一种类似流程图的箭线图。它描绘出项目包含的各种活动的先后次序,标明每项活动的时间或相关的成本。对于PERT网络,项目管理者必须考虑要做哪些工作,确定时间之间的依赖关系,辨认出潜在的可能出问题的环节,借助PERT还可以方便地比较不同行动方案在进度和成本方面的效果。
二、PERT技术在软件项目管理中的应用
计划评审技术属于网络计划技术的分支,主要用于项目管理和活动计划评估,最初是美国为了提升军事项目研发效率开发的计划管理模式,主要以数理统计为基础,运用网络方法和电子计算机方法进行实施,简称PERT技术。其基本原理是将一个完整的项目分割成单独的小项目,然后根据小项目间的关系进行分析,并绘制网络图;再通过网络图分析各项目运行时间和先后顺序,寻找出项目运行主线,并对项目的每一个环节进行可行性评价,确认项目整体的可行性,不断修正项目计划,从而达到项目管控和提高成功率的目的。
1.绘制活动分析表
PERT技术的主要操作步骤需要依据项目流程图绘制分析表格,而时间由三点法确定。三点时间法主要涉及三种时间:最乐观时间,最可能时间和最悲观时间。 其中最乐观时间为当所有外界影响因素均对项目产生正面影响时,项目完成的预期时间;最可能时间为当项目正常运行时,完成项目所需的时间,一般可参考同类项目的运行平均值;最悲观时间为假设项目会遇到比一般项目更多的不利因素影响时,项目完成最长需要的时间。通过以上分析,最终绘制出活动分析表。
2.绘制网络图
首先罗列出分割完毕的小项目即单独运行的活动,并筛选出不需要前提活动运行完毕即可实施的项目,也就是可以在项目初期直接运行的活动,然后依据这些项目进行紧前活动添加,逐步绘制出网络图。
3.网络时间计算
在时间轴上,时间对应的是点,在网络图上,节点与事件相对应,起始点表示事件开始,终止点表示事件的完成,中间节点表示该节点所在箭线的事件过程。根据上述对应关系进行活动的网络时间计算。
4.关键线路与时间差
关键线路为项目最佳运行方案,但是在实际操作过程中总会遇到各样的影响因素导致不能运行该线路,因此需要寻找最合适线路,而不同线路与关键线路的时间差很大程度上决定了线路的选择,同一个项目可以同时存在多个关键线路。
5.项目优化
项目优化的目的在于以最低的成本获得最高的项目成果。成本包括材料成本、人力成本、时间成本和其它成本,因此,需要考虑项目耗资和耗时两个方面。此外,项目的费用核算可以单独进行小项目核算,也可直接对项目整体进行成本评估。项目优化的主要途径为成本优化,成本优化的过程为:首先选取成本最小的关键线路进行实施,然后计算项目如果进行加速运行时带来的人力成本增加值,最后评估该线路整体成本,如满足预期则确定最终线路,如不能满足预期值则继续进行线路选取,重复上述步骤。
以上为PERT技术在软件项目管理中主要应用方式和常用管理路线,在具体的项目管理过程中需要针对具体项目特点进行调整,但是主要目的都是以最低成本获取最高成果。
三、结语
计划评审技术的应用有助于软件开发的项目管理人员更精确的评估项目完成时间、更有效的监督项目进展和预期完成质量,属于典型的项目进度控制方法。虽然PERT技术极大的促进了软件项目管理的质量,降低了软件开发风险,但是依然需要看到在该技术引入软件项目管理中后,容易对软件开发项目造成一定程度的专业性影响,如为了追求更低的成本和更快的工期,可能需要牺牲一部分软件附属功能,虽然不会对软件开发主体造成损害,但是可能会在一定程度上降低软件的用户友好度和使用舒适度,这些需要项目管理者正确把握该技术的应用尺度,不能一味追求利益而导致软件质量的低下。作为工程技术人员,应该对计划评审技术的应用研究应继续深入,探索更为合理和有效的引入方式,在不损害项目预期目标的前提下,提高项目质量和降低项目成本,为软件开发领域的进步做出贡献。
软件技术是一个发展变化非常快的行业,软件人才要按照企业和领域需求来确定培养的方向。下面是由我整理的软件技术论文范文,谢谢你的阅读。
浅谈软件项目估算技术
摘 要:由于软件产品自身的特殊性,导致软件项目的估算工作进行困难,估算结果准确性差。为了解决这一问题,产生了很多不同的软件项目估算技术,本文对各种估算技术的主要思想及其优缺点进行简单的阐述。尤其是对功能点估算技术,本文做了详细的介绍,并通过实例加以说明其应用方法。
关键词:规模估算;成本估算;实例应用
中图分类号:TP311.5
软件项目的估算历来是比较复杂的事,因为软件本身的复杂性、历史经验的缺乏、估算工具缺乏以及一些人为错误,导致软件项目的估算往往和实际情况相差甚远。因此,估算错误已被列入软件项目失败的四大原因之一。由此,也证明了正确对软件项目进行估算是何等重要。
在软件项目管理中,估算就是对项目将持续多长时间或花费多少成本的预测。所以说,估算正是一种对未来的预测。从这里也看以看出估算的重点就在“工作量估算”或“成本估算”,而在对这两者进行估算的过程中大多数情况下都少不了“软件规模”这个条件,所以本文将软件估算分为两种类型,第一个种是软件项目规模的估算,第二种是将估算得出的规模转换为工作量的估算或成本的估算。目前使用比较广泛的规模估算技术,如:代码行估算技术、功能点估算技术;而使用比较广泛的成本估算技术,如:COCOMO算法模型估算技术。
除了上述所列举的几种技术外,还有几种估算技术既可以用于估算规模,也可直接应用与估算工作量或估算成本,如:Delphi估算法、类比估算技术、PERT估算技术。这几种估算技术不似前面所列的技术,比较有针对行,且有具体的计算过程、计算公式。这几种技术只是一种思想,依据某个选定的科目进行估算。下面本文将简单介绍上述提到的几种估算技术,并通过具体的实例重点阐述功能点估算技术。
1 估算技术简介
1.1 代码行估算技术。代码行(LOC)指所有的可执行的源代码行数,包括可交付的工作控制语言(JCL:Job Control Language)语句、数据定义、数据类型声明、等价声明、输入/输出格式声明等[1]。代码行估算技术主要是估算软件的规模,即通过该技术估算待研发软件项目有多少行代码。一般为了方便表示,使用较大的单位千代码行(KLOC)来表示待研发软件项目的规模大小。这种方法比较适用于有经验积累和开发模式稳定的公司。如果是新成立公司,使用这种估算技术则会存在很大误差,加大项目失败的风险。
1.2 功能点估算技术。功能点法是一种经过实践验证的方法,但应用成本很高,估算的工作量投入也较大。功能点估算技术最终结果是规模,仍然需要知道项目的生产率数据才能得出实际的工作量。功能点估算技术将系统功能分为输入、输出、查询、外部文件和内部文件5种类型。其中,输入是一个数据跨越系统边界,从外部到内部的基本数据处理过程。数据的来源可以是人机输入界面/接口,或是另一个应用系统;输出是一个衍生数据跨越系统边界,从内部到外部的基本数据处理过程。这些输出的数据可能会产生报表,或发到其他外部系统的输出文件;查询是一个不包含衍生数据和数据维护的基本数据处理过程,包括输入和输出两部分;内部文件存在于系统边界之内,用户可识别的一组逻辑上相互关联的数据;外部文件存在于系统边界之外,用户可识别的一组逻辑上相互关联的数据。使用功能点估算技术估算的大概步骤为:
(1)通过需求分析将系统功能按照上述5种类型进行分类。
(2)分析每个功能项的复杂程度,大致分为一般、简单、复杂三种类型,每一种类型都对应一个权重值,具体如表1。
(3)根据每个功能项的复杂权重值,求出功能项的加权和,即为未调整功能点数(UFC)。
(4)分析该系统的技术复杂度,功能点估算将与系统相关的技术影响因素分为14组(用Ai表示),每个分为6个级别,权重分别从0至5。根据分析结果及公式计算技术复杂度因子(TCF),即TCF=0.65+0.01(SUM(Ai))。
(5)将UFC与TCF相乘即为功能点数。
1.3 COCOMO算法模型。Cocomo模像是一个分层次的系列软件成本估算模型,包括基本模型、中级模型和详细模型3个子模型。3个模型采用同一个计算公式,即E=asb×EAF[2]。其中,E是以人月为单位的工作量;S是以KLOC为单位的程序规模;EAF是一个工作量调整因子,在基本模型中该项值为1,中级模型和详细模型中根据成本驱动因素确定;a和b是随开发模式而变化的因子,这里开发模式被分为3中类型,即有机式、半分离式和嵌入式。
Cocomo算法模型是一种精确易用的估算方法,如果项目没有足够多的历史数据,会使得各调整因子和系数很难确定,进而使得估算比较困难。但是一旦项目建立起这种模型,则通过Cocomo模型得出的项目工作量和项目周期具有更高的准确度。
1.4 Delphi估算技术。Delphi估算技术又被成为专家估算技术,它是由一个被认为是该任务专家的人来进行估算,且估算过程很大一部分是基于不清晰,不可重复的推理过程,也就是直觉。所以该技术中专家“专”的程度及对项目的理解程度是该技术的重点,也是难点,它的好坏直接影响估算结果的准确程度。
Delphi估算技术估算过程并不像功能点估算技术或COCOMO算法模型那样,有明确的计算方法或计算公式。它是将待估算的项目的相关信息发给专家,专家估算后由专门的负责人进行汇总,然后再发给专家估算,反复几次后得到一个估算结果,可见只是一种思想,所以它除了用来估算规模,也可以用来估算成本、风险等,即对选定的某个科目进行估算。
1.5 类比估算技术。“类比估算”,顾名思义是通过同以往类似项目(如应用领域、环境和复杂程度等)相比较得出估算结果。类比估算技术是一种粗略的估算方法,它估算结果的精确度取决于历史项目数据的完整性和准确度。类比估算技术与Delphi估算技术类似,它的用途不仅仅用在规模估算上,也可以估算成本、工作量等。 1.6 PERT估算技术。PERT估算技术,又称为计划评审估算技术,它对需要估算的科目(如规模、成本、工期等)按三种不同情况估算:一个乐观估算结果,一个最可能估算结果,一个悲观估算结果。再通过这三个结果计算得到一个期望规模和标准偏差。这种估算技术可以用于估算规模,同样也可以用于估算工期,相比较来说PERT技术估算的结果比类比估算技术的结果要更准确。
2 功能点估算技术应用实例
假设某员工管理系统,经过需求分析得知,该系统所包含功能如下:
(1)员工信息维护:添加员工、修改员工信息、查询员工信息;
(2)部门信息维护:添加部门、修改部门信息;
(3)工资统计:统计员工年薪,并打印输出。
其中,在该系统中添加一个员工资料,会使用到员工的基本信息:员工ID(标签控件)、姓名、性别、年龄、婚否、部门ID;教育情况:学校名称、所学专业、学历。对部门的维护会使用到部门的信息:部门ID(标签控件)、部门名称。员工工资信息由另外一个财务系统提供,工资表信息有员工的基本信息:员工ID(标签控件)、姓名、部门名称;工资信息:工资级别、工资金额。
根据功能点估算技术估算步骤,首先计算未调整功能点数,即各种类型功能项的加权和,分析该系统6个功能项所属类型及其复杂权重值如表2:
假设该项目的14个技术复杂度因子均为“有一定影响”,即权重值均为2,则该项目功能点数为:FP=45×(0.65+0.01×14×2)=41.85。如果知道该项目使用何种语言,可以将功能点数转换为代码行数。
3 结语
本文对目前比较流行的几种软件项目估算技术做了简单介绍。重点讲述了功能点估算技术,并通过一个实例演示了功能点估算技术的应用方法。通过本文描述可以看出每种项目估算技术都有其自己的优缺点,如果想要得到比较准确的估算结果,不能仅靠一种估算技术,而应该综合运用各种估算技术,才能得到比较全面的信息和比较准确的结果。目前,也有一些基于这些估算技术的思想的自动化估算工具产生,相信通过不断的发展,将解决软件项目成本估算难的问题。
参考文献:
[1]朱少民.软件项目管理[M].北京:清华大学出版社,2009-11.
[2]覃征等.软件项目管理[M].北京:清华大学出版社,2004.
[3]李明树,何梅,杨达,舒风笛,王青.软件成本估算方法及应用[J].Journal of Software,Vol.18, No.4, April 2007,775-795.
[4]The David Consulting Group ,Function Point Counting Practices Manual Release 4.2.1,January 2005,
[5]刘谦.软件项目估算方法在敏捷开发中的实践.中国管理网,2010-06-18.
作者简介:王颖,女,研究生,软件工程专业;江文焱,男,研究生,软件工程专业。
点击下页还有更多>>>软件技术论文范文