Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/6495
Title: Дослідження інформаційних систем автоматизації проведення електронного голосування
Authors: Уткіна, Тетяна Юріївна
Стрикаль, Мирослав Олександрович
Issue Date: Jan-2023
Abstract: Метою кваліфікаційної роботи магістра є підвищення ефективності інформаційних систем автоматизації проведення електронного голосування для забезпечення комплексного обслуговування виборців, усунення довгих черг на виборчих дільницях, кращого розв’язання питання доступності для: людей з інвалідністю; хворих; тих, хто проходить військову службу або проживає за кордоном; тих, хто перебуває в особистих поїздках та інших груп громадян як люди похилого віку, яким може бути важко відвідати традиційну дільницю тощо. Це забезпечить простоту, зручність, доступність, відносну незалежність від часу та місця перебування, наддасть більші можливості щодо дотримання вимог збереження таємниці голосування. Об’єкт дослідження – процеси функціонування інформаційних систем автоматизації проведення електронного голосування. Предмет дослідження – інформаційні системи автоматизації проведення електронного голосування. Вирішено наступні основні завдання: 1. Проведений системний аналіз світового досвіду використання систем проведення електронного голосування, визначені переваги і недоліки їх застосування. 2. Проведений функціональний аналіз існуючих систем проведення електронного голосування та дана їх якісна оцінка за основними параметрами. 3. Побудовано діаграми поведінки системи для реалізації функцій як організатора, так і учасника проведення електронного голосування. 4. Розроблено структурну та функціональну моделі інформаційної системи для створення уніфікованого шаблону та стратегії вибору необхідних даних для користувачів та експертів. Це дозволить забезпечити потреби як користувачів, так і організаторів голосування. 5. Розроблена програмна система автоматизації проведення електронного голосування, що дозволяє проводити процес голосування для забезпечення комплексного обслуговування виборців, усунення довгих черг на виборчих дільницях, кращого розв’язання питання доступності для маломобільних груп населення.
URI: https://er.chdtu.edu.ua/handle/ChSTU/6495
Appears in Collections:174 Автоматизація, комп'ютерно-інтегровані технології та робототехніка (Автоматизація та комп'ютерно-інтегровані системи та компоненти)

Files in This Item:
File Description SizeFormat 
М_151_2022_Стрикаль+.pdf
  Restricted Access
3.01 MBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОІЧНИЙ УНІВЕРСИТЕТ 
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ І СИСТЕМ 
КАФЕДРА РОБОТОТЕХНІКИ ТА СПЕЦІАЛІЗОВАНИХ 
КОМП’ЮТЕРНИХ СИСТЕМ 
 
 
 
 
 
 
 
Пояснювальна записка 
до кваліфікаційної роботи 
освітнього ступеню «магістр» 
 
на тему: Дослідження інформаційних систем автоматизації проведення 
електронного голосування 
 
 
 
 
Виконав: студент 2 курсу, групи МАКІТ-2109 
спеціальності 151 «Автоматизація та 
комп’ютерно-інтегровані технології» 
(освітня програма «Комп’ютерно-інтегровані 
технологічні процеси і виробництва») 
 Мирослав СТРИКАЛЬ  
(ім’я та прізвище) 
 
Керівник  Тетяна УТКІНА   
(ім’я та прізвище) 
Рецензент        
(ім’я та прізвище) 
 
 
Черкаси 2022 року
2 
ЗМІСТ 
ПЕРЕЛІК СКОРОЧЕНЬ ТА УМОВНИХ ПОЗНАЧЕНЬ ................................. 5 
ЗАГАЛЬНА ХАРАКТЕРИСТИКА РОБОТИ ..................................................... 7 
РОЗДІЛ 1. СТАН ПРЕДМЕТУ ДОСЛІДЖЕННЯ ТА ФОРМУЛЮВАННЯ 
ЗАДАЧ  ........................................................................................................... 12 
1.1. Дослідження світового досвіду використання систем проведення 
електронного голосування ..................................................................................... 12 
1.2. Сучасні технології систем проведення електронного голосування та 
перспективи їх використання ................................................................................ 18 
1.3. Переваги та недоліки використання систем проведення електронного 
голосування ............................................................................................................ 29 
1.4. Формулювання проблемних задач дослідження ........................................ 39 
Висновки ............................................................................................................... 39 
РОЗДІЛ 2. СИСТЕМНИЙ АНАЛІЗ ІСНУЮЧИХ ІНФОРМАЦІЙНИХ 
СИСТЕМ ПРОВЕДЕННЯ ЕЛЕКТРОННОГО ГОЛОСУВАННЯ ................ 40 
2.1. Розвиток інформаційних систем автоматизації проведення електронного 
голосування ............................................................................................................ 40 
2.2. Функціональний аналіз інформаційних систем електронного голосування
 42 
2.2.1 Інформаційна система електронного голосування “Straw Poll” .......... 42 
2.2.2 Інформаційна система електронного голосування “Poll Maker” ......... 44 
2.2.3 Інформаційна система електронного голосування “Fast Poll” ............. 45 
2.2.4 Інформаційна система електронного голосування “StrawPoll” ........... 47 
2.3. Обґрунтування доцільності розробки інформаційної системи автоматизації 
проведення електронного голосування ................................................................. 48 
Висновки ............................................................................................................... 52 
РОЗДІЛ 3. МОДЕЛЮВАННЯ КОМПОНЕНТІВ ІНФОРМАЦІЙНОЇ 
СИСТЕМИ ПРОВЕДЕННЯ ЕЛЕКТРОННОГО ГОЛОСУВАННЯ ............. 53 
3 
3.1. Моделювання предметної області ............................................................... 53 
3.1.1 Поняття предметної області ................................................................... 53 
3.1.2 Основні елементи предметної області .................................................. 54 
3.2. Формування та аналіз вимог до програмного забезпечення ...................... 63 
3.3. Проектування логічної структури інформаційної системи проведення 
електронного голосування ..................................................................................... 65 
3.3.1 Побудова діаграми класів ...................................................................... 65 
3.3.2 Побудова діаграми пакетів .................................................................... 69 
3.4. Архітектурне проектування інформаційної системи проведення 
електронного голосування ..................................................................................... 70 
3.4.1 Побудова діаграми компонент ............................................................... 70 
3.4.2 Побудова діаграми розгортання системи на апаратних засобах ......... 72 
3.5. Моделювання поведінки інформаційної системи проведення електронного 
голосування ............................................................................................................ 73 
3.5.1 Побудова діаграми діяльності ............................................................... 73 
3.5.2 Побудова діаграми послідовності ......................................................... 75 
3.5.3 Побудова діаграми комунікації ............................................................. 76 
3.5.4 Побудова діаграми кінцевого автомату ................................................ 78 
3.6. Проектування і розробка бази даних інформаційної системи проведення 
електронного голосування ..................................................................................... 79 
3.6.1 Розробка концептуальної моделі предметної області .......................... 79 
3.6.2 Розробка логічної моделі бази даних .................................................... 80 
3.6.3 Розробка фізичної моделі бази даних .................................................... 81 
Висновки ............................................................................................................... 82 
РОЗДІЛ 4. РОЗРОБКА ІНФОРМАЦІЙНОЇ СИСТЕМИ ПРОВЕДЕННЯ 
ЕЛЕКТРОННОГО ГОЛОСУВАННЯ ............................................................... 83 
4.1. Вибір інструментальних засобів розробки інформаційної системи .......... 83 
4.2. Розробка структурної моделі інформаційної системи ............................... 87 
4 
4.3. Розробка функціональної моделі інформаційної системи ......................... 88 
4.4. Реалізація фізичних аспектів бази даних інформаційної системи 
проведення електронного голосування ................................................................. 89 
4.5. Розробка інтерфейсу користувача інформаційної системи ....................... 90 
4.6. Розробка програмних компонентів інформаційної системи ...................... 93 
Висновки ............................................................................................................... 93 
ВИСНОВКИ .......................................................................................................... 95 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ........................................................... 97 
 
5 
ПЕРЕЛІК СКОРОЧЕНЬ ТА УМОВНИХ ПОЗНАЧЕНЬ 
CRUD – Create, Read, Update, Delete – концепція Створити, 
Прочитати, Оновити, Видалити. 
CSS – Cascading Style Sheets – каскадні таблиці стилів. 
DRE – Direct Recording Electronic – Прямий запис. 
E2EVV – End-To-End Verifiable Voting – наскрізне голосування, що 
перевіряється. 
EIP – Electoral Integrity Project – Проект чесності виборів. 
EKN – Electoral Knowledge Network – Мережі знань про вибори. 
HTML – Hyper Text Markup Language – мова гіпертекстової 
розмітки. 
HTTP – Hyper Text Transfer Protocol – протокол передачі 
гіпертексту. 
HTTPS – Hyper Text Transfer Protocols Security – розширення 
протоколу HTTP, захищений протокол передачі даних. 
IDEA – International Institute for Democracy and Electoral 
Assistance – Міжнародний інститут сприяння демократії та 
виборам. 
MVC – Model-View-Controller – набір архітектурних ідей та 
принципів для побудови складних систем з інтерфейсом 
користувача. 
REST – Representational State Transfer – архітектурний стиль 
взаємодії компонентів розподіленої програми у мережі. 
SPA – Single Page Application – Web-додаток, що складаються з 
одного HTML-документу. 
SQL – Structured Query Language – мова структурованих запитів. 
 
6 
 
UML – Unified Modeling Language – уніфікована мова 
моделювання. 
VVPAT – Voter-Verifiable Paper Audit Trail – паперовий “слід”, що 
перевіряється виборцем. 
ВВ – Варіанти використання. 
ДК – Діаграма класів. 
ООП – Об’єктно-орієнтовне програмування. 
СУБД – Система управління базами даних. 
7 
ЗАГАЛЬНА ХАРАКТЕРИСТИКА РОБОТИ 
Актуальність теми. Сучасний розвиток Інтернет технологій стрімко 
набирає оберти та підхоплює все більше областей з життя людини. 
Традиційні виборчі процедури, що включають введення та ручний 
підрахунок паперових бюлетенів, стали домінувати на виборах з моменту їх 
впровадження ще в середині XIX ст. Нині технології все частіше пропонують 
нові механізми для проведення традиційно ручних процесів, і вибори не є 
винятком. Існує багато різних технологій, які можна використовувати для 
підтримки виборчого процесу. 
Сучасні електронні технології проведення голосування включають такі 
терміни, як електронні машини для голосування, електронне голосування, 
електронні вибори, нові технології голосування, дистанційне голосування, 
оптичне сканування на дільницях та електронний підрахунок голосів. Усі ці 
терміни стосується різних технологічних рішень. Сфера виборчих технологій 
щодо голосування та підрахунку голосів розвивається, а концептуальна основа 
все ще формується. Таким чином, легко знайти однакові терміни, які 
використовуються по-різному в різних країнах або регіонах, що може викликати 
плутанину. 
Під час аналізу процесу проведення електронного голосування потрібно 
розрізняти окремі технології – електронне голосування та електронний 
підрахунок голосів. Традиційна система голосування на паперових носіях 
полягає в тому, що виборець вручну позначає паперовий бюлетень, а потім 
виборчі посадові особи підраховують бюлетень вручну. Під час виборів із 
використанням технологій електронного голосування або підрахунку один або 
обидва ці процеси автоматизовані в електронному вигляді. 
Однак використання таких технологій дистанційного голосування створює 
певні проблеми в реалізації. Особливо це стосується дистанційної ідентифікації 
та автентифікації виборців, механізмів аудиту, секретності та безпеки даних. При 
цьому логістика реалізації дистанційного голосування може бути іноді значно 
простішою, ніж недистанційного. 
8 
Крім того, технології електронного голосування та підрахунку голосів 
можуть створити нові та важливі групи зацікавлених сторін у виборчому процесі. 
Ці групи включають постачальників технологій, які часто відіграють дуже 
важливу роль у виборах, органи сертифікації, академічні кола та ІТ-експерти. Усі 
ці групи можуть відігравати ключову роль у забезпеченні, перевірці або нагляді 
за використанням нових технологій. 
Також потрібно обов’язково враховувати такі аспекти електронного 
голосування як: 
− законність використання таких технологій відповідно до існуючої 
правової бази конкретної країни; 
− терміни розгляду та виконання відповідних процедур щодо процесу 
проведення голосування; 
− стійкість технологій до злому; 
− чесність виборів за даними технологіями; 
− довіру до реалізації технологій виборців; 
− неможливість несанкціонованого доступу до даних; 
− нові виборчі стандарти, пов’язані з використанням технологій 
електронного голосування та підрахунку голосів. 
Центральні питання також мають включати нормативні аспекти виборчого 
процесу, такі як інклюзивність, прозорість, підзвітність та дотримання таємниці 
голосування на виборах при використанні технологій електронного голосування 
та підрахунку голосів. 
Актуальність теми обумовлена декількома факторами, а саме: 
− перспективами застосування інформаційних систем автоматизації 
проведення електронного голосування; 
− розвитком та поширенням технологічних рішень автоматизації 
проведення електронного голосування; 
− необхідністю розробки програмних засобів автоматизації для 
забезпечення комплексного обслуговування виборців, усунення довгих черг на 
9 
виборчих дільницях, кращого розв’язання питання доступності для 
маломобільних груп населення тощо. 
Питанням дослідження та розробки сучасних інформаційних систем 
автоматизації проведення електронного голосування присвячені праці багатьох 
науковців. Значний внесок в розвиток даних питань внесли вчені: Дідик О., 
Серавін О., Соколова К., Abbot R., Barrat J., Davis M., Edmonds J., Florer L., 
Goldsmith B., Turner J., Porter B., Proebstel E., Shenoi S., Stauffer J. та ін., але в цих 
роботах недостатньо висвітлені рішення, що дозволять забезпечити належне 
функціонування інформаційних систем автоматизації проведення електронного 
голосування. 
Мета і задачі дослідження. Метою кваліфікаційної роботи магістра є 
підвищення ефективності інформаційних систем автоматизації проведення 
електронного голосування для забезпечення комплексного обслуговування 
виборців, усунення довгих черг на виборчих дільницях, кращого розв’язання 
питання доступності для: людей з інвалідністю; хворих; тих, хто проходить 
військову службу або проживає за кордоном; тих, хто перебуває в особистих 
поїздках та інших груп громадян як люди похилого віку, яким може бути важко 
відвідати традиційну дільницю тощо за рахунок дослідження таких систем, 
розробки структурної та функціональної моделей інформаційної системи для 
створення уніфікованого шаблону та стратегії вибору необхідних даних для 
користувачів та експертів, а також побудови діаграм поведінки системи для 
реалізації функцій як організатора, так і учасника проведення електронного 
голосування. 
Це забезпечить простоту, зручність, доступність, відносну незалежність 
від часу та місця перебування, наддасть більші можливості щодо дотримання 
вимог збереження таємниці голосування, що є доволі суттєвим для особливої 
групи виборців з обмеженими можливостями, оскільки голосуючи електронним 
способом а, отже, без допомоги, ці виборці отримують більший ступінь 
анонімності при голосуванні. 
  
10 
Для досягнення цієї мети необхідно вирішити наступні задачі: 
− проаналізувати світовий досвід використання систем проведення 
електронного голосування, визначені переваги і недоліки їх застосування; 
− проаналізувати існуючі системи проведення електронного голосування 
та привести якісні характеристики існуючих аналогів предмету дослідження; 
− побудувати діаграми поведінки системи для реалізації функцій як 
організатора, так і учасника проведення електронного голосування; 
− розробити структурну модель інформаційної системи автоматизації 
проведення електронного голосування; 
− запропонувати функціональну модель інформаційної системи 
автоматизації проведення електронного голосування; 
− розробити програмну систему автоматизації проведення електронного 
голосування. 
Об’єкт дослідження – процеси функціонування інформаційних систем 
автоматизації проведення електронного голосування. 
Предмет дослідження – інформаційні системи автоматизації проведення 
електронного голосування. 
Методи дослідження. Для розв’язання поставлених завдань були 
використані теорії аналізу та синтезу, чисельні методи, методи системного 
проектування, технологія проектування програмних систем. 
Наукова новизна одержаних результатів: 
− проведений системний аналіз світового досвіду використання систем 
проведення електронного голосування, визначені переваги і недоліки їх 
застосування; 
− проведений системний аналіз існуючих систем проведення 
електронного голосування та приведені якісні характеристики існуючих аналогів 
предмету дослідження; 
− розроблено структурну модель інформаційної системи автоматизації 
проведення електронного голосування; 
11 
− запропоновано функціональну модель інформаційної системи 
автоматизації проведення електронного голосування. 
Практичне значення одержаних результатів полягає в тому, що на 
основі проведеного дослідження інформаційних систем автоматизації 
проведення електронного голосування: 
− побудовано діаграми поведінки системи для реалізації функцій як 
організатора, так і учасника проведення електронного голосування; 
− розроблено програмну систему автоматизації проведення електронного 
голосування. 
Апробація результатів роботи. Результати роботи доповідалися й 
обговорювалися на студентський науковій конференції: 
− дні студентської науки ЧДТУ, 19-22 квітня, м. Черкаси, Україна, 2022. 
Публікації. Результати досліджень опубліковані в тезі доповідей: 
1. Стрикаль М. О., Уткіна Т. Ю. Програмне забезпечення для проведення 
електронного голосування [Електронний ресурс] / [упоряд. : Батраченко О. В., 
Бєляєва С. С., Захарова О. В. та ін.]. Студентська науково-практична 
конференція ЧДТУ : зб. тез доповідей, 19–22 квітня 2022 р. М-во освіти і науки 
України, Черкас. держ. технол. ун-т. Черкаси : ЧДТУ, 2022. С. 57. 
Структура та обсяг кваліфікаційної роботи. Кваліфікаційна робота 
складається з вступу, 4 розділів, висновків та списку використаних джерел. 
Робота викладена на 98 сторінках. Ілюстрована 55 рисунками. Список 
використаних джерел містить 31 найменування. 
12 
РОЗДІЛ 1. СТАН ПРЕДМЕТУ ДОСЛІДЖЕННЯ ТА 
ФОРМУЛЮВАННЯ ЗАДАЧ 
1.1. Дослідження світового досвіду використання систем проведення 
електронного голосування 
Сьогодні майже всі країни використовують цифрові технології 
щонайменше для окремих аспектів управління процесом виборів. Створення та 
керування реєстрами виборців, а також передача та зведення результатів у 
цифровий формат використовуються майже в усіх країнах (рис. 1.1). 
 
