Сценарии использования
Oleg (обсуждение | вклад) (→Создание электронного паспорта) |
Dim (обсуждение | вклад) (Диаграмма) |
||
(не показаны 28 промежуточных версий 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)] | ||
+ | |||
+ | == Подписывание чего либо == | ||
== Основной интерфейс и система меню == | == Основной интерфейс и система меню == | ||
== Получение доверия == | == Получение доверия == | ||
+ | == Создание субъекта голосования == | ||
== Поиск субъектов голосования == | == Поиск субъектов голосования == | ||
== Поиск пользователей == | == Поиск пользователей == | ||
Строка 17: | Строка 33: | ||
== Подписи доверия и недоверия == | == Подписи доверия и недоверия == | ||
== Распределение (делегирование) голосов в субъекте голосования== | == Распределение (делегирование) голосов в субъекте голосования== | ||
− | == | + | == Голосования == |
− | == | + | === Открытое === |
+ | === Тайное === | ||
== Общение пользователей == | == Общение пользователей == | ||
== Инициация голосования в субъекте голосования == | == Инициация голосования в субъекте голосования == | ||
+ | == Модерирование инициаторов голосования == | ||
+ | Основной режим: проставление рейтингов инициаторам голосования. | ||
+ | |||
+ | Дополнительный режим: возможность совместного бана инициаторов "спама" вплоть до исключения из субъекта голосования. | ||
+ | |||
== Backup и восстановление данных пользователя == | == Backup и восстановление данных пользователя == | ||
[[Category:Распределенная система]] | [[Category:Распределенная система]] |
Текущая версия на 22:48, 26 марта 2012
---TODO (на что обратить внимание)---
- Просмотреть все существительные на предмет нового термина. Ввести новые термины
- Просмотреть какие типы данных и протоколы используются в сценарии. Ввести новые данные и протоколы
- Разобраться в действиях на каждом слое архитектуры
Создание ключей
Ключи можно создать и без использования ПО системы. Для работы системы необходимо иметь следующие ключи:
- Мастер ключ (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
Доп. информация:
Подписывание чего либо
Основной интерфейс и система меню
Получение доверия
Создание субъекта голосования
Поиск субъектов голосования
Поиск пользователей
Вступление в субъекты голосования
Подписи доверия и недоверия
Распределение (делегирование) голосов в субъекте голосования
Голосования
Открытое
Тайное
Общение пользователей
Инициация голосования в субъекте голосования
Модерирование инициаторов голосования
Основной режим: проставление рейтингов инициаторам голосования.
Дополнительный режим: возможность совместного бана инициаторов "спама" вплоть до исключения из субъекта голосования.