Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/9143
Title: Програмне забезпечення наповнення книжкового фонду бібліотеки
Authors: Півень, Олександр Борисович
Десятник, Данило Юрійович
Keywords: бібліотека;бібліотечний фонд;МАІ;оцінки експертів;матриця відношення;library;library Fund;МАІ;valuation experts;relationship matrix
Issue Date: 17-Jun-2023
Abstract: AHOTAЦІЯ У роботі представлено огляд автоматизованої системи наповнення фондів для для бібліотек. Розглянуто існуючі системи на основі тематичного підходу організована робота нового додатку. Оскільки вибір частини для поповнення фонду та підсумування їх корисності потребує великих об'ємів праці та часу бібліотекаря, використання системи полягає в вирішенні питання збереження часу бібіліотекаря на розробку плану поповнення фонду бібліотеки, та значному спрощенню проведення доповнення бібліотеки, внаслідок використання здійснюваної системи.
ANNOTATION The рареr· presents an overview of the automated system of filling funds for libraries. The existing model systems and on the basis of а thematic approach, organized the new application. Since the choice of parts for replenishment and synthesis of their usefulпess requires Іагgе amounts of labor and time of the librarian, the use of the system is to solve the issue of pгeserving time of the librarian in the development of the plan of replenishment of the library Fund, and а significant facilitator of add-on libraries due to the use of the implemented system.
URI: https://er.chdtu.edu.ua/handle/ChSTU/9143
Appears in Collections:121 Інженерія програмного забезпечення (Інженерія програмного забезпечення)

Files in This Item:
File Description SizeFormat 
Квліфікаційнв робота бакалавра Десятник Данило Юрійович.pdf
  Restricted Access
36.22 MBAdobe PDFView/Open Request a copy


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

