软件工程论文

时间:2022-04-16 11:34:40 关键词: 软件工程

摘要:立足于应用型本科院校,软件工程化的编译原理教学改革与探索是一项长期系统的工程,需要从教材建设、优化课程体系和教学内容、软件工程化教学实践和教学团队建设等多方面,激发学生的学习兴趣,提高教学质量,从而加强学生对理论知识的理解与实践创新能力。

软件工程论文

软件工程论文:互动式立体化软件工程论文

1互动式立体化软件工程教学模式的构建

1.1构建迭代优化的教学模式

(1)更新教育理念,采用基于CDIO的软件工程教育模式。

参考当前国际工程教育改革的最新成果,按照构思(conceive)、设计(design)、实现(implement)和运作(operate)的流程将从研发设计到生产运行的完整生命周期作为实践教育的载体,让学生以主动的、实践的、课程之间有机联系的方式进行学习。浙江大学软件学院结合该教学模式和原有政产学研合作优势,注重培养学生的工程创新能力、职业技能和素质,探索出适合软件工程专业教育的新方法。

(2)紧跟行业动态,持续优化专业教学内容与课程教育体系。

学院持续不断地将最新技术引入课堂教学,每年都会根据当前热点技术调整教学计划,甚至设立新的专业方向,使得学生能够在第一时间掌握热门技术,从而在实习、就业中保持竞争优势。例如,为顺应移动互联网发展潮流,学院设立了移动互联网和游戏开发技术方向;近期为了将云计算、大数据等热门技术引入课堂,学院正在筹划设立云计算、大数据处理等方向。

(3)加强校企合作,建立以就业为导向的校企合作联动机制。

学院结合多方需求,将更多的企业力量引入到教学体系中,使他们参与到课堂教学、课后实验、项目实训、科研创新、实习创业等教学和实践环节中。为了增强企业参与教学的积极性,学院教师团队密切研究跟踪大型软件企业的发展方向,找到教学内容与企业发展方向的契合点,同时结合企业在用人方面的需求进行针对性培养,形成互惠共赢的局面,建立长效合作机制。

(4)提高教师素质,形成具有“双师型”教育能力的专业教师队伍。

学院青年教师均具有博士学位,多年学术研究的经历使他们具有扎实的理论功底,但工程实践能力比较欠缺。通过加强与社会及企业的合作,我们将更多的实际开发项目引入到实验室,同时也将部分教师安排到知名企业中进行交流,在实际项目中锻炼和提高教师的技术应用能力,逐步形成了一支理论知识丰富、应用技术过硬的“双师型”教学队伍,从而使得培养的学生具有理论功底扎实、动手能力强的特点。通过迭代优化,课程体系得到及时更新,教师项目经验得以不断增强,企业参与教学获得持续动力。教学内容变得全面而立体,理论与实践并重,动手与互动并行,形成了互动式立体化软件工程教学模式。在课堂教学、课后实验、项目实训、科研创新和实习创业5个重要教学环节中均以学院专职教师为主、企业兼职教师为辅,双方共同参与的形式进行。大量的互动交流增强了学生解决实际问题的能力,使学生在毕业时已具备参与实际项目开发的能力。互动式立体化教学过程如图2所示。

1.2主要创新点

1)基于迭代的方法对教学体系的主要环节进行持续优化,形成了软件工程教学的新模式。

根据技术发展趋势和市场人才需求,我们对教育模式、课程内容、实践教学、教学方法等方面进行改革,按照更新教育理念→优化课程体系→强化校企合作→提高教师素质的过程进行循环迭代,持续不断地改进每个环节中出现的问题。经过多年的探索实践,结合国际先进的工程教育经验和原有资源优势,最终提出了面向复合型应用人才培养的互动式立体化教学模式。

2)基于国内外最新科研成果和技术动态,及时融入前沿知识,形成立体化课程体系。

我们紧跟国内外技术前沿,动态调整专业方向,淘汰落后方向,设立新兴方向,采用系统科学的方法,按照自顶向下的方式对培养目标和课程内容进行设计和优化。将每个方向的教学课程分为公共基础课、专业基础课和专业提高课3个层次,分别注重拓宽基础知识领域、强化专业应用技能和普及前沿技术热点,形成分层次立体化的知识体系结构。

3)基于学校教育与企业利益的结合点克服校企合作困境,建立三方互动的教学机制。

我们结合知名企业发展方向和人才需求对部分课程内容进行调整,大大提高了企业参与教学的热情。我们对课堂教学、课后实验、项目实训、科研创新、实习创业等教学环节进行精心设计,安排学院专职教师和企业兼职教师共同参与,前者注重理论授课和过程管理,后者注重实践指导和经验分享,以此建立学院教师、企业工程师、学生三方互动的教学机制。

4)基于校企双向互动机制

提高学院教师工程实践能力,理论与实践并重,弥补课堂教学的短板。我们通过产学研平台的建设加强学院教师与企业工程师的互动交流,鼓励教师经常参加知名企业组织的技术研讨会,直接参与企业人才培训和工程项目开发,将更多的实际项目引入到学校实验室,带领学生一起完成开发任务;增加学院教师的实际项目经验,增强他们的“双师型”素质,使他们在教学过程中能够理论联系实际,培养学生动手解决实际问题的能力。

2互动式立体化软件工程教学模式的实施

互动式立体化软件工程教学模式在新专业方向建设的过程中取得了良好的实践效果。以下将以移动互联网与游戏开发技术方向的设立和教学实践为例介绍这种新型教学模式的具体实施过程。

2.1移动互联网与游戏开发技术方向的设立

近年来,数字娱乐和移动互联网产业得到了各级政府部门的高度关注和支持,并成为目前市场投资和开发的热点方向。大量游戏和移动互联网公司的高速成长预示着市场对本方向人才的巨大需求。为顺应市场发展的需要,浙江大学软件学院成立了移动互联网与游戏开发技术方向,与微软、巨人网络等知名企业合作建立移动互联网应用研究中心,进行合作教学和实训、实习指导。在软件工程培养体系下,移动互联网与游戏开发技术方向通过课堂教学、项目实训和公司实习等方式,形成了鲜明的特色和技术优势,重点研究方向包括:移动互联网应用开发、游戏开发、数字娱乐、人机交互等。教学注重课堂、实验室与产业界的无缝结合,注重强化训练学生的动手能力、设计能力、沟通与整合能力、创新能力以及领导能力等,使之逐步具备国际化视野。本方向围绕移动互联网应用开发、游戏策划与开发、用户体验与交互设计等领域开设具有鲜明特色的课程。授课以开发技术为主,交互设计为辅,面向当前信息技术产业的热门领域进行有针对性的人才培养,为国内外知名的互联网公司和游戏公司培养高水平的骨干人才。

2.2教学与实验环境建设

浙江大学软件学院对移动互联网与游戏开发技术方向的建设给予了充分的支持,分配了专门的实验室和实训室,配备了数十台苹果一体机和图形工作站。实验室拥有可靠的Internet网络环境资源和丰富的电子资源,浙江大学图书馆提供了丰富的学术资源库,如ACM、IEEE、Springer、Elsevier、万方、维普、中国专利库、美国专利库、欧洲专利库等,为学生进行文献搜集、国内外研究进展跟踪等提供了便利条件。通过引入知名合作企业,学院先后成立了数字媒体技术实验室、微软移动互联网应用研究中心、巨人技术中心等联合实验室,并获得了合作企业的手机、图形工作站等硬件支持及Windows正版软件、游戏引擎等软件支持。实验室建设旨在基于与知名企业的教学互动,培养学生理论和实践相结合的能力。学生通过实验设备可熟悉Mac、Linux、Windows、iOS、Android等开发环境的建立和使用,使自身的开发能力得到良好的锻炼。

2.3课程体系建设

为了紧跟当前技术动态,学院主要专业课程的教学大纲每年都会跟合作企业商讨调整,使教学内容始终保持领先。移动互联网与游戏开发技术方向软件工程专业硕士的课程体系包括英语、自然辩证法等公共课,软件项目管理、系统分析与设计等基础专业课以及移动互联网应用开发、游戏开发等特色专业课。每门专业课的授课均强调理论与实践并重,教学过程分为课堂教学和课后实践。这里以游戏开发关键技术课程为例展示授课内容。

2.4校企合作的推动

通过校企合作的方式进行工程专业人才培养已经成为广大工科院校进行教学改革的重点内容,这种培养方式也得到了学生的热烈欢迎。然而,由于现行学校机制、教师观念、资金问题以及企业不愿意投入太多等原因导致目前校企合作教学面临困境。浙江大学软件学院经过多年探索,找到了一条产学研合作进行互动教学的道路,充分调动了企业参与教学的热情和积极性。这从上一节中移动互联网与游戏开发技术方向主要专业主要专业课程设置及教学内容就可以证明。之所以能做到这一点,主要原因包含两个方面:

(1)研究知名企业发展战略,将教学内容与企业技术发展推广方向相结合。

知名企业是行业技术的引领者,一些前沿、高端技术往往由这些企业提出,他们有推广自身新技术的需求,而高校是推广新技术的最佳场所,及时与这些企业取得联系就很容易将企业工程师请入课堂。例如,在移动互联网与游戏开发技术方向的教学中,微软不但提供了设备支持,还派出了数名资深工程师进行现场授课。

(2)了解中小企业的技术要求,将学生的实习就业与企业用人需求相结合。

中小企业是行业技术的追随者,他们不愿意也没精力去主动推动一些新技术的普及,但这些企业的发展需要大量人才。而高校是最大的人才聚集地,从满足企业用人需求的角度出发也很容易建立合作培养学生的关系。例如,在移动互联网与游戏开发技术方向的教学中,杭州无端科技、上海毅睿网络等公司通过设立实训项目的形式对教学进行了支持。

3教学模式应用效果

1)招生数量逐年增加。

移动互联网与游戏开发技术方向研究生招生数量近年来持续增加:第一年为33人,第二年为84人,第三年为91人。这说明新的教学模式对学生产生了持续的吸引力,相信该模式对其他院校软件工程人才培养也将产生良好的借鉴意义。

2)课堂教学成果更加丰富。

将知名企业引入到学院教学中,丰富了课堂教学内容,企业工程师与学生形成良好互动,学生也做出了更多有创意、有技术含量的作品。例如,学生学习WindowsPhone应用开发技术课程,完成数十款App的开发,并成功到了应用商店;游戏开发关键技术课程学生也分组完成了十余款跨平台游戏作品,并到了多个应用商店。

3)科研创新成果突出。

经过学院教师和企业工程师的联合授课,很多学生已经具备了参与实际项目开发的能力。一些合作企业会将合适的项目放到实验室由学院教师带领学生完成开发,这进一步促进了校企合作,形成良性循环。近年来,以学生为主力开发完成的项目包括:宁波团市委“最青春”、仁通科技牛扣网及客户端、兰州智慧旅游、智慧医疗手机客户端、宁波海关移动办公、机器零件互动展示等。

4)科技竞赛成绩显著。

学院鼓励学生积极参加各类科技竞赛和程序设计竞赛,使学生既锻炼了动手实践能力,又提高了创意设计能力,同时培养了团队合作精神。例如,软件学院有多支队伍报名参加一年一度的微软“创新杯”全球学生大赛,每年都有队伍晋级中国赛区半决赛,并多次获得了中国赛区三等奖等奖项。5)实习就业效果良好。学院通过互动式立体化软件工程教育模式进行专业学位研究生的培养,学生的实习就业质量得到明显提升。2012—2014年,学生实习率每年都达100%,进入一流IT企业实习的比例保持在70%左右。毕业生就业率每年都达100%,毕业生进入世界500强和重点企业的比例也在逐年上升。

6)地方人才教育和产业水平得以提升。

该专业方向有多门专业课程入选宁波市智慧产业人才基地核心引导课程和宁波市数字图书馆网络视频公开课,每年考核结果均为良好以上。学院教师还面向宁波其他高校和企业举办了移动互联网开发技术等专题培训,提升了宁波人才教育和产业水平。

4结语

互动式立体化软件工程教学模式是浙江大学软件学院在多年教学经验的基础上,参考国际先进的工程教育理念提出的一种新型软件工程教育模式。该模式克服了传统“学院派”教学方法中重理论、轻实践的问题,通过立体化的课程体系和互动式的实践教学,充分调动了学生的学习积极性。在后续的教学过程中,我们将继续对教学体系进行迭代优化,使其发挥更好的效果。同时,我们也将与国内外其他高校软件学院加强交流,对该教学模式进行改进和推广,共同提高我国软件工程专业学位研究生的培养水平。

作者:梁秀波 黄启春 单位:浙江大学软件学院

软件工程论文:项目跟踪软件工程论文

1软件工程现状

有些存在质量问题的软件,在运行时程序时就会出现问题,软件的维护就更加困难,如果投入到新的硬件中进行使用,两者之间就未必能够相互适用。计算机整体的成本因为软件成本的增加而增加。近些年,计算机技术在不断的发展,自动化的软件生产程度也在不断提高,这样一来,导致计算机在硬件方面的开发成本却越来越低,由于软件开发对人力、物力的需求都在不断增加,软件成本逐年增高已成了必然趋势。

2软件工程的项目控制跟踪

2.1项目跟踪内容

依据软件项目计划,必须要对软件的产品规模(或更改后的规模)、软件的成本与工作量、所使用的重要计算机资源、项目软件日程、软件工程技术活动、项目费用、技术风险等内容与软件在开发前计划的相应内容进行比较。

2.2项目跟踪过程

软件项目的控制跟踪过程分为:

(1)项目跟踪人员要对软件度量的实际数据与再计划数据进行记录;

