UML作为方法论实施建模过程用到的主要建模元素,本节将对使用到的核心元素的基本概念和使用方法进行详细介绍,对使用到的一些重要元素会进行较为深入的讨论。在方法论中我们把收银员这类由于被动“参与”了业务流程的人员称为业务工人,而与之对应的主动发起或主导业务流程的小明们就被称为业务主角。......
2023-11-17
UML核心元素讲述了方法论中需要用到的一些关键概念,在业务建模以及系统建模阶段都有所涉及。接下来本节将重点介绍在方法论中用到的两大图形:用例图和活动图(泳道图)。接下来讨论这两种UML图形的组成以及在方法论中的应用情况。
1.用例图
用例图展现了一组用例、参与者(actor)以及它们之间的关系,我们已经讨论过它的主要组成元素,相信大家对它们的使用不会存在很大的疑问。用例图从用户角度描述系统的静态使用情况,主要用于建立需求模型。用例图描述了用户希望如何使用一个系统,通过用例图可以知道谁将是系统的相关用户,他们希望系统提供什么样的服务,以及他们需要为系统提供什么样的服务。
用例图从用户的角度来描述对软件项目的需求,分析项目需要的功能和动态行为,对于用户来讲,用例图是他们业务领域的逻辑化表达。用例图在系统的整个分析、设计和开发阶段都非常重要,对于项目的建设单位而言,用例图是系统蓝图和开发的依据,它的正确与否直接影响客户对最终实现的软件满意度。用例图的主要作用如下:
(1)用来描述将要开发系统的功能需求和系统的使用场景。
(2)作为设计和开发过程的基础,促进各阶段开发工作的进展。
(3)可以通过不同的视角,验证和确认需求的完整性。
(4)在方法论的实施过程中,我们将用例图细化为业务用例图和系统用例图。
业务用例图就是使用业务主角和业务用例展示业务建模结果的静态视图。业务用例图可以展示业务领域的业务目标,将参与达成业务目标的业务主角和业务用例展现在业务用例图中。我们可以从实现业务目标,完成完整业务的角度出发,检查完成某项业务的所有业务主角和业务用例是否齐全,以此来检查是否有遗漏的业务用例。实际建模过程中,我们也可以根据实际业务需求从其他视角来进行业务用例视图的建设。例如可以用业务主角视角查看某个业务角色的业务是否完整;可以从文件的产生到归档或销毁的全过程中涉及的业务主角或业务用例视角;可以从某个关乎业务的重要实体的演化过程等。
系统用例图展示的是系统范围,站在计算机系统执行的角度来描述系统的静态场景,主要是对业务用例进行分析以后得到的结果进行展现。主要从业务情景的活动获取,反映业务用例的系统映射功能,也即反映了业务需求到系统需求的映射和拆分,保证了过程的可追溯性。当然,系统用例的实现视角,也可以参考业务用例,以具体方便反映业务用例的计算机系统化执行过程为目标,从不同的视角进行建设。
2.活动图
活动图在需求建模过程中主要是对用例的动态执行过程进行描述,我们在讲述用例图的时候讨论过用例图是对业务或系统场景的静态描述。针对业务用例,活动图根据现实世界的业务情况,描述其执行的动态业务场景,展示业务执行的每个瞬间,也就是业务流程图;针对系统用例,活动图根据系统用例执行过程中涉及的角色和计算机执行涉及的业务对象,描述系统用例在计算机中的动态执行瞬间,也就是系统流程图。在建模过程中一般采用泳道的形式加入执行的角色,用以说明活动由谁执行,承担什么职责等。
活动图在建模过程中的作用主要有:
(1)描述一个操作执行过程中完成的工作(动作),这是活动图最常见的用途。
(2)描述对象内部的工作。(www.chuimin.cn)
(3)显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。
(4)显示用例的实例如何执行动作以及如何改变对象状态。
(5)说明一次业务流程中的人(参与者)和对象是如何工作的。
我们了解活动图的基本信息和作用后,为了使大家在后面的建模过程中真正能够应用,能够按照方法论的指导将用例中的场景描述清楚,有必要对组成活动图的基本元素做一下介绍。
起点:标记活动图的开始,一个活动图只有一个起点。在UML中一般使用圆点表示。
结束点:标记一个活动图的结束,一个活动图可以有一个或多个结束节点。在UML中一般使用带实体的圆环表示。
动作状态:对象的动作状态是活动图中最小单位的构造块,表示原子动作。动作状态有以下三个特性:原子性(不能被分解成更小的部分);不可中断性(一旦开始就必须运行到结束);瞬时性(占用的处理时间是极短的,甚至是可以被忽略的)。在UML中一般使用带圆端的矩形框表示。
活动状态:表示可以分割的动作,主要特点有:可以分解成其他活动或动作状态;能够被中断;占有有限的时间。所以活动状态可以理解为一个组合,它的控制流由其他子活动或动作状态组成。同动作状态类似,在UML中一般使用带圆端的矩形框表示。
转移:表示两个状态间的一种关系,表示对象将在当前状态中执行动作,并在某个特定事件发生或某个特定的条件满足时进入后续状态。在UML一般使用带箭头的直线表示,线上可以添加条件。
分支:用于描述某个条件的可选择路径。一个分支可以有一个、两个或多个输出,每条输出转移上都可以添加条件或表达式,当且仅当条件或表达式为真时,该路径才有效,才会被启用。在所有的输出中,其条件或表达式不能重复,而且要覆盖所有可能性。在UML中使用菱形表示分支。针对只有两个输出的判断,尽量采用“是否……”的语句,输出的分支判定线上统一使用“是”或“否”,可以保证流程中判定条件输出的统一性,避免出现诸如“审核(不)通过”“有(无)效”等。
分叉和汇合:对象在运行时可能存在两个或多个并发运行的控制流,为了对并发的控制流建模,UML引入了分叉与汇合的概念。分叉表示把一个单独的控制流分成两个或多个并发的控制流。一个分叉可以有一个进入转移和两个或多个输出转移,每一个转移都表示一个独立的控制流。汇合表示两个或多个并发控制流的同步发生,一个汇合可以有两个或多个进入转移和一个输出转移。分叉和汇合应该是平衡的。分叉和汇合在图形上都使用同步条来表达,在UML中一般使用一条粗水平线表示。
泳道:用以将活动划分为若干分组的元素,并为每一组指定负责活动的对象。每一组都可以表示一个特定的类、角色或部门等,他们负责完成组内的活动。使用泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的,也明确表示了实际执行活动的对象。在UML中泳道一般用垂直实线来表示,垂直线分割出的区域就是泳道。在泳道的上方可以给出对象的名称或泳道名称。泳道没有顺序,不同泳道的活动既可以顺序进行也可以并发进行,各活动允许穿越分割线。
总之,活动图可以作为动态建模工具,强调从活动到活动的控制流,用于描述对象的过程或操作的步骤。
有关软件需求工程的文章
UML作为方法论实施建模过程用到的主要建模元素,本节将对使用到的核心元素的基本概念和使用方法进行详细介绍,对使用到的一些重要元素会进行较为深入的讨论。在方法论中我们把收银员这类由于被动“参与”了业务流程的人员称为业务工人,而与之对应的主动发起或主导业务流程的小明们就被称为业务主角。......
2023-11-17
要给一个名词下定义,是一件很严肃和严谨的事情,因此,要给出需求工程准确的定义是不太现实的。本书从方法论推进和实施的角度出发,提出了本书对需求工程的理解和定义。需求工程是面向业务全局、系统顶层的一种着眼于软件过程全过程的工程,是将客户业务作为内部研究对象、将软件工程实施作为外部研究对象的工程。之后,书中提到的需求工程即以此定义为准。......
2023-11-17
在方法论中业务场景视图作为对业务用例的汇总和分析,呈现出一种自底向上的过程,一方面是方法论贯彻“正向可推导,反向可追溯”思想的体现,所有活动都来自业务用例;另一方面是对业务用例和业务场景的相互检查,形成的核实机制。RA人员可以通过这种方式来核对业务用例和业务场景的完整性和实效性。......
2023-11-17
需求工程的过程分为需求准备、需求获取、业务建模、系统建模等阶段,中间各环节通过关联规则体系串接起来以达到跟踪监控整体需求工程进度的目的。......
2023-11-17
这里就以审核薪资表为例,建立起系统情景模型如图3-16所示。图3-16审核薪资系统情景视图当然,活动图只描述了过程,并未展示出系统实现需求的所有细节,这些细节就使用用例规约来描述,如图3-17所示审核薪资表的用例规约。......
2023-11-17
在方法论中原型界面就是原型,并不代表系统的最终实现,可以使用草图来表示。图3-18审核薪资原型界面同时配合原型界面的使用以及为设计人员提供关键元素,每个原型界面都有对应的用例脚本展示,主要以边界类、业务类及实体类的划分为依据,按照MVC的主要思想将设计的关键要素表达出来。......
2023-11-17
业务目标又称为业务前景,是对要建设的系统的展望。业务目标非常重要,在定义边界一章中会看到,边界正是基于业务目标来定义的。投资构建系统的原因,以及这样做利益相关者会从业务中得到什么,这些都可帮助确定业务目标。业务目标不仅仅是要解决问题,还要提供业务上的效益。业务目标大部分情况下是由客户提出,当然也可以由开发方整理得出。在初步了解业务目标以后,接下来的工作就是找出项目范围内的利益相关者。......
2023-11-17
相关推荐