COOPENOMICS  v1
Кооперативная Экономика
Подсчет голосов по методу Водянова

Процесс завершения голосования для конкретного участника с расчетом итоговых сумм по методу Водянова.

Назначение процесса

Подсчет голосов по методу Водянова обеспечивает:

sequenceDiagram participant У as Участник participant ПК as Контракт Capital participant П as Проект У->>ПК: 1. Завершение голосования участника Note over ПК: Проверка статуса проекта ПК->>П: 2. Проверка статуса и завершения голосования alt Проект завершен и голосование завершено П->>ПК: 3. Подтверждение статуса ПК->>ПК: 4. Получение сегмента участника ПК->>ПК: 5. Расчет итоговых сумм ПК->>ПК: 6. Обновление сегмента участника else Проект или голосование не завершены ПК->>У: Ошибка: проект или голосование не завершены end

Пошаговое описание процесса

Шаг 1: Инициация подсчета голосов

Действие: Завершение голосования участника

Инициируется процесс подсчета голосов для конкретного участника после завершения голосования по проекту.

Постусловие
Проверка авторизации кооператива

Шаг 2: Проверка статуса проекта и завершения голосования

Действие: Валидация состояния проекта

Система проверяет, что:

Постусловие
Подтвержден статус проекта как "завершенное голосование"
Подтверждено завершение голосования
Подтверждено участие пользователя в голосовании

Шаг 3: Получение сегмента участника

Действие: Загрузка данных участника

Система получает сегмент участника для расчета его итоговых сумм.

Постусловие
Получен сегмент участника

Шаг 4: Расчет итоговых сумм

Действие: Вычисление результатов голосования

Система рассчитывает три типа итоговых сумм:

Постусловие
Рассчитаны все итоговые суммы участника

Шаг 5: Обновление сегмента участника

Действие: Сохранение результатов

Система обновляет сегмент участника с рассчитанными итоговыми суммами раздельно по пулам для дальнейшего использования.

Постусловие
Сегмент участника обновлен с итоговыми суммами

Метод расчета по Водянову

Метод Водянова для расчета итоговой суммы участника:

итоговая_сумма = (сумма_голосов + средняя_сумма_распределения) / количество_голосующих

Фиксированные распределения

Система также рассчитывает фиксированные распределения:

Результат процесса

После завершения процесса:

  1. Рассчитаны все итоговые суммы участника
  2. Сегмент участника обновлен с результатами голосования
  3. Участник получил свою долю по результатам голосования

Связанные процессы