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

гольян

63
sc-programming

гольян

Краткая информация
Рейтинг: 63
На Golos с 8/2017
Школа программирования для начинающих

Комментарии

> ... такие предметы как стулья или кровати могут находиться в нескольких комнатах сразу

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

> не находится в комнатах или быть убранным вообще, тогда 0

Вот это можно и оставить, хотя не понятно зачем пылесосу знать о таких предметах.

> а разве само нахождение предметов в комнате не определяет сколько в ней находится

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

0.000 GOLOS
0

@annahobotova

А интересно получилось :) Предмет может быть нигде (0), в одной (1) или сразу в нескольких комнатах?

И еще второе направление проставьте, там где оно имеет смысл. Например, Комната содержит от 0 до бесконечности предметов.

0.000 GOLOS
0
  1. Ну да, все свойства наследуются. Именно поэтому наследование применяется не сказать чтобы часто. Я бы для Фермера и Местного Жителя ввел общего предка, скажем, Физлицо - куда вынес бы ФИО и другие общие свойства. Второй вариант, это изменить кратность ассоциации между местным жителем и паем, поставить там 0-1, вместо 1.

  2. Ага, может. В реале, такие штуки надо будет уточнять у заказчика, а пока учимся можно просто постулировать - да или нет.

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

0.000 GOLOS
0
0.000 GOLOS
0
0.000 GOLOS
0
0.000 GOLOS
0

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

> Ибо пока что это похоже на базы данных и азы для понимания ООП и до ЯПа тут далеко.

Абсолютно верно, так оно и задумывалось :) Этот курс расчитан на людей, которые вообще не знакомы с программированием.

0.000 GOLOS
0

У вас предметная область - это игровой мир. То есть сущностями будут "сундук", "монеты" и другие вещи которые встречаются в игре.

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

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

0.000 GOLOS
0