Реализация последовательности UML и диаграммы классов - PullRequest
2 голосов
/ 26 мая 2020

Я недавно столкнулся с этим вопросом, и мне просто любопытно, правильна ли моя работа, а если нет, то где я допустил ошибку.

Моя задача:

a) Должностные лица назначаются на временной или постоянной основе. Профессора - это государственные служащие, которые могут назначаться на определенный срок или пожизненно. Профессора также являются профессорами-преподавателями или руководителями учебных заведений. Сотрудники научного c института являются государственными служащими или служащими. Профессора подчиняются министру науки, сотрудники научного института c подчиняются профессорам. В научном институте c работают как профессора, так и сотрудники института c. В институте можно проводить встречи с профессорами и сотрудниками.

Создайте соответствующую диаграмму классов UML.

Мой ответ:

enter image description here


b) Профессор может проинформировать секретариат о том, что он или она хотели бы назначить встречу с сотрудниками научного c института. Затем секретариат разошлет список предлагаемых назначений всем заинтересованным сотрудникам. Как только секретариат получит отзывы от всех сотрудников, он отправит каждому из них окончательное назначение.

Создайте соответствующую диаграмму последовательности UML.

Мой ответ:

enter image description here

c) Реализуйте процесс из (b) в Java (достаточно тел методов!). При этом придерживайтесь классов, абстрактных классов и интерфейсов, определенных в (a).

Мой ответ:

Я пытался решить эту проблему, но я дальше не пошло, тем более что речь идет о решении задачи с абстрактными классами и интерфейсами. Я думаю, что эта подзадача может быть решена без абстрактных классов и интерфейсов, верно?

должен ли научный c институт быть реализован как абстрактный класс?

Кто-нибудь, пожалуйста, объясните мне это? Большое спасибо :)

1 Ответ

1 голос
/ 07 июня 2020

Диаграмма классов

Ошибка, поскольку professor - это civil-servant, которые co-worker подчиняются professor: в вашем повествовании профессор подчиняется министерству, а не другому профессор.

Из повествования я понимаю, что сотрудники, которые работают в scientific institute и имеют subordinate to а professor, могут быть только employee.

На вашей диаграмме пропала часть повествования:

  • есть только fulltime_employee. Неясно, как они относятся к временным и постоянным сотрудникам.
  • не существует meeting, который относился бы к персоналу и профессорам.
  • где посох?

На вашей диаграмме также присутствует жесткость, которой нет в реальном мире: professor может начать карьеру и однажды получить повышение до director of studies. Это все тот же профессор. Изменилась просто роль. Здесь я предлагаю подумать о предпочтении композиции перед наследованием .

Последовательность

Мне кажется разумным, за исключением того, что:

  • вы действительно должны показывать отдельную исполнительную активность как отдельную: активность отправки секретариатом тогда все кончено. Другая активность начинается после получения обратной связи. А в некоторых случаях (получен последний ответ) за ним следует другое отдельное действие для отправки окончательного подтверждения.
  • вам стоит позаботиться о стрелках. Большинство запросов асинхронные и имеют открытую стрелку.
  • Финал отправки - это обычное асинхронное сообщение при отправке персоналу (простая линия, открытая голова), но это ответ профессору (здесь вы можете сохранить пунктирную линию.

Реализация

Это сложный вопрос сам по себе. Лучше задать его как отдельный вопрос. Но вам нужно быть более конкретным c.

Подсказка: аннотация class, является классом, который не может быть создан: классы, унаследованные от него, должны реализовывать свои абстрактные методы, чтобы объекты могли быть созданы.

...