CDIO工程硕士论文

时间:2022-10-30 02:43:45

CDIO工程硕士论文

1软件工程硕士培养现状

近年来,随着我国软件产业的快速发展,软件工程硕士培养也取得了长足的进步。在取得进步的同时,软件工程硕士培养也存在巨大的挑战:现有的软件工程硕士培养过程存在着重视理论和技术、轻视实践、忽视运作(指推广应用和运营)等问题。其特点是:①在办学机制上,基本是以学校为中心,缺乏与产业和社会的沟通和互动;②在教学方法上,以教师为中心,以课堂讲授为主,以理论考试成绩评价学生学习;③在师资建设方面,片面强调高学历、高学位,缺乏对教师产业背景和工程实践经验的要求;④在课程设置上,以学科为导向,强调知识的完备性和系统性;⑤在评价体系上,注重学生理论学习和考试成绩,缺乏对实践能力的考核。但为了解决上述问题,又走向了另外一个极端,出现了片面强调实践环节、不重视理论基础、忽视“运作”的问题,从而造成理论和实践之间的比重摇摆不定、没有一个既定的方针、按下葫芦浮起瓢的局面。因此,探索一条新的符合产业发展要求的新型软件工程硕士培养模式,就必须从解决上述“脱节”着手。

2借鉴CDIO工程教育模式,提出SE-CDIO方法

鉴于传统的软件工程硕士培养过程存在从理论到技术、从技术到生产、从生产到运行的脱节,CDIO工程教育模式强调以产品从构思研发到运行的生命全过程指导教学过程,这与软件工程硕士培养需求非常吻合。为此,我们结合国情和软件工程人才培养的要求,将CDIO工程教育模式与软件工程相结合,提出了软件工程硕士培养的SE-CDIO方法(SE是软件工程的英文缩写),实施软件工程硕士培养的改革与创新。SE-CDIO方法的内涵是让学生经历从理论到技术、从技术到生产、从生产到运营的全过程。进一步说,它是与软件生命周期紧密结合而提出的软件工程人才培养模式,以软件生命周期为载体,集构思(理论)、设计(技术)、实现(落实)和运作(推广应用和运营)于一体,让学生主动地、实践地、各阶段有机联系地学习,经历从理论到技术、从技术到生产、从生产到运营的全过程,让理论、技术、实践、运营各部分按比例协调发展,并能根据实际情况动态调整。具体而言,各阶段的要求如下:(1)构思阶段(C):运用软件工程原理,构思学生毕业论文所需研发的项目。该项目要求与学生的实际工作背景相关,在分析、思考、讨论和调研的基础上,进行可行性研究和需求分析,并按照国家标准《GB/T8567—2006计算机软件文档编制规范》(以下简称国标)的要求完成《软件需求规格说明》等相关文档的编制。(2)设计阶段(D):运用软件工程方法,完成软件系统的设计,包括软件体系结构设计、构件设计、数据库设计和接口设计,从而进一步加深学生对软件工程原理、方法和技术的理解和再认识,并按照国标完成《软件设计说明》等相关文档的编制。(3)实现阶段(I):在计算机上完全实现软件系统并完成所有测试。本阶段培养学生的实干精神、工程能力和团队精神,并按照国标完成软件测试报告软件产品规格说明等相关文档的编制,完成全部源代码的编写。(4)运作阶段(O):实现软件系统的运营,包括建立应用、营销和服务渠道,让系统投入实际应用,培养学生的市场能力和服务能力,最后完成软件产品运作总结(国标没有规定,由教师确定写作大纲)及其他相关文档。

3软件工程硕士培养过程

SE-CDIO为指导的软件工程硕士人才培养过程由构思、设计、实现、运作4个活动组成。需要说明的是,Petri网是1962年由德国科学家C.A.Petri在博士论文《用自动机通信》中创立的一种网状结构,被称为“Petri网”[7]。Petri网是一个四元组Σ=(P,T,F,M),其中:①P∪T≠f,习惯称P为库所集,T为变迁集;②P∩T=f;③F(P×T)∪(T×P),称F为流关系;④映射M:P{0,1,2,3}称为Petri网的一个标识。通常用M0表示Petri网的初始标识。通常,为了图形化的直观表示接口Petri网,用圆圈表示P中的元素,用矩形框表示T中的元素,用有向边表示F中的元素,若(x,y)∈F,则从x到y画一条有向边。

