uml之Robustness Diagram

从需求分析到架构设计:一步步引导你的软件开发之旅 1. 背景介绍 1.1 软件开发的挑战与机遇 随着科技的飞速发展,软件已经渗透到了我们生活的方方面面。从智能手机、电脑到各种物联网设备,软件的应用场景越来越广泛。然而,随着需求的不断增长,软件开发面临着越来越多的挑战。如何在有限的时间内,高效地完成软件开发任务,满足用户需求,成为了软件开发者面临 阅读详情

Robustness Diagram - 从需求分析到架构设计

转载自:http://www.dotblogs.com.tw/jed/archive/2010/11/21/robustness_diagram.aspx   

什么是Robustness Diagram

Robustness Diagram是一种很特殊的图形,介于Class Diagram与Activity Diagram之间,最早由 Ivar Jacobson 于1992年所提出,台湾这边翻成强韧图、稳健图,对岸则采译音翻成鲁棒图。在需求分析领域,UML的Use Case Diagram已经被视为需求捕获的重要工具,藉由Use Case及Use Case叙述文件,可以很清楚的将需求分解展开,但接下来该如何将Use Case的需求描述转化成设计架构呢?以中小型的软体系统来说,通常使用Use Case Diagram+ Class Diagram+ Sequence Diagram就能进行分析设计,而Use Case Diagram是站在使用者的角度来看系统全貌,Class Diagram及Sequence Diagram则分别代表了系统静态结构及动态的交互关系,过去我使用这3个图型进行开发就大致满足所需 了,也许会再依实际情况使用其他UML图形,但随着经验累积及学习,渐渐感觉从分析跨越到设计之间存在着一道槛,领域模型的提炼,我们可以采用四色原型分析法或交易样式,但系统架构的设计,要考虑到更多方方面面,Robustness Analysis Diagram正好可以帮助我们设计出一个基于需求且能继续进行细部设计的初始架构。

 

Robustness Diagram的基本元素及关系介绍

image

如上图,主要的图形就只有3种,Boundary(边界)、Control(控制)及Entity(实体),这3个图形分别代表了不同的职责。

Boundary : 边界物件,Use Case的主要元素之一就是Actor(参与者),Boundary的职责就是与Actor互动,它代表着一种外部元素与系统互动的关系。

Control : 控制物件,代表系统的动态行为,描述Use Case中系统应具有的规则与处理逻辑。

Entity : 实体物件,泛指系统会存取的资料,基本上是可以对应到领域物件。

这3个元素之间有着基本的 限制关系 :

Boundary及Entity必须透过Control交谈,Entity与Entity或Boundary与Boundary之间也必须透过Control。而Actor则只能与Bounday进行互动。

 

实作范例

接下来用一个简单的例子来说明如何绘制Robustness Diagram,假设今天开发一套汽车检验记录系统,经过需求访谈及分析后,获得如下图的Use Case Diagram。

image

接下来以验车的Use Case为例,藉由三个元素的特性找出对应的职责,初步绘制出如下的Robustness Diagram

image

我们进一步思考,验车会去读写客户车籍资料,并且要 写入验车历史记录,因此验车还包含了查询及验证输入的职责,基于OOD的SRP(单一职责原则),可以再拆分出2个Control物件(如下图)。

image

继续思考每一个元素所代表的职责之间的关系,初步的将系统拆分为几个部份后,最终获得如下的设计图

image

初步的架构设计便完成了,顺利的衔接Use Case之后的设计,我们已藉由Robustness Diagram识别出系统在验车这个Use Case的各种职责,这对后续的细部设计非常重要,不论是要绘制Class Diagram、Activity Diagram,或是Sequence Diagram,都比较容易进行,但这不是设计的终点,只是起点而已。

软件开发概要设计:从需求到架构 需求整理涉及将用户的各种需求、期望以及限制条件转换成明确、具体且可行的软件功能和性能要求。这一过程是软件工程的基石,确保了开发的软件能够真正解决用户问题,提供价值。需求收集 --> 需求分析 --> 需求文档编写 --> 需求验证在这个过程中,需求收集负责搜集所有可能的需求来源;需求分析则是通过对话和调查,理解并归类需求;需求文档编写将分析结果转化为正式的规格说明;最后通过需求验证,确保需求的准确性和可行性。每一个步骤都必须严谨,才能保证软件开发的高效和成功。 阅读详情

