Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
sc-programming
7 лет назад

[ДОМАШНЕЕ ЗАДАНИЕ 1.03] Практика моделирования — диаграмма классов

Это домашнее задание к занятию, на котором вы начали знакомиться с основами моделирования.


cover_homework_konti.jpg

Задание

Для того чтобы потренироваться в моделировании будет необходимо найти интересную лично для вас задачу. При этом очень желательно, чтобы предметная область позволяла выделить хотя бы 3-4 класса и 2-3 связи между ними. Нет большого смысла рисовать диаграмму, если у вас есть только один класс :)

Вы можете:

  1. Продолжить работу над задачей, ТЗ (техническое задание) для которой вы писали на прошлом занятии.
  2. Выбрать любую подходящую и понравившуюся задачу из рассмотренных другими студентами в домашней работе к предыдущему занятию.
  3. Взять задачу из предложенных инструктором.

Если вы хотите как следует попрактиковаться, то рекомендую выбрать не одну, а 2-3 разных задачи, причем желательно, чтобы хотя бы одна из них была из области, с которой вы раньше не сталкивались.

Для выбранной задачи сделайте следующее:

  1. Найдите группы объектов, обладающих одними и теми же свойствами, то есть определитесь с тем, какие вам необходимы классы для описания предметной области.
  2. Для каждого класса выпишите все свойства, необходимые для решения задачи.
  3. Посмотрите, нет ли у вас объектов, которые относятся сразу к нескольким классам. Если есть, то нельзя ли упростить модель, используя наследование?
  4. Разберитесь какие ассоциации существуют между классами. Что они обозначают? Какова их кратность?
  5. Возьмите листок бумаги и карандаш и нарисуйте диаграмму классов для вашей модели. Отобразите на ней классы, их свойства и связи между ними.

Если не нашли задачу

1.

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

2.

Вы работаете в школе завучем. Вам необходимо составлять расписание уроков, учитывая запросы учителей (никто не хочет 1 и 5 урок, всем подавай подряд) и доступность и специализацию классов (физику не стоит вести в спортзале).

3.

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

Сдача работы

Результаты вашей работы добавьте в комментарий к этому посту или, как вариант, красиво оформите и выложите в своем блоге, а в коммент тогда достаточно вставить ссылку на ваш пост.

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


Итоги по выбору лучшей домашней работы будут подводиться в понедельник, 18 сентября, после 10 часов утра по МСК.


Готовы? Поехали!

Желаю успеха,
@wealthycat (Валерий), инструктор курса @sc-programming


logo

6
59.083 GOLOS
На Golos с August 2017
Комментарии (40)
Сортировать по:
Сначала старые