Extracted text
MIHJCTEPCTBO ОСВІТИ [НАУКИ УКРАЇНИ 
ЧЕРКАСЬКИЙ ДЕР)КАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ 
Факультет інформаційних технологій і систем 
Кафедра програмного забезпечення автоматизованих систем 
ПОЯСІПОВАЛЬНАЗАПИСКА 
до кваліфікаційної роботи 
«бакалавра» 
освітній рівень 
на тему: Програмне забезпечення наповнення книжкового фонду бібліотеки 
Виконав: студент 4 курсу, групи ПЗ-1904 
Спеціальності 
121 «Інженерія програмного забезпечення» 
(шифр і назва напряму підготовки) 
Студент Десятник Д.Ю. 
(прізвище та ініціали) 
Керівник Півень О.Б. 
(прізвище та ініціали) 
Рецензент ~68 
(прізвище та ініціали) 
Черкаси 2023 
Фоrмн N-• у,(1 .І1І 
)Іо u_.·101< 2 
ч~1>юн.·1.ю1й )•"І)'"'"'\І'І 
. · ~" пн > 11-І,И.  .І 'СХІІОJІОІ'І. 'ІІІИ.И,  ушв. сnсиТt'Т 
Фt11,ул 1,тст 1111 ю )МШ ііі11 11 ,· - 1 -, . ,. ,,()J \()І -'i/ i'- · •· 
-- " '" '' ' І t:Иt:TCM 
(110111111 1111111 іі) 
Кш\н:лра 111юпщм1101 ·0 ·1абс·311счс1-111)1 автом.пи ·ювш1их cиt:'lt:M 
( ІІОІІІІ І І 111111111) 
JІн11рю,1 11і;1готовки ІІІ)І< І-ї-ІП>Ія І ІІ>u- , ·,,лм, 1 . 
- - - (JI О '3ЛІ)ЕЗІІІ \1 1 ЕІІІІЯ 
(код. щ1·11111 ) ----------
Спеціал1,ність 121 <ІІІ)І<Е
< :: ІІЕРІЯ ІІРОІї'АМІ-ЮІ 'О JЛJ;E'Jll lЧ EIIШI» 
( кuл. 1111·11111~) ------- --
ЗАВДАННЯ 
на диплом1шй проект (роботу) освітньо-кваліфікаційного рівня 
" Бакалавр " 
(на1 11а рі1111я ) 
студенту .ю. 
11р1зв11щс, 1м i1 . 1ю ат1,ко111 
І .Тема проекту (роботи) Програмне забезпечення наповнення книжкового фонду бібліотеки . 
затверджена наказом по університету від "24"02 2023р. №43/04 
2. Термін здачі студентом закінченого проекту (роботи) "08" 06 2023 _р. 
3. Вихідні дані до проекту (роботи); ____________________  
ОПЕРАЦІЙНА СИСТЕМА - MІCROSOFТ WІNDOWS 7/10. 
(аиз11ачаються кількісні або (та) якісні показ11ик11 . ЯІ(ІІМ поа1111е11 відповідати об ·,кт проектуош11т 
11ауково?о t!ослід.11се1111я) 
4. Зміст розрахунково-пояснювальної записки (перелік питань, що їх належить розробити) 
І . Опис напряму дослідження ___ _ _ _ ___________ ______ _ _ 
2 .Аналіз існуючих рішень _____ _ _ _________________ _ _ 
3. Аналіз середовища розробки _______________________  
4 .Опис розробки системи _____________ _ _ ___________  
5 .Висновки _______________________________ _ 
б.Додатки -------------:---------------------
5. Перелік графічного матер1алу 
Рисунок Г. 1 - Головна сторінка. 
Рисунок Г.2 -Задачі дослідження. 
Рисунок Г. 3 - Середовище розробки . 
Рисунок Г.4 - Існуючі програмні аналоги. 
Рисунок Г.5 - Опис системи. 
І 
() , )tап1 ІНІ)\t\ 1 Іі 'НІU)ЩІІІІН 
І{~рі111111к 
З1шщшн11 нрийшш до 1н1кошшш1 
К~t.ІІСІІД:,рний ПJШІІ 
(п ізвище, ініціали) 
No Назва етапів випускної магістерської Строк виконання етапів 
Примітка 
з/п о боти 11 оекту ( о боти) 
Постановка задачі Виконано 
2 Підготовка завдання Виконано 
з Погодження завдання Виконано 
4 Затве дження завдання Виконано 
Виконано 
Виконано 
2 Виконано 
з Виконано 
Вибір кінцевого варіанту проектного 
4 Виконано 
5 Виконано 
Заключна стадія Виконано 
Узгодження прийнятих проектних рішень з 
ке ІВНИКОМ Виконано 
Оформлення пояснювальної записки 
2 оботи в кінцевій едакції Виконано 
з 
4 
З.З Виконано 
З.З Захис Виконано 
~ент-дипломник 
uRf11&1.Ьt j.IO 
(Щ :ШНшс та 111111ш1111) 
ІІІдІІІІС) 
AHOTAUJЯ 
У робо-rі нрелс-,а~:,ено ,и:1я;1 aи-1ou.c:r1w~reШ,.c,; C"'4crt:и.~ ~л:г:~rд.; ;,r =-~=-~ 
дня ДJJЯ біблісr, с , J'v1r )fUtt то існ, ючі о; :11 с~ r~ а ~..а f.JІS: • ~-z~~ .о 
підходу '1poщj,w~~H4:t 1юб,nа ,юоон, ;1,0,:m ~ - ·1vt1:~ в~~ ~-,н,~~ _-т:;,з 
11оповнення фонду ,,а nідсу.Ьtуванн~ Jy. ш,риснос-rі rI01poo"J(: ~ -~х ('vQ~F.:~wГг 
нраці ·,а часу бібліо-,екщ,я, вищ,рис-rання систеtА"и no:1~r~ в в~. · ~ ~- maef~ 
збе~.мен:ня часу біблі01екаря .на ~1'У JL1atty ооrювн~~ 900.:1: ~"°-іотеtУ~ 
та значному слрош..енню проведення 
використання здjйсню.ваної системи. 
Кr1ючові е11ова:, бібліотека, бібліотечний фон.з.., МАL оuію;и ~~~ 
, 
матриця в1дношення, 
ANNOTATION 
The раре1· p1·esents an ove1·view of the automated system of filling funds for 
lib1·ю·ies. The existing 111odel syste111s and on the basis of а thematic approach organized 
the new application. Since the choice of pa11:s for replenishment and synthesis of their 
usefulпess 1·equi1·es Іагgе amounts of labor and time of the librarian, the use of the 
system is to solve the issue of pгeserving time librarian in the development ofthe plan 
of replenishment of the library Fund, and а significant facilitator of add-on libraries 
due to the use of the implemented system. 
Кеу words: library, library Fund, МАІ, valuation experts, relationship matrix. 
ЗМІСТ 
ПЕРЕЛІК СІ(ОРОЧЕІ-ІІ> ТА УМОВНИХ ПОЗИ А tfEJ-11> .... .. .... .. .... .. ............ .... ... .... ............. ... 5 
ВСТУП ........ ................................ ..... .......................... ..... ... .. .............. ..... .. .................... ...... .. ..... ... ..... 6 
1 ... ......... ІСНУІОЧІ МЕТОДИ ТА ЗАСОБИ РОЗВ'ЯЗАННЯ ПОСТАВЛЕНИХ ЗАВДАНЬ 
········· ··· ........ ..... .. ......... .......... ... ....... ............ ........... ........ .......................... .. ... ...................................... 10 
1.1 Акrу1мьні проблеми, що виникають в процесі виконання завдань ............ .... ... І О 
1.2 Методи та засоби, які вже використовуються для усунення проблем та 
ВІІКОН8ІІНSІ завдань .. ········· ··· ··· ········ ····· ···· ..... ... ........ ..... ............ .. .. ........ ... ................ .. ..... .. ......... 20 
1.3 Конкретизація завдань роботи ... .................. .. ...... ........... ...................... ............. ....... . 28 
2 ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ІНФОРМАЦІЙНИХ 
СИСТЕМ ......................... ..... ............ .. ..... ..................... ....... ... ..... ................ .. ........ ...... ... ... ............... 30 
2.1 Моделювання предметної області ..... .... ........................................................... ....... .. ... . 30 
2.1.1 Предметна область моделювання. Модель предметної області. Словник 
предметної області ..... .......... ... .. ..... ...... .... .. ... .... .. .................................... ............ ... .. ... .. ..... 30 
2.1.2 Елементи моделювання предметної області ....... ..................... ..... .. .... ..... ...... ..... 33 
2.1.3 Робоча область моделювання ... ... .. .... .. ............. .. .... ... ................. .. ... ... ..... .... .... .. ... 35 
2.2 Формування та аналіз вимог ................................... ... ..... .. ......... ... .. .. ..... .... ......... .. ......... 35 
2.2.1 Формування вимог до програмного забезпечення. Первинні і детальні вимоги. 
Вимоги замовника і розробника. Функціональні та нефункціональні вимоги ........ .. .. 35 
2.2.2 Формування вимог за допомогою діаграми прецедентів ...................... ... ... ..... .. 3 7 
2.3 Проектування логічної структури програмного комплексу .................... ...... ..... ..... 39 
2.3.1 Діаграма класів ................... .................... ... ..... ... ......... .... .. .... ....... .... ....................... 39 
2.3.2 Діаграма пакетів .. ..... ........................ ........... .... ............. ............... .... ..... .. .... .. .......... 40 
2.4 Архітектурне проектування ....................................................... .. .......................... ........ 41 
2.4.1 Діаграма компонентів ............................................................................................ 41 
2.4.2 Розгортання програмної системи на апаратних засобах. Діаграма розгортання . 
........ ................. ............ ..................... ................... .... ........ .. ........ .. ................ .. .... .... .. . 42 
2. 5 Моделювання поведінки системи ...... .. ........ .. ... .... ... ......... .. .. ...... .. .. ... ..... .... ............... 43 
2 .5  .1 Діаграма діяльності ...................................... ................... .... .... .... .. ........... .. ..... ... .... 4 3 
2.5.2 Діаграма послідовності ..... ...................... .......... .. ............ .... ........... ............. .. ... ...... 44 
2.5.3 Д1·а грама комун1к· ац1.1..  ........ ........... ...... ............... ...... .. .. ... .. ...... ..........·... .... .. ....... ...... . 45 
2.5.4 Діаграма скінченного автомату .......... ........ .. ........... .. ....... ..... ... .. ........ .............. .... 46 
З РОЗРОБКА ТА ТЕСТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ................... ......... 48 
3.1 Розробка програмного комплексу ............................ .. ................ ........... ..... ....... .... ... ... .. 48 
3 .1.1 Обrрунтування вибору засобів реалізації ..... ...... ................................. ... .. ...... .. .. .48 
3 . 1.2 Опис структурної ( функціонально і) схеми .. ......... .......................................... ... . 5 5 
3.1.3 Опис логічної схеми системи ......... .... ............ .. :. ......... .......... ... ............ ........ ......... 57 
3.1.4 Розробка бази даних ............. ....... ... ... ....... ... .... ......... ...... ........... ..... .... ......... ........ .. 60 
ЧДТУ.231916.002 ПЗ 
Зм Лист №докум. Підп. Дата 
Розроб. Десятник Д.Ю Програмне забезпечення наповнення Лит Лнст Листів 
книжкового фонду бібліотеки. І І 
Перевірив Півень О.Б. f)fk: 
(Пояснювальна записка) ФІТІС, кафедра ПЗАС, 
Н. контр. Півень О. Б. ПЗ-1904 
Затверд. Голуб С.В. -
3. 1.5 Ро·31юG 1ш i11тcp1j11.:/ky 1<аристуваt1 t1 ............................................... .......... .... .. ......... 65 
3.1.6 ОІJІ,1 с po· 1 rofi 1<и 11ро 1 ·рам11их К()м11011с 11т1 в ......................................... .. ................. 72 
3.2 · J ·ссту11а111н1 с11с · ,·см 1., ... .. ....... ... .... .... ..... .. ............ ........................ ......................... ............... 75 
3.2. І M o;1yJJ1,11c т<.:стувu 111н1 .................. .............. ................................ ............ ................. 75 
3.2.2 І11тсгрн 11і й 11с тестування ... ............... .. ........... .. ..... .. ................. .. .............. ............ .. . 76 
J .2.3 Сист1.:мнс тсстува 1111я .... .................. .............. ........................ .............. .. ................. 78 
3.2.4 Іlри ймаJ 11, 11 с тсстуванІJя .......................... ...... ........................................ ................. 79 
В J.,І СІ І() В О І( ....... ...... .... .. .. ..... ...... ....... ........... ........... .............. ........ .. ..... ...................................... .. .. 8 І 
С ІlИСОК ВИКОРИстл11и·х ){ЖЕРЕJІ ............. ..... ... .'.'.'. . '. ...... ....................................... ............ 82 
){О)(Лl·ки ·· ···· ······•· .. ·· ····· ···· •· ........ ................. ... ........ ... .... ........ ......... .. .............. ... ... .. ....... .... .......... 814 
ЧДТУ. 231916.002 ПЗ 
З:-1 Лист Дата 
/'(проб. Програмне забезпечення наповнення Лит Лист Листів 
Лсрсвіри11 Півс111, О.Б . fИі,,., книжкового фонду бібліотеки. J 1 
(Пояснюоальнn записка) 
ФІТІС, кафедра ПЗАС, 
І· І . КОІІ'Ір. Пі11с111, 0 . 1:і . 
L ПЗ- 1904 
1атнсрп Гонуn СЛ. 
...___,.у 
ЧДТУ . 231916.002 ПЗ 
ПЕРЕЛІК СКОРОЧЕНЬ ТА УМОВНИХ ПОЗНАЧЕНЬ 
АСНТД автоматизована система управління науково-технічними 
дослщженнями; 
ІС інформаційна система; 
ЛІС автоматизована інформаційна система; 
!СО інформаційна система обліку; 
АРМ автоматизовані робочі місця; 
ПЗ програмне забезпечення; 
10 інформаційний об'єкт; 
СУБД система управління базами даних; 
U:м:L уніфікована мова моделювання. 
5 
ЧДТУ. 231916.002 ПЗ 
ВСТУП 
Актуальність досліджень. Робота бібліотекаря займає достатньо багато 
часу, зважаючи на кількість літератури в бібліотеці та підтримання її в 
належному стані. Для підтримки бібліотеки в конкурентному стані, збільшення 
кількості відвідувачів закладу потрібна наявність бажаної та потрібної 
штератури в достатніх кількостях. Перевірка популярності книг, збір даних по 
рейтингах та читацьких квитках - робота кропітка та здебільшого не точна, так 
як узагальнити рейтинги з усіх джерел не просто з огляду на їх величезну 
юлькость. 
На сучасному еташ - в результат~ широкого розповсюдження 
принципово нових технологій документування та розповсюдження інформації 
бібліотеки освоюють нові способи поповнення своїх фондів: електроню 
покупку, передплату та копіювання, отримання обов'язкового прим1рника 
інтернет-документів, електронний документообмін, але використовують їх не 
замість, а поряд з традиційними, вибираючи з наявного арсеналу способів 
постачання найбільш доцільні і краще з точки зору вирішуваних ними завдань і 
виконуваних функцій. · Поява аналогічних обов'язків, але виконуються на більш 
локальному рівні - центральними регіональними і відомчими бібліотеками -
стимулювала розвиток різних видів обов'язкового примірника документів і 
суттєво розширило коло джерел поповнення бібліотечного фонду [ 1]. 
Функціонування спец1альних бібліотек, ор1єнтованих на задоволення 
вузькопрофесійних інформаційних потреб, призвело до використання в якості 
джерел поповнення фонду як вітчизняних, так і закордонних установ, що 
генерують потоки неопублікованих документів, спец-видів науково-технічної 
штератури і документації, в тому числі і на машинозчитувальних нос1ях 
інформації 
Знання виявлених закономірностей дозволяє обrрунтувати, що поява 
якісно нових технологій документізації і передачі інформації не призводить до 
зникнення основних структурних елементів системи документопостачання, а 
лише сприяє перерозподілу їх функцій: нові способи і джерела поповнення 
б 
ЧДТУ. ~31 О 16.00_ ПЗ 
бібліотечних фондів доповнюють можл11вості uжа іонуюч11х, 110 с1еt1со 11у юч11 1 о 
взаємозба.гачуючн одне одного. ll "ревnгн дистанцій1-101-о ;щсту 11у Ж) ОJ І 1ст1ю111111х 
баз даних великі, але, nоки співіснують документи но рі· ннх но ·ію<. і11формонії. 
інтерне~ресурс не зщ1тний повністю замінити собою 1зес1~ ноя1щий нині opC "' llt\JI 
способів і джерел документопостачання бібліотечного фо11ду. Розширення 
1нтерне~простору як єдиної комунікаційної середовищ0 дт1 видои11r1, 
поширення та використання електронних документів фактично стирQ · межі мі~к 
видавничими організаціяl\•ІИ і бібліотеками ) але це не звільняє останніх від 
відповідальності за збір і довготривале зберігання мережевих документі в. 
Виконання бібліотека.ми цього обов'язку є гарантією надійності та інформаційної 
повноти бібліотечного фонду, що дозволяє обслуговувати користувачів 
електронними документами в будь-який час і в будь-якій зручній для них формі, 
чого не завжди можна досягги при заміні "володіння" віддаленим доступом. 
Досліджувана система дозволить автоматизувати вс1 ц1 етапи, 
облегшивши роботу бібліотекаря, та значно підвищивши точність розрахунків. 
Вона дозволить швидко та більш точно проводити обрання потрібної в закупку 
літератури, виходячи з критерії оцінювання користувачами. 
Метою роботи Основна мета роботи - розробити програмний продукт, 
який забезпечить можлив1сть особі шляхом вибору певних параметрів та 
введення певних параметр1в формувати списки бажаної до поповнення 
лператури. 
Для досягнення поставленої мети в роботі вир1шувались наступю 
завдання дослідження: 
огляд методів і засобів реалізації. 
перегляд подібних програмних продуктів. 
уточнення задач проекту 1 проектування програмного продукту. 
оптимізація проектного рішення і реалізація програмного продукту. 
тестування програмного продукту. 
Об'єктом дослідження. Процеси дослідження актуальності літератури 
для закупівлі бібліотекою. 
7 
ЧДТУ. 231916.002 ПЗ 
Предмет дослідження: Методи та засоби автоматизованої роботи з 
формуванням списку актуальної літератури. 
У даній роботі методи розробки включають в себе використання 
середовища розробки Microsoft Visual Studio. Вибір падає саме на цю платформу 
з причини її популярності серед розробників, що працюють з додатками для 
операційної системи Windows, та її гнучкості, великої функціональності та 
широких можливостей, які вона надає розробникам при створенні власного коду 
та об'єктів. 
Пропоновані Microsoft інструменти розробки дозволяють реалізовувати 
вс1 можливості платформи Windows в рішеннях, створених із застосуванням 
наявних навичок і вже знайомих ених технологій. У Microsoft Visual Studio 
можна знайти інструменти і шаблони, за допомогою яких можливо створювати 
додатки з привабливим інтерфейсом 1 реал1зовувати розширену 
функціональність, охоплюючи всі використовувані користувачами пристрою. 
Методи досліджень. Для дослідження було обрано системний підхід та 
індукцію. Системний підхід - об'єкт вивчається як сукупність елементів, що 
утворюють систему. Індукція це коли на підставі знання про частину предметів 
класу робиться висновок про властивості класу в цілому. 
Опис отриманих реузльтатів. В даній роботі було розроблено 
програмне забезпечення наповнення книжкового фонду бібліотеки 
Практичне значення отриманих результатів. Після дослідження 
методів та засобів формування колекції актуальної потрібної літератури, 
аналізуючи функції і недоліки існуючих засобів, було поставлено завдання 
розробити автоматизовану інформаційну систему призначену для 
автоматизованого формування актуальної штератури для поповнення 
бібліотечного фонду. 
Особистий внесок автора. Головною метою даної кваліфікаційної 
роботи було розробити програмний продукт, який забезпечить можлив1сть 
вибору найкращих кандидатів серед нової літератури для поповнення 
бібліотечного фонду.В результап виконання роботи було реалізовано 
8 
ЧДТУ. 231916.002 ПЗ 
інформаційну систему поповнення бібліотечного фонду. Автор розробив 
програму, яка адекватно функціонує, швидко реагує на усі запити користувача і 
не містить помилок, які б могли руйнувати чи порушувати її коректну роботу, 
здійснювати системю порушення, яю несуть фатальні насшдки для 
' .. . 
комп ютерно1 системи в цшому. 
9 
r ЧДТУ. 231916.002 ПЗ 
1 ІСНУЮЧІ МЕТОДИ ТА ЗАСОБИ РОЗВ'ЯЗАННЯ ПОСТАВЛЕНИХ 
ЗАВДАНЬ 
1.1 Актуальні проблеми, що виникають в процесі виконання 
завдань 
Будь-яка бібліотека починається з комплектування. Від стану 
документального фонду, систематичного і планомірного поповнення значною 
мірою залежить успіх роботи всієї бібліотечної системи. Саме в процесі 
комплектування створюється база для всієї подальшої роботи. 
Процедура комплектування будується на вирішенні двох основних питань: 
що потрібно? І де взяти? 
Відповідь на перше питання - це виявлення і відбір докуменпв, що 
відповідаютв задачам ·бібліотеки і потребам її читачів. Дуже ·важливо при цьому 
мати повнотою інформації про те, що випущено в світ і знаходиться у продажу, 
а також про те, що планується до видання. 
Ці відомості необхідні бібліотеці, щоб правильно розподілити фінансові 
можливості і правильно визначити коло придбаних документів, попереджаючи 
інформаційні потреби своїх читачів. В даний час на ринку пропонуються не 
тільки книги і брошури в традиційному (паперовому) вигляді, але і електронні 
. . . . 
видання на компакт-дисках, що м1стять тексти, аудю-, вщео - матер1али, 
мультимедійні твори [2]. 
Завдання бібліотеки - відібрати документи не тільки з точки зору змісту, 
але і з точки зору найбільш ефективної форми їх подачі, тобто вибрати відповідні 
форми документів. 
Відповідь на друге питання дозволяє визначити найбільш зручний спосіб 
придбання відібраних документів. Виявлення джерел комплектування -
найбільш складна і важлива частина роботи. 
Безумовно, при достатніх фінансових ресурсах можна перекласти ц~ 
обов'язки на яку-небудь третю організацію, яка досліджує запропонований 
ринок інформаційних ресурсів та проведе комплектування у відповідності з 
завданнями бібліотеки ( так найчастіше надходять невеликі бібліотеки за 
10 
ЧДТУ. 231916.002 ПЗ 
кордоном, так пропонують вступати і великі російські книготорговельні 
організації) [З]. 
Можна використовувати інший шлях - комплектувати фонд у найближчій 
книготорговельної організації (конкретному книгарні, видавництва тощо), де 
можна подивитися книгу, потримати її в руках, спираючись при цьому на 
пропонований асортимент (можна навіть підібрати кілька таких організацій), і на 
більш популярні запити читачів, що стосуються тих видань, які їм необхідні, і 
про які вони знають, що хотіли б прочитати, використовувати в роботі. 
На жаль, цей шлях веде бібліотеку слідом за попитом, а не на 
випередження, і призводить до ситуації, коли наявні джерела комплектування не 
в силах задовольнити потреби читачів [4]. 
У першу чергу потрібно вирішити інформаційну проблему, тобто отримати 
інформацію про видані в країні документах. Давно відомі ці джерела 
комплектування бібліотек (мова про традиційних джерелах), досить відкрити 
будь-який підручник з бібліотечних фондів (рис.1.1 ). 
'І4----------------1вИJtU1[ИЦТU 
Би· ◄4---------~1~: Е°• • ~, .-----------, 
s.,,_,..; ~ ~ 
б ,:.,,.,_. ...- tii-- .....,.~. ~ 
\+-------,...-_-_-_-_-_-_-_-_-~----,І<:ИИГооб~Іd.ЇЯ 
~-.--.---------------1-[~------~-.- ----.}- --,П;,аг.иї о::х,&о=,:-:і 
Рисунок 1.1 - Традиційні джерела комплектування 
у перюд переходу ВІД індустріального до інформаційного суспільства 
актуалізується проблема оптимізації формування 1 функціонування 
· ф ·~ ресурс~·в суспільства, найважливішою складовою яких є 
ІН ормацІиних 
бібліотечний документний ресурс. Від своєчасності, повноти, якості поповнення 
11 
ЧД'1 У.231916.002 ПЗ 
фондів бібліотек як найбільш розвиненою і широкодоступною шдсистеми 
документальних комунікацій безпосередньо залежить додержання 
конституційних прав громадян на доступ до інформації, забезпечення їм 
комфортного інформаційного середовища для успішних демократичних, 
економічних і культурних перетворень. 
Необхідність подолання сучасної кризової ситуації з комплектуванням 
бібліотек вимагає розробки теоретико-методологічних засад формування 
оптимальної системи документопостачання бібліотечних фондів в умовах 
інформатизації суспільства. Найважливішою складовою будь-якої теорії є 
закономірності розвитку досліджуваного явища, що відображають об'єктивні 
процеси дійсності і дозволяють розібратися в механізмах утворення нового, 
правильно оцінити масштаби, можливості і перспективи майбутніх змін. 
Вивчення виникнення у час1 основних елеменпв системи 
документопостачання бібліотек, виявлення особливостей їх переходу з одного 
якісного стану в інше, обумовлених поступовим ускладненням · структурної 
організації документальних комунікацій суспільства, дозволило встановити три 
основні закономірності розвитку об'єкта дослідження. Першою закономірністю 
є диверсифікація джерел документопостачання бібліотек внаслідок появи нових 
технологій документизаціі інформації. Дія цієї закономірності проявляється у 
постійному · ускладненні системи документопостачання бібліотек в процесі їх 
еволюції за рахунок розвитку засобів комунікації та виникнення різних видів 
спеціалізованих документальних систем, пов'язаних з виробництвом рукописних 
( скрипторії), пізніше - друкованих (друкарні), поліграфічних, механографічних, 
фотографічних, магнітографічних, мікрографічних, лазерографічних та інших 
видів документів. Так, на синкретичному етапі функціонування документальної 
комунікації не існувало функціональних роз межувань між бібліотеками та 
скрипторіями, внаслідок чого превалювали автогенерація і автокомплектування 
бібліотечних фондів. Стародавні . бібліотеки виконували функції виробництва, 
тиражування, зберігання і надання у користування переважно одного виду 
12 
ЧДТУ. 231916.002 ПЗ 
документа - рукописної книги. Зовнішніми джерелами поповнення їх фондів 
також служили бібліотеки - особисті, храмові, монастирські[5]. 
На етапі диференціації документальної комунікації - з ускладненням 
видової і типологічної структури документного потоку, інституалізацією 
видавничої, поліграфічної, книготорговельної галузей виникає необхідність в 
одночасному використанні як джерела поповнення бібліотечних фондів закладів 
оптової та роздрібної книжкової торгівлі, редакцій засобів масової інформації, 
які видають організацій, передплатних агентств, виробників кіно-фото­
документів, обмінно-резервних фондів бібліотек, видавничих шдроздшш 
оргаюв науково-технічної інформації, бібліотечних колекторів, а нині -
повнотекстових ресурсів електронних бібліотек і книжкових інтернет-магазинів 
[5]. 
Бібліотека як сама загальнодоступна документальна система, орієнтована 
на задоволення інформаційних потреб усіх без винятку категорій користувачів і 
комплектуюча свої фонди усіма існуючими видами видань, постійно відстежує 
появу нових носіїв інформації і оперативно включає їх виробників в число 
джерел поповнення свого документного фонду. 
Друга закономірність збереження спеціалізації способів 
документопостачання бібліотек в процесі еволюції документальної комунікації 
проявляється в тому, що і на етапі становлення бібліотеки як соціального 
інституту, і в даний час бібліотека поповнює свої фонди спосіб обов'язкового 
постачання, купівлі, підписки, дару, копіювання, документообміну. В період 
зародження системи документопостачання бібліотек, коли інформаційна 
інфраструктура суспільства була ще недостатньо розвинена, превалювали 
безкоштовні способи поповнення бібліотечних фондів: дарування, натуральний 
податок або реквізиція приватних колекцій, обмін, копіювання. В умовах 
широкого поширення книгодрукування і формування ринку видавничої 
продукції · основними ·способами цілеспрямованого поповнення документних 
ресурсів більшості бібліотек стають купівля і підписка, а документообмін і дар 
13 
ЧДТУ. 231916.002 ПЗ 
використовується як допоміжні - у тих випадках, коли документ неможливо або 
нераціонально придбавати за плату. 
Враховуючи, що нові засоби комунікації доповнюють можливості 
попередніх, але не замінюють їх повністю, в основу формування оптимальної 
моделі документопостачання як окремої бібліотеки, так і єдиного розподіленого 
бібліотечного фонду країни необхідно закласти механізм взаємодоповнюючого 
ефективного використання · традиційних і електронних каналів і способів 
документорозповсюдження. Об'єктивно оц1нюючи . . . 
позитивю 1 негативю 
насшдки превалювання тих чи інших джерел документопостачання, важливо 
знайти таке їх поєднання, щоб не допустити структурних деформацій ядра 
бібліотечн;ого фонду - сукупності профільних документів, необхідних і 
достатюх для задоволення інформаційних потреб користувачів. В умовах 
тотальної інтернетизації інформаційного простору саме бібліотека як 
координатор формування жорсткоструктурованого електронного та 
неелектронного, територіально близького і віддаленого документного ресурсу в 
стані забезпечити найбільший ступінь його доступності ·для користувача [2]. 
Документопостачання це забезпечення бібліотек необхідним 
матеріалом з різних джерел комплектування. 
Головною відмінністю сучасного стану документопостачані-Ія бібліотек є: 
розширення пшяхів комплектування за рахунок: 
розширення кола джерел документопостачання 
створення корпоративних центрів по документопостачанню бібліотек; 
зміни традиційної технології комплектування у зв'язку з появою нових 
технологій і можливостей використання інформаційних ресурсів 
мережі Інтернет; 
появи способів додаткового комплектування з використанням 
економічного партнерства бібліотек з видавництвами та 
книготорговельними організаціями в умовах обмеженого бюджетного 
фінансування; 
14 
ЧДТУ. 231916.002 ПЗ 
- самостійний усвідомлений вибір бібліотеками джерел 
комплектування. 
Ко~mлектування фонду, будучи складовою частиною його формування, 
являє собою добір, замовлення та придбання документів, відповідних функцій 
бібліотеки, інформаційним потребам і читацькому попиту її абонентів. 
Існують три види комплектування: 
поточне - передбачає поповнення фонду виходять у світ виданнями; 
- ретроспективне - придбання відсутніх документів минулих років 
видання; 
рекомnлектування звшьнення фонду вщ застарших за змістом, 
старц непрофільних і зайвих дублетних екземплярів. 
За формою комплектування може бути : 
Очним - засноване на особистому перегляд і відбір документів; 
Заочним - засноване на принципі замовлень без попереднього перегляду і 
відбору документів. 
За способом комплектування може бути: 
Координованим - узгоджене комплектування двох і більше бібліотек з 
метою розмежування в придбанні документів за тематикою, видами придбаних 
документів, усунення невиправданого дублювання; 
Кооперованим - комплектування, засноване на об'єднанні ресурсш 
бібліотек для досягнення поставлених цілей; 
Централізованим - комплектування філій або мережі бібліотек одн1єю 
установою ( центральним органом) [4 ]. 
Комплектування фондів здійснюється шляхом щорічного планового 
комплектування, книгообміну, безоплатної передачі, отримання в дар, 
передплати на періодичні видання, отримання книг від читачів, а також на основі 
одержання обов'язкового безкоштовного примірника. Бібліотечний фонд 
формується на основі друкованих та інших носіїв інформації і містить джерела 
інформації по всім основним галузям знання. 
15 
ЧДТУ. 23 1916.002 ПЗ 
Купівля. Щороку держава виділяє бібліотеці гроші на те, щоб вона сама 
купувала кннrн. Перші-ліпші видання, що стоять в книжкових магазинах, 
звичайно, не беруть. Для того щоб закупник розумів, що саме потрібно придбати 
для фонду, існує «Профіль комплектування». Це список книг, який складає 
спецізльна група працівників, найнятих безпосередньо директором бібліотеки. 
2 Обов'язковий примірник. Закон про те, що кожне видання, випущене в 
межа."' країни, має в двох примірниках вирушати в бібліотеки, вийшов ще при 
правлінні Катерини П. [З]. 
Обов'язковим визнається примірник кожного вітчизняного документа, що 
подається в обов'язковому порядку виробляють їх організаціями згідно із 
законом чи спеціальним урядовим розпорядженням: 
державні книгосховища; 
- великі бібліотеки; 
інформаційні та бібліографічні ·центри. 
Обов'язковий примірник розсилається в дані установи в цілях: 
- для державного бібліографічного обліку, що випускають·ся, 
документ~ в; 
- комплектування загальнонаціональних бібліотечних фондів, арх1вш 
документації; 
- забезпечення інформаційної та бібліографічної діяльності [З]. 
Обов'язковий примірник у межах суб'єкта Украіни - це примірник різних видів 
документів, виготовлених на території суб'єкта України, який підлягає передачі 
виробляють їх організаціями у відповідні установи та організації. 
Обов'язковий місцевий примірник документів - це примірники різних 
видів документів, виготовлених ·на території міста або ·району: 
І Дари. Це особливий джерело надходжень, тому що тут у кожної книги 
своя історія. Дарувальниками можуть виступати різні організації і приватні 
особи - від генконсульств різних країн, іноземних друкарень до приватних осіб. 
Багато політики і громадські діячі практикують передачу в дар бібліотекам 
примірники написаних книг. Вони добре розуміють: якщо їх праця опиниться на 
16 
ЧДТУ. 231916.002 ПЗ 
полиці у фондах, юн фактично буде вічним. Дуже люблять дарувати свої 
рукописи і видання езотерики, графомани і поети. 
2 Книгообмін. Це не тільки вкрай цікавий, але і економічний спосіб 
поповнення фондів. Наприклад, велика національна бібліотека може поміняти 
гарне російськомовне видання не менш гарне іноземне, але при цьому їй не 
доводиться мати справи з валютою, податками та постачальниками. 
Книгообмін - традиційний і багатовіковою спосіб спілкування м1ж 
читальними залами різних країн, тому адміністрації бібліотек і університетів 
постійно підтримують зв'язок, влаштовуючи семінари і обговорюючи питання 
обміну. 
Структурування фонду в межах бібліотеки, завдаю-Ія, способи 
Структура - це будова, організація, конституція бібліотечного фонду, 
його впорядкованість з тих чи інших підстав. 
Структуру БІБШОТЕЧНОГО ФОНДУ створюють одночасно кілька ознак, 
яю знаходяться між собою в низхідній ієрархічної зв'язку. Структурування 
фонду по зв'язках документів між собою. 
За змістом: універсальні(загальноосвітнього характеру - бібліотеки в 
районах, Бібліотека ім. Лермонтова і наукового-РДБ,РНБ), галузеві(наприклад, 
Центральна галузева бібліотека з фізичної культури 1 спорту.) 
спеціалізовані(для сліпих, патентні,стандартні і тд.) і багатогалузеві(БАН, БЕН 
РАН) [З]. 
За цільовим читацьким призначенням. Наукові,науково-популярні, 
виробничі, довідкові,навчальні, ·офіційні• документи. 
По виду документа(книга,брошура, журнал, комікси і тд) 
По носіям : об'ємні-книги, глобуси, медал1, монети, значки. І плосю­
диски,дискети,рулони. 
За формою наданої інформації - твори друку та неопубліковані 
документи(звіти про ндр і дкр,рукописи,архіви вчених, документи про 
закордонний. Відрядження і тд) 
17 
ЧДТУ. 231916.002 ПЗ 
За ступенем використання активновикористовуван1 
пасивновикористовувані. 
За ступенем доступу відкриті,закриті , арх1в (закриті з цензурних 
міркувань). 
Всередині бібліотеки виділяються: основний Фонд, фонд книгосховища, 
підсобний фонд (документити найбільш часто запитуємі), страховий фонд, 
дублер основного Фонду, еталонний фонд(технічні регламенти,стандарти). 
Інтернет-технології у комплектуванні бібліотечного фонду. Пошук, 
оцінка та замовлення необхідних документів. 
Традиційне поняття "комплектування бібліотечних фондів" в останнє 
десятиліття змінює своє значення 1 стає однією із складових роботи з 
інформаційного забезпечення користувачів. Все більший інтерес викликають 
видання в електронному форматі. Відбуваються зміни на видавничому ринку -
збільшується частка електронних видань, які доступні як на CD-ROM, так і в 
режимі on-line. Така ситуація вимагає перегляду політики комплектування 
бібліотек; їх завданням стає не лише створення власних фондів, але і надання 
прав доступу до віддалених ресурсів, переважно через Інтернет. Тому 
актуальним напрямком досліджень у бібліотековеденні стає вивчення і розробка 
методів оцінки електронних видань, сполучуваності способів комплектування 
фондів друкованими ресурсами і придбанням прав доступу до електронних 
документів [4] . 
Важливим напрямком в діяльності Бібліотеки з природничих наук (БЕН) 
р АН стає вивчення ефективності використання електронних ресурсів, і 
розглядаються методи їх оцінки з точки зору забезпечення поточних, 
перспективних та ретроспективних запитів користувачів. В даний час велика 
частина електронних ресурсів надається зарубіжними організаціями та 
основними способами доступу до них є наступні: 
Додаток до включеним у підписку друкованим версіями видань (доступ в 
режимі онлайн); 
Участь у бібліотечних консорціумах (доступ в режимі онлайн) ; 
18 
ЧДТУ. 231916.002 ПЗ 
Отримання видань на локальних носіях . 
Отримання прав щ>ступу в якості доповнення до друковано~ версії 
здійснюється при оформленні передплати, однак, бібліотеці у ряді випадків 
доводиться вести тривалу переписку з видавництвами для отримання такої 
можливості. Зворотній зв'язок, тобто статистика звернення до електронних 
версій надається лише окремими видавництвами, і проводити вивчення попиту в 
цьому випадку неефективно. 
Участь у бібліотечних консорціумах передбачає права доступу до масиву 
електронних документів, частина яких не .представляє інтересу для користувачів 
організації. Умови участі в консорціумі значною мірою знижують вартість 
журналів порівняно з вартістю передплати на окремі назви, і тому придбання 
прав доступу до масиву видань може бути більш доцільно з економічної точки 
зору. Кожній організації потрібно визначити, наскільки задовольняється потреба 
читачів, і яка частина видань із запропонованого консорціумом списку 
відповідає їх потребам. Ще одним позитивним властивістю такого виду доступу 
до електронних видань є можливість використання зворотного зв'язку. Більшість 
консорціумів надають організаціям їх власну статистику, що дає можливість 
вивчити інформаційну цінність документів в електронному форматі [2]-. 
Видання на локальних носіях (на CD-ROM) можна розглядати і вивчати як 
об'єкт традиційного комплектування, оскільки цей вид документів повинен бути 
включений до складу фонду та його оцінка як електронного документу, в першу 
чергу, визначається графічними і технічними характеристиками. 
Для бібліотек важливо визначити, які видання представляють найбільший 
інтерес для користувачів в електронному форматі, і які друковані видання в 
перспективі можуть бути переведені на електронну передплату. Тому при 
розробці методики оцінки і відбору електронних видань потрібно розглянути 
наступні характеристики: 
- тематичне відповідність 1нтересам користувачів 1 профілю 
комплектування бібліотеки. слід звернути особливу увагу на оцшку групи 
видань, запропонованих в рамках консорціуму; на оцінку баз даних; 
19 
ЧДТУ. 231916.002 ПЗ 
кількість 1 характер звернень до конкретних видань користувачш 
організації; 
можливість доступу до ретроспективним випусків видань; 
умови збереження прав доступу після закінчення терміну передплати ; 
умови доступу до ресурсу (по ір-адресах, по паролю); 
пошукові можливості системи; 
наявність додаткових послуг (можливість доставки докуменпв по 
електронній пошті, збереження пошукових запипв, що випереджає 
інфорl'.{)'Вання передплатників про нові матеріали тощо). 
Оцінка ресурсів повинна здійснюватися за вказаними характеристиками 
послідовно, в ієрархічному порядку: кожен наступний ознака розглядається за 
умови допустимої оцінки попереднього. Для оцінки всіх характеристик повинні 
бути запропоновані формалізовані способи її вираження. Така система дозволить 
зробити обгрунтований висновок про доцільність придбання ресурсу або прав 
доступу ДО НЬОГО. 
Забезпечення збереження бібліотечного фонду за допомогою сучасних 
технологій [ 1]. 
Збереження бібліотечного фонду - це цілісність і незмінність фізичного 
стану документів, зміст його в спеціальних приміщеннях з урахуванням 
оптимального біологічного та фізико-хімічного режиму. Існують З фактори, що 
впливають на збереження бібліотечного фонду-соціальний, фізико-хімічний, 
біологічний. 
Штрих-кодове маркування, ще зовс1м недавно вважається передовим, 
тепер вже сприймається як морально-застаріле, зважаючи очевидних переваг 
RFID технології. 
1.2 Методи та засоби, які вже використовуються для усунення 
проблем та виконання завдань 
у цьому розділі розглянемо існуючі методи та засоби розв'язання 
поставлених завдань, а також їх практичне значення та можливість використання 
одержаних результапв. 
20 
ЧДТУ. 231916.002 ПЗ 
Створення програмного забезпечення здійснюється послідовно відповідно 
до наступних основних етапів: 
постановка задачі ( стадія «Технічне завдання»); 
аналіз вимог та розробка специфікацій ( стадія «Ескізний проект»); 
проектування ( стадія "Технічний проект") ; 
реалізація ( стадія «Робочий проект»); 
використання та експлуатація ( стадія «Впровадження»). 
Постановка задачі. На цьому етапі визначаються призначення програмного 
забезпечення та основні вимоги щодо нього. Визначаються структури вхідних та 
вихідних даних. Проводиться попередній вибір методів розв'язання задач та мов 
програмування. Визначаються стадії, етапи та терміни розробки програми та 
документації [8]. 
Аналіз вимог та визначення специфікацій. Специфікації це 
формалізований опис функцій та обмежень створюваного додатка. Сукупність 
специфікацій є загальною лог1чною моделлю проектованого програмного 
забезпечення. На цьому етапі здійснюється опис загального алгоритму 
розв'язання задачі. Тут також необхідно підготувати тести із зазначенням 
очікуваних результатів дтr пошуку програмних ·та інших ·помилок. 
Проектування. Основним на даному еташ є створення специфікацій 
програми, що розробляється. Результатом етапу є модель програмного 
забезпечення із специфікаціями його компонентів. Тип моделі залежить від 
конкретної технології проектування. При цьому в процесі проектування 
здійснюються : 
розробка та уточнення структури вхідних та вихідних даних; 
створення алгоритмів розв'язання задачі; 
опис форм подання вхідних та вихідних даних; 
розробка структури· програми. 
Проектування складного програмного забезпечення зазвичай включає: 
визначення основних компонентів та їх взаємозв'язків; 
- декомпозицію компонентів та побудову структурних ієрархій; 
21 
ЧДТУ. 231916.002 ПЗ 
проектування компонентів. 
Етап проектування є важливим. Якщо до розробки специфікацій, яю 
включають і алгоритми , поставитися недостатньо уважно, то надалі , на етапі 
реалізації, можуть виникнути труднощ1, специфікації та алгоритми 
вимагатимуть додаткового доопрацювання та витрат тощо. На еташ 
налагодження програми може з'ясуватися, що алгоритм недосконалий, 
помилковий або взагалі нездійсненний [9] . 
Реалізація є послідовним процесом створення вихщних кодш програми 
обраною мовою програмування (кодування), тестування та налагодження 
програмного забезпечення. Часто при створенні програми переважна частина 
часу йде не на її розробку, а на налагодження та тестування . Тому програма має 
бути наочною, легко читаною, супроводжуватися коментарями. 
Налагодження та тестування програми - це процес роботи з програмою на 
тестових прикладах з метою пошуку та усунення помилок у ній. Щоб перевірити 
коректність роботи програми за всіляких результатів, необхідно підібрати різні 
набори вихідних даних. Важливим правилом підбору тестових прикладів є таке: 
необхідно підбирати тести таким чином, щоб вони виявляли помилки, а не 
підтверджували коректність її роботи. 
У програмі помилки бувають двох видів: 
синтаксичю помилки - виникають при неправильному кодуванні 
програми та виявляються під час її трансляції; 
- смислові ( алгоритмічні) помилки - виникають при неправильній 
інтерпретації чи реалізації алгоритмів розв'язання . Виявляються такі помилки 
під час налагодження працюючої програми, коли програма не виконує точно 
очікуваних дій. 
1.2.1 Збір електронних видань. На основі популярності в інтернеті [1 О]. 
Програма дій передбачає безпосередню участь користувача, оскільки 
чартів багато і ресурсів також. Неможливо точно підібрати потрібні книги, так 
як неможливо дізнатися достеменно прихильників якої літератури більше 
відвідує конкретну бібліотеку (якщо вона не тематична). Задача спрощується 
22 
ЧДТУ. 231916.002 ПЗ 
якщо існує електронна база даних відвідувачів, в якій зареєстроваю членсью 
квитки 1 реєструються обрані читачами книги. Су дЯЧИ з переваги теми 
літератури і обирається напрямок (рис.1.2) . 
f- ..., с і 9IC)-И.uafUi/iitest}lc-/137el.3 •nJjOOJlU~llni~l'i••~J1;t'-,J •\,'eUti•lO·ncvinoL.•\1d·u'iaзjin.$1(;i(l1-v1d.l'lriitstv 
м ~ ~ t,~,. 
1.1~..-i11 .,: 9101"1 nре3ентує новий 
комnак1ний дtвайс 
zи1:••- ,, s, Молодий І повний Місяць 
у березні 2023: дата і вплив на 
людину 
'{' ·,, ,,.»,.,,," Мзrнітні бурі у березні 
2023 року: прогноз на rщяць 
·.t ,,.,.,,.,. . , 1•. 1~ Амери~<анськнИ дієтолог 
розnовіnа, як кава може допомогти 
схуднути 
,ч №."'1-<~!ІS( Вихідні та свята у березні 
2023: каnендар подій 
\•1 1~_, •1.1.'.'-' МІсRчни~ календар на 
березень 2023 року 
.'t. .-.;,.,.-t, , ~ ot✓", 8 Укр3їнІ з'явилася 
настіnьна rpa про українське вино: 
де КV11И, и U\"IINES 
Найпопулярніші книги весни: 10 новинок Hii-i\iijjjЩЩQljf 
від українських видавництв 
1,&tN..-п z.1 gloтu nрезентує нови~ 
ко,..nвктниІі д,ваІ1с 
-x~ ~w1 ~,~ Американський дієтолог 
розnовІла, як кава може допомогти 
схуднути 
Kwv.rн до1вол11юrь на..- nоринуtи I у,1юuі с■іт, ■ідаопіктма •і.А npoWleм І 16;1r,nни свою >,•,,...,.,:.- ,: , 1 Українці хочуть залишити 
фзІfІазію. 1(рі" тоrо. нікол~ не ИИІ\ИW &(де розwиритм слонрниіі :w1nм, надІОО<УJ>ІС., В 6tр,зня вихІднн" дне"': р,зультати 
ді)"'1ТИСІ, шос• ном і уріJНОМ4НІП<І<ТІІ АОJІімО . fOЛOC)'IIOHttЯ . 
fМ' U\OfІtn\.insi.Jltt,he 
Рисунок 1.2 - Найпопулярніші книги 2022 року 
Такий вар~ант поповнення фонду не є достатньо точним не дає 
керівництву бібліотеки твердої впевненості в тому що додана література буде 
популярною через деякий час потому, чи збільшить таких хід кількість 
відвідувачів·. 
1.2.2 Система "Right Solution" 
Програма надає користувачеві можливість проставляти плюси і мінуси для 
різних критеріїв. При цьому важливо ретельно обміркувати свій вибір. Вся 
справа в тому, що плюси і мінуси в Right Solution мають свою вагу. Наприклад, 
можна призначити таю пріоритети, як сутгєвий, значний, несутгєвий 
незначний. Є і варіант на порядок. Кожному факту присвоюється і ймовірність, 
що визначається як достовірно, висока ймовірність, або 50/50. Все це дозволяє 
23 
Ч)~ТУ .23 1916 .002 113 
:.Jробити 11po1tcc 11риі'\11ят1·>1 рі111с11ш1 ·Jробити якіс11і111с, JtC они11 мі11ус ·i ос;1и кою 
в01·ою мож~ 11~р<.жрити кіJtІ>КО 11тосів з меншими пріоритетами. 
ДlІОlІЙТе розгш111смо, ЯІ( 11риюнщ, ІlИТОІННІ ЗІJЇЛІ>ІІСІІІІЯ ' роботи У Rigl1L 
SolL1tio11. Піст~ :.ншуску програма 11ро11O11ує нам воссти рішсню1, >11<с потрібно 
11риІ~.1нпн . 
Днні, иа першому кроці, щ,м потрібно оизщ1чити 1юзити1Jні сторони 
рішс11шt , відсортуоаоши їх за пріоритетами так, щоб найбіт,ш значимі «плюси» 
O11и11илис>1 вгорі. Інакше кажу1.1и, ооодимо в список всі 11нюси прийнятт·я свого 
рішення , причому спочатку великі, потім не дуже суrгєві . Тут же потрібно 
визначити пріоритети кожного пункту і оцінити його ймовір1-1істr> . Пишемо текст, 
тиснемо кнопку [Додати]. Потім у списку напроти пункту вибираємо його 
пріоритет і імовірність. Можна вводити значення цих параметрів коефіцієнтом 
від І до 1О О, що показує, у скільки разів поточне значення пріоритетніше 
попереднього. 
На другому кроці Rigl1t Solution чекає від нас вводу всіх негативних сторін 
рішення . Тут все так само, як і в попередкьому кроці, з тією лише різницею, що 
ми вказуємо мінуси майбутнього рішення . 
Третій крок пропонує визначити, що переважає: найбільший плюс або 
найбільший мінус прийнятого рішення. Для цього ми можемо ввести числове 
значення або вибрати приблизну оцінку в ви падаючому списку . 
1 , І 
■ Rlght Solutlon v 1.1 l c:::i ,І @ , ~ -
Ф.!!11Л Н.!!СТРОІ1КІ1 7 
Onиwl-n'e решение, которь1е Вь, должнь, принRТь: 
~ео.. ,л І·-==n 'ься с р.!!ботьj 777 .., . "')-
Очистить І 
~ 
д.!!лее >> І 
Рисунок 1.3 - Робота Right Solt1tion 
24 
ЧДТУ. 23 1916.002 ПЗ 
Вшагl І= І@ І~ 
Оnиwите nоложиrельнь1е старань, решения, отсортировав ик по nриорететамтак, 'Побь, 
І наиболее значимь,е "плюсь," оказались вверх':! списка. Для каждого П':Інкта определите 
І насколько он nриоритетнее nредьщ':Іщего. Приблизительно оцените, вероятность каждого 
П':jНКТа. І 
При за.цании nрІАОритета можно лtА6о вь1брать значение из вь1nа.цающего списка, либо ввести 
І свой козсрсрициеtfТ (1 -100), nоказь1еающий во сколько раз тек':Іщее значение приоритетнее 
nредьщ!ІЩеrо. Аналогичнь~м образом зааается значение еероятности. ,..__ j 
І ~ Добавить І 
Наименование Приорwтет Вероятность -
сео6одное время l!l~Dll1mll~ll~I~ • достоверно • -• 
отс~ствие ответственности С':Іщестеенньtй • достоверно • ~ 
отс~ствие начальства ОQ.ИНаКОВЬІЙ • достоверно • 
расхсщь1 на npoe311 , Удалить 
нес':Іщестее,нн -• еь~сокая • - І 
расходь1 на о6едь1 незначительн • вь,сокая • ..:J 
~ f · ·-
« Назаn І Далее » І 
Рисунок 1.4 - Тести, спроектовані програмою 
■шаг2 \ , С) І @) Іц;..)І 
Опишиrе отрицательнь1е сторонь1 решения, отсортировав их по приорете-там так, чrобь1 наиболее 
существенньtе "минусь~" оказались ееерху списка. Определиrе приориrетность каЖАого пункта 
относиrельно nредьu:1ущего. Приблизиrельно оцениrе, вероятность каЖАого пункта. 
При з<Щании приориrета можно либо вь1брать значение из вьtn<Щающего списка, либо ввести 
свой козФФициент (1 •1 О О), показь1вающий во сколько раз текущее значение приориrетнее 
предьu;1ущего. Аналогичнь1м образом з~ается значение еероятности . 
І • ?·  - -• Добавиrьj 
Н аименование Приориrет Вероятность 
отсутствие ст абильного заработка , значиrельнь1й ] вь1сокая .... 
-
прекращение карьерного роста одинаковьtй ~ АОСТОВерно ... =d 
потеря соцпакета существеннь1й ..,,,_ АОСТОВерно ... 
необходимость поиска другого заработ существеннь1й ..::, 50 на 50 ... Удалиrь І 
' . - . . " . . ,·, f 1і•І 
. .. . , ,. . . 
·• · · •· .. . , , ..... , .. ...... ... ·-•і- ~~на~ . , .. .. Далее>> І 
Рисунок 1.5 - Тести, спроектовані програмою 
25 
ЧДТУ. 231916.002 ПЗ 
Вшагз 
Перед Вами самь1й большой "плюс" и самь~й большой "минус" nринимаемого решениR. 
81,1 доnжнь1 оnредешrь, 'ffo из них nеревешивает. Если даннь1е асnекть1 могут бьrrь 
вь1раженнь1 численно (например, если "nnІОсом" RВnReтcR сумма nредnолагаемого 
дохода, а ''минус'' сумма возможнь1х расходов) введите их в Форме. В противном случае 
вь1берете nриблизительнуІО оценку в вь1nа,:1ающем списке. 
Численнь~е nоказатели: 
-t-Ісво6оАное времR ~остоверно) 
-\отсутствие стаби.rьноrо заработка (вЬІсокаR] 
\ "nлІОС" и "мж~" ~ют (W-ІНаКО6ЬІ1 вес 
"плюс" на порs~док весомее 
"nлюс" значительно весомее 
"плюс" существенно весомее 
~--1"ПЛІОС" незначитеnьно весомее 
щественно весомее 
' 
"МИН!Jс" несущественно весомее 
"минус" незначите11ьно весомее « Haзai:i Далее » 
11
МИН';Іс" значительно весомее 
____ _. ::""1ус:: существежо весомее 
Рисунок 1.6 - Тести, спроектовані програмою 
1.2.3 Система " SІМВА DSS" 
SІМВА DSS - комп'ютерна програма для прийняття оптимальних рішень, 
наприклад, таких: 
У правлінських: 
бізнес стратегія: визначи1'и напрямок розвитку фірми; 
закупівлі: вибрати найкращого постачальника; 
логістика: підібрати оптимальне розташування складу та офісу; 
взаємодія з контрагентами : вибрати найкращого субпідрядника; 
кадрова політика: відібрати ідеального кандидата на вакансію; 
оптимізація якості персоналу: виявити професійний кадровий кістяк 
підприємства; 
Житейських: 
важл~~і .покуµ~: ~ибрати автомобіщ); 
26 
ЧДТУ. 231916.002 ПЗ 
середовище проживання: купити будинок / квартиру з урахуванням 
інтересів і перспектив всіх домочадців; 
іноземні мови: визначити переваги і вибрати найбілr)ш підходящиf~ 
для вивчення; 
професійна орієнтація: обрати майбутню професію; 
працевлаштування: вибрати кращого роботодавця; 
спорт і здоров'я: почати бігати вранці, зайнятися йогою або піти в 
тренажерний зал; 
сім'я:. піді6р~1ц _<;уцу~:J;Іи.к~ життя. 
Потрібно сформулювати проблему/ можливість (створіть новий проект в 
SІМВА SOLVER); Намітить основю вар1анти р1шень (альтернативи); 
Визначитися з суттєвими ознаками шуканого рішення. Отримати готове р.ішення 
(рисунок.1.7). 
,___ __ ..._..__. ___ ._ 
~с ~, " ... Ііі ~ • e:: r.тwrrn CJ 
· --~--- ._ .- _ ., ·-----. --­
"..  .. • .. "' 1 1,-11 
---
---
. -
'№ttPm 
Рисунок 1.7 - "Приклад роботи SIMBA DSS" 
При необхідності: 
_ задайте доступні фінансові ресурси для знаходження рішення; 
_ задайте особливості критеріїв: критерії парето (ключові), невід'ємні 
критерії (обов'язкові до наявності), критерії антагоністи (протидіють), залежні 
критерії ( підсистеми інших критеріїв); 
27 
ЧДТУ. 231916.002 ПЗ 
- усуньте протиріччя для критеріїв і альтернатив ( «попередження» в 
головному вікні). якщо усунути протиріччя для конкретної альтернативи 
неможливо - це св1дчить про незастосовності альтернативи (помилкова 
альтернатива); 
- створіть план проектів та плануйте створені проекти в simba planлer; 
- додатково (у повному режимі для просунутих користувачів); 
- змінюйте поточний алгоритм перерозподілу ваги (апв) залежних 
критеріїв. 
1.3 Конкретизація завдань роботи 
Головною метою даної кваліфікаційної роботи є розробка лрограмноrо 
продукту, який забезпечить можливість обумовленого вибору найкращих 
кандидатів серед нової літератури для поповнення бібліотечного фонду. 
Після дослідження методів та засобів формування колекції актуальної 
потрібної літератури, аналізуючи функції і недоліки існуючих засобів, було 
поставлено завдання розробити автоматизовану інформаційну систему 
призначену для автоматизованого формування колекції пропонуємої можливо 
актуальної літератури для поповнення бібліотечного фонду. 
В системі повинні виконуватись наступні можливості: 
база даних існуючої літератури; 
наявність реєстрованих відвідувачів та обраних ними книг; 
можливість оцінювання за певними критеріями книг; 
механізм прийняття рішень за отриманими критеріями для поповнення 
фонду. 
Додатковим завданням є створення зручного інтерфейсу інтерфейсу, на 
прикладі розглянутих аналогів, для підтримки логіки розміщення компонентів 
на робочому просторі та панелях інструментів. 
Висновки до першого розділу: 
у ·л1• ми описали наявні методи та засоби, що використовуються цьому розд~ 
• · творення інформаційної системи, а також проаналізували 
для вир1шення задач~ с 
много забезпечення. Програма має бути простою та існуючі аналоги програ 
28 
ЧДТУ. 231916.002 ПЗ 
зручною у використанні. Крім того, в наступному розділі буде розглянуто 
деталізовані методи та інструменти, що були використані під час розробки цієї 
програми. Також буде проведено тестування програмного забезпечення. 
29 
ЧДТУ. 231916.002 ПЗ 
2 ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 
ШФОРМАЦІЙНИХ СИСТЕМ 
2.1 Моделювання предметної області 
2.1.1 Предметна область моделювання. Модель предметної області . 
Словник предметної області 
Програмна модель - це формалізоване опис програмної системи на 
певному рівні абстракції. Кожна модель визначає певний аспект системи, 
використовує набір діаграм та документів у заданому форматі, відображає точку 
зору та є предметом діяльності різних людей з певними інтересами, ролями чи 
завданнями. Графічні (візуальні) моделі є засобами візуалізації, опису, 
проектування та документування архітектури системи. Моделі є основою 
взаємодії учасників проекту та гарантують правильність архітектури. У міру 
збільшення складності систем важливо мати добрі методи моделювання. Хоча на 
успіх проекту впливає багато чинників, дуже важливо мати суворий стандарт 
мови моделювання [ 11]. 
Склад моделей, що використовуються у кожному конкретному проекті, та 
рівень їх деталізації загалом залежать від наступних факторів: 
- складність проектованої системи; 
- необхідність повноти його опису; 
- знання та навички учасниюв проекту ; - час, зарезервований для 
дизайну. 
Структурний анал1з та проектування використовують р1зю модеш, яю 
описують: 
функціональну структуру системи; 
послідовність дій, які необхідно виконати; 
передачу інформації між функціональними процесами; Найбільш 
поширеними моделями перших трьох груп є: 
функціональна модель SADT ( структурований метод анал1зу та 
проектування); 
модель IDEFЗ; 
зо 
ЧН'ГУ.231916.002 113 
- діаграми. потокіu даних DFD (DotQ fi'\ow Diнg1·nJ11s). 
Метод SADT є набором ІlJ)ЄІОИJІ і 11рощщур 1 11р~,1зщ,1 1е11нх щ1н 1юбудови 
функціональної моделі об'єкта о будь-s1кій обнасті . Фу1шціо11ш11.,Ш\ модсJ1ь SADT 
показує функціональну струІСтуру об'єкта, тобто дії, які він ви1<011ує те віююсини 
між цими діями. Моделі SADT (IDEt,·O) зозоичой застосо1,уют1:1ся для 
моделювання організаційних систем (бізнес-процесів). Слід зазначити, що метод 
SADT усnішно працює лише при описі tJітко оизначе11их та стандартизованих 
бізнес-процесів у корпораціях, тому о США він прийнятий як типовий. 
Перевагами використання SАDТ-моделей є: повнота опису біз11ес11роцесу, 
жорсткі вимоги до методу (внаслідок типової моделі), відповідність підходу до 
опису процесів стандартам ISO 9000. Оскільки бізнес-процеси в Україні почали 
формуватися та розвиватися нещодавно, вони погано типізовані, тому розумніше 
орієнтуватися менш жорсткі моделі. 
Метод моделювання lDEFЗ призначений для моделей процесів, де важливо 
розуміти nослідовпість· дій ·та взаємозалежності між ними. В основі ·моделі IDEFЗ 
лежить так званий nроцесний сценарій, у якому виділяється послідовність дій та 
підпроцесів аналізованої системи. 
Діаграми потоків даних (DFD) є ієрархією функціональних процесів, 
пов'язаних з лотоками даних. Мета цього уявлення - показати, як кожен процес 
перетворює свої входи на виходи, і показати залежності між цими процесами. 
Модель системи визначається як ієрархія діаграм потоків даних, що описують 
асинхронний процес перетворення інформації від її обслуговування до системи 
до доставки результатів споживачеві. Діаграми потоків даних спочатку 
створювалися як інструмент проектування інформаційних систем (SADT -
інструмент моделювання систем загалом) і мають більший набір елементів, які 
адекватно відображають специфіку таких систем [ 12]. 
Розглянуті моделі приблизно однакові за можливостями засобів 
візуального моделювання. Основним критерієм вибору тієї чи іншої методу є 
ступінь володіння із боку консультанта чи аналітика, грамотність уявного 
висловлювання своїх думок мовою моделювання. 
31 
ЧДТУ. 231916.002 ПЗ 
Найбільш поширеним інструментом моделювання даних (предметна 
галузь) є модель Entity-Relationship Model (ЕRМ). Ця модель є підмножиною 
об'єктної моделі предметної області. 
Концептуальною основою для об'єктно-орієнтованого анашзу та 
проектування (OOAD) програмного забезпечення є об'єктна модель. Його 
основні принципи - абстракція, інкапсуляція, модульність та ієрархія; основні 
поняття - об'єкт, клас, атрибут, операція, інтерфейс. 
Більшість сучасних методів ООАР rрунтуються на використаню 
уніфікованої мови моделювання (UМL ). 
Мова UМL використовується вс1ма великими компаюями-
розробниками програмного забезпечення (Microsoft, Oracle, ІВМ, 
HewlettPackard, Sybase) . Крім того, майже всі свпов1 виробники САSЕ­
інструментів · підтримують· ТJМL у своїх продуктах. 
Стандарт UМL містить наступний набір діаграм: 
1 структурю модеш: 
. . 
д~аграми клас1в; 
схеми компонент~в; 
схеми розгортання. 
2 поведінкові моделі: 
. . 
діаграми вар1ант1в використання (діаграми: . вар~анпв 
використання); 
діаграми взаємодії (interaction . charts) : д~аграми послідовності 
(sequence charts) та кооперативні діаграми (collaboration charts); -
діаграми станів (діаграми станів); - діаграми діяльності [ 13]. 
UМL має механізми розширення, що дозволяють розробникам адаптувати 
мову моделювання до своїх конкретних потреб без зміни його метамодеш. 
Наявність механізмів розширення принципово відрізняє UМL від засобів 
моделювання, як IDEF0, IDEFlX, IDEF3, DFD і ЕRМ. Перелічені мови є строго 
типізованими, оскільки не допускають довільної інтерпретації семантики 
32 
-
ЧДТУ. 231916.002 ПЗ 
елементів моделі. UМL, хоч і припускає цю інтерпретацію, є мовою з вільною 
типізацією. 
2.1.2 Елементи моделювання предметної області 
Моделювання відбувалось з використанням мови UМL, що була створена 
для ВІзуального моделювання складних та простих програм: їх структуру та 
функціонал. Для цього, UМL має велику кількість елементів, що полегшують 
процес моделювання. При побудові моделей з використанням UМL, 
використовуються основні три компоненти - об'єкти чи сутності, їх взаємодії та 
діаграми. 
Структурні об' єкти відображають реальні сутності та реч1, яю мають 
статичну поведінку. Їх приклади зображено на рисунок. 2.1. 
8c1assname клас відображає набір ідентичних речей, які 
окреслюють функціональні можливості та властивості 
об1єкта. 
8 Елемнет Use Case зображує набір дійІ які виконує 
система для досягнення мети. 
Найчастіше використовується у діаграмах варіантів 
використання. Це об1єц який взаємодіє з 
системою1 наприклад~ користувач. 
Actor 
Componen~ Компонент зображає фізичну частину 
системи 
Рисунок 2.1 Структурні об' єкти 
Поведінкові об'єкти зображують поведінку системи. Наприклад у діаграмі 
діяльності, поведінка системи описується за допомогою об'єктів, що зображено 
на рисунок. 2.2. 
33 
ЧДТУ. 231916.002 ПЗ 
• Початковий стан 
(І) Кінцевий стан 
[ Дія ] Назва діяльності 
~ Умова для виконання 
Рисунок 2.2 Об'єкти діаграми діяльності 
За необхідності елементи моделі можна згрупувати за допомогою об'єкту 
'пакет'(расkаgе). Існують також об'єкти для створення описів і коментарів на 
діаграмах(nоtе ). 
Важливою складовою моделі є взаємодії між сутностями. Вони описують 
як сутності повинні взаємодіяти між собою для коректної роботи системи, 
модель якої створюється. Типи взаємодій на діаграмах позначаються 
відношеннями(Рис. 2.3)[15] 
відношення асоціації 
----------------------·> відношення залежності 
------<> відношення агрегації 
8 відношення композиції 
Рисунок 2.3 - Приклади відношень між об' єктами 
34 
ЧДТУ. 231916.002 m 
2.1.3 Робоча область моделювання 
Для розробки якісної та корисної системи необхідно визначити всі вимоги 
до системи та виконувати моделювання згідно з ними. На рис. 2.4 зображено 
модель предметної області для програми, що розробляється. На ній відображено 
процеси, що вона має виконувати. Основний процес це перетворення 
зображення. Він складається з чотирьох інших процесів, що зображено на рис. 
3.5 та залежить від введених даних в інтерфейсі . 
Підсистема обDобки запитів Підсистема знаходження 
+ резуль тат1в 
Модуль Модуль модуль 
Файлова Модуль 
прийому f-+ обробки .... визначення 
система r-+ ~ ~ 
запитів вирішення 
запитів алгоритву 
.... виоішення 
І 
.. 
.. Користувацький інтерфейс Підсистема обробки вхідних даних 
Модуль 
Модуль Модуль прииняття 
побудови Модуль 
~ 
керування r вхідних даних \ 
пакету даних обробки ~ 
системою виведення 
вхідних..  даних оезvльтатів 
t 
Рисунок 2.4 - Модель предметної області 
2.2 Формування та аналіз вимог 
2.2.1 Формування вимог до програмного забезпечення. Первинні і детальні 
вимоги. Вимоги замовника і розробника. Функціональні та нефункціональні 
вимоги 
Вимоги інженерного процесу це чотириетапний процес, який включає: 
техніко-економічне обrрунтування, збір вимог, специфікація вимог до 
програмного забезпечення, мерев1рка вимог ДО програмного 
забезпечення.Посилаючись на інформацію, аналітики докладно вивчають, чи 
можлива розробка бажаної системи та її функціональних можливостей. 
Це техніко-економічне обгрунтування спрямоване на цілі організації. У 
цьому дослідженні аналізується, чи програмний продукт може бути практично 
35 
... 
--
ЧДТУ. 231916.002 ПЗ 
• • у • • 
матер1ал1зовании з точки зору реалізації, вкладу проекту в оргаюзацно, 
обмежень витрат і відповідно до цінностей і цілей організації. У ньому 
розглядаються технічні аспекти проекту та продукту, такі як зручюсть 
використання, ремонтопридатність, продуктивність та можливість інтеграції. 
Результатом цього етапу має стати звіт про техніко-економічне 
обrрунтування, який має містити адекватні коментарі та рекомендації для 
керівництва щодо того, чи слід здійснювати проект. 
Якщо техніко-економічне обrрунтування позитивно ставиться до 
виконання проекту, наступний етап починається зі збору вимог користувача. 
Аналітики та інженери спілкуються з клієнтом та кінцевими користувачами, щоб 
дізнатися їхні ідеї про те, що програмне забезпечення має надавати та які функції 
вони хочуть включити до програмного забезпечення [ 15]. 
На основі поставленої мети та постановки задачі на розробку, бу ли 
сформовані функціональні особливості системи поповнення бібліотечного 
фонду на основі теорії прийняття рішень: 
внесення великої кількості вхідних даних; 
наявність достатньої кількості полів для вхідних даних; 
- автоматичне доповнення матриці вхідними даними; 
візуалізація матричного вигляду даних для кращого сприймання; 
можливість зміни параметрів протягом всього алгоритму обрахунку в 
систем~; 
- можливість перерахунку на будь якому кроці роботи алгоритму будь 
якої її частини; 
- наявність методів перевірки вхідних даних на коректність; 
- наявність методу попередження про помилку. 
вивід результатів на кожному кроці роботі системи; 
наявність справки по суп алгоритма для кращого розуміння схеми 
роботи системи; 
вивід повного обсягу кінцевих змінних, результатів на екран. 
36 
.. 
ЧДТУ. 231916.002 ПЗ 
Формування вимог є надзвичайно важливим етапом проектування 
системи. Для того щоб проаналізувати всі необхідні та достатні вимоги потрібно 
скористатися методом побудови д~аграм прецеденпв, діяльності та 
послідовності, після аналізу яких можливо доповнити список необхідних вимог 
чи змінити існуючі. 
Перед доповненням вимог варто розділити та виділити основні вимоги по 
завданню та вимоги розробника. 
Вимоги до користувача 
1 отримання даних від експертів; 
2 коректне введення даних в систему; 
З аналіз вихідних даних; 
4 звернення до базі даних; 
5 · оцінка вихідного результату. 
Вимоги розробника 
1 форму.вання візуального інтерфейсу; 
2 контроль правильності введених користувачем даних; 
3 можливість виведення результатів обрахунків; 
4 генерація наборів даних необхідних для роботи системи; 
5 відображення кінцевих результатів в зрозумілому вигляді. 
2.2.2 Формування вимог за допомогою діаграми прецедентів 
Хто є користувачем системи? 
- користувачем системи виступає бібліотекар. 
Які типові сценарії використання системи. 
- заповнення матриць вхідними параметрами, доповнення їх системою; 
редагування значень та перерахунок; 
- зміна параметрів значень та оновлення полів вводу, обрахунок; 
перегляд результатів та прийняття рішення; 
огляд та стандартні операції з базою даних. 
Які цілі і задачі користувачів? 
- зміна параметрів; 
37 
-
ЧДТУ. 231916.002 ПЗ 
введення параметрів для формування початкових колекцій даних; 
контроль візуальної роботи системи ; 
коректна робота з системою. 
Подача 1апмrіе 
до Бд 
Рисунок 2.5 - Діаграма прецедентів функцій користувача 
Збереження 
даних 
База даних 
Рисунок 2.6 - Діаграма прецедентів функцій Бази даних 
Рисунок 2. 7 - Діаграма прецедентів функцій в системі 
3 огляду на розглянутий вище матер1ал можна сформувати д1аграму 
прецедентів для такої системи. 
Діаграма прецедентів системи представлена на рис.2.7. 
38 
ЧДТУ. 231916.002 ПЗ 
....- -..... ... 
Зборе:«е11нR 
\ даних 
,,,,------.. 
~Вщnравда дв1111х 
, ,к .о..р.1_ 1с: 1увачер, 
Д~НИх\..._- ?­ ,,,,,.-- --"' ,.,--- . -.,_.  
p!IUilltHR Обрахуноr. ' \.-.( Пере11рq 
ІІД eкcnepr,e / - л 
_pe_iyn_ьr_ar_ie , ) · \ peiynьrвry 
'-·-----
Кормсrу1ач 
Рисунок 2.8 - Діаграма прецедентів проекту 
Схема роботи систему складає такий алгоритм, що представлений на 
діаграмі, докладніше його можна представити в вигляді кроків роботи описаних 
в частині «Опис логічної схеми» . 
2.3 Проектування логічної структури програмного комплексу 
2.3.1 Діаграма класів 
Діаграма класів для бібліотеки - це візуальне представлення класів та їх 
залежностей у системі управління бібліотекою. Основні класи, які можуть бути 
представлені на діаграмі класів для бібліотеки, включають: 
Клас Book (Книга): цей клас містить властивості, які описують книгу, такі 
як назва, автор, рік видання, ISBN та інші характеристики. 
Клас Library (Бібліотека): цей клас відповідає за зберігання та управління 
книгами. Він містить методи для додавання, видалення та пошуку книг у системі . 
Клас Member (Член бібліотеки): цей клас містить інформацію про членів 
бібліотеки, таку як ім'я, адреса та номер телефону. Він також містить методи для 
видачі та повернення книг. 
Клас Librarian (Персонал): цей клас відповідає за управління системою 
управління бібліотекою та надання допомоги членам бібліотеки. Він містить 
методи для додавання та видалення книг, а також для надання допомоги членам 
бібліотеки. 
39 
ЧДТУ. 231916.002 ПЗ 
Rtedert rroooЬ_ m ldions 
rtadir_code lnt 
кtion code hl 
AO.char ЬоdІ_ ё ос1е nІ 
ac1oons ch.r 
~ 
♦ '11)\А() 
♦ ОІ.ІРІ,СQ ·· •~~)  
Ust 
ac1ion: char 
read•:irt 
IЬrtrystiil 
➔ Ьook_cod!:ii\ ,....._ 
Ьadcid.cha Вooks .Alлhors 
aclion_ d ale·dalt 
Ьооk code '11 ilJ\hol code ,nt 
♦ irf,ul{) 11ft c"i.r ~otNЇ 
•ОфІ!() a.crorctw brthdaydllt 
11sit11_ clll1.dalt 
gtnrl'IIIC LГ • r,pu() 
і p,Ьl6hng_d aet dalt •см~мО 
~!hrq_co~.d\Jr 
tttoons cha-
~ 
LiЬfel'flU 
♦ r,pu() 
llnrysl_codl: 1rt • culU() 
FD:tla 
actions.char 
Genres 
·~~) 
+ЦІU() PuЬlilhing genre_code:1n1 
genrt:cha-
compeny. chll - op4ion.chal 
ІOwn.char 
nоьа d,11 • іnр.,ІО 
• outpu() 
··•~~)  
Рисунок 2.9 - Діаграма класів 
2.3 .2 Діаграма пакетів 
У моделі UМL кожен клас може включатись лише в один пакет. Пакети 
можуть також входити до інших пакетів, тому ми залишаємося в ієрархічній 
структурі, в якій пакети верхнього рівня розпадаються на підпакети зі своїми 
власними підпакетами, і так далі, до самого низу ієрархії класів. Пакет може 
містити підпакети, і класи. 
Якщо створити діаграму пакетів для бібліотеки, можна використовувати 
таку структуру: 
Пакет "Бібліотека" - основний пакет, який містить усі інші пакети та класи. 
Пакет "Книги" містить класи, пов'язані з управлінням каталогом 
бібліотеки, такі як книги, автори, видавництва, ISBN номери і т.д. 
Пакет "Студенти" містить класи, пов'язані з управлінням читачами 
бібліотеки, такі як реєстрація читачів, видача книг, штрафи і т.д. 
40 
ЧДТУ . 231916.002 ПЗ 
Па· кет 
11 ВУЗ11 
- м~• стить класи, пов'язані з управлінням адміністративними 
завданнями бібліотеки, такі як додавання та видалення книг, управлшня 
реєстрацією читачів, управління базою даних тощо. 
Студенти 
Книги 
Бібліотека 
Рисунок 2.1О  - Діаграма пакетів 
2.4 Архітектурне проектування 
2.4.1 Діаграма компонентів 
Архітектура програмного забезпечення (ПЗ) - це множина основних 
проектних рішень про ПЗ [14]. Архітектура ПЗ є планом розробки майбутнього 
програмного рішення, а також основою для подальшого життєвого циклу ПЗ. 
у цій діаграмі компонентів показано основні компоненти бібліотеки: 
каталоги книг, журналів, а також облікові записи. Кожен компонент може мати 
свої методи та атрибути, яю необхідні для реалізації відповідної 
41 
--
ЧДТУ. 231916.002 ПЗ 
функціональності. Наприклад, каталог книг може містити методи для додавання 
нової книги, видалення книги, пошуку книги за автором або назвою, а каталог 
аудіокниг може мати методи для відтворення аудіокниги та налаштування 
параметрів звуку. Облікові записи можуть містити методи реєстрації нових 
користувач1в, автентифікації користувачів та управління правами доступу до 
каталогш. 
ВУЗ 
туденти 
- АдМІн.k'Тратор 
Система 
Рисунок 2.11 - Діаграма компонентів 
2.4.2 Розгортання програмної системи на апаратних засобах . Діаграма 
розгортання 
Оскільки створювана система не є мережевою, для роботи системи 
потрібно лише персональ~ий комп'ютер для виводу результатів роботи системи 
рис.2.12. 
42 
-
ЧДТУ. 231916.002 ПЗ 
Інтерфейс адміністратора 
Система наповнення 
книжкового фонду 
бібліотеки 
Рисунок 2.12.- Діаграма розгортання апаратних засобів системи 
.2. 5 Моделювання поведінки системи 
2.5.1 Діаграма діяльності 
Графічно діаграма діяльності представляється у формі графа діяльності, 
вершинами якого є стан дії, а дугами - переходи від одного стану дії до іншого. 
У контексті мови ~ діяльність (activity) є деякою сукупністю окремих 
обчислень, що виконуються автоматом. Стан дії (a ction state) є спеціальним 
випадком стану з деякою вхідною дією і принаймні одним переходом, що 
ВИХОДИТЬ 31 стану. 
На даній діаграмі зображені різні діяльності, які можуть відбуватися у 
бібліотеці. 
Кожна діяльність представлена у вигляд~ прямокутника з назвою 
діяльності усередині. Зв'язки між діяльностями позначені стрілками. Круглі 
форми позначають початок та кінець процесу . 
Така діаграма може допомогти візуалізувати процеси, що відбуваються в 
бібліотеці, та оптимізувати їх для покращення роботи бібліотеки та задоволення 
потреб корисrувачів [16]. 
Діаграма діяльності показує алгоритм роботи програми: 
43 
ЧДТУ. 231916.002 ПЗ 
1 вщкриття системи. 
2 перевірка відкриття системи. 
з внесення даних по книгам. 
4 перевірка валідности даних. 
5 виведення результатів. 
6 виведення результатів на екран. 
Рисунок 2.13 . - Діаграма діяльності 
2.5.2 Діаграма послідовності 
На діаграмі послідовності зображуються тшьки п об'єкти, що 
безпосередньо беруть участь у взаємодії і не показуються можливі статичні 
асоціації з іншими об'єктами. Діаграма послідовності має два виміри. Одне_ у 
виді вертикальних ліній, кожна з яких зображує лінію життя окремого об'єкта, 
що приймає участь у взаємодії. Графічно кожен об'єкт зображується 
прямокутником і розташовується у верхній частині своєї лінії життя. 
По темі бакалаврської розроблено таку діаграму послідовності. Після 
запуску програми, користувачу необхідно запустити систему і побачити що 
44 
ЧДТУ. 231916.002 ПЗ 
система запущена. Далі адміністратор вносить дані яю перевіряються на 
валідність і дані передаються в базу даних. в базі даних іде обробка і визначення 
фонду бібліотеки і після уьоrо результат передається в інтерфейс який бачить 
адміністратор. 
І ,6дt.ін~тратор Система Бд 
' 
Переs~І<3 на в;w,~ість 
1---fі>редача даних-~ 
Емзначення фоІ'Д)' 
п < .......р.е.з.у.в...та.т. ....... .. . 
l_k. ....м.о.· •··=·"··'·· '·'·"·"-·'"··r·y·· ··· 
Рисунок 2.14 - Діаграма послідовності «Внесення даних» 
2.5.3 Діаграма комунікації 
Графічною нотаціє~ для представлення діаграм комунікації є кадр у формі 
прямокутника. У контексті комунікації лінією життя називають окремого 
учасника взаємодії, яким зазвичай є екземпляр класу. Зображуються у формі 
прямокутника. З'єднувач ( connector) - ставлення, що забезпечує взаємозв'язок чи 
комунікацію між двома чи більше екземплярами класифікаторів [ 16]. 
На діаграмі комунікації представлений зв'язок обміну інформацією між 
трьома об' єктами: користувач, система та БД. Користувач комуні кує з системою, 
з системи дані передадаються до БД.Дані в БД передаються в систему. 
Користувач отримує ці дані з інтерфейсу. 
На рисунку наведено приклад діаграми комунікації. 
L 45 
р 
ЧДТУ. 231916.002 ПЗ 
Внесен ня даних З ап ис в БД 
..,.,... . 
-,,,, 
Користувач ~Отримання резул~.тату Система ~виведення оорооки БД 
" ..__ 
Рисунок 2.15 - Діаграма комунікації 
2.5.4 Діаграма скінченного автомату 
Діаграми скінчених автоматів (англ. state machine) використовуються для 
опису поведінки, що реалізується в рамках варіанта використання, або поведінки 
екземпляра сутності (класу, об'єкта, компонента, вузла або системи в цілому). 
При розробці діаграм автоматів слід дотримуватись наступних правил та 
рекомендацій. 
По темі кваліфікаційної роботи була сформована д1аграма сюнечних 
автоматів, яка показую стани внесення даних в систему, зберігання і обробку в 
БД і виведення на екран. 
S1v• detes 
Іnlerface 
BD 
user 
~tputdates 
lnterface 
Result 
Рисунок 2.16 - Діаграма скінчених автоматів 
Висновки до другого розділу: Для опису всіх процесів, що відбувалися 
під час розробки додатку, використовувалася уніфікована мова моделювання 
(UМL ), яка розділяється на поведінкові та структурні діаграми. 
Типи діаграм можуть бути використані як для моделювання бізнес-
процесів, так і для проектування архітектури. 
46 
ЧДТУ. 231916.002 ПЗ 
За допомогою зворотного проектування можна створювати моделі UМL, 
використовуючи існуючий програмний код. 
У рамках бакалаврської роботи було створено кілька діаграм, зокрема 
діаграми розгортання, комунікації, діяльності, компонентів, пакетів, класів, 
послідовностей та прецедентів. 
47 
ЧДТУ._31916.00_ ПЗ 
3 РОЗРОБКА ТА ТЕСТУВАННЯ ПРОГРАt\tlНОГО ЗАБЕЗПЕЧЕННЯ 
3.1 Розробка програмного компле~су. 
3.1.1 Обгр ;нтування внбору засобів реалізації. 
Для розробкн снстеl\ш було обрано та.ке середовище розробки як i\lficгosoft 
\Tisual Studio ' (рнс.3.-). 
тм 
Visual Studio, 
Рисунок З .1 - Microsoft Visual -Studio 2012 
Вибір падає саме на цю платформу з причини її популярності серед 
розробників, що працюють з додатками для операційної системи Windows®, та 
її mучкості, великої функціональності та широких можливостей. Які вона надає 
розробки при створенні власного коду та об'єь.-тів. 
Пропоновані Мicrosoft інструменти розробки дозволяють реалізовувати всі 
можливості платформи Windows® в чудових р1шеннях, створених 1з 
застосуванням наявних навичок і вже знайомих і улюблених технологій. У 
Мicrosoft. Visual Studio знайти інструменти і шаблони, за допомогою яких 
можливо створювати додатки з привабливиІ\•t інтерфейсом і реалізовувати 
розширену функціональність, охоплюючи всі використовувані користувачами 
пристрою. Microsoft Visual Studio визначає новий стандарт •інструментів 
розробки, допомагаючи індивідуальним розробникам і групами розробки будь­
якого розміру створювати чудові рішення, які будуть вигідно виділяти їх 
за~,ювників серед конкурентів (14]. 
Інтегрований інструментарій Microsoft Visual Studio, її можливості 
проектування і тестування дозволяють розробникам з легюстю створювати 
48 
-
ЧДТУ. 231916.002 ПЗ 
рішення високої якості. Взаємодія ефективний обмін інформацією є 
фундаментальними аспектами будь-якого проекту по розробці ПЗ (рис.3.2). 
р - 19 х 
fCWl'tl6t1 І«.. .n f)"W,c,1 " к 
lk-"'.J ", .,,,..~" р , 
, ~н,,.,..,. , 
°""'' • - \: 1/ .. ',t:. -. ~ 'о • ;1 (~ (f, •~ І <> J, І;) 
• Іа tt'P"""' \'lf..d"'°" f 
, • • •• , -, .. , , . ~.,_,, , .• , 1 • Р-
\ )'1.1U1Ll'II> 
r 0 
1•<1?'~,'itnrt с;) р_.,_. -у/.,..~~с1Іо0'\J U,1• 
'8 '""J,t11Nмittot • ~ W'.....S~••'-"1 
1'1  ~ ,~, • J,, P, ~ ~ 
• • • l\tlfff n(f 'i 
&І а.,а,. . ;) ,.,,.с~'·• 
12) , ,... ... • ~ ,,,mІн 
ІЕ ( NUtl!lY.ZI°' t і.) foи9\L ()c)•gtttt <i 
(1j С• о,0,•'<9 
11 Co,ntc~ 
JD C...,_oU.IO""~IP 
11 o.,.,.c;..rr-
fii o,u;.. 
\!І о.,,,.,..,.,ІС.\t• 
m :!!f• jlH' I" 
OwtnO'){t'ІU')' 
~N1ct~Lf/OIA f , liC' 
р ~rt~.,<NI ~ o"kOf' 
І] .,._.,,о._ 5,}\owi,,\f• U-~ '"" 
0 Ім~ІJ,, Ш !..ІС ')"1"7: Ш 
І!] lv""'-'9 Sl.1~$1)'1 ""'' 
c;J Гik~.тW.cctwt k ,rtP•~" с-1 .. ,ю,.... 
І0 lio.,.\t)W\PVІ~ •..•.•.  .... ,.,..с 
~ fo'6tf"""1t1('<.f lof ..,~. , ..' °" ,., .. 
;а fOtІІD-ttot 
о ......... , 
ff!tC, ( ..,,._. ... ( )мut.~W .~~U 
Рисунок З .2 - Середовище розробки Microsoft Visual Studio. 
Сучасне ПЗ повинно розглядатися як «живий» ресурс, життєвий цикл 
якого охоплює дії, що представляють весь життєвий шлях продукту в цілому, 
починаючи від визначення бізнес-вимог, включаючи розробку, тестування, 
розгортання, супровід і обслуговування, аж до остаточного виведення додатки з 
... . . 
експлуатац11 . Таким чином, використовуваний набір 1нструменпв для 
управшння життєвим циклом програми повинен забезпечувати розробку, 
тестування та розгортання програми, а також бути достатньо .-гt1учким для 
обробки відгуків від експлуатаційного персоналу та відповідного реагування на 
них. У ході експлуатації будуть виявлені дефекти. Набір інструментів повинен 
забезпечувати засоби для реєстрації проблем, щоб група розробки могла усунути 
їх і надати експлуатаційного персоналу всі відомості, необхідні для розгортання 
виправлень. 
Середовище Microsoft Visual Studio являє собою інтегровану оболонку 
розробника, в яку входить набір спеціальних програм, відповідальних за різні 
етапи створення готового додатку. 
49 
---
ЧДТУ. 231916.002 ПЗ 
Вихідний текст програми готується в середовищі Microsoft Visllal Stшlio з 
допомогою вбу до ван ого редактора вихщних текспв. Цей редактор 
спеціалізований. Він відрізняється гнучкими можливостями колірного виділення 
різних елементів тексту програми (ключові слова, назви, операцій, чисел рядків) 
і надає можливість швидкого введення часто зустрічаються конструкцій. 
Ліва панель редактора являє собою Провідник дозволяє швидко 
переміщатися між частинами тексту і по структурі створюваної програми. 
Найважливіша характеристика розроблюваної програми - її зручність для 
користувача інтерфейсу, наявність і доступність необхідних елементш 
управління(рис.3.3). В системі Microsoft Visual Studio є спеціальний 
проектувальник форм, за допомогою якого вікна майбутньої програми готуються 
у вигляді форм. Проектувальник дозволяє підібрати оптимальні розміри вікон, 
розмістити і налаштувати різні елементи управління і меню, додати готов~ 
зображення, вказати заголовки, підказки, написи і так далі (рис.З.З) . 
р - tl • 
tt4,1 \1- • o,w.-a D\C. ~·n-  r,o•c-т,oQ_" -o•r~ -Q)lr,U,,I"-" ~ CV'D'C.  rпт upcm.~т.a .uu.r..•J ou.::, cr,a.,v. . \VfW&tl ' . 
· o • • l/! • Qllol' . • ..,,.• . ,....,, . ... , :,. 
; <)~ " і !• . 
о І ~ 'І. І ~ •~.,._._.,~ f-' ·1'1 ~~~~~.~- _ • 
., ~ n.w.-,.,._ .,.н.t • \.• fi.C' ._.\f- w =, .: • ...,,_~ t1. • ♦ • • + С...'І.с.•,..,~• •• r ..- ....i - , .. 11.; Р • 
1 
• 8 . ..... - -.1 • U}.1; ,, ' ' =~:; ::::;: :::: f~ =-- ::~~:;), І~ . ... '~~ • ;, , _ ~ ......,-~,._,- 1. ... 
► І с...,_. fl t o~ r t ~ l t • R • • , ,. .. ~..-.., 
,.... а, н.•1'.с -..i. •ІЬf\о,о8І ' ,, ,..,..,. 
f'dlllc Іttt lc ......~ () 6at8f • ~ -..J, [ t ]J . . . .... ..-.-с:. 
.,_,.НІ 1tt t lc .....І • ttUІ J),.,."'"' .. 
~"ІНС н·t\Н ....1 , 0.WJ ,І QI J~.C I 
t u f-1.0-,- <• 
""1)Нс H-L• l'\!.""V""1"t ~tL•-•, •· .,u., tt•t.м•.-· t ;"t \ 1. ..1 .."- 1 u,-.i~ 
( 
"' . ,..... ... ... 
( 11 1,-•,.1'.otlJ(t" t_N•. - •" '' ) • • 11 •-»•••••. ........, _..,__ .,-), І) ... " ... 
І .-а.м...'(~ .. , .,,. 1,. , ..t • , ·о. ., , ,.,.,, ,.,1, , • , .......... , ,н.ч.ОІQ1 
) 
, 111 
t ..,.. .. i. .-.а .... ,s ,,..•-t. 1••·•••нun_..,...~. t••·t t1 
ltмi . ..... . t , .:t • И 1,, .,..,..,. t•jt re." )", 1r.,..,.•t .1tlitr l,i,8(1 І .-•1• ))11 
) 
c, t c.• 
( ---~ ·• .... м ,, , .. t ·, •0w,,.- _,,..-н,1·, lliliii.QJ'lt~,.,,,• .OІ:) 1 
І 
,...11.r •.tlt ( t l t vl , t • (.....,l t (,J ,01-tLІ l•t 
( 
Рисунок З.З - Пошук в коді Microsoft Visual Studio 
Microsoft Visual Studio включає в себе бібліотеки компонентів VCL, з 
к . .. 61.б л~'отеки компонентів для Windows АРІ. 
ращою В1зуально1 
н . тування форм програма складається з готових компонентів 
а еташ проек 
- · можна додавати до неї за допомогою всього 
частин машинного коду, яю 
50 
ЧДТУ. 231916.002 ПЗ 
декількох клацань миші. Комnонен, 
rи розташовуються на панелі компоненпв, 
розділеної на кілька самостійних т .. 
ематичних роздшш. 
ПJtlt/11, )/ltMCtІТOU • ? х 
ПоL•1 ск по nанели ,лементое 
" Все формьt Windows Forms ... 
~ УІ(ІІ3ІТІ!ЛЬ 
if BackgroundWorker 
.;• BindingNavigator 
і' BindingSource 
GВ Button 
ІіІ CneckBox 
І: CheclcedlistBox 
~ ColorDialog 
m ComboBox 
!1 ContextMenuStrip 
11 D1t1GridView 
іі Dt1tt1Set 
'ІіІ DateT imePicker 
Е1 DirectoryEntry 
р DirectorySearcher 
□ Domt1inUpDown 
о ErrorProvider 
m Eventlog 
~ FileSystemWt1tcher 
l:fj Flowl1youtPc1nel 
r;:] FolderBrowserDialog 
CD FontDialog 
і:] GroupBox 
~1 c 1 uчtt,,, 1, ДJ . OtJo,pLGJTUl Панель ,лем ... 
Рисунок З .4 - Панель елементів 
Microsoft Visual Studio дозволяє розробникам налаштувати середовище для 
максимальної зручності. Ви можете легко змінити палітру компонент, 
ІНструментальну лінійку, а також налаштовувати ви~ілення синтаксису 
кольором. 
Зауважимо, що в Microsoft Visual Studio ви можете визначити свою групу 
компонент та розмістити її на сторінці палітри, а якщо виникне необхідність, 
перегрупувати компоненти або видалити невикористовувані [ 14]. 
Компоненти володіють набором властивостей, що характеризують їх 
відмінні особливості. Деякі властивості є практично у всіх компонентів - такого, 
51 
ЧДТУ. 231916.002 ПЗ 
наТТР иклад ' властивості Nam е (І м ,я  ) . Інші властивості, наприклад т ext 
(Заголовок), є У більшості компонентів - адже заголовок необхідний і для вікна, 
і для кнопки. Деякі властивості унікальні для конкретних компонентів, 
наприклад властив~сть StartPisition ,що містить текст для компонентів Рядок 
стану. 
Властивості компонентів у процесі проектування форми настроюються за 
допомогою Інспектора об'єктів. Це спеціальна програма, яка відображає список 
всіх властивостей цього компонента, відсортованих за категоріями або в 
алфавітному порядку. 
Значення властивості можна змінити, ввівши у відповідне поле Інспектора 
об'єктів новий рядок або вибравши потрібне значення в розкривному списку 
доступних значень. Деякі властивості містять вкладені · підвластивості, 
наприклад, властивість Font (Шрифт) характеризується розмірів, стилем, 
кольором, гарнітурою. Такі властивості зручніше редагувати за допомогою 
спеціальних редакторів, як стандартні (шрифт), так і спеціально розроблених для 
конкретного компонента. 
Крім властивостей, компоненти містять методи - програмний код, який 
обробляє значення властивостей (наприклад, встановлює перемикач в потрібне 
положення), а також подііf....:... повідомлення, які компонент· приймає від додатка, 
якщо під час роботи програми виконується певна дія ( наприклад, змінюється 
стан прапорця). Програміст може самостійно формувати реакції програми на 
будь-які події кожного компонента. 
Правильно підбираючи компоненти налаштовуючи їх спільну роботу 
'-', t • 
шляхом використання властивостеи, призначених для зв язку компоненпв один 
з одним, нерідко вдається створити додаток, не написавши вручну жодного рядка 
вихідного тексту. в системі Microsoft Visual Studio існують сотні готових 
компонентів, і при вирішенні багатьох завдань буває корисно попередньо 
пошукати потрібний . компонент (наприклад, в" Інтернеті), • замість того, що б 
виконувати роботу по програмуванню, можливо, вже зроблену іншими людьми. 
52 
ЧДТУ. 231916.002 ПЗ 
Компонентний підхід до створення програм дозволяє повторно використовувати 
готові розробки і в багатьох випадках значно підвищувати ефективність праці. 
За допомогою системи Microsoft Visual Studio можна створювати не тільки 
звичайні програми (ЕХЕ-файли), але і динамічно підключаються бібліотек DLL 
(своєрідні сховища коду і ресурсів), нові елементи управління , а також 
компоненти, що відповідають вимогам різних стандартів на компонентю 
... 
технологн. 
Потреба в ручному програмуванні виникає, лише коли обійтися готовими 
компонентами не вдається. 
Мовою для створення було обрано С#, осюльки середовище Microsoft 
Visual Studio прекрасно створене для роботи на цій мові [8] . 
С#, C-sharp, сі-шарп - мова програмування, що поєднує об'єктно­
орієнтовані і аспектно-орієнтовані концепції. Розроблений в 1998-2001 роках 
групою інженерів під керівництвом Андерса Хейлсберга в компанії Microsoft як 
основний мова розробки додатків для платформи Microsoft .NET. Компілятор С# 
входить в стандартну установку .NET, тому програми на ньому можна 
створювати і компілювати навіть без інструментальних засобів кшталт Visual 
Studio. 
С# відноситься до сім'ї мов з С-подібним синтаксисом, з них синтаксис 
найбільш близький до С++ і Java. Мова має строгу статичну типізацію, підтримує 
поліморфізм, -перевантаження операторів, покажчики· на функції-члени класів, 
атрибути, події, властивості, виключення, коментарі у форматі Х№.,. 
Перейнявши багато чого від своїх попередників- мов С++, Java, Delphi, Моду ла 
і Smalltalk - С#, спираючись на практику їх використання, виключає деякі 
моделі, що зарекомендували себе як проблематичні при розробці програмних 
систем: так, С# не підтримує множинне успадкування класів (на відміну від 
С++). 
С# є об'єктно-орієнтованою мовою, але підтримує також і компонентно-
орієнтоване програмування. Розробка сучасних додатків все більше тяжіє до 
створення програмних компонентів у формі автономних і самоописательнь1х 
53 
... 
ЧДТУ.231916.002 ПЗ 
пакетів, що реалізують окремі функціональні можливості. Важлива особливість 
таких компонентів - це модель програмування на основі властивостей, методів 
1•  подій. Кожен компонент має атр б · · · · 
и ути, яю надають декларативю вщомост1 про 
компоненті, а також вбудовані елементи документації. С# надає мовні 
конструкції, які безпосередньо підтримують таку концепцію роботи. Завдяки 
цьому С# відмінно шдходить для створення та застосування програмних 
компоненпв. 
Ось лише декілька функцій мови С#, забезпечують надійність і стійкість 
додатків: збірка сміття автоматично звільняє пам'ять, зайняту знищеними 1 
невикористовуваними об'єктами; обробка винятків дає структурований 
розпmрюваний спосіб виявляти і обробляти помилки; сувора типізація мови не 
дозволяє звертатися до неініціалізованим змінним, виходити за меж.і масиву або 
виконувати неконтрольоване приведення типів. 
В С# існує єдина система- типів. Всі типи С#, включаючи типи-примітиви, 
такі як int і double, успадковують від одного кореневого типу object. Таким 
чином, всі типи використовують загальний набір операцій, і значення будь-якого 
типу можна зберігати, передавати і обробляти схожим чином. Крім того, С# 
підтримує користувальницькі посилальні типи і типи значень, дозволяючи як 
динамічно виділяти пам'ять для об'єктів, так і зберігати спрощені структури в 
стеку. 
Щоб забезпечити сум1сюсть програм і бібліотек С# при подальшому 
розвитку, при розробці С# багато уваги було приділено управління версіями. 
Багато мов програмування обходять увагою це питання, і в результаті програми 
на цих мовах ламаються частіше, ніж хотілося б, при виході нових версій 
залежних бібліотек. Питання управління версіями істотно вплинули на такі 
аспекти розробки С#, як роздільні модифікатори virtual і override, правила 
вирішення перевантаження метод1в і підтримка явного оголошення членів 
інтерфейсу. 
Для першого знайомства з мовою програмування традиційно 
використовується програма "Hello, World". Ось її приклад на С# (рис.3 .5). : 
54 
► 
ЧДТУ. 231916.002 ПЗ 
~ Коnиr,оєать 
us1ng .System; 
clas s Hello 
st at i c void Main() 
{ 
Console. l~riteli ne( "Hello, ~.'or l d" ). 
} , 
} 
Рисунок З .5 - Представлення С# 
Вихідні дані програми створюються в методі WriteLine класу Console з 
простору імен System. Цей клас надається бібліотеками стандартних клас1в, 
посилання на які компілятор за замовчуванням додає автоматично. 
Було вирішено використовувати ітеративну модель життєвого циклу 
програмного забезпечення. Оскільки ітеративні моделі припускають розбиття 
створюваної системи на набір частин, які розробляються з допомогою кількох 
послідовних проходів усіх робіт чи їх частини. 
Каскадна модель [9] з можливістю повернення на попередній крок при 
необхідності переглянути його результати, стає ітеративної. 
Ітеративний процес передбачає, що різні види діяльності не намертво прив'язані 
до певних етаmв розробки, а виконуються по мірі необхідності, іноді 
повторюються, до тих пір, поки не буде отримано потрібний результат. 
Разом з гнучкістю і можливістю швидко реагувати на зміни, повторне моделі 
привносять додаткові складності управління проектом і відстеження його 
перебігу. При використанні ітеративного підходу значно складніше стає 
адекватно оцінити поточний стан проекту та спланувати довгостроковий 
розвиток подій, а також передбачити терміни і ресурси, необхідні для 
забезпечення певної якості результату. 
3 _1 _ 2 Опис структурної ( функціональноі) схеми 
Інформаційна система являє собою набір деяких структурних компонентів, 
=ат,- 1• , ргу , виконують певні дії чи несуть конкретний функціонал. 
кожен в свою че 
Кожна з частин має свою характеристику та призначення, має вузьку 
55 
ЧДТУ. 231916.002 ПЗ 
спеціалізацію. І робота всюс компонентів, залежно вщ потреби та ситуац11 , 
складає роботу всієї інформаційної системи. 
Система включає в себе компоненти користувацького інтерфейсу, який 
надає можлив~сть користувачеві задавати параметри, що потрібні для 
обрахунків, та керувати діями самої системи за допомогою пристроїв вводу 
комп 'ютера: 
- введення користувацьких параметрів; 
- керування системою; 
. . . 
в1зуашзац~я вирахувань; 
- спосіб спілкування користувача з системою. 
Компонент формування матриць коофіцієнтів значимості являє собою 
набір методів, що відповідальні за збір даних з полів .корис,увацького інтерфейсу 
та конвертування їх в потрібні типи даний і передає направлення в метод 
доповнення корис,увацьких даних, наслідком якого запускається метод 
обрахунку потрібних нам даних, який в свою чергу беручи шаблон , відповідно 
до кроку обрахунку, використовуючи отримані дані формує деякі початкові дані 
та здійснює загальний обрахунок. 
Сформовані набори даних скеровуються без участі користувача фоново до 
модулю обрахунку, який відповідає за розрахунок сформованих завдань та 
надання результатів в наступний компонент до компоненту роботи з виводом 
завдань. Існують окремі методи для розрахунку кожного типу 0брахунку по 
формулах методу аналізу ієрархій. Це необхідно для можливості виведення 
результатів сформованих· · завдань на · -моютор; який · буде використаний в 
подальшому в якості джерела інформації [9]. 
в ході реалізації функціонал відносно авторизації визнано недоцільним, 
хоча він був передбачений в ході проектування. Такий крок було зроблено 
виявивши незначну значущість такого функціоналу, оскільки користувачем 
системи передбачається бібліотекар, то доступ до його систем управління 
стороннім виключено. 
56 
ЧДТУ. 231916.002 ПЗ 
Початковим етапом стає завантаження даних з полей введення для 
отримання необхідного набору даних для обчислень. По заповненню полей 
даними автоматично відбувається доповнення користувацьких даних 
автоl\•tатично для прискорення обрахунку, не обтяжуючи користувача. Натупним 
кроком є формування збірки початкових даних з заповнених полей, обрахунок 
по формулам Методу аналізу ієрархій та виведення отриманих результатів в 
відповідні поля, котрі в свою черrу слугують контейнерами для збереження 
даних. Що буд уть використані в подальших обрахунках. 
Виконавши цикл роботи можлива подальша робота з інтерфейсом 
користувача, подальші обрахунки. Котрі неможливі, чи скоріше не мають сенсу, 
без виконання попередніх(рис.3 .6). 
.. . . . . . 
Компонент збору даю-1х ,\  Коrv1 понент обрахунку f 
-~ ' J 
1 
Компонент виводу ~ Компонент БД 
Рисунок З.6- Опис структурної схеми інформаційної системи 
З.І .З Опис логічної схеми системи 
Логічну схему роботи системи можна представити наступним алгоритмом 
(рис.3.8): 
1 истувачем коофіцієнтів в першу матрицю, що вказують на введення кор 
вазливість параметрів один відносно одного. 
57 
ЧДТУ. 231916.002 ПЗ 
2 доповнення матриці первинними даними, шляхом обрахунку їх на 
основ~ введених користувачем даних. 
з формування набору необхидніх даних, передача їх до методу 
обрахунку. 
4 обрахунок единоголосност1· думо1с користувач.ш  ( експерп.в  ) . що 
оснований на тому наб ор1·  даних, якии~  вони подали на ВХІ·Д . 
5 виведення результатів в конкретні поля. 
б огляд користувачем результатів : 
якщо результат позитивний - перехід на наступний крок; 
якщо результат негативний - переглянути думки· експертів 1 
почати з кроку № 1. 
7 введення користув-ачем коофіцієнтів в· другу матрицю, що вказують на 
важливість альтернатив по параметру № 1 один відносно одного. 
8 формування початкового набору даних для обчислення. 
9 обчислення коофіцієнтів та виведення в відповідні поля. 
1О  введення користувачем коофіцієнтів в другу матрицю, що вказують на 
важливість альтернатив по параметру №2 один відносно одного. 
11 формування початкового набору даних для обчислення. 
12 обчислення коофіцієнтів та виведення в відповідні поля. , 
1З  введення користувачем коофіцієнтів в другу матрицю, що вказують на 
важливість альтернатив по параметру №3 один -відносно одного. 
14 формування початкового набору даних для обчислення. 
15 обчислення коофіцієнтів та виведення в відповідні поля . 
16 введення користувачем коофіцієнтів в другу матрицю, що вказують на 
важливість альтернатив по параметру №4 один відносно одного. 
17 формування початкового набору даних для обчислення. 
. . . 
18 обчислення коофіцієнтів та виведення в вІДповщю поля. 
19 введення користувачем коофіцієнтів в другу матрицю, що вказують на 
· альтернатив по параметру №5 один відносно одного. 
важлив1сть 
58 
ЧДТУ. 231916.002 ПЗ 
20 введення користувачем коофіцієнтів в другу матрицю, що вказують на 
важлив1сть альтернатив по параметру №6 один відносно одного . 
21 формування початкового набору даних для обчислення. 
22 обчислення коофіцієнтів та виведення в відповідні поля. 
23 введення користувачем коофіцієнтів в другу матрицю, що вказують на 
важливість альтернатив по параметру №7 один відносно одного. 
24 формування початкового набору даних для обчислення . 
25 обчислення коофіцієнтів та виведення в відповідні поля. 
26 натиснення кнопки «обрахувати» на панелі «результати». 
27 формування початкового набору даних: отримання даних з пошв 
результатів обрахувань з матриць №1"№7. 
28 обрахунок кінцевих даних та виведення в відповідні поля. 
Незалежним алгоритмом можна вважати роботу з бібліотечною базою 
даних, інтегрованою в систему для обрахунків. Робота їі основана на можливості 
перегляду та правки бази даних. 
Форм}'8аНІ<я набору дан11х. 
Обрахунок ra 111аеденн• 
ФорІ"уаання набору даних. 
Формування набору данкх. ОбрахунОІ( ТІ 114ИД8ННJІ 
Обрахунок та 1н■еденн• 
Форм}'8анн• набору дан,,х. 
Фор,,,уа.нн• набору д1н1ІХ. , Обрахунок та е11в•дення ; 
Виввденн• 
Обр1хунок та ІИІ8ДІННJІ 
peiynьraтy 
End 
р з . 7 - опис логічної схеми інформаційної системи исунок 
Алг б истеми може виконуватися необмежену кількість разів. оритм ро оти с 
59 
ЧДТУ. 231916.002 ПЗ 
3.1.4 Розробка бази даних 
Необхідно розробити БДб'Іб л ю· теки, що МІ·с тить деякі відомост1· , про книги, 
клієнтів, які їх читають (читачів) 6'6 · · . 
, 1 лютекарш та списки видач1\прийому книг. 
Організувати постійні зв'язк · 6 . . . 
и МІЖ, та лицями для забезпечення цш1сност1 
своєї БД при: 
- зміні записів; 
- додаванні записів· 
' 
- видаленні записів. 
Переконатися, що: 
- дані, внесені в таблиці, несуперечливі; 
система підтримки ц~шсності БД функціонує. Для цього 
спробувати змінити, увести та вилучити дані в ' таблицях з 
порушенням правил підтримки цілісності БД. 
- виконати вимоги до бд, які б дозволяли продемонструвати: 
запит «Книги», який дозволяє продемонструвати вс1 книги з 
повною інформацією по них. 
запит «Списки», для перегляду даних про списки видачі\прийому; 
книги мають характеризуватися як по назв~ так I по жанру, автору, 
видавництву, датах прийому. 
БД вміщує дані про колекцію книг бібліотеки, їх повну характеристику по 
параметрах; дані по бібліотекарях; дані тт.о читачах; дані по списках видачі \ 
прийому книг. 
Розробка БД 
Розроблена БД складається з: 
Восьми таблиць - «Books», «Authors», «Genres», «Readers», «LibreI-ysts», 
«List», «Publishing», «books_ m actions». 
Двох запитів~ «BooksRealList», «ListOut». 
Структура таблиць 
Створена БД даних·складається з таблиць: 
- Books. 
- Authors. 
- Genres. 
60 
, 
ЧДТУ. 231916.002 ПЗ 
- Readers. 
- Libreгysts. 
- Publishing. 
- books_mactions. 
- List 
Таблиця 3.1 
Таблиця «Books» 
Ім'я поля Тип даних Формат поля 
Book_code Лічильник Довге ціле 
Title Текстовий 15 
Author Дата/час Короткий формат дати 
Insert date Числовий Довге ціле 
Genre Числовий Довге ціле 
Publishing_ date Дата/час Короткий формат дати 
Publishing_c ompany Числовий Довге ціле 
Actions Числовий Довге ціле 
В таблиці знаходиться інформація про код книги, її назву, автора, дату 
занесення в базу даних, її жанр, дату публікації, видавництво, та видачі, в яких її 
видавали (див табл.З.І). Всі поля, окрім book_code, доступні для вводу. 
Таблиця 3.2 
Таблиця «List» 
Імя поля Тип даних Розмір поля 
Action Числовий Довге ціле 
Reader ... Числовий Довге· ціле 
Libraryst Числовий Довге ціле 
Book_code Числовий Довге ціле 
-
-Backed Логічний 
-Action date Дата/Час Короткий формат дати 
61 
ЧДТУ. 231916.002 ПЗ 
в таблиці знаходиться інформ · ... 
ац1я про номер операцн, читача. Якому була 
книга бібліотекаря якииv в v . 
gJ,ІДана · ' ' идав иому книги, коди книг що були видаю, 
івформація про те чи була повернута література та дату проведення операції(див 
rабл.3.2). Всі поля, окрім Action, доступні для вводу. 
Таблиця З.З 
Таблиця «Authors» 
,,..---
1мя поля Тип даних Розмір поля 
~д uthor_ c ode Лічильник Довге ціле 
Fio Текстовий 40 
~birthday Дата/Час Короткий фортам дати 
В таблищ знаходиться інформація про код автора, його ШБ та день 
народження. Таблиця має ключове поле Author_code, яке з'єднує таблицю с 
полем author таблиці «Books» (див табл.З.З). Всі поля, окрім author_code, 
доступні для вводу. 
Таблиця 3.4 
Таблиця «Genre» 
Імя поля Тип даних Розмір поля 
Genre code Лічильник Довге ціле 
Genre Текстовий 20 
Option Текстовий 1500 
В таблиці показано даю про жанри книг, що присутю в баз1 даних. Таблиця 
має ключове поле Genre_  code, яке створює зв' язок з полем Genre в таблиці 
«Books» (див табл.З .4 ). Всі поля окрім поля Genre _ code, доступні для вводу. 
Таблиця 3.5 
Таблиця «Readers» 
~ 
-Імя поля Тип даних Розмір поля 
# Лі 1:ІИ:ЛЬН.ІJК Довге ціле 
г-----
Reader code Числовий 
62 
ЧДТУ. 231916.002 ПЗ 
Продовження таблиці 3.5 
Fio Текстовий зо 
actio11s Ч:исловий Довге ціле 
В тнблиц1 описано дані про читачів: їх код в базі даних, ПІБ та список видач 
в яких вони брали участь. Таблиця має ключове поле Reader_code, по якому 
створює зв'язок з полем «Reader» в таблиці «List» (див табл.3.5). Всі поля 
ДОСТУПНІ ДЛЯ ВВоду. 
Таблиця 3.6 
Таблиця «Librarysts» 
Імя поля Тип даних Розмір поля 
# Числовий Довге ціле 
Libi-a1·yst_ code Числовий Довге ціле 
Fio Текстовий 40 
Actions Числовий Довге ціле 
В таблиці описано дані про працюючих в бібліотеці бібліотекарів. 
Містяться інформацію про коди бі(>ліотекарів ПІБ та видачі в яких вони брали 
участь. Таблиця має ключове поле Libraryst_code, по якому створює зв'язок з 
полем Lib1·aryst в таблиці «List» (див табл.З.б). Всі поля доступні для вводу. 
Таблиця 3.7 - Таблиця «Publishing» 
Імя поля Тип да11их Розмір поля 
# Числовий Довге ціле 
Company Текстовий 100 
Town Текстовий 100 
Notice Текстовий 500 
. . 
в таблиці описано даю про 1снуюч1 видавництва. М1стить 1нформащю про 
код видавництва, його назву, місто розташування та додаткове описання. 
Таблиця має ключове поле #, по якому створює зв'язок з полем 
Publisl1ing_ company в таблиці «Books» (див табл.З . 7). Всі поля :n:оступні для 
вводу. 
63 
-
ЧДТУ.231916.002 ПЗ 
Таблиця 3.8 
Таблиця «m books_  mactions» 
Імя поля Тип даних Розмір поля 
# Лічильник Довге ціле 
Action code Числовий Довге ціле 
Book- code Числовий Довге ціле 
Таблиця необхідна для створення відношення типу «багато до багатьох» 
м1ж таблицями «List» і «Books». Таблиця має зовнішні ключі action_  code та 
book_  code, по якому створює зв'язок з полем action code в таблиці «List» та 
таблиці «Books» відповідно(див табл.3.8). 
- ~ . 
І<tion_codt 
book._codr -
book_codt 
b1cktd 
1ctlon_d1tt 
~t.:1rл 
і ~--..,-т---.- ~ і 
'і rtldtr_codt 
FIO 
1ctlon1 ., 
'і llb11ry,t_codt • 
'!/ book_c odt 
FIO 
ШІr 
1ct1oru 1uthor 
lnstrt_d1tr 
o•nrt 
- publishing_d,tr 
publi1hlng_,omp1ny 
1ctlon1 
o•n•• 
oplion 
comp1ny 
lown 
notlcr 
Рисунок 3.8 -Схема даних 
Опис запитів 
Запит для відображення повного списку наявної літератури в 
текстовій формі, з відображення повної інформації по книгам та їх 
параметрах. 
«BooksRealList» 
Запит збирає дані через ключі базі даних, що прив' язані до таблиці «Books» 
та виводить їх текстове представлення. 
64 
ЧДТУ. 231916.002 ПЗ 
Створення запиту відбувається за допомогою SQL: 
SELECT Books.[#], Books.book_code, Books.title, Authors. fio, 
Books.insert_  date, Genres.genre 
FROM Genres INNER JOIN (Authors INNER JOIN Books ON 
Authors.[author_code] = Books.[author]) ON Genres.[genre_code] = Books.[genre] ; 
Запит виведення ШП та посади працівників 
«ListOut» 
Запит збирає дані через ключі базі даних, що прив'язані до таблиці «List» 
та виводить їх текстове представлення. 
Створення запиту відбувається за допомогою SQL: 
SELECT List.action, Reders.FIO, Librerysts.FIO, Books.title, List.backed, 
List.action date 
FROM Reders INNER JOIN (Librerysts INNER JOIN (Books INNER JOIN 
List ON Books.book_code = List.book_code) ON Librerysts.libraryst_code = 
-List.libreryst) ON Reders.reader code = List.reader; 
З .1.5 Розробка інтерфейсу користувача 
Інтерфейс користувача є засобом звязку мід користувачем та системою, він 
забез печує розуміння користувачем виконуваних в системі дій та процесів, 
надає користуваче впевненості над контролем протікаючих дів в самій системі, з 
інтерфейсом якої він працює. Візуальна оболонка системи дає змогу 
користувачеві керувати системою за допомогою функціональних клавіш, полів 
введення, полів відображення значень, випадаючих списків та обьєктів 
відповідальних за той чи інсший структурний елемент системи. 
Пр розробці інтерфейсу варто враховувати деякі принципи його побудови, 
що визначені Якобом Нільсеном. Ці принципи визначаються зрозумілість 
інтерфейсу, його -інформативність, його-достатню функціональність та достатню 
взяємодію з користувачем для забезпечення відчуття повного контролю над 
системою. Визначаються такі принципи інтерфейсу, це головні заповіді будь­
якого розробника комп'ютерних інтерфейсів, тобто критерії, яким повинен 
бажано відповідати інтерфейс програми [ 16]: 
65 
ЧДТУ. 231916.002 ПЗ 
Видимість стану системи (правило зворотного зв'язку). 
Система (в даному випадку - комп'ютерна програма) повинна завжди 
інформувати користувача про стан своєї роботи за допомогою відповідних 
засобів, в розумний час. При розгляді цього правила потрібно враховувати кілька 
аспектів[ 16]. 
Створювана система не потребує відображення станів, в яких перебуває, 
оскільки виконання дій проходить дожу швидко і стани змінюються в такому ж 
порядку . Відбувається негайна реакція на дію користувача. 
Інформованість користувача. 
В нашому -випадку {рис.3.9) ситуацію зворотнього звярку можна показати 
вчасним доцільним виведенням вікна повьщомлення про помилку. Ця дія 
сповіща користувача про виконання заданої ним неправильної дії, та вказує на 
коректну та вчасну реакцію системи. 
Change potenti ... 
'✓ • ; 
К w11s Ь!! in 1"9 
ок. . ] І 
," 
Рисунок 3.9-Виведення повідомлення про.помилку 
Час оповіщення 
Проміжок часу, в який користувач отримує інформацію про реакцію на 
його дію або про подію, повинен бути мінімальним. Це особливо важливо, 
оскільки від наявності або відсутності у користувача інформації про поточний 
стан системи визначає його подальші дії. Якщо він не буде знати, що остання 
операція була завершена невдало, то подальші дії можуть викликати нові 
помилки[lб]. 
Як було згадано в попередюх пунктах система виконує дії, вказаю 
користувачем, швидко, тому немає сенсу виводити оповіщення про очікування. 
66 
ЧДТУ. 231916.002 ПЗ 
Дії системи змушують себе чекати і відбуваються відразу після відповідної дії 
користувача в системі. 
Рівність між системою і реальним світом 
Система повинна розмовляти з користувачем на його мові. Мається на 
увазі не мову його країни, хоча це теж має значення. в даному випадку мається 
на увазі використання понять, образів і цілих концепцій, які вже знайомі 
користувачеві по реальному світі, до яких він звик. Представлення інформації і 
об'єктів У програмі повинно бути організовано в природному і логічному 
порядку[16]:. 
В конструйованій системі інтерфейс побудовано на латині, тобто мова 
системі відповідає стандартам самої поширеної мови, є повністю зрозумілою. Не 
використано зайвих понять та незрозумілих термінів без розшифровки. Тим 
самим підвищено зрозумілість інтерфейсу для користувача та інтуїтивну 
логічність додаванням на форму короткої справки по термінології та описання 
алгоритму роботи Методу аналізу ієрархій, для користувачів що не мають 
представлення про її суть (рис.З .1 О). 
JфФoicc bLin,j ':?..tt€};~1f.;!•:~•'№WVi,..:.~\1??4f@#;§kf,!#,3Ф.{tff/;itIOJ§_l:'?.E>t¾"':f';'&.:ill.Wltfi!iRWt::!:__~':.i ·~- ,.~..,i ,.z;-\9'·{~:f.._}M_:Z.$' .6~.*-,Щ · ~ ~ --~ .. 
- -~hm 11,..., ~ - -
......,,..,.,.,., оІС1 hlQ 
К1КІІО КАК\КІ Ю W.Goo, ІМ '1AJIJMIJ MA7 M.Gooo ,r;p 11,11 
КІ 1 ! - А1 І АІ І Wt~8Ht'QflcoCliil ~ · .... ~~ 
, l,c~. ..f 01t..-oi'O ,.,.Ц::,'1110t~ 
1(2 к , А] к А] • , ~,....mcwn•~ 
ІО 0.13 К 1 IJ К К І IJ к • , w,...,,_.oc:o1.1110,.._.~ 
f)f1Fl 8WO...,,..~O
1.1 К І( У, 1 М К К К І ,.. • к к , .......... ,.. .. ... ..,..~,",.P.8. '~..P .I.,J,.~-•­~­
OM 
IGKKKK 1 АІ, К К К К І АІ ККККІ ~--~ІІІСІ) .... 
~q'll,...._,..1. ...... 
"КККККІ М КККККІ М КККККІ 
ю к кк ккк, А) ККККККІ А7КККККК1 -U.ме­,01~_,....~~ 
...... ... ,,.,.,.n.cмfO!C:ICМCaen. ~NACfll 
.., rp:i-..oro.,....._~~"°" 
°" . ~мli,-orwcмlOc,oiot~aiь. 
-r::: .- - -с. .- - ОС: · Q..М.'1 1 .D....,,..,.,.._~~l•t- НnllndllyoNI_ )_N.\1 
~~-.c:J"l~мJI 
.-.-оро. ...~ к,...м11~08іт,. 
lfvooaaelncip-,,,...,...IМl(oo 
~І~~- МАJ 
• к; ,КА 
'1AJIJMAIMA7 WGooo ,м А1 IJ IJ М 16 М AJ 11.Goo, ІМ ._№*ІWІС ІОІрІІЇІІМ41~ ..... ~-I\V,..NCIA8!Y,_,_.,rcм,lt,mІ 
" , АІ І р~,..-....7.wА1 І 
JІОМ:,,,1.~.1.1 .м...,._,_~,ат.~І~м 
у .,..'ICN .._..f l 
ll  NPll(1'il 
А] • , 
~2 К 1 .. . MQPC~J~Mr. 
l - 'іГ IJ : к. , _-·,-г-- -. ..,_м~,~~ 
IJ • к , 
,.. , І
М К К К І -...
і...&. r~.,,..._,,....~ ...р. ~м­. 
і,А І( І( К 1 6"a.~~i&vc:-1·• r• 
J6KKKKI АІ, к • • • , 
)5 К !( І( К 1 \ 
м ккккк1 "' ( ,: ІС І( І( І hN:.М~OЖl'OC'j11ІtНliUI 
,SKKKKKI -.кyw~,CN.11/Wt) rц"О:»оІ. 
А7 кккккк, А] кккккк, oo.81 ...J O"МUIМII0"- 1 '-•ll,('lt 
А7КККККК1 ... ....,..'81Мi1М..~JIOl'O,Ulll"4mQ 
'89)(1)~1'СІТ~"8'""' 
.,_ ldclltl..ntca.c:J,,....6n,__ 
......._~.т...м9а9'N. 
\мlSioSIQoo, І Of'O. 
~ет8~~­
..... ~..1.'.,,С.}.О.О.І.J,О.О_-... м,:-.І._І 6І_r•w,о. ll~ 
AIAJIJMASMA7 •оfСІП~ІКt;J....,.,_ 
....... ~~І'О4ІІ900 
~mttllno_..,..... ....... ь.o,:: 
, , 
Рисунок З .1О  - Інформаційність вікна додатку 
67 
ЧДТУ.231916.002 ПЗ 
Свобода дій користувача 
Користувач повинен мати контроль над системою і можливість змінити 
поточний стан програми. Дуже часто користувач дає різні команди помилково 
(наприклад, випадково натиснувши не ту кнопку або "промахнувшись" мишею 
мимо потрібного пункту меню), і у нього повинен бути "аварійний вихід" з цієї 
ситуації, чітко позначений У програмі. Найчастіше такий "вихід" реалізується У 
вигляді кнопки Cancel (Скасувати), розташованої в діалоговому вікні та дозволяє 
припинити виконання поточної операції або закрити це діалогове вікно. Крім 
цього, натискання на клавіатурі клавіші є традиційним і тому звичним для 
більшості користувачів засобом "аварійного виходу". Характерно, що "escape" в 
перекладі з англійської означає "втеча, догляд". Воно [т акож незамінне тоді, 
коли кнопка Cancel (Скасувати) недоступна - Найчастіше за все в Головному 
вікні програми, адже розміщення кнопок ОК, Cancel, НеІр та інших тут, на 
відміну від діалогових вікон, не допускається[16]. В випадку помилкового 
введення чи бажання перерахунків користувач завжди може заново ввести дані, 
стерши попередні. Система заново зробить обрахунки. Ніяко проблеми це не 
створить. 
Інформаційна система поповнення фондів бібліотеки на основ~ террії 
прийняття рішень дає користувачеві повну свободу дій відносно інтерфейсу 
користувача. Можлива зміні параметрів введених користувачем на будь якому 
кроці роботи системи без виникнення _збоїв у ній (рис.З .11. ). 
·м.,,u · PuЬW,cn Rudcn libr1rym AЬout 
Иott,od,....Pnorly 
К1 К2 К3 К4 К5 Кі К7 M.Geom NVP 
к, 1 З З 4 6 4 5 3.31 Q,32 
... ... . . .. • · · , Ja .. Р,3? , .•.Т  . ,"і':. с. ..і " : ,4 
', . 
кз ~.зз 0_16 , з •· а- ·6- 1.SI 0.16 
"4 0.25 О.З3 0.33 1 ·, - 7 9 1.39 0.13 
К5 Q, 16 D.25 0.25 0.16 1 5 ~ 0.68 O.t'G 
Кб О.250.І60.120.14 Dl 1 6 0,36 0,03 
К7 0.2 О.250.160.11 О.120.161 0,21 0.02 
r~ ; ,а.о 
&9.~ • 10.З 
р к з . 11 - Частина головного ВІнка програми 
исуно 
68 
ЧДТУ. 231916.002 ПЗ 
Послідовність і стандарти 
Принцип послідовності 03 • · 
начає використання одних 1 тих же засоб1в для 
вираження схожих образів і виконання дій, що мають однакову природу. 
Принцип послідовності при розробці інтерфейсів повинен дотримуватися 
буквально у всьому. 
Послідовність при виборі засобів оповіщення про події та діях. Наприклад, 
інформація про поточний статус програми, як уже говорилося при розгляді 
принципу "Видимість стану системи", зазвичай виводиться в статусну рядок у 
нижній частині екрана, а повідомлення з результатами запитів користувача - в 
окремому діалоговому вікні. Повідомлення про критичні помилки при цьому 
повинні сильно відрізнятися від звичайних інформаційних повідомлень[ 16]. 
В системі присутня логіка виведення повідомлень. Всі поля для схожих за 
сутністю значень мають однакове оформлення для встановлення зрозумілого 
зоровою частиною критерію, що покращує розум1ння користувачем 
приналежності поля до тих чи інших параметрів. 
Попередження помилок. 
Цей принцип · широко поширений ·і  в · звичайному · житгі, поза сферою 
комп'ютерів та інтерфейсів для них. "Пожежа легше попередити, ніж загасити" 
- говорив один з плакатів, виданих в кінці дев'яностих років Міністерством 
внутрішніх справ для навчання людей техніці пожежної безпеки. "Злочин легше 
попередити, ніж розкрити" - свідчить одне з правил науки кримінології. 
Стосовно теми проектування інтерфейсів комп'ютерних програм, принцип 
попередження помилок означає наступ не·.  "Дизайн, який попер ед ж ає 
виникнення проблем, краще, ніж найкраще повідомлення про помилку [ 16]. 
Присутнє обмеження значень можливих для введення в поля параметрів з 
ціллю попередження помилок в . системі, оскільки змінні .в. мові С# є строго 
типізованими. 
Розуміння краще, ніж запам'ятовування 
. • · ф ~ у потрібно робити всі об'єкти, ' функції, дії 
При розробц1 штер еис 
. ими користувачеві . Мінімізуйте запам'ятовування -
видимими 1 легко доступи 
69 
ЧДТУ. 231916.002 ПЗ 
користувач не повинен постійно намагатисs1 утримати в пам'яті інформацію з 
одніє:~· частини програми, щоб застосувати її в інший. В будь-ю,ий момент 
користувачеві повинно бути ясно, що потрібно робити в даний момент. У 
хорошому інтерфейсі інструкції з використання системи завжди видимі або 
легко доступні для виклику в будь-який час, коли це потрібно. Це може бути 
реалізовано як У вигляді продуманої організації елементів інтерфейсу, так і 
безпосередньо У вигляді підказок користувачеві [ 16]. 
Гнучкість і ефективність використання 
Правило цілком закономірне, адже програма в першу чергу повинна 
вирішувати задачу, · над · якою працює · користувач. · Однак при проектуванні 
інтерфейсу перед розробником часто постає така проблема: потрібно, щоб 
інтерфейс був однаково зручний і для новачків, і для досвідчених користувачів. 
Але потрібно враховувати, це багато в чому різні споживачі, з різними вимогами 
до програми та різним стилем роботи. Якщо зробити простий інтерфейс з 
мінімумом опцій, який буде легкий для освоєння новачками, то більш досвідчені 
користувач~ не зможуть працювати з програмою досить ефективно, щоб 
задовольняти свої потреби[ 16]:. 
Естетичний і мінімалістичний дизайн 
Якщо висловитися простіше, . то це правило -оз·начає: - "Нічого зайвого". Не 
потрібно захаращувати інтерфейс програми елементами, які в даному випадку є 
недоречними і малокорисними. Справа в тому, що кожен елемент, будь то кнопка 
або текстова підпис, обов' язково відволікає частину уваги користувача. Це може 
привести до того, що видимість і, відповідно, легкість сприйняття користувачем 
дійсно потрібних і корисних частин інтерфейсу буде сильно зменшена ·за рахунок 
елементів, без яких в даному випадку можна було б цілком обійтися[ 16]. 
Цей параметр є важливим пунктом побудови інтерфейсу, оскільки сильно 
впливає на загромаджені сть вікон додатків та їхню зрозумілість для користувача. 
Виходячи з сказаного можна сказати що мінімалістичність буде краще в 
більшості випадків. 
' І 
70 
ЧДТУ. 231916.002 ПЗ 
За таким принципом було створено вікно розроблювано:і системи, панелі 
введення параметрів включають в себе лише найнеобхідніші пункти та не 
загромаджують інтерфейс. Оскільки обрахунки обраним методом потребують 
великої кількості вхідних даних і можливість постійного спостереження кожного 
з них та результатів обрано необхідну і достатню кількість параметрів для 
п_об_уд ови неідентичних завдань (рис.3 . 12). 
е,-м_,,.,u...,. Puьf_,~,$,  Rt•CІ•• L..,")'tt 
., .. ...... ІШ 
... , 
., ,о ,о ІО " ІО /А? ., AJ А) .. .U " А7 •с..- ,....;.....,.... ....... .....,..._...,.,...,,........-:Е'._.?-_:,.:,:.,;.;-__,І ...., 
1 ' ' • • • ' ·))-1 o.u '"' ...., .....,,~ ~ -.... _,..~ 
,о 0.)) 1 і ) ..  І • 2.,1 .
о,, < І • І ~-c,v-,...,..... °..".',.,.,._n,.,.. ~,.. ~ - QV....,_, 
ІСІ ОJЗ 0.1,, ) І І '·" 0.1, • • І • • І І,ІJ.М .,......,~о,;о0 .,~~ 
•• 0.15 OJ) О.» 1 ' ' ' • • • Ot'lf') .. ....., . ""'8',-q-,. ~ · 
ІJІ .011  1 • • • 1 8 1/QW)l'IIC,,,~ · ..~ f~~. . 
o;.so~ 1 І І • • • ...... ta,,A ......, $t. ..' 11P4t~,? ~ 
l(S о.,, оя 0'8 о.°' ( 1 • • • • 1 -~_.....,....,.,1,r,,r,c-.c1 , w o 
ІІІ О.М ОЯО.12 0.Н О.) 1 • QJC .., • • • < • • • • • • OO,,.,.._.q1J~l ..-o"..,.. • -
І 1 ,.  
ІО 01 О.~ 0.1' 011 ОІJ01' І о~, 0.12 • • • ( • • І І • • • • < < 1 u.,. .., .,~~ 
'-аІІ,_ ІtШ 10,0 
с. ІН ес 10.з 1--· ... ... ... ,,...... ,_..._.~ ._.._r_. ......:..е.м.С...•. _. ,..._ . 
~. ..., ...t. .... ... ~ 
10 ..... ~• •• ~ 
С' • ос . 1-с .- · ос . a.t"C..,... ,,.,.....,.. ~.,,,. 
~or,J,,,w~Н.-r,J,,,-~. ..,  М.:.І 
~_J ~. ..... -c-tOtJ• f\o(. • ,wt'08(tJ,u l 
..__ _____. .....;;;;=~ :=:...-=~.:
•ІІІ 
АІ AJ А) м А! ,., 
" ііа-, їм =~'1~=-~-=-•-ta-rr 
/1 
~'l'PJN'Wl~~~~п-• 
АІ І АІ І АІ І , ...-м•~. ,.,__..,.. 1 ...; ..,n,. 
~~,w~•. ....-.-.-........- AJ ' І AJ К І ,., • 1 -...,..w.. .. --
.~...~~ 1,,•W~ •,Jp~~U-.,oll,IIJ 
А) < • 1 J,,J І( С І ,r,.,.._ 
А) К ( І 
,.. ...._,.,,..... ...,...,~,..._.._,,.~...,, 
• • < І N, lt І( І( , . 
J,,j І( і( с ' 
~_. -~•-,P,,, t.-.,.)8'11тt 
,s • • < • І AS К С ІСС 1 № К ( К І( І 
" • • • • • І М І( 81. І( i І( І _-. К ІС І( І( ІС 1 .,......,.. ,,,.,.~._.........._
. ... М С"~ ми ~ .....~ .  
f,J • • • • • • 1 .. Ю -С • 8( І( « І( 1 AJ K (,tl((A I ~ ......... ~,с. .... 
- -- _,._,._ ,.-.м-. У..,. W♦, ~ ...t ,a 
1--· .,. ~
ОС · ~- - 1"М"С"4."-~fW
--•/С•1'~С•,.-
~
,. -...
~
 ~...,.. 
· 
. ос. . S9w,. 
с , ~- · L.-. S. S,... ІQf'O 
І , .., .. І ·""' ... r.--.c:,- ...- ...~ ­
~-•'1f!O'І~r.A/.І C.,t,o 
.- --- -1·-М.С-... -ІМ- ·., А'1  AJ А) М М " /,J 
~: ,...:. І- І .. -- - -- ' :-:r.::-~=-- - WN 
....... ~,....,оо 
,.....с.,.. ,.. ..,......_, ~ 
Рисунок З .12 - Панелі задання параметрів завдань 
Опис помилки 
Воно повинно бути чітким, ясним і зрозумілим, давати користувачеві всю 
необхідну інформацію про причини і місце виникнення помилки. Багато 
розробники програм побоюються робити повідомлення про помилки дуже 
. •. 
інформативними, щоб не "лякати" початювщв користувачів .-технічними 
подробицями. Проте в цьому випадку порушується описаний вище принцип 
гнучкості та ефективності використання: досвідчені користувачі, отримавши 
занадто коротке повідомлення про помилку, не можуть з' ясувати її причину. А 
програма, в якій 3 'являються якісь незрозумілі помилки, врешті-решт починає 
справляти враження неякісної [ 16]. 
71 
ЧДТУ. 231916.002 ПЗ 
Передбачення виведення підказок при наведенні на поле - найкраще 
пояснення. Організовано це з метою збільшення впевненості користувача про 
правильність його дій в системі. 
З .1.6 Опис розробки програмних компонентів. 
Головними компонентами системи є частина відповідальна за формування 
початкового набору даних, частина відповідальна за їх обчислення та частина що 
виконує виведення результатів на екран після їх генерації. 
Реалізуюча знаходження результатів частина системи включає в себе набір 
методів обрахунку завдань системою аналізу ієрархій. 
Кожен з методів являє собою стандартний алгоритм розв'язку. Нижче буде 
приведено кілька алгоритмів обчислення з їх текстом програми, в якому вони 
записаю. 
При побудові алгоритмів було використано формули та інформацію з 
підручників по вищій математиці [21 , 22]. 
llістинг І .Метод вирішення доповнення вхідних даних 
public void MirorPotential(TextВox text_box_name, Label label_name) { 
try 
{ 
if (Convert.Tolnt32(text_box_name.Text) > 9 11 
Convert.Tolnt32(text_box_name.Text) < 1) 
{ 
MessageBox.Show("K was Ье ш 1"9", "Change.- potential", 
MessageBoxВuttons. О К); 
} 
else 
{ 
double value = Convert.Tolnt32(text_box_name.Text); 
label_name.Text = String.Format("{0:0.00}", (Convert.ToString(l І 
value))); 
} 
72 
ЧДТУ. 231916.002 ПЗ 
} 
catch 
{ 
MessageBox.Show("K was Ье ш 1. . 9", "Change potential ", 
MessageBoxВuttons.OK); 
} 
} 
Лістинг 2. Метод обчислення приоритетів 
public void Calculate(d ouble[,] potentials) 
{ 
try 
{ 
double0 mgeam = new double[7]; 
double[] lambda = new double[7]; 
double lambla_m ax = О; 
for (int і= О; і< 7; і++) 
{ 
double р = 1; 
for (intj = O;j < 7;j++) 
{ 
р = р * potentials[i, j]; 
lambdaU] += potentials[i, j]; 
} 
mgeam[i] = Math.Pow(p, 0.143); 
} 
double sumgeam = О; 
73 
ЧДТУ. 23 J 916.002 113 
fo1· (іпt і = О; і< 7; і++) 
{ 
lambla_max += lambda[i] * mgeam[i]; 
sumgeam += mgeam[i]; 
} 
double[] nvp = new double[7]; 
double sumnvp = О; // most Ье l. 
for (int і= О; і< 7; і++) 
{ 
nvp[i] = mgeam[i] / sumgeam; 
sumnvp += nvp[i]; 
} 
double іс = (lambla_max - 7) / (7 - І); 
double ос = іс / 1.32; 
WindowsFormsApplicationl .Form l .Gnvp = nvp; 
WindowsF ormsApplication l .F orm l .Gmgeam = mgeam; 
WindowsFormsApplicationl.Forml .Glambda_max = lambla max; 
WindowsFormsAppHcation l .Form l .Gic = іс; 
WindowsFormsApplicationl.Forml.Goc = ос; 
WindowsFormsApplicationl .Form l .Gsumnvp = sumnvp; 
WindowsFormsApplicationl .Form l .Gsumgeam = sumgeam; 
} 
catch 
{ 
MessageBox.Show("Error", "Input all values in matrix.", 
MessageBoxВuttons .OK); 
74 
ЧДТУ. 231916.002 ПЗ 
} 
} 
Важливим функціоналом, безперечно необхідним, є візуальне 
моделювання форми матриці для введення вхідних даних. Елемент виводу 
представлений полями вводу та виводу скомпонованих в вигляді матриць з 
підписаними полями. При потребі редагування, як було описано в логічній схемі 
системи, В1рним кроком є зміна параметрів завдань та повторний обрахунок. 
Суть компонента в тому, що він є базову для формування початкового набору 
даних. 
3.2 Тестування системи 
3.2.1 Модульне тестування 
Модульне тестування - це метод тестування проrрамного забезпечення, 
який включає в себе тестування окремих модулів або компонентів проrрами. 
Кожен модуль тестується окремо від інших модулів з метою виявлення помилок 
та недоліків у роботі проrрами. 
Модуль - це найменша функціональна одиниця проrрами, яка може бути 
протестована окремо від інших. Модульне тестування дозволяє перевірити 
коректність роботи кожного модуля, а також підтвердити, що після змін в 
одному модулі, інші модулі продовжують працювати коректно. 
Модульне тестування зазвичай виконується програмістами на еташ 
розробки програмного забезпечення. Воно дозволяє виявити проблеми раніше, 
до випуску програми в продакшн, та знизити витрати на виправлення помилок. 
Крім того, модульне тестування допомагає збільшити якість коду, оскільки 
програмісти можуть перевірити свій код на різних вхідних даних та різних 
умовах його використання [ 14] • 
Для системи наповнення фондів бібліотеки, було проведено наступю 
модульні тести: 
75 
ЧДТУ. 231916.002 ПЗ 
Тест на додавання н ово1··  книги: в цьому тест~ перев1· рялось, чи 
додається книга в базу даних фондів бібліотеки після введення вс1х 
необхідних даних. 
2 Тест на видалення книги : в цьому тесті перевіряється, чи видаляється 
книга з бази даних фондів бібліотеки після введення необхідних даних. 
З Тест на пошук книги: в цьому тесті перевіряється , чи повертається 
правильний результат після пошуку книги за заданими параметрами. 
4 Тест на оновлення даних про книгу: в цьому тесті перевіряється, чи 
оновлюються дані про книгу в базі даних фондів бібліотеки після 
введення нових даних. 
5 Тест на додавання нового користувача: в цьому тесті перевіряється , чи 
додається новий користувач в базу даних бібліотеки після введення 
необхідних даних. 
б Тест на видалення користувача: в цьому тест~ перев1ряється, чи 
видаляється користувач з бази даних бібліотеки після введення 
необхідних даних. 
7 Тест на видачу книги користувачу: в цьому тест~ перев1ряється , чи 
видається книга користувачу шсля правильного оформлення 
замовлення. 
3.2.2 Інтеграційне тестування 
Інтеграційне тестування - це процес тестування, шд час якого 
перевіряється, чи працюють окремі компоненти системи правильно разом. 
Інтеграційне тестування зазвичай проводять після того, як бу_ло виконано 
модульне тестування окремих компонентів, але перед тим, як приступати до 
системного тестування системи в цілому [14]. 
Під час інтеграційного тестування тести зазвичай проводяться на декількох 
р1внях: 
_ на рівні інтерфейсів між окремими компонентами системи; 
76 
ЧДТУ. 231916.002 ПЗ 
на рівні взаємодії між с ерв1· сами, яю·  можуть виконуватися на р1· зних 
серверах або в різних контекстах виконання; 
- на рівні системної інтеграції, коли всі компоненти системи взаємодіють 
разом і тестується весь процес. 
Метою інтеграційного тестування є виявлення дефектів, яю можуть 
виникнути через неправильну взаємодію між окремими компонентами системи. 
Цей тип тестування дозволяє визначити, чи може система працювати зі зв'язками 
між компонентами, і чи забезпечує вона очікуваний рівень функціональності. 
Для системи наповнення фондів бібліотеки інтеграційне тестування бу ло 
проведене на рівні взаємодії між компонентами, що забезпечують надходження 
та обробку даних. 
Основною метою інтеграційного тестування є перев1рка коректносп 
взаємодії між компонентами та виявлення помилок, які можуть виникнути при 
їх взаємодії. Для цього можуть використовуватися наступні підходи: 
1 Тестування інтерфейсів: Перевірка, чи коректно працюють інтерфейси 
м1ж компонентами. Також перевіряється правильюсть передач~ даних м1ж 
компонентами. 
2 Тестування функціональності: Перевірка, чи працюють компоненти 
разом та виконують функціональні вимоги до системи наповнення фондів 
бібліотеки. 
З Тестування взаємодії з зовнішніми системами: Перевірка, чи коректно 
взаємодіє система з зовнішніми системами, які можуть бути інтегровані з нею, 
наприклад система каталогізації або система пошуку• 
4 Тестування продуктивност1: Перевірка, чи витримує система 
завантаження, коли вона працює з багатьма компонентами та даними. 
у процесі проведення інтеграційного тестування використовувались різні 
мето • " ·и" до нижнього" або "нижній до верхнього", залежно від 
дики, таю _як верхн1 
77 
'I.J~'\'V, \І t}Іп , 011 11 '1 
\\\\\\, \\\\\ М\t\І\ІІ\\\~\\\ І'\\ МІІІІ)'І ' І і \') '1'11 111\ІІ' І ' ,,11 '111111111 · І 'ІІ 1,1 111, ому 11111111 ; 1,11у , ' І t' l \' /IJl/1 
\ч,,>,,щ,ІУ N""1 1 1 1'11,111
) \~~ ,1н ' l'1, щ,, "11н1111 ,, ,н I н 11ч 1, ющ ,, 11 .1~н 11 1,,) 111'11,,, ,, , 111, м 111111111,,,,, 
.\,. .. J  ( 'щ1 І 'МІІ\\ 1 \1\Ч11\ 1 1 \Щ\ІЩ\ 
\ ' І\\' І )t,,Щ \ ' \ ~\''І '~І Щ\11\Н\ \ ~ ~І\.1 \ІІ lt1tHl11~) .. НІ' '1'1111 ' І 'ІЧ ''І,У ІНІІІІІІІ 11р111 'рІІМ І/ІІІ 'І) 
"~1('1,\'\ІІ\11 1,ч111м, ~І\\'\\t.\ ··щІН,,111ш" 1 ' 1 1'-' ~' ,, М\11 1 •,н,1 11 t1 1н~ 1~Ір1н1 1·11;1,110111)1,110 ,,,,1 нимт нм 
ф~·н1щ\,щнщ,1Ю\''І'І , ('Ф~ І\'І 'І\ІЩЩ)' І ' І ·1·11 •11~ш1• 1 · І 11рщ~у 11'1 1 ·у 11 11,Іт,м у, ( : ~ю'І'· мI1 
~ 1\'І'УЩІ\\ІІ~ ''\l\l\ \\\\І\\\f\ ІІj\І)ЩЩІІ'І ' І,tЧІ 11\~•JІІІ ІІІ)tІІІt1)1.І І ІІІ/JІ МЩt,УJ/111/ІІІ 'ІІ 'ІІІ 
\11 І\'І'\)Н\\\Н\Ю\'\) 'І~ 'І'УЩ\ІІШІ \ 11І,J ІІ0 1 Н\t1 ' І 'С ' І 'УІ1ІІІІІІ)І ІН.J Іі'У ИU'І 'ОМИ 11 11,І J ІОМ.У , 
\ІІ\,І\ЮІ\НЮ\\11 " ' оwр~м\ КОМ\ЮІІё\І' І '\І 1І 1t-\ \11 111 рфаІІ~ 11 '\ ІСОІН1 ' І 'УІ1ІІ'І м , 
\ )\'\1\)1\ЩЩ) МС'І'ОЮ І..'ІІ '\' МІН\І 'О ' І 'С · 1 ·у1щ11т1 t 1 11upt1 11І1, 1 L1 ро O'l'Jil ' И 111' ми Н 
р~чщ,,нн~ ~~~юш,~ ' І'tІ 1) рІ •н111х ,, щ,рІю( щ,щорщ)' І 'L1111в1 , що ;,0·111om1t· 1,~н11н~· , ·и ;~ш11, І 
щ,\,&\\{''t-..111, ,щ, МОЖ)'1''') 1)111нн,·11у11'н 11ри 1-ю~о'І'І ") \J ~І ІJ' І 'омо10 11 нІJюму , C1,н:·1 1t,MJІ(j 
11,11.''І'УШ''"'~ ~.,щкс І\~J1щщ1•1•11" ~e'}t, ' t'QУ'І'уш111т1 рІ ·1ш1х фу111щІН t}И ,,,, ми, 11 ptmlp1(y 
б~11щ1\\І\, Н'\Оt•'М(щії ~, бо·шмн ,І\t-ШІІ , , t\ · 1·111юж ' І't, · 1 •ущ11111,1 1ю 011 ·и u~1 c·1•· м~, н умо,шх 
~,('),,\'н .,,~, щщ~н І'І't\Жс\\ШІ І І ,i І, 
\ \)~~\YJlll'І't\TI QH r1•~МІІОІ 'О 'І '~ 'f')'ІІl\ІІІНІ МОЖУ'І ' І, У'І 'И 1щ•mm, 11\ JIOMИJ/J(И 'ІН 
\І~Щ\\\\~н . ІН.УІ~М\\, Jtl(i НО'\'\)~ УІО'І'І, ЩЩ{ІJІІ)\ІІОУ рО{)О'І 'И ' І't\ У)ЮОІЮІІtШОJІН,І , ' І 'шшж 
\'Щ"{\'МІ\о і\'е 'І'УШНІШІ мож~ Ciy't'H f\1,\1(()\ЩО'І 'ІІІІ~ )\ЮІ 01,І111<И 11\)0J\YJ(' l 'ИUIIO~'l'I (} Иt:'J 't.,MИ 
'І'tІ "' ~\)Щ'І'\Ю ,,,1 ,1\0 МІ) ІІІ'І'О()ун11нш1, 
Jiшi СН rroм11 НОПОІ)ІІ~ІННІ фо1щІн бІбJІІО'І'(.)101 ОИОТ~МІІt., 'Г~С'Т'УІШІІШІ ІЖJІЮЧШJО 
ІН;~{)~ Нf\ 'І'У П 11 \ ~'\'(\ Н\-1: 
т~ 'І'У1НН1ІНІ фун1щІоноJ11,)І()О'І'І О І,1 0'\'СМН: 11ерсІ\\р1ш Нр(ШИJІІ1ІІО~·1 · І ·го 
11,щ110т11 ннко,шнm, фуt11<нІИ, 11ІJ\ІЮІJІн11оu·1 · І ро·зуJ 11,т\І} очІ1Сущ1111шм, 11ep1J11l1жt1 
\'~Р~Оt<ІІ ІЮМНJЮК 'ГtІ \'\НЮІ'І'І(ІО, 
.. ' l\~сr1,уно11ю1 н:щrм<щІ\' \(ОМ\ІОІІtЩ'І'ІІ\: 11 ереоІр1ш І}'}tн:мщ~і'{ мІж 
\\t)M\IOH~l\'l'LIM\I Н "\' мн, Hl(JIIO\\0IOЧ\it 1сому11\t((ІІ\ІЮ між бО'JОІО JЩІН1Х 'l'LI 
іІІ'І'Qрф~fkом кор111r1•уно'ІН, обrобку то 11 \)С)Щ'ІУ )\ЮІ\.ІХ мІж І<ОМІІ{)ІІеІІ' І 'tІМІ-1 , 
J Т~ "І ')І\Щ\\ШІ 11р0)\У\('І'ІІІ\1ІО ''І'\: 11 ерt.щірІ((І ІІІІlН)\ІЩ~r11\ ' І'(\ 'JОІІОІІТЮІ<сІІІІ)І 
\' ІІ1."1~~111 нрн :,GІJІІJНІ~НІІІ об щ·Ін )ЩННХ ·1·0 1<0рнсту1шчІ1t. 
7 К 
ЧДТУ. 231916.002 ПЗ 
4 Тестування безпеки··  пер · . 
ев1рка захисту системи від несанкцюнованого 
доступу до даних, захисту від вірусів та шкідливих програм. 
5 Тестування відмовостійкості: перевірка поведшки системи шд час 
виникнення відмов та помилок в компонентах. 
У результаті системного тестування було 
перев1рено, що система 
наповнення фондів бібліотеки відповідає вимогам до функціональності , 
продуктивності, безпеки та відмовостійкості. 
З .2.4 Приймальне тестування 
Приймальне тестування (англ. acceptance testing) - це вид тестування 
програмного забезпечення, .який .здійснюється з метою перевірки відповідності 
програми вимогам та очікуванням замовника. Цей вид тестування проводиться 
на заключній стадії розробки програми, коли вона вже повністю готова до 
випуску в експлуатацію. 
Приймальне тестування зазвичай проводиться замовником або його 
представником, який перевіряє функціональність, коректність роботи та 
відповідність програми вимогам, що були визначені на етапі аналізу вимог. 
Результатом приймального тестування може бути прийняття програми, якщо всі 
вимоги були виконані, або відхилення, якщо програма не відповідає вимогам 
замовника [ 14]. 
Приймальне тестування може бути проведене в ручному режим~, коли 
тестування виконується вручну замовником або його представником, або 
автоматизоване, коли тестування проводиться за допомогою автоматичних 
засобів тестування. 
Під ·час · приймального · тестування для·· системи· наповнення · фондів 
бібліотеки можуть були наступні кроки: 
1 Перевірка відпов1· дност·1  пр ограмного забезпечення вимогам ' 
вета иком . Для цього були використані тестові сценарії, які бу ли новленим замови 
розроблені на етапі попередніх видів тестування. 
79 
ЧДТУ. 231916 .002 ПЗ 
2 Перевірка відповідності . 
програмного забезпечення функцюнальним та 
функціональним вимогам · До н ф · 
J-Іе е ункцюнальних вимог можуть належати 
вимоги до продуктивності, надійності , безпеки , • • 
доступносп та ш. 
З Перевірка відповідності 
програмного забезпечення правилам та 
стандартам безпеки даних. 
4 Перевірка взаємодії програмного забезпечення з іншими системами, які 
вже є в експлуатації в бібліотеці. Наприклад, з системою каталогізації книг та 
автоматизованої системи обліку відвідувачів. 
5 Випробування системи на реальних даних. Це допомогло виявити 
помилки та проблеми, які не були виявлені під. час раніше проведеного 
тестування. 
6 Оцінка зручності використання програмного · забезпечення для 
замовника та користувачш. 
7 Підготовка документації для замовника та користувачів, включаючи 
інструкції з встановлення та використання програмного забезпечення. 
Висновки до 3 розділу 
Результатом роботи, виконаної в цій частию проекту, є готовий 
програмний додаток з задуманими функціями. 
На рівні проектування було описано всі моменти зі створення модулів та 
інтерфейсу додатку, використано навчальну літературу для коректної реалізації 
задуманих кроків. Спроектована база даних була доведена до розробки в 
фізичну, була реалізована. Виконані роботи над проектуванням системи були 
реалізовані в кінцевому додатку, який було протестовано. 
Висновком тестування слугує коректна робота додатку без збоїв та в своїй 
Предметній області. 
80 
ЧДТУ. 231916.002 ПЗ 
висновок 
головною метою даної кваліфікаційної роботи було розробити 
програмний продукт, який забезпечить можливість математично обумовленого 
вибору найкращих кандидатів серед нової літератури для поповнення 
бібліотечного фонду. 
В результаті виконання роботи було реалізовано інформаційну систему 
поповнення бібліотечного фонду на основі теорії прийняття рішень. 
Програма адекватно функціонує, швидко реагує на усі запити користувача 
і не містить помилок, які б могли руйнувати чи порушувати її коректну роботу, 
здійснювати системю порушення, якt несуть фатальні наслідки для 
комп'ютерної системи в цілому. 
Використання даного програмного продукту підвищує ефективність 
роботи бібліотекаря, дозволяє зробити якісний вибір. Програмний проект легко 
впроваджується та не потребує великої кількості ресурсів. 
Спроектована система є гнучкою, ергономічною з достатюм 
інформаційним забезпеченням. Програма відкрита для модифікації і доповнень 
наступними версіями і розробками. 
81 
ЧДТУ. 231916.002 ПЗ 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 
Гриханов, Ю. А. Велика місія об ов ,я зкового прим1.р ника. Світ біблю• граф11..,.  
2009. -№ з. 
2 Соляник А. А. Система документ опостачання 61'6 л ю· течних ф онд·ш . -
]1іберея-Бибинформ, 2007. 
3 Морєва О. Н. Комплектування бібліотечного фонду. - : Професія, 2012. 
4 Гриханов Ю. А. Бібліотечні фонди: стратегія розвитку: монографія/ Ю. 
л. Гриханов, Н.З. Стародубова, Н. І .Хахалева. - : Пашков будинок, 2010. 
5 Гриханов Ю. А. Бібліотечні фонди: стратегія розвитку : монографія / Ю. 
А. Гриханов, Н.З. Стародубова, Н. І .Хахалева. -М.: Пашков будинок, 2010. 
б Буч Г. Язь1к UМL. Руководство пользователя, 2-е издание: пер. с англ/ Г. 
Буч, Д. Рамбо, И. Якобсон. - : ДМК Пресс, 2007. - 496 с. 
7 Косенюк Г. та ін. Тестування програмного забезпечення. Навчальний 
посібник / За заг. ред. Г.В. Косен10ка. - Черкаси: Видавничий відділ ЧНУ ім. Б. 
Хмельницького, 2007. - 200 с. 
8 Budgen D. Software Design, 2-nd edition / David Budgen. - Addison Wesley, 
2003. - 400 р. 
9 Taylor R. Software Architecture: Foundations, Theory, and Practice / Richard 
N. Taylor, Nenad Medvidovic, and Eric М. Dashofy. - John Wiley and.Sons, 2010. -
750 р 
10 Найпопулярніші- -. книги весни: 10 новинок вщ українських 
видавництв ©режим доступу https://gloss.ua/ua/lifestyle/137823-
najpopulj amishi-knihi-vesni-10-novinok-vid-ukraj inskikh-vidavnitstv 
11 Алгоритми і структура даних: Навчальний посібник / В.М.Ткачук. -
ІваноФранківськ : Видавництво Прикарпатського національного університету 
імені Василя Стефаника, 2016. 286 с. 
12 r б Л с р бка інформаційних ресурсів та систем [Електронний 
ло а . . озро 
ресу ] · v / л с Глоба Т М. Кот. - Київ : НТУУ "КПІ" , 2014. -
ре : конспект лекц~и • • ' · 
318 с. 
82 
ЧДТУ. 231916.002 ПЗ 
13 9. Грязнова В. О., Єфіменко С. В. Основи методології програмування. - К.: 
вfll..{ "Київський університет", 201 о. 
14 Технології створення програмних продуктів та інформаційних систем 
t1авч. посібник ІМ. Ю. Карпенко, Н. О. Манакова, І . О. Гавриленко; Харків. нац. 
уt1~тміськ. госп-ва ім. О. М. Бекетова. -Харків: ХНУМr ім. О. м. Бекетова, 2017 . 
. 93 с. 
І 5 . Шевчук І. Б. Інформаційні технології в регіональній економіці: теорія і 
практика впровадження та використання : монографія. Львів : Видавництво 
ННВК "АТБ", 2018. 448 с . 
І 6 Николайчук Я. М. Проектування спеціалізованих комп'ютерних систем : 
навч. посібник І Я. М. Николайчук, Н. Я. Возна, І. Р. Пітух . - Тернопіль : ТзОВ 
"Терно-граф", 2010. - 392 с. 
17 Ковалюк Т.В. Основи програмування. / Ковалюк Т.В. Київ: ВНV Киев, 
2005. 400 с. 
18 Катренко А.В. Системний аналіз об'єктів та процесів комп'ютеризації. -
Львів, 2003. - 421 с. 
19 Ситнік В.Ф., Писаревська Т.А., Єрьоміна Н.В., Краєва О.С. Основи 
інформаційних систем. Навчальний посібник. -К. : КНЕУ, 2001. -420 с. 
20 Шарапов О.Д., Терехов Л.Л., Сіднєв С.П. Системний аналіз. - К.: Вища 
школа, 1993. 
83 
---------~-
додлтокл 
ПЗАС, професор 
олуб С.В. 
,,_ ~rь 202з р. 
Програмне забезпечення наповнення книжкового фонду бібліотеки 
Специфікація 
482. ЧДТУ 231916.002 
Листів 2 
Розробник Десятник Д.Ю. 
Керівник Півень О.Б. 
Черкаси 2023 
482. ЧДТУ 23 1916.002 2 
nоз11ачення
Найменування Примітка 
Документаuія 
чдтv.2з 191 б-О 1 12 01
482, Текст nроrрами 
О 1 34 о 1
482. чдтУ .2з 19 І 6- Інструкція користувачеві 
_чдтУ .2з 1916-О 1 90 о 1
482 Презентація 
І 
І 
V-
V-
� 
� 
� 
-
, 
,...__ 
і 
-----
t--_ 
8 5 
І. 
Додаток Б 
Програмне забезпечення наповнення книжкового фонду бібліотеки 
Текст програми 
482.ЧДТУ.231916-0 І 12 О 1 
Листів 16 
Розробник Десятник ДJО. 
Черкаси 2023 
482. ЧДТУ .23 І 916-0 І І 2 О І 2 
using Sy steш; 
using Sy stem.Col1ections.Ge11e 1ic· 
using Sy steш .Compone ntModel· 
using Sy stem .Data; 
using Sy ste111 .Drawi1 1g; 
using System .Liпq; 
using Systeш .Tex t ; 
using System .Тl1reading.Tasks; 
using System .Windows.Foпns'·  
naшespace WindowsFom1sApplicatioп І 
{ 
public partial class Foпn І : Fоп11 
public static_double Gsumлvp; 
public static double Gsurngeaш; 
public static double Glambda тах'·  
-
public static double Gic; 
public static double Goc; 
public static double О G11Yp = ne\v dонЬІе[ 7]; 
public static double О Gшgeam = не\,, double[ 7]; 
// for rezult 
public static double GitogSu m; 
public static doubleO Gitog = 11е\\' double[7]; 
public static double Goic; 
public static double Gooc; 
public void MirorPotential(TextBox text_box_name, Label label_name) 
{ 
try 
{ 
if (Convert.Tolnt32(text_box_пame.Тext) > 911 Conve11. Tol11t32(1ex t_box_naшe.Тext) < І) 
l
(
MessageBox.Show "K was Ье in 1"9", ''Cl1ange potentia ", MessageBoxButtoпs.OK)
; 
{
else 
{ value = Convert. Tolnt32(text_box_name. Text)
d uble ; 
o
( } 
t = String.Fonnat " {О:О. 00 ", (Convert.T0Stri11g(1 / value)))
label name Tex ; 
.
catch 
l
in 9" "C/1ange potentia ", MessageBoxButtoпs.OK)
K was Ье 1 , ; 
{ MessageBox.S/юw(" •• 
}
tentiaJs
public void Calct1late (doubl ,] po
e[ ) 
{ tr
 y
{ e[] mgeam = new double [ ?]
doubl ; 
[
double[] ІашЬdа = 11ew double ?]; 
dotable Іа1 1ЬІа_111ах = О; 
87
482.ЧДТУ.231916-01 12 01 з 
f()r (int і= О; і< 7; і++) 
{ 
double р = І; 
for (і111 j = О; j < 7; j++) 
{ 
Р = Р * potentials[i, j]; 
lambda[j] += poteпtials[i, j]; 
} 
тgеаш[і] = Matl1.Po\v(p, О.14З); 
double sumgeam = О; 
for (i11t і= О; і< 7; і++) 
{ 
ІашЬІа_шах += Іа.шЬdа[і] * шgеаш[і); 
sшngeaш += 111gea111[i]; 
} 
doubleO 11\rp = ne,v double[7); 
double SШШ1\'Р = О; // most Ье І. 
for (int і= О; і< 7; і++) 
{ 
nvp[i] = шgеаш[і] / sumgeaш; 
SUЛШ\'Р += nvp[i]; 
double іс = (\ашЬІа_mах - 7) І (7 - І); 
double ос = іс / 1.32; 
Windov.1sFonnsApplication 1.Fопп \ .Gnvp = нvр; 
Windov.,sFonnsApplicationl .Fonn J .Gmgeam = rпgeam;
\1/ indowsFonnsAppl icat ion І . Foпn І .Glambda _шах = ІашЬІа _тах;
WindowsFormsApplicationl .Forml .Gic = іс;
Windo\,,sFonnsApplication I .Foпn I .Goc = ос;
W indo\vsFo nnsApplicatioп 1.Form I .Gsurnпvp = sшnпvp;
Windo,vsFoпnsApplication l .Fonn J .Gsшngeam = su111geaш;
} 
catch 
{ 
MessageBox.Show("Erorr", "lлput аІІ values in 111atr-ix.", MessageBoxButtons.OK);
public ,,oid Rezult(doub.le[,] rez, double[] іс_с, double[] 11vp_c)
{ 
doubleO itog = new double[7];
double itogSum = О; 
double оіс = О; 
double оос = О; 
for (int і= О; і< 7; і++) 
{ 
оіс += n,,p_c[i] * іс_с[і); 
88 
482-ЧДТУ.231.916-01 1201 4 
fог (iпtj = О; j < 7; j++)
{ itog[i] += 11vp_c[j] * rez[i, j];
itogSum += itog[i];
оос = оіс І 1.32;
W!1JdowsFormsAppl!cat!on l .Foп11 
W�ndo l . g
\vsFonnsAppl G  
�c
i
at to = g
p �o111.F  
o ito
п
111do onnsA n
wsF p  l g ; 
W l1c  
a .G
t1011 І .Fопп І Gоitіoс =S uоmі
o ppl . с ·=  itogSurn;
Windo\vsF пnsA icatio11I.For1111.Gooc = 00�-
' 
public Fom1 І О
{ ІліtіаІіzеСоmронепt();
private void Forml_Load(object se11der, Eve111Args е)
{
І/ TODO: данная строка кода 1101воля
р ет загрузиуть даш1
р о ь1е в таб у 
П и необх димости она может бьrть пе емещена дале1-1а. лиu "libгa1·yDataSet.Lis t Popular".
11л11 
this.1 ist PopularTableAdapter. F і 11 ( 1І1 is.1 і brary Data Set. List Popu Іаr) ; 
І/ TODO: данная строка кода сорт11рует сам1,1е гюпулярнь1е злементь1
private void exitToolStripMeпulte111_Click(object se11der, EveпtArgs е)
{ 
CJose();
private void buttonl_Click(object sender, Eve11tArgs е)
doub]e[,] poteпtials = new double[7, 7) { 
{ 1,Conve)rt.T oDouble(textBoxK І К2 .Тext),Coпvert .ToDotr ЬІе( textBoxK 1 КЗ .Техt ),Соп ve11. Т 0Dщ1 e(tex t Вох к
· xItK4.Text ,Convert.ToDouble(textBoxK І KS.Text),Convert.ToDoнble(textBoxK І Kб.Тe ) bl
B xt ,Coпvert.ToDouble(
oxK І K7.Text)}
te
,
{Conv
4. )er1.ToDoub]e(labelК2Kl .Text), l ,Coпver1.ToDouble(textBoxK2K3.Text),Coпver
Te t.T
xt oDoнble(
,C text
oпve Box
r}t.ToDouble(textBoxK2K5.Text),Convert.ТoDouble(textBoxK2K6.Text),Co11v K2K 
ert.ТoDo
7. L1ble(text
0хК2К Техt B
) ,
{Conven.ТoDouble(labelKЗK 1.Text),Co11ve11.ToDoнble(labelKЗK2.Тext), l ,Coпvert .ТoDouble(textBoxKЗ T
eКxЗt)К,Convert.ToDouble(textBoxKЗK5.Тext),Convert.ToDoublc(text.ВoxK3K6.1'ext),Coпver K
t.ToDottble(textB
4.
7.Т x
ех o
t)},
{Convert.ТoDouble(labelK4K 1.Text),Conve11.ToDottble(labelK4K2.Text), ?11'1e1·t.ToDoнble(labelK4 )
KJ,7C.oTnevxet)rt}.ТoDouble(textBoxK4K5.Text),Co11ve11.ToDouble(textBoxK4K6�. I ext), ,
Co11ve
, rt.ТoDot1ble eK(t x3tB.ТoexxKt4,
{Conve11.Т oDouble(label KS к І .Техt ),Соп ve11. ToDouble(label KS К 2 .Т ext ),Соп ,,егt .ТоDонЬІе( ІаЬеІ KS КЗ. Text ),
89 
482-ЧДТУ.231916-01 1201 5 
І • 1.1.'1'111 )щil1 lc( ІнІ)сlК 5 К4 .Тех\) І ,Coi1\'e11 .ТoDollble(textBoxK5Kб.Text)'  Co11ve11 ' ToDouble(text ВохК5К 7 ·
(\Ііі\(; 
1·��1) І, 
' І',ci·1. ()l)1
T iLІl1le(lal)clKбK 1 -�fext ),Coпvei·�.ToDoL1ble(labelK6K2.T
H ext),Co
( 11vert.ToDouble(labelK t)
:�111,,ci·1.Tof)ot1blc(lal)elKбK4.l �xt), oii,,eгt. ГoDollble(labelK6K5.Тext), l ,Co11,,er1.ТoDouble(textBo6xKЗ6.TK Ke7x.Te, 
�1)1, 
Co111,c1·t .ToDoLІblc( ІаЬеІ К 7 К 1, .'Гехt),Со
� ,crt.ToDoнl>le(labelK 7к4. Гext), пvпveеtг�.Т oDoubl (l
Co
1 r . ГоDонЬІеe(Іаab e
Ьеe
1 І l
КK 7
 K
7 2.T .
1 K5.Тexx)t,)
,Co 1ve11 
C 1 .т oDouble(labelK 7К3 
t Text ),
0 oпven.ToDouble(labelK7K6.Text), 1
) 
); 
Calct1late(poteпtia\s);
labclG К 1 .Тех! = Сопvегt .ТoSt1·i1
Co 1
t g
 = 11 (
v W
GK2.Tex  eг iп
t.ТoStr cl
i o
11 1v
g s
(W F0
i11 11
d 1
o 1sApp
bcl 1vsF licatio
0 1
11 1 І 
a .1:-01111 І .G 111gea111[O]);
І
IiibclGKЗ.Text = Co11vcгt.ToStгi11g(
abe GK4. 1 Wi
T 11do 11sA
1v p
sF p
0 licatio111.1:-опп J .G 1 11gea111[l ]);
l l ext = Co 1veгt.Т0St1·i1 g('Ni1 1111sApplicatio11 І .Fо1"111І .G 111gea111[2]);
1 =
1iil>e1GK5.Тext = Cш1vert 1
.T do
oS \1
tг s
i1 i
1 oп11sAp 1 
Co g
1 (W plic
ex 1,,e i
1· 11 a
d t
o io
t = .T0 1v 1
sf І .Fоп11 І ])
б.T Stri11g(\.\ o .G
п1 1
1 1
s 1
A gе
p а
p 111[З ;
K l
i1 i
1 c
d a
o ti
1 o
v 1
l 1
G s  
r І .
o F
г о
m п
s п
A  I .G1
b 11
e t pplic g
a e
t a
io 111[4]);
lii 1
ІiibelGK7.Text = Coпve11.ToStri11g(Wi11do 11 l .Fo
\\ 1111 І .
s G
F0 1
11 11
1 g
1s e
A a
p m[5]);
1 plicatio11 І .Гопп I .G111gea111[6]);
liibelNVPKI .Тех! = Co11vert.Т0St1·i11g(Wi11do\\1s)=or111sApplicatio111.Fопп І .Gпvp[O]);
ІliiЬelNVPK2.Text = Coпvert.ТoStгiпg(Wi11dowsFor111sApplicatio11 І .Foпn l .Gn11p[ І]);
abelNVPKЗ.Text = Co11,1e1·t.T0Stгiпg(WiпdowsFoппsApplicatio11 І .Fo1111I .Gпvp[2]);
labelNVPK4.Тext = Co1 vert.ToStri1 g(Wi11dowsForrпsApplicatio11 І .Fопп І .Gпvр[З]);
\abelNVPKS.Тext = Co11,1ert.ТoStri11g(Wi11do,vsFom1sApplicationl .FоппІ .Gпvp[4]);
JabelNVPKб.Тext = Co11ve11.ToString(Wi11dowsFoп11sApplication І .FоппІ .Gnvp[S]);
liibeJNVPK7.Text = Convert.ToString(Windov.1sFor111sApplication I .Fon11 І .Gпvр[б]);
labelLM.Тext = Conve11.ToString(Wi11do,vsFom1sApplicatio111.Fопп l .Glambda_max);
ІаЬеНС.Техt = Convert.ToStгing(Wi11do\11sFon11SApplicatio11 l .Fo1111 l .Gic); 
labelOC.Text = Co11ve1·t.ToStri11g(Wi11dowsFor111sApplicatio11 І .Fопп І .Goc);
labelGSщп.Text = Co1111e11.ToStri11g(Wi11dowsF01111sApplicatio1  І .Fопп 1.Gsшngeam); 
labeJNVPSшп.Text = Co11ve11.Т0Stri11g(Windo\\1 sFoпnsApplication І .Fопп l .Gsш11 t1\'P );
//clearing variables 
//WindowsFon11sApplication J .For1111 .sшппvр = О; 
//Wi11dowsF011nsAppl icatio11 l .f0 1·1111.su111gea111 = О;
//Wi11dowsFor1 1sAppJicatio11 І .Fопп І .ос = О;
//WiпdowsFoпnsApplicatioп l .fO 1111 І .іс = О; 
//WindowsForшsApplicatioпl .Fопп 1.Jarпbda_rпax = О;
//WindowsFoш1sApplication \ .Fопп І .пvр = [];
//Wi11dowsF01111sAppJicatioпl .Fопп І .1 1gеаІП
pr ivate void butto1 12_Click(object seпder, EveпtArgs е)
І 
dotrble[,] potentials = 11е\\1 dot b!e[7, 7] { 
\І 'С o вvert.ТoDollble(textBoxK І А І А2.Техt), СO 11 1е1 .1 · ToDoнble(textBoxK І А\ AЗ.Text), Coп,1ert.Т0Doнble(text
90 
482. ЧДТУ .231916-01 12 О І 6 
1 /\4,тext),Co11ve1 ·t.ToDouЬl
g, e(text8oxK І А І AS Tcxt . ,, 
С
�. т
,�оKD !оАtІ  ьІс(tехtВохК l А І А 7 .Tcxt)}, · ), опvегt. І oDoLІble(textBoxK 1 А І A6.Text),Co11vc
/Со111'с�. ToDoub
T l
ex ) e
,Co(11lvaebel І 
t гt.KTo DАo2uАb 1l.eT(teexxtt)B, І� xCKo пve
4 І А?rt- A
 То О 
S · Т _0LІЬ
.,Klfo't\І ie(textBoxK І А2А 7 .Text)}, ext )'  І� o(tiei xv
D etBn.oТxoK 
DІ oA
fo u2bAleЗ(t.TexetxBt)o,xCKo nІ vAe2rt ТoD
A. 6. u
T b
eoxt),lCeo(texetB1 o
1v 1 . 
01 i,,e1·1. oDoLІ le(lab l 1
/С TeTxt) Coпbvert.ТeoDKo u АlbЗАe( tІe .ТxteBxot)x,CKo І nАvЗeА11S.4 T · ТoеDo
ІА3А · в' хК АЗА  xt u) b, le(la e K
v b l  
ert.ТoІ DАoЗuАb2le.Т(tеeхxtt)B, 1o,xCKo nvert.ToD
Double(text о I 7 . Text),f ' Coп І АЗА6.Теoхut)b,Сleо(tпevxеtBгt.oТxоK
/Co11ver1.ТoDouble(l,abelK I А4А 1 . ext)
лJTcxl), 1, Т
Coпveii .l oDotib le(t
4A7.Тext } , extBoxK ,IC Aoпv
4 ert.ТoDouble(l
uble(textBoxKІA ) AS.Тext),Co11verat.bТeolKD Іo Aub4lAe(2t.eТxetBxto),xCKo пІ A
ve4rtA.6T.oTDexotu),bCleo(nJavbee11l.KT 0І АD40 
л/Cзo.Тпеvхetr)t,.ToD\o'еLrІbt. �І: o(lDaboeulbKle І (AlaSbAe lІ .ТI ext),Coпveгt.ТoDouble(labelK І A5A2.Тext),Con
Со11
e(tcxtBoxKI ASA 7 .Text)}, K A5A4.Text), l ,Coпvert.ToDouble(textBoxK І A5Ave6л T
.T. o
extD),oCu
obnlve(elabel
rt.ToKl)1o AubS l
(Con11ert.ToDouble(l
дJ,Тexl), .ToDaboeulbKle 1 (АlaбbАel I .K T 1 ext
A6)A,C
4o
.Тпv
ee
xtг)t,.CToo1O1\oetг1bt.lТe(lab
oDoeulbKle І (Ala6bAel2.Text),Co11vert.ToDoub e
АCбo
11ve
хtВохКІ А 7.Тr1ехt)}, 1 K І A6A5.Text), І ,Convertl .(ТlaobDeolKub І lАe(бt e
A/C3o.Т1
1
evxetr)t,.To
C D
oп o
v u
e b
r1 l
. e
Т(
ola
Db
oeulKb le І (Аla 7bА e lІК .ТI ex7t) ,C
v
А A4o.Tпexetr)t,.CТooDvoeurtb.lTeo(lDaboeLlІbKl el (Аla 7bA el2K.Т І eАx 7t) A,Convert.ТoDouble(labe!K І А 7 
еІКІА7 Аб.Техt), І } п 5.Text),Convert.ТoDouble(lab
} ;
Calculate(poten tials);
ІІааЬЬееІІКК ІІ  GGКK2І .ІаЬе К l GК .ТТехt = Coлvert
І З.Тeехxtt.  = 
= CCoo1n1vve .
er1rt..
T
ТToooSS
Stttr1
r·iing(
inngg((WW
Windows
iinnddoowwssFJ
roorгmmssAApppplliiccati
7
om1sAppli atioonп  1I ..FFoonnnn l11 
..GGmmgeam[O]);
аЬеІКІ GK4.Тext = Convert.ToString(Wind wsFormsAppliccaattiioonn  lI  ..FFooпnnn  l ..GGmmggeeaarnm[[I ]2]));;
ІlabelKJ G
ІаЬеІК K5.Text = C o
onvert.ТoString(WindowsFonпsAppiicatioпl .Fonn I 
 G .Gmggeeaamш[[З4]]));;
ІаЬеІКІІ GKKб.
7.ТText = 
t = Coпvvert.ToString(WiпdowsFoпnsApplica  1.Form ge
ex Con er1.ToString(WiпdowsFor111sApplica1tiioo11n I Fonn I1 ..GG1mngeaamш[[6S]]));;.
Іа
аЬеіКІ 1sFormsApplicatioп 1.Fопп І .GпУр[О]);
І Ье
еІКК] NNVP
V K J .Text = Con\1et1.ТoStriпg(Wi1 \\
PK2.Тext = Convert.ToStriпg(Wiп1ddoowsForшsApplication l .Fonnl .Gnvp[l ]);
ІІааЬЬеІ!К ]J  V
NNVPPKKЗ.Text = Coпvei1.тoString(WindowsFonnsApplicat!on I .Fo11n l .Gпvp[2]);
ІаЬеІК l N 4 т 1 = с rt ToStriвgg
(WindowsFormsAppl1cat10п І .Fопп І .Gп );
VPKs:т::t = C��:: :ToStrin (Wiпdo\\'sFonnsAppl!catio111 1I ..FFoonплn  1I at101 ..GGпvpvр[[4З]]);
r1
ІаЬеІК І.  NУРКб . Тe xt = С onve гt . Т о Striпg(WiпdowsFormsAppl1c пvp[5]);
ІаЬеІКІ NVPK7.Тext = Convert.T0String(Wi11do..,vsFonnsAppl1. cat1• 011 1 . F om1 1 . Gn vp [6]) ;
ІаЬеІКІ ІМ . пg (W.1 11 dowsFoппsApplicatioпl .FоппІ .Glaшbcla_max);
ІІ аЬЬеІ І І�С .  1.'Т exе
х
t t = Coпve11. . T0St.nК - С 011ve11. Т о St п пg (WindowsFonnsAppl1. c • F
. at10n 1 .  om1 1 . G'  ),
а еІК І ОС.Техt = Conver1.ToStriпg(WiпdowsfonпsApp 1�саtю· п І · forml Gic · 
· · oc)·'
ІІ.аЬЬ еІG Su111KІ.l,e xt = Conver1.T0Stri. пg (Wiпdo.\vsFonпsApplicatioпl .Foпn І .Gsшпgеаш); 
а elNVPSumK І .Техt = Co11vert.Т0Stri11g(W11d1  ows F 0 плsApplicatioп!.Foпnl.Gsшn1111p);
Private voi· cl bL1tto114 Click(object seпder, Eveпt А rg) 5 е)
91 
l
482• ЧДТУ .23 19 .І 6-01 12 О 1 7 
! clotiblc.:[,) ро1спt1. а І s = ІН.:\v <ІоuЬІс[7, 7] І
! 1, u 11vci ·t.'�·(: �u �i b��(Іcxt 
c 1 ) І� (:1��; Л� �2
вохК2Л I Л · ( .'Гcxt),C
· o
t iive
- n
O .Т
L o
� ) DoLІb!e(ІextBoxK A І А
хв ' ����i � І е Іех ВохК2А І Л5.Text) З
,C 2  Т
o е
п х
v \
A e ) C
t o
.Т 11v
r oD e
o Іb e rt ToDouble(text
ТоІ)оLІЬ с 1  ( tex ох. 7 . ех\ ) , L l (;extB;xK2A 1 Aб.Text),Conve
(1. J 
· {Convc
А 11
2 :i:�DOl b e(
А І
4. ex ) ! la
, bel�2A2A l .Text)
хК2 І ,
 t  l ,Coпvert:ГoDoub
o (\e tB
C iiv le
e x
i oxK
o 2A2A3.Tex
0 t),Con.vert.ТoDoubJe(text o
ToL)oLІble(text/3ox ·t. l � i B
K2 (
A2A 7. �І ext ble t x
t)}, e tBoxК2A2A5.Тext),Coпvert.ТoDouble(ІextBoxK2A2Aб.Text),Convert.
{Co11ve�1,-To0ouble
ЗА4. І ex ( �a?� 1K2AЗA 
t), ,vei І. І o I .T
l) ( e
o x
u t),Co
b nver1.ТoD
А oub
2 le(labe lK 3 2.Тe
Coi 2A A xt), 
l l ,Coпvert.ToDouble(textBoxK
. l)oublc(textBoxK2AЗA 7.Техt }e) , textBoxK2AЗA5.Tex1),Conver1.ToDouble(textBoxK2AЗA6.Тext),Convert.Тo
fC011ve1·t L
ДЗ.Тех .ToDo
l ible� l l 2
), 1, abe K A4A 1.T t)
Сопvе ,1. Гo oLІb ex C
l o
1BoxK2A4 .� e(1 ,
e n
x v
1B e
o rt
xK2 .ToDouble(labelК2A4A2.Text),Co11vert.ToDoubJe(labelK2A4 
uble(1ex A 7 .1 ext)}, A4A5.Тext),Coпvert.ТoDouble(textBoxK2A4Aб.Тext),Convert.ТoDo
{Co11ve11.ToDot1b��(laЬelK
АЗ 2
.'Гехt)
A5A 
, . I
  .Te )
СопvеrІ 0Do xt ,C
L1ble(l
o
a Ь n
е v
. е(tехІВохК2А5А 7І. ТехІ)}, І e
К2 rt.Т
А o
5 D
А oub
4 .Тех le
t), І ,С (la
о b
п e
v lК2
еп A
 . 5
Т A
 2
u .Te
l x
oD ( t),Con
o e v
x e
b B rt T
e o
t t o .
x D
K ouble(labelK2
2 A
A 5
5  
Aб. Text ),Convert. Т oDou ЬІ
{Co11ver1.ToDouble(labelK2AбA
. AЗ.  
T І 
ex1), .Tex
Conve11 .ToDo t)
н ,
b C
l o
e( п
l v
ab e
e rt
lК .T
2A6A4 oDou
. b
T l
e e
x (l
t a e
), b
C lК2AбA2.Тext),Coпvert.ToDouble(labeJK2Aб 
хtВохК2АбА 7 .Text)}, oпvert.ТoDouble(labelK2AбA5.Text),l,Convert.ToDouble(te
{Co11vert.ТoDouble(labelК
AЗ 2
.T A
ex  7
t  А l .T
) e
, xt),Con
.Т ve
 o 1
D u T
 Ь o
] Do
( І u
а b
o Ь l
е e
І (
 labe 2
Coпvert
е!К2А 7 Аб К
. е 2
Т А
е  7 . lК
 А4.Т A
 е t  7 A2.Text),Conveп.To Double(labelК2A 7 
хt), І }
х
 ),Сопvеп .ToDouble(label К2А 7 А5 .Text),Conven.ToDouЬ Іе(ІаЬ
} ;
Ca lcu late(poteпt і als );
labe!K2GK І .Тех\ = Co11vert.ToStri11g(WiпdowsFonnsApplication 1.Form І .Gшgеаш[О]);
labelK2GK2.Text = Convert.ToString(Windowsf ormsAppl ication l .For111 І .Gmgeam[ 1 ]);
labelK2GK3.Text = Conveг\.ToString(Windo\1/SFormsApplicatioп l .Form 1.Gmgeam[2]);
labelK2G
l K4.Text = Conver1.ToString(WindowsFonпsApplication І .Fопп l .Gmge
ab am[З]);
elK2GK5.Text = Convert.ToString(WindowsFormsApplicatioпl .Fonnl .Grngeam[4]);
labelK2GK6.Texl = Convert.ToString(WindowsFonnsApplicatioпl  .Fo1m l .Gmgeam[
a S]);
labelK2GK7.Тext = Coпvert.ТoString(Wi11do\\1sFoп11SApplic tion l .Foпnl .Gmgeam[б]);
b
lla elK2NVPK l .Text = Convert.ToStriпg(WindowsFonnsAppl!cat!on 1.Forml .Gn,1p[O]);
abelK2NVPK2.Text = Coпvert.ToString(WindowsFonnsAppl�cat�o11 I .Foпn I .Gn,tp[I ]);
labelK2NVPK3.Тext = Convert.ТoStri11g(Wi11dowsfoпnsAppl�cat�o11I.Foп111.Gnvp[2]);
labe
l lK2NVPK4.Texl = Co,ivert.ТoStriпg(WiпdowsfoппsAppl
abe] �cat�oпl .FоппІ .Gпvр[З]);
K
labe 2NVPKS.Тext = CoпYert.ToStriпg(Wind0\\1sFoп11sAppl cat o11 l .Fon11I .Gnvp[4]);
lK2NVPKб.T xt = Coпvert.'J oString(\Vi11do\.vsfo11пsApp �
l �cat��o11 l . orm l 
e .G11vp[5])
І а ь е Ік2 NVPK7.Text = oпvert· . 1' о Stгi·пg(Windowsfor111sAppl1catю111.r:FоппІ .Gпvр[б]),:
с 
І а Ьe lK2LM.Text = Convert .Тo S t_п· ng( W. ' Applicationl.Fo1111l.Glambda_ma
1 лdowsГor111s x);
owsF• omisApp lication І .Fопп J .Gic); 
1І аЬеІК2ІС.Т,е хt = Co11vert.ToStп11g(Wшd . . . . . 
а ь е І К2ОС. Гехt = Coпvert.Тo S tп. ng (W.1 1 ido\.vsFoппsAppl1catю11I.Fo1111 І .Gос),
І а · 
ь elGSu111K2.Тext = Co11veгt.Т0Str1· 11g·( \V'!П  do,.vsfor111sЛpplicatio11l.Foг111l.Gsшпgea1n);
92 
J 
482.ЧД У.231916-ОІ 12 01 8 
І� , �...,І� \ІР timK2.Text = Co1н1ert.T0Sti·iпg(\ .1 d 
1� 11 
.. 1 о,,, 1:опн А РР І.i catю. n l .Fom, 1.G ui1111vp);
pn. , ,,oid bнttoпЗ_Click(object sendeг 
 E
1c11c: ventA·1 g s е )
1 double[ ) poteпtials = не\v doub\e[7, 7) {
rt oDouble textBox A 
1 1 ,С��,,еІдT4 ( К
. Т ехt) 'C on,1e r
t.ToDЗ
A .Teo
І А2.Тех
xLtІ)b}l e(text t); СxKоп,, гt
B е  Тоо І 
ЗA 1 А5 · Т eo
Ь
7 xut ) , еo(tпеvхetВn.о К
ТхoDЗoАu І bAleЗ(t.ТexetxBt)
1
o,xCКo1З1\Ae Т
 1rt A. 60Doub
.T xt),Cleo(tnext
txKJA C
�&,Jo{)(1tІ bl е( tex· tBoxKЗ І А • e ,1e
1\ ,·ert TToDouble(\abe\KЗA2A 
ex , І .Тех
rt t
) .ТoD )
o b ,
u  
e 1,C
i onve
n rt
4 Т
t  t le( extBoxKЗA2A. o Doub
J l
1 S · Тe xt e
) (
C t
oe
i1x1 \'etBo 
rt.ТxК
Co 1\ t oD3oAu2bA\eЗ(.tТexext t) C
Bo,xKonЗv
Aen.Т2 бo.ТDA eoxuble(tex Вo
sfK
А 
tiDo -�u-b e(· tex· tBoxKЗA2A7.Text)} t),Convet rt.
l
\C•tm,-ert.eTxo)D Couobвl,e, (ІаЬеІКЗАbЗА 1 · �ext) Con,,ert Т oDoub\e( ІаЬеІКЗАЗА
-i�-�J ·
A H t ert.To
7 Dт oLІt )\}e ,( text
.. e x Box. 
. K3AЗA �
ettextВo. А 5.Text),Con
bl ven.To 2 Тех
З Do u ЬІе.  t .t  )В,  ( l
ext   ,C 1 v
 ох КoЗ1 e
АЗrtА. Тб o ТD.  o,u )b lсeex  o(i
e
t , n,xА ,etBno. x
т оK 
хКЗ
\Convert.Т
3 o 
e D
xt) o
, u
Co b
n l
v e
e ( ІаЬеІКЗА4 А 1 ·Тех t), Coпven .Тo D u 
AJ I rt.ToDouble(textBoxK3A4AS.Тe
tВохКЗА4А 7.Тех. )}, x1) o
, Ь Іс( ІаЬеlКЗ А4 А2. Text ),Coвven. Тo Do
ех Co1 1
сЬІ�t 1\ er1.ТoDouble(textВoxКЗA4A6.T
u Ь
ex І е
t) (
,  
C І
o аЬеrtІК З
11ve .ToАD4o 
t
\Convert. ToDouble(labelКЗASA l .Text),CoП\1ert.ToDou
,\3Jext), nvert.ТoDoubl ()abelК3ASA4.Text), 1, b
o l
п e
v (
ert.TlaobDeolKubЗlAeS 2
(tAext.ВToexxKt),ЗCAo51
1
Ave61.1T.TexotD),oCuob
le(labelKЗAS 
Co e
�Іе.хtВохКЗАSА 7 .Text)}, C 11vert.ToDoubl
(Con1·ert.Т0Double(labe\KЗ 6A
A3.Тext) l
, A  .Text
Convert .ТoDou
пВохКЗАбА7 Text)}, ble(labelК ,C
3Aб)
onv
A4.Texetrt),.ToDo
eurtb.Тle(olDabel
Coнv oubKleЗA(la6bA2elК.TЗe Aб
Axt6)A C5o.Tnv  
exertt),. Т1,oCDoonuvbertle
abe
.( l
Тl K
o З
Double(te
.
1ACHone1·).e1n),.Т0D,o1 uble(labelКЗA 7А І .Text),Co1l\,ert) .Т0Double(labe\KЗA 7 A2.Text),Co1ivert.T0Double(labe!KЗA 7 
е!К3А7АCбon
.Техert.ToDouble(labelKЗA7  A4.Text 
t ,Convert .Тo Double(labe\KЗA7 А 5. Тe xt),Convert.ToDouble(lab
),l}
} ;
Calculate(potentials );
ІаЬеІКЗGК І .Техt = Coпvert.ToStriлg(\Vindo,vsFoпnsApplication l .Fomn1  lI
 .G1 1geam[0])·
