MyWackoSite: Вам запрещён доступzonemng/SRS3 ...

Home Page | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация | Вход:  Пароль:  
Это старая версия zonemng/SRS3 за 2008-07-01 09:32:23..

Zonemng Software Requirement Specification

Введение

Определения

Система – совокупность Агента, установленного на некотором конкретном Сервере, и данных, которыми оперирует Агент.
Сервер – компьютер, работающий под управлением ОС Solaris 10, на котором установлена и запущена Система.
Агент – приложение, исполняемое на Сервере, которое получает RPC-запросы от Клиента, совершает в соответствии с запросом действия над Системой и/или Сервером, и возвращает некоторый результат выполнения запроса Клиенту.
VT: Необходимо подумать над тем как будет реализована аутентификация и авторизация пользователя при взаимодействии клиента с агентом. Но это уже углубление в архитектуру, поэтому здесь я не буду расписывать возможные варианты
Клиент – приложение, исполняемое на компьютере Пользователя Системы, предоставляющее интерфейс между Пользователем Системы и Агентом, т.е. в соответствии с действиями Пользователя Системы отправляющее RPC-запросы к Агенту, получающее результат от Агента, и отображающее результат в удобном для Пользователя Системы виде.
Пользователь Системы – человек, работающий с Клиентом.
Профиль Пользователя Системы – некоторая информация в Системе, которая может быть связанна с каким-либо Пользователем Системы.
Авторизованный Пользователь Системы – Пользователь Системы, с которым ассоциирован некоторый Профиль Пользователя Системы.
Неавторизованный Пользователь Системы – Пользователь Системы, с которым не ассоциирован ни какой Профиль Пользователя Системы.
Роль – часть Профиля Пользователя Системы, отвечающая за то, какие действия может совершать Авторизованный Пользователь Системы, ассоциированный с этим Профилем Пользователя Системы.
Ресурс – некоторый физический или программный объект, который разделяется между приложениями, работающими на Сервере.
VT: Не совсем так, к примеру, количество зон или количество ZR'ов не будет являться ресурсом по этому определению.
По поводу введения понятия пермиссии, то есть разрешения на выполнение определенной операции. Мы обсуждали это с Alexey Romanenko?, но насколько я помню так и не пришли к однозначному выводу. Есть 2 варианта – считать пермисии лимитом на ресурс, который может принимать булевы значения, либо ввести понятие пермиссии и рассматривать их отдельно от ресурсов. Но после некоторых размышлений я всё же больше склоняюсь ко второму варианту, так мне он кажется более прозрачным и он вписывается в мое представление архитектуры. Если мы решим разделить ресурсы и пермиссии, то тогда ресурсом можно будет считать количественную характеристику набора бизнес объектов, ввести несколько разных типов ресурсов и применять для каждого из этих ресурсов свою стратегию управления, но здесь речь заходит об архитектуре, но о ней мы говорить в SAD'е (Software Architecture Document) :)
Для того чтобы не путать понятия ресурса OS Solaris и ресурса нашей системы можно ввести разделение: первый называть системным ресурсом, второй – бизнес-ресурсом. Для того чтобы не было путанницы можно ввести такое правило: все с чем мы работаем на уровне бизнес-логики называть бизнес-(ресурс, объект, сервис) или просто (ресурс, объект, сервис), аналогичные понятия системного уровня называть системными-(ресурсами, объектами, сервисами))

Лимит – ограничение Профиля Пользователя Системы по некоторым его элементам или ограничение по действиям Авторизованного Пользователя Системы, ассоциировнного с данным Профилем Пользователя Системы.
VT: Думаю, проще и понятнее такое определение: лимит – ограничение сверху на количество используемого Пользователем Системы ресурса
Сервис – некоторая услуга, предоставляемая пользователю.
VT: Нужно решить будут ли сервисы добавлять собственные ресурсы, например количество виртуальных хостов в Apache – это необходимо обсудить, поскольку сильно влияет на архитектуру подсистемы сервисов

Сокращения

ПС – Пользователь Системы
UC – Use Case

Общее описание

Цель