(2)负责人要根据文档里记载的程序在指定的地点审查项目成果;

(3)对软件的监控活动和项目的跟踪予以必要的检查。

2.3项目跟踪存在的问题

(1)控制与跟踪的频度,控制与跟踪在项目开发工程中的关键点有多个,这就需要我们找到一个好的频度去跟踪,若跟踪点少,就不能保证问题及时被纠正;若跟踪点多,在人力物力上的花费就会增多,对总体效率的影响很大。控制与跟踪的频度关系着软件项目的规模,大型项目设置的关键点相应较多。

(2)项目计划的修改,控制与跟踪软件开发过程以后,可能会发现软件项目有些地方会不符合实际,需要制定相应的修改计划,但其他组的活动就会受到修改后计划的影响,因此,没有得到相关组的同意,就不能对项目计划随意修改。

3软件工程的预测

3.1软件预测的意义

软件工程项目最关键的环节就是对软件进行预测,如果测试环节出现了问题或者测试不细致,那么将直接导致生产出的软件质量不过关,在应用软件的过程中也会逐渐发现软件存在的问题。问题不严重的,只是需要长期对软件进行修改,单单影响用户的应用;而问题严重的,会导致整个项目的失败,生产出的软件也无法投入使用。如果在投入使用前,没有经过测试,那就不知道用户有什么样的需求,也不知道软件存在什么隐患。尤其是有一些不经过测试就无法发现的隐患,一经投入使用,将会对用户造成巨大的损失。

3.2软件预测的内容

(1)文档审查,软件项目的验收需要提供一些文档,这些文档包括:经济分析报告、项目技术报告、用户手册、维护手册、项目总计报告、测试总结报告等,主要对文档的可理解性、正确性、完整性进行审查,还要对编写的规范程度进行审查。如果文档扫描不清晰、数量不齐全、甚至错误都将给用户造成不必要的麻烦,而且还可能导致软件无法升级。

(2)安装测试,安装测试第一个目的,是验证软件安装在最基本的配置下能否正常的运行;第二个目的,是验证软件安装在非正常的情况下,程序能否给用户足够的提示。非正常条件指内存不够、磁盘空间不足、不能自由创建目录。

(3)功能测试,功能测试是指根据软件需求规格说明书上的规定,逐项对软件进项检测,查看是否正确、是否有严重的错误存在。在测试前,一般要准备好合法数据、非法数据、边界数据这些测试用例,检测输出结果是否符合期望值。

(4)安全性测试,对于接入互联网的系统来说,安全性的测试是十分重要的,一般要对用户的权限限制进行考察。检查用户是否能有效的登录,系统认证的加密机制是否有效,对网络是否安全、保密进行检测,还有数据备份、入侵监控等等。其中,主要通过检测是否有案却漏洞存在于网络上来检测网络的安全保密性能。例如:从系统输入口作为突破口,从正面对输入的容错性进行攻击,申请大量的资源吧系统压垮,破坏安全措施进入系统,使系统出现错误,再利用系统自身的恢复功能,把用户的口令和其它资源窃取出来,在对系统中残留的垃圾进行浏览,用来获取安全码、口令、译码的关键字等。一旦发现有非法入侵,入侵监控就会发出警报,并自动采取措施。

作者:苗丽 单位:内蒙古鄂尔多斯市东胜区地方税务局

软件工程论文:项目投标风险识别软件工程论文

一、软件工程项目投标风险识别方法

(一)头脑风暴法

在软件工程项目投标风险识别过程中,头脑风暴法主要是通过发挥集体智慧来对软件工程项目中存在的风险进行分析与谈谈。在此过程中要求风险识别工作的参与者对自身观点做出明确的阐述,其目的是为了通过让参与者在自由提出多种方案的基础上更加科学且全面的认识到软件工程项目投标工作中的风险。在此过程中并不提倡对其他成员提出的问题和方案进行批评,并且要求能够将所有成员所提出的问题与方案进行记录。

(二)德尔菲法

在软件工程项目投标风险识别过程中,德尔菲法是Q•赫尔穆与N•达尔克在20世纪40年提出,这种风险识别方法的基础在于对专家能力的利用。当然这种方法已经在社会经济、工程等多个领域的工作中得到了广泛的应用,德尔菲法主要是通过组建专家队伍来对项目投标中的风险做出分析。专家队伍主要是由项目风险小组来进行选定,通过专家意见和整理专家意见并反馈给专家队伍来获得意见。最后将统一的专家意见当做软件工程项目投标风险管控策略选取的依据。

(三)情景分析法

在软件工程项目投标过程中,情境分析法主要是以多样化的发展趋势为依据,对系统内外问题开展系统的分析,并设计得出多种可能发生的前景,随后对这些画面以及情景做出描述。在此过程中,社会因素、经济因素以及技术因素是必须要重点考虑的内容。一般情况下,情景分析法可以在以下情况下产生十分有效的作用:一是提醒软件工程项目投资的决策者需要注意一些政策和措施所引发的风险;二是对一些影响未来工程项目投标的关键因素做出研究,尤其是技术发展在软件工程项目投标中所产生的风险。由于情景分析法建立在假设以及可能性的基础上,所以在软件工程项目投标中,可以得出多种不同的情境,从而为软件工程项目投标风险的防控工作提供更多依据。然而由于这种方法具有一定的操作难度和复杂性,所以在我国的软件工程项目投标风险识别过程中,这种方法并没有得到广泛的应用。

(四)核对表法

在软件工程项目投标过程中,软件工程项目投标企业可以将曾经出现过的风险以及其他企业曾经出现过的风险进行总结、整理与罗列并形成核对表。通过对核对表的查阅,工作人员可以了解到软件工程项目投标过程中可能出现的风险,并可以通过总结各类风险应用中的经验和教训来确定使用何种风险管控策略来对风险发生几率以及风险损失进行控制。在核对表的制定中,主要内容包括其他软件工程项目投标成败原因、项目管理成员能力以及相应软件工程项目的合同、进度、质量、成本、范围以及各类资源等。虽然这种风险识别方法与其他方法相比并不能发现较多的绝对量,但是却具有着一定的针对性,所以在这种识别方法的使用中,也可以发现一些其他风险识别方法所不能识别的潜在风险。

二、软件工程项目投标过程中的风险管控

(一)软件工程项目投标过程中风险的规避

在软件工程项目投标过程中,风险的规避主要是通过变更计划来制约风险产生条件的生成,从而保护软件工程项目投标主体能够避免受到风险所带来的过度影响。与其他风险管控策略不同的是,风险的规避主要是对风险产生的损失作出控制,而不是对风险进行消除。因此,风险的规避主要体现出了两点特征:一是通过使用事前控制策略对风险所造成的损失产生的几率进行降低;二是通过事前控制与事后补救的结合来实现损失程度的降低。风险规避作为软件工程项目投标过程中能够最有效降低风险所产生的损失的方法,是软件工程项目投标阶段开展风险管控工作的重要手段,具体而言,风险规避的方法包括程序法、教育法以及终止法。其中程序阿发主要是通过提高软件工程项目投标过程中个性工作的规范化、制度化以及标准化程度来避免风险造成过大损失;教育法主要是通过对参与软件工程项目投标工作的工作人员开展教育来让工作人员认识到软件工程项目投标过程中存在的潜在风险因素,从而在提高工作人员风险防控意识以及防控能力的基础上降低风险所造成的损失;终止法则主要针对较大的风险或者过大的损失,这主要是因为终止法是通过终止软件工程项目投标行为来规避风险造成过大的损失。由于这种风险防控策略在避免风险以及风险损失的同时也放弃了让企业获得效益的机会,所以即便这种方法能够最有效的对软件工程项目投标中的风险做出防控,也并不是软件工程企业在投标风险管控中经常考虑的方法之一。

(二)软件工程项目投标过程中风险的降低

在软件工程项目投标过程中,风险降低可以理解为对风险的缓解而并非完全的消除与避免。这种风险管控策略体现在降低投标过程中风险产生的概率以及降低风险所造成的损失两个方面。实现风险降低的手段主要是对风险做出有效的监控与环节,在构建风险预警机制的基础上确保风险的及早发现与及早解决,从而降低风险产生几率。在使用风险降低策略对软件工程项目投标风险进行管控的过程中,首先要承认软件工程项目投标过程中风险的不可完全避免性,并以积极的态度来最大化的避免风险对投标主体造成过大损失。

(三)软件工程项目投标过程中风险的转移

在软件工程项目投标过程中,风险的转移主要是将管控风险的责任和权利以及风险可能造成的损失转移个其他主体承担。很明显,在风险转移策略中,并不能对风险进行完全消除,而是与其他主体来对风险进行承担。在软件工程项目投标过程中,由于要做到完全的规避风险需要付出较高的成本和较大的管理难度,所以将风险转移给其他主体承担则更为方便。在软件工程设计内容复杂以及分工逐渐细化的背景下,参与投标的软件工程企业也并不一定能够独立完成业主所要求完成的任务,所以投标主体可以利用分包形式来对投标过程中的风险进行转移,这种策略的意义主要体现在两个方面:一是不会让投标主体面临过大的风险;二是能够在工程质量以及工程进度等多个方面做出更为良好的管控。

(四)软件工程项目投标过程中风险的自留

在软件工程项目投标过程中,风险的自留主要是指软件工程投标单位对投标过程中将危害程度较小的风险所产生的损失进行弥补。相对于其他风险管控策略而言,风险自留策略可以节约费用,所以当其他风险管控策略所产生的成本高于风险所造成的损失并且在投标主体可承受范围之内,则应当选择风险自留策略。这也要求软件工程项目投标单位能够具备较高的风险评估水平,从而对哪些能够采取风险自留策略的风险做出判断。风险自留可以分为主动与被动,而对于可能造成较大损失的风险而言,风险自留显然是不可取的,由此可见,在软件工程项目投标过程中,投标方有必要避免出现被动的风险自留现象。在风险自留策略中,为了降低风险产生后进行损失弥补的成本,投标方有必要做好费用计划、技术规划等措施,从而确保自留的风险以及风险所造成的损失能够得到有效的控制。

作者:周晓颖 单位:齐齐哈尔二机床集团有限责任公司

软件工程论文:双语教学中软件工程论文

1以兴趣为导向的软件工程课程双语教学进度设计

软件工程内容广泛,原则、原理、方法和技术很多,既有理论又有实践,抽象、枯燥是该课程的特点之一,若用双语教学无异于“雪上加霜”,进一步增加了枯燥和乏味。为了提高教学效果,增强趣味性,进行讲课的再设计非常重要。教学大纲的基本内容首先要完成,其次再进一步扩展。为了保证高质量地完成教学重点和难点内容,增加一些补充知识也非常必要。补充内容占正常讲课的时间一般不宜超过10%,这些补充知识能起到画龙点睛的作用,有利于学生对重点和难点内容的消化和理解,对于拓展学生的知识面,提高学习兴趣很有必要。表1是笔者对软件工程双语课程进行的概要设计,该课为48学时,3学分(另有2周的软件工程课程设计,2学分,总计5学分),表中各项已经在规定的教学时间内全部完成。

2软件工程课程的教材选取

软件工程学科最早从国外引入,以美国为首的发达国家将软件工程教育与软件产业紧密结合,出版了一批优秀的有影响力的经典教材,国际著名软件工程权威Roger.S.Pressman所著SoftwareEngineering:APractitioner’sApproach被世界上很多著名高校选为软件工程课程的教学用书,该书内容丰富,全面、系统地展示了软件工程的最新技术和发展,“在国际软件工程界占有无可置疑的权威地位”,国内很多985高校都将该书作为教材,我国机械工业出版社、清华大学出版社等纷纷购买该书的版权,目前,该书已经出版第7版,在国内可见到不同出版社的十几个版本,说明该书被业界的认可度高。我们在双语教学软件工程课程时也一直使用Roger.S.Pressman的教材。该书内容丰富,价位相对较高,教学中只能用其中的一部分。双语教学对学生来说本来难度就大,所以导致绝大多数学生不买书也不看书,影响了教学效果。为此,在学校的支持下,笔者编写了规划教材《软件工程》,并在清华大学出版社出版,作为学生的中文教学参考用书,教学中的课堂教学内容则仍然全部为英文。这样,学生们既领略了国际大师的精髓思想和内容,同时也降低了接受难度,课下可以通过阅读中文教材,进一步体会英文内容或不理解的内容。

3软件工程课程的教学实践

3.1课前认真准备

为了提高学习效果,我们在第一次课将全部英文PPT拷贝给学生,使他们对内容、进度、难点有所了解,便于预习和复习,教学进行中再不断细化和充实。即使对非常熟悉的内容,在每次上课之前笔者都要认真准备,反复思考,对这一次课的主要内容进行归纳,找出重点和难点,确定时间分配,确定上课时的几个关键时间,笔者一般把上课内容分为2部分,每部分都在一节课(50分钟)内完成。另外,确定几个时间点,对于重点内容和难点多花时间,对于便于接受的内容或者看书能容易看懂的内容,则尽量少花时间。对于一些非常重要的理念性知识,教师直接给出大师的原话,让学生们去感受原汁原味的大师思想,如在讲授第6章“软件测试”内容时,直接给出国际软件大师Myers提出的3条“Softwaretestingobjectives”,以及10条“Softwaretestingprinciples”,让学生们感受理念性的基本思想,以及科技英语的基本表述。为了丰富教学内容,每一部分教师都介绍一些著名的参考文献,引导学生去进一步探索和学习。

3.2努力增强教学内容的趣味性