相关推荐

StarUML 类图设计工具

用于类图的开发

Robustness Diagram - 從需求分析到架構設計(优秀鲁棒图)

什麼是Robustness Diagram Robustness Diagram是一種很特殊的圖形,介於Class Diagram與Activity Diagram之間,最早由Ivar Jacobson於1992年所提出,台灣這邊翻成強韌圖、穩健圖,對岸則採譯音翻成魯棒圖。在需求分析領域,UML的Use Case Diagram已經被視為需求捕獲的重要工具,藉由Use Case及Use

每天积累一点,一年后你会发现,自己变化很大 2459

【学习体会】Lighttools8.4.0:设置虚拟相机+仿真结果3D显示

1.设置虚拟相机并渲染视图中的图像 添加球型光源、接收器、cube物体,设置物体表面的光学属性为简单散射

LeonJin的博客 6285

鲁棒图与系统需求分析

1、概念 鲁棒图——是需求设计过程中使用的一种方法(鲁棒性分析),通过鲁棒分析法可以让设计人员更清晰、全面了解需求。它通常使用在需求分析后及需求设计前做软件架构分析之用,它主要注重于功能需求的设计分析工作。需求规格说明书为其输入信息,设计模型为其输出信息。它是从功能需求向设计方案过渡的第一步,重点是识别组成软件系统的高级职责模块、规划模块之间的关系。 包含三种图形:边界、控制、实体。 边

每天积累一点,一年后你会发现,自己变化很大 2858

计算机组成原理实验(已通关)-华中科技大学头歌Educoder(Logisim)

汉字国标码转区位码实验 汉字机内码获取实验 8位可控加减法电路设计 第2关 CLA182四位先行进位电路设计 第3关 4位快速加法器设计 第4关 16位快速加法器设计 第5关 32位快速加法器设计 第6关 5位无符号阵列乘法器设计 6位有符号补码阵列乘法器 乘法流水线设计 原码一位乘法器设计 偶校验编码设计 偶校验解码电路设计 16位海明编码电路设计 16位海明解码电路设计 海明编码流水传输实验 16位CRC并行编解码电路设计 CRC编码流水传输实验

紫荆鱼的博客 4万+

EDA虚拟机分享2020版本(Synopsys2020)

EDA虚拟机分享

亦安的数字小站 9191

浅谈UML中常用的几种图——鲁棒图

什么是鲁棒图 鲁棒图包含 3 种元素(如图 8-2 所示),它们分别是边界对象、控制对象、实体对象: 边界对象对模拟外部环境和未来系统之间的交互进行建模。边界对象负责接收外部输入,处理内部内容的解释,并表达或传递相应的结果。 控制对象对行为进行封装,描述用例中事件流的控制行为。 实体对象对信息进行描述,它往往来自领域概念,和领域模型中的对象有良好的对应关系。 鲁棒图和MVC的比较 ? 1. View仅涵盖了“用户界面”元素的抽象,而鲁棒图的边界对象全面涵盖了三种交..

肖邦的夜曲的专栏 1万+

21、二维卷积层(convolution2dLayer)的全面解析

本文全面解析了二维卷积层(convolution2dLayer)的原理、属性和应用,详细介绍了其在深度学习中的作用及实现方法。文章涵盖创建卷积层的语法、参数设置、算法原理、输入输出格式、优化策略以及实际应用案例,旨在帮助读者更好地理解和应用二维卷积层构建高效的深度学习模型。

red88的博客 320

鲁棒图说明与举例演示

鲁棒图

h1119059391的博客 4685

Qlib:微软开源的AI量化投资平台 极简入门快速上手教程:使用 Qlib 进行中芯国际股价回测和预测

Qlib是由微软开源的面向AI量化投资的工具包。它提供了构建量化投资模型所需的基础设施,旨在帮助研究者和从业人员更高效地进行量化研究和策略开发。

AI天才研究院 5415

在 Visual Studio Code 中开发 SAP Fiori 应用并部署到 Cloud Foundry 的完整实战指南

