第5章-UML用例图
- 格式:ppt
- 大小:686.00 KB
- 文档页数:55
产品需求文档的写作(五) –用例文档(UML用例图、流程图)在产品和技术领域里都有UML的技能知识,而对于产品人员的UML则更多的是指用例图,也就是我所称呼的用户流程图。
在讲PRD文档写作的第二篇文章里,我提到了用户流程图的制作,实际上用户流程图是我在产品规则的初期对用例图的一种结构化的表达方式,由于以结构化的方式描述用例太抽象,缺少逻辑性表达,并且那篇文章更偏向于功能性用户流程,还不是实际意义上的用例,因此今天我补文一篇,细讲一下UML用例图和用例文档。
用例文档是由多个用例组成的一份文档,主要用于技术开发与测试使用,他是PRD中的重要辅助文档,用于讲解某个环节的功能逻辑,例如用户注册、活动报名等等功能都是需要用例辅助说明的。
用例文档的写作时间在原型设计之后,通常和PRD文档同步撰写。
用例文档中有两个关联文件,分别是用例图和流程图。
用例图是UML的一种类图表现方式,是从用户角度描述产品功能,并指出该用户在产品各功能中的操作权限。
流程图是通过线框图形的方式描述产品功能的处理过程,主要是描述功能的执行顺序、分支和循环的逻辑。
写用户文档的常用软件是Word,其中用例图和流程图的制作软件常用的是Visio,当然也有用Axure RP软件制作的,例如下面的第三步流程图就是用Axure RP制作的。
一份完整的用例文档分别是由以下三点内容组成,其中第3点的“用例”是描述功能逻辑的部分,根据功能的多少决定有多少个用例。
用例文档的大概组成部分如下:1、修改记录:每次修改的备注记录,同PRD文档。
2、角色介绍:描述参与系统中的各个角色3、用例:同下方步骤的第4步,其中第3步中的流程图是直接插入到第4步的流程图表格项中的。
用例文档的模板格式如同以上三点内容,通过Word文档绘制表格,在表格中撰写用例描述,表格的格式和样式参考以下示例图。
1、撰写用例文档的第一步是注明使用产品的各个角色(参与者)和角色说明(角色介绍)。
UML图例之⽤例图 ⽤例图主要⽤来描述“⽤户、需求、系统功能单元”之间的关系,在需求分析阶段,常会借助⽤例图,从⽤户的⾓度描述系统的功能,以图形可视化的⽅式作为开发团队与客户的交流,同时也有助于形成统⼀语⾔。
⼀、⽤例图描述 ⽤例图(Use Case Diagrame):描述了⼈们希望如何使⽤⼀个系统,将相关⽤户、⽤户需要系统提供的服务以及系统需要⽤户提供的服务更清晰的显⽰出来,以便使系统⽤户更容易理解这些元素的⽤途,也便于开发⼈员最终实现这些元素。
之所以说⽤例图⾄关重要,是由于⽤户并不关⼼系统的实现和内部结构,只关⼼产品所呈现出来的外部特征动态。
⽽⽤例图恰好就是描述软件产品外部特性的视图,它从⽤户的⾓度⽽不是从开发者的⾓度来描述需求,分析产品的功能和动态⾏为。
⼆、基本元素1、参与者(Actor),在系统外部与系统直接交互的⾓⾊或外部系统。
可通过与客户的沟通交流,确定利益相关⼈,进⽽确定参与者。
⾓⾊:通常是具体⼈承担着⾓⾊,这是最常见的参与者。
外部系统:如CRM系统要操作OA系统,以⽅便发送通知,那么针对OA系统的调⽤,CRM系统作为外部系统这⼀参与者。
时间:如存在定时任务操作或者类似操作等,则时间作为参与者2、⽤例客户通过对需求的描述(主要为功能需求),开发团队通过⽤例来体现系统功能和服务,通过参与者与⽤例的交互,来达到客户与开发团队的⽬标⼀致。
3、关联关系1)参与者与参与者间的泛化关系⽐如腾讯⽤户,包括微信⽤户和QQ⽤户两部分,但是使⽤腾讯业务时,只需要是腾讯⽤户即可,此时,可以采⽤泛化关系,采⽤三⾓空⼼箭头作为指向。
2)参与者与⽤例间的关联关系参与者与⽤例间是简单的关联关系,⼀个参与者可以有着多个⽤例3)⽤例与⽤例间的泛化关系⽤例之间可以存在泛化关系,⽐如常见的⽀付,可以选择微信⽀付、⽀付宝⽀付等等,但是这个操作就是⽀付。
泛化关系采⽤三⾓空⼼箭头。
4)⽤例与⽤例间的包含关系包含关系⽤来把⼀个较复杂⽤例所表⽰的功能分解成较⼩的步骤。
UML建模——⽤例图(UseCaseDiagram)⽤例图主要⽤来描述⾓⾊以及⾓⾊与⽤例之间的连接关系。
说明的是谁要使⽤系统,以及他们使⽤该系统可以做些什么。
⼀个⽤例图包含了多个模型元素,如系统、参与者和⽤例,并且显⽰这些元素之间的各种关系,如泛化、关联和依赖。
它展⽰了⼀个外部⽤户能够观察到的系统功能模型图。
【⽤途】:帮助开发团队以⼀种可视化的⽅式理解系统的功能需求。
⼀、⽤例图所包含的的元素1. 参与者(Actor)——与应⽤程序或系统进⾏交互的⽤户、组织或外部系统。
⽤⼀个⼩⼈表⽰。
2. ⽤例(Use Case)——⽤例就是外部可见的系统功能,对系统提供的服务进⾏描述。
⽤椭圆表⽰。
3. ⼦系统(Subsystem)——⽤来展⽰系统的⼀部分功能,这部分功能联系紧密。
⼆、⽤例图所包含的的关系 ⽤例图中涉及的关系有:关联、泛化、包含、扩展。
如下表所⽰: a. 关联(Association) 表⽰参与者与⽤例之间的通信,任何⼀⽅都可发送或接受消息。
【箭头指向】:⽆箭头,将参与者与⽤例相连接,指向消息接收⽅ b. 泛化(Inheritance) 就是通常理解的继承关系,⼦⽤例和⽗⽤例相似,但表现出更特别的⾏为;⼦⽤例将继承⽗⽤例的所有结构、⾏为和关系。
⼦⽤例可以使⽤⽗⽤例的⼀段⾏为,也可以重载它。
⽗⽤例通常是抽象的。
在实际应⽤中很少使⽤泛化关系,⼦⽤例中的特殊⾏为都可以作为⽗⽤例中的备选流存在。
【箭头指向】:指向⽗⽤例 c. 包含(Include) 包含关系⽤来把⼀个较复杂⽤例所表⽰的功能分解成较⼩的步骤。
包含关系对典型的应⽤就是复⽤,也就是定义中说的情景。
但是有时当某⽤例的事件流过于复杂时,为了简化⽤例的描述,我们也可以把某⼀段事件流抽象成为⼀个被包含的⽤例;相反,⽤例划分太细时,也可以抽象出⼀个基⽤例,来包含这些细颗粒的⽤例。
这种情况类似于在过程设计语⾔中,将程序的某⼀段算法封装成⼀个⼦过程,然后再从主程序中调⽤这⼀⼦过程。
UML用例图UML 用例图:准则在 Visual Studio 旗舰版中,可以绘制“用例图”来概括使用您的应用程序或系统的用户以及该应用程序或系统的用途。
若要创建UML 用例图,请在“体系结构”菜单上,单击“新建关系图”。
用例图有助于讨论和传达以下内容:您的系统或应用程序与人、组织或外部系统进行交互的几种方案。
它帮助参与者实现的目标。
系统的范围。
用例图不显示用例的详细信息:它只概括用例、参与者和系统之间的某些关系。
特别是,用例图不显示每个用例为实现目标所执行步骤的顺序。
可以在其他关系图和文档中描述这些详细信息,这些关系图和文档可与各用例相链接。
有关更多信息,请参见本主题中的详细描述用例。
您为用例提供的描述将使用与系统所用于的领域相关的一些词汇,如“销售”、“菜单”、“顾客”等。
明确定义这些词汇及其关系是非常重要的,您可以借助 UML 类图来进行定义。
有关更多信息,请参见 UML 类图:准则。
用例只处理系统的功能要求。
诸如业务规则、服务质量要求和实现约束等其他要求必须另外表示。
体系结构和内部细节也必须另外说明。
有关如何定义用户需求的更多信息,请参见用户需求建模。
本主题中使用的示例与顾客可在其上从本地餐馆订餐的网站有关。
“参与者”(1) 是与您的系统进行交互的一类人、组织、设备或外部软件组件。
例如,“顾客”、“餐馆”、“温度传感器”、“信用卡授权方”都是参与者。
“用例”(2) 表示一个或多个参与者为实现特定目标而执行的操作。
例如,“订餐”、“更新菜单”、“处理付款”都是用例。
在用例图中,用例与执行它们的参与者相关联 (3)。
“系统”(4) 是您开发的任何成果。
系统可以是小型软件组件,其中的参与者只是其他软件组件;系统也可以是完整的应用程序;系统还可以是部署在多台计算机和设备上的大型分布式应用程序套件。
例如,“订餐网站”、“送餐业务”、“网站版本2”都是子系统。
用例图可以显示系统或其子系统支持的用例。