首页 > 其他分享 >Rup架构视图

Rup架构视图

时间:2022-12-05 10:01:22浏览次数:42  
标签:架构 软件系统 视图 开发 质量 软件 Rup 运行


RUP中有四种软件视图,这里复习一下,并根据资料整理一下。


.软件的质量特性分为功能性需求和非功能性需求。
功能需求就是"软件有什么用,软件需要做什么"。同时,注意把握功能需求的层次性是软件需求的最佳实践。
非功能需求分为质量特性和约束,而质量特性又分为运行期质量特性和开发期质量特性。

非功能需求又可以分为如下三类:

  • 约束。要开发出用户满意的软件并不是件容易的事,而全面理解要设计的软件系统所面临的约束可以使你向成功迈进一步。约束性需求既包括企业级的商业考虑(例如"项目预算有限"),也包括最终用户级的实际情况(例如"用户的平均电脑操作水平偏低");既可能包括具体技术的明确要求(例如"要求能在Linux上运行"),又可能需要考虑开发团队的真实状况(例如"开发人员分散在不同地点")。这些约束性需求当然对架构设计影响很大,比如受到"项目预算有限"的限制,架构师就不应选择昂贵的技术或中间件等,而考虑到开发人员分散在不同地点",就更应注重软件模块职责划分的合理性、松耦合性等等。
  • 运行期质量属性。这类需求主要指软件系统在运行期间表现出的质量水平。运行期质量属性非常关键,因为它们直接影响着客户对软件系统的满意度,大多数客户也不会接受运行期质量属性拙劣的软件系统。常见的运行期质量属性包括软件系统的易用性、性能、可伸缩性、持续可用性、鲁棒性、安全性等。在我们的超市系统的案例中,用户对高性能提出了具体要求(真正的性能需求应该量化,我们的表1没体现),他们不能容忍金额合计超过2秒的延时。
  • 开发期质量属性。这类非功能需求中的某些项人们倒是念念不忘,可惜很多人并没有意识到"开发期质量属性"和"运行期质量属性"对架构设计的影响到底有何不同。开发期质量属性是开发人员最为关心的,要达到怎样的目标应根据项目的具体情况而定,而过度设计(overengineering)会花费额外的代价。

RUP的4类软件架构图为

  • 逻辑视图:当采用面向对象的设计方法时,逻辑视图即对象模型。
  • 开发视图:描述软件在开发环境下的静态组织。
  • 处理视图:描述系统的并发和同步方面的设计。
  • 物理视图:描述软件如何映射到硬件,反映系统在分布方面的设计
  • 逻辑视图。逻辑视图关注功能,不仅包括用户可见的功能,还包括为实现用户功能而必须提供的"辅助功能模块";它们可能是逻辑层、功能模块等。
    开发视图。开发视图关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方SDK和现成框架、类库,以及开发的系统将运行于其上的系统软件或中间件。开发视图和逻辑视图之间可能存在一定的映射关系:比如逻辑层一般会映射到多个程序包等。
    处理视图。处理视图关注进程、线程、对象等运行时概念,以及相关的并发、同步、通信等问题。处理视图和开发视图的关系:开发视图一般偏重程序包在编译时期的静态依赖关系,而这些程序运行起来之后会表现为对象、线程、进程,处理视图比较关注的正是这些运行时单元的交互问题。
    物理视图。物理视图关注"目标程序及其依赖的运行库和系统软件"最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。物理视图和处理视图的关系:处理视图特别关注目标程序的动态执行情况,而物理视图重视目标程序的静态位置问题;物理视图是综合考虑软件系统和整个IT系统相互影响的架构视图。


     

标签:架构,软件系统,视图,开发,质量,软件,Rup,运行
From: https://blog.51cto.com/u_14230175/5911345

相关文章

  • started to fail (cannot connect to [[192.168.2.1]:10051]: [4] Interrupted system
    52340:20221025:160139.474activecheckconfigurationupdatefrom[192.168.2.1:10051]startedtofail(cannotconnectto[[192.168.2.1]:10051]:[4]Interrupted......
  • 软件架构的23个基本原则
    软件体系架构基于一组适用于各种软件系统的基本原则,有经验的架构师知道这些原则,并且能够在软件产品的正确位置实现特定的原则。下面我们快速浏览一下架构师日常遵循的基本......
  • 十、MVC三层架构
    什么是MVC:ModelviewController模型,视图,控制器10.1、早些年Servlet和JSP都可以写Java代码,为了维护和使用;Servlet专注于处理请求,以及控制视图跳转,JSP专注于显示数据用......
  • Flutter 陈航 09-视图渲染 三棵树 Widget
    本文地址目录目录目录09|Widget,构建Flutter界面的基石视图渲染过程WidgetElementRenderObjectRenderObjectWidget介绍Element的创建RenderObject的创建与更新案......
  • 【博学谷学习记录】超强总结,用心分享|狂野架构SpringBoot概念和依赖管理
    SpringBoot主要特性1、SpringBootStarter:他将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的Maven或Gradle构建中;2、使编码变得简单,Spri......
  • MySQL进阶实战6,缓存表、视图、计数器表
    一、缓存表和汇总表有时提升性能最好的方法是在同一张表中保存衍生的冗余数据,有时候还需要创建一张完全独立的汇总表或缓存表。缓存表用来存储那些获取很简单,但速度较慢......
  • dwc3 linux usb3.0 driver架构
    USB控制器1.DRDdriverDRD驱动在usb/dwc31.1dtsdwc3@44000000{/*CompatibleIDusedbytheLinuxdriverforthiskindofdevice*/compatible="snps,dwc......
  • 业务定制型异地多活架构设计
    一个原理粒度cap关注的粒度是数据而不是系统,需要根据不同业务的数据特点设计异地多活延迟 cap是忽略网络延迟的,但是实际工程中不可能做到0延迟分区容忍......
  • 数仓建模—数仓架构发展史(02)
    发展史时代的变迁,生死的轮回,历史长河滔滔,没有什么是永恒的,只有变化才是不变的,技术亦是如此,当你选择互联网的那一刻,你就相当于乘坐了一个滚滚向前的时代列车,开往未知的方向,不......
  • DRF-视图
    DRF视图类中除了APIView类,还有一个GenericAPIView类。GenericAPIView类主要给我们提供了2个属性,3个方法。属性:queryset:要序列化的数据serializer_class:序列化类 方法......