画用例图

article/2025/9/7 17:59:13

用例图。

组成:系统边界。参与者。用例。关系。

参与者:Actor不是人,而是指参与用例时担当的角色。

如果一个角色的操作是由另一个角色代理完成的,请建立该角色到另外角色之间的依赖。

怎样识别参与者呢?

  1. 是谁向系统提供的信息呢.

  2. 谁向系统获取信息。

  3. 谁操作系统。

  4. 系统使用哪些外部资源

  5. 系统是否和已经存在的系统交互

系统、子系统或类与外部的参与者(actor)交互的动作序列的说明,包括各种序列及出错序列。

用例分析可以认为是对系统功能的分解。

怎样确定用例的粒度呢?

用例的粒度(用例的大小)可大可小,一般一个系统易控制在20个左右。用例是系统级的抽象的描述,不是细化的(是做什么,非怎样做)。对复杂系统可以划分为若干个子系统处理。

怎样获取用例呢?

参与者希望系统执行什么任务?

参与者在系统中访问哪些信息(创建、存储、修改、删除等)?

需要将外界的哪些信息提供给系统?

需要将系统的那个事件告诉参与者?

如何维护系统?

UML中的四种关系。

关联(association)

包含(include)

扩展(extend)

泛化(generalization)

关联关系

描述参与者和用例之间的关系。

用单向箭头,表示谁启动用例。

每个用例都有角色启动,除了包含和扩展用例。

包含。

是指两个用例之间的关系。其中一个用例(基本用例,base use case)的行为包含了另一个用例(包含用例,inclusion use case)的行为。

如果两个以上用例有大量一致的功能,则可以将这个功能分解到另一个用例中,其他用力拉可以和这个用例建立包含关系。

上面的例子就是说查询、提款和转账三个用例都有一个一致的功能,所以将这个功能提取出来为一个用例。且这三个用例和提取出的这个用例之间是包含的关系。

执行基本用例的时候也可以执行被包含的用例,被包含的用例也可以单独执行。

如果一个用例的功能太多时,可以用包含关系建模成两个或多个小用例

扩展。

也是指两个用例之间的关系。一个用例可以被定义为基础用例的增量的扩展,称作为扩展关系。扩展关系是把新的行为插入到已有的用例中方法。基础用例即使没有扩展用例的执行不会涉及扩展用例,只有在特定的条件发生,扩展用例才被执行。

泛化(继承)。

一个用例和其几种情形的用例间构成泛化关系。往往父用例表示为抽象用例。

任何父用例出现的地方子用例也可出现。

1 对用例的描述。

  1. 用例图:只能描述系统的大概功能,是一种视图。

  2. 用例描述:更详细地描述用例的功能。

2 用例描述的组成

    用例名称,简要说明/描述,优先级,参与者,前置条件,基本事件流,其他事件流,扩展点,后置条件。

事件流:就是用例执行时,由一序列活动组成的控制流。

基本事件流:对用例中常规、预期路径的描述。

扩展事件流:主要是对一些异常情况、选择分支进行描述。

前置条件:在用例启动时参与者(actor)与系统应置于什么状态。

后置条件:用例结束时系统应置于什么状态。

以上述的"新增书籍信息"为例,说明如何细化用例描述。

  1. 用例的概要描述

    用例名称:新增书籍(UCO1)

    简要说明:录入新购书籍信息,并自动存储建档。

    事件流:基本事件流和扩展事件流。

    非功能需求

    前置条件:用户进入图书管理系统。

    后置条件:完成新书信息的存储建档。

    扩展点:无

    优先级:高(满意度 5 ,不满意度5 )

  2. 详细描述

    基本事件流

  • 图书管理员向系统发出"新增书籍信息"请求。

  • 系统要求图书管理员选择要增加的书籍是计算机类还是飞信计算接类

  • 图书管理员做出选择后,显示相应界面,让图书管理员输入信息,并自动根据书号规则生成书号。

  • 图书管理员输入书籍的相关信息,包括:书名、作者、出版社、ISBN号、开本。页数、定价。是否有CD-ROM。

  • 系统确认输入的信息中书名没有重名。

  • 系统将所输入的信息存档建档。

扩展事件流。

  • A 如果输入的书名有重名现象,则显示出重名的书籍,并要求图书管理员选择修改书名或取消输入。

  • A(1)图书管理员选择取消输入,则结束用例,不做存储建档工作。

  • A(2)图书管理员选择修改书名后,转到A。

如下例所示建立用例模型。

有一个业务需求如下,要求我们为其构件一个用例图。

1)系统可以供教师使用来为学生记录成绩。

