软件开发论文参考文献(软件开发文献综述)
今天给各位分享软件开发论文参考文献的知识,其中也会对软件开发文献综述进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
关于计算机软件论文方面,拜求高手
计算机软件开发论文软件开发论文:
软件工程用于多媒体课件开发的研究
摘要:随着计算机技术和通信技术的快速发展,多媒体课件在教育领域中的使用已经非常广泛。由于开发团队及开发方法的不足,导致课件开发的软件危机,体现为开发成本高、周期长、质量低、使用困难等。基于软件工程开发的模式,可以缓解软件危机,提高开发的效率及软件的质量。
关键词:软件工程;多媒体课件;软件危机
随着计算机技术的突飞猛进,多媒体技术也快速发展着,既而计算机辅助教学广泛普及,各类学科的教学课件应运而生。从理论上讲,大量的教学课件地运用可以减轻教师的工作量,提高教学质量,但实际上,在教学中真正用得好,用得巧的教学课件并不多。开发成本高,软件质量低,重复开发的现象屡见不鲜,很难满足当前日益增长的教学课件的需求。此种不良现象我们称之为“教学软件危机”。要消除此种软件危机,就要有正确的软件开发理念。应用软件工程的思想,可以有效地缓解软件危机,提高多媒体课件开发的成功率[1]。
1软件工程基本概念
1.1软件工程
软件工程(Software Engineering,简称为SE),目前比较认可的定义为:研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,主要应用工程的方法和技术研究软件开发与维护的方法、工具和管理的一门计算机科学与工程学交叉的学科。它涉及计算机、数学及管理学等多个学科,以便帮助人们缓解软件危机带来的问题。
1.2软件危机
软件危机是指在计算机软件开发和维护过程中出现的一系列严重问题[2],致使整个开发过程混乱不堪,导致开发陷入无法自拔的困境,经济危机主要表现在以下几个方面:1)对软件开发成本和进度难以估量,通常会大幅度超出预期;2)对“已完成的软件”,用户通常不满意;3)软件质量无法保证;4)软件不可维护,升级要重头来过;5)软件没有完整的文档资料。为了缓解软件危机,能够开发出更高质量的软件,软件工程技术的理论充分用于软件开发及维护的整个过程。
1.3软件周期
软件生命周期(SDLC,软件生存周期)是软件的产生直到报废的生命周期,周期内有需求分析、设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。
2多媒体课件的概念
课件是凡具备一定教学功能的教学软件都称之为课件[3]。课件像学习者呈现出学习的内容,学习质量的检测、反馈和指导。多媒体课件是将多媒体技术引入到计算机辅助教育的课件中。课件的形式内容单调,如练习程序、测试程序以及现在出现的大量面向信息的产品,如电子百科等。多媒体课件表现内容的形式多姿多彩,多媒体技术在计算机辅助教学的人-机交互中的巨大潜力主要在于它能提高对信息表现形式的选择和控制能力,同时也能提高信息表现形式与人的逻辑思维和创造能力的结合程度,在顺序、符号信息等方面扩展人的信息处理能力。
为了适应教育教学的发展,越来越需要更丰富多彩的多媒体课件,这就对多媒体课件有了更多的需求,为了开发出更高质量的多媒体课件,我们就需要从软件工程的角度来进行开发。
3基于软件工程的多媒体课件开发过程
多媒体课件设计是课件开发的重要环节,多媒体课件设计的好坏直接决定着课件的质量。多媒体课件也是一种软件,我们可以从软件工程的角度来开发多媒体课件,其必须遵从软件生命周期。同时我们要从教育学和心理学的角度来充分考虑相关的因素。多媒体课件的开发通常划分为以下5个阶段。
3.1教学需求分析
需求分析是把软件功能和性能的总体概念描述为具体的软件需求规格说明,以此奠定软件开发的基础。教学需求分析仍然遵循软件工程的思想,它的主要任务是论证多媒体课件开发的可行性和必要性。
3.1.1问题的定义
这个阶段要弄清的是“要解决的问题是什么”[3]。要清晰地知道这个课件的开发要解决什么教学问题。如果不弄清楚,而盲目的开发,只会浪费时间资金等等资源。所以这个阶段一定要确定的得出问题的定义。这是此次多媒体课件开发的首先要弄清楚的问题。
3.1.2可行性分析
既然已经知道了“问题的定义”,接下来就要进行可行性分析,解决这个课件开发的必要性和可行性。为了文成这个任务,需要专职人员进行大量的市场调查和研究,初步给出整个课件的开发的概况,一个雏形。这个阶段进行的比较短,主要是研究问题是否有解,是否有可行的办法。这个阶段决定了多媒体课件是否继续的关键。
3.2课件的教学设计
经过需求分析阶段的工作,系统必须做什么已经清楚了,总体设计阶段就是决定怎么做的时候了。总体设计的基本目的就是回答“概括的话,系统该如何实现?”这个问题[4]。这个阶段主要是:1)划分出组成系统的物理元素———程序、文件、数据库、人工过程和文档等;2)设计系统的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。
4总体设计阶段的工作步骤
1)寻找实现系统的各种不同的解决方案,参照需求分析阶段得到的数据流图来做。
2)分析员从这些供选择的方案中选出若干个合理的方案进行分析,为每个方案都准备一份系统流程图,列出组成系统的所有物理元素,进行成本\效益分析,并且制定这个方案的进度计划。
3)分析员综合分析比较这些合理的方案,从中选择一个最佳方案向用户和使用部门负责人推荐。
4)对最终确定的解决方案进行优化和改进,从而得到更合理的结构,进行必要的数据库设计,确定测试要求并且制定测试计划。
从上面的叙述中不难看出,在详细设计之前先进行总体设计的必要性,经过需求分析,确定课件开发的目标与规模。继而进行教学设计,教学设计也遵循软件工程的思想,是分为教学的逻辑设计和教学单元设计。比如《软件工程》这门课的教学软件按照其目标和功能划分为以下模块。
5教学逻辑设计
教学逻辑设计的主要任务是按照教学需求分析所确定的开发目标,对课件进行总体设计,分为教学设计和风格设计两个部分[5]。
5.1教学设计
1)确定教学目标;2)划分教学单元;3)编排教学单元顺序绘制教学单元流程图;4)确定课件的教学方式和结构类型;5)确定学生信息模型。
5.2风格设计
指的是课件在展现教学内容、人机交互活动、调度控制方式等有关问题的处理时遵循的格调。1)教学单元课时的长短;2)人机界面;3)交互活动层次;4)教学单位的调度方式;5)课件运行的系统环境;6)课件发行的文字资料。
6教学单元设计
教学单元设计解决的是课件的详细设计的问题。教学单元是课件进行教学的基本单位,在教学设计中要确定各教学单元的信息结构,详细列出所包含的教学内容,确定它们的屏幕设计和呈现顺序。
7多媒体素材的采集和加工
前期工作已完成,接下来要进入程序的编制过程,根据脚本的要求,搜集整理相关的媒体素材,素材尽量做到积件式,以便提高素材的重用率,降低软件文本的体积。
8合成
工作人员根据前期的设计,即框架及表现风格等内容,对其进行编程,将确定的素材进行制作运用,然后把各个子模块分别进行测试和调试,以便进行综合测试,进行调整[6]。
9运行维护
教学软件运行正常,可对其发布,学科是不断变化的,教学软件也是应运而生的,所以要对其进行不断的完善和维护。
10小结
软件开发是一项系统工程,需要各个方面的积极配合,方可开发出高质量的教学课件。在开发过程中,软件的方法极为重要,那么软件方法也是人们在长期的工作中不断积累的宝贵经验。把软件工程的理论用于多媒体教学课件的开发中,有利于提高软件成功率,以便摆脱教学软件的危机的出现,提高教学软件的质量。
参考文献:
[1]陈兵.软件工程在教学软件开发中的应用[J].广西教育学院学报,2007(2).
[2]金铁.用软件工程学原理提高多媒体软件开发质量[J]电脑知识与技术,2009 5(11).
[3]林士敏,朱新华,覃德泽,等.计算机辅助教学[M].广西:广西科学技术出版社,2007:66-70.
[4]郑人杰,殷人昆.软件工程概论[M].北京:清华大学出版社,1998.
[5]陈雄峰.多媒体课件设计与制作[J].福建电脑,2003(2):41-43.
[6]檀兴邦.多媒体课件制作略谈[J].陕西教育,2003(3):36.
软件项目管理论文的参考文献
你好,我在中国知网搜的
[1] 朱利娜,周宁. 软件项目管理的思考[J]. 平原大学学报, 2007,(02) .
[2] 罗铁清,王莹,王如龙. 软件项目管理流程分析与设计[J]. 计算技术与自动化, 2005,(03) .
[3] 杨智明. 软件项目管理过程[J]. 科教文汇(下半月), 2006,(09) .
[4] 陆伟. 软件项目管理及其在中小规模开发中的实施[J]. 电脑知识与技术, 2005,(08) .
[5] 郭国印,张秀伟,赵政文. 软件项目管理技术分析研究[J]. 微处理机, 2007,(05) .
[6] 周慧. 论软件项目管理[J]. 现代电子技术, 2003,(18) .
[7] 邓杰超. 软件项目管理探析[J]. 华南金融电脑, 2007,(01) .
[8] 窦燕. 影响软件项目管理关键因素的探讨[J]. 燕山大学学报, 2004,(04) .
[9] 李凌. 软件项目管理中的进度控制问题研究[J]. 中国科技信息, 2005,(17) .
[10] 陈丽杰. 浅析软件项目管理中的需求管理[J]. 科技资讯, 2007,(14) .
希望对你有帮助~
知道 举手之劳团队 队长:晓斌
软件开发毕业论文怎么写?
软件开发的毕业论文主要写的是你开发软件的整个过程。
可行性分析,需求分析,总体设计,详细设计,编码,文档,测试等都要写的。
主要写的还是前五项是很重要的。文档也很重要,文档也是验证是不是一个全面的完整的,好的软件开发的标准之一,不可忽略。
1、验收人员:由各专业答辩委员会聘请校内或学院内熟悉计算机软件技术的人员组成若干个软件验收组,负责本学院的软件验收。每个验收组由3名具有中级及以上职称的教师组成,设组长1人,组员中一般应包含1名所验收软件学生的指导教师。
2、验收方式:由学生向验收组提交论文中所涉及的计算机软件部分,包括源程序、执行程序和使用说明,将源程序编译成执行程序后并运行,在程序真实、运行结果正确和程序文本资料完整的情况下,当场将源程序和执行程序拷贝到存储介质(如软盘、光盘等)上,连同程序文本资料一起交验收组,即可通过验收。软件验收未通过者,不能参加毕业设计(论文)答辩。
验收组的工作应实事求是,认真负责。验收结束后,由验收组填写软件验收报告,并将验收报告与全部验收材料(包括存储介质、资料等)一并交学生所在学院。
3、验收时间:验收工作应安排在毕业设计(论文)工作完成后,答辩之前。各专业答辩委员会在进行答辩资格审查时,应将是否已通过验收作为审查的一项重要内容。
软件开发的毕业论文怎么写
以下是我个人写过的论文,格式应该就是这们写,给你只供模块的参考。至于你的具体内容该怎么写,你得多花的点心思,写论文看起来简单,其实并不是想像中的那样....
努力吧!!!!!!!!!!!!
目录
摘 要 I
Abstract II
第1章 绪 论 1
1.1 开发背景,开发环境及意义 1
1.2 系统设计说明 2
1.3 开发工具的选用与介绍 3
1.3.1 C#技术介绍 3
1.3.2 C#访问数据库的原理 4
1.3.3 C#技术的优点: 4
1.3.4 SQL介绍 5
第2章 总体设计 7
2.1 系统目标设计 7
2.2 系统功能分析 8
2.3 系统操作流图 8
第3章 系统数据库设计 9
3.1 数据库需求分析 9
3.2 系统数据库 10
3.3 数据模型 10
3.4 数据表结构 11
第4章 系统界面设计及功能实现 14
4.1 系统登录设计与实现 14
4.2 楼盘管理设计与实现 15
4.3 投诉管理设计与实现 18
4.4 故障管理设计与实现 20
4.5 住户管理设计与实现 21
4.6 收费管理设计与实现 23
4.7 系统管理设计与实现 26
4.7.1 系统初始化 26
4.7.2 系统备份 28
4.7.3 系统还原 29
4.7.4 个人密码修改 32
第5章 系统测试与安装 33
5.1 系统测试 33
5.2 系统安装 36
5.3 C#的硬件要求 37
第6章 总结 39
参考文献 40
论文设计参考文献
[1]计算机芯片的发展史
樊莉丽;董先明;, 信息与电脑(理论版), 2010,(05), 192
本文阐述了芯片对现代科技的重要作用,详细介绍了芯片的发展历史,并以芯片业巨头英特尔公司为参照对象,把芯片发展分阶段进行了总结。
[2]一种对计算机发展史展开研究的策略
应国良;马立新;, 中国教育信息化, 2010,(07), 15-16
计算机是一种人造物,是历史的产物,其进化与更新换代凝聚了若干人的智慧。随着一线教学的深入,笔者认识到若不从历史源头上对计算机发展过程予以整体上的把握,将不利于进一步参与和推动它的发展。本文在先前研究者若干研究成果的基础上,提出一种研究策略和思路:以需求产生与满足为引子,以软硬交替发展为主线,以性能不断提高为成果,以突出学科交叉为亮点。
[3]论计算机发展史及展望
杨露斯;黎炼;, 信息与电脑(理论版), 2010,(06), 188
自从1945年世界上第一台电子计算机诞生以来,计算机技术迅猛发展,CPU的速度越来越快,体积越来越小,价格越来越低。未来光子、量子和分子计算机为代表的新技术将推动新一轮超级计算技术革命。
[4]充满创新火花的计算机发展史
刘瑞挺;, 计算机教育, 2009,(05), 129-130
正回顾计算机发明的历史,每一台机器、每一颗芯片、每一种操作系统、每一类编程语言、每一个算法、每一套应用软件、每一款外部设备……无不像闪光的珍珠串在一起,令人赞不绝口。每个事例都闪烁着智慧的火花,每件史料都述说着创新的思想。在计算机科学技术领域,这样的史实就像大海岸边的贝壳,俯拾皆是;当然,要找到珍珠就得下专门功夫了。
[5]信息技术教师应该读什么书(二) 计算机及信息技术发展史
魏宁;, 中国信息技术教育, 2009,(15), 91-93
正列举信息技术的应用实例,了解信息技术的历史和发展趋势历来是信息技术教师较为头疼的地方。因为通常这一课是在教室中作为理论课来上的,而教材上相关的内容又较为浅显并显得知识容量不足。教师不得不精心备课,
[6]浅析计算机病毒发展史
程兴中;, 辽宁行政学院学报, 2008,(06), 248+252
简述了从第一个计算机病毒出现到现在,计算机病毒随着操作系统和互联网的发展而进化的过程。并对网络病毒的各种类型和特点进行了分析。
[7]从汉字发展史看计算机汉字输入对汉字发展的影响
周凤英;, 洛阳工业高等专科学校学报, 2005,(04), 46-47+79
汉字在经历了近百年的汉字落后论的批判之后,迎来了“汉字优越论”的曙光,这两种截然相反的论调让 我们深思这样一个问题:在信息高速发展的社会中,应该怎样正确对待计算机汉字输入对标志中华民族文化的汉 字及其发展产生的冲击呢?本文以历史的眼光,纵观汉字发展史,对计算机汉字输入将会给汉字发展产生的影响 进行了较为深入的剖析。
[8]浅谈CPU发展史及计算机发展前景
黎菁, 电脑知识与技术, 2004,(17), 61-63
本文首先简单回顾了计算机的发展情况,然后介绍了计算机硬件中最重要部分的中央处理器简单原理并着重了它的发展史。然后根据摩尔定律对计算机硬件的发展历史和前景、计算机硬件软件化做了一番介绍。
[9]计算机科学发展史上的里程碑
王亚军, 计算机时代, 2004,(07), 7-8
回顾计算机科学的发展历程,可以发现计算机科学的基本理论和原型技术近二十年来没有什么实质性的突破,计算机科学期待着一场新的革命。
[10]难以忘却的——计算机发展史
谌谦;, 中国中医药现代远程教育, 2004,(07), 47-48
正 计算机是一种机器,是人类发明的一种工具。但是它与人类发明创造的其它工具有着本质的不同。人类发明的机器大多可以看作是人的手或脚的延伸。它们能够完成的是人原本需要耗费体力去完成的事情。而计算机则不同,它可以看作是人头脑的延伸,能帮助人做那些需要耗费人脑力完成的工作。计算机的发展逐渐改变着我们的生活。这当然离不开人类科技知识的
[11]计算机硬件史话——回顾CPU散热器的发展史
小甘;, 少年电世界, 2003,(05), 76-77
正 大家都知道电脑的核心部件是CPU,它能否正常工作至关重要,而保护它正常工作的部件之一有散热器的责任。随着电脑的飞速发展,散热器也取得了相应的进步,它前后经历了从风冷散热到热导管再到最新的液冷散热。它们之间有什么不同,它们又是怎样发展的呢?让我们共同关注一下它们的情况吧。
[12]历届图灵奖得主简介——《ACM图灵奖(1966—1999)——计算机发展史的缩影》
刘建元,康兆华, 中国大学教学, 2000,(06), 27
[13]大脑的延伸──计算机发展史
孙小美;, 中国科技月报, 1998,(07), 60-62
[14]步履维艰 前途光明——哈尔滨方正公司计算机部发展史
张亚欣, 中外企业家, 1997,(11), 6
正 记得在93年9月份,来自总部的消息,北大方正集团成为美国Digtal PC中国唯一总代理,心里踌躇。方正排版方兴未艾,怎么又有时间做PC?何总前瞻未来,迅速做出在方正分公司成立计算机部的决定。由于本人的爱好,这方面又稍有特
[15]计算机发展史上的“世界第一”
中国培训, 1995,(10), 45
正 1.最早的第一种计算工具—— 算筹,是中国发明的,约在公元前一 千多年前,在公元六世纪算筹转变为 算盘。 2.第一把计算尺是1620年英国 E·冈特发明的,是一种直线式对数计算尺。 3.第一台能进行加减运算的机械计算机是法国B·帕斯卡1642年发明的,利用齿轮进行转动。 4.第一个发明二进制的逻辑代数的是英国G·布尔,布尔代数后来成为电子计算机硬件和软件设计的基础。
[16]电子计算机发展史
何力;, 人民教育, 1985,(03), 44
正 第一代电子计算机1946年诞生于美国的陆军阿贝丁炮击场。它是一个庞然大物,占地面积170平方米,重量达30多吨,运算速度为每秒5,000次。它使当时的一切运算工具相形见绌。人工需要一个星期才能完成的弹道轨迹计算,它仅用3秒钟就完成了。
[17]计算机五十年代发展史
陈厚云,王行刚, 自然辩证法通讯, 1983,(04), 39-47
正 五十年代是计算机从实验室走向实用化,从单机试制转向工业生产,计算机应用从科技计算扩展至数据处理的时期。这段历史所揭示的计算机行业的许多重要特征和发展规律,对于计算机发展后进的国家,至今仍然不无启迪。一、从实验室到实用化四十年代后期,美国普林斯顿高级研究所(The Institute for Advanced Study-IAS)云集了许多著名学者和工程师。其中有冯·诺依曼(von Neumann),研制美国第一台电子数字
[18]信息时代的黎明——七十年代计算机发展史
王行刚;陈厚云;, 自然辩证法通讯, 1982,(04), 51-59
正 一、微型机迅猛拓广七十年代计算机发展最重大的事件莫过于微型机的诞生和迅猛拓广。1969年8月,一个年轻的设计人员,现在Zilog公司的创始人F.Faggin,提出了一项大胆的设想:(1)将日本设计的台式计算机中11片逻辑电路压缩成3片,即中央处理机、读写存储器和只读存储
[19]电脑的成长:六十年代计算机发展史
陈厚云;王行刚;, 自然辩证法通讯, 1980,(06), 52-63
目前我国计算机事业的发展状况,从总的来看,大体上相当于美国六十年代初期水平。因此,研究国外、尤其是美国六十年代计算机发展所走过的道路,探讨分析其经验教训,对于我国计算机事业的今后发展是会有所启发、有所借鉴的。本文所作的是一个尝试。
[20]火力发电厂采用控制计算机的发展史
二川原诚逸;胡树松;, 华北电力技术, 1979,(Z2), 82-92+112
日本日立公司应北京电业管理局的要求于1978年6月在陡河电站进行了一个多月的讲课,介绍有关控制机的情况,现将其中“控制机发展史”及“汽机、锅炉数学模型的建立方法”整理印出,以供参考。北京电业管理局控制机讲习班 1979年2月1日
[1]生活情境法在大学计算机信息技术实验教学案例中的应用研究
周蕾;, 长春理工大学学报, 2010,(09), 185-187
针对大学计算机信息技术实验教学过程中出现的问题,以建构主义理论中抛锚式和支架式教学模式为依据,结合学生熟悉的生活情境,设计一套联系紧密的实验教学案例,让学生在教师搭建的脚手架帮助下,完成知识的意义建构过程。实验证明,该模式可以有效提高学生的信息素养和实践能力,提高课堂教学效率和效果。
[2]浅议中职《计算机应用基础》课程教学职业生活化实践
万兰平;, 科技信息, 2010,(29), 275+237
《计算机应用基础》课程是中职学生的基础课程,我们希望学生通过学习这门课程,真正做到将所学运用于将来的职业生活的目的。对于我们职业学校的基础课程教师来说,我们应考虑如何让学生未来的职业生活走进我们的《计算机应用基础》课程教学。如何让抽象的计算机基础知识贴近职业生活?如何使计算机知识运用于职业生活?教师应该尝试创设具有专业职业生活气息,贴近学生认知水平的问题引入,举例职业生活实例,根据知识特点情况,将所教知识,点滴渗透,从而构建职业生活化实践的《计算机应用基础》教学。
[3]改进日常生活中应用计算机检索信息的探讨
权彦清;, 经营管理者, 2010,(23), 367
互联网高速发展,信息爆炸的时代,计算机在我们获得信息的渠道上占据重要地位。本文从细节出发,介绍在日常生活中如何更好利用搜索引擎以及辅助相应的搜索策略,让我们在浩如烟海的信息中找到自己所需要的资料。
[4]影像视频格式在计算机教学中与生活中的应用
谢静波;, 科技信息(学术研究), 2008,(32), 553-554
在我们的教学与日常生活中,音频、视频与我们紧密相连,教学怎样制作多媒体课件;日常生活中有手机、电视、电脑、MP4、MP5等等,怎样用好这些电器;随着网络的高速发展,流式视频格式越来越多,怎样上网看电视,下载视频?这都是摆在现代人前面的问题。本文从四个方面介绍影像视频格式与应用:一、本地影像视频;二、网络影像视频;三、视频格式大转换;四、在教学与生活中的应用。
[5]计算机应用与我国少数民族生活方式
何国强, 广西民族研究, 2000,(03), 29-34
从 1 98 5年起 ,计算机软件开发和大规模产业化的发展将第三次技术革命推进至信息革命时代。电子计算机的应用开始渗透到了几乎一切生产领域 ,也正一步一步地走进人们的生活。本文从生活方式的角度分析计算机对人们的影响 ,以及对计算机在少数民族中应用的忧思 ,并提出利用计算机发展民族地区经济的建议
[6]计算机在生活小区物业管理中的应用
莫继红, 电脑与信息技术, 1997,(04), 29-30
本文提出了用计算技术实现生活小区物业管理的一种方法,重点讨论了物业管理的目标以及应用系统的设计方法。
[7]计算机在日常生活中的应用
赵国求;, 武钢技术, 1985,(01), 74
正 一、手表计算机日本制造了一种既可做手表用,又具有计算机功能的超小型手表计算机。它由手表,键盘和控制器三部分组成,手表可以单独使用,如果与键盘连结在一起,就成了一部完整的超小型计算机。手表内装有中央运算处理装置和五个大规模集成电路,可存储二千个单字和一百个左右的电话号码或七十个人的通讯地址。
软件技术论文范文
软件技术是一个发展变化非常快的行业,软件人才要按照企业和领域需求来确定培养的方向。下面是由我整理的软件技术论文范文,谢谢你的阅读。
软件技术论文范文篇一
浅谈软件项目估算技术
摘 要:由于软件产品自身的特殊性,导致软件项目的估算工作进行困难,估算结果准确性差。为了解决这一问题,产生了很多不同的软件项目估算技术,本文对各种估算技术的主要思想及其优缺点进行简单的阐述。尤其是对功能点估算技术,本文做了详细的介绍,并通过实例加以说明其应用方法。
关键词:规模估算;成本估算;实例应用
中图分类号: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.
作者简介:王颖,女,研究生,软件工程专业;江文焱,男,研究生,软件工程专业。
点击下页还有更多软件技术论文范文
软件开发论文参考文献的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于软件开发文献综述、软件开发论文参考文献的信息别忘了在本站进行查找喔。