Рис. 1.1. Країни, де використовується електронне голосування, принаймні для 
окремих аспектів управління процесом виборів 
Розглянемо особливості реалізації виборчого процесу в залежності від 
країн його проведення, аналіз яких ґрунтується на інформації Міжнародного 
інституту сприяння демократії та виборам (International Institute for Democracy 
and Electoral Assistance, IDEA), Мережі знань про вибори (Electoral Knowledge 
Network, EKN) ACE та Проекту чесності виборів (Electoral Integrity Project, EIP). 
Кількість країн і територій у цьому аналізі коливається від 166 до 237 залежно 
від джерела даних і конкретного показника, що оцінюється [1]. 
13 
Проведення електронного голосування застосовується менш широко. 
Проте, наприклад, у демократіях, що розвиваються, де вибори часто затьмарені 
фальсифікаціями, саме такий спосіб часто розглядається як засіб забезпечення 
більшої довіри до голосування. У результаті різноманітні електронні 
інформаційні системи проведення голосування набувають все більшого 
поширення в Латинській Америці, а також на Близькому та Далекому Сході. 
Європейські країни, як правило, є більш стриманими, віддаючи перевагу 
перевіреним і надійним традиційним методам, зі ручним підрахунком паперових 
бюлетенів, ніж експериментами з потенційно ненадійними новими технологіями. 
Більше половини всіх країн та територій мають обов’язкову реєстрацію 
виборців. Хоча точна політика варіюється від одного місця до іншого, 122 з 
226 країн та територій, включених до EKN ACE, мають ту чи іншу форму 
обов’язкової реєстрації виборців (рис. 1.2). В Аргентині, Чилі, Угорщині, Ізраїлі, 
Нідерландах та інших країнах така реєстрація здійснюється автоматично на 
основі державних записів, таких як дані перепису населення. В інших випадках 
кваліфіковані резиденти мають зареєструватися самостійно. Відсутність 
реєстрації карається штрафом у деяких країнах, включаючи Нову Зеландію, 
Тонгу та Велику Британію. 
Ще в 90 країнах та територіях немає законів, які вимагають від усіх 
правочинних мешканців реєстрації для голосування, хоча для голосування може 
знадобитися реєстрація. В Індії – найбільшій у світі демократії – і Монголії 
списки виборців складаються автоматично за допомогою збору даних перепису, 
хоча реєстрація не є обов’язковою. В Австрії реєстрація виборців та саме 
голосування були обов’язковими як мінімум в одній провінції до 2004 року; 
сьогодні немає потреби реєструватися чи голосувати на виборах в Австрії. У 
США немає обов’язкової реєстрації виборців, хоча реєстрація необхідна для 
голосування майже у всіх штатах та територіях США (у Північній Дакоті немає 
реєстрації виборців) [2]. 
14 
 
Рис. 1.2. Розподіл країн за показником обов’язкової реєстрації виборців 
У переважній більшості країн та територій мінімальний вік для 
голосування на національних виборах становить 18 років. За цим показником 
США співпадають з більшістю інших країн. З 237 країн і територій, за якими в 
EKN ACE є дані, у 205 – мінімальний вік для голосування становить 18 років. 
Лише у 12 країнах чи територіях люди молодші 18 років можуть голосувати на 
національних виборах (рис. 1.3). 
У всьому світі найнижчий мінімальний вік для голосування на 
національних виборах становить 16 років, зокрема в Аргентині, Австрії та 
Бразилії. Найвищий у Об’єднаних Арабських Еміратах, де громадянам має бути 
25 років. В Італії існує різний вік для голосування: мінімальний вік для 
голосування у нижній палаті парламенту становить 18 років, а виборцям має 
бути 25 років, щоб голосувати під час виборів до Сенату [2]. 
15 
 
Рис. 1.3. Розподіл кількості країн за показником 
мінімального віку для голосування 
До спалаху COVID-19 близько чверті країн використовували бюлетені для 
голосування поштою на національних виборах. Зі 166 країн, за якими є дані, 
40 - використовували поштові бюлетені на своїх останніх загальнонаціональних 
виборах, за словами експертів країн, опитаних перед спалахом COVID-19 в 
рамках проекту EIP. Поштові бюлетені найбільш широко використовувалися в 
Європі та Північній Америці, а також були поширені в деяких країнах Азіатсько-
Тихоокеанського регіону, таких як Індія, Індонезія, Південна Корея та Шрі-
Ланка. Поштові бюлетені не були доступні в більшості країн Африки та 
Карибського басейну, а також не були доступні в жодній із країн Близького 
Сходу або Латинської Америки. 
Паперові бюлетені на сьогодні є найпоширенішою формою голосування. 
Голоси подаються шляхом ручного маркування бюлетенів у 209 із 227 країн та 
територій, за якими у EKN ACE є дані. У деяких місцях виборці роблять свій 
вибір, ставлячи символ, наприклад, “X”, хрестик або галочку, на паперовому 
бюлетені, що містить весь список кандидатів та/або партій. У деяких країнах, 
16 
включаючи Ізраїль та Малі, виборці обирають бюлетень для голосування за 
певну політичну партію, кладуть бюлетень у конверт, а потім опускають конверт 
у скриньку для голосування. 
Деякі країни використовують поєднання методів. Крім паперових 
бюлетенів, електронні машини з інформаційними системами проведення 
голосування використовуються приблизно в 10 % країн і територій, за якими є 
дані. Такі електронні машини для голосування використовуються в деяких 
великих країнах, таких як Індія та США, а також у дрібніших, таких як 
Сінгапур [2]. 
Електронне он-лайн голосування використовується у чотирьох країнах: 
Вірменії, Канаді, Естонії та Швейцарії. Тим часом у Гамбії на останніх 
президентських виборах використовувалася система поміщення кульок у 
барабани. Ця система була створена в 1960-х роках для боротьби з високим 
рівнем неписьменності [2]. 
Конституції багатьох країн гарантують право голосу всім громадянам. 
Однак насправді виборці, які під час виборів перебувають за межами своєї 
країни, часто позбавлені виборчих прав через відсутність процедур, які 
дозволяють їм скористатися цим правом. Більшість країн і територій дозволяють 
виборцям за кордоном голосувати лише в певній якості. Наявний дозвіл є у США 
та ще 151 із 216 країн і територій, оцінених IDEA, принаймні щодо національних 
законодавчих виборів, виборів до Європейського парламенту чи президентських 
виборів (рис. 1.4). 
Наразі існує багато різних термінів, які використовуються стосовно 
зовнішнього голосування, наприклад голосування за кордоном, голосування за 
відсутності, голосування за межами країни, екстериторіальне голосування або 
дистанційне голосування. Ці терміни часто використовуються як синоніми 
зовнішнього голосування, і справді вони визначають дуже подібні явища, але з 
деякими відмінностями [3]: 
− дистанційне голосування стосується будь-якої процедури голосування, 
яка відбувається за межами звичайної виборчої дільниці. Наприклад, можна 
17 
говорити про дистанційне голосування, коли мобільні виборчі групи 
організовують процедуру голосування для маломобільних осіб; 
− відкріпне голосування відбувається, коли бюлетені вкидаються за 
межами виборчого округу реєстрації виборця. Відкріпне голосування може 
передбачати дистанційне голосування та проводитися всередині країни або за 
межами національної території; 
− голосування за межами країни та екстериторіальне голосування 
стосуються одного і того ж явища й характеризують те, що вони обидва 
відбуваються за межами території країни, де проводяться вибори. 
− голосування за кордоном стосується громадян, які постійно 
проживають за кордоном, але не мають постійного місця проживання в країні, де 
відбуваються вибори. Експатріантам дозволяється голосувати на виборах у 
країні проживання, лише якщо вони повертаються в день виборів. В іншому 
випадку країни надають право голосу своїм емігрантам через положення про 
голосування за межами країни. 
 
Рис. 1.4. Розподіл кількості країн за показником 
дозволу голосування за кордоном 
18 
Як видно з рис. 1.4., багато країн дозволяють зовнішнє голосування на 
виборах до законодавчих органів (124), президентських виборах (88) або 
референдумах (74), і лише 24 дозволяють голосування на місцевих виборах. 
Майже кожна країна Європи передбачає певну форму зовнішнього 
голосування, і багато хто дозволяє громадянам голосувати з-за кордону на різних 
типах виборів. Більшість країн Європейського Союзу (23 з 27) також дозволяють 
громадянам за кордоном голосувати на виборах до Європейського парламенту. 
У всьому світі 55 країн та територій не дозволяють голосування з-за 
кордону. Багато з цих країн розташовані в Латинській Америці, Африці на 
південь від Сахари та в Азіатсько-Тихоокеанському регіоні. 
Відтак, виборчим законодавством деяких зарубіжних країн передбачено 
можливість електронного голосування, як за допомогою Інтернету, так і 
телефонного голосування. Однак у більшості країн таке голосування має значні 
обмеження чи взагалі носить експериментальний характер. Це пов’язано з 
значними ризиками через неналежне забезпечення таємниці голосування, 
можливість втручання у систему обробки голосів виборців та складність 
забезпечення контролю за процедурою проведення самого електронного 
голосування. 
Водночас слід зазначити, що за електронним голосуванням, зокрема 
особливо під час пандемій, як показав досвід COVID-19, й дистанційним 
голосуванням як його видом, є беззаперечне майбутнє. Застосування досягнень 
зарубіжного досвіду електронного голосування, в першу чергу, сприяє 
підвищенню ефективності виборного процесу завдяки збільшенню 
громадянської активності, інтересу до нових технологій різноманітних верств 
населення, а також наданню широких можливостей реалізації активного 
виборчого права деякими маломобільними групами населення (інвалідами, 
хворими), скороченню витрат на організацію електронного голосування у 
важкодоступних та віддалених місцевостях та й за межами самої території 
держави. 
1.2. Сучасні технології систем проведення електронного голосування 
19 
та перспективи їх використання 
Електронні системи голосування використовуються у багатьох країнах 
світу, але впровадження цієї технології не є простим. Є декілька країн 
протестували електронне голосування і прийняли його, інші випробували та 
відмовилися. Деякі продовжують його тестувати чи мають плани на подальше 
тестування у майбутньому. Лише невелика група країн використовує технологію 
електронного голосування на постійній основі, та ще менше країн 
використовують її по всій країні як єдиний метод голосування [4]. 
 
Рис. 1.5. Розподіл країн в залежності від використання технологій 
електронного голосування у виборчому процесі 
Вирішуючи, чи використовувати електронні технології для виборів, 
необхідно ретельно розглянути ці проблеми та збалансувати їх з очікуваними 
перевагами. Актуальність кожної з цих можливих переваг і недоліків 
відрізнятиметься від країни до країни, як і виклики та питання, пов’язані з 
існуючою системою, яка використовується для виборів. Тому однозначної 
відповіді щодо доцільності використання виборчих технологій немає. Навпаки, 
кожній виборчій юрисдикції потрібно буде повністю оцінити можливі переваги 
та недоліки, щоб побачити, чи є використання таких технологій корисним. 
Оскільки рішення з цих питань суттєво вплинуть на довіру виборців до 
результатів виборів, оцінка має здійснюватися шляхом широких консультацій і 
20 
ґрунтуватися на такому ж широкому консенсусі. Без таких інклюзивних і 
прозорих обговорень підозри, які часто існують у конкурентному політичному 
середовищі, можуть підірвати рішення про використання електронних систем 
голосування чи підрахунку голосів і підірвати легітимність виборчого процесу. 
В наш час існує три основні типи електронних систем голосування, які 
використовувалися на виборах по всьому світу [5]: 
1. Оптичне сканування. Машини для голосування з оптичним 
скануванням використовують паперові бюлетені, які позначаються виборцем, а 
потім скануються для електронного табулювання. Цей процес дуже схожий на 
традиційне голосування, але дозволяє підраховувати бюлетені та надавати 
результати у набагато коротші терміни. Оскільки технологія оптичного 
сканування існує вже дуже давно, вона використовується в багатьох країнах 
світу, у тому числі в Канаді, США, Росії, Південній Кореї, Філіппінах. 
2. Прямий запис (Direct Recording Electronic, DRE). Електронні машини 
для голосування з прямим записом DRE не використовують паперові бюлетені. 
Вони записують голоси в електронному вигляді та зберігають їх в електронному 
вигляді, при цьому виборець не взаємодіє з будь-яким фізичним бюлетенем. Ці 
машини можуть використовувати інтерфейси із сенсорним екраном, регулятори 
набору та кнопки. Бразилія та Індія – країни, які впровадили машини для 
голосування DRE по всій країні. Хоча у машинах для голосування DRE не 
використовуються фізичні бюлетені, деякі залишають “паперовий слід” – 
роздруковують квитанцію для кожного виборця для підтвердження. Потім такі 
квитанції зберігаються для перевірки та перерахунку. Система, зокрема, 
апробована в Аргентині, Бразилії, Венесуелі, Канаді, Індії, Перу, США. 
Бразилія запровадила машини для голосування DRE у 1996 році. Тоді за 
допомогою “електронних скриньок” могли проголосувати близько третини 
виборців. Використання машин для голосування DRE було поширене по всій 
країні для 100 % виборців у 2000 році, для цього використовувалось 350 тис. 
машин. У 2002 році в Бразилії ухвалено федеральний закон про електронне 
голосування. У тому ж році для електронних машин було запроваджено 
21 
обов’язковий паперовий звіт, що підтверджує виборцю, факт того, що він вже 
віддав свій голос. Виборчі бюлетені та системи слідів, що перевіряються 
виборцями, були повністю ліквідовані в 2018 році. 
Технологія електронного голосування для Бразилії була розроблена 
Procomp Amazonia Industria Electronica - дочірньою компанією Diebold Election 
Systems - тією, яка розробляла систему електронного “touchscreen machines” 
(машини із сенсорним екраном) у США. 
Електронними скриньками можна скористатися на великих дорожніх 
магістралях, автобусних та трамвайних станціях, у банках. Системи 
електронного голосування США та Бразилії різняться. У пристроях для 
голосування у Бразилії електронний бюлетень не відображається на екрані: 
виборці натискають кнопку з номером кандидата та підтверджують свій вибір 
натисканням зеленої кнопки. Відразу після цього вони бачать фото кандидата з 
його номером та даними. Голоси записуються до внутрішньої пам’яті пристрою 
та далі підраховуються. 
У Бразилії введено дві системи перевірки: 
− “паралельне голосування” - у день виборів довільно вибирається 
декілька машин, у яких паралельно електронному підрахунку здійснюють 
ручний підрахунок паперових бюлетенів та перевіряють збіг обох підрахунків; 
− встановлення додаткового програмного забезпечення, яке веде 
цифрову перевірку всіх голосів, причому перевірити копію файлу можна будь-
якої миті. Така система називається “Software auditing” - перевірка за допомогою 
програмного забезпечення. 
У 2009 році бразильський виборчком оголосив конкурс для хакерів, які 
мали перевірити безпеку системи. Переможець міг здобути 5 тис. євро призових. 
За 4 дні урни нікому не вдалося зламати ззовні. 
У 2008 році у 3 бразильських районах у пілотному проекті було 
реалізовано біометричну технологію. Процес реєстрації вимагав особистої 
присутності городян: необхідно було принести свою фотографію та здати 
відбитки пальців. У 2010 році до них приєдналося ще 51 місто та понад мільйон 
22 
виборців (3 % від загальної кількості виборців). У жовтні 2010 року на виборах 
у Бразилії 135 млн. бразильців обирали нового президента, голосуючи за 
допомогою біометричних машин. 
Практика продемонструвала, що результати відрізняються залежно від 
моделі голосування – чи надається вибір із кандидатур у бюлетені, чи треба 
вписати прізвище кандидата. Дослідження бразильського досвіду показали, що 
за електронною системою із введенням прізвища перевагу отримують активніші 
кандидати, які запам’яталися більш пасивним виборцям. 
У Бельгії електронне голосування було затверджено законом у 1994 році 
та широко використовувалося на загальних та муніципальних виборах 1999 та 
2000 років. На загальних виборах 18 травня 2003 3,2 млн. бельгійських громадян 
змогли проголосувати в електронному вигляді. У Бельгії, як у Бразилії, Ірландії 
та інших країнах застосовувався метод, у якому виборчий бюлетень замінено 
машиною на виборчій дільниці і підрахунок ведеться не вручну, а електронним 
чином. У 2003 році у звіті про ревізію, опублікованому Федеральною державною 
службою внутрішніх справ після моделювання близько одного мільйона голосів, 
ефективність використовуваної системи була підтверджена. Деякі труднощі 
були зафіксовані під час голосування 18 травня 2003 року у бельгійських 
комунах, де для загальних виборів використовувалися електронні кабіни для 
голосування при одночасних виборах до муніципалітетів та федеральних 
зборів – сформувалися черги. Виборцям довелося чекати, щоб віддати свій 
голос – адже участь у виборах є обов’язковою, а ухилення загрожує штрафом. 
У Кенії в серпні 2017 року програмне забезпечення для електронної 
передачі даних вийшло з ладу в багатьох частинах країни, що призвело до 
затримки оприлюднення підсумкових результатів та виникнення підозр у 
шахрайстві, що зрештою призвело до скасування результатів виборів. 
Технологія електронного голосування прискорює підрахунок голосів. В 
Індії підрахунок результатів від машин для голосування займає від 2 до 3 годин 
до виборчого округу, включаючи час, необхідний для перевірок; при тому, що 
раніше під час перевірки паперових бюлетенів це займало дні. Це також зменшує 
23 
ймовірність людських помилок та економить гроші на оплату праці членів 
комісій. 
Використання машин не тільки пов’язане з можливими чергами. Критики 
зазначають, що машини можуть бути захищені від зовнішнього втручання. 
Проблеми вирішуються за допомогою фіксування системи запису та підрахунку 
голосів тощо. 
3. Голосування через Інтернет, у тому числі з технологією блокчейн. 
Реєстрація голосів через Інтернет наразі є найрідкіснішою формою 
електронного голосування. Естонія ввела цей тип голосування по всій країні, тоді 
як інші країни допускають он-лайн голосування в незначних межах [5, 6]. 
Апробували подібні системи в Австралії, Вірменії, Великій Британії, Індії, 
Іспанії, Канаді, Мексиці, Нідерландах, Новій Зеландії, Норвегії, Панамі, Сьєрра-
Леоне, Франції, Швейцарії, Естонії та ін. (рис. 1.6). 
У ряді випадків це стає продовженням практики голосування поштою, 
поширеною для громадян, які проживають за кордоном, у багатьох країнах, 
особливо з великими діаспорами, робочою міграцією у бік інших країн. У 
Вірменії така система працює для співробітників дипмісій. 
Естонія є світовим лідером у галузі електронного голосування. З 2005 року 
естонці можуть віддавати голоси з комп’ютера, підключеного до Інтернету, із 
будь-якої точки світу. Естонська система електронного голосування 
використовує ідентифікаційну картку, яка є обов’язковим державним 
документом, що засвідчує особу, а також смарт-карткою із вбудованим 
електронним чіпом, що підтримується державною інфраструктурою відкритого 
ключа. Такий інструмент надає право як для безпечної віддаленої аутентифікації, 
так і для юридично обов’язкового цифрового підпису. Ідентифікаційна карта 
містить мікросхему з цифровими версіями даних, дві пари ключів RSA по 
2048 бітів та сертифікати для цих пар ключів. Мікросхема також здатна 
відповідати на виклики аутентифікації з використанням першої пари ключів та 
генерувати цифрові підписи з використанням другої пари ключів, усуваючи 
необхідність передачі секретних ключів за межі мікросхеми. Взаємодія з чіпом 
24 
відбувається за допомогою персонального комп’ютера з кард-рідером і 
програмним забезпеченням користувача. 
 
