系统分析与设计(四)

用例的概念

用例是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。每个用例提供了一个或多个场景,该场景说明了系统是如何和最终用户或其它系统互动,也就是谁可以用系统做什么,从而获得一个明确的业务目标。编写用例时要避免使用技术术语,而应该用最终用户或者领域专家的语言。用例一般是由软件开发者和最终用户共同创作的。

用例和场景的关系,什么是主场景或 happy path

用例和场景的关系

每个用例提供了一个或多个场景。其中场景是指使用场景,用来说明系统可以做什么,系统是如何和用户或其他系统交互的,从而获得一个明确的业务目标。

主场景

每一个用例中都包含一个主场景,主场景对应于系统主要的交互,通常是成功的场景,是最常用的直接地实现用户目标的场景。

用例有哪些形式

  • Brief(high level): 一段简介,通常是主要的成功场景。在早期的需求分析中,可以获得对于主体和范围的快速认识,方便快速创建。
  • Casual: 非正式的段落形式,使用多个段落包含多个场景。
  • Fully: 所有的步骤和变化都详细写明,有支持的部分,比如先决条件和成功的保证。

对于复杂业务,为什么编制完整用例非常难

  • 对于复杂的业务,很难将所有的目标、故事、使用场景遵循一定的顺序列举出来。如果场景不够全面,那么用例的完整性就难以保障。
  • 此外,用例建模虽然给出了一套可操作的步骤,但是具体如何操作以及如何书写依赖于用例的书写者。因而用例本身并不能够控制自身的完整性。

什么是用例图

用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图,也是外部用户所能观察到的系统功能的模型图。

用例图的基本符号与元素

基本符号

元素

  • 用例:符号是一个椭圆。
  • 系统:符号是一个矩形框。
  • 参与者:符号是一个小人,绘制在矩形框外。
  • 关联关系:符号是一个虚线箭头:---->,箭头指向消息接收方。
  • 包含关系:符号是一个虚线箭头,有<< includes >>标识。箭头方向指向被包含者。
  • 扩展关系:符号是一个虚线箭头,有<< extends >>标识,箭头方向指向被继承者。
  • 泛化关系:符号是一个实线箭头,箭头是个小三角,指向父用例。

用例图的画法与步骤

  1. 确定系统边界。
  2. 确定参与者:如谁将使用该系统的主要功能、谁将需要该系统的支持以完成其工作、谁将需要维护、管理该系统,以及保持该系统处于工作状态等。
  3. 识别用例:如特定参与者希望系统提供什么功能、系统是否存储和检索信息,如果是,由哪个参与者触发、当系统改变状态时,是否通知参与者、是否存在影响系统的外部事件等。
  4. 确定用例间的关系:如包含关系、扩展关系和泛化关系。应用这些关系的目的是为了从系统中抽取出公共行为和其变体。
  5. 确定关联的外部支持系统,放在系统框右边。

用例图给利益相关人与开发者的价值有哪些

首先用例图可以方便开发人员更快更清楚的获取需求,根据需求作出初步产品之后,用例图可以指导测试,以检验产品的合格性;最关键的是它还可以在整个过程中的其他工作流起到指导作用。

建模练习题(用例模型)

选择2-3个你熟悉的类似业务的在线服务系统(或移动 APP),如定旅馆(携程、去哪儿等)、定电影票、背单词APP等,分别绘制它们用例图。并满足以下要求

  • 订酒店服务系统:
  • 订电影票服务系统:

回答下列问题

为什么相似系统的用例图是相似的

因为相似系统提供的服务是十分相似的,他们预期的目标也是一致的,于是其架构和用例难免比较相似,故用例图也会比较相似。

如果是定旅馆业务,请对比 Asg_RH 用例图,简述如何利用不同时代、不同地区产品的用例图,展现、突出创新业务和技术

添加新的用例与系统,例如让顾客选择沐浴露和洗发露类型,以及早餐定做等等。在添加新的用例时,用例图用鲜艳的颜色来标定。

如何利用用例图定位创新思路(业务创新、或技术创新、或商业模式创新)在系统中的作用

依据用例图中的每一个用例可以很清楚的知道,当前用例是其他系统所没有的,即创新点,依据创新用例在用例图中的关系和位置,可以很清楚的知道,创新用例依据的外部系统或者从属关系,很好的定位其服务方式和服务场景,发挥更好的服务效果。

