Покритикуйте проектирование Сайта ИСОГД(Прочитано 9468 раз)
День добрый. Пробую освоить UML на примере проектирования сайта Информационных систем обеспечения градостроительной деятельсности.

Какие услуги предоставляет сайт?
Выдача сведений о градостроительной документации и об объектах, задействованных в процессе градостроительства.  Инвестор и проектировщик, используя этот сайт, могут получить полный комплекс необходимой для выполнения предпроектных проработок информации.

В чем будут заключаться его функции?
Основной функцией сайта является предоставление зарегистрированным пользователям лимитированного доступа к коммерческой информации (картографическим и атрибутивным данным), необходимой для принятия следующих решений:
   о застройке;
   о возможности использования свободного земельного участка;
   о ходе рассмотрения заявлений, отправленных в подразделение местной администрации по градостроительству и архитектуре.
Так же всем остальным посетителям будет доступна общая информация в ознакомительных целях.



Re: Покритикуйте проектирование Сайта ИСОГД Ответ #1 : 02 Сентября 2010, 15:33:09

Вариант использования 1
Управление контентом.


Основное действующее лицо: Администратор.
Уровень: уровень моря.
Участники и интересы: Администратор хочет изменить содержание сайта: добавить, удалить или изменить новость, статью, главу, комментарий, ссылку.
Предусловия: пользователь вошел в систему под правами администратора.
Минимальные гарантии: контент не изменится в случае неудачи.
Гарантия успеха: Система заносит изменения в базу данных, контент изменяется.
Основной сценарий:
1.   Администратор запрашивает функционал управления контентом.
2.   Система предлагает выбрать вид контента (новости, статьи, главы, ссылки).
3.   Система предлагает выбрать тип действия.
4.   Администратор редактирует данный контент.
5.   Система заносит изменения в базу данных.
6.   Система обновляет контент сайта.


Вариант использования 2
Зарегистрироваться


Основное действующее лицо: Гость
Уровень: уровень моря.
Участники и интересы: Гость желает пройти регистрацию для получения статуса Зарегистрированного пользователя и доступных ему действий.
Предусловия: гость находится на сайте.
Минимальные гарантии: ничего не изменится.
Гарантия успеха: Гостю высылается на почтовый ящик ссылка для подтверждения регистрации. После прохождения подтверждения регистрации он может входить на сайт.
Основной сценарий:
1.   Гость предоставляет необходимые данные (ФИО, логин, пароль, подтверждение пароля, e-mail,  подтверждение e-mail’а, номер телефона).
2.   Система подтверждает уникальность логина и почтового ящика.
3.   Система хэширует пароль и сохраняет хэш пароля в БД.
4.   Система сообщает пользователю о завершении первого этапа регистрации и предлагает проверить почтовый ящик.
Расширения:
1а. Гость ввел пароль, длиной менее 6ти символов.
1а1. Система сообщает об этом пользователю и предлагает повторно ввести пароль.
   1б. Гость ввел несовпадающие пароли.
1б1. Система сообщает об этом пользователю и предлагает повторно ввести пароли.
1в. Гость ввел несовпадающие электронные адреса.
1в1. Система сообщает об этом пользователю и предлагает повторно электронные адреса.
     2а. Гость ввел существующий в БД логин.
2а1. Система сообщает об этом пользователю и предлагает повторно ввести логин.
   2б. Гость ввел существующий в БД электронный адрес.
2б1. Система сообщает об этом пользователю и предлагает зайти на (используя данные существующего электронного адреса).
2б2. Гость соглашается.
2б3. Активируется ВИ «Войти на сайт».
2б1.1. Гость отказывается.
2б1.2. Система предлагает поменять электронный адрес.


Вариант использования 3
Выполнить вход в систему