Рис. 1.6. Країни, де використовується технологія Інтернет-голосування 
Сам процес голосування є досить простим. Виборцю потрібен комп’ютер 
із підключенням до Інтернету та національне посвідчення особи або мобільний 
ідентифікатор з дійсними сертифікатами та PIN-кодами. Як тільки додаток для 
голосування завантажено, програмне забезпечення автоматично перевіряє, чи 
виборець має право голосувати, і відображає список кандидатів відповідно до 
регіону, в якому той зареєстрований. Програма шифрує голос та безпечно 
відправляє на сервер збору голосів. 
Кожен голос отримує тимчасову мітку, тому за необхідності можна пізніше 
перевірити, чи був голос передано на сервер збору. 
Естонська система Інтернет-голосування побудована на концепції 
криптографії з відкритим ключем. Виборці шифрують свої бюлетені відкритим 
ключем виборчої системи, а потім підписують їх цифровим підписом своїм 
особистим ключем. Цей закритий ключ є ключем для підпису на посвідченні 
особи виборця, що гарантує кожному виборцю особистий ключ та спосіб його 
25 
використання, а виборчий орган може надійно пов’язати кожного виборця з його 
правильним відкритим ключем. 
Незважаючи на критику електронного голосування через вразливість, 
Виборча комісія Естонії відхилила всі побоювання, заявивши, що “за десять 
років ми не мали інцидентів, які могли б вплинути на конфіденційність чи 
цілісність процесу голосування”. 
Перевагою он-лайн голосування є економія фінансових коштів, які 
витрачають на організацію виборів та оплату робочої сили. Он-лайн голосування 
знімає бар’єри участі у виборах, для громадян, які не мають можливості дійти до 
виборчої дільниці, у тому числі у випадках трудової та навчальної міграції. 
Замість того, щоб намагатися забезпечити абсолютну наскрізну перевірку та 
доведену анонімність та конфіденційність, розробники спробували створити 
систему, яка може забезпечити таку саму безпеку, що й паперова, 
використовуючи прості компоненти та зрозумілі технології. 
Система не використовує таку технологію, як змішані мережі (блокчейн) 
для захисту конфіденційності виборців. Натомість використовується простий 
поділ функцій, при якому жоден апаратний елемент або користувач ніколи не 
зберігає як закритий ключ сервера, так і бюлетень із цифровим підписом. 
Цілісність голосування захищена як цим поділом функцій, так і шляхом 
використання журналів, що перевіряються, вироблених кожним компонентом. 
Нині у Канаді зростає популярність он-лайн голосування серед корінних 
народів. Корінний народ Талфан (Talthan First Nation) у Британській Колумбії 
першим використав он-лайн голосування у 2011 році на місцевому референдумі. 
З того часу он-лайн голосування використовувалося більш ніж у 80 із 
634 корінних народів у Канаді у 6 провінціях: Альберті, Британській Колумбії, 
Манітобе, Ньюфаундленді, Новій Шотландії, Онтаріо та Квебеку, в основному 
під час проведення референдумів. Як правило, он-лайн голосування є 
додатковим інструментом нарівні з голосуванням за бюлетенями на дільницях. 
Специфіка технології блокчейн у децентралізації та дублюванні даних на 
технічних пристроях зберігання даних, що не підключені до спільного сервера, 
26 
не знаходяться під єдиним управлінням, а розосереджені по кількох серверах у 
різних дислокаціях і мають рівний статус та однакові записи. Дані фіксуються 
відразу у багатьох, незв’язаних між собою точках. Головна перевага технології 
блокчейну: практично ніхто не може підробити, підмінити чи несанкціоновано 
змінити зафіксовану за допомогою цієї технології інформацію. Блокчейн може 
використовуватись як альтернативна система, у якій запис та зберігання 
відбувається у розподілених користувачів. У ряді випадків така система дозволяє 
підвищувати довіру та захищеність інформації. 
Використання блокчейну у виборчому процесі забезпечує фіксацію голосу 
виборця чи відомості протоколів про результати голосування. Таким чином, 
авторизовані спостерігачі фіксують у десятках та сотнях протоколах у різних 
точках кожен голос виборця. 
Технологію блокчейн було апробовано в ряді країн на партійних 
праймеріз. Вибори 7 березня 2018 року в Сьєрра-Леоні стали першими виборами 
у світі на рівні країни, проведеними з використанням технології блокчейн як 
експеримент. Вибори були поєднаними парламентськими, президентськими та 
муніципальними. За цією технологією було проведено президентські вибори. 
Національна виборча комісія Сьєрра-Леоне акредитувала швейцарську 
блокчейн-компанію AGORA та команду її представників як міжнародних 
спостерігачів на президентських виборах у складі 280 осіб  представників 
AGORA, Червоного Хреста, Федеральної політехнічної школи Лозанни (École 
Polytechnique), Університету Фрайбурга (University of Freiburg). Система схожа 
з проведенням крипто валютних операцій. Кожен виборець мав 
“гаманець”- систему ідентифікації та облікових даних, цифровий аналог запису 
у списку виборців та процедури надання паспорта; та “монету” - голос. 
Особистість перевірялася на мобільному пристрої за допомогою біометричних 
інструментів - сканування відбитка пальця. Сторонні дільниці, які підписали 
угоди, фіксують ланцюжком кожен відданий голос. 
Експеримент дозволив протестувати технологію та її ефекти. Підрахунок 
результатів технологія прискорила приблизно на 2 години у порівнянні зі 
27 
стандартною процедурою. І, загалом, технологія була визнана досить успішною, 
але потребує ще серйозної технологічної підготовки. 
Відтак, найстарішим і найпоширенішим є голосування з використанням 
оптичного сканування. Електронні машини для голосування з прямим 
записом DRE є більш новими і менш поширеними. У той час як голосування 
через Інтернет є менш поширеним серед усіх типів. 
Деякі країни використовують один тип голосування по всій країні, інші 
використовують різні типи в різних областях. Наприклад, Бразилія використовує 
машини для голосування DRE по всій країні, в той час як на окремих дільницях 
США використовуються різні машини для голосування DRE, машини для 
оптичного сканування і паперові бюлетені з ручним підрахунком. 
Вже сьогодні існують декілька способів, що розвиваються, захистити дані 
виборців при он-лайн голосуванні, крім системи блокчейн [5]: 
1. VVPAT (Voter-Verifiable Paper Audit Trail - паперовий “слід”, що 
перевіряється виборцем) – це виборчий паперовий протокол, що підлягає 
перевірці. Коли єдиний запис про голосування є цифровим, існує ризик його 
безповоротної втрати через злом або збій (наприклад, на виборах у Каліфорнії в 
2008 р., помилка в програмному забезпеченні видалила 200 голосів виборців), з 
цієї причини корисні резервні системи, що надають фізичний запис, який можна 
перевіряти щоразу, коли виникають сумніви. Паперові протоколи голосування 
можуть набувати форми роздруківки, згенерованої машинами для голосування 
після підведення голосування, а традиційнішою версією є скани бюлетенів 
виборців. Комбінований електронний та паперовий запис голосування 
безпечніший, ніж тільки паперовий або електронний запис. З цієї причини 
VVPAT у системах електронного голосування рекомендуються Радою Європи і 
є обов’язковими у 32 штатах США та окрузі Колумбія. 
2. E2EVV (End-To-End Verifiable Voting) – наскрізне голосування, що 
перевіряється. Воно усуває шахрайство на виборах, дозволяючи виборцям 
перевіряти не лише те, що їхній голос віддано, як передбачалося, але також, що 
голос правильно записаний та підрахований, що не може бути надано 
28 
традиційними паперовими бюлетенями та електронними системами на даний 
час. Scantegrity, створена Массачусетським технологічним інститутом, є однією 
з кількох систем, розроблених, щоб уникнути розкриття імен громадян. Вона 
замінює імена виборців та їх вибір довільно призначеними кодами, які виборці 
можуть забрати додому. Щойно всі голоси підраховані, виборці можуть 
використовувати свої коди для он-лайн перевірки правильності запису свого 
голосу. Подібну технологію застосовує Естонія під час он-лайн голосування. 
Розробники системи підраховують, що навіть якщо лише 2 % виборців 
скористаються можливістю перевірити голосування, це є достатньою частиною 
для запобігання спробі фальсифікації виборів. Scantegrity був використаний у 
2009 та 2011 роках на муніципальних виборах у штаті Меріленд. Проте 
дослідження показало, що складність цієї та інших систем E2EVV ускладнює їх 
використання виборцями. 
Зростання впровадження цих нових технологій у деяких регіонах 
відбувається частково через визнання того, що технологія може мати переваги 
перед традиційними методами голосування та підрахунку голосів. Такі переваги 
можуть включати [7]: 
− усунення витрат і логістики, пов’язаної з паперовими бюлетенями; 
покращені механізми ідентифікації виборців; 
− доступність голосування навіть для маломобільних груп населення; 
− легке проведення складних виборів; 
− підвищення явки виборців; 
− виключення недійсних бюлетенів; 
− швидший, більш точний і стандартизований підрахунок бюлетенів; 
− запобігання певним формам шахрайства. 
Однак використання нових технологій несе й ряд нових викликів. Ці 
проблеми можуть включати [7]: 
− відсутність прозорості; 
− негативний вплив на довіру до процесу; 
− плутанина в процесі для неписьменних або неосвічених виборців; 
29 
− необхідність проведення широкої освіти виборців, як це 
використовувати та вплив на процес; 
− труднощі аудиту результатів; 
− таємниця голосування; 
− безпека процесу голосування та підрахунку голосів; 
− витрати на впровадження та підтримку технології протягом життєвого 
циклу обладнання; 
− потенційна втрата контролю над процесом стороннім постачальникам 
технологій; 
− підбір персоналу зі спеціальними навичками розробки та супроводу 
програмного забезпечення; 
− додаткова складність виборчого процесу та здатність системи 
електронного голосування адекватно впоратися з цією складністю; 
− наслідки у разі несправності обладнання або системи. 
На додаток до цих викликів також життєво важливо, щоб електронні 
системи голосування та підрахунку голосів були запроваджені таким чином, щоб 
не порушувати основні виборчі стандарти країни, де вони застосовуються. 
1.3. Переваги та недоліки використання систем проведення 
електронного голосування 
Вся історія виборчих технологій нерозривно пов’язана з розробками у 
сфері обробки інформації. Якщо у ХІХ ст. паперові бюлетені були єдиним 
способом голосування, то сьогодні бюлетені підраховують за допомогою 
інформаційних технологій. 
Одним із перших досвідів їх застосування стали вибори у штаті Флорида у 
2000 році: тоді бюлетені надрукували з перфокартами (рис. 1.7), але їх дизайн 
додав владі багато проблем - машини неправильно зчитували голоси. 
Перфокарти було замінено на електронні машини. Це нововведення викликало 
бурхливу дискусію щодо того, чи можна довіряти комп’ютерам підраховувати 
голоси виборців. Ця суперечка не припиняється досі: вона призвела до 
30 
скорочення використання електронних пристроїв у виборчих кампаніях у всьому 
світі. 
 
Рис. 1.7. Бюлетень виборця на президентських виборах 2000 року у США 
У різний час на виборах США використовували п’ять способів підрахунку: 
ручний підрахунок, електронні пристрої прямого запису голосів, машини з 
механічним важелем, перфокарти, відскановані паперові бюлетені. Відскановані 
паперові бюлетені вперше було використано у 1960-х роках. Технологія була 
скопійована із системи проведення стандартизованих тестів. Сканер зчитує 
бюлетень, наприкінці дня члени виборчої комісії друкують підсумкові дані про 
кількість голосів. 
Головною темою дискусій щодо технологій голосування з 2000-х років 
залишається роль комп’ютерів у реєстрації та підрахунку голосів. Особливо 
спірним є положення про повністю електронну реєстрацію голосу, без будь-
якого паперового резервного запису. Наприклад, серед лідерів противників 
електронного голосування професор Девід Лілл зі Стенфордського університету. 
Він стверджує, що сьогодні найвагоміші проблеми виборних технологій - це 
можливість зловмисникам перехоплювати голоси, подані віддалено, а також 
атаки хакерів на саму систему голосування. 
Бази даних он-лайн значно полегшують завдання створення та управління 
актуальними списками виборців. У менш розвинених країнах громадяни часто 
31 
не мають надійних документів, що засвідчують особу. Біометричні технології 
допомагають ідентифікувати виборців і тим самим запобігти шахрайству через 
багаторазове голосування. Електронні машини для голосування полегшили 
вибори для людей з обмеженими фізичними можливостями. У США виборці з 
ослабленим зором можуть використовувати аудіо інтерфейс, люди з 
паралізованими кінцівками можуть вибирати кандидатів з екрану за допомогою 
руху головою (рис. 1.8). 
 
Рис. 1.8. Зовнішній вигляд електронної машини для виборців 
з обмеженими фізичними можливостями у США 
Однак крім переваг цифрових технологій у голосуванні є й негативні 
аспекти. Нематеріальна природа цифрових процесів ускладнює виявлення 
фальсифікацій – це ілюструє досвід латиноамериканських та азіатських країн. 
Більшість європейських країн сьогодні користуються перевіреними паперовими 
бюлетенями. 
Цифрові технології не можуть допомогти, коли виборчі органи 
корумповані чи виявляють недбалість. На виборах 2017 року у Венесуелі явку 
виборців було завищено щонайменше на один мільйон голосів (за населення 
країни в 32 млн. осіб). З метою уникнення фальсифікацій також застосовують 
відео спостереження на виборчих дільницях. Камери мають змогу зафіксувати 
порушення на дільниці в процесі голосування та підрахунку голосів. Але слід 
32 
зважати, що електронне маніпулювання невидимими цифровими процесами 
набагато складніше виявити, якщо відсутня резервна система, яка фіксує 
голосування на папері. 
Також цифрові технології можуть додати проблем із перевіркою 
результатів. Виборці часто не розуміють, як працюють машини для 
голосування (рис. 1.9), і тому не можуть дізнатися, чи правильно було враховано 
їхній голос. В 2009 році цей аргумент став вирішальним для Конституційного 
суду ФРН: країна повернулася до використання паперових бюлетенів. Резервна 
паперова система дозволяє виборцям знати, що у разі заперечення результатів 
виборів є документ, що підтверджує врахований голос. 
Невирішені проблеми призвели до того, що 2006 року уряд Ірландії 
відмовився від проекту електронного голосування, незважаючи на те, що 
витратив на обладнання понад 50 млн. євро. Наступного, 2007 року, Нідерланди 
повернулися до паперових бюлетенів після 10 років використання електронних 
машин для голосування. Незважаючи на це, застосування цифрових технологій 
на виборах можуть стати вигідним вкладенням для країн, що розвиваються. 
Біометрія забезпечує визнання результатів голосування та знижує ризики 
насильства після виборів. 
 