学生普遍对软件工程课程兴趣不大,为了调动他们的学习积极性,讲课不能太深奥。一旦学生听不懂了,就更没有兴趣了。为提高他们的学习兴趣,我们根据内容的难易程度安排讲课节奏,并增加互动环节,吸引学生的注意力,使他们在注意力转移的时候将兴趣重新回到课程上来。为了提高学生的学习兴趣,增强教学效果,要考虑如何让他们接受课程内容。有些知识本身就很枯燥,如何让这些枯燥的东西变得有趣,需要对这些知识进行“加工”和“包装”。为此,教师在幻灯片制作上下功夫,尽量使PPT漂亮、精美、有动画,接近学生,文字中必须有插图,同时增加一些有趣的内容,活跃课堂气氛。针对双语教学趣味性差,课程本身内容枯燥的特点,尽量增加趣味性,如在讲软件体系结构的时候,要求好的软件结构尽量成为mosque形式,避免pancaked结构。为了使大家印象深刻,笔者举了一个脑筋急转弯的例子,“一个体重40磅的女生能否用重1磅的锤子砸烂一块重1吨的石头”,几乎所有同学都认为不可能,因为女生的体重太轻,力气不够,锤子的质量也太小。可是当笔者给出答案,这块石头形状为扁平的时候,同学们一致认为这个女生不费吹灰之力就会把石头砸碎,同时一下子就联想到了软件结构,pancaked结构没有力量,就像一块扁平石头一样没有力度,很容易被打碎,这样的软件结构应尽量避免。

3.3努力使教学内容既有质又有量

除了提高自身的教学水平和知识能力以外,每堂课都要内容充实、丰富,不走过场,不让学生感觉这次课来不来都可。每次课要力争达到的效果是,如果学生不来,通过课下自学要比来上课花更多的时间和精力,并且很难达到上课的效果,这样才能使学生感到听课有价值。为此,教师一方面增加信息量,让大家感觉每次课都有收获,不上课就会有损失,课上增加很多课本之外的内容。对于每项技术、方法都讲它的起源、来龙去脉,为了让同学们听着有趣,笔者每次都要收集很多相关资料,介绍一些人物、故事、技术的起源。另一方面,为了增加信息量,每次都有效、合理地使用多媒体,让多媒体成为必不可少的重要工具。实践表明,使用多媒体可以使教学内容的信息量增加近一倍,但不能成为黑板的替代品,每一页PPT的信息量也不宜太多,否则会影响效果,特别是文字性的PPT不能一闪而过。在多媒体的使用上要重视动画、图片和趣味性。在讲授的过程中,要让每一页PPT停留的时间能让多数学生完整地阅读完,否则起不到好的效果。为了使PPT美观有吸引力,笔者增加了很多相关动画、剪贴画,自己还拍摄了以校园风光为主的很多标志性的背景照片,让PPT接地气,不但使PPT增加了可理解性,也更贴近了同学们的学习和生活。

3.4正确处理学风建设中出现的问题

针对目前高校高年级中普遍存在的必修课选逃,选修课必逃的现象,笔者也采取了一些应对措施,全方位提高出勤率。单纯点名不能起到应有的效果,人来了心不来等于没来。笔者采取的措施一是提高学生的学习兴趣,增强内容的故事性、趣味性,讲授时增加书本上没有的内容,让学生感觉上课值得,不来有损失,自己课下难以补上。二是表扬先进、促进学习,对于作业完成情况好的学生给予表扬,增强好学生的学习积极性,带动其他人赶超先进。对于抄作业的现象,这本来也是教学中屡禁不止的现象,不可能杜绝,关键是如何处理、如何面对。第一次发现有完全雷同作业时,在课堂上只说现象、不说具体是哪个学生,他感到不妥时就会收敛。此外,在批阅作业时,对抄作业和被抄作业的学生,除认真给他们批阅作业以外,最后在双方的作业本上均写一句醒目的大字“你的作业与某某某的完全一样”。有时三本、四本甚至五本作业都雷同,笔者并不追查谁是原始作者,谁是抄袭者,而是在几个同学的雷同作业上都醒目地用红笔写上“你的作业与某某某、某某某、某某某的完全一样”,两次以后就再也没有抄作业的现象了。虽然作业数量明显减少了,但交上来的作业确实都是原创,原创的人为了自己的作业“清白”,不让别人抄袭,抄袭的人也不好意思再去抄了,有效地杜绝了抄袭现象。三是重视过程考核,增加期中考试,对期中考试成绩落后的学生提前敲警钟,不是等到期末“秋后算账”,可最大限度降低不及格率。对于学习自觉性高,期中考试不理想的学生,则能起到鞭策的作用,使其奋起直追。期中考试成绩好的同学,在享受喜悦的同时会更加积极,以保持领先,并在期末取得更好的成绩。实践表明,每次期中考试后,出勤率都会显著提高,学生的学习积极性也会提高,学习风气也会改进。

4结语

双语教学是提高教学水平,培养卓越工程师,特别是培养学生专业英文阅读能力,与国际一流大学接轨的重要方式,但实施起来难度较大。影响实施的因素有很多,有些课程虽然进行了双语教学,但开设了几次以后被迫又回到中文教学模式。笔者坚持下来的体会主要有三点:一是进行双语教学必须有好的经典教材,业界对该教材普遍认可,具有不可替代的权威性,若再有一本中文参考教材就能起到锦上添花的作用;二是要增强课程的趣味性,要让PPT接地气,接近学生,考虑学生如何接受和理解知识,充分利用多媒体,特别是要利用图片和动画来补充板书的不足和缺陷,对于难以理解的知识借助多媒体可以化难为易,有效化解难点,起到事半功倍的作用;三是课前一定要准备充分,要比用中文教学花更多的时间和精力去备课,才能取得预期效果,否则可能会适得其反。此外,提高学生的学习积极性,形成良好的学习风气和学习氛围也是必不可少的重要一环。

作者:宋雨 单位:华北电力大学控制与计算机工程学院

软件工程论文:软件开发应用下的软件工程论文

1软件工程的应用

现代化社会的发展,软件工程广泛应用到嵌入式系统、人机界面、翻译器、电子邮件及数据库和各项操作系统中。在此基础上,还受到了航空、工业、政府部门及银行等各个行业的大力追捧,大大减少了各行业工作人员的工作总量,有效提高了他们的工作效率,并促使人民群众的生活质量得到提高,带动了社会经济的发展。软件工程的开发离不开软件工程师,根据领域的不同又分成系统测试员、分析员、工程师及程序员等,统称为软件工程师。他们肩负着对费用合理、质量良好的软件产品的开发,通常情况下,其主要以产品的可靠性、安全性、可维护性、实用性、功能性等指标来衡量软件产品的整体质量。

2软件工程开发技术

2.1软件标准化应用技术

软件标准化应用技术又分成软件标准和软件过程标准,其是软件构件和软件重用技术开发与发展的先决条件,可有效保障软件工程产业的健康发展。软件标准化应用技术直接关系到软件工程各项指标能否达到相关标准,其也是衡量软件工程成熟度的重要条件。国际标准化工程和系统工程委员会详细指出了软件工程的标准结构,加之美国国防部关于软件标准相关内容的提出,并列成为当代软件工程的两大重要标准。

2.2软件构件和软件重用技术

软件构件和软件重用技术一直是软件工程开发中的重要环节。软件重用是开发和研究软件的必要手段,构件作为一项基础条件有着不可小觑的重要作用。其中,软件重用技术可让软件工程师从大量写代码的工作中解脱出来,促使其更好的投入到更具适用性软件系统的开发中,从而确保空间和相关问题的一致性。软件构件技术是实现重用技术的前提,两者相辅相成,互相促进。这一过程中,各类开发工具是软件开发和应用的依托,如集成开发环境、构件库管理及运行环境等。

2.3中间件技术的采用

中间件平台作为软件系统开发和运行的支撑,是实现构件技术的前提。中间件适用于合适的平台上,加速软件的隔离和抽象,最终形成构件。因此,中间件技术在软件行业中备受青睐,根据分布对象、通信、事务处理、调用远程过程、访问中间件这五大类进行划分,具有划时代的意义。

3软件工程开发过程

3.1用户需求分析

用户需求分析即为在构建或改变软件系统时,应根据新系统的定义、范围及功能等内容进行用户群体需求分析,并综合分析数据准确把握系统定位,以开发出优质的系统软件。该过程中,协调需求分析员和软件工程师之间的关系是十分关键的,两者强强合作后,应首先找准目标用户群,并针对用户的实际需求确定系统软件的各项功能,最终制定出最佳系统开发方案。

3.2软件系统分析

软件系统分析主要是指归纳和整合需求调查中的各项数据和相关资料,并针对软件内部实际管理和信息处理情况进行分析。软件系统分析的主要目的是为了落实用户的相关需求,并寻求出最具适用性的解决方法,其是软件设计过程中不可或缺的组成部分。

3.3软件测试

在整个软件系统进入使用之前,软件测试是最为重要的环节之一,在进行软件测试时,不仅能对软件的需求进行分析,还能对软件的功能及性能进行验证。软件测试是指,根据运用软件的测试方法和测试工具,按照测试流程及测试方案,对被测试软件的功能与性能进行检测。在对软件进行测试的过程中,编程人员可以按照不同的软件和不同的架构编写出各种测试系统以及测试方案和工具,以控制将有可能出现的问题。在软件开发的整个过程中,都要紧抓各个开发环节及时进行同步的测试内容,并且针对测试中发现的问题加以解决,同时完善相关的开发程序。在此之后进行重复测试,在反复测试中不断完善各种问题,直到软件最终成为完整产品。

4软件工程开发的基本特征与应用情况

4.1明确性

软件工程在进行软件设计时就已经根据人们多种多样的需求制定了明确的目标。软件工程设计的任务是在工程实施或者产品投产之前,为这项工程或产品提供各种需求的标准,这一任务正是体现了软件工程中“需求分析”的特点,并且需求分析的质量对软件开发的成败有着直接影响。在这个阶段中,开发技术人员需要不断的与用户进行沟通和交流,完全明确软件开发项目的概念,最终形成一个完整的、清晰的、明确的开发目标。

4.2完整性

在用户或者服务器系统的应用中,保证信息准确无误的重要条件是数据及数据处理的完整性。因此,在软件开发的过程中,确保数据及数据处理完整性的逻辑要求是最为严密的。例如,有时在处理一个事物的过程中,会修改多个表格数据,如果在修改中发生了任何细小错误,都必须放弃整个处理过程,而不是其中的一个过程,然后返回最开始的阶段,以确保操作的完整性,从而保证了数据及数据处理的完整性。

4.3规范性

应用软件的开发工作在不同人员进行修改时需要能较为容易的接手,因此开发应用软件必须保证规范性。由于软件在开发的过程中需要按照一定的规则进行对象组合,所以能符合标准。但是如果是群体开发软件,由于每个程序员的想法及工作习惯都不相同,因此不容易符合标准,而软件开发的标准极为重要,必须保证其规范性,所以在软件开发的过程中,程序员之间需要多沟通交流,确保软件的顺利开发。

4.4易维护性

由于在软件开发的过程中,对象组合具有继承性,在对祖先对象进行修改时,也会对其继承对象造成直接影响,提高了软件程序在一定程度上的维护性。并且,逻辑规定和语法规定相同,群体开发软件不会因为个人特有的思想与工作习惯受到影响,从而使软件开发的维护性得到了保证,也提高了相互之间互相弥补的可能性。

4.5创新性

科学技术需要发展,发展离不开创新。随着工程技术的不断创新,软件开发出的产品在满足人们高要求的同时不断进步,为了获得广大用户的信任与支持,系统分析员在进行系统分析时,应当全方位了解广大用户的需求,针对用户的各种需求提出可行性方案,并且在不断的与用户交流中完善与改进方案,在如此反复中完成整个设计开发的过程。

5结束语

综上所述,关于软件工程的开发与应用,对软件工程师而言是一场庞大的技术革命。在软件开发过程中,其具体应用较为复杂,因此必须对软件质量标准进行严格监督。从上世纪80年代开始,我国就已经进入了制定软件工程标准的阶段,在将软件标准不断完善与改进的过程中,软件过程标准化与软件标准化都在协调发展中紧密结合。软件开发人员应当在开发过程中,不断对软件项目进行分析与测试,以达到软件工程规范要求,最大限度减少用户在使用软件时的管理维护负担。随着现代社会的快速发展,软件工程在不断的壮大中,并且在开发过程中不断应用先进技术,逐渐取缔了传统的开发方案。笔者认为,我国应紧跟国际软件工程标准化的发展情况,并将其渗透到信息化建设的过程当中,制定符合我国国情需要的标准,进一步推进我国信息化建设的发展。

作者:党婧 单位:同济大学

软件工程论文:学生为主体下软件工程论文

1构建以学生为主体的理论教学

1.1建立合理的课程内容体系

软件工程具有理论性和实践性兼具的特点。在课程教学实施中,首要任务是建立合理的课程内容体系。目前,相关的教材都是围绕软件工程理论的两条主线来阐述软件开发的过程。首先,基于项目的生命周期方法讲述传统的软件开发过程;其次,第二条主线是基于面向对象方法的软件开发过程。为了保证理论的完整性和体现项目实践性,再加上考虑到高职学生的学习特点,选用的教材主要突出了以下几方面:1)完整的理论性,比较全面地介绍了软件工程中的基本原理、概念和方法;若没有较为完整的理论体系,项目实践将成为“无源之水”,无从谈起。2)较强的实践性,教材的内容体系强调基本原理、方法在项目实践中的具体应用,适合高职学生的主动学习。3)与时俱进的技术先进性,软件行业发展一日千里,先进的技术出现较快;教材较为详细地介绍了软件工程中的新技术、新方法。4)自主学习的便利性,给出了“软件工程项目实践”的完善方案,为学生的自主学习提供方便。

