什么是系统架构、逻辑架构、物理架构、部署结构、功能架构?

Recoding
  • 417

请举详细的例子说明!!!

回复
阅读 12k
1 个回答

系统架构的表现形式通常就是线框图,它的目的是将系统分解成多个独立的子系统,本质上是遵循分而治之的理念。比如一个室内监控系统,它可以包括摄像头、温度传感器、接入网关、管理后台、用户APP等多个子系统,通常当我们采用系统架构这种说法时,被分析的系统往往较为复杂,包含硬件、软件、网络甚至一些外购件;

系统架构应该说也是一种逻辑架构,只是对于很多纯软件项目,通常不是那么个提法,上来直接就是逻辑架构。我过去的经验一般是这样:解决方案层面做系统架构,当分解出某个软件子系统时再对这个软件做逻辑架构设计。比如我们进一步把上述室内监控系统的后台管理软件拆分,那么从逻辑上可以分为用户管理子系统(或者叫模块)、设备管理子系统、告警维护子系统等等。这个由于对软件的逻辑架构而言,通常我们是根据其功能实现来分解的,所以也可以说是功能架构

部署架构是指你将软件如何部署,这种图的呈现方式没有定论,也可以是UML的部署视图,举例来说你可以将所有的软件模块放在一台WEB服务器上,就打一个war包,也可以用微服务的方式部署在不同的服务器上,当然你的缓存、数据库、文件服务器等都可以独立部署;

从这个角度讲,部署架构其实算是物理架构的一种,也就是说你在逻辑架构上拆分出来的组件(或模块)是如何分解到不同的物理设备上的。为什么说它不等价于物理架构是因为物理架构的概念会更加宽泛,不一定的服务器,比如可能是某个嵌入式硬件;如果针对嵌入式硬件进一步做系统设计分解,那么此时物理架构可能被分解到某一个MCU、DSP甚至是FPGA上;一定要记住,设计是分层的!!

其他会用到的架构,还包括数据架构,这个通常针对纯软件IT系统,通过ER图来表示,可以理解是一种顶层的数据库设计;另外还有运行架构,这个在嵌入式系统里会用到,比如一个嵌入式软件中包括多个并发任务的时候,任务之间彼此如何依赖,调度;

这些工作很难用几句话讲清楚,我也只能以我个人的经验尝试回答下,希望对您有帮助:)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