软件架构的5种视图
来源:互联网 发布:佛山 网络英语培训 编辑:程序博客网 时间:2024/05/16 08:11
方法如路标。
软件架构的5中视图包括:逻辑架构、开发架构、运行架构、物理架构、数据架构。
逻辑架构:关注功能。不仅包括用户可见的功能,也包括一些基础模块以及辅助模块。
开发架构:关注程序包,不仅包括要编写的程序,还包括可以直接使用的第三方SDK或者现成的框架、类库以及开发的系统将运行于其上的系统软件或者中间件。
运行架构:关注进程、线程、对象等运行时概念,以及相关的并发、同步、通信等问题。
物理架构:关注‘目标程序及其依赖的运行库和系统软件’最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。
数据架构:关注持久化数据的存储方案,不仅包括实体及其实体关系的数据存储格式,还包括数据传递、数据复制和数据同步等策略。
运行架构和开发架构的关系:开发架构一般偏重于程序包在编译时期的静态依赖关系,而这些程序运行起来后会表现为对象、线程、进程,运行架构比较关注这些运行时单元的交互问题。
物理结构和运行架构的关系:运行架构特别关注目标程序的动态执行情况,而物理架构重视目标程序的静态位置问题;物理架构还要考虑软件系统和包括硬件在内的整个IT系统之间是如何相互影响的。
数据架构和物理架构的关系:对于很多集成系统,数据需要在不同系统之间的传递、复制和暂存,这往往要涉及到不同的物理机器。
五种架构视图的关注点各有侧重。逻辑架构侧重功能需求;开发架构侧重开发期间质量属性;运行架构侧重运行期质量属性;物理架构侧重安装和部署需求;数据架构侧重数据需求。
两个问题:
1.多个架构视图之间的同步问题
不同的软件架构视图之间不是独立的,它们分别从不同的角度反映了一个软件系统的特性,所以之友它们合在一起时,才是一个完整的软件系统,所以需要保持各个视图之间是相互解释的,而不是相互矛盾的。
2.架构视图的数量问题
忌讳为了架构而架构,不是所有类型的软件系统都需要所有的5个视图。例如对于不涉及到数据存储的系统,那么是不需要数据架构的;对于单机版的系统,不涉及到分布式的需求,那么物理架构相对来说也比较简单。
《软件架构设计》 温昱
- 软件架构的5种视图
- 软件架构的5种视图
- 软件架构的5种视图
- 软件架构的5种视图
- 了解软件架构的5种视图
- 软件架构的5种视图
- 软件架构的5种视图
- 软件架构的5视图法
- 软件架构的5视图法
- 软件架构视图
- 软件架构五个视图
- 软件架构视图
- 软件架构视图
- 软件架构之架构视图
- 软件架构之架构视图
- 软件架构之-架构视图
- 软件架构之架构视图
- 软件架构中的5视图法经典总结
- Linux test command Use
- 状态机的状态序列
- 项目管理师-系统分析师-系统架构师的区别
- 架构评估技术详解
- 数据库架构
- 软件架构的5种视图
- 在VC++6.0上,选中要排版的代码,按ALT +F8 就可以对程序进行自动缩进的排版
- 集合框架(五)——Map
- 魔方
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第13篇)
- java网络编程
- 一切向钱看的中国人是没有底线的
- zencart如何减少网站相似度方法
- Java中如何将字符串从右至左每三位加一逗号