ІаЬе\КЗGК2.Техt = Con,,ert.ToString(\Viпdo,vsFoпnsApplication l .Foп  .Gшgeam[ І])·
ІаЬеІКЗGКЗ.Техt = Conver1.ТoStriпg(W indo\\1sFom1sA pl!cat!o11 l .Fonn 1.Gшgeain[2]):
ІаЬеІКзGК4.Техt Con,,ert.ToStrino(Windo,vsFom1sAppp\1catюn l .Foпn l .G1 1geaщ[З]),
= 
ІаЬеІК.Зокs.  ех1.  = onvert  . ToStrin�; (Windo"'sForшsApplication І .Fоrш1 .Gшgea111[4))·
ІаЬеІКЗGКб тт  .,1 сС  , rt т St ·no(Wiпdo,vsFom1sApp1 · 1catю. n І .F. о п11 1 . Gп 1 ge ,a 111[S))·
= 
ІаЬеІК3GК7:т::t C����r1:T�S;n�(W ndo,vsFoппsApplicationl .Fоп11 l .Gшgеаш[б));
i
= 
lab ng(Wi11clo\\'Sfon11sAppl!cat!o11 \ - оnп - 11\'Р
ІаЬ i
еeІ\K trКЗЗNVN oS
УРPKК2 І .T  �
..ТТееххtt  = onve11 � � � Е: 
\КЗNVРК = C
 Convert.ТoStr!11g
�
З.Техt Conver1 (\
. 1/!
Т0 п
S d
t o
п \
n ,s
g F
( o
W n
ш s :�:
d 1
o P
,v P::�:�:��: :F��� 1 :о
:а ���[2]):
Ье
ІаЬеІКЗNУРК4.Техt ==  Con,,ert.ToStriпg(Wiпdo"'5;oп A��licationl Fon1  І .G11\'Р[З))· 
1а3 ЬеІ
Ье КЗNVрK S.Тext = Con,,ert. То St · o(WiпdO\\'SF оonпппssA pplicationl · Fonnl .Gt1''P[4)):
1 !КЗNVРК6.Техt = Conve1 .Т0
х ,ert.T0SS
 trпiпt: . F sApplication І .Fопп I .G11\'P[5))
пdo · 
аЬеІКЗNVРК7.Те t = Co1 , triппgg((WW1� 11 ,
do,,v,ss/  0� :�sApplicatioп \ .Fопп 1.G І1\'Р[б)):
ext = Convert.ТoStri110(\1/inclo,,rsforП1sApp1 - ica tion 1.For111 І .Gla111bda_inax);
ІаЬеІКЗL 1.T 93 
482. ЧДТУ .23 I9 І 6-0 l 12 О І 9 
, ІС.
i Т xt == Со1ю;І1.Т 1
J13. bьеe1І KK1- 0 · Text == Con,·er1.
о tri1t 1g(\\ iпd . 
ТoS riпg(\\li 11d
o\\• Fоплs
o,,,sFom1sАl p 1І . 
РР l�1at1
cat�юnn І  1.F.Fооппп I .f G. )
G1co : 
І І GSt1mK п ):
З
�� ,psu111.
Тext = C
K3.Тext =o11,
ІnЬеІN\  Co,e1r1\t.,eT11o.SТt0rino
Stri(п\1/gi
(nWdoiп,dvs FomisA Р .
o,vsFormsРA 1p�с
 аt. 
pl1_юп
catю_І .Fn оІ т.F 1 I 
or.
G 
1 нт
11 gеаш): 
І .G uпш,rр);
pn_ 1ia1e void bu1tonS_Click(object seпder, Ь1entArgs е)
! double[] poteпtials = пе,v dot1ble[7 7) {
1 Con,,eІr1 f\.ToDouble(textBoxK4A 1 A2.Т x
1 1�,К4А 4.Text) Coiiver1 .ТoDou
xK4AIA7.Тext)b}le
(texe t
t ),Co
B п
x ve
K4 n
A A.ТoDouble(textBoxK4A І АЗ.Техt) Convert.ТoDouble(text
o
11,&:Т 11 [)о ble(textB ,  1 S .Тext),Con,1en.ToDouble(textBoxK4 J Aб.Text),Con,•e
o
u 
•Conдi2·eАrt4.Т.ТoеDхot)u bCloeп(l,a
belK4A2
,er1 oA
.T  e
oD ubll e.T l п
(texxtt)
 Co
8, o,xK4vAe2rtA.Тo
�4 5.ТDeoxubl
),Ceo(t1e1,xt
eBrtoTxoК4A2
ToDouble(textB xК4A2A 7.Техt)}, t 1 . DoubAJ
le(t
.T
xetxBt ,C
e )oxКo1
41vAerAt.T6o
.TDoub
2 ext) l
 e
C(
ote
11 x
, etВ1 rto
o .
1c0n,,ert-! .ToDollble(labe
o1 ert lDKo4uА bЗl А 1. 
C 1\ Text ) 1
ext) ,Co11 \ e
t-\J,\ .T rt. ToDouble(labelK4AJA2.T ext) , І ,Со11 ,,en .Т oD
1 ouble( textBoxK
��ble(textBoxK4A3.AT 7o .Техt)}e,( textBox.K4A3AS.Text),Co11ver1.ToDouble(textBoxК4AJA6.Text).Conver1.To
:r�n1•er1.ТoDoubeI1le(
. l
ТabelK A
І 4 4
,u. xt) C A I .Te t 1
1
І�ТteехtВохКon4,А4А 7o.TDeoxutble(
)} textBoxx )
К4,CAo411, e5n
A .Т.TeotD),oCl!bпlvex o e(lrtab.ТelKD4
o oAub4lA2e(t.eTxetВxto)x CКo4nA,,e4r1A.6T.oТDexotu)b Cleo(пla,,beertl.
KT4oAD4o 
AІCH00e1•xetrt),.ToDoub.lТe(labelK4A5A1 .Text),Coп,,er1.ToDouble(labelK4A5A2.Text),Con,,er1.ToDouЬle(labelK4A5 
�ІехІВохКCo4nАv5eАr1
1
 7 .ТoDхotu)}b, le(labelK4A5A4.Text), l ,Coпver1.ToDouble(text8oxK4A5A6.Text),Con, er1.ToDoubl
е
\Con11ert.ТoD u
,\.J.Тext), o ble(labelK4A
nВохК4 C
АбoАnv7e.Тr1е.Tto)D},ouble(la6A l .Text),Co. n,,xer1),.CToonD,oeur1b.lТeo(lDaboettlbKle4(AlaбbAel2K.T4eAx61)A,C5.oT11evxet1)1,. T1,oCDoпo,t1,ebrlet.(TlabelK4A6 
belK4A6A4 Te t 1 oDouble(te
х
.-I\J.CТonei·xetn),Too1D1voeub.lTe o(lDaboeulbKle4(Ala 7 А l be\K4A7 А2.Техt) Con ,,ert.ТoDouble(label
C
tІК4А7А6.Техt)r1, 1} belK .T4eAx 7t) А,C4o. Тпe vxen) ,.CТoo1D1,ouble(Ja
t 1e11.ToDoнble(laЬelK4A 7 AS. Text),Co11\1ert. ToDoubKle4(Ala 7 
b
} ;
Calculate(poteпtials);
labeL 4GK Т  = Coпvert ToStгiпg(Windo,,,sFoппsApplicatioп l .Fon11 I .G111gea111[0J);
lІaаbЬeе1ІKК
К4GК2І ..Теххt!4GKJ Т  = C n,,ert:T Striпg(Wi ndo\ c 1 ea11 [ ])
е е o o
х С e Т o St · 11 (Wiнd ,,\,'ssFFooпmп1ssAAppppll!1caattю!on11 lI ..FFooпл1п1\ I ..GGш11"'�eam1(_� ]).:
ІаЬе1 4
Kк4GGKкs4··/Т x �: СС  оOпil,\: е �..ТTо St1� � 11:(WWii1нd
( 1doo,vsFoппsApplication І .Fопп I .G111gen111[J]):
Іlaаbel
ЬеІК4GКб.Тe extt : С опveе11.Т оo St o
n i 1 o1,v,ssFon11ssApplicatjo11I .Fо1111І
l x si'� �(W 1 do, F0 Applicatio11 1.Fоп І  ..GG111111ggeec1r1u1111[[45])));;
abe1K4GK7.. Text =- Coonovvenr1.. TоS  11i_111111g"' cw·1 11d o\\'sFoп11п11sApplicatioп І .Fопн11\ .G111gean1(6]);
ІІ аа Ьь е 1ІKК 
e 44NNV.V  PKJ .Text = Со1н1
РК2.Техt = Co11\ е1r1
t ,
e 1..ТT00SS пп·
.  ппg
g .((\\1/1/ш..  do 
 111d  O\\,,'s
 Fоппs·А ісаtіоп 1.Fопн 1.GІ1\'Р[0]);
Іаь 1 S F·0 1111s A
рpрlІ,·c"" ti'oнl FоппІ [ ]
e1K4NV t p
РКЗ.Тех  = Co11, pl ·catioнІ  · Fопп l ·. GGt1нн'11P І ));'·
Іаь І І<.4 у РК t 1
4. е = er1.Т0Strm· g cw·I I 1d0,,,s F 01111s Ap i , · 
Т хt  Со11, е11.Т0Stп· щ; cw·1 11do\\lS F·0 1.1 11 s-Applіi'c�:аn• ttiіoовнІl  ,· if:,-0()1п11п1І.
1 .GGrн'Р[[З2]])·
ІаЬ С 
е ІК 4 1
NVPKS.Тext = СопУе11.ТоStгі11g(\\l інd нvp[4])
() \VS F·о пн :, ЛррІ ;
94 
482.ЧДТУ.231916-ОІ 1201 10 
l К4 VPKб.Tcxt = 011ve11.ТoS
/1n�bt1еcІК4 VPK7.Tcxt = Co11 g
ve11 1г
.ToS1г
iinпg(WWiiп( ddo
п \
o,\v,  Гот� . 
· F 01.1 l
11 АAрpрp\1�cсаat.� o11\ .tю l]oп
1 І nl.G \'p[S])·
1 .Foп 11
n І .Gn )
ІК4LМ.ТехІ == Coп er . vp
o [
S i б
п ) ;
d
tnbelK41c.Text = Co11\1ev .t T tr g(W . 
гt ToString(Win
iп o\\,s\:-o п А 
l •c� . 
t 1011 І :Fonn І -� l i da _тах ·
0C Text = C nv 11.Т0Striлg Wid( o,,,sF n�� � p� a nb )
І/nаbЬeеІ j(4 · o e nd o
ows F on l
пsAppppi
t І 
l�1ca i� .
atюпn  І·о  I .G1 ; 
1.F rщ )
огтІ .Gcoc);
/ b юsurnK4.Тext = Coпvert.ТoStri W
ae NVPSu111K4.Te t ng( d
x = Conv 11.Т0Str giп
i Wo
п ( w
i11d
sFwo s r ;1 А 
b І o s РІ І) .1 \а е e onn А рсра
1.ю_  n_І .І1 o
аtюF n111.Gsumgeain); 
с п І .Fопп J .Gsшnnvp);
І 
pnvate vo id buttonб _C lick( object seпder, EventArgs е)
( double[,) potentials = new double[7, 7) {
1 convert.T4oТDout ble{textB.o
x 1 2. хt 
A . ex ), ToКS
D Au 
,С
bАle eТxе ) оп
(t tB vеr1.Т oDouble(
I text B
A oxK
S SA І АЗ.T ext ),Coпvert. Т oDou ble(text
�'\К Coпvei1 o
йoDouble(textBoxКSA І А 7 .Text)} oxКSA І AS.Text),Coпve11.ТoDouble(textBoxKSA І Аб.Техt),Сопvе
:conver1.ТoDouble(labelKSA2Al  .
iК5 T
A2 ex
д t
4 )
. ,
Т  l ,Co
ext , n
.ToDouble t v
ex er
t t.ТoD
) ( B ou
oxK5A2A5 T ble(
. tex
e tB
xt o
) x
,Coп К5A2AЗ.Te \
Coнvert
roDoub e(textBoxK5A2A7  .Text)}, ver Т D xt),C
t. o11 1e11.ToDouble(te t80
l o oub\e(textBo x
xК5A2Aб.Text),Convert.
\Convert.ToDouble(labelKSAЗA l .Тex
iAJA4.Т t),Conv
ex , ert.ТoD
t) Convert.ToDouble(textBoxKSA ou
З ble(l
S abelKS
7  хt)}, A .Тext), AЗA2.
п T
v e
e x
rt t
. D ) ,C
BoxКSAЗA .Те Co Т , l onvert le(t Box
t o
e(tex oub .Т
le o ex К
(t D
ex o
t u
B b
ox t
К
ub 5A
:Ю ЗA6.Тext),Convert.To 
l
[Convert.ТoDouble(labelК5A4Al .Text),Convert.ToDouble( abelKSA
\J.Тext), l ,Convert.ToDouble(t t 4
o \ A2.Text),Conve
B rt.ToD
ex xКSA4AS.Text),C ouble(la
n b
v e
e l
o rt K
.Т S
o A
D 4
oub
lhl�textBoxКSA4A 7.Техt)}, le(textBoxKSA4A6.Text),Convert.ToDo
:�co.Тoevxetrt.ToDouble(labelK5A5Al .Text),Convert.ToDouble(labe\KSA5A2.Тext
), ubl (textBoxK)
,Convert.ToDouble(labelKSAS 
Convert.ToDouble(labelK5A5A4.Text),1,Convert.ТoDo e SASA6.Text),Co
(le oubl
x nveJ1·.ToD
tBoxКSASA7 . Техt)},
Con
0. ve
T rt.
ex Т
t oD
, ouble(labelK5A6A \ .Text) Convert.ToDouble(labelKSA6A2.Text),Conve11.ToDouble(labelКSA6 
ІВохК ) Con
5Аб ven .Тo Double(labe\K5 А6А4. Тe xt ),Сопvе11.Т o Double(labe\KSА бАS. Т ext), l ,Convert. Тo Doub le(te
А7.Техt)},
Convert.ТoDouble(labelКSA7 А l  .Text),Coпvert.ToDouble(labelKSA 7 A2.Тext),Co11ve11 .ТoDouble(labe
. D ulKSA7  
J.Text),Co 4 ,Coпvert.T oDouble(labelКSA7  AS. Texl),Co11ve11 T o o ble( ІаЬ
ІК5А7Аб.Тnеv
ert.Тo Double(labe\KSA7 A .Text)
хt), І
}; }
Ca\culate(potentia1 s ); 
ІІ аЬabеel)К
5
K G
5 К I . Те _ С  о St п. ng (Wiпd ,,.,sFormsApplication I .. Fo11n І .Gшgешп[О]);
o
labelKSGK х! - onver1.Т 
2.Тext = Convert.ToString(W1. 11do,\'SFonnsА  lica1ion I .Form l .Gmgeaш[ І]);
1 GKЗ .Тех! = Conv rt.ТoStn. пg (W 1• 11d owsFormsAРppРl .1 cat.1 0n І.F ·o m1 I . G mgea111 [2]). ·,
\Ь elK5GK4 e
.Тext o sА  i·cationl Foпnl.Gn1gea111[З])·
1 a elKS = Coпvert.ToStting(Wiпdo, s
GKS.T vsFFormsАРpРt /саtі
ex оп І ·Fопп 1.Gmgea111(4]):
lаb elK5 = C
GK6 o11vert.ТoString(Wiпdo\
. v
ІаЬ elK5G  
K Т rm
ext = Convert.Т  о St п. пg (Wind ,vs F пns A pppl:c:tioпl. · Fопп 1.G111go� e
a111[S])
o o
7. [
Тe );:
xt = Co11ver1.T0Stri11g(W.1 11do,vs F оп 11 Application 1.Fоп11 І .Gш еаш б]
І Ь lK NVrк1 .Т = Co 1\1e11.ТoStri11g(Windo\,,sFonns А РР \ication І 1=-01111 I .G11,'P[0])·
а e S ехt 1
95
482.ЧДТУ.231916-ОІ 1201 І J 
/5NVPK2.Тext = Co11\1ert.ТoStгi11g(Wi11do\vsFoпn А . . 
І�ьеІК N·урК· З · Тех!= Co11\1e11.ТoS1riпo(W · d "1 s F ns ррІ�саtю· п І .Fог111 I .G.t1\1p[I ]);
1KS 0 i 11 0 V\ on sA р І· саt оп 
\аЬе sNVPK4.Тext = Co 11vert.ТoS1гiпg(Wiпdo,vsFoппs Р � � I .For111\ .Gпvp[2)); 
 
\аЬеІ A
К NVPK5 Text = Cot1\ eгt.T0Sttit11!(Wind F ррІ�саtюп І .Fопп І 
1 s .Gпvр[З)); 
o
1aьeLКKSNVPK6.· Text = Co11\1er1.ТoSt1i � \11 ·o o,v n11sApplicatio11I.For1111.Gпvp[4));
1 S 11о ( ·v 1 do,vs FonпsApp!ic t' 1 F 
ІаЬь\е�1  5NVPK 7.Техt == Coll\1e11.ТoStri11g(Winclow . 
sFo nns А 1 · а юп ош1 І. G11\'р[S)); 
1а РР 1catюпl.For111!.Gпvp[6));
ІKSLM.Тext == Convert.ТoStriпg(Wi1
І 1
а do
еЬ ws
5І FonnsAp
С pl· cat' F 
І.К .Техt = CСo n\1eгt.T  
oStri ю
n d n 1 
g( .
W  o11
i 11
n J .?o I
w ambda_max); 
1аЬе sF011
К ns
О Ap
С p
.Т li�х t
t = І 
еІ S е o11v т F
e
Ь 1
а .
І  оs · 
t ( . 
п аюn.опп
п І.G с
g ; 
W tndows 1 )
F01111sApplicatioп І .Fопп І .Goc );
ІabeIOSumKS.Text = C�11vert.ToStri11g�Wi11d?�'sFonusApplica1ionl .Fo
Іa m
beІ  l 
NV .G
P s
S u
u m
m g
KS.Text - Co eam); 
nvert.ToSt1111g(WшdowsFon11sApplication I .Foпnl .Gsunшvp);
) 
prii,ate void buttot18_C lick(object sendeг, EveпtArgs е) 
( double[,] poteпtials == new double [7, 7] {
/ІCoнvert.ToDouble(textВoxKбA І А2 .Т ext),CoпYert .Т oDouble(textBoxКбA І АЗ .Техt ),Converl .ТoDouble(text
�ІК6АІА4.Техt),Со11vе11 .Т 0Dot1ble(text ВохКб
}, А І AS.Text),Con,1e11.ToDouble(textBoxK6A  І Aб Text),Conve
e(textBoxКбA 1 А 7 .Тех t .
iToDoubl )
(Conver1.ТoDouble(labelK6A2A І .Техt), l ,Co11vert.ТoDouble(textBoxK6A2A3.Тext),Coпveгt.ToDouble(textBo 
�6A2A4.Тext),Convert.ToDouble(textBoxK6A2A5.Text),Convert.ToDouble(textBoxK6A2A6.Text),Convert. 
Jo!Jouble(textBoxК6A2A7  .Техt)}, 
�onvert.ТoDouble(labelКбAЗA І .Т ext),Convert.ToDouble(labe!KбAЗA2.Text), l ,Conve11 .ToDouble(textBoxK 
IOA4.Тext),Convert.ToDouble(textBoxK6A3A5.Text),Convert.ToDouble(textBoxK6A3A6.Text),Convert.To 
11:юЬІе(tехtВохКбАЗА 7.Техt)}, 
IConvert.ТoDouble(label К6А4 А І . Т ext) , Convert.Т  oDouble(labelK6A4 А2. Тe xt) ,Con ,,егt.T oDou ЬІе(ІаЬе\К6А4
,IJ.Тext),l,Convert.ToDouble(textBoxKбA4A5.Text),Convert.ToDouble(textBoxК6A4A6.Text),Conve11.ToDo
tЬ�textBoxK6A4A 7.Техt)},
!Convert.T oDouble( ІаЬе!К6А5 А l . тех t) , Coпvert.Т o Double(]abelK6A5A2.Tе х\ ),Convert.Т  oDou ЬІе(ІаЬеІК6А5
!J.Text),Convert.ToDouble(labelK6A5A4.Тext), J ,Convert.ToDouble(textBoxK6ASA6.Text),Convert .ТoDoнbl
Ц�ВохКбА5А7.Техt)},
��;еr1.
e( ЬеІК6А6
тo Double( Jabel КбАбА 1. т ext ), Conver1. тo Dou ble(labe!K6A6A2. Т ext ),Coпvert .Т oDoubl Іа
, 1 Co ert.ToDouble(te
�xКxtб),Convert.ToDouble(lab !K6AбA4.Text),Conver1.ТoDouble(labelK6A6AS.Text) , пv
e
АбА7.Техt}},
�ven.тoDouble(]abelKбA 7 А l .Text),Conveл.ТoDouble(labelKбA 7 A2.Тext),Co11\1e11.Т0Double(labelK6A 7
 А . ext),Co11vert .T0Double(lab
�б�tА),С6 onvert.Т oDouble( ІаЬеІКбА A T
7 А4. T xt),Convert .Т oDot1ble(labelK6 7 5
e
{ext),l} 
Caicu] а 1 e(poteпtials);
ІІаЬеІКбGК ,, . А рІісаtіопІ .Fon11 І. G111gеаш[О]);
аЬеіКб І. І ext == Convert.ToString(Windo\vsFoппs 
1· tion І Fоппl  .G111gea111[l]);
ІаЬе1кбgк2.техt == Co11veгt.ТoStгing(W!t1dO\VSFOП р 
1�:Аpp1:�:1iot1 І :rопп l .G111gea111[2]);
ІаЬеіКб КЗ.Техt 
G == Co11veгt.ТoString(W� A
11do,1/sF0�� PP ic io11 \ .Fo1111 І .Gшg
4 еа111[З]);
lab J K .Text == Conveгt.Т0Strшg(\V�11dows�o 1sA l at
e KбG APP\icationl .FоппІ .G111gea111[4]);
KS.Text == Co11ve11.ТoString(WJ11d0\1/SForms РР 
96 
482.ЧДТУ.231916-ОІ 1201 12 
І а ьеІК6GКК76.. Т'Г еeхxtt  ==  CС o
1
o1пнveert S
rt..Т0
To ttri6 пg W d 
К G S riп (Wiп o,vs F 
ІаЬеІ g( iпdowsF oorr11m1ssAAppppllii. ccaatt'ю10 1п1  ІІ  .. FF·о опппп  ]
ІI  ..GG1m11ggeeaam111[[S6]));;
ІаЬе КбNVРК І .Техt o 1 S W
І І
а be!K6NVPK2..Тe
З еxt ==  CCo11пvvee1n..ТТoSt
o trriing(W·� пdd o,vsl·oппsApplicatioп І .Fопп J .Gпvp[0]);
І ЬеІКбNVРК4.Т хt = Coпve
х Coпve1rt1..ТoStгiпiigg((W'i n owsFoпn sА  РР 1·1 саtю· 11 І .Fопп І .Gпvр[І ]);
1:ьеІК6NVРК Те t = ТoStt·iпg(Ww;· :�
d �:sFormsAppl!cat!oлl :.- vp[2
1 be!K6NVPK5.Text = Convert.ТoStгiп dd o ssFo
w on11SsApppl1caatюn lI 
 ..1Fooпn11n J1  G
..Gnn,,p[З]);;
1:ьеІК6NУРКб.Техt = C 11vei1.ТoStriп giw::d FormsA pl!cation  .Fonпl  . vp ]]);
7. е o
1 а ЬеІК6NУРК Т хt = C пvert · ToStг·І Пgg( w· do
wwssFF01r·mn1sAppppll1iccяttiюnJ .FormonJ .F n J .
GGnnv [4 )
o A p[5]);
1t1 o o пJ .Gnvp[б]);
ІаЬеІКбLМ .Те C 1e . d . . 
ІІ а ЬЬе
еІККббІ .ТеххІ t= = C onoп, 1·trt.ТТ0SStrtirniпogW(W.  iпd o,vsFoп nsAp�lic�tюn 1._ FоппІ .Glambda_max);
С ve
а І ОС.Техt - Co o _
пve11.Т S t:> (
tпп ( 111 
g WiнdoowwsF
o sFoonr1п1si A t
s Аp pррl1 1c-1сaаюtю• 111l1 . r
1 F.Fo m
onl
nI. G.Gico)c; );
labelGSumSKu б
m.KT
ext 
б.Te=x tCoвve
lNVP  = C 1i11v.Тe1o1 ·S Ttгe oiSпtgr(b iWп iпd
la g (Woi. wdsn  oFoп
ws F11sA
·о плpspАliрcрaІt1·i сoаntю ·І  .F11Iо
п 
.пFoJ1 1.1G11s.uGms ug 
o щеаnтv)p·'  );
}
pri,,ate void button7 _ Click( object se11der, E,,eпtAтgs е)
double[,] poteпtials = 11ew dонЬІе(7, 7] {
p,Convert .ToDout)b,le(textBoxK І А І A .
.Т 2
ex Тext),Co11v
7 А І A4 e11.ToD
ВохК oнble(textBoxK 7 А І AЗ.Text),Coпvert.ТoDouble(text
Co11
rt.ТoDouble(textBoxK7 vАe 11 А.Т
(
І  7o .TDeoxut)b}l,e textBoxK 7 А І А5.Тe xt),Co11\1e11.ТoDouble(textВoxK 7 А І Аб.Техt),Сопvе
(Convert.ТoDouble(labelK7 А2А 1.Text), l 
хК7 A2A4.Text),Convert2А.ToDoubl (t xtB ,Coпvert.ТoDouble(textBoxK 7 А2АЗ .Text),Conver1 .ToDouble(textBo
e e oxК 7 А2А5. Text),Co11ver1 .Т Dou ble(textBoxК7A 2A6.Text),Convert.
ToDouble(textBoxK 7 А  7.Text)}, o
(Convet1.ToDouble(labelK7 АЗА! .Text),Co11ve11.ToDoнble(labelK 7 АЗАb2l.eТ(tеeхxtt)B, l ,CxKo1 71v AeЗ11A.ТoDeoxut)b,lCeo(tnextBoxK
7 5. Тext),Con\1er1 .Т 0D0L1 o б.T vert .То 
DAoЗubAl4e(.Texl),CoKпvert . ToDouble(textBoxK 7 АЗА
textBox 7А ЗА7 .Text)},
(Con,1ert.ToDouble(labelK 7 А4А І .Text),Co11ve1·t.Т0Double(labelK 7o A
2.Text),Coнvert.ToDouble(labelK 7 А4 
АЗ.Тех!), І ,Convert.ToDouble(textBoxK7  A4A5.Text),Conve11.ToD t1b4lAe(textBoxK 7 A4A6.Тext),Convert .ТоDо
uble(textBoxK7А 4А7 .Text)},
(Conv
A3.Тeert
xt),.ТoO
o vou
ertb\e(]ab lK 7 ASA l .Text),Conver1.ТoDouble(labelK7 A5A2.Тext),Convert.ToDouble(labelK7А 5 
e
�textBoxCK7n A
(
 .T o uble labelK 7А 5А4.Техt), І ,Co11ve1·t.T0Dou ble(textBoxK 7 А5Аб. Text),Convert .ToDou ЬІ
SA7. Do
Техt)}, 
(Convert.Т Doubl (]ab lK7А бА І .T xt), oпveгt.Т DoLІble(labelK 7 A6A2.Text),C5�1�evxetr)t,.А7  А Т l ,0Do
o
A3.Text
o e C
),Conv e e
en.ТoDoubl (labelK 7A 6A4.Тext),C 11vert.ToDouble(labelK І . І Co11vubel11e.(Tla0bDeo\Kнb 7l Аeб(t e
І ХІ o
Вохк7 АбА 7. e
Техt)}' 
(Convert.ТoDouble(]abelK? А 7А ] .Text),Convei·t.ToDouble(JabelK7 А 7 А2.ТехІ),Сопvе11..ТоOонЬІе(ІаЬе\К 7 А 7 
��ext),Convert.T Double(label К 7А  7 A4.Тext),Con e1·t.T0Doнble{labelK 7 А 7 А5 .Тext),Conven .ToDouble(lab
v
А7Аб.Тех o
} ; t),І}
Calculate(poteп t iaJ s );
ІаЬ е ІК . Т0Str1. 11g (W' dowsl:;-om,sApplication \ .Form l .G111gea111[0]);
7GK 1 .Техt == Co11,,ert. 111 
97 
482.ЧДтУ.231916-011201 13 
Іа ьеІК 7GK2J..TТexxtt  ==  CCon\,e
e onvert.ТoSt
rt. rin1:1
K ( W
7G : � g(W!пdowsFor
ьеL msApplication ! .For
oS! п
:а ьеІКК  7GK4.Text: Convet1. ГoSt� g(W�пdo,vsFormsApp i
�ndowsFormsAp l cation J .Fonmn]]  ..GGmmgeam[ 1 );
geam[ ]
п 2]);
�:ье!КК 7G К7G 5
K6. Техx І 
T e t = Co
C n
o ve t
. п r . O 
vert.Т 
ТoS!
S n 
tпn 
ng(W I g(\1/ nd
 �ndoow
І v.,sF 
е sFoonnrms
Ь = sAAppplliiccaatt iioon] .Form J .Gmgeam[J]);
!aа eІK7GK7.Text - Convert.ТoStnng(W111dowsFormsApppl ca n І .F onn І . Gm geam[ �] );
J b pl�1cat
t�1
o0n J 
n .F
l .Foormпn lJ  ..GGmmggeeaamm[[)б ]]););
JabeІK7N
7NVVP
PK
K1
2 .T
ex
a eІK .Textt:  Co
Connvv
e
ert.
rt.To
ТoS
Stt�n
�ngg(W(W!nnd
do,vsfo
J b ІК7NVPK3.Text =- Convert.ТoStпng(W�1ndoowwssFForm
r sAppl!cat!onl .Forшl .Gn,rp[O]);
::bьeеІК7 NYPK4.Тext = Conve .Тo oпnmssAApppplJ 1ccaat n
t�юon]l  ..FFoormrm  ll  ..GGmrp[I 
1 n"P[2]]));;
JabellK
N
K  77NYVPK
PK65 ..Т
ех
Тext = o
t  C
= Convertrt. Str ng
e n e ToSt�!n (W
g(W! лdowsFom1sAppli
a �ndowsForrnsAppliccat
atiion] 
I . .Fon Fo
 oгmrm I .
J .GGnYp[З]);
ІаbЬеІК7NУРК7.Техt = Convvertrt..ТТooSSttппnngg((WW�1лnddoow\vssFFoomnn1ssAAp
pp
pl
l�ccaat
tiюonn I .Fo  I nv-p[ 4]);
1  I .Formrm  I .Gn
1 "
.Gn pP[5]
\ )
r [б])�, 
l e K .Text = o en.Тo
ІаabЬеlІК
7LM
7ІС.Техt = CConnvvert.ТoSStnt_rniлgg(
(W�1ninddoov.wsFoпnsAp�licationl .Fonnl .�la bda_ тах);
t C 1
JabelK70C.Tex = onvert.ToString(Windo\svFsFooпnrmsAsAp
c
pppl1l a
ict
aюtionnl l.F .Foormrml .G 1.G1co)c;
m
 );
labe\GSum� 7 .Техt = Convert
la .T
b  
eINVPSumK oS
 7 Co tr
.T i
ext = nvert oпg(
.T W
 i
Sir n
in d
g o\
( v
W sFo
indo,vsnFn sonnAppl mgeam); 
sApicpalt_io1cantю: .Fn oI rm.Fo lr m.G sl u
 .Gsumл"P),
} 
private void textBoxК4A4A5 _KeyUp(object sender, KeyEventArgs е)
{ MirorPotential(textBoxK4A4A5, ІаЬе1К4А5А4);
private void buttonl2_Click(object sender, EventArgs е)
{ //input аІІ data from last matnx
l//Іlaab
С 
be!RezlCl .Text = ІаЬеІІКІ IC.Text;
llaab
ee1!RReezzlICC2З..ТTeexxtt  ==  ІІааЬЬееІКК2ЗІІСС..ТТеехtt;;
beIRezIC4.Text = labelK45ІICС..
Teхxt;
llaabbell.R zJ 5.Text = ІаЬеІК ехt;
labee!R
eezICCб.Text = ІІааЬЬееІ!ККб7ІІСС.Т.Техt;
//NVpRezIC7.Text = Техt; 
labelR ezNVPI .Техt = llabelNVPKК2I .Text;
llaabelRezNVP2.Text = abelNVP .Тe t;
b Теx
l хt;
laab
eelJRe аЬеІNVР
RezzNVPЗ T xt = І
NVP4..Тeext = labelNVPKК4З..Тext;
labe1le Re
RezNNVP5.Text = lla
be
aЬelNVPКб5..Т
ex
Text;
labb NVPK
elRezzNVVP  l
P67..ТTe  =
exxtt = labe1NVPK7.Textt;;
//nvp of А for К 
ReezAJ КІNУРКІ .Text;
R zA І KK2J ..ТTeехЗ xtt  ==  І І
lаaЬbеelK2NVPK І .Техt;
RReezzAA ІІ  К .Тех lKЗNVPKI .Техt;
К4.Техtt  ==  labe
labelK4NVPKI .Text;
RReezzл І е be!K5NVPK1 .Техt;
д І КК5б..ТТеххt = a
t  = lІаЬе!КбNУРК 1.Т ext;
RezAJK7.Тext = JabelK7NYPKI .Техt;
98 
482.ЧДТУ.23l9Іб-01 І20І 14 
ftczA2K І .Т xt = ІаЬеІКІ  УРК2.Техt· 
RezA2K2.Text = labelK2NVPK2. ext;
RezA2K3.Тext = ІаЬеІКЗNУРК2.Техt;
RezA2K4.Тext = ІаЬеІК4NУРК2.Техt;
RezA2K5.Text = labelK5NVPK2.Тext; 
RezA2Kб.Text = labelK6NYPK2.Тext;
RezA2K7.Тext = labeIK7NVPK2.Тext;
RezAЗK І .Техt = ІаЬеІК] NVPKЗ.Text;
RezAЗK2.Тext = labe1K2NVPK3.Text; 
RezAЗKЗ.Text = labelKЗNVPKЗ.Text; 
RezAЗK4.Text = labelK4NVPK3.Text; 
RezA3K5.Text = labe1K5NVPK3.Text; 
RezAЗKб.Text = ІаЬеІКбNУРКЗ.Техt; 
RezA3K7.Тext = ІаЬеІК7NУРКЗ.Техt; 
RezA4KJ.Text = 1аЬе\КІNУРК4.Техt; 
RezA4K2.Text = 1abe\K2NVPK4.Тext; 
RezA4K3.Text = 1аЬе1КЗNУРК4.Техt; 
RezA4K4.Text = labe\K4NYPK4.Text; 
RezA4K5.Text = labe1K5NYPK4.Тext; 
RezA4K6.Text = labelK6NYPK4.Tcxt; 
RezA4K7.Тext = labelK7NYPK4.Text; 
RezA5KI .Text = labe!K 1 NYPK5.Тext; 
RezA5К2.Тext = labe!K2NYPK5.Text; 
RezA5K3.Тext = labelKЗNVPKS.Text; 
RezA5K4.Тext = labe\K4NVPK5.Text; 
RezA5K5.Text = labelK5NVPK5.Text; 
RezA5K6.Тext = labe!K6NVPK5.Text; 
RezA5K7.Тext = labelK7NYPK5.Text; 
RezA6K І .Техt = labe!Kl NVPK6.Тext; 
RezA6K2.Text = labelК2NVPK6.Text; 
RеzАбКЗ.Техt = labelKЗNVPKб.Text; 
RezA6K4.Text = labelK4NVPK6.Text; 
RezA6K5.Text = labe1K5NVPK6.Text; 
RеzАбКб.Техt = IabelK6NVPK6.Text; 
RezA6K7.Тext = IabelK7NVPK6.Text; 
RezA7KІ .Техt = ІаЬеІКІ NVPK7.Тext; 
RezA7K2.Text = labelK2NVPK7.Text; 
RezA 7КЗ.Техt = IabelKЗNVPK7.Text; 
RezA7K4.Text = labelK4NYPK7.Text; 
RezA7K5.Тext = IabelK5NVPK7.Тext; 
RezA7Kб.Text = Iabe1K6NVPK7.Тext; 
RezA7K7.Тext JabeIK7NVPK7.Тext
= ; 
//va1· 
doub\e[,] rez = пеw dot1 ЬІе[7, 7) { 
\Conver1 Т o Double(RezA І к2.Text),Co11veгt.ToDot1ble(RezA І КЗ.Техt),Со 
nvert.T O oDouble(RezA ІК І .Тext),Coпvert .T
(R Al KS.Тext),Coпvei1.ToDouble(RezA1 Кб.Техt),Со11\,ег
І.ТоD D 
о Ot1ble(RezAJ K4.Text),Co11ve11.T0Double ez · 
Uble(RezA І К7 .Text) },
99 
482.ЧДТУ.231916-01 12 01 15 
. Tof)oiibk:(l{ezA2K 
. І .'Г
t),
eCx1),C 11
,c0 11:vreoi·tD ьte(l<ezA2K4Тex o11veoi1\'Г,coгtD.T ouD. bloeub< l_e _( I< ez_ A��2-Text),Conveгt.ToDouble(RezA2K3._ I , ext),Co 
1 _ ... 01·1 
,,,.�1• ьІе(Rеz А- ?
ou -К7 . Text)} 
(I ezA2KS. І ex
' t) Co11veгt.ТoDouble(R.ezA2K6.Тext), опvег 
oD
\. -r
t ToDouble(RezAЗK I .Text),Co 11ve11.Т D t1b
1c,eort11.veorD- ou ble_ (АRЗeКzAЗK4.Тext)
. ,Coпveгt.ТoDooib\o. l 
7 Text)} L е ( 
(R 
l<eеz AЗеzKАSЗ_�2. fext),Coпvert.ToD
. I oнble(RezAЗKЗ .Text),Co 
f (Rez ext
e )
] ,Co
b 11vert.ToD
u oнble(RezAЗK6.Тext),Coпver
Р1J' 0Do
1co11'1
vert. ert. ToDЬІo t1 (
Rble RezA4K l .
z Text),Coпv г
д e t ToD І -, 
o 011 е( e 4K4.Тext Ь
) Со г o u - е( R 
vе t Т O o e
l zA4K
( e 2. / ext),Co11v
A ert.ToDou
4 ble(RezA4K3.Text),Co 
D } ' п · 0 
T e(RezА 4К7 . Тех  t) , нb e L<_ z KS.Тext),l Co11vert.ТoD
b ouble(RezA4K6.Тext)
u ,Co1 1ver
0
1.ТоD o
conve1·t.ТoDoнble(RezASK l 
4. .Тext),Co11� . o
D u le(RezA ext �
v гt
e Т
T ) t D Doнb
K \e(l
o < z
b S A
, п г . e 5 Т t
l oн ,C
�,,ert, Co
To 5 7 .Т ext)}
o
, ble( K2
R . ex ) oлveгt.ToDouble(RezA5K3.Text),Co 
t.ТoDouble(RezA К .ezA5K5.Text),Co11vert.ToDouble(RezASK6.Text),Conver
(C ,,e1·t.ToDouble(RezAбK І .Text),Coпv�гt.
11 b e T0
e D
r1 0
o t
D 1ble(R
0
nv .T ou l z
e(R zA A K
6K4.Text e .T
) 2 ,
, e t . 6
г 1 oDoнb C 11v T D ( t
Coпv
. ext)}, le(R
ext) t oub
ezA o le RezA6 З . ),C
A K7 6 K
K5 er . o Tex o 
Rez 6 T .Text),Coп,,ert.ToDoнb]e(R zA
( e 6K6
e .Text),Co
bl n,,er
t.ТoDoн
(Co vert.ТoDouble(R.ezA7 К І .Тext),Co1 1\,eгt.T
11 oDoн
D 4 e b b]e(R
nvert Т ez 7 xt п e ezA
ub  
]e(R A К · 7 .
 Т ), t u K2 Тext), (R A7 КЗ.Техl),Со 
