-
系统:由一群 有关联
的个体组成,根据某种 规则
运作,能完成个别元件不能单独完成的工作的群体(体现 系统能力
)
-
子系统:由一群 有关联
的个体所组成的系统,多半会是 更大系统中的一部分
-
子系统的定义和系统的定义是一致的,只是 观察的角度
有差异
模块 / 组件
-
模块( Module
)和组件( Component
)都是系统的 组成部分
,只是 从不同的角度来拆分系统
-
从 逻辑角度
来拆分系统,得到的单元是 模块
;从 物理角度
来拆分系统,得到的单元是 组件
-
划分 模块
的主要目的是 职责分离
,划分 组件
的主要目的是 单元复用
-
样例:学生信息管理系统
- 逻辑角度:登录注册模块、个人信息模块、个人成绩模块
- 物理角度:Nginx、Tomcat、MySQL
框架 / 架构
-
框架( Framework
)
-
框架是 组件规范
,如MVC是常见的开发规范
-
框架是 提供基础功能的产品
,如Spring MVC是MVC开发框架
- 除了满足MVC的规范外,Spring还提供了很多基础功能(Spring Security,Spring JPA等)
-
架构( Architecture
)
-
架构是软件系统的 基础结构
,创建这些基础结构的准则,以及对这些结构的描述
-
但基础结构这个概念,并没有明确说从什么角度来分解,采用不同的角度或者维度,可以将系统划分为不同的结构
- 逻辑角度(模块)、物理角度(组件)、开发规范角度(MVC框架)
-
架构蓝图–软件架构 “4+1” 视图模型
-
框架关注的是 规范
,而架构关注的是 结构
原文
http://zhongmingmao.me/2019/08/11/architecture-concept/