将序列图转换为Java代码

将序列图转换为Java代码,java,uml,Java,Uml,我的老师布置了一个练习,其中包括(以最好的方式)将序列图翻译成Java代码 这是序列图: 这是我试图解决的问题: import java.util.ArrayList; import java.util.List; class Seminar { private int getMark() { return calculateMark(); } private int calculateMark() { return 10;

我的老师布置了一个练习,其中包括(以最好的方式)将序列图翻译成Java代码

这是序列图:

这是我试图解决的问题:

import java.util.ArrayList;
import java.util.List;

class Seminar {
    private int getMark() {
        return calculateMark();
    }

    private int calculateMark() {
        return 10;
    }
}

class Student {
    private List<Seminar> _seminars = new ArrayList<>();

    public List<Seminar> getSeminars() {
        return _seminars;
    }
}

class TranscriptBuilder {
    public void New(Student student) {

    }
}
import java.util.ArrayList;
导入java.util.List;
课堂讨论会{
私有int getMark(){
返回calculateMark();
}
private int calculateMark(){
返回10;
}
}
班级学生{
私有列表=新的ArrayList();
公开名单(只提供英文版本){
回归研讨会;
}
}
类脚本生成器{
公共无效新(学生){
}
}
但是我无法完成
TranscriptBuilder
,因为我找不到有关
的任何信息以及它的含义。有什么建议吗?

在UML中,
是一个立体模型:

原型定义了现有元类的扩展方式,并允许使用平台或领域特定的术语或符号来代替或补充扩展元类所使用的术语或符号

我认为这里它指的是核心系统,您需要实现一种方法来打印
学生
信息


我建议您
@覆盖
学生
中的
toString()
方法,然后在
共享服务
中实现
print()
方法,如图所示。

您缺少TranscriptBuilder构造函数的精髓,尤其是,如图所示,参加研讨会并进行循环

TranscriptBuilder(Student s) {
    List<Seminar> sems = s.getSeminars();
    for (Seminar sem : sems)
        sem.getMark();
 }
成绩单生成器(学生s){
列出sems=s.getConferences();
研讨会(sem:sems)
sem.getMark();
}

您的“系统”是一个角色定型的“系统”

所有参与者都是系统定义的外部参与者。他们是与您的软件交互的人或其他软件系统


您将不会实现打印机,您将只使用其API打印结果。

这不应该在new()方法中吗?是的。它被称为构造函数;它是实例化类的“特殊”方法。