软 件 工 程

Post on 30-Dec-2015

56 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

软 件 工 程. 第 14 章  体系结构设计. 第 14 章 体系结构设计. 14.1 软件体系结构 14.1.1 什么是体系结构 14.1.2 为什么体系结构重要 14.2 数据设计 14.2.1 数据建模、数据结构、数据库和数据 仓库 14.2.2 构件级的数据设计. 第 14 章 体系结构设计. 14.3 体系结构风格 14.3.1 风格和模式的简略分类 14.3.2 组织和精化 14.4 分析可选的体系结构设计 14.4.1 一种体系结构权衡分析方法 14.4.2 体系结构设计的定量指导 - PowerPoint PPT Presentation

TRANSCRIPT

第 14章 体系结构设计 

软 件 工 程

第 14章 体系结构设计

14.1 软件体系结构      14.1.1  什么是体系结构      14.1.2  为什么体系结构重要

14.2 数据设计14.2.1  数据建模、数据结构、数据库和数据             仓库14.2.2  构件级的数据设计

第 14章 体系结构设计

14.3 体系结构风格14.3.1  风格和模式的简略分类14.3.2  组织和精化

14.4 分析可选的体系结构设计14.4.1  一种体系结构权衡分析方法14.4.2  体系结构设计的定量指导14.4.3  体系结构复杂性

第 14章 体系结构设计

14.5 映射需求到软件体系结构14.5.1  变换流14.5.2  事务流

14.6 变换映射14.6.1  一个例子14.6.2  设计步骤

第 14章 体系结构设计

14.7 事务映射14.7.1  一个例子14.7.2  设计步骤

14.8 精化体系结构设计

14.9 小结

第 14章 体系结构设计

设计主要任务是从信息需求中综合出 :

数据结构的表示程序结构接口特征过程细节

体系结构是一种表示,使得软件工程师能够:

1) 分析“设计”在满足其陈述的需求方面的效力

2) 在进行“设计”改变仍然相对容易的阶段考虑体系结构的可能选择

3) 减少和软件构造相关联的风险

14.1  软件体系结构

14.1.2  为什么体系结构重要

• 软件体系结构的表示启动开发基于计算机系统感兴趣的所有各方(风险承担者)的通信

• 体系结构突出了早期设计抉择• 体系结构建立了一个模型

14.2  数据设计

数据仓库的特征: 面向主题 集成性 时变性 非易失性

数据建模数据结构数据库数据仓库

数据规约原则:

1. 用于功能和行为的系统分析原则也应用于数据2.应该标识所有的数据结构以及其上完成的操作3.应当建立数据字典,并用于数据设计和程序设计4.低层的设计决策应该推迟到设计过程的后期

14.2.2  构件级的数据设计

5. 只有直接使用数据结构内部模块才能看到该数据结构的表示

6.应该开发一个由有用的数据结构和应用于其上的操作组成的库

7.软件设计和程序设计语言应该支持抽象数据类型的规约和实现

数据规约原则:

14.3  体系结构风格

风格描述一种系统范畴:• 一组构件 :它们完成系统所需的某种功能• 一组连接子 : 它们使能构件间的“通信 , 协调和合作”• 约束 :定义构件可以如何被集成到一起形成系统• 语义模型 :使得设计者能通过分析系统的构成成分的 已知性质而理解系统的整体性质。

14.3.1  风格和模式的简略分类

体系结构风格:• 数据为中心的体系结构• 数据流体系结构• 调用和返回体系结构• 面向对象体系结构• 层次式体系结构

14.3.2  组织和精化

评估导出的体系结构:•控制 --在体系结构中如何管理控制?•数据 --构件中如何进行数据通信?

14.4  分析可选的体系结构设计

方法:1.迭代法来评估设计权衡

2.用伪定量的技术来评估设计质量

迭代法来评估设计权衡:1. 收集场景2. 诱导需求、约束和环境描述3. 描述体系结构风格 /模式4. 孤立地考虑每个属性来评估质量属性5. 标识质量属性对各种体系结构属性的敏感性6. 用第 5步中的敏感性分析评审候选体系结构

