软件工程论文:ISO9000在软件工程管理的应用 杨挚 ISO9000系列标准及软件质量认证 近年来,国际上影响最为深远的质量管理标准当属国际标准化组织于1987年公布的ISO9000系列标准,这一国际标准发源于欧洲经济共同体,但很快就波及美国、日本及世界各国。到目前为止,已有70多个国家在它们的企业中采用和实施这一系列标准。中国对此也十分重视,也采取了积极态度。一方面确定对其等同采用,与其相应的质量管理国家标准系列GB/T19000;同时积极组织实施和开展质量认证工作。计算机软件行业自然也和其它领域一样被席卷进去。 ISO9000系列标准如此迅速地在国际上广为流行,其原因主要在于: 1)市场经济,特别是国际贸易的驱动。无论任何产业,其产品的质量如何都是生产者、消费者、以及中间商十分关注的问题。市场的竞争很大程度上反映了在质量方面的竞争。ISO9000系列标准客观地对生产者(也称供方)提出了全面的质量管理要求、质量管理办法,并且还规定了消费者(也称需方)的管理职责,使其得到双方的普遍认同,从而将符合ISO9000标准的要求作为国家贸易活动中建立互相信任关系的基石,并且在国际贸易中,把生产者是否达到ISO9000质量标准作为购买产品的前提条件,取得ISO9000质量标准认证被人们当作进入国际市场的通行证。 2)ISO9000系列标准适用领域广阔。它的出现最初针对制造行业,但现已面向更为广阔的领域,这包括: (1)硬件:指不连续的具有特定形状的产品,如机械、电子产品,不只是计算机硬件。 (2)软件:通过支持媒体表达的信息所构成的智力产品。计算机软件当然属于其中。 (3)流程性材料:将原料转化为某一特定状态的产品。如,流体、粒状、线状等,通过瓶装、袋装等或通过管道传输交付。 (4)服务:为满足客户需求的更为广泛的活动。 ISO9000系列标准的内容 2000版ISO9000系列标准的内容 ISO9000:2000质量管理体系基本原则和术语 ISO9001:2000质量管理体系——要求 ISO9004:2000质量管理体系——业绩改进指南 ISO19011:2000质量和环境审核指南 2000版ISO9000族标准的特点 新版ISO9000族标准对比现行的1994版而言,具有以下的特点。 1.面向所有组织,通用性强。新版ISO9000族标准适用于所有的产品类别、所有的行业和各种规模的组织,总之,新版标准面向所有组织,通用性很强,将成为适用范围最广的国际标准之一,表现在: (1)新版标准消除了1994版对硬件产品制造业的偏向性。 2000版标准巧妙地采用了“产品实现”、“动作控制”、“过程的测量和监控”和“产品的测量和监控”等词汇和要求,消除了行业的偏向性,对非制造业贯彻ISO9000族标准所带来的方便是不容置疑的。 (2).为特种行业制定行业附加要求奠定了共同的基础。有些行业确有其特殊性,2000版本标准允许在ISO9001基础上增加行业特殊要求的条款。这样既能使所有组织的质量体系基本要求具有一致性,又确保行业特殊要求的适用小性。已有软件.通讯.汽车.等行业都已用此方式制定各自的行业特殊要求。 (3)。‘‘允许裁剪“的规定使2000版ISO9001标准的适用范围扩大到1994版ISO9001/9002/9003/三个保证摸式的标准户群。三个保证没摸式的差异都在第7章产品实现过程中,2000版ISO9001,1.2允许对第7章要求中不影响满足顾客和法规要求,不及组织责任的标准条款进行裁剪,从扩大了ISO9001标准的适用范围,又获得”以一顶是三(三个质量保证摸式),减少标准数量的功效。 (4)。考虑了小型企业的适用性。2000版标准保留了大小企业都是必要的条款,有的还进行强化,对小型企业可能不太上适合的具体要求则进行弱化。使2000版ISO9001标准的通用性更强了。 2.确立八项原则,统一留念理念。 3.鼓励过程方法,操作性强。2000版标准的修订采用了过程摸式,提倡用过程方法来识别和建立体系。 4.强化关键:领导作用。 5.自我评价测量,突出改进。 6.关心各相关方,利益共享。 ISO9000系列标准原本是为制造硬件产品而制定的标准,不能直接用于软件制作。后来曾试图将ISO9001改写用于软件开发方面,但效果不佳。于是,以ISO9000系列标准的追加形式,另行制定出ISO90003标准。这样,ISO90003就成了用于“使ISO9001适用于软件开发、供应及维护”的“指南”。不过,在ISO90003的审议过程中,日本等国曾先后提出过不少意见。所以,在内容上与ISO9001已有相当不同。ISO90003(即GB/T19000.394),全称《质量管理和质量保证标准第三部分:在软件开发、供应和维护中的使用指南》。 制定与实施ISO9000系列标准 1)强调质量并非在产品检验中得到,而是形成于生产的全过程。ISO90003叙述了需方和供方应如何进行有组织的质量保证活动,才能得到较为满意的软件;规定了从双方签订开发合同到设计、实现以至维护整个软件生存期中应当实施的质量保证活动,但并没有规定具体的质量管理和质量检验方法和步骤。 ISO90003的核心思想是“将质量制作入产品之中”。其实道理是很明显的,软件在完成编码以后,不论花多大的力气用于测试,提高质量都是有限度的,更不必说需求规格说明存在的问题常常是测试无法发现的。事实上,软件产品的质量取决于软件生存周期。 2)为把握产品的质量,ISO9000要求“必须使影响产品质量的全部因素在生产全过程中始终处于受控状态”。为使软件产品达到质量要求,ISO90003要求软件开发机构建立质量保证体系。首先要求明确供需双方的职责,针对所有可能影响软件质量的各个因素都要采取有力措施,作出如何加强管理和控制的决定。对与质量有关的人员规定其职责和职权,使之责任落实到人,产品质量真正得到控制。 3)ISO9000标准要求证实:“企业具有持续提供符合要求产品的能力”。质量认证是取得这一证实的有效方法。产品质量若能达到标准提出的要求,由不依赖于供方和需方的第三方权威机构对生产厂家审查证实后出具合格证明。显然,如果这一认证工作是公正的、可靠的,其公证的结果应当是可以信赖的。正确实施产品质量认证制度自然会在促进产品质量提高,指导消费者选购产品,提高质量合格产品企业的声誉,以及节省社会检验大量费用等方面发挥积极作用。 生产企业为了达到质量标准,取得质量认证,必须多方面开展质量管理活动。其中,企业负责人的重视以及企业全体人员的积极参与是取得成功的关键。 4)ISO9000标准还强调“质量管理必须坚持进行质量改进”。贯彻ISO9000标准是企业加强质量管理、提高产品质量的过程,这个过程包含许多工作绝非轻而易举、一蹴而就所能奏效的。即使已经取得了质量认证也不能认为一劳永逸而放松质量管理。实际上认证通常以半年为有效期。取得认证之后尚需接受每年1~2次的定期检查,其目的在于促使企业坚持进 行质量改进。 软件工程论文:浅析软件工程 摘要:软件工程专业是计算机领域发展最快的学科分支之一,软件工程(software engineering,简称为se)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。这一学科包括许多的内容,具体来讲有程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等。当今社会,网络化迅速发展,软件的应用领域越来越广。现在比较普遍的软件有电子邮件,人机界面,办公套件,操作系统,游戏等。目前,基本上每个行业都会某种程度的运用到计算机软件。这些应用对于推动经济和社会的发展起到了举足轻重的作用,提高了工作效率,改善了人们的生活质量。 关键词:软件工程 计算机领域 程序设计 开发工具 设计模式 生命周期、软件开发 1 概述 软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。这一学科包括许多的内容,具体来讲有程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等。当今社会,网络化迅速发展,软件的应用领域越来越广。现在比较普遍的软件有电子邮件,人机界面,办公套件,操作系统,游戏等。目前,基本上每个行业都会某种程度的运用到计算机软件。这些应用对于推动经济和社会的发展起到了举足轻重的作用,提高了工作效率,改善了人们的生活质量。 我们究竟是将软件的开发看成一门科学,还是将其看成是一门工程,关于这个问题已经讨论了很长时间了。事实上,软件的开发具备这两者的特征。但是我们不能将二者混淆了。大多数人认为软件工程基于计算机科学和信息科学就像是传统意义上的工程学之于物理和化学。在世界各个国家,尤其是美国大约有40%的软件工程师都有计算机科学的学位。他们可能不经常运用到计算机科学上的知识,但是会经常运用到软件工程上的知识。许多应用都需要软件工程,在软件开发的许多程序中也需要软件工程。软件工程的主要作用就是指导软件项目的方方面面。在软件工程中,软件开发与各种市场活动紧密相连。软件工程的方法学认为程序员在开发软件的时候是处在一个团队中的,而且在编写程序时要符合软件的需求,设计,以及客户的利益。 伴随着开发技术的不断进步,软件开发过程也在不断的改进。从早期的瀑布式(waterfall)的开发模型直到最近开始兴起的敏捷开发方法(agile),表现出来的是随着时代的变化,软件产业对于开发过程的认识也在不断的变化,对于各种类型项目的理解方法也在发生着变化。在美国曾经有权威机构对软件组织的绩效做过评估,所得到结论是:软件工程的专业分工不足,是造成品质低落、时程延误、预算超支的最关键因素。2003年,the standish group年度报告指出,在他们调查的13522个专案中,有66%的软件专案失败、82%超出时程、48%推出时缺乏必需的功能,总计约550亿美元浪费在不良的计划、预算或软件估算上。 2 软件工程的需求分析 有一种观点认为软件工程是学习怎么做软件的,对吧?我认为,这种观点算对,但不是全对。得到一个软件产品,自然是软件工程的目的所在,但是软件工程所包含的却不仅仅是这些。就拿软件业界比较常见的例子来给大家讲一下,这个例子就是盖房子,我们盖房子,是不是就买块地,然后准备好建材,就哐当哐当地开始建房子了呢?大家明白不是这样,要建好一座房子,先要对土地进行测量勘察,确定可以在上面建房屋,之后还得先规划出整个房子的蓝图来,接下来才是对根据蓝图开始建房子。建好房子后,还得经过一些检测,比如甲醛有没有超标啊,包工头有没有偷工减料啊,这些都合格之后才能交付使用。于是有人入住了,住久了,发现浴室漏水,那就得修补一下。再住久了,住了几十年,房子旧得不成样子了,这时候它的寿命也到了终点了。 软件工程之所以叫软件工程,就是因为它使用了工程学方法来帮助软件开发,建筑也是一门工程学,所以它们之间是会有些共通之处的,不信?请看:首先,我们在对土地进行测量勘察的时候,是在确定它是否适宜建房子,在软件工程上来讲,这个术语叫“可行性分析”,可行性分析的任务就是确定开发这个软件是否在技术上可以做到,在资金上有充足支持,在市场上能够受欢迎,如果答案是肯定的,那么就可以继续下一步的开发步骤。规划 房子的蓝图,在软件工程上被分为两个过程:“需求分析”、“设计”。需求分析就是得到软件需要做什么,需要实现什么功能。而设计就是告诉开发人员怎么实现这些功能。也就是规划出软件的一个蓝图,在“编码”阶段再对其进行实现,这就对应着建房的关键阶段,就是按照蓝图盖好房子啦。房子在入住前需要检测是否合格,软件在交付给用户使用的时候自然也需要检测是否合格,这个阶段叫做“测试”。检测合格了,那就可以交付给用户使用,在市场上销售。软件不可能完美无缺,所以在使用过程中,一定会出现某些问题,这时候就要将问题提交给软件开发人员,修复问题,这个阶段就是软件过程中的“维护”阶段。过了一段时间,这段时间可能很长,也可能很短,这软件已经不适应生产力的发展了,那么就可以正式宣告这软件寿终正寝了,至此,软件的生命周期才正式结束。 我们还要注意,软件生命周期包括制定计划、需求分析和定义、软件设计、程序编码、软件测试、运行维护这六个阶段,是指一个计算机软件从功能确定、设计直到不再使用该软件的全过程。 软件工程,正是贯穿在一个软件的整个生命周期中的。从开发某个软件的计划被提起或者立项,软件工程就开始发挥着作用,用自己的一套方法体系,来指导软件开发的整个过程。因此软件工程不等于编程,编程只是软件工程整个过程中的一个重要环节而已。据统计,在整个开发周期中,平均编码这个过程只占了整个周期的大约30%的时间。 3 软件工程原则 软件工程学主要是用来对软件开发和维护进行指导,是为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完整的工程化原则。它充分的运用计算机科学、数学及管理科学等方面的知识,并借鉴传统工程的原则、方法来完成开发软件的任务,这样就能够最大限度的开发高质量的软件,并且能够减少成本。 boehm是一位知名的软件工程专家,在借鉴了许多的专家和学者的经验之后,再加上自己在开发软件方面的经验,在1983年总结出了软件工程的七条基本原理: ①用分阶段的生存周期计划严格管理; ②坚持进行阶段评审; ③对产品严格把关; ④在技术上运用现代程序设计; ⑤结果能清楚地审查; ⑥开发小组的人员不要太多,但是这些人员要有真才实学; ⑦不断对软件工程实践进行改进是很有必要的。 一般来说,一个软件方法往往规定了明确的工作步骤、具体的描述方式以及确定的评价标准。软件开发的基本方法包括结构化方法、面向对象方法等。 随着软件工程学的发展和软件开发的实践,软件开发模型依次被提出:瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、形式化方法模型等。 目前,已经推出很多软件开发工具,如需求分析阶段的psl/psa系统;编码阶段的各种语言编译工具、编辑程序、连接程序等,都是软件编码阶段的软件工具;测试阶段的测试数据产生程序、动态分析程序、静态分析程序等软件自动测试工具;维护阶段的版本控制系统等。从广义上来讲,软件分析、设计阶段的各种图形工具,如数据流(dfd)等也可以称为软件开发工具。 从技术和管理上采取多项措施后,组织实施软件工程的最终目的是保证项目成功,即达到以下几个主要目标: ①使开发成本最少; ②达到预期的软件功能; ③软件性能更好; ④使软件易于移植; ⑤最大限度降低维护费用; ⑥按时完成开发任务,及时交付使用。 4 结束语 软件工程的方法的意义是非常广泛的。具体来讲包括项目管理,分析,设计,程序的编写,测试和质量控制。有些人认为人们要认真遵守这些方法进行软件开发,但是有些人还没有足够的能力实施这些方法。事实上,具体运用哪种方法开发软件是受很多方面因素的限制的。 软件工程论文:信息系统开发中面向对象软件工程方法的应用分析 随着科学技术的不断进步,计算机硬件也进入了高速发展阶段,软件开发方法也随之得到不断更新。面向对象(oo)方法于60年代后期被提出,但花了近乎20年才被人们广泛认识和使用。如今,面向对象软件已成为行业内的主流,并在软件行业中占据着非常重要的位置。传统的软件工程方法常把数据与处理的过程分开,大大增加了软件开发的难度。面向对象方法吧软件工作视作离散解空间对象的结合,并使问题空间与解空间的结构、描述模型相一致,简化了程序的同时降低了软件系统开发的难度。 目前,国内普遍采用传统的结构化分析设计和面向对象程序相结合的方式进行项目开发,并且大部分项目也取得了成功。但这种方法无法让实现两者的平滑过渡及连续性,并且不利于软件重用、维护、测试等工作的进行。如果全过程仅采用面向对象软件工程方法,则能确保信息系统开发的完整性和一致性。由于面向对象数据库产品尚未完善,因此此方法很难应用于实际中。为此,必须制定相应的规则和算法,确保面向对象分析、面向对象设计的结果能正确地向关系数据库转换。 一、关于面向对象软件工程 1.面向对象。面向对象主要是指在满足客户需求的基础下,将需求合理构建成独立的业务模块,之后利用多态、继承、封装、抽象的编程思想对业务逻辑进行构建,使之与业务需求相一致,最后将各模块整合以达到最佳的预期效果。 2.面向对象软件工程。面向对象软件工程时面向对象技术和软件工程相结合的产物。面向对象技术贯穿到面向对象软件工程的全过程,并将过程中形成的面向对象分析、面向对象设计和面向对象程序设计三部分,贯穿到软件工程的各个相应阶段。面向对象软件工程所采用的具体模型不外乎以下几种:整体——部分模型、类——对象模型、对象模型、分类模型和状态模型。 3.面向对象的方法。随着时代的发展,面向对象分析和面向对象设计的理论和技术都得到了逐步完善,软件开发方法也不断地推陈出新。国内外目前已衍生出多种的面向分析方法,其中最有影响力的主要有:booch方法、rumbaugh方法、coad和yourdon方法、jacobson方法、统一的ooa方法(uml)。从面向对象分析到面向对象设计是一个将模型逐渐扩充的过程。在这个过程中,主要考虑的是如何分析处理问题,对于与特定计算机相关的问题则可以忽略不计。面向对象设计可以分为高层设计和低层设计两个阶段,高层设计主要用于建立体系整体架构,低层设计则主要用于对类的详细设计。 二、面向对象方法在医院收费信息系统的应用 为了更好地理解面向对象软件工程方法在信息系统开发中的应用,我们采用了医院的收费信息系统为例。首先,可将医院收费的需求构建成三个独立的业务模块——功能模型、动态模型、对象模型。 1.功能模型 对收费信息系统进行业务分类,其中主要包括划价和查询统计两个子系统。分类的目的是为了业务模块的构建更合理清晰,节省和减少了系统操作人员的工作时间和工作量。病人缴费以后,操作人员可通过划价子系统输出其收费单据,并按有关规定将单据导入数据库中。如果病人想清楚医院的具体收费,操作人员可键入查询条件,从而为病人输出相关单据。 2.动态模型 医院收费信息系统被划分为两个子系统,其中划价子系统的动态模型主要显示为一些列的前台操作,其主要表现为:病人请求→划价员根据相关单据进行划价;病人付款→操作人员打出收据→将信息导入数据库→修改记录。查询统计子系统跟划价子系统类似,主要均是由病人提出请求,操作员再根据病人需求键入查询条件,从而输出病人的相关统计表单。 3.对象模型 本系统主要涉及到的重要的类模型为——库存类图、人员类图和单据类图。 (1)库存类图。库存类模型所增加的属性(库存量、生产日期、保质期)主要跟药物和其特性密切相关。医院内各种药物及材料都标明了库存量和保质期,而药品则常被细分为:西药、中药、中成药。 (2)人员类图。病人和医院工作人员均继承在人员类中,其中病人是医院收费信息系统的主角,划价请求、查询请求、缴费等划价子系统业务都是病人类的方法。医院工作人员类又可细分为三个子类,包括医生类、收费员类和操作员类。医生类是必然的存在,病人的病情及其主治医生,这些都需要存档。操作员是除病人外在系统中的又一主角,查询、划价、统计均是其工作。由此可见,系统的操作运行离不开操作员。收费员的工作极为简单,只需进行收费操作即可。 (3)单据类图。单据可分为治疗单据和收费单据。治疗单据在病人治疗后由医生开出,单据上主要标有:单据号、医生和病人的姓名、日期等项目。其中父类为单据号、医生和病人的姓名,子类为治疗项目如手术项目类、药品项目类等。收费单据时是系统根据治疗单据划价、病人缴费后所打印出的凭据。其父类为收费项目类,子类则为药品收费项目类、手术收费项目类等。由于单据的不同,子类会根据其属性而有所变化,因而系统可以根据需要打印出不同类别的单据。 软件工程论文:软件工程在“软件开发设计实训”课程中的应用 笔者所在学院的软件工程系是成立于2005年的新专业,为校级特色专业。近年来,随着对软件工程特色专业建设进程的推进,课程体系日趋完善。针对软件工程学科具有理论多且实践性极强的特点,本系较大幅度地加大了实践类课程和环节所占的比例,“软件开发设计实训”便是其中很重要的一门实践课程。由于软件工程学科发展速度很快,在软件产业不断发展,全国对高素质的软件人才的需求量激增的形式下,迫切需要研究和探索实践类课程的教学模式,激发学生学习兴趣,以更有效的手段和方式提高教学和指导质量,为培养更加符合社会实际需要的软件开发人才打下坚实基础。在我校教改基金的资助下,依托软件工程教学团队,本文对将软件工程应用于“软件开发设计实训”课程的教学模式及主要措施进行探讨。 1 选择适当的软件工程过程 “软件开发设计实训”课程的主要目的是使学生学会用面向对象的设计方法设计实际系统。结合软件工程学科的发展和应用现状,软件开发过程主要采用rup(rational unified process,统一软件开发过程)的方式组织软件开发。rup是风险驱动的、基于use case(用例)技术的、以架构为中心的、迭代的、可配置的软件开发流程。 rup分为初始、精化、构造和交付四个阶段,各阶段涉及多种工作流。rup的核心工作流主要包括: 需求捕获工作流:需求捕获通过对问题的理解和分析,确立问题涉及的信息、功能和系统行为,将用户需求精确化、完全化。需求的焦点主要在初始和精化阶段,在精化阶段后期,需求捕获的工作量大幅下降。 分析工作流:分析的主要工作开始于初始阶段的结尾,和需求一样是精化阶段的主要焦点。精化阶段的大部分活动是捕获需求,分析工作与需求捕获在很大程度上重叠。 设计工作流:设计的主要工作是位于精化阶段的最后部分和构造阶段的开始部分的主要建模活动。系统建模最初的焦点是需求和分析,在分析活动逐步完善后,建模的焦点开始转向设计。 实现工作流:实现(实施)是关于把设计模型转换成可执行代码的过程。从系统分析师或系统设计师的角度看,实现工作流的重点就是完成软件系统的可执行代码。实现工作流是构建阶段的焦点。 测试工作流:测试是一项相当主要的工作。测试工作流贯穿于软件开发的整个过程。它开始于软件开发的初始阶段,而细化阶段和构造阶段是测试的焦点。测试是为了找出程序中的错误与缺限,而不能证明程序无错。 rup就像一个元过程,通过对rup进行裁剪可以得到很多不同的开发过程,非常灵活,所以可以将其按本课程需要进行精简,从而把深奥的理论指导融入具体软件项目的开发设计中,让学生更加深切地体会到什么叫学以致用,消除畏难情绪,培养和增强在软件开发设计中自觉遵从软件工程思想的习惯。本课程使用的case(computer aided software engineering,计算机辅助软件工程)工具集采用sybase公司的powerdesigner。 2 将有价值的软件工程知识引入课堂,教学采用项目贯通案例 为让学生在中小规模的实训项目中也能体会到较大型项目通常会用到的一些软件工程技术,让本课程更有实用价值,教师需要对学生补充一些软件工程相关知识,包括:设计模式、架构设计、类的持久化以及数据库设计、面向对象实现以及文档的书写这四个方面。 为配合上述四个方面的软件工程相关知识的介绍,教师采取“项目驱动的案例教学”方法【2】,在课堂讲授中引入一个完整的、规模适中、难易适度的软件项目案例。该案例需要通俗易懂而又具有实际意义,涉及的应用领域应该是学生较为熟悉的,这样理解起来更为容易。以此案例完整的开发设计过程为主线,借助这个贯穿整个课程教学进程、文档齐全的完整案例来将软件项目开发设计过程中的各个环节串连起来,着重展现上述四个方面的知识运用,让学生熟悉和掌握软件开发设计的具体实施步骤和技术。 3 学生实践环节分小组按项目方式进行 由于在本实训课程之前学生已经学习过一门先导课程:“软件需求分析实践”,所以可以把学生仍然按照在“软件需求分析实践”课程中的各小组成员组成来进行项目分组,这样各小组便可将该课程中的最终成果——《软件需求分析规格说明书》作为本课程的起点来进行,需求捕获工作流便只需粗略进行。由于本课程侧重于软件开发过程的分析工作流和设计工作流,对实现工作流和测试工作流也只作粗略涉及。 每个项目小组通常为3到5人,分组时采用了优势互补的方式,注意合理搭配,尽量让每组各个成员具有不同的优势能力,并让其民主推选一名组长负责组内的组织和协调【3】。 教师的项目贯通案例教学分阶段间插在学生实践过程中,每介绍一个阶段的rup理论,就紧跟几次课的学生实践环节,如此交替进行,当教师的教学案例施教完毕,学生的项目也同步进行到最后阶段。 项目进行中模仿软件公司的例会形式,定期由项目小组长召开小组讨论会(如每周一次),对最近这段时间的项目进展情况和技术问题进行讨论。每个开发设计阶段结束时教师均要求各小组给出相应的文档,且每个阶段完毕要进行一个模拟的里程碑式的评审(教师参与作为评审团的一员)【4】。 教师还应在课程即将结束的最后课时中对各小组的项目完成情况及普遍存在的共性问题作一个分析总结,并让各小组组长总结本组项目完成的经验教训,以利于同学之间取长补短,活跃思维,提高分析总结问题的能力。 4 依托教学团队,理论及案例部分采用轮流授课法 笔者所在的软件工程系于2009年底成立了软件工程教学团队。团队兼顾了职称、学历、教学、科研的合理搭配,由有大型项目开发和管理经验的老教师提供指导来提升年轻教师的教学能力,并让其参与到科研项目中积累项目经验。本课程的任课教师均由该团队中选出。本课程所用的《软件开发设计实训指导书》的编写由各任课教师分工完成,每人负责完成一章内容。本课程每个教学班安排30人左右,各教学班的教师全程负责该班整个课程的实践指导环节。而理论及案例讲授部分的教学则采用轮流授课法,实施方案是每个阶段的课堂讲授由编写实训指导书的相应章节的教师对全体教学班集体授课,其他教师同时到场辅导。具体各阶段的课堂讲授内容安排如下: 1)rup总论以及课程概述 2)设计模式 3)常用的软件架构风格及适用情况分析 4)对象持久化与数据库设计 5)面向对象实现及文档编写与整理 对应进行的学生的各阶段实践任务如下: 1)按既定方式确定各小组成员和组长,并且重新审核各组在先导课程“软件需求分析实践”中的最终成果《软件需求分析规格说明书》,进一步完成分析模型,得出用例图,分析类图,序列图及协作图。这一阶段学生需提交分析模型文档。 2)按照设计模式重新设计类。这一阶段学生需完成两个任务:一是实现设计模型中的具体设计类,具体要求学生:使用设计模式和机制;创建初始设计类;确定持久类;定义类可视性;定义操作;定义方法;定义状态;定义属性;定义依赖关系;定义关联;定义内部结构;定义泛化关系;解决用例冲突。二是完成用例实现的设计,主要设计模型内的协作关系,以设计类及其对象为基础,描述各个特定用例的实现和协作。这一阶段学生需提交设计模型、类图和用例实现。 3)完成架构设计。这一阶段学生需要设计包结构,完成系统设计模型图的实现子系统、接口设计类及架构模型(组件图),重新审查用例模型,得出用例模型的架构视图。这一阶段学生需提交子系统设计文档、接口设计文档及架构模型文档。 4)根据持久类以及数据库知识对数据库进行设计(包括字段编码设计)。这一阶段学生需提交数据库设计文档。 5)本课程的最后阶段。完成实施模型(部署图);完成界面以及输入输出(报表等)设计;完成具体子系统的编程工作,并进行二次迭代重新审核前面的设计部分;整理测试报告;整理文档并编写软件使用说明书。这一阶段学生需提交组件图、部署图、输入输出设计说明及具体子系统代码执行程序。 5 考核方式强调过程考核,开发设计能力与书写文档能力并重 本课程的实训目标是使学生能综合运用所学的知识进行中小型应用项目的软件开发设计。为此,我们提出了本课程考核的指导思想:重视实训过程,看重软件开发设计能力的提高,采用复合考核的方式,课程成绩由平时考核、过程考核和项目验收答辩成绩组成。重点突出“会不会做”,强调对学生的实际开发设计能力考核,同时注意防止轻视书写文档的观念。这种考核方式不但能更客观地反映学生的学习情况,还能引导学生有意识地加强软件开发设计技能的培养,开发设计能力与书写文档能力并重,更利于达到预期的教学效果。本课程具体的课程考核成绩组成如下: 1)平时成绩*10%(考勤成绩*50%+小组开发设计工作中的合作精神表现*50%); 2)阶段考核成绩*60%(五个阶段,各阶段的能力表现及提交的文档各占20 %); 3)项目验收成绩*30%(项目文档汇总整理占50%,项目答辩50%)。 6 结束语 “软件开发设计实训”课程是软件工程专业实践类课程中非常核心的一门,其实践性和综合性都很强,能集中训练和提高学生进行软件项目开发和设计的实际技能。其教学实施过程不应被视为只要学生针对项目要求能编写出相应的软件即可,而更应注重软件开发设计过程的方法和技能的培养,以培养具有软件工程思想的真正符合社会需求的软件人才。本课程应紧随软件工程学科的发展而不断更新。在今后的课程开展过程中,其教学模式和措施还需要不断创新、总结和改进,需要持续不断地研究和探索。 软件工程论文:计算机软件工程管理工作探析 论文 关键词:软件工程管理 开发人员 组织结构用户 论文摘要:通过对软件产品特点的分析,讨论软件工程管理可能涉及的人员、组织机构、用户、控制、文档资料等内容. 一、引言 软件工程管理目前还没有引起人们的足够重视。究其原因:首先是人的传统观念,工程管理不为人们所重视;另一方面软件工程是一个新兴的学科领域,软件工程管理的问题也是刚被提出的。同时,由于软件产品的特殊性,使软件工程管理涉及到很多学科。因此.对软件工程管理,人们还缺乏经验和技术。但事实证明,由管理失误造成的后果要比程序错误造成的后果更为严重。很少有软件项目的实施进程能准确地符合预定目标、进度和预算的,这也就足以说明软件工程管理的重要。 二、软件工租,理的内容 目前软件生产自动化程度很低,在开发过程中人是起决定性的因素,因此,软件工程管理很大程度上是对人的管理。我们可根据软件产品的特点.分析软件下程管理的具体内容,它包括对开发人员、组织机构、用户、文档资料等方而的管理。 (一)开发人员 软件开发人员一般分为:项目负责人、系统分析员、高级程序员、初级程序员、资料员和其他辅助人员.根据项目的规模人小,有可能一人身兼数职,但职责必须明确。不同职责的人,要求的素质不同。如项目负责人需要有组织能力、判断能力和对重大问题能做出决策的能力;系统分析员则要有概括能力、分析能力和社交活动能力;程序员需要有熟练的编程能力等。人员要少而精,选人要慎重。软件生命期各个价段的活动有分工又互相联系。因此,要求选择各类人员既能胜任工作,又要能相互很好地配合.没有一个和谐的工作气氛很难完成个复杂的软件项目。 (二)组织机构 组织机构不等于开发人员的简单集合。这里的组织机构要求:好的组织结构、合理的人员分工和有效的通讯。软件开发的组织机构没有统一的模式。下面简单介绍三种组织机构。 1.主程序员组织机。ibm公司提出的主程序员组是软件系统结构化思想在组织上的体现。它的目的是为了保证全组的协调和统一。一位高级工程师(主程序员)主持计划、协调和复审组的全部技术活动。技术人员(一般25人)负责分析和开发活动,一位后援工程师支持高级工程师的工作,并且在该项目继续进行时,可以代替高级工程师工作,以减少可能的损失. 2.专家组。专家组强调每个人的才能,把每个人都看作是某一方面的专家,由这些专家组成一个开发机构。这种组织结构虽然能发挥所有工作人员的积极性,但往往有可能出现协调上的困难,选择这种方式要慎重. 3.民主组织.民主组织由从事各方面工作的人员轮流担任组长。很显然,这种组织结构对调动积极性和个人的创造性是很值得称道的。但是由于过多地进行组长信息“转移”不符合软件工程化的方向。 (三)用户 我们是为用户开发软件的,在开发过程中自始至终必须得到用户的密切合作和支持。作为项目负责人,要特别注意与用户保持联系,掌握用户的心理和动态.防止来自用户的各种干找和阻力。 1.用户不积极,不配合。这种表现通常来自对采用先进技术持怀疑态度的用户,他们心理上的抵触情绪会在行动上表现为消极、漠不关心。在需求阶段,做好这部分人的工作很重要,通过他们中的业务骨千,才能真正了解到用户的要求。要使他们认识到: 计算 机的 发展 和应用是 现代 化的必然趋势,使用计算机将会带来巨大的 经济 效益:让他们掌握新的技术和方法去取代某些可能过时的或淘汰的专长。 2.用户求快求全.这种表现来自对使用计算机持积极态度的人.他们中一部分人希望一个早上就能用上计算机,并且全能用上计算机。要他们认识到;开发一个软件项目不是一朝一夕就能完成的,软件工程不是靠人海战术就能加快的工期。另外,即使计算机能够处理的事情,系统也不能下于包罗万象,贪大求全。要根据现有的条件量力而行。如果系统大而全,必然会很复杂,开发时间就拖得很长,因此可能会导致一个系统的失败或性能太差. 3.用户需求变化.在软件开发过程中,用户可能会不断提出新的要求和修改以前提出的要求。从软件工程的角度不希望有这种变化。但实际上,不允许用户提出变动的要求是不可能的.因为一方面每个人对新事物有一个认识过程,不可能一下子提出全面的、准确的要求:另一方而还要考虑到与用户的关系。对来自用户的这种变化要正确对待:要向用户解释软件工程的 规律 ,并在可能的条件下部分或有条件地满足用户的合理要求.例如:软件需求分析阶段结束后软件的设计口标已经确定,这时用户要求的重大变化要导致设计目标的变化,特别是到软件开发的后期,一般不可能满足这种变化的要求。要向用户解释清楚工程的内在规律,但对用户提出的如性能等局部方而的要求,只要是合理的,就要加以考虑。 4控制。人员控制是对开发组织内部人员控制。就是要保证开发人员的积极性和稳定性。人员的频繁更换或流动将会大大增加软件出错误的机会。至少要保证软件项目每一期工程或软件生命期每一阶段中人员的相对稳定性。同时注意发挥每个开发人员的积极性和创造性。经费控制要编制详细的经费预算。并在各阶段进行经费的核算。在经费上失去控制,软件项目就没有经济保证。质量控制与各阶段的复审在意义和作用上是一致的,在此不再叙述。 5.文档资料。开发过程的各种活动后都要反映在文档资料上。每一个阶段的文档资料是以后各阶段工作的基础,又是对前面各阶段工作的复审。软件工程管理很大程度上是通过对文档资料管理来实现的。因此,要把开发过程中的初步设计、中间过程、最后结果等建立成一套完整的文档资料。文档标准化是文档管理的重要方面。 三、结束语 在当今的软件工程时代,每个项目涉及众多的人力和物力,管理问题日益突出。在实际工作中,不管是否正式提出管理问题。都在自觉或不自觉地进行着管理,只不过是管理的好坏程度不同而已。随着软件规模的不断增大.开发人员也随着增多,开发时间也相应持续增长。而对于规模大、人员多、开发时间长的软件项目,必须要有良好的管理和力求在确定的时间和预算范围内有效地、合理地组织人力、物力.按计划完成预定的软件项目。 软件工程论文:“软件工程专业卓越工程师培养方案”的探索与实践 2004年,世界工程师大会在中国召开,会议的主题是“工程师塑造可持续发展的未来”。这个主题告诉我们,“工程师”对人类未来发展的重要性,同时也告诉我们“工程教育”对人类未来发展的重要性。[1]应该看到,尽管一些应用型本科院校把培养“一线工程师”作为学校的办学宗旨,并在此基础上对教学模式、教学方法进行了一系列的教学改革,但由于与企业的结合不够紧密,高等工程教育所培养出的“一线工程师”与企业、与社会的脱节比较严重,不能适应现代社会发展的需求。 2010年6月教育部基于提高工科院校专业教育教学水平而正式启动推出的“卓越工程师教育培养计划”(以下简称“卓越计划”)[4]是贯彻落实《国家中长期教育改革和发展规划纲要(2010-2020年)》和《国家中长期人才发展规划纲要(2010-2020年)》的重大教育计划。该计划旨在培养造就一大批创新能力强、适应经济社会发展需要的高质量各类型工程技术人才,为国家走新型工业化发展道路、建设创新型国家和人才强国战略服务,对促进高等教育面向社会需求培养人才,全面提高工程教育人才培养质量具有十分重要的示范和引导作用。 上海应用技术学院“软件工程”专业从 2010 年起即着手准备,在原有专业设置基础上不断探索与实践,根据it学科行业发展的特殊性,制定具有前瞻性的人才培养标准,并通过全面修订人才培养方案、实施人才培养模式、教学方式、训练方式和评价方式等的改革。 一、培养模式 本专业实施“3+1”校企联合培养模式,学生须接受3年的在校培养,累计1年的企业实践和毕业设计。前三年学生在校学习学科基础知识和软件工程的基本理论知识和技能,打好从事软件工程领域工作的扎实专业基础。在校学习过程中,定期聘请企业教师参与到教学实践中,使学生对企业的生产实际有初步的了解。 第四年学生将被安排在合作企业进行为期一年的学习与实践。一些与企业联系密切的专业课程及毕业设计在企业完成,学生参与到企业的各个项目组,随项目组一起参与实际项目的开发。项目组负责人将视学生为自己的员工,分派合适的工作要学生随导师或独立完成。通过参加一个或几个实际项目的工作,独立地完成一部分工作,并以企业标准进行考核,使学生对软件标准化设计的全过程有更深入的了解。增强学生的责任心,提高学生的实际工作能力。 二、培养标准 按照教育部“卓越工程师教育培养计划”的总体工作思路和标准要求,上海应用技术学院“软件工程专业卓越计划”将以“培养面向未来国家建设需要,适应未来科技发展,德智体全面发展,掌握软件工程学科的基本原理和基本知识,具有扎实的基础理论、宽厚的专业知识和良好的实践能力,获得工程师基本训练,能胜任软件工程项目的规划、设计、实施、管理、研究、教育,以及投资与开发等工作,具有创新精神和国际视野的卓越的专业工程师”。 三、培养方案架构 按照课程群和模块化的指导思想搭建培养方案的课程架构,满足不同学生、企业对知识能力培养的需求。培养方案课程体系总体架构如图1所示。1-5学期按照课程群进行教学,满足学生对不同知识能力的需求;第6学期根据学生实习企业对知识能力的需求分模块进行教学;第7-8学期进入对口的企业实习并完成毕业设计。 四、校内培养方案 校内培养方案的设计目标是通过学习使学生具有较强的工程意识、工程素质、工程实践能力,成为专业知识扎实、动手能力突出、素质优良的卓越软件技术人才。为了保证卓越工程师培养计划的实现,制定了卓越工程师计划专业知识与能力的实现矩阵,进一步明确了本科课程体系设置,包括课程模块的构成、具体翔实的课程教学目标以及教学考查方式。结合专业特点以及学校学院的教学平台、 教学设施、教学创新实践基地等,加强了教育教学中的基础性、创新性、实践性、国际化,使专业的教育教学更上一个新的台阶。 (一)课程群划分 将课程划分为三条主线进行教学:1.基本理论课群,包括操作系统、计算机网络、离散数学、数据结构、算法、计算机原理等。本部分课程培养学生计算机学科的基本理论和体系结构,使学生具备坚实的理论基础,为其今后的继续学习和发展打下基础,同时满足学生考研需求。2.程序设计能力课程群,.net、java两个主流平台并重,再加上三门培养综合设计能力的课程,以提高学生的实践动手能力,并满足不同企业对开发工具的需求。为了加强学生的程序设计能力,我们在课程设置上体现了在校学习期间三年不断线的思想,每学期都有与程序设计有关的课程和实训。要求学生第一年编写代码不少于5000行,第二年不少于10000行,第三年不少于20000行。在进入企业之时,已经具备了较强的程序设计能力。3.软件工程能力课程群,以提供学生软件工程的管理与被管理能力。 (二)课程模块划分 根据合作企业的知识能力的不同需求划分为若干不同模块。通过对学生工作去向的跟踪调查和软件工程行业需求调查,确定了erp开发、web应用开发、手机应用开发、软件咨询服务等几个方向。每个方向设立若干课程构成若干课程模块,对应不同的去向,满足不同企业的需求。在基本能力培养的基础上,根据学生第四年去向选择模块,在第6学期完成,由企业方参与教学,完成学生进入企业的过渡。 五、企业培养方案 企业培养方案突出了理论和实践综合素质的培养,在教学体系上形成了企业导师教学讲解、专题实训、项目实践的“三位一体”、工学交替的人才培养方案。 整个企业阶段的培养方案划分为企业工程教育或专业特色实习(累计15周)、现场工程实践和专业综合设计(累计25周)两个部分,共40周,其中: 1.企业工程教育或专业特色实习(15周) 根据企业的业务和项目情况设置相关课程,折合15周。目的是培养软件企业需要的一线工程人才。为了提高本专业特色实习的质量,聘用计算机软件工程专业知识过硬、实践经验丰富的技术人员为教师。在实习过程中,采用案例教学法,把企业实际软件工程项目纳入学生实习范围,让学生接触和开发企业实际的工程项目。为了提高实习效果,企业工程教育要做到讲授、训练、实践穿插进行,使学生全面感受企业的工作环境、管理体制和项目开发过程,做到学生学习的专业特色内容与企业实践相结合。 2.现场工程实践或专业综合设计(25周) 为使学生成为满足软件产业需求的创新型人才,专业综合设计采用项目驱动的实习模式,专业综合设计通过参与企业实际项目完成,共25周。专业综合设计课题全部来源于企业的工程项目,实行1人1题,由实习单位的专业技术人员和学校的专业教师担任设计指导教师。专业综合设计结合实际工程问题,进行有针对性的研究与实践,培养学生综合运用所学知识和技能、分析与解决实际问题的能力,培养学生勇于探索的创新精神、严肃认真的科学态度和严谨求实的工作作风。 经过一年多的实践,卓越工程师人才培养成效显著,一批特色鲜明、实践能力强的工程应用型创新人才脱颖而出,2012届参加卓越工程师培养方式的学生,在就业方面占据了明显的优势。受到了企业的普遍欢迎。目前,2013届学生参加卓越工程师培养计划的工作正在进行,受到2012届成功运作的影响,学生们积极性很高。在卓越工程师计划的实施过程中,我们也发现了一些培养计划中的不足之处,并在2013届的实施中加以以调整。相信经过几年的努力,我们的培养方案会愈加成熟。 软件工程论文:地方院校软件工程校企合作 实训教学改革的探索与实践 地方院校教学目标是培养社会所需要的应用型人才,这是其优势所在。实训教学是指独立设课的实训课和理论课中的实训环节,是实现培养目标的主体教学环节之一。实训教学是培养学生专业技术应用能力及分析问题和解决问题能力的重要途径,是教育过程中不可缺失的重要环节。本课题的研究基于某些国内外知名企业提供技术服务为基础,以梧州学院软件工程专业为探索平台进行的教学改革实践。校企合作的内容主要包括实践教学体系建设、实训教材建设、实训基地建设、产学研等多方面。 着力打造“4+5”的实践教学体系 学院软件专业打破传统的三段式教学,着力打造“4+5”的实践教学体系。“4”是指突出培养学生四种能力(实践能力、创造能力、就业能力和创业能力);“5”是指培养过程的“课程实验—期末实训--毕业实训—顶岗实习—创新性实践活动”五个模块。五个模块是根据软件工程特点,循序渐进地培养四种能力,体现工学结合。这五个模块和整个课程体系,都是围绕主线来展开。其中的“创新性实践活动”对软件技术人才来说是非常重要的,一个软件就像一个作品,必须有创意和实用的算法。 校企合作,共同开发实训课程和教材 为了支持“一条主线,五个模块”的实践教学体系,学院软件专业采取校企合作方式,共同开发实训课程,分别用于各个模块教学中。目前,已与多家企业共同建设基于任务驱动、项目导向、工作过程的《信息开发技术》课程,基于工作过程的 “教学做”一体化情景化教学的《网络综合布线》课程。与企业合作开发《信息开发技术教程》、《多媒体技术与应用实训教程》、《网站规划与设计实训教程》、《计算机组装与维护实训教程》、《角色动画教程》等教材。 校企合作,共建校内生产性实训基地 学院软件专业采取校企合作方式,与多家企业共建网络构建、服务器、综合布线实训室,实训室建设贯彻先进性、真实性、工程性、开放性的建设原则,将实训基地建成具备多类网络架构真实环境,集教学、科研、工程、培训、技能鉴定等多种功能于一体的网络技术与软件工程中心,着力培养学生的职业技能和创新能力,提高人才培养质量,提升社会服务能力。 以产学研充实教学内容,提高教学和管理水平 为搞好产学研,学院建立二级科研机构软件开发中心,软件专业教师在研究所兼职搞开发,取得了良好的效果。先后完成了梧州市国税限时办结税务系统、广西财政厅的预算单位银行账户管理系统、基于cmpp的短信系统的研究、广西科技厅的nsq物流信息实时智能配对系统、新型农村合作医疗信息系统等。在重大课题研究中积累了丰富的研究经验。特别是在医疗卫生行业, 建立医疗卫生行业综合信息平台。医疗卫生行业以新型农村合作医疗、城镇居民健康档案管理系统为切入点,以现有系统为基础,以国家农村合作医疗建设政策为指导思想,以具体的信息化项目作为实际载体,参与到医疗卫生行业“一个平台、四大系统”的建设中(即建立一个包含网络硬件和基础软件的统一技术基础平台,建立卫生行政管理信息系统(卫生电子政务)、突发公共卫生事件应急系统(突发公共卫生事件应急指挥决策、疾病预防控制、卫生监督、医疗救治等系统)、医疗服务信息系统(医院信息)和卫生应用信息系统(合作医疗、社区卫生、妇幼保健、医教科研等系统)),在加快全市公共卫生信息化建设进程,全面提高突发公共卫生事件监测、应急反应、医疗救治、执法监督和指挥决策的能力方面作出我们应有的贡献。 总结 软件工程专业的“3+0.5+0.5”的教学模式的实训环节是按照校内半年、校外半年的方式进行组织的。校内实训基地引入来自企业的真实项目,学生在贴合软件企业工作环境的实训室中完成校内综合实训。校外实训基地由来自企业的兼职教师带领在企业顶岗实习的学生参加企业项目的研发,在实战中进一步深化所掌握的专业知识。通过分方向、多层次、分阶段来逐步训练学生的专业技术能力和职业素质。整个实训环节包括专业认知、基本技能实训、核心技术实训、综合实训、顶岗实习几个环节,实训涵盖了基础知识、专业核心技术及综合能力培养等各个方面,所建立的实训教学体系有一定的借鉴意义。 软件工程论文:基于软件工程开发的领域本体构建研究 目前流行的领域本体构建方法有:英国edinbunrgh大学ai应用研究所的enterprise项目组开发的“骨架法”,该方法使用middle—out开发方式提供与商业和企业有关的术语及其定义的集合;加拿大toronto大学企业集成实验室开发了tove项目本体,通过该本体来建立指定知识的逻辑模型;bernaras等人开发的欧洲eaprit kactus项目中由应用来控制本体的开发,每个应用都有相应的知识本体,这些本体即能复用其他的本体,又能集成到项目以后的本体应用中;西班牙madrid理工大学ai实验室开发的,methontology法构建知识级本体;美国southern california大学信息科学研究所开发的sensus法,主要通过自然语言处理,提取和合并不同电子知识源的信息而得到该领域本体的内容。 本文借鉴了上述传统领域本体构建方法中的基本思想,并在构建框架中融合了软件工程开发方法中的结构化开发方法和原型化开发方法。 1 传统领域本体构建方法分析 1.1 共同点分析 纵观上述“骨架法”、“评估法”、“bernaras”、“methonotology”及“sensus”方法构建领域本体过程中的思路,它们之间存在以下共同点: (1)许多本体构建方法都以一个具体任务为起点,这样易于知识的获取和本体功能的描述。 (2)本体构建大致可划分为阶段法(如骨架法)和演化法(如methontology法)。 (3)在构建过程中可分为“非形式化描述本体”和用正规描述语言“形式化描述本体”前后两个阶段。 (4)希望通过累积的方法构建本体,即先构建一个基础本体,然后做进一步开发。 (5)对于由同一个基础本体构建出的领域本体,由于高层概念的共享,本体系统之间具有互操作能力。 1.2 缺陷分析 ieee 1074—1995标准是软件开发生命周期过程的标准,其中包括模型阶段、项目管理阶段、软件开发阶段与集成阶段4个开发阶段,其中软件开发阶段的具体步骤如下: (1)开发前期:主要进行可行性研究等活动; (2)开发阶段:主要进行需求分析、设计和实现等活动; (3)开发后期:主要进行软件的安装、试运行、操作和维护等活动。 与ieee 1074—1995标准对比而言,目前领域本体构建还远远没有成为一种工程性活动,还具有如下缺陷: (1)没有一种方法是完全成熟的,不论是bemaras法、sensus法、骨架法、评估法,还是methontology法。 (2)缺乏工程化的本体通用构造方法和标准。由于每个研发团队处于不同的学科领域,虽然总结出各个领域不同的开发方法和体系结构,但是各个本体开发方法都不尽统一,缺乏通用的标准。 本文在领域本体构建过程中扬弃上述5种领域本体构建方法中的优缺点,而且借鉴了软件工程开发的基本标准。 2 基于软件工程开发的领域本体构建 2.1 构建框架 本文在领域本体框架构建的形式上采用结构化方法中分段式模式,将整个领域本体构建过程分为领域本体规划阶段、领域本体分析阶段、领域本体设计阶段、领域本体实施阶段及领域本体运行阶段,每个阶段都有自己独立的目标及主要任务,前一阶段任务的完成是后一阶段任务开始的前提和基础,后一阶段任务通常是对前一阶段提出的解决问题方法的进一步具体化,即该过程是按照软件工程开发的生命周期流程来逐步解决问题的。在领域本体分析阶段,根据领域本体规划阶段提出的具体要求和目标,采用原型化方法不断地对分析结果进行修改和完善。其构建框架如图1所示。 2.2 构建框架分析 2.2.1 领域本体规划阶段 (1)确定领域本体的用途和范围 确定领域本体范围的方式之一是设计并填写本体的性能调查表,以下从需求的角度对本体支持的性能调查表进行简单的分类: ①需求细化。需求细化过程必须满足何种标准?会产生多余的需求吗?需求是客户的清晰表述吗? ②需求追溯能力。需求还能分解吗?需求的来源是什么?谁记录需求?需求在特定的设计团队中适用吗? ③需求满足。需求能够满足吗?两个或多个需求间相互冲突吗?更高抽象级别的需求怎样满足评估? ④文档生成。需求属于哪类文档?哪些是与需求文档中的段落相符的需求?不属于客户报告的需求有哪些(商业机密)? ⑤升级。这是需求的最新版本吗?需求的旧版本有哪些?为什么还要改变需求?变化对需求文档的一致性和完整性有影响吗? (2)考虑复用现有领域本体 一些本体已经初具规模,可以在网上找到相应的本体库及相关资料,在具体开发之前,有必要在这些本体中寻找系统可以重用的本体,这样可以省去元本体和顶层本体的建立,而把本体建立的目标重点放在领域本体的建立上。 2.2.2领域本体分析阶段 (1)定义类和类层次 类描述了领域的概念而非单词。在类和类层次的定义过程中,需要依据以下8个原则: ①确保类层次的正确性 恰当使用is—a和kind-of等类间关系,is-a关系指类a是类b的子类,前提是b的每个实例也是a的实例。类的子类表示概念是kind-of父类表示的概念;层次关系间具有传递性,并应区分直接子类和间接子类的关系;避免类层次的循环,确保类层次随着领域发展而进化。 ②分析类层次中的兄弟关系 在类层次中,兄弟关系是同一类的直接子类,并在同一抽象级别上。关于直接子类的个数并没有明确规定,但父类一般只有2-12个直接子类,过多或过少不都合适。 ③多重继承关系 一个类可以是几个类的子类,则子类的实例是其所有父类的实例,子类将继承所有父类的属性和关系约束。 ④引入新类的时机 当类的子类有其父类不具有的新属性,或有已定义的新属性值,或覆盖父类属性的约束,此时可以引入一个新类。新类可以没有任何新的属性,没有必要为了一个额外的限定条件来创建新类。 ⑤新类或特性值 如果有不同属性值的概念变成其他类中不同属性的约束,则应该生成新类,以便加以区别;类的单个实例不应经常改变,当使用概念的外在(非固有)属性来区别类时,这些类的实例将需从一个类移动到另一类。 ⑥类或实例 判断类结束和单个实例开始依赖于知识表示中最低的粒度级,而粒度级又由本体应用来确定;如果概念已经形成自然的层次,则应表述为类,单个实例是最特殊的概念表述,实例没有层次性。 ⑦限定范围 确保不包括类具有的所有特性,仅在本体中表述类最突出的特性,不增添所有类(术语)间全部的关系。 ⑧不相关子类 很多系统明确指定某些子类不相交,如果类没有任何共同的实例,则它们不相交。 (2)定义类的属性及其约束 类的属性是描述类和实例的特性,也是类间区分的特性。通常有四种对象特性能变成本体中的属性: ①固有的特性,如圆柱的半径和高度。 ②外在的属性,如螺旋的设计者。 ③局部,若对象是结构化的,物理和抽象的部分。 ④与其他个体间的关系。 不同的约束可以用来描述属性的值类型、值范围、值基准,及值的其他特征。下面从5个方面来描述属性普通的约束: ①属性基数。基数定义属性有多少值。有些系统定义单一和多个基数,而有些系统用最小和最大基数来描述属性值的个数。有些属性设置最大基数为o,目的是为了表示特定子类的属性不能有任何值。 ②属性值类型。通常属性值类型可分为字符串型(string)、“浮点或整数”数值型(float或integer number)、“是或否”布尔型(yes或no boolean)、枚举型或符号型(enumerated或symbol)、实例型(instance)。 ③属性的领域和范围 属性应能描述其领域中所有的类,属性应能填充其范围内所有类的实例,同时不应指定属性的范围是本体中最通用的类。 ④逆属性 属性值可能会依赖于另一属性值,称为逆关系,在两个方向保存此数据是冗余的,通常使用逆属性,可以自动填充另一逆关系的值。 ⑤默认值 如果类的多数实例的特定属性值是相同的,则可把该值定义成默认值。当类的每个新实例包含这个属性值时,系统自动填充默认值,还能把此值改成约束允许的其他值。 (3)生成实例 定义类的单个实例首先需要选择类,接着生成这些类的单个实例,最后填充属性值。 为了使生成的类、类间层次关系、类属性及约束、类实例等更符合构建目标和用途,并为了保障在较短时间内适合用户的需求,在领域专家的指导下,采用原型化软件工程开发方法对该阶段产生的成果不断修改和完善。 2.2.3 领域本体设计阶段 (1)领域本体的形式化表示 一般用语义模型表示领域本体。perez等人用分类法组织领域本体,归纳出5个基本建模元语: ①类(classes)或概念(concepts) 从语义上讲,它表示的是对象的集合,其定义一般采用框架(frame)结构,包括概念的名称、与其他概念之间的关系集合、以及用自然语言对概念的描述。 ②关系(relatiom) 在领域中概念之间的交互作用,形式上定义为n维笛卡尔积的子集,即:r=c1×c2×……×cn ③函数(functions) 一类特殊的关系。该关系的前n-1个元素可以惟一决定第n个元素。形式化定义为f:c1×c2×……×cn-1→cn。 ④公理(axioms) 代表永真断言,如概念乙属于概念甲的范围。 ⑤实例(instances) 代表元素,从语义上讲实例表示的就是对象。 另外,从语义上讲基本的关系有4种:整体与部分关系(part—whole)、分类关系(is—a)、实例与概念关系(instance—concept)和属性关系(attribute-of)。但在实际建模过程中,概念之间的关系不限于上述4类关系,可以根据领域的具体情况定义相应的关系。 (2)领域本体的形式化描述语言 领域本体可用自然语言、框架、语义网络或逻辑语言等来描述。但对计算机来说,形式化描述语言做为一种可供计算机处理的概念模型,应具备以下条件: ①应该具有较强的表示能力,同时也应兼顾推理能力,以满足智能检索中进一步实现推理的需求。 ②应该具有较强的内在逻辑系统支持。 ③应该具备一致的描述概念和表示数据的能力。 ④应该尽可能与w3c已有标准兼容,从而保证其持续发展需求。 ⑤应该具备xml语法特性,最好是基于语义web。 ⑥所表示的领域知识是形式化的,即机器可读和可理解的。 目前已经开发了6种本体语言,有些是直接基于xml语言的语法,如简单html本体扩展(simple html ontologyextension,shoe)、本体标记语言(ontology markup language,oml)和基于xml的本体交换语言(xml—based ontology exchange language,xol);另外有2种本体语言是建立于rdf(s)之上,以便改善rdf(s)的特征:本体交互语言(ontology interchange language,oil)和darpa主体标记语言+本体推理层(darap agent markup language with ontology inference layer,daml+oil)。最近,以oil和daml+oil语言为起点,已开发出语义网所用的web本体语言(web ontology language,owl)。各个本体语言之间的层次化关系如图2所示: (3)领域本体的文档化构建和存储 构建领域本体文档,可对后续领域本体修改和进化奠定基础。1个owl文档由以下4个部分组成: ①本体首部:包含了文档的元数据,如导入数据、版本数据及与其他owl文档的兼容数据。 ②类的定义:通过(owl:class)标签定义类,使用(rdfs:subclassof)来继承1个或多个类,由此建立类的层次关系。类的语义用类的描述来表达。owl区分了6种类的描述:1个类标识,1个详细的列举,1个属性的限定,2个或多个类描述的交,2个或多个类描述的并,1个类描述的补。 ③属性的定义:owl存在2种类型的属性,即对象属性(object property)和数据类型属性(datatype property)。对象属性是用来表述2个类实例之间的关系,而数据类型属性则描述类的实例、rdf literals,以及xml schema数据类型之间的关系。属性之间还能够定义子属性关系以及为属性声明额外的特征(传递属性和逆属性)。如能够定义father是parent的子属性,定义anceator为传递属性,定义child为parent的逆属性。 ④个体(实例)的定义:一个个体是一个特定类的实例,并与其属性相联系。 2.2.4 领域本体实施和运行阶段 (1)领域本体评价 这里采用gruber在1995年提出的5条准则: ①清晰性。所定义的术语应尽量客观,避免受社会背景和客观环境的影响;给出的定义应尽可能完整。 ②一致性。即本体中定义的公理应该是逻辑一致的,概念和概念间关系在逻辑上也应该是一致的。 ③可扩展性。本体应该能够保证添加新的通用或专用术语,而不需要修改原有的定义,即能支持在已有的概念基础上定义新术语。 ④编码偏好程度最小。概念应该在知识层次上说明,而不应该依赖于特定的符号层次的编码,因为不同的系统可能采用不同的表示风格。 ⑤最小本体承诺。一般地,本体承诺只要满足特定的知识共享需求即可,这可以通过定义约束最弱的公理及只定义交流所需的基本词汇来保证。 (2)领域本体试运行 可针对某一应用目标,可利用初始生成的领域本体在特定的应用范围内进行试运行,来验证初始领域本体是否能够满足领域范围应用的需求,特别是要检验其一致性、完整性和可扩展性。经过试运行,若符合要求则转向(4);若不符合要求则要重新经过本体分析阶段,然后转向(3)与(4)。 (3)领域本体文档的修改 针对试运行的结果,可在owl文档的基础上做一些标注性的修改。 (4)领域本体应用 对于修改后的领域本体,可正式投入实际运行应用过程。 3 总结和展望 本文在总结与分析传统领域本体构建方法中的基本思想及缺陷的基础上,提出了基于软件工程开发角度来构建领域本体的思路。其中利用结构化开发方法构建领域本体整体开发流程,充分借鉴了结构化开发方法中的用户至上原则,结构化、模块化、自顶向下地对系统进行分析和设计等优点,但由于结构化开发方法中存在开发周期过长、不易满足用户需求并难易修改等缺陷,因此在领域本体构建的重要环节,即在领域本体分析阶段采用原型化开发方法,使用户与开发者通过不断地沟通尽快确定领域本体初始模型,并通过结构化开发方法所划分的层次结构过程不断地优化和修改初始模型,使其能够尽快满足用户的需求。 软件工程论文:计算机专业“软件工程”课程的教学研究 摘要:针对“软件工程”这门课的课程特点,本文提出几种实用的教学方法和手段,目的为了提高“软件工程”的教学质量。 关键词:软件工程 教学改进 实践 中图分类号: 1、 引言 提起软件,在当今社会人们并不陌生,正是由于软件的发展,使计算机应用逐步渗透到社会生活的各个角落,使各行各业都发生很大的变化。这同时也促进人们对软件的品种、数量、功能和质量等提出了越来越高的要求。然而,软件的规模越大、越复杂,人们的软件开发能力越显得力不从心。于是,人们开始重视软件开发过程、方法、工具和环境的研究,软件工程应运而生。 “软件工程”主要介绍软件工程的基本原理、开发方法和开发工具,通过本课程的学习,使学生了解和初步掌握开发1个软件项目所使用的方法和工具,以及“软件工程”的发展过程和发展趋势,为进行软件开发打下1个良好的基础。 2、 课程特点 1。 课程综合性强。 软件工程与其他计算机课程,如程序设计语言、数据结构、编译原理、数据库以及操作系统等课程都是相互作用和影响的。在1定程度上说,软件工程讨论的是在实际开发当中综合运用这些课程中讲过的理论和方法,将这些课程的理论和方法放在1个统1的目标下,这个目标就是在有限的时间及预算条件下,开发出高质量的令用户满意的软件。 2。 课程内容不断更新。 软件工程课程的教学培养目标应该以市场需求为导向,使课程培养的学生真正能够在软件行业中发挥作用。因此,在授课时,我们不能拘泥于教材内容的限制。在讲解基本原理、基本概念和基本方法的同时,介绍1些新方法、新技术。这样,有助于开拓学生的视野和培养创新意识与开发能力,使他们走向社会后不至落伍。 3。 课程的实践性强。 软件工程是1门实践性很强的课程,它是各种开发经验的总结与提炼。在学习过程中不但应注重概念、原理、方法和技术的掌握,更应注重方法、技术的实际应用。学习软件工程必须投身于软件开发的实践,才能真正领悟软件工程的精髓。 实际教学当中,这门课的教学效果往往不是很理想,教师觉得这门课教起来较困难,学生学习中多数也觉得枯燥无味,很难达到较好的教学效果或获得较强的实践能力等预期目的。如何改善?结合软件工程的课程特点,笔者认为可以从以下几个方面来改进《软件工程》的教学质量。 三、软件工程教学改进的内容和方法 1。 教学过程引入实际案例 软件工程课程涉及面很广,如果不结合实际工程项目进行教学,很难把教学内容教授给学生。因此,在教学过程中引入案例,将复杂抽象的概念用具体生动的实例进行诠释,能够收到事半功倍的效果。例如,在授课时教师可结合1个“学校教材购销系统”实例,给学生介绍具体的开发过程和方法。 另外,学校还可邀请领域内有实际经验的资深程序员,针对软件工程中具体理论和方法在实际开发中的应用,在课堂上和学生进行面对面讲座,深入浅出地作讲解。这样,学生可以更加熟悉、掌握软件开发的过程。 2。 组织课堂讨论,形成教学互动 我国有句名言:“授人以鱼,不如授人以渔”。学生是教学活动的核心,教师要利用合适的方法调动学生的积极心理和参与意识,改变传统的教师高高在上的教学方式,让学生参与教学过程,有机会发表自己的看法。 比如在讲授需求分析这章内容时,可结合“学校教材购销系统”这个案例,要求学生按照软件工程教学的思想和方法认真做好需求分析。在实施过程中,首先由学生独立思考,给出解决方案。然后在课堂上,组织学生进行讨论,分析各自解决方案的优劣,并进行综合。最后由老师进行总结和评价,指出该案例所涉及的理论知识及其应用方法,就学生提出的问题进行解答。这样通过组织学生讨论,可使学生进1步理解和掌握课程内容的方法和步骤,使抽象的知识变得看得见,用得着,大大激发了学生学习的兴趣和自信。 3。 加强实践环节 从本质上看,软件工程的实践性和综合性是其他相关课程难以比拟的。因此,必须结合设计项目和实际应用加以施教,才能取得良好的教学效果。那么,在把握教学进度的同时,必须及早安排好课程设计,让学生同步开展课程设计。这样,理论课讲完了,课程设计也基本结束,学生们能从理论和实践的结合上,加深对软件工程知识难点、重点的理解,进1步深刻理解软件过程和系统消化理论知识,训练项目设计的思路,锻炼实际开发能力,培养严格规范的项目开发方法和步骤,体验文档编写整理、阶段性评审总结以及软件测试等各个方面的工作流程,直接培养了学生从事实际开发的能力。 四、结束语 在教学中,我们还应根据学生的具体情况,因材施教。总之,通过不断改进教学,使学生能更好地理解、掌握知识,运用所学服务社会。 软件工程论文:如何面向学生主体与项目驱动设计软件工程教学模式 摘要:提出了面向学生主体和项目驱动的软件工程教学模式。从开展以学生为主体的理论教学过程、实施基于项目驱动的实践教学环节、制定符合教学特点的课程考核体系三个方面出发,对该模式进行了研究和探讨。 关键词:软件工程;教学模式;软件工程;学生主体;项目驱动 1 引言 长期以来,在我国《软件工程》课程教学中强调理论学习而忽视实践能力培养的现象比较普遍,现有的国内不少教材对实践能力的培养重视不够,表现为:①教材中的案例缺乏完整性、统一性和实用性;②缺乏与理论教学相适应的实验教材。evelyn等在他们的著作《project-based software engineering an object-oriented approach》中强调了学生具备开发项目经历的重要性,认为现有的教材过分强调软件工程理论的教学,不能有效地培养学生的软件开发技能。由于缺少软件开发各个阶段的经历,因此,学生较难理解、掌握所学的课程内容。 我们主要围绕《软件工程》课程的内容体系、教学方法、课程考核等方面对该门课程的教学模式进行了改革,其根本思想是开展以学生为主体的理论教学过程;实施基于项目驱动的实践教学环节;根据教学过程的特点,制定该课程的考核体系。我们把改革后的、新的教学模式称为“面向学生主体和项目驱动的软件工程教学模式”。 2 开展以学生为主体的理论教学过程 2.1 建立合理的课程内容体系 建立合理的课程内容体系首先应合理地选择教材,我们选用的教材为shari lawrence pfleeger 编著的《software engineering(theory and practice)》。该教材内容的特点是:①理论性,教材比较全面地介绍了软件工程中的基本原理、概念和方法;②实践性,课程的内容体系强调基本原理、方法在实践中的具体应用;③先进性,教材较为详细地介绍了软件工程中的新技术、新方法。同时,我们选用的辅助教材为清华大学张海藩编著的《软件工程导论(第四版)》。 其次,应根据学生的培养方向、学时数等因素对所讲授的内容作必要地取舍。我们以传统的生命周期方法学和面向对象方法学为主线,建立了课程内容体系,参考国内外先进的软件工程理论和应用实例,对教学内容进行了必要的补充和删减;以培养学生的软件开发过程中的技能为目标,制作了内容丰富、联系项目开发实际的多媒体教学课件;建立了较为完善的软件工程典型项目案例库,为每一个案例提供详细的分析说明;编写了供实践环节使用的《软件工程项目案例实施指南》。 2.2 开展以学生为主体的案例式教学 在教学过程中,开展以学生为主体的案例式教学,克服了传统的“教师教、学生学”的模式。在课程的开始,即将学生分为若干个项目小组(每个小组5至7人),并为每个小组确定一个负责人,各个项目小组选定一个互不相同的项目,并明确所选项目的总体要求及考核标准。教师以一个完整的项目案例贯穿于整个理论教学过程中,学生则带着自己项目中的问题去理解、思考教师所讲授的内容。学生的作业主要体现为项目的阶段性的分析和设计文档,项目小组的成员在讨论、协作的基础上,每次均以小组的形式提交作业。 2.3 建立《软件工程》课程教学资源平台 该课程的教学辅助资料围绕《软件工程》网络课程建设而展开,所建设的网络课程主要内容包括:教学大纲,教学内容,电子教案,课程习题,模拟试题,多媒体课件,实验部分,课程评价反馈等。建立网络课程平台的目的是为了便于学生进行网上自学、讨论交流、作业提交、在线测试、教学效果评价等功能,充分发挥学生在学习过程中的主体作用。 通过该门课程的理论教学改革,学生普遍反映能够较好地理解、掌握软件工程项目的开发理论和方法,和单纯的理论教学相比,改革后的教学方式更容易让人接受,学习的主动性得到了提高。 3 实施基于项目驱动的实践教学环节 我们把实践教学和项目开发相结合,实施基于项目驱动的实践教学环节。不同的项目小组开发不同的项目,学生在实践环节中主要完成在理论学习过程中形成的分析、设计文档,以小组成员分工协作的方式共同开发一个完整的项目。完成一个符合要求的项目是该门课程实践考核的主要内容。学生的学习活动是在项目开发的各项过程和活动的驱动下完成的。在具体的实施过程中应注意以下几个问题: (1)由项目负责人在课外时间召集项目组成员讨论、进行人员分工,使项目小组的所有成员熟悉和感受软件开发小组的组织和管理。 (2)实验内容应覆盖软件生存周期的各个阶段,使学生通过实验加深对理论知识的理解。项目小组的所有成员均应参加软件开发的每一个阶段。 (3)应保证实验内容具有可操作性和适当的难度。可操作性保证学生都能完成实验,帮助学生树立学习信心,并在一定程度上减少学生抄袭的现象;适当的难度有助于培养优秀学生进一步钻研的精神。 4 制定符合教学特点的课程考核体系 传统的考核方法不能在教学的过程中把握学生的学习效果,不能充分调动学生学习的主动性和提高学生的学习兴趣,课程的考核应该和课程的教学特点相适应。因此,我们制定了分阶段、互评定的二次考核体系,具体措施为: (1)课程考核由三部分组成:理论考核占40%,实践考核占40%,平时考核(作业、考勤)占20%。 (2)实践成绩的评定包括小组成绩和个人成绩两部分,各占50%。小组成绩为小组中所有成员的第一次考核成绩,个人成绩为小组成员的第二次考核成绩。 (3)小组成绩由各个小组阶段成绩的平均值与完成的项目的最终验收的情况(包括系统是否达到需求规格说明中的功能性、非功能性要求,文档是否全面、合理、规范等)组成。小组的阶段性成绩由教师和该项目组之外的其他项目组共同评定。 (4)个人成绩由教师根据小组每个成员的答辩成绩来评定,答辩的内容为小组成员在项目开发中所完成的任务,其中,评定项目负责人个人成绩时,还应考查其项目开发的组织、 管理能力。 考核结果表明,我们采用的考核方法提高了学生按照软件工程的原理、方法、技术、标准和规范进行软件开发的综合能力和软件项目的管理能力,特别在基础技能、团队协作、人际交流、项目规划几个方面明显具备较强的能力。 5 结束语 《软件工程》课程的教学模式改革主要体现在以下三个方面:在理论教学方面,以学生为主体的教学模式,表现为以分组形式的案例教学过程;在实践教学方面,通过小组内成员分工协作的方式,完成小组所选定的项目案例;在课程考核方面,制定了符合教学特点的课程考核体系。在整个教学过程中,学生始终处于主导地位,是学习的主体,教师处于指导和评价学生阶段性学习效果的地位。从学生反馈的结果来看,通过对该门课程的教学模式进行改革,使学生经历了软件开发的全过程,锻炼和培养了学生的系统分析能力、设计能力、编程能力、测试和维护能力、团队协作能力和文档书写能力,全面地提高了学生的综合素质。 软件工程论文:基于软件工程理论的信息工程监理的研究 摘要:信息工程是企业信息系统中不可或缺的一部分,其包括信息网络工程、信息资源工程、信息应用工程。该文将凭借着软件工程理论,从信息工程开发的角度,进行信息工程的三维监理,从而构建一种新型监理模式,即“三控四管一协调”。从而使信息工程监理走向更深入、更全面、更有效的水平。 关键词:软件工程;信息工程监理;监理模型 自从二零零二年十二月我国信息产业部颁布《信息系统工程监理暂行规定》(简称《规定》)之后,信息工程监理公司越来越多。根据《规定》,信息工程监理主要是指依法设立且具备相应资质的信息系统工程监理单位,受业主单位委托,依据国家有关法律法规、技术标准和信息系统工程监理合同,对信息系统工程项目实施的监督管理。[1] 1 信息工程的特点 跟其他的一般的建设工程项目相比,企业信息工程有着复杂高度、能见度低等不确定因素。其主要有以下几个特点: 1.1 组织驱动技术 企业信息工程项目的组织和建设越来越表现出不可分割的一面。工程项目组织要求信息工程必须严格确定“前期准备-工程项目规划-工程项目设计-工程项目实施-工程项目验收-工程项目维护”的“组织思维”过程,设立周密的“组织标准”通过这些组织标准来带动技术标准的设立,通过组织的需求来带动技术方面的需求,也通过组织的满意度还评价技术方面的满意程度。 1.2 全员全程参与 信息工程并不能跟那种“交钥匙”工程一样,其要求建设单位的所有员工进行全程参与。这主要是由于企业信息工程项目不并简单,而是一个非常复杂的知识传递的过程,其要求建设单位的所有员工必须学习并接受相关知识;因此建设单位与开发单位之间必须相互适应、相互协调,必须协同共进。企业信息工程系统是一个人机相结合的有机系统,没有建设单位人员的全程参与,信息工程系统将不可能实现其有效性、完整性、全面性。 1.3 复杂度高,不确定因素多 由于信息工程项目的需求比较复杂,其不像其他建筑工程那样具有可见性。检验复杂,较长的维护期,还有其它非技术因素原因导致企业信息化项目失败[2]。因此,企业的信息工程项目具有搞复杂度、低能见度,存在许多不确定的因素。 2 信息工程监理的必要性 现在,我国企业实现信息工程项目的成功几率还非常低,根据我国企业信息工程项目的自身特点,保证信息工程项目的成功几率的提高,必须进行信息工程建立,即必须通过第三方监理单位对企业信息工程项目的实施进行监督。信息工程监理将有利于开发单位跟企业的相互协调,彼此协同共进,能确保信息工程项目的有效进行。对于信息工程监理的必要性,主要原因在于:目前我国企业信息工程监理对过去传统的建筑工程监理模式进行了参考,但又跟一般的建筑工程的监理有一定的差别。第一,信息工程的可见度非常低,开发过程相当多变、复杂,其知识密度也相当高。不像建筑工程项目的监理那样能随时对施工现场进行其质量、进度进行监督管理,信息工程监理根本无法对信息工程的操作现场、质量进行监督和管理,信息工程的进合同执行情况、软件质量、资金使用情况、进度等很难把握和操控。从而致使了信息工程监理低能见度、高复杂度、差操作度等现象。为了解决这些监理中出现的问题,必须采用软件工程理论。通过软件工程,可以将高复杂度的信息工程项目进行分解,对信息工程中低“能见度”的难题设置了一套有效的解题方案。根据现有的软件工程平台和工具,将能为信息工程项目的监理提供一套“复杂度”低、“可见性”高的监理平台,很大程度上满足了现阶段我国企业信息工程项目建设的需要。 3 基于软件工程理论的信息工程监理模型 软件工程是一门通过工程化的手段来维护和构建高质量的、实用的、有效的软件的学科。软件工程涉及到的内容有:设计模式、软件标准、系统平台、软件开发工具、数据库、程序设计语言等多个方面。在目前的现实生活中,软件的应用领域非常广泛,政府部门、航空、银行、农业、工业都会应用到软件,其最具典型的软件有:游戏、数据库、编译器、操作系统、办公套件、人机界面、嵌入式系统和电子邮件等等。软件工程的应用将对社会和经济有着极大的促进作用。多年的实践证明,通过软件工程的方法对信息工程进行监理能更易被监理活动过程中的三方接受,因此将软件工程引入信息工程项目监理中,将能为信息工程项目的监理提供一套“复杂度”低、“可见性”高的监理平台。 3.1 设立信息工程监理的目标 进行软件工程最主要的目的是利用科学的有效的管理方法来促进软件开发质量的提高。其主要要求是要将过去的软件开发模式(小作坊开发模式)进行转变,对过去的开发模式其进行细分和分解,按照各阶段的特征选用不同的方法和工具,从而使复杂度较高的软件生产进行可度量、可控的设置。再者,经过对各个阶段进行严密的、有效的控制,从而促使一些可能出现的风险和问题在前期阶段就得以解决和重视,从而促使软件开发风险的降低和软件质量的提升。总之,企业信息工程监理的最主要的任务就是对工程的进度、质量、投资等进行有效的、科学的控制和规划,其最基本的方法是进行有效的合同管理、展开合理的组织协调、实现工程的动态控制、完成理想的目标规划,使监理贯穿于整个“前期准备-工程项目规划-工程项目设计-工程项目实施-工程项目验收-工程项目维护”的工程项目过程。因此,信息工程监理的最终目的是通过合同管理、质量控制、进度控制、成本控制、信息管理来保证工程项目的有效、高质量、顺利的进行。 3.2 构建信息工程监理的模型 根据信息工程监理的目标,信息工程项目应该分为:项目分析、项目设计、项目实施以及项目维护等四个阶段[3]。基于软件工程理论的信息工程监理并不是机械地复杂软件工程的相关理论于信息工程的监理中,而是根据软件工程理论,对搞复杂度、低能见度的工程项目进行设计和管理,并将其融入到信息工程的监理中去的一种方法。根据这中方法,从而建立基于软件工程理论的信息工程监理模型。该模型以信息工程项目过程控制为主线,对企业信息工程的项目分析、项目设计、项目实施以及项目维护等四个阶段进行全方位控制和监督,从管理上对其进行风险管理、需求管理、合同管理、信息管理,从控制上对其进行进度管理、质量管理、成本控制,并从管理角度对项目阶段进行总体协调,形成企业信息化项目监理的“三控四管一协调”三维监理模型。其监理模型如图1所示。 4 结束语 综上所述,软件工程是一门通过工程化的手段来维护和构建高质量的、实用的、有效的软件的学科。通过软件工程的方法对信息工程进行监理能更易被监理活动过程中的三方接受,因此将软件工程引入信息工程项目监理中,将能为信息工程项目的监理提供一套“复杂度”低、“可见性”高的监理平台。进行软件工程最主要的目的是利用科学的有效的管理方法来促进软件开发质量的提高。其基于软件工程理论的信息工程监理的模型应该以信息工程项目过程控制为主线,对企业信息工程的项目分析、项目设计、项目实施以及项目维护等四个阶段进行全方位控制和监督。 软件工程论文:基于工作过程的软件工程师职业课程体系研究 摘要:课程体系的研究,是通过对软件企业软件工程师的职业工作过程分析,建立软件工程师的职业能力模型,然后建立针对工作领域的岗位特定能力模型、行业通用能力模型、核心能力模型。根据以上模型映射出实训体系的四个组件:实训教程、流行技术、职业素质、软件素养,然后建立不同技术特点的课程开发标准。 关键词:职业能力模型;核心能力;岗位特定能力 1 基于工作过程的课程开发模式的必要性 近年来在政府推动与经济发展需求的刺激下,我国高等职业教育的规模有了很大发展;全国职业教育工作会议的召开,又为高职发展迎来了新的历史机遇。然而,我们可以在短短几年内建设起大量被称为高职学校的校舍,却无法在短期内形成真正的高职教育。受传统教育体制的影响,教材更新速度也严重滞后于软件技术发展,师资素质又得不到提高,人才培养模式缺乏创新,这种传统教育模式无法真正适应软件企业对软件人才的需求。一方面是大批企业找不到急需的技能型、实用型、国际化、规范化的软件职业技术人才;另一方面,学校培养出的软件人才由于不能适应企业需求而找不到理想的工作。如何凸显特色已经成为高职发展的重大课题;如何开发一套既适合高职生学习特点,又能增强其就业竞争能力的教材,是高职课程建设面临的另一个重大课题。 要有效地解决这些问题,建立能综合反映高职发展多种需求的课程体系,必须进一步明确高职人才培养目标。为此,不能仅仅满足于对“高职到底培养什么类型人才”的论述,而是要从具体的岗位与知识分析入手。高职专业的定位要通过理清其所对应的工作岗位来解决,而其课程特点应该通过特有的知识框架来阐明。也就是说,高职课程与学术性大学的课程相比,其特色不应仅仅体现在理论知识少一些,技能训练多一些,而是要紧紧围绕基于工作过程和工作目标重构其知识、技能、素质的课程体系。 2 软件工程师能力素质模型 2.1 软件工程师能力素质模型 职业人的能力分为三层:岗位特定能力、行业通用能力、核心能力。每个具体的职业、工种、岗位和工作都会对应一些岗位特定能力。岗位特定能力从总量上是最多的,但是适应范围又是最窄的,对每个行业来说,又存在着一定数量的通用能力,从数量上看,它比特定能力少得多,但他们的适应范围要宽些,涵盖整个行业活动领域。而整体上,存在着每个人都需要的,从事任何职业或工作都离不开的能力,这就是核心能力。核心能力往往是人们职业生涯中更重要的、最基本的能力,对人的影响和意义更深远。我们在日常生活中看到的岗位特定能力,其实是浮出海面的冰山一角,而行业通用能力和核心能力则是海面下的冰山主体,它们是每个人在职业生涯中,甚至日常生活中必备的最重要的能力,它们具有普遍的适用性和广泛的可迁移性,对人的终身发展和成就影响极其深远,目前核心能力包括:交流表达、数字运算、革新创新、自我提高、与人合作、解决问题、信息处理、外语运用。 2.2 软件工程师岗位特定能力分解 根据软件工程从业人员的岗位不同,从java软件工程师和.net软件工程师两个方面,提取了基于工作过程的能力描述。 (1)java软件工程师 (2).net软件工程师 2.3 行业通用能力分解 2.4 核心能力分解 3 软件工程师课程内涵 根据软件工程师能力模型影射出职业课程中的四个组件:实训教程、软件素养、职业素质、流行技术。 根据软件工程师能力形成规律,我们分s1、s2、s3三个阶段逐步实施。通过s1阶段的训练,学生具备了利用面向过程思想、面向对象思想分析设计解决问题的能力,掌握c/s软件体系的程序开发方法。通过s2、s3阶段的训练,使学生具备利用b/s软件体系结构进行软件开发、设计的能力;掌握大型企业级应用问题的分析、设计方法。 3.1 实训教程 “实训教程”以项目为主线,分为learning案例、training案例、mentoring案例三种。项目案例均为企业真实项目,由经验丰富的软件工程师编写而成,在实施环节由实训工程师带领学生完成。 “实训教程”重点提高学生的职业特定能力,通过项目实训,学生能够将理论知识与实际项目相结合,不但提高了软件开发技术水平,还能够具备大型项目的开发经验与行业知识,增强团队合作的能力。 3.2 软件素养 软件素养要求对软件行业知识的认识有足够的深度与广度。它是软件工程师应具备的基本素质,是软件行业通用能力,软件素养组件与大学的计算机相关课程共同培养学生的这一能力。 “软件素养”主要包括实用操作系统知识,各种软件开发团队模型的理解与认识,项目开发流程与规范,项目文档编写,软件开发中各种工具的配置与管理,设计模式的原理与实现等。 3.3 职业素质 职业素质是劳动者对社会职业了解与适应能力的一种综合体现,在软件开发中包括责任心、学习能力、创新能力、沟通与合作能力、高效的团队协作能力、积极主动的心态、扎实的工作作风、科学的工作方式及较强的解决问题能力等。 3.4 流行技术 it业正在以传统行业七倍的速度快速发展,软硬件技术在以摩尔定律的速度更新,即使学生在大学中学习的是最新软件版本与技术,毕业之后,版本也已经更新,“流行技术”正是为解决此问题而提出的,目的是让学生与it信息同步,把自我知识与最新知识做到无缝衔接。 软件工程论文:预审制度在软件工程硕士学位论文质量监控中的作用 1. 引言 软件工程硕士专业学位的设立,是我国学位与研究生教育改革的重大举措。经过近十年的发展,已经逐渐发展壮大成为我国规模最大、覆盖面最广的专业硕士学位之一。随着数量的不断扩大, 软件工程硕士生的培养中出现了不少问题。如导师难以对每一个硕士生进行悉心指导和严格要求, 而且招生生源有着不同的理论及实践基础。在这种情况下,硕士学位论文质量难以提高,因此, 确保软件工程硕士的培养质量已成为一个不容忽视的问题。需要进一步对培养质量进行审视,并采取切实措施,保障培养质量。 2. 预审制度的必要性 硕士学位论文是综合衡量软件工程硕士培养质量的重要标志。它体现了研究生综合运用基础理论、专业知识与科学方法、解决行业实际问题的能力,以及反映具有新思想,新方法或新进展的创新能力。在数量不断扩大、培养质量面临严峻挑战的背景下,科学公正地评价软件工程硕士学位申请者的学位论文, 是保证培养质量的一个重要环节。 2.1目前软件工程硕士学位论文主要存在如下的问题: 论文缺乏自己的实际创新点和具体工作。部分论文停留在对以往研究内容的重组或综述的水平,缺乏对自己实际工作的阐述和验证,技术难度和工作量不够。论文写作缺乏整体性思路,很多学生论文撰写结构欠合理,对本领域内的工程和学术动态了解不全面,缺乏实用价值和社会效益。论文格式不够规范。主要表现在各级标题字号、错别字、参考文献引用格式不够规范、图标排版不符合要求等方面。 2.2目前学位论文评阅及答辩制度存在以下问题: 2.2.1校内外评阅制度难以切实起到监控作用:以往硕士学位论文评审实行的是校内外专家的实名评阅制度,校内、校外两位专家评审意见中有一人没有通过的,就不能直接进入答辩阶段;如果两位专家评审意见都是可以通过的,就可以直接进入答辩阶段。评阅制度是对论文质量的一种监控方式,是对硕士生是否达到培养要求及质量的检验,但目前现实情况是对评审专家没有一套严格、完整的遴选机制,往往评审专家都是圈内熟人, 甚至是硕士生指导老师的好友、课题合作人等,他们事先知道论文作者和导师是谁, 碍于情面,论文一般均可顺利通过评审。即使觉得论文不符合评审要求的,也不会直接给出不同意进行答辩的意见结论。 2.2.2“双盲”抽检制度不能全覆盖所有硕士学位论文:硕士学位论文“双盲”抽检制度(即评审专家不知道被评人、被评人也不知道评审专家),在多年实践中的确是提高学位论文水平的一项重要举措,实现并达到了非常好的效果,但由于实行的是抽检机制,并不全部覆盖所有的学生,抽中参加双盲审的学生比例有限,大部分学生和导师在得知未抽中参加“双盲”后,往往对论文的重视程度不足。 2.2.3硕士学位论文答辩流于形式:学位论文答辩成员组成尽管回避了导师,聘请了一些校外企业专家,但由于答辩专家通常是由导师聘请,会导致答辩专家们答辩时往往留面子,缺乏打破沙锅问到底的精神, 即使有些专家坚持原则认真负责的, 但在投票时少数比率起不了作用, 结果常常是评审结论与实际水准不符, 答辩流于形式。目前硕士学位论文一旦进入答辩程序,就很少有不通过的,使得论文答辩本应该具有的权威性大有所失。 2.2.4无法确保论文修改质量:答辩专家即使指出论文中有些较大的缺陷和问题,需要进行修改,但是由于答辩已经完毕,并且决议通过答辩,在申请学位之前,学生就没有动力也不会去花时间对要求修改的论文内容去做充分的修改和完善。答辩专家组也很难在答辩之后继续跟踪确保对原答辩论文进行修改质量的监控。 目前学位论文评审方式与答辩方式不足以及时发现和有力遏制以上所述的问题,而学位论文作为全面衡量软件工程硕士生培养质量的主要指标,因在各环节上予以严格要求,并在制度上给予切实的保证。因此,有必要在正式答辩之前建立一套硕士学位论文质量的内部控制管理机制,以确保硕士学位论文的质量。 3. 我们的预审制度和执行效果 预审,就是在硕士学位论文成型之后论文正式评阅之前进行的一项审查过程,采用匿名方式请专家对论文进行评审、以决定是否可否进入答辩阶段的一项论文评审制度。对于达不到要求的,就要求其继续修改或者下一次再申请。设立预审制度的目的是想通过匿名评审专家组对硕士学位论文进行内容和形式上的审查,发现问题,查找缺陷,提出改进意见,并决定可否提交正式评阅并进入答辩流程,以保证论文写作和论文答辩的较高质量。这是对以往论文答辩制度的一种修正、补充。它把对硕士学位论文的质量监控重心提前到评阅前,使得学生拥有充足的时间修改论文,并采用匿名审核,力争做到公平公正。对保证论文质量有较大的作用。 3.1预审制度的主要内容 预审由硕士学位候选人提出书面申请, 经导师同意并签署书面意见后,于每学期开学后第3周之前(大致在每年3月31日前、9 月30 日前)向学院软件工程硕士教学管理中心(以下简称管理中心)提交完备的申请材料。申请材料包括学位论文一式2份以及已发表的符合学校有关规定要求的论文复印件, 并由管理中心形式审查相关培养环节是否全部完成。符合条件者进人预审程序。管理中心根据论文研究内容,选择2名以上相关领域的教授或副教授组成预审小组进行匿名预审。导师不得作为本论文预审组成员。论文预审的主要内容是审查论文选题、分析框架结构、研究方法、工作量、引用资料文献数据和写作规范、基本结论,并进行原创性审查,看是否存在抄袭、剽窃等问题。预审组在规定时间内本着认真负责的态度严格把关论文质量,对预审中提出的问题要求进行书面记录并填写《软件学院--工程硕士学位论文预审意见表》反馈至管理中心,由管理中心及时反馈预审结论至相关导师告知答辩申请人。硕士生根据预审小组提出的问题和建议认真修改论文。 预审结论分为以下几种: (1)可以参加答辩:认为论文达到了硕士学位论文水平,且不需要修改,可以直接参加答辩; (2)修改后再审:认为论文及课题工作接近硕士学位水平。但论文需要修改,并给出具体修改意见。学生需根据预审意见认真进行修改,修改后的论文经导师审查确认后,再提交管理中心提请原预审专家组审核。符合要求的,可正常参加答辩,否则就不能参加本次答辩,需整改后下一学期再重新申请。逾期未提交修改论文的,视为自动放弃本次答辩申请; (3)不通过:认为未达到工程硕士学位论文要求,不能参加本次答辩。导师应指导答辩申请人完善课题工作,修改论文,下一学期再申请参加论文预审和答辩。 (4)涉嫌抄袭:发现论文涉嫌抄袭、并经查实的,则一律退回,并至少一年内不得再申请答辩。如果以后再次发现抄袭,则直接取消答辩资格和申请学位的资格。 3.2预审制度实施效果 预审制度实施以来,迄今已经完成了对1367位硕士学位论文申请者的审查, 其中通过预审的629人、推迟答辩的167人、需要修改的544人、抄袭27人,共授予学位1143人。从总体上看,预审制度真正起到了对论文质量的监控、提高作用。由于论文预审不是最终性的,且匿名进行评审,排除了论文本身之外的因素,预审专家组本着对学生负责任、帮助提高论文质量的态度对硕士学位论文提出问题和修改建议,有助于硕士生多方位思考并对论文进行有效改进,起到了协助其导师把住质量关的作用。论文预审不仅对当事人有很大的帮助, 并且对其他准备提交论文的学生也具有很大的促进作用,导师们也更加重视论文的质量和指导。? 4. 预审制度实施的总结和思考 预审制度最主要的优势是对硕士学位申请人的论文质量进行事前监控,在正式答辩前,学位申请人能够在导师指导下根据预审专家提出的修改意见对论文进行修改和完善。预审未通过的论文不许提交答辩,这在制度上将那些质量差的论文隔离在外,有效地把好了硕士生出口的质量。 在看到预审制度效果的同时, 我们也清醒地认识到要最大限度地发挥预审的功能, 必须同时严格硕士生的开题工作,只有抓牢抓实开题工作,才能在论文工作的源头保障论文的质量;同时引起导师及其论文作者对论文质量的重视,导师是保障论文质量的关键因素,只有导师和论文作者共同重视,才能保障培养的质量。为了更好的完善论文预审制度,我们觉得今后还需要在以下方面进行进一步的改进: (1)落实论文预审的后续检查机制,预审结束后, 学位申请人应该严格按照专家提出的修改意见认真仔细地修改论文。在评阅和正式答辩阶段, 评阅专家及答辩专家除了对论文的主要工作给予评价外, 也要评判硕士生的学位论文是否按预审意见进行了修改和完善。如果后续的检查机制落实不彻底, 预审专家所提的修改意见得不到严格贯彻, 预审也难免会流于形式。 (2)预审过程中,为了避免论文预审的偏颇,尽量做到同一位导师所指导的学生论文分送到不同的预审组,以尽量提高论文预审的公正性和合理性。 (3)进一步细化预审复议环节的工作,对导师、学生提出的论文预审复议要求交由学科专业委员会复议,并指导导师、学生对论文做后续的修改。 (4)增强预审奖惩机制管理,促进导师持续关注论文质量,对预审结果优秀的老师予以适当的奖励,反之则需对导师增强后续再培训,鼓励导师改进研究生培养质量。 预审制度在我院已取得一定效果,我们将继续总结经验,不断探索和完善预审制度,切实提高我院的研究生培养质量。 软件工程论文:有关软件工程案例教学法分析 摘要:本文就案例教学法在软件工程中的应用作了初步的探讨,同时,简要介绍我们在尝试软件工程案例教学中的一些体会。 关键词:软件工程;案例教学法;分析设计 1 引言 随着计算机应用日益普及和深化,正在运行使用着的计算机软件的数量以惊人的速度急剧膨胀,而且现代软件的规模往往十分庞大,所以指导计算机软件开发和维护的工程学科—软件工程,日益显示其重要地位。然而学习者一般不好理解软件工程的实践性,不能将所学的知识真正应用到软件开发过程中去。如何将理论与实际联系起来呢?我们认为在软件工程中采用案例教学发将会弥补这一缺憾。 案例教学法以对案例的分析解决为主线,通过对案例中的问题进行分析,激发学生的求知欲,调动学生的积极性,使学生自觉主动的学习案例,掌握原理和方法,实行科学的教育思想观念的一种教学方式。它是一种互动式的教学方法,可以实现启发式教学,能够极大的促进学生的学习兴趣,实现真正的教学相长。它更是实现理论联系实际的现实可实施的途径。案例教学法在软件工程教学中的应用将在更大程度上激发学生学习的学习兴趣和参与的积极性。同时,利于学生掌握理论知识,并运用知识解决软件开发中的实际问题,最终提高教学质量,达到学校教育培养的目标。 有鉴于此,本文试对案例教学法在软件工程中的应用作了初步探讨,以期对教育同行和广大学习者有所启发和借鉴。 2 案例教学法的含义 案例教学法(case methods of teaching)可简单地界定为一种运用案例进行教学的一种方法,它是美国当今教育行业中非常盛行而有效的一种方法,在我国正在慢慢推广开来。1910年,美国哈佛商学院最先使用案例教学,开创了案例教学的先河。案例教学法于20世纪80年代初传入我国,它有利于培养学生分析问题、解决问题的能力,提高教学效果。 案例教学是在学生掌握了有关基本知识和分析技术的基础上,在教师的精心策划和指导下,根据教学目的和教学要求,运用典型案例,将学生带入特定的现场进行案例分析,通过学生的独立思考和集体协作,进一步提高识别,分析和解决某一具体问题的能力,同时培养学生的沟通能力和协作精神的教学方式。通过案例分析,学生可以获得蕴涵其中的那些已形成的教育原理、教学方法等知识,同时可以提高和发展学生的创造能力以及解决实际问题能力。更重要的是,通过案例教学获得的知识是内化了的知识,是“做中学”获得自己理解了的能驾驭的知识,不再像传统教学下获得的抽象的、过度概括化的生硬知识,它能立即被用到类似教学实践情境中去解决处理类似的疑难教学问题。所以从美国教育家舒尔1986年在美国教育研究协会(aera)年会重要演讲中发出要发展关于教学的案例知识的呼吁,时至今日,在众多国家的教育研究领域中都能发现案例教学法的应用。 3 软件工程案例的选择 概括而言,案例是含有问题或疑难情境在内的真实发生的典型性事件。没有案例,案例教学无从谈起,没有好的案例,便没有有效的案例教学,所以案例的选择在案例教学中至关重要。一个高质量的案例应该具备以下几个特点。 (1)目的性。案例教学的目的是为了让学生理论联系实际,通过案例让学生掌握基本的原理和概念,提高发现问题,解决实际问题的能力。一个好的案例应该使学生在讨论中加深对教材中某一重点或难点知识的理解和把握,能利用课堂学习的理论知识来分析和解决案例中所涉及的问题。所以案例的选择一定要围绕教学目的和教学要求来。如果脱离这两个中心,即使案例再生动,其教学效果也大打折扣。 (2)真实性。案例一定是现实中发生的真实事件,是常见又复杂的问题,有助于学生实践能力的提高。 (3)启发性。一个好的案例需要蕴涵一定的问题,能启发学生思考,发现多种解决的途径。问题越诱人深入,越能够给学生留下较多的思维空间,教学效果越好。 (4)生动性。案例必须生动活泼,引人入胜,这样才能引起学生的兴趣,以便展开深入的思考。 软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。它强调使用生存周期方法学和各种结构分析及结构设计技术,所以软件工程案例即是选择一些典型的软件开发系统,介绍其开发和维护的过程。 我们根据讲解软件工程课的具体体会和开发软件的实际经验,撰写了五个案例,开发了《软件工程案例分析》网络课件,详细介绍五个软件系统的开发过程,互动的方式讲述了用软件工程的方法是如何进行分析和设计的,同时在系统开发的每个过程中提出大量的问题供学生思考。案例选择了房产管理系统、财务管理系统、机票预定系统、计算机储蓄系统四个应用软件系统,同时为了提高学习者理解开发软件的难度,特别介绍l-simple语言编译系统。采用传统的生命周期方法学,从问题定义、可行性研究、需求分析、总体设计到详细设计做了比较详细的研究。系统中五个案例涉及到当前人们日常生活中关注的几个领域:房产管理、财务管理、计算机储蓄、机票预定,还有计算机的语言编译系统。案例既具有典型性,同时又具有真实性。我们选择四个应用软件和一个系统软件,一方面考虑到目前软件市场涉及应用范围的广泛性,另一方面考虑到软件工程学习者中大部分为计算机专业,对于系统软件也有一定爱好,对于将来开发系统软件作一个铺垫。 4 软件工程案例教学的主要环节 案例教学的需要具备三个主要环节: 阅读案例,个人分析——分组讨论,集体交流——总结归纳,消化提升 我们尝试的软件工程案例教学中同样采用了这三个阶段: (1)阅读案例,个人分析 学生首先对具体案例进行必要的基础知识的了解,认真阅读案例,并且要有个人的研究与分析,用软件工程的传统途径—生命周期方法学作为理论指导,熟悉软件开发过程各阶段的基本任务。 其次,学生需要尽快进入案例情境,了解、掌握案例中揭示的有关事实、情况,自居案例中的教师角色,设身处地地分析思考案例中教师的行为及对策的合理性与不合理性。在案例的分析过程中,要注意寻找其中的因果关系,只有弄清问题产生的原因,才可能找到问题的合理解决手段。注意区分基本性问题和现时性问题。基本性问题即抽象或一般的问题,常与事实背后的概念、原理、规则等有关,需要通过对案例中所包括的信息进行解释、分析、演绎、推理和抽象以得到概括化的结论。现时性问题即案例中教师所面对的特殊决定、疑难问题等要求在一定的时间范围内得到解决的那些问题,需将自己已有的知识或过去形成的经验与案例展示的背景材料、内外部因素等整合起来进行综合评判来提出多种经得起别人反驳的见解、对策以及方案。 (2)分组讨论,集体交流 分组讨论是案例教学中非常重要的环节,本质上是一种概念或想法的交流。围绕案例的重点,难点,疑点,进行讨论,辩论和争论。每个学生可以自由的抒发己见,相互启迪,互相借鉴,重点是想法的交流。要求每个学生简要介绍自己对软件开发所做的分析设计,并提出自己对该软件开发流程的看法,供大家讨论与切磋,可以按照案例中所提出的问题一个一个讨论。在教师的引导下,让学生进行课堂发言,进行全体学生的交流。本阶段要讨论主要解决两个问题:1、小组讨论没有达成共识的问题;2、按照教学目标,有意引导学生掌握软件工程的生命周期法各阶段所做的具体工作以及进行相关工作的必要性。 为了使分组讨论有效地开展,教师要作好充分的课前准备。除了熟知案例陈述的事实、观点外,还要谙知案例反映或蕴涵的原理、规则等知识,以便引导学生概括出来。要认真学习研究案例后给出的教学指南,具体拟定出课堂教学计划,这要求教师认真思考回答以下问题:希望课堂上发生些什么?如何引导这些情况的发生?讨论如何开展?时间如何安排?自己扮演什么角色?是先得结论再分析,还是相反?并对课堂讨论中可能出现的情况作出预测。教师还要依据课程目标、案例目标及教学计划的具体安排重点分析以下方面的内容:案例中反映的那些重要论题、案例中易得出两可结论的那些材料、案例中反映的情况发生的根源、案例中人物的行为、案例中所反映的而学生可能设想不到的情况等。在讨论掌握上,教师要力保讨论沿预期的轨道进行,把讨论引导到问题的解决上去,并引导出与论题相关的理论知识,力争班上每个学生都至少有一次发言的机会,切实做到有效参与。 (3)总结归纳,消化提升 总结归纳是软件工程案例教学的最后阶段,要求学生要对每个案例写出学习报告。该报告中包含学生在阅读案例中所得到的具体收获;通过分析与设计软件,提出自己所解决的实际问题;对理论上软件工程概念和案例中的实际是否一一相对应;以及对软件工程仍然存在的困惑。通过反思进一步加深对案例的认识,真正作到理论和实践的相结合。 案例教学中,师生都要注意角色转换,如果学生仍然热衷于将自己置身于教学过程之外,只做一名旁观者,案例教学也就失去了它的价值。学生只有真正地深入案例、体验角色,才会有案例情境的“再现”,案例教学的价值才能被体现。而教师在教学过程中也要不断变换自己的角色,可充当监督员,激励启发学生,监督案例分析、讨论情况;可充当示范员,向学生演示、讲解、分析案例中的事实、图表、材料等;可充当主人翁,制定下一步的工作计划并在实施中起主导作用;可作仲裁,解决各种争端;可充当交警,使讨论回到预定的轨道上来;等等。 5 结束语 传统的“黑板教育学”越来越受到冷落,案例教学已经提到教育改革的重要日程上来。华东师范法学教育系郑金洲曾指出,案例教学并不是单纯的一种教学方法,它实际上是以教学内容的变革为前提条件的,正是有了形形色色的案例,才使案例教学成为可能;案例教学也并不是一种单纯的教授法,它实际上也是以学生行为的转变为前提条件的;如果学生仍然热衷于自己先前的角色,把自己置身于教学过程之外,只是一个旁观者,案例教学也就失去意义。 笔者从事软件工程的教学工作,在软件工程中进行案例教学法的尝试,并且在实践中得到了一定的效果。然而,在软件工程案例教学中仍有很多问题需要进一步研究探讨,比如在案例中如何体现软件的测试阶段,它需要具体的环境来实现;如何在案例中能够让学生更深入理解软件的维护过程等等问题,都是有待于我们进一步完善,使案例教学在软件工程中得到进一步的推广。 软件工程论文:软件工程专业“计算机组成原理”课程教学探讨 计算机组成原理在我院的软件工程系被定为专业基础课,在学科体系中起着基础性和准备指导性的作用。目标是通过该课程的学习,使学生掌握计算机各功能部件及整机运行的工作原理和方法,并为学生建立起整机的概念。为后期的系统开发的理论、实践的学习奠定基础。但该门课程具有概念多、知识点多、内容抽象等特点,加上学生思想上有“偏软”现象,使该课程的组织教学有一定难度。本文将对计算机组成原理的教学现状、教学方法、教学内容、及通过实践等辅助教学手段来改进教学等方面进行阐述,以期对一般本科院校的计算机组成原理教学有一定借鉴促进作用。 一、计算机组成原理的课程的教学现状 (一)课程本身的特点决定这门课程教学难度大 1、基础概念多的特点 计算机组成原理这门课程由于内容较多,所涉及的基础概念也较多。在cpu模块有微程序、微指令及流水线等系统类概念,其中alu部分有原码、补码等与编码相关的概念;在存储器部分,与存储器单元相关的有ram、sram、dram、rom及各种rom设备,与存储系统相关的有cache存储器、虚拟存储器等概念;外设部分有中断等信息的各种传送方法。对整个计算机系统,有计算机的各种性能指标。对各个概念,靠单纯记忆的方法很难掌握,必须放在系统中学习。 2、理论性强的特点 计算机组成原理这门课程首先要考虑其原理性,现在仍然采用冯.诺依曼式计算机模型作为基本模型,但也要考虑现代计算机的发展,以融入实际的需要。如何对内容进行合理的安排、衔接,对任课教师来说,是一不小的挑战。 3、内容抽象的特点 要让学生明白计算机的工作原理、方法和实现,需弄清数据和信号在计算机各部件件间的流动情况,对学生来说,这看不见也摸不着,如何将信息流动的复杂情况形象、生动地向学生展示、讲解,教师对此需要作出相当的努力。 (二)学生对该们课程的认识误区 大部分的学生认为,我们学的专业是软件工程,专业是“偏软”的,而计算机组成原理这门课程是“偏硬”的,对其转为实际能力表示怀疑。由于对这门课程在学科中的作用认识不明确,在学生中就有一种印象,学习这门课程主要目的是修学分的需要,另外还有考研的需要,但考研的学生比例较小,再加上这门课程本身的学习难度,因此认真学习且能学好这门课程的人数就不多了。 二、对组成原理教学的几点建议 (一)对学生对该门课程的认识进行相应正确引导 由于是一门基础理论课,加上本身的教学内容特点,可能内容较为枯燥,因此学生可能会因为课程内容本身而不感兴趣。因此我们要在思想上要对学生加以引导,使学生认识到,学习这门课程不仅对计算机本身的运转有更深刻的认识,更对与硬件相关的嵌入式系统设计,软件的设计实现有基础指导作用。并为学生在计算机领域的进一步研究和发展奠定基础。因此,学生不能因为这门课程“偏硬”,而自己的专业和就业方向“偏软”就否定这门课程的重要性。 (二)根据课程设置需要对教学学时进行相应调整 根据不同的专业,学生的不同层次,及大部分学生的就业方向对该课时设置不同的教学学时。报告[3]中指出,对于多数调查对象为毕业生的调查结果,多数人认为这门课开设为64、48或32学时。而48学时的人稍多些。这与本人想法基本一致,对于非计算机专业,作为导论型的,32学时足矣;对于软件专业,其目的主要是通过掌握其基本原理,能更好的为软件系统的设计服务,开设48学时,其中8学时实验较合理。而对于偏硬件的计算机专业,可以根据需要,开设56或64学时。 (三)根据专业要求及课程设置对教学内容作出调整 计算机组成原理在学科中的地位被定为专业基础课,在学科中具有承上启下的作用,希望通过本门课程的学习,使学生对计算机硬件的组成、各部件及各部件之间运转情况进行了解。对于软件专业的学生来说,为硬件相关的嵌入式系统设计及其他软件的设计奠定基础。计算机组成原理从内容上主要分为三部分:cpu、存储器、外设。但由于学时的限制及课程的安排(本专业开设了微机原理课,外设是其讲授重点),重点讲授cpu和存储器两部分。存储器内容分为主存储器和存储体系两部分内容。前者讲述存储元器件的基本原理,而后者则是cache、主存和辅存之间的区别与联系,如果开设了计算机体系结构这么课程,这存储体系的内容可简略介绍,具体内容由计算机体系结构讲解。cpu部分与存储器一样,在详细介绍完其核心部件alu后,重点即是中央处理器章节,即指令的运行,而指令的运行需要访问存储器,这就将cpu与存储体系联系起来了。故这两部分又是有联系的。由此有关硬件的内容就脉络清晰、分工明确了。 (四)对实验内容进行合理的学时分配 实验课对于一门课程来说,主要目的是加深对知识点认识,使抽象的理论变得形象、具体。因此,对本身理论性强,内容抽象的计算机组成原理课程,实验课就显得尤为重要。我们采用的是西安唐都科教仪器公司生产的实验箱作为实验设备。与其相配套的实验有9个,其中主要包括与cpu中的与alu相关的3个实验、静态存储器存取实验、微程序控制实验及4个模型机的设计类实验。根据实验学时的设置,只有8个学时的实验课。8个学时全部完成这些实验有一定难度,因此,可将这些试验进行合理的学时分配,如第1、2个学时完成第一、二个实验,因为刚开始做硬件实验不熟悉,但第二个运算器进位实验教简单,可顺便完成;有了前面的基础,完成第三个运算器移位控制实验就简单多了,因此和第四个稍麻烦的静态存储器存取试验合并在第3、4学时完成;第5个实验内容较复杂,可单独安排2个学时完成;这样就留出了2学时来研究后面的模型及设计与实现的实验了。 (五)以实践为手段带动学生的学习积极性 为了提高学生的学习积极性,加深对知识的掌握,实践就显得尤为重要。对软件专业的学生来说,利用软件对所学知识进行模拟不失为一种好的办法。对于计算机组成原理这门课程,实验内容较为抽象,不易被理解,因此,采用“硬件软化”的方法,对课程的实验内容等进行模拟,既可加深对知识的掌握,又可提高大家的软件设计、编程能力。本系为了提高大家参与的积极性,采用了学生科技立项的办法,系里拿出一部分资金,将“计算机组成原理虚拟实验系统的设计与实现”作为一学生科技项目,鼓励学生组队参加,和其他项目一起参加评比,并进行奖励的办法,在学生中得到了良好的响应。学生做出的项目教师可拿来作为课堂教学用,并可鼓励学生在此基础上进行改进,进一步完善。以后甚至可以将系统分块,让学生分组做,并作为课后作业的一部分,计入学生平时成绩。以此提高学生的学习兴趣和动力。 三、结语 计算机组成原理这门课程由于其本身知识点多、内容相对抽象、知识“偏硬”等特点,对软件专业的学生来说,普遍学习的积极性不高,对知识的掌握不能达到预期的目的。本文从对学生的引导、课时的设置、教学内容的调整等方面进行了讨论,特别提出通过“硬化软件”的方法,提高大家学习的积极性。相信经过多方面的努力,学生会喜欢并学好这门课程,该课程也将很好地发挥其在学科体系中的作用。
软件工程毕业设计论文:软件工程在毕业设计的作用 在学生的毕业设计中以软件工程的思想为主线,从软件工程的角度去指导学生进行毕业设计,挖掘软件工程在系统开发过程中的价值,解决毕业设计中存在的一些问题,既有助于学生更好地理解软件工程的方法、技术和思想,更有助于提高软件类毕业设计的质量。 1毕业设计中存在的问题 笔者在指导学生软件开发类毕业设计过程中发现,毕业设计存在着选题难、任务重、重视编码、轻过程、项目无法完成等现象。设计过程中没有严格地遵循软件工程的开发方法,没有规范的软件设计过程,项目能否成功主要依赖于个人能力和个人努力,这种不正确的开发方法带来了严重的后果。在项目开发的过程中常常存在以下几个方面问题: 1.1选题的盲目性 选题是毕业设计过程中的一个初始环节,选题恰当是做好毕业设计的前提,但选题不当的情况仍然时有发生。学生没有认识到毕业设计的重要性,纯粹是为了完成学业而做毕业设计,选题没有一个确切的目标,往往是随便选一个题目,造成选题的盲目性,出现了选题陈旧、选题范围狭窄、选题偏大等问题,使学生抄袭、完成不了毕业设计的情况时有发生。 1.2缺少软件的系统分析 软件开发过程的第一个阶段是系统分析,用来确定软件开发要解决的问题是什么?估算完成该项目需要的资源和成本,确定目标系统应该具备哪些功能,主要经历问题的定义、可行性分析和需求分析三个阶段。软件的系统分析确定了用户需求,同时对目标系统提出完整、具体的要求,引导开发者正确地构建系统。因此,对用户需求做出全面、正确的分析,对于最终软件开发类毕业设计的成败起着至关重要的作用。然而在完成毕业设计过程中,学生往往认为代码编写最重要,对软件开发过程中的可行性分析和需求分析阶段不重视,甚至没有系统分析,对整个毕业设计的完成造成了影响。 1.3软件设计过程杂乱无章 软件设计一般都要经历可行性分析、需求分析、总体设计、详细设计、编码和测试阶段。而部分学生在毕业设计开发的过程中,缺乏软件工程设计思想,跨越需求分析、概要设计、详细设计和功能模块设计,直接进行代码的撰写;或者从代码反推出模块设计;甚至在软件开发过程中,一边写程序,一边了解需求,程序完成了需求才确定。这种无序的软件设计过程,导致最终设计的系统杂乱无章、代码的重复率高、潜在?Bug多、系统的可集成性非常差、不能在规定时间内完成设计或者系统无法运行。 1.4开发过程中文档不完备 根据软件工程学的基本原理,软件=程序+文档,可见软件文档是软件开发过程中不可缺少的组成部分。软件文档贯穿于软件开发的各个阶段,是提高软件产品开发效率、规范软件产品开发过程、保证软件产品质量的关键。但在实际毕业设计中,很多同学认为把程序代码编出来了,毕业设计也就完成了,提交的毕业设计论文就是系统代码的复制,即只做出一个可演示可操作的系统,而忽略了软件开发的完整性、系统性。完整的毕业设计不仅包括可操作的系统,还包括在开发系统的过程中所产生的各个文档资料。文档的缺失会降低软件开发的效率、影响整个软件的开发、使用和维护。以上问题的存在,严重影响了毕业设计的进度和质量,没有达到毕业设计的目标要求。针对当前毕业设计的现状和存在不足,笔者认为应用软件工程学的思想指导毕业设计,对促进学生综合素质与工程实践能力培养具有积极意义。 2用软件工程思想指导学生进行毕业设计 2.1以可行性研究指导选题 可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。毕业设计题目的选择,应立足于解决工程实际问题,可由指导教师提供符合相关专业毕业设计要求的题目,也可以鼓励学生自己到社会、生产企业中寻求研究课题,培养他们自主学习的意识。选题过程以可行性研究为指导,从课题规模大小、难易程度、学生自己的研究方向、爱好、学生的知识层面和能力等多个方面进行考虑,对于选择的题目是否能够解决,确定在规定的时间内完成毕业设计的可行性。指导教师可根据学生选报的题目来指导学生对该选题进行调查研究,明确课题要解决的问题是什么,简要地写出关于问题性质、项目目标和项目规模的书面报告。可行性研究来指导毕业设计的选题,实质上是简化了系统分析和设计的过程,也是在较高层次上以较抽象的方式进行的系统分析和设计的过程,使学生对于课题的设计有个清晰的思路,为及时完成毕业设计提供了可能。 2.2重视软件的需求分析 需求分析的基本任务是准确地回答“系统必须做什么”,即确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求,不仅指明了系统设计时必须要实现的目标,也是软件设计、实现、测试和维护阶段的主要参考标准。用户需求的获取是软件开发中最重要、难度最大的工作,它贯穿于整个软件设计过程,不仅要涉及到软件开发方面的知识、应用领域方面的知识,还涉及到与用户沟通的能力。在进行需求获取和分析时,为了及时、准确地获取,可采用软件工程中比较成熟的方法,例如访谈、实际调查、UML的用例技术等。需求分析在软件系统分析与设计阶段起着桥梁的作用,确定了系统的需求,才能制定出软件设计的框架,保证毕业设计循序渐进、有条不紊地进行,避免后期开发过程的频繁返工,进而按时完成最终的任务。 2.3规范毕业设计过程 软件开发类毕业设计一般是开发一个软件系统,实现一定的功能。“麻雀虽小,五脏俱全”,无论软件规模的大小、功能的多少,都应该严格按照软件工程中软件生命周期每个阶段的步骤完成各项任务。要培养学生把软件工程的概念贯穿于整个毕业设计过程,也就是说,让学生把开发软件的过程看成是盖一栋大楼,修一条公路的实际工程,用工程化的思想指导毕业设计,确定完成课题的各项任务的工作步骤,注重软件类毕业设计的过程,而不是学生所认为的毕业设计就是编程序,代码调试通过即可。通过工程的概念规范毕业设计过程,让学生明白开发一个软件系统一般经过系统分析、系统设计、系统实施三个阶段,必须严格遵循软件生命周期的规律,完成各个阶段的任务,才能最终提高毕业设计的质量。 2.4重视文档的写作 软件工程中的瀑布模型严格地规定了在整个软件生命周期的各个阶段,都要提交相应的文档。文档不仅记录软件开发过程中的大量信息,在软件的开发、维护过程中也起着重要的作用。在指导学生毕业设计时,要求学生遵照软件工程的思想,把文档作为整个设计的指挥棒,记载设计过程的每一阶段完成的目标、任务及技术手段,建立健全毕业设计文档制度,确保毕业设计过程中的文献综述、译文、任务书、开题报告、选题审题表、中期检查表、设计(论文)正文、答辩记录等各环节教学资料档案完善、规范,实现对毕业设计的全程监控。 3结束语 软件工程是软件开发工程化、规范化的具体实施方法,将其应用到毕业设计中,不仅有助于学生对软件开发相关知识的巩固和实践,而且对解决目前软件开发类毕业设计中存在的问题,提高学生毕业设计质量,具有极大的促进作用。 作者:王 晓 王长波 单位:湖北医药学院 公共管理学院计算机教研室 软件工程毕业设计论文:软件工程本科毕业设计策略探究 一、利用多方资源做好毕业设计选题与立题工作 恰当的选题是做好毕业设计的必要条件和前提。近年来,随着信息技术高速发展,国家对高素质软件工程人才需求十分旺盛,并有逐年扩大的趋势。同时各个高校软件工程专业的招生数量也在逐年增加,从目前全国319所设有软件工程专业的学校看,2013年该专业平均招生300人左右。专业招生人数的增多给毕业设计选题带来了带来巨大挑战:一方面软件工程专业的毕业设计选题要求具有一定的应用价值、创新性,同时还要与行业需求相吻合;另一方面要保证选题的唯一性,不仅要避免学生之间的题目重复,还要避免与之前毕业生的题目重复,因为重复的选题会使学生产生投机的心理,导致“打酱油”现象。针对上述问题,黑龙江大学软件学院主要采取了以下几个措施: 1.充分利用企业资源 对一部分在企业实习的学生采取“三位一体”的双导师指导模式。即企业项目为载体,学生为主体的模式,校内和校外导师为主导。这部分学生一般是在大三下学期暑假就已经进入企业实习,而我们每年毕业设计选题工作是在十一月末,也就是学生进入企业实习后三到四个月的时间,学生经过企业阶段的培训,对企业的生产过程、企业文化有了一定的了解。此时,学院组织校内外导师和学生共同协商,以企业项目或子项目为学生确定毕业设计选题。 2.充分发挥导师的资源优势 学院大部分教师都有自己的科研课题,这些科研课题有些是直接来源于企业的横向课题,还有一些是信息技术领域的应用研究课题,我们鼓励教师从这些课题中提取出一些子项目让学生实践,作为毕业设计的选题。 3.充分挖掘学生的专业技术特长和兴趣点并结合学生的择业倾向 确定最能发挥自身优势和潜能的选题。毕业设计的选题不仅要与实际需求相结合,更重要的是应该结合学生自身的技术优势和兴趣。只有学生对选题有兴趣,他们才能尽早地进入状态,发挥自己的创造能力和积极主动意识。所以,选题阶段导师和学生的沟通交流就显得尤为重要,通过沟通导师可以了解学生的能力、兴趣和择业倾向,学生也可以对选题,有进一步的认识,对于不感兴趣的选题学生也可以通过与导师进一步的探讨进行题目的修订。 二、注重环节审查 加强过程监管虽然“好的开始是成功的一半”,但是如果缺乏中间环节的监管,仍然不能保证好的效果。因此,为保证毕业设计(论文)的质量,我们制定了明确的质量标准、管理条例,并由院长、学术委员会、系主任和教务办主任组成毕业设计(论文)工作委员会,负责毕业设计(论文)工作的组织、评定和监管,同时保证管理条例的严格落实及各个环节工作的正常进行。为健全毕业设计(论文)的监管机制,学院先后规范和完善了《毕业设计(论文)工作管理办法和实施细则》《开题报告》《开题评分标准》《中期报告》《中期检查标准》《毕业设计(论文)撰写规范及模版》《毕业设计(论文)盲审表》《答辩程序和评分标准》等一系列管理办法和文档标准,使毕业设计工作在制度和规范下能顺利有效地进行。每年毕业设计工作之初,我们都要给学生开一个动员会,在会上阐明毕业设计(论文)的重要性,以及毕业设计对他们未来工作的影响,调动他们学习的主动性、积极性和创造性。此外,系主任还要向学生介绍学院毕业设计(论文)管理办法和实施细则,各阶段的工作要求和时间节点,以及各环节检查的内容、需要提交的文档,使学生在毕业设计开始时能做到心中有数。同时,我们也要求指导教师随时解答学生的问题,坚持每周开例会,检查学生的工作完成情况,并提出一些有技术含量和理论深度的问题启发他们思考,激发他们的学习热情,并与学生一起确定后续任务。此外我们组织开题检查、中期检查,对开题检查成绩后30%的学生,不但检查中期报告,还要现场检查程序。对于中期检查不合格的学生,要求限期整改,如果仍然不合格则取消答辩资格。在答辩之前,我们还要对论文进行盲审,盲审不合格的学生不允许答辩,对有异议的论文要提交学术委员会做最后论证。虽然学院对毕业设计(论文)工作在各个环节上的审查都非常严格,但我们鼓励学生之间进行研讨交流,博采众长,相互提高,因为我们的目的不是抓出多少不合格的学生,而是想通过大学阶段最后的综合性实践教学环节训练,培养学生的学习能力、知识的综合运用能力、分析解决问题能力和沟通交流等综合素质。 三、严把答辩关,保证毕业设计质量 答辩是毕业设计(论文)考核阶段的最后环节,这个环节既是学院对学生毕业设计的验收和鉴定,同时也是学生对自己工作的总结和汇报。通过答辩,学生不仅展示了毕业设计工作的效果,更展示了自己的专业知识、技术水平和综合素质。作为教师,每年都要指导多个毕业设计(论文),而学生一生只能经历一次本科毕业设计,而且毕业设计答辩能否顺利通过,直接关系到学生毕业及学位资格的认定。因此对学生来讲,毕业答辩至关重要。这有点像外科医生与患者的关系:医生每年要做很多手术,对他们而言手术已是司空见惯,但对于患者本人,可能一辈子才上一次手术台,而且生命攸关。所以,我们要在毕业设计指导过程中,认真对待每一位学生。同时在毕业答辩中严格把关,保证质量,更要秉承“公开“”公正”“公平”的原则。我们的毕业设计(论文)答辩采用小组面试形式,每组由四位副高职以上教师组成。答辩当天向学生公布成绩,毕业设计(论文)总成绩由开题成绩(10%)、中期成绩(10%)、指导教师成绩(10%)、答辩成绩(70%)构成。对于优秀的和不及格的学生,我们还会重新组建答辩组进行二次答辩。这是考虑到答辩组之间认同度的差异而导致评分标准出现偏差,可能有些答辩组打分会偏低,有的组打分会偏高,即各个答辩组评分信度不能达到一致。二次答辩可以有效地消减组间评分差异,从而使申报校优秀论文人选和未通过人选的确定做到公正、公平和有效。针对软件行业特点,我们通过强化实践教学环节,合理利用多方资源拓宽毕业设计(论文)选题途径、健全和完善毕业设计(论文)的监管机制等手段,确保了毕业论文质量的稳步提高。几年来,黑龙江大学软件学院的毕业设计(论文)质量受到校内外专家的一致好评,获校优秀论文比率一直位于学校前列。实践证明,加强毕业设计(论文)质量的监管,不但提高了学生工程实践能力、独立科研能力和创新意识,为学生进入工作岗位打下了良好的基础,进而也提升了学生的就业率。 作者:任美睿 金英 郭龙江 单位:黑龙江大学 软件工程毕业设计论文:软件工程类毕业设计管理措施 规模使得精细化指导与管理变得困难原有毕业设计环节管理由于参与指导的教师人数相对较少,每名教师指导的学生也不多,而且所有教师均为本系教师,大家彼此非常熟悉,在一起教学研讨的时间也很多,所以大家对各环节的要求及约定比较容易统一,对每个学生的指导时间也较多。但随着参与指导毕业设计教师数量的提升,指导学生数的增加,特别是聘请了外系教师的支援,原有会议讨论式、心理记忆式的约定及规则已经不能适应管理要求。这就必然要求规范毕业设计环节的管理,统一考核指标,让大家在一个统一的框架下实施毕业设计的指导与考核。 软件过程及评价主观性强软件及开发是个主观性强,知识、劳动密集型工作,同一个项目或任务,由于每个人项目经历、经验的不同,不同的人所得出的满足需求的合格产品是肯定有区别的,但在质量、灵活性、可扩充性方面可能存在很大差别。同时,对于软件产品,不同人会有不同的评价,具有强主观性的特点。这种强主观性使得对毕业设计的评价难以用客观的量化的评价指标和体系进行度量,对教师间把握统一的考核尺度制造了困难。 师生面对面交流机会越来越少由于就业形式的变化,各本科院校的培养模式也作了一定的改变,为了让学生能更方便的外出找工作,更早的接触社会,大部分高校第八学期除了毕业设计,基本上就没有其他的教学任务。重庆理工大学也存在类似情况,在第八学期,大部分学生没有待在学校,有的在外联系工作单位,有的提前到单位实习,甚至有的以在外找工作为借口待在家里,学生的分散性使得教师和学生之间面对面交流的机会少之又少,给毕业设计环节的指导和管理工作带来了难度。 选题类型趋于多样性为了培养学生层次、方向的多样化,软件工程专业的毕业设计不仅只有传统的系统分析、设计与开发类的题目,还涉及论文类及算法类等类别。根据对前几届毕业设计环节的综合统计,系统分析设计开发类选题所占分量最多,占70以上。由于不同题型的毕业设计需要应用的知识、实施过程、考核重点都存在很大差异,不同题型之间的考核没有对比性,因此需要针对不同的选题类型制定相应的考核指标和评价标准。 现有管理中存在的问题 毕业设计是一次综合锻炼学生应用所学知识解决问题能力的过程,涉及的环节比较多,存在的问题也不少[3-4]。综合分析,存在以下三个典型问题: 1历史题目重复率高,抄袭现象难以控制 每年都有几个班的学生毕业,毕业设计都要实施。在纸质时代,抄袭成本大,抄袭源也比较难找到,因此抄袭现象相对较少,不同届学生的题目相同并不会影响毕业设计质量。然而,随着互联网技术在给广大民众带来方便的同时,也给学生的偷懒提供了契机。由于大部分学生在外实习,教师很难有效的监督学生,有相当一部分学生考虑到自己毕业后不从事软件开发等相关工作或工作比较忙,不愿意投入时间好好地完成毕业设计,而是从互联网抄袭,甚至通过互联网购买。 2学生对考核的公正性存在质疑 由于参与综合实践环节的学生人数和指导教师规模越来越大,综合实践环节在进行质量考核时必然要进行分组。由于大家没有统一的考核指标体系及标准,同一水平的毕业设计处于不同考核小组,可能得出截然不同的成绩;甚至有指导教师认为较好的论文在答辩时被判为不及格现象。造成的严重后果是学生对论文评审、答辩过程公平性的质疑,对学校的声誉带来不良影响。其原因是由于不同教师间、各不同小组之间缺乏一个统一的评判标准,分组的不均匀分布而导致了评审的不公平性。 3学生难以获取实际需求 由于学生人数众多,只有少部分学生能参与到教师的实际科研项目中,大部分学生只能以虚构的题目为背景,没有具体的企业为依托。因此,很获取项目的具体而详细的需求,学生所完成的也只能是一些通用功能的系统,系统业务逻辑比较简单,甚至基本没有业务逻辑,仅仅是简单增加、删除、修改等功能的拼凑,不能真正体会到系统分析和设计的内涵。 软件专业毕业设计管理对策 软件工程专业毕业设计管理是很多高校都比较棘手的问题,也有不少教师已提出了一些很好的策略[5-7]。根据对多年毕业设计执行情况的分析与总结,作者认为软件工程专业毕业设计管理和考核中存在众多问题的主要原因有以下三点:重结果轻过程的考核方法;缺乏统一的考核评价体系;管理过程不规范,随意性大。因此,本文主要从建立量化考核指标体系、规范毕业设计过程管理和其他一些辅助策略进行探讨。 1建立量化考核指标体系 建立量化考核指标体系包括细化考核指标和建立考核评价体系两部分。考核指标体系是一把双刃剑,它除了可以对学生的毕业设计过程和结果进行考核外,也给学生提供了完成毕业设计目标的指导。在实际操作中,将对毕业设计的考核从过程检查、评阅、答辩等几个环节进行考虑,各环节又有细分指标,如论文选题、工作量、分析设计,程序运行、系统界面、论文结构、熟悉程度等,用权重表示指标的重要性程度,每个指标有几个不同得分等级,每个等级对应一个可参考的评判标准,从而将以前的主观考核变为根据指标进行量化计算,有效地减少人为因素对评价的影响。 2规范毕业设计过程管理 传统的考评方式重视对结果的考核,缺少对过程的考核,大多数学生在进行实践环节任务时,没有一个良好的系统分析、设计、开发习惯,完全是“灵感触发”式的完成的,因此最终提交的往往是低劣的文档或代码。软件产品是知识密集性产品,实践证明,有效的过程管理是生产出好产品的一个必要条件。因此,必须规范毕业设计的课程管理,借助于1节建立的考核体系,对过程中的开题、需求文档、设计文档等关键环节进行考核,使学生在完成毕业设计的每一步时有明确目标的指导,通过过程的管理促使学生完成高质量的毕业设计成果。为了减少人为因素的影响,有必要建立毕业设计过程管理及控制系统[8-9],用管理信息系统规范毕业设计的过程管理。 3采用团队培养模式 系统分析与设计的能力是软件工程专业学生需要培养的一项最主要能力,而简单的系统开发或项目由于功能简单、业务单一,对锻炼学生的系统分析和设计能力作用不大。因此,可以采用多名学生组团共同完成一项较复杂系统的方式,每名学生负责其中的一部分,学生之间通过对复杂点的业务逻辑的讨论来提高系统分析和设计的能力,通过团队合作来了解项目管理与软件工程方法的精髓。 4与企业合作指导 由于企业面对的都是实实在在的项目,有自我学习的环境氛围和压力,在培养学生动手实践能力方面有其独特的优势。在企业,每天都有相应的任务,在完成任务过程中,必然会碰到各种类型的问题,会寻求问题的解决方法,在解决问题的过程中很自然地就提升了自己的能力。这种任务驱动的学习方法和实际项目环境下的压力在学校是很难提供的。近些年来,学院也在加强与企业的合作,在有条件的情况下尽量派学生深入到公司、企业进行实习,已签约的学生也可以提前到签约企业工作,以企业的项目来完成其毕业设计环节,实现企业、学校共同指导的方式。 结束语 毕业设计环节由于实践性、综合性强,涉及知识点多,其管理与考核一直是让人头疼的问题。论文描述了重庆理工大学软件工程专业毕业设计环节的背景和现状,指出了软件工程专业毕业设计质量难于管理和考核的特点。通过对近几年毕业设计开展情况的总结与分析,发现了毕业设计质量难于考核和控制的具体原因,并指出当前毕业设计管理和考核所存在的问题,最后提出了解决这些问题的一些具体实施策略。结果表明,策略的实施对毕业设计过程的管理及考核答辩工作有较大的作用,学生毕业设计质量有了显著的提高。 作者:刘智王森闫河单位:重庆理工大学计算机科学与工程学院 软件工程毕业设计论文:软件工程本科毕业设计质量提升策略 一、利用多方资源做好毕业设计选题与立题工作 恰当的选题是做好毕业设计的必要条件和前提。近年来,随着信息技术高速发展,国家对高素质软件工程人才需求十分旺盛,并有逐年扩大的趋势。同时各个高校软件工程专业的招生数量也在逐年增加,从目前全国319所设有软件工程专业的学校看,2013年该专业平均招生300人左右。专业招生人数的增多给毕业设计选题带来了带来巨大挑战[3]:一方面软件工程专业的毕业设计选题要求具有一定的应用价值、创新性,同时还要与行业需求相吻合;另一方面要保证选题的唯一性,不仅要避免学生之间的题目重复,还要避免与之前毕业生的题目重复,因为重复的选题会使学生产生投机的心理,导致“打酱油”现象。针对上述问题,黑龙江大学软件学院主要采取了以下几个措施:1.充分利用企业资源,对一部分在企业实习的学生采取“三位一体”的双导师指导模式。即企业项目为载体,学生为主体的模式,校内和校外导师为主导。这部分学生一般是在大三下学期暑假就已经进入企业实习,而我们每年毕业设计选题工作是在十一月末,也就是学生进入企业实习后三到四个月的时间,学生经过企业阶段的培训,对企业的生产过程、企业文化有了一定的了解。此时,学院组织校内外导师和学生共同协商,以企业项目或子项目为学生确定毕业设计选题。2.充分发挥导师的资源优势,学院大部分教师都有自己的科研课题,这些科研课题有些是直接来源于企业的横向课题,还有一些是信息技术领域的应用研究课题,我们鼓励教师从这些课题中提取出一些子项目让学生实践,作为毕业设计的选题。3.充分挖掘学生的专业技术特长和兴趣点并结合学生的择业倾向,确定最能发挥自身优势和潜能的选题。毕业设计的选题不仅要与实际需求相结合,更重要的是应该结合学生自身的技术优势和兴趣。只有学生对选题有兴趣,他们才能尽早地进入状态,发挥自己的创造能力和积极主动意识。所以,选题阶段导师和学生的沟通交流就显得尤为重要,通过沟通导师可以了解学生的能力、兴趣和择业倾向,学生也可以对选题,有进一步的认识,对于不感兴趣的选题学生也可以通过与导师进一步的探讨进行题目的修订。 二、注重环节审查,加强过程监管 虽然“好的开始是成功的一半”,但是如果缺乏中间环节的监管,仍然不能保证好的效果[4]。因此,为保证毕业设计(论文)的质量,我们制定了明确的质量标准、管理条例,并由院长、学术委员会、系主任和教务办主任组成毕业设计(论文)工作委员会,负责毕业设计(论文)工作的组织、评定和监管,同时保证管理条例的严格落实及各个环节工作的正常进行。为健全毕业设计(论文)的监管机制,学院先后规范和完善了《毕业设计(论文)工作管理办法和实施细则》《开题报告》《开题评分标准》《中期报告》《中期检查标准》《毕业设计(论文)撰写规范及模版》《毕业设计(论文)盲审表》《答辩程序和评分标准》等一系列管理办法和文档标准,使毕业设计工作在制度和规范下能顺利有效地进行。每年毕业设计工作之初,我们都要给学生开一个动员会,在会上阐明毕业设计(论文)的重要性,以及毕业设计对他们未来工作的影响,调动他们学习的主动性、积极性和创造性。此外,系主任还要向学生介绍学院毕业设计(论文)管理办法和实施细则,各阶段的工作要求和时间节点,以及各环节检查的内容、需要提交的文档,使学生在毕业设计开始时能做到心中有数。同时,我们也要求指导教师随时解答学生的问题,坚持每周开例会,检查学生的工作完成情况,并提出一些有技术含量和理论深度的问题启发他们思考,激发他们的学习热情,并与学生一起确定后续任务。此外我们组织开题检查、中期检查,对开题检查成绩后30%的学生,不但检查中期报告,还要现场检查程序。对于中期检查不合格的学生,要求限期整改,如果仍然不合格则取消答辩资格。在答辩之前,我们还要对论文进行盲审,盲审不合格的学生不允许答辩,对有异议的论文要提交学术委员会做最后论证。虽然学院对毕业设计(论文)工作在各个环节上的审查都非常严格,但我们鼓励学生之间进行研讨交流,博采众长,相互提高,因为我们的目的不是抓出多少不合格的学生,而是想通过大学阶段最后的综合性实践教学环节训练,培养学生的学习能力、知识的综合运用能力、分析解决问题能力和沟通交流等综合素质。 三、严把答辩关,保证毕业设计质量 答辩是毕业设计(论文)考核阶段的最后环节,这个环节既是学院对学生毕业设计的验收和鉴定,同时也是学生对自己工作的总结和汇报。通过答辩,学生不仅展示了毕业设计工作的效果,更展示了自己的专业知识、技术水平和综合素质。作为教师,每年都要指导多个毕业设计(论文),而学生一生只能经历一次本科毕业设计,而且毕业设计答辩能否顺利通过,直接关系到学生毕业及学位资格的认定。因此对学生来讲,毕业答辩至关重要。这有点像外科医生与患者的关系:医生每年要做很多手术,对他们而言手术已是司空见惯,但对于患者本人,可能一辈子才上一次手术台,而且生命攸关。所以,我们要在毕业设计指导过程中,认真对待每一位学生。同时在毕业答辩中严格把关,保证质量,更要秉承“公开”“公正”“公平”的原则。我们的毕业设计(论文)答辩采用小组面试形式,每组由四位副高职以上教师组成,答辩流程如图1所示。答辩当天向学生公布成绩,毕业设计(论文)总成绩由开题成绩(10%)、中期成绩(10%)、指导教师成绩(10%)、答辩成绩(70%)构成。对于优秀的和不及格的学生,我们还会重新组建答辩组进行二次答辩。这是考虑到答辩组之间认同度的差异而导致评分标准出现偏差,可能有些答辩组打分会偏低,有的组打分会偏高,即各个答辩组评分信度不能达到一致。二次答辩可以有效地消减组间评分差异,从而使申报校优秀论文人选和未通过人选的确定做到公正、公平和有效。针对软件行业特点,我们通过强化实践教学环节,合理利用多方资源拓宽毕业设计(论文)选题途径、健全和完善毕业设计(论文)的监管机制等手段,确保了毕业论文质量的稳步提高。几年来,黑龙江大学软件学院的毕业设计(论文)质量受到校内外专家的一致好评,获校优秀论文比率一直位于学校前列。实践证明,加强毕业设计(论文)质量的监管,不但提高了学生工程实践能力、独立科研能力和创新意识,为学生进入工作岗位打下了良好的基础,进而也提升了学生的就业率。 作者:任美睿 金英 郭龙江 单位:黑龙江大学 软件工程毕业设计论文:管窥软件工程在毕业设计中的应用 1软件工程在毕业设计中的作用 软件工程不仅是计算机科学与技术专业、软件工程专业的一门专业基础核心课程,也是其他相关专业,如信息工程、系统工程、信息与计算机科学、信息管理与信息系统等专业的重要应用技术课程。对于这些专业的学生来说,毕业设计多是以软件开发类项目为主,整个毕业设计就是开发一个软件。为了更好地完成软件开发类毕业设计,提高学生毕业设计的质量,进一步规范毕业设计中的软件开发过程是必需的。软件工程的思想正是用工程化方法构建和维护有效的、实用的和高质量的软件。按照软件工程思想,软件开发的生命周期分为可行性分析、需求分析、总体设计、详细设计、编码实现、软件测试和软件维护几个阶段。在学生的毕业设计中以软件工程的思想为主线,从软件工程的角度去指导学生进行毕业设计,挖掘软件工程在系统开发过程中的价值,解决毕业设计中存在的一些问题,既有助于学生更好地理解软件工程的方法、技术和思想,更有助于提高软件类毕业设计的质量。 2毕业设计中存在的问题 笔者在指导学生软件开发类毕业设计过程中发现,毕业设计存在着选题难、任务重、重视编码、轻过程、项目无法完成等现象。设计过程中没有严格地遵循软件工程的开发方法,没有规范的软件设计过程,项目能否成功主要依赖于个人能力和个人努力,这种不正确的开发方法带来了严重的后果。在项目开发的过程中常常存在以下几个方面问题: 2.1选题的盲目性 选题是毕业设计过程中的一个初始环节,选题恰当是做好毕业设计的前提,但选题不当的情况仍然时有发生。学生没有认识到毕业设计的重要性,纯粹是为了完成学业而做毕业设计,选题没有一个确切的目标,往往是随便选一个题目,造成选题的盲目性,出现了选题陈旧、选题范围狭窄、选题偏大等问题,使学生抄袭、完成不了毕业设计的情况时有发生。 2.2缺少软件的系统分析 软件开发过程的第一个阶段是系统分析,用来确定软件开发要解决的问题是什么?估算完成该项目需要的资源和成本,确定目标系统应该具备哪些功能,主要经历问题的定义、可行性分析和需求分析三个阶段。软件的系统分析确定了用户需求,同时对目标系统提出完整、具体的要求,引导开发者正确地构建系统。因此,对用户需求做出全面、正确的分析,对于最终软件开发类毕业设计的成败起着至关重要的作用。然而在完成毕业设计过程中,学生往往认为代码编写最重要,对软件开发过程中的可行性分析和需求分析阶段不重视,甚至没有系统分析,对整个毕业设计的完成造成了影响。 2.3软件设计过程杂乱无章 软件设计一般都要经历可行性分析、需求分析、总体设计、详细设计、编码和测试阶段。而部分学生在毕业设计开发的过程中,缺乏软件工程设计思想,跨越需求分析、概要设计、详细设计和功能模块设计,直接进行代码的撰写;或者从代码反推出模块设计;甚至在软件开发过程中,一边写程序,一边了解需求,程序完成了需求才确定。这种无序的软件设计过程,导致最终设计的系统杂乱无章、代码的重复率高、潜在?Bug多、系统的可集成性非常差、不能在规定时间内完成设计或者系统无法运行。 2.4开发过程中文档不完备 根据软件工程学的基本原理,软件=程序+文档,可见软件文档是软件开发过程中不可缺少的组成部分。软件文档贯穿于软件开发的各个阶段,是提高软件产品开发效率、规范软件产品开发过程、保证软件产品质量的关键。但在实际毕业设计中,很多同学认为把程序代码编出来了,毕业设计也就完成了,提交的毕业设计论文就是系统代码的复制,即只做出一个可演示可操作的系统,而忽略了软件开发的完整性、系统性。完整的毕业设计不仅包括可操作的系统,还包括在开发系统的过程中所产生的各个文档资料。文档的缺失会降低软件开发的效率、影响整个软件的开发、使用和维护。以上问题的存在,严重影响了毕业设计的进度和质量,没有达到毕业设计的目标要求。针对当前毕业设计的现状和存在不足,笔者认为应用软件工程学的思想指导毕业设计,对促进学生综合素质与工程实践能力培养具有积极意义。 3用软件工程思想指导学生进行毕业设计 3.1以可行性研究指导选题 可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。毕业设计题目的选择,应立足于解决工程实际问题,可由指导教师提供符合相关专业毕业设计要求的题目,也可以鼓励学生自己到社会、生产企业中寻求研究课题,培养他们自主学习的意识。选题过程以可行性研究为指导,从课题规模大小、难易程度、学生自己的研究方向、爱好、学生的知识层面和能力等多个方面进行考虑,对于选择的题目是否能够解决,确定在规定的时间内完成毕业设计的可行性。指导教师可根据学生选报的题目来指导学生对该选题进行调查研究,明确课题要解决的问题是什么,简要地写出关于问题性质、项目目标和项目规模的书面报告。可行性研究来指导毕业设计的选题,实质上是简化了系统分析和设计的过程,也是在较高层次上以较抽象的方式进行的系统分析和设计的过程,使学生对于课题的设计有个清晰的思路,为及时完成毕业设计提供了可能。 3.2重视软件的需求分析 需求分析的基本任务是准确地回答“系统必须做什么”,即确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求,不仅指明了系统设计时必须要实现的目标,也是软件设计、实现、测试和维护阶段的主要参考标准。用户需求的获取是软件开发中最重要、难度最大的工作,它贯穿于整个软件设计过程,不仅要涉及到软件开发方面的知识、应用领域方面的知识,还涉及到与用户沟通的能力。在进行需求获取和分析时,为了及时、准确地获取,可采用软件工程中比较成熟的方法,例如访谈、实际调查、UML的用例技术等。需求分析在软件系统分析与设计阶段起着桥梁的作用,确定了系统的需求,才能制定出软件设计的框架,保证毕业设计循序渐进、有条不紊地进行,避免后期开发过程的频繁返工,进而按时完成最终的任务。 3.3规范毕业设计过程 软件开发类毕业设计一般是开发一个软件系统,实现一定的功能。“麻雀虽小,五脏俱全”,无论软件规模的大小、功能的多少,都应该严格按照软件工程中软件生命周期每个阶段的步骤完成各项任务。要培养学生把软件工程的概念贯穿于整个毕业设计过程,也就是说,让学生把开发软件的过程看成是盖一栋大楼,修一条公路的实际工程,用工程化的思想指导毕业设计,确定完成课题的各项任务的工作步骤,注重软件类毕业设计的过程,而不是学生所认为的毕业设计就是编程序,代码调试通过即可。通过工程的概念规范毕业设计过程,让学生明白开发一个软件系统一般经过系统分析、系统设计、系统实施三个阶段,必须严格遵循软件生命周期的规律,完成各个阶段的任务,才能最终提高毕业设计的质量。 3.4重视文档的写作 软件工程中的瀑布模型严格地规定了在整个软件生命周期的各个阶段,都要提交相应的文档。文档不仅记录软件开发过程中的大量信息,在软件的开发、维护过程中也起着重要的作用。在指导学生毕业设计时,要求学生遵照软件工程的思想,把文档作为整个设计的指挥棒,记载设计过程的每一阶段完成的目标、任务及技术手段,建立健全毕业设计文档制度,确保毕业设计过程中的文献综述、译文、任务书、开题报告、选题审题表、中期检查表、设计(论文)正文、答辩记录等各环节教学资料档案完善、规范,实现对毕业设计的全程监控。 4结束语 软件工程是软件开发工程化、规范化的具体实施方法,将其应用到毕业设计中,不仅有助于学生对软件开发相关知识的巩固和实践,而且对解决目前软件开发类毕业设计中存在的问题,提高学生毕业设计质量,具有极大的促进作用。 作者:王晓 王长波 单位:湖北医药学院 公共管理学院计算机教研室 软件工程毕业设计论文:软件工程本科毕业设计策略 一、利用多方资源做好毕业设计选题与立题工作 恰当的选题是做好毕业设计的必要条件和前提。近年来,随着信息技术高速发展,国家对高素质软件工程人才需求十分旺盛,并有逐年扩大的趋势。同时各个高校软件工程专业的招生数量也在逐年增加,从目前全国319所设有软件工程专业的学校看,2013年该专业平均招生300人左右。专业招生人数的增多给毕业设计选题带来了带来巨大挑战:一方面软件工程专业的毕业设计选题要求具有一定的应用价值、创新性,同时还要与行业需求相吻合;另一方面要保证选题的唯一性,不仅要避免学生之间的题目重复,还要避免与之前毕业生的题目重复,因为重复的选题会使学生产生投机的心理,导致“打酱油”现象。针对上述问题,黑龙江大学软件学院主要采取了以下几个措施:1.充分利用企业资源,对一部分在企业实习的学生采取“三位一体”的双导师指导模式。即企业项目为载体,学生为主体的模式,校内和校外导师为主导。这部分学生一般是在大三下学期暑假就已经进入企业实习,而我们每年毕业设计选题工作是在十一月末,也就是学生进入企业实习后三到四个月的时间,学生经过企业阶段的培训,对企业的生产过程、企业文化有了一定的了解。此时,学院组织校内外导师和学生共同协商,以企业项目或子项目为学生确定毕业设计选题。2.充分发挥导师的资源优势,学院大部分教师都有自己的科研课题,这些科研课题有些是直接来源于企业的横向课题,还有一些是信息技术领域的应用研究课题,我们鼓励教师从这些课题中提取出一些子项目让学生实践,作为毕业设计的选题。3.充分挖掘学生的专业技术特长和兴趣点并结合学生的择业倾向,确定最能发挥自身优势和潜能的选题。毕业设计的选题不仅要与实际需求相结合,更重要的是应该结合学生自身的技术优势和兴趣。只有学生对选题有兴趣,他们才能尽早地进入状态,发挥自己的创造能力和积极主动意识。所以,选题阶段导师和学生的沟通交流就显得尤为重要,通过沟通导师可以了解学生的能力、兴趣和择业倾向,学生也可以对选题,有进一步的认识,对于不感兴趣的选题学生也可以通过与导师进一步的探讨进行题目的修订。 二、注重环节审查,加强过程监管 虽然“好的开始是成功的一半”,但是如果缺乏中间环节的监管,仍然不能保证好的效果[4]。因此,为保证毕业设计(论文)的质量,我们制定了明确的质量标准、管理条例,并由院长、学术委员会、系主任和教务办主任组成毕业设计(论文)工作委员会,负责毕业设计(论文)工作的组织、评定和监管,同时保证管理条例的严格落实及各个环节工作的正常进行。为健全毕业设计(论文)的监管机制,学院先后规范和完善了《毕业设计(论文)工作管理办法和实施细则》《开题报告》《开题评分标准》《中期报告》《中期检查标准》《毕业设计(论文)撰写规范及模版》《毕业设计(论文)盲审表》《答辩程序和评分标准》等一系列管理办法和文档标准,使毕业设计工作在制度和规范下能顺利有效地进行。每年毕业设计工作之初,我们都要给学生开一个动员会,在会上阐明毕业设计(论文)的重要性,以及毕业设计对他们未来工作的影响,调动他们学习的主动性、积极性和创造性。此外,系主任还要向学生介绍学院毕业设计(论文)管理办法和实施细则,各阶段的工作要求和时间节点,以及各环节检查的内容、需要提交的文档,使学生在毕业设计开始时能做到心中有数。同时,我们也要求指导教师随时解答学生的问题,坚持每周开例会,检查学生的工作完成情况,并提出一些有技术含量和理论深度的问题启发他们思考,激发他们的学习热情,并与学生一起确定后续任务。此外我们组织开题检查、中期检查,对开题检查成绩后30%的学生,不但检查中期报告,还要现场检查程序。对于中期检查不合格的学生,要求限期整改,如果仍然不合格则取消答辩资格。在答辩之前,我们还要对论文进行盲审,盲审不合格的学生不允许答辩,对有异议的论文要提交学术委员会做最后论证。虽然学院对毕业设计(论文)工作在各个环节上的审查都非常严格,但我们鼓励学生之间进行研讨交流,博采众长,相互提高,因为我们的目的不是抓出多少不合格的学生,而是想通过大学阶段最后的综合性实践教学环节训练,培养学生的学习能力、知识的综合运用能力、分析解决问题能力和沟通交流等综合素质。 三、严把答辩关,保证毕业设计质量 答辩是毕业设计(论文)考核阶段的最后环节,这个环节既是学院对学生毕业设计的验收和鉴定,同时也是学生对自己工作的总结和汇报。通过答辩,学生不仅展示了毕业设计工作的效果,更展示了自己的专业知识、技术水平和综合素质。作为教师,每年都要指导多个毕业设计(论文),而学生一生只能经历一次本科毕业设计,而且毕业设计答辩能否顺利通过,直接关系到学生毕业及学位资格的认定。因此对学生来讲,毕业答辩至关重要。这有点像外科医生与患者的关系:医生每年要做很多手术,对他们而言手术已是司空见惯,但对于患者本人,可能一辈子才上一次手术台,而且生命攸关。所以,我们要在毕业设计指导过程中,认真对待每一位学生。同时在毕业答辩中严格把关,保证质量,更要秉承“公开“”公正”“公平”的原则。我们的毕业设计(论文)答辩采用小组面试形式,每组由四位副高职以上教师组成,答辩流程如图1所示。答辩当天向学生公布成绩,毕业设计(论文)总成绩由开题成绩(10%)、中期成绩(10%)、指导教师成绩(10%)、答辩成绩(70%)构成。对于优秀的和不及格的学生,我们还会重新组建答辩组进行二次答辩。这是考虑到答辩组之间认同度的差异而导致评分标准出现偏差,可能有些答辩组打分会偏低,有的组打分会偏高,即各个答辩组评分信度不能达到一致。二次答辩可以有效地消减组间评分差异,从而使申报校优秀论文人选和未通过人选的确定做到公正、公平和有效。针对软件行业特点,我们通过强化实践教学环节,合理利用多方资源拓宽毕业设计(论文)选题途径、健全和完善毕业设计(论文)的监管机制等手段,确保了毕业论文质量的稳步提高。几年来,黑龙江大学软件学院的毕业设计(论文)质量受到校内外专家的一致好评,获校优秀论文比率一直位于学校前列。实践证明,加强毕业设计(论文)质量的监管,不但提高了学生工程实践能力、独立科研能力和创新意识,为学生进入工作岗位打下了良好的基础,进而也提升了学生的就业率。 作者:任美睿 金英 郭龙江 单位:黑龙江大学 软件工程毕业设计论文:论述软件工程的毕业设计运用 1软件工程在毕业设计中的作用 软件工程不仅是计算机科学与技术专业、软件工程专业的一门专业基础核心课程,也是其他相关专业,如信息工程、系统工程、信息与计算机科学、信息管理与信息系统等专业的重要应用技术课程。对于这些专业的学生来说,毕业设计多是以软件开发类项目为主,整个毕业设计就是开发一个软件。为了更好地完成软件开发类毕业设计,提高学生毕业设计的质量,进一步规范毕业设计中的软件开发过程是必需的。软件工程的思想正是用工程化方法构建和维护有效的、实用的和高质量的软件。按照软件工程思想,软件开发的生命周期分为可行性分析、需求分析、总体设计、详细设计、编码实现、软件测试和软件维护几个阶段。在学生的毕业设计中以软件工程的思想为主线,从软件工程的角度去指导学生进行毕业设计,挖掘软件工程在系统开发过程中的价值,解决毕业设计中存在的一些问题,既有助于学生更好地理解软件工程的方法、技术和思想,更有助于提高软件类毕业设计的质量。 2毕业设计中存在的问题 笔者在指导学生软件开发类毕业设计过程中发现,毕业设计存在着选题难、任务重、重视编码、轻过程、项目无法完成等现象。设计过程中没有严格地遵循软件工程的开发方法,没有规范的软件设计过程,项目能否成功主要依赖于个人能力和个人努力,这种不正确的开发方法带来了严重的后果。在项目开发的过程中常常存在以下几个方面问题: 2.1选题的盲目性 选题是毕业设计过程中的一个初始环节,选题恰当是做好毕业设计的前提,但选题不当的情况仍然时有发生。学生没有认识到毕业设计的重要性,纯粹是为了完成学业而做毕业设计,选题没有一个确切的目标,往往是随便选一个题目,造成选题的盲目性,出现了选题陈旧、选题范围狭窄、选题偏大等问题,使学生抄袭、完成不了毕业设计的情况时有发生。 2.2缺少软件的系统分析 软件开发过程的第一个阶段是系统分析,用来确定软件开发要解决的问题是什么?估算完成该项目需要的资源和成本,确定目标系统应该具备哪些功能,主要经历问题的定义、可行性分析和需求分析三个阶段。软件的系统分析确定了用户需求,同时对目标系统提出完整、具体的要求,引导开发者正确地构建系统。因此,对用户需求做出全面、正确的分析,对于最终软件开发类毕业设计的成败起着至关重要的作用。然而在完成毕业设计过程中,学生往往认为代码编写最重要,对软件开发过程中的可行性分析和需求分析阶段不重视,甚至没有系统分析,对整个毕业设计的完成造成了影响。 2.3软件设计过程杂乱无章 软件设计一般都要经历可行性分析、需求分析、总体设计、详细设计、编码和测试阶段。而部分学生在毕业设计开发的过程中,缺乏软件工程设计思想,跨越需求分析、概要设计、详细设计和功能模块设计,直接进行代码的撰写;或者从代码反推出模块设计;甚至在软件开发过程中,一边写程序,一边了解需求,程序完成了需求才确定。这种无序的软件设计过程,导致最终设计的系统杂乱无章、代码的重复率高、潜在?Bug多、系统的可集成性非常差、不能在规定时间内完成设计或者系统无法运行。 2.4开发过程中文档不完备 根据软件工程学的基本原理,软件=程序+文档,可见软件文档是软件开发过程中不可缺少的组成部分。软件文档贯穿于软件开发的各个阶段,是提高软件产品开发效率、规范软件产品开发过程、保证软件产品质量的关键。但在实际毕业设计中,很多同学认为把程序代码编出来了,毕业设计也就完成了,提交的毕业设计论文就是系统代码的复制,即只做出一个可演示可操作的系统,而忽略了软件开发的完整性、系统性。完整的毕业设计不仅包括可操作的系统,还包括在开发系统的过程中所产生的各个文档资料。文档的缺失会降低软件开发的效率、影响整个软件的开发、使用和维护。以上问题的存在,严重影响了毕业设计的进度和质量,没有达到毕业设计的目标要求。针对当前毕业设计的现状和存在不足,笔者认为应用软件工程学的思想指导毕业设计,对促进学生综合素质与工程实践能力培养具有积极意义。 3用软件工程思想指导学生进行毕业设计 3.1以可行性研究指导选题 可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。毕业设计题目的选择,应立足于解决工程实际问题,可由指导教师提供符合相关专业毕业设计要求的题目,也可以鼓励学生自己到社会、生产企业中寻求研究课题,培养他们自主学习的意识。选题过程以可行性研究为指导,从课题规模大小、难易程度、学生自己的研究方向、爱好、学生的知识层面和能力等多个方面进行考虑,对于选择的题目是否能够解决,确定在规定的时间内完成毕业设计的可行性。指导教师可根据学生选报的题目来指导学生对该选题进行调查研究,明确课题要解决的问题是什么,简要地写出关于问题性质、项目目标和项目规模的书面报告。可行性研究来指导毕业设计的选题,实质上是简化了系统分析和设计的过程,也是在较高层次上以较抽象的方式进行的系统分析和设计的过程,使学生对于课题的设计有个清晰的思路,为及时完成毕业设计提供了可能。 3.2重视软件的需求分析 需求分析的基本任务是准确地回答“系统必须做什么”,即确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求,不仅指明了系统设计时必须要实现的目标,也是软件设计、实现、测试和维护阶段的主要参考标准。用户需求的获取是软件开发中最重要、难度最大的工作,它贯穿于整个软件设计过程,不仅要涉及到软件开发方面的知识、应用领域方面的知识,还涉及到与用户沟通的能力。在进行需求获取和分析时,为了及时、准确地获取,可采用软件工程中比较成熟的方法,例如访谈、实际调查、UML的用例技术等。需求分析在软件系统分析与设计阶段起着桥梁的作用,确定了系统的需求,才能制定出软件设计的框架,保证毕业设计循序渐进、有条不紊地进行,避免后期开发过程的频繁返工,进而按时完成最终的任务。 3.3规范毕业设计过程 软件开发类毕业设计一般是开发一个软件系统,实现一定的功能。“麻雀虽小,五脏俱全”,无论软件规模的大小、功能的多少,都应该严格按照软件工程中软件生命周期每个阶段的步骤完成各项任务。要培养学生把软件工程的概念贯穿于整个毕业设计过程,也就是说,让学生把开发软件的过程看成是盖一栋大楼,修一条公路的实际工程,用工程化的思想指导毕业设计,确定完成课题的各项任务的工作步骤,注重软件类毕业设计的过程,而不是学生所认为的毕业设计就是编程序,代码调试通过即可。通过工程的概念规范毕业设计过程,让学生明白开发一个软件系统一般经过系统分析、系统设计、系统实施三个阶段,必须严格遵循软件生命周期的规律,完成各个阶段的任务,才能最终提高毕业设计的质量。 3.4重视文档的写作 软件工程中的瀑布模型严格地规定了在整个软件生命周期的各个阶段,都要提交相应的文档。文档不仅记录软件开发过程中的大量信息,在软件的开发、维护过程中也起着重要的作用。在指导学生毕业设计时,要求学生遵照软件工程的思想,把文档作为整个设计的指挥棒,记载设计过程的每一阶段完成的目标、任务及技术手段,建立健全毕业设计文档制度,确保毕业设计过程中的文献综述、译文、任务书、开题报告、选题审题表、中期检查表、设计(论文)正文、答辩记录等各环节教学资料档案完善、规范,实现对毕业设计的全程监控。 4结束语 软件工程是软件开发工程化、规范化的具体实施方法,将其应用到毕业设计中,不仅有助于学生对软件开发相关知识的巩固和实践,而且对解决目前软件开发类毕业设计中存在的问题,提高学生毕业设计质量,具有极大的促进作用。 作者:王晓王长波单位:湖北医药学院公共管理学院计算机教研室 软件工程毕业设计论文:软件工程思想在应用型高校毕业设计中的应用 摘要:针对地方应用型本科高校计算机软件类毕业设计质量不高的问题,对毕业设计中存在的问题进行分析,并结合软件工程的基础理论,提出利用软件工程思想对计算机软件类毕业设计进行指导,以提高地方应用型普通本科高校毕业设计的质量。 关键词:软件工程;毕业设计;应用 一、引言 毕业设计是本科毕业生在校期间的最后实践和综合实训阶段,是实现本科教育培养目标的重要组成部分,是深化、拓展、综合应用所学理论知识的重要过程;也是综合素质与工程实践能力培养效果的全面检验;是学生毕业及学位资格认定的重要依据;是衡量高等教育质量和办学效益的重要评价,是对专业理论知识和专业技术综合应用能力的强化训练和提升[1]。在毕业设计的过程中,学生利用所学专业理论知识,通过了解社会,分析社会需求,深入实践,完成毕业设计的任务和撰写毕业论文(设计)报告等各个环节的工作。对于地方应用型普通本科高校而言,毕业设计就相当于一般高等学校的毕业论文,但是毕业设计不同于毕业论文,它的组成部分不只是一篇学术论文。应用型高校的毕业设计注重的是“应用性”和“实践性”,学生毕业设计要求学生针对某一课题,综合运用本专业有关课程的理论和技术,自己动手动脑做出解决实际问题的设计。目的是总结、检查学生在校期间的学习成果,是评定毕业成绩的重要依据。同时,通过毕业设计,可培养学生开发项目的基本综合能力,为学生就业能力中的专业能力奠定坚实的基础;培养综合运用已有知识独立解决问题的能力,从而加强学生应用能力的培养,使学生能够学以致用。 二、地方应用型普通高校计算机相关专业学生毕业设计的现状 近几年来,由于学校对毕业设计要求不断提高,学生从选题到设计再到写出毕业设计报告的过程中总存在这样那样的问题,最终有个别同学没有顺利通过毕业设计,没有拿到毕业证和学位证的情况时有发生,并且大多数毕业设计的水平不高,达不到培养学生独立解决问题和提高学生应用能力的目的。因此,如何指导学生做好毕业设计,提高学生毕业设计水平和质量,是地方应用型普通高校面临的一个重要问题。 (一)毕业设计选题现状最近几年,我校计算机相关专业毕业生自进入大四秋季学期开始,在进行毕业实习的同时,也进入了毕业设计准备阶段:毕业设计选题,虽然毕业设计选题过程中,各级领导、指导教师和学生在态度是都很重视,但是在选题时也会存在很多的问题,主要有以下三个方面。1.选题不够准确。部分学生选题未经深思熟虑,所选毕业设计题目要实现的功能太多,在规定时间内不能独立完成,而最终只能实现部分功能,或部分模块。 2.题目相似或重复雷同。学生选题存在浑水摸鱼的思想,在毕业设计选题过程中不是根据自己的兴趣爱好、专业知识学习情况等确定研究选题,而是选择与他人类似或雷同的选题,甚至同一批毕业的许多学生选题一致。比如:“XX管理系统”等,除了可能冠以的系统名称不同之外,其余基本相同。 3.应用价值低。部分学生的选题是当前十分成熟的项目,没有研究的必要;有些选题已经被淘汰,在实际生活和工作中没有多大用途。 (二)毕业设计需求分析阶段现状 通过调查,许多学生选题完成后,没有对自己所做毕业设计选题进行仔细了解、分析,他们认为在毕业设计中最重要的就是编程,其他方面一带而过[2],从而造成毕业设计过程中主题经常进行修改,最终使得整个系统杂乱无章,无法继续进行下去。因此学生在毕业设计的需求分析阶段主要有以下三个方面的问题。 1.选题后未进行实际调查研究,甚至未查找相应的参考文献。 2.需求分析进行得不彻底、不准确,即使选题后查找了参考文献和资料的,也未做充分了解和分析。 3.在需求分析阶段没有写出需求规格说明书或系统分析报告就匆忙进入系统设计阶段,导致随着系统设计的逐步深入,原来确定的需求不能满足毕业设计的需要,正在进行的设计与开始的期望和设想又不相符。 (三)毕业设计系统设计阶段现状 在系统设计阶段,普遍存在以下两个方面问题。 1.由于需求的不明确,在进行系统设计时,修改随意,没有严格按照软件开发的步骤进行。好多学生在进行系统设计时并没有建出相应的功能模型,不管是用例图还是DFD图都没有,而且系统设计过程中功能随意变换,并且各功能模块的层次结构不清晰,使得整个系统的功能模块划分凌乱,不符合软件设计中“高内聚,低耦合”的原则。 2.在软件设计过程中,不先进行概要设计、详细设计和模块设计,没有软件的过程性描述,直接进行编码,存在想到哪里就做到哪里,走到哪儿算哪儿的随意思想[3],当前内容没有做完便开始其他内容,使得整个系统设计杂乱无章。在这样的一种研究状态下,即使完成了设计,效率也非常低下,软件结构混乱,功能实现不完全,降低了软件设计的质量。 (四)毕业设计实现阶段现状 通常把编码和测试统称为实现。在进行软件设计后,就可以根据设计结果来实现,将软件的过程性描述编码,得到计算机可以运行的源代码。在实现阶段主要有以下几方面的问题。 1.编码随意。学生在编码的过程中,不注意编程风格的把握,导致程序的可读性、可理解性、可修改性等较差,在答辨的过程中,要求指出某个功能模块的代码时,经常要花费很多时间才找得到。 2.测试和调试可有可无。大部分学生在毕业设计的软件编码完成以后,从没有想过进行完整的系统测试,或者只对个别功能进行测试或是随意测试,没有按照测试步骤逐步进行;基本没有单元测试和集成测试,一般只是最终随便输入几个数据简单检测一下,如果有错,修改了就算完了;也没有进行回归测试,没有测试计划,没有想过用什么测试技术来检测某一类型的错识,没有相应的测试用例,也没有测试结果分析。由于学生毕业设计都是一人一题,基本上是一个人完成所有步骤,就算有测试,在测试阶段也是自己进行测试,从心理学的角度来说,自己对自己开发的软件进行测试是不可取的。由于前面阶段的文档不完善,也不重视测试过程,不清楚是否实现了系统最初设计的功能,是否达到相应的性能要求,总以为程序做出来后毕业设计就完成了,使得毕业设计经常在更换运行环境或答辩时发生错误和问题,从而使得设计得不到好评甚至无法通过。 (五)毕业设计应用现状 最近几年,我校计算机相关专业毕业设计投入使用数量接近于零。究其原因主要是由于设计不完全,未进行测试和调试,存在的错误和缺陷较多,文档和数据不完整,导致所开发的系统或软件不能方便地转让、变更、修正、扩充和使用,也没有为后期培训、维护留下完备的资料;因此,不能投入到真正的使用过程中,也不能实现系统或软件产品的效益。 三、软件工程思想的应用 软件工程(SoftwareEngineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程中的软件生命周期是一个软件从软件定义、开发、运行和维护,直到最终被废弃的整个过程[2]。地方应用型普通高校计算机相关专业学生毕业设计基本都是开发一些中、小型应用系统或软件,因此,学生毕业设计也要经历软件生命周期各个阶段,严格遵守软件工程的各个原则,这样有助于解决毕业设计中存在的问题,提高毕业设计的质量。通过对应用型普通本科高校计算机相关专业的学生在进行毕业设计的过程中存在的问题进行分析,在毕业设计的过程中,必须运用软件工程的观点、技术和方法来指导毕业设计,这样既节约了毕业设计的时间和学生的精力,也能做出最优质的毕业设计。 1.选题过程中的应用。毕业设计选题就是软件生命周期的问题定义中的问题提出阶段,选好题目是进行深入研究的基础,也是写出高质量毕业论文的前提。地方应用型普通本科高校计算机相关专业的毕业设计选题必须做到以下几点:(1)必须在对选题做了充分调查、分析,对检索的参考文献、资料有了整体把握的基础上提出。(2)必须符合本专业培养方案规定的培养目标的要求。(3)以选择工程性较强的课题为主,确保有足够的工程性训练。(4)要有明确的设计成果,对于较大型任务的课题要明确阶段性成果。(5)要达到规定的工作量,难易度适中,确保能在规定的时间内完成整个课题工作。(6)要围绕生产生活实际,所选题目一定具有一定的理论意义和实践意义,具有一定的价值。(7)原则上一人一题,对于较大型任务的课题,每个学生必须有独立子课题。结合以上几点,分别从专业基础、现实意义等方面进行全面分析,进行取舍,最终得出选题。 2.开题过程中的应用。在毕业设计的开题过程中,需要明确所选题目的选题依据(包括选择课题的背景、选题研究的理论及实践意义)、选题研究现状(包括目前国内外对本选题的研究情况和有待解决的问题)、研究内容与方法,而这些就是软件工程中需求分析阶段应该做的事情。需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作[3]。因此开题过程中最重要的是进行需求分析,需求分析具有决策性、方向性、策略性的作用,在软件开发的过程中具有举足轻重的地位。需求分析完成的好坏直接影响后续软件开发的质量。开题过程中需要指导学生大量地阅读相关的研究资料,同时根据资料进行分析研究,对当前毕业设计的研究进度做到心中有数,明确毕业设计的具体方向,写出毕业设计的研究内容与方法,得到相应的设计提纲,解决好设计什么,如何设计的问题。因此,应用好软件工程的思想来指导毕业设计的开题是至关重要的。根据学校对学生毕业论文的要求,在计算机相关专业的毕业设计报告中,要求要有数据流图、数据字典等相应内容,而软件工程中的数据流图(DataFlowDia-gram,简称DFD),它是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。它是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理[3]。因此,在这个阶段,要指导学生按照DFD图的要求,确定设计的功能,然后根据系统分析结果写出分析报告,就得出毕业论文中系统分析阶段的初始文档。 3.在实践研究环节的应用。根据需求分析(开题阶段)的结果进行软件的概要设计和详细设计,注意在设计过程中要严格按照软件工程对于设计阶段的指导原则来进行设计。将概要设计阶段需求分析得到的DFD转换为软件结构和数据结构,即是根据需求确定软件和数据的总体框架,设计出软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。然后再进行详细设计,设计出每个模块的实现算法、所需的局部数据结构,并且对每个模块写出过程性描述;为每个模块设计出一组测试用例,在进行测试时就以此测试用例来进行测试。详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后将根据这个“蓝图”写出实际的程序代码。因此,指导教师要对学生的设计过程进行监督和指导,防止学生盲目的进行编码。 4.在实现阶段的应用。在编码的过程中,要注意编程风格的把握,编程的风格在很大程度上影响程序的可读性、可测试性和可维护性。在测试阶段,可以进行交叉测试,即学生之间可以两两交叉,相互测试,以更好的达到测试效果,同时也培养了学生的团队意识和合作意识。在测试过程中要注意运用软件工程的测试原则和测试思想,严格按照单元测试集成测试确认测试系统测试验收测试的测试步骤进行,利用白盒测试技术进行单元测试,黑盒测试技术进行其他测试,并且在找出错误并修改后要进行相应的回归测试,确认修改了错误并且没有引入新的错误,这样有利于找到软件中的各类错误,提高软件的质量。因此,在软件的测试过程中,一定要严格按照软件工程中的测试原则来进行,不可随意进行测试,并且要注意测试文档资料的收集整理,要有相应的测试计划和测试报告。对学生的创造性的思维和想法,指导教师要给予支持,积极引导,鼓励学生大胆创新,用应用型人才培养目标来要求学生,保证高质量的毕业设计的完成。 5.在毕业论文(设计)报告方面的应用。对于应用型普通本科高校计算机相关专业的毕业设计而言,不单单是完成了一个系统的设计,还要有相应的设计报告,而设计报告的编写过程中,很多学生存在文字表达能力不强的现象,为了完成报告,就有可能会抄袭,特别是在软件开发的各个阶段文档材料不全的情况下更为严重。因此,在学生进行软件开发的各个环节中,指导教师都应该按照软件工程的观点来进行指导,并要求学生在各个阶段都完成相应的文档。这样在毕业设计报告撰写的过程中,只要将各个阶段的文档进行合并、整理就得到相应的设计报告,并且是一篇重复率不高的高质量的设计报告。6.在毕业设计实际应用方面的应用。因为学生在整个系统或软件过程中均按软件设计规范准备了文档和进行了完整的系统测试,从而为系统或软件的专利申请提供了充分必要的资料,并为毕业设计的实际应用打下良好的基础。 四、结语 计算机相关专业学生的毕业设计在学生的整个大学生活中具有极其重要的地位和作用,根据应用型普通本科高校人才培养的定位,主要是培养学生的独立思考能力、动手能力和应用能力。通过对软件工程思想在计算机相关专业学生毕业设计的过程及方法中的应用研究,逐步实现学生毕业设计的实际成果转化,从而为应用型计算机相关专业人才培养提供相应的借鉴。 作者:龙亚 张仕学 余廷忠 单位:贵州工程应用技术学院 软件工程毕业设计论文:软件工程专业毕业设计论文 1概述 在应用型本科院校中,尤其是软件工程专业,毕业设计作为教学计划的重要组成部分,是实践教学中的最后一个环节,也是对学生在校期间所学知识的一次综合、全面的总结、应用和提高。由于毕业生数量的不断增加和软件行业的迅猛发展,导致就业门槛越来越高,就业压力也越来越大,通过毕业设计过程中的训练,能有效提高学生的工程应用能力,使学生得到一定的实践经验,有利于学生从学校向工作岗位的平稳过度。因此,毕业设计质量的好坏,不仅反映了一所高校的教学质量,也会直接影响到学生的就业竞争力和就业后的职场适应能力。 2存在的问题 1)思想认识上不够重视学生方面:有些学生存在完成任务式的应付心里,避重就轻,能简就简,敷衍了事。有些学生则只重视找工作而轻视毕业设计,不愿在毕业设计上花费太多时间和精力,甚至有些学生还以找工作为由,完全依赖于导师,向导师索要源代码,甚至花钱在网上购买来交差。已经找到工作的学生,更是认为毕业设计做的好与不好对自己没什么影响,对待毕业设计也更加心不在焉。导师方面:大多数指导教师除了要指导学生毕业设计之外,还要承担大量的教学和科研任务,在毕业设计指导工作上能够投入的精力和时间非常有限,致使有些导师对毕业设计的指导工作不太重视,对学生放任自流,不管不问,或者是直接将相关源代码发给学生,以“简化”指导工作。由于思想上的不重视,学生学习态度不认真,导师指导工作不到位,造成毕业设计流于形式,疏于管理,效果较差,使得学生白白浪费了毕业前的一次综合训练机会。因此,如何充分认识毕业设计的重要性,并进行相应的教学改革是软件工程专业毕业设计必须要面对并解决的问题。 2)时间安排上不够科学毕业设计一般安排在第八学期,这期间刚好是学生求职和考研的黄金时间段,由于目前就业形势的日益严峻,学生就业压力越来越大,当求职和考研时间与毕业设计时间发生冲突时,学生都会选择将主要精力投入到求职和考研上,有些还要去外地求职、应聘考试、面试等,毕业设计自然是无暇顾及。而且,学校方面,为了保证就业率,往往对学生毕业设计的质量也是睁一只眼闭一只眼,这又在无形中鼓励了学生消极对待毕业设计的态度,毕业设计质量下降也就成为必然结果。 3)题目设置上不够合理由于毕业设计在高校各类教学活动中是最具综合性和独立性的,相对于常规课程而言,对指导教师要求也就更高,尤其软件工程专业,工程实践性比较强,但每年真正来源于实际工程项目的题目所占的比例较小,很多题目都是虚构出来的,导致有些题目不是理论性太强,就是缺乏具体需求的支撑,使学生很难从毕业设计过程中真正领悟到真实的软件工程方法。而有些指导教师自己都没参与过实际的工程项目,本身就缺乏实践经验,对学生毕业设计的指导只是凭着自己的感觉来进行,缺乏系统性、整体性、科学性和严谨性,学生遇到问题后,难以得到及时的解决,导致抄袭现象时有发生,甚至有些学生直接照搬往届毕业生的设计成果。毕业设计的主要目的在于通过毕业设计的训练来提升学生对所学知识的综合应用能力以及创新能力,从而实现学生从学校到工作岗位的平稳过度。但由于题目设置上的不合理,题量太少,层次不清,导致选题匹配效果差。在选题时,部分能力差的学生所选题目难度太大,造成毕业设计很难完成,而有些能力强的学生所选题目难度过小,达不到能力提升的目的。 4)过程监管上不够到位众所周知,对于软件工程项目而言,过程控制与管理是项目执行的关注点,毕业设计也当如此。虽然学校也会在毕业设计过程中组织对各阶段的工作情况进行检查,但执行检查工作的不一定是专业教师,使得这种检查大多只是对指导老师所填写的各种表格和文档等表面内容进行检查,对毕业设计的过程起不到实际的监督作用,再加之有些学生在校外求职或实习等原因造成指导教师与学生无法定期见面和沟通不畅等问题,使得指导教师难以用软件工程方法对学生进行指导。毕业设计虽然启动较早,但实际上很多学生前期在毕业设计上很少投入时间和精力,只是在答辩前为了完成任务而赶工应付,这样的毕业设计质量自然也就不佳。 5)量化考核上不够严格毕业设计成绩一般由平时成绩+论文成绩+答辩成绩三部分按一定比例构成,平时成绩由指导教师自行把握,论文成绩则由其他有经验的教师进行评阅,答辩成绩由答辩委员会老师按照相关评分标准打分并取平均分,这样虽然基本可以保证成绩的公正性,但成绩构成太简单,未显示地将开题报告、文献翻译、分析和设计过程以及总结等纳入到考核范围,对毕业设计的前期和中期工作没有约束力。在成绩评定时,有些导师要求不严,采取宽容迁就的态度。答辩时,通过门槛较低,造成大部分学生仅以答辩及格为目标,在思想上不重视,答辩准备工作不扎实。同时,学校为了提高学生毕业率,在最终答辩时,对毕业设计的质量要求也有所放松,这也是导致毕业设计质量难以保证的一个重要原因。 3采取的对策 时间安排上,可以提前启动毕业设计工作,将原来的第八学期开始提前到第六学期中后期,此时学生已经学完大部分课程,具有了一定的知识基础,而且学生都在校,可以随时与导师见面,指导教师也有充分的时间对毕业设计项目随时跟进,随时指导。导师资格审查上,对于软件工程专业来说,学生毕业设计的导师,应该由长期从事实际工程实践或者有较好科研成果的“双师型”(双师即“教师”、“工程师”)教师来担任,也可以聘请校外科研单位或企业中水平较高的工程师来担任企业导师,这样不仅可以减轻指导教师短缺的压力,也能促进指导教师队伍多元化模式的形成。题目设置上,要求题量要充分,使得水平层次不同的学生都能选到合适的题目;难度和工作量要适中,且要有一定的创意,使学生通过毕业设计的训练,在综合应用能力和创新能力上都能够得到有效的提高。有课题的指导教师要尽量结合自己的课题来设计题目,没课题的指导教师可以从与学校有合作的企事业单位中获取有实际意义的题目。鼓励学生根据自己的兴趣点和就业取向自拟题目,允许学生到实习企业中根据企业的实际工程需要选题和实施毕业设计,这样既能解决实际问题又可完成毕业设计。过程监管上,首先要在指导教师和学生之间建立有效的沟通联系机制和问题讨论的例会制度,充分发挥指导教师的引导作用,在毕业设计过程中,坚持每周师生沟通一次。学生提出问题,指导教师引导和总结,鼓励学生发挥主观能动性和创造力。同时,学校要成立由领导牵头、具有一定工程实践经验的专业技术人员组成的督导组,对毕业设计过程包括选题、开题、中期检查、答辩和成绩评定等各个环节实施有效的监控和督导,加强管理学生的同时也要加强对指导教师工作质量的检查,确保毕业设计工作能够有序、有效的实施。量化考核上,要对毕业设计从前期的开题、文献查阅,到中期的分析、设计、实现,再到后期的总结等各个阶段的进行量化考核,前一阶段的成绩考核不合格者,不能进行下一阶段工作,必须加以整改,直到整改合格后才能进入下一阶段。对于未能按要求如期完成毕业设计的可以推迟答辩,对于首次答辩不合格的可以进行二次答辩,仍不合格的,可以缓发毕业证。只有建立严格的考核制度,才能对学生有约束力,让学生从思想上重视毕业设计,进而保证毕业设计的质量。 4结束语 软件工程是一个实践性很强的专业,软件工程专业的毕业设计作为大学四年学习的总结,是学生从学校跨入社会前仅有的一次大检验,它不仅检验了学生对所学知识的综合应用能力和学生的综合素质,同时也检验了学校的培养模式和教学质量。毕业设计质量的好坏,不仅关系到软件工程专业的培养目标,也关系到学生的就业率与就业质量。因此,在就业形势日趋严峻的情况下,软件工程专业毕业设计的教学改革也要适应就业市场需求,紧跟行业发展变化,与时俱进。 作者:张华 单位:南阳理工学院 软件工程毕业设计论文:软件工程毕业设计改革实践 一、软件工程专业毕业设计存在的主要问题 (一)毕业设计题目设置与选题方面 题目设置不合理,类别与层次不清晰,选题匹配效果差[2]。学生的毕业设计课题一般都按照指导老师的研究方向和实际工程项目提供,但每年真正来源于工程实践题目比例较少。部分题目理论性强,学生根据所学知识不能很好理解;部分题目开发工具复杂,占用了毕业设计的大部分时间。在选题时可能导致学生想选的题目选不上,能力差的学生所选题目难度大,影响学生的积极性,导致选题效果差,造成毕业设计很难完成。 (二)毕业设计过程监控方面 毕业设计监控工作实施困难,效果较差。软件工程专业毕业设计一般包含选题、开题、中期检查、程序测试、撰写毕业论文、答辩、成绩评定。但对这些环节的监控有时候会形成空白带,毕业设计不在实验室进行,有的学生在实习单位实习,有的学生在外地找工作,老师不能定时与学生见面,老师无法了解学生的具体情况,且学生提交的各阶段文档流于形式,只有指导教师在进行监控,未形成完善的监控体系,导致监控不到位,监控效果较差[3]。 (三)毕业设计论文答辩方面 答辩考核方法单一,答辩仅由学生的讲解和老师的提问两个环节组成,考核准确度低。答辩通过门槛较低,答辩只对学生的毕业设计进行排名,一般排名在最后的学生才可能不及格,不利于提高学生毕业设计积极性,造成大部分同学仅以答辩及格为目标,思想上不重视,答辩准备工作不扎实。再由于软件工程专业特点,毕业设计软件作品评分标准难于量化,考核具有一定难度,也造成答辩效果不好。同时为了提高学生毕业率和就业率,毕业答辩的质量控制有所放松,直接导致了软件工程专业毕业设计质量难以保障。 二、软件工程专业毕业设计的教学改革 针对上述各项实际问题,主要进行的相关工作具体如下: (一)合理设置毕业设计题目,动态选题 依照软件工程专业的以市场需求为导向,培养应用型软件工程人才的培养目标,在毕业设计题目设置环节,紧紧围绕工程实际型、创新项目型、竞赛题目型、科研项目型等类型进行题目设置,以适应市场动态需求。同时着力避免在毕业设计题目中设置虚拟型题目、理论研究型题目、综述型题目、分析设计型题目等。在选题过程中,通过毕业设计管理系统(如图1所示)进行多轮双向动态选择,动态调整题目各项技术参数以保证学生能选择一个适合自己能力且能有利于自己以后工作的题目[4]。这样,在选题之后,每个指导老师就可以根据学生不同能力进行分别指导,使不同能力的学生都能够运用其所学知识解决工程实际问题,都能够通过毕业设计增强工程实践能力、工程设计能力与创新能力。近四学年软件工程专业毕业设计各类题目汇总。 (二)毕业设计过程实行三级监控管理机制 学校成立以主管副校长为组长的毕业设计工作领导小组以加强毕业设计宏观调控,学院成立以教学副院长为组长的毕业设计工作领导小组以加强毕业设计协调与监控工作,软件工程专业成立以专业负责人为组长的毕业设计工作小组落实并实施毕业设计各环节具体工作[2]。具体参见下图2。在实现毕业设计过程管理的三级管理机制的同时,为保障毕业设计工作质量,软件工程专业要求所有指导教师必须具有中级以上技术职称或硕士以上学位且有一定工程实践经验,具有较高教学、科研水平和创新能力,师德良好,工作态度认真负责。在每年的毕业设计指导工作开始前都对指导教师进行资格审查,择优任用,且每位教师指导的学生不超过6人,以保证指导教师对学生的充分指导[5]。 (三)毕业设计过程量化考核 以往软件工程专业毕业设计成绩通常由三部分组成:一是学生的平时表现由指导老师把握;二是学生的毕业论文成绩。由专业其他指导老师进行评阅;三是现场答辩成绩。由所在组的指导教师按照相关评分标准打分并取平均分。这样基本能够保证毕业设计成绩的公正,但是由于只有毕业答辩环节具有约束力即答辩未通过则总成绩不及格,其他环节不具约束力,因此造成毕业设计前期、中期工作流于形式,前期、中期阶段提交的文档趋于应付、质量不高,最终导致毕业论文质量较低[6,7]。为此,软件工程专业经过几年的探索与实践,实施了毕业设计各阶段的软件工程生命周期量化考核法即各个阶段量化考核,且考核成绩不合格者不能进行下阶段毕业设计工作,必须加以整改,整改通过后才能进入下一阶段毕业设计工作。经过几年的实践证明该考核方法切实可行,能够保证毕业设计各个环节的质量,最终提高毕业设计总体质量。 (四)在毕业设计过程中进一步提高学生工程能力与创新能力 辽宁工业大学于2011年制定并实施了大学生创新团队机制,建立了大学生创新项目申报机制引导大学生开展创新活动;引导学生每年都参加校级、省级、国家级软件设计大赛等各类各级比赛[8]。随着学校和学院创新教育活动多年持续深入开展,软件工程专业学生的创新与创业活动取得了显著成果。超过1/4的软件工程专业学生能够独立主持创新性项目,并以该项目为原型申报毕业设计题目[9],同时参加省级、国家级计算机竞赛并获得奖项。通过主持校级及省级创新项目既毕业设计题目,学生工程能力、创新能力得到极大锻炼与提高,本专业毕业生就业率与就业质量明显提高。软件工程专业学生主持参加创新项目既毕业设计题目情况见表3。 三、结束语 软件工程专业毕业设计是一个极具综合性、实践性的重要环节,是对学生大学四年学习后面向社会与企业前的有且仅有的一次大检验,它不仅检验了学生所学知识、能力与综合素质,还检验了软件工程专业的培养目标、培养模式、课程体系、实践体系、创新体系等相关环节[10]。经过几年的探索与实践证明,软件工程专业所做的系列教学改革工作中的毕业设计教学改革工作有利于进一步增强学生的工程实践能力和创新能力,有利于提高软件工程专业毕业设计质量,有利于提高软件工程专业学生就业率与就业质量。虽然软件工程专业毕业设计教学改革工作取得了一定的成绩,社会认可度逐年稳步提高,但如何动态调整教学计划以跟进市场需求变化;如何深入开展大学生创新创业教育活动以进一步增强更多软件工程专业学生的实践能力及创新能力;如何进一步加强专业教师工程实践能力、工程设计能力与工程创新能力以提高毕业设计指导效力;如何提高毕业设计过程管理效率等问题仍然是软件工程专业所面临的严肃课题[11]。因此,软件工程专业的毕业设计教学改革工作也一定会紧跟时代变化,与时俱进。 作者:佟玉军谢文阁王恩喜刘鸿沈姜悦岭工作单位:辽宁工业大学电子与信息工程学院 软件工程毕业设计论文:软件工程思想在应用型高校毕业设计中的应用研究 摘要:针对地方应用型本科高校计算机软件类毕业设计质量不高的问题,对毕业设计中存在的问题进行分析,并结合软件工程的基础理论,提出利用软件工程思想对计算机软件类毕业设计进行指导,以提高地方应用型普通本科高校毕业设计的质量。 关键词:软件工程;毕业设计;应用 一、引言 毕业设计是本科毕业生在校期间的最后实践和综合实训阶段,是实现本科教育培养目标的重要组成部分,是深化、拓展、综合应用所学理论知识的重要过程;也是综合素质与工程实践能力培养效果的全面检验;是学生毕业及学位资格认定的重要依据;是衡量高等教育质量和办学效益的重要评价,是对专业理论知识和专业技术综合应用能力的强化训练和提升[1]。在毕业设计的过程中,学生利用所学专业理论知识,通过了解社会,分析社会需求,深入实践,完成毕业设计的任务和撰写毕业论文(设计)报告等各个环节的工作。对于地方应用型普通本科高校而言,毕业设计就相当于一般高等学校的毕业论文,但是毕业设计不同于毕业论文,它的组成部分不只是一篇学术论文。应用型高校的毕业设计注重的是“应用性”和“实践性”,学生毕业设计要求学生针对某一课题,综合运用本专业有关课程的理论和技术,自己动手动脑做出解决实际问题的设计。目的是总结、检查学生在校期间的学习成果,是评定毕业成绩的重要依据。同时,通过毕业设计,可培养学生开发项目的基本综合能力,为学生就业能力中的专业能力奠定坚实的基础;培养综合运用已有知识独立解决问题的能力,从而加强学生应用能力的培养,使学生能够学以致用。 二、地方应用型普通高校计算机相关专业学生毕业设计的现状 近几年来,由于学校对毕业设计要求不断提高,学生从选题到设计再到写出毕业设计报告的过程中总存在这样那样的问题,最终有个别同学没有顺利通过毕业设计,没有拿到毕业证和学位证的情况时有发生,并且大多数毕业设计的水平不高,达不到培养学生独立解决问题和提高学生应用能力的目的。因此,如何指导学生做好毕业设计,提高学生毕业设计水平和质量,是地方应用型普通高校面临的一个重要问题。 (一)毕业设计选题现状 最近几年,我校计算机相关专业毕业生自进入大四秋季学期开始,在进行毕业实习的同时,也进入了毕业设计准备阶段:毕业设计选题,虽然毕业设计选题过程中,各级领导、指导教师和学生在态度是都很重视,但是在选题时也会存在很多的问题,主要有以下三个方面。 1.选题不够准确。部分学生选题未经深思熟虑,所选毕业设计题目要实现的功能太多,在规定时间内不能独立完成,而最终只能实现部分功能,或部分模块。 2.题目相似或重复雷同。学生选题存在浑水摸鱼的思想,在毕业设计选题过程中不是根据自己的兴趣爱好、专业知识学习情况等确定研究选题,而是选择与他人类似或雷同的选题,甚至同一批毕业的许多学生选题一致。比如:“XX管理系统”等,除了可能冠以的系统名称不同之外,其余基本相同。 3.应用价值低。部分学生的选题是当前十分成熟的项目,没有研究的必要;有些选题已经被淘汰,在实际生活和工作中没有多大用途。 (二)毕业设计需求分析阶段现状 通过调查,许多学生选题完成后,没有对自己所做毕业设计选题进行仔细了解、分析,他们认为在毕业设计中最重要的就是编程,其他方面一带而过[2],从而造成毕业设计过程中主题经常进行修改,最终使得整个系统杂乱无章,无法继续进行下去。因此学生在毕业设计的需求分析阶段主要有以下三个方面的问题。 1.选题后未进行实际调查研究,甚至未查找相应的参考文献。 2.需求分析进行得不彻底、不准确,即使选题后查找了参考文献和资料的,也未做充分了解和分析。 3.在需求分析阶段没有写出需求规格说明书或系统分析报告就匆忙进入系统设计阶段,导致随着系统设计的逐步深入,原来确定的需求不能满足毕业设计的需要,正在进行的设计与开始的期望和设想又不相符。 (三)毕业设计系统设计阶段现状 在系统设计阶段,普遍存在以下两个方面问题。 1.由于需求的不明确,在进行系统设计时,修改随意,没有严格按照软件开发的步骤进行。好多学生在进行系统设计时并没有建出相应的功能模型,不管是用例图还是DFD图都没有,而且系统设计过程中功能随意变换,并且各功能模块的层次结构不清晰,使得整个系统的功能模块划分凌乱,不符合软件设计中“高内聚,低耦合”的原则。 2.在软件设计过程中,不先进行概要设计、详细设计和模块设计,没有软件的过程性描述,直接进行编码,存在想到哪里就做到哪里,走到哪儿算哪儿的随意思想[3],当前内容没有做完便开始其他内容,使得整个系统设计杂乱无章。在这样的一种研究状态下,即使完成了设计,效率也非常低下,软件结构混乱,功能实现不完全,降低了软件设计的质量。 (四)毕业设计实现阶段现状 通常把编码和测试统称为实现。在进行软件设计后,就可以根据设计结果来实现,将软件的过程性描述编码,得到计算机可以运行的源代码。在实现阶段主要有以下几方面的问题。 1.编码随意。学生在编码的过程中,不注意编程风格的把握,导致程序的可读性、可理解性、可修改性等较差,在答辨的过程中,要求指出某个功能模块的代码时,经常要花费很多时间才找得到。 2.测试和调试可有可无。大部分学生在毕业设计的软件编码完成以后,从没有想过进行完整的系统测试,或者只对个别功能进行测试或是随意测试,没有按照测试步骤逐步进行;基本没有单元测试和集成测试,一般只是最终随便输入几个数据简单检测一下,如果有错,修改了就算完了;也没有进行回归测试,没有测试计划,没有想过用什么测试技术来检测某一类型的错识,没有相应的测试用例,也没有测试结果分析。由于学生毕业设计都是一人一题,基本上是一个人完成所有步骤,就算有测试,在测试阶段也是自己进行测试,从心理学的角度来说,自己对自己开发的软件进行测试是不可取的。 由于前面阶段的文档不完善,也不重视测试过程,不清楚是否实现了系统最初设计的功能,是否达到相应的性能要求,总以为程序做出来后毕业设计就完成了,使得毕业设计经常在更换运行环境或答辩时发生错误和问题,从而使得设计得不到好评甚至无法通过。 (五)毕业设计应用现状 最近几年,我校计算机相关专业毕业设计投入使用数量接近于零。究其原因主要是由于设计不完全,未进行测试和调试,存在的错误和缺陷较多,文档和数据不完整,导致所开发的系统或软件不能方便地转让、变更、修正、扩充和使用,也没有为后期培训、维护留下完备的资料;因此,不能投入到真正的使用过程中,也不能实现系统或软件产品的效益。 三、软件工程思想的应用 软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程中的软件生命周期是一个软件从软件定义、开发、运行和维护,直到最终被废弃的整个过程[2]。地方应用型普通高校计算机相关专业学生毕业设计基本都是开发一些中、小型应用系统或软件,因此,学生毕业设计也要经历软件生命周期各个阶段,严格遵守软件工程的各个原则,这样有助于解决毕业设计中存在的问题,提高毕业设计的质量。通过对应用型普通本科高校计算机相关专业的学生在进行毕业设计的过程中存在的问题进行分析,在毕业设计的过程中,必须运用软件工程的观点、技术和方法来指导毕业设计,这样既节约了毕业设计的时间和学生的精力,也能做出最优质的毕业设计。 1.选题过程中的应用。毕业设计选题就是软件生命周期的问题定义中的问题提出阶段,选好题目是进行深入研究的基础,也是写出高质量毕业论文的前提。地方应用型普通本科高校计算机相关专业的毕业设计选题必须做到以下几点:(1)必须在对选题做了充分调查、分析,对检索的参考文献、资料有了整体把握的基础上提出。(2)必须符合本专业培养方案规定的培养目标的要求。(3)以选择工程性较强的课题为主,确保有足够的工程性训练。(4)要有明确的设计成果,对于较大型任务的课题要明确阶段性成果。(5)要达到规定的工作量,难易度适中,确保能在规定的时间内完成整个课题工作。(6)要围绕生产生活实际,所选题目一定具有一定的理论意义和实践意义,具有一定的价值。(7)原则上一人一题,对于较大型任务的课题,每个学生必须有独立子课题。结合以上几点,分别从专业基础、现实意义等方面进行全面分析,进行取舍,最终得出选题。 2.开题过程中的应用。在毕业设计的开题过程中,需要明确所选题目的选题依据(包括选择课题的背景、选题研究的理论及实践意义)、选题研究现状(包括目前国内外对本选题的研究情况和有待解决的问题)、研究内容与方法,而这些就是软件工程中需求分析阶段应该做的事情。 需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作[3]。因此开题过程中最重要的是进行需求分析,需求分析具有决策性、方向性、策略性的作用,在软件开发的过程中具有举足轻重的地位。需求分析完成的好坏直接影响后续软件开发的质量。开题过程中需要指导学生大量地阅读相关的研究资料,同时根据资料进行分析研究,对当前毕业设计的研究进度做到心中有数,明确毕业设计的具体方向,写出毕业设计的研究内容与方法,得到相应的设计提纲,解决好设计什么,如何设计的问题。因此,应用好软件工程的思想来指导毕业设计的开题是至关重要的。根据学校对学生毕业论文的要求,在计算机相关专业的毕业设计报告中,要求要有数据流图、数据字典等相应内容,而软件工程中的数据流图(Data Flow Diagram,简称DFD),它是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。它是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理[3]。因此,在这个阶段,要指导学生按照DFD图的要求,确定设计的功能,然后根据系统分析结果写出分析报告,就得出毕业论文中系统分析阶段的初始文档。 3.在实践研究环节的应用。根据需求分析(开题阶段)的结果进行软件的概要设计和详细设计,注意在设计过程中要严格按照软件工程对于设计阶段的指导原则来进行设计。将概要设计阶段需求分析得到的DFD转换为软件结构和数据结构,即是根据需求确定软件和数据的总体框架,设计出软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。然后再进行详细设计,设计出每个模块的实现算法、所需的局部数据结构,并且对每个模块写出过程性描述;为每个模块设计出一组测试用例,在进行测试时就以此测试用例来进行测试。详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后将根据这个“蓝图”写出实际的程序代码。因此,指导教师要对学生的设计过程进行监督和指导,防止学生盲目的进行编码。 4.在实现阶段的应用。在编码的过程中,要注意编程风格的把握,编程的风格在很大程度上影响程序的可读性、可测试性和可维护性。 在测试阶段,可以进行交叉测试,即学生之间可以两两交叉,相互测试,以更好的达到测试效果,同时也培养了学生的团队意识和合作意识。 在测试过程中要注意运用软件工程的测试原则和测试思想,严格按照单元测试集成测试确认测试系统测试验收测试的测试步骤进行,利用白盒测试技术进行单元测试,黑盒测试技术进行其他测试,并且在找出错误并修改后要进行相应的回归测试,确认修改了错误并且没有引入新的错误,这样有利于找到软件中的各类错误,提高软件的质量。因此,在软件的测试过程中,一定要严格按照软件工程中的测试原则来进行,不可随意进行测试,并且要注意测试文档资料的收集整理,要有相应的测试计划和测试报告。对学生的创造性的思维和想法,指导教师要给予支持,积极引导,鼓励学生大胆创新,用应用型人才培养目标来要求学生,保证高质量的毕业设计的完成。 5.在毕业论文(设计)报告方面的应用。对于应用型普通本科高校计算机相关专业的毕业设计而言,不单单是完成了一个系统的设计,还要有相应的设计报告,而设计报告的编写过程中,很多学生存在文字表达能力不强的现象,为了完成报告,就有可能会抄袭,特别是在软件开发的各个阶段文档材料不全的情况下更为严重。因此,在学生进行软件开发的各个环节中,指导教师都应该按照软件工程的观点来进行指导,并要求学生在各个阶段都完成相应的文档。这样在毕业设计报告撰写的过程中,只要将各个阶段的文档进行合并、整理就得到相应的设计报告,并且是一篇重复率不高的高质量的设计报告。 6.在毕业设计实际应用方面的应用。因为学生在整个系统或软件过程中均按软件设计规范准备了文档和进行了完整的系统测试,从而为系统或软件的专利申请提供了充分必要的资料,并为毕业设计的实际应用打下良好的基础。 四、结语 计算机相关专业学生的毕业设计在学生的整个大学生活中具有极其重要的地位和作用,根据应用型普通本科高校人才培养的定位,主要是培养学生的独立思考能力、动手能力和应用能力。通过对软件工程思想在计算机相关专业学生毕业设计的过程及方法中的应用研究,逐步实现学生毕业设计的实际成果转化,从而为应用型计算机相关专业人才培养提供相应的借鉴。 软件工程毕业设计论文:《软件工程》思想在毕业设计(论文)中的应用 【摘要】主要分析了毕业设计(论文)的现状,介绍了软件生命周期的各个阶段与毕业设计(论文)各阶段的对应关系、软件生命周期各阶段应完成的任务以及在毕业设计(论文)中应注意的问题。 【关键词】软件工程 毕业设计(论文) 实践教学 一、引言 毕业设计(论文)(以下简称毕业设计)是计算机及相关专业教学计划中的一个重要环节,是培养学生对所学基本理论及基本操作技能综合运用的训练过程,是提高学生分析和解决问题能力的重要实践环节,是实现理论与实践相结合的重要途径,是对教育教学质量的全面检查。目前,计算机及相关专业的毕业设计质量正在逐年下降:学生急于找工作或考研,毕业设计得不到应有的重视;需求分析不到位,设计成果不符合实际需求;软件开发流程混乱;缺乏文档写作训练,等等。 针对上述问题,笔者认为,除了应当从管理角度严格进行过程监控外,还应当使学生通过《软件工程》课程的学习,提高毕业设计的质量。 二、软件生命周期与毕业设计过程的对应关系 软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件的生命周期。软件生命周期可以划分成若干个时期与阶段,它与毕业设计各个环节的对应关系如图1所示。 三、软件生存周期各阶段应完成的任务 1.可行性研究与计划阶段、需求分析阶段 可行性研究与计划阶段主要完成问题的定义、可行性论证以及初步计划的制定;需求分析阶段主要完成需求调查,进行功能、性能与环境约束分析;编制软件需求规格说明、制定软件系统的确认测试准则和用户手册概要。这两个阶段对应于毕业设计的课题论证、选题、调研、查资料,通过对设计题目的深刻理解,完成开题报告的撰写工作。 2.概要设计阶段和详细设计阶段 概要设计阶段主要完成软件系统总体结构的建立、定义功能模块的接口、设计全局数据库和数据结构、规定设计约束、编制概要设计文档等工作;详细设计阶段主要完成模块详细设计及编制模块的详细规格说明工作。包括模块的详细功能、算法、数据结构和模块间的接口信息等设计,拟定模块测试方案;把模块详细设计的结果汇总,形成模块详细规格说明书。这两个阶段对应于毕业设计的系统设计阶段。 3.实现阶段与组装测试阶段 实现阶段主要完成编码及单元测试工作。根据模块详细规格说明书,将详细设计转化为程序代码、对模块程序进行测试,验证模块功能及接口与详细设计文档的一致性,并形成单元测试报告;组装测试阶段主要完成模块程序组装与测试及组装测试报告的编写。 4.确认测试阶段 该阶段主要完成软件系统测试、确认测试文档编制及软件评审工作。根据软件需求规格说明定义的全部功能和性能要求及软件确认测试准则对软件系统进行总测试;向用户提供以确认测试报告为主的有关文档,包括系统操作手册、源程序清单和项目开发总结报告等;由专家、用户、软件开发人员组成的软件评审小组对软件确认报告、测试结果和软件进行评审,并将得到确认的软件产品交付用户使用。这个阶段主要对应于毕业设计(论文)中的论文评审、结题验收及毕业设计的答辨准备阶段。 5.软件运行与维护阶段 主要进入软件的使用阶段,并完成软件的维护工作。它主要对应于毕业设计中的答辩阶段。 四、毕业设计应注意的几个问题 1.摘要 摘要是对文章主要内容的摘录,要求精、短、完整。以几十字至三百字左右为宜。摘要应具有独立性和自明性,从摘要中即应获得必要的信息;摘要中只能使用第三人称;要客观如实地反应原文的内容,要着重反映论文的最新内容和作者特别强调的观点;要求结构严谨、语义确切、表述简明,一般不分段落、不进行自我评价。 2.关键词 关键词主要用于论文检索,它是从论文的题名、摘要和正文中选出的,是对表述论文的中心内容有实质意义的词汇,关键词一般以3~5个为宜。 3.结论 结论写作的内容应主要考虑本文研究结果是什么?研究结果说明了什么?对前人有关的看法作了哪些修正、补充、发展、证实或否定?本文研究的不足之处或遗留未予解决的问题以及对解决这些问题的可能的关键点和方向等。结论应该准确、完整、明确、精练。 4.需求分析 在毕业设计中,学生往往不能对所做题目进行充分的调研,需求不明确,随意想象的成分较多。特别是在数据表的建立上,大部分同学随意设置字段的类型,而字段长度基本上采用默认置。而在实际项目开发中,数据项的设置应主要注意以用户的需求和满足系统要求为准,而不应设计冗余的字段;数据的类型要依据实际需求,当某些字段可以是选择某几种类型之一,应考虑哪一种更有利于本系统或哪种更易于用户操作和维护。 5.详细设计 许多同学把详细设计阶段的任务理解为代码实现,因此,在概要设计之后就着手进行代码的编写而忽略了算法的表达及测试用例的编写环节,由此造成的结果是随意编程,大量的时间浪费在程序的修改和调试上。 6.软件测试 测试做得不够全面,大部分同学只选择了有效的测试用例,而没有进行无效的测试用例的设计,因此所做的软件BUG较多。 7.团队合作 在毕业设计中,应有意识地锻炼学生们的团队协作精神,因此,在布置毕业设计题目时,应尽量选择规模大一点的题目,然后由4~5名同学共同协作,每人完成一个子题目。这样,可以使学生们分析问题和解决问题的能力、沟通和表达能力得到充分锻炼,为今后的工作奠定基础。 软件工程毕业设计论文:软件工程专业本科毕业设计过程管理 摘要:分析软件工程专业本科毕业设计管理中存在的主要问题,针对软件企业对软件工程专业的人才培养要求,提出软件工程专业本科毕业设计过程管理措施,强调通过建立和完善毕业设计的管理制度,加强毕业设计过程的监控;构建完善的毕业设计管理平台,提高本科毕业设计管理水平;改革毕业论文形式,建立毕业设计过程管理评价体系,提高学生工程实践能力。 关键词:软件工程;本科毕业设计;过程管理 软件学院软件工程专业的设立是国家教育部、国家发展计划委员会为满足国家软件产业发展对人才的迫切需求于2001年批准成立的。重庆大学软件学院是国家首批示范性软件学院之一,其人才培养目标是培养“面向应用、遵循标准、适应团队、把握技术、熟知领域、外语优良”的软件工程人才。10年来,软件学院十分重视软件工程专业的工程化教学改革,采取多项政策和措施促进工程型软件实用人才的培养。本科毕业设计是实现高等学校人才培养目标的重要教学环节,是培养学生创新意识和创新能力的重要手段,是理论学习与社会实践相结合的重要体现。因此,对软件工程专业本科毕业设计进行改革,培养具有工程实践能力的软件实用人才具有重要意义。 1 软件企业对软件工程专业培养人才的要求 软件产业的迅速发展对该行业从业人员提出更高要求,不仅要求学生掌握理论知识,还要求学生具备较强的工程实践能力与创新能力。国内计算机相关专业的教学基本上仍使用传统的理工科人才培养模式,注重基础理论知识,缺少对学生工程能力和职业素质的训练,因此培养既有扎实的专业基础知识和较强工程实践能力,又能迅速适应业界环境的高素质创新型软件人才,是软件企业对软件工程专业人才培养的要求。 2 目前本科毕业设计管理中存在的问题 1)毕业设计阶段缺乏全过程的管理与监控。 毕业设计全过程的管理与监控不够规范,缺乏专门的组织机构。毕业设计的一些主要环节疏于检查和监督,因此存在影响毕业设计质量的问题,如选题陈旧、重复率高、与软件产业发展需求不适合等。 教师指导水平有限且精力投入不足,同时没有对教师指导工作的有效绩效考核,使得教师对学生的毕业设计不够重视;某些学生由于有就业压力,便将主要精力放在人才市场和各类招聘会上,没有意识到毕业设计的重要性,最后只能通过拼凑和抄袭完成毕业设计。 2)毕业设计阶段缺乏规范化的指导性文件。 毕业设计工作持续时间长,涉及所有毕业生和教师,如果没有规范化的指导性文件能够让指导教师和学生了解毕业设计工作的意义、目标、计划、流程、论文规范化格式、质量评价标准、成绩考核等具体实施细则,明确自己在该项工作中扮演的角色以及整个毕业设计流程对自身承担工作的质量要求,那么很难提高毕业设计质量。 3)毕业设计文档资料缺乏有效管理。 毕业设计成果是学校的重要知识和信息资源,完善的文档资料管理有助于毕业设计工作的传承和创新。长久以来,毕业设计作品和论文主要采用人工管理。学生答辩后提交资料袋,资料袋中包括毕业设计相关文档和设计作品的刻录光盘,但由于管理人员对毕业设计资料的重视程度不够或人员不够,导致毕业设计资料管理不善,出现查询困难、答辩记录丢失等情况,为以后查阅、成果展示及下届毕业生的论文指导工作带来不便。 3 本科毕业设计管理改革措施 1)成立毕业设计管理小组。 为了加强本科毕业设计工作的组织、管理和监督,软件学院专门成立毕业设计管理小组,小组成员由教学副院长、正副系主任及学生助管组成,负责整个毕业设计过程的管理监督工作,包括从选题、审题、任务书下达到开题、中期检查、答辩、成绩评定、推优的全过程。 2)建立和完善毕业设计的管理制度。 为了提高毕业设计质量,毕业设计管理小组根据软件工程专业特点建立学院的具体工作规范和有效的毕业设计管理模式和监控制度,加强毕业设计制度建设,使得从选题、下达任务书到学生的开题报告,从每周汇报、中期检查到设计文档撰写、论文撰写、论文重复率监测、论文评阅及论文答辩,都有切实可行的实施细则及管理规章制度;构建集中管理与跟踪管理、周报提交、外出请假、抄袭检测、讲座出勤等平时成绩评定标准;完善从平时表现、系统设计实现质量、论文或设计文档质量、答辩水平等多方面衡量的客观、公正的综合成绩评定标准和推优程序。在毕业设计全过程管理中,力求做到有章可循及有据可查。 3)多元化的毕业论文形式。 多元化的毕业论文形式有利于培养大学生创新实践能力。根据软件工程专业特点,软件学院对毕业论文形式进行改革。毕业设计形式包括传统方式和新方式,学生可以选择其中一种方式,具体采用哪种方式则由指导老师负责。 传统方式是指毕业生完成开题报告并翻译一篇相关课题的英文文献,然后对软件系统进行需求分析、设计和编码实现,或者对相应算法进行研究、分析和编码实现,最后完成毕业设计论文。 为了面向软件企业需求,培养学生的软件设计能力,新方式注重提高学生的系统设计文档编写能力。毕业生前期仍然要完成开题报告、英文文献、系统分析设计和编码,最后提交系统设计相关文档。系统设计相关文档由以下文档构成:①项目开发计划;②软件需求说明;③系统设计说明;④数据库设计说明;⑤用户手册;⑥测试分析报告;⑦项目开发总结。根据软件工程学科特点及专业人才培养的要求,结合学校的毕业设计(论文)管理办法和软件设计文档国家标准,软件学院制定了符合专业人才培养目标的设计文档规范。 为提高学生科技论文写作水平和研究报告的演讲能力,软件学院面向软件工程专业所有应届毕业生,在其毕业设计阶段开设8学时的“科技论文写作规范”“研究报告演讲技巧”讲座,强调科技论文写作的规范性和可读性,锻炼学生演讲研究报告的能力。 4)加强毕业设计过程管理和监控。 毕业设计过程管理和监控面向的对象是学生和教师。软件学院毕业学生做毕业设计有不同情况,如有在校外软件公司做毕业设计的,更多的是在校内做毕业设计,因此需要有相应的不同管理模式。为加强学生培养质量和降低指导教师管理难度,软件学院提供集中管理与跟踪管理方式。 集中管理是指学院设置固定机房和机位并安排助教作为管理人员,由指导教师给学生安排机房,由管理人员负责学生的日常考勤,学生需及时向指导老师汇报学习情况,学生若有事必须请假。跟踪管理主要针对在校外进行毕业设计的学生,要求这类学生完成校外毕业设计申请,由管理小组协助指导教师对校外学生进行跟踪,为这些学生提供及时的毕业设计信息服务。这类学生必须每周与学校指导教师联系,以便教师详细了解并掌握学生毕业设计进度。这种具体的制度和规范,对在校内进行毕业设计和赴外进行毕业设计的学生进行了有效监控。 针对指导教师的管理,毕业设计管理小组采用不定期检查和周报提交的方式。毕业设计规范要求每位指导教师每周指导时间不少于2小时,指导教师需要检查学生毕业设计的进度和质量;解答学生提出的问题,进行下一阶段工作部署与指导,保证毕业设计的质量。 不定期检查指毕业设计管理小组根据指导教师在毕业设计系统中登记的指导时间和地点,不定期对教师的指导情况进行检查。周报提交是指学院建立的毕业设计定期报告制度,教师和学生每周均需要将周报提交到系统上,教师主要汇报每周对学生指导情况以及学生毕业设计进度和质量,学生主要汇报每周的毕业设计进度、毕业设计遇到的问题等。毕业设计管理小组每周对周报进行汇总分析并,及时了解毕业设计情况,对学生和教师提出的问题进行统一解答。 5)构建完善的毕业设计管理平台。 充分利用计算机技术,构建完善的毕业设计管理平台,提高毕业设计管理水平,使毕业设计管理更加规范化。软件学院在毕业设计过程中使用的管理系统包括:重庆大学本科毕业设计系统、重庆大学网络教学综合系统、重庆大学软件学院软件工程实践教学平台。 重庆大学本科毕业设计系统用来上传和管理毕业设计相关文档。系统涵盖毕业设计工作的全过程,实现选题提交、课题双向选择、毕业设计相关文档(包括开题报告、外文翻译和毕业论文)的提交与管理、文档模板的上传和下载、毕业答辩的自动分组、指导教师和交叉教师评分、答辩记录和成绩的上传、成绩册的打印、毕业成绩的统计分析等功能。 重庆大学网络教学综合系统。用于毕业设计的过程管理,主要进行信息、周报收集、校外学生实习申请、过程检查情况公告、问卷调查、学生成果提交和查询等。 重庆大学软件学院软件工程实践教学平台是软件人才培养创新平台,提供实践教学成果展示、实践案例资源库与实践教学管理功能。利用该平台可以举办毕业设计优秀作品展,展示软件学院学生的专业学习水平,激发学生的实践热情,对下一届学生起到示范作用。平台实践案例资源库可为学生提供实践学习参考资源,为教师提供实践教学案例素材。 6)建立毕业设计过程管理评价体系。 建立毕业设计过程管理评价体系,要求所有 一学生和指导老师每周都要将周报提交到EOL(重庆大学网络教学综合平台)平台。毕业设计管理小组每周对毕业设计情况进行检查和监督,并将检查情况告知所有指导老师。指导老师每周提交周报次数与毕业设计指导工作量挂钩;学生考勤情况、周报提交情况、平时检查情况会被记入平时成绩,平时成绩不合格将被取消答辩资格。 软件学院强调学生在毕业设计期间一定要进行软件系统设计和实现,毕业答辩包括系统演示、用PPT讲解毕业设计主要工作、答辩教师提问等多环节,答辩老师根据学生工作量、完成质量、论文或设计文档质量、答辩情况进行评分。学生毕业设计的最终成绩由平时成绩、指导教师成绩、交叉评阅成绩和答辩成绩构成,以保证评分的公平性。 7)加强诚信机制建设 为了提高本科毕业设计质量,加强学术道德和学风建设,营造学术诚信氛围,软件学院使用“大学生论文抄袭检测系统”对本科毕业论文进行防抄袭检测。抽检比例为应届毕业论文的50%,抽检名单由毕业论文管理系统随机抽取。另外,各答辩小组推荐的优秀毕业论文为必检对象。 软件学院制定论文抄袭的认定标准(建议文字复制比不超过25%)和处理办法,对有问题的论文,责成指导教师对检测结果予以认定和说明或督促学生修改,取消被认定抄袭论文学生的答辩资格;对各答辩小组推荐的优秀毕业论文进行,不合格的论文取消优秀。 4 结语 培养适应我国软件产业发展的软件工程人才,提高软件工程本科毕业设计质量,毕业设计的改革势在必行。通过2届学生的毕业设计改革证明,建立和完善毕业设计的管理制度,加强毕业设计过程的监控,充分利用毕业设计管理平台,实现多元化的毕业论文形式,建立合理的毕业设计过程管理评价体系,加强诚信机制建设,能极大地促进师生在毕业设计过程中投入热情和精力,提高本科毕业设计管理水平,有效保证毕业设计质量。 软件工程毕业设计论文:软件工程学在毕业设计中应用研究 摘要:毕业设计是一个十分重要的教学环节,是一个系统工程,应使用工程化的方法、步骤统筹安排以取得良好的效果。软件工程学是指导计算机应用专业软件类学生进行毕业设计的重要工具之一。将毕业生设计过程、文档书写与软件工程学紧密结合起来是提高学生毕业设计论文质量的一个重要途径。结合软件工程的基本知识,通过对软件类学生毕业设计过程存在的常见问题的研究,提出了应用软件工程学去指导学生毕业设计的方法。 关键词:软件工程;毕业设计 0引言 毕业设计是高等院校应届类毕业生在毕业前接受课题型任务,在教师指导下进行科学研究或工程实践并取得成果的过程,是高校实现人才培养目标的综合性实践教学环节,是一次理论与实践相结合的的锻炼机会。如何在新形势下改革毕业设计, 提高学生软件类毕业设计的质量,进一步规范毕业设计中的软件开发过程,抓好高校毕业设计这一实践环节,加强对毕业设计过程的管理与监控, 切实提高毕业设计的质量,对于软件类学生在毕业设计中实施合适的软件设计具有重的指导意义。 1毕业设计的必要性 高等职业教育应该是以能力为本位、以学生为主体、以实践为导向的教育。毕业设计是高等教育培养学生综合运用所学理论知识和技能解决实际问题能力的重要环节之一,是衡量毕业生是否达到相应学历层次的重要依据。毕业设计将总结专业基础和专业技术的学习成果,锻炼和开发学生的综合运用能力。 高职院校软件相关专业组织毕业设计应该符合新的人才培养标准,对培养学生的职业技能和素质要具有积极的意义。而对于即将毕业离校的应届毕业生来说,毕业设计无疑是计算机软件各相关专业理论教学、实验、实训等有机结合的途径之一。 通过毕业设计能锻炼学生的能力: (1)实践软件工程的相关原理能力。毕业设计的过程,是一个课题小组从接到开发任务到提交产品和文档的过程,其中涉及到需求分析、概要设计、详细设计、编码、测试、程序打包、编写文档等软件工程具体的各个方面。经过锻炼,学生们对软件工程学思想和方法的理解会大大加深。 (2)解决具体问题能力。在毕业设计的进行过程中,学生一定会遇到平时在课堂的理论学习中碰不到的困难和挑战, 而克服这些困难、解决实际问题的过程就是软件技术和心理素质逐步提高的过程。 (3)团结协作的意识、能力。通过毕业设计这一过程,学生就会产生团结协作的意识和能力。 2软件工程学的基本思想 软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法去进行软件的开发和维护的学科,包括两方面内容:软件开发技术和软件项目管理。其中,软件开发技术包括软件开发方法学、软件工具和软件工程环境,软件项目管理包括软件度量、项目估算、进度控制、人员组织、配置管理、项目计划。 3高职类学生毕业设计现状 毕业设计的主要目的是培养学生综合运用所学的基础理论、基本知识和基本技能,用以分析、解决工程、科研、社会实际问题的能力,使学生得到工程设计方法和科研能力的初步训练。毕业设计中存在的问题主要表现在以下几个方面。 3.1选题的盲目性 只是把毕业设计环节作为大学生活的必经环节, 纯粹是为了完成学业而去做毕业设计, 造成选题的盲目性、有的选题则是陈旧。 3.2可行性分析与需求分析重视程度不够 绝大多数毕业生在确定了毕业设计的题目后,几乎不进行调查研究工作就立即投入到整个系统的设计中, 一旦遇到了与实际不符的地方, 又重新返回, 对已经做好的设计进行修改。最终导致设计的系统杂乱无章, 甚至到了最后只能马马虎虎地仓促交工。 3.3系统开发过程中的文档不够正规,不够完备 完整的设计不仅包括所完成的可操作的系统,一般的操作帮助,还包括在开发系统的过程中所产生的各个文档等一些文字的东西,比如解释清晰、内容全面的数据字典和使用手册也是必不可少的,否则用户会感到使用起来不方便,觉得难于操作。 3.4模糊的评价标准 导致毕业设计质量下降的一个非常重要的原因就是没有建立精确细致的评价体系。 这严重影响了项目的进度和质量,并且使学生没有真正得到必要的锻炼。我们通过对这些问题进行详细深入的分析,提出一个软件过程框架,这个框架主要从需求、测试、集成这3个方面给出工作要点和规范。 4利用软件工程学思想指导学生进行毕业设计 毕业设计本身是个工程,要用工程的方法去处理。从软件工程的角度去指导学生进行毕业设计,在毕业设计过程中,要系统地将所学知识应用于实际问题,按软件工程学思想展开工作。 图1软件生命周期与毕业设计各阶段之间的映射 4.1以可行性研究指导选题目 可行性研究,应该从技术可行性、经济可行性、操作可行性三个方面去研究,在毕业设计题目的选择过程中,应立足于解决实际问题,注重发现问题、分析研究问题和开发创新的能力。选题原则上,可以参考以下几点:①毕业设计的课题应该能使计算机专业所学的理论知识进一步理解并深化,也就是说,毕业设计应尽可能包括多门专业基础课和专业课的综合运用,并且要紧密结合工程实际,以有利于学生的全面训练;②选择难度适中的课题, 保证课题的完成质量;③课题要适合于各个模块独立进行,并便于最后统一调试;④课题规模应大小适合,难易程度适中。 4.2需求分析是关键 需求分析的基本任务是准确地回答“系统必须做什么”, 也就是对目标系统提出完整、准确、清晰、具体的要求。系统分析员可以通过多种形式来获取用户需求,对用户提出的需求进行分析,以此来确定其中要实现系统的功能。对需求划分优先等级,找出核心需求和重要需求,以保证系统构建的正确性。 在进行软件类毕业设计时,为了保证需求获取的准确性和全面性,可以让项目组的所有学生都参与到用户需求的获取的工作中来,发挥集体的能力,并由指导教师进行最终的确认。 4.3规范设计过程 需求分析完成后的下一个阶段就是系统设计,包括概要设计和详细设计。 详细设计阶段的任务就是深入每个函数内部,以伪代码或注释的形式实现整个函数,设计出程序的详细规格说明。 从系统设计开始,学生要按照软件工程的要求,画出DFD图,对输入、输出数据流进行详细的说明,建立符合软件工程规范的数据字典,根据DFD 图设计出模块结构图。 4.4重视文档写作 在毕业设计的过程中,要严格遵照软件文档的思想,记载设计过程的每一阶段完成了哪些设计,下一阶段的任务、目标及技术手段,这样,把文档作为整个设计的指挥棒,使设计有条不紊地进行。 4.5重视测试工作、撰写毕业设计说明书 软件测试工作也是软件开发的重要组成部分。通过实际应用效果和测试数据,毕业设计的成效就可一目了然。 毕业设计说明书的撰写是最后一个阶段,要求学生回顾设计过程,总结劳动成果,这时学生就会对软件开发及必须经历的几个步骤都有更深刻的认识。最后,要求学生对毕业设计进行系统的总结,写出毕业论文。 5加强对学生综合能力的培养 通过实践的练习,不仅能加深对理论的理解,同时也能锻炼运用知识分析问题、解决问题的能力。毕业设计这一实践环节是高等学校培养学生实际能力的主要手段,也是高等教育的重要组成部分。充分、有效地设置软、硬件的毕业设计对学生能力的培养至关重要,可以缩短学校教育与社会流行技术、工具的差距,满足学生毕业后的工作需要。通过毕业设计必须达到培养学生以下方面能力的目的。 5.1工程实践能力 学生能够准确把握选题的逻辑重心和学术思路,能够运用丰富的专业知识进行处理,具有严谨的理论思辨过程,以锻炼毕业生的工程实践能力,使毕业论文具有一定的应用和学术探讨价值。 5.2书写和表达能力 毕业设计论文是毕业设计工作的总结和提高,和做科研开发工作一样,要有严谨求实的科学态度。在毕业设计期间,尽可能多地阅读文献资料是很重要的,毕业设计大多数是技术开发型的,其论文的主体部分应包括:总体设计、模块划分、算法描述、编程模型、数据结构、实现技术、实例测试及性能分析。这些内容根据任务所处的阶段不同,可以有所侧重。 5.3创新能力 提出创新要求后,带领学生认真复习或补学过去没学过、没有学好的课程,并在此基础上结合实际工作中出现的问题孕育出一些新的思路,将毕业设计推上一个新台阶的方式,与为每个人专门分配某一特定的作业来锻炼学生基本技能的方式相比,更能扩展学生的视野,培养创新能力。 5.4协作能力和团队精神 通过集体活动和成员沟通培养成员的团体情感,增强团队的凝聚力。毕业设计将一个学生从入学初到毕业前的软件专业课程的学习内容链接成线,实现了课程的真正衔接,也使学生在毕业前对软件方面所学的知识进行了比较完整的概括与总结,达到了良好的理论联系实际的教学效果。毕业设计弥补了课堂教学的不足,加深了对理论的理解,促使学生深入思考,敢于创新,同时使学生的动手能力、分析和解决问题的能力、书写和表达能力、协作能力等各项能力都得到了培养和提高。 6结束语 软件工程作为软件开发工程化、规范化的具体实施方法,在将其应用到毕业设计中之后,学生在软件设计的文档书写规范化等方面均有了很大的改善与提高。将软件工程应用于毕业设计中不仅仅完成了一门课程从理论到实践的过程,而且将一个学生从入学到毕业前软件专业课程的学习内容链接成线,完成了前导后续课程的真正衔接,也使学生在毕业前对软件方面所学的知识进行了比较完整的概括与总结,因此,软件工程学在计算机专业学生毕业设计中的应用具有重要的现实意义。
软件工程专业论文:互联网+背景下地方院校软件工程专业教学 摘要:“互联网+”概念与教育融合,给教学和课程改革带来了新的机遇和挑战。本文以地方本科院校软件工程专业为例,进行了教学改革方面的探讨。分别进行了课堂教学现状分析,教学改革可行性分析,并提出了教学模式创新方案和教学改革建议。 关键词:教学模式;课堂教学;翻转课堂 信息化技术的发展,打破了传统教学模式的束缚,促进教育教学的急剧变革。“互联网+”概念与教育融合,给地方本科院校软件工程专业的教学和课程改革带来了新的机遇和挑战。因此,进行更加深入的教学改革研究,建立多样化的适应不同高校和专业实际情况的教学模式,有利于促进教学质量的提升,提高地方本科院校学生的市场竞争力。 一、课堂教学现状分析 1.学生自主学习能力有待提高。尽管我们不赞同依据成绩片面评价学生的能力,然而,大学阶段和高中阶段教学模式存在一定的相似性,因此,高中阶段的成绩,对学生学习能力的评价依然具有一定的参考性。笔者所在学校是一所地方性本科院校,在全国高校统一高考招生录取时属于本科第二批次录取的院校。受现行招生考试政策约束,相对于重点大学的学生,学生的学习能力存在一定差距。这就需要教师在教学过程中加以考虑,以提升教学效果。2.学生课堂学习积极性不高。当前阶段的大学生,出生并成长在互联网时代,习惯于通过计算机或智能手机等途径获取海量的网络资源,因此接触新事物的机会较多。这一方面扩展了学生的知识面,增强了学生对新事物的接收能力。然而另一面也影响了其学习方式和学习态度。对于系统化、规范化的课堂教学,容易产生一定的排斥心理,课堂环节学习的积极性下降。功利化心态较为严重,对理论性和基础性较强的专业课程,存在一定程度的抵触心理。更倾向于操作性强的实践性课程。3.传统教材难以充分调动学生学习积极性。目前本科院校基础性专业性的课程教材,通常采用国内知名大学和知名出版社的教材。这类教材较为成熟,具有较好的市场认知度。然而这类教材的作者来自于知名大学教授,因此编写教材是并没有考虑地方本科院校学生的特点。通常由于理论性较强、难度较大等因素,难以激发地方院校学生的兴趣。部分实践类教材,以小型的实验性项目为基础进行展开,组织结构较为合理。然而,由于纸质教材主要有静态文字和效果截图组成,并不能足够直观的还原真实项目场景,一定程度上,降低了学生对此类教材的依赖性。4.传统课堂教学模式教学节奏较难控制。传统课堂教学中,通常教师为主导,在规定地点和规定时间内教授规定的内容,学生被动的参与课堂教学。学生的学习能力存在一定的差异,对新知识的接收能力和理解程度并不完全一致。因此,统一的教学方式,存在一部分同学‘消化不了’,另一部分又‘吃不饱’的两难局面。教师较难掌控教学节奏。而前述两类学生的积极性也容易受到打击,难以全面调动学生的学习积极性。5.教学资源现状分析。受制于地方经济发展程度等诸多因素影响,政府在地方性本科院校的投入相对较少。现有地方性本科院校的教学设备较为落后,以简单的多媒体教室为主,硬件资源闲置情况较为明显。多媒体软件资源较为贫乏。教师对多媒体资源的理解能力和操作水平参差不齐,资源利用率不高。互联网技术的发展提供了多渠道的资源获取途径,然而受计算机操作水平限制,互联网资源挖掘技巧不足,使用的频率较低。 二、互联网+背景下教学改革的可行性 1.学生为互联网+的到来做了充分的准备。90年代末期时,大大小小的网吧已经遍布全国各地。2009年初,随着中国电信业改革重组的完成和3G牌照的正式发放,中国全面进入移动互联网时代。现有的普通本科院校的学生大多出生在1995~2005之间,其出生和成长经历正赶上互联网和移动互联网普及的大好时光。因此这一代人对互联网+时代的到来,已经做了充足的思想上和信息技能上的准备。2.人才队伍壮大,为教学改革的提供了新鲜血液。人才队伍建设是教育事业发展的第一要务,是提高高校核心竞争力的重要推动力量。地方本科院校正处于改革和发展的关键时期,深入贯彻科学发展观,必须加强人才队伍建设,全面提升人才队伍的整体素质。我校发展至今,已经取得了一定的成绩。随着各类人才支撑计划的出台,人才队伍不断壮大。高学历教师数量显著增多,这些都为教学改革的开展注入了新鲜的血液。3.政策支持力度加大,有利于保障教学改革的顺利进行。教育部2014年工作要点明确提出,要引导一批本科院校向应用技术类高校转型。2015年10月,教育部联合发改委和财政部出台文件,引导地方普通高校向应用型本科院校转变。2015年11月,国务院出台“双一流建设”方案,鼓励和支持不同类型的大学差别化发展。这些密集出台的各类政策,充分体现了政府在高校改革问题上的决心和力度,这必将为教学改革的顺利发展注入强大的动力。 三、互联网+教育的创新教学模式 1.MOOC。MOOC(MassiveOpenOnlineCourse,中译:慕课),最早于2008年提出,特指加拿大的马尼托巴大学(theUniversityofManitoba)所提供的开放式在线课程资源。随着类似平台资源的涌现,MOOC及其思想被各类媒体广泛讨论,最终被发展成一个专用的教育术语。MOOC将对学习感兴趣的人(或”学生”)和寻求辅助教学平台工具的专家吸引到同一个平台上来。MOOC平台通常不对参与者设置参与门槛。参与者本着完全自愿的原则加入到平台中来,并根据各自的爱好进行选择性活动。MOOC的空间跨度大,通常跨越多种不同的平台和技术。通过社交网络和免费的在线学习资源来提供强有力的平台黏性。这也是其区分与传统在线学习的重要特征之一。2.翻转课堂。翻转课堂(FC,flippedclassroom)是近年来流行的一种教学模式。在翻转课堂教学环境下,学生拥有了学习主动权。教师的身份,从传统的单向知识传授者,转换为学习过程的组织者和引导者。学生在进入面对面的教学课堂之前,可以提前接触到与新课题相关的学习材料(如,视频教程、在线资源等)。课题教学环节内,学生通过协作学习、分组讨论等形式,来获取对材料相关知识的更深入的理解。通过将传统的被动学习转变为学生的主动知识获取过程,可以有效发挥学生的主观能动性,激发学生的学习兴趣和学习积极性。随着技术的进步和以学生为中心教学方法的流行,翻转课堂已经成为一种重构教学模式的新范式。3.微课。微课是近年来引起广泛重视的一种新的教学组织方式,尤其在成人教育和培训领域中广为使用。微课中的微是指微小、短小、轻量等含义。微课通过教学内容进行知识点拆分成,分解成较小的学习单元,并重点关注这种相对较短时间内的学习活动的优化和安排。微课中的“微”,既指待学习内容的少,也指学习时间的小。由于较小的内容模块能够较容易的被获取、存储、处理。学生能够通过一种放松的态度参与学习过程中来,较易实现一种轻松愉悦的学习体验。微课的针对性强、灵活性大、信息含量丰富,可以作为传统课堂教学手段的一个有利补充。 四、结语 在“互联网+教育”的背景下进行教学改革,需要根据地方本科院校学生自身的特点,以及软件工程专业课程的特征进行展开。要加大教育教学资源的投入力度。加强教师队伍的培养和建设,增强教师的课题教学创新意识,全面提高教师的信息化技术的水平。借力互联网技术,整合各类资源,创新方法和手段,实现弯道超车。 作者:张平 单位:湖南科技学院电子与信息工程学院 软件工程专业论文:谈软件工程专业实践教学构建 摘要:文章在分析现有软件工程人才培养实践教学现状的基础上,深入研究软件工程人才培养规律,围绕实验、实训、实习三种不同实践教学类型以及导入、展示、训练、评价、强化、反馈、应用、监管八个实践教学环节,较为深入地讨论“三类型八环节”软件工程教学体系的内涵,论述校企合作实践教学基地及开放式的师资队伍的形成过程,建立量化可控的过程化实践教学保障机制,将软件工程过程管理方法引入实践教学管理,运用自主研发的软件工程实践教学管理平台,为实现教学过程和质量评价的实践教学全生命周期管理提供支撑。 关键词:软件工程;人才培养;实践教学体系;教学质量保障 一、引言 目前,针对我国信息化发展进入互联网时代的要求,高等院校培养软件工程人才的模式也不断地进行改进和调整,特别是在工程实践能力上的加强,已经成为衡量软件工程人才培养的一个重要指标。培养出工程实践能力强、职业素养高、具有国际竞争力的软件工程人才,是软件学院人才培养中需要解决的主要问题。在软件人才培养过程中,加强工程实践教学环节,提高解决实际问题的能力是软件学院培养人才的主要目标。软件学院在工程实践教学改革等方面进行不断地探索和调整,以便满足社会发展对软件工程人才的需求,并在实践教学中取得一定的成效。但仍存在一些问题,如:实践教学体系与软件产业需求、专业培养目标不协调,对实践教学过程内涵理解不够,软件工程实践教学质量保障机制不健全等,表现为实践教学缺乏理论指导,模式各异,产学脱节,教学过程管理不规范,学生创新创业能力欠缺,发展后劲不足等现象。为了更好地适应软件产业的不断发展,为我国培养出更多高水平的软件工程人才,建立新型的软件工程人才培养模式和工程实践教学体系是我们所面临的新挑战。重庆大学软件学院自从成立以来,在办学模式、管理体制、教学目标、培养方法、考核体系、质量保证体系等方面进行了一系列的研究和改革,取得了许多有益的尝试和经验教训[1]。本文结合重庆大学实际情况,深入研究软件工程人才培养的规律,提出了基于“三类型八环节”的软件工程实践教学体系。 二、“三类型八环节”的软件工程实践教学体系内涵 针对新时期实用型软件工程人才培养需求与软件工程实践教学中存在的问题,通过深入研究实践教学内涵,重构软件工程实践教学环节,建立量化可控的过程化实践教学质量保障机制,探索与国内外名校名企深度互动融合模式,我们构建了“三类型八环节”的软件工程实践教学体系(见图1)。同时对学生工程实践能力的培养实施以“课程实验、课程设计、程序设计实训、项目开发实训、系统管理和开发实训以及企业实习”为主的软件工程实践教学体系,并贯穿融合“教授讲座、科研训练、素质拓展、专业竞赛、创新实验与创业计划”等课外实践教学形式。“三类型”是“实验、实训、实习”,三者相互联系、渐进性地进行,从而保证了软件工程人才培养对实践教学要求[2]。实验是为满足理论课程教学要求,根据课程的不同在实验室完成不同任务。它是软件工程人才培养的一个重要的、不可缺少的实践环节;实验是在实验室培养学生对科学原理或者工程原理的发现和验证,即培养学生实际操作能力,论证新原理,开发新技术;实验是对理论教学的进一步补充。实训是模拟实际工作环境,采取来自企业真实工程项目的实际案例,由具有丰富经验的教师或项目经理小组化指导,培养学生在有限时间内,完成软件工程专业的技能、经验、方法、团队合作等方面的训练。软件工程专业实训分为3个过程,第一过程由软件学院有经验的教师指导,以小型软件项目为训练题目,项目小组一般由2~3人组成,主要训练学生软件编程技巧,使学生软件编程能力得到提高。第二过程由经验丰富的学院教师或企业导师指导,以中型软件项目为训练题目,项目小组一般由4~6人组成,主要训练学生系统开发能力,包括:项目计划、需求分析、软件设计和软件测试等,并能够应用常用的软件设计和软件测试工具。第三过程由企业导师指导,以具有一定规模的软件系统为训练题目,项目小组一般由6~10人组成,主要训练学生对大型项目的开发和管理能力,训练学生对软件生命周期各个环节的认识,以规范的过程和标准来有效地开发和管理软件系统。实习就是在实践中学习。软件工程专业实习是让学生去现代的软件工程生产企业开阔眼界,认识现代软件生产过程,在已有的基础上创新改变,把现代的一些理论知识融合到现代软件工程企业里面。根据“实验、实训、实习”三种类型的实践教学要求,采用导入、展示、训练、评价、强化、反馈、应用、监管八个环节,渐进完成软件工程实践教学。教师通过具体的项目导入要解决的问题,根据项目的要求,有目的、有计划地展示开发方法和过程。以一定的形式训练学生完成相关工作,并通过系统地分析,对学生的各种活动、过程和结果进行评价,从而强化学生对软件过程各个环节的认识,并不断完善自我,达到主动学习的目的,把已经学过的理论知识在实训实习中更好地加以展示[3]。总之,根据“实验、实训、实习”三种实践教学的具体内涵,实现对软件工程人才不同阶段的能力培养:实验侧重培养专业技能;实训侧重培养工程实践、团队协作与沟通、创新等能力;实习进一步加强工程能力、社会适应以及产业融入能力。通过“三类型八环节”的软件工程实践教学过程,使学生全面了解和掌握软件系统开发的全过程,能够熟练应用规范的软件工程标准和CASE工具开发软件项目,从而使其软件编程能力、系统开发能力和项目管理能力得到进一步提高,进而适应现代软件企业对软件工程人才的要求。 三、校企合作实践教学基地及开放式的师资队伍 根据“三类型八环节”的软件工程实践教学的目标,要有效地实施“实验、实训、实习”三种类型教学过程,必须有符合要求的实践教学基地及良好的师资队伍。(一)建立校内外的实践教学基地,为软件工程实践教学体系的顺利实施打下良好基础在软件工程人才的培养过程中,不但要有合理的培养方案和课程体系,良好的教学团队和师资队伍等,而且还需要提供培养学生的基础设施,包括理论课程实验需要的各种仪器设备和环境等。对于培养高素质软件工程人才,实践教学基地的建设尤为重要。软件学院非常重视实验室和实践教学基地的建设,制定了实践教学基地建设的具体方案,并逐步实施和完善。除了更新和改建现有的实验室和实验设备,还不断扩展校内外的实训实习基地建设。在校外实践基地的建设方面,与国内外一些著名IT企业建立了广泛联系,如IBM、Mi-crosoft、SUN、HP、NTDATA等公司,一方面共同创建软件工程人才培养实践教学基地;另一方面与企业广泛接触,优先为学生提供良好的校外实习、实训机会。学院也与国内的IT企业进行了合作,如:深圳软酷网络科技有限公司,在学院建立了学生实训、实习基地,并已经应用于软件工程的人才培养过程,经过几年合作运行,达到了软件工程人才在实践教学方面的培养要求。此外,学院还开拓了新的合作领域,特别是重庆市的IT企业(如:重大高科技股份有限公司信息产业分公司、金蝶重庆分公司、重庆宏声新思维集团等)广泛合作,建立校外实践教学基地。由于有良好的校内外合作企业和实践教学基地,在人才实践教学培养方面得到了保障。并在观念上破除传统的由学校包办实习,注重形式而不完全注重效果的现状,提倡企业和学生双向选择。学院非常重视用高科技园区孵化器的形式建立由学院控制的、市场化运作的校外学生实践基地,吸引国内外IT企业,在企业研发软件产品的同时,使学生有真正参与软件产品研发的机会。(二)构建专兼职相结合的开放式师资队伍通过遴选本院具有工程实践经验、教学效果好的教师,聘请合作企业具有较高理论与实践水平的高级工程师担任兼职教师和企业导师,为软件工程人才培养构建起一支高素质的开放式教师队伍,并参与实践教学的指导工作。在“三类型八环节”的实践教学过程中,开放式的师资队伍保障了实践教学的顺利实施和效果,实验由经验丰富的学院教师指导;实训指导由本学院教师或企业导师担任;企业实习指导采用双导师制,由本学院教师和企业导师共同指导,企业导师为学生提供实习环境和实习项目,完成主要指导工作,本学院教师负责实习监管与过程审定工作。 四、成立质量保障机制工作小组,监督实践教学的实施过程 为了加强“三类型八环节”的软件工程实践教学体系的实施,软件学院成立了由教学指导委员会、教学督导、学业导师、企业专家等组成的实践教学质量保障组织机构。教学指导委员定期听课,对青年教师的授课进行试听和特别指导,改进教学质量。教学督导随机抽查教学进度、教案、教学日志、作业布置及批改情况,召开学生座谈会等,全面考察任课教师工作态度、教学能力与水平。学院为学生安排了学业导师,每一位学业导师指导5~8名学生,指导学生的专业学习,鼓励学生参与科研立项、创新训练、学科竞赛等科技活动,提升学生的科研素养,为学生的专业学习做充分的引导和监管。企业专家熟悉软件企业的系统研发过程,加强企业专家的教学参与力度,更好地完成监督实践教学的实施过程和质量. 五、构建软件工程实践教学质量保障机制 软件工程实践教学质量保障机制主要包括组织机构、师资队伍、管理制度和考核评价四个方面。组织机构主要规定教学指导委员会、教学督导、学业导师、企业专家等组成机制和工作机制。师资队伍主要明确本学院教师、企业兼职教师和导师要求机制。管理制度给出教学督导制度、实训过程管理制度、实习基地筛选制度以及实习管理制度等。考核评价包括工具的使用与使用技能评价、过程管理与制度评价、工程设计与实现评价、团队协作与沟通评价等。软件工程实践教学质量保障机制依托于软件工程实践教学管理平台,该管理平台实现了实践教学中知识管理、项目开发的代码管理、错误跟踪管理、项目进度管理和软件测试管理等功能。为实现教学过程和质量评价的实践教学全生命周期管理提供了支撑。 六、结论 重庆大学软件学院是首批教育部批准的国家示范性软件学院之一,自成立以来就积极探索软件人才培养的新模式,不断改进软件人才培养方案和课程体系。按照示范性软件学院人才培养目标,在软件工程专业课程体系总体规划下,制定了基于“三类型八环节”的软件工程实践教学体系,通过“实验、实训、实习”三类型,循序渐进地实现了软件工程人才不同阶段的实践能力培养,通过“导入、展示、训练、评价、强化、反馈、应用、监管”八个环节,保证了软件工程人才的工程实践和专业技能训练,有效地培养了学生团队协作精神和创新创业能力,提高了学生的适应能力和竞争能力,使其在毕业后能更快地适应企业的工作要求。为了保证软件工程实践教学各个环节顺利实施,制定了软件工程实践教学质量保障机制,并研发了软件工程实践教学管理平台,有效确保了“三类型八环节”的软件工程实践教学过程的实施和质量。总之,基于“三类型八环节”的软件工程实践教学体系能够提高软件工程人才的实践能力和综合素质,保证软件工程人才培养质量,具有一定的适用价值和推广意义,可为同类专业的人才培养和教学改革提供借鉴与参考。 作者:张毅 文俊浩 熊庆宇 柳玲 吴映波 单位:重庆大学软件学院 软件工程专业论文: 面向航空领域的软件工程专业人才培养 摘要:基于国内外软件工程人才培养机制的主要不足之处,提出以面向航空领域的软件工程专业人才培养模式,主要以能力培养为核心、以应用和创新为主线,培养遵从软件工程专业人才成长规律和满足经济社会发展需要凸显航空特色的应用型人才。实践证明,面向航空领域的软件工程专业人才培养模式弥补了航空领域软件工程培养模式的不足为培养面向航空领域的应用型软件人才做出了贡献。 关键词:航空领域;软件工程;培养模式 近几年来,软件产业作为信息化建设的核心得以迅速发展,航空工业正是以信息技术为代表的高新技术改造的重点,所以迫切需求面向航空领域的软件工程专业应用人才。现在,国内各工科高等院校基本都开设了软件工程专业,软件工程专业毕业生数目也变得庞大起来。但是,符合社会需要的软件人才不仅数量不足,而且结构失衡[1-2]。高校培养的软件人才与软件企业的实际需求存在明显差距,根本原因在于软件工程人才培养模式不能适应软件市场发展所致。各个高校都在探索应用型软件工程人才培养与实际需求差距的解决办法,有些高校从软件工程课程建设方面来研究[3-4];有些高校从校企合作方面对实践教学体系进行改革[5];还有的从适应国际化软件工程需求方面研究[6]。实践表明,应用型本科院校的软件工程人才培养模式大多数都是追随计算机科学与技术专业培养模式的指挥棒[7],我国高校对面向航空领域的人才培养研究还处于探索阶段,符合航空领域的软件工程人才少之又少,还没有形成一套行之有效、适应软件工程专业领域和凸显航空特色的应用型人才需求的培养体系。因此,如何改革应用型软件工程专业人才培养模式,改新课程教学体系,培养出合格的、适应我国软件产业需要的凸显航空特色的软件工程人才迫在眉睫,改革具有航空特色的应用型软件工程人才培养模式对催促进信息化产业发展具有重要现实意义。 1培养目标与培养模式 充分分析沈阳航空航天大学软件工程专业培养目标,发现存在定位模糊、培养模式单一、专业课程内容缺乏规划、专业特色不突出的现状。遵从《GJB438B-2009军用软件开发文档通用要求》《GJB2786A-2009军用软件开发通用要求》相关标准和创办“依托国防航空、融入地方工业”的特色专业的办学理念。需要构建遵从软件工程专业人才成长规律满足经济社会发展需求的、凸显航空特色的、工程实践应用能力和创新意识并重的应用型人才培养目标。沈阳航空航天大学是航空类所属一般理工科本科院校,根据该校特点建立合理的培养模式。应多方合力加强学生实践动手能力和综合应用能力,探索学分置换与联合培养的培养模式。扩充学生视野,使培养的学生适应软件工程专业领域和凸显航空特色的应用型人才。尝试“基础+专业方向+集中实训”“1.5+2+0.5”的人才培养模式。开始1.5年完成基础课学习,然后2年完成专业和专业方向课程的学习与实践,后0.5学年采取学分置换的方式进入格微软件等实训,实际参与软件工程相关的系统分析、设计、开发、测试和运营管理。 2专业课程体系 构建以工程实践能力、团队合作能力和人际交流能力培养为核心,设计具有专业特色的专业核心课程,依托软件工程专业项目团队模式下实景教学平台建设研究成果,重点研究适合应用型、工程型和凸显航空特色的人才培养的课程体系。该校软件工程专业课程体系建设采用了两种路径:一是参考其他院校软件工程专业的课程体系设置,二是结合行业需求调研、技术交流、专家咨询,以及该校人才培养经验和教学工作积累等方式对已有体系进行不断修订与完善。在教学过程中凸显航空特色,全面引入《GJB438B-2009军用软件开发文档通用要》和《GJB2786A-200军用软件开发通用要求》两个军用软件开发通用标准,严格规范学生在学习过程中各相关文档的书写规范以及加强在软件开发过程中各相关环节的管理,使学生了解并掌握军用软件的整体流程,从而使学生具备航空航天领域方面企业的就业优势。软件工程学科与计算机科学、管理科学、数学、项目管理、质量管理和系统工程等学科相关。这说明该专业需要开设一些相关学科的基础课程,以提高学生对相关专业基础知识的了解,但是要确定软件工程与相关学科之间的知识公共边界,要对相关课程进行内容裁剪。同时,在提供必要的软件工程专业理论知识基础上,为满足学生兴趣、拓宽学生知识面,了解更多的与软件工程专业相关的应用领域,增加院级选修的方向模块课程和跨专业的个性课程。除此之外,组织学生参观航空企业、军工企业和IT企业等,了解专业技术在企业的应用,提高学生的专业学习兴趣,减少学习的盲目性。 3实践教学模式改革 3.1实践教学体系改革 依托课程体系与实践教学体系的有机无缝融合,建立“凸显航空特色的应用和创新能力培养为牵引”的实践教学体系。增加不同环节(四层递进的实践教学体系)不同类型(综合性、设计性、创新性和开放性实验)实验比例,满足不同层次学生实践能力培养需求。充分利用软件工程实验室、数据管理系统(USDM)和校企联合(格微软件)等平台、让学生参与教师科研项目、鼓励学生参加各种大学生大赛、竞赛和创新项目,并在整个过程中,教师进行全程指导、掌控进度和监控实践教学质量。具体实践教学体系见表2。 3.2依托数据管理系统(USDM)建设信息化实景教学平台 USDM是常州伍杰公司开发的一个分布式应用的软件系统,它支持软件开发过程的动态管理。依托USDM平台,建设信息化实景教学平台。对学生实行项目团队式管理,即模拟真实项目团队组织方式。在项目开发过程中对学生强调两个军用软件开发通用标准、将软件工程的知识由浅入深、阶梯状、循序渐进地贯穿到项目各个阶段开发中。负责教师在该平台上实现学生角色划分,各个阶段项目团队划分,指定各个团队项目经理,并给予项目经理较高权限。项目经理根据组员个人能力和今后发展方向对他们进行角色分配,如设计人员、测试人员等。使每个学生都能参与其中,每个人至少担任一项以上角色。学生凭借电脑,互联网、自己的学号,随时随地登陆USDM进行项目开发。项目经理监控整个项目开发过程,从总体上把握项目的总进程和项目完成质量。教师在实践过程中与项目经理沟通并实施指导,学生根据实验要求设计算法,进行数据测试及测试结果分析。将项目实践的项目管理、业务阶段、需求、设计、编程、测试、阶段和建模工具的各种图(动态图、静态图和数据库概念模型)全部形成文档的形式通过该平台并提交。提高学生在项目规划、队伍组织、工作分配、成员交流等多方面能力;培养学生团体合作精神,培养学生团队合作级项目研发的能力和软件工程化方法开发大型软件的能力,为研究和学习软件生产线新技术埋下伏笔。利用USDM的可视化论坛提供聊天、白板、音频、视频、协同浏览等功能。项目团队工作人员在其机器上打开某个文档并进行操作浏览时,其他相关人员也可以在自己的机器上看到操作过程,操作和观看几乎是同步进行的。通过可视化论坛方便项目开发小组内部和小组之间经常交流情况和信息,以便减少误解,删除软件中的个人特征,提高软件的质量。使学生提早接触大型IT企业实际工作环境,学习专业CASE工具的使用,为今后工作打下良好基础。开发团队根据实践项目自己拟定汇报的内容,由教师修改审核后,负责教师和各个小组选择代表作为答辩评委,各个项目小组进行项目答辩,答辩成绩作为开发团队实践成绩一部分。负责教师在数据管理系统平台上审核项目实践过程中提交的文档体系,审核成绩作为团队成绩一部分,优先实践项目运行结果、代码和文档等公开展示。提高了学生研究立项、总结概括、演讲交流和团体竞争意识的能力。 3.3创新团队培养等课外培养模式 团队模式培养,以教育部“卓越工程师”培养方案为创新人才培养模式的建设目标。旨在加强专业创新人才培养,建立以学生为主体、教师为主导的创新型团队培养模式。从大一就开始实行本科生导师制,由专门导师直接对本科生的思想、学习进行指导,对学生管理实行动态准入制度,制定阶段目标,严格考核制度。团队学生可以参加导师的科研项目,在导师指导下撰写论文。参加“大学生创新大赛”“ACM大赛”等学生创新比赛,鼓励学生参加职业资格认证考试。除此之外,还采取了一系列有效措施,如聘请同行领域专家和学者做讲座,第二课堂等。用以培养学生的科研能力,让学生了解专业应用方向和前沿技术,增强学生的专业体验度和兴趣度。 4考核方式改革 采用过程化考核机制,加强对学生的早期学习干预,适当开展个性化教学。教学过程中取消一考定成绩的考核方式,设置阶段性考试,避免出现期末突击学习、背诵典型题目等高分低能情况。根据课程知识点设置多次阶段考试,既可以有效地把握学生的学习过程,又可及时获得相关数据,便于对教学效果定量分析,对学习差的同学早发现早干预,对小群体实施个性化教学。通过USDM系统可获得如下数据:学生编写程序数量分布、学生在线总时间分布、学生和教师登陆次数分析、各次考试的成绩变化和分布、提交时间间隔情况分析、学生成绩的变化情况跟踪等。通过对以上数据的定量分析可以获得学生的学习情况(包括刻苦程度、学习时间分配的合理性、学习质量、是否抄袭等),把这些数据作为评估学生过程成绩的一个指标;不仅如此,通过以上数据分析还可以了解到教师的教学态度(布置作业数量、作业批改及时性、与学生互动的频繁度、对后进学生的关注度等),及时发现教与学双方面存在的问题,及时整改以获得更好的教学效果。面向航空领域软件工程专业人才培养模式研究与实践是一项系统工程。依据国家战略新兴产业创新人才需求,重点研究人才培养模式与现实需求的符合程度,与时俱进多方面优化改革人才培养模式。培养毕业后能胜任航空领域的军工企业以及其它IT行业、科研机构、企事业中从事计算机应用软件系统的开发和研制的软件工程应用型高级专门人才。 作者:刘香芹 张翼飞 丛丽晖 单位:沈阳航空航天大学计算机学院 软件工程专业论文:软件工程本科专业建设的实践 【内容摘要】信息化时代背景下,我国软件产业逐步迈入了健康、持续的快速发展通道。在此过程中,大量工程型、应用型的高素质软件工程师发挥了不可或缺的作用。本科院校作为软件工程师人才培养的主要阵地,其专业建设在某种程度上直接关联着软件产业发展,有关研究备受关注。本文在对软件工程专业建设现状作出简要分析和论述的基础上,重点就软件工程本科专业建设实践进行了研究。 【关键词】软件工程;专业建设;课程设置 目前,我国软件工程本科专业建设的成果有目共睹,但同时也存在人才适应性、实用性差等问题,课程设置与市场需求脱节成为顽疾,不利于学生实践能力的培养。21世纪是一个以知识经济为主的时代,人才作为企业竞争的核心,其战略地位不言而喻。然而,软件工程本科专业建设存在的一系列问题,直接影响了人才培养水平,限制了软件产业发展,其创新与优化工作至关重要。 一、软件工程本科专业建设的现状 近年来,随着我国高等教育的普及化发展,软件工程本科专业建设大肆扩张,并取得了一定成效。但是在实践过程中,软件工程本科专业建设依然存在不少问题,具体体现在以下几个方面。 (一)保障体系缺失。软件工程本科专业建设是一项体系化工程,需要大量的保障基础作铺垫。现阶段而言,大部分本科院校应时展需求,逐步开设了软件工程专业课堂,并按照新课程改革要求,采取了一系列创新改革举措,建立了相对完善的实践机制。然而,我国软件工程本科专业保障体系建设依然不尽如人意,在教学内容设计上缺乏与软件产业及相关技术发展变化的有效弹性配合,体现了多阶段逐级过渡的特性,很难实现理论、实践与工程的循环。在这样的教学模式影响下,软件工程专业人才培养拘泥于书本知识灌输,忽视了对学生个性差异与全面发展的考查,不利于其实践能力的提升。究其根本,造成此类现象主要是因为素质教育建设与渗透不足。在软件工程教学实践中,部分教师固守传统思想,本身专业化水平不高,缺乏应有的创新素质与优化意识,在方法选择上显得过于拘谨,忽视了学生主观能动性的发挥,最终限制了学生的全面发展。因此,保障体系缺失是影响软件工程本科专业建设步伐的重要因素。 (二)产学联盟滞后。软件工程本科专业建设并非高校一方的责任,其社会价值决定了需要政府支持和企业配合。事实上,软件工程人才培育与相关企业人才需求缺乏反复性地对接与持续性地跟踪,使得本科院校教育逐步脱离了经济市场的导向,所培养的毕业生人才必然不能满足企业需求,其基本价值沦丧。新时期,市场经济运行规律决定了,软件工程本科专业建设必须走产学研一体化发展道路。目前,很多本科院校与企业建立的产学联盟还停留于表面,并未深度挖掘软件工程专业建设需求,在人才培养方面尚未真知灼见、长治久远。有些企业过度“计较”对合作育人的成本投入,专业选择具有强烈的“功力”色彩,参与软件工程专业建设的积极性不高。在此过程中,政府如何发挥引导职能,合理介入校企合作,为其提供良好的法律政策及资金支持是当前一个较为突出的问题。没有健全的管理措施,校企双方的权责就不能得到有效拷问与执行,一旦发生纠纷,势必会影响两者之间的长期合作关系,产学研一体化也因此走向尽头,不利于软件工程专业建设的完善与深入。 二、促进软件工程本科专业建设的实践策略 软件工程本科专业建设实践成果,受诸多因素的影响。结合分析,有针对性地提出了以下几种软件工程本科专业建设实践策略,以供参考和借鉴。 (一)优化课程设置。学科是高校生存与发展的基石,同时还是专业建设的前提和基础。一个健全的专业往往需要多个学科的支撑,否则势必沦亡。因此,本科院校在软件工程专业建设之初,就需要综合考查自身现有的学科实力,有针对性地做好铺垫工作。具体而言,本科院校要树立良好的市场意识,并以此为导向,明确软件工程专业人才培养目标及要求,合理配置相关学科,设计完善教学内容,逐步形成科学体系,实现人才的全面发展,最大限度地发挥自身社会价值。为适应软件产业发展对多元人才的需求,本科阶段应放宽口径,不细分专业培养方向,但需要考虑专业课程模块设置,夯实毕业生理论基础的同时,拓展其知识面,使之深入了解某类系统软件及其应用领域。一般而言,软件工程本科专业核心课程包括软件数学类课程、软件基础类课程、软件系统类课程、软件工程类课程等内容,着重突出对学生应用能力与实践能力的培养。基于此,对于软件工程本科专业学生的考评也应关注其软件数学知识、基础知识以及工程知识水平,全面考查其综合素养及能力,并据此决定下一阶段的教学目标及方向。 (二)加强师资建设。素质教育背景下,教师作为主导,既是软件工程本科专业建设的对象,又是软件工程本科专业建设的参与者,其表现出的综合素养和能力直接决定了最终工作成效。在高等教育普及化阶段,本科院校面临着巨大的人才引进压力,需尽量在短时间内优化整个师资团队的学历结构、年龄结构以及职称结构等。在此过程中,本科院校要致力于专业化师资队伍建设,加强教师培训工作,及时更新其理论知识素养及专业技能构成,提高他们的综合业务能力,使之提供良好的教学服务。简单来讲,本科院校应制定完善的教师培训计划,以职业培训为主、脱岗培训为辅,根据软件工程本科专业建设需求,分清轻重缓急,优先发展特色学科,为广大教师搭建互动交流平台,分享有效经验,从而为软件工程本科专业建设提供强力支撑。同时,本科院校还需建立完善的激励制度,保证双师型教师团队建设资源充沛,给予表现优异的教师适度职位晋升、薪酬增长等奖励,鼓舞他们自主创新,树立其良好的职业发展愿景,从而使之投入更多的时间和精力在本职工作上。 (三)推进校企合作。本科院校的核心价值是促进学生全面发展,其根本目标是打造满足市场需求的应用型人才。从某种意义上而言,企业作为市场经济活动的主体,只有其自身才清楚需要什么样的人才,也是软件工程本科专业建设方向的决定者。政府方面应充分发挥引导职能,制定完善的法律制度、政策体系支持校企合作,明确双方承担的责任和义务,帮助两者构建长期战略合作关系。而企业方面也需要深刻认识到校企合作对自身发展的重要意义,可就软件工程本科专业建设提出可行性建议,也可与校方专家共同协商专业课程设置,将行业最新发展动态引入到软件工程专业教学体系当中。在企业的积极参与下,本科院校需树立良好的市场意识,将软件工程专业建设紧密联系市场,结合自身实践,走特色发展道路,以服务于地方产业经济发展。同时,校企双方还应整合可以利用资源,合理配置,积极打造校内实验室和校外实训基地,引入先进技术及设备,最大限度地发挥各方优势,为软件工程实践教学提供良好的环境与氛围。总而言之,软件工程本科专业建设实践十分重要和必要。由于个人能力有限,本文对软件工程本科专业建设作出的探索可能存在不足,未来其实践工作还有很大的改善空间。因此,希望业界更多专家和学者持续关注我国软件工程本科专业建设实况,全面总结其现状及问题,并深度剖析其中存在的问题,有针对性地提出更多促进软件工程本科专业建设对策,从而推动软件工程专业创新优化发展,为我国软件产业持续发展提供强力人才支撑。 作者:林峰 李萍 软件工程专业论文:高职教育软件工程专业综合改革课程建设 摘要:软件工程专业人才培养的定位是在熟练掌握计算机软件编写的基础上,让学生可以利用所学计算机方面的知识,与传统的工程领域相结合,培养可以进行各个层次软件开发的复合型人才。为了更好地实现人才培养目标,必须加强课程与教学资源建设,不断完善培养方案,优化课程体系,建设开放、立体的网络教育资源平台,创新学生课外实践平台和实训教学平台。同时也要不断探寻新的专业管理路径,以科学管理促进教学水平提升。 关键词:高职教育;专业课程改革;软件技术 淮北职业技术学院软件技术专业经过多年建设,形成了独具特色的“多层次、分流式”人才培养模式;在课程建设上,坚持“瞄准岗位设课程”;在教学内容上,将社会职业资格认证与专业教育紧密结合;在教学模式上,坚持“瞄准职业能力搞教学”,形成了独具特色的“项目案例教学法”;在实训基地建设上,着力建设教学、服务、科研“三位一体”的实训基地,有效地构建了计算机应用技术专业综合试点改革的基础。2015年与武汉慧众聚成合作开设ACCP软件工程师班,共同培养软件工程师。同年软件工程专业获得安徽省质量工程的专业综合改革试点项目立项。软件工程专业培养的定位就是在熟练掌握计算机软件编写的基础上,让学生可以利用所学计算机方面的知识,与传统的工程领域相结合,培养可以进行各个层次软件开发的复合工程型人才。 一、课程与教学资源建设 在专业课程体系改革方面,坚持课程体系和教学资源建设以市场为导向、学生为根本、学科知识为基础、专业技能为重点的原则,构筑软件工程专业学生的知识体系,搭建教学平台,完善培养方案,优化课程体系和模块化课程结构,推进精品。 1.完善培养方案。依据我校软件工程专业培养移动互联网软件工程师的人才培养定位,软件工程专业的培养方案将突显课程结构模块化、块内课程群组化,分模块、分群的特色,保证培养目标的实现。专业基础课模块:主要包括面向对象程序设计、数据库原理、软件工程等课程,通过本模块体现基础的“厚”。专业技术课模块:主要包括移动互联网技术、嵌入式系统等课程,另外在每个课程群中增加企业课程模块,通过聘请外教、企业专家承担与市场或工程结合紧密的相关课程的全部或部分内容的主讲工作,并加强国际交流,提高授课质量。增加的企业课程模块包括:Android软件开发、信息工程项目管理、网络系统架构等课程。通过本模块体现出“多方向”。技能拓展模块:主要包括WAP技术及其应用、嵌入式Linux-ARM应用开发、人工智能等课程,通过本模块,体现出应用能力训练。课程模块如图1所示: 2.优化课程体系。在培养方案的基础上,优化课程体系。以工程项目设计为导向、工程能力培养为目标,让学生做中学(Learning by doing)和基于项目学习(Project based on learning)。工程项目为载体,使学生以主动的、联系的方式学习工程,通过项目设计将课程体系有机地结合起来,通过项目将知识、能力和素质有机结合,项目按规模和范围分为三级:一级项目为:课程设计、综合项目设计、创新项目设计;二级项目为:软件算法综合设计、整个培养计划是以一级项目为主线,二级项目为支撑,三级项目以移动互联网技术、智能手机应用软件开发等核心课程为基础,将核心课程教育与对应的专业整体统一起来,强调以软件工程项目复现方式进行实践教学,让学生自己成立小组,从头到尾参与到工程化的软件开发的全过程。在三级课程体系中,一级项目中课程注重以单元知识点为基础,利用实训巩固知识点内容;二级项目在单元实训的基础上实现串联,让学生针对具体工程进行程序设计,三级项目在二级项目基础上,进行项目实训和毕业设计,对实训和程序设计内容进行整合,按照工程项目开发流程进行完整的项目开发。在教学过程中体现了知识(Knowledge———专业知识)、能力(Ability———分析与问题的能力,交流与组织协调的能力,主动获取知识的能力,科学高效管理项目的能力,工程实践的能力和参与国际竞争的能力)和职业素质(Professionalism———创新素质、团队素质和敬业素质)的培养。 3.建设开放、立体的网络教育资源平台。由于课堂学习的时间十分有限,教师不可能在授课时间内将某项专业能力发展的所有知识点完全细致地讲解到,应积极激发学生学习的主观能动性,可以通过多种途径和方法给学生提供课后自主拓展学习的平台。因此,建立开放、立体的网络教育资源平台是十分必要的。对于一级项目,我们建议学生自主拓展学习时间不低于学量的1/3,对于二级、三级项目,则建议学生自主拓展学习时间至少为学量的一半。①以网络课程为核心,在网上开通“软件工程专业在线学习中心”,实现校企专家讲座、校内课堂直播及资源点播;②建立“移动互联网软件工程师网上教学论坛”,QQ群,微信群等平台,为学校教师、学生、企业教师及技术人员等提供一个互动的交流平台,让学生遇到困难时可以随时提问随时进行探讨,获得解答;③与企业合作,围绕专业教学目标、课程体系、教学内容、模拟实验实训、教学指导、学习评价等方面来建设各种资源库,包括精品视频公开课、精品课程、网上案例库、素材库、试题库,并进行资源整合,建设成开放、立体的网络教育资源平台,构建立体化育人环境。 4.软件工程实训教学平台与北大青鸟、武汉慧众聚成合作,加强软件工程专业实验室建设,建立软件工程实训教学平台,模拟企业真实工作环境,根据角色划分将实验室分隔成若干个独立的工作区间,如工作区、项目经理区、技术总监区等;优秀教师组建软件工程咨询和辅导团队;对外开展相关的有偿服务(典型情况如CMMI咨询辅导);按软件企业项目开发摸式,进行软件系统开发实训。结合成熟软件产品的开发过程进行体验式教学,结合软件技术的应用和开发进行实训教学,为学生和教师提供软件开发实战平台。 5.学生课外创新实践平台在北大青鸟、武汉慧众聚成实验室基础上,以学校各种学生课外软件大赛(如蓝桥杯)为牵引,通过“课外科研项目实践”课程、设立科研助理、暑假小学期等渠道建设学生课外创新型实践平台,实现本专业学生早进课题、早进实验室、早进团队、早进社会。 6.积极推动外版教材的选用。采用校企合作的方式,共同建设系列化的实训教材,尤其是智能手机应用开发、移动互联网技术方面的实训教材。 二、专业管理路径 计算机系多年来致力于教学体系建设,并取得显著的成绩。计划在未来四年,继续深化改革、拓展创新,逐步形成科学、完备的专业教学体系。重点做好以下工作: 1.基本教学制度优化与创新改革的重点是提高课堂教学质量和完善监查评价制度,形成规范有效的课堂教学行为监管机制;不断完善教师指导制度,切实做到学生从入校到毕业,指导教师不间断地指导学生的学业和职业规划;建立和完善学科带头人、专业负责人、专业课程(群)负责人制度,教学改革研究制度、实验室开放制度,科学研究、社会实践方面的奖励制度,致力于调动学生的研究兴趣,培养学生的知识运用能力与科研创新能力。 2.采用规范性约束与激励结合的模式充分体现以教师为本、激励为主的理念,注重规范性约束与激励相结合,在教学改革、教学质量评价指标体系和评价办法、教师业务水平考核、教学酬金分配、学生学业测定、教学管理制度等方面建立科学合理的激励机制,为师生营造大胆开拓创新的宽松环境;从制度建设方面强化和激励学生实践能力和创新意识自我提升,使每个学生的人格、个性、兴趣和能力都得到尊重与发展。 3.改传统的行政型管理为新型的学术型,实行新型的学术型体制。由熟悉本学科、专业、行业的理论和发展动态与趋势,熟悉对本专业、行业所需人才的专业知识结构和能力需求的专业教师和企业高级技术人员组成教学指导委员会,制订企业人才培养方案、课堂教学质量和监查评价制度。 4.整合网络信息化教学管理平台,分析现有教学过程中存在问题,通过广泛的调查和需求分析,构建新的教学系统结构,完善其功能,使之更有效地服务于教学。开发学生毕业设计选导师系统、实验室系统等,有效促进教学的科学化、规范化和网络化建设,理顺教学管理流程,提升教学水平。 作者:胡静静 郑吉鸿 单位:淮北职业技术学院计算机科学与技术系 淮北职业技术学院招生办公室 软件工程专业论文:本科院校软件工程专业人才培养模式改革 [摘要]针对新型本科院校软件工程专业人才培养模式存在的问题,围绕软件工程学科领域的“卓越工程师教学培养计划”和IEEE推出的SWEBOKV3知识体系,以强化学生工程实践能力培养为导向,系统重构软件工程专业课程体系和教学内容,以程序设计不断线为目标,形成“基础实践->综合实践->创新实践->专业实践”的渐进式实践教育体系。 [关键词]软件工程;实践教学;人才培养模式;工程能力 1引言 软件产业是信息产业的重要组成部分,是国民经济信息化的基础。2011年,软件工程成为与计算机科学与技术并列的一级学科和目录内本科专业,可见国家对软件人才的培养越来越重视。目前大部分地方新型本科院校都设置了软件工程专业,但由于受到生源层次、师资类型、办学条件等诸多因素的影响和制约,培养的毕业生的应用能力与用人单位的需求存在矛盾。一方面,企业迫切需要具有实践经验,动手能力强的软件人才,另一方面刚毕业的学生却不能找到合适的工作。当前社会上出现大量的软件人才培训机构,从高校的高年级招收学生,为企业培养具有较强工程实践能力的专门人才,这从另外一个角度也反映了高等教育应用型人才的培养脱离了社会需求的实际,教学内容没有跟上社会发展的步伐,教学方法、教学手段和实践环节等需要进行改革。当前,新型本科院校的软件专业人才培养主要存在以下几个方面问题: 1.1专业定位与实际不符 计算机软件专业的教材、教学计划、课程设置、教学方法从985高校到地方新建本科院校,基本相同,培养目标也基本相似,新建本科院校培养的学生没有自己的特色,操作能力和工程实践能力相对于985和211高校软件专业的学生较弱。 1.2培养模式不适应计算机行业的发展 计算机行业的发展速度非常快,几乎每天都有新的技术、新的产品产生,但计算机软件专业的课程设置却没有大的变化,教材落后于IT技术发展的前沿,课程讲授脱离软件工程的实际,课程体系设计不是以职业化为导向,而是以专业学生发展和研究为导向。 1.3重理论、轻实践 由于学校过分地强调学习、掌握理论知识,导致学生把学习的考试成绩看得比较重,却忽视了实践能力的运用。其次,现在的IT行业注重团队合作,而传统的教育模式往往更注重个人能力的考查,忽视了对学生团队合作精神的培养。 1.4缺少有项目实践经历的师资 目前,高校的教师大都是“从学校走向学校”,缺少实际项目开发的经验。另外,学校与行业和企业联系不够紧密,教师难以及时了解和掌握企业的最新技术发展和体系,致使专业实践能力明显不足。本文探索新型本科院校的软件人才培养模式,从实际出发,以着力培养服务地方经济发展的应用型人才为目标,将工程化教学和职业素质培养作为人才培养的核心任务之一,以软件工程方法为指导,系统设置软件工程理论课程体系和验证、设计、实训、实习等实践环节。 2相关工作 “软件工程”概念最早是由北约组织(NATO)在1968年召开的软件工程会议上,为应对“软件危机”而提出的。二十世纪70年代末至80年代,国外很多大学计算机科学系开始开设软件工程课程,例如,卡内基•梅隆大学建立软件工程硕士教育计划。1991年,ACM和IEEE/CS制定的计算教程(CC1991)将软件工程列为计算学科的9个知识领域之一。1993年,IEEE计算机学会和ACM考虑建设软件工程专业,并成立了软件工程协调委员会(SECC,SoftwareEngineeringCoordinationCom-mittee)。2004年,SECC制定软件工程知识体系(SWEBOK),标志着软件工程学科正式确立[1]。我国软件工程教育研究开始于20世纪80年代,当时部分高校开设了软件工程研究生班。2001年经教育部和国家计委批准,全国成立了35所示范性软件学院(后增加到37所),目标是“培养具有国际竞争能力的多层次实用型软件人才”,推动产学研合作办学模式,积极探索教学模式的改革,实现我国软件人才培养的跨越式发展。2006年教育部成立了软件工程专业教学指导分委员会,开展我国软件工程专业战略发展和专业规范的研究工作。2011年,软件工程学科独立出来,成为与计算机科学与技术并列的一级学科。近年来,国内很多高校在软件工程人才培养模式、实践教育体系、校企合作等方面进行了探索和改革。电子科技大学软件学院陆鑫和傅彦结合CDIO工程教育理念,提出以专业实践能力培养为导向的专业评价手段[2]。合肥学院借鉴德国应用科学大学人才培养经验,提出软件工程模块化教学理念,将软件项目管理分为6项一级能力和60项二级能力,确定不同能力的知识点,并对知识点进行优化和重组,从而形成模块[3]。孙红敏等针对教学质量管理问题,提出构建面向能力培养的软件工程专业教学质量保障体系,从而提高软件人才的培养质量[4]。梁宏涛等提出一种专业导师制的人才培养模式,对民办本科高校的软件人才培养具有借鉴作用[5]。林耀进等针对传统教学模式存在实践内容难以有效衔接问题,提出以项目开发为驱动的多课程联动教学模式[6]。 3专业培养目标和课程体系 3.1培养目标和规格 为适应皖江城市带承接产业专业示范区、合芜蚌自主创新综合试验区以及合肥经济圈等重大发展战略对应用型人才培养的需求,以应用型人才为目标,以提高应用型人才培养质量为核心,对接岗位需求,明晰人才培养目标和规格,优化“平台+模块”课程体系。软件工程专业人才培养目标:本专业立足安徽、面向区域软件产业,以软件工程行业标准为导向,以工程化人才培养为目标,兼顾社会、健康、安全、法律、文化以及环境等因素,培养的毕业生应掌握软件工程专业的基础知识及应用知识,具备分析、设计、开发和解决软件工程问题的能力,有创新创业意识,具有扎实的理论基础、较强的工程能力和良好的科学人文素养,能够在软件行业中从事软件设计与开发、测试和管理等工作。软件工程专业学生培养规格主要瞄准两个岗位:软件测试和软件开发。软件测试岗位要求学生掌握软件测试相关技术,熟悉软件开发流程与项目需求分析,了解软件项目开发管理;会按规范编制技术文档。软件开发岗位要求熟悉软件开发和维护流程,能熟练使用IOS或Android进行移动应用软件开发和调试,熟悉Web项目开发及应用。 3.2模块化课程体系设计 根据学校设立“三大平台”+“八个模块”的课程体系框架,我们构建的基于模块化的软件工程专业课程体系。,1、2、3、4代表四个年级,横向的框代表不同的课程群模块。整个课程体系分成:通识课程(必修、选修)、专业基础、专业核心、专业拓展、综合实践课程、校园文化与社会实践、创新创业与科技活动。具有以下3点特色:(1)程序设计不断线。从大学一年级至三年级,每学期均开设程序设计相关课程,涵盖程序设计基础、Web开发、移动开发、嵌入式系统等领域,全程化、多方位锻炼学生的编程能力。(2)实践环节由浅入深,层次渐进。我校软件专业实践环节包括课程实验、课程设计、综合实训、专业见习/实习、毕业设计等多种形式。(3)创新创业与学术科技活动融入培养方案。定期邀请企业人员来我校进行创新创业讲座,学生参加全国大学生创新创业、互联网+、挑战杯等竞赛项目或者获得CCF软件能力认证、PAT计算机程序设计能力考试等证书进行学分认定。 3.3实践能力培养体系 通过整体规划课程实验、课程设计、综合实训、企业见习/实习、毕业设计等实践环节,建立有效的实践能力训练体系,全面提高学生的工程化实践能力。在新修订的软件工程人才培养方案中,将课程实验从理论课中独立出来,进行独立考核,对于高级语言程序设计、数据结构、Java语言程序设计等语言类课程,引入浙江大学PTA平台(ProgrammingTeachingAssistant),系统支持自动考试、评判。课程设计安排在学期结束前1-2周,布置一个大的作业,2-3个学生一组,共同完成。综合实训课是运用多门课程知识的综合实践类课程,比如:在开设数据结构、Java程序设计、Web程序设计之后,安排软件项目实训课,使学生了解一个完整的软件开发过程。设置创新创业与科技活动模块,鼓励学生积极参加学科竞赛和学术科技活动,要求在大学四年中至少参加一次全国大学生创新创业、互联网+、挑战杯等竞赛活动,或者参与教师主持的科研项目,发表一篇学术论文,或者获得CCF软件能力认证、PAT计算机程序设计能力考试等证书。 4结束语 探索与实践新型本科院校软件人才培养模式,注重培养工程能力强的软件应用人才具有重要的理论和现实意义。本文以软件工程方法学为指导,以工程化应用型人才培养为目标,系统构建模块化软件工程专业课程体系和循序渐进的实践教育体系,切实提高软件人才培养质量。 作者:谢飞 范庆春 单位:合肥师范学院计算机学院 软件工程专业论文:远程开放教育软件工程专业创建 摘要:随着我国科学技术的发展,电子信息技术已经被广泛应用。远程开放教育在时代进步的潮流中,将多媒体信息技术开始软件工程专业应用。软件工程专业是远程开放教育开设的新专业,旨在满足社会需求。笔者结合当前我国对软件人才的迫切需要,提出社会发展进程中存在的问题,针对软件工程专业教学模式进行了探讨。 关键词:远程开放教育;软件工程;专业建设 一、国内软件市场人才要求 我国与印度同属为发展中国家,但是我国的软件出口数量却落后于印度。虽然我国的软件市场在不断丰富和增长,可是软件的整体发展还较为缓慢,仍然处于初级阶段,这为我国的软件市场提供了更为广阔的发展空间,软件工程将会得到相关部门的大力扶持。目前我国的软件市场人才处于较为匮乏时期,高端人才更为稀少。所以,针对国内的现状和市场需求的不断增长,应该开放教育来弥补高校教育中的人才培养疏漏,为更多的人才提供较多的学习机会和成长空间。 二、软件工程专业建设的缺陷 我国计算机软件专业教育与其他发达国家相比,其标准化程度、国家化水平都明显落后。第一,我国软件毕业人员的英语教育水平相对较弱。软件高新产业中,英语是进行交流的第一语言;印度能够出口大批软件,与英语软件人才的储备是紧密相连的。我国的高端人才,在英语的各方面能力都阻碍了国际化的交流。因此,英语水平的提高成为了软件人才外流的重要原因之一。第二,我国的高校教材更新频率相对较低,与软件行业的发展相比,具有严重的滞后性,所以,大批毕业生难以面临企业工作的需求。印度的相关教育模式较之我国,更新频率较快,每年都会进行更新,这就为英语人才的储备提供了客观条件与学习环境。 三、依托电大优势,发挥创新精神 1.教学课程内容的更新。在进行软件专业化教育过程中,教育部门应该依据每个学科与学生的特征,结合实际情况,制定操作性较强的教学计划,防止过度注重理论化。教学方案的制定也应该以数据库知识的储备、软件工程知识的更新以及程序设计的变化为基础。软件工程专业与其它专业相比,具有变化速度快的特点,教学更要应该保持实时更新,与实际社会需求情况接轨。 2.教师队伍素质的提升。软件工程专业人才的培养需要专业性强、实践能力丰富的师资队伍。教师对学生的学习有重要的引导作用,也是教学过程的主要实施者。所以,想要完善相关专业建设,可以从师资队伍入手,以及其知识的掌握深度。软件工程的特征决定了基本理论与方法,通常都要经过很长时间的经验积累。因此,中青年教师不仅仅是课程的教授者,也是程序的设计与软件开发工程的负责人,所以,教学课程还是以年轻教师担任较为适宜。 3.教师教学手段的丰富。教学手段是否合理在很大程度上决定了教学效果的好坏,也是教学工作中必不可少的环节。软件工程专业,很多课程都具备较强的实践性,有些课程除理论教学外,上机实习和动手实践是更为有效的教学手段。多媒体技术的发展为课程的教授提供了客观条件,教师可以利用多媒体教学手段,将内容贯穿于课堂当中,必要时进行上机操作。由于软件专业工程专业性较强,学校可以邀请负责人进行讲解,帮助学生理解。 4.实践应用性的增强。实践教学是以理论教学为基础,深度培养学生分析问题与解决问题的能力,强化他们的专业实践,设置必要的教学环节,进行师生之间的互动。实践教学的地位极其重要,加强实践教学,将教学质量的提高作为日常工作的工作内容,进行全面的统筹,加强各方面的协调,确保实践教学能够落实到各个环节。实践教学基地是实践教学环节得到落实的重要条件,应该依据软件工程课程,进行科学、合理的安排,并建设实践教学基地。产学研三者的紧密结合,对于提升学校的教学质量、教师的整体素质以及整个师资队伍的科研水平有极大的便利。教科研相长,产教结合,更加有利于培养学生掌握理论知识,增强应用型人才,减少学生适应社会的时间,提高就业的竞争性,满足社会需求。因此,在专业建设期间,需要加强校企合作,扩大产学研合作范围,力争有更大成果。 四、结语 综上所述,优秀的师资队伍,需要客观条件的搭建来实现,建立好一个基地是为我们开设软件工程专业的重要保障。相关部门与单位要坚持开拓创新,探索新思路,为社会培养出更加优秀的人才,实现我国人才兴国战略。 作者:马宜佟 单位:沈阳市第三十六中学 软件工程专业论文:软件工程专业程序设计课程群创建 摘要:程序设计课程群是软件工程专业系列课程的重要组成部分,建设该课程群有利于提高学生程序设计能力,进而提高就业竞争力。分析了学生在学习程序设计课程中的一些问题,提出了程序设计课程群的主要知识和能力体系要求,通过精讲课程主要内容、大规模开展程序设计训练、课程设计、改革考核与评价方式等方法进行课程群教学改革,取得了较好的教学效果。 关键词:软件工程;程序设计;课程群;建设;实践 软件工程专业的培养目标是面向我国软件产业培养急需的工程应用型人才。软件产业的发展要求学生具备较强的系统分析、设计、开发与维护能力[1]。为培养学生软件系统方面的相关能力,许多高校的软件工程专业都设置了系列课程模块,如程序设计课程模块、网络技术课程模块、计算机体系和操作系统课程模块、软件工程课程模块等,这些模块往往是一些单独课程的组合,有很多学生学了这门课程,又忘记了那门课程,到毕业时专业能力达不到社会所要求的层次。程序设计课程群是软件工程专业系列课程的重要组成部分,其承载的技能培养目标是专业培养的子目标[2],处于非常重要的地位。课程群建设是专业建设的一部分[3],有利于打通课程知识脉络,避免课程内容重复或前后脱节,使前后连贯,内容融合,进而获得整体优势[4]。程序设计课程群主要培养计算思维能力、算法设计与分析能力、程序设计与实现能力和系统分析开发能力[5]。学生通过程序设计课程群的学习,可掌握1~2门程序设计语言,更进一步理解程序设计方法,熟练掌握常用的数据结构和算法,形成良好的程序设计风格,可独立分析、设计和开发中小型软件系统。所以对程序设计课程群进行研究并积极实践对专业培养目标的实现具有重要现实意义。 1问题分析 目前,大多数高校信息类相关专业都开设了程序设计系列课程,一般为C语言程序设计、数据结构与算法、java程序设计等。许多高校都将C程序设计作为第一门程序设计课程[6],一般安排在第一学期或者第二学期,学完C语言之后,再学其他程序设计课程,如数据结构等。由于C语言本身比较灵活且语法内容比较多,对于初学者来说并不太好掌握。一些教师在授课过程中,没有站在软件设计的高度思考教学内容,往往过多地强调语言成分的语法和语义,而忽视了计算思维能力[7]的培养,使学生从开始就扎进程序设计语言的细枝末节中去,忽略了软件工程思想的渗透,到最后学生掌握了一些语法,却不能写出较为优美的程序或没有形成较好的程序设计思维和风格。算法是程序的灵魂,数据结构和算法在课程群中具有基础和核心地位[8]。在实际教学过程中,学生普遍反映数据结构和算法课程抽象难学,在学习和实际应用中出现的问题比较多,很难写出能正确运行的程序,学习过程中成就感不强,学完之后还是不知道如何应用,很难达到预期的效果。由于在前期的学习中,程序设计基础没有打牢,对常用的数据结构和算法没有真正掌握,模块化程序设计思维没有有效建立,良好的程序设计风格没有形成,导致后续的高级面向对象语言程序设计学习很难深入,最终导致软件分析与设计能力得不到有效的提升。 2程序设计课程群建设 我校软件工程专业采取校企合作办学模式,由吉首大学和中软国际共同建设,企业参与人才培养的全过程,在具体实施过程中,学校侧重于理论教学部分,企业侧重于实践教学部分[9]。程序设计课程群是软件工程专业课程体系的重要组成部分,企业参与讨论与建设,确定该课程群以软件设计能力培养为主线,以C语言程序设计、数据结构、面向对象技术、算法设计与分析几门课程为基础组建课程群,C语言程序设计开设在第一、二学期,数据结构、面向对象技术、算法设计与分析分别开设在第三、四、五学期,第六学期可开设JavaWeb程序设计或Web程序设计,使课程群在能力构建和开设形式方面形成一个不间断的体系。 3程序设计课程群实施 3.1精讲课程主要内容,提高程序设计能力 课程组教师首先需要站在软件分析与设计的角度研究各门课程在课程群中的地位和作用,把课程群中的系列课程作为一个有机的整体,研究各门课程的主要教学内容,针对课程重点、难点、疑惑点进行精讲,做到理论与实践课并重,有效提高学生程序设计水平。在课程群系列课程中,由于第一门课程是后续系列课程的基础,所以学生必须掌握它。在C语言的教学中,要渗透软件分析与设计的思想,把握程序的主要框架,不纠缠于一些细枝末节的语法。函数是C语言教学中的重点,需要重点突破,从模块设计的角度来考虑函数设计,对于一个具体的函数,则要掌握函数的返回类型、参数类型以及参数个数。如用函数处理一个数组时,需要传递数组的首地址和数组的规模,首地址用指针表示,数组的规模则有两种表示方法,一是数组的长度,二是数组的起始下标和结束下标,这两种方式可能会分别应用到不同的地方,如果教师一直不提示第二种方法,则将来学生在写数组做参数的递归程序时可能会遇到困难。从多年的教学实践来看,如果学生真正掌握了函数设计方法,再加上必要的算法知识,一般情况下,程序设计就会变得得心应手而且十分有趣;对于数据结构课程,采取以数据存储(内存)为主线的方法,将重点放在数据的存储和相关算法方面,在算法实现时渗透模块化的思想,需注意头文件和实现文件的定义,因为数据结构内容具有很强的连贯性且程序的初始化工作较多,如链表的具体应用则先要建立链表、树的遍历和节点的查找等则先要建立树、图的遍历和最短路径及关键路径等则先要建立图,在实验过程中有意识地把一些基础工作放入头文件,则会极大地提高实验的效率;在面向对象技术教学中,以面向对象程序设计的方法为核心,以语言中的面向对象机制为主要内容,在适当的时候引入《ThinkinginC++》、《EffectiveC++》、《ThinkinginJa-va》等优秀书籍中的一些思想和经验,要注重面向对象程序设计过程中大的程序框架的合理性以及具体处理算法的正确性;在讲授算法设计与分析的时候,应集中精力将主要算法讲透,直到学生学懂为止,在实现算法时,应充分运用面向对象设计的思想,将算法封装在类中;在web程序设计教学中,采用案例驱动的方式,精讲软件项目设计中的主要方法和主要问题,培养学生工程化设计思想。精讲的目的是让学生多练,精讲之后要布置任务并为学生提供练习环境和相关指导,必须充分发挥教师主导和学生主体作用,教师要认真检查学生的作业、实验和练习情况,及时纠正问题,引导学生运用软件工程的思想设计程序,培养学生良好的程序设计思维和程序设计风格,激发学生自觉学习和实现相关算法,最终提高程序设计能力。 3.2大规模开展程序设计训练,培养程序设计能力 为培养学生算法设计与分析能力,学院在晚上和周末开放了实验室,在实验室搭建了ACM在线测评系统(ACMOnlineJudgeSystem),并接入了校园网,结合C程序设计、数据结构与算法等课程部署了大量习题。学院利用课余时间,有计划组织学生进入实验室进行编程训练,并为每次训练配备了指导教师。平时,学生也可以在寝室登录平台进行训练。教师在讲授C程序设计等课程的时候,要求学生利用课余时间在ACM平台上完成至少上百道题的训练,并将完成情况计入课程的平时成绩。通过大规模开展在线程序设计训练,学生的程序设计能力有了明显的提高。 3.3开展课程设计训练,培养工程化设计思想 在课程群中除开设理论课程对应的实验项目之外,还针对整门课程开设了综合性课程设计项目,如C语言课程设计、面向对象技术课程设计、javaweb课程设计,单个课程设计周期为1-4周。学院课程设计项目主要由企业教师指导完成,该类项目采用分组形式,在组内模拟软件企业运行模式设置相关岗位角色,学生在仿真企业环境中,利用仿真的软件开发项目,进行轮岗和角色体验,培养学生的软件工程应用能力、软件项目开发与测试能力、职业素质等,从而使学生熟悉软件项目开发流程和规范,养成良好的软件开发习惯。课程设计结束时,要求学生演示并讲解自己的项目开发情况,由学院教师和企业教师组成评定小组进行评分。 3.4改革考核与评价方式,理论与实践、平时与期末相结合 理论与实践相结合。程序设计课程群内的课程都是实践性很强的课程,其目的是运用所学的知识解决实际问题,决定了课程的期末考核要综合考虑理论和实践两部分内容。理论部分主要考查学生对基本概念的理解和对基本知识的掌握情况,实践部分侧重考查学生的综合应用能力,这两部分成绩都在期末完成,占课程总成绩的60%左右。平时与期末相结合。期末考核重在体现学习的结果,平时成绩则侧重于体现学习过程,在课程总成绩中,平时成绩占40%左右,即一门课程约有40分来自平时的学习过程。平时成绩一般由出勤、作业和平时实验情况、课程设计情况组成。在学期开始第一堂课的时候将课程评分方式告知每一个学生,必须抓紧平时的学习,若平时分小于20分,则取消课程考试资格或直接将课程总成绩记为不及格。 4结语 程序设计课程群对培养学生计算思维能力、算法设计与分析能力、系统分析与设计能力具有重要作用。本文分析了学生在课程群学习中遇到的一些问题,从软件分析与设计的角度对课程群进行建设与改革,提出了以C语言程序设计、数据结构、面向对象技术、算法设计与分析等几门课程为基础组建程序设计课程群,给出了课程群的主要知识与能力体系要求,通过精讲课程主要内容、大规模有组织地开展程序设计训练、企业教师指导课程设计、改革考核与评价方式等方法进行教学改革,学生的程序设计能力得了到较大的提高。 作者:徐洪智 蔡国民 单位:吉首大学软件服务外包学院 软件工程专业论文:软件工程专业实践教学研究 0引言随着现代社会的进步和各种移动终端设备的使用,当前市场对大数据处理和移动技术支持方面的人才提出了新的要求。一些大型软件企业正在实施大数据处理的软件项目及对相应软件产品移动需求的支持,如淘宝、百度等。高校软件工程专业作为与软件行业关系最为密切的专业,为使本专业毕业生具备更好的大数据处理和移动开发能力,更适应软件行业的需求,应该以新的行业需求为导向,开展有针对性的相关软件开发实践。目前,软件工程专业实践教学主要以工程化项目进行驱动。文献[1]提出以项目实践为中心的软件工程课程教学大纲的制定以及项目实践教学方法、教学内容和要求,全面提高计算机专业学生的工程化能力。文献[2]提出理论与项目实践结合的案例教学方法,即通过设计适合学生的项目课题,让学生在项目中应用所学的理论和技术,从而更牢固地掌握知识。文献[3]提出以开发工程项目为主线开展软件工程专业课程设计实践教学的方法。文献[4]提出统一实践课程的课程群建设思路,根据具体案例详细阐述整合实践课程的实施方案。这些项目实施方法在一定程度上增强了学生的动手实践能力,在培养学生的开发能力上取得了一定的效果,但仍然存在一些问题,如项目的设置比较简单、项目要求与企业需求有较大差距、项目开发过程缺乏有效的过程管理等。这些问题的存在使得软件工程专业学生的专业素质和能力不能完全满足软件行业的现实需求。 1教学中的问题 1.1项目的设置不够深入,同质化现象严重 不同教学阶段设置的配套项目要求大致相似,即按照软件工程的7层瀑布模型开发管理信息系统。系统主要的功能是用户将数据插入数据库、简单处理数据、显示数据至界面,这些功能要求具有较强的同质性。 1.2项目的规模和难度较小,与企业项目有较大差距 以往教学用项目一般要求学生开发如注册、登录等简单模块,涉及的功能规模较小,体现不出软件工程化的特征,特别是软件功能几乎不涉及大量数据有效存储和处理的问题,项目难度较小,与现实需求脱节。随着大数据时代的到来,软件系统需要处理的数据量越来越大,如果项目不体现大数据量、数据的有效存储及复杂处理过程,则项目不能反映市场特点;而且,如果软件项目的实施不支持移动技术,那么也无法适应日益增长的移动用户群体需求。 1.3项目的开发以个人为主,缺少团队开发的环节 以往教学过程中的项目开发大多由学生个体独立完成,极少由学生团队完成。当前的工程化软件一般规模较大,必须组建开发团队来完成。团队开发项目会使项目开发的本质发生改变,这不仅指团队有多个成员,更重要的是团队成员的分工以及成员之间的沟通与协同能力,涉及人员配置、共同策划、协作完成、进度控制等项目管理中各个环节,这是进行大型软件项目开发必需的技能和经验。 2企业项目驱动教学改革措施 项目的实践必须本着循序渐进的原则,按照教学大纲的要求进行专业基础知识的教学和实践,而在重要实践环节引入企业项目,引导学生按照企业的要求进行软件项目的开发实践,从而培养出满足企业岗位需求的合格人才。教师通过市场调查及与合作企业的交流,掌握企业项目的需求,可选择具有海量数据存储、处理、移动开发等功能的企业项目作为实践项目。当项目确定后,为每个项目形成需求文档,方便随时启动项目。 2.1项目设置逐步深入,消除同质化 项目实践从本科一年级或二年级开始起步,这个阶段的学生只掌握了基础知识,项目实践更注重于程序逻辑的编写。项目规模相对较小,但强调程序逻辑。本阶段可以设置一些逻辑性、趣味性强的游戏程序开发项目,以激发学生的学习兴趣,促进学生掌握项目开发必需的基础知识,如基于Android系统的手机游戏开发。在本科二年级第2学期到三年级第1学期的项目实践中期,学生已经具备一定的软件开发能力,能够从事数据库的设计和操作、Web项目开发,可以进行相对大型项目的项目开发。本阶段可以设置网络流量分析系统的开发项目,该系统用于监控交换机、路由器、IP网络在指定时间内的Netflow数据流,通过统计分析这些流量数据可以查看不同应用软件的流量信息,如QQ、电子邮件、FTP应用占用网络带宽的情况等。系统运行的过程中需要不停采集设备、网络的流量数据报,因此需要存储和处理海量数据。该项目的实践对锻炼学生的处理海量数据存储、检索等技能有积极作用。在本科三年级第2学期到四年级第1学期的项目实践后期,学生已经具备一定的大数据量问题处理能力并学会企业开发技术,此时配置数据量大、复杂的实际企业项目,可以进一步提高学生的开发能力和积累项目经验,为毕业和就业奠定基础。本阶段设置的实践项目为网络舆情分析系统。该系统通过主动采集主要网络媒体(如新浪、凤凰、搜狐等)信息,获取当前网络舆论情报并将关注的舆论热点通过曲线图、饼图、热点地图等统计图表加以显示,使用户能够直观地掌握所关注的网络舆情。该系统可以应用于政府部门,也可以应用于商业领域,如汽车厂商可以通过本系统了解自己产品的问题(如大众汽车断轴、DSG问题所引发的网络舆情热点)并采取相应的解决方案。上述3个阶段项目侧重点不同,项目难度逐层深入,有利于逐步提升学生的实践能力,缩小学生能力与企业用人需求之间的差距。 2.2以企业项目要求实施项目 1)起步阶段项目。实践项目开发需要软件开发人员具有良好的面向对象分析、编程的能力,能够熟练掌握集合的使用,了解图形界面编程,掌握多线程程序设计和文件操作,特别是具有一定的基于Android的移动开发经验。本阶段项目是基于Android的手机游戏开发,项目所需的知识体系如下:①面向对象编程,对游戏中所有对象进行分析、抽象,形成抽象类、接口、具体类以及类与类之间的关系;②集合与常用算法,对象的存储涉及集合以及相关算法,如遍历、排序、查找等;③图形界面编程,游戏对象需要以图形界面编程来展示;④多线程编程,不同的游戏对象有不同的行为,需要利用多线程处理;⑤文件操作,游戏对象需要加载文件中的信息形成游戏场景等;⑥移动开发,将游戏迁移至Android平台,使游戏软件能够为手机用户所使用。游戏开发能够提升学生开发软件的兴趣,有利于学生系统、深入地掌握软件开发必要的知识,为后续的学习和开发打下良好的基础,特别是通过将游戏移植到Android平台可以初步掌握移动开发的基本知识,为后续的移动开发打下必要的基础。 2)中级阶段项目。实践项目开发需要具备良好的JSP/Servlet、数据库设计与实现、数据处理以及相关行业开发经验。网络流量分析系统是一个网络管理行业的工具软件,需要对行业需求有所了解,重要的是软件开发人员需要学会抓取和解析Netflow协议报文、存储并处理海量数据,因此项目具有较大的难度。该项目的知识点主要包括以下方面:①Web开发技术,掌握JSP/Servlet开发技术,能够进行Web应用编程;②数据库技术,掌握主流的数据库产品如Oracle、MySQL等,熟练进行系统分析和数据库设计,熟练使用编程语言进行数据库的访问;③Netflow协议,理解Netflow协议,掌握协议中每个字段的意义;④数据抓取与解析,学会使用模拟设备发Netflow数据报的方法并通过编程抓取数据报,根据Netflow协议格式解析数据报,将每个字段的内容插入数据库;⑤海量数据处理,系统时刻抓取设备和IP组的数据报,因此需要存储的数据量非常庞大,考虑到系统对查询的要求较高,因而海量的数据需要按时间规则自动建立表格,每条流量数据根据其时间戳确定要插入的表格;⑥数据处理,将信息按设备、IP组进行统计处理并以图形加以显示,使用户能够直观地掌握网络流量情况。项目的实施涉及数据报的抓取、解析以及海量数据存储与处理等问题,项目难度接近企业真实项目,有利于迅速提高学生的实践能力。 3)高级阶段项目。该阶段项目为网络舆情分析系统,以大数据、移动开发为出发点而设计,是真实的企业项目,贴合企业需求。项目的主要技术点有以下方面:①行业项目需求分析,分析项目的功能、运行环境、适用行业等;②数据来源,项目所涉及的数据主要来自网络,如新浪、搜狐、凤凰等主流媒体网站,项目需要从这些网站上抓取舆论数据,进行舆情分析;③数据抓取技术,需要利用网络蜘蛛等工具进行网络数据抓取并使用内存数据库提高数据插入的效率;④数据存储,主流媒体的海量数据用一个数据表难以有效地存储和检索,因此需要按时间段来分表存放,这样才能够为数据表格建立索引,方便用户进行高效查询;⑤数据分析,对海量数据进行检索和分析,形成对用户有用的统计信息;⑥权限管理,通过系统授予/撤销权限等操作限制用户的行为;⑦移动支持,系统能够支持舆情关注人员在任意时刻、任何地点通过Android平台进行访问。 2.3以团队为基础实施项目的开发 随着软件规模的增加,软件的复杂性也随之增加,因此工程化软件开发方式是以团队开发为基础。团队开发涉及项目功能分割、团队成员协作、人员调配、进度控制等具体要求,是一种过程比较复杂、难度较大的开发方式,因此学生需要进行适当的培训和训练才能成功地实施大型项目。团队开发训练包括如下几个部分:①团队的组建,团队成员之间要相互了解、相互信任,能够为完成同一目标而通力协作;②团队协作,多个成员共同完成一个软件项目需要使用合适的源代码管理服务器,团队成员通过客户机共享服务器中的资源进行开发,由于多人同时修改源代码,可能造成不同成员的修改发生冲突,团队开发人员要制订和熟练掌握团队开发规则,如遵循修改的操作顺序、应用多配置文件等,以避免编程过程发生冲突;③任务分割,团队成员在项目负责人的领导下进行充分的交流,将项目划分为多个可同时进行的子任务,团队各成员负责若干部分进行并行开发;④进度控制与人员调配,项目成员每天提交进度报告给项目负责人,项目负责人根据报告掌握项目进度并根据项目进度情况进行适当的人员调配,使项目能够顺利进行。网络流量分析系统和网络舆情分析系统,项目规模较大、难度较高,需要进行团队开发。其中,网络流量分析系统工作量相对稍小,可以组建3人的团队进行开发;而网络舆情分析系统复杂程度较高,需要进行Web版本的开发和Android版本的开发,需要组建至少5人以上的开发团队。通过团队方式开发企业项目可以提高学生的项目领导能力和项目管理能力,进一步提高学生的专业素质。 3结语 为了保证项目的质量,不同阶段的项目侧重点不同,降低了项目的同质性,而且项目的需求规模较大,满足了行业软件的需求,特别是海量数据处理和移动开发的引入缩小了与企业项目之间的差距;同时,通过团队开发训练,学生具备了项目领导、项目管理、团队开发的基本能力,掌握了企业需要的团队开发技能,所具备的专业素质更符合企业的岗位需求,增强了就业能力。 作者:邓泽林 单位:长沙理工大学 软件工程专业论文:软件工程专业建设中服务外包定位 随着全球信息技术的快速发展,全球产业转移正快速地由制造业转向到服务业,服务外包因此得到了极大的发展空间。近些年来,参与服务外包的发展中国家越来越多,服务外包产生的影响也越来越受到人们的重视。近几年中国政府对服务外包的发展极为重视。财政部、国家税务总局等五部委的《关于技术先进型服务企业有关税收政策问题的通知》(财税[2009]63号)文件明确规定了ITO、BPO及KPO范围。信息技术外包ITO(InformationTechnologyOutsourcing)包括软件研发及外包、信息技术研发服务外包和信息系统运营维护外包等;商业流程外包BPO(BusinessProcessOutsourcing)包括企业业务流程设计服务、企业内部管理服务、企业运营服务和企业供应链服务等;以及外包演变过程中出现的新形式——知识流程外包KPO(KnowledgeProcessOutsourcing)包括知识产权研究、工业设计、分析和数据挖掘、工程设计等。其中信息技术外包ITO是最基本的外包方式,技术及数据的处理一般都属于信息技术外包ITO范围,信息技术外包(ITO)仍占主导地位,主要集中在软件研发外包和信息系统运营维护外包。而且2009年教育部、商务部在联合的《关于加强服务外包人才培养促进高校毕业生就业工作的若干意见》中早就指出:高校要根据服务外包产业快速发展的需要,调整服务外包人才培养结构,扩大服务外包人才培养规模,着力提高人才培养质量。因此,软件工程专业建设中,首先要在设计或制定专业人才培养方案时从专业人才培养方案的基本要素来寻找一些切入点,来更好地实现高等教育及职业教育为社会及行业发展的基本服务和基本支撑。 1人才培养目标 人才培养目标就是依据社会需求和自身特点所确定的,在一定时期内的人才培养定位及服务面向。以我校拟申报软件工程本科专业为例,首先,要根据学校的办学定位和专业设置部门的实际情况,设定基本知识和能力要求;其次,是有针对性对具体服务面向提出要求。自2009年,国务院批准武汉成为中国服务外包示范城市以来,武汉已成为中国软件及服务外包业增长最快、集聚度最高的城市之一。仅2014年全市的服务外包产业营业收入就达1020亿元,同比增长41.8%。其中离岸服务外包业务合同金额达5.6亿美元,同比增长10%。全市从事服务外包的企业已达900家,员工数量超过20万人。作为武汉实施光谷和硅谷“双谷合作”战略的核心启动项目——武汉软件新城,也同时获批为服务外包示范基地。该软件新城位于花山生态新城,于2012年5月开工建设,总面积约3.4km2,是中部最大的软件开发、服务外包基地。作为武汉地区的一所高校,加强服务外包在软件工程专业建设中的地位尤其重要。于是,我们的专业人才培养目标可以大致确定为:本专业按照软件行业和现代服务业发展对人才的要求,立足武汉,面向湖北地区,培养适应软件市场发展需要,德、智、体、美全面发展,掌握自然科学和人文社科基础知识,掌握计算机科学基础理论、软件工程专业的基础知识及应用知识,具有软件开发能力以及软件开发实践的初步经验和项目组织的基本能力,能够在软件行业和信息技术外包ITO企事业单位,从事软件设计、开发、管理、服务等工作的应用型高素质人才。 2人才培养规格及特色 人才培养规格是实现人才培养目标的工作细化,主要说明本专业毕业生应具备的专业知识、专业能力和专业核心能力、基本素质等。根据我们与IT企业多年合作的经历,我们认为当今IT行业对毕业生的能力需求有: (1)学生应掌握IT行业中使用的主流软件开发平台与工具,这包括:(1)C语言和VC++; (2)JAVA语言或基于JSP或SSH的WEB开发技术,甚至是基于.NET的WEB开发技术; (3)近年来需求旺盛的手机软件开发技术;同时对掌握嵌入式软件开发和软件测试技术与工具的学生的需求量也很大。同时,IT行业也十分看重学生具有的软件项目开发经历。除此之外也比较看重学生的外语水平和人际交往能力。于是结合服务外包的具体要求,我们可以从以下几个方面来展示特色。 (1)知识结构包括基础理论知识水平、专业知识与技能要求、综合应用知识要求。除专业相关的内容外,可以强调的是:了解软件服务外包的全过程,掌握信息技术外包ITO的JAVA方向基本知识。 (2)能力结构包括社会能力(语言文字表达能力、信息获取与处理能力、组织协调与现场处理能力、沟通交流与社会适应能力等),专业能力(专业基本能力、专项能力、岗位综合能力等)。强调:具备从事软件工程实践所需的实际专业能力;能阅读本专业的英文文献资料,具备一定的外语应用能力;具备团队协作能力、人际交往和沟通能力以及一定的组织管理能力;了解软件工程学科的前沿技术和软件行业的发展动态,具备一定的创新意识和创新能力;具备终身学习的能力。 (3)素质结构包括的基本素质有政治素质、人文素质、科学素质、心理素质、身体素质等;专业素质有法律意识、职业道德、安全质量意识、环境意识、敬业精神、团队精神等。强调:具有健全的人格、强壮的体魄,良好的道德修养、心理素质和行为习惯,具有诚实守信、热爱劳动、遵纪守法、自律谦让、团结协作的品质。使学生具备工作岗位需求的基本素质和特殊素质。 (4)职业资格要求主要要求本专业学生必须积极参加各类综合素质培养及教育活动,并至少获得一定的学分才能毕业。如要求参加全国计算机技术与软件专业技术资格(水平)考试,或者全国服务外包岗位专业考试至少取得以下一项专业相关从业资格证书:软件设计师、软件测试师、信息技术外包ITO软件工程师、信息技术外包ITO软件测试工程师等。 3人才培养模式 人才培养模式主要是结合计算机类专业特色定位,从“校企合作、产学研结合、学工交替、订单培养”等方面提炼出的专业人才培养模式,主要是实现人才培养目标通过的途径。经过我们研究和讨论,要特别加强学校与学生未来就业行业的沟通。我们的人才培养模式可以概括为:通过校企合作,构建“123”人才培养模式,即1个培养目标,以培养从事软件设计、开发、管理、服务等工作的应用型高级专门人才为目标;2个主要就业面向,将信息技术外包ITO企事业与移动互联网软件开发企事业的岗位要求和行业的职业标准融入课程体系,提高学生上岗后的适应能力;3个评价主体,由学生、学校、企事业单位共同参与教学质量管理制度的制定,以及教学过程的监督与评价。 4课程 课程是融入服务外包行业特色的具体体现,其中包含课程的名称,设置相关课程的目的。根据课程的分类我们可以从以下几个方面进行。 (1)通识课。通识教育有两层意义:其一是指一种通才的教育;其二是指一种全人的教育。通识课主要是指高等学校根据各专业培养目标而开设的自然科学和人文社会科学基本理论、基本技能的课程,它具体体现在前面所述的人才培养规格及特色中。 (2)学科基础课。学科基础课由各院系根据专业人才培养目标及主干学科的基本要求来拟定的,由学校教学主管部门如教务处来统筹协调。同一学科类的各个专业,基础课程大体相同。为达到软件工程专业的人才培养目标和基本要求,本专业的基础课都规定为专业必修课。为提高教育质量,使软件工程专业的学生具有适应社会发展的能力,学校都很重视加强学科专业基础课程的教学,往往会选派经验丰富、水平较高的教师担任基础课教学工作,对专业学生发展起到引领作用。在具体设置中,可以考虑服务外包概论,甚至信息技术外包ITO接包操作实务之类的课程。以适应服务外包行业的需要。 (3)专业课专业课(含专业拓展课及综合应用课)一般由院系根据专业人才培养目标和特色定位自主拟定。专业课与通识课、学科基础课只是相对而言的。专业课是指高等学校根据所制定的培养目标而开设的专业知识和专业技能课程,设置专业课的是让学生掌握必需的专业基本理论、专业基本知识和专业基本技能,以达到让学生了解专业的前沿科学技术与发展趋势的目的,通过专业培养,提高学生分析、解决本专业范围内一般问题的能力。因为计算机类学科的发展比较迅速,且专业知识的范围也广泛,在多数情况下,专业课的设置并非一成不变。因为在学校里只能打下一定专业知识基础,而更专业或特殊的知识,需要我们的学生在未来的实际工作岗位上继续学习。因此,软件工程专业的课程设置及主要的课程内容,应在一段时期内具有一定的稳定性。在专业必修课的具体设置中,可考虑如信息技术外包ITO其一方向的相关课程的嵌入,如:面向对象编程、Java程序设计、JavaEE应用开发技术、软件体系结构与设计、软件测试、软件项目管理等。在专业拓展课具体设置中,可考虑如信息技术外包ITO未来面对的形形色色的开发对象的嵌入,如:网页与网站建设、商务信息管理系统设计与实现、移动网络应用开发、嵌入式系统开发等。在专业综合应用课具体设置中,可考虑如信息技术外包ITO其一方向的系统训练课程的嵌入,如:服务外包项目实务、软件项目综合开发实践等。 5结语 根据国家商务部2014年公布的数据:2014年1~8月,我国承接离岸信息技术外包(ITO)、知识流程外包(KPO)和业务流程外包(BPO)执行金额分别为169.3亿美元、108.7亿美元和45.6亿美元,占比分别为52.3%、33.6%和14.1%,同比分别增长23%、32.4%和28.5%。信息技术外包仍占主导地位,知识产权研究、分析学和数据挖掘、动漫及网游设计研发、工业设计等知识流程外包业务增长迅速。正是基于这样的考虑,我们在进行计算机类专业为服务外包行业/软件行业服务的研究同时,不仅仅局限在计算机类专业人才培养方案这个层面上,而是应将软件工程专业建设放入一个更广的社会背景中去思考。根据高等教育的目的,不断研究专业人才培养模式,从课程嵌入、校中厂(在校内用企业标准培养学生)、厂中校(在企业中进一步加强学生能力的提高)三个不同层次上进一步拓展计算机类专业发展为服务外包行业的发展提供支撑,以及学校与服务外包企业的融合。 作者:周天宏 张思卿 戴歆 单位:武汉商学院信息工程系 郑州科技学院信息工程学院 软件工程专业论文:软件工程专业人才培养探究 随着经济、社会和技术的不断发展,骨干高职院校课程建设和人才培养模式必须及时调整,满足企业和学生的双重需求。课程建设和人才培养模式建设不能闭门造车,学习兄弟院校优秀的经验是一条捷径,但是也不能完全照搬,毕竟各个院校所处的区域不同,社会、经济、文化等发展程度上参差不齐,人才培养模式和课程建设必须从区域企业需求、院校实际情况、专业基础等客观情况出发。 一、目前高职院校软件工程专业建设存在的问题 高职院校经过十几年的高速发展,数量上和规模上有了显著提高,为社会和企业提供了大量技能型人才,为中华民族的腾飞做出了巨大贡献。近几年由于信息技术特别是软件外包发展迅速,软件工程专业也得到蓬勃的发展,具有计算机和信息背景的高职院校普遍开设了软件工程专业。近5年通过调查研究,发现在人才培养方面软件工程专业存在一系列以下问题: 1、院校“同质化”严重,职业特色不够突出 高职院校人才培养模式和专业设置关系着高职院校的生存和发展,在高等教育“大众化”的背景下,高职院校的专业设置“同质化”十分严重,完全没有从区域经济发展的需求,盲目投入巨大资金,造成资源上巨大浪费。现在大部分高职院校软件专业学生的理念、知识和技能与社会和企业的期望差距非常大,无法满足需求,造成“结构性失调”。[2]大部分高职院校重理论,轻实践,照搬本科院校的学历教育,没有显著突出职业教育的特点。高职教育培养第一线需要的高级应用型人才,培养的人才具备与高等教育相适应的基本知识、理论和技能,掌握相应的新知识、新技能和新工艺,有较强的实践动手能力和分析、解决生产实际问题的能力。 2、人才培养与社会要求差距大矛盾突出 企业为了适应社会发展和满足消费者的需求,对创新型高素质技能人才需求极大,提高产品的质量,获取最大的回报。但现实是企业招聘到合适人才的机会越来越小,而中国每年近七百万的大学毕生业大部分找不到合适的工作,特别是高职院校学生就业质量不理想。社会对技术人才需求量非常大和大部分学生找不到合适工作的矛盾,主要原因是院校的人才培养模式落后,所传授知识难以满足社会企业的需求,不适应社会需求。 3、“工学结合、校企合作”层次低 高职院校领导都具有“工学结合、校企合作”的思维,但受多个因素影响,大部分高职院校的校企合作仅仅停留在备忘录或纸面协议,即使有,深度也不够,仅仅是高职院校利用寒暑假组织学生到企业定岗实习,学生在流水线从事简单枯燥的机械式工作,与期望相差甚远,未能充分体现工学结合理念,效果不佳。 二、提高高职院校软件工程专业人才培养模式和课程建设的措施 《教育部财政部关于进一步推进“国家示范性高等职业院校建设计划”实施工作的通知》(教高[2010]8号)中,对专业建设与人才培养模式改革提出了具体要求。陕西职业技术学院通过对软件专业人才培养模式和课程体系建设进行深度改革,促进软件专业建设更上一层楼,具体措施如下: 1、吃透政府政策,立足服务区域产业,准确定位专业建设方向 软件外包产业被称为“高科技、高附加值的绿色产业”。根据《西安软件外包发展规划(2010-2015年)》,西安市软件外包发展的总体定位是成为国际软件外包中心之一,总体目标是成为全球知名的软件外包中心城市,服务区域经济发展。学院应抓住这次契机,为西安市软件外包储备人才。软件产业包含软件测试、软件架构、物联网、云计算、虚拟化、智能穿戴、智能家电、APP等新兴产业。在国家政策的鼓励和社会需求的推动下,新兴产业在未来的10年将有较大发展,成为中国由“中国制造”向“中国智造”产业升级的主力军。但是,目前许多高职院校软件工程专业的课程极少涉及上述核心技术,无法满足社会和企业的需求。高职院校为了提高软件专业学生的就业率和就业质量,领导和教师必须密切关注软件产业的发展趋势和热点,深入到软件企业调研,了解企业真正需求,预测未来几年软件发展热度,做好课程建设方面的知识储备。 2、紧抓市场契机,与企业深度合作,力求实现共赢 陕西职业技术学院处在西部大开发的桥头堡——西安,新的形势为西部高职院校和西部企业提供了合作机会,院校改变办学思维,主动要求相关企业合作办学,特别是软件外包的相关企业,使企业参与到软件工程专业的课程建设和人才培养上,学院根据企业反馈的信息,及时调整课程结构,优化教学内容,使学生第一时间学习企业最急需的技术,毕业后及时融入企业工作环境中,合作企业每年优先从毕业学生中选取优秀毕业生充实到企业中,分享合作办学的硕果,由被动转化为主动,解决“院校热、企业冷”的校企合作办学难题。高职院校对学生的培养目标定位在实用性“蓝领”人才,侧重于培养学生的专业技能、动手能力,院校和企业之间可以采取“联合办学”、“订单式”培养模式,使学生实际操作能力显著提高,院校的就业率得到保障。软件工程专业学生可以与西安高新区多家软件外包企业签订联合办学协议,为学生多方面提供带薪顶岗实习,熟悉企业工作流程。顶岗实习学生可以从最简单的软件测试开始,熟悉软件测试中的单元测试、模块测试、系统测试和集成测试等方法,掌握黑盒测试和白盒测试等技术,为自己就业奠定基础。 3、构建“校企合作,工学结合”的专业课程体系 “校企合作,工学结合”模式是目前高职院校相对成熟的人才培养模式,突出了高职院校教育的职业化,是高职院校公认的“金”模式,核心是骨干课程建设,使毕业生第一时间胜任工作岗位,短时间内获得更大发展空间。 三、结束语 高职院校人才培养要按照“企业引入学校、把课堂搬进车间”的思路,把握领会各级政府的政策方针,同时积极寻求与企业的合作,进一步加大校外实训基地的建设。经过几年建设,使陕西职业技术学院软件工程专业的人才培养质量显著提高,课程建设更加丰富,更加多元化,软件工程专业毕业生就业率与就业质量均有所突破,为陕西省区域经济的蓬勃发展添砖加瓦,尽自己应尽的责任。 作者:赵艳妮 郭华磊 单位:陕西职业技术学院计算机科学系 西安通信学院信息服务系 软件工程专业论文:软件工程专业Java语言教学改革 1前言 软件工程专业是一门实用性强、与企业紧密关联的专业,其教学质量决定了所培养学生的专业素养和软件从业能力,因此,大量的教学人员从各个方面对软件工程教学进行改革探讨。文献[1]提出以企业需求为导向的Java课程教学改革,着眼于提高学生实践能力;文献[2-3]提出基于教学团队增强系列课程的教学效果;文献[4]提出软件工程专业实践教学改革,提高学生的实践能力;文献[5]提出软件工程教学改革与学生能力评估的探讨,更客观地反映教学效果。在软件工程专业中,Java相关课程构成一组系列课程。这些课程之间相互关联,前修课程的教学效果直接影响后续课程的教学质量。因此,系列课程的教学计划、教学大纲、教学团队等元素要整体规划、统一安排,将多门课程的教学方案做成一个整体,使得各课程之间能够紧密衔接、阶段项目之间合理进阶,最终改善Java系列课程的整体教学效果。 2教学中的问题 课程之间衔接不够紧密,课程安排不合理传统Java系列课程在安排上存在如下问题。 1)课程安排不够紧密。在这些课程之间还要穿插DoNet课程,如C#语言程序设计、程序设计等,因此,学生在学习一段时间的Java课程后,又需要进行一段时间DoNet课程的学习,使得之前学习的Java知识容易被遗忘,教学效果差。 2)课程安排不合理。如JavaWeb程序设计与XML与Web应用这两门课程的讲解内容都是Web开发,可以合并为一门课程,而Java框架技术则是一门重要的企业级开发课程,没有配置足够的课时来保证课程的教学质量。教师之间缺乏交流,教学内容衔接不够Java系列课程较多,参与教学的教师较多,教师之间没有进行频繁有效的交流,这不仅使得教师之间难以形成良好的团队教学氛围,而且影响了教学效果。 1)教学内容衔接不够顺畅。不同课程的教师往往按照自己的理解进行课程的讲解,没有考虑到该课程的教学如何为后续课程的学习打下坚实基础。 2)教学案例进阶不够。不同教师的教学案例设计只考虑到本课程的教学需要,没有考虑本课程在整个系列课程中的位置,使得不同课程的教学案例之间几乎不存在继承性和延续性,导致整体教学难以有效地进阶,无法将学生的能力提升到一个新的高度。实践环节不够深入,难以提升学生的动手实践能力实践环节是保障学生动手能力的重要环节,安排适合每门课程的阶段项目是非常必要的。目前的教学没有考虑不同课程的实践重点,只注重完成相似功能的项目,难以深入全面地改善学生的实践能力。 3教学改革措施 修订教学计划针对传统Java教学中课程之间衔接不够紧密,课程安排不合理的问题,对教学计划进行修订,主要内容如下。 1)基础知识部分。该部分的课程为Java程序设计,课程主要讲解Java语言的基础,设定课时为64课时,开设时间为第一学年第二学期。 2)高级开发部分。本部分的课程将JavaWeb程序开发与XML与Web应用合并为Java高级编程,教学内容主要是结合Web开发技术讲解抽象的组件开发技术,如表单封装、数据库模板、数据库连接池、分页等常用组件的编写。本环节安排的课时为80课时,开设时间为第二学年第一学期。 3)企业级开发部分。企业开发部分的课程为Java框架技术(40学时)和Java框架技术实践(32学时),开设时间为第二学年的第二学期。通过这一系列的教学计划修订,在没有总体增加课时的基础上达到对Java系列课程教学方案的优化,使得Java系列课程能够尽早、连续地开出,而且每门主要课程的学习课时得到显著增加,有力地保证教学质量的提升。基于教学团队开发教学内容参与Java系列课程教学的教师自动组建教学团队,按照团队制订的教学大纲进行教学是保证Java系列课程深入有效开展的重要因素。因此,制订符合每个阶段课程的教学大纲是非常重要的。具体来说,每个阶段的教学内容和教学案例如下所示。 1)Java程序设计阶段:本阶段的知识点涉及较多,主要是Java基本编程思想以及为后续课程准备的知识点,如多线程、反射、设计模式等,主要内容如下所示。 ①类与对象:掌握必要的抽象思维,学会类的编写和对象的使用;掌握类的继承与多态,学会使用多态进行程序设计。相应的案例是利用多态对不同的形状对象计算面积。 ②集合类:掌握常用的集合类及相关的数据结构,理解集合框架的结构及集合内存动态增长原理,理解迭代模式。案例是编程模拟实现ArrayList类。 ③输入输出:掌握字符、字节的输入输出,理解装饰者模式。案例是编程将学生对象输出到外部文件。 ④多线程:多线程的创建、并发控制等。案例是利用多线程模拟多用户取钱业务。 ⑤反射机制:掌握利用反射创建对象、反射调用对象方法。案例是将文件中的学生信息自动封装为学生对象。 ⑥设计模式:模板模式和动态模式。案例是利用动态模式实现中介卖票程序。 2)Java高级编程阶段。本阶段利用第一阶段的学习内容开展深入的学习,以Web开发为基础讲解重要组件的编程实现,如利用反射、模板模式和动态模式实现表单封装组件、JDBCTemplate组件、分页组件等,主要内容如下所示。 ①DHTML:掌握HTML标签、CSS、Javascript语法,特别是Javascript面向对象的特征。案例是制作网上商城主页。 ②Web服务器:介绍Web服务器Tomcat,并使用网络编程的方法模拟服务器的响应。 ③数据库访问技术:掌握利用JDBCAPI进行数据库操作,结合模板模式来重构数据访问的代码。案例是利用模板模式、反射机制等实现JDBCTemplate组件;结合动态模式实现数据库连接池组件,并利用多线程测试多用户环境下程序的性能。 ④Web开发技术:掌握Servlet的开发方法,掌握客户端参数的传递和获取。案例是结合反射机制实现表单自动封装组件。 ⑤标签技术:掌握JavaBean、EL表达式和标准标签,掌握数据显示的方法。案例是使用反射和JavaBean实现分页组件。 3)Java框架技术阶段。本阶段主要讲解Struts、Spring和Hibernate三个框架的使用,其创新点在于通过利用Java高级编程阶段编写的组件来对框架主要功能进行模拟实现,主要内容如下。 ①Struts框架:掌握Struts的基本使用方法,理解Struts的工作流程,掌握Struts标签、国际化、输入验证等。案例是利用表单封装组件、反射机制、多态、XML等技术实现Struts框架功能。 ②Hibernate框架:掌握Hibernate主要功能,特别是对象—关系映射ORM功能、缓存、HQL查询、数据库锁、继承、关联等。案例是利用JDBCTemplate组件和XML解析实现Hibernate的ORM功能;利用CGLib动态模式模拟实现Hibernate的延迟加载(Lazy)功能。 ③Spring框架:掌握Spring的主要功能,包括控制反转IoC、面向切面编程AOP等。案例是利用AOP实现系统日志管理、数据库事务管理。 ④框架整合:将Struts、Spring、Hibernate框架进行整合,并利用团队开发环境进行项目开发。从这个教学大纲的设计来看,基于团队开发的教学大纲在内容上是无缝衔接的,将Java系列的主要课程整合为一个整体,有利于快速进阶,改善学生的知识结构,提高学生的编程素质,达到企业用人需求。阶段项目的设计对于每门课程,设计合适的、递进的阶段项目,对于深入掌握相关知识点,强化学生的动手能力是至关重要的。 1)Java程序设计阶段。本阶段课程主要涉及Java语言的编程基础,综合掌握相应的知识点对于理解Java编程思想、后续Java课程的学习有重要的作用。这一阶段知识点众多,而且受知识结构的限制,难以实施大规模的项目,为此,考虑将这些零碎的知识点结合起来,形成一个有实际意义的游戏项目——《飞机大战》。通过游戏的开发,学生可以在界面上看到程序中对象的状态,直观地了解程序运行的过程;而且通过游戏开发,可以提高学生的程序设计兴趣;更重要的是,游戏集合了众多知识点,这为学生深入掌握和应用这些知识点提供了一个良好的平台。 2)Java高级编程阶段。本阶段主要进行可复用Java组件的开发,因此,项目的设计与考查侧重于Java组件的实践。这一阶段的项目是《网上商城》,该项目的背景清楚,学生大都具有使用网上商城的经历,这能够直观地帮助学生了解项目的需求背景。将Web组件开发技术应用至《网上商城》的开发,不仅可以使学生深入地掌握Java编程思想,而且可以大大加快软件项目的开发。项目在考查时不仅需要查看项目的外观、功能等因素,还需要了解学生在实践中是否设计、开发并应用了Java组件,这对于提高学生的抽象思维能力以及动手实践能力具有重要的意义。 3)Java框架技术阶段。本阶段主要是框架技术的使用,需要设计大型的企业级开发项目,并利用Java框架技术实践课程来保证项目的实施质量。本阶段的项目为《企业固定资产管理》,通过提供项目需求,使学生掌握软件需求分析的步骤和方法,提高学生的系统分析能力和实践能力。通过第二、三阶段课程的学习,学生能够深入理解框架的原理,而通过第三阶段项目的开发,则能使学生熟练掌握软件开发的步骤与方法、框架技术的使用,从而达到企业的用人需求。 4结束语 本文针对Java语言系列课程在教学过程中出现的问题,提出一系列的优化方案。通过优化已有课程,使Java系列课程能够尽早、连续地开出;通过建设Java教学团队,设计了符合Java系列课程特点的教学大纲,使得Java系列课程的知识点形成一个渐进的整体;通过阶段项目的设计,使得学生能够在不同的阶段开发侧重点不同的项目,显著提高学生的动手实践能力。通过这一系列的改革措施,学生在学完Java系列课程后对Java语言、数据库技术、设计模式、框架技术具有更好的综合应用能力,对于提高学生的综合素质有明显的改善作用。 作者:邓泽林 谢中科 软件工程专业论文:软件工程专业校企合作下的研究 1.校企合作人才培养方法 1.1构建新型人才培养方案 软件行业发展和更新很快,短时间内就有可能发生很大的变化,高校在课程设置等方面常常落后于企业,如何缩小学校培养的软件专业学生和企业对软件开发人员的要求的差距是亟需解决的一个问题。为了解决这一问题,武昌理工学院信息工程学院软件工程系围绕软件工程专业建设目标,联合软件开发企业高级技术人员和高级管理人员,成立校企联合教学指导委员会,共同制定符合企业培养目标的人才培养方案。软件开发公司参与人才培养方案的设计与讨论,根据企业的需求动态调整教学方案,设置符合企业人才需求的课程,打破了高校关起门来,独立设置人才培养方案的习惯,打破了人才培养方案相对稳定的惯例,校企合作联合制定的人才培养方案更符合企业的对人才的需求。除了企业参与人才培养方案的制定外,武昌理工学院信息工程学院经常组织担任企业软件工程师的校友,对人才培养方案提建议,优化和完善人才培养方案。实践证明,使用学校和企业共同设计的人才培养方案后,学生的应用能力更强,更能适应企业的要求。 1.2构建真实的教学平台 为了提高学生的实际动手能力,尽快适应真实的企业开发。武昌理工学院信息工程构建了基于真实的工作环境(RealWorkingEnvironment)、真实的实训项目(RealTrainingProjects)、真实的项目经理(RealPro-jectManagers)、真实的工作压力(RealWorkPressure)和真实的工作机会(RealJobOpportunities)的教学平台。武昌理工学院信息工程学院在项目实训期间,严格按照企业办公环境的设计,每人一个独立机位,严格执行企业的考勤制度和工作汇报制度,真实感受企业的工作环境。实训的项目来源于企业的真实项目,让学生在完整的项目中学习整个项目中的每一个具体环节,充分体验一个团队的工作过程。在实训中,每个项目都由企业项目经理和学校教师共同指导,带队的项目经理都具有丰富的项目经验。在实训项目中有模拟客户代表给项目组施加真实的项目压力,当遇到客户需求变更等问题时,考察其应变能力。在实训项目中,根据学生的表现,企业提供真实的就业机会,企业直接与学生签约。通过构建真实的教学平台,进行企业级真实项目实训,让学生体验真实的软件开发过程,积累实践经验,培养创新能力。通过项目实训,学生普遍感到充满信心,能够很快适应企业的开发环境。 1.3改进教学体系 ACM和IEEE-CS的SWEBOK定义了软件工程学科的内涵。武昌理工学院信息工程学院教学委员会基于SWEBOOK框架,按照软件工程课程群的总体知识结构,重新设计了应用型软件工程专业的教学体系,对课程的学时、权重、结构,以及课程间的衔接进行了改进。将课程分为通过通识类、开发类和工程类三类,分阶段逐步培养学生的应用能力。同时注重基础理论课、课程实验课、课程设计、企业项目实训、毕业综合实践等环节,通过这些环节,将课堂理论学习和企业实训相结合,使学生具有坚实的理论基础的同时,具有一定的实践能力,实现理论与实践的零衔接。基础理论课主要涉及软件工程专业需要的基础和公共性知识。这部分知识主要由学校任课教师讲授。课程实验主要针对具体课程的某些知识点设计的实验。其可分为验证性实验、设计性实验、综合性实验。通过课程实验,学生掌握常用的软件开发语言,了解常用的算法,具备软件开发的基本技能。课程设计采用小组分组,自组团队,模拟企业设置岗位角色,进行角色体验,熟悉软件开发流程,培养软件开发能力。企业项目实训在企业高级开发技术人才的指导下,以真实项目为载体,进行软件设计,提升软件开发能力。在毕业设计和毕业实习阶段,采取企业开发人员和学校教师组成的双导师制,企业导师为其提供综合实践环境,提供技术指导。学校教师负责毕业设计相关文档的指导工作。 1.4编写合适的校企合作教材 目前,市面上校企合作的教材比较少,有的教材并没有企业软件开发人员真正参与,有的教材理论多,实践少,有的教材难以适应企业对软件开发人才的需求。武昌理工学院信息工程学院与企业开发人员紧密合作,编写精品实训教材。实训教材以项目为中心,案例教学,项目驱动。根据真实工作的情景设计课程的学习情景,确定教材的框架和编写模式。根据真实的岗位需求,编写典型的工作任务。根据真实的能力需求,培养学生的应用能力,并根据市场需求变化,分阶段更新教材。 1.5加强师资建设 建立一支结构合理、水平高的师资队伍是校企合作人才培养的重要保证,武昌理工学院信息工程学院构建了由学校教师、企业研发工程师和项目经理、高水平的外聘教师三部分组成的高质量应用型师资队伍。学校十分重视双师型师资队伍的建设,鼓励教师到合作单位进行学习和交流,参与企业项目研发,增强实践经验,鼓励教师到企业挂职锻炼和进行“产、学、研”合作,鼓励企业不定期为教师开设培训班。学校依托甲骨文工程(武昌理工学院)工程实践教育中心等的合作,每年固定派教师参加学习。学校还直接从企业引进实践经验丰富的优秀开发人员担任实训课程教师,充实教师队伍。 1.6加强第二课堂建设 除了课程教学和项目实训外,积极引导学生利用课外时间,自组团队、自拟课题、自主设计、自主管理完成项目设计,对于创新型强、应用水平高的项目学校进行创新学分奖励,并可冲抵相关课程积分。学校积极引导学生参加各种软件设计大赛、信息技术应用水平大赛等比赛,以赛促学,通过竞赛活动,提高学生发现问趧趶题和解决问题的能力,提升其应用能力。 1.7鼓励学生获取职业技能证书 对于应用型人才来说,职业技能证书十分重要。学校积极鼓励学生参加各种技能培训,获得技能证书。为了学生顺利获取接技能证书,学校安排集中时间进行集训,组织经验丰富的教师进行考前辅导。在人才培养方案中,对获得指定证书的学生,允许进行课程置换或学分奖励。不少学生在毕业时获得了思科的CCNP、CCIE和甲骨文的OCP、OCM证书,应用能力有较大提高。 1.8建立质量监控体系 改变以前单纯教学督导对教学质量进行监控的现状,由企业开发、管理人员和教学督导共同组成质量监控小组,负责对教学质量进行监控,根据项目实战的特点,检查教学大纲和教学课件,不定期组织质量监控小组进课堂听课,了解学生反馈,不断完善教学质量。企业随时与学校沟通,反馈教学各个环节中的意见和建议,对教学和实训中的各个环节质量进行监控。 2.结语 武昌理工学院信息工程学院软件工程系建立校企联合指导委员会,构建新型人才培养方案。基于真实的教学平台进行企业真实项目实训。通过改进教学体系,编写合适的校企合作教材,加强师资队伍建设和第二课程建设,鼓励学生获取职业技能证书,并建立质量监控体系,保证校企合作的效果。通过几年的校企合作实践证明,学生的应用能力和创新水平有较大的提高,毕业生的就业率和就业水平进步很大,校企合作的人才培养模式成效显著。 作者:阳小兰 钱程 吴亮 单位:武昌理工学院信息工程学院 软件工程专业论文:高校软件工程专业教育改革论文 1传统软件工程专业教学模式的不足 1.1重理论,轻实践 传统的软件工程专业教学模式体系的基本教学理念是重视“知识型”人才的培养,注重书本知识理论的讲解与掌握,忽视了学生实践能力的培养。从当前高校软件工程专业教学情况来看,课程的授课基本都是沿用理论课——实验课单一模式。其中理论课所占课时比重更大,实验课则相对弱化,而且理论课与实验课的结合程度并不十分密切。所占课时比重较小的实验课教学环节,多数都是进行教师事先安排的实验内容,教师在实验过程中给予指导和评测。实践证明,这种课程教学模式下出来的软件工程技术人员与时展要求严重脱节,难以满足社会对综合软件设计与开发技能人才的需求。 1.2教学目的脱离实际 软件工程专业课程是计算机软件、硬件和网络相结合,注重软件理论和软件开发能力的培养,该课程强调理论与实践的有机整合。然而,现行的高校在开展软件工程专业教学活动的过程中,却难以做到理论教学与实践教学的统一,时有厚此薄彼的现象发生。在强化理论知识的同时忽略了实践的应用,在加强实践教学的同时却又忽略了理论知识的融合。不能很好的体现高校软件工程专业教学围绕职业发展需要开发,职业特点不明确,不利于学生综合能力的发展。 2高校如何进行软件工程专业教学改革的几点做法 2.1以社会需求为导向,革新教学模式 随着社会经济体系结构的进一步调整,软件行业人才标准也在不断发生变化,高校教育的人才培养目标,人才培养方式也应跟随时代变化进行相应的改革。教师在进行授课的过程中,要跳出“教”的禁锢,从总体目标出发,进行学科教育向职业化教育的转型,以满足社会对高级软件工程师的需求。 (1)根据社会需求,合理确定知识结构 知识结构是培养学生专业技能和提高学生素质能力的前提与基础,知识结构的确定,必须满足社会发展需求,以“必需、够用”为度,并要求学生具备足够的发展潜质。因此,教师在分析知识结构时,应首先以社会发展对软件工程专业的能力要求为出发点,通过对能力进行分解,分析满足学生能力发展要求应具备哪方面的知识和技能,对相应的知识点进行组织,合理确定知识结构,努力体现“三个面向”,面向软件工程专业发展最新潮流、面向软件工程专业市场需求、面向软件工程专业社会实践。例如在开展实践教学活动时,教师除了要重视企业级应用开发的服务器端技术,还要注重云计算技术同JavaEE的整合,同时跟随当前应用开发趋重RIA的特点,加强Flex技术的学习,增加JavaEE和Flex的架构集成技术,以培养市场严重紧缺的具有相当经验的RIA、云计算开发人员。通过对知识结构的合理确定,让学生不但能够对专业知识进行巩固,还能紧贴IT行业的用人需求,从而真正达到学以致用的目标。 (2)以能力要求和知识结构为主线,构建动态教学计划 教学计划是各教学环节的整体设计方案,包括有:课程体系、实践教学环节等的时间分配和次序安排。软件工程专业教师在设计教学计划时,应以本专业能力要求和知识结构为主线,进行教学计划的调整,给以学生明确的思维方向,让学生能够参与到教学的全过程并在课堂教学活动中获得最大的收获。一方面,教师可以注重课程体系的国际化,引进10门美国著名高校卡内基梅隆大学(CMU)软件工程专业的课程,通过与传统教学模式的融合,进一步提高教学水平。另一方面,教师可以注重课程体系的先进性与及时性,定期召开合作伙伴峰会,企业参与人才培养方案和教学计划的制定及审阅,保证课程教学体系与专业信息的及时更新,做到因材施教。 2.2采用案例教学法,通过实例开展学习 案例教学法是指在学生掌握了解相关基本知识和分析技术的能力基础上,通过教师的精心策略和指导,根据教学目的和教学内容,运用经典案例,把学生带入特定教学情景进行分析,通过学生的自主探究和小组合作,进一步提高技术技能水平,同时培养学生沟通能力和协作精神的一种教学方式。软件工程专业教学以培养学生实践、动手能力为主要途径。在实践教学环节,通过案例教学,能把知识点与例子相结合,使学生从个案的分析、比较中,更深入地了解软件系统开发与管理过程,最终达到技术和知识点的掌握。如:《JAVA程序设计》课程的教学时,JAVA程序设计以编程为主,如果照搬教材内容,只会让教师讲得枯燥,学生听得乏味。通过融入案例进行教学,可以在向学生灌输编程语言知识点的同时,进一步培养学生分析问题和解决问题的综合能力,进而激发学生的创新能力。2.3强化实践教学环节,提高应用型人才专业技能。据有关数据显示,目前,我国对软件人才的需求已达20万,并且以每年20%左右的速度增长。在未来5年内,合格软件人才的需求将远大于供给。在中国十大IT职场人气职位中,软件工程师位列第一位,软件工程人才的就业前景十分乐观。然而,各大企业在面向各大高校招聘软件工程应用型技术人才时,普遍注重学生的综合实践能力。对于如何把学生培养成为受企业青睐的技术型人才,强化教学活动中的实践教学环节,提高应用型人才专业技能,是促使学生综合实践能力全面发展的必有之路。因此,一方面教师在开展教学活动的过程中引入现代化教学手段和仿真实验教学手段,调整教学重点,发挥软件工程专业实践教学的中心地位。另一方面可以进一步加大实验室对学生的开放力度,尽可能地为学生创设动手实践的氛围、为学生提供更多的动手实践机会。同时,还可以开展大型综合实验、综合实训、企业实习、毕业设计等实践教学内容教学,通过开设大型综合性的实验课程或综合实训课程、组织学生到Ⅱ企业顶岗实习、利用所学知识进行项目开发的能力和就业竞争能力。 2.4加强教学队伍的建设 高校软件工程专业教学水平的高低,取决于教师队伍的素质,他们素质的高低将直接影响到课堂教学活动的开展和学生能力的培养。因此,加强高校教学队伍建设,强化教师业务培训,提高教师的业务水平,是顺应教学改革的重要举措之一。首先,学校要组织鼓励软件工程专业教师加强学习、钻研业务,掌握教学技能,提高他们的教学水平和教学技巧。同时,学校加大对软件工程专业教育的投入,多组织高校软件工程专业教师参加省级培训、校级培训等再培训工作,着手培养基础好、教学技能优秀、有事业心、敬岗爱业的专业教师,增强软件工程专业教学师资力量。 3结束语 随着社会现代化进程的不断加快,社会对软件工程技术人才的要求也越来越严格。高校作为我国高等素质人才的重要培训基地,必须着力于教学模式的革新,提高课程教学质量,培养全面发展的应用型软件开发与管理人才,以适应社会对软件工程专业人才的发展需要。 作者:蓝斌 单位:同济大学 软件工程专业论文:浅析软件工程专业的实践教学建设 1专业教学改革与教学研究 在专业教学内容上,遵循以软件工程学科为主线、以社会需求为导向、与其他学科进行充分交叉的模式,构建科学、合理的课程体系,分别创建软件工程理论课程群、软件工程技术课程群、软件工程实验课程群,按课程群成立研究小组,通过调研、讨论,并结合软件行业的需求,设置软件工程专业的课程群,并制订相应的教学计划和大纲,构建适应行业需求的课程体系,使课程教学更具规范,提高课程教学质量。在专业建设上,继续追踪软件技术的前沿,注重软件技术、嵌入式系统、通信技术的发展。这些教学理念和专业建设思路继续贯穿在本专业的课程体系中,以进一步提高学生的素质和质量。在软件工程学科的基础上,考虑相关学科交叉性,同时注重对本学科人才需求的现状以及未来变化调整的调查分析,主动进行本学科结构和专业结构的调整。 在实际教学过程中,积极推进“以教师为主导、学生为主体”的教学方法改革,重视学生独立思考和创造思维的培养,采用“问题牵引、项目驱动”教学方法、积极采用多媒体课件与教学网站辅助教学方式,教学中加强符合学生特点的个性化教学及指导方式,通过课程大作业、课程设计等方式,使学生根据自己的兴趣和爱好选择题目进行学习,激发学生学习兴趣,提高教师教学效率,全面提升教学水平。 2实践教学建设规划 结合我院办学特色,以软件工程能力培养为核心和切入点,依照国家软件工程人才培养标准和我院软件工程专业人才培养方案,设计软件工程专业实践教学体系,主要如下: (1)明确软件工程人才培养的工程能力要求依照国家软件工程人才培养标准和我院软件工程专业人才培养方案,细化软件工程人才培养的知识与能力结构,特别是工程能力的知识体系。 (2)制定与工程能力培养相配套的课程实践教学大纲紧密结合软件工程专业工程能力培养要求,突出软件工程项目实践,制定与软件工程能力培养相一致的课程实践教学大纲,使专业的理论教学与实践教学形成一个有机的整体,相辅相成。 (3)构建适用于应用型本科,具有软件工程专业特色的“层次化、模块化、渐进式”的实践教学体系制订“层次化、模块化、渐进式”的实践教学体系建设方案,实现学生实践训练不间断,教学内容从“工程认识”到“基础训练”,最后到“综合创新训练”,由低到高、由单一到综合、在不同阶段将理论和实践有机结合,满足“实践—认识—再实践—再认识”的认识论规律。 (4)改革实践教学模式、教学内容和教学方法实施“以工程项目为核心、学生为主体、学用合一”的实践教学模式。推进教学改革,按工程问题、工程案例和工程项目组织实践教学内容,通过项目引出知识点,结合学生科技活动、教师科研项目,让学生参与项目的构思、设计、实施和运行,提升其工程设计能力。 3结语 计算机软件专业的发展,从基础上决定着信息化建设进程;改革人才培养方案,构建经济社会发展需要的课程体系,进行软件工程专业建设,对于我国的信息化建设进程具有十分重要的基础意义。 作者:闫俊伢 单位:山西大学商务学院
软件工程毕业论文:软件工程专业本科毕业设计过程管理 摘要:分析软件工程专业本科毕业设计管理中存在的主要问题,针对软件企业对软件工程专业的人才培养要求,提出软件工程专业本科毕业设计过程管理措施,强调通过建立和完善毕业设计的管理制度,加强毕业设计过程的监控;构建完善的毕业设计管理平台,提高本科毕业设计管理水平;改革毕业论文形式,建立毕业设计过程管理评价体系,提高学生工程实践能力。 关键词:软件工程;本科毕业设计;过程管理 软件学院软件工程专业的设立是国家教育部、国家发展计划委员会为满足国家软件产业发展对人才的迫切需求于2001年批准成立的。重庆大学软件学院是国家首批示范性软件学院之一,其人才培养目标是培养“面向应用、遵循标准、适应团队、把握技术、熟知领域、外语优良”的软件工程人才。10年来,软件学院十分重视软件工程专业的工程化教学改革,采取多项政策和措施促进工程型软件实用人才的培养。本科毕业设计是实现高等学校人才培养目标的重要教学环节,是培养学生创新意识和创新能力的重要手段,是理论学习与社会实践相结合的重要体现。因此,对软件工程专业本科毕业设计进行改革,培养具有工程实践能力的软件实用人才具有重要意义。 1 软件企业对软件工程专业培养人才的要求 软件产业的迅速发展对该行业从业人员提出更高要求,不仅要求学生掌握理论知识,还要求学生具备较强的工程实践能力与创新能力。国内计算机相关专业的教学基本上仍使用传统的理工科人才培养模式,注重基础理论知识,缺少对学生工程能力和职业素质的训练,因此培养既有扎实的专业基础知识和较强工程实践能力,又能迅速适应业界环境的高素质创新型软件人才,是软件企业对软件工程专业人才培养的要求。 2 目前本科毕业设计管理中存在的问题 1)毕业设计阶段缺乏全过程的管理与监控。 毕业设计全过程的管理与监控不够规范,缺乏专门的组织机构。毕业设计的一些主要环节疏于检查和监督,因此存在影响毕业设计质量的问题,如选题陈旧、重复率高、与软件产业发展需求不适合等。 教师指导水平有限且精力投入不足,同时没有对教师指导工作的有效绩效考核,使得教师对学生的毕业设计不够重视;某些学生由于有就业压力,便将主要精力放在人才市场和各类招聘会上,没有意识到毕业设计的重要性,最后只能通过拼凑和抄袭完成毕业设计。 2)毕业设计阶段缺乏规范化的指导性文件。 毕业设计工作持续时间长,涉及所有毕业生和教师,如果没有规范化的指导性文件能够让指导教师和学生了解毕业设计工作的意义、目标、计划、流程、论文规范化格式、质量评价标准、成绩考核等具体实施细则,明确自己在该项工作中扮演的角色以及整个毕业设计流程对自身承担工作的质量要求,那么很难提高毕业设计质量。 3)毕业设计文档资料缺乏有效管理。 毕业设计成果是学校的重要知识和信息资源,完善的文档资料管理有助于毕业设计工作的传承和创新。长久以来,毕业设计作品和论文主要采用人工管理。学生答辩后提交资料袋,资料袋中包括毕业设计相关文档和设计作品的刻录光盘,但由于管理人员对毕业设计资料的重视程度不够或人员不够,导致毕业设计资料管理不善,出现查询困难、答辩记录丢失等情况,为以后查阅、成果展示及下届毕业生的论文指导工作带来不便。 3 本科毕业设计管理改革措施 1)成立毕业设计管理小组。 为了加强本科毕业设计工作的组织、管理和监督,软件学院专门成立毕业设计管理小组,小组成员由教学副院长、正副系主任及学生助管组成,负责整个毕业设计过程的管理监督工作,包括从选题、审题、任务书下达到开题、中期检查、答辩、成绩评定、推优的全过程。 2)建立和完善毕业设计的管理制度。 为了提高毕业设计质量,毕业设计管理小组根据软件工程专业特点建立学院的具体工作规范和有效的毕业设计管理模式和监控制度,加强毕业设计制度建设,使得从选题、下达任务书到学生的开题报告,从每周汇报、中期检查到设计文档撰写、论文撰写、论文重复率监测、论文评阅及论文答辩,都有切实可行的实施细则及管理规章制度;构建集中管理与跟踪管理、周报提交、外出请假、抄袭检测、讲座出勤等平时成绩评定标准;完善从平时表现、系统设计实现质量、论文或设计文档质量、答辩水平等多方面衡量的客观、公正的综合成绩评定标准和推优程序。在毕业设计全过程管理中,力求做到有章可循及有据可查。 3)多元化的毕业论文形式。 多元化的毕业论文形式有利于培养大学生创新实践能力。根据软件工程专业特点,软件学院对毕业论文形式进行改革。毕业设计形式包括传统方式和新方式,学生可以选择其中一种方式,具体采用哪种方式则由指导老师负责。 传统方式是指毕业生完成开题报告并翻译一篇相关课题的英文文献,然后对软件系统进行需求分析、设计和编码实现,或者对相应算法进行研究、分析和编码实现,最后完成毕业设计论文。 为了面向软件企业需求,培养学生的软件设计能力,新方式注重提高学生的系统设计文档编写能力。毕业生前期仍然要完成开题报告、英文文献、系统分析设计和编码,最后提交系统设计相关文档。系统设计相关文档由以下文档构成:①项目开发计划;②软件需求说明;③系统设计说明;④数据库设计说明;⑤用户手册;⑥测试分析报告;⑦项目开发总结。根据软件工程学科特点及专业人才培养的要求,结合学校的毕业设计(论文)管理办法和软件设计文档国家标准,软件学院制定了符合专业人才培养目标的设计文档规范。 为提高学生科技论文写作水平和研究报告的演讲能力,软件学院面向软件工程专业所有应届毕业生,在其毕业设计阶段开设8学时的“科技论文写作规范”“研究报告演讲技巧”讲座,强调科技论文写作的规范性和可读性,锻炼学生演讲研究报告的能力。 4)加强毕业设计过程管理和监控。 毕业设计过程管理和监控面向的对象是学生和教师。软件学院毕业学生做毕业设计有不同情况,如有在校外软件公司做毕业设计的,更多的是在校内做毕业设计,因此需要有相应的不同管理模式。为加强学生培养质量和降低指导教师管理难度,软件学院提供集中管理与跟踪管理方式。 集中管理是指学院设置固定机房和机位并安排助教作为管理人员,由指导教师给学生安排机房,由管理人员负责学生的日常考勤,学生需及时向指导老师汇报学习情况,学生若有事必须请假。跟踪管理主要针对在校外进行毕业设计的学生,要求这类学生完成校外毕业设计申请,由管理小组协助指导教师对校外学生进行跟踪,为这些学生提供及时的毕业设计信息服务。这类学生必须每周与学校指导教师联系,以便教师详细了解并掌握学生毕业设计进度。这种具体的制度和规范,对在校内进行毕业设计和赴外进行毕业设计的学生进行了有效监控。 针对指导教师的管理,毕业设计管理小组采用不定期检查和周报提交的方式。毕业设计规范要求每位指导教师每周指导时间不少于2小时,指导教师需要检查学生毕业设计的进度和质量;解答学生提出的问题,进行下一阶段工作部署与指导,保证毕业设计的质量。 不定期检查指毕业设计管理小组根据指导教师在毕业设计系统中登记的指导时间和地点,不定期对教师的指导情况进行检查。周报提交是指学院建立的毕业设计定期报告制度,教师和学生每周均需要将周报提交到系统上,教师主要汇报每周对学生指导情况以及学生毕业设计进度和质量,学生主要汇报每周的毕业设计进度、毕业设计遇到的问题等。毕业设计管理小组每周对周报进行汇总分析并,及时了解毕业设计情况,对学生和教师提出的问题进行统一解答。 5)构建完善的毕业设计管理平台。 充分利用计算机技术,构建完善的毕业设计管理平台,提高毕业设计管理水平,使毕业设计管理更加规范化。软件学院在毕业设计过程中使用的管理系统包括:重庆大学本科毕业设计系统、重庆大学网络教学综合系统、重庆大学软件学院软件工程实践教学平台。 重庆大学本科毕业设计系统用来上传和管理毕业设计相关文档。系统涵盖毕业设计工作的全过程,实现选题提交、课题双向选择、毕业设计相关文档(包括开题报告、外文翻译和毕业论文)的提交与管理、文档模板的上传和下载、毕业答辩的自动分组、指导教师和交叉教师评分、答辩记录和成绩的上传、成绩册的打印、毕业成绩的统计分析等功能。 重庆大学网络教学综合系统。用于毕业设计的过程管理,主要进行信息、周报收集、校外学生实习申请、过程检查情况公告、问卷调查、学生成果提交和查询等。 重庆大学软件学院软件工程实践教学平台是软件人才培养创新平台,提供实践教学成果展示、实践案例资源库与实践教学管理功能。利用该平台可以举办毕业设计优秀作品展,展示软件学院学生的专业学习水平,激发学生的实践热情,对下一届学生起到示范作用。平台实践案例资源库可为学生提供实践学习参考资源,为教师提供实践教学案例素材。 6)建立毕业设计过程管理评价体系。 建立毕业设计过程管理评价体系,要求所有 一学生和指导老师每周都要将周报提交到EOL(重庆大学网络教学综合平台)平台。毕业设计管理小组每周对毕业设计情况进行检查和监督,并将检查情况告知所有指导老师。指导老师每周提交周报次数与毕业设计指导工作量挂钩;学生考勤情况、周报提交情况、平时检查情况会被记入平时成绩,平时成绩不合格将被取消答辩资格。 软件学院强调学生在毕业设计期间一定要进行软件系统设计和实现,毕业答辩包括系统演示、用PPT讲解毕业设计主要工作、答辩教师提问等多环节,答辩老师根据学生工作量、完成质量、论文或设计文档质量、答辩情况进行评分。学生毕业设计的最终成绩由平时成绩、指导教师成绩、交叉评阅成绩和答辩成绩构成,以保证评分的公平性。 7)加强诚信机制建设 为了提高本科毕业设计质量,加强学术道德和学风建设,营造学术诚信氛围,软件学院使用“大学生论文抄袭检测系统”对本科毕业论文进行防抄袭检测。抽检比例为应届毕业论文的50%,抽检名单由毕业论文管理系统随机抽取。另外,各答辩小组推荐的优秀毕业论文为必检对象。 软件学院制定论文抄袭的认定标准(建议文字复制比不超过25%)和处理办法,对有问题的论文,责成指导教师对检测结果予以认定和说明或督促学生修改,取消被认定抄袭论文学生的答辩资格;对各答辩小组推荐的优秀毕业论文进行,不合格的论文取消优秀。 4 结语 培养适应我国软件产业发展的软件工程人才,提高软件工程本科毕业设计质量,毕业设计的改革势在必行。通过2届学生的毕业设计改革证明,建立和完善毕业设计的管理制度,加强毕业设计过程的监控,充分利用毕业设计管理平台,实现多元化的毕业论文形式,建立合理的毕业设计过程管理评价体系,加强诚信机制建设,能极大地促进师生在毕业设计过程中投入热情和精力,提高本科毕业设计管理水平,有效保证毕业设计质量。 软件工程毕业论文:软件工程学在毕业设计中应用研究 摘要:毕业设计是一个十分重要的教学环节,是一个系统工程,应使用工程化的方法、步骤统筹安排以取得良好的效果。软件工程学是指导计算机应用专业软件类学生进行毕业设计的重要工具之一。将毕业生设计过程、文档书写与软件工程学紧密结合起来是提高学生毕业设计论文质量的一个重要途径。结合软件工程的基本知识,通过对软件类学生毕业设计过程存在的常见问题的研究,提出了应用软件工程学去指导学生毕业设计的方法。 关键词:软件工程;毕业设计 作者简介:许永昌(1976-),男,山东安丘人,硕士,山东英才学院计算机学院讲师,研究方向为计算机应用。 0引言 毕业设计是高等院校应届类毕业生在毕业前接受课题型任务,在教师指导下进行科学研究或工程实践并取得成果的过程,是高校实现人才培养目标的综合性实践教学环节,是一次理论与实践相结合的的锻炼机会。如何在新形势下改革毕业设计, 提高学生软件类毕业设计的质量,进一步规范毕业设计中的软件开发过程,抓好高校毕业设计这一实践环节,加强对毕业设计过程的管理与监控, 切实提高毕业设计的质量,对于软件类学生在毕业设计中实施合适的软件设计具有重的指导意义。 1毕业设计的必要性 高等职业教育应该是以能力为本位、以学生为主体、以实践为导向的教育。毕业设计是高等教育培养学生综合运用所学理论知识和技能解决实际问题能力的重要环节之一,是衡量毕业生是否达到相应学历层次的重要依据。毕业设计将总结专业基础和专业技术的学习成果,锻炼和开发学生的综合运用能力。 高职院校软件相关专业组织毕业设计应该符合新的人才培养标准,对培养学生的职业技能和素质要具有积极的意义。而对于即将毕业离校的应届毕业生来说,毕业设计无疑是计算机软件各相关专业理论教学、实验、实训等有机结合的途径之一。 通过毕业设计能锻炼学生的能力: (1)实践软件工程的相关原理能力。毕业设计的过程,是一个课题小组从接到开发任务到提交产品和文档的过程,其中涉及到需求分析、概要设计、详细设计、编码、测试、程序打包、编写文档等软件工程具体的各个方面。经过锻炼,学生们对软件工程学思想和方法的理解会大大加深。 (2)解决具体问题能力。在毕业设计的进行过程中,学生一定会遇到平时在课堂的理论学习中碰不到的困难和挑战, 而克服这些困难、解决实际问题的过程就是软件技术和心理素质逐步提高的过程。 (3)团结协作的意识、能力。通过毕业设计这一过程,学生就会产生团结协作的意识和能力。 2软件工程学的基本思想 软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法去进行软件的开发和维护的学科,包括两方面内容:软件开发技术和软件项目管理。其中,软件开发技术包括软件开发方法学、软件工具和软件工程环境,软件项目管理包括软件度量、项目估算、进度控制、人员组织、配置管理、项目计划。 3高职类学生毕业设计现状 毕业设计的主要目的是培养学生综合运用所学的基础理论、基本知识和基本技能,用以分析、解决工程、科研、社会实际问题的能力,使学生得到工程设计方法和科研能力的初步训练。毕业设计中存在的问题主要表现在以下几个方面。 3.1选题的盲目性 只是把毕业设计环节作为大学生活的必经环节, 纯粹是为了完成学业而去做毕业设计, 造成选题的盲目性、有的选题则是陈旧。 3.2可行性分析与需求分析重视程度不够 绝大多数毕业生在确定了毕业设计的题目后,几乎不进行调查研究工作就立即投入到整个系统的设计中, 一旦遇到了与实际不符的地方, 又重新返回, 对已经做好的设计进行修改。最终导致设计的系统杂乱无章, 甚至到了最后只能马马虎虎地仓促交工。 3.3系统开发过程中的文档不够正规,不够完备 完整的设计不仅包括所完成的可操作的系统,一般的操作帮助,还包括在开发系统的过程中所产生的各个文档等一些文字的东西,比如解释清晰、内容全面的数据字典和使用手册也是必不可少的,否则用户会感到使用起来不方便,觉得难于操作。 3.4模糊的评价标准 导致毕业设计质量下降的一个非常重要的原因就是没有建立精确细致的评价体系。 这严重影响了项目的进度和质量,并且使学生没有真正得到必要的锻炼。我们通过对这些问题进行详细深入的分析,提出一个软件过程框架,这个框架主要从需求、测试、集成这3个方面给出工作要点和规范。 4利用软件工程学思想指导学生进行毕业设计 毕业设计本身是个工程,要用工程的方法去处理。从软件工程的角度去指导学生进行毕业设计,在毕业设计过程中,要系统地将所学知识应用于实际问题,按软件工程学思想展开工作。 图1软件生命周期与毕业设计各阶段之间的映射 4.1以可行性研究指导选题目 可行性研究,应该从技术可行性、经济可行性、操作可行性三个方面去研究,在毕业设计题目的选择过程中,应立足于解决实际问题,注重发现问题、分析研究问题和开发创新的能力。选题原则上,可以参考以下几点:①毕业设计的课题应该能使计算机专业所学的理论知识进一步理解并深化,也就是说,毕业设计应尽可能包括多门专业基础课和专业课的综合运用,并且要紧密结合工程实际,以有利于学生的全面训练;②选择难度适中的课题, 保证课题的完成质量;③课题要适合于各个模块独立进行,并便于最后统一调试;④课题规模应大小适合,难易程度适中。 4.2需求分析是关键 需求分析的基本任务是准确地回答“系统必须做什么”, 也就是对目标系统提出完整、准确、清晰、具体的要求。系统分析员可以通过多种形式来获取用户需求,对用户提出的需求进行分析,以此来确定其中要实现系统的功能。对需求划分优先等级,找出核心需求和重要需求,以保证系统构建的正确性。 在进行软件类毕业设计时,为了保证需求获取的准确性和全面性,可以让项目组的所有学生都参与到用户需求的获取的工作中来,发挥集体的能力,并由指导教师进行最终的确认。 4.3规范设计过程 需求分析完成后的下一个阶段就是系统设计,包括概要设计和详细设计。 详细设计阶段的任务就是深入每个函数内部,以伪代码或注释的形式实现整个函数,设计出程序的详细规格说明。 从系统设计开始,学生要按照软件工程的要求,画出DFD图,对输入、输出数据流进行详细的说明,建立符合软件工程规范的数据字典,根据DFD 图设计出模块结构图。 4.4重视文档写作 在毕业设计的过程中,要严格遵照软件文档的思想,记载设计过程的每一阶段完成了哪些设计,下一阶段的任务、目标及技术手段,这样,把文档作为整个设计的指挥棒,使设计有条不紊地进行。 4.5重视测试工作、撰写毕业设计说明书 软件测试工作也是软件开发的重要组成部分。通过实际应用效果和测试数据,毕业设计的成效就可一目了然。 毕业设计说明书的撰写是最后一个阶段,要求学生回顾设计过程,总结劳动成果,这时学生就会对软件开发及必须经历的几个步骤都有更深刻的认识。最后,要求学生对毕业设计进行系统的总结,写出毕业论文。 5加强对学生综合能力的培养 通过实践的练习,不仅能加深对理论的理解,同时也能锻炼运用知识分析问题、解决问题的能力。毕业设计这一实践环节是高等学校培养学生实际能力的主要手段,也是高等教育的重要组成部分。充分、有效地设置软、硬件的毕业设计对学生能力的培养至关重要,可以缩短学校教育与社会流行技术、工具的差距,满足学生毕业后的工作需要。通过毕业设计必须达到培养学生以下方面能力的目的。 5.1工程实践能力 学生能够准确把握选题的逻辑重心和学术思路,能够运用丰富的专业知识进行处理,具有严谨的理论思辨过程,以锻炼毕业生的工程实践能力,使毕业论文具有一定的应用和学术探讨价值。 5.2书写和表达能力 毕业设计论文是毕业设计工作的总结和提高,和做科研开发工作一样,要有严谨求实的科学态度。在毕业设计期间,尽可能多地阅读文献资料是很重要的,毕业设计大多数是技术开发型的,其论文的主体部分应包括:总体设计、模块划分、算法描述、编程模型、数据结构、实现技术、实例测试及性能分析。这些内容根据任务所处的阶段不同,可以有所侧重。 5.3创新能力 提出创新要求后,带领学生认真复习或补学过去没学过、没有学好的课程,并在此基础上结合实际工作中出现的问题孕育出一些新的思路,将毕业设计推上一个新台阶的方式,与为每个人专门分配某一特定的作业来锻炼学生基本技能的方式相比,更能扩展学生的视野,培养创新能力。 5.4协作能力和团队精神 通过集体活动和成员沟通培养成员的团体情感,增强团队的凝聚力。毕业设计将一个学生从入学初到毕业前的软件专业课程的学习内容链接成线,实现了课程的真正衔接,也使学生在毕业前对软件方面所学的知识进行了比较完整的概括与总结,达到了良好的理论联系实际的教学效果。毕业设计弥补了课堂教学的不足,加深了对理论的理解,促使学生深入思考,敢于创新,同时使学生的动手能力、分析和解决问题的能力、书写和表达能力、协作能力等各项能力都得到了培养和提高。 6结束语 软件工程作为软件开发工程化、规范化的具体实施方法,在将其应用到毕业设计中之后,学生在软件设计的文档书写规范化等方面均有了很大的改善与提高。将软件工程应用于毕业设计中不仅仅完成了一门课程从理论到实践的过程,而且将一个学生从入学到毕业前软件专业课程的学习内容链接成线,完成了前导后续课程的真正衔接,也使学生在毕业前对软件方面所学的知识进行了比较完整的概括与总结,因此,软件工程学在计算机专业学生毕业设计中的应用具有重要的现实意义。 软件工程毕业论文:管窥软件工程在毕业设计中的应用 1软件工程在毕业设计中的作用 软件工程不仅是计算机科学与技术专业、软件工程专业的一门专业基础核心课程,也是其他相关专业,如信息工程、系统工程、信息与计算机科学、信息管理与信息系统等专业的重要应用技术课程。对于这些专业的学生来说,毕业设计多是以软件开发类项目为主,整个毕业设计就是开发一个软件。为了更好地完成软件开发类毕业设计,提高学生毕业设计的质量,进一步规范毕业设计中的软件开发过程是必需的。软件工程的思想正是用工程化方法构建和维护有效的、实用的和高质量的软件。按照软件工程思想,软件开发的生命周期分为可行性分析、需求分析、总体设计、详细设计、编码实现、软件测试和软件维护几个阶段。在学生的毕业设计中以软件工程的思想为主线,从软件工程的角度去指导学生进行毕业设计,挖掘软件工程在系统开发过程中的价值,解决毕业设计中存在的一些问题,既有助于学生更好地理解软件工程的方法、技术和思想,更有助于提高软件类毕业设计的质量。 2毕业设计中存在的问题 笔者在指导学生软件开发类毕业设计过程中发现,毕业设计存在着选题难、任务重、重视编码、轻过程、项目无法完成等现象。设计过程中没有严格地遵循软件工程的开发方法,没有规范的软件设计过程,项目能否成功主要依赖于个人能力和个人努力,这种不正确的开发方法带来了严重的后果。在项目开发的过程中常常存在以下几个方面问题: 2.1选题的盲目性 选题是毕业设计过程中的一个初始环节,选题恰当是做好毕业设计的前提,但选题不当的情况仍然时有发生。学生没有认识到毕业设计的重要性,纯粹是为了完成学业而做毕业设计,选题没有一个确切的目标,往往是随便选一个题目,造成选题的盲目性,出现了选题陈旧、选题范围狭窄、选题偏大等问题,使学生抄袭、完成不了毕业设计的情况时有发生。 2.2缺少软件的系统分析 软件开发过程的第一个阶段是系统分析,用来确定软件开发要解决的问题是什么?估算完成该项目需要的资源和成本,确定目标系统应该具备哪些功能,主要经历问题的定义、可行性分析和需求分析三个阶段。软件的系统分析确定了用户需求,同时对目标系统提出完整、具体的要求,引导开发者正确地构建系统。因此,对用户需求做出全面、正确的分析,对于最终软件开发类毕业设计的成败起着至关重要的作用。然而在完成毕业设计过程中,学生往往认为代码编写最重要,对软件开发过程中的可行性分析和需求分析阶段不重视,甚至没有系统分析,对整个毕业设计的完成造成了影响。 2.3软件设计过程杂乱无章 软件设计一般都要经历可行性分析、需求分析、总体设计、详细设计、编码和测试阶段。而部分学生在毕业设计开发的过程中,缺乏软件工程设计思想,跨越需求分析、概要设计、详细设计和功能模块设计,直接进行代码的撰写;或者从代码反推出模块设计;甚至在软件开发过程中,一边写程序,一边了解需求,程序完成了需求才确定。这种无序的软件设计过程,导致最终设计的系统杂乱无章、代码的重复率高、潜在?Bug多、系统的可集成性非常差、不能在规定时间内完成设计或者系统无法运行。 2.4开发过程中文档不完备 根据软件工程学的基本原理,软件=程序+文档,可见软件文档是软件开发过程中不可缺少的组成部分。软件文档贯穿于软件开发的各个阶段,是提高软件产品开发效率、规范软件产品开发过程、保证软件产品质量的关键。但在实际毕业设计中,很多同学认为把程序代码编出来了,毕业设计也就完成了,提交的毕业设计论文就是系统代码的复制,即只做出一个可演示可操作的系统,而忽略了软件开发的完整性、系统性。完整的毕业设计不仅包括可操作的系统,还包括在开发系统的过程中所产生的各个文档资料。文档的缺失会降低软件开发的效率、影响整个软件的开发、使用和维护。以上问题的存在,严重影响了毕业设计的进度和质量,没有达到毕业设计的目标要求。针对当前毕业设计的现状和存在不足,笔者认为应用软件工程学的思想指导毕业设计,对促进学生综合素质与工程实践能力培养具有积极意义。 3用软件工程思想指导学生进行毕业设计 3.1以可行性研究指导选题 可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。毕业设计题目的选择,应立足于解决工程实际问题,可由指导教师提供符合相关专业毕业设计要求的题目,也可以鼓励学生自己到社会、生产企业中寻求研究课题,培养他们自主学习的意识。选题过程以可行性研究为指导,从课题规模大小、难易程度、学生自己的研究方向、爱好、学生的知识层面和能力等多个方面进行考虑,对于选择的题目是否能够解决,确定在规定的时间内完成毕业设计的可行性。指导教师可根据学生选报的题目来指导学生对该选题进行调查研究,明确课题要解决的问题是什么,简要地写出关于问题性质、项目目标和项目规模的书面报告。可行性研究来指导毕业设计的选题,实质上是简化了系统分析和设计的过程,也是在较高层次上以较抽象的方式进行的系统分析和设计的过程,使学生对于课题的设计有个清晰的思路,为及时完成毕业设计提供了可能。 3.2重视软件的需求分析 需求分析的基本任务是准确地回答“系统必须做什么”,即确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求,不仅指明了系统设计时必须要实现的目标,也是软件设计、实现、测试和维护阶段的主要参考标准。用户需求的获取是软件开发中最重要、难度最大的工作,它贯穿于整个软件设计过程,不仅要涉及到软件开发方面的知识、应用领域方面的知识,还涉及到与用户沟通的能力。在进行需求获取和分析时,为了及时、准确地获取,可采用软件工程中比较成熟的方法,例如访谈、实际调查、UML的用例技术等。需求分析在软件系统分析与设计阶段起着桥梁的作用,确定了系统的需求,才能制定出软件设计的框架,保证毕业设计循序渐进、有条不紊地进行,避免后期开发过程的频繁返工,进而按时完成最终的任务。 3.3规范毕业设计过程 软件开发类毕业设计一般是开发一个软件系统,实现一定的功能。“麻雀虽小,五脏俱全”,无论软件规模的大小、功能的多少,都应该严格按照软件工程中软件生命周期每个阶段的步骤完成各项任务。要培养学生把软件工程的概念贯穿于整个毕业设计过程,也就是说,让学生把开发软件的过程看成是盖一栋大楼,修一条公路的实际工程,用工程化的思想指导毕业设计,确定完成课题的各项任务的工作步骤,注重软件类毕业设计的过程,而不是学生所认为的毕业设计就是编程序,代码调试通过即可。通过工程的概念规范毕业设计过程,让学生明白开发一个软件系统一般经过系统分析、系统设计、系统实施三个阶段,必须严格遵循软件生命周期的规律,完成各个阶段的任务,才能最终提高毕业设计的质量。 3.4重视文档的写作 软件工程中的瀑布模型严格地规定了在整个软件生命周期的各个阶段,都要提交相应的文档。文档不仅记录软件开发过程中的大量信息,在软件的开发、维护过程中也起着重要的作用。在指导学生毕业设计时,要求学生遵照软件工程的思想,把文档作为整个设计的指挥棒,记载设计过程的每一阶段完成的目标、任务及技术手段,建立健全毕业设计文档制度,确保毕业设计过程中的文献综述、译文、任务书、开题报告、选题审题表、中期检查表、设计(论文)正文、答辩记录等各环节教学资料档案完善、规范,实现对毕业设计的全程监控。 4结束语 软件工程是软件开发工程化、规范化的具体实施方法,将其应用到毕业设计中,不仅有助于学生对软件开发相关知识的巩固和实践,而且对解决目前软件开发类毕业设计中存在的问题,提高学生毕业设计质量,具有极大的促进作用。 作者:王晓 王长波 单位:湖北医药学院 公共管理学院计算机教研室 软件工程毕业论文:软件工程本科毕业设计策略 一、利用多方资源做好毕业设计选题与立题工作 恰当的选题是做好毕业设计的必要条件和前提。近年来,随着信息技术高速发展,国家对高素质软件工程人才需求十分旺盛,并有逐年扩大的趋势。同时各个高校软件工程专业的招生数量也在逐年增加,从目前全国319所设有软件工程专业的学校看,2013年该专业平均招生300人左右。专业招生人数的增多给毕业设计选题带来了带来巨大挑战:一方面软件工程专业的毕业设计选题要求具有一定的应用价值、创新性,同时还要与行业需求相吻合;另一方面要保证选题的唯一性,不仅要避免学生之间的题目重复,还要避免与之前毕业生的题目重复,因为重复的选题会使学生产生投机的心理,导致“打酱油”现象。针对上述问题,黑龙江大学软件学院主要采取了以下几个措施:1.充分利用企业资源,对一部分在企业实习的学生采取“三位一体”的双导师指导模式。即企业项目为载体,学生为主体的模式,校内和校外导师为主导。这部分学生一般是在大三下学期暑假就已经进入企业实习,而我们每年毕业设计选题工作是在十一月末,也就是学生进入企业实习后三到四个月的时间,学生经过企业阶段的培训,对企业的生产过程、企业文化有了一定的了解。此时,学院组织校内外导师和学生共同协商,以企业项目或子项目为学生确定毕业设计选题。2.充分发挥导师的资源优势,学院大部分教师都有自己的科研课题,这些科研课题有些是直接来源于企业的横向课题,还有一些是信息技术领域的应用研究课题,我们鼓励教师从这些课题中提取出一些子项目让学生实践,作为毕业设计的选题。3.充分挖掘学生的专业技术特长和兴趣点并结合学生的择业倾向,确定最能发挥自身优势和潜能的选题。毕业设计的选题不仅要与实际需求相结合,更重要的是应该结合学生自身的技术优势和兴趣。只有学生对选题有兴趣,他们才能尽早地进入状态,发挥自己的创造能力和积极主动意识。所以,选题阶段导师和学生的沟通交流就显得尤为重要,通过沟通导师可以了解学生的能力、兴趣和择业倾向,学生也可以对选题,有进一步的认识,对于不感兴趣的选题学生也可以通过与导师进一步的探讨进行题目的修订。 二、注重环节审查,加强过程监管 虽然“好的开始是成功的一半”,但是如果缺乏中间环节的监管,仍然不能保证好的效果[4]。因此,为保证毕业设计(论文)的质量,我们制定了明确的质量标准、管理条例,并由院长、学术委员会、系主任和教务办主任组成毕业设计(论文)工作委员会,负责毕业设计(论文)工作的组织、评定和监管,同时保证管理条例的严格落实及各个环节工作的正常进行。为健全毕业设计(论文)的监管机制,学院先后规范和完善了《毕业设计(论文)工作管理办法和实施细则》《开题报告》《开题评分标准》《中期报告》《中期检查标准》《毕业设计(论文)撰写规范及模版》《毕业设计(论文)盲审表》《答辩程序和评分标准》等一系列管理办法和文档标准,使毕业设计工作在制度和规范下能顺利有效地进行。每年毕业设计工作之初,我们都要给学生开一个动员会,在会上阐明毕业设计(论文)的重要性,以及毕业设计对他们未来工作的影响,调动他们学习的主动性、积极性和创造性。此外,系主任还要向学生介绍学院毕业设计(论文)管理办法和实施细则,各阶段的工作要求和时间节点,以及各环节检查的内容、需要提交的文档,使学生在毕业设计开始时能做到心中有数。同时,我们也要求指导教师随时解答学生的问题,坚持每周开例会,检查学生的工作完成情况,并提出一些有技术含量和理论深度的问题启发他们思考,激发他们的学习热情,并与学生一起确定后续任务。此外我们组织开题检查、中期检查,对开题检查成绩后30%的学生,不但检查中期报告,还要现场检查程序。对于中期检查不合格的学生,要求限期整改,如果仍然不合格则取消答辩资格。在答辩之前,我们还要对论文进行盲审,盲审不合格的学生不允许答辩,对有异议的论文要提交学术委员会做最后论证。虽然学院对毕业设计(论文)工作在各个环节上的审查都非常严格,但我们鼓励学生之间进行研讨交流,博采众长,相互提高,因为我们的目的不是抓出多少不合格的学生,而是想通过大学阶段最后的综合性实践教学环节训练,培养学生的学习能力、知识的综合运用能力、分析解决问题能力和沟通交流等综合素质。 三、严把答辩关,保证毕业设计质量 答辩是毕业设计(论文)考核阶段的最后环节,这个环节既是学院对学生毕业设计的验收和鉴定,同时也是学生对自己工作的总结和汇报。通过答辩,学生不仅展示了毕业设计工作的效果,更展示了自己的专业知识、技术水平和综合素质。作为教师,每年都要指导多个毕业设计(论文),而学生一生只能经历一次本科毕业设计,而且毕业设计答辩能否顺利通过,直接关系到学生毕业及学位资格的认定。因此对学生来讲,毕业答辩至关重要。这有点像外科医生与患者的关系:医生每年要做很多手术,对他们而言手术已是司空见惯,但对于患者本人,可能一辈子才上一次手术台,而且生命攸关。所以,我们要在毕业设计指导过程中,认真对待每一位学生。同时在毕业答辩中严格把关,保证质量,更要秉承“公开“”公正”“公平”的原则。我们的毕业设计(论文)答辩采用小组面试形式,每组由四位副高职以上教师组成,答辩流程如图1所示。答辩当天向学生公布成绩,毕业设计(论文)总成绩由开题成绩(10%)、中期成绩(10%)、指导教师成绩(10%)、答辩成绩(70%)构成。对于优秀的和不及格的学生,我们还会重新组建答辩组进行二次答辩。这是考虑到答辩组之间认同度的差异而导致评分标准出现偏差,可能有些答辩组打分会偏低,有的组打分会偏高,即各个答辩组评分信度不能达到一致。二次答辩可以有效地消减组间评分差异,从而使申报校优秀论文人选和未通过人选的确定做到公正、公平和有效。针对软件行业特点,我们通过强化实践教学环节,合理利用多方资源拓宽毕业设计(论文)选题途径、健全和完善毕业设计(论文)的监管机制等手段,确保了毕业论文质量的稳步提高。几年来,黑龙江大学软件学院的毕业设计(论文)质量受到校内外专家的一致好评,获校优秀论文比率一直位于学校前列。实践证明,加强毕业设计(论文)质量的监管,不但提高了学生工程实践能力、独立科研能力和创新意识,为学生进入工作岗位打下了良好的基础,进而也提升了学生的就业率。 作者:任美睿 金英 郭龙江 单位:黑龙江大学 软件工程毕业论文:论述软件工程的毕业设计运用 1软件工程在毕业设计中的作用 软件工程不仅是计算机科学与技术专业、软件工程专业的一门专业基础核心课程,也是其他相关专业,如信息工程、系统工程、信息与计算机科学、信息管理与信息系统等专业的重要应用技术课程。对于这些专业的学生来说,毕业设计多是以软件开发类项目为主,整个毕业设计就是开发一个软件。为了更好地完成软件开发类毕业设计,提高学生毕业设计的质量,进一步规范毕业设计中的软件开发过程是必需的。软件工程的思想正是用工程化方法构建和维护有效的、实用的和高质量的软件。按照软件工程思想,软件开发的生命周期分为可行性分析、需求分析、总体设计、详细设计、编码实现、软件测试和软件维护几个阶段。在学生的毕业设计中以软件工程的思想为主线,从软件工程的角度去指导学生进行毕业设计,挖掘软件工程在系统开发过程中的价值,解决毕业设计中存在的一些问题,既有助于学生更好地理解软件工程的方法、技术和思想,更有助于提高软件类毕业设计的质量。 2毕业设计中存在的问题 笔者在指导学生软件开发类毕业设计过程中发现,毕业设计存在着选题难、任务重、重视编码、轻过程、项目无法完成等现象。设计过程中没有严格地遵循软件工程的开发方法,没有规范的软件设计过程,项目能否成功主要依赖于个人能力和个人努力,这种不正确的开发方法带来了严重的后果。在项目开发的过程中常常存在以下几个方面问题: 2.1选题的盲目性 选题是毕业设计过程中的一个初始环节,选题恰当是做好毕业设计的前提,但选题不当的情况仍然时有发生。学生没有认识到毕业设计的重要性,纯粹是为了完成学业而做毕业设计,选题没有一个确切的目标,往往是随便选一个题目,造成选题的盲目性,出现了选题陈旧、选题范围狭窄、选题偏大等问题,使学生抄袭、完成不了毕业设计的情况时有发生。 2.2缺少软件的系统分析 软件开发过程的第一个阶段是系统分析,用来确定软件开发要解决的问题是什么?估算完成该项目需要的资源和成本,确定目标系统应该具备哪些功能,主要经历问题的定义、可行性分析和需求分析三个阶段。软件的系统分析确定了用户需求,同时对目标系统提出完整、具体的要求,引导开发者正确地构建系统。因此,对用户需求做出全面、正确的分析,对于最终软件开发类毕业设计的成败起着至关重要的作用。然而在完成毕业设计过程中,学生往往认为代码编写最重要,对软件开发过程中的可行性分析和需求分析阶段不重视,甚至没有系统分析,对整个毕业设计的完成造成了影响。 2.3软件设计过程杂乱无章 软件设计一般都要经历可行性分析、需求分析、总体设计、详细设计、编码和测试阶段。而部分学生在毕业设计开发的过程中,缺乏软件工程设计思想,跨越需求分析、概要设计、详细设计和功能模块设计,直接进行代码的撰写;或者从代码反推出模块设计;甚至在软件开发过程中,一边写程序,一边了解需求,程序完成了需求才确定。这种无序的软件设计过程,导致最终设计的系统杂乱无章、代码的重复率高、潜在?Bug多、系统的可集成性非常差、不能在规定时间内完成设计或者系统无法运行。 2.4开发过程中文档不完备 根据软件工程学的基本原理,软件=程序+文档,可见软件文档是软件开发过程中不可缺少的组成部分。软件文档贯穿于软件开发的各个阶段,是提高软件产品开发效率、规范软件产品开发过程、保证软件产品质量的关键。但在实际毕业设计中,很多同学认为把程序代码编出来了,毕业设计也就完成了,提交的毕业设计论文就是系统代码的复制,即只做出一个可演示可操作的系统,而忽略了软件开发的完整性、系统性。完整的毕业设计不仅包括可操作的系统,还包括在开发系统的过程中所产生的各个文档资料。文档的缺失会降低软件开发的效率、影响整个软件的开发、使用和维护。以上问题的存在,严重影响了毕业设计的进度和质量,没有达到毕业设计的目标要求。针对当前毕业设计的现状和存在不足,笔者认为应用软件工程学的思想指导毕业设计,对促进学生综合素质与工程实践能力培养具有积极意义。 3用软件工程思想指导学生进行毕业设计 3.1以可行性研究指导选题 可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。毕业设计题目的选择,应立足于解决工程实际问题,可由指导教师提供符合相关专业毕业设计要求的题目,也可以鼓励学生自己到社会、生产企业中寻求研究课题,培养他们自主学习的意识。选题过程以可行性研究为指导,从课题规模大小、难易程度、学生自己的研究方向、爱好、学生的知识层面和能力等多个方面进行考虑,对于选择的题目是否能够解决,确定在规定的时间内完成毕业设计的可行性。指导教师可根据学生选报的题目来指导学生对该选题进行调查研究,明确课题要解决的问题是什么,简要地写出关于问题性质、项目目标和项目规模的书面报告。可行性研究来指导毕业设计的选题,实质上是简化了系统分析和设计的过程,也是在较高层次上以较抽象的方式进行的系统分析和设计的过程,使学生对于课题的设计有个清晰的思路,为及时完成毕业设计提供了可能。 3.2重视软件的需求分析 需求分析的基本任务是准确地回答“系统必须做什么”,即确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求,不仅指明了系统设计时必须要实现的目标,也是软件设计、实现、测试和维护阶段的主要参考标准。用户需求的获取是软件开发中最重要、难度最大的工作,它贯穿于整个软件设计过程,不仅要涉及到软件开发方面的知识、应用领域方面的知识,还涉及到与用户沟通的能力。在进行需求获取和分析时,为了及时、准确地获取,可采用软件工程中比较成熟的方法,例如访谈、实际调查、UML的用例技术等。需求分析在软件系统分析与设计阶段起着桥梁的作用,确定了系统的需求,才能制定出软件设计的框架,保证毕业设计循序渐进、有条不紊地进行,避免后期开发过程的频繁返工,进而按时完成最终的任务。 3.3规范毕业设计过程 软件开发类毕业设计一般是开发一个软件系统,实现一定的功能。“麻雀虽小,五脏俱全”,无论软件规模的大小、功能的多少,都应该严格按照软件工程中软件生命周期每个阶段的步骤完成各项任务。要培养学生把软件工程的概念贯穿于整个毕业设计过程,也就是说,让学生把开发软件的过程看成是盖一栋大楼,修一条公路的实际工程,用工程化的思想指导毕业设计,确定完成课题的各项任务的工作步骤,注重软件类毕业设计的过程,而不是学生所认为的毕业设计就是编程序,代码调试通过即可。通过工程的概念规范毕业设计过程,让学生明白开发一个软件系统一般经过系统分析、系统设计、系统实施三个阶段,必须严格遵循软件生命周期的规律,完成各个阶段的任务,才能最终提高毕业设计的质量。 3.4重视文档的写作 软件工程中的瀑布模型严格地规定了在整个软件生命周期的各个阶段,都要提交相应的文档。文档不仅记录软件开发过程中的大量信息,在软件的开发、维护过程中也起着重要的作用。在指导学生毕业设计时,要求学生遵照软件工程的思想,把文档作为整个设计的指挥棒,记载设计过程的每一阶段完成的目标、任务及技术手段,建立健全毕业设计文档制度,确保毕业设计过程中的文献综述、译文、任务书、开题报告、选题审题表、中期检查表、设计(论文)正文、答辩记录等各环节教学资料档案完善、规范,实现对毕业设计的全程监控。 4结束语 软件工程是软件开发工程化、规范化的具体实施方法,将其应用到毕业设计中,不仅有助于学生对软件开发相关知识的巩固和实践,而且对解决目前软件开发类毕业设计中存在的问题,提高学生毕业设计质量,具有极大的促进作用。 作者:王晓王长波单位:湖北医药学院公共管理学院计算机教研室 软件工程毕业论文:开发编程的软件工程毕业策划研讨 1组织方式 实际上,上述选题机制是将分散的毕业设计引导形成基于团队的角色学习环境,学生在教师的统一带领下,对项目进行设计并划分模块,独立负责不同模块的开发,并且在教师的指导下,充分体验不同模块之间的沟通和集成问题,使学生能够贴近企业项目开发的实际情境,体会到实际项目身临其境的感觉,从而提高毕业设计对于毕业生的锻炼价值和质量。 敏捷宣言认为人和交互胜过过程和工具。以此原则为指导,在毕业设计实施过程中,要求学生组内成员和小组之间加强交流沟通,对于毕业设计过程中产生的文档,要求学生着重记录交流过程,而非交流结果。敏捷宣言认为客户合作胜过合同谈判,意义在于业务人员应该参与到项目开发的整体过程中,达到整个项目开发团队能够把握项目开发方向。对于软件工程毕业设计来说,意味着在选择毕业设计所涉及到的项目原型时,应尽量贴近学生实际,例如选择教务管理系统、教学管理系统、图书管理系统等学生经常接触和使用的应用系统,或是指导教学正在从事的横向或纵向课题。要求选择指导教学或学生自己能够扮演客户的角色,学生对于所开发的系统的需求了然于胸。 2管理方式 敏捷宣言认为可以工作的软件胜过面面俱到的文档,可以工作的软件是进度主要的度量标准。以此原则为指导,对毕业设计过程中要求撰写的文档可适当弱化,而是要求将项目程序代码保存到统一版本库,并保持版本库中的代码是可部署和运行的。极限编程的推荐实践方式认为对于项目开发应该尽早测试、经常测试、自动测试。在毕业设计的实施过程中,要求学生对于测试计划、测试用例及测试驱动开发(TestDrivenDevelopment,TDD)都有所了解,使用由学生指导教学编写的自动测试来监控开发进度,支持系统的演化,并尽早发现缺陷。上述管理方式就现阶段软件工程专业的毕业设计来看,实施比较困难,但应尽力发展,从而弥补现有人才培养方案中对于软件测试不够重视的缺陷。 极限编程推荐增量设计、开发和频繁重构。这也是毕业设计过程中应采纳的做法。对于一个指定的项目,要贯穿整个毕业设计过程,以各个阶段时间点为标志,要求学生以增量的方式来完善项目开发,在毕业设计过程中,要体现项目的渐进式开发,各个时间点都要求学生完成项目的相应部分,并且要求项目代码的主版本随时处于可部署、可运行状态,对于系统架构和代码结构等方面,可通过重构来优化。对于代码重构的的粒度和频率,可由指导老师根据实际情况具体把握,以模块化和符合软件设计模式等特征为参考依据。 3考核方式 鉴于以上组织和管理方式,在进行毕业设计(论文)考核时,应在传统的毕业答辩环节考核基础上,考虑以下因素:一是在毕业答辩考核时,要注重考查学生所写代码的功能,而不是形式上的开发文档。二是极限编程推崇结队编程(PairProgramming),因此,在毕业设计进行过程中要求学生不要局限于自己的毕业设计课题,而应该是两个人一起完成两个课题,双方都参与到对方的项目中去。在毕业答辩考核时,也应采取相应的考核办法,交叉检查学生的编码工作量。三是极限编程提倡短周期。也就是说,毕业设计过程中,应该交付多个可运行的系统版本(功能是递增的,但指定功能的版本是可用的)。因此,在毕业答辩过程中,要求学生就系统的多个可运行版本进行演示。总而言之,软件工程专业的毕业设计(论文)的考核,除了依据传统的毕业答辩考核标准之外,还需结合敏捷开发和极限编程的特点,综合考查编码协作、增量设计、测试驱动开发、持续集成等特征是否体现在学生毕业设计(论文)中。 典型过程及相关支撑工具 在确定指导老师和设计课题后,学生将展开毕业设计的具体过程,根据以AD和XP为指导思想的典型毕业设计过程,具体过程如图1所示。以上典型过程中的具体步骤,都有成熟的支撑工具可选用,使整个毕业设计过程实现信息化管理,其中项目管理工具可使用PivotalTracker,测试管理工具可使用MercuryQualityCenter,自动测试可使用开源集成测试环境,如Jenkins,代码管理工具可使用VisualSVN(服务器端)和TortoiseSVN(独立客户端)及SubclipseSVN(IDE集成客户端)。 软件项目管理工具PivotalTracker是由公认的敏捷软件开发老大PivotalLabs开发的基于故事、简单、有效、敏捷的软件项目管理工具,适用于各类型的项目,并通过敏捷项目管理的理念让项目能够有条不紊的进行,使项目的开发效率大大提高。操作界面如图2所示。 测试管理工具MercuryQualityCenter提供了基于Web的,可在广泛的应用环境下自动执行软件质量测试和管理的功能,使IT团队能够在开发流程完成前就参与应用程序测试。这样将缩短时间表,同时确保最高水平的质量。操作界面如图3所示。版本库管理工具SVN是用于实现对代码、文 件等的修改、删除、增加等操作进行记录,并且可以追溯每个修改细节的通用工具,它基于C/S架构,需要服务器和客户端软件,其中SVN服务器可以使用VisualSVN,独立客户端可使用ToitorseSVN,而IDE集成客户端可使用Subclipse。 结语 软件工程专业毕业设计具有鲜明的实践特征,需要具体的实践原则做为指导来提升毕业设计(论文)的质量。我们引入敏捷开发和极限编程的相关原则,构造软件工程专业毕业设计的具体实施过程,并将其应用于实际教学过程中。下一步工作将对于这一全新的探索和尝试,在实践过程中针对具体出现的问题进行改进和完善,使这一毕业设计模式更加适用于软件工程专业,并在条件成熟时向计算机相关专业推广。 作者:曾志浩肖小克单位:湖南工业大学计算机与通信学院 软件工程毕业论文:软件工程毕业策划的管制方案探新 规模使得精细化指导与管理变得困难 原有毕业设计环节管理由于参与指导的教师人数相对较少,每名教师指导的学生也不多,而且所有教师均为本系教师,大家彼此非常熟悉,在一起教学研讨的时间也很多,所以大家对各环节的要求及约定比较容易统一,对每个学生的指导时间也较多。但随着参与指导毕业设计教师数量的提升,指导学生数的增加,特别是聘请了外系教师的支援,原有会议讨论式、心理记忆式的约定及规则已经不能适应管理要求。这就必然要求规范毕业设计环节的管理,统一考核指标,让大家在一个统一的框架下实施毕业设计的指导与考核。 软件过程及评价主观性强 软件及开发是个主观性强,知识、劳动密集型工作,同一个项目或任务,由于每个人项目经历、经验的不同,不同的人所得出的满足需求的合格产品是肯定有区别的,但在质量、灵活性、可扩充性方面可能存在很大差别。同时,对于软件产品,不同人会有不同的评价,具有强主观性的特点。这种强主观性使得对毕业设计的评价难以用客观的量化的评价指标和体系进行度量,对教师间把握统一的考核尺度制造了困难。 师生面对面交流机会越来越少 由于就业形式的变化,各本科院校的培养模式也作了一定的改变,为了让学生能更方便的外出找工作,更早的接触社会,大部分高校第八学期除了毕业设计,基本上就没有其他的教学任务。重庆理工大学也存在类似情况,在第八学期,大部分学生没有待在学校,有的在外联系工作单位,有的提前到单位实习,甚至有的以在外找工作为借口待在家里,学生的分散性使得教师和学生之间面对面交流的机会少之又少,给毕业设计环节的指导和管理工作带来了难度。 选题类型趋于多样性 为了培养学生层次、方向的多样化,软件工程专业的毕业设计不仅只有传统的系统分析、设计与开发类的题目,还涉及论文类及算法类等类别。根据对前几届毕业设计环节的综合统计,系统分析设计开发类选题所占分量最多,占70以上。由于不同题型的毕业设计需要应用的知识、实施过程、考核重点都存在很大差异,不同题型之间的考核没有对比性,因此需要针对不同的选题类型制定相应的考核指标和评价标准。 现有管理中存在的问题 毕业设计是一次综合锻炼学生应用所学知识解决问题能力的过程,涉及的环节比较多,存在的问题也不少。综合分析,存在以下三个典型问题: 1历史题目重复率高,抄袭现象难以控制 每年都有几个班的学生毕业,毕业设计都要实施。在纸质时代,抄袭成本大,抄袭源也比较难找到,因此抄袭现象相对较少,不同届学生的题目相同并不会影响毕业设计质量。然而,随着互联网技术在给广大民众带来方便的同时,也给学生的偷懒提供了契机。由于大部分学生在外实习,教师很难有效的监督学生,有相当一部分学生考虑到自己毕业后不从事软件开发等相关工作或工作比较忙,不愿意投入时间好好地完成毕业设计,而是从互联网抄袭,甚至通过互联网购买。 2学生对考核的公正性存在质疑 由于参与综合实践环节的学生人数和指导教师规模越来越大,综合实践环节在进行质量考核时必然要进行分组。由于大家没有统一的考核指标体系及标准,同一水平的毕业设计处于不同考核小组,可能得出截然不同的成绩;甚至有指导教师认为较好的论文在答辩时被判为不及格现象。造成的严重后果是学生对论文评审、答辩过程公平性的质疑,对学校的声誉带来不良影响。其原因是由于不同教师间、各不同小组之间缺乏一个统一的评判标准,分组的不均匀分布而导致了评审的不公平性。 3学生难以获取实际需求 由于学生人数众多,只有少部分学生能参与到教师的实际科研项目中,大部分学生只能以虚构的题目为背景,没有具体的企业为依托。因此,很获取项目的具体而详细的需求,学生所完成的也只能是一些通用功能的系统,系统业务逻辑比较简单,甚至基本没有业务逻辑,仅仅是简单增加、删除、修改等功能的拼凑,不能真正体会到系统分析和设计的内涵。 软件专业毕业设计管理对策 软件工程专业毕业设计管理是很多高校都比较棘手的问题,也有不少教师已提出了一些很好的策略。根据对多年毕业设计执行情况的分析与总结,作者认为软件工程专业毕业设计管理和考核中存在众多问题的主要原因有以下三点:重结果轻过程的考核方法;缺乏统一的考核评价体系;管理过程不规范,随意性大。因此,本文主要从建立量化考核指标体系、规范毕业设计过程管理和其他一些辅助策略进行探讨,如图1所示。 1建立量化考核指标体系 建立量化考核指标体系包括细化考核指标和建立考核评价体系两部分。考核指标体系是一把双刃剑,它除了可以对学生的毕业设计过程和结果进行考核外,也给学生提供了完成毕业设计目标的指导。在实际操作中,将对毕业设计的考核从过程检查、评阅、答辩等几个环节进行考虑,各环节又有细分指标,如论文选题、工作量、分析设计,程序运行、系统界面、论文结构、熟悉程度等,用权重表示指标的重要性程度,每个指标有几个不同得分等级,每个等级对应一个可参考的评判标准,从而将以前的主观考核变为根据指标进行量化计算,有效地减少人为因素对评价的影响。 2规范毕业设计过程管理 传统的考评方式重视对结果的考核,缺少对过程的考核,大多数学生在进行实践环节任务时,没有一个良好的系统分析、设计、开发习惯,完全是“灵感触发”式的完成的,因此最终提交的往往是低劣的文档或代码。软件产品是知识密集性产品,实践证明,有效的过程管理是生产出好产品的一个必要条件。因此,必须规范毕业设计的课程管理,借助于3.1节建立的考核体系,对过程中的开题、需求文档、设计文档等关键环节进行考核,使学生在完成毕业设计的每一步时有明确目标的指导,通过过程的管理促使学生完成高质量的毕业设计成果。为了减少人为因素的影响,有必要建立毕业设计过程管理及控制系统,用管理信息系统规范毕业设计的过程管理。 3采用团队培养模式 系统分析与设计的能力是软件工程专业学生需要培养的一项最主要能力,而简单的系统开发或项目由于功能简单、业务单一,对锻炼学生的系统分析和设计能力作用不大。因此,可以采用多名学生组团共同完成一项较复杂系统的方式,每名学生负责其中的一部分,学生之间通过对复杂点的业务逻辑的讨论来提高系统分析和设计的能力,通过团队合作来了解项目管理与软件工程方法的精髓。 4与企业合作指导 由于企业面对的都是实实在在的项目,有自我学习的环境氛围和压力,在培养学生动手实践能力方面有其独特的优势。在企业,每天都有相应的任务,在完成任务过程中,必然会碰到各种类型的问题,会寻求问题的解决方法,在解决问题的过程中很自然地就提升了自己的能力。这种任务驱动的学习方法和实际项目环境下的压力在学校是很难提供的。近些年来,学院也在加强与企业的合作,在有条件的情况下尽量派学生深入到公司、企业进行实习,已签约的学生也可以提前到签约企业工作,以企业的项目来完成其毕业设计环节,实现企业、学校共同指导的方式。 结束语 毕业设计环节由于实践性、综合性强,涉及知识点多,其管理与考核一直是让人头疼的问题。论文描述了重庆理工大学软件工程专业毕业设计环节的背景和现状,指出了软件工程专业毕业设计质量难于管理和考核的特点。通过对近几年毕业设计开展情况的总结与分析,发现了毕业设计质量难于考核和控制的具体原因,并指出当前毕业设计管理和考核所存在的问题,最后提出了解决这些问题的一些具体实施策略。结果表明,策略的实施对毕业设计过程的管理及考核答辩工作有较大的作用,学生毕业设计质量有了显著的提高。 作者:刘智王森闫河单位:重庆理工大学计算机科学与工程学院 软件工程毕业论文:软件工程思想在应用型高校毕业设计中的应用 摘要:针对地方应用型本科高校计算机软件类毕业设计质量不高的问题,对毕业设计中存在的问题进行分析,并结合软件工程的基础理论,提出利用软件工程思想对计算机软件类毕业设计进行指导,以提高地方应用型普通本科高校毕业设计的质量。 关键词:软件工程;毕业设计;应用 一、引言 毕业设计是本科毕业生在校期间的最后实践和综合实训阶段,是实现本科教育培养目标的重要组成部分,是深化、拓展、综合应用所学理论知识的重要过程;也是综合素质与工程实践能力培养效果的全面检验;是学生毕业及学位资格认定的重要依据;是衡量高等教育质量和办学效益的重要评价,是对专业理论知识和专业技术综合应用能力的强化训练和提升[1]。在毕业设计的过程中,学生利用所学专业理论知识,通过了解社会,分析社会需求,深入实践,完成毕业设计的任务和撰写毕业论文(设计)报告等各个环节的工作。对于地方应用型普通本科高校而言,毕业设计就相当于一般高等学校的毕业论文,但是毕业设计不同于毕业论文,它的组成部分不只是一篇学术论文。应用型高校的毕业设计注重的是“应用性”和“实践性”,学生毕业设计要求学生针对某一课题,综合运用本专业有关课程的理论和技术,自己动手动脑做出解决实际问题的设计。目的是总结、检查学生在校期间的学习成果,是评定毕业成绩的重要依据。同时,通过毕业设计,可培养学生开发项目的基本综合能力,为学生就业能力中的专业能力奠定坚实的基础;培养综合运用已有知识独立解决问题的能力,从而加强学生应用能力的培养,使学生能够学以致用。 二、地方应用型普通高校计算机相关专业学生毕业设计的现状 近几年来,由于学校对毕业设计要求不断提高,学生从选题到设计再到写出毕业设计报告的过程中总存在这样那样的问题,最终有个别同学没有顺利通过毕业设计,没有拿到毕业证和学位证的情况时有发生,并且大多数毕业设计的水平不高,达不到培养学生独立解决问题和提高学生应用能力的目的。因此,如何指导学生做好毕业设计,提高学生毕业设计水平和质量,是地方应用型普通高校面临的一个重要问题。 (一)毕业设计选题现状最近几年,我校计算机相关专业毕业生自进入大四秋季学期开始,在进行毕业实习的同时,也进入了毕业设计准备阶段:毕业设计选题,虽然毕业设计选题过程中,各级领导、指导教师和学生在态度是都很重视,但是在选题时也会存在很多的问题,主要有以下三个方面。1.选题不够准确。部分学生选题未经深思熟虑,所选毕业设计题目要实现的功能太多,在规定时间内不能独立完成,而最终只能实现部分功能,或部分模块。 2.题目相似或重复雷同。学生选题存在浑水摸鱼的思想,在毕业设计选题过程中不是根据自己的兴趣爱好、专业知识学习情况等确定研究选题,而是选择与他人类似或雷同的选题,甚至同一批毕业的许多学生选题一致。比如:“XX管理系统”等,除了可能冠以的系统名称不同之外,其余基本相同。 3.应用价值低。部分学生的选题是当前十分成熟的项目,没有研究的必要;有些选题已经被淘汰,在实际生活和工作中没有多大用途。 (二)毕业设计需求分析阶段现状 通过调查,许多学生选题完成后,没有对自己所做毕业设计选题进行仔细了解、分析,他们认为在毕业设计中最重要的就是编程,其他方面一带而过[2],从而造成毕业设计过程中主题经常进行修改,最终使得整个系统杂乱无章,无法继续进行下去。因此学生在毕业设计的需求分析阶段主要有以下三个方面的问题。 1.选题后未进行实际调查研究,甚至未查找相应的参考文献。 2.需求分析进行得不彻底、不准确,即使选题后查找了参考文献和资料的,也未做充分了解和分析。 3.在需求分析阶段没有写出需求规格说明书或系统分析报告就匆忙进入系统设计阶段,导致随着系统设计的逐步深入,原来确定的需求不能满足毕业设计的需要,正在进行的设计与开始的期望和设想又不相符。 (三)毕业设计系统设计阶段现状 在系统设计阶段,普遍存在以下两个方面问题。 1.由于需求的不明确,在进行系统设计时,修改随意,没有严格按照软件开发的步骤进行。好多学生在进行系统设计时并没有建出相应的功能模型,不管是用例图还是DFD图都没有,而且系统设计过程中功能随意变换,并且各功能模块的层次结构不清晰,使得整个系统的功能模块划分凌乱,不符合软件设计中“高内聚,低耦合”的原则。 2.在软件设计过程中,不先进行概要设计、详细设计和模块设计,没有软件的过程性描述,直接进行编码,存在想到哪里就做到哪里,走到哪儿算哪儿的随意思想[3],当前内容没有做完便开始其他内容,使得整个系统设计杂乱无章。在这样的一种研究状态下,即使完成了设计,效率也非常低下,软件结构混乱,功能实现不完全,降低了软件设计的质量。 (四)毕业设计实现阶段现状 通常把编码和测试统称为实现。在进行软件设计后,就可以根据设计结果来实现,将软件的过程性描述编码,得到计算机可以运行的源代码。在实现阶段主要有以下几方面的问题。 1.编码随意。学生在编码的过程中,不注意编程风格的把握,导致程序的可读性、可理解性、可修改性等较差,在答辨的过程中,要求指出某个功能模块的代码时,经常要花费很多时间才找得到。 2.测试和调试可有可无。大部分学生在毕业设计的软件编码完成以后,从没有想过进行完整的系统测试,或者只对个别功能进行测试或是随意测试,没有按照测试步骤逐步进行;基本没有单元测试和集成测试,一般只是最终随便输入几个数据简单检测一下,如果有错,修改了就算完了;也没有进行回归测试,没有测试计划,没有想过用什么测试技术来检测某一类型的错识,没有相应的测试用例,也没有测试结果分析。由于学生毕业设计都是一人一题,基本上是一个人完成所有步骤,就算有测试,在测试阶段也是自己进行测试,从心理学的角度来说,自己对自己开发的软件进行测试是不可取的。由于前面阶段的文档不完善,也不重视测试过程,不清楚是否实现了系统最初设计的功能,是否达到相应的性能要求,总以为程序做出来后毕业设计就完成了,使得毕业设计经常在更换运行环境或答辩时发生错误和问题,从而使得设计得不到好评甚至无法通过。 (五)毕业设计应用现状 最近几年,我校计算机相关专业毕业设计投入使用数量接近于零。究其原因主要是由于设计不完全,未进行测试和调试,存在的错误和缺陷较多,文档和数据不完整,导致所开发的系统或软件不能方便地转让、变更、修正、扩充和使用,也没有为后期培训、维护留下完备的资料;因此,不能投入到真正的使用过程中,也不能实现系统或软件产品的效益。 三、软件工程思想的应用 软件工程(SoftwareEngineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程中的软件生命周期是一个软件从软件定义、开发、运行和维护,直到最终被废弃的整个过程[2]。地方应用型普通高校计算机相关专业学生毕业设计基本都是开发一些中、小型应用系统或软件,因此,学生毕业设计也要经历软件生命周期各个阶段,严格遵守软件工程的各个原则,这样有助于解决毕业设计中存在的问题,提高毕业设计的质量。通过对应用型普通本科高校计算机相关专业的学生在进行毕业设计的过程中存在的问题进行分析,在毕业设计的过程中,必须运用软件工程的观点、技术和方法来指导毕业设计,这样既节约了毕业设计的时间和学生的精力,也能做出最优质的毕业设计。 1.选题过程中的应用。毕业设计选题就是软件生命周期的问题定义中的问题提出阶段,选好题目是进行深入研究的基础,也是写出高质量毕业论文的前提。地方应用型普通本科高校计算机相关专业的毕业设计选题必须做到以下几点:(1)必须在对选题做了充分调查、分析,对检索的参考文献、资料有了整体把握的基础上提出。(2)必须符合本专业培养方案规定的培养目标的要求。(3)以选择工程性较强的课题为主,确保有足够的工程性训练。(4)要有明确的设计成果,对于较大型任务的课题要明确阶段性成果。(5)要达到规定的工作量,难易度适中,确保能在规定的时间内完成整个课题工作。(6)要围绕生产生活实际,所选题目一定具有一定的理论意义和实践意义,具有一定的价值。(7)原则上一人一题,对于较大型任务的课题,每个学生必须有独立子课题。结合以上几点,分别从专业基础、现实意义等方面进行全面分析,进行取舍,最终得出选题。 2.开题过程中的应用。在毕业设计的开题过程中,需要明确所选题目的选题依据(包括选择课题的背景、选题研究的理论及实践意义)、选题研究现状(包括目前国内外对本选题的研究情况和有待解决的问题)、研究内容与方法,而这些就是软件工程中需求分析阶段应该做的事情。需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作[3]。因此开题过程中最重要的是进行需求分析,需求分析具有决策性、方向性、策略性的作用,在软件开发的过程中具有举足轻重的地位。需求分析完成的好坏直接影响后续软件开发的质量。开题过程中需要指导学生大量地阅读相关的研究资料,同时根据资料进行分析研究,对当前毕业设计的研究进度做到心中有数,明确毕业设计的具体方向,写出毕业设计的研究内容与方法,得到相应的设计提纲,解决好设计什么,如何设计的问题。因此,应用好软件工程的思想来指导毕业设计的开题是至关重要的。根据学校对学生毕业论文的要求,在计算机相关专业的毕业设计报告中,要求要有数据流图、数据字典等相应内容,而软件工程中的数据流图(DataFlowDia-gram,简称DFD),它是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。它是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理[3]。因此,在这个阶段,要指导学生按照DFD图的要求,确定设计的功能,然后根据系统分析结果写出分析报告,就得出毕业论文中系统分析阶段的初始文档。 3.在实践研究环节的应用。根据需求分析(开题阶段)的结果进行软件的概要设计和详细设计,注意在设计过程中要严格按照软件工程对于设计阶段的指导原则来进行设计。将概要设计阶段需求分析得到的DFD转换为软件结构和数据结构,即是根据需求确定软件和数据的总体框架,设计出软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。然后再进行详细设计,设计出每个模块的实现算法、所需的局部数据结构,并且对每个模块写出过程性描述;为每个模块设计出一组测试用例,在进行测试时就以此测试用例来进行测试。详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后将根据这个“蓝图”写出实际的程序代码。因此,指导教师要对学生的设计过程进行监督和指导,防止学生盲目的进行编码。 4.在实现阶段的应用。在编码的过程中,要注意编程风格的把握,编程的风格在很大程度上影响程序的可读性、可测试性和可维护性。在测试阶段,可以进行交叉测试,即学生之间可以两两交叉,相互测试,以更好的达到测试效果,同时也培养了学生的团队意识和合作意识。在测试过程中要注意运用软件工程的测试原则和测试思想,严格按照单元测试集成测试确认测试系统测试验收测试的测试步骤进行,利用白盒测试技术进行单元测试,黑盒测试技术进行其他测试,并且在找出错误并修改后要进行相应的回归测试,确认修改了错误并且没有引入新的错误,这样有利于找到软件中的各类错误,提高软件的质量。因此,在软件的测试过程中,一定要严格按照软件工程中的测试原则来进行,不可随意进行测试,并且要注意测试文档资料的收集整理,要有相应的测试计划和测试报告。对学生的创造性的思维和想法,指导教师要给予支持,积极引导,鼓励学生大胆创新,用应用型人才培养目标来要求学生,保证高质量的毕业设计的完成。 5.在毕业论文(设计)报告方面的应用。对于应用型普通本科高校计算机相关专业的毕业设计而言,不单单是完成了一个系统的设计,还要有相应的设计报告,而设计报告的编写过程中,很多学生存在文字表达能力不强的现象,为了完成报告,就有可能会抄袭,特别是在软件开发的各个阶段文档材料不全的情况下更为严重。因此,在学生进行软件开发的各个环节中,指导教师都应该按照软件工程的观点来进行指导,并要求学生在各个阶段都完成相应的文档。这样在毕业设计报告撰写的过程中,只要将各个阶段的文档进行合并、整理就得到相应的设计报告,并且是一篇重复率不高的高质量的设计报告。6.在毕业设计实际应用方面的应用。因为学生在整个系统或软件过程中均按软件设计规范准备了文档和进行了完整的系统测试,从而为系统或软件的专利申请提供了充分必要的资料,并为毕业设计的实际应用打下良好的基础。 四、结语 计算机相关专业学生的毕业设计在学生的整个大学生活中具有极其重要的地位和作用,根据应用型普通本科高校人才培养的定位,主要是培养学生的独立思考能力、动手能力和应用能力。通过对软件工程思想在计算机相关专业学生毕业设计的过程及方法中的应用研究,逐步实现学生毕业设计的实际成果转化,从而为应用型计算机相关专业人才培养提供相应的借鉴。 作者:龙亚 张仕学 余廷忠 单位:贵州工程应用技术学院 软件工程毕业论文:软件工程专业毕业设计论文 1概述 在应用型本科院校中,尤其是软件工程专业,毕业设计作为教学计划的重要组成部分,是实践教学中的最后一个环节,也是对学生在校期间所学知识的一次综合、全面的总结、应用和提高。由于毕业生数量的不断增加和软件行业的迅猛发展,导致就业门槛越来越高,就业压力也越来越大,通过毕业设计过程中的训练,能有效提高学生的工程应用能力,使学生得到一定的实践经验,有利于学生从学校向工作岗位的平稳过度。因此,毕业设计质量的好坏,不仅反映了一所高校的教学质量,也会直接影响到学生的就业竞争力和就业后的职场适应能力。 2存在的问题 1)思想认识上不够重视学生方面:有些学生存在完成任务式的应付心里,避重就轻,能简就简,敷衍了事。有些学生则只重视找工作而轻视毕业设计,不愿在毕业设计上花费太多时间和精力,甚至有些学生还以找工作为由,完全依赖于导师,向导师索要源代码,甚至花钱在网上购买来交差。已经找到工作的学生,更是认为毕业设计做的好与不好对自己没什么影响,对待毕业设计也更加心不在焉。导师方面:大多数指导教师除了要指导学生毕业设计之外,还要承担大量的教学和科研任务,在毕业设计指导工作上能够投入的精力和时间非常有限,致使有些导师对毕业设计的指导工作不太重视,对学生放任自流,不管不问,或者是直接将相关源代码发给学生,以“简化”指导工作。由于思想上的不重视,学生学习态度不认真,导师指导工作不到位,造成毕业设计流于形式,疏于管理,效果较差,使得学生白白浪费了毕业前的一次综合训练机会。因此,如何充分认识毕业设计的重要性,并进行相应的教学改革是软件工程专业毕业设计必须要面对并解决的问题。 2)时间安排上不够科学毕业设计一般安排在第八学期,这期间刚好是学生求职和考研的黄金时间段,由于目前就业形势的日益严峻,学生就业压力越来越大,当求职和考研时间与毕业设计时间发生冲突时,学生都会选择将主要精力投入到求职和考研上,有些还要去外地求职、应聘考试、面试等,毕业设计自然是无暇顾及。而且,学校方面,为了保证就业率,往往对学生毕业设计的质量也是睁一只眼闭一只眼,这又在无形中鼓励了学生消极对待毕业设计的态度,毕业设计质量下降也就成为必然结果。 3)题目设置上不够合理由于毕业设计在高校各类教学活动中是最具综合性和独立性的,相对于常规课程而言,对指导教师要求也就更高,尤其软件工程专业,工程实践性比较强,但每年真正来源于实际工程项目的题目所占的比例较小,很多题目都是虚构出来的,导致有些题目不是理论性太强,就是缺乏具体需求的支撑,使学生很难从毕业设计过程中真正领悟到真实的软件工程方法。而有些指导教师自己都没参与过实际的工程项目,本身就缺乏实践经验,对学生毕业设计的指导只是凭着自己的感觉来进行,缺乏系统性、整体性、科学性和严谨性,学生遇到问题后,难以得到及时的解决,导致抄袭现象时有发生,甚至有些学生直接照搬往届毕业生的设计成果。毕业设计的主要目的在于通过毕业设计的训练来提升学生对所学知识的综合应用能力以及创新能力,从而实现学生从学校到工作岗位的平稳过度。但由于题目设置上的不合理,题量太少,层次不清,导致选题匹配效果差。在选题时,部分能力差的学生所选题目难度太大,造成毕业设计很难完成,而有些能力强的学生所选题目难度过小,达不到能力提升的目的。 4)过程监管上不够到位众所周知,对于软件工程项目而言,过程控制与管理是项目执行的关注点,毕业设计也当如此。虽然学校也会在毕业设计过程中组织对各阶段的工作情况进行检查,但执行检查工作的不一定是专业教师,使得这种检查大多只是对指导老师所填写的各种表格和文档等表面内容进行检查,对毕业设计的过程起不到实际的监督作用,再加之有些学生在校外求职或实习等原因造成指导教师与学生无法定期见面和沟通不畅等问题,使得指导教师难以用软件工程方法对学生进行指导。毕业设计虽然启动较早,但实际上很多学生前期在毕业设计上很少投入时间和精力,只是在答辩前为了完成任务而赶工应付,这样的毕业设计质量自然也就不佳。 5)量化考核上不够严格毕业设计成绩一般由平时成绩+论文成绩+答辩成绩三部分按一定比例构成,平时成绩由指导教师自行把握,论文成绩则由其他有经验的教师进行评阅,答辩成绩由答辩委员会老师按照相关评分标准打分并取平均分,这样虽然基本可以保证成绩的公正性,但成绩构成太简单,未显示地将开题报告、文献翻译、分析和设计过程以及总结等纳入到考核范围,对毕业设计的前期和中期工作没有约束力。在成绩评定时,有些导师要求不严,采取宽容迁就的态度。答辩时,通过门槛较低,造成大部分学生仅以答辩及格为目标,在思想上不重视,答辩准备工作不扎实。同时,学校为了提高学生毕业率,在最终答辩时,对毕业设计的质量要求也有所放松,这也是导致毕业设计质量难以保证的一个重要原因。 3采取的对策 时间安排上,可以提前启动毕业设计工作,将原来的第八学期开始提前到第六学期中后期,此时学生已经学完大部分课程,具有了一定的知识基础,而且学生都在校,可以随时与导师见面,指导教师也有充分的时间对毕业设计项目随时跟进,随时指导。导师资格审查上,对于软件工程专业来说,学生毕业设计的导师,应该由长期从事实际工程实践或者有较好科研成果的“双师型”(双师即“教师”、“工程师”)教师来担任,也可以聘请校外科研单位或企业中水平较高的工程师来担任企业导师,这样不仅可以减轻指导教师短缺的压力,也能促进指导教师队伍多元化模式的形成。题目设置上,要求题量要充分,使得水平层次不同的学生都能选到合适的题目;难度和工作量要适中,且要有一定的创意,使学生通过毕业设计的训练,在综合应用能力和创新能力上都能够得到有效的提高。有课题的指导教师要尽量结合自己的课题来设计题目,没课题的指导教师可以从与学校有合作的企事业单位中获取有实际意义的题目。鼓励学生根据自己的兴趣点和就业取向自拟题目,允许学生到实习企业中根据企业的实际工程需要选题和实施毕业设计,这样既能解决实际问题又可完成毕业设计。过程监管上,首先要在指导教师和学生之间建立有效的沟通联系机制和问题讨论的例会制度,充分发挥指导教师的引导作用,在毕业设计过程中,坚持每周师生沟通一次。学生提出问题,指导教师引导和总结,鼓励学生发挥主观能动性和创造力。同时,学校要成立由领导牵头、具有一定工程实践经验的专业技术人员组成的督导组,对毕业设计过程包括选题、开题、中期检查、答辩和成绩评定等各个环节实施有效的监控和督导,加强管理学生的同时也要加强对指导教师工作质量的检查,确保毕业设计工作能够有序、有效的实施。量化考核上,要对毕业设计从前期的开题、文献查阅,到中期的分析、设计、实现,再到后期的总结等各个阶段的进行量化考核,前一阶段的成绩考核不合格者,不能进行下一阶段工作,必须加以整改,直到整改合格后才能进入下一阶段。对于未能按要求如期完成毕业设计的可以推迟答辩,对于首次答辩不合格的可以进行二次答辩,仍不合格的,可以缓发毕业证。只有建立严格的考核制度,才能对学生有约束力,让学生从思想上重视毕业设计,进而保证毕业设计的质量。 4结束语 软件工程是一个实践性很强的专业,软件工程专业的毕业设计作为大学四年学习的总结,是学生从学校跨入社会前仅有的一次大检验,它不仅检验了学生对所学知识的综合应用能力和学生的综合素质,同时也检验了学校的培养模式和教学质量。毕业设计质量的好坏,不仅关系到软件工程专业的培养目标,也关系到学生的就业率与就业质量。因此,在就业形势日趋严峻的情况下,软件工程专业毕业设计的教学改革也要适应就业市场需求,紧跟行业发展变化,与时俱进。 作者:张华 单位:南阳理工学院 软件工程毕业论文:软件工程毕业设计改革实践 一、软件工程专业毕业设计存在的主要问题 (一)毕业设计题目设置与选题方面 题目设置不合理,类别与层次不清晰,选题匹配效果差[2]。学生的毕业设计课题一般都按照指导老师的研究方向和实际工程项目提供,但每年真正来源于工程实践题目比例较少。部分题目理论性强,学生根据所学知识不能很好理解;部分题目开发工具复杂,占用了毕业设计的大部分时间。在选题时可能导致学生想选的题目选不上,能力差的学生所选题目难度大,影响学生的积极性,导致选题效果差,造成毕业设计很难完成。 (二)毕业设计过程监控方面 毕业设计监控工作实施困难,效果较差。软件工程专业毕业设计一般包含选题、开题、中期检查、程序测试、撰写毕业论文、答辩、成绩评定。但对这些环节的监控有时候会形成空白带,毕业设计不在实验室进行,有的学生在实习单位实习,有的学生在外地找工作,老师不能定时与学生见面,老师无法了解学生的具体情况,且学生提交的各阶段文档流于形式,只有指导教师在进行监控,未形成完善的监控体系,导致监控不到位,监控效果较差[3]。 (三)毕业设计论文答辩方面 答辩考核方法单一,答辩仅由学生的讲解和老师的提问两个环节组成,考核准确度低。答辩通过门槛较低,答辩只对学生的毕业设计进行排名,一般排名在最后的学生才可能不及格,不利于提高学生毕业设计积极性,造成大部分同学仅以答辩及格为目标,思想上不重视,答辩准备工作不扎实。再由于软件工程专业特点,毕业设计软件作品评分标准难于量化,考核具有一定难度,也造成答辩效果不好。同时为了提高学生毕业率和就业率,毕业答辩的质量控制有所放松,直接导致了软件工程专业毕业设计质量难以保障。 二、软件工程专业毕业设计的教学改革 针对上述各项实际问题,主要进行的相关工作具体如下: (一)合理设置毕业设计题目,动态选题 依照软件工程专业的以市场需求为导向,培养应用型软件工程人才的培养目标,在毕业设计题目设置环节,紧紧围绕工程实际型、创新项目型、竞赛题目型、科研项目型等类型进行题目设置,以适应市场动态需求。同时着力避免在毕业设计题目中设置虚拟型题目、理论研究型题目、综述型题目、分析设计型题目等。在选题过程中,通过毕业设计管理系统(如图1所示)进行多轮双向动态选择,动态调整题目各项技术参数以保证学生能选择一个适合自己能力且能有利于自己以后工作的题目[4]。这样,在选题之后,每个指导老师就可以根据学生不同能力进行分别指导,使不同能力的学生都能够运用其所学知识解决工程实际问题,都能够通过毕业设计增强工程实践能力、工程设计能力与创新能力。近四学年软件工程专业毕业设计各类题目汇总。 (二)毕业设计过程实行三级监控管理机制 学校成立以主管副校长为组长的毕业设计工作领导小组以加强毕业设计宏观调控,学院成立以教学副院长为组长的毕业设计工作领导小组以加强毕业设计协调与监控工作,软件工程专业成立以专业负责人为组长的毕业设计工作小组落实并实施毕业设计各环节具体工作[2]。具体参见下图2。在实现毕业设计过程管理的三级管理机制的同时,为保障毕业设计工作质量,软件工程专业要求所有指导教师必须具有中级以上技术职称或硕士以上学位且有一定工程实践经验,具有较高教学、科研水平和创新能力,师德良好,工作态度认真负责。在每年的毕业设计指导工作开始前都对指导教师进行资格审查,择优任用,且每位教师指导的学生不超过6人,以保证指导教师对学生的充分指导[5]。 (三)毕业设计过程量化考核 以往软件工程专业毕业设计成绩通常由三部分组成:一是学生的平时表现由指导老师把握;二是学生的毕业论文成绩。由专业其他指导老师进行评阅;三是现场答辩成绩。由所在组的指导教师按照相关评分标准打分并取平均分。这样基本能够保证毕业设计成绩的公正,但是由于只有毕业答辩环节具有约束力即答辩未通过则总成绩不及格,其他环节不具约束力,因此造成毕业设计前期、中期工作流于形式,前期、中期阶段提交的文档趋于应付、质量不高,最终导致毕业论文质量较低[6,7]。为此,软件工程专业经过几年的探索与实践,实施了毕业设计各阶段的软件工程生命周期量化考核法即各个阶段量化考核,且考核成绩不合格者不能进行下阶段毕业设计工作,必须加以整改,整改通过后才能进入下一阶段毕业设计工作。经过几年的实践证明该考核方法切实可行,能够保证毕业设计各个环节的质量,最终提高毕业设计总体质量。 (四)在毕业设计过程中进一步提高学生工程能力与创新能力 辽宁工业大学于2011年制定并实施了大学生创新团队机制,建立了大学生创新项目申报机制引导大学生开展创新活动;引导学生每年都参加校级、省级、国家级软件设计大赛等各类各级比赛[8]。随着学校和学院创新教育活动多年持续深入开展,软件工程专业学生的创新与创业活动取得了显著成果。超过1/4的软件工程专业学生能够独立主持创新性项目,并以该项目为原型申报毕业设计题目[9],同时参加省级、国家级计算机竞赛并获得奖项。通过主持校级及省级创新项目既毕业设计题目,学生工程能力、创新能力得到极大锻炼与提高,本专业毕业生就业率与就业质量明显提高。软件工程专业学生主持参加创新项目既毕业设计题目情况见表3。 三、结束语 软件工程专业毕业设计是一个极具综合性、实践性的重要环节,是对学生大学四年学习后面向社会与企业前的有且仅有的一次大检验,它不仅检验了学生所学知识、能力与综合素质,还检验了软件工程专业的培养目标、培养模式、课程体系、实践体系、创新体系等相关环节[10]。经过几年的探索与实践证明,软件工程专业所做的系列教学改革工作中的毕业设计教学改革工作有利于进一步增强学生的工程实践能力和创新能力,有利于提高软件工程专业毕业设计质量,有利于提高软件工程专业学生就业率与就业质量。虽然软件工程专业毕业设计教学改革工作取得了一定的成绩,社会认可度逐年稳步提高,但如何动态调整教学计划以跟进市场需求变化;如何深入开展大学生创新创业教育活动以进一步增强更多软件工程专业学生的实践能力及创新能力;如何进一步加强专业教师工程实践能力、工程设计能力与工程创新能力以提高毕业设计指导效力;如何提高毕业设计过程管理效率等问题仍然是软件工程专业所面临的严肃课题[11]。因此,软件工程专业的毕业设计教学改革工作也一定会紧跟时代变化,与时俱进。 作者:佟玉军谢文阁王恩喜刘鸿沈姜悦岭工作单位:辽宁工业大学电子与信息工程学院 软件工程毕业论文:软件工程思想在应用型高校毕业设计中的应用研究 摘要:针对地方应用型本科高校计算机软件类毕业设计质量不高的问题,对毕业设计中存在的问题进行分析,并结合软件工程的基础理论,提出利用软件工程思想对计算机软件类毕业设计进行指导,以提高地方应用型普通本科高校毕业设计的质量。 关键词:软件工程;毕业设计;应用 一、引言 毕业设计是本科毕业生在校期间的最后实践和综合实训阶段,是实现本科教育培养目标的重要组成部分,是深化、拓展、综合应用所学理论知识的重要过程;也是综合素质与工程实践能力培养效果的全面检验;是学生毕业及学位资格认定的重要依据;是衡量高等教育质量和办学效益的重要评价,是对专业理论知识和专业技术综合应用能力的强化训练和提升[1]。在毕业设计的过程中,学生利用所学专业理论知识,通过了解社会,分析社会需求,深入实践,完成毕业设计的任务和撰写毕业论文(设计)报告等各个环节的工作。对于地方应用型普通本科高校而言,毕业设计就相当于一般高等学校的毕业论文,但是毕业设计不同于毕业论文,它的组成部分不只是一篇学术论文。应用型高校的毕业设计注重的是“应用性”和“实践性”,学生毕业设计要求学生针对某一课题,综合运用本专业有关课程的理论和技术,自己动手动脑做出解决实际问题的设计。目的是总结、检查学生在校期间的学习成果,是评定毕业成绩的重要依据。同时,通过毕业设计,可培养学生开发项目的基本综合能力,为学生就业能力中的专业能力奠定坚实的基础;培养综合运用已有知识独立解决问题的能力,从而加强学生应用能力的培养,使学生能够学以致用。 二、地方应用型普通高校计算机相关专业学生毕业设计的现状 近几年来,由于学校对毕业设计要求不断提高,学生从选题到设计再到写出毕业设计报告的过程中总存在这样那样的问题,最终有个别同学没有顺利通过毕业设计,没有拿到毕业证和学位证的情况时有发生,并且大多数毕业设计的水平不高,达不到培养学生独立解决问题和提高学生应用能力的目的。因此,如何指导学生做好毕业设计,提高学生毕业设计水平和质量,是地方应用型普通高校面临的一个重要问题。 (一)毕业设计选题现状 最近几年,我校计算机相关专业毕业生自进入大四秋季学期开始,在进行毕业实习的同时,也进入了毕业设计准备阶段:毕业设计选题,虽然毕业设计选题过程中,各级领导、指导教师和学生在态度是都很重视,但是在选题时也会存在很多的问题,主要有以下三个方面。 1.选题不够准确。部分学生选题未经深思熟虑,所选毕业设计题目要实现的功能太多,在规定时间内不能独立完成,而最终只能实现部分功能,或部分模块。 2.题目相似或重复雷同。学生选题存在浑水摸鱼的思想,在毕业设计选题过程中不是根据自己的兴趣爱好、专业知识学习情况等确定研究选题,而是选择与他人类似或雷同的选题,甚至同一批毕业的许多学生选题一致。比如:“XX管理系统”等,除了可能冠以的系统名称不同之外,其余基本相同。 3.应用价值低。部分学生的选题是当前十分成熟的项目,没有研究的必要;有些选题已经被淘汰,在实际生活和工作中没有多大用途。 (二)毕业设计需求分析阶段现状 通过调查,许多学生选题完成后,没有对自己所做毕业设计选题进行仔细了解、分析,他们认为在毕业设计中最重要的就是编程,其他方面一带而过[2],从而造成毕业设计过程中主题经常进行修改,最终使得整个系统杂乱无章,无法继续进行下去。因此学生在毕业设计的需求分析阶段主要有以下三个方面的问题。 1.选题后未进行实际调查研究,甚至未查找相应的参考文献。 2.需求分析进行得不彻底、不准确,即使选题后查找了参考文献和资料的,也未做充分了解和分析。 3.在需求分析阶段没有写出需求规格说明书或系统分析报告就匆忙进入系统设计阶段,导致随着系统设计的逐步深入,原来确定的需求不能满足毕业设计的需要,正在进行的设计与开始的期望和设想又不相符。 (三)毕业设计系统设计阶段现状 在系统设计阶段,普遍存在以下两个方面问题。 1.由于需求的不明确,在进行系统设计时,修改随意,没有严格按照软件开发的步骤进行。好多学生在进行系统设计时并没有建出相应的功能模型,不管是用例图还是DFD图都没有,而且系统设计过程中功能随意变换,并且各功能模块的层次结构不清晰,使得整个系统的功能模块划分凌乱,不符合软件设计中“高内聚,低耦合”的原则。 2.在软件设计过程中,不先进行概要设计、详细设计和模块设计,没有软件的过程性描述,直接进行编码,存在想到哪里就做到哪里,走到哪儿算哪儿的随意思想[3],当前内容没有做完便开始其他内容,使得整个系统设计杂乱无章。在这样的一种研究状态下,即使完成了设计,效率也非常低下,软件结构混乱,功能实现不完全,降低了软件设计的质量。 (四)毕业设计实现阶段现状 通常把编码和测试统称为实现。在进行软件设计后,就可以根据设计结果来实现,将软件的过程性描述编码,得到计算机可以运行的源代码。在实现阶段主要有以下几方面的问题。 1.编码随意。学生在编码的过程中,不注意编程风格的把握,导致程序的可读性、可理解性、可修改性等较差,在答辨的过程中,要求指出某个功能模块的代码时,经常要花费很多时间才找得到。 2.测试和调试可有可无。大部分学生在毕业设计的软件编码完成以后,从没有想过进行完整的系统测试,或者只对个别功能进行测试或是随意测试,没有按照测试步骤逐步进行;基本没有单元测试和集成测试,一般只是最终随便输入几个数据简单检测一下,如果有错,修改了就算完了;也没有进行回归测试,没有测试计划,没有想过用什么测试技术来检测某一类型的错识,没有相应的测试用例,也没有测试结果分析。由于学生毕业设计都是一人一题,基本上是一个人完成所有步骤,就算有测试,在测试阶段也是自己进行测试,从心理学的角度来说,自己对自己开发的软件进行测试是不可取的。 由于前面阶段的文档不完善,也不重视测试过程,不清楚是否实现了系统最初设计的功能,是否达到相应的性能要求,总以为程序做出来后毕业设计就完成了,使得毕业设计经常在更换运行环境或答辩时发生错误和问题,从而使得设计得不到好评甚至无法通过。 (五)毕业设计应用现状 最近几年,我校计算机相关专业毕业设计投入使用数量接近于零。究其原因主要是由于设计不完全,未进行测试和调试,存在的错误和缺陷较多,文档和数据不完整,导致所开发的系统或软件不能方便地转让、变更、修正、扩充和使用,也没有为后期培训、维护留下完备的资料;因此,不能投入到真正的使用过程中,也不能实现系统或软件产品的效益。 三、软件工程思想的应用 软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程中的软件生命周期是一个软件从软件定义、开发、运行和维护,直到最终被废弃的整个过程[2]。地方应用型普通高校计算机相关专业学生毕业设计基本都是开发一些中、小型应用系统或软件,因此,学生毕业设计也要经历软件生命周期各个阶段,严格遵守软件工程的各个原则,这样有助于解决毕业设计中存在的问题,提高毕业设计的质量。通过对应用型普通本科高校计算机相关专业的学生在进行毕业设计的过程中存在的问题进行分析,在毕业设计的过程中,必须运用软件工程的观点、技术和方法来指导毕业设计,这样既节约了毕业设计的时间和学生的精力,也能做出最优质的毕业设计。 1.选题过程中的应用。毕业设计选题就是软件生命周期的问题定义中的问题提出阶段,选好题目是进行深入研究的基础,也是写出高质量毕业论文的前提。地方应用型普通本科高校计算机相关专业的毕业设计选题必须做到以下几点:(1)必须在对选题做了充分调查、分析,对检索的参考文献、资料有了整体把握的基础上提出。(2)必须符合本专业培养方案规定的培养目标的要求。(3)以选择工程性较强的课题为主,确保有足够的工程性训练。(4)要有明确的设计成果,对于较大型任务的课题要明确阶段性成果。(5)要达到规定的工作量,难易度适中,确保能在规定的时间内完成整个课题工作。(6)要围绕生产生活实际,所选题目一定具有一定的理论意义和实践意义,具有一定的价值。(7)原则上一人一题,对于较大型任务的课题,每个学生必须有独立子课题。结合以上几点,分别从专业基础、现实意义等方面进行全面分析,进行取舍,最终得出选题。 2.开题过程中的应用。在毕业设计的开题过程中,需要明确所选题目的选题依据(包括选择课题的背景、选题研究的理论及实践意义)、选题研究现状(包括目前国内外对本选题的研究情况和有待解决的问题)、研究内容与方法,而这些就是软件工程中需求分析阶段应该做的事情。 需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作[3]。因此开题过程中最重要的是进行需求分析,需求分析具有决策性、方向性、策略性的作用,在软件开发的过程中具有举足轻重的地位。需求分析完成的好坏直接影响后续软件开发的质量。开题过程中需要指导学生大量地阅读相关的研究资料,同时根据资料进行分析研究,对当前毕业设计的研究进度做到心中有数,明确毕业设计的具体方向,写出毕业设计的研究内容与方法,得到相应的设计提纲,解决好设计什么,如何设计的问题。因此,应用好软件工程的思想来指导毕业设计的开题是至关重要的。根据学校对学生毕业论文的要求,在计算机相关专业的毕业设计报告中,要求要有数据流图、数据字典等相应内容,而软件工程中的数据流图(Data Flow Diagram,简称DFD),它是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。它是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理[3]。因此,在这个阶段,要指导学生按照DFD图的要求,确定设计的功能,然后根据系统分析结果写出分析报告,就得出毕业论文中系统分析阶段的初始文档。 3.在实践研究环节的应用。根据需求分析(开题阶段)的结果进行软件的概要设计和详细设计,注意在设计过程中要严格按照软件工程对于设计阶段的指导原则来进行设计。将概要设计阶段需求分析得到的DFD转换为软件结构和数据结构,即是根据需求确定软件和数据的总体框架,设计出软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。然后再进行详细设计,设计出每个模块的实现算法、所需的局部数据结构,并且对每个模块写出过程性描述;为每个模块设计出一组测试用例,在进行测试时就以此测试用例来进行测试。详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后将根据这个“蓝图”写出实际的程序代码。因此,指导教师要对学生的设计过程进行监督和指导,防止学生盲目的进行编码。 4.在实现阶段的应用。在编码的过程中,要注意编程风格的把握,编程的风格在很大程度上影响程序的可读性、可测试性和可维护性。 在测试阶段,可以进行交叉测试,即学生之间可以两两交叉,相互测试,以更好的达到测试效果,同时也培养了学生的团队意识和合作意识。 在测试过程中要注意运用软件工程的测试原则和测试思想,严格按照单元测试集成测试确认测试系统测试验收测试的测试步骤进行,利用白盒测试技术进行单元测试,黑盒测试技术进行其他测试,并且在找出错误并修改后要进行相应的回归测试,确认修改了错误并且没有引入新的错误,这样有利于找到软件中的各类错误,提高软件的质量。因此,在软件的测试过程中,一定要严格按照软件工程中的测试原则来进行,不可随意进行测试,并且要注意测试文档资料的收集整理,要有相应的测试计划和测试报告。对学生的创造性的思维和想法,指导教师要给予支持,积极引导,鼓励学生大胆创新,用应用型人才培养目标来要求学生,保证高质量的毕业设计的完成。 5.在毕业论文(设计)报告方面的应用。对于应用型普通本科高校计算机相关专业的毕业设计而言,不单单是完成了一个系统的设计,还要有相应的设计报告,而设计报告的编写过程中,很多学生存在文字表达能力不强的现象,为了完成报告,就有可能会抄袭,特别是在软件开发的各个阶段文档材料不全的情况下更为严重。因此,在学生进行软件开发的各个环节中,指导教师都应该按照软件工程的观点来进行指导,并要求学生在各个阶段都完成相应的文档。这样在毕业设计报告撰写的过程中,只要将各个阶段的文档进行合并、整理就得到相应的设计报告,并且是一篇重复率不高的高质量的设计报告。 6.在毕业设计实际应用方面的应用。因为学生在整个系统或软件过程中均按软件设计规范准备了文档和进行了完整的系统测试,从而为系统或软件的专利申请提供了充分必要的资料,并为毕业设计的实际应用打下良好的基础。 四、结语 计算机相关专业学生的毕业设计在学生的整个大学生活中具有极其重要的地位和作用,根据应用型普通本科高校人才培养的定位,主要是培养学生的独立思考能力、动手能力和应用能力。通过对软件工程思想在计算机相关专业学生毕业设计的过程及方法中的应用研究,逐步实现学生毕业设计的实际成果转化,从而为应用型计算机相关专业人才培养提供相应的借鉴。 软件工程毕业论文:新形势下软件工程专业毕业生就业举措初探 摘要:就业是民生之本。做好高校毕业生就业工作,是建设人力资源强国和创新型国家的必然要求。党的十八届三中全会明确提出要“健全促进就业创业体制”,“促进以高校毕业生为重点的青年就业”。在对软件工程毕业生市场需求进行分析的基础上,本文主要介绍本科生的就业现状,并对促进毕业生就业的举措做出一些探索。 关键词:软件工程专业;毕业生就业;举措 自高校扩招后,我国毕业生的数量逐年增加,高校毕业生就业问题成为重大的社会问题。2014年,高校毕业生数量达到创纪录的727万人,应届毕业生的就业压力之大可想而知。加之,我国软件工程技术起步比较晚,相较于国外发达国家还有相当大的差距。虽然起步较晚,但我国政府正在大力支持中国软件行业的发展,短短几年,已经开发出属于我国自有知识产权的软件技术,制定出一系列的符合国情的政策和发展计划,取得不小的成功。 一、软件工程专业的就业前景分析 1.毕业生市场需求分析。相关数据研究表明,我国软件出口规模达到215亿元,软件从业人员达到72万人,软件工程专业毕业生的市场需求约计11.1万人,职业需求在“电气信息类”中排名第三。软件工程人才的就业前景十分广阔,毕业生主要在各大软件公司、企事业单位、高等院校、研究所、国防等重要部门从事软件开发、研究、设计与应用等工作。目前,我国对软件人才的需求以每年20%左右的速度增长,而高校计算机毕业生中的软件工程人才还很缺乏,尤其是高素质的软件工程人才极度短缺。就业前景最好的地区集中在北上广等沿海地区。巨大的人才缺口不仅使IT行业“全线告急”,更使得IT企业求贤若渴,重金抢购。未来几年,国内外高层次的软件人才将供不应求。根据学校招生就业处历届本科毕业生校内招聘用人需求统计资料,2012~2013学年由学校主办的双选会、集团专场、日常招聘等各类招聘活动中,共计有1123个岗位需要软件工程类毕业生,2013~2014学年共计有1234个岗位需要软件工程类毕业生,用人需求涨幅接近10%。 2.招聘要求及薪酬待遇分析。目前IT企业对IT人才有四项素质要求,即专业技能、项目经验、权威认证和高等学历。超过80%的IT企业对用人学历有要求,其中要求为大学及以上学历的岗位占到46%,超过70%的用人单位希望求职者有一定的工作经验。如果单纯地讲就业,专业技能与项目经验则是核心要素,是企业最为看重以及个人在企业日后发展的关键因素。软件工程专业相关职位属于高薪岗位,据国家统计局的调查显示,2015年第一季度,在国有经济单位中,信息传输计算机服务和软件业的平均劳动报酬最高,达到6300元人民币。据来校招聘单位所提供的薪资水平,可以看出:软件工程岗位的具体薪资待遇在地域间又有些许差异,一级城市(如北上广等城市)初-高级软件工程师的待遇在4000~9000之间,内地其他省会城市(例如山西省)一般在2000~6000之间。随着毕业生从业年限的增加,劳动报酬也呈线性增长,从业年限在6~7年间的软件工程毕业生,月薪资可达到1万元以上。 二、软件工程专业的就业现状 1.毕业生数量逐年增加,对IT人才的需求标准逐渐提高,应届本科毕业生就业面临着严峻的挑战。首先,IT行业就业情况最好的地区集中在北上广等几个发达地区,从北京、上海、广州等大型城市近几年对IT人才的招聘情况来看,这几所城市对软件工程类毕业生的招聘标准逐年呈现出“水涨船高”的趋势。很多企业钟情于有一定工作经验且学历较高的硕士生、博士生等高端人才,因为他们能够迅速进入工作角色,承担起某一职位的工作任务。正因如此,近两年来,一些虽有高学历但刚毕业尚无就业经验的毕业生则被拒之于求职门外。其次,省内IT行业发展不成熟,企业提供的就职岗位较少,而省内软件工程专业毕业生人数较多,考虑到地域问题、户口迁移问题,部分毕业生更愿意选择省内企业,加大省内软件工程的就业压力。再次,中部地区的软件行业相比其他地区还处于发展阶段,目前我省的软件行业规模不是很大,在软件制作上,有些软件企业只是采用了一些软件工程的思想,距离大规模的工业化大生产还有一定的差距,这其中有管理体制、市场、政策等问题。 2.毕业生继续奋战考研、考公务员、考事业单位率持续上升,大学生在摆脱就业压力和个人追求方面有新的认识。学院2014届未就业的毕业生选择“继续考研”、“继续考公务员”的比例分别占未就业毕业生人数的28%、11%。随着就业压力的增大,越来越多的大学生想通过考研缓解就业压力。一些毕业生认为读研可以提高自己的专业修养,在学术上更上一个台阶。一些毕业生认为考研除了学历上更高一层次外,在单位就职时的工资基准也会相应地高一些,甚至有助于找个更好的就业单位。综合来看,在巨大的就业形势面前,考研是毕业生根据个人的职业规划及自身实际情况做出的取舍。参加国考、公务员考试及事业单位招考的人数率创下新的纪录。这与国人求稳的心态不无关系,更多的人看重的是上述单位的福利待遇好、社会地位高等。总之,毕业后选择暂不就业,继续参加各类招考的学生占未就业毕业生的很大比重。 3.毕业生进行就业选择时多持观望的保守态度。学院领导长期以来高度重视毕业生的就业工作,利用校内、校外实训基地平台,积极联系知名IT企业及实训单位,通过与企业多种模式合作、组织招聘会等方式,拓宽毕业生的就业渠道,大力促进毕业生就业工作。针对毕业生举办“IT人才专场招聘会”等多场招聘活动,大力创造就业环境,积极拓展毕业生就业工作新领域。与此形成鲜明对比的是,多数毕业生在择业就业过程中谨小慎微,在工作过程中也会对所选企业的各个方面提出质疑,多持观望的保守态度。“今天就是先来看看,不着急签约”、“以后招聘会的单位会越来越好”、“还想再看看”,不少毕业生对企业抛来的“橄榄枝”并不上心。 三、主要举措及努力方向 1.以提升创新精神、实践能力和创业意识为重点,创新人才培养模式,提高人才培养质量。深化教育教学改革,提高人才培养质量。学院先后召开专题教育教学工作会议,并从人才培养模式、课程制度改革、教学秩序规范、资源投入保障等各个方面制定并出台一系列的改革举措,进一步完善创新人才培养体系,保障人才培养质量的提升。重视创新创业教育,着力培养学生的创新精神和创业意识。学院长期以来一直重视大学生的创新创业教育,不断促进教学改革和教育质量的提升,推动大学生高质量就业。学院逐步推动创新创业课程体系建设,把创业基础课程、就业指导课程列入必修课,并在校内建立山西省共享式软件人才实训基地,设立多个实践创新项目,增强毕业生的就业意识和就业能力。利用校内、校外实训基地及校企联合研究室,进一步改善学生实践教学,着力培养学生的创新精神和创业意识,更好地实施人才培养模式,不断促进教学改革和教育质量的提升,为提升毕业生的就业能力提供保障。 2.面向行业需求,创新就业服务模式,引导毕业生“顶天立地”地就业。着力扩大就业市场覆盖度,挖掘行业重点单位需求,拓宽毕业生就业渠道。学院坚持毕业生“走出去”的就业方针,将保证毕业生就业需求作为根本出发点,针对提高毕业生的就业能力、层次和质量的任务,充分利用校外实训基地,积极为毕业生搭建就业平台,大力创造就业环境。学院积极联系知名IT企业及实训单位,通过与企业多种模式合作,积极联系用人单位,举办专场招聘活动,拓宽毕业生就业渠道,大力创造就业环境,积极拓展毕业生就业工作新领域,为用人单位招聘提供精细、“一站式”服务,对地处欠发达地区的重点单位实行分类服务。依托学校软件学院硬件设备优势,为不能到场的企业和单位提供远程实时的在线视频招聘,积极开展用人单位满意度调查,统计用人单位和毕业生对本院人才培养和就业工作的满意度,切实使就业工作服务于人才培养全过程。着力加强就业工作保障度,为实施高质量和均衡就业战略“保驾护航”。加大政策引导力度,落实专项经费。利用新媒体推进网络化就业指导教育,使学生多渠道捕捉就业信息,强化择业就业意识,做好择业定位并进行合理的职业规划,实现理想就业。开展“一帮一”活动,对就业有困难的毕业生建立学困生档案,进行重点指导、重点服务。建立“毕业生回访与发展跟踪制度”,了解毕业生所学专业与社会需求的契合度,不断增强就业指导人员的服务意识和责任意识。 3.以保证毕业生充分、高质量就业为目标,完善就业工作机制,构建就业工作常态化。实施“一把手”工程,将就业工作列入年度工作要点。成立由学院院长、书记、副书记、辅导员、学习导师、专业教师和班主任组成的就业工作组,配合学校建立校、院、班三级体系,为就业工作提供组织支撑。落实“三个到位”,为就业工作提供有力保障。认真做到就业中心专职工作人员稳定、专职工作经费稳定,积极争取社会赞助,建立关于毕业生与用人单位的服务中心,有效保证就业工作的开展。健全制度体系,为就业工作夯实基础。积极贯彻落实学校出台的就业规章制度,根据实际需求出台完善学院的就业规章制度,为就业工作夯实基础。 软件工程毕业论文:基于毕业产出导向的软件工程课程教学改革 摘要:分析国内高校在软件工程课程零置上的侧重点以及软件职业技术资格考试内容,提出以SWEBOK V3中知识域的要求为课程内容基础框架,基于毕业生的产出能力导向进行教学大纲、知识内容和考核方式改革,通过监控学生成绩对课程教学效果进行分析和长期持续改进。 关键词:产出导向;软件工程;课程改革 1 背景 作为软件工程专业的主要核心课程,软件工程课程一直很受关注,围绕着课程教学所进行的教学改革也比较多。目前,正在各高校进行的工程教育专业认证是我国为推进工程教育改革、提高工程教育质量、建立工程教育与工程师制度衔接、提高工程教育对产业发展的适应性和提高我国工程技术人才的国际竞争力所做的一项合格性评价,在给高校工程教育带来发展契机的同时也提出了对教育理念、教学过程管理、教学内容更新换代等方面的挑战和调整要求。 2 课程现状 目前,国内高校软件工程课程使用的教材主要有张海藩《软件工程导论》、郑人杰《实用软件工程》和国外翻译版《软件工程》。教学内容主要有软件工程概况、可行性研究、需求工程、传统的软件设计、面向对象设计、编码、软件质量与保证,项目计划与管理、软件开发工具与环境等。软件工程是一门强调实践的综合性工程课程,各高校在具体课程安排上各有侧重。 例如,复旦大学(54学时)的课程重点首先是结构化分析与设计、面向对象的分析与设计,这两部分内容超过了1/4总学时;其次是软件测试和软件项目管理,分别约占总学时的1/6;课程特色在人机界面设计和Web工程上。清华大学(48学时)把面向对象方法UML和RUP作为重点,占总学时的近1/3;其次是结构化分析与设计,占总学时的1/4;软件过程及软件工程管理是另一重点,通过学生合作小组或参与项目组进行软件开发,在实践中理解软件过程的意义和作用,培养软件项目管理的意识和能力。浙江大学(理论32学时、实践32学时)重点讲述软件工程的常用方法,包括分析模型的建立、总体设计、软件测试等,其特色是网络应用软件的开发方法和实践,通过从需求单位抽取出的大型模拟案例进行项目开发,锻炼学生的系统设计、开发、谈判、沟通、写作、团队合作等能力,培养学生的工程职业素养。 通过对国内几所高校课程教学特点的分析,我们发现目前国内高校软件工程课程主要以理论知识教学为主,虽然有的院校做到了实践与理论并重(1:1),但是大多数院校还是以理论知识教学为主。课堂教学以讲述概念性基础知识为主,课程的内容主要有面向对象的分析设计、软件测试和项目管理,对新知识、新技术和新工具介绍较少,目前软件工程课程更像是一门导论课程。 3 面临问题分析 3.1 工程专业毕业要求对课程的影响 工程专业毕业生应具备足够的沟通能力、合作能力、专业知识技能、终身学习能力及人格、国际视野和责任感等能力素质,这些素质要求可以保证学生毕业进入职场前具备基本的职业素养和从业能力。产出导向是工程教育认证中重点关注的部分,课程体系设置、师资队伍建设和外部条件配备均以有利于学生达到培养目标和毕业要求为导向。毕业要求反作用于课程设置,要求课程的内容建设、教学方法改进、过程监督以及成绩考核都应围绕这一要求,细化产出导向的要求和能力指标,设置相应知识点并调整各自的重要性比例,从知识点授课和实践能力两方面落实能力培养,达到毕业产出的要求。 3.2 与软件工程课程相关的专业技术资格考试分析 工程教育认证是将来国家注册工程师制度的基础和重要环节,目前我国已经在土建、环境、核安全等领域开展试点工作,实现了对工程人才的社会评价及国际间人才资格互认。在我国,与软件工程课程相关的全国性考试还有计算机技术与软件专业技术资格(水平)考试,由国家人力资源和社会保障部、工业和信息化部领导,对全国计算机与软件专业技术人员进行职业资格、专业技术资格认定和专业技术水平测试。笔者对与软件工程课程相关的资格考试内容进行解析,以软件设计师为例进行重点分析,见表1。 从表1分析内容可见,软件工程基础考试内容。与课程教学大纲知识点一致,在信息安全知识和标准化知识上给出新增内容,这与SWEBOK2013知识体系一致。考试科目“软件设计”以上述知识为基础,考查工程师的实际工作能力。在最近几次考试中有考题涉及数据流图、UML图的应用分析,与课程授课侧重点也相符,更侧重于实例的应用能力,需要实践积累与运用。 3.3 SWEBOK V3和课程对应关系分析 软件工程专业的课程体系是基于软件工程知识体系SWEBOK(software engineering body ofknowledge)、计算机教程软件工程卷(computingcurriculum-software engineering,CCSE)及其中的软件工程教育知识体(soft engineering educationknowledge,SEEK)而建立起来的。2014年,IEEE计算机协会了软件工程知识体系指南第3版,该版将原来的10个知识域扩展到15个,与现有软件工程课程大纲的比较结果见表2,其中有分布到其他课程中的知识点未加以说明。新增和修改的相关知识点需要在软件工程课程教学和实践环节落实。 4 基于产出导向的软件工程课程改革与建设 4.1 课程教学目标修订 基于上述分析,我们进行基于产出导向的软件工程课程改革和建设。课程教学以使学生掌握软件工程的理论基础知识和基本工作原理,培养学生具有工程问题需求分析的能力以及综合运用计算机科学和工程技术完成系统设计、实施和维护的能力为目标。课程的主要任务是使学生掌握软件开发过程的理论、方法、技术标准以及计算机辅助工程和环境等知识并通过实验灵活应用;掌握软件工程的基本概念、软件开发模型、开发过程的管理和质量控制;掌握需求分析的任务与原则,传统面向对象需求分析方法、设计过程与一般性概念以及文档的编写;掌握程序设计方法,增强编程实践训练,掌握软件测试技术与纠错性软件维护方法;掌握UML建模技术,能在软件工程过程中使用常用建模工具,能运用建模方法解决工程实际问题;了解专业开发活动涉及的标准、方针、政策和法律、法规,能正确认识实施软件工程对客观世界和人类社会的影响。 4.2 教学内容和教学方法改进 根据毕业产出要求及SWEBOK V3新修改版,我们对教学内容作如下调整:①在64学时课时中,将理论与实践课时设定为1:1;②在需求分析和设计部分新增人机界面和系统安全知识;③独立介绍软件复用部分知识,结合软件设计模式讨论软件可复用性;④在软件质量保证和项目管理部分新增软件产品标准和行业标准、国内外法律和法规;⑤在软件维护部分新增软件退役和迁移。 每一章都提供参考资料,教师引导学生有选择地阅读其中的部分内容,根据课程内容的进展情况布置相应的任务、思考题和作业,引导学生通过Intemet或其他途径查阅相关资料以拓宽知识面,了解软件工程领域最新实践研究成果。为了使学生建立起软件开发和维护的工程化意识,较系统地掌握按照工程化思想开发与维护软件的方法和技术,教师需在教学中培养学生从软件企业开发和维护实际大中型软件的角度出发,结合成本、风险、效益、进度、过程、质量等多种因素系统地分析软件开发和维护过程中的问题,突破以往要求完成某一给定知识点作业的单一思考问题局限。此外,构造实验环境用于课内工程项目实践,通过模拟项目的开发,锻炼学生的系统设计和开发能力、软件工具的使用能力、语言交流能力、文档编写能力以及团队合作能力,培养学生的职业素养。项目实践引导需贯穿理论知识学习始终。 4.3 考核方式与持续改进并行 课程强调过程考核,总成绩分为平时和期末两部分,分别占50%。平时成绩主要考核学生的课堂表现、作业、实验能力和实验报告撰写情况等。其中,课堂表现主要从学生上课是否专心听讲、回答教师提问是否正确以及分组讨论是否积极、正确、有独特见解等进行考核,以提高课堂教学效果和运用工程基础知识及本专业基本理论解决实际工程问题的能力;作业方面重点考核学生掌握软件工程理论基础知识和基本工作原理的程度;课内实践教学环节重点考核学生的工程问题需求分析和设计能力,综合运用计算机科学和工程技术完成系统的分析和设计并对设计文档进行审查的能力;期末考试将按照课程教学目标全面考核学生课程学习的效果,选取一定数目的学生成绩为样本,计算该课程对毕业要求贡献的达成度并通过建立阀值定量评估课程教学质量,通过不断提出持续的改进意见并实施,切实加大课程对提高毕业产出能力的贡献。 5 结语 笔者基于毕业生产出能力对课程教学目标进行了修订,完善了软件工程课程的教学内容和知识结构,对教学方法进行了梳理,最后通过改变考核方式对课程进行长期监控和调整,实现课程的持续改进。下一步工作将重点关注课程中学生自主能力导引体系和毕业生能力评价反馈机制的构建。(编辑:宋文婷) 软件工程毕业论文:“卓越计划”软件工程本科毕业生的跟踪分析 摘 要: 为应对毕业生就业难与软件企业人才招聘难的两难局面,对我院按照“卓越工程师培养计划”培养的第一批本科应届生展开了基于电子问卷的跟踪调查。通过分析学生就业情况及其所在单位需求情况,以及毕业生的就业反馈,讨论研究了现有培养方案、教学体系和课程改革存在的问题与不足,以期为后续进一步深入实施“卓越工程师培养计划”提供帮助。 关键词: 毕业生跟踪调查; 卓越工程师培养计划; 软件工程 0 引言 从20世纪90年代开始,我国的高等教育飞速发展,本科毕业生数量也迅速增加,软件类人才培养也逐渐从精英教育走向了大众化阶段。与此同时,毕业生就业难与软件企业人才短缺的矛盾逐渐突显。一方面,毕业生的就业形势相当严峻,2013年更被称为“最难就业年”,就业人数将近700万,其中软件类(含计算机类)毕业生约占了23%[1];另一方面,用人单位难以招到适应不断变化市场需求的高水平人才,毕业生质量与企业、社会期望值之间出现了较大差距。 解决上述矛盾的重要途径之一是跟踪调查学生走向社会的工作表现和持续发展状况,调整、改革高校教学体系及模式。近年来,国内高等院校逐渐重视开展毕业生的跟踪调查与反馈工作。通过了解毕业生的就业情况、工作表现、对学校学习经历评价及招聘企业人才需求情况等信息,反思、完善和改革人才培养体系、培养方案、教学模式以及就业指导工作模式[2]。本文以杭州电子科技大学软件工程学院为例,通过对2013届按照卓越工程师培养计划培养的50余名毕业生进行跟踪调查所获得的数据信息,结合本校实际,反思卓越工程师人才培养的可改进之处,为制定科学、高效的卓越工程师培养策略奠定基础,从而更好地为培养符合市场需要的高层次软件人才提供服务。 1 毕业生跟踪调查对卓越工程师培养的重要性 “卓越工程师教育培养计划”(简称“卓越计划”)2010年由教育部联合相关部门和行业协会提出,要求各高校与行业企业联合培养工程技术人才,强化培养学生的工程实践能力、工程设计能力和工程创新能力。该计划旨在培养造就一大批创新能力强、适应经济社会发展需要的高质量各类型工程技术人才,为国家走新型工业化发展道路、建设创新型国家和人才强国战略服务,对促进高等教育面向社会需求培养人才、全面提高工程教育人才培养质量具有十分重要的示范和引导作用。中国成功加入华盛顿协议组织也有力地证明了这一点。 高校作为落实“卓越计划”的主体,需认真领会和深刻理解卓越计划的指导思想、主要目标、总体思路和基本原则,更重要的是需结合自身实际条件和优势,制定“卓越工程师后备人才”培养的具体要求和措施,细化培养目标和培养标准,积极开展课程体系、教学方法、教学内容改革[3]。目前参与实施“卓越工程师计划”的各大高校基本上都提出了符合本校办学定位的专业培养方案的总体思路,在实现培养目标和培养标准的过程中融合专业培养方案的制定,完善、强化学生工程实践能力的培养,在满足“累计1年时间在企业学习”的硬性要求同时制定灵活的培养模式[4]。譬如,清华大学展开了以能力培养为导向的课程体系和教学内容改革;我校“信息安全”专业对原有的专业基础课程和专业核心课进行了重点整合,将原有课程整合缩减至5门,另增开课程4门,总学时数由384学时调整至192学时;上海工程技术大学的本科采取了“学校培养+校企交叉+校企双指导”的三阶段培养方案。 衡量上述各种具体培养要求、措施、目标、标准以及改革内容是否成功,有效的核心标志之一就是学生就业情况及其后期发展情况。毕业生的就业率、月收入和工作满意度等信息可以从一定程度上揭示大学生的综合能力水平和未来发展潜力。从某种意义来说,学生是高校推向市场的“拳头产品”,用人单位是这些产品的“用户”。“产品”质量是否有保障,“用户”才有最深刻的体会,才最有发言权。只有不断听取用户意见,不断改进,才能确保“产品”在市场上的竞争力。因此,做好学生就业及其后期发展情况的跟踪调查,才能推动高校不断完善卓越计划的落实,纠正试行阶段暴露出来的各种问题。 2 软件工程专业卓越工程师培养计划――以杭州电子科技大学为例 杭州电子科技大学从1980年开始培养软件工程本科人才,2003年正式设立软件工程本科专业。目前,该专业为国家特色专业、浙江省重点专业、浙江省高校人才培养模式创新实验区。为了进一步促进软件工程专业发展,全面提升学生工程素质,即工程实践能力、工程设计能力和工程创新能力,2011年杭州电子科技大学率先在软件工程学院开始试点软件工程专业的“卓越工程师人才培养计划”。要求学生在校内经过软件工程通用工程基础技术知识和核心技术知识的学习并具备相关能力后,进入企业进行高级工程技术知识及技能学习和培训,并参加企业实际软件项目的开发,培养方案示意图如图1所示。具体内容介绍如下。 ⑴ 改革人才培养模式 对进入“卓越工程师培养计划”学习的学生,将遵照贯穿8个级别4种工程应用能力培养要求的工程型人才培养方案(如图1所示)。学生在校内2年完成前2种工程应用能力的培养后,按“卓越工程师培养计划”学习1年完成第3种工程应用能力的培养,最后进入企业完成第4种能力的培养。可以看出,卓越工程师培养计划主要承担“高级工程能力”和“工程实施能力”的培养,主要通过企业宣讲课程和就业规划课程来帮助学生确定今后学习和发展的方向,进而安排学生参与企业实际软件项目完成专业实践和毕业设计。 ⑵ 加强专业师资建设 软件人才是工程实用型,需要教师既有一定的学术造诣,又具有大量的项目实践经验或企业工作经验。因此,我校进一步加强“双师型”专业教师队伍建设,在选派青年教师到国内外IT企业顶岗实践和轮训的同时,积极引进具有丰富实践经验的专业技术人员到校担任兼职教师或传授真实案例和实际工程经验,已逐步建立并完善企业教师的师资库并鼓励相关企业承担学校专业课程及实训工作。 ⑶ 深化改革课程体系 我校软件专业课程改革的总体思路是:扎实专业基础,突出工程实践能力,复合知识领域结构;强化专业核心基础课程和高级工程能力的培养,突出企业实战能力。在当前软件工程专业培养方案的基础之上,着重体现工程教学中的CDIO模式,聘请行业专家及资深工程师讲座;引入“MOOC”等先进教学方式,鼓励开展研究式教学、讨论式教学、以问题为导向的PBL教学、CDIO式教学及团队模式教学等多种教学方式[5]。 ⑷ 采用“校企深度合作、工学结合”运行模式 积极探索校企深度合作的空间,着重于人才培养、科研开发等多方位的共赢合作模式。以培养软件人才为目标,学校优先选择占据行业领导地位的公司作为合作方(如华为、塔塔等),吸收资深工程师参与指导制定专业发展规划、专业培养目标与专业人才培养方案,甚至直接作为教学师资参与专业技能教学;同时将企业待解决实际项目转化为“实验班”的课程设计题目或综合设计题目。企业接收完成专业课程学习以及基本技能培训的学生直接顶岗实习。 3 “卓越计划”毕业生的跟踪分析 3.1 调查对象和方法 为全面、准确、及时地分析了解“卓越工程师培养计划”在高校的落实结果,了解用人单位对软件工程专业改革的满意度以及深化教学改革的意见与建议,为其他同类学校准确定位、深化改革与创新软件类人才培养提供参考,我们对杭州电子科技大学软件工程学院实施“卓越工程师培养计划”的结果进行跟踪调查。调查对象是该学院第一批按照上述计划培养的毕业生,共发出52份问卷,回收有效问卷50份,回收率为96%。本次调查主要以问卷为主,辅之以面谈、Email咨询等方式。 3.2 调查数据分析 我们从学生就业单位信息、就业单位需求、毕业生个人反馈三方面来进行梳理分析现有教学方案、培养方案等卓越计划改革内容的不足。 ⑴ 学生就业单位 此次调查的50名毕业生,44人就职于主营软件开发销售、系统集成的软件类公司,4人就职于在线网络社交平台或电子商务平台的技术部门,2人服务于保险业。也就是说,96%的毕业生在毕业后会继续从事软件开发维护相关的工作。这从一定程度上证明了按照卓越工程师计划拟定的现有培养方案和课程安排在培养学生兴趣、增强学生专业技能方面发挥了较好的作用。此外,在毕业生就职的30家软件类公司中,14家单位的员工少于50人,13家单位的员工数在50~300之间,3家单位的人数超过了300人。可以看出,毕业生所就职的大部分是中小型软件公司。这也符合软件行业特点。除了微软、IBM、华为等极少数的龙头企业,大部分软件公司的规模并不庞大。我们的调查结果反馈的另外一个重要信息是,大部分软件公司对招聘对象的学历和工作经验的要求并不高,求职者具备大学本科学历即可,并不硬性需要相关的职业证书。因此,在未来的教学过程中,应确保学生顺利完成大学基础课程,而并不需要强调或引导学生参加太多的职业证书考试。 ⑵ 就业单位需求 从50份有效问卷返回的结果来看,目前用人单位技术最注重也相对急需的技术(能)排在前三位的分别是:JAVA语言、办公软件应用和ORACLE数据库应用,如图2所示。除此之外,动态网站开发以及企业级网络软件应用与维护也是各单位相对比较看重的毕业生技能,问卷勾选的份数分别达到了16和14。不难看出,若软件工程专业本科生在校期间尽可能地熟练掌握日常的办公软件应用并掌握用Java等开发语言构建、推广、维护动态Web网站的基本技术,他们在就业时将更占优势。 我们在教学过程中经常碰到以下的问题:本科生在大三或大四阶段仍不能熟练使用Excel绘制基本图形或完成基本统计功能,也不会使用Outlook、Foxmail等邮件客户端工具收发Email;他们课程提交的项目作品虽然能够实现系统的基本功能,但往往不够规范、难以维护和二次开发。学生暴露出来的这些问题远离用人单位的需求,也直接影响了学生自身的就业和后续发展。因此,在后期完善“卓越工程师”的培养方案和课程改革时,针对这些问题进一步强化培养学生相关技术(能)就变得极为重要。 ⑶ 现有培养计划及改革反馈 如上所述,“卓越人才计划”强调对学生实践能力的培养,强化学生工程实践能力,注重提升工程教育人才的培养质量。本学院在日常教学过程中着重学生动手实践能力的培养,也通过与华为、塔塔、网新等众多企业合作,安排学生在企业实习,强化学生实际实践能力。如图3所示,根据求职期间及就业之后的“第一手”经验,36%的毕业生认为学校还需加强基础理论的学习,30%的毕业生认为需加强实践动手能力的培养,25%的毕业生认为需加强专业知识的学习,只有个别同学认为需增强人文知识学习和科研能力培养。大部分毕业生在“信息反馈”一栏中明确提出“实际动手能力的培养是学校应该改进的重中之重”。这与国家“卓越人才计划”的培养思路是基本吻合的,也表明,我们还需在未来的教学培养中深化培养方案和课程改革,更突出 “卓越人才计划”的实践能力培养要求。如某位毕业生认为虽然目前学校社团较多,但和专业及就业挂钩的社团很少,建议多组建一些专业性社团,营造一个良好的学习氛围,并积极鼓励学生参加各类比赛,或开展专业知识类的勤工助学项目,让学生在项目实践中提升各方面的素质。 此外,根据50位毕业生的自身体会,软件类公司更为看重的学生素质是其持续学习的能力,其次是独立解决问题的能力,而日常较为注重的学习成绩恰恰反而是排在最后一位,如图4所示。这也是软件工程专业本身所决定的。一方面,软件、计算机技术飞速发展,日益更新,在校期间的课程内容不能完全跟上技术的潮流,需要学生自己学会跟踪学习新技术的能力;另一方面,实际软件问题千奇百怪,层出不穷,没有一劳永逸的解决方案,更需要学生具备一定解决问题的能力。 3.3 启示 此次的跟踪结果表明,我院现有的“卓越人才培养计划”及其具体方案措施在加强学生专业兴趣、增强学生专业能力起到了较好的作用,能为用人单位提供了具备基本职业素养和能力的软件人才。在未来工作中还需进一步强调和注意的有以下几点。 ⑴ 必需确保学生顺利完成大学阶段所有课程并获得学历、学位证书,这是学生入职的必要条件。 ⑵ 必须加强培养学生办公软件的使用技能,才能更好地提高学生专业素质,满足企业规范化人才需要。 ⑶ 争取为学生创造更多参与实际项目的机会,加强培养学生专业实践能力。这也是“卓越工程师培养计划”的重心所在。 ⑷ 进一步加强学生跟踪学习的能力和独立解决问题的能力,使他们适应软件快速更新升级,以及实际开发应用过程中问题不断的特点。 4 结束语 毕业生跟踪调查对做好软件工程人才培养,尤其是“卓越工程师培养计划”在软件工程专业的落实具有重大意义。本文采用实证研究的方法,从学生就职单位性质、单位需求与学生反馈三方面对现有“卓越计划”及其具体方案进行讨论分析,根据毕业生的切身体会挖掘现有软件工程专业“卓越工程师培养计划”存在的问题和不足,以期为更好地落实“卓越工程师培养计划”、培养卓越软件工程师提供科学有效的对策。 软件工程毕业论文:《软件工程》思想在毕业设计(论文)中的应用 【摘要】主要分析了毕业设计(论文)的现状,介绍了软件生命周期的各个阶段与毕业设计(论文)各阶段的对应关系、软件生命周期各阶段应完成的任务以及在毕业设计(论文)中应注意的问题。 【关键词】软件工程 毕业设计(论文) 实践教学 一、引言 毕业设计(论文)(以下简称毕业设计)是计算机及相关专业教学计划中的一个重要环节,是培养学生对所学基本理论及基本操作技能综合运用的训练过程,是提高学生分析和解决问题能力的重要实践环节,是实现理论与实践相结合的重要途径,是对教育教学质量的全面检查。目前,计算机及相关专业的毕业设计质量正在逐年下降:学生急于找工作或考研,毕业设计得不到应有的重视;需求分析不到位,设计成果不符合实际需求;软件开发流程混乱;缺乏文档写作训练,等等。 针对上述问题,笔者认为,除了应当从管理角度严格进行过程监控外,还应当使学生通过《软件工程》课程的学习,提高毕业设计的质量。 二、软件生命周期与毕业设计过程的对应关系 软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件的生命周期。软件生命周期可以划分成若干个时期与阶段,它与毕业设计各个环节的对应关系如图1所示。 三、软件生存周期各阶段应完成的任务 1.可行性研究与计划阶段、需求分析阶段 可行性研究与计划阶段主要完成问题的定义、可行性论证以及初步计划的制定;需求分析阶段主要完成需求调查,进行功能、性能与环境约束分析;编制软件需求规格说明、制定软件系统的确认测试准则和用户手册概要。这两个阶段对应于毕业设计的课题论证、选题、调研、查资料,通过对设计题目的深刻理解,完成开题报告的撰写工作。 2.概要设计阶段和详细设计阶段 概要设计阶段主要完成软件系统总体结构的建立、定义功能模块的接口、设计全局数据库和数据结构、规定设计约束、编制概要设计文档等工作;详细设计阶段主要完成模块详细设计及编制模块的详细规格说明工作。包括模块的详细功能、算法、数据结构和模块间的接口信息等设计,拟定模块测试方案;把模块详细设计的结果汇总,形成模块详细规格说明书。这两个阶段对应于毕业设计的系统设计阶段。 3.实现阶段与组装测试阶段 实现阶段主要完成编码及单元测试工作。根据模块详细规格说明书,将详细设计转化为程序代码、对模块程序进行测试,验证模块功能及接口与详细设计文档的一致性,并形成单元测试报告;组装测试阶段主要完成模块程序组装与测试及组装测试报告的编写。 4.确认测试阶段 该阶段主要完成软件系统测试、确认测试文档编制及软件评审工作。根据软件需求规格说明定义的全部功能和性能要求及软件确认测试准则对软件系统进行总测试;向用户提供以确认测试报告为主的有关文档,包括系统操作手册、源程序清单和项目开发总结报告等;由专家、用户、软件开发人员组成的软件评审小组对软件确认报告、测试结果和软件进行评审,并将得到确认的软件产品交付用户使用。这个阶段主要对应于毕业设计(论文)中的论文评审、结题验收及毕业设计的答辨准备阶段。 5.软件运行与维护阶段 主要进入软件的使用阶段,并完成软件的维护工作。它主要对应于毕业设计中的答辩阶段。 四、毕业设计应注意的几个问题 1.摘要 摘要是对文章主要内容的摘录,要求精、短、完整。以几十字至三百字左右为宜。摘要应具有独立性和自明性,从摘要中即应获得必要的信息;摘要中只能使用第三人称;要客观如实地反应原文的内容,要着重反映论文的最新内容和作者特别强调的观点;要求结构严谨、语义确切、表述简明,一般不分段落、不进行自我评价。 2.关键词 关键词主要用于论文检索,它是从论文的题名、摘要和正文中选出的,是对表述论文的中心内容有实质意义的词汇,关键词一般以3~5个为宜。 3.结论 结论写作的内容应主要考虑本文研究结果是什么?研究结果说明了什么?对前人有关的看法作了哪些修正、补充、发展、证实或否定?本文研究的不足之处或遗留未予解决的问题以及对解决这些问题的可能的关键点和方向等。结论应该准确、完整、明确、精练。 4.需求分析 在毕业设计中,学生往往不能对所做题目进行充分的调研,需求不明确,随意想象的成分较多。特别是在数据表的建立上,大部分同学随意设置字段的类型,而字段长度基本上采用默认置。而在实际项目开发中,数据项的设置应主要注意以用户的需求和满足系统要求为准,而不应设计冗余的字段;数据的类型要依据实际需求,当某些字段可以是选择某几种类型之一,应考虑哪一种更有利于本系统或哪种更易于用户操作和维护。 5.详细设计 许多同学把详细设计阶段的任务理解为代码实现,因此,在概要设计之后就着手进行代码的编写而忽略了算法的表达及测试用例的编写环节,由此造成的结果是随意编程,大量的时间浪费在程序的修改和调试上。 6.软件测试 测试做得不够全面,大部分同学只选择了有效的测试用例,而没有进行无效的测试用例的设计,因此所做的软件BUG较多。 7.团队合作 在毕业设计中,应有意识地锻炼学生们的团队协作精神,因此,在布置毕业设计题目时,应尽量选择规模大一点的题目,然后由4~5名同学共同协作,每人完成一个子题目。这样,可以使学生们分析问题和解决问题的能力、沟通和表达能力得到充分锻炼,为今后的工作奠定基础。
随着计算机技术的迅速发展,对于计算机软件工程的管理应当提高重视程度,不断的探索和关注软件工程管理的发展。因此,本文通过计算机软件工程管理的应用分析进行研究,阐述了计算机软件工程管理过程中的问题及解决策略,通过对软件工程项目管理进行分析,为目前我国的计算机软件工程管理提供一些建议和指导。 目前我国的计算机技术走在世界的前沿,但对于计算机软件工程的管理仍存在忽视的情况,对于计算机软件工程的管理仍处在探索的阶段,对于如何进行计算机软件工程管理并提高整体的管理水平,最大限度的为计算机软件工程提供帮助者,是当前我国计算机技术发展中应考虑的首要问题。在计算机软件工程发展的过程中,离不开管理的作用,管理可以为计软件工程提供一些技术上的指导,对于计算机软件工程未来也可以提供发展和帮助。在计算机软件工程中,不同的软件有着不同的产品特性,因而对于不同的产品进行的管理也都不相同。所以,在计算机软件工程中,应当利用管理的特殊性和独特性,在当前软件工程管理模式的基础上,针对不同产品的不同特性,采取相应的管理模式,实现计算机软件工程的良好发展,综合提高计算机软件工程的管理水平,为计算机技术在我国中的应用提供坚实的力量。 1计算机软件工程管理的主要内容 1.1组织机构管理 在计算机软件工程管理的过程中,组织机构的管理尤为重要,健全的组织结构能够有效提高管理的水平。在计算机软件工程项目中,对于项目管理的人员的综合素质要求较高,导致管理人才稀缺,工程管理的水平达不到基本的标准。管理中的团队不仅仅是简单的部门,而是管理人才与组织形成完整的结构,保证项目管理整体水平的稳定性和计算机软件工程的明确性。良好的组织机构管理不仅能够对管理人员进行整合作用,同时通过组织机构管理可以实现人力资源最大化,提高整体的管理水平要求,对于计算机软件工程的发展有着重要的意义。 1.2工作人员管理 计算机软件工程管理中的工作人员主要负责收集和整合计算机软件工程项目中的主要信息,软件的编程和完善后续的工作等等。对于计算机软件工程中的管理人员来讲,工作人员的工作具体就是在软件工程项目工作过程中进行细致化的管理。在管理的过程中,工作人员各司其职,每个员工都有不同的责任。因此,在分配工作量的过程中,应当将负责人与负责的岗位相分配,共同进行管理工作。在了解员工管理工作的模式后,应当根据不同的软件工程项目进行不同的安排和分配,利用工作人员不同的专业技能和工作水平,结合实际的软件工程管理工作进行不同的分配。进行软件工程管理的工作人员不仅需要大量的知识储备,同时也需要和其他部门合作,共同协调完成管理工作。 1.3软件用户管理 在计算机软件工程管理的过程中,软件用户管理成为了管理中重要的核心部分。实行有效的软件用户管理可以提高计算机软件工程管理水平的不断增长,为吸引更多的软件用户打下良好的基础。软件工程开发的目的是有用户使用,在软件开发的过程中,应当以用户为核心,通过对不同用户的不同需求进行设计,并且积极推荐给用户使用,在使用的同时对软件不断进行改进。因此,在软件用户管理的过程中,应当先进行市场调查,确定客户群体的基本信息,对于不同软件用户的不同需求进行适当的采集和整体,了解不同用户对于软件的各类个性化和需求和操作方法,以便于在软件工程设计过程中,可以结合多方面因素进行设计,保证用户数量的同时,也降低了软件工程的成本。在软件用户管理的过程中,相关部门还应与研发部门、开发部门等部门进行沟通,深入了解不同用户群体的使用体验,收集相关的意见和建议,以便于更好的完善软件,实现软件的实用性。 1.4档案资料管理 在计算机软件工程建设过程中,档案资料的管理也较为重要。因计算机软件工程涉及的数据量、信息量较为庞大,档案资料既多又复杂,对于软件工程的建设又有着十分重要的参考作用。因此,在档案资料管理的过程中,工作人员应当将重要的档案和资料进行备份,同时整理项目过程中的全部档案和资料,以免有遗漏。一方面能够为软件工程项目建设提供参考资料,保证项目的安全性,另一方面也能保证项目无差异性,提高了软件工程整体的开发效率和使用效率。 2计算机软件工程管理工作问题 2.1无法估计工作量管理计算机软件 在计算机软件工程管理过程中,由于工程项目庞大,计算机技术的迅速发展,有许多外界因素干扰项目的进行和管理的时效性。其中影响较大的因素就是人的因素。在项目建设的过程中,工作人员会影响到计算机软件工程管理水平的发展,例如工作人员的综合素养、技术水平、有无责任感等等。在软件开发的过程中,若不考虑工作人员的因素,计算机软件工程可能会比较容易估算。所以,在软件工程项目按开发的过程中,类似工作人员的因素必须要首先解决,只有最快速的找到解决问题的方法,才能实现软件水平的正常化。 2.2计算机软件工程在实际应用中存在不足 计算机软件工程在实际应用的过程中,会存在许多业务方面的问题。利用计算机软件工程对于业务的处理和分析还不够成熟,为软件工作管理带来了严重的影响。在实际业务应用的过程中,存在需求阶段的项目,工作人员可以通过研发更为便携的应用软件,为软件工程的开发提供其他的开发能力,同时计算机软件工程的企业应当对有潜力的职工进行大力的培养,增强工作人员的工作责任和工作意识。 3计算机软件工程的主要策略 3.1强化管理体系建设,提高管理效率 在计算机软件工程管理的过程中,应当加强计算机软件工程管理建设,同时加强对计算机软件工程管理人才的培养,提高对人才的重视程度,提升人才的综合能力和责任心,充分调动成员的积极性。好的人才才能为企业带来高收益。在企业的建设过程中,加强对人才的培养,对专业人员进行定期培训,不断更新软件工程相关的知识和技术,了解软件工程相关的最新信息,意识到人力资源的重要性,直接决定了软件工程项目的运行效率和质量。在对工作人员进行计算机软件工程培养时,应当注重工作人员的工作素养和工作作风,以确保项目的顺利开展。同时,应当加强对企业的培训工作,若想提高计算机软件工程管理的工作效率和工作质量,就要提高管理人员的知识和水平,提高管理能力。在强化软件工程管理水平的过程中,应当对建立有效的管理模式和机制,提高管理效率,不断学习计算机软件工程项目相关的各类先进技术,提高工作人员的整体水平,采取科学的手段建立健全管理机制,激发员工的工作动力,以确保软件工程的顺利开展。同时,在管理的过程中,应当将理论与实践相结合,促进软件工程管理的发展,提升软件工程的价值,提高工程开发的运行效率,加强对各类管理机制的完善,在结合实际的基础上,对于管理不断更新和发展,使得软件工程管理有更好的发展,为计算机技术的发展提供坚实的动力。 3.2加强软件风险管理,确保工作进度 在计算机软件工程开展的过程中,伴随着一定的软件风险,如何预防风险,切实推进计算机技术的发展成为了当前项目开展首要考虑的问题。因此,在软件开发的过程中,应当加强对软件风险的管理,建立健全风险管理模式,不论是在工作人员方面还是在日常软件运行方面都要进行适当的防范。一方面,加强工作人员的风险意识,可以有助于提高日常工作的安全性,工作人员在掌握风险管理知识的基础上,能够对于日常的风险管理有更好的应用措施。强化工作人员的风险管理意识,便于日常的风险通报。另方一面,应当建立健全风险管理机制,完整的风险管理机制是软件工程运行的前提。定期对计算机软件工程进行风险管理,可以更好的防范风险的发生,提高软件自身的经济效益。 3.3提升团队合作意识,发挥团队潜能 在计算机软件工程管理的过程中,应当加强团队合作意识,发挥团队潜能。好的团队合作会给企业带来巨大的经济效益。加强团队的合作意识是计算机软件项目开发成功的基础。作为软件工程开发中的重要环节和项目,建议团队合作意识刻不容缓。所以,若想建立良好的团队合作精神,首先应建立团队合作的意识,让团队中的每个员工都发挥自身的技术和才能,加强员工与员工,员工与组长间的相互交流,建立良好的团队合作关系,提高团队整体的合作效率。此外,还应适当进行团队管理,好的团队管理也是提高团队合作的关键。在团队合作的过程中,确保每个员工的工作职责,使每个员工充分投入到工作当中去,将团队潜能发挥到最大,提高计算机软件工程管理工作的效率。 3.4软件开发平台进行统一规划 在计算机软件开发的过程中,应当对软件开发平台进行统一的规划,这样可以避免重复开发在多种平台。随着我国计算机软件工程技术的飞速发展,网络建设软件开发平台也随之增多。所以,在规划的过程中,应当建立同统一的规划机制,由各个部门的工作人员共同建立统一平台,进行统一的计算机软件工程的管理。 3.5安全防御的身份验证 在计算机软件工程的运行中,应当构建其相应的网络安全体系。通过对各类信息的整合可以实现对使用计算机软件的人进行安全验证,通过计算机软件技术对用户进行身份的查验,保证信息在传输过程中的安全性。通过构建安全防御的验证系统,可以更好地实现对不同用户进行身份确定,实现对计算机软件工程的安全性,同时对于计算机网络安全提供了加密的作用,提升了计算机软件工程的安全性。 4计算机软件工程的应用 随着我国计算机信息技术的高速发展,计算机软件工程应用广泛,特别是在社会上和日常生产生活中的应用相对较为广泛,在使用过程中发挥出了巨大的作用。随着计算机和网络的日渐普及,计算机软件工程的优势日渐突出,其在社会中的应用范围越来越广泛,发挥的作用也越来越大。利用计算机软件工程对软件进行研发和运用,因此,在研发的过程中要求工作人员具备一定的专业技能,以提高研发的科学性和严谨性。在软件开发的过程中,各类计算机软件层出不穷,常见的软件有办公软件,良好的办公软件可以为各行各业服务,使得办公流程变得更加简单和便捷,随着办公软件的不断更新和优化,未来的办公软件可以向着精细化的方向发展。企业中应用计算机软件较多,办公软件的使用可以使得企业内部工作流程更为简单,传输信息的过程中使得信息确保安全性,传输效率更高,在工作过过程中沟通更为顺畅,大大提高企业整体的运行效率。在教育体系中利用计算机软件也较为常见,由于学校中的学生数量较多,若不利用计算机软件进行系统的录入和编号,很可能会出现问题。所以,在教学体系中,良好的利用计算机软件,不仅能够对学生的各类信息进行保存和分类,还可以进一步提高学生和教师间的良好沟通,提高师生间的关系,同时也提升了知识的传播速率。便携化的教育体系不仅提高了课堂整体的效率,同时对教育的发展也有助力。 5结论 随着我国计算机水平的不断发展,计算机技术对人们日常的生产生活水平有着重要影响,对于国内外应用计算机技术的各行各业来说,都具有十分重要的发展意义和前景。计算机软件工程在我国的发展已经具有一定的规模,同时也在不断完善和创新计算机软件工程。在计算机软件工程发展的过程中,应当优化软件工程管理的整体水平,提高计算机软件工程管理的质量和运行效率。在计算机软件工程发展过程中,强化其软件工程管理大大提高了软件工程的运作和发展,对于计算机技术的变革和创新也有着十分重要的作用。有效提高软件工程管理水平,能够提高计算机软件工程的整体质量和运行效率,提高计算机技术行业的经济效益,也能提高我国的社会效益,促进我国计算机技术的不断发展和提高。
数据挖掘技术可以从庞杂的数据信息中提取、采集需要的信息,是企业运营中重要的应用技术。尤其随着各类电子产品的日益增多,为了让海量的信息为人们提供更加优质的服务,离不开对相关的数据展开深层次的挖掘与处理,为企业朝着继定的目标发展提供了必要的信息参考。 1数据挖掘的技术 1.1基本含义 数据挖掘就是指充分应用科学、高效率的计算方法,在海量的数据信息中捕获可用的信息的深入筛选过程。现如今,随着人类进入了信息时代,数据挖掘的技术在诸多行业里获得了人们的广泛认可,应用范围非常广阔。 1.2操作方法 总体而言,数据挖掘的技术大体可以分为以下五种操作的方法。第一,神经网络法。这种方法的鲁棒性较好,具有高度容错、并行处理的功能,对数据挖掘十分适用。具体是按照选择的模型,确定适用范围。现阶段,神经网络领域里普遍应用连续、离散、art与koholon等几种模型,主要在联想记忆、聚类的自组织映射、计算优化中进行应用。第二,决策树的方法。这种方法指的是对海量的信息进行分类、整理,并寻找带有一定运用价值的信息。具有迅速分类、获取可用信息的特点。因此,比较适合处理大量的数据。缺陷主要包括抵制噪声能力弱、表达复杂的概念不够具体。第三,统计分析法。通过这种方法可以有效地分析函数关系、相关关系。现阶段,可以具体划分三种方法,即相关、回归、差异等分析方法。第四,遗传算法。指的是依托于遗传激励与生物的自然选择规律的随机性搜索的计算方法,这也是十分常见的数据挖掘法。可以与其他的模型建立一定的联系,具有应用范围广、隐含并行性的优点。第五,挖掘对象。结合信息储存的格式,可以挖掘面向对象的文本数据源、数据库、空间数据库、多媒体数据库、异质数据库、时态数据库、Internet等。 2软件工程中数据挖掘技术的应用 2.1挖掘结构、程序代码 数据挖掘的技术在结构、程序代码方面的应用具体如下:其一,检测克隆代码的方法。所谓的克隆代码是指按照相关的软件工程正常运行的标准,复制或粘贴某个代码段。如果存在特别的需要,还能够酌情更改一些代码,并且对以上的代码加以严格地检测,目的在于以免相关故障的传播,达到简单维护系统的目标。有利于相关的软件系统正常运行。现阶段,克隆代码的检测可分为四种方法。即标识符比较、文本对比、程序结构、度量等。各种方法皆拥有各自的判断标准与检测程序,应用的时候,还需要结合具体的状况合理选择。其二,Aspect挖掘法。这种技术就是人们经常提及的横切关注点的挖掘法,在软件工程里,Asped挖掘法在改造系统中发挥关键性的作用。尤其在处理相关问题时,可以提供很多的方法,其中,形式概念、度量分析法最具有针对性。以上的方法能够通过重建候选集的形式,更好地解决横切点的挖掘问题。而且,这种数据挖掘的技术在其他许多方面也可以发挥良好的性能。 2.2软件项目管理方面 关于软件项目的管理,应用数据挖掘的技术可以表现以下两点。其一,挖掘组织关系与控制版本的信息。因为软件管理属于一项系统化的工程,关于组织关系的挖掘就分为许多层面的内容,其中,以合理地协调、分配人力资源最为重要。例如:在某一活动举办期间,由于涉及诸多的参与人员,这样,在统计有关信息时,极易因信息的交互而影响活动的正常秩序。而数据挖掘技术的有效应用,能够有效地区分各方面的组织关系,极大地提升了项目管理的效率。其二,控制版本的控制信息。版本信息的控制可以为相关的工作者查询版本带来便利。有效地应用数据挖掘的技术,不但可以对系统实际的修复状况展开自动化地检测,同时发出相关的报警信号;而且还能够轻松地规避大量的错误,有利于维护系统的运行秩序,进而提升软件项目的管理质量。 2.3故障检测方面 数据挖掘的技术在软件工程中的另一个重要应用就是检测故障方面。长期以来,软件工程系统中,展开故障检测的时候,通常选择程序切片的方法,程序切片的检测法尽管也可以在某种意义上达到系统正常运行的标准,然而,也会产生一些亟待处理的问题。例如:技术较为复杂、定位比较模糊等。现如今,随着软件工程系统日益升级与优化,一定要相应地优化故障检测的技术。而应用数据挖掘的技术恰好可以符合新的检测标准。这项技术具体应用于故障检测方面可以从交互模式、程序说明进行分析。挖掘程序的说明可以对软件工程系统相关的运行信息展开跟踪式的检测。以便迅速查找系统运行中存在的问题,并及时进行系统的检测与维护。从现阶段常见的挖掘法分析,一般应用规则与自动化的方法。这两种方法,皆充分地按照相关的程序与API的规则进行信息的挖掘。 3结束语 总之,在软件工程系统中有效地应用数据挖掘技术,既能够极大地提升软件研发的工作效率,又能够增强软件的稳定性能。伴随信息技术的不断发展,在未来,数据挖掘的技术在软件工程领域中的应用还会更加广泛。这项技术改变了以往人们获取数据的形式。而且从某种意义上优化了软件工程系统,有利于软件工程获得更好的发展。
计算机软件工程篇1 0引言 大数据时代是一个数据分析非常集中化、智能化和全面化的时代,而针对数据的有效处理过程肯定需要相关的数据处理技术才能够完成,随着数据量变得越来越庞大,数据处理的过程就需要更加精确和智能的技术才能够完成,这个过程靠一些普通的数据处理软件来进行数据处理是肯定达不到最好的效果,大数据的发展同时也推动着计算机软件技术的不断更新和优化,而计算机软件技术的更新更是对大数据巨大优势的不断呈现,各行各业都需要结合这种发展的趋势才能够得到巨大的发展机会[1]。 1大数据时代背景下计算机软件技术的应用需求 1.1对于能够保障信息安全的技术需求 大数据的发展当然产生了一个时代的红利,各行各业都在大数据的推动下得到了客观的发展机会,但是随着大量数据云端化以及信息数据的可视化,就很容易产生信息泄露、隐私泄密的问题,这是大数据时代下数据处理带来的一种不利影响,这种影响小则会泄露个人的隐私数据,大则有可能泄露企业信息甚至是国家机密,这个时候带来的损失也是不可估量的,所以,在大数据时代背景下,计算机软件技术的信息保密需求就越来越高了,结合互联网的开放环境,应用互联网信息保护技术就显得非常有必要,计算机软件技术也应当注重对网络信息安全的保护,不能仅仅把技术的发展放在数据处理的方面,而要关注对数据的保护过程。不断提升数据处理过后相关数据的安全等级是数据处理软件技术开发人员应当要重点关注的一个方面,这不仅有利于让数据处理能够被有效得到正确的运用,还有利于对互联网环境中大量隐私数据的有效保护[2]。 1.2对于云储存技术的需求 随着互联网的信息数据越来越庞大,传统的存储技术已经不能满足如此大的数据存储需求了,在这样的背景下,云储存的概念和存储方式得到发展,作为计算机软件技术中不可或缺的一部分,云储存的发展顺应了大数据时代发展的趋势,为便利化、智能化存储信息和数据提供了很重要的技术支撑,而云存储技术更是能够摆脱传统存储技术对存储时间和存储空间的限制,让存储的信息直接和大数据平台接轨,在互联网系统中得到永久性的保存。只要互联网存在,储存的数据和信息就不可能消失。计算机软件技术与云储存技术结合,各个存储单元在云储存系统中有序排列成为一个整体系统,在这个系统中各数据和信息都能够有序地储存。而现阶段,云储存技术的发展已经和区块链技术、人工智能紧密结合在了一起,信息和处理的过程更加便利和智能化,这能够给用户带来良好的体验感,可以更加方便地使用存储的信息,这也有助于提升数据处理分析的效率。大数据的合理化、系统化规整过程也能够得到有效保障。在大数据时代背景下,云存储技术也是计算机软件技术应当要研究的一个技术方向[3]。 1.3对于虚拟化技术的具体需求 虚拟化技术是将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。在大数据时代背景下,计算机软件技术的虚拟化技术需求是未来技术发展的一个重点方向。一方面,虚拟化技术能够提升对数据整理和处理的效率,使得服务器的速度能够不被传统的硬件条件限制,比如说云服务器就是结合了虚拟化技术才能够得以实现的,这让云处理、云计算这些大数据处理分析技术能够被充分发挥出来,数据的整理和分析也变得更加系统化;另一方面,虚拟化技术还能够有效提升大数据系统的可用性,使得大数据成本得以降低,从某个角度还能够有效降低能耗。综合来看,对于庞大信息和数据处理的过程需要得到虚拟化技术的支撑才能够高效率完成。在大数据时代中,各行各业在应用计算机软件技术时,更是应当要注重对虚拟化技术的有效利用。 1.4对于人工智能技术的需求 一直以来,对于数据处理的智能化都是大数据处理技术非常注重的一个方面,不依靠人工和复杂的计算机来处理数据是大数据技术发展的一个重要特征,在这样的需求下,将人工智能技术结合在大数据处理当中显得非常有必要。在大数据时代背景下,结合人工智能技术是计算机软件技术应当要注重的一个发展方向。人工智能发展到现在,已经能够实现以下几个方面的功能。首先是智能识别技术,也就是感知智能技术,在数据处理中,结合人工智能将一些外部的数据进行智能识别录入大数据系统可以让数据的录入变得非常方便;其次是数据挖掘工功能,也就是计算智能,这项技术能够从以往已有的数据集合中智能化建立一个数据模型,后期的数据处理分析就可以依靠这个数据模型来实现;再者就是深度学习功能,也就是认知智能,这项技术能够实现人工智能对于数据处理分析的学习,在人工智能的有效配合当中,数据处理的过程越来越科学化,也就是在以往大量的数据被集合在大数据系统当中以后,数据的智能化分析能够变得越来越合理,数据分析的结果也变得更加科学。 2大数据时代背景下计算机软件技术的具体应用方向 2.1产业发展 在国内,有关于大数据的研究可以说是目前互联网科技行业的重点讨论话题,国家相关部门同样耗费了巨资投入大数据技术的研究。2012年批复的“十二五国家政务信息化建设工程规划”相关文件显示,对于大数据的投资总额就达到了几百亿人民币,其目的就是要利用大数据构建一个人口、法人、空间、宏观经济和文化这五大建设工程的信息数据资源库,这也标志着我国开放、智能、共享的大数据时代已经到来。就目前的情况来看,关于大数据平台的构建和对于大数据中关键技术的研究突破,以及实现大数据开放海量信息的共享方面,上海市率先走在了发展的最前沿。在2014年,上海推动各级政府部门将相关数据库进行对外开放,同时也鼓励社会对这些数据进行加工和运用,以实现社会各方面的高效发展,在《上海市政府数据资源向社会开放工作计划》里面,就已经确定了190项数据内容将成为重点开放领域,其中就涉及公共安全、社会服务、教育科技、文化娱乐等各项领域大数据库的开放,这也使得互联网文化达到尤为繁荣的阶段。在海量的数据、过硬的技术支持下,大数据技术开始服务于社会发展的各个领域[4]。 2.2信息化、智能化教学 在大数据技术的服务下,教育科技领域迈向了一个新的发展里程碑,通过大数据技术实现对于教育教学资源的收集整理的高效化、利用大数据技术实现教育的智能化以及运用大数据构建一个高效化的教学模式,成了大数据服务在教育生态环境中的重点建设项目。首先,教育的信息全面化表现在教育大数据,从多样化的海量教育信息数据库当中,能够依据这些教育信息的发展态势判断出教育的发展规律。其次,大数据有着体量巨大、格式多样、生产高效的技术特点,这恰好与学科教学资源丰富多样的特征相互匹配,能够适应学科教育对于教学资源多样化和丰富性的要求。再者大数据技术能够让信息处理变得更加高效,使得学科教育中的各种教学模式框架能够被有效整合利用,完善了学科教育生态环境。计算机软件技术应用在教育领域应当要注重结合大数据技术对教育生态环境加以构建。 2.3商业应用 在网络时代,基于数据的商业智能应用为运营商带来巨大价值。通过大数据挖掘和处理,可以改善用户体验,及时准确地进行业务推荐和客户关怀;优化网络质量,调整资源配置;助力市场决策,快速准确确定公司管理和市场竞争策略。例如,对使用环节如流量日志数据的分析可帮助区分不同兴趣关注的人群,对设置环节如HLR/HSS数据的分析可帮助区分不同活动范围的人群,对购买环节如CRM的分析可帮助区分不同购买力和信用度的人群,这样针对新的商旅套餐或导航服务的营销案就可以更精准地向平时出行范围较大的人士进行投放。以商业投资为例,大数据分析技术把投资环境进行综合性的处理分析,这不仅有利于企业更好地从外部进行融资,更能够让投资环境变得更加透明,投资的数据能够被有效掌握,有助于加强投资监督,通过大数据创建投资信用体系,保障投资者的权益。为投资者增加更大的效益,这是大数据背景下计算机软件技术应用在商业领域的一个巨大优势。 3结语 大数据时代对于数据的整理和利用效率是前所未有的,计算机软件技术的发展应当把控这种趋势,这是对于软件技术的优化,更是让其更好地服务于大数据发展,特别是服务于对于数据的分析,而在未来,计算机软件技术将会在技术服务上为各行各业增优创效,促进各个领域的高质量发展。 作者:郭帆 单位:洛阳科技职业学院 计算机软件工程篇2 0引言 为了适应大数据发展背景之下计算机软件技术的科学运用,需要不断从大数据这一发展背景出发,有目的地开展计算机软件技术的科学运用,进一步完善和优化计算机软件技术,借助于大数据,来提升相关管理人员的决策能力以及洞察能力,为我国计算机软件技术的进一步推广打下坚实的理论基础和实践经验。 1大数据背景下的计算机软件工程 在计算软件当中,主要可以划分为四种不同的类型,其分别为:数据化处理、人工智能化、科学计算以及过程控制。为了能够促使整个计算机软件技术能够更有效地为公众服务,人们则会通过各不相同的一些工作的类型构建形成不同的有针对性的软件模型,并且针对其编写出良好的应用程序,并且针对响应的计算机软件处理获取最佳的计算结果。在这过程当中,还有一部分的计算机软件在现实的运用当中更加注重对程序以及相关数据的探索,并且通过运用各不相同的一些程序来进行表达,研究有关计算机的其他一些技术内容[1]。在大数据这一发展背景之下,计算机软件技术整体水平也得到了有效的提升,这对我国社会的发展到来了非常深远的影响[2]。任务以及管理的相关的资料和数据,进一步分析不同的数据信息,使之变得更加的便捷、简单,并且运用更为丰富的数据信息来进一步提升整体工作的效率以及企业的运行管理机制,为有效地促进企业的发展,带来丰富的经济效益打下坚实的理论基础与实践经验[3]。 2基于大数据的计算机软件技术 信息安全技术。目前大数据的快速发展背景之下,成为今后各行各业对丰富数据信息相互整合、关联起到了非常重要的作用,也只有构建相对完整的一些数据分析或者是针对其所表现出来的框架予以系统的解读,才能够不断提升计算机数据管理的综合性的价值内容[4]。基于这一点,构建极具科学化的一种信息安全技术运行的特殊框架则在此时变得更加的有意义,同时也是进一步维护我国的计算机数据系统管理以及对其进行科学化监督的核心所在,而且也是进一步优化计算机数据运行流动效率的主要内容。网络体系所表现出来的开放性的特点也更加的突出,这也为现当代人们的发展带来了前所未有的便利,而且也针对网络化运行的安全提出了越来越高的新挑战,此时,如何才能够更有效地维护我国信息安全的有效传递,成为非常关键的内容,需要进一步引发人们在技术监督上的重视以及信息统筹控制方面的关注。值得一提的是,网络中的病毒、木马等都会影响数据的存储和数据分享安全性,这就需要建立完整的计算机软件应用技术模型夯实技术管理效率,维护存储工作和分析安全性。云存储技术。随着我国数据存储工作的进一步落实与创新发展,存储的相关数据信息也随之不断提升,这也就导致相关数据的容量需要进一步扩大才能够容纳更多的信息,而由此所产生出来的费用成本支出也就不断增加。与传统的数据信息存储方式相比,云存储这一技术不管是整体的存储容量还是针对所搜集的数据信息处理与分析都会有着很大的提升,使用者也只需要通过运用网络或者是服务器相关设备就可以针对许多数据信息予以查阅和存储,并且在后期的数据传输过程中,通过运用互联网加密这一手段,有效的提升其数据信息运用的安全性,防止一些不法分子运用其中的漏洞做出一些不好的事情,给企业与单位带来不同程度的损失。现如今,云存储技术和大数据技术相辅相成,已经成为大数据时代背景之下用户进行数据信息处理分析工作的主要方法之一[5]。虚拟化技术。这一技术表现主要是计算机技术当中独有的资源管理类型,其工作的原理就是为了能够针对响应的数据库当中所表现出来的一些内部的数据与资源予以处理,并且不断优化整个网络中的资源配置内容[6]。针对虚拟化技术的有效运用,不仅仅能够有效提升使用者对计算机系统操作的一种适应性和便捷性的特点,而且还能够促使相关的计算机数据在后期的分析和处理效率之上变得更加的优越。 3大数据与计算机软件技术的应用 计算机软件技术在通信工程中的应用。为了能够进一步提升消费者的关注度,减少在后期的运行过程当中客户的流逝,则需要更加深入地了解不同客户的需求,进而判断出其有可能存在的一种潜在的行为,制定出科学的应对措施,满足不同客户的不同需求[7],提升使用者的黏度。就目前来看,IBMSPSS预测分析软件可以说是人类生活过程中非常普遍的一种运用内容,这一软件在后期的运行过程当中能够更加科学而且合理的去判断客户所表现出来的不同的行为,而且还能够通过针对企业的分析之后,发现其在运营以及管理过程当中将要出现的一些风险以及相关的问题,制定出相关联的一些防范措施以及应对措施。就通信行业来看,在大数据发展背景之下,企业可以借助于不同的计算机软件对客户的相关信息进行更加准确的分析,进而对客户所表现出来的一些行为进行更加科学、有效的分析,为使用者提供更为良好的服务,促使用户能够更加新来这一产品,提升企业后期的运营效益。借助大数据还可以对客户进行有效监控,掌握客户的相关信息,使服务更加周到,实现个性化服务。计算机软件技术在企业的信息化管理中的应用。如今,在我国的企业发展过程当中,随着信息化技术的运用,企业管理所使用的软件也随着社会的发展而不断转变,这不仅仅能够进一步提升我国管理的整体效率,而且还具有非常良好的预期效率。在企业的发展过程当中,需要依据企业所表现出来的不同特点,有针对性的设定相关的管理软件,并且重点进行突破,而如果想要做到这点,就必须要针对以下两个方面进行运用:(1)在数据的抽样过程当中,所抽取的数据样本要具备一定的代表性。而在此时,相关的企业人员在针对所抽取的一些样本当中进行统计、分析与测量,进而更科学的制定出相应的推广方案以及产品的开发方案,进而不断提升企业的生产效率以及销售效率。在整个数据的抽样过程当中,更加灵活、多变的运用计算机软件技术,将其所采集的样本依据极具代表性的要求进行配备,提升整体工作效率[8]。(2)开发探索工作。数据信息的开发探索工作是指工作人员通过对采集数据的分析异常数据、数据之间的关联指数等方式,以此提高企业以及使用用户对于数据的直观感受和认知程度。在此工作环节实际过程中,有效地运用计算机软件技术,极大地提高数据信息开发探索工作的工作效率和工作质量。 4结语 在大数据的发展背景之下,计算机软件技术也随之有了更加全新的发展,迎来了新的发展给予以及新的发展契机。再这样一种时代的发展背景之下,如何能够更加有效的通过运用计算机软件来提升大数据的发展,促使各行各业能够得到全面的发展,这也是目前众多研究者不断探索的重要话题。由此,在本文当中针对计算机软件进行了更加全面的分析,并且依据其在通信行业、企业管理行业当中的运用,从而表明其具有的重要价值以及发展意义,也为其后期的进一步发展打下了坚实的理论基础和实践经验。 作者:李晓 单位:山东信息职业技术学院 计算机软件工程篇3 0引言 计算机软件技术在各行业应用中,大幅度提升了工作效率,改善了生活质量,而面对快速发展的社会环境,其仍需要不断完善和创新,以便于更好的服务社会发展。计算机软件工程要把握大数据技术的优势,令决策人员通过大量数据的整合、分析做出最合理的判断,从而制定明确的发展方向。同时,记录与存储计算机软件工程数据,形成系统的数据网络,为今后的创新研发提供数据支持,实现相关技术的循序渐进,创造信息科技强国。 1研究背景 计算机软件工程在大数据时代发展状况。为了满足社会群体日常工作和生活需求,要求计算机软件实现多元化发展,在已有的软件模型上编写出丰富多样的应用程序,而从计算机软件的根本来讲,大量的计算机软件可以分为数据化处理类型、人工智能化类型以及科学计算类型、过程控制类型。这几大类型的软件分别负责不同的工作要求,因而构建的软件模型也各不相同,后续的各类软件也是在此基础上进行的完善。对于软件开发而言,程序是表达的根本,数据是开发的依据,所以大多数的计算机软件运用都需要多元化、丰富化的程序和数据支持,这也是开发计算机功能的前提条件。因此,大数据技术的诞生对其带来了积极意义,提升了数据的整合和利用,为计算机软件技术研发奠定了坚实基础,因而在此背景下优化计算机软件技术具有显著成效。在企业信息化管理中,大数据技术提供了大量的信息数据,巩固了信息化管理机制的优势,而且任务以及管理系统在数据分析下,应用效率更加明显。 2基于大数据技术的计算机软件工程 信息安全技术。现代化社会正处于信息爆炸时期,海量的信息数据包围了各行业发展,而随着大数据技术的研发,促进了信息数据的整合,为企业发展决策提供了重要依据。但对庞大数据的整合形成的框架必然需要进行分析解读,以此挖掘数据价值,体现计算机数据管理功能。同时,海量数据信息带来的病毒、木马也成了信息安全的重要考验。因此,在这一背景下建立信息安全技术框架,开发信息安全技术功能就显得尤为重要了,这也符合强化数据管理质量的理念,并且在对数据管理进行监督的过程中势必要具备与之相关的信息安全技术,只有这样才能确保信息数据流动的安全性、便捷性。随着计算机网络技术的不断成熟,其开放性特点愈发明显,但这也为安全问题的滋生提供了便利,因而数据流动的安全性迎来了新高度。技术人员十分有必要加强数据信息监督,杜绝病毒入侵,保证数据存储安全可靠。同时,也要从全局分析控制信息,由此可见,计算机信息安全技术框架的构建有必要进行完善,以确保数据管理的高质高效。云存储技术。在企业信息化管理中每天都会产生大量的数据信息,而且在现阶段数据信息的产生只会迅猛增加,导致一些传统的数据存储方式已经不能满足存储需求。所以为了确保对大量数据的妥善存储,企业往往需要投入高昂的资金,用于扩大信息容量,这对企业的经济效益而言,有着不小的影响。为此,云存储技术得到了迅速普及,其不仅具有庞大的信息容量,还具有突破性的数据处理能力,同时,在数据查询、传输时也更加便利,通过服务器登录即可进行相关操作,对用户的服务性能显著提升。其次,互联网加密手段的更新也为云存储技术提供了一大保障,避免了不法分子恶意入侵造成的数据信息丢失、泄露,从而引发信息危机。总之,在新时期网络环境日益复杂的背景下,大数据技术与云存储技术的结合势在必行,而且企业、用户在数据处理中要想提升效率,就必须采用两者相结合的管理模式[1]。虚拟化技术。针对计算机数据资源的有效管理,需要专门的资源管理技术,而虚拟化技术正是专属于这一类型的现代化技术。通常在计算机数据库响应过程中会滋生出一些数据资源,对这些内部数据资源的分析处理就是虚拟化技术的应用原理。同时,网络运行中,各类资源层出不穷,如何合理配置值得技术人员深思,因而该技术在网络资源配置中可以不断进行优化调整,以维护网络环境。其次,通过该技术的实际应用,一方面用户能够快速掌握计算机系统使用方法,操作起来更加简单,另一方面可以为计算机数据处理能力提供更有力的辅助作用[2]。 3计算机软件技术与大数据技术的融合应用 应用到通信行业发展中。客户是通信行业发展的原动力,只有积累了大量忠实客户,才能不断维持行业发展,所以加强客户与企业的联系,获得客户认同极为重要。而要想获得客户认同,就要在产品研发中始终结合客户需求,这样客户才不会在发展过程中逐步流失,因而在分析客户数据的过程中要发现细节变化,了解客户潜意识的行为,从而以此制定发展规划。现阶段使用最广泛的IBMSPSS预测分析软件就可以对客户的行为进行全面分析,从而掌握不同个体在不同情况下表现的多元化行为,这在当下是非常有用的数据分析软件。同时,还能够对企业运营产生的数据进行综合分析,从而得出运营中存在的风险隐患,进而制定可行的风险防控策略,防患于未然。这一软件就是基于大数据技术研发的,其体现了大数据技术的数据收集优势、分析优势。而在具体的通信行业发展中,需要不断投入大量的资金成本,这些资金就要通过研发产品,客户消费获得,所以企业要做的就是让客户始终信任自家产品,需要自家产品,因而要利用大数据技术支持的计算机软件对客户的数据进行收集以及分析,从而在客户的不同行为中判断每一位客户的喜好,研发个性化的产品,从而满足不同客户的个性化需求。应用到企业信息化管理中。社会信息化建设推动了企业信息化管理,市场竞争越来越激烈,也要求企业开展高效率的内部管理,所以企业管理要应用多样的计算机软件,落实信息化管理理念。不过需要注意的是,计算机软件研发速度较快,各种类型的管理软件投入使用,会给企业管理人员带来一定的误区,可能导致应用的管理软件并不适合企业发展,这样不仅不会提升企业管理效率,反而会起到阻碍作用。因而在软件应用和研发中要结合企业自身特点,选择最合理的管理软件,并对其进行不断优化和创新,最大程度发挥管理软件的优势,带动企业管理效率飞速提升。同时,还要对管理软件的准重点进行分析,设定符合企业要求的管理内容。具体而言,企业要通过计算机软件技术抽取具有代表性的数据样本,并对这些数据样本进行分析、测量,整理出数据样本中有用的信息,将其作为产品开发和推广的主要依据,由此制定系统的开发计划,确保产品生产和销售达到预期效果。其次,计算机软件技术还要应用到数据开发中,针对异常数据与数据的关联指数进行系统分析,确保企业管理人员可以明确数据的潜在意义,形成正确认知,这有助于不断探索全新的数据信息,从中提取对于企业管理有利的数据。 4结语 自计算机信息技术诞生以来,我国各行业发展中对效率和质量的要求更高,人们的日常生活和工作也提出了更高的服务要求,因而我国行业发展进入了计算机软件的开发应用阶段。但在以往的开发应用中能够提供的优势有限,直到大数据技术出现之后,计算机软件技术打破了原有的瓶颈,迎来了全新的开发环境,实现了大数据与软件技术结合的新应用方式。在该方式的应用下,行业企业对数据的处理能力明显提高,数据信息的价值也得以充分挖掘。因此,有关技术人员就要主动探讨大数据背景下,计算机软件的开发应用,以此全面促进计算机软件技术的发展。 参考文献 [1]沙之洲.大数据时代下人工智能在计算机网络技术中的应用[J].电子元器件与信息技术,2022,6(01):87-88. [2]吴佳豪,张娴静.大数据时代下计算机网络技术中人工智能分析[J].九江学院学报(自然科学版),2020,35(03):77-80. [3]李晓.大数据在计算机软件工程中的应用[J].集成电路应用,2022,39(05):106-107. [4]吴慧林.大数据时代下软件工程方法在计算机软件开发中的实践[J].普洱学院学报,2021,37(03):16-18. 作者:刘金良 单位:晋中信息学院
随着相关技术的不断发展和应用的普及,计算机软件工程管理已经得到了相当大的发展,但是在目前的发展阶段,由于相关经验积累较少,仍然是存在一些固定的问题需要去解决,否则将严重影响工程管理过程的质量。想要解决这个问题,首先需要对产生这些问题的原因进行深入的分析,并从中找出解决的办法。 1计算机软件项目的使用 所谓的软件研发就是根据相关使用目标就数据进行构造,对软件构造进行重新编程,在编辑编写的过程中测试软件是否能够完成设计的工作内容。在研发阶段就软件而言,其主要的工作内容分为前期策划、过程中编码、对软件进行相应功能的测试三个阶段。在软件的设计阶段一般分为概要设计和详细设计两部,概要设计是指对于软件的各模块内容进行分解,并对软件的构成板块之间以及相关接口的合理性进行分析,实现对整体数据组成情况有一个认识,基于此认识再进行后续的详细设计作业,为详细作业过程提供理论指导和方向。而详细设计是指对之前分析的各个模块中的具体数据进行细节处的设计。两种设计的操作者不同,概要设计的工作者一般是具有丰富的工作经验,参与制作过多种软件对软件内部的运行机理较为熟悉,能够根据不同的需求对软件的模块设计进行原创性的设计。而详细设计的参与者一般为普通的程序员,其日常的工作就是根据概要设计的相关指导完成具体的操作工作。在设计阶段出现的文档主要是为后续设计工作编制的说明书形成不同的说明文件。在进行编码的过程中,工作人员主要对某个程序员的版块进行程序编写。参与编写的过程主要是由程序员完成,在数量众多的文档中有一类闻到了内容较为详细这类文档在进行软件测试时作为一种发掘文件,能够对文件中产生的一些错误信息进行及时的改正,以提高程序运行的稳定性。在软件测试阶段存在的工作者主要是从各个部门抽调的高级程序员组成的,其中存在的文档主要为软件测试的策划以及软件测试的报告形式。在软件的日常使用过程中,常常需要对其进行维护更新造成持续更新的原因主要来自三方面,首先是由于软件在使用过程中会出现一些隐藏的错误,这些错误随着外部使用环境的变化而进行变更。另一种情况是由于受到外部因素的影响而造成软件需要进行更改,最后一种情况是由于软件自身的更改和拓展,为了保证其在保护期间能够避免受到外部环境因素的影响并挖掘软件潜在的能力,在软件的保护阶段对其进行维护保证文档的策划和报告工作,从而促进软件能够在各个项目工作中实现有效的运用。 2计算机软件工程管理项目的应用策略 2.1增强团队水准 作为软件设计维护的主力军,管理团队的职业素养和管理水平直接影响着相关工作的进行。为了提高工作质量,保证每一个团队成员都能够将自己的优势发挥出来,就需要在团队人员选择时注意搭配,让不同性格有不同专长的人员组成一个团队,这样就可以在面对工作问题时有多种解决思路产生,并选择其中最优解来解决当前问题。同时应该根据软件工程过程内容制定相应的管理制度,管理制度的建立一方面,可以规范工作人员的职责,让其能够明确自身的工作责任和范围另一方面,当工作团队在日常作业时遇到问题,能够根据制度中的内容来自我调整。同时在制度中有相关的禁止内容,能够在日常工作中让团队成员有自我监督管理的意识,对工作过程中接触的内容有一个正确判断,同时也能够提高工作人员的责任心。在对团队人员进行安排时,要根据研发过程的实际情况对团队中每一个成员的实际工作状态和特点进行分析,在全过程进行合理掌握和调配,对其进行合理的分工,使其能够将自己的专长尽可能发挥出来,提高工作岗位的效率和团队成员的工作积极性。让每一个身处管理团队的人员都能够有相应的发展空间,有助于进行项目管理工作。 2.2改善计算机软件工程管理系统 想要改善计算机软件管理系统,提高整个项目的研发效率,就需要不断根据外部社会环境的变化情况,积极引入新技术,新概念,新思想,促进软件研发项目能够与时俱进,掌握最先进的管理理念和相应的技术,并尽快将这些生产要素落实到实际的软件开发过程和维护管理过程中。同时在原有的管理制度基础上根据实际工作情况和外部环境的变化,及时的更新工程管理制度,完善合理的管理系统,积极引用相关人才提高计算机软件的研发效率同时通过建立奖励机制来激发员工的工作积极性和主动性,使其能够将自己在工作岗位获取的经验融会贯通,然后再通过相关技术的加持在其工作岗位上不断创新,提高工作质量和工作效率,并且在团队中营造出团队间用软件质量进行互相竞争,团队内部各成员之间能够合作共赢的企业氛围。 2.3增强软件风险管理 在过去的软件开发过程中,对于风险管理的着眼点较少,导致软件开发,后期由于风险抵抗能力较差,容易出现软件与变更后的实际需求不匹配的情况。为了保证软件项目的顺利实施,可以构建完善风险管理机制,并且所有参与研发的工作人员,在脑海中要常有一个风险意识。通过定期组织工作人员学习风险管理知识,提高在软件开发过程中对于风险因素的规避。根据过去的开发经验和目前实际情况,制定出一些合理的预防措施,减少风险发生后造成的影响范围同时在条件允许的情况下,应该对计算机软件风险进行持续管理,在管理过程中不断摸索和提炼相关经验并尽快完善到相关管理制度中,指导后续的工作人员完成相关作业。 3结束语 本文的主要内容是对软件的相关使用进行介绍,阐述了软件管理过程的内容,随着目前信息化进程的不断加速,计算机软件工程管理工作的有效性应用不仅可以使人们掌握更充足的资源,并且有助于创新型发展。 参考文献: [1]邵曰攀.加强计算机软件工程管理应用的措施分析[J].电脑知识与技术,2018,14(05):98-99. [2]马飞.加强计算机软件工程管理应用的措施分析[J].通讯世界,2015(14):243-243. [3]孙华,李爱平,金智.加强计算机软件工程管理应用的措施分析[J].电子制作,2015(08):78-78. 作者:张峪齐 单位:吉林司法警官职业学院
本文即围绕数据挖掘技术,就其在软件工程中的具体应用,进行了分析和探讨,具体内容如下: 1数据挖掘技术概述 数据挖掘(Datamining),也称为数据采矿,是数据库知识发现的一个基础环节,是在海量数据中自动完成隐藏特殊关系数据搜索的过程,数据挖掘技术就是这一过程应用的相关技术。一般来说,数据挖掘过程可以分为四个环节进行,分别是选择软件库保存的数据、完成选择数据的预处理、对预处理得到的格式化数据进行挖掘、以及最终获得目标数据。软件工程是数据挖掘技术的重要应用领域,具体的数据挖掘工作普遍分为三个层次进行,分别是交互式可视数据探查、自动模式提取和建构模型。三个层次之间存在着直接的关联联系,其中可视数据探查是后两者的基础,而建构模型又是前两者的指导。软件工程领域应用数据挖掘技术的目的,主要是借助聚类、分析、预测、统计等技术手段,在海量数据资源中快速分辨、寻找符合人们应用需求的数据信息,并自动将检索到的信息反馈至软件系统。此外,为保障数据挖掘的科学性和有效性,数据源还应尽可能达到庞大、真实的要求。 2数据挖掘技术的应用分析 2.1开源软件开发中的应用分析 所谓开源软件,就是源代码处于开放状态的软件,一般来说,开源软件普遍对客户免费开放,也正由于开源软件的这一特性,导致对开源软件的管理和控制变得相对困难。在这种环境背景下,在开源软件开发阶段引入数据挖掘技术,可有效提高开源软件的开发质量。以大阪大学设计的分布式数据挖掘系统为例,该系统就可以在实现大规模系统挖掘的同时,完成对不同开源软件的挖掘;再以牛津大学设计的数据挖掘系统为例,该系统实现了系统开发者和使用者的持续跟踪管理,从而大幅度地提高了开源软甲的使用率。 2.2软件项目管理中的应用分析 数据挖掘技术在软件项目管理中的应用,主要表现在以下两个方面:(1)版本控制信息挖掘包含的对组织关系的挖掘;(2)对版本控制信息的挖掘。就软件项目管理而言,其本身具有鲜明的系统性和复杂性特征,对组织关系的挖掘,是实现各类资源科学分配和协调的重要前提。以整个软件项目管理过程中产生的电子邮件、共享文档为例,对此进行数据挖掘就可以有效区分不同工种人员的组织关系,避免秩序混乱问题的发生,从而保障软件项目管理工作的顺利进行。另一方面,版本控制可以实现对文件内容变化的详细记录,并作为用户了解版本修订情况的依据和基础。针对版本控制信息应用数据挖掘技术可进一步降低系统维护成本,同时可起到一定的警示作用,及时反映系统修复记录中存在的纰漏,最终达到提高软件项目管理水平的目的。 2.3程序代码中的应用分析 本文涉及的程序代码,主要是指克隆代码,即通过简单的“复制、粘贴”操作获得并再次进行使用的代码。数据挖掘在克隆代码检测中的应用,是数据挖掘技术应用的早期形式之一,目前应用较为普遍的方法包括基于标识符对比方法、基于文本对比方法等几类。总的来说,数据挖掘在克隆代码检测中的应用还有待进一步的发展和完善,尤其是关于语法信息和语义挖掘的考虑,以提高检测的科学性和准确性。对横切关注点进行挖掘,也是数据挖掘技术的重要应用,主要是由于部分关注点在程序中的代码具有极高的相似度,甚至是使用相同代码导致的。目前,应用于Aspect的挖掘方法众多,根据不同方法的具体特点,可以分为形式概念分析方法、本文和类型分析方法、聚类分析方法、以及自然语言分析方法等等。在对执行模式进行数据挖掘时,应优先选择方法执行关系挖掘和形式概念分析法两种方法。此外,数据挖掘技术还可用于对数据库目标构件或代码的挖掘应用,在数据挖掘技术的支持下,可大幅度提高检索速度、效率和准确度。 2.4故障检测中的应用分析 从故障检测的角度分析,对程序执行记录进行数据挖掘,可提供程序的交互模式和说明,而以上信息均可以作为软件故障定位和检测的依据。对程序说明的数据挖掘过程,就是对信息的跟踪和逆向建模的过程,该过程对于加深对程序的理解,以及优化程序后续的维护管理,具有重要的作用和意义。目前,基于规则的挖掘方法是应用较为普遍的方法,其主要通过对程序行为的挖掘发现对应的规则,进而借助时态逻辑完成表达。 3数据挖掘技术的主要应用方法 3.1分类 数据挖掘技术涉及的相关分类方法,大致等同于某种预测分类标号的执行动作。在实际应用过程中,通常需要建构相应的分析模型,并提前根据相应规则输入概念集或数据类集,以作为分析模型的应用基础。目前,数据挖掘技术应用于软件工程领域的分类方法中,主要的分类方法包括神经网络分类法、判断树法、贝叶斯分类法、以及支持向量机等几类。其中,判断树法在分类计算过程中主要借助贪心算法作为逻辑基础,根据从上而下递归的模式完成判定树的构造,而判定树包含的各个子节点,就分别表示不同的软件类别标号。 3.2聚类 聚类具体是指将研究涉及的大量数据,按照一定标准细分为不同簇或类的过程,从而在保障相同簇的对象之间拥有较好相似度的同时,不同的簇的对象之间有着较明显的差异度。聚类和分类有着本质上的差异,聚类过程划分的类对象具有不可预知性,即无指导的学习方法。聚类分析方法在其他算法的预处理范畴中有着大范围的应用,尤其在数据分布信息独立性分析方面有重要应用,不仅可更好地挖掘孤立点,同时可提高欺诈行为检测的效率和准确性。 4结语 综上所述,信息时代背景下,数据挖掘技术是快速处理海量信息、准确寻找目标信息的关键。就软件工程而言,数据挖掘技术在开源软件开发、软件项目管理、程序代码、以及故障检测等方面,均有着重要的应用,相关人员必须提高对数据挖掘技术的重视和关注,切实加强数据挖掘技术的实际应用,以促进我国软件工程行业的进一步发展。
一、软件实验室面临的问题 (一)实验室软件维护和更新的耗时耗力问题 软件工程实验室的设备往往以计算机为主。维护大规模计算机的软硬件是一项繁琐而艰巨的工作。特别是当实验室资源有限,不同课程所需的软件工具或者相关开发环境不尽相同,在新课程开设前,经常要临时安装或者更新许多软件。另外,个别学生在使用计算机时可能进行误操作,导致计算机配置文件缺失或者其他原因,造成计算机系统崩溃等。所以,软件的维护和更新一直以来成为实验室管理人员感到头疼的问题。传统的解决方式是通过交换机使实验室的主机连接构成局域网,之后使用硬盘网络同传软件进行全局域网内计算机系统环境的拷贝,这个方法一定程度上缓解了问题,但管理人员往往为了一个小软件的安装而同传整个硬盘或者一个分区,仍然缺乏效率。随着云计算等新兴技术的发展,软件维护和更新这一问题拥有了不少新的解决方案。本文介绍了两种不同架构的云桌面系统,并根据在实际中测试情况进行比较,给出了两者的优缺点。 (二)计算机硬件更新换代的问题 根据摩尔定律:当价格不变时,集成电路上可容纳的元器件的数目,每隔18-24个月便会增加一倍,性能也将提升一倍。计算机硬件的发展在过去几十年中一直基本遵循摩尔定律。但是高校实验室的硬件设备的更新换代速度远远比不上硬件设备发展的速度。实验室的计算机一般使用6到10年以上才能报废,在这期间,也较少有高校对计算机采用增加内存、替换CPU的方式来提高其性能的。那么如何灵活升级计算机的性能呢?云桌面的一些技术也给了一些可能的解决方案。 二、基于云桌面的解决方案 云桌面主要基于VDI(Virtual Desktop Infrastructure)或者IDV(Intelligent Desktop Virtualization)等技术实现。VDI即桌面虚拟化架构是指计算机系统的虚拟化。该技术将桌面操作环境与硬件运行环境分离,以实现桌面使用的安全性和灵活性。通过这项技术,用户可随时随地使用任何设备,通过网络访问个人桌面系统[1]。VDI技术下桌面计算资源一般都集中在数据中心上,界面也是由服务器发送到终端设备上的。而IDV技术则采用更多的分布式策略对系统进行精细的管理,同时集中和简化了服务器的管理部署功能,也充分利用了终端设备的资源。两种技术有很大的不同,在实验室建设中也有很多不同的优缺点。 (一)基于VDI技术的云桌面系统 VDI技术采用“集中计算,分布显示”的原则,借助服务器虚拟化技术构造桌面的资源池,将终端所有的计算都放在服务器的数据中心统一管理。终端仅安装客户端用于访问服务器并获取桌面,负责输入输出和界面的显示[2]。我们与国内某著名通信公司合作建立了40台终端的云计算实验室,在实际的测试使用中发现,在百兆带宽的网络环境下,当40台终端同时启动并使用时,服务器访问量明显增大,网络数据量也相应增大。此时对于一些简单编程工具的操作尚能正常使用,但是对于桌面图像变化较大的应用来说则非常卡顿,例如使用视频或者图像生成工具等,严重影响用户的使用体验。为了提高VDI技术的可靠性,实验室必须加大投入,配备足够的带宽与服务器资源,从而支持VDI技术的顺利使用,提高终端的访问体验。VDI技术云桌面系统的优点是软硬件都依靠服务器提供,方便升级和管理。缺点是对网络和服务器的投入较大,特别是终端显示图像的大量传输需要借助高速网络才能实现。 (二)基于IDV技术的云桌面系统 IDV技术由英特尔公司提出,主要目的是提供更加智能的管理用户计算的系统。和VDI技术将计算资源高度集中在数据中心不同,IDV采取更多的是分布式技术实现桌面的虚拟化。IDV不需要进行大量资金投入在网络和服务器的升级和改造上,不对现有桌面管理做大规模改造。一般来说,IDV系统会在服务器保存多份桌面的镜像文件,在实验室终端开启时,终端会与服务器比对,下载镜像文件差异部分,然后成功更新桌面系统,系统计算仍然使用终端资源进行,用户使用该系统时,不会与传统的桌面系统感觉有较大差异。为了测试IDV云桌面的使用体验,我们在一个50台计算机的实验室安装配置了IDV云桌面系统,在百兆带宽的网络环境下,我们首先在服务器端更新了100兆大小的软件,当50台计算机同时启动后,首先花费了2分钟更新了本地系统,并下载服务最新更新的软件工具,之后系统都可以流畅的运行,与在本地使用计算机没有差异。IDV技术云桌面系统的优点是前期资金投入较少,终端在启动后使用起来与传统计算机没有太大差异。缺点是由于终端与服务器的交互,终端系统启动较慢,另外,对终端的硬件配置要求更高,维护相对复杂。 三、总结 总的来说,不管是基于VDI,还是IDV技术的云桌面系统,都提供了比传统方式更好的解决方案,极大的方便了实验室管理人员的维护和更新工作。而对于需要进行实验室云桌面技术升级的高校或者相关单位,可根据自身情况和需求进行不同的方案选择和设计。
1计算机软件工程管理的对象分析 1.1对相关工作人员的管理 计算机软件工程的工作人员的主要任务就是收集有效信息并应用编程等技术对这些信息进行处理分析。软件的开发是环环相扣的一个过程,在这个过程中每个工作人员的工作重点都是不同的,因此,要根据工作性质合理选用适合的工作人员是人员分配与管理的一大准则。而且对员工的管理不能是分散的,要将他们进行统一的安排和调分配,增强他们之间的默契程度,提高团队的合作能力。 1.2对软件使用者的管理 开发一个软件是为了让更多的人使用,并且让他们有很好的使用感受。在开发软件的时候要充分了解客户的需求,做出让客户满意度高的产品。而且在软件开发上市后还要继续收集客户的意见以及建议,对软件进行完善。 1.3对资料及档案的管理 计算机的软件开发是一个极其复杂的过程,因此在这个过程中也会产生大量的文件及信息,这些资源对于软件的再开发很重要,因此,相关工作人员要做好保护及备份的工作。只有这样才能为以后的软件开发保存大量珍贵的数据,才能使软件开发拥有安全稳定的环境。1.4对相关机构的管理管理组织机构内部也应该制定合理的规章制度,让每个人都能够严于律己,做好自己分内的工作。一定要明确每一个人的具体职责,使每一份细微的工作都有人将其做到做好,这样才能提高整体的工作效率。 2计算机软件工程管理应用中经常出现的问题 2.1组织管理结构不合理 个工作人员具体的责任不太明确,容易出现“踢皮球”的现象,这就导致工作中一旦出现问题就无法得到妥善的解决,从而降低了工作效率,给公司带来损失。 2.2技术人员管理存在漏洞 在实际的工作中存在对于技术人员管理很随意的问题。软件开发是一个极富创造性的过程,但如果对相关员工进行一般的管理,往往会降低他们的工作热情,使他们难以制作出具有创新意识的产品,而且这样的人员管理模式也无法发挥出工作人员的价值与优势,因此要改变技术人员管理的方式。 2.3用户管理无序 用户管理也应该是软件管理当中很重要的一个环节,但有一些软件公司就没有对用户管理予以足够的重视。他们不能完整地收集客户的需求与反馈,也不能对已收集到的信息做出有针对性的处理。总之,他们并没有认识到计算机交互性的重要性,不能和用户产生双向互动,这就意味着他们不能够做出符合用户需求的软件。 2.4档案资料管理不严密 在计算机软件工程管理的过程中,档案资料的管理还存在很多的纰漏。例如,文档资料并没有按照一定的标准进行归类和整理,当有人想要查找相关资料的时候往往会耗费很多的时间和精力。而且还存在资料缺失的问题,由于工作人员的失误使一些重要文件和资料丢失,给公司带来巨大的损失。 3解决计算机软件工程管理问题的方法探究 3.1合理规范组织管理体制 要健全组织管理体制,让管理工作能够高效进行。(1)要规范各项管理工作,使每一项任务都能具体落实到固定的人员身上,让他们对自己的责任和任务有着更清晰明确的认识。(2)工作人员要坚守自己的责任,保证管理工作的有效进行。(3)要对工作人员进行统一的管理和分配,加强各个部门之间的合作意识,培养团队精神。 3.2使用奖惩制度管理技术人员 要建立奖惩制度来对技术人员进行更有效地管理。通过奖励机制可以让技术工作人员对软件开发充满热情,他们的积极性提高了,才能制作出更有活力、更有创意的软件。而适当的惩罚可以让消极怠慢的技术人员重新把注意力集中到软件开发当中,让他们保持健康积极的工作状态。 3.3合理有序地管理软件用户 客户的需求和反馈对于软件开发极其重要,在计算机软件工程管理中要重视对客户的管理。首先,要积极了解用户的喜好和需求,针对他们的要求,做出让客户满意的软件。在软件运行之后也要继续收集客户的意见并按照这些意见对软件进行完善。只有这样制作出的软件才能具有很强的实用性,才能吸引到更多的客户。 3.4加强档案资料的管理工作 为了发挥档案资料的参考性作用,就一定要加强档案资料的管理工作。(1)要对档案资料进行合理有序地整理,减轻之后查找资料的工作负担。(2)要保证档案资料的安全性,做好保密措施,防止黑客攻击。(3)为了避免意外的发生,一定要做好备份,让档案资料完整地保存下来。 4结语 为了使计算机软件工程管理的工作更高效地进行:(1)保证建立合理规范的管理制度;(2)要合理地应用奖惩制度,提高相关工作人员的积极性,让他们更高效地工作;此外,还应该重视和客户的交流与沟通,使软件变得更加完善实用;(3)一定要做好档案资料的管理工作,保证资料的有序和安全。只有做到这些,才能使计算机软件开发的效率变得更高效,才能更多地让计算机软件工程的好处惠及到人们的生活生产当中。 参考文献: [1]曹璨.计算机软件工程管理及运用研究[J].无线互联科技,2014(07):45-45. [2]肖云.浅析计算机软件工程的管理和应用[J].电脑知识与技术,2016,12(12):88-89. [3]杨晓庆.计算机软件工程管理与应用分析[J].网络安全技术与应用,2017(05). [4]李田英,苏艳.计算机软件工程管理与应用分析[J].电脑知识与技术,2015,11(10):72-73. 作者:刘华宇 赵诚轶 单位:河南师范大学;东北师范大学
浅谈软件测试工程师的工作:面向软件测试工程师培养的《软件测试与质量保证》实验教学改革 摘要:为了培养创新能力强、适应社会经济发展需要的软件测试人才,本文结合常熟理工学院《软件测试与质量保证》课程建设经验,以中小企业对软件测试人才的需求为导向开展实验教学改革,分别从实验教学改革基本思路、教学内容组织等方面探讨应用技术大学建设背景下软件测试课程实验教学改革措施。 关键词:软件测试;软件质量保证;教学改革;软件测评师;实验教学 一、引言 随着我国软件产业迅速发展,企业面临着开发高质量软件系统的巨大压力,软件测试、软件质量保证受到越来越多的重视。软件企业对承担软件测试、质量保证工作的软件测试人才需要剧增,软件测试工程师的职业价值、发展前景得到前所未有的提升。为此,国内高校开设了软件测试相关课程。但是,由于其重理论、轻实践的教学模式使得培养出的学生软件测试实战能力差,导致大量毕业生应聘软件测试相关职位时受到冷遇。 为培养创新能力强、适应社会经济发展需要的软件测试人才,《软件测试与质量保证》实验教学亟需改变传统的教学理念,改进教学方法,更新教学内容。笔者结合自身教学科研和工程实践经验,分别从改革思路、实验教学内容设计等方面,论述常熟理工学院《软件测试与质量保证》实验教学改革的措施和体会。 二、实验教学面临诸多挑战 笔者调研国内高校软件测试课程的建设情况,发现普遍存在重理论、轻实践的教学倾向,实验教学环节存在诸多问题: 1.企业对软件测试工程师的能力要求是综合性的,要求软件测试人员具有软件项目经验,具备软件测试、软件质量保证知识,能够独立开展软件测试工作。但是,国内高校教学计划制定时片面强调软件测试的作用,对软件测试与软件质量保证之间的天然联系缺乏理解,对软件质量保证相关实验的重视程度,课时安排存在严重不足。 2.目前,《软件测试与质量保证》实验教材选择面临无书可选的尴尬局面。课程实验设计只能全凭任课教师把握,使得实验教学过程中存在较多风险。 3.国内高校在实验设计方面,多以基础性实验为主。这种单一的实验设计方式,难以适应软件测试工程实践能力培养的需要。 三、实验教学改革措施 在应用技术大学建设驱动下,以中小企业对软件测试人才的需求和软件测试工程师认证大纲为导向,我们整合已有的校企合作课程资源,按照Daniel Galan软件质量保证框架组织实验教学内容,采用项目驱动的案例教学法开展实验教学,让学生在实验实践中加深对软件测试与质量保证专业知识的理解,培养学生软件测试实践能力。 (一)教学改革基本思路 软件企业对软件测试人才的需求是软件测试课程改革的源动力和驱动力,软件测试相关的从业资格认证是学生入职的敲门砖。为此,在应用技术大学建设背景下,我们以切合中小企业对软件测试人才的需求为导向,结合全国计算机等级考试软件测试工程师认证、全国计算机技术与软件专业技术资格考试软件评测师认证的考试大纲要求,选择朱少民老师编写的《全程软件测试》[1]和NIIT培训教程《Software Testing and Quality Assurance:Student Guide》[2]作为课程教材,按照Daniel Galin软件质量保证框架组织教学内容。Daniel Galin软件质量保证框架[3]指出软件质量保证是建立企业软件质量文化所需的一些列活动的集合,认为软件测试是一种典型的软件质量保证措施,软件测试的目的是为了发现潜在的软件缺陷,软件测试工作贯穿软件项目的始终。按照Daniel Galin软件质量保证框架组织课程内容有助于保持软件测试与软件质量保证之间的内在联系,符合软件企业软件测试与质量保证的最新经验。 (二)实验设计 如何在有限的实验课时内,最大限度地加深学生对软件测试、软件质量保证的理解,增强其软件测试实践能力,是实验教学的主要任务。我们设计了导入性实验、基础性实验、创新项目实践三种类型的课程实验。导入性实验要求学生应用已修课程(包括程序设计、数据库设计、软件工程等)知识进行软件调试,在软件调试过程中理解软件调试与软件测试、软件质量保证之间的关系,实现到本课程学习的过渡;基础性实验目的在于强化课程基础理论、原理的理解,让学生在实验中理解所学知识,掌握软件测试工具的使用;创新项目实践以课程实训项目为载体,为学生运行所学知识解决软件测试实践过程中涌现的各类问题,锻炼学生的动手实践能力、自主学习能力,从而提高学生的工程实践素养。 1.导入性实验。软件测试的目的是发现软件系统中潜在缺陷,而缺陷的解决则通过软件调试手段实现。为此,设计导入性实验“软件调试”。本次实验以员工工资核算软件Employee作为实验对象,要求学生发现Employee中人为注入的软件缺陷,然后应用Java调试器的断点调试功能,结合回归测试手段修订所发现的缺陷。 通过导入性实验,学生体验了改正软件缺陷的艰辛,在教师引导下思考如何发现软件缺陷、如何提高软件质量。教师适时点拨学生,指出发现软件缺陷是软件测试工程师的职责,软件测试工程师需运行软件测试方法、技术和工具才能发现潜在的软件缺陷。教师进一步启发学生:提高软件质量需要开展包括软件测试在内的各项软件质量保证工作。 2.基础性实验。基础性实验旨在加深学生对课程基本概念、原理的理解,让学生在动手实践中加深对基础概念、原理的理解。课程安排8次基础性实验,实验2、3、4和5属于软件质量保证实验,6、7、8和9是软件测试实验。 (1)实验2:软件度量实践。实验2关注软件度量问题,介绍软件规模、项目工作量和软件成本之间的关系,要求学生掌握软件规模估算、工作量估算和成本估算的方法和过程。通过本次实验,学生可以应用USC CoCoMo II进行软件成本估算。(2)实验3:基于Microsoft Project的软件项目管理。软件项目计划及进度管理,是软件质量保证中重要的管理部件,也是开展软件测试活动的前提。实验3要求学生使用Microsoft Project建立软件项目计划、运用跟踪甘特图追踪项目进度,等等。(3)实验4:版本控制软件CVSNT。CVSNT是当前最流行的版本控制系统,是中小企业进行版本控制的利器。实验4讲解CVSNT的安装和使用,要求学生掌握CVSNT的操作技巧。(4)实验5:BugFree软件缺陷管理。软件缺陷管理贯穿软件测试项目的始终,记录软件缺陷从发现、修复直至关闭软件缺陷的全过程。实验5介绍开源缺陷管理软件BugFree的软件缺陷管理思想,要求学生掌握BugFree安装与配置、软件缺陷管理等技能。(5)实验6:软件静态测试。软件静态测试是软件测试技术中发现软件缺陷效率最高的技术。我们安排“软件静态测试”专题讲座,讲解软件制品阅读、静态分析的技巧,还介绍如何运用CheckStyle、FindBugs等静态测试工具分析程序源代码、目标程序中潜在缺陷。本次实验有学生利用课后时间,自主实践。(6)实验7:JUnit单元测试。实验7介绍单元测试工具JUnit的使用,要求理解JUnit单元测试框架,掌握单元测试脚本的编写技巧。本次实验还推荐学有余力的学生自学JMock,综合应用JUnit和JMock进行对Java应用系统进行集成测试。(7)实验8:软件功能测试。软件功能测试是检验目标软件是否正确实现了客户需求,是软件测试执行的重要内容。实验8要求学生使用QuickTest Professional(简称QTP)对机票预订系统进行功能测试。本次实验要求学生能够独立完成功能测试脚本的录制和编辑,掌握QTP检查点设计的方法及技巧。(8)实验9:软件性能测试。实验9介绍软件性能的概念和原理,讲述如何运用HP Mercury LoadRunner对Web系统进行性能测试,让学生在实验过程中理解虚拟用户技术,掌握基于LoadRunner的性能测试技术的过程及技巧。此外,本次实验要求学生利用课余时间使用开源的性能测试工具JMeter进行软件性能测试。 3.创新项目实践。为了培养学生的工程实践能力,我们从学生课程项目、毕业设计、大学生创新项目、开源软件项目等中筛选出软件规模适中的软件系统作为课程实训项目,让学生对课程实训项目进行系统化的软件测试,要到学生主动动手实践,在软件测试项目实践中培养工程素养。 在课程教学过程中,我们还加强对基础扎实、动手能力强、思维活跃的学生的培养,推荐这些学生参与到教师科研项目中,为学生在科研项目中积累软件评测经验。 四、结束语 《软件测试与质量保证》通过十余年的建设已形成了较完善的课程体系,十多轮的授课实践积累了丰富的教学经验,课程实验教学体系也日趋完善。 当前,我校正转型应用技术大学,这将对本课程的教学内容、教学方法、教学手段等提出更多、更高的要求。鉴于此,本课程教学团队正尝试通过校企合作模式开展课程教学活动,编写校本教材,多措并举提升学生软件测试能力。 浅谈软件测试工程师的工作:软件测试工程师绩效管理体系的构建 摘要:当前软件测试工程师绩效考核存在的问题主要表现在:考核定位模糊并存在偏差,重考核、轻管理,重结果、轻过程,考核主体单一,企业管理者没有承担起绩效管理的责任,绩效考核指标不全、标准不明。测试工程师绩效考核要明确考核的目标,突出测试人员在考核中的主体地位,构建一体化绩效管理体系。 关键词:测试工程师;绩效管理;体系 软件测试工程师绩效考核是IT企业根据发展战略和使命要求,对测试工程师的工作业绩进行考察和评估,包括工作行为和工作效果。随着中国软件业的迅猛发展,软件产品的质量控制与质量管理正逐渐成为企业生存与发展的核心。为了保证软件在出厂时的“健康状态”,几乎所有的IT企业在软件产品前都需要大量的质量检测工作。测试工程师作为软件质量控制中的重要一环,其绩效考核成为企业了解测试人员队伍状况,监控测试人员工作过程的重要手段。 软件测试工程师绩效考核是IT企业人力资源管理的中心环节,是测试人员薪酬、晋升、人事调整、职称评定等决策的基础,并且为企业制定测试人员的培训、开发计划及长期职业生涯发展规划提供依据。测试工程师绩效考核的有效性直接影响到人力资源制度的激励效果和企业管理的公平性,并对测试人员的工作满意度有重要影响。然而,现实的绩效考核工作往往不尽如人愿。许多测试工程师遇到考核时深感不安,产生焦虑,害怕甚至反对考核;很多测试人员认为考核是走过场,抱着无所谓态度。理论上的必要性和重要性与现实中的困惑形成强烈反差。为此,我们有必要对测试工程师绩效考核存在的问题进行反思,从而构建能满足企业和测试工程师共同发展的绩效管理体系。 一、软件测试工程师绩效考核存在的误区及其分析 (一)考核定位模糊并存在偏差 考核定位,就是通过绩效考核解决什么问题。考核定位模糊主要表现在考核缺乏明确的目的,仅仅是为了考核而进行考核,这样做的结果往往导致考核流于形式。考核定位偏差主要体现在片面看待考核的目标上,对考核目的定位过于狭窄。目前许多IT企业绩效考核的目的仅仅是为了期末发奖金或津贴,将考核定位于确定利益分配的依据和工具。 (二)重绩效考核轻绩效管理 绩效考核和绩效管理既有本质上的区别,又有一定联系。传统绩效考核以管理者为中心,强调服从和外部控制,着眼于过去,注重成果,是一种被动反应、事后解决问题的管理方法。现代绩效管理则以测试工程师为中心,强调承诺和自我控制,着眼于过去、现在和将来的有机统一,是一种主动开发型、在过程中解决问题的管理系统。绩效管理是一个完整的系统,绩效考核只是绩效管理中一个不可或缺的组成部分和环节,绝不能将其等同于绩效管理。 (三)重考核结果轻考核过程 绩效是工作成果与工作行为的统一。许多IT企业重视对绩效中的工作结果考核,而忽视了绩效中的行为指标,这表现在许多项目组重视项目完成进度而轻视测试过程,重视项目的数量而轻视其质量,尤其是轻视与测试工程师行为有关的工作动机、热情度、忠诚感等“周边绩效”考核点。这可能与企业受功利主义思想影响、追求短期利益有关,或者可能与工作结果容易量化,而行为不易评估有关。 许多项目组在项目初期给工程师布置测试任务和预期应完成的指标,期末予以检查,而对工程师完成任务和指标的过程不管不问,既不对完成任务过程中出现的问题予以及时纠正,也不对测试人员在工作中遇到困难和阻力时提供帮助和支持。这种秋后算账的做法容易造成管理者与被考核者的对立,不利于测试人员的成长与进步。 (四)考核主体单一 目前,项目经理考核测试工程师已成为一种普遍运用的评价方式甚至是唯一的评价方式。项目经理考核有一定可信性,但也存在一些弊端,如测试人员一味地迎合项目经理的指令,淡化了整个团队的沟通协作,忽视一些测试人员不可控制因素的影响而造成考核不公正等。测试工程师在考核时处于一种被动地位,或者消极被迫接受,或者导致内部冲突升级。项目组也不重视同行专家的评估意见或根本不吸收同事参与考核。 (五)绩效考核指标不全,标准不明 考评项目和指标的选择是否恰当,是否全面、相关,定义是抽象含混还是具体明确,对考核结果影响很大。如果绩效考核标准不明,则不同的考核者可能对优、良、一般、差等绩效标准做出不同的解释,从而造成考评者偏松或偏紧或趋中倾向,造成考核结果的误差。以测试人员业绩考核为例,业绩考核包括整体工作效率、工作结果、过程控制三项一级指标。其中,工作结果可以分为测试用例的数量和质量、bug的数量和质量、测试自动化程度及收效等多项二级指标,若不对这些定性指标给出明确定义,则考评时易出现主观随意现象。因此,界定应具体明确。如bug的数量和质量可定义为:提交bug的数量(根据项目的不同而确定经验值)、提交bug的时间段(具体统计在测试的每个阶段)、发现bug的比例等。 二、软件测试工程师绩效管理体系的构建 (一)明确测试工程师绩效考核目标 Bevan和Thompson(1991)认为绩效管理的主要目的是“促进人力资源管理不同组成部分的整合,并使它们与公司的经营目标紧密联系在一起。”测试工程师绩效考核的目标,一是为企业的发展服务,支撑企业使命和战略的实现;二是服务于工程师个人需要及其职业进步。 (二)构建一体化绩效管理体系 绩效管理就是根据组织的要求,对雇员进行指导和支持,使雇员尽可能地以更高的效率完成自己的工作。从狭义角度理解,绩效管理系统由制定绩效计划,持续的绩效沟通与绩效信息收集,绩效考核,绩效反馈、诊断与辅导等部分组成。从广义上讲,绩效管理系统由绩效管理的影响力量、狭义的绩效管理系统、绩效管理的运用和目标等部分构成。 广义的绩效管理系统包括以下3部分:对影响测试工程师绩效的原因进行分析,尤其是从企业内部的组织结构、领导方式、企业文化、招聘和聘任制度、岗位分析等方面探讨与测试工程师绩效有关的因素;狭义的绩效管理系统;绩效管理的目标,包括绩效管理要达到的组织目标和测试工程师个人发展目标(见图1)。 制定绩效计划和考核目标的目的是为了清楚地说明企业期望测试工程师达到的结果以及为达到该结果所期望测试人员表现出来的行为和技能。管理者通过与被考核者协商,共同制定与企业使命相关的具有挑战性、可实现性、具体明确且有时间限制的绩效计划。持续的、动态的绩效沟通就是管理者和被考核者共同工作,以分享有关信息的过程。这些信息包括工作进展情况,潜在的障碍和问题,可能的解决措施以及管理者如何才能帮助被考核者。这些信息必须是有据可查、准确真实的且与绩效相关的信息。管理者可通过面谈,向其他同事了解意见,查看被考核者的工作记录等方式获取信息。绩效考核包括测评内容、何时测评、哪些人参加测评、测评方式及责任等。绩效诊断与辅导,是管理者和被考核者双方合作,共同寻找导致绩效低的原因,以及帮助被考核者提高未来绩效的方法,涉及处理矛盾、准备反馈面谈、解决问题和重新设定目标等内容。 (三)实现测试工程师绩效考核主体的多元化 在传统的测试工程师绩效考核中,将工程师排斥在外,测试人员作为被考核者处于被动应考的地位,被考核者与考评者的这种对立状态造成测试人员不认同、不支持考核,使其考核失去应有价值。虽然测试工程师可能由于认知或自利性偏差(根据归因理论,测试人员可能将自己的成功归之于自身的能力与努力等内因,而将其失败或绩效不理想归之于工作难度和机遇等外因;而对别人的成功与失败归因与自身归因相反)和自我防御心理的原因,测试工程师有高估自身的业绩,而看不到或有意掩盖自身存在的问题的可能性,但可以通过构建系统化的绩效管理系统,明确绩效考核的目标,管理者与被考核者的平等沟通,以及通过考核主体的多元化(除测试工程师本人外,还有领导、同事、客户等)等方法来避免这些弊端。 (四)构建测试工程师绩效考核合理分工、各司其职的组织管理机构 对测试工程师的绩效管理是企业人力资源部和项目组的共同责任。人力资源部主要从事组织、指导和协调工作,具体职责包括培训考核者、规范考核制度、制定各种考核表格、发放及统计等工作。考核由项目组具体组织实施,包括测试工程师工作任务的安排、考核指标与内容的确定、考核方法与时间的确定、考核主体的组织、考核结果的反馈、绩效改进与提升等工作。项目经理首先应当是一名合格的人力资源管理者,应把人力资源管理工作如激励、员工发展、绩效管理纳入企业的议事日程,并构成企业管理者对项目经理考核的重要内容。当然,这需要改变目前IT企业高度集中的人事管理体制,将部分人事管理权由企业下放至项目组。 (五)根据测试工程师的工作特征,建立考核内容全面、结果与行为(过程)并重的绩效考核机制 测试工程师作为专业人员和知识工作者,在其需求和工作方面存在以下特征:追求工作自主,不愿意受过多的外部控制;个人品性对测试工作及其事业影响很大;需求具有多样性和复杂性,既追求较低层次的需要,如生理、安全需要,又追求较高层次的需要,如受人尊重、自我实现的需要;工作具有分散性、个体性等。这些特征要求在测试工程师绩效考核时注意以下方面:一是绩效考核内容要全面,德、知、能、勤、绩一样都不能少。测试工程师品德潜移默化影响其对测试工作的态度;知识包括测试工程师应掌握的专业技能及业务知识、个人素养;能力包括软件测试能力、沟通与团队协作等方面。二是测试工程师绩效考核坚持结果与行为(过程)考核并重。Brumbrach(1988)认为“绩效指行为和结果。行为由从事工作的人表现出来,将工作任务付诸实施。(行为)不仅仅是结果的工具,行为本身也是结果,是为完成工作任务所付出的脑力和体力的结果,并且能与结果分开进行判断。”Borman和Motowidlo(1993)认为行为绩效包括任务绩效和关系绩效(周边绩效)两个方面。任务绩效指正式工作职责和所规定的行为,关系绩效指自发性行为或超职责行为。由于测试工程师工作的效果难以量化,且具有滞后性和共同属性。因此,在坚持完善目前通过测试工作量和测试用例等结果指标衡量测试工程师绩效的同时,企业还要重视对测试人员行为,包括团队合作行为的考核,尤其要关注关系绩效的考核,这对克服测试人员工作分散化,形成合作的团队以及按质按量地完成项目组的目标有重大意义。 (作者单位:北京化工大学经济管理学院) 浅谈软件测试工程师的工作:面向卓越测试工程师培养的软件测试课程教学改革与实践 摘要:本文针对软件测试课程培养的学生与卓越软件测试工程师要求的差距,分析了目前软件测试教学中存在的不足,提出了“方法―过程―工具―案例”四位一体的教学方法,旨在培养理论扎实、工程能力强的卓越软件测试工程师,以实现与软件测试行业的衔接。 关键词:测试工程师;软件测试;教学改革;工程能力 随着软件产业的迅猛发展,软件的复杂性也日益增加,导致对软件产品的质量提出了更高的要求,这也使得软件测试工程师成为每个软件企业都不可或缺的技术人才。目前许多软件工程专业教育者进行了积极的探索,许多学校也提出了一些方案,做了有益的尝试。 中国石油大学(华东)的软件工程专业入选了山东省卓越工程师培养计划,为了执行国家对软件工程专业卓越工程师培养的精神,融合学校的“三三三”培养体系的顶层设计,为培养卓越的软件测试工程师,我们也在软件测试课程的培养方案、课程结构、教学方法和考评体系等方面进行了一系列的改革和探索。软件测试课程作为软件工程专业的一门核心课,是对理论性和工程性都有很高要求的课程,一方面要求学生必须有扎实的理论基础知识,另一方面要求学生能够熟练地应用理论基础知识转化为实际的工程应用。 虽然已有的教学改革改善了教学效果,但目前的软件测试课程教学依然存在几个比较突出的问题:第一,教学内容抽象,学生学习兴趣不高;第二,教学内容碎片化,学生没有完善的测试知识体系;第三,轻视测试工具应用,培养的学生与企业需求难以衔接;第四,教学案例简单,学生没有完整的测试思路;第五,学生对软件测试存在认识偏差,缺乏从事软件测试职业的意愿。 为了解决上述问题,我们提出了“方法为基、过程引导、工具跟进、案例贯穿”的“方法―过程―工具―案例”四位一体的教学方法,旨在培养理论扎实、功能能力强的卓越软件测试工程师,以实现与软件测试行业的衔接。 一、课程体系与教学内容设计 根据国际标准的SWEBOK软件核心知识体系中软件测试的知识域,充分调研软件行业中对卓越软件测试工程师的需求,建立软件测试能力培养标准,明确各培养标准与软件测试课程内容的对应关系。表1为我们初步建立的软件测试能力培养标准列表。 四位一体的教学方法,就是以讲授软件测试的基本理论与方法与基础,按照软件开发过程与测试过程为主线引导,辅以介绍典型软件测试工程的应用,并在课程教学中选择一个案例贯穿整个教学。具体教学路线如图1所示。 为此,我们重新规划了教学内容,教学内容的组织如图2所示。 二、具体教学内容 四位一体的教学方法围绕着测试方法、测试过程、测试工具以及测试案例进行展开。在具体实施过程中,构建了测试工具箱与测试案例库,并编写了适合该教学方法的教材。 (一)测试工具箱的构建 工具的掌握是工程能力的重要一环,因此在软件测试课程及相应实践课上有必要掌握一些典型测试工具的使用。软件测试方法体系庞大,造成软件测试工具众多,而且一些商业化的测试工具价格不菲,为了适应课堂教学的实际,需要对各种测试工具进行比较筛选,选择合适的测试工具并构造测试工具箱。在多年的软件测试课程教学中我们已经积累了一些适合教学的测试工具,包括测试管理工具TestCenter、功能测试工具AutoRunner、源代码缺陷检测工具在选择测试工具FindBugs与DTS、性能测试工具Jmeter等。我们将继续本着覆盖多个测试方法、开源工具优先等原则完善测试工具箱,并对工具箱的工具进行分层次、分类别的维护更新。 (二)测试案例库的建立 案例教学是促进对理论知识消化、掌握实际问题解决策略的一种有效教学方法。软件测试课程要求所选案例能够体现测试方法与工具的应用。为构建适合教学的测试案例库,我们一方面需要对已有的案例进行刻意的改造,也选择了一些新型示范应用项目,另外选取了一些有代表意义的开源工程,以及教师科研转化项目、学生优秀实习项目与课外设计项目等完善测试案例库。目前的软件测试教学中,我们选择了一个所在学院使用的本科毕业设计管理系统作为案例进行了讲解,起到了较好的教学效果。 (三)融合软件测试的方法、过程、工具、案例的教材的编写 为适应四位一体教学方法,我们自主编写了软件测试教材。教材以RUP的四个阶段为线,将测试方法与工具分化在不同阶段进行介绍,加强了测试管理内容。软件测试理论按照鱼骨图式的组织,例如对于白盒测试技术的介绍,分解为两章,其中在RUP的细化阶段介绍了逻辑覆盖测试、基本路径覆盖测试,在RUP的构造阶段介绍了数据流测试、变异测试,这种组织安排有利于学生根据软件测试过程循序渐进地掌握相关知识。 (四)“方法―过程―工具―案例”四位一体教学方法 该方法基于所修订的软件测试教材与测试工具箱、测试案例库,沿用RUP的四个阶段进行教学的安排,在教学中以测试理论与方法介绍为根本,并辅以案例介绍以加深对实际测试的理解,再选用合适的测试工具,具体实施如图1所示。“方法为基、过程引导、工具跟进、案例贯穿”的教学将培养学生既具备扎实的理论基础,又拥有工程实践能力,符合卓越软件测试工程师的要求。 三、结语 该次软件测试课程教学改革围绕卓越软件测试工程师的培养目标,注重理论素养与工程能力的双重提高。教学实践表明,“方法―过程―工具―案例”四位一体的教学方法,有一个围绕软件测试过程的逻辑性强的理论知识体系,辅以工具的训练,再以实际案例贯穿介绍测试方法与测试工具的应用,学生学习的积极性和主动性都得到了大幅提升,有意识地增加了软件测试的内容,说明学生已经意识到了软件测试的重要性,并能够在软件项目开发中执行软件测试的诸多活动。初步的课程改革取得了一定的效果,笔者今后将对软件测试适合敏捷等流行的软件开发过程进行改造已有的方法,并扩充完善已有的测试工具箱与案例库,以培养卓越的软件测试工程师,满足软件测试行业的需求。 浅谈软件测试工程师的工作:软件测试工程师的工作总结 【摘要】 软件质量越来越受到人们的关注,软件测试作为新兴行业有很多不完善的地方。很多从事软件测试工作的同行处于迷茫之中,如何提高,如何解决测试工作中的实际问题,困惑着每一个人。本文总结了一下个人经验,希望对大家有帮助。 【关键词】 软件测试 软件 测试学习 软件测试工程师 我最初参加测试工作的时候,不知道什么是软件测试,集成测试和系统测试的概念经常混淆, cmm 是什么就更加不知道了。那时候最简单的开关机也是通过直接拔插电源完成,安装系统对我来说简直是有史以来人类的最高技能,对于那些拿着螺丝刀安装机器的人就认为是宇内超级高手,身具杀人于无形之绝世秘技。拿破仑说不想当将军的士兵不是好士兵,我最初的梦想就是想成为软件测试的高手,傲视天下。所以不断偷师,总结经验,自认为掌握了成为高手的几个秘技,这几年混迹 “ 江湖 “ 还算无往而不利。不敢独享,望与吾辈测试人员切磋,早日总结成功密技之大成,助新进人员早日入门,也算不愧对东北活雷锋的称号。 第一招 学会利用网络 刚参加工作面对浩瀚的网络世界,当时如刘姥姥进大观园,什么都新奇,什么都想要,从网上下载很多源程序的代码,软件技术文档之类,恨不得把所有的好东西收集到手中,其实有些在他人看起来就是垃圾一堆。当时觉得有了这些 “ 武林秘籍 “ ,成为高手指日可待。最初参加工作由于自己工作努力有幸转为开发,加入项目组后我的习惯还是没有改,反而变本加厉,手中的资源更加多,上网的时间更加频繁。 一次项目经理分配任务,觉得依靠手中的秘籍加上自己的 “ 聪明才智 “ 很快会完成,不料短短的时间,所有的一切变成了马奇诺防线。解决问题很慢,思路不清晰,项目经理在对我施压的过程中教会了我终身难忘的一招,学会利用网络寻找要解决问题的答案,从此 google 成了我的最爱,关键字成了我变化的招数。在软件测试工作中,他帮我解决了很多疑难问题,解答了很多令我迷惑的地方。也是我帮助测试同行解决问题手段之一,很多软件测试新手,甚至老手都没有意识到自己手上就握有 “ 无敌秘籍 “ ,所以只要你耐心找,答案就在身边。 这里总结一下利用网络搜索引擎的技巧: 组合搜索 每次搜索某个文件,如果只给出一个单词进行搜索,经常会出现成千上百万计的匹配网页。然而如果再加上一个单词,那么搜索结果会更加切题。 选择表述内容的词组 一般我在网页搜索引擎的时候,选择一些可以表达我要查找内容的关键词组,用来缩小搜索范围,从而找到搜索结果是最好的办法。运用词组搜索涉可以先先简单地输入一个问题作为词组搜索,如果仍然找不到合适的,那就用多个可以表达要查询内容的关键字进行查询。 定位信息来源 有的时候用词组搜索不到或者无法准确表达所需信息。可以用另一种方法直接到信息源,就是直接到到提供某种信息的站点去。可以用公式 “www. 公司名 .com” 去猜测某一组织的特点。从而得到所要搜索的信息的主要词组 其实网络上还有很多关于搜索技巧的文章,大家可以自行学习。千万要记住搜索引擎是帮助你成功的有力武器。 第二招 学会动手 参加软件测试工作后,随着工作经验的增长自我感觉越来越好。在公司里也逐渐受到同事领导的重视,一次针对公司的新的软件功能进行测试的时候,像往常一样 “ 随手 “ 测试出了几个 bug ,然后 “ 仔细 “ 的填写了 bug 单(这个 bug 的现象已经出现了很多次了)。这时候测试经理走过来,重新复查了一下填写的 bug 。他在重现我的 bug 的过程中,简化了我的输入变化, bug 神奇的又出现了,同样的现象,他关闭软件重新变化输入,扩展出 10 几个变化后,软件不动了,内存不断上升。终于他找到了产生软件的 bug 的原因,然后对我说 “ 寻找 bug 要准确定位,我们开发团队是一个整体,时间是等量的,时间不在你身上浪费,就是在他身上浪费。如果测试人员每次发现的 bug 描述不清楚,并且多个问题潜在的错误原因是一个,虽然操作可能稍微有些变化。这样开发人员在重现 bug 的时候他要调试跟踪判断,很花费时间,而且效率低。如果测试人员发现 bug 的时候多动手可以更加准确的定位 bug 步骤和原因,给开发人员最精确的步骤和准确的描述,这样整个团队才能高效,所以需要大家协作!。 “ 。 在以后的日子里,每次解决问题的时候我都记得多试验几次,多尝试。网上很多朋友还有同事问我问题的时候,其实他们只是万里长征就差一步,只要再多动手实验一次就可以达到目的了。所以多动手,多尝试。 第三招 思考自己所作的 刚开始入行的时候,总是思考如何做好软件测试。认为公司的测试流程混乱总是很郁闷,认为自己学不到东西,如何才能测试好产品,常说心动不如行动,以前看到古龙小说中经常出现的场景无名小子不断挑战高手,总结积累。我总结了有些经验是实战中得到的,所以不断尝试引入新的测试流程然后评估,这个过程虽然很痛苦,但是从中积累了不少经验。这段时间让我学习到了很多东西,接触了 iso,cmm ,测试管理工具,自动化工具(因为公司不正规给了我很多学习的机会,后来到了比较大的软件公司后,以前的经历给了我更多的发展机会,因为大公司非常正规了,公司内部人员分工明确,所以能力的锻炼反倒少了)。由于工作中经常写报告反倒养成了总结教训的习惯,因为纸面上的东西是永远也忘不掉的。在写的过程中可以不断补充扩展,整个过程是思想升华的过程,当年达摩面壁九年就是融会贯通的典型例子,如果他不是有个思考的过程,他也不能成为一代大家。如果后来不时有人把他的绝技记录下来,也就不能有后来的少林寺七十二绝技。 所以善于思考,总结经验,也是成为高手之路的不二法决。 第四招 学会利用论坛资源 其实测试新兵和测试高手之间的区别,往往是不会利用现有资源。在论坛中我们会看到很多新手不断的提问,但是有很多问题其实都是已经别人提过了,或者已经有解决方案的。所以经常会看到 “测试高手“的身影,并且不提问题,而且还能“锄强扶弱“,是测试新丁的救命稻草。好像是高手们无所不能,其实摘掉这层耀眼的光环,他们并没想像得那么厉害,只不过通过自己的搜索找到的答案,然后帮助其他人。当然也有很多人都是通过自学,然后在论坛中交流得到了很多经验,高手其实也是因为善于思考问题,亲自动手解决问题。所以动手和利用论坛资源的过程中他们也在不断提高。 很多时候看到论坛中有人提问,问题描 述不清,很多人看了很困惑。发贴题目动不动请高手帮忙,救命之类的,好像天下大乱,世界末日。虽然这个题目很招人,但是无法让那些想帮助你的人帮你,因为题目不清晰,而且高手字样吓阻了很多人。其实问问题也是个思路整理的过程,描述清晰,让人理解清楚,才能望文知意知道你的当前发生问题的环境,才能让那些想帮你的人解决问题,否则给人无从下手的感觉,解决问题效率不高。 第五招 学习和你所测试的软件产品相关的知识 要想成为好的测试人员,还要了解你要测试的软件的相关知识。要了解软件产品的架构是什么样的。要了解软件的市场需求,在接触软件之初要可以多看看用户的反馈信息,这些才是用户最关心的,也是你在测试中需要注意的问题,满足客户是最大的需要。但是了解软件需求之后要学会要多读些软件系统的技术文档,软件设计文档,这些文档可以帮助你了解产品如何工作。还有多看看公司 bug 库中的问题,这些存在的问题可以帮助你了解软件产品那些地方存在缺陷,软件系统那些地方会出现错误。软件是运行在一个大环境中,如果对系统不熟悉,那么有些问题你不能从一个更广阔的层面考虑,学习操作系统的知识,有助于你发现缺陷,定位问题更加准确。比如软件运行在 windows 或者 linux ,如果你不懂操作系统,你就无法建立测试环境,有些时候时候软件的组件发生问题,就是你系统配置造成的,对系统不熟悉,你会把外在原因归结为软件本身。所以要学习关于和软件系统相关的知识,比如编程,网络,数据库等。不一定你要学习到多好的程度,只是通过这些扩展的知识面,你可以在发现问题,解决问题上不会局限在狭小的圈子里。 和一切相关的人员交流,不同的交流渠道,获取消息是不同的,角度也不同。和客户交流,你会在测试中从客户的角度发现问题;和开发人员交流,你会了解开发人员怎么实现软件功能的;和项目管理人员交流,你会知道开发进度以及遇到的困难。
对于工程计算而言,精准的计算结果以及必要的计算过程还原,是提升工程质量的重要手段,因此需要合理的应用相关计算软件,提升工程计算质量以及计算效率。Excel软件作为一种新型计算工具可以在计算中发挥作用,但是目前应用情况并不乐观。因此,对Excel软件在工程计算中的应用研究有着鲜明现实意义。 1Excel软件的应用优势 Excel软件是现阶段人们日常办公所应用到最为常见的软件,对于使用者而言Excel软件具有十分明显的便利性,无论是常见的表格记录还是图表生成都可以让工作更加便利。从使用的基本情况而言,可以将Excel软件的优势概况以下几个方面:(1)Excel软件具有明显的数据透视功能,实际应用过程中可以将数据透视表划分为十几种表格形式,并且可以通过简单操作立刻完成,尤其是在工程计算过程中,因为其内部所具有的工程类型较多,因此数据表格种类也很多,可以应用Excel软件进行合理存储。(2)Excel表格拥有较大的数据容量。在缺省状态下,Excel表格可以分为16个相同类型的“工作簿”,其中每个“工作簿”纵向共有256列,横向共有16384行,在行列交叉位置会形成单元格,数据则可以记录在单元格内部,因此每张“工作簿”中都可以记录数以百万计的数据信息。(3)Excel软件中包含有大量的计算公式以及计算函数,可以通过选择数据区间然后点击应用的函数、公式内容,可以直接输出计算结果,数据计算十分方便。(4)应用Excel表格进行工程数据计算可以降低计算错误发生概率,如果计算结果存在问题,Excel表格还会作为必要提示,发现错误之后,只要修改一个数据其它数据就可以自行改变,进一步保计算稳定性,并且Excel表格当中的图表工具十分全面,可以通过应用直观反应数据信息,这是其它计算软件以及计算方法所不具备的优点。工程量计算表的格式设计可以随心所欲。既可以设计得贴近我们习惯的传统模式,也可以依照自己的想法DIY。(5)Excel表格适用面更广。Excel软件对于复杂性工程数据计算而言十分重要,相关计算人员需要结合实际计算内容进行软件操作学习,即使是普通的工作人员在简单学习之后同样可以进行计算操作,无需学习编程知识。并且Excel的通用性较强,不需要特别的软件。Excel是使用最普遍的软件之一,可以说在有电脑的地方就可以打开它,并可随时随地编辑。 2Excel软件在工程计算中的应用研究 为了可以更加直观的分析Excel软件在工程计算中的应用方法,本文采用举例说明的方法进行论述,具体内容如下所示:首先应用Excel软件建立一个完整的工程量计算内容,工程名称为:1号配电房建筑工工程,并且键入表格第二行,在B3单元格键入地面工程,C3单元格键入墙体工程。第四行空白;A5、6键入“序号”和“1”;B5、6、7出键入项目名称、地面工程、平整场地(计价量);C5、7处键入工程量计算式、“(12.62+2*2)*(8.22+2*2*)+0.11*(0.44*10+0.75*2)”。D5、7处键入单位、m2;E5、7处键入计算结果、203.75。计算过程中,首先假设C7单元格中输入的计算公式并不会带有等号,E7处为计算结果的输出位置,具体操作步骤可以如下所示:将C7单元格选种,然后在Excel表格上方的功能栏中找到“插入”菜单,在“插入”菜单找到“名称”,在“名称”中选择“定义”,点击“定义”之后可以将会出现“定义名称”的对话框。在“定义名称”的对画框中将会出现“引用位置(R):”以及“在当前工作薄中的名称(w):”并且在以上文字的下方将会出现空白条形框,然后在“在当前工作薄中的名称(w):”下方条形框中键入“结果”(此过程中的名称可以随意设置),在“引用位置(R):”下方条形框输入“=EVALUATE(建筑工程!$C7)”在对话框右面功能键中找到“添加”按钮进行单击,然后单击“确认”按钮,退出即可。在进行此过程的操作时候需要注意,“引用位置(R):”下方的空白条形框具有下拉功能,可以在其中直接选择“=EVALUATE(建筑工程!$C7)”名称,但是选择之后公式行前面所具有的“$”标识需要删除,这样才能保证单元格中的行、列位置并非处于固定状态,这样在之后的操作过程中就可以对表格内容进行随意的下拉复制。以上操作完成之后,可以直接返回到单元格界面,然后在E7处键入“=结果”,单击键盘中的“Enter”键,E7单元格可以根据事先设定的计算公式生成结果。在复制粘贴过程中,可以应用各行选中E7,按住右下角的填充柄向下拉动填充的方法进行,也可以直接进行复制粘贴。然后采用Excel求和公式对各行计算结果进行合计。 3结论 综上所述,时代的发展促使各类尖端技术被发明和应用,Excel软件就是为了便捷工作所形成的一种技术,但是很多使用者对于软件的应用仍然停留在初级阶段,就工程计算而言,对于Excel软件的应用十分必要,可以应用软件内部所具有的应用函数以及计算公式,提升计算效率,进而影响工程进度与质量。 参考文献: [1]江雨,姚丽芳,关冰,何浚宏.利用Excel软件预测价值工程——基于3L的工程管理前期策划[J].江西建材,2018(12):57-58. [2]陆锦鹤.Excel软件VBA功能使用案例一则——从PDF文件中提取出的信息中挑选需要的信息并重新排版形成可用的Excel表格文件[J].智库时代,2018(39):133-134. 作者:刘波 单位:中国电力工程顾问集团西南电力设计院有限公司
计算机软件论文:计算机软件开发与用户实践的提升策略 1在设计方面要考虑用户对软件的印象 根据调查显示,网络用户在快速阅读过程中通常会呈现出“F”型的习惯,也就是在特定时间内,用户迅速浏览网站的时候会先看到网站的顶端与左侧内容,而中间的内容只能够被阅读到一部分。所以我们在设计网站界面的时候可以遵循“F视线追踪原则”,将各个部门按照主次次序放置到框架之中。如果一个网络用户在浏览到一个新的网站的时候,如果在三分钟之内还没有发现能够吸引自己兴趣的内容,那么这个网站就会100%地失去这个客户。在近几年,许多软件开发公司喜欢用过去的项目模版来设计主界面,这无形中是有利于提高软件开发速度,并且减少耗费创新技术、思路的时间与风险,然而如果一个软件产品长期保持一成不变的风格,那么就不会为用户留下深刻的印象,进而失去市场竞争力。软件开发商必须要根据商业营销学的理论,寻找到自己的目标客户群体,之后根据这个客户群体的偏好、特征来设计软件界面的整个风格,让使用者可以看到产品第一眼后产生一种与众不同的感受。 2在程序选择方面要注重优化与处理效率 我们在软件产品设计的算法方面要注重优化设计,当软件运行过程中耗时较多就需要我们注意处理、降低广大用户在等待过程中的不满情绪。随着科学技术的不断发展,计算机性能与运算速度的不算提升,诸多程序开发工作中将程序运行缓慢的原因归咎于计算机的问题,不会从自身编程过程找原因,因此软件开发工作效率较低,许多软件产品恶评较多,所以我们需要在能够控制的范围中优化程序代码,给予用户们科学、高效的产品体验过程。针对一些确实耗费时间的操作软件,我们可以通过进度条显示、后台运行等方式来调整,让用户心理上顺畅。笔者曾经有幸亲自参观了某通讯公司新任务的运行体验,工作人员每次点击用户的查询请求,在系统返回的时候需要几秒钟甚至几十秒钟,使得该公司用户抱怨数量众多,而这正是缺乏优化功能的原因。 3产品功能设计要结合人性化与灵活性的特征 传统设计受到信息化社会发展的影响,使其正处在改造进程的关注对象。当前计算机发展所带动的现代技术发展并没有到达高潮,但是计算机作为理想化的设计工具,正在逐步改革自身的设计途径、方法、过程,并逐渐迈向到数字化设计的时期。如果我们说数字化是现代社会的发展特征,那么人性化的设计就是对这种存在具象的诠释。我们在产品设计过程中,尽管存在着模块化设计的理论,但是作为产品设计者的我们不能忘记软件产品最终是为大众服务的,必须要将用户体验过程放在首要位置。另外,在软件产品设计过程中,要注重业务模块之间相互搭配的灵活性属性,不能盲目追求大众的操作形式。在广大用户使用计算机产品过程中,随着人们的个人喜欢与聚焦点不同,使用产品的方式也是具有差异性的。笔者曾经设计过一套工程方面的预算系统,部分用户关注最后的造价,而另一部分用户关注的是建筑材料的使用状况,侧重点不同导致自身操作步骤也是不同的,因此我们在设计产品过程中需要注意到这一点。 4结束语 随着科学技术的不断发展,用户对于计算机软件设计水平的需求不断提高,软件开发工作者务必要对目标群体进行深入性研究分析,要真正地了解到用户群体喜欢什么样的软件,需要什么样的软件,关注什么样的团结,从每种软件的运行界面、使用功能、运用条件等诸多方面来实现软件的优化设计,站在用户的角度来面对软件的多个问题,只有遵循这样的原则,才能够满足诸多用户群体的需求,开发出优质的软件。 计算机软件论文:开发自动判断酸碱失衡类型的计算机软件及应用 血气酸碱分析已成为临床诊疗的重要手段之一,尤其在危重病人的抢救中,能否准确快速进行酸碱失衡的判断往往是治疗成败的关键。为了帮助临床医生更准确快速地进行分析和判断,我们自主开发程序,输入检测数据,软件能自动判断酸碱失衡的类型。 1资料与方法 1.1在WindosXP平台下,以改良Henderson-Hasselbalch公式以及代偿预计值计算公式为基础建立数学模型,用VisualBasic6.0编写全部程序.输入动脉血气及血清电解质检测数据即可输出酸碱平衡的类型。 1.2以本院重症监护室2012年1-5月66份血气检测数据分别用程序、手工计算和siggaard-Andersen酸碱平衡诊断图得出结果。 1.3采用kappa检验进行统计学分析,Kappa值 0.80一致性强度为强,Kappa值 0.90一致性强度为极强。P 2结果 2.1与手工计算对比结果66例血气检测数据,对单纯性酸碱失衡达到100%符合率,双重性酸碱失衡能达到96.7%符合率。对三重性酸碱失衡达到93.3%符合率,经kappa检验,k=0.95,u=10.72 u0.01=2.276,故P0.90,其一致性强度为极强,见表1。 2.2与siggaard-Andersen酸碱平衡诊断图对比结果酸碱图不能判断三重混合型酸碱平衡。对阴离子间隙(AG)大于17的患者,判断也常出错。下表为66例患者中去除AG 17所剩40例血气检测数据的结果比较。对单纯性酸碱失衡和正常血气能达到88.9%符合率。对双重性酸碱失衡达到95.5%符合率,经kappa检验,k=0.8477,u=10.025 u0.01=2.276,故P0.80,其一致性强度为强,见表2。 3讨论 酸碱失衡的诊断,特别是混合型酸碱失衡的诊断是较复杂的问题,即使是有经验的医师也很难在短时间内作出准确判断。我们发现siggaard-Andersen酸碱平衡诊断图无法判断三重酸碱失衡,且对AG 17时的酸碱失衡也判断不准确。酸碱图使用时也不方便,因酸碱图的不足限制其在临床上的应用。手工计算需要记忆大量公式,对低年资医生来说也很困难。 本研究显示我们自主开发的程序,准确性高,与手工计算相比较对单纯性酸碱失衡达到100%符合率,双重性酸碱失衡能达到96.7%符合率。对三重性酸碱失衡达到93.3%符合率,与siggaard-Andersen酸碱平衡诊断图相比较对单纯性酸碱失衡和正常血气能达到88.9%符合率。对双重性酸碱失衡达到95.5%符合率。经kappa检验一致性具有统计学意义且K值均大于0.80,一致性强度为极强和强。 我们自主开发的程序,使用方法简单、准确性高,可作为临床诊断和治疗的参考,值得临床使用。但是因临床病例较少,程序的稳定性和准确性有待进一步验证。在严重低蛋白血症时,AG值存在误差,需要校正后再判断酸碱平衡,盲目使用本程序可能有误,这需要特别注意。 计算机软件论文:计算机软件在电缆安装工程中的应用分析 摘要:通过对传统的电缆安装施工方法与计算机软件管理方法进行比较,以intec软件在秦山三期(重水堆)核电站常规岛电缆安装工程中的应用为例,简要介绍了计算机软件在电缆安装工程中的应用方法,指出了intec软件在实际应用中存在的问题,建议国内的设计单位和项目管理单位在电缆安装工程中采用计算机软件进行控制与管理。 关键词:计算机软件;电缆安装;电缆敷设;电缆接线 电缆安装是发电厂电气安装工程的重要组成部分,它在发电厂电气安装工程中所占的比重约在60%以上,电缆敷设与接线是电缆安装中的重要工序,电缆敷设与接线施工质量的优良是实现电气安装工程质量优良的重要前提。虽然目前国内的电缆安装工艺有了一定的进步,但与国外先进技术相比,电缆安装在设计应用、施工管理等方面还存在一定差距。 1我国电缆安装技术的现状 在国内发电厂电气安装工程中,施工单位根据设计单位提供的电缆平面布置图、电缆排列剖面图和电缆清册进行电缆敷设,根据二次端子排图进行电缆接线。电缆清册是根据电气主接线系统图、厂用电系统图和照明系统图列出的全厂电力电缆,根据直流系统图列出的全厂直流电缆,根据二次端子排图列出的全厂控制电缆编制而成,它是订购电缆及指导施工的重要依据。在中、小型工程项目中,电缆根数较少,电缆总长度较短, 使用常规方法施工难度不大。但是,在大型的建设工程中,电缆根数多,电缆总长度长,涉及的工作面广,如果仍采用常规方法施工,不仅在设计和施工准备阶段要投入大量的人力物力,而且施工过程中的安装进度也难以控制,施工工艺要求难以得到保证。近几年,计算机技术迅猛发展,计算机软件的出现,为这个问题提供了新的解决方法。 计算机是一种可进行自动控制和具有记忆功能的现代化计算工具和信息处理工具,它特别适合处理信息量大、种类多且有信息组合和历史文件查询要求的事务。计算机技术及相关的信息处理技术和网络技术的发展,使数据处理已成为计算机应用的一个最重要的部分。近几年,在我国的几个大型涉外建设工程中,计算机软件已应用于电缆安装。例如,岭澳核电站采用了pericles软件指导电缆安装施工,秦山三期(重水堆)核电站在电缆安装中使用了intec软件。 2intec在秦山三期(重水堆)核电站常规岛电缆安装中的应用 秦山三期(重水堆)核电站工程是“九五”期间国家重点建设项目,在浙江省海盐县境内建造一座装机容量为2×700mw级的重水堆核电站,设计寿命为40年,工程总投资约28.8亿美元,项目建设采用交钥匙合同模式,由加拿大原子能有限公司(aecl)总承包,常规岛设计和部分设备供货的分包商为美国的柏克德(bechtel)公司。常规岛1#机电力和控制电缆共计6261根,2#机电力和控制电缆共计5269根,电缆施工主要依据intec软件中的电缆(cabling)和接线(wiring)两个模块进行。intec软件具有以下基本功能: 2.1查 询 为了保证电缆敷设的质量,电缆敷设后的整齐美观,不出现交叉,以及合理安排每盘电缆以尽可能最大限度地减少电缆的损失。在电缆敷设前,技术人员要将电缆进行合理的归类应用计算机软件为这项工作带来了很大的便利。intec提供了多种查询方法,例如,按区域或设备查询,按系统查询,按路径查询,按电缆类型查询等等。我们在施工中常使用下列方法查询电缆。 2.1.1按区域或设备查询 当我们需要统计某个建筑物内所有的电缆时,就可以采用按区域进行查询。例如,需要统计水处理厂房内的所有电缆,我们在电缆模块主界面内的“room-side1”栏内输入水处理厂的区域代码“wt*”后按“ok”,水处理厂内的所有电缆就会显示出来。在列出的电缆清单中,我们可以通过单击鼠标右键,利用快捷菜单中的“过滤”功能进一步按需要筛选。 2.1.2按系统查询 当我们需要统计某个系统内的所有电缆时,就可以采用按系统进行查询。例如,需要统计原水系统内的所有电缆,我们选用“wire”项,在其中的“wire-number”内输入“7131-*”后按“ok”就可以找出该系统的所有电缆。 2.1.3按路径查询 为了提高电缆敷设的效率,我们可以将具有相同路径的电缆同时敷设。我们选用“route”项,在“route-number”栏内输入路径号按“ok”,就可以得到同一路径的所有电缆。 2.2报表生成 intec提供了以“pdf”格式的报表清单,在查询出所需的电缆后,选主菜单的“action”中的“report”,出现“report online”界面,选择相应的报表类型,即可在线生成报表,打印出的报表可用于指导现场施工。报表给出了敷设电缆的较详尽的信息,尤其是敷设路径,它采用了在电缆通道上编号的方法,在电缆桥架上每隔一定距离按其实际长度标上米数,电缆排管和导管均予以编号。这样,电缆进出通道的位置就相当明确了,这为以后查找和更换电缆提供了便利。 2.3信息反馈 当电缆的工程状态(engineering status)为“rfc”即已释放给施工时,我们就可以在现场敷设该电缆了。电缆敷设完成后,我们应及时的将敷设完成的信息反馈给intec系统。反馈的方法是先查找出该电缆,然后单击鼠标右键,在出现的快捷 菜单中选择“site status changed”栏,在对话框内输入已敷设电缆的时间与实际长度,将现场状态改为“pulled”,最后按确认键。将电缆的现场状态准确及时的反馈给系统可以使设计者和工程管理者掌握电缆安装的最新动态,确保工程进度的实现。 2.4电缆接线 电缆敷设完成后,就可以开始准备接线工作了。intec的接线模块的使用与电缆敷设模块大致相同,也可以按照查询生成报表接线及信息反馈的步骤进行。值得说明的是,系统提供的用于接线的报表清单与我们传统接线时使用的二次端子排图不同,它是一种用文本描述电缆与端子连接的清单。 2.5升 版 由于设计变更和工程现场条件的改变,电缆安装的相关信息也在不断更新,intec基本上一个星期要进行一次升级,在进入intec后,选主菜单的“help”中的“revison”,可以看到版本信息。施工时我们使用最新版本。 3intec在应用中遇到的问题 intec是一个集设计、采购、施工、调试于一体的大型软件,它不仅能够为施工提供所需的设计资料,而且可以对施工的全过程进行动态管理。但是由于种种原因,intec在实际中并没有发挥出其最大功效,应用中也发现其本身的一些问题,主要体现在: (1)由于输入系统的信息不全,导致该软件的一部分功能闲置。例如,系统的图纸资料管理功能,本应该根据施工图纸能够检索出相关电缆及接线等信息,但是实际工程中这项功能没有发挥作用。 (2)系统升级频繁,造成施工难度增大,现场施工与设计脱节现象时有发生。由于设计速度跟不上施工要求,设计者对系统的变动频繁,基本上是每周升级一次,以致现场施工的进度受到系统的限制。 (3)由于设计单位的现场机构没有权限修改系统,对于系统的变动须远在加拿大的总部进行,这样,现场施工的变动不能及时反映到系统,现场返工现象也时有发生,使得施工工艺也受到影响。 4结束语 笔者通过在秦山三期(重水堆)核电站常规岛电缆安装使用intec软件的实践中体会到:在大、中型建设工程的电缆安装中应用计算机软件进行控制与管理是非常必要的。传统的电缆安装施工方法过多依赖施工人员的经验。在施工前的准备阶段,技术人员要花费大量的精力统计电缆数量,安排电缆敷设路径,而且每个技术人员都有自己不同的施工经验,施工的随意性较大。在施工过程中,施工的进度与现场的变更难以得到有效控制。传统的施工管理中,现场施工完成后的记录整理工作由人工进行,记录的统一性、真实性不高。此外,计算机软件还可以用来在工程竣工后的决算工作中快速准确地统计工程量,极大地提高了工程造价人员的工作效率。应用计算机软件管理电缆安装施工能够解决传统施工管理中的不足,提高施工效率,满足工程进度要求,能对施工进行全过程的动态管理。因此,建议国内的设计单位和项目管理单位在电缆安装工程中采用计算机数据库软件进行控制与管理。 计算机软件论文:浅谈计算机软件的知识产权保护 计算机软件产业是产生于上世纪五十年代中期的重要产业,在几十年的快速发展中,已成为独立于计算机硬件的能够推动国家信息化建设的关键型产业,但到目前为止,人们就计算机软件依据缺乏足够深入的认识,尤其是计算机软件的知识产权保护。依据国际知识产权组织相关条规中的规定,计算机软件应当涵盖计算机程序、辅助资料及程序的描述等,世界上很多国家的知识产权保护均是依据国际知识产权保护的相关定义,在结合自身状况的基础上进行的修订。 一.计算机软件的知识产权保护概述 依据国际知识产权保护的相关规定,计算机软件作为不同于其他的知识产权的客体,其特殊性呈现于较多的方面,这也强调着计算机软件的知识产权保护的特殊性。计算机软件作为人类智慧的表现形式,同时具备着作品性及工具性双重属性;计算机软件在研发设计的过程中,实现着思想内涵与表现形式的高度融合,两者的相互渗透、相互融合使得界定区分较为困难;计算机软件所具有的更新周期逐渐缩短、更新换代逐渐加快,增加着知识产权保护的难度;计算机软件的研发设计成本普遍较高,但复制推广的成本却相对较低;计算机软件具备着较强的国际通用性等。计算机软件所具有的区别于其他的知识产权的客体的以上诸多性质,强调着计算机软件并非一般的作品及技术,强调着不可将计算机软件这一知识产权客体与传统知识产权客体一视同仁,要综合计算机软件的特殊性给予知识产权法律上的相应保护。 二.我国计算机软件的知识产权保护存在的问题 1.纯粹专利保护制度之下的保护无法满足保护需求 纯粹专利保护制度之下的保护要求相对较高,且保护条件相对有限,该种立法保护的弊端与问题需要新立法模式予以解决,进行立法保护的相关条件及要求的合理适当降低;产品的专利申请时间长、申请成本高是较为普遍的现象,计算机软件作为较为特殊的知识产权的客体,申请保护中也同样存在着该种问题。就国际大环境而言,计算机软件的知识产权保护经历着针对著作权的单维保护向著作权及专利权的双维保护模式的转变。针对计算机软件的知识产权的法律保护实现着与计算机发展技术的紧密结合,该种发展变化趋势就其原因主要是,计算机软件行业的产业化以及计算机软件的独立,最终导致计算机软件方面的法律保护类问题的出现。在计算机软件产业的发展之初,某些国家尝试依据计算机软件程序的是实用性及技术性,采用专利法对其实施保护,但某些软件程序并不符合专利的特征要求,利用专利法对计算机软件实施保护的效果并不显著。 2.知识产权保护践行并不能满足现实需求 虽然我国计算机软件的知识产权保护的发展,已经完成从无到初具规模的发展脱变,在法律层面上著作权法律法规已将计算机软件收入到著作权的法律保护体系中,同时的计算机软件的知识产权保护采用以著作权法的保护作为主要切入点、计算机软件产权保护的单行法的制定与完善的保护制度,就保护制度的总体架构隶属于著作权法之中,这与国家制定的其他的行政法规存在较大区别,也与其他发达国家计算机软件的知识产权保护就其专利保护内容也存在较大差异,致使计算机软件的盗版较为猖獗。计算机软件侵权的打击存在着政府部门的大包大揽的传统管理观念,社会动员程度较低。计算机软件盗版现象猖獗的其他产生原因也较为复杂,主要体现在国家经济的发展现状、计算机软件的价格、计算机软件使用者的法律水平及计算机软件研发者的法律维权意识等,广泛的开展计算机软件的盗版综合治理也是实现软件知识产权保护的关键途径。 三.我国计算机软件的知识产权保护问题的改进对策 1.计算机软件的知识产权保护立法问题的解决对策 计算机软件产业逐步实现与计算机硬件产业的分离,使得计算机软件逐步的成为市场价值更为广阔的高新技术,适合计算机软件行业发展的保护措施需求的紧迫性变得越来越强烈;而到计算机软件产业的发展初具规模的时候,针对计算机软件的法律保护体系确立的必要性显得更为突出,国家开始强化针对计算机软件的知识产权立法保护,但就立法保护的效果而言,仍需要立法保护中适当的降低软件在进行交易方面的成本,确保软件开发者合理的社会收益,从而推动计算机软件的产业化发展;在计算机软件的知识产权新的立法保护模式中,明确的指出保护条例中已经明确规定的要严格依据保护条例来执行,而没有做出规定、规定不够明确、条件发生变化的要依据著作权法的相关规定执行,同时实现软件的有效保护及软件交易成本的降低。 2.计算机软件的知识产权保护践行问题的解决对策 转变计算机软件侵权的打击的理念,将最终的违法打击途径确立为良好的司法环境的组建,在进行计算机软件的知识产权保护的过程中,要将软件的行政及司法保护确立为重点,充分利用行政执法这一国家执法体系中的重要环节,将行政调查及处理力度的强化确立为计算机软件保护的核心,给予软件研发使用的相关权利人以足够的法律保护,并给予侵权者以应有的制裁及惩处;软件行业内的诸多协会是软件企业中形成的自治性的组织,虽然并不具备行政执法及司法等管理权限,但却在市场调查、信息的咨询评估、业界信息的交流、知识产权的保护等方面具备法律所无法比拟的优势,要充分的发挥软件行业内相关协会在软件知识产权保护中的作用。 总结 综合分析目前计算机软件产业的发展现状及市场经济的现实需求,要想实现计算机软件产业更为健康有序的发展,各种途径、各种方式的计算机软件的知识产权保护已显得非常有必要。 计算机软件论文:以单片机为核心的工控计算机软件 软件抗干扰就是cpu在软件运行过程中对自己进行监视和检测,及时诊断机器运行故障并修复错误,确保程序正确运行的编程方法。 1 工控计算机软件的结构特点及干扰途径 在不同的工控系统中,软件虽然完成的功能不同,但就其结构来说,一般具有如下特点:①实时响应:及时处理控制系统中的随机发生事件。②周期运行:软件在初始化完成后,随之进入主程序循环运行。③中断响应优先级判断:优先响应高优先级中断请求。④中断嵌套:低优先级中断执行过程中,可以优先执行更高级的中断请求。⑤模块化关联:软件由多个任务模块组成,各模块相互关联,相互依存。⑥可操控性:允许操作人员干预系统的运行,调整工作参数。 在工业现场环境的干扰下,工控软件可能受到破坏,导致工业控制系统失控,其表现是:①干扰叠加在模拟量信号上,导致模拟量数据采集误差加大或超出量程。②由于干扰导致主频晶振频率的偏离和不稳定,从而致使定时器/计数器的中断频率变化,引起记数错误、时钟异常。③通讯时序的异常或干扰信号的叠加,都会引起通讯不正常。④程序计数器pc值改变:被干扰后的pc值是随机的,因此引起程序执行混乱;输入/输出接口状态受到干扰,造成控制状态混乱,系统发生“死锁”;ram数据区受到干扰,导致ram区数据改变或丢失。 2 软件运行过程中的自监视法 计算机cpu内部都具有看门狗定时器,利用定时中断来监视程序运行状态。看门狗定时器的中断时间大于主程序正常运行一个循环的时间,在主程序循环中执行一次看门狗定时器常数刷新操作。因此,只要程序正常运行,看门狗定时器不会出现定时中断。而当程序运行失常,不能及时刷新看门狗定时器时间常数时,就会导致定时中断。在看门狗定时中断服务程序中将程序系统软复位,从而防止程序跑飞。 1)监测程序计数器pc值 计算机正常运行,其pc值一定在程序区内。在一个经常要产生外部中断的某个中断服务程序中,读取转入该中断时压入堆栈的断点地址。如果该地址在程序区内,则认为pc值正常,否则一定是程序跑飞了。此时,程序跳转到机器的重启动入口或者复位入口,机器重新启动。 2)主循环程序和中断服务程序相互监视 主循环程序和中断服务程序以及中断服务程序之间多设计几个监视对,相互监视,增加程序的抗干扰性能。每个监视对要定义一个ram单元,通过对其计数/清零的方法表达相互监视信息。 3)程序代码校验 实时控制程序代码通常都采用eprom固化运行,有时可能因芯片质量问题或者因静电干扰也会出现极个别的单元错误。常用的校验方式,可以采用“累加和校验”或者“bch校验”。当采用bch校验时,其分组附加的冗余字节可以集中在程序区之外的某个eprom区域里。校验方法是在某个短小而且经常发生的中断服务程序内安排一个校验模块,可以设计成每次循环校验一部分程序代码,分若干次校验完成。如果校验发现错误,应当立即向工控网络主站报告或者以自身报警的办法告知操作人员,以便及时处理。 4)ram数据校验 在实时控制过程中,干扰经常导致冲毁ram中的数据,由于ram中保存的是各种原始数据、标志、变量等,如果被破坏,会造成系统出错或无法运行,ram的大部分内容是为了进行分析、比较而临时存放的,不允许丢失的数据只占极少部分。因此,在软件中,常采取对少数不允许丢失的数据进行“校验”和“设标志”,称为“校验法”和“设标法”。具体做法为:将ram工作区重要区域的始端和尾端各设置一个标志码“0”或“1”,对ram中固定不变的数据表格设置校验字。 程序在执行过程中,每隔一定的时间通过事先设计的查错程序来检查其各标志码是否正常。如果不正常,程序可重新复位或利用数据冗余技术通过抗干扰处理程序来进行修正;冗余数据表的一般设计原则是:各数据表应相互远离分散设置,减少冗余数据同时被冲毁的概率;数据表应尽可能远离栈区,减少由于操作错误造成堆栈数据被冲的可能。 3 实时控制系统的互监视法 1)软件冗余 对于条件控制系统,将控制条件的一次采样、处理控制输出,改为循环采样、处理控制输出。 2)在中断子程序中重复设置输出状态寄存器单元 当干扰侵入输出通道造成输出状态破坏时,系统可以及时查询当前输出状态寄存器单元的输出状态信息,及时纠正错误的输出状态。 3)设置自检程序 在系统内的特定部位或某些内存单元设状态标志,在运行中不断循环测试,以保证系统中信息存储、传输、运算的高可靠性。 4 其它常采用的软件抗干扰方法 1)特殊功能寄存器重复设定 为防止干扰改变cpu内部寄存器或者接口芯片的功能寄存器,把可能中断的类型、中断的优先级别、串行口、并行口的设定修改,可以采取在主程序的循环中,重复设定不影响其当前连续工作的特殊功能寄存器值,避免偶然不测发生。 2)重要数据备份法 对一些关键数据,至少有两个以上的备份副本,当操作这些数据时,可以把主、副本进行比较,如其改变,就要分析原因,采取预先设计好的方法处理。还可以把重要数据采用校验和或者分组bch校验的方法进行校验。这两种方法一并使用则更可靠。 3)数字滤波法 实时数据采集系统,为了消除传感器通道中的干扰信号,在硬件措施上常采取有源或无源rlc网络,构成模拟滤波器对信号实现频率滤波。软件常用的数值、逻辑运算处理方法有算术平均值法、比较取舍法、中值法、一阶递推数字滤波法等,实现频率滤波。 5 结语 基于硬件抗干扰设计的完善、软件抗干扰编制的尽可能细致,努力赋予软件高度的智能,把硬件和软件有机地结合起来,工业控制系统才能经得起长期现场考验。 计算机软件论文:计算机软件的可维护性问题 计算机软件是用户和硬件之间的接口界面。计算机用户可以通过软件和计算机实行沟通,软件是计算机系统设计的重要根据。为能方便用户,让计算机体系极具较高的整体效用,在计算机系统设计时,要对硬件和软件相结合的全局进行考虑,并满足用户的需求。软件保护技术,即怎样防止破解合法软件,软件保护产品所涉及内容极为宽泛,属于综合技术范畴之内。软件可维护性是指导软件维护工作的一个重要参考依据,是软件维护难易程度评价的标准,是软件产品的一个重要质量特性。软件可维护性即维护人员对该软件进行维护的难易程度,具体包括理解、改正、改动和改进该软件的难易程度。软件的可维护性差是软件维护工作量和费用激增的直接原因,因此在软件工程的各个阶段都要保证软件具有较高可维护性,从而降低软件维护成本,这是软件工程的重要目标之一。 1 计算机软件可维护性概述 概括地说,软件生命周期由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成。 运行维护时期的主要任务是使软件持久地满足用户的需要。具体地说,当软件在使用过程中发现错误时应该加以改正;当环境改变时应该修改软件以适应新的环境;当用户有新要求时应该及时改进软件以满足用户的新需要。 软件维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。通常有4类维护活动: 1)纠错性维护:在开发过程中要生成100%可靠无误的软件通常是不太现实的,为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程就叫做改正性维护。 2)适应性维护:在使用过程中,外部环境(如新的硬、软件配置)、数据环境(如数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。为使软件适应这种变化,而去修改软件的过程就叫做适应性维护。 3)完善性维护或增强:在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下进行的维护叫做完善性维护。 4)预防性维护或再工程:即修改软件,为将来的维护活动预先做准备。 除此四类维护活动外,还有一些其它类型的维护活动,如:支援性维护:通过提供最新用户文档或联机用户文档,进行适当的用户培训或设立专门的维护人员等方式来减少此类维护活动。 软件维护具有很大的必要性、长期性和艰巨性。以上几个方面的维护工作中,第二和第三层面维护方面所占的份额最大,占80%左右的总维护工作。可见,软件维护的费用也大得惊人,有些维护费用可能高达软件总开发费用的55%~70%,软件的可维护性居于首位。但软件维护的难度越来越大,并已成为目前所面临的最大问题。 2 提高软件的可维护性方法 软件的可维护性对于延长软件的寿命具有决定性的意义。因此,不仅维护人员应重视软件的可维护性,软件开发人员也要为减少今后的维护工作量而努力。为了提高软件的可维护性,可以从以下几个方面着手: 1)建立明确的软件质量目标。一个可维护的程序应是可理解的、可靠的、可测试的、可修改的、可移植的、效率高的和可使用的。如果要程序满足可维护性七个特性的全部要求,那么要付出很大的代价,甚至是不现实的,但有些可维护性是相互促进的,例如可理解性和可测试性、可理解性和可修改性。但另一些质量特性却是相互抵触的,例如效率和可移植性、效率和可修改性等。因此要明确软件所追求的质量目标。 2)使用先进的软件开发技术和工具。利用先进的软件开发技术能大大提高软件质量和减少软件费用。面向对象的软件开发方法就是一个非常实用而强有力的软件开发方法,用面向对象方法开发出来的软件系统,稳定性好,比较容易修改,比较容易理解,易于测试和调试,因此,可维护性好。 3)建立明确的质量保证。质量保证是指为提高软件质量所做的各种检查工作。质量保证检查是非常有效的方法,不仅在软件开发的各阶段中得到了广泛应用,而且在软件维护中也是一个非常主要的工具。为了保证可维护性,以下四类检查是非常有用的: ① 在检查点进行检查。保证软件质量的最佳方法是在软件开发的最初阶段就把质量要求考虑进去,并在开发过程每一阶段的终点,设置检查点进行检查。检查的目的是要证实已开发的软件是是否符合标准,是否满足规定的质量需求。在不同的检查点,检查的重点不完全相同。 ② 验收检查。验收检查是一个特殊的检查点的检查,是交付使用前的最后一次检查,是软件投入运行之前保证可维护性的最后机会。它实际上是验收测试的一部分,只不过它是从维护的角度提出验收的条件和标准。 ③ 周期性的维护检查。软件在运行期间,为了纠正新发现的错误或缺陷,为了适应计算环境的变化,为了响应用户新的需求,必须进行修改。因此会导致软件质量有变坏的危险,可能产生新的错误,破坏程序概念的完整性。因此,必须像硬件的定期检查一样,每月一次或二月一次,对软件做周期性的维护审查,以跟踪软件质量的变化。周期性维护审查实际上是开发阶段检查点复查的继续,并且采用的检查方法、检查内容都是相同的。为了便于用户进行运行管理,适时提供维护工具以及有关信息是很重要的。维护审查的结果可以同以前的维护审查的结果、以前的验收检查的结果和检查点检查的结果相比较,任何一种改变都表明在软件质量上或其他类型的问题上可能起了变化。对于改变的原因应当进行分析,例如,如果使用的是复杂性度量标准,则应当随机地选择少量模块,再次测量其复杂性。 ④ 对软件包的检查。软件包是一种标准化了的,可为不同单位、不同用户使用的软件。软件包卖主考虑到他的专利权,一般不会提供给用户他的源代码和程序文档。因此,对软件包的维护采取以下方法。使用单位的维护人员首先要仔细分析、研究卖主提供的用户手册、操作手册、培训教程、新版本说明、计算机环境要求书、未来特性表,以及卖方提供的验收测试报告等,在此基础上,深入了解本单位的希望和要求,编制软件包的检验程序。该检验程序检查软件包程序所执行的功能是否与用户的要求和条件相一致。为了建立这个程序,维护人员可以利用卖方提供的验收测试实例,还可以自己重新设计新的测试实例。根据测试结果,检查和验证软件包的参数或控制结构,以完成软件包的维护。 4)选择可维护的语言。程序设计语言的选择对维护影响很大。低级语言很难掌握,很难理解,因而很难维护。一般来说,高级语言比低级语言更容易理解,第四代语言更容易理解,容易编程,程序容易修改,改进了可维护性。 5)改进程序的文档。程序文档是对程序功能、程序各组成部分之间的关系、程序设计策略、程序实现过程的历史数据等的说明和补充。程序文档对提高程序的可阅读性有重要作用。为了维护程序,人们必须阅读和理解程序文档。 总之,当前计算机技术在整个国民经济中具有相当广泛的领域,在人们的日常生活中,计算机技术可以说是无处不在,是人们生活、工作不可缺少的工具之一,以软件技术作为其内在灵魂的计算机信息系统,正在对系统高度集成化、结构广泛分布化、信息多元化和功能智能化等一系列新型发展方向越来越重视,并逐步在实践中得以实现。软件维护是一项综合性很强的工作,随着软件规模和复杂度的日益提高,使软件维护成为软件生存周期中费用最高、难度最大的一个阶段。因此,良好的软件可维护性可以降低维护成本,延长软件生命周期。 计算机软件论文:探讨计算机软件的安全检测技术 现在,各种计算机软件在各行各业中得到了普遍的利用,成为人们生活和工作中不可或缺的部分。由此带来的计算机软件安全问题也随着它的发展越来越复杂的影响着计算机的安全,计算机软件的安全检测技术就显得尤为重要。 一、计算机软件安全检测技术概述 计算机软件安全检测是计算机软件开发过程中的一个重要环节,它的目的是为了发现软件所存在的故障和安全漏洞,从而及时的对计算机软件的潜在安全问题进行更改。当前的计算机软件安全检测技术主要包括动态检测和静态检测两种方法。计算机软件安全检测是确定计算机软件的安全性是否达到软件预期设计的目标的一个过程,一般包括功能测试、渗透测试与验证过程三个阶段。包括安全功能与安全漏洞两个方面的检测,软件安全功能涉及的方面比较多,包括机密性、授权、访问控制以及安全管理等;而计算机软件安全漏洞检测则是对软件可能存在的缺陷的检测。 二、计算机软件安全检测的注意事项 在进行计算机软件安全检测是,要注意几下的几个问题: 一是要预先制定出检测方案。首先要对计算机软件有一个全面的了解,在此基础上作出分析然后选择一个合适的检测技术,设计出检测方案;其次在检测人员的选择上,要进行多元化的人员配置,安全分析人员、软件设计人员和操作者都应参与检测的工作,这样可以保证在检测的过程中对软件的不同性能的检测都能得到专业技术人员的指导和分析,提高安全检测的效率。 二是在进行计算机软件的安全检测时,对于系统级、代码级与需求级的检测是必须的。如果软件的规模比较大,还要对软件的结构的设计进行分析。在具体的操作中要从实际工作的需要来选择合理的分析技术。仿真环境和分析工具相结合是较为有效的计算机软件的安全检测技术。 三、计算机软件安全检测技术的方法 (一)计算机软件安全检测的流程 一般情况下,规模较大的软件是由一定数量的子系统来构成的,每个子系统又由若干的小模块来构成。计算机软件的安全检测一般按照以下的步骤进行:首先是进行模块的测试,测试的对象是软件设计中的最小单位,对模块进行测试的目的是发现系统的各个模块中可能存在的问题。然后是对由模块按照程序设计的要求组装的系统进行检测,并对于其相关的体系机构进行检测。其次是在前两个检测的基础上进行软件的有效性检测,有效性检测的目的是对软件的功能和性能进行检测,检测其是否与所设计的用户的需求相符合。最后进行的是系统的检测,测试软件在整体的环境下的运行安全情况。 (二)当前计算机软件安全检测的主要方法 一是形式化的安全检测。形式化的安全检测是确立软件的数学模型,在通过形式规格的语言的支持提供形式化的规格说明。比较常见的形式规格语言有基于有限状态的语言、基于模型的语言以及基于行为的语言。形式化的安全检测有模型检测和定量证明两种形式的安全检测方法。 二是基于模型的静态安全检测。模型安全检测,既是通过软件行为与结构建模的方式,形成一个测试的模型,此模型同时可满足计算机对其的可读性。模型安全检测的方式与上述的形式安全检测的方式相比较而言,并不侧重于让检测的软件系统与规格说明在所有的情况下都保持一致,而是从模型生出一组试用例,使用这组试用例来测试软件系统,来说明软件的安全性。比较常用的模型安全检测方法包括有线状态机检测和马尔科夫链的检测。 三是语法检测。语法检测技术是根据语法对被检测软件的功能接口的语法生成软件进行输入的测试,测试软件在不同的输入条件下产生的不同的反应。一般语法检测适用于检测源程序中存在安全隐患的c语言函数和系统的调用,并通过软件接口语言的识别、定义语言的语法以及以语法为基础进行生产测试用例,同时进行安全检测。 四是基于故障注入的软件安全检测。故障注入的安全检测是应用故障分析树与故障数的最小割集来检测的。故障树分析法通过将系统最不该发生的事件做为顶事件,再以此寻找导致事故发生的中间事件与低事件,再通过逻辑门符号将顶事件、中间事件和低事件之间的关系进行连接,形成故障树。故障树检测拥有较高的检测自动化程度,是比较合理的计算机软件安全检测的方法。 五是模糊测试和基于属性的测试。模糊测试一般是基于白盒的模糊测试,较传统的模糊测试技术有所进步,白盒模糊检测方法有效的结合了传统的模糊测试技术和动态测试用例检测技术的优点。基于属性的测试方法首先要确定计算机软件的安全编程规则,以此来作为安全属性来验证软件系统程序的代码是否遵守了这些规则。基于属性的安全检测法的优点是能够较好的分析软件安全漏洞的扩展性及安全性等。 六是混合检测技术。混合检测技术是指将计算机的静态安全检测技术和动态安全检测技术相结合的一种检测技术,它能有效的改善静态技术和动态技术检测存在的一些缺陷,从而更好的对计算机软件的安全进行检测。当前主要的检测技术包括二进制代码改编技术、测试库技术、基于规范的检测技术、基于异常的检测技术等。混合检测技术在一定程度上提高了软件安全检测的准确性,是较合理的检测方式。 七是基于web服务的检测技术。近年来,随着web服务技术的发展和广泛的应用,基于此的分布式软件安全检测技术也随之产生和发展,它是一种基于识别内容的分布式web服务器技术。具有语言中立、互动操作性强等优点,能够将复杂的安全检测分解为子安全类型进行处理,以使其可以更有效的应对复杂的安全检测的需要。分布式安全检测还采用了故障注入机制来生成错误的soap消息,来用于异常测试。此种检测方法在实践中具有高效、先进和灵活的特点,能够对软件的可靠性、容错性和安全性的检测到达较高的标准。 四、总结 计算机软件的安全检测技术是保证计算机和互联网安全的基础,必须不断的加强检测技术的创新,以保证计算机软件的安全,促进计算机软件的发展。 计算机软件论文:网络环境下中职计算机软件应用研究性学习的探索 摘要:基于网络环境的研究性学习是计算机网络与研究性学习的整合,是在网络环境支持下的研究性学习。本文对在职业技术学校计算机软件应用教学过程中开展基于网络环境的研究性学习,分别从情境创设、问题探究、实例制作过程方法探究和最终实例的完成及讲评四个方面进行探讨。 关键词:网络环境;中职;计算机软件应用;研究性学习 职业学校计算机专业的教学内容主要以常用软件的应用为主,如office软件应用、photoshop软件应用、flash动画制作、dreamweaver网页设计等,注重培养学生的计算机软件应用水平。怎样才能使学生尽快掌握一个应用软件的各种基本操作,并使用所学软件解决实际生活中所遇到的相关问题,是每位职校计算机专业课教师必须思索和解决的问题。 创新精神和实践能力的培养,是计算机软件应用教育教学的核心。创新精神主要体现在学生对信息的处理能力上,实践能力则体现在学生对各种计算机软件操作水平和应用能力上。在计算机软件应用课教学过程中采用研究性教学模式,旨在通过创设类似科研的情境,让学生主动去探索、发现和体验,在收集、加工和处理信息的过程中,培养创新能力,提高动手实践能力。同时,为使学生所学计算机软件能紧跟软件换代步伐,密切与社会现实相结合,计算机软件应用教学的内容和范围不应局限于课堂和教材,而网络恰好为学生进行计算机软件应用研究性学习提供了丰富的信息资源。 根据职业技术学校学生学习特点和计算机软件应用教学的特点,以及笔者在教学实践过程中的探索和总结,网络环境下计算机软件应用研究性学习的教学过程一般可分为以下几个阶段: 创设情境,帮助学生确定主题情境创设的目的是激发学生探索问题、解决问题的兴趣。创设的情境要与学生日常生活密切相关,而且要通过网络,利用视频、音频、图片等多媒体信息来呈现,以调动学生的积极性,帮助学生确定主题。例如,在讲flash动画制作时,可以根据生活中的实例,制作相应动画。通过动画效果,调动学生制作flash动画的欲望,明确本节课所要完成的任务或目标,再让学生根据目标效果确定任务。在讲flash动画基本概念和基本操作时,先让学生看一些简单移动动画或者是形变动画效果,引起学生的注意和兴趣,引出这节课学生所要研究和学习的主题——flash动画的基本操作和基本概念,具体内容和相应操作就需要学生通过自己的查找、学习和实践研究得到答案。 对发现的问题或达到目标过程中的困难,让学生自主探究或几人一组查找相关信息各小组成员根据自己的任务分工学习自己未掌握的知识。教师提供相关的资源(如学校的资源库或自己所建的主题网站等)、网址或搜索引擎(如百度、谷歌、天网搜索等),让学生收集与解决问题相关的信息,并在此过程中形成自主思维能力与习惯。这时,每个学生都要独立自主地查找信息。他们所查找的信息都是为了完成明确的任务,教师必须帮助学生判断所查得信息的有效性。如上面所提到的在学生研究和查找flash动画制作的基本概念和基本操作的过程中,若发现有学生找到了许多有关3d动画制作的知识时,就要提醒学生,当前研究和学习的只是平面二维动画,三维动画在以后的学习中才有可能用到,不能在这些信息上花费过多的精力。总之,教师在巡堂过程中如发现有学生查找的信息偏离主题,要及时提醒,以提高课堂效率。 让学生小结查找的信息和已经掌握的相应操作,在组内和组间交流,找出完成实例或达到效果时所遇到的疑难问题,并协商解决 当小组成员找到所需信息后,让他们在组内和组间交流这些信息,阐述选择这些信息的理由,讨论有分歧的意见,达成共识,并以小组为单位,合作设计完成实例,达到要求的效果。对于一些学生容易忽视的因素,教师要及时指导。比如在photoshop软件应用中,利用图层进行多幅图像合并时,图层顺序对整幅图像合并效果的影响;在使用滤镜对图像产生特效时,有选区和无选区对最后效果的影响;在钢笔工具的使用过程中,要注意钢笔工具栏属性的选择对路径的影响;利用flash制作形变动画或文字形变时,一定要先把相应的对象打散等一些细节问题。 最终实例成果汇报,效果分析,讨论评价由各小组的代表向全班学生做口头汇报,并通过网络把主题学习完成的实例或相应的效果提交到服务器(教师机)上。教师利用多媒体电教平台,展示各小组的作品,并进行相应的点评。对于完成效果好的小组要进行集体表扬,并给小组成员的平时成绩适当加分。同时,让优秀小组代表说明本小组完成任务的过程、成员分工和完成作品的思路,展示作品的制作过程,给其他小组提供学习的机会。教师应及时对学生的研究进行评价,引导学生及时总结、反思,鼓励学生从多个角度思考和解决问题。比如,在学习photoshop图像处理中的图像颜色调整时,给图像上色有两组学生都较好地达到了相应的实例效果,其中一组用的是图像调整菜单中的色彩平衡,另一组用的是图像调整菜单中的色相饱和,对这两个小组都要给予表扬,并让他们演示并讲解达到效果的思路和方法。要告诉学生解决一个实际问题的办法不是唯一的,需要自己用心去研究、学习。 总体而言,计算机软件应用是一类实践性很强、极富创造性、具有明显时展特点的课程。研究性教学模式适合于培养学生的创新能力、独立分析问题和解决问题的能力。这种教学模式可使学有余力的学生有更大进步;学习到更多知识,而后进的学生也可以循序渐进地不断进步;教师也可用较多的时间来辅导后进生,能较好地保证教育教学质量,提高教学效率。在这些过程中,网络能提供丰富的信息资源。笔者的教学实践证明,网络环境下计算机软件应用研究性学习,不仅提高了学生学习的主动性和积极性,而且激发了学生的创新精神,学生利用计算机软件解决实际问题的技能也有了较好的提升。但是也要注意,在设置情境任务时一定要从全班学生的整体水平考虑,学习任务量的设置要保证绝大多数学生能够在指定时间内完成,特别是在网络环境下,要控制好课堂教学进度和教学秩序,保证每个学生都能积极主动地投入到学习之中。 计算机软件论文:计算机软件工程现代化技术分析 摘要:随着计算机技术的快速发展,为我国计算机软件工程的发展奠定了良好的技术基础。计算机软件工程对我们日常生活产生的影响非常深远,可以说涵盖了衣食住行等各个方面,基于计算机软件工程的现代化技术的探讨,能够进一步拓宽计算机软件工程的应用前景,实现科技效益转变为社会效益。 关键词:计算机;软件工程;现代化技术 计算机软件工程无论是行业发展前景还是行业发展速度都已经远超传统产业,并且在各行各业中的应用也取得了非常大的进步。但是我们也必须清楚的认识到,对于计算机软件工程的现代化技术应用依然存在很多方面的问题,这些问题会造成计算机应用情况不足以及应用不完善等情况。所以对于目前计算机软件工程存在的问题必须要加强重视程度,积极研发计算机软件工程的现代化技术,尽可能的完善计算机软件工程的应用情况。 1计算机软件工程发展现状 计算机软件工程的现代化技术在我国得到了长足的发展。首先,由于计算机软件工程的软件技术研发能够加快软件系统的开放、运行,所以能够为整个软件行业带来较高的经济模式,符合社会主义市场经济体制。其次,从实际的运营模式来看,软件工程从研发到应用能够有很多分层模型,包括了支撑软件、系统软件以及应用软件等。所以在这样的情况下,计算机软件工程的现代化技术在我国应用和发展的范围和领域也越来越广泛,并且正在朝向一体化的发展趋势。尽管我国目前计算机软件研发工程得到了长足的发展,但是我国计算机软件工程主要还是依托于国外发达国家的知识产权,自主研发手段少,而且与我国的社会实际相配套的少。所以在很大程度上限制了我国计算机软件工程的开发与应用。尽管我国计算机软件工程的现代化技术发展速度快,并且发展水平较高,但是由于受到各种因素的影响,我国计算机软件工程的现代化技术产品后劲发展动力不足。而且,由于缺少自主创新技术,没有形成我国自己的特色,在很大程度上也限制了我国计算机软件工程的发展前景,并且缺乏技术保障。只有通过提升计算机软件工程现代化技术的创新能力,才能够更加科学合理的制定出行之有效的自主研发技术。 2计算机软件工程的现代化技术发展对策 通过对于计算机软件工程的现状研究我们知道,目前计算机软件工程的现代化技术发展最大的阻碍就是缺少自主研发的能力。所以要想进一步促进计算机软件工程的现代化技术的发展,就必须要从以下几个方面作为突破方向。 2.1加大政府扶持力度 计算机软件工程的现代化技术的发展对我国现代化建设至关重要,尤其是对我国社会经济的稳定发展、国民生活水平的稳步提升有着不可替代的作用。所以要想进一步促进计算机软件工程的现代化技术的发展,必须要加大政府扶持的力度。可以通过对于计算机软件工程的现代化技术的相关项目进行政策支持,制定相对应的扶植政策,从而为计算机软件工程的现代化技术的发展提供更加广阔的空间。由于计算机软件工程的现代化技术是高投入、高回报的产业,所以在发展的过程中,更加需要大力扶持,并且进一步引导计算机软件工程的现代化技术投资的合理化,避免因为资本炒作等方式带来负面影响。更应该重视对重点工程的重点培养,比如超级计算机、“天眼”等计算机软件工程的现代化技术的研究和投入,提高我国计算机软件工程的现代化技术自主发展,并且要将研究成果尽快的转为民用产品,保证对于投资和受益的平衡。 2.2重视产业自主创新 我们应该清楚的知道,目前我国计算机软件工程的现代化技术发展困境在于缺乏自主创新的能力,所以更加应该重视对于产业自主创新能力的不断培养与提升。要想进一步推动计算机软件工程的现代化技术的平稳发展,必须要保证科技成果转化为民用成果,这样才能够保证更好的将科技产品与市场需求相结合,也顺应时代的发展。在全球经济一体化的背景下,行业竞争、国家竞争也在不断的增多,必须要培育出新的经济增长点,从而保证在激烈的市场竞争中不断提升,从而保证计算机软件工程的现代化技术从产品到技术再到服务形成体系,为计算机软件工程的现代化技术的发展提高竞争软实力。从目前的发展趋势来看,我国计算机软件工程的现代化技术的发展方向多以通信技术、信息服务、网络媒体等领域,可以说发展领域还比较窄,无法满足广阔的市场需求。只有不断提高市场经济领域的自主创新能力,才能够有效的将计算机软件工程的现代化技术于各行各业之间相结合,保证经济的不断发展。计算机软件工程的现代化技术缺乏长效发展的动力,所以必须加快产品转型与升级,进一步强化计算机软件工程的现代化技术在市场创新中的有利地位。 2.3提高计算机软件工程技术升级与产权保护 要想提高计算机软件工程的现代化技术,必须要加快产业技术升级,进行补充与发展,从而增强软件的使用效果和实际的功能,增强计算机软件工程的现代化技术在升级管理方面的动力。只有这样才能够不断的提供更多优质的软件工程,才能够促进我国整体计算机软件工程的现代化技术行业的发展与完善。进一步提升软件工程的设备与技术,保证维护质量和维护成本,加快产业发展与利用效率。由于现代化的管理需求,企业在进行产业升级的过程中必须要从市场发展和社会实际出发,所以在进行产品升级的过程中,应当从实际出发,遵循实事求是的原则,并且制定出一套行之有效的规章管理制度,强化升级的质量。在过去,由于缺乏产权保护意识,造成盗版软件大量横行。经过计算机软件工程的现代化技术的多年发展,人们对于自主知识产权保护意识大量提升。不仅因为产权问题能够提升企业的竞争能力,而且也能更能够进一步提高企业的发展。所以企业必须加强对于计算机软件工程的现代化技术核心技术的保护,并且采取相关措施来保证核心技术不断创新,综合市场的反馈情况来不断改进。 3结论 计算机软件工程的现代化技术对于社会经济发展具有非常重要的作用,所以必须要加强对于计算机软件工程的现代化技术发展与应用,不断促进我国社会经的快速发展,提高我国自主创新的能力,本文通过对于计算机软件工程的现代化技术进行探讨和研究,从而为我国计算机软件工程的现代化技术发展提供一定的理论依据。 作者:闫一潇 单位:运城中学 计算机软件论文:计算机软件工程维护措施和方法 摘要:在科学技术日益发达的今天,计算机已经全面的走进了人们的生活。在我国的工业领域、教育领域和国防领域等各行各业的发展都离不开计算机技术。我们必须要认识到计算机技术应用社会发展的现实意义,加强对计算机技术的学习与维护,才能更好的适应时代的发展。要想充分发挥计算机的价值和作用,适应时代的发展,就必须要加强计算机软件工程的维护,变革传统的计算机维护方式,对现有的计算机维护模式进行合理创新,用科学有效的方式进行计算机软件工程维护,保障计算机技术的有效使用。目前我国计算机的软件工程开发比较开放,有关部门必须要注意软件自身的安全带给计算机的影响,保障计算机软件的安全可靠,才能使计算机更好的服务于人类社会。 关键词:计算机;软件工程;维护措施;分析 进入新世纪以来,计算机技术的发展已经全面的改变了人们的生活方式和思维模式,计算机技术的大力发展推动了信息技术革命的到来,人们逐步进入信息智能化时代。在信息智能化时代中,必须要主要计算机软件安全性的重要作用,保障计算机软件工程的安全运转,加强对计算机软件工程的维护。下面文章我们就对计算机软件工程维护的类型进行概述,提出计算机软件工程维护的有效方式,提升我国计算机的使用价值,使计算机技术更好的推动社会发展。 一、计算机软件工程维护的主要类型 计算机技术的出现极大的提升了人们的生活质量,目前人们的生产和生活都离不开计算机技术的应用,但是计算机出现故障的情况广泛存在,严重影响了人们使用计算机的体验,造成计算机的服务效率下降。因此,在平时使用计算机的过程中要注意对计算机软件工程的维护,提升自己对计算机的使用技能。计算机软件工程维护的一般类型有预防性维护、改正性维护、完善性维护、适应性维护等几种维护方式。1.计算机软件工程的预防性维护。要想做好计算机软件工程的维护工作,就必须要认识到计算机软件工程预防性维护的重要作用,对计算机软件工程进行预防性维护就是一般的对计算机使用的软件进行安全可靠的修改,在进行软件工程修改的过程中,需要对软件的一部分采取新的编写方式,或者是对整个软件采取新的编写方式,另外还要注意对需要新编排的软件进行测试,保障后期的计算机软件工程的维护,提升计算机软件工程的维护质量。2.计算机软件工程的改正性维护。通常所说的计算机软件工程的改正性维护就是指对计算机软件在使用的时候出现的命令运行错误进行修正。很多计算机软件在运行的时候,都会出现一些命令错误的编程代码,如果不细心的检测会很难发现这些错误代码,所以人们在使用计算机软机的过程中就一定要进行修改,修改的内容一般是逻辑命令的错误,文档格式的错误,设计模式的错误以信息数据的错误这些。3.计算机软件工程的完善性维护。计算机软件工程的完善性维护具体来说是在计算机软件的基本功能模式基础上对外进行延伸,快速的提升计算机软件的运行速度,提升计算机软件的服务。需要注意的是计算机软件工程的完善性维护延伸的功能要在原系统软件运行一定时间之后才开展的,有很大的未知性,原本的计算机软件需求没有特别说明此类延伸到功能,这是计算机软件工程完善性维护的重要作用。4.计算机软件工程的适应性维护。做好计算机软件工程的适应性维护,就是要让计算机软件运行过程中主动的适应外界环境的变动。一般就是涵盖外部信息数据资料的变化,计算机自身的操作系统的变化,还有计算机硬件的变化等,使计算机软件更好地适应这些变化,更好的利用计算机软件进行学习和工作。 二、计算机软件工程维护的有效措施 1.找到相应的程序设计语言。要想做好对计算机软件工程的维护,就必须要重视对计算机软件工程程序设计语言的选择。我们要知道计算机程序设计语言有高级和低级的区别,低级别的语言很难理解和掌握,高级别的语言便于理解,方便后期的维护。在进行高级别程序设计语言的过程中,必须要凸出二者的差别,更好的开展后续维护工作。因为计算机软件程序语言的选择不同,相应的计算机软件程序维护方式也有所不同,但目的就是要确保计算机软件良好的运转,发挥出计算机的使用价值。2.设置优质的软件品质战略目的。计算机软件工程的维护有很大的可塑造性,比如使用性、理解性、高处理性等,要想强化计算机软件工程的维护,会有很大的成本和时间,因此必须要明确计算机软件工程的使用目的,设置优质的软件品质战略目的,避免不同功能之间的软件编程冲突,根据自己的实际效用,改变计算机的运行环境,进一步促进计算机软件工程维护水平的提升。3.增强软件使用技术。计算机软件工程在编程研发的时候,必须要考虑到后期的计算机软件工程维护,保障计算机软件的使用,因此必须要增强计算机软件的使用技术,确保软件研发预算合理。另外,提升软件的使用技术,可以最快的发现计算机软件的错误进行修改,保障计算机软件的正常使用。而且增强软件使用技术只需要针对其中的单一部分进行改变,并不对其他部分产生影响,提升了软件的维护水平。 三、计算机软件工程维护的有效方法 1.加强对计算机硬盘进行维护。在使用计算机的时候,必须要加强对计算机硬盘的维护,定期的对计算机硬盘进行监测、和清理工作。计算机在使用一定时间后,内部会存在很多的垃圾数据,占据了硬盘很大的内存空间,还会降低计算机软件的使用速度,严重的对计算机的安全性能产生影响,因此,在使用计算机的过程中必须要加强对计算机硬盘的检测维护,加强对硬盘的清理,做好系统数据备份,更好的发挥计算机的价值。2.建立有效的软件防御系统。要想确保计算机安全有效的运行,就必须要提升计算机系统的安全性能,避免被病毒入侵,这就需要建立有效的软件防御系统,具体可以设置一些安全系数高的防火墙和杀毒软件等。另外,使用计算机的时候也要提升自我防范意识,不随意点击非法软件和网站,定期清理垃圾文件,保障计算机的正常使用。3.控制计算机系统的程序数量。由于计算机的程序都是安装在计算机系统内部里面,回影响软件的安装,对后期软件的使用产生影响,所以,一定要控制计算机系统的程序数量,减少程序占据系统的内存空间,还要注意计算机系统的升级与优化,提升计算机的运行速度。 四、结语 综上所述,要想充分发挥计算机的价值和作用,适应时代的发展,就必须要加强计算机软件工程的维护,变革传统的计算机维护方式,对现有的计算机维护模式进行合理创新,用科学有效的方式进行计算机软件工程维护,保障计算机技术的有效使用。伴随着科学技术的发展,人们的生产和生活都离不开计算机技术的应用。在信息智能化时代中,必须要主要计算机软件安全性的重要作用,保障计算机软件工程的安全运转,加强对计算机软件工程的维护。 作者:庞军钦 单位:广东农工商职业技术学院 计算机软件论文:计算机软件工程数据库编程技术 摘要:现代科学技术的发展进步,计算机信息技术被广泛的应用到社会的各行业领域中,因此而产生了海量的信息数据,将这些数据进行收集、分析和处理对于社会的发展具有重要的意义,计算机数据库应运而生。本文通过对基于计算机软件工程的数据库编程技术进行浅析,旨在促进数据库编程技术的科学应用,进而促进计算机软件工程行业的发展。 关键词:计算机;软件工程;数据库;编程技术 计算机软件的开发和应用是保证计算机应用功能的关键,数据库建设和技编程技术应用能够使软件应用过程中的稳定性得到保障,数据信息可以被集成管理、分析和使用,同时实现数据的共享应用,解决很多人工工作形式难以实现或者实现难度较大的数据处理工作,编程技术是构建数据库的主要技术支持。 1数据库的科学有效构建形式 1.1数据库的设计工作 设计工作为计算机数据库构建的初级阶段,设计人员需要对数据库的存储结构、位置以及存储路径进行综合的考量,对于信息的存储情况进行深入的了解,尽可能的降低存储空间,实现数据空间的有效利用,对存储空间进行主次分明的层次划分,保证实现高效便捷的使用功能。在进行存储路径的设计时,需要根据信息类型设置相应的信息索引,以实现用户在输入关键字之后就能够找到相关的数据信息内容。 1.2数据库的网络构建工作 数据库网络的构建具有较强的专业性和技术性,技术人员在进行数据库网络的构建时,需要加强对专业技术知识的应用,对结构模块进行合理优化,减少内存占用空间,以保证其运行的速率。同时加强数据库服务端与应用用户之间的沟通和联系,技术人员加强对服务端的科学管理,设置相应的管理员账号和密码,通过密码的设置来保证管理权限,对数据库进行合理的数据信息修改、添加以及等技术操作。 2基于计算机软件工程数据库编程技术的应用方式 2.1类型比较 文件建立之后需要应用数据库软件对文件进行数据读取,在数据库的应用初期需要针对应用功能需要对数据库进行对比,观察文件在读取过程中是否会出现数据丢失的情况,为确保文件读取工作的顺利进行,应用类型比较的方式直观反应文件读取工作中存在的问题,进而选择更为合适的文件应用类型,有效的文件类型选择,能够使数据库的空间应用效率得到提升,同时提升整体软件运行的流畅度,保证软件的模块应用功能都能得以实现。 2.2数据库的建立 数据库的建立首先需要以编程技术作为技术应用基础,通过功能之间的相互协调,解决其技术应用过程中存在的各种问题,进行数据库的建立需要针对自身的应用需求选择合适的程序语言,并对语言进行逻辑编辑,利语言组织编写完成数据库的功能型架构,并对不用的模块进行功能性区分,提升数据库的应用效率。数据库创建需要在确定文件类型之后进行,采用分区构建的方式,不同的区域负责不同的应用功能,并应用技术协调语言使不同应用功能之间实现相互配合,避免出现应用混乱或者数据冲突现象的出现,对设计功能中存在的不完善之处进行技术完善,保证整改方案的应用功能提升。还可以应用外部安装软件进行数据库创建,用户可对自身的应用需求进行自主选择,实现数据库资源的最大程度应用。数据库编程技术的有效应用,是各个分支应用系统之间的配合程度更高,数据库中出现的数据丢失现象,能够应用数据库备份的方式使数据得到应用恢复,进而保证软件应用功能得有完善。 2.3软件开发过程中编程技术选择 编程技术的选择需要以软件的应用功能为基础,对软件运行的稳定性情况进行观察和探讨,并对系统的资源利用情况进行优化,观察其在应用过程中可能出现的不稳定情况,针对常见的系统应用问题,设计者可以在编程阶段应用编程技术选择优化的方式进行技术完善,出现数据传输异常的问题进行采用技术控制措施,避免大规模瘫痪现象的出现,致使其他应用功能受到影响。在数据库编程检测极端需要对技术应用以及系统稳定性进行检测,为系统运行提供良好的运行环境,软件应用的稳定性与编程技术的选择具有直接关系,因而需要加强对编程技术选择的重视。 2.4数据库文件加密 数据库建立应当应用编程技术对数据库的数据信息进行加密保护,应用者通过登录口令或者密码进行数据库的登录和应用,工作人员需要应用技术手段解决常见的加措施,避免数据信息受到网络病毒侵害以及不良侵犯,根据信息的重要程度设置不同的加密等级,应用者具有自主选择的权限和空间,避免信息泄露对系统以及个人造成的严重影响。 3结语 计算机软件工程的数据库编程技术应用,能够实现在文件类型的比较、数据库的建立等环节的技术应用,并通过合理编程技术的选择、进行数据库文件加密来保证数据库结构设计的合理性和安全性,应用编程技术对软件模块以及软件运行空间进行合理优化,保证软件运行的稳定性,并有效提升其应用效率,促进编程技术应用价值的实现。 作者:于博文 单位:长沙市第六中学 计算机软件论文:计算机软件工程中的编程技术 摘要:随着我国科学技术的快速发展,编程技术早已经逐渐融入了我们的日常生活和工作中,特别是工作中需要用到的编程技术较多且复杂,所以逐渐出现了计算机数据库的概念,并且一经推出就受到人们广泛的推崇。本文通过对计算机软件工程中数据库文件的建立、数据库的概念以及编程技术在计算机数据库中的作用进行了分析和探讨,总结归纳出了编程技术在计算机数据库中的具体应用措施,以供相关专业人员参考或采纳。 关键词:数据库;计算机软件工程;编程技术 编程技术其实是办公实现自动化的重要基础和关键组成部分,因为编程技术不仅能够支持办公类各种计算机软件的正常和运行,还能够保证办公电脑硬件设备的安全。也就是说将计算机软件应用在计算机数据库之中,不仅能够最大程度上办公的工作效率和办公整体水平,还能够提升企业的综合能力和竞争力,从而使企业在金融危机这个大环境下,一直长远的发展下去。 1计算机软件工程中数据库文件的建立 1.1类型比较 数据库文件的建立一般情况下都要在能够读取相关信息的前提下进行,所以在初期准备建立数据库时,一定要针对数据库的相关信息来进行有效的对比,而在观察文件时还要根据信息读取过程中容易出现的问题来进行选择建立数据库文件方式。 1.2建立数据库 数据库的创建一般情况下都是在文件类型确定之后才展开的一项工作,而在建立数据库之后对于数据库相关信息的访问权限也会有较大的改变,所以在一般情况下设计都是针对相关功能不够完善的项目来进行整改,通过更加合理的改善来解决计算机运行过程中出现的各种问题。 2计算机数据库的概念 计算机数据库其实就是通过编程技术来进行一系列工作的信息处理系统,其实计算机数据库出现的根本原因就是因为现如今信息技术发展十分迅速,所以计算机数据库应运而出,其最大的作用就是能够为企业构建一个自动化属性的企业内部信息处理系统,从而最大限度上为企业提供一个计算机数据库平台,使办公人员能够借助编程技术进行工作,其中包括信息的储备、更新、维护和传输等等。其实从本质上看来,计算机数据库就是一个对相关信息收集和整理的过程,这种技术十分适用于企业的办公。 3编程技术在计算机数据库中的作用 3.1可用性 可用性的提出是为了针对快速恢复故障和平衡负载。当计算机的主接口出现问题时,备份的接口将会自动的代替其进行工作,从而保证网络能够有条不紊的运行。而当网络的数据接受量过大时,备份接口还可以帮助主接口进行数据的接收和发送,从而起到均衡的作用。 3.2信息隐藏性 主体在进行通讯连接时,可以利用计算机的NAT技术系统,来隐藏内网的网址,并且在数据上是以公网的网址访问的网络,也就是说企业的用户可以直接访问外网的因特网,但是外网的所有网络都无法进行企业内部网络查看企业中的任何信息和资源。 3.3身份鉴别 身份鉴别是面向所有用户进行的验证程序,计算机的身份鉴别主要是指访问计算机的身份鉴别和端口计算机的身份鉴别。访问该计算机的用户必须通过SSH或者HTTP(HTTPS)的连接,通过输入用户和密码的方式来进行连接和鉴别,并且要保证密码以私密文件的方式保存在TACACS认证的服务器上,也就是说在计算机数据库中应用编程技术将能够最大限度上保证企业办公信息和数据的安全性。 4计算机数据库中存在的问题 编程技术和传统的计算机网络技术其实都是一样的,都是对于计算机的使用人员相关网络信息的总结和整理,只是编程技术要相较于传统计算机网络技术来说更加的便捷和方便。但是计算机网络技术存在着一个至关重要的问题,那就是相关信息的安全性,因为计算机网络技术依赖于编程技术和网络,所以编程技术具有容易修改、容易删除、容易查阅的特点,所以计算机网络技术中的信息很容易就被人他人进行查阅和修改,缺乏一定程度上的安全性。也正是因为这一问题,所以导致了计算机网络技术安全信息上的安全隐患。 5数据库文件的访问技术改革 5.1给予计算机数据库硬件支持 企业的工作流程内,计算机占据着其中百分之八十工作量,也就是说要想实现计算机数据库就必须要将编程技术应用在办公中。由于计算机数据库涉及的业务内容较多且相关信息比较繁杂,所以不论是计算机办公的软件还是硬件设备都需要编程技术的支持才能够保证办公中所有工作的顺利进行。计算机数据库中的特定软件有很多,其中以设备管理的软件为主,而支持自动化办公软件的系统主要是计算机数据库、SQLserver2008和Access。 5.2实现办公软件自动化 在办公的文档管理中应用编程技术,不仅能够保证使用者在计算机办公过程中能够在计算机的网络平台进行信息文件的审阅和查看批复,还能够在网络信息平台对文件信息进行审批和修改,这对于办公来说不仅提升了工作效率,还最大程度上减少了工作量。企业的工作人员在接收到文件之后,可以先将文件录入在网络信息平台内,然后再信息平台内进行修改和存档,存档完毕之后,可以对其进行准确的命名,以便他日查阅文件,并且存档的工作人员还可以将文件进行加密,针对不同用户设置访问权限,从而保证文件的安全性和共享性。 5.3创建全新信息平台 现如今很多企业都将编程技术应用在企业管理和信息中,其中信息使用的最为广泛和频繁,企业信息主要就是利用编程技术创建一个网络信息平台,其中最常见的就是电子网络论坛或者电子公告,在这个网络信息平台内,企业可以随时随地的公布企业公告和企业交流等等。 6结束语 综上所述,只有了解了编程技术的全部应用内容,才能够更好的将编程技术应用在计算机数据库内,这不仅能够提升企业的办公质量,还能够最大限度上的提升企业的办公效率,多方位的保障企业办公所有工作的顺利进行,从而最大限度上企业在整个市场环境下的竞争能力。 作者:王依楠 单位:长春职业技术学院 计算机软件论文:计算机软件工程管理及应用 摘要:随着时代的发展,社会的进步,信息技术已经成为影响社会生产的关键性因素。人们更多的将精力放到计算机的使用,以及面向计算机的应用管理等角度,而忽视了对计算机软件工程的深入思考。所以本文主要在计算机软件工程的管理和应用等方面进行分析,从不同的角度来观察和思考计算机工程的相关内容,带动计算机软件工程的发展。 关键词:计算机软件工程;管理与应用 引言: 从目前我国计算机技术的问题来讲,很多人的观念受到传统意识的限制,并且受到计算机引用意识的影响,没有将计算机技术真正应用到日常生活中。并且就目前而言,我国计算机软件工程的管理设计还不太均衡,明显存在一定出入,所以要结合计算机软件工程应用的不同角度进行分析,不断带动计算机软件工程管理的发展。 1计算机软件工程管理的主要内容分析 1.1工作人员管理 就目前而言,我国计算机软件的工程管理设计仍然不够成熟,很多方面存在很大的问题,并且在当下主流意识的培养中难以形成针对性的计算机软件工程意识。在计算机软件工程的构建中,计算机软件工程管理是其中不可忽视的重要问题,有关部门应该针对计算机软件工程的管理进行分析,全面带动计算机软件工程的进步。 1.2用户管理 计算机软件工程的主要面向对象是大范围的群众,所以在进行软件工程管理时完成最大程度的开发就能够减少此类市场竞争关系的影响,达到用户的需求。在完善计算机软件工程管理体系的前提下,给用户最好的软件体验,而其中最多的是满足用户的功能需求,增添更多的功能来满足用户的实际需要,实现计算机软件工程在实际应用方面的扩展。结合计算机软件工程在社会生活中的实际应用进行分析,不断进行再次设计和完善,最终始终能够在此项工程中取得突破性进步。 2计算机软件工程管理的办法与对策分析 建立完善的计算机软件工程体系来进行具体的工程建设,从我国计算机软件工程当前面对的实际情况进行分析,带动科学合理的计算机软件工程架构,促进整体管理体系的发展。在充分的计算机软件管理角度上充分调动软件设计体系的作用,结合完善的管理措施,为达到计算机软件工程管理的相关措施来实现有关问题。 2.1构建健全的计算机软件工程管理体系 在计算机软件工程的管理体系进行分析,以更加科学合理的管理办法,全面带动软件工程的发展,对我国计算机工程的进步来讲非常重要,更加适合当前社会生产的优化调动,利于科学化的管理措施。 2.2加强对计算机软件工程的风险管理与进度管理 在计算机软件工程中,由于我国的有关措施还不够完善,所以在计算机软件工程体系中还存在着一定的问题。所以在对于计算机软件工程的发展中,需要结合一定的软件工程建设来进行更加科学合理的设计,在实际软件工程建设来完善管理体系的构建,带动系统化的应用措施。在计算机软件工程的实现中,需要结合管理体系的设计进行分析,在原有系统工程建设的基础上,充分调动风险管理和进度管理的有关工作,促进应用体系反馈的发展。 2.3强化计算机软件工程项目合作团队的管理 在计算机软件工程管理中从团队合作的角度进行考虑,全面分析计算机软件工程的管理体系,通过团队合作的方式来进行优化培养,增强计算机软件的管理方案,在实现计算机工程的基础上实现细化管理。并进行用户实际应用情况的反馈,为满足用户的实际体验,在原有计算机软件工程的建设中,优化用户的软件体验,结合遇到的问题进行分析,得到及时解决。 3计算机软件工程的应用 3.1软件工程工作流程管理系统概述 计算机软件工程主要面向普通用户群的实际体验,在传统的计算机网络体系的构建中能够满足多项计算机软件的发展基础,优化软件的使用效率。全面带动计算机软件体系的发展,积极促进人们的日常应用体验,带来更加科学合理的计算机软件工程的构建。简单来讲,计算机软件工程管理体系主要是在基本的工作流程中进行实际完善,全面优化软件工作流程的操作,实现对用户实际应用的模拟安排,促进计算机软件工程的发展。在合理的软件工程经营管理体系中,按照对应的原则进行分配,并且给予这些软件工程更多的实际体验,维持在不同的信息规划中,实现更大范围的计算机软件工程体系构建。 3.2计算机软件在工程项目管理上的应用 随着时代的发展,计算机软件工程建设逐渐成为社会生产中的重要影响因素。对于企业的工程施工建设来讲,计算机软件工程的应用非常重要,能够直接影响到不同环节下信息的交流和沟通,并且在产业信息结构中进行科学合理的体系构建,全面带动工程建设的发展,更好的进行交流和沟通,对减少工程建设的成本来讲有着更多的帮助,有利于企业项目工程的管理。 3.3计算机软件工程在教学中的应用 在社会主义市场经济快速推动的前提下,由于计算机软件工程的特性受到更多社会生产建设的广泛应用,并得到更多领域的利用。比如在进行教学数据信息的交互中能够得到更好的交流和沟通,计算机软件应用给了教学方案的交互式设计,教师能够通过计算机软件来进行良好的辅助教学,并且在原有信息结构的基础上,减少成本的利用,建立良好的基础信息交互。随着时代的发展,计算机软件将会应用到更多的教学设计中,得到计算机软件开发的优化改善,极大程度提高在计算机软件工程应用基础上教学的效率,进一步促进计算机软件工程的发展。就目前来讲,计算机软件工程建设的实际应用较为广泛,能够得到进一步的开发和利用,得到更多创新与发展的机会,促进我国计算机软件工程体系的构建。 4结束语 总的来讲,在我国社会主义经济飞速发展的前提下,计算机工程同时得到快速进步。全面发展计算机软件工程建设对当前社会生产来讲非常重要,通过系统优化的科学合理建设来进行软件工程管理,构建完善的计算机软件工程管理体系。所以,通过计算机软件工程管理的角度进行重点分析,能够全面促进计算机软件工程的发展。 作者:仲炜 单位:三江学院 计算机软件论文:计算机软件工程管理浅析 摘要:随着科学技术的不断发展,计算机软件工程的地位也变得越来越重要,并影响着我国的社会经济发展。在近些年中,我国的计算机软件工程有着非常迅速的发展,同时也取得了良好的成绩,但在其管理工作上,还存在着许多需要完善的地方,为此,必须给予计算机软件工程管理工作足够的重视,加强对其管理策略的研究,才能更好的促进我国的计算机软件工程的发展。本文将对计算机软件工程管理内容、管理策略和应用进行详细的分析。 关键词:计算机软件工程;管理内容;管理策略;应用 就目前我国的计算机软件工程管理工作来分析,无论是在其管理体制上,还是在管理模式上都还存在着许多急需完善的地方。由于计算机软件产品的特殊性质,使得它在管理模式和管理策略上都与普通产品有着较大的区别,实际的管理过程必须在明确其管理内容的基础上,进行有针对性的强化管理,提升整体管理水平,为计算机软件工程的应用和发展做出更大的努力。 1计算机软件工程管理的内容 1.1组织机构管理 计算机软件工程管理对其管理人员有着非常高的要求,由于我国在这一方面的管理工作上起步相对较,高素质的管理人才比较缺乏,这也是计算机软件工程管理水平难以提升的一个重要原因。组织机构管理是计算机软件管理中的一个重点内,它不仅需要进行开发人员的汇合与管理,还需要做到科学合理的人力资源分配和调用,如何发挥出现有人力资源的最大优势,有效的提升工作效率,是目前计算机软件工程组织机构管理工作中的一个重点研究问题。 1.2工作人员管理 相对组织机构管理来说,工作人员的管理更具有针对性,而且管理过程更具体化。工作人员是计算机软件工程得以发展的基础,同时也是软件从无到有的直接参与者,所以它的管理应该包括软件开发设计到实施应用的全过程。其管理工作应该在全面掌握工作人员的专业技能和综合素质的基础上进行,将最优的人才安排到最为合适的工作岗位上。 1.3软件用户管理 软件用户管理同样也是计算机软件工程管理的一个重点内容,它通过对用户信息的收集、市场的调查、用户反馈信息的分析去实现软件工程的优化与完善。为了保证软件的开发符合社会发展的需要,更好的满足广大用户的需求,在进行实际的软件项目开发前,必须进行充分的市场调查研究,收集不同用户群体的信息,并在此基础上进行开发设计的优化,降低降低软件工程的风险。 1.4档案资料管理 随着科学技术的不断发展,计算机软件工程也变得越来越庞大,它所涉及的档案资料和数据信息也越来越多,这也在一定的程度上加大了计算机软件工程档案资料管理的难度。软件工程档案资料的管理,主要包括了项目期间所有档案资料的收集与整理,和开发应用过程中相关资料的备份与存档。加强对计算机软件档案资料的管理不仅可以为其后续的开发和维护提供良好基础,同时也有利软件开发效率和安全性的提升。 2计算机软件工程管理的策略 2.1强化管理体系,提高管理效率 管理体系是管理工作的重要指导,同时也是管理工作得以正常有序进行的基础,所以要加强计算机软件工程管理的策略,首先要做的就是强化计算机软件工程管理体系的建设,从实际的管理工作中去不断的完善管理体制和管理手段,并通过相关的奖励机制和责任制来提升工作人员的工作热情和责任心。其次,注重计算机软件工程管理人才的培养,提高工作人员的专业技能和综合素质,并明确管理目标,促进管理效率和管理质量的提升。第三,将管理机制落实到实际的计算机软件管理工作中。 2.2加强软件风险管理,确保工作进度 在计算机软件项目开发和推进过程中,其风险问题是必然存在的,所以,必须加强对计算机软件的风险管理,构建并不断完善相关的风险管控机制。第一,有针对性的进行工作人员风险意识的培养,让每一个工作人员都了解基础的风险管理知识,这样可以帮助工作人员在日常工作中及时的发现风险并通报风险,从而快速、科学的对其进行防护。第二,建立定期的计算机软件风险控制管理机制,这样有利于进行潜在风险的防范。第三,全面树立风险意识、效率意识以及成本意识,平衡好项目开发进度与项目支出间的管理,从而更好的提升项目效益。 2.3注重团队合作,发挥团队潜能 良好的团队合作意识和团队合作能力是计算机软件项目开发的基础,同时也是计算机软件工程管理的一个重点目标。首先,有目的性的进行工作人员团队合作意识的培养,并通过有效的管理方式去进行团队合作的协调与融合;其次,为企业内部建立良好的沟通交流平台,加强团队与团队、团队内部的交流合作,拉近彼此之间距离,这不仅可以起到提升工作效率的目的,还有利于团队潜能的发挥;第三,通过科学有效的团队管理手段,去提高工作人员的积极性与主动性,让每一个工作人员都有一种归属感和使命感,这的计算机软件开发团队,才可以发挥出最大的优势,为企业创造更大的财富。 3计算机软件工程的应用分析 计算机技术和互联网络技术的不断发展,让计算机软件工程的应用变得越来越广泛,其实际应用中所发挥的作用也在不断增加。就目前的应用情况来分析,可以说是,各行各业都离不开计算机软件工程。例如:最为常见的办公软件、界面操作系统、人机交互系统等。计算机软件工程在企业内部的信息数据管理上的应用,可以让其管理工作变得更加规范化和便捷化,同时也大大的提升了信息资源的共享效率;计算机软件工程在教育行业中的应用,可以帮助学校对学生档案、学费等信息进行快速的管理,通过信息交流平台的应用,可以大大的提升知识的传播效率,帮助学生更好的自我学习。计算机软件工程的应用可以说是无处不在的,计算机软件工程的发展将推动着各大行业的发展。 4结束语 总的来说,计算机软件工程的发展对实现我国社会现代化发展有着非常重要意义。为能够让计算机软件工程为我国社会经济发展的发展创造更好的优势,必须加强对其管理工作的分析研究,保证管理质量和软件开发效率,并将其合理的应用到实际的生活工作中,为我国的发展做出更大的贡献。 作者:王恩涛 单位:辽宁万益职业技术咨询有限公司
软件毕业设计论文:Solidworks软件在高职机械类毕业设计中的应用 摘要:本文介绍了多个高职机械类学生应用Solidworks软件进行毕业设计的实例,说明了Solidworks软件的应用对提高学生的学习积极性、促进学生对先进制造技术的理解和掌握、培养学生的现代工程素养和创新能力,起到了良好的教学效果。 关键词:Solidworks;毕业设计;三维造型 现代制造业日趋国际化,缩短产品开发周期,减少开发新产品投资风险,已成为企业赖以生存的关键。[1]制造企业运用先进的设计模式,采用先进的制造技术,从而在激烈的市场竞争中立于不败之地。为了适应现代制造业对人才的需求,培养掌握先进制造技术、具有现代工程素养和创新能力的技能型人才,是高职院校刻不容缓的重任。 毕业设计是高职学生三年学习的重要总结,是最重要的一次集中性实践环节,它要求学生综合运用相关知识,结合实际课题进行设计和创新,从而培养学生的动手能力和创新能力,全面提高学生运用知识的水平。[2]笔者所在的教学团队根据高职学生的知识特点,设计了多个富有创意和挑战性的实际课题,由学生选作,要求采用三维机械设计软件的主流产品Solidworks完成。主要是基于以下考虑:①学生在相关专业课程中已经学习了Pro/E软件的应用。有一定三维CAD软件应用经验者都知道,各三维CAD软件的应用思路大体相同,学习一种三维CAD软件作为基础,再学习其它三维CAD软件将很容易上手。但学生在学习阶段并没有这样的认识,因此希望他们在校学习阶段即积累一定的三维CAD软件应用的经验。②通过企业调研,我们发现目前Solidworks软件在国内外中小企业中已经得到了广泛的应用,受到广大设计人员的欢迎,为了使学生免除进入企业后,缩短适应期,减少再培训等环节,在校学习阶段即提供机会让学生深入学习Solidworks软件,为实现与工作岗位的无缝对接打下良好的基础。 一、举一反三,拓展思路 大部分的高职机械类专业都开有机械基础或机械设计基础课程,在该课程的教学环节中,有两周左右的课程设计内容,要求学生根据给定条件完成一个减速器的设计,包括设计计算、二维装配图绘制及部分零件图绘制。但在两周的时间里,学生并没有利用这一机会完成减速器三维造型。因此,在毕业设计阶段选择减速器设计课题的学生,第一个任务就是利用Solidworks软件完成减速器的三维造型,由此学习Solidworks软件的零件造型、装配、工程图及文件管理等方面的功能。 上述减速器作为经典的案例在教学中广泛采用,其设计过程已经程序化,有大量可供参考的资料,为了拓展学生的思路,提高其综合应用课本知识的能力,要求进一步独立完成其它类型减速器的设计。例如下图所示的同向三螺杆挤出机减速器、异向三螺杆挤出机减速器等。 要求学生通过查阅资料,制定设计方案,完成设计计算并利用Solidworks软件完成三维图及工程图的绘制,使他们懂得怎样将所学的知识融会贯通,灵活应用于解决实际问题。 二、从设计到加工,体验真实的生产过程 在技术进步的大背景下,产品的设计和加工工艺越来越精细,产品的成品品质越来越精致、优良。[3]机械制造类工作岗位越来越离不开计算机辅助设计与制造软件的应用。Solidworks是一款综合性的创新平台,利用它可以设计多样化的产品。下图是利用Solidwork软件设计的玩具小车,可以实现其精美的造型,如同真实的产品一样。在完成造型后,进一步制定各零件的数控加工方案,利用CAM软件编制数控加工刀路,生成NC程序,并在数控机床上实际加工出产品。 学生在此过程中可以完成机械制造业中的设计、工艺、编程、机床操作等典型工作任务,体验设计员、工艺员、编程员、操作工、检验员等岗位角色,使学生熟悉零件从设计到加工的整个过程,掌握零件的基本设计方法与数控加工的基本技能,进一步巩固与扩充以前所学的《机械设计基础》、《机械制造基础》、《数控加工工艺》、《数控编程与操作》等课程的知识。同时鼓励学生充分发挥其创新能力,设计出具有自身特色的产品。学生要利用三维软件实现自己的构想,必须钻研Solidworks软件的各种造型功能,从而提高软件应用能力。通过反复的交流与修改,设计并最终加工出属于自己的作品,培养了创新意识,加强了实际操作技能。 三、整机设计,综合能力的培养 该课题要求学生利用Solidworks设计和装配一种单螺杆膨化机。首先由教师提供设计指导书,包括膨化机原理、产量计算方法、螺杆设计方法等等资料,在充分熟悉基本资料的情况下,鼓励学生扩散思维,采用不同的结构实现所需要的功能,学生综合运用以往知识,先拟定各自的设计方案。最后集中进行各种方案展示、小组互评、指导教师点评,通过比较、筛选和组合,确定出最为合理的设计方案。 小组成员分工合作,从膨化机的功能入手,通过产量、功率等要求确定基本尺寸,还要考虑密封、润滑、加热、定位、拆装及标准件的选择等一系列问题,并进行强度验算。最终完成三维装配图和二维零件图。 在完成毕业设计的过程中,学生以独立的主体身份从事一定的、相对独立的具体工作,大大激发了他们的求知欲望。以往的毕业设计中,二维图纸的绘制和修改工作量很大,占用了学生大量的精力和时间。而三维设计软件的应用可将毕业设计的重点由二维图纸的绘制转化到不同方案的设计和创新上,突出了设计创新,培养了学生运用现代化手段解决工程实际问题的能力。对增强学生的综合分析问题、解决问题能力,建立机械设计的整体思维大有帮助。 四、理论联系实际,实现与工作岗位的顺利对接 传统的毕业设计中设计出的产品由于没有得到制造、装配以至样机试验的验证,许多不合理的设计,甚至是错误的设计很难被发现。输送机设计课题即来自真实的产品。该课题是与输送机生产厂家合作设计制造一台计量输送机,学生与指导教师一起参与到该项目中。首先由用户提出使用要求,包括输送材料、输送能力、输送距离等基本要求,然后学生与指导教师一起讨论结构设计、基本尺寸的确定、电机的选择等。确定方案后,由学生利用Solidworks完成该输送机的三维绘制,再交给用户确认。由于SolidWorks软件可以完成复杂零件的三维造型,并可根据需要生成各种剖视图,有助于了解产品复杂的内部结构,对设计方案的表达更加简单明了,与用户的交流也更加顺畅。同时,由于界面友好、造型方便、图形质量好等特点,也使得产品设计和造型的时间缩短,效率大大提高。 用户确认后,由学生输出二维工程图交由工厂进行生产。由于设计、生产、用户各方都没有该种物料计量输送机的经验,生产后出现物料架桥等问题,需要对原方案进行改进。每次改进都是首先在三维图上修改,再在实物上完成。经过不断改进,最终满足了用户的要求。整个过程由于SolidWorks软件的应用,大大缩短了试制周期,降低了成本。学生自始至终参与了该计量输送机的设计与生产,参与了各种问题的解决,其在毕业设计中所做的工作即是实际工作岗位上一名结构设计人员需要完成的工作,真正实现了与工作岗位的顺利对接。 实践证明,将SolidWorks三维设计软件引入毕业设计,可取得良好的教学效果,极大地调动学生毕业设计的积极性和创造性,由此提高了学生对先进制造技术的理解和掌握,锻炼了学生解决实际问题的能力,对学生创新能力的培养起到了积极的促进作用,毕业设计的效率和质量大大提高。 软件毕业设计论文:软件工程学在毕业设计中应用研究 摘要:毕业设计是一个十分重要的教学环节,是一个系统工程,应使用工程化的方法、步骤统筹安排以取得良好的效果。软件工程学是指导计算机应用专业软件类学生进行毕业设计的重要工具之一。将毕业生设计过程、文档书写与软件工程学紧密结合起来是提高学生毕业设计论文质量的一个重要途径。结合软件工程的基本知识,通过对软件类学生毕业设计过程存在的常见问题的研究,提出了应用软件工程学去指导学生毕业设计的方法。 关键词:软件工程;毕业设计 0引言 毕业设计是高等院校应届类毕业生在毕业前接受课题型任务,在教师指导下进行科学研究或工程实践并取得成果的过程,是高校实现人才培养目标的综合性实践教学环节,是一次理论与实践相结合的的锻炼机会。如何在新形势下改革毕业设计, 提高学生软件类毕业设计的质量,进一步规范毕业设计中的软件开发过程,抓好高校毕业设计这一实践环节,加强对毕业设计过程的管理与监控, 切实提高毕业设计的质量,对于软件类学生在毕业设计中实施合适的软件设计具有重的指导意义。 1毕业设计的必要性 高等职业教育应该是以能力为本位、以学生为主体、以实践为导向的教育。毕业设计是高等教育培养学生综合运用所学理论知识和技能解决实际问题能力的重要环节之一,是衡量毕业生是否达到相应学历层次的重要依据。毕业设计将总结专业基础和专业技术的学习成果,锻炼和开发学生的综合运用能力。 高职院校软件相关专业组织毕业设计应该符合新的人才培养标准,对培养学生的职业技能和素质要具有积极的意义。而对于即将毕业离校的应届毕业生来说,毕业设计无疑是计算机软件各相关专业理论教学、实验、实训等有机结合的途径之一。 通过毕业设计能锻炼学生的能力: (1)实践软件工程的相关原理能力。毕业设计的过程,是一个课题小组从接到开发任务到提交产品和文档的过程,其中涉及到需求分析、概要设计、详细设计、编码、测试、程序打包、编写文档等软件工程具体的各个方面。经过锻炼,学生们对软件工程学思想和方法的理解会大大加深。 (2)解决具体问题能力。在毕业设计的进行过程中,学生一定会遇到平时在课堂的理论学习中碰不到的困难和挑战, 而克服这些困难、解决实际问题的过程就是软件技术和心理素质逐步提高的过程。 (3)团结协作的意识、能力。通过毕业设计这一过程,学生就会产生团结协作的意识和能力。 2软件工程学的基本思想 软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法去进行软件的开发和维护的学科,包括两方面内容:软件开发技术和软件项目管理。其中,软件开发技术包括软件开发方法学、软件工具和软件工程环境,软件项目管理包括软件度量、项目估算、进度控制、人员组织、配置管理、项目计划。 3高职类学生毕业设计现状 毕业设计的主要目的是培养学生综合运用所学的基础理论、基本知识和基本技能,用以分析、解决工程、科研、社会实际问题的能力,使学生得到工程设计方法和科研能力的初步训练。毕业设计中存在的问题主要表现在以下几个方面。 3.1选题的盲目性 只是把毕业设计环节作为大学生活的必经环节, 纯粹是为了完成学业而去做毕业设计, 造成选题的盲目性、有的选题则是陈旧。 3.2可行性分析与需求分析重视程度不够 绝大多数毕业生在确定了毕业设计的题目后,几乎不进行调查研究工作就立即投入到整个系统的设计中, 一旦遇到了与实际不符的地方, 又重新返回, 对已经做好的设计进行修改。最终导致设计的系统杂乱无章, 甚至到了最后只能马马虎虎地仓促交工。 3.3系统开发过程中的文档不够正规,不够完备 完整的设计不仅包括所完成的可操作的系统,一般的操作帮助,还包括在开发系统的过程中所产生的各个文档等一些文字的东西,比如解释清晰、内容全面的数据字典和使用手册也是必不可少的,否则用户会感到使用起来不方便,觉得难于操作。 3.4模糊的评价标准 导致毕业设计质量下降的一个非常重要的原因就是没有建立精确细致的评价体系。 这严重影响了项目的进度和质量,并且使学生没有真正得到必要的锻炼。我们通过对这些问题进行详细深入的分析,提出一个软件过程框架,这个框架主要从需求、测试、集成这3个方面给出工作要点和规范。 4利用软件工程学思想指导学生进行毕业设计 毕业设计本身是个工程,要用工程的方法去处理。从软件工程的角度去指导学生进行毕业设计,在毕业设计过程中,要系统地将所学知识应用于实际问题,按软件工程学思想展开工作。 图1软件生命周期与毕业设计各阶段之间的映射 4.1以可行性研究指导选题目 可行性研究,应该从技术可行性、经济可行性、操作可行性三个方面去研究,在毕业设计题目的选择过程中,应立足于解决实际问题,注重发现问题、分析研究问题和开发创新的能力。选题原则上,可以参考以下几点:①毕业设计的课题应该能使计算机专业所学的理论知识进一步理解并深化,也就是说,毕业设计应尽可能包括多门专业基础课和专业课的综合运用,并且要紧密结合工程实际,以有利于学生的全面训练;②选择难度适中的课题, 保证课题的完成质量;③课题要适合于各个模块独立进行,并便于最后统一调试;④课题规模应大小适合,难易程度适中。 4.2需求分析是关键 需求分析的基本任务是准确地回答“系统必须做什么”, 也就是对目标系统提出完整、准确、清晰、具体的要求。系统分析员可以通过多种形式来获取用户需求,对用户提出的需求进行分析,以此来确定其中要实现系统的功能。对需求划分优先等级,找出核心需求和重要需求,以保证系统构建的正确性。 在进行软件类毕业设计时,为了保证需求获取的准确性和全面性,可以让项目组的所有学生都参与到用户需求的获取的工作中来,发挥集体的能力,并由指导教师进行最终的确认。 4.3规范设计过程 需求分析完成后的下一个阶段就是系统设计,包括概要设计和详细设计。 详细设计阶段的任务就是深入每个函数内部,以伪代码或注释的形式实现整个函数,设计出程序的详细规格说明。 从系统设计开始,学生要按照软件工程的要求,画出DFD图,对输入、输出数据流进行详细的说明,建立符合软件工程规范的数据字典,根据DFD 图设计出模块结构图。 4.4重视文档写作 在毕业设计的过程中,要严格遵照软件文档的思想,记载设计过程的每一阶段完成了哪些设计,下一阶段的任务、目标及技术手段,这样,把文档作为整个设计的指挥棒,使设计有条不紊地进行。 4.5重视测试工作、撰写毕业设计说明书 软件测试工作也是软件开发的重要组成部分。通过实际应用效果和测试数据,毕业设计的成效就可一目了然。 毕业设计说明书的撰写是最后一个阶段,要求学生回顾设计过程,总结劳动成果,这时学生就会对软件开发及必须经历的几个步骤都有更深刻的认识。最后,要求学生对毕业设计进行系统的总结,写出毕业论文。 5加强对学生综合能力的培养 通过实践的练习,不仅能加深对理论的理解,同时也能锻炼运用知识分析问题、解决问题的能力。毕业设计这一实践环节是高等学校培养学生实际能力的主要手段,也是高等教育的重要组成部分。充分、有效地设置软、硬件的毕业设计对学生能力的培养至关重要,可以缩短学校教育与社会流行技术、工具的差距,满足学生毕业后的工作需要。通过毕业设计必须达到培养学生以下方面能力的目的。 5.1工程实践能力 学生能够准确把握选题的逻辑重心和学术思路,能够运用丰富的专业知识进行处理,具有严谨的理论思辨过程,以锻炼毕业生的工程实践能力,使毕业论文具有一定的应用和学术探讨价值。 5.2书写和表达能力 毕业设计论文是毕业设计工作的总结和提高,和做科研开发工作一样,要有严谨求实的科学态度。在毕业设计期间,尽可能多地阅读文献资料是很重要的,毕业设计大多数是技术开发型的,其论文的主体部分应包括:总体设计、模块划分、算法描述、编程模型、数据结构、实现技术、实例测试及性能分析。这些内容根据任务所处的阶段不同,可以有所侧重。 5.3创新能力 提出创新要求后,带领学生认真复习或补学过去没学过、没有学好的课程,并在此基础上结合实际工作中出现的问题孕育出一些新的思路,将毕业设计推上一个新台阶的方式,与为每个人专门分配某一特定的作业来锻炼学生基本技能的方式相比,更能扩展学生的视野,培养创新能力。 5.4协作能力和团队精神 通过集体活动和成员沟通培养成员的团体情感,增强团队的凝聚力。毕业设计将一个学生从入学初到毕业前的软件专业课程的学习内容链接成线,实现了课程的真正衔接,也使学生在毕业前对软件方面所学的知识进行了比较完整的概括与总结,达到了良好的理论联系实际的教学效果。毕业设计弥补了课堂教学的不足,加深了对理论的理解,促使学生深入思考,敢于创新,同时使学生的动手能力、分析和解决问题的能力、书写和表达能力、协作能力等各项能力都得到了培养和提高。 6结束语 软件工程作为软件开发工程化、规范化的具体实施方法,在将其应用到毕业设计中之后,学生在软件设计的文档书写规范化等方面均有了很大的改善与提高。将软件工程应用于毕业设计中不仅仅完成了一门课程从理论到实践的过程,而且将一个学生从入学到毕业前软件专业课程的学习内容链接成线,完成了前导后续课程的真正衔接,也使学生在毕业前对软件方面所学的知识进行了比较完整的概括与总结,因此,软件工程学在计算机专业学生毕业设计中的应用具有重要的现实意义。 软件毕业设计论文:软件工程专业毕业设计论文 1概述 在应用型本科院校中,尤其是软件工程专业,毕业设计作为教学计划的重要组成部分,是实践教学中的最后一个环节,也是对学生在校期间所学知识的一次综合、全面的总结、应用和提高。由于毕业生数量的不断增加和软件行业的迅猛发展,导致就业门槛越来越高,就业压力也越来越大,通过毕业设计过程中的训练,能有效提高学生的工程应用能力,使学生得到一定的实践经验,有利于学生从学校向工作岗位的平稳过度。因此,毕业设计质量的好坏,不仅反映了一所高校的教学质量,也会直接影响到学生的就业竞争力和就业后的职场适应能力。 2存在的问题 1)思想认识上不够重视学生方面:有些学生存在完成任务式的应付心里,避重就轻,能简就简,敷衍了事。有些学生则只重视找工作而轻视毕业设计,不愿在毕业设计上花费太多时间和精力,甚至有些学生还以找工作为由,完全依赖于导师,向导师索要源代码,甚至花钱在网上购买来交差。已经找到工作的学生,更是认为毕业设计做的好与不好对自己没什么影响,对待毕业设计也更加心不在焉。导师方面:大多数指导教师除了要指导学生毕业设计之外,还要承担大量的教学和科研任务,在毕业设计指导工作上能够投入的精力和时间非常有限,致使有些导师对毕业设计的指导工作不太重视,对学生放任自流,不管不问,或者是直接将相关源代码发给学生,以“简化”指导工作。由于思想上的不重视,学生学习态度不认真,导师指导工作不到位,造成毕业设计流于形式,疏于管理,效果较差,使得学生白白浪费了毕业前的一次综合训练机会。因此,如何充分认识毕业设计的重要性,并进行相应的教学改革是软件工程专业毕业设计必须要面对并解决的问题。 2)时间安排上不够科学毕业设计一般安排在第八学期,这期间刚好是学生求职和考研的黄金时间段,由于目前就业形势的日益严峻,学生就业压力越来越大,当求职和考研时间与毕业设计时间发生冲突时,学生都会选择将主要精力投入到求职和考研上,有些还要去外地求职、应聘考试、面试等,毕业设计自然是无暇顾及。而且,学校方面,为了保证就业率,往往对学生毕业设计的质量也是睁一只眼闭一只眼,这又在无形中鼓励了学生消极对待毕业设计的态度,毕业设计质量下降也就成为必然结果。 3)题目设置上不够合理由于毕业设计在高校各类教学活动中是最具综合性和独立性的,相对于常规课程而言,对指导教师要求也就更高,尤其软件工程专业,工程实践性比较强,但每年真正来源于实际工程项目的题目所占的比例较小,很多题目都是虚构出来的,导致有些题目不是理论性太强,就是缺乏具体需求的支撑,使学生很难从毕业设计过程中真正领悟到真实的软件工程方法。而有些指导教师自己都没参与过实际的工程项目,本身就缺乏实践经验,对学生毕业设计的指导只是凭着自己的感觉来进行,缺乏系统性、整体性、科学性和严谨性,学生遇到问题后,难以得到及时的解决,导致抄袭现象时有发生,甚至有些学生直接照搬往届毕业生的设计成果。毕业设计的主要目的在于通过毕业设计的训练来提升学生对所学知识的综合应用能力以及创新能力,从而实现学生从学校到工作岗位的平稳过度。但由于题目设置上的不合理,题量太少,层次不清,导致选题匹配效果差。在选题时,部分能力差的学生所选题目难度太大,造成毕业设计很难完成,而有些能力强的学生所选题目难度过小,达不到能力提升的目的。 4)过程监管上不够到位众所周知,对于软件工程项目而言,过程控制与管理是项目执行的关注点,毕业设计也当如此。虽然学校也会在毕业设计过程中组织对各阶段的工作情况进行检查,但执行检查工作的不一定是专业教师,使得这种检查大多只是对指导老师所填写的各种表格和文档等表面内容进行检查,对毕业设计的过程起不到实际的监督作用,再加之有些学生在校外求职或实习等原因造成指导教师与学生无法定期见面和沟通不畅等问题,使得指导教师难以用软件工程方法对学生进行指导。毕业设计虽然启动较早,但实际上很多学生前期在毕业设计上很少投入时间和精力,只是在答辩前为了完成任务而赶工应付,这样的毕业设计质量自然也就不佳。 5)量化考核上不够严格毕业设计成绩一般由平时成绩+论文成绩+答辩成绩三部分按一定比例构成,平时成绩由指导教师自行把握,论文成绩则由其他有经验的教师进行评阅,答辩成绩由答辩委员会老师按照相关评分标准打分并取平均分,这样虽然基本可以保证成绩的公正性,但成绩构成太简单,未显示地将开题报告、文献翻译、分析和设计过程以及总结等纳入到考核范围,对毕业设计的前期和中期工作没有约束力。在成绩评定时,有些导师要求不严,采取宽容迁就的态度。答辩时,通过门槛较低,造成大部分学生仅以答辩及格为目标,在思想上不重视,答辩准备工作不扎实。同时,学校为了提高学生毕业率,在最终答辩时,对毕业设计的质量要求也有所放松,这也是导致毕业设计质量难以保证的一个重要原因。 3采取的对策 时间安排上,可以提前启动毕业设计工作,将原来的第八学期开始提前到第六学期中后期,此时学生已经学完大部分课程,具有了一定的知识基础,而且学生都在校,可以随时与导师见面,指导教师也有充分的时间对毕业设计项目随时跟进,随时指导。导师资格审查上,对于软件工程专业来说,学生毕业设计的导师,应该由长期从事实际工程实践或者有较好科研成果的“双师型”(双师即“教师”、“工程师”)教师来担任,也可以聘请校外科研单位或企业中水平较高的工程师来担任企业导师,这样不仅可以减轻指导教师短缺的压力,也能促进指导教师队伍多元化模式的形成。题目设置上,要求题量要充分,使得水平层次不同的学生都能选到合适的题目;难度和工作量要适中,且要有一定的创意,使学生通过毕业设计的训练,在综合应用能力和创新能力上都能够得到有效的提高。有课题的指导教师要尽量结合自己的课题来设计题目,没课题的指导教师可以从与学校有合作的企事业单位中获取有实际意义的题目。鼓励学生根据自己的兴趣点和就业取向自拟题目,允许学生到实习企业中根据企业的实际工程需要选题和实施毕业设计,这样既能解决实际问题又可完成毕业设计。过程监管上,首先要在指导教师和学生之间建立有效的沟通联系机制和问题讨论的例会制度,充分发挥指导教师的引导作用,在毕业设计过程中,坚持每周师生沟通一次。学生提出问题,指导教师引导和总结,鼓励学生发挥主观能动性和创造力。同时,学校要成立由领导牵头、具有一定工程实践经验的专业技术人员组成的督导组,对毕业设计过程包括选题、开题、中期检查、答辩和成绩评定等各个环节实施有效的监控和督导,加强管理学生的同时也要加强对指导教师工作质量的检查,确保毕业设计工作能够有序、有效的实施。量化考核上,要对毕业设计从前期的开题、文献查阅,到中期的分析、设计、实现,再到后期的总结等各个阶段的进行量化考核,前一阶段的成绩考核不合格者,不能进行下一阶段工作,必须加以整改,直到整改合格后才能进入下一阶段。对于未能按要求如期完成毕业设计的可以推迟答辩,对于首次答辩不合格的可以进行二次答辩,仍不合格的,可以缓发毕业证。只有建立严格的考核制度,才能对学生有约束力,让学生从思想上重视毕业设计,进而保证毕业设计的质量。 4结束语 软件工程是一个实践性很强的专业,软件工程专业的毕业设计作为大学四年学习的总结,是学生从学校跨入社会前仅有的一次大检验,它不仅检验了学生对所学知识的综合应用能力和学生的综合素质,同时也检验了学校的培养模式和教学质量。毕业设计质量的好坏,不仅关系到软件工程专业的培养目标,也关系到学生的就业率与就业质量。因此,在就业形势日趋严峻的情况下,软件工程专业毕业设计的教学改革也要适应就业市场需求,紧跟行业发展变化,与时俱进。 作者:张华 单位:南阳理工学院 软件毕业设计论文:软件工程毕业设计改革实践 一、软件工程专业毕业设计存在的主要问题 (一)毕业设计题目设置与选题方面 题目设置不合理,类别与层次不清晰,选题匹配效果差[2]。学生的毕业设计课题一般都按照指导老师的研究方向和实际工程项目提供,但每年真正来源于工程实践题目比例较少。部分题目理论性强,学生根据所学知识不能很好理解;部分题目开发工具复杂,占用了毕业设计的大部分时间。在选题时可能导致学生想选的题目选不上,能力差的学生所选题目难度大,影响学生的积极性,导致选题效果差,造成毕业设计很难完成。 (二)毕业设计过程监控方面 毕业设计监控工作实施困难,效果较差。软件工程专业毕业设计一般包含选题、开题、中期检查、程序测试、撰写毕业论文、答辩、成绩评定。但对这些环节的监控有时候会形成空白带,毕业设计不在实验室进行,有的学生在实习单位实习,有的学生在外地找工作,老师不能定时与学生见面,老师无法了解学生的具体情况,且学生提交的各阶段文档流于形式,只有指导教师在进行监控,未形成完善的监控体系,导致监控不到位,监控效果较差[3]。 (三)毕业设计论文答辩方面 答辩考核方法单一,答辩仅由学生的讲解和老师的提问两个环节组成,考核准确度低。答辩通过门槛较低,答辩只对学生的毕业设计进行排名,一般排名在最后的学生才可能不及格,不利于提高学生毕业设计积极性,造成大部分同学仅以答辩及格为目标,思想上不重视,答辩准备工作不扎实。再由于软件工程专业特点,毕业设计软件作品评分标准难于量化,考核具有一定难度,也造成答辩效果不好。同时为了提高学生毕业率和就业率,毕业答辩的质量控制有所放松,直接导致了软件工程专业毕业设计质量难以保障。 二、软件工程专业毕业设计的教学改革 针对上述各项实际问题,主要进行的相关工作具体如下: (一)合理设置毕业设计题目,动态选题 依照软件工程专业的以市场需求为导向,培养应用型软件工程人才的培养目标,在毕业设计题目设置环节,紧紧围绕工程实际型、创新项目型、竞赛题目型、科研项目型等类型进行题目设置,以适应市场动态需求。同时着力避免在毕业设计题目中设置虚拟型题目、理论研究型题目、综述型题目、分析设计型题目等。在选题过程中,通过毕业设计管理系统(如图1所示)进行多轮双向动态选择,动态调整题目各项技术参数以保证学生能选择一个适合自己能力且能有利于自己以后工作的题目[4]。这样,在选题之后,每个指导老师就可以根据学生不同能力进行分别指导,使不同能力的学生都能够运用其所学知识解决工程实际问题,都能够通过毕业设计增强工程实践能力、工程设计能力与创新能力。近四学年软件工程专业毕业设计各类题目汇总。 (二)毕业设计过程实行三级监控管理机制 学校成立以主管副校长为组长的毕业设计工作领导小组以加强毕业设计宏观调控,学院成立以教学副院长为组长的毕业设计工作领导小组以加强毕业设计协调与监控工作,软件工程专业成立以专业负责人为组长的毕业设计工作小组落实并实施毕业设计各环节具体工作[2]。具体参见下图2。在实现毕业设计过程管理的三级管理机制的同时,为保障毕业设计工作质量,软件工程专业要求所有指导教师必须具有中级以上技术职称或硕士以上学位且有一定工程实践经验,具有较高教学、科研水平和创新能力,师德良好,工作态度认真负责。在每年的毕业设计指导工作开始前都对指导教师进行资格审查,择优任用,且每位教师指导的学生不超过6人,以保证指导教师对学生的充分指导[5]。 (三)毕业设计过程量化考核 以往软件工程专业毕业设计成绩通常由三部分组成:一是学生的平时表现由指导老师把握;二是学生的毕业论文成绩。由专业其他指导老师进行评阅;三是现场答辩成绩。由所在组的指导教师按照相关评分标准打分并取平均分。这样基本能够保证毕业设计成绩的公正,但是由于只有毕业答辩环节具有约束力即答辩未通过则总成绩不及格,其他环节不具约束力,因此造成毕业设计前期、中期工作流于形式,前期、中期阶段提交的文档趋于应付、质量不高,最终导致毕业论文质量较低[6,7]。为此,软件工程专业经过几年的探索与实践,实施了毕业设计各阶段的软件工程生命周期量化考核法即各个阶段量化考核,且考核成绩不合格者不能进行下阶段毕业设计工作,必须加以整改,整改通过后才能进入下一阶段毕业设计工作。经过几年的实践证明该考核方法切实可行,能够保证毕业设计各个环节的质量,最终提高毕业设计总体质量。 (四)在毕业设计过程中进一步提高学生工程能力与创新能力 辽宁工业大学于2011年制定并实施了大学生创新团队机制,建立了大学生创新项目申报机制引导大学生开展创新活动;引导学生每年都参加校级、省级、国家级软件设计大赛等各类各级比赛[8]。随着学校和学院创新教育活动多年持续深入开展,软件工程专业学生的创新与创业活动取得了显著成果。超过1/4的软件工程专业学生能够独立主持创新性项目,并以该项目为原型申报毕业设计题目[9],同时参加省级、国家级计算机竞赛并获得奖项。通过主持校级及省级创新项目既毕业设计题目,学生工程能力、创新能力得到极大锻炼与提高,本专业毕业生就业率与就业质量明显提高。软件工程专业学生主持参加创新项目既毕业设计题目情况见表3。 三、结束语 软件工程专业毕业设计是一个极具综合性、实践性的重要环节,是对学生大学四年学习后面向社会与企业前的有且仅有的一次大检验,它不仅检验了学生所学知识、能力与综合素质,还检验了软件工程专业的培养目标、培养模式、课程体系、实践体系、创新体系等相关环节[10]。经过几年的探索与实践证明,软件工程专业所做的系列教学改革工作中的毕业设计教学改革工作有利于进一步增强学生的工程实践能力和创新能力,有利于提高软件工程专业毕业设计质量,有利于提高软件工程专业学生就业率与就业质量。虽然软件工程专业毕业设计教学改革工作取得了一定的成绩,社会认可度逐年稳步提高,但如何动态调整教学计划以跟进市场需求变化;如何深入开展大学生创新创业教育活动以进一步增强更多软件工程专业学生的实践能力及创新能力;如何进一步加强专业教师工程实践能力、工程设计能力与工程创新能力以提高毕业设计指导效力;如何提高毕业设计过程管理效率等问题仍然是软件工程专业所面临的严肃课题[11]。因此,软件工程专业的毕业设计教学改革工作也一定会紧跟时代变化,与时俱进。 作者:佟玉军谢文阁王恩喜刘鸿沈姜悦岭工作单位:辽宁工业大学电子与信息工程学院 软件毕业设计论文:软件开发类毕业设计中敏捷软件技术的应用 摘 要:提出了在软件开发类毕业设计中采用敏捷技术进行过程控制的方法,从实际效果中可以看出,这种方法较好地解决了软件开发类毕业设计中遇到的各种问题,能够有效提高软件开发类毕业设计的质量,使学生在毕业设计中得到充分的锻炼和提高。 关键词:毕业设计;敏捷软件开发;极限编程;软件质量 0 引言 毕业设计是本科教学中非常重要的一个教学环节,是对学生所学知识的检验和总结,是培养学生独立分析和解决问题能力的重要手段,也是学生进入工作岗位前的最后一次实战演习;并且,它是本科教学水平评估指标体系的重要指标之一,是考核学校本科教学水平和质量的重要内容。 软件开发是计算机专业毕业设计中一个重要组成部分。学生开发的软件质量直接反映出毕业设计质量,而指导教师的指导和监控对学生开发软件的质量高低有很大影响。本文首先介绍了软件类毕业设计的特点、遇到的问题及其原因分析,然后将敏捷软件开发技术应用于指导和监控软件类毕业设计,最后通过具体的实践对其进行总结。 1 目前状况及问题 1.1 软件开发类毕业设计的特点 本科计算机专业毕业设计中,软件开发占很大比重。而软件开发类毕业设计与其他专业的毕业设计以及商业化软件开发又有很大不同,主要体现在: (1)设计的最终目的是要生成可运行的、实现一定功能的、错误率较低的实际软件产品,而不仅仅是提交一份文档报告。 (2)设计小组成员分工合作,要将各人的成果整合,形成完整的软件;小组每个成员不是完全孤立的,每个人的工作都与其他人息息相关。 (3)项目小组一般只包括一个人或几个人,人数较少,远少于一般商业化软件开发项目小组的人数。 (4)小组成员没有足够的团队意识,没有足够的软件工程经验,一般没有作为一个团队的成员共同开发过软件产品。 (5)项目开发过程不完全,编码的结束即意味着项目的结束。项目不要求有完整的工程化的分析和设计文档。 (6)有些软件开发没有与商业项目挂钩,也就没有真实客户的需求对其进行功能和性能上的监控。 1.2 遇到的问题及原因分析 根据上面的特点可以看出,普通毕业设计的指导方式或是工程化的控制手段,并不能适应软件开发类毕业设计,最终会导致毕业设计质量低下,学生得不到真正锻炼。比较突出的问题主要表现在以下几个方面: (1)项目组成员各人任务不明确,能力参差不齐,并且有时没有充分地交流设计思想,最后导致软件各个功能模块无法有效整合。 (2)项目需求因为各种原因不断改变,软件不断修改,最终完成的软件产品达不到设计要求。 (3)编码开始后,软件的错误和缺陷不断涌现、不断累积,最终无法控制。 这些问题的产生,固然与设计选题、学生能力、实验环境以及教师的指导力度分不开,最重要的还是与教师的指导和监控方式有关。应当采用恰当的指导和监控方式,最大化地促进学生能力的提高,最有效地根据各个学生的特点,推动学生逐步达到毕业设计软件质量和功能的要求。 2 敏捷软件开发技术的应用 采用适当的指导和监控方式,实际就是要求教师对学生软件开发应用适当的软件过程模型,也就是软件开发的工程化控制手段。 2.1 敏捷软件开发简介 传统的软件工程方法中的架构设计与程序开发在时间上是先后分离的,这种分离常常导致一些脱离实际的设计和脱离设计构想的编程,导致最终软件开发的不理想甚至是失败。鉴于以上问题,敏捷软件开发技术应运而生。 敏捷软件开发以交付而不是以构造为核心,它强调的是交付对客户有价值的软件,而不是用户需求中所描述的软件。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。敏捷软件开发方法提倡采用先进的技术和高水平的小型团队,并辅以人性化的管理,充分发挥软件开发者的才华,建立畅通的交流机制,使软件开发团队水平和软件质量共同提高。 敏捷式开发采用适应性方法,而传统的软件工程学采用的是预测性方法。敏捷式开发是以人为主的,而传统的工程学是以过程为主的。二者的主要区别存在于它们对软件开发过程的描述中,也就是说,敏捷开发实现当前最需要的功能,然后根据变化来修正和改进;而传统软件工程学一开始就将软件的各种架构预测好,然后采用固定的过程来实现这种架构。软件开发中的变化是不可避免的(通常传统软件开发的失败主要原因就是不能很好适应这种不可预知的变化),因此就要找到一种新的方法能够更有效地适应变化,这其实也就是敏捷式开发方法所要达到的效果。 可以看出,上述的敏捷软件开发的许多特点正是与软件开发类毕业设计的许多特点不谋而合,例如,小型的开发小组,适应性(适应不可预测变化)的开发机制,短期的交付(毕业设计一般都在半年甚至更短时间内完成软件的交付),充分发挥小组成员的特点,建立畅通的交流机制等等。因此,将敏捷开发思想引入毕业设计中的软件开发,不失为解决后者诸多问题的很好尝试。 2.2 敏捷软件开发应用 敏捷软件开发技术包含若干的价值观、原则和实践方法。将其用于毕业设计的指导和监控,主要应包含如下原则的应用: 2.2.1 增量式开发 传统软件类毕业设计采用传统软件工程学指导方法,先进行需求分析,然后根据需求进行功能模块划分,接着开始编程。如果最初阶段不能很好地完成分析和设计任务,后面的软件开发将出现严重问题。 而在敏捷软件中,采用的是增量式开发,对于难度较大的软件设计,不是一步吃透功能,而是逐步添加功能,在改进的过程中促进学生能力的提高。在笔者指导的一项毕业设计中,要求学生用Java编制网络实时通讯软件。采用增量式开发方法,先要求学生实现基本功能,即发送字符串到另外一台计算机,使用Windows的超级终端作为接收机进行测试;接下来要求学生实现程序互相发送和接收字符信息;然后,实现聊天室的多人聊天的线程控制;进一步可以实现数据库存储登录用户信息,并进行验证;最后,实现其他功能,例如网络硬盘,文件传输等等。在开发过程中,增量式设计能够让学生逐步进入高层次的内容,而不是一开始就进行高难度的开发。并且,通过逐步修改代码,可以提高学生阅读代码和优化代码的能力,学生的编程水平得到很好的提高。 2.2.2 可持续的开发速度 敏捷开发技术不要求团队一开始就尽全力完成任务,而是尽量保持一种稳定的、可持续的开发速度;团队的成员必须始终保持旺盛的精力和警觉的思想。 在很多毕业设计中,一开始学生就以极高的热情和全力以赴的状态去工作,然而随着进度的延缓,错误不断增多,以及越来越复杂的需求变化,学生的热情迅速减退,最终影响设计成果。因此,指导老师必须充分调动学生的积极性,又不能让学生 的精力过早地消耗,要保持一个稳定的进度。 2.2.3 简单 敏捷软件开发方法采用最简单的方式实现当前最需要的功能。在毕业设计中,针对某一个功能,采用尽量简单的方式去实现,不需要考虑为了将来的功能而进行“提前的准备”。因为这种“提前的准备”往往会让学生考虑问题过多,反而忽略了当前最重要的内容。 然而,简单并不代表着功能的缩减,当某些功能的实现成为必须的时候,敏捷软件开发方法采用在代码上改进的方式来完成,并且以此为机遇,充分进行反省,让学生在改进中得到进一步提高。 2.2.4 结对编程 结对编程是敏捷开发和极限编程(XP)的重要实践,它是指两个程序员结对使用同一台计算机完成编码――其中一位控制键盘并输入代码,另一位观察输入的代码并寻找着代码中的错误和可以改进的地方。这种方式能极大地促进知识在团队中的传播,并有效降低代码的错误率。 在毕业设计中,根据学生的特点,采用结对编程方式,可以让学生充分交流,互补所短,互用所长,互相学习。例如,在网页制作类的软件开发中,ASP脚本编程人员和界面设计人员结对,能够充分利用二者的特点,将脚本程序和网页界面元素有机地结合起来,形成功能完善,界面美观的动态网页。 2.2.5 适应改变 敏捷开发的一个重要特点就是它能够很好地适应改变,并且欢迎改变。这里的改变主要是指功能需求方面的改变。而敏捷开发对改变的适应,主要是通过增量开发,持续交付以及不断地改进与反省来实现的。 在毕业设计中,设计题目一经给出,主要方向不能变。然而选择题目的学生是变化的,个体能力有时候有很大差别,并且在开发中会碰到很多不能预知的技术问题。采用敏捷开发中的过程控制手段,可以有效地让毕业设计小组更好地应对各种变化,不会因为突发因素导致软件开发的失败。 2.2.6 个体激励和交流 毕业设计的重要目的是促进学生各方面能力的提高,采用的手段可以有很多。在敏捷设计中,强调个人能力在团队中的充分展示。把这种思想应用于毕业设计指导中,可以采取定期召开小型交流会议的方式,让每一个组员充分发挥自己的能力,以“头脑风暴”的形式对系统当前状态和改进方式进行畅所欲言的交谈。通过这种形式的交流,能够充分调动整个小组成员的积极性,及时发现系统开发过程中的各种问题,增强整个小组的凝聚力,有效提高学生的团队协作能力。 2.2.7 反省 好的团队并不只是埋头工作,他们会思考如何工作和为什么工作。在毕业设计指导过程中,指导教师应当在适当的时机提醒学生对开发工作中各项内容进行反省,让学生能够有机会去辨别可能或已经发生的错误。反省不仅仅是简单的思考过程,反省的后面应该紧跟着行动,学习是反省的行为,要能够将错误造成的危害尽早地阻止,并从中学习,以免同样错误的再次发生。 2.2.8 其他原则 敏捷软件开发技术还包含其他一些原则,在设计中包含了面向对象设计的一些基本原则,例如单一职责原则(SRP)、开放一封闭原则(OCP)等等。要将这些设计原则应用到具体的软件开发中,需要学生熟悉面向对象程序设计的相关概念和技术。 将敏捷软件开发技术应用到毕业设计的指导过程中,需要指导教师本身对它有较为深刻的理解,并且勇于进行大胆的尝试一毕竟敏捷开发的很多实践是与传统软件工程学方法相悖的。指导教师可以先在某一门程序设计课的课程设计中采用这种思想,然后进行相应的调整,再将其应用于毕业设计的指导工作。 3 结束语 将敏捷软件开发技术应用于指导毕业设计,能够充分适应软件类毕业设计的特点。在实际采用这种方法对我校的两组毕业设计小组进行指导的过程中,可以看出,这两组同学在对语言工具和相关知识不是很熟悉的情况下,采用渐进的方式,逐步实现设计要求的功能,并且不断对代码进行改进,软件完成的质量比其他小组明显要高。毕业答辩中,小组成员能够很清晰地阐述其软件开发进程以及相关知识的学习过程。并且,小组成员通过毕业设计加深了交流,团队协作能力有了大幅度的提高,小组成员个人的精神面貌也有了较大的改变。 软件毕业设计论文:软件工程思想在应用型高校毕业设计中的应用研究 摘要:针对地方应用型本科高校计算机软件类毕业设计质量不高的问题,对毕业设计中存在的问题进行分析,并结合软件工程的基础理论,提出利用软件工程思想对计算机软件类毕业设计进行指导,以提高地方应用型普通本科高校毕业设计的质量。 关键词:软件工程;毕业设计;应用 一、引言 毕业设计是本科毕业生在校期间的最后实践和综合实训阶段,是实现本科教育培养目标的重要组成部分,是深化、拓展、综合应用所学理论知识的重要过程;也是综合素质与工程实践能力培养效果的全面检验;是学生毕业及学位资格认定的重要依据;是衡量高等教育质量和办学效益的重要评价,是对专业理论知识和专业技术综合应用能力的强化训练和提升[1]。在毕业设计的过程中,学生利用所学专业理论知识,通过了解社会,分析社会需求,深入实践,完成毕业设计的任务和撰写毕业论文(设计)报告等各个环节的工作。对于地方应用型普通本科高校而言,毕业设计就相当于一般高等学校的毕业论文,但是毕业设计不同于毕业论文,它的组成部分不只是一篇学术论文。应用型高校的毕业设计注重的是“应用性”和“实践性”,学生毕业设计要求学生针对某一课题,综合运用本专业有关课程的理论和技术,自己动手动脑做出解决实际问题的设计。目的是总结、检查学生在校期间的学习成果,是评定毕业成绩的重要依据。同时,通过毕业设计,可培养学生开发项目的基本综合能力,为学生就业能力中的专业能力奠定坚实的基础;培养综合运用已有知识独立解决问题的能力,从而加强学生应用能力的培养,使学生能够学以致用。 二、地方应用型普通高校计算机相关专业学生毕业设计的现状 近几年来,由于学校对毕业设计要求不断提高,学生从选题到设计再到写出毕业设计报告的过程中总存在这样那样的问题,最终有个别同学没有顺利通过毕业设计,没有拿到毕业证和学位证的情况时有发生,并且大多数毕业设计的水平不高,达不到培养学生独立解决问题和提高学生应用能力的目的。因此,如何指导学生做好毕业设计,提高学生毕业设计水平和质量,是地方应用型普通高校面临的一个重要问题。 (一)毕业设计选题现状 最近几年,我校计算机相关专业毕业生自进入大四秋季学期开始,在进行毕业实习的同时,也进入了毕业设计准备阶段:毕业设计选题,虽然毕业设计选题过程中,各级领导、指导教师和学生在态度是都很重视,但是在选题时也会存在很多的问题,主要有以下三个方面。 1.选题不够准确。部分学生选题未经深思熟虑,所选毕业设计题目要实现的功能太多,在规定时间内不能独立完成,而最终只能实现部分功能,或部分模块。 2.题目相似或重复雷同。学生选题存在浑水摸鱼的思想,在毕业设计选题过程中不是根据自己的兴趣爱好、专业知识学习情况等确定研究选题,而是选择与他人类似或雷同的选题,甚至同一批毕业的许多学生选题一致。比如:“XX管理系统”等,除了可能冠以的系统名称不同之外,其余基本相同。 3.应用价值低。部分学生的选题是当前十分成熟的项目,没有研究的必要;有些选题已经被淘汰,在实际生活和工作中没有多大用途。 (二)毕业设计需求分析阶段现状 通过调查,许多学生选题完成后,没有对自己所做毕业设计选题进行仔细了解、分析,他们认为在毕业设计中最重要的就是编程,其他方面一带而过[2],从而造成毕业设计过程中主题经常进行修改,最终使得整个系统杂乱无章,无法继续进行下去。因此学生在毕业设计的需求分析阶段主要有以下三个方面的问题。 1.选题后未进行实际调查研究,甚至未查找相应的参考文献。 2.需求分析进行得不彻底、不准确,即使选题后查找了参考文献和资料的,也未做充分了解和分析。 3.在需求分析阶段没有写出需求规格说明书或系统分析报告就匆忙进入系统设计阶段,导致随着系统设计的逐步深入,原来确定的需求不能满足毕业设计的需要,正在进行的设计与开始的期望和设想又不相符。 (三)毕业设计系统设计阶段现状 在系统设计阶段,普遍存在以下两个方面问题。 1.由于需求的不明确,在进行系统设计时,修改随意,没有严格按照软件开发的步骤进行。好多学生在进行系统设计时并没有建出相应的功能模型,不管是用例图还是DFD图都没有,而且系统设计过程中功能随意变换,并且各功能模块的层次结构不清晰,使得整个系统的功能模块划分凌乱,不符合软件设计中“高内聚,低耦合”的原则。 2.在软件设计过程中,不先进行概要设计、详细设计和模块设计,没有软件的过程性描述,直接进行编码,存在想到哪里就做到哪里,走到哪儿算哪儿的随意思想[3],当前内容没有做完便开始其他内容,使得整个系统设计杂乱无章。在这样的一种研究状态下,即使完成了设计,效率也非常低下,软件结构混乱,功能实现不完全,降低了软件设计的质量。 (四)毕业设计实现阶段现状 通常把编码和测试统称为实现。在进行软件设计后,就可以根据设计结果来实现,将软件的过程性描述编码,得到计算机可以运行的源代码。在实现阶段主要有以下几方面的问题。 1.编码随意。学生在编码的过程中,不注意编程风格的把握,导致程序的可读性、可理解性、可修改性等较差,在答辨的过程中,要求指出某个功能模块的代码时,经常要花费很多时间才找得到。 2.测试和调试可有可无。大部分学生在毕业设计的软件编码完成以后,从没有想过进行完整的系统测试,或者只对个别功能进行测试或是随意测试,没有按照测试步骤逐步进行;基本没有单元测试和集成测试,一般只是最终随便输入几个数据简单检测一下,如果有错,修改了就算完了;也没有进行回归测试,没有测试计划,没有想过用什么测试技术来检测某一类型的错识,没有相应的测试用例,也没有测试结果分析。由于学生毕业设计都是一人一题,基本上是一个人完成所有步骤,就算有测试,在测试阶段也是自己进行测试,从心理学的角度来说,自己对自己开发的软件进行测试是不可取的。 由于前面阶段的文档不完善,也不重视测试过程,不清楚是否实现了系统最初设计的功能,是否达到相应的性能要求,总以为程序做出来后毕业设计就完成了,使得毕业设计经常在更换运行环境或答辩时发生错误和问题,从而使得设计得不到好评甚至无法通过。 (五)毕业设计应用现状 最近几年,我校计算机相关专业毕业设计投入使用数量接近于零。究其原因主要是由于设计不完全,未进行测试和调试,存在的错误和缺陷较多,文档和数据不完整,导致所开发的系统或软件不能方便地转让、变更、修正、扩充和使用,也没有为后期培训、维护留下完备的资料;因此,不能投入到真正的使用过程中,也不能实现系统或软件产品的效益。 三、软件工程思想的应用 软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程中的软件生命周期是一个软件从软件定义、开发、运行和维护,直到最终被废弃的整个过程[2]。地方应用型普通高校计算机相关专业学生毕业设计基本都是开发一些中、小型应用系统或软件,因此,学生毕业设计也要经历软件生命周期各个阶段,严格遵守软件工程的各个原则,这样有助于解决毕业设计中存在的问题,提高毕业设计的质量。通过对应用型普通本科高校计算机相关专业的学生在进行毕业设计的过程中存在的问题进行分析,在毕业设计的过程中,必须运用软件工程的观点、技术和方法来指导毕业设计,这样既节约了毕业设计的时间和学生的精力,也能做出最优质的毕业设计。 1.选题过程中的应用。毕业设计选题就是软件生命周期的问题定义中的问题提出阶段,选好题目是进行深入研究的基础,也是写出高质量毕业论文的前提。地方应用型普通本科高校计算机相关专业的毕业设计选题必须做到以下几点:(1)必须在对选题做了充分调查、分析,对检索的参考文献、资料有了整体把握的基础上提出。(2)必须符合本专业培养方案规定的培养目标的要求。(3)以选择工程性较强的课题为主,确保有足够的工程性训练。(4)要有明确的设计成果,对于较大型任务的课题要明确阶段性成果。(5)要达到规定的工作量,难易度适中,确保能在规定的时间内完成整个课题工作。(6)要围绕生产生活实际,所选题目一定具有一定的理论意义和实践意义,具有一定的价值。(7)原则上一人一题,对于较大型任务的课题,每个学生必须有独立子课题。结合以上几点,分别从专业基础、现实意义等方面进行全面分析,进行取舍,最终得出选题。 2.开题过程中的应用。在毕业设计的开题过程中,需要明确所选题目的选题依据(包括选择课题的背景、选题研究的理论及实践意义)、选题研究现状(包括目前国内外对本选题的研究情况和有待解决的问题)、研究内容与方法,而这些就是软件工程中需求分析阶段应该做的事情。 需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作[3]。因此开题过程中最重要的是进行需求分析,需求分析具有决策性、方向性、策略性的作用,在软件开发的过程中具有举足轻重的地位。需求分析完成的好坏直接影响后续软件开发的质量。开题过程中需要指导学生大量地阅读相关的研究资料,同时根据资料进行分析研究,对当前毕业设计的研究进度做到心中有数,明确毕业设计的具体方向,写出毕业设计的研究内容与方法,得到相应的设计提纲,解决好设计什么,如何设计的问题。因此,应用好软件工程的思想来指导毕业设计的开题是至关重要的。根据学校对学生毕业论文的要求,在计算机相关专业的毕业设计报告中,要求要有数据流图、数据字典等相应内容,而软件工程中的数据流图(Data Flow Diagram,简称DFD),它是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。它是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理[3]。因此,在这个阶段,要指导学生按照DFD图的要求,确定设计的功能,然后根据系统分析结果写出分析报告,就得出毕业论文中系统分析阶段的初始文档。 3.在实践研究环节的应用。根据需求分析(开题阶段)的结果进行软件的概要设计和详细设计,注意在设计过程中要严格按照软件工程对于设计阶段的指导原则来进行设计。将概要设计阶段需求分析得到的DFD转换为软件结构和数据结构,即是根据需求确定软件和数据的总体框架,设计出软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。然后再进行详细设计,设计出每个模块的实现算法、所需的局部数据结构,并且对每个模块写出过程性描述;为每个模块设计出一组测试用例,在进行测试时就以此测试用例来进行测试。详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后将根据这个“蓝图”写出实际的程序代码。因此,指导教师要对学生的设计过程进行监督和指导,防止学生盲目的进行编码。 4.在实现阶段的应用。在编码的过程中,要注意编程风格的把握,编程的风格在很大程度上影响程序的可读性、可测试性和可维护性。 在测试阶段,可以进行交叉测试,即学生之间可以两两交叉,相互测试,以更好的达到测试效果,同时也培养了学生的团队意识和合作意识。 在测试过程中要注意运用软件工程的测试原则和测试思想,严格按照单元测试集成测试确认测试系统测试验收测试的测试步骤进行,利用白盒测试技术进行单元测试,黑盒测试技术进行其他测试,并且在找出错误并修改后要进行相应的回归测试,确认修改了错误并且没有引入新的错误,这样有利于找到软件中的各类错误,提高软件的质量。因此,在软件的测试过程中,一定要严格按照软件工程中的测试原则来进行,不可随意进行测试,并且要注意测试文档资料的收集整理,要有相应的测试计划和测试报告。对学生的创造性的思维和想法,指导教师要给予支持,积极引导,鼓励学生大胆创新,用应用型人才培养目标来要求学生,保证高质量的毕业设计的完成。 5.在毕业论文(设计)报告方面的应用。对于应用型普通本科高校计算机相关专业的毕业设计而言,不单单是完成了一个系统的设计,还要有相应的设计报告,而设计报告的编写过程中,很多学生存在文字表达能力不强的现象,为了完成报告,就有可能会抄袭,特别是在软件开发的各个阶段文档材料不全的情况下更为严重。因此,在学生进行软件开发的各个环节中,指导教师都应该按照软件工程的观点来进行指导,并要求学生在各个阶段都完成相应的文档。这样在毕业设计报告撰写的过程中,只要将各个阶段的文档进行合并、整理就得到相应的设计报告,并且是一篇重复率不高的高质量的设计报告。 6.在毕业设计实际应用方面的应用。因为学生在整个系统或软件过程中均按软件设计规范准备了文档和进行了完整的系统测试,从而为系统或软件的专利申请提供了充分必要的资料,并为毕业设计的实际应用打下良好的基础。 四、结语 计算机相关专业学生的毕业设计在学生的整个大学生活中具有极其重要的地位和作用,根据应用型普通本科高校人才培养的定位,主要是培养学生的独立思考能力、动手能力和应用能力。通过对软件工程思想在计算机相关专业学生毕业设计的过程及方法中的应用研究,逐步实现学生毕业设计的实际成果转化,从而为应用型计算机相关专业人才培养提供相应的借鉴。 软件毕业设计论文:采用Protel软件提高高职应电专业毕业设计质量的研究与实践 【摘要】高职院校的毕业设计是高职教育教学的一个重要环节,是高职人才培养计划的重要组成部分。做好毕业设计,对高职培养高素质技术技能人才,具有十分重要的作用。在应用电子技术专业毕业设计中,引入Protel软件,极大地提高了学生毕业设计质量。 【关键词】高职 应用电子技术专业 毕业设计质量 电子线路CAD 高职院校毕业设计是高职教育教学的一个重要环节,是高职人才培养计划的重要组成部分,也是高职实现人才培养目标的最后一个阶段[1]。它既是对学生在大学期间所学知识、技术与能力的检验,也是对高职院校教育教学质量的全面、综合的检查[2]。它既是学生对理论知识综合运用的过程,也是学生理论结合实践分析解决实际问题和培养初步科学研究能力的重要阶段,又是对学生团队协作能力、创新思维能力等综合素质的全面检验。做好毕业设计,对高职培养高素质技术技能人才,具有十分重要的作用。对以培养面向现代电子产品生产企业从事电子产品的生产及组织管理的应用电子技术专业来说,在毕业设计中引入Protel软件开展“基于产品研发过程”的课题研究,意义重大。本人在指导应电专业学生开展毕业设计中积极进行了这方面的探索,取得了良好的效果。 1.将Protel软件引入应电专业毕业设计的可行性 Protel软件最早是Altium公司在80年代末推出的,经过了Protel DOS版,Protel 98,Protel 99 SE,Protel DXP等多个版本,目前最高版本是altium designer。在电子行业众多的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件。该软件具有电路原理图SCH绘制、原理图元件制作、电路仿真、PCB印制电路板设计、元件封装制作、可编程逻辑器件设计、图表生成、电子表格生成等强大的电子产品开发的功能。 应用电子技术专业毕业设计内容涉及电子电路的设计,包括运用电路基础、模拟电子、数字电子、单片机、可编程逻辑器件等相关知识与理论,同时还要在万能电路板上进行元器件的安装和电路板的焊接。在这个过程中往往还需要加一个面包板的环节,就是学生要先在面包板上对所设计的电路进行验证,若电路验证成功,则再到万能电路板上进行。在毕业设计中运用Protel软件,将极大缩减电路验证的流程,并大幅提高电路的可靠性。Protel软件起到了很好的桥梁作用,有效衔接了电路设计与电子工艺制作,电路设计的合理性与否得以较可靠验证,而PCB板的制作使得电路连接简单轻松,焊接的工作也简便了不少。对学生来说,毕业设计的过程,成为检验和巩固并提高其系统专业知识的过程,同时还锻炼了逻辑思维、整体意识和时间管理能力。 2.引入Protel软件后应电专业毕业设计的步骤 学生选定毕业设计课题后,一般需经过以下七个步骤完成最终的毕业设计作品。 2.1 确定电路设计方案 根据所选课题的设计要求,结合专业已学的电子线路、单片机、PLC技术、CPLD可编程技术等相关知识,确定可实现的几个方案,通过在经济上、电路可靠性上、电路性能方面等比较各方案,选择出最佳的电路设计方案。 2.2 绘制电路原理图 根据电路设计方案,打开Protel软件,进入原理图编辑器,先设置图纸参数,后查找或制作所需元件,并把它有序放置到原理图上来,调整元器件之间的位置和间隔,再放置接插件、电源、接地符号等。然后,对电路进行连线,连线完毕放置网络标号。生成材料清单,检验所用元器件的Designator、Value、Footprint、Simulation等重要参数是否设置合理;生成网络表,检查电路信息,若发现错误及时纠正。最后,对整个电路进行编译ERC校验,确保电路正确。 2.3 电路仿真及方案修正 Protel DXP提供了10 种分析仿真方式,包括直流工作点、直流扫描、交流小信号、瞬态过程、Fourier、噪声、传输函数、温度扫描、参数扫描以及蒙特卡罗分析等。电路原理图绘制完毕后,设置仿真方式并指定要显示的数据节点,系统进行电路仿真,生成sdf 文件,同时打开窗口显示分析结果。观察电路仿真结果,分析仿真波形是否符合电路设计要求,如果不符合,则重新调整电路参数进行仿真,直到满意为止。 2.4 设计PCB板并打印图纸 电路仿真达到满意结果后,就可以进入PCB印制电路板的设计了。一般的步骤是先进入PCB编辑环境,定义PCB印制电路板,可自定义板框大小,也可以采用软件自带的PCB板制板向导来实现;接着从原理图导入网络表信息;再是对元件封装进行合理美观布局;然后进行布线规则的设置,线宽大小建议在12mil以上;最后是自动布线,布线成功后就可以使用热转印纸按1:1的比例依次选择不同层进行打印。 2.5 制作PCB板 PCB图纸打印好后,分五步完成。第一步是曝光,选择合适大小的曝光覆铜板,打开多功能制板系统抽屉式曝光机,将图和覆铜板放入,曝光约90秒左右后完成;第二步是显影,调制好一定浓度的溶液,并加热到50摄氏度左右,将线路板放入显影槽进行显影;第三步是蚀刻,蚀刻时间一般需要十几分钟;第四步是钻孔,根据焊盘大小选择不同的钻头进行钻孔;第五步是表面处理;若为双面板,还要进行第六步,过孔。线路板经过以上步骤后,可用万用表检测电路是否均连通,以保证后面的步骤顺畅进行。 2.6 元器件接插并焊接 把选用好的元器件接插到合适的位置,用电烙铁、松香等对元器件进行焊接,这里要注意不要出现虚焊、假焊和漏焊现象,要尽可能做到焊点表面完整、连续和圆滑。 2.7 电路调试 电路焊接完毕,则需要用万用表、示波器等工具对电路进行调试,发现故障,进行电路分析并排故,直到电路功能正常为止。一般来说,毕业设计的电路相对简单,在前面几个步骤都顺利的情况下,电路调试基本都能成功。有出现问题的,往往都是电路设计方案本身存在问题,并在仿真阶段也是含含糊糊过去的。 3.引入Protel软件后应电专业毕业设计的实效 将Protel软件引入到应用电子技术专业毕业设计后,总体来讲,学生毕业设计的质量大大提高。具体体现在以下四个方面。 一是学生对专业的自信加强了。毕业设计系统地考验了学生对所学专业知识的掌握和运用能力。引入Protel软件后的毕业设计里,学生既有对专业理论知识的提取、运用和消化,又有基于产品研发过程的专业实践的锻炼,理论与实践相结合,学生的专业自信明显提升。 二是学生的综合素质增强了。毕业设计过程中,碰到的可能是对某个元器件用法和功能的不熟悉,也有可能是对电路参数大小比较模糊,这些都需要学生去查找文献,提高自学能力;另外,在电路设计、电路仿真过程中,可能会出现参数不符合要求,需要修正和调整,这个过程可能是反复的,考验的是学生对某项任务的坚持不懈和百折不挠的精神;此外,还培养学生的严谨和细致。 三是学生毕业论文的内容充实了。学生对毕业设计的整个过程进行梳理和笔录的内容就可构成毕业论文的核心内容了。学生经过毕业设计的亲身实践,有过程,有感触,必然言之有物。 四是学生毕业就业的专业对口率提高了。引入Protel软件后毕业设计,不仅让学生对专业更有自信,同时学生对Protel软件的掌握也加深了,对制板的流程也熟悉了,在就业过程中,Protel绘图员工、制板工等相关岗位的工作也能承担了。 4.结束语 在应用电子技术专业毕业设计中引人Protel软件,改变了过去毕业设计只注重理论设计的纯教学性的做法,采取理论设计与实践制作相结合,动手能力与创新精神相结合[3],充分发挥学生主体性作用的方式相比,取得了良好的效果。 软件毕业设计论文:本科毕业设计中FLUENT软件相关课题可行性及问题探讨 【摘要】本文探讨了在本科毕业设计中加入运用FLUENT软件进行工程计算分析的相关课题的可行性。实践证明,学生通过运用FLUENT软件进行工程计算,夯实了理论基础,增强了解决本领域传热和流动问题的能力,提高了学生的学习兴趣和未来的专业竞争力。在做好本文所提及的三点问题(学生和课题的选择、指导过程中的问题)的前提下,在毕业设计中加入FLUENT软件工程计算相关课题不仅可行,还值得在一定范围内推广。 【关键词】FLUENT 计算流体力学 计算传热学 毕业设计 1.引言 本科毕业设计是在本科教学过程的最后阶段进行的总结性的实践教学环节。在毕业设计环节中,学生应当综合运用本科阶段所学的各科知识和技能,对所需解决的课题进行思考、分析、设计和研究,从而全面、系统地完成课题交给的任务。可见,毕业设计是对学生本科阶段学习质量的全面性的检验,也对学生能否顺利拿到毕业证书和学位证书起到直接和决定性的作用。 计算传热学又称数值传热学,是研究用数值方法求解传热问题的一门科学。它可以理解为:根据所需求解的实际问题建立合理的数学模型,利用离散化处理的数值方法,再通过用计算机高级语言编制的程序,以计算机作为工具来求解传热问题的、与工程实践密切结合的一门应用基础科学[1]。而市场占有率高达40%[2]的数值计算软件FLUENT是解决传热领域数值计算问题的较好的通用软件之一[3]。 运用FLUENT等CFD软件,可以在不具备实验条件或暂不需要对研究对象进行实验的情况下,借助计算的方法进行相关工程分析,从而极大地节约人力、物力、财力和时间成本。因此,在本科学习最后的毕业设计阶段,若能让部分学生学习并基本掌握FLUENT软件对本领域问题的计算过程,将会在很大程度上促进学生今后对相关问题的建模和分析等工作。 2.毕业设计指导工作应注意的问题 由于FLUENT软件的专业性,在指导与FLUENT软件工程计算相关课题的时候,应注意以下几个问题: (1)学生的选择 要能较好地掌握FLUENT软件相关计算过程,首先需要具有较为过硬的微积分、流体力学、传热学、计算传热学(也称数值传热学)等相关学科的基础知识。这不仅要求学生较好地理解课堂所讲知识,还要能够灵活运用课内外相关知识。有的学生学习能力和成绩相对较弱,并不具备过硬的知识储备和学习能力;有的学生未来从事的工作与本专业距离较远,或者对相关的数值计算兴趣不大,因此缺乏从事相关课题毕业设计工作的原动力;这些因素都会影响整个毕业设计工作的正常进行。因此,对于与FLUENT软件工程计算相关联的毕业设计课题,并不是所有学生都适合来做。为了有效地开展相关的毕业设计课题,在学生的选择上往往优先推荐让学习相对努力的、有兴趣和求知欲的以及未来将继续深造或从事相关科研工作的学生来进行。 (2)课题的选择 在本科教学阶段,由于受限于书本和教学大纲的安排,教师在对流体力学、传热学等课程的讲授中往往较少涉及数值计算相关知识,书本上只有一章内容与之相关,课堂上一般只传授数值计算的基本概念、简单情况下的离散方法、离散方程的建立等较为浅显的知识,这与FLUENT软件中对相应问题处理方法的深度和难度相去甚远;然而,在毕业设计的短短一学期时间内,要让学生完全掌握相关知识是比较牵强的。因此,在FLUENT软件工程计算相关课题的选择上,应选择相对基础性的、与实践结合紧密的、具有科研应用前景的课题作为毕业设计课题。这样既可保证毕业设计工作的正常开展,也能使学生在软件方面得到基本训练,为后续科研工作以及研究生阶段的学习打下良好的基础。 (3)指导过程中的问题 在毕业设计的指导过程中,笔者发现有部分学生在使用软件进行计算时,较为注重结果的可视化,而恰恰对计算中关键参数的设置、计算方法的选择等关键问题较为忽视。造成该现象的原因可能是,无论在软件中设置怎样的参数、选择怎样的计算方法,总能通过软件的计算得到一个可视化的结果,即使参数设置或计算方法的选择欠妥或有误,只要计算过程没有脱离现实太远,计算结果看上去都有一定的可信度,再加上学生对具体计算过程的“不求甚解”、不仔细推敲,往往易使人误认为该计算过程是正确的。因此,在指导过程中,应对学生使用软件的具体计算过程进行仔细地把关,确保计算过程和结果的正确性。 3.毕业设计算例 算例一:建筑空心砌块传热问题 图1a为所需计算的典型建筑空心砌块的尺寸标注图。该砌块是某典型普通混凝土空心砌块,三排孔结构,每排均由大小相等的两个孔组成,孔厚30mm。热量由室外侧(左侧)传向室内侧(右侧),室外侧为稳态或非稳态热边界条件,室内侧为稳态热边界条件。 图1b为数值计算得到的该砌块传热的某时刻温度分布图。可以看到,温度从左到右大体上呈现由高到低的分布状况。由于空心砌块为非均质构件,砌块材料的热导率与空气层的当量热导率不相等,造成了内部等温线的非均匀分布。 (a)空心砌块结构俯视图(单位:mm) (b)典型砌块温度分布图 图1 空心砌块结构俯视图 算例二:加气混凝土墙体结露问题判断 待计算的房屋的加气混凝土自保温墙体结构类型如图2所示,图中的B05表示型号为B05的加气混凝土砌块。计算中,加气混凝土砌块可以认为是热均质结构,这样导热系数相对较高的混凝土柱或梁便成为了结构体系中的热桥。由图3、图4可以看到,加气混凝土自保温墙体内表面温度最低点均发生在热桥部位室内表面宽度的中心处或阴角处。将该处的温度与当地室内空气的露点温度相比较,既可判断是否会产生结露现象。 图2 框架结构房屋自保温墙体结构 图3 B05厚度为50 mm墙体的温度场 图4 B05厚度为100 mm墙体的温度场 4.总结 利用FLUENT软件对实际工程问题进行数值计算,大大节约了经济开支和时间成本,也为学生对本领域的传热和流动问题的解决提供了有效手段,夯实了学生的理论基础,增强了其解决问题的能力。通过与从事相关毕业设计课题的学生的交流得知,学习FLUENT软件的工程计算对学生更好地掌握相关物理过程起到了很好的帮助作用,拓宽了学生的视野,也提高了学生对相关问题的兴趣,有助于提高他们的专业竞争力。由于兴趣的作用,采用FLUENT软件进行工程计算的学生的毕业设计得分总体较进行其它课题的学生的得分高约15%。由此可见,在做好本文所提及的三点问题(学生和课题的选择、指导过程中的问题)的前提下,在毕业设计中加入FLUENT软件工程计算相关课题不仅可行,还值得在一定范围内推广。 软件毕业设计论文:高职院校软件专业毕业设计 问题分析与改进建议 摘 要:高职院校毕业设计中存在着一些问题,例如,课题质量不高、学生在校外实习、课题与就业方向不符等。这些问题的产生是因为学生不重视毕业设计,进而导致设计质量下滑。针对毕业设计中出现的问题,笔者以高校管理者与指导教师的视角,对毕业设计制、学生及指导教师进行了深入调研,并且提出了改进方法。 关键词:高职院校 毕业设计 不重视 改进 1 前言 毕业设计是学生综合运用所学知识解决实际问题的环节,其质量直接关系到本专业人才培养水平。大多数高职院校的毕业设计放在最后一个学期,导师基本由校内教师担任。但最后一年学生把重心放到对自己未来更有影响的就业上,或是参加专升本寻求深造机会,校内导师被迫远程指导,缺乏监督力度。同时,设计课题内涵良莠不齐,部分课题不符合社会需求,让学生感觉实用性不强,学生不重视,进而质量下滑,降低了教学水平。因此,我们有必要通过调研发现问题、分析问题,进而解决问题。 2 现状调查 对重庆5所高职院校部分教师及所带学生进行了问卷调查。样本中包含200名毕业生、50名指导教师。数据如下: 3 调研问题分析 影响质量的主要因素有学生不重视,学生不能在校设计。需要分析学生为什么会不重视,并剖析其不能在校设计的原因。 3.1 课题内涵与需求有偏差 如表1所示,课题与学生工作方向是否吻合,以及是否一志愿选题,对成绩影响较大。调研中发现:部分学生毕业后从事Java开发,而选题时选了C#开发(选题先于实习);部分学生毕业后从事非IT工作,从而对所选课题丧失兴趣;部分学生单位实习后技能提升,回过头发现课题内涵与商业开发存在差距。此外,部分学生未能选中一志愿课题,调配课题与期望不一致,所以就抱着对付一下的心态。综上,课题本身质量是影响学生最后设计成绩的重要因素。 3.2 设计时间安排不合理 表1及表2的数据充分证明,不合理的时间安排,是导致质量下滑的重要原因。最后一个学期是找工作的关键期,在就业压力下学生忙于参加招聘会和面试。找到工作后,用人单位往往还要求到岗实习。同时,最后一学期也是专升本的关键期,寻求深造的学生亦会忙于复习参考;另有学生为提高竞争力,会选择参加推荐工作的技能培训;这都是造成学生不重视以及不能在校实习的重要原因。 3.3 自拟课题质量偏低 表3数据分证明,对外承接工程,或教师科研需要课题,具有充分驱动力可让教师在课题建设中投入更多精力,进而提高了课题与社会生产的适应性,提升课题的科学性和实践性。自拟课题往往是为了毕业设计而设定的课题,教师缺乏动力对课题进行改进,易与社会脱节。表3的统计数据也证明了选择自拟题目的学生,其优良成绩的比率显著低于其他学生。 3.4 其他因素 沟通不畅:师生双方无法面对面地沟通,存在着教师因工作忙碌疏于督促,或学生缺乏主动性的情况。(1)教师经验缺乏,高校中具有丰富项目经验的教师本来就比较少,近年又引入了大批年轻教师,这些教师毕业后直接从事教学,更缺乏项目开发经验,在指导中明显表现出不足。(2)优秀教师任务重,优秀指导教师既要承担毕业设计指导工作,又要进行繁重的教学任务,容易顾此失彼。 4 问题整改建议 4.1 加强课题库建设 课题分为对外承接工程、科研需要、自拟等几个类别。对自拟课题,须经学校专家组评审及指导,以增强与生产实践的联动性。增大来自对外承接工程及科研需要类课题,这类课题具有较强实践性,教师出于自身利益,也会对课题投入更多精力,对学生的要求也会严格,这必然提高设计质量。另外,考虑到学生未来就业不同,宜对课题难度适当分档。对不同档次的课题,设置起评成绩;有志于投身IT行业的,可选中高难度;其他学生可针对性地选择适合自己的课题。 4.2 改进设计模式,消除时间冲突 在设置课题时,要确定本专业所针对的主要就业岗位,以及岗位所需技能,再结合实际选择对应实训项目,作为本专业学生大学期间不同实践课程教学项目。学生在专业课教师的系统指导下,逐渐完成毕业设计的雏形,在最后一个学期里,再根据学生就业实际情况,予以整合,就成为了一篇具有一定质量的毕业设计。如此,不仅降低了最后一个学期的工作压力,还提升了学生在校期间教学质量。 4.3 加强指导教师能力建设 在毕业设计中,教师要加强对学生的监督与管理,可采用如定期开见面会、网上探讨等方式,学生将设计中遇到的问题、取得的成果等汇报给教师以便教师对学生情况进行分析指导。组织教师参加校内外专业培训,提高教师理论水平和实践能力。招聘教师时,倾向于在企业从事过一线工作、既有学历又有工作经验的人员,更好地将学校的理论知识与企业所需要的专业技能相结合。 5 总结与展望 毕业设计是十分重要的环节,应注重课题的针对性与适用性,使毕业设计内容与学生毕业后所从事的技术岗位相一致。同时,我们也需要加强毕业设计的机制建设,让设计贯穿整个大学教育,减少最后一学期压力。注重对教师的培养,提升指导技巧和技能。只有这样才能培养出符合社会发展、受用人单位欢迎的人才。 软件毕业设计论文:应用型本科软件专业毕业设计(论文) 质量保证体系的研究 [摘要]毕业设计是本科生培养中最重要的实践教学环节。本文针对“卓越工程师培养计划”中工程和创新的培养目标,结合“卓越计划”的“3+1”的“1”的实施,对毕业设计进行改革,通过2级毕业设计的实践,毕业设计的改革效果较好。 [关键词]毕业设计质量保证体系卓越工程师 一、前言 本科院校在对学生整个教育教学计划中,应用性本科软件专业毕业设计(论文)是学生大学生活的总结,也是在实践教育方面的最后一个环节。 目前,本科毕业设计中大学生对自己的毕业设计能够自主把握的空间十分有限,设计主体部分严重脱离工程实际情况,依靠以往经验、书本知识、网络信息等方式获得的信息量占据了信息总量的大部分,这不仅仅是因为学生或者导师愿意去投机取巧,也跟毕业设计活动经费的短缺和时间的不充足有着直接关系。纵观高校的工程教师队伍,他们自身的实践经验也很难保证做到将现实生活的实际问题引用到本科毕业设计中并展开工作。这就产生了一种很不好的现象,毕业设计的题目往往都是重复使用多次的,好一点的可能也只是简单的变化。本科毕业设计对于学生能力的培养和综合素质的提高帮助不大,在毕业后的工作实践中,学生的创新工程能力单薄的缺陷就会凸显出来,没有办法满足现代工业发展对人才的需求。高校的这种与社会需求严重脱节的现象必须要尽快解决,校内教育与科研、社会实践要在整个高校学习教育中相结合展开进行,才能满足社会新的需求。 二、卓越视野下软件工程专业毕业设计(论文)质量保证体系的构建 (一)加强校外实习基地的建设 卓越工程师的“3+1”培养方案中,“1”年的实践环节完成的好坏,很大程度取决于实习基地的建设。为了卓越工程的顺利设施,计算机学院已经与企业建立了广泛的联系,目前已经建成的实习基地有:塔塔信息技术(上海)有限公司、上海启明软件股份有限公司、上海京颐信息科技有限公司和上海文思信息技术有限公司;上海屹为信息技术有限公司;谷儒(上海)网络技术有限公司;曼恒蔚图软件技术有限公司;用友软件公司等。这些实习基地的建设,为毕业设计的课题来自生产第一线,提供了强有力的保证。 (二)建设高水平的“双师型”的毕业设计指导队伍 我们采取两种模式共同进行:一是坚持教师队伍“专任和非专任”结合。专任教师主要是以长期在工程现场实践或者有较好科研成果的教师组成;非专任教师主要是从合作单位企业聘任高水平工程师来校做兼职教师。二是加强“双师型”师资队伍建设。双师即“教师”、“工程师”,首先要加强对一线教师的工程能力素养和工程实践能力的培养,以满足在毕业设计指导过程中对教师综合能力的需求。另一方面,我们在聘请教师方面有侧重点,优先录取有企业工作经验的兼职教师,来提升有工程实践经历的教师在整个专业课教师中的比例。为了最大化地为毕业设计服务,学校还从企业聘请工程师或者让一线教师到企业参加工程实践活动等手段,致力于打造为毕业设计服务的精锐之师。 (三)严把选题关 毕业设计的题目,一般来自企业。由企业指导教师提出,经企业指导教师和学校指导教师共同商量后确定。选题要结合学生在企业实习的项目,注重实践性和创新能力的培养,同时题目应难易适中,切实可行,工作量适宜。 (四)注重教师的指导过程 选题完成后,企业指导教师下达任务书、指导学生确定毕业设计方案。在学生做毕业设计的过程中,企业教师负责具体的技术指导,学校指导教师负责时间节点的把握,协助企业教师完成对学生的共同指导。 (五)建立有效的沟通联系制度 由于本科生初次接触整体性和设计性较强的工作,肯定会遇到这样那样的问题。这时,建立有效的沟通制度,发挥指导教师的引导作用就显得非常重要。学生把毕业设计中遇到的问题,向指导教师提出,由企业指导教师和学校指导教师共同商量解决的办法。在毕业设计的过程中,应建立指导教师与学生讨论的例会制度,坚持每周师生沟通一次。每位学生总结前一阶段的工作,提出毕业设计中遇到的问题,指导教师要进行引导和总结,鼓励学生发挥主观能动性和创造力。这样,指导教师可以及时掌握学生毕业设计的进展情况。 (六)做好毕业设计的过程检查与中期检查 对本科生的毕业设计工作的中期检查,要坚持中前期和中后期两次检查。检查的形式是学生以PPT方式汇报自己目前毕业设计的进展情况,并回答老师的提问。对中期检查发现的问题,企业和学校的指导教师共同商量解决的方法。 (七)毕业设计(论文)答辩 答辩的地点一般设置在学生的实习企业,答辩委员会由企业指导老师和学校指导教师共同组成。每位学生的毕业设计答辩采用PPT形式进行汇报,对一些条件许可的企业,要有毕业设计的演示。 (八)以过程管理思想为指导,构建“方法-时间-层次”三维毕业设计质量监控体系 通过健全机构、合理资源配置、完善工作机制、强化毕业设计质量监控体系的毕业设计运行监控、毕业设计指导决策、毕业设计质量考核评价、毕业设计信息反馈功能,见图1。 三、结语 软件专业是一门实践性很强的专业。要想在短时间内较高质量地完成毕业设计,选题是一个很重要的环节。为了提高学生的做毕业设计的兴趣,高质量完成毕业设计,课题选择来自一线企业,显得非常重要。同时,建立一个毕业设计的保障体系,使得毕业设计在进行的过程中,质量能够得到保证。经过两届的毕业设计实践探索,学生做来自一线企业的毕业设计题目的兴趣很大,而且毕业设计的质量得到很大的提高。 软件毕业设计论文:《软件工程》思想在毕业设计(论文)中的应用 【摘要】主要分析了毕业设计(论文)的现状,介绍了软件生命周期的各个阶段与毕业设计(论文)各阶段的对应关系、软件生命周期各阶段应完成的任务以及在毕业设计(论文)中应注意的问题。 【关键词】软件工程 毕业设计(论文) 实践教学 一、引言 毕业设计(论文)(以下简称毕业设计)是计算机及相关专业教学计划中的一个重要环节,是培养学生对所学基本理论及基本操作技能综合运用的训练过程,是提高学生分析和解决问题能力的重要实践环节,是实现理论与实践相结合的重要途径,是对教育教学质量的全面检查。目前,计算机及相关专业的毕业设计质量正在逐年下降:学生急于找工作或考研,毕业设计得不到应有的重视;需求分析不到位,设计成果不符合实际需求;软件开发流程混乱;缺乏文档写作训练,等等。 针对上述问题,笔者认为,除了应当从管理角度严格进行过程监控外,还应当使学生通过《软件工程》课程的学习,提高毕业设计的质量。 二、软件生命周期与毕业设计过程的对应关系 软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件的生命周期。软件生命周期可以划分成若干个时期与阶段,它与毕业设计各个环节的对应关系如图1所示。 三、软件生存周期各阶段应完成的任务 1.可行性研究与计划阶段、需求分析阶段 可行性研究与计划阶段主要完成问题的定义、可行性论证以及初步计划的制定;需求分析阶段主要完成需求调查,进行功能、性能与环境约束分析;编制软件需求规格说明、制定软件系统的确认测试准则和用户手册概要。这两个阶段对应于毕业设计的课题论证、选题、调研、查资料,通过对设计题目的深刻理解,完成开题报告的撰写工作。 2.概要设计阶段和详细设计阶段 概要设计阶段主要完成软件系统总体结构的建立、定义功能模块的接口、设计全局数据库和数据结构、规定设计约束、编制概要设计文档等工作;详细设计阶段主要完成模块详细设计及编制模块的详细规格说明工作。包括模块的详细功能、算法、数据结构和模块间的接口信息等设计,拟定模块测试方案;把模块详细设计的结果汇总,形成模块详细规格说明书。这两个阶段对应于毕业设计的系统设计阶段。 3.实现阶段与组装测试阶段 实现阶段主要完成编码及单元测试工作。根据模块详细规格说明书,将详细设计转化为程序代码、对模块程序进行测试,验证模块功能及接口与详细设计文档的一致性,并形成单元测试报告;组装测试阶段主要完成模块程序组装与测试及组装测试报告的编写。 4.确认测试阶段 该阶段主要完成软件系统测试、确认测试文档编制及软件评审工作。根据软件需求规格说明定义的全部功能和性能要求及软件确认测试准则对软件系统进行总测试;向用户提供以确认测试报告为主的有关文档,包括系统操作手册、源程序清单和项目开发总结报告等;由专家、用户、软件开发人员组成的软件评审小组对软件确认报告、测试结果和软件进行评审,并将得到确认的软件产品交付用户使用。这个阶段主要对应于毕业设计(论文)中的论文评审、结题验收及毕业设计的答辨准备阶段。 5.软件运行与维护阶段 主要进入软件的使用阶段,并完成软件的维护工作。它主要对应于毕业设计中的答辩阶段。 四、毕业设计应注意的几个问题 1.摘要 摘要是对文章主要内容的摘录,要求精、短、完整。以几十字至三百字左右为宜。摘要应具有独立性和自明性,从摘要中即应获得必要的信息;摘要中只能使用第三人称;要客观如实地反应原文的内容,要着重反映论文的最新内容和作者特别强调的观点;要求结构严谨、语义确切、表述简明,一般不分段落、不进行自我评价。 2.关键词 关键词主要用于论文检索,它是从论文的题名、摘要和正文中选出的,是对表述论文的中心内容有实质意义的词汇,关键词一般以3~5个为宜。 3.结论 结论写作的内容应主要考虑本文研究结果是什么?研究结果说明了什么?对前人有关的看法作了哪些修正、补充、发展、证实或否定?本文研究的不足之处或遗留未予解决的问题以及对解决这些问题的可能的关键点和方向等。结论应该准确、完整、明确、精练。 4.需求分析 在毕业设计中,学生往往不能对所做题目进行充分的调研,需求不明确,随意想象的成分较多。特别是在数据表的建立上,大部分同学随意设置字段的类型,而字段长度基本上采用默认置。而在实际项目开发中,数据项的设置应主要注意以用户的需求和满足系统要求为准,而不应设计冗余的字段;数据的类型要依据实际需求,当某些字段可以是选择某几种类型之一,应考虑哪一种更有利于本系统或哪种更易于用户操作和维护。 5.详细设计 许多同学把详细设计阶段的任务理解为代码实现,因此,在概要设计之后就着手进行代码的编写而忽略了算法的表达及测试用例的编写环节,由此造成的结果是随意编程,大量的时间浪费在程序的修改和调试上。 6.软件测试 测试做得不够全面,大部分同学只选择了有效的测试用例,而没有进行无效的测试用例的设计,因此所做的软件BUG较多。 7.团队合作 在毕业设计中,应有意识地锻炼学生们的团队协作精神,因此,在布置毕业设计题目时,应尽量选择规模大一点的题目,然后由4~5名同学共同协作,每人完成一个子题目。这样,可以使学生们分析问题和解决问题的能力、沟通和表达能力得到充分锻炼,为今后的工作奠定基础。 软件毕业设计论文:软件工程专业本科毕业设计过程管理 摘要:分析软件工程专业本科毕业设计管理中存在的主要问题,针对软件企业对软件工程专业的人才培养要求,提出软件工程专业本科毕业设计过程管理措施,强调通过建立和完善毕业设计的管理制度,加强毕业设计过程的监控;构建完善的毕业设计管理平台,提高本科毕业设计管理水平;改革毕业论文形式,建立毕业设计过程管理评价体系,提高学生工程实践能力。 关键词:软件工程;本科毕业设计;过程管理 软件学院软件工程专业的设立是国家教育部、国家发展计划委员会为满足国家软件产业发展对人才的迫切需求于2001年批准成立的。重庆大学软件学院是国家首批示范性软件学院之一,其人才培养目标是培养“面向应用、遵循标准、适应团队、把握技术、熟知领域、外语优良”的软件工程人才。10年来,软件学院十分重视软件工程专业的工程化教学改革,采取多项政策和措施促进工程型软件实用人才的培养。本科毕业设计是实现高等学校人才培养目标的重要教学环节,是培养学生创新意识和创新能力的重要手段,是理论学习与社会实践相结合的重要体现。因此,对软件工程专业本科毕业设计进行改革,培养具有工程实践能力的软件实用人才具有重要意义。 1 软件企业对软件工程专业培养人才的要求 软件产业的迅速发展对该行业从业人员提出更高要求,不仅要求学生掌握理论知识,还要求学生具备较强的工程实践能力与创新能力。国内计算机相关专业的教学基本上仍使用传统的理工科人才培养模式,注重基础理论知识,缺少对学生工程能力和职业素质的训练,因此培养既有扎实的专业基础知识和较强工程实践能力,又能迅速适应业界环境的高素质创新型软件人才,是软件企业对软件工程专业人才培养的要求。 2 目前本科毕业设计管理中存在的问题 1)毕业设计阶段缺乏全过程的管理与监控。 毕业设计全过程的管理与监控不够规范,缺乏专门的组织机构。毕业设计的一些主要环节疏于检查和监督,因此存在影响毕业设计质量的问题,如选题陈旧、重复率高、与软件产业发展需求不适合等。 教师指导水平有限且精力投入不足,同时没有对教师指导工作的有效绩效考核,使得教师对学生的毕业设计不够重视;某些学生由于有就业压力,便将主要精力放在人才市场和各类招聘会上,没有意识到毕业设计的重要性,最后只能通过拼凑和抄袭完成毕业设计。 2)毕业设计阶段缺乏规范化的指导性文件。 毕业设计工作持续时间长,涉及所有毕业生和教师,如果没有规范化的指导性文件能够让指导教师和学生了解毕业设计工作的意义、目标、计划、流程、论文规范化格式、质量评价标准、成绩考核等具体实施细则,明确自己在该项工作中扮演的角色以及整个毕业设计流程对自身承担工作的质量要求,那么很难提高毕业设计质量。 3)毕业设计文档资料缺乏有效管理。 毕业设计成果是学校的重要知识和信息资源,完善的文档资料管理有助于毕业设计工作的传承和创新。长久以来,毕业设计作品和论文主要采用人工管理。学生答辩后提交资料袋,资料袋中包括毕业设计相关文档和设计作品的刻录光盘,但由于管理人员对毕业设计资料的重视程度不够或人员不够,导致毕业设计资料管理不善,出现查询困难、答辩记录丢失等情况,为以后查阅、成果展示及下届毕业生的论文指导工作带来不便。 3 本科毕业设计管理改革措施 1)成立毕业设计管理小组。 为了加强本科毕业设计工作的组织、管理和监督,软件学院专门成立毕业设计管理小组,小组成员由教学副院长、正副系主任及学生助管组成,负责整个毕业设计过程的管理监督工作,包括从选题、审题、任务书下达到开题、中期检查、答辩、成绩评定、推优的全过程。 2)建立和完善毕业设计的管理制度。 为了提高毕业设计质量,毕业设计管理小组根据软件工程专业特点建立学院的具体工作规范和有效的毕业设计管理模式和监控制度,加强毕业设计制度建设,使得从选题、下达任务书到学生的开题报告,从每周汇报、中期检查到设计文档撰写、论文撰写、论文重复率监测、论文评阅及论文答辩,都有切实可行的实施细则及管理规章制度;构建集中管理与跟踪管理、周报提交、外出请假、抄袭检测、讲座出勤等平时成绩评定标准;完善从平时表现、系统设计实现质量、论文或设计文档质量、答辩水平等多方面衡量的客观、公正的综合成绩评定标准和推优程序。在毕业设计全过程管理中,力求做到有章可循及有据可查。 3)多元化的毕业论文形式。 多元化的毕业论文形式有利于培养大学生创新实践能力。根据软件工程专业特点,软件学院对毕业论文形式进行改革。毕业设计形式包括传统方式和新方式,学生可以选择其中一种方式,具体采用哪种方式则由指导老师负责。 传统方式是指毕业生完成开题报告并翻译一篇相关课题的英文文献,然后对软件系统进行需求分析、设计和编码实现,或者对相应算法进行研究、分析和编码实现,最后完成毕业设计论文。 为了面向软件企业需求,培养学生的软件设计能力,新方式注重提高学生的系统设计文档编写能力。毕业生前期仍然要完成开题报告、英文文献、系统分析设计和编码,最后提交系统设计相关文档。系统设计相关文档由以下文档构成:①项目开发计划;②软件需求说明;③系统设计说明;④数据库设计说明;⑤用户手册;⑥测试分析报告;⑦项目开发总结。根据软件工程学科特点及专业人才培养的要求,结合学校的毕业设计(论文)管理办法和软件设计文档国家标准,软件学院制定了符合专业人才培养目标的设计文档规范。 为提高学生科技论文写作水平和研究报告的演讲能力,软件学院面向软件工程专业所有应届毕业生,在其毕业设计阶段开设8学时的“科技论文写作规范”“研究报告演讲技巧”讲座,强调科技论文写作的规范性和可读性,锻炼学生演讲研究报告的能力。 4)加强毕业设计过程管理和监控。 毕业设计过程管理和监控面向的对象是学生和教师。软件学院毕业学生做毕业设计有不同情况,如有在校外软件公司做毕业设计的,更多的是在校内做毕业设计,因此需要有相应的不同管理模式。为加强学生培养质量和降低指导教师管理难度,软件学院提供集中管理与跟踪管理方式。 集中管理是指学院设置固定机房和机位并安排助教作为管理人员,由指导教师给学生安排机房,由管理人员负责学生的日常考勤,学生需及时向指导老师汇报学习情况,学生若有事必须请假。跟踪管理主要针对在校外进行毕业设计的学生,要求这类学生完成校外毕业设计申请,由管理小组协助指导教师对校外学生进行跟踪,为这些学生提供及时的毕业设计信息服务。这类学生必须每周与学校指导教师联系,以便教师详细了解并掌握学生毕业设计进度。这种具体的制度和规范,对在校内进行毕业设计和赴外进行毕业设计的学生进行了有效监控。 针对指导教师的管理,毕业设计管理小组采用不定期检查和周报提交的方式。毕业设计规范要求每位指导教师每周指导时间不少于2小时,指导教师需要检查学生毕业设计的进度和质量;解答学生提出的问题,进行下一阶段工作部署与指导,保证毕业设计的质量。 不定期检查指毕业设计管理小组根据指导教师在毕业设计系统中登记的指导时间和地点,不定期对教师的指导情况进行检查。周报提交是指学院建立的毕业设计定期报告制度,教师和学生每周均需要将周报提交到系统上,教师主要汇报每周对学生指导情况以及学生毕业设计进度和质量,学生主要汇报每周的毕业设计进度、毕业设计遇到的问题等。毕业设计管理小组每周对周报进行汇总分析并,及时了解毕业设计情况,对学生和教师提出的问题进行统一解答。 5)构建完善的毕业设计管理平台。 充分利用计算机技术,构建完善的毕业设计管理平台,提高毕业设计管理水平,使毕业设计管理更加规范化。软件学院在毕业设计过程中使用的管理系统包括:重庆大学本科毕业设计系统、重庆大学网络教学综合系统、重庆大学软件学院软件工程实践教学平台。 重庆大学本科毕业设计系统用来上传和管理毕业设计相关文档。系统涵盖毕业设计工作的全过程,实现选题提交、课题双向选择、毕业设计相关文档(包括开题报告、外文翻译和毕业论文)的提交与管理、文档模板的上传和下载、毕业答辩的自动分组、指导教师和交叉教师评分、答辩记录和成绩的上传、成绩册的打印、毕业成绩的统计分析等功能。 重庆大学网络教学综合系统。用于毕业设计的过程管理,主要进行信息、周报收集、校外学生实习申请、过程检查情况公告、问卷调查、学生成果提交和查询等。 重庆大学软件学院软件工程实践教学平台是软件人才培养创新平台,提供实践教学成果展示、实践案例资源库与实践教学管理功能。利用该平台可以举办毕业设计优秀作品展,展示软件学院学生的专业学习水平,激发学生的实践热情,对下一届学生起到示范作用。平台实践案例资源库可为学生提供实践学习参考资源,为教师提供实践教学案例素材。 6)建立毕业设计过程管理评价体系。 建立毕业设计过程管理评价体系,要求所有 一学生和指导老师每周都要将周报提交到EOL(重庆大学网络教学综合平台)平台。毕业设计管理小组每周对毕业设计情况进行检查和监督,并将检查情况告知所有指导老师。指导老师每周提交周报次数与毕业设计指导工作量挂钩;学生考勤情况、周报提交情况、平时检查情况会被记入平时成绩,平时成绩不合格将被取消答辩资格。 软件学院强调学生在毕业设计期间一定要进行软件系统设计和实现,毕业答辩包括系统演示、用PPT讲解毕业设计主要工作、答辩教师提问等多环节,答辩老师根据学生工作量、完成质量、论文或设计文档质量、答辩情况进行评分。学生毕业设计的最终成绩由平时成绩、指导教师成绩、交叉评阅成绩和答辩成绩构成,以保证评分的公平性。 7)加强诚信机制建设 为了提高本科毕业设计质量,加强学术道德和学风建设,营造学术诚信氛围,软件学院使用“大学生论文抄袭检测系统”对本科毕业论文进行防抄袭检测。抽检比例为应届毕业论文的50%,抽检名单由毕业论文管理系统随机抽取。另外,各答辩小组推荐的优秀毕业论文为必检对象。 软件学院制定论文抄袭的认定标准(建议文字复制比不超过25%)和处理办法,对有问题的论文,责成指导教师对检测结果予以认定和说明或督促学生修改,取消被认定抄袭论文学生的答辩资格;对各答辩小组推荐的优秀毕业论文进行,不合格的论文取消优秀。 4 结语 培养适应我国软件产业发展的软件工程人才,提高软件工程本科毕业设计质量,毕业设计的改革势在必行。通过2届学生的毕业设计改革证明,建立和完善毕业设计的管理制度,加强毕业设计过程的监控,充分利用毕业设计管理平台,实现多元化的毕业论文形式,建立合理的毕业设计过程管理评价体系,加强诚信机制建设,能极大地促进师生在毕业设计过程中投入热情和精力,提高本科毕业设计管理水平,有效保证毕业设计质量。 软件毕业设计论文:Ant在软件开发型毕业设计中的应用 [摘要]该文结合实际指导计算机专业毕业设计过程中的体会,提出如何利用Ant工具软件来为软件开发型毕业设计服务,以提高学生的实际动手能力。 [关键词]Ant 计算机 毕业设计 一、计算机专业毕业设计的性质 计算机专业毕业设计工作是高等院校计算机人才培养计划的重要组成部分,是对学生专业知识、综合素质和实际能力训练的重要阶段,是人才培养质量的重要体现,是学生学习、研究与实践成果的全面总结。 二、软件开发型毕业设计中存在的问题 计算机专业的毕业设计主要分为软件开发型毕业设计和基础研究型毕业设计两种类型,本文探讨的是第一种类型。在软件开发型毕业设计答辩过程中,学生需要结合自己的设计实现来讲述设计实现思路及过程,这要求学生需提前部署好自己的软件作品,而答辩时所用计算机一般而言是由答辩单位提供的,只具备软件的运行环境并不负责安装相应的集成开发工具,而学生平时主要是利用集成开发工具来进行开发,一旦脱离了开发工具往往不知所措,这就违背了毕业设计的宗旨。 三、Ant在软件开发型毕业设计中的应用 Ant是一款软件项目构建工具软件,能够让我们采用定制的方式对开发出来的项目进行编译、打包和测试,更重要的是这些工作可以脱离具体的开发工具来进行,这非常适合在毕业答辩时缺少开发工具的情况下进行应急处理。下面利用一个Java类毕业设计项目为例简述Ant的具体应用。 1.安装Ant软件 到Ant的官方网站下载最新版的Ant二进制版本,它是一个扩展名为zip的文件,本文使用的是Ant 1.8版。下载后解压到某个文件夹中,例如c:\\ant_1.8,并创建一个名为ANT_HOME的环境变量,变量值设为刚才解压到的目的文件夹名,本例中即为c:\\ant_1.8(后面用%ANT_HOME%指代该文件夹),同时将%ANT_HOME%/bin文件夹加入到Path环境变量中。以上步骤需要提前安装配置好JDK环境后再进行,JDK环境安装配置在这里略过。 2.创建构建文件 构建文件相当于一个计划书,整个构建活动是严格按照构建文件的内容来进行的,所以构建文件的创建是整个构建活动的核心。构建文件是XML类型的,这不仅是因为该类型是一种通用的描述语言,更主要的是Java中提供了相当丰富的操作XML类型文件的API。创建的构建文件最好命名为build.xml,并将该文件放入工程所在文件夹中。下面阐述一下构建文件的书写规则。 首先,在构建文件中创建一个工程标签用来标识该构建项目,例如本文中构建的项目名称是TankWar ,则创建标签,其中name属性代表的就是项目名称;default指的是要执行的目标名称,所谓的目标就是要完成的任务,在这里任务名为compile,这个任务的定义在后面会有说明;basedir代表工程的根文件夹,一般设为.即当前文件夹即可。 其次,定义属性标签,定义属性其实就是定义在构建文件中要使用的变量,例如该项目要构建的项目源码位于src文件夹中,构建后的文件保存到build/class文件夹中,这时我们就可以定义“src.dir”和“build.class”两个属性变量来指代这两个文件夹,以后假设更改了文件夹名只需修改属性名即可,对应的标签如下所示: 上面${ }中括起来的是已定义的属性名,该使用方式相当于引用变量。 然后创建目标标签,目标即我们要执行的具体任务,一个工程中可以包含多个任务。假设我们执行三项任务分别是创建文件夹、清除文件夹中已有内容及编译源代码,则定义的标签如下所示: 创建文件夹 清除文件夹中已有内容 编译源代码 //name属性所指明的任务即是前面工程标签中default属性的设定值,depends属性指明一种依赖关系,表示此任务必须等待第一个任务完成后才能进行。 3.运行Ant 在命令提示符下输入ant,系统将自动执行build.xml构建文件并完成构建文件中所定义的任务。 四、总结 以上是利用Ant工具软件在软件开发型毕业设计中的应用实例,除了在Java开发平台中有Ant工具外,另一个重要的开发平台,Net平台也有相应Ant工具。由于学生在利用Ant进行软件构建时是脱离了软件开发工具的帮助,所以需要了解更多深层的知识,这无形之中也加深了学生对软件开发型毕业设计的理解,同时在配置Ant环境时需要自己不断地尝试,也锻炼了学生的动手能力,因此将Ant应用到软件开发型毕业设计中对于学生而言是非常有益的。 软件毕业设计论文:计算机软件专业毕业设计探析 提要毕业设计是高职计算机软件专业培养就业型高技能“蓝领”人才的关键环节之一。本文就毕业设计的选题、毕业设计的管理、毕业设计各环节的把握等方面,探讨如何加强和改进高职院校计算机软件专业的毕业设计,以培养出社会所需的计算机软件开发高技能型人才。 关键词:高职院校;毕业设计;软件开发 毕业设计是高职学生由在校学习到参加工作之间的、十分关键的综合教学环节,是毕业前的一次重要的系统实践训练,也是对高职院校的教学管理、师资水平和学生综合素质的集中体现和检验。这个环节把握得好,对学生就业有很大的帮助。实践证明,毕业设计是计算机软件各相关专业理论教学、实验、实训等有机结合的最佳途径之一。笔者多年来一直从事高职计算机软件专业的毕业设计指导工作,经过长期的实践和探索,同时吸取他人经验,对毕业设计工作有如下的认识。 一、毕业设计的选题 选题是毕业设计的第一步,也是非常重要的一步,包括教师选题和学生自选题两种。高职计算机软件专业实现毕业设计的途径和空间是多种多样的,只要有研究开发的环境即可。可以在学校内部组织开展,也可以走出去,到企业、到社会中去完成。例如,校企合作、产学研结合是高职毕业设计实现开放性的有效途径。一是学生到企业、公司实际工作中去,运用所学知识和单位的短期培养,按规定格式和要求写出总结报告或毕业论文,或在参与实际项目设计中完成设计,采取校内指导老师和企业指导人员共同指导学生的毕业设计,在我院的软件专业这种形式的设计占到了近1/3;二是充分挖掘校内资源,寻求多种途径开展毕业设计。例如,参与教师的科研项目,承担部分任务;主动与学校各部门联系,帮助设计各种中小型信息管理系统,如学生档案管理系统、教务管理系统、后勤水电管理系统、学校图书管理系统等,由各部门根据使用情况进行评价。 选题时的原则主要有:(1)符合专业或大类培养目标、满足教学基本要求,使学生得到比较全面的训练,要尽可能进行有软件工程背景的毕业设计;(2)应尽可能结合生产、科研和实验室建设的实际任务,促进教学、科研和生产进行选题。也可是模拟真实的软件项目课题;(3)应有一定的深度与宽度,工作量饱满,使学生在规定的时间内经过努力能按时完成,并鼓励学生有所创造;(4)毕业设计的选题应面对学院的实际情况,从培养目标出发,充分利用学院的计算机资源和人力资源,力求实现学生掌握知识的实际水平与市场经济的需求相符合。 二、毕业设计的管理 要完成高水平的毕业设计,除了要求毕业设计指导教师提供的选题应是新颖的、实用的、能适合当前社会的市场需求的外,还必须要有严格的毕业设计管理制度相匹配。 1、学生毕业前的上一个学期末,确定指导教师,并进行毕业设计动员。有关教师提供指定格式的、“毕业设计(论文)选题报告”、“毕业设计(论文)自选题目申请书”、“毕业设计(论文)格式、书写规范”等表格供学生填写或参考,其内容包括毕业设计的选题来源、要实施的技术方案、要完成的研究工作、需配备的硬件和软件环境、需要的资金等。其中,还给出近三届本专业学生做过的论文题目,防止重复或抄袭。表格填写后交由教研室集体讨论并提出修改意见,然后由计算机系部与有关指导教师统一审批。再将所有选题和指导教师名单提供给学生,由学生和指导教师进行双向选择,有关部门根据选择情况做适当调整后公布指导教师及学生的对应名单。 2、经统一审查后,指导教师给每一个学生下达“毕业设计(论文)任务书”。指导教师与学生见面时,要针对任务书向学生讲解课题目标、实施方案、需要收集的参考书目、需要自学的内容及应做社会实践活动等,并向学生提供相关网站,让学生自己上网学习有关预备知识。 3、指导教师根据系部的统一安排向学生提供“毕业设计工作进程安排表”。该表包括在毕业设计过程中,安排对学生完成毕业设计需补充的专业知识讲座的内容与时间、上机时间、教师辅导时间、检查时间、完成每一设计步骤的进度要求、毕业设计说明书初稿上交和举行毕业答辩的时间等。学生应根据毕业设计任务书的要求,在毕业设计工作开始一周内写出开题报告,内容主要包括:资料准备情况、设计的思路与期望成果、目标任务的分解、各阶段完成的内容计划等,交由指导教师审查后,再按计划开始设计。毕业设计的时间一般在12周左右。 三、毕业设计过程中的几个重点环节 1、资料查询和实地调查。任何一个课题都是有学科基础或技术基础的。学生在做毕业设计开始,通过进行资料查询,可以了解本选题在相应学科领域中的发展进程和研究方向,特别是近年来的发展趋势和最新成果,然后准备与该题目相关的参考资料。通过与对资料研究成果的比较说明自己的选题是符合当前的研究方向,或是否采用了当前的最新技术并有所改进,以进一步了解选题的意义。值得注意的是,要做好毕业设计,必须阅读一定量的近期中、外文资料,这不仅反映学生的外文阅读能力,而且有助于设计的先进性。高职学生在毕业设计之前进行必要的社会调查,是了解和加深题目理解的另一重要途径。以《企业仓储管理信息系统》这个题目为例,学生可以到实习工厂、中小企业等场所进行实地考察、了解管理信息系统的实际应用状况,通过系统现象的感性认识,逆向推测如何进行模块设计才能实现这些功能。另外,网络查询也是学习、资料查询的重要方式。指导教师要让学生按毕业设计任务书要求深入地了解本毕业设计课题,准备资料,写出文献综述并完成初步的外文翻译任务。 2、制定和论证技术方案。明确所要解决的问题后,就要提出自己解决问题的思路和方案。包括一般的程序设计、数据库设计和网站建设等,应选定编程语言、根据目标提出总体模块设计图、流程草图等,通过比较表明自己方案的价值、方案的创新之处或有新意的思路、算法和关键技术。学生阐述自己的设计方案时,要说明为什么要选择该方案,如何进一步优化数据,不足之处如何得到克服,最后完成的工作具有什么样的性能或达到什么样的水平。 3、充分发挥教师在毕业设计中的引导、辅导作用。教师在整个毕业设计工作中应该起到引导、辅导交流的作用,激励学生有足够的信心完成毕业设计工作,鼓励学生突破旧系统,展开思维的翅膀,尝试别人没有想过或没有做过的工作,注意对学生创新思维的培养。在毕业设计过程中,指导教师布置任务后,要进行具体指导和及时检查。指导教师要注重针对性与适用性,力争使毕业设计内容与学生毕业后所从事的技术岗位对口,使人才培养目标与社会的需求相一致。 4、毕业设计的先期总结和答辩准备。在毕业设计的后期,指导教师应及时进行总结,针对每个成员指出毕业设计过程中的改进之处,提出后期需要进行工作的重点和方向。并发放统一格式的编制设计说明书的有关文档,如毕业设计说明书的装订顺序、目录和正文的格式要求及正文基本结构及毕业答辩应当做的准备工作。指导教师检查资料是否齐全、是否符合规范要求、程序运行有无缺陷及答辩时要注意的问题等,然后做最后的答辩准备。毕业设计答辩开始前三天,学生需上交毕业设计的相关文档和程序资料。文档部分按规定格式装订成册,供答辩委员评阅。 5、毕业答辩、成绩评定。毕业答辩评分要做到客观、公正、公平。人员除本院教师外还聘请企业项目开发人员参与评阅和答辩工作。答辩分数可分为自述、回答问题、论文内容三部分。最后,通过答辩委员会及各位指导教师统一讨论,得出学生的答辩成绩。答辩后,答辩委员会及时总结答辩中遇到的问题,并组织部分同学参加座谈会,了解学生对毕业设计的反馈意见,以备下一届进行设计时加以改进。 四、结束语 高职学生理论基础相对较弱,但实际动手能力并不差。毕业设计给了他们一个良好的提升能力的机会。毕业 设计多选择一些项目单位的实际软件项目,让学生到公司、企业这些项目实际场合进行毕业设计,最好是在生产实际中选择那些真刀真枪的设计题目。经过我院近四届高职计算机软件专业毕业生采取以上方法和环节进行毕业设计实践,已取得较好的效果,学生适应性和实际能力有了很大提高。但也存在不完善的地方,只有通过不断地实践、研究、总结和改进方法,不断地进行毕业设计教学的改革,为培养出计算机软件专业应用型的高技能人才做贡献。 (作者单位:大连水产学院职业技术学院)
软件项目管理论文:中小软件企业项目管理 [摘要]本文结合现阶段中小软件企业蓬勃发展的背景,结合软件开发的流程分析及管理中的成本、进度、质量分析。分析了中小软件企业项目中存在的问题并提出了相应的解决办法。 [关键词]软件;管理;项目;软件企业;生命周期;流程控制 随着我国信息产业特别是软件产业的蓬勃发展,一批批中小软件企业不断涌现。大大推动了我国软件产业的发展。但是不可忽视的是,有相当部分的软件企业特别是中小型企业在项目管理方面存在着先天的不足,大多仍然处于一种手工作坊式运营阶段,处于有章不循和无章可循的混沌阶段,缺乏科学化、系统化的管理,质量和效率都不强。由于处于企业的初创期,中小软件企业忙于找项目、揽项目,从而忽视了自身的实力和行业专攻,从而造成了什么项目都接、什么活都做的局面,且公司人员较少,分工不明确从而造成了此类软件企业管理流程混乱,重编码轻设计,甚至到编码完成后再回头编写、应付各种文档资料,无论从哪个角度来说,这是没有任何意义的。软件项目的开发流程不规范,项目延期、失败层出不穷。所以如何有效地对项目进行管理,有章可循,对于中小软件企业来说,是非常有现实意义的。对于广大的中小软件企业而言,如何能有效且比较简单地对自己的软件项目流程进行管理呢? 项目流程管理在软件项目的开发过程中是非常重要的一环,它贯穿着整个过程,所以有时它也被称为软件产品生命周期管理,主要内容包括:立项、策划、分析、实现、测试、、维护等环节。 首先我们从软件工程角度来谈谈这个问题。我们来说一下软件工程中开发模型的概念,无论大小,每个项目都必定要遵循一定的开发模型。软件常用的开发模型包括:瀑布模型、螺旋模型、渐进模型。那么具体到中小软件企业,在这几种模型中,我们要注意些什么呢?下面我们针对这几种常见的模型做一下分析。 一般而言,瀑布模型常用于在开发时间内需求没有或很少变化、分析设计人员对应用领域很熟悉、用户应用环境稳定、用户除提出需求以外,很少参与开发工作、需求使用面向过程的语言或编程工具且风险较低的项目。 螺旋模型常用于在项目开发早期需求可能有变化、分析设计人员对应用领域很熟悉、用户可不同程度地参与整个项目的开发过程、使用面向对象的浯言或第四代语言、中等风险项目。 渐进模型主要应用于在整个项目开发过程中需求都可能发生变化、分析设计人员对应用领域不熟悉、用户可参与整个软件开发过程中、使用面向对象的语言或第四代语言且高风险项目。 生存期定义可视软件项目特性识别和所选软件开发模型而异,对于软件生命周期的几个环节来说,他们并不是孤立的、时间层次非常明显的,它们之间也存在着时间的重叠交叉甚至错位。 对于项目管理人员来说,要注意区分这几个阶段并在不同的阶段定义不同的工作内容并严格执行。而具体到中小型软件企业,由于人员较少,各种工程外小组不太健全。所以,针对这种情况,我们对各个流程进行分解大致分为调查阶段、立项阶段、策划阶段、分析设计阶段、实现阶段、测试阶段、阶段、维护阶段。 在调查阶段:我们要采集用户需求信息、拟定立项建议最后要生成用户需求文档及立项建议书。 在立项阶段:我们需要编制可行性分析报告、立项申请报告并进行评审最后要形成评审记录。 在策划阶段:我们要任命项目经理、建立项目组。并对需求进行分析、评审。根据需求情况对项目进行资源准备(人、财、物)。在此阶段要形成软件需求规格说明书及测试大纲及需求评审记录。 在分析设计阶段:我们要进行下面的工作系统设计(含数据库、界面设计)、设计评审、用例准备、测试计划评审、项目计划修订、复用元素提取根据情况要形成系统设计文档、集成和验证测试计划、系统设计评审记录、测试计划评审记录、项目计划修订记录。 在实现阶段,我们要进行详细设计、详细设计评审、构造软件(编码、自测)、模块测试、组装测试要形成详细设计文档,评审记录、源程序、相关的测试数据和记录。 在测试阶段,我们要进行集成测试、界面冻结、编写用户使用手册、填写申请单之后进行申请评审要形成集成测试测试记录、报告、安装母盘、用户使用手册子版)及产品介绍。 在阶段,我们要编写培训教材、进行产品包装设计、母盘准备、服务人员培训、光盘刻制、资料印刷、产品包装、产品检验、产品和交付井进行项目总结。 在维护阶段,我们要采集产品问题反馈单、登录问题反馈台账、编发产品问题的E—mail、采集、登录问题反馈跟踪记录表、编报问题反馈跟踪月汇总表、产品问题审核、分类和交付、产品问题回复、本版本产品问题维护、新版产品母盘制作、编、发产品更改公告、问题维护审核、新需求台账登录。 众所周知.影响项目进展的三个维度是成本、进度和质量。如何平衡它们之间的关系,尽力做到快、好、省?在有限资源的情况下将结果处理得最优?这就是项目中管理的学问了。任何项目要被视为成功,都要必须达到几个目的,这其中包括质量要求、截止期及成本限制。质量规定给出了一个最终的定义包括项目的形式、适配性和功能,它定义了项目提交给用户时的最终状态,而且要确保项目符合这些规定。 同时项目的进度也是非常重要的,项目管理的一个重要的职责就是要确定一个合理的交付日期。这就是一处平衡的过程,协调好这三个方面的工作,同时所谓一个项目,进度是主线,其他的因素是围绕它来做的,同时进度也是项目管理的标尺。所以在项目中一旦将会期确定下来,就要将它转化为进度表的形式,并告诉你的项目组成员。当编制进度表时,头脑中要牢记住这个日期。如果你的团队知道要求完成项目的实际期限,他们将受到更大的激励,对他们会更有帮助:当团队成员知道进度的情况时,他们将能够加快自己的步伐,从而为项目的顺利完成做出更大贡献。合理的进度,不应该让项目组成员感到紧张。紧张是个人绩效的一个主要杀手。紧张的人更有可能犯错误,而且一般来说其表现不如最佳状态:一个人犯的错误越多,他对其工作及对其本人的感觉就越糟糕,他就越有可能死火。高死火率意味着高的人员离职率,意味着你要花更多的时间用于更新雇人和重新培训。紧张的工作环境导致雇员的紧张,他们反过来又导致环境更加紧张。这是一种恶性循环,对于人员短缺的中小软件企业而言,这显然是不希望被看到的。 作为一个项目来说,如果没有一个明确的目标。对有些人来说,这种情况可能造成令人难以置信的放松,而对另外一些人来说,它又可能造成难以置信的紧张。那些不知道自己的工作到底是什么的雇员,容易变得紧张;他们拿不准为什么来这里,这意味着不能担保明天他们还会出现。如果你向你的团队成员提出了足够明确的目标,并向 他们展示实现目标的途径,你的雇员不仅不会紧张,而会真的感觉自己是该项目的一部分。可能还会对自己取得的结果感到自豪。而当项目经理用富有挑战性的工作和专门技术来影响员工的时候,项目成果的机率就会增大。 你不仅应当向你的团队成员说明目标,而且你应当让他们参与确定这些目标。并且一般来说让他们参与计划的编制,这是绝对必要的。如果你让团队成员帮助编制计划,你将更有可能提早发现可能发生问题的领域。团队成员也感觉到对项目承担了更大的义务,因为在使项目启动方面,他们有某种利害关系。 同时,在执行项目时,项目经理一定会面对这样的要求,即不超出某种成本限制。作为项目经理,应该制定一个比较详细的预算、计划,你应当告知你的公司或客户这项工作确切地说要花费多少成本:出于你的团队是执行项目的人此时也应该像客户一样,也需要尽可能地了解有关成本的信息,所以我们考虑软件的项目管理的时候,都必须在这几方面对其加以界定及规范,在日常的项目管理工作中要注重这几方面的协调、平衡。 一个项目组,我们也要关注于组织的建设。一个软件项目的成功,团队间的合作及有效沟通也是非常重要的。在交流的过程中,要有效的减少噪音,提高沟通的效率。几乎在所有的项目管理中,沟通问题是必不可免的,对于一些项目经理来说,沟通不佳意味着“没人听我的”,而对于另外的一些经理来说,沟通不畅意味着项目组成员每天到晚一直忙,却不见多少成绩,好多人做着重复的工作,因为彼此之间没有进行有效的沟通。沟通的方式很多,比如说会议、电话、电邮、甚至行为等等。 如果团队成员看起来不愿意沟通,这并不一定表明他们不愿意合作。相反,他们仅仅可能是不愿意以自己不适应的方式进行沟通。所以,为了鼓励沟通,我们必须清楚应该选择哪种沟通渠道,应该选择哪些条件组合,以得到我们所期望的反应。 在项目工作中,万不能对他人颐指气使。维持团队的关系以促进项目组成员齐心协力地工作这才是项目经理所要取得的目标。如果项目经理过多地用权力、金钱或者处罚的手段来影响项目组成员的话,项目失败的几率会很大。和其他方面的管理一样,项目管理既是一门科学又是一门艺术。在平时的管理工作当中,我们不仅要善于将相关的管理知识及管理理论有意识的应用到管理实践中,我们更要发展艺术性的思维。没有完全相同的项目环境,外部环境和内部环境是不断变化的,我们只有在不断的实践中探索才能深刻的体会到项目管理的精髓,不断的成长。同时作为一个项目经理,要有大局观,要具有系统思维。不要受单一项目的局限,要在一个更大的组织视野下考虑项目的实施。 软件项目管理论文:中小软件企业项目管理 [摘要]本文结合现阶段中小软件企业蓬勃发展的背景,结合软件开发的流程分析及管理中的成本、进度、质量分析。分析了中小软件企业项目中存在的问题并提出了相应的解决办法。 [关键词]软件;管理;项目;软件企业;生命周期;流程控制 随着我国信息产业特别是软件产业的蓬勃发展,一批批中小软件企业不断涌现。大大推动了我国软件产业的发展。但是不可忽视的是,有相当部分的软件企业特别是中小型企业在项目管理方面存在着先天的不足,大多仍然处于一种手工作坊式运营阶段,处于有章不循和无章可循的混沌阶段,缺乏科学化、系统化的管理,质量和效率都不强。由于处于企业的初创期,中小软件企业忙于找项目、揽项目,从而忽视了自身的实力和行业专攻,从而造成了什么项目都接、什么活都做的局面,且公司人员较少,分工不明确从而造成了此类软件企业管理流程混乱,重编码轻设计,甚至到编码完成后再回头编写、应付各种文档资料,无论从哪个角度来说,这是没有任何意义的。软件项目的开发流程不规范,项目延期、失败层出不穷。所以如何有效地对项目进行管理,有章可循,对于中小软件企业来说,是非常有现实意义的。对于广大的中小软件企业而言,如何能有效且比较简单地对自己的软件项目流程进行管理呢? 项目流程管理在软件项目的开发过程中是非常重要的一环,它贯穿着整个过程,所以有时它也被称为软件产品生命周期管理,主要内容包括:立项、策划、分析、实现、测试、、维护等环节。 首先我们从软件工程角度来谈谈这个问题。我们来说一下软件工程中开发模型的概念,无论大小,每个项目都必定要遵循一定的开发模型。软件常用的开发模型包括:瀑布模型、螺旋模型、渐进模型。那么具体到中小软件企业,在这几种模型中,我们要注意些什么呢?下面我们针对这几种常见的模型做一下分析。 一般而言,瀑布模型常用于在开发时间内需求没有或很少变化、分析设计人员对应用领域很熟悉、用户应用环境稳定、用户除提出需求以外,很少参与开发工作、需求使用面向过程的语言或编程工具且风险较低的项目。 螺旋模型常用于在项目开发早期需求可能有变化、分析设计人员对应用领域很熟悉、用户可不同程度地参与整个项目的开发过程、使用面向对象的浯言或第四代语言、中等风险项目。 渐进模型主要应用于在整个项目开发过程中需求都可能发生变化、分析设计人员对应用领域不熟悉、用户可参与整个软件开发过程中、使用面向对象的语言或第四代语言且高风险项目。 生存期定义可视软件项目特性识别和所选软件开发模型而异,对于软件生命周期的几个环节来说,他们并不是孤立的、时间层次非常明显的,它们之间也存在着时间的重叠交叉甚至错位。 对于项目管理人员来说,要注意区分这几个阶段并在不同的阶段定义不同的工作内容并严格执行。而具体到中小型软件企业,由于人员较少,各种工程外小组不太健全。所以,针对这种情况,我们对各个流程进行分解大致分为调查阶段、立项阶段、策划阶段、分析设计阶段、实现阶段、测试阶段、阶段、维护阶段。 在调查阶段:我们要采集用户需求信息、拟定立项建议最后要生成用户需求文档及立项建议书。 在立项阶段:我们需要编制可行性分析报告、立项申请报告并进行评审最后要形成评审记录。 在策划阶段:我们要任命项目经理、建立项目组。并对需求进行分析、评审。根据需求情况对项目进行资源准备(人、财、物)。在此阶段要形成软件需求规格说明书及测试大纲及需求评审记录。 在分析设计阶段:我们要进行下面的工作系统设计(含数据库、界面设计)、设计评审、用例准备、测试计划评审、项目计划修订、复用元素提取根据情况要形成系统设计文档、集成和验证测试计划、系统设计评审记录、测试计划评审记录、项目计划修订记录。 在实现阶段,我们要进行详细设计、详细设计评审、构造软件(编码、自测)、模块测试、组装测试要形成详细设计文档,评审记录、源程序、相关的测试数据和记录。 在测试阶段,我们要进行集成测试、界面冻结、编写用户使用手册、填写申请单之后进行申请评审要形成集成测试测试记录、报告、安装母盘、用户使用手册子版)及产品介绍。 在阶段,我们要编写培训教材、进行产品包装设计、母盘准备、服务人员培训、光盘刻制、资料印刷、产品包装、产品检验、产品和交付井进行项目总结。 在维护阶段,我们要采集产品问题反馈单、登录问题反馈台账、编发产品问题的E—mail、采集、登录问题反馈跟踪记录表、编报问题反馈跟踪月汇总表、产品问题审核、分类和交付、产品问题回复、本版本产品问题维护、新版产品母盘制作、编、发产品更改公告、问题维护审核、新需求台账登录。 众所周知.影响项目进展的三个维度是成本、进度和质量。如何平衡它们之间的关系,尽力做到快、好、省?在有限资源的情况下将结果处理得最优?这就是项目中管理的学问了。任何项目要被视为成功,都要必须达到几个目的,这其中包括质量要求、截止期及成本限制。质量规定给出了一个最终的定义包括项目的形式、适配性和功能,它定义了项目提交给用户时的最终状态,而且要确保项目符合这些规定。 同时项目的进度也是非常重要的,项目管理的一个重要的职责就是要确定一个合理的交付日期。这就是一处平衡的过程,协调好这三个方面的工作,同时所谓一个项目,进度是主线,其他的因素是围绕它来做的,同时进度也是项目管理的标尺。所以在项目中一旦将会期确定下来,就要将它转化为进度表的形式,并告诉你的项目组成员。当编制进度表时,头脑中要牢记住这个日期。如果你的团队知道要求完成项目的实际期限,他们将受到更大的激励,对他们会更有帮助:当团队成员知道进度的情况时,他们将能够加快自己的步伐,从而为项目的顺利完成做出更大贡献。合理的进度,不应该让项目组成员感到紧张。紧张是个人绩效的一个主要杀手。紧张的人更有可能犯错误,而且一般来说其表现不如最佳状态:一个人犯的错误越多,他对其工作及对其本人的感觉就越糟糕,他就越有可能死火。高死火率意味着高的人员离职率,意味着你要花更多的时间用于更新雇人和重新培训。紧张的工作环境导致雇员的紧张,他们反过来又导致环境更加紧张。这是一种恶性循环,对于人员短缺的中小软件企业而言,这显然是不希望被看到的。 作为一个项目来说,如果没有一个明确的目标。对有些人来说,这种情况可能造成令人难以置信的放松,而对另外一些人来说,它又可能造成难以置信的紧张。那些不知道自己的工作到底是什么的雇员,容易变得紧张;他们拿不准为什么来这里,这意味着不能担保明天他们还会出现。如果你向你的团队成员提出了足够明确的目标,并向 他们展示实现目标的途径,你的雇员不仅不会紧张,而会真的感觉自己是该项目的一部分。可能还会对自己取得的结果感到自豪。而当项目经理用富有挑战性的工作和专门技术来影响员工的时候,项目成果的机率就会增大。 你不仅应当向你的团队成员说明目标,而且你应当让他们参与确定这些目标。并且一般来说让他们参与计划的编制,这是绝对必要的。如果你让团队成员帮助编制计划,你将更有可能提早发现可能发生问题的领域。团队成员也感觉到对项目承担了更大的义务,因为在使项目启动方面,他们有某种利害关系。 同时,在执行项目时,项目经理一定会面对这样的要求,即不超出某种成本限制。作为项目经理,应该制定一个比较详细的预算、计划,你应当告知你的公司或客户这项工作确切地说要花费多少成本:出于你的团队是执行项目的人此时也应该像客户一样,也需要尽可能地了解有关成本的信息,所以我们考虑软件的项目管理的时候,都必须在这几方面对其加以界定及规范,在日常的项目管理工作中要注重这几方面的协调、平衡。 一个项目组,我们也要关注于组织的建设。一个软件项目的成功,团队间的合作及有效沟通也是非常重要的。在交流的过程中,要有效的减少噪音,提高沟通的效率。几乎在所有的项目管理中,沟通问题是必不可免的,对于一些项目经理来说,沟通不佳意味着“没人听我的”,而对于另外的一些经理来说,沟通不畅意味着项目组成员每天到晚一直忙,却不见多少成绩,好多人做着重复的工作,因为彼此之间没有进行有效的沟通。沟通的方式很多,比如说会议、电话、电邮、甚至行为等等。 如果团队成员看起来不愿意沟通,这并不一定表明他们不愿意合作。相反,他们仅仅可能是不愿意以自己不适应的方式进行沟通。所以,为了鼓励沟通,我们必须清楚应该选择哪种沟通渠道,应该选择哪些条件组合,以得到我们所期望的反应。 在项目工作中,万不能对他人颐指气使。维持团队的关系以促进项目组成员齐心协力地工作这才是项目经理所要取得的目标。如果项目经理过多地用权力、金钱或者处罚的手段来影响项目组成员的话,项目失败的几率会很大。和其他方面的管理一样,项目管理既是一门科学又是一门艺术。在平时的管理工作当中,我们不仅要善于将相关的管理知识及管理理论有意识的应用到管理实践中,我们更要发展艺术性的思维。没有完全相同的项目环境,外部环境和内部环境是不断变化的,我们只有在不断的实践中探索才能深刻的体会到项目管理的精髓,不断的成长。同时作为一个项目经理,要有大局观,要具有系统思维。不要受单一项目的局限,要在一个更大的组织视野下考虑项目的实施。 软件项目管理论文:计算机软件工程项目管理 摘要:计算机软件工程项目管理和开发是一项具有复杂性以及系统性的工程,其涉及面相对较广,在实际的工作中所面临的风险也较大,因此对计算机软件工程项目实施系统和完善的管理是非常重要的。在信息技术以及科学技术高速发展的今天,计算机软件的规模以及复杂程度在不断增加,因此在实施计算机软件工程开发的工作中各种问题也逐渐地显现出来,给企业造成了不必要的损失,为了提高企业的经济利益,增加企业的综合竞争能力,促进计算机软件工程的发展就应该对计算机软件工程项目更好的管理方法和措施进行探讨和分析。 关键词:计算机软件工程;项目管理;管理方法;问题 目前,在实施计算机软件工程项目开发的过程中,软件工程项目管理工作并没有引起工作人员和企业领导人员的足够重视。在实施计算机软件工程管理的过程中,软件产品具有较强的特殊性,且计算机软件工程刚刚兴起,在实施软件工程管理的过程中很多问题并没有得到充分的认识,给工程项目管理带来了一定的困难,由此可见全面地实施计算机软件工程项目管理是非常重要的。下面该文就将计算机软件工程项目管理的内容作为基础,对计算机软件工程项目管理中存在的问题以及计算机软件工程项目管理的方法和策略进行探讨和浅析。 1计算机软件工程项目管理的内容 1.1对于组织机构的管理 在实施计算机软件工程项目管理的过程中对于组织机构的管理是一项重要的管理内容。计算机软件工程项目的管理人员在实际的管理工作中只有设置全面的组织结构,完善组织机构管理的质量才能完成科学管理制度和管理团队的建设。只有完善组织机构的管理才能清楚地划分管理的职责和权限范围,尤其是对于具有较强综合性的计算机软件工程项目来说,必须由专门的技术人员来负责组织机构的管理,进而提高计算机软件工程项目管理的有效性和质量。 1.2软件质量和配置管理 在实施计算机软件工程项目管理的过程中软件质量管理和配置管理有着不可替代的地位和作用。项目质量保证主要是定期地对总体绩效进行评估和评价,完善质量计划编制、项目质量保证以及项目质量控制等过程,对于不能保证项目质量的问题给予进一步的分析,找出具体和具有针对性的解决方法,进而更好地提高软件的质量。同时计算机软件项目管理人员也应该对软件产品的演变过程有一个精确的记录,保证软件配置管理的质量,进而完善计算机软件工程项目的管理工作。 1.3风险的评估以及管理 风险管理主要包括的内容有对风险的正确识别、风险评估以及风险监督和风险解决等,实施风险管理的主要目的是在预测到风险即将出现的时候及早采取措施给予抑制,避免风险的出现和发展。在实施计算机软件工程项目管理的过程中风险的评估和管理是一项重要的管理内容,计算机软件工程项目管理人员应该及早地对项目中存在的风险进行分析和评估,加强对各种可能出现风险的管理,降低各种风险对项目造成的影响,进而提高软件企业的经济效益。 2计算机软件工程项目管理中存在的问题 2.1缺少对计算机软件工程项目管理培训的重视 大多数企业在实施计算机软件工程项目管理的过程中往往会忽略对项目管理的培训,在项目管理培训上投入的精力、人力、物力和财力均相对较少,没有形成一个系统和完善的知识培训体系。很多软件企业只是依靠着某些项目管理工作人员精湛的技术能力以及综合素质,而在项目管理培训方面往往比较盲目,只是走一走过程而已,缺少对计算机软件工程项目管理培训的重视程度,项目管理人员缺少对项目管理知识和培训知识的掌握[1]。 2.2计算机软件工程项目风险控制的意识较薄弱 在目前我国各个企业竞争日益激烈以及经济高速发展的大背景下,各个软件企业在进行计算机软件工程项目开发过程中所面临的风险也越来越大,一旦发生风险就会给企业带来难以弥补的损失,由此可见在实施计算机软件项目管理的过程中风险管理是非常重要的。而目前大多数软件企业在实施项目管理的过程中对风险控制的意识相对较为薄弱,并没有认识到风险管理和控制对于项目管理来说的重要意义,以致不能及时地防范和控制相关管理过程中出现的风险。 2.3计算机软件工程项目管理人员团队意识低下 计算机软件工程项目管理工作人员在实施管理工作的过程中大多数工作人员并不能从宏观上对整个项目进行整体的把握,只是做好自己的本职工作,并没有从大局上对相关的管理工作进行考虑。大多数计算机软件工程项目管理工作人员缺少团队意识,这些管理人员虽然具有精湛的技术和较高的综合素质但是只注重个人能力的发挥,缺少培养新一代人才的观念,缺少带头作用和责任心,导致各种管理问题的出现,不利于企业的更好发展。 3计算机软件工程项目管理的方法和策略 3.1提高对计算机软件工程项目管理培训的重视程度 软件企业在实施计算机软件工程项目管理的过程中应该增加对项目管理培训的重视程度。企业应该增加在管理人员培训上的精力、物力和财力,注重对管理人员实践能力和理论知识的提高。让相关管理人员掌握更多的知识,让管理人员熟悉相关的培训和管理流程,进而更好地提高计算机软件工程项目管理的质量和有效性。与此同时,企业管理人员也应该建立软件工程项目管理培训的审核制度,项目管理人员在上任之前应该给予一定的考核,进而提高计算机软件工程项目管理的质量。 3.2提高计算机软件工程项目管理风险控制管理意识 计算机软件工程项目在实施管理的过程中应该建立有效的风险管理和控制机制,在实施计算机软件工程项目开发的过程中应该要求项目管理人员充分地掌握和学习风险管理知识,熟练地掌握风险识别、风险控制以及风险转移的方法,在项目启动后立即对风险进行识别和管理。与此同时项目管理人员也要保证风险控制和管理贯穿于整个软件项目管理的过程中,采用多种方法和技术手段对风险进行管理和控制,减少各种风险对企业经济效益和软件开发造成的影响[2]。 3.3培养计算机软件工程项目管理工作人员团队意识 企业管理人员在完善计算机软件工程项目管理的过程中应该让相关的项目管理人员从宏观上掌握大局,进而整体性地对整个项目管理进行掌控。同时也要充分地发挥项目管理人员在实际工作中的带头作用,合理地对员工的工作进行安排,对人力资源进行合理的运用。在此基础上也要提高项目管理人员的责任心和团队意识,在充分发挥每一个管理人员和工作人员个人能力的同时培养可以满足企业更好发展需求的新一代人才,提高计算机软件工程项目管理的质量。 4结语 总而言之,在当今这个信息技术和科学技术高速发展的时代,软件工程开发和设计过程中的各个项目所涉及的内容和范围也在不断增加,实施计算机软件工程项目管理过程中各种问题也逐渐凸显,而计算机软件工程项目工作的管理质量也逐渐成为影响软件企业核心竞争力的关键。在这样的情况下软件企业应该充分地认识到计算机软件工程项目管理过程中存在的问题,并通过一定的方法和策略给予完善,进而提高项目管理的水平和质量,促进软件企业的长期、稳定和健康发展。 作者:吴丽娜 单位:宿迁学院信息工程学院 软件项目管理论文:软件工程项目管理需求分析 摘要:科研机构、高校承担的大型科研工程越来越多,软件在工程项目中扮演着重要角色。结合科研领域软件开发特点,介绍软件开发流程管理及质量保障措施等,可为科研软件的质量提高及创新提供一定借鉴。 关键词:科研软件;需求分析;开发模型;质量保障 0引言 随着科研机构、高校承担的国家大型科学工程项目越来越多,在这些大型科学工程中,软件起到不可或缺的作用。如中国科学院高能物理研究所承担的硬X射线调制望远镜项目[1]、BESIII项目[2]中的数据采集软件、探测器和数据监测软件是获得物理成果的基础,而模拟软件和分析软件则直接关系到物理成果的处理和精度。这类软件项目有较深的物理学背景,需要使用一些物理分析和设计方法,实现手段必须符合领域特点。例如,数据存储在粒子物理实验和空间天体物理实验中的要求不同,前者主要采用ROOT[3]格式,而后者则以FITS[4]格式为主,开发所用的常见库和工具也因数据存取格式不同而不同。此外,该类软件应用面较窄,仅限于某一科研领域,其开发很难由软件公司承担,因为软件公司必须投入大量的学习成本,而产品应用又受局限。因此,这类软件的开发一般由科研院所、高校自行承担。然而,目前我国软件整体实力与创新性还不强,人才结构也需要改善[5],一些从事基础研究的机构,软件人才紧缺,且缺乏软件开发管理经验,造成软件质量不高。科研机构从事软件开发的科研人员学习能力强,热衷于追求新技术,如果在方法上给予指导,可帮助其开发出高质量的软件。依托大型工程培养所需的软件人才,不仅有利于大型工程项目的实施,而且还能为国家培养大批软件人才。本文结合该类软件项目的特点和科研机构现状,探讨其软件开发特点,并提出流程管理和质量保障措施。 1科研领域软件开发及其特点 1.1软件项目特点 (1)软件提出者。一般是项目科学家、顾问,他们具有较强的科学洞察力,也能较好地把握软件开发方向,但他们大多只关注宏观问题,而非技术细节,对软件不是很了解,不能用计算机语言和思维描述项目,也无法很好地理解和描述实现流程、细节,因此不能准确估计软件开发难度和工作量。 (2)软件开发者。一般为青年职工和学生,他们熟悉软件开发,但往往不能完全理解项目目标,也不能深刻理解其物理过程,理解过程中往往思维局限性大,缺乏方向。 (3)软件测试者。多数情况下单元测试由开发者承担,集成或系统测试由其他人员完成,部分由用户完成。与开发人员相比,测试人员往往物理基础较好,掌握基本测试方法,但是没有建立起完整的测试体系,而且将软件测试当作“副业”,测试以功能实现为主,对软件细节不了解。 (4)用户。用户一般是物理工作者,他们熟悉研究领域的物理要求,但不能用计算机语言描述需求,往往需求不实际或不够明确。他们对软件要求较高,要求通过物理测试对软件性能和输出结果精度进行测试。如通过运行大数据量检查软件内存和时间消耗,以促进开发者进行算法优化等。 1.2软件项目开发特点 (1)软件需求不够明确。科研领域软件项目一般都涉及到探测器和数据,涉及领域较广,而且需求不断变化。无论是软件提出者还是用户,往往难以用计算机思维或语言清楚描述问题;软件开发者对项目物理目标,特别是物理过程缺乏深刻理解,不能很好地理解软件功能细节及需求。比如,对于一些数据分析软件,提出者或用户难以描述出软件需要完成的功能,而开发者对数据处理流程中进行的数据转换、修正、数据结构重组也缺乏深刻理解。 (2)人员结构较为单一。软件开发中通常一人需要承担多种角色,包括软件需求分析员、设计者和开发者,甚至测试者。这样的职位设定,人员分工不明确,难以深入把握某一领域(比如测试)的特点和方法,从而影响了整个软件开发过程。 (3)软件实现细节难以把握。此类软件一般涉及复杂的物理过程,需要用一定的物理方法解决,但方法并不唯一,不同方法会对结果带来一定影响,而且不同类型数据所依赖的方法也不同。软件开发中还有些研究性课题,只能以接口形式存在于软件中,但预留接口时往往设计较为简单,考虑的情况过于理想,难以满足实际需求。然而,如果设计时考虑得比较复杂,接口较多,又往往缺乏必要的软件技术和经验,不能有效把握细节。 (4)硬件频繁改动增加软件开发风险。软件依赖于硬件,设计初期软件是在理想的硬件设计状态下运行,但如果硬件发生变更或者运行影响因素增加,软件也随之变动,从而加大开发风险。 (5)软件测试及评估缺乏专业水平。由于开发者、测试者与用户的专业测试能力都比较欠缺,难以涉及到核心质量问题,往往无法全面对软件作出专业评估。 (6)人员管理难度大。科研机构、高校一般热衷于科学研究而不是工程项目本身,因此难以兼顾两方面工作。软件提出者和管理人员往往对软件工程缺乏深入了解,难以对开发工作作出客观评价,因此对软件开发的进度和质量带来一定影响。 (7)软件不确定性因素多。随着工程实施,软件提出者、用户会不断改变、增加需求,加上开发者及测试者缺乏相关经验,代码开发不规范、开发人员流动性强等增加了软件开发的不稳定性。另外,为降低开发成本和难度,开发人员通常会引入现成的工具,这可能给软件开发带来隐患。然而,面向某一科研领域的软件开发项目也有自身的优势。如和大型专业软件相比,所需的项目功能不是特别多,部分开发平台具有可移植性,开发人员综合素质较高,学习能力强,英语基础较好。此外,很多工程与国外合作开发,可参考国外成熟软件,并方便引进一些免费的软件框架和平台,如Gaudi[6]框架、天文分析工具库Ftool[7]等。 2软件开发流程管理 2.1确定软件开发模型 科研机构,尤其是一些缺少经验的团队,习惯采用瀑布模型进行开发,主要由于该模型分阶段,且各阶段间存在因果关系,比较符合思维模式。但它会产生大量文档,到开发后期会凸显软件开发缺陷。适合科研领域的开发模型有迭代式模型[8-9](需求变更驱动型)、增量模型(功能驱动型)及快速原型开发[10]等。对于科研软件而言,模型选择需综合考虑软件框架稳定性和开放性、构件独立性以及项目组开发经验等。比如对于需求不明确、流程不清晰、算法不确定的项目(如数据处理软件、分析软件和标定软件等)采用迭代模型或者快速原型开发较好。此外,采用一种模型为主,其它模型为辅,也会得到很好的效果。 2.2加强开发流程控制 无论采用何种开发模型,开发人员必须在每一次开发或迭代中完整实现需求分析、设计、编码和测试等步骤。各阶段的评审或项目报告尤为重要,项目前期要确保软件开发人员准确理解项目需求以及软硬件环境;中期阶段要确保开发流程和方法可靠;后期要通过测试确保软件运行符合要求。 2.3需求分析中注重物理分析 科研软件中一般涉及大量数据操作,而且过程比较复杂,一些原始数据要经过转换、重建、标定及修正等步骤,而且处理不一定是线性的,即相邻数据之间可能有关联。这些功能和性能需求不容易明确,需要着重把握。软件中还可能涉及一些物理算法(比如图像修正、频率分解等),因此在需求分析中需要着重进行物理分析,包括流程梳理、特殊方法和条件选择等。 2.4采用串行开发方式 科研机构人员结构比较单一,往往多项工作并行执行,给软件开发质量提升及人才培养带来不利影响,可将相关性比较强的软件以串行方式开发,数据产品生成软件和数据分析软件可以依次开发。 2.5提高开发人员的主观能动性 软件开发过程中,保障软件项目负责人在经费使用及绩效考核中的话语权,组建凝聚力强的研发团队,对软件开发的进度、质量进行考核。 3软件质量保障措施 (1)加强开发过程中的沟通。科研项目的不确定性带来软件开发需求的变动,用户往往只注重项目需求功能满足,而不关心软件的实现细节,所提出的功能或接口可能不切实际,因此需要加强与用户的沟通,明确软件开发目标。 (2)充分调动开发人员积极性。科研机构软件开发人员往往是科研项目的幕后工作者,其工作成果容易被科研项目成果所掩盖,所以充分调动软件开发人员的工作积极性尤为必要。一方面,为其提供成果展示平台,尤其是展示创新性成果,如将开发中的文档整理成册等;另一方面,在基金申请、职称评定等方面提供支持。科研机构职称评定主要依据取得的科研成果,由于工作内容不同,如采取同样的评审条件,软件开发人员与其他研究人员在同一层次上竞争将缺乏竞争力。可能导致部分人员不愿意从事软件开发工作,或者开发软件的同时还从事其它研究,从而影响软件开发进度和质量。因此,需要根据软件开发人员工作的特殊性,通过有效的激励措施调动其积极性。 (3)培养既懂管理又懂技术的项目负责人。优秀的软件工程项目负责人不仅是一个好的软件设计师,对软件实现细节能够很好的掌控,还是一名优秀的管理者,能科学配置资源。 4结语 面向科研领域的软件具有较深的行业背景,其设计方法、实现手段有很强的领域依赖性。本文从科研领域特点及软件提出者、开发者、测试者、用户的角度出发,探讨了其需求难以明确、人员结构较单一且管理难度大的特点。在软件开发管理过程中,需要采用合适的软件开发模型,注重流程管理,充分调动开发人员的工作积极性。 作者:赵海升 李兵 聂建胤 宋黎明 单位:中国科学院高能物理研究所 软件项目管理论文:软件工程项目管理在软件开发中的应用 【摘要】 随着软件深入到我们生活的各个领域,人们对软件的特性以及功能要求越来越多,要开发出一个优秀的软件,必须综合不同的用户的不同的想法。另外加上企业、个人和政府的信息需求日益复杂,现在的计算机程序不再是一个人能够轻松构建,而是需要一个庞大的团队共同努力。并且各种形式,各种应用领域的软件都需要工程化,所以,产生了软件工程,整个软件工程过程中的项目管理方法是非常重要的,本文主要根据软件开发中项目管理涉及的人员、产品、过程和项目四个方面来讲述了软件工程项目管理的具体内容。 【关键词】软件工程;项目管理;管理方法 1软件工程开发概述 软件工程是建立和使用一套合理的工作原则,以便经济地获得可靠地、可以在实际机器上高效运行的软件。软件工程方法为构建软件提供了技术上的解决方法,包括沟通、需求分析、设计建模、编程、测试和技术支持。 2软件工程项目管理方法在软件开发中的应用 有效的项目管理集中在4个方面:人员、产品、过程和项目。 2.1人员 在IEEE发表的一项研究中提到,当向3个大型技术公司中主管工程的3位副总裁问及一个成功的软件项目中最重要的因素是什么时,他们回答会的的第一重要的因素不是他们所用的工具,而是人员。 2.1.1项目利益相关人员每个项目的利益相关人员有高级管理者、技术管理者、开发人员、客户和最终用户参与,为了高效率的完成项目,整个团队必须能够发挥好每个相关人员的能力和技术,这是团队领导者的任务。 2.1.2团队领导者项目的管理需要很多相关者的努力,作为一个团队的领导者,第一要具有一定的实力,必须能够掌握整个项目,还要能够理解团队人员,能够用自己的语言来影响整个团队。 2.1.3软件团队优秀的团队结构取决于组织的管理风格、团队里人员数目与技术书评,以及问题的总体难易程度。规划软件工程团队结构时应该考虑待解决问题的难度、开发程序的规模、团队成员需要共同工作的时间、对问题做模块化划分的程度、待开发系统的质量要求和可靠性要求、交付日期的严格程度以及项目所需要的友好交流的程度等因素。 2.2产品 不管喜欢与否,从项目一开始,就要研究应该开发哪些产品以及要解决哪些问题。至少我们要建立和界定产品的范围。 2.2.1软件范围软件项目管理首先要做的就是确定软件范围。确定范围主要考虑要开发的软件如何适应于大型的系统、产品或业务环境,软件要产生哪些客户可见的数据对象作为输出和软件要执行什么功能才能将输入数据变换成输出数据等问题。 2.2.2问题划分问题划分是软件需求分析的核心活动。在确定软件范围的活动中,并不试图去完全分解问题,只是分解其中的两个主要方面:必须交付的功能和内容和所使用的过程。 2.3过程 团队选择过程模型主要适合于需要该产品的客户和从事开发工作的人员,产品本身的特性和软件团队随处的项目工作环境。软件团队在选择最适合项目的软件过程模型时,应该具有很大的灵活性。一旦选定了过程模型,项目团队可以根据需要灵活地确定过程模型中应包含的软件工程任务。较小的项目如果与以前开发过的项目相似,可以采用线性顺序方法。如果时间要求太紧,不可能完成所有功能时,增量策略可能是最好的。同样的,如果项目具有其他特性,可能就要选择其他过程模型。作为项目负责人,要特别注意与用户保持联系,掌握用户的心理和动态防止来自用户的各种干找和阻力。 2.4项目 为了更好地管理软件项目,我们要注意以下几点: (1)在正确的基础上开始工作。通过以下两点来实现:首先努力的正确理解要解决的问题,然后为每个参与项目的人员设置现实的目标和期望。这一点又通过组建合适的开发团队,并给与团队工作时所需的自由、权利和技术而得到加强。 (2)保持动力。很多项目的启动都有一个良好的开端,但是,后来慢慢地开始瓦解。为了使整个项目开发过程人员充满动力,项目经理比喻采用激励措施,使人员变动更小,让每个任务都高质量的完成。 (3)跟踪进展。对于软件项目而言,当工作产品正在产生或被认可时,跟踪项目进展要作为质量保证活动的一部分。 (4)做出英明决策。总体上,项目经理和软件团队的决策应该“保持项的简单性”。 (5)进行事后分析。建立统一的机制,从每个项目中获取科学系的经验。 3结语 软件工程项目管理是软件工程的普适性活动。它先于任何技术活动之前开始,且持续贯穿于整个计算机软件的建模、构造和部署之中。项目管理中的人员、产品、过程和项目对软件项目管理具有重大的影响。要顺利完成软件开发,就必须将人员组织成有效的团队,激励他们完成高质量的软件工作,并协调他们实现有效的沟通。产品的需求必须考虑客户与开发者的想法,设计更合适的产品。过程必须适合于人员和产品。最后必须采用确保软件团队能够成功的方式来组织项目。 作者:王明 单位:首都经济贸易大学 软件项目管理论文:计算机软件工程项目管理研究 1软件工程项目管理中存在的问题 1.1缺乏管理意识 在软件工程项目处理中,有些项目经理没有强烈的认识到本身的责任,无法从总体上掌控全部项目,只是静心于详细的技术工作,造成项目组成员之间忙的忙、闲的闲,打算不周、使命不均、资本奢侈等近况。有些项目经理没有很好的管理方法,本身做比力坚苦的事情,使项目使命没法公道的分配给小组成员,以到达事情“负载平衡”。在涉及相关软件技术方面的企业中,项目经理大部分是团队中的技术中坚力量或者是主要技术人员。但是,在详细的项目实施细节中,无论是项目基本的常识,或是项目实施必备的能力与本领,他们还存在着很大的晋升空间。技术骨干在担当项目经理之前,最佳的选择是提前练习与实践相关的项目办理常识。项目经理需要的不仅仅是技术上的常识,更多的是与人来往配合的常识,需要指出的是人际间的交往能力是其必需的业务素质之一。另外,项目的负责人还要有比较强烈的责任意识,并且在现实工作中不断提高本身应该具备的责任品质,积极践行责任行为,树立好的标杆与榜样,为团队整体的发展负责。这是项目实施的具体路径所决定的,没有领头羊一切将很难开展与执行。 1.2存在风险管理 项目风险与预防潜在危害的意识是一种非常重要的意识,在任何项目在举行方向与正式实行以前,作为项目的负责人要从危害存在的大概性动身,对其大概致使的危害系数举行预先的判定和做好需要的预警备案。任何项目都有必然存在的潜在的风险,但是最好人工的准备,风险的危害最大水平的降低是对项目负责人能力与水平的重要考量,其必需做好足够的准备工作来应对随时发生的变故。有些项目经理在工作中并没有充分认识到风险管理的重要性,对企划书中风险管理进行了粗略介绍,敷衍了事的随意列出几条危害,写一些简略应答办法,对后来的风险防范起不到任何作用和影响。 1.3内部沟通问题 在软件工程项目的进展与实施过程中,人际间的配合与合作是不可缺少的,但是由于秉性的差异,沟通与交流中的障碍与差异会影响团队的协作与凝聚。很多开发的工程项目的规模比较庞大、复杂,项目经理就很难协调小组成员之间的关系。项目团队中就很有可能出现不同角色之间的分工不清、责任不明,导致的工作互相推诿、出现问题推卸责任的情况。有时还会发生组员之间不进行沟通联系,各做各的工作,不愿意和别人合作,最终导致的项目无法按时完成等问题,产生不必要发生的损失。为避免以上呈现的现象在软件工程项目的研发与实施过程中,项目经理应制定有效的交流轨制和交流机制,增强团队队员之间的配合意识,对由于贫乏交流而产生的差错要进行规避与责罚。进度控制的问题在软件开发工作过程中,由于种种原因无法按时完成工作进度,延期项目的进度也是经常有的事情,有可能会带来很严重的损失。这时就需要项目经理来有效的节制团队的工作进度,对应项目进度的个体意义进行判断,事前或实时采纳需要的办法,尽可能缩小预期进度与现实进度的误差,实现对项目的自动管控。 2软件工程项目管理对策 2.1完善管理体系 首先,计算机软件工程项目管理的体系要对人才进行有效并且合理的管理,建立一个完善的、合理的人力资源管理体系。其次,团队职员要有杰出的本领与功底,而且队员要有求知欲和上进心,可以不竭的进修计算机软件工程项目办理的热情,有用的将履历和实践。最后,团队中的队员要履行工程项目中的规章制度,严苛的奖惩制度也会在必然程度上增进队员,激发他们的主动性,使得队员更踊跃的为项目尽力。 2.2提高进度与风险管理工作的效能 项目经理首先应加强项目进度的处理,项目进度计划的制定指,利用时间进度完善办理进程的功效,来抉择项目的起头及完成的时刻表。成立一个实际的项目进度计划的进程,和公平合理的、有效的管控好计算机软件工程项目办理中,全数小组成员的任务状况。 计算机软件工程项目办理的职员,应答危害办理的常识、危害方法的常识、量化的方式,和危害管控的方式举行有用的把握和认知,为计算机软件工程项目办理做好有用的危害办理陈述,而且做好有用的危害防备事情。风险在项目完成之前的过程中都有可能会发生,所以需要项目经理定期的对软件工程项目进行风险评估,对不同等级的风险进行使用不同的应对措施来处理问题,必要时期可以采用规避、减缓等处理方式。当前在软件项目控制中的一个非常重要的应用是对信息的优化处理与分析,从而做出比较科学的判断与预测,随着近几年来,软件在项目控制中的深入应用,特别是各种计算方法的不断普及,项目控制在“软计算”等方面取得了非常长足的进展。这些都是我们在未来的项目工程现代化技术的发展方面应该急需解决的问题。 2.3建立合作式团队 我国在项目管理方面的科研人才存在着很大的缺口,这一点严重地制约了我国项目管理的现代化技术发展,因此,构筑合作团队非常重要。第一要素是信任感。这意味着一个有凝聚力的、高效的团队成员必须学会迅速地、平心静气地熟习自己的诟病、错误、失败。他们还要乐于承认他人的优势,即便这些优势超过了本身。以人的软弱与退缩是很难形成有战斗力的集体的,这与高效管理的初衷也不尽符合。第二要素超卓的团队需要领导带头。团队成员全力以赴,由于他们很清晰必要做什么,他们会彼此排除别人那些无助的行动而恰恰是这类无怨无悔的行为,才培育和培养了他们对彼此的负责与担当。第三要素增强职员之间的联系。可以按期见面开会,开会前先把议题准备好,会中有记实,吩咐有记实总结、存案,除正式交往,队员之间也要非正式练习,连结事情关系,增强感性与亲情的融会是队员的一种需求。 3软件工程项目对策的有效性分析 当前在软件工程项目中的一个非常重要的应用是对各种信息的优化处理与分析,然后制定相应的对策,来实施对各类问题的有效解决。 3.1对策的针对性 对策目标的针对性,是指备选的对策必须是依据项目管理中给出现的问题,提出的解决方案。文中第三部分指出的三条对策都是根据软件工程项目管理中可能出现的三种问题,一一对应提出的,每一条都是根据问题提出的相对应的解决措施。这中针对性要从不同的问题性质的本身来设定不同的方案,在实践过程中,对策的针对性是解决问题的关键所在。 3.2对策的实用性 对策必需遵循主、客观条件,并在此基础上提出清楚的而不是模糊不清的、可操作的而不是脱离实际的对策。提出的三种对策都是在现实能够达到的基础上制定出来的,清晰地指出应如何处理项目管理中出现的问题。所以,从问题对策的实用性出发,探究其发展的对策具有非常重要的积极意义。 3.3对策的可行性 对策的可行性指对策与问题之间是否存在一致性。同时,政策的制定应该遵循各种主观与客观的要求,在了解清楚的基础上进行对应性的应答。当政策与具体问题出现严重的不对称时则非常容易造成意外的损失。 作者:郎晓菲 软件项目管理论文:计算机软件工程项目管理思考 计算机软件大体分为三类,一种是总述,一种是系统软件,一种是应用软件,系统软件的作用是促使各个硬件按照一定的规律协调工作,保证计算机处于正常运转状态。而应用软件的作用则是为了实现某种使用愿望而开发出来的软件。 1计算机软件工程项目管理的基本概念 1.1工程项目管理的含义工程项目管理主要是业主通过委托从事工程项目管理的企业,签署相关协议,工程项目管理企业有义务和权力代表业主在工程项目进行的情况卜干预和服务。工程项目管理企业可以协助业主同项目工程总承包签订一系列合同,只是起到辅助性作用,不直接与总承包企业或者施工、勘察、供货和设计签署协议或合同,工程项目管理企业有责任在施工过程中监督合同的完成情况。 1.2软件工程项目的概况 1.2.1管理人员开展有序的项目计划 企业必须把人员管理放在重要位置,在软件工程项目的开发上人员的调配问题是保证工程顺利进行的重要因素,因此,项目能否成功和工作人员的工作能力、写作能力息息相关,针对工程项目的操作类别不同,可以分配成各个研究小组,进行科学合理的针对性开发和高效的协作,有利于工程的快速推进和更加完善。小组内的人员根据自身优势,确定自己的工作内容和工作时间。对项目进行正确的认识和对风险进行评估,与此同时从节约成木的方而出发,形成科学的人力资源调配机制,使项目得以顺利开展。 1.2.2质量和配置管理工作 软件的质量管理工作是整个项目的核心工作,质量管理决定着计算机软件工程项目管理是否真正的成功,通过一系列保证质量的手段,有计划的编制、控制和保证项目质量。保证项目质量的方式可以通过定期的进行质量评估得以实现,在日常项目管理中要不断的对工作进行考查,对于项目不合格的地方要提出意见并且考虑整改措施,不断完善整个软件配置管理的记录工作,使项目的质量能有一定的检测体系,这样开发者会对项目工程的质量问题有比较深入的了解。 1.2.3风险评估和管理工作 风险管理大致分为两种工作,一种是风险识别,另一种是风险评估。得到评估结果以后要针对问题提出相应的解决办法,定期检测计算机软件工程的好处是可以减小产生风险的概率,还可以避免一些因疏忽而产生风险,使项目的损失减少到最低,也减少了因项目风险而造成的一些相关责任人的利益冲突。 2计算机软件工程项目管理中存在的问题 2.1管理团队的协作问题 分工合作是我们完成一个项目的基木因素,在软件开发方而更需要每个人的智慧一起凝聚出果实,共同享受成果,而目前在计算机软件工程项目管理方而信息的交流方而存在一些问题,例如分工不清、团队不合作等问题。 2.2需求分析和实际中的业务存在差距问题 计算机软件工程项目没有结合实际的活动需求,也没有调查有效的数据分析,因此计算机软件工程项目管理在开发出新的产品以后并没有取得理想的业务效果。 2.3风险管理的问题 项目的风险工作是企业需要考虑的很重要的问题,如果风险没有相应科学管理,很容易带来巨大的损失,但是很多员工并不懂得如何规避风险,缺乏相应的专业知识,更是缺少对风险工作的管理,导致很多企业在风险来临时无法做出正确行动,造成巨大的经济损失。 3计算机软件工程项目管理的对策 3.1对风险管理和工作进度进行有效管理 制定风险管理制度。计算机软件工程项目管理的工作人员必须具有一定的风险识别意识和相应的遇到风险的专业知识,并且能有效的控制风险的能力。在平时要做好风险评估的管理报告,针对可能发生的风险要及时预测并且做出相应的解决行动。设置专门的人员对计算机软件工程项目定期进行风险的评估和检查工作。在整个项目中,根据需要进行多次的风险管理工作,因为风险无时无刻都有可能存在,检查的目的是尽量减少风险发生,在一般情况卜处理风险的措施一般有三种:减缓、规避和转移。提高工程的进度,不断的推进工程的工作效率。要制定详细的工作计划表,并且尽可能达到最高的工作目标。工作人员有严谨的工作态度和高效的作息时间安排,管理人员要密切关注工程进度,不断的督促员工完成应做的工作量,有条理、高效的完成对员工的工作任务的监督工作。 3.2建立完善的管理体系针对计算机软件工程的人员日常管理工作,要建立科学有效的管理方案。合理安排人才资源,确保在进行计算机软件项目工程时人员调配顺利进行。专业知识的培训对于工作人员来说 是必不可少的,可以极大的丰富计算机软件工程项目人员的专业水平和实践能力,减少工作上的失误,提高工作效率和工作人员的素质。奖罚制度是对企业员工优劣的衡量标准,所以在计算机软件工程项目管理方而采取奖罚制度可以极大程度上调动员工的积极性,使员工主动为企业创造效益,企业的发展才能有长远的未来。 3.3建立合作的团队 在员工内部建立有效的交流机制。员工的内部工作经验交流是非常重要的,因此要完善沟通方法,开辟多种交流方式和渠道,不断的增强各个部门的沟通意识,使团队的力量不断凝聚起来。明确分工,责任落实到个人。计算机软件工程管理非常复杂,需要的人员也众多,因此必须要使每个员工明确自己的工作内容和范围,清晰的划分自己所需要负责的区域,清楚自己的责任,这样能够确保每一个步骤都井井有条,非常有秩序。调动整个团队的工作积极性。通过一些活动、奖励措施等使每一个工作人员全身心的投入到工作中去,愿意并想要去做的更好,不断激发团队的潜力和员工的协作能力,这样项目不仅会做的越来越好,员工内部也会越来越和谐并且充满正能量,企业的效益也会不断得到提升。 4结语 计算机软件工程项目管理的工作内容十分的复杂,要保证软件工程按照工程原计划进度顺利开展工作,并且要节约成木、保证质量,必须熟练对计算机软件进行操作,在现在的大多数生产计算机软件的企业中最为重要的就是软件工程项目的管理效率,软件工程项目的成功条件是软件项目要具有科学性和高效性,在此基础上企业的合理管理也是企业走向成功的关键。 作者:陈瑾 单位:徐州工程学院 软件项目管理论文:软件开发项目管理论文 1在软件开发中实施项目管理的重要性 有时即使不开展项目管理工作,软件开发项目也能取得成功。但是如果乏项目管理,则难以将成本控制在一定范围内,容易导致软件企业面临着亏损的风险。在开展项目管理工作的过程中,需要借助技术、方法等,管理软件开发活动,如此既有助于实现软件开发目标,又能够控制软件开发的进度以及开发成本。当前,虽然有部分软件企业依据软件工程理论,制定了管理软件开发的制度,但是却没有严格控制软件开发的进度以及成本。这种做法不仅会延长软件开发的时间,还会增加软件公司的经营风险,最终损害到相关用户的利益。而在软件开发过程中,开展项目管理工作,就有助于保证软件开发工作的顺利完成,同时提高软件企业的经营管理效率。 2项目管理在软件开发中的应用现状 在二十世纪六十年代中期,人们发现了在开发软件过程中存在着很多问题,具体的问题表现在以下两个方面:一方面,不规范的生产过程;另一方面,不重视管理工作。为了能够有效解决软件开发过程中存在的问题,人们开始尝试利用过程管理方法。但是到了二十世纪八十年代,还是没有制定管理软件开发过程相关标准。近几年来,在信息技术快速发展的背景下,人们采取项目管理来控制软件开发的质量、软件开发的成本等,以此确保软件开发的质量和成本等因素,符合当时的既定标准。在软件开发过程中,每一个项目组的不同成员都应该承担不同的任务,并且企业管理者应该要求他们要在规定的时间内完成自身的任务,这种明确分工制度,有助于提高员工的工作效率。 3项目管理在软件开发中的应用 每一个软件开发项目都要经过以下几个阶段:提出问题、研究可行性、分析需求、测试等。因此项目管理工作应该贯穿于软件开发的整个过程。 3.1可行性研究 无法开发哪一个项目,都需要进行可行性分析与研究。通过利用项目管理来研究软件开发项目可行性的目的在于:在最短的时间内确定软件开发项目是否具有开发的价值。其中可行性研究的内容包括: 1)、研究技术的可行性。其主要是指:要合理地分析开发项目的功能与性能,分析其中所隐藏的技术风险。 2)、研究经济的可行性。其主要是指:估计所开发的项目给企业带来的经济效益,然后依据所估算的经济效益,确定该项目是否具有投资的价值。 3)、研究社会的可行性。其主要是指:分析此项目的运行方式是否正确,分析当前的人员技术水平以及管理制度是否具有可行性。 3.2软件项目估算 在软件开发过程中,首先要规划软件开发项目,如此便于项目管理人员制定切合实际的估算方案。规划软件开发项目的内容主要包括:明确软件开发的目标、明确软件开发过程中需要用到的各种资源、明确软件开发的进度等。在软件开发过程中,估算起着非常重要的作用。通过估算可以保证软件项目在规定的时间内完成,也可以确保软件项目的成本未超出预算。在估算资源、成本以及进度的时候,要依据自身丰富的经验以及相关的数据。但是当前所使用的估算方法较为单一,此种估算方法容易增加估算风险。对此,研究人员应该努力研究出更多科学、有效的估算方法。 3.3软件项目开发人员的管理 在开展软件项目开发人员管理工作的时候,首先要合理安排人员。通常情况下,是由多个小组成员共同完成软件开发项目。在具体安排人员任务的时候,要依据每位人员的优势进行,并且要明确小组内每一位成员的工作任务以及工作目标。在软件开发过程中,要确定不同的责任人,比如:项目经理、开发经理,并且为每一个小组安排一名组长,如此有助于确保软件开发项目的顺利完成,同时保证所开发出来的软件属于高质量产品。 4结束语 虽然项目管理过程中并没有包含较为深刻的理论,但是要想真正实施项目管理还是比较困难。对于软件开发企业来说,其应该在不断的实践中总结项目管理工作经验,以此提高项目管理工作的质量。 作者:侯凯 单位:锦州银行股份有限公司
软件硕士毕业论文:关于教育技术学之教育软件工程硕士点建设研究 【论文摘要】本文探讨了我国教育软件工程硕士点的建设现状。文章指出,我国教育软件硕士点处在起步发展阶段,目前面临着数量少、课程体系不健全、培养模式单一等问题。文中分析了我国新时期建立和完善教育软件硕士点的必要性和可行性并提出了今后教育软件硕士点的发展道路和方向。 【论文关键词】教育软件;可行性;课程;实践 一、教育软件工程硕士点发展现状 教育软件工程属于教育技术学硕士点的一个方向,目前在我国的研究生教育中逐渐发展起来。教育技术学一般有以下几个方向:教育技术学基本理论、教育信息化、教育软件工程、知识工程、远程教育或叫网络教育、信息技术与课程整合、数字软件资源、教学系统设计等。截止2010年,我国拥有教育技术学硕士点的学校已经超过60所,但设置了教育软件工程方向的学校并不多,主要为教育信息化、信息技术与课程整合、数字资源、教学系统设计等。有的学校把教育软件工程硕士点没有放在教育学院,而是放在了其它学院。下表是对我国拥有教育软件工程方向的学校进行的统计。 从表1调研结果可以发现我国教育软件工程硕士点分布有以下几个特点: 1.教育软件硕士点的总数还很少我国硕士点中目前设置教育软件方向的高等院校总数还不超过20所。 2.“2ll”、“985”高校开设有教育软件工程硕士方向的很少。从上表可以看出,位列“985”高校的只有清华、中科大两所,位列“2l1”高校也只有清华、中科大、北邮三所。这对培养高层次教育软件人才是非常不利的。“985”、“211”高校有着良好的科研环境,是培养高层次人才,特别是与海外接轨的重要基地和摇篮。 二、开设和完善教育软件工程硕士点的必要性 教育软件硕士点是专门培养教育软件研究和开发高层次人才的,对我国教育水平的提高和教育信息化的发展具有重要的意义。教育信息化的发展包括教育硬件信息化和教育软件信息化两个方面。丰富的教育软件可以调动学生的积极性,提高教学和学习的效率教育软件资源包括各种多媒体课件,各类教育软件、教育资源库等。教育软件包括学科类教育软件和教育管理类软件等。学科类软件包括数学、英语等学科类教育软件。教育管理类软件主要包括教务管理软件、考试系统等校园管理类软件,还有国家管理系统。教育软件从用户角度可以分为课堂教学软件和个人使用软件等。 袁振国在《教育研究方法》中说:“这就注定了班级授课制一开始就种下了教育的一系列祸根:非针对性、去个性化。”教育软件可以实现个性化教学。学生个人可以自由使用教学软件,不断加深对知识的理解和提高学习的效率。例如,学习函数图象的性质,学生可以使用软件例举很多实例,既加深了对函数图象的理解,又开拓了视野。 教学软件的多媒体特性可以充分调动学生的积极性和增加课堂教学的趣味性。目前我国学生普遍对学习缺乏兴趣,教育软件的使用对调动学生的积极性将起到一定的推动作用。通过大量高水平多媒体教育软件的开发和使用,不断提高教学的效果和提高学生的成绩。 教育软件中很重要的一类是教育管理软件。教育管理软件在我国教育管理中扮演了非常重要的角色。教育管理软件在我国学校被广泛应用。教育管理软件对我国教育实现科学化、正规化起到了非常重要的作用。通过开发和使用高水平的教育管理软件系统,不断解决我国目前教育管理涌现出来的问题,不断提高我国教育管理的效率。 但是目前我国软件科学的发展是很落后的,大量的技术都是从美国等先进国家引进的。据调查,我国软件业的发展每年都缺乏大量的软件开发和研究人才。硕博教育是我国培养大量软件开发和研究高层次人才的一个重要手段。 从上述分析来看,教育软件方面高层次人才是需要的,我国需要培养出大量高层次教育软件人才,不断完善教育软件学科的建设是我们面临的紧迫任务。 三、建设教育软件硕士点的时机和可行性研究 1.建设教育软件硕士点的时机 2010年6月21日中共中央政治局通过了《国家中长期教育改革和发展规划纲要(2010-2020年)》。《纲要》中对教育软件资源方面提出了明确的要求: (六十)加强优质教育资源开发与应用。加强网络教学资源体系建设。引进国际优质数字化教学资源。开发网络学习课程。建立数字图书馆和虚拟实验室。建立开放灵活的教育资源公共服务平台,促进优质教育资源普及共享。创新网络教学模式,开展高质量高水平远程学历教育。继续推进农村中小学远程教育,使农村和边远地区师生能够享受优质教育资源。 (六十一)构建国家教育管理信息系统。制定学校基础信息管理要求,加快学校管理信息化进程,促进学校管理标准化、规范化。推进政府教育管理信息化,积累基础资料,掌握总体状况,加强动态监测,提高管理效率。整合各级各类教育管理资源,搭建国家教育管理公共服务平台,为宏观决策提出科学依据,为公众提供公共教育信息,不断提高教育管理现代化水平。 《大纲》的通过,为我们新时期教育软件资源的建设提供了方向和良好的时机。我们可以抓住这个时机,不断推进教育软件工程硕士点的建设。 2,可行性分析 985院校有国家的大力扶持,建设教育软件工程硕士点是可行的。随着通信网络技术的不断发展,软件方面的人才也越来越多,在建设教育软件工程硕士点的人员配置方面也是可行的。 四、教育软件硕士点建设研究 1.数量增加 在未来的十年内,争取在“985”院校中开设有教育软件工程硕士点的学校增加到10所以上。以“985”院校带动其它高校的发展。 2.课程的设置 软件方面国外发展的脚步远远领先中国,所以引入一些国外原版教材是必要的。 我国的教育技术学教育软件工程方向硕士点的发展还处于起步阶段,笔者对国内教育技术学教育软件工程方向课程设置进行了调研,比较有代表性的是清华教育研究院和北京邮电大学网络教育学院的教育技术学教育软件工程方向清华大学和北京邮电大学的软件学科排名处在全国前列。 笔者发现,即使是软件学科在全国处在全国领先的水平,但教育技术学的教育软件工程方向的建设还很不健全。一方面软件方面的课还偏少,另外一方面实践环节安排的太少。 (1)软件方面的课程偏少 笔者对北京邮电大学教育技术学培养方案的调研来看,北京邮电大学软件工程方面的课程包括数据库原理、面向对象的技术与c++编程、软件工程实践、java技术、数据结构。清华大学教育研究院教育技术学还没有相关的专门软件课程。北京师范大学教育学部教育技术学专业硕士点设置了计算机软件与理论专业,软件方面的课程包括教学软件设计与开发一门课。为了提高培养质量,需要增加一些软件方面的其它课程。兰州大学在设置教育软件硕士点的时候开设了很多软件课程包括教育软件基础(1inux)、软件工程导论、vb程序设计、网络系统规划与设计、数据结构与算法分析、java程序设计、软件体系结构、软件项目管理、软件开发过程及配置管理、软件构件与中间件技术、教育软件制作实践等。这样的课程设置相对比较齐全。 (2)实践环节不足 培养高层次教软件人才需要不断增加学生的动手实践训练,增加实践课的时问,不断提高实践课的质量和增强实践课的效果。北京邮电大学教育技术学专业教育软件工程硕士点实践课包括而向对象的技术与c十+编程、软件工程实践。清华大学教育研究院实践课只有一门课社会实践。兰州大学实践课包括教育技术综合实验、教育软件制作实践、信息化教学实践。一方面,很多高校教育软件硕士点实践课的时间短、种类少。另外一方面,实践课不被重视,上课效果根本达不到预期效果。要严格制定实践内容的计划和任务。实践课一般包括程序设计实验、软件文档书写实验、教育软件工具使用等。我国目前实践课的建设还处于初建阶段,需要不断探索实践课的教学规律和教学模式。实践课的学分比例和考核机制需要不断探索。需要不断增加实践课的比重。建立健全实践课的考核机制很重要,有了很好的考核机制,学生实践的动力就会得到增强。 3.实践基地的建设 (1)软件工程实验室的建立 培养教育软件高层次人才,实践是非常重要的一环。对于软件工程来说,建设软件工程实验室是必要的。软件工程实验室可以说是很重要的一个实践基地。 软件工程程实践课程的设计目标是培养学生的团队合作级工程项目研发能力,让学生在团队环境下使用最新的软件开发工具获得较真实的软件开发经验,提高学生存项目规划、队伍组织、工作分配、成员交流等多方面的能力,培养积极向上的合作精神。 软件工程实验室的建设目标是给学生提供~个团队环境,让学生应用最新的软件开发工具获得尽可能真实的团队软件开发经验。在实验项目的安排上尽餐模拟真实世界软件开发开发巾可能遇到的问题,在受控的情况下培养学生对这些问题的解决能力。 我国比较著名的软件工程室有武汉大学软件工程实验室、复旦大学软件工程实验室等。 软件工程实验室的建设一般包括需求分析平台、设计平台(包括概要设计和详细设计)、编程平台、测试平台、计算平台等。所配置的软件一般包括绘图工具microsoftvisio2003,项目管理工具project,ultraedit编辑器,软件配置管理工具cvs,powerdesigner等。 我们要不断建立健全实验室的配置,不断提高实验室的管理水平,不断提高实验室的利用效率。 (2)鼓励学生参与实践项目 鼓励学生和企业共同开发软件项目。鼓励学生参与导师课题。对学生的参与给予一定的报酬和奖励。 4.不断创新培养模式 我们要不断建立健全奖励机制,不断鼓励学生参加各种计算机竞赛和其它大赛,例如计算机程序设计大赛,多媒体课件制作大赛等。鼓励学生开展研究,发表学术论文,参加国际学术会议,不断培养学生的创新能力和开拓学生的视野根据竞赛获奖或者发表的学术论文等科研成果的级别给予不同的奖励,以不断提高学生参与科研的热情。要举办学术论坛,增加学生的交流机会,同时让导师也参与进来。 要不断增加研究生培养经费。我国目前存在着人均研究生的培养经费偏低的问题。导师带的学生偏多也是我国研究生教育目前面临的问题之一。导师带的学生过多会导致对学生个人的培养不足,从而导致培养质量下降等后果。 要不断进行三螺旋理论在软件工程硕士生培养中的应用三螺旋理论在软件工程硕士生培养中的应用主要指的是实现政府、企业、学校三方的密切配合,为培养高质量的研究人才而相互合作,发挥各自优势。 让我们在科学发展观的指引下,不断推动我国的软件学科建设,特别是研究生教育,为我国经济社会的发展做出新的贡献。 软件硕士毕业论文:硕士培养下软件工程论文 软件工程硕士研究生主要由软件工程、计算机科学与技术、计算机相关专业本科毕业生以及具有良好软件工程基础的其他专业学生和具有实际工作经验的在职人员组成。通过硕士研究生阶段的培养,学生知识结构和能力结构得到全面提升与完善,掌握软件工程学科的相关理论和工程技术,具有工程问题求解能力和企业经历,成为服务软件产业的合格软件工程人才。哈尔滨工业大学软件学院(简称“哈工大软件学院”),利用国际化的办学条件和校企合作工业化的办学方式,使学生在一定程度上接受国际化的教学与实践,以达到国际化、工业化人才的要求。 1构建软件工程硕士课程体系框架 哈工大软件学院软件工程硕士的培养目标是培养学生掌握软件工程领域的基础理论、先进技术方法和手段,具备独立承担软件工程技术工作的能力、组织和管理专门技术工作的能力,同时具有较丰富的、与国际接轨的学习训练经历,工程实践经验,企业经历和良好的职业素质;使其树立科学的世界观与方法论,品行优良,身心健康,成为具有国际竞争力的软件产业高级人才,为进一步成为软件产业领军人物(高层技术人才与管理人才等)奠定坚实的基础。面向企业,综合考虑软件系统分析与设计能力、项目管理能力、企业管理能力、组织与沟通能力、团队合作能力等方面的需求,根据学科专业方向的设置,按照“模块化知识体系与能力体系相结合,体现国际化与工业化特色”的原则,我们制订了软件工程硕士课程体系框架结构,如表1所示。软件工程硕士课程体系框架针对培养目标和企业的需求,对能力培养的具体目标进行模块划分,横向构造“6个能力层面”;纵向根据专业方向划分为多个能力域,形成多个能力培养模块。软件工程硕士的专业方向应紧跟行业需求,灵活设置。近几年,哈工大软件学院先后设置了网络与信息安全、语言处理与信息检索、数字化企业与电子商务、嵌入式系统与软件、物联网工程和移动互联等专业方向。在专业要求方面,全日制学生必须修满32学分;在职学生必须修满35学分。软件工程硕士研究生学制2~4年,在校学习1年,修满规定的学分,包括参加企业实训3周;实习基地实习1年,结合企业项目,完成学位论文。企业实习期间实行双导师制,校内导师和实习单位导师分别指导项目开发和学位论文撰写工作。校内学习与企业实训交叉进行,校企合作,产学研结合,联合培养软件工程专业硕士。 2组建专兼职结合的国际化、工业化高水平师资队伍 构建3支师资队伍,每支队伍30人左右。建立以工业型师资为核心的专兼职师资队伍,形成工业型专职教师、校内及国内外兼职教师相结合的师资队伍结构,是实现国际化、工业化培养目标的重要保证。第一支是以工业型师资为主的专职教师队伍。这些专职教师多数来自工业界、国外著名大学或国内外IT企业等。其中除任课教师外,还设若干专职实验教师岗位。实验教师主要负责专业课的实践环节教学,包括实验设计与指导、上机指导、课程设计和毕业设计等实践教学环节,同时实验教师还负责TA(实验辅导教师)的培训及管理工作。第二支队伍由计算机科学与技术学院和管理学院认证并聘请的校内兼职教师组成。他们主要负责软件学院的基础课、计算机专业基础课和管理系列课程的教学任务。第三支队伍由来自国外高校或国内外知名IT企业兼职教师构成。他们来自行业前沿,掌握国内外最先进的软件开发技术和人才培养经验,了解企业最新的技术需求。他们在承担软件学院的软件工程类、软件工具平台类的课程部分教学任务的同时,作为双导师制的企业导师,在研究生的工业实践、毕业设计、学位论文的指导中发挥重要的作用。以工业型专职教师为主、校内兼职基础型教师为辅、国内外兼职教师相结合的师资队伍结构,可以满足软件工程硕士国际化、工业化的人才培养需求。 3校企合作,加强企业实践教学 建立完善的工业型软件人才培养体系,包括工业型人才培养方案、课程体系与教学大纲、质量保证体系、工业化教学方式、技能实验与大作业、综合设计与企业实训、工业实习与学位论文、校企联合实验室与实习基地建设等环节,将“工业化,个性化,精英式”的办学理念贯穿于人才培养的全过程。在校软件工程硕士第1学年寒假要到企业参加为期3周的实训。实训由学院统一带队组织,实行半封闭式管理。期间接受企业培训,在企业导师的指导下分组完成指定的项目。通过强化训练,学生可以了解企业的项目开发流程,学习运用所学理论解决实际问题的方法,发现学习中的不足和技术上的差距,对后续学习起到引导和促进作用。第2学年,学生到实习单位实习并根据实习期间的实践工作内容撰写学位论文。对硕士毕业论文的要求是:具有系统性和完整性,能表明作者具有一定的独立工作能力;理论联系实际,应用所学的理论知识解决实际工作中的关键问题;具有实用性且必须包含一定的工作量。取得的成果要有一定的先进性,要能表现出学生具有综合运用所学知识解决工程实际问题的能力。从2002年至今,哈工大软件学院建立了完善的工业实习管理制度,在国内外建立工业实习基地70余个,实际接收学生实习的企业达200余家。工业实习基地的建设有效保证了工业化人才培养的质量。为加强与企业界的沟通,了解企业需求,完善培养体系,提高学生工业实习质量和加强工业实习管理,学院定期举办“工业化人才培养与企业合作高级研讨会”,与企业界人士研究和探讨工业化人才培养中的合作问题,企业参与意识很高,取得了较好的效果。 4与国外大学合作,联合培养软件工程硕士 通过对软件工程国际化人才特点及成长规律的研究,我们对软件学院国际合作办学模式开展了学科专业、教学体系、合作形态、组织方式、国际文化交流等层面的前瞻性研究,率先提出并建立了特色鲜明的多国联合办学、多学科交叉渗透、多国文化融合的,培养高层次、复合型软件工程人才的国际化联合教育模式。哈工大软件学院与法国波尔多第一大学、法国克莱蒙-费朗第二大学、德国柏林工业大学、爱尔兰都柏林工业大学、爱尔兰国立都柏林大学、美国Embry-Riddle大学、意大利帕维亚大学、瑞典林雪平大学、日本会津大学等合作,采用哈工大软件工程硕士专业学位(MSE)+合作方硕士学位(X)的“MSE+X”模式,联合培养硕士研究生。培养过程共分4个学期。第1学期,学生在各自学校学习;第2学期,外国学生来哈尔滨工业大学,与哈工大学生合班学习;第3学期,中外学生一起去合作方学校学习;第4学期,学生自选在国内、外企业实习、撰写学位论文、答辩毕业,哈工大与国外大学分别颁发硕士学位证书。跨国联合培养班的全部课程采用英语教学,实行三导师制,由国内、国外大学和企业导师共同指导。为加强交流,每年举办一次“中欧软件工业教育国际研讨会”,来自海内外的高校教师、企业界朋友在一起交流经验,共同探讨国际环境下人才培养的相关问题。多国联合培养软件工程硕士实现了国际化与工业化办学理念的教育模式与教学体系的设计与实践,软件工程国际化人才的跨国联合培养模式及实践,面向企业人才需求的教学与工业实习,国际化师资与专家队伍建设,教育质量保障体系建设与管理及跨文化的融合等目标。 5完善质量保障体系,加强过程管理借鉴 欧美教学质量保证的成功经验,哈工大软件学院建立完善且适合自身特点的国际化、工业化人才培养质量保证体系。学院成立教学指导委员会和教学督导委员会,在各个培养环节上严把质量关,把规定、培训、预防、跟踪、反馈、控制等质量保证活动渗透到教学执行过程中的每个环节。加强实践教学环节的监督检查,有效保证教学质量和人才培养质量的稳步提高。为提高软件工程硕士的指导质量,学院成立了若干个指导教师组,每个指导教师组负责一个专业方向的硕士指导,设组长1人,负责本组指导教师的组织和督导。每名硕士研究生指导教师每年指导的硕士研究生不超过4人。学院组织专家组审核学位论文。只有通过了专家组的审核,学生方可申请学位论文答辩。另外,硕士研究生开题、中期检查和结题验收、论文等环节也有详细的规章制度、严格的过程管理,这是提升硕士研究生培养质量的有效手段。 6成果与特色 在软件工程硕士研究生培养的实践中,哈工大软件学院在以下几个方面取得了优异的成绩,形成了自己的特色,积累了丰富的经验。(1)面向软件产业的人才需求,校企合作,形成较为完善的应用型硕士研究生的工业化人才培养体系,开展多种形式的校企合作,建立有自身特色、符合国际化标准、满足软件企业需求的工业化人才培养计划。(2)创立软件工程国际化人才培养模式和教育体系;实现“跨学科融合,双边对等招生,联合培养,融合文化”的“MSE+X”软件工程硕士跨国联合培养模式,为学生提供国际化学习环境。(3)建立与国际接轨的办学机制和教育质量保证体系,实施课程考核累加计分制等教学管理新制度。(4)培养了一大批具有国际竞争力、满足企业需求的高级软件人才。 7结语 经过10余年的探索与实践,哈工大软件学院在广泛开展校企合作和国际交流的基础上建立起较完善的国际化、工业化软件工程硕士研究生培养体系。在培养过程中实施严格的过程管理,学院在软件工程硕士人才培养方面积累了一定经验,取得较好的成果。随着软件工程理论与技术的发展,特别是产业人才需求的变化,软件工程硕士的培养模式与培养体系仍需进一步完善,以适应新的人才培养需求。 作者:黄虎杰 马培军 单位:哈尔滨工业大学软件学院 软件硕士毕业论文:软件工程硕士培养模式与研究 一、一种实用的软件工程全日制工程硕士培养 在软件工程工程硕士培养的诸多问题上,做了一些有益探索与研究,针对性地提出了一套适合于省属高校软件工程全日制工程硕士培养的解决方案,希望能为同类型高校提供人才培养的借鉴。研究生培养方案的制定,重点需要解决课程体系设置、培养流程规划与控制。对专业学位研究生而言,还需要解决专业实践能力的培养与训练这一关键问题。 1.课程体系设置软件工程学科正式确立的两个标志性文件是2004年IEEE推出的软件工程知识体(SWEBOK)和软件工程教育知识体(SEEK)。两个文件内容相近,都包含了软件工程核心类的知识领域、基础类或前导类的知识领域,以及其他相关领域的知识[4]。软件工程研究生的培养从原则上说应遵循上述两个文件,围绕上述知识领域进行教学。但由于这两个文件将软件工程的知识体系划分为知识点,各领域之间必然存在重复和交叠。在课程设置上无法照搬上述两个文件。以SEEK为基础,我们对软件工程的课程设置进行规划。整个课程设置被分为五个层次,分别为工程基础课程、计算机基础课程、软件工程核心课程、扩展课程和实践课程,如图1所示。课程开设顺序大体按照五个层次由低到高依次开展。其中,工程基础课程提供软件工程所需数学理论基础、外语能力培养、软件工程文档写作、论文写作基本功训练。计算机基础课程提供软件开发必须的计算机基础知识,如网络、算法和数据库知识。相对于本科课程而言,此类课程讲授内容更深入全面。软件工程核心课程设置了高级软件工程、软件体系结构和软件测试与质量保证三门课程。高级软件工程侧重于软件分析与设计、软件工程过程、软件开发案例分析。软件体系结构侧重于结构风格、案例研究、共享信息系统、结构描述、结构的分析与评估、特定领域的软件体系结构和流行的软件体系结构等。软件测试与质量保证着重于软件质量的改进,讨论如何提高软件质量的方法。扩展课程包含系列领域知识课程,研究生可根据研究方向选择两门;软件开发工具讲授最新流行的软件开发、过程管理所需要的软件工具的使用,以实践教学为主。软件开发新技术研讨课程以讲座形式开展,教师和学生均可作为一个专题的主讲。实践课程包含校内实践、校外实践和毕业设计三个环节。 2.培养流程与实施教育部明文规定,专业学位研究生学制原则上为两年,同时要求应届本科生进行专业实践不少于一年。一般来说,研究生在校课程学习时间应有一年左右,加上专业实践的一年,如何合理安排学习计划,在两年内完成培养环节成了一个现实的重要问题。我校以周为单位制定了四川师范大学软件工程专业学位研究生培养流程,如表1所示:上表规划了研究生培养中的几个关键环节,依次为报到入学、课程学习、校内实践、校外实践、开题、毕业设计、论文写作和送审答辩。第一学期研究生主要是课程学习,同时在校内导师指导下开展文献阅读和编程能力锻炼。第二学期前半学期结束理论课程的学习。后半学期和暑期开展校内实践和毕业设计开题工作。第三学期研究生到实习基地进行校外实践。从第二学期后半段和整个第三学期,学生在专业实践的同时,需完成毕业设计。从第二个寒假开始直到第四学期前六周,研究生完成毕业论文的初稿。从第七周开始,进行论文修改、、盲评和答辩工作。从培养流程表可以看出,这种安排具有两个显著特点。一是理论课程学习安排在一个半学期完成,二是实践课程分为校内实践和校外实践。研究生理论课程学习任务并不重,完全可压缩到一学期半,同时可为实践提供更多时间。校内实践非常有必要。由于是省属高校学生大多能力一般,为保障学生进入企业能融入研发团队从事技术工作,必须先期培训其实践能力。这种安排时间较为紧凑,也比较合理,符合专业学位研究生侧重于实践能力培养的要求,也在两年的学制内确保了研究生的实践时间不少于36周。 二、专业实践能力的培养与训练 软件开发能力是软件工程专业硕士必备的核心能力,其能力培养既是对前端课程学习效果的检验,也是后端毕业设计和就业的必然需要。我校将软件工程专业硕士实践能力培养融入了众多环节。从前期的实验型课程教学,到中期的校内实践、再到后期的校外实践和毕业设计。实验型课程教学解决软件设计开发的基础技能,校内实践解决中小规模软件设计开发能力,校外实践和毕业设计解决中大规模软件设计能力。 1.实验型课程教学包含软件工具的使用训练、软件开发环境的搭建、软件开发案例分析和新技术研讨。软件工具的使用训练学生单个软件开发工具的使用,如项目管理软件Project、开发文档化软件Rational、软件测试工具LOADRUNNER、QTP、TD等。由于这些工具结构分散,还需进行开发环境的搭建训练。开发环境搭建训练内容一为搭建基于微软的VSTS和VisualStudio的开发平台,适合.net方向;内容二位、为搭建基于IBMRSA和Eclipse的开发平台,适合J2EE方向。软件开发案例分析中研究生将自己放在决策者的角度来思考项目所涉及到的具体问题,增强了学生的实际应对能力。新技术研讨促进学生或主动或被动地掌握了一些新兴技术,拓宽了技术领域。 2.校内软件开发实践采用项目驱动形式开展。要求研究生必须申报各类实际的软件开发项目,如四川省苗子工程、学校研究生科研创新项目、学院研究生科研创先项目。研究生可组织本科生参与项目实施,但必须任项目组长,在项目中担任核心角色,完成软件需求文档审定、软件架构设计、软件详细设计、大部分编码工作、测试方案制定等重要工作。 3.校外软件开发实践在上述环节经历后,研究生已经掌握中小规模软件开发的基本技能,此时将研究生派到实习基地,实战参与企业软件开发项目。其实践由校内导师和企业导师共同负责。前期技能的培养已保证研究生胜任企业中一般性的软件开发角色。 4.毕业设计研究生在校内和校外实践的36周中,还需要同时进行毕业设计的开题、实施。研究生可结合企业实习工作完成毕业设计。专业实践的考核分为定期汇报和实践环节结束汇报两种形式。研究生应每隔两个月集中汇报一次实习期工作心得,取得的成绩等。实践结束时在全院公开汇报,其成绩作为实践课程成绩。 三、结论 四川师范大学针对现有的培养模式存在专业定位不清晰、师资不足、课程设置陈旧等问题,根据学校学科特点和力量,实现了一套比较适合于省属高校软件工程专业学位研究生培养的解决方案,包括五个层次的课程设置体系、合理地流程安排和实践教学的环节设置。该方案在学校研究生培养中实行以来,研究生专业实践能力有了较大提高。2011年在四川省苗子工程中获得了一项重点项目和四项一般项目支持。该方案尚有一些不完善之处,例如实践教学环节质量的中间控制、过程控制,尚需进一步建立系列制度和规定,确保实践教学的质量。 作者:李晓宁 袁丁 单位:四川师范大学 软件硕士毕业论文:高校软件工程硕士培育方式研讨 一、省属高校软件工程全日制工程培养模式存在的问题与分析 省属高校的软件工程专业多脱胎于计算机科学与技术学科,在研究生人才培养模式上受限于计算机科学与技术研究生培养模式。部分高校甚至于采用同计算机专业研究生实施无差别培养方式,这一根本性原因带来诸多问题。 1.人才培养方向目标定位不清晰 软件工程专业硕士应当仅限于软件工程师的培养。软件工程具有极强的工科属性,其人才培养,除软件工程科学硕士和计算机科学技术一样,可培 研究型人才外,专业学位应当清晰定位于培养具有软件工程必备基础知识,在软件工程某一领域具有较强专业知识与技能的工程师。 2.师资比较缺乏,尤其是双师型师资缺乏 软件工程正式成为独立的学科时间相对较短,软件工程师资大多来源于计算机科学与技术专业。计算机科学与技术专业可以胜任软件工程基础课程,但这部分教师往往缺乏工程实际经验,在教学中往往表现为重理论轻实践。省属高校十分缺乏来自软件企业一线的项目经理以上的技术管理人员充任实践课程教师。 3.培养模式陈旧,不适应国家教育部要求 由于全日制软件工程专业学位研究生2009年才在全国开展,很多高校沿用学术型学位研究生培养模式,忽视了国家对专业学位研究生培养要求中的专业实践能力的培养,未能很好地开展专业实践教学。 4.课程设置陈旧,不适应软件企业的人才需求 大多数高校软件工程研究生课程设置大多套用计算机科学与技术专业的课程设置,未体现软件工程学科特点。原因主要是因为师资缺乏、招生规模较小,出于节约培养成本的考虑。 二、一种实用的软件工程全日制工程硕士培养解决方案 四川师范大学作为四川省属高校中最早开设计算机科学与技术、软件工程本科生培养的院校之一,在软件工程工程硕士培养的诸多问题上,做了一些有益探索与研究,针对性地提出了一套适合于省属高校软件工程全日制工程硕士培养的解决方案,希望能为同类型高校提供人才培养的借鉴。研究生培养方案的制定,重点需要解决课程体系设置、培养流程规划与控制。对专业学位研究生而言,还需要解决专业实践能力的培养与训练这一关键问题。 1.课程体系设置 软件工程学科正式确立的两个标志性文件是2004年IEEE推出的软件工程知识体(SWEBOK)和软件工程教育知识体(SEEK)。两个文件内容相近,都包含了软件工程核心类的知识领域、基础类或前导类的知识领域,以及其他相关领域的知识。软件工程研究生的培养从原则上说应遵循上述两个文件,围绕上述知识领域进行教学。但由于这两个文件将软件工程的知识体系划分为知识点,各领域之间必然存在重复和交叠。在课程设置上无法照搬上述两个文件。以SEEK为基础,我们对软件工程的课程设置进行规划。整个课程设置被分为五个层次,分别为工程基础课程、计算机基础课程、软件工程核心课程、扩展课程和实践课程,如图1所示。课程开设顺序大体按照五个层次由低到高依次开展。其中,工程基础课程提供软件工程所需数学理论基础、外语能力培养、软件工程文档写作、论文写作基本功训练。计算机基础课程提供软件开发必须的计算机基础知识,如网络、算法和数据库知识。 相对于本科课程而言,此类课程讲授内容更深入全面。软件工程核心课程设置了高级软件工程、软件体系结构和软件测试与质量保证三门课程。高级软件工程侧重于软件分析与设计、软件工程过程、软件开发案例分析。软件体系结构侧重于结构风格、案例研究、共享信息系统、结构描述、结构的分析与评估、特定领域的软件体系结构和流行的软件体系结构等。软件测试与质量保证着重于软件质量的改进,讨论如何提高软件质量的方法。扩展课程包含系列领域知识课程,研究生可根据研究方向选择两门;软件开发工具讲授最新流行的软件开发、过程管理所需要的软件工具的使用,以实践教学为主。软件开发新技术研讨课程以讲座形式开展,教师和学生均可作为一个专题的主讲。实践课程包含校内实践、校外实践和毕业设计三个环节。 2.培养流程与实施 教育部明文规定,专业学位研究生学制原则上为两年,同时要求应届本科生进行专业实践不少于一年。一般来说,研究生在校课程学习时间应有一年左右,加上专业实践的一年,如何合理安排学习计划,在两年内完成培养环节成了一个现实的重要问题。我校以周为单位制定了四川师范大学软件工程专业学位研究生培养流程,如表1所示:上表规划了研究生培养中的几个关键环节,依次为报到入学、课程学习、校内实践、校外实践、开题、毕业设计、论文写作和送审答辩。第一学期研究生主要是课程学习,同时在校内导师指导下开展文献阅读和编程能力锻炼。第二学期前半学期结束理论课程的学习。后半学期和暑期开展校内实践和毕业设计开题工作。第三学期研究生到实习基地进行校外实践。从第二学期后半段和整个第三学期,学生在专业实践的同时,需完成毕业设计。从第二个寒假开始直到第四学期前六周,研究生完成毕业论文的初稿。从第七周开始,进行论文修改、、盲评和答辩工作。 从培养流程表可以看出,这种安排具有两个显著特点。一是理论课程学习安排在一个半学期完成,二是实践课程分为校内实践和校外实践。研究生理论课程学习任务并不重,完全可压缩到一学期半,同时可为实践提供更多时间。校内实践非常有必要。由于是省属高校学生大多能力一般,为保障学生进入企业能融入研发团队从事技术工作,必须先期培训其实践能力。这种安排时间较为紧凑,也比较合理,符合专业学位研究生侧重于实践能力培养的要求,也在两年的学制内确保了研究生的实践时间不少于36周。 三、专业实践能力的培养与训练 软件开发能力是软件工程专业硕士必备的核心能力,其能力培养既是对前端课程学习效果的检验,也是后端毕业设计和就业的必然需要。我校将软件工程专业硕士实践能力培养融入了众多环节。从前期的实验型课程教学,到中期的校内实践、再到后期的校外实践和毕业设计。实验型课程教学解决软件设计开发的基础技能,校内实践解决中小规模软件设计开发能力,校外实践和毕业设计解决中大规模软件设计能力。 1.实验型课程教学 包含软件工具的使用训练、软件开发环境的搭建、软件开发案例分析和新技术研讨。软件工具的使用训练学生单个软件开发工具的使用,如项目管理软件Project、开发文档化软件Rational、软件测试工具LOADRUNNER、QTP、TD等。由于这些工具结构分散,还需进行开发环境的搭建训练。开发环境搭建训练内容一为搭建基于微软的VSTS和VisualStudio的开发平台,适合.net方向;内容二位、为搭建基于IBMRSA和Eclipse的开发平台,适合J2EE方向。软件开发案例分析中研究生将自己放在决策者的角度来思考项目所涉及到的具体问题,增强了学生的实际应对能力。新技术研讨促进学生或主动或被动地掌握了一些新兴技术,拓宽了技术领域。 2.校内软件开发实践 采用项目驱动形式开展。要求研究生必须申报各类实际的软件开发项目,如四川省苗子工程、学校研究生科研创新项目、学院研究生科研创先项目。研究生可组织本科生参与项目实施,但必须任项目组长,在项目中担任核心角色,完成软件需求文档审定、软件架构设计、软件详细设计、大部分编码工作、测试方案制定等重要工作。 3.校外软件开发实践 在上述环节经历后,研究生已经掌握中小规模软件开发的基本技能,此时将研究生派到实习基地,实战参与企业软件开发项目。其实践由校内导师和企业导师共同负责。前期技能的培养已保证研究生胜任企业中一般性的软件开发角色。 4.毕业设计 研究生在校内和校外实践的36周中,还需要同时进行毕业设计的开题、实施。研究生可结合企业实习工作完成毕业设计。专业实践的考核分为定期汇报和实践环节结束汇报两种形式。研究生应每隔两个月集中汇报一次实习期工作心得,取得的成绩等。实践结束时在全院公开汇报,其成绩作为实践课程成绩。 四、结论 软件工程专业学位研究生的培养,在学科教育与培养面向市场需求的人才方面有着事实上的矛盾。四川师范大学针对现有的培养模式存在专业定位不清晰、师资不足、课程设置陈旧等问题,根据学校学科特点和力量,实现了一套比较适合于省属高校软件工程专业学位研究生培养的解决方案,包括五个层次的课程设置体系、合理地流程安排和实践教学的环节设置。该方案在学校研究生培养中实行以来,研究生专业实践能力有了较大提高。2011年在四川省苗子工程中获得了一项重点项目和四项一般项目支持。该方案尚有一些不完善之处,例如实践教学环节质量的中间控制、过程控制,尚需进一步建立系列制度和规定,确保实践教学的质量。 作者:李晓宁袁丁单位:四川师范大学 软件硕士毕业论文:软件工程硕士图像处理教程探索 1数字图像处理教学方法设计 针对培养学生应用型研究能力的目标,我们在教学方法设计上本着激发学生的学习兴趣,开阔学生眼界,给学生提供更自由的思考空间的原则,通过下面两个措施来实现我们的目标。 1.1精心选择案例 选择的案例要贴近实际生活,并与课堂上讲授的方法紧密衔接。例如,在讲解图像增强和复原这两章之后,我们引入在实际生活中常见的“图像去雾”问题,通过如下方法,培养学生研究能力。 (1)要求学生先尝试用学过的算法来解决这个问题,并在课堂进行算法讨论,给出算法结果。 (2)要求学生针对具体问题,查阅文献资料,了解别人的解决方法。通过查阅国内外的文献资料,同学们知道了如何根据关键词查询科研论文,了解哪些电子数据库中有与专业相关资料,知道了文献的级别有SCI、EI、核心期刊、一般期刊等。 (3)学生将查到的算法进行分类和总结,撰写文献综述。 (4)每位学生都需要编程实现“图像去雾”算法,这个算法是结合自己的思考、实践以及查阅文献的结果。通过自己动手,同学们发现如果图像的清晰度不好,有噪声,或者没有归一化,结果就完全不同。通过自己动手验证,同学们会发现图像处理领域的一个最为重要的特点——任何算法主要都是针对一类图像或是针对一类问题而设计的,因此在算法的适应性上需要有所考虑。 1.2全面介绍图像处理的各个应用领域 老师在课堂上介绍几个图像处理涉及的较为重要的应用方向(如视频监控、图像检索、人脸识别、运动检测、车牌检测等)后,将同学们进行分组,每组负责查找一个应用方向的相关资料,讨论和汇报自学的结果。汇报内容主要包括:①应用方向的介绍;②涉及的主要问题;③目前的解决方法及应用成果。通过查找文献,同学们不仅对课上学习过的经典算法有进一步了解,同时还接触到很多新算法。通过听取各组汇报,同学们在较短的时间里,了解了图像处理涉及的多个主要的应用领域。针对每个应用研究领域,老师引导学生分析该领域的难点和重点,提出问题,再让学生思考解决方案,没有标准答案,只希望能够锻炼学生的思考能力。以“人脸识别”为例,有很多经典的或较新颖的算法,老师会结合应用领域对其中常用的或比较重要的算法,如PCA方法和Adaboost算法,进行详细讲解,使学生全面了解图像处理算法的应用领域。 2数字图像处理实验内容设计 针对培养学生的应用技术能力的目标,同时考虑到本课程实验学时数较少,我们设计了两个实验——基础性实验和综合性实验。 2.1基础性实验 目前很多经典的图像处理算法是用VC++程序实现的,我们要求大家学会读程序,能够看懂已有的算法实现程序,并在此基础上能开发新的功能。实验一:实现对多种图像格式的支持(2学时)实验内容:采用VC++编码实现,基于CDib类,添加支持打开,并保存多种图像格式的功能,包括JPEG和GIF。实验要求:利用学习的图像压缩的知识,利用现有的编码解码库实现对JPEG和GIF图像的打开和保存。实验目的:了解多种图像格式,编写针对多种图像格式的读写程序,能够进一步理解针对图像的编程的特点,同时也进一步了解开发图像应用程序的适应性问题。 老师在课程初期会向大家介绍图像处理的一个公开库——CDib类。该类很好地封装了图像的数据结构,涉及很多图像的基本操作。我们知道现实生活中的图像常常都是压缩格式的,如BMP、JPEG、PNG、GIF等。因此在讲完图像的压缩格式后,对照讲过的BMP图像结构,老师要求学生为CDib类添加能够支持多种图像格式的功能。以GIF图像为例,它不同于如JPEG、PNG等格式,GIF采用的是LZW压缩算法,使用的是无损压缩技术。GIF图像的特点是可以一次压缩多幅图像,图像颜色表控制为256色,使用渐显方式。 3.2综合性实验 针对综合性实验,我们会拟定多个题目让学生选择,如树叶提取、花朵提取、车牌识别等。实验二:数字号码图像的识别(6学时)实验内容:采用VC++编码实现,基于CDib类,针对数字号码图像,识别出数字,给出文本显示结果。实验要求:将该题目进行分解,划分任务;组内每个同学负责一部分任务的编程工作;每个人针对自己负责的工作至少提供两种实现方法,并放入整个项目流程中验证这两种方法的有效性;最后总结出两种方法的异同以及适应的范围。实验目的:考查学生对数字图像处理应用中每个步骤的掌握程度和项目合作沟通能力。上述实验涉及以下几个步骤。①图像的预处理;②图像的分割;③图像的特征提取;④图像的分类。组中每个学生负责一个步骤,所有步骤都需要尽心设计,这样整体的效果才可能最好。同时大家需要协商各自负责模块的入口和出口的数据结构,保证数据能够在模块之间顺利流转。这种协商和分工合作的能力是软件工程专业最需要的技术能力之一。 以“数字号码图像识别”为例,该题目可以分割成4个步骤:预处理、数字图像切分、数字图像特征提取和数字识别。在每个步骤中都有分别需要注意的问题,如在预处理阶段,需要对图像进行去噪声,增强对比度,甚至需要进行膨胀和腐蚀将图像中断裂的数字部分连通起来;在数字图像切分阶段需要制定适应性广泛的切分策略来应对各种情况,如数字排列可以呈现任意的倾斜角度,或数字字符相连等;在数字图像特征提取阶段,我们可以考察每个数字图像的自相关系数特征,或者每个数字图像的频谱特征,也可以考察数字图像的几何拓扑特征,如将数字图像分成2个洞的(8),1个洞的(4,6,9,0),没有洞的(1,2,3,5,7),针对每个类别再提取新的几何特征;在数字图像识别阶段,可以采用神经网络的分类器,或者利用制定的一些分类策略来分类,或者采用主成份分析(PCA)的方法来识别。 4结语 两年多的教学实践表明,新的教学大纲、授课方法和实验内容有利于激发学生的兴趣,使他们带着问题去学习,从而加深了对图像处理应用领域的了解,锻炼了编写程序和协作开发的能力。下一步我们将设计更多合理有效的案例和综合性实验,力图通过这门课激发学生的创造力。 作者:付慧陈志泊单位:北京林业大学 信息学院 软件硕士毕业论文:软件工程硕士论文质量评价模型及相关问题研究 摘要:本文通过建立一个软件工程硕士论文质量评价与度量模型,提出了明确的论文质量目标和一套切实可行的评价标准,并针对实施过程中可能存在的若干问题,进行了分析和探讨。 关键词:工程硕士;质量评价;质量标准 1存在问题与质量评价度量模型 由于种种原因,论文质量的分析和实际评审工作存在着质量要素空泛、无法真实、直接、客观地度量,最终无法做到实事求是地评价等问题[1][2][3]。例如:有关评估方案中规定的选题要求是:论文选题来自于企业实践,工程背景明确,应用性强。而论文质量标准要求是:技术先进,有一定难度;内容充实,工作量饱满;综合运用基础理论、专业知识与科学方法;格式规范,条理清楚,表达准确;社会评价好等。但现实的论文评审操作则明显存在以下问题: (1) 质量要素的选择过于简单、抽象层次太高。因而难于细致、客观、真实和准确地反映被检查对象的实际情况; (2) 对相关质量要素的度量和评价,缺乏直接、真实、仅根据客观的、标志性的交付物成果、里程碑事件为度量和评价依据的质量要素度量与评价方法,使本已高度抽象化的评价,更带有人为评判的色彩; (3) 所有的度量和评价是定性的,当从定性评价,转化为定量成绩的时候,从定性到定量的转换标准设置,缺少科学性和原理依据。 作者认为,产生上述问题的根本原因有两个。一是标准的制定者受传统学术观点的局限,担心制定详细、确定的评审标准,将限制论文作者的研究和表达,导致“论文八股”的出现。另一个原因,则是标准制定者对工程硕士论文(包括论文阶段的学习、研究过程)应该做什么?应该怎么做?最终的目标应该是什么?怎样才能检验硕士研究生是否达到了的既定目标等很难确切把握。导致本质上对论文质量目标的不明确、不清晰,因而无法制定具体的检查标准。 为了克服上述问题,针对软件工程硕士毕业论文这一特定对象,本研究首先建立如下的论文质量标准与评价度量体系模型: (1) 论文质量的一级属性:论文的分类和性质界定; (2) 论文质量的二级属性:论文必须包括的四个基本构成部分; (3) 论文质量的三级属性:论文基本构成部分的质量度量要素; (4) 论文质量的四级属性:论文质量度量要素的度量方法,包括定性度量转换为定量评价的加权因素设计,即量化成绩。 图1为论文质量标准与评价度量体系的模型。 2对论文性质的界定 为了准确地把握软件工程硕士毕业论文的质量,明确论文质量标准,我们根据软件工程硕士研究生培养目标和专业要求,结合软件学院实际情况,不失一般性地将软件工程硕士研究生毕业论文的类型,界定为软件技术研究与软件工程项目二类。 界定的原则依据是2003年科技部、教育部等五部委《关于改进科学技术评价工作的决定》中,将科学技术评价工作明确分类,区别不同评价对象,明确各类评价目标,采用不同的评价标准,以求能够客观、真实、准确地反映不同评价对象实际情况的原则精神。 界定的基本出发点是区分论文性质,并分别制定相应的评审标准。本研究的重点是软件工程项目类论文。本研究对软件工程项目类论文的定义是: 目标:在企业实习过程中,参与企业软件工程项目,研究并解决特定问题域的问题; 技术与方法:学习、研究、选择、运用,并有所拓展下列(同时)技术与工程知识与方法: 技术知识:计算机软件(或软硬结合、以软件为主,但必须包含软件工程)的最新技术、方法、手段、工具; 工程管理:在软件工程的生命周期模型(不要求特定模型)及软件过程关键环节中,采用软件过程管理、项目管理、配置管理、质量管理(不要求全部)的技术方法; 按软件工程规范,独立完成了一个软件制品研发的完整过程,其结果对相关业务领域内的问题解决,具有一定的意义和价值; 以技术和项目成果、项目实现过程报告的形式,形成的硕士论文。 3对论文内容的要求 根据论文性质的界定定义,工程项目类毕业论文,本质上是一个项目(或项目阶段)的技术与项目报告。因此,论文内容应完整呈现以下四方面的能力: (1) 专业知识:通过项目研究的背景、问题与目标描述,考察学生对所在行业领域业务知识和领域关键问题了解的广度与深度,即考察论文课题的专业水平。 (2) 技术水准:通过项目技术方案分析,考察学生在特定问题下,对解决问题所涉及的技术方法、工具和手段,解决领域关键问题的状态与发展水平的评价与了解。 (3) 实现能力:通过项目关键技术的实现过程,考察学生解决关键技术问题的具体能力和达到的水平。 (4) 过程能力:通过项目过程报告,考察学生以关键技术解决方案的实现为基础、组织实施软件工程项目的过程管理和控制能力。 4质量要素及其度量方法 根据论文内容的四个方面要求,我们设定了四个方面、20个质量度量要素(表1),每个要素各分为6个等级(0~5分),供论文评审时,进行判断评价。表中各要素的分级评价标准见附录。 5量化成绩的加权因素 根据附录的方法,将论文按内容规范要求及质量度量要素,采用定性分析的方法,获得对每个度量要素的评价(加权前得分)。并依据加权方法,将其转化为定量的论文成绩。加权比例指向为:要求论文更侧重于关键技术实现和软件工程过程,兼顾领域与技术背景。 因此,根据专业性质、学生基础学习和实习项目的具体情况,论文四个构成部分的成绩加权因子分别为:10%、20%、30%和40%。加权计算公式是:加权后得分=加权前得分*加权因子*4。 6质量度量实施的若干问题探讨 标准只是一个杠杆,由于论文质量是研究生教育产品的出口质量,因此,最终产品质量的口一收紧,产品生产过程的问题就必然地暴露出来了。 (1) 生源的质量问题 根据对本院(其他院校情况应基本类似)往届新生(含单/双证生)入学前基本状况的考察和分析发现,入学研究生基本上可以划分为三类:计算机及软件相关专业(元教育本专业)应届保研或考入的本科生;元教育非本专业或虽是本专业,但不在相关专业行业企业、基本没有软件开发项目经历(经历非专业)的学生;本专业毕业并一直从事软件开发、具有软件工程项目经验的在职生。根据若干届学生情况的初步统计,在各届学生中,第一类约占40%,第二类占30%~40%,而第三类只占20%左右。随着招生规模的扩大,第二类学生(元教育或经历非专业)的比例有扩大的趋势。 软件工程是计算机技术与工程实践、过程管理相结合的学科。学科特点决定了它与传统计算机科学与技术系在培养方向上的不同。因此,现有的软件工程硕士研究生教育,本质上不适合第一、第二类学生。因为这二类学生没有实际软件项目开发的经验,而学校几乎不可能在研究生学习的一年期间,提供这样的经验和机会。 面对生源的实际情况,不论学生在校课程教育的效果如何,要使前二类学生达到本标准设定的质量目标,是非常困难的。标准和目标的明确化,现实地凸显出软件工程硕士研究生培养,从源头开始的困惑。 本研究成果在招生阶段希望达到的贡献是:在研究生入学考试时,除统一笔试以外的综合能力测试及面试中,对考生基础能力的特别考察和筛选,提供了内容和要求的来源与依据。 软件硕士毕业论文:软件学院软件工程硕士开放式教学体系研究 摘要:本文针对我国软件学院专业教学所面临的挑战,在充分调研IEEE SWEBOK和CC2004SE知识体系的基础上,针对我国软件学院目前的实际情况重新划分软件工程知识体系,提出了软件工程硕士开放式教学体系的建设方案。围绕专业培养目标,结合学生的工程实践,引入课程组的概念,制定了一套较为完整的开放式实践教学实施计划。 关键词:工程硕士;开放式教学;课程组 1引言 软件学院软件工程硕士的培养目标是培养高层次、应用型人才,针对这个目标,其教学实施应着重体现出以下两个差异性: (1) 软件工程学科领域和计算机学科领域间专业设置的差异性,这个差异应能够很好地体现培养应用型人才的目的; (2) 工程硕士课程和软件学院本科课程的差异性,这个差异应能够很好地体现培养高层次人才的目的。 目前国内软件学院软件工程学科和传统的计算机科学学科在课程设置上差异还不显著,工程硕士的培养方案中甚至部分课程只是本科阶段的重复。虽然大都开始强调学生的软件项目实践,但普遍缺乏过程管理。本文在对IEEE的软件工程知识体系进行深入学习的基础上,针对软件学院软件工程硕士提出了实现开放式教学体系的教学改革方案。 2软件工程知识体系 2004版SWEBOK将整个软件工程知识体系分为11个知识领域(Knowledge Area,KA),其中前5个知识领域是按软件开发的生命期诸阶段排列的,即软件需求、软件设计、软件构造、软件测试和软件维护;后6个知识领域是软件开发中的支撑性或者辅助性的方面,可能覆盖软件开发的多个阶段,包括软件配置管理、软件工程管理、软件工程过程、软件工程工具与方法、软件质量、相关学科知识领域。这些知识领域SWEBOK并没有重新系统规定,而是直接套用已经成型的各领域知识体系,因此不可避免地存在重叠和不匹配。 在SWEBOK的基础上,IEEE与ACM又共同拟定了CCSE。其中的核心部分是软件工程教育知识(SEEK)。SEEK由十个知识领域组成,包括:计算机基础(CMP)、数学和工程学基础(FND)、职业实践(PRF)、软件建模与分析(MAA)、软件设计(DES)、软件验证(VAV)、软件演化(EVL)、软件过程(PRO)、软件质量(QUA)、软件管理(MGT)。 可以看出,SEEK和SWEBOK基本内容是相近的。总的来说,二者都是包含了软件工程核心类的知识领域、基础类或前导类的知识领域,以及其他相关领域的知识。 3高等教育教学改革研究状况 目前国内关于高等教育教学改革的论文很多,如翁敬农、刘云等在软件学院实践教学体系的内容与规划中提出了“一个目标”、“两种途径”、“三大环节”、以及“四级台阶”的具体步骤。王移芝、林艳琴提出基于“两段教学”的计算机基础课程的教学体系框架。谢芳清、闫大顺提出了以素质教育为目标的实践教学体系。王浩、胡学钢等提出计算机科学与技术专业实践教学体系的总体研究与建设。王志英以国家实验教学示范中心为例,提出实践是综合能力培养的基础,并以此构建计算机科学与技术专业实践教学体系。董玮、邱建华等以专业课“程序设计基础(C语言)”为例给出了建设实践教学体系的实践探索。然而目前还没有检索到专门研究软件学院工程硕士教学改革的论文。无论是从传统计算机科学与技术专业与软件学院软件工程专业的区别,还是本科生与研究生的区别来看,针对软件学院工程硕士的教学改革研究都是十分有必要的,同时也是迫切的。 4工程硕士的课程体系设计策略 我们以IEEE SWEBOK和CC2004SE的知识体系为主体,结合中国软件产业以及本院的具体实际情况,设计了中国科学技术大学软件学院软件工程专业的知识体系,作为我院工程硕士课程设置和教学计划实施的依据。以SEEK为基础,我们对软件工程的课程设置进行规划。整个课程设置可以分为三个层次,即导论性课程、软件工程核心课程和其他课程。如图1所示,该知识体系定义了7个知识体系子类。计算机基础和数学和工程学基础属于导论性课程、其他课程包含了职业实践、领域课程、软件工具、工程实践等四个子类。 其中计算机基础定义了软件工程作为计算学科所必需包含的计算科学基础以支持软件产品的设计与建设;数学与工程学基础提供了软件产品获得所需属性的理论和科学基础;职业实践则聚焦于软件工程师以职业行为从事软件工程实践所必需具备的知识、技能和态度;软件工程核心课程应该包含软件开发生命周期所涉及到的主要知识领域;领域课程包含了对于某个特定领域软件工程师应该接受的特定教育或经验;软件工具定义了从事软件工作所必需掌握的当前主流工具与软件产品等;工程实践则是学生使用所学到的知识从事实际开发活动,提供动手能力的重要环节。 对于工程硕士来说,大部分同学经过计算机本科专业的学习,已经具备了初步的计算机基础以及数学与工程学基础,因此目前其课程体系建设如图2所示,重点是完成软件工程核心课程教学,并结合IT界的最新技术趋势设计相关领域课程。教学改革的核心是如何设计软件工程的核心课程,并指导学生熟练掌握相应的软件工具,强化他们的实践动手能力。 5工程硕士开放式教学体系建设 对于如何设计软件工程的核心课程,我们的主要思路是打破原先各子知识体系间的界线,围绕专业培养目标,结合学生的工程实践,引入课程组的概念,实现一个完整的开放式教学体系。如图3所示,整个开放式学习体系包含三个部分: (1) 设计课程组:在理论环节采用课程组的概念,集中讲授较高层次的、符合硕士生水平的软件工程的某些重要环节; (2) 开设实践教学环节:在实践教学中采用做中学(Learning by Doing或LBD)理念,由指导教师讲述软件工具的具体操作过程,同学实际动手学习; (3) 强化工程实践:在工程实践中由学生自主选题,并将LBD中讲述的工具在项目整个生命周期中贯穿使用。 5.1设计 课程组 目前我院开设的高级软件工程和本科的软件工程课程内容并没有太大差别,对于软件工程的各个环节面面俱到,但又都比较浅显,对于工程硕士的培养显然是不合适的。因此我们设计了软件工程课程组的理念,初步设计了以下课程: (1)“软件开发管理”(Managing Software Development) (2)“软件系统架构”(Architectures for Software Systems) 第一门课程主要针对以后立志从事软件工程管理方向的同学,课程针对IT项目集中阐述如何实现风险、资金、工期等各方面的管理;第二门课程主要针对以后立志从事软件高级开发方向的同学,课程主要讲述复杂软件系统架构层上的设计,介绍目前通用的软件系统结构、设计技术以及实现这些结构的模型、表述方法等。这两门课程对于软件工程硕士应该至少必修一门。除了这两门课程,其他软件工程类的课程包括了设计模式、软件测试、语言类课程如J2EE、.NET等等,学生可根据自己的实际情况进行选修。 5.2开设实践教学 针对该课程组,我们开设了实践教学环节,采用做中学理念,由指导教师(可以由助教担任)根据事先确定的主题,选用具体工具讲述如何使用该工具完成项目开发的某具体环节,工具涵盖了项目管理、架构设计文档化以及测试等软件项目开发的主要方面。 对于软件工具的选择,有两种思路。一种方法是对软件工程的不同环节分别选择不同工具,例如项目管理选Project、开发文档化选Rational、测试再选别的工具这样来做,但结构分散,不利于整体化考虑。另一种是采用套件,完成项目开发全程的所有操作,目前我们选择了两种套件,一是微软的VSTS,该套件和微软的Visual Studio开发平台绑定,适合学习.net开发框架的同学;另一种是IBM的RSA,该套件和Eclipse开发平台绑定,适合选择开源J2EE开发框架的同学。 5.3强化工程实践 大多数的软件学院目前都开设了专门的工程实践环节,但实际的效果并不尽如人意。因此我们将工程实践环节也纳入到开放式学习体系中,以前面所说的理论以及实践教学环节来指导学生更好地高质量完成整个工程实践。 从教学方法上,工程实践应尽可能地贴近现实项目,除了常见的软件工程文档,我们还要求学生提交过程管理类文档(软件开发合同、会议记录、工作日程记录、合同执行报告:财务报告和开发过程报告、个人总结、小组总结等)。 从技术上,学生可以自由选题,也可参考工程实践题库中的选题。选题涉及所有领域课程包含的内容。要求学生必须采用实践教学环节中介绍的工具全程介入项目开发的各个阶段。学院设立专门的工程实践网站提供学生选题及交流,以及指导教师的监督。 从教学形式上,则注重如何实现应用型软件人才的核心能力分析与培养,要求学生运用职业实践子知识体系中的相应内容,锻炼学生的口头表达能力、书面表达能力等。通过学生的开题演讲、采用各种工具完成相应的项目文档、结题答辩等环节来实现学生职业素质的培养。 从实践效果评价上,我们制定了一系列的成绩考核方法、管理考核信息、分析考核结果、评价教学质量等措施,实现完整的考核体系。 6结论 软件工程专业学生的培养,在学科教育与培养面向市场需求的人才方面有着事实上的矛盾。软件学院现有的实践教学体系存在着专业课程设置定位不准确、课程实验师资不足、实验教学内容质量不高、实验指导和管理落后等问题。根据软件工程专业教学所面临的挑战,在充分调研IEEE SWEBOK和CC2004SE知识体系的基础上,针对软件学院的工程硕士,我们提出了软件工程硕士开放式教学体系的建设,围绕专业培养目标,结合学生的工程实践,引入课程组的概念,制定了一套较为完整的开放式实践教学实施计划。 软件硕士毕业论文:软件工程硕士“现代物流”课程的创新设计与教学实践 摘要:本文详细介绍了易新科技有限公司与浙江大学软件学院所开设的“现代物流”课程的定位、课程设计以及教学实践等内容。该课程致力于将学生培养成了解物流行业发展、理解物流操作、认识物流管理、掌握物流信息技术的高端应用型人才。 关键词:软件工程硕士;现代物流;课程设计;教学实践 1前言 软件工程硕士是国家教育部根据中国社会主义市场经济建设特定的需要,培养具有软件设计、开发能力并同时具有深入行业应用知识的人才而设置的培养体系。现代物流业是国内近阶段全面、快速发展的一个行业。其发展的动力一方面得益于全球化给中国带来的大量的产品制造机会,以及随之而产生的物流服务需求。另一方面得益于信息技术在物流业的深入应用。信息技术的应用使得以运输为中心的传统物流操作转变为以国际互联网、电子商务等技术为核心的现代物流服务。随着物流业对信息技术的日益依赖,以及中国市场上对物流人才的日益需求,使得软件学院开设现代物流方向的工程硕士顺理成章。 浙江大学软件学院作为国家重点支持的一所示范性软件学院,一直在了解并把握行业应用方向上积极地思考、谨慎地行动,以求建立高起点、面向高端、面向国际化的工程硕士专业方向。在决定开办现代物流方向后,经过对香港大学属下全资子公司易新科技有限公司(E-Business Solutions Limited, 简称EBSL;其之前名称为ETI Consulting Limited,简称ETIC)的全面了解、深入考察,决定由EBSL全面负责现代物流课程的设计、教学、以及实习指导。 EBSL是面向香港、珠三角进行物流与供应链管理、无线应用技术、应用平台集成与开发等方面的高科技开发公司。相对于国内或全球其他地方而言,香港在现代物流业方面长期以来有着强大的IT技术应用优势及产业竞争优势。EBSL以其众多的、扎实的行业应用知识及经验提供优质的技术解决方案,在香港与珠三角地区有众多的客户以及树立了良好的口碑。 2课程设计 2.1课程设计理念 当EBSL同浙江大学软件学院联合起来开设现代物流课程的时候,双方很快就确定了如下课程设计理念: (1) 课程的应用导向。除了满足软件工程硕士本身对行业知识的应用导向要求之外,在设计课程时,要尽量分享EBSL一直以来在香港及珠三角物流行业应用方面的实践经验。 (2) 课程的国际化。香港的物流应用技术水平虽然已经很高,但为了让学生充分了解物流业的最新趋势,仍需要跟踪、分析、整理国外发达国家在物流方面的最新应用技术。 (3) 课程的差异化。目前国内已经有很多大学开设了现代物流相关方面的课程以及出版了相关的教材。基于高起点的合作初衷,在设计课程时要突出差异性,让学生可以从不同的角度、不同的体系、不同的风格去学习相关的知识。 (4) 课程的多层次化。由于软件工程硕士的学生有的是脱产学习,有的是在职学习,有的本科学习背景是计算机相关专业,有的本科学习背景是管理或其他非计算机专业。因此在课程设计上要考虑到不同学生的背景、知识面、及时间可得性。 (5) 体系的完整性。现代物流业涉及的知识面非常广泛,要在内容取舍上做到点面结合。对不能深入介绍的内容,要向学生展示出一副完整的体系架构,以便学生对自己已学习的知识、待学习的知识有清楚的了解。 (6) 内容的启发性。硕士教育已经是远超越牵引式的教育阶段。在课程内容或课后作业上,要给学生留下更多思考的空间,启发学生继续对某一方面知识的深入探索。 2.2课程设计过程 基于以上双方达成的课程设计理念,EBSL调动了众多的资深行业专家、专业研究人员、以及应用开发人员一起进行课程设计。其间,经历了向两个方向的探讨,设计了两种待选方案。 第一种方案是考虑到学生的学习背景而设计的五门循序渐进的核心课程,分别为现代物流基础(Basic)、现代物流操作与管理(Operations Management)、现代物流信息系统(IT Systems)、现代物流新兴技术(Emerging Technologies)、以及现代物流系列讲座(Lecture Series)。如图1所示,左边是五门课程的层次结构,右边所示为其中一门“物流操作与管理”课程所覆盖的内容。 该五门核心课程并非完全分割,而是都涉及到行业知识(Domain Knowledge)、产业分支(Industries)、处理流程(Processes)、操作(Operation)、信息技术系统(IT Systems)、信息技术开发(IT Development)、管理(Management)、及发展趋势(Trends)共8个维度。但每一门课的侧重点有所不同,它们之间可以达到前后照应、重点突出,如图2所示。 第二种方案是抓住“现代”这个关键词,以从传统物流向现代物流发展为主线,从多角度阐释“为什么是现代物流”,“什么是现代物流”。“为什么需要现代物流”等问题。相关课程的结构如图3所示。 如图3表明,我们主要是产业发展(Industrial Development)、操作(Operation)、管理(Management)、信息技术应用(IT Enablement)、服务区域与时限(Service Range Time)、安全(Security)、环境友好(Environmental Friendliness)等角度来阐释现代物流的发展、演变、特点、并以此为主线来讲授相关的应用知识。 经过多次的讨论,最后确定以第二种方案进行进一步的课程内容设计,因为该方案更符合预先确定的课程理念,特别是在课程的差异性、灵活性、体系完整性、及启发性方面。 2.3课程设计结果 在确定课程结构后,经过多方面的资料收集与整理、分析与比较,最后设计出针对一个半年学期的四次共十六个学时的课程。 第一次课程主要是从产业发展的角度介绍现代物流,其中包括三个大的方面:现代物流的发展历程、现代物流的模式、我国现代物流的现状。其中现代物流的发展历程包括美国、日本、中国三个国家的现代物流的发展历程。因为在其发展历程上,三个国家间是有传递关系的。现代物流的模式方面介绍了物流园区、配送中心、物流外包、第三方物流、第四方物流、现代集装箱港口、保税物流、全球速递、绿色物流等内容。有关我国现代物流的现状方面,从多方面进行了比较,包括产业横向比较、物流成本比较、物流从业人员比较,以及现代物流业与其他产业的关联性及相互促进的发展趋势。第二次课程主要是从操作的角度介绍现代物流。其中介绍了四种主要运输方式(公路运输、铁路运输、水路运输、航空运输)在其运输、仓储、搬运与装卸、流通加工阶段所涉及的设备、工具、流程、单据或文件。第三次课程主要从管理的角度介绍现代物流,其涉及的内容包括作业(生产)管理、营销管理、人力资源管理、成本与收入管理、质量管理、风险管理、客户与合作伙伴管理、资产管理、并最后汇集到信息管理。该方面的内容与前一次课的物流操作配对起来,进行有点有面地介绍。第四次课主要是从信息技术应用的角度来介绍现代物流,其讲解思路是以信息的加工处理过程为主线,介绍同现代物流有紧密应用的技术。所涉及的内容包括信息获取与录入(条码、RFID、GPS、中间件)、信息编码与存储(UPC、GTIN、EPC)、信息处理与分析(数据仓库、OLAP、数据挖掘、空间数据分析)、信息的呈现与可视化(GIS、仿真系统)、信息交换与共享(EDI、ebXML、BPEL、EPCIS)、信息传递与(GSM、3G、SMS、GPRS、WAP)、信息系统架构(SOA、EDA、Cloud Computing、SaaS),以及一些具体的物流信息系统。 3教学实践 按照既定的教学时间安排,我们在浙江大学2008冬季及2009春季学期,平均每个月给学生授课一次。在教学实践中,除了充分体现课程设计时所确定的应用导向、国际化、差异化、完整性、多层次化、启发性等课程理念外,还注意了如下的教学细节。 3.1时事性 如在第一次课讲授现代物流的模式的时侯,宁波刚好举行了“宁波―舟山港2008年第1000万集装箱”的庆祝仪式。对宁波―舟山港而言,突破1000万TEU集装箱吞吐量是一个重要的时刻,属于宁波广为传播的一件大事。在课程中,我们把该事件与现代集装箱码头的发展、中国集装箱码头的壮大等内容结合起来,让学生们基于身边所发生的事情产生热烈的讨论,以留下真实而深刻的印象。又比如在讲授现代物流的风险管理的时候,刚好在亚丁湾发生多起索马尼海盗劫持商船的行为。课程中就把预防海盗的劫持,作为一个现实的问题,又重新归纳为一个海运重点关注的风险,虽然它曾经是17、18世纪航海界的灾难性问题。 3.2趣味性 如对公路、铁路、水路、空运等运输方式所涉及的运输、仓储、装卸与搬运、流通加工等过程,并没有枯燥地一个一个介绍,而是设计了一个虚拟事件:2009年NBA全明星赛将在菲尼克斯太阳队所在的凤凰城举行。为满足球迷对全明星球衣的热爱,组织者1月份向中国广东某工厂订购了5万件全明星赛球衣。基于这样一个虚拟事件,再设计了一些虚拟的球衣产前及产后物流流程:(1)服装加工厂从湖北省采购球衣所需布匹,通过公路运输运往武汉某货运站;(2)通过铁路运输,布匹由武汉某货运站运到广东某仓库进行仓储;(3)球衣完成加工后,球衣装进集装箱,准备出口到美国;(4)集装箱由货柜车运到深圳,在深圳出口通关;(5)从深圳通关后,运到香港集装箱码头;(6)在香港集装箱码头装船,通过海运运往美国三藩市的配送中心;(7)在三藩市的配送中心完成分拣、包装后,通过飞机空运到凤凰城机场;(8)从凤凰城机场通过快递服务运送到各球衣销售门店。基于这样一系列虚拟任务,在引导学生一步一步完成球衣交付的同时,把其中所涉及公路运输、货运站、铁路运输、仓储、集装箱运输、出口通关、集装箱码头、海运、配送中心、空运、快递服务等知识全部融入其中。 3.3团队协作 比如,在介绍完前面所提到的NBA球衣交付的虚拟流程后,给学生留下一个课后作业,要求5~6个人自由组合成一个小组,查阅相关的数据或作出合理的假设,来计算虚拟场景中球衣物流的整个时间与成本。该时间或成本没有预设标准答案,学生可以重新设计路线,走不同的港口或航线,作出不同的假设。目的是要求学生去深入考虑其中的环节(运输里程与时速、装卸时间、交接时间、报关环节时间、航班与船期、意外情况等)并收集相关的参考数据作为支撑材料,来对其结果进行辩述。 4结论 通过教学实践证明,易新科技有限公司与浙江大学软件学院这种跨区域的、高起点、高定位的校企合作模式是非常成功的。课程从设计开始就遵循了应用导向、国际化、差异化、多层次化、完整性、启发性的理念。在设计过程中经过了深入的调研、比较、论证,设计出合理的课程体系。在教学过程中,注意了教学的时事性、趣味性、灵活性,以及对学生的团队工作能力的培养。该课程吸引了广大学生的兴趣,众多相关专业的学生选修了该课程。课堂的最高听课学生人数达到200多人。在教学完成后,学生普遍反映收获良多、知识面扩展很大。对毕业后成为一个了解物流行业发展、理解物流操作、认识物流管理、掌握物流信息技术的高端人才有了足够的信心。 软件硕士毕业论文:从实战中培养工程硕士开发大型软件项目的能力 摘要:专业学位(professional degree),是相对于学术性学位(academic degree)而言的学位类型,其目的是培养具有扎实理论基础,并适应特定行业或职业实际工作需要的应用型高层次专门人才。如何到达这个目标,我们在培养计算机工程硕士的这一年多时间里,通过与美国的IT业公司和大学的合作,让工程硕士参与到软件中介发标的项目中,从中接触一些大型软件项目的开发,了解大型软件项目的开发流程,从实战中提高软件开发能力。文章介绍了这一过程,并进行经验总结。 关键词:专业学位;软件开发;客户需求;软件构架;代码质量 专业学位与学术性学位在培养规格上各有侧重,在培养目标上有明显差异。专业学位以专业实践为导向,重视实践和应用,培养在专业和专门技术上受到正规的、高水平训练的高层次人才,授予学位的标准要反映该专业领域的特点和对高层次人才在专门技术工作能力和学术能力上的要求。专业学位教育的突出特点是学术性与职业性紧密结合,获得专业学位的人,主要不是从事学术研究,而是从事具有明显的职业背景的工作。 我院从2009年开始招收计算机工程硕士,以培养能够从事软件开发的应用型人才。软件工程相关知识是各个公司在开发大型商业软件项目当中总结出来的,具有很强的实践性。如果单独通过课本的讲授,工程硕士难以获得深刻的印象,而且难以达到教学目的。因此,必须让工程硕士接触到真正的商业软件项目,并且参与到软件开发的各个过程,让他们更加深刻地体会课程中讲授的知识点,提高其软件开发能力。 为了达到这个目标,我们在开始培养计算机工程硕士的这一年多时间里,通过与TRILOGY/GDEV合作,让工程硕士参与到当前主流大型商业软件的开发过程当中,从而更好地掌握软件工程课程教授的知识,并且了解当今软件开发中应用的主流技术和开发模式,从实战中提高软件开发能力。 1背景介绍 成立于1989年的Trilogy公司,总部位于德州奥斯丁,在印度和中国均设有分支机构。Trilogy公司在全球拥有600多名业内精英和超过500项的专利技术,有着 17年与世界500强企业成功合作并获利的经验,曾被福布斯、财富、商业周刊、哈佛商业评论等著名商业杂志誉为高度创新和高瞻远瞩的公司。 Trilogy 公司当前专注于数据挖掘和用户体验相关的业务,倡导新型的商业服务和技术支持,为客户提供完全的商业价值保障。其主要客户包括:Ford Motor,General Electric Healthcare,Daimler-Chrysler,Nissan,Goodyear Tire Rubber,Prudential,Travelers Insurance,Gateway,IBM等公司。 至2006年止,Trilogy 公司已为汽车、保险、消费电子等行业提供多个商业服务项目,如:FordDirect. com,Goodyear,TTG,,Prelaunch,Gateway,TIS等。我们通过网上投标,参与这些项目的开发。 项目开发的过程主要包括:下载PIP(Product Info Page)和RFP(Request For Proposal)文档、虚拟机(以及SVN代码)和程序文档。PIP是一个网页,是项目的需求;RFP文档是关于项目使用的技术概述;虚拟机是模仿对方开发环境的平台;程序文档放在网站上一个固定位置,如Bundle Location。发标的公司会提出: “Deliverables”:是最终需要提交的东西,一项都不能少,否则算失败。 “Acceptance Criteria”:对方接收的标准,符合标准的就算通过。 “Deadline”:提交时间,超过这个时间即为失败。 项目提交后,如果判为失败,开发者还可以申诉(Rebut)。 2项目开发的收获 通过参与这些项目的开发,工程硕士主要在以下几个方面有所提高。 2.1锻炼工程硕士与客户沟通的能力 客户的需求是基于其公司的商业逻辑,如何准确无误地获得客户的需求,并且从软件开发的角度将需求进行规范化,这是软件开发中必须解决的首要问题。 由于是跟美国IT业公司进行合作,所以该案例采用的交流方式是线上交流,而非传统的面对面交流。线上交流的主要方式是使用美国公司提供的Issue tracking system,完全是通过英文交流。长期的网上交流,锻炼工程硕士的英语交流能力和业务逻辑的理解能力。 2.2学习当前主流技术 在项目开发过程中,工程硕士能够接触到当前IT业主要使用的各种技术。同时,结合项目地学习可以让工程硕士更好地了解这些技术应用的场景、目的以及作用。下面列举项目中用到的一些技术。 1) 编程语言:主要采用Java,便于上手,以免工程硕士花太多时间在学习语言上。 2) 构建工具:Ant是一种基于Java的build工具,用于自动化调用程序完成项目的编译、打包、测试等。脚本格式基于XML,便于维护,而且基于Java的,具有平台无关的特点。 3) 虚拟机:要求配置模拟各种平台的虚拟机环境。 4) 数据库:采用Oracle、DB2、PostgreSQL和SQL Server,均是当前主流数据库管理软件。 5) 数据库查询语言:SQL以及OQL。其中项目中主要使用OQL即对象查询语句,使用OQL有利于软件开发过程中的效率和规范化。 6) 测试工具:JUnit,Selenium。JUnit是由Erich Gamma和Kent Beck编写的一个回归测试框架,广泛应用于单元测试当中。Selenium是一个用于Web应用程序测试的工具,通过编写模仿用户操作的 Selenium 测试脚本,可以从终端用户的角度来测试应用程序,能够支持不同的浏览器,以及能够使用各种编程语言编写,广泛应用于UI测试当中。 7) XML技术:XML是一种平台无关的表示数据的方法。使用 XML 创建的数据可以被任何应用程序在任何平台上读取。甚至可以通过手动编码来编辑和创建 XML 文档。XML在网络应用和信息共享上方便、高效,可扩展。所以,可以XML作为一种先进的数据处理方法,使网络跨越到一个新的境界。在本项目中,XML主要用于书写配置文件。 2.3熟悉软件构架 众所周知,软件架构是一个软件先进性集中体现的地方。通过外包软件的开发,能够了解软件项目的架构,分析软件中应用的各种框架,理解应用的设计模式。下边是Java EE项目中常用的一些开源的框架。 1) Hibernate是一种Java语言下的对象关系映射解决方案。它是使用GNU宽通用公共许可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。Hibernate也是目前Java开发中最为流行的数据库持久层框架。它的设计目标是将软件开发人员从大量相同的与数据持久层相关的编程工作中解放出来。无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用Hibernate。 2) Spring是一个开源框架[1-2],它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring通过一种称作控制反转(IoC)的技术促进了松耦合。Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计和事务管理)进行内聚性的开发。应用对象只完成业务逻辑,并不负责其他的系统级关注点,例如,日志或事务支持[3-4]。 3) Struts有一组相互协作的类、Serlvet以及JSP TagLib组成[5]。基于Struts构架的Web应用程序基本上符合JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型。我们参与的软件外包项目很容易理解为什么Struts是一个Web软件开发框架,而不仅仅是一些标记库的组合,理解理解Struts的控制器(Controller),模型层(Model)和视图层(View)。体会在模型层,Struts可以很容易地与数据访问技术相结合,包括EJB、JDBC和Object Relation Bridge;在视图层,Struts能够与JSP、Velocity Templates、XSL等表示层组件相结合。 项目中还有一些独有的框架,由于细节繁琐,不便介绍。接触这些框架,可以获得宝贵的软件开发经验。 2.4提高书写代码的质量 在真实项目的驱动下,工程硕士通过自己阅读项目中的优质源码,以及在经验丰富的开发人员的帮助下,形成良好的编码风格,提高代码质量。 一个简单的例子是,工程硕士在参与项目之前,代码质量相当低,主要体现在:代码效率低下,缺乏注释信息,代码不具有扩张性,代码潜在bug多等。而对方真实的项目的代码中包含大量注释信息,以及一些必须的日志信息,具有良好的编码风格。在查找这些代码的bug或提升其功能过程中,一定会接受对方良好的开发风格熏陶。 3结语 总而言之,通过软件外包项目的开发,能够极大地提高工程硕士的学习兴趣以及效率。其具备的主要优点如下: 1) 该案例是基于真实的大型商业项目,是当前主流技术的集中体现; 2) 工程硕士可以接触到软件开发过程中的各个阶段,有利于工程硕士把握软件开发流程; 3) 工程硕士可以通过阅读优质源码以及和有经验的开发人员交流来提高软件开发能力,以及通过与客户交流来提高提炼需求的能力; 4) 外包软件开发实践性很强,工程硕士能够很好地补充课本的不足; 5) 从外包软件开发中,工程硕士能够获得很好收益,激发学习热情。 我们认为,让工程硕士参与软件开发实战,积极推进了硕士研究生培养模式的改革,加强了应用型高层次人才的培养,促进了人才培养与社会需求的有效衔接。 软件硕士毕业论文:服务地方产业发展需求的软件工程硕士培养模式研究 摘要:浙江大学软件学院紧跟产业和技术发展,坚持市校合作高起点办学,依托浙江大学的学科、师资等资源优势,创新名城名校的办学机制,探索与市场需求接轨服务地方经济发展的产学研相结合的软件实用高级人才培养模式,在理论教学、技能培训和工程实践相结合的教学模式上实现创新和突破。 关键词:服务地方产业发展;软件工程硕士;培养模式 当前,宁波正面临着重组产业要素、转变发展方式、实现科学发展的严峻挑战。宁波各级政府正在狠抓机遇,迎难而上,采取有力措施,促进工业调整转型,加快现代服务业发展。从2009年起,宁波全面实施了服务业跨越式发展行动纲要,推进服务业功能区和产业基地建设,大力发展以传统制造业转型升级为标志的生产性服务业,大力发展以新一代信息技术支撑应用为标志的新兴服务业。宁波的家电、服装产业入选了省首批块状经济转型升级示范区试点,工业企业二、三产分离发展加速,全国性物流节点城市建设正在积极推进,第四方物流市场平台投入运行,栎社保税物流中心封关运作,梅山保税港区的封关运行的前期准备完成,特别是2010年9月宁波智慧城市建设正式启动[1],等等,所有这些都说明宁波经济社会发展对高层次人才需求提出了新的要求,面向产业发展、服务地方经济成为高等院校人才培养的重要课题。浙江大学软件学院在宁波的办学是浙江大学与宁波市科教战略合作的重要成果,学院以市场需求为导向,以“Computer+X”和“X+Info”复合型人才培养理念,致力于培养高层次的应用型、复合型、国际化的软件工程技术和软件工程管理人才。针对宁波产业发展特色和区域社会经济统筹的需要,学院有选择性地开设高层次软件工程人才需求急需的专业方向,小批量规模化地培养软件工程硕士。本文以与IBM合作创建的软件服务工程专业方向的培养模式为例,阐述专业课程的设置和课程教学方式与产业发展和应用紧密相连,使学生不仅学习专业理论知识,并且了解产业发展趋势,掌握工程化开发方法和技能,直接为地方产业发展服务。 一、培养模式与方法 1.强大的产业界合作伙伴。选择具有国际或国内一流水平的产业界办学合作单位是实现高水平人才培养的重要环节。IBM公司不仅是全球最优秀的IT企业,而且最近几年已经成功地转型为服务型公司。IBM的各类信息系统已成为中国金融、电信、冶金、石化、交通、商品流通、政府和教育等许多重要业务领域中最可靠的信息技术平台,IBM的客户遍及中国经济社会的各个方面。同时,IBM作为全球IT服务的倡导者,具有非常丰富的高层次软件服务人才培养经验和支撑资源。2009年,浙江大学与IBM公司合作成立“浙江大学―IBM联合创新中心”,建立“浙江大学―IBM人才培养基地”并共建全国首家“软件与服务科学系”,双方合作利用先进的教学理念、丰富的教学资源、技术研发资源和应用实施经验,与时俱进,共同探索,培养符合当地经济发展需求的复合型人才。此次校企合作的创新模式在推进我国服务外包高端人才培养方面,迈出了大胆而创新的一步。 2.突出实践环节的课程体系。软件工程硕士的教学计划由基础课程、专业课程、实训、实习等多个环节构成,充分体现理论与实践相结合的特征。基础类课程包括公共基础及素质类和专业基础类。专业课程则是由每一个专业方向根据产业发展需求定制,教学大纲由学院和产业界合作伙伴共同确认、修订和执行。软件与服务工程方向的专业课程包括RUP方法论、协作软件生命周期管理、软件质量管理、面向对象的分析与设计、代码分析、Java高级应用开发、Webservice和SOA、J2EE应用开发、J2EE应用服务管理、数据库高级应用开发等,其中主要专业课程均由IBM资深工程师或产品经理承担教学。在基础和专业课程教学的基础上,通过课程的实验、案例分析与研究以及项目实训等三种方式组织学生在修课期间参与工程实践。学生在入学的第二学期开始参与项目实训,在实训中坚持采用符合实际应用环境的项目和开发方法指导学生。实训期间,参照企业团队形式,按项目管理要求管理学生,实训的导师来自于行业应用专家及其合作伙伴,采用企业开发模式指导学生参与行业实际应用需求的项目。从第二学年开始,学生进入企业实习。学院内的教学成果要通过参与实际企业实习来检验,学生的能力要通过实习来体现并进一步得到提高。学生毕业后的就业则与学生实习的效果直接关联。由于学生在学院学习期间已接触企业导师和符合企业文化的实训,所以到企业实习后,能马上参与项目工作,能在项目组中发挥作用,快速提高自己的业务和技术能力。软件服务工程方向的实训项目是由IBM提供的真实航空业客户项目剪裁而成,项目客户需求真实完善,项目文档完整,学生将按照企业级的项目开发和管理方式演练该项目。其中,学生将直接扮演项目开发组中的成员角色,角色包括:项目经理、技术经理、配置管理员、软件工程师、测试工程师、DBA等,来了解在软件项目开发团队中的角色、过程、规范和执行方法。整个实训项目是模拟实际客户项目开发过程,以团队的形式,进行项目过程定义、项目计划、需求分析、设计、编码和测试及交付。学生完成实训项目后,对企业真实工作流程和项目开发实施环境有了很好的了解,也初步具备了职业人的素质和团队协作的意识。在研究生培养的第二学年,他们均按照双向选择的原则进入企业进行实习,实习期限为半年到一年。实习期间,学生与学院、企业签订三方协议,明确自己岗位,承担工作角色,遵守企业工作纪律,完成岗位工作任务。并根据实习内容,完成硕士论文。 3.高水平的专兼职师资队伍。聘任校内具有较高学术水平,工程实践经验丰富,教学严谨,学生反映好的教师负责专业基础课、主要专业课和毕业设计指导的教学任务。聘请合作企业工程实践经验丰富、具有高度责任感的一线高级工程技术人员承担部分专业课、专业实践课和专题工程训练的教学任务,充分发挥企业教师的工程实践经验的作用。有企业教师参与的课程与实践环节达50%以上。通过学校教师和企业教师的混合讲课方式,即由来自学校和企业两个方面的教师以多种方式(包括讲课、讲座、研讨、实践等)共同上一门课,互相取长补短,使学生从多种角度和以多种方式理解课程内容,IBM方面还为软件学院教师提供专门的培训和奖教金,学院多名教师作为电子商务方向的CDL访问学者对国内渠道电子商务平台与对接工具提供商进行调研和课程开发共建。针对软件工程硕士培养的特点,充实壮大硕士论文导师队伍。一方面认真总结“双导师制”的经验,进一步推广“双导师制”。另一方面,充分利用学校的相关政策,在原来实行的“双导师制”的基础上,聘请企业中具有丰富工程经验和指导经验的合作导师担任硕士论文导师,独立指导硕士论文。 4.面向产业的专题化工程训练。为了实施上述教学计划和课程体系,我们与IBM共建了联合实训基地。为了更好地突出实践教学特色,增强实战效果,提升工程设计、开发与实施能力,在实训基地基础上又与相关企业合作建设了RFID、物联网技术应用、物流新技术等专题工程训练基地。相比实训基地,工程训练基地在以下方面有了较大的提升,以取得更好的工程训练效果:场地、设备、软硬件系统等设施达到或接近工业界的工程开发环境;参照合作企业制度,实行严格的项目管理、过程管理和参训人员评价考核制度;工程训练的案例其规模和复杂度更接近实际工程项目,从几个人组队可以完成的小项目提升为需要几十人、数个小组合作完成的中等规模项目;积累数量较多的实际项目案例库,供参训人员参考学习;参照企业实际工程项目配置,选派多层次、多角色具有丰富工程经验的工程师指导专题训练。 二、成果 针对宁波地方产业和经济社会发展需求,设置相应的软件工程硕士研究生培养专业方向,直接引入国际、国内在该行业具有领先优势的企业参与专业课程体系设置和教学实施过程,建立了紧密型的产学研合作办学体制。在专业课程体系建设中突出课程实验、项目实训、企业实习等实践环节,实现了高水平的学院教师与企业工程师相结合的混合式教学方式,以企业实际应用项目作为学生课程实践内容,引进企业化项目管理思想,让学生在校学习期间就能体验到企业化的项目管理模式。通过与IBM的合作办学促成了IBM公司在宁波建立IBM在中国大陆的第四个研发基地――IBM中国开发中心(宁波)及IBM中国开发中心物流行业解决方案中心。该方向培养人才为IBM宁波研发中心的成功设立和运行提供了高水平专业人才保障。软件服务工程方向自开办以来(2009~2012级)共招生211人,进入IBM宁波、上海、北京开发中心实习学生人数超过50%,被IBM招聘为正式员工的学生近40人,90%以上的学生进入了IBM、中国移动、中国电信、百度、淘宝、阿里巴巴、网易、摩根大通、银联、工商银行、建设银行、思科、上海盛大等知名企业。浙江大学软件学院与IBM的合作项目已经成为国家示范性软件学院与产业合作办学的典范,也成为IBM拓展高层次人才培养项目的标记性项目,多次获得IBM创新成果奖。 三、展望 浙江大学软件学院经过多年的探索和实践,在培养复合型软件工程人才方面积累了较丰富的经验,特别在产学研合作办学过程中不断与合作企业协同创新、共同提高。产学研合作协同创新是一个系统工程,在人才培养方面,要更加关注国际化、高端化、工程化、创新型人才的培养,深化高端价值型、市场紧缺型、行业领军型人才的培养;在科技创新方面,面向经济和社会发展中的重大现实问题,要加速新技术的孵化、科技成果转化和应用实践,更好地服务于地方产业发展。 软件硕士毕业论文:软件工程硕士论文质量评价模型及相关问题研究 摘 要:为了能够准确合理的把握软件工程硕士论文的质量,本篇文章对建立一个软件工程硕士论文质量评价模型,制定了一套清晰的论文质量衡量标准,并且根据此项标准在实施过程中将会产生的问题进行研究与解决。 关键词:工程硕士;质量评价;质量标准;问题研究 1 存在的问题与质量评价度量模型 由于各种原因的影响,论文质量评价与实际评审时存在很大的差异性,由于在实际评审中不能客观的对论文作出合理的度量,导致整篇论文无法发挥出他实际所拥有的价值。比如,科技论文本身就是一种纯理论性文章,但是书写的时候就要求选题来自于科学实践、结论准确、并且应用性较强。而对于论文质量度量标准要求则是:技术先进、内容丰富,运用基本的理论知识、专业的技术和科学的方法。结构清晰,有一定的创造性和针对性,逻辑清楚,社会评价较高等等。但是在实际的论文质量评价上还有很多的问题需要注意:(1)在论文质量要素的选取上过于普通、抽象与虚拟,所以在表达上很难形象、新颖、且直观的体现出表述对象的真实状况。(2)对质量要素的审判,用标志性的事件、交付物的成果和质量要素的度量进行评价,使抽象的评论更加具有了抽象的意义。(3)质量要素的度量和评价是固定的,它缺乏了对事件的实际性分析,当给予准确的评分时就会错误的判断了它本身所特有的价值。 导致这种现象出现的可能原因有两个,一个就是制定者在制定时考虑到论文的多样性,如果过于细致的标准会限制作者的发挥,所以对论文的评论标准范围就加大了,准确程度减小,致使以上的问题同时也随之出现。另一方面就是标准制定者对软件硕士论文的发展方向和内容的判定不能作出准确的判定,所以很难掌握论文的度量标准,最终导致不能制定出确切的标准。 要想解决论文评审中出现的这些问题,本文通过软件工程硕士论文这一特定的对象,建立了一个新的论文质量评价模型,以用来解决论文评审中所产生的问题:首先,要将不同种类的论文进行严格的分类。其次就是对论文进行分析,找出论文必备的基本结构。再就是要找出论文中的论述对象,并对其论述进行分析与评估。最后,也就是最重要的一步,就是要在论文找出最终的质量评估要素的度量方法,将其转化成成绩的形式得出最后的评价标准。 2 论文的分类 要想对软件工程硕士论文质量作出准确的评价和度量,首先就要明确论文是哪一种类,我们研究的是软件工程硕士论文,那就可以将其划分为软件技术研究和软件工程项目二类。在将论文确定类型之后,我们对论文就有了一个明确的评价标准,从而相应的也就找到了合适的评价标准,就可以对其对象作出真实、客观的评论。 3 论文的基本要求 对软件工程论文进行分类,可以确定论文的大致写作方向可以向工程项目类毕业论文,有了明确的方向之后就可以着手进行写作。要想写好一篇论文就要抓好以下几个方面,从而会使文章结构更加完整: 3.1 对相关知识的掌握度。事先了解项目的一些相关信息,例如:研究的背景;研究的问题;以及研究的目标描述,还要对学生进行专业知识的考察,了解学生对他们所在的行业领域的业务知识和领域的链接等问题,同时也是考察他们对其了解的范围和深度,也就是考察他们对论文课题的掌握水平。 3.2 技术水准。通过对学生论文水平的技术分析,可以看出一个学生在遇到问题时的解决能力,这里考验了学生在运用技术方法,使用工具的能力和具体方案,在这里,不仅需要他们要亲身的实践,更多的是学习到更多有关方面的知识和技能。 3.3 完成能力。通过学生对项目的关键技术的实际实施过程,对学生遇见专业技术上的问题时的解决能了和取得的成就,分析学生所具有的实际能力。 3.4 实施能力。通过学生的项目实施过程报告,对学生在遇到关键技术解决方案的实现作为基础,组织实施软件工程项目的过程管理和对其的控制能力。 4 质量要求及论文的度量标准级模型建立 根据以上论文内容涉及到的四个相关要求,我们相应的将四个要求进行分解,更加细致的解释每一项的质量度量要素,提供给论文评审时进行分析与评价。 4.1 项目研究的背景与目标。 先要对其进行领域背景的描述,然后再对领域问题解决的状况和关键问题进行分析,在确定之后,就要设计项目的技术方案的思路与设计,当各方面都做好之后,再表述一下具体想要达到的目标,和所承担的子目标。这样项目研究的背景与目标就可以了。 4.2 项目技术方案的分析。第一步要对领域问题核心技术的概念进行介绍,概念明确之后也就是第二步领域问题涉及到的历史方面和现状进行描述,这些都是很重要的,因为下一步就要对相关技术和计划方案进行比较与评价,紧接着就是项目技术方案的思路与设计,有了明确的思路才能使论文顺利的进行下去,项目技术方案分析的最后一步就是实现策略,每一步都有了,最终就看实际实施的状况如何。这些步骤环环相扣,使结构更加的紧密。 4.3 项目中关键技术的实施。关键技术在实施中占得成分比较重要,所以关键技术的实施一定要具体描述,本人在解决关键问题中承担了怎样的责任并在实施中的位置和缠身的影响,关键在于,在技术实施中攻破了怎样的难关,同时也要对技术的基础进行描述,和全过程的描述,最后总结项目关键技术的结果和评价。 4.4 项目过程结论报告。报告就是对论文的最后总结,本文是关于对软件工程项目的论文,那么就对范围定义与需求开发过程总结,然后对整个系统架构进行分析,设计一套完整的过程,测试系统实现成果展现全过程,接近结尾写一下项目管理和软件过程的控制,最终,结尾就要做出项目总结并对未来的计划展望。 作者单位:云南经济管理职业学院,昆明 650106 软件硕士毕业论文:软件工程专业工程硕士数字图像处理课程建设 摘要:针对目前软件工程专业工程硕士与工学硕士在培养方案上有很大区别,但培养课程却大量重复的問题,以数字图像处理课程为例,结合工程硕士的培养目标,提出需要培养其应用型研究能力和应用型技能的观点,并给出具体实现方法。 关键词:数字图像处理;工程硕士;应用型研究;应用型技能;软件工程 软件工程专业工程硕士研究生与传统的学术型研究生有所不同,前者主要面向企业人才需求和应用软件开发需求进行培养,因此在课程内容选取、授课方法设计和实验环节设计上都需要进行思考和调整,这也是北京林业大学在申请到软件工程专业的工程硕士学科后重点研究的問题。 数字图像处理课程属于图形图像应用领域的重要基础理论课,长久以来课程内容主要介绍基本的图像处理算法以及少部分图像分割和图像识别,对于图像处理在实际生活中所涉及的很多前沿科研领域介绍较少,因此很多研究生无法将课堂讲授的理论知识与其后续从事的研究课题有效地关联起来,感到课堂中讲授的很多内容看起来毫无用处,从而丧失了学习的积极性。 很多教师认为把图像处理中的算法研究透彻、把基础打好对研究生非常重要,但是这忽视了研究生是有着极强的科研探索精神和丰富想象力的年轻一代。如果将一些在生活中涉及图像处理的問题交给他们进行探索,将会激起他们浓厚的学习精神和创造力,这种没有标准答案的应用题目可以进一步锻炼他们的思考能力。 为此,在课程的教学方法和实验内容设计上,我们重点培养学生以下两方面能力。 (1)应用型研究能力,包括发现問题、分析問题和解决問题的能力; (2)应用型技术能力,包括编程设计能力和项目合作能力。 下面笔者分别从教学大纲、教学方法设计和实验内容设计3个方面进行介绍。 1.数字图像处理课程教学大纲 我们在设定教学大纲时,重点参考了多本数字图像处理方面的经典教材,如杨枝灵和冈萨雷斯编写的教材。结合之前的教学经验,同时注意与本科生课程相区别,制订了两个原则:加强中高级图像处理算法的介绍;增加利用图像处理算法的应用案例的介绍。中高级图像处理算法主要指图像分割算法、图像特征提取方法和运动检测方法。同时我们还在课堂上给出一些应用案例,进一步帮助学生将理论知识与实践相结合。 数字图像处理课程目前作为北京林业大学研究生的专业必修课,总学时为32,其中课堂讲授24学时,实验8学时。相对于其他学校,这门课程的总学时和实验学时数不多,我们设计的教学内容如表1所示。 2.数字图像处理教学方法设计 针对培养学生应用型研究能力的目标,我们在教学方法设计上本着激发学生的学习兴趣,开阔学生眼界,给学生提供更自由的思考空间的原则,通过下面两个措施来实现我们的目标。 2.1精心选择案例 选择的案例要贴近实际生活,并与课堂上讲授的方法紧密衔接。例如,在讲解图像增强和复原这两章之后,我们引入在实际生活中常见的“图像去雾”問题,通过如下方法,培养学生研究能力。 (1)要求学生先尝试用学过的算法来解决这个問题,并在课堂进行算法讨论,给出算法结果。 (2)要求学生针对具体問题,查阅文献资料,了解别人的解决方法。通过查阅国内外的文献资料,同学们知道了如何根据关键词查询科研论文,了解哪些电子数据库中有与专业相关资料,知道了文献的级别有SCI、EI、核心期刊、一般期刊等。 (3)学生将查到的算法进行分类和总结,撰写文献综述。 (4)每位学生都需要编程实现“图像去雾”算法,这个算法是结合自己的思考、实践以及查阅文献的结果。 通过自己动手,同学们发现如果图像的清晰度不好,有噪声,或者没有归一化,结果就完全不同。通过自己动手验证,同学们会发现图像处理领域的一个最为重要的特点——任何算法主要都是针对一类图像或是针对一类問题而设计的,因此在算法的适应性上需要有所考虑。 2.2全面介绍图像处理的各个应用领域 老师在课堂上介绍几个图像处理涉及的较为重要的应用方向(如视频监控、图像检索、人脸识别、运动检测、车牌检测等)后,将同学们进行分组,每组负责查找一个应用方向的相关资料,讨论和汇报自学的结果。汇报内容主要包括:①应用方向的介绍;②涉及的主要問题;③目前的解决方法及应用成果。 通过查找文献,同学们不仅对课上学习过的经典算法有进一步了解,同时还接触到很多新算法。通过听取各组汇报,同学们在较短的时间里,了解了图像处理涉及的多个主要的应用领域。针对每个应用研究领域,老师引导学生分析该领域的难点和重点,提出問题,再让学生思考解决方案,没有标准答案,只希望能够锻炼学生的思考能力。以“人脸识别”为例,有很多经典的或较新颖的算法,老师会结合应用领域对其中常用的或比较重要的算法,如PCA方法和Adaboost算法,进行详细讲解,使学生全面了解图像处理算法的应用领域。 3.数字图像处理实验内容设计 针对培养学生的应用技术能力的目标,同时考虑到本课程实验学时数较少,我们设计了两个实验——基础性实验和综合性实验。 3.1基础性实验 目前很多经典的图像处理算法是用vC++程序实现的,我们要求大家学会读程序,能够看懂已有的算法实现程序,并在此基础上能开发新的功能。 实验一:实现对多种图像格式的支持(2学时) 实验内容:采用VC++编码实现,基于CDib类,添加支持打开,并保存多种图像格式的功能。包括JPEG和GIF。 实验要求:利用学习的图像压缩的知识,利用现有的编码解码库实现对IPEG和GIF图像的打开和保存。 实验目的:了解多种图像格式,编写针对多种图像格式的读写程序,能够进一步理解针对图像的编程的特点,同时也进一步了解开发图像应用程序的适应性問题。 老师在课程初期会向大家介绍图像处理的一个公开库——CDib类。该类很好地封装了图像的数据结构,涉及很多图像的基本操作。我们知道现实生活中的图像常常都是压缩格式的,如BMP、JPEG、PNG、GIF等。因此在讲完图像的压缩格式后,对照讲过的BMP图像结构,老师要求学生为CDib类添加能够支持多种图像格式的功能。以GIF图像为例,它不同于如JPEG、PNG等格式,GIF采用的是LZW压缩算法,使用的是无损压缩技术。GIF图像的特点是可以一次压缩多幅图像,图像颜色表控制为256色,使用渐显方式。 3.2综合性实验 针对综合性实验,我们会拟定多个题目让学生选择,如树叶提取、花朵提取、车牌识别等。 实验二:数字号码图像的识别(6学时) 实验内容:采用VC++编码实现,基于CDib类,针对数字号码图像,识别出数字,给出文本显示结果。 实验要求:将该题目进行分解,划分任务;组内每个同学负责一部分任务的编程工作;每个人针对自己负责的工作至少提供两种实现方法,并放入整个项目流程中验证这两种方法的有效性;最后总结出两种方法的异同以及适应的范围。 实验目的:考查学生对数字图像处理应用中每个步骤的掌握程度和项目合作沟通能力。 上述实验涉及以下几个步骤。 ①图像的预处理; ②图像的分割; ③图像的特征提取; ④图像的分类。 组中每个学生负责一个步骤,所有步骤都需要尽心设计,这样整体的效果才可能最好。同时大家需要协商各自负责模块的人口和出口的数据结构,保证数据能够在模块之间顺利流转。这种协商和分工合作的能力是软件工程专业最需要的技术能力之一。 以“数字号码图像识别”为例,该题目可以分割成4个步骤:预处理、数字图像切分、数字图像特征提取和数字识别。在每个步骤中都有分别需要注意的問题,如在预处理阶段,需要对图像进行去噪声,增强对比度,甚至需要进行膨胀和腐蚀将图像中断裂的数字部分连通起来;在数字图像切分阶段需要制定适应性广泛的切分策略来应对各种情况,如数字排列可以呈现任意的倾斜角度,或数字字符相连等;在数字图像特征提取阶段,我们可以考察每个数字图像的自相关系数特征,或者每个数字图像的频谱特征,也可以考察数字图像的几何拓扑特征,如将数字图像分成2个洞的(8),1个洞的(4,6,9,0),没有洞的(1,2,3,5,7),针对每个类别再提取新的几何特征;在数字图像识别阶段,可以采用神经网络的分类器,或者利用制定的一些分类策略来分类,或者采用主成份分析(PCA)的方法来识别。 4.结语 两年多的教学实践表明,新的教学大纲、授课方法和实验内容有利于激发学生的兴趣,使他们带着問题去学习,从而加深了对图像处理应用领域的了解,锻炼了编写程序和协作开发的能力。下一步我们将设计更多合理有效的案例和综合性实验,力图通过这门课激发学生的创造力。 软件硕士毕业论文:基于软件工程专业硕士的三级思想教育模式探索与实践 学生思想教育是高等教育培养的重要内容之一。北京交通大学软件学院结合人才培养改革,探索与实践软件工程专业硕士思想教育的新途径、新思路。总结了工程硕士思想政治教育的特色工作,以软件工程专业硕士的思想教育工作经验为例,探索全日制专业学位研究生思想教育规律并推广经验,具有现实意义和可操作性。软件工程专业硕士三级思想教育模式北京交通大学软件学院作为国家37所示范性软件学院之一,自建院一直致力于应用型人才培养模式改革,以满足我国软件产业迅猛发展对高端复合型人才的需求。作为高教人才培养改革特区,2006年试点招收全日制专业学位硕士,在七年多的教学过程中遵循“培养应用型、复合式高层次工程技术和工程管理人才”的全日制工程硕士培养目标,坚持以教育改革为中心,产学合作,在开放与社会化办学、国际化、教师聘任等方面为高等工程教育改革做出了示范。“育人为本,德育为先”,在推进人才的工程实践能力培养的同时,软件学院始终以思想道德教育为抓手,引导专业学位硕士树立正确的价值观。努力克服改革前进中遇到的困难与挑战。经过对全日制工程硕士的思想教育工作不断总结,摸索出了一套学院、企业、导师相结合的全日制专业学位硕士三级教育模式。针对软件专业学位研究生,在学院方面,软件学院研究生工作组结合传统的研究生的思想政治教育,如对马克思列宁主义、思想、邓小平理论、三个代表重要思想、科学发展观等的学习和理解,引导研究生热爱祖国,了解时政方针和国内外形势;在企业方面,校企联合,利用社会资源,要求用人单位发挥同样的育人作用,促进学生加强职业个人修养,满足学生职业发展需求;在导师方面,实行校内外“双导师”共同监管模式,发挥学生健康成长的指者和引路作用。以下几个方面总结了软件学院开展思想教育工作的新思路、新方法,重点体现了三级教育力量各自的工作特色和作用。 一、创新思想教育载体,细化分类教育 作为落实中央16号文件的重要举措,北京交通大学软件学院认真贯彻落实北京市委教育工委的相关要求和学校的相关文件精神,以深度辅导、社会实践工作为创新载体,着力开展专业学位研究生的安全稳定和心理健康教育,全面提升辅导员工作的精细化水平。针对深度辅导,提出四项要点“覆盖全体,重点辅导;针对问题,提高效率;提高技巧,科学指导;整合力量,全员育人”。在校院两级党委的领导下,软件学院以科学发展观统领全局,以研究生综合素质培养为重点,以研究生工作组为抓手,学生干部为主导,统筹班主任等教师力量,推进深度辅导的辐射效果。在工作过程中,研究生工作组不断学习心理辅导理论,总结工作的方式方法,提高成效。 促进思想政治课堂教学与社会实践对接,充实提升研究生思想觉悟和理论水平。培养研究生对马克思列宁主义、思想、邓小平理论、三个代表重要思想、科学发展观等的理解和体会,培养学生热爱祖国关心国家大事,了解时政方针和国内外形势;培养学生关心集体和他人,学会妥善处理人际关系、正确面对人生道路的顺境和逆境,加强个人修养等;在学术教育中,培养学生严谨的科研作风和学术诚信,在职业教育中,培养学生的诚信意识和责任意识。根据学生的专长、技能、性格进行分类引导教育,变面向群体的粗放型思想政治教育为面向个体的细作型思想政治教育。 二、重点关注心理健康,保障安全稳定 招生伊始,专业学位研究生的社会认知度还不足,社会上普遍认为“专业学位研究生水平低于学术型研究生”,录取学生大部分由外专业调剂而来,自信心不足,缺乏专业兴趣和学习动力,对就业前景十分担忧。另一方面,针对全日制专业学位研究生的教育改革,高校在思想和观念上还未能形成统一认识,没有突出专业学位区别于传统学术学位的人才培养特色,导致专业学位研究生自身定位不明确。因此,作为新型人才培养模式的目标人群,专业学位研究生中存在的心理问题相对学术型研究生来说更为突出。另外,全日制专业学位人才培养的实践环节使在校硕士大部分时间在参与校内外专业实践、学习交流等各类活动,研究生的人身安全和社意识形态也成为高校安全稳定的重点关注对象。 通过研究生入学教育、学期教育、毕业教育、党员教育、素质拓展等具体途径对研究生学习、心理、生活、家庭等方面进行有效的教育引导,及时了解学生的思想动态。关注学生之所需,了解学生之所想,保证谈话内容能够找准切入点。制定了研究生安全应急预案,为全体在校实习学生宣讲并购买了商业保险,组建了研究生维稳小组,定期开展安全讲座,发送安全小贴士邮件,签订《安全责任书》,充分发挥研究生“自我教育、自我管理”体系的作用。在信息社会的快速发展中,改变单一的教育方式,通过电话、即时通讯软件、社交网络、微博等多种手段拓展沟通方式,确保学生个人动态信息传达及时有效。 三、有效开展生涯规划教育,提高就业竞争力 专业学位硕士的人才培养以就业为导向,因此通过多种方式推进全日制专业硕士的职业生涯规划至关重要。以学生自身职业发展为诉求,设计思想政治教育形式和内容,并结合学生的培养计划从传统的以面向科研的研究生为对象开展思想政治教育,转变为符合专业学位研究生培养特点,以提升就业竞争力、职业发展力和培养正确价值观为重点的思想政治教育。 就业情况的好坏直接影响全日制专业硕士的社会认可度,从而间接影响学生的职业发展和就业心态。软件学院经过考察,建立了一批实习基地共同开展人才定制培养,从企业内部聘请了一批经验丰富、技术水平过硬的技术人员作为校外导师,参与人才培养与思想政治教育环节。 为扩大专业学位硕士的专业眼界,提高就业竞争力。北京交通大学软件学院引入企业资源,建立相对稳固的实习基地,充分发挥校企合作优势,开展IT企业认知、职业生涯规划、面试模拟大赛等一系列主题教育活动,为学生提供参观行业内知名中外企业的机会以及职业规划讲座。参观走访的单位有微软、百度、IBM、甲骨文等,旨在让在校专业硕士提前体验、直观感受到IT企业的工作模式,加深学生对软件行业的了解以及企业文化的认同,培养学生对软件的兴趣,为实习就业工作打好基础。邀请邀请企业高管开展职业规划讲座、面试技巧辅导,讲述企业文化和个人职业发展,促进学生认清形势,明确自我定位,及早开展生涯规划,减轻就业压力。为更好地为专业学位硕士提供正确的就业指导,软件学院研究生工作组走进对口单位了解企业情况和用人需求,利用校友资源获取就业信息,构建多元化的就业推荐网络。 四、加强校企合作,开展“双导师”管理模式 硕士研究生导师在研究生的思想政治教育方面有着不可替代的作用,是学校和学生的重要纽带,是专业教育最直接的体现者。而专业学位的培养过程从课程设置上,实训、实习等环节比重明显加大,因此在校外期间的思想教育成为校内导师的教育盲点。软件学院以校企联动开展人才培养为契机,聘请企业导师给软件工程专业硕士专业指导的同时,开展思想教育。利用学校导师与企业导师的双重监管和教育,确保学术硕士的安全及心理教育覆盖全体,不留死角。 首先,要求导师注重言传身教,以身作则。“85后”“90后”群体强调个性,具有很强的怀疑精神,对说教容易产生逆反心理,所以导师的身教更胜于言教。可以说,导师是专业学位硕士进入社会工作之前接触最多、最容易对其产生影响的人,因此导师必须敢于坚守正面的价值观念,敢于向学生灌输正面的价值理念,在与学生的直接交流中,对学生进行是非观、人生观、价值观的教育。 其次,在论文或实习环节,要求校内外导师分别把对职业道德、思想品质等方面的教育融入负责的每个环节,如在社会实践中教导学生加强职业责任感,从毕业实习、毕业设计等环节中培养学生扎实刻苦的学风和精益求精的工作态度。这些从实践中来、到实践中去的教育往往比空泛的说教教育更容易被学生接受。要求校内外导师在学生出现学业或生活困难时,及时进行通知研究生工作组,促进快速的有效引导,避免出现严重的心理问题,将思想教育工作常态化,确保学生按时、保质、高效地完成校外实践环节。 五、扩大国际化视野,增强文化交流 在教育国际化背景下,软件学院确立了国际化、具有国际视野和竞争力的研究生教育理念,重视解决好国际化人才的思维与国际接轨,培养全日制专业学位研究生的国际化观念:一是全球化竞争;二是危机意识;三是创新。软件学院关注国际化人才培养质量,为培养一批具有国际视野通晓国际规则能够参与国际事务与国际竞争的国际化人才,全面推进以培养创新精神为核心的素质教育。积极招收留学生,开展纯外语教学,营造学院的国际化氛围。开展中外学生文化交流、前沿技术讲座、素质拓展等形式多样的教育活动,培养专业硕士的国际化思维。2011年,软件工程硕士新生,包含来自17个国家的留学生130余人,开展了“春江潮水连海平,海上明月共潮生;花好月圆思乡切,海外学子别样情”的主题中秋活动。通过共度中秋佳节,中外学生不仅融入了新集体,也加深了解到不同民族文化。此外,通过邀请北京公安宣传中国法律法规、茶话会等方式让中国学生与拥有不同文化背景的留学生互动,培养其接纳不同价值观的能力。 六、引入以评促改,建立综合评价体系 全面的人才培养质量评价体系应是教育系统内部评价和使用者的外部评价相结合的综合评价体系。在学生的思想教育方面,软件学院建立“动态反馈”机制,引入外部评估,定期举办用人单位、校外导师座谈会,了解讨论学生在企业的工作表现和思想动向,促进学校的思想教育工作方式不断完善。形成一套了综合学生素质能力评价与思想道德评价的体系。 经过7年的工程硕士人才培养改革和探索,北京交通大学软件学院为国家培养了一大批懂管理、具有较强研发能力和很强英语能力的高素质软件人才,取得了不少用人单位的高度评价。正是在软件工程硕士管理环节中加强思想教育引导,始终将德育放在关键环节,不断探索和实践学生思想教育新模式,才使培养出的高端人才能够科学发展,获得社会及行业的认可。全日制专业学位硕士的管理和思想教育目前尚处于起步阶段,只有不断吸收、借鉴、实践国际上专业学位硕士研究生教育的先进做法,更新教育理念,创新工作思路、提高辅导水平,积极思考长期规划,为学生提供良好的管理环境,为专业学位硕士的职业发展创造有利条件。
软件毕业论文:计算机软件开发类毕业设计改革研究 随着计算机科学技术的迅速发展,尤其是网络技术与Web服务的出现,社会对软件开发类人才需求日益增加,软件开发类课程也成为高校计算机专业的教学重点[1]。然而,软件开发所学内容涉及面非常广泛,最基本的课程就包括C语言、C++、JAVA、数据结构、软件工程、数据库原理及网页制作等[2],如果只是学好某些课程,做好这些课程的实验,甚至这些课程的课程设计也非常优秀,但也无法满足社会对应用型人才的需求。因为学生所学和所用都只是片面的知识点,不仅没有将所有软件开发知识有机地结合和整理,更没有结合社会实际开发能够应用于公司企业的项目。计算机软件开发类毕业设计正好弥补了这些不足,大四学生已经具备了软件开发的基础,能够将所学知识综合整理设计,并通过市场调查、资料查阅和企业调查等形式了解项目实际需求,开发一套满足社会基本需求的软件系统。由此可以看来,计算机软件开发类毕业设计是实现软件开发类专业人才培养目标的综合性实践教学环节,在提高了学生程序开发能力、综合设计能力和分析研究能力的同时,也锻炼了学生解决实际问题的能力,更加全面培养了学生的业务能力和专业素质,为学生毕业求职创造了有利条件。因此,对计算机软件开发类毕业设计教学改革研究具有非常重要的意义。 1计算机软件开发类毕业设计存在的问题 自21世纪高等教育改革以来,全国各高校招生规模不断扩大,导致毕业生数量也相应大规模增加,给高校学生的求职择业带来了严峻的考验。为了可以跟上时代的步伐,为求职带来一些实际项目经验,计算机专业越来越多学生选取了软件开发作为毕业设计课题。然而,在各高校实际当中,本科毕业设计质量已经下降,软件开发类论文与实际完全脱节,归根结底是没有一个可以从头到尾指导学生进行软件开发的学习模式,主要存在下面几个不足之处。 1.1学生问题 学生设计能力低,编程水平差,无项目实际经验,既不知道软件开发的基本理论与方法,也不知道程序语言代码编写和开发工具界面操作,甚至不知道从何处开始下手准备毕业论文,成为目前软件开发类毕业论文质量差的根本原因;学生思想上存在误区,不重视毕业设计的重要性与必要性,认为毕业设计与普通课程一样,对毕业设计敷衍了事,不愿意花时间和精力认真努力开发软件,总是被动、消极地接受学习,成为软件开发类毕业论文质量差的直接原因。 1.2学校问题 学生在大一至大三期间,一般只是简单地开设各科课程,并没有将所有软件开发类课程结合起来,直接导致出现学生软件设计能力低与开发水平差的现象;从论文开题、中期检查到论文答辩等过程中,并没有严格按照各种材料上交的日期进行,普遍是最后答辩时上交补交所有材料,甚至包括论文开题报告,直接导致学生消极怠慢的态度;最后的毕业论文考核是最关键的问题,也是目前毕业论文相关制度中管理最混乱的一部分。既没有一套规范毕业论文考核标准,也没有对毕业论文的中间过程进行监控,就连最后的论文答辩也只是流于形式。 1.3教师问题 大部分教师没有项目开发实际经验,只知道软件设计理论基础,不能全方位地指导学生,更加无法让学生能够主动积极地学习,成为毕业论文水平不高的原因之一。 2CDIO教育模式 CDIO教育模式继承和发展欧美20多年以来的工程教育改革理念,将“做中学”和“基于项目教育和学习”的集中概括和抽象表达,是2004年由麻省理工学院和瑞典皇家工学院等四所大学研究创立,CDIO分别代表了构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate)等四个学习过程,它以产品研发到产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习[3]。CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人能力、人际团队能力和工程系统能力四个层面,大纲要求以综合的培养方式使学生在这四个层面达到预定目标[4]。本文将CDIO模式的构思、设计、实现和运作等四个学习过程引入到计算机软件开发类毕业设计中,要求严格按照构思、设计、实现和运作这四个阶段进行,并将每一个阶段的成果都作为毕业论文考核的依据,以此调动学生的积极性与主动性,既能让指导老师清楚整个设计流程,并根据阶段安排加以指导和督促,也能让学生愿意付出时间和精力努力投入到毕业设计当中。在弥补学生软件开发水平不足的同时,提高学生思考问题、综合设计的能力,最后达到提高毕业论文质量的目的。 3基于CDIO模式的计算机软件开发类毕业设计 3.1构思阶段 毕业论文是从学生的选题开始,一般是由老师提供一系列题目,再由学生根据自己的具体情况选择,这种方式遏制了学生的主动性。应该由学生根据自己的爱好、专长和对将来的职业规划等情况,利用各种参考资料主动搜索与查找适合自己的题材范围,再在老师的指导下确定毕业论文题目。不仅能够调动学生的设计积极性,为后面的毕业论文工作提供有利条件,而且还可以培养学生查阅资料和思考问题的能力。之后,指导老师提供软件开发类参考资料,并在中国知网等学术平台搜索课题相关文献,确定论文的基本要求,给学生下达论文任务书。学生根据接收到的任务书,利用软件工程专业书籍、中国知网等学术平台、论文相关的Web网站,查阅大量的资料,了解论文的背景、研究现状和开发意义,确定论文的研究内容和开发中的关键问题,撰写论文开题报告,完成软件开发的构思阶段。 3.2设计阶段 设计阶段主要包括需求分析和总体设计,正式开始毕业论文的设计工作。根据资料查阅、市场调查和企业要求等形式分析软件产品操作流程、功能列表,完成系统需求分析,并在需求分析的基础上重点进行功能设计、模块划分、模块接口规范、数据库概念设计及数据库逻辑设计,在老师的指导下反复修改不断完善,最终确定系统的总体设计。然而,在软件开发设计阶段,学生论文还没有开始写,软件程序也没有完成,指导老师无中期检查依据,不能有效地督促学生开发设计。因此,在设计阶段完成之后,应该形成需求分析、数据库设计、概要设计等相关说明书,作为毕业论文中期检查的材料,纳入论文考核的范围。 3.3实现阶段 实现阶段是学生毕业论文工作的重点,也是毕业论文设计工作量最大、所需时间最长的一个阶段,直接决定最终毕业论文的质量水平。学生需要掌握软件开发工具、程序设计语言等基本理论与方法,根据系统总体设计的功能模块、接口规范等进行数据库的实现、程序代码的编写,并反复运行与测试。此阶段生成详细设计说明书、编程规范、测试等文档,作为毕业论文第二次中期检查材料。在这个阶段有了指导老师的督促,能够完全确定系统功能,不至于在后期阶段又需要反复修改。 3.4运作阶段 根据前期产生的开题报告、需求分析、数据库设计、概要设计、详细设计、编程规范、测试等文档和开发好的软件系统撰写毕业论文,并参与论文答辩,是学生毕业论文的总结阶段,不仅着重体现学生的写作水平,更能了解学生对软件的学习情况,是分值比重最大的一部分。最后,将所有文档和论文、答辩情况一起评分,获得毕业论文成绩。 4结语 计算机软件开发类毕业设计是实现软件开发类专业人才培养目标的综合性实践教学环节,对计算机软件开发类毕业设计教学改革研究具有非常重要的意义。因此,本文将CDIO模式引入到计算机软件开发类毕业设计中,既能让指导老师清楚整个设计流程,并根据阶段安排加以指导和督促,也能让学生愿意付出时间和精力努力投入到毕业设计当中。在弥补学生软件开发水平不足的同时,提高学生思考问题、综合设计的能力,最后达到提高毕业论文质量的目的。 作者:陆汝华 颜文燕 单位:湘南学院软件与通信工程学院 软件毕业论文:软件工程本科毕业设计质量提升策略 一、利用多方资源做好毕业设计选题与立题工作 恰当的选题是做好毕业设计的必要条件和前提。近年来,随着信息技术高速发展,国家对高素质软件工程人才需求十分旺盛,并有逐年扩大的趋势。同时各个高校软件工程专业的招生数量也在逐年增加,从目前全国319所设有软件工程专业的学校看,2013年该专业平均招生300人左右。专业招生人数的增多给毕业设计选题带来了带来巨大挑战[3]:一方面软件工程专业的毕业设计选题要求具有一定的应用价值、创新性,同时还要与行业需求相吻合;另一方面要保证选题的唯一性,不仅要避免学生之间的题目重复,还要避免与之前毕业生的题目重复,因为重复的选题会使学生产生投机的心理,导致“打酱油”现象。针对上述问题,黑龙江大学软件学院主要采取了以下几个措施:1.充分利用企业资源,对一部分在企业实习的学生采取“三位一体”的双导师指导模式。即企业项目为载体,学生为主体的模式,校内和校外导师为主导。这部分学生一般是在大三下学期暑假就已经进入企业实习,而我们每年毕业设计选题工作是在十一月末,也就是学生进入企业实习后三到四个月的时间,学生经过企业阶段的培训,对企业的生产过程、企业文化有了一定的了解。此时,学院组织校内外导师和学生共同协商,以企业项目或子项目为学生确定毕业设计选题。2.充分发挥导师的资源优势,学院大部分教师都有自己的科研课题,这些科研课题有些是直接来源于企业的横向课题,还有一些是信息技术领域的应用研究课题,我们鼓励教师从这些课题中提取出一些子项目让学生实践,作为毕业设计的选题。3.充分挖掘学生的专业技术特长和兴趣点并结合学生的择业倾向,确定最能发挥自身优势和潜能的选题。毕业设计的选题不仅要与实际需求相结合,更重要的是应该结合学生自身的技术优势和兴趣。只有学生对选题有兴趣,他们才能尽早地进入状态,发挥自己的创造能力和积极主动意识。所以,选题阶段导师和学生的沟通交流就显得尤为重要,通过沟通导师可以了解学生的能力、兴趣和择业倾向,学生也可以对选题,有进一步的认识,对于不感兴趣的选题学生也可以通过与导师进一步的探讨进行题目的修订。 二、注重环节审查,加强过程监管 虽然“好的开始是成功的一半”,但是如果缺乏中间环节的监管,仍然不能保证好的效果[4]。因此,为保证毕业设计(论文)的质量,我们制定了明确的质量标准、管理条例,并由院长、学术委员会、系主任和教务办主任组成毕业设计(论文)工作委员会,负责毕业设计(论文)工作的组织、评定和监管,同时保证管理条例的严格落实及各个环节工作的正常进行。为健全毕业设计(论文)的监管机制,学院先后规范和完善了《毕业设计(论文)工作管理办法和实施细则》《开题报告》《开题评分标准》《中期报告》《中期检查标准》《毕业设计(论文)撰写规范及模版》《毕业设计(论文)盲审表》《答辩程序和评分标准》等一系列管理办法和文档标准,使毕业设计工作在制度和规范下能顺利有效地进行。每年毕业设计工作之初,我们都要给学生开一个动员会,在会上阐明毕业设计(论文)的重要性,以及毕业设计对他们未来工作的影响,调动他们学习的主动性、积极性和创造性。此外,系主任还要向学生介绍学院毕业设计(论文)管理办法和实施细则,各阶段的工作要求和时间节点,以及各环节检查的内容、需要提交的文档,使学生在毕业设计开始时能做到心中有数。同时,我们也要求指导教师随时解答学生的问题,坚持每周开例会,检查学生的工作完成情况,并提出一些有技术含量和理论深度的问题启发他们思考,激发他们的学习热情,并与学生一起确定后续任务。此外我们组织开题检查、中期检查,对开题检查成绩后30%的学生,不但检查中期报告,还要现场检查程序。对于中期检查不合格的学生,要求限期整改,如果仍然不合格则取消答辩资格。在答辩之前,我们还要对论文进行盲审,盲审不合格的学生不允许答辩,对有异议的论文要提交学术委员会做最后论证。虽然学院对毕业设计(论文)工作在各个环节上的审查都非常严格,但我们鼓励学生之间进行研讨交流,博采众长,相互提高,因为我们的目的不是抓出多少不合格的学生,而是想通过大学阶段最后的综合性实践教学环节训练,培养学生的学习能力、知识的综合运用能力、分析解决问题能力和沟通交流等综合素质。 三、严把答辩关,保证毕业设计质量 答辩是毕业设计(论文)考核阶段的最后环节,这个环节既是学院对学生毕业设计的验收和鉴定,同时也是学生对自己工作的总结和汇报。通过答辩,学生不仅展示了毕业设计工作的效果,更展示了自己的专业知识、技术水平和综合素质。作为教师,每年都要指导多个毕业设计(论文),而学生一生只能经历一次本科毕业设计,而且毕业设计答辩能否顺利通过,直接关系到学生毕业及学位资格的认定。因此对学生来讲,毕业答辩至关重要。这有点像外科医生与患者的关系:医生每年要做很多手术,对他们而言手术已是司空见惯,但对于患者本人,可能一辈子才上一次手术台,而且生命攸关。所以,我们要在毕业设计指导过程中,认真对待每一位学生。同时在毕业答辩中严格把关,保证质量,更要秉承“公开”“公正”“公平”的原则。我们的毕业设计(论文)答辩采用小组面试形式,每组由四位副高职以上教师组成,答辩流程如图1所示。答辩当天向学生公布成绩,毕业设计(论文)总成绩由开题成绩(10%)、中期成绩(10%)、指导教师成绩(10%)、答辩成绩(70%)构成。对于优秀的和不及格的学生,我们还会重新组建答辩组进行二次答辩。这是考虑到答辩组之间认同度的差异而导致评分标准出现偏差,可能有些答辩组打分会偏低,有的组打分会偏高,即各个答辩组评分信度不能达到一致。二次答辩可以有效地消减组间评分差异,从而使申报校优秀论文人选和未通过人选的确定做到公正、公平和有效。针对软件行业特点,我们通过强化实践教学环节,合理利用多方资源拓宽毕业设计(论文)选题途径、健全和完善毕业设计(论文)的监管机制等手段,确保了毕业论文质量的稳步提高。几年来,黑龙江大学软件学院的毕业设计(论文)质量受到校内外专家的一致好评,获校优秀论文比率一直位于学校前列。实践证明,加强毕业设计(论文)质量的监管,不但提高了学生工程实践能力、独立科研能力和创新意识,为学生进入工作岗位打下了良好的基础,进而也提升了学生的就业率。 作者:任美睿 金英 郭龙江 单位:黑龙江大学 软件毕业论文:高职院校软件技术专业毕业设计论文 一、高职院校毕业设计存在的问题 (一)对毕业设计的重要性认识不足 毕业设计一般开设在高职教育的第五学期,此时很多学生都已经签约了用人单位。学生在思想上会认为自己已经毕业,毕业设计只是个形式,只要把论文完成,按时上交就可以了。因此,很多学生在做毕业设计时态度不积极,课堂上有些学生占用大部分时间上网聊天、看视频或者玩游戏,有的甚至不来上课。等到要交作业的时候,随便从网上下载一篇毕业论文应付了事。在每年的毕业论文答辩会上,都出现过这样的情况:学生对自己的论文题目解释不清,对所开发系统的功能描述不准,对专家提出的问题回答不上来。这些都是因为学生没有充分认识到该课程的重要性。 (二)毕业设计选题不当 选题是毕业设计开展的第一步,也是关键的一步。好的选题能够激发学生的创作热情,提高学生的学习兴趣。但是目前有些高职院校的毕业设计选题陷入了恶性循环,主要存在两个方面的问题。一是题目陈旧没有新意。很多教师在毕业设计指导课上会习惯性地给学生一些参考题目,这些题目往往是连续使用了很多年的旧选题,严重影响了学生创新能力的培养和发挥。二是选题不准确。学生缺乏实际项目开发经验,很容易出现选题过大、过小或题目缺乏实际应用价值的现象。题目过大,系统功能复杂,技术要求高,超出学生的能力水平会导致设计任务完不成;题目过小,难度和工作量上就不能满足毕业设计的考核要求[2]。 (三)课程管理不到位 不少高职院校的学生在进行毕业设计时都已经到用人单位顶岗实习,这给毕业设计的管理带来不便。毕业设计的教学模式不同于普通课程,教师一般是定期对学生的工作进展情况进行抽查,对学生设计过程中遇到的问题进行集中答疑。对于已经到单位顶岗实习的学生,只能通过网络进行在线辅导。学生的选题不一样,难度不一样,加上自身素质的差异,他们在进行毕业设计时的工作进度往往是不一致的。由于缺乏统一的管理,最终毕业设计完成情况就各不相同,部分学生到最后草草收场,严重影响了毕业设计课程的教学质量。 (四)考核方式不科学 基于毕业设计课程的特殊性,很多高校都采用集中答辩的方式进行最终考核。答辩时,学生用PPT解说自己的毕业设计项目,评审老师检查毕业论文,进行提问。由于时间有限,评审老师主要检查论文编辑格式是否符合要求,论文是否有明显的抄袭痕迹,项目是否有详细的设计过程,项目是否实现以及专业知识提问能否回答正确。这种考核方式就给部分投机取巧的学生提供了机会。他们从网上下载现有系统,抓取操作截图,把网上相关的毕业论文重新编辑整理,蒙混过关。因此,毕业论文完成情况并不能反映学生的真实水平,这种考核办法存在很大的漏洞。 二、解决方法 (一)提高认识,端正态度 首先要让学生明白毕业设计课程的重要性。教师要利用第一节课给学生讲明白毕业设计的意义、主要工作任务、上课方式和考核办法,让学生对这门课有清晰的认识,在思想上高度重视起来。同时,在平时的课堂教学中,教师除了传授知识和技能外,可以有意识地强调本门课程在进行毕业设计时发挥的作用,让学生对自己所学的知识有系统的认识,为最终的毕业设计打下基础。 (二)解放思想,发展个性 在选题上,教师一方面可以给学生提出专业性的建议,另一方面要充分尊重学生自己的想法。具体做法是:一要充分了解新时代大学生的个性,综合考虑学生对所学课程的理解和掌握程度,关注学生感兴趣的热点话题,从实际出发,鼓励学生选择自己喜欢的课题;二是教师可积极吸收学生加入到自己的科研队伍,感受真实项目的开发过程;三是参加顶岗实习的学生可以选择企业的实际工程项目,在工作的同时完成毕业设计。这些做法可以充分调动学生的学习积极性,锻炼学生的创造力和想象力,充分发挥毕业设计课程的价值。 (三)细化任务,重视过程 细化毕业设计任务,重视过程化管理是保证毕业设计质量的重要手段。一般高职院校学生进行毕业设计可2~3人分组完成。按照自由组合的原则,教师可适度调整,保证每组人员搭配合理。比如两名优秀的学生可以帮助一名中等生;每组中既有编程能力强的,又有数据库设计好的,还有擅长文档编写的,尽量模拟企业真实情况,充分发挥每个学生的特长,做到各尽其才[3]。软件技术专业学生开发管理信息系统的工作任务分解及过程化考核指标如表1所示。(四)全程监控,量化考核毕业设计任务安排清楚后,实施有效的过程化考核手段是非常必要的。合理、详尽的考核措施可以更好地约束和引导学生完成毕业设计。这里,我们建议利用网络作为交流平台,对学生的毕业设计开展过程实施全程监控,对每一步的工作成果实行量化考核。教师首先教学任务安排;学生在规定的时间内提交阶段工作成果,教师审阅并给出修改意见;学生修改并上传修改结果,教师对本阶段作业以百分制打分;当整个毕业设计课程结束时,教师按相关比例进行换算,给出最终成绩。这种考核方式既给了学生充分的自由空间,又能有效督促学生保质保量地完成毕业设计。学生在专业技能得到综合运用的同时,也在自我管理、自我约束和团队协作方面得到了一定的锻炼,为今后进入职场打下良好的基础。 三、结语 毕业设计不仅是学生对所学专业技能的一次综合应用,也是学生职业素质的一次综合培养。积极正确的引导,新颖恰当的选题,规范开放的管理,科学合理的评价是提高毕业设计质量必不可少的四个要素。对软件技术专业学生而言,毕业设计的实施方式贴近企业实际项目开发,能鼓励学生主动参与研究,培养其严谨周密的思维和有效合作的团队意识,改变学生被动接受,疲于应付的学习状态[4],是有效开展毕业设计的重要举措。 作者:张丽景 单位:兰州石化职业技术学院 软件毕业论文:三维软件之毕业设计论文 1现有毕业设计指导方法存在的问题 通过以上现状进行对比,可以看出,后者的优点是课题是实际课题,教师对题目有着足够的了解,并且有机会亲自指导学生进行实验,学生也可以在设计的过程中始终看到实物,对所设计的题目有全面生动的认知,对毕业设计的质量将有所保障。而前者虽然完成了毕业设计过程,却很难保证质量。因为在毕业设计初期存在如下问题:第一,一个指导教师带多个学生,按一生一题的要求,即一个指导教师有多个题目,很难做到每个题目都是实际课题,必然有一些题目是理论课题,无法提供实物给学生研究或所设计的机械不能实际生产,更谈不上教师有机会在现场指导学生。第二,学生查阅资料能力较弱,即使能找到资料,也往往多为文字资料、外观图片、局部平面图或类似题目的结构图。可以完成毕业设计的前提是必须对这些资料进行阅读、理解、掌握,这要求学生要有一定的识图能力、理论与实践结合的能力和一定的科研基础。但这些是大四学生不具备或者很薄弱的。只有通过指导教师的反复讲解,才可以帮助学生理解题目和资料。换言之,查阅资料阶段会消耗指导教师和学生大量的时间,这将影响毕业设计的整体进度。另外,目前毕业设计过程中也存在着学生对工程设计的一般程序规范不明确,需要教师逐个对学生进行明确的讲解,这也在一定程度上占用了教师的指导时间。以上种种都将影响毕业设计质量。综上,寻找有效的提高应用型本科大学机械类专业毕业设计质量的新方法势在必行。 2毕业设计三维范例库文件对毕业设计指导的重要性及实际应用效果 2.1建立毕业设计三维范例库文件对毕业设计指导的重要性 针对前面所论述的毕业设计存在的问题,利用三维软件UG、Pro/E、3DSmax等,对现有的机械设计进行规范化建模仿真,并编制数据管理软件类应用程序,将之完善成毕业设计范例库文件,以方便调用的方式,允许学生调用查阅。用生动形象的方式,模拟所设计机械实体结构,使学生对毕业设计题目有更深刻的印象,以解决学生查阅资料难、指导难的问题,提高毕业设计质量。同时,将建模过程分解,以动画的形式将设计过程演示给学生,使学生更明确工程设计的一般程序和规范,提高设计能力,保证毕业设计质量。另外,将以上机械中的通用部件提取形成基础库文件,该基础库不仅可以对除这四大类机械以外的其他设计有所帮助,而且可以为相关课程教师授课时的多媒体课件动画演示制作提供素材,以提高教学质量。 2.2将毕业设计三维范例库文件应用于毕业设计指导的应用效果 笔者曾在毕业设计当中,指导学生设计Stewart平台电液驱动机构,该平台是六自由度并联机构的基础平台,通过六个作动器的协调伸缩来实现平台沿x、y、z向的平移和绕x、y、z轴的旋转运动(共6个自由度),以及这些自由度的复合运动。可用于娱乐业的运动模拟,机器人、飞行器空间交会对接,仿真器、舰船及汽车模拟器,新型加工机床,卫星、导弹等飞行器的精确运动仿真。平台结构并不复杂,但其运动及控制极其复杂,这给学生查阅资料阶段增加不小的难题,并消耗大部分的时间进行消化资料和理解平台的运动方式,影响后续的设计进度和质量。其相关资料图为平面图(见图1),结构不容易理解。经调阅三维范例库文件,找到了相关类似的毕业设计,使学生看到了三维软件构建的“实物”和动画模拟的运动(具体见图2),帮助学生了解其运动和设计搭建过程,为以后的设计打下了坚实的基础,最后,学生以优异的成绩完成了毕业设计,自信满满地走向了工作岗位。 3结语 综上所述,寻找一种有效的适用于应用型本科大学机械专业毕业设计的方法势在必行,而将应用型本科机械类毕业设计和三维软件、数据管理软件三者相结合,建立三维范例库文件,突破传统毕业设计指导方法的局限,可以缩短毕业设计初期查阅理解文献资料的时间,加快设计进度,从而为保证毕业设计质量打下坚实的基础。 作者:徐莉 苗淑杰 刘喜平 刘春香 王巍 付彦虹 单位:黑龙江工程学院机电工程学院 软件毕业论文:软件工程毕业实习设计论文指导论文 随着软件学院的不断发展,为适应市场需求,近年来软件工程××方向专业应运而生,如软件工程机电一体化方向专业,该类专业培养既掌握软件工程领域扎实的专业知识和技能,又掌握一定的机电专业方向背景知识的人才,毕业生适宜在机械工程及自动化产业、软件产业或其他部门从事产品、零部件设计、制造、控制以及软件开发研制、管理工作,也可以继续攻读机械工程及自动化专业、计算机学科以及与计算科学等相关学科的硕士学位研究生。目前中北大学、大连交通大学、华东交通大学及江西理工大学等的软件学院都开设有类似专业。毕业设计是教学计划中培养学生综合运用本专业基础理论知识、专业知识与基本技能增强自身实践、创造、就业和创业能力的重要教学过程。毕业实习及其设计(论文)质量的高低对培养高素质人才教学目标的实现程度和学生的就业与发展有着举足轻重的影响[2]。 1目前存在的问题 我国高等教育长期存在重理论、轻实践的问题,因此教育部多次强调并明确指出要大力加强实践教学,建立和完善校内外实习基地,高度重视毕业实习,提高毕业设计、毕业论文的质量。软件工程专业是一门理论与实践联系非常紧密的学科,若按照传统重视理论的培养模式,毕业生则难以满足当前社会用人单位的需求[3]。对于相对新兴的软件工程机电一体化方向专业,其专业知识结构及培养目标决定学生面临的毕业实习与设计问题更复杂,目前存在的主要问题表现在如下几方面。(1)就业与选题的矛盾。基于该类专业的培养目标,毕业生目前就业意向主要有三:一是在软件产业从事编码测试、系统分析设计或具有软件领域知识的复合型技术服务、销售和管理(软件方向);二是在机械电子工程应用背景专业领域从事软件开发及机械研究、产品设计、制造、管理等工作(工程应用方向);三是考研、考公务员和自主创业等(考研方向)。因就业方向的多元化、毕业实习设计老师(包括软件企业导师)的专业领域和人数限制、实习条件的限制等多重原因,学生难免产生选题与就业意向不相符的矛盾。(2)毕业实习设计与考研、公务员招考时间安排上的冲突。毕业实习设计一般都安排在第4学年的第7学期、第8学期,而这期间,每年一度的全国研究生招生考试和公务员的国考、省考也同时举行,这就导致“考研方向”的学生在备考和完成学业间的矛盾,如不进行相应调整,势必影响毕业实践环节的教学质量。(3)软件方向与专业方向的不协调因素。软件方向学生一般采用3+1的培养模式,也就是说,第4学年大多在软件企业完成基于项目驱动的毕业实习和毕业设计;而工程应用方向和考研方向往往还有几门课程需要在校学习,在时间和内容安排上往往存在冲突。(4)毕业实习与毕业设计不能有机对接。毕业实习是毕业设计的重要准备阶段,毕业实习要结合毕业设计课题,到生产第一线进行专业实践与社会实践,收集与毕业设计有关的信息和资料,毕业实习的内容和质量对毕业设计的质量有直接的影响。毕业设计要将所学基础知识、专业理论与毕业实习的实践相结合,注重分析问题、解决问题能力的培养,它能在一定程度上检验毕业实习的效果[4]。软件工程培养实用型、复合型人才的特点使其对毕业实习与设计的衔接要求更高,而且该类专业多元的就业意向及其他复合因素使得学生的实习与设计内容往往不能有机衔接。目前软件工程专业毕业实习设计的教学工作中,面对学生就业自主化的严峻形势,存在着毕业实习与毕业设计不能有效衔接、教师对两者核心含义把握不好、设计(论文)选题及内容与经济社会对人才需求脱离以及忽视对学生的创造能力意识培养和训练等影响毕业设计论文质量的问题,因此进行全新的教学改革已经迫在眉睫。 2毕业实习设计指导需考虑的因素 1)学习动机。自我效能感、学习动机和学业成就三者之间存在相关关系,且自我效能感与学业成就、学习动机和学业成就之间均呈显著正相关[5]。自我效能感是人们对自身能否利用所拥有的技能完成某项工作行为的自信程度;学习动机是推动学生进行学习活动的内在动因,是激励、指引、维持、调节学生学习的强大动力[6];学业成就指经过学习和训练后所获得学业方面的知识和技能,是学生学习状况和水平的集中体现。高校毕业班级学生处于即将告别学生时代而走向社会的特殊阶段,毕业、考研和就业等诸多问题以及社会价值日趋多元和竞争压力日益加剧的强烈冲击,对其学习和心理产生了重大影响[7]。为增强学生的学习动机,从选题入手,贯穿毕业实习设计各环节,融学生兴趣爱好、就业意向与学生毕业实习设计于一体,激发学生的内在动力,是取得好的设计质量的关键因素之一。2)项目驱动。有效地整合指导教师的各类纵向、横向在研项目并将其进行深入的挖掘和提炼,根据毕业实践环节具体要求细分软件工程项目,将其引入到学生毕业实习设计中,采用以项目驱动为主体的人才培养模式,优化管理体制与实验室运行机制,探索一种新的实践教学模式,以期实现实践教学过程可控化、项目实施团队化、项目资源共享化的目标,培养具有扎实的工程实践能力、较强的技术创新能力、良好的团队协作能力和可持续发展能力的人才[3]。3)导师制。采用指导教师全程负责制是确保后续创新模式实现的关键。导师可以是从学校选定的各方向专业教师,也可以是从企业选出的工程技术人员,还可以是两者的结合(双导师制)。导师既要完成毕业实习与毕业设计的组织工作,又要完成这两个环节连贯且相互渗透的业务指导工作。为确保这种教学模式有条不紊地实施,指导教师应认真履行相应的职责。首先,根据毕业实纲和设计大纲的要求,与企业协调好学生的毕业实习设计课题和企业的生产技术工作需要之间的关系,落实毕业实习内容及合适的毕业设计课题;其次,要对学生毕业课题进行方案论证,及时提供指导和质量监督,确保教学任务的完成[4]。 3毕业实习设计指导创新模式的设计 结合软件工程机电一体化方向的专业特色,在现有基础上设计的毕业实习设计创新模式总体框架如图1所示,其主要内容包括如下几方面。1)以学生为本,模块化组织。基于学生的学习动机,根据学生某方面的专业特长和未来的发展取向,该模式分为3个大模块:以软件设计、软件测试、软件维护和软件项目管理等为目标的软件模块(软件方向);立志于进一步深造的考研、公务员考试等模块(考研方向);面向工程的工程应用模块(工程应用方向)。大模块下再设子模块,如以工程应用为背景的模块又分为UG、PRO/E等大型软件的工程应用模块;以单片机、PLC等程序开发为主的工控模块;CAD、UG、PRO/E等面向应用软件的二次开发模块。学生根据学业基础、就业意向及学习兴趣自主选择。2)毕业实习设计一体化。毕业实习与毕业设计是保证教学质量的重要阶段,二者的关系越来越密切,将二者人为分割的教学模式已不太适应教学的需要,必须建立二者紧密结合的教学新模式。具体来说,软件模块将毕业实习和毕业设计两个阶段合并为一个阶段,形成一个相对较长的时间整体,与大型软件公司合作,安排在第4学年,这也是软件工程专业目前比较流行的模式;工程应用模块中学生可以根据毕业设计课题有针对性地开展毕业实习工作,实习、设计由同一导师指导,采取集中实习和反复调研的形式,实习围绕设计的需要展开;考研模块则将实习和设计的时间提前,第6学期即由指导老师提前介入,预先安排相应工作,在充分保证设计质量的前提下,为考研创造条件。至于软件方向与背景专业方向课程安排上的冲突,软件学院采取课程置换与学分互认方式,拓宽学生的专业课程知识,达到多元方向的均衡。3)导师制和项目驱动贯穿始终。采取导师负责制,将部分学生(考研方向)的毕业设计提前到第6学期开始,到第8学期结束,历时1年半时间。在导师的指导与安排下,学生开展的工作包括文献检索,熟悉设备,仪器校准,实验计划,实验开展,项目调研、开展、改进和总结各环节。基于项目驱动,每一学生的实习设计选题均为某方向科研子项或工程子项,学生通过一个完整的项目链,在熟悉科学研究方法、步骤和科研组织等环节基础上,全面培养动手能力、独立工作能力和创造性的思维能力。4)建立全程质量监控体系。“全程”指从毕业设计选题、毕业实习指导、教师下任务书、学生做开题报告、方案设计、实验、中期检查、撰写论文到答辩评分、总结归档等质量形成的全过程;以制订计划、明确目标执行计划检查、反馈处理、纠偏制订新的计划、目标为质量监控途径。针对毕业实习、毕业设计的各个环节,制订详细可行的规范,把握各阶段的时间节点和考核标准,目前要求教研室审核的关键节点包括选题、任务书、开题、中期检查、综合评价、答辩等。 4工程实践环境的构建 要保证上述模式的良好运行,必须有一个稳定而可行的工程实践环境。我们一直注重软件工程专业实践应用型人才培养,不断加强与IT等用人企业的合作。从软件工程机电一体化方向专业开办以来,江西理工大学软件学院先后在中兴软件、中天电子、江西微软、上海杰普等多家大型软件公司和IT培训机构建有校外实习基地,在江西铜业公司、中金岭南股份公司、恒天动力有限公司等建有校外专业背景方向实习基地。打造相对稳定、整体素质较高的导师队伍是实现该创新模式的有效保障,学院应考虑:①从实习基地遴选指导教师;②选派软件方向教师到合作基地工程实训;③选派专业方向教师到国内知名院校访学。对毕业实习设计各环节,软件学院制定有详细的《毕业实习设计规范》,系部成立“软件工程毕业设计领导小组”。教研室针对该内容进行深入调研与问题分析,在教师中开展动员,提前落实并布置工作;在学生中宣传动员,使学生在思想上有准备,重视毕业实习、毕业设计;在毕业设计过程中,强调过程质量控制和管理,及时跟踪控制,及时发现问题、解决问题。 5结语 基于该模式,近年来,江西理工大学软件学院学生的毕业实习设计质量不断提高,实践能力和综合素质不断提升,就业质量也逐年提高,就业率在同类高校中一直保持前列。同时,我们也将总结实践经验和实践效果,不断完善该模式,为相关专业的教学改革起到示范和推动作用。能力培养是高等工程教育改革的重要任务,强化能力培养还需要在已有成果基础上进一步完善各实践环节的内容与规范,使得软件人才培养与企业需求真正地“无缝衔接”。 作者:江西理工大学软件学院 单位:张乐平 软件毕业论文:软件工程在毕业论文中应用 一、软件生存周期各阶段应完成的任务 1.概要设计阶段和详细设计阶段概要设计阶段主要完成软件系统总体结构的建立、定义功能模块的接口、设计全局数据库和数据结构、规定设计约束、编制概要设计文档等工作;详细设计阶段主要完成模块详细设计及编制模块的详细规格说明工作。包括模块的详细功能、算法、数据结构和模块间的接口信息等设计,拟定模块测试方案;把模块详细设计的结果汇总,形成模块详细规格说明书。这两个阶段对应于毕业设计的系统设计阶段。2.实现阶段与组装测试阶段实现阶段主要完成编码及单元测试工作。根据模块详细规格说明书,将详细设计转化为程序代码、对模块程序进行测试,验证模块功能及接口与详细设计文档的一致性,并形成单元测试报告;组装测试阶段主要完成模块程序组装与测试及组装测试报告的编写。3.确认测试阶段该阶段主要完成软件系统测试、确认测试文档编制及软件评审工作。根据软件需求规格说明定义的全部功能和性能要求及软件确认测试准则对软件系统进行总测试;向用户提供以确认测试报告为主的有关文档,包括系统操作手册、源程序清单和项目开发总结报告等;由专家、用户、软件开发人员组成的软件评审小组对软件确认报告、测试结果和软件进行评审,并将得到确认的软件产品交付用户使用。这个阶段主要对应于毕业设计(论文)中的论文评审、结题验收及毕业设计的答辨准备阶段。4.软件运行与维护阶段主要进入软件的使用阶段,并完成软件的维护工作。它主要对应于毕业设计中的答辩阶段。 二、毕业设计应注意的几个问题 1.摘要摘要是对文章主要内容的摘录,要求精、短、完整。以几十字至三百字左右为宜。摘要应具有独立性和自明性,从摘要中即应获得必要的信息;摘要中只能使用第三人称;要客观如实地反应原文的内容,要着重反映论文的最新内容和作者特别强调的观点;要求结构严谨、语义确切、表述简明,一般不分段落、不进行自我评价。2.关键词关键词主要用于论文检索,它是从论文的题名、摘要和正文中选出的,是对表述论文的中心内容有实质意义的词汇,关键词一般以3~5个为宜。3.结论结论写作的内容应主要考虑本文研究结果是什么?研究结果说明了什么?对前人有关的看法作了哪些修正、补充、发展、证实或否定?本文研究的不足之处或遗留未予解决的问题以及对解决这些问题的可能的关键点和方向等。结论应该准确、完整、明确、精练。4.需求分析在毕业设计中,学生往往不能对所做题目进行充分的调研,需求不明确,随意想象的成分较多。特别是在数据表的建立上,大部分同学随意设置字段的类型,而字段长度基本上采用默认置。而在实际项目开发中,数据项的设置应主要注意以用户的需求和满足系统要求为准,而不应设计冗余的字段;数据的类型要依据实际需求,当某些字段可以是选择某几种类型之一,应考虑哪一种更有利于本系统或哪种更易于用户操作和维护。5.详细设计许多同学把详细设计阶段的任务理解为代码实现,因此,在概要设计之后就着手进行代码的编写而忽略了算法的表达及测试用例的编写环节,由此造成的结果是随意编程,大量的时间浪费在程序的修改和调试上。6.软件测试测试做得不够全面,大部分同学只选择了有效的测试用例,而没有进行无效的测试用例的设计,因此所做的软件BUG较多。7.团队合作在毕业设计中,应有意识地锻炼学生们的团队协作精神,因此,在布置毕业设计题目时,应尽量选择规模大一点的题目,然后由4~5名同学共同协作,每人完成一个子题目。这样,可以使学生们分析问题和解决问题的能力、沟通和表达能力得到充分锻炼,为今后的工作奠定基础。 作者:王素芬 单位:沈阳工程学院 软件毕业论文:SW软件在毕业设计的应用 传统的设计结果不能直观的反映夹具的结构,并且在设计过程中出现的错误很难及时发现,因此指导教师在设计过程中要不断的审图,帮助学生找出设计中的错误。即使是一些结构上的小变动也可能导致学生重新设计,这种繁琐的重复性工作贯穿于整个设计过程,耗费师生大量的时间和精力,而学生的接受却有限,甚至出现学生拒绝修改的情况。鉴于传统设计的局限性和低效性,三维软件,特别是SW软件以其优异的性能、易用性和创新性,被广大师生接受并应用于毕业设计中。 1三维建模及仿真 在夹具设计的过程中,根据确定下来的设计方案,学生可以对定位元件、夹紧装置、支撑元件、导向元件之间装配关系予以确定,需要的标准件从标准库中直接调用,如果是夹具体、钻模板、支撑架、非标准定位销等,可以自由地在装配环境下进行零件的设计,并且设计出来的零件无需约束,自动装配到钻夹具装配体上。专用夹具装配体建立以后,接着可用SW软件自带的Animator插件对装配体进行运动仿真,使装配体产生运动,如果发生动态干涉,系统会报警,并给出干涉的部位。SW软件具有对设计方案动态修改的功能,在设计过程中随时修改零件尺寸和结构形式,相对应的零件会自动更新,使设计修改工作简单方便。由于SW设计的直观性,学生的接受效果大大提高。SW软件还可以动态模拟钻夹具从零件到整个装配体形成的过程以及装配体的运动过程,并形成可单独保存的AVI格式动画文件,脱离SW软件环境也可以播放,方便直观地观察仿真设计结果,使老师尤其是答辩老师可以快速地了解夹具装配设计、结构的工作原理和方法,节省学生在答辩时的解释时间,提高了毕业设计的效果和答辩效率。经仿真检验修改后的装配体,利用SW软件的“爆炸”功能生成爆炸图,显示夹具装配体详细的结构和相互间的装配关系。 2二维工程图的形成 SW软件利用设计的三维立体图可以自动转化成二维平面图,并且局部放大图、剖视图、标题栏、明细表等也自动生成。设计学生只须根据生产工程图的标准对转化的二维平面图进行修改,即可形成标准的二维工程图。 3总结 笔者在最近几年的毕业设计指导中,积极引导学生进行三维设计,使设计过程直观简便、设计效率高,提高了学生的现代工程素质。应用SW软件进行毕业设计的结果显示,三维设计对学生知识的拓展,动手能力、分析能力、创新能力、处理问题能力的提高超出预期效果。 作者:李君 黄绍服 单位:安徽理工大学 软件毕业论文:管窥软件工程在毕业设计中的应用 1软件工程在毕业设计中的作用 软件工程不仅是计算机科学与技术专业、软件工程专业的一门专业基础核心课程,也是其他相关专业,如信息工程、系统工程、信息与计算机科学、信息管理与信息系统等专业的重要应用技术课程。对于这些专业的学生来说,毕业设计多是以软件开发类项目为主,整个毕业设计就是开发一个软件。为了更好地完成软件开发类毕业设计,提高学生毕业设计的质量,进一步规范毕业设计中的软件开发过程是必需的。软件工程的思想正是用工程化方法构建和维护有效的、实用的和高质量的软件。按照软件工程思想,软件开发的生命周期分为可行性分析、需求分析、总体设计、详细设计、编码实现、软件测试和软件维护几个阶段。在学生的毕业设计中以软件工程的思想为主线,从软件工程的角度去指导学生进行毕业设计,挖掘软件工程在系统开发过程中的价值,解决毕业设计中存在的一些问题,既有助于学生更好地理解软件工程的方法、技术和思想,更有助于提高软件类毕业设计的质量。 2毕业设计中存在的问题 笔者在指导学生软件开发类毕业设计过程中发现,毕业设计存在着选题难、任务重、重视编码、轻过程、项目无法完成等现象。设计过程中没有严格地遵循软件工程的开发方法,没有规范的软件设计过程,项目能否成功主要依赖于个人能力和个人努力,这种不正确的开发方法带来了严重的后果。在项目开发的过程中常常存在以下几个方面问题: 2.1选题的盲目性 选题是毕业设计过程中的一个初始环节,选题恰当是做好毕业设计的前提,但选题不当的情况仍然时有发生。学生没有认识到毕业设计的重要性,纯粹是为了完成学业而做毕业设计,选题没有一个确切的目标,往往是随便选一个题目,造成选题的盲目性,出现了选题陈旧、选题范围狭窄、选题偏大等问题,使学生抄袭、完成不了毕业设计的情况时有发生。 2.2缺少软件的系统分析 软件开发过程的第一个阶段是系统分析,用来确定软件开发要解决的问题是什么?估算完成该项目需要的资源和成本,确定目标系统应该具备哪些功能,主要经历问题的定义、可行性分析和需求分析三个阶段。软件的系统分析确定了用户需求,同时对目标系统提出完整、具体的要求,引导开发者正确地构建系统。因此,对用户需求做出全面、正确的分析,对于最终软件开发类毕业设计的成败起着至关重要的作用。然而在完成毕业设计过程中,学生往往认为代码编写最重要,对软件开发过程中的可行性分析和需求分析阶段不重视,甚至没有系统分析,对整个毕业设计的完成造成了影响。 2.3软件设计过程杂乱无章 软件设计一般都要经历可行性分析、需求分析、总体设计、详细设计、编码和测试阶段。而部分学生在毕业设计开发的过程中,缺乏软件工程设计思想,跨越需求分析、概要设计、详细设计和功能模块设计,直接进行代码的撰写;或者从代码反推出模块设计;甚至在软件开发过程中,一边写程序,一边了解需求,程序完成了需求才确定。这种无序的软件设计过程,导致最终设计的系统杂乱无章、代码的重复率高、潜在?Bug多、系统的可集成性非常差、不能在规定时间内完成设计或者系统无法运行。 2.4开发过程中文档不完备 根据软件工程学的基本原理,软件=程序+文档,可见软件文档是软件开发过程中不可缺少的组成部分。软件文档贯穿于软件开发的各个阶段,是提高软件产品开发效率、规范软件产品开发过程、保证软件产品质量的关键。但在实际毕业设计中,很多同学认为把程序代码编出来了,毕业设计也就完成了,提交的毕业设计论文就是系统代码的复制,即只做出一个可演示可操作的系统,而忽略了软件开发的完整性、系统性。完整的毕业设计不仅包括可操作的系统,还包括在开发系统的过程中所产生的各个文档资料。文档的缺失会降低软件开发的效率、影响整个软件的开发、使用和维护。以上问题的存在,严重影响了毕业设计的进度和质量,没有达到毕业设计的目标要求。针对当前毕业设计的现状和存在不足,笔者认为应用软件工程学的思想指导毕业设计,对促进学生综合素质与工程实践能力培养具有积极意义。 3用软件工程思想指导学生进行毕业设计 3.1以可行性研究指导选题 可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。毕业设计题目的选择,应立足于解决工程实际问题,可由指导教师提供符合相关专业毕业设计要求的题目,也可以鼓励学生自己到社会、生产企业中寻求研究课题,培养他们自主学习的意识。选题过程以可行性研究为指导,从课题规模大小、难易程度、学生自己的研究方向、爱好、学生的知识层面和能力等多个方面进行考虑,对于选择的题目是否能够解决,确定在规定的时间内完成毕业设计的可行性。指导教师可根据学生选报的题目来指导学生对该选题进行调查研究,明确课题要解决的问题是什么,简要地写出关于问题性质、项目目标和项目规模的书面报告。可行性研究来指导毕业设计的选题,实质上是简化了系统分析和设计的过程,也是在较高层次上以较抽象的方式进行的系统分析和设计的过程,使学生对于课题的设计有个清晰的思路,为及时完成毕业设计提供了可能。 3.2重视软件的需求分析 需求分析的基本任务是准确地回答“系统必须做什么”,即确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求,不仅指明了系统设计时必须要实现的目标,也是软件设计、实现、测试和维护阶段的主要参考标准。用户需求的获取是软件开发中最重要、难度最大的工作,它贯穿于整个软件设计过程,不仅要涉及到软件开发方面的知识、应用领域方面的知识,还涉及到与用户沟通的能力。在进行需求获取和分析时,为了及时、准确地获取,可采用软件工程中比较成熟的方法,例如访谈、实际调查、UML的用例技术等。需求分析在软件系统分析与设计阶段起着桥梁的作用,确定了系统的需求,才能制定出软件设计的框架,保证毕业设计循序渐进、有条不紊地进行,避免后期开发过程的频繁返工,进而按时完成最终的任务。 3.3规范毕业设计过程 软件开发类毕业设计一般是开发一个软件系统,实现一定的功能。“麻雀虽小,五脏俱全”,无论软件规模的大小、功能的多少,都应该严格按照软件工程中软件生命周期每个阶段的步骤完成各项任务。要培养学生把软件工程的概念贯穿于整个毕业设计过程,也就是说,让学生把开发软件的过程看成是盖一栋大楼,修一条公路的实际工程,用工程化的思想指导毕业设计,确定完成课题的各项任务的工作步骤,注重软件类毕业设计的过程,而不是学生所认为的毕业设计就是编程序,代码调试通过即可。通过工程的概念规范毕业设计过程,让学生明白开发一个软件系统一般经过系统分析、系统设计、系统实施三个阶段,必须严格遵循软件生命周期的规律,完成各个阶段的任务,才能最终提高毕业设计的质量。 3.4重视文档的写作 软件工程中的瀑布模型严格地规定了在整个软件生命周期的各个阶段,都要提交相应的文档。文档不仅记录软件开发过程中的大量信息,在软件的开发、维护过程中也起着重要的作用。在指导学生毕业设计时,要求学生遵照软件工程的思想,把文档作为整个设计的指挥棒,记载设计过程的每一阶段完成的目标、任务及技术手段,建立健全毕业设计文档制度,确保毕业设计过程中的文献综述、译文、任务书、开题报告、选题审题表、中期检查表、设计(论文)正文、答辩记录等各环节教学资料档案完善、规范,实现对毕业设计的全程监控。 4结束语 软件工程是软件开发工程化、规范化的具体实施方法,将其应用到毕业设计中,不仅有助于学生对软件开发相关知识的巩固和实践,而且对解决目前软件开发类毕业设计中存在的问题,提高学生毕业设计质量,具有极大的促进作用。 作者:王晓 王长波 单位:湖北医药学院 公共管理学院计算机教研室 软件毕业论文:软件工程本科毕业设计策略 一、利用多方资源做好毕业设计选题与立题工作 恰当的选题是做好毕业设计的必要条件和前提。近年来,随着信息技术高速发展,国家对高素质软件工程人才需求十分旺盛,并有逐年扩大的趋势。同时各个高校软件工程专业的招生数量也在逐年增加,从目前全国319所设有软件工程专业的学校看,2013年该专业平均招生300人左右。专业招生人数的增多给毕业设计选题带来了带来巨大挑战:一方面软件工程专业的毕业设计选题要求具有一定的应用价值、创新性,同时还要与行业需求相吻合;另一方面要保证选题的唯一性,不仅要避免学生之间的题目重复,还要避免与之前毕业生的题目重复,因为重复的选题会使学生产生投机的心理,导致“打酱油”现象。针对上述问题,黑龙江大学软件学院主要采取了以下几个措施:1.充分利用企业资源,对一部分在企业实习的学生采取“三位一体”的双导师指导模式。即企业项目为载体,学生为主体的模式,校内和校外导师为主导。这部分学生一般是在大三下学期暑假就已经进入企业实习,而我们每年毕业设计选题工作是在十一月末,也就是学生进入企业实习后三到四个月的时间,学生经过企业阶段的培训,对企业的生产过程、企业文化有了一定的了解。此时,学院组织校内外导师和学生共同协商,以企业项目或子项目为学生确定毕业设计选题。2.充分发挥导师的资源优势,学院大部分教师都有自己的科研课题,这些科研课题有些是直接来源于企业的横向课题,还有一些是信息技术领域的应用研究课题,我们鼓励教师从这些课题中提取出一些子项目让学生实践,作为毕业设计的选题。3.充分挖掘学生的专业技术特长和兴趣点并结合学生的择业倾向,确定最能发挥自身优势和潜能的选题。毕业设计的选题不仅要与实际需求相结合,更重要的是应该结合学生自身的技术优势和兴趣。只有学生对选题有兴趣,他们才能尽早地进入状态,发挥自己的创造能力和积极主动意识。所以,选题阶段导师和学生的沟通交流就显得尤为重要,通过沟通导师可以了解学生的能力、兴趣和择业倾向,学生也可以对选题,有进一步的认识,对于不感兴趣的选题学生也可以通过与导师进一步的探讨进行题目的修订。 二、注重环节审查,加强过程监管 虽然“好的开始是成功的一半”,但是如果缺乏中间环节的监管,仍然不能保证好的效果[4]。因此,为保证毕业设计(论文)的质量,我们制定了明确的质量标准、管理条例,并由院长、学术委员会、系主任和教务办主任组成毕业设计(论文)工作委员会,负责毕业设计(论文)工作的组织、评定和监管,同时保证管理条例的严格落实及各个环节工作的正常进行。为健全毕业设计(论文)的监管机制,学院先后规范和完善了《毕业设计(论文)工作管理办法和实施细则》《开题报告》《开题评分标准》《中期报告》《中期检查标准》《毕业设计(论文)撰写规范及模版》《毕业设计(论文)盲审表》《答辩程序和评分标准》等一系列管理办法和文档标准,使毕业设计工作在制度和规范下能顺利有效地进行。每年毕业设计工作之初,我们都要给学生开一个动员会,在会上阐明毕业设计(论文)的重要性,以及毕业设计对他们未来工作的影响,调动他们学习的主动性、积极性和创造性。此外,系主任还要向学生介绍学院毕业设计(论文)管理办法和实施细则,各阶段的工作要求和时间节点,以及各环节检查的内容、需要提交的文档,使学生在毕业设计开始时能做到心中有数。同时,我们也要求指导教师随时解答学生的问题,坚持每周开例会,检查学生的工作完成情况,并提出一些有技术含量和理论深度的问题启发他们思考,激发他们的学习热情,并与学生一起确定后续任务。此外我们组织开题检查、中期检查,对开题检查成绩后30%的学生,不但检查中期报告,还要现场检查程序。对于中期检查不合格的学生,要求限期整改,如果仍然不合格则取消答辩资格。在答辩之前,我们还要对论文进行盲审,盲审不合格的学生不允许答辩,对有异议的论文要提交学术委员会做最后论证。虽然学院对毕业设计(论文)工作在各个环节上的审查都非常严格,但我们鼓励学生之间进行研讨交流,博采众长,相互提高,因为我们的目的不是抓出多少不合格的学生,而是想通过大学阶段最后的综合性实践教学环节训练,培养学生的学习能力、知识的综合运用能力、分析解决问题能力和沟通交流等综合素质。 三、严把答辩关,保证毕业设计质量 答辩是毕业设计(论文)考核阶段的最后环节,这个环节既是学院对学生毕业设计的验收和鉴定,同时也是学生对自己工作的总结和汇报。通过答辩,学生不仅展示了毕业设计工作的效果,更展示了自己的专业知识、技术水平和综合素质。作为教师,每年都要指导多个毕业设计(论文),而学生一生只能经历一次本科毕业设计,而且毕业设计答辩能否顺利通过,直接关系到学生毕业及学位资格的认定。因此对学生来讲,毕业答辩至关重要。这有点像外科医生与患者的关系:医生每年要做很多手术,对他们而言手术已是司空见惯,但对于患者本人,可能一辈子才上一次手术台,而且生命攸关。所以,我们要在毕业设计指导过程中,认真对待每一位学生。同时在毕业答辩中严格把关,保证质量,更要秉承“公开“”公正”“公平”的原则。我们的毕业设计(论文)答辩采用小组面试形式,每组由四位副高职以上教师组成,答辩流程如图1所示。答辩当天向学生公布成绩,毕业设计(论文)总成绩由开题成绩(10%)、中期成绩(10%)、指导教师成绩(10%)、答辩成绩(70%)构成。对于优秀的和不及格的学生,我们还会重新组建答辩组进行二次答辩。这是考虑到答辩组之间认同度的差异而导致评分标准出现偏差,可能有些答辩组打分会偏低,有的组打分会偏高,即各个答辩组评分信度不能达到一致。二次答辩可以有效地消减组间评分差异,从而使申报校优秀论文人选和未通过人选的确定做到公正、公平和有效。针对软件行业特点,我们通过强化实践教学环节,合理利用多方资源拓宽毕业设计(论文)选题途径、健全和完善毕业设计(论文)的监管机制等手段,确保了毕业论文质量的稳步提高。几年来,黑龙江大学软件学院的毕业设计(论文)质量受到校内外专家的一致好评,获校优秀论文比率一直位于学校前列。实践证明,加强毕业设计(论文)质量的监管,不但提高了学生工程实践能力、独立科研能力和创新意识,为学生进入工作岗位打下了良好的基础,进而也提升了学生的就业率。 作者:任美睿 金英 郭龙江 单位:黑龙江大学 软件毕业论文:基于毕业产出导向的软件工程课程教学改革 摘要:分析国内高校在软件工程课程零置上的侧重点以及软件职业技术资格考试内容,提出以SWEBOK V3中知识域的要求为课程内容基础框架,基于毕业生的产出能力导向进行教学大纲、知识内容和考核方式改革,通过监控学生成绩对课程教学效果进行分析和长期持续改进。 关键词:产出导向;软件工程;课程改革 1 背景 作为软件工程专业的主要核心课程,软件工程课程一直很受关注,围绕着课程教学所进行的教学改革也比较多。目前,正在各高校进行的工程教育专业认证是我国为推进工程教育改革、提高工程教育质量、建立工程教育与工程师制度衔接、提高工程教育对产业发展的适应性和提高我国工程技术人才的国际竞争力所做的一项合格性评价,在给高校工程教育带来发展契机的同时也提出了对教育理念、教学过程管理、教学内容更新换代等方面的挑战和调整要求。 2 课程现状 目前,国内高校软件工程课程使用的教材主要有张海藩《软件工程导论》、郑人杰《实用软件工程》和国外翻译版《软件工程》。教学内容主要有软件工程概况、可行性研究、需求工程、传统的软件设计、面向对象设计、编码、软件质量与保证,项目计划与管理、软件开发工具与环境等。软件工程是一门强调实践的综合性工程课程,各高校在具体课程安排上各有侧重。 例如,复旦大学(54学时)的课程重点首先是结构化分析与设计、面向对象的分析与设计,这两部分内容超过了1/4总学时;其次是软件测试和软件项目管理,分别约占总学时的1/6;课程特色在人机界面设计和Web工程上。清华大学(48学时)把面向对象方法UML和RUP作为重点,占总学时的近1/3;其次是结构化分析与设计,占总学时的1/4;软件过程及软件工程管理是另一重点,通过学生合作小组或参与项目组进行软件开发,在实践中理解软件过程的意义和作用,培养软件项目管理的意识和能力。浙江大学(理论32学时、实践32学时)重点讲述软件工程的常用方法,包括分析模型的建立、总体设计、软件测试等,其特色是网络应用软件的开发方法和实践,通过从需求单位抽取出的大型模拟案例进行项目开发,锻炼学生的系统设计、开发、谈判、沟通、写作、团队合作等能力,培养学生的工程职业素养。 通过对国内几所高校课程教学特点的分析,我们发现目前国内高校软件工程课程主要以理论知识教学为主,虽然有的院校做到了实践与理论并重(1:1),但是大多数院校还是以理论知识教学为主。课堂教学以讲述概念性基础知识为主,课程的内容主要有面向对象的分析设计、软件测试和项目管理,对新知识、新技术和新工具介绍较少,目前软件工程课程更像是一门导论课程。 3 面临问题分析 3.1 工程专业毕业要求对课程的影响 工程专业毕业生应具备足够的沟通能力、合作能力、专业知识技能、终身学习能力及人格、国际视野和责任感等能力素质,这些素质要求可以保证学生毕业进入职场前具备基本的职业素养和从业能力。产出导向是工程教育认证中重点关注的部分,课程体系设置、师资队伍建设和外部条件配备均以有利于学生达到培养目标和毕业要求为导向。毕业要求反作用于课程设置,要求课程的内容建设、教学方法改进、过程监督以及成绩考核都应围绕这一要求,细化产出导向的要求和能力指标,设置相应知识点并调整各自的重要性比例,从知识点授课和实践能力两方面落实能力培养,达到毕业产出的要求。 3.2 与软件工程课程相关的专业技术资格考试分析 工程教育认证是将来国家注册工程师制度的基础和重要环节,目前我国已经在土建、环境、核安全等领域开展试点工作,实现了对工程人才的社会评价及国际间人才资格互认。在我国,与软件工程课程相关的全国性考试还有计算机技术与软件专业技术资格(水平)考试,由国家人力资源和社会保障部、工业和信息化部领导,对全国计算机与软件专业技术人员进行职业资格、专业技术资格认定和专业技术水平测试。笔者对与软件工程课程相关的资格考试内容进行解析,以软件设计师为例进行重点分析,见表1。 从表1分析内容可见,软件工程基础考试内容。与课程教学大纲知识点一致,在信息安全知识和标准化知识上给出新增内容,这与SWEBOK2013知识体系一致。考试科目“软件设计”以上述知识为基础,考查工程师的实际工作能力。在最近几次考试中有考题涉及数据流图、UML图的应用分析,与课程授课侧重点也相符,更侧重于实例的应用能力,需要实践积累与运用。 3.3 SWEBOK V3和课程对应关系分析 软件工程专业的课程体系是基于软件工程知识体系SWEBOK(software engineering body ofknowledge)、计算机教程软件工程卷(computingcurriculum-software engineering,CCSE)及其中的软件工程教育知识体(soft engineering educationknowledge,SEEK)而建立起来的。2014年,IEEE计算机协会了软件工程知识体系指南第3版,该版将原来的10个知识域扩展到15个,与现有软件工程课程大纲的比较结果见表2,其中有分布到其他课程中的知识点未加以说明。新增和修改的相关知识点需要在软件工程课程教学和实践环节落实。 4 基于产出导向的软件工程课程改革与建设 4.1 课程教学目标修订 基于上述分析,我们进行基于产出导向的软件工程课程改革和建设。课程教学以使学生掌握软件工程的理论基础知识和基本工作原理,培养学生具有工程问题需求分析的能力以及综合运用计算机科学和工程技术完成系统设计、实施和维护的能力为目标。课程的主要任务是使学生掌握软件开发过程的理论、方法、技术标准以及计算机辅助工程和环境等知识并通过实验灵活应用;掌握软件工程的基本概念、软件开发模型、开发过程的管理和质量控制;掌握需求分析的任务与原则,传统面向对象需求分析方法、设计过程与一般性概念以及文档的编写;掌握程序设计方法,增强编程实践训练,掌握软件测试技术与纠错性软件维护方法;掌握UML建模技术,能在软件工程过程中使用常用建模工具,能运用建模方法解决工程实际问题;了解专业开发活动涉及的标准、方针、政策和法律、法规,能正确认识实施软件工程对客观世界和人类社会的影响。 4.2 教学内容和教学方法改进 根据毕业产出要求及SWEBOK V3新修改版,我们对教学内容作如下调整:①在64学时课时中,将理论与实践课时设定为1:1;②在需求分析和设计部分新增人机界面和系统安全知识;③独立介绍软件复用部分知识,结合软件设计模式讨论软件可复用性;④在软件质量保证和项目管理部分新增软件产品标准和行业标准、国内外法律和法规;⑤在软件维护部分新增软件退役和迁移。 每一章都提供参考资料,教师引导学生有选择地阅读其中的部分内容,根据课程内容的进展情况布置相应的任务、思考题和作业,引导学生通过Intemet或其他途径查阅相关资料以拓宽知识面,了解软件工程领域最新实践研究成果。为了使学生建立起软件开发和维护的工程化意识,较系统地掌握按照工程化思想开发与维护软件的方法和技术,教师需在教学中培养学生从软件企业开发和维护实际大中型软件的角度出发,结合成本、风险、效益、进度、过程、质量等多种因素系统地分析软件开发和维护过程中的问题,突破以往要求完成某一给定知识点作业的单一思考问题局限。此外,构造实验环境用于课内工程项目实践,通过模拟项目的开发,锻炼学生的系统设计和开发能力、软件工具的使用能力、语言交流能力、文档编写能力以及团队合作能力,培养学生的职业素养。项目实践引导需贯穿理论知识学习始终。 4.3 考核方式与持续改进并行 课程强调过程考核,总成绩分为平时和期末两部分,分别占50%。平时成绩主要考核学生的课堂表现、作业、实验能力和实验报告撰写情况等。其中,课堂表现主要从学生上课是否专心听讲、回答教师提问是否正确以及分组讨论是否积极、正确、有独特见解等进行考核,以提高课堂教学效果和运用工程基础知识及本专业基本理论解决实际工程问题的能力;作业方面重点考核学生掌握软件工程理论基础知识和基本工作原理的程度;课内实践教学环节重点考核学生的工程问题需求分析和设计能力,综合运用计算机科学和工程技术完成系统的分析和设计并对设计文档进行审查的能力;期末考试将按照课程教学目标全面考核学生课程学习的效果,选取一定数目的学生成绩为样本,计算该课程对毕业要求贡献的达成度并通过建立阀值定量评估课程教学质量,通过不断提出持续的改进意见并实施,切实加大课程对提高毕业产出能力的贡献。 5 结语 笔者基于毕业生产出能力对课程教学目标进行了修订,完善了软件工程课程的教学内容和知识结构,对教学方法进行了梳理,最后通过改变考核方式对课程进行长期监控和调整,实现课程的持续改进。下一步工作将重点关注课程中学生自主能力导引体系和毕业生能力评价反馈机制的构建。(编辑:宋文婷) 软件毕业论文:思索软件在大学毕业论文管理中的应用 【摘要】本设计是基于高校毕业论文的系统设计,可以完成论文的申请,上传,查看,评价,统计等一系列管理操作。采用SQLServer2008+MicrosoftVisualStudio10+ASP+C#做为开发工具,用户可以使用它编写可以运行VBSCRIPT、JAVASCRIPT等脚本语言的以.asp为后缀名的应用程序,再用Internet服务管理器进行网页的浏览。 【关键词】计算机软件;毕业论文;系统设计;软件 一、背景意义 如今计算机网络的普及已近是亘古不变的潮流了,而且全国大学网络的正在以高速的发展节奏和社会潮流接轨,各种计算机网络化已经逐步取代繁琐的传统办公模式。大学毕业设计作为大学生四年学结的最重要环节,我们完全有必要实现网路管理化,可以减少指导老师和学生的工作时间和负担,让繁琐的毕业设计过程采用网络化数据库统一管理。通过毕业论文管理系统,大大方便了学生、老师及学校管理员。社会科技在不断的革新,我们的生活、工作和获取知识的方式结构都发生了完全的更新和进步,传统的方式在不断的改变,这是社会发展的毕竟之路,也是走向未来的毕竟过程,所以使得各种传统方式得到不断的简单、方便和先进是十分重要和必须的。然而在许多大学和高校里面并没有在毕业这一环节上实现信息化管理,所以这一部分的工作所有都是由人工来完成,然而人为的物理操作必定存在许多缺陷,比如大量的毕业生信息需要处理,工作量就十分的庞大,到处都是纸质资料,不易整理和保管,还容易丢失,另外最麻烦的是需要更新和修改的资料的情况,其次就是学生和指导老师之间关于论文进行的交流和联系都是线下的,会受到各种不定因数影响,影响这一环节的进度和质量。有着网络的基础,系统可以采用了目前十分流行的B/S结构和Web技术,使得操作交流都变得十分简单和快捷。最重要的是通过计算机信息化管理完全避免人为物理操作的不足。 二、初步调研 浏览了各大类型和类似的网站,毕业论文管理管理系统,我同样采用了当前很流行的B/S结构来开发。 通过各个高校去实地考察,很少有大学开始使用此类系统来管理毕业论文。另外,大多数学生和老师都希望高校能完善此块的建设,来减少毕业生和指导老师的工作量和工作效率。并且此系统会有效的减少学校在此类工作的成本。由于只针对高校毕业生的毕业论文,技术上的要求和开放难道并不是特别大,做好策划工作就好。所以完全可以由大学生和本校老师来指导完成。 最后我们考虑到费用,因为不是企业级的网站,而是校内开发,功能和维护性的要求并不是特别高,所以费用基本可以忽略不记。综上所述,系统的开发无论从技术上、经济上,可行性都是相当高的。对于各大高校是值得去开放和使用的。 三、开发过程中问题 在开放过程之前,我们需要选择何种编程语言和环境。语言和环境的选取对系统的开发难度和时间长度都是有直接的联系的。为了减少开发周期,减弱开发费用,提高产品的质量,对系统做出需求分析报告是非常必要的。比如本毕业论文的系统,是可以完成论文的申请,上传,查看,评价,统计等一系列功能的。那么采用SQL Server2012+Microsoft Visual Studio 2012++C#做为开发工具。在软件系统开发过程中,不提倡无模型的随机开发方式,不可以想到什么功能模型就随手开发什么代码,这样不规范的开发,不仅使得开过过程处于混乱,而且大大地降低了系统开发效率。我们可以适当的利用一些经典的开发模型,典型的开发模型有:1.边做边改模型(Build-and-Fix Model);2.瀑布模型(Waterfall Model);3.快速原型模型(Rapid Prototype Model);4.增量模型(Incremental Model);5.螺旋模型(Spiral Model);6.演化模型(evolution model);7.喷泉模型(fountainmodel);8.智能模型(四代技术(4GL));9.混合模型(hybrid model);10.RAD模型;我们要尽量避免原始老旧的开放模型,这样可以避免许许多多开发问题。但是要根据系统的大小,和开发的难度来做决定,有句话说的好杀鸡焉用宰牛刀,太多复杂的模型适合庞大的系统开发,然而用的一般的小系统上反而会增加开发难度。 软件毕业论文:本科毕业设计中FLUENT软件相关课题可行性及问题探讨 【摘要】本文探讨了在本科毕业设计中加入运用FLUENT软件进行工程计算分析的相关课题的可行性。实践证明,学生通过运用FLUENT软件进行工程计算,夯实了理论基础,增强了解决本领域传热和流动问题的能力,提高了学生的学习兴趣和未来的专业竞争力。在做好本文所提及的三点问题(学生和课题的选择、指导过程中的问题)的前提下,在毕业设计中加入FLUENT软件工程计算相关课题不仅可行,还值得在一定范围内推广。 【关键词】FLUENT 计算流体力学 计算传热学 毕业设计 1.引言 本科毕业设计是在本科教学过程的最后阶段进行的总结性的实践教学环节。在毕业设计环节中,学生应当综合运用本科阶段所学的各科知识和技能,对所需解决的课题进行思考、分析、设计和研究,从而全面、系统地完成课题交给的任务。可见,毕业设计是对学生本科阶段学习质量的全面性的检验,也对学生能否顺利拿到毕业证书和学位证书起到直接和决定性的作用。 计算传热学又称数值传热学,是研究用数值方法求解传热问题的一门科学。它可以理解为:根据所需求解的实际问题建立合理的数学模型,利用离散化处理的数值方法,再通过用计算机高级语言编制的程序,以计算机作为工具来求解传热问题的、与工程实践密切结合的一门应用基础科学[1]。而市场占有率高达40%[2]的数值计算软件FLUENT是解决传热领域数值计算问题的较好的通用软件之一[3]。 运用FLUENT等CFD软件,可以在不具备实验条件或暂不需要对研究对象进行实验的情况下,借助计算的方法进行相关工程分析,从而极大地节约人力、物力、财力和时间成本。因此,在本科学习最后的毕业设计阶段,若能让部分学生学习并基本掌握FLUENT软件对本领域问题的计算过程,将会在很大程度上促进学生今后对相关问题的建模和分析等工作。 2.毕业设计指导工作应注意的问题 由于FLUENT软件的专业性,在指导与FLUENT软件工程计算相关课题的时候,应注意以下几个问题: (1)学生的选择 要能较好地掌握FLUENT软件相关计算过程,首先需要具有较为过硬的微积分、流体力学、传热学、计算传热学(也称数值传热学)等相关学科的基础知识。这不仅要求学生较好地理解课堂所讲知识,还要能够灵活运用课内外相关知识。有的学生学习能力和成绩相对较弱,并不具备过硬的知识储备和学习能力;有的学生未来从事的工作与本专业距离较远,或者对相关的数值计算兴趣不大,因此缺乏从事相关课题毕业设计工作的原动力;这些因素都会影响整个毕业设计工作的正常进行。因此,对于与FLUENT软件工程计算相关联的毕业设计课题,并不是所有学生都适合来做。为了有效地开展相关的毕业设计课题,在学生的选择上往往优先推荐让学习相对努力的、有兴趣和求知欲的以及未来将继续深造或从事相关科研工作的学生来进行。 (2)课题的选择 在本科教学阶段,由于受限于书本和教学大纲的安排,教师在对流体力学、传热学等课程的讲授中往往较少涉及数值计算相关知识,书本上只有一章内容与之相关,课堂上一般只传授数值计算的基本概念、简单情况下的离散方法、离散方程的建立等较为浅显的知识,这与FLUENT软件中对相应问题处理方法的深度和难度相去甚远;然而,在毕业设计的短短一学期时间内,要让学生完全掌握相关知识是比较牵强的。因此,在FLUENT软件工程计算相关课题的选择上,应选择相对基础性的、与实践结合紧密的、具有科研应用前景的课题作为毕业设计课题。这样既可保证毕业设计工作的正常开展,也能使学生在软件方面得到基本训练,为后续科研工作以及研究生阶段的学习打下良好的基础。 (3)指导过程中的问题 在毕业设计的指导过程中,笔者发现有部分学生在使用软件进行计算时,较为注重结果的可视化,而恰恰对计算中关键参数的设置、计算方法的选择等关键问题较为忽视。造成该现象的原因可能是,无论在软件中设置怎样的参数、选择怎样的计算方法,总能通过软件的计算得到一个可视化的结果,即使参数设置或计算方法的选择欠妥或有误,只要计算过程没有脱离现实太远,计算结果看上去都有一定的可信度,再加上学生对具体计算过程的“不求甚解”、不仔细推敲,往往易使人误认为该计算过程是正确的。因此,在指导过程中,应对学生使用软件的具体计算过程进行仔细地把关,确保计算过程和结果的正确性。 3.毕业设计算例 算例一:建筑空心砌块传热问题 图1a为所需计算的典型建筑空心砌块的尺寸标注图。该砌块是某典型普通混凝土空心砌块,三排孔结构,每排均由大小相等的两个孔组成,孔厚30mm。热量由室外侧(左侧)传向室内侧(右侧),室外侧为稳态或非稳态热边界条件,室内侧为稳态热边界条件。 图1b为数值计算得到的该砌块传热的某时刻温度分布图。可以看到,温度从左到右大体上呈现由高到低的分布状况。由于空心砌块为非均质构件,砌块材料的热导率与空气层的当量热导率不相等,造成了内部等温线的非均匀分布。 (a)空心砌块结构俯视图(单位:mm) (b)典型砌块温度分布图 图1 空心砌块结构俯视图 算例二:加气混凝土墙体结露问题判断 待计算的房屋的加气混凝土自保温墙体结构类型如图2所示,图中的B05表示型号为B05的加气混凝土砌块。计算中,加气混凝土砌块可以认为是热均质结构,这样导热系数相对较高的混凝土柱或梁便成为了结构体系中的热桥。由图3、图4可以看到,加气混凝土自保温墙体内表面温度最低点均发生在热桥部位室内表面宽度的中心处或阴角处。将该处的温度与当地室内空气的露点温度相比较,既可判断是否会产生结露现象。 4.总结 利用FLUENT软件对实际工程问题进行数值计算,大大节约了经济开支和时间成本,也为学生对本领域的传热和流动问题的解决提供了有效手段,夯实了学生的理论基础,增强了其解决问题的能力。通过与从事相关毕业设计课题的学生的交流得知,学习FLUENT软件的工程计算对学生更好地掌握相关物理过程起到了很好的帮助作用,拓宽了学生的视野,也提高了学生对相关问题的兴趣,有助于提高他们的专业竞争力。由于兴趣的作用,采用FLUENT软件进行工程计算的学生的毕业设计得分总体较进行其它课题的学生的得分高约15%。由此可见,在做好本文所提及的三点问题(学生和课题的选择、指导过程中的问题)的前提下,在毕业设计中加入FLUENT软件工程计算相关课题不仅可行,还值得在一定范围内推广。 软件毕业论文:“卓越计划”软件工程本科毕业生的跟踪分析 摘 要: 为应对毕业生就业难与软件企业人才招聘难的两难局面,对我院按照“卓越工程师培养计划”培养的第一批本科应届生展开了基于电子问卷的跟踪调查。通过分析学生就业情况及其所在单位需求情况,以及毕业生的就业反馈,讨论研究了现有培养方案、教学体系和课程改革存在的问题与不足,以期为后续进一步深入实施“卓越工程师培养计划”提供帮助。 关键词: 毕业生跟踪调查; 卓越工程师培养计划; 软件工程 0 引言 从20世纪90年代开始,我国的高等教育飞速发展,本科毕业生数量也迅速增加,软件类人才培养也逐渐从精英教育走向了大众化阶段。与此同时,毕业生就业难与软件企业人才短缺的矛盾逐渐突显。一方面,毕业生的就业形势相当严峻,2013年更被称为“最难就业年”,就业人数将近700万,其中软件类(含计算机类)毕业生约占了23%[1];另一方面,用人单位难以招到适应不断变化市场需求的高水平人才,毕业生质量与企业、社会期望值之间出现了较大差距。 解决上述矛盾的重要途径之一是跟踪调查学生走向社会的工作表现和持续发展状况,调整、改革高校教学体系及模式。近年来,国内高等院校逐渐重视开展毕业生的跟踪调查与反馈工作。通过了解毕业生的就业情况、工作表现、对学校学习经历评价及招聘企业人才需求情况等信息,反思、完善和改革人才培养体系、培养方案、教学模式以及就业指导工作模式[2]。本文以杭州电子科技大学软件工程学院为例,通过对2013届按照卓越工程师培养计划培养的50余名毕业生进行跟踪调查所获得的数据信息,结合本校实际,反思卓越工程师人才培养的可改进之处,为制定科学、高效的卓越工程师培养策略奠定基础,从而更好地为培养符合市场需要的高层次软件人才提供服务。 1 毕业生跟踪调查对卓越工程师培养的重要性 “卓越工程师教育培养计划”(简称“卓越计划”)2010年由教育部联合相关部门和行业协会提出,要求各高校与行业企业联合培养工程技术人才,强化培养学生的工程实践能力、工程设计能力和工程创新能力。该计划旨在培养造就一大批创新能力强、适应经济社会发展需要的高质量各类型工程技术人才,为国家走新型工业化发展道路、建设创新型国家和人才强国战略服务,对促进高等教育面向社会需求培养人才、全面提高工程教育人才培养质量具有十分重要的示范和引导作用。中国成功加入华盛顿协议组织也有力地证明了这一点。 高校作为落实“卓越计划”的主体,需认真领会和深刻理解卓越计划的指导思想、主要目标、总体思路和基本原则,更重要的是需结合自身实际条件和优势,制定“卓越工程师后备人才”培养的具体要求和措施,细化培养目标和培养标准,积极开展课程体系、教学方法、教学内容改革[3]。目前参与实施“卓越工程师计划”的各大高校基本上都提出了符合本校办学定位的专业培养方案的总体思路,在实现培养目标和培养标准的过程中融合专业培养方案的制定,完善、强化学生工程实践能力的培养,在满足“累计1年时间在企业学习”的硬性要求同时制定灵活的培养模式[4]。譬如,清华大学展开了以能力培养为导向的课程体系和教学内容改革;我校“信息安全”专业对原有的专业基础课程和专业核心课进行了重点整合,将原有课程整合缩减至5门,另增开课程4门,总学时数由384学时调整至192学时;上海工程技术大学的本科采取了“学校培养+校企交叉+校企双指导”的三阶段培养方案。 衡量上述各种具体培养要求、措施、目标、标准以及改革内容是否成功,有效的核心标志之一就是学生就业情况及其后期发展情况。毕业生的就业率、月收入和工作满意度等信息可以从一定程度上揭示大学生的综合能力水平和未来发展潜力。从某种意义来说,学生是高校推向市场的“拳头产品”,用人单位是这些产品的“用户”。“产品”质量是否有保障,“用户”才有最深刻的体会,才最有发言权。只有不断听取用户意见,不断改进,才能确保“产品”在市场上的竞争力。因此,做好学生就业及其后期发展情况的跟踪调查,才能推动高校不断完善卓越计划的落实,纠正试行阶段暴露出来的各种问题。 2 软件工程专业卓越工程师培养计划――以杭州电子科技大学为例 杭州电子科技大学从1980年开始培养软件工程本科人才,2003年正式设立软件工程本科专业。目前,该专业为国家特色专业、浙江省重点专业、浙江省高校人才培养模式创新实验区。为了进一步促进软件工程专业发展,全面提升学生工程素质,即工程实践能力、工程设计能力和工程创新能力,2011年杭州电子科技大学率先在软件工程学院开始试点软件工程专业的“卓越工程师人才培养计划”。要求学生在校内经过软件工程通用工程基础技术知识和核心技术知识的学习并具备相关能力后,进入企业进行高级工程技术知识及技能学习和培训,并参加企业实际软件项目的开发,培养方案示意图如图1所示。具体内容介绍如下。 ⑴ 改革人才培养模式 对进入“卓越工程师培养计划”学习的学生,将遵照贯穿8个级别4种工程应用能力培养要求的工程型人才培养方案(如图1所示)。学生在校内2年完成前2种工程应用能力的培养后,按“卓越工程师培养计划”学习1年完成第3种工程应用能力的培养,最后进入企业完成第4种能力的培养。可以看出,卓越工程师培养计划主要承担“高级工程能力”和“工程实施能力”的培养,主要通过企业宣讲课程和就业规划课程来帮助学生确定今后学习和发展的方向,进而安排学生参与企业实际软件项目完成专业实践和毕业设计。 ⑵ 加强专业师资建设 软件人才是工程实用型,需要教师既有一定的学术造诣,又具有大量的项目实践经验或企业工作经验。因此,我校进一步加强“双师型”专业教师队伍建设,在选派青年教师到国内外IT企业顶岗实践和轮训的同时,积极引进具有丰富实践经验的专业技术人员到校担任兼职教师或传授真实案例和实际工程经验,已逐步建立并完善企业教师的师资库并鼓励相关企业承担学校专业课程及实训工作。 ⑶ 深化改革课程体系 我校软件专业课程改革的总体思路是:扎实专业基础,突出工程实践能力,复合知识领域结构;强化专业核心基础课程和高级工程能力的培养,突出企业实战能力。在当前软件工程专业培养方案的基础之上,着重体现工程教学中的CDIO模式,聘请行业专家及资深工程师讲座;引入“MOOC”等先进教学方式,鼓励开展研究式教学、讨论式教学、以问题为导向的PBL教学、CDIO式教学及团队模式教学等多种教学方式[5]。 ⑷ 采用“校企深度合作、工学结合”运行模式 积极探索校企深度合作的空间,着重于人才培养、科研开发等多方位的共赢合作模式。以培养软件人才为目标,学校优先选择占据行业领导地位的公司作为合作方(如华为、塔塔等),吸收资深工程师参与指导制定专业发展规划、专业培养目标与专业人才培养方案,甚至直接作为教学师资参与专业技能教学;同时将企业待解决实际项目转化为“实验班”的课程设计题目或综合设计题目。企业接收完成专业课程学习以及基本技能培训的学生直接顶岗实习。 3 “卓越计划”毕业生的跟踪分析 3.1 调查对象和方法 为全面、准确、及时地分析了解“卓越工程师培养计划”在高校的落实结果,了解用人单位对软件工程专业改革的满意度以及深化教学改革的意见与建议,为其他同类学校准确定位、深化改革与创新软件类人才培养提供参考,我们对杭州电子科技大学软件工程学院实施“卓越工程师培养计划”的结果进行跟踪调查。调查对象是该学院第一批按照上述计划培养的毕业生,共发出52份问卷,回收有效问卷50份,回收率为96%。本次调查主要以问卷为主,辅之以面谈、Email咨询等方式。 3.2 调查数据分析 我们从学生就业单位信息、就业单位需求、毕业生个人反馈三方面来进行梳理分析现有教学方案、培养方案等卓越计划改革内容的不足。 ⑴ 学生就业单位 此次调查的50名毕业生,44人就职于主营软件开发销售、系统集成的软件类公司,4人就职于在线网络社交平台或电子商务平台的技术部门,2人服务于保险业。也就是说,96%的毕业生在毕业后会继续从事软件开发维护相关的工作。这从一定程度上证明了按照卓越工程师计划拟定的现有培养方案和课程安排在培养学生兴趣、增强学生专业技能方面发挥了较好的作用。此外,在毕业生就职的30家软件类公司中,14家单位的员工少于50人,13家单位的员工数在50~300之间,3家单位的人数超过了300人。可以看出,毕业生所就职的大部分是中小型软件公司。这也符合软件行业特点。除了微软、IBM、华为等极少数的龙头企业,大部分软件公司的规模并不庞大。我们的调查结果反馈的另外一个重要信息是,大部分软件公司对招聘对象的学历和工作经验的要求并不高,求职者具备大学本科学历即可,并不硬性需要相关的职业证书。因此,在未来的教学过程中,应确保学生顺利完成大学基础课程,而并不需要强调或引导学生参加太多的职业证书考试。 ⑵ 就业单位需求 从50份有效问卷返回的结果来看,目前用人单位技术最注重也相对急需的技术(能)排在前三位的分别是:JAVA语言、办公软件应用和ORACLE数据库应用,如图2所示。除此之外,动态网站开发以及企业级网络软件应用与维护也是各单位相对比较看重的毕业生技能,问卷勾选的份数分别达到了16和14。不难看出,若软件工程专业本科生在校期间尽可能地熟练掌握日常的办公软件应用并掌握用Java等开发语言构建、推广、维护动态Web网站的基本技术,他们在就业时将更占优势。 我们在教学过程中经常碰到以下的问题:本科生在大三或大四阶段仍不能熟练使用Excel绘制基本图形或完成基本统计功能,也不会使用Outlook、Foxmail等邮件客户端工具收发Email;他们课程提交的项目作品虽然能够实现系统的基本功能,但往往不够规范、难以维护和二次开发。学生暴露出来的这些问题远离用人单位的需求,也直接影响了学生自身的就业和后续发展。因此,在后期完善“卓越工程师”的培养方案和课程改革时,针对这些问题进一步强化培养学生相关技术(能)就变得极为重要。 ⑶ 现有培养计划及改革反馈 如上所述,“卓越人才计划”强调对学生实践能力的培养,强化学生工程实践能力,注重提升工程教育人才的培养质量。本学院在日常教学过程中着重学生动手实践能力的培养,也通过与华为、塔塔、网新等众多企业合作,安排学生在企业实习,强化学生实际实践能力。如图3所示,根据求职期间及就业之后的“第一手”经验,36%的毕业生认为学校还需加强基础理论的学习,30%的毕业生认为需加强实践动手能力的培养,25%的毕业生认为需加强专业知识的学习,只有个别同学认为需增强人文知识学习和科研能力培养。大部分毕业生在“信息反馈”一栏中明确提出“实际动手能力的培养是学校应该改进的重中之重”。这与国家“卓越人才计划”的培养思路是基本吻合的,也表明,我们还需在未来的教学培养中深化培养方案和课程改革,更突出 “卓越人才计划”的实践能力培养要求。如某位毕业生认为虽然目前学校社团较多,但和专业及就业挂钩的社团很少,建议多组建一些专业性社团,营造一个良好的学习氛围,并积极鼓励学生参加各类比赛,或开展专业知识类的勤工助学项目,让学生在项目实践中提升各方面的素质。 此外,根据50位毕业生的自身体会,软件类公司更为看重的学生素质是其持续学习的能力,其次是独立解决问题的能力,而日常较为注重的学习成绩恰恰反而是排在最后一位,如图4所示。这也是软件工程专业本身所决定的。一方面,软件、计算机技术飞速发展,日益更新,在校期间的课程内容不能完全跟上技术的潮流,需要学生自己学会跟踪学习新技术的能力;另一方面,实际软件问题千奇百怪,层出不穷,没有一劳永逸的解决方案,更需要学生具备一定解决问题的能力。 3.3 启示 此次的跟踪结果表明,我院现有的“卓越人才培养计划”及其具体方案措施在加强学生专业兴趣、增强学生专业能力起到了较好的作用,能为用人单位提供了具备基本职业素养和能力的软件人才。在未来工作中还需进一步强调和注意的有以下几点。 ⑴ 必需确保学生顺利完成大学阶段所有课程并获得学历、学位证书,这是学生入职的必要条件。 ⑵ 必须加强培养学生办公软件的使用技能,才能更好地提高学生专业素质,满足企业规范化人才需要。 ⑶ 争取为学生创造更多参与实际项目的机会,加强培养学生专业实践能力。这也是“卓越工程师培养计划”的重心所在。 ⑷ 进一步加强学生跟踪学习的能力和独立解决问题的能力,使他们适应软件快速更新升级,以及实际开发应用过程中问题不断的特点。 4 结束语 毕业生跟踪调查对做好软件工程人才培养,尤其是“卓越工程师培养计划”在软件工程专业的落实具有重大意义。本文采用实证研究的方法,从学生就职单位性质、单位需求与学生反馈三方面对现有“卓越计划”及其具体方案进行讨论分析,根据毕业生的切身体会挖掘现有软件工程专业“卓越工程师培养计划”存在的问题和不足,以期为更好地落实“卓越工程师培养计划”、培养卓越软件工程师提供科学有效的对策。 软件毕业论文:高职院校软件专业毕业设计 问题分析与改进建议 摘 要:高职院校毕业设计中存在着一些问题,例如,课题质量不高、学生在校外实习、课题与就业方向不符等。这些问题的产生是因为学生不重视毕业设计,进而导致设计质量下滑。针对毕业设计中出现的问题,笔者以高校管理者与指导教师的视角,对毕业设计制、学生及指导教师进行了深入调研,并且提出了改进方法。 关键词:高职院校 毕业设计 不重视 改进 1 前言 毕业设计是学生综合运用所学知识解决实际问题的环节,其质量直接关系到本专业人才培养水平。大多数高职院校的毕业设计放在最后一个学期,导师基本由校内教师担任。但最后一年学生把重心放到对自己未来更有影响的就业上,或是参加专升本寻求深造机会,校内导师被迫远程指导,缺乏监督力度。同时,设计课题内涵良莠不齐,部分课题不符合社会需求,让学生感觉实用性不强,学生不重视,进而质量下滑,降低了教学水平。因此,我们有必要通过调研发现问题、分析问题,进而解决问题。 2 现状调查 对重庆5所高职院校部分教师及所带学生进行了问卷调查。样本中包含200名毕业生、50名指导教师。数据如下: 3 调研问题分析 影响质量的主要因素有学生不重视,学生不能在校设计。需要分析学生为什么会不重视,并剖析其不能在校设计的原因。 3.1 课题内涵与需求有偏差 如表1所示,课题与学生工作方向是否吻合,以及是否一志愿选题,对成绩影响较大。调研中发现:部分学生毕业后从事Java开发,而选题时选了C#开发(选题先于实习);部分学生毕业后从事非IT工作,从而对所选课题丧失兴趣;部分学生单位实习后技能提升,回过头发现课题内涵与商业开发存在差距。此外,部分学生未能选中一志愿课题,调配课题与期望不一致,所以就抱着对付一下的心态。综上,课题本身质量是影响学生最后设计成绩的重要因素。 3.2 设计时间安排不合理 表1及表2的数据充分证明,不合理的时间安排,是导致质量下滑的重要原因。最后一个学期是找工作的关键期,在就业压力下学生忙于参加招聘会和面试。找到工作后,用人单位往往还要求到岗实习。同时,最后一学期也是专升本的关键期,寻求深造的学生亦会忙于复习参考;另有学生为提高竞争力,会选择参加推荐工作的技能培训;这都是造成学生不重视以及不能在校实习的重要原因。 3.3 自拟课题质量偏低 表3数据分证明,对外承接工程,或教师科研需要课题,具有充分驱动力可让教师在课题建设中投入更多精力,进而提高了课题与社会生产的适应性,提升课题的科学性和实践性。自拟课题往往是为了毕业设计而设定的课题,教师缺乏动力对课题进行改进,易与社会脱节。表3的统计数据也证明了选择自拟题目的学生,其优良成绩的比率显著低于其他学生。 3.4 其他因素 沟通不畅:师生双方无法面对面地沟通,存在着教师因工作忙碌疏于督促,或学生缺乏主动性的情况。(1)教师经验缺乏,高校中具有丰富项目经验的教师本来就比较少,近年又引入了大批年轻教师,这些教师毕业后直接从事教学,更缺乏项目开发经验,在指导中明显表现出不足。(2)优秀教师任务重,优秀指导教师既要承担毕业设计指导工作,又要进行繁重的教学任务,容易顾此失彼。 4 问题整改建议 4.1 加强课题库建设 课题分为对外承接工程、科研需要、自拟等几个类别。对自拟课题,须经学校专家组评审及指导,以增强与生产实践的联动性。增大来自对外承接工程及科研需要类课题,这类课题具有较强实践性,教师出于自身利益,也会对课题投入更多精力,对学生的要求也会严格,这必然提高设计质量。另外,考虑到学生未来就业不同,宜对课题难度适当分档。对不同档次的课题,设置起评成绩;有志于投身IT行业的,可选中高难度;其他学生可针对性地选择适合自己的课题。 4.2 改进设计模式,消除时间冲突 在设置课题时,要确定本专业所针对的主要就业岗位,以及岗位所需技能,再结合实际选择对应实训项目,作为本专业学生大学期间不同实践课程教学项目。学生在专业课教师的系统指导下,逐渐完成毕业设计的雏形,在最后一个学期里,再根据学生就业实际情况,予以整合,就成为了一篇具有一定质量的毕业设计。如此,不仅降低了最后一个学期的工作压力,还提升了学生在校期间教学质量。 4.3 加强指导教师能力建设 在毕业设计中,教师要加强对学生的监督与管理,可采用如定期开见面会、网上探讨等方式,学生将设计中遇到的问题、取得的成果等汇报给教师以便教师对学生情况进行分析指导。组织教师参加校内外专业培训,提高教师理论水平和实践能力。招聘教师时,倾向于在企业从事过一线工作、既有学历又有工作经验的人员,更好地将学校的理论知识与企业所需要的专业技能相结合。 5 总结与展望 毕业设计是十分重要的环节,应注重课题的针对性与适用性,使毕业设计内容与学生毕业后所从事的技术岗位相一致。同时,我们也需要加强毕业设计的机制建设,让设计贯穿整个大学教育,减少最后一学期压力。注重对教师的培养,提升指导技巧和技能。只有这样才能培养出符合社会发展、受用人单位欢迎的人才。 软件毕业论文:应用型本科软件专业毕业设计(论文) 质量保证体系的研究 [摘要]毕业设计是本科生培养中最重要的实践教学环节。本文针对“卓越工程师培养计划”中工程和创新的培养目标,结合“卓越计划”的“3+1”的“1”的实施,对毕业设计进行改革,通过2级毕业设计的实践,毕业设计的改革效果较好。 [关键词]毕业设计质量保证体系卓越工程师 一、前言 本科院校在对学生整个教育教学计划中,应用性本科软件专业毕业设计(论文)是学生大学生活的总结,也是在实践教育方面的最后一个环节。 目前,本科毕业设计中大学生对自己的毕业设计能够自主把握的空间十分有限,设计主体部分严重脱离工程实际情况,依靠以往经验、书本知识、网络信息等方式获得的信息量占据了信息总量的大部分,这不仅仅是因为学生或者导师愿意去投机取巧,也跟毕业设计活动经费的短缺和时间的不充足有着直接关系。纵观高校的工程教师队伍,他们自身的实践经验也很难保证做到将现实生活的实际问题引用到本科毕业设计中并展开工作。这就产生了一种很不好的现象,毕业设计的题目往往都是重复使用多次的,好一点的可能也只是简单的变化。本科毕业设计对于学生能力的培养和综合素质的提高帮助不大,在毕业后的工作实践中,学生的创新工程能力单薄的缺陷就会凸显出来,没有办法满足现代工业发展对人才的需求。高校的这种与社会需求严重脱节的现象必须要尽快解决,校内教育与科研、社会实践要在整个高校学习教育中相结合展开进行,才能满足社会新的需求。 二、卓越视野下软件工程专业毕业设计(论文)质量保证体系的构建 (一)加强校外实习基地的建设 卓越工程师的“3+1”培养方案中,“1”年的实践环节完成的好坏,很大程度取决于实习基地的建设。为了卓越工程的顺利设施,计算机学院已经与企业建立了广泛的联系,目前已经建成的实习基地有:塔塔信息技术(上海)有限公司、上海启明软件股份有限公司、上海京颐信息科技有限公司和上海文思信息技术有限公司;上海屹为信息技术有限公司;谷儒(上海)网络技术有限公司;曼恒蔚图软件技术有限公司;用友软件公司等。这些实习基地的建设,为毕业设计的课题来自生产第一线,提供了强有力的保证。 (二)建设高水平的“双师型”的毕业设计指导队伍 我们采取两种模式共同进行:一是坚持教师队伍“专任和非专任”结合。专任教师主要是以长期在工程现场实践或者有较好科研成果的教师组成;非专任教师主要是从合作单位企业聘任高水平工程师来校做兼职教师。二是加强“双师型”师资队伍建设。双师即“教师”、“工程师”,首先要加强对一线教师的工程能力素养和工程实践能力的培养,以满足在毕业设计指导过程中对教师综合能力的需求。另一方面,我们在聘请教师方面有侧重点,优先录取有企业工作经验的兼职教师,来提升有工程实践经历的教师在整个专业课教师中的比例。为了最大化地为毕业设计服务,学校还从企业聘请工程师或者让一线教师到企业参加工程实践活动等手段,致力于打造为毕业设计服务的精锐之师。 (三)严把选题关 毕业设计的题目,一般来自企业。由企业指导教师提出,经企业指导教师和学校指导教师共同商量后确定。选题要结合学生在企业实习的项目,注重实践性和创新能力的培养,同时题目应难易适中,切实可行,工作量适宜。 (四)注重教师的指导过程 选题完成后,企业指导教师下达任务书、指导学生确定毕业设计方案。在学生做毕业设计的过程中,企业教师负责具体的技术指导,学校指导教师负责时间节点的把握,协助企业教师完成对学生的共同指导。 (五)建立有效的沟通联系制度 由于本科生初次接触整体性和设计性较强的工作,肯定会遇到这样那样的问题。这时,建立有效的沟通制度,发挥指导教师的引导作用就显得非常重要。学生把毕业设计中遇到的问题,向指导教师提出,由企业指导教师和学校指导教师共同商量解决的办法。在毕业设计的过程中,应建立指导教师与学生讨论的例会制度,坚持每周师生沟通一次。每位学生总结前一阶段的工作,提出毕业设计中遇到的问题,指导教师要进行引导和总结,鼓励学生发挥主观能动性和创造力。这样,指导教师可以及时掌握学生毕业设计的进展情况。 (六)做好毕业设计的过程检查与中期检查 对本科生的毕业设计工作的中期检查,要坚持中前期和中后期两次检查。检查的形式是学生以PPT方式汇报自己目前毕业设计的进展情况,并回答老师的提问。对中期检查发现的问题,企业和学校的指导教师共同商量解决的方法。 (七)毕业设计(论文)答辩 答辩的地点一般设置在学生的实习企业,答辩委员会由企业指导老师和学校指导教师共同组成。每位学生的毕业设计答辩采用PPT形式进行汇报,对一些条件许可的企业,要有毕业设计的演示。 (八)以过程管理思想为指导,构建“方法-时间-层次”三维毕业设计质量监控体系 通过健全机构、合理资源配置、完善工作机制、强化毕业设计质量监控体系的毕业设计运行监控、毕业设计指导决策、毕业设计质量考核评价、毕业设计信息反馈功能,见图1。 三、结语 软件专业是一门实践性很强的专业。要想在短时间内较高质量地完成毕业设计,选题是一个很重要的环节。为了提高学生的做毕业设计的兴趣,高质量完成毕业设计,课题选择来自一线企业,显得非常重要。同时,建立一个毕业设计的保障体系,使得毕业设计在进行的过程中,质量能够得到保证。经过两届的毕业设计实践探索,学生做来自一线企业的毕业设计题目的兴趣很大,而且毕业设计的质量得到很大的提高。 软件毕业论文:《软件工程》思想在毕业设计(论文)中的应用 【摘要】主要分析了毕业设计(论文)的现状,介绍了软件生命周期的各个阶段与毕业设计(论文)各阶段的对应关系、软件生命周期各阶段应完成的任务以及在毕业设计(论文)中应注意的问题。 【关键词】软件工程 毕业设计(论文) 实践教学 一、引言 毕业设计(论文)(以下简称毕业设计)是计算机及相关专业教学计划中的一个重要环节,是培养学生对所学基本理论及基本操作技能综合运用的训练过程,是提高学生分析和解决问题能力的重要实践环节,是实现理论与实践相结合的重要途径,是对教育教学质量的全面检查。目前,计算机及相关专业的毕业设计质量正在逐年下降:学生急于找工作或考研,毕业设计得不到应有的重视;需求分析不到位,设计成果不符合实际需求;软件开发流程混乱;缺乏文档写作训练,等等。 针对上述问题,笔者认为,除了应当从管理角度严格进行过程监控外,还应当使学生通过《软件工程》课程的学习,提高毕业设计的质量。 二、软件生命周期与毕业设计过程的对应关系 软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件的生命周期。软件生命周期可以划分成若干个时期与阶段,它与毕业设计各个环节的对应关系如图1所示。 三、软件生存周期各阶段应完成的任务 1.可行性研究与计划阶段、需求分析阶段 可行性研究与计划阶段主要完成问题的定义、可行性论证以及初步计划的制定;需求分析阶段主要完成需求调查,进行功能、性能与环境约束分析;编制软件需求规格说明、制定软件系统的确认测试准则和用户手册概要。这两个阶段对应于毕业设计的课题论证、选题、调研、查资料,通过对设计题目的深刻理解,完成开题报告的撰写工作。 2.概要设计阶段和详细设计阶段 概要设计阶段主要完成软件系统总体结构的建立、定义功能模块的接口、设计全局数据库和数据结构、规定设计约束、编制概要设计文档等工作;详细设计阶段主要完成模块详细设计及编制模块的详细规格说明工作。包括模块的详细功能、算法、数据结构和模块间的接口信息等设计,拟定模块测试方案;把模块详细设计的结果汇总,形成模块详细规格说明书。这两个阶段对应于毕业设计的系统设计阶段。 3.实现阶段与组装测试阶段 实现阶段主要完成编码及单元测试工作。根据模块详细规格说明书,将详细设计转化为程序代码、对模块程序进行测试,验证模块功能及接口与详细设计文档的一致性,并形成单元测试报告;组装测试阶段主要完成模块程序组装与测试及组装测试报告的编写。 4.确认测试阶段 该阶段主要完成软件系统测试、确认测试文档编制及软件评审工作。根据软件需求规格说明定义的全部功能和性能要求及软件确认测试准则对软件系统进行总测试;向用户提供以确认测试报告为主的有关文档,包括系统操作手册、源程序清单和项目开发总结报告等;由专家、用户、软件开发人员组成的软件评审小组对软件确认报告、测试结果和软件进行评审,并将得到确认的软件产品交付用户使用。这个阶段主要对应于毕业设计(论文)中的论文评审、结题验收及毕业设计的答辨准备阶段。 5.软件运行与维护阶段 主要进入软件的使用阶段,并完成软件的维护工作。它主要对应于毕业设计中的答辩阶段。 四、毕业设计应注意的几个问题 1.摘要 摘要是对文章主要内容的摘录,要求精、短、完整。以几十字至三百字左右为宜。摘要应具有独立性和自明性,从摘要中即应获得必要的信息;摘要中只能使用第三人称;要客观如实地反应原文的内容,要着重反映论文的最新内容和作者特别强调的观点;要求结构严谨、语义确切、表述简明,一般不分段落、不进行自我评价。 2.关键词 关键词主要用于论文检索,它是从论文的题名、摘要和正文中选出的,是对表述论文的中心内容有实质意义的词汇,关键词一般以3~5个为宜。 3.结论 结论写作的内容应主要考虑本文研究结果是什么?研究结果说明了什么?对前人有关的看法作了哪些修正、补充、发展、证实或否定?本文研究的不足之处或遗留未予解决的问题以及对解决这些问题的可能的关键点和方向等。结论应该准确、完整、明确、精练。 4.需求分析 在毕业设计中,学生往往不能对所做题目进行充分的调研,需求不明确,随意想象的成分较多。特别是在数据表的建立上,大部分同学随意设置字段的类型,而字段长度基本上采用默认置。而在实际项目开发中,数据项的设置应主要注意以用户的需求和满足系统要求为准,而不应设计冗余的字段;数据的类型要依据实际需求,当某些字段可以是选择某几种类型之一,应考虑哪一种更有利于本系统或哪种更易于用户操作和维护。 5.详细设计 许多同学把详细设计阶段的任务理解为代码实现,因此,在概要设计之后就着手进行代码的编写而忽略了算法的表达及测试用例的编写环节,由此造成的结果是随意编程,大量的时间浪费在程序的修改和调试上。 6.软件测试 测试做得不够全面,大部分同学只选择了有效的测试用例,而没有进行无效的测试用例的设计,因此所做的软件BUG较多。 7.团队合作 在毕业设计中,应有意识地锻炼学生们的团队协作精神,因此,在布置毕业设计题目时,应尽量选择规模大一点的题目,然后由4~5名同学共同协作,每人完成一个子题目。这样,可以使学生们分析问题和解决问题的能力、沟通和表达能力得到充分锻炼,为今后的工作奠定基础。 软件毕业论文:浅谈高职院校集成项目化教学改革提升软件专业毕业生的核心竞争力 摘 要 集成项目化教学是结合我院计算机软件专业教学的实际提出的新的教学改革尝试,将软件专业的核心课程围绕着一个项目进行教学,教学过程中涉及到软件需求分析、数据库设计、软件实现等软件开发过程,切实体现了高等职业教育培养应用、复合型毕业生的办学理念。 关键词 集成项目化 软件专业 核心竞争力 教学改革 职业角色定位 1 当前软件岗位的市场需求、用人单位对毕业生的要求 各个高职院校都开设的有计算机相关专业,其中软件专业基本都会开设。然而随着全国扩招的不断进行,生源却在不断萎缩,曾经火热的计算机相关专业,现在普遍面临着尴尬的境地,一方面是生源的流失,另一方面却是国内软件外包公司对毕业生的不断上升的需求。 通过对软件公司的调研,国内的软件公司基本上有两种接包形式:一种是订单化生产,也就是对方已经做好了需求设计,接包公司按照要求来实现就可以了,使用何种工具、包括检测的工具等等在订单中都已经明确说明,这种多来自日资企业的订单;另一种就是半订单化生产,接包公司有相当的自由度,只有按要求完成相应的功能,至于使用何种软件、如何设计并不明确限定,这种订单多来自欧美的企业。这就意味着软件专业的学生在校期间要对软件的整个开发过程、主流的软件工具有所掌握,才能符合企业的需求。 那么国内的软件公司对用人的具体要求又是如何呢?以武汉某软件公司为例,其2012年7月份对外公布的招聘信息中,对于.net软件工程师的任职要求:(1)相关专业,专科以上学历;(2)具有.NET平台下 2-3年以上开发经验。(3)精通XML、JavaScript、CSS;精通SQL语句;(4)至少能够熟练使用MS-SQL、 Oracle、MySQL中一种主流数据库管理系统;(5)具有良好的沟通能力、快速准确的表达能力、团队精神和协作能力;(6)要求能够快速适应工作压力,具有较强的主动性、责任感;(7)会WCF、WPF、Silverlight技术者优先考虑。 抛开工作经验, 这些要求对于高职类软件专业的毕业生来说,既要具备专业知识能力,又要具有良好的沟通表达以及克服困难的能力。在与武汉某软件合资企业的座谈中,技术部门的负责人指出,软件公司招聘的员工更多强调的是个人的综合素质,在他看来毕业生最多的问题是比较浮躁,容易急功近利,从而造成了个人提升的瓶颈;而对于专业技术能力来说,由于分工协作的不同,每个人只能负责某一小块,对于我们的毕业生来说,是很快就能适应和掌握的。 2 高职院校软件专业教学存在的问题 2.1 教学内容与就业脱节 当前的高职教学大多数还是采用传统的教学方式,按照教学计划讲授课本上的内容,定期安排上机,但是学生对于软件开发的流程并不能完全了解,以软件工程课程为例,如果按照课程的安排,软件开发的流程按照书本的要求去讲解,对于高职院校的学生而言,理论的学习似乎提不起同学们软件学习的兴趣,至于老师强调的某些过程是如何重要,没有开发的环境,学生是体验不到的,这就造成了学习过程中与实际需求的脱节。 2.2 书本上的教学范例已略显陈旧,更新较慢 不可否认,这些范例在学生了解和认识软件开发的过程中起到了较好的作用,但是就课程教学的实践过程而言,学生就会感觉枯燥、学习的动力缺失,与实际项目的开发过程已渐行渐远,终究会被市场所淘汰。 2.3 缺乏完善的教学体系 目前部分高校的软件专业的教学体系还只是停留在纸上,在实际教学过程中,课程与课程之间没有交互,都是各自为政;而某些课程之间又是相互有交集的,又会让学生在学习中感觉到重复、累赘。这样就会导致学生在学习中课程间虽然在体系中联系紧密,但是在实际学习中没有任何交流,最终造成学生所学的知识并不连贯,甚至脱节。 2.4 缺乏对学生个人就业能力和素质的培养 在日常的教学过程中,重讲课、轻动手的情况普遍存在。学生掌握多少能力在某些老师看来并不重要,重要的是会考试就可以了。 3 集成项目化如何提升毕业生的核心竞争力 3.1 何谓教学中的集成项目化? 集成项目化,顾名思义就是将开设的各个课程以项目开发为主线,将项目开发的各个环节落实到独立的各个课程中,从而实现课程之间的案例资源共享和交互。以某高职软件专业教学为例,按照集成项目化的要求,可以将日常的教学过程设计如图1所示。 以下用一个教学项目来详细介绍集成项目化教学的过程。某软件班级以四人作为一个小组,其中一人担任组长,组长的职责是负责项目的整体规划、分工、召开进度小组会议等工作。 在教学中,老师使用公共项目进行教学,由信息系统分析与设计课程确定开发某学院一卡通自助缴费系统。通过教学展开对系统的进度安排和功能模块分析。 由管理信息系统课程对项目的数据库进行设计,分别确定用户信息表、一卡通基本信息表、挂失信息表、充值信息表、宽带缴费信息表、电费缴费信息表等。教师通过课堂理论教学,引导学生同步上机自己进行设计。 由程序设计课程进行系统的设计实施阶段,借助分析的系统功能模块、数据库设计,对系统进行实现。 对学生的项目完成情况,按照如下的方式进行评分,以信息系统分析与设计考试方式为例: (1)考试的成绩构成。根据学生完成需求规格说明书的情况占总成绩的70%,课堂阐述项目功能、提问回答情况以及平时课题成绩占总成绩30%,两项综合为期末成绩。 (2)评分标准。根据小组需求规格说明书完成情况,将学生的成绩分成优秀(90~100)、良好(80~89)、合格(60~79)、不合格(59~0)四个等级。例如优秀的完成情况应该具备如下要求:①需求规格说明书功能介绍规范、详尽;②系统分析设计新颖,有亮点,对现有的系统改进具有较好的指导意义;③整体设计分析全面,具有较好的扩展性;④E-R图、文字描述等准确、具体。同时,课堂阐述项目功能讲解具体、准确、全面;整体设计功能有亮点,新颖独特;回答提问,准确、流畅。 3.2 集成项目化在学生日常教学过程中发挥的积极推动作用 (1)学习的课程目标明确,不再感到迷茫。由于采用了以开发项目为案例的教学模式,与以往照本宣科的教学方式相比,同学们明确知道自己所学的课程在项目开发中所起到的作用,从而避免了课程是学了,但是对于项目开发能够起到什么作用,怎么用,用在哪里等仍然很疑惑的问题。 (2)以项目为导向,课程之间实现了统一项目教学和交互。依据教学计划编写教学项目,以一个教学项目为例,由信息系统分析与设计课程讲解项目的需求分析;由管理信息系统课程进行系统数据库设计;最终由程序设计进行项目实现。 (3)将实际项目引入到课程教学中来。通过校企合作,最大化的将企业中优秀案例引入到日常教学中来,极大地满足了学生的求知欲,尤其是对毕业生而言,能够在离校之前接触到实际的案例对今后即将从事的工作有了一次亲密接触的机会。 (4)整合教学模式,让学生在教学的过程中得到锻炼。用三个学期的时间对课程进行重组,首先在课程的安排上,创造性的将每周的课程集中,如信息系统分析与设计这门课程原先的教学计划是每周四节课,这四节课分为今天两节在教室,另外两节是另一天在机房,这样的安排往往会造成,学生在教室里学到的理论知识到了机房上机的时候已经逐步淡忘,造成课程脱节。现在的安排是将四节课集中到一个上午,统一在机房上课,这样做的最大好处就是让课程最大程度地得到整合,让学生在学习的过程中动手得到锻炼,课程的连贯程度极高,课堂的教学效果很明显。 (5)提升了整体毕业生的核心竞争力。学生通过系统的学习一个实际项目从需求分析到数据库设计,最终通过软件实现。这个过程中,学生需要通过小组组建考验团队协作精神,小组组长的领导力和执行力;在需求分析中掌握发现问题、分析问题的能力,学会与人沟通的能力;在项目实现中掌握软件编程的方法;从而提升整体毕业生的核心竞争力。 4 结束语 集成项目化教学是结合我院计算机软件专业教学的实际提出的新的教学改革尝试,通过整合教育教学资源,最大化地为毕业生服务,切实体现了高等职业教育培养应用、复合型人才的办学理念。 软件毕业论文:软件工程专业本科毕业设计过程管理 摘要:分析软件工程专业本科毕业设计管理中存在的主要问题,针对软件企业对软件工程专业的人才培养要求,提出软件工程专业本科毕业设计过程管理措施,强调通过建立和完善毕业设计的管理制度,加强毕业设计过程的监控;构建完善的毕业设计管理平台,提高本科毕业设计管理水平;改革毕业论文形式,建立毕业设计过程管理评价体系,提高学生工程实践能力。 关键词:软件工程;本科毕业设计;过程管理 软件学院软件工程专业的设立是国家教育部、国家发展计划委员会为满足国家软件产业发展对人才的迫切需求于2001年批准成立的。重庆大学软件学院是国家首批示范性软件学院之一,其人才培养目标是培养“面向应用、遵循标准、适应团队、把握技术、熟知领域、外语优良”的软件工程人才。10年来,软件学院十分重视软件工程专业的工程化教学改革,采取多项政策和措施促进工程型软件实用人才的培养。本科毕业设计是实现高等学校人才培养目标的重要教学环节,是培养学生创新意识和创新能力的重要手段,是理论学习与社会实践相结合的重要体现。因此,对软件工程专业本科毕业设计进行改革,培养具有工程实践能力的软件实用人才具有重要意义。 1 软件企业对软件工程专业培养人才的要求 软件产业的迅速发展对该行业从业人员提出更高要求,不仅要求学生掌握理论知识,还要求学生具备较强的工程实践能力与创新能力。国内计算机相关专业的教学基本上仍使用传统的理工科人才培养模式,注重基础理论知识,缺少对学生工程能力和职业素质的训练,因此培养既有扎实的专业基础知识和较强工程实践能力,又能迅速适应业界环境的高素质创新型软件人才,是软件企业对软件工程专业人才培养的要求。 2 目前本科毕业设计管理中存在的问题 1)毕业设计阶段缺乏全过程的管理与监控。 毕业设计全过程的管理与监控不够规范,缺乏专门的组织机构。毕业设计的一些主要环节疏于检查和监督,因此存在影响毕业设计质量的问题,如选题陈旧、重复率高、与软件产业发展需求不适合等。 教师指导水平有限且精力投入不足,同时没有对教师指导工作的有效绩效考核,使得教师对学生的毕业设计不够重视;某些学生由于有就业压力,便将主要精力放在人才市场和各类招聘会上,没有意识到毕业设计的重要性,最后只能通过拼凑和抄袭完成毕业设计。 2)毕业设计阶段缺乏规范化的指导性文件。 毕业设计工作持续时间长,涉及所有毕业生和教师,如果没有规范化的指导性文件能够让指导教师和学生了解毕业设计工作的意义、目标、计划、流程、论文规范化格式、质量评价标准、成绩考核等具体实施细则,明确自己在该项工作中扮演的角色以及整个毕业设计流程对自身承担工作的质量要求,那么很难提高毕业设计质量。 3)毕业设计文档资料缺乏有效管理。 毕业设计成果是学校的重要知识和信息资源,完善的文档资料管理有助于毕业设计工作的传承和创新。长久以来,毕业设计作品和论文主要采用人工管理。学生答辩后提交资料袋,资料袋中包括毕业设计相关文档和设计作品的刻录光盘,但由于管理人员对毕业设计资料的重视程度不够或人员不够,导致毕业设计资料管理不善,出现查询困难、答辩记录丢失等情况,为以后查阅、成果展示及下届毕业生的论文指导工作带来不便。 3 本科毕业设计管理改革措施 1)成立毕业设计管理小组。 为了加强本科毕业设计工作的组织、管理和监督,软件学院专门成立毕业设计管理小组,小组成员由教学副院长、正副系主任及学生助管组成,负责整个毕业设计过程的管理监督工作,包括从选题、审题、任务书下达到开题、中期检查、答辩、成绩评定、推优的全过程。 2)建立和完善毕业设计的管理制度。 为了提高毕业设计质量,毕业设计管理小组根据软件工程专业特点建立学院的具体工作规范和有效的毕业设计管理模式和监控制度,加强毕业设计制度建设,使得从选题、下达任务书到学生的开题报告,从每周汇报、中期检查到设计文档撰写、论文撰写、论文重复率监测、论文评阅及论文答辩,都有切实可行的实施细则及管理规章制度;构建集中管理与跟踪管理、周报提交、外出请假、抄袭检测、讲座出勤等平时成绩评定标准;完善从平时表现、系统设计实现质量、论文或设计文档质量、答辩水平等多方面衡量的客观、公正的综合成绩评定标准和推优程序。在毕业设计全过程管理中,力求做到有章可循及有据可查。 3)多元化的毕业论文形式。 多元化的毕业论文形式有利于培养大学生创新实践能力。根据软件工程专业特点,软件学院对毕业论文形式进行改革。毕业设计形式包括传统方式和新方式,学生可以选择其中一种方式,具体采用哪种方式则由指导老师负责。 传统方式是指毕业生完成开题报告并翻译一篇相关课题的英文文献,然后对软件系统进行需求分析、设计和编码实现,或者对相应算法进行研究、分析和编码实现,最后完成毕业设计论文。 为了面向软件企业需求,培养学生的软件设计能力,新方式注重提高学生的系统设计文档编写能力。毕业生前期仍然要完成开题报告、英文文献、系统分析设计和编码,最后提交系统设计相关文档。系统设计相关文档由以下文档构成:①项目开发计划;②软件需求说明;③系统设计说明;④数据库设计说明;⑤用户手册;⑥测试分析报告;⑦项目开发总结。根据软件工程学科特点及专业人才培养的要求,结合学校的毕业设计(论文)管理办法和软件设计文档国家标准,软件学院制定了符合专业人才培养目标的设计文档规范。 为提高学生科技论文写作水平和研究报告的演讲能力,软件学院面向软件工程专业所有应届毕业生,在其毕业设计阶段开设8学时的“科技论文写作规范”“研究报告演讲技巧”讲座,强调科技论文写作的规范性和可读性,锻炼学生演讲研究报告的能力。 4)加强毕业设计过程管理和监控。 毕业设计过程管理和监控面向的对象是学生和教师。软件学院毕业学生做毕业设计有不同情况,如有在校外软件公司做毕业设计的,更多的是在校内做毕业设计,因此需要有相应的不同管理模式。为加强学生培养质量和降低指导教师管理难度,软件学院提供集中管理与跟踪管理方式。 集中管理是指学院设置固定机房和机位并安排助教作为管理人员,由指导教师给学生安排机房,由管理人员负责学生的日常考勤,学生需及时向指导老师汇报学习情况,学生若有事必须请假。跟踪管理主要针对在校外进行毕业设计的学生,要求这类学生完成校外毕业设计申请,由管理小组协助指导教师对校外学生进行跟踪,为这些学生提供及时的毕业设计信息服务。这类学生必须每周与学校指导教师联系,以便教师详细了解并掌握学生毕业设计进度。这种具体的制度和规范,对在校内进行毕业设计和赴外进行毕业设计的学生进行了有效监控。 针对指导教师的管理,毕业设计管理小组采用不定期检查和周报提交的方式。毕业设计规范要求每位指导教师每周指导时间不少于2小时,指导教师需要检查学生毕业设计的进度和质量;解答学生提出的问题,进行下一阶段工作部署与指导,保证毕业设计的质量。 不定期检查指毕业设计管理小组根据指导教师在毕业设计系统中登记的指导时间和地点,不定期对教师的指导情况进行检查。周报提交是指学院建立的毕业设计定期报告制度,教师和学生每周均需要将周报提交到系统上,教师主要汇报每周对学生指导情况以及学生毕业设计进度和质量,学生主要汇报每周的毕业设计进度、毕业设计遇到的问题等。毕业设计管理小组每周对周报进行汇总分析并,及时了解毕业设计情况,对学生和教师提出的问题进行统一解答。 5)构建完善的毕业设计管理平台。 充分利用计算机技术,构建完善的毕业设计管理平台,提高毕业设计管理水平,使毕业设计管理更加规范化。软件学院在毕业设计过程中使用的管理系统包括:重庆大学本科毕业设计系统、重庆大学网络教学综合系统、重庆大学软件学院软件工程实践教学平台。 6)建立毕业设计过程管理评价体系。 建立毕业设计过程管理评价体系,要求所有 一学生和指导老师每周都要将周报提交到EOL(重庆大学网络教学综合平台)平台。毕业设计管理小组每周对毕业设计情况进行检查和监督,并将检查情况告知所有指导老师。指导老师每周提交周报次数与毕业设计指导工作量挂钩;学生考勤情况、周报提交情况、平时检查情况会被记入平时成绩,平时成绩不合格将被取消答辩资格。 软件学院强调学生在毕业设计期间一定要进行软件系统设计和实现,毕业答辩包括系统演示、用PPT讲解毕业设计主要工作、答辩教师提问等多环节,答辩老师根据学生工作量、完成质量、论文或设计文档质量、答辩情况进行评分。学生毕业设计的最终成绩由平时成绩、指导教师成绩、交叉评阅成绩和答辩成绩构成,以保证评分的公平性。 7)加强诚信机制建设 为了提高本科毕业设计质量,加强学术道德和学风建设,营造学术诚信氛围,软件学院使用“大学生论文抄袭检测系统”对本科毕业论文进行防抄袭检测。抽检比例为应届毕业论文的50%,抽检名单由毕业论文管理系统随机抽取。另外,各答辩小组推荐的优秀毕业论文为必检对象。 软件学院制定论文抄袭的认定标准(建议文字复制比不超过25%)和处理办法,对有问题的论文,责成指导教师对检测结果予以认定和说明或督促学生修改,取消被认定抄袭论文学生的答辩资格;对各答辩小组推荐的优秀毕业论文进行,不合格的论文取消优秀。 4 结语 培养适应我国软件产业发展的软件工程人才,提高软件工程本科毕业设计质量,毕业设计的改革势在必行。通过2届学生的毕业设计改革证明,建立和完善毕业设计的管理制度,加强毕业设计过程的监控,充分利用毕业设计管理平台,实现多元化的毕业论文形式,建立合理的毕业设计过程管理评价体系,加强诚信机制建设,能极大地促进师生在毕业设计过程中投入热情和精力,提高本科毕业设计管理水平,有效保证毕业设计质量。 软件毕业论文:拓宽软件高职毕业生就业门路的经验和做法 随着国家教育体制的改革,新成长劳动力规模的庞大,高校毕业生就业工作不断取得新进展,高校毕业生的就业成了僧多粥少工作难找的现状,高校毕业生求职前景不容乐观。我校——闽江学院软件学院是以“培养实用技能型软件人才”为目标的高职院校。作为福建省软件职业教育集团的龙头院校,在毕业生就业问题上我们也备感压力,本人通过对自己就职学校毕业生就业工作的分析,就如何应对就业形势的变化,提高高职生的就业竞争力,拓宽毕业生就业门路的经验和做法进行探析。 学院毕业生综合情况分析 软件学院有一个本科专业(专升本)和十个专科专业毕业生,每年毕业生中以大专为主。学院有高职单招、普高、五年专三种性质的学生,从大专生自身劣势讲,学生整体素质普遍不高,这是其就业时一个很大的劣势。主要表现在基本素质不高、学习底子薄、自制能力不强,这也是大专学生最明显的群体特征之一。特别是有相当一部分大专学生习惯差、学习主动性不够,很难适应当今社会的发展。软件学院学生优势就是,我们采用的是双证教学,学生在正常完成学业的同时也完成了相关知名IT企业的认证,在资质和动手实践能力上与同类院系学生相比有一定的优势。因此在开展毕业生就业指导时我们要有别于本科院系,不能拘泥于传统,形成一套有自身院系特色的毕业生就业指导体系。 学院毕业生就业指导工作的措施和经验 1.校企合作搭建学校与企业的共赢平台 学院根据专业教育需求,与微软(中国)公司、北京全美教育技术服务有限公司、思科系统公司、上海微创软件有限公司、戴尔计算机(中国)有限公司等众多国内外知名IT企业合作,开展“订单式”人才培养,实施软件实训计划,改革传统教学模式,着重培养学生的动手能力。在实践教学上,通过产学研相结合的模式,借鉴国内外软件企业在技术、培训等方面的经验,建立了实训工程,通过校内实训和校外顶岗实训,不断提高学生项目分析和研发水平。我们拥有福建省高职教育软件类唯一的省级网络技术实训基地,并在省内同类院校中率先开设了“学生创业园”,由学生团队携带项目入驻园中,按照企业模式进行项目开发。依托学生创业园是专业设置与社会需求零距离配合,教学内容与职业需求零距离贴近、实训教学与就业岗位零距离对接。近年来从学生创业园走出的毕业生就业率几乎达到100%,毕业生就业单位中不乏国内一些知名的IT企业。 2.发挥辅导员作用,帮助毕业生提高择业竞争技能 作为思政工作者,学院每位辅导员都认真对待毕业生就业问题,高度重视毕业生就业工作,对学生的前途负责,对社会的稳定发展负责。辅导员作为学生的良师益友,不仅要帮助学生全面而又充分地了解自己,了解自己在竞争中的优势。还要向学生强调、让学生明白当前就业形势的严峻,鼓励学生“先就业,后择业”。学生就业指导课原则上安排学生思想政治辅导员授课,通过就业指导课,辅导学生掌握适合自身的求职应试方法和技巧以及自身职业定向,在指导过程中用发展的眼光、科学的方法解决毕业生就业中出现的问题。辅导员通过对毕业生的就业指导,帮助学生了解形势、掌握政策、更新观念、调整期望值、增强创新创业意识、提升就业能力和整体素质,促进和帮助毕业生最终实现就业。 3.收集就业信息组织供需双向选择 现代社会是一个信息社会,信息作为一种重要的载体,在丰富社会生活,沟通人际社会关系等方面发挥着越来越重要的作用。我们可以充分使用现有的网络和现代化服务平台,快速便捷的开展就业信息宣传和服务。学院就业指导中心充分利用网上信息资源丰富、时效性强、访问快捷、查询便利等特点,为大学生就业提供快速、高效的信息服务。就业指导中心项目负责老师从林林总总的就业信息中筛选出有效信息,通过学院的学生短信平台及时的给我们的毕业生,使毕业生在择业中赢得主动,增加选择的余地,从容就业。学院还采取“请企业进来和毕业生走出去”的就业指导策略,每年的12月份中旬,定期在校园内举办毕业生校园招聘会,每年的招聘会都能够吸引100多家企业到校开展供需见面、双向选择活动。我们请用人单位到学校进行实地考察,增加用人单位对学院专业设置、知识结构、人才培养情况的了解,从而有利于用人单位挑选使用所需的毕业生。另外,我们还联系企业安排毕业生组团走出去参加用人大单位的面试,如飞毛腿电子公司、网龙公司、中国移动、冠捷电子等企业。对用人单位我们还常常利用学校推荐的方法,减轻企业频繁地参加各层次的供需见面双向选择活动而造成大量的人力、财力和时间的浪费,减少就业信息的重复和毕业生的就业盲目性。从而达到企业招到人,毕业生实现就业的互利局面。此外,学院还积极调动全校力量特别是职能部门、专业老师的力量积极为学生寻找就业岗位,为学生的就业做力所能及之事。 4.加大政策宣传力度鼓励和引导毕业生下基层 通过学院广播台和宣传栏报道毕业生就业与创业的先进典型,形成正确的舆论导向。学院就业指导中心定期召开毕业生就业政策宣讲会,组织毕业班辅导员参加政策学习,引导毕业生认清就业形势,切实转变就业观和择业观。在宣传政策的影响下,越来越多的毕业生响应号召义无返顾地走向农村,走向基层一线兢兢业业地工作,还有的毕业生通过“三支一扶”的政策从事支教、支农(含林业、水利)、支医和扶贫工作。实践证明,大专生在基层还是大有可为,他们在基层照样可以谱写出一曲曲壮美的青春之歌,我们的毕业生通过基层工作,深入了解社会生活,了解基层疾苦,在社会的大熔炉里陶冶情操,磨砺意志,贡献自己的聪明才智,也为自己的人生观、价值观赋予了新的时代内涵。这些政策的落实对提升学院毕业生就业率有着深远的影响。 5.广泛开展创业项目建设 自主创业日益成为大学毕业生就业的一个重要方向。我们充分利用国家的扶持政策和项目,采取灵活多样的形式开展创业教育。如鼓励支持学生自发组建创业社团组织、参加各类创业计划大赛、广告和营销策划大赛等创业竞赛活动。2008年4月,YBC闽江学院服务站正式成立,该服务站以软件学院学生创业园为基地,辐射全校师生,开展了一系列扶持青年就业创业及青年志愿服务活动。服务站每学年举办三到四期的YBC创业培训、淘宝大学培训、定期开展创业大讲堂及青年志愿者活动、大学生创业孵化推荐等。帮助致力于自主创业的毕业生进行资金扶持和技术指导, 引导学生理性择业,优质就业,成功创业。通过这些项目的开展我们学院形成了以“专业培养+团队搭建+项目孵化+能力塑造+创业扶持”为特色的一套较为完整的扶持大学生就业创业实践的服务体系。这一体系得到了广大毕业生的一致好评,拓宽了毕业生的就业门路。 6.弱势群体毕业生的就业措施 弱势群体毕业生在这里我们主要指家庭贫困毕业生和身患残疾或形象有缺陷的毕业生。高校毕业生弱势群体帮扶工作关系到社会和谐、稳定与健康发展,解决他们就业难问题也是全社会的问题。开展弱势群体毕业生就业帮扶上我们通过学院心理咨询中心对弱势群体毕业就业问题心理教育方面入手、引导帮助他们调节心理压力,提高挫折的承受力,提高就业心理素质;帮助他们正确认识自我、了解社会、了解职业对人的心理素质要求,以便选择合适自己的职业。另外,学院就业指导中心主动为弱势群体毕业生联系落实就业实习单位,提供多渠道的招聘信息,搭建用人单位与他们双向选择的平台,积极向企业推荐,专门为弱势群体毕业生开设“就业绿色通道”,帮助他们掌握择业的基本方法和技巧,对于基础薄弱、应用能力较差的学生,学院还组织专业教师给他们“开小灶”,加强辅导,提高他们的综合素质和就业核心竞争力。毕业后对弱势群体毕业生我们还进行跟踪调查,了解他们的就业状况,对未就业弱势群体毕业生实行教师包干制,坚决不让一位弱势群体毕业生待业或失业。 在面对新的就业局势下,学院将就业工作纳入整体工作规划,把毕业生就业摆在当前就业工作的首位。通过自身在就业指导工作上不断的探索和积累,走出了一条符合学院发展的道路。连续几年来,软件学院在同类院校中就业率一直位居前列,毕业生分布各行各业,通过回访,我们了解到用人单位对学院应届毕业生的工作表现满意度达到了90%。学院也将继续深化教育改革,调整人才培养结构,着力提高学生的创新意识和实践能力,提高毕业生就业能力,拓宽就业门路,最终适应当前的就业服务新需要。 (作者单位:闽江学院) 软件毕业论文:做好软件建设是提高理工科毕业论文质量的有效措施 摘要: 针对理工科类专业实践环节多,毕业论文多有硬件要求,而新建地方本科院校各方面存在不足,毕业论文(设计)质量不高的问题,提出有效提高论文质量的快速方法为完善制度,合理选题,做好专业建设和教学改革及现有教师队伍建设和指导模式改革等软件建设,以期对本校和兄弟院校提高理工科毕业论文(设计)质量提供参考。 关键词: 新建地方本科院校;理工科毕业论文(设计);措施;软环境 1新建地方本科院校的特点 新建地方本科院校多为专升本的院校[1],其基本上本专科教育并存,多数以专科教育为主,定位是培养大量下得去、 留得住、 用得上,富有实干精神和开拓能力的高级应用型人才。它通过升本的机遇大量引进优秀人才,加强实验室建设,使学校科研工作得以快速发展。其功能和以往相比,除了教学以外,加大了科研和社会服务功能,即立足于地方和区域经济发展,在为地方培养人才的同时,利用自身在科研上的优势,通过参与社会经济技术活动,推动科技进步,促进经济发展[2]。随着地方经济的快速发展和扩张,它们已成为中小型企业发展的人才库和技术革新的思想库[3]。 2理工科毕业论文(设计)存在的问题 本科毕业论文工作是大学本科教学计划中的重要实践环节,是培养学生综合运用所学基础知识和基本技能进行科研工作的初步训练,是培养和提高学生分析和解决问题的能力,实现教学、科研和生产实践相结合的重要途径,是本科生毕业和授予学士学位的必要条件[4]。而理工科类专业主要培养科学型、技术型和应用型人才,其实践环节多,毕业论文多有硬件要求。新建本科院校因地理位置的制约,在生源质量、经验交流等方面处于劣势,学生综合素质偏低。再加上历史原因,和老牌本科院校相比难免存在诸多不足,主要体现在教学条件有限、师资力量缺乏、学生重视不够和管理制度不健全,教学计划不完善,就业与考研复试冲击,学生普遍存在论文基本攻薄弱等因素[5-8],这些不仅制约着新建本科院校的发展,而且还影响着人才培养的质量,最直接的影响就是毕业论文(设计)质量不高。 3提高毕业论文的措施 硬件的改善是一个长期而复杂的过程,而要解决当前的困难,更有效的方法是做好软件建设。 3.1 加强动员,完善制度,提高学生的认识和论文效率加强动员,提高学生的认识。让学生知道撰写毕业论文是人才培养中十分重要的环节,是本科阶段必须完成的一门必修课,是与毕业直接关联,获得学位、求职或继续深造的先决条件;让他们明确撰写论文不是一蹴而就的事情,是一个人才培养过程,是科研能力、理论联系实际能力、文献资料查阅能力等的形成和提高过程。学校和系部统一思想,对不合格的论文决不手软,只有确定了明确的标准并能够得到严格的执行,才能够使学生打消侥幸心理,有压力去完成。学生重视,基本功扎实,可以提高实验(设计)数据的准确性,进而提高论文写作质量,减轻老师指导的难度。 3.2 通过合适的选题来弥补硬件的不足优化选题是提高毕业论文质量的重要前提和基础。新建地方本科院校要提高毕业论文质量除了在选题方面严把质量关,做到难易适宜外,还可以通过合适的选题来弥补硬件的不足。 3.2.1 与地方企业联合,利用企业的经济优势共同研究和开发科研课题,为学生毕业论文提供素材。论文(设计)命题一直或部分时间到科研合作单位、实习单位或有工作意向的单位进行,完成后由学校进行考核。这种方式能够让学生自行在企业中得到锻炼,寻找解决实际问题的方法和途径,避免从书本到书本的纸上谈兵,让学生在社会的大课堂中通过毕业论文的训练得到锻炼,学到实际本领,提高创新能力,同时也解决学生在就业和学习方面的矛盾冲突。 3.2.2 加强与资深的科研院所合作,实现两类院所师生的“双赢”。很多资深的科研院所高级职称和博士较多、科研力量雄厚,仪器设备先进而充足,很多对新升本科院校来讲很难申报的前沿课题,但对省重点高校或更高层次的高校老师手中往往有两个或更多的项目却课题组人手不够,这正是新升本科院校的缺口。因此可以通过不同渠道,加强与这些高校或研究所联系,利用他们的课题和资源优势解决自己课题方向老套、脱离实际、仪器设备不足等问题,为新升本科院校毕业论文和科研工作的开展注入一定的活力,让更多学生有进行科研工作同时完成毕业论文的机会,实现两类院校师生的“双赢”。 3.2.3 做设计类课题。现在的大学生,有相当一部分有个人电脑,可选择应用计算机进行毕业设计。调查发现历届理工科毕业生,无论是在工厂从事技术开发、生产管理,在公司从事经营贸易,还是在政府机关就职,几乎都需要使用计算机。作为培养掌握最新科技人才的高等院校,当然应该顺应这个潮流。 3.2.4 选题时间提前、内容放开,学生有充裕的时间完成论文(设计)。一方面可以鼓励教师让学生参与到自己或学校立项的科研课题或实验室建设课题中。一方面毕业论文(设计)与贯穿于整个本科教育过程结合起来。学生在学习专业知识的过程中对某一问题的质疑、改进或推广,只要能够体现学生科研能力,都可以作为毕业论文(设计)选题。教学实践中的综合性或创新型实验,只要能够体现水平的,也可以作为毕业论文(设计)选题。教师可以不定期的向学生提供毕业论文(设计)选题,与大学生科技创新活动结合,鼓励学生自己选题,利用兴趣这一强大动力提高论文质量。 3.3 加强专业建设和教学改革调整教学计划,合理安排时间,处理好实习、考研、就业与论文写作之间的冲突,同时通过课程建设和教学改革让学生提前做好准备,提高基本功。狠抓教学质量,使学生牢固掌握专业基础理论、基本知识和基本技能,做好专业知识与技能的准备。开设专业文献检索、科研方法与论文写作训练方面的课程,使其掌握一定的科研方法。提高外语与计算机水平,对于论文有关文献的查阅以及日后论文的撰写、排版、定稿都大有帮助。改革实践教学,强化综合实践能力培养,构建由简单到综合,由单一到复杂,循序渐进的系列化实践教学体系。在日常教学过程中老师适当引导学生精读一定数量的范文,从内容到形式,反复揣摩,以便能够有效地借鉴它、模拟它。同时,老师可每学期给学生布置一两个与其专业相关的写作任务,学生可以根据老师的评语有针性的攻克自己写作的弱点,争取每写一次论文就能进步一点。课程实习、学年实习和毕业实习都有总结报告和社会实践报告,这些写作都可以较早地培养学生的论文意识,对于毕业论文的写作有着素材储备、技能准备等多方面的作用。 3.4 加强教师队伍建设和指导模式改革 3.4.1 现有教师队伍的建设加强指导老师科研能力培养,鼓励其勇挑科研重担,提高科研能力和学术水平,为提高论文(设计)质量提供有效的保障。通过参加社会实践、指导学生实习、参与工程项目设计等,组织指导教师尤其是青年教师深入生产和工程实际,在实践中总结和积累经验,为指导论文(设计)奠定良好的基础。在指导工作中要特别注意加强指导教师的师德修养,提高政治思想素质。可适度聘请外校教师或企业高工参与到论文指导中来。 3.4.2 论文指导模式改革首先可采用教师团队指导方式,即以教学科研经验丰富的教师为组长,在充分考虑老师的专业特长与教龄基础上,组建毕业论文指导团队,对学生进行指导,这种方式将发挥教师在各个领域的知识优势和结构,有利于培养学生更全面的掌握解决工程实际问题的能力和团队协作精神,可以较好的完成论文指导任务,同时也培养了青年教师论文指导能力和解决工程实际问题的能力,提高青年教师的业务水平。其次可采用双导师制。对于校内课题,青年教师可以作为副导师、高职称教师的助手身份参与指导论文。因为教授经验丰富,但是指导学生时间相对较少,而青年教师精力充足,时间多,但是科研能力相对薄弱,需要不断提高。每个学生都配有导师和副导师,可以发挥他们各自的优势,取长补短。这种联合指导方式,真正体现了教授“传、帮、带”的学科带头作用,加速了具有知识创新和科研攻坚能力的学术人才的形成,青年教师的科研能力将大大提高,为创新人才的培养打下坚实的基础。课题来自企业的采用校企双导师指导制,这样做可以将学校的理论知识更好地与企业的生产实践有机的结合起来,更有利于学生尽快的融入企业文化。 综上所述,新建地方本科院校,硬件的改善是一个长期而复杂的过程,要提高理工科毕业论文(设计)质量可以从完善制度,合理选题,做好专业建设和教学改革及现有教师队伍建设和指导模式改革等软件建设着手。 软件毕业论文:浅谈高职软件专业毕业生就业前景 摘要:本文首先分析了当前高职软件毕业生的就业优势,然后指出了我国高职软件专业毕业生就业存在的主要问题,最后提出了加强高职软件专业毕业生就业的相关策略,旨在与同行交流,以期更好地为高职软件专业毕业生就业服务。 关键词:高职;软件专业;毕业生就业前景 近年来,由于高校的扩招,导致大学毕业生面临的就业压力非常巨大。作为高职软件专业的毕业生,他们凭借专业优势,以及自己在学习期间获得的较强的动手操作实践能力,在就业方面呈现出喜人的发展形势,相对而言,还超过了大学生甚至研究生的就业率。 一、当前高职高专毕业生就业的优势 与大学毕业生相比较而言,当前高职软件毕业生在就业方面具有比较明显的优势。一方面。从高职软件专业毕业生的优势来看,主要是他们具备的动手操作能力非常强,所掌握的专业技能比较过硬,一走上工作岗位就能够迅速胜任。因此,作为企业,对这样的高职软件专业的毕业生是非常欢迎的。从高职软件专业培养的人才类型来看,主要培养的是动手型人才。这类高职学校开设的课程以职业技能的提高为目标,紧紧围绕市场所需要的应用型、操作型人才,强化职业技能训练,高职软件专业毕业生通过一系列的专业技能训练,能够掌握过硬的专业技能,具备了很强的实践能力。因此,他们适应岗位需要的能力比较强,所需的磨合周期比较短,能够迅速为企业创造出利润。所以,高职软件专业学生比较容易受到企业的青睐。另一方面,从大部分高职软件专业的毕业生来看,对自身的定位是比较正确的,对自己的评价比较正确、客观,对工资的期望值不高,因此,高职软件专业毕业生就业相对比较容易。 二、当前高职软件专业毕业生就业的不足之处 一是存在的不足之处。近年来,由于高职高专学校招生人数逐年增加,导致在校高职高专生数量出现大幅增加。但是,一方面,每年社会没有增加高职高专大学毕业生的需求数量。另一方面,用人单位明显提高了对高职高专人才质量的要求,要求高职高专人才的经验、职称、学历、工作年限等达到一定目标,从而限制了应届高职高专大学毕业生的就业渠道。 二是高职高专毕业生的就业仍然受到传统因素的影响。由于高职高专学校没有提供专业性的就业指导服务,导致毕业生对自身所学专业的职业特点缺乏深入透彻的理解,仍然受到传统因素的影响,使得某些高职高专毕业生不能认清当前的就业形势,仍然期望在经济发达地区和各种条件相对较好地区的单位就业,导致发达城市、大企业、经济效益好的企业的供需矛盾日益加大。 三、关于促进高职软件专业毕业生就业的几点建议(一)注重培养高职软件专业毕业生的职业素养。为促进高职软件专业毕业生就业,应加大学生职业素养的培养,主要包括学生的专业技术知识、计算机实践能力以及自学能力。其中最主要的就是专业技术知识,即软件专业知识技能。因此,学校应将提高专业技术知识作为核心任务,加大培养力度,在培训和学习过程要求学生具有专业的软件技术知识,结合高职院校人才培养模式,促进学生职业素养的提升,为学生做好就业的准备。(二)注重培养高职软件专业毕业生的社会能力。社会能力是衡量学生人际交往、语言表达、组织管理、创造力、想象力、团队协作等能力高低的重要体现。因而为培养高职软件专业毕业生的这些能力,就应在学校内组织丰富的社团实践活动,并引导他们积极参与进来。这就能让学生在学校组建的平台上将自身的优点与长处发挥得淋漓尽致,自身潜力得到发展,使得社会能力得到培养,为学生以后的就业过程中提高竞争力。(三)提供专业化的就业指导服务促进就业。作为学校,为学生提供专业化的就业指导服务,能锻炼学生的择业技能,提高自身的就业实力。通过开设职业规划和就业指导服务课,引导他们认真学习软件知识,看清当前的就业形势,提升软件行业的就业技能和心理素质,从而确保就业成功。四、高职软件专业毕业生就业前景随着时代的发展,知识经济时代的到来,我国对各种各样的人才需求变得越来越旺盛。虽然我国当前的高职软件毕业生的就业还有一些不尽人意之处,但我们只要将他们培养成才,坚持积极乐观的态度,通过不断的努力和总结,将就业经验尽可能的传授给他们,注重他们软件专业技能的培养,加强就业指导服务,转化高职软件专业毕业生的择业观、价值观和人生观。加之他们本身就具有较强的实践能力,通过教师专业的培训,软件专业技能的不断提升。因而,我们坚信我国高职软件毕业生的就业前景将一片光明。 总而言之,我们在看到高职软件专业毕业生具有广阔的就业前景的同时,也应该看到存在的不足,采取行之有效的措施,扬长避短,才能更好地做好高职软件专业毕业生工作。
自动化计算机论文:计算机网络和办公自动化研究 1办公自动化的作用和意义 (1)为信息化社会的发展提供媒介; (2)提升信息的快速相应能力; (3)能够更加准确和科学的帮助用户进行决策; (4)节省办公费用。 2系统组成 办公自动化系统主要包含5个模块分别为: (1)个人事务处理系统。其包含待办事项、电子邮件、个人文档、个人通讯录以及日程安排。 (2)日常办公系统。其包括了文件发放管理、文件接收管理、报告管理、领导监督、通知管理、会议管理以及档案管理。 (3)资源管理。这一项中包含的内同比较少,只有资源中心、车辆管理进而会议室管理三方面。 (4)专业文件管理。专业文件管理包括:设备管理、成本管理以及办公自动化综合系统其它模块的合成。 (5)系统管理。这一模块是办公自动化系统中最后一项,其包含的是更多的管理,比如:用户管理、部门管理、授权管理、备份管理等。以上五个模块主要构成成了计算机网络办公自动化系统,其功能要比传统的现代化办公系统强大的多,这一系统的应用使信息化管理更加方便、快捷,极大地简化了办公步骤与方法,提升了工作效率。 3计算机网络办公自动化系统的设计原则 3.1系统实用性 在设计开发计算机网络办公操作系统时必须要考虑系统的实用性,将管理信息作为主体,面向办公单位的日常的信息处理,面向领导的管理决策,面向信息化社会服务,及时进行信息交流,最终实现无纸化的计算机网络办公自动化系统。与此同时,设计的系统操作起来应该简单、方便,工作人员能够轻松上手使用。 3.2具备安全可靠 设计系统应该进行分类授权,设置权限,运用自动存储控制等技术来确保办公自动化系统的安全性;利用RAID技术和备份技术,保证办公自动化系统的安全可靠。在信息文件的传递过程中,对每一次的改动都应该记录下来,等文件正式确定后,要和正文一起归档。 3.3确保技术 应该使用基于Browser/Server的三层结构,客户端与数据进行连接的时候必须通过中间事务层,通过这种方式既能保证数据的安全,又能提升处理事务的效率。中间事务层主要实现了系统的功能,极大地提升了系统的性能,降低了系统开发、维护成本,使系统操作起来更加的便捷。客户端将浏览器作为操作端,既保证了自动化办公系统的通用性,又不用对客户端进行维护。 3.4系统的可维护性 在系统中使用中间事务层这类的服务构架,使系统能够依据应用需求的改变以及应用范围的不断扩大,更加便捷对系统进行扩展与升级,能够根据用户自己的需要来设置工作流程以及文件信息的传递的格式,确保系统拥有更高的实用性。 4技术的实现 4.1三层结构 系统设计过程中应该采用标准的中间件接口,只有这样的接口才能为插件的研发提供标准接口。因为各个平台的模块的接口使用的是中间件,所以工作人员在使用的时候不需要将原本应用进行大范围的改动,就可以融入到OA平台中工作,表现出了自动化办公系统拥有非常好的兼容性。在办公自动化系统中使用WEB技术与中间件技术,符合了现代计算机网络的发展。与此同时,使用这些技术也使系统具有更加优秀的性能。 4.2自定义技术 办公自动化系统可以自定义公文格式与工作表格,让用户可以根据自己的需求进行自我设计,这不但简化了系统的维护,还摆脱了对开发商的依赖,提升了系统的通用性,这一特性赋予了办公自动化系统更加顽强的生命力。系统的修改编辑界面也直接与office办公软件相连接,更突出了系统的通用性。 4.3安全机制 OA系统是利用信息交换的平台与数据的存储平台当作办公自动化系统的后台,中间层则是进行信息处理分析,WEB是系统的前台应用的三层次结构。这个系统的后台拥有信息交换平与数据库双向的安全性。信息交换平台的安全等级为C级。数据库也拥有独自的安全机制,它针对用户的权限与密码制定了限制,阻止非规定用户进入。除此之外,OA系统本身也拥有一套完善的用户和权限管理系统,在不同的模块上设置不同的管理员与权限,可以给特定用户有限的权限,这样的安全设置既保证了系统的安全性,又使系统操作更加的灵活,方便信息的传输与管理。 5总结 办公自动化系统能够帮助工作人员使用先进的办公设备和优秀科学的管理方法来提升他们的工作效率与工作质量,使单位的信息化管理更加快速、便捷。它的使用与推广不但能简化信息化办公的步骤与工作,还会为企业或单位节省开支,获得更大的经济效益。 作者:杨丽坤单位:衡水学院分院 自动化计算机论文:谈选煤厂计算机自动化系统的意义 建立开放性的软件平台和接口。应用软件采用“组态”方式编制,能够在较少的软件改造工作情况下,完成扩充后较好的系统功能[2]。 系统操作控制的模式和方法 配煤控制装置系统中的操作模式(1)现场开停车:在人工操作装车室操作柜上的操作按钮,通过中间继电器、接触器等对给煤机、输送带等进行直接操作。经过工控机和PLC对装车设备进行开停车操作。(2)自动集控开停车:在配煤设备与参数预先设置条件下,工控机经过PLC自动对装车设备进行开停车的操作[3]。 配煤控制系统的应用方法(1)应研究装车输送带上的煤流量,确保装车速度和防止过载。(2)避免有的仓空、则有的是仓满从而影响生产设备的安全高效运行。(3)各煤种配置在称重装置时,要进行煤量配比补偿调节,减小系统滞后,防范煤流量变化造成的灰分波动。(4)配煤技术人员要通过配煤参数设定界面,向计算机录入相关参数。(5)计算机自动设置有关计算参数和配煤策略。(6)计算机给出配煤策略和参数后,配煤技术人员要对其进行评定,然后,进行修正、调整与确认[4]。 计算机自动化配煤装车系统的功能 整个系统要实现的功能(1)装车设备开、停及保护的集中控制;(2)通过配煤控制系统,实现装车配煤设备的自动开、停及闭锁控制,并可实现手动操作与系统自动操作的集中切换;(3)控制室要进行配煤参数设定及配煤策略计算,并可通过配煤系统实现手动和自动配煤,也可通过现场控制柜对变频器直接进行操作;(4)利用灰分仪、料位计、皮带秤等检测到的数据,系统可实现基于在线灰分闭环控制的自动配煤装车;(5)结合各种传感器设备实现对配煤装车过程中传送带的保护。 自动配煤控制室上位机要实现的功能(1)监测和显示各设备运行状态;(2)监测和显示灰分仪的瞬时和累计的灰分和发热量;监测和显示核子秤的瞬时称重和累计称重;(3)实时显示变频器工作频率;(4)根据生产工艺流程实现各设备启停车;(5)设定变频器频率及配煤控制方式选择;(6)给定配煤煤种及设定配煤产品目标灰分;(7)实时显示设备故障并给出声光报警信号,同时通过下位机PLC闭锁流程中的有关设备[5];(8)记录各项配煤参数的历史记录。 结束语 选煤厂计算机自动化配煤装车系统与传统人工手动作业相比具有明显的优点,系统结构科学合理,其模式和方法先进有效,可发挥应有的功能。通过一些选煤厂自动配煤系统实施实践表明,增加了选煤厂配煤的品种,提高了选煤生产效率和企业经济效益,确保了选煤质量,此系统具有广泛的应用价值,可以在同类选煤厂推广应用。 作者:权明伍单位:辽源职业技术学院 自动化计算机论文:论计算机软件工程项目自动化管理 【摘要】当今时代,社会科学在不断地进步,人类已经逐渐的进入到信息化时代。信息化时代给我们的生活和工作带来了很大的方便,信息化技术已经被越来越多的人逐渐的接受。近年来,计算机技术在不断地发展,计算机软件工程项目的自动化管理也受到越来越多专业人士的重视,这也将是未来的一个趋势。计算机软件工程项目采取自动化管理可以促进计算机软件开发的专业性,可以保证计算机软件项目的顺利进行。本文对计算机软件工程项目的主要内容、主要特点以及自动化管理在计算机软件工程项目中的应用做了简单的分析和介绍。 【关键词】计算机项目;软件工程;自动化管理 1计算机软件工程项目分析 1.1计算机软件工程项目的主要内容 计算机软件包含的内容十分庞大,计算机软件在研发过程中也比较复杂,所以,计算机软件行业主要培养的是从事计算机系统软件、应用软件的设计师、研制和开发的高级工程技术人才。计算机软件工程行业对于研发人员也有着较高的要求,需要具有良好的科学素质,可以系统的掌握计算机科学、技术基础知识、规范的软件设计与开发能力、良好的组织与交流能力。近几年,我国的软件项目不断地发展,计算机软件行业的从业人员也在不断地增加,计算机软件工程行业接触的专业知识包括计算机系统的设计与分析、计算机软件的主体结构、计算机软件的管理项目、计算机软件的分析目标、软件需求工程、软件质量监管和技术测试、开发先进的计算机软件等等。计算机软件行业主要通过先进的科学设备和工程化的管理方法,对从事计算机软件工程的开发、设计、分析、管理人员进行高级管理。 1.2计算机软件项目的特点分析 计算机软件工程系统的内容较复杂,一种语言对应的一种数据库,包括数据化工程,图像的处理与图像的识别模式,计算机网络与计算机安全模式,计算机系统的整体分布模式。计算机软件工程项目主要依靠大量的理论知识和数据模型构成。计算机软件开发具有抽象性的特点,是一个虚拟的工程项目,可以通过专业的数据分析和模型理论来检查计算机软件的标准,无法真实的体验到计算机软件的可视性。计算机软件另一重要特点就是具有多样性,计算机软件的内容比较复杂,开发过程中会应用到计算机行业不同的知识和结构,所以计算机软件开发过程中并没有一个统一的标准和要求,也没有具体的规范和实施原则。这也就使计算机软件工程在开发过程中具有多样化、复杂化的特点。计算机软件工程系统还具有一定的风险性,计算机软件所包含的内容较多,开发过程中所应用到的数据也比较庞大,计算机软件开发人员无法保障在开发过程中出现的不稳定因素,这也就造成计算机软件工程在开发过程中存在一定的风险性和不确定性。 2自动化管理在计算机软件工程项目中的应用 2.1计算机软件工程项目的自动化数据管理 将自动化工程应用到计算机软件的数据管理中去,需要计算机软件从业人员对工程项目的系统数据进行跟踪调查和实时分析,将计算机软件工程项目运行过程中的系统数据跟踪备份,避免数据的丢失和遗漏。备份之后可以根据相应的数据显示的结果进行修改和调整,使计算机软件工程项目在运行过程中尽量减少失误。目前,大多数计算机软件工程采用云备份的方式进行存储和保存,云备份方式也是比较常用的一种备份和存储方式。云备份的存储路径相对来说比较安全,存储方式比较简便,使用云备份进行软件项目的自动化存储,当软件中的数据发生丢失和遗漏时,可以采用一键恢复的功能进行恢复,将丢失和遗漏的数据进行重新整理和归纳。提高了计算机软件工程项目的安全性和可操作性,为计算机软件项目工程的正常运行带来了保障。 2.2计算机软件工程项目的自动化设备管理 在计算机软件工程项目的自动化管理过程中,设备的自动化管理是一项非常重要的内容。计算机软件工程项目对使用的设备有严格的要求,这也就要求操作人员要对设备周围的环境进行实时监控。经过测试发现,噪音、灰尘、磁场都会对计算机软件项目的设备产生影响,从而导致磁场紊乱,数据不真实。对计算机软件工程项目的使用设备进行自动化监控,可以将设备周围的噪音降到最低,使设备不受周围磁场的干扰,保证计算机软件项目工程可以正常有序的进行。保证使用中的设备和计算机软件系统可以不发生冲突,在自动监控过程中,还应该对计算机软件的系统数据进行实时记录,使操作人员可以通过计算机软件体现出来的数据来研究计算机软件工程与计算机设备是否兼容,计算机软件项目是否具有可行性。通过数据进行研究之后,对计算机软件进行开发的可行性分析,一旦发现计算机软件项目不具有可行性,应该及时的调整计算机系统设备和程序,使计算机软件工程项目和使用设备可以保持一定的兼容性。对计算机软件项目的自动化设备管理,可以为操作人员节省时间,避免因为软件和设备的冲突导致操作人员过多的浪费时间,可以提高计算机软件项目开发的工作效率。 2.3计算机软件工程项目的自动化测试管理 计算机软件工程的自动化设备管理和自动化数据管理是计算机软件开发的基础环节,而计算机软件工程项目的自动化测试管理是最终保证质量的重要环节。对计算机软件项目进行测试和检验,可以发现计算机软件在开发过程中的漏洞和缺陷,并且及时的修补和完善,避免在使用过程中出现问题,造成二次返工。计算机软件项目工程的自动化测试管理是把控计算机软件开发整体质量的重要环节。对整个计算机软件的开发完成具有决定性作用。对计算机软件工程项目进行自动化测试管理,可以尽量减少在基础环节中出现的错误,避免因为设备和数据的原因造成的误差,导致计算机软件工程项目出现失误。计算机软件工程项目进行自动化检测管理,可以准确的判断出误差的详细位置,节省了时间和人员,可以明显的减少工作人员的失误率,还可以提高计算机软件工程操作人员的工作效率。 2.4计算机软件工程项目的自动化安全管理 计算机软件工程项目是整个管理工作的重要环节,计算机软件的开发人员、检测人员和使用人员都应该遵守相应的制度进行保密安全管理。同时,在对计算机软件工程的数据使用和设备使用的过程中,也应该签署保密协议,保证计算机软件的核心内容不外漏,这也就要求计算机的使用人员对计算机软件工程系统可以进行实时的监控,实时监控需要大量的人力、物力,会对人员造成严重的浪费,所以,对计算机软件工程项目进行自动化安全管理可以为计算机软件工程的使用者节省大量的人力、物力,提高工作人员的工作效率。对计算机软件项目工程进行自动化安全管理,在计算机软件工程项目出现数据异常时,自动化管理设备可以进行实时的监控,记录下数据的准确变化,方便操作人员进行后期的登记和调整。自动化安全管理可以避免人工记录过程中的数据丢、数据遗漏和数据不准确,导致后期操作无法正常运行。对计算机软件工程项目进行自动化安全管理,可以保证软件开发过程中的准确性。 3小结 计算机软件工程项目的自动化管理是整个系统管理的核心内容,对计算机软件工程项目进行自动化管理,可以防止数据丢失、数据遗漏,为操作人员节省时间,可以提高操作人员的工作效率。计算机软件工程项目的自动化管理是将来的一个发展趋势,不仅可以节省大量的人力、物力,提高工作人员的工作效率,还可以提高计算机软件工程开发过程中的准确性,保证计算机工程项目的正常运行。 作者:王润芳 单位:长春工业大学人文信息学院 自动化计算机论文:办公自动化环境下的计算机信息探究 【摘要】在现在教育的发展过程中,计算机技术贯穿整个办公室自动化的众多环节,为相关校园内的发展起到重要重要推动作用,但就目前我国办公自动化的发展现状而言,仍存在不足之处。本文就办公自动化环境下计算机信息技术应用存在的不足予以阐述,进而提出相应的办公室计算机应用的几点策略。旨在推动我国教育方面办公自动化的不断发展,实现教学效率最大化。 【关键词】办公自动化;计算机信息;技术存在;问题;应用;策略 前言 随着我国信息社会的不断发展,计算机技术被各校园内广泛应用,进而实现办公自动化的全面发展。办公自动化主要是指在办公室中构建完善的自动化信息处理系统,并由教职员工完成对其进行维护、更新、收集等工作,从而对办公室的各项工作环节予以有效连接,这对有效提高校园内工作效率、促进校园内全面发展有着重要意义。 一、办公自动化环境下计算机信息技术应用存在的不足 1.1教职员工素质较低 目前,我国的校园大部分为中小型校园,由于中小型学校园内普遍存在规模较小,资金有限等现象,在其招聘职工的过程中,为节约学校财政支出,对应聘者的综合素质要求较低。因此,大部分教职员工对计算机操作不熟练,这样的情况不但导致计算机功能发挥受限,也使实际工作量增大,校园内办公自动化难以全面实施。同时,有些教职员工的道德素养也有所欠缺,致使校园内部文件流失,对校园内的发展产生严重不良影响[1]。 1.2办公室缺乏科学管理制度 在校园内实现办公自动化的过程中,不仅要求充分应用计算机信息技术,也要求校园内实施科学的管理制度为其做保障。但我国大部分校园内对办公自动化重视度不够,校园内对计算机的运用和管理基本流于形式化,这不仅对制约了校园内对计算机应用的发展,也直接影响了校园内效益的提高[2]。1.3办公室工作环境差办公自动化对于工作环境有一定要求,良好的工作环境能保证计算机技术的功能得以充分运用,但就大部分学校而言,其对计算机技术认识不足,导致办公自动化应用的环境较差,校园内工作效率也随之下降[3]。 二、办公自动化环境下计算机信息技术的应用策略 2.1提高教职员工素养 在计算机技术的不断发展过程中,办公自动化也得到了高速的发展。计算机技术在办公自动化应用中,教职员工良好的工作素质是很有必要的,同时也是计算机技术在办公自动化中的核心。提高教职员工的的整体素质,校园内可以采取定期培训的形式,加强教职员工对计算机办公技术的掌握,对办公软件和系统全面且细致的掌握。另外,校园内还可以高薪聘请专业的计算机教职员工,这些专业人员可以带领其他的教职员工中一起努力,为校园内的发展起到了重要的意义,在一定程度上也提升了校园内效益[4]。 2.2强化办公室管理制度 在计算机技术运用到办公自动化的过程中,教职员工应当对计算机技术进行行之有效的选择,并根据实际情况制定完整的办公自动化管理制度,让计算机技术在办公自动化的应用运行中有据可依。校园内要根据计算机的应用形式,从不同的角度充分考虑办公自动化的构建制度,将计算机技术的优势和功能得以最大化的发挥。另外,校园内还可以结合一下国外的先进技术、工作经验和管理制度,以为更好地强化办公室的管理制度[5]。 2.3改善办公室运行环境 想要高效地发展校园内的经济效益,就要先构建良好的办公自动化运行条件。校园内应当结合自身的发展特点和情况,在办公自动化的系统中,适当的安装防火墙和杀毒软件,这样可以对办公自动化在运行的过程中进行全面的管理和检查,为计算机技术的使用创造了良好的运行环境。 三、结论 综上所述,本文对办公自动化环境下的计算机信息技术进行了分析和探讨,根据校园内的时机情况提出了一下建议性的意见。随着我国现代化的不断发展,我国教育事业的发展也出现了新的方向和机遇,因此,在这样的发展状态下,校园内应当重视计算机信息技术的全面利用,将计算机信息技术的功能充分发挥出来,利用多元化的形式,不断提高教职员工的综合素质,构建完善的办公自动化体系,在有效提高校园内发展的同时也更进一步的促进了我国社会经济的发展。 作者:贾宁 单位:日照市卫生学校 自动化计算机论文:计算机信息在办公自动化中的应用探究 摘要:随着我国科学技术的迅速发展,网络化技术得到了快速的提升,计算机信息处理技术被广泛应用在多种领域,特别是在办公自动化中的应用,极大地改善了办公自动化的环境。本文主要从计算机信息处理技术和办公自动化的概念出发,简单阐述计算机信息处理技术在办公自动化中的应用以及办公自动化的发展特点,预测其发展趋势。 关键词:计算机信息处理技术;办公自动化;具体应用;发展特点 近年来,计算机技术、网络技术得到了快速发展,这些技术也被逐步应用在社会的多个领域。基于网络的计算机信息处理技术逐渐被企事业单位在工作中所应用,使得办公信息处理的模式得到改变,办公自动化得到了较快的发展。在办公中运用计算机信息处理技术,不仅能够完善管理结构,而且能够加强各部门之间的联系,降低劳动强度,提升办公效率,使得管理更加流畅,同时还可以实现较快的决策。 1计算机信息处理技术和办公自动化概念简析 计算机信息处理技术主要指集信息的获取、输送、检测、处理、分析、使用等为一体的技术,其主要作用是对各类信息、数据进行管理和处理。计算机信息处理技术是由计算机技术、网络技术、通信技术、传感技术和微电子技术等多种技术结合而成,因此,也被称为“现代信息技术”或“信息和通信技术”。办公自动化,即OfficeAutomation,简称OA,是一种将计算机信息处理技术和单位的办公工作结合起来的工作方式。基于计算机技术、网络技术、通信技术等技术的硬件和软件的开发,单位的办公工作逐步物化于各种设备和软硬件中,这种由办公人员和办公设备、软硬件等构成的人机处理系统,被称为办公自动化系统。这里需要着重指出,使用办公自动化系统时,必须具备人和相应的机器设备,同时必须具备相应的软硬件设备。办公自动化的概念范围非常广泛,凡是在办公过程中采用了计算机技术均可纳入办公自动化,因此,它也是当代应用最广的一类应用。近年来,随着办公自动化设备的完善,办公自动化在电子邮件系统,远程会议系统,高密度电子文件,多媒体综合信息处理等方面都有许多新进展。 2办公自动化中计算机信息处理技术的具体应用 在办公工作中,适当运用计算机信息处理技术,能够降低工作强度,改善办公质量,提高工作效率。计算机信息处理技术因功能不同,可以满足办公过程中的不同需求,其在办公自动化中运用主要表现在以下几个方面。 2.1文字处理 利用计算机信息处理技术,能够极大地提高文字处理的效率,从而促进办公效率的提升。文字处理是办公系统当中较为基础性的内容,因此,计算机文字处理被认为是办公自动化中的基础功能之一。目前,在企事业单位较为普及的文字处理软件有微软公司的WORD、金山公司的WPSOffice等,它们都是基于WINDOWS平台的文字处理软件,能够进行文字编辑、文章排版、文档合并、文档打印等操作,不仅能够对文件进行管理,还能够将数据、文字和图片结合,进行多项命令的执行,从而实现办公工作的高效化和高质化。 2.2图文制作 图文制作是办公自动化中使用较多的一项功能,指通过计算机信息处理技术,把办公中需要用到一些数据或者是文字性的东西放到幻灯片的格式当中,并在其中插入一些图片、音频等,然后将其通过屏幕演示出来。这类软件较为普及的有微软公司的PowerPoint、金山公司的WPSOffice套件中的WPS演示、苹果公司的Keynote等。通过这类软件,我们可以制作直接通过计算机屏幕或投影仪播放的文件,这种文件图文并茂,能较为清晰地阐述个人观点,使别人更加容易理解的辅助工具。这种技术能够让信息更加直观化和清晰化。 2.3表格处理 制作表格、填写报表是目前企事业单位办公较为常见的工作之一。利用表格处理软件,可以方便地完成表格的制作、填写、编辑、处理等操作。常用的表格处理软件有微软公司的Excel、金山公司的WPS等。Excel能够方便的对数据进行一些函数运算,比如求和、连乘等,能够较为快捷地实现数据的统计、分析,极大地简化了表格处理的强度,提高办公效率。 2.4数据处理 在计算机软硬件发展的基础上,企事业单位逐步将数据管理、分析和应用纳入办公的重点工作。数据管理主要包括对数据的撷取、加工、分析、存取以及传输等。目前的数据库系统可以实现联机实时处理,分布处理批处理等功能,数据的共享性高,冗余度小,为实现精准办公提供了数据支持。随着计算机网络用户数量的增长,每天要产生上万亿GB的数据,大数据的处理为计算机信息处理技术带来了新的挑战。 2.5多媒体处理 利用计算机信息处理计算,可以有效地实现图像、视频和语音处理功能。通过图像处理软件,如Photoshop,可以对图像进行编辑设计,将原图片调整为所需图片,也可以用扫描仪等设备,将纸质文件转化为数据文件。通过视频处理软件,如WindowsMovieMaker、AdobePremiere、会声会影等,能够方便地实现视频制作、剪辑、合成等操作,将原本比较陌生的视频剪辑变为操作建议、方便易学的普通技能。通过这类软件,人们可以制作单位的宣传视频或产品介绍视频等。 2.6网络通信 网络通信技术是目前办公室自动化中应用较为普遍的技术,指的是通过计算机和网络通讯设备对图形、文字或其他数据进行采集、存储、处理和传输等,使信息资源达到充分共享的技术。网络通信技术主要包括多媒体技术、移动通信、宽带网络技术等。网络通信技术的应用,改变了原来的办公交流形式,使得交流更加方便、快捷,不同地点的人们可以通过网络平台,进行多环境下的交流。除了传统的音频传输,文字、图像、视频等资源也可以实现传输,使得信息传输的内容更加具体,从而实现办公的畅通高效快捷。 3办公自动化的发展特点及发展趋势 计算机信息处理技术的快速发展,引领办公自动化逐步朝着更高效更便捷的方向发展。许多企事业单位,已经逐步实现了无线办公的环境,而网络视频技术的应用也逐渐成为办公自动化发展的重要趋势之一。虽然我们很难对未来的办公自动化的发展有一个准确的预测,但根据目前的计算机技术和网络技术的发展趋势来看,办公自动化的发展特点和趋势主要有以下几个特点。 3.1办公环境不再受约束 无线局域网技术的发展,让基于网络的通讯方式迅速在办公领域兴起。利用手机、平板电脑、笔记本电脑等电子产品实现的通讯方式,比如即时通讯、视频会议等,在技术上实现了飞跃。固定办公地点的概念已不复存在,人们在饭店、商场、广场、咖啡馆、机场等地可以轻松地实现移动办公。无线网络覆盖区域的增加,极大地提高了办公的效率。 3.2视频技术被大量应用 视频技术的发展,让动态图像传输变得更加容易,网络视频等诸如此类的应用在办公自动化中得到了快速的推广。通过手机、笔记本电脑等设备携带的摄像头,人们能够轻松地进行交流、布置工作、展开讨论等。网络视频会议技术可以实现点对点通信,同一传输线路上可以承载多种媒体信息,实现多点实时交互通信,可以让不同地点的与会的活动情况、会议内容等展现在各个分会场。因此,网络视频会议也将会成为办公自动化的重要组成部分。 3.3工作程序更加简洁 目前各类的办公软件,包括利用网络的远程办公软件,提供了非常多的工程,使用起来简单快捷,极大地简化了办公程序,提高了工作效率。比如,电子文件在网络中传输,比纸质文件的传送效率要高得多,通过网络,还可以即时传输图像、音频、视频等资料。而且,利用办公软件,可以实现对电子文件的收集、整理和归档,不仅可以使之得到长期保存,而且不占用任何的空间。 4结语 计算机信息处理技术的应用,为办公自动化提供了有力的技术保障,极大地提升了办公的工作效率,节约了人力资源,提升了经效益。随着计算机技术的发展,将会实现更多的功能,满足办公自动化日益增长的需求。 作者:徐艳 单位:江苏省职业介绍中心 自动化计算机论文:办公室自动化中计算机信息技术应用 摘要:办公自动化能够给办公部门带来许多工作上的便利,办公室要不断的加强对于办公自动化的应用,了解办公自动化的相关功能特点,提高办公效率,促进智能化办公操作,整体提高相关部门的运作效率,降低成本,促进信息的有效性传播。有选择性的将计算机信息技术融入到办公自动化的中去。本文就计算机信息技术融入办公展开探讨。 关键词:办公自动化;智能化办公;计算机信息技术 随着信息社会的快速发展,科学信息技术的有效提高和大范围的应用,各个生产部门和相关社会团体对于计算机信息技术的应用也逐步熟悉。计算机信息技术融入到办公室自动化中有力的提高了办公效率和综合竞争力。为了平衡管理有效的提高部门的办事效率必须不断的对计算机信息技术融入办公室自动化这一应用进行思考。 1办公自动化现状 办公自动化是对于办公系统的简称。通过计算机信息技术加快办公处理效率,将一些繁杂的工作程序进行相关的机械操作,缓解人力压力,提高办公效率。计算机信息技术可以有效的提高在现代化快节奏信息高速化发展下的信息压力,迅速有力的传达相关信息,便于信息的大数据融合和查询。 2计算机信息技术融入办公室自动化带来的便捷 2.1提高了管理效力 办公地点不再局限,实现了多地办公,只要有互联网哪里都能够办公。工作人员可以通过计算机信息技术进行信息的有效读取和处理,提高了办公效率。工作人员可以通过互联网、智能手机的广泛应用了解到相关的政府政策与行业有关的最新信息及时制定相关的应对措施推动企业的发展。高层管理人员更好的进行信息决策,有利于公司企业的整体性决策管理。更好的利用时间进行办公,高速的信息传播,各部门可以及时的收到相关文件和通知,提高时间利用率。 2.2加快了信息传播速度 计算机信息技术融入办公加快了信息传播速度。相关的办公平台将更加有利于部门成员进行工作交流,提高团体协作性,更高效进行办公。及时有效的掌握信息也意味这掌握了先机,更好的提高企业的竞争力,有利于企业的发展。 2.3扩大信息储备空间 传统的办公模式的资料形式一直都是纸质资料,这种保存方式比较容易遗失且保存的容量较小且易受周边环境的影响。纸质资料的保存难度较高且查找也不方便。而计算机信息技术运用到办公中则大大的扩大了办公信息储备空间。资料的保存方式发生了巨大的变化,由纸质变为电子信息数据,储备的空间也急剧加大,更方便了工作人员的查询。相关部门可以将数据进行系统性的整理,各部门将信息数据相互整合组合成巨大的工作数据库。而随着信息不断的数据化,对于企业无形资产的保管要求也会越来越高,需要保证数据安全,保证企业的合法利益。 2.4降低成本 有利于办公成本的降低。在传统的办公中,办公人员间一般是通过电话进行交流,这样无形间增加了办公成本。而计算机技术的应用可以很好的解决这个问题。可以利用电子通讯技术进行交流,例如,电子邮件、微信、论坛等网络信息传播方式。 3计算机信息技术在办公自动化应用中的发展趋势 3.1不断提升办公系统的智能化水平 随着信息大爆炸时代的来临,业务的不断发展和扩张,用户使用办公系统时将会面临更加复杂的问题和数据。为了适应这种变化,需要不断的提升办公系统的智能化水平。利用一些新型的办公软件进行信息处理,将智能的信息软件进一步融入到办公自动化中,使办公软件可以智能地处理一些分析工作,继而提高用户的工作效率和工作质量。于此同时对工作人员也提出了更高的要求。工作人员需要不断地更新自己的知识储备库,学习新的办公软件操作技巧,提高工作效率。下面对公司运用ERP系统开展办公自动化进行简单的举例。我国南部的某公司在运用过程中,组织架构比较简单,集权式管理现象比较严重,公司的发展阶段出现了一定的停滞。之后,公司在决定引进ERP系统进行自动化管理,在使用的初期,由于对ERP的不熟悉,走了一些弯路,不过总体来说算是成功上线。接下来公司决定加大对ERP项目的投入使用,聘请有关专家对ERP的使用进行系统的培训,从公司的管理层,到普通员工齐心协力,最终完善了系统的管理,提高了公司的运营效率,公司整体的经济效益提高了40%左右。由此可见,当信息技术很好的融入到办公自动化系统之后,对于整个企业的发展都可以起到良好地促进作用。 3.2无线化趋势加强 现在办公系统的无线化趋势越来越明显,特别随着4G无线技术的发展,对于空间和时间上的限制进一步的放宽,整个办公自动化技术出现了新的发展趋势。在任何时间、任何地点,办公人员都可以加入到办公中,成为了最新型的办公形式。相信在不久的将来将会迎来5G无线技术的发展。 3.3信息技术影像化 如今视频的录制和压缩技术得到了很大的发展,信息技术影像化在办公中也越来越得到广泛的应用。首先,资料的影像化可以加深工作人员对于资料内容的记忆、掌握,对于客户可以达到更好地介绍和宣传作用。其次,影像化在视频会议上具有更好地应用,随着部门运转节奏的加快,所需开的会议也来越多。通过影像化,实现了与会者在不同地点的参会可能,并且可以将会场环境全面地收录,对于与会人员的想法形成清晰的表达。减少了与会者可能发生在交通上的时间和费用,大大地提升了整个办公系统的运行效率。 3.4办公系统差异化的出现 随着信息技术在办公化的蓬勃发展,办公系统的差异化现象也随之出现。在实际的工作中,由于各行各业的工作性质不同,工作环境不同,所以对于办公系统的需求也有很大的差异。在以前的办公软件中,差异化现象并不明显,很多部门采用办公软件后,发现只需要其中一部分的功能能够满足办公需求,这在一定程度上造成了办公资源的浪费。随着信息化技术的发展,现在很多办公软件都实行了需求化定制,即根据办公环境和具体的客观环境制定出满足公共需求的软件,这也是未来办公化发展的一大趋势。 3.5协同化发展 办公软件的数量越来越多,用户计算机中的软件也在为软件公司抢占用户,那么过多的办公软件鱼龙混杂,不但不会提高用户的办公效率,反而会污染办公环境。所以,未来的办公自动化将会利用计算机信息技术将不同的软件的分门别类,综合管理,最终形成一个集成系统,使其功能可以相辅相成,协同帮助用户解决问题。 4结论 在计算机信息技术的不断发展之下,办公自动化将高效的提升办公效率。对于部门与部门间的协调合作有着较大的帮助。要不断的加强对于办公自动化应用的重视程度,通过信息技术和办公自动化的结合更好的提升企业在数据时代的综合竞争力。 作者:张玉霞 单位:黑龙江省北安市妇幼保健院 自动化计算机论文:办公自动化中计算机信息处理技术分析 摘要:随着社会发展步伐的不断加快,新技术、新理念层出不穷,计算机等新兴技术得到了广泛的应用,给人们的生活带来了很多便捷,人们足不出户即可买到自己心仪的东西。当前计算机技术在各个领域都有所涉及,而且计算机信息处理技术已然成为办公自动化中重要的组成成分。办公室是为人们提供办公的场所,办公质量的好坏直接关系着工作效率的高低,对此通过对计算机信息处理技术在办公自动化中应用的探讨与研究,提高其使用效率,为人们创设高质量的办公环境。 关键词:计算机技术;办公自动化;探讨;研究 伴随着科技发展浪潮的不断推进,计算机等新兴技术以迅雷不及掩耳之势得到大力发展,在给人们生活带来便捷的同时也加快了我国信息化发展的步伐。近些年经济全球化的不断发展,使得国与国之间的交流也变得更加频繁,各大企业中的客户已不再单单是同城客户或者是全国客户,而是逐渐发展到了国外一些知名企业中,这使得企业的运营模式与工作方式表现出了动态化与分散性的特征。处在这种时代背景下,企业也应与时俱进、不断创新,改变工作思路,利用计算机技术实现办公自动化管理是企业首选,也是增强工作成效性的关键所在。 1信息技术与办公自动化 信息技术主要是通过对所获取的信息进行分析与处理的技术,信息技术不是单一的技术,它是集计算机技术、传感技术等于一体的综合性技术,也被称作现代信息技术。随着计算机技术的不断发展,办公自动化也随此应运而生,办公自动化是通过将计算机技术、通信技术等技术融合后而形成的综合体。借助现代高科技将真实的办公场景呈现在计算机设备上,由专业的工作人员全权负责。要想实现办公自动化,两个条件缺一不可,一是配备专业的人员;二是现代化设备。在设备的配备上一定要齐全,满足办公所需。纵观现在各大企业的办公条件,不难发现大都是使用计算机等现代化办公设备,并由专业的技术人员经过全程指导后开展相应的工作。 2计算机信息技术在办公自动化中的应用功能 2.1扩大和优化办公的区域环境 传统的办公室工作大都是工作人员准点上班,完成一天的工作,到下班时间陆续离开,对于一些身体残疾但却具备高技能的人才或者是孕妇来说由于身体方面的原因在应聘中会被企业无情地拒绝,但企业同时也损失了一定的人力资源。再加之若赶上加班时,员工不得不待在办公室而不能回到家中进行工作,这种情况会使得很多员工产生烦躁心理,工作成效性可想而知。随着计算机技术的发展,办公方式将变得更加灵活,工作人员不用每天按时上下班,而可借助计算机将所需完成的工作随时随地完成,不受地域、时间的制约。这种办公自动化模式也大大增强了工作的成效性,各部门信息之间的传递也能在第一时间实现,大大节省了一定的时间与精力。 2.2增强办公信息运用的实效性 处在信息日益发达的今天,对于企业来说效率就是金钱,知识信息就是企业得以长久发展的重要保障。因此企业为了更好地发展,在办公方面也应与时俱进,不断创新,帮助企业领导作出科学的判断。办公自动化近些年来受到了很多企业青睐,它可大大增强工作的成效性。网络如今已然变成了一种必不可少的通讯工具,借助网络这一媒介,企业领导可随时随地了解当前对于该行业国内外方面的现状,并及时了解员工多样化的需求。企业内部工作人员借助计算机软件办公系统查询相关有用的资源,大大节省了时间,提高了工作效率。 2.3提高企业无形资产的利用价值 传统的办公由于种种因素的制约,企业发展历程中所留下的资料信息采取纸质保存的方式,但在后期需要使用时查找起来非常麻烦,而且有的由于保管不当造成丢失等现象,给后期的工作带来了一定的影响。通过办公自动化技术的引入,可有效解决上述问题,企业可将信息储存在计算机中进行保存,当有需要时相关人员可直接点击查询寻找有用的资源。而且公司在正常运行中原有资料的保存对公司未来的发展也能起到一定的作用。 2.4尽可能地降低办公成本的输出 企业在办公过程中,各部门之间是紧密配合的,各部门的工作人员进行必要的沟通也是必不可少的环节,若采取传统的方式某部门的人员要与其他部门的人员相联系的话要走入该部门进行交谈,这样既耗费时间,又会降低工作效率。随着计算机技术的日益普及,各部门人员之间的沟通无须在跑动,而只需通过邮件等方式实现及时地交流,对工作中的相关问题做好协调,这样做一方面可节省大量的时间,提高工作效率,另一方面也能节省一定的办公成本,实现资源的有效利用。此外,通过办公软件的应用也可进一步规范工作流程,降低工作中失误现象的发生,为企业创造更高的价值。 3信息处理技术在办公自动化中的应用 3.1办公自动化中的Web2.0技术 处在信息大爆炸的21世纪,新技术、新理念层出不穷,这种新背景下对办公模式也提出了严格的要求,如何适应时代潮流,取得更大的发展是每个企业所面临的严峻挑战。基于信息处理技术的Web2.0软件被广泛地应用于现代化的办公环境中,与传统模式存在差异,Web2.0软件已升级成为一种新的商务模式交流平台,可根据用户的需求提供多样化的服务。现在的Web2.0应用软件不仅为人们提供了一定的交流平台,而且也拉近了客户与企业之间的距离,让业务之间的交流变得更加普遍。此外,Web2.0软件还具有较强的互动性,因此可实现用户繁杂的请求,使得办公自动化水平得到显著提升,为企业的发展提供了充足的保障。 3.2办公自动化中的B/S型结构 办公自动化中的B/S型结构也被叫作B/S模式,它是在网络技术的不断发展与壮大下逐渐兴起的。B/S模式的前身是C/S模式,后经过不断扩展而逐渐形成的。B/S模式一般由三层体系结构的C/S模式组成,首层的C/S模式是接口,它的作用是将用户与整个系统进行有效连接,借助相应的程度实现某种功能。第二层是后台的Web服务器,它的功能是按照首层所传递来的信息对其进行一定的加工与处理后进行自动回复,并将处理的最终结果通过代码传递到接口端浏览器的用户处。第三层是数据库服务器,它的功能是实现数据的即时保存与应用,数据库服务器与Web服务器相结合工作,数据库服务器能够从不同Web服务器上所接收来的指令进行有效处理后得以整合。在这种B/S型结构下,人们可借助IE等浏览页面进行办公。操作者可通过相关浏览器发送请求,服务器会针对具体的问题进行有效处理后并将信息及时反馈到浏览器中。B/S模式的优点列举如下:首先,可操作性强,当系统出现故障时维修也较为便捷;其次,能满足不同用户的多样化需求,完全不受时间、地域的限制;最后该模式对设备的要求也比较低,可随时更新,满足用户的要求,受到了很多企业的应用。 4未来办公自动化的发展方向 4.1无线办公环境 无线网络技术的发展打破了人们办公的地域限制,人们可以在任一时段、任一地点进行工作。企业的工作人员也不必每天都坐在办公室这个狭小的空间里,而是可以在户外、在家等其他地点都可以进行办公,这样既不会因为所处环境影响工作,也能够进一步兼顾到员工的工作与生活,从而提高员工工作的积极性。员工也能真切地感受到工作带给自己的愉悦。另外,利用无线网络化办公,可以对信息进行加密,从而确保信息的安全性。这种无线办公环境已普遍受到社会各界的广泛认可。 4.2工作程序的灵活化 通过计算机网络进行信息传输,使信息的时效性明显提高。同时网络化传输方式也使得人们对信息的掌握及处理变得更加多样化,传统发的纸质化传输方式只能传输单一的文字,而现在的电子传输既能传输文字,又能传输图片、语音、视频等多种媒体信息。 5结语 综上所述,信息技术的发展大大提高了办公自动化的效率,一方面使搜集的信息量增加,处理以及加工信息的能力增强,另一方面也能够建立健全信息系统,使人们可以更加快捷方便的掌握信息,也能够使信息流通更加顺畅。目前,电子化、信息化、智能化的高新科技已经逐渐影响到人们生活的方方面面,办公信息处理更是离不开计算机、网络等科学技术的发展。如今,办公自动化在企业管理模式中的推广和应用,使企业的信息化管理系统日趋完善,为企业模式改革提供了必要条件,并且也能进一步为企业获取更大的效益,从而使企业在激烈的市场竞争环境下能够处于不败之地。随着计算机技术的不断成熟与发展,办公自动化水平日益增强,其应用手段也逐渐多样化,因此,办公自动化对计算机信息处理技术的依赖性也将会愈发突出。 作者:李兴忠 单位:南通大学保卫处 自动化计算机论文:计算机信息技术融入办公自动化研究 摘要:在办公自动化中,部门要加强对办公自动化应用的重视,通过对办公自动化的了解,明确办公自动化的特点和职能,加强办公自动化的应用,促进办公自动化系统的智能化、无线化、影像化、差异化的提升,为整个部门的有效运行,降低运营成本,提高信息传播效率,提升部门效益做出保障。 关键词:信息技术;办公自动化;应用 随着科学技术的发展,计算机信息技术在社会的各个方面都发挥了重要的作用。在办公自动化中,计算机信息手段已经成了提高部门的运行效率,提升部门的综合竞争力的必不可缺的手段。文章将探讨信息技术融入办公化的发展现状和未来趋势,希望对于部门办公效率的提高起到帮助。 1办公自动化的基本概述 办公自动化是办公系统自动化的简称,在学术上,办公自动化还没有一个标准的定义,我们通过对基本内涵的研究,总结出一个具有共同认识的概述。办公系统自动化就是通过先进的计算机技术在办公系统中的广泛运用,将许多复杂的工作通过计算机等设备的运算,从而提高工作效率,减低运营成本的人机系统。随着网络技术发展的日新月异,在办公自动化中应用的设备和机器也更加趋向于创新化、智能化和效率化等特点,这些新式的设备的有效运用,促进了管理结构的优化,平衡了管理机制的配比,有效地提高了办公效率。 2计算机信息技术在办公自动化中的基本功能 2.1办公空间和时间得到了优化 在传统的办公中,一般都是在特定的时间和空间进行,办公效率比较低下。随着计算机信息技术的普及,在空间上和时间上都对办公效率产生了很大的影响。首先在空间上,由于计算机的应用和网络平台、数据库的建立,导致办公地点再也不用局限于某一个地方,甚至可以不在同一个城市,同一个国家,办公人员同样可以通过网络技术有效地传递信息,进行办公,这对于提升整个部门的运行效率,节约运行成本具有重大意义。同时,办公系统平台的建立对于信息的有效交流、人员之间的密切合作发挥了重大作用,办公人员可以通过办公系统平台对于信息进行有效的了解和传递。在时间上,计算机技术的应用可以有效地提高信息传递的时效性,保证信息在办公人员之间能够及时准确地进行传达,及时地收到部门下发的文件、通知等,极大地提高了时间的利用率,加快了企业的运行效率。 2.2信息的传播和使用效率得到了提高 现在,我们已经进入了信息时代,信息的传播效率直接决定着企业的发展,而计算机信息技术在办公自动化中更好的融合,对于及时掌握最新的信息,并从中筛选出具有使用价值的信息给企业提供决策依据具有重大意义[2]。办公人员可以通过互联网、计算机、智能手机的广泛应用,及时地了解到与行业有关的最新信息,了解政府政策,及时地做出相应的改变,从而推动企业的发展。同时在部门内部的信息传递中,员工也可以通过信息技术了解到部门下发的文件,通过数据库查询相应的办公信息,简化了大量的查询工作。 2.3无形资产的重要性得到了提升 在传统的办公模式中,纸质资料的保存一直作为部门资料保存的主要方式,这种形式的保存相对来说保存资料的包容性较小,保存环境要求较高,再次查询的效率较低。随着计算机技术的发展,部门在资料的保存上发生了很大的变化,通过计算机相关设备的存储,不仅存储容量大大增加,所占的空间急剧减小,而且对于再次查询也非常方便。同时,部门将采购、销售等信息通过数据库的收集,存入自动化办公系统中,相关的工作人员可以更方便快捷地通过系统获得相应的信息,这避免了纸质资料在传递过程中容易出现损耗等现象[3]。而相应地,由于办公自动化地广泛应用,无形资产的重要性越来越大,部门要对增加对无形资产的重视程度,确保无形资产在企业中的安全存储和有效使用。 2.4办公成本得到了降低 在传统的办公中,部门的办公人员的交流主要通过电话或者面对面的传达,这在一定程度上增加了部门的运营成本和人力成本。通过计算机技术在办公自动化中的应用,很好地解决了相关的问题,降低了办公成本。在工作中,要加强对电子邮件、实时通讯软件、论坛等网络信息传播方式的运用,减少纸张浪费现象,节约交流成本,优化部门机制,更好地调高办公效率。 3办公自动化的发展趋势 3.1办公系统的智能化提升 智能化的发展是整个社会的发展方式,在办公系统中,智能化的提升也越来越明显。由于现在信息的综合性和复杂性,办公人员现在需要处理的内部数据和相应的业务数据相比以前呈现几何级数地增长。而为了适应这种发展,办公自动化系统的智能程度也越来越高,各种相应的部门行政或业务软件应运而生。这大大提升了相应工作的工作效率,但同时对工作人员也提出了更高的要求,工作人员要学习相应的理论知识,增加新型办公软件的操作技巧,为办公自动化的发展做好准备。下面对公司运用ERP系统开展办公自动化进行简单的举例。我国南部的某公司在运用过程中,组织架构比较简单,集权式管理现象比较严重,公司的发展阶段出现了一定的停滞。之后,公司在决定引进ERP系统进行自动化管理,在使用的初期,由于对ERP的不熟悉,走了一些弯路,不过总体来说算是成功上线。接下来公司决定加大对ERP项目的投入使用,聘请有关专家对ERP的使用进行系统的培训,从公司的管理层,到普通员工齐心协力,最终完善了系统的管理,提高了公司的运营效率,公司整体的经济效益提高了40%左右。由此可见,当信息技术很好的融入到办公自动化系统之后,对于整个企业的发展都可以起到良好地促进作用。 3.2办公系统无线化的使用 现在办公系统的无线化趋势越来越明显,特别随着4G无线技术的发展,对于空间和时间上的限制进一步的放宽,整个办公自动化技术出现了新的发展趋势。在任何时间、任何地点,办公人员都可以加入到办公中,成为了最新型的办公形式。 3.3办公系统影像化的发展 如今视频的录制和压缩技术得到了很大的发展,信息技术影像化在办公中也越来越得到广泛的应用。首先,资料的影像化可以加深工作人员对于资料内容的记忆、掌握,对于客户可以达到更好地介绍和宣传作用。其次,影像化在视频会议上具有更好地应用,随着部门运转节奏的加快,所需开的会议也越来越多。通过影像化,实现了与会者在不同地点的参会可能,并且可以将会场环境全面地收录,对于与会人员的想法形成清晰的表达。减少了与会者可能发生在交通上的时间和费用,大大地提升了整个办公系统的运行效率。 3.4办公系统差异化的出现 随着信息技术在办公化的蓬勃发展,办公系统的差异化现象也随之出现。在实际的工作中,由于各行各业的工作性质不同,工作环境不同,所以对于办公系统的需求也有很大的差异。在以前的办公软件中,差异化现象并不明显,很多部门采用办公软件后,发现只需要其中一部分的功能就能够满足办公需求,这在一定程度上造成了办公资源的浪费。随着信息化技术的发展,现在很多办公软件都实行了需求化定制,即根据办公环境和具体的客观环境制定出满足办公需求的软件,这也是未来办公化发展的一大趋势。 4结束语 随着计算机信息技术的发展,办公自动化在整个部门的运行中所起到的作用越来越大,对于整个部门的组织结构的改善,制度制定的合理都有很大帮助。部门要加强对办公自动化应用的重视,通过对办公自动化的了解,明确办公自动化的特点和职能,加强办公自动化的应用,促进办公自动化系统的智能化、无线化、影像化、差异化的提升,为整个部门的有效运行、降低运营成本、提高信息传播效率、提升部门效益做出保障。 作者:梁大为 单位:斯塔万格大学 自动化计算机论文:计算机信息处理技术在办公自动化中的运用 [摘要] 计算机的出现和发展极大地推动了社会的发展和进步,人们在工作和生活的方方面面都能见到计算机的“影子”。当前,计算机信息处理技术已成为办公自动化处理的重要组成部分。本文将从计算机处理技术的角度对办公自动化的影响和应用进行分析和阐述。 [关键词]信息处理;办公自动化;技术应用 办公自动化信息处理技术在办公过程中实际就是产生和处理信息的技术,当前社会经济的巨大发展,人们所需要面对和处理的信息和数据量也越来越大,传统的信息手段和技术已不能满足人们的工作和生活需求。随着计算机信息技术的快速发展,基于计算机处理技术和互联网技术的数字化办公信息处理技术逐渐在大众推广,办公自动化日益被人们所接受。办公自动化不仅有效提升了办公的工作效率,同时对工作管理决策提供了更加科学的平台和依据,因此,要重视计算机信息处理技术在办公自动化中的应用。 1计算机处理技术与办公自动化的关系 计算机信息处理技术是指通过计算机获取、传输、监测和处理分析的信息技术,能有效对获取信息进行控制和管理。主要是由传感技术、通信技术、电子技术以及互联网技术构成的。办公自动化的产生和发展正是基于计算机技术和互联网技术的发展而形成的,通过将计算机技术、互联网技术结合通信科学技术让人们在进行办公活动时能使用办公现代化的技术和设施对各项办公活动进行方便快捷智能处理,是办公人员和办公技术设备共同组成的处理系统,在办公处理时必须要处理软件和硬件都齐全完好。办公自动化这项综合办公技术在发达国家兴起于20世纪70年代中期,而在我国的出现则相对较晚,但是经过数十年来的不断创新和发展,办公自动化从最开始只能在办公过程中扮演辅助角色提供辅助作用的办公产品向着能系统操作大型工程项目产品的方向靠拢。而随着办公自动化和智能化的实现,办公管理和操作决策的科学性大大提高。 2计算机信息处理技术在办公自动化中的应用 有效扩大办公管理区域,优化办公处理环境。在传统的办公室处理工作和业务中,往往会受很多客观条件限制。比如说办公的时间、办公的空间、办公的场地条件等,这就导致了在办公室处理中难以发挥出作用,浪费时间和人力物力。随着计算机信息处理技术的使用,有效改善了这种办公客观条件的限制。这样在日常处理事情和办公时就不再局限于在楼房、在房间内,可在任何地方、任何场所实现办公,这样使得办公的区域和环境得到明显优化。而且,办公人员的办公操作也不需要进行单纯的手工操作了,而是可通过计算机和网络技术,实现机器操作和人工操作相结合,形成良好的人工机器办公系统,使得办公模式实现办公自动化管理。这样通过计算机信息处理技术,能使得相关单位、相关企业、相关部门有效实现资源共享,更加完善彼此之间的分工协作,大大提升了办公效率。在未来的日常办公管理中,办公自动化会成为发展的趋势和潮流。能简单及时快速地满足信息资源的检索需要。当前,信息化高度发达,在新信息时代,尽可能地了解最新社会经济动态、随时掌握最准确的数据信息能对生产营销提供判断并作出科学合理的决策,网络结构的四通八达能让各项信息和资源数据的检索更加方便快捷,摆脱了办公时间和空间的局限性。通过在办公部门建立数据信息库,对于办公的文件档案进行规范化和系统化管理,在数据信息库中通过多种形式的存储形式像文字、声音、图像等方式进行存储。办公人员在需要信息和数据的时候就通过数据信息库进行系统检索,由于检索包含了各种存储形式,这样在进行办公信息处理的时候就可选择不同的方式和呈现的效果检索,满足不同的检索需求,在数据信息库中可查询过往的存储文件。同时,还可借助互联网技术了解和掌握第一手的信息和动态,对于办公人员所需要的各种有效信息,都能通过互联网及时得到,有利于提升办公决策的准确性,有效提高办公效效率。 3计算机信息处理技术在办公自动化的未来发展 随着无线通信网络技术的发展,无线通信信息处理技术在办公自动化画的应用也在逐步推广。通过无线网络办公的形式,能让办公更加多元化,办公设备更加便捷化,只要有无线通信数据的传输,办公人员就能实现办公,无论是在机场、酒店、公园、家中都能进行。而且,办公设备也更加先进,像平板电脑、手机等等都成为新一代办公自动化管理设备。在办公信息和数据传输上,未来的计算机信息处理会更加快捷和迅速,而且不仅仅局限于简单的文字、声音,还包括视频、录像、实时传输等等,在文件形式上更加丰富,而且通过云语言等现代存储平台能实现永久性保存。 4结语 由于计算机信息处理技术的发展,对于办公自动化的应用程度和广度都不断提高。因而,要进一步完善计算机信息处理技术,将计算机处理技术与其他信息技术进行有效结合,更好推动办公自动化发展,提升企业和单位工作效率。 作者:周洪 单位:淮海工学院 自动化计算机论文:办公自动化对计算机信息处理技术的应用 自从进入二十一世纪以来,计算机的普遍应用加快了社会发展的进程。人们每天面对的信息量也在不断增加,传统的信息处理手段已经不能适应信息传递的需求,办公室自动化系统是在信息处理技术上的改进,不仅改善了传统的办公信息处理模式,也提高了企业的办公效率,已经逐步成为企事业单位的一种办公手段。 1办公自动化的概述 目前,由于经济全球化的影响,我国很多企事业单位的业务和客户已经不再局限于同一个区域,而是遍布世界的各个角落,为了实现公司业务的正常运营,办公自动化系统在科技发展的依托下也应运而生。根据公司的运行模式和工作性质可以实现工作人员之间的在线实时交流。比如召开在线工作会议、商讨公司运行方案以及安排会议进度等。办公自动化,就是利用计算机网络的信息处理技术,结合办公人员的手动操作,实现公司复杂业务信息的快速高效传达,简单来说,就是一个科学合理的人机系统。新型的办公自动化模式,可以通过计算机信息处理技术将公司的人员档案、内部文件、业务明细等进行信息的统计处理,然后存储在公司的运营系统中,并且还可以连接复印机、打印机以及电话等办公设备,达到计算机的高速操作整合,实现公司业务的高效率完成,也节省了大量的人力物力。 2办公自动化中计算机信息处理的主要应用技术 2.1B/S型结构的应用 随着互联网技术的不断发展,传统的S型模式也过渡到了现代的B/S型结构。一般而言,B/S型结构的使用比较简便,对计算机设备的要求也不高,办公人员只需要安装一个相应的服务器和数据库,不需要拥有深厚计算机知识就可以进行办公操作,并且B/S型结构的运行和后期维护也较简单,比较适合办公人员的自主操作,但是这种模型结构对网络环境的要求较高,如果网络突然中断,就会直接影响到计算机系统的运行。 2.2Web2.0技术的应用 Web2.0技术可以满足网络时代下信息量的快速更新,改变了传统办公的单一化模式,主要应用于现代商务模式,通过采用丰富的服务器内容为电子商务开发新的业务交流平台,改善了办公自动化的水平,实现与客户之间的沟通互动,避免由于时间、地点的差异带来的交流障碍,提高公司的业务洽谈率。 2.3视频技术的应用 随着科学技术的发展创新,网络视频的应用也逐渐成为了办公自动化的一部分,特别是办公自动化中的视频会议应用,在今后的办公模式发展中必将引领自动化的办公潮流。通过视频会议的开展,可以实现办公人员与客户的随时随地交流商讨,也可以满足员工与公司领导之间的交流互动。另外无线视频技术的广泛应用可以帮助交通管理部门对道路交通进行实时监控,全方位的了解道路上的车辆运行情况,可以减少事故的发生。办公自动化的视频技术应用也可以降低企事业办公的资源浪费,提高工作人员的办公效率。 2.4无线办公系统的应用 科技的发展在不断的改变着我们的生活,手机经历了从E网到G网,再到2G、3G以及现在的4G网络,可以看到互联网的发展创新更新速度之快。相应的办公自动化系统也将面临不同的改革,无线办公系统可以使人们摆脱传统的工作模式,实现工作与娱乐相结合的网络办公模式,带给企业和员工全新的工作体验,以更大的工作热情投入到办公自动化的无线办公模式中,为企业的发展创造更高的利益价值。 3计算机信息处理技术在办公自动化的应用 计算机信息处理技术在办公室的信息处理上具有很大的优势,办公室的业务大多数是各种信息资料的处理以及相关文件的传达,如果依靠传统的人工处理,将会给工作人员带来极大的工作压力,但是现代的办公自动化已经可以摆脱传统的办公模式,通过将办公自动化的应用设备与办公人员的结合,合理完成办公信息的整合与传送,不但节省了办公成本,也在一定程度上优化了办公人员的合理分配。 3.1优化办公环境 在办公自动化应用还不普遍的年代,办公室的办公业务由于受到各种条件的限制,无法实现办公业务的及时完成,特别是时间与空间的因素,往往造成办公业务的拖拉,无法形成高效率的办公模式。随着经济的全球化发展,使办公业务不得不结合科技的发展,形成办公模式的新改革。通过采用计算机技术在办公自动化中的应用,摆脱了以往办公室业务工作模式的僵化现象,可以实现在任何时间、任何地点的办公,并且能够及时分享公司各种规定通知以及业务文件,极大的优化了现代办公环境,建立以网络为基础的办公平台,促进员工之间的交流,提高工作积极性。 3.2提高办公效率 信息是企业成长的重要基础,随着互联网的快速普及,促进了信息时代的来临。通过对相关信息的及时处理,可以使企业在第一时间了解行业动态,以便迅速做出相应的应对策略,信息的价值实现需要通过公司办公人员的快速推送和完善筛选,这就必须采用高效率的自动化化办公模式。办公效率的优化离不开计算机网络的应用,并借助办公人员的正确操作,对网络平台中出现的信息及时筛选处理,为公司领导层的决策争取更有利的依据,并在时间上有了较大的控制权,进而提高了企事业的办公效率。 3.3降低办公成本 传统的企事业单位办公成本往往存在着各种各样的资源浪费,比如,员工之间的交流和日常业务会议的开展都需要进行面对面的交流,在公司内部问题的交流会议中就会浪费大量的纸张,也相应的占用了工作人员的工作实践,这在无形之中增加了纸张费用和时间成本,而利用计算机信息处理技术就可以在一定程度上减少这种浪费,比如,当前的通讯交流平台形式也是多种多样,包括QQ、MSN、微信、论坛等,很多流行的交流通讯工具都是免费使用的,并且这些交流平台不仅可以带动员工之间的交流积极性,增加工作的乐趣性,也会很大程度上减少纸张浪费,节约了办公人员的时间,提高了办公流程的高效率运行。基于计算机信息处理系统的办公自动化系统,具有强大的储存和运行功能,企事业单位可以将单位内部的重要业务资料以及信息数据等整合到一个办公信息系统中,通过这种统一的集中处理,并且有清晰的目录标注,可以为相关信息的查阅提供便利,并且也能实现公司无形资产的完好保存,使重要的信息资源得到合理利用,为公司未来的发展打下良好的基础。 4结束语 随着计算机网络的快速发展,信息处理技术也在不断的改革进步,使办公自动化在现代办公环境中的应用成为一种必然趋势。办公自动化对计算机信息处理技术的应用,不仅可以提高办公效率,优化办公环境,还可以在一定程度上降低办公成本,优化公司的无形资产,促进企事业单位的长远发展。 作者:董晓娜 单位:内蒙古商贸职业学院信息技术系 自动化计算机论文:办公自动化中计算机信息处理技术的应用 现代社会,信息交流愈发频发,对于办公室信息处理也由传统方式向新型方式转变。计算机信息处理技术将庞大、冗杂的信息通过计算机技术、网络技术以及通信技术等手段,形成规范的数据表,省去了人工操作环节,同时在精密计算体系的支撑下,也有效地避免了信息记录错误的发生,提高了工作效率,保证了工作质量。随着办公自动化和数字化的普及,计算机信息处理技术也得到了更为广阔的发展空间,因其在实际工作中能够发挥积极的作用,所以,得到了广泛的应用。 1概述 办公自动化是以计算机为中心开展起来的人机结合的工作模式,通过利用现代化办公设备,采用科学的管理手段以实现办公自动化。在办公自动化运行过程中离不开人和信息系统两大要素。办公室是开展工作的场所,而办公自动化需要遵循以人为本的原则。在计算机信息技术应用到办公环境当中后,实现了成本节约、提升工作效率的目的,为企业的良好发展创造了有利的内部环境[1]。办公活动需要多种要素支撑,如办公人员、办公环境、办公制度、办公设备、技术工具等,各个要素之间的协同配合,形成了流程性的办公活动。人作为办公活动的主要实施者,在办公活动要素中占有重要的位置。办公活动中因个人的职能不同,所以,在办公过程中所需要的办公设备也会有所不同。随着计算机技术的广泛应用和网络的普及,办公场所和设备不断更新换代,让人们之间的空间距离愈来愈近。在网络时间空间覆盖的局面下,人与人,人与单位,单位与单位之间的信息交流更为快捷,这是现代科技给人类带来的创新。在办公自动化环境中,办公人员通过先进科技手段所创造的经济价值将成为各企事业单位发展的主要能源。办公自动化处理的是办公收集和接收的各类信息,在办公实现自动化以后,这些信息将通过现代计算机技术进行分析和整合,为企事业单位完成日常工作提供了更为便捷的方法[2]。为了确保信息处理的有效性和及时性,计算机技术中的自动约束机制的出现有力地保证了办公制度的实施。在信息化社会,办公自动化已经成为了当前企事业单位处理日常工作的一项重要手段,并在科技的支撑下逐渐扩大自身影响,以形成一种主控的局面。 2办公自动化应用现状 随着科技的发展,办公环境的改善,办公自动化也已经成功实现。在办公自动化施工的过程中,因客户的需求不同,且信息化软件建设的不断更新,致使办公自动化在运用的过程中出现了一些问题,这些问题的存在对企事业单位的发展是极其不利的。 2.1自动化办公系统的实用性不强 一些自动化办公软件在开发之初就将综合能力视为重要内容,因此,在功能上虽然有较为突出的个性,但却忽视了客户的实际需要,从而使软件得不到良好的应用。 2.2缺少针对性 很多软件在研发办公自动化软件过程中,采用“群件平台与适当定制相结合”的研发模式,但从实际情况上看,这种研发模式并没有得到很好的推广,很多生产商还是采用统一的模式,鲜少有定制,因此,只能满足用户的一般需要,而对其他使用需求就需要另行处理[3]。除此之外,软件模块的通用性不足,无法针对用户需求的变更而进行一般的处理也是自动化办公系统无法寻求到更为广阔发展市场的重要原因之一。软件模块的通用性不足,对非通用性不具备处理能力,因此,软件的利用率就会降低。 3办公自动化中计算机技术应用 3.1强化办公自动化管理体制 现代企事业单位对办公自动化计算机软件技术的资金投入较少,这是因为办公自动化计算机技术不能产生直接的经济效益。从多数单位对计算机硬件和软件的资金投入上可以看出,计算机操作者所掌握的计算机技术并不纯熟,只能应付一般的信息处理工作,无法就难点问题进行处理,从而降低了工作效率[4]。单位内部计算机操作人员计算机技术运用能力上的欠缺,一定程度上反映出了对计算机技术重视程度不足。另外,在计算机技术应用软件的选择上,因对实际需求了解不足,同时国内研发的软件价格昂贵,所以,很多管理者将关注的焦点放在价格上,而忽视软件的实际效用。从计算机软件在办公自动化的应用中可以看出,所产生的隐性效益是十分可观的,为此,企事业单位管理者要充分地认清计算机技术在发展中所起到的隐性作用,同时在计算机软件的选择上,要从实际需求出发,选择一款合适的应用软件才对推动办公自动化进程具有重要的作用。 3.2为办公自动化提供专业服务 目前,各单位计算机专业技术人才的专业素养从实际工作效果上看,还有待提高。因单位类型不同,对计算机技术的应用要求也会不尽相同,所以,从业人员的专业素养从基础上就存在着差异,这种差异是不可调和的,只能靠后天的努力去弥补[5]。就目前各单位计算机专业人才所具备的素养来看,普遍存在着应用理论和方法掌握不足的现象,这必然会对办公自动化的推进形成极大的阻碍。作为办公室计算机技术人员,为了确保计算机运行安全,可通过安装瑞星杀毒软件、设置防火墙、修补漏洞等手段确保计算机运行处于良好的状态。从专业层面上看,各单位计算机专业人员还要与时俱进,不断更新专业知识,从而维护办公自动化成果,并借助原有条件创造出对企事业单位发展更为有利的办公自动化环境。 3.3文档自动化管理 办公活动的一项重要内容是对各类信息进行收发和整理,在计算机的辅助下,这项办公活动变得更为简便和快速。就单位办公档案管理而言,运用计算机技术,可以实现网络浏览文件的可能。档案管理人员根据自身实际工作需求设置工作流程,对于档案的使用情况以及在使用后出现的变动进行及时地保存,可为以后使用提供便捷服务[6]。档案管理人员在收到档案以后,要在电脑里做好档案信息登记,并将其发送给承办人,最后保存归档文档。归档后的文件可以根据保密级别,由管理人员设置查询权限,查询文档工作可不定期执行,以确保文档信息没有被盗用。在整个文档管理过程中,因计算机的参与,使文档的收发和整理实现了自动化,这也预示着计算机技术会电子文档取代纸质文档,进而实现企事业单位文档自动化管理。 3.4工作流程自动化 现今,很多单位对计算机构建的网络系统并不陌生,并且在实际工作中大力推崇,这是现代企事业单位自身发展的需要,同时也是社会对企事业单位发展提出的新要求。单位内部构建的信息交流平台已经成为了内部信息流通的重要渠道。单位内部的信息平台,可以让员工及时地了解单位动态,同时还能开展培训工作,为实现内部资源共享,以及建立良好的企事业单位形象提供条件。计算机技术在办公自动化中得以良好的应用,不仅可以对整个办公流程进行实时监控,同时还能及时地协调各部门资源,以使整体的运转处于稳定、健康的环境。 4发展趋势 计算机技术随着用户需求的不断增多,将面临着新的挑战,而应对挑战的唯一方法就是变革。从实际发展上看,计算机技术的革新将向着智能化、系统化、微型化和高速化的方向发展,其发展速度将影响办公自动化的进程。就目前计算机技术而言,网络技术发展快速,由此可推断出办公自动化将具备网络计算机技术的发展特点。随着计算机技术提供的服务功能的增多,人际互动会话将成为一种新的办公自动化形式,具体体现为以下几个特点。 4.1视频技术得到广泛的应用 随着互联网技术的普及和研发,计算机视频技术会在办公自动化中得到广泛的应用,如视频会议,与会者可以通过摄像头清楚地表达自己的想法,同时组织者也能通过视频了解现场情况。随着计算机技术的革新,未来办公自动化视频会议的举办将会成为一种常态的议会模式。 4.2无线办公环境 网络的全面覆盖使得网络的利用效率得到了明显的提升,而网络办公也将成为一种新形式的办公方式。员工可以随时随地通过计算机进行网络办公,不受办公环境的束缚。为了保证办公信息的安全,企事业单位可以根据使用权限设置应用等级,这种借助现代网络开展的办公形式可以提高工作效率,为优化办公环境创造了条件。 5结语 信息时代的到来,给企事业单位的发展提出了更为严峻的考验,为了获得有利的市场竞争环境,及时地掌握市场动态是很有必要的,而网络这一有力的平台为各单位提供了便捷途径。目前,办公自动化对各单位的发展所产生的潜在影响已经得到了人们的认可,但从计算机技术在办公应用的情况上看,还存在着很多不足,这些不足将影响办公自动化的进程,为此,企事业单位要对计算机技术在办公自动化的应用予以重视,通过采取相应的手段,以提升办公自动化的实际效用。 作者:丁一 单位:南京市秦淮区人民检察院 自动化计算机论文:计算机信息处理技术与办公自动化研究 随着计算机和网络技术的飞速向前发展,数字化信息处理技术通过网络平台逐渐在全世界各行各业得到了广泛的应用。这种应用在最大程度上提高了各个单位的办公效率,让办公形成了自动化和实现了办公做出最快决策。 1计算机信息处理技术与办公自动化 计算机信息处理技术不是一般意义上的技术,它是复杂、新型、科技含量特高的一种技术,在输入、输出、检验、处理、分析、应用等方面是不可替代的技术。使用该技术就能很容易地对繁琐的信息进行快速的处理和管理,它的另一个称呼也叫做信息和通信技术。而基于计算机网络技术发展起来的办公自动化是一种新型的现代化技术,它主要包括计算机技术、网路通信技术、行为科学、组织科学等。办公自动化的集中体现就是由技师和现代化设备及人机处理系统共同合作,将现实生活中的办公活动真实的展现出来。凡在使用办公自动化系统的地方,人和相应的机器设备的配合缺一不可,当然也必须具备相应的软硬件设备。 2办公自动化和信息技术 如今中国的办公自动化虽然与先进国家的差距不大,但要对管理组织结构做N次优化,对管理体制再做反复调整,对协间办公能力做进一步增加,对一致性决策做深入强化,以提高办公决策效能效率为目标。 3计算机B/S型结构和Web2.0技术 计算机B/S型结构设计为三层体系结构C/S模式。第一层是客户机,它是连接客户和系统的接口。客户只要操作一个通用的软件公司的浏览器软件即可,如IE等。利用浏览器,可以将HTML代码转换成有一定教互功能的网页。用户然后在网上的申请表里填写相关信息,提出处理请求,再提交给第二层的Web服务器做进一步的处理工作。作为第二层的Web服务器,随即启动程序,生成相应代码,回应用户请求,将处理的结果反馈到浏览器上。客户机上的请求如果还涉及到数据存取的问题,Web服务器还要协同数据服务器,最后完成这一处理过程。接下来就是数据库服务器及第三层。由于不同的Web服务器,会发出不同的结构化查询语言的请求,所以数据库服务器的任务就是负责协调工作,从而管理好数据库。由于B/S结构的通信结构对所有客户端进行了科学整合,然后将系统的开发、维护和使用再做简化,系统功能的核心部分最终集中到服务器上,所以客户机就可以简单化了,浏览器上仅仅安装一个SQLServer数据库即可。前端机的配置极其简单,用户操作浏览器没有任何难度,前端机界面丰富,客户基本不用维护,程序分发明了、更新维护便利。通过WebServer和数据库进行数据交互,电子商务的应用就可以轻易地进行跨平台布置,还可以在局域网和广域网之间进行协调。我们的工作方式是随着信息流通量的迅速增大而改变的,否则就不能适应商务领域的高速发展。某大型的计算机软件公司提出的Web2.0全新的未来办公室概念,指的是交流的开发平台及服务器以及各种各样服务新的商务模式,它在很大程度上超出了单纯的软件范畴。基于多点链接,可以为广大办公人员提供更为便利的和综合的服务。生活在互联网信息时代的一代新人,在这样的大环境下,建立起来的生活和工作方式必将与此不同,以适应信息时代的需求。 4办公自动化未来 众所周知,计算机信息处理技术的飞速进步,促动了办公自动化的发展,犹如洪水猛兽一般势不可挡。但是,我们分析一下计算机和网络技术的发展态势,未来的办公自动化起码将会有以下三个特点。 4.1视频技术 现如今,视频技术在世界大多数地方得到普遍应用和推广,如视频会议等。会场安装摄像头,不仅能够使参会人员表达自己的观点和思想,还能够看到会议现场的每一角落所发生的点点滴滴,还能够进行“面对面”讨论和交流。它的好处就是取消了参会人员在差旅途中所花费的时间,提供了一个参会人员之间的信息交流平台,从此传统的信息交流模式不复存在。无线视频技术的不断提高,必将会使办公自动化一步步走向成熟。 4.2无线网络 wi-fi技术让网络通讯迅速的在办公领域兴起。办公人员的通讯设备中只要配备计算机网络,即使走出传统的封闭式办公室,到办公室以外的任何地方去都能办公而不耽误时间。此外,单位内部信息安全需要得到保障,因此不同单位可以设置不同的应用级别,设定不同的处理优先权,前提是要依据不同的使用权限而定。无线网络极大地改善了办公的环境,提高了办公的效率。 4.3工作程序 纸质文件与电子文件传输的速度不能相提并论。电子传输除了能够传输文字以外,最惊人的是还能够传输音频和视频,并且还能够将文件做永久的保存,还不占空间。 5结语 计算机信息处理技术实现了办公自动化,让办公信息处理更加迅速、准确。它可以高效能、大容量地收集和处理价值文件信息并对其进行更加完善的管理,助办公人员一臂之力,对于单位任何管理系统的全面情况让办公人员都能掌控,并及时提供数据参考去应对下一步决策。随着计算机信息处理技术在各个领域的参透,实现所有单位办公自动化的梦想指日可待。办公自动化与多媒体技术、信息技术的有机融合,为科学管理和决策服务提高了工作效率。 作者:王红 单位:江苏省淮安市楚州中学 自动化计算机论文:计算机软件工程项目自动化管理 当前时代属于信息化时代,随着当前计算机技术飞速的发展,软件工程项目的开发也越来越受到人们的重视,软件开发人才不断的增多以及软件项目工程开发量不断的增大,导致了软件开发工程中出现的问题也越来越多,要是不对其加强科学管理,随着时间的积累对软件工程的未来发展前景都会造成非常不利的影响,所以说,提升软件工程项目开发的自动化管理是当前必须受到我们重视的问题。 1计算机软件工程管理主要内容以及项目的特性 1.1软件项目工程开发的特性 在当前的计算机项目特性可以总结成以下几个方面:第一是软件项目的开发具备不可视性,软件的开发属于一种不可触摸到的项目,要想真实感受到软件项目的真实有效性,这就需要通过专用的软件和针对性的测试方式来对其进行测试,这样才可以得知该软件是否真实有效;第二,软件工程具有不唯一性,在对软件工程试试开发和设计的过程中,其实并没有一个明确和标准的软件开发设计具体过程,软件的设计属于多样化的;第三,针对一些较为大型的和复杂的软件设计开发项目时,基本都是通过一次性设计完成的,因为软件的设计流程较为复杂,并且其研发的总工程量与开发的风险性相对较大,但是对软件工程的需求同样也是没有长期的稳定性。 1.2计算机软件工程开发管理的主要工作内容 因为计算机软件开发项目所涉及到的范围和方面比较广泛,所以增强计算机软件开发的管理是十分必要的。对计算机软件开发管理工作主要分为以下几个方面:第一,对实际开发和设计人员的有效管理。软件工程的开发和设计团队通常包含了项目总负责人员、高级管理人员以及初级软件编程人员等。初次之外,因为软件开发项目任务量的存在一定的差异性,因此经常会出现一人肩负多种职务的状况,而一个人人通常并不能精通软件开发的各个环节,造成任务完成的质量较低;第二,对软件开发质量的管理。对软件质量以及软件的具体配置的管理是非常重要的,齐管理的内容组要涵盖了软件编制整体质量、软件项目质量管理以及软件项目质量的掌控等方面;第三,是项目工程的风险掌控与管理。对计算机软件项目所存在的潜在风险进行有效的评估并且及时进行预防。 2自动化管理在计算机软件开发项目中的具体应用 2.1实际应用 在当前自动化管理技术中,通常可以运用可编程的控制器将较为复杂化的编程进行简单化,通过这种方式可以让计算机的整体性能得到非常大的提升。这种控制设施可以通过计算机基本技术作为基础,并且在此基础之上对智能化生产实施有效的管控,进而实现在实际工业生产中计算机的自动化管理。这种自动化管理技术的时机应用的范围相对比较的广泛,并且在工业生产领域当中得到了有效实现,自动化管理技术大大提升了工业生产以及工业建设的效率。自动化管理技术同样在软件工程项目开发应用当中同样也可以提升项目开发的效率。 2.2计算机辅助在软件工程中的实际应用 CAE我们称之为计算机辅助工程,其主要是通过计算机对相对较为复杂的软件工程实施计算,然后再对其实施有效性的检测。在计算机软件工程的开发过程当中,运用CAE可以对整体的工程项目有需要改动的部分进行及时有效的调整。在使用计算机辅助设计的过程中保证自动化设施操作的稳定性,再讲计算机的最终参数实施优化,再选择出最佳的调整方案。使用CAPP可以保证在软件产品的设计以及生产的过程当中,通过计算来替代人工对计算机的数据以及信息的处理操作,这样不但很大程度上节省了人工费用,并且对生产的成本也得到了有效的控制,从而保证了软件工程的整体质量。CAM可以将生产活动之前的设计方案和相关的信息转换成制造信息,再通过计算机数控的方式对产品的生产流程以及具体的包装过程实施检测,在出现问题的时候可以及时有效的进行调整。 3计算机软件工程在进行自动化管理过程中需要注意的问题 首先需要保证设备设施的完好,相关计算机检测人员需要对自动化设施进行严格的检测,然后在运用有效的方式对信息收集设施进行有效储存以及设备的有效调试。在进行设备自动化管理工作之前,首先需要对软件运行部分进行调整,其中需要注意的是对其具体的规格以及实际的性能进行检测,所采用的方式为人工检测方式,然后在对每一项设施实施必要性的调整。其次保证软件设备的正常运行。在使用自动化设备实施管理的过程中,需要对外来检测的软件进行必要的监测,必须要明确这些软件是否和本软件项目相吻合,是否可以软件项目中硬件设施相兼容等。除此之外,软件工程的检测人员需要对工程自动化设施和软件部分实施严格的检测,保证软硬件可以进行正常运行和配合,进而有效的保证了软件工程整体开发的质量。 结束语 本文主要是对计算机软件工程项目的自动化管理进行了分析和探究,通过本文的阐述可以看出当前计算机技术飞速的发展,软件工程项目的开发也越来越受到人们的重视,软件开发人才不断的增多以及软件项目工程开发量不断的增大,导致了软件开发工程中出现的问题也越来越多,要是不对其加强科学管理,随着时间的积累对软件工程的未来发展前景都会造成非常不利的影响,所以说,提升软件工程项目开发的自动化管理是当前必须受到我们重视的问题,做好计算机软件工程项目的自动化管理对我国信息化未来发展起到保障性作用。 作者:胡浩 单位:同济大学 自动化计算机论文:计算机信息技术下物流企业自动化研究 1基于计算机信息技术背景下的物流企业自动化系统 1.1物流信息系统层次结构分析 (1)基础作业层:主要是收集物流作业过程中的物流信息,存入系统数据库。 (2)数据处理层:对存储的数据进行分析和加工。 (3)计划控制层:包含运输过程中的车辆定位,运输路线的最优化选择,仓库作业计划,库存控制,检测信息系统的运行状况。 (4)管理决策层:在战略角度创建物流系统中各子系统模型。 1.2物流企业系统功能模块 一般情况下,物流企业系统功能模块主要可分三各子系统,即运输管理子系统,仓储管理子系统,订单管理子系统。自动化信息系统中基本的信息系统功能有数据交换,仓储管理,智能配送,货物跟踪,决策支持等。 1.3以计算机信息技术为基础的自动化系统 自动系统设施、设备种类繁多,由于篇幅有限,本文将简单介绍几种具有代表性的技术: (1)EDI数据交换技术。就是按照标准化的数据格式以电子报文的方式在络之间进行交换的一种数据交换技术。在供应链的模式下,各成员企业利用EDI进行信息传输方便,准确,高效,提高了工作效率。物流企业利用EDI技术实现物流数据单证的电子化,提高了物流设施设备的利用效率,加速货物周转率,以提高各户服务水平。 (2)条形码识别系统。条形码识别技术结合了符号识别技术,编码技术和计算机信息技术而形成的信息识别技术,它照一定的编码规则,用以表达一组信息的识别标识符。可分为一维条码,维条码和库德巴码等。条形码技术和EDI技术相结合应用于物流企业当中,使物流末端的信息采集和传输实现了现代化。 1.4射频识别系统 射频技术是一种非接触式的识别技术,其主要由射频标签和读写装置组成,具有寿命长,安全性高等特点,应用于移动目标的快速识别。物流企业利用RFID技术进行货物的适时查询和车辆的管理。其工作原理是将射频标签安装在车辆或者货物上,射频装置读取标签上的原始数据后转换为数据信息存入数据库。运输系统管理人员可通过数据库的信息查询到车辆行驶路线,货物信息等,行信息处理后合理地安排运输调度。其系统流程如图1所示:运用RFID技术物流企业可以高效的管理在途货车辆,适时掌握在途货物,提高企业的经营管理效率。 1.5物流系统的评价指标 (1)货物周转率货。该项指标是衡量货物周转的快慢程度,物流企业每天要处理大量的货物,其货物周转速度的快慢是衡量企业基本的经营效率的最基本的绩效评价指标。 (2)准时供货率。物流的目标就是在适当时间,在适当的地点,以适当的方式将适当的货物交给适当的人手中,即物流的5R理论。这里的适当的时间指的就是交付货物的准时性。 (3)单位物流成本。在物流系统论中系统中各个子系统的目标都要符合物流系统的总目标,单个子系统的优化并不能代表整个物流系统是最优的,因此各系统之间相互有效合理的组建,以达到物流总系统最优化。由于物流活动遵循二率背反的现象,一项物流成本的减少就有可能使另一项成本的增多,例如减少库存成本,就要增加货物的周转,就导致了运输成本的增加。 2结语 我国进入WTO以后国际物流企业已经进驻中国物流市场的竞争当中,要摒弃落后的物流思想观念,加大信息系统建设的投入力度,引进和培养专门的物流人才,物转变经营管理模式,利用现代高科技成果于企业的经营管理之中,提高企业的竞争力,是当下物流企业发展的重中之重。 作者:朱新哲 单位:菏泽医学专科学校 自动化计算机论文:办公自动化及计算机基础论文 1计算机基础及办公自动化教学的过程 1.1学习计算机的基础知识 随着时代和科学的进步,计算机在生活中的应用已经非常广泛,为了熟悉计算机的强大功能,必须熟悉计算机的基础知识。熟悉计算机系统的组成,正确了解计算机的特点和分类,了解计算机的发展史,从而让学生对计算机有所认识。到目前为止,计算机在生活中是无处不在,它被广泛运用到各行各业中。所以熟练掌握计算机知识是势在必行的。因此,在计算机基础及办公自动化教学的课堂上,首先给学生讲解计算机的基础知识,并尽可能地让他们了解计算机在生产生活中的重要性,分析掌握计算机技能的利弊所在,激发学生学习计算机的兴趣,让他们在计算机基础及办公自动化课程中有一个好的开始,才能为后续的学习奠定基础。另外,计算机基础及办公软件自动化对其他科目的学习也有一定的帮助,相关的计算机技术是具有一定的通用性的,教师需要把这些联系分析给学生,让他们体会到这门课程的重要性,才能保障他们投入更多的精力去听课、学习。 1.2基本操作技巧 计算机基础及办公自动化是具有相应的操作技巧的,在教学的过程中,要让学生掌握相应的操作技巧,才能保障他们日后熟练的操作。因此,在计算机基础及办公自动化的课堂中,教师需要给学生讲解基本的操作。例如:Word文档的启动、菜单的操作、文档的版面设计、图文的排版、工具栏的使用、文档的复制以及保存等,让学生掌握这些基本的Word操作,是熟练使用Word的基础。又如Excel的基本概念、工作栏的使用、工作表的编辑、函数以及数据的编辑使用、单元格的处理等,是熟练使用Excel的基础。还有幻灯片的制作、放映、图片背景的设置、背景音乐的设置、动画的设置等,都是PowerPoint操作的最基本要求。在教学的过程中,教师必须把这些相关的操作给学生讲解并示范,让学生对计算机基础及办公自动化课程的操作有了初步的认识。最后,还需要强调相应的快捷键的使用,提高操作的效率,为学生日后的工作提供方便。例如:Ctrl+A全选、Ctrl+C复制、Ctrl+V粘贴、Ctrl+S保存等,能够避免不必要的时间浪费,让学生逐渐适应快节奏的生活。 1.3注重计算机基础及办公自动化的实验课 计算机基础及办公自动化课程是一门偏实践的课程,即使学生掌握了相应的计算机知识,如果没有实践经验,也只能是“纸上谈兵”,不能够真正地运用到工作中。所以,在计算机基础及办公自动化的教学过程中,教师除了对相关知识的讲解,还要多给学生上机操作的机会,在确定学生对书面知识有一定的理解后,让他们在机房上机操作,既是对课堂知识的巩固,又能锻炼他们的动手能力。在学生操作的过程中,教师的任务就是不断地观察学生的操作成果,并及时地纠正学生在操作过程中遇到的问题,耐心教导学生正确的操作方式,既能增进师生之间的感情,又能引导学生不断努力。当然,如果学生的操作颇有成效,也会增强他们的满足感,体会到自身的价值所在,从而提升学习该门课程的热情,这对提高教学质量也是非常有效的。 1.4运用到办公自动化软件中 在21世纪这个信息爆炸的年代里,各行各业的办公软件都会用到计算机知识,各种各样的办公都会用到Word,Ex-cel,PowerPoint软件知识。所以,在学生熟悉掌握计算机的基本操作技巧上,让学生把这些知识应用在各行各业的办公软件中,让办公过程逐渐实现自动化,从而提高学生的实际动手能力,提高学生的工作效率。当然,办公上网也是必不可少的,在教学过程中,教师还需要提高学生的办公上网的能力,鼓励他们通过办公上网检索更多需要的信息,然后加工、处理相应的信息,不断增强他们的办公能力。 1.5教学评价 无论在何种课程中,教学评价是必不可少的,计算机基础及办公自动化教学也不例外,也需要相应的教学评价来提高教学质量。首先,教师需要对学生的学习成果以及操作成果做出评价,并设定相应的奖罚制度,激励学生更用心地学习。其次,教师的教学方式、教学水平等也是需要评价的,学生可以就自己的个性化特征给教师提适当的建议,确保教师在教学过程中尽可能地考虑到所有学生的状况,做到因材施教,提高教学的质量。 2结语 计算机基础及办公自动化的相关技能是时展的要求,一定要积极探索并设计出更有利于学生发展的教学方案,最大限度地提高他们的社会适应能力,培养信息化时代需要的人才,从而提高教学质量,为教育事业做贡献,也能保障学生为国家的发展增砖添瓦。 作者:周传婷 单位:江苏省南京工程高等职业学校
软件测试论文:嵌入式计算机软件测试关键技术初探 摘要:嵌入式计算机是计算机行业中一种比较先进的计算机技术。随着科学技术的不断发展,嵌入式计算机的使用范围也越来越广,在嵌入式计算机使用的过程中,能够有效地保证对需要的功能的实现。但是,由于嵌入式计算机软件的结构相对于其他类型的计算机来说比较复杂,这就要求我们要能够按照使用需要,及时对嵌入式计算机软件技术进行测试。文章根据现阶段嵌入式计算机与嵌入式计算机软件的概念,针对开发使用的技术进行分析,找出如何使用相关的技术对嵌入式计算机的软件进行测试。 关键词:嵌入式;计算机软件;测试;关键技术 前言 随着我国的工业不断地进步,科学技术的不断发展,嵌入式计算机技术也得到了很大程度的提升。我们身边普通的计算机并不是嵌入式计算机,嵌入式计算机指的是专门针对某一个项目或者是某一个行业进行开发的专业计算机。嵌入式计算机不仅仅能够实现对需求开发的功能,有效地提升工作的效率。嵌入式软件是嵌入式计算机中安装的软件,一般情况下,嵌入式软件都需要根据不同的工作需要,完成相应的功能,这就要求嵌入式软件要具备一定的稳定性,对嵌入式计算机软件进行测试,能够很好地保证嵌入式软件的正常工作。 1什么是嵌入式计算机 嵌入式计算机指的是针对某一种技术,或者是某一种网络、某一种功能等专门开发的计算机系统,利用计算机技术,加入嵌入式系统,能够实现对计算机硬件和软件功能的增多,能够更加适合实际运用的需要。嵌入式计算机针对某一种功能的需要进行开发,对开发的成本、功能的可靠性以及计算机的大小等因素,都有十分严格的要求。通过对计算机处理器、硬件、系统、应用等进行嵌入式技术的操作,能够更加有效地保证计算机技术的实现。嵌入式计算机大多被应用在工业生产中,能够提升工作效率,保证工作的质量[1]。 2什么是嵌入式计算机软件 嵌入式计算机软件指的是在嵌入式计算机中使用的软件,能够进行独立功能的操作,嵌入式计算机软件包括嵌入式微处理器、传感器、控制器、定时器、储存器等等。在嵌入式计算机中使用的电子芯片或是电子器件,将嵌入式计算机软件安装到嵌入式计算机中,能够有效地实现常规计算机不具备的功能,比如:实时监控功能、对设备的管理功能、数据处理功能、进行移动计算等等,真正地实现了现代化自动化的电子处理,是实现现阶段自动化与智能化的社会生产力的重要途径,嵌入式计算机软件就是自动化的核心部分[2]。我们可以将嵌入式计算机软件分为:简单嵌入式系统和复杂嵌入式系统两种。简单的嵌入式系统只能够完成一项功能,比较典型的简单嵌入式系统就是单片机。单片机通过ROM技术就能够实现对系统的使用,能够达到对程序控制的目的。复杂嵌入式系统的功能与普通的计算机系统功能并没有什么过大的区别,只不过在复杂的嵌入式系统中,安装了一些微型的嵌入式操作系统,以及嵌入式应用软件在计算机中,能够使计算机的功能得到相应的完善,这就是嵌入式计算机软件的作用[3]。 3什么是嵌入式计算机软件的测试 嵌入式计算机软件相比普通的计算机软件来说,更具有专业性,嵌入式计算机软件只能够在某一个制定的平台或者系统中运行。但是嵌入式计算机软件的开发环境与运行的环境还存在很大的差异,不能够使用同一网络环境。嵌入式计算机软件需要使用交叉开发的形式,在进行开发的计算机中,安装并运行开发工具,开始对软件进行编译,再将编译完成的软件通过下载的方式,将软件发送到目标计算机中,当开发计算机与目标计算机都有了嵌入式软件,就能够建立通讯连接,并且能够对软件下达命令、下载数据等等。两台计算机的操作系统不同,计算机的处理器也有着一定的差异,这样的方式会增加嵌入式软件开发过程的步骤,增加了开发步骤的复杂性[4]。我们将对嵌入式软件进行开发的计算机称为宿主机,对软件进行接收并运行的称为目标机。宿主机对使用开发工具,利用宿主机的操作系统对计算机软件进行开发,通过通信连接将计算机软件发送到目标集中,尽管这一系列的操作看似很简单,但是却需要强大的系统和硬件的支持。在这种形式下进行运行的嵌入式计算机软件开发的活动,一般情况下,宿主机都是我们平时工作生活中使用的通用计算机,也可以是开发微机或者是软件工作站等等。目标机与宿主机不同,目标机能够承载宿主机开发的嵌入式计算机软件的运行,将嵌入式计算机软件安装在目标机中,就能够实现嵌入式软件的功能[5]。 4对嵌入式软件测试关键技术进行研究 4.1对宿主机进行测试的技术研究 宿主机指的是对嵌入式软件进行开发的计算机,对宿主机进行测试的方式有两种,即静态测试与动态测试两种,这两种方式使用的是代码逻辑的方式对宿主机进行测试。4.1.1静态测试技术很多计算机软件开发的专家,在对计算机软件进行检测的时候,通常使用的都是人工检查的方式,由设计人员组成一个小组,小组的成员之间互相交流对软件开发使用了哪些程序、使用的是什么算法进行的计算,并交代设计数据与软件的模块之间有什么样的关系等。这样的方式虽然能够在一定程度上找出软件中是否存在相关的问题。但是,由于现阶段嵌入式计算机软件的结构越来越复杂,设计的步骤越来越繁琐,软件设计的规模也在逐渐扩大,这就要求在一款软件的设计过程中,可能会有很多的软件设计师、工程师等一起参与到软件的开发工作当中,每个工作人员的分工也大有不同,再使用从前的方式对软件进行检查,就会加重检查工作的负担[6]。这就要求我们,要根据现阶段的计算机软件开发的实际情况,找出最合适现阶段软件开发的检测技术,对原始的计算机软件的检测工作进行优化升级,能够使计算机软件的检查工作更加简便。在检查的过程中,加入适当的检测技术,先对整个嵌入式计算机软件的开发软件系统框图进行整理,并且对其设置自动连接的相关量,软件的源代码编程能够通过自动化技术进行查找。这样的方式能够使软件审查工作的工作效率有很大的提升,能够使验证工作的结果更加准确有效。我们可以通过静态测试的方式,得到软件中相关信息[7]。(1)软件的源代码程序绘制过程的逻辑图,以及对软件进行控制的工作流程。(2)软件系统完整的逻辑框图,系统内部关系调节的网络图。(3)软件程序运行的路径分析图。(4)软件生成的不同部分的显示图。(5)软件不同部分显示图的位置信息,操作的频率等信息。这些信息都能够在静态测试中得到实现,首先要使用静态测试的系统对软件的操作逻辑和控制系统进行分析,能够有效地将软件分析的更加精确,在进行软件测试的过程中,能够使测试的结果更加准确,并且能够将测试结果更加精准的表现出来,检测出软件系统中是否存在相关的问题,并以此对软件的系统进行改善。4.1.2动态测试技术对宿主机的动态测试主要指的是对软件的代码进行测试,能够有效地检测出代码的执行能力,并且分析软件代码的覆盖率,能够有效地检测出软件的功能。能够有效地了解到软件的性能,还能够通过分析更加了解软件中代码的执行情况,这样的检测方式能够促进对软件系统的改进,推进了软件系统的发展,可以根据检测的结果,对软件的功能进行优化和完善[8]。动态测试技术还能够对软件设置的完成程度进行测试,能够对其中已经开发完毕的数据进行检测,检查其中是否存在缺少的数据,这样的方式能够为软件的开发工作提供重要的依据。动态测试技术能够将软件中的每个函数的情况,以及对内存的分配情况等进行检测,能够将软件中各种元素的分配情况进行显示,并且能够同时对相对应的数据、代码、函数等进行显示。 4.2对仿真机进行测试的技术研究 仿真机作为宿主机与目标机之间重要的环节之一,通过仿真机的使用,能够有效地完善计算机软件测试的功能以及软件自身的性能,比对宿主机的测试更加直观、更加真实,并且能够对软件中主要的技术进行仿真测试,使测试的结果更具有说服力。其测试的结果既能够作用于宿主机,还能够作用于目标机。4.2.1仿真机测试数据获取技术现阶段,针对仿真机的数据监测,一直都是技术上很难实现的问题之一,很多对嵌入式软件的检测都需要在测试的过程中先提供软件设计的源代码,这样的方式需要使用的数据量比较大,这就要求我们要针对这类数据的准确性进行技术的提升,才能够保证检测数据的精准性。仿真机监测技术能够从一定程度上保证数据信息的完整性,在对数据进行完全的缓存后,再使用测试工具进行修改,能够从很大程度上保证数据的正常输入,在测试结束之后,还能够对已经进行缓存的数据进行读取,并将数据整理保存到计算机中。但是,需要注意的是,使用这种方式进行测试,还要保证数据缓存的大小不会超过测试的容量,测试才能够顺利的运行[9]。4.2.2仿真机仿真测试技术对嵌入式计算机软件进行仿真测试,能够在测试的过程中,对数据进行集中地管理和处理。仿真测试需要一定的技术支持,能够将数据进行仿真模拟,在模拟的过程中,能够看到技术的使用过程,再按照每款软件不同的性质,分类仿真,使测试的结果更加真实可靠。还要保证在对数据的检测过程中,传输信号是能够稳定运行的,才能够保证仿真测试的数据是实时的。 4.3对目标机进行测试的技术 目标机相对于其他部分来说,在测试的过程中,更需要注意目标机的综合能力,还要能够测试软件自身的交互能力,并且测试软件是否安全可靠,目标机测试的结果能够更加真实地体现计算机软件的性能[10]。4.3.1故障注入技术嵌入式计算机软件在计算机中运行的状态,可以通过人为的方式进行设置。但是,这就要求目标机的部件能够具备一定的功能,能够按照设置的时间、设置的运行方式等进行运作。故障注入技术指的是在目标机中,通过对某一部分的测试,能够更加有效地检验目标机中的性能,比如:鲁棒性测试、边界测试等等。使软件在运行时的状态能够表现的更加明显。4.3.2内存分析技术嵌入式计算机的系统,一般情况下内存都会比较小。使用内存分析技术,能够有效地保证在分析的过程中,找出计算机内存存在的问题。在问题的分析过程中,能够防止内存中的某些内存会产生分配错误的问题,很多的计算机软件故障都是因为内存分配的错误造成的。这就要求我们要通过内存分析的技术,来对内存进行判定。一般情况下,我们都会选择硬件的方式进行分析,但是硬件分析的方式需要耗费的资金比较多,而且分析工具具有一定的环境限制,但是软件分析会对计算机的代码产生一定的影响,并且会影响内存的运行。这就要求我们在进行内存分析的过程中,要能够按照不同的情况对测试的方式进行选择[11]。4.3.3程序性能分析技术在嵌入式计算机运行的过程中,还有一个十分重要的因素就是程序的性能。一般情况下,嵌入式计算机对程序的性能都有一定的要求,能够在已经设置的时间内,对某一数据进行中断处理或者是生成处理,这就要求我们要在测试的过程中,要能够根据实际情况决定先对那一部分的代码进行优化,因为嵌入式计算机的优化程序的时间是很宝贵的,要尽可能地避免对一些没有必要的程序的优化工作。使用程序性能分析技术,能够将计算机内的数据进行整理,并按照消耗的时间,消耗的类型,消耗的历时等进行分析。按照这些数据,能够对计算机中的数据进行判断,决定先对哪一部分的程序进行优化,才能够保证对数据检测的工作效率,保证对程序的优化是有效的。使用程序性能分析的工具,不仅仅能够显示计算机中每一部分的优化需要多少时间,还能够按照需要优化的程度进行排序,引导工作人员对系统程序进行优化分析[12]。在对程序进行测试的过程中,可以先对计算机软件中的代码进行分析,能够找出已经被使用的代码,以及计算机接口的工作效率等等。可以在测试的过程中使用插桩的方式进行测试,分析完毕后在可执行的代码当中适当地融入嵌入式软件,并将二者进行综合测试,得到的结果就能够明确地看出,其中的代码哪些已经执行,哪些被遗漏,或者是哪些数据的信息覆盖还不够全面。需要注意的是,使用这类分析工具进行分析,很可能会影响到计算机软件代码的运行,导致软件运行出现故障问题。 5结束语 嵌入式计算机与我们的生活之间的关系十分紧密,能够产生巨大的影响,我们身边很多部分都使用了嵌入式计算机进行功能的完成和实现,比如:飞机的飞行控制器,或者是我们家中很多的家用电器,冰箱、洗衣机等等,都在一定程度上使用了嵌入式软件技术。随着科学技术的进步越来越快,嵌入式技术也越来越繁琐。这就要求我们要在不断地使用中对嵌入式技术进行完善,对嵌入式技术进行优化升级,能够从一定程度上保证嵌入式技术的发展,对软件进行测试,能够大大地提升嵌入式计算机软件的稳定性。 作者:王琨 单位:西安外事学院工学院 软件测试论文:软件工程中软件测试的应用 1软件工程中的软件测试 1.1软件测试的含义 软件测试根据用户的使用目的,将成功开发的软件进行相应的纠错动作,从而披露该软件的各种问题及缺失因素,促进研发人员进行相应的改进,从而达到完善软件的目的。 1.2软件测试的关键性阶段 主要有以下两个关键性的检测阶段。第一阶段是软件开发过程中各主要单元模块完成后进行测试。这一阶段测试可以将缺陷控制在最小单元模块内,给研发人员最快的测试反馈,促使其完善单元模块的功能,达到用户的使用要求;第二阶段测试是软件系统全部完成后,进行全方位的综合测试,查找系统在使用过程中可能存在的问题。此时,需要根据系统要实现的功能进行多种测试工具的应用,以其找到系统不符合要求的功能或性能瑕疵。 1.3软件工程中软件测试的方法 对软件工程进行软件测试时,不同软件可以运用不同的测试方法。现阶段,主要以软件测试在测试过程中是否需要将程序进行完全运行来判断测试方法,不需要系统程序运行就能完成测试的方法称为静态方法;需要系统时时传送相应数据,并通过相应程序检测系统是否达到用户的期望值,是否存在运行逻辑上的问题和算法上的缺陷等的测试方法称为动态方法。目前,静态测试方法应用较广的有静态排演法、软件检查法和软件审查法。随着软件测试方法的不断创新和完善,新兴的测试方法如静态自动分析、分析模型等方法不断得到应用;动态测试方法随着精细化测试进程的深入逐渐细分为单元测试方法、集成测试方法、系统测试方法。这些测试方法相较于静态测试方法,具有范围广、测试成功率高、内容覆盖面大、应用程度高等特点。如白盒测试、代码覆盖测试等。 2软件测试在软件工程中的作用分析 2.1软件工程项目需要软件测试进行全方位的辅助管理 所谓软件工程项目就是将用户的要求进行立项管理,通过建立项目组、研究用户的使用目标来确立项目目标,对目标现状进行系统研究与分析、总体目标细分阶段性目标以及规划项目总体方案等,将软件开发过程建立在项目管理过程中。在这一过程中,各阶段性成果都需要软件测试来校验其可行性,从而辅助软件工程项目步入更完善的项目管理中。首先,软件工程项目需要精细化项目管理和集中项目管理两者协调统一。因此,需要设立软件测试机构,能够对项目细分的各阶段、各模块进行软件测试。其次,项目组人员组成和责任落实要依照规章制度实施。要体现软件测试的重要性和实际意义,测试机构负责人为项目组组长的最佳人选。其组员为各项目负责人和其他测试人员组成。软件测试结果必须立即反馈到软件研发人员、程序员及系统分析人员等相关人员手中,以期促进其团结协作,将软件各部分呈现出的问题解决。最终满足用户的使用要求,实现软件设计的目标。可见,软件测试的辅助作用,对于软件工程项目的精细化管理、软件相关技术的综合管理等至关重要。 2.2软件工程项目实施反促软件测试发展 研发一个新的软件系统时,其核心内容包括目标确定、框架设计、分支设计和编码应用等,这些核心内容均需要软件测试来实现其统一性和兼容性。系统目标是软件测试的最终目的,软件测试需要围绕系统目标进行缺陷的发现和反馈,从而实现各阶段测试的统一性和完整性,从而促进系统的协调和完善。经过软件测试的系统,必须保证达到项目目标,且在长时间运行下无重大bug。从这一过程来看,软件测试是在软件工程项目实施中得以发展的。软件测试机构并不是真正意义上的独立,其“独立”仅是功能上的独立。实际上,在进行软件工程项目实施的整个过程中,无论是整体设计还是精细化管理,都需要软件测试参与其中,以测试角度对软件工程项目的设计和实施进行指导和辅助,从而纠正一些设计上的错误和细节上的缺陷。这种参与的直接性促进软件测试必须紧跟项目研发现状,才能提出及时有效的参考意见,促进项目顺利开发。软件编码规范是软件研发团队必须规范执行的,而这种规范的编码刚是软件测试机构的首要任务,制定规范要严肃,执行规范要严格,才能给用户呈现出高质量的软件产品。 2.3软件测试原则 软件测试的原则是在其测试的基本目的和要求下产生的,因此,在进行软件测试时,必须注意其原则性。(1)坚持用户使用目的,坚持项目总体目标和阶段性目标的实现原则;(2)测试“精细化”即细分分支、单元模块、阶段性成果、系统全面测试等随时进行;(3)测试时间要越早越好,频率越高越好;(4)测试中逻辑性检测和算法检测要注重;(5)测试要结合数据检测进行;(6)保证测试的严肃性;(7)测试坚持第三方进行原则;(8)不合理条件值都要进行测试;(9)测试过程、方法、用便、结果、完善等都要记录在案,便于故障定位和日常维护。 3自动化软件测试技术分析 随着智能化技术和自动化技术的不断深入应用,在软件测试中,自动化软件测试技术得到创新和发展,并在软件开发中应用得越来越广泛。所以,人们将各种自动测试的效果进行评估,将成功案例进行相似引用,来判断检测的可行性。最初的自动化测试具有较严格的针对性,运用特定的测试原则和测试方法,将统计指标运用其中,从而得到测试结果,并对其进行全面评估,从而得出自动化测试的严密性。随着自动化测试的不断深入推进和创新,其测试准则和自动测试技术越来越成熟,逐渐过渡到自动测试模型化阶段。逐渐形成自动测试的等级制度,使得自动软件测试技术成为测试控制能力高低优劣的一个重要判断依据。 4结语 总之,软件测试已经发展成为软件工程中一个必不可少的重要组成部分,软件测试不仅能够对软件的质量进行一个系统的评价,而且是目前确保软件质量的主要途径之一。并实现软件产品整体质量与企业经济效益的整体提高,进而提升软件企业的核心竞争力。。 作者:栾新亮 单位:鄂尔多斯市特种设备检验所 软件测试论文:嵌入式软件测试环境研究 1嵌入式软件的特点 嵌入式系统的应用软件是实现嵌入式系统功能的关键,其主要特点如下: 1.1软件开发环境和运行环境不同 嵌入式系统软件的开发通常采用交叉编译方式,即软件的开发在通用计算机上进行,而软件的运行环境却是在嵌入式专用设备上。开发环境被认为是主机平台,运行环境为目标平台,相应的测试被称为主机测试和交叉测试。 1.2缺乏可视性 嵌入式软件缺乏可视性主要表现在两个方面:(1)数据的可视性方面:嵌入式系统通常没有显示设备和存储设备,只有在线实时观测或是将数据传输到主机上才能进行结果分析;(2)编程的可视性方面:由于嵌入式软件的开发环境和运行环境不同,在进行开发时,一方面不能实时观察程序的运行效果,另一方面程序在仿真环境和目标设备中的运行效果可能存在差异。 1.3实时性要求较高 多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度是保证每项任务及时执行的关键,单纯通过提高处理器速度是无法完成和提高效率的,这种任务调度只能由优化编写的系统软件来完成,因此实时性是系统软件的基本要求。 1.4软硬件紧密结合 在嵌入式系统软硬件体系结构内部,各层次、模块之间的耦合度比通用计算机更强,这是嵌入式系统要求高效的结果,而通用计算机出于可扩展等要求更强调系统的模块化、层次化和标准化。 2嵌入式软件仿真测试环境 嵌入式软件测试不同于传统的通用软件测试,由于其嵌入性、实时性、反应性、专用性等特点,它比一般的通用软件测试更加困难。因此,根据不同测试阶段的需求,建立恰当的测试环境是避免嵌入式软件测试瓶颈、提高测试效率、保证测试质量的唯一出路。由于嵌入式系统通常采用软硬件并行开发的方式,在进行软件设计与测试时,真实目标设备常常不能及时提供,而且对于单片机、DSP这些深嵌入式系统来说,数据的显示采集、测试用例输入等都需要专门的软件来实现,因此在进行嵌入式软件测试前,必须首先建立嵌入式软件仿真测试环境。嵌入式软件是软硬件耦合系统,把软硬件分离开来,建立嵌入式软件独立的运行环境是建立嵌入式软件仿真测试环境的关键。一个完整的嵌入式系统包括处理器、I/O接口以及各种外部设备,在建立嵌入式软件仿真测试环境时,需要考虑软硬件的分离原则,即哪些采用真实硬件设备,哪些需要用软件仿真实现,哪些需要用硬件仿真实现,不同的嵌入式系统以及软件测试阶段,需要建立的仿真测试环境也不相同。 3嵌入式软件仿真测试环境分类 根据运行环境和实际环境的差异,嵌入式软件仿真测试环境可分为全数字仿真测试环境、半物理仿真测试环境和全物理仿真测试环境。 3.1全数字仿真测试环境 全数字仿真测试环境是指仿真嵌入式系统硬件及外围环境的一套软件系统。全数字仿真环境是通过CPU、控制芯片、I/O、中断、时钟等仿真器的组合在宿主机上构造嵌入式软件运行所必需的硬件环境,为嵌入式软件的运行提供一个精确的数字化硬件环境模型。 3.2半实物仿真测试环境 半实物仿真测试环境是利用仿真模型来仿真被测系统的外围系统,而被测系统采用真实的系统。测试环境模拟被测软件运行所需的真实环境的输入和输出,并且能够组织被测软件的输入来驱动被测软件运行,同时接收被测软件的输出结果。外部仿真设备:为目标机提供激励信号输入,接收并处理目标机输出数据,保证软件的连续、不间断运行,实现自动化测试;可以采用软件仿真或硬件仿真(ADS2等)。并不是所有的外设都采用仿真实现,可以随着项目的进展以及根据外设的复杂性,有选择性的加入真实外部设备。 3.3全实物仿真测试环境 在全实物仿真测试环境中,被测软件处在完全真实的运行环境中,直接将整个系统和其外围的物理设备建立真实的连接,形成闭环进行测试。全物理仿真测试环境是基于真实目标机的系统测试,是对整个嵌入式系统软硬件的综合测试,只有在系统研制的后期,所有硬件研制工作都已完成后才能进行。 4嵌入式软件仿真测试环境的构建方法 根据嵌入式软件及测试环境的特点,不同测试阶段的测试环境搭建方法如下: 4.1单元测试 单元测试是针对软件设计最小单位模块而进行的内部测试。由于目标机环境资源少、实现难度大,因此嵌入式软件的单元测试主要采用白盒测试的方法,一般在宿主机上,利用集成开发环境或测试工具(Clockwork、TestBed、Cantata++等)的全数字仿真模拟器来进行,找出单元编码时产生的错误以及与软件需求设计的偏差。在极特殊情况下,也可以在目标机上进行,利用单元测试中的驱动模块和桩模块进行。 4.2集成测试 集成测试是把经过单元测试的模块按软件的结构组合在一起作为一个软件部件或部件集来进行的综合测试。嵌入式软件的集成测试可在宿主机环境上利用Clockwork、TestBed、Cantata++等测试工具来完成,也可在目标机上搭建仿真测试环境来完成,具体依赖于软硬件耦合程度和集成级别。 4.3软硬件集成测试 软硬件集成测试主要是在软件集成测试完成后,形成独立的配置项,加载到相应的硬件平台上测试其运行情况,以确定软硬件能够正确协调工作,实现软件需求规定的功能、性能等要求。软硬件集成测试必须在目标机环境下进行,交联设备可以采用仿真模型替代。可以利用半实物仿真测试工具搭建测试环境来进行确认测试,比如:ADS-2、dSPACE等。 4.4系统测试 系统测试是将被测软件和硬件资源都综合起来构成完整的应用系统进行测试,确保整个系统达到研制任务书的要求。嵌入式软件的系统测试对测试环境有严格的要求,必须在真实目标机环境下进行,包括运行平台、交联设备都要是真实的,目的是要确保嵌入式软件能够在最终的真实硬件环境下正确运行。 5结束语 嵌入式系统在人类生活中发挥着重要的作用,软件所占的比重越来越大,也越来越复杂,保证嵌入式软件的可靠性正面临严峻的挑战。由于嵌入式系统的实时性和嵌入式特性,使得嵌入式软件的测试也面临一些特殊的问题。根据嵌入式软件设计过程中不同阶段的测试需求,建立合适的测试环境,才能提高嵌入式软件的测试效率,保证软件设计工作的顺利进行。另外,虽然日前已经有一些针对嵌入式软件的测试和调试工具,但是在有些方面仍存在不足,需要进一步对嵌入式软件的测试环境和测试技术进行研究,完善和研制更先进的测试工具。 作者:于慧媛 单位:中国人民解放军91413部队 软件测试论文:软件测试在软件开发过程中的应用研究 1软件测试对于软件开发工作的重要意义 软件测试是软件开发中不可缺失的工作内容,通过有效的软件测试步骤,能够帮助软件开发工程人员减轻工作负担,在很大程度上提升了软件的实用性能。因为电子软件的生产过程极为复杂,在开发的过程中需要经历许多环节,每个环节的数据要求都极为严格,很有可能因为极小的差异造成软件应用的失误。软件测试就是为了实现对于软件开发后的使用作出初步的评估,保证下一个生产环节能够正常执行,也为了确认软件的使用具有质量保证。软件的测试能够涉及整个软件设计、开发,以及未来升级的过程。首先,能够帮助软件开发商确认软件的使用质量。其次,还能够为工程师提供有效的信息反馈,帮助工程师进行软件系统操作的风险预警评估。还有,就是实现为未来软件系统升级奠定基础,能够保证软件在未来的开发计划中添加有效的性能价值[1]。软件测试的工作具有相当高的行业地位,能够帮助工程师和开发商尽早发现问题,并且给予充足的时间去解决问题,进而提升了大众对软件的使用效果,满足了推动科学技术进步的时代要求。 2软件测试的具体步骤和方法 2.1软件测试的对象 软件测试的对象主要是针对于软件使用过程中出现的逻辑操作,其中包含软件的使用规则,还有在软件应用中的程序设定是否满足人们的应用习惯,还要考虑到软件开发的初期设计是否能够满足社会大众的需求,能够实现广泛的普及,并且获得大众的喜爱。因为软件测试与其他方式的应用测试不同,软件的测试需要遍布整个软件的设计完成过程,要求软件能够实现具体使用的功能性。 2.2软件测试的种类 软件的测试工作也分成两种形式,一种是静态的检测试验,另外一种是动态的检测试验[2]。首先进行静态种类的具体划分解释,其中的工作内容具体实施不必要展开软件的运行功能,只要进行人力的代码查询工作审核就可以了。这期间可以对整个软件的设计脚本进行分析,得到房中数据的编码,保证在网络中展开的数据时正确有效的。与此同时能够展开对软件编程的评估,其中的数据值都在控制范围内,不能超过最低的数值要求。编写数据程序的人员在结束初始工作后还要展开对程序的审查,其中的大部分工作内容需要依靠合作完成。专业的人员通过技术手段结束数据的参考值评估,要求在人工审查的途径中实现数据的核对工作。总结的角度来评定静态测试的作用,就是通过人工和数据参考工具实现对编程的审核。另外一种就是动态的测试种类,这种方式需要进行软件的启动,在运行的过程中通过既定的数据进行测试评估。按照专业的白盒与黑盒方式进行测试实验,达到动态测评的目的。白盒的功能就是测试软件的逻辑性,能够满足人们使用的正常运作,黑盒则更倾向与想软件的使用功能,以及软件的数据管理进行测试。白盒与黑盒的测试功能满足了对于软件测试的基本要求,实现了为软件后续开发提供数据的重要任务。 2.3软件测试的方法步骤 将软件的测试方法进行归纳和综合,发现主要的测试方法来源于对于测试种类的需求。将白盒和黑盒的测试程序运用到软件的测试中去,实现人工和技术的双层数据收集,实现对于软件的数据编程、应用操作,以及未来升级的发展需求都进行监管。由白盒协助人工进行数据的整理,达成数据外接的基础使用。再由黑盒的运行操作达成对于内置程序、数据的检测和观察,保证软件进入正式使用中的功能性。软件测试的整体步骤,都由数据的支持进行操作,具体的步骤首先是进行功能性检验,然后将外因排除后执行内因运行,之后找寻可能导致程序出现问题的原因,最后结合参数的运算和总结,达成软件测试的目的[3]。 3软件测试在软件开发过程中的应用实施 软件的开发是一个十分复杂的过程,为了成功的实现软件的应用和升级,就需要工程师进行严密的设计、开发,以及研制,最后成就的科学技术产品。因为人们日益增长的科学需求,完美的软件必须还要经过不断的推敲和升级。 (1)软件测试的应用主要考察软件的实用性和需求。软件的创作和制造都是为了满足人们生活的需求,在开发的过程中要考虑产品的功能性,还要考虑开发商的开发成本是否能够支持整个软件的制作完成。 (2)软件的整体设计是否合理,需要通过软件测试得到论证。工程师进行软件的数据编写,是为了满足人们的生活需要,各项开发和功能的深入研究都是为了实现软件的实用性。软件的测试能够检测出软件开发中的问题,进行及时的补救工作实施,尽量做到不浪费开发成本的目的。 (3)要求在软件测试应用实际作用于软件的后期拓展。无论是学习软件还是工作软件,甚至于游戏软件,都必须要满足未来的发展和升级要求,实现能够无限开发和研制的目的,保证软件具有创新性。软件测试很大程度上也是为了找寻软件的功能延续性,促进软件的再开发和再创造。 (4)软件的测试需要应用到软件的最终检测和维护环节中去。每款软件开发后都应该得到检测,只有质量能够达到标准才能保证软件的出售。再者就是应用到软件出售后的软件维护,保证软件高质量运行[4]。 4结语 在信息技术不断摸索前进的过程中,软件的应用托陈出新不断进步,实现了人们生活、工作,以及学习的全面提速。为了保证软件在人们生活中的使用质量,以及适用程度,进行软件开发前期的软件测试是必须严格执行的工作步骤。 作者:丁旻昊 单位:中国特种飞行器研究所 软件测试论文:软件测试实验教学设计论文 软件测试是保证软件质量的重要手段之一。目前社会上对软件测试人才需求非常旺盛,据报道其人才缺口高达30万人[1],高校学生毕业后直接从事软件测试工作的占据了软件测试行业从业人员的48%[2],许多高校都开设了软件测试课程,如苏州大学[3],北京工业大学[4]等,以培养相应的软件测试人才。我校计算机科学与技术专业2008版教学设计中新增了软件测评课程,含理论课28学时及实验课8学时,于2011年首次在大四上学期开设。软件测试主要是一门技能型课程[5],其理论性相对较弱,且和软件工程概论课存在较多内容的重复。吸取了首次授课时重理论轻实践的教训,我们将软件测试课程的目标定位为在一定理论基础的指导下使学生熟练掌握软件测试的技能,因此2012年第二次授课时将理论课减少为24学时,实验课增加到12学时。借鉴同济大学朱少民教授[6-7]的经验,实验课着重讲述一些常用开源软件测试工具的使用,包括功能测试工具Selenium和AutoIT,单元测试工具Junit,代码覆盖工具Emma以及性能测试工具Jmeter等。Jmeter是Apache组织开发的一个用于压力测试和性能测试的纯Java桌面工具,可用于对服务器、网络或对象等模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能[8]。性能测试是保证应用程序后能够稳定可靠运行的必要手段之一。以我们为某机场开发的战略规划管理系统为例,由于前未进行全面的性能测试,客户使用一段时间后经常反映系统响应速度慢。利用Jmeter对主要模块进行了性能测试,结合测试结果对数据库进行了优化,此后客户再也没有反映过响应速度慢的问题。本着科研服务于教学的宗旨,以该系统为原型,完善了基于Jmeter的性能测试及数据库优化实验教学设计。 1Web应用程序性能测试实验 这部分实验目的是使学生熟练掌握使用Jmeter测试Web应用程序的一般流程和方法。实验任务测试绩效考核子系统中的评分模块。评分人登录系统后进入评分环节,选择其未完成的评分项目(若有多个未评分项,则需要全部对其评分)。每个评分项中包含对多个部门的评分,部门数大于等于3个时需符合正态分布,如可评出优秀3个、良好6个、合格4个、基本合格2个,否则可任意评分。按照循序渐进的原则,设计了3个步骤:一是Jmeter的基本应用,包括脚本录制、添加http请求、添加断言以及查看测试结果等;二是Jmeter的逻辑控制结构,如分支和循环等;三是Jmeter的高级应用,如参数值可变以及参数个数可变等。 1.1Jmeter的基本应用 Jmeter可以手工添加脚本,但更方便的是使用脚本录制软件Badboy[9]。Badboy录制的脚本可以保存为Jmeter格式,然后在Jmeter中直接打开和修改。脚本主要是一系列的http请求,其中可以设置请求的URL,请求方法(get/post)及请求参数等,如图1所示。通过添加断言(如是否含有特定字符串)检查请求是否返回正确结果。添加查看结果树并运行测试脚本查看程序的测试结果。 1.2Jmeter的控制结构 Jmeter具有丰富的逻辑控制结构,包括控制器,switch控制器,while控制器以及forEach控制器等。实验重点练习控制器和forEach控制器。控制器判断Jmeter变量是否满足给定条件,若满足则执行其包含的测试元素,否则不执行。ForEach控制器对Jmeter变量的每一个取值都执行一遍其包含的测试元素。图2是一个控制器,其条件为变量COUNT小于10且变量VAR等于字符串“abcd”。图2Jmeter的控制器图Jmeter的变量引用使用${变量名}的方式,变量一般提取自返回页面中的某些信息,如满足特定条件记录的行数或某个特定位置的字符串取值等。变量提取可采用正则表达式或Xpath进行匹配,讲解其匹配原则并现场演示。图3利用正则表达式提取需评选优秀的单位个数,其中引用名称youxiu就是变量名。匹配失败则取设置的缺省值0。如对于页面中返回的html代码“…您当前可以评出优秀<spanid="ltYSMsg">3</span>个…”可提取出优秀个数为3。 1.3Jmeter的高级应用 本部分着重解决实际测试过程中的一些常见问题,如参数内容可变及参数个数可变等。测试登录环节时需模拟不同的用户登录行为,即图1的http请求中txtUserName一项的值应是变化的。Jmeter提供的CSVDataSetConfig可解决这一问题,如图4所示。将所有评分人的信息存储在一个CSV文件中,把其中的列名填入VariableNames项,之后将图1中的txtUserName值改为userAccount(即CSV文件的第1列)实现参数值的动态变化。进入评分项后需根据情况选择优秀和良好等的个数,且要反映在http请求的参数中。由于参评单位的个数因评分人和评分项各异,因此无法在GUI界面中一一添加。需动态添加的参数包括评分列表中的name及其value,value的取值从优秀到基本合格依次为1234。为简单起见,我们按顺序对单位进行评分。如系统要求评出3个优秀,则测试中前3个部门打优秀,其余依次类推。由于同一部门的优秀良好等单选按钮的name值相同(如图5所示),我们选择提取该组唯一的ID号,然后将其转换为name,其对应关系是用$代替下划线(如ID号为gbBSCExamList_ctl02_rbExamerLevel,name为gbBSCExamList$ctl02$rbExamerLevel)。Jmeter的Beanshellpreprocessor可在提交http请求前动态调整参数个数及参数值。下面给出了Beanshellpreprocessor的代码。其中ExamerLevel_matchNr为Jmeter的系统变量,提供了正则表达式匹配项ExamerLevel匹配成功的个数(即参评单位的个数)。如前所述匹配数量小于3时可任意评分,为简单起见我们均将其评为优秀。N=Integer.parseInt(vars.get("ExamerLevel_match-Nr"));(N>=3){YX=Integer.parseInt(vars.get("youxiu"));LH=Integer.parseInt(vars.get("lianghao"))+YX;HG=Integer.parseInt(vars.get("hege"))+LH;BHG=Integer.parseInt(vars.get("jibenhege"))+HG;for(i=1;i<=N;i++){item=vars.get("ExamerLevel_"+i);item=item.replace("_","$");(i<=YX){sampler.addArgument(item,"1");}else(i<=LH){sampler.addArgument(item,"2");}else(i<=HG){sampler.addArgument(item,"3");}else(i<=BHG){sampler.addArgument(item,"4");}}}else{for(i=1;i<=N;i++){item=vars.get("ExamerLevel_"+i);item=item.replace("_","$");sampler.addArgument(item,"1");}}设计了含35个并发线程的线程组,模拟实际35个评分人的评分过程。全部线程在1秒钟之内启动,比实际情况更严格。得到聚合报告如图6所示,其中点击考核评分页面响应时间最长,为335毫秒。且测试过程中无错误发生,说明系统评分模块可靠。 2数据库性能优化实验 除应用程序外,数据库设计的优劣亦影响系统性能。这部分实验目的是使学生熟练掌握使用SQLServer测试数据库性能的一般流程和方法,并进行简单的数据库调优。为减少复杂性,设计一个简单的由三张表组成的人员组织结构数据库:user、or-gan及userorgan表。其中user表含4586条记录,or-gan表含1722条记录,userorgan表含6804条记录(一人可在多部门任职)。实验任务根据账号查询其姓名及所在单位信息。 2.1SQL语句执行计划对应用程序中频繁执行的SQL语句检查执行计划非常重要。初始时,三张表均未建立任何索引,下面SQL语句的执行计划如图7所示。由图7知,三张表均采用全表扫描的方式。对大表全表扫描可能涉及多次磁盘I/O,非常费时,应尽力避免此种情况。SQLServer报告由于缺少索引影响了查询性能,并给出了相关建议。selectA.vcAccount,A.vcName,C.vcNamefromtest.dbo.[user]Ainnerjointest.dbo.[useror-gan]BonA.vcAccount=B.cnvcempidinnerjointest.dbo.organConB.cnvcorgid=C.nNodeIDwhereA.vcAccount='testuser'为表格建立以下索引:indexIND_USERACCOUNTontest.dbo.[user](vcAccount)clusteredindexPK_ORGANontest.dbo.[organ](nNodeID)indexIND_USERORGANontest.dbo.[userorgan](cnvcempid,cnvcorgid)再次运行后显示执行计划如图8所示。可见所有表扫描均已替换为相应的索引查找,且SQLServ-er未报告缺少索引影响查询性能。两次执行查询的磁盘I/O和CPU时间见表1,可见为表添加正确的索引可提高查询性能。 2.2索引建立原则总结 建立索引的一般满足原则如下[10](篇幅所限,未给出实例):(1)为主键所在的列创建索引。为经常进行连接但未指定为外键的字段建立索引。(2)在频繁进行排序或分组的字段上建立索引。(3)在条件表达式中经常用到的不同值较多的字段上建立索引,在不同值较少的字段上不建立索引,如性别字段。不在查询很少引用的列上创建索引。(4)若经常同时使用多个字段排序,可在这些字段上建立复合索引。要尽量使关键查询形成索引覆盖,其前导字段一定是使用最频繁的字段。(5)查看索引并删除不使用的索引。需频繁进行数据查入操作的数据库应有较少的索引,需频繁进行读取操作的数据库应有更多的索引。(6)在聚集索引中,避免包括不必要的列,尽可能使用较小的数据类型。(7)在支持排序和范围查询的字段上考虑使用聚集索引。(8)具有高选择性的列是索引的好候选列,具有高密度的列是索引最糟糕的候选列。 3结语 软件测试是保证软件质量的关键步骤。在软件正式前一般都需要经过性能测试,以保证软件在一定负荷下的平稳可靠运行。Jmeter是一款优秀的开源性能测试工具,可测试繁重负载下的系统表现。软件性能表现还取决于数据库设计的优劣,建立适当的索引可减轻数据库查询和处理负担,进而提高系统处理能力。通过本教学设计实验学生普遍反映认识到了性能测试的重要性,了解了执行计划在数据库性能优化中的作用。 作者:张志远冯兴杰单位:中国民航大学 软件测试论文:软件测试与软件开发探究 摘要: 在IT行业,人们对于软件开发与测试关系的研究热度不减;同时软件的开发与测试,也一直是软件项目团队的中坚力量,要想保证软件开发产品的质量,就要有测试人员对于质量进行验证,所以测试人员也相当于质检人员,但是两者之间的关系还有更加深入的关系,对此本文就软件测试与软件开发关系展开分析,希望对于软件设计水平的提升,起到积极促进的作用。 关键词: 软件测试;软件开发;关系 0前言 软件开发是一个系统性的过程,包括概念阶段、计划阶段、开发阶段等,而软件开发工程与软件测试工程师分别对应着软件产品生命周期的开发与验证阶段。表面看似两者是一个上下游的关系,但是不同工程师所占的立场不同们对于软件的认识也呈现差异化,对此需要工程师共同讨论等,继而确定最佳的产品方案。 1概念分析 软件开发与软件测试是软件工程的重要阶段,前者是在客户需求的基础上进行软件系统制造的过程,也包括系统设计、编码程序等内容。而后者主要是将前者各个阶段,存在的漏洞等利用测试用例找出,是对于软件需求等的最终审核,也是对于产品的质检。 2工作内容 2.1开发人员 其工作内容主要体现在以下几点;第一、加强软件需求分析,明确软件开发方向。第二、编写软件详细设计文档,包括程序流程、函数等内容;还包括单元、集成测试等文档的编写。另外只有审核完写好的文档后,才能进行代码的编写。第三、代码编写是非常重要的,直接关系着软件程序的功能发挥;而软件开发不仅仅就是写代码,还包括很多其他的内容。第四、程序编码结束后,需要由开发工程师,对其进行系统自测,保证程序正确编写;自测合格后,以及文档编写好后,一并交给软件测试人员进行检测。 2.2测试人员 第一、通过对于软件需求说明书的审核,明确软件功能开发方向。第二、积极建立测试环境,也就是指软件运行的条件,包括软硬件设施的设置等。对于软件实际工作环境的模拟,也是测试环境构建的主要内容,继而保证软件的实际应用不会出现问题,对此可见测试环节还原现场环境的重要性。第三、将配套软件进行运行,检查其是否存在缺陷、功能是否充分的发挥,对于检查出来的问题,组织相关的工程师进行软件问题的修正工作。第四、协助并指导工作人员安装软件程序。 3关系 软件开发和软件测试主要的工作目标在于用户需求的实现,保证交付软件的质量,开发与测试并存,首先由开发人员进行软件实现,然后由测试人员找出软件中存在的程序问题,最后提交开发修复,两者之间是相互合作、相互影响的关系,继而除去软件开发中的的程序问题,保证软件的高品质。两者的工作交集,在于软件缺陷,但是软件开发工程师、软件测试工程师,工作岗位不同、对于软件的看法不同,对此难免会存在意见分歧,所以测试工程师加强与软件开发师之间的关系处理尤为重要,继而更好的形成向心力,保证软件开发的高效性和该品质性。好的软件开发,不仅仅要狠抓软件开发与软件测试两个环节,更要注重产品开发的全过程;另外更不能倾向于某个环节,而要让软件开发和测试都要硬,从而更好的保证后续工作的顺利进行。 4关系处理办法 4.1尊重开发成果 测试人员的综合素养、综合技能等,直接影响着软件开发的进度与质量等,为了更好地处理测试与开发之间的关系,测试人员要抱有一定岗位职责、职业素质,本着公平、公正的心理尊重软件开发环节的工作成果;软件开发会可能会存在一系列的隐藏程序漏洞等,这都是非常正常的,而测试工程师的主要职责就是找出这些漏洞,提高开发进行修正,从而另一个角度来说也是在帮助开发工程师成长;但是实际上,部分的测试人员在检查开发提交的测试软件时,会因为发现问题而出现一系列消极的情绪,对于软件开发工程师进行谩骂侮辱等,不仅降低了软件开发工程师的工作积极性,也影响了两个工作层面的关系,最终延长了软件交付的日期,以及软件的质量。开发工程工作内容繁琐且任务重,不可能全面顾及,导致程序开发存在一定的问题,而测试人员作为软件品质完善的关键,要在尊重软件开发作品的同时,积极的进行漏洞检查,实现良好的团队协作氛围。 4.2缺陷技巧的提交 由于软件开发与软件测试工作埃的交集就是程序缺陷,对此测试人员就要做到以下几点,继而保证缺陷技巧的有效提交,保证软件开发人员的更好接受。 4.2.1换位思考测试 人员在接受软件开发提交的作品时,首要的就是了解软件开发工程师对于测试结果的关注内容、范围以及关键点等;一般软件开发人员对于测试结果最注重的就是软件逻辑、数据流转等方面的内容,对此测试人员就要合理的采用测试技巧,有效的调整程序漏洞的提交方案。软件测试也是一个复杂且繁琐的过程,首先测试工程师要按照指定的测试流程,对软件作品进行系统逻辑的测试,找出影响系统正常运转的错误逻辑问题,将其第一时间反馈给开发工程师;测试环节接触到的其他问题,但并不是影响系统逻辑的漏洞点,按照漏洞提交顺序进行依次提交更容易被开发工程师所接受。 4.2.2漏洞描述要精准 测试人员的测试结果,是开发人员漏洞改进的关键,一个精准的的Bug描述,对于开发人员来说帮助性是非常大的,能够帮助开发人员更加精准的进行漏洞定位。这就要求测试人员在进行Bug描述时,要注重语言的干练简明,语气要肯定,避免使用好像、不确定等词汇,继而模糊开发人员的工作思路。其次描述的内容要突出重点,忌讳全面开花。最后根据以往的经验,给软件开发人员提出一系列的建议,像可能会出现漏洞的部位等,继而实现软件的高品质。 4.2.3注重普遍问题的提交 软件开发人员一般工作都非常的忙碌,而重复漏洞或是无效漏洞的提交,会大大的影响其工作的心情、工作量与工作进度等,对此测试人员在测试系统漏洞时,要养成Bug分析的好习惯,分清其问题的独立性还是普遍性,若是普遍问题可以提交一个。这就要求测试时人员要加强对于软件系统的熟练度,包括业务要求、操作以及使用等,当测试人员也不确定漏洞是否存在时,可以与其他测试人员进行沟通,或是与开发工程师进行沟通,继而精准定位程序漏洞。 4.2.4加强有效沟通 考虑到测试人员与开发人员之间的矛盾问题,主要的原因在于缺乏沟通或是交流无效,对此首先测试热源就要占到用户的角度上,正确的表达出自己的想法,让开发人员也占到用户的角度进行讨论。其次由于两者工作理念不同,对此难免会存在争议,对此测试人员保持自己观点,可在下个版本中完善。最后加强两者之间的沟通,明确对方的工作想法,保证系统认知的更加深入、全面,并灵活的运用测试手段,从而更好的保证软件高品质。 5总结 综上所述,通过对于软件测试与软件开发关系的分析,发现作为软件产品全生命周期的关键环节,更要加强沟通合作,提升企业研发的凝聚力,做到就事论事奔着相同目标共同努力,从而更好的保证软件产品的进度和质量。 作者:侯中原 单位:商丘医学高等专科学校 软件测试论文:计算机软件测试技术及开发应用 [摘要] 随着我国计算机网络的不断普及和发展,无论是人们的日常生活还是工作,甚至是休闲娱乐,都离不开互联网的支持,可以说,计算机软件已经受到越来越多人的应用,并且逐步成为了影响人们生活的重要技术。随着人们对计算机应用软件需求量的不断增加,计算机应用软件的开发也越来越频繁,因此,要对其开发流程以及开发需求进行深入的分析。文章将对计算机软件测试技术与开发应用进行了研究。 [关键词] 计算机软件;测试技术;开发应用;相关研究 计算机软件测试技术对于软件开发而言具有重要的作用,能充分保障软件的精确性,为软件开发工作带来安全保证。笔者将从计算机软件开发的重要性、计算机软件开发流程、计算机软件测试技术在软件开发中的有效应用,三个部分进行阐述。 1分析计算机软件开发的重要性 相对于应用软件而言,计算机仅仅只是作为一种辅助工具,计算机之所以能够帮助人们有效地解决这类问题,促进社会迅猛发展,最重要的就是计算机内的软件应用,可见,软件的开发极为重要。随着国家经济体系的不断改革,各行各业已经逐步面向现代化发展,互联网的普及无疑为人们的发展奠定了结实的基础,也给应用软件的进一步研究开发提供强有力的保障,计算机软件的应用已经在人们的生活中得以普及,而人们的日常生活也已经离不开网络的支持。计算机软件的应用不断丰富了人们的日常生活,使人们更加重视精神的自我培养,此外,计算机网络也在不断推动着人们前进。 2计算机软件开发流程 2.1分析开发需求和设计概要 在开发计算机软件之前,对其进行需求分析是开发应用软件的首要环节,亦是最重要的环节之一。软件开发需求分析质量,会直接对应用软件开发造成影响,一般情况下研究人员要根据软件需求内容,对软件的概要进行设计,并且结合软件的功能需求情况设计出软件程序流程图,若是利用类似于C语言等的高级语言实施程序编写,还应当根据软件模块设计各模块的应用功能。概要设计为软件的开发提供了程序框架,后续的开发工作都是在这个框架基础上进行操作,可见这个框架不但能够决定计算机软件程序功能,而且还能对软件运行的效率产生一定的影响。在基于软件程序具体的开发过程中,想要实现其特定功能,可选择多个语句或者逻辑关系等来实现,但不同的逻辑关系与语句也会从一定程度上影响软件。软件开发及其需求越来越复杂,如何编写简洁而又不会存在漏洞的应用程序,已经成为了各软件开发人员最终的目标,因此,在实际研究过程当中,研究人员要十分重视概要设计环节的工作,并且保持思路清晰,设计完程序流程图之后要进行全方位的审核,不断简化软件的逻辑关系,最终实现科学合理的软件逻辑关系。 2.2详细的编码与设计 紧跟需求分析和概要设计后的一个环节就是进行程序的具体编写工作。在编写程序的过程当中,首先应当选择计算机语言,经过长时间的发展,高级计算机语言出现提高了软件的开发效率。人们按照开发软件的实际需求,有针对性地研究了很多种类的计算机语言,例如:如常见有JAVA、C语言等,到了现在出现了VF与VB等可视化的编程软件,这类软件的研发使研究人员即便没有专业知识也可完成简单的软件开发。此外,在实际编码前,研究人员应进行详细设计,在已设计的框架上,按特定的逻辑关系将软件所需实现的一些功能进行设计,根据详细设计流程进行编码。目前,计算机软件设计使用最多的是C语言,这种语言的模块形式较为简单、语句便于理解,所以非常适合在开发、维护软件过程中运用,受到研发人员的青睐。 3计算机软件测试技术在软件开发中的有效应用 软件程序的编写完成之后,研发人员还要对其实施相应测试,监测这款软件的应用效果以及功能等是否能够达到预期效果,一般情况下,测试软件的方法就是随机输入一些数据到计算机中,然后再看结果是否达到要求,为了能够确保软件功能的精准性,常常会选择几组随机数据配合一些特殊参数进行检测。如果检测出来的结果和软件功能相符合,那么则说明通过测试,反之,则不符合。近几年以来,计算机的软件开发技术得到迅猛发展,研究人员也开发了一些专门针对软件测试的程序,但是由于受到技术水平因素的影响,使用测试软件受到一定的局限,比如:一个测试软件只能对一种软件实施检测,并且测试结果只能当作参考,测试结果的准确率还需要提升,但是不管怎样,测试软件的研发就足以标志着计算机软件程序的未来发展方向。新开发软件通过检测以后,需要交予需求方进行使用,为了保证软件能满足人们的实际使用需求,使用方也会进行验收,软件验收方要求极为严格,但是验收方式基本和测试方法相似,同样采取输入参数来进行验收,因此,就增加了不必要的验收程序。研发人员还应当继续研究,争取研发出更多的测试软件,使软件的测试结果更加精确。软件测试技术作为软件开发过程中最为重要的组成部分,该技术主要目的是为了将软件产品中存在的问题及时找出,并将测试报告交给软件开发人员予以修改。可见,在软件开发工作中,软件检测技术的应用是不可缺少的环节。 4结语 总而言之,计算机网络技术已经在人们的生活中得以广泛应用,而软件就是应用计算机的关键,随着人们各类需求不断增加,开发计算机软件已经成为了研究人员的日常工作,在具体的软件研究过程中,软件测试技术的使用是必不可少的,因此软件开发人员还应切实做好相关工作,解决软件开发所面临的困境,不断提升自己的开发水平,对软件开发工作进行深入研究,促进软件事业的持续发展。 作者:高俊 邹金萍 单位:江西生物科技职业学院 软件测试论文:人才培养的软件测试课程改革 摘要: 本文针对软件测试课程的教育现状,结合软件测试的课程特点和培养目标,从面向应用型人才的培养方式出发,提出了以案例式教学为主导,走教学产业化发展的软件测试改革方案。 关键词: 软件测试;应用型人才;案例式教学;教学产业化 随着我国IT行业的发展,越来越多的企业意识到软件测试的重要性,因此软件测试人员成为当前IT业界亟需的热门人才。面对软件测试人员紧迫的需求形势,应用型人才培养单位应该扩大软件测试人员的人才培养规模,提高培养质量。 一、《软件测试》课程教育现状 我国软件测试技术发展已有十余年,但IT市场对于测试人员仍然呈现出供不应求的势态。目前国内高校对软件工程专业几乎都会开设软件测试课程,甚至有些高校已经设置有软件测试专业。2011年11月,教育部主办了“2011年高等学校软件测试课程教学论坛”,对测试人才的培养及测试领域的全面发展起到了积极地推动作用[1]。高校系统化的专业教育体系为学生奠定了扎实而科学的学科基础,并对软件测试技术的理论化和系统化发展起到了不可替代的作用。利弊相依,传统的人才培养模式对软件测试课程设置和培养方案上还是会存在以下不足。 1.重理论轻实践在传统的软件测试课程设置中,大多采用教师在课堂上讲授理论知识,学生上机时完成实验操作的教学方式。实验的目的只是为了检查学生知识点的理解和掌握,实验题目大多比较陈旧,不能与时俱进地与当前的最新技术或最热门的应用相结合,使得学生的测试知识体系过于单薄。 2.重学生个体知识积累,轻团队协作能力培养团队协作在软件工程中的重要性无须多述。软件测试作为软件工程中重要一个环节,贯穿于整个软件生命周期,测试人员与系统分析员、软件设计师、程序员、维护人员之间的沟通必不可少,良好的团队协作才能有助于项目的进行,有助于高效、正确地开发出高质量的软件产品。传统的教学模式中,很少引入分组协作的环节去锻炼学生的沟通和交流能力,更不能设计出测试人员和开发人员的沟通场景,不能满足学生在项目中去加深理解、巩固提高的需求。 3.重即有知识,轻科学创新一直以来,软件测试课程在高校的课程体系中受到重视并不多,课程结束后并没有延续测试知识的后续课程。因此,学生不能在后面的学习和实践中进行总结提升。知识在母体中是要经过消化、适应、转化、演进、创新、融合、活化,而后才称为组织的“行动知识”,现有的教学模式不能很好的产生知识发酵效果。 二、《软件测试》课程特点和培养目标 软件测试是一门应用型较强的学科,应注重理论联系实践。一个合格的软件评测师除了要掌握即有的测试理论和软件知识外,还必须具备对软件测试行业的深刻理解,必须具备对计算机专业知识,包括编程技能、数据库、网络、中间件等知识的系统掌握,必须具备沟通能力、团队协作精神。软件测试是为了尽可能多地发现并排除软件中潜藏的错误,最终把一个高质量的软件交给用户,这并不是一项简单的工作。要做好软件测试,测试人员不仅需要站在客户的角度思考问题,真正理解客户的需求,具备良好的分析能力和创造性思维能力,完成功能测试和界面测试,而且要能理解软件系统的实现原理和各种使用场景,具备扎实的技术功底,能使用测试工具完成相应的性能测试、安全性测试、兼容性测试和可靠性测试等更具挑战性的任务[2]。从这个角度看,一个优秀的测试工程师需要掌握更多的知识和技能。 三、《软件测试》课程教学改革方案 以上可以看出,当前高校对于测试课程的不重视,以及当前的软硬件设施及教学方法都不能满足对应用型测试技术人才的培养要求。为了适应软件产业发展对测试人才的迫切需要,实现软件人才培养的持续性发展,针对软件测试课程调整培养方案,展开深入的教学改革和实践活动十分迫切和必要。 1.加大师资力量,构建完善的软硬件测试平台教师素养的提高是软件测试教学改革得以顺利开展的前提。此前,国内对软件测试并不重视,致使国内软件测试人才短缺,大部分高校内虽然有计算机系,但多以重开发轻测试,测试教师的专业素质和数量都远远不够。因此,不仅要重视对教师测试专业技术的培训,提供更多的学习机会,也应该认真开展软件测试教学研究,构造专业的软件测试教学团队。作为一门实践性较高的课程,软件测试必须建议专门的、完备的实验教学体系和环境。目前,高校普遍缺乏软件测试的软、硬件环境,致使学生无法通过项目实践来深入理解和提高测试相关知识和技能。 2.运用案例教学,丰富软件测试项目实战案例在教学活动中,学生总是对最新、最流行的项目和案例感兴趣,陈旧的案例既不能满足当前市场上对测试人才的技术需求,又不能很好的激起学生的兴趣。运用案例教学最重要的环节就是丰富案例素材,保持案例的“鲜活性”与“生命力”。高校可以采用历年本科毕业设计中运用了流行的技术、难度适中、功能较为完整的应用作为软件测试课程的测试案例,不但可以保证素材的延续性,也使得学生毕业设计完成的质量有所提高。 3.加强校企合作,走教学产业化发展之路[3]企业需要人才,高校为企业输送人才,校园中学习的技能最终要接收用人单位的考验。所以与软件企业合作,建立对口的学生实训基地,是应用型人才培养的重要途径。软件测试技术的掌握与提高离不开项目实战,让学生在真正的软件工程过程中从事测试工作,不仅能使学生深刻体会到软件测试在整个项目中的作用,掌握测试方法和技巧,对于学生的沟通交流能力、团队协作能力都有积极的促进作用。 四、小结 软件测试是保障软件质量,验证软件可靠性的重要环节,其重要性不言而喻。重视软件测试应从企业用人的实际需求出发,高校应加强面向企业需求的软件测试改革,切实培养学生的动手操作能力,使学生掌握最新的测试方法和技巧,让企业需求促进和推动高校教学发展。 作者:于营 单位:三亚学院 软件测试论文:软件测试质量管理论文 1测试流程不合理 1.1测试设计重点偏离使用QC软件测试发现bug统计,如表1所示。根据表1工作量统计,25人/日为5个中级测试工程师一周的工作量,但是根据测试用例发现的bug数量仅占bug总量的44.18%,该比例显示测试用例的设计重点严重出现偏离。需要在测试用例设计的方向上进行调整。 1.2测试过程不可控QC软件测试计划中测试执行阶段为2013.3.8-2013.3.27,执行三轮测试;实际测试时间为2013.3.23-2013.4.20,执行测试三轮,计划完成时间严重偏离,表2为原计划与实际计划的对比。表2显示测试计划进行了较大调整,计划截止时间比原计划延迟23天。延迟原因经分析主要为开发提交测试时间延迟,开发提交版本问题较多,测试计划安排不合理,在两轮测试间为安排开发修改bug时间等。想要解决该问题,不仅需要对测试过程进行管理,同时也需要对开发提交的测试版本质量进行管理。 2软件质量管理改进对策 2.1需求工程管理软件开发过程中,需求不明确会带来需求的频繁变更,浪费了很多时间。针对此项问题,可对需求相关的活动进行统一管理,其需求管理结构图如图2所示。加强需求开发和需求管理的有机结合,不仅减少了需求的变更次数,还解决了工程师对需求不能理解到位的问题。需求开发和需求管理同样重要,只有两者互相配合才能做出用户满意的产品。 2.2立项管理为了使有限的资源发挥更高的价值,公司可通过立项管理流程进行立项管理,立项管理流程分为立项建议、立项评审和立项筹备三个阶段,其具体流程图3所示。 2.3测试流程管理针对测试流程中发现的问题,可对整体的测试流程做如下的改变:(1)测试部门可进行需求学习及需求讨论,对理解不清楚及有疑问的需求,由研发设计部门进行解答,研发设计部门不能解答的由其联系用户确认后作出解答;(2)需求确认后,针对系统功能和性能等指标,由测试工程师进行测试测用例的设计,设计从两个方面进行,一方面测试工程师根据需求进行测试用例的编写,另一方面测试工程师可根据用户反馈问题进行分析汇总;(3)使用QC功能测试工具对应用软件兼容性、操作系统兼容性进行测试,以便于使用测试工具完成多种环境下的功能和兼容性测试;(4)进行自由测试以便于对系统测试用例进行补充,分析测试用例未覆盖问题的原因;(5)定期分析缺陷库中的问题,分析问题产生的原因,进行测试用例的修改。 3结论 本文指出了软件质量管理过程中可能会引起软件质量问题的原因,对软件质量管理的相关问题进行了分析,归纳和总结,这些问题在软件开发人员中具有一定的普遍性。实践表明,通过对这些问题进行分类,开发人员可以清楚地知道在软件设计中容易出现的问题,能够及时采取相应的措施,推动软件质量的全面提高。 作者:翁婕丁铁乔扬单位:南京莱斯信息技术股份有限公司质量与技术管理部 软件测试论文:软件测试团队建设的软件工程论文 根据权威机构统计部门调查数据显示可知,在常用的软件开发项目环节中,软件测试工作大约能够占到软件开发工作总量的42%以上,而软件测试所需投入的研究经费成本也将占到总额数的50%。由此可知,软件测试环节对于整个软件工程开发应用具有十分重要的意义。然而,如何建立一支高效软件测试团队对于构建更加完善的软件工程起着直接导向性作用。BarryBoehm曾阐述了人的因素在软件测试中的重要作用,人为所占因素甚至超过了其他环节性因素,其代表理论构造性成本模型认为由于软件测试分析师与程序员的原因会导致其工作效率相差数倍。因此,加强软件测试团队的高效率建设对于构建高质量软件应用程序具有重要作用。 1高效软件测试团队建设的可行性策略 1.1软件测试团队的特质建设 软件测试团队的素质建设对于整个软件工程质量而言具有非常重要的作用,人是测试工作中最具价值也是最重要的资源。因此,应该积极构建合格的、高质量的合作团队。(1)软件测试以及软件工程开发都需要程序员具备足够的自信心,对软件检测结构以及程序的缺陷要如实汇报。对于软件项目工程中出现的各种问题要认真处理,以此减少客户可能遇到的种种问题。(2)软件测试人员还要具备足够的怀疑精神,对可能存在的漏洞性错误要及时予以检测和纠正,进而提高其自我创造力。(3)软件测试团队要积极构建沟通协调能力。可以通过与客户进行必要的沟通来及时发现软件运行中存在的不足之处,其中测试者可以针对模拟环境下用户对于软件环境的应用情况进行科学分析,以此对软件编写过程和总结文档进行反复检查检测,提高软件的运行效率和正确性。(4)必备的检测技术能力。软件测试团队必须具备重要的专业技能,需要精通数据库、通信、网络、GUI测试、测试工具、自动化测试脚本和相关业务领域等,以此全面提升他们的测试能力和测试积极性。 1.2软件测试团队的制度性建设举措 一个优秀的软件测试团队必定拥有一套完善的团队管理制度,拥有明确的职责分工和高端测试人员,通过不断规范团队管理制度,做到扬长避短,及时提升整体测试质量。其中,软件测试团队需要不断加强汇报制度建设、工作总结制度建设、奖惩制度建设、测试审核制度建设、会议制度建设等,通过科学合理地分配职责关系来进一步强化团队成员的素质建设。在此过程中,还要注重对于资深测试人员的正确引导和建设,加强彼此间的沟通交流,不断丰富团队的测试知识库,通过科学吸收先进的测试管理知识来提升整体测试技能和技巧,以此减少开发团队协同工作中的一些领域瓶颈。 2结语 综上所述,本文对目前国内软件工程的发展应用现状以及其中出现的漏洞不足之处进行了分析。只有不断加强对软件测试团队的整体素质和综合开发技能的教育,才能从根本上提升其软件测试技能,要在不断建立健全团队管理制度的基础上加强相关软件工程建设,以此全面提高测试人员的软件工程技术水平。 作者:段炼单位:郑州银行科技开发部 软件测试论文:软件工程中软件测试的必要性 1软件工程提升软件健壮性分析 软件工程目前一直缺少一个明确的定义,但是目前业内专家都一致认为软件工程一般分为需求分析、设计、编码及测试4个环节。其中前面3个环节是整个软件的编写,而最后1个环节的软件测试,则是通过各种专业测试方法来测试软件是否满足软件工程下的10种特性:可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性。 2当前软件测试的现状 从对软件工程的分析来看,软件测试是保证软件最终健壮性的最后一个工序。但是,当前很多软件设计公司,在软件测试方面投入的人力物力都非常低,甚至没有专门的软件测试部门,而是由一些软件设计人员兼职。虽然这样也有了所谓的软件测试这道工序,显然因为软件设计人员本身的先入为主,所以在软件测试的过程中,往往不容易发现潜在的问题。另外有的软件测试人员仅仅把软件推到市场上,部分使用人员来进行测试,虽然这也是一种测试方法,但是这种由用户测试的软件测试环节,更多的是在软件的操作体验的测试,并不能够发现软件潜在的bug,正确的软件测试流程,应该设计专业的测试软件,通过白盒测试的方法来针对软件代码进行测试。而上述的仅仅测试界面和操作,那只是软件测试中的黑盒测试法,只有综合白盒和黑盒,才可能获得更好的软件测试效果。但是,目前能够综合这2种测试方法的专业软件测试部门,还是非常稀缺的。这自然导致了国内整个软件行业的软件健壮性存在缺陷的主要原因之一。 3软件测试重要性分析 3.1软件危机下凸显软件测试的重要性 软件危机一直是IT行业的最重要的话题,其实在软件危机这个名词出来之前,软件工程就已经初步有了核心流程,不过正是因为很多专家有着自己的理论,所以让软件工程这门技术的解释出现了很多不同的版本,不过在众多版本中,软件测试始终占据一个重要的模块。软件危机常见的表现就是因为软件在开发的过程中,成本失控、时间跳水、稳定性和兼容性欠缺等诸多问题,而不得不一而再再而三的重新开发,特别是软件在设计的过程中,对于可维护性、可修复性不重视,导致维护的成本占据了整个软件生存周期的90%以上,这很明显是不正常的。通常而言,软件维护的成本应该是软件生存周期的70%以下,超过70%,这个软件最终的结局一定会失败。软件测试的过程,除了针对软件的运行是否稳定,同样也会对软件的可维护性进行有效的判断,尽可能的避免软件危机的产生,所以从软件危机的角度上来看,软件测试在软件工程中的地位无疑是非常重要的。 3.2软件测试的必要性 (1)是交流的问题,容易导致软件接口处的错误。现代软件设计已经不是单人作战的模式,已经上升到团队甚至全球软件工程师通过互联网这个大平台进行合作,这种方式显然对软件工程规范要求更高。其中交流往往就成了一个很重要的问题,很多软件工程师在设计的过程中,尽可能的将自己负责的模块做到完美,甚至也能够考虑到模块间的借口问题。但是因为交流上的不便,或者忽视交流,往往会产生2个模块接口不兼容,甚至还会发生软件需要重新改写的问题。 (2)软件结构有越来越复杂的趋势。虽然软件开始实施模块化设计方式,将一个软件整体拆解成无数个小的系统模块进行设计,然后将设计好的模块进行统一封装。这种化整为零的软件设计方式的确有效的改善了软件复杂性的问题,但是同样也面临着模块间的兼容问题,不同设计师的设计风格可能会导致软件可维护性降低及可移植性降低,特别是一些软件开发公司,根本就没有软件工程的概念,其研发的软件产品,更是漏洞百出,自然很难保证软件产品的健壮性。 (3)程序代码的设计问题。目前一个软件的诞生,往往会有好几千万行的代码,而且在软件正式代码编写之前,还需要撰写概要设计代码和详细设计代码,这些往往都给错误埋下伏笔。如果程序设计代码撰写不规范,没有相应的注释,没有相应的模块设计,往往计算式发现了软件的错误,最终维护起来,也很难让维护工程师定位,甚至连测试工程师也很难找到错误的地方。 (4)设计文档的组成非常少。一个软件产品的诞生,除了优秀的代码设计之外,还要一份完善的代码文档,包括软件的可行性研究、需求分析、详细设计、代码编写,以及软件测试等工作流程中所需要的一切的代码文档。如果代码文档贫乏,甚至没有,那么一旦在软件测试环节,或者在软件使用环节,出现错误时,那就很难进行维护调试了。这时候的维护成本往往会比重新编写一款软件的成本还要低,可见设计文档的错误撰写给软件健壮性的影响。 (5)一些软件测试工具和开发工具本身的问题,往往导致软件出现严重的bug。而且在设计阶段,还很难发现,因为是本身软件测试工具和软件开发工具引起的,因为软件测试工具和开发工具实际上也是一种软件,如果这些软件的健壮性有问题,自然也会导致测试结果出现偏差,最终影响到软件的健壮性。 3.3软件测试成本过半证明了软件测试的重要性 软件工程虽然在很多专家和权威机构的定义有所偏差,但是无一例外,对于软件成本构成的分析上,软件测试的成本一直占据了主要部分,最低的认为,软件测试成本要占据30%,最高的则认为占据到50%。如果将后期维护成本也放在软件测试板块中,那么这个测试成本就会变得更高。因为软件进入维护期时,一旦出现软件需要进行调试,那么修复后的软件依然要进行软件测试,否则很难保证调试后软件依然能够保证健壮性。作为一个软件系统的所有代码,都是牵一发而动全身,修改了某处代码,可能会影响到另外一个模块的功能,所以在维护期内,对软件的任何变动,都需要进行软件测试,才能够保证软件接下来的健壮性。但很明显,如果将软件测试工作放在软件推出市场之前,就来进行有效的测试,那么对于软件整个生命周期的成本,将能够得到有效的降低。软件测试的成本的高低,往往和软件的质量成正比,而软件质量提升了,后期的维护成本就能够有效的降低,所以综合起来,软件测试这部分的成本支出是非常有必要的。 4软件测试流程分析 (1)建立独立的软件测试部门,测试部门领导应该对这个专业非常精通,而不是简单的由开发人员兼职,这个测试部门需要从可行性研究开始就应该着手对软件研发进行测试,可行性研究的最终确认应该也有软件测试主管部门的签字确认才能够进行下一步的工作。 (2)软件测试工作不是等到软件全部开发完毕才来进行测试,而是跟随软件设计的整改生命周期,针对每一个环节进行测试,软件测试部门应该拥有独立的物理部门和独立于开放环境的测试环境,这样才能够提供更加完善的软件测试,尽可能的将软件bug扼杀在摇篮里。 (3)软件模块测试,因为现在软件设计都已经进入模块化设计标准,比如一个完整的软件是S,它有A、B、C、D等模块构成,那么对于A模块的软件设计过程中,就应该有独立的软件测试人员进行跟踪,直到A模块被测试证明没有隐患。以此类推,分别对B、C、D等模块分别进行测试,合格以后,组装后的软件依然进行测试,这样才能够最终提升软件健壮性。在软件设计的过程中,其实测试人员是和软件开发人员并行工作的,而不是等到软件设计完毕之后,再来对模块进行测试,这种方法才能够提升软件测试的效果。 5结语 软件测试随着软件系统复杂性的不断提升而变得越来越重要,如果现在的软件设计公司依然按照传统的软件研发,只注重软件的功能设计,而忽视软件测试,通过不断的压缩测试成本,希望以此来提升软件最终的利润作法已经行不通了,只有将软件测试做好、做精,才能够提升软件的健壮性,才能够提升软件的生存周期,才能够降低软件的整体成本。 作者:董倩范亚斌单位:石家庄学院 软件测试论文:探微软件测试在软件工程的重要性 1关于软件测试的认识 在软件开发的每一个阶段中,人员的参与都是离不开的部分,而人的工作以及人们之间的通信质量有很难做到完美无缺,这就导致了错误是不可避免的。另外,伴随着计算机控制对象越来越复杂,且软件的功能及规模也在不断的提升,这也使得错误相对而言更容易发生,比如对于WindowsNT操作系统来说,其代码约为3200万行。总体来看,在软件设计阶段,人们所犯的错位是引起软件失效的主要原因,而软件缺陷的根源则在于软件的复杂性。在确保软件可靠性以及质量的过程中,软件测试属于最为主要的手段,以当前的软件工程来看,多以结构化分析及设计作为核心,因此在开发阶段,需求分析以及设计都是以工程管理以及技术评审作为质量的保障手段,而工程管理以及技术评审又存在着主观上的缺陷,很容易遗漏错误使其延续至开发阶段。客观来说,软件测试在发掘软件中隐藏缺陷的过程中的确有着很好的效果,以英国的SHOLIS项目来看,这一项目使用形式化方法对软件规约进行描述及证明,而且利用程序正确性证明方法对前期的很多缺陷进行排除,但是通过软件测试却依旧发现了整个过程15.175%的缺陷。此外,随着人们对软件测试重要性的认识越来越深,其所在软件开发周期中所占的比例也越来越高,当前很多软件开发机构已经将其40%的研制力量投放到了软件测试中,而对一些比较重要的软件来说,其测试的费用往往会高达其他阶段费用的3至5倍,由此可见,不管从哪个角度出发,软件测试都是非常重要的。 2软件测试分类 当前的软件测试技术主要可以分为动态测试以及静态测试,其中,静态测试主要是指在不执行程序代码的情况下找到程序中有可能存在的缺陷或者对程序代码进行评估的过程中,广义上看,静态测试还包括软件需求分析以及技术评审。至于动态测试,则是通过抽样测试数据对程序进行运行以起到检查程序中存在的缺陷。在动态测试的过程中,其核心内容主要包括测试用例、运行正与以及对于程序运行结果进行验证这3部分内容,此外还包括一些数据管理、文档编制、操作规程等辅助方面的工作。 3软件测试的对象 在软件测试的过程中,不单单进行一些比较简单的程序测试,也就是说仅对程序能否运行进行测试是远远不够的。具体来看,软件测试要贯穿在软件定义以及开发的整个过程中,因此软件测试的对象包括需求分析、系统设计、程序编码以及各阶段说明文档。此外,因软件开发过程中各个阶段之间有着非常金敏的衔接,因此如果前一阶段出现问题必然会对下一阶段段的工作造成影响,所以为了确保每一个阶段的正确性,我们要做好确认及验证工作。具体来看,确认主要是对需求规格以及程序进行确认,这既含有静态确认,又有动态确认,其中静态确认大多数是由人工进行分析,而动态确认则是利用动态分析以及程序测试对程序执行的情况进行检查。至于验证,则主要是采取一定手段对程序执行情况进行检查,进而证明软件各阶段中的完备性、正确性以及逻辑协调性。举例来说,我们验证的对象包括测试用户需求和系统分析员报告是否想和、设计说明书和测试需求说明书是否匹配等。 4软件测试目的及原则 4.1软件测试目的 测试目前因立场的不同又可以分为两种,从客户角度来看,总是会希望通过测试来发现软件中的缺陷及隐蔽错误。而从软件开发者角度来看的话,则是希望产品少出现错误,对软件已经符合客户需求进行验证,在这种思路下,测试人员会使用一些导致程序失效概率小的测试模块进行测试,并对容易导致错误暴露的测试用例进行回避,而且对于有可能出现副作用的语句也并不会去刻意的检查。基于此,在程序中,还存在很多预料不到的问题,而这类问题往往要在一些比较特殊的环境之下才能够表现出来。从以上分析我们可以看出,在对软件进行测试的过程中还是要更多的站在用户角度对问题进行考虑。 4.2软件测试原则 (1)“尽早和不断的进行软件测试”,只有时刻牢记这一原则才能够降低软件开发中由于工作多样化、人员配置复杂化所带来的不利影响。具体实践的时候,我们首先要端正态度,对各阶段技术审核要认真进行,另外,我们还要将软件测试贯彻到每一个环节中,进而早对错误进行发现和预防。 (2)测试用例选择的过程中要有输入数据和以及和输入数据相对应的预期输出结果,具体来看,在我们进行软件测试的过程中要选择比较适合程序段的测试用例,这些用例可以对程序员所编制的程序是否存在错误进行分析,而给出预期的输出结果则可以对程序段是否存在错误进行更为快捷的判断。 (3)要避免程序员对自己的程序进行测试,在软件测试的过程中,冷静的情绪以及客观的态度是不可避免的,而人又很难对自己的劳动成果进行否定,因此在程序员对自己程序进行检查的过程中会从主观上出现偏差,导致测试结果不准确、不客观。 (4)设计测试用例的过程中要注意使用不合理输入套件,所谓不合理输入条件主要包括输入异常或者会导致异变的条件。在软件正常使用的过程中,不合理输入是不可避免的,轻则会导致运算错误,严重的时候甚至会使软件失效。 (5)对测试工作中的群集现象进行注意,针对测试过程中错误较多的程序段,要对其进行详细认真的检查,这是因为从经验上看,程序段中残存的错误于已发现的错误往往会成正比。 (6)对测试要认真执行,这是指我们要做好一个详细的规划,具体来说,规划主要包括:软件功能、输入、输出以及每一功能测试的进度安排等。 (7)对测试计划、用例、出错统计以及分析报告等进行妥善的保管,进而为日后的软件维护提供更为便捷的服务。总体来看,在我们的工作中如果能够把握住以上原则必然能够对提升测试工作的效果起到很强促进作用。 5结语 在软件开发工程中,软件测试属于一个重要的环节,一旦缺乏了这一环节,所开发出的产品必然难以满足用户的要求。本文关于软件测试必要性的分析还存在很多不足之处,也希望各位测试人员能够对其进行补充及指正,进而共同促进这方面研究水平的提升。 作者:楼炜单位:同济大学软件学院 软件测试论文:软件测试技术在铁路产品开发中的作用 按照软件特征分类,软件测试可分为:功能测试和性能测试。功能测试是黑盒测试的1个方面,它检查实际软件功能是否符合用户的需求。一般分为:逻辑功能测试、易用性测试、安装测试和兼容性测试等。性能测试主要有时间性能测试和空间性能测试2种。通常还包括:一般性能测试、可靠性测试、负载测试、压力测试。其它分类还包括:回归测试、冒烟测试、随机测试。回归测试是指对软件的新版本测试时,重复执行上一版本测试时的用例。冒烟测试是指对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。随机测试是指测试中所有的输入数据都是随机产生的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。 软件测试过程一般来说,软件测试工作从立项后就开始了,主要经历以下几个主要环节,如图1所示。需求分析是软件测试的1个重要环节,测试人员对这一环节的理解程度将直接影响后续测试工作的开展。一般而言,需求分析包括软件功能需求分析,测试环境需求分析,测试资源需求分析等。测试计划的依据主要是项目开发计划和测试需求分析结果而制定,测试计划指导整个测试过程。测试设计在测试活动的各个阶段,对测试策略、测试方法、测试用例进行制定和编写。测试环境搭建要尽可能模拟实际应用场景,满足项目的设计要求,从而达到理想的测试效果。测试执行和测试记录由测试工程师完成,主要是查找软件的错误和缺陷,并记录测试活动中出现的问题。缺陷管理是对测试活动中出现的BUG进行管理和跟踪,保证每个BUG得到及时修复。软件评估是在测试活动的最后,对软件进行全面地分析和总结。 铁路产品开发过程中容易忽视软件测试 铁路产品供应商普遍重视占领市场份额,追求利益的最大化,提升产品的服务质量,但是却容易忽视保证产品质量的软件测试,这给铁路安全运输带来巨大安全隐患。项目的开发过程通常是确定项目负责人和项目参与人、项目的方案以及项目需要完成的时间,然后投入项目的开发。研发过程中采用团队协作,项目分工到人,经过程序编写、调试,最后集成为产品,并在实验室和现场环境下进行测试实验。对于项目进展情况的掌握是通过不定期的召开会议和单独询问主要开发人员以及研发人员汇报来实现的。 在这种开发模式下,因为项目的开发过程中没有系统和独立的测试过程,所进行的测试也是以正向思维为主,重点验证软件是否实现了相应的功能,而不是软件在异常情况下的响应和处理。软件开发和软件测试本来就是不同的活动,开发人员的工作目标是创建相应模块,实现特定功能,从而会不自觉地朝这个方向努力,挑选那些使程序出错可能性较小的测试数据和手段,无法保证软件被全方位进行测试,会给项目带来隐患。正是认识到这一情况,才大力主张产品开发应进行科学和规范性管理,加强软件测试队伍建设,任命专职人员从事测试工作。利用软件领域中的相关技术,对软件进行科学、合理的测试。 如何在企业内部实施软件测试 企业想要在产品开发过程中,对产品软件展开相关测试,首先应建立合适企业特点和开发模式的测试流程;其次,对不同测试阶段和不同产品的软件和硬件的特点,拟采用不同的测试技术和策略。另外,在产品开发过程中,项目的配置管理、质量保证的等方面都应形成明确的制度。 1测试流程 企业应全面规范项目开发管理流程,对项目进展的各个阶段进行明确划分。软件测试是建立在软件开发的成果之上,即测试的对象就是软件开发的阶段性成果,如设计文档、程序代码和可执行的程序。 软件测试和硬件测试的侧重点有所不同。对于软件测试,采用比较通用的测试流程,如图2所示。软件项目的开发从项目立项开始,测试人员介入项目组,明确需求分析阶段的用户需求,针对不同测试阶段的工作重点,制定各阶段的测试计划。在设计测试阶段,测试人员需要确定各测试阶段的测试方法和必要的测试工具,搭建测试环境,编写相应的测试用例。接下来,按照测试计划分别进行单元测试、集成测试和系统测试,形成各阶段的测试报告,对测试过程中发现的缺陷进行跟踪,保证缺陷得到及时修复。为了保证软件在现场环境下能够正常运行,测试人员针对现场实际情况,制定现场验收计划,确定现场验收策略,对软件进行现场验收和评估。当软件通过了各阶段的测试,且全部缺陷得到修复,将进入到软件的阶段。软件阶段通过对软件版本的管理和控制,实现软件、维护和升级等。 对于硬件测试,需要面向硬件编程,即在硬件环境下,编写代码,实现采集、控制、通讯等功能。由于硬件产品的开发不能脱离硬件环境,因此,测试活动与硬件产品开发、过程调试、硬件联调都是密不可分的,软件测试作为硬件产品开发过程中的重要环节,“验证”和“确认”产品满足项目的设计需求,硬件产品开发流程如图3所示。硬件产品的开发,首先要明确硬件需求,预计产品达到的效果。在硬件总体设计阶段,获取硬件需求,并根据功能进行模块划分,定义模块之间的接口。在详细设计阶段,对各模块进行编程,搭建相应的硬件电路。过程调试可分为:软件过程调试和硬件过程调试两种,软件过程调试指的是在硬件电路的环境下,进行软件调试的过程,保证软件能够正确控制硬件电路和读取相应数据;硬件过程调试指的是产品电路部分的调试过程,验证电子器件之间逻辑是否符合系统设计要求,保证硬件产品稳定、可靠,不受干扰。各硬件功能模块调试成功后,需要进行整体硬件联调,各硬件模块被连接成1个整体,形成产品的雏形,在此阶段,主要验证各模块之间的接口是否符合设计要求,是否能够实现系统设计的各项功能。硬件产品经过整体联调后,形成样机。测试工程师根据产品的硬件需求说明,制定测试计划,确定测试方案和测试方法,并搭建测试环境,对样机进行硬件测试,确认产品符合硬件产品设计要求。 2软件测试技术在各阶段的运用 在软件测试实施的各个阶段,所采用的测试方法和测试策略也各不相同。下面对于测试过程的各阶段进行分别叙述。 2.1设计和代码审查 设计审查是由项目组和测试组成员组成评审组对软件设计和开发的输出进行评价,以判断确定设计和开发的输出能否实现软件产品预先定义的规格,同时通过审查标识出与项目需求之间的偏差。设计审查按《项目计划》所规定的评审点进行。因临时变更引起的突发性的评审随时进行。代码审查实际上属于静态测试。在代码审查之前,首先要对代码进行静态分析,其目的是通过对源程序分析、目测,但不执行程序,找出源代码中可能存在的错误和缺陷,对程序设计的结构属性,如分支、路径、转移等进行审查,尽可能地掌握程序的结构,为单元测试的测试用例的设计和执行提供信息。代码审查的目的是检查源程序编码是否符合详细设计的编码规定,确保编码与设计的一致性和可追踪性。检查的方面主要包括:书写格式、子程序或函数的入口和出口,数据,参数,程序语言的使用,存储器的使用,可读性,逻辑表达式的正确性,代码结构合理性等。静态分析和代码审查通常可以同时进行,通过静态分析掌握源程序结构,通过代码审查,尽量减少书写错误和隐含的逻辑错误,为单元测试提供比较稳定的环境。 2.2单元测试 单元测试是软件测试的基础,集成测试、系统测试都是建立在单元测试之上。单元测试是用来检验每个软件单元能否正确地实现其功能,满足性能和接口要求,还要验证程序和详细设计说明的一致性。从广义上来讲,单元测试包括静态测试和动态测试。静态测试就是上面介绍的“代码审查”,而动态测试则是通过测试用例、测试工具来执行程序,检验程序是否存在缺陷的过程。单元测试一般采用白盒测试方法,手工测试和自动测试相结合,针对程序内部的结构和逻辑来展开,单元测试工具一般针对不同编程语言和开发环境而设计开发的,种类很多。我们利用白盒测试进行代码测试,利用黑盒测试进行功能性测试,利用回归测试保证维护代码的完整性。单元测试工具固然有用,更重要的是测试策略,以及测试用例的设计。这也提醒我们在做单元测试的过程中,不可避重就轻,要抓住项目核心,进行科学、有效的测试,只有这样才能达到事半功倍的效果。 2.3集成测试 集成测试阶段采用白盒测试和黑盒测试相结合的方式,将每个独立的功能模块进行关联和集成,便于进行功能测试、界面测试、结构测试、数据正确性测试等。在进行集成测试前,测试工程师要搭建测试所需的硬件和软件环境,尽量模拟设备实际的工作环境。结合项目的不同特点,测试过程可以采用手工或自动测试。在进行多次重复测试和回归测试的情况下,可采用自动化测试工具对软件进行功能性检测。 2.4系统测试 在系统测试阶段,不仅要进行功能测试,还要对系统的性能、安全性、兼容性和可靠性等进行测试,系统测试涉及人机交互和复杂逻辑,因此系统测试多采用黑盒测试的手工测试方法。系统兼容性测试要考虑软、硬件的兼容性。项目开发的硬件和软件要在指定的环境下,进行多次反复的安装和反安装测试,以验证接口数据调用和驱动程序是否达到设计标准。安全性测试和软件的安全策略密切相关,安全性测试主要包括:用户访问权限、数据库安全性、文件安全性等。性能测试、负载测试等必须借助测试工具来实现。过分强调测试工具的作用,极力追求各种软件测试工具,是软件测试本末倒置的表现。实际上,测试过程中80%以上的缺陷是手工测试发现的,仅有不到20%的缺陷是靠工具测试发现的,而且这还得要求测试人员合理地使用工具。 3采用的测试模型 企业对产品开发应重点关注产品开发的过程控制,以及测试、管理。保证产品质量从源头开始。因此,测试过程更适合采用W模型,如图4所示。在W模型中,测试过程和开发过程都贯穿项目开发过程的整个生命周期,两者同时开始,同时结束,相辅相成、始终保持着同步的关系。这样做的原因是:测试工作尽早介入,软件存在问题的可能性就会降低。项目正式立项后,测试人员既可参与到项目组中,通过学习和阅读相关文档,加强对项目的了解,对项目有个整体认识,形成初步的测试思路。同时测试越早介入项目就能够越早发现问题,解决问题所花费的成本越小。如果在软件的最后阶段进行测试,发现功能设计不合理或性能不好,需要修改需求和设计,不得不返工到系统设计或需求定义阶段,会造成很大的代价,所以有必要将软件测试延伸到需求、设计阶段,对需求、设计进行验证。有资料表明,60%以上的软件错误不是程序错误,而是分析和设计错误。若把软件分析、设计上的问题遗留到后期,可能造成设计、编码的部分甚至全部返工,从而增加软件开发成本及延长开发周期等后果。同时,需求和设计阶段所产生的缺陷具有放大效应,严重地影响软件质量。因此,为了更早地发现并解决问题,降低修改错误和缺陷的代价,有必要将测试延伸到需求分析和设计阶段中去,使软件测试贯穿于整个生命周期,提倡软件生命周期测试的理念,即软件测试是对软件形成过程中的所有工作产品(包括程序以及相关文档)进行的测试,而不仅仅是对程序的运行进行测试。测试在对需求和设计阶段的测试活动主要是通过需求评审和设计评审来实现,可以更早发现问题,及时修改问题。即对软件开发阶段中的阶段性产品进行评审、走读或者回忆评审,发现其中的问题,是一种静态测试。通过静态测试,可以更早地发现问题,把问题消灭在萌芽中,将每个阶段产生的缺陷及时清除。 总结 软件测试作为专业性比较强的技术在我国起步较晚,受重视程度不够,但它是保证软件质量的终极手段,目前越来越受到了人们的关注。铁路行业的生产企业,认真做好产品质量把关,合理运用相关检测技术,将软件缺陷消灭在萌芽阶段,保证铁路运输和人们生命财产的安全。 作者:朱剑辉单位:哈尔滨铁路局科学技术研究所
计算机软件基础论文:计算机软件开发的基础架构原理研究 摘要:计算机软件开发行业的发展得益于当前信息技术的快速发展和信息受众不断增加,当然计算机软件开发也需要遵循特定的规律,依照其基础架构原理来进行操作,才能够保证计算机软件开发朝着有效性的方向发展。且计算机软件设计的过程,就是在逻辑关系的引导下,实现软件内容的重新确定,进而形成对应的基础架构,这是软件运行的前提和基础,甚至会影响到后期软件系统的维护和管理工作。由此积极探讨计算机软件开发的基础架构原理,是很有必要的。文章由此入手,积极探究计算机软件开发的概况,进而分析计算机软件开发的基础架构原理。 关键词:计算机软件开发 基础架构原理 信息技术 计算机软件设计的过程,就是在逻辑关系的引导下,实现软件内容的重新确定,进而形成对应的基础架构,这是软件运行的前提和基础,甚至会影响到后期软件系统的维护和管理工作。由此积极探讨计算机软件开发的基础架构原理,是很有必要的。 1 计算机软件开发的概况 1.1 计算机软件开发的概况 计算机性能的不断提升,使得人机交互效益得到不断展现,越来越多的行业开始尝试以计算机软件开发的方式,实现自身运营模式的信息化转变,由此以对应需求为基础的软件开发行业得到了快速的发展。计算机软件开发具备以下的特点:持续性特点,就是软件开发是一个循环往复的完善过程,在计算机逻辑基础上,计算机软件的缺陷是一直存在的,只有不断的采取措施去修正,才能够更好的发挥计算机软件的性能;针对性比较强,往往都是针对于某一行业或者领域而开展的计算机软件开发工作,其开发工作的目的性更强,对于效益的追求也是更加强烈的。 1.2 计算机软件开发基础架构的重要性分析 当前计算机软件开发过程中,使用量比较多的基础架构,就是三层结构体系,其分别可以归结为:其一,表示层;其二,逻辑层;其三,数据层。在上述三个层次的基础上,可以使得软件的人机交互界面展现出良好的性能,使得逻辑关系和计算机语言之间得以分离,这样在后期维护和修改的时候,单独的对人机交互模式进行调整,就可以使得软件开发的节奏变得更加快捷。由此可见选择合理的计算机软件开发基础架构,对于软件性能的最大化发挥,对于软件后期的维护和管理工作质量提升而言,都是有很大帮助的。 2 计算机软件开发的基础架构原理分析 2.1 从计算机软件开发基础架构需求的角度来看 无论是开发设计怎样的软件,都需要在明确开发目的的基础上进行,也就是需要对于软件的需求进行全面分析。不同的企业,归属的领域不同,所需要展现的功能也是很有差异性的,此时企业都会提出对应的软件开发需求。在此过程中,计算机软件开发者与信息企业之间会展开大量的协商工作,对于软件的功能进行分析,结合企业业务运行特点,实现计算机软件开发方案的敲定。为了做好需求分析方面的工作,需要特别注意以下几个方面的工作:建立完善的软件企业与需求企业之间的沟通机制,保证在软件需求分析的过程中,能够充分的了解企业组织的业务特点和规律,保证软件开发需求能够更加明确。 2.2 从计算机软件开发基础架构编写的角度来看 计算机软件开发基础架构需求分析结果得出之后,就需要进行实际的软件编写工作,从当前的实际情况来看,多数使用的是C语言,这种语言的特点为:语言结构结构比较好,编写操作比较快捷,是当前程序员使用频率比较多的语言模式。在实际的软件编写的过程中,会依照对应的功能划分,实现不同模块的敲定,保证不同模块都能够发挥自己的功能,此时需要建立对应的函数模式,使用这样的主函数对于各个模块进行调节和改善,这样可以保证结构能够更好的维护。当前一个计算机软件的开发工作,都是有多个程序员来共同完成的,这样可以尽可能的保证软件编写工作的高效性。 2.3 从计算机软件开发基础架构测试的角度来看 在计算机软件开发基础架构编写工作完成之后,就需要对于软件的不同功能实现测试,实现对于软件测试阶段的管理和控制,是保证软件性能发挥的关键所在,这也是将对应计算机软件投入使用之前必然要进行的工作。在此过程中,需要关注以下几个方面的内容:其一,输入特定的参数,对于软件的运行情况进行记录,验差运行情况与理论情况之间差异性;其二,使用白盒子和黑盒子的方式去进行测试,同样对于软件测试的效果进行记录,由此实现实际计算机软件开发工作的顺利开展;其三,除了测试工作之外,还应该做好计算机软件开发基础架构的维护和管理工作,定期对于软件的性能发挥进行检查,并且推出全新的版本,进而实现软件自身的修复,这样可以使得其自身的性能得到全面提升。 3 计算机软件开发基础架构选择的基本原则 计算机软件开发基础架构的选择,关系到计算机软件效能的发挥,牵涉到各行各业信息化的快速发展和进步。在选择计算机软件开发基础架构的时候,需要关注以下几个方面的内容:其一,树立软件设计目标意识,在需求分析的基础上,对于不同的基础框架进行选择;其二,使用先进的逻辑语言和编程技术,对于计算机软件架构进行合理的编写和操作,由此才能够保证基础架构开发工作的高效性;其三,依照软件目标功能和结构选择之间的关系分析,选择合适的结构,进而使得软件开发行为朝着有目的性的方向发展和进步;其四,注重计算机软件开发团队的塑造,处理好不同模板开发之间的关系,保证计算机软件基础结构选择得更加科学和合理。 4结语 综上所述,计算机软件开发过程并不简单,其中不仅仅涉及到专业领域的知识,还关注到计算机软件基础结构的原理,处理好这两者之间的关系,才能够保证计算机软件开发的基础架构工作朝着更加高效的方向发展和进步。从当前计算机软件开发基础架构原理的运用实践来看,其基础架构选择还存在很多不合理的情况,此时就需要采取对应的措施来改善和调整,相信随着在此方面实践经验的积累,计算机软件开发的基础架构将会展现出更加大的效能。 计算机软件基础论文:计算机软件基础课程实验教学研究 摘 要 计算机软件基础是一门实践性强的课程,为增强教学效果,增强学生的编程能力,强调以学生为本,提高学生的学习兴趣;实验教学应尽早介入教学过程,让学生边学边用;建立多层次实验教学内容,发掘学生实验潜能;建立多样化实验教学方式,方便学生自学。把实验教学做好做实,既能巩固理论知识的学习,又能切实提高学生的编程能力。 关键词 计算机软件基础;实验教学;编程能力 计算机软件基础是我国高等院校电类非计算机专业本科生的一门基础课,为相关专业学生打下利用计算机语言编写程序的基础,为后续专业课的课程设计、实践环节以及最后的毕业设计做准备,其重要性不言而喻。然而在实际教学过程中,由于多方面的原因,使得本课程教学效果不佳,学生普遍编程能力不强,甚至影响了后续部分课程的学习。要提高学生的动手能力,关键还是要多练。本文在肯定理论教学重要性的前提下,着重就计算机软件基础课程的实验教学部分进行分析,对实验教学环节的介入、实验内容的优化以及实验教学方式等提出一些探讨性的做法。 1 坚持“以学生为本” 计算机软件基础教学如何实现教学目标,其关键的一点就是以谁为出发点,是以教为主,还是以学为主,还是实现教学互动,教学互长,教学互推。从目前的现实状况来看,以教为主的弊病还很明显,迫切需要改变,实现以学生为本,实现教学互动。 以“教”为主的模式已经成为制约学生创造性、积极性发挥的重要因素 计算机基础课程从本质来看应该是一门实操性课程,其涵盖的内容广泛且繁杂,而且实验性强是该课程的基本特点,甚至可以说离开了实验操作,也就实现不了其课程目的。然而从目前的课程安排状况来看,以书本理论知识教学为主仍是该课程教学的主流,计算机软件基础教学都侧重书本理论学习,而忽视了学生实验环节。实践证明,这种教学方式就跟学游泳不下泳池,学骑车而没有自行车一样,学生在学习计算机软件基础知识时,绝大部分是事倍功半,导致学用脱节,无法学以致用。更有甚者,有些学生直到课程结束连最简单的程序编写都掌握不了,这既给教师教学造成很大的困惑,也彻底地打击了学生的自信和学习该门课程的积极性,更遑论实现知识创新,成为软件人才了,这与教学初衷显然是不符的。 原因是在现有的教学模式中,课程实验环节的设置和实验环节介入的时间发生了问题。从实际情况来看,实验环节介入越早,实验安排越多,教学效果也越好。而部分采用边教学边实验,教学与实验融为一体的教学方式,其实现的教学效果更是明显。因此,改变现有的以教为主的教学模式,从理论和实践上探索该门课的一些新的教学方法,已经成为计算机软件教学题中之义,不断创新教学方式,才有可能从根本上改变现有的学习费力不讨好、效果欠佳的状况。 深入浅出地解析理论知识是增强学生学习兴趣的重要途径 “学生是教学活动的主体,教学活动要以学生为中心而展开”,这已经成为现代教学理念的主流观点。从学生学习的心理来看,一方面由于计算机软件课程是基础课程,学生对学习开始阶段接触的软件知识有一定的好奇感,求知欲也相对比较强烈。同时,由于是刚进校门的低年级学生,对大学环境还不是特别了解,仍然具备认真学习的态度,因此,好好学习知识的想法也比较明显。另一方面是由于目前大学生数量急剧增加,社会就业压力明显,学生普遍有学习好专业课,实现良好就业的外在动力。因此,可以说,学生在开始阶段的学习兴趣是比较浓厚的。但由于语言、算法、数据结构等知识,是进行程序设计所必须具备的基础知识,而低年级学生在这方面基本没有知识储备,对其学习方法也并不适应,而原有的知识结构又很难同化现有课程知识,导致难以自学和分析、解决问题,引发学生学习的挫败感,一旦处理不得当,就会使学生学习提不起兴趣,缺少主动参与的积极思维活动、创造性思维活动,更有甚者还会使学生抵触学习,削减学生本身己经调动起来的积极性,影响后续课程的开展。 教育心理学的研究也表明[1]:学生在没有精神压力和心理负担并且情绪饱满、心情舒畅的情况下,大脑皮层最容易形成兴奋中心,思维也最活跃,此时的实践能力最强。因此,如何使学生保持这种状态就成为教师应该考虑的重点问题之一。单就理论教学而言,如何使理论变得通俗易懂,接近生活,易于学生理解,这是计算机软件基础课程理论教学的关键。从实践来看,在授课过程中,教师通过深入浅出地讲解,设置理论问题情境,解答学生在实验中产生的疑问,肯定和鼓励学生的想法等方式,都能比较充分地调动学生的积极性和主动性,使学生更加容易融入教学环节中,也便于学生深入理解理论知识。比如说针对学生提出的一些设想,经常正面地肯定,能使学生更加信任自己,更加愿意去创新,从而与学生实现良好互动。 同时,在课后对学生进行必要的关心,用人格魅力引导学生参与教学,也不失为一种好的方式。比如,通过课后深入学生,与学生建立亦师亦友的关系,与学生打成一片,学生往往会因喜欢教师而喜欢该教师教授的课程,实现良好的教学效果;而相反,教师冷冰冰的态度往往也会成为影响教学效果的一个重要因素。 2 尽早引入实验教学环节 实践证明,计算机软件基础的教学,引入实验教学环节越早,教学的效果往往越好。因此,计算机软件基础课程教学要想在培养软件人才、促进软件产业发展方面有所突破,尽早引入实验教学环节是一条必由之路。 现有的实验课程安排作用并不明显 计算机软件基础是计算机软件的核心课程,其主要内容包括数据结构、操作系统、数据库系统概论,教学目的是让学生掌握数据结构的相关算法,理解操作系统的基本概念,熟悉数据库的基本操作,从而具备初步的软件编程能力。同时,从目前的教学安排来看,该课程安排了一定数量的常规上机实验练习,以便提高学生的软件素质[1]。 但现有的课程安排还存在一定的问题,突出表现在: 一是学生上机练习的题目规模较小; 二是上机内容以章节为主,有的章节有上机内容,有的没有,导致上机实验没有连贯性和系统性; 三是上机安排的内容发挥作用不充分。 从实践来看,培养学生的软件素质必须适当结合电子信息类专业的特点,这对于培养应用型人才的作用至关重要。但从目前上机安排的内容来看,主要是从计算机专业的角度提升学生的软件素质,而并没有与电子信息类专业特点充分结合,其结果就是导致学生对硬件有较好的掌握,而对信源编码等通信软件知识知之甚少,影响课程设计的整体进度。由此可见,目前安排的实验课程其作用甚微,难以达到为学生打下软件知识基础的教学目的。 尽早引入实验教学,利于学生在操作中学习,达到学以致用的目的 从现有的教学来看,学生对计算机软件基础课程学习的困难点主要在于:课程理论知识比较枯燥难懂,上机操作能力不足,导致学生学习兴趣降低,影响了教学效果。比如说在C语言教学中,C语言程序设计作为学习计算机其他课程如数据结构、JAVA语言程序设计等课程的先修课,对于培养学生的计算机技能具有至关重要的作用,因此,提高这门课程的教学质量意义也十分重大。 但是,这门课程首先要讲授C语言的特点、运算符和表达式等内容,而这部分内容恰恰又相对比较枯燥,学生难以提起学习兴趣,而这部分内容通常是安排三周学完,对于初学者来说要在这么短的时间内理解这些理论并不容易。于是等到这部分理论教完开始接触程序设计时,部分学生已经远远落后于教师的进度,导致没有继续学习下去的动力,有些学生就此掉队。 同时也有研究表明[2],部分教授在教授这门课程时,调整了讲课顺序,提前给学生讲授程序设计的内容,安排学生提前实验,让学生亲身体验计算机如何运行C语言程序,而等到学生对C语言程序有一定了解后再讲授运算符和表达式等内容。由于之前学生对C语言有了切身的体会和感受,再学习其他理论时,往往能将这些理论与实验知识结合,加深对运算符和表达式等理论的理解,也提高了学习C语言的兴趣,作用都相当明显。 由此可见,针对计算机软件基础课程的内容特点,尽早安排学生上机实验,让学生体会学以致用、现学现用、现用现学的乐趣,对培养学生兴趣和创新能力、提升教学质量有着不可替代的作用。 3 建立多层次实验教学内容,发掘学生实验潜能 学生的素质和潜能并不完全一样,孔子时代就已经讲究因材施教,实验教学中也必须根据学生的实际情况,适当地分层次安排实验教学内容,建立多层次实验教学内容体系,从而更好地提升学生的学习兴趣,激发学生潜能,实现教学目的。可以分为基础性实验、应用性实验和创新性实验。 基础性实验要求精 基础性实验是课程的统一安排,目的是验证和巩固课堂知识,针对群体为所有学生。要充分发挥这部分实验内容的作用,主要在于求精。 首先要精选实验内容,针对每个知识点,都要精推细敲,并在每个实验内容中设置开放性思考题,要求学生认真思考做答,不求数量,但求质量。 其次要精讲实验内容。针对学生实验内容的答案,要进行深入的讲解分析,肯定学生做得好的地方,指出其不足,并指导如何修改完善,务求每个实验内容都讲透,并通过实验内容夯实学生对每个知识点的理解。 最后,引导学生运用发散性思维进行解题,提升学生对知识点的认识水平,如引导学生运用多种方法解题。 基础性实验是学生对知识点的深入掌握,也是开展应用性实验的必要准备。 应用性实验要求实 应用性实验是课程的适当补充,是学生对课堂知识的具体运用,旨在培养学生应用知识的能力,针对的群体是大部分学生。其主要任务就是培养学生解决实际问题的能力,具体方法是由教师选择合适的项目,让学生自愿分组,在规定的时间内按计划完成。 在应用性实验教学中,项目的选择非常重要,其主要原则是既要覆盖计算机软件基础课程的主要内容,也要贴近实际,是实际生活中有应用价值的项目,还要便于学生理解完成项目的方法,能最终形成一个完整的软件作品。比如说各种信息管理系统都是比较合适的项目。 在这个阶段,教师重在引导学生开展项目,指导学生解决项目实施中碰到的难题,检查学生项目实施情况,及时纠正项目的方向性、原则性错误,并引导学生及时进行反思总结,便于更好地掌握编程技巧和语法知识等内容。 在应用性实验阶段,学生的实验成果,不仅是要通过提交相关文档以及编写的程序代码来体现,还要在一定的范围内进行实际测试,便于学生将理论知识与实际挂钩,也便于学生进一步认识实验项目与实际项目的环境差别,更好地融入社会实践。 本阶段的实验由于应用性强,对于学习计算机软件基础理论知识感到吃力的学生,可不强行要求。 创新性实验要求新 创新性实验是课程的升华内容,主要是激发学生的创新思维和创新能力,所针对的群体是小部分学有余力的学生。在这部分实验内容中,由学生自行选择实验项目,设计实验方案和实验步骤,学校提供相应的实验环境和其他保障措施,教师则对学生选择的实验项目进行把关指导,确保项目具有创新性。在这个实验中,整个过程都由学生独立完成,学生要自行解决实验中遇到的各种问题,总结各种错误出现的原因和避免出错的方法,并在实验结束后,自行检验实验结果的应用价值,从而达到融合知识、锻炼素质、提升能力的效果,培养软件人才。 4 建立多样化实验教学方式,方便学生自主学习 实验教学的方式要多种多样,并优化实验教学载体,为学生实验提供更多的便利。 首先是可以充分发挥校园网的作用。目前,绝大部分学校已经建立自有的校园网,一方面为学生提供了大量的实验教学资料储备,如教学大纲、实验大纲、实验指导书、实验室开放时间表、指导教师安排等实验教学的所有技术支持文献信息,为学生开展实验提供了极大的便利;另一方面还提供了学生自测系统。在自测系统中,学生可以回答教师指定的问题,并完成打分,并可对回答问题的正确与否进行分析,纠正错误答案,进一步消化知识。同时,有的学校还设计了基于C语言的计算机软件基础自学系统,学生可以通过系统进行应用程序学习,循序渐进地学习和掌握知识,有力地巩固课堂教学的知识。 其次是可以充分发挥社会单位的作用。学校可以和与计算机软件专业对口的企业合作,在企业相应建立学生实践基地,让学生参与企业的实际设计,以干代学,从而进一步提升学生对计算机知识的认识,也进一步了解软件产业对软件人才的要求,适应软件产业的环境,从而更好地增强教学效果。 5 结束语 计算机软件基础是一门实践性强的课程,其实验教学要适时推进,这是增强课程教学效果的需要,也是提升学生素质的需要。在实验教学中,教师角色的转换,学生主体地位的重申,社会单位作用的发挥,都深刻影响着学生学习本门课程的效果。在目前的形势下,要充分发挥计算机软件基础作为培养应用型人才的重要基础课程的作用,充分发挥教师、学生、社会单位在该课程中的积极作用,就必须抓好实验环节的教学工作。只有实验教学才能更好得实现教师与学生互动、学校与社会互动,才能培养出适合软件产业发展需求的应用型人才。 计算机软件基础论文:计算机软件基础教学的改革思考 【摘要】本文针对计算机软件技术基础课程教授过中出现的主要问题,提出了对教学实践环节的几点改革意见。 【关键词】计算机软件技术基础;课程;软件设计 “计算机软件技术基础”是计算机基础教育的基本内容,是学生在本专业学习和研究中,开展计算机应用和系统开发的立足点。计算机基础教育的任务和目标是培养既精通本专业知识,又能掌握计算机应用技能的复合型人才。这种复合型人才所具有的能力结构不是简单的一维层次结构,而是网状的空间结构,即包括:学生的本专业知识、计算机应用能力和信息素养。如何适应素质教育的要求,如何使学生的专业知识与计算机技术结合,如何使学生在已有的操作使用能力基础上,提高应用开发能力,培养研究创新能力,《计算机软件技术基础》课程教学有着重要的作用。 1.教学现况与存在的问题 1.1 学生方面 由于非计算机专业学生来源不同,故其基础也是不同的。学生在高中所学的前续程序课程分别为C语言、VB和VF,个别地区的高中甚至没有开设计算机语言课程。由于软件基础课的第一部分为数据结构,涉及到相当多的指针操作,所以学过C语言的学生基础相对较好,教学中容易理解教学内容。而学VB,VF的学生对指针没有任何概念,对教学内容的理解相当困难,更不用说没有学过语言的学生。这是由前续课程带来的问题。 半数以上的学员一开始对该门课程的学习抱有极大的热情,然而随着课程难度的逐渐加大,编程技术底子较薄或接受能力较差的学员开始退缩,主要反映在大型程序设计作业完成情况上,分工不均衡,出现能者干、庸者看的现象。这与课程的设置有关。 1.2 课程设置方面 这门课程涉及到的内容很多,主要包括数据结构、结构化程序设计、面向对象程序设计。这几个部分对于计算机专业而言都是单独的一门课程,但是现在要把各部分的内容综合到一门课程中去,便给教学带来一定的难度。 这门课程的学时数有限,笔者所在学校安排了58学时(理论28学时、实验28学时、考试2学时),教学的时间非常有限,要在这么短的时间内学好所有的内容,对学生和教师都是一个挑战。 2.教学改革方面的几点建议 2.1 传统的课堂教学与新兴网络教学的完美结合 传统教学模式的主要手段就是“粉笔+黑板”,这种教学手段可以充分展示教师的教学思路,展示教师的个人教学魅力,同时可以留给学生充裕的思考时间和完成笔记的时间。这种教学主要应避免“满堂灌”和“面面俱到”,而是对一些原理性、概念性较强的教学内容采用这种教学。如:链表的概念,几种查找、排序的方法以及他们之间的差异等内容都可以使用这种教学方法。例如,在讲授应用结构体处理数据时,我们举了一个显示输出输入的几组学生数据的例题,在课堂上,采用板书方式分步介绍了如何定义结构体,如何建立输入功能子函数,如何建立输出功能子函数,要求学生给出完 整的程序和输出结果。然后又给学生布置一个作业,要求使用链表处理信息,程序运行后需按序显示输入的学生信息。这样就可以让学生进一步掌握动态分配空间函数的应用及如何创建链表和它在C语言程序中的应用。 “粉笔”黑板”这种教学看似简单和落后,但如果提供了完善的网络环境,学生就能在园区网上看到教师已经制作完成的课件,就能根据自己的学习需要检索教师当天教学的板书,播放教师的某段讲解。这种教学模式使学生能够在课堂上紧跟教师思路,减少了完成笔记的时间,提高课堂效率。 2.2 目标驱动理念在课堂教学中的应用 建立在建构主义理论基础之上的目标体验教学是以学生为中心,以教学目标为驱动的教学方式,属于探究式教学模式的一种。其显著表现是:教师的教学与学生的学习都是围绕着一个目标,而这个目标又包含着几个小目标,每一个具有建构思想的目标驱动都要符合学生的“最近发展区”规律。最近发展区主要是指学生的潜在发展水平,在此水平上,学生还不能独立完成学习目标,但经过启发、帮助和努力,就能完成目标。例如,在讲述“排序”时,首先就要求教师已经介绍过冒泡排序和快速排序这两种互换类排序方法,而且学生已熟练掌握。在这基础上,就可以对学生讲解简单插入排序和希尔排序这两种插入类排序,也可以讲授简单选择排序和堆排序。在这个教学过程中,冒泡排序和快速排序就是学生现有的发展水平,学生能独立地、自如地完成教师提出的教学目标;而其他排序方法则是尚处于形成状态,还不能独立完成的教学目标,是学生的潜在发展水平,在教师帮助下,通过训练和学生自己的努力才能完成的教学目标。 2.3 注重培养学生的动手能力 在计算机课程的教授中,许多老师比较注重概念、语法的讲解,却忽略对能力的培养,这样培养出来的学生在上机时就会不知从何下手因此在教学过程中,在介绍完基本概念和语法知识后,可以利用更多的课时来对学生的思维方式进行引导对常用的软件设计方法可以从“拿到题目”“如何分析”“如何解决”“最后具体程序实现”的整个过程进行全方位的启发这样能提高学生的软件设计能力,使学生如何设计该类软件有一个基本思路,知道如何去思考问题,如何去解决问题,方向明确、思路清晰。 2.4 改变单一考试模式 考试是学生学习导向的指挥棒,也是检验教学效果的基本方法。计算机软件技术基础是典型的实践性课程,单一理论考试模式无法掌握学生上机操作水平。我们采取厂“笔试+上机”的考核方式,任何一项成绩不通过这门课程学习就不合格。机试成绩并不是一次给出,在平时上机实验中就分阶段进行考核,可以随时掌握学生的学习和应用情况。例如,可以给出一些应用题,让学生通过分析找出解决方法,训练学生掌握应用领域的知识并综合运用知识的能力。新的考核方法给了学生一个发挥才能的空间。变被动的应试为主动的学习,使学生成为考试的主人。学生在解决问题时若有创新,就可以得高分。这样。可以激发学生的学习积极性和求知欲,给他们展示自己才能的机会。充分发挥创造力和想象力。 3.结束语 “计算机软件技术基础”课程对于从事计算机应用领域的非计算机专业人员是相当重要的,同时对于计算机应用领域的发展也起着十分重要的作用本文中针对该课程现阶段教学中存在的问题,提出了改进的方法实践证明,该方法能有效地提高学生的软件设计能力和创作能力,是教学上的一种较好的开拓。 计算机软件基础论文:探究计算机软件基础数据结构之算法 摘要:近年来计算机在我国各行各业扮演的越来越重要的角色,加强对计算机的有效性探讨是实现计算机为各行各业服务的关键。计算机数据结构主要指的是信息在计算机内的寄存方式和信息的集合和整理。计算机数据结构经常与算法相联系。算法是被计算机所识别的指令,算法是通过数据结构所进行的信息储存。算法和数据结构二者是相互作用的,通过对算法蕴藏信息的分析可以有效的解决计算机存在的一些问题,提高处理效率和速度。 关键词:计算机软件 数据结构 算法 一、引言 随着计算机在在我国各行各业发挥的作用日益凸显,计算机的数据结构只的是信息在计算机 寄存方式和信息的集合和整理。计算机结构与算法关联甚广,因此加强计算机数据结构算法的研究对于计算机研究十分重要。下面我们将对计算机基础数据的算法进行相应的介绍。 二、计算机软件基础数据结构之算法概述 (一)算法的两要素 算法包括两要素,一部分指的是对信息的操作处理,这部分对信息的操作处理包括四种处理方式,分别为逻辑符合,数学计算,信息的对比以及信息的传递另一部分指的是对信息的处理方式的操作,它引导指令进行有序的进行。 (二)算法的特征 算法是有限指令的整体,这些指令表明了处理问题的步骤,针对相应的问题,算法可以对定值按照原先设定的指令进行运算处理,并且通过一定数量的运算后传送出计算机得出的最后结果。这就要求算法包含有限的指令,同时各项指令都 应该明确,不能多层含义,同时也要求这些指令都是计算机能力范围之内的,超出计算机范围以外的不仅不能起到积极效果反而会对以后的操作造成一定负面影响。算法对处理对象没有要求,同时被处理对象也不会对这些指令产生影响。 (三)算法的表示 很多人可以通过文字或者符合翻译算法,一般翻译法包括一般性文字,C语言,程序图,PAD图等。其中一般性文字和C语言是具体详细的描述算法的。他可以使学习者更容易学会。 (四)常用的算法 1.枚举法 枚举法是指对信息的某些独特特点估计运行结果的区域,然后通过一些手段检验该区域的每种结果,直到验证到所有饿都符合才加以停止。这些验证有的是可以满足算法的要求的,同时也存在着一些不能满足算法要求的,这些满足的对象就是计算机最终会传递的结果,那些不能满足算法要求的就表明该算法无解。 枚举法具有工作原理简单,容易接受的优点,但是枚举法有显著的缺点就是工程量大工作时间长,枚举法一般只适用于无法用别的方法解决的问题。 枚举法包括以下步骤: 1.1通过对问题的思考,预估问题的大致方向 1.2选出合适的枚举形式。枚举形式包括顺序法,对比法类型列举法等 1.3将可能的方向进行一一验证 1.4确定哪些情况是合理的哪些是不合理的,得出最终结果。 2.迭代法 迭代法与枚举法相比比较粗糙,生活中很多方面都需要这种方式进行问题的处理它的显著特点就是可以将一个麻烦的问题转化成为比较简单迭代算式,这样就会形成问题由难至简的循环,从何最终得出答案。 3.递推和递归法 递推和递归法是比较常用的一种方法,通过对一些特殊的公式的性质加以推导得出结果。递推法和递归法从简单入手,把前面得出的结果进行到后面的推理之间可以更加方便结果的得出。 三、计算机软件基础数据结构之算法的设计要求 算法就如同人与计算机之间进行沟通和交流的语言,通过算法作为中介可以加强人与计算机的距离,让计算机按照预先设定的指令一样去执行任务。但是要遵循一定的原则。 (一)正确性 设计者首先要按照算法的规则编译指令进行编译,只有按照规则的编译才能实现和计算机的交流,让它按照规定执行任务。如果出现错误的指令那么将会对引出不准确的结果。 (二)可读性 算法一定要具有可读性的原则,只有可读性才能让人对算法一目了然,如果算法过于复杂和晦涩会让人难以理解原理。 (三)稳定性 算法的稳定可以使得计算机在运用时的稳定性能的保持,试问如果计算机在运行的时候总会出现错误,给人的感觉整体下降。稳定性对于算法来说至关重要,同时对于计算机的规范使用也至关重要。 (四)高效低耗能性 计算机内部器件的好坏对于计算机性能的高低具有决定性作用。算法亦如此,好的算法可以在最短的时间得出答案并且使用最低的耗能得出答案。 四、计算机软件基础数据之算法的复杂性分析 (一)运行时间长 一般设计者并不是根据计算机的算法衡量时长,算法运行的载体依然是计算机,因此计算机地运行速度是受很多因素的影响的。一样的计算法在不同的载体上会产生不一样的效果,这一效果并不是对算法效率的评判而是表现在时间的耗损上,耗损程度作为评价算法的好坏标准。 (二)内存消耗 内存消耗指的是计算机在运行算法时需要用到空间大小的尺度。内存消耗有传入传出信息所占的内存以及算法在运行过程中暂时占用内存的大小。传入传出信息占据的比例和问题相关,并不会随着算法的变化而变化,在运行过程中暂时性占用的内存大小往往是由算法决定的,好的算法可以占据比较小的内存,相反坏的内存则会占据教的的内存。 五、结束语 计算机在近年来以及其迅速的脚步占领各个行业,计算机软件基础数据结构之算法是学校者了解计算机数据结构的基础,通过对它的学习可以帮助学生更科学的认识到计算机的运行情况,并且使得学习者更好的掌握。本文从计算机软件基础数据结构之算法概述,计算机软件基础数据结构之算法的设计要求,以及计算机软件基础数据之算法的复杂性分析进行了相关的介绍。 计算机软件基础论文:计算机软件基础数据结构之算法分析 摘 要:计算机软件的基础数据结构,主要负责讲解计算机内信息的寄存方式、集合和整理,通常是与算法密不可分的。算法是能够被计算机分辨和识别的指令,指令的内容就是通过计算机软件基础数据结构来进行寄存的信息。数据结构的算法分析,可以使计算机处理比较复杂的难题,提高了效率,本文对计算机基础数据结构的算法进行了分析。 关键词:计算机软件;基础数据结构;算法分析;复杂度 1 算法的概述 1.1 算法两要素 算法主要包括两部分:信息的处理操作和信息处理方式的操作结构,对信息的处理操作一般包括逻辑符号、数学计算、信息传递和信息对比,操作结构可以指引指令有序进行,通常用流程图来描述。 1.2 算法的主要特征 有限指令的主要部分就是算法,有限指令能够明确处理问题的步骤。面对问题,算法能够对各种定值指令进行预算处理,通过运算传达最后的计算结果。算法的特点主要为:指令的数量必须有限;指令不能超出计算机的能力范围;被处理的对象不受指令影响,对象数量不影响指令,必须要有至少一个传递末端。 1.3 算法表示方法 目前编译算法一般都用符号和文字来进行,主要包括程序图、C语言、PAD图,一般性文字等。C语言和一般性文字能够具体详细的描述算法,其他方法描述算法是大致内容并进行作图,更加直观的表达,便于学习理解。 1.4 常用的算法 常用的算法主要包括枚举法、迭代法、递推和递归法。枚举法内容是指通过信息特点对运行结果的可能区域进行估计,然后利用一些方法手段检查各个结果,直到所有结果都符合。在验证过程中,验证对象如果满足算法要求,这个验证对象就是最终计算机传递的结果,如果没有达到要求的对象,那么算法就无解。迭代法是一种较为粗略的方法,可以把麻烦复杂的问题转化为较为简单的迭代式子,通过循环这个步骤,达到由繁化简并最终得出答案的目的,该法适合非数值类问题的计算。递推法和递归法是主要的算法制定编写法,都通过运用特殊公式逐项推导而来的。 2 算法设计要求 算法像语言一样,是计算机和人类沟通时的语言,通过算法,人们不仅可以跟计算机进行交流,还可以按照指令执行任务。因此所有的指令必须要符合一定的行为准则,算法的设计要求主要包括以下几点: 2.1 具有正确性 设计者编译指令时必须要按照算法的规则来进行,从而保证人和计算机正确的交流,保证计算机执行好任务。正确性中最重要的就是避免语法错误的出现,从而能够为正确答案的得出做好准备。 2.2 具有可读性 算法具有可持续性,是指算法总体思路容易让人理解,是想一下,一个非常混乱的算法,即使再聪明的人也很难明白算法原理的,更不用说得出计算机答案。 2.3 具有稳定性 就像机械设备似的,如果工作状态不稳定,那么就会很容易出现难懂奇怪的问题,算法如果不够稳定,计算机在正常运行的时候,也会很容易出现错误。经常出现的错误就是乱码,就会让人感觉像是算法存在严重问题。 2.4 具有高效低耗的性能 计算机性能的好坏取决于内部的器件好坏,算法也是这样的。好算法可以用最低能耗最短时间来得出答案,计算机内部的工作原理可以决定这些因素,其中最主要的就是存储大小和运算速度的联系。 3 算法复杂度的分析 算法复杂度决定了一个算法执行并得出结果需要的总时间,设计者通常是根据算法复杂度来判断对算法的总效率来进行判断的,这是因为时间的消耗和算法需要的内存情况是直接联系挂钩的。评判者主要是依据运行的时长以及内存的消耗来进行判断的。下面就简要介绍一下运行时长以及内存消耗: 3.1 运行的时长 通常来讲设计者不是依据算法的总运行时间来衡量时间长短的,这是因为计算机仍然是算法正常运行的载体,计算机的运行速度跟许多因素有关,例如计算机的运行环境、计算机内部使用损耗等。因此,同一种算法在不同的计算机运行载体上运行的效果也是有很大差别的。一般来说,计算机运行时长的大小不是衡量算法效率的一种标准,而是判断算法运行时间损耗的一项指标,能够在一定程度上评判算法运行的好坏。 3.2 内存的消耗 计算机运行算法,会暂时占用相关的空间,被占用的空间大小尺度就是常说的内存消耗,内存消耗与相关的函数紧密联系。内存消耗主要内容是传入和传出信息占用的内存、算法在运行过程中暂时占用的内存等。传入和传出信息占用的内存跟需要解决处理的问题是相关的,不会因算法变化而变化;算法运行中暂时占用的内存大小是由算法来决定的,不同的算法需要不同的内存,因此,比较好的算法需要的内存也比较少,这也是内存消耗成为评判算法好坏的又一个非常重要的标准。 计算机软件基础论文:计算机软件技术基础课程教学探讨 摘 要:针对计算机软件技术基础课程的内容与特点,探讨了传统教学中存在的不足,提出几点行之有效的教学改革方法。这些方法在实践中取得了实效,对该课程的教学改革具有一定的意义。 关键词:计算机软件技术基础 课程 教学改革 计算机软件技术基础是为非计算机专业开设的课程,该课程是后续课程的基础,涉及内容比较广泛,包括数据结构、操作系统、数据库系统、计算机网络、软件工程技术、管理信息系统等内容,具有很强的理论和实践性。本课程有如下三个难点。 (1)该课程的内容多、跨度大、学生把握重点有些困难。 (2)计算机软件技术基础是一门内容综合的课程,涉及的知识面广,学生对基础课程的知识和理解程度有所差别,授课中比较难掌握。 (3)计算机软件技术基础是一门应用性很强的课程,需要理论与实践相结合。 针对以上难点问题,本人分析了目前该课程在授课中普遍存在的问题,并从实际要求出发,对计算机软件技术基础课程的教学改革进行探讨。 1 计算机软件技术基础课程存在的 问题 (1)目前,大多数老师采用常规的灌输式教学方法,以教师讲授为主,学生处于被动的学习接受状态,缺乏对课程学习的兴趣和主动性,启发式教学没有充分运用。 (2)有时为了增强学生的兴趣和信心,往往较低教学难度,大部分时间讲授基本概念,而对程序设计和调试技巧等较深的知识只是点到为止或者避而不谈。导致大量学生学完本课程,只会背诵几个基本概念,并没有真正掌握程序设计的很多精华思想和编程技巧,更没有了解软件是如何管理计算机全部资源的。 (3)计算机软件技术基础实验课在机房内进行验证性实验,实验时教师只是把实验目的、具体程序、程序实现的功能等内容介绍给学生,学生直接输入程序代码,然后获取实验数据,验证理论知识。这样,学生只是机械的进行程序录入,不用独立思考,所以不能深入细致的分析和调试, 2 课程教学改革 (1)教师主导性和学生主体性相结合 充分调动学生学习的主动性,引导学生自觉的学习和发展,教学过程实质是教师教和学生学的互动,只有这样,才能使师生之间和学生之间教学相长、信息交流,从而达到知识与兴趣共存,进而实现教学共赢。课程教学过程中,采用启发式教学,随时了解学生对知识点的理解和掌握,调动学生学习的热情。 (2)采用案例引导式教学 在课堂理论知识的讲授中,尤其是讲解新知识时,采用实际的案例进行演示说明,把学生带入特定的情景中进行思考;在演示过程中,逐步引出各个相关概念,加深学生对基本概念与原理的理解,进而提高学生运用理论知识分析和解决实际问题的能力。 案例引导的课程教学,能为学生在理论和实践之间搭起一座桥梁。学生带着多个基本概念和知识点的任务通过生动形象的案例进行学习,既容易激发学生的学习兴趣,又有利于学生迅速掌握抽象、枯燥的概念,以及各相关知识点之间的内在联系。在讲授的过程中循序渐进、环环相扣,优化教学内容。 (3)注重实践环节 对于计算机软件技术基础这门实践性特别强的课程,必须把理论课和实验课结合起来讲解才能培养学生的能力,而且实践教学不再是理论教学的附属,它与理论教学同等重要,学生可以通过实验课的练习领会理论教学中所学的知识,在上机的指导过程中,不仅要指导学生软件设计的基本方法、程序调试的基本技巧,还要对学生思维方式进行引导。对实践环节中的软件设计从“给定题目”―“具体分析”―“解决问题”―“程序实现”―“运行调试”的整个过程进行全方位的启发。使学生掌握软件设计的基本思想,知道如何思考问题和解决问题. 3 结语 计算机软件技术基础是一门理论与实践相结合的课程。该文针对该课程现有教学中存在的问题,提出了改进方法。实践证明,该方法取得了良好的教学效果,能够帮助学生系统掌握课程知识,切实提高实践能力。 计算机软件基础论文:计算机软件技术基础课程教学研究 【摘 要】本文阐述了计算机软件技术基础课程教学特点和教学目的,针对课程教学现状,分别从明确教学目标、丰富课堂教学手段、巧设学习情境和构建良好师生关系等几方面对计算机软件技术基础课程教学策略进行了探讨。 【关键词】软件技术基础 课程教学 研究 一、引言 科学技术的飞速发展,使计算机技术在社会生活各个领域得到了广泛的应用。计算机软件技术基础是高校计算机基础教学中的重要内容,随着《关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求(试行)》 的出台,国家对计算机基础教学提出了新的要求,即打破传统教育模式,以人为本,学生为主体,造就既精通本专业基础知识,又能掌握计算机应用技能的复合型人才,达到素质教育的培养目标。 计算机软件技术理论,是学生学以致用的基础,其涉及的知识面广、概念多、原理复杂和抽象,理解上会有一定的困难。因此,从计算机教学出发,对计算机软件技术基础课程教学知识体系、教学模式和教学方法等进行深入的分析和研究,寻找科学的教学方法,全面提升学生软件开发应用技能和解决实际问题的能力,为学生终身可持续发展提供更为广阔的空间,就显得尤为重要和迫在眉睫。 二、计算机软件技术基础课程教学特点和教学目的 计算机软件技术基础课程既是集计算机网络基础、操作系统、数据结构、软件工程以及数据库等多门专业课为一体的综合课程,涉及面广,内容相对独立,也是一门理论与实践结合性较强的课程,其线性结构、非线性结构、图、查找、排序等数据结构与算法之间关系复杂。教学中,应针对应用实例,对编程中常用的算法给予重点讲解,对典型数据结构数据元素的集合关系以及基本运算展开教学研究和深入的讲解。 计算机软件技术基础课程的教学目标,是用科学的方法引导学生,通过课程学习,既掌握计算机软件技术基本理论知识、具备开发应用软件所必需的软件基础知识、懂得高级编程语言知识、丰富编程技术和基本算法,又熟练运用程序设计的思维和方法,使其软件素质得到提高,抽象思维能力,灵活运用高级语言进行程序设计和动手编程解决实际问题的能力得到加强。 三、计算机软件技术基础课程教学现状分析与对策研究 (一)现状分析 基础知识不扎实。学生计算机知识较薄弱,尤其是该课程是以概念多、抽象而复杂的“C语言程序设计”为基础的学科,理论知识多、应用层面的内容相对较少,学生难以理解的同时,感觉枯燥乏味,产生畏难情绪,加重了思想包袱,严重影响了学生的学习热情。 教学方法单一。缺乏先进的教学理念的指导,教学策略上缺乏创新,沿袭着“你教我学”的教学模式,学生始终处于被动学习的地位,积极性受到压抑,自身创造力和潜能未能得到有效发挥,知识传输与能力培养相互割裂。 课时限制。该课程知识点较多,课程学时安排较短,教师偏重基本理论讲解,学生在短时间内难以消化吸收包括数据结构、操作系统等繁杂的基本概念,而程序设计和调试技巧等实践性较强的部分往往因课时限制只能点到为止,学生无法体会课程的乐趣,更无法进行深入研究,严重影响了教学目标的实现。 (二)对策研究 明确教学目标。摒弃传统教学方式,倡导以学生为中心,注重学生知识水平和技能的培养。教师应对计算机软件技术基础有一个全新的定位,在对教材知识点内涵与外延正确把握的基础上,精心设计和巧妙安排学生易于接受的课堂教学活动,准确驾驭计算机软件技术基础课堂教学,将“任务驱动法”、“合作学习法”等优秀教学方法组合运用,创设探究情境,激发学生的学习热情,使其对操作系统、 数据结构、 数据库技术等功能和运用产生浓厚的兴趣,不断提高学习能力。 丰富课堂教学手段。以“任务驱动法”为代表的互动教学法,是上世纪80年代后逐渐发展成熟的实践型教学方法,是国内外运用较多的、先进的教学理念。它是让学生在“做中学”,通过学生的参与和体验,在完成任务过程中主动地去分析和思考问题,加深对知识的理解和感知,共同探讨解决问题的方法,进而达到对知识、技能的理解和掌握,既增强了知识点的融会贯通,也强化了学生主动积极的学习意识。 巧设学习情境。软件技术基础课程教学目的,是让学生打破常规,启迪思想,通过探索、实践,掌握理论知识并能灵活地加以应用。“情境教学”正是基于这一先进思想的教学方式。如学习语言编译时,使用“栈”可实现函数过程的调用。当计算机输出数据打印时,打印机速度慢,为解决这个问题,教师安排学生们分组讨论,最终在操作系统中设一个打印队列,将打印任务逐个完成,避免了数据丢失或打印次序混乱。任务进行过程中,学生们热情高涨,积极思维,体会知识的奥妙,深刻认识到了这门课程的意义和作用,同时小组成员团结协作,焕发出可贵的集体智慧,在目标实现过程中体验成功带来的巨大喜悦。 构建良好师生关系。教师传道授业,是学生学习的组织者和倡导者,更应成为学生的良师益友,将抽象的、枯燥的软件技术基础,用实用化和情趣化的现代教学思想巧妙呈现,产生共鸣、碰撞智慧的火花,使学生充分感受学科魅力,从而启迪心灵,放飞思想。当学生暴露出畏难或厌烦情绪时,教师应给予最大限度的宽容和理解,并用科学的思想加以引导,鼓励他们打破常规、迎难而上,与学生共同完成知识点的跨越。 四、结论 综上所述,打造充满生机和活力的计算机软件技术基础课程教学,是新时期高校教学的需要,也是实施素质教育的关键。只有对教学现状进行深入的分析和研究,采用科学的方法正确梳理教学思路,将优秀的现代教学思想融入计算机软件技术基础课程教学,优化教学过程,才能实现教学相长,不断提高计算机软件技术基础课程教学的实效。 计算机软件基础论文:计算机软件技术基础课程的案例建设 摘要:案例教学能有效提高学生分析问题和解决问题的能力,是现代教育的常用教学方法之一。文章分析案例教学中的案例特征,以实际工程项目的一个子系统为背景,设计实时仿真监视系统案例并介绍案例的具体建设情况,指出该案例对提高学生的学习兴趣以及分析问题和解决问题的能力具有明显的效果。 关键词:软件技术基础;案例教学;案例建设;实时仿真;监视系统 1、计算机软件技术基础课程中案例教学的必要性 计算机软件技术基础是仿真工程与自动化专业的核心课程之一,是一门应用性很强的专业基础课。该课程是整合课程,主要包括c++面向对象程序设计、算法与数据结构、操作系统、软件工程等方面的内容,知识庞杂且难以掌握。学生在学习该课程之后常常感到困惑:所学知识有什么用,怎样运用所学知识?一些学生虽然能够在考试中考出高分,却不知道怎样解决实际问题。如何使学生认识所学知识的用途,融会贯通并灵活运用,是这门课应重点考虑的问题。目前,案例教学在法律类和管理类课程教学中的地位和作用已在教育界达成共识。教育部高等学校计算机科学与技术教学指导委员会于2006年6月了《关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求(试行)》白皮书,明确指出在教学方法和手段上运用案例教学的必要性,因此,将案例教学作为一种教学方法引入工科类课程的教学,具有可行性和必要性。 2、认识案例 案例教学法就是在教师的指导下,根据教学目的和要求,以案例为基本素材,把学生带人特定的教学情境中进行思考,以此加深学生对基本原理和概念的理解,进而培养并提高学生运用理论知识分析问题和锯决问题能力的一种教学方法。 案例是案例教学的基础,离开了案例,案例教学就无从谈起。案例与一般教学中的例题有着本质区别,案例教学中的案例是将多个知识点融人一个整体来解决实际问题,涉及的知识面广,知识间具有连贯性和系统性,涵盖的知识具有综合性的特点,知识和原理蕴藏于案例之中。一般教学中的例题往往是配合某一章节或某一知识点,从某个角度、某个方面或某个层次反映所学理论和方法,起着验证和说明作用,常常带有为讲知识而杜撰例子的痕迹,各个例题之间相对独立,涵盖的知识单一,知识和原理孤立地呈现在学生面前。一般说来,工科类课程的案例应具有以下基本特征。 1)真实性。 客观真实性是案例的基本特征。教学案例应源于真实,取材于工程实际或科研课题,但是又要高于真实。为了突出主题,可以对真实做一定的删减处理。 2)综合性。 案例应是综合知识的载体,既要以学生已掌握的知识为依据辐射足够多的知识点,又要在匹配教学内容的基础上对知识有一定程度的扩展。 3)完整性。 案例是完整过程的载体,涉及了解背景、查询资料、分析信息、发现问题、探求方法、采取行动、解决问题的全过程。 4)启发性。 案例教学着眼于能力的培养,希望得到的不是案例的标准答案,而是解决问题的思维方法和能力。案例中,解决问题的方式是开放性的,可以留给学生想象的空间和发挥的余地。 5)实践性。 学生可以对案例进行复现、改进和完善,也可以按照自己的思考去实现,增强理论应用于实际的能力,实现从理论到实践的转化。 3、案例建设 案例教学的前提是高质量的案例,高质量的案例既要覆盖足够的知识,又要控制合适的规模。规模过小,则不能溶入足够的知识,也不能提供足够的研讨与思维空间;规模过大,则在短时间内难以被学生接受,不能得到预期的教学效果。笔者以实际工程项目卫星实时仿真系统的一个子系统为案例背景,在突出主题的前提下,进行了适当的详略及删减处理,形成了“实时仿真监视系统”案例。 3.1 案例背景简介 卫星实时仿真系统能够对卫星的方案、设计、集成、测试和运行各个阶段进行仿真验证,是提高卫星总体设计水平的重要手段,其网络关系连接如图1所示。在此系统中,仿真模型解算、物理设备接口等苛刻实时约束的节点通过反射内存互联,构成实时内环,外环则通过普通网络互联,将人机交互、可视化、数据处理等实时约束弱的节点互联,内、外环都可以根据需要扩充且内环不受外环影响,苛刻实时得到保障。转发计算机完成内存数据的提取并转发外环,仿真管理计算机则同时管理内、外环系统。卫星仿真监控是卫星实时仿真过程中的重要一环,它将抽象的仿真活动形象化,并及时将信号数据以各种方式反馈给用户,以利于用户分析、理解和决策。卫星实时仿真监控系统,能够模拟通过控制、监视和测量星上设备的工作状态实现实时连续地记录工作过程、测试数据和描绘曲线。图1中,人机交互计算机、曲线显示计算机和三维显示等外环计算机共同实现仿真监视功能。我们将人机交互计算机和曲线显示计算机的功能提取出来,要求系统具有一定的通用性,能够适应不同监视任务和不同数据类型,形成“实时仿真监视系统”案例。 3.2 实时仿真监视系统案例 实时仿真监视系统的工作原理为:转发计算机完成内存数据的提取并转发外环,外环上的实时仿真监视系统首先进行初始化,随后自动生成系统主界面。系统支持两种运行模式:监视模式和回放模式。在监视模式下,系统既要处理主界面信息,又要处理网络数据。主界面信息的处理包括响应用户交互消息、更新实时监视界面、实时绘制曲线;网络数据的处理包接监听网络端口,接收、解析和保存数据包,将有效数据写入共享数据结构,供给系统绘制曲线。在回放模式下,不再需要对网络进行监听,直接读取监视模式下保存的原始数据文件,然后进行相应处理即可。 为实现上述目的,使系统具有一定的通用性,我们设计了如下方案: (1)在软件工程思想指导下,进行需求分析、总体设计、详细设计、编码实现以及综合测试。通过该案例,让学生对软件工程思想指导下的软件开发全过程有一个感性认识; (2)采用多线程技术实现监视模式下的主界面信息处理和网络数据处理,仅用单线程实现回放模式; (3)设计一个数据包发送测试程序,模拟转发计算机的功能。 为此,我们结合本课程的基本知识点将系统的主要功能模块划分为界面管理和数据处理两大部分,界面管理部分主要承担主界面信息的处理,数据处理部分则主要负责数据的处理。 3.2.1 界面管理 系统运行过程中始终需要对系统主界面进行管理。从运行初期的生成主界面,到运行中的监视过程的显示,再到最终的系统结束,都需要对主界面进行即时的调整。为了提高通用性,系统采用基于配置文件的方式,通过用户提供的配置文件,动态改变系统监视任务,也就是说,系统能够改变每次运行时的任务,主界面显示的内容具有不确定性。 1)读取配置文件,获取初始化信息。 系统运行之前,需要进行初始化,这就需要系统读取配置文件,包括全部信号、实时显示信号、数据包类型等配置文件。用户必须按照约定的正确格式提供配置文件,否则系统有可能无法正确识别相关信息。从软件工程的角度,配置文件的设计与确定应在总体设计阶段完成。配置文件的类型、组织方式以及数据正确性的检验,都是学生可以自由发挥和扩展的内容。 2)自动生成实时监视界面。 监视对象的不确定性使得系统的监视界面无法固定,然而,不能将界面的生成工作完全交给用户完成,这就需要设计一种适用于不同监视任务的界面生成算法,使系统将界面生成工作承担下来。另外,系统界面的尺寸等信息是用户所不知道的,因此被监视的信号在系统主界面中的显示位置无法由用户设定,这就需要系统自己完成界面的排布任务。因此,要求设计一个具有较强通用性的监视界面自适应生成算法,这部分涉及算法设计和计算机系统配置的获取等基础知识,算法设计是学生能够自由发挥并出彩的部分。 3)定时更新监视界面。 为了实现实时监视功能,系统需要对监视界面进行定时更新,以显示当前被监视信号的实时数据。为了满足用户的不同需求,系统提供0.5s、1s、2s三种刷新频率。系统可以根据用户选择的刷新频率对主界面进行更新。这部分主要涉及定时器的使用。 4)处理用户交互消息。 系统需要对用户的交互消息进行处理,主要为鼠标消息,包括运行模式的切换、仿真的开始与结束、加载历史数据包文件等。这部分涉及所选编程环境下的消息响应机制问题。 3.2.2 数据处理 系统在运行过程中,需要对数据包进行接收、解析和存储,还要为曲线绘制提供原始数据,因此需要设计一个专用的数据结构。 1)接收网络数据包。 在监控模式下,系统既要处理主界面信息,又要通过网络接收数据包。为了避免“漏掉”数据包,系统必须对网络持续进行监听。如果主线程将大量时间用在网络监听上,势必无法对用户的交互做出及时响应。因此,需要将数据包的接收放在一个单独的线程中。这涉及操作系统进程管理的相关概念,是多线程程序设计技术的典型应用;也涉及网络通信技术,需要了解网络通信协议等相关知识。 2)解析数据包。 在接收到数据包后,需要将数据包内的数据进行解析,获得数据包内的数据,将最新的数据更新至系统对应的变量中,以供实时显示。解析数据包涉及网络通信程序设计技术。 3)保存原始数据包。 系统要求有回放功能,因此需要将接收到的数据包写入文件,进行永久保存。数据包的保存有两种方式:解析后按段保存和作为整体进行二进制保存。第一种方法耗时,需较大工作量。第二种方法简便,工作量小。显然第二种方法更适合本系统。由于系统必须适应两种类型的数据包,因此,进行数据保存时,采用以形参类型为区别的方式进行同名函数的重载,实现两种类型数据包文件的存储。这部分功能涉及C++面向对象程序设计中的重载技术以及文件操作技术。 4)读取数据文件,获取数据包。 在回放模式下,系统不再对网络进行监听,不进行数据包的接收,需要通过读取之前保存的原始数据包文件获得数据包。原始数据包文件保存的是二进制形式的数据包,系统每次读取之后需要对数据包进行解析,这与接收到数据包的过程是一样的,不同之处在于回放过程不再需要将数据包进行保存。这涉及C++面向对象程序设计中的文件操作,同时,通过监视模式下的多线程程序设计与回放模式下的单线程程序设计的对比,使学生真切感受并理解多线程程序设计技术及其应用场合等。 5)共享数据。 系统嵌套了曲线绘制模块,因此,数据处理与曲线绘制之间需要有一块共享数据内存。在收到数据包并解析后,马上将有用的信息写入该共享内存。写入操作由数据包接收线程处理,读取操作由主线程内的曲线绘制模块完成,因此,需要对两个线程进行同步。这涉及数据结构的设计和操作系统的同步与互斥。 6)快速查找。 系统支持大数据量下的仿真监视,对数据的快速查找有较高的需求,因此,需要设计支持快速查找的哈希表数据结构,包括哈希函数的确定、冲突的解决等,这涉及数据结构的哈希表技术。 4、结语 “实时仿真监视系统”案例,涵盖了软件工程、c++面向对象程序设计、算法与数据结构、操作系统和网络通信等计算机软件技术基础课程及其先导与后继课程的知识点,是一个与学生所学专业密切相关的实际应用系统,容易引起学生的兴趣,也容易被学生理解和接受。这样的案例既与教学目标相吻合,又便于教师驾驭和把握。 从学生反馈的情况看,学生普遍认为,案例教学法方式新颖,实时仿真监视系统案例与专业基础结合紧密;能引导学生积极思考,提高学生的学习兴趣以及分析问题和解决问题的能力。该案例在教学过程中取得了明显的教学效果。 为了更好地开展案例教学,我们必须把建设高质量的案例作为重点来抓,选择合适的案例背景,制定合理的案例建设计划。实践证明,只有经过长时间的积累、认真的思考、精心的选择和多次教学实践,才能获得高质量的教学案例;只有经过团队的长期努力,才能建设高质量的教学案例库。 计算机软件基础论文:基于 Flex的《计算机软件基础》电子教案系统的应用研究 摘要:针对当前《计算机软件基础》电子教案开发中存在的问题,在调研了各种多媒体支持比较好的开发技术的基础上,结合多年的教学实践,提出了基于Flex 和 AIR 技术平台的《计算机软件基础》电子教案系统开发的技术解决方案。该系统提高了课程教案的可复用性和可维护性,实现单机运行功能和网络化功能,顺应了电子教案的网络化发展趋势,克服了传统 PPT 在课程电子教案制作方面的不足。 关键词:计算机软件基础 电子教案 RIA Flex 电子教案,是将传统教案中的内容转换成计算机能处理的数字信息格式后存储于记录介质(如磁盘、磁带、光盘等) 中的一种形态。同其他的电子出版物一样,在观看阅读时必须事先输人计算机主机中,由显示器输出。目前课堂上比较流行的电子教案一般有两种类型:PPT 教案和 WORD 教案,调研中发现在《计算机软件基础》课程教学当中 PPT 教案使用的比例非常高。与传统教案相比,电子教案不仅仅是形式上的变化,而是对传统教学手段、教学方法和教学模式的深层次变革。在教学过程中有效运用电子教案是新课程改革的必然要求、是教育现代化的必然要求、也是未来社会发展的必然要求。 《计算机软件基础》作为工科专业的必修专业基础课程之一,主要介绍了程序设计语言、数据结构和软件工程基础知识,强调基本算法的理解和运用。传统教学无法演示程序设计实践和算法演示,充分利用多媒体、网络技术发展带来的契机,采用新的教学模式改进原来的以教师讲授为主的单一课堂教学模式是课程发展的趋势。 一、现有《计算机软件基础》电子教案开发中存在的问题 软件复用是一种由预先构造好的、为软件复用是一种由预先构造好的、为复用目的而设计的软件构件来建立或者组装软件系统的过程。目前用 PPT 等软件开发的《计算机软件基础》电子教案的大部分内容是直接打包在一起的,用户根本看不到动态演示过程,也没法对内容进行修改,所以根本就谈不上软件的复用,网络共享也困难。目前少数一些用Authorware,Director,Flash 和 Html 等软件开发的《计算机软件基础》电子教案,由于在打包或时把教学内容和程序放在一起,一般没有计算机培训的用户根本就没有办法对其进行修改。由于现在网络的快速发展,基于 PPT 等开发工具开发出来的电子教案都不支持网络浏览,这样不利于课程电子教案内容的及时更新。同时,PPT 要做出很强的交互性需要熟悉它的脚本开发,而 PPT 的交互设计能力不强,限制了教案的二次开发能力,使得教师的教学活动设计和组织受到现有电子教案的约束,很难达到理想的教学效果。 二、系统整体设计结构 电子教案系统总体上被分为两大部分,一个是电子教案的编辑器部分,另一个是电子教案的内容前台展示部分(播放器功能)。编辑器部分的界面设计要力求简洁明了,逻辑结构清晰。播放器部分是教师上课时用来展示教学内容的程序,它包括导航部分、内容展示部分、以及电子白板。系统的功能需求主要集中在图文混排、多媒体支持、用户交互、编辑和修改、文字批注和电子排版等功能。 系统总体上采用由电子教案编辑器和播放器两部分组成,电子教案编辑器在完成电子教案内容的制作后导出素材内容,打开播放器播放电子教案。 编辑器主要是为电子教案的制作人员提供添加和修改课程电子教案内容的功能。编辑器部分包括电子教案文件处理部分,电子教案逻辑的设计,具体的每个页面内容的添加和页面相关属性的设置。其中文件处理部分对电子教案进行新建、打开、保存;逻辑结构对电子教案内容之间的逻辑结构进行安排,使其符合电子教案整体的结构或教师教学的具体要求;页面内容的添加负责在页面中添加具体的教学内容素材,如图片、文本、音频、视频等;页面相关属性的设置对页面背景颜色和背景图片的添加和修改,对页面切换效果的设置。另外还有具体的媒体素材的风格设计,同时还提供备课时添加批注的功能。播放器通主要负责对编辑器生成的电子教案素材文件的展示,供教师上课使用。播放器的交互设计和 PPT 类似,保持了 PPT 的一些版面设计风格和快捷键操作等。另外播放器提供弹出式导航栏,方便教师上课时的导航操作,每种素材对象都有自己特定的交互方式。编辑器打包把播放器和电子教案素材内容放在一起,播放器在打开时会调用同级同名文件夹里的 XML 文件和素材文件。 三、主要模块实现 1、电子教案文件操作模块 该模块在设计时把电子教案文件作为一个整体内容来进行新建、打开和保存。新建电子教案时对原有已打开电子教案的处理,如果用户对已打开电子教案做了修改,但是未保存,会提示用户先保存,然后再新建电子教案文件。 作为该系统的重要模块之一,内容结构编辑模块的设计要方便用户对电子教案文件的逻辑结构进行编辑和修改。本系统采用树的数据结构来标示电子教案的内容结构,不仅结构清晰,而且操作方便,符合一般用户的习惯。 该树形结构的节点可以拖动以调整节点的位置,在节点上单击右键会弹出右键菜单,包括对节点的添加、复制、粘贴、删除和修改等操作。 四、总结 《计算机软件基础》电子教案设计和开发的过程中,不仅使电子教案结合了桌面应用良好的用户体验与网络课件轻松部署,带给用户更好的交互体验。该系统实现了电子教案对网络的支持,提高了教案的可重用性和可扩展性。本系统结构在细节上还有部分可以改进和提高的地方。比如系统定义的各种资源素材 XML 表示文档没有遵循 Scorm 技术标准,给以后电子教案素材内容网络复用带来不便。 计算机软件基础论文:计算机软件开发基础知识浅析 一个软件从开始计划到废弃为止,称为软件的生存周期。它包括计划、开发和运行三个周期,每一时期又可细分为若干个更小的阶段。计划时期为问题定义和可行性研究;开发时期为需求分析、概要设计、详细设计和编码;运行时期为测试和维护。我们在开发软件项目时,要做到系统计划、分析、设计、编码、测试及维护等基本的六大步骤。软件开发首先从制定计划开始,这是必不可少的一步,在制定计划时,要准确地弄清软件项目最终要解决的问题,并考虑相应的对策,宁愿花一些时间充分作好计划,也不要在计划不周的情况下仓促着手。 一、系统计划:它包括系统定义及分析、可行性研究和实施计划报告的编写。1、系统定义是制定软件计划的第一步,它应决定所开发软件的总目标,其任务包括首先是确定所开发软件的总体要求和适用范围,描述所开发软件与外界接口的关系;其次是确定所需硬件和软件的支持,对开发的进度和成本作初步估计;第三是分析系统的可行性是否确定所开发软件与原软件的兼容性或其它关系;最后是确定所开发软件的性能与其内部复杂性之间的折中关系。2、可行性研究它包括技术可行性、经济可行性及社会可行性方面。技术可行性是研究应弄清现有技术条件能否顺利完成开发工作,对参加开发工作的人员应有哪些技术方面的要求。硬件配置能否满足开发的需要,估计的进度是否恰当以及对用户的技术方面的要求是否合理等等;经济可行性研究的目的是希望以最小的开发成本取得最佳的经济效益的软件产品;社会可行性研究则是指所开发的软件项目是否涉及到版权纠纷等法律问题,这样的软件产品投入运行后,对生产、管理或经营体制带来有什么社会影响。3、实施计划报告的编写是开发进度、人员投入计划、人员的组织及其资源的利用作个计划报告提纲。 二、系统需求分析:需求分析的任务在于完全地弄清用户对软件系统的确切需求,它具有三大特点:准确性和一致性;清晰性和没有二义性;直观、易读和易于修改。比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据等等,为了清楚地知道这些需求,你经常要和客户、项目经理交流等。需求分析的步骤:1、通过对现实环境的调查研究,获得当前系统的具体模型;2、去掉具体模型中的非本质因素,抽象于当前系统的逻辑模型;3、分析当前系统与目标的差别,建立目标系统的逻辑模型;4、对目标系统进行完善和补充,并写出完整的需求说明;5、对需求说明进行复审,直到确认文档齐全,并且符合用户的全部需求为止。 三、系统设计:主要分成两步即概要设计(总体设计或结构设计)和详细设计。概要设计阶段应着重解决实现需求的程序模块设计问题,如何把被开发软件系统划分成若干模块,并决定模块的接口,模块间的相互关系以及模块之间传递的信息。详细设计则是要决定每个模块内部的具体算法。经概要设计和详细设计完成后,需要进行必要的阶段评审,其目的在于使设计发生问题能够及时发现并得到及时的解决。实际上软件设计的主要任务是就是将软件分解成模块,该模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。 四、系统编码:系统编码即编程序是软件开发的最终目标,是产生能在计算机执行的程序,其目的是使用选定的程序设计语言,把模块的过程性描述翻译为用该语言书定的源程序。实质上,软件=程序+文档。编码的目的是产生程序,其余阶段是产生文档。软件编码是指把软件设计转换成计算机可接受的程序,写成以某一程序设计语言表示的“源程序清单”。能充分了解软件开发语言、工具特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。 五、系统测试:包括测试的方法与技术和测试步骤。测试在软件生命期中占重要地位,不仅是因为测试阶段占的时间、花费的人力和成本占软件开发的比重很大,而且它直接影响着软件的质量。程序中许多细微的地方要求绝对正确无误,不能半点马虎。软件开发工作在测试以前已经历了制定计划、需求分析、设计和编码等许多阶段,每一个人的思维不可能绝对周密,而不可能不出现差错,更不用说,在大中型软件开发项目中,系统内各部分之间、各种数据之间、各种人员之间存在着复杂的关系,因而目前可采用的开发方法都不能完全避免发生差错。1、测试的方法与技术主要是机器测试与人工测试和白盒测试与黑盒测试。机器测试是在设定的测试数据上执行被测程序的过程,又称为动态测试。人工测试并不是可有可无的,为了节约计算机机时采取的权宜措施。它是机器测试的准备,也是程序测试中不可缺少的环节。而白盒法和黑盒法主要依据是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部、外部借口、资源管理、集成化以及系统错误。2、测试步骤。分单元测试(模块测试)、综合测试、确认测试和系统测试四部分组成。它是整个计算机系统(包括软件与硬件)的测试,可与系统的安装和验收结合进行。测试的目的是让你知道,什么时候算是完成了,这样可以及时知道你是否真的完成。 测试是软件开发时期最繁重的任务,也是保证软件可靠性最主要的手段,测试的目的是发现程序的错误,而不是证明程序没有错误,软件的测试通常分散在3个阶段进行。编码阶段完成单元测试,包括静态分析与动态测试。 六、软件维护:当软件产品交付使用后,就进入生存周期的最后一个时期——运行时期。必须搞好软件的维护,才能使它正常工作,还使它扩充功能、提高性能,为用户带来显著的效益。一般软件维护工作包括三个方面的内容:改正性维护、适应性维护和完善性维护。在软件生存期中,维护工作是不可避免的,按照不同的目标,维护活动可以分为四类:1、以加强软件功能为目标的完善性维护;2、纠正软件遗留错误的纠错性维护;3、为了适应运行环境变化而进行的适应性维护;4、以及为改进软件的可维护性,减少将来的维护工作量而进行的预防性维护。软件的可维护性,主要决定开发时期的活动,用软件工程的方法来开发软件,编制齐全的文档,严格进行软件测试和阶段复审,是改善软件可维护性、降低维护费用的关键。要加强对维护的管理,尤其是配置管理。有效地对软件配置进行跟踪和控制,避免造成文档的混乱。为确保维护中修改的正确性,消除因修改不当给拥护带来的不良影响,要求对修改工作持谨慎态度。 软件工程环境是在开发软件工程时,开发者要求环境支持他们按照软件工程的方法,全面完成生存周期中的各项任务环境。它要求有适用的语言、良好的工具、有力的编辑和调试手段,以及尽可能丰富的实用程序。良好的环境可以提高开发效率和软件质量的重要条件。软件项目的特点是软件产品和其它任何产业不同,它是无形的,既没有重量,也没有体积。对于这样看不见、摸不着、完全没有物理性质的产品,如何组织生产和研制,却有许多与众不同之处。 计算机软件基础论文:计算机软件技术基础课程教学团队的建设探索与实践 摘 要:该文是将我们对于计算机软件技术基础课程教学团队的多年建设经验进行了探索与实践,为相关基础课程教学团队的建设提供一些宝贵的经验,使国家“质量工程”建设工作落到实处。 关键词:计算机软件技术;基础课程;教学团队 我校计算机软件技术基础课程教学团队经过多年的建设和发展,形成了鲜明的特色,为信息类专业学生的培养做出了一定的贡献。 一、团队设置特色 计算机软件技术基础课程教学团队是在多年的教学改革与实践中自然形成的老中青相结合的教学团队。本团队是在不断适应国家建设需要的过程中形成、发展和壮大的。当今我国经济飞速发展,在信息化建设中对高素质人才的培养提出了新要求,本团队根据这些要求大力开展计算机科学与技术人才培养模式与课程体系的研究、建设与实践,团队自身水平稳步提高。组成了以教授、博士为核心的教学小组,并结合学科发展方向,建立多渠道师资培养机制。 二、切实可行的创新性改革措施 本团队按照课程内涵,适应国家现代化建设对人才的需求,通过长期的教学实践探索、总结、形成了以下创新性改革措施。 (一)树立先进教学理念,优化课程内容 团队以“厚基础、宽口径,知识、能力、素质协调发展”的教育教学理念,针对社会发展需求,结合各专业特点,分别制定教学计划,将课程划分为“基础类”、“专业类”和“应用类”三个层次的课程类型。 (二)采用灵活教学方法和手段,提高教学质量 本团队在长期的教学研究过程中,归纳、总结和形成了若干种实用的教学方法。将省级重点学科、精品课程建设的经验应用到本课程教学改革中,充分发挥教授、博士的作用:教授、博士全部承担课程的主讲工作,定期研讨本课程的新技术及发展动向;由团队带头人主持培养方案、教学计划、教学大纲制订等教学活动;将科研课题引入课程设计和创新实验等实践活动中。紧跟学科发展的步伐,面向市场需求、结合各类专业特点,制订了一套全新的课程大纲和人才培养方案,加大基础实验的课时数,着力培养实际动手能力。 (三)强化课程设计,提升学生综合素质 从课程设计的选题、指导教师的配备、设计过程,我们从制度上实现了全方位的考核和监控。近年来,课程设计的选题中有15%来自团队成员的基金项目和科研课题,35%来自企事业单位横向课题,有30%的选题跟踪学科领域的新技术。 三、实验教学或实践性教学 (一)依托优势资源,强化实验教学 依托我校的计算机科学与技术国家级实验教学示范中心、光电技术与智能控制教育部重点实验室、甘肃省高原交通信息工程及控制重点实验室、铁道部通信与自动化重点实验室、甘肃省网络测试技术研究中心、甘肃省网络监测中心等11个实验室和研究所,建立了面向本科生的课程实践体系。实践教学中突出知识的综合运用能力培养,设立了综合性课程设计体系,并对某些专项内容单独设课,突出了计算机软件分析设计能力、创新能力和团队协作能力的培养。 (二)结合学生兴趣,建立个性化的培养方案 利用国家级实验教学示范中心的先进软硬件平台,开设设计性、创新性的综合实验,并作为实践活动的必修环节。这些活动不仅向学生提供了接触、学习先进软件工具的机会,而且也通过教师的言传身教,掌握科研的基本实验技能,为后续实践活动奠定基础;通过本科生参与团队成员承担的科研项目,使学生一开始就处在一个较高的起点,能够涉猎学科前沿。 (三)完善实验教学管理制度,保证实验教学质量 团队切实加强教师队伍和管理制度的建设,确保高质量地实施课程计划。借鉴ISO9001认证体系中的过程化管理、按要素评估的思想,建立完善的教学质量保障体系。 四、资源建设 课程建设依托计算机科学与技术国家级实验教学示范中心、光电技术与智能控制教育部重点实验室、甘肃省高原交通信息工程及控制重点实验室、铁道部通信与自动化重点实验室、甘肃省网络测试技术研究中心、甘肃省网络监测中心等实验室,先后通过教育部、甘肃省教育厅和学校共同投入,补充和更新了一大批实验设备,使实验条件得到较大的改观,能满足教学科研的需要。同时,团队通过校企联合,建立了一批计算机设备比较先进、技术力量雄厚、指导能力强、稳定的校外学生实践基地。各实习基地的实践活动按照教学大纲和任务书进行,保证了实践教学效果。 五、网络教学建设 建立本课程网上课堂及在线立体化智能教学系统。网上课堂设计的目的是能够给不同层次、不同需要的学生提供帮助,提高教学质量。根据网络立体化教学环境的要求,系统主要包括用户管理、公告系统、网上教学、动画演示、在线测试、网上答疑、课程实验、课程设计及论坛多个模块构成,系统的设计思想确定为:以知识点为中心组织教学子系统;利用动画技术设计演示子系统;建立交互式的考核子系统;建立答疑教室,为教学交流提供桥梁。 六、结束语 我校的计算机软件技术基础课程教学团队是一支实力雄厚,极具影响力的教学科研队伍。该团队很好地把握了当前“计算机”教育的特点,坚持理论与实践并重,一方面,注重对国际上新理论、新方法以及实践中的热点问题进行跟踪和研究。另一方面,注重运用现代信息技术,精心制作了多媒体课件,采用多媒体手段进行教学,同时利用现代信息技术,实现了网络化教学,方便了师生之间的教学互动,有助于促成教学质量的提高。该团队的很多研究成果已经达到国内领先水平,并被评为国家级教学团队。 计算机软件基础论文:以计算机软件工程为基础的现代化技术研究 摘 要 为了推进我国现代化产业的健康发展,各界对于计算机软件工程技术的发展非常关注。目前,电子计算机的覆盖面非常广泛,这对于计算机软件工程的发展提供了动力。为此,本文首先分析了计算机软件工程的具体情况,其次,提出了促进以计算机软件工程为基础的现代化技术发展的可行性方法,最后,就计算机软件工程未来的发展趋势作以分析。 【关键词】计算机 软件工程 现代化技术 研究 现如今,已经步入信息化时代。在此背景下,现代信息技术以其特有的优势为各个行业提供便利。其中,计算机软件工程也属于应用现代化信息技术中的重要一员,为了更接近理想发展目标,有必要提升其现代化水平。因此,了解计算机软件工程现代化技术发展现状,并提出合理性的改进意见,是非常必要的。只有这样,才能让计算机技术得到更充分的应用。 1 计算机软件工程及其发展现状 计算机软件工程,具体是指参与软件工程活动的软件工程师和管理员进行开发、维护、管理软件产品的过程。在这期间,他们需要在软件工程的方法指导下,利用计算机及其软件工具完成上述工作。自计算机软件工程技术传入我国以来,其也得到了一定的发展。分析其发展现状,不难发现,计算机软件工程技术与其他先进技术相比,存在明显的共通性。因此,计算机软件工程技术得到了众多应用领域的认可。为了促使计算机软件工程技术更好的发展,分析其存在的不足之处,有利于实践过程中调整或者改正。具体而言,在软件工程化开发过程中,会产生较多问题,例如,最突出的问题就是工程软件设计需求与实际业务需求存在出入。除此以外,关于软件工程的管理也不是一件容易的事情,其涉及的环节较多,内容较为繁杂,给软件工程的管理造成诸多不便。就其根本,限制我国计算机软件工程的发展因素主要有两个方面: (1)缺少自身的自主研发手段; (2)缺少一套计算机软件工程管理体系。 2 促进以计算机软件工程为基础的现代化技术发展的可行性方法 2.1 加强自主产权的保护 计算机软件工程借助现代化技术实现发展,因此,在计算机软件的自主创新技术上,相关企业应注重保护自主产权。在此过程中,要通过优化投资结构,创建出属于自主研发的创新技术,进而推出相应的技术与产品。除此以外,为了缩小我国计算机软件工程现代化技术与国外的差距,有必要密切关注国外的发展状况。同时,保护知识产权是一项重要工作,企业或者相关人员应增强自身的知识产权保护意识,明确科学、合理的知识产权保护举措,以促进我国现代化技术向更好的方向发展。为实现该目标,应做好以下几点, (1)针对知识产权方面的知识,应大力宣传。 (2)针对相关知识产权方面的法律法规,应积极完善。 (3)将违背知识产权保护条例的行为给予相应的处罚。 从上述几点入手,调动计算机设计人员的工作积极性。 2.2 重视创新技术和产品 我国计算机软件工程上的技术自应用以来,取得了不错的发展。但停滞不前的技术水平,很难让我国计算机软件工程技术实现更好的发展。为了扭转这种局面,我国相关部门与科研人员在技术方面应实现创新。国外的先进技术固然能够被引进或者借鉴,但是这不是长久之计。在计算机软件工程技术中融入自身更多的自主性,才是创造优质产品的根本。通过技术创新,促进行业整体平稳发展,是我国的计算机软件工程走向可持续发展的道路唯一途径。现阶段,我国相关部门与科研人员应该通过引进新型、专业型的技术人才,提出新颖的技术理念等方法实现计算机软件工程技术的创新。这样计算机软件工程的建设才能打好基础,进而推动其的整体进程。 2.3 政府增加扶持力度 信息化项目建设的发展,对于一个国家来说是非常重要的。作为信息化项目建设中的重要组成部分,现代化计算机软件工程技术相关项目应该受到政府的重视,得到更多的扶持。为此,政府部门,应该做好以下几项工作: (1)通过增加投资和融资渠道让项目建设获取更多的投资。 (2)由政府负责牵头成立相关的计算机软件工程基金,为计算机软件信息产业的发展贡献出重要的力量。 (3)政府还应该通过引导和开发,促成相应的技术改造项目顺利完成。 3 以计算机软件工程为基础的现代化技术发展方向 从计算机软件工程的技术应用现状来看,以计算机软件工程为基础的现代化技术发展前景非常好。在未来,以计算机软件工程为基础的现代化技术更倾向于向智能化方向发展。只有实现智能化,才能提升计算机在办公效率方面的能力。不仅如此,在软件工程技术开发中,也可以增强自动化的作用。因此,加大软件开发技术的智能化推进力度刻不容缓。另外,分析以计算机软件工程为基础的现代化技术发展方向,可以明显看出,其更加趋向开放性的发展趋势。计算机的应用领域越来越多,全面推动技术的开发是必然的选择,如此一来,增强开放化程度也成为了唯一方法。网络化程度增强也是以计算机软件工程为基础的现代化技术发展的一个主流。在计算机软件工程开发的过程中,涉及的信息数据越来越多,需要存贮的内容也随之扩大,因此,在未来,计算机软件工程需要更加趋向网络化。否则,将难以快速的进行信息处理。同时,与全球信息的交汇也需要增强其网络化。 4 结束语 综上所述,为推动现代化社会发展,关注并重视现代信息技术非常必要。在现如今的信息化社会的背景下,促进信息化技术的发展不能仅仅借鉴或者引入国外的先进技术。我国应该本着积极创新产品的目的,提升自主研究技术水平,为提升服务质量与水平做出努力。我国计算机软件工程的现代化发展,需要当代科研人员和相关人员贡献力量。从政府加大扶持力度到科研人员重视创新技术和产品,都是推动计算机软件的开发与进步的方法。此外,企业自身也要尽可能创造积极的环境为计算机软件工程的优化升级奠定基础。 计算机软件基础论文:认知案例教学法在“计算机软件技术基础”课程中的探讨与应用 摘要:针对目前“计算机软件技术基础”课程教学中存在的共性问题,结合专业特色,着重探讨了将基于Zadeh认知原理的认知教学法与案例教学法相结合形成的认知案例教学法及其在该课程中的应用。通过三年的教学实践,收到了良好的效果。 关键词:软件技术基础;教学法;认知;案例 一、引言 “计算机软件技术基础”课程是非计算机专业的计算机基础教学内容之一,有着广泛的应用。课程的教学目标是使学生能够全面系统地了解并掌握计算机软件技术的基本概念、思想、原理和方法,并且具有一定的软件系统设计能力,更好地利用计算机软件技术解决本专业领域中的实际问题和日常事务性问题[1-2]。目前,很多高校都开设了“计算机软件技术基础”课程并取得了一定的成效,但该课程的综合性较强,在教学过程中出现了一些不尽如人意之处。本文针对目前该课程在教学中存在的共性问题,结合作者的教学实践,从教学方法的角度出发,对该课程的教学改革进行探讨。 二、课堂教学存在的共性问题 “计算机软件技术基础”课程教学目前面临的共性问题主要体现在以下几个方面[3]:(1)学生对该课程的学习目的不明确,认识不到课程内容的重要性;缺乏学习动力、主动性和自觉性;(2)学生的程序设计、调试能力薄弱,缺乏解决实际问题的经验,对课程内容的实用性体会不深;(3)教学学时较少,一般为32或者48学时。课堂教学大部分时间集中在基本概念、原理的讲授上,而程序设计、调试等实践性较强部分通常只能点到为止,无法进行深入讲解和布置练习。 对于第一个问题,普遍采用的对策是引导学生重视课程;后面的两个问题,目前的解决方式主要集中在教学方法和教学手段的改革上,不同的授课者在具体实施的时候,会因情况而各异。本文作者承担着内蒙古大学通信工程、电子信息科学与技术两个专业的“计算机软件技术基础”课程的授课任务,面对目前该课程教学中的共性问题,进行了深入的思考、分析和研究,除了对学生进行科学研究层面的适当引导外,尝试采用合理有效的教学方法展开教学工作。 目前,一门课程大多采用一种教学方法,主要有任务驱动教学[4]、案例教学[5]、问题教学[6]、引导教学[7]、认知教学[8]等。前四种方法侧重于教学形式与手段的变新与改革,认知教学从讲授内容的本质出发,研究教学内容的认知过程。“计算机软件技术基础”课程以高级程序设计(C或C++)为基础,内容涵盖“算法与数据结构”、“操作系统技术”、“数据库技术”和“软件工程”等,各内容之间既互相联系又比较独立,每一部分内容都是计算机专业的一门专业课程。对于这样具有繁杂的内容并且注重理论联系实践的课程,仅采用单一的教学方法组织教学肯定满足不了授课的要求,同时学生也不容易掌握其内容。基于Zadeh认知原理的认知教学能够从牢牢抓住教学本质出发,深化知识的组织、粒化与因果关系,将所有知识融为一体。案例教学能够使理论和实践有机地结合起来,利于学生的思维能力、知识应用能力、团队合作精神的培养。本文将基于Zadeh认知原理的认知教学与案例教学两种教学方法紧密地结合起来(以下称认知案例教学法)并应用到该课程的教学实践中,借此加强学生的程序设计、调试能力,缓解因教学学时较少与加强实践能力间的矛盾。 三、认知案例教学法及在“计算机软件技术基础”中的应用 基于Zadeh认知原理的认知教学是按照人类认知事物的规律进行教授知识,将教学知识组织、粒化、因果化,使学生抓住知识的本质,全面地掌握知识。其中,组织是对知识宏观的掌控,粒化是对知识微观的演化,因果则是知识之间的关联。因此,认知教学能够条理地、逻辑地、系统地组织教学内容,是一种符合学生学习逻辑认知过程的科学方法[8]。案例教学是一种以教学案例为基础的教学方法,以学生在课堂内外对案例的分析、思辨为重点,目的是提升学生应用理论创新性地解决实际问题的能力。具体形式是在教师的精心策划和指导下,根据教学目的和教学内容要求,运用典型案例将学生带入特定事件的现场进行案例分析,通过学生独立思考或集体协作,进一步提高其识别、分析和解决某一具体问题的能力[5,9,10]。对于认知案例教学法,首先综合考虑认知教学法和案例教学法的内涵,认真分析课程的特点和内容,提取宏观知识点(教学内容)并把它们合理地组织在一起;然后对每个宏观知识点进行细化,得到微观知识点;接下来搭建宏观知识点之间、微观知识点之间的相互关联,从而得到一个课程的认知系统;最后在这个认知系统的基础上,对微观知识点或宏观知识点选择合适的案例开展课程教学。 根据“计算机软件技术基础”课程的内容,把“算法与数据结构”、“操作系统技术”、“数据库技术”和“软件工程”四部分作为宏观知识点,并用系统工程作为基点把它们关联起来;依靠采用的教材和使用的参考资料对这四个宏观知识点进行细化,并建立微观知识点的彼此关联,这样就得到了“计算机软件技术基础”课程的认知系统,如图1所示。图1中的宏观知识点和微观知识点形成了一个多层次、逐层深入的组织结构。每一层是其上层的粒化,每层的微观知识点之间、上层和下层之间都有直接或间接的因果关系。依据图1所示的认知系统,在实际教学中采用了对底层一个或多个关联紧密的微观知识点精选有真实场景的应用案例展开课堂授课。为了能够成功地进行认知案例教学,需要对学生进行科学研究层面的引导,较好地激发学生对课程的强烈求知欲和学习积极性,使其在课堂之外能够主动地投入更多的时间和精力认真完成课堂教学的准备工作,同时自主地学习和发现问题。对于教师,需要在图1的认知系统框架下,根据微观知识点有针对性地选择案例。仔细研究案例的内容,做好案例分析。明确给出本次案例教学重点讨论的问题、有关的背景知识、参考资料和预习要求,把这些内容文档化提供给学生,要求学生提前预习,找出具体问题,同时准备分组讨论提纲。注重程序设计和调试,布置相应的练习,要求学生提前熟悉程序,并准备调试结果。课堂教学中,引导学生就一个问题进行讨论,根据学生的发言进行相应的点评和讲解;并引导学生从一个问题的讨论过渡到另一个问题的讨论;最后进行小结和归纳。 认知案例教学注重培养学生的程序设计和调试能力,教学中布置的练习都有相应的应用背景,学生通过调试和设计程序对课程内容的实用性有了进一步的体会。一般一个案例包含多个知识点,学生的预习和准备工作缩短了授课教师讲授基本概念、原理所需的时间,这让授课教师能够在有限的课堂教学中集中更多的精力去讲解实践性较强部分。经过三年的认知案例教学实践,发现学生的学习积极性和学习效率都有了明显的提高,学习效果良好。 四、结束语 本文把认知案例教学法应用到“计算机软件技术基础”课程的教学实践中,对于该课程的教学有一定的独到性之处。较好地处理了理论与实践相结合的关系,进一步激发了学生的学习兴趣,使学生能够更加牢固地掌握课程的知识点,同时培养了学生的自学能力和创造能力,提高了教学质量。 计算机软件基础论文:计算机软件开发的基础架构原理研究 [摘 要]计算机软件开发行业的发展得益于当前信息技术的快速发展和信息受众不断增加,当然计算机软件开发也需要遵循特定的规律,依照其基础架构原理来进行操作,才能够保证计算机软件开发朝着有效性的方向发展。且计算机软件设计的过程,就是在逻辑关系的引导下,实现软件内容的重新确定,进而形成对应的基础架构,这是软件运行的前提和基础,甚至会影响到后期软件系统的维护和管理工作。由此积极探讨计算机软件开发的基础架构原理,是很有必要的。文章由此入手,积极探究计算机软件开发的概况,进而分析计算机软件开发的基础架构原理。 [关键词]计算机软件开发;基础架构原理;研究 1 引言 计算机软件设计的过程,就是在逻辑关系的引导下,实现软件内容的重新确定,进而形成对应的基础架构,这是软件运行的前提和基础,甚至会影响到后期软件系统的维护和管理工作。由此积极探讨计算机软件开发的基础架构原理,是很有必要的。 2 计算机软件开发的概况 2.1 计算机软件开发的概况 计算机性能的不断提升,使得人机交互效益得到不断展现,越来越多的行业开始尝试以计算机软件开发的方式,实现自身运营模式的信息化转变,由此以对应需求为基础的软件开发行业得到了快速的发展。计算机软件开发具备以下的特点:持续性特点,就是软件开发是一个循环往复的完善过程,在计算机逻辑基础上,计算机软件的缺陷是一直存在的,只有不断的采取措施去修正,才能够更好的发挥计算机软件的性能;针对性比较强,往往都是针对于某一行业或者领域而开展的计算机软件开发工作,其开发工作的目的性更强,对于效益的追求也是更加强烈的。 2.2 计算机软件开发基础架构的重要性分析 当前计算机软件开发过程中,使用量比较多的基础架构,就是三层结构体系,其分别可以归结为:其一,表示层;其二,逻辑层;其三,数据层。在上述三个层次的基础上,可以使得软件的人机交互界面展现出良好的性能,使得逻辑关系和计算机语言之间得以分离,这样在后期维护和修改的时候,单独的对人机交互模式进行调整,就可以使得软件开发的节奏变得更加快捷。由此可见选择合理的计算机软件开发基础架构,对于软件性能的最大化发挥,对于软件后期的维护和管理工作质量提升而言,都是有很大帮助的。 3 计算机软件开发的基础架构原理分析 3.1 从计算机软件开发基础架构需求的角度来看 无论是开发设计怎样的软件,都需要在明确开发目的的基础上进行,也就是需要对于软件的需求进行全面分析。不同的企业,归属的领域不同,所需要展现的功能也是很有差异性的,此时企业都会提出对应的软件开发需求。在此过程中,计算机软件开发者与信息企业之间会展开大量的协商工作,对于软件的功能进行分析,结合企业业务运行特点,实现计算机软件开发方案的敲定。为了做好需求分析方面的工作,需要特别注意以下几个方面的工作:建立完善的软件企业与需求企业之间的沟通机制,保证在软件需求分析的过程中,能够充分的了解企业组织的业务特点和规律,保证软件开发需求能够更加明确。 3.2 从计算机软件开发基础架构编写的角度来看 计算机软件开发基础架构需求分析结果得出之后,就需要进行实际的软件编写工作,从当前的实际情况来看,多数使用的是C语言,这种语言的特点为:语言结构结构比较好,编写操作比较快捷,是当前程序员使用频率比较多的语言模式。在实际的软件编写的过程中,会依照对应的功能划分,实现不同模块的敲定,保证不同模块都能够发挥自己的功能,此时需要建立对应的函数模式,使用这样的主函数对于各个模块进行调节和改善,这样可以保证结构能够更好的维护。当前一个计算机软件的开发工作,都是有多个程序员来共同完成的,这样可以尽可能的保证软件编写工作的高效性。 3.3 从计算机软件开发基础架构测试的角度来看 在计算机软件开发基础架构编写工作完成之后,就需要对于软件的不同功能实现测试,实现对于软件测试阶段的管理和控制,是保证软件性能发挥的关键所在,这也是将对应计算机软件投入使用之前必然要进行的工作。在此过程中,需要关注以下几个方面的内容:其一,输入特定的参数,对于软件的运行情况进行记录,验差运行情况与理论情况之间差异性;其二,使用白盒子和黑盒子的方式去进行测试,同样对于软件测试的效果进行记录,由此实现实际计算机软件开发工作的顺利开展;其三,除了测试工作之外,还应该做好计算机软件开发基础架构的维护和管理工作,定期对于软件的性能发挥进行检查,并且推出全新的版本,进而实现软件自身的修复,这样可以使得其自身的性能得到全面提升。 4 计算机软件开发基础架构选择的基本原则 计算机软件开发基础架构的选择,关系到计算机软件效能的发挥,牵涉到各行各业信息化的快速发展和进步。在选择计算机软件开发基础架构的时候,需要关注以下几个方面的内容:其一,树立软件设计目标意识,在需求分析的基础上,对于不同的基础框架进行选择;其二,使用先进的逻辑语言和编程技术,对于计算机软件架构进行合理的编写和操作,由此才能够保证基础架构开发工作的高效性;其三,依照软件目标功能和结构选择之间的关系分析,选择合适的结构,进而使得软件开发行为朝着有目的性的方向发展和进步;其四,注重计算机软件开发团队的塑造,处理好不同模板开发之间的关系,保证计算机软件基础结构选择得更加科学和合理。 5 结语 综上所述,计算机软件开发过程并不简单,其中不仅仅涉及到专业领域的知识,还关注到计算机软件基础结构的原理,处理好这两者之间的关系,才能够保证计算机软件开发的基础架构工作朝着更加高效的方向发展和进步。从当前计算机软件开发基础架构原理的运用实践来看,其基础架构选择还存在很多不合理的情况,此时就需要采取对应的措施来改善和调整,相信随着在此方面实践经验的积累,计算机软件开发的基础架构将会展现出更加大的效能。 计算机软件基础论文:基于计算机技术发展基础上的计算机软件安全检测技术 摘要:计算机软件安全检测技术已经成为了计算机软件开发过程中不可或缺的一项核心内容。计算机软件开发人员,在进行计算机软件开发过程中,非常有必要对不同类型的计算机软件进行安全性检测,以便于软件开发人员事先发现安全隐患,从而采取适当的改进措施,确保不同计算机软件在使用过程中顺利运转。 关键词:计算机软件;安全检测技术 在社会经济飞速发展的今天,计算机作为意义上的生产或者生活用品已经融入人类社会的各个领域,并且随着科技的日新月异,电子计算机科学技术也随之日臻完善和成熟。是计算机软件在支撑着计算机的正常运转,人们依赖计算机进行生产和生活要借助不同的计算机软件来进行,因而,计算机软件的安全性也就提到了计算机维护的首要日程。否则,其安全性就极有可能对计算机的使用带来极大的安全隐患,同时也会给互联网安全造成极大威胁。鉴于此,计算机软件开发人员,在进行计算机软件开发过程中,非常有必要对不同类型的计算机软件进行安全性检测,以便于软件开发人员事先发现安全隐患,从而采取适当的改进措施,确保不同计算机软件在使用过程中顺利运转。显而易见,计算机软件安全检测技术已经成为了计算机软件开发过程中不可或缺的一项核心内容。 1计算机软件安全检测的基本内容 当今社会,计算机的使用在不同领域越来越广泛,而且越来越具有依赖性,因而,计算机软件使用过程中的安全性则越来越成为计算机用户的终极要求,主要表现在以下几方面::第一,软件之间的冲突导致计算机运行的不通畅。安装某一款计算机软件后,用户发现这对计算机本身并没有产生多么明显的影响,甚至会因为该软件和其他软件冲突因而导致计算机运行速度明显变慢等;第二,计算机软件安全性得不到保证。计算机用户在使用软件的过程中许多个人信息会被留下,用户的私密信息随之就不可避免地被泄露,自然,用户的个人隐私就会得不到有效的、必要的保护。因此,在不同计算机软件开发过程中,软件开发人员要利用成熟的安全检测技术对计算机软件中存在的安全漏洞进行检测,并对其进行安全修复,从而达到提高安全性,降低风险的目的。 计算机软件安全检测是指在软件开发过程中,计算机软件开发人员采用安全检测技术,采取科学的手段,对计算机软件的漏洞和缺陷进行系统性地检测。安全漏洞检测是指计算机软件开发人员对计算机软件的安全缺陷及在使用过程中产生的安全隐患进行有针对性的检测、修复,软件升级或版本修复是这一过程的主要运用手段。不过,这类检测只是停留在技术的层面问题;而真正的技术检测,则是计算机使用过程中系统运转过程中的安全管理、授权、访问控制和机密性等核心内容。 2计算机软件安全检测的基本要求 计算机软件检测是一项复杂、严谨技术含量较高的工程,不仅对检测的软件有着科学严格的要求,同事对检测方法、技术手段、操作人员素质等都有着严格的要求。 首先,由于计算机软件程序具有复杂性的特点,要使用科学有效的安全检测方法对计算机软件安全进行实质性检测。软件中很多潜藏的安全问题,采用简单的检测方法是不能被排除的,所以开发人员一定要事先对软件的相关特性以及检测软件的使用条件进行全面了解后,再根据实际情况选择适当的检测方法,制定出科学合理的检测方案,对计算机软件安全进行实质性检测,不仅如此,开发人员还要在细节方面也要依据相关程序进行细化和深化。 其次,因为软件漏洞具有存在于软件开发程序的各个环节的特点,需要多类人员共同参与对计算机软件的检测,才可能确保尽可能多地排除软件中潜在的安全威胁。多元化的人员参与有利于实现检测方法的多极性、多样性,这有利于及时、准确地排除安全隐患。不过,在软件安全检测过程中,必须需要具有专业软件安全检测技术的人员参与,同时还需要有了解软件工作和使用特性的人员,从而实现多角度、全方位的检测,以排除更多的安全风险,满足软件使用的安全要求。 最后,对计算机软件进行安全检测必须要按计划选择合适的方法进行安全检测。选择大体说来,需要通过以下做法具体执行:首先,要对计算机软件检测的各种方案和案例进行必要地分析研究,并且最后要进行汇总,在此基础上再进行分析、归纳、总结,寻找出普遍通用的检测规律。之后,再根据检测的具体要求,对比、筛选合适的方法予以检测。但是,再进行检测之前,为了确保检测程序的顺利推行,事先必须制定出切实可行的检测方案,并将检测过程的方案制定的形象化、具体化,以确保检测过程准确无误地予以开展。以上工作做好、做细后,还要对上述拟定的检测方案采用电脑模拟建立数据模型。特别需要指出的是,在这个过程中,一定要把语言支持作为实现模型形式化表现过程中的动态帮助。以上环节结束之后,作为对软件进行运行和结构的安全测试,再开始检测模拟系统。 3 计算机软件安全检测的具体技术 3. 1 语法安全检测技术 语法安全监测技术主要是对计算机软件中的语法进行实质性、技术性检测。最初输入条件的不同会使最终检测结果产生差异。语法安全检测技术通常被用于检测源程序中的安全漏洞,该检测技术可及时有效地检测出系统函数与C语言库函数的切换,并及时恰当地做出处理,从而建立以语法为基础的测试数据。同时该检测技术还能实现对计算机软件的安全检测,排除潜存的安全风险,保证计算机安全运行。 3. 2 动态安全检测技术 这项技术是对计算机软件运行环境变量进行的必要检测,漏洞等风险因素是它主要进行的检测目标。这种安全动态检测技术的使用,计算机软件源码不需要在运作过程中进行修改,因而计算机用户的隐私安全得到了很大程度地保证。在这类检测技术应用过程中,如果计算机软件的漏洞被发现,就会自动完成相关修复工作。今天,由于计算机在商务应用中也发挥着越来越大的作用,这种软件的检测技术更加适用于商务性,随着普及率的越来越高,对保证商业机密的安全,必将发挥着越来越大的作用。 3. 3 静态安全检测技术 近年来,计算机程序开发人员根据程序代码内部特性和结构是静态安全检测技术这一特征,事先构建合理的测试模型,以满足计算机读取的相关要求,对计算机进行安全静态检测,这就是所谓的静态安全检测技术。这种检测技术的检测程序是:开发人员先利用这种安全检测技术对需要检测的计算机进行检测之后,再将选定的测试模型和待检测的程序数据进行全面比对,如果待测的计算机软件安全性能良好,其对比数据就会高度一致。近年来,由于这项技术日臻成熟,并且简洁易行,越来越多的软件技术开发人员倾向于此项研究之中,从而推动了这项技术得到更为充分的发展,并且越来越大地在计算机软件安全领域中发挥了重要的作用。 3. 4 混合安全检测技术 近年来,随着计算机检测软件越来越多样化,检测技术要求的不断提升,对计算机软件越来越趋向于多项或者混合检测,以确保效果的精准化、全面化。鉴于此,实践中,我们往往倾向于多种检测软件并行的检测方法,也即这里我们所说的混合安全检测技术。这种混合安全检测技术双管齐下,动态安全检测与静态安全检测并驾齐驱,采用了动态安全检测与静态安全检测两种检测技术的优势,扬长避短,强强联合,确保计算机软件检测过程精准、全面、不留死角,极大地扩大了检测范围。 3. 5 基于web技术的安全检测技术 计算机技术检测采用web技术是近年来计算机检测技术领域的一项尝试和技术突破。Web技术是近年来伴随着计算机互联网技术出现的网络资源开发技术。随着web技术的不断革新,这项技术也逐渐渗透到计算机软件安全检测领域中,并且和其他检测手段比起来越来显示出它独特的优越性能――与同是作为计算机软件安全检查的传统的检测技术,Web安全检测技术更具有灵活性、高效性和先进性的特点,在检测性能等各方面都表现出优异的成绩。大体说来,基于Web技术的安全检测技术不仅能够及时检测出风险和漏洞,而且能够及时对这些安全风险和漏洞进行有效修复,为计算机系统安全、可靠、高效地运行提供了有力的保障。鉴于这种检测技术的精准、高效、安全的特色,基于Web技术的安全检测技术已经越来越多的运用到不同行业的计算机检测技术中,并且大有取代传统检测软件的趋势。 4 结束语 综上所述, 随着计算机网络越来越大的影响着人类的生产和生活,计算机安全检测技术作为计算机运用过程中的辅助技术,势必越来越彰显出它的必不可少的重要作用。同时,计算机技术越先进,势必要求计算机安全检测技术也必须随之越先进,在科技日新月异的今天,相信我们人类社会在计算机安全检测技术方面,也必将取得更多成果,以更好地服务于计算机技术,更好地造福于人类。
工程系列论文:软件工程系列课程的双语教学改革与实践 摘要:软件工程专业具有较强的实践性,在软件工程专业系列课程中实施双语教学改革,能使学生更加深入地理解和掌握软件开发技术,从而锻炼学生的基本技能,提高其解决实际问题的能力。 关键词关键词:软件工程;双语教学;实验课程;教学改革 0 引言 随着信息化的普及和IT技术的不断应用,高等院校在培养软件工程专业应用型专门人才方面已逐步形成了一定规模。面向英语、日语等外语与中文环境相结合的软件外包服务业也迅速发展,大型IT企业需要大量的掌握双语文化知识的软件开发人才。同时,教育部在《关于加强高等学校本科教育工作,提高教学质量的若干意见》中指出:为适应经济全球化和科技革命的挑战,本科教育要创造条件使用外语进行公共课和专业课教学。因此,在软件工程专业系列实践课程中引入双语教学,改革教学模式,使学生通过实践环节深入理解和掌握课堂教学内容,使学生得到基本技能训练,提高其解决实际问题的能力,适应社会对人才的需求。 1 双语教学的内涵与作用 双语教学指用非母语进行部分或全部非语言学科的教学。在课程教学中,使用中文、英语语言文字作为教学媒体,使学生在整体学识、两种语言能力以及这两种语言所代表的文化学习及成长上,均能达到顺利而自然的发展。 本文通过在软件工程专业系列课程及实验中开展双语教学,采用新的与国际环境相适应的教学模式,构建双语实验教学体系,主要起到三大作用: (1)有利于软件开发人才与国际接轨。近年来,欧美公司的软件外包服务逐步向印度、中国等新兴国家转移,印度由于其母语为英语,其软件公司和软件人才无论从数量还是质量上都明显好于中国,中国要获得更多的软件外包或培养有国际竞争优势的软件人才,必须让从事软件开发的大中专学生广泛接受英语语境教育,实现跨国软件人才的无缝接轨。 (2)有利于教师教学质量的提高。教师通过双语教学,锻炼了教学语言能力,开阔了国际视野,真正实现了教与学的统一。 (3)有利于实验教学体系的完善,通过开放、标准的双语实验教学体系,更能使外来人才和学生适应当前社会和企业的需求。 2 课程教学环节设置 在软件工程专业系列课程及实验中设置双语教学环节,这对教师提出了更高的要求,需要具备通晓国内外的软件开发环境、理论体系及实践环境的知识。能进行双语教学环节的软件课程有:数据结构、软件工程、软件项目管理、操作系统、编译原理、数据结构、汇编语言、C语言、Java语言、数据库原理等。 课程涉及的外语环境软件,比如电子设计软件Protel、Java开发平台Eclipse、C#应用软件VS2008、操作系统Linux、Cisco Systems、SQL Server 等开发平台及软件大部分都是全英文版的。并且从国外引进的比较先进的实验技术和实验课程教材大部分也是英文版的。 3 双语教学案例分析 由于实验课程平台的多样性,需要在软件实践课程中采用双语实验教学。 现以数据库实验课程和Java实验课程为例,进行相关的实验课程双语教学。数据库实验课程由具备海外留学经验的教师主讲,采用的是自编SQL Server 教材(电子工业出版社)和Administering a Microsoft SQL Server 2000 Database(英文版)两本教材相结合,实验软件为SQL Server 2000。实验教学模式采用案例分析和分组实验方式,实验演示软件和数据库软件采用英文版,讲授和示范采用中英文结合的方式。 主要通过如下几个环节来提高学生对双语实验教学的认知能力: ①实验指导预习环节:在进行实验课之前,先给学生列出有中英文对照翻译的详细实验指导,并让学生自行熟悉SQL Server 2000等英文版软件; ②实验操作环节:对实验的关键部分用英文注释并向学生作中文解释; ③实验小组采取“1+1+1”模式,即1个英语好的学生+1个软件操作能力强的学生+1个理论理解能力强的学生组合; ④实验报告环节:实验报告主要以英文撰写的模式,并附上中文解释; ⑤综合性实验环节:借鉴香港大学IS信息系统集成方面特色,实验数据库技术和其它系统进行集成和整合。 实施教学的过程中也遇到一些困难,学生对英语特别是与数据库相关的专业英语术语的接受程度不一,并且对软件操纵能力的水平不一,这要求教师在教学过程中对学生实验分组的搭配要合理。在进行该门课程的实验教学前,可制定一份详细的摸底调查表,对学生的英语水平和软件开发能力进行摸底,然后进行人员搭配和分组。 根据摸底情况进行差异化教学,先对英语能力和软件掌握程度好的学生进行培训。以掌握英文阅读能力和英文软件为主,而英文能力差的学生则以掌握中文为主。再通过“1+1+1”模式,让英文好的学生传、帮、带英文水平差的学生,最后实现共同进步。 关于实验过程中教师在进行英文讲解时与学生的沟通问题,由于一些术语比较专业,学生往往难以理解,这就需要教师预先给予注释并进行解释。 由于数据库实验课程引进了双语教学,其实验课时的安排有所增加,具体课时如表1所示。 4 双语教学效果分析 通过对双语教学课程中学生反馈信息的总结,可以确定双语教学的开展产生了如下效果: (1)学生不仅掌握了相关课程的基本概念和基本理论知识,而且通过双语学习掌握了准确系统的英语专业表达方式,并提高了专业英文的阅读能力和自学能力。 (2)通过课堂提问、软件实践、书面作业等形式,以介绍软件开发的基本概念、基本理论为重点,结合软件开发规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对软件工程专业理论知识有全面了解,初步培养了学生用外语进行专业交流的能力,增强了学生开口说、动手写的技能,提供了学生与教师间进行专业交流的平台,提升了学生的综合素质。 在进行双语教学实践后,学生在毕业论文设计初期可以充分自由地利用新的外文资料。这有利于培养学生毕业后从事软件服务行业的外文阅读能力,从而提升学生面向市场的竞争力。 经过几年的努力,软件专业系列课程双语教学改革取得了一定的成效,学生能力前后对比如表2所示。 5 结语 通过以上措施的改革,可以提高学生对各门专业课程的综合运用能力,拓展学生解决实际问题的思路,提高实验效率。 实验室也是科研的基地,是出人才的地方,也是出成果的地方。把实验课教得更好,把科研搞得更好,才能为我们的教学、科研做出更大的贡献。 工程系列论文:基于卓越工程师培养的冶金类专业控制理论与控制工程系列课程改革 摘要 根据冶金类专业控制理论与控制工程系列课程的现状,结合应用型本科“卓越工程师教育培养计划”的基本要求,文章提出了控制理论与控制工程系列课程建设的基本思路和改革方案,阐述了课程建设与改革的基本内容,确立了培养学生工程知识、工程素质和工程能力的目标。从课程整合优化与更新、教学方法与手段改革及教材建设等几个方面进行改革与创新,全面提高学生的工程实践能力、工程设计能力和工程创新能力。 关键词 卓越工程师 冶金类专业 控制理论与控制工程 课程改革 苏州大学沙钢钢铁学院成立于2010年5月18日,是苏州大学与世界500强企业江苏沙钢集团合作共建的苏州大学二级公办学院,是目前国内第一家校企合作创办的新型钢铁学院。本文主要针对“卓越工程师教育培养计划”的要求,论述冶金类专业控制理论与控制工程系列课程改革的思路与方案。 1 “卓越工程师教育培养计划”提出的基本要求 “卓越工程师教育培养计划”是贯彻落实《国家中长期教育改革和发展规划纲要》和《国家中长期人才发展规划纲要》的重大改革项目,致力于面向工业界、面向世界、面向未来,培养造就一大批创新能力强、适应经济社会发展需要的高质量各类型工程技术人才,为建设创新型国家、实现工业化和现代化奠定坚实的人力资源优势,增强我国的核心竞争力和综合国力。① “卓越工程师教育培养计划”是推进我国高等工程教育改革,促进高等工程教育质量全面提升的重要举措。②它从指导思想、培养目标、参与专业、培养标准、培养模式和师资队伍等六个方面对我国高等工程教育进行了规划。本文将从“卓越工程师教育培养计划”的角度,分析沙钢钢铁学院冶金类专业控制理论与控制工程系列课程现状,探讨相关课程建设的思路与方案。 2 控制理论与控制工程系列课程现状 学院现有冶金工程一个本科专业,以及机械工程及自动化(冶金过程装备及控制)和材料科学与工程(冶金过程自动化)等2个本科专业方向,开设的控制理论与控制工程系列课程包括:《热工仪表与自动化》、《冶金过程检测与仪表》、《高炉过程控制》等几门课程。 目前国内冶金类专业的控制理论与控制工程系列课程通常由自动化专业课程简单削减而成,体系不够完整,针对性差,缺乏冶金行业背景。控制理论与控制工程系列实验通常采用电路模拟分散的、个别的典型环节与系统,其结构简单,难以模拟复杂的生产过程,与冶金工程实践脱节较大,缺少针对冶金生产过程自动化的综合性实验,学生难以将自动化基础知识与实际冶金生产联系起来,实验教学成效不显著。 3 课程建设与改革 3.1 课程整合优化与更新 学院现开设控制理论与控制工程系列课程(热工仪表与自动化、冶金过程检测与仪表、高炉过程控制),由自动化专业课程简单削减而成,体系不完整。但另一方面,“卓越工程师教育培养计划”在工程人才培养模式上明确要求按现有学制培养工程人才,在增加企业学习的情况下,不增加学习时间,因此,冶金类专业就需要在有限的课时内,完成控制理论与控制工程基础知识到实际应用的全部教学。 针对课时有限,又要保证课程体系完整的要求,将已有的三门课程,更改为过程控制与检测技术,冶金过程控制,增加选修课程现代控制工程,并对课程内容进行优化调整。过程控制与检测技术包括自动控制原理(比例-积分-微分控制)、系统辨识与滤波、过程建模与仿真以及冶金企业常用仪表及检测技术,对于控制理论中较复杂且不常用的部分归并到选修课程现代控制工程中,供学有余力的学生选修。冶金过程控制则覆盖钢铁企业典型生产过程(高炉炼铁,转炉炼钢,连铸连轧等)的控制系统,并涉及部分有色冶金的典型过程控制系统,使学生能够全面掌握冶金工业中常见的控制系统,缩小学校教学与实际应用的差距。 3.2 教学方法与手段改革 (1)课堂教学和实验实习相结合。包括课程实习和毕业实习,通过生产一线的工程训练,增加学生接触社会的经历。通过结合工程实际,使学生能够理论联系实际,通过实际应用加深对课堂学习知识的理解。并针对实际工程中遇到的问题,结合学习的理论知识,分析其原因,寻求解决方案。做到理论和实践相互促进,共同发展,培养学生的工程创新能力。③ (2)学校教学与冶金工程实践相结合。通过产学研合作,鼓励学生参与教师科研项目及校园各种科技活动,营造浓厚的工程实践氛围。以社会需求为导向,以实际工程为背景,以工程技术为主线,通过学校和企业的密切合作,统筹规划学生校内学习和企业学习所应达到的培养目标,着力提高学生的工程意识、工程素质和工程实践能力。 (3)实验教学改革。改革实验课教学体系,从根本上改变原有教学体系中验证性实验多,综合性、设计性实验少的状况。④在加强基本操作技能训练的基础上,向以综合性、设计性实验为主,验证性实验为辅的方向发展,使实验教学由被动模式转变为主动模式,使学生掌握初步的科研设计方法,提高实验的科技含量。⑤ (4)教材建设。综合性实验的开展离不开实验指导书的支撑,由于针对冶金行业的综合性实验没有现成材料借鉴,因此设计冶金专业综合性实验的同时,应同步编写综合性实验指导书,确保综合性实验的教学效果。 4 总结 本文针对苏州大学沙钢钢铁学院现有专业控制理论与控制工程系列课程现状,结合“卓越工程师教育培养计划”的基本要求,从课程整合优化与更新、教学方法与手段改革以及教材建设等方面,对课程建设与改革的思路与方案进行了详细的论述,为学院推进“卓越工程师教育培养计划”打好了基础。 工程系列论文:面向工程创新人才培养的电气工程系列课程建设探讨 摘要:结合浙江理工大学机控学院电气工程及其自动化专业的培养要求与教学特点,对电气工程系列课程教学改革问题进行探讨。根据多年从事电力系统自动化系列课程的教学工作体会及多年的实践工作经验,结合当前社会就业与人才的需求情况,从系列课程建设的角度出发,阐述电力系统自动化系列课程的教学队伍建设、教学内容与课程体系改革、实验(实践)教学的改革与建设、教学方法与手段的改进、考试改革、教材建设等。经过几年实践,取得了良好的效果,为培养符合社会需求的工程创新人才提供了一条新思路。 关键词:创新人才;电气工程;课程改革;教学改革 随着社会的发展,其对学生的能力、素质要求越来越高,《国家中长期教育改革和发展规划纲要(2010-2020年)》又一次明确要求学校在人才培养上坚持“德育为先,能力为重,全面发展”。[1]目前,我国高等教育长期形成的以传承知识为中心的观念使教师注重传授知识,忽视工程能力,使学生满足于对知识的学习和记忆,注重模仿和重复以应付考试,缺乏解决实际问题的能力和创新能力。社会更看重的是学生的工程应用能力与创新能力,而对学生能力素质的培养需要相适应的培养方案、课程体系。[2-4] 浙江理工大学(以下简称“本校”)电气工程及其自动化专业2009年经教育部批准开始招生,本校的电气专业主要有两个培养方向:电机与电器和电力系统自动化。由于是新专业,这两个方向并没有严格分开,也就是说,这两个方向的课程学生都要学习。与国内清华大学、上海交通大学、西安交通大学、浙江大学及东南大学等高校的电气专业相比,本校的电气专业刚起步,办学经验不足,专业建设更处于较低水平。为了避免电气专业学生在起步阶段与其他名校学生拉开差距,本校汲取其他高校在电气专业办学上的经验和长处,结合该专业的培养目标及培养特色,开展面向工程创新人才培养的“电气工程”系列课程建设,这对电气新专业的建设将起到举足轻重的作用。 一、建立教授为首的系列课程 本校以实际工程为背景,以工程素质和工程创新能力培养为目的,构建电气工程及其自动化专业的知识体系和课程体系。电气工程系列课程主要包括电力电子与电气传动、电力系统自动化、嵌入式系统及自动控制四个系列课程。电力电子与电气传动系列课程包含的课程有“电机及电力拖动基础”、“电力电子技术”、“电机设计”、“运动控制系统”、“MATLAB与系统仿真”及“电气传动大型综合设计”;电力系统自动化系列课程包含的课程有“电力系统分析”、“继电保护技术”、“电力系统自动化”、“高电压工程”、“供变电技术”及“建筑电气与自动化”;嵌入式系统系列课程包含的课程有“单片机原理与应用”、“电源技术”、“ARM嵌入式系统技术及应用”、“现场总线技术”、“DSP技术及应用”及“单片机原理与应用”课程设计;自动控制系列课程包含的课程有“自动控制原理”、“现代控制理论”、“智能控制导论”、“计算机控制技术”、“纺织电气控制”及“控制系统组态设计”。 以本校电力系统自动化系列课程建设为例,探讨一下电力系统自动化系列课程的改革情况以及建设特色、建设成效。 二、系列课程建设改革 1.加强教学队伍的建设 为了建设电力系统自动化系列课程,保证教学质量,提高教学水平,不断深化教学体系和教学内容的改革,本校建立了一个电力系统自动化课程教学团队。该教学团队共有教师9人,其中教授2人(博士生导师1名),副教授5人,讲师2人;具有博士学位6人,在读博士1人;45周岁以上2人,其余均为35周岁以下的青年教师。成员学历与职称层次高,年龄、知识、学缘结构合理,团队意识强,合作出色,另外,还聘请了5名相关专业指导教师。 电力系统自动化系列课程建设组的职责、功能、任务是:制定课程体系;整合课程内容;修订教学大纲;相互随课堂听课;开展教改和教学法研究;规划和编写教材建设;教学与检查实验;培养青年教师。 2.教学内容与课程体系改革 (1)课程体系科学化。以电力系统分析精品课程的建设为龙头,按照整体优化、突出特色的原则,围绕本校纺织电气特色,形成一整套科学的、具有鲜明特色的专业课程体系和建立一套适应性更强的“421”全方位教学新体系,即通过理论教学、CAI技术、实践教学、参与科研等环节,促进教学质量和教师学术水平的提高,最终促进学科建设的发展。而学科建设的发展是否达到预定目标,还要和预定目标进行比较,根据比较结果改进教学方法与手段保证目标的实现。同时,根据各课程之间的内容衔接完善现有教学计划,从时间上顺序相连,从内容上环环相扣,使课程体系科学化。 (2)教学内容现代化。根据本校电气工程及其自动化专业的培养目标和特色,修订面向21世纪、科学合理、严格规范的电气工程系列课程教学大纲和教学方案,更新教学内容,使教学内容现代化;选用面向21世纪课程教材、“十一五”国家级规划教材或国家级优秀教材等,注重教材的先进性与前瞻性;讲课时引入教师科研中运用的新技术、新方法、新设备等,使学生不仅能够掌握基础理论与实际应用,而且能够关注学科前沿。 3.实验(实践)教学的改革与建设 电气工程及其自动化专业是工科专业,培养的是工程人才,必须以工程实践为基础,以实践作为立足的根本。[5]目前,本校电气工程专业开设的实验都是验证性的实验,学生只要按照实验指导书上的实验步骤按部就班地操作就可完成实验。但是,电力安全生产具有一定的特殊性和重要性,对于电气设备的操作、电气设备事故和异常情况分析处理等电力生产运行的主要内容,需要学生动手操作,要求学生有工程实践体验,不能只纸上谈兵。基于以上的认识,本校在以下几个方面进行了改革和建设: (1)根据电气工程行业特点结合本校的实际情况,通过软、硬件开发改造实践教学平台,使实验过程接近于实际的工作环境,为课程设计、毕业设计和学生科技创新提供一个良好的实践场所。 (2)开发电力系统分析实验平台,精心设计实验教学内容并修订实验指导书,增加创新性、综合性、设计性实验的内容。综合性实验要体现专业课程间的整体性和连贯性,打破单个课程进行实践教学的界限,实现一体化实践教学体系。例如在“微机保护”实践教学中,可以综合“单片机原理”、“电力系统分析”、“电力系统调度自动化”、“电力系统仿真”等多门课程知识。此外,鼓励学生积极参与实验室的建设和设备开发,综合训练学生的自学能力、独立思考能力、实践动手能力及对所学知识的综合应用能力等,提高学生的科技创新能力。 (3)选择教师科研过程中的生产实践问题作为教学案例,使学生将实践教学与工业现场相结合,从而锻炼学生解决生产实际问题的能力,同时可以为生产企业提供技术支持。 (4)编写电气工程大型课程设计任务书,课程设计来自教师的工程设计课题,与实际应用相结合。例如35kV或110kV变电站的设计等,让学生通过大型课程设计,熟练掌握变电所设计主要内容及设计流程,把电气工程系列课程知识串在一起,形成系统化,使学生得到一次综合性应用锻炼,有利于他们对知识的掌握、巩固、以及对知识的综合应用。同时将课程实验、毕业设计、课程设计、科研实训多个环节相结合,充实教学内容和提高教学效果及本科生毕业设计质量。 (5)对学生开放实验室,开展预约实验、兴趣实验,力争实现网上实验。这个开放包括两个方面:一是实验时间开放,实验室安排一个时段完成某一个或某一类实验,由学生自己来预约实验时间和实验内容;二是实验内容开放,即实验指导书只提出实验的基本要求,由学生自己来设计实验的具体内容、步骤和实验线路。 (6)利用MATLAB电力系统仿真工具箱开发潮流计算软件、负荷计算软件、短路电流计算软件、微机保护算法等,搭建电力系统仿真平台,进行电力系统各种短路、变压器励磁涌流、变压器保护、线路保护等各种仿真研究。并将开发的各种软件移植到电力系统自动化实验装置中,检验这些软件和算法的实用性。 4.教学方法与手段的改进 (1)提问式教学与启发式教学相结合。在课堂教学中,应以教师为主导,学生为主体。学生可以自由发表意见,对有见地的学生发言要充分肯定,鼓励创新思维,鼓励个性发展。对理解有失偏颇甚至理解错误的学生,不要挫伤他们的学习积极性,要给以鼓励,给予正确引导。教师要潜心研究、精心备课,做好课堂教学策划,营造一个和谐宽松的课堂氛围,让学生怀着轻松愉快的心情参与学习,调动学生学习专业知识的兴趣和学习的主动性;教师结合课题进行案例分析,把研究性学习的方法贯穿在专业课程的教学中。 (2)互动式教学与讨论式教学相结合。在课堂教学中,教师充分调动起学生“参与”的兴趣,引导学生积极思考并提出问题和解决问题,与学生形成互动。此外,在教学结束时,教师可以给学生提出一些问题,让学生在课外准备,留作下次课进行讨论。学生为了准备这些问题,事先必须对本章节进行学习,查阅相关资料。这种方法促使学生积极地思考,提高学生的自学能力和创新意识。 (3)多媒体教学与传统教学方法相结合。多媒体教学具有信息量大、速度快、图文并茂、声形相应、生动逼真等特点,可以使教学过程更加生动、直观,使学生全方位地接受信息。例如,继电保护的动作过程、控制回路的动作过程、高压电器的工作原理等内容都可以开发和制作成FLASH动画,教师在讲课过程中反复操作,既可以吸引学生又使该内容容易被学生接受。但是,多媒体教学也有不足之处,例如会使学生来不及记笔记,或为记笔记而不注意听课。课堂上全部采用多媒体教学,效果往往也不理想。因此,可以将多媒体教学与传统的理论教学结合起来,一方面通过多媒体让学生了解更多的知识,扩大信息量;另一方面,学生也可向教师直接提问,形成互动以解决学生在学习过程中遇到的问题。 (4)充分利用网络。目前,本校已经开通了无线上网功能,学生可以非常方便地通过手机等在校园和生活区上网,这为加强教师与学生的互动提供了条件。学生有问题时可以利用网络将问题发往邮箱,教师通过回复邮件来解答学生的问题;此外本校建立了4A网络教学平台,“电力系统分析”、“供变电技术”等已经申请了网络课程,学生可以在课程网站直接下载许多学习资源。教师也可以通过“网上答疑”系统与学生在线交流,解答学生的疑问,探讨共同关心的问题,了解学生的学习和其他方面的动态,及时调整教学方法和进度。 (5)教学与科研互动。本校提倡“双师制”教学模式,将理论讲解和工程实践相结合。以教学带科研,以科研促教学,实现教学科研双赢。 (6)采用案例教学、现场教学。采用现场教学手段不仅使教学内容形象化而且可以加大教学信息量,使学生能以工程为背景,理论联系实际,加探对知识的掌握,做到学以致用。 (7)数字虚拟实验。随着电力系统的发展,现有的纯物理的动模实验室已经难以满足现代电力系统实验教学要求;而且,本校电气工程及其自动化专业是新专业,实验仪器数量不足,实验场地和教学经费有限。数字虚拟实验可以使学生在计算机上仿真电力系统的各种稳态和暂态过程,例如利用LabVIEW中的Prony分析工具对三相短路电流进行分析,得到各个模态的信息。此外,出于安全性的要求,很难将纯物理的实验做到开放性和设计性,数字虚拟实验可以实现实验的开放性和设计性,对于培养学生的实践能力、创新意识和创新能力大有裨益。 5.考试改革 学校应注重对学生平时学习状况与效果的考查,将其按适当比例计入期末总成绩,其中卷面考查占50%,综合性、设计性实验占20%,平时成绩占10%,案例分析占10%,机动奖励分(、参与项目)占10%。逐步实现教、考、评分离,使考试更加科学、规范、公平。考核方式采用多元综合考查法,同时鼓励学生参与教师的项目,发表研究论文。 6.教材建设 教材编写必须整体考虑系统性和学习的渐进性。教材与课程以及与课程体系乃至知识体系密不可分,因此在编写教材时必须要注重教材与课程、课程与课程体系、课程体系与知识体系的衔接。本校相关课程组针对电气工程及其自动化专业培养目标和特色,结合电气工程系列课程建设情况,编写了《电力系统综合实验原理与指导》实验教材一部。内容涵盖“电力系统分析”、“电力系统自动化”、“电力系统继电保护”、“电力系统分析”“供变电技术”、“建筑电气与自动化”等课程的主要实验项目、实验原理和实验方法,增加设计性、综合性及创新性实验内容,并计划出版一本符合本校电气工程及其自动化专业特点与定位的《电力系统综合自动化》教材。 7.教学文件的制订与完善 这一环节由相关部门辅助完成,主要包括:修订教学计划、教学大纲,突出实践性环节;制定实践教学的各项规章制度,对教学过程实施动态监控,建立实践教学的质量评价指标体系,定期由教师和学生填写,对检查的结果进行分析和综合并形成反馈,再根据反馈的信息调整教学计划,以此形成良性循环;将教学大纲、教学计划、教学日历等相关教学文件装订成册,规范管理。 三、结束语 本系列课程的建设通过“优化理论课程、强化实践环节”,形成一系列颇具特色的教学理念、内容、方法和手段。主要课程教学特色如下:进行了理论课程的优化重组,形成了课内研究型授课方法、课外自选研究专题、数字化实验平台、研究型实验等系列研究性教学方法。总结和补充国内外科研重大成果和学科前沿;加强实践教学环节的作用,通过建设可由以前单一的基础性实验模式发展为基础实验、设计型实验及综合开发型实验,并对综合设计型、创新型实验实行开放式教学;综合运用多媒体课件、Flash动画、数字化实验新技术等多种现代化教学手段。突出网络教学特色,可实现网上课件演示、习题提交解答、制定网上学习活动等,对加强教学效果,激发学生的学习热情,将起到积极的促进作用;建立实验教学网站、构建网络实验教学平台,推进学生自主学习、合作学习、研究性学习的实验教学新模式;将教师的最新的科研成果转化为教学资源,开发先进的电力系统动模数字化实验平台,同时教学研究也可以带动科学研究,促进数字化实验平台的研究。 工程系列论文:新疆焦煤集团中级以上管理人员工程系列知识分子中层管理人员163人体检分析 2007年对焦煤集团中级以上管理人员及工程系列知识分子中层管理人员进行了一次健康体检,共检163人,其中男124人,女性39人,年龄32~55岁,平均42.55岁;汉族153人,少数民族10人,焦煤集团公司部分领导因工作关系,未在此体检之列,检查结果具体情况分析如下。 根据体检的要求,做了心电图的检查,肝、胆、脾、胰、双肾的B超检查,X线胸片的检查,乙肝表抗及大生化的检查,以及内科的一般检查。经检查发现163被检中,心电图提示窦缓伴律不齐的10例,肢导低电压伴ST-T异常改变8例,肺型P波1例,左室肥厚1例,右心扩大1例,右位心1例。B超提示胆囊炎合伴胆石症的28例,脂肪肝46例,右肾囊肿3例,多囊肾1例,右膈粘连1例,肺气肿5例。表抗+大生化检查,甘油三脂偏高或明显升高66例,尿酸增高或明显增高41例,胆固醇增高28例,丙氨酸氨基转移酶升高29例,草氨酸氨基转移酶升高19例,空腹血糖增高或明显增高27例,肌苷升高2例,表抗阳性2例。一般内科体检,心律不齐10例,心动过高3例,心动过缓5例,血压偏高或明显增高36例,其中血压122/82~140/98mm之间25例,血压 142/100mm者11例。 甘油三脂偏高或明显升高的66例,占体检人数的40.49%;脂肪肝46例,占体检人数的28.22%;尿酸增高或明显增高的41例,占体检人数的25.15%;丙氨酸氨基转移酶增高29例,占体检人数的17.79%;胆固醇增高28例,占体检的17.17%。经过心电图检查及内科听诊,心脏有异常的38例,占体检人数的23.31%,血压偏高或明显增高36例,占体检人数的22.08%,空腹血糖偏高或明显升高27例,占体检人数的16.56%;草氨酸氨基转移酶升高19例,占体检人数的11.65%。胸片提示有异常情况9例,占体检人数的5.52%。 从上述分析可以看出,集团公司中级以上的管理人员以及工程系列知识分子中层管理人员人员,目前身体状况不容乐观。163人体检高血脂的人达66人,其次是脂肪肝46例,尿酸高41例,心脏有异常情况38例,血压偏高或明显增高36例,胆囊炎合并胆石症28例,血糖高27例。前面所列举的有明显异常情况的,一般与生活习惯有很大关系,现在人民生活水平普遍提高了,所以导致上述疾病的明显增高。 笔者建议,要保持清淡、低油、低脂、低糖饮食,多食水果蔬菜、戒烟限酒,多运动、劳逸结合的良好习惯,必要时及时就诊治疗。 工程系列论文:博物馆展陈建设工程系列问题的思考 内容提要:博物馆展陈建设是多项专业工程的综合建设,本文针对博物馆展陈建设中容易发生遗憾和遗漏的环节,提出有益于工程建设的想法。文中重点分析了博物馆展陈建设中的分项工程管理,在安防建设、多媒体和灯光搭设方面从专业的角度给出了相关建议,为提升博物馆建设水平提供有益的理论和经验。 关键词:安防;多媒体;灯光;进度 “十一五”期间,国家出台了一系列针对博物馆建设发展的政策,为中国博物馆未来的发展指明了方向。今后博物馆的发展应注重数量与质量的共同提升,①从“馆舍天地”走向“大千世界”,让博物馆更加满足公共文化设施的功能需求,成为文化大繁荣大发展中的一个重要组成部分。 博物馆作为丰富人民文化生活的场所,通过对展陈环境的搭建,把精美的藏品展现在观众眼前,吸引更多的人走进博物馆,是博物馆质量提升的具体表现。而博物馆在展陈建设方面,由于缺少相关专业人员,使得工程建设不得不以请代建公司代为管理的方式进行,博物馆的建设工程成了交钥匙工程,导致了建设完工后经常会发现有这样和那样的遗漏,甚至出现不宜使用的情况。下面将通过对展陈工程建设中几个重要环节的分析,探寻其中具体问题的解决办法。 招标文件的制定 博物馆作为非营利性质的公共服务设施,其建设资金一般都来自政府财政,近年来政府对于财政的支出管理相当严格,这就要求建设方在建设中严格按照国家法律法规执行。在招标文件制定过程中充分考虑到每一个细节,这其中除了馆舍的展区设施项目外,还有一些容易被遗漏的项目,如公共服务设施、无障碍设施、环境绿化、电容量扩容等方面。此外,在招标文件中应对标书中的工程造价确认有所规定,所有主材和辅材的品牌材质要做细致的界定,对于各方的权利和责任做详细的划分,由监理人员和审计人员共同对造价进行控制,做到合理申报,多方控制。在招标阶段,由于有些不诚信的施工单位会通过对招标文件的修改,达到降低价格的目的,所以就要求建设单位必须仔细比对招投标文件,避免漏项的出现而造成不必要的损失。 分项工程的管理 ㈠分项工程管理原则 由于博物馆较高的功能需求,使得其分项工程种类繁多,包括:强弱电、消防、安防、暖通、加固、展柜等。多项目同时进场开工,直接导致施工面的重叠和人员设备的难以管理,所以总的原则就是把握每个施工项目的流程和熟悉相关专业项目的规范要求,根据现场的情况和实际使用需求,合理的划分和衔接各分项工程的施工面。当出现施工重叠面较多的情况时,宜采取以下措施: 1、要求施工单位提前排定施工进度和材料进场表,错时进场施工。 2、保证每周召开一次分项工程协调会,根据现场情况制定分项工程施工细则,汇总和公布各分项工程进度,并做到赏罚有分。 3、主线施工单位必须在每个任务节点考虑次线施工单位的因素,例如强弱电施工时必须考虑展柜的设计尺寸,计算预留管线长度以及为其他布线工程预留空间和管道,避免重复施工。 4、所有分项工程的设计与施工必须服从政策法规要求,例如同样是顶部施工,暖通设备的管线如果与消防管线设计重叠,则必须以消防管线的布置为先。 5、对于已出现的施工矛盾,建设方代表必须深入现场直接协调解决,避免由于时间因素导致矛盾的扩大。 安全设备的搭建 博物馆既是公共服务设施,又是文物保管单位,所以安防建设是博物馆建设中最重要的分项工程。但在进行安防建设中,防火与防盗究竟谁该服从谁,一直困扰着博物馆的建设者们,而要建成一流的展馆,协调好它们之间的关系尤为重要。如何做到既满足文物的安全要求,又符合消防验收规范呢?综合多方经验告诉我们,只有在建设初期,针对消防和安防统一规划设计才能从根本上解决这个难题。我们知道,目前展馆安防的主要手段是由物防与技防组成,在没有统一规划的情况下,其只能实现单一的防盗功能,一旦其与消防设备功能融合后,矛盾就迎刃而解了。这里以消防通道为例,我们可在钢制防火门上安装门磁感应器,正常情况下闭合门磁,当入侵发生时可以通过报警设备通知值班人员,如发生火情,消防主机可以接管操作,优先处理,切断门磁电源,打开生命通道同时通知监控主机发出入侵报警,也就是双联动的概念。 ㈢多媒体设备的搭设 多媒体展陈作为现代化展览中必不可少的展示工具和辅助手段,其在博物馆展陈工程建设中所占的比重越来越大,对它的验收要求也区别于普通的安装工程,除了要在展览中起到画龙点睛的作用,还必须兼顾造价、节能等多方面的因素。 在硬件选择方面,如何让硬件配合软件双向和谐发展是建设者们需要仔细考虑的问题。在硬件选择时,应从博物馆的实际情况出发,充分考虑配置、维保等各方因素对造价的影响,通过对每个单元软体程序的分析,以及其在展览中所处地位的高低,阶梯式地选择合适的硬件,避免攀比之风和铺张浪费等情况的出现。同时考虑到未来的维护成本,尽可能选择同品牌且易于维护的产品将有效降低维保的难度。 柜灯光的布局 如果说展品是展览的骨骼,多媒体是让展览流动起来的血液,那么灯光就是展览的灵魂,好的灯光设计可以让展览更具艺术气质,合理的灯具类型和照度角度的选择,可以为观众营造一个和谐舒适的展厅氛围的同时又满足凸显文物展品的需要。环保与创新将成为未来展览灯光设计的主要方向,大环境中过去我们经常看到的顶部直接照明已渐渐被展柜与场景中的反射光源所取代,不仅满足了环境效果的要求还间接达到了节能的目的。在通柜中选择可调照度与角度的轨道射灯除了可以让文物的轮廓更加突出,也为日后的灯具维护提供了便捷。在射灯灯口选择合适的滤镜,将有效避免光斑的形成,也使得照明光线对文物的损害减到最低。为独立柜配上寿命更长,能耗更小的Led光源将大幅降低由于维护展柜而对文物造成损坏的几率。大型场景中,分轨分层照明的应用可以使得人物和背景的明暗关系更加分明,同时方便博物馆根据不同的展览需求及时调整照明层次。 施工进度管理 在最后的环节中,我们不得不提到工程进度这个概念,博物馆建设作为政府工程,在造价和质量都满足要求的前提下,加快施工进度,按时交付使用是最难完成也是最不可预见的目标。由于并没有立竿见影的控制手段,所以根据实际经验,采取以下措施将会在一定程度上降低工期延误的发生几率: 1、划分时间控制节点,采取进度考核的方法,利用每周的进度会,对上周的进度进行总结和考核,对下周的进度提出节点控制要求。 2、以总进度为依据,明确各分包单位的分包目标,通过合同责任书落实分包责任。 3、及时协调施工中遇到的各种问题,顾全大局,围绕核心问题把握进度。 4、尽量避免边设计,边施工的建设模式,频繁变更设计方案同样会使工程进度受到影响。 博物馆功能的特殊要求使得其区别于普通的大型公共建筑,它建设完成后需要集展览陈列、文物保护、公众服务宣传、修学休闲于一身。而建设过程更是涉及招投标、展览格局设计、消防安防、强弱电、进度管理等多个领域。作为涵盖多项专业领域的展陈工程,就需要建设者们在设计与建设时站在全局的高度统一规划,充分考虑准备阶段、建设阶段和维护阶段中各分项环节的具体要求,对博物馆建设过程中的规律及遇到的问题,做出理性的思考,为工程建设提出合理化的建议,帮助施工单位及时修正错误的工程决策。希望文中对当下博物馆展陈工程建设思路的梳理,有助于提炼、归纳出有益的理论和经验。 摘自《博物馆功能和职能的加强与完善》作者:单霁翔 在国际博物馆协会第 22 届大会管理委员会学术会议上的发言 工程系列论文:案例式教学模式在岩土工程系列课程教学中的探索与实践 摘 要: 岩土工程系列课程是土木工程专业的重要专业基础课程,也是实践性较强的应用技术类课程。文章在教学实践中结合岩土工程系列课程的特点,坚持土木工程应用型人才培养的目标定位,以工程实践能力培养为核心,将工程案例引入岩土工程系列课程教学中,深入探索分层次培养学生工程实践能力的途径,为土木工程专业应用型人才培养提供有力保障。 关键词: 案例式教学模式 岩土工程系列课程 工程实践能力 1.引言 近年来,随着教育部“质量工程”、“卓越计划”的实施及土木工程行业的发展,我校作为省属一般性本科院校将土木工程专业人才培养目标定位调整为:为地方经济和土木工程行业培养具有创新意识和较强工程实践能力的复合性应用型人才,其中工程实践能力的培养是应用型人才培养的关键。 岩土工程系列课程是土木工程专业课程体系的重要组成部分,系列课程的教学与实践对土木工程专业人才培养具有重要意义。为实现土木工程类专业应用型人才培养目标,我校岩土工程系列课程教师以提高教育教学质量为宗旨,以改革课程体系、教学内容、教学方法和手段为重点,在教学质量与效果、教学环境与教学条件建设等方面均取得较好成绩,其中案例式教学在岩土工程系列课程理论教学中取得较显著的教学效果。 2.案例式教学的实施 岩土工程系列课程(包括工程地质、土力学、地基与基础工程等课程)是土木工程专业的重要专业基础课程,也是工程实践性较强的工程技术类课程。系列课程教师在保证实现人才培养目标的前提下,与精品课程建设相结合突破以传授知识为中心的传统教学模式,通过案例式教学将理论教学与工程实践相互融合、理论教学中渗透工程应用培养学生理论联系实际及分析问题解决问题的能力,探索以能力培养为核心的新型教学模式,这项研究与实践开辟了综合素质与工程实践能力培养的新途径。 在教学实践中,岩土工程系列课程的案例式教学以工程应用为导向,与教学内容结合适时引入工程案例,激发学生的学习兴趣,引导学生深入思考。案例式教学模式从真实的工程案例出发,注重“主导―主体相结合”,既重视发挥教师在教学过程中的主导作用,又充分体现学生在学习过程中的主体地位。经过多年的探索与实践,系列课程的案例式教学已形成两个教学层次,即工程案例引入式教学模式与工程案例探究式教学模式。 2.1工程案例引入式教学模式 岩土工程系列课程均为实践性较强的课程,如果只按教材的章节按部就班地介绍成熟的基本理论和设计方法,则学生会感到抽象和枯燥,不利于学生对知识的理解,违背课程的学习规律。为此,收集整理国内外土木工程建设、防灾减灾及软弱地基加固等工程问题及所运用的技术方法,以实施这些技术方法形成的真实而完整的典型工程案例为教学资源,结合相关教学内容进行介绍与分析,将理论与工程实践紧密结合,加深学生对理论知识的理解。工程案例引入式教学是以激发学习兴趣和增强感性认识为核心的案例教学,已经成为岩土工程系列课程最常用、最有效的教学模式。 2.1.1结合重大地质灾害开展教学 在工程地质课程的地震部分引入2008年“5.12四川汶川地震”和2011年“3.11日本大地震”等重大地震灾害。2008年5月12日14时28分,四川汶川县发生8.0级特大地震,震中位于北纬31.0度,东经103.4度。而在2011年3月11日,日本气象厅宣布,日本于当地时间11日14时46分发生里氏9.0级地震,震中位于宫城县以东太平洋海域,震源深度20公里。地震引发大规模海啸,造成重大人员伤亡,并引发日本福岛第一核电站发生核泄漏事故。教学中,及时将这些典型地质灾害引入课堂,并在此基础上介绍地震的形成原因、类型及地震的危害等相关概念与知识,以帮助学生建立防灾减灾的意识与责任感,促使学生探索防灾减灾的工程措施。 2.1.2结合社会焦点和热点工程问题开展教学 在土力学课程的地基变形与稳定部分曾引入“成都楼歪歪”事件和“上海市闵行区莲花河畔景苑小区在建住宅楼倒塌”事件等社会关注的工程事件。2009年7月17号,成都“校园春天”小区6栋和7栋两栋楼发生倾斜,两栋楼越向上贴得越近最窄距离为6厘米,6栋、7栋相邻的墙壁呈20度夹角,屋内墙面出现细微裂痕、房门变形,邻近的8栋楼业主家里也陆续发现了细细的墙面裂缝。而在这3栋居民楼的楼下,道路路面出现多条纵横交错的裂痕,最宽达1厘米以上。道路与两边绿化带相交处,出现最宽达14厘米的裂缝。路边就是小区的围墙,上面也有五六条裂缝,最宽的一条达到4厘米。经过分析认为是相邻的“德馨苑”小区开挖基坑,影响到“校园春天”小区楼房的稳定性。此事件被网友称为“成都楼歪歪”事件。而在2009年6月27日,上海闵行区莲花南路罗阳路口一幢13层在建商品楼发生倒塌事故。事故发生后专家分析事故原因与该商品楼的地基基础问题有关,此事件的发生在社会上引起强烈反响。将这些社会的焦点与热点工程问题作为案例引入教学,对激发学生的学习兴趣和增加学生对工程问题的感性认识具有事半功倍的作用。 2.2工程案例探究式教学模式 工程案例探究式教学模式以工程实践能力培养为核心的教学模式,教师通过对工程案例的介绍,引导学生了解工程实践背景,对当前教学内容进行自主学习与探索,为工程实践能力的培养奠定基础。 2.2.1课内探究式教学模式 此方法在学生已掌握理论知识的基础上针对具体的工程问题提出观点,课堂上学生可以各抒己见,互相启发、集思广益地找出解决问题的最佳答案。这种方式有利于培养学生独立思考的能力与语言表达能力,提高分析问题和解决工程问题的能力。 比如,曾在工程地质课程中的地下水危害部分引入地面沉降、海水入侵等内容,以此引导学生探索解决问题的途径。其中地面沉降问题是区域性地面高程下降的一种环境地质现象,也是一种对资源利用、环境保护、经济发展、城市建设和人民生活构成威胁的地质灾害。地面沉降成因复杂,公认是由于抽汲地下流体,而引起松散层内液压降低,是导致区域整体性沉降的主要原因。随着我国工业化的快速发展和城镇化进程的加速,由于过度开采地下水,我国的地面沉降问题越来越突出。目前,我国的地面沉降主要发生在长江三角洲、华北平原和汾渭断陷盆地这三个地区。而海水入侵问题则以大连地区为例,大连市作为海滨城市长期以来由于布井不合理,地下水开采量过大,渐渐引发区域地下水位下降、地下水资源衰竭、海水入侵等问题。这些发生在身边的事件增强了学生对地下水引起的地质灾害问题的认识,促使学生围绕这些问题展开深入思考。 又如在地基与基础工程教学中结合经典工程案例“意大利比萨斜塔”开展教学。教学中向学生介绍几个世纪以来,比萨斜塔倾斜的原因始终是广泛关注的问题,各种解释众说纷纭。进入二十世纪后,“地基原因”逐渐占了上风,这种解释认为,比萨斜塔倾斜的主要原因是塔本身的重量较大,塔基北部的地下的土质较松软,无法承受塔的压力而导致塔身发生不均匀沉降。同时,列举拯救“意大利比萨斜塔”的历次地基加固方案,如环形基坑卸载、灌浆加固等引导学生开展课堂讨论。 2.2.2课外探究式教学模式 此方法由教师布置课外综合性作业,考查学生对课程知识的掌握情况,并以此作为评定学生成绩的依据。学生根据课堂所学内容,课外积极查找资料完成作业,事实上学生查找资料的过程就是再学习的过程。通过课外的自主探究学习,学生运用理论知识解决工程实际问题的能力得到提高。 在教学实践中,一般结合重点工程问题布置课外作业,要求学生以小论文等形式提交学习成果。近年来,曾结合大连地区建筑工程、道路工程等普遍存在的滑坡问题及地铁、隧道工程存在的坍塌问题,以“建筑工程中滑坡的防治措施”及“地铁、隧道工程坍塌问题产生原因及防治方法”等为题目,引导学生探究综合、复杂工程问题的解决方法。 3.结语 教学实践证明,在岩土工程系列课程中进行案例式教学模式的尝试可以丰富课堂教学内容,强化学生的自主学习意识和工程实践能力,有利于提高岩土工程系列课程的教学质量,有利于实现土木工程应用型人才的培养目标。 工程系列论文:基于系统思想培养的系统工程系列课程建设 摘 要 在系统工程系列课程的教学过程中加强系统思想的培养对控制类研究生树立完整的系统观具有重要作用。结合教学实践,对基于系统思想培养的系统工程系列课程建设进行了探索和实践,从加强对学生培养系统思想的引导、加强学生系统思想培养方面的训练、引入系统级任务驱动的教学模式、将科研成果融入到实际教学中等方面探讨了基于系统思想培养的系列课程建设。实践表明,在控制类研究生的系统工程系列课程的教学过程中加强系统思想的培养有利于学生系统思想和创新能力的培养。 关键词 系统思想 系统工程 系统观 课程建设 系统工程师的培养已经成为国内外大学教育的一个重要方向,如果在控制类研究生教育中忽略了系统思想与理念的培养与引导,而只是局限于具体的、具有非常强的时间性的技术细节,将很难培养出符合飞速发展的时代要求的具有很强的适应能力与创新能力的新型人才。①②作为系统思想和工程技术核心体现的系统工程系列课程的建设对控制科学与工程、系统科学等学科的研究生培养有着重要意义。③该系列课程包括系统工程理论与方法、线性系统理论、运筹学、系统辨识与自适应控制、制造系统工程、生产系统的建模与仿真等,在控制科学与工程学科体系建设中占有举足轻重的地位,可为研究生形成关于系统工程的知识体系奠定基础。探索与实践表明,在控制类研究生的系统工程系列课程的教学过程中加强系统思想培养对培养学生树立完整的系统观,使其能站在系统观的高度来观察、分析和处理现实世界中的实际问题具有重要作用。④ 1 在系列课程建设中加强系统思想培养的意义 控制科学与工程学科所设置的一些基础课程和专业课程最终都是为系统设计服务的,特别是系统工程系列课程,是进行系统设计的基本工具,与系统设计结合紧密。⑤⑥而培养控制科学与工程学科研究生的目标,学生应当具备系统级设计能力,因此系统思想的培养应该贯彻在学生的培养过程中。 在系统工程系列课程中加强学生系统思想的培养,可以让学生学会站在系统层面上看问题,具有系统观和整体意识;让学生掌握基础知识的体系结构,将各个基础知识点融会贯通,并将基础知识与实际工程相结合;让学生学会对系统进行逐级分解,并进行设计的方法。总之,加强系统思想的培养有利于将学生培养成具有总体系统设计能力的人才。 2 当前系列课程教学过程中存在的问题 系统工程系列课程经过近几年的建设,为本学科硕士研究生形成关于系统工程的基础知识体系发挥了重要作用。这些课程主要讲授开发、运行各类复杂系统所需要的思想方法、工作程序和分析手段,包括贯穿始终的系统思想和系统工程技术,既有系统工程的理论基础,又有系统工程的方法论和应用。系统工程系列课程在控制科学与工程学科研究生人才培养过程中所具有的重要地位决定了其在教学中的重要性。在实际教学中,学生对课程学习非常重视,学习热情也很高,但在教学过程中还存在不少问题,影响了教学质量和效果。 (1)传统的系统工程系列课程的教学方法偏重于其中数学方法的掌握和应用,而对于更重要的系统思想却很少关注。 (2)教学中忽视了实践的重要作用。学生们只是学会了基本原理,而不注重系统工程在实际中的应用,不能将系统工程的理论和方法与本专业结合起来。 (3)学生的头脑中没有完全形成“系统”的概念,表现在理解系统最优化比较吃力。这主要是因为学生对“系统”的认识不足造成;另外,教学方法和教学手段的相对落后也阻碍了学生头脑中及时形成“系统”的概念。 基于以上教学实践中遇到的问题,并结合本校办学定位与人才培养目标,系统工程系列课程需要结合控制类学科的建设目标,将系列课程建设成培养学生系统思想的示范性重要平台。 3 基于系统思想培养的系统工程系列课程建设实践 (1)加强对学生培养系统思想的引导。引导学生瞄准世界科学的前沿,研究和思考人类社会和科学面临的重大现实问题。正面地介绍现代系统科学的思维方法和思想成果,使学生对于现代系统科学带来的启示有所了解,有所体会,让学生们能和国际学术界同步地研究和思索。教师以专业学科领域研究的历史沿革和跨学科分析的视角准备自己的教学内容,通过基础理论的传授方式引导研究生了解所学专业领域的研究前沿。教师引导学生对系统思想进行培养,包含指导学生对本学科或者相近学科领域相关的方法论理论进行比较深入的学习。 (2)加强学生系统思想培养方面的训练。在系列课程的授课过程中有意识地加强学生系统思想培养方面的训练,在课堂上组织学术报告、学术交流、学术辩论等,课后组织学生进行资料查阅、对实际问题进行系统分析并进行论文撰写。着重细化系统初步分析、规范分析、综合分析方法,并要求学生根据实例利用系统工程的思想和方法做出相应分析。⑦如在“系统工程理论与方法”课程的授课过程中,组建由三到四人组成的分析小组,各个小组首先完成第一阶段布置的思考讨论题,并且在“系统工程方法论”一讲结束前,结合自己所要开展的课题研究或者以前自己曾实现过的系统提出一个可以用系统分析原理进行分析的问题,或者根据教师提供的问题背景,初步形成小组拟进行分析的题目(课堂讨论Ⅰ);随着课程内容的推进,各小组完成系统分析报告的框架,结课前在课堂上进行交流(课堂讨论Ⅱ);课程结束后需要完成正式的系统分析报告,分析中鼓励学生使用必要的专用软件。课外自觉并及时地做好各章节的思考与练习题,并在此基础上做好两三次集中的课堂练习,强化对基本知识的掌握。 (3)引入系统级任务驱动的教学模式。以系统级任务为脉络展开教学,并在教学过程中始终强调系统分析与设计的思想,通过系统级任务将各个基本知识点整合在一起,让学生可从整体上把握知识的体系结构。系统级任务设计应当体现系统设计的基本方法,如果总体任务具有一定的复杂度,则可将任务逐级分解为一些子模块,从而将系统思想融入到任务当中。 (4)加强系列课程之间的联系,建设案例库。在尽量考虑系列课程联系的基础上,加强对系列课程中各门课程教学理念、教学方法、教学内容等方面的研究。在考虑完成本课程教学内容的基础上,增加能增强系列课程中课程间联系的知识点的讲解学时。⑧对课程内容相关的案例进行收集与设计,加强系统工程相关案例库建设,以丰富课堂内容,供学生进行案例分析使用。 (5)将科研成果融入到实际教学中.老师们在承担相关研究生课程时,将自己的科研成果尽量融入到实际教学中去,将实际的工程系统作为工程实例呈献给学生,让学生进行系统分析。通过将实际工程系统作为教学案例并和理论教学结合,让学生融会贯通所学的知识点,通过自己的思考拓宽自己的视野,使其能站在系统观的高度来处理现实世界中的实际问题。⑨ 4 结论 系统工程系列课程的建设对研究生建立完整的系统观具有重要意义,对学生系统思想和创新能力的培养意义深远,通过这些课程的学习,基本掌握了系统工程方法论,能初步用系统的观点分析问题,并基本掌握系统工程分析解决问题的基本概念、基本原理和基本方法,初步具有运用系统工程方法分析解决实际问题的能力。我们对基于系统思想培养的系统工程系列课程建设进行了一些探索和改革,将系统思想的培养融入到系列课程的教学过程当中,既有利于培养学生的系统设计思想,也有利于学生知识体系结构的形成。当然,在系列课程建设中培养学生系统思想的教学改革是一项长期而艰巨的任务,还有大量工作需要我们去继续努力,我们要不断积极探索和研究培养学生系统思想的方法、措施和管理手段,以适应培养具有很强适应能力与创新能力的新型人才的需要。 工程系列论文:面向移动应用的软件工程系列课程改革方案的研究 摘 要:近年来,移动软件行业蓬勃发展,市场对此方向的人才需求也急剧增加,鉴于移动应用与传统桌面应用在软件开发过程、开发方法、质量管理等多方面存在不同,高校现有的软件工程系列课程内容也需随之调整。在深入分析了移动开发的特点和目前高校软件工程系列课程所存在问题后,该文从教学内容、教学方法和考核机制三方面论述了面向移动应用的软件工程系列课程建设的研究内容及实施方案,该方案的初步构建和实施,对于系统的增加学生的移动开发知识,训练移动开发能力具有重要的意义。 关键词:软件工程 移动应用 课程改革 当前计算机的发展已经进入了移动互联网时代,智能手机、平板电脑,甚至电视机都成为了计算机终端,继而社交、导航、支付等应用日益盛行。随着对移动设备使用率的飙升,人们对移动应用的需求骤增。从2011年至今,移动软件开发成为就业首选,移动软件开发技术也成为学习热点和就业必杀技。分析移动互联网行业的人才需求,首先是熟练的移动开发技术,此外还要求人才的创新能力和知识结构的跨界复合能力。该院将软件工程专业设为教学试点,调整培养目标,改革软件工程系列课程,强化移动开发知识和技能,以适应日益完善的移动开发生态体系。 1 教学改革的目的和意义 移动应用(Mobile Application)简称APP,是指运行在智能移动设备上的软件。从本质上讲,移动应用仍是软件,其开发过程依然遵循软件工程过程。但是,移动开发有其自身独特的技术特点,平台多样化、数据安全性、系统能耗等传统桌面软件开发相对关注程度较少的问题,在移动应用领域尤为突出。 另外,移动应用也有其独特的开发模式。2014年8月15日,在主题为“在移动计算时代获得成功”的客户研讨会上,Gartner研究副总裁Van Baker提出了“传统应用程序开发实践将对移动应用失效”的观点。他表示“应用程序开发经理应该采用功能、性能、负载、用户体验测试以及敏捷开发实践。”以区别于传统的线性软件开发过程。移动应用所采用的这一开发模式将开发和测试周期延长至企业应用使用的整个周期。开发完成一定功能,立即测试,并部署上线使用,根据反馈和需求变化,再继续开发,测试,部署。即将原来线性的周期,变为更短的不断循环的多个小周期[1]。 综上所述,移动应用呈现出一种不同于传统桌面应用的开发模式和特点。而与此同时,在高校的软件工程系列课程中,却缺乏对近年来蓬勃兴起的移动应用软件开发过程的应有关注。为此,研究移动应用开发中的需求工程、软件重用与软件质量度量等问题,分析相关研究者的研究成果与开发者在工程实践中的实际应用成果,并将其引入软件工程系列课程中来,作为相应的教学内容,对于提高计算机相关专业学生的移动应用开发能力与移动互联软件工程意识都将有着重要的推动意义。 2 教学改革的内容 通过在该院建立软件孵化实验室作为改革试点,对移动应用软件开发过程进行跟踪和分析,总结经验不足,将软件工程系列课程改革的重点集中在3个方面:优化教学内容、改进教学方法和完善考核机制。 2.1 优化教学内容 该院软件工程系列课程包括理论类课程、系统开发设计类课程和实践类课程等,而鉴于移动应用开发与传统桌面应用开发的主要区别集中在软件过程模型、软件质量度量、对用户界面和用户体验的关注上,因此,该次课程改革方案主要集中在《软件工程》、《统一建模语言UML》、《人机交互》和《软件测试》四门核心课程上。 (1)在《软件工程》课程中,除介绍传统软件工程知识体系以外,增加移动互联软件开发过程和模型的相关知识,并在实践环节中,使用并验证此类知识。 (2)在《统一建模语言UML》课程中,依然采用案例驱动的教学模式。在实践环节,增设移动应用开发案例,并指导学生通过UML对案例进行分析与建模,对比非移动开发案例,体会其间异同。 (3)在《人机交互》课程中,除介绍人机交互界面的一般设计原则及方法以外,补充有关移动界面的设计原则、要素、设计技术与工具的相关知识。在实践环节,增设基于Android的移动应用设计实战项目,让学生体验移动界面开发过程。 (4)在《软件测试》课程中,除介绍常规功能测试和性能测试的方法以外,针对移动应用在用户操作方式、界面布局、设备网络连接方式等方面的特点,补充移动应用的用户体验、网络链接及安全性、兼容性等方面的测试知识。在实践环节,增设移动应用的系统测试项目,让学生参与测试用例和测试过程的设计,总结其与传统桌面应用测试间的异同。 2.2 改进教学方法 由于软件工程系列课程具有理论与实践紧密结合的特点,所以仅采用传统教学方法是不能满足社会对软件工程人才的培养需求的,因此需综合运用各种先进的多媒体技术作为教学手段,配合多样化的教学方法,以达到既普及知识又训练技能的目的[2]。 (1)课堂教学方法的改革 鉴于软件工程类课程具有较强的应用和实践性,在授课过程中,建议采用案例教学方法,教师变身为项目导师,充分调动和发挥学生的主导作用,引导学生独立思考,寻求和验证解决方案,激发学生的创新能力。 在此基础上,推动实施软件工程课程群“一案到底”教学法[3],摒弃传统教学中以课程章节或知识点作为案例的讲解方法,改进原有系列课程中独立选择案例的教授方法。精心挑选综合性的系统案例,既保证学生对其业务处理熟悉、感兴趣,且功能足够全面、具有代表性,又要兼顾传统桌面应用和移动应用的特点。通过课堂教、学互动完成对案例核心部分的分析和设计,并形成完整的解决方案,使学生深入理解课程内知识点之间、课程之间、以及课程与实践之间的衔接关系,并逐步形成整个软件工程课程体系的全局观。 (2)实践教学方法的改革 在完成核心部分的解决方案后,综合性案例的扩展部分可作为学生自主实验内容。如果案例规模较大,则可采取分组形式完成。通过案例实战,将理论与实践紧密联系在一起,有效调动学生主动学习的积极性,锻炼学生在课堂所学知识的指导下独立分析问题和解决问题的能力,加强学生团队合作和沟通表达的能力。 在单独开设的实践环节中可采用“项目式-任务驱动”教学方式,以学生为主体,将项目或案例进行任务分解,并分配到各小组,要求学生严格按照时间要求完成任务,并进行讲评和答辩。同时,针对移动软件开发中具有的软件规模较小、需求较明确等特点,采用“场景法”,由学生扮演最终用户的角色,切身感受和想象手机用户在不同场所需要的交互和功能,继而完成软件的需求采集、需求分析、设计和测试任务,在很大程度上调动学生学习的兴趣和主动性[4]。 (3)加强课程信息化建设 充分利用学校的在线教学平台,共享教学资源,将教学计划、教学内容、自学任务和课后作业等及时,帮助学生更好的学习。教师主动与学生进行网络互动,利用各种沟通交流工具,了解、解答学生在学习过程中遇到的问题,掌握学习情况,及时调整教学进度,帮助学生实现课外主动学习的目标。 教师在授课的同时,通过此平台进行网络课程建设。教师定期对内容进行维护和更新,修订教学大纲、课件、案例库等教学资源,增设有关移动软件开发的相关知识和内容,收集有关移动应用领域的成功案例,对软件工程系列课程完成全方位覆盖,并保证知识新颖、内容详实,实现网络平台内容的动态化。 (4)扩宽学生获取新知识的途径 除了课堂教授、实践过程巩固等教学方式外,通过“任务型”教学、案例分析拓展实战、推荐阅读经典教材、借助网络资源等方式鼓励学生多渠道获取知识,培养学生自主学习的能力,增强职业素养。 2.3 完善考核机制 由于软件工程系列课程的特点,其培养目标要求学生在理解基本理论和原理的基础上,能够熟练掌握主流软件的工程管理体系、质量管理体系、系统建模工具、程序设计方法等技术,培养科学的思维方法和开发方法,并提高动手实践能力和独立分析解决问题的能力。而现有的考核方式过于单一,重结果而轻过程,考核内容偏理论轻实践,大大影响了学生学习的积极性和兴趣,而对学生动手实践能力的培养没有得到应有的重视。因此需建立科学完善的课程考核机制。 (1)注重过程考核 将过程考核纳入考核评价体系中,并适当增加比重。过程考核内容主要体现为课堂出勤率、案例的参与度、自主完成作业的质量、实践环节解决方案等。通过将考评侧重点向过程考核转移,督促学生积极主动的学习。 (2)完善实验考核制度 在传统的实验教学中,实验指导教师对学生实验成绩的评定主要是以出勤率、实验成果和实验报告作为评价依据,这种考核方式通常无法考核出学生的真实水平,且所有学生用同一种标准来衡量,尽管公平却不利于学生个性的发挥和创造力的培养。可将实验项目分配至各小组,对学生实验成绩的评定综合考虑整个小组的实验结果、学生的态度和表现、在小组内部发挥的作用等方面,并增加小组集体答辩和小组互评环节[5],增强学生团队合作意识和集体荣誉感。 3 结语 随着移动互联软件开发产业的蓬勃兴起,移动互联企业的人才需求突飞猛进。与移动互联开发相关的软件工程领域的研究也方兴未艾。作为人才培养土壤的高等院校,其软件工程系列课程中目前更是缺乏其应有的支撑内容。因此,在高校软件工程系列课程中,提出合理的软件互联知识域框架,引入移动互联开发所需知识,增加移动互联实践案例,建立配套的考核机制将成为必然之举。一方面可以为面向移动互联及“大数据”的先进软件工程技术提供理论研究基础,另一方面也为学生在移动互联开发时代提供技术利器,以更好的适应社会发展的需要。 工程系列论文:以培养学生工程设计能力为目标的机械工程系列核心课程教学改革研究 摘要:培养工程设计型人才是工业现代化的迫切需求。我校结合机械设计制造及其自动化专业的人才培养目标,针对机械工程系列核心课程的教学现状,进行了以培养学生工程设计能力为目标的教学改革。以完成工程项目的CDIO过程作为核心课程群设置或整合、教学内容安排,以及师资和教材建设的核心,以完成“完整技术工作”的训练实现工程综合应用能力的培养,加速学生从在校生到工程技术人员的角色转变。已历经机械工程系累计4届学生的实践,取得了很好的效果。 关键词:工程设计;核心课程;CDIO;完整技术工作;角色转变 一、培养工程设计型人才是工业现代化的需求 随着计算机、微电子、自动控制等技术的发展,工业自动化正向集成综合自动化过渡。机械设计制造及其自动化技术的综合应用正起着越来越重要的作用,由于机械产品及设备的技术复杂性和涉及知识的交叉性,使得现有的技术人才难以胜任技术含量较高的工作。 机械制造业是工业自动化的重点,机械设计制造及其自动化是工科院校主要专业,其培养的学生毕业后相当一部分将直接面向工厂、面向车间、面向工程应用与设计的现代化主战场。而现有的高等教育人才培养模式长期采用灌输式理论教育,且受多种因素制约,学生对工程实际的认知较少,综合运用知识的能力较差。学生毕业进入企业后,由于遇到的实际工程问题通常是隐性的,无法再像课堂学习一样,根据已知条件和固有步骤就可得到答案,加上新的科学技术成果大量应用于生产实际,设备的复杂性和涉及学科的交叉性大大提高,使得现阶段的高等教育人才培养模式已经阻碍了高素质工程技术人才的培养,其培育的纸上谈兵型人才已经远远不能适应工业现代化的需求。因此,各高校工科专业进行以培养学生工程设计能力为目标的教学体系改革已经迫在眉睫。 二、机械设计制造及其自动化专业工程设计能力的内涵 机械设计制造及其自动化专业的人才培养目标是现代机械工程师,使学生接受机械工程领域的基本知识和专业理论知识,受到机械工程师基本技能的训练。学生毕业进入企业后,除具备机械设计制造及其自动化专业的一般知识与能力外,作为现代机械工程师,还应具备以下能力:(1)能够正确判断机械设计制造及其自动化专业领域的工程实际问题;(2)具备针对工程实际问题的系统分析能力和解决问题的能力;(3)具备机械制造行业的工程设计、工程开发能力;(4)能适应机械制造行业涉及学科的交叉性和复杂性,具备协调与合作能力;(5)具备终生学习的能力。 三、机械工程系列核心课程教学培养现状 机械工程系列核心课程包含机械制图、机械原理、机械设计、理论力学、材料力学、电工电子技术、互换性与测量技术基础、机械制造工艺学、机电传动控制、液压传动与气压传动、数控技术等理论课程,以及课程设计、专业课程设计、毕业设计、认识实习、生产实习等实践教学环节。每门课程的理论性和实践性都非常强,与相关课程关联关系强,在机械类学生的知识结构中都具有举足轻重的地位。 以《机电传动控制》为例,该课程的理论性、实践性和综合性强,涉及动力学基础、电机与拖动、传感器、机床电气自动控制、电力电子技术、传动控制系统、可编程序控制器等知识面,关乎《理论力学》、《电工电子技术》、《机械制造技术基础》等前期课程,和《金属切削机床》、《机床夹具设计》、《液压传动与气压传动》等同期课程,甚至《数控技术》、专业课程设计、生产实习、毕业设计等后期课程的关联教学,在机械设计制造及其自动化专业人才培养体系中尤为重要。现有教学体系中,机械工程系列核心课程均存在内容量大,知识面广,教学以理论为主,实验为辅的现状。理论教学方面,由于原理图多,文字叙述较抽象,学生又无实物接触,难以全面了解、掌握机械工程技术在生产实际应用中的内涵和精髓,不仅影响了学生的实际应用能力,也降低了学生在今后的工作中不断学习提高的后劲。在工科教学中尤为重要的实验或实践教学环节,多采用验证型实践教学,且往往由于受控对象体积大、重量重、价格高、维护难等因素,难以大量装备于实验室,使学生在实践教学中无法感受工程实践的趣味性、知识性和实验成功后的成就感,在很大程度上挫伤了学生的积极性,更谈不上对工程设计能力的培养。对于教学另一重要环节,即考试,现有的考试方式仅注重于考查具体知识点的了解或掌握,比较理论化,并不注重与工程实际的联系,往往出现教师为考而教,学生为考而考、考后即忘的现象,无助于对工程技术人才的培养。 机械工程领域知识的复杂性和交叉性,使得实际工程问题通常是隐性的,学生毕业进入企业后,无法再像课堂学习一样根据已知条件和固有步骤得到答案,企业必须投入相关资源进行二次培养,企业的经济效益和高校的人才竞争能力都大受影响。因此,工科院校机械设计制造及其自动化专业,针对机械工程系列核心课程实施以培养工程设计能力为目标的课程改革,培养学生对工程实际问题的分析判断能力、工程设计能力和终生学习能力是实现该专业人才培养目标的需要,是适应社会发展需求的需要。 四、以培养学生工程设计能力为目标的机械工程系列核心课程教学改革研究与实践 我校以培养工程设计能力为目标的机械工程系列核心课程教学改革的思路是以培养学生工程设计能力为总体目标,贯彻以工程项目构思(Conceive)、设计(Design)、实施(Implement)和运作(Operate)全过程为载体的CDIO高等工程教育理念,打破以理论知识全面性为原则的专业课程群设置方式和课程教学内容安排方式,以完成工程项目CDIO过程作为课程群设置或整合、课程教学内容(含实践教学)安排、教学方法以及师资和教材建设的核心,系统推进教学改革。一个典型的领域工程项目(一级项目),其CDIO过程所需的专业知识和技能几乎可以涵盖一个专业方向甚至一个专业的所有课程(含实验),这就给专业课程群设置及其教学内容整合提供了一个内在的“纲”,极大地增强了专业课程群的整体性。与此同时,工程项目的实施流程及各部分工作内容也为专业课程的教学内容和教学重点安排提供了有效依据。以工程项目运行过程来驱动课程教学实施,构建真实的工作场景,以完成“完整技术工作”的训练并以此来实现工程综合应用能力的培养,加速学生从在校生到工程技术人员的角色转变。解决现有教学体系中重理论轻实际、教学过程中缺乏工程实践和工程设计的引入、教与学均是纸上谈兵等教学问题;解决现有实验环节以传统的验证型实验为主的实验教学模式下,学生动手能力差、综合分析问题能力欠缺,以及现有实验设置与工厂实际脱离、与先进技术的发展和应用相脱离的现状,使实验教学环节与培养工程设计人才目标相促进;解决现有考试方式“考”老师所“教”、考试内容简单化、命题标准化等教学问题,真正避免现有教学制度下,老师教学生“考”而不是教学生“学”和“用”的现状。 针对教学体系改革,建立以能力培养为中心、以工程设计为主线的课程教学体系,优化课程结构,改革教学内容。如教学过程中,以“车用气瓶螺纹接口自动加工专机”的完整设计工作为主线,给出学生某企业待加工气瓶产品的不同形状与尺寸规格、加工精度要求、加工效率与设备成本要求等参数,要求学生直接进行该产品加工设备的设计。整个教学过程既围绕“气瓶螺纹接口自动加工专机”的实际工程课题研究,又紧密围绕《机电传动控制》课程各章节内容,注重工程实际在恰当知识点的引入。如进行第二章“机电传动系统的动力学基础”内容的教学时,将转矩折算与电机选择、专用钻孔动力头设计、车床变频器主轴改造等工程实际案例逐层相结合,扎实培养学生的工程设计思路和能力。教学过程中适当引入“三通球阀加工专机设计”、“铝塑药品包装机改造”、“80喷漆线伺服系统”等相关工程设计实例贯穿课堂的教学和设计指导。部分章节如“继电器接触器控制系统”、“PLC控制技术”等采用了现场教学模式,使学生易学,老师易教。 在《机电传动控制》课程教学改革过程,共有三条主线:其一,课程自身教学系统主线;其二,工程设计项目与实验教学主线;其三,对相关课程知识进行验证学习的主线。三条主线围绕工程设计项目主线同步展开,最终为学生的《机电传动控制》课程服务。学生在课程学习过程中,在授课教师的带领下,进行了企业委托项目《气瓶螺纹接口自动加工专机》的研究与设计。因涉及学习内容多,工作量大,单靠课堂学时远远不能完成。但是由于构建了一个学生进入企业后真正的现代化生产主战场,极大地激发了整个团体的学习积极性和创造性。依靠课后大量的资料查阅与学习,课堂上再结合教师对《机电传动控制》相应章节的讲解与对该工程项目的设计思路引导,学生在课程学习期间即完成了该项目的工厂调研、工艺分析、方案设计、刀具设计等工作,完成了企业要求的设计任务。并成功申请了发明专利“气瓶螺纹接口自动加工生产线”1项和实用新型专利“直动式电控叠加溢流阀”、“专用锪车复合刀具”等9项,目前均已获得授权。由于学生学习积极性高涨,课后主动学习时间大增,在这个环节中扮演重要角色的教师的实际教学过程相对以往教学模式轻松。教师更多是扮演“导师”角色,而不是以往的“填鸭式”教学;学生通过实际的工程设计历练逐步建立和深化了工程意识与能力,达到的是双赢效果的工程设计人才培养目标的实现。同步实施的实验环节改革,强调针对工程实际进行设计、选型、搭建、调试的系统性实验,培养动手操作和创造能力,注重该课程与相关课程的关联设计,注重该环节理论与实践的联系;对于考试环节,不以最后一考来定输赢,而以阶段性工程设计与期末整体性设计相结合,笔试与口试结合,注重工程设计的实际应用方面的考评。 五、总结 目前,我校《机电传动控制》课程以培养学生工程设计能力为目标的教学改革已经实施了五年,并带动了机械工程系列相关核心课程群的教学改革。由于在改革实践过程中,以工程项目运行过程来驱动课程教学实施,以完成“完整技术工作”的训练实现工程综合应用能力的培养,加速了学生从在校生到工程技术人员的角色转变。从用人单位反馈情况(两届)看,就业学生在创新能力、实践能力、知识结构、团队意识、岗位适应能力等方面较往届有较高水平的提升。 总之,我们将继续积极进行改革,密切观察实施过程,冷静分析成绩和不足,不断总结经验教训,期望能为中国的工程教育改革做些实事,提供新的改革思路,为培养符合现代企业要求的工程技术人才做出贡献。 工程系列论文:机械工程系列核心课程的交叉渗透浅析 摘 要 机械工程技术的综合应用正起着越来越重要的作用。研究机械工程系列核心课程的知识交叉渗透,能解决教学中各课程步调不一的问题,消除“知识孤岛”现象,帮助学生建立完整的专业知识体系。同时,提出了进行核心课程交叉渗透研究需注意的一些问题。 关键词 机械工程 核心课程 交叉渗透 知识孤岛 1 工业自动化的集成综合发展对机械工程领域人才培养提出了更高的要求 随着计算机、微电子、自动控制等技术的发展,工业自动化正向集成综合自动化过渡,机械工程技术的综合应用正起着越来越重要的作用。机械工程的发展已经进入一个新的阶段,其概念和体系已经涵盖了信息处理技术、自动控制技术、系统工程理论、计算机技术和现代设计方法等知识的高度综合交叉。 机械制造业是工业自动化的重点,机械设计制造及其自动化专业是本科院校常设的主要专业,其培养的学生毕业后相当一部分将直接面向工厂、面向车间、面向机械工程应用与设计的现代化主战场。机械工程领域的技术复杂性和涉及知识的交叉性,使得市场需求对未来就业者的知识结构、综合素质能力提出了更高要求,制造业对具有厚机械基础、宽专业口径,同时实践能力和适应能力强的复合型人才的需求很大,这给我们的教学工作带来了严峻的挑战和切实的机遇。 2 国内外高校机械工程类专业课程设置及其教学现状 基于机械工程类专业平台,能灵活应对该领域技术复杂性和涉及知识交叉性的人才培养模式及教学体系,国内相关专门研究及实践均较少。国外在这方面的研究目前主要有美国大学提出的“本科整体知识观”,其强调大学课程的完整性,各课程之间应构成一个相互关联的统一知识体系,使本科教育内容尽可能系统、连贯并形成一个整体,并正成为美国21世纪大学教学改革的发展趋向。日本机械类课程比较注重应用性和广泛性,着眼于与实际工程应用和工程设计的联系,扩大机械相关知识的学习。德国的工科类高校则比较注重理论课程与实践教学的衔接,注重对复合型人才的培养。这些都是值得我们借鉴的经验。国内,吉林大学针对会计学专业课程进行过知识交叉性的研究。 国内高校机械工程类专业的人才培养方案,基本都按照“厚基础,宽口径,注重实践环节”的原则设置,不可避免地出现理论课程压缩的问题,又进一步限制了学生学习和发展的空间。因此,培养适应社会需求的复合型机械人才,建立合理的专业知识培养框架知识体系,更重要是培养学生的自学能力,在实践中能灵活分析和解决问题,从而将高等教育的阶段性教育转化为终身教育,是目前国内高校亟需研究的问题,也是国外机械工程类高等教育研究的热点。 机械工程类人才培养模式一般采用基础课、专业基础课和专业课构成的三段式框架,基于这一框架,由主干课构成机械类人才培养的主要知识系统,由其他课程构成关联知识系统和辅助知识系统。通过近几年来调研国内外众多高校的机械类专业人才培养方案及其教学现状发现,目前在机械类专业人才培养体系的课程设置及教学过程中,主要存在以下问题: (1)相同的知识和内容,在诸多门课程中重复出现和重复讲解的现象,即各专业课程间存在知识的交叉与渗透问题。各课程教学体系在知识的呈现和表述上各自为政,出现“你唱你的,我说我的”步调不一致现象,教学的广度和深度取决于教师对教学大纲、课程的理解和对学生的了解,而不是来自社会对人才的需求。这样一来,在其他专业课或专业基础课中已经讲授过的知识和内容,在教学中重复出现,不仅浪费了教学资源、教学时间和教师的劳动,同时也收不到应有的教学效果。特别是在中、后期的教学实践中,专业课程间的交叉与渗透出现的频率更高。 (2)不合理的课程交叉点设置打断了完整的“教”与“学”的链条。具有先后知识衔接关系的课程可能同时进行甚至错位安置,使得本应实现的拓宽同期课程学习、印证前期课程学习、为后续课程打下教学衔接基础的完整教学链条被打断,学生难以建立完整系统的专业知识体系。尤其在工科教学中尤为重要的实验教学环节,在一些高校纷纷实施的“开放型实验”模式教学改革过程中,对培养创新能力和实践能力,并对理论课程进行验证学习的实验环节与理论学习环节存在着更为严重的脱节现象。 (3)各课程独成体系,缺乏连接能力,课程与课程之间的衔接存在诸多知识“孤岛”,不能使学生建立完整的机械工程知识体系,进入社会后适应能力差。忽视课程之间的衔接关系,各自为政的教学模式使得有些知识支离破碎、关联松散,学生的整体知识体系构建过程受到影响,掌握的知识具有片面性。学生毕业进入企业后,由于遇到的实际工程问题通常是隐性的,无法再像课堂学习一样,根据已知条件和固有步骤就可得到答案,加上新的科学技术成果大量应用于生产实际,设备的复杂性和涉及知识的交叉性大大提高,知识“孤岛”缺乏连接,导致学生“只见树木,不见森林”,难以应对在将来工作中出现的新问题,适应力差。这也是美国一些高校失败的教训,我们应当注意。 3 实施机械工程系列核心课程交叉渗透研究需注意的问题 (1)工业自动化集成综合发展形势下,机械工程人才培养模式、课程体系与社会对人才需求之间的关联关系与契合程度。机械设计制造及其自动化专业的人才培养目标为具有宽厚的现代机械工程及自动化理论基础和较强的工程意识、实践能力及创新精神,能在机械工程及自动化领域从事设计、制造、技术开发、科学研究、生产组织和管理等方面工作的高素质应用型高级专门人才。视野开阔、具有灵活应对机械工程领域复杂技术和涉及交叉知识的能力、社会适应性强的专业人才才能适应工业自动化的集成综合发展。机械类专业的人才培养方案及课程体系,就必须具有完整性和连贯性,注重学生知识结构的平衡,建立起结构紧密、整合的本科课程体系。 (2)探索可行的教改模式,机械工程系列核心课程间的交叉渗透,促成知识和技能的灵活迁移与紧密联系。在现有各课程体系各自为政的情况下,研究如何创设一种类似于学术(或科研)研究的情景,协调机械工程系列核心课程的交叉与渗透,在教学中加以引导,推陈出新、举一反三,促使学生在学习的过程中加强知识与技能的迁移和练习,培养学生自主独立地发现问题,运用实验、操作、搜集与处理信息等探索活动,达到知识、技能、态度的发展,特别是探索精神和创新能力发展。 (3)基于机械工程系列核心课程交叉渗透平台下各课程的具体教学体系、知识体系、教材体系、实验体系,研究各课程具体的教学广度与深度。需注意机械工程领域知识复杂性与交叉性背景下,人才培养方案的适应性修订或调整;解决专业平台下课程之间的知识交叉渗透问题的同时,需注意衔接课程教学的深度与广度问题。 同时,需注意在教学过程中,创设一种类似于学术(或科研)研究的情景,利用机械设计制造及其自动化专业核心课程的交叉渗透,增强学生对其他课程乃至整个专业知识体系的关注度和信赖感,培养其大机械工程的视野和主动学习能力。 4 总结 通过研究机械工程系列核心课程的交叉衔接关系,可完善机械设计制造及其自动化专业核心课程群逻辑上的一致性与连贯性,消除现有教学体制下课程间的重复或“孤岛”。同时,帮助学生建立机械设计制造及其自动化专业整体知识体系,使其面对机械工程领域实际问题能融会贯通、相互促进、多角度思考以及综合判断,提高他们的竞争能力和生存能力,变阶段性教育为终身教育。 工程系列论文:结构工程系列课程的综合改革与整合实践 【摘要】本文提出把结构工程系列课题的专业课设计部分,以一个整体方案将各分支连接起来,然后进行整合,使其达到系统化的教学目的,从而明确学习理论知识的目的,提高专业设计的质量,培养学生的综合能力。 【关键词】结构工程 综合改革 整合实践 本科教学中的理论部分都是多年延续的知识,学生在学习的过程中不知道如何将书本上的知识合理的应用到现代建筑结构中,因此,多数毕业生反映工作后还要重新学习,导致学生学习兴趣差,理论学习不扎实[1];同时设计和施工部门也反映学生在实践和理论的结合方面领悟性差,培养起来时间长。因此,本文对结构工程的系列专业课进行了综合改革与整合实践的初探,希望使毕业生能够尽快进入实战的工作环境中,达到入手快、实践能力强的目的。 1. 结构工程设计类课程现状分析 (1)学生从大学一年级和二年级进行基础课的学习,从大学三年级开始进行专业课学习,结构工程设计类专业课安排见图1,专业理论课和设计课彼此独立 [2]。而进行一个具体结构工程其包含的设计理论知识是多方面的,首先甲方下达设计任务,建筑和结构设计人员按照场地情况(水文地质条件、周边环境等)和设计要求,初步确定建筑方案和结构选型,方案通过后进行建筑设计,然后由结构设计人员开始结构设计。内容主要包括荷载计算――构件主要内力计算――梁、板、柱等主要结构构件的选择和计算――节点、附属构件、围护结构的构造和计算――基础的设计和构造。 (2)一个结构工程设计中所涉及到的专业课有:房屋建筑学、结构选型、结构力学、钢筋混凝土、基础工程、土力学、土质工程学等各门专业课程,在一个工程中各环节彼此衔接的非常紧密合理。而在教学任务中则拆开授课,各自完成独自的教学任务,学生学完专业课后,所掌握的专业知识是孤立的,缺少完整性。 (3)以钢筋混凝土结构为例,见图2,理论部分讲解的是在各种受力状态下,钢筋混凝土结构的计算方法,包括各种主要构件的计算;设计部分讲解的是在各种结构体系中主要构件梁、板、柱以及剪力墙等部件的计算。授课方式也仍然是基础课的教学方式,学生通过学习也只是了解混凝土结构构件怎么设计计算。当在实际工程中,遇到各部件的衔接部分时,就不知道如何下手。因此,这样的传统教学模式(各门专业课课程内容相对独立),导致了理论与实践的严重脱节。 2. 结构工程专业课程整改措施 在现有理论教材和课时的基础上进行整合,合理的布局,进行整合优化现有课程,使学生学习达到事半功倍的效果。 2.1课程改革与整合。 (1)从大一到大三的基础课内容和授课方式保持传统授课模式,需要学生牢固的掌握专业基础知识,从大四开始,进行专业设计部分,首先,教师通过基础课对学生的了解选择由浅入深的设计方案,再根据设计方案选择需要的教师,不要采用一个方案一个老师讲到底的传统教学方式,这样教师各自发挥各自的长处,同时与现代结构形式相联系。但是需要教师之间彼此沟通,集体备课,共同讲解一个设计方案的整个设计过程,防止知识的漏讲和重复讲解,每个教师在讲解每个阶段的设计时,要尽量让学生联想专业基础部分的知识。这种授课方式是设计任务不变,设计人员不变(即学生),而老师在变,每个设计阶段都是由对该设计方法最为熟悉的教师去讲解,充分保证教学质量。 (2)设计内容不再是纯粹的砌体设计、钢结构设计或混凝土设计,按照设计院的要求布置任务,模拟真实的设计工作流程,按照工程招标要求和工程地质条件,进行结构选型以确定合理的结构形式,结构形式的确定要突破传统的结构体系,与当代建筑的发展需求相结合,由此得到的结构设计方案可能不再拘泥于一种材料,可能是:钢材、混凝土或砌体,或者是某两种或三种材料的结合,根据教师的教学领域选择不同的专业教师进行深入讲解。在整个专业课设计过程中,学生随着教师的讲解,需要进行一榀框架的手算和整体结构的电算,将结构从基础到主体部分的设计全部完成。 2.2整改方案的优势。 (1)学生尽快进入实战状态按照设计流程进行教学。 (2)教学质量容易保证,因为每个环节都由最熟悉该部分的教师讲解。 (3)避免教师讲授的永远是自己熟悉的方案,讲来讲去十几年不变,严重与社会脱节,对学生的发展不利于。 (4)增加学生的学习兴趣,由于明确了学习目标,增强了学生学习的兴奋点,学生对下一设计环节充满期盼。 3. 结束语 结构工程设计类课程是结构工程学科专业基础课的总结,具有非常重要的作用,是学生进入工作岗位之前的专业准备阶段。对于这一重要的教学阶段,教师应很好的运用,真正要学生从理论升华到实践,培养出更有特色的学生,使其更能适应建筑业的快速发展。 工程系列论文:“公路工程系列课程”国家级教学团队建设 【摘 要】教学团队的建设是“质量工程”的主要内容之一。文章对长安大学公路工程系列课程国家级教学团队的设置特色与建设发展进行了归纳和总结,阐述了团队在公路工程系列教材与教学队伍方面的建设内容与成果和教学改革措施,以及在全国范围内应用推广教学成果的情况。 【关键词】公路工程 系列课程 国家级教学团队 基金项目:“公路工程系列课程”国家级教学团队建设项目(2009)资助。 教育部要求,各地、各高校要通过国家级教学团队的建设,改革教学内容和方法,开发教学资源,促进教学研讨和经验交流,推进教学工作的传、帮、带和老中青相结合,提高中青年教师的教学水平;探索教学团队在组织架构、运行机制、监督约束机制等方面的运行模式,为兄弟院校培训教师提供可推广、借鉴的示范性经验。 根据公路工程课程的特点,针对教学中存在的问题,本课程教师队伍在教学方法、课程内容、教材编写和实践教学改革上进行了大量的探索与实践,取得了显著成效,《路基路面工程》与《道路建筑材料》分别于2008年和2010年被评为国家级精品课程。 教学团队的建设是“质量工程”的主要内容之一,是精品课程的支撑者和执行者,是保证课程教学质量的关键因素[1]。 团队概况 长安大学道路与铁道工程学科经过五十年的建设与发展,已成为我国公路交通科学研究和高层次人才培养的重要基地。1981年以来先后取得硕士、博士学位授予权,1999年建立了博士后流动站,2000年获准设立长江学者奖励计划特聘教授岗位,2002年被教育部批准为国家重点学科,拥有特殊地区公路工程教育部重点实验室和道路结构与材料交通行业重点实验室,“道路桥梁与渡河工程专业”被评为国家级特色专业和陕西省名牌专业,“土木工程实验中心”为省级教学实验中心。 在本学科发展过程中,形成了一支面向道路桥梁与渡河工程专业及相关专业的本科生,讲授由公路工程专业基础课和专业课构成的课程群,教师的政治素质好、业务水平高、职称年龄结构合理、治学严谨、专业配套且稳定的“公路工程系列课程教学团队”。团队中现有教师7人,其中教授6人、副教授1人,博士生导师5人,6人具有博士学位。教学团队中包括省级教学名师、国家新世纪“百千万”人才、教育部新世纪优秀人才、交通部优秀青年骨干教师等优秀人才。团队带头人是著名的公路专家、“新世纪百千万人才工程国家级人选”、“陕西省优秀留学回国人员”和“教育部优秀青年教师”。 团队建设 1.教学队伍建设 (1)现在教学队伍情况。团队建设需要成员具有优秀的教师风范。团队成员具有良好的教师风范不仅为学科建设作出突出贡献,也为全校师生树立榜样,发挥引领和示范作用[2]。配置好团队成员是建设和培育高水平教学团队的基础[3]。 团队中现有教师7人,其中教授6人、副教授1人,博士生导师5人,6人具有博士学位。本团队以公路工程本科专业系列课程建设为平台,经过长期的教学科研积累和改革实践,形成了学历层次高、年龄结构合理、教学质量好、学术水平高、团结协作、富于创新的团队特色。 (2)培养青年教师,接受教师进修工作。 ①为使青年教师尽快提高教学水平,对青年教师培养实行导师制,由教学经验丰富的教师作为指导教师,言传身教,在各个教学环节指导青年教师适应教学要求,从课堂助课、批改作业、参与课程设计等环节参与教学实践,培养青年教师认真扎实的敬业精神和教学方法。 ②定期组织讲课观摩、经验交流等活动帮助青年教师成长,定期开展教学内容和方法的研讨活动,培养青年教师树立热爱学生、热爱教学、热爱教育事业的思想。 ③有计划地安排青年教师进入同济大学、美国弗吉尼亚理工大学等国内外著名大学深造和进修。 ④鼓励并带动中青年教师参加各类科研课题,特别是积极鼓励中青年教师指导和参与学生的课外实践活动,所指导的学生多次在全国竞赛中获奖,其中获得“挑战杯”全国大学生课外学术科技作品竞赛二等奖1项和三等奖4项,还获得过“挑战杯”创业计划竞赛、第二届全国大学生交通科技大赛、全国大学生数学建模竞赛以及全国大学生电子设计竞赛等奖励。 ⑤在加强对团队内青年教师培养的同时,本团队还指导来自福州大学、重庆交通大学、兰州理工大学、西安建筑科技大学等多所兄弟院校的青年教师在职攻读博士学位,收到了良好的效果和派出学校的好评。 2.教材建设 公路工程是实践性很强的专业,随着工程技术的发展,尤其是我国近年来公路基础设施建设的快速发展,新技术、新工艺、新材料不断涌现,教学内容的更新和教材建设必须适应新的形势。 本教学团队注重教材建设,编写了8部本科生教材,其中《路基路面工程》与《道路勘测设计》2部为国家“十一五”规划教材,2部为面向21世纪教材,3部获得了省部级优秀教材奖。道路承担教改项目10余项,获得省级奖励5项和软件著作权多项。《路基路面工程》与《道路建筑材料》被评为国家级精品课程,《基础工程》被评为省级精品课程。 3.教学改革措施 (1)改进教学方法。为进一步提高教学效果,学校投入大量资金用于多媒体课程的建设。本团队积极组织教师制作多媒体教学课件,通过电子邮件或网络答疑等方式探索与实践网络教学,积极改进教学方法和手段,极大地提高了学生学习的主动性和积极性。 采用启发式教学方法,重视实验和实践,注重学生创新精神的培养,所指导的学生多次在全国竞赛中获奖,其中获得“挑战杯”全国大学生课外学术科技作品竞赛二等奖1项和三等奖4项,还获得过“挑战杯”创业计划竞赛、第二届全国大学生交通科技大赛、全国大学生数学建模竞赛以及全国大学生电子设计竞赛等奖励。 (2)改进教学内容,修订教学大纲。在教学中注意教学重点与专业发展需求相结合,根据专业技术的国内外发展动向和新的行业标准规范的修订,结合教师科研与生产活动中的研究成果与工程经验,及时更新教学内容,保持教学内容的前瞻性,拓展学生的专业视野,增强学生的工作适应能力。 根据调整的教学内容和新编写的教时完成若干示范工程和培育创新研究基地用于教学。 本教学团队利用充足的科研经费自行开发或购置了相关实验设备,在进行科学实验的同时,分批组织学生进行参观,拓宽了学生的眼界,提高了其分析问题与解决问题的能力。 在科研工作中,有意识地给部分本科学生提供参与科研活动的锻炼机会,以培养其动手能力与创新能力。本团队教师指导的学生的科技创新作品《高性能化学构网改性桥面防水材料》获“挑战杯”全国二等奖,《基于废橡胶微波处理的以废治废型沥青路面再生剂》“获挑战杯”全国三等奖,《AMF-I型沥青路面磨光仪的研发及室内评价体系的建立》获全国第二届交通科技大赛三等奖。 本团队平均每学期举办学术报告与讲座3-4次,结合最新的科研成果,进行广泛地学术交流,极大地开阔了学生的视野。 应用推广情况 团队经过多年建设取得了丰硕的成果。本团队主持的教改项目的研究成果现已广泛应用于教学管理与本科人才培养之中。本团队进行的教学内容、教材建设、教学大纲等方面的教改成果已经在本专业的教学过程中得到贯彻。根据《道路桥梁与渡河工程专业人才培养模式及教学内容的研究与实践》的研究成果,按照我国目前公路建设大发展对人才知识结构的需求,调整了公路工程专业本科生课程体系和学时分配比例,一方面加强了学生的实习实践环节,另一方面增加了专业选修课的门类,不仅增强了学生的动手能力,还拓展了学生的知识面,增加了学生对毕业后工作的适应性,满足了公路大发展对专业人才的需求。 在公路工程专业的课程设置中,测量实习、道路勘测课程设计、勘测实习和道路勘测毕业设计是四个主要的实践性教学环节。以前由于受实习场地(校园)、仪器及经费的限制,测量实习和道路勘测设计生产实习只能采用传统的仪器和方法,这非但不能使学生得到全面的技术训练,也不利于学生对先进测设仪器和方法的掌握。自《公路勘测实习基地生产实习教学改革与实践》教改项目完成以来,加强了学生的教学实践环节,提高了学生的动手实践能力及独立从事测设工作的能力。与此同时,注重测量实习、勘测实习与道路勘测课程设计、道路勘测毕业设计之间的有机联系,加深了学生对实践教学内容的理解,提高了学生的实践效果。目前学校太白公路勘测实习基地在国内已颇具影响,不仅满足了本校公路专业学生实习的需要,而且多次接受本校土木大类专业和西安建筑科技大学、西北工业大学等学校的学生前来实习。 目前本团队教学研究成果不仅在本校的专业教学中取得了良好的效果,而且这些教学方法和教学内容,尤其是所编写的教材和制订的教学大纲也为国内多所高校的同类专业所采用和借鉴,对国内其他高校同类专业的课程建设起到了促进作用。 作者单位:长安大学公路学院 陕西西安 工程系列论文:浅谈交通土建工程系列特种新材料的性能与应用 摘要:由于我国有着极为广阔的幅员面积,无论是从地理因素、从地质因素、还是从气候环境因素的角度上来说,都有着较大的变化。为了能够确保各类环境条件下,交通土建工程建设项目质量的安全与可靠,就需要积极展开对各类特种材料的研发与应用,以适应不同环境对于建筑结构提出的挑战。本文以交通土建工程为切入点,对近年来交通土建工程施工领域所涉及到的新材料性能以及新材料的应用要点展开了较为详细的分析与探讨,希望能够通过对上述各类材料的综合应用,达到提高交通土建工程项目整体施工质量的目的。 关键词:交通土建工程;特种材料;性能;应用 交通土建工程的主要构成项目包括以下几个方面:1)公路建设工程项目;2)铁路建设工程项目;3)机场建设工程项目;4)海港码头建设工程项目。在上述各类工程项目施工作业的实施过程当中,受到环境、气候等多个方面因素的影响,施工难度会相对比较大。以我国西部地区广泛存在的盐湖区以及盐碱地而言,由于地下水当中存在有大量的硫酸盐以及硫酸成分,使用常规混凝土材料下可能会受到硫酸的侵蚀影响,对此区域内的建筑物使用寿命产生极为不良的影响。同时,在隧道等项目施工作业的实施过程当中,所穿越山体结构当中含有大量的煤层,煤层中的瓦斯浓度较高,常规内衬混凝土施工下的气密性无法满足其施工要求,存在一定的安全性隐患。为此,展开对特种新材料的研发,并将其作用于交通土建工程施工领域,具有极为重大的现实意义与价值。本文即围绕此问题展开详细分析与探讨。 1 超早强混凝土快速抢修材料性能与应用 超早强混凝土快速抢修材料首先应用于对军用机场跑道在受到敌方攻击的情况下需要进行的紧急性修复工作当中。超早强混凝土快速抢修材料是一种建立在特种超早强剂渗入干预状态下的水泥基复合材料。按照流动性的不同,可以划分为两种类型:1)超早强混凝土快速抢修材料。此类材料的流动性取值在30.0~50.0 mm范围之内;7d抗压强度高于80.0 MPa,28d抗压强度高于90.0 MPa;7d抗析强度高于10.0 MPa,28d抗析强度高于12.0 MPa;7d限制膨胀率为0.03 %,28d限制膨胀率为0.04 %;2)高流态型混凝土快速抢修材料。此类材料的流动性取值为260.0 mm;7d抗压强度高于60.0 MPa,28d抗压强度高于80.0 MPa;7d抗析强度高于5.0 MPa,28d抗析强度高于7.0 MPa;7d限制膨胀率为0.04 %,28d限制膨胀率为0.04 %,无明显变化。 超早强混凝土快速抢修材料的技术性能优势体现在以下几个方面:1)材料凝结硬化速度较快,支持在3.0~60.0 min时间范围内实现材料的终凝反应;2)早期强度发展速度较快,7d时间内的抗压强度、抗析强度数值能够迅速提升;3)超早强混凝土快速抢修材料具有一定的膨胀性特点,无收缩,同时具有较高的材料粘结强度;4)此类材料对于酸碱、高盐侵蚀环境具有良好的抵抗性,耐久性优势突出,抗冻等级高,不会对钢筋材料产生锈蚀作用。 超早强混凝土快速抢修材料的应用价值则表现在:对于超早强混凝土快速抢修材料而言,可将其作用于对道路混凝土材料的紧急快速抢修工作当中,路面修复完成后45.0 min内即可投入使用,具有相当快的恢复功效;而对于高流态型混凝土快速抢修材料而言,当前主要将其作用于对复杂环境与结构条件下,混凝土的灌注作业当中。道路抢修完成后10.0 min内可以承受重载货车碾压,对道路交通通行不会产生明显影响。 2 抗腐蚀混凝土泵送剂材料性能与应用 对于我国西部地区广泛存在的盐碱地、盐湖区而言,地下水当中往往含有大量的硫酸盐、以及硫酸成分。使得在以上区域内所形成的建筑物混凝土材料无法避免受硫酸的侵蚀作用、同时,由于我国当前所生产的抗硫酸盐水泥原材具有成本高、效果差的特点,始终无法从广泛意义上替代常规混凝土在工程中应用。而对于抗腐蚀混凝土泵送剂材料而言,由于将此类材料渗入常规普通水泥后可发挥良好的反应,对于当前的抗硫酸盐水泥原材具有良好的取代价值。值得在盐碱地、盐湖区有关交通土建工程的建设作业中加以广泛应用。 抗腐蚀混凝土泵送剂材料的性能优势体现在以下几个方面:1)在抗腐蚀混凝土泵送剂材料的干预作用下,所配置形成的混凝土抗蚀系数达到0.9 以上;2)抗腐蚀混凝土泵送剂材料满足我国当前有关行业标准《混凝土外加剂》(GB8076-2008)中对于混凝土泵送剂材料一等品的划分标准,对酸碱、高盐侵蚀环境具有良好的抵抗性,可提高混凝土使用寿命。 抗腐蚀混凝土泵送剂材料的应用价值则表现在:以隧道工程为主要作用区域,可以解决超强侵蚀性地下水环境当中,混凝土材料抗腐蚀方面的问题。大量隧道工程内衬混凝土抗蚀系数监测结果显示:在该材料作用下的实测强度可达到35.0 MPa以上,满足设计要求。 3 高压灌注堵漏材料性能与应用 在地铁工程、隧道工程等项目施工作业的开挖阶段当中,针对所涉及到的地下压力水围岩,需要通过灌注堵漏的方式,对此类质量问题加以可靠的解决。同时,针对已投入使用的大量地下工程而言,受到环境侵蚀以及使用年限等因素的影响,也不可避免的存在开裂、以及渗漏等方面的问题。而高压灌注堵漏材料无疑在此类工程灌注堵漏中具有深远的意义。 高压灌注堵漏材料的性能优势体现在以下几个方面:1)高压灌注堵漏材料遇水后会呈现出一定的发泡趋势,能够在较短时间内达到制止结构性渗漏水问题的目的,且可渗入直径在0.02 mm以内的发丝性裂缝当中,堵漏效果良好;2)在高压灌注机的压力干预作用之下,高压灌注堵漏材料能够通过止水针头渗入墙壁裂缝当中,并具有面向四周进行扩散的优势,能够实现大面积的灌注堵漏目的。 高压灌注堵漏材料的应用价值则表现在:可作用于对下工程开挖面岩缝渗水的灌注堵漏,以及隧道、地下室、大坝、屋面等各种已建混凝土工程的灌缝堵漏工作当中。在此基础之上,还可将此类材料应用于对地基的加固、以及护坡工作当中。 4 结束语 受到技术投入、设备投入等方面因素的影响,我国大量的已建交通土建工程项目的质量相对较低。加之环境、自然灾害、以及突发情况等因素的影响,往往会对交通土建工程运输作业的开展产生极为不良的影响。特别是针对如本文所提到的公路、铁路、机场、海港码头工程项目而言,一旦出现结构失稳等方面的质量问题,就需要及时对其进行修复,避免产生更加严重的后果。因此,就需要结合交通土建工程施工的实际需求,展开对特种材料的研究与开发,并将其作用于实践。总而言之,本文针对当前具有较大发展潜力的几类特种材料展开研究,总结了特种材料的性能优势以及应用要点,望能够引起各方人员的特别关注与重视。
引言 在信息化时代下,我们的生活、生产模式都发生了巨大的改变,比如在计算机技术的不断进步和发展下,其为人们的生活就带来了巨大的便利。现如今,计算机技术已经被广泛地应用在各行各业中,并且发挥着尤为重要的作用。而计算机的运用就是根据编程语言编写的程序运行的。因为不同的编程语言在思想和方法上存在不小的差别,因此在选择不同编程语言开发软件的时候,相关工作人员就需要及时调整自己的思路,这样就可以保证计算机软件开发的质量。不仅如此,在编程方法的辅助之下,各种现实问题也可以得到解决,通过科学合理的数学模型可以让相关的工作变得更有效率,从而大大地节省了劳动资源。这其中的关键就是需要选取合适的编程语言展开软件开发。 1计算机中常被使用的几种编程语言 1.1计算机中的C/C++编程语言 在计算机当中,C语言这种变成语言是将过程作为中心的,而另一种C++语言则不同,其是以对象作为核心的一种编程语言。在诸多计算机编程语言当中,C语言算是十分有难度的一种,因为C语言拥有高等语言的特点,还拥有低等语言直接操作硬件的能力,正是因为C语言的这些特点,若是编程人员要这种编程语言熟练的掌握和深入的理解,就必须具备十分扎实的基础和熟练的操作[1]。C语言和C++语言两者之间最大的不同之处就是其解决问题的思想和方法是存在差异的。具体来说,C++语言能够把面向对象可以接触的内容扩展,不仅如此,C++语言当中具备十分丰富的设计概念,比如数据包封对于C++语言来说都是十分常见的。C语言与C++语言虽然在解决问题的思想和方法上是不同的,但如果能够将这两种编程语言可以有效地结合在一起,就能够发挥出很大的功能。 1.2计算机中的JAVA编程语言 现阶段的JAVA语言在计算机当中可以说是具备十分广泛的用途,和计算机编译执行语言与解释执行语言两者相比,JAVA语言还是存在一些不同之处的。JAVA语言拥有面向对象以及可跨平台的特点,不仅如此,JAVA语言中还包括简单、分布式性能高等优点,其能够把一个强大语言当中的全部功能都提供给计算机运用[2]。不过JAVA语言对于运行的条件也是相对严苛的,还有就是JAVA语言在桌面程序开发中的运用效率也相对较低。 1.3计算机中的C#编程语言 C#语言作为一种计算机编程语言,其拥有简洁、安全、精确等优点,其面向的对象大多是数据的处理,这也是因为微软将来的发展方向,其将会集中在分布式应用程序。具体来说就是在客户计算机以及服务器上把处理的过程一起,因此C#语言的研发针对的就是使应用程序方面的问题。相比JAVA语言,C#语言存在一定不同之处,其并未把指针以及手动内存管理完全抛开。不仅如此,正是对C#语言的不断研发,相关经验得到了大量积累,最终诞生了.net平台。 2如何对计算机编程语言做出合适的选择 在计算机软件开发当中,编程语言的使用范围其实是不确定的,这些编程语言都可以进行有效的结合,从而形成软件系统,可以说这些编程语言充满了各种可能性。不过,要想达到如此要求,其关键前提就是软件工程师必须对这些编程语言有着十分深入的理解和掌握[3]。不过,这些编程语言却是存在共同之处,这就类似于各种语言之间也有一定的相同之处。因此,软件工程师可以先对一种编程语言进行熟悉和掌握,这样其对于其他编程语言的掌握也会变得更加容易。 2.1选择编程语言时要对整体内外环境进行考虑 在软件开发的过程当中,其前提便是需要具备足够的硬件环境,因此,必须对软件开发的硬件环境加强重视,在编写程序时,选取合适的编程语言也是十分关键的阶段,需要对语言的分布选取进行有效的确定,还需要将编程语言的环境适应力以及整体框架考虑进去。在选择合适编程语言的过程中,应该尽量结合行业以及使用范围的要求[4]。一般而言会发生编程语言现在符合环境,但如果计算机设备进行更新,软件也会发生不适用等情况,如此便会导致计算机无法正常的使用。因此在开发软件程序前,必须选取和软件整体内外环境相匹配的编程语言,如此才可以让最终编写好的程序能够跟上科技发展的步伐。不仅如此,选择好的编程语言还需要具备容易调整等优点。 2.2选择编程语言前要对应用的行业和领域进行考虑 在选取编程语言之前,还需要针对各种影响因素展开深入的分析,在其中第一个要思考的问题就是编程语言应用的行业以及领域,可以从编程语言应用行业与领域的差异,对不同类型的编程语言特点进行相应的结合运用,之后再选取符合软件开发的编程语言编写。比如,若是软件开发其针对的是底层行业,其程序编写就可以选取C语言以及C++语言。由此可见,编程语言应用领域的不同也对软件开发产生很大的影响[5]。 2.3选择属性的编程语言进行使用 计算机是根据相关编程语言编写完成的程序运作的,因此,在计算机软件的开发当中,相关工作人员需要运用自身熟练的编程语言来进行编写。若是工作人员不用自己熟练掌握的编程语言编写,就会导致工作人员编程时间的增加,不仅如此,在编写程序的过程中,编程人员也会因为编程语言的不熟练而十分的吃力。人们在使用计算机的过程中,还需要输入相关的编程语言从而对计算机相应指令,之后就可以在相应的平台上利用编程语言的优势来操控计算机。除此之外,在软件的开发当中运用熟练掌握的编程语言,可以对自身熟悉的编程语言进行一定的创新,这样就能够让编程语言变得更为灵活,从而提升软件开发的效率。 3结语 随着信息化时代的不断深入,计算机在社会各行各业中发挥的作用也越来越大,作为社会中应用极为广泛的电子设备,其已经逐渐成为了人们生活、生产中的重要组成部分。本文对计算机编程语言中的C语言、C++语言、Java语言、C#语言的特点以及应用范围展开分析,除此之外,还掌握了一些编程语言在软件开发当中的使用规则。计算机就是根据编程语言所编写的程序运行的,编程语言的选取对于计算机软件开发有着很大的影响。因此,需要结合计算机软件开发的需要,选取合适的编程语言,不仅如此,还可以采用已经熟练掌握的编程语言。 参考文献: [1]张闻其.探究计算机应用软件开发过程中不同编程语言的影响[J].信息记录材料,2018,19(1):89-90. [2]成孝俊.不同编程语言对计算机应用软件开发产生的影响研究[J].电子技术与软件工程,2017(20):57-58. [3]周公平.不同编程语言对计算机应用软件开发的影响研究[J].无线互联科技,2017(15):44-45. [4]司马大伟,李超玲.分析不同编程语言对计算机应用软件开发的影响[J].电脑编程技巧与维护,2017(15):13-15. [5]周俊威.编程语言对计算机应用软件开发的影响[J].电子技术与软件工程,2017(7):57-58. 作者:戈健 单位:机械工业苏州高级技工学校
煤炭类论文:煤炭类高校软件人才培养的研究 摘要:随着我国煤炭工业信息化建设速度的加快,煤炭行业信息化人才需求也不断加大。而目前针对煤炭行业软件人才培养的高校则较少。因此,加强煤炭行业软件人才培养的研究是解决问题的关键。 关键词:煤炭行业;软件人才;培养 0引言 随着信息产业的发展和社会信息化程度不断提高,现阶段我国对信息技术人才的需求日益增加。尤其是煤炭行业性较强的传统工业,如何摆脱长期落后的半手工半机械化的作业方式,实现全面信息化生产方式的跨越式发展,信息类人才是关键,尤其是软件人才。按照国际合理的软件人才结构比例进行测算,今后全国计算机应用专业人才的需求每年将增加百万。软件人才大量需求为特色性学院专业建设和发展提供了空前的机遇,同时也带来挑战:如何培养适应行业性信息产业最新发展需要、具有扎实的知识基础、实践能力强、勇于创新的软件人才将成为学院专业建设和人才培养面临的主要问题。 1煤炭行业的信息化需求分析 为加快煤炭工业企事业单位的信息化进程,自上世纪末,国家就构建了煤炭行业信息化建设的相关战略规划。经过多年的努力,目前相对于其他行业来说,煤炭行业信息化水平仍然处于比较落后的现状。总的来看,目前我国煤炭行业信息化需求处于不断探索发展的快速成长期,多数煤炭企业还处于利用因特网开展电子商务的层次,而对于工艺设计和生产过程的自动化、利用计算机内部管理系统化的层次只是大型上市公司才能达到的。因此近年来,国家及各地方有关部门出台了市场化改革、淘汰落后产能、兼并重组、安全生产、节能减排、两化融合等一系列与煤炭密切相关的政策措施。这些政策的贯彻和落实,要求信息化从中发挥重要作用。 可见未来我国煤炭行业信息化需求发展空间是巨大的,尤其是采矿信息化、安全监测监控信息化和生产调度指挥信息化、矿井综合自动化和管理系统信息化。由于煤炭行业自身的特殊性,因此信息化建设发展滞后的原因是多方面的,但主要原因在于相关行业类信息化人才的匮乏。2000年前后几年,煤炭行业不景气,计算机的大量人才流失,尤其是既懂计算机又精通业务知识的复合型人才的流失,加之缺少新进专业人才,企业自身也未看到计算机和网络技术的发展对企业生产经营管理带来的极大挑战,不注重相关人才的储备和培养等诸多原因,形成了信息化人才短缺的局面。可见,未来煤炭行业迫切需要高校大量培养一批熟悉软件工程技术,具备软件系统分析、软件整体开发设计和项目管理能力,实践能力强并具有一定矿业专业知识的复合型、应用型高级软件工程技术人才。 2煤炭行业软件人才培养的原则 2.1以市场需求为导向的原则 高校培养的人才能否受市场欢迎,是学科专业建设、人才培养改革的根本。因此作为行业性特色明显的信息化人才的培养,应立足于煤炭行业信息化对人才的现实需求为导向,走企业、高校、IT公司三方联合运作的人才培养模式。确保软件人才的培养质量高,满足企业发展的现实需求,尽可能的缩短与煤炭行业信息化需求之间的差距和磨合期,实现校企人才培养的无缝对接。 2.2以煤炭生产+企业信息化双重人才为标准的原则 目前煤炭行业信息化水平低的主要原因是对口的信息化人才严重匮乏,因此矿业类特色高校信息化人才培养应凸显行业特色,即煤炭生产专业基础知识扎实、煤炭企业信息化知识面宽,软件开发、软件项目管理等计算机知识突出的综合型人才。该类高校在专业培养方案的制定、课程体系设置等方面,应打破目前一些高校软件工程专业课程框架体系的限制,在保证软件工程核心课程的基础上,大胆的进行裁减、调整,并在公共课程设置上适当增加煤炭类主干课程。确保培养出的学生既懂煤炭生产方面的知识,又懂煤炭生产信息化方面的知识。 2.3以实践操作能力强、煤炭行业信息化管理知识扎实的应用型人才为原则从近年来企业对软件人才反馈的信息看,目前我国许多高校培养的软件人才,主要存在实践动手操作能力较弱,自我适应能力差等不足,因此难以胜任煤炭行业软件开发等方面的工作,甚至需要企业很长时间的强化培训才能适应。可见,煤炭类高校软件工程专业人才的培养,应以培养实践操作能力强、熟悉煤炭生产信息化需求方面知识的应用型人才为专业建设原则。加强学生实践能力的训练和煤炭企业生产一线的锻炼,才能提高学生对我国煤炭生产存在的问题和信息化进展主要障碍的认识,才能保证煤炭类软件人才培养的质量。 3煤炭类软件人才培养的具体思路 根据当前煤炭行业信息化人才需求的现实分析,目前各大煤炭企业急需“应用型”人才,即具备煤炭生产、制造专业知识、又具备计算机系统应用、开发、管理知识的信息化人才。所以,如何充分融整合计算机专业与矿业类专业的特点,培养具备煤炭行业信息化领域软件系统开发和管理能力的交叉型复合人才,为煤炭行业输送一批煤炭专业的信息化专门人才,应是我们矿业类高校把握高等教育办学机制、管理体制改革的历史机遇。为此,根据矿业类高校办学水平和实力,我们以中国矿业大学(北京)为例,就如何培养矿业类软件人才提出构想,为进一步推动各矿业高校加快软件人才培养提供借鉴。 3.1人才培养目标定位与基本要求 煤炭企业信息化建设面临困难众多,煤炭勘探、开采等领域也需要许多专业化的系统软件。而这些系统软件的开发、使用、维护都需要既懂软件开发、设计又懂煤炭生产的专业人才。此次人才培养构思的宗旨,就是解决培养既能从事煤炭企业信息化软件开发、又能从事煤炭开采等软件开发工作的高级应用型复合人才。 具体培养目标:面向煤炭行业信息化建设和发展的需要,德、智、体、美、劳全面发展,具备软件工程技术与软件工程管理相关的经济、管理和法律等基本知识,获得工程师基本训练,具有一定的实践能力和创新能力的、高层次实用型、复合型软件工程技术和软件工程管理人才。 具体业务要求达到: (1)坚定的政治立场;拥护党的基本路线、方针和政策;热爱祖国,遵纪守法,具有良好的职业道德和创业精神,积极为我国煤炭行业建设和发展服务。 (2)掌握软件工程领域扎实的理论基础和宽广的专业知识;具有很强的工程实践能力,具备运用先进的工程化方法、技术和工具从事软件分析、设计、开发、维护等工作的能力。 (3)具有阅读工程管理专业外语文献的基本能力。 (4)具备软件工程项目的组织与管理能力、团队协作能力、技术创新能力和市场开拓能力。 学生通过软件工程知识课程、煤炭行业知识课程、人文知识课程、理论与实践结合的课程学习,将成为专业(软件、煤炭)基础知识扎实、实践能力强、创新能力高的复合型人才。本专业将通过课堂教学、校内实训、企业实践紧密结合的培养途径,尽量缩短毕业生与社会需求之间的“磨合”期,力争培养出满足煤炭行业信息化实际需要的、综合能力强的复合型、应用型人才。 3.2人才培养模式――突出煤炭企业软件人才的特色 总体来说,我国煤炭企业的信息化水平相对落后,需求缺口很大,这是我校实施软件工程人才培养的重要性所在。因此我们依托中国矿业大学在煤炭行业的资源优势,其软件工程项目优势主要集中于煤炭企业生产和经营的各类管理软件系统,通过加强与煤炭企业集团的横向合作,针对煤炭系统信息化建设将是我校创建软件工程人才培养的一个突出特色。即通过组建现代化的产-学-研基地,利用集基础理论研究、技术开发与技术转移于一体,直接面向我国煤炭系统,把研究成果应用于煤炭行业信息化建设,并从中获取优厚回报,产生实际效益。通过鼓励国家、学校、社会、企业的多方参与,推动科研成果向现实生产力的转化,加速人才、科技与煤炭经济的结合,提高矿业类大学在煤炭企业信息化过程中的参与度与渗透力。 3.3课程体系设置――突出煤炭专业特色 软件工程专业的学生毕业后面临两种选择:就业或继续深造,且大部分毕业生最终将就业,从事软件工程相关的工作。就业的各种职位决定了对相应知识点的要求,从而也决定了课程的设置和教学大纲的确定,针对煤炭类软件人才培养定位,课程体系应注重煤炭生产等相关专业基础课程的设置。以煤炭类课程模块、计算机、软件工程专业课程模块、方向性选修课程模块进行主干课程排列组合。确保学生掌握煤炭生产、煤炭行业信息化的关键知识点。 4展望 4.1取得人才培养的社会、经济效益 当前,我国软件工程专业教育正在探索,煤炭类高校设置软件工程专业,不仅可为煤炭行业的信息化和我国软件产业的发展奠定良好的人力资源基础,而且也为高校履行高等学校的教学、科研和社会服务三种职能拓展了更加有效的途径,可创造出良好的社会效益和巨大的经济效益。这对于缩短我国与国际软件教育水平的差距,为社会提供大量紧缺人才,促进我国软件产业的发展,提高煤炭行业整体的信息化和自动化水平,均有重要意义。 4.2利于形成学研产结合、校企联盟的煤炭行业软件人才培养模式通过软件工程专业建设,必然要把产学合作作为培养应用型软件人才的切入点和突破口。通过构建开放式的教学模式,积极引进社会和企业界优质教育资源,采取主动请进来的办法,聘请企业界著名专家、高级软件工程师或高级技术人员和管理人员到校为学生开设专业教育、专业讲座或讲授某些技能型课程。同时实习实训基地以多种形式与IT企业紧密合作,突出以企业实际项目训练为主线,结合辅助授课、案例分析和实用讲座等多种学习形式,以企业项目经理、技术总监、有经验的软件工程师为指导团队,着重培养学生团队协作能力和工程实践能力,以真实的企业项目、真实的企业环境、真实的企业化管理为基础,培养真正的实用型、复合型高层次软件人才,这样必然形成了校企联盟的人才培养模式。 4.3能够取得高显示度的研究成果和推动煤炭企业信息化进程通过组建软件学院和软件专业建设,必然要引进一定高水平的软件科研人才,打造学术团队,这样在实时监控软件、ERP产品、OA系统、生产调度等管理软件产品;矿床数字化模型、工程设计、地压管理、开采过程模拟、GIS软件等领域完全可取得一批高显示度的研究成果,开发出在煤炭企业中有影响力的软件产品,无形中加快了我国煤炭企业信息化的进程。软件成果或产品的传播和推广的同时提高社会对煤炭类高校人才的关注度,从而提高煤炭类高校的竞争力和美誉度。 煤炭类论文:煤炭将成为能源类贷款组合的风险触发点 今年一季度,电力、钢铁、有色、建材、石油加工、化工等六大高耗能行业平均增速达20.6%,这个速度高出了规模工业增速。钢材、氧化铝、铝材、铁合金、10种有色金属等原材料产品产量分别增长26.2%、53.7%、43%、44.4%和30.8%。 上述行业具有建设周期长、资金需求较高的特点,银行信贷资金在其中起到了决定性作用,这一现象在西北地区体现得尤为明显。在陕西省某商业银行已审批贷款的总量中,能源产业占比为32%,而出具贷款承诺函和意向书的总额中,能源产业竟占到70%。对于这一与国家对能源产业“可持续发展”的金融政策相背离的趋势,央行《金融时报》表达了担忧。值得关注的是,这种担忧甚至超越了信贷资金安全的范畴,聚焦到对“十一五”节能减排任务和国家经济结构调整的消极影响上。 从产品附加值和企业偿债能力的角度看,不难解释商业银行对于这些高耗能产业的青睐。况且将贷款沿着产业链向下分布,理论上还可以接近“封闭运行”的效果,也算是规避系统风险的优选策略。但如果注意到电力、冶金、建材和化工行业的共同特征――它们是最重要的煤炭消费行业,煤炭作为能源类贷款组合风险触发点的特征已经非常清晰。目前在煤炭总需求中,电力约占54%,建材约占15.57%,冶金约占12.81%,化工约占5.99%,四大行业约占中国煤炭总需求的88.7%。事实上,无论从需求还是政策层面,煤炭对于中国经济、下游行业和银行信贷风险分散能力的重要性,都处于不断上升的过程中。 从长期的角度看,如果原油价格继续在高位盘整,甚至还有上升的动力,能源结构势必发生显著的变化。尽管天然气、乙醇等替代方案具有清洁、环保的独特优势,但考虑到成本,最先体现这一变化的未必是回报率并不明朗的新能源。 根据美国能源情报署5月下旬的《2007国际能源展望》报告,煤炭将是世界上消费增长最快的能源,平均年增速将达到2.2%。作为全球最大的煤炭消费国,中国煤炭消费规模已达到美国的2倍。2005年,中国煤炭产、销量分别占亚太地区的66.43%、64.74%;占全球煤炭产、销比重分别为37.4%、36.9%。可以预计,全球能源结构调整的趋势必然在中国明显体现。而国内目前的重化工工业特征和资源结构决定了煤炭需求的刚性,这已经表现在不断增长的煤炭产、销量上。 由此可见,煤炭作为统筹解决资源、环境和投资问题的重要抓手,是有关部门实现多重调控目标的基础。根据近日的《中国应对气候变化国家方案》,到2010年,我国单位国内生产总值能源消耗将比2005年降低20%左右,并力争使工业生产过程的氧化亚氮排放稳定在2005年的水平。 尽管在能源消费中增加环保成本是全球范围内的总体解决方案,但2006年万元GDP能耗和主要污染物排放两个目标均未完成,显示仅依靠关停产能和推进排污处理设备建设的方式,难以达到理想目标。在此情况下,通过加强对煤炭的控制,来增加高耗能产业的运行成本,遏制一次能源的过度使用,不失为一种可选方案。 从神华、兖矿集团近期卷入的“煤制油项目被叫停”传闻可以看出,煤化工在环保、水资源等方面压力越来越大,很可能成为今后的政策焦点。类似火电项目的“上大压小”或“有保有压”,是地方政府和商业银行在扶持煤化工产业中必须面对的难题。 发改委经济运行局曾经指出,目前包括新建、改扩建、技术改造和资源整合在内的全国煤矿在建规模高达11亿吨左右,已接近去年全国近半的煤炭产量。在如此巨大的产能扩张背后,对应着以煤炭为主拉动产业链的发展模式。在许多地区,电力、冶金、煤化工等高耗能项目的先决条件,都是对煤炭资源的跑马圈地。换句话说,制止了对煤炭产能的投资冲动,才能最大限度达到对下游行业的调控效果。 我国煤炭产业的布局是,生产地集中在中西部,煤炭主消费地又在沿海和东部地区,巨大的坑口和消费地价差,意味着运输成本属于产、销之外的又一关键因素。从另一个角度看,这也是制约消费地经济布局的客观条件。数据显示,4月份主要港口煤炭发运3187万吨,同比增长7%;煤炭铁路运量完成9808.6万吨,同比增长7.2%。随着以铁路为主的物流条件的改善,运输这一成本约束有弱化的趋势,使得煤价本身越来越多地承担了“调控”的角色。 煤炭在能源结构和国家资源战略中的地位不断提升,已经成为能源类贷款组合中难以回避的环节。在西部地区经济重心逐渐向资源开发调整,但中央实现节能减排目标的决心已经明朗的复杂局面下,商业银行如何规避能源产业链面临的系统性风险,在一定程度上取决于对煤炭在贷款组合和贷款协议设计中的把握能力。 如果能够借鉴基础设施建设中较为普遍的银团贷款方式,无疑可以最大限度地分散风险。否则,银行需要上调煤炭资产在产业链中的比重,并在下游行业的贷款计划中对煤矿资质和煤炭储量作出明确要求,或对于采购成本和合同的执行情况设计相应的负面条款。 为了对冲煤炭价格长期上涨的风险,银行应在组合中尽可能包括煤电一体化或交叉持股、联合出资的项目,收缩对于下游用煤行业的贷款规模。对于非煤炭产区的消费企业,是否签订长期供货合同应该成为信用风险评价的重点。 在具有技术风险的煤化工领域,项目回报能力的底线在于配套煤矿的盈利能力。从平煤与蓝天集团的合作,以及神华与伊泰集团的竞争来看,只要双方能够形成互补,国企和民企之间的利益可以统一。如果双方形成直接竞争的态势,民企在煤矿资源获取上处于不利的位置。 如果地方经济规划被迫将利润在产业链中合理分配,以平衡地方经济发展和国家政策的双重压力,目前正在进行的省级产业重组可能为将来的政策导向、执行力度发出了信号。未能进入这个代表了地方相关产业主要经济利益实体的企业,意味着巨大的资源利用和环保双重支出将难以避免,是银行信贷应该尽量回避的环节。 笔者认为,在资源价格、节能政策、环境压力和新技术应用的交叉压力下,煤炭作为调控重心和信贷风险触发点的双重地位已经确立。对于煤炭产区的相关银行来说,对中央和地方政府产业结构调整的敏感性、信贷比例向煤炭行业的倾斜程度,以及对于下游行业要求风险补偿的能力,将成为检验贷款组合风险管理成效的试金石。 (作者为安邦集团研究总部分析师) 煤炭类论文:我国煤炭类上市公司经营绩效实证研究 摘要:煤炭工业在我国经济建设和社会发展中具有举足轻重的地位。因此,对其上市公司经营业绩综合评价显得日趋重要。本文运用SPSS18.0软件, 基于2011年度的财报信息,对煤炭行业上市公司10个主要财务指标进行了因子分析,从中提取出具有一定含义的因子, 评价了公司的综合经营业绩。评价结果可以为投资者投资、择股提供帮助, 并为上市公司的经营决策提供一定的决策依据。 关键词:上市公司;经营绩效;煤炭行业;因子分析 煤炭是我国的基本能源和重要原料,中国的煤炭具有资源储量多,分布广,品种较全的特点。它不仅是燃料动力的主要来源,也是重要的化工原料和民用能源,煤炭工业在我国经济建设和社会发展中具有举足轻重的地位。因此,对其上市公司经营业绩综合评价显得日趋重要。 一、文献综述 绩效评价是从开始发展到现在有了几百年的历史,随着各个阶段的经济发展水平该绩效评价水平也在不断发展。绩效评价理论最先被西方国家研究并发展,资本主义国家对企业绩效评价更加注重,所以对其研究也比中国深入。Markides、Wiiliamson对战略资产、核心能力与企业绩效的关系进行了研究,提出了企业业绩评价时应注重对战略资产的评价,并设计了战略指数来具体进行评价。彼得说过管理是建立在评价的基础之上的。杜胜利针对传统的财务性绩效评价体系偏重于对企业过去经营成果的衡量,提出对这些成果做出某些战术性反馈,以控制企业的短期经营活动,为综合的经营业绩评价提供了依据。张蕊探讨了企业战略经营对企业业绩评价体系的挑战以及企业战略经营业绩评价指标体系框架和指标体系的设置,其中着重探讨了企业非财务层面评价。马璐对企业战略性绩效评价系统的理论构架及评价指标体系进行了系统的研究。综合上述国内外评价方法,早期的企业经营评价由简单计算方法、简单指标。对于绩效评价的研究,国外现有的成果已经形成较为完整的理论体系和方法体系,特别是现在应用比较成熟的平衡记分卡和经济增加值等绩效评价模型在全世界很多国家都比较盛行,而且其应用也取得了一定的成效。相比较而言,我国的绩效评价理论起步比较晚,而且基本都是借鉴国外的一些先进理念,探讨其在我国特有国情下的适应性和可行性。而且国内对于资产与企业绩效方面的研究还不很全面,主要集中于对资产重组、资本结构以及公司治理结构与企业绩效的分析,没有从资产的各个方面对其与企业绩效的关系进行总的评论。 二、我国煤炭类上市公司经营绩效实证研究 1.样本的选取 我国煤炭类上市公司在沪深交易所上市约有35家,本文选取以18家煤炭类上市公司作为研究样本, 利用因子分析法,对2011年财务报表数据进行了综合评价。本文原始数据均来源于新浪财经,采用SPSS18.0软件和Excel进行统计。(见表1) 三、结论及建议 本文通过简化数据指标体系总结出公司的综合影响因素,根据计算的最终结果,找出不同公司之间的比较优势所在,有利于各煤炭公司取长补短,发挥企业的特长。在分析数据结果的过程中发现,18家煤炭上市公司的10个因子得分都存在负值,这就说明每个上市公司都存在不同方面的较为严重的问题。要提高我国煤炭上市公司的经营绩效,从以下三个方面加强煤炭上市公司的管理。 1.加速资产的合理流动 由于资产的质量具有相对性,加速资产的流动,可以使一部分劣质资产变为优质资产。比如对企业闲置的厂房和土地应首先考虑其增值的潜力,如果增值潜力较大,可考虑对这部分资产进行出租和以资产参资入股的方式进行投资,以增加企业的资金流入。一旦流动比率增加,就能提高煤炭类上市公司的资产偿债能力。 2.加强存货周转率 对企业闲置的积压物资和废旧物资进行统一处理,增强这部分资产的变现能力,从而将物资管理向价值管理转化,使存量资产变现为资金注入企业的生产经营活动中,提高企业的经济效益。 3.加强应收账款管理 由于经济环境的影响,企业之间欠款现象较为严重,那种靠应收账款带动销售的办法会将企业引入资金恶性循环的误区。企业应采取老账逐步清理,新账不能再欠,销售必须现款交货的办法,并及时召开应收账款分析会,通过落实清欠责任制,强调谁造成的欠款,负责清欠,制止不负责任欠款的发生。 煤炭类论文:煤炭类上市公司资本运营探讨 摘要:近几年,煤炭企业正处于组织结构调整、跨地区扩张兼并和体制改革的关键时期,提高资本运营能力不仅迫切而且极为重要。本文以煤炭行业上市公司作为研究对象,从煤炭类上市公司的优势特征、资本运营的必要性及在资本运营中遇到的问题,进行剖析研究,以期能够从理论和实践上使大家对资本运营对煤炭企业的重要性、迫切性有更深的认识。 关键词:煤炭企业;上市公司;资本;运营模式 一、煤炭类上市公司的优势及特征 (一)股本规模庞大 目前证监会煤炭采选业27家上市公司股本平均数为254042.85万股,明显高于深沪两市平均股本173587.93万股(2011年10月31日数据);对于基金等大型机构投资者来说,巨大的股本可以增加投资的流动性,减少兑现成本。 (二)煤炭类上市公司具有很强的行业代表性 目前我国煤炭采选行业上市的27公司,都是大型的煤炭企业,而且煤炭主业鲜明且突出。具有很强的行业代表性,可以说这27家煤炭上市公司的业绩表现基本代表了我国煤炭行业的业绩表现。是煤炭行业的“晴雨表”。 (三)煤炭上市公司业绩优异,是明显的蓝筹股 目前的煤炭类上市公司是煤炭行业中的优秀公司,近年来煤炭板块上市公司整体业绩明显好于整体A股上市公司业绩的平均数。2011年前三季度煤炭行业上市公司收入合计同比增长40.8%,归属母公司净利润合计同比增长18.3%。煤炭行业的盈利能力、偿债能力仍处于行业领先水平。 (四)未来集团公司优良资产注入、整体上市的可能性较大 目前煤炭行业上市公司基本上都是分拆上市,煤炭上市公司与集团公司之间的关联交易较多,未来集团公司对上市公司的资产注入以及上市公司的定向增发收购集团优质资产从而实现整体上市的可能性很大。 (五)煤炭股走势具有很强的趋同性 由于煤炭公司盈利模式趋同。股价随煤炭价格走势也趋同。因此在没有其它特殊事件(例如重组并购、意外事件等)发生的情况下,煤炭板块股票价格走势也是趋同,是明显的同涨同跌趋势。 (六)煤炭上市公司国际化步伐加快 近年来,中国煤炭企业不断加快“走出去”的步伐,煤炭企业海外煤炭资源开发的力度也不断加大。神华继成功在澳大利亚、印尼等国获得煤矿开采权之后,近期又获得塔本陶勒盖煤矿西区40%的股权;兖矿集团以33亿澳元资本收购菲利克斯公司100%股权:开滦股份注册成立加拿大中和投资公司,开发加拿大优质焦煤资源。 二、现代煤炭企业实施资本运营的必要性 我国最新公布的煤炭工业十二五规划称:“十二五”期间,计划新开工煤矿建设规模为7.4亿吨/年,到2015年煤炭生产能力为41亿吨,产量控制在39亿吨。“煤炭是我国的主体能源,在一次能源结构中占70%左右。未来相当长时期内,煤炭作为主体能源的地位不会改变。煤炭工业是关系国家经济命脉和能源安全的重要基础产业。 本次煤炭“十二五”规划一个重要特点就是继续坚持推进煤炭生产的集约化、大型化。规划指出。我国将继续推进煤矿企业兼并重组,将目前8000家以上的煤矿企业数量控制到4000家以内。大型煤矿的产量要占全国约60%,全国煤矿数量减少到1万家以下。 国家发改委指出。煤炭生产的集约化需要进一步深化国有煤炭企业改革,推进煤炭企业股份制改造,支持大型煤炭企业上市融资、发行债券:积极推进投资主体多元化。鼓励非公有制经济参与煤炭生产开发,引导非公有制煤炭企业实施产业升级改造;重点支持煤炭、电力企业联合重组,鼓励企业参与运煤通道建设,促进煤电运一体化经营。 继续推进大型基地建设、组建大型煤炭企业集团和淘汰落后产能将给大型煤矿企业带来外延式扩张的发展机会。煤炭企业的做大做强,将有利于降本增效,有利于企业掌握价格的话语权,同时还将给内地的大中型煤炭上市企业带来新的投资亮点。这就要求煤炭企业对资本进行优化重组,盘活存量资产,改善资本结构,多渠道融集资金,稳固煤炭主体,多元化发展。 三、煤炭类上市公司资本运营存在的问题 (一)对资本运营的认识较片面 具体表现为:一是筹集资金作为资本运营的主要目的,为上市而上市。二是片面追求规模。对并购对象缺乏理性分析和客观评估。三是脱离主业盲目实行多元化经营。 (二)政府干涉较多 主要表现在:煤炭企业自身的资本运营听从于政府的意愿,服从于政府对资本运营的支持力度。这种现象在国有企业中相当普遍,虽然政府的干预在某种程度上也会起到促进作用,但总的来说,它影响了资本运营的效率。 (三)产权界定不清 从国有企业改制而来的上市公司,有相当一部分是流于形式的,并无实质性改进。他们依然执行政府部门的职能,而非真正的主体。上市公司的管理层仍由国有母公司说了算,而往往忽视了小股东的利益。这种情况在煤炭类上市公司中尤为突出。 此外煤炭类上市公司的控股股东多为国有企业,这些煤炭企业特别是国有老煤炭企业承担了大量的社会职能且人员多。这已经成为企业在资本运营中不可忽视的问题,这需要政府部门在政策以及资金上给予大力支持。 四、提升企业自身资本运营能力的途径 (一)合理选择资本运营方式 在我国煤炭类上市公司的资本运营中。大部分企业在资本扩张过程中也存在盲目多元化的弊端。为实现企业资本的有效运营,应根据企业资本运营的实际情况,合理选择适合自己的资本运营方式。且在不同的时期应选择不同的运营方式。 (二)建立有序的资本扩张机制 在资本扩张中应该注意以下几点:一是资本运营过程中资本扩张应重在存量盘活,而不是搞重复建设。二是资本运营应注意无形资产的运营。三是目前大多数煤炭企业的固定资产大于流动资产。存量大于流量,资产负债率和净资产率都很低,通过相应的提高企业的资产负债率等手段,有效地达到规模经济和市场规模的统一。 (三)拓宽企业筹资渠道;提高融资效率 一是深入优化股权结构,完善公司治理机制:二是优化融资结构,根据市场环境及所投项目选择合适的融资方式及融资规模,实现融资结构的多元化和资金使用的高效性。三是加大公司内部在募集资金投资项目和投资效益等方面的审核力度。慎选项目。科学评价。 煤炭类论文:生涯辅导理念下煤炭类专业大学生就业指导对策探究 摘要:煤炭类专业具有很强的行业性,此类专业大学生就业也呈现出区别于其它专业学生的显著特点,依据这些特点,从大学生职业生涯发展的视角开展学生的就业指导工作必将取得成效,文章在深入分析煤炭类专业大学生就业特点和生涯辅导现状的基础上,提出了针对煤炭类专业大学生进行职业生涯辅导的实施策略。 关键词:煤炭类专业大学生生涯辅导对策 随着世界经济全球化进程和我国市场经济的快速发展,在当前社会一些不良思潮的影响下,部分大学生的价值观被扭曲,在专业选择、就业观念等方面带有明显的急功近利倾向。他们更注重眼前利益,在价值观上呈现一种价值取向功利化、价值目标短期化、价值主体自我化的特点。另一方面,伴随高等教育管理体制的改革和毕业生就业方式的转变,也使我们认识到大学生进行合理有效的职业生涯规划具有重要的意义。煤炭类专业大学生由于专业的特殊性,开展职业生涯辅导应充分结合行业特点和大学生心理特征。 一、生涯辅导理念的提出 职业生涯辅导(Careef Guidance)的前身是职业指导,职业生涯辅导是职业指导的新阶段。美国生涯发展协会把职业生涯辅导定义为:“协助个人选择职业、准备职业、获得职业和改进职业的过程。”其中既包括对学校的“潜在职业人”的指导,也包括对社会“现实人”的指导。帕森斯在1908年首次提出“职业指导”这个概念,即帮助求职的个体清楚地了解自己、了解职业、正确选择职业,实现人职匹配的实践活动。萨帕在1951年对职业指导作了全新的定义:协助个人发展并接受完整而适当的自我形象,从而在现实世界中加以检验并转化为实际的职业行为。与此同时,职业指导的内涵也发生着变化:指导的时间范畴呈纵向延伸;指导的内容不断深化;指导的主体性更倾向受指导者。生涯辅导以自我了解、自我接受及自我发展为主,从未来和发展的角度看待个体的一生,使个体能够适应社会的快速变迁,了解社会职业的变化方向,规划和决定个体生涯发展的目标;生涯辅导并非一时的权宜之计,而是个人一生的发展中都要面临的问题;它以发展为主,注重辅导的探索功能,强调个体生涯知识、技能及观念的培养与发展,帮助个体达到生涯成熟的目标,注重辅导与教育的结合。面对激烈的职场竞争和大学生日益高涨的自我发展需求,高校的就业指导工作如果仍然按照旧的模式进行,显然无法适应社会的变化。因而,学校的就业指导需要逐渐从单纯的职业选择纵向延伸到职业生涯发展,不能仅限于毕业时对学生进行升学对策和就业去向的指导和帮助,它更倾向于发展人的个性和生存能力。 二、煤炭类专业大学生就业特点分析 文中所述“煤矿类专业”不仅包含采矿、选矿、煤化,工等专业,也包含地质、土木、电气、机械等具有煤矿行业方向培养特色的专业,这些专业主要集中在矿业特色的本科院校。由于专业性强,相关用人单位对此类专业毕业生的需求量大,使得该类专业就业形势较好,工资待遇也较高,但其专业本身的性质也决定了其从业环境相对艰苦,工作中需要重视安全生产。目前,此类专业的部分毕业生在就业过程中存在以下现象:一是不经斟酌的草率签约后,遇到待遇稍好的单位又急于毁约;二是一些毕业生工作后,总觉得从业环境艰苦或不适应,就选择跳槽或转行,工作存在不稳定性;三是学生选择工作时功利性过强,只看重薪酬待遇,对未来发展及其它因素思考较少;四是部分学生及学生家长对煤炭行业存有偏见,认为工作环境艰苦,有很大的人身安全隐患,所以抵触去煤炭行业就业;五是煤炭类专业的女生在求职时会受到不公正对待,主要原因是煤炭行业适合女性岗位较少,不多的岗位又需留给内部员工用以安置子女,因此,在就业过程中这类专业的女生会不可避免地受到性别歧视,即便是各方面表现优秀的女生也得不到用人单位的青睐。 三、煤炭类专业大学生职业生涯辅导的现状分析 我国职业生涯辅导发展较晚,没有形成独具特色的教育模式,生涯教育正处在探索期和高速发展阶段,学生职业生涯规划意识淡薄,缺少有效的生涯辅导,自我规划意识淡薄,择业时存在很强的盲目性、从众性。 1 选择专业带有一定的肓目性,对专业的认同感普遍较低。据调查显示,高达76.3%的学生在填写升学志愿时不了解自己所要报考的专业,对于报考专业的研究方向、就业前景等一系列相关问题一知半解。许多报考煤炭类专业的学生是考虑到近几年煤炭类专业就业形势好,并未从自身兴趣和发展来考虑就业方向。同时,煤炭类专业的从业环境相对艰苦,学生对煤矿安全存有偏见,许多学生是被调剂到这类专业,并未报考此类专业,这部分学生对该专业的认同感较低,有些学生甚至存在厌学情绪,专业思想不稳定。 2 自我职业生涯规划的意识单薄,生涯规划的知识和技能薄弱。通过笔者对所在高校工科煤炭类专业大学生的问卷调查发现,有33.4%的学生还没有形成自己的职业生涯规划,还有13.5%的学生对职业生涯规划不太感兴趣,其中低年级的大学生占多数。另外,调查中还发现煤炭类专业的学生大多来自农村,贫困生较多,经济压力大。所以他们读大学就是希望毕业后尽快找个好工作,尽快改变家庭现状。这部分学生在就业时把薪酬作为重点考虑因素,盲目签约’而未对自我职业生涯进行长远规划。也有部分学生把职业生涯规划等同于“理想”,表示“买房、买车”是自己的生涯规划,在职业发展路径的设计方面,大学生们同样带有理想主义色彩,较多的学生选择以考取学位和证书作为自己的主要发展路径,也有部分学生把考研或者考公务员作为自己的发展路径。 3 职业生涯辅导缺乏针对性,未形成系统科学的课程体系。目前,我国从事大学生职业生涯辅导的专业人员较少,教育模式多是照搬西方,尚没有形成一套适合国情的、完整的职业生涯规划教育体系,很多高校也是在近几年才开始重视职业生涯辅导。同时,高校职业指导缺乏专业师资人员,更多的是根据自己的经验去教育学生,将自己的意识强加给学生,对学生的职业生涯辅导和咨询等更全方位的服务还没有全面展开,许多大学生接受不到专业的个别咨询和指导,不能从客观现实出发设计自己的职业定位,严重影响学生毕业后在社会中的发展。 煤炭类论文:“产学研”合作:提高煤炭类高职毕业综合实训质量 摘要:针对地方煤炭类高职院校就业日益突出的矛盾,通过调研分析,发现岗位技能胜任能力是影响就业的主要因素。因此,应以“产学研合作”为切入点,加强毕业综合实训,强化岗位技能训练,提高学生就业的竞争能力。本文详细阐述了依托产学研合作提高毕业综合实训质量的方法和途经,通过实践运行,取得了良好的效果。 关键词:“产学研”合作;煤炭类;高职;毕业综合实训;就业 近年来,随着国家对煤矿监管力度的加强和煤矿企业对安全“零容忍性”要求的管理措施加大,使煤炭类高职院校的真实环境下实训成为教学的“瓶颈”,而煤炭类高职院校以培养的高端技能型专门人才得到了社会的普遍认可,但是就业状况不容乐观。其原因是:高职教育中,培养的学生在理论上不能与本科生相比,专业技能又不如技校生,造成“上下夹击”的尴尬局面。具体表现是在相关的工作岗位上胜任能力差。为此,笔者提出了依托产学研合作开展毕业综合实训,以达到强化综合技能训练,增强就业竞争能力的目标。 毕业综合实训质量不高的主要原因 第一,缺乏有效管理措施。各高职院校针对毕业综合实训制定了相应的管理制度,并且都在积极摸索有效管理措施和方法,实际情况是适用性差,制度和措施方法总是滞后于实际的发展变化。首先,对学生完成的毕业综合实训过程考核与质量监控难度大。“2+1”毕业综合实训由过去在固定的教室内进行为期半年的毕业设计或撰写论文的单一工作内容,改为在图书馆、资料室、微机室、实验(实训)室内多地点进行为期一年的多项工作内容,并通过多次修改完善,才能完成任务。工作地点分散、时间跨度大,考核与监控缺失已成为普遍现象。其次,对指导教师的任职资格要求不能按制度执行,其原因是:扩招导致师生比增大,合格的指导教师数量严重不足,而办学经费不足又使教师业务培训缺乏,梯队断档,担任指导的教师知识、年龄、结构趋于老化。为了完成教学任务,只能让不具备指导教师资格的年轻教师担任指导教师,因此不能把握题目的广度和深度,导致质量不高。 第二,指导教师投入精力不足。高校扩招导致师生比例加大,造成教师指导学生的投入不足;“双师型”教师数量短缺,企业兼职指导教师的时间无法正常保证;教师的重视程度不够,教师指导学生好坏与奖惩不挂钩;有些教师自身就没有科研或产品开发等方面的经历,只能指导学生选一些与所学专业和社会实践偏离较远的题目。 第三,学生认识不到位。通过调查发现,有相当数量的学生认为毕业综合实训与就业无关,可应付了事;部分学生将大部分精力投入到了各类资格考试中,另有少部分学生因学分不够无法正常毕业,则用毕业综合实训时间来复习不及格课程;有的专业平时就对学生缺乏解决问题能力的培养,若不能有效进行毕业综合实训,将导致岗位胜任能力差。这种情况在文科专业中尤为突出。 第四,就业时间与毕业综合实训时间冲突。随着求职竞争越来越激烈、高职院校大规模扩招等因素,应届毕业生的就业压力增大,各高校为了提高就业率,学校的就业指导中心在进入第三学年初就着手安排进行不同层次、专业的招聘会。这时正好是毕业综合实训时间,以致学生投入毕业综合实训的时间不够,精力不足。 第五,扩招使生均教学资源和生源质量下降。第一,由于扩招,学校的师资严重不足,教学经费紧张,对教学的软硬件建设产生较大冲击。毕业综合实训已不能按人才培养方案的要求保质完成。第二,因每年可招的生源是一定的,扩招使各高职院校所招的学生不但高考成绩低,综合素质也不高,地方类高职院校更为明显。 第六,毕业综合实训选题陈旧。近年高职院校毕业综合实训所选的题目以验证、论证为主,大部分滞后于企业实际,源于实际应用的很少,并且每年都在重复,导致抄袭现象屡禁不止。另外,选题中毕业综合实训的虚拟题目多,真正服务于生产实际的题目少,缺乏实用性和创新性。 第七,过程与实际、实践相脱离。经调查发现,毕业综合实训普遍存在与生产实际相脱离的问题。这是毕业综合实训质量较低的另一重要原因。如我校在进行教学水平质量评估期间,调研了多所同类院校,调阅了全部毕业综合实训的档案资料,发现只有6%的毕业综合实训项目源于实际,是通过实践并进行了相关的实验得出结果,其余都是由验证性的结论来形成自己的观点。 以“产学研”合作为切入点 构建提高毕业综合实训质量模式 “产学研”合作教育从初期发展至今,其在合作模式、功能和指导思想诸方面都发生了不同程度的变化。以“产学研”合作为契机,开展毕业综合实训工作,第一,能培养学生的学习和工作的积极性以及团队合作精神,能提高创新能力和强化责任意识。第二,可为企业提供具有决策性的建议,协助企业解决生产、技术和质量管理等方面存在的问题。我校本着“联系区域经济更紧密,体现区域特色更明显,服务区域经济更直接”的原则,走实训基地、实习实践基地、就业基地、技术开发与服务基地等相结合的模式道路。 以“产学研”合作形成的实训基地为载体进行毕业综合实训,由学生基本独立完成,校内教师和企业兼职教师对学生的实训过程进行指导,既解决了教学资源不足矛盾,又锻炼了教师的实践能力。同时,为学生就业开辟了新渠道,学生完成毕业综合实训后,可以决定是否到该企业就业。企业通过毕业生完成毕业综合实训质量情况以及考核结果决定是否录用。 (一)“产学研”合作提高毕业综合实训质量的方法 严把毕业综合实训立题关 依托“产学研”合作完成毕业综合实训时,应对题目的立题进行严格审核,尽可能达到“四个统一,一个鼓励”。(1)选题与专业人才培养方案的目标和定位相统一。为了加强专业建设项的工作,我院对煤矿开采技术、煤矿机电、矿井通风与安全等25个主干专业的人才培养方案进行了全面的修订,重申了专业培养的目标,服务面向、知识能力结构,以及毕业综合实训的细化考核指标要求等内容,这是保障毕业综合实训质量的首要任务。(2)选题与“产学研”项目内容相统一。在充分调研以及与企业广泛交流的基础上,整理和总结归纳出企业需要解决的技术、管理上的难题,以及急需或长远规划涉及的问题。同时,充分考虑学校的师资、科研项目等因素,制定出毕业综合实训题目的短期题库和长远规划题库,既可保证“产学研”合作的可持续性,又可保证毕业综合实训选题与“产学研”合作项目内容相统一。(3)选题与教师的科研内容、方向相统一。依托教师承担的纵向、横向课题,支持和鼓励教师的研究题目(特别是在“产学研”合作过程与企业签订的项目或子项目)作为毕业综合实训的题目让学生参与完成。这样,既减轻了教师科研工作量,又能充分调动学生学习主动性、积极性以及培养责任感。(4)选题与就业相统一。根据企业要求和学校政策,支持进行毕业综合实训的学生在即将就业单位完成综合实训任务,企业提供一定的劳动报酬,学生成为“准员工”。这样,学生可提前适应就业岗位。在此过程中,由企业配备的工程师学生进行指导,而学校指导教师在指导过程中,能充分掌握对企业情况,为毕业综合实训内容和题库提供新的内容。同时,能在一定程度上解决学校办学经费紧张、设备不足等问题。(5)鼓励学生提早参加招聘会。积极依托学校就业指导中心在进行毕业综合实训前开办的就业洽谈会,同时结合毕业生家长的社会资源,鼓励和积极支持学生提早签订就业协议。学校出面与用人单位联系,为签订就业协议的学生及时到将要就业的单位进行与毕业综合实训密切相关的岗位实习争取机会,并且争取为学生安排经验丰富的技术管理工程师作兼职导师。实施以学生毕业综合实训为核心的全方位绩效考核,实现学校、学生、用人单位的三方共赢。 煤炭类论文:浅谈煤炭企业机电类人才继续教育开展思路 摘要:机电类人才是煤炭企业不可或缺的核心技术人才,现代化煤炭生产、开采下的机电设备全靠这类人才使用和维护。换言之,机电类人才团队素质的高低将直接决定煤矿生产经营的命脉。伴随着科技的进步和市场竞争的加剧,机电类人才也必须定期优化知识结构,与时俱进,掌握符合现代企业需要的最新知识,才能更好地为企业服务。 关键词:煤炭企业 机电类人才 继续教育 进入新世纪以来,煤炭企业的经营发展陷入了更为激烈的市场竞争环境中,尤其是在企业纷纷改制的情况下,生产技术层面的比拼显得更为关键,作为能源企业,机械设备使用及维护的好坏直接关乎企业生产经营大局。因此,企业要多在机电类人才培养、管理和继续教育方面下功夫。 1、现阶段煤炭企业需要的机电类人才结构 由于机电设备的不断升级改进,目前煤炭企业主要需要的是机电一体化人才,主要包括设备操作、维护、维修和装配岗位。其中,机电一体化设备操作岗位对从业人员的要求相对较低,属于低端劳动力市场。现在从业人员主要包括农民工、中等职业学校毕业生,也包括高职毕业生,随着高校毕业生就业压力的增大,部分本科生也进入该岗位。机电一体化设备操作岗位职工的知识技能,根据具体岗位的不同要求也不同。除了生产产品的专项技术以外,懂一些电子、电工、机械装配等通用知识,基本就能胜任岗位工作。对于自动化程度较高的开采企业,一般要求操作员能对设备的整体结构全面了解,对装置的主要器件如传感器、气缸、各类电机、PLC等能够识别,对器件的工作状态能区别,能根据报警信息处理报警,能对装置的故障类别进行判断。 机电一体化设备维护、维修岗位对从业人员的要求相对较高,对知识、技能、工作经验都有要求。首先这些员工必须对生产很熟悉,对工艺流程清楚,因此,这个岗位的从业人员主要是从操作员开始培养。对学历也相对有较高要求,通常要经过职业院校培养。随着社会整体学历的提升,现在的煤炭企业开始使用本科毕业生从事岗位工作。机电一体化维护、维修岗位属于综合技能型工作岗位,对从业人员的知识、技能和职业素质等要求较高,应该是传统维修电工和机修钳工两个职业的复合和提升。 机电一体化设备装配岗位是指在机电一体化设备制造企业中完成设备的安装调试的工作岗位。机电一体化设备装配岗位在不同企业中分工有所不同。在大型企业中分为机械装配、电气装配、整机联调和销售和技术支持等岗位,在一些中小煤炭企业,只要求员工完成整个装置的安装和调试。机电一体化设备装配岗位一般对学历有一定要求,分工明细企业的技能型员工学历包括中职生、高职生和技校生。这些岗位中,技工学校毕业生和中专毕业生各比例最大,高职毕业生占比重相对较小。但随着职业教育的格局变化,高职毕业生的比例将会逐步加大,与中职毕业生逐步持平。 煤炭企业机电类人才根据岗位的不同,对知识、技能的要求也有所偏重。有偏重于机械装配,能够依照图纸按照安装工艺的要求,达到装配精度完成装配;有偏重于电气安装,能熟练使用机械装配和电工工具,实现电气设备安装,会用专业仪器检查安装效果;高技能的机电一体化装配工,应能完成整机的联调和项目管理,并能完成用户使用培训。 2、新时期煤炭企业机电类人才培养思路 煤炭企业生产经营所需的人才结构已在上述章节予以论述,结合煤炭企业生产经营实际所需的人才技能及不断优化机电类人才知识结构的需要,笔者认为,应以企业学校为依托,从以下几方面着手开展对机电类人才团队的培养教育: 2.1树立符合时代和企业生产经营需要的继续教育理念 要以企业学校为着力点,坚持以科学发展观统领教学工作,聚精会神,一心一意,切实把教学质量抓上去。要号召参与培训的广大干部职工进一步统一思想,提高认识,主动推进,狠抓落实,坚持“教育以育人为本,以学生为主体”,把教学工作作为中心任务;坚持以培养创新型机电人才为重点,下大力气深化教育教学改革;坚持以强化实践教学为着力点,加强实践教学环节,改革实践教学内容,完善实践教学体系;坚持以信息技术的应用作为提高教学质量的重要手段,推进教学方法的改革,加强优质资源建设;坚持“办学以教师为本,以教师为主体”,建立完善有效的激励和约束机制,充分调动广大教师的积极性,发挥教师的主动性,让全体教师都积极参与到改革的实践中来,牢固树立质量意识,将提高质量贯穿于学校工作的方方面面,创造性地开展工作,不断探索提高机电技术人才教育教学质量的新途径。要加大教学投入,强化教学管理,进一步深化教学改革,使教学投入得到更大增长、教学管理得到普遍加强、教学改革得到进一步深化。 2.2加强行业之间交流学习,实施产学研合作 在市场经济条件下,煤炭企业机电类人才继续教育必须符合企业经营发展的需求,立足行业,服务行业,保持与同类或兄弟企业的联系与合作,取长补短,为我所用,面向行业开展教育培训。企业学校必须明确自己在知识创新、制度创新、文化创新、人才培养、社会服务、技术改造等方面的职责,充分发挥自己的作用。在人才培养上,企业学校必须根据行业和地区发展的需要设置专业,确立培养目标和课程体系,选择教学环节和教学方法,建立教学管理制度,完善教学运行机制。只有这样,机电类技术岗位继续教育培养的人才才能适应企业的需要。 企业学校依托行业办学,可采取产学研合作形式,加强企业学校与企业之间的教学、科研、生产实践结合。一方面,学校可以在与专业相关的生产实践单位联合建立生产教学校外实习基地。让参加培训学习人员更多地了解行业的发展动态,切身体验生产、管理和服务的实际运作情况,培养参训人员的操作技能。另一方面,学校也可以从企业聘请有实践经验的机电技术人员进入学校,将生产一线的信息带到课堂中来,提高参训人员学习的兴趣。同时,鼓励教师和学生面向企业,面向生产,直接参与技术开发、技术转化与技术改造,促进科研成果转化,促进煤炭企业生产的新发展。 煤炭类论文:提高煤炭类国企员工个人绩效考核工作的建议 摘要:由于受国企自身体制以及我国目前市场经济发展进程等因素的影响,我国国有企业在员工个人绩效考核方面存在诸多问题。对此,本文运用相关原理进行了分析与探讨,并提出了相应的对策和建议。 关键词:企业 绩效考核 建议 一、煤炭企业员工绩效考核存在的问题 目前煤炭企业在绩效管理中仍沿用传统的、以经验判断为主体的绩效考核手段,员工的收入与其贡献大小不成比例,不同程度地存在平均主义,从而使企业的激励体系缺乏针对性、公平性和导向性,不能有效地促进员工个人目标与企业战略目标的协调统一。我国煤炭企业员工绩效考核体系主要存在如下缺陷: 1.理论浅薄,缺乏系统性。多数煤炭国企计划经济时代的影响仍未彻底根除,不仅没有建立完整的绩效管理体系,在绩效考核层面,也还是停留在作为一项普通管理行为的认识上。未能从人力资源管理的宏观角度,全面学习了解绩效考核以及绩效管理体系的概念,自然也不能与企业整体发展战略及人力资源开发管理工作实现有效“链接”。 2.指标设计不合理,考核方法粗糙。多数煤炭企业在考核指标设计上重定性、轻定量,指标、权重体系设计不科学。实施过程简单粗糙,主要以定性考核方法为主,受主观因素影响很大。存在指标分解不到位和权重设计上的“大锅饭”问题,考核结果的客观性差。 3.考核结果运用单一。目前煤炭企业在考核结果的运用上,通常仅将绩效考核结果与薪酬挂钩,而很少与晋升、人员培训等方面结合起来。因此,造成各级人员只关注考核结果,而轻视过程控制的重要性,从而失去了绩效考核在整个绩效管理中所发挥的作用,为考核而考核,反过来抑制了考核工作有效开展的动力。 二、对策和建议 1.开展针对性的培训,提高理论基础。加强企业中、高层管理人员对绩效管理体系的原理和方法的培训,更好地理解绩效考核的概念、作用,理解企业的战略目标与个人、部门绩效目标间的关系,是目前提高企业绩效考核水平的当务之急,也是整个绩效管理体系能够发挥作用的重要步骤之一。在对基本原理掌握的基础上,还应着重进行以下两个方面的培训:一是了解考核可能存在的误区。即通过培训,告诉考核者在考核过程中可能会产生的误差都有哪些,目的在于防止这些误差的发生。特别是在考核中经常会出现很多心理偏差,如晕轮效应、第一印象误差、近因效应、对比效应、过宽或过严倾向、趋中效应等。在进行培训时必须努力纠正考核者可能产生的各种心理偏差,才可能将考核顺利实施下去。二是了解考核的指标和标准。即通过培训,让考核者熟悉在考核过程中将使用的各个绩效指标,了解它们的真正含义。向考核者提供考核时的比较标准或参考的框架。 2.明确绩效考核应遵循的原则。一是公开民主的原则。即考核制度(包括指标、权重、考核方法与程序、考核结果等)必须公开,指标制定要尽可能吸取员工的意见和建议,也要给被考核员工解释和申诉的机会和权利,让考核的结果得到及时的反馈。二是客观公正的原则。即绩效考核指标体系的设计要以行为导向为原则,有清晰的方向性,明确地告诉员工应该做什么、不应该做什么;绩效考核标准的制定必须以岗位分析所明确规定的工作内容和职务规范为基础,以客观事实为依据,要考虑岗位的类别、级别而有所侧重。三是立体考核的原则。即对员工的绩效做多层次、多角度的评价,把上级评定、同级评定、下级评定和员工自我评定都结合起来,在听取各方面意见之后再对员工进行绩效评定,以尽量减少由于不同考核者的个人好恶所产生的偏差,保证考核的客观和公正。四是结果挂钩的原则。即强调考核结果应用的目的性,坚决将考核的结果与薪酬、职务升降和培训挂钩,以达到激励员工、提升人力资源管理的效果。五是指标设计可操作性的原则。即考核标准应当可以直接操作和量化,尽量避免一般性的评价,而考核的等级之间应当有鲜明的差别界限,针对不同的考核评语,在薪酬、晋升等方面应体现明显差别,以保证考核结果能够得到很好的应用。 3.扎实做好基础工作。岗位分析是人力资源管理最基础的工作,也是科学、有效开展绩效考核等工作的重要前提。如果企业岗位设置不清,用人没有标准和规范,因人设岗、人浮于事,要进行有效的绩效考核无异于缘木求鱼。因此,岗位分析及配套的岗位评价,是一项不可逾越的基础工作。通过对工作岗位信息的收集、整理和分析,并按照一定的客观标准,对岗位的工作任务、繁简难易程度、责任大小、所需资格条件等方面进行系统评比与估价,形成一套完整的岗位评价说明书。在此基础上,才有可能设计出科学的绩效考核标准。
加强对软件工程项目执行情况的监管,保证项目的开发进度以及达到设计的目标要求,促进软件工程项目管理水平的全面提升。近年来,随着我国互联网技术的稳定发展,给软件行业发展提供了良好的前景,在当前时代快速发展的情况下,国内的软件企业有能力开发各种大型项目,有的项目甚至需要几年完成。鉴于软件开发项目这种特殊化的项目管理主体,特别是对大中型项目采用传统的管理方式是远远不够的。在实际工作中,如果能把内部控制理念运用到软件开发项目管理工作中,通过内部控制的方式,及时发现项目开发过程中出现的问题,发现问题后通过对问题的分析找出应对措施,从而规避软件开发项目开发失败的风险。 一、软件开发的项目管理概述 从项目管理角度来说,其主要指项目管理工作人员在有限资源的环境下,通过采用现代化管理方式和理念,对项目中包含的各项内容进行跟踪管理。也就是从项目设计环节入手,到项目结束整个过程进行统一规划、协调、引导和管理,以此保证项目目标的顺利落实。从软件行业来说,在落实项目管理工作时,涉及的内容主要以项目开发过程控制管理为主。软件工程项目是开发人员根据客户委托或企业为了获得新产品进行的开发活动。软件工程管理主要指对软件工程开发需求论证环节、软件开发环节以及软件支持环节等各项活动进行管理,保证给用户按时提供接受的委托工作,使用户构建高质量、高效率的软件工程项目。软件开发内部控制是对软件开发过程的各个环节做出风险评估,针对有可能出现的风险进行的防范;并在项目开发过程中通过测试分析等措施及时发现风险,并有效的将风险解决在萌芽状态,是企业的内部风险控制。也是在现代市场经济环境中,通过接受专业的控制建议,建立自我纠错的系统,通过系统的改善工作,将软件开发过程中的风险变成可管理的、可操纵的机会。 二、软件开发环节的风险识别 (一)项目设计阶段未经科学论证或论证不充分 在当前的市场经济环境下,随着全球贸易以及电子信息技术的发展,以及产业升级、软件国产化的政策引导,大数据时代已经来临,这些因素都给软件行业提供了更多发展机遇。软件企业在接受客户委托时,一般情况下是业务人员寻找客户、客户提出需求、双方多次商榷、达成委托事项签订委托协议,然后开发人员根据委托内容进行开发。但在这一过程中开发人员未参与到委托事项的论证过程中,因客户对提出的需求不明确,加上业务人员或售前工程师对软件开发知识的欠缺,导致没有从科学角度设计委托项目,造成开发人员边开发、客户边提需求、开发多次修改。最终导致软件的创新不足或加大产品成本、或造成无法按期交付产品的情况发生,情节严重导致项目停止。 (二)软件开发人员配备不合理 软件开发行业是劳动密集型企业、技术密集型企业。对工程师的技术要求较高,又是靠工程师手工完成的工作,没有办法通过智能化设备代替。项目组主要由实施工程师、需求分析师、概要设计师、详细设计师、前端开发工程师、后端开发工程师、测试工程师、部署工程师等人员组成,要根据开发项目的难易程度,配备能力匹配工程师参与开发。如果配备的工程师技能过高,可能造成资源浪费,成本提高;如果专业技能不能胜任项目开发,无法保证项目的质量和按期交付,导致成本提高或项目失败。 (三)开发过程管理不完善 项目经理是项目开发管理的责任人,软件开发中人力资源的投入成本是软件行业成本的主要组成部分。一方面反映了开发工程师经济利益,另一方面是企业经营成果和核心竞争能力的表现。所以,开发过程中人力资源管理是项目管理的重要内容。项目经理需要根据项目实施计划提前与各类别工程师协调好参与项目时间。如有项目变更,需及时调整实施计划,并通知项目组成员,方便工程师做好工作时间的调整。同时项目经理需要根据实施计划,保证各工程师在规定时间内按照设计的目标保质保量的完成工作。避免因项目进度等原因造成工程师进场后不能正常开展工作,造成成本上升的风险。 三、内部控制在软件开发项目管理中的应用 (一)项目设计阶段的内部控制 通常情况下,软件开发项目设计环节主要有两部分组成,一个是概要设计,另一个是详细设计。其中,概要设计也就是把软件需求转变成软件系统框架以及数据框架,通常涉及了系统框架设计以及数据框架设计亮点。系统框架设计往往包含软件系统中各项成分之间的关系,而数据框架设计更注重数据结构含义,该项环节主要强调宏观设计以及框架设计。项目设计阶段内部控制方面涉及的内容主要有四个方面,第一,加强对软件开发部门提供的软件框架设计方案进行核查,并监管设计执行情况。第二,结合实际情况,由软件开发部门提供的软件框架设计执行方案。第三,由监管软件开发部门对规划方案执行情况进行核查,并根据核查结果落实对应的设计工作。第四,检查软件开发部门提供的软件框架设计档案。同时,安排专业人员采用考核、评估和分析等方式对软件框架设计情况进行明确,同时保证软件框架审计和需求内外统一。确保采用的软件设计方案和标准具备合理性,提升设计方案的执行性和可行性[4]。软件开发企业在进行项目设计时由于缺乏可行性研究或者可行性研究流于形式、决策不当、盲目上马。并且因为设计环节缺乏科学的内部控制,无法合理保证项目开发成功,引发难以实现预期效益或项目失败的风险。因此,在进行项目设计时,应该注重设计内容,从实现软件设计目标和考虑软件的应用硬件环境两个方面入手进行设计工作的开展。为了避免上述问题产生,首先结合软件开发设计需求,做好相关人员岗位培训工作,使设计人员具备与岗位匹配的专业知识和胜任能力。并且,企业可以设置组织独立于项目之外的专业人员或机构进行评估论证并出具评估意见。其次,加强需求分析,需求分析作为软件工程的核心主要划分为两项内容,一个是非技术要求,另一个是技术要求。需求分析应该确保软件产品可以更好的迎合项目实际需求。在需求分析环节中,需要对客户的自身要求加以明确和核查。客户在提供软件需求分析执行规划方案时,需要客户的软件使用部门给予对应的配合。并且,客户应该根据规划要求落实对应的软件需求分析工作,客户在提供软件需求方案的过程中,要求对需求档案功能、型号、安全等级、相关数据等内容进行核查和明确。其次,编码阶段,在进行软件开发应用时可以采用流程管理的方式,实现对软件开发环节中各项资源投放情况进行监管和把控,以此让应用软件开发可以更好的满足实际需求。 (二)项目开发阶段的内部控制 项目开发阶段是项目进行投入的主要阶段,需投入大量的人力资源完成系统的整体开发与功能、性能、安全测试,并进行系统部署汇报演示。本阶段的成本在整个项目成本中占比较高,是内部控制的重点和难点,企业可以成立项目管理办公室,负责在项目整个开发过程中对项目进行定期检查和不定期对项目开发过程进行检查,及时发现风险,并做出应对措施,内部控制可以贯穿在下列的开发过程中。1.项目经理需提前将确认后的《需求规格说明书》发送给开发经理,开发经理研读《需求规格说明书》后形成问题清单,并由项目经理召开需求分析会,安排时间对《需求规格说明书》详细导读和问题答疑。开发经理及小组成员必须参与,会后形成《需求分析会会议纪要》。并对项目信息中的版本、难度、亮点三项内容进行补充修订。2.开发经理对已经明确的需求进行开发设计,向“技术评审委员会”提出进行设计评审,会后形成《设计评审会会议纪要》。3.需求导读后由项目经理和开发经理共同制定详细的《项目开发计划》以及确定的预估开发工作量,为以后需求变更时作为基准参考。4.开发经理根据《项目开发计划》安排开发人员和集中配置组对系统进行配置和开发工作。根据模块的难易程度分配开发工作。5.项目经理组织对开发组交付的系统进行功能、性能、安全、集成测试,并形成相应的测试报告。所有的bug(指电脑系统或程序的缺陷问题)项目经理负责登记,如需进行变更,填写《需求变更单》需客户确认。对在这个环节提交的bug需进行统计并计入项目绩效评价中,具体解决方案由开发经理及相关开发配置人员负责。6.项目经理对已经开发完成的系统为客户提供阶段性成果汇报,汇报期间客户提出的相关问题进行记录和汇总,如超出合同部分交由业务部门进行商务洽谈。7.系统功能整体满足客户需求后,由项目经理组织进行系统交付初验。项目经理提交初验报告及其他初验材料,包括但不限于概要设计、详细设计、数据库设计、测试用例、测试报告等,其中部分技术文档由产品中心协助准备。《初验报告》需客户确认盖章或签字。8.需归档的交付物:需求分析会议纪要、项目开发计划、概要设计、详细设计、数据库设计、测试用例、测试报告、初验报告、需求变更单、合同变更补充协议、产品/货物签收、初验材料。 (三)项目验收阶段的内部控制 首先,运行阶段。在系统试运行环节中,内部控制涉及的内容包含对试运行规划方案进行核查,设定试运行环节中业务周期、执行范畴、组织框架以及应急处理对策等;核查软件开发部门对用户培训内容、规模、对系统管理人员以及操作人员进行专业培训;考察试运行规划执行状况;监管软件开发部门试运行记录数据,在此环节中一旦发生问题,应该第一时间进行核查和分析,并做好对应的记录工作,及时进行处理。其次,系统验收移交阶段。系统验收移交作为项目是否可以顺利落实建设目标的检测标准,同时也是最终的检测结果。在此环节中,内部控制涉及的内容主要有:第一,考核竣工环节中各项数据的真实性和完善性,确保和项目实际状况吻合。第二,结合核查结果,对项目数量、质量等内容进行核实,同时给后续工程款项支付提供凭证。第三,核查软件开放项目各项资料,引导建设部门和开发部门交接对应的项目数据。第四,辅助用户对项目数据档案、源代码、产权说明文件、变更数据等内容进行核查,同时考核移交内容的合理性。具体过程如下:1.运行阶段:主要任务是完成项目试运行前期准备和培训工作,以及试运行期间的系统日常保障工作。此项工作主要由项目经理、实施工程师、运维工程师完成。(1)由项目经理编制《培训计划》,并组织项目组成员编写《培训文档》(用户权限设置、《用户操作手册》和操作视频必须准备好),并组织试运行前的用户集中培训(进行培训签到)。培训包括针对普通人员、部门领导和单位领导。(2)项目经理在试运行前和客户确认试运行时间周期和《试运行计划》方案,《试运行计划》方案中必须包括试运行的试用人员清单、业务用例、操作指标、每日的操作安排。(3)试运行分为两个阶段:第一阶段邀请有代表性的最终客户或业务骨干小范围试运行,第二阶段全员培训试运行。(4)试运行期间项目经理和运维人员督促参与试运行人员使用系统,完成试运行方案中规定的操作内容,并每周提交《试运行周报》给客户。(5)试运行期间系统出现的bug及需求变更录入进行记录,其中《需求变更单》需客户确认,所有问题由项目经理带领现场实施/运维人员跟进解决,同时开发团队保证bug不过夜。(6)试运行期间由项目经理负责记录收集系统使用情况,并提交公司需求评审和工作量评估。若产生非合同内需求变更或合同内需求变更累计超过评估总项目工作量需提交业务部门,收到经公司签批的《需求变更单》且经客户签字确认后方可继续实施。(7)完成试运行后,根据试运行期间提出的问题和需求整理成《试运行报告》提交客户确认。针对需求部分核对合同后,提请业务部门确认是否需要由商务进行洽谈,并由客户在需求变更单上签字。(8)本阶段需形成需求变更单、培训计划、培训文档(操作手册)、试运行计划、试运行周报、试运行报告、系统应急方案书面资料并归档。2.交付验收阶段的主要任务是组织召开项目终验验收会,提前准备验收材料,并邀请相关领导参加。此项工作主要由项目经理、实施工程师、业务人员完成。(1)如合同涉及第三方测评,项目验收前1个月必须启动第三方测评,项目经理根据测评要求准备相关文档,其中概要设计、详细设计、数据库设计等开发文档由产品中心协助准备。项目经理安排与第三方测评机构进行现场测评,并由第三方测评公司出具对应的《测评报告》。(2)项目上线试运行完成后,项目组根据情况申请验收,由项目经理提交《项目验收单》给客户签字盖章确认(非自然人客户确认验收必须以盖章为准),验收中必须注明“XXX项目完成验收”,或能够表达确认验收字样的文字;如客户方组织由专家进行验收,以最终《专家验收意见》单为准(需有专家签字的原件)。(3)项目经理准备验收会需要的《项目验收材料》、《项目建设情况汇报材料》以及其他相关文档。本着节能减排原则,如无特殊要求,可以提交电子版验收材料给客户存档。(4)如项目在验收前阶段接到客户书面投诉,项目在验收前阶段出现重大事故的项目整体进度延期50%以上的公司需派出专业团队进行专项处理。(5)本阶段的工作需形成测评报告、验收单、专家验收意见,验收会签到表,项目验收材料、项目建设情况汇报PPT书面资料并整理归档。 (四)质保阶段的内部控制 根据试运行方案推进系统的试运行工作,完成试运行并进入正式运行。本项工作主要由项目经理、运维工程师负责。主要控制措施应从以下几方面做起:1.正式运行期间发生的所有需求变更(非合同范围内),必须告知业务部门,由业务人员出面进行商务洽谈后方可进行,需求必须走《需求变更单》,由客户签字或盖章,如牵涉大范围变更(一般超出原合同工作量的15%),必须重新立项。2.项目经理需明确项目合同的维护服务期限和服务范围,以及是否提供人员驻场服务,并根据合同要求安排人员驻场或远程维护。3.项目运行满免费运维期后,项目经理(现场运维)应主动提醒业务部门,并由业务部门发起续签有偿维护合同事宜。如客户不签订合同实施部门有权利停止为其提供维护服务。4.进入运维期后,运维人员应定期对系统及服务器进行巡检。5.本阶段需形成的文字资料有系统巡检表、系统运维记录表、需求变更确认单。 四、结束语 总而言之,从当前软件行业发展前景来看,国内的软件开发技术越来越成熟,有能力独立承担大型软件项目的开发及研发。如果将内部控制管理有效的应用到软件开发项目中,明确各个环节中内部控制内容,结合实际情况,采取对应的内部控制对策,从源头上防止发生不必要问题,保证软件项目建设和开发安全,给软件项目的稳定发展奠定良好的基础。 参考文献: [1]王欣.房地产项目管理中内部控制的运用分析[J].中小企业管理与科技(上旬刊),2018(05):9-10. [2]贾自芳.内部控制在项目管理公司中的应用[J].财会学习,2018(11):243-244. [3]曾战锋.浅谈施工企业工程项目管理中的内部控制[J].中国国际财经(中英文),2017(24):96-97. [4]呼斯乐.试论工程项目管理中内部控制理论的应用[J].管理观察,2017(33):80-81. [5]邬维国.浅谈行政事业单位内部控制在建设项目管理中的应用[J].行政事业资产与财务,2017(09):43-44. [6]徐福艳,金颂时.核电项目管理中的内部控制审计程序及方法研究——基于三门核电内部控制制度审计案例分析[J].中国内部审计,2016(07):28-33. [7]赵景惠.内部控制理论在工程项目管理中的应用[J].合作经济与科技,2016(13):138-139. [8]卫建泽.内部控制在工程项目管理中的运用[J].山西财经大学学报,2013,35(S2):54. 作者:孔德威 单位:上海梦创双杨数据科技股份有限公司
软件开发论文:给排水专业CAD软件开发方法探讨 提要 本文结合笔者实际工作经验,分析了国内给排水专业CAD软件开发及应用现状,探讨了给排水CAD软件开发的原则、思路、方法及步骤等,并给出了开发实例。 一、给排水专业CAD开发应用现状 在工程设计行业,CAD技术的应用大大提高了设计及绘图效率。CAD应用软件的开发也越来越重要。 在给排水设计领域,CAD开发应用起步较晚。有些设计院从八十年代末开始尝试进行CAD开发,但进展比较慢,多数是图块和小型实用程序,在深度和广度上都存在着差距。从1993年以后给排水CAD开发步伐开始加快。1994年底全国给排水学会和给排水技术情报网组织召开了“计算机技术在给排水专业应用研讨会”,对给排水软件开发起了积极的促进作用。 目前在给排水CAD开发方面已经取得了可喜的成绩,尤其是建筑室内给排水方面涌现出一些比较优秀的给排水CAD软件,如洛阳的一家软件和北京的几家软件。这些软件都具有计算机辅助设计建筑给排水平面图、自动生成系统图、自动统计材料表;进行室外给排水管网计算、自动生成图形等功能,其中个别软件已在室外设计和泵房设计等方面有了新的进展。 现有软件都偏重于民用建筑给排水方面,而且也有待于继续完善、发展。在给排水的其它领域,由于难度大,投资回报较低,软件公司还不愿涉足,所以进展缓慢。应用CAD进行给排水及水处理系统的优化设计更是少有人涉足。此外,目前还没有专业设计CAD软件的标准和规范。商业化软件多数都不经过权威部门严谨的技术测试和鉴定,所以其数据库、计算方法、设计方法和生成图形的准确性还没有严格保障,这一点还可能成为工程设计质量的隐患。 现在设计部门的给排水CAD应用水平也参差不齐。有的购买或自行开发了给排水专业软件,提高了设计绘图效率。有的只是在用AutoCAD的简单命令绘图,虽提高了CAD出图率,却根本谈不上利用CAD提高效率。给排水专业CAD应用水平还有待于进一步提高。 目前许多有精力的设计院及研究部门都在研究开发本单位适用的专业软件及应用程序,但由于开发经验不足,成绩不明显。本文将结合笔者的工作经验,着重论述有关给排水软件开发的原则、思路、方法及步骤,旨在抛砖引玉,促进给排水CAD软件开发工作。 二、给排水软件包开发思路及原则 由于现有建筑给排水软件已经比较成熟,且仍在继续开发、升级。一般开发者在水平和起点上均与这些软件开发有一定差距,所以应该购买此类软件,而着重开发适合本单位使用的实用程序、应用软件或优化设计软件。高起点开发者则应在深度及广度上向更高层次冲击。 1.给排水CAD软件开发依据及原则 (1)设计依据为有关设计规范、制图标准以及设计手册等;保证数据库、计算方法和设计方法的准确性。 (2)软件包开发设计首先要突出专业水平,把专业设计思想转化为计算机语言是专业软件包的关键所在。 (3)符合设计人员思维习惯及设计习惯,人机界面友好,操作简单,易掌握。 (4)适用性强,容易修改,容易扩充,容易发展。 (5)尽量使用效率高、功能强的计算机语言及开发工具。 (6)严格执行标准化及规范化。 (7)通过自动绘图以及建立标准图库,提高图纸复用率等途径,提高设计绘图速度,真正发挥计算机的优势,把设计人员从图板上解脱出来。 2.设计开发步骤 (1)开发适合于给排水专业应用的CAD软件环境,包括AutoCAD的优化配置及常用专业图块及绘图工具。 (2)开发一些独立的专业绘图软件,发展标准图形库,由浅到深,从易到难,逐步提高自动成图及图纸复用比例,使软件包成为覆盖面广,功能齐全的专业绘图软件包。 (3)开发给排水专业高阶段设计方案优化软件,以及设计、绘图一体化软件,逐步成为智能化、自动化程度较高的专家系统软件包。 3.开发人员配备软件开发是一项较复杂的脑力劳动,对开发人员要求也较高,专业软件开发人员大致可分为以下几个档次: (1)初级水平:专业人员掌握一些基本计算机知识及开发工具可以进行一些专业图块制作,简单的实用程序开发。 (2)中等水平:较高专业水平加上较高计算机水平。熟悉专业设计习惯,有较丰富的设计经验的专业人员,如果掌握先进的CAD开发技术,可以开发出较高水平的CAD应用软件,可以提高设计效率,特别是可以大大提高绘图效率。 (3)高级水平:高深的专业水平加上先进的计算机开发技术。在专业方面应该熟练掌握专业基础知识,有丰富的工程设计经验,善于总结专业设计思路,发现规律,具有较强的系统工程及方案优化水平。在计算机方面要掌握LSP、ADS、DCL等开发工具(或其它高级开发工具)。这类人员开发专业CAD软件是最理想的。 由于给排水专业涉及面广,而且不同行业给排水设计习惯也不尽相同,不可能有软件可以覆盖所有给排水领域,适用于所有设计院,所以目前仍然需要分行业、分类进行开发。前述的个别建筑给排水软件包及开发人员属于较高水平,其开发设计思路非常值得向给排水其它领域延伸。 4.开发工具(软件方面) 目前较常用的CAD开发工具主要有AutoLISP语言、ADS、DCL语言以及数据库处理,也有的开发者使用BASIC、FORTRAN等高级语言与AutoCAD的图形数据交换接口进行开发;还有用C++开发或用VB等在Windows界面下开发的;此外,网络技术也越来越重要。 开发CAD软件,需要非常熟悉Auto CAD命令,以及其中的各参数、系统变量、图层、图块、线形等,这样才能方便灵活地在程序中执行各种命令,掌握CAD开发技巧,例如图块的属性可以带许多信息,一条LINE线的厚度可以存入管道的管径等。此外现在有些软件使用数据的后处理方式,使软件和AutoCAD结合得更好,这些技术还需要对AutoCAD图元数据库和数据图形交换等有更深的了解。 AutoLISP是在AutoCAD内部使用的语言,用AutoLISP编辑的程序可以定义变量,对数据进行处理和作出图形,并可能自定义函数,比较适合搞人工智能工作,特别是它的表处理功能以及递归等功能比较独特,在CAD工作中它可以独立工作,也可能与DXF图形交换文件互相配合。其不足之处是速度慢,且程序代码几乎无法保护。 ADS是AutoCAD11.0版以后新增加的用来开发应用的一个C语言编程环境。它运行速度快,代码保护性好,能更有效地利用内存空间以及访问设备与系统,具有更强大的开发功能。但掌握ADS要比LISP困难,要求开发人员具备C语言编程经验并熟悉ADS库中各函数用法。一般商业软件应该用ADS。 AutoCAD还提 供了可编程对话框(PDB)工具,使用户可以结合自身专业特点,用DCL语言构造自己的对话框,从而改善界面,提高CAD软件效率。 目前最流行、最实用的专业CAD开发工具是ADS、DCL,加上少量AutoLISP。 三、开发过程1.专业绘图环境的开发 (1)AutoCAD的配置及改善 a.选择AutoCAD版本。目前最常用的是汉化AutoCAD12.0版。但其汉字输入不太方便,应配上较先进的汉字系统,或用12.0版forWindows(中文)。 b.对AutoCAD系统变量进行重新优化配置及设定,主要包括系统变量及尺寸变量设置,层、线形设置等,使acad.dwg成为理想的样板图。 c.对acad.mnu进行优化,将许多常用命令放在最容易拾取的位置或固定位置。专业菜单部分可加入acad.mnu,也可以独立编写。 d.利用acad.pgp做简化命令(10.0版以前的版本可在acad.lsp中用defun函数设定),编写acad.lsp。 (2)专业绘图功能 a.专业图框绘制:可由菜单点取或用屏幕幻灯菜单点取,自动生成各种图框。 b.专业常用图块:由菜单点取生成,自动插入断线。 c.开发实用的专业绘图工具程序:如标注标高、管径、坐标、管道立管、代号、各种管件等的程序,绘制单、双线管道的程序,生成专业设计说明、图例、专业词组的程序,以及文字、线形、线宽编辑和表格操作等实用程序。 d.开发或引进建筑图绘图程序。 专业CAD软件包都应具有高效的绘图环境,否则一旦自动生成等功能出现故障或不能适用时,用户就只能用AutoCAD简单命令来画图了。 2.专业绘图软件的开发 在专业绘图环境的基础上逐步开发一些相对独立的专业绘图软件,逐步形成功能强,覆盖面广的给排水综合软件包。 目前已开发的较成熟的软件有:民用建筑给排水CAD软件包、室外给排水管网计算软件、给排水管道纵断面图绘图软件、给排水外部管网设计软件等。 正在开发,初见成效的软件有泵房设计软件、平流沉淀池软件、机械加速澄清池软件、和市政管网CAD软件等。 尚未深入开发,开发难度大,但预期效果好的软件包括:辐射沉淀池、旋流沉淀池、水塔、综合管沟、架空管网、过滤间、软水站、污泥脱水间设计等项目。 给排水软件开发的另一条思路是发展给排水设备和构筑物的标准CAD图形库,从而提高图纸复用率,这比编制自动成图的软件要容易得多。标准CAD图形库还可以由权威部门编制后,作为标准图出版。此外,标准图还可作为软件包的一部分,即软件包可以交互式自动生成图形,也可以通过自动计算直接调用相应的标准图。 3.高阶段设计及方案优化设计软件的开发在 利用CAD进行高阶段设计及方案优化设计方面,除在民用建筑给排水领域有个别公司研究外,在其它给排水领域中的研究国内还未见到报道。方案优化软件的难点在于系统化的设计思路和设计经验向计算机程序的转化,其中给排水及循环水流程的方案优化模型的建立本身就是给排水设计的一个难题。目前这方面进展缓慢的原因首先是它对开发人员要求高,这一领域的理想人选稀少;其次是给排水专业行业多,领域广,需开发的软件工作量巨大,具备这方面精力的研究部门或公司还很少。 总之,给排水专业绘图软件包开发是一项艰苦的工作,需要创造一个规模生产,流水线开发的环境,投入一大批高层次的人才。各部门的研究人员既要知难而进,又要避免重复劳动,在各行业、各领域开发出各有特色的实用专业软件。 四、给排水CAD软件包开发实例———BYWAT 1.软件包结构 专业绘图环境-CA AutoCAD12.0汉化版 AutoCAD配置及改- 系统配置 参数设置 菜单优化 命令简化 专业绘图功能- 专业图框绘制 专业图块绘制 专业工具程序 绘建筑图程序 BYWAT-(2.0)b. 专业绘图软件- IS泵及S泵基础绘图软件 水泵底座绘图软件 材料表等填充软件 给水管纵断面图绘图软件 排水管纵断面图绘图软件等多常 2.软件包主要技术特点 (1)符合设计人员设计习惯,简便易学。 (2)速度快,可提高设计绘图速度3到5倍。 (3)可由用户幻灯菜单自动点取专业图框。 (4)有丰富的专业图形符号,插入时管道自动断线。 (5)可方便地绘制建筑图。 (6)具有各种类型的标高、管径、坐标等标注功能以及一些方便实用的程序。 (7)绘材料表只需在屏幕菜单中点取材料名称即可将名称、材料、单位、标准图号等填入材料表中的合适位置,序号、数量也特别方便,速度快,辅助功能及提示功能强。如果需要,还可以自动填入单重,自动计算并填入总重。 (8)各型号水泵基础自动绘制,半自动生成水泵底座图形,自动计算和生成材料表。 (9)给排水管道纵断面图软件交互式、参数化绘图,可自动计算,并有辅助功能。 3.专业软件实例———排水纵断面图绘图软件 给排水纵断面图在冶金给排水设计中约占施工图总量的近10%,规律性也较强,较适合开发专业绘图软件。本软件原采用LISP语言编写,由主程序及辅助功能组成,包括程序600多句和几个图块、幻灯等。其中主程序结构较复杂,多处使用循环语句及LISP语言擅长的表处理语句。软件完全按照冶金设计院设计绘图习惯及顺序设计,操作特别简单,用户只需交互式输入简单的参数,即可完成完整理想的纵断面图。 输入比例尺后,程序自动绘制排水纵断面图表头。此后按顺序输入节点,节点平面距离、管径、地面标高、管内底标高、坡度、管材代号、平面示意图种类后,程序即可画出这段管及有关的全部文字、图形,并计算出下一点的管内底标高。以后每输入一段管的参数,即可画一段管,与前段管相同不必重新输入。每个井均可有跌水,软件还可自动画出各种平面示意图。同一表头内可结束一条管,再给起点画下一条管。软件的辅助功能可进行交叉等处理。此外软件还有较强的容错功能。 改进以后,加入可编程对话框,每确认一个对话框即可画一段管,使输入更加简洁。软件还可以从已编写的数据文件中提取数据自动生成图形,这也为从外网平面图直接提取信息生成纵断面图打下基础。 用给排水纵断面图软件绘图,比手工快5倍以上。 软件开发论文:计算机软件开发与用户实践的提升策略 1在设计方面要考虑用户对软件的印象 根据调查显示,网络用户在快速阅读过程中通常会呈现出“F”型的习惯,也就是在特定时间内,用户迅速浏览网站的时候会先看到网站的顶端与左侧内容,而中间的内容只能够被阅读到一部分。所以我们在设计网站界面的时候可以遵循“F视线追踪原则”,将各个部门按照主次次序放置到框架之中。如果一个网络用户在浏览到一个新的网站的时候,如果在三分钟之内还没有发现能够吸引自己兴趣的内容,那么这个网站就会100%地失去这个客户。在近几年,许多软件开发公司喜欢用过去的项目模版来设计主界面,这无形中是有利于提高软件开发速度,并且减少耗费创新技术、思路的时间与风险,然而如果一个软件产品长期保持一成不变的风格,那么就不会为用户留下深刻的印象,进而失去市场竞争力。软件开发商必须要根据商业营销学的理论,寻找到自己的目标客户群体,之后根据这个客户群体的偏好、特征来设计软件界面的整个风格,让使用者可以看到产品第一眼后产生一种与众不同的感受。 2在程序选择方面要注重优化与处理效率 我们在软件产品设计的算法方面要注重优化设计,当软件运行过程中耗时较多就需要我们注意处理、降低广大用户在等待过程中的不满情绪。随着科学技术的不断发展,计算机性能与运算速度的不算提升,诸多程序开发工作中将程序运行缓慢的原因归咎于计算机的问题,不会从自身编程过程找原因,因此软件开发工作效率较低,许多软件产品恶评较多,所以我们需要在能够控制的范围中优化程序代码,给予用户们科学、高效的产品体验过程。针对一些确实耗费时间的操作软件,我们可以通过进度条显示、后台运行等方式来调整,让用户心理上顺畅。笔者曾经有幸亲自参观了某通讯公司新任务的运行体验,工作人员每次点击用户的查询请求,在系统返回的时候需要几秒钟甚至几十秒钟,使得该公司用户抱怨数量众多,而这正是缺乏优化功能的原因。 3产品功能设计要结合人性化与灵活性的特征 传统设计受到信息化社会发展的影响,使其正处在改造进程的关注对象。当前计算机发展所带动的现代技术发展并没有到达高潮,但是计算机作为理想化的设计工具,正在逐步改革自身的设计途径、方法、过程,并逐渐迈向到数字化设计的时期。如果我们说数字化是现代社会的发展特征,那么人性化的设计就是对这种存在具象的诠释。我们在产品设计过程中,尽管存在着模块化设计的理论,但是作为产品设计者的我们不能忘记软件产品最终是为大众服务的,必须要将用户体验过程放在首要位置。另外,在软件产品设计过程中,要注重业务模块之间相互搭配的灵活性属性,不能盲目追求大众的操作形式。在广大用户使用计算机产品过程中,随着人们的个人喜欢与聚焦点不同,使用产品的方式也是具有差异性的。笔者曾经设计过一套工程方面的预算系统,部分用户关注最后的造价,而另一部分用户关注的是建筑材料的使用状况,侧重点不同导致自身操作步骤也是不同的,因此我们在设计产品过程中需要注意到这一点。 4结束语 随着科学技术的不断发展,用户对于计算机软件设计水平的需求不断提高,软件开发工作者务必要对目标群体进行深入性研究分析,要真正地了解到用户群体喜欢什么样的软件,需要什么样的软件,关注什么样的团结,从每种软件的运行界面、使用功能、运用条件等诸多方面来实现软件的优化设计,站在用户的角度来面对软件的多个问题,只有遵循这样的原则,才能够满足诸多用户群体的需求,开发出优质的软件。 软件开发论文:软件工程在“软件开发设计实训”课程中的应用 笔者所在学院的软件工程系是成立于2005年的新专业,为校级特色专业。近年来,随着对软件工程特色专业建设进程的推进,课程体系日趋完善。针对软件工程学科具有理论多且实践性极强的特点,本系较大幅度地加大了实践类课程和环节所占的比例,“软件开发设计实训”便是其中很重要的一门实践课程。由于软件工程学科发展速度很快,在软件产业不断发展,全国对高素质的软件人才的需求量激增的形式下,迫切需要研究和探索实践类课程的教学模式,激发学生学习兴趣,以更有效的手段和方式提高教学和指导质量,为培养更加符合社会实际需要的软件开发人才打下坚实基础。在我校教改基金的资助下,依托软件工程教学团队,本文对将软件工程应用于“软件开发设计实训”课程的教学模式及主要措施进行探讨。 1 选择适当的软件工程过程 “软件开发设计实训”课程的主要目的是使学生学会用面向对象的设计方法设计实际系统。结合软件工程学科的发展和应用现状,软件开发过程主要采用rup(rational unified process,统一软件开发过程)的方式组织软件开发。rup是风险驱动的、基于use case(用例)技术的、以架构为中心的、迭代的、可配置的软件开发流程。 rup分为初始、精化、构造和交付四个阶段,各阶段涉及多种工作流【1】。rup的核心工作流主要包括: 需求捕获工作流:需求捕获通过对问题的理解和分析,确立问题涉及的信息、功能和系统行为,将用户需求精确化、完全化。需求的焦点主要在初始和精化阶段,在精化阶段后期,需求捕获的工作量大幅下降。 分析工作流:分析的主要工作开始于初始阶段的结尾,和需求一样是精化阶段的主要焦点。精化阶段的大部分活动是捕获需求,分析工作与需求捕获在很大程度上重叠。 设计工作流:设计的主要工作是位于精化阶段的最后部分和构造阶段的开始部分的主要建模活动。系统建模最初的焦点是需求和分析,在分析活动逐步完善后,建模的焦点开始转向设计。 实现工作流:实现(实施)是关于把设计模型转换成可执行代码的过程。从系统分析师或系统设计师的角度看,实现工作流的重点就是完成软件系统的可执行代码。实现工作流是构建阶段的焦点。 测试工作流:测试是一项相当主要的工作。测试工作流贯穿于软件开发的整个过程。它开始于软件开发的初始阶段,而细化阶段和构造阶段是测试的焦点。测试是为了找出程序中的错误与缺限,而不能证明程序无错。 rup就像一个元过程,通过对rup进行裁剪可以得到很多不同的开发过程,非常灵活,所以可以将其按本课程需要进行精简,从而把深奥的理论指导融入具体软件项目的开发设计中,让学生更加深切地体会到什么叫学以致用,消除畏难情绪,培养和增强在软件开发设计中自觉遵从软件工程思想的习惯。本课程使用的case(computer aided software engineering,计算机辅助软件工程)工具集采用sybase公司的powerdesigner。 2 将有价值的软件工程知识引入课堂,教学采用项目贯通案例 为让学生在中小规模的实训项目中也能体会到较大型项目通常会用到的一些软件工程技术,让本课程更有实用价值,教师需要对学生补充一些软件工程相关知识,包括:设计模式、架构设计、类的持久化以及数据库设计、面向对象实现以及文档的书写这四个方面。 为配合上述四个方面的软件工程相关知识的介绍,教师采取“项目驱动的案例教学”方法【2】,在课堂讲授中引入一个完整的、规模适中、难易适度的软件项目案例。该案例需要通俗易懂而又具有实际意义,涉及的应用领域应该是学生较为熟悉的,这样理解起来更为容易。以此案例完整的开发设计过程为主线,借助这个贯穿整个课程教学进程、文档齐全的完整案例来将软件项目开发设计过程中的各个环节串连起来,着重展现上述四个方面的知识运用,让学生熟悉和掌握软件开发设计的具体实施步骤和技术。 3 学生实践环节分小组按项目方式进行 由于在本实训课程之前学生已经学习过一门先导课程:“软件需求分析实践”,所以可以把学生仍然按照在“软件需求分析实践”课程中的各小组成员组成来进行项目分组,这样各小组便可将该课程中的最终成果——《软件需求分析规格说明书》作为本课程的起点来进行,需求捕获工作流便只需粗略进行。由于本课程侧重于软件开发过程的分析工作流和设计工作流,对实现工作流和测试工作流也只作粗略涉及。 每个项目小组通常为3到5人,分组时采用了优势互补的方式,注意合理搭配,尽量让每组各个成员具有不同的优势能力,并让其民主推选一名组长负责组内的组织和协调【3】。 教师的项目贯通案例教学分阶段间插在学生实践过程中,每介绍一个阶段的rup理论,就紧跟几次课的学生实践环节,如此交替进行,当教师的教学案例施教完毕,学生的项目也同步进行到最后阶段。 项目进行中模仿软件公司的例会形式,定期由项目小组长召开小组讨论会(如每周一次),对最近这段时间的项目进展情况和技术问题进行讨论。每个开发设计阶段结束时教师均要求各小组给出相应的文档,且每个阶段完毕要进行一个模拟的里程碑式的评审(教师参与作为评审团的一员)【4】。 教师还应在课程即将结束的最后课时中对各小组的项目完成情况及普遍存在的共性问题作一个分析总结,并让各小组组长总结本组项目完成的经验教训,以利于同学之间取长补短,活跃思维,提高分析总结问题的能力。 4 依托教学团队,理论及案例部分采用轮流授课法 笔者所在的软件工程系于2009年底成立了软件工程教学团队。团队兼顾了职称、学历、教学、科研的合理搭配,由有大型项目开发和管理经验的老教师提供指导来提升年轻教师的教学能力,并让其参与到科研项目中积累项目经验。本课程的任课教师均由该团队中选出。本课程所用的《软件开发设计实训指导书》的编写由各任课教师分工完成,每人负责完成一章内容。本课程每个教学班安排30人左右,各教学班的教师全程负责该班整个课程的实践指导环节。而理论及案例讲授部分的教学则采用轮流授课法,实施方案是每个阶段的课堂讲授由编写实训指导书的相应章节的教师对全体教学班集体授课,其他教师同时到场辅导。具体各阶段的课堂讲授内容安排如下: 1)rup总论以及课程概述 2)设计模式 3)常用的软件架构风格及适用情况分析 4)对象持久化与数据库设计 5)面向对象实现及文档编写与整理 对应进行的学生的各阶段实践任务如下: 1)按既定方式确定各小组成员和组长,并且重新审核各组在先导课程“软件需求分析实践”中的最终成果《软件需求分析规格说明书》,进一步完成分析模型,得出用例图,分析类图,序列图及协作图。这一阶段学生需提交分析模型文档。 2)按照设计模式重新设计类。这一阶段学生需完成两个任务:一是实现设计模型中的具体设计类,具体要求学生:使用设计模式和机制;创建初始设计类;确定持久类;定义类可视性;定义操作;定义方法;定义状态;定义属性;定义依赖关系;定义关联;定义内部结构;定义泛化关系;解决用例冲突。二是完成用例实现的设计,主要设计模型内的协作关系,以设计类及其对象为基础,描述各个特定用例的实现和协作。这一阶段学生需提交设计模型、类图和用例实现。 3)完成架构设计。这一阶段学生需要设计包结构,完成系统设计模型图的实现子系统、接口设计类及架构模型(组件图),重新审查用例模型,得出用例模型的架构视图。这一阶段学生需提交子系统设计文档、接口设计文档及架构模型文档。 4)根据持久类以及数据库知识对数据库进行设计(包括字段编码设计)。这一阶段学生需提交数据库设计文档。 5)本课程的最后阶段。完成实施模型(部署图);完成界面以及输入输出(报表等)设计;完成具体子系统的编程工作,并进行二次迭代重新审核前面的设计部分;整理测试报告;整理文档并编写软件使用说明书。这一阶段学生需提交组件图、部署图、输入输出设计说明及具体子系统代码执行程序。 5 考核方式强调过程考核,开发设计能力与书写文档能力并重 本课程的实训目标是使学生能综合运用所学的知识进行中小型应用项目的软件开发设计。为此,我们提出了本课程考核的指导思想:重视实训过程,看重软件开发设计能力的提高,采用复合考核的方式,课程成绩由平时考核、过程考核和项目验收答辩成绩组成。重点突出“会不会做”,强调对学生的实际开发设计能力考核,同时注意防止轻视书写文档的观念。这种考核方式不但能更客观地反映学生的学习情况,还能引导学生有意识地加强软件开发设计技能的培养,开发设计能力与书写文档能力并重,更利于达到预期的教学效果。本课程具体的课程考核成绩组成如下: 1)平时成绩*10%(考勤成绩*50%+小组开发设计工作中的合作精神表现*50%); 2)阶段考核成绩*60%(五个阶段,各阶段的能力表现及提交的文档各占20 %); 3)项目验收成绩*30%(项目文档汇总整理占50%,项目答辩50%)。 6 结束语 “软件开发设计实训”课程是软件工程专业实践类课程中非常核心的一门,其实践性和综合性都很强,能集中训练和提高学生进行软件项目开发和设计的实际技能。其教学实施过程不应被视为只要学生针对项目要求能编写出相应的软件即可,而更应注重软件开发设计过程的方法和技能的培养,以培养具有软件工程思想的真正符合社会需求的软件人才。本课程应紧随软件工程学科的发展而不断更新。在今后的课程开展过程中,其教学模式和措施还需要不断创新、总结和改进,需要持续不断地研究和探索。 软件开发论文:计算机软件开发技术的应用 21世纪是计算机化、信息化的时代,在这个时代,计算机网络成为信息传输媒介,软件开发技术成为计算机未来发展的导向。为了满足计算机网络对软件不断增多的需求,软件开发技术必须不断发展,才能为构建完善的计算机网络系统提供可能。 1 计算机软件开发技术概述 计算机软件主要指系统软件、应用软件。系统软件是监控、管理和维护计算机的软件,比如操作系统和自检程序等。而应用软件则是解决用户具体问题的软件,比如人事管理软件和学习管理软件等等。不管是系统软件还是应用软件,都为用户提供了利用计算机代替或简化一种计算机的工作环境,对于用户来说,接触计算机其实是接触计算机软件。早在20世纪五六十年代,计算机软件的开发多是手工方式,这种软件开发技术不仅出错率较高、生产效率低下,而且不能满足软件生产需要。随着商品化、大型化软件的开发,人们意识到计算机软件的开发需要规范的文档来确保程序设计、调试和运行。到了20世纪八十年代,人们将软件工程定义为:实现计算机程序功能采取的规则、方法及与之相关联的文档和在计算机上运行程序所需的数据都是计算机软件。 软件工程的发展大体经历了程序设计时代、软件时代和软件工程三个时代。以建筑工程开发为例,可以看出计算机软件开发过程与建筑工程开发有较大的差异。建筑工程开发过程中,设计蓝图设计之后,之后的每一步都不存在回溯的问题,但计算机软件工程在开发的过程中,每一步都有可能经历多次的修改、适应等回溯问题,另外,软件开发成功投入使用后,要考虑到软件运行和维护的问题等等。 2 计算机软件开发技术的重要性 软件开发技术是软件工程较为关键的技术之一,对计算机网络发展有着极大的助推作用,计算机软件开发技术能够促使计算机网络技术的创新,使一些网络支持、远程控制成为可能。软件开发技术的应用使得计算机网络形成开发性、共存性的一种网络模式,对于计算机网络的发展有促进作用。计算机软件开发技术的应用解决了软件开发落后计算机网络需求的问题,随着软件开发技术的不断提高,软件的安全性、可靠性和便捷性也有了较大的提高。上述的计算机软件开发重要性推动了计算机软件开发技术的应用。 3 计算机软件开发方法 目前,计算机软件开发方法主要有原型化方法、软件生命周期法和自动形式的系统开发方法三种。原型化方法:软件开发之前要进行严格定义和预说明,要求用户及软件开发人员对系统整体功能及信息需求有全面、深刻、准确的认定。如果用户给出的软件目标不能详尽描述输入处理及输出需求,或者软件开发者不能确定算法效果、系统适用性或未来使用的人机界面形态,此时,适合采用原型化方法进行软件开发设计。软件生命周期法:软件生命周期法从时间角度出发对软件开发、定义、维护等问题分解成若干阶段,每一个节段的开始和结束均有标准。软件生命周期通常由6个时期,也就是6个阶段。自动形式的系统开发方法:这个方法是利用第4代技术[3]中的软件作为开发工具,其要求软件开发者说明软件实现的内容和目标,而不需要说明如何实现,这种开发方法根据系统的要求自动设计和编码。 4 计算机软件开发技术的应用 计算机作为一个工具,计算机软件开发者的存在使为了让计算机能更好地服务于人类,因此计算机软件开发技术要真正实现其应用价值才能被称得上成功。这里我通过一个计算机软件开发实例说明计算机软件开发技术的应用价值。采用两种方式开发两个产品,其中第一个产品是运用vb6.0+acess、单机版运行模式进行开发设计,第二个产品是运用web+xml+activex和高级数据库服务器进行开发设计。现利用两种产品分别安装客户机端,其中,采用第一个产品的话,在客户机可直接安装,因为vb虚拟机和acess驱动均是微软历史版本,所以系统可自动兼容;采用第二个产品的话,在客户机要安装activex组件,这时,要更改浏览器安全设置,这就要求客户端安装第二个产品的时候需要多个安装步骤。客户端安装成功后,经过一段时间运行,第一种安装方法运行稳定、无问题,若需备份还原数据或修复安装,用户可单独完成,缺点是随着客户端使用时间的增长用户数据越来越多,在客户端运行后期运行速度会下降,这时需要人为转档。而第二种安装方法在安装、运行上受浏览器安全设置或系统操作版本的限制,给用户的使用带来了一定的不便。这两个例子引起软件开发者对问题的认知。计算机作为一种工具,其存在是为了更好地服务于人类,目前,计算机已经成为大众化工具,计算机软件开发者不能要求使用计算机的工作人员都是专业化人才,因此,在计算机软件开发的过程中要根据需求、实际情况进行投入和开发。在计算机软件开发中要本着“以人为本”的理念,体现软件的易用及功能强大。 5 结束语 计算机软件以硬件为载体,是计算机思想的体现,其处理大量的逻辑、信息,为人们提供一种方便、快捷的信息处理手段。在当前这个信息化时代,软件开发技术有极大的应用价值,因此,科学运用计算机和软件开发知识,以期通过较少的投入获 取高质量、高效率、满足人们需求的软件产品,对于推动现代化、信息化发展大有裨益。 软件开发论文:浅谈软件开发技术在计算机网络教育中的重要性 论文关键词:软件开发技术 网络教育 重要性 论文摘要:随着计算机技术在教育领域的广泛应用,网络教育应运而生。软件开发技术的日趋完善为网络教育飞速发展提供了技术支持。本文从软件开发技术与网络教育的关系角度阐述了软件开发技术在计算机网络教育中的重要性。 计算机自20世纪40年代诞生以来,经过近二十多年来教育技术的发展,已经向社会的各个领域渗透。随着计算机应用的普及、深化,计算机软件技术的规模越来越大。1968年,北约组织的一次研讨会上提出了“软件工程”一词。今天,随着网络教育的不断发展,软件工程的重要性也随之突显出来。 1 计算机软件开发技术的发展过程 软件开发是一个非常复杂的过程,软件开发技术的发展经历了漫长的历史阶段。在软件开发的初期,人们对软件开发的认识主要集中在“软件危机”的解决办法上。20世纪60年代末k.w.dijkstra提出的结构化程序设计技术曾被看作是克服“软件危机”的灵丹妙药,但面对大型软件系统,系统的重要性、稳定性、扩充性却难以实现,20世纪70年代产生的面向对象方法,给软件工程产生了活力。对象管理组织omg在1997年11月将几经修改的uml正式作为基于面向对象技术的标准建模语言,从此又经不断发展、推新,uml目前已成为可视化建模语言事实上的工业标准。 随着soa体系结构的产生以及case技术的不断发展,软件工程技术日趋成熟,发生了质的飞跃,对现代网络教育产生了深远的影响。 2 现代网络教育的特点 随着计算机技术在教育领域的广泛应用,网络教育应运而生,相对传统教育模式而言,网络教育的出现不仅是对传统教育形式的有益补充,同时随着时代的发展,网络教育也越来越呈现出自身的优势,其特点明显体现为:促进了教育形式的变革,实现了传统面授教育向网络远程教育的过渡;促进了教育资源的有效利用,实现了由传统的书本、纸介文字学习材料向多媒体课件、学习软件、网络资料等教学资源转变,最大限度地有效利用学习资源;促进了学习者自主学习,实现了学习者根据自身学习时间和知识基础设计学习计划,获取知识的自主方式;促进了教学管理的自动化,实现了教学管理的软件化、平台化,提升了管理水平和工作效率。 3 软件开发技术对网络教育的意义 网络教育的飞速发展依赖于大量计算机软件的开发和技术发展,软件开发技术为实现并发展网络教育提供了操作平台和技术保障。 3.1 教育资源库的开发为网络教育提供了资源储备 目前,我国的教育资源库开发模型有很多种,资源的内容和采集的模式得到了极大的丰富,为网络教育提供了充足的资源储备。各类学科资源库、开放式教育资源库、资源中心等教育资源与资源数据库紧密结合,大大提高了资源管理的效率。改变了传统的教育资源库脱离数据库而造成数据不可重复使用,数据关联性弱和人工浪费的现状,使教育资源储备形成了快捷、高效、安全的良好发展态势。 3.2 教育管理软件的开发丰富了网络教育的管理手段 技术进步不仅推动人类文明的发展,同时也给教育提供了学习的新知识,对教育观念的转变起到积极地促进作用。教育管理软件的开发丰富了教育的管理手段,使教育的管理方式由传统的认为管理向软件化、信息化管理转化,有效地提高了管理效率,提升了信息准确率,同时也极大地方便了管理信息的存储和备份。随着教育管理软件的普及、应用,也间接地促进了教师和学校管理人员的现代教育技术水平的提高。 3.3 学科分类软件的开发使网络教育更具针对性 学科分类是教育教学资源内容划分的基本方式,它能够将每一学科根据类别划分并进一步细化知识点,促进知识的拓展。因而,在网络教育中学科分类软件的开发与应用对学科分类细化和突出网络教育针对性具有积极的促进作用。学科分类软件的广泛应用促进了课程资源的整合,使整个学科类别和知识的层级划分更加合理清晰、条理分明,结合不同学科的知识特点,更好地突出学科个性。学科分类软件的应用,在细化知识分类的同时也为学生构建了良好的知识资源环境,为教师与学生间的教与学的过程提供了依托平台,促进了互动交流。在这一过程的循环中,也能够较好地体现教师的教学风格,突显教学个性。这也是网络教育的重要特点。 3.4 辅助教学软件的开发使网络教育更具灵活性 软件辅助教学是现代教育理论倡导的新型教育模式。辅助教学软件的大量开发和实践应用使网络教育具有更加灵活的教育方式,突显网络教育的时代特色。同时教学软件的广泛应用有利于促进学生学习自主性的培养,丰富的教学软件资源使学生根据自身特点制定学习计划、选择学习内容、把握学习时长、掌控学习进度,极大地调动了学生自主学习的积极性;有利于学生自学能力的培养,培养了学生自我教育、自我管理、自我服务的良好意识,提高了有效获取知识的能力。 4 结论 网络教育开创了现代教育开放、交互、自主、和谐的教育新模式,适应了现代教育的发展变革,软件开发技术为网络教育的发展提供了有效技术依据。实践证明,随着计算机应用的普及和网络技术的广泛应用,依托于计算机网络的软件开发技术将以多形式、多层次、多角度发展态势,在教育领域乃至人类学习、工作、生活等全方位面临更加广阔的发展未来。 软件开发论文:软件开发套件到位 DaVinci平台应用开发效率再提升 达芬奇,是文艺复兴时期一位意大利籍、极富创新精神的科学家和艺术家;如今在半导体领域,它是强大视频软硬件技术的代名词,是ti德州仪器又一soc开发的心血结晶。 德州仪器dsp业务发展经理郑小龙说,“达芬奇”(davinci)平台的推出,旨在让客户成为“数字视频的创意大师”;希望客户能通过达芬奇平台,更好地实现数字视频的创意,这也是此平台命名的初衷。郑小龙介绍说,面向不同的应用,达芬奇平台目前共有三大家族;首先问世的是dm6446,它包括arm9和c64+内核,以及视频协处理器和视频前端,并具有丰富的外围和网络接口,适合做讲求视频效能的编解码工作。 ip可视电话的开发便是其一。需要同时对影像和声音进行编解码,且对“双向通信”的要求高。它的另一个典型应用是高端摄像机,需内置支持d1视频压缩码流的编解码功能(25帧/秒),以及支持h.264的视频前端,才能获得清晰图像。第二个系列是dm6443,它是履行“裁减艺术”的低成本达芬奇平台。虽然同样包括arm9和c64+内核,但主要侧重在d1解码的输出功能。最后一种是专门针对数码相机所推出的dsc系列,锁定其低功耗和静态影像的特性,特别强化电源管理增强型芯片和jpg2000算法部分,并对高端功能进一步进行裁减。同时由于其属于最终消费品,故而也特别注重对高速总线的支持。 强化组态配置功能 加快设计速度 上市时间永远是数字多媒体产品研发团队工作压力的最大来源,特别是soc化之后,系统的硬件成本虽然显著降低,但固件开发的复杂度也因而提升。如果没有适当的工具协助,研发团队可能得耗费数周以上的时间在整合并最佳化各种固件模块的工作上。以手机系统设计为例,由于硬件的整合度已经很高,因此研发团队在手机硬件设计上花不了太多时间,反倒是手机的软件与固件的编写与整合,占据了整个手机开发流程中大多数的时间。 在davinci这种高度整合的硬件平台上,开发团队也会面临相同的问题。因此德州仪器在最近所推出的软件开发套件中,提供了一套expressdsp组态配置套件(configuration kit),让开发人员可以把多个独立软件模块整合成一个系统可执行的输出文件,这能为他们省下数个月繁杂耗时的手动整合工作。这套组态配置工具还能针对特定规格产生一组量身订制的编码解码器,这不仅简化程序代码的重复使用,开发人员也有更多时间利用他们的工程资源为产品增加更多功能与价值。 此外,鉴于嵌入式系统采用linux操作系统已经成为风潮,在新版开发套件中,ti也从善如流地为davinci平台的核心──dm644x处理器提供一套数字视频最佳化linux操作系统。除了操作系统之外,此平台也包含一套由montavista提供并通过系统测试和实际考验的视频应用最佳化linux电路板支持套件。使用此平台的厂商将直接从ti取得montavista操作系统和devrocket整合开发环境的使用授权和支持,他们可借此取得业界最丰富的linux应用资源。 视频codec一应俱全 系统开发更容易 除了硬件效能与成本具有竞争力之外,完善的软件开发工具环境与庞大的第三方支持社群,一直是德州仪器能够稳居手机应用处理器市场与dsp器件市场的关键。在针对视频应用设计的达芬奇平台推出后,ti也正试图将以往带来成功的策略复制到新平台上,同时以更积极的做法来深化其市场优势。去年9月达芬奇产品正式发表,初试啼声之后,日前另一波达芬奇效应高潮宣告来临! 随着ti这套兼备音频/视频、语音/影像编码格式的全集成开发套件问世,将有效减小数字视频系统的设计复杂性。此次的开发套件由3个部分组成: expressdsp配置工具:利用首款优化的数字视频配置工具,尽可能减小设计工作的复杂性。 数据可视化工具:利用首款全面的图形系统可视化工具实现设计效率与性能的最大化;这套首创图形系统可视化技术可帮助实现系统互动分析、负载分布分析、瓶颈隔离、意外状态识别、基准应用性能,并可在同一图象上同时显示arm与dsp的任务运行情况。 montavistalinux主板支持套件:充分利用首款针对达芬奇数字视频而精心优化的linux内核加速应用开发,既可获取montavista经过验证且通过系统测试的内核与devrocketide以进行linux编程,并可直接从ti获得认证与支持。 细心的读者想必会纳闷:为什么要刻意区别“音频/语音”,以及“视频/影像”呢?我们同样也向ti提出了这么一个疑问。郑小龙的回答是:因为目的不同。动态视频的质量指针是编解码,而静态影像是的关键词在“像素”;同理,音频看重的是“压缩率不能太低”,但单纯的语音应用却想尽可能地把码流降到最低,因此有必要加以区别。 除了在组态配置与操作系统方面提供更完善的支持之外,ti与其开发社群在davinci平台上所提供的codec种类与数量也正在快速提升。从图3就可以看出,目前能在davinci平台上执行的codec几乎已经完整涵盖所有视频应用。此外,为加速先期推广,ti在推出此款开发套件时,同时也祭出60天免费评估计划。所有ti自行研发的编解码软件将免费提供给采用davinci平台的客户免费评估60天,让客户的研发团队可以对各种视频编解码算法的效进行深入评估之后,再决定是否要掏钱购买。在这60天内,如果客户需要相关技术支持,ti的授权软件供应者也将提供4小时免费的支持服务。 软件开发论文:软件开发人员认知风格评测系统开发 1 项目可行性和建设目标 1.1 编写目的 互联网行业对人才的需求量巨大。由于软件行业是当前平均薪酬最高、需求增长最快的行业,不少年轻人并没有考虑自身的特点,盲目地跨进了这一行业而深感无所适从。同时不少公司也为如何选择有潜力的软件精英而伤透脑筋。 优秀的软件从业人员在认知风格上表现出显著的群体特征。他们大多具有很强的推理能力、重组信息的能力和用计算机语言描述思维的能力。如何科学地量化这些特征,事关整个社会人力资源的合理分配和效益发挥。 本软件的设计与编写正是为了测评软件开发人员的认知风格,通过对软件设计人员的认知风格的研究来挖掘其显著特性,以便为人们在专业选择、职业选择、职业教育、公司人才甄别和培训(根据认知风格进行有目的的培训)等方面提供指导和帮助,从而促进软件行业更健康、持久地发展。 1.2 理论基础 赖丁和雷纳给出一个结构模式[1],开发了一套认知风格的综合测评系统——认知风格评测系统(csa)。此系统直接测量“整体/分析”和“言语/表象维度”的两端,由3个子测验构成[1]。第一个子测验通过每次呈现一个要求判断“对”和“错”的陈述,来测试“言语/表象维度”。测验中关于认知范畴的信息的陈述和描述外观的题目的陈述各占一半。赖丁假定表象型的个体由于物体相对容易被表征成心理表象,能够迅速获得用于比较的信息,从而对外观性的陈述做出的反应更快。同时假定言语型个体对认知范畴的项目的反应时间会更短,计算机记录对每个项目的反应时,并且计算“言语/表象”比率。低比率反应的是言语型,高比率反应的是表象型,居于中间位置的被认为是双重型。笔者采用这种方法,要求个体必须既阅读言语型项目,又阅读表象型项目,以便于阅读能力和速度同时得到测试。 另外的两个子测验用于评估“整体/分析”维度。其中的第一个子测验的项目要求个体判断成对的复杂几何图形是否相同。假定“整体型”的个体对这种任务的反应可能相对较快,其中的第二个子测验的项目要求被试通过按两个有标记的键中的一个,来指出作为参考的简单几何图形是否包含在复杂的几何图形中。假定“分析型”的个体把简单图形从镶嵌它在内的复杂几何图形中找出来的速度相对要快些。在进行这一子测验时,计算机同样要记录反应时,计算整体加工与分析加工的比率。低比率反应了整体性加工倾向。显然,高比率反应了分析性加工倾向,介于两者之间的比率被称为“中间型”。 由于在做这些测验时,被试并不知道该测验记录反应时,他们就能以一种轻松的方式接受测试任务,反映出他们通常加工信息的方式。由于使用比率,总体的反应速度并不影响风格的测试结果。在赖丁的研究[2]中给出了开发相应的csa的背景资料。 1.3 改进与实现 假定软件从业人员的认知风格在某维度更偏好些,采取ali reza rezaeia(2003)[3]等人对csa系统的建议,根据csa的测试模型进行修正后制定了具体的4个子测验。小组的成员对csa测试系统进行改进,设计了一个“软件行业从业人员的认知风格测试系统”。 赖丁的csa系统的“表象维度”的测试是用文字描述的,这可能使表象型的被试先要进行“言语/表象”的转换,增加对每个项目的反应时。考虑到这一点,在测试系统的设计中,将表象测试题设计为用图形来呈现。显然,这将提高“表象维度”的测试效度。 考虑到测试时系统主要是根据“反应时”作为衡量不同风格的依据,笔者首选c#系统进行编程。用c#语言工具设计出用于测试软件人员认知风格的系统,将4个子测验进行综合测试。由于在做这些测验时,被试并不知道该测验记录反应时,这样他们就能以一种轻松的方式接受测试任务,从而反映出他们通常加工信息的方式。由于使用了比率,所以总体的反应速度并不影响风格的测试结果。软件开发人员认知风格偏好评测系统如图1所示。 2 业务和功能需求分析 2.1 总体功能模块 本系统主要完成4个主模块,即被试信息管理、试题项目管理、四个分测评和统计分析。其中四个分测评包含两个维度的四个分测试,即整体/分析维度和言语/表象维度的四个分测试。 2.2 被试信息管理 被试信息管理是用于记录被试信息,便于随后的统计与分析的,所以应该具备被试的职业背景选择、性别、成长环境和学习偏好等相关数据。 2.3 四个子测验 1)“表象维度”测试。第一个子测评是以图形方式呈现的对外观认知的项目,用来测试“表象维度”。假设表象型的个体由于物体相对容易被表征成心理表象,从而对图形题干将会做出更快的反应,并且从这些表象中能够直接而迅速地获得用于比较的信息。样题如图2所示,要求被试尽快反应出右边的字母是否是左边字母平面旋转的结果。 2)“言语维度”测试。第二个子测验包含认知范畴的信息来测试言语维度。言语测试题如:“服法:每日服四片,日服三次。儿童减半,或遵医嘱。温开水送下”,表明儿童每天要服6片。言语型的个体对认知范畴的项目反应时间更短,因为表象型的个体需要先将抽象的言语转换为形象来表征。计算机记录被试对每个项目的反应时。 3)“整体维度”测试。第三个子测验包含有成对的简单几何图形组(如图3所示)。此子系统要求个体判断同一组的图形是否相同,从而用来评估整体维度。 4)“分析维度”测试。第四个子测验项目包含一个简单图形和一个复杂图形(如图4所示),它要求被试在复杂图形中找到简单图形用来评估分析维度,这一子测验所考察的是个体对包含在复杂图形里的简单图形的识别能力。它假定分析型的人在这一作业中做得更快。 2.4 被试认知风格所属区间 测试时,系统会随机从每个子测验的测试题目中选择10个题目共组成40题。由于测试中考虑到被试对题目可能没有兴趣,或者大多数题目没有经过大脑的认真思考就回答会影响测试分析的最终结果,因此必须对测试卷的有效性进行合理判断。如果一个测试的每一个项目的错误率达到30%,系统可判定该测试卷为无效试卷,不计于有效样本。 3 结语 系统在被试测试开始过程中,记录下被试对每一个子测验的各个项目的反应时,然后通过计算言语和表象平均反应时的比率,作为整体加工与分析加工比率值。低比率反应了整体加工倾向,高比率反应了分析加工倾向,界于这两者之间的比率为中间型。同理,计算出言语和表象反应时的比率。低比率反应了言语维度倾向,高比率反应了表象维度倾向,比率界于这两者之间的属于中间型。 软件开发论文:计算机应用软件开发中编程语言的选择研究 计算机应用软件开发中编程语言的选择研究 随着社会的发展,应用软件在我们的生活中所发挥的作用越来越大。对于软件开发企业而言,这既是机遇也是挑战,如何提升软件开发的效率和质量,进而提升企业的竞争力成为了当前的一个重要课题。这种背景下,做好计算机应用软件开发中编程语言选择的研究有着重要的意义。 1 常用编程语言分析 了解常用编程语言的特征和优缺点既是我们进行语言选择的前提,也是保证我们编程工作顺利开展的有效手段。 1.1 c语言:c语言是介于高级语言和汇编语言之间的语言,也被我们称之为中级语言,它集中了汇编语言和高级语言的很多优势。在最初的时候,c语言主要应用于unix系统,后来随着人们对其强大性的认识越来越多,到了上个世纪的90年代,这一语言已经成功的应用到了其他操作系统之中。它一直属于最为优秀的编程语言之一。 具体来说,c语言的特点主要可以分为以下几个方面:首先,c语言属于结构化语言,因此,它具有非常清晰的层次,对于我们使用模块化的方式进行程序的组织非常有利,也便于维护和调试。其次,c语言中不仅数据类型以及运算符非常丰富,还能够对内存中的物理地址进行直接的访问,方便我们进行位操作。第三,它的效率非常高,而且移植性比较强,因此,能够移植到各种计算机上,这就方便形成很多版本的c语言。第四,由于可以利用c语言实现位操作以及字节操作,因此,相当于利用这一语言能够实现部分汇编语言的作用。最后,c语言编写的代码具有较高的质量,而且程序在执行起来效率比较高。 1.2 c++语言。1986年,at t贝尔实验室开发出来了c++语言,主要是利用数据封装来减少程序变量的不利影响,进而提升程序的可靠性。它的多继承机制可以更好的对对象的行为及属性进行描述,虽然c++属于c语言的扩展,但是,我们可以将其作为一种全新的语言对待。 c++语言的特点主要有:面向对象、封装、继承以及多态性。具体来说,由于c++语言属于c语言的扩展,所以,它具有很多c语言的特点。另外,在c远的基础上,c++加入了面向对象的编程思想,这就是其能够更好地适应当前大规模项目的需求,举例来说,当前很多系统级编程使用的都是c++语言。 1.3 java语言。java语言相对于c++语言来说,在简洁性以及安全性有着更大的优势,具体来说,其主要的特点有: 首先,简单性:这一点和c++语言比较类似,但是它减少了c++语言中比较容易导致程序错误的地方,比如指针以及内存管理。其次,java语言属于完全面向对象语言,这一点和smalltalk比较类似,当然相对于smalltalk,它的很多方面又存在着巨大的优势。第三,分布式,在java语言中,包涵了支持基于tcp/ip协议的子库。第四,健壮性,java语言中的类型检查可以帮助我们查出很多软件开发初期出现的错误,降低内存出错的几率。第五,结构中立,在使用java语言编程的时候,会把程序编译为中间文件格式,也就是说只要存在java运行系统的机器都能够对这种中间代码进行执行。第六,安全,它删除了手动释放内存等,很好的防止了非法的内存操作。 此外,除了以上的优势之外,java语言还具备可移植性好、解释性强、高性能以及多线程等特点,这里限于篇幅不再对其进行详细的分析。当前,java语言主要应用在web浏览器以及网络应用系统之中。 1.4 c#语言。这种语言有着类型安全、精确、简单以及面向对象的特点。它属于.net的代表语言。具体来说,其特点是: 首先,完全面向对象。其次,对于分布式有很强的支持,也就是说其处理的过程是分布在服务器以及客户机上的,从这张语言的诞生过 程我们可以发现其注定就可以很好的解决分布式的问题。第三,健壮,在检查程序错误以及运行错误方面,c#语言一点不比java语言要差,它使用的也是自动管理内存机制。第四,灵活性比较高,比如在默认情况下,c#语言是不可以使用指针的,但是如果有必要我们可以将指针打开来使用。第五,安全性比较高,它的安全性是由.net平台来提供的。 此外,c#语言还具备可移植性、解释性、高性能、多线程、组件模式等特点,总体来说,它属于java流行之后的有一种语言,但是由于微软系统的支持,使其在windows方面相对于java有着更大的优势。当前,这一语言的主要应用有网络编程、数据库、窗体编程等方面。 1.5 pascal语言。这是计算机通用的高级程序设计语言,它的主要特点是结构化形式比较严格、数据类型非常丰富、查错能力较高以及运行的效率高等。正是由于这些优势,使得这一语言可以对各种算法以及数据结构进行描述。另外,利用这种语言,可以帮助我们编程者保持一个很好的习惯和设计风格。 总体来说,每一种语言都有其独特的优势和应用范围,在计算机应用软件开发过程中如果能够使用最合适的语言将极大地降低我们的工作量,提升我们的工作效率。 2 计算机应用软件开发中编程语言选择的原则 了解了各种编程语言的特点并不能帮助选择出最合适的语言,我们还要掌握编程语言选择过程中的原则: 首先,我们在确定编程语言以前充分考虑开发项目的整体架构,一般情况下,并不是说整个系统都必须要使用同一种编程语言进行编写,语言的选择将会给组件分解及连接带了较大的影响。其次,对开销比较大的操作要我们要进行认真的考虑,比如图形渲染、密码学、视频处理以及信号处理等操作,我们最好选择静态类型的语言。第三,如果条件允许,我们要尽量使用最为熟悉的语言,通过这种做法可以更好的对软件工程项目时间表进行预测,进而降低了变数出现的几率。第四,假如软件主要应用于重复处理手工劳动,那么我们要选择灵活、简单的编程语言,如果某种语言可以与生俱来来实现这些功能则最佳。第五,对开发硬件环境进行充分的考虑,并不是全部的编程语言都可以很好地适应于受限的硬件环境。一般来说,虽然当前的硬件基本已经足够了,但是对于以下较为特殊的应用来说,这一问题依旧严重。所以,要选择使编出来的程序可以较好的运行在这种环境中的语言。第六,不论应用软件开发过程中使用了哪种编程语言,确保编出来的程序可以实现快速调整是一项重要的前提,所以,快速原型是很重要的,基于此,动态语言是一个不错的选择,它可以和和很多相关库进行结合。第七,支持平台也是我们在编程语言选择过程中需要考虑的因素,比如,假如我们代码要在浏览器中运行,那么就可以排除很多不合适的编程语言。第八,在编程过程中,有些文件格式将会涉及到位操作,所以,我们还要对项目是否需要大量位操作进行考虑,一般来说,如果有这方面的要求,我们最好选择容易位操作而且可以提供合适数据类型的编程语言。最后,针对一些特殊领域,我们可以考虑使用专业的编程语言,它既能够节省很多的工作时间,还可以防止编程出现较大的失误。 3 结语 软件开发过程中,编程语言的选择和编程的效率、质量有着非常大的关系,做好这一工作可以使我们的工作事半功倍。因此,在具体的工作中,我们应加强学习,对这些编程语言特点进行深入的了解,以寻找出最合适的编程语言。 软件开发论文:软件开发中的嵌入式软件开发 在一般应用软件系统开发时,程序员只需要考虑软件系统的功能设计,硬件部分直接根据软件需求购买即可。嵌入式软件的开发则需要软硬件综合开发,这有两方面的原因:一方面,任何一个嵌入式产品都是软硬件的结合体;另一方面,一旦嵌入式产品研制完成后,软件就已经固化在硬件环境中,用户不能对其修改。嵌入式软件的这一特点决定了嵌入式应用开发方式不同于传统的软件工程方法。 1 嵌入式软件开发的特点 嵌入式软件的开发具有如下几方面的特点: 1)需要交叉开发工具和环境。由于嵌入式软件本身不具备自主开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,因此必须有一套开发工具和环境才能进行开发。这些工具和环境一般基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机交叉开发的概念,主机用于程序的开发、调试,目标机作为最后的执行机构。开发时主机和目标机需要交替结合进行。 2)软硬件协同设计。软硬件协同设计涉及以下方面:嵌入式软件设计、实时系统设计、硬件设计和软件设计。软硬件协同设计强调硬件与软件的协同性与整合性、软件与硬件的可裁减,以满足系统对功能、成本、体积和功耗等要求。 3)嵌入式软件开发人员以应用专家为主。通用计算机的开发人员一般是计算机科学或计算机工程方面的专业人士,而嵌入式软件则是要和各个不同行业的应用相结合的,要求更多的计算机以外的专业知识,其开发人员往往是各个应用领域的专家。 4)软件要求固态化存储。为了提高执行速度和系统可靠性,嵌入系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中。 5)软件代码高质量、高可靠性。尽管半导体技术的发展使处理器速度不断提高,片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和编译工具的质量要高,以减少程序二进制代码长度,提高执行速度。嵌入式软件的核心是系统软件和应用软件,由于存储空间有限,因而要求软件代码紧凑、可靠,大多对实时性有严格要求。 6)系统软件的高实时性。在多任务嵌入式软件中,对重要性各不相同的任务进行统筹兼顾和合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的高实时性是基本要求。嵌入式软件应用程序虽然可以没有操作系统直接在芯片上运行,但是为了合理地调度多任务,利用系统资源,系统一般以成熟的实时操作系统作为开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。 2 软硬件协同设计概念 嵌入式软件设计是使用一组物理硬件和软件来完成所需功能的过程。系统是指任何由硬件、软件或者两者的结合来构成的功能设备。由于嵌入式软件是一个专用系统,所以在嵌入式产品的设计过程中,软件设计和硬件设计是紧密结合、相互协调的。这就产生了一种全新的发展中的设计理论——软硬件协同设计。这种方法的特点是,在设计时从系统功能的实现角度考虑,把实现时的软硬件同时考虑进去,硬件设计包括芯片级“功能定制”设计。既可最大限度地利用有效资源,缩短开发周期,又能取得更好的设计效果。 系统协同设计的整个流程从确定系统要求开始,包含系统要求的功能、性能、功耗、成本、可靠性和开发时间等。这些要求形成了由项目开发小组和市场专家共同制定的初步说明文档。系统设计首先确定所需的功能。复杂系统设计最常用的方法是将整个系统划分为较简单的子系统及这些子系统的模块组合,然后以一种选定的语言对各个对象子系统加以描述,产生设计说明文档。其次,是把系统功能转换成组织结构,将抽象的功能描述模型转换成组织结构模型。由于针对一个系统可建立多种模型,因此应根据系统的仿真和先前的经验米选择模型。 3 嵌入式软件开发的方法论 在建立一个完整的嵌入式软件或是产品时,大部分系统都很复杂,不但功能规格很多,还必须考虑例如价格、性能等其他因素,否则很容易做出一个失败的系统或是产品。因此,在进行系统开发之前,必须先了解一些系统设计技术,使得在开发过程中更为顺利。一般来说,产品设计的过程会经历几个步骤,为了确保这些步骤的合理性,我们需要一个设计方法论来面对整个设计过程。采用方法论有以下三个重要理由。 确认所做的每一件事情都是必须要做的,不做无谓的工作,也不漏掉关键性的重要工作,其中包含性能最佳化或是功能测试。 根据设计方法论可以发展出计算机辅助工具或是设计经验累积,汲取每一次产品开发的经验。再经过量化之后,可以发展出一套工具或是方法,让往后的产品设计步入自动化。 开发团队遵循同一套方法论,可以让团队成员更容易彼此沟通。每个人都能在短时间内了解整体过程中将经历哪些过程,需要何种支持与接收到何种结果。此外,也容易通过一套已经定义好的方法论,彼此相互合作协调。设计过程的目标是做出有一定用途且具有创新点的产品。产品的典型规格包含功能性、制造成本、性能表现、省电考虑和其他特性。 4 结束语 嵌入式系统开发是在开发过程中综合考虑软硬件环境和需求,这样开发的软件产品不仅能使系统与硬件的驱动默契更高,还能有效缩短开发周期。由于能够有效解决软件危机带来的危害,嵌入式系统开发成为系统开发的主要趋势也是不可避免的。 软件开发论文:谈嵌入式系统软件开发技术 引言 嵌人式系统开发经过30多年的发展,到现在算是一个成熟的技术了。由此可以从总体上确认在嵌入式系统开发展过程中出现的几种明显趋势,这些趋势指出了一系列新兴的关键技术。 1 微处理器技术 最早的微处理器是4位和8位器件。由于制造技术越来越复杂,集成的单片8位微处理器开始出现,16位微处理器也开始使用。随着微电子技术的发展,16位的微处理器已得到广泛的应用。32位架构的器件逐渐占领了高端的应用市场,第一代的32位器件都是cisc架构,但目前,越来越多的risc芯片正在提供更高的性能。嵌人式系统设计者选择微处理器的范围比以前大了,必须根据性能、需求、支持、可用性和价格来进行选择。 2 系统架构 随着微处理器的发展系统架构也在进步。最早的系统,是由cpu和一些逻辑器件组成的。多年以来,系统变得日益复杂,但都还可以使用同样的调试技术—电路仿真、芯片级调试、rom监控器以及指令集模拟。嵌入式系统日益强劲,而功能需求的增长则更快很多设计者开始重新审视微处理器和它们的用法。 3 设计组成 嵌入式系统发展的最初阶段。所有的开发包括软件和硬件设计,通常都是一个工程师来承担。软件在整个工作址中的比例很小,大约5%-10%。随着时间的推移软件开发占工程时间的比例持续增长。至20世纪80年代中期,软件开发已经是由专业欢件人员来做,所占比例一般已超过整个开发工作量的50%。 在最近几年,虽然硬件设计变得更加复杂,但软件的份量也急剧增长,目前通常占到开发总量70%-80%。因此,需要有软件团队参与,同时也产生了一些新的挑战。这些挑战中的一个,就是要有可用的硬件平台来进行软件测试。由于要在更短的时间内开发更多的软件,就需要尽快建立测试环境。发出更多的软件,就需要尽快建立测试环境。有多种可行的方法,如本地代码执行原型环境、指令集软仿真(模拟),以及使用标准的、低成本的、现成的评估板。此外,低成本的主机一目标机连接技术,也变得越来越普及,有代表性的就是jtag接口。 4 软件内容 软件开发所占总时间的比例一直在增加。同时,来自全球贸易和竞争的压力使得产品投放市场的时间也一直在缩短。这极大地影响了设计的策略。最早的设计相当简单,仅仅由自己设计的应用代码组成。随着系统的复杂度增加,多任务的模型被软件开发者广泛采纳,很多开发者选择标准的、商用的实时操作系统产品。随着各个标准的进一步被采纳,买来的软件,或者说有“知识产权”的软件所占的比例正稳步增长。这个趋势给了软件开发者很多启示。集成标准的软件组件—和应用代码及其他—是我们所关心的。在多任务背景下调试是另一个值得关注的问题。与选择知识产权有关的商业决定尤为复杂;除了当前的要求之外,还有将来的(例如移植到别的处理器)也必须加以考虑。 5 编程语言 对于早期的4位和8位微处理器,汇编语言是唯一的选择。随着16位微处理器技术成为现实,出现了几种可供选择的语言。有pascal和c语言和pl/m语言。对某些类型的系统来说,forth语言也曾很流行,随着时间推移,32位技术的使用日益增多,出现了c和ada。后者在国防部的系统中被普遍使用。 在嵌入式软件开发中,c++开始逐步取代c语言。现在,1/4~1/3的嵌入式系统代码是用c++编写的。java语言当初是专门为嵌人式应用开发的,在要求运行时重新配置的应用场合,它找到了一席之地。统一建模语言(uml)也成为高级设计方法学的最流行选择。 6 软件队伍的规模和分布 正如先前讨论的一样,最初的嵌人式系统设计只要一个人就够了。在适当的时候,因专业化,产生了致力于软件开发的工程师。下一步就是建立嵌人式软件开发团队。管理软件开发在任何情况下都是一个挑战,嵌入式系统开发也不例外,只是有细微差别。使用传统的编程技术———过程语言,如c语言和汇编语言,团队里的大部分成员都需要对整个系统了解比较全面。随着团队变大,这就变得越来越不可行。价况住往是,团队里有一些特殊的人才,他们对某些专门领域很在行。为了有效地管理团队必须使用合适的策略,将他们的专长封装起来。尽可能使一个专家的工作成果能够被非专家以安全、可靠和直观的方式加以使用.在这种情况下,面向对象编程技术找到应用点。 虽然有很多非常大的公司,但软件队伍不是简单的人员扩充他们正在变成分布式的。团队的一些成员在一个地方,而其他的可能在别处。这些地点甚至有可能位于不同的国家。这种安排在欧洲很常见,在那里,真正关心的可能是交流的语言。其他地方,时区可能是个问题(可能也是一个优势,因为分布式的团队可以全天候工作)。随着新兴的技术中心(如印度)广泛崛起,上述情况越来越普遍。在这一背景不,软件组件的可重用性需求就变得很常见了。 7 uml和建模 最近几年,uml己经成为一项关键的设计方法,它和逐渐增七的嵌人式软件团队规模关系密切。广义上说,使用设计工具的方式有2种:或者是作为编写代码的指导,或者就作为直接生成代码的一种手段。对于嵌人式软件来说,代码生成是有争议的,它可能会被争论(而且还很有道理)—每一个系统都是不同的,都有各自的特殊需求。这正是xtuml(可执行和可翻译的uml)吸引人的地方,因为它使得应用与架构清晰地分离了。这里所遵循的,是与面向对象编程同样的原则—使用工具和技术来平衡专家意见。 追踪所有被当前各种嵌人式系统开发趋势所驱动的新技术并非易事。孤立地看待其中任何一项技术也是毫无意义的,因为它们之间有着许多联系。例如,多任务与多处理器调试相关;基于标准的rtos技术对处理器移植来说真是件幸事;使用设计方法学可以令实现更容易。 软件开发论文:关于在嵌入式软件开发中应用模型驱动开发技术的探讨 随着现代电子技术的不断发展,嵌入式系统已经广泛渗透到我们的工作、生活中,从家用电器、手持通信设备、汽车、到信息终端、仪器仪表、航天航空、军事装备、制造工业、过程控制等,都充斥着嵌入式系统的应用。 随着嵌入式软件快速发展,传统嵌入式系统的开发手段已越来越难以满足日益增长的复杂性和质量要求。当前,嵌入式软件开发大多采用文档形式。但文档形式嵌入式软件开发存在着许多弊端:文档本身在传递过程中是不可测试的,因此在软件开发的各个阶段之间形成了沟通障碍。由于不可测试,需求的错误被逐层积累,只有系统测试时才能发现。这就产生了矛盾:大部分错误已积累形成,但只能在后面发现。因此在纠正错误时,文档架构代价高昂。 为了解决上述传统嵌入式软件开发存在的问题,提高嵌入式软件开发的开发效率、保证嵌入式软件的质量,本文探讨将模型驱动开发技术应用到嵌入式软件开发过程。 一、模型驱动开发技术 模型驱动开发(model-driven development,mdd )是mda中的一部分。mda是模型驱动体系架构(model-driven architecture)的简称,由对象管理组织(object management group,omg)所驱动。mda表示了一种模型驱动开发方法的概念框架。然而,尽管完整的mda还没有成为现实,但模型驱动开发现在已成为可能[1]。 软件开发一般要经历软件需求分析、软件概要设计、软件详细设计、编码实现、软件测试几个阶段。每个阶段都可以产生每个阶段的相应模型。这些产生的模型,可以在工具环境中进行调试验证,尽可能在系统开发的早期发现其中的错误,同时也可以克服采用自然语言作为文档工具出现的不准确、不科学的描述。在开发的最后阶段,考虑软硬件平台的实现,保证开发过程与软硬件平台的无关性,有利于系统的开放性和可移植性的提高。整个过程也是一个不断迭代开发的过程,这种通过可调试模型驱动的迭代方式,由于不是首先从浩瀚复杂的代码中入手,而是首先从清晰易懂的模型出发,使得系统的更新变得比较容易[2]。 二、模型驱动开发的优势 模型驱动开发的一个优点是可以消除开发过程中各参与方之间的隔阂,需求工程师,系统分析员,软件开发人员和测试者都可以使用同一种预言。他们可能专注于语言的不同部分,以满足他们的需要,但他们都会共用一些基本的结构,并对他们工作的系统有一个统一的认识。而且使用统一的语言有助于消除角色间的界限,使得在项目的不同阶段人员转换到被需要的角色更加容易。还有另外一些人需要知道项目的进展情况,包括项目领导、经理和评估委员会。更重要的是,用户也需要知道什么将会被交付,需要加入到整个开发过程中,与创建系统的不同人员进行交流。一种图形建模语言,比如统一建模语言(unified modeling language,uml),使得各参与方之间的交流成为可能,帮助架起参与方与某些系统复杂功能之间的桥梁。模型驱动开发正逐渐获得公司高级管理者注意,其中的一个主要原因就是这种能够逐渐增加用户、管理层和大的组织机构参与的能力。 模型驱动开发的另一个优点是把系统和软件开发更多地纳入到系统和软件工程规则中。模型驱动开发是关于开发和维护系统的,系统并不只是由应用程序组成,还包括其他的部分,使得人们可以理解这个应用程序。一个模型可以包含明显可执行的部分,但它几乎总是还有其他部分,并不能被运行,比如需求、系统的粗略框架、分析模型。在项目开发时,所有这些都应该被创建出来并保持最新,它们对于将来的维护非常重要。 模型驱动开发可以使嵌入式软件开发过程花费更少的时间用于实现和测试阶段,更多的时间用于分析和设计阶段,当迭代重复这些过程时,会发现,这种方式的好处是实实在在的。 三、模型驱动开发在嵌入式软件开发中的应用前景 目前,模型驱动开发技术还处于新兴阶段,在嵌入式软件开发领域的发展仍然处于起步阶段。在一段时间内,传统的文档形式软件开发仍将是主流的嵌入式软件开发手段。但传统的嵌入式软件开发存在的诸多弊端决定了其必将被新的开发技术所取代,而模型驱动开发技术正是解决这些问题的有效手段。 嵌入式软件开发领域专业技术人员正在不断年轻化,他们能够更快的接受新的技术理念,积累新的技术知识。因此,他们会持续关注模型驱动开发技术的发展,并研究将模型驱动开发技术应用到嵌入式软件开发过程中的契合点。在年轻的专业技术人员逐渐占据主导地位后,必将会逐渐把积累的先进技术理念和知识应用到工程实践中去,采用模型驱动开发技术这种更合理、更有效的技术手段去保证项目开发的效率和质量。 四、结论 随着模型驱动开发技术的不断发展、完善和推广,相关模型驱动开发工具环境的不断出现,以及嵌入式软件领域的系统设计人员和开发人员对于模型驱动技术的不断深入了解,模型驱动开发技术在嵌入式软件开发中必将得到广泛应用。 软件开发论文:试析软件开发生命周期各阶段的应用软件安全性测试 论文关键词:网络应用软件 软件开发生命周期osd动 安全性测试 项目设计 单元测试 集成测试 验收侧试 论文摘要:文章论述了软件开发生命周期中每个阶段添加的一系列关泣安全性的活动,提出将安奋浏试整合到软件开发生命周期中,分析了软件安全性浏试片祠试人员的要求,并以一个sql注入实例来具体说明安全性浏试在软。 信息网络安全事件发生比例的不断攀升、病毒利用软件漏洞猖狂地传播使得人们越发认识到信息安全的重要性。一般认为,传统的信息安全技术可以借助防火墙(包括软件和硬件防火墙)审核通过网络的报文、限定用户的访问权限等来防止非授权用户对重要数据的访问,但是这一观点是建立在软件安全基础上的。网络应用软件需要暴露在网络环境下,并且授权外部用户可以透过网络来访问此软件。通过网络,攻击者有机会接触到软件,如果软件本身存在漏洞,那么所有的防火墙就形同虚设。暴露于网络的应用软件往往成为被攻击的目标,是网络应用软件安全的重灾区。美国国家标准与技术研究院(nist)2002年的一项研究表明,美国花费在软件缺陷方面的费用达到595亿美元。公安部2008年全国信息网络安全状况与计算机病毒疫情调查分析报b说明,在发生的安全事件中,未修补或防范软件漏洞仍然是导致安全事件发生的最主要原因。 1安全测试的定义 安全测试是鉴别信息系统数据保护和功能维护的过程。安全测试需要涵盖的6个基本安全概念是:保密性、完整性、权限(身份验证)、授权(权限分配)、可提供性、不可抵赖性阴。软件开发商都存在解决安全威胁方古的问题。对软件开发商来说,安全性是其核心要求,这是由市场力量所驱动,也是由保护关键基础结构及建立和保持计算的广泛信任的需要所决定的。所有软件开发商面对的一个主要挑战就是创建更加安全的软件,使其不需要频繁地通过修补程序进行更新。软件安全已经成为评判软件质量的一个重要标准,软件安全测试则成为保证软件产品能够符合这一标准的重要手段。软件的安全性测试主要是测试在正常和非正常情况下,软件能否对数据进行安全有效的操作。 2软件开发生命周期流程(参见图1) 对于软件行业来说,要满足当今提升安全性的需要,软件供应商必须转为采用一种更严格的、更加关注安全性的软件开发流程。这种流程旨在尽量减少设计、编码和文档编写过程中存在的漏洞,并在软件开发生命周期中尽可能早地检测到并消除这些漏洞。用于处理来自internet的输人、控制可能被攻击的关键系统或处理个人身份信息的企业和消费者软件最需要实施这种流程。在很多实际的软件开发项目中,安全测试已经成为sdl一个不可或缺的组成部分,并成为整个项目过程中的长期任务。黑盒一白盒测试方法往往执行在产品递交客户之前,但有的甚至在投人使用之后都未进行安全检测和风险评估;在一些安全性要求较高的项目中,虽然将安全风险评估纳人预算,但在实际操作中却对其并未作过多考虑。这样,所导致的直接后果是在开发工作几近完成的情况下进行问题分析处理所造成的成本将远远大于在软件开发阶段进行缺陷修改的成本。即便是从充分利用现有的有限资金和资源的角度来考虑,也有必要将安全测试囊括到sdl中。这样做虽然不能取代软件开发后期的渗透测试和脆弱性测试,却可以有效减少后者在施过程中的投人。 开发人员应该根据客户的功能需求来制定相应的安全规约,利用内建的明确的控制机制来降低安全风险。开发人员可以根据风险评估的结果来确定测试项目:软件能否可靠运行(safety)以及软件运行结果是否可靠(security)。 软件开发生命周期((sdl)中常用的测试方法有:单元测试、集成测试和验收测试。 2.1需求、设计阶段—安全性分析 在软件项目的设计过程中,人们往往只是关注系统的特性和功能,而没有充分考虑其他重要的非功能问题(例如性能、可用性、平台支持、安全,及要在稍后的软件开发生命周期中需要解决的安全性),导致了项目中许多不必要的波动和延迟。由于安全性分析影响了整个的设计和架构,因此应该在项目设计阶段充分地审查和了解它们。 安全性考虑包括一系列问题,例如访问控制和授权、敏感数据的适当处理、数据和存储器访问的适当使用,以及加密方法。一些安全性需求不是非功能的需求,如所实施的加密类型。另外,许多安全性需求是更直接地面向用例的,并且需要定义主要场景,以及定义备选路径和异常路径。在没有将功能的和非功能的需求适当地定义及并人软件中的情况下,编码错误和设计缺陷会表现出关键的信息和操作处于危险。我们应该像对待其他的需求那样处理安全性需求,并将安全性需求划分出优先级,设定范围,同时作为整体用例和功能需求的一部分进行管理。 2.2实施阶段—单元测试 受测试方式的影响,开发者对软件安全风险的评估不可能面面俱到。最典型的就是在代码设计阶段,开发者可以通过单元测试来检验代码行为,这些结果都是可以预知的,但是受到范围的局限,不能测试这些类或者模块集成后的行为。 实施单元测试可以从软件基本单位(单个类)的检测上保证输人的有效性;在可能出现恶意攻击的地方,也可以利用这一思想来组织针对单个类或者方法的单元测试,从而组织起软件内部的纵深防御策略,防止恶意行为对软件安全造成的损害。但是,这一方法将软件各组件进行强制孤立,因此对于因大量组件交互而引起的软件缺陷,利用此种方法无法检测。 单元层的安全测试比较适合于防止缓冲区溢出,格式化字符串以及数据缺失的审核。 2.3验证阶段—集成测试 在集成层,软件的整体安全属性变得可见和可测试,使得这一层的可测试属性数量相对单元层而言要多得多,但是对于跨站脚本和网络服务器提供的一些服务(例如安全套接层ssl和url过滤)的测试,存在一定的困难。我们可以将实际案例和风险分析的结果作为组织集成测试的指南。 集成测试要求测试人员通过安全测试培训,并且是有熟练技术的软件开发人员。 在这一层,我们可以开展诸如注人缺陷验证、旁路验证以及访问控制等方面的安全测试,来源于外部代码的安全审查结果也应该以集成测试的方式加以确认。 2.4阶段—验收测试 验收测试是软件产品交付客户之前的最后一个测试阶段,是在真实的测试环境中,利用基于恶意事件的安全检测模板,测试在典型的渗透活动中可被识别的安全缺陷。验收测试的这一特性(基于安全检测模板),使得我们可以借助于强大的自动化测试软件进行检测,并且可以用验收测试的结果来完善渗透测试报告内容,从而有助于开发人员理解软件的脆弱性以及针对软件脆弱性所采取的补救措施是否有效。 验收测试针对软件的外部api,因此不如单元测试和集成测试松散,并且只能测试当前已知且暴露的漏洞或者缺陷。非定制的商业软件重新设计的关键功能或者其他改变都会影响到软件的整体安全性,因此,如果改变会使得软件产生不可预知的缺陷,针对这些缺陷的测试就应该在单元层或者集成层开展,而不是在验收层。 在验收层,我们可以测试针对解释性程序(sql, xpath,ldap等)的注人式攻击、跨站脚本攻击、跨站请求伪造等。缓冲区溢出及格式化字符串等软件缺陷也可以在验收测试层得到检测。 3安全测试队伍 软件测试一度被认为是编程能力偏低的员工的工作,直到今天,仍然有许多公司把优秀的人才安排在编码工作上,也有更多公司让优秀的人才进行设计,仅有很少公司让优秀的人才进行测试工作。实际的软件工程实践证明,让对软件思想有深刻理解的工程师进行软件测试,可以大幅度地提高软件质量软件供应商还必须认识到组织测试人员进行“安全进修”对安全测试的成功实施至关重要。在这些情况下,软件供应商必须负责对其工程人员进行适当教育。根据组织的规模和可用的资源,拥有大批工程人员的组织可建立一个内部计划对其工程师进行在职安全培训,而小型组织则可能需要依赖外部培训。 测试人员要像攻击者那样带有“恶意的”想法去思考,而且在测试软件时还要扮演攻击者,攻击自己的系统,以此来帮助发现软件的安全漏洞。安全测试并不会总是直接导致安全溢出或者暴露可利用的漏洞,从而引出安全缺陷。要安全测试尽可能地发挥作用,测试人员需具备较强的分析能力,而这更多的是依靠熟练的开发技术和开发经验。 4漏洞举例:一个sql的注入式漏洞 有几种情形使得sql注人攻击成为可能。最常见的原因是,使用拼接形成的sql语句去操作数据库。譬如,传入用户输人的管理员用户名和密码,把这2个参数拼接形成sql语句,通过执行该sql语句,以便验证用户输人的管理员用户名和密码的正确性。具体过程如下: 一般情况下,用户传人正常的用户名和密码进行验证,如传人“myname”和“mypassword”进行验证,得到的sql语句将是: 这个sql语句很正常。但是,这只是开发人员预期的做法:通过管理员用户名和密码来验证账户信息。但因为参数值没有被正确地加码,黑客可以很容易地修改查询字符串的值,以改变sql语句的逻辑。譬如,分别传人“myname’ ori=1--” , "mypassword",得到的sql语句将是: 在用户名“myname’ or i=i--”中,第一个“”’结束了原有字符串中第一个单撇号的配对,"or”后面的“i=i”会导致不管前面的验证结果如何,都会返回真true值,而随后的“一”将把其后的sql语句注释掉。现在问题出现了,不管使用什么用户名和密码,都能验证通过。在存在漏洞的数据显示页面,如果注人join语句,就能获取数据库里的所有数据,显示在页面上,如获取用户名、密码等;而注入up-date/insert/delete语句将改变数据,如添加新的管理员账号等。这样,数据库将不再安全。 sql注人安全漏洞的形成,根本在于sql语句的拼接,只要放弃sql语句拼接,适用规范的加码访问方式,问题自然迎刃而解。以下便是修改后的安全验证方法: 5结论 为符合软件的安全性要求,开发人员在开发过程中应尽可能多地进行安全分析、安全性测试。安全检测效能的充分发挥依赖于开发人员与安全测试人员的密切配合以及对相关人员在安全教育方面的再投资。对于安全问题,在软件完成后进行处理比在代码编写阶段处理付出的代价要大得多。包含了安全因素在内的经过完全测试的最终产品,自然具有保密性、完整性、权限(身份验证)、授权(权限分配)、可提供性、不可抵赖性。 软件开发论文:软件开发中小型项目的开发流程与特点分析 随着计算机技术的飞速发展,软件开发也已经有了五六十年的发展历史了,从上个世纪90年代以来,世界软件产业获得了飞速的发展。 一、软件开发中小型项目发展的现状 首先项目管理意识差,在项目开发过程中,一定程度的存在有人无事情做以及有事情无人做的现象。项目开发中的技术经理一心专研技术,无暇顾及各种管理事务,同时,专门聘请的项目管理经理又由于不了解项目具体问题,不涉及系统的分析设计,出现了无事情可做的现象。其次是项目成本意识差,很多项目经理都是从技术骨干当中而来,对规格、进度和成本之间的平衡知之甚少,所以在对资源进行申请的时候很好考虑成本的因素。第三是项目计划制定不合理,在制定项目计划的时候不严谨、可操作性差、随意性大,并且也没有能够贯穿于整个项目之中。第四是文档编写不规范,没有能够进行及时的更新,往往是文档写在功能模块实现完之后,并且是凭工程师的记忆来写。第五是不重视软件测试,在开发中没有规范的测试文档、没有详尽的测试用例。第六是团队意识差,各成员之间不够团结,甚至是存在矛盾,导致技术交流缺乏,出现很多模块之间的问题。 二、软件开发的特点 软件是由程序、文档和数据组成,是为实现软件产品而进行的活动,首先它具有临时性,对于软件开发的开始和结束都很明确,和一般的日常工作不相同。其次是独特性,每一个软件开发都有自己明确的目标,和其他项目不相同。第三是渐进明细性,软件开发是一个不断改进、不断完善的过程,软件开发不可能一次性完成并永久使用,在信息技术的不断发展中,以及软件技术人员的水平不断提高的基础上,软件开发肯定是一个不断进取的过程。第四是知识与技术特性,在软件开发中,存在着大量的智力型活动,需要用到管理学、现代信息技术等知识。第五是要以客户为中心,软件开发最终是需要客户接受的,通过客户接受才能实现它的价值,因此软件开发不仅要满足系统功能和性能,还要适应不同的用户以及不同观点的人的使用。 三、软件开发中小型项目的开发流程 结合软件开发的特点,为了更好的解决软件开发中小型项目开发现状中存在的问题,提高项目管理意识、控制项目成本,软件开发中小型项目开发的流程主要分为以下几个阶段。首先是软件开发中小型项目开发的启动阶段,在这个阶段中,要建立项目管理过程规范,对各种软件项目计划和需求管理进行建立,保证工作计划在软件项目活动管理中的可行性。比如制定软件质量保证计划、软件开发计划、软件测试计划、软件配置管理计划、过程改进计划、风险管理计划等。在软件开发计划中要明确项目组的费用预算和资源安排、项目组与客户之间的介入关系、项目组各成员分工安排等。特别是在软件项目启动的时候就需要开展软件质量保证活动,对项目明显和潜在的风险进行分析识别,明确各风险管理项的跟踪管理方式。其次是软件项目的实施阶段,在这个阶段中重点关注风险和需求的跟踪,开发成果、开发计划与进度和活动的一致性。成立sqa部门,指定软件质量保证负责人,通过建立bug,实现对问题的跟踪。在同一的标准结构下建立项目配置库,有效的和客户进行沟通,对客户新的需求进行及时的更改,对工作的成果进行及时的标识和管理。控制好项目成果的入库、出库和更新,更新和都由专门的管理人员统一进行,将工作成果在的时候打上标签,保证项目成员手头是统一版本的工作成果,避免在阶段工作中,由于工作成果不一致导致版本混乱,甚至是出现返工的现象,从而影响到整个项目的进度。同时,要定期或不定期的对配置库内容和软件产品基线的状态进行检查,保证库内成果的可用性和配置库的完整性。项目阶段成果和项目重要计划都必须经过严格评审,并且要取得相关方的承诺和一致认同。在项目编码阶段,互查单个工作产品的普及代码,保证单位模块的质量。在工作成果的每一次评审之前,给各位评审人员通报评审内容和范围,使评审人员更加充分的了解评审内容,从而提高评审效率,起到保证评审质量的作用。在评审中发现的缺陷,应该立即纠正,并且同时指定责任人跟踪缺陷解决过程,使缺陷能够全部被解决掉。第三是可行性研究和分析阶段,在这个阶段中要进行充分的调研、了解、分析,有项目经理和开发部经理参与完成可行性研究报告、软件需求说明书、产品需求说明书和项目开发计划。第四是软件开发设计阶段,在这个阶段中,主要是进行设计、软件平台选型、数据库和数据文件的设计、io设计、编码设计、操作流程设计、模块接口设计等。第五是软件实现阶段,在这个阶段中,主要是代码的实现、软件的跟踪调试、软件的单元和整体测试、修订软件设计说明书、编写测试文档等。第六是软件发放和维护阶段,这个阶段主要是对产品进行评价,编写产品发放报告、综合评价产品、交付给用户使用、跟进用户的问题等。 软件开发论文:浅谈在软件开发管理中的误区及对策 【摘要】在软件项目开发的过程中,软件项目管理的成功与否是决定一个项目是否能够顺利高效率完成的重要保证。但是我国大部分的软件企业在进行项目管理时都存在着各种问题,从而使项目不能顺利有效地完成。文章探讨了在项目管理过程里出现的常见问题,并给出了相应的解决策略。 【关键词】软件项目管理;项目经理;项目计划 软件行业在现在的众多行业里是一个极具挑战性和创造性的行业,体现了软件开发者的智慧和汗水,同时软件开发是一项复杂的系统工程,牵涉到许多方面的因素,在实际工作中,经常会出现各种各样的问题,甚至会面临失败。如何总结、分析失败的原因,得出有益的教训,对于项目开发人员来说,是在今后的项目中取得成功的关键。 一、软件开发中实行项目管理的意义 项目管理就是在项目活动中运用一系列的知识、技能、工具和技术,以满足或超过相关利益者对项目的要求,实际上就是通过项目各方干系人的合作,把各种资源应用于项目,以实现项目的目标,满足项目干系人的需求,其本质就是对时间、质量和成本的管理。 随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软件开发过程中,项目开发的管理日益受到重视。 二、目前在软件项目管理中存在的误区 现在大多数企业都认识到了在项目中进行管理的重要性,但是仍然有许多企业在实施项目管理的过程中存在着这样那样的误区,主要表现在: 1.项目经理不够专业。在软件企业中,缺乏专业的项目管理人员来实施项目管理及担任项目经理,通常被任命的项目经理主要是因为他们能够在技术上独当一面,但是他们在管理方面特别是项目管理方面的知识比较缺乏。 2.项目计划缺乏纲领性。项目经理对总体计划、阶段计划的作用认识不足,因此制定总体计划时比较随意,不少事情没有仔细考虑;阶段计划因工作忙等理由经常拖延,造成计划与控制管理脱节,无法进行有效的进度控制管理。 3.缺乏有效的管理意识。部分项目经理不能从总体上把握整个项目,而是埋头于具体的技术工作,造成项目组成人员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。有些项目经理没有很好的管理方法,不好安排的工作只好自己做,使项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。 4.缺乏有效的沟通制度和机制。在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术问题或成果等方面与相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失;有些人没有每天定时收邮件的习惯,以至于无法及时接收最新的信息。 5.风险管理意识淡泊。有些项目经理没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的对策,对于后面的风险防范起不到什么指导作用。 6.项目干系人的不确定性。在范围识别阶段,项目组对客户的整体组织结构、有关人员及其关系、工作职责等没有足够了解以至于无法得到完整需求或最终经权威用户代表确认的需求;或者是多个用户代表各说各话、昨是今非,但同时又要求项目尽早交付;项目后期需求变化随意,造成项目范围的蔓延,进度的拖延,成本的扩大。 7.缺乏项目团队的合理分工 。项目团队内部有时由于各阶段不同角色或同阶段不同角色之间的责任分工不够清晰而造成工作互相推诿、责任互相推卸的现象;有时各阶段不同角色或同阶段不同角色之间的责任分工比较清晰,但是各项目成员只顾完成自己那部分任务,不愿意与他人协作。这些现象都将造成项目组内部资源的损耗,从而影响项目进展。 三、解决软件项目管理中存在的误区的有效策略 要想解决上面描述的误区,归根到底还是要从管理学的角度入手,即在软件项目的开发过程中加入过程管理的内容,这样我们可以在软件开发中对各个过程的质量加以控制,从而达到保证软件产品质量的目的。为了有效提高管理水平,我们应该努力做到: 1.项目经理接受系统的项目管理知识培训是非常必要的,有了专业领域的知识与实践,再加上项目管理知识与实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平。 2.计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。提高项目经理的计划意识,采用项目计划制定相关知识、技术、工具,加强对开发计划、阶段计划的有效性进行事前事后的评估。 3.加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。技术骨干在担任项目经理之前,最好能经过系统的项目管理知识,特别是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。 4.制定有效的沟通制度和沟通机制,提高沟通意识;采取多种沟通方式,提高沟通的有效性。通过制度规定对由于未及时收取邮件而造成损失的责任归属;对于特别重要的(下转第198页)(上接第196页)内容要采用多种方式进行有效沟通以确保传达到位,例如:除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达。 5.通过学习项目管理知识掌握风险识别、量化、对策研究、反应控制的工具和方法,掌握项目风险管理所必备的知识。通过加强对项目规划中风险管理计划的审核提高项目组的风险管理意识。总结本行业项目中常见的风险及其对策作为风险管理计划中必要的风险内容,并切实评估相应对策的有效性和可行性。 6.项目的目的就是实现项目干系人的需求和愿望。项目干系人管理应当从项目的启动开始,项目经理及其项目成员就要分清项目干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。 7. 项目经理应当对项目成员的责任进行合理的分配并清楚地说明,同时应强调不同分工、不同环节的成员应当相互协作,共同完善。 实施有效的项目管理绝非易事,对于软件企业而言,这不是一个小的改变,而是一种变革,企业需要为此付出艰苦的努力,同时,成熟有效的项目管理无疑将对企业起着至关重要的作用,项目管理的水平将是企业核心竞争力之一。 软件开发论文:基于J2EE平台软件开发特点综述 摘要:在特定框架的基础上建立目标应用系统是当前web应用开发的主流,如面向j2ee平台的struts、spring、jsf、cocoon、axis和xalan等框架都得到了广泛的应用。这些框架是软件开发人员从以往的经验和教训中总结出的设计模式。这些模式的应用,不仅降低了软件开发的成本,同时也保证了web应用系统的质量。 关键词:j2ee平台;web应用;jsp 一.j2ee平台概述 sun的java 2 enterprise edition(j2ee)平台已经成为使用最广泛的web程序设计技术。该技术主要支持两类软件的开发和应用。一类是做高级信息系统框架的web应用服务器(web application server),另一类是在web应用服务器上运行的web应用程序(web application)。全球主要的商业网站和管理信息系统大多采用j2ee平台作为首选的web开发技术,每一个web应用服务器都将需要企业开发和运行多种web服务软件。 二.j2ee平台web应用结构分析 j2ee平台的核心技术是java server page[1]和servlet。整个j2ee平台的应用结构模型如图1所示。从应用结构图明显看出j2ee完全遵从mvc设计模式[2]。下面分别对每个组件做一个介绍。 servlet组件:servlet在web应用中担任重要角色。servlet运行于servlet容器中,可以被servlet容器动态加载,来扩展服务器的功能,并提供特定的服务。servlet按照请求/相应得方式工作。在j2ee平台下,控制器组件就是由servlet来构成的。 jsp组件:在传统的html文件中加入java程序代码和jsp标签,就构成了jsp页面。java程序段可以操控数据库、重新定向网页以及发送e-mail等,实现建立动态网站所需要的功能。jsp技术大大降低了对用户浏览器的要求,即使用户浏览器端不支持java,也可以访问jsp页面。 javabean组件:javabean是一种符合特定规范的java对象,在javabean中定义了一系列的属性,并提供了访问和设置这些属性的公共方法。javabean可以作为共享数据,存放在page、request、session或application范围内。在jsp文件中,可以通过专门的标签来定义或者访问javabean。 自定义jsp标签:jsp标签技术是在jsp1.1版本后出现的。这些可重用的标签能够处理复杂的逻辑运算和事务,或者定义jsp页面的输出内容和格式。自定义标签可以使jsp代码更加简洁,有助于将jsp文件中的java程序代码分离出去,使jsp文件侧重于提供html表示层数据。对于j2ee下不同的框架,会有自己不同的标签库。 ejb组件:enterprise java bean(ejb)组件是基于标准分布式系统对象技术、corba和rmi的服务器端java组件。ejb组件和javabean组件一样,都用于实现企业应用的业务逻辑,它们的根本区别在于:ejb组件总是分布式的,sun公司制定的ejb组件模型要求ejb组件运行于ejb服务器中,而javabean组件可以和servlet或jsp运行在由servlet/jsp容器提供的同一个java虚拟机中。 xml语言:即可扩展标记语言(extensible markup language),是一种用来创建自定义标记的标记语言。xml在web应用以及web服务开发中得到广泛的应用,可用来描述结构化的数据。如在struts框架中,有两个重要的配置文件:web.xml和struts-config.xml。web.xml文件用于配置web应用;struts-config.xml用于配置struts框架。 三.j2ee平台下web开发框架 框架 (framework)[3]不同于类库(library)。框架提供的不是一组功能性的组件,而是一个软件结构,一种业务流程,以及hollywood法则(“don’t call us,we’ll call you”)。选择框架,意味着web应用开发人员只需且只能在框架限制的范围内编写业务组件和显示组件,由框架管理这些组件之间的协作。这虽然丧失了一定的自由,但是却能得到结构更加良好,质量更加可靠的web应用软件。现在,常用的j2ee平台下web应用框架包括struts、spring、jsf、webwork等。 四.展望web应用开发 纵观web应用的发展过程,有两个现象值得注意。首先,底层功能的完善会优化上层功能,上层功能的推广对底层功能提出更高的要求。当web硬件能提供高速度的带宽时,软件公司才能开发出满足用户需要的程序。web系统被大量使用往往使现有系统不能满足要求。这就要求开发出新的硬件和软件系统。例如,在http协议上,最先只有html作为文档编辑语言。当web浏览器(ie,netscape)成为计算机必不可少的上网工具时,动态的web设计语言(java,servlet/jsp,asp,cgi,等)应运而生。其后由于这些语言需要占用系统得计算资源,高速的web应用软件和主机成为大型网站必不可少的配置。在此背景下,web应用技术在整个人类的生活中开始占据重要的位置,随着web应用平台和框架的增多,如何快速有效的进行web应用开发,而且如何尽可能的使前期开发可以为多个web框架应用,成为it业界的研究方向。
软件检测论文:计算机软件安全检测技术诌议 【摘要】随着科学技术的日益发展,计算机技术深刻的改变了我们的生活。各种社会活动都已经离不开计算机,计算机成了我们生活的一部分。然而伴随着计算机的普及,各种计算机安全和网络安全问题凸显了出来。越来越多的针对计算机的攻击行为对计算机的使用安全和信息安全产生了巨大的威胁。计算机的软件安全检测是保护计算机安全和信息安全的一个有效手段。本文通过对计算机软件安全检测技术进行研究和分析,总结出了几种主要的计算机软件安全检测技术。 【关键词】软件安全;安全监测;计算机安全技术 1前言 计算机的软件安全检测技术是保护计算机数据的盾牌。要改善计算机软件安全检测技术,先要了解计算机软件安全监测的概念和基本情况,分析现存的计算机安全检测技术,为未来行业的发展提出指导性意见。 2计算机软件安全检测综述 计算机软件安全技术是否可靠决定了广大用户的信息安全和财产安全是否让人放心。如果计算机的安全软件存在着重大缺陷,就有可能造成重大的财产损失。开发安全软件,最重要的步骤就是软件安全检测,根据检测数据来对不同的安全缺陷进行针对性的调整,更好的解决软件安全问题。安全软件对于自身的检测是安全软件能够不断进步的试金石,检测行为能够在最小的检测样本中找出最多的安全问题,尽量避免安全问题直接进入用户的软件版本中[1]。而且,安全软件和普通软件之间还有着重要的差别。差别主要表现在三个方面。首先,安全软件和普通软件的缺陷发现方式不同。大多数的安全软件缺陷普通用户是不可能发现的,只有专门从事于网络攻击的黑客或者是专门从事于网络安全的人员才有可能发现漏洞,而对于普通软件,许多漏洞都是用户或者其他来源发现的,并非来自于测试人员。第二,安全软件与一般软件的修复速度也是不一样的,如果安全软件出现了漏洞,那么就会在第一时间进行修复,因为每晚修复一秒,都有可能有用户因为这个漏洞而导致财产损失。普通软件由于不涉及到安全问题,发现缺陷之后可以在下一个更新版本中修复。 3计算机软件安全检测的步骤 计算机软件安全检测一般需要遵循一定的步骤。软件安全检测是通过检测软件,实现计算机各部分的联系和互动,来测试整个结构的稳定性。软件安全检测有如下几个具体步骤:首先记性单元测试,对这个程序中的各种基本单位进行逐个的检查,排除基本单元可能存在的缺陷。第二步是把已经检验完毕的各单元组合在一起,来测试各单元之间的联系和沟通存不存在障碍,保证系统各部分之间沟通高效。第三步是测试整个系统的稳定性,保证每一条指令执行起来都能畅通无误[2]。 4主要的计算机软件安全检测技术 4.1词法检测技术 词法检测技术是出现时间最长、使用最广泛的静态检测技术。这种技术的原理是检测程序源代码中有危险的C语言系统调用。这个测试技术实际上是在被测软件的接口处生成一个模拟输入,来检测被测软件的运行情况。一般按照以下几个步骤来执行。首先是识别软件语言,然后再定语语言语法,最后生成用例,开始进行软件检测。 4.2形式化安全测试技术 形式化的安全测试技术要利用到软件的数学模型,利用数学模型的形式和规格来对软件的运行状态进行说明,来提供软件的运营状态信息。形式化安全检测技术要求更高的技术水平,其中包括了两种办法来进行安全监测。有模型检测,也有定理证明。 4.3基于故障注入的安全性测试技术 基于故障注入的安全测试技术采用的是通过某种极端情况来检测软件的稳定性,比如把时间调整到最不可能的时间点,让所有的事件通过表面合理的方式来进行连接,生成故障,然后再观察软件如何处理这个问题。故障注入的安全测试技术,是自动化程度比较高的技术,可以显著降低人工的工作量,让安全监测更加的充分。 4.4模型的安全功能测试技术 模型安全检测技术是通过建立一个模型的办法来测试计算机软件的应对和处理。在日程生活中,想要检验一个东西的可靠程度可以建立一个相似的环境来观察它的表现。计算机安全检测也是如此,建立一个安全模型,让软件在其中运行,驱使安全软件工作,观察它的工作状态。 4.5基于属性的测试技术 基于属性的测试技术有着两大优点。那就是互动性和延伸性。一般也要遵循固定的程序。首先要确定被测软件的安全规则,把它的安全属性带入到系统中,验证系统程序是否能够遵守设计的规则[3]。 4.6其他测试技术 除了以上这些测试技术,还有一些测试技术因为应用范围有限等因素,没有单独来说。这些技术有白盒模糊测试技术,也有分布式安全检测技术。近些年来,相关技术越来越多,越来越成熟,我们期待着能够从这些新技术中找到未来的发展方向。 5软件安全检测的注意事项 5.1具体问题具体分析 计算机软件安全检测是一个动态的过程,需要我们随时观察,随时修正。不同的计算机软件有着不一样的特点和特性,我们要针对每一种计算机软件的每一个过程来针对性的设计试验流程。让最终的实验结果能够更加准确。 5.2检测人员的多元化 计算机安全检测技术涉及到多个环节和多个行业,每个环节的专业倾向都不一样,想要做好计算机检测的工作,首先要保证检测人员的多样化。在进行软件检测的时候,不能只让软件检测员来负责,还要被测软件的相关专家来辅助。来自不同领域的检测人员互相之间协同配合才有可能把检测工作做好[4]。 5.3对安全软件详细分析在软件的安全检测过程中,要对软件进行详细的分析。区分出需求级、系统级和代码级。对于许多大型软件来说,除了以上三个级别,还有对软件的机构进行分析。安全软件检测是一项复杂的工程。需要我们时刻打起精神应对不断出现的新情况,对不同的安全软件使用不同的分析技术,必要时还可以使用各种辅助工具配合工作。 6结语 计算机软件安全检测技术是维护计算机安全的重要手段,需要我们尽可能的重视起来。本文首先对计算机软件安全的现状进行了介绍,然后对主要的计算机软件安全检测技术进行了总结。 作者:陈传顺 单位:中国移动通信集团广东有限公司 软件检测论文:纺织品检测业务管理软件开发及应用 摘要为提高检验业务的全面质量管理水平,实现任务、人员、数据的传输和共享,设计开发了纤维检验业务流转的管理软件系统。本文介绍了纺织品检验管理软件的必要环节控制,为当前需要业务管理改进的单位提供参考。 关键词:纺织品;业务管理;软件开发 纺织品检测业务管理是纺织品检验日常工作中的一个重要组成部分,过去的业务管理不管是手工还是计算机处理既繁琐、效率低,又不方便数据传输、统计和整合。为了提高业务管理效率和准确性,相关单位都在着手开发相应的业务管理软件,以便实现办公自动化。但因各个单位业务性质、规模大小、业务繁简程度各不相同,采用的业务处理程序也就有所区别,难以得到推广。本文介绍了纺织品检验业务管理软件的开发思路与模块结构,各个单位可以在此基础上扩展和完善。 1纺织品检测业务管理系统概要介绍 本文研究设计的纺织品检测业务管理系统,是对整个业务系统流程进行简单化处理的系统规划,此规划是完整性业务系统中必要性步骤的设计,此系统具有很强的扩展性,是完整业务系统开发的基础开发部分,各单位可根据自身业务特点扩展功能。业务管理系统主要涵盖检测全流程中的必要环节,包括对网上任务的评审、任务单的打印、自动分样、检测结果录入、报告审核、报告自动打印、检测收费核算、检测报告寄送、工作人员考核、检测报告状态对外查询和相关查询统计功能。考虑到各检测机构内部管理不同,业务管理系统主要针对必要性公用性模块的设计,并具有很强的通用性和可扩展性,是各检测机构进行完整业务系统开发的基础开发模块,各检测机构根据各自业务需求也可以提供定制化服务。通过对业务管理系统的严密设计,使整个业务流程的数据标准规范化、过程跟踪追溯化、管理数据严谨化。将样品受理部门、分样部门、检测部门、出证审核部门、证书寄送部门、管理部门通过业务系统科学有效的管理模式和应用技术连接起来,通过建立可视化工作流程模型记录每一步工作流状态,以便于各部门更好地协作工作[1]。 1.1纺织品业务管理系统功能需求 (1)缩短业务流转时间,建立高效流畅的业务处理流程主要体现在:加快样品登记、委托任务单评审时间,快速将委托任务分发给实验室,准确快速地出具报告,快速地将电子版报告上传给客户,将纸质版报告寄给客户。(2)增加信息数据可靠性通过调用标准模板,提高报告的准确度,通过对大量数据的分析,为企业提供可靠的分析报告。(3)提高业务处理智能化降低对流水线作业人员专业知识掌握能力的要求,通过权限的设置,各个部门之间权限分明、信息共享,扩大信息查询的范围,可以按照任意关键字进行查询。 1.2系统设计思路 业务管理软件用于检验机构处理检验订单、评审委托任务单、分样、检验结果填写、出具报告、报告样品物流管理以及各类统计功能的业务管理系统。通过运用业务管理系统,可视化管理业务流程,将接样、分样、检测、出证、人员考核、报告寄送、费用核算等环节智能化管理,提高工作质量和工作效率。业务管理系统功能见图1。 1.3软件设计系统结构 系统采用B/S模式,数据库采用SQLSERVER数据库,开发环境为JAVA,中间件使用Tomcat6.0。详见图2。 1.4系统功能模块结构 检验业务管理系统主要功能由七大模块组成:A.接样管理子系统;B.任务管理子系统;C.检测指标管理子系统;D.检测报告管理子系统;E.检测费用管理子系统;F.人员考核管理子系统;G.报告寄送管理子系统。其中A、B、C、D为检测流程控制主模块,E、F、G为系统辅助模块。详见图3。 2系统主要功能 2.1接样管理 接样管理是检测过程的起始点,用于确认一个检测任务的开始,即针对一个最终形成的检验报告对应一个接样管理记录,功能包括接样添加、修改和作废,相关内容涉及:流水号、样品名称、样品货号、采样时间、委托单位、付款单位(选择)、生产单位、来样时间、检测样品数量、预付金额、要求完成时间、录入人等信息。 2.2任务管理 任务管理是用于明确检测任务的具体信息而设置的,用于分离接样时因任务过多无法一次性填写,所以分离了接样基本信息和项目的输入,也是校核任务后流转下一环节的中转站。 2.3检测指标管理 检测指标管理是用于录入检测指标项的管理,根据任务书管理中的检测项目和检测标准,确定每个检测项目的分类指标项,并输入该项目的检测结果值,最底层指标项来源于系统管理中的收费、考核管理,输入指标需选择记录检测人员,已完成系统整理的人员考核统计。检测指标管理支持选择检测模板,选择模板后相关的检测项目将与检测模板完全一致,可进行项目的添加和移除操作,从而提高录入检测指标的速度。 2.4检测报告管理 检测报告管理包括检测报告的生成和打印,检测报告的指标项在检测指标管理中已经形成,按检测报告格式进行套打,可在检测报告中选择模板,在检测模板定义中可与检测指标管理直接关联,生成打印报告时可不再选择模板,将直接套用检测报告模板生成。 2.5检测费用管理 检测费用管理是检测报告完成后的后续收费管理和已完成任务的费用查询统计,可查看检测报告中的所有项目和子项目的收费情况及总计,可查看预收费用和实收费用,根据客户或时间段进行统计整体收费情况。如检测中客户为签约客户,将从客户余额中直接扣除,并生成客户的费用日志,内容包括报告编号、客户名称、检测费用、余额和扣款日期,在客户查询报告状态中客户也可自行查看费用情况。收费处理中需输入项目为实收费用和收费完成日期。 2.6人员考核管理 人员考核管理模块是放置在系统管理的人员管理中,为了明确数据来源,此功能单独作为一个功能模块列出。人员考核的数据来源于检测指标输入,根据检测指标的考核费用指标进行计算。可按部门、人员、时间和检测项目进行统计查询,获得人员产值和检测情况。 2.7报告寄送 报告寄送是对检测报告寄送方式的企业进行管理,按已完成报告时间段批量打印快递寄送单,寄送单打印后自动将处理状态设置为已发送并记录发送时间,如需重新打印可选择任务或进入客户管理中打印单个寄送单。 2.8系统管理 系统管理是针对系统基础信息进行设置的功能,包括客户管理、标准管理、指标项管理、收费、考核管理、检测模板管理、报告模板管理、人员管理和权限管理。系统正式运行前必须对基本系统信息设置完整,客户、标准、指标等信息发生变化时,必须及时修改。 2.9客户在线查询 在外网开放报告查询和扣费日志查询,检测状态已接样和报告已完成寄出。扣费日志查询可查看检测费用的扣款情况。 3应用效果 本所开发的业务管理软件是集接样、分样、检验、出证以及会员一体化的专业纤检业务管理软件,采用多层架构分模块开发。该软件性能稳定,运行安全,操作简单,管理方便。运行一年多以来,业务工作效率明显提高。改变了以往依靠人工流转,无法记录中间拖延环节与错误而造成工作效率低下的工作模式。应用管理软件后业务流转中样品的接样、分样、检验、出证以及做账等每一道程序都记载人员、时间、工作量及工作质量;流转中前后衔接、准确、快速地处理好每道任务。业务管理软件的应用,减少了检验业务中的等待、重复、不必要的协调等活动,简化不必要的表格填写,整合原职能分工不明确的岗位。同时方便采集、传递和共享数据,向客户提供便捷的业务查询途径。 4结束语 业务管理信息化是时展的需求,随着电子技术的发展、检验规模的壮大以及业务需求量不断扩大,业务管理软件需要不断改进、不断完善、与时俱进,更高效地发展检测服务管理。 作者:陆素梅 软件检测论文:计算机软件安全检测技术简析 [摘要]随着科学技术的不断发展与创新,计算机已经成为人们日常生活工作中的必要工具,但同时随着计算机的应用不断深入,人们对计算机使用性能和安全程度有了更高的要求。计算机的功能由硬件和软件共同支撑,其中计算机软件是计算机赖以工作的基础,针对计算机软件的安全检测技术又是确保计算机安全工作的重要内容。计算机软件安全检测技术是针对计算机软件不同的安全指标进行安全检测,该技术的科学应用可以准确高效地识别出计算机软件中存在的安全漏洞。在本文中对计算机软件安全检测技术中存在的问题和解决方案进行简单分析,以帮助相关技术人员在实际应用中进行参考。 [关键词]计算机软件;安全漏洞;检测技术 0引言 对计算机软件安全性能进行考评是在计算机的软件开发和使用过程中极为重要的步骤,该步骤的顺利实施可以帮助相关技术人员找到软件运行中存在的故障和安全隐患,并可以根据检测结果及时进行修补,以保证软件的正确使用和推广。现行的计算机检测技术在应用过程中仍无法完全避免漏洞和错误的发生,因此在实际的应用中需要相关技术人员采取科学高效的安全检测手法对计算机软件进行评定。 1计算机软件安全检查流程及注意问题 1.1计算机软件安全检查流程 在对计算机软件进行安全检查时,软件多为大型的应用软件,该软件内部往往包含着由多人开发的冗杂子系统,因此对大型软件进行安全检查是一项庞大复杂的工程。在实际的安全检测过程中通常将大型软件的子系统分割成互不影响的模块,对这些模块进行安全检测。大型软件的检测工作通常情况下先对模块进行测试,之后将各个模块组装成系统,然后对该系统的结构进行安全检测,最后在对软件整体的功能和性能进行有效测试,以判断软件的性能指标是否与预期相符,采用这样的检测流程就可以实现对软件安全指标进行科学的考评。 1.2制定高效合理的软件安全检测方案 在对计算机软件进行安全检测之前,需要对计算机软件的功能和特性进行充分的考察,并根据具体的情况制定出科学合理的软件检测方案,以确保安全检测方案实施的高效性。在进行软件安全检测具体工作时,应邀请具有专业知识经验的人员参与,并再配备熟悉和掌握该软件特点的技术人员参与,另外还可以聘请多领域相关的专家参与工作,从多个方面对软件进行考评测试与修正,以保证计算机软件可以达到理想的应用效果。 1.3系统化全面性的分析 计算机软件安全检测是一个冗杂繁复的过程,如何选择有效且可行的检测方案是执行人员需要着重考虑的问题,在实际工作中应该对计算机软件做到系统化和全面性的分析。大型计算机软件的程序通常具有较大规模,在进行软件安全检测时就要求技术人员对软件进行代码级、系统级和需要级的细致检测,另外进行计算机软件安全检测时对同级别检测也需要进行合理的技术分析。 2计算机软件安全漏洞检测方式 2.1形式化安全检测方式 通常情况下若是可以搭建准确的计算机软件数学模型就可以采取形式化的安全检测方法,在实际的应用过程中往往采取形式规格语言进行使用,在检测的过程中常常使用行为语言、模型语言或是有效状态语言等规格语言。 2.2静态模型检测方式 静态模型检测方式是在使用的过程中需要对软件的具体行为和结构框架进行模型建立,在进行检测时实际就是对该测试模型进行检测,通常情况下使用的设备对该模型具有可读性,并可以具体运行,其中应用最为广泛的包括有限状态机和马尔可夫链两种方法。静态模型的检测方法通常情况下采用系统化的建模检测方法,因此与形式化安全检测方法相比更加合理,不需要软件所有的工况都保持不变,而是通过对模型建模得出一系列的测试模型,当该模型经测试后与软件的期望值相同时证明该软件不存在漏洞。 2.3语法检测方式 语法检测方式是又一种较为常用的计算机软件检测方法,该种检测方法通常情况下是基于语法特点在软件的生成功能接口处进行检测,对该接口处的语言和语法进行检测,并在一定的条件下生成检测用的范例,通过改变计算机软件的上级输入条件,并在下级处检测不同输入条件下的输出结果,并根据不同的检测结果对软件的安全性能进行检测。2.4导入故障检测方式导入故障的检测方法是一种融合了传统故障检测技术和动态检测技术的科学软件安全检测方法,该种方法建立在白盒模糊检测基础上并在操作中不需要冗杂的操作规范,但是在查找软件漏洞方面却有很大成效。通常情况下需要考评常见的故障和漏洞类型,并建立系统的故障漏洞树,之后通过对软件的人为测试以对软件的漏洞和故障进行检测,该种检测方法可以极大地提高安全检测技术的自动化程度,因此在未来的计算机安全检测中会得到更广泛的应用。 2.5安全属性检测方法 在进行计算机软件开发过程中编程人员采取不规范的编程规则就容易导致软件产生安全漏洞和故障,因此在软件开发之前由相关部门制定科学的安全编程规则是保证软件安全性的重要手段。在软件开发过程中严格按照安全编程规范,之后按照确定的规则对软件程序代码进行检查,这种方法可以对软件漏洞的交互性和延展性得到及时分析。 3结语 在信息化高速发展的今天,各行各业对于计算机的应用已经达到无可替代的地步,而对于大多数的公司来说数据安全是管理者需要着重考量的问题,在信息安全体系中计算机软件安全检测是必不可少的部分,因此日常工作中对计算机软件进行科学高效的安全检测,是促进计算机软件良性发展的重要内容,相关的技术开发人员需要在今后的工作学习中不断探索出更为有效的计算机软件安全检测方法,真正保障软件使用者的安全应用,维护软件使用者的自身利益,促进市场的平稳健康发展。 作者:鲁艳丽 单位:长春市企业退休人员档案管理中心 软件检测论文:计算机软件中安全漏洞检测技术研究 摘要:对软件程序进行重新设计和编写,是预防安全漏洞、确保软件安全的主要手段。所以,计算机技术人员要不断努力,强化安全漏洞检测技术,保障计算机软件运行安全稳定。在计算机的软件系统中,安全漏洞是对信息系统造成威胁的主要原因,所以,计算机软件中安全漏洞的检测技术成了现今人们探索的重点问题。文章研究了计算机软件中安全漏洞检测技术。 关键词:计算机软件;安全漏洞;检测技术;应用 近年来,计算机技术的应用越来越普遍,计算机软件的发展非常迅速。同时,源代码的数量也随之急剧增加。一些黑客通过代码中的某些漏洞对计算机的软件及系统入侵并破坏。所以,计算机软件的安全问题已经变成了如今系统安全的关键问题之一。 1计算机软件中的漏洞 漏洞是软件、硬件、协议实施中的纰漏,也是系统安全层面的缺失处,让未获取授权认可的攻击方对系统探访、攻击、损害。漏洞的自我特质面可从几个层面表征:第一,是在编订程序的环节内有某些逻辑类失误的生成,该种失误是由编订者粗心引发,较为常见。第二,是在软件的各个数据演算、处理的环节中,也会有某些逻辑类失误的生成,在程序模块中用中等大小同较小、较大的模块比对看出,非中等程序模块失误比率较高。第三,漏洞和软件系统的环境关联度较高。同一台计算机中各异的软、硬件版本、在配置不等的前提下,每各设备共组的软件体系同系统一致但设置不等时,都会有安全层面的缺陷处。第四,软件的整体系统漏洞和时间也有关联性,也就是说在时间长度的延伸下,曾出现的漏洞会被补修、更正,但新的漏洞也同时会更加显现。所以,计算机软件内的漏洞是长久存留的难题。 1.1计算机软件安全漏洞的原发性 通常情况下所谓的计算机漏洞是指由于计算机软件自身含有某些潜在的缺陷和劣势,这些潜在的缺陷和劣势由于自身包含的特点可能引发一些风险或者说造成相对容易的攻击范围。计算机软件漏洞出现的主要原因就是由于计算机软件设计人员的操作存在失误。从上面的分析中可知,计算机软件最主要的就是由于自身存在着缺陷才导致了后天的攻击性行为。计算机软件设计人员在设计的过程中很难考虑全部的设计因素,而且现在的软件设计人员的设计水平良莠不齐,这就决定了计算机软件在投入市场的开始就存在着一定的风险,这种风险是由于计算机软件本身所存在的某些原发性错误引起的。 1.2计算机软件安全漏洞的差异性 计算机软件的应用范围很广,目前市场上存在着各式各样的软件,这些软件适用的工作区域也不一样。一般来说,计算机软件漏洞和其工作的环境之间存在着较为密切的联系,在不同的工作环境内即使相同的计算机软件也可能表现出不一样的漏洞特征。计算机软件的工作环境对于计算机软件的运行起着至关重要的作用,计算机软件主要根据写好的程序代码运行,在不同的设备上,计算机软件的代码执行过程也会存在一些差异,这些差异都决定了计算机软件漏洞的多样性和差异性的特点。 1.3计算机软件安全漏洞的延续性 计算机软件都会不断更新,计算机软件的漏洞也会不断被修复,然后随着而来又会出现一些新的计算机软件漏洞。在使用的过程中计算机软件会随着时间的推移,原先的漏洞会不断被修复,然而程序总会存在新的程序逻辑错误,这些新的逻辑性错误又会导致新的漏洞,计算机软件漏洞就不停地处于这样一个无限的循环中,除非一个计算机软件彻底被市场所淘汰。 2计算机软件中安全漏洞的检测技术 现阶段,信息技术已经成为人们生活中一个必不可少的生活要素。随着科学技术的不断进步,各种计算机软件的不断被开发出来,开发计算机软件的人也变得多起来了。目前,国外有关的专家研究发现,随着计算机软件的大量使用,计算机软件的漏洞的数量和频率都变得越来越高。目前网络黑客的数量也变得越来越庞大,黑客的性质也发现了质的变化,越来越多黑客在利益的驱动下对个人和集体用户展开了大规模的攻击。在这种大环境下,只有计算机技术人员不断提高计算机软件安全漏洞的检测技术才能应对这种挑战。计算机软件内的安全漏洞可检出的策略有2类:一类是静态模式的检测技术,另一类是动态模式的检测技术。 2.1计算机软件安全漏洞的静态模式检测技术 最开始的计算机软件安全漏洞静态检测就是静态分析,但是由于其检验的方式多停留在表面,因此,近些年开始逐渐对其进行研究与创新,静态检测也就逐渐扩充成为2种内容:静态分析及程序检验。其中,静态分析指的是对需要检测的系统程序进行源代码的扫描工作,从语义、语法等角度进行全面解析,同时直接分析待测系统程序的自身特性,利用这种方法寻找漏洞。而程序检验是指抽象系统内的程序源代码。主要借用检验方法,检测软件系统的程序是否符合计算机的需求,特别是对安全的需求,然后对程序中的安全漏洞存在与否进行判定及检验。对于计算机软件安全漏洞的静态检测来讲,其更多注重的是计算机软件系统程序的内部特性,静态检测的方法特点同检测漏洞的特点之间包含着密切的关联。计算机软件中的安全漏洞所执行的静态模式检测,最初是静态模式辨析,但监测的技术手段多侧重于表层。所以,在更深入的探究和研创后,静态模式的检测内涵得以拓展,既有静态模式辨析,也包括程序的验查。静态模式辨析就是对检查测试的系统程序扫描其源代码后,从语法层面、语义层面进行多方位的阐释,并把检测系统程序的特性予以直接化的辨析,借此探寻出漏洞所在。程序验查则是对系统程序中的源代码抽象化。凭借验查手段,检查软件内组的系统程序同计算机所需的相符度,以及能否同安全所需匹配。接着辨识和验查程序安全层面存在的漏洞。该种静态化的软件安全漏洞检测法,更倾向于软件自身系统程序的内存特质,同时和检测漏洞特质有着较高的关联性。 2.2计算机软件安全漏洞检测技术中的安全动态检测 2.2.1内存映射 在攻击群体中,往往多用字符串末尾部位“NULL”字样的序列对内存做全覆盖,进而实施损害攻击。在代码页中实施的映射技能,可让攻击方作出字符串末尾部位“NULL”字样的序列对内存做全覆盖举动时,跳转至简易内存区域中的操控难以进行。从另一侧面来说,在内存的多个地址中,随机性地映射代码页,可缩减揣度地址而发动页面损害攻击的发生比率。 2.2.2非执行栈 近年来,攻击软件的举措多发生在对栈的破坏上,这是因多数操控系统内的栈所属的能写性和执行性所引发。在内部的变量存储中,栈的载体中有核心数组的变量,攻击方借此可将恶意的代码发送至栈内,并探寻出代码执行手段。而要规避栈的侵袭、损害可执行的有效策略为,更改栈内执行代码使其不可执行。这样更改后即便攻击方将恶意的代码送至栈内,但代码不可执行很好地缩减攻击的成功率,让程序不被损坏。 2.2.3安全共享库 某些计算机运行了安全性极差的共享库就会引发软件安全漏洞。共享库的安全度高可用对攻击方的损害行为很好的防预,而安全度低的共享库则易被损害。安全化的共享库是动态化的链接模式运作,在程序运作环节将多类安全度低、没安全性的函数运用予以拦截,并进行另外的测验,进而保证计算机软件整体的安全。 2.2.4沙箱 沙箱法是对某些损害性攻击的防预,即借助某一程序的资源访问限定来实现。如某些调动函数会被编入C语言中,而某个软件自身是不会有此种调动函数的。若出现了软件运行时有类似调动函数的运行,软件已经被恶意侵入。但在恶意侵害之前,运行沙箱对其做出限定,则在入侵后不会有不良损害。 3计算机软件中安全漏洞检测技术的应用 3.1预防竞争条件的漏洞 漏洞的成因中也有因竞争条件而引发的缺陷,对其防预的策略就是将竞争成因的编码执行原子化运作。编码是最小的执行单元,在运作程序环节内不会有任意状况对其实施干扰。原子化运作就是用锁定的操作,对某一特定的状况更改而衍生的问题予以防预,这样可对应用文件名体系实施间接化的调用,可表述出应用文件或使用的句柄。 3.2预防缓冲区的漏洞 对于缓冲区内的漏洞可借助软件程序内危险值高的函数验查来实施防预,将安全度较低的软件用高安全度的新版本替换。 3.3预防随机出现的漏洞 在对随机性的漏洞实施防预时,可借助随机性高的发生设备来进行。随机发生设备有着自属密码演算,可确保随机数流的高安全度。在软件被恶性侵害,对算法每一细微处都掌控,但数据流不会形成,进而起到防预能效。 3.4预防格式化字符串的漏洞 执行严密、谨慎的防预方案,直接性地在数码中运用格式常量,让供给方找不到可创设格式串的缺陷处。个数函数在不定参数时往往会有格式化字符串的缺陷潜藏,对此类函数运行时就要让每一参数的数目有保障,均衡稳定。 3.5计算机软件安全漏洞的防范措施 计算机软件安全漏洞检测技术应用的过程中,一方面要避免缓冲区漏洞,认真检查程序中的危险函数,使用安全的计算机软件,不用盗版软件和非法软件,时刻做好缓冲区漏洞的处理和防范。一方面要避免竞争条件漏洞,在竞争代码原子化操作的过程中,借助于文件句柄和其他文字描述字,保证计算机软件的安全。另一方面要避免格式化字符串漏洞,尽可能地使用源代码中格式常量,进而避免留下格式串机会,并防止随即数漏洞,提供安全的随机数据量,并对全部算法细节进行加密。 4结语 21世纪是一个计算机技术高速发展的社会,随着经济社会的发展和经济全球化的影响,计算机技术在我国得到了大范围的发展,在我国的各个领域中目前都离不开计算机,计算机的产生为我国的现代化建设提供了不竭的动力。但是,随着信息技术的不断发展也逐渐暴露出一些潜在的问题。目前,计算机的安全性已经成为人们关注的焦点。随着开发的人越来越多,使用的人越来越多,恶意利用计算机软件获取个人信息、破坏计算机安全的人也就变得多起来了。目前,计算机安全已经成为世界各国高度关注的一个问题。有关的技术人员必须引起高度的关注才能有效解决计算机软件漏洞,给计算机系统一片绿色的天空,给人们的网络环境和信息安全提供一个新的平台。总括来说,当下的周边环境内,计算机软件安全漏洞的检测技术演化为基础通信验查、基础计算机安全检测的手段。运行的每一软件安全性更多侧重在程度的编订、漏洞的遏制层面。所以,探究计算机软件的安全类漏洞检测技术,并对该技术的运用辨析,是当下工作者需更深层考量的事务。 作者:陈国栋 单位:山东电力高等专科学校 软件检测论文:计算机软件安全检测技术研讨 摘要:随着科学技术的不断发展,计算机软件的种类也越来越多,满足了人们日常生活和生产过程中的不同需求,从而在一定程度上使软件的安全性能呈现出多样化发展趋势。软件在运行过程中也开始出现各种安全漏洞,对计算机和互联网的安全使用造成了很大威胁,因此,研究计算机软件安全检测技术的应用显得十分必要。 关键词:计算机软件;软件安全;安全检测 0引言 随着我国社会经济的飞速发展,在电子计算机科学技术不断完善和成熟的今天,计算机已融入到人们生产和生活的各个方面[1]。计算机的使用建立在相关计算机软件基础之上,不同的计算机软件满足人们不同的生产和生活需要,尽管为人们提供了诸多便利,但其安全性一直是困扰计算机使用的障碍,也给互联网安全造成了威胁。所以在当前的计算机软件开发过程中,对其进行安全性检测已经成为了一项核心内容,这种措施能够有效帮助相关的软件开发人员找出潜在的安全隐患,并在此基础上采取一定的应对措施,保障计算机软件在使用过程中的安全性。 1计算机软件安全检测的基本形式 计算机发展使得用户在软件使用过程中,对其安全性有着更高的要求,主要表现为:①用户安装计算机软件后,并不会对计算机本身的正常使用产生较大影响,如计算机运行速度明显变慢等;②在用户使用计算机软件的过程中许多个人信息被留下,计算机软件安全性得不到保证,与用户相关的使用信息就可能被泄露,从而影响用户的隐私保护,计算机软件声明周期中出现安全问题的原因[2]如图1所示。因此计算机软件开发人员在软件开发过程中,要利用一定的安全检测技术对计算机软件中存在的安全漏洞进行检测,并对其修复以提高计算机软件的安全性,降低使用过程中存在的风险。计算机软件安全检测是在计算机软件开发过程中,对软件的安全性能进行检测的一个过程,以找出程序中容易发生的错误。当前软件安全检测技术主要有动态和静态两种检测形式。计算机软件安全检测是指利用相关检测技术,在软件开发过程中对软件的漏洞和缺陷进行系统性的检测,从而保证软件的功能达到预期效果,计算机软件的安全检测内容主要集中在简单的计算机软件安全功能和安全漏洞检测方面:安全漏洞检测是检测计算机软件的安全缺陷及在计算机使用时产生的安全隐患,其停留在对普通计算机软件缺陷的检测方面,这类问题的解决主要是通过软件升级或版本修复;而计算机使用的安全管理、授权、访问控制和机密性等是计算机软件安全功能检测的主要内容,其主要对计算机软件安全功能起到了检测判断的作用。 2计算机软件安全检测的基本要求 首先,在计算机软件安全检测的过程中要使用科学有效的安全检测方法。鉴于计算机软件程序的复杂性,简单的检测方法会导致软件中很多潜藏的安全问题不能被排除,所以开发人员一定要在了解软件的相关特性以及检测软件的使用条件后,根据实际情况选择适合的检测方法,制定出科学合理的检测方案,同时在细节方面也要根据相关要求进行深化和细化。其次,对计算机软件的检测需要多类人员共同参与,才能尽可能多地排除软件中潜存的安全威胁,主要是因为软件漏洞存在于软件开发程序的各个环节,所以多元化的人员参与有利于实现检测方法的多样性,使排除安全隐患的几率更大。在软件安全检测过程中,除了需要具有专业软件安全检测技术的人员参与外,还需要有了解软件工作和使用特性的人员,从而实现多角度、全方位的检测,以排除更过的安全风险,满足软件使用的安全要求[3]。最后,在对软件进行安全检测的过程中,还要选择合适的安全检测方法,选择前首先要对计算机软件检测的各种方案和案例进行分析研究、归纳总结,得出一般的检测规律,并结合具体要求,选择适合的检测方法,制定合适的检测方案,将检测过程具象化。通过电脑模拟对制定的检测方案建立数据模型,而语言支持在这个过程中帮助模型实现形式化的表现。以上环节结束之后,再开始检测模拟系统,这也相当于对软件进行了运行和结构的安全测试。 3计算机软件安全检测的具体技术 3.1语法安全检测技术 这类检测技术的主要检测对象是计算机软件中的语法,最终检测结果也会因为最初输入条件的不同而产生差异,其监测流程如图2所示。语法安全检测技术通常被用于检测源程序中的安全漏洞,该检测技术可及时有效地检测出系统函数与C语言库函数的切换,并及时恰当地作出处理,从而建立以语法为基础的测试数据。同时该检测技术还能实现对计算机软件的安全检测,排除潜存的安全风险,保证计算机安全运行。 3.2动态安全检测 计算机软件运行环境的变量是动态安全检测的主要检测对象,它包括内存、栈等在内的诸多信息,主要是对漏洞等风险因素进行检测,其检测流程如图3所示。在这类检测技术应用过程中,如果计算机软件的漏洞被发现,就会自动完成相关修复工作。这种检测技术的使用,由于不需要修改计算机软件源码,所以很好地保证了计算机用户的隐私安全[4]。随着计算机在商务应用中发挥的作用越来越大,其普及率也越来越高,为了保证商业机密的安全,这种软件的检测技术更加适用于商务性,从而也保证了在商务领域的推广和应用。 3.3静态安全检测 基于程序代码内部特性和结构是静态安全检测技术的重要特征,这类检测技术的应用,需要事先构建合理的测试模型,以满足计算机读取的相关要求,在此基础上,静态安全检测技术才可以被使用,静态检测技术中一种类型推断技术的检测流程如图4所示。在利用这种安全检测技术进行检测之后,再将测试模型和待检测的数据进行对比,如果计算机软件具有良好的安全性能,它们的期望就会一致。在当前计算机安全检测技术不断发展和成熟的背景下,静态安全检测技术的种类也越来越多样化,并且越来越多的安全技术人员投入到此研究中,静态安全检测技术必将得到更为充分的发展,并且在相关计算机软件安全领域发挥重要作用。 3.4混合安全检测 混合安全检测技术实现了计算机软件动态安全检测与静态安全检测的结合,它吸收了两种检测技术的优势,同时也克服了两种单一技术中的劣势,所以在计算机软件安全检测技术中有着较为优越的检测能力,从而使这种混合安全检测技术获得了更高的检测精度,扩大了检测的应用范围,也推动了漏洞检测技术在相关的计算机软件安全检测技术中的发展。如图5所示就是混合检测技术中的Fuzzing检测技术流程。 3.5基于web技术的安全检测 这类检测技术是基于web技术的逐渐推广和广泛应用,随着Web技术的不断发展,在计算机软件安全检测中发挥着越来越重要的作用。相较于之前的计算机软件安全检查技术,基于Web技术的安全检测技术在检测性能等各方面都表现出优异的成绩,它具有更优的灵活性、高效性和先进性。在检测过程中能够对计算机软件中存在的安全风险和漏洞进行及时有效的修复,同时也保证了计算机的安全、可靠、高效运行。在我国计算机软件安全检测技术不断发展和提高的今天,这种检测技术的成熟和推广是一种必然趋势。 4结语 计算机安全检测技术的应用在计算机日益普及的今天是非常必要的,它为计算机的安全使用和良好运行提供了重要保障,并且在科技日新月异的今天,相信相关安全检测技术的发展和完善必将取得更多成果。 作者:关若飞 单位:南京中医药大学 软件检测论文:计算机软件安全检测技术分析 1计算机软件安全检测定义及重要性分析 计算机软件安全对于保障计算机运行的安全十分关键,计算机软件是否能够运用于计算机中,也是需要对软件安全性进行评估,只有软件安全性达到一定标准才能够满足系统兼容性并投入使用中。计算机软件安全检测是利用多种检测技术发现软件设计的漏洞,并排除软件使用中的风险性问题,保障计算机软件的安全运行。计算机软件不同于一般的应用软件,一般应用软件发生问题多为影响用户的应用体验,而无实质性的危险发生。而一旦计算机软件故障并遭受到网络攻击,则将影响计算机的运行,甚至系统崩溃。由此可见,计算机软件的安全性对于保障计算机网络安全有着重要意义。利用多种计算机安全检测技术,并根据软件类型和特点有选择性地进行安全检测,排除可能存在的软件问题,以进一步提高计算机和系统与软件间的兼容性、安全性。 2计算机软件安全检测技术类型分析 2.1静态检测技术 静态检测技术,顾名思义是检测软件的静态故障。如软件编写代码的错误以及语法上的错误等等。由于网络攻击可能利用有缺陷的程序代码和漏洞来进行攻击,因此利用静态检测技术,排除软件编写中语法和程序的错误,可以做到最大程度上的风险减免。通过测试计算机软件的使用情况,利用“与”或“非”等逻辑输入形式,根据输出结果来判断计算机软件编程中是否存在相应的语法问题。 2.2形式化安全检测技术 形式化安全检测技术主要是验证软件的合理性,根据软件设计的模型以及数理上的可行性分析,来证明软件使用的安全性。形式化安全检测包括对软件的数学模型进行检测,分析模型运行的可行性以及模型的逻辑性。同时也包括对软件进行定理证明,发现软件设计上的数学错误和逻辑问题,以避免风险性问题的出现。 2.3基于故障注入的安全性检测技术 基于故障注入的安全检测技术是较为常用的安全检测技术,也是较为可靠的检测技术。故障注入的检测技术,是利用生成的故障问题来观测软件运行时的安全性,即观测软件故障时的具体表现。故障注入即是模拟故障,通过修改软件内存和改变软件设计逻辑等方式,来模拟网络攻击和故障时计算机软件的通常表现。通过还原的故障状态,能够进一步评估软件在故障时的不足之处,以及检测软件自我修复功能的良好程度。在实际应用中,还能够结合硬件的故障注入技术,实现软件与硬件的同时检测,以排除软件与硬件问题之间的相互影响。 2.4基于属性的安全检测技术 基于属性的安全检测技术,首先需要确定软件的安全属性,并根据安全属性的特点来评估软件程序编码中的可靠性。部分软件的编码表面上可以达到一定的安全性,但根据系统与软件的安全属性,则表现为软件在编码上存在不足,难以维护软件的安全属性,可见进行基于属性的安全检测是有积极意义的。 2.5其他安全性检测技术 其他的软件安全检测技术,比如“白盒测试”、“黑盒测试”以及建模测试等等。软件安全检测技术多以软件的语法测试或功能测试出发,如基于“白盒测试”的安全检测技术,则主要从软件代码出发,发现编码中出现的语法问题。此外,还有基于软件功能进行测试,分析软件模型的功能性,具有较强的实用性,能够有效检测出软件设计中的问题,以保障计算机软件的安全性。 3计算机软件安全检测技术应用分析 3.1计算机软件安全检测流程分析 计算机软件安全检测的进行,需要根据计算机软件的大小而决定,对于组成复杂的计算机软件往往需要分步分区进行检测。计算机软件安全检测的基本流程由模块测试、结构检测、功能测试、系统测试等多个步骤组成,首先模块测试主要是需要对软件设计与编程的早期问题进行检测,如程序算法、语法等方面的问题。其次是对软件结构进行检测,软件结构是否完整,是否能够支持相应的软件的功能。其次是功能测试,检测软件在使用中是否可以实现特定功能,通过故障注入等方式,还能够检测软件故障时的功能可靠性。最后需要进行系统测试,分析计算机软件与系统的兼容性等等,以保障软件在计算机系统中功能的正常实现。 3.2计算机软件安全检测的注意内容 在对计算机软件进行安全检测时,需要把握好相关注意事项,同时也是计算机安全检测技术应用时的重要考虑事项。计算机软件安全检测技术种类较多,需要根据计算机软件的特点和检测目的来进行合适的选择,同时需要按步骤进行检测,规范化检测程序,以保障安全检测的良好效果,发现潜在的软件风险问题。在软件安全检测中,需要进行系统的全面分析,以综合考虑软件与计算机的兼容状况,才能够准确评估软件运行的状况。 4结束语 计算机软件安全检测技术种类繁多,在实际运用中,需要根据计算机网络的实际状况以及网络风险的类型而进行合适的选择。运用合理的计算机软件安全检测方法,将能够维护计算机网络的安全与稳定,提升计算机软件的可靠性。 作者:廖肇军 单位:江西现代职业技术学院 同济大学软件学院 软件检测论文:计算机软件中安全漏洞检测技术分析 1漏洞产生的原因、形式及主要特点 1.1漏洞产生的主要原因及形式 漏洞在本质上可以理解为系统中存在的缺陷和弱点,其会对计算机系统造成一定的威胁,漏洞产生的主要原因是由于开发设计人员的失误造成的。通常情况下其有两种主要的表现形式,分别是功能性漏洞和安全性漏洞。功能性漏洞主要是系统软件使用过程中产生的运行错误及流程错误等,而安全性漏洞主要会对计算机软件及整个系统的运行造成较为严重的影响。 1.2漏洞的主要特点 首先,漏洞的产生主要是在程序编制过程中疏忽造成的,而数据处理与计算相比会更有可能出现逻辑性错误。其次,漏洞与具体的系统环境之间是存在着相互联系的。第三,系统漏洞与时间之间存在着紧密的关联,随着时间的推移在旧的漏洞基础上可能会产生新的漏洞问题,其具有长期性。 2静态检测技术 最初期的计算机安全静态检测在本上指的就是静态分析,但是由于其验证方法的不同所以又可以分为静态分析和程序验证两个主要形式。首先对于静态分析而言,其主要是通过系统中各程序代码的扫描,并在语法和语义等层面对其进行全面理解,随后对程序自身的特性进行直接分析,从而找出存在的漏洞问题。而程序验证主要是采用验证技术对系统程度能否存在安全漏洞进行检验,重点关注的是安全方面的要求。 2.1漏洞分类检测 在静态检测中,其关注点主要集中在系统程序内部的具体特征上,其进行检测的漏洞特征是与其技术特点有着较为紧密的联系,并且对安全漏洞的分类方法较多。对于大多数的检测技术而言,其能够有效覆盖的漏洞都具有一定的零散性,所以较难找出其在漏洞类型上的共同点。为了方便对其比较,我们可以将其分为安全漏洞和内存漏洞。安全漏洞主要是指数据流的错误和偏差状况,而内存漏洞主要是指数据的储存与类型是否正确等。 2.2静态检测技术 2.2.1静态分析 静态分析中最为常用的技术方法是词法分析,其也是应用最早的静态分析技术,其将系统程序分解为若干个小片段,随后将其与嫌疑数据库进行对比,从而发现漏洞问题并进行评估和判断。但其只停留在语法检查上,还应在安全规则基础上通过特定语法形式对其加以描述,并利于规则处理进行相应的接收处理,随后将其装换成分析器可以进行接收的相关表达内容,并对系统程序的行为进行检测和对比分析。 2.2.2程序验证 程序验证的主要方法通常有符号化法和模型检测两种,其中符号化法主要是采用将抽象模型状态转化为语法树描述公式,并对其公式的有效性进行判定。模型检测一般情况下需要将实践中可能出现的状态一一列举出来,但是由于系统软件自身的复杂性,其程序模型的规模较为庞大,因此主要是对其部分程序及属性进行抽象模型的构造,并通过内存建模来实现对时序漏洞的有效检测。 3动态检测技术分析 3.1内存映射技术 在攻击者常用的攻击当中,有一种以NULL界位字符串来进行内存覆盖,通过对于映射代码页的应用,我们可以将NULL界位的字符串跳转到低内存中的难度增大,换言之就是说将代码页随机映射到不同的内存地址上,从而在一定程度上防止对页面的攻击。 3.2安全共享库技术 安全共享库技术主要是通过采用动态链接技术,从而使程序运行过程中拦截就有不安全性因子的函数的使用,并随时对函数的参数进行检测,该种当时在Windows以及UNIX上得到了较为广的应用。 3.3非执行栈技术 当前基于栈而进行的软件攻击事故相对较多,其主要是采用想栈中写入恶性代码的方式来进行软件攻击,因此最为直接的防范方式就是拒绝栈执行代码,由此才能使得攻击者在栈中写入的恶性代码不被执行。 3.4非执行堆和数据技术 一般情况下,堆是在程序运行过程中动态分配内存的区域,而数据段是在程序编译时已经初始化,因此如果数据段与堆都不执行代码操作,那么攻击者在其中写入的代码就不会执行,如果将其与非执行占技术相结合,会使写入的恶性代码彻底丧失执行的机会。 4结语 在信息时代环境下,计算机软件安全已经成为了计算机通信安全的重要基础保障,通过静态检测技术以及动态检测技术的综合应用,必定能有效的消除计算机软件方面存在的漏洞,大大降低计算机运行风险,提升其软件安全性。 作者:章立 单位:江西旅游商贸职业学院 软件检测论文:鼠标角位移检测的软件设计方法 1鼠标电路简化及光电码盘精度提高 将机械鼠标改造成为角度传感器,只需要用到其光电码盘及光电检测模块,因此可以将鼠标的电路图简化成如图1所示的形式,包括发光二极管、光敏三级管、鼠标芯片。光电码盘每转过1周能够产生36个脉冲,再由鼠标芯片进行4倍频细分,使得光电编码器每转能够产生36×4=144个脉冲。即最小能够分辨的角度是360°÷144=2.5°,显然精度不够高,因此我们可以在光电码盘前端加上两级齿轮传动,来将分辨率放大16倍,其最小能够分辨的角度是360°÷(144×16)=0.15°≈0.2°,如图2所示。鼠标光电码盘的大小一般为20mm,考虑到尺寸的搭配,齿轮可以选用玩具车上的塑料齿轮,这种齿轮价格十分便宜。其模数一般为0.5mm,如:1、3号齿轮可以选用40齿(直径20mm),2、4号齿轮选用10齿(直径5mm)。 2软件设计 软件设计采用VisualBasic语言编程。程序包含两个部分,第一部分是将芯片初始化设置,去除自动加速功能。其具体方法是,程序向芯片发送十六进制代码E7,命令芯片关闭自动加速功能,当收到应答FA后,表明设置完成。加速功能去除后,程序执行第二部分,检测并计算码盘转角位移及速度。该部分程序中包含1个时钟控件Timer和1个计数器Counter。当光电码盘顺时针转过1个栅格时,计数器Counter加1,逆时针减1,由此可以求得角位移。将位移对时间进行微分,即可求得角速度,其具体方法是,时钟控件每秒触发1次,并记录下计数器当前值与前一秒的差值Ti。一般机械鼠标采用PS/2串口输出,对于一些不支持PS/2接口的电脑,采用一根PS/2转USB串口数据线就能将设备插入电脑。当设备插入电脑后,电脑实际上会将该设备识别为鼠标设备,因此当光电码盘旋转的过程中,鼠标指针也会做出相应运动。从而鼠标指针移动的步数可以准确地反映码盘转过的栅格数目。通过捕捉鼠标指针,可以使得计数器Counter的数值随着指针同步变化。然而当码盘总是朝着一个方向转动,鼠标指针可能超出边界而停止。对此可以在程序中加入一个判断函数,当指针超过边界时,立刻通过SetCursorPos(X0,Y0)函数将指针调回原点重新运动。程序流程图如图3所示。 3结语 本文提供了一种可快速将机械鼠标改造成为角度传感器的方法,能够实现一定精度的任意范围的角度测量.经过测试,其性能稳定。该方法最大的优点是无需开发单片机或者考虑外设与电脑的通讯协议,只需通过简单的编程或者直接运行本文所给出的程序代码,就能快速实现角位移及角速度的测量。 作者:唐灵俊 杨旸 周思柱 李宁 单位:长江大学机械工程学院 软件检测论文:安全漏洞检测计算机软件论文 随着科技的发展,计算机在社会中的地位越来越高,于此同时源代码数量也不断增多,由于这些漏洞的存在,很多黑客就利用这些代码中的漏洞进入到计算机软件中实施破坏。因此,计算机在给人们带来方便的同时也为信息系统的安全埋下了一个定时炸弹,安全问题已经成为系统安全最主要的问题。随着计算机更新速度加快,出现的漏洞越来越高,由于利益的驱使,黑客对其的攻击形式多样化。因此,在不断提高漏洞检测技术的基础上,需要寻找弥补漏洞的有效方法,只有这样才能保证计算机安全运行。 1计算机软件存在的安全漏洞 随着我国经济的不断发展,科技技术有了很大进步,互联网中的信息系统使用范围不断扩大,在各个领域发挥着不可取代的作用。由于计算机软件中有很多的安全漏洞,因此很大程度上信息系统就产生了一定的安全隐患。软件中的漏洞会对信息系统造成非常大的威胁,这就需要对计算机软件中的安全漏洞进行必要检测,安全漏洞检测是现代信息系统安全运行中非常重要的课题。计算机软件漏洞是指计算机系统在编程时出现的错误导致的缺点,这些缺点非常容易使计算机软件产生一些安全隐患和计算机自身的危险,计算机系统对有恶意的网络信息有非常高的敏感性,极容易出现对系统攻击行为。之所以出现这种情况,主要原因是在软件开发和研制过程出现的一些问题。漏洞主要有两种:安全性漏洞和功能性漏洞。安全性漏洞指的是在大多情况下漏洞不会影响计算机的正常运行,如果漏洞被黑客发现,软件运行时就会出现错误,严重者计算机会执行错误的命令,有很大的危害性。功能性的漏洞是指漏洞能够影响计算机正常运行,比如运行结果错误等等。漏洞特性主要表现在四个方面:1系统编程时由于编制人员的疏忽很容易出现逻辑性的错误,这种由于疏忽出现的错误很多是疏忽大意所致。2计算机在运行任务时很容易产生逻辑性错误,不同大小之间的程序模块相比可以看出逻辑性错误的发生率很高。3漏洞和软件环境有很大关系。4系统漏洞和时间也存在一定的联系,随着时间的延长,旧漏洞被修复但是也会产生新的安全漏洞。 2计算机软件安全漏洞的各项检测技术及应用 2.1安全静态检测 计算机软件安全静态检测,注重的是系统内部特性,静态检测和漏洞两者之间有共同的特点,这些特点之间也有很大的关联。目前漏洞的划分方法主要有安全性漏洞和内存性的漏洞。安全性漏洞对数据流的误差比较注重,很大程度上由于错误的内存形态而形成的;内存性漏洞对数据的准确性和类别有很大的注重性。因此,这种漏洞主要的检测技术方法就是在内部存储空间进行建模。因为静态检测方法之间有很大的不同之处,漏洞的处理也有很大的不同之处。所以,一些监测技术只能对漏洞进行必要的检测,但是一些方法在此基础上还能够对漏洞进行很好的处理。安全静态检测方法主要是对程序的代码进行扫描,对其中的关键句进行详细分析,然后根据设置的漏洞特性和标准对系统进行全面检测。分析关键语法是最早的静态分析法,它在分析时只对语法进行检查,把系统中的程序分为不同段落语句和数据库相互对比,如果发现有疑问,对其进行仔细的判断,从而进行检测;另一种检测方法就是按照标准进行检测。由于系统自身就是编程的标准,根据标准对计算机程序进行描述,可以通过语法对其进行描述,最后对系统进行整体检测。 2.2安全动态检测 2.2.1内存映射很多攻击者在对软件进行破坏时为了达到目的,会经常用到“NULL”结尾的字符串进行内存覆盖。采用代码页映射技术,攻击者能够利用“NULL”结尾字符串进行内存覆盖。 2.2.2非执行栈目前,出现了一些栈攻击软件的问题,主要原因是系统中栈的执行能力,由于栈内包含了所有数组变量,所以,攻击者通过向栈中书写一些恶意代码,再进行代码执行。预防这种攻击方法最为有效的方法是打破栈的执行力,使代码不能够进行执行任务。2.2.3安全共享库有些计算机中的安全漏洞主要是使用了不安全的共享库所致。安全共享库很大程度上可以预防恶意攻击行为。安全共享库有拦截和检测功能,主要是指使用动态链接方式进行程序运行,把不安全函数进行拦截和检测,最大程度上保护软件的安全。 2.3计算机软件安全漏洞检测技术的应用 安全漏洞检测技术直接关系到计算机的安全应用,其中在计算机软件安全漏洞检测中,其各项技术的应用主要集中在:第一,防止竞争条件安全漏洞应用。这种漏洞的应用一般是采用原子化处理竞争编码,这种编码有锁定功能,原子化操作进入锁定状态,详细的描述使用文件,很大程度上预防由于使用文件的变动使系统产生漏洞。第二,缓冲区安全漏洞检测技术应用。缓冲区安全漏洞检测主要是对软件程序中的一些疑问函数进行详细检测来预防缓冲区安全漏洞。第三,随机漏洞预防应用。对于随机漏洞的检测和预防需要用到性能良好随机发生设备,这种设备能够准确的对随机漏洞进行预防,其中最主要的原因就是该设备有密码算法。第四,格式化字符串漏洞检测技术应用。这种检测技术的应用一般是在代码中使用格式常量。 3结语 有上文可以看出,随着计算机的发展,计算机软件漏洞检测技术能够很好的对计算机中的漏洞和病毒进行安全检测,已经成为了现在计算机检测最实用的方法。软件的安全主要体现在编程和清楚漏洞方面,所以,需要对计算机软件安全漏洞检测技术不断提高,使网络信息系统更加安全的运行。 作者:汪刚 单位:南京工业职业技术学院 软件检测论文:计算机软件安全检测法综述 1计算机软件安全检测的流程 由于计算机软件的系统规模比较大,系统中又包括了很多子系统,在各个子系统中又包括了很多模块。一般来说,计算机软件安全检测工作要严格按照以下流程进行检测:对各个子系统中的模块进行测试;对软件系统进行组装工作;对计算机软件的系统结构进行准确检测;测试计算机软件的性能与功能;测试计算机软件系统。 2计算机软件安全检测的方法 2.1形式化安全检测 形式化安全检测,是以计算机软件数学模型为基础,运用形式化、规格化的语言,所构成的一种形式化说明形式。该种方法主要模型语言、有效状态语言和行为语言三种形式化、规格化的语言。形式化的安全检测所使用的检测方法,以模型检查和数学定理模型证明为主。 2.2语法检测方法 语法检测方法,是一种运用语法形式,对生成功能接口的计算机软件进行检测的一种方法。通常情况下,这种检测方法主要以对计算机软件进行研究和反映为目的。也就是说,在不同的输入环境下,对计算机软件的不同类型进行的反映。 2.3以模型为主的计算机软件功能检测方法 以模型为主的计算机软件功能检测方法,在实现计算机软件行为与结构建模相结合的前提下,所组成的一种测试模型。这个测试模型具有满足检测机器要求的可读性功能。以模型为主的计算机软件功能检测方法与形式化安全检测方法,在进行对比后,前者将系统模型中的一组测试用例,运用该组测试用例对等待检测的计算机软件系统进行测试工作,在获得充分的信息证据后,证明待检测软件系统行为与模型期望之间的一致性。其不对待检测计算机软件的系统、规格说明之间的一致性进行检测。以模型为基础的安全静态检测方法主要运用有限状态机与马尔科夫链两种检测方法。 2.4模糊式检测模糊式检测,在运用白盒模糊检测方法的基础上,将传统检测方法和动态检测相融合,实现了传统检测方法的升华。虽然模糊式检测方法比较简单,但是其能够将程序中的bug揭示出来,并对现实中存在的错误模式进行验证,在软件发货之前,能够提示可能阻塞的攻击渠道。 2.5以故障注入为基础的安全检测 经过具体的实践证明,以故障注入为基础的软件检测方法,对于提升计算机软件安全检测方法的自动化水平具有十分重要的作用。 2.6基于属性的检测方法 通过将基于属性的检测方法和其他种类的检测方法进行对比后,了解到该种检测方法能够全面的对计算机软件系统安全漏洞的扩展性、交互性进行分析。在运用该检测方法时,要对计算机软件的相关规范章程进行了解,将规范章程作为安全检测工作的重要属性依据。然后运用安全属性检测计算机软件系统程序的代码,对计算机系统代码和规则的符合性进行严格的验证。 3结语 总之,计算机越来越广泛的应用在人们的生活、工作和学习中,其自身的安全性能对人们使用计算机具有十分重要的影响。因此,需要运用科学、合理的软件安全检测方法,最终有效的提高计算机的安全、稳定运行,提高计算机信息的可靠性,增强计算机软件的性能。 作者:段立峰 软件检测论文:软件工程的安全检测及维护 摘要:随着计算机技术的普及,以及通信技术的不断发展,软件的开发效率也越来越高,各类软件的更新换代速率也直线上扬,软件工程也更受到人们的关注。随着计算机技术的普及,以及通信技术的不断发展,信息软件的应用也越来越广泛,在这一大背景下,软件工程的安全检测以及后期的运维的重要性也逐渐凸显出来。尤其是安全监测,其作为软件工程正常运行的核心板块,软件工程的安全对于整个系统来说有着极大的意义。为了能够设计出更加先进的软件,进一步的提高计算机技术,就必须要对软件工程进行系统统筹,以此来构建新的通信系统,让系统更加稳定。为了加强软件工程建设,就必须要对其进行深入的分析,并在此基础上进行针对性的对策提出。笔者根据相关资料,对软件工程的安全检测与维护进行分析。 关键词:软件工程;安全监测;维护分析 0引言 大数据时代下的发展都带有时代特有的印记,当前,我国的网民已经突破了七亿大关,就是这些庞大的受众,推动了计算机软件的开发,也推动了计算机技术的突破。在这种信息化的大潮流中,软件工程日益重要,但却在发展中也因为软件自身的缺陷而带来了一些网络安全问题。我们不得不意识到,由于信息网络安全问题的屡次出现,而造成了一些严重问题。软件工程时刻遭受着安全风险,这些风险不管是由于软件本身的缺陷,还是运维当中的系统原因,亦或者是人为的因素,都会给整个通信系统带来严重的威胁,造成数据的泄露,系统的崩溃和瘫痪,为生产生活带来消极的影响。正是因为软件工程自身具有的特殊性和重要性,以及其所面临的严峻环境,就必须要让我们时刻的提高警惕,进行安全检测技术的提高,进行维护措施的制定,以此来保障网络系统的安全。 1软件工程的安全检测与维护内涵 1.1安全监测 计算机软件安全检测与维护对计算机技术的应用有着至关重要的作用,要想更好的应用于人们的生活与工作当中,就必须重视软件工程安全检测与维护技术的研究[1]。因为在应用计算机技术的过程中,软件工程经常会出现一些非人为因素的故障和安全问题,安全检测与维护技术就可以及时发现其中存在的问题,及时采取措施进行修补,保证计算机软件正常运行。在现实生活中,计算机软件工程的安全检测技术主要有静态和动态两种检测方式,安全性方面的测试主要分为性能测试、渗透测试和验证过程三个方面[2]。 1.2软件工程维护 任何产品都有属于自己的生命周期,软件同样有着属于自己的生命周期,它的生命周期过程为定义、开发、运行维护。软件的开发和应用最主要的目的就是为了满足用户的需求,这也是软件工程最根本的目标。这也就告诉我们,软件在应用的过程中,如果出现了非人为因素的错误或者问题,安全检测与维护技术就会及时的采取有效的措施,进行修补、改进,只有这样才可以将软件工程逐渐趋于完美,才能够更好的适应各种环境[3]。 2软件工程的安全检测 2.1流程 第一,进行全面检测,由于整个软件工程是一个由多个个体集合而成的整体,因此,在进行检测时,就必须要全面,对每一个涉及的元素都进行检测,以此来发现其中所存在的问题,并且找到这些问题后能够及时的解决,以此来提高软件的稳定性,提高软件工程的整体性能。第二,通过了全面的检测后,就需要进行针对性的检测,对软件的功能质量进行检测,并测试软件的功能运行是否正常。第三,需要对不同环境下的软件工程进行检测,以此来确保在不同的环境下也能够正常运行[4]。 2.2检测方法 一般情况下,软件工程的检测主要是基于数字模型而进行的,属于形式化检测,通过这种检测来提高软件本身的安全性能。静态检测包括词法分析;通过各信息片段与程序细节的比对来确定不同,以此来找到新的概念点,确定软件的性能[5]。程序解释;通过在原有的程序中嵌入新代码来进行软件保护,该技术不需要对原软件程序进行修改。而静态检测技术则包括一下几个步骤;规则检测;在进行软件工程构架时,都会有许多的软件系统支持,一旦出现不稳性,可以对这些软件和信息进行检测,通过对个体的分析来确定整体的安全性,避免由于人为失误而造成软件泄露。动态监测,包括了属性测试,这主要是对软件的各个部分进行检测,对相关的内容进行对比,找出不稳定因素。故障分析;这一方法是将可能的故障作为检测对象,并进行检测排除,以此来确定软件本身是否稳定。 3软件工程的维护 3.1软件工程的维护类型 软件工程的维护类型主要包含了适应性维护和改正性维护两种。适应性维护;主要是针对其所处环境而进行的维护,通过对软件工程环境的改变,来检测不同环境下其功能的正常性,并且对存在的问题进行及时的修复和调整,以此来让其具有更好的适应性。改正性维护;主要是通过对软件的实际使用来发现其中存在的运维问题,通过软件执行过程中存在的漏洞进行针对性的维护修复。 3.2维护方法 对整个维护体系进行系统统筹,制定周期性的维护计划,对相关的软件进行维护、修复和后期的运维管理,以此来保障其拥有合适的运行环境。其次,要不断的提高维护的手段,要与时俱进,将新技术融合到软件维护上去,通过这些新的高超的维护技术来提高维护的水平,以此来确保软件的运行质量,以此来建立良好的运行新环境[6]。 4软件工程的安全检测与维护 4.1定期进行维护检测,对系统进行实时监测 为了加强对软件工程的管理,就需要时刻的保持警惕,并且需要实时的对软件工程进行监控,按照计划对其进行系统检侧,以此来查处系统中所存在的病毒和风险。在这种系统检测中一旦发现问题就要及时处理,避免这些病毒的扩散,变被动为主动,以此来保障网络通信的安全。在软件工程中流传的相关数据以及各节点之间的数据传送都需要定时的清理和检查,如果节点之间和所传输的数据之中存在病毒和风险,就需要及时的做出处理,以此来提高系统的耐受性,提高其稳定性,保障数据的安全。 4.2提高核心技术的自主性 软件工程内部所关联的核心技术决定了其自身的安全程度,为了提高其进行自我保护的力度,对于核心技术就必须要有自主性。由于这些核心技术一般都是多方参与,或者是直接进口,因此,本身就具备一定的风险性。因此,我们必须要在核心技术上加大投入,努力的进行新技术的开发,不断地进行突破,以此来保障核心技术的竞争性和保密性,避免一些由于核心技术的缺失而造成的恶意攻击和网络的不稳定。也只有不断地进行技术突破,不断地对软件工程进行完善,提高防火墙功效,提高传送的安全性,才可以让软件工程在真正意义上获得稳定。最终保证软件工程的质量,确保其安全。 5结语 计算机在不断地发展中为人们的生活带来了极大的便利,不管是生产经营上,还是在日常的信息交往上,可以说从根本上改变了我们的交往方式。而软件工程的发展则是让计算计技术进步的核心,也正是如此,软件工程的安全监测和维护也越来越得到人们的关注。但是随着社会的进步,不断有新的技术被研发出来,因此要想符合时展的脚步,就必须不断研发新的软件工程检测技术与维护技术,从而符合软件工程行业的发展。为了让软件工程能够得到更好的发展,我们必须不断为其创造良好的条件,提高检测和维护的技术,为其发展提供助力。 作者:邵嘉伟 单位:江西服装学院 软件检测论文:电力软件缺陷代码检测技术研究 摘要:为了确保电力信息系统能够得以正常操作,进而强化系统功能,提高工作质量,减少成本费用的支出,应及时改善电力软件代码缺陷检测效率低下、自动化效果差以及定位不精准等情况。本文主要分析了电力软件缺陷模式的代码检测技术,并对此展开了深入的探讨,期望可以为今后的研究提供相应的参考。 关键词:缺陷模式;技术研究;代码检测 0引言 在二十一世纪之后,美国首先提出了基于缺陷模式的软件测试,通过将此种方式与传统方式进行对比后可发现,其主要可以分成三个流程,即:首先,界定软件缺陷模式的含义;其次,找寻准确的IP,并运算出与模式兼容的元素;最后,采用自动化模式进行确定,同时也可派遣专业人员进行确认。基于缺陷模式的软件测试相对来说优势较多,能够测试出很多细微的问题缺陷,并且具有一定的针对性。所以,本文通过研究后能够有效提升系统测试效率,进而提高工作质量,为电力信息系统今后的发展提供有利保障。 1电力软件缺陷模式与模式库构建 (1)电力软件缺陷模式。通常情况下来看,普通的电力软件缺陷表示的是不符合电网的相关规定,导致用户在应用的过程中造成了很多弊端。当程序在运行时发生软件缺陷的话,则会致使系统紊乱,无法正常运行。由于电力软件的研发时期不同,所以产生的软件缺陷也会存在一定的差异性。当处于初始时期时,系统架构人员将会对系统软件进行合理的宏观调控,如果控制失误则会造成缺陷,由于其在开发时期的隐蔽性较强,仅能够在后期可以体现出来,所以必须要在修改时期时进行大范围的修改,严重浪费了资源,增加了成本费用的支出,所以此种缺陷是极其不利的[1]。当处于需求定义时期时,假设无法适应用户的各项要求,那么也会导致缺陷出现。在设计系统的过程中,必须要保障方案规划合理、科学,反之则会影响整个系统的正常运行。在进行编码时,应采用正确的运算方法,编码失误也会引起缺陷。在系统维护时期,必须要正视各个环节,采用科学的手段进行维护,不然则会造成不可预估的后果。所以,在操作的过程中必须要充分应用各项资源,有效改善电力软件缺陷,进而提升工作效率与质量。除此之外,软件在运行时,不同时期进行修复所需要的费用也存在差异性,时间越长则成本也会随之升高,因此必须要及时发现缺陷。 (2)建立电力软件缺陷模式库。在建立电力软件缺陷模式库时,必须要立足于实际,以研究成果为基准而分析场景特点,进而创建出完善的电力软件缺陷模式库体制,找寻缺陷的问题所在,并对其进行叙述保存,创建出相对完善的缺陷模式库,进而具备一定的定制性与配置性。 2基于电力软件缺陷模式的代码检测技术 (1)区间运算技术。1)区间代数。所谓区间,表示的是在程序中变量的取值范围,而区间代数表示的则是代表以及运算变量位置的方式。在对软件进行测试的过程中,主要操作步骤则是将录入的变量均看做为区间,致使中间变量以及输出变量最后均变为区间的一种方式[2]。2)变量的相关性分析。通过进行分析后可发现,在程序中应在以下几种情况下应用变量关联,即:相同路径引进的隐含约束关系、赋值语句关系、条件限定关系以及别名关联关系。 (2)基于数据流的缺陷检测。在操作的过程中,我们可将缺陷检测流程进行深入分析,并将其作为一个前向可能数据流的情况,数据流的元素主要包括以下几个方面:1)在进行缺陷检测时,呈现为正向数据流,D=FORWARD;2)在进行缺陷检测时,L是可能状态集合的幂集,Ventry={ Start}表示的是L的常量值,即为边界条件;3)在进行缺陷检测时,∧表示的即为可能状态集合的U操作;4)G=( V, E, entry, exit),在此过程中V所表示的为节点集合,E所表示的是边,entry所表示的为入口,exit所表示的为出口;5)在进行缺陷检测时,F所表示的为由程序语句而导致的缺陷变迁现象。 (3)函数间分析技术。1)约束信息。针对约束模式状态机而言,由于故障类型不同,所以产生的约束模式也存在一定的差异性,在此过程中N代表的即为状态机均能够发生的状态,T代表的即为状态之间通过转化后所形成的集合,C代表的即为状态转化要求,Nfault代表的即为故障的具体状态,Ncons代表的即为约束形式状态。 2)后置信息。在进行静态分析时,针对函数来说,变量的取值区间对其所产生的作用比较大,所以在操作的过程中必须要提高对函数副作用的关注。为了改善这种情况,在运算区间以及检测缺陷的过程中必须要合理运用计算方式,选择应用函数后置信息方式。 3代码缺陷自动化检测方式 在进行操作的过程中,我们可创建相对完善的代码缺陷自动化检测方式,检测流程可分为五个步骤,即:输入、基本分析、提高精度、自动测试及结果分析,在此过程中提高精度与自动测试最为重要。应用此种检测方式进行操作时,必须要结合多个方面进行考虑,具体可包含以下几种问题,即:误报情况、漏报情况以及模式机理等。 4总体研究架构 首先,应对电力软件缺陷模式展开深入的探讨,并创建出完善的电力软件缺陷模式库,与此同时,也应研究提升精准的技术手段,并以此作为基础条件,而创建出代码缺陷自动化检测方式。 5结束语 综上所述,基于缺陷模式的软件测试得到了广泛应用,能够测试出很多细微的问题缺陷,并且具有一定的针对性。除此之外,也能够有效提升系统测试效率,进而提高工作质量,为电力信息系统今后的发展提供有利保障。 作者:李北星;常鑫 单位:乌兰察布电业局 软件检测论文:计算机软件安全检测技术探究 摘要:随着计算机的大量普及,其安全监测技术的发展逐渐受到人们的重视。计算机安全监测技术水平的好坏,将会直接关系到人们日常生活的安全。通过计算机安全监测技术,人们能够对计算机软件进行系统化的测试,有效识别并且排查计算机软件中存在的安全隐患。本文通过对计算机软件安全检测技术的概述,提出了几点软件检测的指导建议,为保证计算机软件安全提供了一些参考。 关键词:软件检测;计算机安全;检测方式 1计算机软件安全检测应该注意的事项 从本质上来说,计算机安全监测就是检测软件的安全性,其检测过程也是在一个动态过程中测试计算机软件的可靠性。计算机软件的检测要求按照严格的操作进行,首先,在进行计算机软件检测之前,需要制定完整的检测方案。进行软件检测之前应该对需要进行检测的软件有一个较为细致的了解,在整体把握软件功用的前提下对软件进行检测。在进行测试方案的制定时,应该规定软件检测采用的测试手段、测试工具在进行软件测试时,能够保证测试过程的高效进行。另外,进行测试的工作人员应该是具有较强软件编写能力的专业人士,在进行软件测试的同时,原软件的编写人员也应该参与在测试试验中,这样可以方便发现问题及时解决。在进行软件测试的时候,只有制定专业的测试方案,配备专业的测试人员,软件的测试结果可靠性才能得到充分的保障。其次,软件测试完成后,对测试信号的分析也是很重要的一步。分析测试结果时,应该保证对测试得到的信号进行全面细致的检查。一般来说,一个计算机软件的代码程序十分复杂,包括大量的指令以及逻辑运算关系,这就要求在分析测试信号时,相关的工作人员工作要细致认真,除了保证软件能够正常应用以外,还应该尽可能考虑到软件后期的升级维护接口功能。与软件测试方案的制定相似,软件测试结果的分析也需要制定流程化的处理方案,在分析软件过程中要求采用合理的检测技术,专业化的检测人员,以负责的态度完成软件测试的后期工作。所以说,软件测试是一个系统化的庞大工程,技术检测和测试处理均需要专业的处理,也只有这样才能保证计算机软件的安全性。 2计算机软件的安全检测方法 2.1计算机软件安全检测流程 一般来说,在进行计算机软件测试的时候,检测流程常常根据软件的系统结构进行。由于计算机软件由很多模块构成,所以常常遵循着从模块测试、组装测试然后再到系统结构的安全监测,检查发现模块没有问题以后在进行软件功能的测试,以上结构均未发现问题,则进行系统整体检查。这种,由浅入深的测试方法可以保证测试不会丢失对某些软件功能的检查。其中,模块测试主要指对软件系统中最小的组成单位进行检查,只有从小的模块进行检查,才保证整体不出现大的差错。检查模块时务必做到检查细节化和全面化。在进行完模块检查之后,还需要对其进行组装。但是值得注意的是,尽管模块检查没有问题,但是组装的系统却仍然可能出现问题,诸如组装兼容性、软件漏洞等问题还是存在的。系统组装检查完成后需要对软件进行效果测试。效果测试的目的在于保证组装后的软件能够满足用户的使用需求,保证用户在使用过程中不会出现问题。只有经过上述全部检测过程,软件测试才算完成。 2.2计算机软件安全检测的方式、方法 2.2.1形式化的安全检测 该检测方法需要较强的计算机知识,由于它建立在计算机软件的数学模型智商上,要求在检测过程中严格依据现有的语言进行检测。目前人们经常采用的形式语言规格有三种,主要包括行为语言、模型语言的有效状态语言。形式化的安全监测是现在计算机软件常用的检测方法之一,检测准确度较高,检测结果较为可靠。 2.2.2基于模型的安全静态检测方式 模型的安全检测方式在检测时应该先建立一个软件模型。在建立软件模型是应该保证该模型对于计算机是可读写的,但是模型的功能与被检测计算机软件的功能并不是完全相同的。模型化的检测并不能保证待测软件与建立的软件模型完全相符。在测试时候常常对测试模型进行检测,然后经过检测让模型测试的功能与原测试元件功能基本相符即可。模型化的测试方法需要建立软件的模型,常用的模型检测方法包括有限状态机或者马尔克夫链,相对来说,检测建模具有一定的难度。 2.2.3语法检测 计算机软件的语法检测主要利用指令测试软件的功能,主要的检测指标为计算机软件对输入指令的响应。即在测试过程中通过给计算机输入不同的指令,来观察软件对所输入指令的反应来判断软件是否存在使用问题。采用该检测方法是,需要定义大量的识别语言,而且也并不能完全保证语言指令类型的全面性。但是他既可以检测软件编写问题,也可以检测软件的安全问题。 2.2.4基于故障注入的安全检测该方法 经过实践检验,相对于其他检测方式具有很高的检测效率。主要体现在本检测方法主要利用故障模型,构建故障树,通过对模型输入检测信号,分析软件对于所输入指令的响应来判断软件中可能存在的故障信息。该方法可以检测出软件的安全性以及对使用过程中出现错误的兼容性,具有较强的实用检测价值。 2.2.5模糊式检测方法 模糊式检测既结合了传统测试的优点,也具有自己独特的优点。简单来说,他是传统检测技术的再升级。它通过在白盒模糊的基础上,能够检测出程序中存在各种Bug,并且对潜在错误具有一定的检测效果。 3小结 随着人们对计算机软件安全监测的重视,越来越多的检测方法逐渐出现,相应的检测技术也越来越高端。总之,计算机软件测试需要我们在实践生活中不断创新方法,除了掌握一定的计算机软件测试方法以外,实际的经验积累也是计算机软件安全测试必不可少的。 作者:顾建丰 单位:江苏省常州市武进区淹城初级中学 软件检测论文:计算机软件安全检测技术的作用 随着计算机网络技术的发展,计算机与社会生产生活有着密不可分的关系,而由于计算机网络存在一定的风险性,需要做好相应的安全检测才能够有效避免风险的发生。计算机软件作为计算机网络的重要部分,利用多种安全检测技术,来检测并保障计算机软件的安全性,以提升计算机网络整体的安全能力。 1计算机软件安全检测定义及重要性分析 计算机软件安全对于保障计算机运行的安全十分关键,计算机软件是否能够运用于计算机中,也是需要对软件安全性进行评估,只有软件安全性达到一定标准才能够满足系统兼容性并投入使用中。计算机软件安全检测是利用多种检测技术发现软件设计的漏洞,并排除软件使用中的风险性问题,保障计算机软件的安全运行。计算机软件不同于一般的应用软件,一般应用软件发生问题多为影响用户的应用体验,而无实质性的危险发生。而一旦计算机软件故障并遭受到网络攻击,则将影响计算机的运行,甚至系统崩溃。由此可见,计算机软件的安全性对于保障计算机网络安全有着重要意义。利用多种计算机安全检测技术,并根据软件类型和特点有选择性地进行安全检测,排除可能存在的软件问题,以进一步提高计算机和系统与软件间的兼容性、安全性。 2计算机软件安全检测技术类型分析 2.1静态检测技术静态检测技术,顾名思义是检测软件的静态故障。如软件编写代码的错误以及语法上的错误等等。由于网络攻击可能利用有缺陷的程序代码和漏洞来进行攻击,因此利用静态检测技术,排除软件编写中语法和程序的错误,可以做到最大程度上的风险减免。通过测试计算机软件的使用情况,利用“与”或“非”等逻辑输入形式,根据输出结果来判断计算机软件编程中是否存在相应的语法问题。 2.2形式化安全检测技术形式化安全检测技术主要是验证软件的合理性,根据软件设计的模型以及数理上的可行性分析,来证明软件使用的安全性。形式化安全检测包括对软件的数学模型进行检测,分析模型运行的可行性以及模型的逻辑性。同时也包括对软件进行定理证明,发现软件设计上的数学错误和逻辑问题,以避免风险性问题的出现。 2.3基于故障注入的安全性检测技术基于故障注入的安全检测技术是较为常用的安全检测技术,也是较为可靠的检测技术。故障注入的检测技术,是利用生成的故障问题来观测软件运行时的安全性,即观测软件故障时的具体表现。故障注入即是模拟故障,通过修改软件内存和改变软件设计逻辑等方式,来模拟网络攻击和故障时计算机软件的通常表现。通过还原的故障状态,能够进一步评估软件在故障时的不足之处,以及检测软件自我修复功能的良好程度。在实际应用中,还能够结合硬件的故障注入技术,实现软件与硬件的同时检测,以排除软件与硬件问题之间的相互影响。 2.4基于属性的安全检测技术,基于属性的安全检测技术,首先需要确定软件的安全属性,并根据安全属性的特点来评估软件程序编码中的可靠性。部分软件的编码表面上可以达到一定的安全性,但根据系统与软件的安全属性,则表现为软件在编码上存在不足,难以维护软件的安全属性,可见进行基于属性的安全检测是有积极意义的。 2.5其他安全性检测技术其他的软件安全检测技术,比如“白盒测试”、“黑盒测试”以及建模测试等等。软件安全检测技术多以软件的语法测试或功能测试出发,如基于“白盒测试”的安全检测技术,则主要从软件代码出发,发现编码中出现的语法问题。此外,还有基于软件功能进行测试,分析软件模型的功能性,具有较强的实用性,能够有效检测出软件设计中的问题,以保障计算机软件的安全性。 3计算机软件安全检测技术应用分析 3.1计算机软件安全检测流程分析计算机软件安全检测的进行,需要根据计算机软件的大小而决定,对于组成复杂的计算机软件往往需要分步分区进行检测。计算机软件安全检测的基本流程由模块测试、结构检测、功能测试、系统测试等多个步骤组成,首先模块测试主要是需要对软件设计与编程的早期问题进行检测,如程序算法、语法等方面的问题。其次是对软件结构进行检测,软件结构是否完整,是否能够支持相应的软件的功能。其次是功能测试,检测软件在使用中是否可以实现特定功能,通过故障注入等方式,还能够检测软件故障时的功能可靠性。最后需要进行系统测试,分析计算机软件与系统的兼容性等等,以保障软件在计算机系统中功能的正常实现。 3.2计算机软件安全检测的注意内容在对计算机软件进行安全检测时,需要把握好相关注意事项,同时也是计算机安全检测技术应用时的重要考虑事项。计算机软件安全检测技术种类较多,需要根据计算机软件的特点和检测目的来进行合适的选择,同时需要按步骤进行检测,规范化检测程序,以保障安全检测的良好效果,发现潜在的软件风险问题。在软件安全检测中,需要进行系统的全面分析,以综合考虑软件与计算机的兼容状况,才能够准确评估软件运行的状况。 4结束语 计算机软件安全检测技术种类繁多,在实际运用中,需要根据计算机网络的实际状况以及网络风险的类型而进行合适的选择。运用合理的计算机软件安全检测方法,将能够维护计算机网络的安全与稳定,提升计算机软件的可靠性。 作者:廖肇军 单位:同济大学软件学院 江西现代职业技术学院 软件检测论文:软件故障优化检测方法仿真 《计算机仿真杂志》2014年第六期 1大型差异结构下的软件故障检测原理 软件故障检测技术是通过软件不同部分提取的异常信号特征,在根据软件故障的特征类别,进行定位的方法。其原理如下:将全部软件运行数据分为N个组别,针对其中的任意一组数据进行聚类中心的计算,从而获取一组规则,根据该规则能够实现软件故障检测。设置软件故障检测的聚类中心能够用Dl进行描述,对应的故障类型能够用d1进行描述,则能够得到下述模糊聚类规则:在上述公式中,yjk能够用来描述软件运行过程中第k个状态特征,Blk能够用来描述第L个模糊规则的第k个运行状态特征的隶属度。利用下述公式能够描述上述软件运行状态特征隶属度函数:在上述公式中,dlk能够用来描述聚类中心Dl的第l个元素,!lk能够用来描述上述聚类中心对应的扩展度。针对聚类中心进行差值运算,能够得到其余的聚类中心,从而获取模糊聚类的规则。根据模糊聚类规则库,能够得到该聚类模型的输出结果如下所述:根据上面阐述的方法,能够得到一系列软件运行状态特征的模糊聚类规则,对聚类模型进行优化处理,能够得到软件故障分类模型。在模糊聚类故障检测模型中,设置输入的数据是Yj,软件故障的类别能够用d1进行描述,则模糊聚类模型的输出结果是1,否则,该模型的输出结果是0。软件故障类型的检测误差分为两个不同的部分,其中,第一部分能够用下述公式进行描述。在上述公式中,全部软件运行状态特征的数目能够用pd进行描述。根据上面阐述的方法,能够建立软件故障检测的模糊聚类模型如下所述:根据上面阐述的方法,能够建立软件故障检测的模糊聚类模型。但是,如果软件结构呈现差异化趋势越发明显,软件集成性使得其整体结构的关联性呈现淡化。结构接口之间无明显衔接特征,将造成缺少明确的接口衔接特征进行定位区域指示,导致软件故障定位不准。 2基于差异结构融合算法的软件故障检测方法 利用模糊聚类算法进行软件故障检测,如果软件结构呈现差异化趋势越发明显,软件集成性使得其整体结构的关联性呈现淡化,由于缺少明确的接口衔接特征进行定位区域指示,造成软件故障定位不准。为此,提出了一种基于差异结构融合算法的软件故障检测方法。 2.1软件故障检测信号融合处理利用信号融合技术,对软件故障检测信号进行有效的融合处理,从而为软件故障检测提供基础。其详细内容如下所述:利用窗口函数,能够对软件故障检测信号进行提取,提取公式如下所述:设置软件故障检测信号的初始值可以用C和D表示,利用下述公式能够对上述软件故障信号进行初步的融合处理:在上述公式中,JB(j,k)能够用来描述第一个软件故障信号的能量参数,JC(j,k)能够用来描述第二个软件故障信号的能量参数,对应的比率分别是ξB和ξC,而且需要符合条件ξB+ξC=1。KC(k,l)表示软件故障信号的低频系数,KD(k,l)是对应的高频系数。根据软件故障信号和对应的比率之间的关系,能够得到下述结果:根据上述方法,可以将软件故障信号按照对应的比率进行有效的融合处理,从而为软件故障检测提供可靠的数据基础。 2.2实现软件故障检测根据分布式协同检测方法,可以对软件故障进行有效的检测。其详细内容如下所述:在软件故障检测过程中,设置软件故障信号可以用Bk(m)(k=1,2,3)表示,则需要对上述特征进行有效的特征提取,特征提取规则能够用下述公式进行描述:根据上面阐述的方法,能够利用信号融合技术,对软件故障检测信号进行有效的融合处理,从而为软件故障检测提供基础。利用分布式协同检测方法,对软件故障特征进行有效的检测,从而完成软件故障检测。 3实验结果分析 为了验证本文提出的基于差异结构融合算法的软件故障检测方法的有效性,需要进行一次实验。在实验的过程中,需要利用VB++语言进行实验编程。在实验的过程中,需要将三种不同功能的软件构成一个新的软件,则该软件具有较强的差异化结构。在软件故障检测实验过程中,实验数据如下所述:1)软件故障检测信号的数量:1000个;2)软件故障检测过程中的白色噪声信号数目:1000个;3)系统噪声:<5微伏;在实验过程中采集的故障信号图谱能够用图2进行描述。利用传统算法进行差异化结构下的软件故障检测,检测结果能够用表1进行描述。利用本文算法进行差异化结构下的软件故障检测,检测结果能够用表2进行描述。对上述两个表中的数据进行对比分析可以得知,利用本文算法进行软件故障检测,在软件差异化结构相似的情况下,利用本文算法进行故障检测的准确性远远高于传统算法,能够为软件的正常运行提供保障。利用不同方法进行软件故障检测,获取的检测准确率能够用图3表示。根据上图可以得知,利用本文算法进行软件故障检测,在软件的差异化结构相似的情况下,利用本文算法检测的准确性高于传统算法。通过上述实验能够得知,在软件差异化结构比较明显的情况下,利用本文算法进行软件故障检测,能够极大的提高检测的准确性,从而保证软件的安全运行。因此,能够将本文提出的基于差异结构融合算法的软件故障检测方法广泛应用在软件故障检测领域中。 4结束语 本文提出了一种基于差异结构融合算法的软件故障检测方法。利用信号融合技术,对软件故障检测信号进行有效的融合处理,从而为软件故障检测提供基础。利用分布式协同检测方法,对软件故障特征进行有效的检测,从而完成软件故障检测。实验结果表明,利用本文算法进行软件故障检测,能够在软件结构差异性较强的情况下,有效提高软件故障检测的准确性,从而保证能够对软件故障进行实时检测。 作者:汪伟熊婷詹雪单位:南昌大学科学技术学院
一、引言 为主动应对新一轮科技革命与产业变革,支撑服务创新驱动发展、“中国制造2025”等一系列国家战略,教育部积极推进新工科建设,先后形成“复旦共识”、“天大行动”和“北京指南”,旨在形成领跑全球工程教育的中国模式和中国标准,打造世界工程创新中心和人才高地。新工科建设的重点是探索工程教育的新模式,建立全面融入工程环境的课程体系,目标是让全体毕业生在知识、能力和个人素质等方面满足工程创新的要求。 二、嵌入式工程人才应具备的知识和能力 嵌入式工程师的主要工作是嵌入式系统设计和开发,包括硬件系统的建立和相关软件的开发、移植、调试等工作。一般可以分为嵌入式硬件工程师、嵌入式底层驱动工程师和嵌入式应用软件工程师。硬件工程师负责硬件系统的设计、制作和调试,包括外围电路芯片的选择、接口电路的设计、板级的测试(需要自己写程序测试硬件的基本功能)。硬件工程师需要掌握模拟和数字电子技术、计算机原理和接口技术和底层程序设计知识,具备数模混合硬件电路和数字逻辑系统的设计能力以及设计底层程序测试硬件系统的能力。底层驱动工程师负责开发与硬件关系最密切的底层软件和初级的硬件驱动程序,需要具备数字电子技术、计算机原理和接口技术、操作系统原理、数据结构与算法方面的基础知识,要求能看懂嵌入式系统的电路原理图,熟悉处理器的体系架构,熟悉各种通讯协议,能设计和调试底层的驱动程序,能根据需要对操作系统进行移植和裁剪。应用软件工程师负责设计系统的应用软件来实现应用系统的各种功能。嵌入式应用软件工程师需要掌握的知识有C/C++语言、操作系统原理、数据结构与算法。从上面的分析可以看出,嵌入式工程师的知识结构可以用一个三层结构来描述,其中C程序设计和计算机原理是两块重要的支撑构件,电路、电子技术和数学物理基础是这个知识结构的基石,而操作系统、数据结构与算法和嵌入式系统设计是上层建筑。上述分析还表明,实际研发工作对于嵌入式硬件工程师和嵌入式软件工程师的能力需求相差很大,而对于在校的大学生来说,过早地确定硬件或者软件方向是不现实的,也是不合理的。 三、目前嵌入式工程人才培养体系存在的问题 “微机原理与接口技术”是工科学生接触计算机底层硬件的第一门课程。这门课以Intel8086CPU为主线,系统讲述微型计算机系统的基本组成、工作原理、指令系统及汇编语言程序设计、半导体存储器技术、硬件接口技术、总线技术、PC的软件体系以及PC应用系统设计举例。这门课对于帮助学生掌握微型计算机的原理和硬件接口技术,建立微型计算机系统的整体概念具有非常重要的意义,是一门重要的计算机基础课。但是,随着计算机硬件的高速发展和更新换代,这门开设了30年的基础课与实际工程应用之间的距离越拉越大。首先是其内容已经陈旧,陈旧到连实验设备都不容易找到了。为了便于学生入门,这门课采用8086CPU作为模型来讲解。但是现在8086芯片已经停产了,很多学校已经不能给学生提供基于8086的实验设备。有的学校甚至采用FPGA来实现8086CPU,以解决实验的问题。其次是不容易引起学生的兴趣,因为学生无法把课堂所学应用到实际当中去。因此这门基础课逐渐出现了两种形态:一种是继续坚持讲8086架构,把这门课纯粹作为一门计算机理论课来讲,然后在后面的学期里开设重在应用的单片机和嵌入式系统课程;另一种形态是干脆用51系列单片机替代8086CPU,试图用8位单片机的体系架构解释计算机的底层硬件原理。以上两种形态都存在着明显的问题:花一个学期的时间讲那些不能联系实际的理论基础,会让学生对计算机硬件失去兴趣;而51单片机的架构又过于简单,无法透彻地解释32位/64位计算机的结构特点和相关基础理论知识。面对“微机原理与接口技术”这门课程在各个专业教学计划中的尴尬现状,许多专业又先后把“单片机应用技术”、“嵌入式系统”、“DSP系统设计”列入专业选修课,构成一个课程群。但是,这个课程群存在下列问题: 1.“微机原理与接口技术”的作用不明确,教学内容亟待调整和优化; 2.“单片机应用技术”所采用的51体系与后续的“嵌入式系统”之间跨度过大,很多学生要再花很多时间才能掌握实用的嵌入式系统开发技术; 3.课程群里的各门课程之间内容没有经过统一设计,学时利用效率低。 四、以能力需求为基础的嵌入式工程师集成培养方案设计 针对上述实际问题,我们提出一个新的面向能力需求的嵌入式工程师集成培养方案。如图1所示,这个培养方案以“工程设计实践”、“移动机器人工程专题L1、L2、L3、L4”和毕业设计作为嵌入式工程师实践活动的主线和载体。在这个贯穿整个本科阶段的实践过程中,学生通过参与实践项目,接触和运用各种适合项目需要的嵌入式处理器和系统,通过边干边学来培养自己的各种基础能力,尤其是上述第4项能力。这个新的培养方案的特点是在利用现在已经开设的教学和实践课程,加强课程教学之间的呼应。为了做到这一点,应该建立专题实践课程教学和专业课程教学之间的呼应机制和C语言教学与微机原里教学之间的呼应机制。可以采用以下办法: 1.专业课教师参与专题实践课项目的辅导,指导专题实践中学生的选题、方案设计、制作和调试。 2.专业课教学以专题实践课的项目作为典型案例。 3.专业课的教学以专题实践课项目中的某个部分完成的情况作为平时成绩。 4.C语言的教学中采用51单片机上的程序作为例子和作业。 5.工程设计实践和工程专题的项目采用C语言编程的嵌入式系统。 6.计算机程序设计课程改为学习C语言程序设计,而现在的C语言课程改为“单片机C语言”编程,放在微机原理(单片机)的后面开设。 7.在“单片机C语言”课程中加入关于实时操作系统的内容。 五、结语 以能力需求为基础,以工程实践为骨架,用从一年级的移动机器人项目到高年级的工程专题工作室项目构成一个进阶式的工程实践环境。整个嵌入式人才培养课程体系是建构在这个工程实践环境中的。教学实践表明,单片机课程为学生提供了一个很好的入口,学生很快找到了用程序实现预期功能的乐趣,建立了信心。而在单片机课程中加入的接口技术、跨平台应用和最小系统设计,为复杂的嵌入式系统打下了基础。从单片机进阶到ARM的汇编程设计,既有利于理解复杂计算机系统的工作原理,又直接为今后编写底层驱动打下基础,可谓一举两得。此方案实施两年来,学生在嵌入式系统开发方面的能力明显增强,在参加全国比赛中获得良好的成绩。 参考文献: [1]张俊梅.自动化专业微机类课程群改革研究[J].北京化工大学学报(社会科学版),2015,(2):85-88. [2]徐晓红.微机接口技术系列课程实践教学改革[J].电气电子教学学报,2015,(2):43-45. [3]陈立刚,徐晓红.“计算机硬件技术基础”教学内容改革[J].电气电子教学学报,2013,(2):77-79. 作者:王建萍 单位:深圳大学机电与控制工程学院
浅谈计算机软件项目管理:浅论一种加强软件项目管理的实践模式 论文摘要:本文认真分析了目前国内软件项目管理中出现的问题,以提高软件质量、降低成本、加强软件项目的可控性为目标,在深入研究和探讨CMM的基础上结合软件过程.给出了一种加强软件项目管理的实践模式。该实践模式定义了CMM中的6个关键过程域和3个工作组.并从项目的开发时间和质量方面做效率分析,强调了软件过程对软件项目管理的重要性。 论文关键词:软件项目;软件过程;CMM;KPA 1.引言 项目管理(PM,projectmanagement)是指利用现有的知识、方法和技术手段,有效地计划、调度、控制和跟踪项目的开始、执行、直止终止的过程,是项目顺利实现的有效手段。软件项目管理则是在项目管理的基础上,结合软件产品的实际,利用工程的概念和方法来开发与维护软件,对成本、风险、时间、质量、过程、配置等进行分析、管理、控制,最终目的是为了让软件项目的整个生命周期都在管理者的控制范围内,以预定成本按期、按质完成软件的开发并交付用户使用。目前,软件产品已广泛应用于各个领域,但是很多软件项目的成功率并不高.虽然有些公司根据软件工程理论建立了一些软件开发管理规范.但并没有从根本上提高软件项目管理问题,这就导致软件产品质量不稳定甚至是项目的失败,同时也损害了用户的利益。本文结合我国软件项目管理的特点并经实践应用.以提高软件质量、降低成本、加强软件项目的可控性为目标,通过对CMM的研究和改进,给出了一个基于CMM加强软件项目管理的实践模式,在这个模式中对目前CMM中的KPA做适当的裁减,定义了6个关键过程域和3个工作组。 2.软件项目管理中目前存在的问题 影响软件项目成功率的因素主要是软件质量问题,而在整个软件项目的实施过程中需求不明确、跟踪和监督不力、缺乏客观的软件评审和软件配置以及风险管理意识不足等都阻碍着软件质量的提高。 2.1需求不明确 需求管理是软件项目管理中非常关键的一个步骤.需求分析的完整与否可以降低软件质量、延长项目周期、加大成本。由于用户对计算机系统认识的不足,对于系统的需求往往比较模糊,遗漏甚至是错误的问题经常出现(包括管理流程、业务流程、数据或报表的分析处理等),但这些问题往往没有暴露给开发人员,而是随着项目的进展才逐渐明确。对于开发人员来说,需求的变更意味着软件产品的部分内容必须重新开发,而对于整个软件项目管理而言,势必要重新分配资源、调整计划、估算成本等等,导致软件产品质量下降。 2.2跟踪和监督不力 跟踪和监督主要针对过程而言,也是项目管理中最容易被忽视的环节。软件项目过程由多个任务构成,大部分任务都有前置任务和后置任务,这就要求项目管理者要严格跟踪和监督每一个任务。任务的完成主要从时间进度和质量两方面来衡量,还要充分考虑因客户方引起的一些客观因素(更改需求分析等)。项目管理者虽然制定了具体的项目进度内容,但如果缺乏有效的跟踪和监督机制,对于每一个阶段所要完成的任务疏于评价,就会影响下阶段软件产品的质量,有时甚至是软件产品的重新开发,最终影响整个软件项目。 2.3缺乏客观的软件评审 客观的软件评审是软件产品质量的直接保障,软件评审一直贯穿于整个软件项目的过程中,对软件产品的评审应有客户使用人员和软件业中的同行来进行。客户使用人员对软件产品做阶段性的评审可以及时发现软件产品功能方面的不足,同行评审可以从软件业的规范及标准去发现问题.软件评审可以降低软件开发的成本提高软件产品的质量。大多情况下项目管理者没有做任何阶段性的评审,通常只是在软件产品开发基本完成之后来组织评审,果发现了很多问题,但要修改已经非常困难.要花费很长的时间甚至从头再来。 2.4软件配置混乱 软件配置是指软件产品在各个阶段各种版本的文档、程序及数据的集合,贯穿于整个软件项目的始终。随着软件产品开发的进行,由于各种客观原因,其中的预算、设计方案、进度等内容都有可能需要大大小小的更改(这些改动可能是合理的),整个改变的过程对软件项目的参与人员来说必须是可视的,以便提高软件的可靠性和质量,而这一切都应该有正确的软件配置来控制如果失去正确的软件配置管理,那么针对软件产品发生的任何更改或者是维护都会给软件项目带来混乱甚至是失败。 2.5风险管理意识不足 风险管理是软件项目中防止失败的一种重要手段,软件项目不同的阶段存在着不同的风险,并且风险会随着项目的进展而变化,目前国内的软件企业大都不注意软件项目的风险管理。除了社会环境风险、商业风险等这些客观风险之外.可控的软件项目风险主要指技术风险。技术风险主要是指与软件项目本身相关的的技术因素变化带来的风险,如果在一定的条件下达不到技术条件能够实现的目标,不但延缓项目的进度而且会增加项目的成本.继而使整个项目受到影响。 3.通过过程管理加强软件项目管理的实践模式 利用cMM fCapabilityMaturityModeforSoftware)的核心思想把软件项目管理看作一个软件过程,并根据这一原则对整个软件项目的开发和管理进行过程监控,监督发现过程中影响项目的关键问题并予以解决。软件过程是指软件开发人员开发和维护软件及相关产品的一套行为、方法、实践及变换过程,包括软件开发过程和软件管理过程。CMM把软件开发机构按照不同开发水平划分为5个级别。每个等级被分解为几个KPA(关键过程域),KPA是指在某个成熟度等级应重点关注的区域,也是达到此成熟度等级必须解决的关键点。①初始级,无过程意义。软件过程是无序的、随机的、缺乏总计划,无预见性,大多数活动是应付危机,经常超期超支,成功取决于个人。②可重复级,具备基本的项目管理。KPA分别是:需求管理、软件项目计划、软件跟踪与监督、软件子合同管理、软件质量保证、软件配置管理;③已定义级,已定义软件过程。已将软件管理和软件工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。KPA分别是:组织过程焦点、组织过程定义、培训大纲、集成软件管理、软件产品工程、组间协调、同行评审;④可管理级,过程可度量。已收集了软件过程和产品质量的详细度量方法,软件过程和产品均可被定量地理解和控制。KPA分别是:定量过程管理、软件质量管理;⑤优化级,过程控制。通过过程的量化反馈以及新技术、新方法促使过程不断改进。KPA分别是:缺陷预防、技术更新预防、过程更改管理。 CMM只是一个过程改进的框架.并没有给出具体实施的办法。在该模式中对目前CMM中的KPA做适当裁 减.定义了6个关键过程域:软件项目计划(SPP)、需求管理(RM)、软件项目跟踪和监督(SPTO)、软件质量保证(SQA)、软件配置(SCM)、同行评审(PR),设置了三个工作组:软件项目过程组(SPPG)、软件工程组(SEG)、软件质量保证组(SQAG)。通过工作组对关键过程域的操作来加强软件项目的管理。 3.1定义KPA 3.1.1软件项目计划(SPP) 软件项目计划是为要实施的软件项目编制软件过程活动的安排,包括进度控制、成本控制、质量控制、风险控制等,也是实施CMM2的核心此阶段在安排过程活动的同时开展项目设计的前期工作,设计和界定在整个项目中各阶段所需的开发、质量、跟踪、评审、风险、成本等工作。项目计划是指导项目过程的具体措施,要在有软件项目实施经验的人员领导下投人大量的时间和人力资源来完成。制定项目计划应注意7个问题。①在科学论证的基础上制定过程,充分调动人员积极性合理地确定项目组的参加人员;②对软件项目各程中的任务进行分解,明确项目的里程碑和检查点;③正确估计软件项目中的软件资源、硬件资源、人力资源及其它费用;④正确估计各方面因素带来的风险并制定应对措施;⑤制定项目实施过程中的跟踪和监督措施;⑥确定软件的评审和测试方法;⑦详细的文档资料。 3.1.2需求管理(RM) 需求分析主要包括面向用户的用户需求和面向开发人员的系统需求.是整个软件工程的第一步.也是非常关键的一个环节。需求分析主要针对用户的业务流程、系统功能、性能、数据分析进行严格的定义.是设计一个软件应用系统的起点与基本依据,通过它来评判软件产品是否能够解决用户问题,也是项目成功与否的标准。就目前国内现状来讲,一般签定软件项目合同的用户是主管信息技术的负责人,它所关心的可能是整个系统的目标需求,用户方中层管理人员关心的是业务流程需求.终端操作人员则注重软件本身的易操作性和功能特性,因此.面向用户的需求一定要和用户多方人员多沟通、交流.最终通过双方有关部门人员的论证以文档资料的形式确定下来。任何一个需求分析因客观原因可能存在着需求更改的现象,对于这种情况一定要注意需求更改的可控性.要建立需求的基准版本和更改版本控制文档资料.使受需求变化影响的产品与需求变更一致。但要注意在更改需求的同时要衡量需求的稳定性,如果一个需求的变更比较频繁,意味着本项目并没有真正了解用户想要解决的实际问题。可以说需求分析的完整性和变更可控性直接影响到软件过程的改进,它可以降低软件质量、加大软件开发的成本、甚至是导致项目的失败。软件工程组(SEG)中要明确定义一个需求管理员。 3.1.3软件项目跟踪和监督(SPTO) 软件项目的跟踪和监督始终贯穿于整个软件项目的过程中,是项目得以控制的前提和条件、是软件质量的根本保障,其目的是增加软件过程中进度、成本、工作量、质量、风险等内容的可视性,也是实施CMM2的核心。除去市场、法律等不可控制因素外,根据项目计划对项目进展的有关情况及影响项目实施的相关因素进行及时、客观、准确的信息采集,将采集到的需求、成本、进度、风险等内容形成文档并建立一个项目跟踪信息平台。项目负责人定期召集软件过程人员、开发人员、质量保证人员、用户方有关人员召开开放式的例会,例会的主要内容是检查项目进展、数据的分析、认识的偏差、资源的搭配、相关的风险等问题并讨论确切的解决办法,通过跟踪和监督使项目始终处于可视化的受控状态。 3.1.4软件质量保证(SQA) 软件质量保证是与软件产品满足规定的和隐含的需要能力有关的特征或特性的组合。对用户来讲主要体现在软件产品的有效性、一致性、完整性、可靠性和可操作性等方面,对于软件产品本身来讲体现在软件产品的可移植性、易维护性、健壮性、可重用性等方面。具体实践中.软件质量保证应在软件项目计划、需求分析、跟踪和监督、软件配置和软件评审的相互配合下完成.软件质量保证要做到以事先预防和跟踪为主,事后纠偏为辅。 3.1.5软件配置(SCM) 软件配置是针对软件产品的跟踪和控制活动.贯穿于整个软件项目的过程中.目的是建立和维护在整个生命周期内软件产品的完整性和一致性,使整个软件产品的演进过程处于可控的状态,继而提高软件的可靠性和质量。在实践应用中主要做到五个子项的配置①配置项的标识。标识做到唯一性。便于跟踪和管理。②版本管理。对整个软件过程中的文件和目录提供有效的跟踪手段。③变更控制。保持并传递修改信息。④配置审计。确定整个项目生产周期中产品在技术和管理上的完整性。⑤系统整合。把系统的不同部分集成后完成一组特定的功能。 3.1.6同行评审(PR) 同行评审是根据预定的规范和标准对软件产品进行评审。评审的结果是衡量软件产品质量的依据。在整个软件过程中对详细设计和软件综合测试作为两个关键评审点来进行评审,评审的过程中注意要结合本软件项目的具体要求和标准。 3.2组的定义 在具体的实践应用中设置了三个组,在降低了人员成本的同时提高了软件过程改进能力和软件质量。 软件项目过程组(SPPG)组织具体的项目实施活动,管理并协调整个软件项目的过程,主要完成SPP和SPTO。 软件工程组(SEG)负责软件工程的需求分析、概要设计、详细设计、编码、测试、维护工作。 软件质量保证组(SQAG)主要完成SPTO、SCM、PR、SQA等工作。 4.实践模式效率评估 4.1开发时间 软件开发由需求分析、概要设计、详细设计、编码、软件测试、项目维护和软件集成几部分内容组成,在需求分析和设计阶段采用CMM框架实施过程管理所花费的时间要多于没有实施过程管理花费的时间。首先对项目做大量分析,论证项目的可行性。然后在和用户做良好沟通、反复论证的基础上做需求分析,形成文档资料。这种模式下花费在需求分析和设计上的时间大约占项目总开发时间的40%,但这两个阶段完成了数据流程、算法描述、详细的规格说明等内容,为代码编写、软件测试、软件维护等后续内容的工作节省了时间,软件项目的开发周期大大缩短。经过评估,采用该实践模式实施软件过程管理的软件项目开发周期比没有实施软件过程管理的软件项目开发周期缩短20%。 4.2开发质量 采用CMM标准通过软件过程管理加强软件项目管理的实践模式使软件质量明显提高、需求分析周密、代码错误率明显降低、软件产品完整性好、功能齐全、维护量下降,软件项目最终得以顺利实现。 5.结语 本文给出的通过软件过程管理加强软件项目管理的实践模式优点非常明显.软件过程改进目标明确,可以有效地提升软件产品质量、节省开发时间、降低成本。同时该模式更能体现团队精神,摆脱了软件开发中的个人主义,从整体出发,在强调过程对整体重要性的同时,进一步降低了软件过程中的各种风险,使软件项目始终处在可视化的优良受控状态中 浅谈计算机软件项目管理:浅析计算机软件项目管理中的需求分析 论文关键词:需求分析 用户方干系人 项目经理 需求分析员 论文摘要:计算机软件项目管理中的需求分析是提高软件质量的基础也是决定一个软件项目成败的关键。本文介绍了在需求分析研究中探索出的一些有效措施。 众观国内计算机软件业的发展,除远不如欧美等西方发达国家外,与人均GDP不及我国的印度相比也相距甚远,软件业的劣势正严重制约着我国IT业的发展。我国软件业的劣势表现在自主开发的成熟软件不多,而开发的大量软件工程项目(如ERP等)存在缺陷或完全开发失败。目前,国家正在加大对软件工程的研究和对软件工程人才的培养。根据资料显示,属于需求分析造成软件设计的错误和缺陷约占软件失败的6400,而属于程序代码的错误仅占软件失败的360a,数据表明需求分析是提高软件质量的基础也是决定一个软件项目成败的关键。通过对软件项目管理知识的系统学习并结合近年来自己参与部分软件项目实施的经验,介绍在需求分析研究中探索出的一些有效措施。 1尽快熟悉项目用户方干系人全貌 项目用户方干系人,指所有可能受到项目结果重大影响的人,即项目的风险承担者,他可能是项目的受益者,也可能是项目的受害者。因此,应当从项目的启动开始,需求分析员及其项目成员就要分清项目用户方干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。 有些项目在做需求调查时,由于受进度要求等客观因素影响,需求分析员与建设单位的技术部门交流较多,向业务管理部门和实际使用者调查不够深入,造成软件试用后不得不再对需求做较大调整,“从头再来”的部分比例很高,大大超过进度要求时间。因此,熟悉项目用户方干系人全貌是进行需求调查的第一步,也是需求调查的基础。在定制开发项目的项目用户方干系人中,最重要的是建设单位中的人事组织、业务关系。最好是能够用组织结构图画出相关单位的组织结构;还应当在相关单位组织结构图基础上画出全体项目用户方干系人结构图,以便更好更全面地进行需求调研分析;用责任矩阵确定各部分的调研对象;建立调研对象通讯录以保证调研及分析期间及时的沟通。 2采取正确的需求获取方法 软件开发项目的目的就是要实现项目用户方的需求,项目用户方的需求包含明确的和隐含的,也可以分为NEED, WANT, WISH等不同的层次。如果对项目所有用户方干系人没有进行足够的沟通和影响,使其尽可能地参与项目,则会出现客户方相关责任人不明确或对范围和需求责任心不强,提出的需求具有随意性,项目前期对需求的确认不够积极,或者是多个用户代表各说各话、昨是今非,项目后期需求变化随意等现象,这就会造成项目范围的蔓延,进度的拖延,成本的扩大,甚至项目的完全失败。 各种用户对系统具有不同的要求,如一个没有经验的用户关心系统是否简单易用,对于高级用户则关心产品的易用性和高效性。因而需要对用户进行分类,每一个用户类将有自己的一系列功能和非功能要求。在项目中,要尽早为产品确定并描述不同的用户类,这样就能从每一个重要的用户类代表中获取不同的需求。 项目需求具有双面性(用户与开发商)和多面性(项目中各干系人),因此,项目经理和系统集成者应了解用户干系人需求,用户干系人也应了解技术方面的需求,两者缺一不可。正确的需求获取需要了解需求的来源、用户的分类、用户的代表性、用户需求谁说了算数等因素。开发人员和项目经理要有足够的耐心聆听用户的讲述,要足够详细地了解每一个细节。项目管理者要善于将需求分类、归类,善于将需求文档化,并有所查询标记。 3可视化需求调研,引导各种客户挖掘他们的需求 有的客户因为自己缺乏计算机知识,无法提出完整准确、隐含的或潜在的需求。若这些需求不能满足将导致用户的不满。因此需求调研分析人员应善于想用户所想,不但要确定明确的需求,还要善于用启发的方式与用户探讨隐含的或潜在的需求,并结合各种调研分析技术挖掘超出客户期望的令人兴奋的需求。这就要求需求调研分析员要尽快完整地熟悉相关业务,从而能够站在用户的立场看待软件需求,想用户所想,做好业务与计算机之间的桥梁。利用可视化需求调研的方法可以很好地启发用户深人挖掘潜在的需求。可视化需求调研就是使用图表等工具来启发引导用户清楚地叙述需求,并且使需求更加全面完善。 对于高层领导,可以提供系统总体框架图;对于业务管理人员,可以用业务流程图来描述新旧系统的业务流程;对于客户中的技术人员,可以用数据流图、实体关系图或UMI中的各种图形对系统进行各种角度的描述;而对于业务管理人员、客户中的技术人员、以及各层次各流程中的用户,画出用户界面图来进行需求挖掘,是个比较有效的沟通方式。 这里特别说明一下用户界面的重要性。用户界面的设计按理来说是软件设计的责任,当然客户自己对界面有特别提出要求的除外。但是,如果把它提前到需求调研时与客户进行讨论,则可以大大改善需求调研的效果。因为这时客户对于将来的系统还没有一个形象上的概念,或者有一个模糊的预想的概念需要表述、验证、明晰化、完善化,以笔者的经验,画出用户界面草图与客户进行讨论,可以大大激发他们提供更为准确全面的需求。原来收集资料,描述业务,说明系统模型到了山穷水尽的时候,这种方法可以达到柳暗花明又一村的效果。 4详细描述各项业务,以便让所有客户确认 尽可能全面详细地调查并且描述原有系统和用户希望将来系统具有的各项业务的流程,并将这些业务流程文档化后与客户进行讨论,对描述错误或不准确不精确的进行修改,最终让客户进行确认。从近年来开发的软件看,对业务处理过程了解的完整性和准确性非常重要。虽然对数据来说都是SIDUT(查增删改传),但具体业务都是分为若干步骤,每个步骤都有其业务名称,同一步骤可能对多个数据集进行不同操作,需要调查了解清楚才能设计出适合用户业务特点和习惯的软件,使开发出来的软件更受欢迎。当然在进行软件概要设计时,要尽量排除业务流程的制约,即把流程中的各项业务节点工作作为独立的对象,充分考虑他们与其他各种业务对象的接口,在流程之间通过业务对象的相互调用实现其业务流程,这样,在业务流程发生有限的变化时,就能够比较方便地修改系统程序而实现新的需求。 对于各项业务的调查可以通过对以下资料的收集整理分析来完成,这些资料来自各种各样的项目用户方干系人:遵循的标准、组织发放的工作手册、作业流程、有关业务的上级通知、有关业务的办事指南、办理业务时需要填写的登记表、各种相关的统计报表及通过其他途径收集的类似系统的介绍、技术资料等等。 5对项目用户方干系人的愿望进行平衡 不同的项目用户方干系人其愿望和追求的目标往往相差甚远,因 此对项目用户方干系人的愿望进行平衡可能是非常重要而又相当困难的事情。例如:我曾在参与的某医院计算机管理系统项目中,遇到医院管理层希望能够采集尽可能多的信息项以便对数据进行多种多样的统计分析,同时为了对信息进行有效控制而增加一些审批流程;而门诊、药房等对外办公的基层窗口则因为客流速度的压力希望减少信息项的输人量;甚至有些不良的基层部门由于害怕建立透明度高的信息系统会影响他们的利益而消极地应付,即所谓反需求;而客户的客户(就诊的病人)则希望相关机构能够简化工作流程,加快办事速度,增加诊断情况和就诊费用的透明度;甚至项目组本身因为技术、资源、进度等原因,需要对一些功能进行优先级排序和取舍。虽然不是所有人的需求都是可以满足的,特别是消极的反需求是不能接受的,但他们的需求都是应当考虑全面并进行平衡的。 如果不同的用户方干系人有不一致的需求,那么必须决策出满足哪一类用户方干系人的需求更为重要。了解可能使用产品的客户种类的信息和他们的用法与产品的业务目标的关系如何,将有助于决定哪一个用户类所占份额更大。如果系统分析人员提出的需求与开发者所想要开发的系统发生冲突时,通常由于系统分析人员作为客户的人,市场需求具有更重的分量,但是,系统分析人员不能一味地迁就客户需求。 不同的用户方干系人可能都要求产品按照他们各自的喜好来设计。运用项目的业务目标来决定哪些是你最关心的客户,非核心客户的需求可以安排在下一个版本中开发。当开发者想像的产品与客户需求冲突时,通常应该由客户作出决策,然而,不要陷人“客户总是对的”的陷阱中去,现实中,客户并不总是对的。 6强调实现项目需求的层次递进性 了解该系统或者该项目用户所能够提供的最小的工程费用。当预计经费不能支持时,应当考虑将项目分期实施。在系统上、技术上对用户进行引导性建议,使用户了解集成商所要进行的工作,了解集成商是为了帮助用户实现他的需要、达到用户的目的,而不仅仅是为了赚钱,用户更了解集成商,也更了解自己的系统,有利于以后的项目合作、工程实施和系统维护。 分析用户曾用系统模式、数据结构和库模式,看是否保持、共用、转换,这涉及保护用户投资的问题。根据现在工作业务流情况确定现有的工作模式,还应兼顾将来可能会发生的变化、扩展、新规定,及与同国际接轨可能的带来的变化。考查工程实施环境是否有保证,尤其是网络工程,必须在需求调查时充分了解用户领域的实施环境,当不具有实施环境时,要求进行配套设计和环境改造。 7编写需求文挡和进行需求评审与其他项目小组成员协作完善系统需求 文档资料是集成商重要的财富,贯穿于系统集成和项目开发的整个过程,其中包括法律文档、技术文档、资料文挡。文挡要求完整性、一致性、可修改性、可跟踪性。 以原来的需求为基础的工作完成后,要修补需求错误需要大量的工作,研究表明:比起在需求开发阶段由客户发现的一个错误,然后更正这一错误需要多花到倍的时间。因此,需要进行需求评审。需求审查结束的标准为:已经明确阐述了审查员提出的所有问题、已经正确修改了文档、修订过的文档已经进行了语法检查、所有TBD问题都已经解决、文档归档。 需求文档完成之后,并不是把它扔给后面的设计人员就了事了。作为项目组其他成员,对需求的有效性也起到某种程度的验证作用。虽然软件项目的生命周期按照各种开发模型有不同阶段的划分,但每个阶段的结束不是简单地把阶段工作成果塞给下一阶段的成员就可以了。特别是高科技的软件开发项目,上一阶段的工作成果往往要通过多次的沟通才能更为清晰地被下一阶段成员接受,其有效性、合理性也要被下一阶段的工作所检验,通过检验有时也有必要对上一阶段的工作结果进行相应的调整,需求分析也是如此。因此,无论是同一阶段不同人员之间,或是不同阶段人员之间都应根据需要相互协作,相互配合,共同完成软件开发任务。 浅谈计算机软件项目管理:对计算机软件项目管理中的需求分析 论文关键词:云技术 多媒体技术 改革现有的教学模式 教学资源的整合 激活学生的学习兴趣 论文摘要:在云技术架构下,建立强大的多媒体教学资濠库。这样可以集中整合各方优秀的教学资源,建最好的和最丰富的教学课库,让各奏学生均可找到适合自己,而且自己感性趣的课程和课件。建立了多媒体教学资涎库后,既可以垴小东西部教育差距,又能保障教育资泺的均衡发展。 大部分教师(尤其大学教师)的工作应该相应的从向学生灌输知识,转向引导学生学习知识,找到激活学生学习智门的钥匙。 放在云架构内的这些教学资源,随着不断的更新、增加,必将成为一笔极大的资源财富,不仅可以供在校学生学习使用,也可以提供给全社会需要再学习、需要更新知识的人士使用,为全社会形成一种不断学习的氛围,提供一个强大的资源保障。 一旦形成全社会不断学习的风气,社会就会和谐,文明程度的程度就会不断提高,人们的创新意识和能力就有了源动力,人们就会从更多的追求物质财富转而进入追求精神财富。 前文我们探讨了利用“云技术+多媒体技术改革现有的教学模式”,话题意犹未尽,还想进一步探讨一些教学模式改革的细节。当然我们暂且讨论的教学对象为大学以上的学生,或部分高中生,因为绝大部分高中生的教学活动还是基本围绕着高考指挥棒在转。 在云技术架构下,建立强大的多媒体教学资源库。这样可以集中整合各方优秀的教师资源、教学设备资源,建最好的和最丰富的教学课程库,让各类学生均可找到适合自己,而且自己感性趣的课程、课件和学习参考资料。 制作这些课程资源可以分工,高层次教师撰写课程内容,配套各类教师,可以有的整合内容、有的应用多媒体素材加工制作课件、有的制作各类课程教程、而有的则准备相关参考资料以及考试题库系统等教学资源。 这时的教学资源就不是属于某个学校、某个团体、某个局部组织,而是属于国家或全人类的资源,为全人类所共享。 这样,可能有人会担心是否教师或相应的人员都要下岗了呢?否! 大部分教师(尤其大学教师)的工作只是从向学生灌输知识,转向引导学生学习知识。大部分长期从事教学工作的教师深有体会,好学生不完全是教出来的,而且通过老师启发性的引导,激活了他们的兴趣,或打开了他们的智门,使他们自己要学习,只有激活了学习者的源动力,才能使他们朝着一个一个目标不断攀登。 那么,教师教学要包括哪些内容呢?我认为教师的教学工作应该围绕中如何能激活学习者的兴趣和以如何能打开他们的智门为衡量指标。方法可以各不相同,因为人是个性化的,当然方法也应该因人而异,当然可以对个性相近的学生采用类似的方法,但还是需要有微调。 具体做法可以不断摸索。教师可以组织学生开展各种开发、创新活动,可以组织各种竞赛活动,可以组织学生参与各种专题讨论活动,让每个学生均有机会表达自己的想法和观点,很多思想的火花是在交流中产生的,是在实践过程中绽放的,所以要多提供一些机会让学生经历各种活动的锻炼,活动的过程是最能锻炼人能力的,如果省略了过程,结果也是不丰实的。 我们提倡多开展各种创新活动来锻炼学生的能力,而现在学生这方面的锻炼机会太少,应该增加相应的比例。那么是否就不考试了呢?当然不行!期间,我们的学校大多不考试,结果中学毕业生连简单的一元一次方程都不会,这样社会如何发展?考试还是衡量学生学习掌握程度的标尺,当然考试形式可以的笔试,也可以是操作过程,更可以写论述文章、论文之类形式;考试时间可以是期中、期末考试,可以是融入平时的多次抽查中,也可以罗列各类课程统考时间安排表,学生学习到一定程度,可以报名参加考试,来检验自己知识的掌握程度,形式可以通过实践不断总结,不断改进。总之,有助于学生更有效掌握知识、能打开学生智门的方法就是好方法。 学生通过考试,当然需要有一系列学分累积机制,最好将理论课程和实践课程按不同学分比例分别统计,保证不同学科对理论和实际操作的要求不同。 这样的机制,对教师的要求不是低了,而是更高。要求教师积极思考,寻找能与学生更好沟通,激活学生心智的钥匙,这是没有一个统一模式可循的,教师也必须不断摸索、创新。 有了这种师生一对一、一对多、多对多的关系机制,学生与教师之间的距离不是远了,而是更近了,社会也会更和谐。因为从教师的角度来说,必须了解学生,走近学生,才能找出适合他们学习自嘶方法,才能激活他们的学习兴趣;从学生的角度来说,有问题、有心结就可以及时与他们所喜欢的教师沟通、请教,尽快排除障碍,琢磨出适合自己学习的好方法。要使学生学习效果好,教师与学生是一个整体,只有双方的努力、协调,才能找到最佳的教学方法。 如果学生太多,老师顾及不了怎么办?老师可以到学校与学生面对面的谈话,也可以出现在各种活动场合,如:各类研讨会老师可以当组织者,让学生大家来准备内容、畅通各自的观点,但教师更多的时间可以利用现有的网络环境、3G环境,老师可以规定时间在网上,利用视频、语音交流与学生好似面对面的交谈,也可以利用手机、短信等的形式及时进行一些师生对话。不远的将来电脑、手机、电视三网合一,利用任何IT工具都可以及时沟通,现代科学技术的发展已经具备了技术上的条件,问题是我们需要寻找到一系列行之有效的方法来强化师生间的沟通。 放在云架构内的这些教学资源,随着不断的更新、增加,必将成为一笔极大的资源财富,不仅可以供在校学生学 习使用,也可以提供给全社会需要再学习、需要更新知识的人士使用,为全社会形成一种不断学习的氛围,提供一个强大的资源保障。 一旦形成全社会不断学习的风气,社会就会和谐,文明程度的程度就会不断提高,人们的创新意识和能力就有了源动力,人们就会从更多的追求物质财富逐步进入追求精神财富,那么社会的发展也就更稳健。 随着社会的进步,我们应该摸索和寻找一种更理性和有利于学生身心健康的教学体制,让学习者获得获取知识的乐趣,让教师真正成为学生的良师益友。 人类发展方向是朝着地球村的方向发展。我们开始可以建立教学资源的私有云,局部范围的试点,逐步扩大范围,最终使我们的教学资源转而成为全社会的财富。 我们国家的教育资源本来就不够,建立了多媒体教学资源库后,既可以缩小东西部教育差距,又能保障教育资源的均衡发展,我们何乐而不为呢? 浅谈计算机软件项目管理:对软件项目管理的探讨 一、引言 随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。我公司是西安一家中型软件企业,在公司中已经实行了项目管理制度,软件项目管理是整个项目管理中的一个重要组成部分。 从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。 软件开发不同于其他产品的制造,软件的整个过程都是设计过程(没有制造过程);另外,软件开发不需要使用大量的物质资源,而主要是人力资源;并且,软件开发的产品只是程序代码和技术文件,并没有其他的物质结果。基于上述特点,软件项目管理与其他项目管理相比,有很大的独特性。 二、软件项目管理的组织模式 软件项目可以是一个单独的开发项目,也可以与产品项目组成一个完整的软件产品项目。如果是订单开发,则成立软件项目组即可;如果是产品开发,需成立软件项目组和产品项目(负责市场调研和销售),组成软件产品项目组。 公司实行项目管理时,首先要成立项目管理委员会,项目管理委员会下设项目管理小组、项目评审小组和软件产品项目组。 1、项目管理委员会 项目管理委员会是公司项目管理的最高决策机构,一般由公司总经理、副总经理组成。主要职责如下: (1)依照项目管理相关制度,管理项目; (2)监督项目管理相关制度的执行; (3)对项目立项、项目撤消进行决策; (4)任命项目管理小组组长、项目评审委员会主任、项目组组长. 2、项目管理小组 项目管理小组对项目管理委员会负责,一般由公司管理人员组成。主要职责如下: (1)草拟项目管理的各项制度; (2)组织项目阶段评审; (3)保存项目过程中的相关文件和数据; (4)为优化项目管理提出建议。 3、项目评审小组 项目评审小组对项目管理委员会负责,可下设开发评审小组和产品评审小组,一般由公司技术专家和市场专家组成。主要职责如下: (1)对项目可行性报告进行评审; (2)对市场计划和阶段报告进行评审; (3)对开发计划和阶段报告进行评审; (4)项目结束时,对项目总结报告进行评审。 4、软件产品项目组 软件产品项目组对项目管理委员会负责,可下设软件项目组和产品项目组。软件项目组和产品项目组分别设开发经理和产品经理。成员一般由公司技术人员和市场人员构成。主要职责是:根据项目管理委员会的安排具体负责项目的软件开发和市场调研及销售工作。 三、软件项目管理的内容 从软件工程的角度讲,软件开发主要分为六个阶段:需求分析阶段、概要设计阶段、详细设计阶段、编码阶段、测试阶段、安装及维护阶段。不论是作坊式开发,还是团队协作开发,这六个阶段都是不可缺少的。 根据公司实际情况,公司在进行软件项目管理时,重点将软件配置管理、软件质量管理、软件风险管理及开发人员管理四方面内容导入软件开发的整个阶段。 在八十年代初,著名软件工程专家B.W.Boehm总结出了软件开发时需遵循的七条基本原则,同样,我们在进行软件项目管理时,也应该遵循这七条原则。它们是: (1)用分阶段的生命周期计划严格管理; (2)坚持进行阶段评审; (3)实行严格的产品控制; (4)采用现代程序设计技术; (5)结果应能够清楚地审查; (6)开发小组地人员应该少而精; (7)承认不断改进软件工程实践地必要性。 四、编写《软件项目计划书》 项目组成立的第一件事是编写《软件项目计划书》,在计划书中描述开发日程安排、资源需求、项目管理等各项情况的大体内容。计划书主要向公司各相关人员发放,使他们大体了解该软件项目的情况。对于计划书的每个内容,都应有相应具体实施手册,这些手册是供项目组相关成员使用的。 《软件项目计划书》一般应该包括下述内容: 1.引言 1.1计划的目的 1.2项目的范围和目标 1.2.1范围描述 1.2.2主要功能 1.2.3性能 1.2.4管理和技术约束 2.项目估算 2.1使用的历史数据 2.2使用的评估技术 2.3工作量、成本、时间估算 3.风险管理战略 3.1风险识别 3.2有关风险的讨论 3.3风险管理计划 3.3.1风险计划 3.3.2风险监视 3.3.3风险 管理 4.日程 4.1项目工作分解结构 4.2时限图(甘特图) 4.3资源表 5.项目资源 5.1人员 5.2硬件和软件 5.3特别资源 6.人员组织 6.1组织结构 6.2管理报告 7.跟踪和控制机制 7.1质量保证和控制 7.2变化管理和控制 8.附录五、软件配置管理 是否进行配置管理与软件的规模有关,软件的规模越大,配置管理就显得越重要。软件配置管理简称SCM(SoftwareConfiguratioManagement的缩写),是在团队开发中,标识、控制和管理软件变更的一种管理。配置管理的使用取决于项目规模和复杂性以及风险水平。 1、目前软件开发中面临的问题 。在有限的时间、资金内,要满足不断增长的软件产品质量要求; 。开发的环境日益复杂,代码共享日益困难,需跨越的平台增多; 。程序的规模越来越大; 。软件的重用性需要提高; 。软件的维护越来越困难。 2、软件配置管理应提供的功能 在ISO9000.3中,对配置管理系统的功能作了如下描述: 。唯一地标识每个软件项的版本; 。标识共同构成一完整产品的特定版本的每一软件项的版本; 。控制由两个或多个独立工作的人员同时对一给定软件项的更新; 。控制由两个或多个独立工作的人员同时对一给定软件项的更新; 。按要求在一个或多个位置对复杂产品的更新进行协调; 。标识并跟踪所有的措施和更改;这些措施和更改是在从开始直到放行期间,由于更改请求或问题引起的。 3、版本管理 软件配置管理分为版本管理、问题跟踪和建立管理三个部分,其中版本管理是基础。版本管理应完成以下主要任务: 。建立项目; 。重构任何修订版的某一项或某一文件; 。利用加锁技术防止覆盖; 。当增加一个修订版时要求输入变更描述; 。提供比较任意两个修订版的使用工具; 。采用增量存储方式; 。提供对修订版历史和锁定状态的报告功能; 。提供归并功能; 。允许在任何时候重构任何版本; 。权限的设置; 。晋升模型的建立; 。提供各种报告。 4、配置管理软件PVC6.0 PVCS6.0是一套非常优秀的配置管理软件,它能够实现配置管理中的各项要求,并且能和多种流行开发平台集成,为配置管理提供了很大的方便。 六、软件质量管理 随着软件开发的规模越来越大,软件的质量问题显得越来越突出。软件质量的控制不单单是一个软件测试问题,在软件开发的所有阶段都应该引入质量管理。我公司除加强了国家标准"信息技术软件生存期过程"(GB/T8566--1995)的规范管理外,还积极为通过ISO9000.3做准备。 1、软件质量保证计划 在进行软件开发前,需要有一个《软件质量保证计划》。目前较常用的是AI/IEEETOL 730--1984,983--1986标准,包括以下内容: 1.计划目的 2.参考文献 3.管理 3.1.组织 3.2.任务 3.3.责任 4.文档 4.1.目的 4.2.要求的软件工程文档 4.3.其他文档 5.标准和约定 5.1.目的 5.2.约定 6.评审和审计 6.1.目的 6.2.评审要求 6.2.1.软件需求的评审 6.2.2.设计评审 6.2.3.软件验证和确认评审 6.2.4.功能评审 6.2.5.物理评审 6.2.6.内部过程评审 6.2.7.管理评审 7.测试 8.问题报告和改正活动 9.工具、技术和方法 10.媒体控制 11.供应者控制 12.记录、收集、维护和保密 13.培训 14.风险管理 2、质量管理的基本原则 。控制所有过程的质量; 。过程控制的出发点是预防不合格; 。质量管理的中心任务是建立并实施文件化的质量体系; 。持续的质量改进; 。有效的质量体系应满足顾客和组织内部双方的需要和利益; 。定期评价质量体系; 。搞好质量管理关键在于领导。 3、软件质量因素 正确性:系统满足规格说明和用户目标的程度,即,在预定环境下能正确地完成预期功能的程度。 健壮性:在硬件发生故障、输入的数据无效或操作错误等意外环 境下,系统能做出适当响应的程度。 效率:为了完成预定的功能,系统需要的计算资源的多少。 完整性(安全性):对未经授权的人使用软件或数据的企图,系统能过控制(禁止)的程度。 可用性:系统在完成预定应该完成的功能时另人满意的程度。 风险:按预定的成本和进度把系统开发出来,并且为用户所满意的概率。 可理解性:理解和使用该系统的容易程度。 可维修性:诊断和改正在运行现场发现的错误所需要的工作量的大小。 灵活性(适应性):修改或改进正在运行的系统需要的工作量的多少。 可测试性:软件容易测试的程度。 可移植性:把程序从一种硬件配置和(或)软件系统环境转移到另一种配置和环境时,需要的工作量多少。有一种定量度量的方法是:用原来程序设计和调试的成本除移植时需用的费用。 可再用性:再其他应用中该程序可以被再次使用的程度(或范围)。 互运行性:把该系统和另一个系统结合起来需要的工作量的多少。 4、软件评审 软件评审并不是在软件开发完毕后进行评审,而是在软件开发的各个阶段都要进行评审。因为在软件开发的各个阶段都可能产生错误,如果这些错误不及时发现并纠正,会不断地扩大,最后可能导致开 发的失败。下面这组数据可以清楚的看出前期的错误对后期的影响。 软件评审是相当重要的工作,也是目前国内开发最不重视的工作。 (1)评审目标 。发现任何形式表现的软件功能、逻辑或实现方面的错误; 。通过评审验证软件的需求; 。保证软件按预先定义的标准表示; 。已获得的软件是以统一的方式开发的; 。使项目更容易管理。 (2)评审过程 A、召开评审会议:一般应有3至5人参加,会前每个参加者做好准备,评审会每次一般不超过2小时。 B、会议结束使必须做出以下决策之一:接受该产品,不需做修改;由于错误严重,拒绝接受;暂时接受该产品。 C、评审报告与记录;所提出的问题都要进行记录,在评审会结束前产生一个评审问题表,另外必须完成评审简要报告。 (3)评审准则 。评审产品,而不是评审设计者(不能使设计者有任何压力); 。会场要有良好的气氛; 。建立议事日程并维持它(会议不能脱离主题); 。限制争论与反驳(评审会不是为了解决问题,而是为了发现问题; 。指明问题范围,而不是解决提到的问题; 。展示记录(最好有黑板,将问题随时写在黑板上); 。限制会议人数和坚持会前准备工作; 。对每个被评审的产品要尽力评审清单(帮助评审人员思考); 。对每个正式技术评审分配资源和时间进度表; 。对全部评审人员进行必要的培训; 。 及早地对自己地评审做评审(对评审准则的评审)。5、ISO9000.3软件质量认证体系 ISO9000.3是ISO9000质量体系认证中关于计算机软件质量管理和质量保证标准部分。它从管理职责、质量体系、合同评审、设计控制、文件和资料控制、采购、顾客提供产品的控制、产品标识和可追溯性、过程控制、检验和试验、检验/测量和试验设备的控制、检验和试验状态、不合格品的控制、纠正和预防措施、搬运/贮存/包装/防护和交付、质量记录的控制、内部质量审核、培训、服务、统计系统等二个方面对软件质量进行了要求。 6、测试 软件测试是软件开发的一个重要环节,同时也是软件质量保证的一个重要环节。所谓测试就是用已知的输入在已知环境中动态地执行系统(或系统的部件)。测试一般包括单元测试、模块测试、集成测试和系统测试。如果测试结果与预期结果不一致,则很可能是发现了系统中的错误,测试过程中将产生下述基本文档: (1)测试计划:确定测试范围、方法、和需要的资源等。 (2)测试过程:详细描述和每个测试方案有关的测试步骤和数据(包括测试数据及预期的结果)。 (3)测试结果:把每次测试运行的结果归入文档,如果运行出错,则应产生问题报告,并且必须经过调试解决所发现的问题。测试结果:把每次测试运行的结果归入文档,如果运行出错,则应产生问题报告,并且必须经过调试解决所发现的问题。 七、软件风险管理 软件项目管理存在着风险,如果我们提前重视风险,并且有所防范,就可以最大限度减少风险的发生。进行风险管理是有效的手段。 1、风险的分类 根据风险内容,我们可以将风险分为项目风险(成本提高,时间延长等)、技术风险(技术不成熟等)、商业风险(销售问题等)、战略风险(公司的经营战略发生了变化)、管理风险(公司管理人员是否成熟等)、预算风险(预算是否准确等)等。 另外,我们还可以将风险分为已知风险(如员工离职等)、可预报风险(从以往经验得出可能有风险的)和不可预知风险。 2、风险的识别 风险识别的有效方法是建立风险项目检查表。主要涉及以下几方面检查: 。产品规模风险检查 。业务影响风险检查 。与客户相关的风险检查 。过程风险检查 。技术风险检查 。开发环境风险检查 。与人员的模式和经验有关的风险检查 3、风险评估 风险评估主要从下面七个方面进行: 。发生的可能性 。发生的结果(影响) 。建立一个尺度表示风险可能性(如,极罕见、罕见、普通、可能、极可能) 。描述风险带来的后果 。估计对产品和项目的影响 。确定风险评估的正确性 。根据影响排定有限队列 另外,要对每个风险的表现、范围、时间做出尽量准确的判断。 4、风险的评价 对风险的评价主要依据三个因素:风险描述、风险概率和风险影响。从成本、进度及性能三个方面对风险进行评价。确定项目的中止点,在中止点出再一次进行风险评价。 5、风险的驾驭和监控 风险的驾驭与监控主要要靠管理者的经验来实施。如,某开发人员的离职概率是0.7,离职后会对项目造成一定的影响,则该风险驾驭和监控的策略如下: 。与在职人员协商,确定流动原因。 。在项目开始前,把环节这些流动原因的工作列入风险驾驭计划。 。项目开始时,作好人是会流动的准备,采取一些措施确保人员一旦离开时,项目仍能继续。 。制定文档标准,并建立一种机制,保证文档及时产生。 。对所有工作进行细微详审,使更多人能够按计划进度完成自己的工作。 。对每个关键性技术人员培养后备人员。 在考虑风险成本之后,决定是否采用上述策略。 八、人员管理 1、对项目经理的要求 。能够使小组每个成员都能发挥能力 。有一定的组织能力 。能够使小组美味成员有成就感 。有提出解决问题方案的能力 。对问题的理解有一定的深度 。要能让成员知道软件质量的重要性 2、人员的通讯方式 (1)正式非个人方式,如正式会议等; (2)正式个人之间交流,如成员之间的正式讨论等(一般不形成决议); (3)非正式个人之间交流,如个人之间的自由交流等; (4)电子通讯,如E-MAIL(电子邮件)、(电子公告板系统)等; (5)成员网络,如成员与小组之外或公司之外有经验的相关人员进行交流; 在实践中发现,(5)的通讯效率最高,其次是(1)。“文秘站”版权所有 人力资源管理中的风险管理 在进行人力资源管理时,我们往往重视招聘、培训、考评、薪资等各个具体内容的操作,而忽视了其中的风险管理问题。其实,每个企业在人事管理中都可能遇到风险,如招聘失败、新政策引起员工不满、技术骨干突然离职等等,这些事件会影响公司的正常运转,甚至会对公司造成致命的打击。如何防范这些风险的发生,是我们应该研究的问题。特别是高新技术企业,由于对人的依赖更大,所以更需要重视人力资源管理中的风险管理。 浅谈计算机软件项目管理:计算机软件项目管理和计划 一 项目管理过程 一个软件项目的管理过程包括以下几个方面的内容: 1 启动一个软件项目 软件人员和用户是在系统工程阶段确定项目的目标和范围。目标标明了软件项目的目的但不涉及如何去达到这些目的。范围标明了软件要实现的基本功能,并尽量以定量的方式界定这些功能。 2 度量 进行度量工作,是为了帮助软件人员了解产品开发的技术过程和产品。度量的作用是为了有效地定量地进行管理。度量的目的是为了把握软件工程过程的实际情况和它所产生的产品质量。 3 估算 在软件项目管理过程中一个关键的活动是制定项目计划。在做计划时,必须就需要的人力、项目持续时间、成本作出估算。现在有许多用于软件开发的估算技术,基本的步骤是:事先建立软件的工作范围;以软件度量为基础作出估算;把项目分解成科单独进行估算的小块。管理人员可使用各种估算技术 。 4 风险分析 每当开始一个新的软件项目时,总是存在着某些不确定性。如是否能准确地理解用户的要求?项目的功能能否实现?是否存在目前还未发现的技术难题?等等。风险分析对于软件项目管理是决定性的。 5 进度安排 每一个软件项目都要求制定一个进度安排,但不是所有的进度都得一样安排。软件项目的进度安排与任何一个工程项目的进度安排没有实质上的不同。首先识别一组项目任务,再建立任务之间的相互关联,然后估算各个任务的工作量,分配人力和其他资源,制定进度时序。 6 追踪和控制 一旦建立了开发进度安排,就可以开始着手追踪和控制活动。由项目管理人员负责追踪在进度中标明的每一个任务。如果任务实际完成日期滞后于进度安排,则管理人员可以使用一种自动的项目进度安排工具来确定在项目中间里程碑上进度误期所造成的影响。 二 软件项目的组织与计划 1 软件项目管理的特点 软件产品与其他任何产业的产品不同,它是无形的,完全没有物理属性,但它确实是把思想、概念、算法、流程、组织、效率、优化等融合在一起了。因此对软件项目进行管理,涉及到系统工程学、统计学、心理学、社会学以及法律等方面的问题。需要用到多方面的综合知识,仅靠技术或科研项目的效率很难得到较好的解决。此外,管理技术的基础是实践,为取得管理技术的成果必须反复实践。很显然,管理能够带来效率,能够赢得时间。在技术迅速发展的今天,必须认真对待技术管理问题。总之,软件项目的组织涉及到软件项目研制中的计划制定、进度估计、资源使用、人员配备、组织机构和管理方法等软件管理的许多问题。 2 制定计划 软件开发项目的计划涉及到实施项目的各个环节,带有全局的性质。计划的合理性和准确性往往关系着项目的成败。计划应力求完备,要考虑到一些未知因素和不确定因素,考虑到可能的修改。计划应力求准确,尽可能提高所依据数据的可靠程度。 三 软件过程成熟度 多年来软件开发项目存在着不能如期完成,软件质量不能令客户满意或软件开发的开销超出预算等,这些都是软件开发机构遇到的难题。这一现象促使人们进一步考察软件过程,从而发现,关键问题在于软件过程的管理不尽人意。在无规则和混乱的管理条件下,先进的技术和工具并不能发挥应有的作用。改进软件过程的管理是解决上述难题的突破口。 对于不同的软件开发机构,在组织人员完成软件项目中所依据的管理策略有很大差别,因而软件项目所遵循的软件过程也有很大差别。在此,可用软件机构的成熟度加以区别。 成熟的软件机构具有的特点是:建立了机构级的软件开发和维护过程;软件过程必要时可做改进;软件产品的质量和客户对软件产品的满意程度是由负责质量保证的经理负责监控;项目进度和预算是根据以往项目取得的实践经验确定因而比较符合实际情况。 四 小结 为使软件项目开发获得成功,必须对软件开发项目的工作范围、可能遇到的风险、需要的资源、要实现的任务、经历的过程、花费的成本以及进度安排等做到了如指掌,而软件项目管理可以提供这些信息。
软件质量管理论文:软件质量管理体系研究 [摘要] 随着软件行业的发展,软件质量越来越成为人们关注的焦点。本文从软件质量管理体系出发,结合笔者自身多年的软件质量管理经验,对现有软件质量管理体系进行了总结和归纳,提出了软件开发过程中质量控制的具体改进方法,并将全面质量管理观念融汇于实际软件质量管理日常事务之中。 [关键词] 软件质量管理体系 改进 全面质量管理 持续发展 一个开发团队要提高效率,就需要思考目前的管理活动中有哪些要素是可以改进的:如何把一些事务性的操作变得自动化,从而节约人力;如何找到更好的方法,让开发过程更为合理,更注重软件的质量;如何在团队中传播优秀的思想,让团队成员不断地学习和进取,自发地改进过程。这些美好的愿望几乎是所有方法论和各种认证的共同心声,但要完全做到可就太难了。在本文中,提出了一些优秀的实践,优秀实践均是来源于软件开发界中的一些新思路和新理论,它们能够为以上愿望的达成起到正面的作用。在组织中引用这些实践决不是一个容易的过程,但它们确实非常有效。这些实践包括:建立日创建、测试驱动开发、建立核心框架和面向组件进行编程。 一、软件开发的有效管理:日创建 一个组织应当拥有一个有效的工作流程,这个工作流程能够指导软件开发的进行。这个流程应当是具体的、可操作的。随意的计划和从来不遵循的进度决不是一个有效的工作流程。日创建实践提出了一种对开发过程进行精细管理的方法,它是量化软件管理的基础。有了日创建,你会发现计划的制定和进度的监控是非常容易的一件事情。 我们传统开发软件的流程一般是这样,理解领域问题,然后分配任务,由不同的人负责不同的软件部件,在开发完成之后,再把各人的部件整合起来,形成完整的软件。这个思路看起来并没有什么问题,但是在实践中却问题多多。 首先,这种方式适合开发人员之间工作彼此没有交集的情况,以前这种现象很常见,但是现在,随着软件规模的扩大、分工合作的加深,开发人员间的相互依赖程度越来越高,这种清晰的职责划分已经变得越来越难了。 其次,在软件集成时,往往会出现各种各样的问题,可是却很难发现到底问题在哪里?公说公有理,婆说婆有理。每个人的代码都没有问题,结合到一起就出现大量的问题。 所以日构建就将平时难得一见的集成工作转换成频繁进行的一件工作,从而使得原先如同噩梦般的集成变成了一件简单的工作。这也是很容易理解的,如果集成工作几个月才进行一次,谁能够记起几个月前的细节呢?但是如果集成以天,甚至以分钟为单位进行,排除bug就变成一件很容易的事情了。 二、测试驱动开发 软件质量的根源来源于测试,测试做好了,软件质量就会好。这是毫无疑问的。问题的关键在于怎么做测试,才能保证测试的投入能够带来软件质量的有效提升。测试驱动开发正是为了解决这个问题而出现的。它不是一个完整的方法论,可以和任何一种开发流程进行融合。测试驱动开发不但能够改善测试效果,还能够改进软件的设计。 测试驱动开发起源于XP法中提倡的测试优先实践。测试优先实践重视单元测试,强调程序员除了编写代码,还应该编写单元测试代码。在开发的顺序上,它改变了以往先编写代码,再编写测试的过程,而采用先编写测试,再编写代码来满足测试的方法。这种方法在实际中能够起到非常好的效果,使得测试工作不仅仅是单纯的测试,而成为设计的一部分。 在编写程序之前,每个人都会先进行设计工作。可能有些人的设计比较正式,绘制模型,编写文档。有些人的设计只是存在于脑海之中。且不论设计是精细还是粗糙,你都为随后的编码活动制定了一个标准。这个标准的明确程度和你的设计的细致程度有关。但应该承认,这个标准是不够细化的。因为你的设计不可能精细到代码级的程度。而标准不够明确则会产生一些问题,例如,在编写代码的过程中,你还可能会发现原先的设计出现问题,从而中途改变代码的编写思路。这将会导致成果难以检验,进度难以度量。 既然以设计为导向的标准不够明确、不够具体。那什么样的标准才是合适的呢?只能是代码。因为代码是最明确、最具体的。所以测试优先的本质其实是目标管理。编写测试代码其实是在制定一个小目标。这个小目标非常明确,它规定了你需要设计的类、方法,以及方法需要满足的结果。这些目标制定完成之后,你才开始编写代码来达成该目标。测试的目标要比设计的目标粒度更小,但是成本上却更为经济。 测试优先是软件开发中一种细粒度的目标管理方法,通过明确的目标,推动软件开发的进行。 三、建立核心框架 框架是一种具有高度重用性的软件,这个特性决定了它非常适合成为软件组织积累知识的一种有效手段。传统的知识积累的方法是文档,但是文档容易产生歧异,开发人员往往也不愿意去阅读和理解文档。框架提供的是一种综合的手段,包括文档、模型和代码。更容易理解,更重要的是,开发人员必须在日常的工作中使用框架,这使得他们对框架中的知识非常熟悉,并根据工作的需要来改进框架。 四、面向组件编程 有效的组织在于有效的分工。体力活动容易进行分工,脑力劳动则比较难,而软件开发似乎就更难了。所以,长久以来我们都习惯采用以功能块为单位的粗粒度划分方式。面向组件编程采用更加细密的划分方式,并以服务作为组件之间相互依赖的契约,不但定义了组件和组件之间的关系,也规定了组件开发者、组件使用者、组件测试者的权利和义务。从而能够进行软件开发工作的分配、管理、QA等工作。 软件质量管理论文:软件质量管理6大最佳实践 软件形式上是产品,本质上是服务,是高科技计算机信息技术和人类创新智慧的结合。在软件产品的研发过程中,软件质量一直处于最为核心的地位。ISO9001标准和CMM原则被誉为软件质量管理的圣经,是当今国际上最推崇的软件质量改进方法和保证措施。然而,很多实施ISO9001、CMM3级的企业过于强调过程管理,忽略了“人比过程更重要”这一原则,形式重于实质,这一做法在国外已受到猛烈抨击。如何更好地将质量管理理论和企业经营生存之道密切融合,走出一条独辟蹊径、立竿见影的“质量革命”之路,是摆在诸多企业高管面前的重要课题之一。这里总结了软件项目质量管理的6大最佳实践,供同行参考。 全面管理,塑造质量文化 全面质量管理即为全员、全过程、全方位的质量管理,它具有以下基本特点: 1.全员:质量控制从少数质量保证人员扩展到企业的所有人员。质量控制管理不是质量保证部门一个部门的事情,需要全员的大力支持、准确理解、精确执行。 2.全过程:将质量控制、质量检验、质量统计延伸扩展到整个产品生命周期。 3.全方位:全面运用一切有效方法,全面控制质量因素,如软件开发成本、进度、可靠性、安全性等。 全面质量管理可以归纳为两大基本原则: 首先是以满足顾客需求为导向,不断改善,最终实现顾客的全面满足;其次是以全员参与为基础,进行全过程的质量控制。质量管理理论认为,“质量出自计划,而非出自检查”。软件前期的质量保证主要依靠设计、生产、研发,后期的质量保证则主要依靠测试、完善、改进。全过程的质量保证依靠行之有效的管理体系。这种观点强调运用确定性、过程化的管理制度、程序、体制来控制管理潜在诸多不确定性、多变性因素的软件质量品质。事实上,影响软件项目进度、成本、质量的三大因素分别是人、过程、技术,人永远是第一位的,人永远比过程更重要,人是影响质量的最关键因素,只有在软件质量管理过程中坚持“以人为本”,强调人与过程的和谐,塑造以人为核心的质量管理文化,才能让质量管理的成效得到淋漓尽致的发挥。 分级管理,把握 质量目标的层次性 ISO9001体系认为,建立质量方针、质量目标是实施质量管理的必经之路。事实上,现代软件的架构是层次化的,这一点尤其重要,软件质量也应按照层次从里到外、功能由轻到重、地位从低到高因地制宜、区别对待,对于不同的软件层面和需求制定不同的质量目标。例如:对于一个大型网络游戏而言,大气炫丽、细腻仿真的3D动画操作界面是非常必要的;但对于一个小型超市仓库管理软件而言,只要能满足出库、入库、损益、盘点的基本需求就可以了,简单粗糙的操作界面反而更容易上手。 在进行软件工程的质量控制时,应把握关键层面,抓住质量控制的瓶颈。一般来说,越是靠近底层、核心区域(如平台、框架、引擎、关键业务等)的代码质量要求越高,开发人员的素质要求越高,质量检测及保证工作代价开销越大。精益求精只适用于靠近核心的代码层;而对于外围代码层, 可酌情适当降低代码质量,放松测试条件。 验证确认,全程质量控制 质量控制是确定项目结果与质量标准是否相符,并及时纠正产品缺陷的过程。质量控制的主要手段是验证与确认:验证是从开发者的视角来检查是否正确地构造了产品,而确认则是以用户的视角来检查是否构造了正确的产品。 事实证明,具有清晰开发模式及过程管理规范的软件产品,在质量上要明显超过那些没有明确过程模型及规范指导的软件产品。软件工程理论提出了诸多开发模型,如瀑布模型、喷泉模型、增量模型、快速原型模型、螺旋模型、迭代模型等,当前最常用的大型软件开发模式是螺旋式的增量开发方式(如图1所示)。 图中1〜7 是各阶段的输出点,也是质量控制点,有相应的输出文档和阶段性成果,均需要得到质量保证部门的确认。软件项目中最常用的质量控制工具手段,包括评审(技术评审、代码评审、设计评审、同行评审等)、审查、测试验证(黑盒测试、白盒测试、单元测试、集成测试、确认测试等)、抽查、调查、走查、旁站、缺陷跟踪等。 技术评审最初是由IBM公司为了提高软件质量和提高程序员生产率而倡导的,分为正式技术评审(FTR)和非正式技术评审(ITR)两种,该方法已经被业界广泛采用并收到了很好的效果,它被普遍认为是软件开发的最佳实践之一。需要重点指出的是,同行评审是一种特殊类型的技术评审,由与产品开发人员具有同等背景和能力的人员对产品进行技术评审,非常有利于发现产品中潜在的问题。成功的同行评审是提高质量和生产率的重要手段,评审的对象应该包括所有软件开发的中间和最终工作产品。 引入工具,复用成功模式 质量管理是可以通过信息化手段量化的,采用先进的质量管理工具可以极大地提高质量管理水平。例如:Bugzilla是Mozilla公司提供的一个开源的缺陷跟踪工具,在全世界拥有大量用户。它能够为软件组织建立一个完善的缺陷跟踪体系,包括报告缺陷、查询缺陷记录并产生报表、处理解决缺陷等。 质量和缺陷是一对无法化解的矛盾,想要提高质量必须千方百计地减少缺陷。有三种方法可以减少缺陷产生的频率、数量、规模等级。 1.事前预防:在开发过程中始终要考虑工作成果可能产生缺陷,将高质量内建于开发过程之中。主要措施包括提高技术水平和规范化水平,也就是练内功,通称为“软件过程改进”。 2.事中控制:及时对各个阶段的工作成果进行质量检查,找出并消除其中的缺陷。这种方式实践效果较好,已经被企业广泛采用,主要措施是技术评审、软件测试和过程检查。 3.事后补救:当软件产品正式交付到用户手中投入生产经营时发现了重大缺陷(如系统常常崩溃、运行速度极慢、报表统计错误等),然后再进行修改维护。这实质上反映出软件项目管理中存在较大的缺失和漏洞,建设单位、承建单位、监理单位三方都有不可推卸的责任,应规避这类水平低级、后果严重、影响恶劣的失误再次发生。 复用是在软件开发领域提高软件质量的重要方法之一。被复用的对象往往是经过反复使用验证的,自身具有较高的质量,因此,合理化复用有利于提高质量、提高生产率和降低成本,技术开发活动与管理活动中的任何成果都应尽量被复用,如思想方法、经验、程序、文档等。软件质量管理的最终目的除了能够不断持续改进之外,还在于形成有特色、有成效、可操作的质量管理模式,并最大程度地复用。 协同合作,三权分立 由于软件质量管理的专业性和复杂性,软件项目组织建设上应实行“设计、检验、监管”三权分离、鼎足而立的原则:设计部门专攻软件需求分析、规划设计、系统研发工作;检验部门从事系统测试(性能测试、回归测试等);质量监管部门制定质量管理工作计划,对各部门的质量管理工作提出指导建议,跟踪、内审、改进质量体系的运行。 技术评审、测试和质量保证是提高软件质量的三个重要法宝,但三者在作用上各不相同。技术评审与测试关注的是产品质量而不是过程质量,两者的技术强度比质量保证要高得多。技术评审和测试能弥补质量保证的不足,三者是相辅相承的质量管理方法。我们在实践中不能将质量保证、技术评审和测试混为一谈,也不能把三者孤立起来执行。建议让质量保证人员参加并监督重要的技术评审和测试工作(大约占其工作量的30%左右),只有这样他们才能更深入地了解软件的质量问题,把三者有机地结合起来,做到三位一体,全方位堵住质量缺陷的漏洞。在部门职能规划上,质量保证部门具有充分的权力,可以对质量不合格的工作成果做出处理,只有这样质量保证工作才不会被轻视,才更有助于加强全员的质量意识(质量保证过程域的主要活动如下图2所示)。 和谐管理,做好一把手工程 当前很多软件企业都组建了质量保证部门,出台了质量保证制度,然而软件质量并未得到实质性突破,质量保证人员也没有发挥预期的效果,造成这种情况的常见原因有两个:一是软件开发团队管理过程不够规范;二是企业领导者,尤其是最高领导者(即“一把手”)重视程度不足,措施不到位。 调查结果表明,在软件项目中,质量保证人员往往是最“吃力不讨好”的一族,通常没有实质性权力,项目成功功劳属于别人,自己缺乏成就感,项目失败却担负最多的责任。鉴于这种情况,领导层一定要从根本上重视、爱护、支持质量保证工作,充分发挥组织协调作用,体现人文关怀,运用管理艺术,构建和谐团队,让每一个项目组成员都树立较强的责任感、归属感和大局意识。事实上,软件开发工程是典型的“全员参与工程”、“一把手工程”,没有企业“一把手”的知情、重视、认可和支持,软件项目顺利实施和取得实效根本无从谈起。有时候企业领导层对于软件质量保证的作用往往是决定性的,这是任何技术手段都无法替代的。 链接 软件质量管理常见误区 误区一:软件质量是可以精确测量的。 软件的质量属性很多,如正确性、健壮性、可靠性等,但在大多数用户看来,实用、适用、好用的软件就是成功的。成功的软件通常都会在功能、性能、界面、操作等方面,以最简捷有效的方式满足用户的最紧迫、最直接的需求。质量是一个相对的概念,软件产品质量没有国际通用的评价标准,质量目标的弹性较大,没有绝对合格或不合格的界限,软件不可能做到“零缺陷”,有缺陷的软件仍然可以使用。 误区二:企业软件的质量越高越好,最好是“零缺陷”。 商业目标决定了软件的质量目标。软件的质量评价也不能从纯粹的软件工程、软件商品、软件技术的角度去考量。理想的软件质量目标不是“零缺陷”,而是恰好能够满足应用需求、生存发展、市场竞争需要,并且将提高质量所付出的代价控制在预算之内。一味追求高质量代码,把质量目标凌驾于赢利目标之上,是多数技术人员所犯的常见错误。 误区三:通过ISO9001、CMM3级认证就意味着软件质量一定有保证。 当前很多通过CMM3或者ISO9001质量认证的软件企业在软件项目管理上的确更加规范了,但代表核心竞争力的软件质量驾驭能力并未得到实质性的提升。产品生产过程与产品质量存在一定的因果关系,通常好的过程产生好的产品,而差的过程将产生差的产品。实践证明,软件质量保证并不能绝对保证软件质量,质量保证只能检测出哪些不符合既定程序规范、肤浅的软件缺陷,对于潜藏在软件深处符合既定设计规范的缺陷却显得无能为力。仅靠制度、规范、流程是无法全面识别出软件中的潜在缺陷的,质量保证对于保证质量而言只是必要的手段,而不是充分的手段。 误区四:拥有充足的人力资源,软件质量就有保障。 软件开发并不一定是人多力量大,相反,人力资源配置不当反而会延误工期。不同人员的水平和素质差异较大,软件项目增加新人可能会增加新的缺陷,无益于软件质量提升。软件开发是一种智力创新活动,任何程序员都无法避免缺陷的发生,缺陷发生是必然的,程序员首先必须了解决定软件质量的各个关键因素(如成本、进度、可靠性、安全性等),搞清楚质量控制的目标和计划,然后才可以在进行需求开发、系统设计、编程测试时确保交付软件的高质量。 软件质量管理论文:基于过程性能模型的软件质量管理过程的研究与应用 摘要:软件产品的质量在很大程度上受到软件开发过程的影响。为了提高竞争力、改进质量以及提高效率,软件企业就需要将更多的注意力放在过程上,通过过程控制其结果。本文对软件质量管理过程进行了研究,通过过程性能基线和过程性能模型分析和管理质量,提出了一个基于过程性能模型的软件质量管理过程模型,并在研究的基础上,构建了软件质量管理系统的体系结构。 关键词:软件质量管理过程性能基线过程性能模型 1 引言 随着软件产业的飞速发展,软件的核心竞争力主要集中体现在质量、成本和交付工期上,而质量是最显著影响其它两方面的因素。对软件企业来说,质量不再只是争夺市场的一个有利因素,而变成了公司在竞争中成功的必要条件。然而,随着软件规模和复杂度的增加,软件开发过程越来越难以控制,导致开发过程中的产品质量和过程质量处于失控状态。 过去存在着一些片面的观点,认为先进的工具和方法可以神奇地解决软件开发中的质量问题。目前的现实并不尽如人意。有的企业由于缺乏对开发过程的控制,往往很难平衡客户和公司在质量、成本和交付工期的要求,成功的项目比例很小。 面对如前所述的现状,软件质量管理一定要面向预测式管理。一个软件产品的质量主要是由它的开发、采购和维护过程决定的,为了改进软件产品的质量进而提高竞争力,就要把焦点放在能够稳定地开发优质产品所需的过程上[1],通过过程数据预测和控制结果。 过程性能模型重点强调过程和产品度量对结果的重要性,分析和建立过程和产品度量与结果的关系。其通过过程性能基线控制过程的关键因子,分析过程的性能偏差,进而预测并控制最终结果。由此可以看出,过程性能模型是解决上述问题的有效方法,本文将关注基于过程性能模型的软件质量管理过程。 本文首先归纳了软件质量和软件质量管理的研究现状,并指出了现有软件质量管理过程所存在的问题;随后引入了过程性能基线和过程性能模型,提出了基于过程性能模型的软件质量管理过程模型,阐述了过程性能基线和模型在质量计划、质量活动、质量度量和分析、质量预测和控制、质量评价和改进等五个质量管理子过程中的应用;最后在研究的基础上,构建了软件质量管理系统的体系结构,包括组织过程资产库,过程支持和软件质量管理三个子系统。 2 软件质量及管理 当前业界已将交付软件的缺陷密度作为软件产品的质量的衡量关键标准。即,已交付软件中每个单位规模的缺陷数,简称为交付缺陷密度。因此,软件质量管理通常围绕缺陷而展开,软件项目的目标是使交付的软件存在尽可能少的缺陷[2]。 质量管理的任务是计划恰当的质量活动,然后正确执行和控制这些活动,以便可以在软件开发过程中(即在软件交付以前)检测到大多数缺陷[2]。 质量管理包括确定软件的质量目标,制定实现这些目标的计划,并监控和调整软件计划、软件工作产品、活动和质量目标,以满足客户和最终用户对高质量产品的需求和愿望。 质量管理基于机构、客户和最终用户的需求建立软件产品的质量目标。为实现这些目标,机构制定相应的策略和计划,项目则为实现这些质量目标对其定义的软件过程进行具体调整[3]。 在软件质量管理过程和方法上,传统的包括:全面质量管理(Total Quality Management, TQM)是一套能控制质量、提高质量的方法;在PMBOK[4]中,软件项目的质量管理是指保证项目满足其目标要求所需要的过程,包括质量计划、质量保证和质量控制三个过程域;著名的“Juran三部曲”[5]――TQM的理论基础和基本方法的主要基石――包含质量计划、质量控制和质量改进三个步骤,突出了对过程改进的支持。最有成效的要属六西格玛质量管理方法,其理念是通过排除和预防缺陷来提高客户满意度,进而提高企业的收益率,包括过程性能度量集、多种改进框架和分析工具,尤以DMAIC框架(定义-度量-分析-改进-控制)最常用[6]。将六西格玛与CMMI实施相结合将是更有效的过程改进途径。 在软件质量管理工具方面,Ishikawa提出了质量控制的七种基本统计工具[7],包括因果图[8]、Pareto图、直方图、控制图、散布图、运行图、检查单。目前也有许多有关预测模型的论著,如:Rayleigh模型。 现有的软件质量管理过程和方法提供了质量管理的高层指导,主要关注于实施步骤以及最终结果,质量管理工具也着力于解决质量管理中的具体的某“点”的质量问题和控制,但在如何通过过程控制其结果,业界正在寻求有效的途径,是亟待解决的问题。例如:如何制定低风险且切实可行的质量计划、如何在开发过程不同的影响因素下确保项目质量目标得以实现等。这些正是本文致力于研究的主题。 3 基于过程性能模型的软件质量管理过程 过程性能模型是解决通过过程控制其结果的有效方法,具体定义如下。 过程性能基线(Process Performance Baseline, PPB)是对遵循过程所达到的实际结果的文档化刻画,用于比较实际过程性能和预期过程性能的基准[9]。 过程性能模型(Process Performance Model, PPM)是对过程属性和过程工作产品之间关系的描述,基于历史过程性能数据而建立,并使用项目中收集的过程度量和产品度量进行校准,最终用于预测遵循过程将能达到的结果[9]。 过程性能基线可用于组织内任何独立的项目,通过分析所收集的度量,建立结果的分布和极差,其刻画了所选过程的预期性能[10]。过程性能模型基于其他过程和产品的度量来估算或者预测某一过程性能的度量,刻画了过去的和当前的过程性能,对过程将来的性能进行预测。过程性能基线控制子过程的能力;过程性能模型预测过程的中间目标和最终目标,通过过程控制结果,在子过程结束时进行调整和预测,确保最终目标的实现。 基于六西格玛质量管理的方法及其DMAIC框架(定义-度量-分析-改进-控制),以及过程管理的四个核心职责(定义过程、度量过程、控制过程、改进过程),并结合过程性能基线和模型的原理,本文提出了一种基于过程性能模型的软件质量管理过程模型,该模型在质量管理过程中增加了过程性能基线和模型的指导、统计管理以及预测和控制,提供了软件开发过程中进行质量控制和持续改进的框架,如图1所示。模型主要包括:质量计划、质量活动、质量度量和分析、质量预测和控制、质量评价和改进。接下来将详细阐述过程性能基线和模型在上述五个质量管理子过程中的应用。 图1 基于过程性能模型的软件质量管理过程模型 3.1 质量计划 要生产出高质量的产品,首先必须制定质量计划。质量计划作为基于过程性能模型的软件质量管理过程模型的一个核心环节,简言之,就是怎样以及何时将质量活动和质量材料应用到一个项目中。质量计划中必须明确定义在软件开发的各个阶段应如何进行质量活动。制定质量计划的前提是项目已完成任务计划、进度计划和规模估算,故在制定质量计划之前必须进行入口准则的验证。 基于过程性能模型的软件质量管理过程要充分发挥过程性能基线和模型在质量计划制定时的指导作用。团队软件过程(Team Software Process, TSP)质量计划是一个最佳范例,本节将介绍如何使用过程性能基线和模型指导质量计划的制定。 本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文 3.1.1 TSP质量计划 团队软件过程(TSP)制定的质量计划包括以下几个方面[11]:系统无缺陷比率、各阶段排除缺陷密度、质检过失比、阶段收益、过程收益、缺陷引入率和缺陷排除率,可划分为过程质量度量和产品质量度量两大类。 为了提高客户满意度,首要解决的就是降低交付缺陷密度,即验收测试过程中发现的缺陷密度。团队在制定质量计划时,首先估算可能会引入的缺陷数,其中估算每个过程阶段所引入的缺陷数的方法有许多种,TSP质量计划使用的是缺陷引入率;然后就是估算排除的缺陷数,这里TSP质量计划使用了阶段收益。一旦团队按阶段估算了引入和排除的缺陷,那么结合项目的规模估算与任务和进度计划,就可以估算出每个阶段将会排除的缺陷密度,然后检查所估算的交付缺陷密度是否满足项目的质量目标,进而通过局部调整以完成质量计划。 3.1.2 使用过程性能基线和模型指导质量计划制定 在使用缺陷引入率和阶段收益估算缺陷的引入与排除时,传统的做法是“拍脑袋”或者基于业界数据,有经验的组织会基于历史数据,但是实际实施表明:上述情况中绝大多数的估算都是徒劳的。原因如下:一是因为对阶段缺陷引入率和阶段收益的估计值没有准确地反映缺陷引入与排除过程的能力,不应只是单个值,而应该是一个区间,包括均值和上下限;二是因为没有对缺陷引入与排除的过程进行计划,尤其是某些关键度量,例如评审速度、测试覆盖度、人员技能、经验等级、检查单条目数等,从而无法通过缺陷引入与排除的过程控制过程的执行结果(缺陷引入率和阶段收益),使得项目质量目标的实现变得不可预测和控制。 为解决上述问题,这里使用过程性能基线和模型从四个环节提供支持: (1)建立项目的质量目标,制定交付缺陷密度的计划值。 (2)基于组织的历史数据,建立阶段缺陷引入率和阶段收益的过程性能基线,参照过程性能基线计划阶段缺陷引入率和阶段收益,以“上限,均值,下限”的三元组形式。 (3)基于组织的历史数据,构建缺陷引入过程和缺陷排除过程内部的过程性能模型,建立子过程结果(也即中间目标)与子过程因子(包括可控的和不可控的)之间的关系,以及子过程可控因子的过程性能基线,参考所建立的过程性能基线和模型制定子过程的质量计划。同时在质量预测和控制时,需要对这些子过程进行统计管理。例如设计评审,代码评审,单元测试。 (4)在分别计划好项目的质量目标、缺陷引入和排除过程的中间目标、缺陷引入和排除过程因子之后,使用统计方法(例如蒙特卡洛模拟)对项目质量目标达成情况进行预测[12],通过置信度与置信区间评估目标达成情况的风险,必要时调整计划。 若软件组织处于起步阶段,没有足够的历史数据,质量计划的制定可参考TSP质量准则[13]。 3.2 质量活动 质量活动作为软件开发过程中的一项必要且非常重要的活动,负责排除开发过程中所引入的缺陷。其作为软件质量管理过程中不可缺少的环节,通常分为两大类:评审和测试。评审不但可以识别存在于可执行系统中的缺陷,而且可用于文档。评审有许多种类型,其中主要的类型有审查、走查和个人评审。审查和走查是同行评审[14]。测试则旨在发现尽可能多的缺陷。测试有七种类型,分别是单元测试、集成测试、外部功能测试、回归测试、系统测试、验收测试以及安装测试[15]。常用的有单元测试、集成测试以及系统测试等项。 以TSP为例,其任务计划中所涉及的质量活动按执行的先后顺序排列有需求审查、高层测试审查、详细设计评审、详细设计审查、代码评审、编译、代码审查、单元测试、集成测试、系统测试、验收测试。 项目的质量经理根据进度计划,按期组织任务计划中所安排的质量活动,基于既定的质量计划,具体由质量保证人员按计划实施。 3.3 质量度量和分析 在质量活动实施的过程中,软件质量保证人员应收集质量度量的实际数据,包括基本度量和派生度量。以软件审查为例,基本度量包括规模、评审准备时间、评审会时间、参与审查人数以及所发现的不同类型的缺陷数;派生度量包括总的审查时间、准备速度、审查速度、总的审查速度、缺陷密度、每小时发现缺陷数、评审准备时间与评审会时间之比、审查有效性。个体软件过程(Personal Software Process, PSP)[14]提供了非常有价值的度量和分析。 与此同时,质量人员可对收集的质量度量数据进行一些初步的探索性分析,为进一步的质量预测和控制打下基础。数据分析的切入点可以为缺陷的引入、排除以及泄漏,与评审有关的准备速度、评审速度、缺陷密度、审查有效性等,以及与测试有关的测试用例密度、测试覆盖度、测试用例有效性等。数据分析的方法包括如下: (1)推测,支持工具有Pareto图、运行图、直方图、箱线图、多变异图等; (2)提出原因的假设,支持工具有因果图和关系图等; (3)证实或排除原因,这主要是由能提供假设检验、方差分析和多元分析等方法的高级分析工具所支持。 3.4 质量预测和控制 为了有效地跟踪并控制质量活动的实施,实现质量计划中对各质量活动所设定的预期目标,进而确保项目质量目标的达成,基于过程性能模型的软件质量管理过程模型所包含的另一个核心环节就是质量预测和控制,主要涉及到统计管理子过程性能和预测项目质量目标达成两方面。具体而言就是使用过程性能基线和模型对质量计划中标注的关键子过程实施统计管理,在每一个子过程结束时使用过程性能模型预测项目质量目标达成的置信度,必要时对质量计划进行调整。 3.4.1 统计管理子过程性能 统计管理的过程[9](Statistically Managed Process)即使用基于统计的方法进行管理的过程,其中,对该过程进行了分析,过程偏差的特殊原因得以识别,过程性能也被控制在已定义的范围内。对子过程实施统计管理,可以使子过程的性能得到很好的控制,从而确保实现子过程的预期质量目标。适于统计管理的度量必须是可控的,对子过程来说是关键的,可以为人员属性、环境因子、技术因子、工具或硬件条件、过程因子、客户以及供应商等利益相关者,例如人员经验等级、人员可用性、同行评审相关度量、测试覆盖度、编程语言等[16]。 根据对相关材料的研究,本文归纳并提炼出了一个统计管理子过程性能的流程,大体将统计管理子过程划分为过程稳定性评估和过程能力评估两部分,如图2所示。 图2 统计管理子过程性能 (1)过程稳定性评估 过程稳定性评估[17]需要用到统计过程控制方法(Statistical Process Control, SPC)。SPC主要用来测量一个过程的稳定性并识别过程的各个执行情况是否超出所预期的变化范围和控制界限。控制图是实现统计过程控制强有力的工具,常用的为XmR图和U图。通常情况下,适于统计管理的度量其取值都是服从正态分布的,对于不服从正态分布的情况,可以使用箱线图。 对于不稳定的过程(子过程中出现了性能偏差),需要识别偏差的特殊原因,集中分析并采取矫正措施排除特殊原因。检测不稳定性除了Western Electric提出的4种有效测试 [17] 外,还可参考Minitab等统计软件中提供的其他测试规则。必要时可采用分组的方法。 (2)过程能力评估 在子过程执行即将结束时,需要分析子过程的能力,进行过程能力评估。过程能力[17]评估的前提是过程是稳定的或统计受控的。有能力的过程首先是稳定的,且其能力的上下限必须在规格界限之内。过程能力可以通过过程能力指数Cp和Cpk来衡量,使用控制图或直方图进行图形化展示。 本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文 过程能力指数Cp是我们描述过程能力的最重要指标,但由于Cp的计算与过程输出的均值µ无关,它是假定过程输出的均值与规格中值M重合时的过程能力。因此,Cp指数只是反映了过程的潜在能力。为此引入了过程能力指数Cpk,其被称为实际过程能力指数[18]。 合理考虑Cp和Cpk两个指数,对整个过程的状况就有了较为全面的了解。不应单独使用这两个之中的一个。 当Cp和Cpk都较小且二者差别不大时,说明过程的主要问题是σ太大,改进过程应首先着眼于降低过程的波动。 若Cp较大,而Cpk很小,二者差别较大,说明过程的主要问题是µ偏离M太多,改进过程应首先着眼于移动µ值,使之更接近M。 如果Cp本身不够好,Cpk更小,二者差别较大时,说明过程的µ和σ都有问题,通常改进过程应首先移动µ值,使之更接近M,然后设法降低过程的波动,减小σ。 需要特别强调的是,Cp和Cpk是由处于统计受控状态下的过程波动的大小和均值偏离决定的。因此首先要判断过程是否处于统计受控状态。 3.4.2 预测项目质量目标达成 在每一个子过程结束时,应使用子过程中间目标与项目质量目标之间的过程性能模型预测项目质量目标达成的置信度。 3.5 质量评价和改进 项目到达结项阶段时,软件质量管理也进入了最后一个环节:质量评价和改进。基于过程性能模型的软件质量管理过程中的质量评价和改进除了进行传统的质量总结报告之外,还包括基于正交缺陷分类[19](Orthogonal Defect Classification, ODC)的Pareto缺陷类型分析、过程性能基线和过程性能模型的分析评价。 质量总结报告提供了项目质量目标达成情况,质量活动的过程度量和结果度量实际数据,以及缺陷的引入排除情况汇总等。 考虑到ODC的缺陷类型与特定的软件开发阶段相联系,将Pareto缺陷类型分析与ODC结合起来,有利于识别最普遍的缺陷类型。而且通过Pareto分析找出缺陷数最多的缺陷类型,然后找出与该缺陷类型相关的开发阶段,从而对该阶段采取相应的改进措施。 质量评价和改进环节最重要的一步就是要对整个质量管理过程中所使用的过程性能基线和过程性能模型进行分析和评价,包括过程性能基线是否需要更新、过程性能模型的评价以及过程性能模型是否需要更新等。 3.5.1 过程性能基线更新决策 过程性能基线的建立过程是增量或迭代的,在获得新项目的实际度量数据后,要评估数据质量,然后将数据纳入已有基线的分析,确定是建立一个新基线还是使用已有基线。 判断将新的项目数据纳入已有过程性能基线是否合适的一个方法是:执行假设检验来判断新数据与已有基线是否存在显著的统计差异。如果存在显著的统计差异,我们需要使用新的项目数据建立新基线;如果假设检验的结果表明没有显著差异,则继续使用已有基线。 此外,在综合考虑项目和项目组之间的内在区别及组织业务变更的基础上,应定期评审组织过程性能基线集,以确定是否需要建立新的基线,或者是否需要合并、修订或放弃已有基线。组织过程性能基线需要合并、修订或放弃的情况如下: (1)当子过程改变时; (2)当组织的结果改变时(例如,由于过程偏移); (3)当组织的需要改变时。 3.5.2 过程性能模型评价与更新决策 基于过程性能模型的软件质量管理过程是否能真正奏效,过程性能模型自身的好坏至关重要,其是否能有效且准确地对目标进行预测和控制、其可理解程度及其可用性等都需要进行严格的评价。 通过对可靠性增长模型、质量管理模型等模型的评价标准进行调研[20],本文归纳了四条过程性能模型的评价标准,如下所示: (1)预测有效性。预测结果与实际结果偏差大不大,直接关系到模型的好坏。 (2)及时性。模型能够越早地发现问题或提高的征兆,就有越多的时间提前进行计划。 (3)开发过程的覆盖程度。开发过程的所有阶段的模型覆盖度是很重要的。每个开发阶段必须得到管理,并且应当实施适当的措施。往往需要建立模型集。 (4)简单性。数据采集简单并且代价不高;概念简单,用户不需要很多的数学基础就能理解。 过程性能模型的更新包括对模型的校准(Calibration)和修订(Revision)。 量化管理项目时,从统计管理选择的子过程中获取关键属性度量,通过使用所获得的这些实际性能数据,校准有关过程的过程性能模型,判断项目是否能够实现其目标,包括中期和最终目标(此时这些目标在项目生命周期的后面阶段才可以度量)。 需要修订过程性能模型的情况总结如下: (1)当子过程改变时; (2)当组织的结果改变时; (3)当组织的需要改变时。 4 质量管理系统体系结构 在对基于过程性能模型的软件质量管理过程的研究的基础上,研发了质量管理系统,其体系结构如图3所示。该系统建立了组织过程资产库,并提供两大功能:过程支持和软件质量管理。 图3 质量管理系统体系结构 4.1 组织过程资产库 一个组织应该拥有自己的过程资产库,包括组织的标准过程集、度量库、过程性能基线库以及过程性能模型库,分别为过程、度量、PPB和PPM建立了相应的数据字典。其中,标准过程集支持过程定义和裁剪,度量库包括过程度量和产品度量,过程性能基线库以“上限、均值、下限”的方式存储,过程性能模型库中涵盖基本的统计预测模型和高级预测模型。 4.2 过程支持 过程支持提供了从软件度量到过程性能基线直至过程性能模型的建立与维护功能。随着度量数据的不断积累,过程性能基线的控制限在建立的过程中需要不断地修订。开发过程性能模型也是一个迭代的过程,不断的选择一个或多个适当的统计建模方法,并用过去的性能数据对模型进行评估,直到得到适当的模型预测值。 过程性能基线建立的统计方法为控制图理论,支持过程性能模型建立的统计方法包括回归、方差分析、虚拟变量回归、卡方检验、逻辑斯蒂回归,以及蒙特卡洛模拟,贝叶斯信念网络(Bayesian Belief Networks, BBN)。 4.3 软件质量管理 (1)质量计划模块支持入口准则验证、质量计划概要、项目质量目标的建立、各阶段质量活动其质量目标的建立、各阶段质量活动的属性及其度量的详细计划、项目质量目标达成情况预测及结果报告。 (2)质量活动模块支持评审过程、测试过程的实施。前者包括评审计划、评审会、缺陷修复、评审总结,后者包含测试用例管理、测试报告、缺陷管理。 (3)质量度量和分析模块负责从过程中进行质量度量数据(特别是缺陷数据)的收集、分析、评价并生成质量状态报告,质量数据分析包括按阶段和项目划分的缺陷引入和排除情况分析等。 (4)质量预测和控制支持统计管理子过程性能和目标达成情况预测,为质量活动反馈偏差原因和建议的矫正措施,必要时提供质量计划调整的相关决策。 本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文 (5)质量评价和改进模块基于项目质量目标实际达成情况和软件开发过程中的质量数据,生成质量总结报告,并支持基于ODC的Pareto缺陷类型分析,重点提供过程性能基线和过程性能模型更新的决策和相关评价。 5 结语 本文对软件质量管理过程进行了研究,提出了一种基于过程性能模型的软件质量管理过程模型,包括如何使用过程性能基线和模型指导质量计划的制定、进行质量预测和控制等,解决了质量目标无法有效预测和控制的问题。基于研究,构建了软件质量管理系统的体系结构,下一步将深入研究通过开发过程控制缺陷的引入,从而全方位地实现软件质量管理。 软件质量管理论文:军用软件质量管理浅析 摘 要:通过对目前军用软件系统开发的特点和存在问题的分析,探讨了利用CMM原理来改进军用软件过程、提升软件质量的途径和方法。并对提高装备软件的质量管理水平给出了若干建议,为不断深化装备软件质量意识和完善装备软件质量工作提供了参考。 关键词:软件质量,质量管理,CMM 随着国防信息化程度的不断提高,军用软件作为信息化装备系统的神经中枢已经成为武器装备系统中不可或缺的组成部分。高新武器装备中由软件实现的功能有时甚至会超过硬件,乃至软件本身就可以看作一类重要的装备,系统中软件性能的好坏、可靠性的高低、安全性的优劣决定着整个武器装备系统效能的发挥。目前如何提高军用软件的质量已经成为提升整个武器装备系统战斗力的关键所在。 一、军用软件的特点 软件是用计算机语言表示的与计算机操作有关的程序、进程和数据的集合,具有零磨损特性,其质量完全取决于开发过程。ANSI/IEEE Std 729-1983定义软件质量为:软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体。该定义表明如果软件本身设计出来的质量特性能高度满足软件各项功能、性能需求,则其质量的优秀等级较高。 对于军用软件而言,还存在一些特殊性,表现在:①开发过程受严格的软硬件条件制约,且很难制定具体的、量化的质量标准。②规模巨大,大系统软件源代码往往会超过一千万行。③军用软件用于军事目的,要求无差错运行,对可靠性、实时性、安全性、保密性、互操作性等方面都有极高的要求。④成系统的大型军用软件面对装备情况复杂,研制参与人员较多,这些因素会造成高风险、长周期,高成本。 二、军用软件开发中的问题 随着对软件开发规律和军用软件质量重要性认识的提高,已经有越来越多的软件承制单位开始建立基本的软件过程,按照软件开发规律进行开发,但还有相当多单位,依然沿用“手工作坊”式的开发方式,全过程由软件开发设计人员“自行设计,自行编码,自行测试,自行包维护”。这种方式无法对软件开发过程进行有效的监督与管理,一旦软件产品出现故障,只能由开发者自行维护,其它人员难以介入,软件质量就会处于失控状态下,造成这种状态的主要原因除了国内软件开发整体水平较低外,限制软件的质量的原因还有:①目前相当多的军用软件是当作硬件的附件而不是独立的产品,没有按照基本的软件过程模型进行软件开发。②在研制过程中软件的评审力度不够。③软件开发文档及编制过程不规范,文档对开发过程的没有起到指导作用,软件验收和维护也没有依据。④软件测试非独立过程,软件的测试软件、测试工具缺乏,标准、规范不健全,软件检验与硬件合并进行,使得测试过程难以发现软件本身存在的问题。⑤部队使用装备投入对软件维护的力度不够。 三、CMM原理和作用 为有效针对军用软件目前存在的若干问题,保证软件产品质量,应清晰和完善的软件过程。我国于2001年基于SW2CMM1.1版的理念,制定了GJB5000―2003《军用软件能力成熟度模型》,并于08年在原标准基础上修改了若干内容,了GJB5000A-2008作为替代原文件版本,这些都标志着我国军用软件开发管理已经进入规范化管理阶段。 软件能力成熟度模型CMM主要用于软件过程评估和软件能力评价。其中软件过程评估用于确定当前软件过程的状态,发现与软件过程有关的嗜待解决的问题,进而有步骤地对软件过程实施改进,提高组织的软件过程能力。 CMM模型为软件开发组织设计了一个循序渐进的改进过程,帮助开发组织按模型进行对照检查,找出自身的强项和弱点,制定改进计划,逐步提升软件过程能力。同时也为软件委托方或采办者提供了一个评价标准,可以为对软件承包商进行软件过程能力评估,对风险进行控制。软件能力成熟度越高,软件过程越透明,软件性能越稳定,软件质量越高。 CMM将软件过程能力成熟度分为5级,从1级到5级软件能力成熟度逐步提高,每个等级有其软件过程特点,1级不含关键过程域,2级以上每一等级包含一组关键过程域,每一关键过程域中包含一组目标,当这组目标全部实现时该关键过程域相应的要求得到稳定。当一个等级及其以下所有等级的各关键过程域的全部目标实现时,就表明达到了该等级的成熟度。 四、利用CMM对军用软件能力成熟度评估 我国目前军用软件研制受整体水平的制约,还处于起步阶段,所以在引入并实施军用软件能力成熟度模型CMM时,可以从可重复级(2级)做起,帮助软件开发组织的过程能力按阶段逐步建立,逐级提高成熟度等级。可重复级共有需求管理、软件项目策划、软件项目跟踪与监督、软件质量保证、软件配置管理、软件子合同管理等6个关键过程域。为实现6个过程域的满足,应注重以下几个方面:①高层管理者应确定软件工程化方针,以CMM模型为蓝本,要求软件项目组按照软件工程要求实施软件开发,对项目进行阶段性分割,推进文档化交流方式,以便对软件开发的全过程进行有效控制和管理。②对原有组织进行适当调整,依据CMM过程域实现要求进行必要的人员配备和准备,建立软件工程过程组、系统测试组、软件质量保证组、软件配置管理组与软件配置控制委员会。③ 在全组织内进行动员、学习和培训CMM相关知识和理论;将本单位的组织、角色和术语与CMM中的相对应,完成软件开发CMM模型本地化改造;建立激励机制,鼓励软件组成员尽快地接受CMM的理念和实践推进。 五、对于军用软件质量管理实施的几点建议 军用软件成熟度模型CMM是评估软件过程和评价软件能力的重要工具,对规范军用软件承制单位按照软件开发规律进行软件开发,提高研制开发能力,保证软件质量具有非常重要的意义。我国军用软件能力水平目前大部分处在CMM初始级或可重复级阶段,GJB5000A-2008《军用软件能力成熟度模型》军用标准要求全军各部队和全国所有军用软件承制单位贯彻执行在一定程度上推进了我国军用软件过程能力的提高,但在短期内想要提升软件成熟度等级还具有一定困难。所以我们应本着长期坚持,循序渐进的工作方法,结合实际情况,制定相应的改进措施,逐步完善实施过程。 此外,我们还应结合更多的管理方法对军用软件质量管理进行完善。如加强对军用软件研制单位质量水平的审核。通过二方(顾客方,如军方)或第三方(如独立的认证机构)严格审核,可以提高军用软件研制单位对软件质量的重视;及时更新软件工程理论技术,如软件开发过程模型,软件产品的评价模型方法、质量保证方法、软件工程集成环境和工具,可靠性和安全性技术等;建立一支高水平的软件测试检验队伍,保证软件测试人员的技术水平等级不低于软件开发人员;在软件开发过程中坚持开展软件标准化、系列化、模块化设计理念,提高软件模块复用率,用以提高软件的质量和可靠性。 提高军用软件质量管理水平是一个涉及多学科多技术的综合应用系统工程,军用软件承制单位中各部门各专业只有共同努力,通力合作才能使我军电子装备软件系统开发的整体水平跨上一个新的台阶。 软件质量管理论文:软件质量管理的优化对策研究 摘要:近年来,随着我国社会经济的不断发展,我国软件技术发展速度也在不断加快,但同时我国软件技术还存在较多的问题,要想有效解决这些问题,必须加强软件质量管理,不断完善软件质量管理体系,促进软件快速交付。文章研究表明,通过软件质量管理,不仅可以促进软件开发,还可以确保软件质量。 关键词:软件;质量管理;优化对策 0引言 在软件技术快速发展和应用范围不断扩大的同时,软件复杂性也不断提升。在当前的很多软件开发企业中,软件质量管理问题开始成了关注的焦点。 1软件质量管理中存在的主要问题分析 1.1需求模糊问题 结合软件工程来说的话,软件产品的生产主要包括多个过程:第一是系统需求研究过程;第二是系统设计过程;第三是系统实现过程。但对于软件系统需求来说,往往描述不够完善,相应的软件需求调研以及研究也不够深入,没有加强对软件质量需求的管理,这样不仅会使得研发以及测试设计工作落实不到位,还会明显提升沟通成本,导致产品实现与用户需求不一致[1]。 1.2立项管理不到位问题 大量实践结果表明,通过加强立项管理,可以有效避免质量管理项目风险的产生,赋予软件项目开发深刻的意义。(1)软件项目开展。不加强深入的立项调查,以及加强项目可行性分析,落实好立项评审,则可能会导致产品需求获取不到位,软件开发产品规划出现很多问题,无法保证软件研发工作的有效开展,致使项目研发功能明显减弱,不但会导致资源浪费,还会阻碍新产品的正常[2]。(2)软件项目。如果没有加强立项管理,可能会导致成员行为涣散问题的出现。工作人员只顾自己,不顾团队利益,无法全面了解项目产品的实际开发要求与背景,也不能从根本上明确项目开发的最终目标,无法满足用户的实际软件开发需求,最终使得软件开发计划无法按期实施以及软件开发费用超支等问题出现。 1.3软件质量保证体系尚待完善 针对我国很多软件开发企业来说,往往都处于“软件质量管理”实施的最初阶段,甚至是试行阶段,很多科研制作部门对应的标准化软件质量管理体系还都不完善,甚至有一些科研部门对应的软件质量管理制度和体系还没有形成[3]。另外,一些企业虽然设立了软件质量管理的专有部门,但相应的体系文件却还不完善,需要经过大量的实践来完善。在软件开发项目研制部门质量管理普通较低的情况下,软件开发工作者的综合素质低下,也会影响软件产品的最终质量。 2软件质量管理的优化对策分析 2.1加强需求工程有效管理 在实际的软件开发当中,如果相应需求模糊,会出现需求随意变更的现象,导致时间被白白浪费。对于该问题来说,必须针对相关需求活动,加强统一化的需求管理。要在落实好软件需求开发工作的基础上加强需求管理,这样不但能够限制需求变更的实际次数,还能促进工程师对质量管理需求的深入理解。总之,软件需求开发与软件需求管理的重要性同等重要,必须实现两者的有效结合,才能保证最终产品的质量。 2.2加强软件测试流程有效管理 在软件测试的各个环节,都可能会出现一些问题,必须不断优化软件测试流程,加强对软件测试流程的有效管理。具体来说:(1)软件测试相关部门人员,必须加强需求知识学习,开展深入的需求探讨。(2)对有疑虑的需求者,研发设计工作者要做出及时而准确的解答。对于研发设计工作者也不能有效解答的问题,要让他们联系用户来有效解答。在明确需求的基础上,根据软件系统的作用以及性能,专门的测试工程师要科学合理地设计软件测试测用例,具体要结合两大方面的内容来设计:第一,针对测试工程师来说,必须结合实际需求,科学合理地编写测试用例;第二,针对测试工程师来说,要在结合实际用户反馈情况的基础上,做好分析汇总工作[4]。要大力引入和合理应用QC功能测试设备以及工具,加强对软件以及实际操作系统兼容性能的合理性测试,才能充分发挥软件测试工具使用的功能与作用,落实好软件兼容性测试工作。此外,要加强自由软件测试,适当补充软件测试用例,了解软件测试用例没有涉及的问题以及问题产生的原因;要采取定期研究和分析的方法,明确缺陷库里面存在的问题,并深入研究问题成因,进而利用测试用例来解决问题[5]。 2.3加强项目进度质量有效管理 要保证软件开发项目的顺利完成,首先必须保证软件项目质量足够好。在软件项目开始实施之前,必须保证项目开发计划足够科学、合理。如果软件开发项目计划设计人员相关工作经验足够丰富、设计能力足够强,往往可以有效保证软件开发计划的合理性与完善性,有效预见软件开发计划当中的问题,消除相关阻碍和影响因素。在软件开发项目计划设计的开始,相关人应及时组织软件质量管理人员,开展软件项目计划讨论会与评审会,并请相关技术专家、真实用户等,针对软件项目计划的科学性和合理性进行探讨,分享个人意见和看法,由专门的记录人员总结相关意见,最终形成系统化的质量记录,再以书面或者文档的形式传送给相关工作人员进行意见修改整合,确保软件项目计划的完善性。 2.4提升工作人员的综合素质 在软件开发和质量管理过程中,技术人员和管理人员是核心主体。因此,要想有效保证软件质量管理有效性,必须保证管理工作人员和技术人员的综合素质足够高。让员工全面地了解企业,正确理解自身的工作性质和要求,并不断增强自身的责任感。即使工作人员已经对工作内容很熟悉,也可能没有深入理解企业经营战略以及相应的发展规划。企业外部环境条件变化幅度比较大,企业工作人员必须及时掌握内部战略和规划变化情况,及时调整自己的工作计划和方法。对于软件质量管理人员来说,不但要主动参与到企业发展规划设计工作中,还必须及时将相关信息传达给各个部门。通常来说,企业应当定期或者不定期地开展例会,介绍企业近期情况和之后的发展规划。在掌握全体例会内容的基础上,各个部门负责人员应当再次开展部门会议,根据部门工作开展情况,做好后期工作规划调整工作,使得每位员工都掌握企业发展动态,进行自身科学合理的工作调整与规划。软件质量管理者还必须基于企业内部软件质量问题,增强创新意识,提出可以有效解决软件质量问题的措施。 3结语 综上所述,软件开发成本管理不到位、软件质量管理不到位等问题仍然存在,导致这些问题产生的主要原因是管理者管理不到位,如:软件质量管理制度不完善、随意性较强。要有效解决这些问题,必须以完善的软件质量管理体系为依据,加强软件开发的全过程监控。 软件质量管理论文:软件质量管理系统的设计与研究 摘要:将数据挖掘技术运用于软件质量管理,根据影响系统质量的属性,建立了质量管理和分析模型,并根据模型给出了系统实现的初步方案。该系统的实施,能够有效的保证软件产品的质量。 关键词:软件质量管理;数据挖掘;联机分析处理;关联规则 1 引言 随着计算机软件越来越深入地应用到社会生活的各个方面,尤其是一些关键领域,软件的规模也随之日益增大,软件的质量也越来越受到重视[1-2]。软件的质量不过关,可能会产生严重后果。目前中国软件业尚未形成规模,全国的软件企业数量不少,但是大规模软件企业聊聊无几。我国软件业竞争力低下固然有产业规模小,资金投入不足、知识产权保护不力等各方面原因,但软件产品质量不高也是一个不争的事实,它直接影响到企业的形象及其在市场上的信誉,进而影响到其生产需求,使企业存在潜在的生存危机。 目前,对于软件质量控制一般都采用ISO9000或者是CMM,通过对软件开发过程的管理来控制开发质量[3-5]。本文研究了数据挖掘技术在软件质量管理中的应用,设计了一种基于数据挖掘的软件质量管理系统。系统通过软件缺陷的数据,软件生命周期全过程中关于分析、设计、编码、测试等阶段有关人员素质、开发和管理过程的信息以及软件属性、开发机构资质和经验、目标用户评价等资料的数据库,来建立质量预测模型,发现制约质量和过程的规律,从而采取预防缺陷措施。那么就能最大限度的降低开发维护的费用,大大降低软件故障和失败的可能。 2 影响软件质量的各种因素 软件的设计开发、营销、服务与支持活动,涉及投资者、管理者、销售者、软件产品用户等各类人员及其组织。因此,需要从全面的软件质量观出发,深入分析与软件生产有关的组织、人员、活动,对软件生产过程进行模块划分,建立通用的模块化的软件生产过程模型,以识别影响软件质量的各种因素。在此基础上,构架基于过程的软件质量体系结构,提供构成软件质量系统的通用概念框架,这就在高层次上找到了满足用户的要求,使定量质量管理成为可能。同时建立通过模块化过程的质量保证以及过程网络协同运作的质量保证系统,来保证软件产品质量的质量管理方法。进而建立完善软件过程质量的质量评价体系,用软件过程能力指数评价过程质量的高低,以过程的稳定受控来保证软件产品满足规定的质量特性要求。 2.1 质量属性 软件的质量属性可分为两大类:第一类可在运行软件并观察其结果的时候进行度量,例如性能、安全性、可靠性和功能性等都属于这一类。第二类不能够在运行软件并观察其结果的时候进行度量,但可通过对开发或维护过程的观察进行度量,这一类的质量属性包括可移植性、适应性、可复用性等。 2.2 软件体系结构对软件质量的影响 软件需求确定后,软件体系架构在软件质量中会起重要作用[3],有合理的软件体系架构,可以使需求变更产生的影响变得更小。如果没有合理的体系结构,先进的编程技巧也不一定能弥补体系架构对质量的影响。 软件体系结构问题包括软件系统总体组织和全局控制、通讯协议、同步、数据存取、给设计元素分配特定功能,设计元素的组织、规模和性能,在各个设计方案间进行选择。软件体系结构的设计是从问题域到软件解空间的第一步。一些体系结构方面的问题对软件的质量属性有重大的影响。比如,模块的层次可能影响系统的可修改性;功能的划分和封装可能影响系统的可扩展;构件间的通信协议可能影响系统的效率等。从另一方面看,良好的软件体系架构并不能确保系统的功能性需求及质量需求。后阶段的设计、实现等同样可以使系统的质量发生变化甚至损坏。毕竟,软件生命周期的任何阶段都对软件质量有或大或小的影响。因此,好的软件体系结构是良好系统质量的基础。 2.3 软件过程对软件质量的影响 从质量管理模式来看,软件企业按照某种软件生命周期模型来组织软件项目或软件产品的开发。目前比较流行的有瀑布型和迭代式开发方法。瀑布型的开发方法适合小型的、需求明确的软件项目,这种模型有个根本缺陷就是没有把用户需求反映在在整个项目当中。迭代式开发方法强调软件风险管理,把项目分成一个个的开发提交阶段,把里程碑处提交的产品提交用户反馈,并将反馈信息加入到下一个阶段的软件开发当中,其本质是基于产品开发的组织方式。 长期以来,软件开发过程中需求的变化,特别是软件使用后需求的变化,一直是制约软件质量提高的“瓶颈”[4]。随着软件产品或项目规模的扩大,软件产业的兴起,软件生产的组织方式也要从面向产品的生产组织转向面向过程的组织方式,面向过程的生产是软件产品生产的主流方向,必须以面向过程的生产组织方式,对软件需求获取、设计、开发、维护服务与支持的各过程进行预防为主的过程质量控制,对产品及过程的质量全部量化。 3 数据挖掘技术 3.1 数据挖掘和联机分析处理OLAP 数据挖掘是20世纪90年代迅速兴起的一个十分活跃的研究方向。其目的在于发现大型数据集中隐含的、不为我们所知的潜在有用信息,受到了数据库、人工智能、统计学和数学等领域研究人员的广泛重视,成为继Internet之后的技术热点[5]。目前,数据挖掘在销售、金融、电信、保险、教育、政府决策和基因工程研究等许多领域都得到了成功的应用,已产生了巨大的经济效益和社会效益。数据挖掘过程一般包括三个步骤,即数据准备、数据挖掘和知识分析和获取。数据准备用于选择相关数据用于预处理,包括消除数据噪声、弥补数据缺失和解决数据冲突,然后转换成适合挖掘的形式;数据挖掘则是采用有关算法对经过清洗的数据进行分析,其结果是大量的规则;知识分析和获取用于对产生的一系列规则进行评价,并从中抽取有用的知识,以辅助决策,如图1所示。数据挖掘有分类规则挖掘、聚类规则挖掘、关联规则挖掘、转移规则挖掘、例外模式挖掘、序列模式挖掘、Web挖掘、正文挖掘、多媒体数据挖掘、空间数据挖掘和时态数据挖掘等。 联机分析处理OLAP使用多维数据模型,在数据仓库中进行一系列统计操作,使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求。在企业当中得到越来越广泛的应用。 软件质量管理论文:浅谈军用软件质量管理 摘 要 本文简要介绍了军用软件特性,从软件分级管理、软件配置管理、SFRACAS三个方面探讨了如何加强军用软件的质量管理,为军用软件质量管理工作提供参考。 【关键词】军用软件 质量管理 软件配置管理 SFRACAS 随着武器装备信息化程度的不断提高,军用软件产品在武器装备上得以广泛应用,军用软件质量已经成为影响武器装备质量与安全的关键性因素之一,有必要采取措施加强军用软件的质量管理。 1 军用软件特性 军用软件是指应用于军事用途的软件。军用软件的特殊性使其开发和质量保障难度较大,具有以下特性: (1)军用软件通常要面临复杂的作战环境,可靠性、安全性要求高; (2)军用软件一般为嵌入式软件,对操作性要求较高; (3)大部分军用软件规模巨大,研制周期较长,成本较高,风险较大; (4)应用于军事用途,对开发人员、开发工具等提出较高的保密性要求。 2 军用软件质量管理措施 2.1 开展软件分级管理 军用软件应按照GJB/Z 102《软件可靠性和安全性设计准则》要求进行分级管理,按照软件失效的危险严重性等级分为A、B、C、D四个等级。其中A、B级软件失效可能导致人员死亡或严重受伤、系统报废或严重损坏,因此在软件开发的各个阶段必须开展危险性分析,降低风险。同时A级软件可能导致人员死亡或系统报废,因此必须对A级软件开展第三方测试,确保测试结果的独立性和权威性。由于军用软件的特殊性,如专业化程度更高,保密性要求高,使得第三方独立测试存在一定困难,可以考虑由军用软件承制单位进行测试,但必须由第三方组织和全程监督,必要时让军用软件用户参与进来,使测试结果更加准确有效。 2.2 开展软件配置管理 软件配置管理的对象是软件配置项。软件配置项就是在软件生命周期内各个阶段产生的各种形式的文档、程序、数据。软件配置管理目的是利用配置标识、配置控制、配置状态报告和配置审核建立和维护配置项的完整性,通过自定义三库管理策略,建立开发库、受控库和产品库,对软件配置项进行入库、访问、出库、维护、更改、等活动实施管理,以确保软件产品的正确性、完整性、可控性、可追溯性,主要包括以下四方面内容: 2.2.1 配置标识 配置标识主要包括三方面工作,一是定义项目生存周期中所建立的基线,二是识别和选择要管理的配置项,三是维护配置项标识。 2.2.2 配置控制 配置控制包括版本控制和变更控制两方面工作。软件产品为了适应不同的运行环境、不同的平台、不同用户的使用要求,导致同一软件产生或演化出不同的版本,必须进行版本控制。版本控制的目的在于对软件开发进程中文件或目录的发展过程提供有效的追踪手段,保证在需要时可回到旧版本,避免文件的丢失、修改的丢失和相互覆盖。版本控制是实现团队并行开发、提高开发效率的基础。变更管理是配置管理的一个重要组成部分,实现对需求变更及软件代码变更的高效管理。变更必须履行审批手续,首先由软件配置项负责人提交变更申请至配置管理员,再由配置管理员提交软件配置控制管理委员会进行评审,如批准及时修改并指定修改人,配置管理员将配置项检出至修改人员的开发库中进行修改,修改后经评审或确认批准后,由配置管理员将修改批准后的配置项重新入受控库(要求有版本升级记录),更新受控库状态报告;如没有批准修改或批准延后修改,配置管理员应向问题提出者提供未批准及批准延后修改的原因。当软件产品经过最终验收或交付后应提交配置管理员,入产品库。 2.2.3 配置状态报告 配置管理员通过配置管理系统收集当前基线配置项的状态,汇总形成配置状态报告,定期提交项目负责人审阅。 2.2.4 配置审核 配置审核主要是对软件开发过程进行审核,确保软件配置项正确可控,一般由质量保证人员单独执行。 2.3 建立SFRACAS SFRACAS即软件故障报告、分析和纠正措施系统,建立该系统的目的是及时报告软件发生的故障,分析软件故障产生的原因,制定纠正措施并验证其有效性,防止故障再次发生。军用软件承制单位应从软件研制开始建立SFRACAS,对故障实行闭环控制,有效地消除软件缺陷、故障,提升软件研制工作的质量。 建立SFRACAS应遵循PDCA原则,P代表计划(PLAN),D代表执行(DO),C代表检查(CHECK),A代表处理(ACTION),这四个过程循环执行,周而复始,促使军用软件质量不断改进。SFRACAS具体工作流程如下: 2.3.1 故障报告 软件在研制和使用阶段发生的故障,应由相关部门负责信息收集的人员予以及时、完整的收集,编制故障报告,并在规定的时间内向规定的管理组织报告。 2.3.2 故障核实 质量保证部门应组织有关人员对报告的故障内容都应按发生故障时的实际情况进行核实,故障核实可通过重现故障模式或依靠故障证据来完成。对缺乏证据的应给予说明。 2.3.3 故障分析 在软件的故障得到核实后,故障责任单位应尽快组织相关人员对故障进行分析,以确定故障原因,并编制故障分析报告。 2.3.4 故障纠正 故障原因确定后,故障责任单位的有关部门应根据对故障的分析结论,研究并制定纠正措施,编制纠正措施实施报告,并提交规定的管理组织审批确认,再下发有关部门组织实施。 2.3.5 纠正措施效果的验证 纠正措施实施后,有关部门应通过试验、试用等方法证实纠正措施的有效性,如达不到预期效果,则需复查故障的原因或进一步采取其它的纠正措施,直至故障彻底解决。最终,将确定的纠正措施及其实施效果提交给规定的管理组织。 2.3.6 故障信息管理 故障解决后,软件承制单位应统一管理保存全部故障信息报告及有关文档资料,并建立故障信息库,供有关人员查询。 3 结束语 对军用软件的质量管理,是当今武器装备质量管理的重要组成部分。本文简要介绍了军用软件特性,从软件分级管理、软件配置管理、SFRACAS三个方面探讨了如何加强军用软件的质量管理,为军用软件质量管理工作提供参考。 软件质量管理论文:软件工程与软件质量管理浅析 【摘要】本文首先从面向对象技术和重用的角度对软件工程进行了分析,然后结合现有的软件工程开发技术及管理成果,对提高软件生产效率的开发方法进行了进一步的探讨。 【关键词】软件工程 软件质量 质量管理 目前我国软件开发行业中拥有大量优秀的软件开发人员,虽然如此,但是我国企业的软件开发管理却始终处于一种比较低的水平上,近年来随着国内工业企业逐渐与国际标准相接轨,纷纷进行国际标准化质量体系认证,多数软件开发企业已经开始意识到软件质量管理的重要性,开始进行有关软件质量体系的标准化认证等工作,鉴于此,本文主要针对软件工程与软件质量管理领域的一些问题展开分析。 一、软件工程分析 (一)面向对象的开发方法 最终产品的特性与结构主要由开发方法所决定,在工业化过程中逐渐将软件工程技术纳入到规模化生产中,在系统开发过程中各个阶段之间的过渡变得更加平滑,系统模型也更容易维护,已有成果得到了最大程度的重用,这些目标的实现皆得益于对面向对象技术的应用。很多问题的存在利用传统的功能/数据方法根本不能得到有效解决,首先,可以利用功能/数据将系统分解成数据和功能两部分,功能部分体现出主动的色彩,伴随着相应的行为,数据部分则体现出了被动的色彩,被其不同的行为所利用;其次,人们利用功能/数据方法开发系统和软件时,不同系统和不同软件之间始终存在一些差异,一般来说是不能利用现实生活中的实体建立系统模型的,需要将实体中的功能及数据提取出来;最后,继承是面向对象技术的主要特点之一,从最大程度上利用现有的软件产品。因此,在一些大型系统开发过程中应对面向对象的技术进行有效的应用。 (二)重用 在系统开发过程中都希望可以对已有的成果进行尽可能的应用,重用可以使生产效率得到最大程度的提高,软件工程中解决危机问题通常会使用重用的方法,但是传统软件工程开发方法并不能对已有软件产品进行尽可能的应用。重用软件代码在工作中比较常见,对于生产效率的提高非常有用,但是从软件工程领域来看,解决问题的方式并不唯一,从软件开发的角度上来看,会从更为广泛的范围内对重用技术进行应用。此外,文档的重用也比较常见,不管是开发阶段还是维护阶段,通常重用文档的方式存在很多不便,加上格式的重用率比较高,因此利用面向对象的技术可以为其提供较大帮助,为重用事务的分配提供了良好的解决方法。 二、软件质量管理分析 软件质量管理领域已经提出了质量工作的相关特征,在全公司范围内展开质量控制及监督等工作,组织相关人员参加业务培训和教育,从全国范围内促进质量的提高,具体来说起其内容主要涉及到与人、机构有关的内容,要想提高质量就要与人发生关系,质量管理不能脱离人而存在。现阶段很多企业都专门设置了质量管理部门,这意味着现在很多企业领导者开始意识到了质量管理的重要性,但是这些企业对质量管理的认识也只停留在了这些部门上,企业中其他部门的人员都认为质量管理就是这些部门的事情,跟自己无关。而事实上质量的提高与企业中所有员工都有着必然的联系,企业中所有的员工都会对质量的提高起到或多或少的作用,而质量管理部门设置的目的在于针对质量的提高进行审查与监督,并展开质量培训,特别是最高管理者,只有这些人了解了质量管理的重要性,才能对质量管理措施进行贯彻落实。全面质量管理作为保证产品质量的一项重要工作,企业应将质量作为主要目标,所有企业活动都要围绕质量的提高进行。 现在我国多数企业已经将全面质量管理作为企业内部的主要管理模式,其内容主要包括生产、管理等方面,体现了效率性、科学性等一系列特点。之所以要在企业中进行全面质量管理,其主要目的在于将生产中存在的缺陷消除,这些缺陷主要是由人工和管理两方面原因导致的,其中,由于人工引起的缺陷比较容易消除,只要由工人在生产过程中加以注意就能使质量得到提高,并注意工人的培训,认识到缺陷产生的原因和解决的方法。因为管理而产生的缺陷往往是不容易解决的,因为这些缺陷往往是不易察觉的,在管理上形成了交叠,加上软件产品测试很难将方方面面考虑到,其中难免存在着一些隐藏的缺陷,所以管理制度的建立对于消除这些缺陷具有重要意义,以达到提高质量的目的。 三、结语 综上所述,近年来随着科学技术水平的快速发展,计算机的应用领域开始不断扩大,这种情况下软件系统开发也显得越来越复杂,很容易出现出现“软件危机”,为了对软件可维护性差、无法完成软件进度等问题进行解决,软件工程学科由此产生。然而开始时人们因为过分重视软件工程技术,忽视了质量管理的重要性,所以有关软件工程管理的研究并不多,本文主要基于这一方向展开了分析,供大家参考。 软件质量管理论文:浅谈航空机载软件质量管理过程的三性 摘要:通过参与机载软件研制项目的研发过程,并对机载软件全生命周期的质量管理过程进行研究和分析,从中提炼出机载软件在其生命周期过程(本文开发生命周期过程指从计划,到需求捕获和确认,经设计,到编码集成直至交付的过程)中的质量管理三个基本特性(完整性、符合性和可追溯性),同时通过对实际状态的对比分析和研究,针对机载软件质量管理的三个基本特性的意义和作用,提出了机载软件质量管理的三个基本特性在其生命周期质量管理过程中的实际应用,强调使用过程方法进行机载软件质量管理工作,以确保机载软件质量管理的系统性、根本性地全面可持续开展,继而确保机载软件在开发生命周期过程中满足相关要求,最终确保按照生命周期过程开发和生产的航空机载产品满足客户和适航的要求,最终确保产品的交付和盈利,争取更多的市场份额。 关键词:质量管理;完整性;符合性;可追溯性;适航;机载软件 一、前言 目前中国国内航空机载软件的自主研发起步比较晚,而大部分参与的公司/人员,由于之前质量管理的经验,形成一些固定的质量管理思维。随着国内民用航空产品市场的增加和国家对民用航空产品的重视,以及机载软件的技术日益发展成熟,我们需要更加重视航空机载软件质量管理的研究和分析,确保航空机载软件满足客户和适航的要求。航空机载软件质量管理相关的基础和标准,不管是国际航空标准AS9100,还是一些工业标准(包括DO-178B),以及一些已经的适航标准(包括Order8110.49)等等,更加关注产品在计划、设计、生产直至交付的所有节点中的每个过程,注重质量管理过程体系和程序的建立;按照建立的体系和程序执行相关过程,强调所有过程进行记录并保证可追溯性。笔者通过对航空机载软件生命周期研发过程质量管理的研究,包括AS9100、适航法规、先进的工业标准等进行研究,对实际质量管理状态进行总结,提炼出质量管理的三个基本特性――完整性、符合性、可追溯性,就航空机载软件生命周期过程中如何贯彻和应用这三个基本特性进行了浅显的分析,确保航空机载软件的交付满足客户及适航要求。以下内容是个人就质量管理的三个基本特性的概念及应用进行浅显的论述。 二、质量管理三个基本特性的概念 要想在机载软件的生命周期内贯彻质量管理的三个基本特性,首先需要了解三个特性的基本概念,只有对其概念和意义的理解,才能更好地在生命周期过程中应用和贯彻这三个基本特性。 1.完整性,指应确保产品生命周期过程中质量管理体系的完整覆盖。完整性是质量管理的基础,如果质量管理体系不能完全覆盖所有操作过程,也就谈不上质量管理。完整性也可以总结为“写我所做”; 2.符合性,指在设计和制造以及交付过程的所有操作应符合相应的文件/程序、符合相应的作业指导书以及产品符合经批准的设计和工艺。符合性是质量管理的主体,也是质量管理的执行过程。符合性可以总结为“做我所写”; 3.可追溯性,即应将所有过程中产生的数据进行相应的记录,确保在发生不符合时,能获得相应的数据分析的支持。可追溯性是质量管理的反馈,也是质量管理过程中持续改进的必备。可追溯性可以总结为“记我所做”。 三、理解和应用 可以将质量管理的三个基本特性总结为质量管理中的三句话:写我所做,做我所写,记我所做。也通过这三句话,可以清晰的发现这个三个基本特性涵盖了航空机载软件质量管理的全部过程和要点。以下内容就笔者在现有质量管理状态分析的基础上,分别就这三个特性如何应用,进行简单的阐述: 1.完整性 完整性,作为质量管理的基础,首要任务是是建立完整覆盖顾客要求、法律法规的质量管理体系。如何建立?民航产业有自己行业的质量标准――AS9100,按AS9100的条款,建立质量管理体系,形成质量管理体系框架。对于航空机载软件来说,仅仅满足AS9100的要求是不够的。在质量管理体系的建设中,必须同时要考虑适航规章的相关要求,包括DO-178B、Order8110.49。笔者认为以下图形象地形容AS9100和适航标准之于质量管理体系之间的关系: 图1 质量管理体系和AS9100及适航要求三者间的关系图 根据实际参与项目预投产质量管理体系的适航审定经验以及实际参与项目的开发经验,可以使用符合性矩阵分析的方法,通过建立程序和AS/9100及适航标准三者之间的符合性矩阵,一方面明确AS9100和相关适航标准的各方面的要求,一方面在矩阵中可以明显地看出当前质量管理体系完整性状态。下表为方法中采用的简易的矩阵表: 注1:由于篇幅有限,只能简单列出表头,其中横行中可以列出AS9100条款号;左侧纵列可以列出相关适航条款要求,在表的右侧某一栏中可以列出体系程序的名称。表格可以根据条款的详细程度进行调整;表格因人而异,可调整以适合本企业的相关要求。 注2:对应矩阵中,可以采用标志方式,如完全满足,用表示;如果AS9100条例满足,但是不满足适航要求,用表示;如AS9100条例不满足,但是适航要求满足,用表示; 随着适航标准不断更新以及产品研发经验的积累,公司同样需要不断改善和持续改进体系文件以切实满足质量管理的完整性要求,如DO-178B升级为DO-178C,则公司应针对升级前后版本识别,确保质量管理的动态完整性。完整性,是质量管理过程的基础,也是前提,只有确保质量管理中体系文件/程序的完整覆盖,才能有效保证质量管理的实施,才能确保企业有效率、有组织的进行。 2.符合性 符合性,之于完整性和可追溯性来说,起承上启下的作用。为确保符合性,首要任务是建立满足符合性的方法。日本质量大师石川馨认为:“当引进某种做事的方法时,很自然要考虑这种方法是否合适。通常我们根据过去的结果与经验或传统的方法做出决策。适当的评估将使这种决策变得更加有效,同时工作过程中的数据对于评估工作来说也是至关重要的。”对应质量行业中老话“不是最先进的方法就是最佳的方法,选择最合适的方法才是最佳的方法”。对于一个企业的质量人来说,应该清晰自身企业所处的规模、阶段,并选择相应的方法以确保符合性。符合性,是PDCA过程方法最重要的环节。笔者个人觉得对于一个企业来说,简要的操作流程可以按照如下流程进行: 图2 符合性实施流程图 注:对于任何产品来说,数据的积累是产品优化,行业的发展的基础。 结合上述流程图,以机载软件生命周期过程中的研发过程为例,具体操作可以参考如下: 针对机载软件研发过程,利用电子检查单(peer review)方式进行过程把关。 对各个层次的人员进行相关业务知识方面培训,要言明使用检查单的意义和作用。 建立每个过程作业指导书,找出每个过程的关键要素,将关键要素导入到电子数据库中。 依据检查单内容,对实际项目研发过程进行评审和检查,将每个关键要素的检查结果导入数据库。 以数据库为基础,针对检查结果中出现的问题分析,进行相关管理过程和/或相关产品设计构型进行改正和/或预防。 注:实现数据库与检查单相连接,通过在数据库中输入关键字,使其自动生成检查单;一方面减少不同素质的人员造成检查单内容的差异,另一方面有利于人员更专注于产品检查和改进的本身,提高执行效率。 符合性,是一个持续改进螺旋过程,是建立在公司的质量管理基础上,逐步的改善,根据机载软件的不同阶段选择相应方法以确保符合性。 3.可追溯性 对于机载软件来说,可追溯性的意义在于验证完整性和符合性,另外也在于后续过程的软件维护和升级,以及航线过程中如果发现问题,可以及时排查出问题所在,找到根本原因。机载软件的配置管理过程是确保可追溯性的前提。在DO-178B和AS9100中可以查询有关配置管理的规定,根据AS9100要求和适航要求以及DO-178B建立配置管理程序。在机载软件的配置管理过程中, 首先需要针对机载软件相关阶段建立配置基线,包括需求基线,设计基线; 针对所有需求、源代码、目标代码建立追溯矩阵; 如果机载软件已经建立配置基线,其中的任何更改,都需要按照配置管理程序(计划)的更改控制流程实施更改; 按要求定期进行配置审核,并编制配置管理报告; 按照加载规程实施机载软件加载前环境确认,并填写加载记录。 现如今各个企业更加重视信息化管理,在实际工作过程中,不断引进新的工具软件,如对于机载软件需求的管理,一般会采用DOORs软件进行管理。未来的信息化系统应该更是一个高度集成的信息化平台,能够实现简单输入自动实现,容易检索等等,给员工工作带来很大的便捷性,降低了人为错误,进一步提高了工作效率。而所谓高度化集成的信息平台,个人觉得可以通过建立不同的模块,然后在模块后台实现数据库支持。以航空机载软件的几大过程为例,包括计划过程,,需求过程,设计过程,编码过程过程,供应商管理过程,建立相应的模块,在各个模块之间共享同一个数据库;对于每个模块之间再细分子过程,为每个子过程建立窗口。高度集成化信息平台能够将一个机载软件完整生命周期所有信息记录在同一平台上实施分类保存,可以通过菜单拉取机载软件配置项,了解其当前状态,链接到供应商管理,进一步了解供应商的需求和编码状态。 可追溯性,是质量管理过程的体现,只有实际工作中进行了相应的记录和标识,才能确保机载软件的可追溯性。也才能真正确保机载软件产品满足初始适航和持续适航能力。可追溯性确保了质量管理真正的实现。 四、三个基本特性之间的关联 三性,用综合性的话语来描述:针对航空机载软件的每个过程,按照AS9100/适航要求建立完善的机载软件质量管理体系程序和方法以及计划;每个过程的操作按照既定的程序进行,做好相关记录。完整性、符合性、可追溯性,用三句话概括他们的关系:写我所做,做我所写,记我所做。实际质量管理过程中,却不能将这三个特性割裂开来对待。在实际操作中,完整性是质量管理的必备因素,充分条件,只有满足了完整性,才能确保符合性和可追溯性的实现;符合性是质量管理过程的主体,满足了符合性,才能体现了质量管理完整性的同时能确保质量管理的可追溯性;可追溯性是质量管理的必要条件,可追溯性的实现才能体现完整性和符合性的实现。三者之间密不可分,环环相扣。当三性中有一点不满足要求,其他两性也就不能满足要求,进一步说明质量管理失控。 在实际机载软件的需求和设计编码中,只有确保各项活动满足质量管理的三个基本特性――完整性、符合性、可追溯性,才能实现质量的过程方法管理,才能充分说明质量管理的完善有效,才能真正确保航空机载软件满足系统功能和适航要求,最终确保产品满足客户的要求。 五、结语 对于机载软件来说,实现其功能和运行已非难事,难点是如何使航空机载软件在满足安全的情况,实现成本降低,技术性能提高,以持续满足客户和适航要求,最终获得更高市场份额。相信通过满足质量管理的三性:从小处来看,可以培训企业所有员工的质量意识,在航空机载软件研发生命周期中更注重过程的输入和输出以及过程活动,降低了研发的成本;从大处来看,也使得缩小与国际先进航空研发企业的思想和流程上的差距,使企业有更多精力投入产品的技术研发和创新过程,以进一步缩小与其之间的技术差距。 笔者清楚,就单单质量管理本身来说,要想建立一套行之有效的质量过程管理方法,并实际应用于企业,为企业带来益处,并非一朝一夕,需要很长的路要走;笔者更清楚,质量管理,受制于产品研发技术,单单发展好质量管理流程,并不能带来根本性地变化。要想真正实现中国自主研发的民航产品进入市场,甚至走出国门,需要从技术、管理、人才等各个方面着手进行循序渐进的改善。套用屈原前辈的一句话“路漫漫其修远兮,吾将上下而求索”。 软件质量管理论文:基于质量管理体系和CMMI的气象水文软件质量控制方法浅析 摘 要:论文针对气象水文软件开发中存在的问题,分析了国内外常用的软件质量控制方法以及它们所存在的问题,提出了将质量管理体系和CMMI相结合的质量控制方法,建立了一种新的软件质量控制模型,为全面提升气象水文软件的质量提供新的思路。 关键词:软件质量;质量管理体系;CMMI;GJB9001B-2009;质量控制模型 软件在装备系统的研发过程中起着至关重要的作用,软件产品的质量已逐步成为军队信息化建设的核心,软件质量关系到武器装备系统的生命,关系到军队信息化建设的整体水平,一旦软件失效,就可能导致整套装备系统的失效,甚至导致战争的失败。目前,软件在研发过程中存在诸多问题,导致软件的质量和可靠性远不如人意,特别是与硬件的可靠性相比,软件的可靠性一般要低一个数量级[1]。 1 软件开发中存在的问题 (1)装备系统研发软硬件管理不均衡,过分强调硬件。武器装备的研发是一个非常复杂的系统工程,涉及到技术和管理的方方面面,而且其各个因素又是相互关联和制约,不均衡的过分强调某几个方面都是不科学的。而现状是系统的研发过分强调硬件的重要性,软件只是被当做硬件的一个附件来对待,未作为产品列入装备系统计划和技术配套表。 (2)总体单位不抓配套单位分系统软件的质量,监控力度不够。在软件产品的开发中不遵循软件工程的要求,而且武器装备系统的总体单位只抓本单位开发的软件质量,对配套单位分系统软件的开发过程监控不力,对配套单位交付给总体单位的软件普遍不进行软件验收测试和软件验收评审。 (3)软件设计文档的编制不规范,不符合国军标要求。编制时缺少文档化的过程描述,尤其是缺少工作文档、风险管理文档和工作量统计文档,而且文档编制水平和质量参差不齐。特别严重的是大多数单位的文档是在软件编程完成后补写的,失去了以文档指导软件实现的作用。 (4)高层管理者对软件管理不够重视,软件配置管理不到位。管理要从高层做起,但是多数高层却忽略了管理的重要性,有的软件开发组未设配置管理员,有的单位对配置管理的概念(如对基线标识和配置控制等)模糊,对软件开发库、受控库的设置与管理不当,致使软件在出厂前基本不受控。 (5)对软件测试的概念和方法认识模糊,缺乏对过程和产品进行测试。软件开发测试人员和质量控制人员之间缺乏对对方工作的基本认知,双方难以沟通,阻碍了研发工作的顺利开展。部分单位对第三方测试存有疑虑:担心泄密,难以保护知识产权,或担心经费不足和增加工作量延误工程进度。 上述问题是装备研发中普遍存在的现象,亟待改进。国内外的经验说明,为了解决上述问题,最根本的一条是必须“树立软件产品的观念”和“用软件工程方法组织软件开发”[2],并按照软件工程方法的基本原则不断改进软件开发过程。现在国内比较常用的控制软件质量的方法是质量管理体系法,而国外比较流行的是运用CMMI(Capability Maturity Model Integration,即能力成熟度模型集成)来控制软件的质量。 2 软件质量控制的常用方法及缺陷 2.1 军用软件研制质量控制的一般做法及缺陷 我国一直采用质量管理体系中全面质量管理的原则来控制军用软件的质量。按照全面质量管理的观点,“产品质量是设计、生产出来的”,关注软件开发、研制的过程,通过强调过程模式,将组织内所有的工作定义为一个个明确的过程来进行质量保证和评估,使影响软件产品质量的因素在产品形成的全过程中始终处于受控状态,以此来提高其使用的可靠性、安全性,突出的把持续改进的过程作为提高质量管理体系水平的重要手段。 目前,军用软件研制质量控制的整套模型源于GJB9001B-2009,该国军标适用面广,可面向于硬件、软件、流程性材料和服务四大产品[3],主要强调的是硬件产品的质量控制,对军用软件的适用性稍弱,没有针对软件产品及其研发的特点展开说明,尤其是在型号的不断改进,装备状态的多次更改之后,对军用软件的配置管理等方面的更高层次的问题,缺乏行之有效的解决方法,在实施该标准时无法引起高层领导的重视,没有对质量提出更高的要求,忽略了该标准反复强调的“质量管理必须坚持持续进行质量改进”,导致研制单位无法拥有一套适用的质量管理体系。 2.2 国外软件研制质量控制的一般做法及缺陷 CMM(Capability Maturity Model for Software,即软件能力成熟度模型)是对组织软件过程能力的描述[4]。CMM 中最为核心的思想是:只有好的过程才能造就好的结果。它侧重于软件开发过程的管理及软件工程能力的改进与评估,是一种高效的管理标准,有助于最大程度地降低成本,提高产品的质量和用户满意度。CMMI是CMM模型的最新版本,它把软件开发视为一个过程,并根据这一原则对软件的研发和维护进行过程监管,以使其更加科学化、规范化。CMMI项目为军工界和政府部门提供了一个集成的产品集,其主要目的是消除不同模型之间的不一致和重复性,降低基于模型的改善成本。CMMI将以更加系统和一致的框架来指导组织改善软件过程,提高软件产品的研发、获取和维护能力。 CMMI是目前国际上最流行、最实用的一种软件质量控制模型,强调各个方面的均衡发展,注重基于模型的、循序渐进的过程改进,可以帮助软件企业有效地管理软件过程,但是CMMI也存在缺陷,CMMI本身是国外的体系,是基于法治的体系,而我国强调的是人治的氛围,这种文化性问题是CMMI能否适用于我军的关键;实施该体系时单位对于软件研发人员缺少必要的有关质量管理方面的培训,导致软件研制人员与质量管理人员难以沟通,阻碍了研发工作的进度;CMMI只强调关键过程域,无法保证软件产品能被成功的研制出来。 3 基于质量管理体系和CMMI的气象水文软件质量控制方法 3.1 质量管理体系与CMMI的共同性 质量管理体系与CMMI面向的都是组织和软件产品的质量问题,都是以现代质量管理理念为基础,充分体现了质量管理、质量保证、全面质量控制、全面质量检验等思想。它们都非常关注产品的质量,都以相同的质量原理为基础,都强调通过良好的过程来保证产品的质量,都在强调外部沟通的同时强调内部沟通,都以组织的领导者和管理者作为最关键的成功条件,都采用PCDA方法,都重视规范化、活动规程和必要的文档与记录。 3.2 质量管理体系与CMMI的差异性 作为质量管理的标准性文件,CMMI与GJB 9001B是有着明显的差别的。GJB 9001B是一个适用于各类产品的通用型标准,主要是针对制造业制定的,而CMMI是专门针对软件开发设计的,可以帮助软件企业有效地管理软件过程;GJB 9001B强调完整的组织体系,可以用来建立符合ISO9000管理的组织管理,而CMMI本身对管理体系没有明确要求,默认组织体系是有效的、健全的;GJB 9001B评估的目的是要认证组织是否建立了有效的质量管理体系,为此给出比较简明、科学、原则性的要求,评估出结论合格与否,而CMMI则用于评估组织的软件能力的改善,确定采购风险,或找出软件过程的强项和弱项,明确改进途径,为此给出良好软件过程的详细描述和能力提高的简明科学途径。 3.3 基于质量管理体系和CMMI的气象水文软件质量控制模型的建立 GJB 9001B鼓励在建立、实施质量管理体系以及改进其有效性时采用过程方法,通过满足顾客要求,增强顾客满意,而CMMI的本质是通过对软件研制过程中关键过程域的精确定义,来使软件研制从一个不确定的“黑箱”操作过程,变成一个各步骤可视的、可对偏差随时控制的“透明”操作过程。根据质量管理体系和CMMI的相关理念和技术要求设计出适用于气象水文软件的质量控制模型。 质量控制是一个循序渐进的过程,该模型将质量控制归纳成七个阶段:(1)明确准备目标、项目范围和资源需求,依据CMMI的相关标准对软件的现状进行评估,定义相应的目标和指导原则,为下一阶段准备好相应的评估资料;(2)根据客户的要求和技术指标制定软件的开发流程,该阶段表达了组织层上下同心、拟定目标和愿望的状态,这是对将来有一个共同思考的过程;(3)在新的开发流程下引入GJB 9001B质量管理体系的相关要求,对组织当前的状态进行判决,及时向组织传达发现的情况和问题,并根据GJB 9001B的要求,确定需要进一步改进的方向;(4)根据上述要求拟定软件管理流程,确定关键业务主题、各团队的角色和职责、需要进行的活动以及改进进度安排;(5)在此流程的基础上导入成熟的开发和管理理论及方法,并根据客户的要求建立相应的规则、度量方法、模板,作为改进和实施的基础;(6)按层次和相关要求编写各层次文件,根据国军标的要求编写相应的工作文档、风险管理文档以及工作量统计文档;(7)依据软件运行的实际情况改进流程,在这个过程中组织的所有人员确定需要改进的目标,分析现有的工作步骤、客户需求和存在的问题,给出改进方案,验证并更新实施流程,在提高技能、绩效的同时,也提高软件的质量。质量控制是一个总结、再学习和提高的过程,通过不断的改进建立下一轮工作的更高目标,制定组织进一步工作的计划,只有通过这种反复的评估改进才能不断提高软件质量。 4 结束语 在信息化高速发展的今天,要高质量、高效率地开发出复杂的大型软件系统已不再是单个质量控制方法所能完成的任务,只有通过融合多种方法的优点推出一种新的质量控制模型,才能保证气象水文软件产品的质量和可靠性。本模型旨在GJB 9001B的基础上结合CMMI的理念和技术要求,把GJB 9001B作为CMMI的保障,而把CMMI作为GJB 9001B的“使能器”,两者相互促进,全面提升气象水文软件的质量及服务能力,进而提高武器装备软件的质量。 软件质量管理论文:仿真训练软件质量管理中的“三库”建设研究与实践 摘 要 为了加强仿真训练软件开发过程中状态变化的控制,针对仿真训练软件质量管理中存在的问题,在软件开发过程中建立“三库”,并通过“三库”的有效管理实现配置管理的部分功能,达到提高仿真训练软件质量和质量管理水平的目的。 【关键词】仿真训练 软件 质量管理 三库 1 引言 我国信息化建设突飞猛进的发展,给我们的工作和生活带来很多便捷。无论是在学校、军营,还是机关、农村,信息化覆盖率越来越高,让人们真切感受到科技带来的独特魅力,人们可以足不出户就能体验到科技给予我们的全新的感受。科技让我们距离世界很近;科技让我们工作或生活更加轻松;科技让我们颠覆过去的思维及工作、生活方式。 信息化建设如火似荼地发展,同时也催生了仿真训练软件的数量越来越多、规模越来越大、结构越来越复杂,软件质量对仿真训练软件可靠性的制约也日益凸显。为了满足日益提高的仿真训练软件质量要求,确保软件质量和可靠性,做好软件质量管控工作具有十分重要的意义。 作为软件质量管理的核心内容,配置管理是可以控制软件变化的科学管理。软件配置管理的主要内容集中在软件的版本控制、变更控制和过程支持。其中,设立“三库”,即开发库、受控库、产品库,对软件技术状态变更和版本控制的管理更是其最主要、最核心的问题,也是配置管理的重点。在军用仿真训练软件开发过程中,通过对软件“三库”的有效管理来达到控制状态的变化和标识的情况,并严格履行软件产品的出入库规定,从而实现对软件的质量监督。 2 “三库”的含义 “三库”是指软件开发库、软件受控库和软件产品库。“三库”的建立是配置管理当中的一个重点内容,不仅可以对软件开发过程中软件状态的变化进行控制,还可以对软件配置项进行有效的标识,同时又可以避免复杂的配置管理技术给开发成本造成太大的影响。 GJB 5000A《军用软件能力成熟度模型》、GJB 5235《军用软件配置管理》和GJB5716-2006《军用软件开发库、受控库和产品库通用要求》都有对“三库”建设的相关要求,其中,GJB5716-2006中给出“三库”的定义分别是: (1)软件开发库(software development library)是指在软件生存周期中,存放软件配置项的集合。 (2)软件受控库(software controlled library)是指在软件生存周期中,存放已通过测试或评审且作为阶段性产品的软件配置项的集合。 (3)软件产品库(software product library)是指在软件生存周期中,存放已定型(鉴定)且供交付、生产、检验验收的软件配置项的集合。 通俗一点的解释“三库”的含义是: 软件开发库就是在软件生存周期的某一个阶段期间,存放于该阶段软件开发工作有关的计算机可读信息和人工可读信息的库;在软件生存周期的某一个阶段结束时,开发库内的内容经过评审通过后,就可以进入到软件受控库中;在软件生存周期的组装与系统测试阶段结束后,形成的可以直接交付给用户的最终产品或可以在现场安装的软件就存放在产品库中。 3 仿真训练软件质量管理中存在的问题 目前,仿真训练软件的质量管理工作还没有采取有效的管理办法和措施,软件质量还远不能满足软件开发的要求,软件开发成本与进度计划难以准确估计,对软件产品质量的评价还缺乏标准和手段。归纳起来,军用仿真训练软件质量管理中存在的问题具体表现为以下4个方面: 3.1 软件项目质量管理意识不强 现阶段,大部分仿真训练软件开发研制单位质量管理意识不强,在软件开发过程中没有按照质量管理体系要求行之有效的管理和监督。在软件开发过程中,缺少质量保证大纲等质量保证文件和阶段性的评审制度,软件的质量保证工作基本上是由软件开发者自身完成的,而实践已经证明,采用这种方法开发的软件是无法保证软件的质量的。 3.2 缺乏软件技术状态管理和控制 在仿真训练软件开发过程中,软件的技术状态非常多,软件的一条语句或一个函数的修改都可能造成软件部分功能无法正常运行,甚至整个软件瘫痪。所以,一旦软件出现故障,由于没有对软件的技术状态实施管理和控制,很难快速准确的找出故障原因,严重的情况下,还会造成更大的损失,直接影响整个军用仿真训练软件的质量。 3.3 软件测试不够充分 大多数仿真训练软件开发单位没有设立独立的软件测试部门和专门的软件测试人员,而是在软件开发的各个阶段由开发人员采取自己设计、自己编程、自己测试、自己维护的方式来完成的。由于软件开发人员任务重,他们在测试上不可能花费很多时间和精力,所以很容易把软件测试环节变成只是走过场、讲形式,导致测试的作用和可信度大大降低,一些隐含的错误和缺陷被遗留到软件交付之后的运行阶段。 3.4 对软件文档的重视程度不够 软件文档是软件的一个重要组成部分,是保证软件质量的一个重要手段,它关系着整个软件的有效运行和维护。在军用仿真训练软件开发过程中,开发人员没有充分认识到文档在软件开发过程中的作用,所以导致开发人员对文档编制不感兴趣,编制不及时;软件文档内容不完整,与开发过程不一致,格式不规范;文档审核和管理不够严格,未经审批可随意更改文档内容等问题,最后造成软件的透明度低,软件可维护性和可移植性不好,给软件研制和维护带来很多困难和问题。 4 “三库”在仿真训练软件开发过程中的应用 在仿真训练软件的开发过程中,软件的技术状态是在不断变化的,软件在各个阶段的配置项内容是不相同的,软件的版本也是存在更新的情况。因此,对软件技术状态的管理和控制是保证军用仿真训练软件质量管理的关键。“三库”质量管理是软件质量保证的一个非常重要的手段,也是软件产品形成过程技术状态管理的核心任务。 4.1 建立“三库” 按照相应国军标的要求,在仿真训练软件生存周期中,要建立软件“三库”,通过对“三库”的集中管理,实现对软件开发过程中状态变化的控制和对软件配置项的正确有效的标识,以确保仿真训练软件产品的正确性、完整性、可控性、可追溯性。 4.1.1 开发库 从技术状态形成过程、有效控制和管理的角度看,在仿真训练软件完成详细设计阶段工作之后建立软件开发库。此时将未进行测试和评审的软件和软件相关设计文档等软件配置项存放到开发库中进行集中管理,并由软件开发项目组或分系统负责。 4.1.2 受控库 软件受控库反映的是软件研制开发过程的轨迹。在仿真训练软件形成过程初、中期等阶段建立软件受控库,对通过测试和评审,确认正确的软件版本、完整的软件文档材料,以及其它相关软件配置项,采用软件受控库管理,由系统总体负责管理。 4.1.3 产品库 在仿真训练软件研制开发的末期建立软件产品库,对通过综合测试(验收)的软件、完整的软件文档材料、软件生命周期更改的版本,以及开发研制该软件产品的相关的成套软件(包括开发环境和开发工具)集中控制管理,由研制单位质量管理部门负责。 4.2 软件开发库的管理 软件开发库建立在承担仿真训练软件开发任务的项目组,由项目组质量管理人员或分系统负责人(无分系统的由项目负责人)负责日常管理和维护。软件开发库中管理的内容包括软件开发、测试阶段对应的文档和“初始阶段”的软件。 4.2.1软件开发库入库的内容 (1)按照对应国军标要求,软件在开发过程中规定的所有系统的和阶段设计文档,包括:软件开发计划、软件技术规格书、软件需求规格说明书、接口需求规格说明书、概要设计说明、详细设计说明、接口设计文档、软件测试计划、软件测试说明、软件测试报告、软件配置管理计划等。 (2)软件开发过程中各阶段所产生的计算机软件部件、计算机软件单元及其源程序代码、目标代码和数据定义文档,软件开发过程中各阶段进行软件测试的测试用例和测试结果等。 4.2.2 软件开发库的控制要求 项目组首先根据开发软件的规模,将符合项目标识、版本等软件配置要求的软件配置项入库控制,在此基础上对开发库的每一项内容(配置项)进行标识,由专人负责记录开发库中每一个配置项的位置、标识和入库时间。如果有某个配置项需要进行修改,则需要按权限实施更改,并必须通过项目负责人的审批。在进行更改操作的同时还下需要填写《软件开发库更改记录表》以记录开发库中的有关更改信息,并保存更改前的软件或文档的标识和版本。出库控制应按规定的权限出库,记录有关出库的出库项、软件提取人和出库时间等信息。 4.3 软件受控库的管理 在仿真训练软件测试工作开始之前需要对开发库中的软件配置项进行确认工作,然后从中提取被测软件和相应文档进行测试。通过认可的测试或评审的软件配置项就可以转库到软件受控库。 4.3.1 软件受控库入库的内容 软件受控库入库的内容必须是通过测评或评审的软件配置项,以及是仿真训练软件开发单位或用户认可的内容。具体内容包括:可行性研究报告、项目开发计划、软件需求说明、概要设计说明、详细设计说明数据库设计说明、软件测试计划、软件测试分析报告、用户手册、操作手册、软件维护手册、项目总结报告、项目验收报告、质量要求文档(质量保证大纲、标准化大纲、可靠性和维修性保证大纲等)、软件(源程序、目标代码、编译成目标代码的详细步骤、可执行程序和写入可编程器件的程序等)、软件设计更改报告及审核文档,以及所有文档的电子版本。 4.3.2 受控库的控制要求 仿真训练软件的受控库控制要求要比开发库更为严格,受控库的管理控制由承研单位的质量管理部门负责,软件开发人员受控使用。 软件开发库中通过测评和审核的软件配置项必须转入到受控库进行管理,每次访问需按权限,并要通过项目负责人和质量管理部门负责人联合审批才可获得批准,同时还要记录访问人 、访问时间、访问项、访问批准人等信息。出库控制时,软件提取人的申请,项目负责人和质量管理部门负责人审批,并进行出库信息登记。更改控制时,软件开发人员先提出更改申请,质量管理部门向有关人员更改信息,并且组织评审,待更改内容通过评审后方可按要求办理出库,转入到开发库中进行更改;完成更改后按相关要求重新入库,并及时向有关人员更改信息。 4.4 产品库的管理 软件在通过综合测试或验收之后,其配置项应转入软件产品库进行管理。而其它项应纳入承研单位的档案管理。 4.4.1 产品库的内容 软件产品库入库内容应是已经完成了综合测试等待交付给用户运行或者是现场安装的最终的软件产品,具体包括可执行程序、系统配置文件、数据文件、安装文件以及电子文档和书面文档。 4.4.2 产品库的控制要求 产品库的管理控制直接由军用仿真训练软件承研单位的科研部负责。对软件产品库须按相关要求进行入库、访问、出库、更改、配置状态报告、配置审核等的控制。 产品软件版本必须与设计文件及其电子版同步归档,软件档案必须与其纸质软件文档相符。产品软件归档媒体一式两套,一套为基准盘封存保管,一套为工作盘提供利用。 5 “三库”应用的效果分析 在仿真训练软件的开发过程中应用“三库”,对软件的变化状态和有效的标识实施管理,使得软件的开发过程变得可控,杜绝了软件开发和使用的随意性,软件质量得到了保证。“三库”应用的效果具体表现为以下几个方面: (1)在仿真训练软件开发过程中应用“三库”进行有效的标识,减少了项目开发因为版本错乱、标识不清等低级错误,导致整个软件产品质量下降,保证了软件的开发周期及阶段性取得的成果。 (2)在仿真训练软件的开发各个阶段中,软件和其它软件配置项不可避免会发生更改,通过“三库”的应用,强化对开发库、受控库和产品库更改的审批控制,使软件的所有的技术状态都处于可控的范围内。 (3)在仿真训练软件的开发中应用软件“三库”实施管理,不仅可以帮助项目管理人员和软件开发人员清晰、准确的把握软件开发的每一个阶段和流程,而且通过软件“三库”的管理还可以让软件开发人员发现并避免一些重复性、阶段性的错误,使软件开发人员能够开发出高质量的软件产品。 6 结束语 随着仿真训练软件的发展,软件的质量要求也随之提高,软件的质量管理工作就成为越来越重要的问题。本文研究了仿真训练软件质量管理中的“三库”概念和建设方法,并在软件开发过程引用“三库”实施管理类,从软件开发阶段开始提高软件质量,建立和维护军用仿真训练软件在软件生存周期中各个阶段产品(包括各个文档、程序及其数据等)的完整性,确保对仿真训练软件形成过程的质量实现可追溯性,使软件开发、技术状态管理和维护过程处于受控状态,最终提高仿真训练软件质量。 作者单位 海军潜艇学院 山东省青岛市 266042 软件质量管理论文:加强我国军用软件质量管理的若干思考 [摘 要] 随着军队信息化的高速发展和广泛应用,军用软件在武器装备系统中的重要性日益突出,其质量已成为影响武器装备作战性能的关键因素。分析了我国军用软件质量管理的发展和现状,并从突出地位作用、加强理论研究、加快系统建设、提高建设水平四个方面对如何加强我国军用软件质量管理提出了思考与建议。 [关键词] 军用软件;质量管理 随着高新技术的发展和装备信息化程度的提高,软件在现代武器装备中所占的比重不断增加,在武器装备系统中的地位逐渐由硬件的配套产品上升为独立的产品,成为武器装备系统和自动化指挥系统的重要组成部分,武器系统功能的生成和发挥对软件的依赖性越来越强。军用软件的质量关系着装备系统功能的强弱和成败,直接影响甚至决定着武器装备的质量。 一、军用软件 军用软件(Military Software)是指用于保障军事装备及其配套系统正常工作,经正式立项研制并交付军方使用的特殊的专用软件产品。与常用软件相比,它实时性、时序性、精度性、安全可靠性要求更高,并具有嵌入式软件多、能适应各种恶劣军事应用环境的特点。 军用软件一般分为两类。一类是武器系统软件,包括为武器系统专门设计或专用的嵌入式软件,指挥、控制和通信软件;对武器系统及其完成军事任务进行保障的其他软件。另一类是自动化信息系统软件,主要是指执行与武器系统无关的系统使用和保障功能的软件。 二、我国军用软件质量管理的发展 同国外相比,我国军用软件质量管理起步较晚。1996年,原航天工业总公司颁发了《中国航天工业总公司软件质量管理规定》,明确规定了软件也是产品,必须和硬件一样纳入型号配套管理,列入产品配套表和技术配套表,实施产品管理。2000年3月,国防科工委颁布了《国防科工委关于加强国防科技工业质量工作问题的若干决定》,并于2001年9月颁布了《军工产品软件质量管理规定》。2002年,国防科工委专门组织软件调研组,对重点型号的软件承制单位进行了调研,并对加强软件质量与可靠性工作进行了现场指导。在2002年9月召开的国防科技工业质量工作会上指出,软件质量是当前比较薄弱的环节,应充分重视软件质量问题,积极借鉴国外软件质量管理方面的经验,加强国防科技工业内部各单位的交流,促进软件质量控制和可靠性工作。 我国军用软件质量管理基本上是以软件开发项目为中心,以软件工程化带动和推进软件质量管理,其具体方法如下: 1.依据软件工程原理,按照一定的软件开发方法学,确定适当的软件生存周期模型,分阶段实施了软件质量管理和控制。 2.型号软件纳入了产品配套表,对软件产品的研制进行了严格的质量管理。 3.根据软件的规模和安全关键性等级,对软件进行了分级分类管理。 4.落实型号研制人员的岗位职责,软件研制人员经培训合格后持证上岗。 5.制定并实施了大型项目的软件规范。 6.建立并完善了软件独立测试机构,提出并实施了软件仿真测试,加强了软件开发项目组内的软件测试力量,对A、B级软件开展了独立的确认测试。 7.为总结型号软件开发方面的教训,编写了型号软件故障启示录;为总结型号软件测试经验,编写了软件评测文集与案例,建立了测试实例库。 三、我国军用软件质量管理现状 随着军事装备体系化、复杂化、高技术化趋势逐渐显著,各类军用软件的使用日趋广泛,结构日益复杂,军用软件已不再是硬件的附属物,已经成为与硬件并列的、独立的技术状态管理项目。军用软件要求具有很高的可靠性、可维护性和安全性,以保证最大限度地发挥系统的整体作战效能。因此,军用软件开发中必须采用有效的手段和工具进行软件的质量保证活动,以支持开发人员在最短的时间内,用最小的费用开发高质量的软件,满足应用需求,同时减少维护费用。 但是,由于受多种因素的影响和制约,军用软件的质量和可靠性问题一直没有引起人们足够的重视。软件在开发、设计阶段缺乏严格的需求分析和评审;在调试、验收阶段,由于缺乏科学的测试手段也无法对软件进行必要的测试;在使用、维护阶段,不能严格按照软件配置进行管理,造成软件在生存周期中,存在着更改随意性大、质量难控制的问题。这些都不可避免地造成了软件的技术状态混乱,给用户的使用和维护工作带来了困难,影响了战斗力的提高。军用软件质量管理存在的一些不足如下: (一)承制方尚未建立完善的软件质量保证体系 目前,虽然已经建立基本的军用软件质量体系标准,如GJB9001B-2009等,但是实施程度较差。在现阶段,军事科研软件的开发大多集中于军队直属单位中,大多是院校、科研所及相关部门。参与软件开发单位一般较多,但单位内部没有建立较为完善的软件质量保证体系。由于质量体系的不完善导致了软件开发过程缺乏行之有效的管理和监督,软件的质量保证工作基本上是由软件开发者自身完成的。 (二)军方尚未有效参与软件需求定义 软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。但当前的型号研制中,军用软件需求定义阶段缺少军方的有效参与,设计人员无法全面、准确地理解和定义装备的作战使用需求,同时对军用软件隐含的需求(如软件的可维护性)重视不够,导致在后续工作中软件修改、返工频繁,不但影响了软件研制进度,而且一些质量问题和缺陷也带进了后面阶段的工作中,软件质量难以保证。 (三)软件测试不够充分 目前,军用软件承制方多数没有建立专门的软件测试组,而是在软件开发的各阶段主要由开发人员采取自测和互测相结合的方式。由于软件开发人员任务重,他们在测试上不可能花费很多时间,容易走过场,致使测试的作用和可信度大大降低,一些隐含的错误和缺陷被遗留到软件产品交付投入运行阶段。 (四)文档在软件质量保证中的作用尚未引起足够的重视 软件文档是计算机软件产品不可缺少的一部分,它关系到系统能否有效运行、开发和维护,是保证软件质量的一个重要手段,它主要体现在文档本身的可追溯性和可改进性。但是,在实际工作中,文档的形成过程是一项艰苦、枯燥的劳动,人们常常忽视它,致使文档的编制和管理存在着许多亟待解决的问题。一是软件开发人员对文档编制不感兴趣,编制不及时;二是软件文档格式不规范,内容不完整,可读性差;三是文档审核、管理把关不严,未经许可随意更改的现象比较普遍。这些问题导致了软件透明度低、可维护性差。 四、加强我国军用软件质量管理的措施 (一)要突出军用软件质量管理地位作用 随着军用软件在作战、训练、战备、管理等军事领域的广泛应用,其地位和作用更加突出,必须充分认识到软件质量问题的严重性和紧迫性,努力提高军用软件的质量和管理水平。必须针对军用软件研制及使用保障过程中存在的种种不足,强化质量意识,加强质量管理制度建设,建立健全软件质量管理体系,不断提升质量管理能力。 (二)要加强军用软件质量管理的理论研究 军用软件在研制开发过程中,对质量管理理论具有明显的依赖性。针对目前对军用软件质量管理理论研究较少的现状,迫切需要加强相关领域的研究。 1.加强军用软件质量管理基础理论研究。军用软件质量管理基础理论主要包括基本概念和基本原理,军用软件质量管理的特点、要求和原则,以及面对当前软件开发和使用保障过程中遇到的新问题,提出解决的对策、措施和研究重点,以便系统地研究和解决。 2.加强军用软件质量管理基本规律研究。军用软件质量管理基本规律是进行质量管理活动的基本遵循和依据。应根据军用软件自身的特点和要求,借鉴质量管理活动的基本规律,从军用软件的需求分析、设计、开发、测试、定型与鉴定、质量监督、项目管理、验收、配置以及维护等不同活动的特点出发,来研究军用软件质量管理的基本规律。 3.加强军用软件质量管理方法手段研究。要紧贴军用软件质量管理的实际,区分不同活动的特殊要求,围绕军用软件质量形成的全过程,深入开展质量管理方法手段的研究。 (三)要加快军用软件质量管理体系建设 现代高技术武器大量采用计算机系统,军用软件为完成智能化的任务,也越来越复杂,外军已经把军用软件作为装备纳入了管理体系。我军新一代武器陆续装备,指挥自动化系统也初具规模,软件的成分大大增加。但军用软件在设计、开发、测试、维护、使用管理上还很薄弱。因此,针对军用软件的特殊性,建立系统化、正规化的质量管理体系十分重要。 1.建立军用软件质量管理部门。有必要在总部一级建立一个集中统一的软件管理部门,负责制定用以规范和指导军用软件发展的法规、制度和技术标准,在总体上规范和指导各军兵种的软件开发与采办;在各军兵种成立相应的部门,负责指导、规范本军兵种的软件开发与采办工作。 2.健全军用软件质量管理体系。在准确把握军用软件质量需求的基础上,研究如何加强组织体系建设,形成科学合理的质量管理体系,明确各层次、各部门的质量管理职责,提高质量管理的保障能力和水平。 3.健全军用软件质量管理的相关法规和技术标准。健全完善的法规和技术标准是军用软件质量管理的前提。为保证军用软件质量管理的顺利实施,必须加强顶层设计和体系结构的总体规划,建立满足军事需求的、统一的软件体系,结构和标准规范,解决好软件的发展同步、功能配套、兼容匹配。 (四)要提高军用软件质量管理建设水平 1.运用全寿命管理的思想提高质量。对军用软件从需求分析到新系统替代的整个生存周期过程中各阶段及各环节的活动,实施前后衔接、持续不断、首尾响应、协调统一的管理,明确每一个阶段、每一个部门的管理任务和目标。 2.用软件工程的原则与方法研制、开发、维护军用软件。军用软件系统复杂,软件度量、工作量估计、需求变化和风险管理难度大,开发进度和质量难以保证。运用软件工程的思想加强软件开发,有助于提高软件产品的质量和开发效率,减少维护的困难。 3.建立相应的规章制度,明确职责与职权,使软件质量管理工作规范化、标准化。软件开发时间周期长,参与人员、部门多,在整个生存周期内,软件的开发环境、运行环境都会发生变化。通过建立一套评估、控制和实施软件质量管理的机制,有利于实现软件质量管理的科学化、制度化和经常化。 软件质量管理论文:基于过程的软件质量管理在信息化中的应用 【摘 要】随着现代信息技术的发展以及计算机软件开发应用的不断进步,在积极性软件质量管理中,基于过程方法的软件开发与生产质量管理等,已经逐渐成为现代信息化发展中,软件质量管理应用的标志性管理技术方法。基于过程的软件质量管理,对于软件的开发利用来讲具有高质量保证与高可信度的优势。本文主要通过对于基于过程的软件质量管理原理的分析论述,并结合信息化发展过程中软件质量管理的问题,对于基于过程的软件质量管理在信息化中的应用进行分析论述。以提高过程方法在软件开发设计与管理中的应用,推进现代信息化的发展。 【关键词】过程方法;软件质量管理;信息化;管理平台;设计;分析 在软件技术开发与软件设计应用中,最为关键并且重要的问题之一就是对于开发设计软件以及软件技术质量的保障与成本控制实现。近年来,随着软件技术与软件开发设计应用的不断发展进步,对于软件工程的研究发展也有了很大的进步,但是在软件技术质量保证与成本控制方面的问题一直没有很好的得到解决。基于过程的软件质量管理方法技术,就是在这样的发展背景与需求下,逐渐在信息化发展实际中进行应用实现的。基于过程的软件质量管理最早是由美国软件行业在上世纪80年代初期进行提出并应用的,它实际上就是将软件技术的改进发展与软件开发设计过程的改进之间同步进行与实现,通过对于软件技术开发与设计过程的控制,实现对于软件技术质量的管理控制,这样一来不仅对于软件技术和软件应用发展有着积极的作用,而且在一定程度上也推动了社会信息化的发展进步。 1.基于过程的软件质量管理与技术概述 1.1基于过程的软件质量管理含义分析 基于过程的软件质量管理通常也被称为是过程管理方法,对于软件质量的过程管理提出与实现,最早是由美国软件行业在上世纪80年代,以进入以过程为中心的软件技术以及软件产品的开发利用时代为标志。随着美国软件行业中以过程为中心的软件产品、技术的开发利用发展,基于过程的软件质量管理方法以及管理平台在实际开发应用中越来受到欢迎,并且基于过程的软件质量管理平台开发设计的相关要求准则等,也随之出现并发展起来。在对于基于过程的软件管理平台设计建立要求准则中,以美国CMM以及PSP、TSP管理平台的设计应用实现最具有代表性和意义。 通常情况下,对于基于过程的软件质量管理平台与方法中,过程一词多被解释为将输入方式转化为输出方式的一组相互关联或者是相互作用的活动。对于软件产品以及技术的设计实现以及管理过程,又被按照一定的规律关联分解为软件工程过程以及软件管理过程、软件支持过程等三大过程类型。其中,软件工程过程主要是指软件产品以及技术的开发、生产、设计实现过程,包含对于软件技术与产品的需求分析以及编码设计、系统测试等过程步骤;而软件管理过程主要是指对于软件工程的管理维护过程,包含对于软件产品、技术的开发、生产、设计应用等的管理以及维护实施等,比如对于软件开发项目的策划、跟踪监控以及质量保证管理过程等;最后,软件过程中的支持过程主要是指对于软件技术以及产品的开发、设计、生产利用进行支持的过程行为,包括对于软件产品与技术的评审以及培训、度量等过程。在软件工程开发设计以及应用管理过程中,建立相关系统平台,实现对于软件工程系统化与自动化管理控制实现,是在现代信息化发展情况下,进行软件质量管理的有效方法与途径措施。 1.2基于过程的软件质量管理技术概述 在应用过程管理方法,对于软件质量进行管理实现的实际应用过程中,主要的软件过程质量管理技术有CMM软件过程质量管理技术以及PSP、TSP软件过程质量管理技术等,此外,还包含ISO9000系列的软件过程质量管理应用技术,以及IEC15504要求标准下的软件过程质量管理技术。 其中,CMM、PSP以及TSP软件过程质量管理应用技术,是由一家软件工程研究机构研究提出的基于过程的软件质量管理系统模型平台。CMM软件过程质量管理系统模型平台主要是在对于CMMI系统模型结构与人力资源管理思想理念、以及软件开发生产技术、产品相互融合的情况下,最终形成一个完整的CMM管理系统与体系,实现对于软件质量管理过程中的人与技术、管理过程三个方面的管理控制实现。而ISO9000标准系列的软件过程质量管理技术一种由国际标准化研究组织研究提出的通过过程方法实现对于软件工程质量管理的技术方法,它在许多国家和地区的信息化发展中有广泛以及普遍的应用实现,尤其是在政府以及工业发展、信息技术研究领域的应用实现更为突出。 2.基于过程的软件质量管理在信息化中的应用分析 2.1信息化过程中的软件质量管理问题 随着社会信息化的不断发展,信息化发展过程中出现的矛盾问题也越来越多,比如信息化的建设发展各自为政、信息化重复建设和信息化建设成果垄断等问题,在信息化发展的过程中越来越突出。作为社会信息化建设与发展的重要基础和核心部分,软件的开发利用以及发展不仅对于社会信息化的建设发展有着重要的影响作用,更是对于国家生产力水平以及综合实力情况也有着很大的影响。 根据社会信息化发展与软件质量管理的情况来看,目前,在信息化发展过程中,软件质量的管理也存在着一定的问题,首先表现在对于软件质量管理的意识比较缺乏,软件质量管理的重视程度不够。其次,在社会信息化发展过程中,对于计算机软件产品的开发设计与利用过程中,过分重视对于软件技术产品以及项目的开发设计进度、数量等问题,而忽视对于软件产品质量以及软件开发设计过程的控制管理。再次,在进行软件技术以及产品的开发设计过程中,所运用的软件产品与技术的开发设计质量管理体系相对比较落后,并且对于同一个软件产品与技术的开发设计转包现象比较严重,通常存在有多个软件开发方,这对于软件质量的管理以及软件开发的发展进步都十分不利。最后,在进行软件质量管理过程中,缺乏有效的软件质量控制管理体系,也是信息化发展中软件开发设计与管理中的重要问题,如下图1所示。 2.2基于过程的软件质量管理在信息化中的应用 在社会信息化发展中,基于过程的软件质量管理方法,就是通过对于软件需求过程以及软件设计过程等的质量控制与管理实现,同时对于软件的编码以及测试、维护等,基于过程质量控制管理的方式,实现对于软件质量的控制管理实现。具体质量控制管理方式如上图2所示。 首先,在基于软件质量控制管理的软件需求过程的质量管理中,应注意从对于客户管理以及目标控制、需求范围的控制、需求筛选等方面,进行软件需求过程的质量控制与管理实现,保证软件技术与产品的质量。其次,对于软件设计过程的质量管理控制,主要就是根据软件需求分析情况,对于软件总体结构的设计过程与质量进行控制管理,以实现软件过程设计的目标。再次,对于软件编码过程中质量控制管理,主要是通过对于软件编码的过程进行规范,以及做好相应的软件编码代码审查、单元测试的控制与管理;在软件测试过程中,做好软件的单元测试以及集成测试、系统测试三个部分的测试,并对于测试过程进行控制管理,保证软件测试过程质量符合要求。最后,在进行软件产品以及技术的维护过程中,应注意针对不同的软件维护类别,对于软件技术与产品进行改进,以满足客户对于软件产品的需求。总之,基于过程的软件质量管理,就是要结合软件技术以及产品开发设计实现的过程,对于过程方法进行控制管理实施,从而实现对于软件产品的质量管理。 3.结束语 总之,质量管理是企业管理工作中的关键与重要内容部分。而基于过程的软件质量管理更是现代软件质量管理的重要趋势方向,进行方面的应用分析,具有很大的必要性与重要性意义。