1.简答题
用例的概念
用例(英语:use case),或译使用案例、用况,是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。
用例和场景的关系?什么是主场景或 happy path?
场景是actors和系统之间特定的一系列动作和绘画,是用例的实例。一个用例是一些场景的集合。
主场景(基本流)对应系统的主要的交互,通常是“成功”的场景。主场景是最常用的,能直接地实现用户目标的流程。
主场景或happy path是指用例从触发时间开始,一步一步执行,最终满足用例利益的步骤集合。
主成功场景应该包括一下信息:
两个执行者之间的交互。如,用户提交了订单。
为保证主成功场景得以继续的确认。如,系统确认用户密码。
主成功场景推进过程中的内部变化。如,系统扣除用户账户余额。
用例有哪些形式?
摘要:简洁的一段式概要,通常用于主成功场景。
非正式:非正式的段落格式。用几个段落覆盖不同场景。
详述:详细编写所有步骤及各种变化,同时具有补充部分,如前置条件和成功保证。
对于复杂业务,为什么编制完整用例非常难?
对于复杂业务,场景也会非常多,很难完整得考虑到所有完整场景,而且在开发过程中,需求还会发生改变,场景也会发生变化。所以对于复杂业务,编制完整用例且不遗漏情景、良好地安排每个场景、场景内元素地关系非常困难。
什么是用例图?
用例图是指参与者(Actor)、用例(Use Case)、边界以及它们之间的关系构成的用于描述系统功能的视图。用例图可以识别系统的不同类型的用户和不同的用例,并且常常伴随着其他类型的图。用例图是系统的蓝图。用例图呈现了一些参与者,一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
用例图的基本符号与元素?
参与者:表示的是一个系统用户
用例(Use Case):表示的是对系统提供的功能、服务的一种描述。
系统(System) :表示一个系统
用例之间的关系
包含关系(include):表示用例可以简单地包含其他用例所具有的行为,箭头指向被包含的用例。
关联关系(Association):表示的是参与者与用例之间的关系。
扩展/延伸关系(Extend):表示在一定条件下,把新的行为加入到已有的用例中,获得的新用例叫做拓展用例,原有的叫做基础用例,相当于为基础用例提供了一个附加功能,箭头指向基础用例。
泛化关系(Generalization):泛化指的是一个父用例可以被特化形成多个字用例,箭头指向父用例。
用例图的画法与步骤
确定研讨的系统
确定参与者,以及参与者之间的关系
确定系统依赖的外部系统
根据需求识别和创作用例
确定用例与用例本身以及用例与参与者之间的关系
用例图给利益相关人与开发者的价值有哪些?
利益相关人:用例图清晰地展示了系统的功能组成,客户可以清楚地看到系统设计与自己的要求是否相符。同时,客户可以简单修改用例图来表达需求变更的想法。
开发者:用例图明确地表达了用户的需求,因此系统架构的设计可以更加准确,同时系统的工作量评估也变得方便。
建模练习题(用例模型)
为什么相似系统的用例图是相似的?
因为相似系统提供的服务是十分相似的,他们预期的目标也是一致的,于是其架构和用例难免比较相似,故用例图也会比较相似。
如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
添加新的用例与系统,例如让顾客选择沐浴露和洗发露类型,以及早餐定做等等。在添加新的用例时,用例图用鲜艳的颜色来标定。
如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
依据用例图中的每一个用例可以很清楚的知道,当前用例是其他系统所没有的,即创新点,依据创新用例在用例图中的关系和位置,可以很清楚的知道,创新用例依据的外部系统或者从属关系,很好的定位其服务方式和服务场景,发挥更好的服务效果。
请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
ID | Name | Imp | est | How to demo | Notes |
---|---|---|---|---|---|
1 | 注册登录 | 15 | 2 | 打开软件后用户可以选择登录或者注册;登录时使用已注册的账号和密码进行登录;注册时使用手机+验证码的形式 成功注册后直接进入主页,不需要再次登录 | |
2 | 查询酒店 | 20 | 2 | 选择位置、日期,输入特征关键词,选择价格区间和酒店档次,选择酒店类型后,能够返回符合检索条件的酒店列表 | |
3 | 预订 | 25 | 3 | 在酒店列表中选择酒店跳转到酒店详情显示不同房型,用户点击预定房间时,判断是否有空房,然后进行下单预定 下单会对房间进行锁定,其他用户无法预定该房间 | |
4 | 支付订单 | 20 | 2 | 用户锁定房间后20分钟内需要进行支付,支持使用支付宝微信进行付款 接入微信和支付宝支付的api | |
5 | 查看订单 | 10 | 1 | 用户能够在个人中心看到自己的预定情况,以及查看订单详情 | |
5 | 取消订单 | 10 | 1 | 入住前一天用户能够取消订单,需要支持退款给用户 预定当天不能取消,必须至少是前一天 |
根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算
用例 | 事务 | 计算 | 权重 |
---|---|---|---|
登录注册 | 2 | 1 | 简单 |
查询酒店 | 4 | 1 | 简单 |
预订 | 5 | 5 | 复杂 |
支付订单 | 6 | 5 | 复杂 |
查看订单 | 2 | 1 | 平均 |
取消订单 | 4 | 3 | 复杂 |