软件开发知识论文(软件开发论文总结)
本篇文章给大家谈谈软件开发知识论文,以及软件开发论文总结对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
关于计算机软件论文方面,拜求高手
计算机软件开发论文软件开发论文:
软件工程用于多媒体课件开发的研究
摘要:随着计算机技术和通信技术的快速发展,多媒体课件在教育领域中的使用已经非常广泛。由于开发团队及开发方法的不足,导致课件开发的软件危机,体现为开发成本高、周期长、质量低、使用困难等。基于软件工程开发的模式,可以缓解软件危机,提高开发的效率及软件的质量。
关键词:软件工程;多媒体课件;软件危机
随着计算机技术的突飞猛进,多媒体技术也快速发展着,既而计算机辅助教学广泛普及,各类学科的教学课件应运而生。从理论上讲,大量的教学课件地运用可以减轻教师的工作量,提高教学质量,但实际上,在教学中真正用得好,用得巧的教学课件并不多。开发成本高,软件质量低,重复开发的现象屡见不鲜,很难满足当前日益增长的教学课件的需求。此种不良现象我们称之为“教学软件危机”。要消除此种软件危机,就要有正确的软件开发理念。应用软件工程的思想,可以有效地缓解软件危机,提高多媒体课件开发的成功率[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.
计算机专业毕业论文——软件技术
随着信息全球化的发展,计算机的运用越来越普及。在企业方面管理和培训方面,计算机软件技术发挥了不可替代的作用。下面是我为大家整理的计算机专业 毕业 论文,供大家参考。
计算机专业毕业论文 范文 一:软件技术基础课程教学改革分析
摘要:本文从ldquo;软件技术基础rdquo;课程的特点出发,分析和 总结 了该课程教学过程中出现的各种问题,综合其他学校该课程的教学内容和 教学 方法 ,结合我校教学环境和学生学习的实际情况,对课程教学进行了一些改革探索和实践,并取得了一定的成绩。
关键词:软件技术基础;教学改革;教学研究;
一、引言
随着科学技术的飞速发展,计算机应用已经深入到社会生活的各个领域中。熟练的操作和使用各种计算机应用软件,成为我们工作和生活的必备技能。越来越多的应用软件的设计与开发是由非计算机专业人员完成,开发出的各种软件,也大部分由非计算机专业人员操作和使用。吉林医药学院针对本校生物医学工程专业的学生,开设了ldquo;软件技术基础rdquo;课程。但由于该课程教学内容多样,教学学时有限,学生程序设计水平参差不齐等原因,给教师和学生的教学带来一定的难度。针对该课程的特点,综合其他学校的教学方式,结合吉林医药学院实际情况,对ldquo;软件技术基础rdquo;课程教学进行了一些改革探索和实践。
二、ldquo;软件技术基础rdquo;课程教学现状
第一,课程内容多,覆盖范围广。吉林医药学院的ldquo;软件技术基础rdquo;课程,是在基础课程ldquo;计算机应用基础rdquo;、ldquo;C语言程序设计rdquo;、ldquo;VB数据库程序设计rdquo;课程后开设的课程,其教学内容涵盖了四门计算机专业的课程:ldquo;数据结构rdquo;、ldquo;数据库系统rdquo;、ldquo; 操作系统 rdquo;和ldquo;软件工程rdquo;。在有限的学时中完成该课程的教学,教师与学生都面临很大的挑战。[1]
第二,课程学时有限。吉林医药学院ldquo;软件技术基础rdquo;课程教学有50学时,其中理论32学时。将这有限的学时分配后,各部分教学内容的教学时间更加受限,在短时间内学好该课程,对老师和学生都是极大的挑战。受课时限制,在教学中,教师对枯燥和抽象的知识无法深入讲解,没有时间通过更多的实例对概念和算法演示和说明;学生缺少足够的程序设计 经验 和调试能力,对所学内容无法融会贯通。以ldquo;软件技术基础rdquo;课程的数据结构部分内容讲授为例,对于顺序表、链表、栈、队列、树、图、排序和查找等知识,课堂的大部分时间,只能集中讲解相关知识的概念、思想及算法实现,学生练习操作时也只能是将算法在机器上实现,但具体的应用、程序设计以及调试等技巧课堂上无法细致讲解,同样,对于大部分学生,具体的应用在练习操作时练习不到。[2]
第三,学生学习目的不明确。学生在学习时,需要了解所学内容在其未来工作和生活中的目的和意义。但是,由于ldquo;软件技术基础rdquo;课程涵盖教学内容多,授课学时少,导致学生学到的知识浮于表面,课堂讲授以概念和理论为主,缺少解决实际问题经验,学生对所学内容的重要性、实用性了解不深。学生学习ldquo;软件技术基础rdquo;课程后,只掌握了一些基本概念和算法,但无法将所学应用于实践。[3]
第四,学生的程序设计水平参差不齐。吉林医药学院ldquo;软件技术基础rdquo;课程开设于学生大二下学期,学生在学习该课程前,已经学习了ldquo;C语言程序设计rdquo;,但C语言课程对于第一次接触程序设计的学生来说,概念抽象且规则繁多,掌握困难。对于C语言中数据的存储、算法编写、程序设计及调试等尤其畏惧、困惑,加深了接下来数据结构部分学习的难度。又由于ldquo;软件技术基础rdquo;课程与ldquo;C语言程序设计rdquo;课程之间间隔一个学期,这让学生本就不牢固的C编程知识在学习新的内容时更加困难。
第五,注重培养学生的应用能力。学生学习ldquo;软件技术基础rdquo;课程是为了用所学知识解决实际问题,学生的实践能力的培养是本课程教学的重中之重,如何更好的提高学生的学习兴趣,加深学生对知识的理解,同样是该课程的教学难点。以上是吉林医药学院ldquo;软件基础基础rdquo;课程面临的主要问题,各个问题相互影响和制约,进一步影响到ldquo;软基rdquo;课程的教学效果和学生学习该课程的兴趣和效果。针对以上问题,考查其他院校的教学方法和教学手段,吉林医药学院的ldquo;软件技术基础rdquo;在教学和实践环节进行了改革探索,取得了一定的成果。
三、课程教学改革探索
第一,利用现代 教育 技术,实例化教学。教材是学生获取知识的直接方法,在选择教材方面,选取案例详细的教材,弥补教学学时的不足。理论课教学是学生获取知识的重要手段,我校的教学环境优秀,每一个教室都配备有多媒体等现代化设备辅助教学,利用先进的教学设备,制作优秀的教学课件,增加动画等元素,将晦涩难懂的理论知识,通过直观的例子和生动的讲解展示给学生。如讲解数据结构中栈的存储结构、定义及算法时,利用学生熟知的手枪中的弹夹讲解;讲队列相关知识的时候,利用学生最经常使用的车站买票等生动形象的例子。再如,讲解数据库中范式概念的时候,利用学生熟悉的班级学生作为对象,分别解释各个范式的区别hellip;hellip;
第二,对比归纳,强调总结。受到课时等客观条件限制,经多轮授课发现,学生在学习ldquo;软件技术基础rdquo;课程知识时,会有囫囵吞枣的感觉,知识无法吸收透彻并应用,已经开始下一部分知识的学习。教师需要利用自己的教学经验,在讲授过程中对知识进行凝练,对相似知识多进行归纳总结,用尽量少的语言复习与对比相关内容,让学生做到温故而知新。
第三,强化实践教学,提高动手能力。授人鱼不如授人以渔,相对于教师,学生才是学习的主体,学生学习的主动性和积极性直接影响着学习的效果。勤能补拙,督促学生利用课余时间复习C语言等学过的知识,利用实验课程序调试的机会,让学生自己讲解程序并引导学生对程序跟踪,仔细观察程序变量的变化,总结经验,对程序进行优化,打下良好的程序设计基础。吉林医药学院软件技术基础课程的实验有18学时,实验课上除了验证课堂讲授的内容,学生无法更进一步的学习深入的内容,为更好的培养学生独立操作能力和实际应用能力,我校为生工的学生开放实验室,提供自主上机练习环境。对有进一步学习需要的学生,在每周三下午开设第二课堂,由有经验的老师对学生有针对性的讲解程序设计和软件开发的方法和技巧。
第四,采用课程设计,督促学生自主学习。为更好的激发学生学习的积极性和主动性,在数据结构和数据库部分基础知识学习后,分别要求学生进行课程设计。在数据结构部分,为每一位学生提供不同的设计题目,限定提交作业时间。为解决学生可能是网络下载或他人协作帮助完成作业的情况,需要学生对程序进行注释,要求学生能读懂程序。针对数据库部分,采用学生分组完成数据库题目的方式,数据库题目可采用教师命题和学生选题的方式,学生分组采用学生自主分组,要求每组5-6成员,每位成员负责数据库的不同部分,最后根据每人负责的设计难易程度评价学生的成绩。采用课程设计的方式,给与学生学习的紧迫感和压力,对于程序设计能力稍差的学生,适当降低要求,达到锻炼学生实际动手能力、培养学生团队合作意识和协同操作能力,为学生的工作打下基础。
四、结束语
教学是一项永无止境的工作,在教学过程中,教师要根据学生的专业情况和个人学习情况及特点,有针对性的进行教学方式和教学内容的改革,运用适当的教学模式,把知识传递给学生,培养学生独立分析问题、解决问题、将所学知识综合应用于实践的实践和创新能力。
参考文献:
[1]张小瑞,孙伟,张自嘉,杨双翼.《计算机软件技术基础》教学改革探索与研究[J].中国科技信息.2012(04):129~135.
[2]陈帝伊,马孝义,辛全才.ldquo;计算机软件技术基础rdquo;课程教学方法探析[J].计算机教育2009(22):68~69.
[3]伦向敏,门洪,兰建军.《软件技术基础》教学改革探析[J].课程教育研究,2014(27)
计算机专业毕业论文范文二:新时期计算 机软件开发技术研究
摘要:作为一门新兴学科,计算机软件在短短的十几年中实现了跨越式发展,当今时代计算机软件技术依旧保持着旺盛的发展潜力,为人类的前进做出了巨大贡献。该文主要从计算机软件开发技术的现状、主要方式、应用以及发展趋势等方面论述了计算机软件开发技术的应用及发展趋势。
关键词:新时期;计算机开发技术;应用;趋势
1计算机软件开发技术概述
一般来说,计算机软件主要包括两大部分:应用软件和系统软件。计算机应用软件指的是为了帮助用户解决使用过程中的具体问题而设计的软件,比如娱乐、管理、文档等方面的软件;系统软件则指的是计算机本身所携带的软件,主要用于保障计算机的运行、维护等等。计算机应用软件和计算机系统软件的作用是相同的,都旨在为用户提供更好的上网体验和实用环境。从本质上来看,人们在使用计算机时运行的最为频繁的是计算机的软件系统而非计算机本身,可以说,没有计算机软件,计算机就无法正常使用。20世纪中期,世界范围内的计算机软件开发技术较为落后,仅仅停留在手工软件开发阶段,工作效率低下,远远不能满足人们日益增长的需求。伴随着全球经济的飞速发展以及第三次科技革命浪潮的开始,计算机软件开发技术也取得了长足发展,人们对其的认识也发生了变化,软件开发一词重新被定义:为了实现计算机的程序运行而采用的规则以及方法等相关的文档等都属于计算机软件的范畴。发展到当今时代,计算机软件开发技术大致经历了程序设计过程、软件过程、软件工程三个时期,随着时间的变化,计算机软件开发技术已经日趋成熟。
2计算机软件开发技术现状
2.1计算机软件开发技术现状
当今时代无所不在的网络给人们的工作生活方式带来了翻天覆地的变化,而支撑着互联网发展的正是计算机软件技术的开发和运行。随着计算机在全球范围内的普及,国内的计算机软件开发技术也迅速成长,为适应市场人才需求,各大高等院校设立了与计算机软件技术相关的专业及方向,无论是高职院校还是重点院校的专业人数比重都呈上升趋势,从事于软件开发行业的人才不断增多。
2.2计算机软件开发技术重要性
正是有了软件开发技术的不断改革创新,才推动了整个互联网行业的飞速发展,可以说计算机软件开发技术对当代信息社会的发展有举足轻重的作用,作为整个信息网络的核心部分,计算机软件技术开发将网络信息传输和远程控制变为了现实,为人们的生活、工作提供了极大地便利。计算机软件开发技术的应用大大提升了信息网络环境的安全性、隐私性,保证人们在畅想网络所带来的自由时不会受到其他因素的干扰,大大提升了人们的体验感。此外,软件技术的开发和应用可以促进计算机使用和软件技术之间的问题,实现两者有机融合,从而拓展了计算机的适用范围和适用领域,推动人类社会向前发展。
2.3计算机软件开发技术问题
首先,信用值计算问题。这是计算机软件技术开发过程中的重要问题之一,其关键在于信用机制,由于没有统一的信用机制,因此,会导致计算方法的不同。多数情况下,采取的是乘性减、加性增的方法,加性增主要是用来处理信誉度增加的问题,这样可以对恶意节点形成约束作用。其次,是数据安全问题。虽然现阶段的计算机软件开发技术应经十分成熟,但是在面对数据传送过程中的数据丢失等问题时,还是无法有效遏止,很容易造成机密文件被窃取泄露的问题,这对相关人员、机构都带来了极大的损失。最后,是版权问题。这是计算机软件开发技术中最严重最泛滥的一个问题。由于我国版权保护法规还没有完全形成体系,再加上网络资源的共享性等因素,软件技术开发的成果很容易被窃取,这大大降低了软件人员的工作效率和积极性,也会对我国的软件行业发展带来消极影响。
3计算机软件开发技术主要方式
经过几十年的发展,计算机软件开发技术的方式已经进入了成熟阶段,各方面理论知识也日臻完善,总的来说,现阶段最主要的软件开发方式主要包括计算机软件生命周期法、原型化方法和自动形式的系统开发法三种方式:3.1计算机软件生命周期法该软件开发方式亦被称为结构化系统开发方法。是三种方式中最为普遍的一种使用手段,计算机软件生命周期法着眼于软件的整体性和全局性,主要用于复杂的系统开发阶段。这种方式将软件的开发阶段划分为若干个子阶段,降低了原有软件系统的难度,便于更好的操作和维护。计算机软件生命周期法的缺点在于开发耗时长,各阶段之间缺乏独立性,前后联系密切增大了工作量。3.2原形化方法这种开发方式主要指的是相关的技术人员在商讨决定一个统一的软件模型之后进入开发阶段并不断修改调整,直到达到用户的要求即可。这也是一种较为普遍的开发手法,其优点在于以用户的需求为导向目标性强,可以降低不必要的成本和技术浪费,缺点在于适用范围较小,只可用于小型简易的软件系统开发。3.3自动形式的软件开发方法主要特点是在软件开发过程中对软件的开发目的和内容详细说明,对开发过程则不过多赘述,其优点在于可以根据软件的要求自主设计编码。
4计算机软件开发技术应用
任何一种技术的发明和应用都是为了更好地服务于人类,提升人类的生活方式和工作方式。因此,开发计算机软件就是为了给人们带来更多的便捷性、高效性,满足人们的各种需求。举例来说,在对两个不同的软件系统VB6.0+Access和Web+_ml+Active 进 行应用时,就要根据软件本身的特点来满足用户的不同需求。由于第一个软件的版本与微软的版本相同,因此在安装时就可以直接在电脑上运行,无需其他辅助的系统软件,安装成功后,该系统在使用时操作流畅快捷,使用方便,并且没有其他多余的附加产品影响用户的使用,因此,该软件的用户需求就会不断提升,可能会因为用户过多而对使用体验造成影响,这就需要人工进行调整。而第二种软件在安装时由于受到自身条件的限制,在安装时会在一定程度上降低用户使用量。这就说明在进行计算机软件技术开发时要坚持以人为本,将用户的需求放在首位,最大程度的满足用户的体验,唯有如此,才能获取更多的使用率和利润。
5结束语
计算机软件开发技术的发展趋势主要表现在以下几个方面:
1)网络化。
网络化是计算机软件开发技术的主要目标,其网络化的发展方向势必会为人类的生活生产方式产生巨大影响,人与物之间相互连接物联网将会是以后计算机软件开发技术的主要研究内容。
2)服务性。
计算机软件在开发应用之前就是为了解决人们处理问题时的难题,未来的计算机软件开发技术将借助先进的开发理念更全面、更细致的满足用户的体验和需求,所以服务性是其最根本的特征,也是今后不断向前发展的动力。
3)智能化。
计算机软件开发技术随着社会的发展逐步向智能化方向迈进,随着技术的不断进步,计算机软件开发技术会更加趋向人性化,智能化发展方向是人类计算机软件的重要进步,是高科技的一次突破性进展。
4)开放化。
计算机软件开发技术的开放化主要体现在技术开发人员之间的技术交流和共享,在技术上则指的是软件源代码的开放和软件产品的标准化,从业人员之间的相互学习可以打破行业之间的壁垒,碰撞出更多的思维火花,从根本上提高软件产品的质量,实现整个软件行业繁荣发展。
参考文献:
[1]范伟.浅论新时期计算机软件开发技术的应用及发展趋势[J].计算机光盘软件与应用,2014(13):80-80+82.
[2]刘芳.新时期计算机软件开发技术的应用及发展趋向[J].中国新通信,2015(13):89-89.
[3]左岑.试析计算机软件开发技术的应用及发展展望[J].才智,2013(12):384-384.
[4]刘凯英.浅谈计算机软件开发技术的应用及发展[J].无线互联科技,2013(1):69.
[5]潘其琳.计算机软件开发技术的现状及应用探究[J].信息技术与信息化,2015(3):249-251.
计算机专业毕业论文mdash;mdash;软件技术相关 文章 :
1.计算机专业毕业论文范本
2.计算机专业毕业论文大全参考
3.计算机软件技术专业论文
4.计算机软件技术的毕业论文
5.关于计算机技术应用专业毕业论文
6.计算机软件本科毕业论文
软件技术论文范文
软件技术是一个发展变化非常快的行业,软件人才要按照企业和领域需求来确定培养的方向。下面是由我整理的软件技术论文范文,谢谢你的阅读。
软件技术论文范文篇一
浅谈软件项目估算技术
摘 要:由于软件产品自身的特殊性,导致软件项目的估算工作进行困难,估算结果准确性差。为了解决这一问题,产生了很多不同的软件项目估算技术,本文对各种估算技术的主要思想及其优缺点进行简单的阐述。尤其是对功能点估算技术,本文做了详细的介绍,并通过实例加以说明其应用方法。
关键词:规模估算;成本估算;实例应用
中图分类号: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.
作者简介:王颖,女,研究生,软件工程专业;江文焱,男,研究生,软件工程专业。
点击下页还有更多软件技术论文范文
软件开发毕业论文怎么写?
软件开发的毕业论文主要写的是你开发软件的整个过程。
可行性分析,需求分析,总体设计,详细设计,编码,文档,测试等都要写的。
主要写的还是前五项是很重要的。文档也很重要,文档也是验证是不是一个全面的完整的,好的软件开发的标准之一,不可忽略。
1、验收人员:由各专业答辩委员会聘请校内或学院内熟悉计算机软件技术的人员组成若干个软件验收组,负责本学院的软件验收。每个验收组由3名具有中级及以上职称的教师组成,设组长1人,组员中一般应包含1名所验收软件学生的指导教师。
2、验收方式:由学生向验收组提交论文中所涉及的计算机软件部分,包括源程序、执行程序和使用说明,将源程序编译成执行程序后并运行,在程序真实、运行结果正确和程序文本资料完整的情况下,当场将源程序和执行程序拷贝到存储介质(如软盘、光盘等)上,连同程序文本资料一起交验收组,即可通过验收。软件验收未通过者,不能参加毕业设计(论文)答辩。
验收组的工作应实事求是,认真负责。验收结束后,由验收组填写软件验收报告,并将验收报告与全部验收材料(包括存储介质、资料等)一并交学生所在学院。
3、验收时间:验收工作应安排在毕业设计(论文)工作完成后,答辩之前。各专业答辩委员会在进行答辩资格审查时,应将是否已通过验收作为审查的一项重要内容。
软件开发知识论文的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于软件开发论文总结、软件开发知识论文的信息别忘了在本站进行查找喔。
-
上一篇
seo优化形式(seo主要优化) -
下一篇
软件开发是什么(开发软件需要学什么)