Рис. 1.9. Підготовка електронних машин для голосування 
(Ферфакс, штат Віргінія, США, 2011 рік) 
33 
Майже у всіх країнах створення та ведення списків виборців, а також 
передача та підрахунок результатів голосування відбуваються у цифровому 
форматі. Однак електронне підбиття підсумків виборів менш поширене: 
найчастіше це відбувається в країнах з підтасовуванням результатів. Цифрові 
технології не ідеальні: помилки трапляються навіть за біометричної 
ідентифікації виборців. 
Після введення у Венесуелі цифрової перевірки відбитків пальців на 
виборах у 11 % випадків система не змогла зіставити відбитки пальців виборців 
із записами у виборчому списку. Пакистан у 2018 році відмовився від 
сканування, незважаючи на те, що за допомогою технології було виявлено тисячі 
сфальшованих голосів. У Кенії у 2017 році під час передачі даних стався 
системний збій, який спричинив затримку публікації результатів. Зрештою 
кенійська влада скасувала результати виборів. 
Досвід більшості країн ЄС показовий: для складання списків виборців на 
виборах дані витягують із реєстрів населення. У країнах, де списки формуються 
з нуля, наприклад в Австралії, виборці самостійно реєструються за допомогою 
он-лайн форми. У Танзанії громадяни заповнюють машино читаний паперовий 
бланк, який потім копіюється сканером. Проте складність оновлення та 
перехресної перевірки паперових виборчих списків підвищує ризики 
фальсифікацій. До списків можуть включити померлих виборців або зробити 
кілька записів однієї і тієї ж особи. Цифрові реєстри виявляються керованішими: 
вони застосовуються в Норвегії, Монголії та 17 інших країнах світу. 
Створення точних списків он-лайн утруднено в країнах, де громадяни не 
мають документів, що засвідчують особу. Відсутність надійного методу 
перевірки особистості дозволяє людям реєструватися кілька разів: наприклад, на 
виборах 2011 року до Конго понад 700 тис. осіб (1 % від загальної чисельності 
населення) змогли зареєструватися двічі. Для запобігання фальсифікаціям у 
45 країнах (в основному африканських) використовують сканування відбитків 
пальців. У Сомалі як метод перевірки ввели сканування райдужної оболонки ока. 
34 
Щоб вирішити проблему ідентифікації, деякі країни видають під час 
реєстрації на виборах спеціальне посвідчення особи, яке громадяни 
використовують для ідентифікації на виборчих дільницях. Так вчинили в Гвінеї, 
Конго та Ліберії. У Кенії, Гані та Нігерії посвідчення особи включає відбиток 
пальця, який сканується для перевірки особи власника картки. 
Серйозна проблема на виборах - це багаторазове голосування, яке іноді 
називають терміном “каруселі”. Щоб запобігти повторному голосуванню, країни 
роблять позначки на пальці виборців чорнилом, яке, однак, не є повністю 
незмивним. Іноді такий метод стає небезпечним: 2014 році деяким афганським 
виборцям відрубали пальці за те, що вони не виконали заклику талібів 
бойкотувати вибори. У порівнянні з чорнилом біометрична 
ідентифікація - безпечніший і непомітний метод боротьби з багаторазовим 
голосуванням (рис. 1.10). 
 
Рис. 1.10. Сканування відбитків пальців на виборах у Кенії у 2017 році 
Ще одна перешкода при підрахунку голосів – неписьменність. Виборці не 
можуть прочитати бюлетені або інструкції щодо їх заповнення. В Індії, де 31 % 
дорослого населення неписьменна, більшість недійсних голосів відбраковуються 
через такі помилки: у бюлетені може бути відсутня позначка в потрібному місці. 
Електронні машини для голосування, запроваджені у 2003 році, усунули цю 
проблему. Тепер індійські виборці активують кнопку поряд із логотипом 
35 
відповідної партії чи кандидата. У системах прийому паперових бюлетенів 
сканер програмують в такий спосіб, що він приймає лише коректно заповнені 
бюлетені. 
Електронні системи голосування вразливі до зовнішніх атак. Під час 
президентських виборів у США 2016 році була відзначена атака хакерів на 
комп’ютери для голосування в 20 штатах США. В 2006 році у Данії учасники 
руху “We do not trust voting computers” (“Ми не довіряємо комп’ютерам для 
голосування”) перепрограмували комп’ютери на виборчих дільницях для ігор у 
шахи. У 2010 році в Індії хакерам вдалося отримати доступ та перепрограмувати 
машину для голосування за допомогою мобільного телефону. Низька якість 
програмного забезпечення електронного голосування робить систему вразливою 
для таких атак. 
Наступний етап розвитку виборних технологій – інтернет-голосування. 
Він виявився ще спірнішим. З одного боку, громадянам не потрібно відвідувати 
виборчі дільниці і вирішується проблема явки виборців на виборах. З іншого 
боку, сучасні технології неможливо повністю убезпечити системи електронного 
голосування від хакерів. Зростаюча кількість кібератак на системи електронного 
голосування підтверджує побоювання експертів. 
Інтернет-голосування є зручним рішенням для виборців, які фізично не 
можуть дістатися виборчих дільниць. Деякі штати США дозволяють 
військовослужбовцям та виборцям, які проживають за кордоном, голосувати в 
Інтернеті. Австралійський штат Новий Південний Уельс дозволяє цей варіант 
виборцям, які перебувають за межами штату в день голосування, а також певним 
категоріям інвалідів і тим, хто живе за 20 км. від найближчої виборчої дільниці. 
Сьогодні лише Естонія надає всім виборцям можливість он-лайн 
голосування на національних виборах. У 2017 році частка тих, хто проголосував 
он-лайн, склала 32 % (рис. 1.11). 
36 
 
Рис. 1.11. Частка Інтернет-голосування на місцевих та парламентських виборах 
в Естонії у 2005-2019 рр. 
Естонським виборцям поставляються ID-картки з чіпом та кард-рідером, 
що робить їх придатними для аутентифікації в Інтернеті. В 2007 році національна 
виборча комісія Естонії оцінила витрати на розробку та впровадження Інтернет-
голосування. За 4 роки витрати становили 400 тис. євро. За оцінками комісії, у 
2017 році Інтернет-голосування дозволило заощадити 11 тис. робочих днів. 
Хоча немає жодних доказів того, що Інтернет-голосування в Естонії було 
скомпрометовано, ця технологія - очевидна мета хакерів. Тому в 2014 році 
експерти з кібербезпеки рекомендували Естонії припинити Інтернет-
голосування, аргументуючи це тим, що такий спосіб може бути небезпечним. 
Наприклад, виборчі органи Австралії виключили Інтернет-голосування на 
федеральних виборах, оскільки це може “катастрофічно підірвати прозорість 
голосування”. Щоб виправити цей недолік он-лайн виборів, з 2013 року естонці 
можуть перевірити свій голос, використовуючи технологію End-to-End Verifiable 
Voting (E2EVV). Перевірка виборців не може запобігти шахрайству, але може 
принаймні допомогти у його виявленні. 
Інтернет-голосування потенційно компрометує таємницю голосування, 
оскільки неможливо гарантувати, що ніхто не спостерігатиме за виборцями, коли 
37 
вони подають свої бюлетені. Таким чином, підвищується ризик примусу 
виборців або навіть купівлі голосів. Щоб виключити цю можливість, Естонія 
дозволяє громадянам передавати свої голоси необмежену кількість разів 
протягом семиденного періоду або після закінчення цього періоду анулювати 
свій вибір в Інтернеті, проголосувавши особисто. 
Вибори, які проводяться за допомогою цифрових технологій, повинні 
відповідати загальним принципам, викладеним у ст. 25 Міжнародного пакту 
ООН про громадянські та політичні права 1966 року. Документ передбачає 
загальне та рівне виборче право та таємницю голосування. Але міжнародних 
стандартів щодо специфічних характеристик електронного голосування поки що 
не існує. 
Рада Європи випустила у 2004 році рекомендації щодо стандартів 
електронного голосування, серед яких основними є: 
− виборці мають бути надійно ідентифіковані; 
− інтерфейси мають бути простими у розумінні та використанні для всіх 
виборців; 
− виборці повинні мати можливість підтвердити голос до голосування; 
− після голосування виборці повинні мати можливість перевірити, чи 
вони правильно проголосували; 
− голосування має бути анонімним; 
− процедура голосування має бути повністю прозорою; 
− електронні системи голосування мають бути перевірені та 
сертифіковані незалежним органом. 
Розробники нових систем голосування намагаються вирішити головну 
проблему будь-яких виборів – це фальсифікація результатів. Найпростішим 
способом вирішення проблеми стала публікація вибору кожного виборця, але це 
суперечить принципу таємниці голосування. 
У Массачусетському технологічному інституті запропонували оригінальне 
рішення. Однією з розробок інституту є система, в якій імена та вибір виборців 
замінюють випадково згенерованими кодами, ці коди видаються громадянам за 
38 
бажанням на виборчій дільниці після голосування. Виборець після підрахунку 
всіх голосів може звірити свій результат он-лайн за допомогою виданого коду. 
Крім того, будь-який громадянин може перевірити коректність результатів 
виборів за опублікованими результатами. 
За словами дослідників, навіть якщо лише 2 % виборців скористаються 
можливістю перевірки свого голосу, цього буде достатньо, щоб запобігти спробі 
фальсифікації. 
Винайдену систему як експеримент застосували на виборах у місті Такома 
Парк, штат Меріленд. Однак результати показали, що запропонована система є 
надто складною для виборців і її необхідно вдосконалювати. 
  
39 
1.4. Формулювання проблемних задач дослідження 
− проаналізувати світовий досвід використання систем проведення 
електронного голосування, визначені переваги і недоліки їх застосування; 
− проаналізувати існуючі системи проведення електронного голосування 
та привести якісні характеристики існуючих аналогів предмету дослідження; 
− побудувати діаграми поведінки системи для реалізації функцій як 
організатора, так і учасника проведення електронного голосування; 
− розробити структурну модель інформаційної системи автоматизації 
проведення електронного голосування; 
− запропонувати функціональну модель інформаційної системи 
автоматизації проведення електронного голосування. 
− розробити програмну систему автоматизації проведення електронного 
голосування. 
Висновки 
1. Проведений системний аналіз світового досвіду використання систем 
проведення електронного голосування, визначені переваги і недоліки їх 
застосування. 
2. Визначені сучасні технології систем проведення електронного 
голосування у світі, проаналізовано перспективи їх використання, зазначено 
позитивні та негативні чинники. 
3. Сформовано задачі дослідження. 
 
40 
РОЗДІЛ 2. СИСТЕМНИЙ АНАЛІЗ ІСНУЮЧИХ ІНФОРМАЦІЙНИХ 
СИСТЕМ ПРОВЕДЕННЯ ЕЛЕКТРОННОГО ГОЛОСУВАННЯ 
2.1. Розвиток інформаційних систем автоматизації проведення 
електронного голосування 
Основною тенденцією виборчого процесу в сучасному світі є його 
насичення автоматизованими електронними засобами голосування. Розвиток 
інформаційно-комунікаційних технологій значною мірою визначає соціальний 
та політичний прогрес кожної держави. Розвиток електронного голосування є 
одним із перспективних напрямків застосування сучасних інформаційних 
технологій. 
Визначення охоплює технології, які поділяються на два типи: 
− онлайн-голосування, що дозволяє людям користуватися своїми 
персональними комп’ютерами для голосування, відвідуючи захищений Web-
сайт і вводячи особистий пароль; 
− електронне голосування на дільницях: у цьому випадку виборці 
прийдуть на традиційні дільниці. Підтвердження особи зазвичай здійснюється за 
допомогою електронної картки, і виборці мають змогу вибирати між 
комп’ютером, сенсорним екраном або оптичною ручкою, встановленою в кабіні. 
Однак технологія онлайн-голосування турбує деяких експертів, які 
говорять про можливість втручання третіх осіб у процес голосування. В 
основному це типова комп’ютерна вразливість системи (вірус, атака на сервер 
голосування тощо). Крім того, теоретично існує можливість вкрасти чужі голоси 
на виборах, використовуючи смарт-карту іншої людини. Однак після 
продуманого і прозорого процесу голосування абсолютно неможливо 
фальсифікувати результати у великих масштабах. Багато експертів вважають, що 
електронне голосування набагато безпечніше, ніж маніпулювання голосами на 
папері. 
41 
Якщо обговорювати питання виборів в Інтернеті, з юридичної точки зору, 
спочатку постає питання дотримання основних принципів виборчих прав, таких 
як конфіденційність голосування, відкритість та надійність результатів [17]. 
Таємне голосування передбачає, що кожен виборець повинен отримати 
шанс проголосувати, не намагаючись знати свій вибір до або після висловлення 
своїх побажань. Крім того, ніхто не має права намагатися отримати інформацію 
від виборців, прямо чи опосередковано, про те, як вони проголосували чи мають 
намір проголосувати. 
В умовах онлайн-виборів дотримуватися принципу таємного голосування 
стало майже неможливо. По-перше, сучасні технології насправді не 
забезпечують анонімності голосування. Навіть якщо організація має 
багаторівневий доступ до сервера для голосування та використовує динамічні 
адреси, проблема все одно існує. Неможливо виключити зберігання унікальних 
ключів, які вже проголосовані в базі даних на сервері, оскільки це дозволить 
одній і тій же людині проголосувати знову, і кількість голосів не може бути 
обрахована. 
По-друге, слабкою стороною є особа виборця. У цьому випадку можуть 
виникнути дві ситуації: 
− виборець заздалегідь отримує ключ електронного цифрового підпису 
для доступу до сервера для голосування. Тривалий термін зберігання (від виборів 
до виборів) значно знижує надійність цих ключів, оскільки їх можна викрасти з 
бази даних виборчої комісії або у самих виборців; 
− виборці отримають новий електронний ключ напередодні виборів, що 
робить електронне голосування незручним, оскільки вони повинні бути 
присутніми на виборчій дільниці особисто, щоб отримати ключ доступу. 
Однак, всупереч зазначеним вище недолікам, електронна система 
голосування має й багато переваг, які усувають значну частину можливих 
негативних наслідків, а саме: 
− швидкість обробки результатів опитування (зазвичай протягом 
24 годин після закриття дільниці); 
42 
− можливість програмування інструкції для голосування і самого 
електронного бюлетеня на різних мовах; 
− наявність процедур голосування для людей з обмеженими 
можливостями. 
2.2. Функціональний аналіз інформаційних систем електронного 
голосування 
Розглянемо наявні програмні рішення для проведень електронного 
голосування. В кожного рішення існують переваги та недоліки, залежно від яких 
користувач віддає перевагу використовувати ту чи іншу інформаційну систему. 
Інформаційні системи автоматизації електронного голосування мають 
схожу схему взаємодії з користувачами, яку можна розбити на декілька етапів: 
− створення опитування; 
− участь в опитуванні; 
− відтворення результату. 
Поступово проходячи ці етапи на Web-сайтах інформаційних систем 
відбувається електронне голосування. На кожному етапі можна виділити 
переваги та недоліки інформаційних систем. 
Розглянемо декілька програмних рішень інформаційних систем за етапами, 
що вказані вище: 
− інформаційна система електронного голосування “Straw Poll”; 
− інформаційна система електронного голосування “Poll Maker”; 
− інформаційна система електронного голосування “Fast Poll”; 
− інформаційна система електронного голосування “StrawPoll”. 
2.2.1 Інформаційна система електронного голосування “Straw Poll” 
Інформаційна система електронного голосування “Straw Poll” 
представлена Web-сайтом, що дозволяє швидко створювати голосування. Зовні 
Web-сайт інформаційної системи має дуже простий інтерфейс, всі доступні 
функції відразу помітно на головній сторінці (рис. 2.1), де присутня форма для 
43 
створення опитування. У формі присутні функції такі як: запитання, варіанти 
рішень, тип уніфікації учасників та дозвіл на відповідь декількома варіантами. 
 
Рис. 2.1. Головна сторінка Web-сайту інформаційної системи 
електронного голосування “Straw Poll” 
Відразу після створення організатор може самостійно взяти участь та 
проголосувати. Web-сторінка з опитуванням відображає запитання та рішення. 
Проголосувавши учасник відразу може переглянути результати 
голосувань (рис. 2.2), які представлені у вигляді відсоткового відношення та 
загальну кількість голосів. 
 
