|
就像大多数的软件开发从业者所知道的那样,统一建模语言 (UML)在表示真实世界的现象方面是非常优秀的。这种能力导致了 Business Modeling Profile 的发展,UML Business Modeling Profile 提供了扩展和原型以使用户和分析人员之间的交流更加容易。 正考虑应用 Business Modeling Profile 的组织通常都会有一些实际的问题,比如下面的问题:
不幸的是,关注于这些问题和应用 UML 业务建模 Profile 的文献资料比系统建模的资料相对来说少的多。这使那些认同使用 UML 进行业务建模的用户和分析人员十分失望,但是他们还是被迫的去努力使用这些符号。 本文通过了解一个样例用例来说明大家所关系的事情,这个样例用例建模了一个负责管理外包开发的 IT 部分的采购流程。这个由法律顾问、企业架构师和项目经理构成的部门负责和约的、系统架构的和项目管理的问题。这个部门的任务是将最终用户部分从 IT 相关的问题中解放出来,以便他们能够将经理放在业务运作上。当这些部门需要采购新的系统或者改进已有的系统时,他们会让 IT 部门准备最初的说明书,然后 IT 部门选择合适的供应商交付被需要的系统。 我们这个讨论的假设基础 我们假设你对 Rational 统一过程(RUP)中描述的业务建模 Profile 的知识有一定的了解。如果你对这个 Profile 还不是很熟悉,请参考文章尾部的附录。 我们这个简单例子的第一部时完成一个业务用例模型调查。 如图 1 所示,存在两个参与者和两个用例。最终用户 Manager 想要一个供应商来自动化一些工作流程,因此 IT 部门通过准备最初的需求文档和包含几个候选供应商的方式来帮助业务部门。一旦和约敲定,采购部门将通过根据和约中的里程碑管理系统的交付来帮助最终用户 Manager 。 图 1: 业务用例模型 我们将业务用例总结如下:
我们将业务用例总结如下:
表 1 :很长的工程流程
在我们的例子中,采购一个新系统的核心业务目标是将目标分解成两个子目标。
因此,准备 Tender 业务用例包括了表 1 中的步骤 1 到 步骤 4,选择供应商业务用例包括了表 1 中的步骤 5 到 步骤 10 。有很多方法可以分割工作流程,与客户讨论选择是重要的。然而,明白业务建模的真正价值在于理解被分解的工作流程之间是如何关联的是十分重要的。 在这个部分,我们来看一下如何描述业务用例。RUP 中的业务用例模板由一些部分组成,但是我们将只关注在基本的和可选的工作流程上。我将在未来的文章中讨论其他的部分 - 包括目标、风险、职责等等。表 2 显示了为准备 Tender 业务用例的基本和可选的工作流程。 表 2: 业务用例说明
在这个部分,我们将讨论几个实现业务用例的方法:
接下来的子部分描述了每种方法的好处,和这些方法是如何互相补充的。 关注工作流程 我们将看一下业务用例实现,它关注在包括业务执行者和他们的职责的工作流程上。如图 2 所示,准备 Tender 业务用例有三个业务执行者。
图 2: 业务执行者 - 准备 Tender 一个时序图描述了准备 Tender 业务用例的基本工作流程的实现,如图 3 所示。 图 3: 准备 Tender (关注工作流程)的业务用例实现 在图 3 中的消息能够被映射到每一个业务执行者的职责上,如图 4 所示。这种技术非常类似于指导用例分析的技术,这恰恰是为什么 RUP 的业务建模技术是如此强大的原因:相同的技术能够被应用到业务建模和系统建模上。 图 4: 业务参与者和业务执行者参与业务的视图 在业务用例实现中,在消息和操作中使用动词如“准备”和“检查”,并且避免如“提交”、“批准”和“拒绝”等等的动词是最好的。这样我们就能够区分事件/动作与职责/活动之间差别。否则,我们就会范类似于图 5 中的错误。 图 5: 错误:事件和职责有同样的名字 假设最终用户发送了一个消息 - “提交系统说明” - 给 IT 部门的经理,如图 5 左侧所示。这意味着 IT 项目经理有责任“提交系统说明”,但是这显然是错误的。最终用户的经理应该做这个事情。如果我们使用一个如图 6 所示的从最终用户经理到到它自身的反身消息“提交系统说明”,情况仍然是糟糕的。图 6 没有显示最终用户经理必须要“提交系统说明”。
图 6: 错误:反身消息不能指明谁收到了系统说明 被推荐的方案是在图 3 中使用消息 2 。子任务指明了系统说明准备额完成。此外,消息 2 的方向也表明了系统说明被最终用户经理提交给 IT 项目经理。 图 7 显示了对于一个直接的”提交系统说明“活动的一个相似的错误。被推荐的方案被显示在图 8 中;子任务是一个引发从”准备系统说明“向”准备 Tender 文档“转移的事件或者动作。这样做是更加简明;注意图 8 仅有两个活动而不象在图 7 中的 3 个。 图 7: 错误:最终用户经理既拥有活动也拥有动作 图 8: 方案:创建一个包含引发转移的动作的子任务 现在我们准备探究业务参与者或者业务执行者的职责自动化 - 特别是他们什么时候和如何使用业务系统。在我们的例子中,我们有两个业务系统,入图 9 所示:
图 9: 对于准备 Tender 用例的业务系统 RUP 中的业务对象模型指南建议了定义一个新的原型图标的可能性。在本文中我们将为业务系统使用 ”Business Worker“ 图标,但是他们将在新的 UML 业务建模 Profile 中有一个新的图标。注意,不管用何种方法,我们的业务系统的概念要严格的于在新的 Profile 中相同。 图 10 显示了一个用来描述准备 Tender 业务用例的基本流程实现的时序图,包括了被要求的业务系统。 图 10: 业务用例实现 - 自动化准备 Tender 用例 在图 10 中的消息能够根据每一个业务执行者的职责进行映射,如图 11 所示。 图 11: 由业务参与者、执行者和系统构成的视图 图 11 中的类图显示了 Tender 管理系统 (TMS) 的上下文关系。通过这个关系,我们表达了需要 TMS 服务的客户和对于操作 TMS 需要的供应者。这个上下文关系能够在用例图中用另一种形式表示,如图 12 所示。 图 12: 源自业务用例实现的 Tender 管理系统的用例 在图 12 中的用例的名字要严格的符合在图 11 中 TMS 的操作的名字。在图 12 中的参与者的名字要严格的符合在图 11 中的业务参与者和业务执行者的名字。使用相同的命名习惯有利于从业务对象模型到系统用例模型的跟踪。 探究自动化选择 在图 10 中的时序图阐明了 Tender 管理系统 (TMS) 是如何从法律官员隐藏和约管理系统(CMS)的。这是可能的系统开发场景之一,包括: 场景 1: 没有被集成的异构系统 场景 2:仅仅提供一个新的前端系统 场景 3: 集成
在场景 1 中,没有在 TMS 和 CMS 之间的集成,并且二者都被作为分离和独立的系统处理。对于法律官员的时序图被表示在图 13 中;注意法律官员要直接访问 CMS 。 图 13: 时序图 - 场景 1:没有集成的异构系统 对于源自图 13 中的 TMS 的用例图被在图 14 中进行了描述。注意 CMS 没有出现在图 14 中,因为它不和 TMS 进行交互。 图 14: 用例图:场景 1 :没有集成的异构系统 在场景 2 中, TMS 提供了一个封装 CMS 功能的前端系统。对于法律官员活动的时序图被显示在图 15 中。这个方法的目标是为最终用户提供一个一致的外观。然而,在使用法律条款进行检查和补充 Tender 中,没有额外的功能来支持法律官员。 图 15: 时序图 - 场景 2 :提供新的前端系统 对于源自图 15 的 TMS 的用例图被在图 16 中被描述。注意图 16 包含一个新的用例,”查找和约“,它与 CMS 交互。 图 16: 用例图 - 场景 2:提供新的前端系统 场景 3 被显示在图 10 的消息 4 中。 TMS 提供了一个 CMS 的前端,并且同时提供了方便法律官员用法律条款检查和补充 Tender 的额外功能。 消息能够映射到用例或流程上。在上面的讨论中,在时序图中的每一个消息被映射到一个用例。这意味着业务对象模型和用例模型一定是一致的 - 也就是说,用例是根据业务系统中的操作的名字命名的。这可能会太局限了,因为在很多的情况下,我们想要彼此独立的重构用例模型或者业务对象模型。然而,重构每一个模型都将使在两个模型之间的映射变得无效,我们希望维护一致性或者一些可跟踪的形式。我们能够通过允许一个消息被映射到每一个整体用例或者一个用例的一部分来实现这个目的,作为一个与消息语义相应的流程或者事件来支持这种映射。你可以在图 17 和 18 中看到他的表示。 图 17: 消息到用例的映射 图 18: 操作到用例的映射 现在,让我们看一下关注与2信息流程的业务用例实现 - 也就是,业务实体如何被使用。我们的例子有几个业务实体,如图 19 :
图 19: 业务实体 - 准备 Tender 用例 一个时序图描述了准备 Tender 业务用例的基本流程实现(信息流程),如图 20 所示。 图 20: 业务用例实现 - 准备 Tender 用例信息流程(顺序) 相应的协作图描述了用例的实现(信息流程),如图 21 所示。 图 21: 业务用例实现 - 准备 tender 用例信息(协作) 在图 20 和 21 中的消息能够被映射到每一个业务实体的职责上,如图 22 所示。 图 22: 由业务参与者、执行者和实体组成的视图 注意,业务实体是被动的,并且不能触发与自身的交互。因此,在图 20 和 21 中的消息代表可业务参与者和业务执行者如何操作这些实体,或者是手工操作或者是通过自动化的工具操作(比如,Tender 系统或者和约管理系统)。在大多数的情况下,组织将有不止一个系统,因此一个单个的业务实体的职责可能被映射带多个体统的职责上。在图 20 中描述哪一个业务系统被用于操作哪一个业务实体将使图 20 变得与图 21 和 22 一样复杂。 当你进行用例分析时,你能够将描述被系统操作的实体推迟到活来进行。可选的,你可以有一个映射业务系统和业务实体的类图。图 22 能够通过仅显示参与的业务实体被简化,如图 23 。 图 23: 业务实体参与的视图 - 准备 tender 用例 图 23 也被作为领域视图被引用,并且所有的业务实体集合组成了领域模型。领域模型也描述了动态的行为,通常是通过状态转换图。除了显示不同业务实体之间的关系,显示单独的业务实体的状态也是重要的。状态图显示了能够在每一个业务实体上执行的操作。图 24 是 tender 文档的状态图。 图 24: Tender 文档的状态图
在图 24 中,事件与 Tender 文档中的操作有相同的名字。Guard 条件(比如,在 UML 中被 "[" and "]" 界定的表达式)表示了操作的不同终止条件。例如,检查 Tender 文档操作有三个可能的终止条件,命名为:
这些终止条件必须被在图 12 中被识别的”检查 Tender 文档“用例处理。被接受的 Tender 文档可以是用例的基础流程,其他两个条件可以是可选流程。从状态转换到用例的映射能够得自于从如图 25 。 一个被映射到用例得事件,看守条件被映射映射到用例得一个流程,并且动作代表了下面的看守条件发觉的步骤。 图 25: 从状态转换到用例的映射 这样,在图 24 中被准备的 Tender 文档的状态被一个用例处理:检查 Tender 文档,如表 3 。准备的 Tender 文档的状态有三个分支的转换,他们被映射带在=基本流程的步骤 4 ,可选流程 A1 和 A2 上。 表 3: 检查 Tender 文档用例
在表 3 中的可选流程处理Tender 文档的拒绝。在表 3 中的基本流程的步骤 1 中,系统显示tender文档的总结列表和他们的状态。这样,在业务模型中的状态图提供了一种详细描述以下方面用例的方法:
软件系统被开发以达到业务目标。然而,用户、分析人员和开发人员通常生活在不同的世界里;他们有不同的看法并使用不同的行业术语。在这些人之间的沟通障碍导致了很多关于各种系统需求的解释和变更需求上的激烈讨论。通常,这些变化的发生不是应为最终用户改变他们的想法,而是因为最初的需求需要被澄清。 因此使用一种通用的符号系统(比如 UML)和通用的技术(UML 和 RUP 业务建模 Profile)是至关重要的,这些技术既可以描述业务流程也可以用于所有用户、分析人员和开发人员理解系统。这种被改进的沟通的确可以使软件工程项目更加成功。 在本文中,我们讨论了识别业务参与者和业务用例的步骤,并且使用三种方法描述了他们的实现,每一种都有不同的关注点(见表 4) 。 表 4: 描述业务用例实现的方法
本文假设读者对 UML 有一定的了解,并对业务建模的 UML profile 有一些基本的理解。当前的用于业务建模的 UML profile 的简介在表 A-1 中。 表 A-1. 用于业务建模的 UML profile 的简介
|
相关推荐
统一建模语言 UML
统一建模语言 UML
UML建模图实战总结
一、背景 UML:Unified Modeling Language(统一建模语言),是一种绘制软件蓝图的标准语言,为面向对象开发系统的产品进行说明、可视化、和编制逻辑文档。我们在软件开发项目中,面向对象的,在程序规划、设计阶段,通过过使用 UML 的面向对象图的方式来更明确、清晰的表达项目中的架设思想、项目结构、执行顺序等一些逻辑思维 ,以帮助我们完成应用规划,设计,开发。UML 统一了Booch、OMT、OOSE和其他面向对象方法所涉及的基本概念和建模符号。下面,让我们一起看下如何使用UML来建模实践。
软件工程—统一建模语言UML
一、ULM概述 统一建模语言(UML)是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。 UML主要内容 UML的主要特点 1. 统一的建模语言 2. 支持面向对象 3. 支持可视化建模 4. 强大的...
基于 UML 的业务建模举例
基于 UML 的业务建模 2011-05-30 作者:杨敏强 来源:网络 简介: 对于管理流程咨询项目、大型信息化建设项目和套装管理软件实施项目,对业务环境的分析和理解对项目的成功至关重要。系统、全面理解 IT 系统所处的业务环境,可以帮助 IT 系统能提供正确系统功能,并加速 IT 系统的部署和推广,
ANSYS HFSS 中的相控天线阵列仿真方法
相控天线阵列系统广泛使用,从国防雷达应用到商业 5G 应用。设计这些天线阵列涉及复杂的数学运算,需要全波仿真。Ansys HFSS 全场 3D 电磁仿真软件可以在合理的时间内以较低的计算成本仿真复杂的相控阵天线系统,同时考虑复杂激励、环境(即附近的天线)和平台对其性能的影响。本博客介绍了可用于有效仿真相控天线阵列的不同方法。以下是不同仿真方法的简要概述,视频链接中提供了完整的演示。ANSYS HFSS 提供 4 种不同的相控天线阵列仿真方法:1) 晶胞-无限阵列。
拆解歌尔2718硅麦:2.75mm超小封装背后的MEMS技术解析
本文深度解析歌尔2718硅麦的2.75mm超小封装技术,探讨MEMS麦克风在微型化过程中的声学性能与结构可靠性平衡。通过ASIC芯片堆叠、纳米级应力控制等创新技术,歌尔2718在TWS耳机和智能手机中实现卓越性能,同时克服微型化带来的声学挑战。
UML统一建模与项目方案实现
UML统一建模与项目方案实现
MATLAB/simulink电力系统之变压器仿真+变压器饱和仿真+空载变压器电流畸变原因及仿真+空载合闸励磁涌流仿真+simulink免费仿真资源
单相变压器空载运行时,原边电流主要用来产生主磁场,而电路损耗和铁芯损耗很小,因此即使外加电压很大,空载电流仍然很小。如果想观察某个相对磁导率下电感系数的数值,可以在程序中增加这样的语句,比如,在程序中end语句之后,加上L(100),运行程序后就可以得到相对磁导率为 100时的电感系数值。在交流铁芯线圈中,当交变磁通按照正弦规律变化时,受到磁路饱和的影响,线圈中的电流会发生畸变,并成为尖顶波,这就是所谓的交流磁路电流畸变。需要指出,铁芯内的主磁通Ф可以通过空载时的副边电压从来测量,两者之间的数学关系,即。
一文读懂14种 UML 图业务建模&系统分析的设计方式(上)
看网上有很多关于 UML 图的介绍,但都不完整,于是参考了一些 UML 书籍、博客、视频、官网,并基于最新的 UML 2.5 版本(涵盖了 UML 14 种图),总结了这篇文章,希望能给系统分析设计的同学一点参考。本文分为上下两篇,主要讲解 UML 核心图的结构和一些案例,偏向于操作介绍,如果发现本篇文章有任何问题,或在使用 UML 画图过程中遇到问题,欢迎留言评论。
学Simulink--决策规划场景实例:基于Simulink的智能车辆行为决策仿真
本文基于Simulink平台构建智能车辆变道决策仿真系统,采用MOBIL算法实现"决策-规划-执行"全流程。系统包含自车动力学模型、环境感知模块(含5%噪声)、决策控制器和轨迹规划模块,通过五次多项式实现平滑变道。仿真验证了三种典型工况:正常变道(成功率100%)、邻车拒绝让行和紧急避障,各项指标均满足要求(TTC>3s,横向加速度<2m/s²,决策周期<100ms)。文章详细介绍了建模步骤、核心算法实现和参数配置方法,并提出了强化学习、多车协同等优化方向。该模型为智能
项目篇 | 图书管理系统 | 管理员模块 | 概述
图书管理系统管理员模块概述
基于UML的毕业设计管理系统的分析与设计
基于UML的毕业设计管理系统的分析与设计 <本段与标题无关,自行略过 最近各种忙,天气不错,导师心情不错:“我们要写一个关于UML的专著”,一句话:“一个完整的系统贯穿整个UML的知识”;我:“--o---k--”。忙里偷闲,先回顾一下吧> 毕业设计是实现本科教学培养目标的重要环节,从选题到答辩一般需要四至六个月的时间,其间工作量很大,尤其需要保留大量的文件...
GEE:本地影像上传到GEE的Assets中,并输入机器学习算法中作为特征变量
当我们在 Google Earth Engine(GEE)中应用机器学习算法时,会输入一些影像作为特征变量数据,进一步根据这些特征影像去推理未知区域的数据。但是 GEE 平台上计算特征变量的 API 函数并不是非常全面,我们希望获得更多的特征用于分类。这个时候,我们可以将本地计算的特征影像上传到 GEE 中进行后续处理。本文记录了从本地上传特征数据到 GEE 的 Assets 中的教程,用于后续在 GEE 中分类或者回归使用。本文也可作为《》一文的补充。
使用 UML 进行有效的业务建模: 描述业务用例和实现
本文内容包括: 进行一个业务用例模型调查 进行业务用例说明业务用例的实现 事件/动作与职责/活动之间的区别将注意力放在过程自动化上 关注信息流程 结论 附录: 业务建模简介 就像大多数的软件开发从业者所知道的那样,统一建模语言 (UML)在表示真实世界的现象方面是非常优秀的。这种能力导
AMD SDP 优快云 系列文章设计
摘要 本文档规划了7篇AMD SDP协议解析系列文章的技术博客设计方案。基于《Scalable Data Port (SDP) Specification》1.5.0版本(122页),面向SoC/NoC领域的RTL设计与验证工程师,构建从基础概念到验证实现的知识体系。 系列文章严格遵循协议规范边界,采用五类证据标签区分内容来源(规范原文、勘误、验证推导等),禁止补充未定义的实现细节。包含端口控制、事务传输、一致性协议等核心内容,最终落实到验证平台设计与覆盖率模型。 每篇文章采用统一模板:明确规范依据、问题导
YOLOv8推理程序
YOLOv8单独推理,有时候我们自定义的模块算子无法正常转换为其他框架,而且需要做成应用,因此需要一个单独推理的程序,返回的是识别后的照片还有各个类别及其对应数量。文章最后给出Flask封装为Server以及调用的实例还有Client请求代码,支持几十路多线程并发,只需加载一次模型,后边推理即可。
使用 UML 进行有效的业务建模: 描述业务用例和实现
http://www-128.ibm.com/developerworks/cn/rational/r-biz-mod/
IDEA的使用指南
IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.
使用EA绘制UML业务用例模型
使用EA绘制UML业务用例模型使用EA绘制UML业务用例模型注意事项建模过程 UML软件:Enterprise Architect 软件版本:14.0.1422 使用EA绘制UML业务用例模型 注意事项 此方法主要适用于EA版本为14的平台,其他版本可以效仿此方法,效果应该都一样。 此博客主要是为了学生党撰写,主要是为了提交作业。毕竟有关这个的博客介绍及其稀少 uml-diagrams网址 ...
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
业务用例和系统用例
<br />"业务用例:业务过程是描述这个业务的具体工作流的;一次涉众与实现业务目标的业务之间的交互。它可能包含手工和自动化的过程,也可能发生在一个长期的时间段中。" <br /> <br />系统用例的设计范围就是这个计算机系统设计的范围。它是一个系统参与者,与计算机系统一起实现一个目标。系统用例就是参与者如何与计算机技术相联系,而不是业务过程。着重系统的控制流、数据流和功能。<br /> <br />业务用例模型与系统用例模型图有什么其他相似之处呢?两者都有参与者。在业务用例图中,您将一个参与者原型化为
精雕软件(JDpaint) 5.5 绿色版
精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版
UML建模知识点三-业务用例图
1.软件是组织的零件 对于软件开发来说,业务建模的目的是为了得到待引进软件系统的需求 可以从内外两个方面来研究组织。 1.从外部看,组织是一些价值的集合,我们可以用业务用例图表示; 2.从内部看,组织是一些系统的集合,我们可以用业务序列图来表示。 2.识别业务执行者 业务执行者:以某组织为研究对象,在该组织之外和该组织交互的组织(人群或机构)就是该组织的执行者。因为研究对...
UML:业务用例
业务用例(business use case)是定义了一组业务用例实例。业务用例具有名称。 业务用例实例(business use case instance)是在业务中执行的一系列动作,这些动作为业务的个体主角产生具有可见价值的结果。 业务流程被定义为数个不同的业务用例,其中每个业务用例都代表业务中某个特定的工作流程。业务用例确定了执行业务时将要发生的事情;它描述了一
《大象 Thinking in UML》学习笔记(三)——UML核心元素之参与者、用例
一、版型在UML里有一个概念叫版型(stereotype),也被称为类型、构造型。版型是由UML里的元素扩展而来,每个元模型都有很多版型,比如用例有“业务用例”、“业务用例实现”等版型。当我们需要时候我们也可以根据UML里的元素自定义版型来辅助建模。二、参与者参与者(actor)是在系统之外与系统交互的某人或某事物,在建模过程中处于核心地位。参与者和系统之间有一个明确的边界,参与者只能存在于边界之
UML建模方法论(中):业务建模
UML建模方法论(中):业务建模建模第四步:业务建模1.业务用例视图模型什么是用例图如何建立业务用例视图1.1定义边界什么是业务边界边界的作用定义边界的目的如何得到边界如何判断得到的边界是否合适1.2发现主角主角的定义哪些人是业务主角如何区分主角或者业务工人1.3获取业务用例什么是业务用例业务用例的作用定义业务用例的目的如何找到业务用例2.业务用例场景建模业务用例场景建模的目的 建模第四步:业务建模 业务建模包括 业务用例视图 业务用例场景 业务用例规约 业务规则 业务对象模型 业务用例实现视图 业务用例
6123



被折叠的 条评论
为什么被折叠?



