打开文本图片集
摘要:针对软件工程硕士培养存在的问题,借鉴CDIO工程教育模式,结合国情和软件工程硕士培养的要求,提出软件工程硕士培养的SE-CDIO方法,从构思、设计、实现、运作等4个阶段阐述如何建立软件工程硕士分阶段的人才培养过程,实施软件工程硕士培养的教学改革与创新。
关键词:软件工程硕士;人才培养过程;CDIO;人才培养方法
0.引言
软件产业作为国民经济信息化的基础,已经涉足工业、农业、商业、金融、科教文卫、国防和百姓生活等各个领域。由于软件产业的发展和软件在各行各业的广泛应用,软件工程师在规模上已大大超过了硬件工程师,人才需求日益旺盛且缺口较大。为适应我国经济结构战略性调整,实现软件产业和软件人才培养的跨越式发展,国务院国发[2011]4号文件《国务院关于印发进一步鼓励软件产业和集成电路产业发展若干政策的通知》中,以三个条款的强度,明确要求“要加强软件学院和软件工程专业的建设”,进一步要求软件学院必须成为国家高层次软件人才的培养基地,以培养出符合市场要求、面向产业发展的工程型国际化的软件人才。
长期以来,由于培养目标单一,高校软件工程硕士培养不论在数量上还是在质量上,都不能满足产业高速发展的需要,无法为产业的发展壮大提供强有力的支持。软件工程硕士来源庞杂,专业背景、工作背景千差万别,培养过程中存在不规范的情况。及时转变办学观念,以工程型、国际化软件人才培养为目标,从过程管理的角度,提出将CDIO工程教育模式引入到软件工程硕士培养过程,从构思、设计、实现、运作4个阶段,对软件工程硕士的培养环节进行规范,以确保人才的培养质量。
1.CDIO工程教育模式与软件工程硕士培养现状
1.1CDIO工程教育模式
CDIO工程教育模式是近年来国际工程教育改革的最新成果,是由麻省理工学院、瑞典皇家工学院等4所大学,自2000年起,经过4年探索研究后创立的先进工程教育理念。CDIO模式以构思(conceive)、设计(design)、实现(implement)、运作(operate)为主线,以产品从研发到运行的生命周期为载体,将基础知识、个人能力、团队协作与社会环境融合在一起,注重理论与实践的结合。CDIO教学模式应用于我国的一些高校,已经取得了初步成果。
1.2软件工程硕士培养现状
近年来,随着我国软件产业的快速发展,软件工程硕士培养也取得了长足的进步。在取得进步的同时,软件工程硕士培养也存在巨大的挑战:现有的软件工程硕士培养过程存在着重视理论和技术、轻视实践、忽视运作(指推广应用和运营)等问题。其特点是:①在办学机制上,基本是以学校为中心,缺乏与产业和社会的沟通和互动;②在教学方法上,以教师为中心,以课堂讲授为主,以理论考试成绩评价学生学习;③在师资建设方面,片面强调高学历、高学位,缺乏对教师产业背景和工程实践经验的要求;④在课程设置上,以学科为导向,强调知识的完备性和系统性;⑤在评价体系上,注重学生理论学习和考试成绩,缺乏对实践能力的考核。但为了解决上述问题,又走向了另外一个极端,出现了片面强调实践环节、不重视理论基础、忽视“运作”的问题,从而造成理论和实践之间的比重摇摆不定、没有一个既定的方针、按下葫芦浮起瓢的局面。因此,探索一条新的符合产业发展要求的新型软件工程硕士培养模式,就必须从解决上述“脱节”着手。
2.借鉴CDIO工程教育模式,提出SECDIO方法
鉴于传统的软件工程硕士培养过程存在从理论到技术、从技术到生产、从生产到运行的脱节,CDIO工程教育模式强调以产品从构思研发到运行的生命全过程指导教学过程,这与软件工程硕士培养需求非常吻合。为此,我们结合国情和软件工程人才培养的要求,将CDIO工程教育模式与软件工程相结合,提出了软件工程硕士培养的SE-CDIO方法(SE是软件工程的英文缩写),实施软件工程硕士培养的改革与创新。
SE-CDIO方法的内涵是让学生经历从理论到技术、从技术到生产、从生产到运营的全过程。进一步说,它是与软件生命周期紧密结合而提出的软件工程人才培养模式,以软件生命周期为载体,集构思(理论)、设计(技术)、实现(落实)和运作(推广应用和运营)于一体,让学生主动地、实践地、各阶段有机联系地学习,经历从理论到技术、从技术到生产、从生产到运营的全过程,让理论、技术、实践、运营各部分按比例协调发展,并能根据实际情况动态调整。具体而言,各阶段的要求如下:
(1)构思阶段(C):运用软件工程原理,构思学生毕业论文所需研发的项目。该项目要求与学生的实际工作背景相关,在分析、思考、讨论和调研的基础上,进行可行性研究和需求分析,并按照国家标准《GB/T 8567-2006计算机软件文档编制规范》(以下简称国标)的要求完成《软件需求规格说明》等相关文档的编制。
(2)设计阶段(D):运用软件工程方法,完成软件系统的设计,包括软件体系结构设计、构件设计、数据库设计和接口设计,从而进一步加深学生对软件工程原理、方法和技术的理解和再认识,并按照国标完成《软件设计说明》等相关文档的编制。
(3)实现阶段(I):在计算机上完全实现软件系统并完成所有测试。本阶段培养学生的实干精神、工程能力和团队精神,并按照国标完成软件测试报告软件产品规格说明等相关文档的编制,完成全部源代码的编写。
(4)运作阶段(O):实现软件系统的运营,包括建立应用、营销和服务渠道,让系统投入实际应用,培养学生的市场能力和服务能力,最后完成软件产品运作总结(国标没有规定,由教师确定写作大纲)及其他相关文档。
3.软件工程硕士培养过程
SE-CDIO为指导的软件工程硕士人才培养过程由构思、设计、实现、运作4个活动组成。需要说明的是,Petri网是1962年由德国科学家C.A.Petri在博士论文《用自动机通信》中创立的一种网状结构,被称为“Petri网”。
Petri网是一个四元组∑=(P,T,F,M),其中:①P∪T≠∮,习惯称尸为库所集,T为变迁集;②P∩T=∮;③F∈(P×T)∪(T×P),称F为流关系;④映射M:P→{0,1,2,3…}称为Petri网的一个标识。通常用Mo表示Petri网的初始标识。通常,为了图形化的直观表示接口Petri网,用圆圈表示P中的元素,用矩形框表示丁中的元素,用有向边表示F中的元素,若(x,y)∈F,则从x到y画一条有向边。
3.1构思活动的细化过程
构思活动输入“研发项目的想法”,输出“软件需求规格说明”,其细化过程如图1所示。
具体而言,选择需求分析方法是指学生可以选择采用面向对象分析方法,或结构化分析方法,对研发项目进行需求分析。若采用面向对象的需求分析方法,则业务需求描述需采用活动图,给出具体的业务流程;功能需求分析需采用用例图和用例说明,给出具体的功能需求描述;数据需求分析需采用概念类图,给出具体的数据需求描述;非功能性需求分析需采用文本方式,给出具体的非功能需求描述。若采用结构化的需求分析方法,则业务需求描述需采用流程图,给出具体的业务流程;功能需求分析需采用数据流图和数据字典,给出具体的功能需求描述;数据需求分析需采用IPO(input process output)图,给出具体的数据需求描述;非功能性需求分析需采用文本方式,给出具体的非功能需求描述。
3.2设计活动的细化过程
设计活动输入“软件需求规格说明”,输出“软件设计说明”,其细化过程如图2所示。具体而言,选择设计方法是指学生可以选择采用面向对象的设计方法,或结构化的设计方法,对研发项目进行设计。若采用面向对象的设计方法,则总体设计需采用包图给出系统的体系结构设计;功能模块设计包含两个子活动:功能结构设计和功能设计,其中,功能结构设计也需采用包图给出具体模块的结构设计。功能设计包含3个任务:类图设计、时序图设计、核心处理流程设计(活动图给出)。若采用结构化的设计方法,则需采用层次结构图(即H图)给出系统的体系结构设计;功能模块设计包含两个子活动功能结构设计和功能设计,其中,功能结构设计也需采用层次结构图给出具体模块的结构设计;功能设计包含3个任务:输入数据设计、输出数据设计、处理数据设计,并给出处理流程图。
需要说明的是,学生选择的需要分析方法必须与选择的设计方法保持一致。也就是说,不允许在构思阶段选择结构化需求分析方法,但在设计阶段选择面向对象的设计方法。
3.3实现活动的细化过程
实现活动输入“软件设计说明”,输出“软件产品”,其细化过程如图3所示。首先,依据“软件设计说明”,选择合适的程序设计语言。随后,对各功能模块进行并行编码实现。再经过单元测试、功能测试、系统测试和验证测试,以最终完成软件产品的开发。
3.4运作活动的细化过程
运作活动输入“软件产品”,输出“软件变更记录”“用户手册”“客户满意度测试报告”。其细化的过程如图4所示。具体而言,变更管理和版本管理是指学生就试运行阶段和产品维护阶段产生的问题,对系统进行设计优化及编码改进。为方便对整个项目的监控,在改进的同时进行变更控制及版本控制,并产生“软件变更记录”。用户培训要求学生编写“用户手册”辅助产品使用者了解产品。试运行阶段是指学生将产品移植到用户使用环境中进行测试。若测试结果表明存在问题,学生需进入设计优化阶段对产品进行变更,为了使开发过程高效且可控,学生需进行变更控制。若测试结果良好,产品进入发布阶段。发布后用户将产品使用中出现的问题反馈给学生,学生需根据问题进行软件维护。软件维护包含纠错性维护、适应性维护、完善性维护及预防性维护多个方面,每个方面都会涉及对软件的改进和演化。在改进和演化同时产生版本的变更,为此学生需进行版本控制;根据需要定期向用户发送“顾客满意度调查表”,收集相关意见和建议;分析产品或体系存在的问题,识别改进时机、改进地方及宜采用的纠正和预防措施,并编写“客户满意度测试报告”;当项目组对项目进展进行内部审核结束后,软件开发过程正式结束。此时学生需要整理开发过程中产生的文档,将其归档,以作日后类似产品开发的参考及借鉴,最后完成软件产品运作总结。
4.结语
事实证明,SE-CDIO为指导的软件工程硕士人才培养过程符合软件工程硕士的培养需要,有效改变了软件工程硕士培养过程中的不规范、随意等问题,取得了良好的人才培养效果。
针对软件工程硕士培养的要求,我们今后将继续完善SE-CDIO方法,从课程体系和实践教学体系方面,进一步探索人才培养的策略和方法。
(编辑:郭田珍)
扩展阅读文章
推荐阅读文章
花田文秘网 https://www.huatianclub.com
Copyright © 2002-2018 . 花田文秘网 版权所有