软件架构一览
2024-12-31 11:19:56 0 举报
AI智能生成
阅读多篇关于软件架构的描述后进行总结,对于想了解什么是架构、怎么进行架构设计有一个总体认知。
作者其他创作
大纲/内容
定义/概念
是对系统的描述
在特定约束下决策的结果
维基百科的定义是:软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。
百度百科:是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构描述的对象是直接构成系统的抽象组件。
各个组件之间的连接则明确和相对细致地描述组件之间的通讯。
各个组件之间的连接则明确和相对细致地描述组件之间的通讯。
在ISO/IEC 42010: 20072中对架构有如下定义:架构是系统的基本结构,它由多个组件以及它们彼此间的关系而组成,并且在一定环境和原则下进行设计和演进。(The fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution.)
架构本质
对系统进行有序化重构,不断减少系统的“熵”,使系统不断进化。那架构是如何实现无序到有序的呢? 基本的手段就是分和合,先把系统打散,然后重新组合;
架构核心价值
控制复杂度
业务复杂度
技术复杂度
高性能、高可用、高可扩展、安全,成本、规模等
设计复杂度
职责不是最小的完备的、边界不清晰的、层次不清的、业务逻辑与技术实现绑定的,组件过多以及关联依赖复杂的;这部分是由设计不合理导致的
架构设计原则
适合原则
简单原则
演化原则
需要的思维
抽象思维
分治思维
复用思维
好的框架评判标准
描述内容(结构、元模型);
描述过程(什么活动需要什么顺序发生);
描述组织(参与架构的人员、角色)
描述过程(什么活动需要什么顺序发生);
描述组织(参与架构的人员、角色)
横向可并列,纵向可推导,整体可演进
架构图模型
4+1
4+1视图由 Philippe Kruchten 提出的对软件工程逻辑架构的描述,目前已经成为事实上的软件结构标准,分别以终端使用者、开发者、系统工程师、软件经理等不同的视角对软件进行描述
C4
C4模型,由Simon Brown提出,是一种用于软件架构可视化和文档化的方法。C4代表Context(上下文)、Containers(容器)、Components(组件)和Code(代码)四个层次,旨在提供从宏观到微观的软件系统视图。
TOGAF-4A
依据企业架构标准组织The Open Group的定义
0 条评论
下一页