Рис. 2.2. Web-сторінка результатів голосування інформаційної системи 
електронного голосування “Straw Poll” 
44 
Переваги Web-сайту інформаційної системи електронного голосування 
“Straw Poll”: 
− надає змогу швидко створити голосування. 
Недоліки Web-сайту інформаційної системи електронного голосування 
“Straw Poll”: 
− не можливо задати учасників; 
− результат голосування видно всім користувачам; 
− прийняти участь у голосуванні може зловмисник. 
2.2.2 Інформаційна система електронного голосування “Poll Maker” 
Інформаційна система електронного голосування “Poll Maker” 
представлена Web-сайтом, що надає можливості створення з налаштуваннями 
вигляду Web-сторінки голосування. 
Web-сайт пропонує створити опитування відразу з головної 
сторінки (рис. 2.3) та без авторизації. На панелі створення присутні розділи: 
− форма наповнення, що має поля: питання та варіанти голосів; 
− вкладка теми, яка надає можливості для редагування заднього фону, 
кольорів, шрифту, розміру тексту; 
− вкладка налаштувань дозволяє обмежити кількість голосів для кожного 
учасника і налаштувати відображення результатів. 
Коли організатор створює голосування, йому пропонується поділитися 
посиланням для доступу, переходячи за яким можна взяти участь в опитуванні 
(рис. 2.3), обрати відповіді. 
Результати голосування поділені на декілька частин, в яких показано 
відсоткове відношення голосів й розташування учасників на мапі (рис. 2.4). 
Переваги Web-сайту інформаційної системи електронного голосування 
“Poll Maker”: 
− налаштування оформлення. 
45 
 
Рис. 2.3. Головна сторінка Web-сайту інформаційної системи 
електронного голосування “Poll Maker” 
 
Рис. 2.4. Web-сторінка електронного голосування 
інформаційної системи “Poll Maker” 
Недоліки Web-сайту інформаційної системи електронного голосування 
“Poll Maker”: 
− не можливо задати учасників; 
− результат голосування видно всім користувачам; 
− всім користувачам видно розташування учасників. 
2.2.3 Інформаційна система електронного голосування “Fast Poll” 
Інформаційна система електронного голосування “Fast Poll” представлена 
Web-сайтом, що надає змогу створювати опитування з дуже привабливим 
інтерфейсом (рис. 2.5). 
46 
 
Рис. 2.5. Головна сторінка Web-сайту інформаційної системи 
електронного голосування “Fast Poll” 
Інформаційна система даного сайту дозволяє створювати голосування з 
додатковими полями та подробицями опитування. На панелі створення 
опитування (рис. 2.6) наявні поля: питання, варіанти, категорія, налаштування 
доступу, функція коментування. 
 
Рис. 2.6. Панель створення опитування інформаційної системи 
електронного голосування “Fast Poll” 
47 
Учасник опитування в даній системі має доступ до коментарів, інформації 
про голосування та результатів, які тут представлені у відсотковому відношенні. 
Переваги Web-сайту інформаційної системи електронного 
голосування “Fast Poll”: 
− коментарі для опитувань; 
− налаштування доступу за посиланням. 
Недоліки Web-сайту інформаційної системи електронного 
голосування “Fast Poll”: 
− не можливо задати учасників. 
2.2.4 Інформаційна система електронного голосування “StrawPoll” 
Інформаційна система електронного голосування “StrawPoll” 
представлена Web-сайтом, що надає можливості створення опитування та 
організації онлайн зустрічі. 
Головна сторінка Web-сайту інформаційної системи електронного 
голосування “Fast Poll” (рис. 2.7) показує доступні сервіси, серед яких створення 
голосування. Інтерфейс Web-сайту змінюється на темний колір в темну пору 
доби. 
Організатор опитування має додаткові поля для опису голосування та 
управління доступом на посилання. 
Учасник може переглянути всю інформацію про опитування і врешті 
зробити вибір. Після чого, можна розглянути результати голосування, у вигляді 
відношення та круглого графіка. 
Переваги Web-сайту інформаційної системи електронного 
голосування “StrawPoll”: 
− додавання опису до голосування. 
Недоліки Web-сайту інформаційної системи електронного 
голосування “StrawPoll”: 
− результат опитування видно всім користувачам. 
48 
 
Рис. 2.7. Головна сторінка Web-сайту інформаційної системи 
електронного голосування “StrawPoll” 
Всі сайти мають схожу схему створення опитування. З одного боку це 
дозволяє створити опитування без авторизації, що сильно спрощує використання 
системи. З іншого боку це створює негативний наслідок – результати опитувань 
можуть переглядати всі. 
Майже в усіх системах не має можливості додавати учасників окремо, щоб 
кожен учасник був запрошений на опитування через електронну пошту. 
Загалом це дві проблеми це основний недолік таких систем, тому в даному 
проекті потрібно врахувати такі недоліки й вирішити їх. Для вирішення можна 
додати обов’язкову авторизацію та додати можливість вказання пошти 
учасників. Такі рішення дозволять збільшити кількість потенційних 
користувачів. 
2.3. Обґрунтування доцільності розробки інформаційної системи 
автоматизації проведення електронного голосування 
Поява множини сучасних технологій автоматизації проведення 
електронного голосування, зробила можливим створення інформаційної 
системи, яка володіє більш широкими функціональними можливостями. 
Прихильники електронного голосування, зокрема Інтернет-голосування, 
наводять ряд аргументів на користь його використання. Вони пов’язані з 
технологіями, соціальними проблемами та організацією виборів. 
49 
Електронне голосування може спростити процес голосування та зробити 
його доступнішим для виборців. Це особливо справедливо для віддаленого 
голосування в Інтернеті, враховуючи, що бюлетені можна подавати з будь-якого 
комп’ютера, що має підключення до Інтернету. Такі методи значно знижують 
вартість голосування для багатьох виборців, створюючи набагато більше точок 
доступу, з яких вони можуть голосувати. Існує можливість усунути довгі черги 
на виборчих дільницях та краще розв’язувати питання доступності для людей: з 
інвалідністю; хворих; тих, хто проходить військову службу або проживає за 
кордоном; тих, хто перебуває в особистих поїздках та інших груп громадян як 
старі люди, яким може бути важко відвідати традиційну дільницю. 
Крім того, віддалені методи Інтернет-голосування, а в деяких випадках 
Інтернет-голосування в кіосках, надають виборцям можливість голосувати в 
будь-який час, що надає додаткову можливість виборцям проголосувати. Що 
стосується особливих груп виборців, Інтернет-голосування також можуть бути 
методами залучення тих виборців, яких вважають найважчими для охоплення, 
особливо молодих людей у віці від 18 до 30 років. Ці виборці найбільш знайомі 
з сучасними інформаційними технологіями, і, ймовірно, найбільше виграють від 
розширення дистанційних типів електронного голосування. Також дистанційне 
голосування в Інтернеті є особливо корисним способом залучення молодих 
людей не зареєстрованих для участі в голосуванні. 
Голосування в Інтернеті може забезпечити більшу таємницю для особливої 
групи виборців з обмеженими можливостями. Голосуючи електронним 
способом а, отже, без допомоги, ці виборці отримують більший ступінь 
анонімності при голосуванні. Забезпечення секретності для цих груп підвищує 
кількість голосів. 
Покращення доступності та створення більших можливостей для участі 
виборців обіцяє позитивно вплинути на явку виборців. У більшості випадків явка 
на виборчі дільниці, де застосовували Інтернет для роботи, не зросла. Однак були 
випадки, коли застосовувались віддалені методи, що дали неоднозначні 
50 
результати. Тривалість часу віддаленого голосування в Інтернеті, схоже, 
пов’язано зі збільшенням як його використання, так і явки виборців. 
Стосовно організації Інтернет-голосування, то воно надає швидші та 
точніші результати виборів. Системи голосування в Інтернеті забезпечують 
швидкий офіційний процес підрахунку виборчих бюлетенів. 
У довгостроковій перспективі всі види голосування в Інтернеті можуть 
бути дешевшими в експлуатації та виконанні, ніж традиційні паперові бюлетені, 
що вимагають організації опитувань. 
Нарешті, Інтернет-голосування може покращити загальну якість поданих 
бюлетенів внаслідок зменшення або усунення помилок при голосуванні та 
підвищення рівня обізнаності виборців. Помилок при голосуванні не може бути, 
а залежно від системи – зіпсованих бюлетенів, оскільки комп’ютер цього не 
допускає. Однак, якщо юридична структура вимагає можливості зіпсувати 
бюлетень або допускає голосування проти, у деяких програмних засобах можна 
передбачити наявності відповідної кнопки, щоб дати виборцям можливість 
подати голос протесту (або відмовитись від голосування). Крім того, залежно від 
архітектури системи голосування в Інтернеті, існує можливість зображення 
додаткової інформації щодо кандидатів та їх політичних позицій разом з 
он-лайн голосуванням. Це забезпечить виборців основною інформацією про 
кандидатів та партійні платформи, а отже, краще проінформує їх щодо 
голосування [16]. 
З урахуванням вище зазначених причин розробка системи, яка дозволить 
реалізувати потенціал Інтернет-голосування, розкрити його суттєві переваги, 
надаючи змогу всім користувачам працювати на одному рівні, є завданням 
актуальним. 
Виходячи з цього, можна зробити висновок, що є необхідність розробки 
інформаційної системи автоматизації проведення електронного голосування, що 
базується на розробці структурної та функціональної моделей інформаційної 
системи для створення уніфікованого шаблону та стратегії вибору необхідних 
даних для користувачів та експертів. Це дозволить забезпечити потреби як 
51 
користувачів, так і організаторів голосування. Реалізація такого рішення повинна 
увібрати в себе найбільші та найкращі особливості розглянутих вище аналогів. 
Відтак, основними функціями запропонованої інформаційної системи для 
забезпечення виборного процесу з боку організатора мають бути: 
− авторизація; 
− перегляд створених голосувань; 
− перегляд інформації про опитування; 
− огляд статистики голосів; 
− управління голосуванням; 
− створення опитування; 
− додавання учасників голосування; 
− додавання подробиць голосувань; 
− нескінченне введення питань та варіантів; 
− опрацювання вірності всіх полів; 
− відправка запрошення учасникам. 
З боку учасника процесу опитування мають виконуватись такі функції: 
− отримання запрошення; 
− авторизація; 
− перегляд опису голосування; 
− обрання варіанту/варіантів; 
− надсилання голосу лише один раз; 
− обробка вірності заповнених полів. 
На базі таких вимог буде проводитися проектування та розробка 
програмного забезпечення інформаційної системи автоматизації проведення 
електронного голосування. 
  
52 
Висновки 
1. Розглянуто сучасний розвиток інформаційних систем проведення 
електронного голосування, визначено їх особливості. 
2. Проведений функціональний аналіз існуючих аналогів предмету 
дослідження та дана їх якісна оцінка за основними параметрами. 
3. Обґрунтована доцільність розробки інформаційної системи 
автоматизації проведення електронного голосування. 
53 
РОЗДІЛ 3. МОДЕЛЮВАННЯ КОМПОНЕНТІВ ІНФОРМАЦІЙНОЇ 
СИСТЕМИ ПРОВЕДЕННЯ ЕЛЕКТРОННОГО ГОЛОСУВАННЯ 
3.1. Моделювання предметної області 
3.1.1 Поняття предметної області 
Предметна область – сукупність взаємопов’язаних функцій, 
управлінських завдань, що має значення для конкретного дослідження. 
Інформаційна база використовується як відображення технічних об’єктів. 
Інформаційна база даних складається з однієї або декількох баз даних. Для опису 
предметної області потрібні такі терміни, як об’єкти, властивості об’єктів, 
об’єктні взаємодії (зв’язки) та властивості взаємодії. 
Об’єкт – це будь-який елемент конкретної системи. У програмах поняття 
об’єктів зводиться до поняття програмних об’єктів, що означає будь-який 
екземпляр об’єктів, що використовуються в системі. Різні набори об’єктів, 
утворені за даним принципом, називаються типами об’єктів. Початкове 
групування екземплярів певних класів колекції називається класифікацією. 
Отриманий клас об’єктів – це сукупність об’єктів у реальному або абстрактному 
світі, що мають реальні характеристики та закони поведінки. 
Об’єкти поділяються на прості об’єкти та складні об’єкти. Складні 
об’єкти: компоненти, загальні, агреговані: 
− складовий об’єкт (компонент) – “ціла частина”; 
− загальні об’єкти – організований об’єкт відповідно до категорії інших 
об’єктів; 
− сукупні (агреговані) об’єкти – утворюють об’єкт як зв’язок між іншими 
об’єктами. 
Атрибути об’єкта: 
− самостійні (наприклад, людський вік); 
− форма множини (наприклад, повне ім’я людини); 
− статичні, залишаються незмінними з часом; 
− динамічні, тобто змінюється з часом. 
54 
Атрибути об’єкта – це величини, що характеризують стан об’єкта в будь-
який момент часу. Присвоюючи достатню кількість значень властивостям 
об’єкта, можна точно описати окремий екземпляр об’єкта. Якщо значення хоча 
б одного атрибута двох екземплярів об’єкта відмінні, вони – різні. 
Взаємодія об’єктів полягає в тому, що в будь-якому процесі бере участь 
кілька об’єктів. Взаємодія – це атрибут, який характеризує загальну поведінку 
об’єктів, але не належить жодному об’єкту. Наприклад, під час голосування 
об’єкти Організатор, Голосування, Учасник та Голос взаємодіють. Кількість 
голосів, отриманих за день, є атрибутом взаємодії. 
3.1.2 Основні елементи предметної області 
При розробці речей реального світу розробляються: структурні моделі – 
для візуалізації й специфікації частини системи, їх співвідношення між собою; 
динамічні моделі – для вивчення поведінки. Ці два типи моделей відрізняються 
організацією і тим, на що, в першу чергу, звертається увага при проектуванні. 
При розробленні програмного забезпечення також існує кілька підходів до 
моделювання. Найважливіші з них – алгоритмічний і об’єктно-орієнтований. 
Алгоритмічний підхід [26] – метод створення програмного забезпечення, 
основними компонентами якого є процес і функції, при цьому головна увага 
приділяється передачі потужності управління та розкладання більшого 
алгоритму на менший алгоритм. Складні системи нелегко адаптувати. Коли 
змінюються вимоги або збільшується розмір програми, відповідати цим 
вимогам, стає складніше. 
Об’єктно-орієнтований підхід в якості основного будівельного блоку має 
об’єкт або клас. В найзагальнішому сенсі об’єкт – це сутність, що отримується зі 
словника предметної області чи області рішень, а клас – опис множини 
однотипних об’єктів. Кожен об’єкт відрізняється своєю ідентифікацією (від 
інших об’єктів), станом (з об’єктом пов’язані деякі дані) і поведінкою 
(з ним можна щось робити або він сам може щось робити з іншими 
об’єктами) [18-20, 28]. 
55 
Об’єктно-орієнтоване програмування (ООП) – це найбільш широко 
використовуваний підхід для розробки програмного забезпечення, який показує, 
що воно підходить для побудови систем будь-якого розміру та складності в 
різних галузях. Сучасні мови програмування, інструменти та операційні системи 
в основному об’єктно-орієнтовані, що дозволяє бачити світ з точки зору об’єктів. 
Об’єктно-орієнтований підхід розробки є ідейною основою складання системи з 
окремих компонентів [18, 19]. 
Класи є найважливішими абстракціями та будівельними блоками 
створюваної об’єктно-орієнтованої системи й описують множини об’єктів з 
однаковими властивостями та поведінкою [19]. 
Класи характеризуються спільними атрибутами, операціями, зв’язками та 
семантикою. Клас є концептуальним виглядом цілої множини 
об’єктів [18, 21, 22]. 
Вимоги до проектування класів. Класи використовуються для побудови 
словника системи й включають абстракції, що є частиною проблемної області та 
інші абстракції, на яких ґрунтується реалізація програмного забезпечення. Класи 
можна застосовувати для описування концептуальних, програмних та апаратних 
сутностей. Добре структуровані класи мають чітко окреслені границі та 
формують збалансований розподіл обов’язків у системі. 
Моделювання системи включає ідентифікацію сутностей, важливих для 
конкретного вигляду її реалізації, що формують словник системи. Наприклад, 
при побудові будинку важливо знати, якими будуть стіни, двері, вікна, 
освітлення тощо. Кожна із цих сутностей відрізняється від іншої й має свої 
властивості. Стіни мають певну висоту, ширину, є суцільними. Двері 
характеризуються тими ж ознаками, але відрізняються специфічною 
поведінкою – відчиняються в один бік. Вікна частково схожі з дверима – 
утворюють проріз у стіні, але їх функціональність інша – пропускати сонячне 
світло… Окремі стіни, двері, вікна не існують самі по собі – це конкретні 
екземпляри цих сутностей, з’єднаних між собою. Ці сутності та зв’язки залежать 
від використання кімнат, дизайнерського вирішення тощо. Для будівельників 
56 
важливим є розташування водостоків, вентиляції, електричних кабелів тощо. 
Домовласник не обов’язково зверне увагу на такі речі (за винятком видимих 
порушень: ванну вмонтовано у вітальні, водостік – у робочому кабінеті). 
В уніфікованій мові моделювання (Unified Modeling Language, UML) 
сутності моделюються за класами, які є їх абстракціями та є частиною 
системного словника. Цей клас концептуально описує повний набір об’єктів (а 
не окремий об’єкт: “стіна” – це клас об’єктів із загальними атрибутами та 
поведінкою: висотою, довжиною, товщиною; чи стіна є опорою тощо). 
Сформована абстракція UML може бути прямо виражена мовою ООП. 
Графічна розмітка класу UML (рис. 3.1) дозволяє візуалізувати 
абстракцію, незалежно від мови ООП, підкреслюючи її найважливіші частини: 
назву, атрибути та операції класу (опис багатьох об’єктів з однаковими 
атрибутами), операції, взаємозв’язок та семантика). 
 
