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. Вкладчик получил свою долю по результатам голосования

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