UML:构建 SRS Class 图:太复杂?

UML: Building an SRS Class Diagram: Too complicated?

我正在我的学校参加 UML class,我的老师希望我们完成基本的、最低限度的作业,并且不会回答任何问题。也就是说,系统的要求有注册、学生记录、登录、课程记录和 Class 记录的用例。它真正需要做的是:

好吧,我想我想得太过火了,我想我想就如何确定基本要求发表意见。

我还有几个问题:

  1. SRS 是否需要登录对象?还是应该简单地假设用户已经登录?
  2. 关于基数和多重性,是同一个概念吗?
  3. 看看我所做的多重性,我是否犯了任何明显的错误?

就使其不那么复杂而言,仅具有:class-类型、课程、class、注册、学生和注册商有意义吗?

系统需求规范远比简单的图表复杂。完成 SRS 的方法有很多,因此您的问题可能会被标记为 off-topic 过于宽泛。无论如何,这就是我所做的。

第一步,您需要自己对需求进行分组。第一个大的划分是将功能需求和 non-functional 需求分开。 Non-functional 是那些不能固定到单个函数的要求。例如。性能、法律、安全、保障,应有尽有。这些是您首先构建的类别,最终您在 SRS 创建过程中拥有了一组类别。

对功能需求进行分组有点棘手。您可以通过综合用例来做到这一点。每个功能需求都需要通过单个用例来实现。您不需要为用例提供详细信息,而只需提供一个粗略的故事。但是一旦您将所有功能需求连接到用例,您的 SRS 就准备好了。

请注意,non-functional 要求尚未相关。这是因为它们对后期的很多功能和系统设计都有影响。只需要结构清晰即可。

另一件需要注意的事情是,需求本身应该可以追溯到它们的来源。这意味着您需要参考论文、会议、phone 电话、个人谈话等来源。

有很多细节使 SRS 的创建和维护成为一门科学,但以上是您的出发点。

class 图不一定是 SRS 的一部分。它是后来设计规范的一部分。

现在回答您的其他问题。

  1. Log-in 在任何情况下都不是生意 object。它是从需求 "user must be logged in to..."
  2. 派生的约束
  3. cardinality vs multiplicity
  4. 我会简单地放弃 .. 符号。如果离开它意味着相同(未指定)。我将从凭证管理器中删除 'Log-in' 词,因为它还将处理 log-out 等等。所以重点不对。否则,如前所述,class 设计实际上并不是 SRS 的一部分。