软件工程5-用例建模课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件工程5-用例建模课件.pptx》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 建模 课件
- 资源描述:
-
1、1用例建模概念用例建模过程用例建模精讲建模工具介绍2银联银行客户自动提款机(ATM)转账转账日常维护日常维护系统维护人员 存款存款收取存款收取存款 柜员取款取款3系统系统是指待开发的任何事物,包括软件、硬件或者过程。是指待开发的任何事物,包括软件、硬件或者过程。系统边界系统边界:一个系统所包含的所有系统成分与系统以外各种事物的分界线一个系统所包含的所有系统成分与系统以外各种事物的分界线 系统边界会对用例以及系统边界会对用例以及Actor的定义有所影响的定义有所影响 考虑用于零售店销售管理的系统的用例图考虑用于零售店销售管理的系统的用例图 :4零售店销售管理零售店销售管理系统系统567参与者(参
2、与者(Actor)与系统交互的人或外部系统与系统交互的人或外部系统用例(用例(Use case)系统为参与者提供的有价值的服务功能系统为参与者提供的有价值的服务功能关联(关联(Association)用例图中用例与参与者之间的交互关系用例图中用例与参与者之间的交互关系Use CaseActorActor8 与系统交互的人与系统交互的人 与系统交互的硬件组件与系统交互的硬件组件 或者其他的外部系统或者其他的外部系统 关注的重点是所承担的关注的重点是所承担的“角色角色”参与者的名参与者的名字字要明确定义其角色要明确定义其角色9张跃张跃和和李玫李玫都都具有学生角色具有学生角色张跃张跃同时也具同时也具
3、有教授的角色有教授的角色学生学生教师教师注册课程注册课程提交成绩提交成绩韩蕾韩蕾:数学系的数学系的教师教师 软件软件学院的博士生学院的博士生李明李明:软件学院本科生软件学院本科生10 定义一个参与者要用到的定义一个参与者要用到的系统功能系统功能 描述系统为实现参与者价值所开展的描述系统为实现参与者价值所开展的行为序列行为序列 对参与者与系统之间的对参与者与系统之间的交互活动交互活动进行建模进行建模 从特定的用户角度出发是完整的,实现特定用户价值的事件从特定的用户角度出发是完整的,实现特定用户价值的事件流流11定义系统系统的一系列行为行为,通过此可为参与者参与者提供有价值有价值且可观测可观测的结
4、果。一个用例一个用例Use Case NameActor 1Actor 2Actor 3Use Case 参与者与用例之间的交互通道参与者与用例之间的交互通道 用一用一条条直线表示交互直线表示交互关联关联 有箭头的关联指出是谁发起的交互有箭头的关联指出是谁发起的交互 没有箭头则表明双方都可以发起交互没有箭头则表明双方都可以发起交互12(1)找出系统外部的参与者和外部系统,确定系统的边界和范围;(2)确定每一个参与者所期望的系统行为;(3)把这些系统行为命名为Use Case;(4)使用泛化、包含、扩展等关系处理系统行为的公共或变更部分;(5)编制每一个Use Case的脚本;(6)绘制Use
5、Case图;(7)区分主事件流和异常情况的事件流,可以把表示异常情况的事件流作为单独的Use Case处理;(8)细化Use Case图,解决Use Case间的重复与冲突问题。13谁使用系统的功能?谁使用系统的功能?谁需要系统支持他们的日常工作?谁需要系统支持他们的日常工作?谁来维护、管理系统使其正常工作?谁来维护、管理系统使其正常工作?哪些其他系统使用该系统?哪些其他系统使用该系统?系统需要与其他哪些系统交互?系统需要与其他哪些系统交互?系统需要控制哪些硬件?系统需要控制哪些硬件?对系统产生结果感兴趣的是哪些人或物?对系统产生结果感兴趣的是哪些人或物?是否有事情在预计的时间自动发生?是否有
6、事情在预计的时间自动发生?1415参与者规格说明参与者规格说明参与者名称参与者名称:顾客 是否抽象参与者是否抽象参与者:否简要描述简要描述:使用ATM系统提取现金、转移资金和存款的所有用户,这些用户持有相应的银行卡且知道银行卡对应账号的密码。是否找全所有的参与者?是否对系统环境中所有的角是否找全所有的参与者?是否对系统环境中所有的角色进行了描述和建模?色进行了描述和建模?每个参与者是否至少与一个用例发生了交互?每个参与者是否至少与一个用例发生了交互?是否可以为每一个角色找到至少两个实例?是否可以为每一个角色找到至少两个实例?不同参与者与系统的交互是否一致,扮演的角色是否不同参与者与系统的交互是
7、否一致,扮演的角色是否相似?如果有,则应该要合并这些参与者作为同一种相似?如果有,则应该要合并这些参与者作为同一种角色角色 16参与者目标目标 2我想通过这个系统达到什么目的?我想通过这个系统达到什么目的?目标目标 1基本策略:基本策略:把自己当作参与者,与设想中的系统进行交互。把自己当作参与者,与设想中的系统进行交互。注意:注意:寻找用例和寻找参与者的过程是寻找用例和寻找参与者的过程是不能截然分开的不能截然分开的17 参与者希望系统提供哪些功能?参与者希望系统提供哪些功能?系统存储信息吗?参与者将要创建、读取、更新或删系统存储信息吗?参与者将要创建、读取、更新或删除什么信息?除什么信息?系统
8、是否需要把自身内部状态的变化通知给参与者?系统是否需要把自身内部状态的变化通知给参与者?系统必须知道哪些外部事件?参与者如何通知系统这系统必须知道哪些外部事件?参与者如何通知系统这些事件?些事件?系统需要进行哪些维护工作?系统需要进行哪些维护工作?1819 用例简述用例简述:一段简洁的摘要,主要描述用例的成功场景 下订单下订单:客户带着要购买的货物到收款处,收银员使用POS机扫描记录每一种预购买的货物。系统计算总价并打印清单。客户付款,系统验证并保存销售记录。系统更新库存,客户得到收条并带着货物离开。2021客户代表客户代表系统系统记帐系统记帐系统 1.收到一个取消订单的请求 2.输入订单的标
9、识号 4.选择取消 3.显示订单内容 5.给该订单打上取消标记 6.向客户账号增加订单 支付的资金 用例建模是为了表示系统的行为。通过模型可以很容用例建模是为了表示系统的行为。通过模型可以很容易理解系统进行的操作易理解系统进行的操作 应该识别出所有的用例,用来表达所有的需求。应该识别出所有的用例,用来表达所有的需求。系统的任何一个特性都可以找到对应的用例系统的任何一个特性都可以找到对应的用例 用例模型并不包含多余的行为;所有的用例可以追溯用例模型并不包含多余的行为;所有的用例可以追溯到系统的功能性需求作为验证。到系统的功能性需求作为验证。去掉所有的去掉所有的CRUD 类的用例类的用例 创建创建
10、(Create),查找(Retrieve),更新(Update),删除(Delete)22选择转入账号选择转入账号选择选择“查询余额查询余额”选择选择“取款取款”23转账(Transfer Funds)24 问题现象问题现象 非常细小的用例非常细小的用例 用例过多用例过多 没有实际价值的用例没有实际价值的用例 通过底层操作进行命名通过底层操作进行命名“操作操作”+“对象对象”“功能功能”+“数据数据”例如:例如:“插入卡片插入卡片”修改思路:修改思路:寻找更大的应用场景寻找更大的应用场景“为什么要构建这个系统?为什么要构建这个系统?”从一个用户的角度出发从一个用户的角度出发“用户希望达到什么目
11、的用户希望达到什么目的?”“这个用例可以满足谁的目标这个用例可以满足谁的目标?”“这个用例的意义是什么这个用例的意义是什么?有什么价值有什么价值?”“这个用例背后的用户故事是什么这个用例背后的用户故事是什么?”25 当多个用例有共享行为时,使用包含关系当多个用例有共享行为时,使用包含关系 为共享行为单独创建用例,被相关用例为共享行为单独创建用例,被相关用例“包含包含”26 一个用例与另外一个用例近似,只有少许额外的活动一个用例与另外一个用例近似,只有少许额外的活动 将代表普遍或基本行为的情况定义为一个用例将代表普遍或基本行为的情况定义为一个用例 将特殊的、例外的部分定义为扩展用例将特殊的、例外
展开阅读全文