2)系统根据需要创建报告卡。

  1. 系统允许用户浏览记录的成绩。

    首先这里面要问到的是:11)中教师可以记录学生信息,这就是说教师可以录入、修改和删除学生信息了。22)中系统要创建报告卡,是谁来创建报告卡呢?这里就应该有权限的问题了,系统需要管理人员来来执行这项工作,另一个方面做系统的维护工作。报告卡创建后干什么?管理人员检查其准确性之后,由教师来分发报告卡。33) 系统允许用户浏览成绩,是谁可以浏览成绩呢?是学生和老师。

  2. 从中得到这个系统的参与者是:教师,学生,管理员。

    主要用例:录入成绩。更新成绩。生成报告卡。报告卡准确性。分发报告卡。浏览成绩。

    要区分用例的优先级。

    首先是 :记录成绩,浏览成绩,更新成绩,生成报告,检查报告卡的准确性,分发报告卡。

    细化每一个用例。

    对"记录成绩"进行细化,下面是对该用例的主事件流。

  • 首先是教师要确定录入哪些学的成绩。

  • 系统中要确保学生在数据库中。

  • 教师说明记录哪像作业的成绩。

  • 系统开始数据库的一些事物。

  • 系统为学生把作业加入到数据库中。

  • 教师输入学生作业的成绩。

  • 系统核对输入的成绩是否符合正确的范围和格式。

  • 系统记录作业的成绩。

  • 系统结束事物的处理。

  • 系统提示教师成绩已经记录好。

从细分的用例中发现新的用例,并根据优先级重新排列。

机房收费系统的用例图。

1、首先是分析系统中的角色(Actor)。

谁向系统提供信息?-----学生

谁从系统获取信息?----学生、管理员、操作员、一般用户

谁操作这个系统呢?--一般用户、操作员、管理员。

谁维护这个系统呢?---管理员。

系统要使用的外部资源?---数据库。

系统是否和已经存在的系统交互?---好像没有。

从中找出这个系统的Actor---(学生、一般用户、管理员、数据库)

  1. 基本Use case。

    找出的参与者希望系统执行什么任务?

    学生---去注册卡号,后充值,上机,下机,付钱,查看信息(查看自己的个人信息,上机信息,卡内的余额信息),不想用了就注销卡号。(学生的需求是要通过系统用户对系统的操作来完成的。所以学生和系统用户这两个角色之间是关联关系。)

    一般用户—主要是用这个系统来管理学生上下机。可以登录到系统中去,后学生刷卡上机,显示上机的学生的记录,显示登录时间,查看学生上机状态,学生下机,显示下机时间和消费金额,可以修改自己的密码,查询余额。

    操作员---主要是用这个系统为学生进行注册充值以及查询一些信息。登录到系统中去,可修改密码,根据学生的要求使用系统来,注册,充值,退卡,注册后充值可以查看收取金额,学生基本信息维护,学生上机统计信息,最后退卡时,查看金额退还信息来退还相应的钱数。最后可以查看老师和自己的工作记录。

    管理员---登录到系统中去,可以修改密码以确保安全性。利用这个系统可以对学生的上下机情况查看。可以对一般用户和操作员的工作记录查看。

    参与者在系统中访问哪些信息(创建、存储、修改、删除等)?

            参与者在系统中需要访问

    需要将外界哪些信息供给系统?

外界提供给本系统的信息是---学生信息、系统时间信息、系统用户信息。

需要将系统的哪个事件告诉参与者?

        ……无……

如何维护系统?

            管理员负责对系统的维护-----基本数据的设定。

        用例图如下所示:

学生和一般用户的用例图。

学生和操作员的用例图。

学生和管理员用例图所示:


http://chatgpt.dhexx.cn/article/8u0BkDFh.shtml

相关文章

用例图示例

定义系统边界可确定系统内部和外部之间的界限。 主角代表外部对象所扮演的角色。一个对象可以扮演若干角色,因此可由若干主角来代表。 通信关系用于阐明用例中主角的参与情况。 用例是主角通过系统完成一个过程时出现的一组事件。通常,用例是较大的…

用例、用例图

01 基本概念 黑盒:系统对外部的客观世界发挥什么作用,提供什么业务功能来展现系统。 白盒:系统如何提供业务服务功能的。 系统边界:一个系统与系统以外的各种事物的分界线系统:是由“用户”使用的软件,以…

用例图

一. 从上面的用例图模型,我们可以大致了解用例图所描述的是什么。下面进行详细介绍。 用例图,即用来描述什么角色通过某某系统能做什么事情的图,用例图关注的是系统的外在表现,系统与人的交互,系统与其它系统的交互。 用例图有三种…

【UML】— 用例图

