课程教案
课程名称 | 软件工程 |
课程性质 | 专业必修课 |
开课年度 | 2024年 |
开课学期 | 春季 |
授课班级 | 计实验21、大数据21 |
主讲教师 | 李欣 |
课程所属学院(部门) | 信息学院 |
课程所属系(教研室) | 计算机系 |
Table of Contents
- 1. 课程第1讲 软件工程概述 软件与软件工程的概念
- 2. 课程第2讲 软件工程概述 软件生存期模型
- 3. 课程第3讲 结构化分析与设计方法 软件需求获取与结构化分析方法
- 4. 课程第4讲 结构化分析与设计方法 软件需求获取与结构化分析方法
- 5. 课程第5讲 结构化分析与设计方法 软件需求获取与结构化分析方法 结构化设计方法
- 6. 课程第6讲 结构化分析与设计方法 结构化设计方法
- 7. 课程第7讲 结构化分析与设计方法 结构化设计方法
- 8. 课程第8讲 结构化分析与设计方法 结构化设计方法
- 9. 课程第9讲 面向对象分析与设计方法 面向对象方法与UML
- 10. 课程第10讲 面向对象分析与设计方法 面向对象方法与UML 面向对象分析
- 11. 课程第11讲 面向对象分析与设计方法 面向对象分析 软件体系结构与设计模式
- 12. 课程第12讲 面向对象分析与设计方法 面向对象设计
- 13. 课程第13讲 软件实现与测试 软件实现
- 14. 课程第14讲 软件实现与测试 软件测试方法
1. 课程第1讲 软件工程概述 软件与软件工程的概念
第1周
- 日期
- 地点
- 励学楼419
- 章节
- 第一部分 第1章
- 教学重点
- 软件工程的出现、软件工程的定义
- 教学难点
- 讲授主要内容
- 软件的 概念 、 特性 和 分类
- 软件危机 与 软件工程
- 软件工程的 目标
- 软件 生存期
- 软件工程 方法 概述
- 软件工具 概述
- 软件工程 知识体系 及 知识域
- 本次课主体教学方式、方法
- 线下授课
- 持续改进版教案
- 可交互课件
- 电子板书
- 布置作业
- 教材习题1.1 举出你所知道的传统应用软件的例子。
- 教材习题1.2 软件就是程序,软件开发就是编程序 这种观点是否正确?为什么?
- 教材习题1.4 简述软件的分类,并举例说明。
- 教材习题1.5 请给出你所知道的互联网应用软件的例子。传统应用软件与互联网应用软件有哪些不同之处?
- 教材习题1.7 什么是软件工程?软件工程要解决的核心问题是什么?
- 教学后记
2. 课程第2讲 软件工程概述 软件生存期模型
第2周
- 日期
- 地点
- 励学楼419
- 章节
- 第一部分 第2章
- 教学重点
- 软件生命周期和软件过程
- 教学难点
- 软件生命周期和软件过程
- 讲授主要内容
- 瀑布 模型
- 快速原型 模型
- 增量 模型
- 螺旋 模型
- 喷泉 模型
- 统一过程
- 基于构件 的开发模型
- 敏捷过程
- 本次课主体教学方式、方法
- 线下授课
- 持续改进版教案
- 可交互课件
- 电子板书
- 布置作业
- 习题2.1 瀑布模型、快速原型模型、增量模型及螺旋模型都是传统的软件过程模型, 请给出各个模型的特点。每种模型的优点和缺点是什么?适用于哪些场合?
- 习题2.3 可以合用几种模型吗?如果可以,举例说明。
- 习题2.4 解释喷泉模型的特点及其适用的场合。
- 习题2.8 统一过程的4个阶段是什么?
- 习题2.11 简述敏捷软件开发的原则。
- 教学后记
3. 课程第3讲 结构化分析与设计方法 软件需求获取与结构化分析方法
第3周
- 日期
- 地点
- 励学楼419
- 章节
- 第二部分 第3章
- 教学重点
- 结构化分析方法
- 教学难点
- 结构化分析方法
- 讲授主要内容
- 需求获取与需求分析阶段的任务
- 需求获取的任务和原则
- 需求获取的过程
- 软件需求分析阶段的任务
- 结构化分析方法
- 功能建模
- 需求获取与需求分析阶段的任务
- 本次课主体教学方式、方法
- 线下授课
- 持续改进版教案
- 可交互课件
- 电子板书
- 布置作业
- 教学后记
4. 课程第4讲 结构化分析与设计方法 软件需求获取与结构化分析方法
第4周
- 日期
- 地点
- 励学楼419
- 章节
- 第二部分 第3章
- 教学重点
- 结构化分析方法
- 教学难点
- 结构化分析方法
- 讲授主要内容
- 结构化分析方法
- 功能建模
- 数据建模
- 行为建模
- 数据字典
- 结构化分析方法
- 本次课主体教学方式、方法
- 线下授课
- 持续改进版教案
- 可交互课件
- 电子板书
- 布置作业
- 教学后记
5. 课程第5讲 结构化分析与设计方法 软件需求获取与结构化分析方法 结构化设计方法
第5周
- 日期
- 地点
- 励学楼419
- 章节
- 第二部分 第3章、第4章
- 教学重点
- 结构化分析方法
- 教学难点
- 结构化分析方法
- 讲授主要内容
- 结构化分析方法
- 数据字典
- 加工规格说明
- 系统需求规格说明
- 软件需求规格说明模板
- SRS和DRD的质量要求
- 需求评审
- 正式的需求评审
- 需求评审中的常见风险
- 需求管理
- 需求跟踪
- 需求变更管理
- 软件设计的概念及原则
- 软件设计的概念
- 软件设计的原则
- 结构化分析方法
- 本次课主体教学方式、方法
- 线下授课
- 持续改进版教案
- 可交互课件
- 电子板书
- 布置作业
- 习题3.4 请根据以下描述画出某库存管理系统的数据流图。 该系统的数据流描述如下:
- 根据计划部门转来的收货通知单和已存在的物资编码文件,建立物资采购单流水账。
- 根据技术部门的物资验收报告和物资采购单流水账,更新物资台账文件。
- 对物资台账分类汇总,将结果存储与物资总账文件中。
- 物资出库:物资使用部门填写物资出库单,包括 物资编号、物资名称、物资数量、物资使用部分、负责人、经手人。 系统根据物资总账文件的库存情况判断是否能够出库, 如果能够出库,则记录出库单,并更新物资总账文件。
- 习题3.6 一家书店计划开发图书管理系统对书店的业务进行管理,
以提高管理人员及书店工作人员的工作效率,并方便顾客对图书进行检索。
针对以下书店管理系统的基本功能需求建立需求分析模型,包括数据流图(至少画出两层)和ER图。
- 采购管理:实现与供货商的图书采购、退货及结算管理,提供月统计报表及任意时间段的统计报表。
- 图书信息管理:记录每种图书的信息(包括ISBN号、书名、作者、出版社、出版日期、单价、版次、印次等)、 折扣及库存量,并提供简单的图书查询功能。
- 销售管理:实现图书销售功能,记录顾客购买的图书种类、数量,计算总价,打印销售小票,并付款。 提供日/月统计报表及任意时间段的统计报表。
- 用户管理:提供用户组(角色)及用户管理功能。
- 习题3.4 请根据以下描述画出某库存管理系统的数据流图。 该系统的数据流描述如下:
- 教学后记
6. 课程第6讲 结构化分析与设计方法 结构化设计方法
第6周
- 日期
- 地点
- 励学楼419
- 章节
- 第二部分 第4章
- 教学重点
- 软件设计
- 教学难点
- 软件设计
- 讲授主要内容
- 软件设计的概念及原则
- 软件设计的概念
- 软件设计的原则
- 结构化设计
- 结构化软件设计的任务
- 结构化设计与结构化分析的关系
- 模块结构及表示
- 数据结构及表示
- 体系结构设计
- 基于数据流方法的设计过程
- 典型的数据流类型和系统结构
- 变换型映射方法
- 软件设计的概念及原则
- 本次课主体教学方式、方法
- 线下授课
- 持续改进版教案
- 可交互课件
- 电子板书
- 布置作业
- 教学后记
7. 课程第7讲 结构化分析与设计方法 结构化设计方法
第7周
- 日期
- 地点
- 励学楼419
- 章节
- 第二部分 第4章
- 教学重点
- 软件设计
- 教学难点
- 软件设计
- 讲授主要内容
- 体系结构设计
- 变换型映射方法
- 事务型映射方法
- 模块间的耦合和内聚
- 软件模块结构的改进方法
- 接口设计
- 接口设计概述
- 人机交互界面
- 数据设计
- 文件设计
- 体系结构设计
- 本次课主体教学方式、方法
- 线下授课
- 持续改进版教案
- 可交互课件
- 电子板书
- 布置作业
- 教学后记
8. 课程第8讲 结构化分析与设计方法 结构化设计方法
第8周
- 日期
- 地点
- 励学楼419
- 章节
- 第二部分 第4章
- 教学重点
- 软件设计
- 教学难点
- 软件设计
- 讲授主要内容
- 数据设计
- 文件设计
- 数据库设计
- 过程设计
- 结构化程序设计
- 程序流程图
- N-S图
- PAD
- PDL与伪代码
- 自顶向下、逐步细化的设计过程
- 软件设计规格说明
- 软件设计评审
- 概要设计评审的检查内容
- 详细设计评审的检查内容
- 数据设计
- 本次课主体教学方式、方法
- 线下授课
- 持续改进版教案
- 可交互课件
- 电子板书
- 布置作业
- 习题4.5 使用数据流图和处理叙述,描述一个具有明显事物流特性的计算机系统。 使用本章所介绍的技术定义数据流的边界,并将DFD映射成软件结构。
- 习题4.7 用面向数据流的方法设计第3章习题3.6所描述的图书管理系统的软件结构, 并尽量使用改进方法对模块结构进行精化。
- 习题4.9 将大的软件划分成模块有什么好处?是不是模块化分得越小越好? 划分模块的依据是什么?
- 习题4.10 什么叫 自顶向下、逐步细化 ?
- 教学后记
9. 课程第9讲 面向对象分析与设计方法 面向对象方法与UML
第9周
- 日期
- 地点
- 励学楼419
- 章节
- 第三部分 第5章
- 教学重点
- 教学难点
- 讲授主要内容
- 面向对象的概念与开发方法
- 对象
- 类与封装
- 继承
- 多态
- 消息通信
- 面向对象的软件开发方法
- UML简介
- UML的产生和发展
- UML的特点
- UML的基本模型
- UML的事物
- 结构事物
- 行为事物
- 分组事物
- 注释事物
- UML的关系
- 依赖关系
- 关联关系
- 泛化关系
- 实现关系
- 面向对象的概念与开发方法
- 本次课主体教学方式、方法
- 线下授课
- 持续改进版教案
- 可交互课件
- 电子板书
- 布置作业
- 教学后记
10. 课程第10讲 面向对象分析与设计方法 面向对象方法与UML 面向对象分析
第10周
- 日期
- 地点
- 励学楼419
- 章节
- 第三部分 第5章、第6章
- 教学重点
- 教学难点
- 讲授主要内容
- UML的图
- 用例图
- 类图
- 顺序图与通信图
- 状态图
- 活动图
- 构件图与部署图
- 面向对象分析概述
- 确定系统边界
- 面向对象分析的3种模型
- 建立用例模型
- 确定业务参与者
- 确定业务需求用例
- 创建用例图
- 建立对象模型
- 对象模型的5个层次
- 划分主题
- 确定类与对象
- 确定结构
- 确定属性
- 确定服务
- UML的图
- 本次课主体教学方式、方法
- 线下授课
- 持续改进版教案
- 可交互课件
- 电子板书
- 布置作业
- 教学后记
11. 课程第11讲 面向对象分析与设计方法 面向对象分析 软件体系结构与设计模式
第11周
- 日期
- 地点
- 励学楼419
- 章节
- 第三部分 第6章、第7章
- 教学重点
- 教学难点
- 讲授主要内容
- 建立对象模型
- 确定服务
- 建立类图
- 建立动态模型
- 顺序图
- 通信图
- 状态图
- 软件体系结构的基本概念
- 什么是体系结构
- 体系结构模式、风格和框架的概念
- 体系结构的重要作用
- 典型的体系结构风格
- 特定领域的软件体系结构
- 分布式系统结构
- 体系结构框架
- 模型-视图-控制器(MVC)
- J2EE体系结构框架
- PCMEF与PCBMER框架
- 设计模式
- 建立对象模型
- 本次课主体教学方式、方法
- 线下授课
- 持续改进版教案
- 可交互课件
- 电子板书
- 布置作业
- 习题6.1 比较面向对象的分析方法和面向数据流的分析方法,阐述它们各自的特点。
- 习题6.2 面向对象分析需要建立的三个模型是什么?
- 习题6.4 用例模型中的外部参与者指的是什么?如何确定外部参与者?
- 习题6.7 解释关联类的作用。在什么时候需要使用关联类?
- 习题7.6 浏览器/服务器体系结构有什么优点和缺点?
- 习题7.9 什么是设计模式?常用的设计模式有哪些?
- 教学后记
12. 课程第12讲 面向对象分析与设计方法 面向对象设计
第12周
- 日期
- 地点
- 励学楼419
- 章节
- 第三部分 第8章
- 教学重点
- 教学难点
- 讲授主要内容
- 面向对象设计过程与准则
- 体系结构模式及依赖性
- 系统分解
- 问题域部分的设计
- 人机交互部分的设计
- 任务管理部分的设计
- 数据管理部分的设计
- 对象设计
- 优化对象设计模型
- 本次课主体教学方式、方法
- 线下授课
- 持续改进版教案
- 可交互课件
- 电子板书
- 布置作业
- 习题8.1 软件模块之间的依赖性可以从哪些角度和抽象层次进行分析?
- 习题8.2 消除包之间循环依赖性的方法是什么?
- 习题8.3 典型的面向对象设计模型在逻辑上由哪几部分组成? 对每一部分进行设计时所包含的主要内容是什么?
- 教学后记
13. 课程第13讲 软件实现与测试 软件实现
第13周
- 日期
- 地点
- 励学楼419
- 章节
- 第四部分 第9章
- 教学重点
- 教学难点
- 讲授主要内容
- 程序设计语言
- 程序设计风格
- 编码规范
- 程序效率与性能分析
- 本次课主体教学方式、方法
- 线下授课
- 持续改进版教案
- 可交互课件
- 电子板书
- 布置作业
- 习题9.2 一般情况下,程序的效率和清晰性相比哪一个更重要?
- 习题9.3 程序中的注释是否越多越好?
- 习题9.4 如何提高表达式的可读性?
- 程序的效率受哪些因素的影响?如何降低这些因素对程序效率的影响?
- 教学后记
14. 课程第14讲 软件实现与测试 软件测试方法
第14周
- 日期
- 地点
- 励学楼419
- 章节
- 第四部分 第10章
- 教学重点
- 教学难点
- 讲授主要内容
- 软件测试的基本概念
- 白盒测试的测试用例设计
- 基本路径覆盖
- 黑盒测试的测试用例设计
- 软件测试的策略
- 人工测试
- 自动化测试
- 调试
- 本次课主体教学方式、方法
- 线下授课
- 持续改进版教案
- 可交互课件
- 电子板书
- 布置作业
- 习题10.4 简要说明白盒测试和黑盒测试的区别。 如果认真做了两者之一,还需要再做另一种测试吗?
- 现在有一个档案管理系统,允许用户通过输入年月对档案文件进行检索, 系统对查询条件年月的输入限定为1990年1月-2049年12月, 并规定,日期由6位数字组成,前4位表示年,后2位表示月。 使用等价类划分法设计测试用例。
- 教学后记