时间:2023-03-02 15:00:17
绪论:在寻找写作灵感吗?爱发表网为您精选了8篇软件实施工程师工作,愿这些内容能够启迪您的思维,激发您的创作热情,欢迎您的阅读与分享!
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2016)24-0140-02
Abstract: In order to train graduates to meet the needs of the software industry, it is imperative to enhance the all-round ability of students in software engineering. In recent years, our school has adopted the practice teaching mode based on the studio in the software engineering major, and has achieved good teaching effect. The employment of graduates has been greatly improved. This paper makes a detailed description of the location of the studio, the choice of the training program and the operation of the studio. A useful attempt had made for the practical teaching method based on the teacher studio.
Key words: studio; practice teaching; software engineering; project driven
软件工程专业是一个实践性很强的专业,实践教学在整个教学过程中具有突出地位,各高校对该专业的实践教学都十分重视。然而多方面的信息显示,当前实践教学的效果不甚理想,软件工程专业毕业生的实践动手能力普遍较弱,通常需要较长的时间才能融入企业的研发工作,导致软件企业人才难觅,而毕业生又难以顺利就业。实践教学效果不理想的主要原因体现在以下几个方面:①教学内容相对简单,以课程知识点的验证为主,与软件企业的需求存在较大差距;②教学内容较为松散,各学期间的教学内容没有良好衔接,各任课教师的教学内容相对孤立,不能围绕某方面的软件研发能力持续深入地训练;③教学环境与企业实际环境存在较大差距,教学中的训练任务通常是面向单个学生设置的,难以培养学生的沟通能力及团队协作能力。
针对上述问题,有必要对软件工程专业的实践教学进行相应的改革与创新。通过实践教学有效地培养学生的项目实践及团队协作等方面的能力,使本专业毕业生具有良好的工程实践能力,并能快速融入软件企业的研发工作。本文将阐述依托工作室开展实践教学的过程。
1 工作室概要
工作室教学模式起源于德国包豪斯设计学院,最初是设计教育领域的一种教学模式,后来延伸到许多学科的实践教学当中,并取得了良好的效果。工作室是为了共同目标、理想或愿望等建立的由若干成员构成的协作集体。工作室的规模通常不太大,成员之间的地位相对平等,每个成员都承担相应的工作任务,并共同讨论决定工作室的事务。从工作室的属性来看,依托工作室的实践教学有利于培养学生独立思考、实践动手及团队协作等能力。
我校软件工程专业的工作室不仅具备普通工作室的基本属性,还依据高校及软件工程专业的特点进行了一些调整与创新。首先每个工作室都有明确的研发方向和培养目标,比如:JSP软件研发方向、软件研发方向、嵌入式软件研发方向等。其次每个研发方向的工作室通常又分为初级、中级与高级等三个层级的研发小组,研发小组分级设置是为了契合工作室成员来自不同年级以及水平存在差异等情况,分级能让学生的能力与小组实训任务相匹配。另外每个研发小组推选一名学生担任组长,组长通常采用轮流制,每个研发方向的工作室由1-2名专业实践能力强的教师负责。从多年的实践教学中发现,良好的工作室组织架构是工作室有序运作的重要前提。
2 工作室学员的招募及组织
通常工作室的容量是有限的,所以只能以招募的方式定期定量吸收新学员进入工作室。通常是每个学期招募一次新学员,招募的对象以软件学院低年级的学生为主。工作室建立之初由教师挑选新学员,后期则由工作室的高级学员们来挑选新学员,教师只起监督作用。这样做的目的是为了培养学生对于新学员素质的把握能力,这对于其走向工作岗位组建研发团队是有帮助的。我们规定选择新学员的高级学员将自动成为被选择的新学员的“导师”,导师要定向承担其所选择的新学员的技术指导工作,因此每位学员在选择新学员的时候都十分认真,与此同时工作室中学生之间 “传、帮、带”的共同进步机制也就自然建立起来。通常每个研发方向的工作室每次招募20人左右的新学员,进入工作室后新学员还将进一步分配到具体的研发小组当中,一般每个研发小组6人左右。新学员大都进入新组建的初级研发小组之中,水平较高的个别学员则加入到与其能力相称的更高级别的研发小组中。在项目实训过程中同一个级别的研发小组间可以横向地比拼与促进,同时高层级的研发小组又能纵向指导相应的低层级的研发小组。从目前的实际情况来看,上述学员的招募与组织模式十分有利于学员们的共同成长,并在教学过程中收到了良好的效果。
3 工作室实训项目的设置
实训项目是学生实践学习的主要对象,是学生能力成长的重要载体。因此 工作室的指导教师应该认真研究并完成实训项目的精心设计。首先实训项目应该分级,因为工作室中的成员由不同年级的学生构成,专业水平通常有差异,因此有必要依据学生的能力水平来设置实训项目。通常工作室的成员分为初级、中级与高级等三个层级的研发小组,所以实训项目也应该相应地分为初级、中级及高级等难度的项目库。实训中应该让项目与学生的能力相匹配,经过多年的实践教学发现,如果不加区分地让所有学生都做类似的项目,则基础薄弱的学生很难参与到超出其能力范围的项目研发中,这样不仅不能通过实训过程提升其能力,相反还会影响这部分学生对专业学习的自信心。
实践教学不仅要关注项目难度与学生能力的匹配,而且要注意从初级到高级项目的关联性与难度递进的把握,项目的设置必须符合学生的能力培养目标及实践教学规律。前期的实训项目是后期实训的基础,后期的实训项目是前期项目的进一步发展,以此类推,经过长期的、指向一致的若干阶段项目实践训练,学生的实践动手能力将普遍得到较大幅度的提升。比如,要培养学生的JSP程序开发能力,工作室可以考虑选择比较有代表性的进销存信息管理软件为项目背景,对于初级学员可以考虑用C语言开发一个模拟的进销存信息管理软件,该过程不仅要让学生学会C语言的编程技术,还要让学生掌握基本的进销存业务流程;对于中级水平的学生可以让其利用JAVA等语言结合SQL数据库开发在功能上有所提升的进销存管理软件;对于高级水平的学生则可以让其利用JSP结合ORACLE开发功能相对完善、基本满足现实需求的进销存管理软件。我们发现在学生对典型的项目有了开发经验之后,他们的能力及自信将得到很大的提升,进而可以较容易地引导学生开发其他领域的实训项目。
4 工作室实践教学的实施
工作室实践教学主要依托软件项目开展,学生的能力成长也是在完成一个个项目的过程中逐步实现的,因此我们对于每个项目的完成都有较为规范的执行路线与流程。通常我们将项目的实施过程分为项目执行计划的制订、项目的实施以及项目的评价等几个方面。
优秀的项目执行计划是保证项目科学高效完成的重要前提,通常包含需求分析、模块分解以及任务分工等几个方面。每个研发小组都要在项目的实施前提交一份操作性较强的项目执行计划书。在项目执行计划书的形成过程中应该充分发挥每个小组成员的作用,计划书必须是经过大家集体讨论并完善后的成果,项目计划书的最后定稿由该小组的项目负责人来完成。研发小组采用按项目轮流选择负责人的制度,这样就能让每个小组成员的组织协调能力都得到锻炼。为了避免初级项目研发小组的执行计划书出现方向性的错误,项目计划书最后都要交由更高一级的项目研发小组成员或教师进行审定。
项目的实施过程就是依据项目计划书将项目需求变成具体软件的过程,每个小组成员都有自己要独立承担的程序开发任务。在项目的实施过程中学生将遇到不少技术上的问题,此时就可以利用前期有利的学员组织架构来解决。首先每个研发小组要定期相互交流讨论,讨论内容包括每个小组成员及时告知自己的研发进度、讨论各成员在项目实施过程中遇到的问题及解决方法;对于小组内部无法解决的问题,则可以纵向寻求各自的“学生导师”和相应的高级别的研发小组或教师的帮助。总体而言该过程应充分锻炼学生分析思考并解决问题的能力以及沟通协作能力。教师主要从事过程监控及少量的技术指导工作。项目实践过程的主要环节如下图所示。
5 工作室实训教学的评价
在各小组完成实训任务之后,将对各小组及个人进行综合评价,该过程由进行相同研发任务的若干小组的所有成员、评委(通常由若干个更高级别的研发小组成员担任)及教师共同完成。评价过程不仅是一个成绩量化的过程,同时也是学员能力进一步提升的重要过程,因为在评价过程中学员将能学到别的团队及个人的优点并能发现自己团队及个人的不足。通过评价,每个学生的每一次实训成绩都将量化为一个分数,学员的期末成绩是每一次成绩的总和,总成绩是学员晋级或者淘汰的主要依据。合理的评价指标是对学员进行科学评价的重要依据,也是督促学生在后继的实训中认真工作的标尺,因此我们在制定评价指标中会综合考虑各种因素。每个研发小组的每一次实训评价分为团队评价和个人评价两部分,团队评价成绩主要由软件的质量、完成的时间及团队工作状态等构成,而个人评价成绩则由其团队分数、个人任务的完成质量以及被其指导的低层级的学员的成绩(初级学员没有这一项)等构成。
评价过程中首先由组长对本组软件研发的情况进行概述,然后由各成员小组对自己的任务完成情况进行限时阐述,最后由评委们依据各项指标打出团队及个人分数。因为评价过程是学员学结以及成绩量化的重要过程,所以该过程得到了我们的足够重视。实践证明上述评价过程在我们的实践教学中收到了良好的效果。
6 结束语
工作室作为实践教学的一个平台,为学生的实践动手能力、分析思辨能力、专业创新能力及团队协作等能力的培养起到了积极作用。本文以我校软件工程专业的教师工作室的实例为背景,从工作室的人才培养定位、项目的选择及工作室的运作等方面进行了全面的阐述。实践证明,经过工作室培养的学生的实践动手能力得到了明显提升,就业率与就业质量明显提高,目前许多工作室的学员已经成为了软件企业的骨干。当然依托工作室的实践教学作为一种相对新颖的实践教学方式,还有许多问题值得我们持续研究与探索。
参考文献:
[1] 蒋新革, 牛东育. 教师工作室教学模式及管理体制创新的探索[J]. 教育与职业, 2014(9): 43-44.
[2] 聂方彦, 屠添翼. 工作室制下的计算机专业学生实践能力培养探索[J]. 大众科技, 2013(7): 149-150.
[3] 郑剑. “工作室制”计算机软件人才培养模式研究与实践[J]. 教育教学论坛, 2012(10B):173-175.
我实习的单位是学院,这是一所由市教委、(集团)公司与德国基金会合作的一所探索、实践德国“双元制”职业教育模式的全日制中等专业学校。我在学校里主要是负责校园内网的管理,其涉及到校园网网站的正常登陆和访问,校园内各系部主机是否正常互联,有无被病毒感染、传播。使得校园网内的计算机能够正常运行,做好校园网的管理和维护工作。
从学生到实习工程师,短短几个月的工作过程使我受益匪浅。不仅是在专业知识方面,最主要是在为人处事方面。社会在加速度地发生变化,对人才的要求也越来越高,要用发展的眼光看问题,得不断提高思想认识,完善自己。作为一名it从业者,所受的社会压力将比其他行业更加沉重,要学会创新求变,以适应社会的需要。在单位里,小到计算机的组装维修,大到服务器的维护与测试,都需要一个人独立完成。可以说,近3个月的工作使我成长了不少,从中有不少感悟,下面就是我的一点心得:
第一是要真诚:你可以伪装你的面孔你的心,但绝不可以忽略真诚的力量。第一天去网络中心实习,心里不可避免的有些疑惑:不知道老师怎么样,应该去怎么做啊,要去干些什么呢等等吧!踏进办公室,只见几个陌生的脸孔。我微笑着和他们打招呼。从那天起,我养成了一个习惯,每天早上见到他们都要微笑的说声:“老师早”,那是我心底真诚的问候。我总觉得,经常有一些细微的东西容易被我们忽略,比如轻轻的一声问候,但它却表达了对老师同事对朋友的尊重关心,也让他人感觉到被重视与被关心。仅仅几天的时间,我就和老师们打成一片,很好的跟他们交流沟通学习,我想,应该是我的真诚,换得了老师的信任。他们把我当朋友也愿意指导我,愿意分配给我任务。
第二是沟通:要想在短暂的实习时间内,尽可能多的学一些东西,这就需要跟老师有很好的沟通,加深彼此的了解,刚到网络中心,老师并不了解你的工作学习能力,不清楚你会做那些工作,不清楚你想了解的知识,所以跟老师很好的沟通是很必要的。同时我觉得这也是我们将来走上社会的一把不可缺少的钥匙。通过沟通了解,老师我我有了大体了解,边有针对性的教我一些知识,我对网络部线,电脑硬件安装,网络故障排除,工作原理应用比叫感兴趣,所以老师就让我独立的完成校内大小部门的网络检修与电脑故障排除工作。如秘书处的办公室内局域网的组件,中心服务机房的服务器监测等,直接或间接保证了校园网的正常运行和使用,在这方面的工作中,真正学到了计算机教科书上所没有或者真正用到了课本上的知识,巩固了旧知识,掌握了新知识,甚至在实践中****了书本上旧有的不合实际的知识,这才真正体现了知识的真正价值,学以致用。
第一招 学会利用网络
刚参加工作面对浩瀚的网络世界,当时如刘姥姥进大观园,什么都新奇,什么都想要,从网上下载很多源程序的代码,软件技术文档之类,恨不得把所有的好东西收集到手中,其实有些在他人看起来就是垃圾一堆。当时觉得有了这些 “ 武林秘籍 ” ,成为高手指日可待。最初参加工作由于自己工作努力有幸转为开发,加入项目组后我的习惯还是没有改,反而变本加厉,手中的资源更加多,上网的时间更加频繁。
一次项目经理分配任务,觉得依靠手中的秘籍加上自己的 “ 聪明才智 ” 很快会完成,不料短短的时间,所有的一切变成了马奇诺防线。解决问题很慢,思路不清晰,项目经理在对我施压的过程中教会了我终身难忘的一招,学会利用网络寻找要解决问题的答案,从此 Google 成了我的最爱,关键字成了我变化的招数。在软件测试工作中,他帮我解决了很多疑难问题,解答了很多令我迷惑的地方。也是我帮助测试同行解决问题手段之一,很多软件测试新手,甚至老手都没有意识到自己手上就握有 “ 无敌秘籍 ” ,所以只要你耐心找,答案就在身边。
这里总结一下利用网络搜索引擎的技巧:
组合搜索
每次搜索某个文件,如果只给出一个单词进行搜索,经常会出现成千上百万计的匹配网页。然而如果再加上一个单词,那么搜索结果会更加切题。
选择表述内容的词组
一般我在网页搜索引擎的时候,选择一些可以表达我要查找内容的关键词组,用来缩小搜索范围,从而找到搜索结果是最好的办法。运用词组搜索涉可以先先简单地输入一个问题作为词组搜索,如果仍然找不到合适的,那就用多个可以表达要查询内容的关键字进行查询。
定位信息来源
有的时候用词组搜索不到或者无法准确表达所需信息。可以用另一种方法直接到信息源,就是直接到到提供某种信息的站点去。可以用公式 “shszc.com” 去猜测某一组织的特点。从而得到所要搜索的信息的主要词组
其实网络上还有很多关于搜索技巧的文章,大家可以自行学习。千万要记住搜索引擎是帮助你成功的有力武器。
第二招 学会动手
参加软件测试工作后,随着工作经验的增长自我感觉越来越好。在公司里也逐渐受到同事领导的重视,一次针对公司的新的软件功能进行测试的时候,像往常一样 “ 随手 ” 测试出了几个 Bug ,然后 “ 仔细 ” 的填写了 Bug 单(这个 Bug 的现象已经出现了很多次了)。这时候测试经理走过来,重新复查了一下填写的 Bug .他在重现我的 bug 的过程中,简化了我的输入变化, bug 神奇的又出现了,同样的现象,他关闭软件重新变化输入,扩展出 10 几个变化后,软件不动了,内存不断上升。终于他找到了产生软件的 Bug 的原因,然后对我说 “ 寻找 Bug 要准确定位,我们开发团队是一个整体,时间是等量的,时间不在你身上浪费,就是在他身上浪费。如果测试人员每次发现的 bug 描述不清楚,并且多个问题潜在的错误原因是一个,虽然操作可能稍微有些变化。这样开发人员在重现 bug 的时候他要调试跟踪判断,很花费时间,而且效率低。如果测试人员发现 bug 的时候多动手可以更加准确的定位 bug 步骤和原因,给开发人员最精确的步骤和准确的描述,这样整个团队才能高效,所以需要大家协作!。 ”
在以后的日子里,每次解决问题的时候我都记得多试验几次,多尝试。网上很多朋友还有同事问我问题的时候,其实他们只是万里就差一步,只要再多动手实验一次就可以达到目的了。所以多动手,多尝试。
第三招 思考自己所作的
刚开始入行的时候,总是思考如何做好软件测试。认为公司的测试流程混乱总是很郁闷,认为自己学不到东西,如何才能测试好产品,常说心动不如行动,以前看到古龙小说中经常出现的场景无名小子不断挑战高手,总结积累。我总结了有些经验是实战中得到的,所以不断尝试引入新的测试流程然后评估,这个过程虽然很痛苦,但是从中积累了不少经验。这段时间让我学习到了很多东西,接触了 ISO,CMM ,测试管理工具,自动化工具(因为公司不正规给了我很多学习的机会,后来到了比较大的软件公司后,以前的经历给了我更多的发展机会,因为大公司非常正规了,公司内部人员分工明确,所以能力的锻炼反倒少了)。由于工作中经常写报告反倒养成了总结教训的习惯,因为纸面上的东西是永远也忘不掉的。在写的过程中可以不断补充扩展,整个过程是思想升华的过程,当年达摩面壁九年就是融会贯通的典型例子,如果他不是有个思考的过程,他也不能成为一代大家。如果后来不时有人把他的绝技记录下来,也就不能有后来的少林寺七十二绝技。
所以善于思考,总结经验,也是成为高手之路的不二法决。
第四招 学会利用论坛资源
其实测试新兵和测试高手之间的区别,往往是不会利用现有资源。在论坛中我们会看到很多新手不断的提问,但是有很多问题其实都是已经别人提过了,或者已经有解决方案的。所以经常会看到 “测试高手”的身影,并且不提问题,而且还能“锄强扶弱”,是测试新丁的救命稻草。好像是高手们无所不能,其实摘掉这层耀眼的光环,他们并没想像得那么厉害,只不过通过自己的搜索找到的答案,然后帮助其他人。当然也有很多人都是通过自学,然后在论坛中交流得到了很多经验,高手其实也是因为善于思考问题,亲自动手解决问题。所以动手和利用论坛资源的过程中他们也在不断提高。
很多时候看到论坛中有人提问,问题描述不清,很多人看了很困惑。发贴题目动不动请高手帮忙,救命之类的,好像天下大乱,世界末日。虽然这个题目很招人,但是无法让那些想帮助你的人帮你,因为题目不清晰,而且高手字样吓阻了很多人。其实问问题也是个思路整理的过程,描述清晰,让人理解清楚,才能望文知意知道你的当前发生问题的环境,才能让那些想帮你的人解决问题,否则给人无从下手的感觉,解决问题效率不高。
第五招 学习和你所测试的软件产品相关的知识
随着软件规模的日益增大,软件的安全测试问题也日益突出,使得软件安全测试也成为软件开发中一个不可分割的重要部分。基于缺陷模式的软件测试技术作为高可信软件的重要保证,可以大大降低软件的缺陷密度,提高软件的可信性。
【关键词】
软件开发;白盒测试;黑盒测试
0 引言
软件测试是属于开发阶段最后一段时间的主要工作。需要对软件进行全方位的测试,以确保软件在上线运营时不会出现影响正常功能使用上的问题。软件测试时一项非常重要的工作,也是软件工程中一个重要的环节。软件测试是在软件投入运行前,对软件需求分析,设计规格说明和编码的最终复审,是软件质量保证的关键步骤。常见的测试方法有黑盒测试与白盒测试。
1 黑盒测试与白盒测试
软件工程中的测试,必须要用正确的方法,才能提高效率并且行之有效的解决整个开发过程中的问题,并且能为后期的维护提供最大的便利。而我们最经常用到的测试方法就是黑盒测试与白盒测试。
例如我们在做web程序的黑盒子测试时会经常使用一些Fuzzing工具去进行一些压力的测试,有时候也会进行一些安全性的比如跨站脚本攻击的测试、SQL注入攻击的测试、跨域提交漏洞的测试等等注入此类在不知道程序源代码情况下的Fuzzing技术都属于黑盒测试的范畴。用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出,但这是不可能的。
工作中大部分的黑盒测试都可以通过编写代码来实现全自动化的安全测试,这样可以解放人的不断重复性劳动,是一种在做黑盒测试中最常见的方式。
把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致,这就是白盒测试。白盒测试又称为结构测试或逻辑驱动测试。软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:对程序模块的所有独立的执行路径至少测试一次;对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;在循环的边界和运行界限内执行循环体;测试内部数据结构的有效性等。
白盒测试是一种比较容易找出软件编码中存在的严重问题的方式,他通过通读源代码,来发现整个工程中存在的一些逻辑漏洞,或者一些危险函数的利用。有时候也可以通过监测输入数据与输出数据的中间流程来发现是否存在输入未过滤或者输出不合法等问题。我们以PHP脚本语言问例,当前很多的WEB端软件工程多是用PHP开发完成,而PHP语言存在的危险函数和危险变量则多达几十个如果稍有使用不慎,就会造成较为严重的安全漏洞。
在PHP的设置中register_globals = Off,PHP在进程启动时,会根据register_globals的设置,判断是否将$_GET、$_POST、$_COOKIE、$_ENV、$_SERVER、$REQUEST等数组变量里的内容自动注册为全局变量。
2 软件测试在软件工程中的意义
软件的测试环节做的好与坏,决定了整个工程的成败。从软件测试和软件可靠性理论入手,对现有的软件可靠性技术进行研究分析从中发现一些问题就是软件测试的主要目的。与此同时要总结出现有可靠性模型的特点并分析出现有可靠性模型所存在的局限性与不足,以方便后续开发程序中注意存在的问题。
而对于目前我国软件产业的现状,存在多个开源或者非开源项目均曾经爆出过较为严重的安全漏洞问题。如下是国内某著名开源软件工程中存在的一个存储型跨站脚本攻击的代码。
如下函数,解析转化Iframe标签(Iframe标签本身就是个危险标签,不知道要保留这个功能意义何在)如下
public static function parseIframe($message,$convertStatus = 1){
return preg_replace("/\[iframe\]([^\[\
self::$_cvtimes);
}
看正则/\[iframe\]([^\[\
public static function createIframe($url,$convertStatus){
if($convertStatus){
$html = "
height=\"340\">";
} else {
$html = "Iframe Close:$url";
}
return self::_pushCode($html);
}
1)判断convertStatus,该参数默认为1,生成的$html是将$url的值直接带入src。所以问题出现了。构造javascript:alert(1)即可触发该漏洞。我们可以看到生成的HTML代码为,
当不知情者访问后即可触发跨站脚本漏洞
2)当传递的convertStatus的值为0时,生成的$html是将$url的值直接带入href。所以问题同样出现。构造javascript:alert(2)点击即可触发。我们可以看到生成的HTML代码为,
javascript:alert(1)
点击后仍能触发跨站脚本漏洞
由于该款产品在国内用户使用量大概在六百万以上,所以这个问题刚开始爆出来的时候给很多的个人建站用户造成了很大的影响,官方也在第二天及紧急安全补丁修复这个问题,但是仍然造成数以万计的使用该程序的站长网站被利用。
3 结语
软件测试最终的目的是为了发现软件工程中存在的BUG以及安全漏洞等,从而有效的对整个软件工程中潜在的风险进行改正。
【参考文献】
陈汶斌.软件测试技术基础[M].北京:清华大学出版社,2008(19)
【关键词】工作过程 教学实施 四层次渐进式
【中图分类号】G642 【文献标识码】A 【文章编号】1674-4810(2013)05-0094-01
一 工程造价软件课程教学目标
工程造价软件是一门将建筑构造与识图、建筑结构基础与识图、建筑施工技术、建筑施工组织与管理、建筑工程计量与计价、建筑工程CAD等相关课程的知识、理论、方法与实际工作相结合的应用性课程。其教学目标有两个。
1.知识目标
学生对《枣庄科技职业学院图书馆建筑、结构施工图》进行识读,从清单及山东省消耗量定额两方面进行分析,使用工程造价软件中的钢筋抽样软件、图形算量软件及计价软件编制出图书馆工程量清单、图书馆工程量清单计价表。
2.能力目标
在手工计量计价的学习基础上,能够熟练使用工程造价软件(钢筋抽样软件、图形算量软件及计价软件)编制工程预结算。
二 工程造价软件课程教学内容
1.构建学习情境
以学生的职业能力培养为核心,以真实的工作任务为载体,确定出学习情境,见下表:
2.确定学习任务
根据构建的学习情境的工作内容,将学习情境分解为若干个学习任务。
3.实施课程教学
工程造价软件课程采用集中学习的方式,集中10天(共60学时)进行课程的学习。在教学中采用“四层次渐进式”的教学模式,即:“基础型”实训 “提高型”实训 “拓展型”实训 “实践型”实训。“基础型”实训:全部学生分析《枣庄科技职业学院图书馆建筑、结构施工图》,进行基础功能的学习,使用钢筋算量软件、图形算量软件、计价软件编制工程量清单;“提高型”实训:给学生一套较难的框架结构图纸,部分学生进行钢筋算量软件、图形算量软件、计价软件的练习;“拓展型”实训:让少数学生进行拓展内容的学习,强化练习,参加全国高职高专广联达软件大赛;“实践型”实训:部分学生到施工现场进行真图纸、真工程的练习实践。
三 结束语
以真实的工程项目――枣庄科技职业学院图书馆工程项目作为教学平台,选择典型的工作任务,使学生先熟悉各个典型工作任务的工艺流程,然后由教师将软件操作知识引入课堂。让学生自动自主地进行工程造价软件操作,教师只起到辅导的作用,提高了学生的学习兴趣,充分调动了学生的学习积极性。
本文仅对工程造价软件课程教学实施做了浅显的研究,希望在今后的教学中不断完善。
参考文献
【关键词】软件工程实践;教学模式;校企合作
一、引言
软件工程实践在软件工程专业本科生的培养体系中占有重要地位,如何培养软件技术人才所必需的实践能力、工程能力和创新能力,一直是软件人才培养所面临的问题[1]。目前,一些高校的软件工程实践教学环节,普遍存在这样的问题:
(1)教学内容安排上不注重实践,学生实践的机会较少。
(2)教师理论知识丰富,但缺乏实际软件项目开发经验、动手能力不强,不能给学生提供高水平的实践指导[2]。
(3)实践教学偏重结果,学生只是按要求编写规定文档,但文档内容、开发出的软件质量差强人意[3]。
(4)实践环境不符合软件工程要求,与实际的企业开发环境有一定差距。
软件工程教育与软件产业发展的不相适应,导致产学脱节较为严重,甚至进而导致了软件市场“就业难”与“招聘难”并存的现象[4]。
为了培养符合社会与企业要求的高级软件工程人才,我院提出了“校企合作”的软件工程实践模式,主要措施如下。
二、构建校企合作框架
校企合作的目的是让学生能将自己在校所学的理论知识与企业的项目实践有机结合,让学校和企业的优势互补共同提高专业应用型人才培养的质量[5]。校企合作中,教学环境在企业,教学实施的引导者是教师和企业工程师,教学实施的主体是学生,由此我们提出了“双导双带”的合作框架。
“双导双带”指为每位学生配备了两位导师,一名为学校教师,一名为企业软件工程师,二者共同制定实践计划、指导计划、考核细则,在毕业设计期间为学生提供全面的知识结构和应用能力两方面的指导和训练。学生的毕业设计题目来源于企业的真实项目,开发过程、软件质量由企业工程师指导把握,论文撰写及论文质量由学校教师指导把握。
实践分为两步走:一步是专业技能提升阶段,一步是项目实践提升阶段。无论哪一阶段,都着重学生技术能力、实战体验、职业素养、应试技巧等几个方面的训练。
三、实践模式具体实施
(一)开发环境
学生深入企业,在企业工程师的指导下演练一个已经完成的实际项目后,再以团队为单位集体完成一个难度适合的真实的项目。开发工具、沟通平台、人员分配、开发过程、管理过程等完全按标准的企业项目实施来要求,力求让学生熟悉软件开发过程,了解软件开发的规范性,也促使学生尽早向职业人进行转换。
(二)实施过程
企业导师作为整体项目的负责人预先做好项目计划,规定好项目各阶段应提交的制品及里程碑点,监管所有项目的进度和质量,负责所有项目指导、评审、答疑工作。
人员安排:根据项目规模划分项目组,学生根据自己的兴趣及技能选择合适的项目角色:项目经理、技术经理、分析人员、设计人员、编码人员、测试人员等,让学生在实际开发过程中理解角色、掌握软件工程涉及到的工具、过程、规范。
进度控制:项目组每个成员都了解项目的整体进度计划,同时也清楚自己在不同时间段应该完成的任务,每个人在项目经理协调下都严格按照进度计划执行。如果项目存在进度滞后的情况及时分析当前项目存在的问题,查找影响进度的原因,若有必要可压缩关键路径长度,如:安排关键路径上任务并行,增加关键路径上人员,人员赶工等方式提高项目进展速度。如果进度滞后严重则要考虑重新制定进度计划,评审,执行。
团队沟通:确定沟通原则――准确、完整、及时、可理解[6]。对于一些比较紧急事件或复杂问题可采用口头的非正式的沟通,对于那些重要的信息、与合同有关的信息等则需要采用书面的正式的沟通。确定具体的沟通方案,如:每天下班前项目组成员进行5-10分钟的口头站会交流,沟通当天没有解决的问题,每周五上午9:00-11:00召开项目周例会,沟通项目组成员当前工作内容,工作进展;沟通项目当前进度、项目存在问题。会后会议纪要给相关的项目人员,由专人跟踪项目问题,直到问题解决。
质量控制:按项目要求,在预定的时间提供预定的制品,如:可行性分析报告、软件需求规格说明、软件设计说明、软件代码、软件测试报告、用户验收报告等,在制品提交基线之前,从内容和格式两方面进行严格的评审,保证文档的质量。为了保证软件满足用户要求,且软件与文档二者一致,在里程碑点组织项目组成员对软件演示,进行阶段性的软件验收,及时发现问题,解决问题。
(三)成绩评定
整个实践过程的安排,希望能够帮助学生在短时间掌握软件项目从定义、分析、设计到开发、维护的一般过程,培养学生的实践能力及软件项目管理能力,适应社会及企业对人才的要求。所以从以下两个方面进行考核:
(1)软件质量:各里程碑提交的演示软件的质量及团队最终提交的完整软件的质量,考察内容如:软件软件的可操作性,与需求的一致性,软件中缺陷的数量等。
(2)文档质量:各阶段提交文档的质量,考察内容如:文档结构的正确性,内容的正确性,文档的规范性等。
四、总结
在校企结合的教学实践过程中,学生们在真实项目、真实开发环境中得到了良好的锻炼,学会了将理论知识应用于项目实践,执行了完整的项目开发流程,至少熟练掌握了2~3种主流开发工具;体验较为严格的进度管理和质量管理等流程和规范;增强了创新、竞争和团队意识,培养了良好的职业素养和工作习惯,为将来步入社会,适应社会企业要求打下了良好基础。
参考文献:
[1] 徐玲等.软件工程专业实践教学体系的构建[J].计算机教育. 2010(11):137-139,49
[2] 覃遵跃等.基于校企合作的软件工程专业实践教学体系研究[J].时代教育.2012(11):12,17
[3] 秦放等.案例驱动与项目导向结合的软件工程课程教学模式探讨[J].计算机教育. 2013(9):87-90
[4] 王爱民等.软件工程专业校企合作实践教学模式研究[J].实验技术与管理.2012(1):143-145
一、领导临时交办的其他工作:如参加了公开选拔处级领导干部的考试等。非常感谢领导给了这次机会,虽只通过笔试进入了面试,但没有通过面试,最后以失败告终。但能和领导们一起考试已是我的光荣。而且通过这次考试扩大了自己的知识视野、找到了自己的差距。这是一个难得的学习与锻炼机会。
二、信息
1、东丽区科委网站建设
在领导的指导下,完成了“东丽区科委网站”建设。完成了网站内容的策划、筹备与网站的建立工作。网站的主页版面共修改两次。共制作子网页面200余份,修改子网页面100余份。这项工作的技术难度虽不算很高,但俗话说的好,会者不难、难者不会。这是一项对我委及我个人来说都具有创新意义的工作。
因任务量大、任务急,故很难坐下来仔细推敲网页制作技术问题。但为了更好的完成这项工作自己时常要早来晚走并利用业余时间学习一些网页制作的知识(如动画制作、免费计数器插件的下载、时间插件的改动等等)。
通过这项工作的开展提高了我委的知名度、扩大了我委工作的宣传力度、增强了政府职能的透明度、方便了企业、加大了我们的服务力度。也使我个人感受到开拓新知识领域的愉快、感受到劳动的愉快。
2、共发送《天津科技》8期113份。
3、《科技参考》的编制工作
年第3期以前所刊发的《科技参考》的内容是由天津市农科院提供的。从年第3期始根据委领导的意图由我来负责搜集选定。这也是一项新工作,工作的难度虽说相对加大了,但为委里节省了经费开支。且通过“科技动态”栏目加大了科委工作的宣传力度。全年共完成12期960份《科技参考》的摘癣排版、分送工作。
三、微机管理工作
1、根据区里指示精神完成了我委盗版软件的清查工作和微机设备及正版软件的调查、填报工作。
2、完成了微机配件的修复与采购工作。如激光打印机硒鼓充分数次;色带、软盘、键盘等配件的采购。
3、参加了市科委举办的“硬件基础知识及局域网组网”培训班。提高了专业能力,有利于微机管理工作的开展。
4、协调电信部门完成了我委ADSL宽带网入网连接及委内局域网上各台微机入宽带网的调试工作。
5、完成了我委局域网上所有微机日常入网连接维护、协调工作。如计划科、管理科电脑故障排除后入网连接设置、调试工作。总线(宽带网)掉线排除的协调工作等等。
6、微机故障排除
利用Ghost克隆软件排除计划科电脑死机故障一次、笔记本电脑软程序故障两次。虽然自己到科委后才从事微机专业方面的工作,所掌握的专业知识有限,但自己竭尽所能去维护委里计算机的正常运转。
1、需求分析:首先需要要学习并了解软件的业务,分析需求点;
2、测试计划:编写整个测试计划,在这个过程中需要参考需求规格说明书,这个阶段一般情况下是测试主管编写。包括了测试人员,测试时间,测试工具,测试方法等;
3、测试用例设计:是测试工作中的最核心的模块,在执行任何测试之前,首先必须完成测试用例的编写。测试用例是指导执行测试,帮助证明软件功能或发现软件缺陷的一种说明。用例设计好之后,会进行评审;
4、用例执行:搭建环境,准备好测试数据,进行预测,预测通过后,按照测试用例进入正式测试;