2023年7月16日发(作者:)
《软件工程》教学大纲 目 录
《软件工程》教学大纲 .......................................................................................................................... 1
一、课程基本信息 .............................................................................................................................. 1
二、课程教学目的 .............................................................................................................................. 1
三、学习方法指导 .............................................................................................................................. 2
四、教学内容结构及教学安排 .......................................................................................................... 2
《软件工程》教学大纲
一、课程基本信息
课程名称:《软件工程》
课程代码:
学时数:课堂学时32学时,实验学时16学时
开课单位:
课程性质:专业必修课
先修课程:数据结构,大学数学,离散数学,计算机算法设计
使用教材:软件工程导论与案例教程,吴彦文,清华大学出版社,2022年
教学拓展资源:《软件工程》省级精品课资源库;多媒体素材库。
二、课程教学目的
《软件工程》是计算机专业的一门工程性基础课程,在软件工程学科人才培养体系中占有重要的地位。软件开发是建立计算机应用系统的重要环节,人们通过软件工程学把软件开发纳入工程化的轨道,而软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学。《软件工程》已成为高等学校计算机软件教学体系中的一门核心课程。
从课程内容设置方面讲,本课程以IEEE最新发布的软件工程知识体系为基础构建内容框架,注重贯穿软件开发整个过程的系统性认识和实践性应用,以当前流行的统一开发过程、面向对象技术和UML语言作为核心,密切结合软件开发的先进技术、最佳实践和企业案例,力求从“可实践” 软件工程的角度描述需求分析、软件设计、软件测试以及软件开发管理,使学生在理解和实践的基础上掌握当前软件工程的方法、技术和工具。本课程注重培养学生理论应用于实践的能力,课堂上教师不仅向学生讲述软件工程中的相关原理和概念,而且结合当前最新技术与工具指导学生实践操作,另外,通过课程设计,培养学生对整个软件开发过程的能力,让学生能切实体会到软件工程在实践中的指导作用,并按软件工程的要求完成规范的各项软件开发文档。本课程对提高学生的软件开发能力和项目管理能力有重要的现实意义。
从课程实施方面讲,本课程借助华中师范大学云端一体化学习平台,实现数字化教学资源的转播与共享,并通过混合式学习将面授课堂与网络课堂沟通结合,使各种教学资源、各
1 个教学要素和教学环节达到组合、重构、融合,在整体优化的基础上产生聚集效应,进一步促成多样化学习。课程的教学环节深入贯彻基于问题的学习教学模式(PBL)。课程教学通过创设问题情境,引导学习者确认和分析问题,并通过信息技术等手段获取结构化的学习资源,围绕问题展开自主或合作学习,最终达成对问题的解决。在PBL教学模式的指导下,整个课程教学以问题学习为中心,充分调动学习者学习的主动性和积极性,培养其解决问题的能力及团队合作意识,同时,也注重提升其实践能力。
三、学习方法指导
不同于传统的教学模式,《软件工程》这一课程充分利用信息技术和数字化资源,依托教育信息化平台,最大程度的实现教学资源的灵活共享。并根据学习者的个性化差异,采用在线课程、混合式课程及传统面授课程等多种授课方式,以基于问题的学习(PBL)展开教学。学习环境和学习组织形式发生的变化对学生的自主与合作学习能力、创造性思维能力等方面提出了较高的要求,这就要求学生在学习方法上也做出相应的改变和适应。本课程的学习尤其需要注重理论联系实际,可以3~5人组成一个课程学习小组,围绕一个简单的软件项目,依据教材上介绍的基本理论和方法,从可行性研究和需求分析开始,逐步进行软件设计,码和测试以及软件维护等工作。从而使学生的实践能力得到锻炼,适应现代软件项目的开发和组织。在学习的过程中,要注重标准和文档的重要性。
云端一体化学习平台作为连接教师、学生、学习资源三者之间的“接口”,不仅为教师教、学生学的活动提供各类学习资源、为课堂教学开展多种形式的活动提供支持,更是教师和学生之间交流沟通的桥梁和纽带,同时也为延伸课堂教学的课外辅助学习提供了空间。云端一体化学习平台的导航包括课程学习、师生问答区、通知、作业、测试等栏目。本课程的学习资源,包括课件、学案、视频等全都整理分类上传至云端一体化学习平台,丰富的资源链接为学习者学习活动提供了便捷。学生课中没有及时内化吸收的知识,也可通过课后登陆学习平台在师生问答区开展实时讨论,实现问题及时有效地解决;此外,学习平台上测试及作业栏目及时记录和反馈了学习者的学习进程,并为教师进一步完善学习指导提供依据。
四、教学内容结构及教学安排
(一)教学内容结构
本课程的教学内容如下图:
2
(二)教学重难点
本课程的教学重点:
(1)软件需求分析;
(2)软件的概要设计;
(3)软件的详细设计;
(4)软件测试方案的设计;
3 (5)软件项目管理。
(三)教学内容安排
1、初识软件
(1)软件工程的产生、软件危机;
(2)软件工程的基本概念、内容、基本原理及开发方法;
(3)软件生命周期
(4)软件开发模型的特点及应用范围
(5)软件工程知识体系和能力培养
2、可行性分析
(1)软件问题定义
(2)可行性研究,可行性研究的目的、内容及步骤
(3)实践内容-基于Visio与Kitten的流程图制作
(4)实战案例-写作浏览器开发可行性研究报告
3、需求分析
(1)需求分析的定义、要素
(2)需求分析的原则与步骤---重点
(4)数据字典及需求分析图形工具(数据流图、层次图、Warnier图、IPO图等)---重点、难点
(5)实战案例-写作机票预定系统需求分析报告
4、软件设计
(1)软件设计相关概念、软件设计的总体目标、主要内容
(2)面向对象的软件设计方法-UML---重点、难点
(3)实践工具Rational Rose的安装与使用
(4)实战案例—《在线选修课程管理系统》设计
5、UI设计
(1)UI设计相关概念、UI设计的分类
(2)用户界面设计原则、界面设计技巧
(3)交互设计及其常用软件---重点、难点
(4)实战案例-高保真Web原型图设计
4 (5)实战案例-利用Kitten进行交互设计
6、软件数据库设计
(1)数据库管理基本概念、数据模型、数据库管理系统---重点
(2)SQL语言简介、功能及分类
(3)数据代码设计
(4)实战案例-Navicat for MySQL入门使用:数据库连接、导入、导出、数据库表操作、管理与维护---重点、难点
7、软件实现
(1)软件实现的过程、任务与准则
(2)编程语言与编码技术---重点
(3)实战案例-记事本微信小程序的设计与实现
(4)实战案例-用海龟编辑器实现人脸识别
8、软件编码和软件测试
(1)软件测试目标、原则及过程
(2)软件测试方法:静态分析与动态测试、黑盒法与白盒法。
(3)软件测试常用工具,自动化测试工具selenium使用及基本操作---重点、难点
(4)实战案例-selenium单元测试实战、自动化网页资料单选实战---重点
9、项目管理
(1)项目管理相关概念、一般流程、项目计划
(2)项目管理常用软件
(3)项目管理案例实战
10、软件工程实践
(1)项目实战一 运动员竞赛注册管理信息系统
(2)项目实战二 疫情地图小程序
11、软件工程中的黑科技工具
(1)集成式开发工具——Cloud Studio
(2)企业级可扩展图分析平台——Tiger Grap
(3)原型设计工具——Pop
(四)课程各教学环节要求
5 1、理论教学
讲述软件工程的基本概念、原理、方法和工具,系统地介绍目前流行的和较成熟的软件工程技术。通过本课程,学习软件开发与维护的基本原理和基本技术,提高软件开发维护的效率和质量。
2、实践环节
(1)理论课程讲授中嵌入实践环节,以每章对应的实践案例为主,加强学生的实践操作能力的培养。
(2)理论讲授结束后,安排课程设计两周。使学生联系实际、学习软件的设计、维护,学习书写软件工程文档资料。
(3)本课程在毕业实习、毕业设计之前开设,学生在进行毕业实习、毕业设计时,可用软件工程学的原理、方法和工具进行设计及书写毕业论文,以提高学生的设计效率、设计质量和论文水平。
(五)学时分配
教 学 内 容 安 排
(写明章、节、目)
课程简介与分组安排
第1章 绪论
1.1 初识软件
1.2 软件项目的开发模型
第1章 绪论
1.3 软件工程知识体系和能力培养
1.4 实践作业任务要求
第2章 可行性分析
2.1 软件问题概述
2.2 可行性研究简介
教学
时数
教学形式及其手段
2
2
讲授(√ )
多媒体演示(√ )
课堂练习( )
实验( )
课堂讨论(√ )
2
实践1:基于Visio的业务流程绘制(2学时)
2
讲授(√ )
多媒体演示(√ )
课堂练习( )
实验( )
课堂讨论(√ )
第3章 需求分析
3.1 软件需求分析概述
3.2 需求分析的原则与步骤
实践2:基于kitten的流程图绘制(2学时)
2
2
讲授(√ )
多媒体演示(√ )
课堂练习( )
实验(√ )
课堂讨论(√ )
6 教 学 内 容 安 排
(写明章、节、目)
第3章 需求分析
3.3 结构化分析方法
3.4 实战案例-机票预定系统需求分析报告
第4章 软件设计
4.1 软件设计概述
4.2 面向对象的软件设计方法——UML
实践3:基于Rational rose《在线选修课程管理系统》设计
第5章 UI设计
5.1 初识UI设计
5.2 界面设计原则及技巧
5.3 交互设计及其常用软件介绍
实践4:基于Axure的高保真Web原型图设计
教学
时数
教学形式及其手段
2
2
2
讲授(√ )
多媒体演示(√ )
课堂练习( )
实验(√ )
课堂讨论(√ )
讲授(√ )
多媒体演示(√ )
课堂练习( )
实验( )
课堂讨论(√ )
讲授(√ )
多媒体演示(√ )
课堂练习( )
实验( )
课堂讨论(√ )
小班讨论(√ )
2
2
第6章 软件数据库设计
6.1 数据库管理概述
6.2 结构化查询语言——SQL语言
第6章 软件数据库设计
6.3 本章实践工具——Navicat for
MySQL
6.4 实战案例——Navicat for MySQL入门使用
实践5:基于Navicat for MySQL的数据库操作
第7章 软件实现
7.1 软件实现概述
7.2 编程语言与编码技术
第7章 软件实现
7.3 实践工具——微信开发者工具
7.4 实战案例(1)——记事本微信小程序的设计与实现
讲授(√ )
多媒体演示(√ )
课堂练习( )
实验(√ )
课堂讨论(√ )
2
2
2
2
2
讲授(√ )
多媒体演示(√ )
课堂练习( )
实验( )
课堂讨论(√ )
7 教 学 内 容 安 排
(写明章、节、目)
教学
时数
教学形式及其手段
实践6:用海龟编辑器实现人脸识别
2
第8章 软件测试
8.1 初识软件测试
8.2 软件测试方法与常用工具
第8章 软件测试
8.3 本章实战工具——自动化测试工具selenium
8.4 实战案例——selenium单元测试实战
实践7:基于selenium工具实现自动化网页资料单选实战
第9章 项目管理
9.1 项目管理概述
9.2 项目管理常用软件
9.3 项目管理案例实战
第10章 软件工程实践
10.1 项目实战一 运动员竞赛注册管理信息系统
实验8: 疫情地图小程序
第11章 软件工程中“黑科技”工具
11.1 工具总结
11.2 集成式开发工具 — Cloud
Studio
11.3 企业级可扩展图分析平台——Tiger Graph
11.4 原型设计工具——Pop(Prototyping on paper)
11.5 实用小技巧
2
讲授(√ )
多媒体演示(√ )
课堂练习( )
实验(√ )
课堂讨论(√ )
2
2
讲授(√ )
多媒体演示(√ )
课堂练习( )
实验( )
课堂讨论(√ )
讲授(√ )
多媒体演示(√ )
课堂练习( )
实验(√ )
课堂讨论(√ )
2
2
2
2
讲授(√ )
多媒体演示(√ )
课堂练习( )
实验( )
课堂讨论(√ )
8
发布者:admin,转转请注明出处:http://www.yc00.com/web/1689456550a251216.html
评论列表(0条)