. o o Co v r .Т C
 o o D ez
Do l пve11.Тo oнble
e(]<ezA7 К5 Т
e A 7К 7 .Т хt  . ex
)} t),Co rt Т D u le( zA7 К6. Т ext),C e
t.ТoDouble(R z пve . o o b Re onv r 
е
} ; 
double[] ic_collection = пе,;v dонЬІе[7] { Convert.ТoDouble(labe\RezlC I .Text
c011,,ert.ToDouble(labe1RezlC2.Text), Co11, , 
1ert.T0Double(labe\Rez!CЗ.Text), )
Convert.ToDouble(labelRezlC4.Text), Co11,1ert .T0Dot1ble(labe1Rez1C5.Text), 
Convert.ToDouble(label RezlCб .Text), Co11ve11 .ТoDouble(labell<ezlC7 .Text)}; 
double[] 11Yp_collection = ne,v dонЬІе[7] { Coпvert.ТoDouble(labelRezNVPI .Text), 
Convert.ТoDouble(labelRezNVP2.Text), Co11ve11.ToDouble(labelRezNVPЗ.Text), 
Convert.ToDouble(labelRezNYP4.Text), Convert.ToDouble(labe1RezNVP5.Text), 
Convert.ToDouble(labelRezNVPб.Тext), Co11vert.ToDouble(labe!RezNYP7.Text) } ; 
Rezult(rez, ic_ c ollectioп, пvр _c ol lection); 
//out rezults 
rez] .Text = Co11vert.ToStri11g(Wi11dowsF'onnsApplicatio11l.For1111.Gitog[0]); 
rez2.Text = Co11vert.ToString(Wi11dowsFor111sApplicatio11I.For1111.Gitog[l ]); 
rezЗ.Тext Convert.ToStri11g(WindowsFoг111sApplicatio11l  .Foпnl  .Gitog[2]); 
= 
rez4.Text = Convert.ToString(WindowsFom1sApplication1 .І�опn I .G!tog[З]); 
rez5.Тext = ConYert.ToString(Wi11do1,vsFor111sApplicat!o11 I .Fom1І .G�tog[4]); 
rezб.Text = Convert.ToString(WindowsFoгmsApplicatюп I .Fo1111 І .G�tog[5]);
rez7.Text = Conveгt.ToStriпg(WiпdowsFoппsApplicatioп І .Fогт I .G1tog[6]);
rezOIC.Text ConYe11.ТoString(Wi11d wsFon11sAppli�ati�r1J .Foгm! .Goic); 
o
=
rezOOC.Text Coпvei·t.ToStriпg(WiпdowsFon11sAppl1catю11І_.Fom11.Gooc�.,
= 
rezNVPsum.Text Coпver1.ToStrillg(WiпdowsFor111sAppl1catю11J .Foпn 1.G1togSu111);
= 
�rivate void showToolStripMe11нlte111З_Click(objecl seпder, EYei,tArgs е)
AFor111
b  Abo
ou ut = п
t еw AboutFoп ()
.S n ; 
Jюw();
100 
482.ЧДТУ.231916-01120! 16 
r1_ ,11\c;, p , юіd sІ10,,1ToolS1ripMe1шl1e1112 -СІі. сk(оь�· ес 1 sепdег, ЕvепІАгgs е)
І І іЬ1,1гуs1 = 11е,\1 Libгaгys1For 11 ·
L�ib�1,11J·ys l. SІю,\1();
1 ()
11. р , а te ,юіd sl10",1ToolS1гipMeпulte
1 m І -Click(obJi ect sеп d er, Е veпtArgs е)
І foпi1 Reade1· = 11е,\1 ReadeгFon11();
Readeг.S)IO\\'();
pi·ї,iate void s\10,vToo\StгipMe11ulte111_ Click(object seпder, EveпtArgs е)
{ fопп Publis\1eг = 11е\\1 Publisl1eгsFon11();
Publisheг.Show();
}
pl'i,,ate void slюw ListActio11sToo!StгipMe11ulte111_ Click(object seпder, EveпtArgs е)
{ Fопп List = ne,v ListFom1();
List.Slюw();
}
private void showListBooksToo\StripMenulteш_C lick(object seпder, EveпtArgs е)
{ Foпn Books = пеw BooksFoпn();
Books.Show();
І
І 
І 
101 
Додаток В 
Програмне забезпечення наповнення книжкового фонду бібліотеки 
Інструкція користувачеві 
482.ЧДТУ.231916-013401 
Листів 9 
Розробник -==== Десятник Д.Ю. 
Черкаси 2023 
4S2.ЧДТУ.231916-013401 2 
ЗМІСТ 
изНА ЧЕННЯ ПРОГРАМИ ......................................................................... 3
1 nr
МОВИ ВИКОНАННЯ ПРОГРАМИ ............................................................. 3
z у
ОБОТА З ПРОГРАМОЮ ................................................................................ 3
з Р
103 
482.ЧДТУ.2319 І 6-0 І 34 О І 3 
rJ-tJНАЧЕННЯ ПРОГРлми 
І п _
програма (тут 1 далі під цим терм1ном треба розумпи прототип системи 
вt-1 ення фонду б.1 6ліотеки на осно в1.  теор1.1.  . 
no/ lo . пр ии� няття р1. шень) призначена для 
611зfj
аче ння оптимального р1шення пок�· льком параметрам при потребі поповнення
·отечноrо фонду лп. ературою'  а тако
бібJІІ ж  для в
б е
л дення бази даних кн
. иг чита в
теки ' бі іотекарів та чі
1'б ІО вед
JІ енн
6 я 
• звп. ност1.  видач . 
� книг. Програма містить 
мацію про сутюсть бібліотек та б" . 
і»Ф0Р и 1 б 
. лютечноrо фонду, їхні особливості та 
мозв'язки м1ж ними. В основі n
езає porp ами лежить алгоритм теорії прийняття 
і!lІень під назвою «метод аналі
р зу ієрархій».
zуМОВИ ВИКОНАННЯ ПРОГРАМИ
Розглянута програмна система є Windows-nporpaмoю, для свого
нормального функціонування вимагає як мінімум такої конфігурації апаратних
засобів, що забезпечує функціонування операційного середовища Windows -
архітектура: 
. комп'ютери на яких буде встановлене програмне забезпечення: комп'ютер 
Pentium ІІІ 600 і вище, 128Мб або більше оперативної пам'яті, не менше за 500 Мб 
місця на жорсткому диску. 
З РОБОТА З ПРОГРАМОЮ 
Головне вікно програми складається з великої області з можлив1стю 
прокручування. Такий зовнішній вигляд програми використовується для
можливості одночасного перегляду результатів всіх кроків обрахунку. Оскільки
початкові дані надаються експертами і повинні вноситися особисто користувачем
, а алго итм
то о к о у ння
п ля вводу сформовані в вигляді матриці, для ращог роз мі р
цоповнення вхщних даних звільняє користувача вщ зайвих розрахунків,
розраховуючи елементи матриці з іншої сторони діагоналі.
104 
4 
. .)1 г--1 �- н�1 (;псuнфіr-:у rеорії прнnня ття р1. шень, в головному в1. кн1.  програ ш 
.i,, i,:opoтi:-:y нотат1-,;у щодо позначень 
8 ма
r•' трицях. Оскільки програма несе і 
,1.-1_ ь не навантаження. ля більшого розумш. н_я_  .н..  дн...,  додано з право.�.  сторони в 
sнu\ІУ вікні додатку тпnові поняття теорії.
Присутня мож. нв�сть ведення бази даних реалізована в головному меню
�,11 t • кожен з nую"--тів як- ого в·щ повщ· ає я аналоп. чну таблицю в баз1 даних.
1J1rснення по :кожному 3 них приведе до відкриття вікна з даниІ\rn таблиці.
•�: \·_І :1о , ,,,н:�і елементи ) правління таблицею дають можлив1сть редагування та
,4.,., =· 
JІОВНенн.я бази даннх інфор шцією. 
Інструкшя користувача призначена для надання понятта npo користування 
�с�мою корнет) вачеві. В ній розясняються аспекти реагування системи та дн
�ристувача для досягнення потрібної йому мети.
Користування системою. шжливо розділити на такі кроки: 
1. Скласти список з 7-ми чи більше книг, які бажає закупити бібліотечний
фонд. Та надати експертам (викладачам) дані про ці книги. Експерти
внліпять 7 параметрів оцінки книг по яких їх порівнюватимуть (наприклад:
. 
. 
актуаJ ьюсть, автор, жанр, назва книги, видавництво, варпсть тому, р1к
в1щання). 
__ Експерти мають скласти список, в якому проранжують варлив�ть цих
параметрів та складуть таблицю відповідності кожного з параметрів
відносно іншого. 
Параме и книг можуть біти виділені і проранжовані в відносній важливості,
тр
наприклад: 
- автор
- жанр
- актуальюсть
- назва
видавництво
- вартість примірника 105 
482.ЧДТУ.231916-013401 5 
_ рік видання
в ести вхідні дані надані експерт 
і. в ами ( коофщ..1 єнти переважання) в матрицю 
Nol (поле введення l) в рамках від O до 9_
т о бто отриманий список книг 3 ощ·неними параметрами книг по важливост1 
відносно одного, заповнивнену таблицю приведену нижче (див. табл. 1 ).
важли і т
· в с ь параметрів книг , щ 0 позначен1.  К, можуть мати оцшку один
відносно одного від 1 до 9 по перевазі. KJ ;К2;1 - параметр КІ рівносильно
важливий відносно до себе самого. 
к - позначення параметрі в наступній таблиці.
Таблиця B. l - оцінка важливості параметрів 
Kl К2 кз К4 кs К6 К7 
Kl 1 3 2 5 з 5 з 
К2 - 1 з 4 7 4 4 
4 
-
- 8 
кз 1 7 4 
·-
-
К4 - 1 4 5 3 
- 1 6 4 
-
-
KS -
-
- 1 3 
-
-
К6 -
-
-
- 1 
-
-
К7 -
( Спосте ігати доповнення системою вхщних даних, в вигляді автоматично
р
згенерованих на основ� введених на вхід коофіцієнтів зеркольних
коофіцієнтів. Так як пусті місця в таблиці заповняти особисто не потрібно,
система розрахує їх значення та впише в потрібне місце. Дані потрібно
вводити в матрицю № І . 
106 
482· ЧДТУ .231916-0] 34 О І 6 
Right choice for Library
f":1enu Publishєi-s Readers Librarysts 
Meth About 
od Aлalisys Priority
Kl К2 КЗ К4 К5 Кб К7 M.Geom N'✓P
к, 3 2 5 з 5 з 
К2 0,33 1 з 4 7 4 !, 
кз 0.5 0.33 1 / 4 в 4 
К4 0.2 0.25 0.14 1 4 5 з 
К5 0.13 0.14 0.25 0.25 1 6 4 
КБ 0.2 0.25 D.12 0.2 0.16 1 з 
К7 0.33 0.25 0.25 о.зз 0.25 0.33 1
ІаmЬІа max: 
-sum sum 
ІС ОС:· 
Calculate 
Рис.В. І - Введення параметрів 
5. Натиснути клавішу розрахунку.
б. Перегланути отриманий результат на предмет узгодженосп точок зору 
експертів. Які надали коофіцієнти для вводу на вхід . 
. 
Right choice for Library ,, .. 
.1 1 . ,.J.,�� 1...:_:.1 ·; 
Menu Publishers Rєadєrs Librarysts About 
Method .AnaliS'/S Priority 
к, К2 кз К4 К5 К6 К7 M.Geom NVP 
К1 1 з 2 5 з 5 з 2,80 0.29 
І"..2 0.33 1 з 4 7 4 4 2,39 0.25 
кз 0.5 О,ЗЗ 1 7 4 в 4 2,04 0.21 
К4 0,2 0.25 0.14 1 4 5 з 0,88 0.09 
К5 о.зз 0,14 0.25 0.25 1 6 4 0.68 O.D7
К6 0,2 0.25 D, 12 0.2 0,16 1 з 0,34 0.03 
К7 0,33 0,25 0.25 0.33 0,25 0.33 1 0.34 D,03 
ІаmЬІа max: 81, 344 9.50 
ІС: 12.3 ОС: 9,38 
[ Calculate 
Рис.В.2 _ Підрахунок значень
107 
➔ < 2· Ч)JJy .231916-0 І -'4 О І 7 
як�.uо ОС 10-15% - то оц· 
7. �нки вважа1оться уз1·од)1<е11иІ\н1 (коо · 
фіщєнти ) к ,
іllО 
я ж ні - потрібно переглянути експертам 1-1,ща1-1і коофіціє1пи.
. На наступному кро
8 ці потрібно запонятн поля (матриці) 1"7, наданими
експертами оцінками книг одна відносно одной по кожному з параметрів К.
виконання проводиться по принципу роботи в пунктах від з до б включно.
На цих кроках вхідними даними є дані експертів щодо відносної переваги
книги над книгами по певному парамету к (авторство, жарн, назва,
а1-.'Туальність, тощо).
Відп
9. овідно варто переглядати отримані дані на вірність і достатню точн1сть.
in К1 
А1 Pv. АЗ Д/1. А5 А6 Аї M.Geon1 NVP 
А1 з 4 5 3 5 з 3.09 0,34 
Pv. 0.ЗЗ 1 2 4 3 5 4 2.06 0,23 
АЗ 0.25 0.5 1 з 5 з 1,28 О, 14 
А4 0.2 0.25 0,33 1 5 2 2 0,85 0,09 
А5 0.33 о.зз 0,2 0.2 1 з з 0.63 D.07 
А6 .2 0,2 0.33 0,5 .33 1 2 0.46 0,05 
А7 0.13 0,25 1 0.5 0,33 0,5 1 0.49 0,05 
ІаmЬІа max: ї1.120 8,87 
ІС: 10.6 ОС: 8,09 
[ Calculate ] 
Ри .В.З - пщ. . рах ок значень відношення книг по пареметру К l
с ун 
у т ту
10. Кінцевим крок м є натискання клавіші виведення рез ль а . По її 
о
з 5·.1 р н· еобхідного пакену інфрм ції дл
натисканню відбудеться а я
. . 
1. я збирається з пошв результат1в 
результативних обчислень. Інформац
обчислень із матриць 1 .. 7 · 
108 
482· ЧДТУ.2319 І 6-0 І 34 О І 8 
І s g; 
{: ос І..,. . .,, г�t,,,!� i�:2:-
ti: 1:J ос ,_z; 
(ь!:Ja:t 
М�1 ,., Кі 
ІГІ? � 
" 5 2 ; .. 5 O:!t 
/І 
і> 1 ' 2 1,1; l �: 
О 0,15 о З2 
D:!З 1 1 
Іl ' з 
J t 1.23 І 7; 
О І< 0.Z!J nУ.1-е,-,.ь31 с.""4��;.:. �W.?lf/rr;Q..51"1!'".A:n:.cr­
ІJ GJ) 0-'5 І О ,J 1 І ! 2 З 
J 1,17 І<€ ІJГ.ЬT�!"n-&1 
0.1) о і 
D. 05 •.3) І G; '.JЗН 1 P<!L.et -�� S�r:!:-:1 t,1!'7//Ь':3� !C,".(rt:!U,W.te 
1 
І 1 0.70 O. i l 
Qi 
15 DЗJOJJOS оо; О( 01 02! 05 1 1 2 О �9 1 ���Ьf'AY..cntJ)'-e,.,a!rp.<UOU:1 
D.5 D 3 Q,33 О.П 0.5 І 0.57 ОБ 
І О.Об О ЗЗ �-25 � 5 ���� 
.! О ЗJ 1 1 , 
О
О.1( О� .і5 О 15 Q.2� &.�� 
u.33 1 О.Со!' 
о.зо 2 �,c,-..,-...c7",1c,.-1,,.,.ь,.i",er�,...e;r.,.u�K1 nК'і. 
;. �оз А7 І 02 0.JJ 233 0,2 0.5 0.2� 1 іі.1' а,..г3-,�rо,оо-е-n-сс;ь(і� ,1,ь-���r�D..-uc.,e 
0.CJ 
Ji,rl,low.&: 7Зді 8.Є5 
�11. [іс· """ 3 Г'�nіt""іТИГ��,ь�у,ь:е1"е т�
Єд  �Ьт,,ос-n.и 
1 ос S їб t. 00-!Dar,'!'IIQ' 
ОС 7, r:.,]
к1 К2 ю к, к� r� ю 
ІNF �------- r--М<иІР __ _  0(. 
А1 К К К К К К К 
А2 К К К К К К К
.'J K K K K K K K 
IJ. к к к к к к к
А5 К К К К К К К
11 к к к к к к к
А7 К К К К К К К
( "'"' 
Рис.В.4 - Поля сбору інформації
11. На екран будуть виведені кінцеві оцінки. По яким можливо ссудження про
загальне переважання книг одна над одною.
Rezu�s 
К1 К2 К3 К4 К5 Кб К7 
N\/P 0.29 D.25 D.21 0,09 D,07 0.03 0.ОЗ Prioritet ОІС: 10,9 ООС 8,2S 
А1 0,34: 0.33 0.32 0,33 о.зо 0.34 0.32 0. 33 
Calculste 
/42 0.23 0.21 0.24 D.17 О.2ї 0. 19 О 0.22 
АЗ о. 14 0,17 0.13:D.19 0.10 0. 14 D. 17 0, 15 
А4 0.09 0,1G 0,13 0,11 0,11 0, 13 0, 11 0. 11 
А5 0.07 0.07 О.Об 0.08 D D.07 О О.Ої 
А6 D.i>5 D.05 D.D6 D.05 О.Ої 0.06 0.06 0,05 
/J..7 0.05 О.03 О.03 0.03 0.04 G,03 0.03 О.04 
----
ІС: 10.6 11.0 11.5 11. 1 10.З 11. 1 S. 7б 
р ис .в . 5 _  Введення результат1в
109 
482.ЧДТУ.231916-Оl 34 01 9 
При бажінні перегnяданн
. я бази 
2 даних 
1 книг ч11 накладних вадачі потрібно
обраті відповідний пункт меню в головному вікні додатку. Відкриється 
потр ібне вам вінко. В якому будуть відображенj данні. Редагування даних
відбувається за допомогою використання наявних у в1кю елемент�в 
керування таолицею. 
= �Code 
► - • 1111 Кс/j�ю �:i I r з 10 2с,-; 
L 1112. �;б�� 1-;;-�.� n31· 2 1:Ії 
з 1113 ЕсУ. ,,о�=� ,�_,4",.:,ю є:� 1; 1;; ;� 1-
t. І 11! � Jr/r� .oC \S�?t:1; 
5 і115 !!�o.!!\�u.: Еа.,�� Н 2! 12 l: 1 і 
є 111є Гk,р-:;,от !Jot>� 0-:.d>r  УаіІг"'.: 11 :� 2: 1 і 
7 11 Ії � .....о  ,-.з с,с,�� Р�, Sc-=� 2 ї � З 21. 1 і 
8 1112 Уб.m.,,=� �ГІ С�., 2:1; 
? 111S оес.,..-.-,е,;,,е ,. .Gхтосз:ь,с�, 1, :; 2:·Ії 
112., Єеr.,..;о> ie.1;cG., �:::.,a,v.a, � :; 2:1; 
Рис.В.б - Одна з таблиuі бази даних 
110 
Додаток Г 
Програмне забезпечення наповнення книжкового фонду бібліотеки 
Інструкція користувачеві 
482.ЧДТУ .231916-019001 
Листів 9 
Розробник Десятник Д.Ю. 
Черкаси 2023 
2 
ПР ГРЛ�.І"НЕ 3АБЕЗП ЧЕННЯ НЛПОВНЕ(·ІІ-ІЯ КН! lЖКОІ:ЮГО ФОНДУ
БІБЛІОТЕКІІ 
ДЕСЯТНИК Д.ТО. 
Рисунок Г. І - Слайд «А1-1ало,�и» 
ЗАДАЧІ ДОСЛІД)КЕННЯ 
:\І�тою роБотn Основнn мtтІІ робоn1 - розро61п11 nрогрnмннn nрод}"k'Т, •ю1f-\ зnбезпеч11n, можливість 
особі ШЛІХОМ в116ору ПtDІПІХ nор;wпріл ТІ\ DDCДCHHR ПCDftllX napnмeтpln фopмynnn1 СПІ\С.Юt бажано! ДО 
поnовненна ліrерnтурн. 
Дпа ДОСІГНСННІІ nоставлсноІ МtПІ О роботі DІІРШJ}1JМІІСІ, НІІСІ)11Ні )�O,').�ІІІІЯ дor.� euuя: 
Orn•д метопів і засобів ремі)аці!. 
Першuд подібню; проrрамюtх npoд)'lmlJ. 
Уточненн11 змач проекту і nроекrува1шя npot'}>ІWHOro продукту 
Опn1мізо.ціІ nроеt,."ТНОГО ріmенна і ремізnцut програмного nрОD}'КТ)'. 
Тестувnнн11 nporpnмнoro продукту. 
Рисунок Г.2 - Слайд «Задачі дослідження» 
112 
482.ЧДТУ.231916-01 90 О І 3 
Формування вимог за допомогою . 
д�аграми прецедентш 
... ( .;:;.,,....:1.;,...., 
І:t1-•,,.)•ff• 
�- :,n,j 
:,.if;<lf,-• 
�-� ... •;-J 
·;1,1"''• -lf•I ;.,1 
••. ·1 •.• :•.)'•'І' 
:"СІ!.--• ""
. ·�·""� ·• =- ',· - • 
,,_-.,, :J•n ♦•.)• '' .:.1,r • \J�• І ;\11 . ..f1 
·,:. 11.,:. �- '\'У"• 
·1•; .. .-,;.._ .... ,, 
Рисунок Г.3 - Слайд «Формування вимог за допомогою діаграм и прецедентів» 
ДІАГРАМА КЛАСІВ 
r. 
·-·
.... ·-
, ._ ..... 
... ... '  "'' ,, 
, ...... ;-
' ! 
..�--І -І 
·-; .!; 4 : -
 4 _ Слайд «Діаграма клас1в»
Рисунок г
113 
482.ЧДТУ.231916-01 90 О І 4 
ДІАГРАМА ПАКЕТІВ 
Студенти 
ВУЗ 
6Ібліоте�а 
Рисунок Г.5 - Слайд «Діаграма пакетів»
ДІАГРАМА КОМПОНЕНТІВ 
Рисунок г . 6 - слайд «Діаграма компонент1в»
114 
482. ЧДТУ .23 1 9 t 6-0 І 90 О І 5 
ДІАГРАМА ДІЯЛЬНОСТІ 
• 
:.- .. _.. 
... �­
,.,,.,,,. ,,,-; 
Рисунок Г.7 - Слайд «Діаграма діяльності»
ДІАГРАМА ПОСЛІДОВНОСТІ 
. . 
Рисунок г . 8 - слайд «Діаграма послщовносп»
115 
482.ЧДТУ.231916-019001 б 
СХЕМА БАЗИ ДАНИХ 
Рисунок Г.9 - Слайд «Схема бази даних» 
і: 
ЯК ЩОДО БАЗИ ДАНИХ? 
Так, база даних бібліотеки присутня в додатку і містить інформацію про книги. А саме про їх параметри: 
авторство. роки видання. жанри. назви і таке інше. 
Також фіксуються прийоми та видачі книг на руки читачам. які теж маються свою таблицю в базі. 
Заповняються списки прийому / видачі бібліотекарями. Які також числяться в базі даних для контролю
звітності по книгам. 
"'1d!J --•----• ---· ----- ,,;
- :::_ ... _____ -- -- -------· ___ _:__._�---- -
І< І 9 ,.,,,9 � .:.,_, 10 , �і 
&,):,,,�:! .:.;,:.:,,, с ...---:------:--.-:--:-. --:-, -. ---:,c:, -----, -.,-t-- . --.- ,- --.UI 
�:c--i� .., '-"" - -
., -
--
111· 'S 11 іОІ" �,....,1·11 ��"/,),,r 
111· і-)()(,1; 111) u..:�o:r.-n-66 
:) 
1
111' •; 1) 1-: 1: 1
: :4 
11Іj' ·н11�,-
,ї .-:.••·=-~"-' w-.... n,•• :.1[z.1t·· 
111:' 1sо 1:
'\.'(І-;,:· .'l·;-o J .. -·.:.-7 \,),.,,,.=, і'; 1 }(. ,-
'1/( l1CJ/':1-
11.-; ,•1r.=,:!o.1.- f,.,tn,.7',t'{> :i·c, !(,-:-
·tt( 
111: 1"j \,.-,.�,-... ,• !.:,·,;•..«-·,,,.,, Іl(",""(_,· 
��-, .. • t,,І' (,· �L ......... ,. .  :•;-.'l'"' 
Рисунок Г.1 О - Слайд «Як щодо бази даних?» 
116 
482.ЧДТУ.23 І 916-01 90 01 7 
ІНФОРМАЦІЙНІСТЬ ВІКНА ДОДАТКУ 
. ., --·· :� ···­
- ·-- �-
- ... -- .. __ ,.. 
.. -:: ... .. �--·· ... 
Рисунок Г.11 - Слайд «Інформаційність вікна додатку» 
ОТРИМАННЯ РЕЗУЛЬТАТУ ОБЧИСЛЕНЬ 
�'1:L•'QO(l!'lcl�� .... 
..-с,.-., -�1"! 
( 11 � ('( 
С(. 1 "І : ' ") 
. . , 
,,. І І 
І � ·, 
н 1
І • ) •• -t; 
"1 ;1, • � , ' 1 t.a :
1,1 •• 
1 
�) · ' :, ) - )j ; � \ 1 � 'І 
: І ; �: �·-; І 
1
І � ,._.,.,i;.... • .-,..,u....,..,,...,.,,ц, ,, ,·( 
: Н :.-:. :� �)! І 
•,; j а� o·Jc �): і1 ,.., • І ;:.: ;;: .,, ...,.  ,.--�.,,y-,.�,'('J-,e--,'Т-"'(- '"
 "'-.r• .. � К<'ll°"'"' 
:H"'.'!J :1 :)\ ('}')І І.,�, 
•· IJ '' ': ! О_..,: 1� )� � )} І .1 І "�,. С: І 
І " 
І ,.,�'-;,l".,S,) пu: 
11 ( 11: ос ,ц 
у ислень»
исунок Г.12 - с лаи� д « Отримання результат обч
Р
І І 7 
482,ЧДТУ .231916-0 І 90 О І 8 
РЕЗУЛЬТАТ ВНЕСЕННЯ ДАНИХ ПО КНИГАМ 
•�rt Оае 
J:, 1ox1, 
1 N 10 z:1-
11 1 Еr..и��:, 1.!.!:.,,.J •• •.:·c:i'.J+ 10);\7 
'3.::i.;,<!'$) .·;,'O�f. .: н,rг )Н 
!1,�<1� .. н� !:-.ti·lo("o.) 2, [О 2:,1� 
r�::,,x-: .1:..-х--•·� 0..:-ь,'і Уф\•,-,; і' СЗ r.111
e.  
.,..i:,i��QU-. і'�.� � ГtJ2i:17 
У1-•rь •�:,.ч� >-У.У"� Г\ � f,.: l)Г 
�І)!".�н.·�-- П::,;;іtЦч-t,\.\ 1,2:,;,;-е,; 
��•.о1...�ІГ�)f��• c;,,-.::i,,;::_• ,':ІТ )�(;2'[17 
, . 
• І. 
·;•. "і
І�••,\ і • • j 
Рисунок Г.13 - Слайд «Результат внесення даних по книгам» 
ТЕСТУВАННЯ 
Проана.nі'3уеаеши існv,о�і ме-rод,, ДІІЯ 
тfстуеання, 6\•ло оброно методи О;•н�цfонольkоrо 
тестvеання, еиnадкове те:сту�с,нн�::�. аруК'Т)•рнt 
І Модvn�н• fltrv-aнн111 Пep•1lpi,:1i;.•1V1'::ІTJ"J'11 рvботн c�Ot!.•�._№,e,oдJ1 І 
· тесту&ання. Ці мето,аи широко відомі і детально 
описані е літературі, В трад,,ційн,й класнQІкаці1 fx !._t,1.1<нщіі, c11,s:e1,•11 
1 
відносRТь до методів ''�орного яwико". Вон11 �н,еrрац!Н н�-- Qpi(HTQJJi-,,1 �• napa11)-<v•,·111J�,, і ,а;(чодіі 
,астосоеуютьсR д..nя тестуеання 3оеніш�і11. та ! ,естуа.нн11 І(счло-..•�тІ1�1�••'"'.., 
внутрішні)( функцій о1стеми і nриn•,-снають наявність 1 '"Cfft.,н,e t�CтylJHn" • Пер,,Ір" npa1111•.:i"oc:i обро6��• 51, .. ;н�о,11н: 
сп�циф�каціі, еиtсористо&у�оної А!': еталон. 
� CH(":'t.o.•11 • •  
Заеданням Ф•,нкціона.nьного r�сr;баннА ( Пере1Ір1111 nрае,м,носrі фуtіW.ЦЇОН',t,'51-'НІІ C•tC':'�.�1. 
n�р�еірка еідnовідності проrрами своТм nошум 1111�,,,f:._.,, д,e,siel('l'il у о•п�-\'іІ І і�· 
сп�цифікаціям. Пр�, даному ntд�од, теr.ст проrрем•� 
t1e доступний, і nporpeмe О3ГЛRдаетьСА RM ((-ІОРНИИ --�У�!--� - - -
Р
АЩ\-1КJ} 
•·•.(, , ty, ,І І ,f 
Рисунок г • 14 _ Слайд «Тестування»
118 
9 
рЕЗУЛЬТАТИ ТЕСТУВАННЯ 
Провіоwи р,�д H:C1if} ОЧ�ВИДІЮ ЩО отримано 
ОчІку1а11нй Ptlv�ь1a1 І 
R ()
І 1рнма,1мирс:1vло1/j1 р ;улt,Ті)Т 3 біJ}І\і)НИМИ параметрами, 
Д
А11І А'•11 І І 8ІіАІ•1І'fІА-.нІІІІ Pt�J'(ti11nJ11 Діі"І Над,.r, C1•t1.-,,,i Pf� гг~--------------------------
j, 
ІtІ�..,.о 1Іі!І
 ... no•111,taig,-f; •••Att.,, .. 1 1 on абпицІ ... 
c,i
 ._.,, .... nро"ооження т
• ...., ., •·� noi.,11,.,►� 
І "011•f•OM ІІ  А11оча,,•чw1 дon()t•••••"• ІІІіДеn"jІ до"?-&1,11-1,1,.. П�Рt:РМсуном �,�іцt"бОІО ! Л(ЮуN,н,n Іbfl/U,НJ.tCI JlJ в,,,.о t·rвopel-40 ))DДDWЧ� Ji!t 
І ,1•Cfi•tC,Q t•l,Q,.,,•w ДІ111,, l ••IA"111tдa,,1�t c,t(fi•,o,o p1:,vІНJ18Jy n1с.1н1 JмІ1�н ] lili'Jl1!l�iн;,1м ПІJtJllM�fPDY.Иf }8ДdННММ t'ЛJ)Mt'ТYfJc)Чt:M 
І 1
j nрііоц"І), .. Ol)t"t"o д,1•н- ОJНІ1tІ І,,,, �,риц�. 1• tн4�;;еш:11чя pe,·1,нmirie nар"ме1р1мн. 
1 ·••A•t4 ... ДІНІ'•• np� Jvlttl 1 .. , ....
!І4 . е,,r;д
tа.І ., 
! D 1,,м енаtд�ио ре,у.,,ьт111" 
tp•p•wviнty, "•Р•'-'•'Р'-, no1111 ІІОДу СІІС"•
n '-'t� P
бІ •Jr-,c 
ро .or,ai-,
сn ;,.z. Gta00t:�,o,o JІ&д.,кця. 
,1,,.,.н11ноn11" М11Ф•Р•....,. .. о .. Ot('t•-.,c,o д, .. 1,,0 .... І Jеаде�щд, 
11 v,с.,е,, "'
, "•а
t4, о 
1rt1', n�11cpl1•1la В,11•д•1,..- сбр,,.,, .. а. npc:toд:-,p І
c І
1111 11
 rмс.,._ои11,- .,.иоr�ин 
11ca1,uІ І tt0•1,� pt1�1101•11,a111•�дt"i•• ••і1,с,о P4J'l.,�•il ••01:,, ,. ОбР••vн•v .1.,,., Р••І• 
І оСр1,,;,,.1, •1••�.а.1111,с• .. 1 АО PUAV о,-, ,мІнн nроtОдІ-"ть o6p�p,r.v. J 
І •111р1н 111111с••ьn■рі,11с1рІв 8 
J_1�1Іt1••1,ІЧІІІ'-ОА"І1УІ1 \ внtІА•,."•�ор,,., J 1tn1,,o,, І!,,.,.,. ,1.,,0 •ІG,рі11" ПtІААІІ; 811:',АtІЩМ, 
І ..,аrрмц.�. ,. nерерuуно•• І "' 1.1Ісц• 1е1р1:...а .... , 4'а,іА111 
,. 111ІJІІ4�ІІМ (1oro .,., ... І �;,,,: ,,,., . .,. 6вtдс�ц• нtдonytrиJ,11нx 
'І  І n1,,,.- .... ,. •• , ... н..,111. .. оn,о, 8ІtІД6nr,І "ІІІ� !д І>J•tРr.•t-'yто"рc,,y\ "g  1•t&че-.�ь о no,,,. В8й_дv j t1t:r.op�r.1"и1 ,на-Іtнь 
І -,1Jб•Jart••� 1Ід�·vдtтоtJІ\ І Ф• :;.,V 1ІдС,1"ос" 1GtP4J--t11t.­ nnpoмtrpifi І Є11есдсt1tн1 nо1,•и,1r.и: 
1б•р•1с�,WІІ фаі�лv "ia фil,,,,y е фаfІ11011� (І"tтtщ ПОІ!rДОІІЛ�t1А 
І 1-11() ,, ..,
і ·• -.- :Jі>'JІІ!"°'Т'1•М'r"V-м•.Ї,•";-;_," ;;":)'_• ,,.,,,.,. ,,..,.,1 •• .,. ...,.,.,. _,,,. . 
�- І : +11,, 
1/. 
Рисунок Г.15 - Слайд «Результати тестування» 
висновки 
о ретельно та
Проведені дослідження в області проблеми поповнення бібліотечних фондів було проведен
туальні проблеми. Я1< наслідо�< цьому проведено nрое1пування системи дпя реалізації програмного
виявлено ак
но вимоги до системи та її схему роботи. кінцевий результат роботи. 
вирішення цієї проблеми: виділе
Створено користувацький інтерфейс та додану базу даних для ведення бібліотеки. 
йд «Висновки»
Рисунок r. І 6 _ Сла
119