1.2构建项目开发团队

对于大学生而言,主动实践是职业能力和职业素养培养的关键。为了调动学生的主动性,将软件11-1、2,软件12-1、2班的同学,以4到5名同学划分为一个项目小组,各个项目小组选定一个典型项目。项目来源于企业生产实践,经过加工与改进,具有典型性、代表性和可操作性;项目有明确的实施要求及考核标准。在各项目组中,按照行业要求划分各个同学的角色和职责,具体如下:1)项目经理(1)2)系统分析员、软件设计师(1+1)3)软件开发工程师(1)4)测试工程师(1)

1.3开展以学生为主体的案例式教学

根据软件工程主要用于进行软件项目整体设计的要求出发,通过对具体的项目开发流程而讲解和实践,使原本抽象的原理、技术能够具体、形象的方式呈现给学生,又能被学生充分地吸收并运用到各自的项目实践中。对此,我们开展了案例式教学,在教师以典型项目案例贯穿于整个理论教学过程中。流程为:布置任务→明确知识与能力目标→讲述相关知识点→讨论分析案例→完成单元任务→教学小结→项目实践→学习效果评价。案例教学充分调动学生的主动性,达到了学生发现问题→提出问题→分析问题→解决问题的教学目标。项目组提交作业的形式,是项目的阶段性的分析和设计文档。软件工程课程授课时间为60学时,其中,课堂学时为40小时,实践学时为20学时;在40个课堂学时中,分配10个学时给学生上讲台讲课进行项目验收。在项目验收环节的课堂上,由进行验收的项目经理进行主导,在课堂上介绍本组的需求分析、概要设计、详细设计等项目成果。此时,同时进行小组相互点评,气氛活跃。“学生上课程”和“组间互评”的教学方式,突出了学生主体性,激发了学生的潜在学习能力,使学生牢固掌握专业知识,不断训练职业技能,形成认真严谨的职业态度。

2实施基于项目驱动的实践教学环节

在实践环节中,要求各个项目小组开发不同的典型项目。一个项目组的同学按照既分工又合作的要求,完成一个完整项目在开发过程中所需的分析、设计文档,突出项目分析与设计这条主线。在实践环节中,让学生相对独立地完成,教师采用点拨方式或共同探究的方式进行指导,鼓励学生大胆设计、充分展现自己的设计思路,实现了“学生为主体”式的项目实践。项目小组根据项目需求制定项目计划,进行分析、设计、编码和测试,编写各阶段的工程文档。小组以整体形式定期与教师沟通设计结果。以项目小组为团队的实践教学环节,是一种团队式学习模式。小组成员之间可以通过交流型、调整型、共勉型等学习形式,实现团队学习,从而提高了学生沟通交流能力和学习主动性,也提高了学生的团队意识。

3制定符合教学特点的课程考核体系

由于采取的教学方法的改进,传统的考核方法已不能适应于课程考核。为了充分调动学生的学习主动性和提高学生的创造能力,采用了“学生参与、分阶段项目考核体系”,具体包括以下几方面:1)在“项目实践”环节为防止学生敷衍了事,要对所完成质量进行考核。每一个单元任务及其对应的能力目标和知识目标都要考核。即实施了过程化考核,改变仅以期末考试定成绩优劣的考核形式。课程考核标准由三部分组成:过程考核(作业、考勤)20%,小组项目实践60%,期末理论考试20%。2)制定过程考核评定标准,项目小组实践成绩的评定严格按照标准进行。项目小组成绩由过程性成绩与最终的项目验收情况组成。过程性成绩由教师和其他项目组共同评定。3)个人成绩由根据小组具体成员的答辩成绩来评定,答辩的内容为小组成员在项目开发中所完成的任务;其中,评定项目经理的个人成绩时,还应考查其的组织、管理能力。上述的评分标准,以学生主体的项目实践考核为基础,而且评分的侧重于软件开发过程性。同时,考核标准兼顾了团队实践与个人表现。由于考核工作量比较大,在实际操作中,还需要几位有组织能力较强的学生的协助完成此项工作。

4结束语

本课程改革已经实施了两个学年,授课对象分别是2011级、2012级的软件技术专业。实践证明,通过构建以学生为主体和项目驱动的软件工程教学方法,是可行的、有效的,它促进了理论结合实践,使“软件工程”课的教学由枯燥难懂变得生动、具体、形象。在整个教学过程中,学生始终处于主导地位,是学习的主体,对软件开发的全过程有一个更直观、更感性、更全面的认识。通过对学生的调查显示,超过90%的学生认为这种教学方法提高了自主学习的积极性,培养了专业技能。

作者:黄兴荣 单位:江苏建筑职业技术学院

软件工程论文:CMM教学模式下软件工程论文

1基于CMM的软件工程教学改革方案及实施

为了解决学生动手能力差、缺乏质量观念等问题,本文提出了以项目为驱动的基于CMM的软件工程教学方案。其核心思想为:学生以项目组形式进行软件项目研发,理论教学围绕方法和工具来支撑项目,教师及组员共同把握CMM3级的“需求管理过程改进、项目跟踪与监督过程改进、软件质量保证过程改进、软件配置管理过程改进”四个关键过程域,使软件的开发过程文档化、标准化。具体实施如下:

1.1项目组人员构成

依据项目规模,4-6名学生构成一个项目组,职责及任务分配如下(可兼职):组长:协同教师组织管理整个开发过程。配置管理人员:对各种文档、数据、代码进行管理。质保人员:执行质量保证计划、测试计划,并设计测试用例进行评审。需求专员:需求汇总以及需求规格说明文档的撰写。设计专员:概要设计和详细设计,并撰写相应的文档。编码及维护人员:依据设计编码实现软件系统,对实现的单元模块进行单元测试、集成测试,完成交付后的维护工作。

1.2教师职责。

课堂教学应与项目进度无缝衔接,围绕项目所处阶段的技术和工具进行讲解。项目伊始,教师指导小组长制定开发计划及进度表,并在全程跟踪和监督执行情况;其次,深入企业调研并结合GB8567-2006等软件过程标准,制定CMM3文档体系标准;最后,作为专家评审参与各项目组的测试与评审工作。

1.3需求管理过程改进。

需求管理是软件工程非常关键的一个步骤,需求分析的完整与否直接影响到产品的成功交付,甚至导致软件项目的终结。小组成员、用户通过会议论证形式确定需求,由需求专员记录并形成文档资料,评审通过后提交至配置管理人员。

1.4项目跟踪与监督过程改进。

教师及小组组长在整个研发周期中执行项目的跟踪和监督工作。根据项目的计划,在指定的时间对项目的产品进行检测,目的是规范软件过程的流程,避免开发周期延迟的情况。

1.5软件质量保证过程改进。

软件质量保证是CMM中的一个关键过程域,直接影响软件产品的质量及交付。项目初期,质保人员在教师的指导下制定质量保证计划并分阶段检查,如软件结构的合理性、兼容性、易维护检查等;其次,协同教师采用W模型对软件产品进行测试和评估。在需求分析分析结束后,采用静态测试方法,对需求规格说明文档进行测试评审并提交测试报告;概要设计结束后结合需求规格说明,对概要设计说明书进行静态测试并提交测试报告;详细设计阶段对详细设计说明书进行评审,质保人员着手设计测试用例,提交测试报告及测试用例文档;编码和集成阶段,开发人员实现某一单元模块后进行单元测试、模块间的集成测试,提交测试报告;质保人员依据设计的测试用例进行确认测试、系统测试工作,并最终提交软件产品质量评估报告。

1.6软件配置管理过程改进。

软件配置是一种通过标识和文档来记录配置项的管理工作,控制这些资料的变更、记录和报告变更的过程状态。每一过程活动结束都应提交评审通过的文档、数据等资料,配置管理人员通过工具(比如VSS)进行入库、授权修改管理,形成需求基线、设计基线、代码基线及测试基线,使整个软件产品资料齐全且版本一致,规范化管理。

2结束语

在软件工程教学中结合项目驱动法,并运用CMM过程管理思想模拟企业开发管理全过程的教学模式,是对传统教学模式进行现代改革的一次有意义的尝试。实践表明,该模式大大激发了学生的积极性,在项目实践中锻炼思维能力、问题求解能力和处理复杂任务的能力,提升了团队协作与过程管理意识。

作者:王学成 单位:唐山学院计算机科学与技术系

软件工程论文:需求分析视角下软件工程论文

1.软件工程需求分析概述

1.1基本概念

通常情况下软件的开发可以分为五个阶段,就是实践中常见的需求分析阶段、设计阶段、编码、维护阶段和测试,整个设计过程属于很典型的瀑布流过程,需求分析在整个过程中处于上层结构,其他的阶段都需要需求分析的支持才能够顺利开展,一旦需求分析出现了偏差就会直接影响到软件工程的整体进程,甚至会导致软件的质量下降,所以软件需求分析是十分重要的过程。软件工程需求分析这一概念主要指的就是对于用户需求的理解与表达,保证软件功能与客户需求形成一致,并且同步地估计软件的研发风险和项目评估,最终来实现整个开发设计过程。在这个过程当中,客户的需求必须处于主导的地位,工程师和项目经理就是要整理好客户的需求,通过具体的需求分析获取技术性的文档材料,从广义上来理解,软件工程需求分析主要包括了对需求信息的获取到分析再到变更,最终进行验证以及规则的说明,形成一个完整的系统工程。

1.2工作流程

软件工程需求分析主要是通过对于问题和运行环境的分析理解,建立起一个集成了问题设计信息、功能和行为的模型,使得用户需求更加清晰完整,形成比较规则的说明。其中问题的获取从三大版块出发,分别是用户需求、业务需求和功能需求。用户需求的核心内容就是收集用户对于软件功能的需求,确定好用例和角色,通常采取的方法就是访谈会的形式,由各个软件需求企业派出代表提出需求。业务需求是业务流程的分析员在工作中对软件需求企业业务流程进行的评估,并且要根据评估的结果确定业务建模的程度。功能需求就是要依赖用户的需求了,将用户的需求通过映射的形式形成系统的模块,实现软件的原始雏形。

1.3主要方法

需求分析的过程是复杂的,要经过很多个流程,包括了数据字典的创建、需求优先级别的确定、需求可行性的分析等等,在这其中数据字典是一种对于软件系统所要使用到的结构和数据项的定义,用来保证研发者对数据进行统一定义。在需求分析阶段,一定要保证开发小组对于数据项定义以及一些专业术语的使用一致,甚至可以分析并设计一些工具来保证数据字典的统一性。在确定需求的优化级别方面,可以采用应用分析的方法,产品版本的考虑过程中要在优先级的基础上分析产品的特性及真实需求。在需求变更的情况下,要在特定版本中加入变更的每一项信息,做出相应变更。在需求分析的可行性方面需要明确风险,包括一些需求冲突和对外界因素依赖以及技术方面的障碍等等,通过可行性的需求分析能够进一步地验证软件在开发过程中的可行性。

2.需求分析基础上的软件工程质量问题

在一般情况下,软件公司开发软件过程中都会出现很多问题,对于质量问题的反映最多,这些问题如果不能得到及时的解决,很可能会给软件工程开发带来灾难性的阻碍。尤其是有一部分企业经常会忽视文档设置和相关代码的注释,违反了需求分析的规则,背离了最初设计的思想,造成比较大的质量问题。

2.1软件维护与开发处于分离状态

在当前的软件开发工程中,软件的开发和维护始终处于分离的状态,在软件设计和开发过程中不同阶段的文档并不具备兼容性。需求分析本身是一种自然语言的描述,在文档设计的过程中主要是要依靠计算机语言进行描述,这两种语言之间必须要构建起一个有效的沟通桥梁,否则会严重影响到程序员的理解,如果文档出现了分离的现象,就会加大程序持续运行的难度,程序员在程序代码的编写过程中会因为对文档的考虑不够充分而影响软件设计的进程和效果,所以软件维护和开发的分离状况是软件工程中的明显问题。软件开发过程要经历需求分析以及详细的代码设计测试,还要包括对于软件的维护工作,这是一个紧密联系的过程,在当前的软件开发工程中,很多企业虽然做到了对于需求分析的重视,但是往往会缺乏对于软件后期管理维护的相关程序,忽略了本应该留出来的模块接口对应问题,在日后对于软件的维护和升级方面增加了难度。软件工程的需求分析其实是一个动态的过程,用户需求在各种因素影响下处于不断变化的状态中,所以,软件开发工程在初期的工作中就应该为后期改进预留出足够的接口,降低企业的维护和升级成本。

2.2软件文档的时效性未得到保障

软件工程中各个板块的设计通常是由不同的人员来完成的,这同样会导致软件开发过程中问题的出现,比如说在设计需求分析中数字字典的应用过程中,因其规格不同会造成文档编写形式出现分离,再比如说当应用的工具不同,并且编写和检索的时间也存在差异的情况下,就更加不能够保证文档的有效时效性,编写的过程过于混乱的话,在相应程序的维护过程中,文档资料的导出将会成为一个难题,甚至会出现缺失,轻则延长维护的时间,重则导致软件无法进行维护。

2.3文档的内容与程序分离

文档的内容与程序分离,主要还是因为文档设计和需求分析编写过程中采取的角度不同,这两者面对的对象本身就是不同的,两者之间的理念也很容易发生偏离。需求分析过程主要还是针对客户展开的,文档的设计却是程序员的设计需求,虽然最终的目的是相同的,都是为了设计文档的改进,但是整个的转换过程中很容易出现偏差,导致需求与成品之间出现了比较大的差距。同时,需求文档的编写多数应用自然语言,设计文档的编写多数应用计算机语言,这两者之间的语言转换也是问题产生的原因,会涉及到各类模块图、机构图和数据图的分析,如果文档没有及时更新,就会导致需求和程序的相互分离。

