【软件体系结构】软件体系结构概述

软件体系结构

软件体系结构提供了系统的整体视图,描述软件构件的结构和组织、构件的特性以及构件之间的连接。软件构件包括程序模块和程序操作的各种数据表示。

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

  • 分析设计在满足规定需求方面的有效性
  • 在设计变更相对容易的阶段,考虑体系结构可能的选择方案
  • 降低与软件构造相关联的风险

体系结构设计包括:

  • 数据设计:数据构件和类的定义
  • 体系结构设计:软件构件的结构、属性和交互作用

数据设计

数据设计是把分析模型中定义的数据对象转化成软件构件级的数据结构,并且在必要时转化为应用程序级的数据库体系结构。

体系结构级的数据设计:数据结构、数据库、数据仓库的设计

  • 数据挖掘:也成为数据库中的知识发现(Knowledge discovery in Database,KDD),遍历现有的数据库以试图抽取出合适的业务级信息。
  • 数据仓库:是一个独立的数据环境,不直接与日常的应用系统相结合,但包含了某业务使用的所有数据。是一个庞大的、独立的数据库,能够访问存于数据库中的数据,为某项业务所需要的一组应用系统服务。为数据体系结构增加了一个附加层

构件级的数据设计:关注被一个或多个软件构件直接访问的数据结构的表示。其原则:

  • 应用于功能和行为的系统分析原则也可应用于数据
  • 标识所有数据结构及其完成的操作
  • 以内灌溉建立定义数据对象内容的机制,并用于定义数据及操作
  • 低层的数据结构设计决策应该延迟到设计过程的后期
  • 只有那些直接使用数据结构内部数据的模块才能看到该数据结构的表示
  • 应该开发一个由有用的数据结构及其操作组成的库
  • 软件设计和程序设计语言应该支持抽象数据类型的规格说明和实现

体系结构风格

体系结构风格:一种加在整个系统设计上面的变换。

体系结构风格分类:

体系结构模式

体系结构模式:对体系结构的设计施加一种变换,更多集中在体系结构的某一局部而不是体系结构的整体。

例如处理系统某些行为特征的方法。

  • 并发性:以一种模拟并行的方式来操作多个任务
  • 持久性:数据从创建它的进程执行以来一直存在,则该数据是持久性存在的数据
  • 分布性:强调系统或系统中构件在一个分布的环境中相互通信的方式

体系结构评估

体系结构权衡分析方法(ATAM):

  1. 收集场景
  2. 诱导需求、约束和环境描述
  3. 描述那些已经被选用于解决场景和需求的体系结构风格/模式
  4. 通过孤立地考虑每个属性来评估质量属性
  5. 针对特定的体系结构风格,弄清质量属性对各种体系结构属性的敏感性
  6. 使用在第5步中进行的敏感性分析鉴定侯选体系结构

判断体系结构的方法:对体系结构复杂性进行评估,可以通过考虑体系结构中构件间的依赖关系来进行。

  • 共享依赖:例如两个构件a和b,如果a和b引用相同的全局数据,则在a和b之间存在共享依赖关系
  • 流依赖:例如两个构件a和b,如果a在控制流入b之前完成,或如果a和b通过参数通信,则在a和b之间存在流依赖关系
  • 约束依赖:例如两个构件a和b,如果a和b不能同时执行(互斥),则在a和b之间存在约束依赖关系

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月14日
下一篇 2021年2月14日

相关推荐