Основное действующее лицо: Гость, Администратор, Зарегистрированный пользователь
Уровень: уровень моря.
Участники и интересы: Гость хочет войти на сайт для получения возможностей использования коммерческой информации.
Предусловия: гость находится на сайте.
Минимальные гарантии: ничего не изменится.
Гарантия успеха: Гость меняет роль на Зарегистрированный пользователь, после чего ему становится доступен платный функционал. Если логину назначена роль «Администратор», то гость меняет роль на «Администратор», после чего ему становится доступен функционал управления сайтом.
Основной сценарий:
1.   Гость вводит логин и пароль.
2.   Система хэширует пароль.
3.   Система подтверждает идентификацию пользователя.
Расширения:
   3а. Гость ввел несуществующий логин.
      3а1. Система предлагает гостю пройти регистрацию (ВИ «Зарегистрировать нового пользователя»).
      3а2. Гость отказывается проходить регистрацию.
      3а3. Система предлагает ввести логин повторно.
3б. Гость ввел неверный пароль.
      3б1. Система предлагает гостю выслать новый пароль регистрацию (ВИ «Сменить пароль»).
      3б2. Гость отказывается менять пароль.
      3б3. Система предлагает ввести пароль повторно.


Вариант использования 4
Сменить пароль


Основное действующее лицо: Зарегистрированный пользователь, Администратор.
Уровень: уровень моря.
Участники и интересы: пользователь хочет сменить пароль. Так как в БД хранятся хэши паролей, то их восстановление невозможно.
Предусловия: пользователю назначена роль «Зарегистрированный пользователь» или «Администратор».
Минимальные гарантии: старый пароль не изменится.
Гарантия успеха: пользователь получит на электронный ящик новый пароль. Система заменит текущий хеш пароля на новый сгенерированный.
Основной сценарий:
1.   Система генерирует новый пароль.
2.   Система высылает пароль на электронный ящик пользователю.
3.   Система хэширует пароль.
4.   Система заменяет хэш пароля в базе и оповещает пользователя об удачной смене пароля.
Расширения:
-

Вариант использования 5
Просмотреть информацию о пользователе


Основное действующее лицо: Администратор.
Уровень: уровень моря.
Участники и интересы: Администратор хочет получить информацию о счетах, посещаемости, а так же общую информацию пользователя.
Предусловия: список пользователей не пустой.
Минимальные гарантии: Будет выдана общая информация о пользователе.
Гарантия успеха: Администратор получит всю интересующую его информацию о пользователе.
Основной сценарий:
1.   Администратор запрашивает список всех пользователей.
2.   Система возвращает список всех пользователей.
3.   Администратор выбирает конкретного пользователя.
4.   Система предоставляет все имеющиеся данные о пользователе.
Расширения:
1а. Администратор задает критерий выбора пользователей.
1а1. Система возвращает список всех пользователей, удовлетворяющих критерию/критериям запроса.
      4а. Администратор указал явно интересующие его данные.
      4а1. Система предоставляет все указанные явно данные о пользователе.



-------------------------------------------       *   *   *   -------------------------------------------
Работа с картой
-------------------------------------------       *   *   *   -------------------------------------------

Вариант использования 6
Найти по адресу

Основное действующее лицо: Зарегистрированный пользователь.
Уровень: уровень рыб.
Участники и интересы: Пользователь хочет найти интересующий его объект, расположенный по определенному адресу или возле него.
Предусловия: Пользователь находится в режиме просмотра карты; у пользователя есть доступная сумма на счету.
Минимальные гарантии: Экстент карты не изменится, сумма счета остается прежней.
Гарантия успеха: Экстент карты центрируется на указанном адресе, со счета снимется определенная сумма.
Основной сценарий:
1.   Пользователь начинает вводить название улицы.
2.   Система предоставляет выбор автоподстановкой.
3.   Пользователь выбирает улицу.
4.   Система предоставляет список зданий, находящихся на данной улице.
5.   Пользователь выбирает здание из списка.
6.   Система центрирует карту к указанному адресу с определенным масштабом.
7.   Система уменьшает счет пользователя.
Расширения:
      1а. Пользователь вводит ошибочное название улицы.
         1а1. Система сообщает об этом пользователю, прецедент завершается.


Вариант использования 7
Выбор информационного ресурса


Основное действующее лицо: Зарегистрированный пользователь, Гость.
Уровень: уровень рыб.
Участники и интересы: Пользователь хочет выбрать информационный слой для просмотра картографических данных и получения информации об объектах этого слоя.
Предусловия: Пользователь находится в режиме просмотра карты.
Минимальные гарантии: Пользователь останется на текущем слое, в котором он был до выбора нового ресурса. Счет пользователя не меняется.
Гарантия успеха: Пользователь сменит текущий слой на выбранный.
Основной сценарий:
1.   Пользователь выбирает слой.
2.   Система подтверждает выбор слоя.
3.   Система меняет слой, сохраняя экстент.
Расширения:
2а. Незарегистрированный пользователь (Гость) выбирает слой, доступный только для коммерческой информации.
         2а1. Система оповещает об этом пользователя, прецедент завершается.
      2б. У пользователя недостаточно средств на счету.
2б1. Система оповещает пользователя о недостаточном количестве средств на счету.
2б2. Система предлагает пользователю пополнить счет.
2б3. Пользователь соглашается. Начинается ВИ «Пополнить счет».
3а. Пользователь выбрал ресурс, предназначенный для коммерческого использования.
3а1. Система снимает установленную за операцию сумму со счета пользователя.
3а2. Система меняет слой, сохраняя экстент.


Вариант использования 8
Получение информации об объекте


Основное действующее лицо: Зарегистрированный пользователь, Гость.
Уровень: уровень моря.
Участники и интересы: Пользователь хочет получить атрибутивную информацию о пространственном объекте.
Предусловия: Текущий информационный ресурс поддерживает выборку по объектам.
Минимальные гарантии: ничего не изменится.
Гарантия успеха: Пользователь получит информацию об объекте.
Основной сценарий:
1.   Пользователь кликает по объекту на информационном ресурсе.
2.   Система выдает информацию о выбранном объекте.
3.   Пользователь может просмотреть более детальную информацию об объекте, нажимая соответствующие кнопки внутри окна диалога.
Расширения:
1а. Пользователь кликнул и не попал ни по одному объекту.
   1а1. Прецедент завершается.
2а. Пользователь выбрал объект, предоставляющий коммерческую информацию.
2а1. Система снимает установленную за операцию сумму со счета пользователя.
2а2. Система выдает информацию о выбранном объекте.




Re: Покритикуйте проектирование Сайта ИСОГД Ответ #2 : 02 Сентября 2010, 15:37:29
Use case
Кстати, это у меня БДВИ получилась? или системная?



Re: Покритикуйте проектирование Сайта ИСОГД Ответ #3 : 02 Сентября 2010, 15:50:37
Перечитал вчетвертый раз - заметил, что в ВИ8 есть пункт "2а1. Система снимает установленную за операцию сумму со счета пользователя." но нет проверки, есть ли деньги на счету, как в ВИ7 (2б).
Можно как-то вынести эту функцию и в дальнейшем ссылаться на нее? Потому цели будут добавляться, и каждая должна проверять, хватит ли денег на операцию



Re: Покритикуйте проектирование Сайта ИСОГД Ответ #4 : 02 Сентября 2010, 18:59:31
Перечитал вчетвертый раз - заметил, что в ВИ8 есть пункт "2а1. Система снимает установленную за операцию сумму со счета пользователя." но нет проверки, есть ли деньги на счету, как в ВИ7 (2б).
Можно как-то вынести эту функцию и в дальнейшем ссылаться на нее? Потому цели будут добавляться, и каждая должна проверять, хватит ли денег на операцию
Бегло, потом поговорим о вариантах. Я думаю, не стоит выносить функцию проверки. Это не вариант использования, если нет только такой цели как проверить баланс счета у пользователя. Тогда возможно.

Но я бы просто сделал это исключением в разделе альтернативных сценариев, типа:
В пункте 2а1. Недостаточно средств на счете
и далее соответствующие шаги



Re: Покритикуйте проектирование Сайта ИСОГД Ответ #5 : 03 Сентября 2010, 17:37:41
Я вывел все ВИ, у меня появилось несколько уровня воздушного змея (по Коберну), моря и рыб. Что отображать на диаграмме? Может сделать три диаграммы? Каждую на уровень.




 

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