3.保障软件工程质量的具体措施

3.1确保文档的编写完整性

软件的编写过程一定要十分重视分析文档的实际编写,应采用一些简洁的语言详细阐述客户对于软件功能的需求,尽量地避免一些专业性的术语影响到程序员的理解和判断,避免使用模糊性质的词语,造成软件计算方式的变化,在文档当中应该尽可能地使用一些实例,防止误差的产生。比如说在结合数据库的软件开发过程中,应该在设计需求中详尽表述储存量和波动范围,精确表明需求量,确保文档编码的完整性。

3.2确保需求分析的完善性

需求分析是一个对整体软件工程展开分析的过程,这项工作的展开在很大程度上会影响到软件的质量以及日后的升级维护,所以,工作人员应该确保对于客户需求的一手了解,避免复述过程造成的误差,软件开发公司应该直接同用户产生有效沟通,共同探讨,确保需求分析的完整性。结束语伴随着科学技术的发展,相关软件的开发和设计环境也在不断地革新,人们对于软件功能的需求也越来越广泛,所以,软件工程应该加强设计过程中的需求分析,更加清晰地制定发展计划,保证软件的质量,重视软件的需求分析同质量保障之间的关系,严格开发,全面提升。

作者:何伟超 单位:河套学院教务处

软件工程论文:P6软件工程项目管理论文

1项目基本情况介绍

1.1主体工程项目及工程量

常熟边滩整治工程位于长江黄金水道下游段,工程拟新建围堤长度2489m,吹填区面积622509m2,约933.72亩。本工程范围:常熟市经济开发区长江干堤外侧、纵向围堤、A1A2分标线以下、东侧堤以上范围内的岸线整治工程,主要工程项目包括:围堤填筑、堤基处理、围堤护坡、抛石护脚、围堤吹填及龙口等。

1.2工程区施工条件

常熟边滩整治工程工程区所处河段位于长江口南支上段,金泾河与白茆河之间。工程区总长5km,徐六泾水文站位于工程区上游3.8km处,下距杨林潮位站26.2km。南支河段以七丫口为界,分为上、下两段。南支上段之徐六泾至七丫口,长35.5km,其中徐六泾至白茆河口为徐六泾节点段,长12.0km;白茆河口以下为白茆沙汊道段。南支下段自七丫口至吴淞口,全长35.9km。南支河段两岸为广阔的冲积平原,地势平坦,地面高程2~5m。两岸入江支流大小共有23条,入江口门处有涵闸控制。

1.3工程组织管理体系

常熟边滩整治工程组织管理体系中项目领导班子由项目经理部经理、副经理及项目总工程师组成,项目部其他人员由项目经理部聘任。项目经理部实行项目经理负责制,对工程的施工进度、质量和资金等全面负责。项目副经理分管各有关部门与施工工种,项目部工程师负责日常生产和技术管理。项目作业层人员服从项目经理及各职能部门的领导和安排,严格按照施工规范、操作规范进行作业,保质保量完成施工任务。

2P6软件中常熟边滩整治工程项目管理的编码设计

2.1企业级编码介绍

2.1.1企业项目结构EPS(EnterpriseProjectStructure)EPS即企业项目结构,是一种可以根据公司需要分解为不同的层次数的树状结构,它可以满足企业对项目执行情况的报告和工作协调的要求。EPS使组织能够评价资源在各项目上的使用情况。另外对于一些项目相对独立的企业,EPS还能够演绎出项目各阶段的情况。

2.1.2组织分解结构OBS(OrgannizationalBreakdownStructure)

OBS即企业组织分解结构,反映的是企业管理的结构的层次化排列。一个企业,它的管理是什么样的结构,就存在什么样的OBS。像EPS一样,OBS也是一种树形结构。该属性结构反应的是一种自上而下的管理,下级对上级负责,下级向上级汇报工作。OBS与EPS、WBS对应形成了严密的责任矩阵和权限控制体系。

2.1.3资源的编码过程RBS(ResourceBreakdownStructure)

在P6中,资源的建立过程称为RBS的编码过程。RBS即企业资源分解结构。RBS是树状层次结构,最大层次数是25层,它可以只有一个根节点也可以有多个根节点。但RBS只是企业内所有资源一种层次化排列的组合方式,而不是唯一方式。

2.1.4费用分解结构CBS(CostBreakdownStructure)

CBS即费用分解结构,是根据企业特定的财务流程或成本控制要求而设定的代码体系,它可以用来跟踪作业所发生费用。CBS是项目的费用管理的一种方式。因此,可以根据项目概算控制或企业财务上的要求来进行设置。根据费用的管理与控制在不同部门的统计口径与标准的不同,在P6的费用管理中,一般可以使用两种方式:一个是EPS/WBS层次;另一个是CBS层次。

2.2堤防工程项目管理的项目级编码设计

P6软件企业级编码是从企业全局的角度对企业的组织机构、资源、费用等方面进行编码设计,体现的是宏观性,而P6软件项目级的编码则主要从具体工程项目角度对工程的组织和分类情况进行编译。工作的分解结构,又称WBS,是一种按阶段逐步分解的层次化结构编码,它能够组织定义所有项目的工作范围。WBS也是在实施期间需要完成的最终细目作业,这些细目作业一同构成了整个项目的管理范围。

3P6软件在堤防工程项目管理的应用流程

常熟边滩整治工程的项目管理流程主要是对项目计划中涉及的进度、费用投入、资源等内容进行及时的追踪更新,采取动态调整的思路。

3.1制定目标计划

在堤防工程建设项目管理过程中,最优状态是进度按照原计划执行,这样的资金、进度、人员、物质等的安排是最优的。但是往往由于各种原因,并不能保证实际进展情况按计划执行,因此需要不断对当前计划进行调整,不断对比分析进度实际情况,及时纠正和控制产生的偏差,才能保证总的进度计划目标得以实现。在P6软件中,当完成项目计划的编制后,如果计划在时间、费用和资源分配等方面都符合合同的要求和工程实际,就可以将这一计划作为目标计划保存起来。目标计划就成为了当前项目计划的一个“快照”,是进行费用、资源控制、进度管理的基础。在P6中,可以为每个项目创建并保存任意多个目标项目;并且在同一时刻能将当前项目与一个项目目标计划和多个用户分配的目标项目进行比较。每个目标可以分配一种类型,在管理类别中进行定义。

3.2项目计划实施情况跟踪与记录

对于堤防工程,项目开始运行后及时地更新进度是非常重要的。因为在项目的实施过程中,可能发生工期变更的情况,项目初期所编制的计划已不能很好地指导现场进度安排和资源调配。所以必须及时对项目计划更新,通过与目标横道图对比,不断调整和优化计划,对项目进展情况进行评价,才能达到真正意义上的动态管理。

3.3项目执行状况分析

实施过程中对项目状况的评价与分析非常重要。将当前项目的进度、费用支出以及资源使用与原目标项目做对比分析,能够及时发现相关问题并合理适当地解决问题。

3.3.1项目进度分析

及时地将目标计划进展和项目实际进度进行对比,可以及早发现计划的完工节点或里程碑是否完成。P6软件中常用横道图比较法来进行进度目标的对比分析,提供了实际施工进度与目标计划进度之间的偏差,具有形象直观、容易掌握、应用方便的优点。

3.3.2项目费用产生分析

采取“作业使用直方图”对费用情况进行对比,可以得到当前实际的费用使用情况。若资金的使用与完成出现不合理的情况,可以就该问题进行分析,发现产生问题的原因,做出相应评价。

3.3.3项目资源分析

使用“资源直方图”来反映项目的资源利用情况,可以了解资源实际的投入情况和将来需要投入的情况。

3.4项目计划的动态调整

项目计划控制是一个动态过程。当产生偏差时,项目管理人员应当首先分析偏差原因,正确决策,及时采取措施,调整计划,使实际和计划重新在新的起点上重合。在新的因素干扰下,还可能产生新的偏差,这时又需要继续按上述方法进行调整,进度控制就是这样一个动态循环的过程。P6软件为项目的实际执行情况和目标计划提供了对比分析的方法,具体的调整措施还要根据工程实际情况具体分析。常熟边滩整治工程曾出现多次进度偏差,因此也进行过多次进度计划的调整。总的来讲,该工程的进度计划调整主要用到过两个方法:一个是改变相关作业间的逻辑关系;另一个是缩短一些作业的持续时间。事实证明,这两种方法均具有较好的调整效果。

4实施效果分析

P6软件在常熟边滩整治工程项目管理中应用,帮助管理人员合理地划分了项目管理层次,对项目的编制计划和进度更新流程进行了研究,对项目的企业级编码、项目级编码进行了明确,并利用P6软件也客观地编制了项目目标计划,以及根据实际情况做了及时地更新。此外,还对项目的进度、费用和资源等内容进行了分析归纳。总的来讲,P6软件在常熟边滩整治工程项目中的应用所取得的效果可概括如下:

1)基本实现了项目进度计划的实时更新和动态监控

项目施工实际进度的更新依赖于从下到上逐层反馈实际信息。在项目实施过程中,管理人员利用P6软件能够随时掌握施工详图、文件、进度以及资料等信息,以便于做出相关对策。此外当工程进度发现提前、偏差等问题时,能够马上产生相应信息,以供高层管理者决策,保证项目按原计划实施,除此之外,P6软件还可以准确地对项目整个费用进行预测。

2)基本完备了企业项目管理经验的信息库

通过P6软件能够及时地记录项目实施过程中产生的施工现场文件、文档等实时资料,以实现项目资料的分类管理与查询,为以后的工程项目管理提供了经验。

作者:黄黎君 马卓 李玮 单位:长江水利委员会综合管理中心

软件工程论文:软件工程核心课程下工程教育论文

一、CDIO工程教育模式在软件工程专业核心课程教学中的应用

1.以培养学生工程实践能力为目标,构思和调整软件工程专业核心课程的教学目标

课程的教学目标决定课程的教学内容,制定科学合理的教学目标有利于选取合适的教学内容。传统的软件工程人才培养普遍重理论、轻实践,培养的学生往往缺乏工程实践能力;其教学过程主要以教师的单纯灌输授课和学生的被动接受为主,学生盲目模仿练习教师上课时使用的案例或实习教材中的案例,没有主动探索与思考;学生学习完软件工程专业核心课程之后,仍然不能在具体的真实项目中将理论与实际相结合,培养过程与企业的需求严重脱轨。CDIO工程教育模式注重培养学生“构思—设计—实现—运作”新产品系统的能力,强调以能力培养为中心,重点培养学生积极主动探索能力、自学能力、沟通表达能力、创新能力、团队协作能力和解决问题的工程应用能力。因此我们将软件工程专业核心课程的教学目标设定为:通过“基于案例的教学”将理论知识有效地传授给学生,通过“基于项目的实践”实现能力训练,实现了理论教学与实践训练的有效融合与和谐统一。

2.以真实项目案例为载体,突出培养学生的“系统思维”和“过程管理”的能力

将CDIO工程教育模式运用到软件工程核心课程教学中来,充分体现了其“做中学”和“基于项目的学习”的工程教育模式。强化基于项目案例的课程教学,遵循“软件工程理论来源于实践,在实践中还原”的指导原则,把课本知识融入真实项目案例开发的过程中,在过程中介绍理论体系、指导实践,避免了以往脱离项目环境的空洞说教,使学生更容易掌握理论,提升实践能力。其中,项目案例设计是影响教学效果的关键,也是多年来我们探索和优化的重点。通过对实践经验的总结,确定了项目案例建设应遵循的原则:1)案例要覆盖课程的所有主要知识点,并具有一定的难度;要在教学、课程设计和综合实训时都有一定量的工作任务,且内容关联、难度递增;2)案例要选择通用的业务背景,易于学生理解,也要有一定的实用价值和吸引力,同时还要便于学生以此为基础进行扩展开发;3)通过不断积累,形成项目案例库,要求每个案例都有相对完整的文档和代码资料,使学生能站在一个较高的起点上进行实践训练,利于改进和创新。

3.以“基于项目的立体化教学”为中心,设计和制订教学方案

软件工程理论不同于经典学科理论,它是软件大师们在工程实践中总结、提炼而成的。如果在没有工程实践环境的课堂上直接讲授,会因不易得到学生的深刻理解而变成空洞说教。另外,软件工程核心课程是从不同角度描述软件工程过程的各方面知识的。因此,软件工程的实践能力培养必须要打破课程界限,把几门核心课程的内容融入一个项目开发的软件过程中,在过程中介绍理论体系、指导实践,使学生更容易掌握工程理论,提升工程实践能力,从而解决“工程理论来源于实践,在实践中还原”的教学课题。为此,我们设计了软件工程训练学期,实施以项目开发过程为主线、以实际项目为情景、以项目案例为示范、以学习平台为支撑、以协作学习为主导、以过程管理为保障的软件工程核心课程“基于项目的立体化”教学模式,培养软件工程学生“系统思维、过程管理”的实践能力。CDIO注重实践性教学,主张课程实践教学应该从具体项目案例的实际情况出发,然后上升到理论,最后再把理论还原到项目的实际操作中来,以创作最终产品为教学目标。在暑期实习实践过程中,逐步建立并完善项目案例库,以真实工程项目的整个生命周期为载体,让学生以将所学专业核心课程知识点有机联系起来的方式进行实习实践。

