Как правильно оформлять аналитические диаграммы?
От: Cynic Россия  
Дата: 28.12.10 00:20
Оценка:
Строя аналитические модели вариантов использования, я на определённом этапе стал сомневаться в том, что делаю это правильно. Поэтому решил привести Вам простой пример и выслушать ваши замечания. Что бы не вдаваться в детали рассмотрим основной поток варианта использования "Создать первую учётную запись":

1. Система предлагает пользователю ввести параметры учётной записи
2. Пользователь вводит параметры учётной записи и выбирает "Создать"
3. Система создаёт новую учётную запись и добавляет её в список учётных записей
4. Система сообщает пользователю, что учётная запись создана

План по этому варианту использования был таков:

1. Выделить роли и сущности
2. Построить аналитическую диаграмму иллюстрирующую реализацию этого варианта использования используя эти роли и сущности
3. Произвести классификацию ролей и соотнести их с одним из классов анализа
4. Построить аналитическую диаграмму иллюстрирующую реализацию этого варианта использования используя получившиеся классы анализа и сущности

Вот, что получилось:

Примечание:
1. Логику работы интерфейса и связанные с неё сущности и роли не рассматриваем;
2. Если кратность не указана, то она равна единице;
3. Пользователя на диаграммах не показываем;


1) Выделить роли и сущности:

1. [Интерфейс] Система предлагает пользователю ввести параметры учётной записи
2. [Интерфейс] Пользователь вводит параметры учётной записи и выбирает "Создать"
3. [Роль ] Система создаёт новую учётную запись
4. [Роль ] Система добавляет новую учётную запись в список учётных записей
5. [Интерфейс] Система сообщает пользователю, что учётная запись создана

Сущности: Система, Учётная запись, Список учётных записей
Роли: выше...

2) Построить аналитическую диаграмму иллюстрирующую реализацию этого варианта использования используя эти роли и сущности:



Здесь пиктограммами управляющих классов обозначены роли!


3) Произвести классификацию ролей и соотнести их с одним из классов анализа:

Поскольку обе роли описывают операции с учётными записями, я назвал соответствующий класс анализа "Менеджер учётных записей", и объединил обе роли в одну операцию "Создать учётную запись". Подразумевая, что создание учётной записи, автоматически означает её добавление в список учётных записей.

4) Построить аналитическую диаграмму иллюстрирующую реализацию этого варианта использования используя получившиеся классы анализа и сущности:



Здесь, я использовал стереотип "collaboration" и зависимость "trace", пытаясь подчеркнуть, что класс "Менеджер учётных записей" является результатом кооперации ролей "Создать учётную запись" и "Добавить учётную запись в список учётных записей".


Теперь вопросы которые меня волнуют:
1) Учётная запись — структура хранящая информацию о пользователе и его параметрах аутентификации. Список учётных записей — структура хранящая несколько Учётных записей. Я обозначил понятия Учётная запись и Список учётных записей, как сущность. Что вы об этом думаете?
2) На первой диаграмме, роли "Создать учётную запись" необходимо иметь доступ к структуре Учётная запись для того, чтобы пользователь смог ввести данные и её заполнить. А роли "Добавить учётную запись в список учётных записей" необходимо иметь доступ как к Учётной записи, так и к Списку учётных записей для его модификации. При этом Список учётных записей содержит несколько Учётных записей, что обозначается на диаграмме с помощью кратности и навигации. Правильно-ли я обозначил этот момент В данном случае смущает, что Учётная запись и Список учётных записей находятся в отношении агрегации. Должно-ли это повлиять на отображение ассоциаций на аналитических диаграммах?
3) Я использую на аналитических диаграммах навигацию. Нормально-ли это или лучше отложить до проектирования?
4) Верно-ли я использовал кооперацию("collaboration") на диаграмме?
5) В статьях в интернете я видел, что на аналитических моделях используют обозначения отношений(композиция, агрегация и т.п.) и сообщения. Стоит-ли так делать?

Вообще хотелось бы услышать, как правильно оформить аналитическую диаграмму данного варианта использования, а так-же послушать ваши за и против. Ведь это всегда очень полезно
:)
Re: Как правильно оформлять аналитические диаграммы?
От: Мемега Литва  
Дата: 30.12.10 12:39
Оценка: 1 (1)
Здравствуйте, Cynic, Вы писали:



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


>> Как правильно оформлять аналитические диаграммы?

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

Я, обычно, для UC рисую диаграмму деятельности (activity). То, что показано в примере, вроде как "robustness" называется. По ICONIX используется на разрыве между анализом и архитектурой.
Этими диаграммами и самими UC пользуется архитектор + скрум-мастер.

Диаграмма сущностей — рисую раньше, когда хочу разобраться с предметной областью.

Я попробую взять один UC с реального проекта и с диаграммами на свой сайт выложу, но не обещаю, что успею в этом году.
memega
Re[2]: Как правильно оформлять аналитические диаграммы?
От: Cynic Россия  
Дата: 03.01.11 22:41
Оценка:
Здравствуйте, Мемега, Вы писали:

М>Я попробую взять один UC с реального проекта и с диаграммами на свой сайт выложу, но не обещаю, что успею в этом году.


Жду с нетерпением
:)
Re[3]: Как правильно оформлять аналитические диаграммы?
От: Мемега Литва  
Дата: 04.01.11 13:27
Оценка:
Здравствуйте, Cynic, Вы писали:

C>Здравствуйте, Мемега, Вы писали:


М>>Я попробую взять один UC с реального проекта и с диаграммами на свой сайт выложу, но не обещаю, что успею в этом году.


C>Жду с нетерпением


Сегодня вечером займусь
memega
Re[4]: Как правильно оформлять аналитические диаграммы?
От: Cynic Россия  
Дата: 11.01.11 19:27
Оценка:
Здравствуйте, Мемега, Вы писали:

М>Сегодня вечером займусь


Ну и где Я уже заждался.
Я понял по картинкам с вашего сайта, что вы пользуетесь Enterprise Architect. Хотел Вас попросить кинуть какой нибудь завершенный проект для Enterprise Architect, чтобы я подсмотрел Ваши идеи
:)
Re[5]: Как правильно оформлять аналитические диаграммы?
От: Мемега Литва  
Дата: 15.01.11 07:15
Оценка:
Здравствуйте, Cynic, Вы писали:

C>Здравствуйте, Мемега, Вы писали:


М>>Сегодня вечером займусь


C>Ну и где Я уже заждался.

C>Я понял по картинкам с вашего сайта, что вы пользуетесь Enterprise Architect. Хотел Вас попросить кинуть какой нибудь завершенный проект для Enterprise Architect, чтобы я подсмотрел Ваши идеи

Дайте рабочий мейл, плиз, т.к. указанный в профайле не реагирует. Скину документ, нет времени оформлять на сайте
memega
Re[6]: Как правильно оформлять аналитические диаграммы?
От: Cynic Россия  
Дата: 15.01.11 21:13
Оценка:
Здравствуйте, Мемега, Вы писали:

М>Дайте рабочий мейл, плиз, т.к. указанный в профайле не реагирует. Скину документ, нет времени оформлять на сайте


O-o-ops Всё нормально с мылом, это спам-фильтр хулиганит
:)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.