RPU4+1视图(转)

  • 4+1视图模型概况    

  •  Kruchten 提出了一个"4+1"视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。

  • 如下图:

     

  •  逻辑试图主要是用来描述系统的功能需求,即系统提供给最终用户的服务. 在逻辑视图中,系统分解成一系列的功能抽象、功能分解与功能分析,这些主要来自问题领域(Problem Definition)。 在面向对象技术中,通过抽象、封装、继承,可以用对象模型来代表逻辑视图,可以用类图(Class Diagram)来描述逻辑视图。如下图: 构件(Components):类、类服务、参数化类、类层次 连接件(Connectors):关联、包含聚集、使用、继承、实例化 

  • 开发视图(Development/Module View)     开发视图主要用来描述软件模块的组织与管理(通过程序库或子系统)。服务于软件编程人员, 方便后续的设计与实现。它通过系统输入输出关系的模型图和子系统图来描述。要考虑软件的内部需求:开发的难易程度、重用的可能性,通用性,局限性等等。开发视图的风格通常是层次结构,层次越低,通用性越好(底层库:Java SDK,图像处理软件包)。如下图: 构件:模块、子系统、层 连接件:参照相关性、模块/过程调用 。

  •  

  • 进程视图   进程试图侧重系统的运行特性,关注非功能性的需求(性能,可用性)。服务于系统集成人员,方便后续性能测试。强调并发性、分布性、集成性、鲁棒性(容错)、可扩充性、吞吐量等。定义逻辑视图中的各个类的具体操作是在哪一个线程(Thread)中被执行。 如下图: 构件:进程、简化进程、循环进程 连接件:未指定,消息、远程过程调用(RPC)、双向消息、事件广播 。

  •  

  • 物理视图       物理试图主要描述硬件配置。服务于系统工程人员,解决系统的拓扑结构、系统安装、通信等问题。主要考虑如何把软件映射到硬件上,也要考虑系统性能、规模、可靠性等。可以与进程视图一起映射。如下图: 构件:处理器、计算机、其它设备 连接件:通信协议等  

  •  

  • 场景(Scenarios)       场景用于刻画构件之间的相互关系,将四个视图有机地联系起来。可以描述一个特定的视图内的构件关系,也可以描述不同视图间的构件关系。文本、图形表示皆可。  

  • 小结     逻辑视图、开发视图,都主要是用来描述系统的静态结构。 进程视图、物理视图,主要是用来描述系统的动态结构。 并非每个系统都必须把5个视图都画出来,而是各有侧重。例如MIS系统侧重于逻辑视图、开发视图,而实时控制系统则侧重于进程视图、物理视图 

 Betty:UML中有动态和静态视图,静态图是不是就是结构图?用案图是不是就是用例图?

             那么,下面两个图有点矛盾,用例图到底是动态还是静态?

 

 

通常我们选择UML来表现各种视图,以下列出了UML和各视图的对应关系

 

 

在架构设计稳定中通常不会给出较多的用例描述,这些是在需求稳定中定义。但是往往架构文档会选择一些用例,列入文档中,这些用例和一些非功能性需求一起用以证明架构的有效和正确性。在逻辑视图中用例的实现是必不可少的一节,尽管架构设计更关注非功能性需求。

融入MDA的思想

对于逻辑视图和开发视图所应包含的内容常常会觉得很难区分两者间的明显界限。逻辑视图包含更多的分析模型与实现技术本身相关性应该较少,如业务对象模型及其扩展。而开发视图则会与实现技术紧密相关。

随着MDA思想的推广,在架构设计文档的撰写方面也产生了影响,我们不难把MDA的PIM和逻辑视图联系起来,而把MDA中的PSM和开发视图联系起来。

在编写逻辑视图是我们应该描述与技术平台无关的模型,而开发视图则描述与实现技术平台相关的模型。

如在逻辑视图中表现的某些实体类,我们会在开发视图中转换为EJB组件(实体Bean)。

这种做法不仅有利于我们编写架构设计文档,同时更是一种好的架构设计思考流程。 

 

【参考资料】:

1.        IBM developerwork

运用RUP 4+1视图方法进行软件架构设计

http://www.ibm.com/developerworks/cn/rational/06/r-wenyu/index.html