4.以企业实习、实践为桥梁,跨越从学业到就业、产业的鸿沟

工程型软件人才培养强调企业深入参与培养全过程,在培养方案的制订、课程建设、实习实训、科技创新、质量监督、学生就业等多方面都要有企业人员参与。中国石油大学(华东)计算机与通信工程学院先后与IBM、中软、东软、青软等10多家软件公司进行了内容广泛的合作,已形成制度化、规范化、体系化的校企合作平台,通过合作平台为学生架起从学业到就业、创业之间的桥梁。制定完善的师资队伍配备与师资队伍建设政策,采取专职与兼职结合的方式建立一支素质优良、结构合理的师资队伍。学生在大三下半学期就开始到企业实习基地进行为期一个学期的实习,将所学的理论知识转换为生产力,加深对专业知识的认识和理解,熟悉企业的工作流程和运行模式。通过采用企业运作模式进行项目构思、设计、实现和运作的完整过程训练和管理,提高学生的综合素质和工程应用能力。

二、CDIO工程教育模式在软件工程核心课程教学中的应用效果

为了检验CDIO工程教育模式在软件工程核心课程教学中的应用效果,笔者在本人教授的中国石油大学(华东)计算机与通信工程学院软件工程2011级和2010级学生的软件工程专业核心课程中进行了实验。软件工程1101班作为实验班,采用CDIO工程教育模式,软件工程1001班作为对照班,仍按传统的教学模式进行教学。这是同一专业同一学院的两个班级,班级人数和学科成绩无明显差异,学习环境、学习条件和生活条件等均无明显差异,授课教师均为同一教师,实验班和对照班在课程设置、教学方法、教学效果等方面均保持一致,保证了实验结果的有效性。

1.基础理论知识

在学期末,分别对实验班和对照班的软件工程专业核心课程采用传统的闭卷考试方式进行了测试,用单因素方差分析法来对实验班和对照班的成绩进行差异显著性分析。

2.实践动手能力

在软件工程专业核心课程的学期末,要求每位学生利用所学的知识,自己独立制作一个软件项目作品,主要考查学生的工程实践能力和科研创新能力,采用统一的标准公开答辩,由教师和学生一起给出实践作品的成绩。同样用单因素方差分析法对实验班和对照班的实践作品成绩进行差异显著性分析。

3.学习态度方面

从学生的平时考勤、作业提交、发帖回帖等方面考查学生平时的学习态度,并量化成分数。

三、结束语

软件工程核心课程教学采用“案例引导,基于项目的立体化教学”是一种基于CDIO工程教育模式的教学改革探索与实践。这种教学模式将软件工程真实案例实践项目贯穿整个教学过程的始终,让学生亲自体验从项目构思、设计、实现、运作四个环节展开项目管理过程,做到理论与实践相结合;让学生通过工程实践项目相关产品的构建,在实践过程中巩固所学理论知识,做到融会贯通;最终使学生获得较为真实的软件工程开发全过程的体验,培养学生理论与实践综合应用能力和分析问题、解决问题的能力,为企业培养合格的工程应用型高级软件人才。

作者:张培颖 郑秋梅 宫法明 朱连章 单位:中国石油大学华东计算机与通信工程学院

软件工程论文:专业实践教学改革中软件工程论文

一、现有实践教学体系存在的主要问题

(1)原有的专业培养目标与培养方案中存在着重理论学习、轻实践训练的认识以及重视课内、轻视课外的倾向。(2)实验教学体系中仍旧以验证性试验为主,虽然所有课程的实验项目开出率为100%,但其中设计性、综合性的实验项目占总实验项目的比例有待提高,极大限制了学生的动手能力和创新能力的培养。(3)缺乏对实践教学的过程管理,配套的质量监控与评价体系尚未健全。(4)现有实践教学体系缺少对学生工程能力和职业素质的训练,缺少开放性实验;缺少创新性实验教学体系,缺乏具备行业工程领域背景和国际化背景的创新实践教学团队。

二、确立并完善软件工程专业实践培养目标与培养方案

参考2011年软件工程专业国家规范,明确了软件工程专业实践培养目标与培养方案。

(一)培养目标

依托维森公司和行业企业,联合制定新的软件工程人才实践培养目标,即培养能够掌握软件工程专业的基本理论、基本知识、基本技能的,具有软件工程开发、应用、维护和工程管理能力的,具有较强的实践能力和创新精神的,能够从事软件工程方面的教学、科研和应用开发工作的应用型工程技术和工程管理人才。培养目标对学生各项能力的培养要求如下:1.基本实践能力要求:应该具有扎实的自然科学知识、优良的外语水平;具有一定的实际动手能力与团队合作能力;掌握软件工程专业的基本知识及基本技能。2.综合实践能力要求:应该具有综合分析、设计开发和项目管理能力、科学研究能力,具有知识获取、知识更新和持久学习能力。3.创新能力要求:具有追踪软件行业新理论及新技术能力;具有技术创新意识与创新精神,能独立完成一定规模项目的研发工作。

(二)培养方案

新的软件工程专业培养方案形成了以学科基础课平台、专业课及成组平台为主,以实践教学体系、创新教育体系为辅的应用型软件工程人才培养体系。为此,应用整体知识观的理念,采用层次网络方法构建课程体系,专业培养方案形成包括五个阶段。1.第一阶段,应用方向选择:经与维森和中软公司研讨,确定选择Java中级工程师为培养方向,同时兼顾.NET和基于图形图像处理的计算机游戏设计与开发方向及软件测试方向。2.第二阶段,专业技术归纳:Java中级软件工程师主要技术包括Java程序员、JavaEE初级软件工程师的主要技术、SSH技术和Web服务器技术等。.NET和基于图形图像处理的程序设计与开发方向进行相应的规划,共同的技术点规划在Java的相关课程中讲解。3.第三阶段,专业课程规划:以培养学生的软件设计开发能力为主线,专业课程分为专业基础课、专业基础选修课、专业成组课和专业选修课。专业基础课和专业基础选修课中培养学生程序设计能力的相关知识均以Java为基本工具,在专业成组课和专业选修课中设置Java的中高级应用的课程。4.第四阶段,知识内容整合:对课程以知识点为单位进行知识内容的整合,明确知识点的前趋与后继关系和知识点的课程归属,可以避免压缩理论学时的盲目性和随机性,减少课程体系中知识的冗余和重复,提高专业教学的效率。5.第五阶段,培养方案体系形成:以知识内容整合为基础,在专业课程层次上建立课程体系。针对软件工程专业技术要求、课程本身的特点和课程的教学目标,完成了教学大纲的制定和教学方法与手段的选取,形成完整的课程体系。最终形成层次化课程体系与各项能力要求关系模型。

三、改革优化现有实践教学体系

现有实践教学体系对培养应用型、创新型软件工程人才的支撑力度不够,必须优化。

(一)优化原则

结合软件工程专业的特点,构建由基础课程实验、综合设计实践、应用能力实践等环节组成的,由浅入深、环环相扣的层次化的实践教学体系。具体来说,实践教学体系包括课程实验、课程设计、实训与毕业设计及课外创新实践活动:1.课程实验。以验证性实验为基础,巩固和加深学生对特定理论知识点的理解;综合、设计性实验以案例驱动和面向问题模式为主,综合运用一门课程的系统知识体系,循序渐进地对学生构思、设计、实施和操作(CDIO)的能力加以强化。同时保证程序设计课程和软件工程系列课程机房的授课率。2.课程设计。课程设计是为若干主干课程或课程群设置的、综合性设计性较强的实践教学环节。在课程设计中,让学生能够切身经历一个完整项目开发的过程,培养和提高学生的实战技能和团队合作能力。3、实训与毕业设计。专业实训课程与毕业设计尤其是毕业设计作为教学计划中的最后一个环节,是对学生大学四年学习的知识掌握情况和技术运用能力的检验。可以由学校教师和企业工程师共同担任指导老师,以增强学生工程实践能力以及职业素质。4、创新性学习项目与创新实践活动。引导学生开展广泛的创新性学习活动。包括参与教师科研项目,参加各级软件工程相关专业竞赛,参加专业认证考试活动,主持或参加创新性项目等,以增强学生创新意识与创新能力。

(二)建立多层次实验体系和各类实验的比例

实验教学体系是培养学生实践能力、工程能力和创新能力的关键。为此建立了软件工程专业课程体系、实践体系与能力体系关系模型。基于该层次关系模型,建立软件工程专业实验教学体系。实践教学体系是基于专业基础课程层、专业技术层和应用方向层建立的,分为验证性、设计性、综合性、创新性实验四个层次:1.验证性实验。验证性实验一般与相关课程同步进行,培养学生基本技能。2.设计实验。在验证性实验基础上进行规划,培养学生设计能力,具有承上启下作用。3.综合性实验。在验证性设计性基础上,进行专项综合实践,培养学生综合实践能力。4.创新性实验。在综合性设计性基础上进行,以培养创新意识与创新能力。同时也增加并优化了设计性、综合性、创新性实验内容及占相关课程比例。

(三)建立软件工程专业实践过程管理平台

软件工程过程化的管理是保证实践教学的重要环节,为此建设并完善了软件工程专业实验、实践项目实践管理平台。该平台集各类教学资源(电子教案、课件及相关视频教程等)、讨论答疑、远程在线辅导、创新实践等于一体,极大地增强了学生自主学习能力、实践能力和创新能力。为增强实践体系的最终实施效果,还建立了实践考核体系,主要包含下面几个方面:1.验证性实验。程序设计能力,代码编写及调试能力;(30%)2.验证性综合性实验。系统分析、设计、测试能力、文档写作能力;(50%)3.创新性实验。团队协作及复杂算法创新能力、技术创新能力。(20%)与此同时,实习、工程实训体系从下面几个方面进行重点考核:1.业务能力考核:完成实习(项目)进度能力;完成质量;文档的规范性;英文阅读能力。(60%)2.综合素质考核:工作积极性;自我学习能力;制度、纪律的遵守;团队协作能力。(40%)

(四)深入开展校企合作与创新创业教育活动

通过辽宁维森公司和中软国际两个实习基地,有针对性地开展课程设计与实习,提高了学生综合实践能力。逐步加强企业工程师对学生工程实践的指导,提高了学生工程实践能力与创新创业能力。在深入开展校企合作的同时,我校电信学院还积极引导大学生开展各类创新创业教育活动,参加每年的校级、省级、部级各类计算机比赛,建立软件创新团队并申报成为校级创新团队。通过创新竞赛与创新团队训练使学生在基本能力、综合实践能力、创新能力等都有较大幅度提升,本专业毕业生的就业率与就业质量明显提高。

四、结束语

软件工程专业实践教学体系是一个具有多层次、拓扑性等特点的综合体系,该体系的正确建立及应用不但培养了学生各项知识、能力与综合素质,还大力支撑了软件工程专业的培养目标、培养模式、课程体系、实践体系和创新体系。经过近几年的探索与实践,软件工程专业所做的系列教学改革工作中的实践教学体系改革工作能够有利于增强学生的工程实践能力和创新能力,有利于提高软件工程专业学生就业质量及社会认可度。虽然通过软件工程专业实验实践教学体系改革,软件工程专业学生综合能力得到了极大提高,就业质量得到了有力保障,社会认可度也在逐年稳步提高,但市场需求在不断变化,如何紧握住市场技术需求的主旋律,不断提高专业教师与学生的工程实践能力、创新能力以动态适应不断变化的市场需求仍然是软件工程专业所面临的严肃课题。因此,软件工程专业实践教学改革工作也一定会紧跟时代技术浪潮,与时俱进。

作者:佟玉军 周军 谢文阁 刘鸿沈 姜悦岭 单位:辽宁工业大学电子与信息工程学院

软件工程论文:编译原理教学中软件工程论文

1编译原理课程的特点和教学中存在的问题

1.1编译原理课程的特点及学习编译原理的目的

编译原理课程逻辑性强,理论性强,内容抽象,课时少,学生学习编译原理容易造成知识之间断裂,很难做到融会贯通。学生普遍存在畏难情绪,教学效果不理想。一般应用型本科学习编译原理目的是:掌握编译理论和基本技术,同时具有设计、实现、分析和移植编译程序等方面的初步能力,为从事计算机软件开发工作及理论研究打下坚实基础。

1.2教学中存在的问题

一般应用型本科院校学生的兴趣是应用计算机去处理现实问题而不是理论知识的获取,但是传统的编译原理教学内容理论性强,并且学生认为学习编译理论即是要构造编译器,所以学生的学习兴趣不浓。同时,学习编译原理要涉及到离散数学、组成原理、操作系统和数据结构等多方面的知识,所以学生接受吸收编译原理的理论知识和技术比较难。

1.3实践环节薄弱

编译程序是大型复杂的软件系统,在教学中一般把编译原理逻辑划分成五个阶段进行讲授,如:词法分析、语法分析、语义分析与中间代码生成、中间代码优化和目标代码生成。但是这样做易导致学生不清楚编译各个部分是如何协调工作的,尤其对于语法制导翻译技术和语义规则,学生理解起来异常困难,把复杂的编译理论和技术通过编程实现,大部分学生上机时无从下手,没有思路。

2软件工程化的编译原理教学改革

把软件工程化的思想引入到编译理论教学中,将软件工程的知识由浅入深、阶梯状、循序渐进地贯穿在编译原理实践各个阶段项目的开发中。

2.1依据应用型本科的特点进行教材建设

