编辑: kieth | 2019-07-01 |
1 SEF-SC.tl.5 剖面、性能分析和切片工具 k D
1 MEP-MF.df.0 表述基础
2 MEP-MF.df.1 有限状态机,正则表达式 c E
1 MEP-MF.df.2 文法 c E
1 MEP-MF.fm.0 形式化构造方法
9 MEP-MF.fm.1 抽象机的应用(如SDL、Paisley 等) k E * MEP-MF.fm.2 规范说明语言与方法的应用(如ASM、B、CSP、 VDM、Z) a E
2 MEP-MF.fm.3 从规范说明自动生成代码 a E * MEP-MF.fm.4 程序导出 c E * MEP-MF.fm.5 候选实现分析 c E
1 MEP-MF.fm.6 将规范说明映射到不同实现 k E
2 MEP-MF.fm.7 细化 c E
1 MEP-MF.fm.8 正确性证明 c D
1 SEF-MA.md.0 建模基础
4 SEF-MA.md.1 建模原理(例如分解、抽象、一般化、投影/视点、 清晰化、使用形式化方法等) a E
1 SEF-MA.md.2 前置和后置条件,不变式 c E
2 SEF-MA.md.3 数学建模和规范语言(Z、VDM 等) c E
1 南京大学软件工程专业本科教程――附录 B:专业基础/核心课程描述 附录 B 第69 页SEF-VV.tst.0 测试
3 SEF-VV.tst.1 单元测试 a E
2 SEF-VV.tst.2 异常处理(编写触发异常处理的测试用例,设计好 的处理代码) a E
1 STP-SD.mod.0 建模工具
4 STP-SD.mod.1 Rational Rose a E
1 STP-SD.mod.3 Enterprise Architect a D
1 STP-SD.mod.4 SDL k E
2 STP-SD.pe.0 集成开发环境
2 STP-SD.pe.1 Microsoft Visual Studio a E
1 STP-SD.pe.2 Eclipse a E
1 STP-SD.tdb.0 测试、调试与集成工具
3 STP-SD.tdb.1 JUnit a E
1 STP-SD.tdb.2 ANT a E
1 STP-SD.tdb.13 CppUnit k D
1 STP-SD.lp.0 程序库工具包
7 STP-SD.lp.1 JDK k E
1 STP-SD.lp.2 QT k O
2 STP-SD.lp.3 ACE k O
2 STP-SD.lp.4 POSIX k E
2 5 教学补充事项 5.1 对前驱课程的教学需求 要求学生完成《计算与软件工程 I/II》课程的学习,掌握基本的软件工程知识,同时掌握《数 据结构与算法》以及《离散数学》等课程的相关基础理论.此外,学生已具备并发的基础知识. 5.2 本课程的教学考虑 课程注重培养学生良好的编码习惯和编码技巧. 5.3 对后续课程的教学建议 《软件系统设计与体系结构》课程进一步展开复杂软件构造技术的教学.
6 教学计划 序号 主题 内容 课时 相关知识点
1 软件构造基础 软件构造的概念;
构造的目的;
重要性;
常 用隐喻等;
工具与环境
2 SEF-SC.tl.1
2 模块设计 自顶向下;
自底向上;
信息隐蔽;
解耦;
开 放模块;
闭合模块等
2 SEF-SC.ct.1
3 类的设计和使用类设计(抽象数据类型;
类和对象;
信息隐 蔽;
继承和聚集;
多态;
动态绑定等) ;
接 口设计(抽象、封装) ;
使用范围;
设计准 则(副作用、成员函数参数设置、大小等)
4 SEF-SC.ct.1 SEF-SC.ct.3
4 代码复用设计 包与库;
重载;
泛化;
设计模式;
配置式编 程5SEF-SC.ct.2 SEF-SC.ct.4 SEF-SC.ct.8 南京大学软件工程专业本科教程――附录 B:专业基础/核心课程描述 附录 B 第70 页5函数与类方法设计 可靠性的基本概念;
断言;
前置与后置条件;
不变式;
防御性程序设计(非法输入处理;
预计变更等)
2 SEF-SC.ct.5
6 复杂功能代码的计 基于表格 (直接存取、 变址存取、 阶梯存取) 的代码设计;
基于状态机的代码设计;
基于 语法输入的代码设计
3 SEF-SC.ct.7 SEF-SC.ct.9
7 错误与异常代码设计 基本概念(故障、异常) ;
错误处理;
异常 处理;
容错
5 SEF-SC.ct.6 SEF-SC.ct.16 SEF-VV.tst.2
8 特殊功能代码的设计 并发程序设计的背景、策略;