Форум Сообщества Аналитиков
Общий раздел => Примеры => Тема начата: Logos от 17 Мая 2009, 17:12:47
-
Здравствуйте. Вот нужна помощь по созданию диаграммы. Судя по всем примерам форума, подобного я так и не увидел. У нас преподователь немного пошутил - для получения автомата по его предмету нужно создать 8 диаграм для своего проекта. У меня это сайт, а точнее "музыкальный портал". Берусь за голову, так как не могу сказать, что полностью понимаю весь алгоритм создания этих диаграм. Но то что смог, то сделал. Прошу помочь в оценивании, можете судить строго (не обижусь) :) Сдавать нужно уже до конца недели, хотя бы половину из заданного.....Надеюсь на помощь :(
Показываю свою use case diagram:
-
Зачет. Все понравилось
-
Ошибки:
1. У вас разный уровень абстракции, одни ВИ - общие, другие - уже на уровне функции Системы. Например, ВИ "Пользование форумом" очень общий, он должен включать, как минимум, ВИ "Создать новую тему", "Ответить в теме" и т.д. Нужно понимать, что ВИ - это в первую очередь ЦЕЛЬ Пользователя по отношению к Системе, т.е. конечное действие, которое делает с Системой Пользователей для получения ценного для него результата.
2. Название ВИ должно образовываться от глагола, например, "Добавить статью".
3. У Вас нет иерархии Актеров. Например, у Вас должен быть Зарегистрированный Пользователь, которые может выполнять основные ВИ, и Админ, который наследует все от Пользователя и может выполнять специфические для Админа ВИ.
4. Назначение многих ВИ непонятно, поэтому нужно хотя бы краткое описание каждого ВИ. Нужно помнить, что в ВИ самое главное это его описание (спецификация ВИ) и уже потом Диаграмма.
-
Я понимаю, что действительно каша....но я и сам не в восторге, ведь наш "любимый" преподователь не замарачивался с обьяснением как сделать всё в сумме :(
Попытаюсь исправить ошибки. А по поводу
А какие из них изображать, станет ясно, когда вы задачу поставите.
Задачи толком и я не знаю. Нужно просто создать ДВИ для моего проекта...уже и сам запутался.
Поверхностно напрашивается разделение функций на две большие группы - пользовательские (то, что будут делать посетители) и служебные (то, что будет делаться для поддержания сайта в состоянии, в котором посетители могут выполнять необходимые им действия). Это непересекающиеся множества (по кр. мере при грамотной раздаче прав они не должны пересекаться).
Как вариант, можно создать две разных диграммы разделения функций: пользовательскую и служебную.
-
Попытался сделать дви, которая будет отображать пользовательские функции, а также учел пожелания basa....
вот что вышло:
-
Попытался сделать дви, которая будет отображать пользовательские функции, а также учел пожелания basa....
Не все мои пожелания учтены, главная из которых - написать краткое описание каждого ВИ.
-
Вообще было бы хорошо сначала понять концепцию продукта.
А то вот вижу UC «Оставить комментарий на статью», а функциональности и роли, благодаря которым статьи на сайте появляются — не вижу.
-
Вот добавляю еще одну дви, которая будет отображать служебные функции.
А то вот вижу UC «Оставить комментарий на статью», а функциональности и роли, благодаря которым статьи на сайте появляются — не вижу.
Надеюсь эта дви покажет, кто добавляет статьи и другую информацию.
Ну и попробовал описать ВИ:
1. Загрузить информацию - выполняетса зарегистрированным пользователем. Пользователь имеет возможность скачивать видео, аудио файлы и изображения.
2. Зарегистрироваться на сайте - даёт возможность зарегистрироваться на сайте еще незарегестрировавшимся пользователям.
3. Искать по сайту - даёт возможность найти необходимую информацию всем пользователям.
4. Комментировать новость на сайте - возможность оставлять комментарии под новостями зарегистрированными пользователями.
5. Комментировать статью на сайте - возможность оставлять комментарии под статьями зарегестрированными пользователями.
6. Комментировать тему на форуме - возможность оставлять комментарии на форуме зарегестрированными пользователями.
7. Написать сообщение другому пользователю - возможность обмениваться сообщениями между пользователями сайта.
8. Обновить базу файлов - возможность добавлять файлы на сайте. Производится администратором, а также зарегистрированным пользователем.
9. Просмотреть информацию - возможность просмотра информации на сайте. Предостовляется всем пользователям.
10. Просмотреть тему на форуме - возможность просмотра тем на форуме. Предоставляется всем пользователям.
11. Редактирование кода и компонент - возможность изменения кода сайта, а также настройки компонент и скриптов. Производится кодером.
12. Редактировать внешний вида сайта - возможность изменения внешнего вида сайта. Производится дизайнером.
13. Добавлять и редактировать информацию - возможность добавлять, изменять и коректировать информацию на сайте. Предоставляется администратору и зарегестрированным пользователям (частично).
14. Создать новую тему на форуме - возможность создания новой темы на сайте. Предоставляется модератору, администратору и зарегестрированным пользователям.
15. Аренда серверов - выполняется администратором и необходима для поддержки хостинга.
16. Тестирование - проверка на работоспособность сайта. Производится администратором.
17. Удалить тему на форуме - возможность удаления темы на сайте. Предоставляется модератору, администратору и зарегестрированным пользователям.
18. Управление форумом - возможеность управления форумом в целом. Предоставляется модератору.
19. Установка рекламы на сайте - возможность вывешивания рекламы на сайте. Производится администратором.
-
Кстати, по поводу замечания basa о иерархии актеров, а именно зарег.пользователя и админа, немного запутался...Не могли бы Вы посмотреть на послдние 2 дви и написать, если что не так....пора уже браться за следующие диаграммы :(
Заранее спасибо!
-
Советую спросить у ваших друзей. Они вам помогут. =)
-
Вся ошибка подобных курсовых и заключается в непонимании преподавателей для чего все это делается.
Они ставят перед собой одну цель - нарисовать диаграмму, не задумываясь особо о том, что это и для чего ее создают.
Вообще попытка применения UML для очевидных вещей иногда кажется излишней.
Лучше бы давали задание описание сделать 1-2 вариантов использования, например, с использованием include или extend. В головах бы осталось намного больше. А когда видишь попытки нарисовать студентом ВИ для большой системы понимаешь, что цель нашего образования не в знаниях а в процессах. Нарисуй и получишь 5, а что студент нарисует по фигу.
Сорри за лирическое отступление.
Теперь по диаграмме :)
1. Не надо все лепить в одну кучу. Разделите на несколько диаграмм так чтобы ВИ были сгруппированы по смыслу. Это упростит понимание
2. Не соглашусь с id'oй. Что значит ДЛ внутри системы? Такого не может быть. ДЛ всегда вне системы.
3. Плюйте на преподавателя и делайте как надо, если хотите научиться. Начните с ДЛ и их целей. Поймите, что пользователь хочет получить от системы и только после этого накидайте список ВИ и кратко их опишите, чтобы понимать суть. Только потом рисуйте диаграмму.
4. Если ваша цель - лишь сдать курсовик, то и имеющегося хватит на пятерку :) Не парьтесь больше.
5. По уровням абстракции уже сказали выше.
6. Если ДЛ взаимодействуют с ви и имеют одну цель, то обобщите их одной общей ролью и от этой роли протяните связь к ВИ. К ВИ может быть несколько акторов только если они имеют разные цели, например, Банковская система и Бухгалтер это 2 ДЛ для ВИ "Оплатить лицевой счет", какой-нибудь бухгалтерской системы.
А Админ и Пользователь для ВИ "Войти в систему" будут одним ДЛ, например, Незарегистрированный пользователь.
-
Долго думав, как поступить дальше, я решил разбить ДВИ на части, каждая из которых будет отвечать за определенный дейстия. Вышло их у меня 4.
1. ДВИ (входа в систему)
2. ДВИ (управления сайтом)
3. ДВИ (использования форума)
4. ДВИ (использования сайта)
-
1) ДЛ вне системы
Ко всем диаграммам) Не надо пытаться показать алгоритм работы системы. Для этого есть другие диаграммы.
Последняя диаграмма это нечто.
Я и не знал, что "музыкальный портал" может арендовать сервера и делать другие интересные вещи.
-
Я и не знал, что "музыкальный портал" может арендовать сервера и делать другие интересные вещи.
Дело в том, что в последней я просто не показал где система из-за того, что просто не очень красиво выйдет....но я думаю, что и так можно понять, что "администратор", "модератор", "дизайнер" и "кодер" очевидно находятся вне сисетмы.....ну а все остальное, в принципе, таки в ней :)
а что касается по поводу включения служебных функций, то мой "заказчик",а именно преподователь, хочет что бы они были на диграммах. так что приходиться лепить(