近几年来,经过教学团队继续不懈的努力,《编译方法及应用》教材在充分吸收国内外最新计算机教学理念和教育体系的同时,面向一般工程类院校本科教学,在基础理论之上,更加注重编译原理应用性、基本知识和基本技能的培养,集思想性、科学性、启发性、先进性和适应性于一身。自编《编译原理实验指导书》规范学生实验报告的格式,对实践涉及到的关键算法和数据存储结构给予说明,从软件工程的角度,从实验的需求、可行性报告等方面,要求学生完善文档体系,引导帮助学生完成编译原理实验。自编《编译原理习题与解析》,对知识点、重点、难点和典型算法进行深度总结,选择或设计富有启发性的例题,并对这些例题给出透彻的分析与解答,使学生掌握问题的解决方法和思路,收到了举一反三的效果,学生编译原理期末考试成绩明显高于往年。

2.2优化编译方法课程体系和教学内容

编译原理的整个知识体系是数十年来无数学术精英在形式语义学、计算数学、计算机科学等相关领域不懈探索、积累的结果。整个编译程序是一个完整的系统算法,理论性强而抽象。鉴于此,面向软件工程化改造编译理论,阶梯状迭代工程实践项目,将现代应用软件工程模型特点与编译技术紧密结合,引导学生利用大型软件的分析设计方法及手段,不断充实编译方法课程的内容,从而使得本课程的教学内容不仅具有先进性,还具有实用性。通过对知识点的概要总结、实验指导、课堂锻炼、经典习题解答、课后研讨等方式,加强学生对编译抽象理论的理解,把软件工程化思想引入到编译方法教学实践中,加强学生对编译理论与实践的相互深化与促进。

2.3基于软件工程化的教学实践

以创新性和实践性为目标,开设综合性设计性必做实验项目,引导学生利用大型软件的分析设计方法及手段进行编译原理实践,构造一个完整的编译器。按照编译程序的逻辑功能结构,将一个完整的编译实践划分为:词法分析、语法语义分析、中间代码生成、代码优化和目标代码生成。将软件工程的知识由浅入深、阶梯状、循序渐进地贯穿在编译原理实践各个阶段项目开发中。把编译理论知识内容巧妙地隐含在每个任务之中,学生以任务驱动、成立开发项目小组的形式协作完成任务。编译实践每个阶段的需求是前一个阶段的拓展,因此每一个阶段的软件开发可以看成前一阶段开发的迭代,从而锻炼学生解决大型软件开发项目中用户需求不断变更的疑难问题的能力,以及最大程度地使用重用技术的能力。教师组织开发团队进行汇报,小组内部之间经常交流情况和信息,以减少误解,删除软件中的个人特征,提高软件的质量,从而提高学生项目规划、队伍组织、工作分配、成员交流和演讲汇报等多方面的能力,培养学生的团体合作精神、团队合作进行项目研发的能力,以及采用软件工程化方法开发大型软件的能力,为研究和学习软件生产线新技术奠定基础。以创新性和实践性为目标,开设选作实践项目,如:算符优先文法的FIRSTVT、LASTVT集合的求法,算符优先文法的判断;FIRST、FOLLOW集合的求法,LL(1)文法的判断;LR(0)文法的判断,SLR(1)文法的判断。通过开设选作实践项目,拓展学生的思维,更进一步提高了学生把基础理论、基本技术、基本方法转化为解决实际问题的能力,以及理论与实践相结合的能力。

2.4编译原理技术的工程应用

形式化方法是编译理论最重要的方法,由于形式化方法是建立在严格的语法和语义规则基础上的,因此注重向学生介绍编译原理技术的工程应用,如:形式化方法在TEX科技排版系统和方正排版系统上的应用,形式化方法在数字电路设计和验证、通信电路设计和验证、需求分析描述、系统正确性验证等方面应用,取得了显著的成绩。

2.5培养编译方法教学团队

有计划、有目的地培养中青年教师。助教在完成编译原理课程的辅导、作业批改、实验辅导、软件综合课程设计的安排和实施等的基础上,参与编译原理课程、离散数学、汇编语言程序设计课程的建设,并参与课程大纲的讨论及教学计划的制订,获得了多项教改成果。课程团队还鼓励青年教师把先进的科研方向带进本科生课堂,实现科研与教学的有机结合,不仅有利于提高授课内容的先进性,也有利于锻炼年青教师的创造性和责任感。通过教学实践、实验教学的训练以及定期组织教学研究讨论,青年教师的教学态度得到进一步端正、教学方法得到进一步丰富,教学水平也有了很大的提高。课程团队还让青年教师通过科研的实际锻炼提高自己的研究能力,扩展知识面。课程团队目前已建立起一支强有力的教学梯队,形成了以高素质教师为骨干力量的教师队伍。

3结语

总之,立足于应用型本科院校,软件工程化的编译原理教学改革与探索是一项长期系统的工程,需要从教材建设、优化课程体系和教学内容、软件工程化教学实践和教学团队建设等多方面,激发学生的学习兴趣,提高教学质量,从而加强学生对理论知识的理解与实践创新能力。

作者:刘香芹 许清 单位:沈阳航空航天大学计算机学院

软件工程论文:培养质量体系下软件工程论文

1课程教学质量体系

1.1课程体系

课程设置直接反映软件工程专业学位硕士的培养目标,其课程体系主要由两部分构成:学位课程和非学位课程。其中,非学位课程包括公共选修课和专业选修课。专业选修课主要根据以下几个原则开设:①反映软件新理论、新方法的高新技术课程或讲座;②根据培养方向或模块设置的课程;③针对单位要求开设的课程;④完备的课程体系需要或课程发展要求。

1.2教学管理体系

学生必须按照培养计划选修课程,教师也要按照教学计划开展教学活动,教学管理者根据教学安排组织考核。讲授专业选修课的任课教师由工程能力强的教师担任。学生考试成绩实行学分制,考试不及格或因故未能参加考试的,在中期考核或开题前必须补考合格。学生至少修满32个学分才能进入下一阶段学习。

1.3实践教学体系

专业学位研究生培养主要进行应用技术培养或有明确应用背景的理论研究。根据培养目标,实践教学体系由以下几部分构成:①参加导师项目(横向或纵向)的研究开发;②在指定的工作站实习6个月;③自己联系IT公司实习6个月。为了保证实践教学工作有序进行,所有参加实践教学活动的学生必须填写申请表,由导师或实习单位指导教师签字、盖章,实习完毕提交实习报告。实习报告由以下几部分构成:①单位介绍或项目概述;②主要实习内容或项目开发模块;③实习或项目开发中取得的主要成果、存在问题及解决方案。

2培养质量体系

2.1培养计划制订

专业学位研究生培养计划一般包括培养目标、培养目的、培养要求、课程选择、课外阅读书目及期刊、培养方式等内容。培养计划应明确课程学习内容、所需知识结构、必须掌握的专业技术或技能、相关知识学习、研究方向或今后从事的工作领域。为了保证培养工作的顺利进行,学校一般在专业学位研究生报到后即指定指导教师,学生和导师根据软件工程领域专业学位研究生培养方案,结合实际情况、导师的研究课题或项目,在3个月内完成研究生培养计划制订。专业学位研究生培养计划应包括4个阶段内容。1)课程学习阶段。包括学位课和非学位课程学习、选修课程学习、课外阅读书目及期刊。2)实践学习阶段。明确实践学习单位或相关课题(项目)。3)中期考核及开题阶段。根据研究方向或项目要求查阅文献、撰写综述、进行中期考核、在综述的基础上进行课题的开题工作。4)论文撰写阶段。完成课题或项目实验及数据收集整理,撰写学位论文及毕业答辩。

2.2培养过程控制

培养过程控制主要包括时间节点控制、导师负责制、课程学习与实践学习、中期考核与开题报告、学位论文审核与答辩、学位授予等。

2.2.1时间节点控制

在规定的时间,设置相应的教学或培养目标,一方面使非全日制专业学位研究生明确任务,合理地安排好自己的工作与学习,准时返校;另一方面规范教学培养管理工作,从培养程序、制度上保证培养质量。

2.2.2导师负责制

对于非全日制学生,刚入学即分配校内导师和校外导师,这样可以使他们尽快了解导师的研究方向或项目、本专业的课程设置、本专业所需要的知识结构,根据学校或学院的学习安排和制度,提前安排自己的工作和学习。导师的职责是指导学生制定培养计划、督促学生的课程学习或实践学习、指导学生进行中期考核和撰写开题报告、协助和监督学生的实践学习、指导和审核学生的学位论文、指导学生进行学位论文答辩。如果导师指导的学生由于外审不通过而未能按期毕业,导师将承担相应的经济责任,减少招收相应数量的硕士研究生(全日制和非全日制)。若导师连续2年有学生因外审不通过未能按期毕业,将停止招收硕士研究生1年。

2.2.3课程学习与实践学习

按照教指委的要求,专业学位研究生课程一般由12~14门课组成,其中高级软件工程、软件测试、软件项目管理与案例分析是必须开设的课程,总学分达到32学分,实践单位评价为合格。考虑非全日制学生的工作和学习特点,对于因客观原因未能参加考试或考试不及格者,统一在中期考核前1周进行补考。

2.2.4中期考核与开题报告

只有课程学习和实践学习全部合格者才能进行中期考核和开题报告。为防止中期考核和开题报告流于形式,保证开题报告工作顺利进行,原则上实行教师交叉开题,成员全部由教授组成。

2.2.5学位论文审核

学生只有通过了中期考核与开题报告才能申请学位论文答辩。为了保证专业学位研究生论文质量,我们建立了严格的论文审核制度:所有论文必须经过院教授委员会审核、学院组织的、外校的盲审,只有通过教授委员会审核通过、率符合要求、外校盲审通过的论文才能获得答辩资格。学位论文初稿必须于第3年8月底前提交,9月初学校组织院教授委员会进行初审。在初审中,我们只对学位论文提出限期整改要求,不淘汰任何一篇学位论文。学位论文第2稿必须在导师的指导下,根据初稿意见进行整改,并于第3年10月7日前提交,10月中旬院教授委员会根据初稿的整改要求进行复查,同时学院进行学位论文。未按照整改要求逐条进行修改或率高于30%的学位论文一律暂缓答辩,作延期毕业1年处理。率在20%~30%之间的学位论文,要求根据意见进行整改。学位论文第3稿必须根据意见进行整改,并于第3年10月中旬前提交。10月中旬学院对提交的论文进行第2次,率高于20%的论文淘汰,作延期答辩1年处理。率低于或等于20%的论文提交学校研究生院进行盲审抽检(随机抽检,比例为5%~10%,之前有学生学位论文盲审不通过的指导教师,本次必抽检),其余论文全部由学院送外校同行专家盲审。通过学校、学院盲审的学位论文才能获得答辩资格。专家评阅意见为“修改后重审”和“不同意答辩”的,论文一律视为不通过,未通过的学位论文作延期1年毕业处理。

2.2.6学位论文答辩

为了保证学位论文答辩工作有序进行,把真正优秀的学位论文推选出来,同时把在论文答辩中发现的问题及时反馈给导师,论文答辩实行导师回避制。原则上导师不参加所指导学生的答辩工作,参加答辩小组的导师实行交叉答辩,答辩小组全部由学科负责人和教授组成。答辩小组成员由学院统一安排,并在答辩前公布。所有论文答辩中发现的问题,学校会反馈给导师和学生,要求学生必须在最终提交的学位论文中修改,同时提交由学生、导师签字的“答辩论文修改情况反馈表”。

2.2.7学位授予

校、院学位委员会负责学位授予工作。院学位委员会对最终提交的“学位论文”“答辩论文修改情况反馈表”“学位申请表”进行最终审核,符合条件的学位论文,通过院学位委员会的审核,报送校学位委员会审核,授予软件工程领域工程硕士专业学位。学院将于每年3月中旬举行学位授予仪式,表彰院优秀论文获得者和指导教师,获得院优秀的论文,将被推荐参加校优秀专业学位硕士论文评选。

2.3管理信息系统

随着专业学位硕士招生规模的不断扩大,为了加强管理和提高培养质量,我们设计了专业学位硕士管理信息系统,系统主要由信息、学籍管理、教学管理、经费管理、信息查询、报表打印和文件管理等模块组成。通过该系统我们可以方便地管理学生的学籍、课程学习成绩、学生导师分配情况、中期考核、学位论文档案等。实行信息化管理专业学位硕士教学档案,为提高培养质量提供了有力支撑。

3结语

经过几年的实践,软件工程领域专业学位研究生的招生规模在不断扩大,目前已达到近30人,毕业率和就业率达到100%,许多学生进入著名的IT企业,如腾讯、阿里巴巴,还有很多学生考取了博士研究生或成为企事业单位的技术骨干,毕业生受到了用人单位的广泛好评。软件工程专业学位硕士培养质量体系的建立是一个复杂的过程,实践中还有许多问题有待进一步研究解决。下一步我们将研究课程设置如何更紧密地结合社会需求、如何提高实践性学习效果、如何与实习单位或企业工作站建立紧密合作关系、如何提高学位论文的应用性背景等。

作者:杨云 李斌 林雪美 李玉军 单位:扬州大学信息工程学院 扬州大学研究生院

软件工程论文:院校软件工程专业人才培养手段研究论文

[摘要]针对普通高校软件工程专业本科生提出的以就业为导向的无缝人才培养模式与传统的校企合作、工学结合模式不同,它不是直接与用人企业开展合作,而是与IT教育培训机构进行合作,通过集中实习实训、课程嵌入、弹性学习、建立就业基地等多种形式,实现学校培养与IT软件企业用人的无缝对接。研究表明:无缝人才培养模式可提高软件工程专业本科学生的实际动手能力,可培养他们的团队合作精神,增强就业竞争力,最终实现零距离就业。

[关键词]软件工程;无缝培养模式;IT培训机构

