Сценарии использования

Материал из Сервис Облачной Демократии
(Различия между версиями)
Перейти к: навигация, поиск
(Диаграмма)
 
(не показаны 37 промежуточных версий 2 участников)
Строка 1: Строка 1:
== Запуск ==
+
---TODO (на что обратить внимание)---
При первом запуске программы на компьютере ищется перечень ЭЦП пользователей которые ранее авторизировались. Если ни одного не нашло то предлагается создать ЭЦП, если нашло то предлагает авторизироваться (ввести пароль). Доступ к кнопке создания ЭЦП должен быть в любом случае, чтоб была возможность всегда завести нового пользователя.
+
* Просмотреть все существительные на предмет нового термина. Ввести новые термины
Одновременно с этим в другом потоке программа ищет "соседние" узлы и строит (редактирует) свой список узлов которые нашло, запрашивая адреса соседей у каждого найденного узла. В дальнейшем обмен технической и пользовательской информацией будет вестись через этих соседей, которые будут отранжированы по различным параметрам. Список соседей будет динамический и постоянно обновляемый.
+
* Просмотреть какие типы данных и протоколы используются в сценарии. Ввести новые данные и протоколы
== Создание ЭЦП == 
+
* Разобраться в действиях на каждом слое архитектуры
== Авторизация ==
+
 
== Главная страница и система меню ==
+
[[Файл:Gplvote usecase.jpg]]
== Регистрация в системе, получение доверия ==
+
== Создание ключей ==
 +
Ключи можно создать и без использования ПО системы. Для работы системы необходимо иметь следующие ключи:
 +
* Мастер ключ (public и private части). Ключ идентифицирующий пользователя
 +
* Транспортный ключ (public и private части). Public часть обязательно подписана хотя-бы одним мастер ключом
 +
 
 +
Также рекомендовано иметь идентифицирующий хэш (idhash), подписанный  мастер ключом (при отсутствии оного backend будет считаться анонимным).
 +
 
 +
Backend запускается в большинстве случаев автостартом с запуском системы. При запуске backend проверяет наличие мастер ключа, транспортного ключа и идентифицирующего хэша (idhash) по пути указанному в конфигурационном файле для backend или из командной строки. По умолчанию это хранилище GPG. При наличии ключей выполняется сценарий "подключение к сети". При отсутствии ключей и запущенном frontend они будут созданы автоматически (по пути указанному в конфигурационном файле). В процессе генерации ключа пользователю предлагается ввести данные для idhash. При отсутствии idhash, backend считается анонимным. После этого будет выполнятся сценарий "подключение к сети". В дальнейшем продвинутые пользователи могу перенести ключи в другое место, соответственно изменив настройки в конфигурационном файле.
 +
 
 +
== Подключение к сети ==
 +
После того как выполнена проверка наличия ключей, система попытается подключится к сети. Для этого нужно знать IP-адреса некоторых узлов из сети. При первичном ("холодном") запуске список таких адресов пуст. Чтоб получить хоть один узел из сети, система запрашивает его через сервер gplvote.org. В случае неудачи (если сервер gplvote.org по какой-либо причине недоступен) пользователю предлагается ввести адрес (или список адресов) других пользователей. В данном случае список адресов следует попросить у знакомого который уже пользуется системой (эта информация в виде подсказки должна быть рядом с полем для ввода списка адресов). Система будет снова пытаться подключиться к узлам из списка. Все успешные и неудачные подключения записываем в базу (адреса и доступность). Этот список будет использоваться в дальнейшем для поиска доступных узлов при соединении с "сетью".
 +
 
 +
При дальнейших запусках backend уже будет иметь список адресов и будет даже без запуска frontend пытаться подключится к сети. В случае неудач при подключении ко всем узлам из списка, пользователю при запущенном frontent будет предлагаться снова ввести список адресов доступных узлов. По ходу работы backend отсылает данных о своих соединениях некоторым "соседним" узлам, что позволяет последним модифицировать список доступных узлов сети.
 +
 
 +
Информация работы backend должна логироваться и/или выводится на frontnd
 +
 
 +
Доп. информация:
 +
*[http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D0%B0%D1%8F_%D1%85%D0%B5%D1%88-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0 Распределенная хэш таблица (DHT)]
 +
 
 +
== Подписывание чего либо ==
 +
== Основной интерфейс и система меню ==
 +
== Получение доверия ==
 +
== Создание субъекта голосования ==
 
