3.2.2选题
选题由学生自主进行。教师在该环节的任务是进行选题引导和质量审核,这样有利于满足学生的兴趣、爱好等自身需求以激发学习兴趣,也为学生后续阶段的研究和创新活动准备一些基础题目,教师仅需对选题进行质量把控。选题内容原则上要和学生的学习和生活相关,这样不仅可以减少学生在了解专业领域知识上所花费的时间,还可以培养学生的产品挖掘能力、智能思维能力及创新能力等。教师通过设置“在你的学习、研究和生活中(可以分为学校以内和学校以外)你发现哪个方面还不够便利,需要做一个软件来帮助提高效率?”“在你目前常用的软件中你发现哪个软件做得不够好,需要做一个更好的?”“在你的兴趣爱好里,有没有可能做一个软件使其相关处理变得更便捷或完美?”等相关问题引导和启发学生选题。学生初步选题后,为了保证选题质量,要写一个简单的选题报告,说明选题目的、意义和主要功能并提交给指导教师。教师根据选题报告确定选题是否通过,对过于复杂或简单、意义欠缺等不合理的选题,教师和学生讨论后进行修改或更换题目。选定的题目称为项目,用户主要为学校某个部门的管理人员、教师、同学等。endprint
3.2.3需求调研
基于原型的需求调研与瀑布模型不同,调研结果不是一次形成,而是渐进、增量式形成。该方法首先通过快速用户调研获取项目基本需求,然后根据基本需求构造具有用户交互性能的试用原型界面系统,最后通过用户运行试用原型界面系统,修改和补充基本需求和试用原型界面系统,最终得到满足用户需求的完整的原型界面系统。用户需求获取迭代过程与敏捷开发需求获取过程相似。基于原型的需求调研实践活动,要求学生不仅要掌握该方法的实施过程,还要理解该方法与瀑布模型等其他方法的异同点和优缺点,实践结束后教师要在总结环节中引导学生展开讨论。
(1)快速用户调研。本阶段的任务不考虑用户次要需求,先获取项目核心需求,目的是能尽快开始构造原型界面系统。开始时要求各小组成员共同编制基本需求调研计划,包括系统主要用户、业务文档收集、核心问题调查问题表和调查方式等内容。基本需求调研计划完成后需提交指导教师审查,教师对不合理之处和学生一起讨论修改和完善。基本需求调研计划确定后,按计划开展调研。初始调研主要是为了获得一个原始需求的轮廓,因此仅需针对主要用户展开调研,选取其核心需求。初始调研的方法是先收集用户的纸质资料或电子文档资料并进行分析,从中获取用户关键业务流及输入和输出数据流,然后通过与用户交谈、向用户群体发放调查问卷等方式完成核心问题调查问题表,快速确定业务主体流程及其输入和输出数据流。
(2)构造试用系统原型。本阶段的任务是根据用户的基本需求尽快建立一个能运行的交互式界面原型应用系统。系统特点是:①具有完整的基础数据;②具有可导航性、人机交互的动态效果 ;③仅有展示系统基本功能的界面,不需要实现系統功能。构造系统原型实践要求学生学会应用建模工具Axure[7]来完成。本阶段要求项目组能够将用户需求转换成系统原型界面,可以锻炼学生的需求建模、项目分工协作等工程能力。
(3)运行、修改系统原型。本阶段的任务是将系统试用原型交给用户并指导其试用,引导用户对原型提出补充和修改意见。这个阶段是开发人员与用户沟通最为频繁的阶段,是发现问题和解决问题的重要阶段。用户在计算机上运行和试用原型系统得到亲身感受并受到启发,通过反映和评价向开发者提供反馈,细化和明确系统各项功能需求和性能需求。这个阶段要求分析员与用户要建立良好的合作关系,可以锻炼学生的人际沟通和交流能力。在实践中需要学生灵活应用多种调查方法,如与用户交谈、向用户提问题、向用户群体发调查问卷、参观用户的工作流程、观察用户的操作和听取同行专家意见等。在用户确实不能明确真正需求的情况下,学生还需要通过分析已经存在的同类软件产品、行业标准及规则等,对用户进行有效的需求引导,从而提取需求修改意见。项目组根据用户的意见对原型加以改进和完善,通过“原型构造→试用运行→评价反馈→分析修改”的多次循环,系统试用原型逐步演变为系统正式原型。
3.2.4撰写需求规格说明书
本阶段的.任务是根据正式原型界面系统撰写需求规格说明书,作为用户和项目组共同确认的需求(需求合同)。根据和用户确定的正式原型界面系统,各项目组按照老师给出的模板撰写项目需求规格说明书,经项目组内部审查、修改并确认后,请用户评审此需求规格说明报告。项目组再根据用户评审进一步修改和完善项目需求规格说明报告,以确保报告内容准确完整地表达用户需求,最后形成需求规格说明书正式版。本阶段主要是锻炼学生需求规格说明书编写能力。
3.2.5总结
项目完成后开展实践活动总结有利于学生交流和分享成功经验,发现不足,提出改进方法,获得实践及理论认识的提升。总结由教师组织开展,形式可以是课堂集体或小组讨论、做总结报告等。教师的主要任务是指出各环节指导和跟踪所发现的不足之处,如选题意义、用户沟通方式、小组协作、用户数据和业务分析整理、建模工具Axure应用、原型界面系统构建修改迭代次数控制等关键环节的不足,引导学生思考和讨论,总结并提出改进方法。学生则要在教师组织下,分享某个实践环节的体会和收获,如Axure原型界面开发技巧、不同类型用户沟通方式体会、项目小组成员合作经验分享等;或对某个问题提出疑问,如“如何减少原型界面系统构建迭代次数”“如何引导用户明白自己的真正需求”“如何发现数据流缺漏”等,引发其他同学共同讨论和分享,找出解决方案。通过教师总结和学生总结,学生进一步加深对需求分析各项活动的认识,促进实践水平的提高。
3.2.6考核
课程考核采取综合评定方式,从教师、用户、项目组间及项目组内部4个维度来评定,使成绩尽可能客观反映每个学生的真实水平。首先是指导教师根据项目组各成员在各实践环节的成果及表现进行打分;其次是用户给项目组各成员的工作表现进行打分;然后是各项目组之间根据原型界面系统展示及总结讨论情况给其他项目组打分;最后是各项目组内部成员根据分工合作完成情况相互打分。经过4个维度的评分后,指导教师将每个学生的4个分数进行加权计算,得出学生成绩等级。4结 语 针对计算机专业硕士软件工程实践教学现状,结合专题教学模式的特点,我们对专题模式软件工程实践教学进行了探索。文中的专题实践教学方案给出了软件工程专题实践教学中“软件需求分析实践专题——原型法需求分析实践子专题”的教学目标、各教学环节内容及学生和教师角色任务、教学考核的详细设计,实现了核心教学内容、教师对各教学环节的跟踪指导及成绩评定的精细设计。教学实践得到了大多数学生的好评,学生的工程实践能力明显提升。同时,本文的实践教学方案,可以在后继6个专题中进行延续和拓展。
参考文献:
[1]杨芙清. 软件工程学科研究生教育的探索与实践[EB/OL]. [2010-07-08]. http://pkunews.pku.edu.cn/xwzh/2010-07/08/content_179388.htmm.
[2]陈铁夫, 呼东燕. 高校实施专题教学的基本理念和利弊评析[J]. 华北科技学院学报, 2014 (5): 102-105.
[3]孙昌爱, 王昭顺, 王成耀. 基于专题报告的研究性教学: 实践、评价与建议[J]. 计算机教育, 2011(23): 100-105.
[4]沈备军. 解读软件工程知识体系SWEBOK V3[J]. 计算机教育, 2014(7): 1-2.
[5]祝世海, 孟炯, 李胜利, 等. 采用原型法减少软件需求分析的风险[J]. 信息技术, 2002(2): 2-3, 6.
[6]刘继敏. 基于快速原型方法的需求分析[J]. 硅谷, 2011(14): 23, 46.