请使用 SCRUM 方法,选择一个用例图,编制某定旅馆开发的需求(backlog)开发计划表

IDNameImpestHow to demoNotes
1注册登录152打开软件后用户可以选择登录或者注册;登录时使用已注册的账号和密码进行登录;注册时使用手机+验证码的形式成功注册后直接进入主页,不需要再次登录
2查询酒店202选择位置、日期,输入特征关键词,选择价格区间和酒店档次,选择酒店类型后,能够返回符合检索条件的酒店列表
3预订253在酒店列表中选择酒店跳转到酒店详情显示不同房型,用户点击预定房间时,判断是否有空房,然后进行下单预定下单会对房间进行锁定,其他用户无法预定该房间
4支付订单202用户锁定房间后20分钟内需要进行支付,支持使用支付宝微信进行付款接入微信和支付宝支付的api
5查看订单101用户能够在个人中心看到自己的预定情况,以及查看订单详情
5取消订单101入住前一天用户能够取消订单,需要支持退款给用户预定当天不能取消,必须至少是前一天

根据任务4,参考 使用用例点估算软件成本,给出项目用例点的估算

用例事务计算权重
登录注册21简单
查询酒店41简单
预订55复杂
支付订单65复杂
查看订单21平均
取消订单43复杂
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,接下来我们来对系统进行详细的功能分析设计。 一、用户登录模块 1.1 功能分析 该模块主要用于用户的身份验证,包括教师和学生的登录。 1.2 设计 该模块的设计包括两个页面:登录页面和注册页面。 登录页面:用户需要输入用户名和密码才能登录系统。如果输入错误,系统会显示错误提示信息。 注册页面:新用户可以在该页面进行注册,需要填写用户名、密码、姓名、性别、邮箱等信息。 二、用户权限管理模块 2.1 功能分析 该模块主要用于管理班级和学生信息,包括创建班级、添加学生、删除学生等功能。 2.2 设计 该模块的设计包括三个页面:班级管理页面、学生管理页面和权限管理页面。 班级管理页面:该页面用于创建和管理班级,教师可以添加班级、删除班级、编辑班级信息等。 学生管理页面:该页面用于添加和删除学生,教师可以添加学生、删除学生、编辑学生信息等。 权限管理页面:该页面用于设置教师和学生的权限,教师可以设置学生的作业查看权限、提交作业权限和作业批改权限。 三、作业发布模块 3.1 功能分析 该模块主要用于发布作业,包括作业名称、截止日期、作业说明等。 3.2 设计 该模块的设计包括两个页面:作业列表页面和作业发布页面。 作业列表页面:该页面用于显示已发布的作业列表,包括作业名称、截止日期、是否已经提交等信息。 作业发布页面:该页面用于发布作业,需要填写作业名称、截止日期、作业说明等信息。 四、作业提交模块 4.1 功能分析 该模块主要用于学生提交作业,包括上传作业文件、填写作业报告等。 4.2 设计 该模块的设计包括两个页面:作业提交页面和作业情况页面。 作业提交页面:该页面用于学生上传作业文件和填写作业报告。 作业情况页面:该页面用于显示学生已提交的作业情况,包括作业名称、截止日期、提交时间等信息。 五、作业批改模块 5.1 功能分析 该模块主要用于教师对学生提交的作业进行批改和打分。 5.2 设计 该模块的设计包括两个页面:作业批改页面和成绩统计页面。 作业批改页面:该页面用于教师对学生提交的作业进行批改和打分,包括批改作业、填写评语、打分等操作。 成绩统计页面:该页面用于显示班级各学生得分情况以及整体情况,包括学生姓名、作业名称、得分等信息。 六、其他扩展功能模块 6.1 功能分析 该模块主要用于添加其他功能,可以根据实际需求进行添加。 6.2 设计 该模块的设计根据实际需求进行添加,可以包括课程表管理、教师信息管理、学生信息查询等。 以上就是该系统的详细功能分析设计,包括用户登录、用户权限管理、作业发布、作业提交、作业批改和其他扩展功能模块。每个模块都有相应的页面设计和功能实现,可以为教师和学生提供方便的作业管理和批改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值