一.元素: 1.角色、用例(功能描述)、关系(泛化、依赖、关联、实现) 2.元素含义: Actor 1. 可以是人、事、物 2. 分析角色考虑的因素:直接使用系统的人、维护人员、外设(人、打印机&am…

用例图(Use Case Diagram)说明

UML建模——用例图&#xff08;Use Case Diagram&#xff09; </h1><div class"clear"></div><div class"postBody"><div id"cnblogs_post_body" class"blogpost-body blogpost-body-html">注&#xf…

UML—用例图的那些事

目录 背景: 1.用例图的发展史 过程: 1.用例图中的元素和关系 2.应用中的例子 总结&#xff1a; 背景: 1.用例图的发展史 用例图是一种常用的软件工程工具&#xff0c;用于描述系统的功能需求和用户与系统的交互。它在软件开发过程中起到了重要的作用&#xff0c;并且经历了…

软件工程 -- 用例图

1.用例图&#xff1a;一幅用例图包含的模型元素有系统&#xff0c;行为者&#xff0c;用例及用例之间的关系 系统系统被看作是一个提供用例的黑盒子&#xff0c;内部如何工作&#xff0c;用例如何实现&#xff0c;这些对于建立用例模型来说都不重要。代表系统的方框的边线表示…

用例图2.0

顶层用例图&#xff1a; 查看玩家信息用例图&#xff1a; 查看玩家信息场景描述 用例名称 查看玩家信息 范围 玩家信息查看和修改 级别 子功能 主要参与者 玩家 涉众及其关注点 玩家&#xff1a;希望能够准确、快速地查看自己的信息和战绩。页面简洁易于截屏分享&a…

尝试使用Bouml创建用例图

文章目录 一、下载Bouml二、安装Bouml三、使用Bouml&#xff08;一&#xff09;创建项目&#xff08;二&#xff09;创建子包&#xff08;三&#xff09;创建用例图 Bouml是一个免费的UML 2工具箱&#xff0c;支持C&#xff0c;Java以及Idl。 一、下载Bouml 官网&#xff1a;…

软件工程-用例图

用例图简介&#xff1a; 用例图&#xff08;英语&#xff1a;use case diagram&#xff09;是用户与系统交互的最简表示形式&#xff0c;展现了用户和与他相关的用例之间的关系。通过用例图&#xff0c;人们可以获知系统不同种类的用户和用例。用例图也经常和其他图表配合使用…

[BoUML]用例图

使用BoUML可以轻松绘制用例图. *注意扩展关系的箭头(扩展了谁?),详细的有关箭头方向&#xff0c;可以参考:http://blog.csdn.net/TangZhongxin/article/details/4640248 有些书上的箭头方向都会指错&#xff0c;读的时候要小心!

asp.net_DropDownList应用

记录三个DropDownList的实践操作 1. 先上效果图 多选框选择其中一个选项&#xff0c;多行文本框输出这个选项的基本数据&#xff0c;以及下面的两个按钮的功能。 前端代码&#xff1a; <% Page Language"C#" AutoEventWireup"true" CodeFile"D…

mvc html dropdownlist,ASP.NET MVC中使用DropDownList地详解

DropDownList控件又称下拉列表框控件,DropDownList控件动态连接到数据库,按指定 条件从数据库 中查询 出列表选项数据,然后绑 定到控件,可以方便快速地显示出多个下拉选 项 。 同时 ,通过修 改数据库 中数据 ,可 以动 态改 变下 拉选项 在ASP.NET MVC中,尽管我们可以直接…

DropDownList 绑定数据

如何使用DropDownList 控件绑定数据呢&#xff0c;今天我们来介绍一下比较常用的一种方法——前后台结合方式&#xff1a; 首先&#xff0c;我们需要拉一个DropDownList 控件&#xff1a; 然后&#xff0c;通过控件配置SqlDataSource数据源&#xff0c;选择合适的数据表&#…

jQuery 如何得到 scrollHeight 的值

之前为了得到div的scrollHeight的值&#xff0c; 一直写法是这样的&#xff1a; $(#box)[0].scrollHeight; 今天我知道了另外一个方法&#xff1a; $(#box).prop(scrollHeight); 注意&#xff1a; $(#box).arrt(scrollHeight); 这个写法是undefined值

scrollHeight,clientHeight,scrollTop

移动端加载数据时&#xff0c;由于数据太多&#xff0c;不会一次性全部加载出来。有些会采用pc端那样用分页码的形式&#xff0c;但是更多的确实滑动滚动条到内容最后&#xff0c;加载更多内容出来。一般引入了三方的前端框架和插件&#xff0c;基本都会有此功能。偶尔会需要采…

前端中的scrollHeight 、scrollTop、clientHeight等意思

要记住 通过 标签.style.width是获取不到宽度的&#xff0c;如果必须要获取可以通过clientWidth&#xff0c;或者是offsetWidth 完成这个动作需要先知道三个高度&#xff1a; scrollHeight 文档内容实际高度&#xff0c;包括超出视窗的溢出部分 scrollTop 滚动条距元素…

一张图让你搞懂scrollHeight、offsetHeight等

名称属性说明clientTop只读clientTop 表示一个元素的顶部边框的宽度&#xff0c;不包括左外边距和左内边距。top可写该属性规定了元素的顶部位置&#xff0c;包括&#xff1a;内边距、滚动条、边框和外边距。scrollTop可写scrollTop表示被选元素的垂直滚动条位置offsetTop只读元…

document.body.scrollHeight 取值不变

遇到一个奇葩的问题,document.body.scrollHeight一直不变,不会因为content 内容的高度而变化 原因: 就是因为下面这个样式设定,overflowX.

scrollHeight的值一直为0,怎么办?

注意&#xff1a;要使用ref&#xff0c;不要使用document.getElementById&#xff0c;不然得不到scrollHeight真实的值。 如下&#xff1a; chatform的值一直为0&#xff0c;而listheight的值是有的