Основными целями проекта является создание системы, которая позволит:

ОС Solaris 10

Причины, по которым была выбрана ОС Solaris 10:

Схожие програмные продукты

Parallels Plesk – система автоматизации хостинга.
Parallels Virtuozzo – система виртуализации для Linux – аналог зон в Solaris 10.
Solaris Container Manager – система для облегчения управления зонами в ОС Solaris.

Роли (система управления правами)

Краткое описание Ролей и их места в Системе в целом:
1) Administrator (root Сервера)
2) Zone-reseller (root Сервера с ограниченными правами)
3) Zone-owner (root внутри зоны)
4) End-user (user внутри зоны)

Профиль Пользователя Системы

Профиль ПС в первую очередь включает в себя:
1. Логин и Пароль, знание Пользователем Системы которых является достаточным условиям для ассоциации Профиля ПС с этим Пользователем Системы (процесс Авторизации).
2. Флаг приостановки Профиля ПС – означает временную невозможность авторизоваться в Системе, а также возможную приостановку всех подчиненных Профилей ПС, использованных ресурсов и зон.
VT: Можно просто назвать это статусом ПС. Что понимается под «приостановкой использованных ресурсов»? Может имелось ввиду «остановкой действующих сервисов»?
3. Персональная информация ПС – имя, фамилия, e-mail, дата создания.
VT: Сюда можно добавить и другие поля (адрес, телефон, факс, язык (в зависимости от него меняется локализация приложения-клиента))
4. Роль, определяющая дальнейшее содержание профиля, а также действия, которые может совершать Авторизованный ПС.

Далее, содержание профиля зависит от Роли:
1) Zone-reseller
2) Zone-owner
3) End-user

Лимиты

Пользовательские лимиты подразделяются по Ролям – Авторизованый ПС соответствующей роли имеет соответствующие лимиты.
1) Zone-reseller
не понятно, если ZR создал зону и знает ее пароль, то он может отдать комуто этот пароль отдав т.о. зону, не создавая дополнительного пользователя ZO. тогда какой смысм в ограничениях на максимальное количество ZO
VT: Ресурсы типа «количество ZO» и «количество зон» – это разные ресурсы. Реселлер может поступить как описано выше, но тогда такие "Zone Owner'ы?" теряют все премущества использования нашего web-клиента

2) Zone-owner
Все лимиты для Профилей ПС этой роли задаются лимитами зон, находящихся в подчинении.
3) End-user

Также существуют лимиты (в общем случае ресурсы) на зону: Определится с лимитами более точно
непонятно абсолютно аналогично лимитам для ZR
VT: Здесь и правда не совсем понятно как технически ограничить число пользователей зоны. Видимо придеться убрать этот ресурс и соответственно ограничение на число EU.
B: еще вариант – не давать рутового доступа для пользователей типа Zone-owner, тогда ограничение будет иметь смысл; можно еще сделать два варианта по выбору для каждого профиля владельца зоны – предоставить/ограничить рутовый доступ, тогда все нормально будет

Шаблоны

В системе планируется много мест, в которых будет происходить создание какого-то объекта (пользователя, зоны, аккаунта веб-сервера, и т.д.). Пунктов, которые нужно заполнять при создании объекта достаточно много при тонкой настройке. Также возможны некоторые пре- и пост- действия (после создания end-user аккаунта создать аккаунт для него в зоне с веб-сервером + настроить виртуальные хосты в случае апача). Для облегчения типовых задач – создание некоторого сценария создания + автозаполнение полей форм.
Обязательно необходимо реализовать шаблоны:
наверно надо специфицировать более точно, что будет включаться в каждый шаблон не в UC, а отдельным документом
и наверно стоит реализовывать шаблоны в самую последнюю очередь, т.к. в данный момент не все понятно
VT: Согласен, в принципе, это дополнительная, хотя и важная функциональность, ее отсутствие не будет блокировать основные UC.

Общие требования

Протокол взаимодействия Клиента и Агента

В качестве основного протокола взаимодействия Клиента и Агента должен быть XML-RPC.

Клиенты

