你如何在序列图中表示 this.println?

how do you represent this.println in a sequence diagram?

public class ReportPrinter {
    public static void printStudentReport(Student s) {
    CorsoDiLaurea cdl = s.getCorsoDiLaurea();
    Carriera c = s.getCarriera();
    String a = s.getInfoAnagrafiche();
    this.println (a + "\n" + cdl.detailString() + "\nCarriera:");
    for(EsameSostenuto e: c.getEsamiSostenuti() ) {
        this.println(e.nome + "-" + e.cfu + "-" + e.getVoto() );
    }
    this.println ("Media: " + c.get.Media() );
  }
  /*any code omitted */
}

我或多或少地找到了这个解决方案(如下),但它是如何管理的? println 方法是 System.Out 的一部分,因此您需要创建一条生命线?

嗯,是的。和不。这始终取决于您的听众。 SD 并非用于图形化编程,而是用于显示(或多或少)对象之间的协作。最好只有复杂的。因此,您要求的是琐碎的事情。可能没有人对 println 将如何在系统胃中工作感兴趣。除了你想实现 println 本身。所以有三种方法。您可以为相应的系统对象创建生命线并将其作为消息传递。或者您只需 (!) 添加一个注释,说明结果将被打印出来。最后你可以跳过它。 println itsef 将(我猜)最不感兴趣,你更多的是关于它的数据的来源。

简而言之:不要过度使用 SD。吻

N.B。图表中的创建消息略微向上。那不太好(我还没有检查这是否真的错了)。但是时间在 SD 中下降。所以那将是一次时光倒流。消息要么是直接的,要么是关闭的(如果你想显示一些时间限制)。