浅析以项目开发为驱动的软件工程教学实践
2018-07-28陈斌
陈斌
摘要:目前很多高校在软件工程教学多以理论教学为主,导致学生缺乏学习兴趣,缺乏动手实践能力,鉴于近多年的软件工程教学实践活动,以及与同学之间的沟通交流,在多年的课堂教学已经初步尝试,以理论教学+项目实例剖析+小组项目实践+阶段评审形式进行教学,在近年教学中,已经取得了明显的实效。
关键词:软件工程;教项驱动;实践教学
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2018)15-0120-02
软件工程是一门理论性及实践性非常强的学科,作为计算机科学专业及软件工程专业的一门专业必修课,学好软件工程有着非常重要的意义。不仅要求学生要掌握实际的理论知识还要求学生能将软件工程中的诸多方法应用到实际的软件项目开发中。
软件工程教学改革分为两大模块,分块同步进行,分别为教学改革及期末考试改革。分别如下所述。
1教学改革
教学改革分五大环节:课堂理论教授环节、项目小组团队课后协作实践环节、项目课堂演示环节、项目课堂讨论环节、项目課后整理修改环节。
教师课堂教授环节:本环节为教学实践的铺垫环节,在教学过程中,教师先准备好教学相关材料,如教学大纲、教学进度表、教案及演示实例,通过多媒体教学及板书配合,将教材理论教授与学生,让学生对理论知识有所铺垫。
项目小组团队课后协作实践环节:项目团队课后协作实践环节又分为十大阶段:立项及可行性分析研究、需求分析、总体设计、详细设计、数据库设计、用户交互设计、系统编码、系统集成测试、用户培训及用户说明书、结项验证分析。
项目方案课堂演示环节:项目团队完成各个阶段作业后,我们将让项目团队成员将该阶段任务展现在课堂上,一方面提高学生课堂表现能力、表达能力、沟通思辨能力;另一方面将部分团队各阶段的成果展现在课堂上,有助于集思广益,鼓励学生质疑、思辨,根据理论知识及社会实际需求对已经完成项目的各个阶段设计的优点、不足进行点评。
项目方案课堂讨论环节:项目团队在课堂对项目各阶段进行演示说明后,要求教师及同学对该项目进行讨论分析,找出优点及不足,进行点评,营造积极的课堂讨论氛围,让每个学生都参与到不同的项目开发讨论中,增强学生的项目分析能力,思辨能力。
项目课后修正环节:经过上述四个环节后,各个项目小组各阶段成果都经过本小组讨论、验证,教师审阅、学生课堂讨论等一系列工作,各个项目小组可以将之前在教师及课堂讨论中的问题逐一修正,使系统方案更加完善,更加贴近实际需求,保证各阶段项目开发的质量,最终能做出满足要求的软件系统。
2考试改革
鉴于软件工程教学过程改革,期末考试亦需要做相应调整,软件工程传统考试一般采用卷面考试,很难通过考试了解学生的学习情况,作为独立院校,我们更需要注重学生的理论基础及项目实践能力,故软件工程期末考试建议采取项目阶段考核机制,具体考核办法如下表:
2.1可行性研究说明书考核标准(总分值比例:8%)
1)必须有完整的可行性研究说明书,具体根据GB 8567——88标准完成;
2)在可行性研究说明书中,必须采用结构化分析方法中的程序流程图、数据流图DFD、数据字典分析(采用PDL或者判定树及判断表亦可),并且分析符合理论方法论及实际的项目需求;
3)项目协作情况、项目任务完成进度把握、项目讨论及修正次数;
2.2 需求说明书考核标准(总分值比例:12%)
1) 必须有完整的需求说明书,具体根据GB 8567——88标准完成;
2)在需求说明书中,必须采将可行性分析阶段的系统逻辑模型逐步细化,并包含系统功能需求、性能需求、特殊需求,要求有良好的逻辑性;
3)需求说明书中的需求规格说明是否与可行性研究保持一致,如果修改是否合理。
4)项目协作情况、项目任务完成进度把握、项目讨论及修正次数;
5)项目协作情况、项目任务完成进度把握、项目讨论及修正次数。
2.3 系统总体设计考核标准(总分值比例:8%)
1)必须有完整的总体设计说明书,具体根据GB 8567——88标准完成;
2)在总体设计明书中,需要根据系统需求规格说明书设计出系统模型,要求模块划分的基本原则,软件构架符合系统设计准则;
3)在总体设计说明书中,要求项目小组根据使用良好的形式化说明技术,使设计文档具有良好的可读性,并且包含系统模块设计中必要的接口规范,为系统后期集成做好铺垫工作;
4)总体设计说明书中的设计规程是否与需求分析规格保持一致,如果修改是否合理;
5)课堂演示说明效果,(含演示文稿的设计、演说交流)、对教师及学生的质疑能良好应答情况。
2.4系统详细设计考核标准(总分值比例:12%)
1)必须有完整的详细设计说明书,具体根据GB 8567——88标准完成;
2)在详细设计明书中,需要根据总体设计总的模块划分细则,对各个子模块的实现算法进行设计,可以采用PDL或者流程图表述;
3)在详细设计说明书中,要求项目小组根据使用良好的形式化说明技术,使设计文档具有良好的可读性,并且包含系统模块设计中必要函数及变量,为系统编码做好铺垫工作;
4)详细设计说明书中的设计规程是否与需求分析规格及总体设计保持一致,如果修改是否合理;
2.5 系统数据库设计考核标准(总分值比例:8%)
1)必须有完整的数据库设计说明书,统一要求数据模型为关系模型,具体根据GB 8567——88标准完成;
2)在数据库设计明书中,需要根据系统实际对数据库进行设计,需要包含E-R模型及数据字典,并做好数据库表实体完整性约束、域完整性约束、参照完整性约束,并在相应的数据库系统中建立出数据库模型;
3)在数据库设计说明书中,要求项目小组根据使用良好的形式化说明技术,使设計文档具有良好的可读性,并且包含系统模块设计中必要函数及变量,为系统编码做好铺垫工作;
4)数据库设计说明书中的设计规程是否与需求分析规格及总体设计保持一致,如果修改是否合理,是否满足关系模型范式基本要求;
2.6系统用户交互设计考核标准(总分值比例:12%)
1)必须有完整的电子商务系统用户交互设计说明书,要求有实际的设计效果演示图片或者动画,具体根据系统开发所有技术及辅助根据而定;
2)在用户交互设计中,充分考虑用户行业、用户对计算机的操作水平、用户使用习惯、软件系统使用环境对使用的要求、用户习惯及用户偏好、视觉颜色偏好选择,并配合相应的效果图片或者动画;
3)在用户交互设计说明书中,要求项目小组根据使用良好的形式化说明技术,使设计文档具有良好的可读性,为系统编码做好铺垫工作;
4)用户交互设计说明书中的设计规程是否与需求分析规格及总体设计保持一致,如果修改是否合理,是否满足关系模型范式基本要求;
2.7 系统编码考核标准(总分值比例:8%)
1)必须根据系统设计完成系统编码,采用的计算机语言不定,学生可 以自行选择,必须提交系统的源代码;
2)在系统编码中,必须有良好的程序书写风格,良好的变量命名规则,良好的注释,使程序具有良好的可读性;
3)在系统编码计中,要求项目小组尽量采用先进的开发技术及开发工具;
4)系统编码是否与需求分析规格及总体设计、详细设计保持一致,如果修改是否合理。
2.8系统集成测试考核标准(总分值比例:12%)
1)必须有完整的系统测试说明书,对系统各个模块有相应的测试用例数据;
2)在系统测试中,可要求根据系统模块采用白盒测试模块至少一个,其他模块可以采用黑盒测试,各模块测试要求包含满足规则的测试用例,并对测试后发现的bug进行修正;
3)在系统测试设计说明书中,要求项目小组根据使用良好的形式化说明技术,使设计文档具有良好的可读性,并且包含良好的测试用例;
4)系统测试说明书中的测试用例是否与需求分析规格及总体设计保持一致,如果修改是否合理,建议采用等价划分法、边界值法或者因果图推测法;
5)项目协作情况、项目任务完成进度把握、项目讨论及修正次数;
6)课堂演示说明效果,(含演示文稿的设计、演说交流)、对教师及学生的质疑能良好应答情况。
2.9 系统用户培训及用户手册设计考核标准(总分值比例:12%)
1)必须有完整的用户培训计划书,同时包含系统用户使用手册;
2)在用户手册中,要求根据系统设计模块以事物驱动型,向用户展示系统的操作流程及规程,包含实际截图或者动画演示,可以使用录像配合用户手册文档
3)在用户使用手册书中,要求项目小组根据使用良好的形式化说明技术,使设计文档具有良好的可读性,方便用户阅读,掌握系统的使用方法,建议将用户手册打包为电子书或者附加到系统;
4)用户使用手册书中的操作流程及操作规程是否与需求分析规格及总体设计保持一致,如果修改是否合理。
2.10 系统结项总结报告考核标准(总分值比例:8%)
1)必须对本门课程所作各个阶段的任务进行总结,有一份书面的项目开发实践总结体验;
2)在总结报告中,要求对结构化分析方法及结构化设计方法以及需求采集方法、系统设计方法、数据设计方法、用户交互设计、系统编码、系统测试、团队协作、项目进度控制、质量控制、软件开发过程模型进行总结分析;
3)在总结报告书中,要求项目小组根据使用良好的形式化说明技术,使设计文档具有良好的可读性,方便用户阅读;
4)对2中的个部分认识是否存在错误,对错误部分进行修正,改变学生的错误观点;
5)课堂演示说明效果,(含演示文稿的设计、演说交流)、对教师及学生的质疑能良好应答情况。
通过理论章节教学,结合软件项目开发实践,将学习任务及开发任务分解,既有利于开展教学,增强学生学习兴趣,又大大提升了学生理论应用实际的能力,真正突出了实践教学的教学目的。基于软件工程教学改革环节中的考试改革总结如上,教学过程改革及考试改革及考核标准及评分阶段可以根据自身教学作为参考。