Преобразование диаграммы последовательности в код Java - PullRequest
0 голосов
/ 29 августа 2018

Мой учитель назначил упражнение, которое состоит в переводе (наилучшим образом) диаграммы последовательности в код Java.

Это диаграмма последовательности:

enter image description here

И это моя попытка решить эту проблему:

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) {

    }
}

Но я не смог закончить TranscriptBuilder, так как не смог ничего найти о <<system>> и что это значит. Любые предложения, пожалуйста?

Ответы [ 3 ]

0 голосов
/ 29 августа 2018

Вам не хватает смелости конструктора TranscriptBuilder, в частности, проведения семинаров и выполнения цикла, как на диаграмме.

TranscriptBuilder(Student s) {
    List<Seminar> sems = s.getSeminars();
    for (Seminar sem : sems)
        sem.getMark();
 }
0 голосов
/ 31 августа 2018

Ваша 'система' является стереотипной 'системой' актера.

Все действующие лица являются внешними по отношению к определению вашей системы. Это люди или другие программные системы, взаимодействующие с вашим программным обеспечением.

Вы не будете реализовывать принтер, вы будете использовать только его API для печати результата.

0 голосов
/ 29 августа 2018

<<system>> - это стереотип в UML:

Стереотип определяет, как можно расширить существующий метакласс, и позволяет использовать терминологию или обозначения, специфичные для платформы или домена, вместо или в дополнение к тем, которые используются для расширенного метакласса.

Я думаю, что здесь речь идет о базовой системе, в которой вам нужно реализовать метод для печати Student информации.

Я предлагаю вам @Override метод toString() в Student, затем реализуйте метод print() в SharedServices, как показано на диаграмме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...