第一题:用例图

重要概念:

1.采用参与者和参与者目标的观点:

  一组用例实例,每个实例是系统所执行的一系列活动,以此产生对特定参与者具有价值的客观结果

  短语“对特定参与者具有价值的客观结果”是细微而又重要的概念,它主要强调了需求分析的两个态度。

    · 关注系统的用户或参与者来编写需求,询问其目标和典型情况。

    · 关注理解参与者所考虑的有价值结果。

2.如何发现用例

  具体步骤:

  (1)选择系统边界

  (2)确定主要参与者

  (3)确定每个主要参与者的目标

  (4)定义满足用户目标的用例,根据其目标对用例命名

  

  在(2)(3)中,应做到对全面分析。在确定主要参与者与参与者的目标之后,我们需对参与者和目标进行组织,主要有两种方法:

  a. 发现结果,将其绘制成用例图,以目标作为用例名称。

  b. 首先写出参与者-目标列表,复审并精化之,然后绘制用例图。

  

  在确定用例的主要参与者时,我们应该时刻围绕着一个问题“参与者的目标(其结果具有可量化的价值)是什么”。明白了这个问题之后,即可对主要参与者及其目标做出准确判断。

  

  定义用例时,一般来说,为每个用户目标分别定义用例。用例的名称应和用户目标相类似,在命名时一定要注意:用例名称应使用动词开头

绘制要点:

  具体方法见http://www.cnblogs.com/xiaolongbao-lzh/p/4590897.html

注意事项:

1、在图里面不许出现有“什么什么界面”“什么什么菜单”“什么什么功能”“什么什么按钮”之类的字眼

2、图中必须要有系统边界

3、必须要有系统名称

4、用例名称应以动词开头,不可只出现名词却没有出现动词

5、 一定要有一个include或者一个extend,不需要两种都有,搞不清楚二者的区别全都写include就好了。

  如果是extend,一定是虚线箭头指向父用例,代表从父用例扩展出来,如果是include,一定是虚线箭头指向子用例,代表包含子用例。

6、所有的用例都必须和actor关联,关联线一定是没有箭头的。

7、 如果是手机的APP,右边的支持性参与者常用的有device或传感器,GPS,加速传感器,但是支持性参与者不能写在左边,一定是写在右边

  主参与者一定画在左边

8、画用例是画有用的用例,不能出现“登陆”或者“login”这种对系统没有贡献的字眼

9、一个用例就是一个基本业务流程:做事过程中间是不能停顿的。但是不可以把所有功能堆积到一个用例里面,画在一个用例里说明你认为所有功能必须一次性完成,不能中断,这个是错误的

10、size原则:用例不是操作,不要把每一个操作都拿出来做一个单独的用例,比如输入地点等等。

  如何判断是否符合size原则:这个功能是否有一个单独的界面

  这意味着每一个用例都有一个单独的交互过程

11、用例图不可层次太多!(大于4层一定扣分)只关注如何服务,有何设备参与,故不可太多层

12、用例选择:重点关注系统提供什么服务、人如何使用系统

试题答案:

  

