前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[竞赛题解析]Karl Wiegers的Software Requirements示例挑错

[竞赛题解析]Karl Wiegers的Software Requirements示例挑错

作者头像
用户6288414
发布2019-09-26 15:54:19
5840
发布2019-09-26 15:54:19
举报
文章被收录于专栏:软件方法

建模竞赛第2赛季第7轮题目

[改错题]

很多书中的建模示例都存在问题,包括一些“名著”。请根据《软件方法》知识,列举以下所给资料中和Request a Chemical用例相关的内容(包括用例图和用例规约)存在的问题。

摘自SoftwareRequirements, Third Edition(Karl Wiegers, Joy Beatty)

回答格式如“执行者Requester的命名不合适”。

请在本帖下留言回答。9月25日公布结果,优胜者获得的分数即为本题分数。

规则:

(1)每指出确实存在的一个问题,就获得1分;如果指出的问题不存在,则扣除0.4分。

(2)不同的人指出相同的问题,该问题的指出者归属最先指出的人。

(3)如果结算后为负分,不能获得本题优胜,但不会影响之前积分和以后题目的分数。

*********************

优胜者:龙龙,获得1分。

UMLChina答题赛第二赛季排行榜

龙龙 3 城市:深圳,单位:GXT

。。。。 2 城市:济南,单位:LXB

Mingchu 1 城市:墨尔本

yuyjx 1 城市:沈阳,单位:DR

晚安月亮 1 城市:济南,单位:LXB

**********************

解析

(1)

错误:用例图中,Buyer、Training Database和Chemical Stockroom不是Request a Chemical用例的辅执行者。从用例规约看,这几个家伙睡着或者死翘翘不影响系统达到这个用例的目标。

步骤没有出现“系统请求辅执行者做某事”的内容,只是说最后给Buyer和Chemical Stockroom发通知。特别是Training Database,执行者列表里提到了它,但在下文居然消失了?????

参考知识:《软件方法(上)》第二版 P. 180

(2)

可能的错误:用例图中,Healthand Safety Dept.不是Dispose of a Chemical用例的辅执行者,理由同(1),不过没看到用例规约,不能肯定。

(3)

错误:用例图中,Healthand Safety Dept. 不是合适的执行者名称。系统执行者是一个系统(人肉或非人肉),而Health andSafety Dept.是一个组织,应该改成里面的某个岗位。

(4)

可能的错误:用例图中,TrainingDatabase不是合适的执行者名称。系统执行者是一个系统(人肉或非人肉),这个系统的名字叫Training Database,比较可疑。DBMS可算是系统(合不合适作为文中的执行者再说),但数据文件不是系统。没有更多细节,不能下结论。

参考知识:《软件方法(上)》第二版 P. 146、P. 151

(5)

错误:用例图中,Manage Inventory作为用例名称不合适。

参考知识:《软件方法(上)》第二版 P. 164

(6)

错误:用例规约中,PRE-1,PRE2作为前置条件不合适。另外,执行者写Requester,到这里怎么变成User了呢?

参考知识:《软件方法(上)》第二版 P. 190

(7)

错误:用例规约的前置条件中,PRE-3作为前置条件不合适。除了***online属于正确无用的废话之外,Chemical inventory database是个啥东东?如果是系统内部的零件,那属于分析设计,不属于需求;如果是一个外系统,那应该出现在上面的执行者列表中。从这一点可以看出,作者的需求思维并不严谨,想到什么写什么,随手就来。

参考知识:《软件方法(上)》第二版 P. 190

(8)

错误:用例规约的步骤中,4.0.1.Requester specifies the desired chemical中的desired属于意淫式需求。Requester在系统边界外,系统无法承诺Requester指定的化学品就是他“想要的”,只知道他指定了一个化学品。

参考知识:《软件方法(上)》第二版 P. 202

(9)

错误:用例规约的步骤中,4.0.3.System gives Requester......中,Requester就是主执行者,gives Requester属于多余用语。如实写系统需要反馈的信息即可,如果信息较多,可能在字段列表中描述。如果执行者需要在本步骤反馈的信息中选择某些内容,应该写在下一个交互回合的第一步中。

(10)

错误:用例规约的步骤中,4.1.1Requester search vendor……,犯了责任混乱的错误。Requester只能提交查询条件,系统负责search vendor才对。

参考知识:《软件方法(上)》第二版 P. 204

(11)

错误:用例规约的步骤中,4.1.3和4.1.4连续Requester开头,合并成一句即可,信息太多可移到字段列表。

参考知识:《软件方法(上)》第二版 P. 202

(12)

错误:用例规约的步骤中,4.1.E1. 4a Requester asks to exit 4.1.E1. 4b System terminates the usecase和本用例无特定关系,放之四海皆准,不用写。

以上所列错误中,(1)(4)(7)(10)是比较大的错误。

Karl Wiegers和Joy Beatty 的“SoftwareRequirements”算是需求方面的“名著”了,而且已经出到了第3版,但真的要挑毛病,也是一挑一大堆。

后续还将继续出挑错的题,大家努力!


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 UMLChina 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档