7

在用例图中是否绝对有必要使用“箭头”来显示参与者和用例之间的关联?

我最近不得不为我的软件工程作业画一张。但是,在对来自许多其他大学的许多文章、论文、在线书籍和讲义进行了一些在线研究之后,似乎大多数用例图,无论它们有多少潜力显示某种“流程”或“可导航性” ",没有箭头,而有些例子有箭头。

所以我咨询了我的朋友,他是最后一年的学生,并且已经研究了我告诉我的我的演员和用例之间不应该有箭头,甚至他的需求工程讲师也教学生不要使用箭头。所以我有意识地决定不使用箭头,而是使用实线来显示我的用例关联。

这是我的图表-点击

然而,当我收到作业的分数时,我惊讶地发现我因为不使用箭头而得了零分。即使强制使用它们,也有大量证据表明实线可用于双向关联。所以我不应该得到至少一些分数吗?

显然,我要求我的讲师做出解释,我将在下周见到他来讨论这一点,但如果她告诉我我应该使用箭头,我能提出什么反对意见?如果有人可以适当地参考一些专业资源,给我很好的建议,我将不胜感激。

非常感谢您的阅读,我希望尽快阅读您的回复。


编辑

谢谢你们。我真的很感谢你给我的答案。这整个混乱开始了,因为讲师提供的唯一符号是一个单一的、非常简单的图书馆用例图示例,其中一个讲义有箭头。但并不清楚它是否是最终的符号。我不认为它是强制性的另一个原因是因为在解释绘制数据流图的符号时,她非常清楚地使用了她的特定符号,但 DFD 有不同的符号并不少见不同的来源,而我发现很少有证据表明在用例图中使用箭头是必要的。

也就是说,即使在没有箭头的情况下,我记得在辅导课上问过一位导师(不是讲师),有箭头线和实线有什么区别,他说没有,我可以同时使用。显然,我只有我的话,从你们所说的来看,我怀疑任何处于学术地位的人都会承认说出可能使他们处于防御位置的事情。我的错误是没有直接与讲师交谈,但事后看来我显然会这样做。

无论如何,我会就所有这些信息与她交谈,并要求她考虑到这个“诚实的错误”。不仅是用例图,还有其他几个问题,我的分数不寻常,尤其是当我的答案与她提供的模型答案几乎相同时。我也知道很多其他要求他们的作业的学生都被评论了。

希望她会善良并使用良好的判断力来提高我的分数。当我发现时,我会回到这里。

再次感谢您的帮助,请发布您可能拥有的任何其他信息/建议。:)


编辑 2

对不起各位,我还有一个问题。

这是作业中给出的用于绘制用例图的场景。

CONTHETICKET 是一家经营音乐会和剧院门票的票务代理机构。音乐会和剧院场地为 CONTHETICKET 提供关于即将举行的活动的源源不断的信息流,然后经理使用这些信息来编制一份固定清单,供销售人员使用,以响应客户的电话。经理选择了一些活动,CONTHETICKET 将为其提前购买多张门票,从而从与场馆协商的折扣中受益。

他亲自将门票订单连同约定的款项一起发送到场馆,一旦收到门票,他就会将其归档在门票档案中。

当客户打电话给销售团队时,他们的票证请求将根据票证文件进行检查。如果有预购票,则将它们放入标有客户姓名和地址的信封中,并归档在临时订单文件中。如果没有,销售团队会填写一张票务申请表并将其放入托盘中,以供邮递员收集。

付款部分每天检查临时订单文件。他们向客户发送发票并等待付款。发票的副本保存在档案中。收到付款后,付款部分会将付款与相应的发票进行匹配,如果满意,则将发票的另一份副本放入发货文件中,并附上发送机票的说明。

邮递员每天检查发货文件并从临时订单文件中检索相应的票证并将其发送给相应的客户。

正如您从我的图表中看到的那样,我有一个“音乐会和剧院场地”作为演员。

来自 UML 2.0 风格的元素,Scott W. Ambler:

“参与者是在与您的系统的一个或多个交互中发挥作用的个人、组织或外部系统(参与者通常在 UML 用例图上绘制为简笔画)。”

然而,在我的标记作业中,讲师评论说它不应该是演员。你能告诉我你是否认为它应该是一个演员,为什么。

我的理由是 CT&V 提供事件信息,然后经理使用这些信息来订购/归档门票,也由 CT&V 提供。

非常感谢你。

4

7 回答 7

11

好消息

你的图表是正确绘制的,你的老师是错误的:

  • 箭头在用例关联中不合适,因为它们是二元关联
  • Extends、Includes 和 Uses 关系需要箭头 - 请参阅此图以获取所有这三个关系的示例

UML 规范 v1.4.2 [PDF 警告]第4.11.3 节格式良好规则和 5.42.2 二进制关联在以下几点上非常清楚:

4.11.3 格式良好的规则:“参与者只能有与用例、子系统和类的关联,并且这些关联是二元的。”
5.42.2 二元关联:“二元关联被绘制为连接两个分类符号的实心路径”

坏消息

话虽如此,如果您的老师告诉您使用箭头而您没有使用,那么您可能没有追索权 - 这是学术界的缺点之一:一些教授希望学生仅仅反刍他们被告知的内容,即使它是错误的. 你可以向系主任提出上诉,辩称教授对学生的指导违反了既定标准,但这很可能只会给你带来悲伤。不过,我确实认为你会有一个强有力的案例,因为在正确的图表上给你一个零,因为你没有画出不正确的箭头,这似乎过分、苛刻和不合理。