Рис. 3.1. Загальна нотація класу 
Назва є унікальною назвою кожної категорії та є текстовим рядком, який 
відрізняє її від інших категорій та показує її суть. Одне ім’я класу є простим, а 
ім’я класу, що має префікс до імені пакета, що містить клас, є кваліфікованим. 
Найбільш загальний рівень абстракції представлений прямокутником з 
назвою (рис. 3.2). 
 
57 
Рис. 3.2. Прості та кваліфіковані імена 
Атрибут – іменована властивість класу, що описує діапазон значень, які 
може набувати екземпляр атрибута [19]. Клас може мати будь-яке число 
атрибутів або не мати жодного. Атрибут є певною властивістю модельованої 
сутності, спільної для усіх об’єктів класу (наприклад, у кожного співробітника є 
ім’я, адреса, номер телефону, дата народження). Атрибут є абстракцією виду 
даних або стану, яким може бути наділений об’єкт класу (рис. 3.3). 
 
Рис. 3.3. Атрибути 
У кожен певний момент об’єкт класу характеризується конкретними 
значеннями (екземплярами) кожного з атрибутів. Атрибути перераховані в 
розділі нотації безпосередньо під іменем класу. 
Специфікацію атрибута можна уточнити, вказавши його тип і початкове 
значення (рис. 3.4). 
 
Рис. 3.4. Атрибути з їх типами 
Операція – це реалізація служби об’єктів класу, яку може запитувати 
інший об’єкт або актор (екземпляр учасника) для ініціювання певної поведінки 
об’єкта класу [18, 19, 30]. Операція – це абстракція операцій, які можна виконати 
над певним об’єктом або всіма об’єктами класу. Клас може мати будь-яку 
кількість операцій або взагалі жодних. Виклик операції об’єкта може змінити 
його дані (стан). Список операцій класу вказується в нотації безпосередньо під 
58 
списком атрибутів. В назві операції використовується коротке дієслово або точка 
дієслова, що відповідає певному типу поведінки [30]. Кожне слово в розрахунку 
повинно бути написано великими літерами. Операція може бути вказана через 
повний підпис, що включає ім’я, тип, значення за замовчуванням усіх параметрів 
та тип (клас) значення, що повертається операцією (рис. 3.5). 
 
Рис. 3.5. Операції, їх сигнатури 
Організація атрибутів і операцій. При моделюванні класу немає сенсу 
зразу вказувати всі його атрибути й операції, що не завжди можливо вмістити на 
одній діаграмі. Для конкретного вигляду класу істотною є тільки частина 
атрибутів і операцій, для чого використовується спрощене його зображення, що 
включає окремі його атрибути й операції чи не включає взагалі [19]. Якщо окрім 
вказаних є інші атрибути й операції, то це можна показати, закінчуючи список 
трьома крапками. Можна зовсім не позначати відповідний розділ, не вказуючи, 
чи має клас атрибути або операції. Для кращої організації довгих списків 
атрибутів і операцій, кожна категорія з них позначається префіксом (іменем 
стереотипу). 
Відповідальність – це угода або зобов’язання класу щодо виконання ним 
своїх обов’язків із забезпечення певних функцій варіантів використання (ВВ) 
системи [18]. 
Атрибути та операції як засіб виконання зобов’язань. На більш 
абстрактному рівні атрибути та операції є засобами, за допомогою яких класи 
виконують свої зобов’язання. Наприклад: клас Стіна відповідає за інформацію 
про висоту, ширину та товщину; клас Датчик Температури, що використовується 
для вимірювання температури та сигналів небезпеки, – при перевищенні 
допустимого обмеження [19]. 
59 
Формулювання зобов’язань класу. Для моделювання класів потрібно добре 
сформулювати зобов’язання сутностей зі словника предметної області [19]. 
Добре структурований клас має чітко сформульований не надто обтяжливий 
набір зобов’язань. У міру деталізації моделей потрібно показувати зобов’язання 
на множину атрибутів і операцій, що найбільше їм відповідають. Зобов’язання 
класу подаються у нижній частині піктограми класу (рис. 3.6). 
 
Рис. 3.6. Зобов’язання (обов’язки) 
Інші особливості. При моделюванні програмного забезпечення потрібно 
візуалізувати інші характеристики: видимість різних атрибутів операції; 
атрибути операції (поліморфізм, сталість), які залежать від мови ООП; винятки, 
які об’єкти класу можуть генерувати або обробляти. Все це можна описати 
іншими способами в UML. 
Специфікація та реалізація класу. При побудові UML-моделей 
програмного забезпечення реалізацію класу необхідно відокремлювати від його 
специфікації за допомогою інтерфейсів. Клас може реалізувати один або 
декілька інтерфейсів. При проектуванні реалізації класу потрібно моделювати її 
внутрішню структуру як набір взаємозалежних частин [19, 30]. 
Кооперація класів. Створюючи модель, варто зосередитися на групах, які 
взаємодіють між собою (а не існують окремо). В UML подібні об’єднання 
утворюють кооперативи, які можна візуалізувати на діаграмах класів та 
кооперації [19, 23]. 
Активні класи, класифікатори, вузли. При проектуванні складніших 
моделей використовують ряд інших сутностей: активні класи, що описують 
паралельні процеси й потоки; класифікатори; артефакти, що описують фізичні 
60 
сутності (аплети, компоненти програмного забезпечення, файли); вузли 
(описують апаратне забезпечення), що є важливими архітектурними 
абстракціями [18, 19, 28]. 
Моделювання системного словника. Користувачам не складно визначити 
більшість абстракцій, оскільки остання походить від концепції опису системи. 
Для розробників ця абстракція є технічним характером проекту. Для 
моделювання системного словника потрібно визначити сутності, які користувачі 
та розробники використовують для опису та розв’язання проблем. Для кожної 
визначеної абстракції потрібно визначити набір зобов’язань та баланс між ними 
(класами). Потрібно визначити атрибути та операції, необхідні для виконання 
зобов’язань кожного класу. 
На рис. 3.7 наведено набір множини (основних абстракцій), призначений 
для реалізації системи роздрібної торгівлі, що містить класи 
Customer (Покупець), Order (Замовлення) і Product (Продукт) та інші класи зі 
словника проблемної області, пов’язані з ними: Shipment (Постачання) – для 
відстеження замовлень; Invoice (Рахунок-фактура) – для оплати замовлень; 
Warehouse (Склад) – місце зберігання товарів перед надсиланням. Клас 
Transaction (Транзакція) застосовується до замовлень і постачань. 
В міру розширення моделей виявляється, що багато класів мають 
тенденцію збиратися в концептуально і семантично зв’язані групи (кластери). В 
UML для моделювання таких кластерів використовуються пакети. 
 
61 
Рис. 3.7. Моделювання словника предметної області системи 
Моделювання розподілу зобов’язань у системі. При моделюванні великої 
множини класів необхідно переконатись у забезпеченні балансу зобов’язань між 
розроблюваними абстракціями. Кожен з них не повинен бути надто великим чи 
надто малим і добре виконувати одне завдання. Для дуже великих класів модель 
програмного забезпечення буде важко піддаватися змінам, що ускладнить її 
повторне використання. Малі класи визначають надто багато абстракцій, важких 
для сприйняття і керування. 
Щоб змоделювати розподіл зобов’язань у системі, необхідно 
ідентифікувати множину класів, що корпоративно працюють для досягнення 
деякої поведінки. Потрібно розглянути способи взаємодії цих класів, 
ідентифікувавши набір обов’язків кожного з них. Класи, на які припадає занадто 
велика частка зобов’язань, потрібно розчленувати на менші абстракції. Дрібні 
класи з тривіальними обов’язками необхідно об’єднати в більші, рівномірно 
перерозподіливши обов’язки, щоб для кожної абстракції був відведений 
оптимальний їх набір. 
На рис. 3.8 поданий набір класів, що працюють у кооперації з рівномірно 
розподіленими обов’язками: Model (Модель), View (Вигляд) і 
Controller (Контролер). 
 
Рис. 3.8. Моделювання розподілу зобов’язань (обов’язків) у системі 
62 
Моделювання непрограмних сутностей, які не мають аналогів у 
програмному забезпечені (актанти, роботи, …), але є частиною потоку робіт 
(Workflow) для системи здійснюється класами зі стереотипом для їх 
специфікації. Моделювання апаратного забезпечення здійснюється через вузли. 
Дійові особи Accounts Receivable Agent (Агент По Дебеторській 
Заборгованості) й апаратне забезпечення (Robot) абстрагуються класами об’єктів 
спільної структури й поведінки (рис. 3.9). 
 
Рис. 3.9. Класи непрограмних сутностей 
Моделювання примітивних типів – сутностей мови ООП (цілі числа, 
рядки, перераховані типи, типи користувача) можна здійснювати у вигляді класів 
або перерахувань (Enumeration) з відповідним стереотипом (рис. 3.10). Для 
специфікації діапазону їх значень використовуються обмеження 
(Constraints) [18, 27, 29]. 
Добре структурований клас є чіткою концептуальною абстракцією поняття 
зі словника проблемної області для користувача чи розробника; включає 
короткий, чітко виражений набір обов’язків та їх забезпечення; має чіткий поділ 
специфікації й реалізації цієї абстракції; є зрозумілим і простим, розширюваним 
і добре адаптованим [28]. 
63 
 
Рис. 3.10. Моделювання примітивних типів як класів зі стереотипами 
При моделюванні класу в UML варто показувати найважливіші для 
розуміння абстракції властивості в даному контексті; організувати списки 
атрибутів і операцій, групуючи їх за категоріями; представити взаємозалежні 
класи на одній діаграмі. 
3.2. Формування та аналіз вимог до програмного забезпечення 
Програмне забезпечення інформаційної системи автоматизації проведення 
електронного голосування має забезпечити можливість будь-якому 
користувачеві зареєструватись в якості організатора й надавати реалізувати 
відповідні можливості: 
− створення опитування; 
− відправлення запрошень учасникам; 
− переглядання інформації про опитування; 
− переглядання статистики та результатів; 
− зупинка голосування; 
− видалення голосування. 
Учасник голосування, отримуючи запрошення, отримує унікальний 
пароль, який надалі використовує для авторизації на сторінці голосування. 
Учаснику надаються такі можливості: 
− переглядати детальну інформацію; 
− заповнювати форми опитування; 
64 
− надсилання відданого голосу. 
Діаграми ВВ є одним з видів діаграм UML для моделювання динамічних 
аспектів систем (інші чотири – це діаграми діяльності, станів, послідовності й 
комунікації). Діаграми ВВ є основним видом діаграм при моделюванні поведінки 
системи. Кожна з них показує набір ВВ і акторів у їхній взаємодії (їх зв’язки). 
Діаграма ВВ або сучасніша її назва діаграма прецедентів має ім’я й 
графічне наповнення, що є певною проекцією моделі програмного забезпечення. 
Діаграми ВВ містять суб’єкт, дійові особи, ВВ, а також зв’язки залежності, 
узагальнення й асоціації. Можуть містити примітки й обмеження, а також 
включати пакети (для об’єднання елементів моделі в більші групи), екземпляри 
ВВ. 
Суб’єкт зображується у вигляді прямокутника, що містить набір еліпсів 
ВВ. Ім’я суб’єкта зазначене всередині прямокутника. Актори (дійові особи) 
представлені фігурками поруч із прямокутником. Імена акторів розташовуються 
під фігурками. Останні з’єднуються лініями з еліпсами ВВ, з якими вони 
взаємодіють. Зв’язки між ВВ, такі, як розширення і включення, зображуються 
всередині прямокутника. 
−  – комунікації – використовується між акторами й ВВ; 
−  – включення (“include”) – використовується між ВВ; 
−  – розширення (“extend”) – використовується між ВВ. 
Переглянувши діаграму прецедентів (рис. 3.11) можна зрозуміти 
взаємодію E-mail, Організатора та Учасника, а саме послідовність і ВВ системи 
кожного з Акторів. 
Згідно з діаграмою варіантів використання Організатор може починати 
взаємодію з Інтернет-голосуванням тільки після входу в систему. Як тільки 
Організатор увійде в систему йому відкриваються можливості перегляду 
присутніх опитування, де наведена детальна інформація, результати, управління 
голосуванням, яке має два варіанти використання: зупинити та видалити 
опитування. 
65 
Актор E-mail представляє два варіанти використання: відправити 
запрошення й отримати запрошення. Таким чином надаючи можливість зв’язати 
дії Організатора з діями Учасника, через отримання/відправлення пошти. 
 
Рис. 3.11. Діаграма прецедентів 
Учасник має дві початкові дії: отримати запрошення та увійти як учасник. 
Після входу йому надаються можливості перегляду детальної інформації, 
заповнити форми опитування для надсилання. 
3.3. Проектування логічної структури інформаційної системи 
проведення електронного голосування 
3.3.1 Побудова діаграми класів 
Діаграма класів (ДК) показує набір класів, інтерфейсів та співпраць й 
взаємозв’язки між ними. Цей тип діаграм найчастіше використовується для 
моделювання об’єктно-орієнтованих систем і призначений для статичних 
66 
зображень системи. Діаграми класів описують статичний вигляд системних 
процесів. Діаграма компонентів – це свого роду діаграма класів. 
Як і будь-яка інша діаграма, діаграма класів має назву та зміст, є проекцією 
моделі та відрізняється від інших діаграм своїм специфічним змістом. Діаграма 
класів відображає: 
− класи; 
− інтерфейси; 
− залежності, узагальнення й асоціації. 
ДК можуть містити анотації та обмеження, пакети або підсистеми, які 
групують елементи моделі у більші сутності. Іноді потрібно додати екземпляри 
до діаграми класів, особливо якщо потрібно візуалізувати тип екземпляра (який 
може бути динамічним). 
ДК моделюють статичний вигляд системи, який описує послуги, які 
система повинна надавати її кінцевим користувачам насамперед (підтримує 
функціональні вимоги). Проробляючи статичне зображення системи, ДК 
використовуються для таких цілей: 
− для моделювання словника системи. Моделювання словника системи 
припускає розв’язання питання про те, які абстракції стануть предметом уваги 
системи, а які виходять за її границі. ДК допоможуть специфікувати ці абстракції 
та їх призначення; 
− для моделювання простих кооперацій. Кооперація − це об’єднання 
класів, інтерфейсів та інших елементів, що працюють у сукупності для 
формування деякої спільної поведінки, яка не може бути забезпечена всіма цими 
елементами, окремо взятими (при моделюванні семантики транзакції в 
розподіленій системі, дивлячись на окремий клас, складно зрозуміти, що 
відбувається. Ця семантика забезпечується набором класів, які працюють разом). 
ДК дозволить візуалізувати й специфікувати такий набір класів, їх зв’язків; 
− для моделювання логічної схеми бази даних. Схему в даному контексті 
можна розглядати як проект концептуального проектування бази даних. У 
67 
багатьох галузях потрібно зберігати інформацію в реляційній або об’єктно-
орієнтованій базі даних. Їх схеми зручно моделювати за допомогою ДК. 
В моделюванні кооперацій кожен клас співпрацює з іншими класами для 
впровадження ВВ. ДК слід використовувати для моделювання таких кооперацій 
та визначення механізму моделювання. 
Механізм – це певна функція або поведінка, яка є частиною системи 
моделювання, породженої взаємодією набору класів, інтерфейсів та інших 
сутностей. Для кожного механізму потрібно визначити класи, інтерфейси та інші 
кооперації, що беруть участь у співпраці, а також взаємозв’язок між цими 
суб’єктами. 
Необхідно використовувати скрипти для тестування всіх цих сутностей. На 
цьому етапі ідентифікуються опущені частини та семантично неправильні 
частини моделі. Потрібно переконатися, що всі елементи заповнені правильним 
вмістом. Для класу спочатку потрібно забезпечити найкращий баланс 
відповідальності, а потім сформулювати конкретні атрибути та операції. 
Переглянувши діаграму класів пакету Entity (рис. 3.12), можна дізнатися 
про кооперацію класів, які представляють первинний вигляд бази даних та 
зв’язки. 
Згідно діаграми пакету Service (рис. 3.13), пакету який має всю сервісну 
логіку системи, можна зрозуміти, що всі сервіси є реалізаціями базової абстракції 
сервісу. Таким чином, в кожному сервісі можлива своя реалізація, як вже 
створених методів, так і створення нових. 
68 
 
Рис. 3.12. Діаграма класів пакету Entity 
 
Рис. 3.13. Діаграма класів пакету Service 
Система має взаємодіяти з базою даних, тому потрібно створити шар 
реалізації взаємодії з базою даних. 
Даний пакет буде реалізацією вже існуючого інтерфейсу, який 
використовує внутрішні механізми взаємодії безпосередньо з базою даних, і 
виглядає як діаграма на рис. 3.14. 
69 
 
Рис. 3.14. Діаграма класів пакету Repository 
Діаграма пакету Controller (рис. 3.15) відображає клас, який надає 
абстрактну взаємодію з сервером, за допомогою методів з відкритим доступом. 
 