架构蓝图--软件架构"4+1" 视图模型

https://www.ibm.com/developerworks/cn/rational/r-4p1-view/

RUP 4+1 架构

http://www.cnblogs.com/Leo_wl/archive/2010/12/09/1901715.html

转载于:https://www.cnblogs.com/helloworldPC/p/7071188.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488068.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

牛客网数据开发题库_牛客网SQL题库NO.32~40

不要问为什么没有31题,大概被牛客吞掉了吧,哈哈哈哈SQL 32【简单】将employees表的所有员工的last_name和first_name拼接起来作为Name,中间以一个空格区分CREATE TABLE employees ( emp_no int(11) NOT NULL, birth_date date NOT NULL, firs…

VR/AR行业发展至今,它的市场规模如何

来源:AR工业应用全球知名研究咨询公司 Markets and Markets 2017 发布了一份研究报告,报告称:AR 市场规模将从 2016 年的 23.9 亿美金增长到 2023 年的613.9 亿美金。报告显示,诸如医疗保健、零售以及电商这样的行业对 AR头显不断…

为什么很难创造出新的处理器?

出品 | CSDN(ID:CSDNnews)译者 | Arvin,责编 | 郭芮以下为译文:RISC-V处理器指令集体系结构(ISA)的问世和最初的成功重新激发了人们对定制处理器设计的兴趣,但是业界现在正在努力解决…

情绪调节的自适应_如何做好情绪的管理者

积极有效的情绪管理一个人如果能够控制自己的情绪、欲望和恐惧,那他就胜过国王。----约翰米尔顿01情绪概述情绪和情感,人对客观外界事物的态度的主观体验和相应的行为反应,它反映的是主体需要和客观外界事物间的关系。情绪和情感两个词常可通…

科普 | 同一个世界,地图有这么多不同的表达!

来源:测绘学报一、地图投影的概念地球到底是什么样的?公元前6世纪,古希腊数学家毕达哥拉斯率先提出了“地圆说”。他在观察月食时,发现大地在月球上的投影是圆的,所以认为大地是完整的圆球体。他首次提出了“地球”这一…

解密脑机接口:专访CMU生物医学工程系主任贺斌

卡耐基梅隆大学生物医学工程系主任贺斌教授(照片由本人提供)来源: 知识分子撰文 | 李澄宇(中科院神经所PI)赵维杰(NSR新闻编辑)脑机接口能做什么?带上电极帽,你可以在实验…

Matlab画图技巧之消除空白

</pre>写报告或论文时,为了充分利用篇幅和实现紧凑美观,我们常常想要得到空白冗余较小的图,这在Tikz里面十分容易实现。但是在Matlab里需要做很多的工作才能达到目的。</p><p></p><p>Matlab默认的图空白十分大,看起来很别扭:</p><…

5G和北斗,交通行业新基建的正确打开方式

作者&#xff1a;湖南省交通运输厅科技信息中心 乔川龙物联网智库 整理发布转载请注明来源和出处导 读交通运输行业应该是5G先行区&#xff0c;一是符合5G的机会在于与2B垂直行业的深度融合、赋能行业转型升级和高质量发展的判断&#xff1b;二是根据交通运输行业的特点&#…

人工智能与人类智能的竞赛:人机对抗智能技术全梳理

作者: 黄凯奇*, 兴军亮, 张俊格, 倪晚成, 徐博来源&#xff1a;中国科学院自动化研究所智能系统与工程研究中心1引言人工智能从诞生之始就以对抗人类智能为衡量准则(著名的图灵测试) 。作为人工智能研究的前沿方向&#xff0c;人机对抗技术一直是国内外人工智能研究的热点,以人…

工业机器人 答案 韩建海_不可或缺:协作机器人对于制造业转型升级的意义

只要谈到自动化&#xff0c;就很难不提到协作机器人。自从十几年前协作机器人问世以来&#xff0c;它们便承担起了众多企业的自动化任务。新冠之前&#xff0c;英国制造业正在应对英国退欧和劳工短缺的不确定性。但是&#xff0c;他们无法预见新冠对行业的影响。任何行业都无法…

Python爬虫用Selenium抓取js生成的文件(一)

简介任务简述实现过程 简介 我最近在看关于计算机的一些书籍,发现了这个电子书清单:计算机开放电子书汇总, 和大家分享一下. 我在下载其中的书籍时被导向了这个很好的计算机电子书网站KanCloud看云,里面有非常多的实用的编程方面的电子书,很多是该网站自己用html生成的,格式多…

golang 升级到新版本_Scikit-learn新版本发布,一行代码秒升级

十三 发自 凹非寺 量子位 报道 | 公众号 QbitAIScikit-learn&#xff0c;这个强大的Python包&#xff0c;一直深受机器学习玩家青睐。而近日&#xff0c;scikit-learn 官方发布了 0.22 最终版本。此次的更新修复了许多旧版本的bug&#xff0c;同时发布了一些新功能。安装最新版…

重磅:2020年度获国家科学技术奖励提名的材料项目汇总

来源&#xff1a;http://www.nosta.gov.cn/upload/2020slxmgb/showProject.html转自&#xff1a;材料人2020年3月24日&#xff0c;科学技术部发布了《国家科学技术奖励工作办公室公告第95号》文件。这份文件对2020年国家自然科学奖、国家技术发明奖通用项目、国家科学技术进步奖…

完全理解Android中的RemoteViews

一、什么是RemoteViewsRemoteViews翻译过来就是远程视图.顾名思义,RemoteViews不是当前进程的View,是属于SystemServer进程.应用程序与RemoteViews之间依赖Binder实现了进程间通信.二、RemoteViews的用法RemoteViews使用最多的场合是通知栏和桌面小插件. 以通知栏为例,讲解下它…

各大媒体优劣对比_吉利星瑞特别版对比朗逸,亮点只有性价比?

据悉&#xff0c;吉利汽车推出了星瑞特别版车型——星瑞设计师推荐款&#xff0c;新车已于10月11日的11:00开启抢购&#xff0c;限量3000辆&#xff0c;抢购价格为13.77万元。其中值得注意的是&#xff0c;新车的抢购流程有所不同&#xff0c;想参与抢购的消费者需要先完成吉利…

【推广】实用命令——tldr

碎碎念如题&#xff0c;通常遇到一个新的命令需要查询其帮助的时候&#xff0c;一般使用command -h或者man command来查询&#xff0c;但是&#xff0c;有时候仅仅想知道这个命令怎么用&#xff0c;并不想知道具体含义啊(这个命令可能不常用&#xff0c;没有必要仔细阅读手册)&…

Nature重大突破!将皮肤细胞直接转化成感光细胞让小鼠重见光明!

图片来源&#xff1a;https://cn.bing.com本文系生物谷原创编译&#xff0c;欢迎分享&#xff0c;转载须授权&#xff01;研究人员发现了一种直接将皮肤细胞重新编程成用于视觉的光敏杆状感光器的技术。实验室制造的杆状体使失明的老鼠能够在细胞移植到眼睛后探测到光线。这项研…

时间组件选择一个时间段_衡南(光伏支架组件安装)施工队

衡南(光伏支架组件安装)施工队光伏支架安装本行业的技术人员应该了解&#xff0c;本发明不受上述实施例的限制&#xff0c;上述实施例和说明书中描述的只是说明本发明的原理&#xff0c;在不脱离本发明精神和范围的前提下&#xff0c;本发明还会有各种变化和改进&#xff0c;安…

DNA存储,拯救人类数据危机的良方?

来源&#xff1a;脑极体开一个脑洞&#xff1a;如果地球正在面临一场马上到来的毁灭性星际灾害&#xff0c;人类又想尽可能地保存地球的生命和文明&#xff0c;在现有条件下&#xff0c;该怎么办&#xff1f;像大刘一样让地球停止自转然后逃离太阳系&#xff0c;这恐怕来不及了…

oracle数据库dblink创建语句_「运维实验」——达梦数据库DBlink连接Oracle配置

经过昨天达梦数据库间DBlink配置&#xff08;具体操作可回看上一篇文章&#xff09;&#xff0c;今天做延伸实验。实验环境说明Oracle数据库1&#xff1a;192.168.80.40 ora11g RHEL 6.5 64位达梦数据库1&#xff1a;192.168.80.41 DMSERVER2 RHEL 6.5 64位oracle数据库版本&am…