摘 要:针对当前计算机专业硕士软件工程实践教学偏向“粗放型”、缺乏个性满足、过程管理及考核不完善的教学实际,分析专题教学模式的特点及专业硕士软件工程实践教学目标和内容,探讨如何以“原型法需求分析实践”为例开展软件工程专题实践教学,提出基于专题教学的软件工程实践教学方案。
关键词:专业硕士;专题;软件工程;实践教学;原型法;需求分析
0引 言
随着计算机技术在各专业领域的广泛应用,软件工程成为软件分析、设计、测试、维护和管理等的核心课程。该课程的学科交叉性、工程性及领域相关性等带来的复杂性使得其教学需采取循序渐进、多层次的模式。本科层次主要培养软件工程的基础知识和基本实践能力;研究生层次主要培养软件工程理论基础、技术和方法[1],其中学术型硕士专注于理论创新的培养,工程型硕士专注于技术和方法应用的培养。对于工程应用型的计算机专业硕士而言,软件工程课程的培养目标是在本科层次教育的基础上,一方面从软件开发方法和技术上着重于学生软件分析、设计、构造、实施及维护等能力的培养和提升,另一方面从软件工程组织和管理上着重于学生工程能力的培养和提升。因此,在加深理论教学的同时,加强实践教学是计算机专业硕士软件工程课程教学的核心内容。
1计算机专业硕士软件工程实践教学现状
当前计算机专业硕士软件工程实践教学主要存在以下问题。
(1)实践教学体系偏向“粗放型”[2]。实践教学主要采取基于项目的分组实践模式,即课堂授课结束后,学生自由组队形成项目组,选择一个软件项目来完成后提交给教师检查,这种模式缺乏针对软件生命周期各阶段的实践训练,未能实现分析、设计、构造、实施及维护等软件工程各阶段的精细锻炼和培养。
(2)教学模式不能满足学生个性需求。随着专业学位硕士的扩招,来自不同本科院校的计算机专业硕士生软件工程实践能力水平参差不齐,有的学生已经接受过较多的软件项目实践训练,具备较好的实践基础,而有的较少或几乎没有参与过软件项目实践,实践基础薄弱。目前的实践教学模式未能针对各种层次学生的实际情况,因材施教,使每个学生能在自己原有的实践基础上有更大的提高。
(3)实践教学过程管理及考核模式不完善。当前实践教学过程教师参与度较低,未能对实践过程进行合理的跟踪和引导,实践过程经常变成由项目组核心的一两个成员完成整个项目,而其他成员参与较少。教学考核模式未能针对学生的方法、技术、实践能力及工程组织和管理能力对学生进行精准的评定。
2基于专题的软件工程实践教学
专题教学[2-3]是根据教学目的和重点内容,将教学内容归纳成若干个专题,然后围绕每个专题展开深入分析和讲解的一种教学方式,适合内容繁杂、知识点多的文科类课程及已经具备本科专业基础的研究生的课程教学。与传统按章节体系顺序教学的扁平模式相比,专题教学以教学重点内容为核心,围绕核心内容深入透彻地展开,属于精讲、“集约型”[2]的纵深模式教学。结合软件工程知识体[4](SWEBOK)及计算机专业硕士培养目标,软件工程实践教学划分为7个专题:软件需求分析实践、软件设计实践、软件测试实践、软件过程实践、软件质量实践、软件管理实践、软件综合实践。在教学学时较充分的情况下,将教学内容较多的专题进一步划分为子专题,尽量提高教学的精细度。专题教学模式要求每个专题的教学目标明确,教学具体内容和安排设计准确,根据不同教学内容特点,采取多元化教学模式,达到精益求精的效果。
3基于专题的软件工程实践教学案例设计
精准需求分析是软件开发成功的核心环节,在众多需求分析方法中,原型法在實践中是最为有效的一种需求分析[5-6]方法。与瀑布模型等其他方法相比,原型法可以有效解决用户需求不明或变更而造成的开发效率低下、失败及成本增加等问题,是需求工程开展的最佳实践方法之一,因此在软件需求分析实践专题中,该方法需要精讲,使学生理解透彻并能熟练应用。以“原型法需求分析实践子专题”为例说明基于原型法的需求分析专题实践教学方案的详细设计。
3.1教学目标
“软件需求分析实践教学专题——原型法需求分析实践子专题”的教学目标:①学生既能够掌握该方法的原理及运用,又能够熟悉需求分析的全过程;②学生能够领会该方法与其他需求分析方法的异同点、优缺点,发现应用该方法的关键环节及注意事项;③学生在专题实践中锻炼以下工程实践能力:用户沟通和引导能力,团队协作能力,人际沟通、交流能力,产品业务分析能力、需求文档撰写能力,经验交流分享能力,问题质疑和解决能力,产品观察发现及开发能力,智能思维和创新能力等。
3.2内容和安排
基于原型法的需求分析方法实践教学方案总体设计思路如图1所示,包括组队、选题、原型法需求调研、撰写需求规格说明书、总结及评价6个实践环节,其中原型法需求调研又包含快速用户调研、构造试用原型界面系统及运行修改原型界面系统3个子环节。
3.2.1组队
学生根据兴趣、爱好等自由组队,3~5人组成一队共同完成一个选题,每组推选1个组长全面负责和协调各项活动开展,小组设定项目经理、需求分析师、业务评审员等角色,并在项目推进过程中进行角色轮换,使每个学生都尽量尝试不同角色,获得相应锻炼和体验。通过团队合作,培养学生的协作能力、交流和沟通等工程能力。为了使需求分析实践能够正确、顺利、有效地开展,指导教师选定1个小组,对该组的各项实践活动进行示范和指导。教师未参与的其他小组的组长需先参与到教师示范小组中进行观摩。示范小组的各项实践活动都比其他小组先开展,其他小组的相应活动在组长观摩完毕后开展,示范小组在各项实践活动中产生的文档及原型界面系统作为各小组的示范模版。