Рис. 3.15. Діаграма класів пакету Controller 
3.3.2 Побудова діаграми пакетів 
Схема пакету показує процес розкладання моделі на організаційні одиниці 
та їх залежності. Пакети – це загальний механізм організації дизайнерських 
рішень, який може спростити дизайн реалізації [18, 20]. 
Структурні сутності, поведінкові сутності, угруповання сутностей тощо 
можна помістити до пакету. На відміну від компонентів (які існують лише під 
70 
час виконання), пакети є повністю концептуальними, тобто існують лише на 
етапі розробки. Пакет відображається у папці із закладками, як правило, лише з 
назвою, але іноді й з вмістом. 
Діаграма пакетів на рис. 3.16 показує що всі пакети системи будуть 
використовувати пакет Entity, в той час, як пакет Service використовує тільки 
Controller, від якого була відгороджена логіка пакету Repository. 
 
Рис. 3.16. Діаграма пакетів 
3.4. Архітектурне проектування інформаційної системи проведення 
електронного голосування 
3.4.1 Побудова діаграми компонент 
Діаграма компонент демонструє інкапсульовані класи та їх інтерфейси, 
порти й внутрішні структури, що складаються із вкладених компонент і 
конекторів. Діаграми компонент описують статичний вигляд з точки зору 
реалізації системи. Вони важливі при побудові складних систем. Поряд з 
діаграмою компонент UML дозволяє створювати діаграму складеної структури, 
що застосовуються до будь-якого класу. 
Компонента – це логічна частина системи, що заміщається та відповідає 
деякому набору інтерфейсів і забезпечує їхню реалізацію [19]. Якісні 
компоненти визначають чіткі абстракції з чітко визначеними інтерфейсами, що 
дає можливість легко замінювати старі компоненти на сумісні з ними нові. 
Інтерфейси з’єднують логічні моделі з моделями проектування. Можна 
71 
специфікувати інтерфейс класу в логічній моделі, і той же інтерфейс буде 
підтримуватися деякою компонентою дизайну, що реалізує його. Інтерфейси 
дозволяють реалізовувати компоненти із використанням дрібніших компонентів 
шляхом з’єднання їх портів. 
Розробка програмного забезпечення у вигляді великого монолітного і 
“твердого” вузла є важко модифікованою надалі. Якщо навіть нинішня система 
має здебільшого необхідний функціонал, вона, швидше за все, містить у собі 
багато зайвих деталей, які складно або взагалі неможливо вилучити. Тому слід 
будувати системи з окремих компонент, які гнучко взаємодіють одна з одною і 
при зміні вимог можуть відокремлюватися і додаватися без шкоди для цілого. 
Інтерфейс – набір операцій, що специфікують сервіс, представлений 
класом або компонентою [29]. 
Компонента – змінна частина системи, яка відповідає набору інтерфейсів 
і забезпечує його реалізацію [18]. 
Порт – специфічне “вікно” в інкапсульованій компоненті, що приймає 
повідомлення для компоненти й від неї відповідно до заданого інтерфейсу [19]. 
Внутрішня структура – реалізація компоненти, представлена набором 
частин, з’єднаних одна з іншою конкретним способом [22]. 
Частина – специфікація ролі, що становить частину реалізації 
компоненти. В екземплярі компоненти присутній екземпляр, що відповідає 
частині [19]. 
Конектор – зв’язок комунікації між двома частинами або портами в 
контексті компоненти [21]. 
Компоненти та інтерфейси. Зв’язок між компонентою (що надає сервіс) і 
інтерфейсом має важливе значення. Усі інструментальні та інші програмні 
системи побудовані на компонентах, які використовують інтерфейси 
компоненти одна з одною. 
Проектування системи на основі компонент полягає в її декомпозиції, 
специфікуючи інтерфейси, що представляють основні з’єднання. Наступним 
кроком є визначення компонент, які реалізують інтерфейси, разом з іншими 
72 
компонентами, які мають доступ до сервісів за допомогою своїх інтерфейсів. Цей 
механізм дозволяє розгорнути систему, сервіси якої певною мірою незалежні від 
місця розташування. 
Діаграма компонент (рис. 3.17) демонструє інтерфейси компоненти 
системи та інтерфейси їх взаємодії. Виходячи з чого, можна зрозуміти, що дана 
діаграма схожа з діаграмою класів. 
 
Рис. 3.17. Діаграма компонент 
3.4.2 Побудова діаграми розгортання системи на апаратних засобах 
Схема розгортання показує конфігурацію вузла процесора та компонент, 
розташованих на вузлі. Схема макета дає статичний вигляд макета архітектури. 
Вузол містить один або кілька артефактів. 
Діаграма розгортання - це діаграма в UML, яка показує обчислювальні 
вузли, компоненти та об’єкти, що працюють на цих вузлах під час запуску 
програми. Компонента відповідає поданню робочого екземпляра кодової 
одиниці. Компоненти, які не зображуються під час запуску програми, не 
зображуються на такій діаграмі; натомість вони можуть відображатися на 
діаграмі компонент. 
Діаграма розгортання (рис. 3.18) демонструє як відбувається апаратне 
розгортання системи. 
73 
 
Рис. 3.18. Діаграма розгортання 
Користувач системи взаємодіє з браузером, який відкрито на пристрої. 
Браузер надсилає запити на сервер, щоб отримати візуальне представлення, той 
своєю чергою робить запит на API сервер з використанням 
стандарту REST (Representational State Transfer, архітектурний стиль взаємодії 
компонентів розподіленої програми у мережі). Дані запиту обробляються і 
прямують як запит до бази даних. Коли отримується відповідь з бази даних весь 
потік даних йде у зворотному напрямку, так користувач отримує та змінює дані 
у базі даних. 
3.5. Моделювання поведінки інформаційної системи проведення 
електронного голосування 
3.5.1 Побудова діаграми діяльності 
Діаграми діяльності – застосовуються в UML для моделювання 
динамічних аспектів систем, що показують, як потік керування переходить від 
однієї діяльності до іншої (подібно блок-схемам). На відміну від традиційної 
74 
блок-схеми діаграма діяльності (рис. 3.19) показує паралелізм так само добре, як 
і розгалуження потоку керування. 
 
Рис. 3.19. Діаграма діяльності учасника 
Відтак, діаграма діяльності – це блок-схема, що зображає дії, які 
розгортаються з часом і можуть показуватися у вигляді інтерактивної діаграми 
“догори ногами”. Діаграма взаємодії фокусується на об’єкті, через який 
проходить повідомлення. Діаграми діяльності розглядають операції, що 
виконуються між об’єктами. Семантична різниця дуже тонка, але результатом є 
принципово інший погляд на світ. Діаграми діяльності (рис. 3.20) показують 
потік контролю від однієї діяльності до іншої. 
Метою моделювання динамічних аспектів систем за допомогою діаграм 
діяльності є моделювання послідовних і паралельних кроків обчислювального 
75 
процесу. Крім того, за допомогою діаграм діяльності можна моделювати потік 
передавання даних від одного кроку процесу до іншого. Діаграми діяльності 
можуть використовуватися окремо для моделювання динаміки кооперації 
об’єктів або потоку керування в операції. 
 
Рис. 3.20. Діаграма діяльності організатора 
3.5.2 Побудова діаграми послідовності 
Діаграма послідовності – різновид діаграми взаємодії, що показує 
тимчасову послідовність повідомлень. 
Діаграма послідовності підкреслює часову послідовність повідомлень і 
використовує таблицю для представлення об’єктів, розташованих вздовж осі X, 
і повідомлень, розташованих у часі вздовж осі Y [18, 19]. 
Діаграми послідовності виділяють часову послідовність повідомлень. 
Формування діаграм послідовностей починається з розміщення об’єктів або 
символів, що беруть участь у взаємодії, у верхній частині діаграми, вздовж 
горизонтальної осі. Об’єкт або роль, що ініціює взаємодію, знаходиться ліворуч, 
а залежний об’єкт або роль - праворуч. Далі повідомлення надсилаються вздовж 
76 
вертикальної осі, надсилаючи та отримуючи ці об’єкти, зверху вниз у 
хронологічному порядку, що створює асоціацію потоку управління в часі. 
Діаграма послідовності для учасника (рис. 3.21) показує в якій 
послідовності дій відбувається перегляд опитування та відправка відданого 
голосу. 
 
Рис. 3.21. Діаграма послідовності для учасника 
Відповідно діаграма послідовності для організатора (рис. 3.22) зображує, 
як організатор створює та керує опитуванням. Також організатор може 
переглянути результат на будь якому етапі після створення й до видалення. 
 
Рис. 3.22. Діаграма послідовності для організатора 
3.5.3 Побудова діаграми комунікації 
Діаграма комунікацій – різновид діаграми взаємодії, що показує 
структурну організацію об’єктів або ролей, що відправляють і приймають 
77 
повідомлення. Діаграми послідовності й діаграми комунікації (діаграми 
кооперації) представляють схожі базові концепції, але з різних точок зору. 
Діаграми послідовності (рис. 3.23-3.24) описують тимчасову послідовність, а 
комунікаційні діаграми – структури даних, через які проходить потік 
повідомлень. 
Схема комунікації описує організацію інтерактивних об’єктів. Вона 
виділяє структурну організацію об’єктів, що надсилають і отримують 
повідомлення, і графічно являє собою набір дуг та вершин. 
 
Рис. 3.23. Діаграма комунікацій для учасника 
 
Рис. 3.24. Діаграма комунікацій для організатора 
78 
Графік зв’язку формується шляхом розміщення інтерактивних об’єктів у 
вершинах графа. Далі дуга графіка показує посилання, що з’єднують ці об’єкти. 
Посилання можна назвати за роллю, яка їх ідентифікує. 
Повідомлення, якими обмінюються об’єкти, доповнюють посилання, які 
дають чітке візуальне відображення потоку управління в контексті структурної 
організації об’єктів, що взаємодіють. 
3.5.4 Побудова діаграми кінцевого автомату 
Динамічні аспекти системи в UML моделюються кінцевими автоматами. 
Автомат – це поведінка, яка специфікує послідовність станів об’єкта, через які 
він проходить протягом свого життєвого циклу у відповідь на події, а також 
реакції на ці події [10]. 
Загалом, кінцевий автомат (рис. 3.25) представляє динамічні аспекти 
системи моделювання у вигляді графіка орієнтації, вершини графіка орієнтації 
відповідають стану, а дуга відповідає переходу. У цьому випадку, враховуючи 
напрямок поведінки, поведінка моделюється як переміщення в порядку дуги, що 
з’єднує їх від вершини до вершини вздовж діаграми стану. 
 
Рис. 3.25. Діаграма кінцевого автомату 
На діаграмі станів очевидно, що час перебування системи в тому чи іншому 
стані не враховується, але передбачається, що порядок змін стану є 
хронологічним. Іншими словами, кожен наступний стан може відбуватися 
пізніше попереднього стану. 
79 
3.6. Проектування і розробка бази даних інформаційної системи 
проведення електронного голосування 
3.6.1 Розробка концептуальної моделі предметної області 
Концептуальна модель включає три основних елементи: будівельні блоки 
мови, правила, що визначають їх комбінації, й загальні для всієї мови механізми. 
У міру набуття досвіду у використанні UML можна будувати моделі, 
використовуючи розширені засоби. 
Побудова моделі предметної області починається з визнання абстракції, 
яка існує в реальному світі й належить до предметної області моделювання. 
Концептуальна модель зображає семантику предметного поля у вигляді 
сукупності понять (сутностей), їх характеристик (атрибутів) та взаємозв’язків 
(взаємозв’язок асоціацій між сутностями). Варто зазначити, що створення 
концептуальної моделі потрібно головним чином для полегшення сприйняття 
інформації звичайними користувачами. 
Діаграма концептуальної моделі (рис. 3.26) демонструє предметну область 
з точки зору відношень об’єктів. 
 
Рис. 3.26. Концептуальна модель 
80 
Як видно з рис. 3.26, від User успадковуються Organizator і Participant, але 
їх реалізація геть різна. Organizator охоплює Poll, в той час, як Participant навпаки. 
3.6.2 Розробка логічної моделі бази даних 
Логічна модель даних є джерелом інформації на етапі фізичного 
проектування і забезпечує розробників фізичних баз даних необхідними 
компромісними методами для досягнення своїх цілей, яке також відіграє 
важливу роль при експлуатації та обслуговуванні завершеної системи. 
Правильно організувавши обслуговування, логічна модель даних може бути 
актуальною, дозволяючи точно і чітко уявляти будь-які зміни, внесені до бази 
даних, та оцінювати їх вплив на програми та дані, які вже є в базі даних. 
Водночас логічна модель (рис. 3.27), що показує корпоративні функції 
багатьох типів користувачів, називається глобальною логічною моделлю даних. 
Існує два основних методи створення глобальної логічної моделі даних: 
централізований та інтеграції на основі презентацій. 
 
Рис. 3.27. Логічна модель бази даних 
81 
3.6.3 Розробка фізичної моделі бази даних 
Фізична модель – логічна модель фізичної бази даних, виражена мовою 
опису даних для конкретної бази даних. Обмеження, які існують у логічній 
моделі даних, реалізуються різними засобами систем управління базами 
даних (СУБД), такими як використання індексів, декларативні обмеження 
цілісності, тригери та збережені процедури. 
Фізична модель даних інформаційної системи автоматизації проведення 
електронного голосування показана на рис. 3.28. 
 
Рис. 3.28. Фізична модель бази даних 
У цьому випадку рішення, прийняте на рівні логічного моделювання, 
визначає деякі обмеження, в яких можна розробити фізичну модель даних. 
Наприклад, зв’язок, що міститься в логічній моделі даних, має бути перетворено 
в таблицю, але для кожної таблиці також можна оголосити різні індекси для 
покращення швидкості доступу до даних. 
82 
Висновки 
1. Проведено моделювання предметної області. Проаналізовані вимоги до 
програмного забезпечення для подальшої реалізації функцій як учасника, так і 
організатора процесу голосування. 
2. Побудовано діаграми поведінки системи для реалізації функцій як 
організатора, так і учасника проведення електронного голосування. Всі ці 
діаграми направлені на те, щоб дати зрозуміти, як працює користувач і система 
на всіх етапах її життєвого циклу. 
3. Розроблені логічна, концептуальна моделі предметної області, 
відповідно до яких запропонована фізична модель бази даних інформаційної 
системи автоматизації проведення електронного голосування, що відповідає 
стандартам СУБД. 
 
