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

Материал из Сервис Облачной Демократии
(Различия между версиями)
Перейти к: навигация, поиск
(Модерирование инициаторов голосования)
(Диаграмма)
 
(не показана 21 промежуточная версия 2 участников)
Строка 1: Строка 1:
== Запуск ==
+
---TODO (на что обратить внимание)---
При запуске программы на компьютере ищется перечень электронных паспортов пользователей которые ранее авторизировались. Если ни одного не нашло то предлагается создать электронный паспорт, если нашло то предлагает авторизироваться (ввести пароль). Доступ к кнопке создания электронного паспорта должен быть в любом случае, чтоб была возможность всегда завести нового пользователя.
+
* Просмотреть все существительные на предмет нового термина. Ввести новые термины
 +
* Просмотреть какие типы данных и протоколы используются в сценарии. Ввести новые данные и протоколы
 +
* Разобраться в действиях на каждом слое архитектуры
  
При первичном ("холодном") запуске нужно будет обратиться на публичную точку присоединения или ввести адрес известного и работающего узла. Публичная точка присоединения это обычный узел сети имеющий доменное имя. Таких узлов может быть много.
+
[[Файл:Gplvote usecase.jpg]]
Работающий же узел может быть любым. Скажем друга или свой собственный на другой машине.
+
== Создание ключей ==
 +
Ключи можно создать и без использования ПО системы. Для работы системы необходимо иметь следующие ключи:
 +
* Мастер ключ (public и private части). Ключ идентифицирующий пользователя
 +
* Транспортный ключ (public и private части). Public часть обязательно подписана хотя-бы одним мастер ключом
  
При холодном подключении узел должен сообщить подключающему узлу ЭП владельца. И получить тикет "запрос возможно будет обработан через x часов тикет действителен y дней". Придя через x часов узел получит или продление тикета, или информацию для подключения с сертификатом подписанным подключающим узлом. В информации для подключения будет список IP через которые уже можно осуществить горячее подключение.
+
Также рекомендовано иметь идентифицирующий хэш (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)]
 
*[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)]
  
== Создание электронного паспорта ==
+
== Подписывание чего либо ==
'''TODO: Обязательно обсудить вопрос связанный со смертью пользователя, т.е. каким образом "удалять" паспорт пользователя из системы (значит и из всех субъектов голосования где он участвовал). Например подписывать родственниками и друзьями'''
+
 
+
== Авторизация ==
+
 
== Основной интерфейс и система меню ==
 
== Основной интерфейс и система меню ==
 
== Получение доверия ==
 
== Получение доверия ==

Текущая версия на 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 и восстановление данных пользователя

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