软件架构(8)---软件架构之架构视图
软件架构设计运用RUP4+1视图方法进行设计。
4+1架构视图模型是1995年Philippe kruchen在《IEEE software》上发表的题为《The 4+1 View Model of Architecture》文。
主要包括的架构视图如下:
场景视图:也叫用例视图,描述用户的业务场景,从用户的角度识别出业务需求,它是架构设计的起点和终点。
逻辑视图:逻辑视图主要是为了便于理解系统的结构与组织,当采用面向对象的设计方法时,逻辑视图就是对象模型,主要关注功能需求,不仅包括用户可见功能,还包括为了实现功能而必须提供的“辅助功能模块”。
逻辑视图如何画?
答:逻辑视图可以从大粒度的职责来划分,比如,从系统逻辑交互上进行分层划分,视图层、控制层、模型层、数据层、EAI层。
或者
开发视图:描述系统并发和同步方面的设计,主要保证了开发期软件质量的属性(可扩展性、可重用性、可移植性、易理解性、易测试性),开发视图关注程序包,不仅包括开发的源代码,还包括第三方的SDK和现成的架构、类库以及开发的系统运行在其上的系统软件或中间件,开发视图和逻辑视图之间可能会存在一定的映射关系,比如,逻辑层一般会映射到多个程序包。
开发视图如何画?
答:开发视图结合逻辑视图,更进一步的从分层的层面到层中程序包与程序包的交互调用关系来体现,例如:控制层为stucts,逻辑层使用Spring,数据层使用Hibernate
处理视图如何画?
答:处理视图结合逻辑视图与开发视图更进一步的从程序运行时的角度来绘制,主要能够体现出一个事物处理下来,程序是如何完成的,如果把数据返回到顶层的,是否存在异步处理或者多线程的处理等。
物理视图:描述软件如何映射到硬件,反应系统如何分布方面的设计,主要是关注目标程序及依赖的运行库和系统软件如何的安装和部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。
物理视图如何画?
答:物理视图从物理机器所承载的目标系统软件表现为机器与机器之间的访问关系。如下图:
软件架构(8)---软件架构之架构视图相关推荐
- 软件架构(9)---架构视图
架构视图是对于从某一视角或某一点上看到的系统所作的简化描述,描述中涵盖了系统的某一特定方面,而省略了与此方面无关的实体. 由于角色和分工不同,软件架构是一个复杂的整体,软件架构工程师不可能在一个视角. ...
- 《实用软件架构:从系统环境到软件部署 》——2.4 架构视图与架构视点
本节书摘来自华章出版社<实用软件架构:从系统环境到软件部署>一书中的第2章,第2.4节,作者:[印]蒂拉克·米特拉(Tilak Mitra)著,爱飞翔 译,更多章节内容可以访问云栖社区&q ...
- 软件架构设计杂记: 分层架构 与 PO、VO、DTO、BO、POJO、BO/DO、DAO
软件架构设计杂记: 分层架构 与 PO.VO.DTO.BO.POJO.BO/DO.DAO 原创: 陈光剑 Kotlin 开发者社区 前天 某位计算机大师说过: 计算机科学领域任何问题,都可以间接的通过 ...
- 软件架构设计程序员向架构师转型必备pdf
下载地址:网盘下载 作者简介 编辑 温昱 资深咨询顾问,软件架构专家.软件架构思想的传播者和积极推动者,中国软件技术大会杰出贡献专家.十五年系统规划.架构设计和研发管理经验,在金融.航空.多媒体.电信 ...
- 软件架构设计-软件架构评估、 产品线、架构复用
一.软件架构评估 软件架构评估是在对架构分析.评估的基础上,对架构策略的选取进行决策.它也可以灵活地运用于对软件架构进行评审等工作中. 二.软件架构评估的方法 业界已开发出多种软件架构评估的方法,按基 ...
- 软件架构图——RUP4+1架构方法
RUP4+1架构方法 RUP4+1架构方法采用用例驱动,在软件生命周期的各个阶段对软件进行建模,从不同视角对系统进行解读,从而形成统一软件过程架构描述. 图 1. RUP4+1架构图 用例视图(Use ...
- 笔记-信息系统开发基础-架构设计-软件系统架构视图
软件系统架构视图是从特定的视角出发,专注于该视角系统的结构,模块划分,基本组件职责和主要的控制流(协作接口). Kruchten(克鲁奇顿)在1995年提出了一个"4+1"的视图模 ...
- 软件架构设计---软件架构概述
像学写文章一样,在学会字.词.句之后,就应上升到段落,就应追求文章的"布局谋篇",这就是架构.通俗地讲,软件架构设计就是软件系统的"布局谋篇". 人们在软件工程 ...
- 软件架构设计——软件架构风格
软件架构风格 软件架构设计的一个核心问题是能否使用重复的软件架构模式,即能否达到架构级别的软件重用.也就是说,能否在不同的软件系统中,使用同一架构.基于这个目的,学者们开始研究和实践软件架构的风格和类 ...
最新文章
- 越南71岁的工程师,给全世界的机械人送了一份大礼!
- php支付宝ios接口,iOS-接入支付宝支付(1)
- 中国无人车公司AutoX,打响加州RoboTaxi服务第一枪
- JAVA线程池(ThreadPoolExecutor)源码分析
- 学习新 api 的思考过程 4.18
- java中 int 比较_java中Integer与int的种种比较你知道多少?
- ExtJS Grid Column Number
- 手机距离传感器坏了有什么影响_适合手机兼职的工作有什么影响吗
- 用python爬取东方财富网网页信息_爬取东方财富网数据的网页分析
- 移劢开发者解决方案研究报告——中国开发者生存状况调查
- mysql的逻辑备份和恢复
- DelphiARX 2000i 简介
- c语言菜单选择如何用字符形式,C语言编写R进制转换通用程序(R=2.5.8.16),菜单选择的形式!!急!!!...
- Java后台开发一:环境搭建
- word转html制作操作手册,Word文档转换为HTML帮助文档操作手册范本.pdf
- tableau中的fixed函数和exclude函数傻傻分不清?
- 戴尔电脑最新bios设置图解介绍
- 520情人节了,教你如何制作自己的表白网站(附模板源码)
- 重回华语乐坛神仙打架的时代——飞利浦S302圈铁耳机评测
- SWIFT单一平台解决方案助力国家电投集团财务有限公司实现本外币一体、全球账户可视
热门文章
- 音视频开发必备基本基础知识(1)
- 最长回文子串java_5. 最长回文子串
- 力扣1512.好数对的数目
- LeetBook《程序员的算法趣题》Q18---水果酥饼日
- BZOJ1977 [BJOI2010]次小生成树
- Python : *args和**kwargs是什么东东呢?
- Inside ARC — to see the code inserted by the compiler
- 容易被忽略的label标签
- fzu 1675 The Seventy-seven Problem
- [再mark] 系统注册的dpc,枚举定时器相关的……