83 
РОЗДІЛ 4. РОЗРОБКА ІНФОРМАЦІЙНОЇ СИСТЕМИ 
ПРОВЕДЕННЯ ЕЛЕКТРОННОГО ГОЛОСУВАННЯ 
4.1. Вибір інструментальних засобів розробки інформаційної системи 
Проаналізуємо основні конкурентні інформаційні технології, які могли б 
бути використані для розробки й реалізації запропонованої інформаційної 
системи автоматизації проведення електронного голосування, але з причин 
наведених нижче були відкинуті. 
Розглянемо альтернативні технології СУБД PostgreSQL. З усього списку 
можна виділити одну не комерційну альтернативу: MySQL. 
MySQL - вільна СУБД, для запитів використовується мова SQL (Structured 
Query Language, мова структурованих запитів) [12]. 
Переваги MySQL: 
− масштабованість даної СУБД дозволяє використовувати її для 
зберігання будь-яких обсягів даних; 
− вища швидкість обробки запитів. 
Переваги PostgreSQL: 
− об’єктно-реляційний підхід, можливість наслідування і 
перевантаження функцій; 
− підтримка БД необмеженого розміру; 
− безпека - надійніше транзакції та реплікації. 
Виходячи цього можна з упевненістю вибрати PostgreSQL, оскільки 
система повинна мати максимальний рівень безпеки транзакцій. Також вагомою 
перевагою є об’єктна орієнтованість цієї СУБД, тому що мова програмування 
Java побудована на об’єктах і взаємодії з ними, а це спрощує роботу з базою 
даних. 
Розглянемо альтернативи технології Java Spring. Серед наявних аналогів 
Java Spring можна виділити кілька: 
− Play Framework; 
− Java Spark. 
84 
Java Spark – це серверний мікрофреймворк, який використовується для 
створення проектів з найменшими зусиллями. Він працює на основі мов 
програмування Kotlin та Java 8 [13]. 
Play Framework – серверний фреймворк, для платформ Java та Scala. 
Використовує шаблон проектування MVC (Model-View-Controller, набір 
архітектурних ідей та принципів для побудови складних систем з інтерфейсом 
користувача) [14]. 
Переваги Java Spark: 
− швидка розробка; 
− коротка документація; 
− легке написання контролерів; 
− шаблон проектування MVC. 
Переваги Play Framework: 
− хороша взаємодія з шаблоном; 
− модуль безпеки; 
− вбудований засіб налагодження помилок. 
Переваги Java Spring: 
− детальна документація; 
− інтеграція доступу до баз даних; 
− вбудована система безпеки; 
− шаблон проектування MVC. 
Всі альтернативи мають різні переваги. Для даного проекту інформаційної 
системи потрібно організувати систему безпеки для фільтрації неавторизованих. 
Виходячи з чого можна виділити дві технології: Play Framework і Java Spring. 
Обидві мають вбудовану можливість налаштування безпеки, але Play Framework 
не має вбудованого доступу до баз даних, це означає що дана технологія не 
повністю покриває спектр вимог. Тому Java Spring є найкращим фреймворком 
для серверної частини розроблюваного програмного забезпечення. 
Розглянемо аналоги технології Vue.js. Найближча альтернатива – це 
Angular, який має схожу структуру. 
85 
Angular – клієнтський фреймворк, розроблений на мові TypeScript, що 
використовується для побудови інтерфейсів. Поділяється на компоненти [15]. 
Переваги Vue.js: 
− швидкість обробки; 
− зручна документація; 
− швидкі SPA (Single Page Application, Web-додаток, що складаються з 
одного HTML-документу (Hyper Text Markup Language, мова гіпертекстової 
розмітки)). 
Переваги Angular: 
− хороша масштабованість; 
− серверне заповнення шаблонів. 
Для розроблюваного програмного забезпечення буде значною перевагою 
забезпечення швидкості обробки та можливості створення SPA, що надає змогу 
роботи з системою без постійного перезавантаження сторінки. Тому хорошим 
вибором для проекту буде клієнтський фреймворк Vue.js 
Відтак, згідно з вимогами до проекту запропонованої інформаційної 
системи автоматизації проведення електронного голосування пропонується 
використати такий перелік технологій: 
− СУБД PostgreSQL; 
− фреймворк Java Spring; 
− фреймворк Vue.js. 
PostgreSQL – об’єктно-реляційна СУБД. Запити виконуються за 
допомогою мови SQL [11]. 
Серверний фреймворк Java Spring – програмна надбудова для 
платформи Java [9]. Вона дозволяє створювати додатки з використанням 
модулів, на які поділений фреймворк. Кожен модуль представлений як 
самостійна частина, отже може використовуватись без прив’язки до інших. 
Зазначимо основні модулі: 
86 
− контейнер інверсії управління: використання не звичайного потоку 
керування програми, при якому частини програми викликаються з зовнішніх 
бібліотек, тобто у зворотному напрямку; 
− зв’язок з СУБД – модуль, який дозволяє використовувати взаємодію 
внутрішніх бібліотек Java з базами даних; 
− шаблон проектування MVC – частина фреймворку, яка дозволяє 
створити Web-додатки та Web-служби; 
− Spring Security: дозволяє захистити програму, за допомогою 
налаштувань з використанням різних стандартів; 
− модуль тестування: забезпечує повну сумісність всіх модулів для 
проведення різних типів тестувань. 
Vue.js – клієнтський фреймворк, побудований на основі JavaScript. 
Призначений для створення користувацьких інтерфейсів. Вся структура 
інтерфейсів поділена на компоненти, в яких написано HTML, CSS (Cascading 
Style Sheets, Каскадні таблиці стилів) та JavaScript реалізація [10]. 
Опишемо обрану модель системи клієнт-сервер. Для моделі взаємодії, було 
вирішено вибрати архітектуру REST, оскільки її легко реалізувати. 
REST – це архітектура розробки Web-сервісів, яка намагається імітувати 
архітектуру за допомогою HTTP (Hyper Text Transfer Protocol, протокол передачі 
гіпертексту) або подібних протоколів, обмежуючи інтерфейс набором 
стандартних і звичних операцій [16]. 
Основна увага приділяється взаємодії з ресурсами, що мають збережений 
стан, а не взаємодії з повідомленнями та транзакціями. Можна сказати, що 
архітектура має на меті показати, що сучасного HTTP достатньо для створення 
Web-службу та демонстрації масштабованості. 
Web-сервіси – це різновид Web-рішень, що використовуються в таких 
сферах, як банківська справа, Інтернет-магазини та соціальні мережі. Web-
служби в основному складаються з серверів та клієнтів. Сервер надає клієнтам 
певні послуги через Інтернет. Існує багато типів клієнтів, і в залежності від того, 
як розроблена послуга. 
87 
Web-сервіси та Web-сайт – це абсолютно різні речі. Web-сайт – це набір 
Web-сторінок, і ці Web-сторінки можуть містити декілька Web-служб. 
Наприклад, можна використовувати Web-сторінку для прослуховування музики, 
здійснення покупок та перегляду прогнозів погоди, тобто функцій, що 
відповідають вбудованим на сторінці Web-службам. 
Інша функція Web-служб полягає в тому, що програми на різних Web-
сайтах в Інтернеті підключаються між собою, передаючи великі обсяги даних 
ефективніше та дешевше, ніж раніше. 
Основна ідея архітектури розробки REST полягає у використанні повного 
HTTP для передачі даних між пристроями, замість використання протоколу, 
побудованого поверх рівня HTTP. Таким чином, програма REST використовує 
функцію запиту HTTP, щоб використовувати повну функцію HTTP CRUD 
(Create, Read, Update, Delete, концепція Створити, Прочитати, Оновити, 
Видалити) для надсилання, читання та видалення даних. Крім того, REST може 
використовувати HTTPS (Hyper Text Transfer Protocol Secure, розширення 
протоколу HTTP для підтримки шифрування з метою підвищення безпеки) для 
безпечної передачі даних. 
4.2. Розробка структурної моделі інформаційної системи 
Структурна модель – це модель, що показує склад і взаємозв’язок 
управління кожною частиною програмного продукту, що розробляється. Блок-
схема визначається архітектурою програмного забезпечення. Розробка 
структурної моделі програми зазвичай здійснюється за допомогою покрокових 
детальних інструкцій. 
Складовими блок-схеми програмної системи або програмного пакета 
можуть бути програми, підсистеми, бази даних, бібліотеки ресурсів тощо. 
На рис. 4.1 зображено структурну модель інформаційної системи 
автоматизації проведення електронного голосування даного проекту. 
88 
 
Рис. 4.1. Структурна модель інформаційної системи автоматизації проведення 
електронного голосування 
Як видно з рис. 4.1, після авторизації користувач може переглянути список 
опитувань та опитування, в якому знаходиться детальна інформація, статистика, 
список учасників і список питань і варіантів. Також існує можливість додати 
опитування з формами для детальної інформації, учасників, питань та варіантів. 
4.3. Розробка функціональної моделі інформаційної системи 
Функціональна модель – це інтерактивна схема програмних компонентів та 
опису інформаційного потоку, складу даних у потоці та інструкцій щодо 
використовуваних файлів та обладнання. 
На рис. 4.2 показано функціональну модель інформаційної системи 
автоматизації проведення електронного голосування. 
Запропонована функціональна модель інформаційної системи 
автоматизації проведення електронного голосування відображає основні функції 
системи голосування, яка розробляється. При введенні даних можна отримати 
відповідні результати. Результат залежить від дій та функції, які повинен 
здійснити користувач системи. 
89 
 
Рис. 4.2. Функціональна модель інформаційної системи автоматизації 
проведення електронного голосування 
4.4. Реалізація фізичних аспектів бази даних інформаційної системи 
проведення електронного голосування 
Для реалізації сполучень “один-до-багатьох” та “багато-до-багатьох” між 
таблицями бази даних потрібно створити таблицю-посередника. В таблиці-
посереднику будуть використовуватися вказівники на рядки в інших таблицях, 
за допомогою головного ключа (рис. 4.3). 
 
Рис. 4.3. Реалізація бази даних інформаційної системи автоматизації 
проведення електронного голосування 
90 
4.5. Розробка інтерфейсу користувача інформаційної системи 
Розробка користувальницького інтерфейсу є важливим етапом 
проектування. Цей інтерфейс забезпечує взаємодію між користувачем та 
програмно-апаратним забезпеченням інформаційної системи. 
Ефективність інтерфейсу залежить від здатності дизайнера передбачити 
потреби користувачів на першому та наступних етапах використання. Необхідно 
передбачити майбутнє зростання (зміни) попиту на програмне та апаратне 
забезпечення та забезпечити реалізацію інформаційною системою своїх 
можливостей без вдосконалення системи. 
Форма або звіт повинен мати привабливий вигляд і має бути гармонійним 
поєднанням полів або груп полів, рівномірно розподілених на поверхні 
форми/звіту. Не повинно бути областей, де у формі/звіті концентрація занадто 
низька або занадто висока. Крім того, поля слід розміщувати через рівні 
проміжки часу і вирівнювати по вертикалі та горизонталі. Якщо на екрані бланки 
є еквівалентні зображенню на папері, їх вигляд повинен бути незмінним. 
Скрізь слід використовувати лише знайомі та зрозумілі терміни або 
скорочення, вибрані із заздалегідь узгодженого списку. Можна використовувати 
кольоровий дизайн, щоб покращити вигляд форм або звітів. Крім того, кольорове 
підсвічування можна застосувати до ключових полів або повідомлень. Для 
досягнення найкращих результатів кольори слід використовувати 
скоординовано та продумано. Наприклад, форма поля з білим фоном може 
означати поле введення, тоді як поле з синім фоном – поле, на екрані якого 
відображаються лише дані. 
Користувач повинен інтуїтивно інформуватися про загальний простір, 
доступний для введення даних у кожному полі. Це дозволить йому вибрати 
найбільш підходящий для них формат презентації перед введенням даних. 
Дизайн інтерфейсу системи було вирішено робити в мінімалістичному 
стилі. Тому дизайн Web-сторінки реєстрації (рис. 4.4) має навігаційний бар та 
форми для відправки. 
91 
 
Рис. 4.4. Інтерфейс сторінки реєстрації 
Web-сторінка входу в систему (рис. 4.5) має такий же вигляд, тільки без 
одного поля. 
 
Рис. 4.5. Інтерфейс Web-сторінки входу в систему 
Після входу в систему в якості організатора відбувається перехід на 
сторінку списку голосувань (рис. 4.6), на якій відображаються всі існуючі 
голосування, котрі створював організатор. 
 
Рис. 4.6. Інтерфейс Web-сторінки списку голосувань 
Звідси можна перейти на сторінку створення голосувань (рис. 4.7), яка має 
багато форм для відправки, відповідних даних. 
92 
 
Рис. 4.7. Інтерфейс Web-сторінки створення голосування 
Web-сторінка детальної інформації (рис. 4.8) про голосування складається 
з деталей типу назви, опису, та статусу опитування. Далі відображено панель 
управління, де можна видалити та зупинити опитування. Наступним 
відображено статистику явки на опитування, з списком учасників та статистику 
голосів за кожне питання та його варіанти рішень. 
 
Рис. 4.8. Інтерфейс Web-сторінки детальної інформації про голосування 
93 
4.6. Розробка програмних компонентів інформаційної системи 
API (Application Programming Interface, опис способів взаємодії однієї 
комп’ютерної програми з іншими) сервер складається з структури 
пакетів (рис. 4.9), які взаємодіють між собою і виконують поставлені перед ними 
задачі. Наприклад, пакет mapper відповідає за трансформацію об’єктів entity 
пакету в об’єкти пакету dto, які забезпечують взаємодію з файлами пакетів 
controller й service. 
 
Рис. 4.9. Структура пакетів API серверу 
Кожен пакет представляє свою логіку зв’язків даних та їх зберігання. Данні 
пакети є компонентами системи. 
Якщо взяти до уваги тільки ті пакети, в котрих немає логіки, тобто ті, що 
створені для подальшого зберігання даних за допомогою об’єктів, таких пакетів 
тут декілька: entity та dto. Вони представляють функції для зчитування та 
переносу даних. 
Висновки 
1. Проаналізовано основні конкурентні інформаційні технології, які 
можуть бути використані для розробки й реалізації запропонованої 
інформаційної системи автоматизації проведення електронного голосування. 
Здійснено вибір кращих інструментальних засобів розробки відповідно з 
вимогами до реалізації визначених функції проектованої інформаційної системи. 
94 
2. Розроблено структурну та функціональну моделі інформаційної 
системи для створення уніфікованого шаблону та стратегії вибору необхідних 
даних для користувачів та експертів. Це дозволить забезпечити потреби як 
користувачів, так і організаторів голосування. 
4. Розроблено інтерфейс інформаційної системи автоматизації 
проведення електронного голосування, що забезпечує зручність та простоту 
використання, а також є інтуїтивно зрозумілим для користувача. 
5. Розроблена програмна система автоматизації проведення електронного 
голосування, заснована на прийнятті рішень, включаючи створення 
уніфікованого шаблону, заснованого на тенденції розвитку сучасних технологій, 
та стратегії вибору необхідних даних для користувачів та експертів, що дозволяє 
проводити процес голосування для забезпечення комплексного обслуговування 
виборців, усунення довгих черг на виборчих дільницях, кращого розв’язання 
питання доступності для маломобільних груп населення. 
Вона побудована за клієнт-серверною архітектурою. Клієнтська частина 
інформаційної системи автоматизації проведення електронного голосування 
розроблена на JavaScript фреймворку Vue.js, що дозволяє скоротити час 
розробки за допомогою бізнес-логіки, написаної один раз для багатьох. Сервер 
фреймворку Java Spring приймає задані користувачем запити й обробляє їх. 
Результатами використання системи автоматизації проведення електронного 
голосування можуть бути створені голосування, з їх подальшим використанням, 
при прийнятті рішень. 
 
95 
ВИСНОВКИ 
В кваліфікаційній роботі магістра вирішена науково-технічна задача 
підвищення ефективності інформаційних систем автоматизації проведення 
електронного голосування для забезпечення комплексного обслуговування 
виборців, усунення довгих черг на виборчих дільницях, кращого розв’язання 
питання доступності для: людей з інвалідністю; хворих; тих, хто проходить 
військову службу або проживає за кордоном; тих, хто перебуває в особистих 
поїздках та інших груп громадян як люди похилого віку, яким може бути важко 
відвідати традиційну дільницю тощо за рахунок дослідження таких систем, 
розробки структурної та функціональної моделей інформаційної системи для 
створення уніфікованого шаблону та стратегії вибору необхідних даних для 
користувачів та експертів, а також побудови діаграм поведінки системи для 
реалізації функцій як організатора, так і учасника проведення електронного 
голосування. 
Це забезпечить простоту, зручність, доступність, відносну незалежність 
від часу та місця перебування, наддасть більші можливості щодо дотримання 
вимог збереження таємниці голосування, що є доволі суттєвим для особливої 
групи виборців з обмеженими можливостями, оскільки голосуючи електронним 
способом а, отже, без допомоги, ці виборці отримують більший ступінь 
анонімності при голосуванні. 
У результаті виконання досліджень отримано наступні наукові і практичні 
результати: 
1. Проведений системний аналіз світового досвіду використання систем 
проведення електронного голосування, визначені переваги і недоліки їх 
застосування. 
2. Визначені сучасні технології систем проведення електронного 
голосування у світі, проаналізовано перспективи їх використання, зазначено 
позитивні та негативні чинники. 
4. Проведений функціональний аналіз існуючих систем проведення 
електронного голосування та дана їх якісна оцінка за основними параметрами. 
96 
5. Побудовано діаграми поведінки системи для реалізації функцій як 
організатора, так і учасника проведення електронного голосування. Всі ці 
діаграми направлені на те, щоб дати зрозуміти, як працює користувач і система 
на всіх етапах її життєвого циклу. 
6. Розроблено структурну та функціональну моделі інформаційної 
системи для створення уніфікованого шаблону та стратегії вибору необхідних 
даних для користувачів та експертів. Це дозволить забезпечити потреби як 
користувачів, так і організаторів голосування. 
6. Розроблена програмна система автоматизації проведення електронного 
голосування, заснована на прийнятті рішень, включаючи створення 
уніфікованого шаблону, заснованого на тенденції розвитку сучасних технологій, 
та стратегії вибору необхідних даних для користувачів та експертів, що дозволяє 
проводити процес голосування для забезпечення комплексного обслуговування 
виборців, усунення довгих черг на виборчих дільницях, кращого розв’язання 
питання доступності для маломобільних груп населення. 
 
97 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 
1. Countries that use electronic voting. URL : 
https://epthinktank.eu/2018/09/12/digital-technology-in-elections-efficiency-versus-
credibility/e-voting_countries/ 
2. From voter registration to mail-in ballots, how do countries around the world 
run their elections? URL : https://www.pewresearch.org/fact-tank/2020/10/30/from-
voter-registration-to-mail-in-ballots-how-do-countries-around-the-world-run-their-
elections/ 
3. External voting and electoral rights. A comparative inquiry into an emerging 
constitutional trend. URL : http://tesi.luiss.it/23932/1/ 
630782_didyk_oksana.pdf 
4. Is e-voting currently used in any elections with EMB participation? URL : 
https://www.idea.int/data-tools/question-view/742 
5. Серавін О., Соколова К. Сучасні технології у електоральних процесах. 
Експертний інститут соціальних досліджень, 2018. 
6. Countries that use internet voting. URL : 
https://epthinktank.eu/2018/09/12/digital-technology-in-elections-efficiency-versus-
credibility/internet_voting_countries/ 
7. Weighing the Benefits and Challenges. URL : https://www.ndi.org/e-voting-
guide/weighing-the-benefits-and-challenges 
8. A Comparative Assessment of Electronic Voting // Canada-Europe 
Transatlantic Dialogue. P. 15–22. 
9. Spring Framework. URL : https://wikipedia.org/wiki/Spring_Framework 
10. Vue.js. URL : https://wikipedia.org/wiki/Vue.js 
11. PostgreSQL. URL : https://wikipedia.org/wiki/PostgreSQL 
12. MySQL. URL : https://wikipedia.org/wiki/MySQL 
13. Spark. URL : https://sparkjava.com 
14. Play Framework. URL : https://wikipedia.org/wiki/Play_Framework 
15. Angular (web framework). URL : https://wikipedia.org/wiki/ 
Angular_(web_framework) 
98 
16. Representational state transfer. URL : https://wikipedia.org/wiki/REST 
17. Береза А. Сучасні технології голосування. Наукові записки ІПіЕНД 
ім. І. Ф. Кураса НАН України. 2018. Вип. 50. С. 155–160. 
18. Іванов Д. Моделювання на UML : навч. посібн., 2010. 
19. Іванов Д., Новіков Ф. Професійна розробка програмних систем, 2013.