Добрый день! Я в крайней степени отчаяния. Стоит задача составить диаграмму классов покупки кофе в автомате. В автомате нет возможности оплаты картой, нет сахара, нет молока, он принимает только купюры и выдает сдачу, я просто не представляю какие классы тут можно выделить не сломав себе голову и уж тем более как составить из этого диаграмму классов
Добрый день. Самый простой способ - строить диаграмму по существующей Use-Case диаграмме. Тогда для каждого варианта использования можно понять, какие классы необходимы. Раз такой диаграммы нет, то можно зайти немного с другой стороны. Вы проектируете ПО, которое будет работать внутри автомата. Проще всего начать со способов взаимодействия автомата со внешней средой: выбор пользователем типа кофе, внесение денег, выдача сдачи и управление механизмами, которыми готовится кофе. На каждый из способов взаимодействия у вас по идее нужен отдельный boundary класс. Дальше можно поразмышлять о том, какие данные хранятся в автомате. Это может быть напиток (название, цена, номер кнопки), рецепт (перечисление того, что кладётся в кофе), покупка (информация о том, кто, когда купил кофе, сколько заплатил, какая сдача) и так далее. Это ваши классы сущности. Между этим всем для такой простой задачи скорее всего достаточно одного контроллера, который будет управлять работой автомата. Этот набор классов сделан на вскидку с «плавающим» ТЗ. При уточнении задачи схема естественно может сильно измениться.
Видите, я образцовый студент! Я смотрю Ваши лекции и ответственно подхожу к выполнению практик. Ну зачтите мне уже эту 3 практику... пожалуйста
В качестве поощрения запишу ещё что-нибудь.
Я не студент, но мне тоже интересно посмотреть. Запишите, ещё что-то интересное по архитектуре, проектированию систем.
Возможно, в скором времени будет появляться материал как раз по архитектуре.
Добрый день! Я в крайней степени отчаяния. Стоит задача составить диаграмму классов покупки кофе в автомате. В автомате нет возможности оплаты картой, нет сахара, нет молока, он принимает только купюры и выдает сдачу, я просто не представляю какие классы тут можно выделить не сломав себе голову и уж тем более как составить из этого диаграмму классов
Добрый день.
Самый простой способ - строить диаграмму по существующей Use-Case диаграмме. Тогда для каждого варианта использования можно понять, какие классы необходимы. Раз такой диаграммы нет, то можно зайти немного с другой стороны.
Вы проектируете ПО, которое будет работать внутри автомата. Проще всего начать со способов взаимодействия автомата со внешней средой: выбор пользователем типа кофе, внесение денег, выдача сдачи и управление механизмами, которыми готовится кофе. На каждый из способов взаимодействия у вас по идее нужен отдельный boundary класс.
Дальше можно поразмышлять о том, какие данные хранятся в автомате. Это может быть напиток (название, цена, номер кнопки), рецепт (перечисление того, что кладётся в кофе), покупка (информация о том, кто, когда купил кофе, сколько заплатил, какая сдача) и так далее. Это ваши классы сущности.
Между этим всем для такой простой задачи скорее всего достаточно одного контроллера, который будет управлять работой автомата.
Этот набор классов сделан на вскидку с «плавающим» ТЗ. При уточнении задачи схема естественно может сильно измениться.
Ну здарова, Ваня)