通知应该是类图中的一个类吗?

问题描述

假设我为社交网络系统(例如facebook)制作了一个类图。通知和讨论消息应该有自己的类吗?

我确实认为他们应该这样做。我为这样的系统制作了完整的类图,以通知和消息作为类,但是老师告诉我要排除它们。现在我很困惑。

解决方法

由于三个原因,这是一个非常有趣的问题。

1。范围是什么?

这是您在开发人员职业中将要从事的任何工作的核心问题:系统的范围是什么?

  • 这仅仅是一对多沟通的核心社交网络功能,就像您在Facebook成立之初一样吗?
  • 是Facebook的完整版本,包括其消息传递功能,还包括广告和审核功能吗?

如果是第一次,则说明您做得太多。如果是第二秒,则您忘记了重要的部分。

规则1:每当对范围存在疑问时,请先与您的教练/经理/利益相关者进行澄清,然后再考虑知道要做什么。

这将避免您因做有价值的工作而感到沮丧。这样可以避免您的未来客户因没有得到他们期望的东西而感到沮丧,或者为他们不需要的东西付太多钱。

2。方法是什么?

每当您对某些软件进行建模时,都有其目的。类图可以用于不同的目的。例如:

  • 是否用于分析需求?在此域中,您肯定会拥有PostCommentUserAccounts的类以及它们之间的关联。但是,您将自己局限于“问题空间”,而不是解决软件解决方案及其用户界面。
  • 用于系统的设计吗?那么它可能应该解决系统的工作方式,并提供有关UI与域对象交互方式的更多详细信息。这种图可能会更详细,并显示“解决方案空间”。

规则2 :如果要求进行建模,请务必阐明目的。在现实世界中,如果没有明确要求建模,请在团队中阐明商定的方法。

3。始终与人员澄清离来源最近的地方

(字幕已经是规则)。

现在,通知是否是UI的一部分,因为它们显示更改的帖子,并且是解决方案设计的一部分?还是因为需要通知而与所选软件解决方案无关而成为域的一部分?而且因为还需要跟踪和传递通知,并且它们在移动应用程序(推送)和网页(拉动)上的工作方式有所不同?如您所见,还有一定的解释空间,根据他/她的论点,老师不一定是错误的。

结论

如您所见,这不是对还是错:两者之间有很多细微差别。有很多理由可以证明您的老师的职位合理。我至少看到另外两个不相关的内容:

  • 使练习时间适应班级的平均水平(对您来说是个好兆头)
  • 因为老师已经知道接下来的问题,并且他/她已经知道通知会变得更加困难(这表明老师很好)。

我的建议:请相信您的老师,无论如何要先进行讨论以理解其论点,然后再迅速得出未经证实的结论。

关键要点:需求分析和建模不仅仅是技术活动,更是一种交流活动。如有疑问,请与利益相关者进行讨论,然后在网上寻求陌生人的建议;-)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...