软件工程---6.体系结构设计

体系结构模型是什么?

体系结构模型,该模型描述系统如何被组织为一组相互通信的构件

体系结构分类

  1. 小体系结构关注单个程序的体系结构。在这个层次上,我们关注单个的程序是如何补分解为构件的。
  2. 大体系结构关注包括其他系统、程序和程序构件的复杂企业系统体系结构。

非功能性需求影响最大

对体系结构有显著影响的需求”的研究中确认了这一点, 他们发现非功能性需求对于系统体系结构的影响最大

体系结构视图

在这里插入图片描述

  1. 逻辑视图。这个视图将系统中的关键抽象显示为对象或对象类。应该可以将系统需求与这个逻辑视图中的实体联系起来。
  2. 进程视图。这个视图显示系统在运行时如何通过相互交互的进程来构成。该视图对于做出关于非功能性系统特性(例如性能、可用性)的判断很有用。
  3. 开发视图。这个视图显示软件如何面向开发任务进行分解;也就是说,该视图显示了软件如何分解为由单个开发者或开发团队实现的构件。该视图对于软件开发管理者和程序员都很有用。
  4. 物理视图。这个视图显示系统硬件以及软件构件如何分布在系统中的处理器上。该视图对于规划系统部署方案的系统工程师很有用
  5. 概念视图。Hofmeister等人( Hofmeister,Nord, and Soni 2000 )提出使用相似的视图,但向其中增加了一个概念视图。这个视图是一种系统的抽象视图,可以作为将高层需求分解为更详细的规格说明的基础,帮助工程师确定可以复用的构件,以及表示一个产品线(在第15章中介绍)而不是单个系统。图6-1描述了一个打包机器人的体系结构,可以作为一个概念系统视图的例子。

体系结构模型

在这里插入图片描述

分层体系结构

分离和独立性的思想是体系结构设计的基础,因为这可以使变更被局部化。
在这里插入图片描述

  1. 层是指一组提供相关服务的子系统,多半是通过使用其它层的服务来实现本层的功能。
  2. 封闭体系结构:每一层只能访问其相邻的下一层(如OSI 7层模型)
  3. 开放体系结构:每一层可以访问比其低的层次(JavaSwing)

知识库体系结构

在这里插入图片描述

客户—服务器体系结构

在这里插入图片描述

管道—过滤器体系结构

在这里插入图片描述

子系统分解

分解原则

  1. 耦合与内聚
  2. 封闭性与开放性

耦合

耦合:两个子系统之间的依赖程度,如果是松耦合关系,那么对一个子系统进行改变则对另外一个子系统影响不大

内聚

内聚

  1. 描述子系统内部各实现类之间的依赖程度,如果一个子系统中含有许多相互关联的类并且执行类似的操作,那么就是高内聚,反之就是低内聚。
  2. 我们总是希望系统是高内聚,低耦合。

封闭性

如果一个子系统能独立的被其他子系统所使用,我们说这个子系统具有封闭性

开放性

如果一个子系统对外提供的服务能够被方便扩充,我们说这个子系统具有开放性

  • 4
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值