Форум Сообщества Аналитиков

×


Задачка на диаграмму классов (концептуальную)(Прочитано 27989 раз)
Одна "нехорошая" :) девочка подкинула мне тут задачку.

Составить диаграмму классов управления проектами, используя такое примерно описание:

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


Более корректная и оригинальная формулировка
Требуется разработать модель системы управления проектами.
Компания состоит из отделов, в которых работают работники. Отдел отвечает за ноль, один или несколько проектов. Компания имеет название, адрес и телефон. Отдел имеет название и руководителя-работника. Проект имеет название и сроки. Каждый служащий характеризуется именем, адресом и участвует в одном или нескольких проектах. Каждый проект имеет руководителя-работника. Работник выполняет в проекте одну или несколько ролей (например, программист, проектировщик).



Какие варианты?
« Последнее редактирование: 25 Декабря 2007, 13:50:30 от Galogen »



Мой вариант:

« Последнее редактирование: 11 Июля 2010, 23:20:38 от Galogen »



Серега, кончай бузить :)

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

Тренарная связь - ее лучше избегать, можно ли ее считать атомарной в данном случае? И нельзя ли ее декомпозировать.

ну насчет 2 могет быть
насчет 3 возможно - возобладал здравый смысл, + запись о том что один из работкников отдела и является его руководителем

4 крыша у тебя не едет - она у меня едет :(

С точки зрения ER класс ассоциации будет фактически таблицей связью с дополнительными атрибутами: работник проект роль (вся коллекция уникальная)



Вот еще прочтение

« Последнее редактирование: 11 Июля 2010, 23:22:39 от Galogen »



Опять 25.
Сережа, расслабся. Скажи я Солнце, большое горячее солнце. У меня теплые уши и мне очень хорошо :)

По сути я же запостил свой вариант самый первый, в надежде, что никто еще не посмотрел задачку.

Так коррекция введена, работаем по ее оригинальной форме.

Мне интересно не само решение, а то что этих решений не может быть ровно 1, что их будет много, поскольку либо не хватает ограничений на выборку одного, либо просто конечная цель может решаться разными путями

Я не против тренарных ассоциаций, и они тут вполне уместны.

Не очень понимаю твою аргументацию по поводу невозможности использовать тут класс ассоциации

в одном проекте работают много работников
один работник может работать над разными проектами имея конкретную роль. налицо атрибут свзяи - роль, т.е. класс ассоциации.

естественно можно представить и как тренарная ассоциация, однако ее реализация явно сложнее, чем класс ассоциации, и к тому же, что она отображает, чего не отображает класс ассоциации? Ты про бинарность, ну хорошо, чем плохо, чего будет не так?

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

Это хорошо! Это есть некое доказательство качества исходной формулировки, согласен?
« Последнее редактирование: 25 Декабря 2007, 17:56:31 от Galogen »



Эд, для разработки модели системы концептуальной модели структуры предметной области маловато. Так цель достигнута или нет?



Ден, цель пока не достигнута.

Предложено всего два варианта по сути, более того вариант от Сергея построен на примерном описание, а не оригинальном. За что он меня отругал :)

Интересно понять, чего собственно не хватает? Какие вопросы у аналитика требований могут возникнуть к такому описанию?

Например, у меня возникают такие:
1. Не означает ли тот факт, что руководитель отдела, отвественного за тот или иной проект, и есть руководитель проекта?
2. Руководитель  проекта назначается из работников компании или это может быть сторонний человек?
3. Какая информация о роли должна моделироваться. Например, я вообще бы сделал роль атрибутом в некоторой сущности Назначение (Проект, Работник, Роль), а Роль сделал бы перечислением.
4. Могут ли отделы состоять из подразделений?

Ну и наконец, какие навыки должна проверить задача в данной формулировке?



В прочем, давайте расставим точки над i.

Задача чисто учебная. Полная ее формулировка такова:
Требуется разработать модель системы управления проектами.
Компания состоит из отделов, в которых работают работники. Отдел отвечает за ноль, один или несколько проектов. Компания имеет название, адрес и телефон. Отдел имеет название и руководителя-работника. Проект имеет название и сроки. Каждый служащий характеризуется именем, адресом и участвует в одном или нескольких проектах. Каждый проект имеет руководителя-работника. Работник выполняет в проекте одну или несколько ролей (например, программист, проектировщик).
Нарисовать концептуальную модель – диаграмму классов (class diagram), иллюстрирующую состав системы управления проектами.

Т.е. по сути реализовать концептуальную модель. Как мы помним назначение концептуальной модели - предоставить словарь предметной области. В данном случае предметная область ограничена описанием набора объектов-классов и возможных связей между ними.

Если поставить вопрос так: достаточно ли этих сведений для реализации единственно верного решения? То ответ ясен - не достаточно

Если поставить вопрос: возможны ли разные реализации концептуальной модели на базе существующей формулировки - ответ да возможны.

Что имеет смысл изменить в формулировке (добавить, убрать) чтобы добиться по возможности единственного решения



вот бы в диаграмме все это увидеть, былобы счастье
Мой блог http://lanetz.ru



вот бы в диаграмме все это увидеть, былобы счастье
Диаграмму свою восстановил, чужие нет- автору удалил свое сообщение



я  почему то думал что отдел состоит из работников (отношение композиция)
Мой блог http://lanetz.ru



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

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

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



ясно :)
Мой блог http://lanetz.ru




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19