摘要:本文介绍如何以ABAP RAP服务为后端,通过VS Code和SAP Fiori工具将Fiori应用一键部署到SAP BTP Cloud Foundry环境。主要内容包括:1) 开发环境配置(VS Code+Fiori工具);2) 架构流程说明(MTA打包、Approuter路由);3) 权限准备(业务Catalog分配);4) 创建带Approuter的MTA项目;5) 连接ABAP OData服务并生成Fiori应用。文中还针对常见问题(如服务不可见、部署失败)提供了解决方案参考。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 367

学习笔记-鲁棒图

MVC的Model对应于经典的业务逻辑部分,而鲁棒图的实体对象更像“数据”的代名词——用实体对象建模的数据,既可以是持久化的也可以仅存在于内存中,并不像有的实践者理解的那样直接就等同于持久化对象。View:仅涵盖了“用户界面”元素的抽象, 鲁棒图的边界对象:全面涵盖了三种交互,即本系统和外部“人”的交互、本系统和外部“系统”的交互、本系统和外部“设备”的交互。相反,若实现某功能的鲁棒图中只含1个控制对象,则是明显地“设计不足”——这个控制对象的名字必然和功能的名字相同,这意味着没有对职责进行真正的切分。

qq_44618625的博客 1423

生成对抗网络(GAN)在数据增强中的应用【附核心实战代码】

生成对抗网络(GAN)由Ian Goodfellow等人在2014年提出。它包含两个主要的部分:生成器(Generator)和判别器(Discriminator)。生成器负责生成假数据,而判别器则用于区分输入的数据是真实的还是由生成器生成的。通过这种对抗过程,生成器不断优化自己,生成越来越真实的样本。最终,生成器生成的样本几乎无法被判别器区分与真实数据。

一键难忘的博客 3120

鲁棒图(Robustness Diagram)

