实现UML序列图

Implementing UML Sequence Diagram

本文关键字:UML 实现      更新时间:2023-10-16

我的问题相对简单:我将如何在c++代码中实现UML序列图?前几天我在阅读序列图的时候,我发现了一个学生参加研讨会的例子。

我该如何把这个图表变成一个程序呢?为了解决这个问题,我们只关注一个类,比如EnrollInSeminar控制器。我该如何实施呢?

我想象它可能是这样的:

class EnrollInSeminar
{
public:
  void Activate();
};
void EnrollInSeminar::Activate()
{
  SecurityLogon logonUI{};
  Student theStudent = logonUI.getStudent();
  SeminarSelector seminarSelectorUI{};
  Seminar seminar = seminarSelectorUI.getSeminar();
  if (!seminar.isEligible(theStudent))
    return;
  theStudent.getSchedule().determineFit(seminar);
  Fee fee = StudentFees.calculateFees(seminar, theStudent);
  FeeDisplay feeUI{fee};
  if (!feeUI.getVerification())
    return;
  seminar.enrollStudent(theStudent);
}

这是实现EnrollInSeminar类的正确方法吗?如果没有,我该怎么做?

实际上,除了名称、参数和(顾名思义)序列之外,SD并没有告诉任何关于从一个对象传递到另一个对象的消息中使用的方法的信息。所以你唯一能从"只是SD"中得出的是方法和它们的参数。

您将需要来自用例的附加信息来了解方法的全部内容。没有你根本无法"实现一个SD"。