UML期末复习题——2.1:Use Case Diagram的更多相关文章

  1. UML期末复习题——2.6:Package Diagram

    第六题 包图 重要概念: 1.包图(package Diagram) 由若干个包以及包之间的关系组成.包是一种分组机制,其将一些相关的类集合为一个包,形成高内聚,低耦合的类集合,可以说,一个包相当于一 ...

  2. UML期末复习题——2.8:UML Design Class Diagram(DCD)

    第八题:设计类图 重要概念: 1. 类图(Class Diagram): 类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础.类图主要是用来显示系统中的类.接口以及它们之间的静态结构和关系 ...

  3. UML期末复习题——2.9:UML Deployment Diagram

    附加题:部署图 重要概念: 1. 部署图 部署图表示的是,如何将具体的软件制品(例如可执行文件)分配到计算节点(具有处理服务的某种事物)上.部署图表示了软件元素在物理架构上的部署,以及物理元素之间的通 ...

  4. UML期末复习题——2.7:UML Sequence Diagram

    第七题:顺序图 重要概念: 1. 顺序图的主要介绍,在之前对第5题“系统顺序图”的解析讲解里已经很详细了,在这里只是对部分不全面的内容进行补充. 第五题:系统顺序图&后置条件 http://w ...

  5. UML期末复习题——2.5:System Sequence Diagram & Post-condition

    第五题:系统顺序图 重要概念: 1.对象: 对象是特定行为与属性的集合. 对象的表示方式有三种: a.包括对象名和类名 b.只有类名. c.只有对象名 2.消息表示形式: 消息用于描述对象间交互的方式 ...

  6. UML期末复习题——2.3:UML State Diagram

    第三题  状态图 重要概念: 1.定义:事件.状态和转换: 事件:指一件值得注意的事情的发生. 状态:指对象在事件发生之间某时刻所处的情形. 转换:两个状态之间的关系.它表明当某事件发生时,对象从先前 ...

  7. UML期末复习题——2.2:UML Activity Diagram.

    第二题:活动图 重要概念: 活动图:一种有助于使工作流和业务过程可视化的图. 绘制要点: 具体方法见:http://www.cnblogs.com/xiaolongbao-lzh/p/4591953. ...

  8. UML建模——用例图(Use Case Diagram)

    用例图主要用来描述角色以及角色与用例之间的连接关系.说明的是谁要使用系统,以及他们使用该系统可以做些什么.一个用例图包含了多个模型元素,如系统.参与者和用例,并且显示这些元素之间的各种关系,如泛化.关 ...

  9. UML期末复习题——2.4:Domain Model

    第四题:领域模型 重要概念: 1. 领域模型:是对领域内的概念类或现实世界中对象的可视化表示.领域模型也称为概念模型,领域对象模型和分析对象模型. 2. 应用UML表示法,领域模型被描述为一组没有定义 ...

随机推荐

  1. mysql打印用户权限的小技巧

    mysql5.5 5.6 SHOW GRANTS FOR mysql> SELECT DISTINCT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host ...

  2. 参数化查询防止Sql注入

    拼接sql语句会造成sql注入,注入演示 namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() ...

  3. linux使用glibc版本安装mysql8.0.12

    1.前言 使用yum安装虽然很方便,但是如果要是在没有公网的环境下,是没有办法使用yum源的.所以我们可以使用mysql提供的glibc版本的安装包,进行安装. 但是在安装之前,一定要将以前的版本删除 ...

  4. kernel源代码标记:mainline 、longterm、stable、linux-next、snapshot的含义

    mainline .longterm.stable.linux-next.snapshot这些名词,都是linux kernel source的标记名称,可以理解为代号. mainline mainl ...

  5. 异常-ERROR yarn.ApplicationMaster: User class threw exception: java.sql.SQLException: Communications link failure

    1 详细异常信息 ERROR yarn.ApplicationMaster: User class threw exception: java.sql.SQLException: Communicat ...

  6. ubuntu 14.04 登录 界面 root

    打开终端. sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 在弹出的编辑框里输入:greeter-show-manual-log ...

  7. MySQL数据库的基本认识与操作

    Mysql是一个数据库,但是我们安装的mysql数据库服务,服务就会有状态,启动,停止,重启.我们使用mysql必须保证mysql启动. 使用mysql数据库需要连接数据库 Mysql -u -p - ...

  8. 搭建nginx文件服务器

    一.安装nginx服务 apt install nginx 二.修改nginx配置文件 cd /etc/nginx/conf.d/ vim download_server.conf server { ...

  9. ndk学习之c++语言基础复习----C++容器、类型转换、异常与文件流操作

    继续来复习C++,比较枯燥,但是这是扎实掌握NDK开发的必经之路,不容小觑. 容器: 容器,就是用来存放东西的盒子. 常用的数据结构包括:数组array, 链表list, 树tree, 栈stack, ...

  10. nodejs常用框架使用样例

    Koa const Koa = require('koa'); const router = require('koa-router')(); const app = new Koa(); const ...