软件设计与体系结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 软件体系结构的基本概念;软件体系结构风格; 网络与分布式环境下的体系结构模式;软件构件 技术;CORBA、J2EE等中间件技术
软件开发方法
– 设计建模技术;面向对象软件设计方法;结构描 述;行为描述;设计模式;以J2EE等技术为基础 的设计方法和案例分析
分布式软件工程
– 分布式软件的典型结构;分布构件技术; COM/DCOM技术;体系结构模式;设计表示
面向对象软件工程
– 面向对象软件设计方法;设计建模语言;结构描 述;行为描述;设计模式
软件工程课程设计
– 软件设计工具;分布式软件代码开发
13
A Free sample background from www.powerpointbackgrounds.com
各课程中相关教学内容(2/2)
软件体系结构
3
A Free sample background from www.powerpointbackgrounds.com
国内软件工程教育情况
计算机科学与技术本科专业规范(软件工程方 向):
– 对软件工程专业方向教育的历史、现状及发展方向、本 科毕业生培养目标和规格、教育内容和知识体系、办学 条件等进行了论述。 – 详细描述了软件工程教育知识体系、软件工程专业核心 课程,给出了软件工程专业综合性课程设计范例。
由于本科目前还未设立单独的软件工程专业方 向,因此未建立专门的本科“软件设计与体系 结构”课程。
12
A Free sample background from www.powerpointbackgrounds.com
各课程中相关教学内容(1/2)
软件工程导论
– 软件设计基础(概念、策略、方法和工具);面 向数据流的设计方法;启发式设计策略;设计优 化;人机界面设计;数据设计;设计评审;重构 和逆向工程
1.
18
A Free sample background from www.powerpointbackgrounds.com
1. 软件体系结构概述
1.1 1.2 1.3 1.4 1.5 软件体系结构的定义 软件体系结构的层次 软件体系结构的重要性 软件体系结构研究的发展历程 软件体系结构的主要研究领域
5
A Free sample background from www.powerpointbackgrounds.com
学习目的
① ② ③ ④ ⑤
在各种软件设计中应用多种设计模式、框架 和体系结构。 使用不同的中间件技术设计并实现软件。 使用好的质量准则作为设计目标,然后度量 和评估设计以保证目标被满足。 使用合理的变更控制方法更改设计。 使用逆向工程技术重新获得软件设计。
A Free sample background from www.powerpointbackgrounds.com
16
五、对教材的规划及其特色
撰写“十一五”国家级规划教材《软件设计与体 系结构》教材的几点考虑:
– 对专业规范和SWEBOK中的相关知识领域、知识 单元、知识点进行整理、归并。 – 按照本科生的基础和本科教学特点,将内容由浅 到深,进行系统的组织。 – 结合典型应用领域案例,注重培养学生在实践中 运用所学知识的能力。 – 采用当前主流的设计方法和工具、环境。
17
A Free sample background from www.powerpointbackgrounds.com
教材内容结构的规划
软件体系结构概述 2. 软件体系结构描述语言 3. 统一建模语言UML 4. 软件体系结构设计的原则与策略 5. 软件体系结构设计方法 6. 概要设计与详细设计 7. 人机界面设计 8. 软件体系结构风格与设计模式 9. 基于构件的软件体系结构与中间件 10. 软件设计的评价方法 11. 软件设计的演化
中间件 分布式软件的代码开发方法 构建异构系统 建模原理;前置与后置条件、不变式 ;数学模型和规约语言简介;建模语 言的性质;语法和语义;构件化 结构建模 进化与维护的基本概念;进化实体间 的关系;进化模型;进化成本模型; 进化规划 使用遗留系统;程序理解和逆向工程 ;系统和过程的再建;影响分析;移 植;重构;程序转换、数据逆向工程
14
A Free sample background from www.powerpointbackgrounds.com
当前课程存在的问题
覆盖了专业规范和SWEBOK中的所有知识领域 、知识单元和绝大多数知识点,但由于各种原 因,在形式化设计方法、设计评价、设计进化 等方面仍有欠缺。 当考虑开设软件工程专业方向的软件设计和体 系结构课程时,上述内容需要进行系统的梳理 和组织,对教学内容、实践教学和教材进行更 进一步的建设。
软件设计关键问 并发性;事件的控制与处理;组件分布;错误与 异常处理、容错;交互与表现;数据持久性 题 软件设计 软件结构与体系 体系结构与视点;体系结构风格;设计模式;程 序和框架族 结构 软件设计质量的 质量属性;质量分析和评价技术;度量 分析和评价 软件设计的符号 结构描述;行为描述 软件设计策略与 一般策略;结构化设计;面向对象设计;数据结 构为中心的设计;基于组件的设计;其它方法 方法 软件工程工 具和方法 软件工程工具 软件工程方法
11
A Free sample background from www.powerpointbackgrounds.com
四、我们目前的课程教学情况和建设思考
软件设计和体系结构相关知识领域和知识单元 分布在多门课程中:
– 本科“软件工程导论” – 本科“面向对象软件工程” – 本科“软件工程课程设计” – 工程硕士“软件体系结构” – 工程硕士“软件开发方法” – 硕士“分布式软件工程”
19
A Free sample background from www.powerpointbackgrounds.com
2. 软件体系结构描述语言
2.1 2.2 2.3 2.4 2.5 2.6 2.7 构件与连接子 ACME Wright Darwin Fractal 其它有影响的ADL 形式化描述方法
2
A Free sample background from www.powerpointbackgrounds.com
一、软件工程教育的现状
建立软件工程学科,系统、规范地培养软件工 程人才已受到国内外高等学校、科研院所和企 业界的普遍重视
– 软件工程知识体SWEBOK – 计算教程软件工程卷CCSE – 软件工程教育知识体SEEK
软件设计工具;软件质量工具 启发式方法;形式化方法;原型方法
10
A Free sample background from www.powerpointbackgrounds.com
SWEBOK和SEEK之间的联系
SWEBOK中的知识领域是针对整个软件工程学 科方向划分的。 SEEK中的知识领域是以本科教学和课程体系建 设为目标划分的。 这两者的划分方式和结果存在不同之处,需要 研究它们之间知识领域的映射关系,并在课程 建设中进行权衡和合理安排。
软件工程作为一个专业方向,其教学是通过完 善的一组课程体系来实施的。
– “软件设计与体系结构”是其中重要的核心课程。
4
A Free sample background from www.powerpointbackgrounds.com
二、软件工程方向专业规范对本课程的要求
课程描述:
– – – – – – – – – – 深入学习软件设计; 设计模式、框架和体系结构的继续学习; 当前中间件体系结构综述; 使用中间件设计分布式系统; 基于构件的设计; 度量理论和设计中的合理性准则; 设计质量,如性能、安全性、保密性、可重用性和可靠 性等; 度量内部属性和软件复杂性; 设计的评估和演化; 软件演化、再工程和逆向工程的基础知识。
4. 软件体系结构设计的原则与策略
4.1 4.2 4.3 4.4 4.5 4.6 4.7 正确性 充分性 健壮性 灵活性 可重用性 低耦合、高内聚 抽象与分而治之
22
A Free sample background from www.powerpointbackgrounds.com
5. 软件体系结构设计方法
5.1 5.2 5.3 用例驱动的软件体系结构设计方法 模式驱动的软件体系结构设计方法 特定领域体系结构的设计方法
23
A Free sample background from www.powerpointbackgrounds.com
9
DES 软件设计
体系结构设计ar
详细设计dd 设计支持工具与评价ste
A Free sample background from www.powerpointbackgrounds.com
三、SWEBOK的相关知识领域
知识领域 子域
软件设计基础
相关主题
一般设计概念;软件设计上下文;软件设计过程 ;软件设计原则
6
A Free sample background from www.powerpointbackgrounds.com
教学模块顺序、实践教学
① ② ③ ④ ⑤ ⑥ ⑦
在以前学习的基础上,对设计模式进行更深 入的学习; 将设计模式应用到几个示例应用程序; 中间件体系结构的深入学习,包括COM、 CORBA和.NET; 对实际设计案例的广泛研究; 软件评价基础,度量软件质量; 再工程和逆向工程技术; 使用中间件技术构建一个重要项目。
Slide 1
软件设计与体系结构
——课程与教材建设思考
董威、文艳军 国防科技大学计算机学院
A Free sample background from www.powerpointbackgrounds.com
报告内容 一、软件工程教育的现状 二、软件工程方向专业规范对课程的要求 三、SWEBOK的相关知识领域 四、我们目前的课程教学情况和建设思考 五、对教材的规划及其特色 六、小结
20
A Free sample background from www.powerpointbackgrounds.com
3. 统一建模语言UML
3.1 3.2 3.3 3.4 3.5 3.6 3.7 UML概述 用例图 类图与对象图 顺序图与协作图 状态图与活动图 包图与构件图 部署图
21
A Free sample background from www.powerpointbackgrounds.com
8
A Free sample background from www.powerpointbackgrounds.com
具体内容
模型分类tm.3 进化过程pro
进化活动ac
课程的知识领域和知识单元(2/2)
知识领域 知wenku.baidu.com单元和知识点
软件设计策略str
具体内容
面向功能的设计;面向对象的设计; 以数据结构为中心的设计;面向主题 的设计 体系结构风格;多属性间的体系结构 折衷;软件体系结构中的硬件问题; 特定领域的体系结构和产品线;体系 结构表示 设计方法;设计模式;构件设计;构 件和系统接口设计;设计表示 设计支持工具;设计属性的度量;设 计标准;形式化设计分析
7
A Free sample background from www.powerpointbackgrounds.com
课程的知识领域和知识单元(1/2)
知识领域 知识单元和知识点
CMP 计算基础 MAA 软件建模 与分析 EVO 软件进化
构造技术ct.11 构造技术ct.12 构造技术ct.13 建模基础md
15
A Free sample background from www.powerpointbackgrounds.com
对软件设计与体系结构课程建设的思考
对软件工程专业规范和SWEBOK中相关知识点进行 深入研究,根据两者的映射关系以及当前软件行业 的需求,区分和明确本科与研究生该课程教学相关 内容。 强调教学内容的系统性和连贯性,把各知识点进行 良好的组织,循序渐进,着重培养学生的设计思维 能力。 课堂案例分析和课后实践有机结合,强调主要应用 领域中的设计模式和体系结构风格的总结和学习, 以及对工具和环境的使用,培养学生对方法的实际 运用能力和解决问题能力。 编著高水平的《软件设计与体系结构》教材。
软件开发方法
– 设计建模技术;面向对象软件设计方法;结构描 述;行为描述;设计模式;以J2EE等技术为基础 的设计方法和案例分析
分布式软件工程
– 分布式软件的典型结构;分布构件技术; COM/DCOM技术;体系结构模式;设计表示
面向对象软件工程
– 面向对象软件设计方法;设计建模语言;结构描 述;行为描述;设计模式
软件工程课程设计
– 软件设计工具;分布式软件代码开发
13
A Free sample background from www.powerpointbackgrounds.com
各课程中相关教学内容(2/2)
软件体系结构
3
A Free sample background from www.powerpointbackgrounds.com
国内软件工程教育情况
计算机科学与技术本科专业规范(软件工程方 向):
– 对软件工程专业方向教育的历史、现状及发展方向、本 科毕业生培养目标和规格、教育内容和知识体系、办学 条件等进行了论述。 – 详细描述了软件工程教育知识体系、软件工程专业核心 课程,给出了软件工程专业综合性课程设计范例。
由于本科目前还未设立单独的软件工程专业方 向,因此未建立专门的本科“软件设计与体系 结构”课程。
12
A Free sample background from www.powerpointbackgrounds.com
各课程中相关教学内容(1/2)
软件工程导论
– 软件设计基础(概念、策略、方法和工具);面 向数据流的设计方法;启发式设计策略;设计优 化;人机界面设计;数据设计;设计评审;重构 和逆向工程
1.
18
A Free sample background from www.powerpointbackgrounds.com
1. 软件体系结构概述
1.1 1.2 1.3 1.4 1.5 软件体系结构的定义 软件体系结构的层次 软件体系结构的重要性 软件体系结构研究的发展历程 软件体系结构的主要研究领域
5
A Free sample background from www.powerpointbackgrounds.com
学习目的
① ② ③ ④ ⑤
在各种软件设计中应用多种设计模式、框架 和体系结构。 使用不同的中间件技术设计并实现软件。 使用好的质量准则作为设计目标,然后度量 和评估设计以保证目标被满足。 使用合理的变更控制方法更改设计。 使用逆向工程技术重新获得软件设计。
A Free sample background from www.powerpointbackgrounds.com
16
五、对教材的规划及其特色
撰写“十一五”国家级规划教材《软件设计与体 系结构》教材的几点考虑:
– 对专业规范和SWEBOK中的相关知识领域、知识 单元、知识点进行整理、归并。 – 按照本科生的基础和本科教学特点,将内容由浅 到深,进行系统的组织。 – 结合典型应用领域案例,注重培养学生在实践中 运用所学知识的能力。 – 采用当前主流的设计方法和工具、环境。
17
A Free sample background from www.powerpointbackgrounds.com
教材内容结构的规划
软件体系结构概述 2. 软件体系结构描述语言 3. 统一建模语言UML 4. 软件体系结构设计的原则与策略 5. 软件体系结构设计方法 6. 概要设计与详细设计 7. 人机界面设计 8. 软件体系结构风格与设计模式 9. 基于构件的软件体系结构与中间件 10. 软件设计的评价方法 11. 软件设计的演化
中间件 分布式软件的代码开发方法 构建异构系统 建模原理;前置与后置条件、不变式 ;数学模型和规约语言简介;建模语 言的性质;语法和语义;构件化 结构建模 进化与维护的基本概念;进化实体间 的关系;进化模型;进化成本模型; 进化规划 使用遗留系统;程序理解和逆向工程 ;系统和过程的再建;影响分析;移 植;重构;程序转换、数据逆向工程
14
A Free sample background from www.powerpointbackgrounds.com
当前课程存在的问题
覆盖了专业规范和SWEBOK中的所有知识领域 、知识单元和绝大多数知识点,但由于各种原 因,在形式化设计方法、设计评价、设计进化 等方面仍有欠缺。 当考虑开设软件工程专业方向的软件设计和体 系结构课程时,上述内容需要进行系统的梳理 和组织,对教学内容、实践教学和教材进行更 进一步的建设。
软件设计关键问 并发性;事件的控制与处理;组件分布;错误与 异常处理、容错;交互与表现;数据持久性 题 软件设计 软件结构与体系 体系结构与视点;体系结构风格;设计模式;程 序和框架族 结构 软件设计质量的 质量属性;质量分析和评价技术;度量 分析和评价 软件设计的符号 结构描述;行为描述 软件设计策略与 一般策略;结构化设计;面向对象设计;数据结 构为中心的设计;基于组件的设计;其它方法 方法 软件工程工 具和方法 软件工程工具 软件工程方法
11
A Free sample background from www.powerpointbackgrounds.com
四、我们目前的课程教学情况和建设思考
软件设计和体系结构相关知识领域和知识单元 分布在多门课程中:
– 本科“软件工程导论” – 本科“面向对象软件工程” – 本科“软件工程课程设计” – 工程硕士“软件体系结构” – 工程硕士“软件开发方法” – 硕士“分布式软件工程”
19
A Free sample background from www.powerpointbackgrounds.com
2. 软件体系结构描述语言
2.1 2.2 2.3 2.4 2.5 2.6 2.7 构件与连接子 ACME Wright Darwin Fractal 其它有影响的ADL 形式化描述方法
2
A Free sample background from www.powerpointbackgrounds.com
一、软件工程教育的现状
建立软件工程学科,系统、规范地培养软件工 程人才已受到国内外高等学校、科研院所和企 业界的普遍重视
– 软件工程知识体SWEBOK – 计算教程软件工程卷CCSE – 软件工程教育知识体SEEK
软件设计工具;软件质量工具 启发式方法;形式化方法;原型方法
10
A Free sample background from www.powerpointbackgrounds.com
SWEBOK和SEEK之间的联系
SWEBOK中的知识领域是针对整个软件工程学 科方向划分的。 SEEK中的知识领域是以本科教学和课程体系建 设为目标划分的。 这两者的划分方式和结果存在不同之处,需要 研究它们之间知识领域的映射关系,并在课程 建设中进行权衡和合理安排。
软件工程作为一个专业方向,其教学是通过完 善的一组课程体系来实施的。
– “软件设计与体系结构”是其中重要的核心课程。
4
A Free sample background from www.powerpointbackgrounds.com
二、软件工程方向专业规范对本课程的要求
课程描述:
– – – – – – – – – – 深入学习软件设计; 设计模式、框架和体系结构的继续学习; 当前中间件体系结构综述; 使用中间件设计分布式系统; 基于构件的设计; 度量理论和设计中的合理性准则; 设计质量,如性能、安全性、保密性、可重用性和可靠 性等; 度量内部属性和软件复杂性; 设计的评估和演化; 软件演化、再工程和逆向工程的基础知识。
4. 软件体系结构设计的原则与策略
4.1 4.2 4.3 4.4 4.5 4.6 4.7 正确性 充分性 健壮性 灵活性 可重用性 低耦合、高内聚 抽象与分而治之
22
A Free sample background from www.powerpointbackgrounds.com
5. 软件体系结构设计方法
5.1 5.2 5.3 用例驱动的软件体系结构设计方法 模式驱动的软件体系结构设计方法 特定领域体系结构的设计方法
23
A Free sample background from www.powerpointbackgrounds.com
9
DES 软件设计
体系结构设计ar
详细设计dd 设计支持工具与评价ste
A Free sample background from www.powerpointbackgrounds.com
三、SWEBOK的相关知识领域
知识领域 子域
软件设计基础
相关主题
一般设计概念;软件设计上下文;软件设计过程 ;软件设计原则
6
A Free sample background from www.powerpointbackgrounds.com
教学模块顺序、实践教学
① ② ③ ④ ⑤ ⑥ ⑦
在以前学习的基础上,对设计模式进行更深 入的学习; 将设计模式应用到几个示例应用程序; 中间件体系结构的深入学习,包括COM、 CORBA和.NET; 对实际设计案例的广泛研究; 软件评价基础,度量软件质量; 再工程和逆向工程技术; 使用中间件技术构建一个重要项目。
Slide 1
软件设计与体系结构
——课程与教材建设思考
董威、文艳军 国防科技大学计算机学院
A Free sample background from www.powerpointbackgrounds.com
报告内容 一、软件工程教育的现状 二、软件工程方向专业规范对课程的要求 三、SWEBOK的相关知识领域 四、我们目前的课程教学情况和建设思考 五、对教材的规划及其特色 六、小结
20
A Free sample background from www.powerpointbackgrounds.com
3. 统一建模语言UML
3.1 3.2 3.3 3.4 3.5 3.6 3.7 UML概述 用例图 类图与对象图 顺序图与协作图 状态图与活动图 包图与构件图 部署图
21
A Free sample background from www.powerpointbackgrounds.com
8
A Free sample background from www.powerpointbackgrounds.com
具体内容
模型分类tm.3 进化过程pro
进化活动ac
课程的知识领域和知识单元(2/2)
知识领域 知wenku.baidu.com单元和知识点
软件设计策略str
具体内容
面向功能的设计;面向对象的设计; 以数据结构为中心的设计;面向主题 的设计 体系结构风格;多属性间的体系结构 折衷;软件体系结构中的硬件问题; 特定领域的体系结构和产品线;体系 结构表示 设计方法;设计模式;构件设计;构 件和系统接口设计;设计表示 设计支持工具;设计属性的度量;设 计标准;形式化设计分析
7
A Free sample background from www.powerpointbackgrounds.com
课程的知识领域和知识单元(1/2)
知识领域 知识单元和知识点
CMP 计算基础 MAA 软件建模 与分析 EVO 软件进化
构造技术ct.11 构造技术ct.12 构造技术ct.13 建模基础md
15
A Free sample background from www.powerpointbackgrounds.com
对软件设计与体系结构课程建设的思考
对软件工程专业规范和SWEBOK中相关知识点进行 深入研究,根据两者的映射关系以及当前软件行业 的需求,区分和明确本科与研究生该课程教学相关 内容。 强调教学内容的系统性和连贯性,把各知识点进行 良好的组织,循序渐进,着重培养学生的设计思维 能力。 课堂案例分析和课后实践有机结合,强调主要应用 领域中的设计模式和体系结构风格的总结和学习, 以及对工具和环境的使用,培养学生对方法的实际 运用能力和解决问题能力。 编著高水平的《软件设计与体系结构》教材。