研究软件体系结构的首要问题是如何表示软件体系结构,即如何对软件体系结构建模。可以将软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型、功能模型

一、4+1视图模型

1.定义

“4+1”视图模型从5个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。

2.逻辑视图 logic view

逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。

在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图(class diagram)来描述逻辑视图。

3.开发视图 development view 又称模块视图(module view)

开发视图也称模块视图,主要侧重于软件模块的组织和管理

开发视图要考虑软件内部的需求,如软件开发的容易性、软件的重用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。

开发视图通过系统输入输出关系的模型图和子系统图来描述。

在开发视图中,最好采用4-6层子系统,而且每个子系统仅仅能与同层或更低层的子系统通讯

4.进程视图 process view

进程视图侧重于系统的运行特性,主要关注一些非功能性的需求。例如系统的性能和可用性。

进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构。它也定义逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。

5.物理视图 physical view

物理视图主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。解决系统拓扑结构、系统安装、通讯等问题。

6.场景视图 scenarios

场景可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。在开发体系结构时,它可以帮助设计者找到体系结构的构件和它们之间的作用关系。同时,也可以用场景来分析一个特定的视图,或描述不同视图构件间是如何相互作用的。

场景可以用文本表示,也可以用图形表示。

7.总结

逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。

对于不同的软件系统来说,侧重的角度也有所不同。例如,对于管理信息系统来说,比较侧重于从逻辑视图和开发视图来描述系统,而对于实时控制系统来说,则比较注重于从进程视图和物理视图来描述系统。

二、软件体系结构的核心模型

体系结构的核心模型由5中元素组成:构件、连接件、配置(configuration)、端口(port)、角色(role)。其中构件、连接件、配置是最基本的元素

(1)构件:具有某种功能的可重用的软件模板单元,表示系统中主要的计算元素和数据存储。

(2)连接件:表示构件之间的交互,如:管道、过程调用、事件广播、客户-服务器通信协议、数据库和应用之间的SQL连接等。

(3)配置:表示构件和连接件的拓扑逻辑和约束。

(4)端口:构件的接口由一组端口组成,每个端口表示构件和外部环境的交互点。

(5)角色:连接件的接口由一组角色组成,每一个角色定义了该连接件表示的交互的参与者。

