1、SU-QR-JW-033(A0)【软件工程】【Software Engineering】一、基本信息课程代码:【2050168】课程学分:【4】面向专业:【软件工程】课程性质:【院级必修课】开课院系:计算机科学学院软件工程系使用教材:主教材【软件工程与实践(第4版)贾铁军等 清华大学出版社2022年】畅销图书参考书【软件工程实用教程 桑海涛等主编 清华大学出版社 2021年】【软件工程与项目案例教程(第2版)梁立新,郭锐 清华大学出版社 2021年】【实用软件工程(第5版)赵迟龙 电子工业出版社 2019年7月】【软件工程习题解答 李代平,杨成义 清华大学出版社2017年7月】先修课程:【程序
2、设计】、【数据库原理】二、课程简介本课程是计算机类学科专业本科生重要的专业课(对软件工程专业属于“导论”性质的课程),是软件工程理论结合实际综合应用、“教 学 做 练 用一体化”融会贯通所学专业知识的综合性专业课程。本门课程的任务是根据计算机及手机或嵌入设备应用软件实际项目开发需要,使学生了解现代软件工程各个阶段和层面,掌握软件工程实用的概念、原则、技术、方法和工具,学会面向过程、面向数据、面向对象的软件开发方法,熟悉面向流程分析、面向数据设计、面向对象实现、面向功能测试、面向过程管理等常用的软件工程技术、方法和应用等内容。三、选课建议本课程采用课堂上以典型安全启发式教学方式、演示教学法和“理
3、论实践与演练结合”等,课下采用“教 学 做 练 用一体化”教学方式和“模拟企业项目推进法”教学方法,逐步展开及循序渐进,并通过实践加深理解与提高、检验和巩固所学知识。并通过云班课和手机云作业,增加资源和学习方法充实相关知识。“软件工程”课程在很多院校为计算机类专业的必修课程(主要是应用软件的研发能力和综合应用能力的必备素质能力要求,以及毕业设计中大部分学生都采用“应用软件研发选题”),除了学过计算机基础知识外,已掌握1-2门程序设计语言和数据库原理等专业基础知识,从而具备了学好该课程的综合应用能力和基本必要的知识。提高学生对软件工程问题的分析、综合、实践和创新能力,“教 学 做 练 用一体化”
4、融会贯通所学知识,为未来就业打好基础。四、 课程与专业毕业要求的关联性软件工程专业毕业要求关联LO31:设计/开发解决方案:能够设计针对复杂工程问题的解决方案,设计满足特定需求的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素 LO41:研究:能够基于科学原理并采用科学方法对复杂工程问题进行研究,包括设计实验、分析与解释数据、并通过信息综合得到合理有效的结论LO61:工程与社会:能够基于工程相关背景知识进行合理分析,评价专业工程实践和复杂工程问题解决方案对社会、健康、安全、法律以及文化的影响,并理解应承担的责任LO71:环境和可持续发
5、展:能够理解和评价针对复杂工程问题的专业工程实践对环境、社会可持续发展的影响LO81:职业规范:具有人文社会科学素养、社会责任感,能够在工程实践中理解并遵守工程职业道德和规范,履行责任LO91:个人和团队:能够在多学科背景下的团队中承担个体、团队成员以及负责人角色LO101:沟通:能够就复杂工程问题与业界同行及社会公众进行有效沟通和交流,包括撰写报告和设计文稿、陈述发言、清晰表达或回应指令。并具备一定的国际视野,能够在跨文化背景下进行沟通和交流LO111:项目管理:理解并掌握工程管理原理与经济决策方法,并能在多学科环境中应用LO121:终身学习:具有自主学习和终身学习的意识,有不断学习和适应发
6、展的能力备注:LO=learning outcomes(学习成果)五、课程目标/课程预期学习成果序号课程预期学习成果课程目标(细化的预期学习成果)教与学方式评价方式1LO31设计/开发解决方案:能够设计软件工程问题的解决方案,设计满足特定需求的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素案例教学法模拟企业项目推进法作业本、云作业、交流和实验报告2LO41研究:能够基于科学原理并采用科学方法对软件工程问题进行研究,包括设计实验、分析与解释数据、并通过信息综合得到合理有效的结论案例教学法模拟企业项目推进法作业本、云作业、交流和实验报告
7、3LO61工程与社会:能够基于工程相关背景知识进行合理分析,评价专业工程实践和软件工程问题解决方案对社会、健康、安全、法律以及文化的影响,并理解应承担的责任案例教学法模拟企业项目推进法作业本、云作业、交流和实验报告4LO81职业规范:具有人文社会科学素养、社会责任感,能够在工程实践中理解并遵守工程职业道德和规范,履行责任案例教学法模拟企业项目推进法小组交流实验报告5LO91个人和团队:能够在多学科背景下的团队中承担个体、团队成员以及负责人的角色模拟企业项目推进法小组交流6L0101沟通:能够就软件工程问题与业界同行及社会公众进行有效沟通和交流,包括撰写报告和设计文稿、陈述发言、清晰表达或回应指
8、令。并具备一定的国际视野,能够在跨文化背景下进行沟通和交流案例教学法模拟企业项目推进法作业本、云作业、交流和实验报告7L0111具有专业工程实习和社会实践的经历,了解技术实施的可行性和其市场相容性讲授教学法实验报告(可行性分析报告)8L0121项目管理:理解并掌握工程管理原理与经济决策方法,并能在多学科环境中应用案例教学法实验报告小组交流六、课程内容第1章 软件工程基础(理论学时:4)通过本章学习,学生可以了解软件工程的发展和软件危机;掌握软件工程的概念、内容和原理;熟悉软件生存周期及阶段任务;掌握常用的软件开发模型(模式);掌握软件开发准备及Visio应用实验。本章重点:软件工程的概念、内容
9、和原理;软件生存周期及阶段任务;常用的软件开发模型(模式);本章难点:软件生存周期及阶段任务;常用的软件开发模型(模式)。第2章 可行性分析及开发计划(理论学时:4)通过本章学习,使学生了解软件开发初步需求、调研与问题定义内容;理解可行性分析的概念、任务、步骤与立项; 掌握可行性研究的图形工具系统流程图画法;理解软件开发计划的内容和制定过程;掌握编写软件可行性分析报告的方法。本章重点:可行性研究的图形工具系统流程图画法;软件开发计划的内容和制定过程;编写软件可行性分析报告的方法。本章难点:系统流程图画法;软件开发计划的内容和制定过程。第3章 软件需求分析(理论学时:6)通过本章学习,学生可以理
10、解软件需求分析的概念和特点、目的和原则;熟悉软件系统需求分析的具体任务及步骤;掌握需求分析描述工具并编写软件需求文档。本章重点:软件需求分析的概念和特点、目的和原则;软件系统需求分析的具体任务及步骤;需求分析描述工具并编写软件需求文档。本章难点:软件需求分析的具体任务及步骤;描述工具和编写软件需求文档。第4章 软件设计(理论学时:6)通过本章学习,学生可以较好地掌握软件设计的概念、目标、阶段和过程;熟悉软件总体设计及详细设计的任务和原则;掌握数据库设计、网络设计和界面设计要点;掌握软件设计工具使用及设计文档编写方法。本章重点:软件设计的概念、目标、阶段和过程;软件总体设计及详细设计的任务和原则
11、;软件设计工具使用及设计文档编写方法。本章难点:软件设计的过程;软件总体设计及详细设计的任务;软件设计工具使用第5章 面向对象开发技术(理论学时:6)通过本章学习,学生可以掌握面向对象及其方法的有关概念和特点;理解面向对象软件的主要开发任务及过程;熟悉面向对象分析(OOA)和面向对象设计(OOD)方法;掌握一种面向对象分析和设计的方法的实际应用。本章重点:面向对象及其方法的有关概念和特点;面向对象软件的主要开发任务及过程;面向对象分析(OOA)和面向对象设计(OOD)方法;面向对象分析和设计的方法的实际应用。本章难点:面向对象分析(OOA)和面向对象设计(OOD)方法;分析和设计方法应用。第6
12、章 软件实现(理论学时:6)通过本章学习,学生可以较好地理解软件实现的方法、过程、任务、准则、策略;掌握软件实现的输入与输出、软件实现管理;熟练掌握编程技术、编码风格、编程规范、软件生成技术;掌握相关文档的编写方法及软件工具应用。本章重点:软件实现的方法、过程和任务;软件实现的管理;编程技术、规范、软件生成技术;相关文档的编写方法及软件工具应用。本章难点:软件实现的管理;编程技术、规范、软件生成技术;软件工具应用。第7章 软件测试与维护(理论学时:4)通过本章学习,学生可以掌握软件测试的概念、目的和原则;熟悉软件测试的步骤、方法和测试用例设计;掌握软件调试的含义、步骤、方法和原则;掌握软件维护
13、方法及有关实际应用。本章重点:软件测试的概念;软件测试的步骤、方法和测试用例设计;软件调试步骤和方法;软件维护方法和应用。第8章 软件项目管理(理论学时:4)通过本章学习,学生能够较好地理解软件项目管理的特点、过程和内容;熟悉软件项目过程管理各阶段的任务和技术方法;掌握软件项目管理的常用工具、文档及应用。本章重点:软件项目管理的过程和内容;软件项目过程管理各阶段的任务和技术方法;软件项目管理的常用工具、文档及应用。本章难点:软件项目过程管理技术方法;常用工具。*第9章 软件开发新技术及体系(选讲)(理论学时:2+机动及复习4)通过本章学习,学生可以基本掌握软件开发新技术的概念、特点及应用;掌握
14、能力成熟度集成模型CMMI及评估方法;了解常见的现代软件工程体系及形式化方法。本章重点:软件开发新技术的概念、特点及应用;掌握常用评估方法。本章难点:常用评估方法。第10章 WebApp开发综合应用(理论学时:4+2交流)通过本章学习,学生了解Web工程概念及与传统软件工程的区别;理解WebApp的概念、特点和开发过程;掌握WebApp的分析、设计和测试方法;掌握WebApp综合开发方法及课程设计。本章重点:WebApp的概念、特点和开发过程;WebApp的分析、设计和测试方法;综合开发方法。本章难点:WebApp的开发过程;应用软件分析、设计和测试方法;综合开发方法。七、课内实验名称及基本要
15、求理论课内理论教学52(实践12)学时,为了更好地联系实际、提高教学效果,课外补充8学时实验。课程实验的名称、学时数、实验类型(演示型、验证型、设计型、综合型)及内容。序号实验名称主要内容实验时数实验类型备注1可行性分析及报告编写(含系统流程图)选定一个应用软件的开发项目,确定系统的功能,进行可行性研究,组织组员,合理分工,熟悉软件开发环境,培养团队精神。2验证型组成团队及选题:每个学生参加一个团队(2-3人组成)并完成选题2需求分析及需求规格说明书分析系统及用户需求,按照团队模型组织完成需求规格说明书编写和评审。2设计型模拟企业项目推进法,调研和需求分析,写出文档3总体设计及设计说明书设计系
16、统架构和模块,编写概要设计说明书编写技能,评审。2设计型分组分工合作,在需求分析基础上完成总体设计4软件详细设计及设计说明书应用软件模块设计、数据库设计、网络设计、界面设计等,以及详细设计说明书编写技能。2设计型需求分析基础上详细设计5应用软件实现(编程与集成实现)小组合作编程,完成简单软件、文档,独立写收获体会课外综合型独立交总结及收获体会6软件测试与维护应用软件的测试与维护工具、技术、方法和应用2验证型交测试报告7WebApp开发综合应用(小组交流)结合选题,完成WebApp开发技术、方法和综合应用2综合型小组交流讨论8合计(课外补充8学时未计算)12注:为了更好地联系实际、提高教学效果,课外补充8学时实验。八、评价方式与成绩总评构成(1+X)评价方式占比1期末考核开卷笔试(各种题型)60%X1出勤及课堂表现(含提问和演示)15%X2作业本和“云班课”手机云作业(各种活动)15%X3实验报告和交流讨论10%撰写人:贾铁军 系主任审核签名:XXX审核时间:2022.2.19