Два типа Клиентов:
1. Web-приложение (вероятно PHP5)
1. Настольное приложение (вероятно Java) вопрос о востребованности данного приложения – либо не реализовывать, либо очень низкий приоритет
Общие требования:
язык возможно будет пока один, но обязательна возможность добавления других языков

Установка, конфигурирование, отладка:
Должны существовать утилиты для обслуживания системы:
  1. Инсталятор Агента на Solaris. Должен включать в себя утилиту для создания пользователя-администратора и смены его пароля.
  2. Инсталятор web-клиента на web-сервер.

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

Неавторизованный ПС

Для следующих UC необходимым требованием является, что ПС является Неавторизованным ПС.
1) Login (Авторизация) ??слишком детализовано? ??
VT: Да, я думаю не стоит так подробно расписывать, достаточно тяжело воспринимать UC целиком. Может стоит задействовать UML (хотя на это уйдет дополнительное время)?
B: его надо было использовать с самого начала, а не писать SRS. если сделать не сильную детализацию и только диаграмму для UC то уйдет не так уж много времени; а каждый UC можно будет документировать по мере его создания
Предусловие: То, что ПС является Неавторизованным ПС по сути означает, что либо ПС только что запустил Клиент, либо что ПС применил Logout
Сценарий:
1. Запрашиваются логин и пароль. Пароль не должен отображаться на экране в явном виде.
2. Пользователь нажимает кнопку входа в систему
3. Клиент производит начальную проверку введенных данных – является ли логин и пароль введенные пользователем корректными логином и паролем в Системе. Если не являются – происходит возврат на шаг 1, причем поле логин должно быть автоматически заполнено изначально введенными ПС на 1-м шаге данными. Если являются – отсылается запрос Серверу, проверяется существование Профиля ПС с такими логином-паролем. Если проверка завершилась успешно – устанавливается привязка ПС (точнее Клиента) к этому Профилю ПС. В противном случае – переход на шаг 1 с сообщением об некорректном логине и пароле и автозаполнением логина старым значением.
Дополнительные пожелания:
Все сообщения об ошибках должны выглядеть одинаково.
Должна быть в некотором виде система защиты от подбора пароля – например максимальное число попыток входа с одного IP-адреса. При большом количестве неудачных попыток входа каким-либо образом должны быть отправлено сообщение администраторам системы.

Авторизованный ПС

Для следующих UC необходимым требованием является, что ПС является Авторизованным ПС.
1) Logout (Выход из Системы)
Описание: текущий ПС становится Неавторизованным ПС и переводится на страницу авторизации.

2) Смена пароля
Описание:
1.Запрашиваются текущий пароль, новый пароль и подтверждение нового пароля.
2. Если введеный текущий пароль не является паролем текущего Профиля ПС – переход на шаг 1 с сообщением о том что старый пароль неверный.
3. Проверяются новый пароль и подтверждение на корректность и совпадение. В случает неудачи – соответствующие сообщения об ошибке.
4. Происходит изменение пароля текущего Профиля ПС на новый.

По ролям

Для следующих UC необходимым требованием является, что ПС является Авторизованным ПС и Профиль ПС имеет роль, указанную в заголовке.

Administrator

Вам запрещён доступUC роли Администратор

Zone-reseller

Вам запрещён доступUC роли Zone Reseller

Zone-owner

Вам запрещён доступUC роли Zone Owner

End-user

Сервисы
1) Просмотр доступных сервисов
Идея:
Просмотр доступных сервисов (т.е. включенных для данного пользователя) в виде списка, с возможностью быстрого перехода к «Настройки/использование сервиса» каждого конкретного сервиса.

2) Настройки/использование сервиса
Примечание:
Что именно должно быть реализовано в данном пункте определяется для каждого сервиса по своему. Для дополнительной информации см. Вам запрещён доступService SRS.
Лимиты
1) Просмотр своих лимитов.
Идея:
Просмотр потребления основных своих ресурсов и соответствующих им лимитов
Описание:
Должны отображаться следующие поля:
дисковая квота: доступно/использовано
сетевой траффик за месяц: доступно/использовано

 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]