前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的计算机软件工程论文主题范文,仅供参考,欢迎阅读并收藏。
在领悟SWEBOK基本精神,认真学习GSwE2009及《规范》的基础上,针对一般行业院校硕士生培养目标是以培养从事行业软件开发及项目管理工作的软件工程和信息化应用人才为主的现状,笔者建立计算机科学与技术专业民航特色的高级软件工程教学大纲,见表1。表1的教学大纲设计兼顾SWEBOK及GSwE2009的核心知识体系,对SWEBOK的核心知识覆盖率达到76%,对GSwE2009覆盖率达到63.6%。然而,不管是SWEBOK还是GSwE2009,其核心知识点都是针对整个专业课程体系而设置,SWEBOK的《规范》建议494学时的最小核心学时数,GSwE2009则建议270学时的核心学时及200学时的交流学时,要在36学时内完成上述核心知识的详细讲授,显然不可能。因此,表1的设计本着宏观上抓概念、抓流程,微观上抓工具、抓编程的基本思想,在教学手段上,采用课内外一体化教学模式,要求学生在课下完成所有仿照案例的完整开发过程;在教学方法上,以案例推动软件过程概念及软件编码的学习,以工具熟悉软件过程管理及软件质量管理。要求通过该课程的学习,学生能熟练掌握软件开发过程的宏观概念,最终交付项目计划报告、基于MSProject的软件项目过程管理文档、经过3次迭代的原形软件及相关需求分析和软件设计文档,完成课程总结报告。
2民航特色的教学案例设计
教学案例设计是高级软件工程实施的核心内容之一,考虑到选课的大部分研究生已经具备基本的编程能力,但缺少软件过程管理的相关概念,结合中国民航大学特色及研究生就业趋向,笔者参考国际研究生教育现状[5]及文献[6]的模式,开发了一套基于民航航材管理业务的教学案例,用以完成课内教学。该教学案例以某航空公司航材管理系统为背景,采用敏捷开发思想进行过程管理,循序渐进,分3次迭代完成简单的原型系统开发。第1次迭代在介绍航空公司航材管理需求的基础上,建立系统的业务环境图,结合需求分析方法,利用ROSE工具建立业务用例及业务术语表。进一步地,缩小系统范围,只针对高价周转件的增删改查操作建立领域对象模型,包括领域用例模型、用例术语表、领域类模型,同时完成基本的编程实现。第2次迭代首先讲述体系结构设计的基本方法,基于MVC框架建立更适合信息系统开发的体系结构框架——PCMEF(表示—控制—中介者—实体—基础)[6]。在此基础上进一步细化第1次迭代需求,功能上增加高价周转件的供货方管理、合同管理功能;其次建立用例模型和用例文档,采用序列图、通信图、交互图等描述事务处理流程,进行概念类设计,对第1次迭代的设计按照PCMEF框架完成体系结构重构,完成用户界面设计,最终编码实现。第3次迭代增加高价周转件使用统计报表、机型使用记录、考虑机务维修周期的周转件库存管理等功能,设计上重点考虑数据库的安全性与完整性设计,同时基于JavaEJB体系结构建立业务组件,完成较高水平的软件编程;编写测试用例,完成整体测试。在上述3次迭代完成后,要求学生写出项目总结。笔者所在学院拥有一个行业特色鲜明的民航信息系统仿真实验室,该实验室目前拥有民航机务维修仿真实验系统、机场信息仿真实验系统、航空公司运行控制仿真系统、民航全球分销仿真实验系统等行业主流信息系统的仿真平台。学生在前序课程学习中,对这些信息系统的基本功能和相关业务已经有了一定程度的了解。
3教学组织与管理
3.1项目驱动教学法课程教学借鉴CDIO的教学思想,在讲授完软件过程模型及软件建模语言后,将学生每5人分组,每个人承担不同的角色,角色包括甲方需求提供人员、乙方项目经理、乙方质量保证人员、乙方编程人员(2人)。在整个学习过程中,经过一定时间后,每个人的角色可以互换。在讲授完案例1后,教师可以要求学生结合某个民航信息系统仿真系统,选择感兴趣的民航业务领域,分组完成项目计划任务书并使用MSProject完成项目的进度安排、人员分工、虚拟费用预算等。进一步地,使用Rose工具进行需求分析及UML建模,完成用例图、术语表、类图等分析设计,最后进行第1次迭代的编码并编写测试用例完成测试。在讲授完案例2后,教师可以要求学生在功能扩展的基础上,采用PCMEF模式对第1次迭代程序进行重构并完成编码与测试工作,同时要求项目经理使用MSProject,跟踪和检查项目实际进度与虚拟费用预算,进行适当调整。本次学习重点在于体系结构设计、增量模式开发思想。在讲授完案例3后,教师可以要求学生继续扩展功能,重点进行数据库与业务组件设计。
3.2成绩评定在课程进展的每个阶段,教师展示实际软件公司的文档范例,要求每组提交该次迭代的相关文档,进行软件演示并答辩。答辩内容包括项目计划制订、人员分工、虚拟成本、进度偏差分析、预算偏差分析、程序设计技术、缺陷分析等。评委由教师及各组项目经理组成。成绩评定包含文档规范性、设计合理性、实现正确性、项目过程管理执行情况4项内容。课程整体结束前,由3次迭代的评定成绩取均值作为小组平均成绩,最后小组项目经理和教师共同依据小组中个人对项目的贡献以及小组均值打分,将其作为个人成绩。
4结语
1工程造价管理模块中的计算机软件技术
1.1计算机软件技术能实现工程造价的信息化管理
随着现代信息技术体系的不断完善,计算机软件系统在社会各个领域中的应用越来广泛,尤其是在工程造价管理中,其应用范围不断扩大。在工程造价管理中,其需要经历的时间比较长,所需要的信息量比较大。而对工程造价方法的有效控制,能有效提高工程建设的应用效益。通过将计算机技术和工程造价管理进行有机的结合,以转变传统的工程造价操作模式与方法,从而实现对现代工程造价的规范化、现代化及科学化的管理,以提高建筑工程造价的管理质量及效益。在工程项目建设中,计算机软件技术的应用,所要面临的调整力度比较大。由于目前的社会主要以市场为导向,通过转换经营方式,以提高工程造价管理的应变能力。因此,这就要求对工程项目建筑中的导向模块进行进一步的优化,并对投资估算、设计概算及施工图预算等版块进行科学、合理、协调控制,通过确定合同价,以确保对当前竣工结算模块的更新与优化,以进一步完善信息化管理体系,从而确保管理环节的科学开展。通过实行计算机软件技术,能有效实现工程造价的信息化管理,使造价管理更加规范化及高效化。工程造价信息系统业务流程如图1所示。
1.2计算机软件技术能提高工程造价管理工作的效率与质量
目前,在我国工程造价管理中对计算机软件的广泛应用,不仅是市场经济的发展需求,也是时代的发展需求。通常情况下,工程造价管理工作与工程控制量、竞争费用及放开价等模块的工作之间有着密切的联系。这就要求要进一步完善工程造价整体管理体系,以积极优化定价权,从而满足施工企业的实际需求。因此,相关人员就要对各种材料的品种及价格等进行全面的分析,通过获取先进的信息,以确保加工与处理模块等方面的协调,从而满足造价管理工作的需求。由于工程造价管理工作量非常多,工作强度比较大,且其应用效益也非常低下,容易导致各种工作差错的出现。通过应用计算机软件技术,能有效实现对工程量的合理控制,并有效降低工作人员的工作强度,从而有效降低造价管理工作中差错问题的发生率。不仅能有效节省大量的人力、物力及财力,还有效提高建筑工程造价管理工作的效益与质量。
2计算机软件技术的优化
2.1模式识别技术的应用,促进计算机软件技术的优化
目前,现代软件技术在建筑工程造价管理中的扮演着重要的角色,如在工程量计算软件的应用,其是我国当前建筑工程造价管理中最为常用的技术方法之一。在图形法中,要求专业人员要不断提升自身的识图能力,在计算机软件操作下必须要对图纸的构件、尺寸等方面进行深入分析,以实现软件系统的自动化设计,通过对工程量进行有效的计算,以更好地计算出工程量清单,从而满足对工程图纸进行合理扫描的作用与确保光栅文件的有效应用。因此,必须对我国当前建筑工程造价计算机软件处理模块的优化。通过应用模式识别技术,能更加有效分析其构件类型及其几何参数,以更加准确地计算工程量。因此,设计单位应加强对CAD文件的应用,以实现在CAD环境模块下的模式识别工作,确保CAD软件的合理应用,从而配合建筑工程的各个施工造价环节。在建筑工程设计过程中所采用的CAD软件可直接加入构件参数属性,并对各种构件对象进行定义,在设计结构与建筑时,应使用对象设计建筑物,并非直接采用线条作图。计算机软件技术在工程造价的应用过程中,需要要加强对该软件功能的重视。该软件其实也是一个套价软件,通过对建筑工程造价进行准确的计算,以促进其工程领域的有效开发。通过优化各种造价模块,不仅能确保造价软件的正常使用,还能有效满足工程量清单的各项工作需求,有利于提升工程造价的综合效益。另外,通过进行工程造价计算软件的应用,以找出定额子目,并于造价软件中输入,选择预设好的取费表模板,并进行计算汇总,能再短时间生成用户所需要的报表。其中,计价、汇总、分析及显示等几个步骤可在较短的时间内实现,有效提高工程造价的效率,可以减轻造价人员的工作强度,使造价人员能将更多的时间及精力投入到更加关键的事务中去,从而大大提升概预算的效率及质量。
2.2企业内外信息网络化模块的优化
随着现代计算机技术的不断发展,工程造价管理模块必须要基于网络的基础上进行生产,因此就需要完善的工程造价信息网络建设体系为保障,以确保企业内外信息网络化模块的优化。如服务器、浏览器等模块等协调,以确保数据库的有效开展及利用,通过优化数据库开发技术,能有效实现工程造价管理的软件网络化。基于网络下利用互联网技术实现对工程造价的管理,从而实现对投资项目评价、设计概算、建筑辅助设计、施工图预算等软件、建筑业的价格信息网与企业内部信息资料库之间建立无缝连接的通道,从而实现数据信息在项目评估、工程设计及造价管理等环节中的有效、低成本转移与共享。因此,在现代工程造价工作模块中,对信息处理集成化与智能化等模块进行合理协调是非常关键的,能有效满足当前信息处理的需求,如对定额编制、投标报价及施工管理等模块的协调,通过完善数据收集体系,以保证造价指标系统及工程设计等模块的有效协调,从而实现CAD和工程造价管理系统的有机结合,以更加有效地开展CAD系统绘图模块,其管理模块活动图如图2所示。因此,可通过CAD软件将工程量准确计算出来,再利用局域网将工程量传递至工程造价应用软件中,再根据结构部位与尺寸,在价格信息资源库中实现对数据的自动提取及计算。因此,不仅能有效保证设计数据的准确性与合理性,还能有效提升招标投标工作的自动化水平,从而实现集成化与系统性的计算机技术造价软件,有利于提高工程造价管理的效率与质量。
2.3产品专业化与接口标准化等模块的优化
通过优化产品专业化与接口标准化等模块,能有效提升工程造价的应用效益。这就要求要对当前我国的工程造价水平及功能等方面进行分析,然后利用先进的造价软件,以确保公司自身软件的有效设计。由于工程造价所涉及的范围非常广泛,无需强调对造价工程各方面的强大,只需在某个具体造价功能中做强做大即可。因此,通过实现各造价软件之间的数据接口标准化,更能有效提升工程造价软件的兼容性,以优化造价软件体系,从而提升造价软件的应用范围,并进一步提升造价软件的整体应用水平。另外,还需加强对相关人员对该模块的重视,以做好计算机软件技术在工程造价中的应用工作,从而提升其综合效益。工程造价信息系统如图3所示。作为建设领域信息化重要组成部分,计算机软件技术在现代工程造价管理中的重要非常关键,是工程造价管理的重要支撑之一,同时也是未来工程造价管理活动的发展趋势。
2.4基于Internet的造价综合信息服务系统
在建筑工程造价管理中,还可以在Internet网络的基础上进行工程建设造价信息服务的综合网站。建筑工程内部可通过浏览信息网站以获取最新的材料价格信息。通过建立造价信息综合网站,能有效实现工程造价信息实现更新的目的。基于Internet网络,建筑工程内部能更准确、全面及方便地收集来自全国各地供应商的报价,并为工程造价人员提供更多的数据参考与使用。
3结束语
[关键词]计算机软件工程;维护意义;维护措施;维护方法
[引言]随着这几年我国经济的不断发展计算机对于我们的生活来说不仅仅是一种电子技术,它还是国家现代经济发展迅速的象征。计算机技术的广泛使用给我们的生活带来便利,带来了一系列的积极性影响。但是很多事物都是有双面性的,现在越来越多的群众开始质疑计算机软件的安全性,以及能否保障自身私密信息的安全性。因此国家越来越重视计算机软件的维护。
1重视计算机软件工程维护的意义
1.1保证用户安全的基础
随着我国知识经济的不断发展,计算机技术已经被运用到各个地方,涉及到我们生活的方方面面。各行各业的发展也往更加信息化、科技化的趋势进行,比如自动化生产、机器人代替廉价劳动力、信息储存与运用等方面,这些方面都与计算机技术密切相关。所以,如果计算机的软件出现了一系列的问题,包括计算机软件被人恶意入侵或者系统崩溃等方面都会给人们的日常生活带来许多的麻烦,更严重的是会给群众带来更多的经济损失。因此,我们重视对计算机软件工程的维护,是群众日常生活与沟通的安全的保证[1-3]。
1.2促进计算机软件的开发
国家与群众注重计算机软件维护于检查措施的重要性,会进一步提高科研人员对计算机软件开发的动力。首先,因为大家重视计算机软件的维护与检查,所以在后期我们能在检查与维护的过程中不断地发现计算机软件工程存在的漏洞。这也有助于计算机软件的开发人员不断地改进与弥补计算机软件工程的不足。其次,在不断地发现问题与改进问题的过程中,也可以不断地提高科研人员的技术水平,促进科研人员更好地开发计算机软件。
1.3提高计算机软件的运行能力
通常来说,大家都会认为判断计算机软件的运行能力是以计算机软件能力为主。但实际上,判断计算机软件的运行能力,不仅是体现在计算机软件的能力上,更是体现在计算机软件的维护能力上。在我们不断地检查与维护计算机软件的过程中,我们个人对于计算机的了解也在不断地加深,不停地修补计算机软件的漏洞与不足,也有助于我们进一步提高计算机软件的运行能力[4]。
2计算机软件工程存在的问题
2.1网络犯罪高发率
随着我们生活水平地不断提高,计算机软件被应用在我们生活的个、方方面面,难免有些计算机缺乏定期的检查存在一定地安全隐患。这时候,就有许多的不法分子,利用计算机软件的漏洞进行违法犯罪。他们利用一些软件,将病毒嵌入在计算机软件工程的漏洞中,盗用计算机用户的私有账户,偷窃计算机软件的用户的相关私密信息,并将这些信息转卖给其他人。这种网络犯罪已经严重地威胁与侵占了计算机用户的人身与财产安全[5]。
2.2流氓软件猖獗,软件质量下降
流氓软件,就是当我们在使用浏览器查阅某些东西的时候,会突然出现的弹窗网页或者是一些带有网页链接的浮动广告。这些广告通常情况下很难被关闭或者强制运行。流氓软件也可以是指一些无法卸载的软件。这些流氓软件最大的问题就是,它们大多带有病毒,计算机的使用用户稍不注意就会被这些病毒侵入计算机,带来一定的经济损失。或者有些流氓软件会长期地占用计算机的使用内存,这些都会很容易潜移默化地影响计算机的使用寿命,导致计算机会过早地报废等问题[6-7]。
2.3计算机软件维护的次数较少
因为许多的软件公司需要耗费大量的人力、时间与资源去维护计算机软件工程,所以大多数的软件公司会忽视软件维护这个事情,增加了一些潜在的危险隐患。实际上,许多软件公司无法将维护软件与促进软件公司发展的两方面相平衡,所以会导致一系列的问题。因此,大部分的软件公司内部都会有一些大大小小的问题,我们需要引起对这些问题的重视。
2.4非正常状态的系统盘
计算机的运行情况与系统盘的状态是离不开的,c盘的系统盘的内存一般是需要15G左右。在计算机用户的日常生活中,大家会下载一些软件,这些软件会占据大多数的内存,这会影响计算机的有序运行。在下载软件的同时,还有可能会下载一些伪造插件,它更加会占用计算机的存储空间,降低计算机使用的速度与安全、功能性[8]。
3计算机软件工程维护的措施
3.1选择合适的程序语言
在维护计算机软件工程的过程中,选择合适的程序语言也是非常重要的一个方面。通常情况下,我们将计算机语言称作低级语言,计算机语言对于大多数的人来说是很难学习的,所以如何维护计算机语言是非常困难的。因此我们可以对计算机的高级语言进行维护和编辑,我们可以将高级语言进行恰当地区分与选择,同时用不同地维护方式去对待不同的高级语言。提高高级语言的使用率,更有助于提高计算机的性能、识别能力,同时进一步使得计算机的维护工作变得更加简单、方便。
3.2保证计算机软件工程的质量
科研人员在软件工程的开发阶段时,为了提高软件工程的可控性与操作性,科研人员会注重提高软件的整体质量与降低成本的两方面。同时这也有助于解决软件开发过程中出现的部分问题。举例来说,当软件出现序列错误的问题,因为我们进行软件维护,可以得到及时的解决,进一步促进了工作的轻松、简单。同时在科研人员开发软件的过程中,一些科研人员会使用一些程序设计提高计算机的使用与维护性能,在一定程度上也能减少计算机软件工程在开发时的错误[9]。
3.3做好基础维护的准备
虽然在我们的生活中计算机的使用已经如此常见,但是很多的计算机用户还是缺乏维护计算机软件工程的意识。他们大多数都会认为,计算机只要在日常的使用中没有出现什么太大的问题,没有太卡机之类的,就不需要定时的对计算机进行维护与杀毒。这种想法非常普遍但是往往会引发一些软件的安全问题。计算机维护不仅仅是科研人员与软件公司的事情,也是每个计算机用户的事情。计算机用户需要培养自己对计算机软件维护的意识,定期地对计算机进行杀毒等,以此来促进计算机运行的流畅。
对于计算机的用户来说,可以在计算机中安装防火墙、杀毒软件等。优秀的杀毒软件有助于使用计算机的用户平时对计算机软件进行维护。用户平时也应该不定期地清理计算机的内存来维护计算机的正常运行。因为如果计算机的内存被过多的占用,会影响计算机的运行速度、效率,导致计算机软件工程的运行不畅通。因此,计算机的用户可以使用一些清理的软件,将垃圾数据与不常用的软件进行清理,以此来解决计算机的卡壳的问题。并且用户尽量少浏览没有安全证书的网站,这些网站比较容易存在一些病毒、木马等,会增加电脑中毒的几率。最后还有就是,一些陌生人发来的邮件与链接,不要轻易地打开,很容易将病毒引进计算机里,导致计算机在日常的使用中出现一些问题[10]。
3.4优化计算机系统盘
系统盘在计算机的日常运行中占据非常重要的地位,它会直接性地影响计算机软件的运行质量。因此在我们的日常使用计算机的过程中,不能安装过多的软件,将系统盘、C盘占满,不然会影响到计算机的运行效率。为了保持计算机运行的流畅,我们需要定期地优化计算机的系统盘,清理系统盘里不必要的文件。大多数用户都会使用杀毒软件去清理垃圾,但是杀毒软件的清理是并不彻底的,只能暂时的减少垃圾对于计算机运行速度的影响。因此,最根本的方法是隔一段时间就重新安装系统,最重要的是记得将重要的文件备份以免不必要的麻烦。根据之前的一份调查显示,用户最好将系统盘预留15G左右的内存,会更有利于计算机的运行快捷。
3.5完善病毒防护机制
威胁计算机安全性的最主要的问题就是网络病毒的侵入,因此我们需要重视对计算机的病毒防护。首先,计算机的用户应该安装一些较为可靠、比较大众的杀毒防护软件,比如金山毒霸、360等。这些杀毒软件不仅可以阻止病毒的侵入,还可以进一步检查,提高计算机系统的安全性,保障计算机的正常运行。病毒的入侵很容易就会导致计算机的崩溃与用户的信息泄露,因此用户需认真地看待病毒的危害性。计算机的病毒防护软件,一般情况下,可以识别并拦截出部分病毒、木马,但是也存在着识别不出部分病毒的情况。这时候需要用户使用防火墙的技术,进一步对计算机的信息进行过滤与检查,减少病毒入侵计算机的情况。除此以外,我们还要定期查找软件漏洞,因为病毒攻击的实质是攻击计算机的软件漏洞。用户定期的对软件漏洞进行检测,有助于降低病毒对计算机软件工程的攻击率,进一步减少计算机受到的伤害。
4计算机软件工程的维护方法
4.1预防性与修改性的维护
我们要做好对计算机维护的准备工作,对计算机软件的程序进行设计与编写,以及对即将进行测试的部分进行修改。这有利于计算机软件工程后续维护工作的便利。对计算机的修改性维护是指在计算机的使用过程中,对计算机软件出现的一些错误进行及时的整改,包括设计、逻辑性等方面的问题[11]。
4.2完善性与适应性的维护
完善性的软件维护是指在计算机软件使用一段时间之后,完善计算机软件的功能加强与扩大。适应性的计算机软件工程维护是指在计算机软件运行时,让计算机软件更好地适应外部环境。我们会不断地升级计算机操作系统和更新相关的数据环境。比如微软的系统就会不断进行更新升级,进而弥补不足与提高性能。在不断更新的操作系统中,计算机软件会更加满足用户的使用需求,并随着环境的变化不断地更新,跟上时展的步伐。
5结语
随着我们国家近几年的知识经济不断发展与人民的生活水平不断提高,计算机软件工程在我们生活中占据越来越重要的地位。计算机对于企业的日常运行也有着密切的联系,它进一步增加企业的运行利润,提高企业的办事效率。并且展望未来,计算机的应用会更加广泛,所以为了让计算机能够更好地为企业、个人、社会服务,我们需要更加重视并积极研究对计算机软件工程的相关维护措施。在此篇文章,作者仅以自己浅薄的知识水平,提出一些自己不成熟的建议与想法,希望能给读者解决相关疑惑以及为解决这个问题尽一份自己的心力。
[软件工程硕士论文参考文献]
[1]黄子轩.计算机软件工程的维护措施和方法[J].电子技术与软件工程,2018(24):110.
[2]邵丹.计算机软件工程的维护措施与方法研究[J].电脑迷,2018(11):57.
[3]刘子甲.计算机软件工程的维护措施和方法研究[J].科技风,2018(26):63-64.
[4]王硕.计算机软件工程的维护措施和方法[J].电脑迷,2018(08):79.
[5]高铭言.计算机软件工程的维护措施和方法[J].网络安全技术与应用,2018(07):35+66.
[6]周亮.计算机软件工程的维护措施和方法[J].电子技术与软件工程,2018(13):32.
[7]方辉,梁晨,梁振兴.基于互联网下的社区医疗资源整合[J].软件,2018,39(6):174-176
[8]卓广平.下一代互联网动态路由协议机制分析与改进策略[J].软件,2018,39(7):202-207
[9]郭璇,郑菲,赵若晗,等.基于阈值的医学图像分割技术的计算机模拟及应用[J].软件,2018,39(3):12-15
[10]姚建盛,张睿,吴忠军,等.智慧旅游专业中计算机技术课程群的教学改革与实践[J].软件,2018,39(6):61-63
1计算机软件工程中的数据库建立
在进行计算机数据库建立的整个过程中最开始就需要对计算机基础框架进行设计,并且同时需要对计算机中的数据库进行改进,而计算机软件的运行是需要通过网络这个媒介来作为支撑,要不然计算机系统中的软件就不能发挥作用,因此在系统数据库的搭建过程中要考虑到这些相关的影响因素,整个系统的各子系统之间相互之间需要形成良好的交互关系,最终才能使系统的软件运行,同时也可以保证计算机系统中的信息的安全性。在软件工程数据库一开始建立初期就必须要有明确的应用范围,这样就能够高效地做好计算机数据库的管理工作,在初步形成了数据库的总体构架之后,需要在此基础上进行其他功能的完善,提升整个软件的使用性能和安全性能并解决在使用过程中出现的漏洞,当这个软件在不断更新升级改进后它的功能将会越来越人性化以满足用户的需求,同时在抵抗外界的干扰方面也是会做得更好,此外数据库也要及时进行更新以免出现使用故障问题。编程技术是形成计算机数据库的基础,各功能的协调是解决软件技术问题的主要途径,软件在开发出后投入市场让用户进行使用中要有效利用好计算机数据库中的资源,使得软件能够在使用过程中可以进行自动更新,来解决软件在使用过程中出现的问题同时增加一些必要的功能。在做软件过程中工程师要合理的选择汇编语言,然后进行软件框架的编程,这样就能更好的做出所需的软件和提升用户的使用体验。
2数据库文件建立
2.1类型比较
数据库需要处于读取的条件下才能对数据库的文件进行建立,为此在数据库进行数据建立的最初阶段需要做好对比工作,防止出现在读取的过程中出现数据的丢失却不能及时发现的问题。通常采用对比的数据读取方式更能够保证数据读取的稳定性,同时在文件读取出现问题时也更能够直观的发现问题,也更能够找到合适的类型。在文件读取时要做到节省计算机的存储空间,并且短时间地对数据进行读取,这样做的目的就是可以保证软件运行的流畅度和稳定性,更不容易出现运行故障问题。
2.2创建数据库
一般情况下是在文件建立之后进行数据库的建立,并且在创建之后系统将会对访问的权限进行限制,会限制用户之后的相关操作,特别是在当系统出现一些问题需要进行相应的改进时,由于权限限制的原因将需要对各方面进行调整,需要更加有效的关联才能使得整个系统的稳定性有较高的保障。为了保证系统的稳定可靠性可以采用分模块的形式来对系统的多个功能进行逐一控制,如此一来就可以有效的提升数据库各功能的稳定性,保证系统的流畅运行。而一些在外部安装的软件就相对来说在对数据库创建时简便很多,在对外部软件进行安装时可以采取私人模式的安装方法可以保证用户的数据安全。同时需要根据软件的具体特征来建立合适的数据库,保证数据库中的资源能够充分利用,此外还需要不断对编程技术进行改进。为了能够保证系统在系统出现问题数据丢失的情况下保证系统快速的快速恢复运行,需要对数据库中的信息做好备份工作。
3对数据库文件的访问
3.1面向对象的数据库存储模式选择
分区之后就可以进行数据库存储模式状态,但是这项功能又存在多方面的安全问题。数据库的存储的作用就是对用户的各项权限进行一定的限制,以保证系统能够稳定运行,这种访问权限是被分为多个访问级别,不同类型的访问用户,进入系统的页面信息也会有所区别,主要目的还是在于保证系统的安全和稳定。建立了文件类型数据库后,更加有利于文件的访问,在进行系统的功能设计时需要重点针对这一方面,要做好合理优化系统资源,保证系统高效稳定运行。
3.2数据库文件的加密保护
文件加密主要是防止用户的个人重要信息被他人盗取而采取的保护措施,需要采取相应的措施来保证用户的信息安全,主要的措施就是通过对用户的信息根据信息的重要程度来设置,在用户进行使用时需要设置登录密码来保证信息安全,同时在登录数据库时也需要密码,这类分等级分类型的密码设置可以保证技术人员高效找到解决问题的策略,保证数据库和用户的信息不会被木马等其他病毒攻击窃取信息,损坏计算机系统,造成重大财产损失。对于在这个过程中信息选择问题可以通过加密选择来解决,通过结构优化来解决功能冲突问题,最终保证系统处于一个安全稳定的状态下运行。
3.3数据存储模式使用方法比较
使用方法的对比过程影响着系统运行的稳定性,同时在软件处于工作状态下进行判断系统是否处于不稳定运行的状态,最终技术人员根据出现的具体问题进而采取相应的改进措施。同在网络如何进行选取完全看之前设计时的功能选择,以及在实际使用过程中所遇到的具体问题决定的,最终可以达到提高系统稳定性的作用,而这种解决策略在防止计算机病毒的入侵系统这一方面起到了很好的作用,也在保障数据库的信息安全方面起到了很关键的作用,一般性的软件技术问题,在这种模式下软件都能稳定运行,此时在系统获得到信息后能够自动进行选择分类,这样就能保证数据库调动数据的效率和速度,同时软件也会根据具体要求进行自动更新,而这都需要各系统间高效配合才能实现。同时系统会对各模式进行筛选,找出其中的问题,优化整个运行系统。
3.4开发设计中的编程技术选择
保证软件系统的稳定性是选择哪种编程技术的重要参考标准,得到编程技术能否保证资源的高效利用,还有保证系统稳定性的能力。通过采用对比的方法进行编程来解决系统的一些相关问题,当系统出现不稳定时要及时发现问题所在采取相应的解决措施,保证软件不会出现较大的功能问题影响到软件的正常运行。相关的技术人员在进行问题诊断时也要针对性的进行检查,保证系统能够处于一种稳定的状态下持续安全运行。所以软件运行的稳定性和编程技术的选择有着密不可分的联系,编程技术选取的是否合适直接影响到软件运行的稳定性,因此要选择最为适合特定软件开发的编程技术。在一开始的软件开发阶段遇到问题可以对软件开发的基础框架进行优化,以保证之后的开发能够有效进行,这就对编程技术提出了更高的要求,需要编程技术能够实现软件特定功能的同时也要保证软件的安全性。
4结语
在互联网时代背景下,各行各业都需要利用计算机技术来获得发展,因此在很多非计算机类的工程领域内也越来越需要懂得计算机编程技术的人才,而对于非计算机专业人员面对这门较为复杂的学科一开始学习都会有所困惑甚至退却。本文就关于数据库系统做了详细的说明,希望对相关的使用人员有所帮助,也为非计算机专业人员提供学习方法。
软件工程硕士论文参考文献
[1]范丽萍.基于计算机软件工程的数据库编程技术[J].电子技术与软件工程,2017(1):164-165.
[2]张程誉.基于计算机软件工程的数据库编程技术[J].自动化与仪器仪表,2018(6).
本科生毕业论文(设计)工作规定
北工商教字[2006]30号
毕业论文(设计)是高等学校本科教学计划的重要组成部分,是综合性实践教学环节,其目的是培养学生综合所学知识独立分析问题和解决问题的能力。为加强毕业论文(设计)管理工作,提高我校教学质量,培养合格人才,特制定本工作规定。
第一章 教学基本要求
一、时间及学分要求
毕业论文(设计)一般安排时间为9~13周,学分为9~13,正常情况下应在第四学年第八学期结束之前完成。
二、主要任务
1.理工类各专业学生在教师的指导下,独立完成一项给定的设计任务,编写符合要求的设计说明书;或独立撰写一份毕业论文,并绘制有关图表。
2.经济、管理、文、法类各专业学生在教师的指导下,独立撰写毕业论文(或设计说明书),并绘制有关图表。
三、知识要求
巩固和扩展学生所学的基本理论和专业知识,培养学生综合运用所学知识分析和解决问题的能力、初步的科研能力以及创新意识和创新能力。
四、能力要求
进一步训练和提高学生的方案设计、资料查阅、实验研究、社会调查、理论计算、数据处理、经济分析、外文资料的阅读和翻译、计算机应用、文字表达和论文(设计)撰写等方面的能力和技巧。
五、综合素质要求
培养学生正确的设计和研究思想、理论联系实际的工作作风、严谨的科学态度、善于与他人协作的能力和刻苦钻研、勇于创新的精神。
第二章 选题原则
选好题是保证毕业论文(设计)质量的重要环节。其原则是:
一、符合专业培养目标,满足教学基本要求;
二、应使学生能够综合运用所学知识,获得比较全面的训练,允许将一些需要深入研究的专题作为学生的选题;
三、选题应符合社会发展、科学技术进步的需要,可增加与实际相结合、与教师科研项目相结合的题目的比例;
四、选题的份量和难度要适当,在保证达到教学基本要求的前提下,因材施教,既能使大多数学生能够在规定时间内完成规定的题目内容,又能使少数学习优秀的学生得到更好的培养和锻炼;
五、选题应尽量做到具有一定的新颖性、先进性、开拓性。
六、非计算机软件专业的学生完成计算机软件题型设计题目时,其设计内容必须符合本专业培养目标的要求;
七、要注意外语能力和计算机应用能力的培养。
八、学校鼓励毕业论文(设计)题目与科研、生产实践相结合,以获得科研经费、企事业单位经费的支持,通过毕业论文(设计)工作成果促进科研项目的完成和企事业单位的发展,以实现双赢。
第三章 成果形式
一、理工类各专业
成果形式主要为工程设计型和工程技术研究型的毕业论文(设计),应侧重于对学生进行设计、绘图、计算、测试、实验、软件开发和技术经济分析等能力的培养和工程基本训练。
(一)毕业设计
1.设计说明书的字数不少于20000字。如为软件设计,则软件工程文档应包括:有效程序软盘和源程序清单;软件分析与设计说明书;软件分析与测试分析报告;项目开发总结。在学生毕业答辩前,该专业教研室应组织软件验收。
2.绘制设计图纸。使用最新国际标准,有条件的院(系)可用CAD绘图。
3.文献阅读。要求阅读与课题有关的外文资料3~4篇,写出3000汉字左右的调研阅读报告或者翻译1~2篇外文原文(不少于20000印刷符)的书面材料。
4.设计摘要200~300字。
5.应用计算机进行设计、计算等。
(二)毕业论文
1.实验、测试报告及论文正文的撰写字数一般为8000字以上,但不超过12000字。
2.绘制有关图表。
3.文献阅读。要求阅读与课题有关的外文资料3~4篇,写出3000汉字左右的调研阅读报告或者翻译1~2篇外文原文(不少于20000印刷符)的书面材料。
4.论文摘要200~300字。
5.应用计算机进行实验数据的处理与实验结果的分析。
二、经济、文、法类各专业
成果形式主要为科研论文,应侧重于科学研究基本方法的训练和能力的培养。
1.毕业论文正文一般为8000字以上,但不超过12000字。
2.论文摘要200~300字。
3.文献阅读。要求阅读与课题有关的外文资料3~4篇,写出3000汉字左右的调研报告或者翻译1~2篇外文原文(不少于20000印刷符)的书面材料。
4.应用计算机进行建模、数据分析及绘制图表。
三、管理类专业
(一)科学研究论文
侧重于科学研究基本方法的训练和对本专业中有关理论和实践问题的分析研究能力的培养。
1.毕业论文正文一般为8000字以上,但不超过12000字。
2.论文摘要200~300字。
3.文献阅读。要求阅读与课题有关的外文资料3~4篇,写出3000汉字左右的调研阅读报告或者翻译1~2篇外文原文(不少于20000印刷符)的书面材料。
4.应用计算机进行建模、数据计算与分析及绘制图表。
(二)软件分析与设计
侧重于软件分析与设计能力的培养。
1.分析与设计说明书的字数为10000字以上,但不超过15000字。软件工程文档应包括:有效程序软盘和源程序清单、软件设计说明书、软件测试验收记录单、项目开发总结。在学生毕业答辩前,该专业教研室应组织设计验收。
2.文献阅读。要求阅读与课题有关的外文资料3~4篇,写出3000汉字左右的调研阅读报告或者翻译1~2篇外文原文(不少于20000印刷符)的书面材料。
3.论文摘要200~300字。
1 计算机软件漏洞及其现状
我们常说的计算机软件漏洞是广义上的软件安全漏洞,主要是指在软件的编写过程中,容易对整个计算机软件系统造成安全性方面威胁的缺陷,或者是能够对整个系统的运行带来影响的各类因素的总和。由于计算机软件都是人为编制的,所以都会因为软件的编制人员在编制软件过程中的考虑问题不全面带来安全漏洞,这是每一个计算机系统都存在的问题,所以漏洞的出现是在正常不过了。
但于此同时,计算机软件存在的漏洞一旦被一些黑客发现,就会成为攻击的目标和突破口,所以我们在无法避免计算机软件漏洞的同时,要及时对计算机软件进行扫描,对发现的漏洞及时进行修复,这也是评测一个计算机系统安全性能的一个标准。
从当前的情况来看,黑客利用计算机软件系统的漏洞实施攻击是当下软件系统安全时间中最主要发生的一类,并且,网上一般活跃比较多的都是一些初级黑客,他们在对计算机软件系统的漏洞进行攻击是呈现了一定的特点,比如,漏洞遭受攻击的次数与漏洞的时间成反比,也就是说,最新的软件漏洞遭受黑客攻击的次数比较多。着也是因为微软会依据在系统中检测中的漏洞进行及时的补丁完善而导致的,时间越长的漏洞,打补丁的用户会越多。因此,如何能够快速检测出联网计算机在使用过程中产生的软件漏洞问题,并且有针对性地进行更新,是我们当前信息安全人员需要开展的重要工作。
2 计算机软件漏洞检测常用的技术
针对软件存在漏洞的问题,信息安全人员也已经于漏洞以及黑客打了半个多世纪的交道,因此,在漏洞检测技术中,也形成了一系列检测的惯例。如今我们在计算机软件漏洞的检测中比较常用的检测方法主要有一下几种:
(1)静态检测。静态检测技术就是我们软件工程师常说的软件静态测试,通过一定的技术直接分析软件的源代码,通过对编程源代码中的语法、语义进行分析,从最基本的逻辑中检测和去除可能存在的安全隐患或lunwen. 1KEJI AN. COMlunwen. 1KEJI AN. COM提供写作论文和发表服务,欢迎您的光临者说软件漏洞。目前在静态测试过程中主要采取的方法有推断、数据流分析以及约束分析这三类。其中,推断主要是将同语法类型的源代码进行总结,有针对性地进行推断,而数据流分析是通过断点检测的方法分析源代码中数据的走向,以此来判断源程序中是否会有安全隐患,约束分析就是在源代码的一些地方认为增加一些可能发生的约束条件,看软件是否会产生存在安全隐患的相应。
静态分析虽然能够最直接地对软件的安全隐患进行解除和排查,但是并不能完全排查出软件中存在的漏洞,因此我们还需要寻找其他配合使用的软件测试方法。
(2)动态测试。动态测试不同于静态分析,是首先将软件“跑起来”,在软件执行的情况下对软件中的变量在特定时间域内的数值变化提取出来进行分析,看其是否符合我们预定的变化轨道,以此来判断软件在哪一个环节会存在安全。动态测试中的一种方式是在动态测试的过程中就进行软件数据信息的收集工作,而另外一种方式是将执行过程中的信息做全纪录,之后再用这些信息进行漏洞模式匹配,查找软件漏洞。
(3)混合检测。混合检测并不是单纯地将静态检测和动态检测结合起来形成先静态后动态或者先动态后静态的检测方法。而是在结合了二者的内容衍生出的检测方法,兼顾有两种检测方法的特点。这其中就包括了测试库技术、源代码的改编技术以及异常检测技术等多种技术。这些技术都是使用在不同需求和不同环境下的混合软件漏洞检测技术。
通过计算机漏洞的检测技术,让计算机软件以及计算机自身的漏洞能够尽快找出,从而进行软件的及时漏洞修补与更新,在一定程度上完成对于漏洞的检测工作。为了让计算机更好的运行,并且保证期运行的安全性。漏洞检测技术是必然要进行开发与研究的,此外要注意对于漏洞的危险性级别的分类。
3 计算机软件漏洞的修复与更新
漏洞的修复与更新的概念非常广,不仅包含了我们常说的对计算机软件进行升级或者安全补丁的修复,我们平时经常使用的安装防火墙、杀毒软件以及更改一些关键部位的安全口令都可以看做是最计算机软件的漏洞修复与更新。以安装官方的补丁这种修复方法为例,最早提出对计算机软件的漏洞进行补丁修复的是微软公司,在补丁的全生命周期中对补丁的识别、部署以及评估等都需要进行有效的管理,才不会再次成为软件安全漏洞。在软件漏洞与修复的管理中主要有以下几类成熟的管理模型:
(1)微软补丁管理模型。微软作为全球计算机系统的寡头,其推行下的补丁管理模型已经逐渐成为其他厂商的标准。微软的补丁管理从漏洞的识别开始,经过计划阶段、测试阶段和部署阶段。整个流程中通过对计算机漏洞的威胁等级进行评估和识别,在计划阶段拿出补丁的计划方案并予以实施,再通过植入系统中进行lunwen. 1KEJI AN. COMlunwen. 1KEJI AN. COM提供写作论文和发表服务,欢迎您的光临全方位的测试到最终的部署阶段。但是后续一定要对补丁的反馈信息进行及时的梳理和统计。
(2)CNCERT/CC补丁管理流程。这个补丁的管理流程是来自于我国国家计算机网络应急技术处理协调中心的,将补丁管理视为一类特殊的工程管理,也分为事前管理、实施过程的管理以及事后管理三部分。总体来讲与微软的管理模式大同小异,只是在事后管理中采取一定措施来保证计算机软件系统的稳定性。
4 结语
总之,随着计算机技术的普及化以及越来越多的计算机软件方面人才的培养,黑客的数量也会越来越多。因此,计算机软件的安全性也需要进行更高技术的改革。作为我们的计算机软件的普通用户来讲,发现软件的漏洞是非常正常的,但与此同时,我们也要做好保密工作,不要将漏洞散播出去,而是即使反馈给相应的厂商,让他们去做相应的更新工作,这样我们才能够有一个更好的计算机软件的生存环境。
参考文献
1软件工程课程教学问题及分析
软件工程课程作为软件人才培养体系的核心课程之一,一直是计算机教育教学所关注的焦点领域。文献[8]从人才培养目标定位、工程教育理念、教师队伍实践经验、校企育人等方面分析了软件工程人才培养存在的问题;文献[4]在软件工程课程中提出了项目驱动教学法;文献[9]提出了软件工程教学中“五个一”工程课程培养体系,以精化软件工程课程教学内容;文献[10]提出了基于高质量开源软件阅读以培养软件工程能力的思路。在整个软件工程学科的背景下,分析软件工程课程教学中存在的问题及其原因,大致可以归纳为如下几个方面。
1)在学科层面,亟待形成独立的软件工程学科理念。虽然自2011年软件工程已经被设置为与计算机科学与技术平行的一级学科,具有了完整的本硕博培养体系,但是由于软件工程脱胎于计算机,使得“软件属于计算机一部分”的观点混淆了原本严谨的学科划分;研究内容间的紧密联系也使得计算机与软件难以区分。一般而言,“计算机类”包括计算机硬件和计算机软件,这是常见的划分,与学科无关,相互借鉴无关紧要,但实际在学科层面二者的区分相对明晰,计算机科学与技术一级学科包括计算机系统结构、计算机软件与理论、计算机应用技术和信息安全这4个二级学科,而软件工程包括软件工程理论与方法、软件工程技术、软件服务工程和领域软件工程这4个二级学科。简而言之,在国家的顶层设计中,软件工程学科具备独立发展的基础和条件,因此,领域内教学科研人员必须具有独立发展软件工程学科的理念和立场,这是软件工程学科进一步发展的基础所在。依附于计算机学科发展软件工程的思路,无疑将压缩软件工程的发展空间,最终也难以发展出独立的软件工程学科,也难以与计算机学科形成合力发展壮大信息学科和产业。
2)在专业层面,亟须理清软件工程的本质属性。出于专业排名、院内资源分配等种种原因,相当一部分业内人士将软件工程与计算机科学与技术相互混淆介绍,无意之中将软件工程与计算机软件与理论相互等同。无疑这种长期以来的专业处理和平衡方式,难以理清软件工程的本质属性,也难以深刻理解软件工程的各个方面,从而设计有利于软件工程专业的发展模式。在新的环境下,软件和软件工程的深度和广度已经更胜往昔,在人机物融合环境下、在智慧环境下需要进一步明晰其本质属性。
3)在教学模式层面,缺乏适合软件工程的完整教学模式。软件工程学科以培养解决复杂软件系统的能力和结合领域的工程应用能力为主,其教学模式要求以此为核心目标。这两方面能力的培养,需要大型软件工程实践以及对不同领域知识的深度认知,而这在目前绝大部分高校教学中是难以达到的要求,因此,如何构建适合软件工程核心能力培养的教学模式是目前软件工程专业教学亟须解决的核心问题之一。
4)在师资层面,极度缺乏高质量的软件工程教学科研队伍。软件工程专业在我国的发展时间只有短短的20年,其科研和教学水准与国外同行相比仍然有相当大的距离;同时,软件工程与实践结合紧密的特点,对师资提出了更高要求,特别是目前高校以SCI类科研论文为主的考评方式,对软件工程的实践师资队伍建设提出了挑战。如何构建满足高质量软件工程人才培养要求的师资队伍,是软件工程发展中最为关键的隐忧之一。
5)在教学资源层面,缺乏体系完整的教学支撑资源。软件开发需要各类软件工具和软件资源(文档、组件等)的支撑,以提高软件开发效率和质量。教学过程同样如此,为每位学生建立个性化教学模式由于成本高昂而不可行,高校规模的人才培养模式在人才培养成本和人才培养质量之间进行平衡。缺乏完整的软件工程人才教学资源支撑体系,是难以高效率培养高质量软件工程人才的关键制约因素。借助MOOC项目和开源软件,有可能逐步构建满足教学要求的资源支撑平台。文献[7]借助开源社区资源探索弥补师资团队的掣肘;文献[11]借助Trustie教学平台支持群体化实践教学支持,实现对教学过程的管理和评估,这在之前是难以实现的;文献[12]探讨了基于MOOC构建混合式课内教学模式及翻转课堂团队学习模式,以提高教学效率和质量。
2基于课程群的项目式软件工程课程教学模式
2.1面向软件工程专业的项目式教学理念
1)在教学内容上,基于课程群重新分配授课内容。所谓课程群,就是介于单门课程和专业课程体系之间,在多门关联课程之间相互协调统筹安排,以实现教学资源、教学效果、教学内容优化配置的一种精细化课程组织方式。课程群构成一般是由同一专业内多门(不少于3门)内容之间相互耦合的课程组成。文献[13]探讨了课程群理念在软件工程专业的完整课程体系中的应用,提出了“三段两层”的课程群结构,尚未涉及具体某一门课程的内容如何基于课程群进行分配。在提出的教学模式中,将课程群理念应用于同一学期、同一专业开设的课程中,将目标课程内容进行分解并分配到关联课程中,将学时集中到解决重点教学内容中,以提高整体教学效率和效果。
2)在教学形式上,以软件项目为载体培养软件工程能力。在软件工程专业教学中,通过项目培养学生实践能力的教学方式得到了较为广泛的应用。文献[4]中选择图书馆管理系统作为贯穿整门课程的软件项目,这种以特定项目驱动的软件工程教学设计是项目式教学在具体课程中的应用实现。在提出的教学模式中,项目式课程教学在教学内容上不仅要贯穿软件工程的教学内容,还要成为衔接课程群内多门课程的核心;同时,不仅要锻炼软件能力,还要培养沟通、表达等“软技能”。
3)在教学考核上,建立以过程考核为核心的评估方式。教学是一个复杂的交互过程,单纯以考试为考核手段最终只能导向“纸面能力”,因此,提出的教学模式应建立以过程考核为核心的考评方式。考核不仅包括个人考核,还包括团队考核;以实践考核为主,以考试考核为辅;以分阶段考核为主,以最终考核为辅。通过考核的变化,学生和教师将考核焦点迁移到能力培养中,在分阶段完成的任务中全面、合理、准确地评估学生的软件工程能力。
4)在教学工具上,大规模、有目的地引入互联网开源工具。教学自身是一项高投入的工作,提出的教学模式更需要教学资源投入。此外,软件工程自身需要大量软件工具的支持,尽早让学生习惯和适应利用工具提高效率也是合格软件从业者的一项基本技能。提出的教学模式可以有目的、大规模引入主流的互联网开源工具,以提高教学效率和质量。所引入的工具可以根据教学内容、教学目的有选择地使用。文献[2]给出了清华大学在软件工程专业教学中集成的从开发到运行监控过程全覆盖的DevOps工具链。
2.2项目式教学理念在软件工程课程教学中的应用
软件工程不仅是软件工程专业的核心课程,还是专业课程体系中对于工程理念体现最为充分的一门课程。种种制约因素的存在,使得相当部分高校在实施软件工程课程教学时,都是以理论讲授为主,或者附带部分实验学时讲授部分工具使用,很少涉及工程能力培养或者团队协作能力培养。为此,本文将提出的教学模式首先应用于软件工程的课程教学中,为软件工程专业的相关课程教学提供参考。
2.2.1基于课程群理念重新分配软件工程课程的教学内容
基于课程群理论,将同一个学期内的软件工程、系统分析与设计、软件工程综合实践(二)3门课程打通形成小课程群,并且根据不同课程的特点,将软件工程的教学内容有机整合到另外两门课程中。将教师、课堂学时等教学资源优化配置,重组教学内容,借助相关课程的教学资源达到事半功倍的效果。这种方式对教学内容涵盖较广的课程尤为重要,软件工程课程涵盖几乎所有软件工程专业课程中的内容,将所有涉及内容讲授一遍,既没有必要,又不会有明显效果,将重点集中在项目实践管理、领域知识、可行性分析、需求分析等方面反而能够凸显教学重点;课程涉及的其他内容,通过协调相关课程只需要概述即可,相关课程在主讲该门课程时有所侧重就完全可以达到效果。此外,在具体落地课程群时,可以根据教学实际设计跨度不同的课程群,如学期课程群、学年课程群、专业课程群等;课程内容重组需要根据培养计划个性化设置,如如果培养计划中有需求工程课程,软件工程课程教学就可以减少需求分析的讲解。根据不同学校的实际调整相关措施,可以达到提高教学效率和质量的目的。
2.2.2设计多种形态的软件项目适应不同水平学生提升软件工程能力
软件项目是该教学模式的核心环节之一,在应用于具体课程教学时,必须解决两个问题:①项目来源问题;②如何提升软件工程能力。针对项目来源,建立多种形态的软件项目以适应不同水平和需求的学生。本次教学所完成的软件项目见表2,大致可以分为4类:①传统软件系统开发项目;②具有实际需求的软件项目;③结合算法研究类软件项目;④基于开源代码标注与提升的软件项目。
学生首先组成项目组,然后再确定项目,通过立项答辩的项目方可被正式启动;通过这种方式限定项目的难度、规模等,保证项目在预定的时间和团队能力范围内能够完成。针对软件工程能力提升问题,从两个方面着手。首先,学生组成项目团队共同完成具有一定难度的项目,团队分工明确、相互协作,在项目完成期间锻炼学生的沟通能力、表达能力、协调能力等软技能。这类软技能是在理论讲述中无法锻炼和涉及的。其次,基础不同的团队选择不同软件项目以最大化提升个人软件工程能力。基础相对落后的学生可以选择传统软件系统开发类项目,这类项目的需求、软件结构等相对清晰,重点在于提升编码、设计等软件能力;创新意识、个人能力较强的学生可以选择具有实际项目需求的项目,或算法研究类项目等具有较大难度和不确定性的项目,以锻炼软件工程综合素养。
2.2.3建立软件过程考核为主的课程评估方式
提出的教学模式更注重过程质量的考核,而期末考试成绩作为辅助。具体考核包括如下几个方面。(1)本次评估中软件过程质量占比50%,后续将增加到70%;期末考试成绩占比将逐步降低到不超过30%,期末考试以水平考核为主。同时,期末考试中应用部分考核与所选的项目有关,使得实际软件过程内容考核占比接近60%。(2)软件过程考核评分由团队分和个人分综合获得。团队分是所有团队成员均可以共享的,个人分是根据每个人的角色分工和工作质量分别确定,二者占比五五分。(3)采用阶段考核分阶段评估项目质量。3门课程主讲教师组成评审团队,将项目分为需求分析阶段、设计阶段和实现阶段,每个阶段均进行公开答辩和演示,评审团队进行综合评分,其中软件工程、软件设计与分析和软件工程综合实践课程的主讲教师分别担任3个阶段的主评教师。
2.2.4集合教学过程支撑工具和软件工程工具的教学自动化支撑工具环境
各类软件工具的出现支撑着软件生产效率和软件质量的不断提高。在软件工程专业教学中,充分利用各类工具不仅是软件行业的客观现实,还是教学过程的主观需要。首先,软件工程课程教学需要与行业发展相一致,因此在软件工程各个阶段需要熟悉主流软件工具,否则学生一旦毕业就会有“学校内所学根本不是企业要求”这种错觉;同时,软件工具的确支撑项目的顺利进行。本课程使用Git作为代码管理和团队开发协调工具,在需求阶段、设计阶段、编码阶段、测试阶段都分别使用相关软件工具以提高开发效率和产品质量。其次,在教学过程中,采用Trustie-Educoder平台(educoder.net)作为课程教学管理工具,可以极大节省教师精力。平台具有项目管理、任务、Git集成等功能,使得有限的教师团队能够满足1:20的师生比现状。
3基于课程群的项目式软件工程课程教学模式效果分析
在湖南师范大学2016级软件工程专业本科生(部分2018级软件工程专业研究生参与项目,这里不作统计)中实施了本教学模式,学生人数共计60人。学生自由组成项目团队,每队人数在3~5人之间,每队必须选出一名且只有一名项目管理员。3门课程的主讲教师组成教学团队,每位老师指导4~5组,并全程参与。
具体安排如下:①选题方面,根据团队情况可以从提供项目中任选一个,或者自题目通过立项答辩后作为团队项目。②教学工具支持方面,项目全过程在Educoder平台中全程留痕迹。③时间安排方面,从2018年9月开始,到2019年1月结束。课程分为两个阶段,第一阶段每月进行阶段评审分别完成项目团队组建、可行性分析、立项评审、需求评审等环节;第二阶段是集中期末3个星期,完成编码、测试、上线等环节,在该阶段每周进行一次评审。课题组从客观数据和主观评价两个方面对教学模式的效果进行评估。
在客观数据方面,本课程教学基于Educoder平台进行全过程、量化数据评估。相比于以前的教学方式,教学质量和效率明显提升,如课程中借贷平台项目的过程信息显示,其版本库更新了220次,资源库积累了34项资源,核心成果经过多次更新(数据结构更新了6个版本等)。项目团队很快熟悉了软件行业中的典型开发方法、软件工具等内容;同时,在项目过程中团队协作、沟通交流等软技能同样得到了有效提升。在主观方面,利用调查问卷对课程教学效果进行反馈评估,统计发现学生对课程教学认同度明显提升。评分从1到10分,10分表示最满意/最佳,其中,对课程整体安排的满意度为8.15;对集中期末进行实践的安排满意度为8.1;对团队形式进行实践的满意度为8.43;经过课程教学,对软件的理解进一步加深评分为8.2;对文档的重要性认识评分为8.28;对项目经理的评分为8.48,这个评分相当高,说明项目经理的确得到了团队成员的认同;对团队成员的满意度评分为8.54,高于对项目经理的评分,说明团队成员更重视相互之间的协作关系;对团队中贡献最少的组员评分为6.98,说明团队中“打酱油”的确存在,而且团队成员更认同大家都需要为团队作出贡献;对个人能力提升满意度的评分为7.48,不到8分,说明大多数学生认识到需要进一步提高个人能力。另外,在课程数学中也发现,原先不被看好的项目通过团队努力拿到了大家都认可的高分,特别是音之轨迹项目团队,成员并不是最强的,但是项目完整度、UI设计等发明的优秀工作,使得项目整体性和质量上了一个档次。项目团队之间的良性竞争,也极大改地变了学习氛围,在最后3周集中实践阶段,下午不严格要求在实验室,但实际的出勤率超过80%,而且基本上是整个团队都一起努力,团队精神初显成效。
4结语
1.课程定位不明确
在信管专业中,软件工程主要指导学生进行管理信息系统的分析、设计、实施及维护,侧重系统的研发和维护的原理和方法。管理信息系统课程则是让学生全面认识管理信息系统,涉及的知识面广,但内容浅显。两者在系统开发和维护部分的内容上存在交集,部分院校因此未将软件工程加入专业培养计划。另外一些院校为强化学生的系统开发能力,将“软件工程”与“信息系统分析与设计”课程同时开设,出现课程重复的现象。这些都是软件工程定位不清晰的结果。
2.课程时间安排不合理
信管专业中的软件工程与诸多信管专业基础课程联系密切,需要较强的专业基础知识,但目前部分院校的课程体系将软件工程与管理学、程序设计等专业基础课程安排在同一学期显然不合适,教学安排缺乏层次性。
3.师资力量存短板
信管专业教授软件工程的教师几乎都毕业于计算机专业,不仅缺乏管理学相关知识且在教学思想上沿袭了理工科的风格,偏重程序研发流程,忽略管理信息系统开发过程的多学科交叉特点,导致学生把管理信息系统等同于一般的计算机软件,使得学生对管理信息系统的内涵认识不足,甚至产生误解。此外,大多数教师并没有实际参与大型管理信息系统项目的开发,缺乏实际的研发经验,故难以全面、深入地介绍管理信息系统研发过程和特点。
4.适用教材缺乏
一方面现有信管专业软件工程的教材大都沿用自计算机专业,着重从理论方面介绍各种经典分析和设计方法,所选案例也缺乏与管理学等其他相关学科结合,且很少结合最新的设计方法和工具进行介绍。这种教材选择方式难以和信管专业内的其他课程有机结合,自身形成知识孤岛,无法体现信管专业管理为主、计算机为辅,多学科交叉的特点,同时也不能反映信管专业与计算机专业的本质区别。
5.教学方法古板,实践不足
软件工程的教学内容多为以往研发经验的概括和总结,知识点多以各种概念、原则、规则和要点等形式出现,缺乏完整案例,内容抽象晦涩,教师多采用单向注入和强行灌输的教学方式,不利学生的理解和应用。此外,信管专业课程体系庞杂,无法为软件工程分配足够的实践课时。其他系统开发相关课程,或因项目过小而无需使用软件工程思想,或因课时限制而侧重系统的实现和测试方面。这些问题导致软件工程思想难以完全付诸实践,使学生缺乏系统性和全面性的训练。
6.学生评价机制不合理
成绩评定是评估学生学习效果的重要依据,也是反映教师教学能力的参考指标。本校统一采用“平时表现+期末笔试”的考核机制,比例为3:7。其中,平时表现包含期中考试成绩、日常考勤、课后作业和实验成绩等。这种成绩评定机制存在诸多问题:(1)期末考试比例过大,不能全面客观反映学生的表现。(2)闭卷理论笔试不利于扩展学生的知识面,难以考查知识的实际综合运用能力。(3)笔试为主的考核机制容易诱使学生产生应试教育的倾向。
二、《软件工程》课程教学的若干对策
针对信管专业软件工程课程的问题,结合本校教师的教学经验提出相关的应对措施。
1.明晰教学定位
信管专业的定位是计算机和管理的交叉学科,管理信息系统是信管专业关系最为密切的信息系统。软件工程在信管专业中的主要任务是为了培养学生使用软件工程的思想分析、设计和开发管理信息系统。鉴于学生培养目标的不同,信息系统开发能力并非所有学生所必须掌握的。因此,软件工程在信管专业中的定位不能搞一刀切,必须因方向而异。系统开发方向的学生应把软件工程作为专业必修课,而信息管理方向的学生则作为专业选修课选修。
2.优化课程安排
软件工程的目的是指导管理信息系统开发,学生选修前需具备基本的编程能力和数据库知识。而且,管理信息系统的开发需要结合管理、会计和运筹等课程的相关知识。因此,软件工程的安排应置于数据结构、数据库、程序设计、管理学和运筹学等课程之后,信息系统课程设计之前。在课程设置上,软件工程与面向对象程序设计、管理信息系统、信息系统课程设计等相关课程组成课程群,相关任课教师以团队方式备课。每学期期初和期末,同一课程群的教师互相交流教学效果和存在的问题,根据学生的情况各自调整后序教学内容,有针对性地开展教学。课程群方式可以有效加强课程间的平滑衔接,强化教师间的团队合作,实现知识的有机结合,提高课程安排的层次性与合理性。
3.建立合理的教师培养机制
教师培养采用“走出去,引进来”的方针,加强与兄弟院校和相关企业的交流。围绕构建应用型本科院校的目标,引入高职院校中的“双师型”培养机制,将科学研究和实际应用相结合,组织软件工程及相关课程组构成的开发团队,积极参与校内外的合作项目的研发,如校内各部门的信息系统开发项目、校外实习基地的合作开发项目、科研项目的系统实现等。在教学任务之外,学校应鼓励任课教师定期到实习单位参加项目见习,甚至直接参与项目研发,提高教师的研发能力,更新知识储备。同时,教师的考核体系应根据教师的授课内容进行分类评价,软件工程等应用性课程的考核机制应加大对实践的要求,鼓励科研与知识应用的结合,真正实现应用型培养的发展方向
4.改进教学方法,强化实践教学
根据软件工程理论和实践要求都较强的特点,采用案例驱动的方法开展教学,将理论知识融入到具体案例当中,通过“学中练、练中学”的模式将抽象的知识通过具体的项目展示,方便理解和消化吸收。此外,单纯的理论知识学习是不够的,需要通过实际的项目训练进行提高,进而达到巩固所学知识,灵活应用的目的。项目训练以学生分组的方式进行,在学习的同时培养学生的团队意识和协作精神。项目类型以中型管理信息系统为宜,来源可出自教师自身的项目或者协作单位项目中的子系统,也可以学生提出由任课教师审核通过。项目结束时,学生必须能够提交可正确执行的程序,同时提交相关的系统开发文档,文档要求严格按照国标GB-T8567-2006编写。在实践过程中,教师应以项目管理人的角色监督项目的进度,及时发现并纠正存在的错误,同时回答学生在实践中遇到问题。这种方式既让学生清楚了解课程开设的目的和意义,也强化学生对所学知识的理解和应用。
5.完善教学资源
信管专业软件工程课程的教学资源(如教材、辅导资料、教学案例等)的安排和设计应按本专业的需求进行改进和完善。首先,调整教材内容的编排。软件开发技术知识点需要与时俱进,已被淘汰的知识点应予以删除或以概述的形式介绍,同时增加近年出现的新技术和新方法,并对其中的典型方法进行重点介绍,并配上相应的案例进行讲解。其次,修改教材内容的编写方式。采用案例驱动的教学模式,将以往逐条罗列的抽象理论融合到具体的教学案例中,让学生通过分析案例提取出知识要点。该方法既有利于对枯燥知识的理解和吸收,也为进一步的知识应用提供极好的参考素材。第三,修改配套案例。案例选择中等规模的管理信息系统的完整研发过程较为合适。案例规模不宜过大的案例,否则不适宜初学者学习;规模太小则细节不足。案例可以取自教学参考书,也可以是教师自身的项目研发经历,还可以源自合作单位的项目。第四,建立信息化教学实验平台。通过云计算等先进技术构建的软件工程教学实验平台,师生能够无时间、地域限制地实现教学课件和视频等资源的共享、作业和课程实践的实时监控和学生疑难问题的解答,极大方便了师生间的交流,对提高教学效果具有重大现实意义。
6.改革学生评价机制
课程成绩对学生在课程学习过程中的表现和效果的综合评价,对学生学习起指向性作用,必须秉承公正、全面、客观的态度。第一、全面考虑学生评价要素。在教学过程中,除考勤情况、期中成绩、期末成绩等常规项目外,学生的课堂表现、作业完成质量和上交情况,实践项目的完成情况等也是衡量学生的学习成绩的重要依据。因此,软件工程的考核体系可综合为以下三方面:(1)平时表现,包含出勤情况、课堂提问和作业完成情况等;(2)实践成绩,包含课程设计和实验的质量和文档的编写情况;(3)卷面成绩,包含期中和期末考试的笔试成绩。第二、合理分配评价要素的比重。评价要素的比重定量反映了课程各教学环节的重要性,能够对学生的学习起导向作用。为了突出软件工程以“理论为基础,重在实践应用”的特点,实践成绩的比重应与卷面成绩相当,也可以考虑使用课程实践成绩代替期末笔试。第三、客观评定评价要素。学生的评价要素通常分为定性和定量两种。其中,各种考试成绩和作业成绩、考勤情况等定量评价易于给定。相对而言,平时表现等定性指标需教师主观评定,易受到教师个人情感的影响,需要教师秉持公正客观的态度。对学生的主观评价一般以良为基础,表现突出的学生可给予优,存在迟到早退、作业应付或缺交、课堂纪律不佳等情况的学生则酌情给予中或差的评价。第四、丰富考核形式。除传统的闭卷笔试外,软件工程的考核形式还可采用以下几种:(1)课程论文:以个人为单位,就管理信息系统研发和管理中的某个环节提出自己的观点并展开论述,完成3000-5000字的课程论文。(2)课程设计:参考教学案例,采用软件工程思想,以团队方式开发一个管理信息系统,完成从需求分析到设计实现的完整过程,并编写相关软件文档。(3)开卷笔试:以论述和应用题为主要题型,主要考察学生解决系统分析、设计、测试和维护等环节中具体问题的能力,如按要求绘制程序流程图、软件结构图和系统流程图等分析设计图表,设计测试用例等。学生允许携带一定数量的参考资料,但不允许携带电子设备。任课教师可根据教学目标和学时安排综合使用上述方式。总体而言,以课程论文或课程设计代替期末笔试进行考核更符合学以致用的教学目标。
三、总结
【关键词】团队学习 软件工程 评价
【基金项目】本文受湖南省教育科学规划课题XJK08BGD017支助。
【中图分类号】G642 【文献标识码】A 【文章编号】2095-3089(2013)08-0218-01
引言
软件工程专业是为了培养具有创新、创业意识,具有竞争和团队精神,具有良好的外语运用能力,能适应技术进步和社会需求变化的高素质软件工程专业人才[1]。针对这个专业培养目标,各高校对软件人才培养思路进行了许多有益的探索[2,3]。南华大学从国内知名、国际上有一定影响的办学定位出发。针对软件工程专业,提出应培养“基础扎实、专长突出、动手能力强,勤勉务实,甘于奉献,追求卓越,面向未来”的应用型高级软件工程师。
为实现这一培养目标,课题组对软件工程专业人才培养模式、学生团队构建、学生实训等方面进行了有益的探索[4,5],强调从多方面培养学生的工程实践能力和团队合作精神,其中课程设计就是一个很重要的环节。但现在各种课程设计一般都安排在期末两周内进行。期末学生需要进行英语四、六级备战和准备多门课程的考试和考查课程的报告,如果再加上两三个课程设计和一些实验课,学生在这段时间内的任务就会很重,可能没有足够的精力去完成相应的课程设计,往往敷衍了事,达不到培养学生工程实践能力和团队合作精神的目的。
一、课程改革探索
为此,本文以团队学习理论[6]-[8]为基础对软件工程专业的有关课程从项目选题、学生分组及考核评价等方面做了如下探索:
(一)选题紧贴实际
为了使学生在课程设计过程中获得工程实践的经验,题目需要来自实际的工程项目。但这样的项目通常都有一定的复杂性和相当的工作量,需要较多的精力和时间的投入。
而现在期末学生都很忙。学生往往没有办法集中时间去完成一个工作量较大的项目。以往的课程设计题目都比较容易。
第四学期软件工程专业有软件工程和数据库原理与技术课程设计。这两门课程都要求综合运用软件工程的方法完成一个项目。但这两者有不同的侧重:前者侧重于使用软件工程的方法学去解决实际的问题;而后者则侧重于数据库的分析与实现。但数据库的设计和实现又是基于需求和分析的。因此,本文结合这两门课程给出几个由实际项目改编而成的题目,由学生分组完成一个。针对需求分析、设计和测试阶段,形成相应的工程文档作为软件工程课程的报告;数据库的设计和实现部分则形成数据库原理与技术课程设计的报告。在第10周就完成分组,选题等工作。题目是从实际项目南华教务在线中提取出来的:学籍管理、课程管理、排课管理、排考管理、成绩管理、教材管理等相对独立的子项目。
(二)分组高低搭配
让学生自由组合,可能会造成各组实力不均,个别组无法完成项目。团队学习的“最近发展区”理论认为:学习团队最好由不同层次的成员组成,处于不同能力层次的团队学习成员有利于发展所有学习成员的“最近发展区”。同时学生需要完成的项目可以由两门课程的任课教师一起指导,这也有利于发展学习成员的“最近发展区”。
因此,以学生以往的成绩和宿舍住宿情况为依据,将学生分成高低搭配的项目组。一方面,可以通过团队成员的“传帮带”学习法,使得成员能缩短学习的时间,较快地进入角色,提高团队的工作效率和工作质量。另一方面,通过高低搭配,基本上可以保证每个组都能完成项目,避免出现组间的两极分化和某些组消极的对待项目任务等现象。
团队内除“传帮带”学习法还有很多其他的学习方法。例如,在项目初期的分析和设计阶段,可以采用头脑风暴法来形成系统的整体设计思路;在遇到分歧时,可采用讨论法来形成较为统一的观点。对话法在团队学习过程中也是经常使用。在项目实施过程中,小组成员在例会时,基于相互尊重、信任和平等的立场,敞开心扉,讲出自己的解决方案,通过交谈和倾听,形成最终的实施方案。
(三)评价客观公正
团队学习的共生理论认为:团队学习的学习主体是具有共生关系的团队,它追求的不仅是每位成员的发展,更注重团队整体的表现。
因此,首先把团队作为一个共生体来评价,同时也充分考虑团队内的激励机制,以及各成员对项目的贡献大小。故采用以下方案对项目组进行评价:首先由组长根据每个成员对项目的贡献大小给每个成员一个调节分,但要求各成员的调节分之和必须为0。然后,由指导教师组根据小组的现场演示和答辩情况给出该小组的基准分。小组基准分即为组长的分数,其他成员的分数为基准分与调节分之和。例如,某组长给成员甲、乙、丙的调节分为10分、-3分和-7分;指导教师组给该组的基准分为80分;则组长的分数为80分、甲的分数为80+10=90分,乙的分数为80-3=77分,丙的分数为80-7=73分。
该评价方法,一方面将团队作为整体考虑,所有成员都有一个相同的基准分;另一方面为使项目组长能发挥相应的组织作用,以及充分调动每个成员的积极性。
二、结论与展望
在软件工程和数据库原理与技术课程设计的改革实践,受到学生的欢迎。一方面减轻了学生的负担,另一方面学生的工程实践能力和团队合作精神得到了锻炼。如果能推广到更大的范围,将会使更多的学生受益。
参考文献:
[1]教育部高等学校计算机科学与技术教学指导委员会 编制. 高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)[M]. 北京: 高等教育出版社,2006
[2]齐治昌. 示范性软件学院验收评估的思考与体会[J]. 计算机教育. 2006,(12):4-7
[3]胡洋, 苏琳. 应用型本科计算机专业模块化教学课程体系建设的实践[J]. 中国成人教育,2008,(5):1445-1446
[4]刘征海. 普通本科层次软件工程专业人才培养模式探索[J]. 长沙大学学报,2008,22(5):175-177
[5]阳小华, 李萌, 刘志明等. 软件工程学生团队构建的案例分析[J].计算机教育, 2011,5:57-61
[6]高宏卿,王新法.团队学习层次模型研究[J].软件导刊,2009,(1):7-8
[7]牛继舜.试论团队学习的方法[J].现代管理科学,2004,(8):29-30
[8]吴铁钧.大学生团队学习:模型建构与团队效能[D].苏州大学博士论文,2011