6.6.7SE311软件设计与体系结构
本课程的内容包括:
1、 深入理解软件设计;
2、 继续学习设计模式、框架和体系结构;
3、 了解当前的中间件结构;
4、 使用中间件设计分布式系统;
5、 基于组件的设计;
6、 度量理论以及在设计中正确使用度量标准;
7、 设计质量,包括性能、安全性、保密性、重用性、可靠性等;
8、 测量软件的内部质量和复杂性;
9、 设计的评价和演化;
10、 软件演化、再工程和逆向工程的基础知识。
先修课程
SE211软件构造
学习目标
1、 在软件设计中,使用各种设计模式、框架和体系结构;
2、 使用几种不同的中间件技术设计和实现软件;
3、 以完善的质量标准为设计目标,度量和评价设计以保证满足这些目标;
4、 使用完善的变更控制方法修改设计;
5、 使用逆向工程技术重构软件设计。
教学顺序
1、 在已学知识基础上,深入学习模式设计;
2、 将模式设计应用到一些实例应用软件中;
3、 深入学习中间件体系结构,包括COM、CORBA和.NET技术;
4、 广泛学习实际设计案例;
5、 软件度量标准基础,软件质量度量;
6、 再工程和逆向工程设计。
实验和作业示例
使用一个或多个普遍使用的中间件体系结构开发重要项目。
教学说明
本课程使学生详细了解当前流行的设计模式,但不局限于经典的GoF模式。
总学时:33学时
涵盖知识单元
CMP.ct 开发技术 3学时
CMP.ct.11 中间件
CMP.ct.12 分布式软件开发方法
CMP.ct.13 异构系统开发
MAA.md 建模 4学时
MAA.md.3 结构化建模
DES.str 软件设计策略 2学时
DES.ar 体系结构设计 5学时
DES.dd 详细设计 8学时
DES.nst 设计表示法和支持工具 1学时
DES.ev 设计评价 1学时
EVO.pro 演化过程 5学时
EVO.ac 演化活动 4学时
6.6.8 SE312软件详细设计
本课程的内容
1、 深入了解软件的详细设计和开发;
2、 深入介绍设计模式和重构;
3、 介绍设计的形式化方法;
4、 基于内部质量标准分析软件的设计;
5、 性能和可维护性的改进;
6、 逆向工程;
7、 设计变更的规范过程。
先修课程
SE213大型软件系统的设计和体系结构
学习目标
1、 在软件详细设计中,应用各种软件开发技术和工具,包括基于状态的和表格驱动的方法;
2、 在软件设计中使用各种设计模式;
3、 具备熟练的面向对象设计和程序设计能力;
4、 分析软件以便提高其效率、可用性和可维护性;
5、 使用完善的变更控制方法对软件设计进行修改;
6、 使用逆向工程技术重构软件设计。
总学时:26学时
涵盖知识单元
CMP.ct 开发技术 13学时
CMP.tl 开发工具 3学时
CMP.Fm 形式化开发方法 2学时
MAA.tm 模型的类型 2学时
DES.dd 详细设计 5学时
EVO.ac 演化活动 1学时
6.6.13 SE324软件过程与管理
本课程的内容包括:
1、 软件过程:标准,实施和保证;
2、 关注于需求管理和长期演化的项目管理:获取需求并设定优先级,成本估算,计划和跟踪项目,风险分析,项目监控,变更管理。
先修课程
SE210软件工程导论或者SE200软件工程与计算Ⅲ
至少2门软件工程二年级或二年级以上的附加课程
学习目标
1、 使用不同的技术来获取需求;
2、 组织需求,并设定优先级;
3、 设计适合不同项目类型的过程;
4、 评价软件过程,评估它在改进质量方面的效果;
5、 开发整个项目计划;
6、 度量项目进展、生产力和软件过程的其他方面;
7、 使用不同的技术,有效估算系统的开发成本和演化;
8、 实行风险管理,动态调整项目计划;
9、 使用标准进行质量、过程管理和项目管理;
10、 实行根本原因分析,进行持续的过程改进。
总学时:39学时
涵盖知识单元
MAA.er 获取需求 2学时
MAA.rsd 需求规格说明与文档 1学时
MAA.rfd.6 需求管理 3学时
EVO.pro 演化过程 2学时
EVO.pro.3 软件演化模型
EVO.pro.4 演化成本模型
PRO.com 过程概念 3学时
PRO.imp 过程实现 9学时
QUA.cc 软件质量的概念与文化 1学时
QUA.std 软件质量标准 2学时
QUA.pro 软件质量过程 4学时