ОДЕСЬКИЙ ДЕРЖАВНИЙ ЕКОЛОГІЧНИЙ УНІВЕРСИТЕТ
Факультет комп’ютерних наук, управління та адміністрування
Кафедра інформаційних технологій
Кваліфікаційна робота бакалавра
на тему:Інформаційна система обліку науково-дослідницької роботи студентів
Виконав студент групи К-41
спеціальності 122 «Комп’ютерні науки»
Аліфлі Ельдагіз Мадад оглу Керівник к.геогр.н., доцент
Кузніченко Світлана Дмитрівна Консультант
Рецензент к.техн.н., доцент Гнатовська Ганна Арнольдівна
Одеса 2021
ЗМІСТ
Скорочення та умовні познаки ... 5
Вступ ... 6
1 Аналіз предметної області та програмних систем аналогів ... 8
1.1 Збір інформації та підготовка вихідних даних ... 8
1.2 Мета та задачі інформаційної системи ... 8
1.3 Аналіз програмних систем аналогів ... 10
2 Вибір та обгрунтування засобів розробки ... 14
2.1 Вибір мови програмування ... 14
2.2 Вибір та обґрунтування середовища розробки ... 17
2.3 Обґрунтування та вибір системи керування базами даних ... 21
2.4 Вибір інструментів для проектування ... 24
3 Проектування та реалізація програмної системи обліку НДРС ... 29
3.1 Функціональні та нефункціональні вимоги ... 29
3.2 Діаграма прецедентів ... 30
3.3 Логічне уявлення про систему та процеси ... 31
3.4 Побудова моделі потоків даних ... 33
3.5 Тестування системи обліку НДРС ... 37
3.6 Керівництво програміста ... 44
Висновки ... 46
Перелік джерел посилання ... 48
Додаток А Таблиця нарахування кредитів ЄКТС студентам ОДЕКУ ... 52
Додаток Б Фрагмент програмного коду ... 54
СКОРОЧЕННЯ ТА УМОВНІ ПОЗНАКИ
АСУ – автоматизована система управління БД – база даних
ВЗО – вищий навчальний заклад освіти ІС – інформаційна система
НДР – науково-дослідна робота
НДРС – науково-дослідна робота студента
ОДЕКУ – Одеський державний екологічний університет ОС – операційна система
ПЗ – програмне забезпечення
СКБД – система керування базами даних
DFD – Data Flow Diagrams – диаграми потоків даних JVM – Java Virtual Machine – віртуальна машина Java UI – User Interface – інтерфейс користувача
UML – Unified Modeling Language – уніфікована мова моделювання
ВСТУП
В останні роки у вищій освіті впроваджується система рейтингування студентів і викладачів. Обробка персональних даних і показників успішності з разних напрямках діяльності потребує використання спеціального автома- тизованого програмного забезпечення. Подібна автоматизована система по- вина мати зручний інтерфейс і дозволяти користувачу розрахувати загальний рейтинг студента на основі його успішності та показників його участі у нау- ково-дослідній роботі.
Обсяг науково-дослідних робіт, число конференцій збільшується пос- тійно. Тому просто необхідно впроваджувати автоматизовану систему обліку науково-дослідних робіт студентів. Принцип системи автоматизованого об- ліку полягає в наступному. Відповідальна за облік науково-дослідницьких робіт особа вводить в систему нові записи про досягнення студентів: участь у наукових кружках та семінарах, конференціяїх різного рівня, конкурсі студе- нтських наукових робіт, олімпіадах, грантах тощо. Таким же чином вводять- ся дані викладачів, які виконували керівництво науково-дослідною роботою студентів (НДРС); студентів, яким можуть призначатися науково-дослідні завдання, нові групи учнів, нові майбутні конференції. За результатами вико- наних науково-дослідних робіт розраховуються кредити студентам за вказані періоди часу. За існуючими даними при заданому критерії може бути здійс- нено пошук, результати пошуку можуть бути збережені в звіт і згодом при необхідності роздруковані. Для внесення змін система потребує наявності зручного інтерфейсу, який дозволяє переглядати таблиці бази даних і реда- гувати їх.
Метою кваліфікаційної роботи бакалавра є створення інформаційної системи обліку науково-дослідницької роботи студентів. Ця система повинна забезпечувати можливість зручного додавання науково-дослідних робіт, по- шуку робіт за заданими критеріями, складання звіту за результатами пошуку у табличному вигляді, а також перегляд і редагування таблиць бази даних.
Для досягнення поставленої мети були сформульовані наступні завдан- ня:
провести опис та аналіз предметної області;
провести порівняльний аналіз існуючих програм аналогів;
обґрунтувати вибір програмних засобів розробки та технологій для вирішення поставленої проблеми;
провести проектування програмної системи з використанням мови UML;
розробити структуру бази даних;
виконати проектування інтерфейсу користувача;
реалізувати підсистему обліку науково-дослідної роботи студентів ОДЕКУ;
виконати тестування та налагодження системи.
Структура кваліфікаційної роботи бакалавра складається з вступу, трьох розділів, висновків, переліку посилань на 24 найменування, додатків.
Повний обсяг роботи становить 64 сторінок, містить 20 рисунків і 6 таблиць.
1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА ПРОГРАМНИХ СИСТЕМ АНАЛОГІВ
1.1 Збір інформації та підготовка вихідних даних
Вихідними даними в системі, що розробляється є дані, які відповідають критеріям пошуку, інформація про тип наукової роботи, групу, персональні дані студента, дані викладача і файл в який записується звіт у вигляді табли- ці. До структури підсистеми з обліку науково-дослідницької роботи входить база даних. Нижче наводяться типи наукових робіт студентів, які підлягають врахуванню і кількість кредитів по кожному типу робіт [1]:
− виступи з доповідями на наукових гуртках та семінарах;
− участь в олімпіадах та конкурсах наукових робіт;
− участь з доповідями в університетських, всеукраїнських та міжнарод- них конференщях;
− підготовка наукових публікацій;
− участь у виконанні науково-дослідних робіт (НДР) кафедр, проблемних лабораторій науково-дослідної частини;
− участь в роботі студентських наукових шкіл, стажуванні за програмами міжнародного співробітництва.
Наукова та науково-технічна діяльність студента оцінюється щосемес- трово через нарахуванн наукових кредитів в залежності від успіхів студента та виду діяльності, що була здійснена студентом, згідно з табл. А1, наведе- ною у додатку А.
1.2 Мета та задачі інформаційної системи
Мета ІС: автоматизувати роботу, пов’язану з обліком та нарахуванням кредитів студентам ОДЕКУ за виконані види наукової та науково-технічної роботи. Інтерфейс підсистеми має бути зручним для кожного користувача та зберігати дані про досягнення студів в БД.
Цільова аудиторія: відповідальні за науково-дослідницьку роботу сту- дентів на кафедрах та відповідних структурних підрозділах університету.
Підсистема повинна виконувати наступні функції:
дані, що вносяться користувачем повинні автоматично додаватися до БД;
повинна бути можливість додавати до БД нові записи, видаляти за- старілі або непотрібні записи, редагувати існуючі;
виконувати необхідні запити на отримання потрібних даних;
програма повинна мати зручний і досить простий інтерфейс, який буде зрозумілий і не кваліфікованому користувачеві;
БД повинна зберігати інформацію про студентів на протязі їх навча- льного часу, потім відправляти у архів;
якщо студент відраховується, він потрапляє у архів;
підсистема повинна виконувати разрахунок кредитів студентів за вказаний семестр та виводити звіти у зручному форматі на друк.
Інформаційні потоки системи зображено на рисунку 2.1.
Рисунок 1.1 – Діаграма інформаційних потоків
1.3 Аналіз програмних систем аналогів
В даний час існує не так багато відомих автоматизованих систем управління ВЗО. Більшість з них не має специфічних модулей обліку саме науково-дослідної роботи студентів. В деяких системах наявні модулі нау- кової роботи, але вони стосуються саме роботи викладачів.
АСУ УЗ [2] – модульна система управління управління ВЗО від НПП
«МКР» м. Харьків (рис.1.1).
Рисунок 1.1 – Інтерфейс системи АСУ УЗ
Система є популярною і використовується в різних ЗВО України. Вона має окремий модуль «Деканат», однією з функцієй якого є розрахунок рей- тингу студентів по групах або по потоках. Нажаль, рейтинг розраховується виключно за нарахованими балами, отриманими під час навчального проце-
су. Також у системи є можливість вести облік науково-дослідної роботи, але лише співробітників університету. Основні її функції [2]:
− ведення довідника всіх державних і господарських тем;
− ведення інформації про відповідальних і всіх виконавців різних видів тем (наукових робіт);
− розрахунок і облік оплат виконання робіт по темам.
Як можно побачити, система АСУ УЗ не має готового рішення для об- ліку НДРС, яке би враховувало діючи в університеті нормативні документи та положення.
Серед відомих систем управління навчальним процесом ВЗО на ринку України можна відзначити ще автоматизовану систему управління навчаль- ним процесом для вищих навчальних закладів усіх рівнів акредитації АСК
“ВНЗ”, розроблена у Науководослідницькому інституті прикладних інфор- маційних технологій, яка є частиною інформаційно-виробничої системи
“Освіта” [3,4].
Поряд з цим у багатьох великих ВНЗ функціонують і власні розробки подібних систем. До них можна віднести:
– електронну систему управління ВНЗ "Сократ" Вінницького націона- льного аграрного університету [5];
– засоби автоматизації управління навчальним закладом, що діють в НУ “Львівська політехніка” та Львівського національного університету імені Івана Франка;
– автоматизовану інформаційну систему “Електронний університет”
[6], створену у Хмельницькому національному університеті.
Усі наведені в цьому розділі АСУ є комерційними і не пропонують по- трібної для ОДЕКУ функціональності. Функції систем є чи занадто загаль- ними і потребують доопрацювання, чи є специфічними пристосованими до потреб конкретних ВЗО.
Тому цей факт підтверджує необхідність створення власної системи управління навчальним процесом в ОДЕКУ і безпосередньо модулю обліку
науково-дослідної роботи студентів, який би враховувал всі чинні в універ- ситеті документи.
Рисунок 1.2 – Вигляд персонального кабінету студента в АСУ «Сократ»
Проведений аналіз існуючих програм аналогів виявив, що кількість їх обмежена, доступ до цих систем є платним, а функціональні можливості за- безпечують розрахунок різних видів наукових робіт відповідно до внутріш- них нормативних документів, що діють у певних ВЗО, де функціонує та чи інша система.
Тому актуальним є створення власної програмної розробки, яка буде безкоштовною для університету, а також буде враховувати всі діючі поло- ження про нарахування кредитів НДРС в ОДЕКУ, з можливістю змін нала- штувань системи за потребою.
Висновки до розділу: під час виконання першого розділу кваліфіка- ційної роботи проведено аналіз предметної області, в рамках якої розглянуті аналоги і їх особливості. Переваги та недоліки розглянутих систем управлін-
ня навчальним процесом були взяті до уваги при розробці програмного про- дукту. Показана необхідність створення власної системи управління навча- льним процесом в ОДЕКУ і безпосередньо модулю обліку науково-дослідної роботи студентів, який би враховувал всі чинні в університеті документи.
2 ВИБІР ТА ОБГРУНТУВАННЯ ЗАСОБІВ РОЗРОБКИ 2.1 Вибір мови програмування
Наведемо порівняльний аналіз сучасних мов програмування та обгрун- туємо вибір мови для написання програми.
Згідно рейтингу IEEE Spectrum за 2020 рік [7] серед найбільш популяр- них мов програмування можна виділити мови python, java, C, C++, C#. Тому розглянемо їх переваги та недоліки більш докладно.
Рисунок 2.1 – Рейтинг мов програмування за версією IEEE Spectrum
Приблизно цей же перелік мов програмування і у рейтингу TIOBE [8], що розраховується виходячи з кількості результів запитів до пошукових сис- тем, що містять назву мови [9].
Рисунок 2.2 – Рейтинг TIOBE Programming Index
Основні переваги мови Java [10]:
− крос-платформність;
− строго типізована мова;
− вихідні тексти середовища виконання відкриті, і підтримуються ве- ликою кількістю розробників по всьому світу;
− широкий вибір фреймворків і бібліотек для побудови корпоративних застосунків;
− найбільш популярні рішення для створення веб-застосунків мають відкритий вихідний код і поширюються під вільною ліцензією. До таких відносяться наприклад: Spring Framework, Apache Karaf, GWT.
Недоліки:
− низька, в порівнянні з іншими мовами, швидкодія, підвищені вимоги до обсягу оперативної пам'яті (ОП);
− великий обсяг стандартних бібліотек і технологій створює складності у вивченні мови;
− постійний розвиток мови викликає наявність як застарілих, так і но- вих засобів, що мають одне і те ж функціональне призначення.
Основні переваги C#:
− підтримка Microsoft, на відміну від Java, якої не пішов на користь перехід у власність Oracle, C # добре розвивається завдяки зусиллям Microsoft;
− останнім часом багато вдосконалюється, так як C# був створений пізніше, ніж Java та іншими мовами, то потрібно дуже багато дооп- рацювати;
− багато синтаксичного цукру. Синтаксичний цукор – конструкції мо- ви програмування, які створені для полегшення написання і розуміння коду і не грають ролі при компіляції;
− середній поріг входження: синтаксис схожий на C, С ++ або Java полегшує перехід для інших програмістів;
− наявність додаткового функціонального мови програмування (F#).
Недоліки:
− орієнтованість, в основному, тільки на .NET (на Windows платфор- му);
− безкоштовна ліцензія тільки для невеликих компанії, учнів і програмістів, які працюють над власними проектами в поодинці, для великих проектів покупка ліцензій зажадає значних матеріальних вкладень.
Основні переваги Python [11]:
− великі бібліотеки підтримки;
− наявність вбудованих інструментів для інтеграції Enterprise Application Integration, яка полегшує розробку веб-сервісів, викли- каючи компоненти COM або COBRA;
− покращена продуктивність програміста, завдяки потужним функціям інтеграції процесів, модульному тестування і розширеним можливо- стям управління, що сприяє збільшенню швидкості таі продуктивності застосунків.
Недоліки:
− Python виконується за допомогою інтерпретатора замість компілятора, що призводить до його уповільнення, тому що компіляція та виконання допомагають йому працювати нормально;
− у порівнянні з популярними технологіями, такими як JDBC і ODBC, рівень доступу до бази даних в Python виявився трохи недорозвине- ним і примітивним.
Таким чином, провівши аналіз мов програмування, можна вважати, що вибір Java є обгрунтованим, в зв'язку з тим, що дана мова має такі важливі переваги:
− значна підтримка з боку розробників, які не прив'язані до якоїсь конкретної корпорації, як наприклад C# прив'язаний до Microsoft;
− тексти програм середовища виконання Java відкриті, що дозволяє не тільки детально розібратися з архітектурою мови, а й вносити дооп- рацювання для інтеграції з новими можливостями мови;
− тісна інтеграція з системами зберігання, не тільки файловими, але і СКБД; на відміну від мови Python, Java має бібліотеки JDBC (Java Data Base Connectivity) для всіх популярних реляційних баз даних;
− здатність працювати на всіх популярних платформах під керуванням таких операційних систем як Windows, Linux, MacOS, Solaris та інші.
Це важливий аспект, так як продуктивне середовище може бути роз- горнуте на ОС Linux, в той час як розробники для себе можуть виб- рати будь-яку зручну ОС з графічною оболонкою, це і Windows 10, і Linux Ubuntu, Linux Kubunu, Linux Mint, MacOS і багато інших.
2.2 Вибір та обґрунтування середовища розробки
Серед найбільш популярних середовищ розробки на мові Java можна виділити три:
− IntelliJ IDEA;
− Eclipse;
− NetBeans.
Переваги IDE Intellij IDEA [12]:
− крім платній версії (Ultimate edition) з розширеними можливостями, має безкоштовну версію (Community edition);
− підтримує не тільки останні версії Java, а й Kotlin, Groovy і Scala;
− працює з такими системами контролю версій як Git, SVN, Mercurial і CVS;
− має підтримку популярних фреймворків Java EE, Spring, GWT, Vaadin, Play, Grails;
− має вбудований інструментарій для підключення до СКБД викори- стовуючи драйвери JDBC; також є можливість виконувати SQL за- пити, переглядати / додавати / змінювати / видаляти дані в таблицях;
− крім підсвічування синтаксису і автопідстановки має багатий інструментарій по рефакторингу коду, аналізу коду;
− тісно інтегрується з такими системами збірки як Ant, Maven і Gradle, дозволяє запускати програму прямо з вихідного коду, не звертаю- чись до терміналу;
− наявність розпізнавання контексту в вихідному коді, наприклад, при написанні в файлі з розширенням java, впроваджений фрагмент SQL запиту, IDE розпізнає і дозволяє не тільки в ньому підсвітити ключові слова та виконати автопідстановку при редагуванні, але і за- пустити його прямо звідти, де він знаходиться, використовуючи кон- текстне меню [13].
Основним недоліком даного середовища розробки можна вважати ціну, яку доведеться заплатити за розширений функціонал Ultimate edition.
Переваги Eclipse IDE [14]:
− IDE побудована на базі специфікації динамічної модульної системи, іншими словами, середовище розробки вдає із себе модульну плат- форму, до якої приєднуються плагіни для розробки на різних мовах, в тому числі Java, а також різні інструменти інтеграції;
− Eclipse IDE повністю безкоштовна;
− можливість встановити найрізноманітніші плагіни: для інтеграції з системами контролю версій, системами збирання проекту, побудова звітів, інструменти для моделювання бізнес-процесів тощо.;
− середовище розробки написано на Java, тому є кросс-платформним;
− можливість налаштовувати відображення панелей в залежності від контексту роботи.
Недоліки:
− велика кількість плагінів значно уповільнюють роботу середовища;
− плагіни часто пишуться сторонніми розробниками, тому встанов- люючи додаткові модулі, нерідко можна отримати їх конфлікт;
− модулі часто нестабільні або мають невелику кількістю функціональності.
Переваги NetBeans [15]:
− включає в себе інструментарій для роботи з Java, JavaScript і HTML, а також підтримку інтеграції з такими веб-серверами як GlassFish і Tomcat;
− редактор дозволяє відстежувати помилки «на льоту» при введенні тексту;
− швидкість роботи не залежить від кількості встановлених плагінів, вони не конфліктують один з одним;
− в інструментарій NetBeans входять графічні редактори для побудови призначеного для користувача інтерфейсу.
З недоліків можна відзначити бідний набір інструментів щодо інтеграції з СКБД, системами контролю версій, системами збірки, в порівнянні з Inellij IDEA і в Eclipse IDE.
Як підсумок, можна сказати, що найбільш доцільно використовувати IntelliJ IDEA Community Edition в зв'язку з наявністю у неї досить різноманітного інструментарію для роботи з системами управління версіями і системами збірки, можливості працювати з базою даних безпосередньо, не
встановлюючи додаткового ПЗ. Одним з аргументів також слід зазначити і продуктивність. На відміну від Eclipse IDE, система IntelliJ IDEA вже включає необхідний інструментарій, який не конфліктує між собою і не уповільнює роботу програми.
Інтерфейс IDE містить такі основні елементи як: вікно текстового ре- дактора, проекти, переходи і завдання (рис.2.3).
Рисунок 2.3 – Інтерфейс IDE
1) Вікно текстового редактора. Написання та редагування програмно- го коду. Є можливість переключатись між файлами і перехід на стартову сто- рінку. Також тут можна подивитися історію написання та редагування коду, треба відзначити дуже зручно реалізовано, показуються ділянки коду до і піс- ля певної зміни.
2) Вікно проекту. Область де можна дивитися структуру проекту. Пе- регляд вихідних файлів програми, бібліотеки, додаткові файли конфігурацій і так далі.
3) Вікно для роботи з базою даних.
4) Вторинні вікна, які забезпечують доступ до різних конкретних за- вдань (управління проектами, пошук, запуску та налагодження, інтеграції з системами контролю версій і т.д.
Написання коду в редакторі відбувається дуже зручно. Прекрасно реа- лізовано автодоповнення, де є пояснення елементів, які доповнюються, в по- ясненнях можна переходити на опис інших елементів, також там є посилання на повний опис в інтернеті. При виникнення помилки пропонуються варіанти виправлення, доповнення, зміни та їх автоматична реалізація (наприклад ім- порт відсутнього класу).
Середа розробки має повну документацією, є об'ємний опис всіх осно- вних елементів. Є велика кількість навчального матеріалу.
2.3 Обґрунтування та вибір системи керування базами даних
Незважаючи на те, що всі системи керування базами даних (СКБД) ви- конують одну і ту ж основну задачу (тобто дають можливість користувачам створювати, редагувати і отримувати доступ до інформації, що зберігається в базах даних), сам процес виконання цього завдання варіюється в широких межах. Крім того, функції і можливості кожної СКБД можуть істотно відріз- нятися. Різні СКБД документовані по-різному: більш-менш ретельно. По- різному надається і технічна підтримка.
При порівнянні різних популярних систем, слід враховувати, чи зручна для користувача і масштабуєма дана конкретна СКБД, а також переконатися, що вона буде добре інтегруватися з іншими продуктами, які вже використо- вуються. Крім того, під час вибору слід взяти до уваги вартість системи і під- тримки, наданої розробником.
Існує кілька популярних СКБД, як платних, так і безкоштовних, які можна рекомендувати для застосування в організації.
Для порівняння візьмемо найбільш популярні СКБД:
− MySQL;
− Microsoft SQL Server;
− PostgreSQL.
Переваги MySQL [16]:
− розповсюджується безкоштовно;
− прекрасно документована;
− пропонує багато функцій, навіть у безкоштовній версії;
− MySQL включена в стандартні репозиторії найбільш поширених дистрибутивів операційної системи Linux, що дозволяє встановлюва- ти її елементарно;
− підтримує набір призначених для користувача інтерфейсів;
− може працювати з іншими базами даних, включаючи DB2 і Oracle.
Недоліки:
− доведеться витратити багато часу і зусиль, щоб змусити MySQL ви- конувати нескладні завдання, хоча інші системи роблять це автома- тично, наприклад: створювати інкрементні резервні копії;
− відсутня вбудована підтримка XML або OLAP;
− для безкоштовної версії доступна тільки платна підтримка.
Ідеально підходить для: організацій, яким потрібен надійний інстру- мент управління базами даних, але безкоштовний.
Переваги Microsoft SQL сервер [17]:
− продукт дуже простий у використанні;
− поточна версія працює швидко і стабільно;
− движок надає можливість регулювати і відслідковувати рівні проду- ктивності, які допомагають знизити використання ресурсів.
− можна отримати доступ до візуалізації на мобільних пристроях;
− добре взаємодіє з іншими продуктами Microsoft.
Недоліки:
− ціна для юридичних осіб виявляється неприйнятною для більшої
− частини організацій;
− навіть при ретельному налаштування продуктивності SQL Server здатний зайняти всі доступні ресурси;
− повідомляється про проблеми з використанням служби інтеграції для
− імпорту файлів.
Ідеально підходить для: великих організацій, які вже використовують ряд продуктів Microsoft.
Переваги PostgreSQL [18]:
− масштабується і здатний обробляти терабайти даних;
− підтримує формат json;
− існує безліч визначених функцій;
− доступна низка інтерфейсів.
Недоліки:
− документація туманна, тому, можливо, відповіді на деякі питання доведеться шукати в інтернеті;
− конфігурація може збентежити непідготовленого користувача;
− швидкість роботи може падати під час проведення пакетних опера- цій або виконання запитів читання.
Ідеально підходить для організацій з обмеженим бюджетом, але квалі- фікованими фахівцями, коли потрібно можливість вибрати свій інтерфейс і використовувати json [19].
Підбивши підсумок, можна зробити висновок, що оптимальною СКБД для зберігання даних в системі обліку НДРС є MySQL.
MySQL – вільна система керування базами даних. Поширюється під GNU General Public License і під власною комерційною ліцензією, на вибір.
Крім цього розробники створюють функціональність за замовленням ліцен- зійних користувачів, саме завдяки такому замовленню майже в найраніших версіях з'явився механізм реплікації. Ліцензія на MySQL Community edition
надається безкоштовно.
2.4 Вибір інструментів для проектування
Перед створенням програмного коду мобільного застосунка необхідно виконати проектування майбутнього програмного забезпечення. Це завдання в свою чергу потребує обґрунтування вибору інструментів для проектування.
Розглянемо найбільш популярні засоби для проектування програмного забезпечення. До них відносяться:
− BPMN Модель Бізнес-Процесів;
− побудова блок-схем;
− створення ER-діаграм;
− UML-діаграми.
Модель BPMN є стандартом для моделювання бізнес-процесів, що на- дає графічну нотацію для визначення складної семантики бізнес-процесу у вигляді діаграми BPD. Така діаграма ґрунтується на представлені бізнес- процесу у вигляді блок-схеми, що семантично схожа на діаграму діяльності [20]. Розрізняють чотири категорії елементів діаграми BPD:
− об’єкти потоку керування: дії, події та логічні оператори;
− поєднуючі елементи: потік керування, потік повідомлень та асоціа- ції;
− ролі: пули та доріжки;
− артефакти: дані, групи та текстові анотації.
Приклад моделі бізнес-процесу та позначення процесу із нормальним потоком наведено на рис.2.4.
Блок-схема (англ. flowchart) дозволяє представити алгоритм розв'язу- вання або аналізу задачі за допомогою геометричних елементів (блоків), які позначають операції, потік, дані тощо. Блок вхідних та вихідних даних при- йнято позначати паралелограмом, блок обчислень (обробки) даних – прямо- кутником, блок прийняття рішень – ромбом, еліпсом – початок та кінець ал- горитму. Схема машини, приладу, апарата, пристрою, в якій основні вузли
(блоки), що утворюють її, зображено прямокутниками та іншими фігурами, а зв'язок між ними показано лініями зі стрілками.
Рисунок 2.4 – Приклад діаграми моделі бізнес-процесу
Схема «сутність-зв'язок» (також ERD або ER-діаграма) – це різновид блок-схеми, де показано, як різні «сутності» пов'язані між собою всередині системи [21]. ER-діаграми найчастіше застосовуються для проектування і на- лагодження реляційних баз даних. ER-діаграми (або ER-моделі) використо- вують стандартний набір символів, включаючи прямокутники, ромби, овали і сполучні лінії, для відображення сутностей, їх атрибутів і зв'язків. ER- діаграми часто використовуються в поєднанні з діаграмами DFD, які схема- тично показують рух потоків інформації в рамках процесу або системи (рис.2.5).
У ER-моделях і моделях даних зазвичай виділяють до трьох рівнів деталізації:
− концептуальна модель даних – схема найвищого рівня з мінімальною кількістю подробиць, що відображаэ загальну структуру моделі і всю архітектуру системи;
− логічна модель даних містить більш детальну інформацію (операційні та транзакційні суті) та не залежить від технології, в якій вона буде застосовуватися;
− фізична модель даних: на основі кожної логічної моделі даних можна скласти одну або дві фізичних моделі, що містять досить технічних подробиць для складання і впровадження самої бази даних.
Рисунок 2.5 – Приклад ER-діаграми
ER-діаграма демонструє зв'язки і відносини між елементами, тому вона відображають тільки реляционную структуру.
UML (англ. Unified Modeling Language) – уніфікована мова моделю- вання, використовується у парадигмі об'єктно-орієнтованого програмування.
Це відкритий стандарт, що використовує графічні позначення для створення абстрактної моделі системи, яка називається UML-моделлю. Діаграми дають можливість представити систему у такому вигляді, щоб її можна було легко перевести в програмний код. Це дозволяє збільшити ефективність реалізації програмних систему кілька разів і помітно поліпшити якість кінцевого про- дукту. Практично усі CASE-засоби (програми автоматизації процесу аналізу і
проектування) мають підтримку UML. Серед найбільш відомих UML діаграм слід вказати наступні [22]:
− структурні діаграми: класів, компонент, розсортування, об’єктів, па- кетів;
− діаграми поведінки: діяльності, станів, прецедентів;
− діаграми взаємодії: послідовності, синхронізації.
Щоб стало зрозуміліше призначення додаткових інструментів, необ- хідних для якісної підготовки до безпосереднього створення комп'ютерного коду майбутнього програмного продукту, перерахуємо найактуальніші про- грами, що дозволяють полегшити життя колективів розробників.
Найбільш часто при використанні моделі BPMN застосовуються такі пакети: Sybase Power Designer; Eclipse; Visio + BPMN; AcuaLogic BPMN.
І для створення блок-схем, що наочно формують структуру майбутньо- го програми або програми, а також побудови ER-діаграм використовується пакет Microsoft Visio, що можна назвати найбільш універсальним інструмен- том проектувальника програмного забезпечення. Для розробки ER-діаграм також застосовуються ERWin і згаданий вище пакет Sybase Power Designer.
Для побудови більш складних і дієвих UML-діаграм, які є, можливо, найефективнішим засобом для проектування програмного забезпечення, мо- же бути використано програмний пакетStarUML. Це проект з відкритим ко- дом для розробки швидких, гнучких, функціональних платформ UML/MDA для 32-розрядних систем Windows. Безкоштовний платформа для моделю- вання StartUML є аналогом для таких комерційних проектів, як Rational Rose, Together та інших.
Таким чином, після виконаного аналізу при проектуванні програмного забезпечення будуть використані наступні засоби проектування: нотація UML для моделювання структури, поведінки та взаємодії програмної систе- ми та ER-діаграма для опису структури БД.
Висновки до розділу: на основі проведеного аналізу в роботі було об- грунтовано вибір програмних засобів та технологій розробки застосунку об-
ліку науково-дослідної роботи студентів. Програма буде створена з викорис- танням мови програмування Java та середовища розробки IntelliJ IDEA Community Edition. В якості СКБД буде використана MySQL. Проектування ПЗ буде здійснено з використанням засобів UML-нотацій.
3 ПРОЕКТУВАННЯ ТА РЕАЛІЗАЦІЯ ПРОГРАМНОЇ СИСТЕМИ ОБЛІКУ НДРС
3.1 Функціональні та нефункціональні вимоги
Розглянемо більш докладно функціональні вимоги.
1. Авторизація в системі
F1. Функція прямої авторизації користувача
F1.1. Користувач при авторизації повинен ввести логін і пароль. Логін не повинен повторяться, пароль повинен бути надійний. Авторизація виконується для зручності використання системи, дає можливості створюва- ти особисті профілі користувача і зберігати результати роботи з продуктом кожного користувача.
F1.2. У разі некоректного введення логіна і пароля система виведе повідомлення про помилку і підказку. «Невірний логін / пароль, перевірте коректність введення».
F1.3. У разі успішної авторизації користувач потрапляє в свій «кабінет»
(робоче вікно).
2. Робота в режимі авторизованого користувача.
F2. Додати нові групи.
F2.1. Вибір опції додавання видів робіт.
F2.2 Завантаження даних.
F2.3 Збереження результатів у особистому кабінеті.
F2.3.1 Можливість вивантажити інформацію в спеціальному файлі.
F2.3.2 При невдалому збереження користувачеві буде повідомлено про помилку.
3. Додаткові можливості в режимі авторизованого користувача.
F3. Створення груп документів.
F3.1. Виконання групування розпізнаних документів по типу, докумен- ти з певним типом знаходяться в окремій групі.
F3.2 Редагування документів.
F3.3. Виконання видалення документів або груп документів.
4. Робота в режимі адміністратора F4. Видалення неактивних.
До нефункціональних вимог можна віднести наступні:
NF1. Застосунок має працювати з активним підключенням до інтернету.
NF 2. Застосунок має працювати на операційній системі Windows 7/8/10.
NF 3. Система повинна зберігати дані про адміністратора та користувачів в БД.
NF 4. Додаток не повинен закриватися при наявності помилок, а вміти реагувати на них і сповіщати при цьому користувача.
3.2 Діаграма прецедентів
Наведені вимоги дозволяють побудувати діаграму прецедентів, яка по- дана на рис. 3.1.
Діаграма прецедентів – це тип поведінкової діаграми UML, яка дозволяє візуалізувати різні типи ролей в програмній системі і те, яким чином ці ролі взаємодіють з системою [23].
Діаграма прецедентів чи варіантів використання (Use Case Diagram) ви- значає функціональне призначення модельованої системи або предметної об- ласті. Дана діаграма відображає безліч акторів, що взаємодіють з проектова- ної системою (програмним засобом) за допомогою варіантів використання.
Таким чином, основними елементами діаграми варіантів використання є ак- тор і варіант використання.
Актор – це зовнішня по відношенню до модельованої системі сутність, що взаємодіє з системою для вирішення деяких завдань. Як актор може вико- ристовуватися людина, інша система, пристрій або програмний засіб [24].
Варіант використання визначає деякий набір дій (операцій), які повинні бути виконані моделюється системою або програмним засобом при взаємодії з актором.
Рисунок 3.1 – Діаграма прецедентів
3.3 Логічне уявлення про систему та процеси
Для створення абстрактної уяви про майбутню систему, була розробле- на діаграма логіки роботи з обліку НДРС. На рис. 3.2 подана логіка роботи системи та напрямки взаємодії користувача з застосунком та БД.
В базі даних зберігається інформація про науково-дослідну роботу сту- дентів. Адміністратор має усі можливості користувача, та ще має змогу через за стосунок взаємодіяти з базою даних користувачів. Видаляти, редагувати та ін. Логіка адміністратора передбачає усю логіку користувача з розшире- ними можливостями.
Рисунок 3.2 – Схема логіки роботи системи та зв’язку компонентів для користувача
В програмній системі застосовується багато різних алгоритмів роботи, але майже всі вони виконуються системою чи окремими бібліотеками. Та все ж в програмі є декілька алгоритмів, які мають найбільшу цінність і виділяють систему з ряду інших: авторизація, додавання даних про НДРС д БД, розра- хунок кредитів НДРС за заданий період. Розглянемо процеси, якиі є нетривіальними у порівнянні з іншими.
На рис. 3.3 подано діаграму послідовності для виведення інформації по кредитам НДРС за вказаний період.
Рисунок 3.3 – Діаграма послідовності для виводу кредитів НДРС за вказаний період
3.4 Побудова моделі потоків даних
Аналіз предметної області проведемо за допомогою CASE-засобу BPwin з використанням двох методів IDЕF0 і DFD. Вибір даних методів обу- мовлений такими факторами:
− IDEF0 – необхідністю визначення відповідних областей в досліджу- ваній системі, на яких необхідно сфокусувати увагу в першу чергу (обліку НДРС з метою побудови деякої інформаційної системи);
− DFD – дані діаграми використовуються для опису документообігу та
обробки інформації. Вони є доповненням до моделі IDEF0 для більш наочно- го відображення поточних операцій з документами в системах обробки інфо- рмації. Діаграма DFD системи обліку НДРС наведена на рис. 3.3.
Рисунок 3.3 – Діаграма DFD системи обліку НДРС
Фізична модель даних залежить від конкретної СКБД, фактично буду- чи відображенням системного каталогу. У фізичної моделі міститься вся ін- формація про всі об'єкти БД. Представлені в фізичної моделі атрибути несуть конкретну інформацію про конкретних фізичних об'єктах. Фізична база да- них буде складатися з таблиць, стовпців і зв'язків. У моделі виділено шість сутностей: Student, Group, State, Teacher, Project, Credit.
Кожна з сутностей має свій набір атрибутів і первинних ключів, які ві- дображені на ER-діаграмі. Таким чином, визначається інформація, яка збері- гається в конкретної сутності і в конкретному атрибуті, що забезпечує повну інформаційну підтримку для виконання всіх функцій, закладених в інформа- ційну систему. Нижче опишемо інформацію, що міститься в кожній з сутнос- тей, наведеною на ERR-діаграмі (рис.3.4).
Рисунок 3.4 –ERR діаграма системи
− сутність Student містить інформацію про студента;
− сутність Group зберігає інформацію про групу, в якій студент навча- ється;
− сутність State містить данні, очно, заочно чи студент закінчив на- вчання, або його відраховано, потрапив студент до архіву чи ні;
− сутність Teacher зберігає інформацію про вчителя, який керує проце- сом НДРС;
− сутність Project містить інформацію про НДРС;
− сутність Credit зберігає дані про кредити.
Нижче наводиться детальна структура цих таблиць.
Таблиця 3.1 – Структура таблиці Student
Поле Тип даних Примітка
idStudent int первинний ключ
First_name varchar Ім’я студента Last_name varchar Прізвище
Second_name varchar По батькові
Group_idGroup int Вторинний ключ(ід групи) Year_begin date Рік початку навчання
Teacher_idTeacher int Вторинний ключ(ід вчителя) State_idState int Вторинний ключ(ід позиції) Таблиця 3.2 – Структура таблиці Project
Поле Тип даних Примітка
idProject int первинний ключ
Project_name varchar Назва роботи Project_type varchar Тип роботи Project_level varchar Рівень роботи
Student_idStudent int Вторинний ключ(ід студента що виконує)
Student_Group_idGroup int Вторинний ключ(ід групи студента) Student_Teacher_idTeacher int Вторинний ключ(ід вчителя що ке-
рує)
Project_Date date Дата початку роботи Таблиця 3.3 – Структура таблиці Credit
Поле Тип даних Примітка
idCredit int первинний ключ
Place int Зайняте місце
Project_idProject int Вторинний ключ(ід проекту) Таблиця 3.4 – Структура таблиці Group
Поле Тип даних Примітка
idGroup int первинний ключ
Group_name varchar Назва групи
Таблиця 3.5 – Структура таблиці Teacher
Поле Тип даних Примітка
idTeacher int первинний ключ
First_name varchar Ім’я вчителя
Last_name varchar Прізвище
Second_name varchar По батькові
Таблиця 3.6 – Структура таблиці State
Поле Тип даних Примітка
idState int первинний ключ
Position varchar Позиція студента(очна/заочна ф.н.) Archive varchar Скінчив навчання студент чи ні
3.5 Тестування системи обліку НДРС
Система обліку НДРС, що розроблюється повинна забезпечити мож- ливість зручного внесення даних в базу, пошуку студентів в базі даних, і ре- дагування таблиць бази даних.
Для запуску даного програмного продукту необхідна наявність персо- нального комп'ютера (ПК) з операційною системою, яка підтримує JRE 1.5 і вище, ОП 64 Мбайт і вище.
Після запуску програми користувачеві надається можливість обрати у меню чотири варіанти. Якщо треба проводити роботу з базою даних студен- тів, або додати чи змінити проекти, роботи, проставити відмітки, треба нати- снути першу кнопку (рис.3.5). Якщо треба переглянути архів, де знаходяться всі студенти, котрі закінчили своє навчання у вищому навчальному закладі, натиснувши відповідну кнопку можна попасти до таблиці з усіма студента- ми. У цій таблиці можна переглянути минулі роботи, і відмітки що заробили студенти. Отже внесені дані не можуть загубитись.
Рисунок 3.5 – Початкове вікно
Наступна кнопка дозволяє вивести дані з таблиць бази даних до файлу більш легшому для редагування форматі Excel. Після обробки й додавання потрібних даних можна роздрукувати.
Остання кнопка дозволяє вийти з програми, якщо вхід був здійснено помилково.
Після того як буде на тиснена перша кнопка, користувач попадає но на- ступного вікна, в якому представлено інтерфейс що зображено на рис.3.6.
Зверху можна побачити три основні кнопки, за допомогою яких:
− додаються до бази даних студенти чи роботи зв’язані безпосередньо зі студентами;
− можливість змінювати інформацію про студентів, якщо це потрібно;
− у цьому ж меню можна проставити оцінку за роботу, виставити місце яке зайняв той чи інший студент;
− перемістити студента до архіву, якщо останній закінчив навчання,
або його відраховано, а анкету потрібно зберігати деякий час.
Рисунок 3.6 – Інтерфейс управління НДРС, та студентами
Нижче під кнопками представлено форму пошуку студента по його прізвищу. Отже всі результати пошуку, що відповідають запиту будуть пред- ставлені у таблиці нижче. У початку роботи, до того як користувач скориста- ється пошуком в таблиці відображаються всі студенти у базі даних що колись було додано, і які навчаються у поточний час.
Це вікно являє собою головне робоче меню. Якщо робота була закінче- на, унизу я кнопка яка дозволяє вийти із середовища.
При натисканні на кнопку «Добавить» (рис.3.6), користувачу представ- ляється вибір: додати нового студента до бази, чи додати новий проект.