14.4.1  一种体系结构权衡分析方法

14.4.2  体系结构设计的定量指导

频谱分析模型 -- 从最好到最坏

整体的总的分值S最坏总的分值Sw最好分值Sb

计算频谱指标 Is :

Is=[(S-Sw)/( Sb-Sw)]*100

改善指标 Imp:

Imp=Is1-Is2

如果 Imp是正值,则系统1相对于系统 2完善

频谱分析模型

设计选择分析模型 -- 需要评估

设计选择指标d:d=(Ns/Na)*100Ns-- 体系结构达到的设计量纲的数量Na-- 设计空间中总的设计量纲数设计选择指标越高,越接近理想的系统

一种用于评估所提出的体系结构的整体复杂性的技

术是考虑体系结构中构件间的依赖关系,这些依赖

关系是由系统中的信息 /控制流控制的。

三种类型的依赖: 共享依赖 流依赖 约束依赖

14.4.3  体系结构复杂性

数据流向程序结构的变迁六步过程:1) 建立数据流的类型2) 指明流的边界3) 将 DFD映射到程序结构4) 用“因子化”的方法定义控制的层次结构5) 用设计测度和启发信息对结构进行求精6) 精化体系结构描述

14.5  映射需求到软件体系结构

14.5.1  变换流

输入流 变换中心 输出流

事务流 -- 信息流可以沿多条路径之一触发其他数据流

事务流的特征是数据沿某输入路径流动,该路径将外部信息转换成事务,估计事务的价值,根据其价值,启动沿很多“动作路径”之一的流

14.5.2  事务流

14.5.2  事务流

T

………

事务

事务中心

动作路径

14.6  变换映射

设计步骤1. 评审基本系统模型2. 评审和精化软件的数据流图3. 确定 DFD 含有变换流还是事务流特征4. 划分输入和输出流的边界,隔离变换中心5. 完成“第一级因子化”。6. 完成“第二级因子化” 7. 用提高软件质量的启发信息,精化第一次迭

代得到的程序结构

SafeHomede的第 0层DFD

 SafeHomede软件系统

用户命令和数据

显示信息控制面板

传感器 传感器状态

警铃

电话线

警告类型

电话号码拨音

控制面板显示

SafeHomede的第 1层DFD控制面板

与用户交互

控制面板显示密码

电话号码拨音传感器状态

显示信息

配置请求用户命令和数据

配置系统

警铃电话线传感器

配置信息

显示信息和状态

监控传感器

激活/不激活系统

传感器信息密码处理

警告类型检验 id信息

开始停止

状态信息

监控传感器的第 2层DFD

电话号码拨音传感器状态

配置数据

显示格式

配置信息 产生警告信息

拨号

评估设置

传感器信息

读传感器

警告类型

传感器 id类型

传感器 id类型定位

SafeHomede的第一层CFD控制面板

与用户交互

控制面板显示

显示活动状态(完成、在处理中)

配置系统

警铃电话线传感器

配置信息

显示信息和状态

监控传感器

激活/不激活系统

警告信号

密码处理传感器事件

警告状态

闪烁标志

开/关切换

超时

设计步骤1. 评审基本系统模型2. 评审和精化软件的数据流图3. 确定 DFD 含有变换流还是事务流特征4. 标识事务中心和每条动作路径上的流特征5. 因子化并精化该事务结构和每条动作路径的结构6. 用提高软件质量的启发信息,精化第一次迭代得

到的程序结构

14.7  事务映射

14.7  事务映射

14.8  精化体系结构设计

为每个模块开发处理说明 为每个模块提供接口描述 定义局部和全局数据结构 标出所有各种设计限制 /局限 进行设计评审 进行精化 (如果需要的话 )

14.7  小结

设计优化应在满足模块化要求的前提下尽量减少模块数量,在满足信息需

求的前提下尽量减少复杂数据结构。

top related