== Поиск субъектов голосования ==
 
== Поиск субъектов голосования ==
 
== Поиск пользователей ==
 
== Поиск пользователей ==
 
== Вступление в субъекты голосования ==
 
== Вступление в субъекты голосования ==
 
== Подписи доверия и недоверия ==
 
== Подписи доверия и недоверия ==
== Распределение (делегирование) голосов ==
+
== Распределение (делегирование) голосов в субъекте голосования==
== Голосование открытое ==
+
== Голосования ==
== Голосование тайное ==
+
=== Открытое ===
 +
=== Тайное ===
 
== Общение пользователей ==
 
== Общение пользователей ==
== Инициация обсуждения в субъекте голосования ==
 
 
== Инициация голосования в субъекте голосования ==
 
== Инициация голосования в субъекте голосования ==
== Создание (и редактирование экспертами) субъекта голосования ==
+
== Модерирование инициаторов голосования ==
== Вступление в совет экспертов ==
+
Основной режим: проставление рейтингов инициаторам голосования.
 +
 
 +
Дополнительный режим: возможность совместного бана инициаторов "спама" вплоть до исключения из субъекта голосования.
 +
 
 
== Backup и восстановление данных пользователя ==
 
== Backup и восстановление данных пользователя ==
  
  
 
[[Category:Распределенная система]]
 
[[Category:Распределенная система]]

Текущая версия на 22:48, 26 марта 2012

---TODO (на что обратить внимание)---

Gplvote usecase.jpg

Содержание

Создание ключей

Ключи можно создать и без использования ПО системы. Для работы системы необходимо иметь следующие ключи:

Также рекомендовано иметь идентифицирующий хэш (idhash), подписанный мастер ключом (при отсутствии оного backend будет считаться анонимным).

Backend запускается в большинстве случаев автостартом с запуском системы. При запуске backend проверяет наличие мастер ключа, транспортного ключа и идентифицирующего хэша (idhash) по пути указанному в конфигурационном файле для backend или из командной строки. По умолчанию это хранилище GPG. При наличии ключей выполняется сценарий "подключение к сети". При отсутствии ключей и запущенном frontend они будут созданы автоматически (по пути указанному в конфигурационном файле). В процессе генерации ключа пользователю предлагается ввести данные для idhash. При отсутствии idhash, backend считается анонимным. После этого будет выполнятся сценарий "подключение к сети". В дальнейшем продвинутые пользователи могу перенести ключи в другое место, соответственно изменив настройки в конфигурационном файле.

Подключение к сети

После того как выполнена проверка наличия ключей, система попытается подключится к сети. Для этого нужно знать IP-адреса некоторых узлов из сети. При первичном ("холодном") запуске список таких адресов пуст. Чтоб получить хоть один узел из сети, система запрашивает его через сервер gplvote.org. В случае неудачи (если сервер gplvote.org по какой-либо причине недоступен) пользователю предлагается ввести адрес (или список адресов) других пользователей. В данном случае список адресов следует попросить у знакомого который уже пользуется системой (эта информация в виде подсказки должна быть рядом с полем для ввода списка адресов). Система будет снова пытаться подключиться к узлам из списка. Все успешные и неудачные подключения записываем в базу (адреса и доступность). Этот список будет использоваться в дальнейшем для поиска доступных узлов при соединении с "сетью".

При дальнейших запусках backend уже будет иметь список адресов и будет даже без запуска frontend пытаться подключится к сети. В случае неудач при подключении ко всем узлам из списка, пользователю при запущенном frontent будет предлагаться снова ввести список адресов доступных узлов. По ходу работы backend отсылает данных о своих соединениях некоторым "соседним" узлам, что позволяет последним модифицировать список доступных узлов сети.

Информация работы backend должна логироваться и/или выводится на frontnd

Доп. информация:

Подписывание чего либо

Основной интерфейс и система меню

Получение доверия

Создание субъекта голосования

Поиск субъектов голосования

Поиск пользователей

Вступление в субъекты голосования

Подписи доверия и недоверия

Распределение (делегирование) голосов в субъекте голосования

Голосования

Открытое

Тайное

Общение пользователей

Инициация голосования в субъекте голосования

Модерирование инициаторов голосования

Основной режим: проставление рейтингов инициаторам голосования.

Дополнительный режим: возможность совместного бана инициаторов "спама" вплоть до исключения из субъекта голосования.

Backup и восстановление данных пользователя

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты