好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

软件工程5-用例建模课件.pptx

41页
  • 卖家[上传人]:des****85
  • 文档编号:304136204
  • 上传时间:2022-06-04
  • 文档格式:PPTX
  • 文档大小:1.12MB
  • / 41 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 用例建模1用例建模用例建模用例建模概念用例建模过程用例建模精讲建模工具介绍2用例模型的表示用例模型的表示- -用例图用例图银联银行客户自动提款机(ATM)转账转账日常维护日常维护系统维护人员 存款存款收取存款收取存款 柜员取款取款3系统系统系统系统是指待开发的任何事物,包括软件、硬件或者过程是指待开发的任何事物,包括软件、硬件或者过程系统边界系统边界:一个系统所包含的所有系统成分与系统以外各种事物的分界线一个系统所包含的所有系统成分与系统以外各种事物的分界线 系统边界会对用例以及系统边界会对用例以及Actor的定义有所影响的定义有所影响 考虑用于零售店销售管理的系统的用例图考虑用于零售店销售管理的系统的用例图 :4零售店销售管理零售店销售管理系统系统系统边界定义之一系统边界定义之一5系统边界定义之二系统边界定义之二6系统边界定义之三系统边界定义之三7用例图的主要元素用例图的主要元素参与者(参与者(Actor)与系统交互的人或外部系统与系统交互的人或外部系统用例(用例(Use case)系统为参与者提供的有价值的服务功能系统为参与者提供的有价值的服务功能关联(关联(Association)用例图中用例与参与者之间的交互关系用例图中用例与参与者之间的交互关系Use CaseActorActor8参与者的定义:关注角色参与者的定义:关注角色 与系统交互的人与系统交互的人 与系统交互的硬件组件与系统交互的硬件组件 或者其他的外部系统或者其他的外部系统关注的重点是所承担的关注的重点是所承担的“角色角色”参与者的名参与者的名字字要明确定义其角色要明确定义其角色9参与者定义与角色划分参与者定义与角色划分张跃张跃和和李玫李玫都都具有学生角色具有学生角色张跃张跃同时也具同时也具有教授的角色有教授的角色学生学生教师教师注册课程注册课程提交成绩提交成绩韩蕾韩蕾: : 数学系的数学系的教师教师 软件软件学院的博士生学院的博士生李明李明: : 软件学院本科生软件学院本科生10 定义一个参与者要用到的定义一个参与者要用到的系统功能系统功能 描述系统为实现参与者价值所开展的描述系统为实现参与者价值所开展的行为序列行为序列 对参与者与系统之间的对参与者与系统之间的交互活动交互活动进行建模进行建模 从特定的用户角度出发是完整的,实现特定用户价值的事件从特定的用户角度出发是完整的,实现特定用户价值的事件流流11定义系统系统的一系列行为行为,通过此可为参与者参与者提供有价值有价值且可观测可观测的结果。

      一个用例一个用例Use Case Name什么是用例什么是用例交互交互-关联(关联(AssociationAssociation)Actor 1Actor 2Actor 3Use Case 参与者与用例之间的交互通道参与者与用例之间的交互通道 用一用一条条直线表示交互直线表示交互关联关联 有箭头的关联指出是谁发起的交互有箭头的关联指出是谁发起的交互 没有箭头则表明双方都可以发起交互没有箭头则表明双方都可以发起交互12用例建型的步骤(1) 找出系统外部的参与者和外部系统,确定系统的边界和范围; (2) 确定每一个参与者所期望的系统行为;(3) 把这些系统行为命名为Use Case;(4) 使用泛化、包含、扩展等关系处理系统行为的公共或变更部分; (5) 编制每一个Use Case的脚本;(6) 绘制Use Case图;(7) 区分主事件流和异常情况的事件流,可以把表示异常情况的事件流作为单独的Use Case处理;(8) 细化Use Case图,解决Use Case间的重复与冲突问题13寻找参与者寻找参与者谁使用系统的功能?谁使用系统的功能?谁需要系统支持他们的日常工作?谁需要系统支持他们的日常工作?谁来维护、管理系统使其正常工作?谁来维护、管理系统使其正常工作?哪些其他系统使用该系统?哪些其他系统使用该系统?系统需要与其他哪些系统交互?系统需要与其他哪些系统交互?系统需要控制哪些硬件?系统需要控制哪些硬件?对系统产生结果感兴趣的是哪些人或物?对系统产生结果感兴趣的是哪些人或物?是否有事情在预计的时间自动发生?是否有事情在预计的时间自动发生?14参与者的描述参与者的描述15参与者参与者规规格格说说明明参与者名称参与者名称:顾客 是否抽象参与者是否抽象参与者:否简简要描述要描述:使用ATM系统提取现金、转移资金和存款的所有用户,这些用户持有相应的银行卡且知道银行卡对应账号的密码。

      参与者建模的检查项参与者建模的检查项 是否找全所有的参与者?是否对系统环境中所有的角是否找全所有的参与者?是否对系统环境中所有的角色进行了描述和建模?色进行了描述和建模? 每个参与者是否至少与一个用例发生了交互?每个参与者是否至少与一个用例发生了交互? 是否可以为每一个角色找到至少两个实例?是否可以为每一个角色找到至少两个实例? 不同参与者与系统的交互是否一致,扮演的角色是否不同参与者与系统的交互是否一致,扮演的角色是否相似?如果有,则应该要合并这些参与者作为同一种相似?如果有,则应该要合并这些参与者作为同一种角色角色 16寻找用例寻找用例参与者目标目标 2我想通过这个系统达到什么目的?我想通过这个系统达到什么目的?目标目标 1基本策略:基本策略:把自己当作参与者,与设想中的系统进行交互把自己当作参与者,与设想中的系统进行交互注意:注意:寻找用例和寻找参与者的过程是寻找用例和寻找参与者的过程是不能截然分开的不能截然分开的17识别用例识别用例参与者希望系统提供哪些功能?参与者希望系统提供哪些功能?系统存储信息吗?参与者将要创建、读取、更新或删系统存储信息吗?参与者将要创建、读取、更新或删除什么信息?除什么信息?系统是否需要把自身内部状态的变化通知给参与者?系统是否需要把自身内部状态的变化通知给参与者?系统必须知道哪些外部事件?参与者如何通知系统这系统必须知道哪些外部事件?参与者如何通知系统这些事件?些事件?系统需要进行哪些维护工作?系统需要进行哪些维护工作?18用例的描述用例的描述19用例简述用例简述: :一段简洁的摘要,主要描述用例的成功场景 下订单下订单: :客户带着要购买的货物到收款处,收银员使用POS机扫描记录每一种预购买的货物。

      系统计算总价并打印清单客户付款,系统验证并保存销售记录系统更新库存,客户得到收条并带着货物离开用例的描述用例的描述20用例的描述用例的描述21客客户户代表代表系系统统记帐记帐系系统统 1. 收到一个取消订单的请求 2. 输入订单的标识号 4. 选择取消 3. 显示订单内容 5. 给该订单打上取消标记 6. 向客户账号增加订单 支付的资金用例建模过程中的检查项用例建模过程中的检查项 用用例例建建模模是是为为了了表表示示系系统统的的行行为为通通过过模模型型可可以以很很容容易理解系统进行的操作易理解系统进行的操作 应该识别出所有的用例,用来表达所有的需求应该识别出所有的用例,用来表达所有的需求 系统的任何一个特性都可以找到对应的用例系统的任何一个特性都可以找到对应的用例 用用例例模模型型并并不不包包含含多多余余的的行行为为;所所有有的的用用例例可可以以追追溯溯到系统的功能性需求作为验证到系统的功能性需求作为验证 去掉所有的去掉所有的CRUD 类的用例类的用例 创建创建(Create),查找(Retrieve),更新(Update),删除(Delete)22功能分解功能分解选择转入账号选择转入账号选择选择“查询余额查询余额”选择选择“取款取款”23走出功能分解:正确的用例建模走出功能分解:正确的用例建模转账(Transfer Funds)24如何避免功能性分解如何避免功能性分解 问题现象问题现象 非常细小的用例非常细小的用例 用例过多用例过多 没有实际价值的用例没有实际价值的用例 通过底层操作进行命名通过底层操作进行命名 “操作操作”+“对象对象” “功能功能” + “数据数据” 例如:例如:“插入卡片插入卡片”修改思路:修改思路: 寻找更大的应用场景寻找更大的应用场景“为什么要构建这个系统?为什么要构建这个系统?” 从一个用户的角度出发从一个用户的角度出发 “用户希望达到什么目的用户希望达到什么目的?” “这个用例可以满足谁的目标这个用例可以满足谁的目标?” “这个用例的意义是什么这个用例的意义是什么?有什么价值有什么价值?” “这个用例背后的用户故事是什么这个用例背后的用户故事是什么?”25何时使用包含关系何时使用包含关系 当多个用例有共享行为时,使用包含关系当多个用例有共享行为时,使用包含关系 为共享行为单独创建用例,被相关用例为共享行为单独创建用例,被相关用例“包含包含”26何时使用扩展关系何时使用扩展关系 一个用例与另外一个用例近似,只有少许额外的活动一个用例与另外一个用例近似,只有少许额外的活动 将代表普遍或基本行为的情况定义为一个用例将代表普遍或基本行为的情况定义为一个用例 将特殊的、例外的部分定义为扩展用例将特殊的、例外的部分定义为扩展用例27详细的用例规约详细的用例规约28顺序图举例顺序图举例 顺序图用来刻画系统实现某个功能的必要步骤小明小明: 学生学生选课登记表选课登记表选课管理员选课管理员线性代数线性代数1: 填写个人信息填写个人信息2: 提交提交3: 将马小跳加入线代选课名单将马小跳加入线代选课名单 4: 添加马小跳添加马小跳 5: 还有位置吗还有位置吗? 6: 如果有,添加马小跳如果有,添加马小跳线性代数线性代数A段段顺序图建模元素顺序图建模元素-对象(对象(ObjectObject)及其生命线)及其生命线(LifelineLifeline) 对象对象以某种以某种角色角色参与交互参与交互可以是人可以是人、物物、其他系统或者子系统其他系统或者子系统 控制焦点控制焦点/激活期激活期(Focus of Control/Activation):表示对象:表示对象进行操作的时间片段进行操作的时间片段 生命线生命线:表示对象存在的时间:表示对象存在的时间顺序图建模元素顺序图建模元素- -消息(消息(MessageMessage)消息(消息(Message)用于描述对象间的交互操作和值传递过程用于描述对象间的交互操作和值传递过程m消息类型消息类型: :mSynchronous Synchronous 同步消息(调用消息)同步消息(调用消息)mAsynchronousAsynchronous 异步消息异步消息mReturn Return 返回消息返回消息m Self-message Self-message 自关联消息自关联消息m Time-out Time-out 超时等待超时等待mUncommittedUncommittedBalkingBalking 阻塞阻塞绘制顺序图绘制顺序图1 1. . 在顺序图顶端绘制矩形框,定义参与交互的在顺序图顶端绘制矩形框,定义参与交互的类实例类实例(对象)名;(对象)名;2.2. 在每个对象下面绘制竖直虚线,表示该对象的在每个对象下面绘制竖直虚线,表示该对象的生命线生命线;3. 3. 在对象间添加箭头表示各种类型的在对象间添加箭头表示各种类型的消息消息,跟踪对象间的控制流;,跟踪对象间的控制流;4.4. 生命线加竖直矩形定义对象生命线加竖直矩形定义对象激活期激活期,表明对象正在执行某操作;表明对象正在执行某操作;5.5. 根据需要添加根据需要添加框框的组合与关联,表示复杂的控制结构。

      的组合与关联,表示复杂的控制结构绘制顺序图绘制顺序图顺序图的作用顺序图的作用 帮助分析人员对照检查用例中描述帮助分析人员对照检查用例中描述的的需求是否已经落需求是否已经落实给具体对象去实现实给具体对象去实现 提醒分析人员去补充遗漏的对象类或操作提醒分析人员去补充遗漏的对象类或操作 帮助分析人员识别哪些对象是主动对象帮助分析人员识别哪些对象是主动对象 通过对一个特定的对象群体的动态通过对一个特定的对象群体的动态行为行为建模,深入地建模,深入地理解对象之间的交互理解对象之间的交互 所有的对象都有所有的对象都。

      点击阅读更多内容
      相关文档
      高等学校学生手册.doc 2025年区教育系统招聘编外教师储备人才事业单位考试押题.docx 2025年秋季青岛版三年级数学上册认识轴对称现象教学课件.pptx 2025年秋季青岛版三年级数学上册用乘法估算解决问题教学课件.pptx 2025年秋季青岛版三年级数学上册两、三位数乘一位数的笔算(不进位)教学课件.pptx 2025年秋季青岛版三年级数学上册1200张纸有多厚教学设计范文.docx 2025年秋季青岛版三年级数学上册多位数除以一位数教学课件.pptx 2025年秋季青岛版三年级数学上册认识平移、旋转现象教学课件.pptx 2025年秋季青岛版三年级数学上册多位数乘一位数教学设计范本.docx 2025年秋季青岛版三年级数学上册认识平移与旋转教学设计范文.docx 2025年秋季青岛版三年级数学上册乘数中间有0或末尾有0的乘法教学课件.pptx 2025年秋季青岛版三年级数学上册两位数乘一位数的笔算(进位)教学课件.pptx 2025年秋季青岛版三年级数学上册《两、三位数乘一位数的笔算(不进位)》教学设计与意图.docx 2025年秋季青岛版三年级数学上册我学会了吗教学课件.pptx 2025年连云港市妇幼保健院招聘专业技术人员考试笔试试题.docx 2025年深圳市大鹏新区发展和财政局招聘考试笔试试卷.docx 2025年绵阳市梓潼县财政投资评审中心招聘考试试题.docx 2025年来宾市妇幼保健院招聘考试笔试试题.docx 2025年无极县教育系统招聘教师考试笔试试卷.docx 2025年灵山县第三中学调配教师考试笔试试题.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.