01
课程概述
《软件体系结构》是根植于软件工程发展起来的一门新兴学科,目前已经成为软件工程研究和实践的主要领域。体系结构在软件开发中为不同的人员提供了共同交流的语言,体现并尝试了系统早期的设计决策,并作为相同设计的抽象,为实现框架和构件的重用、基于体系结构的软件开发提供了有力的支持。作为计算机科学与技术专业软件工程方向的重要专业课程,本课程主要系统地介绍软件体系结构的基本原理、方法和实践,全面反映软件体系结构研究和应用的最新进展。既讨论软件体系结构的基本理论知识,又介绍软件体系结构的设计和工业界应用实例,强调理论与实践相结合。本课程的先修课程为“软件工程”。0
课程目标
1.知道《软件体系结构》这门学科的性质、地位、研究范围、学科进展和未来方向等。.理解该门学科的主要概念、基本原理和策略等。3.掌握软件体系结构的建模方法、描述方法,通过对不同软件体系结构风格的掌握,能够采用正确的基于体系结构的软件开发。4.能够把所学的原理应用到具体的实践中去,培养学生发现、分析和解决问题的能力等。03
课程内容与教学要求
这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。这四个层次的一般涵义表述如下:知道———是指对这门学科和教学现象的认知。理解———是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所涉及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。掌握———是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象。学会———是指能模仿或在教师指导下独立地完成某些教学知识和技能的操作任务,或能识别操作中的一般差错。教学内容和要求表中的“√”号表示教学知识和技能的教学要求层次。本标准中打“*”号的内容可作为自学,教师可根据实际情况确定要求或不布置要求。教学内容及教学要求表
教学内容
知道
理解
掌握
学会
1软件体系结构概论
1.1从软件危机谈起
1.构件与软件重用
1.3软件体系结构的兴起和发展
1.4软件体系结构的应用现状
√
√
√
√
软件体系结构建模
.1软件体系结构建模概述
.“4+1”视图模型
.3软件体系结构的核心模型
.4软件体系结构的生命周期模型
√
√
√
√
3RationalRose简介
3.1初识RationalRose
3.RationalRose的安装
3.3RationalRose使用介绍
√
√
√
4软件体系结构与UML语言
4.1UML的构成
4.视图与图
4.3模型元素
4.4通用机制
4.5UML建模的简单流程
√
√
√
√
√
5用例图
5.1用例图的概念
5.用例图建模技术
5.3实例——图书馆管理系统中的用例图
√
√
√
6类图和对象图
6.1类图的概念
6.类图建模技术
6.3对象图的概念
6.4对象图建模技术
6.5实例——图书馆管理系统的类图
√
√
√
√
√
7包图
7.1包
7.包之间的关系
7.3包图建模技术
7.4实例——图书馆管理系统的包图
√
√
√
√
8状态图
8.1状态图与状态机
8.状态、事件与转换
8.3状态图建模技术
8.4实例——图书馆管理系统的状态图
√
√
√
√
9活动图
9.1活动图的组成元素
9.活动的分解
9.3活动图建模技术
9.4实例——图书馆管理系统的活动图
√
√
√
√
10时序图
10.1时序图的组成
10.对象的创建和撤销
10.3时序图建模
10.4实例——图书馆管理系统的时序图
√
√
√
√
11协作图
11.1对象、链和消息
11.时序图与协作图的比较
11.3协作图的建模
11.4实例——图书馆管理系统的协作图
√
√
√
√
1组件图
1.1组件、接口与依赖关系
1.组件图的建模技术
1.3实例——图书馆管理系统的组件图
√
√
√
13配置图
13.1节点及关联关系
13.配置图的建模
13.3实例——图书馆管理系统的配置图
√
√
√
14基于体系结构的软件开发
14.1设计模式
14.基于体系结构的设计方法
14.3体系结构的设计与演化
14.4基于体系结构的软件开发模型
14.5应用开发实例
14.6基于体系结构的软件过程
14.7软件体系结构演化模型
√
√
√
√
√
√
√
04
课程实施
《软件体系结构》是计算机软件专业类必选课。一般情况下周课时为3课时,共54课时。其中讲授4课时、实验1课时。函授生及公选课视具体情况而定,一般为30课时,其中讲授6课时、实验4课时。具体课时安排如下:课时安排及教学方法表
教学内容
课时建议
教与学的方法建议
54课时
30课时
1软件体系结构概论
1.1从软件危机谈起
1.构件与软件重用
1.3软件体系结构的兴起和发展
1.4软件体系结构的应用现状
课时
1课时
讲述
软件体系结构建模
.1软件体系结构建模概述
.“4+1”视图模型
.3软件体系结构的核心模型
.4软件体系结构的生命周期模型
4课时
课时
讲述
3RationalRose简介
3.1初识RationalRose
3.RationalRose的安装
3.3RationalRose使用介绍
课时
1课时
讲述、演示
4软件体系结构与UML语言
4.1UML的构成
4.视图与图
4.3模型元素
4.4通用机制
4.5UML建模的简单流程
4课时,实验1课时
课时
讲述、演示和实验
5用例图
5.1用例图的概念
5.用例图建模技术
5.3实例——图书馆管理系统中的用例图
课时,实验1课时
课时
讲述、演示和实验
6类图和对象图
6.1类图的概念
6.类图建模技术
6.3对象图的概念
6.4对象图建模技术
6.5实例——图书馆管理系统的类图
4课时,实验1课时
课时,实验1课时
讲述、演示和实验
7包图
7.1包
7.包之间的关系
7.3包图建模技术
7.4实例——图书馆管理系统的包图
课时,实验1课时
课时
讲述、演示和实验
8状态图
8.1状态图与状态机
8.状态、事件与转换
8.3状态图建模技术
8.4实例——图书馆管理系统的状态图
4课时,实验1课时
课时,实验1课时
讲述、演示和实验
9活动图
9.1活动图的组成元素
9.活动的分解
9.3活动图建模技术
9.4实例——图书馆管理系统的活动图
4课时,实验1课时
课时
讲述、演示和实验
10时序图
10.1时序图的组成
10.对象的创建和撤销
10.3时序图建模
10.4实例——图书馆管理系统的时序图
4课时,实验1课时
课时,实验1课时
讲述、演示和实验
11协作图
11.1对象、链和消息
11.时序图与协作图的比较
11.3协作图的建模
11.4实例——图书馆管理系统的协作图
课时,实验1课时
课时
讲述、演示和实验
1组件图
1.1组件、接口与依赖关系
1.组件图的建模技术
1.3实例——图书馆管理系统的组件图
课时,实验1课时
课时,实验1课时
讲述、演示和实验
13配置图
13.1节点及关联关系
13.配置图的建模
13.3实例——图书馆管理系统的配置图
课时,实验1课时
课时
讲述、演示和实验
14基于体系结构的软件开发
14.1设计模式
14.基于体系结构的设计方法
14.3体系结构的设计与演化
14.4基于体系结构的软件开发模型
14.5应用开发实例
14.6基于体系结构的软件过程
14.7软件体系结构演化模型
4课时,实验课时
课时
讲述和实验
合计:54课时中含理论课4课时,实验课1课时;
30课时中含理论课6课时,实验课4课时。
05
教学用书
扫描,优惠购书
06
内容简介
本书系统地介绍了软件体系结构的基本原理、方法和实践,全面反映了软件体系结构研究和应用的最新进展。既讨论软件体系结构的基本理论知识,又介绍软件体系结构的设计和产业界应用实例,强调理论与实践相结合,基础知识与前沿发展相结合。07
课程评价
1.这门学科的评价依据是本课程标准规定的课程目标、教学内容和要求。.考试时间:10分钟。3.考试方式、分制与分数解释。采用开卷的期终考试+实验考核和平时成绩(主要为作业和实验报告)相结合方式评定学生成绩。以百分制评分,60分为及格,满分为分。其中,平时成绩为10分,实验报告为0分,期终考试为70分。4.题型:简答题、论述题、综合分析题和设计题等。A.简答题:(着重考查学生对软件体系结构的理解与掌握程度)例:引入软件体系结构后,传统软件过程发生了哪些变化?这种变化有什么好处?B.论述题:(着重考查学生对软件体系结构知识的掌握与学会程度)例:请论述面向服务的软件体系结构的设计原则。C.综合分析题:(着重考查学生对软件体系结构理论知识的掌握与学会程度)例:请把基于体系结构的软件开发模型与其他软件开发模型进行比较。D.设计题:(着重考查学生对软件体系结构设计技术掌握与学会程度)例:选择一个规模适中的系统,使用UML为其建模。08
目录
上下滚动查看↓
第1章软件体系结构概论
1.1从软件危机谈起
1.1.1软件危机的表现
1.1.软件危机的原因
1.1.3如何克服软件危机
1.构件与软件重用
1..1构件模型及实现
1..构件获取
1..3构件管理
1..4构件重用
1..5软件重用实例
1.3软件体系结构的兴起和发展
1.3.1软件体系结构的定义
1.3.软件体系结构的意义
1.3.3软件体系结构的发展史
1.4软件体系结构的应用现状
思考题
第章软件体系结构建模
.1“4+1”视图模型
.1.1逻辑视图
.1.开发视图
.1.3进程视图
.1.4物理视图
.1.5场景
.软件体系结构的核心模型
.3软件体系结构的生命周期模型
.3.1各阶段之间的关系
.3.软件体系结构的生命周期
.4软件体系结构的抽象模型
.4.1构件及其关系的抽象描述
.4.连接件
.4.3软件体系结构
.4.4软件体系结构关系
.4.5软件体系结构范式
思考题
第3章软件体系结构风格
3.1经典软件体系结构风格
3.1.1管道与过滤器
3.1.数据抽象和面向对象系统
3.1.3基于事件的系统
3.1.4分层系统
3.1.5仓库系统及知识库
3.1.6C风格
3.客户/服务器风格
3.3三层C/S体系结构风格
3.3.1各层的功能
3.3.三层C/S体系结构应用实例
3.3.3三层C/S体系结构的优点
3.4浏览/服务器风格
3.5公共对象请求代理体系结构
3.5.1CORBA技术规范
3.5.CORBA风格分析
3.6正交软件体系结构
3.6.1正交软件体系结构的抽象模型
3.6.软件体系结构的正交化
3.6.3正交软件体系结构的实例
3.6.4正交软件体系结构的优点
3.7基于层次消息总线的体系结构风格
3.7.1构件模型
3.7.构件接口
3.7.3消息总线
3.7.4构件静态结构
3.7.5构件动态行为
3.7.6运行时刻的系统演化
3.8异构结构风格
3.8.1异构结构的实例分析
3.8.异构组合匹配问题
3.9互连系统构成的系统及其体系结构
3.9.1互连系统构成的系统
3.9.基于SASIS的软件过程
3.9.3应用范围
3.10特定领域软件体系结构
3.10.1DSSA的定义
3.10.DSSA的基本活动
3.10.3参与DSSA的人员
3.10.4DSSA的建立过程
3.10.5DSSA实例
3.10.6DSSA与体系结构风格的比较
思考题
第4章软件体系结构描述
4.1软件体系结构描述方法
4.软件体系结构描述框架标准
4.3体系结构描述语言
4.3.1ADL与其他语言的比较
4.3.ADL的构成要素
4.4典型的软件体系结构描述语言
4.4.1UniCon
4.4.Wright
4.4.3C
4.4.4Rapide
4.4.5SADL
4.4.6Aesop
4.4.7ACME
思考题
第5章统一建模语言
5.1UML概述
5.1.1UML的发展历史
5.1.UML的应用领域
5.UML的结构
5..1结构概述
5..事物
5..3关系
5..4图形
5.3用例图
5.4类图和对象图
5.5交互图
5.5.1顺序图
5.5.通信图
5.5.3定时图
5.6状态图
5.7活动图
5.7.1基本活动图
5.7.带泳道的活动图
5.7.3交互概览图
5.8构件图
5.9部署图
5.10使用UML建模
5.11使用UML的扩展机制
思考题
第6章可扩展标记语言
6.1XML概述
6.1.1XML的特点
6.1.XML的作用
6.1.3XML的应用
6.解析XML
6..1XML与HTML的区别
6..XML文档
6..3CSS与XSL
6.3XML编程接口
6.3.1API
6.3.XML开发工具
6.3.3XML建模
6.4基于XML的软件体系结构描述语言
6.4.1XADL.0
6.4.XBA
思考题
第7章动态软件体系结构
7.1动态软件体系结构概述
7.基于构件的动态系统结构模型
7.3πADL动态体系结构
7.3.1πADL描述体系结构的框架
7.3.πADL动态体系结构建模方法
7.3.3πADL动态体系结构建模语义
7.4动态体系结构的描述
7.4.1动态体系结构描述语言
7.4.动态体系结构的形式化描述
7.5动态体系结构的特征
7.6化学抽象机
思考题
第8章基于服务的体系结构
8.1SOA概述
8.面向服务的分析与设计
8.3SOA的关键技术
8.4SOA的实现方法
8.5服务描述语言
8.5.1WSDL概述
8.5.使用WSDL文档
8.5.3WSDL文档结构
8.6统一描述、发现和集成协议
8.6.1UDDI数据模型
8.6.注册Web服务
8.6.3调用Web服务
8.7消息封装协议
8.7.1消息封装和编码规则
8.7.SOAP应用
8.7.3REST
8.8构造一个简单的服务
8.8.1编写服务器端
8.8.编写客户端
8.9Web服务的应用实例
思考题
第9章富互联网应用体系结构
9.1RIA的概念
9.1.1RIA的提出
9.1.丰富的含义
9.1.3RIA的优点
9.RIA模型
9.3RIA客户端开发技术
9.4AJAX技术
9.5Mashup技术
9.5.1Mashup的体系结构
9.5.Mashup实现技术
思考题
第10章软件体系结构的分析与测试
10.1体系结构的可靠性建模
10.软件体系结构的风险分析
10..1风险分析的方法
10..风险分析的步骤
10.3基于体系结构描述的软件测试
10.3.1测试方法
10.3.实例与实现
思考题
第11章软件体系结构评估
11.1软件体系结构评估概述
11.1.1软件质量属性
11.1.几个基本概念
11.1.3评估的主要方式
11.ATAM评估方法
11..1ATAM评估的步骤
11..ATAM评估的阶段
11.3SAAM评估方法
11.3.1SAAM评估的步骤
11.3.SAAM评估实例
思考题
第1章基于体系结构的软件开发
1.1设计模式
1.1.1设计模式概述
1.1.设计模式的组成
1.1.3设计模式的描述
1.1.4模式和软件体系结构
1.1.5设计模式的层次
1.1.6设计模式的分类
1.1.7设计模式实例
1.1.8MVC模式的设计与实现
1.中间件技术
1..1中间件概述
1..主要的中间件
1..3中间件与构件的关系
1.3基于体系结构的设计方法
1.3.1有关术语
1.3.ABSD方法与生命周期
1.3.3ABSD方法的步骤
1.4体系结构的设计与演化
1.4.1设计和演化过程
1.4.实验原型阶段
1.4.3演化开发阶段
1.5基于体系结构的软件开发模型
1.5.1体系结构需求
1.5.体系结构设计
1.5.3体系结构文档化
1.5.4体系结构复审
1.5.5体系结构实现
1.5.6体系结构演化
1.6应用开发实例
1.6.1系统简介
1.6.系统设计与实现
1.6.3系统演化
1.7基于体系结构的软件过程
1.7.1有关概念
1.7.软件过程网
1.7.3基本结构的表示
1.7.4基于体系结构的软件过程Petri网
1.8软件体系结构演化模型
1.8.1SA静态演化模型
1.8.SA动态演化模型
思考题
第13章软件产品线体系结构
13.1软件产品线的出现和发展
13.1.1软件体系结构的发展
13.1.软件重用的发展
13.软件产品线概述
13..1软件产品线的过程模型
13..软件产品线的组织结构
13..3软件产品线的建立方式
13..4软件产品线的演化
13.3框架和应用框架技术
13.4软件产品线基本活动
13.4.1产品线分析
13.4.产品开发
13.5软件产品线体系结构的设计
13.5.1产品线体系结构简介
13.5.产品线体系结构的标准化和定制
13.6软件产品线体系结构的演化
13.6.1背景介绍
13.6.两代产品的各种发行版本
13.6.3需求和演化的分类
思考题
在