《软件体系结构》第二章 软件体系结构建模相关推荐

  1. 《软件测试》第二章 软件开发的过程

    <软件测试>第二章 软件开发的过程 2.1 产品的组成部分 2.1.1 软件产品需要多少投入 2.1.2 软件产品由哪些部分组成 2.2 软件项目成员 2.3 软件开发生命周期模式 2.3 ...

  2. 软件构造 第二章 第一节 软件生命周期和版本控制

    软件构造第二章 第一节 软件生命周期和版本控制 基本内容 Software Development Lifecycle (SDLC) Traditional software process mode ...

  3. 【XJTUSE软件项目管理复习笔记】 第二章 软件项目整体管理

    仅供学习参考,禁止商用与转载 文章目录 软件项目管理复习笔记 第二章 软件项目整体管理 什么是项目整体管理 战略计划和项目选择 项目选择 项目的财务分析 净现值分析(重点) 投资收益率(ROI)分析法 ...

  4. 《STM32单片机开发应用教程(HAL库版)---基于国信长天嵌入式竞赛实训平台(CT117E-M4)》第二章 软件安装与使用

    写在前面-- 作为<STM32单片机开发应用教程(HAL库版)-基于国信长天嵌入式竞赛实训平台(CT117E-M4)>系列之第二章,本章节将介绍开发软件STM32CubeMX和KEIL5的 ...

  5. 软件设计模式--第二章 创建型模式--建造者模式

    目录 第二章 创建型模式 1.创建型模式概述 2.建造者模式 (1)模式的定义与特点 (2)模式的结构与实现 (3)应用场景 (4)扩展 第二章 创建型模式 1.创建型模式概述 主要特点 将对象的创建 ...

  6. 软件设计模式--第二章 创建型模式-- 单例模式

    目录 第二章 创建型模式 1.创建型模式概述 2.单例模式(Singleton) (1)模式的定义与特点 (2)模式的结构与实现 (3)应用场景 (4)扩展 第二章 创建型模式 1.创建型模式概述 主 ...

  7. 软件设计模式--第一章 软件设计模式基础

    目录 第一章 软件设计模式基础 1.软件设计模式概述 (1)什么是软件设计模式 (2)学习设计模式的意义 (3)软件设计模式的基本要素 (4)GoF的23种设计模式简介 2.UML中的类图 (1)统一 ...

  8. 《统计建模与R软件》第二章课后作业解题答案

    自学R语言,学习完了之后做一做习题,是对知识的一些巩固,也希望可以帮到正在学习的童鞋们. x<-c(1,2,3);y<-c(4,5,6);e<-c(1,1,1) z=2*x+y+e; ...

  9. 【统计建模与R软件】第二章 R软件的使用 课本课后习题 答案 解析 代码

    题目 解析 # 2.1 x = matrix(c(1,2,3),byrow=F) y = matrix(c(4,5,6),byrow=F)# (1) # A * B 对应元素相乘 # A %*% B ...

  10. 【软件构造】第二章 软件构建的过程和工具(2)

    二.软件构造的编程.系统.工具 [广义软件构造的过程] 1. 编程 (1)开发语言:Java.C.C++.Python等 ·IDE:集成开发环境 - 方便编写代码和管理文件 - 能够编译.构建 - 结 ...

最新文章

  1. leetcode算法题--不同路径
  2. Uncaught SyntaxError: Unexpected identifier异常
  3. 代理proxy网络代理自动发现wpad代理自动配置pac三个概念解析
  4. hihoCoder #1104 Suzhou Adventure
  5. angular开发中对请求数据层的封装
  6. 天涯明月刀怎么导入php捏脸数据,天涯明月刀捏脸数据怎么导入 天涯明月刀捏脸数据在哪...
  7. sed 分隔符打印_字符截取:cut,格式化输出:printf,字符截取:awk,文件或命令输出编辑:sed...
  8. Apache Rewrite实现URL的跳转和域名跳转
  9. Gym - 101142F Folding(折半)
  10. Bailian2689 大小写字母互换【文本】(POJ NOI0107-14)
  11. 计算机 工程伦理论文题目,北京工业大学研究生院
  12. 数据库基本语句(SQL)
  13. php 字符显示不出来,ps文字显示不出来怎么办?
  14. 软件工作量评估方法(一)
  15. Cisco2960交换机配置(二)
  16. 代沐研:渡尽劫波非农在,空头有望脱苦海
  17. NoSQL Redis
  18. C#发送邮件(阿里企业邮箱示例 包括各个类型的服务器及端口配置)
  19. JAVA学习(四):Java流程控制语句(顺序结构、if条件语句、switch条件语句、循环语句与跳转语句)
  20. 听说北京有个兄弟连!

热门文章

  1. 华为交换机专用堆叠电缆连线指导
  2. 数值分析复习(七)——偏微分方程数值解法
  3. 反编译工具Reflector下载(集成两个常用.net插件,FileGenerator和FileDisassembler)
  4. 第22课: JSP语句 switch判断语句 (JSP教程 JSP入门实战教程 黄菊华Java网站开发系列教程)
  5. 计算机软件销售收入会计,嵌入式软件产品销售额如何计算
  6. html中如果设置颜色为半透明状态,CSS半透明属性介绍及代码实例
  7. 泛微OA7.0下载7.1下载
  8. foobar2000 Mac版终于来了
  9. 突破网吧及机房管理限制的方法(转)
  10. 2022年除了深度学习,人工智能算法有可能突破的10个方向