但是我遇到过那些总是正确的教授,即使他们显然是错误的。然而,大多数是理性/合乎逻辑的人,他们乐于适当地纠正错误信息。

注意:轻踩

假设这是一个诚实的错误,并要求教授解释为什么当官方 OMG UML 规范说不使用箭头时他期望箭头(因此每个符合用例的 UML 工具都不会在二元关系上绘制箭头)。如果你在那里开枪,你可能会或可能不会得到满足,但你也可能会产生敌意,这可能会使学期的剩余时间(甚至可能超过)变得非常不愉快。

编辑:我确实相信旧的工具和标准在用例图上使用单箭头(不是三角形或填充,只是“翅膀”),但现在不再这样做了。也许教授的标准 - 或软件 - 刚刚过时;-)

于 2009-01-18T17:18:06.390 回答
3

其他人都已经回答了关于箭头的事情。让我给你一些关于学术界的建议。

你学到的大部分技术知识要么是错误的,要么就是无用的。在您的职业生涯中,您将作为专业人士使用的任何东西都将是您在那里学习的东西,然后根据该情况的特定需求来学习。

你将学到的是事物的一般概述,这是你在职业生涯中不会学到的东西,因为没有人有时间这样看待它。在那里,您将使用错误的工具来解决错误的问题,通常是因为一些愚蠢的原因,例如“因为上级决定那样做”。

所以把它当作学习经验。要成为一名成功的专业人士,您只需要了解正确的做事方式是一件很难实现的事情,而在这种情况下,您自己做这件事可能会给您带来更多的麻烦,而不仅仅是得分为零。

练习做错误的事情来实现你的目标:做箭头的事情并得到你的分数。

整合每个人(包括您)总是会出错的知识:不要把您的教导说成是什么,阅读其他观点并在您有经验后形成意见。

练习参与政治方面的艺术,以便在此类问题上发表意见。有一种方法可以让其他人做正确的事情,但这需要大量的社会工程和艰苦的工作。

只是不要浪费你的时间。有些事情不值得努力纠正......

于 2009-01-18T18:27:57.900 回答
1

虽然很不幸,但我必须坚持“如果他们是这样告诉你的,而你没有那样做,那就是你得到的分数”。

根据我的经验,这种关系可能是单向的,也可能是双向的,所以我认为你必须区分这两者。

于 2009-01-18T16:36:48.267 回答
1

你的导师因为在你的使用图中没有使用箭头而给你一个 0,这是他教你关于软件工程的错误知识的一个例子。

Creating a spec for a software product, out in the real world, is not getting your arrows right.

It's about creating a living document that forms the foundation behind your project. The key aspects of any spec is that:

  1. The project team actually reads it
  2. The document is effective at capturing your intent

The idea that what you should be learning is how to draw in your arrows the right way is ridiculous. If you get a chance, you should read this article:

http://www.joelonsoftware.com/articles/fog0000000024.html

It captures my sentiments excellently.

It sounds like to get through your class you need to pretend to be interested in UML arrows. My advice to you is:

  1. Do what is necessary to get a good grade in the class
  2. The second you finish the final exam PLEASE forget everything you learned in that class, because it's only going to harm you.
  3. Pickup up a copy of this book, and read it. The whole thing.
于 2009-01-19T03:19:59.840 回答
0

看这里:

指示调用来源的箭头是可选的,因此它似乎由您的讲师自行决定,但这可能是一个有争议的观点。

顺便说一句,在我的经验中,研究生院是学习软件工程的最糟糕的地方。YMMV。

于 2009-01-18T16:37:11.057 回答
0

我认为你在这里有强有力的理由;)

引用当前的UML 规范 (2.1.2)

第 595 页,约束,2
用例只能参与二进制关联。

考虑到这一点,在关联上显示可导航性有什么意义?由于主体之间的交互(例如用例和参与者)根据定义是双向的(例如参与者做某事,系统响应等等)。

您还将在本文档中找到示例用例图来进一步说明您的观点。

当然,对于其他用例结构(例如包含扩展箭头)来说是有意义的并且是必需的。但是,从您包含的用例图中,您没有使用这些,不应该因此受到惩罚。

祝你好运

PS:使用我选择的 UML 建模工具 Enterprise Architect,它不允许我直观地指示关联上的可导航性。

于 2009-01-18T16:50:51.060 回答
0

谢谢你们。我真的很感谢你给我的答案。这整个混乱开始了,因为讲师提供的唯一符号是一个单一的、非常简单的图书馆用例图示例,其中一个讲义有箭头。但并不清楚它是否是最终的符号。我不认为它是强制性的另一个原因是因为在解释绘制数据流图的符号时,她非常清楚地使用了她的特定符号,但 DFD 有不同的符号并不少见不同的来源,而我发现很少有证据表明在用例图中使用箭头是必要的。

也就是说,即使在没有箭头的情况下,我记得在辅导课上问过一位导师(不是讲师),有箭头线和实线有什么区别,他说没有,我可以同时使用。显然,我只有我的话,从你们所说的来看,我怀疑任何处于学术地位的人都会承认说出可能使他们处于防御位置的事情。我的错误是没有直接与讲师交谈,但事后看来我显然会这样做。

无论如何,我会就所有这些信息与她交谈,并要求她考虑到这个“诚实的错误”。不仅是用例图,还有其他几个问题,我的分数不寻常,尤其是当我的答案与她提供的模型答案几乎相同时。我也知道很多其他要求他们的作业的学生都被评论了。

希望她会善良并使用良好的判断力来提高我的分数。当我发现时,我会回到这里。

再次感谢您的帮助,请发布您可能拥有的任何其他信息/建议。:)

于 2009-01-19T01:49:06.187 回答