鲁棒图与系统需求分析 鲁棒图(Robustness Diagram)是由Ivar Jacobson于1991年发明的,用以回答“每个用例需要哪些对象”的问题。后来的UML并没有将鲁棒图列入UML标准,而是作为UML版型(Stereotype)进行支持。对于RUP、ICONIX等过程,鲁棒图都是重要的支撑技术。当然,这些过程反过来也促进了鲁棒图技术的传播。 而“鲁棒图(Robustness Di...

木东的博客 3687

自动驾驶感知新方案:YOLOv13多模态(RGB+LiDAR+热成像)融合实战

YOLOv13的RGB+LiDAR+热成像多模态融合方案,解决了自动驾驶感知的鲁棒性问题,通过跨模态特征互补和注意力融合,实现了复杂场景下的高精度检测。本文从架构设计、数据预处理、核心模块实现到车载部署,完成了全流程实战。动态模态权重:根据场景自动调整各模态的权重(如黑夜场景提升热成像权重);端到端3D检测:直接从原始点云与图像进行3D检测,减少预处理步骤;轻量化优化:针对车载设备进一步剪枝量化,提升推理速度。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 534

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Robustness Diagram - 从需求分析到架构设计

转载自:http://www.dotblogs.com.tw/jed/archive/2010/11/21/robustness_diagram.aspx什么是Robustness Diagram Robustness Diagram是一种很特殊的图形,介于Class Diagram与Activity Diagram之间,最早由Ivar Jacobson于1992年所提出,台湾这边翻...

weixin_30677475的博客 184

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Go最新软件开发中会使用到的图_软件开发用到的图,2024年最新面试竟然被这31道Golang基础题难倒了

其实最好的图是手稿,不但画起来快,还能让你的思维专注到构思上,用什么颜色之类的问题不会对你产生干扰。另外我们不要为了画图而画图,结合实际的情况把握好尺度,一般情况下,时间上不太会允许我们把图画的面面俱到,能覆盖到核心甚至80%就很好了。1.匿名用户2.张恂老师3.如果你想及时得到个人自写文章的消息推送,欢迎扫描下面的二维码~。

2401_84919661的博客 1002

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

二十三、软考-系统架构设计师笔记-真题解析-2023年真题

2023年5月,我参与了某大型制造企业“数字化供应链协同管理平台”的建设工作,担任系统架构师与技术负责人。该项目旨在打破企业内部采购、库存、生产与销售部门之间的“信息烟囱”,实现跨部门的数据融合与业务协同。由于各业务模块历史悠久,且由不同供应商采用独立的 MySQL 数据库进行存储,形成了典型的异构多源数据环境。本文以该项目为背景,深入探讨了多源数据集成的策略及其在微服务架构下的具体应用。针对实时业务操作,我们采用了基于中间件模式的动态数据源路由技术;

落日的博客 1199

机器学习模型上线:从Notebook到生产环境的工程化落地

机器学习模型部署不是算法交付的终点,而是系统性工程挑战的起点。其核心在于将统计模型嵌入真实业务系统,涉及数据管道稳定性、特征时效性、服务可观测性与故障恢复力等关键能力。在金融、支付、保险等强监管场景中,模型性能衰减多源于数据漂移、依赖服务异常或决策逻辑与业务规则脱节,而非算法本身。因此,生产级ML实践需融合SRE韧性思维、数据治理规范与合规审计要求,构建可监控、可回溯、可降级的决策服务。本文聚焦模型上线后的典型断点——特征失效、异步状态不一致、Fallback黑盒、类型隐式转换与服务网格超时,提供可落地的防

weixin_34175509的博客 454

三位图灵奖得主对AI暂停倡议的三种技术立场解析

人工智能治理并非简单的支持或反对,而是涉及技术可行性、制度响应力与范式正当性三重维度的基础问题。深度学习、因果推理与AI伦理作为当前高频搜索的技术概念,共同构成理解大模型风险的核心框架。其原理在于:工程层面临缩放定律失效与可解释性塌缩,制度层需将抽象风险转化为可审计的分级监管机制,而范式层则直指统计关联与因果理解的本质差异。这种分层认知具有显著技术价值——帮助算法工程师识别模型退化信号、助力政策制定者设计动态沙盒、支撑产品团队构建可追责的AI系统。典型应用场景包括智能投顾的公平性整改、医疗AI的决策可解释性

corg81763的博客 509

LLM原生工具调用:应用层抽象层正在归零

大语言模型的工具调用,正从依赖应用层胶水代码(如LangChain、JSON解析、状态机)的协议式交互,演进为模型内生的语义化执行能力。其核心原理是将工具语义理解、参数校验、错误恢复与多步编排深度耦合进推理过程,显著降低延迟、提升可靠性并重构开发范式。这一技术跃迁带来关键价值:token成本下降37%、工具失败率从6.2%压至0.3%、工程师开发耗时减少83%。典型应用场景覆盖金融合规文档解析、智能审计报告生成、电商订单状态追踪等需强结构化交互的生产系统。本文聚焦Claude 3.5 Sonnet原生工具调

weixin_33862993的博客 361

StarUML使用说明-指导手册 .

StarUML使用说明-指导手册 Module by: Stephen Wong 原著:Stephen Wong            翻译:火猴 1.综述 StarUML是一种生成类图和其他类型的统一建模语言(UML)图表的工具。这是一个用Java语言描述的创建类图的简明手册。 StarUML(简称SU),是一种创建UML类图,并能够自动生成Java的“stub code”

afei198409的专栏 2813

starUML建立模型及生成代码框架

最近用了starUML画图,对其中遇到的问题及解决方法进行一个小的总结。   首先下载安装starUML,下载之后就是建立一个项目可以在其中进行画图了。   建立project,选择default,如图      starUML建立用例模型的方法是:在主界面右上方的《userCaseModel》右键,选择Add Diagram->Use Case Diagram      建立分析类图

Agnesyuan的博客 5784

软件方法(下)分析和设计第8章分析 之 分析类图——知识篇Part03(202205更新)

分析模型受到设计的污染,很容易导致批量的废话刷工作量

rolt的专栏 730

软件架构设计与需求分析方法论

服务是可以单独运行,并且对外提供功能的一种形式。可以将一个复杂的项目分解成多个服务。当某一个服务挂掉时不会拖垮整个系统。如果没有服务化,每当一个新的功能被添加到系统中就会影响到所有功能;如果采取服务化,每个服务只对其上下游的服务负责。

fegus的博客 3570
上一篇: poi读取excel
下一篇: 学习资源
lujun12
博客等级 码龄15年 0粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值