3.1构思活动的细化过程

构思活动输入“研发项目的想法”,输出“软件需求规格说明”,其细化过程如图1所示。具体而言,选择需求分析方法是指学生可以选择采用面向对象分析方法,或结构化分析方法,对研发项目进行需求分析。若采用面向对象的需求分析方法,则业务需求描述需采用活动图,给出具体的业务流程;功能需求分析需采用用例图和用例说明,给出具体的功能需求描述;数据需求分析需采用概念类图,给出具体的数据需求描述;非功能性需求分析需采用文本方式,给出具体的非功能需求描述。若采用结构化的需求分析方法,则业务需求描述需采用流程图,给出具体的业务流程;功能需求分析需采用数据流图和数据字典,给出具体的功能需求描述;数据需求分析需采用IPO(inputprocessoutput)图,给出具体的数据需求描述;非功能性需求分析需采用文本方式,给出具体的非功能需求描述。

3.2设计活动的细化过程

设计活动输入“软件需求规格说明”,输出“软件设计说明”,其细化过程如图2所示。具体而言,选择设计方法是指学生可以选择采用面向对象的设计方法,或结构化的设计方法,对研发项目进行设计。若采用面向对象的设计方法,则总体设计需采用包图给出系统的体系结构设计;功能模块设计包含两个子活动:功能结构设计和功能设计,其中,功能结构设计也需采用包图给出具体模块的结构设计。功能设计包含3个任务:类图设计、时序图设计、核心处理流程设计(活动图给出)。若采用结构化的设计方法,则需采用层次结构图(即H图)给出系统的体系结构设计;功能模块设计包含两个子活动功能结构设计和功能设计,其中,功能结构设计也需采用层次结构图给出具体模块的结构设计;功能设计包含3个任务:输入数据设计、输出数据设计、处理数据设计,并给出处理流程图。需要说明的是,学生选择的需要分析方法必须与选择的设计方法保持一致。也就是说,不允许在构思阶段选择结构化需求分析方法,但在设计阶段选择面向对象的设计方法。

3.3实现活动的细化过程

实现活动输入“软件设计说明”,输出“软件产品”,其细化过程如图3所示。首先,依据“软件设计说明”,选择合适的程序设计语言。随后,对各功能模块进行并行编码实现。再经过单元测试、功能测试、系统测试和验证测试,以最终完成软件产品的开发。

3.4运作活动的细化过程

运作活动输入“软件产品”,输出“软件变更记录”“用户手册”“客户满意度测试报告”。其细化的过程如图4所示。具体而言,变更管理和版本管理是指学生就试运行阶段和产品维护阶段产生的问题,对系统进行设计优化及编码改进。为方便对整个项目的监控,在改进的同时进行变更控制及版本控制,并产生“软件变更记录”。用户培训要求学生编写“用户手册”辅助产品使用者了解产品。试运行阶段是指学生将产品移植到用户使用环境中进行测试。若测试结果表明存在问题,学生需进入设计优化阶段对产品进行变更,为了使开发过程高效且可控,学生需进行变更控制。若测试结果良好,产品进入阶段。后用户将产品使用中出现的问题反馈给学生,学生需根据问题进行软件维护。软件维护包含纠错性维护、适应性维护、完善性维护及预防性维护多个方面,每个方面都会涉及对软件的改进和演化。在改进和演化同时产生版本的变更,为此学生需进行版本控制;根据需要定期向用户发送“顾客满意度调查表”,收集相关意见和建议;分析产品或体系存在的问题,识别改进时机、改进地方及宜采用的纠正和预防措施,并编写“客户满意度测试报告”;当项目组对项目进展进行内部审核结束后,软件开发过程正式结束。此时学生需要整理开发过程中产生的文档,将其归档,以作日后类似产品开发的参考及借鉴,最后完成软件产品运作总结。

4结语

事实证明,SE-CDIO为指导的软件工程硕士人才培养过程符合软件工程硕士的培养需要,有效改变了软件工程硕士培养过程中的不规范、随意等问题,取得了良好的人才培养效果。针对软件工程硕士培养的要求,我们今后将继续完善SE-CDIO方法,从课程体系和实践教学体系方面,进一步探索人才培养的策略和方法。

作者:李彤代飞沈勇单位:云南大学软件学院

上一篇:馆校结合的美术教育论文 下一篇:审美教育的美术教育论文