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

×


Диаграмма классов: начало (Прочитано 6384 раз)
Диаграмма классов: начало : 22 Апреля 2012, 18:21:25
Начали проходить диаграмму классов, но возникла острая проблема непонимания)
Собственно вот само задание:
1. Для встановлення зв’язку між робітником і його кваліфікацією використовується досвід роботи, який вимірюється у роках.
2. Робітник може керувати іншими робітниками як менеджер, однак кількість таких робітників не може перевищувати п’яти. Для конкретного робітника, що є менеджером, можна встановити, ким саме він керує, однак визначити, хто є менеджером у конкретного робітника не можна.
3. Дія може мати не більше однієї попередньої дії і будь-яку кількість наступних дій, що дає можливість визначати порядок дій. Для певної визначеної дії можна визначити перелік наступних дій (якщо вона такі має), однак не можна визначити попередні (навіть якщо вона їх має).
4. Робітник не просто пов’язаний з набором кваліфікацій, він має кваліфікації. Зокрема, робітник може мати три чи більше різновидів кваліфікації, будь-яка кількість робітників може мати такі ж самі кваліфікації.
5. Проект не просто пов’язаний з набором дій, проект містить дії. Зокрема, проект повинен мати одну чи більше дій, і дія має належати лише одному проекту.
6. Проекти і дії є особливими типами роботи.

Мои размышления по этому поводу:
1.  В атрибуте писать "опыт работы"?
2. Работник будет входить сам в себя (0..1 -- 1..5), но каким образом мы будет устанавливать кем именно он управляет? через видимость?
3. похоже на задание 2. наверно)
4. с этим вроде понятно: связь (* -- 3..*)
5. ?
6. ?
Заранее спасибо, если кто-то будет возиться и наставлять на истинный путь




Re: Диаграмма классов: начало Ответ #1 : 22 Апреля 2012, 19:40:33
Алекс. Для начала предлагаю беседовать на русском. Т.е задание следует перевести на русский язык. если ты предполагаешь получить помощь. Это важно и для того, чтобы точно понять задание, а не приблизительно.

Спасибо за понимание



Re: Диаграмма классов: начало Ответ #2 : 22 Апреля 2012, 19:52:28
Для установления связи между рабочим и его квалификацией используется опыт работы, который измеряется в годах.
2. Работник может управлять другими работниками как менеджер, однако количество таких работников не может превышать пяти. Для конкретного работника, что является менеджером, можно установить, кем именно он руководит, однако определить, кто является менеджером у конкретного работника нельзя.
3. Действие может иметь не более одного предыдущего действия и любое количество следующих действий, что дает возможность определять порядок действий. Для определенной определенного действия можно определить перечень следующих действий (если такие имеет), однако нельзя определить предварительные (даже если их нет).
4. Рабочий не просто связан с набором квалификаций, он имеет  квалификацию. В частности, работник может иметь три или более разновидностей квалификации, любое количество рабочих может иметь такие же квалификации.
5. Проект не просто связан с набором действий, проект содержит действия. В частности, проект должен иметь одну или более действий, и действие должно принадлежать только одному проекту.
6. Проекты и действия являются особыми типами работы.

Извините, если возникли какие-либо трудности



Re: Диаграмма классов: начало Ответ #3 : 22 Апреля 2012, 20:40:20
Я бы провел свой анализ следующим образом

1. Для установления связи между рабочим и его квалификацией используется опыт работы, который измеряется в годах.
4. Рабочий не просто связан с набором квалификаций, он имеет  квалификацию. В частности, работник может иметь три или более разновидностей квалификации, любое количество рабочих может иметь такие же квалификации.
Чтобы это не означало мы имеем связь
Работник - Квалификация. Эта связь типа многие ко многим. Со стороны работника - это 0 или много, со стороны квалификации это скорее всего 1 или много, но можно явно указать 3 или много. Квалификация будет иметь атрибут Опыт работы типа целое число.

2. Работник может управлять другими работниками как менеджер, однако количество таких работников не может превышать пяти. Для конкретного работника, что является менеджером, можно установить, кем именно он руководит, однако определить, кто является менеджером у конкретного работника нельзя.
Это самоассоциация Работник (1..5) < - [менеджер] (1) Работник. Стрелка указывает возможность навигации, т.е. Для конкретного работника, что является менеджером, можно установить, кем именно он руководит

3. Действие может иметь не более одного предыдущего действия и любое количество следующих действий, что дает возможность определять порядок действий. Для определенной определенного действия можно определить перечень следующих действий (если такие имеет), однако нельзя определить предварительные (даже если их нет).
Действие (0..1) [предыдущее] - [следующее]{ordered или sequence} (*) Действие

5. Проект не просто связан с набором действий, проект содержит действия. В частности, проект должен иметь одну или более действий, и действие должно принадлежать только одному проекту.
Проект (1) - (1..*) Действие (здесь скорее всего агрегация)

6. Проекты и действия являются особыми типами работы.
Это обощение, т.е.
Работа обобщает Проект и Действие, иными словами Проект - это Работа, Действие - это Работа.

Рисуй, будем дальше думать



Re: Диаграмма классов: начало Ответ #4 : 22 Апреля 2012, 21:51:25
Цитировать
6. Проекты и действия являются особыми типами работы.
Это обощение, т.е.
Работа обобщает Проект и Действие, иными словами Проект - это Работа, Действие - это Работа.
обобщение завело в ступор, более привычно было слышать  наследование. А "Работа" это отдельный класс который  нужно создать?
И фактически у меня получилось 2 куска диаграммы, их как то нужно между собой еще соединить.
зы: вместо агрегации использовал декомпозицию, поскольку постольку  не нашел её в визио)
« Последнее редактирование: 22 Апреля 2012, 21:53:03 от Alex »



Re: Диаграмма классов: начало Ответ #5 : 23 Апреля 2012, 08:42:08
1. работник [менеджер] - замени просто на менеджер
2. вместо черного ромба используй полый и направь его в другую сторону вместе с кратностями
3. да создай Работу
4. от Проекта и Дейсвтия к работе проведи связь обощения generalization. Наследование это аспект реализация в ООП, обобщение - это абстракция классификации, обозначающая связь is a - это есть
5. учи матчасть




 

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