一、高校软件工程专业学生的就业现状与困惑

从近几年软件类各专业本科毕业生就业流向来看,到机关、科研和部队等事业单位就业的越来越少,今后大多数软件类本科生将到各类IT企业就业。而现状是:一方面大量的这类本科毕业生为找不到合适的工作而着急,另一方面,众多IT企业又在为招不到所需要的人才而发愁,这种就业难和选才难并存的怪现象困惑着各高校的IT教育工作者,也困扰和影响着我国IT产业的发展。

问题出在那里?显然是目前高校培养的学生不能满足企业的要求。一方面大多数普通高校还在沿用传统的人才培养模式,所培养的学生工程技术能力差;另一方面校企实质性的合作未能开展(因为现在的企业不愿接收学生实习),即便录用后,往往要花上一年以上的时间培训,才能独立承担技术工作,也就是说,学校和企业之间存在一个很大的缝隙,无法直接对接,学生需要相当长的适应期(企业再培训期)才能上岗。近几年,针对我院的软件工程专业本科生,我们开展了人才培养模式方面的一些教学研究和实践,摸索出一种以就业为导向的软件类专业本科生无缝人才培养模式。这种模式与传统的校企合作、工学结合模式不同,它不是直接与用人企业开展合作,而是与IT教育培训机构进行合作,通过集中实习实训、课程嵌入、弹性学习、建立就业基地等多种形式,训练学生的实际动手能力,培养零适应期的软件类本科毕业生,实现学校与IT软件企业的无缝对接。这样拓宽了高校软件类本科生的就业渠道,极大地提高了学生的就业竞争力,最终实现零距离就业。

二、传统人才培养模式的不足

目前国外在这方面开展的是一种非常流行的所谓合作教育(Co-OpEducation)模式,这种模式在世界43个国家的1500所大学中实施,包括美国1000所的20万本科学生,其中不乏世界一流大学,如麻省理工学院、乔治亚理工学院等。合作教育是一种非常严谨和严格的产学合作办教育的模式,学生在校期间轮流在学校学习和在产业实践;在产业实践期间顶岗工作、有报酬,学生毕业前已积累较丰富的产业工作经验,受到产业界的欢迎。这种模式实际上是一种校企合作、工学结合的模式。但是由于受经费、管理体制等因素的制约,当今的中国企业不愿接受学生实习,普通高校教学体制也不允许与企业合作办学。这就导致了传统的培养模式难以达到培养的目的。然而以就业为导向,与IT教育培训机构合作,培养零适应期软件类本科生的无缝培养模式正好可以解决这一现实问题。

三、国内高端软件人才的需求状况

我们利用计算机网络和到IT软件企业发放问卷、实地考察、访谈等方式,对目前国内高端软件人才需求状况、岗位设置、岗位的素质和能力要求等方面进行了历时二个多月的调查。

1.高端软件人才的需求势头不减。据有关部门统计,在未来3年内,每年至少存在20万高端软件人才的缺口。IT企业的健康快速发展需要3类人才。第一类是既懂技术创新又懂管理的IT高级人才;第二类是系统分析及设计人员白;第三类是熟练程序员。其中,一高一低两头的人才较缺。

另据国家教育部有关信息提供:中国软件还缺人才1000万人,如果以目前全国高校每年培训培养30万毕业生的规模计算,也需用30多年。

2.软件人才的岗位设置和对素质和能力要求发生了变化。近年来,随着IT业的发展,出现了一些新的岗位,如:多媒体设计工程师、网络系统管理员、网络构建工程师、中大型数据库管理员、软件测试工程师、WEB应用程序员、平面设计师等,这些岗位对人才的素质和能力有了更高的要求。

如:中大型数据库管理员要求能应用关系范式进行数据库设计,精通SQL语言,胜任数据库服务器管理与应用工作。获取Oracle数据库管理或SQLServer数据库应用或WindowsXP应用认证。而网络系统管理员要求掌握网络系统管理的基本知识与应用技能,能进行网络系统的安全设置。获取Window2000Server或TurboLinuxTLCE或Cisco路由配置专家认证。因此,我们可以将计算机人才岗位划分为以下几个就业岗位群:软件开发与应用(含可视化编程、WEB应用程序设计、软件测试、计算机办公应用),网络系统管理与构建(含网络构建、网络系统管理),多媒体设计与应用(含多媒体制作、图形图像制作、平面设计)。

调查发现,几年高端软件人才的需求仍是持续上升的,虽然08年爆发了金融危机,但高端软件人才的需求势头不减,对岗位的素质和能力要求进一步提高。

四、无缝人才培养模式的内容、特点和运行机制

所谓无缝人才培养模式就是以就业为导向开展软件工程专业本科教育,实施与IT教育培训机构的企业化项目实训合作,而不是校企合作或工学结合模式,以提高学生的实际动手能力,从而实现与用人单位的无缝对接,达到零距离就业。IT教育培训机构与校方的合作方式简单、切实可行,实训项目和教师由培训机构提供,学生既可以在校内利用学校机房进行培训,也可以外出到培训机构所在地去进行培训;另外,实训项目都是面向企业实际的企业化实战项目,教师也都具有项目开发的实际经验,所以无缝培养模式具有针对性、实用性强、企业化环境、便于操作、费用少、学生易于接受等特点。

这几年我们与中国软件国际有限公司(中软国际)、上海杰普科技有限公司、北京全美教育技术有限公司(ATA)、广州达内教育科技公司等多家IT培训机构进行了有效合作,做了一些有益尝试,也积累了在运行机制和管理体制方面的经验。在合作方式和运行机制方面,我们采取:一是让机构开展校内培训、生产实习企业化的试点,即请进来。

二是走出去,我们派出青年教师到上海和广州进行企业化项目师资的培训,培养双师型师资队伍。三是与机构建立长期合作关系,既重视准企业环境中的实训,更重视实训后的就业。

五、以就业为导向的软件人才培养实施方案实施方案面向省属普通高校本科学生,适合计算机科学与技术、软件工程、自动化、电子信息工程、通信工程等专业。

1.方案实施的原则(1)基于无缝培养模式的计算机人才培养实施方案强调的不是与用人企业的合作,而是与IT培训机构的合作,通过实习实训、课程嵌入、弹性学习、建立就业基地等多种形式,在企业环境中通过项目实战,训练学生的实际动手能力。

(2)坚持以就业为导向的原则,采取企业化项目实习的培养途径,培养零适应期的计算机高端应用人才。

(3)充分利用IT培训机构与众多企业广泛的联系,以及这些企业对这些IT培训机构所培训学生能力的认可,搭建校企之间的桥梁,填补校企之间的缝隙。

(4)学生自愿参加培训,由IT培训机构负责将其培训后的学生直接推荐到相关企业就业。

2.方案的组成和内容。实施方案由学习学期和实习实训学期两部分组成。内容主要包括:学习学期课程嵌入、弹性学习在教务及时间上的安排,实习实训学期实训内容、合作方式、学生组织及保障机制的安排,就业实习基地建设,双师型师资队伍建设和管理体制等。在制定方案时,坚持以就业为导向,采取企业化项目实习的培养途径。

3.方案实施的保障与管理。要使方案能得到真正实施,就必须要有稳定、可靠并且切实可行地保障与管理措施。人才培养实施方案是一项系统工程,需要学校、学院各有关职能部门的支持,如:教务、实验管理、学生管理、财务经费、就业统计等方面的支持,这些支持在实际运作中都是缺一不可的,否则方案的实施无法得到保障。同时方案在具体实施中的监督和管理也很重要,如:实习实训的内容和方式有无变化?学生的学习和生活有无困难?能否接受?教师教学的质量如何?学院对在外地实习学生的安全管理、方案实施后毕业生的就业统计及跟踪等。

就政府层面来讲,应从政策和财力上大力支持和鼓励IT教育培训机构开展面向本科毕业生的实习期和实训,提高毕业生的实际动手能力,使之成为社会需求的人才。这方面上海市政府、广州市政府和深圳特区做得较好,相继出台了一些鼓励政策。如:广州市政府规定凡是经培训后在广州市内IT企业就业,且签定一年以上合同的本科以上的毕业生,将减免培训费40%-60%,这一政策极大激发了学生的实习积极性。

就IT培训机构来讲,要保障方案的实施就应更加注重后期就业的问题。上一届毕业生经培训后就业率越高,对后一届毕业生的影响就越大,等于为后一届学生做了一个活广告,那么后续参加实训的学生就会越来越多,形成良性循环。

培训机构本身也会越做越大,越做越强。

五、开展无缝人才培养模式的实践

近些年来,一方面我们与上海杰普科技有限公司、中信软件教育公司等机构开展了校内培训、生产实习企业化的试点,即把两周的教学生产实习交给IT教育机构,由他们派来师资,带来设备和项目,使用我们学院的机房让学生实习,学生通过初步尝试带项目的实习,往往会对这种实际项目的操作开发产生强烈的兴趣,自愿做出进一步到对方公司培训3-4个月的决定,从而在毕业前已具有相当地实际项目开发经验,大大提高了就业竞争力。二是我们派出了4位青年教师到培训机构进行企业化项目师资的培训,培养双师型

师资,为以后实习节约资源,也降低了学生实习成本。三是与培训机构建立了长期合作关系,既重视准企业环境中的实训,更重视实训后的就业,我们与其中5家机构签订了就业实习基地协议,由对方每年定量保证我院经项目实训后的毕业生就业。今年还开展了校外集中培训、3+2模式(校内3个月,到公司2个月)实习及后期就业等方面的合作。到目前为止,前后已有400多名本科生参加了实习实训。目前已有372人就业,其中有不少就职于IBM、中软国际、中兴通讯、广东电信等大型IT企业,月薪平均达到3000元,就业率达到93%。96%的学生认为自己的动手能力、团队精神和职业素质有很大的提高。

六、几点思考

目前,各高校明显加大了对就业工作的指导力度和就业教育力度。为此,我们一直思考以下几个问题:

1.对定位于教学研究型的大学(如:我校),能否将部分专业如:计算机科学与技术、软件工程等专业确定为以就业为导向开展本科教育的专业?修订原有的泛而不精、万金油式人才培养方案,确定专业应用型(无缝培养模式)人才培养方案。

2.目前我们与IT教育培训机构的合作,在模式、机制和信用等方面还处在初级阶段,还有许多事情需要不断完善。

如:培训机构本身的发展和政府政策的稳定和延续性等问题。

几年来的实践和研究表明:在现行高校管理体制和就业形势下,同IT教育培训机构合作培养高端计算机人才,这种无缝人才培养模式是可行的、成效是显着的。通过项目实训培养了学生的团队合作精神,提高了学生的就业竞争力,这在当前全球金融危机背景下显得尤为重要。同时,它还在一定程度上解决了目前高校理论教学与实践脱节,学生普遍动手能力不强,缺少实际工作经验等问题,拓宽了学生的就业渠道,使学校可共享IT培训机构的就业资源;也降低了学校指导学生就业、学生寻找就业职位的成本,减轻了学校的就业负担和就业压力,因而得到学校和社会的普遍认可。

当然还有一些问题有待进一步的研究和解决,如:贫困学生难以负担实训经费、学生就业后所欠培训费分期还款是否守信用等问题。

软件工程论文:课程群构建软件工程论文

1课程群的构建与实践

1.1课程群构建

构建课程群要明确同一课程群或不同课程群涉及的不同课程间知识的融通和衔接,如专业基础课程群中的Java语言程序设计、数据结构课程要与后续课程Struts网站开发、Android手机项目开发课程进行无缝衔接,以确保学生有扎实的基础和科学的知识结构.同时,应结合CDIO模式将理论教学与实践教学有机结合,避免学生教与学迷茫,将学生的思维方法与创新能力有机结合.课程群的构建要根据学生的综合因素设定必修课程,学生也可以根据个人兴趣爱好及未来择业方向选取不同的课程群.

1.2课程群的实践体系

软件工程专业课程群是以软件技术应用性为主的课程群,实践课程群体系直接影响到学生能力的培养.为此,对课程群的实践体系进行了改革.一是改善该课程群的实验环境[8],更新了60台计算机设备,提高了内存、硬盘容量等,建立了软件实验室两个校内实践基地;二是增加了软件项目管理等课程的设计性与综合性实验;三是新增了Android手机移动开发课程的课程设计;四是实验开放项目立项.形成了完整的实验、课程设计、校内实践与实验开放项目一体化的实践课程体系.

1.3课程群的实施方案

鼓励学生基于课程群内容开展课外创新项目,或直接参与教师的科研项目构思、设计与实施,学生可以选择基于Android的游戏设计开发游戏项目,也可以选择Eclipse等工具开发桌面程序或企业项目等,培养创新能力;鼓励学生组成团队,自己申报立项,结合课程研究项目动手完成自主实验,并积极组织开展以各种APP程序设计类竞赛为主的实验项目,以推进大学生科研训练计划.同时,学生能够运用所学的知识,发挥自身的主观能动性,积极进行创新性思维,提高专业应用能力、技术开发能力及团队协作能力等.

2结语

通过对软件工程专业课程群的建设,建立了相对合理的课程体系,整合、充实、更新各门课程的教学内容与资源.同时,培养了一批高水平的课程群师资队伍,彰显软件工程专业特色,并辐射带动其他方向基础课程和专业课程的建设,形成满足CDIO工程教育模式,促进学生知识、能力和综合素质协同发展的内容先进、结构优化的课程群建设体系.课程群的建设能够以点带面,更好地服务于创新型人才的培养目标.

作者:马晓梅 乔付 顾泽元 王海玲 房春英 单位:黑龙江科技大学