用况建模
概念
-
用况建模
-
- 用况建模是用于描述一个系统应该做什么的建模技术。用用况图来描述。
-
- 用况图展示了各类外部执行者与系统所提供的用况之间的连接。
-
- 一个用况是系统所提供的一个功能的描述,执行者与用况的连接表示该执行者使用了那个用况。
步骤
-
- 定义系统
-
- 确定执行者
-
- 确定用况
-
- 描述用况
-
- 定义用况间的关系
-
- 确认模型
确定执行者
1.执行者是指与系统交互的人或其它系统代表一种角色,而不是具体的某个人
2.主执行者使用系统的主要功能,副执行者处理系统的辅助功能
3.主动执行者开始一个用况被动执行者从不开始用况,只是参与一个或多个用况
用况的特征
1.用况总是被执行者启动的,执行者必须直接或间接地指示系统去执行用况
2.用况向执行者提供的值必须可识别
3.用况是完整的,一个用况必须是一个完整的描述
4.用况是一个类,而不是实例,用况的实例称为场景
描述用况
1.通常用正文来描述或活动图来描述 。用况的正文描述应包括以下内容:
2.用况的目的
3.用况是如何启动的
4.执行者和用况之间的消息流
5.用况中可供选择的流
6.如何通过给执行者一个值来结束用况
确定用况
用况的详细描述
》》前置条件和后置条件
表示用况开始和结束的条件
》》事件流(flow of events)
事件流是一系列陈述句,它是从执行者的角度,列出用况各个步骤用况描述中可以包含条件、分支和循环。
描述用况
举个栗子:
用况名称:订购货物
参与的执行者:客户、客户代表
前置条件:一个合法的客户已经登录到这个系统
事件流:
(1)当客户选择订购货物时,用况开始
(2)客户输入他的姓名和地址
(3)如果客户只输入邮编,系统将给出州和城市名
(4)当客户输入产品代码
a. 系统给出产品描述和价格
b. 系统往客户订单中添加该物品的价格
循环结束
(5)客户输入信用卡支付信息
(6)客户选择提交
(7)系统检验输入的信息。如果客户提交的信息不正确,系统将提示客户修改。
(8)当支付确认后,用况也就结束了。如果支付没有被确认,系统将提示客户改正支付信息或者取消。如果客户选择修改信息,就回到第5步;如果选择取消,用况结束。
》》后置条件:如果订单没有被取消,它将保存在系统中,并做上标记
》》其他需求
事件流
》》基本路径
是运转正常时的路径,是没有分支和选择的简单陈述句
》》可选路径
不同于基本路径而允许不同的事件序列的路径。
例如:
如订购货物用况的基本路径:
1.当客户选择订购货物时,用况开始
2.客户输入他的姓名和地址
3.当客户输入产品代码时
a. 系统给出产品描述和价格
b. 系统往客户订单中添加该物品的价格
循环结束
4. 客户输入信用卡支付信息
5. 客户选择提交
6. 系统检验输入的信息,保存订单,向记账系统转发支付信息
7. 支付确认后,订单已确认,返回给客户一个订单ID,用况结束
举个实例:
用况图如下
1.识别执行者:
客户
银行职员(用户代理)
银行职员(管理人员)
系统管理员
其他银行账户管理系统
2.确定用况
看图
3.描述用况
用况名称:转账
参与的执行者:银行职员(客户代理),客户,其他银行账户管理系统
前置条件:一个合法的银行职员(客户代理)已登录到该系统,用户有该银行的账户
事件流:
1.当选择转账功能用况开始
2.用户提供自己的账号
3.从系统中获取账号,判断账号是否存在(合法性),如果合法则继续,不合法则返回第二步
4.请客户输入密码
5.询问是银行间转账还是银行内转账,银行间转账则完成6,7,9步,银行内转账完成6,7,8步
6.询问转账金额,如果金额超出账户中的数则返回第6步,合法则继续
7.请客户输入交易密码,密码正确继续,错误返回第7步
8.转账完成,在数据库中修改信息,打印票据,用况结束
9.转账完成,修改本银行该账户,向其他银行提供转账信息,修改数据,打印票据,用况结束。
后置条件:在数据库中该账户的金额和转账账户的数据修改。
用况名称:取款
参与的执行者:银行职员(客户代理),客户
前置条件:一个合法的银行职员(客户代理)已登录到该系统,用户有该银行的账户
事件流:
1.当选择转账功能用况开始
2.用户提供自己的账号
3.从系统中获取账号,判断账号是否存在(合法性),如果合法则继续,不合法则返回第二步
4.询问取款金额,如果金额超出账户中的数则返回第4步,合法则继续
5.请客户输入支付密码,正确则继续,错误则返回第5步
6.修改数据库数据,将数据减少取出的值
7.打印凭据(小票),交钱确认,用况结束。
后置条件:在数据库中该账户的金额数据修改,客户得到取款的钱。
活动图如下: