Функциональные требования

advertisement
Требования к функциональной организации
Основные объекты сервиса
Основными объектами системы являются ресурсы, рабочие группы и
пользователи.
Ресурсы
Ресурс — это обобщенное название любого контента, с которым можно
оперировать в сервисе. Все ресурсы имеют набор метаданных, владельца пользователя, который принес в систему данный ресурс, а так же группу, в
которой находится ресурс. В то же время ресурсы могут различаться
структурой, способом хранения, методом доступа.
На данный момент существует 4 типа ресурсов системы

Документ
—
ресурс,
которому
соответствуют
загруженный
пользователем файл.

Сообщение — ресурс, представляющий собой минимальные элементы
коммуникаций между пользователями.

Ссылка — ресурс, указывающий на какой-либо контент внутри или вне
системы.

Вики-страница.
Рабочие группы
Рабочая группа (далее просто группа) — объект который представляет
объединение одного и более пользователей для выполнения совместной
работы.
Пользователи.
Пользователь — это объект, который представляет реального пользователя
системы. Каждый пользователь имеет уникальное имя и список ролей, на
основе которых определяется его права в системе.
Варианты использования
Ключевые варианты использования сервиса представлены на Рис. 2.
Рисунок 1: Диаграмма вариантов использования системы
На данной диаграмме показаны какие действия можно выполнять в системе
и какие роли могут их выполнять.
Как видно из диаграммы, в системе определены 4 роли.

Anonymous — незарегистрированный пользователь системы. Может
пройти регистрацию в системе, осуществлять поиск и просмотр
открытых ресурсов.

Ordinary User — обычный пользователь системы. Может работать с
ресурсами в системе (CRUD), создавать/вступать в рабочие группы,
просматривать профили пользователей.

Group Ower — владелец рабочей группы. В дополнение ко всем правам
пользователей, может управлять рабочей группой, а именно, правами
доступа к ресурсам группы, членством в группе.

Administrator — администратор сервиса. Пользователь с данной ролью
имеет те же права, что и обычный пользователь, а так же возможность
производить управление сервисом.
Далее будут рассмотрены ключевые варианты использования сервиса,
сгруппированные по областям, к которым они относятся. Отметим, что
вопросы разделения доступа к ресурсам системы будут рассмотрены в
следующих главах.
Управление ресурсами.
Данный функционал представлен на диаграмме тремя компонентами:
«просмотр ресурсов», «создание/изменение ресурсов» и «поиск ресурсов».
Данные компоненты описывают все действия, которые пользователь может
производить со всеми типами ресурсов системы. Рассмотрим подробно, какие
операции может производить пользователь.
Просмотр страницы ресурса. Каждый ресурс имеет страницу, где
выводится полная информация о данном ресурсе. Она включает в себя
название, владельца и полный список метаданных и тегов.
Редактирование метаданных ресурса. Пользователь может редактировать
существующие теги и метаданные ресурса, а так же добавлять и удалять поля
метаданных. Выбор новых полей метаданных осуществляется из списка
допустимых полей, который построен в соответствии со стандартом Dublin
Core.
Поиск ресурсов. Пользователю доступен механизм поиска ресурсов по
всему сервису.
Кроме общих для всех ресурсов действий, каждый тип ресурса определяет
свой набор операций, которые может производить пользователь с ресурсом
данного типа. Рассмотрим операции для каждого типа ресурса.
Документ
Для каждой рабочей группы в сервисе создается виртуальная файловая
система, где участники группы могут размещать свои документы. Поэтому
пользователи могут выполнять следующие действия:
Просмотр дерева каталогов.
Загрузка/просмотр/изменение документов. Изменение подразумевает не
замену существующего документа, а создание новой версии данного
документа. Таким образом пользователь может получить доступ к любой
версии документа.
Создание/просмотр/редактирование каталогов.
Данные операции могут проводиться как через веб-интерфейс, так и по
протоколу WebDAV[14].
Сообщение
Основным способом взаимодействия пользователей является система
обсуждений. Данная система позволяет пользователю написать сообщение в
рабочую группу. В системе сообщений можно выделить два объекта —
сообщение и обсуждение. Сообщение — это ресурс, содержащий текст
сообщения, автора и набор полей определяющих принадлежность данного
сообщения к определенному обсуждению. Обсуждение
—
это набор
сообщений, посвященных определенной тематике. Обсуждение образуется,
когда пользователь отвечает на какое-либо сообщение.
Таким образом у пользователя должна быть возможность выполнять
следующие действия:
Просмотр
списка
обсуждений.
обсуждений.
Пользователь
Каждая
может
группа
посмотреть
имеет
свой
список
набор
обсуждений,
отсортированный по дате, названию и автору обсуждения.
Просмотр содержимого обсуждения. Обсуждение представляется в виде
дерева. Каждое сообщение (включая корневое) является узлом дерева. Все
ответы на данное сообщение являются детьми данного узла.
Ответ
на
пользователь
сообщение
может
в
ответить
обсуждении.
на
При
произвольное
просмотре
сообщение
обсуждения
в
дереве
обсуждения.
Создание
нового
обсуждения.
Пользователь
может
создать
новое
обсуждение в группе, которое отобразится в списке обсуждений.
Редактирование сообщений. Администратор группы (Group Owner) может
редактировать или удалять сообщения в группе, если они не соответствуют
правилам группы.
Работа с сообщениями посредством внешних сервисов. Пользователь
может работать с сообщениями (т.е. получать и отсылать) посредством
внешних сервисов, например с помощью электронной почты или систем
мгновенных сообщений (Instant Messaging). На первом этапе необходимо
реализовать получение уведомлений о новых сообщениях по электронной
почте.
Вики-страница.
Вики технология является удобным и понятным средством организации
практически любых данных [5]. Вики характеризуется такими признаками:

Возможность многократно править текст посредством самой вики-среды,
без применения особых приспособлений на стороне редактора.

Особый язык разметки — так называемая вики-разметка, которая
позволяет легко и быстро размечать в тексте структурные элементы и
гиперссылки; форматировать и оформлять отдельные элементы.

Учёт
изменений
страниц:
возможность
сравнения
редакций
и
восстановления ранних.
Соответственно
пользователь
сервиса
должен
иметь
возможность
производить следующие действия:
Просмотр страницы. При просмотре пользователь может выбирать какую
версию страницы смотреть.
Создание и редактирование страницы. При редактировании страницы
должен использоваться общепринятый диалект вики-разметки. Допустимы
расширения разметки с учетом специфики системы, например расширение
синтаксиса структуры создания гиперссылки для более удобной работы с
внутренними ресурсами сервиса. Кроме того, сервис должен хранить историю
изменений каждой страницы.
Групповая работа.
На диаграмме вариантов использования (Рис. 2) работа с группами
представлена следующими действиями.
Просмотр списка рабочих групп. Пользователь может посмотреть список
существующих рабочих групп, включающий в себя название и описание
группы.
Вступление в рабочую группу. В зависимости от политики безопасности в
группе это действие может потребовать подтверждение владельца группы.
Создание группы. При необходимости пользователь может создать свою
рабочую группу и пригласить туда участников.
Управление членством в группе. Владелец группы может приглашать в
группу новых пользователей и удалять существующих.
Управление доступом к содержимому группы. Владелец группы может
устанавливать права доступа к ресурсам группы.
Профиль пользователя.
Третья группа вариантов использования на диаграмме — работа с
профилем пользователя. Каждый зарегистрированный пользователь имеет
свой профиль, содержащий личные данные (имя пользователя в системе,
адрес электронной почты, пароль, анкетные данные) и персональные
настройки системы. Соответственно пользователь может:
Просматривать анкетные данные других пользователей.
Просматривать и редактировать данные своего профиля. Исключение
составляют два поля профиля — имя пользователя в системе и адрес
электронной почты, указанный при регистрации.
Регистрация в системе.
Для получения доступа к сервису, пользователь должен представиться
системе,
т.е.
пройти
процедуру
аутентификации.
Поэтому
в
системе
пользователь должен иметь возможность выполнять следующие действия:
Регистрация.
Вход в систему.
Download