《系统分析与设计》作业6
作业内容:
解答:
简答题
- 用例的概念
COURSE WARE
- Use case is a collection of related success and failure scenarios that
describe an actor using a system to support a goal.
be text documents, not diagrams- Use case modeling is primarily an act of writing text, not
drawing diagrams.- There is nothing object-oriented about use cases;
- Use cases are a key requirements input to classic OOA/D.
- be functional or behavioral requirements that indicate what the
system will do. In terms of the FURPS+ requirements types,
they emphasize the “F”, but can also be used for other types.
WIKIPEDIA
In software and systems engineering, a use case is a list of actions or event steps typically defining the interactions between a role (known in the Unified Modeling Language (UML) as an actor) and a system to achieve a goal.
- 用例和场景的关系?什么是主场景或 happy path?
A use case represents a collection of scenarios: primary,plus zero or more alternates.The primary scenario(主场景/基本流) corresponds to the main system interactions, usually the ‘success’ scenario.
A happy path is a default scenario featuring no exceptional or error conditions.
- 用例有哪些形式?
- Brief(high level)
- Terse one-paragraph summary, usually of the main success scenario.
- During early requirements analysis, to get a quick sense of subject and scope. May take only a few minutes to create
- Casual(简便格式)
- Informal paragraph format. Multiple paragraphs that cover various scenarios.
- When? As above.
- Fully
- dressed All steps and variations are written in detail, and there aresupporting sections, such as preconditions and success guarantees.
- After many use cases have been identified and written in a brief format, then during the first requirements workshop a few (such as 10%) of the architecturally significant and high-value use cases are written in detail.
- 对于复杂业务,为什么编制完整用例非常难?
复杂业务活动包含很多用例,他们与过程关系用户难以理解,功能业务逻辑十分复杂,且非常耗时,这样就不能保证用例的完整性、逻辑性。
- 什么是用例图?
最简单的用例图表示用户与系统的交互,其显示用户与用户所涉及的不同用例之间的关系。 用例图可以识别系统的不同类型的用户和不同的用例,并且通常还伴随着其他类型的图。 用例由圆圈或椭圆表示。
- 用例图的基本符号与元素?
用例图包含6个基本元素:参与者(Actor)、用例(Use Case)、泛化关系(Generalization)、扩展关系(Extend)、包含关系(Include)和关联关系(Association)。
用例(Use Case):用例是外部可见的系统功能部分,用例的主要作用是在不揭示系统内部构造的前提下定义了连贯的行为。
参与者(Actor):参与者是系统外部的一个实体,它以某种方式参与用例的执行过程。参与者通过向系统中输入或请求系统输入某些事件来触发系统的执行。
用例与用例之间的关系
包含关系:一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身的一部分。在这种情况下,新用例不是初始用例的一个特殊例子,并且不能被初始用例所代替。
泛化关系:一个用例可以被特别列举为一个或多个子用例。当父用例能够被使用时,任何子用例也可以被使用。
关联关系:描述参与者与用例之间的关系,用于表示类的关系的关联元素的实例。
扩展关系:是一个用例被定义为基础用例的增量扩展,通过扩展关系把新的行为插入到已有用例中。
- 用例图的画法与步骤
确定系统边界
确定参与者
- 谁将使用该系统的主要功能。
- 谁将需要该系统的支持以完成其工作。
- 谁将需要维护、管理该系统,以及保持该系统处于工作状态。
- 系统需要处理哪些硬件设备。
- 与该系统那个交互的是什么系统。
- 谁或什么系统对本系统产生的结果感兴趣。
识别用例
- 特定参与者希望系统提供什么功能。
- 系统是否存储和检索信息,如果是,由哪个参与者触发。
- 当系统改变状态时,是否通知参与者。
- 是否存在影响系统的外部事件。
- 哪个参与者通知系统这些事件。
确定用例间的关系
用例除了与参与者发生关系外,还可以具有系统中的多个关系,这些关系包括包含关系、扩展关系和泛化关系。应用这些关系的目的是为了从系统中抽取出公共行为和其变体。
- 用例图给利益相关人与开发者的价值有哪些?
- 明确系统的业务范围、服务对象(角色)、外部系统与设备
- 帮助识别技术风险,提前实施关键技术原型公关与学习
- 易于评估项目工作量,合理规划迭代周期,规划人力需要
2、建模练习题(用例模型)
选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求:
- 请使用用户的视角,描述用户目标或系统提供的服务
- 粒度达到子用例级别,并用 include 和 exclude 关联它们
- 请用色彩标注出你认为创新(区别于竞争对手的)用例或子用例
- 尽可能识别外部系统和服务
然后,回答下列问题:
1.为什么相似系统的用例图是相似的?
因为相似系统有着相似的用户即参与者,用户也有相同的需求即用例,用例图的这两个基本元素相同,同时用例间关系区别也不大,所以用例图也是相似的。
2.如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术
软件工程发展的速度是很快地,新时代的软件比之前的有着更加强大的功能,比如以前订酒店不能根据用户以前的订单习惯推荐,现在可以用大数据分析,根据用户的习惯和当地地区的习惯,专门性推荐旅馆。
3.如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用
用例图中的每个用例之间的关系都是明确的,我们可以对其中相对独立,即入度出度都比较小的用例进行创新,这样对系统整体的影响就不会很大。创新的角度可以是删去这个用例或者是给这个用例添加新功能。
4.请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表
去哪儿网的用例图
ID | NAME | IMP | EST | HOW TO DEMO | NOTE |
---|---|---|---|---|---|
1 | 旅馆列表 | 30 | 2 | 能够以列表的形式看到可选旅馆,每个条目是一个旅店的简介 | 点击条目跳转到旅店详情页 |
2 | 下订单 | 30 | 1 | 选择日期和房型,生成订单 | |
3 | 支付订单 | 30 | 1 | 选择支付方式,输入账号和密码,支付账号扣款,商家收款 | 需要使用支付宝、微信支付、网上银行等API |
4 | 排序 | 20 | 1 | 选择某种顺序排序后,得到排序后的旅馆列表 | |
5 | 筛选 | 20 | 1 | 选择筛选条件后,得到符合条件的旅馆列表 | |
6 | 直接搜索 | 15 | 1 | 输入或选择目的地后,搜索得到该目的地范围内的酒店列表 | |
7 | 地图搜索 | 5 | 1 | 根据输入的目的地,地图上定位到相应范围,用图标把酒店标注出来,点击酒店可跳转到对应详情 | 需要使用百度地图等API |
5.根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算
用例 | #事务 | #计算 | 原因 | UC权重 |
---|---|---|---|---|
旅馆列表 | 5 | 4 | 框架 | 5 |
下订单 | 3 | 2 | 15 | |
支付订单 | 4 | 2 | 10 | |
排序 | 2 | 1 | 5 | |
筛选 | 2 | 1 | 5 | |
直接搜索 | 3 | 2 | 10 | |
地图搜索 | 2 | 2 | 使用API | 5 |