Пояснювальна записка -...

108
Форма № Н-9.02 Вінницький національний технічний університет (повне найменування вищого навчального закладу) Інститут інформаційних технологій та комп'ютерної інженерії (повне найменування інституту, назва факультету (відділення)) Кафедра програмного забезпечення (повна назва кафедри (предметної, циклової комісії) Пояснювальна записка до бакалаврської дипломної роботи бакалавр (освітньо-кваліфікаційний рівень) на тему «Розробка навчальної програми «Технічна англійська мова» Виконав: студент 4 курсу, групи 1ПІ-10 напряму підготовки 6.050103 Програмна інженерія (шифр і назва напряму підготовки, спеціальності) Сівець О.О (прізвище та ініціали) Керівник Войтко В.В. (прізвище та ініціали) Рецензент____________________ (прізвище та ініціали) Вінниця - 2014 року

Upload: others

Post on 25-Jun-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

1

Форма № Н-9.02

Вінницький національний технічний університет

(повне найменування вищого навчального закладу)

Інститут інформаційних технологій та комп'ютерної інженерії

(повне найменування інституту, назва факультету (відділення))

Кафедра програмного забезпечення (повна назва кафедри (предметної, циклової комісії)

Пояснювальна записка до бакалаврської дипломної роботи

бакалавр (освітньо-кваліфікаційний рівень)

на тему «Розробка навчальної програми «Технічна англійська мова»

Виконав: студент 4 курсу, групи 1ПІ-10

напряму підготовки

6.050103 – Програмна інженерія (шифр і назва напряму підготовки, спеціальності)

Сівець О.О (прізвище та ініціали)

Керівник Войтко В.В.

(прізвище та ініціали) Рецензент____________________ (прізвище та ініціали)

Вінниця - 2014 року

Page 2: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

2

Форма № Н-9.01

Вінницький національний технічний університет

Інститут інформаційних технологій та комп'ютерної інженерії

Кафедра програмного забезпечення

Освітньо-кваліфікаційний рівень - бакалавр

Напрям підготовки 6.050103 «Програмна інженерія»

ЗАТВЕРДЖУЮ Завідувач кафедри____________________

_______________________________

“____” _________________20___року

З А В Д А Н Н Я

НА БАКАЛАВРСЬКУ ДИПЛОМНУ РОБОТУ СТУДЕНТУ

Сівець Оксані Олександрівні

1. Тема роботи: «Розробка навчальної програми «Технічна англійська мова»

керівник роботи: Войтко Вікторія Володимирівна, к. т. н., доцент затверджені

наказом вищого навчального закладу від “___”_____20__ року №___

2. Строк подання студентом роботи____________________________________

3. Вихідні дані до роботи : операційна система – Windows XP, Windows 7;

середовище програмування – MS Visual Studio 2013; мова

програмування – C# .

4. Зміст розрахунково-пояснювальної записки (перелік питань, які потрібно

розробити): вступ; аналіз галузі використання розробки та постановка задач

дослідження; розробка алгоритмів, структур і методів програмного продукту;

розробка навчальної програми вивчення іноземної мови; тестування

програмного забезпечення; охорона праці; висновки; додатки

5. Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень): -

мета і задачі роботи; блок-схема алгоритму роботи програми; структура

програми; структура роботи програмного продукту; інтерфейс програми;

тестування програми .

Page 3: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

3

6. Консультанти розділів проекту (роботи) Розділ Прізвище, ініціали та посада

консультанта

Підпис, дата

завдання видав завдання прийняв

Технічний

розділ

Войтко В.В., к.т.н., доцент

кафедри ПЗ

Охорона

праці

Заюков І.В., к.е.н., доцент

кафедри БЖД

7. Дата видачі завдання______________________________________________

КАЛЕНДАРНИЙ ПЛАН

з/п

Назва етапів дипломного

проекту (роботи)

Строк виконання

етапів проекту

( роботи )

Примітка

1 Аналіз галузі використання програмного

продукту

Вик.

2 Розробка алгоритмів, структур і методів

програми

Вик.

3 Розробка інтерфейсу Вик.

4 Розробка програми вивчення іноземної мови Вик.

5 Тестування роботи ПЗ Вик.

6 Розробка питань охорони праці Вик.

7 Оформлення матеріалів до захисту БДР Вик.

Студент _________ Сівець О.О.

( підпис ) (прізвище та ініціали)

Керівник проекту (роботи) _____________ Войтко В.В. ( підпис ) (прізвище та ініціали)

Page 4: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

4

АНОТАЦІЯ

Бакалаврська дипломна робота присвячена розробці навчальної програми

для вивчення технічної англійської мови. Даний програмний продукт

полегшить роботу викладача і допоможе швидко та зручно оцінити знання

студентів. У програмі передбачено поділ навчання за темами, кожна тема

містить п’ять завдань, за допомогою яких будь-якому користувачу буде досить

легко вивчити технічну англійську мову. Перші чотири завдання поділяються

на два рівні складності.

Навчальна програма реалізована засобами мови програмування C# у

середовищі програмування Visual Studio 2013.

Також у роботі було розглянуто рамки створення безпечних умов праці та

параметри робочого середовища для користувачів ЕОМ.

Page 5: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

5

ANNOTATION

Bachelor work is devoted to developing the training program for studying

technical English. This software will facilitate the work of the teacher and will help to

quickly and easily evaluate students' knowledge. The program provides training

division by themes; each theme contains five tasks with which any user will be quite

easy to learn technical English. The first four tasks are divided into two levels of

difficulty.

The training program is implemented by means of the programming language

C# programming environment in Visual Studio 2013.

Also, the work was considered part of a safe working environment and

working environment settings for users of computers.

Page 6: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

6

АННОТАЦИЯ

Бакалаврская дипломная работа посвящена разработке учебной

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

программный продукт облегчит работу преподавателя и поможет быстро и

удобно оценить знания студентов. В программе предусмотрено разделение

обучения на темы, каждая тема содержит пять заданий, с помощью которых

любому пользователю будет достаточно легко изучить технический английский

язык. Первые четыре задания делятся на два уровня сложности.

Учебная программа реализована средствами языка программирования C#

в среде программирования Visual Studio 2013.

Также в работе были рассмотрены рамки создания безопасных условий

труда и параметры рабочей среды для пользователей ЭВМ.

Page 7: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

7

ЗМІСТ

ВСТУП .......................................................................................................................... 9

1 АНАЛІЗ ГАЛУЗІ ВИКОРИСТАННЯ РОЗРОБКИ ТА ПОСТАНОВКА ЗАДАЧ

ДОСЛІДЖЕННЯ ....................................................................................................... 11

1.1 Огляд стану питання ........................................................................................... 11

1.2 Аналіз аналогів .................................................................................................... 18

1.3 Постановка задач ................................................................................................. 24

1.4 Висновки .............................................................................................................. 25

2 РОЗРОБКА АЛГОРИТМІВ, СТРУКТУР ТА МЕТОДІВ ПРОГРАМНОГО

ПРОДУКТУ................................................................................................................ 26

2.1 Вибір методу побудови робочого поля ............................................................. 26

2.2 Розробка алгоритму роботи програми .............................................................. 28

2.3 Розробка структури програмного продукту ..................................................... 32

2.4 Розробка структури роботи програми ............................................................... 35

2.5 Висновки .............................................................................................................. 37

3 РОЗРОБКА НАВЧАЛЬНОЇ ПРОГРАМИ ВИВЧЕННЯ ІНОЗЕМНОЇ МОВИ 38

3.1 Обґрунтування вибору засобів реалізації програмного продукту ................. 38

3.2 Розробка інтерфейсу програми .......................................................................... 40

3.3 Розробка програми .............................................................................................. 52

3.4 Висновки .............................................................................................................. 54

4 ТЕСТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ........................................ 55

4.1 Аналіз методик тестування ................................................................................ 55

4.2 Тестування навчальної програми ...................................................................... 56

4.3 Висновки .............................................................................................................. 59

5 ОХОРОНА ПРАЦІ ................................................................................................. 60

5.1 Характеристика професії та приміщення ......................................................... 60

5.2 Аналіз стану умов праці в приміщенні ............................................................. 63

5.3 Розробка заходів щодо поліпшення умов праці ............................................... 70

Page 8: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

8

5.4 Висновки .............................................................................................................. 71

ВИСНОВКИ ............................................................................................................... 73

ПЕРЕЛІК ПОСИЛАНЬ ............................................................................................. 75

ДОДАТОК А – Акт впровадження .......................................................................... 77

ДОДАТОК Б – Лістинг модуля програми MainWindowVM.cs ............................ 79

ДОДАТОК В – Лістинг модуля програми MainWindow.xaml.............................. 89

ДОДАТОК Г – Лістинг модуля програми ComputerArchitectureControl.xaml .... 91

ДОДАТОК Ґ – Ілюстративний матеріал до захисту роботи ................................. 95

Page 9: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

9

ВСТУП

Застосування комп'ютерних програм для вивчення іноземної мови значно

підвищує інтенсивність навчального процесу. Під час комп'ютерного навчання

засвоюється набагато більша кількість матеріалу, ніж це робилося за один і той

же час в умовах традиційного навчання. Крім того, матеріал при використанні

комп'ютера засвоюється міцніше. Комп’ютерні програми дозволяють тренувати

різні види мовної діяльності і поєднувати їх у різних комбінаціях, допомагають

усвідомити мовні явища, сформувати лінгвістичні здібності, створити

комунікативні ситуації, автоматизувати мовні та мовленнєві дії, а також

забезпечують можливість обліку ведучої репрезентативної системи, реалізацію

індивідуального підходу та інтенсифікацію самостійної роботи користувача.

Головною метою розроблюваної програми є покращення якості

опановування знань з технічної англійської мови за рахунок застосування

комп’ютерних технологій та оцінки результатів для мотивації навчання

користувача. Об’єктом дослідження є технології розробки навчальних програм.

Предметом дослідження постають навчальні комп’ютерні програми. Задачами

бакалаврської роботи є аналіз сучасних навчальних програм, визначення їх

переваг та недоліків, розробка власної навчальної комп’ютерної програми, що

дозволяє з легкістю опанувати загальні терміни технічної англійської мови.

Бакалаврська дипломна робота присвячена розробці навчальної програми

з технічної англійської мови. Вивчення технічної англійської мови важливо і

просто необхідно в тому випадку, якщо професійна діяльність людини

пов'язана з технічною сферою. В цьому випадку знання технічної англійської

дадуть змогу піднятися на більш високий рівень професіоналізму, посилити

свою цінність як фахівця, який вміє працювати і з закордонними колегами.

Результати роботи опубліковані в науковій публікації [2]. Також присутнє

свідоцтво про реєстрацію авторського права [3]. Робота виконана на

Page 10: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

10

замовлення закладу «Загальноосвітня школа І-ІІІ ступенів №15 Вінницької

міської ради», що підтверджує акт впровадження, поданий у додатку А.

У першому розділі роботи було проведено огляд стану питання, наведено

класифікацію комп’ютерних навчальних програм та алгоритми комп’ютерного

навчання, розглянуто дидактичне програмування та його види. Було проведено

аналіз аналогів розроблюваного програмного продукту, здійснено постановку

задач бакалаврської роботи.

У другому розділі було обрано метод побудови робочого поля,

розроблено ієрархічну структуру моделей представлення програми, складено

блок-схему алгоритму роботи навчальної програми. Також було розроблено

структуру програмного продукту.

У третьому розділі описано розробку навчальної програми, а саме

проведено варіантний аналіз та обґрунтування вибору мови програмування та

середовища реалізації програмного продукту, наведено основні функції та

класи програми, а також описано їх призначення. Подано структуру

інтерфейсу, наведено основні властивості та правила проектування та,

відповідно до них, розроблено інтерфейс програми.

У четвертому розділі описано методики тестування та проведено

тестування навчальної програми.

П’ятий розділ містить характеристику професії «Інженер з програмного

забезпечення комп'ютерів», дослідження приміщення для роботи, аналіз стану

умов праці та заходи щодо їх покращення.

Page 11: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

11

1 АНАЛІЗ ГАЛУЗІ ВИКОРИСТАННЯ РОЗРОБКИ ТА

ПОСТАНОВКА ЗАДАЧ ДОСЛІДЖЕННЯ

1.1 Огляд питання

Комп’ютерна технологія підвищує інтерес до вивчення будь-якої

дисципліни. Більш тонке використання можливостей комп’ютера дозволяє

управляти мотивацією користувачів під час комп’ютерного навчання. Тут

маються на увазі, у першу чергу, що мотивують репліки навчальних програм,

тобто фрази, у яких навчальна програма оцінює роботу користувача й

стимулює подальше навчання. Ці фрази можуть мати неформальний характер з

відтінком гумору й створювати теплу партнерську емоційну атмосферу при

роботі з комп’ютером. Важливе значення мають елементи гри, змагання в

комп’ютерному навчанні або звукові й зорові ефекти (звучання музичних

мелодій, миготіння й кольору на екрані дисплея).

Існує безліч навчальних програм з різних дисциплін, орієнтованих на

всілякі категорії користувачів, починаючи контингентом дитячих садків і

закінчуючи персоналом різних компаній та фірм. Усі навчальні програми

поділяються на чотири типи [1]:

1) тренувальні й контролюючі;

2) наставницькі;

3) імітаційні й моделюючі;

4) розвиваючі ігри.

Тренувальні програми призначені для закріплення вмінь і навичок.

Передбачається, що теоретичний матеріал уже вивчений. Ці програми у

випадковій послідовності пропонують користувачу питання й завдання і

підраховують кількість правильно і неправильно вирішених завдань (у випадку

правильної відповіді може видаватися репліка, що заохочує користувача). При

неправильній відповіді користувач може одержати допомогу у вигляді підказки.

Page 12: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

12

Програми 2-го типу (наставницькі) пропонують користувачам

теоретичний матеріал для вивчення. Завдання й питання служать у цих

програмах для організації людино-машинного діалогу, для керування ходом

навчання. Так, якщо відповіді, що даються користувачем, невірні, програма

може «відкотитися назад» для повторного вивчення теоретичного матеріалу.

Відомо кілька видів організації програм наставницького типу, називаних також

алгоритмами програмованого навчання.

1. Послідовно-підготовчий алгоритм. Початковий елемент завдання

відносно простий, він підготовлює виконання другого, більш складного, а той,

у свою чергу, третього і т.д. Заключні елементи мають досить високий рівень

складності.

2. Паралельно-підготовчий алгоритм. Початкові елементи завдань

незалежно один від одного підготовлюють виконання наступного за ним

комплексного елемента високого рівня.

3. Послідовно-коригувальний алгоритм. Початкові елементи завдання

мають високий рівень складності, а кожний наступний елемент коректує

виконання попереднього, указуючи, наприклад, на протиріччя, до яких

приводять неправильні відповіді.

4. Паралельно-коригувальний алгоритм. Користувачу пропонується

комплексний елемент високого рівня, наступні елементи відіграють роль

навідних (ті, що підказують), причому з різних позицій, незалежно один від

одного.

5. Алгоритм переносу. Приводяться два масиви елементів A(N) і B(N).

Ними можуть бути поняття, відносини, дії, характеристики і т.д. Потрібно

встановити логічну відповідність між ними.

6. Аналітичний алгоритм. Пропонуються елементи A(N). Необхідно

встановити приналежність кожного з них до одному із класів В(ДО).

Page 13: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

13

7. Синтезуючий алгоритм. Елементи масиву A(N) уже розбиті на

підгрупи. Завдання користувача – встановити критерій, по якому здійснювалася

класифікація.

8. Алгоритм упорядкування. Елементи масиву A(N) необхідно

впорядкувати по деякому зазначеному критерію В(ДО). Цей алгоритм вимагає

для свого виконання комплексної розумової діяльності.

Програми 3-го типу (моделюючі) засновані на графічно-ілюстративних

можливостях комп’ютера, з одного боку, і обчислювальних, з іншого, і

дозволяють здійснювати комп’ютерний експеримент. Такі програми надають

користувачу можливість спостерігати на екрані дисплея деякий процес,

впливаючи на його хід подачею команди із клавіатури, що міняє значення

параметрів.

Програми 4-го типу (ігри) надають у розпорядження користувача деяке

уявне середовище, що існує тільки в комп’ютері, набір якихось можливостей і

засобів їх реалізації. Використання наданих програмою засобів для реалізації

можливостей, пов’язаних з вивченням світу гри й діяльністю в цьому світі,

приводить до розвитку користувача, формуванню в нього пізнавальних

навичок, самостійному відкриттю їм закономірностей, відносин об’єктів

дійсності, що мають загальне значення.

Найбільше поширення одержали навчальні програми перших двох типів у

зв’язку з їх відносно невисокою складністю, можливістю уніфікації при

розробці багатьох блоків програм. Розроблювана навчальна програма також

належить до першого типу, до тренувальних програм.

Експертна система навчального призначення [2] – система, що здійснює

керування навчанням в деякій предметній галузі шляхом надання послідовності

навчальних завдань, наведення пояснень до них, діагностики помилок та

контролю досягнутого рівня знань. Моделювання діяльності користувача

ґрунтується на знаннях. Обробка знань передбачає отримування наслідків на

основі наявних знань, генерування відповідей на запитання, здійснення

Page 14: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

14

логічних висновків та перетворень в процесі розв’язання задач, пояснення

послідовності своїх міркувань у формі, що зрозуміла людині. Існує ряд

різновидів систем даного типу (таблиця 1.1).

Експертна система ведення навчального діалогу. Застосовується, як

правило, для опанування понятійного апарату деякої предметної галузі шляхом

постановки запитань та надання відповідей.

Експертна система навчання мов або система перекладу. Призначена для

навчання різних аспектів використання мов – поповнення словникового запасу,

формулювання та написання виразів, автоматичного здійснення перекладу,

ведення діалогу тощо.

Експертна система навчання предметних або штучних мов. Може

застосовуватись для опанування правил використання символіки, перетворень

формул, рівнянь, побудови висловлень формальних мов тощо.

Експертна система класифікації. Призначена для навчання розв’язанню

задач класифікації. Робота з системою полягає в опануванні правил

класифікації для віднесення об’єктів вивчення до певного класу, типу тощо.

Проблемно-орієнтована експертна система. Застосовується для

розв’язання задач що потребують планування, побудови алгоритмів,

проблемно-орієнтованих правил або схем, кожна з яких веде до розв’язання

певної задачі або підзадачі тощо у різноманітних галузях.

Експертна система доведення теорем. Призначена для навчання

розв’язанню задач на доведення, що полягає в отриманні наслідків на основі

сукупності аксіом (вихідних тверджень), теорем (вивідних тверджень) та

правил висновку.

Page 15: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

15

Таблиця 1.1 – Типи експертних систем навчального призначення

Тип засобу Типи діяльності Складові структури

Експертна система

навчального діалогу

Навчання поняттям;

ведення навчального

діалогу в предметній

галузі; надання пояснень

звичайною мовою;

розв’язання задач

Система понять; словник

термінів; синтаксичні та

семантичні правила

звичайних та предметних

мов; сукупність задач

Експертна система

навчання мов або

штучного перекладу

Навчання звичайних мов

(формулювання

висловлень, переклад,

поповнення словникового

запасу тощо); переклад

Алфавіти, словники;

система понять;

правила побудови виразів

(синтаксичні та семантичні

аспекти);

сукупність мовних

висловлень

Експертна система

навчання

предметних

або штучних мов

Навчання предметних мов

(правила написання

формул, рівнянь, побудова

висловлень

формальних мов тощо)

Алфавіти, словники

термінів предметних мов;

правила побудови

висловлень; сукупність

мовних висловлень

Експертна система

класифікації

Розв’язання задач

класифікації

Сукупність правил

класифікації; сукупність

задач та підзадач

Проблемно-

орієнтована

експертна система

Розв’язання задач у певній

галузі; побудова планів,

схем розв’язання;

застосування алгоритмів,

процедур перетворень;

конструктивних побудов

тощо

Проблемно-орієнтовані

схеми, правила;

сукупність відповідних

задач та підзадач;

сукупність планів та

алгоритмів дій

Експертна система

на

ґрунті логіки

предикатів

Розв’язання задач на

доведення;

здійснення логічних

міркувань, висновків;

пошук логічних

закономірностей

Сукупність аксіом (вихідні

твердження);

сукупність теорем (вивідні

твердження);

сукупність правил

висновку

Page 16: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

16

Розроблена у бакалаврській роботі навчальна програма відноситься до

експертних систем навчання мов або штучного перекладу, так як головною

задачею програми є вивчення англійської мови, а саме загальні технічні

терміни.

Навчальна діяльність в інформаційно-освітньому просторі фактично

виступає як процес роботи зі знаннями. Причому мається на увазі не лише сума

знань, що є об’єктом вивчення, опанування, хоча це є центральним моментом і

метою навчання, а ще й сума навичок, прийомів, способів оперування ними.

Сучасні засоби інформаційно-комунікаційних технологій досить великою

мірою виступають як засоби діяльності, що ґрунтуються на знаннях, або

можуть бути інтегровані в систему таких засобів.

Створення вимог до програмних засобів навчання може спиратися

значною мірою на досягнення у галузі штучного інтелекту у плані

комп’ютерного моделювання навчальної діяльності і її складових. Тому

застосування підходів до моделювання знання дає підстави для формування

спільної основи для об’єднання різноманітних напрямків та підходів розробки

засобів та їх оцінювання. Те, що в основі класифікації лежить виявлення типів

діяльності зі знаннями, складає деяку спільну основу для об’єднання засобів

різних типів з урахуванням внутрішньої системності самого знання.

Дидактичне програмування [4] – процес переробки навчального матеріалу

для програмованого навчання. Уже на перших етапах програмованого навчання

стали відомі програмовані підручники та навчаючі програми лінійного,

розгалуженого та адаптивного типів.

Лінійні навчаючі програми передбачають послідовний поділ навчального

матеріалу на "кроки" з послідовним виконанням контролюючих завдань,

правильне виконання яких дозволяє перейти до наступного кроку. За таких

умов індивідуалізується лише темп навчання. Такі важливі показники

програми, як розмір інформації у "кроці", структура послідовності "кроків",

співвідношення між новою навчальною інформацією і повторенням, кількість

Page 17: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

17

завдань, методичні прийоми, залишаються однаковими для всіх користувачів. У

випадку труднощів усі вони отримують однакову допомогу. Такі програми

вміщають багато полегшених, нерідко елементарних завдань.

Розгалужені навчаючі програми дозволяють індивідуалізувати не лише

темп руху згідно з програмою, а й обсяги засвоєння різними користувачами

навчального матеріалу. Контрольні завдання часто передбачають серію

відповідей для вибору, серед яких є одна чи кілька правильних. Якщо

користувач припускається помилки, адресна система програми відсилає його до

тих фрагментів тексту, які враховують суть помилки. Далі пропонується нове

контрольне завдання, і у випадку правильної відповіді відбувається повернення

до основної лінії програми. Якщо ж немає помилок, користувач зразу ж

переходить до нової інформації. Однак оперативність "пам'яті" програми

призводить до того, що користувач, який не виконав жодного кроку без

помилки, і користувач, який допустився випадкової помилки, отримують одне і

те ж роз'яснення, хоч у першому випадку вимагається детальний розбір

помилкових уявлень користувача, а в другому могла б виявитися достатньою

легенька підказка.

Адаптивні навчаючі програми стали альтернативою двом попереднім.

Вони передбачають переведення користувачів до наступного "кроку" чи

сукупності "кроків" на основі врахування статичних даних про виконання

контрольних завдань не одного, а низки попередніх "кроків". Ефективність

навчання за цією програмою залежить від співвідношення кількості правильно і

помилково виконаних завдань, характеру і причин типових помилок, ступеня

використання пояснень і підказок тощо. Після вивчення певної послідовності

кроків визначається відповідність рівня складності навчального матеріалу

пізнавальним можливостям користувача. Цей рівень на основі прийнятого

рішення може бути підвищеним, зниженим чи збереженим у попередньому

вигляді.

Page 18: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

18

Як видно з наведених прикладів, існує пряма залежність між якістю

програми і ефективністю використання комп'ютера у навчальному процесі.

Створення нових програм залишається перспективною справою для фахівців

різноманітного спрямування: програмістів, дидактів, психологів, учених, які

представляють різноманітні галузі знань.

Розроблювана навчальна програма відноситься до розгалуженого типу,

що дозволяє визначити обсяг засвоєної інформації для кожного користувача.

Застосування мультимедійних комп’ютерних програм навчального

призначення набуває ефективності за умов усвідомлення користувачами, що

оволодіння вміннями і навичками роботи з інформаційними технологіями є

необхідною складовою їх професійної підготовки та умовою забезпечення їх

можливості навчання впродовж життя; врахування результатів моніторингу

професійних знань, умінь та навичок із професійно-орієнтованих дисциплін та

рівня інформаційної культури; реалізації об’єктивного контролю за рівнем

професійних знань за допомогою педагогічних програмних засобів, які

забезпечують можливість управління процесом професійної підготовки;

застосування педагогічних програмних засобів в процесі проведення

навчальних занять з використанням прикладного програмного забезпечення.

1.2 Аналіз аналогів

В даний час інформаційні технології набувають все більшого значення в

освіті. До них можна ставитися по різному, але не можна заперечувати, що без

цих технологій неможливі сучасні методи навчання іноземної мови. Потенціал

комп'ютера при цьому значно більше, ніж іншого засобу масової інформації,

так як комп'ютер інтерактивний за своєю суттю і тому є найбільш відповідним

помічником при вивченні іноземних мов, метою якого є інтерактивне

спілкування. Особливо велике поширення останнім часом отримали

комп'ютерні програми навчання іноземним мовам.

Page 19: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

19

Однією з таких навчальних програм є BX Language acquisition – програма

для вивчення слів англійської мови [5]. Є кілька режимів роботи зі словами –

вибір варіанту перекладу; мозаїка, в якій потрібно з'єднати слова з

перекладами; написання слів. Вивчати слова можна і в режимі диктанту, проте

для цього потрібно підключити бібліотеки звукових файлів у форматах SAE,

ABBYY Lingvo, English Platinum 2002 або звукові файли у форматах WAV,

MP3, OGG. Також можна підключати синтезатори мови для вимови тексту.

У програмі ведеться оцінювання успіхів користувача. За кожну правильну

відповідь користувачу додається певна кількість балів. За помилки бали

знімаються. У кожній наступній вправі обов'язково будуть переважати завдання

з найменшим балом, деяка кількість нових завдань, а також завдання на

повторення вивченого. При наборі певної кількості балів завдання вважається

умовно-вивченим.

Програма дозволяє самостійно складати нові словники з завданнями

вручну або автоматично на основі частотного аналізу тексту. Інтерфейс

програми зображено на рисунку 1.1.

Рисунок 1.1 – Інтерфейс програми BX Language acquisition

Page 20: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

20

Ще одним прикладом навчальної програми є Language Study [6]. З її

допомогою можна значно розширити і, найголовніше, активізувати

словниковий запас. Принцип роботи програми: у поле, яке розміщується

«поверх всіх вікон», показується нове слово або вираз, потім воно ж з

перекладом.

Програма має широкі можливості налаштування, можна змінювати колір

тексту, колір фону, розмір «картки», час демонстрації слів і фраз, а також

напрямок перекладу. Вона працює зі звичайними файлами *.txt та *.rtf, які

можна правити. Можна створювати свої власні файли зі словами та фразами,

формат дуже простий і зручний. Інтерфейс програми наведено на рисунку 1.2.

Рисунок 1.2 – Інтерфейс програми Language Study

Програма Lex! [7] також є представником навчальних програм. Вона за

своєю суттю є лексичним тренажером. Основна мета розробки цієї програми –

надати тим, хто вивчає іноземну мову, ефективний засіб для розширення

лексичного запасу. Особливістю програми Lex! є те, що вона періодично

з'являється на екрані комп'ютера, пропонуючи користувачу повторити іноземну

лексику. Lex! розроблена з урахуванням ряду особливостей людського

сприйняття, уваги і пам'яті.

Page 21: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

21

Інтерфейс програми зображено на рисунку 1.3.

Рисунок 1.3 – Інтерфейс програми Lex!

Основні можливості програми:

періодично активізується, з'являючись на екрані через визначені

користувачем інтервали часу;

дозволяє повністю управляти процесом вивчення слів, використовуючи

панель налаштувань;

підтримує роботу з одним словником, але дозволяє регулювати величину

списку досліджуваних слів;

вивчені слова не видаляються автоматично, а тільки виключаються з

категорії досліджуваних і можуть бути знову активізовані (включені в

загальний список);

можна встановлювати різні режими перекладу: прямий, зворотний або їх

випадкове чергування, а також письмовий переклад;

користувач може налаштовувати інтенсивність власної роботи,

встановлюючи часовий інтервал між сеансами, кількість правильних або

будь-яких відповідей після яких сеанс завершиться і програма згорнеться

в значок на системній панелі;

Page 22: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

22

користувач визначає кількість правильних перекладів, після яких слово

вважається вивченим;

програма Lex! супроводжується докладною довідковою системою, яка

дозволить знайти відповіді на виникаючі питання.

Ще одна подібна навчальна програма FVords [8], яка містить поради

Longman, тести, словники, паралельні тексти, режим суфлера, налаштування,

пошук, друк, статистику і багато іншого.

FV пропонує п'ять методів для вивчення англійської мови – турнір, курс,

звичайний, книга і суфлер; курсові завдання проходяться послідовно, турнірні –

випадковим чином, і, якщо були помилки, по них можна повторно пробігтися.

Теми FV настільки різноманітні за рівнем, що можуть допомогти в навчанні

навіть молодшим школярам (турніри і курси – значно складніше). У режимі

"суфлер" можна озвучувати завдання: англійські слова і фрази проговорюються

досить якісно технологією ReadPlease (можна озвучувати й тексти). Інтерфейс

програми наведено на рисунку 1.4.

Рисунок 1.4 – Інтерфейс програми FVords

Page 23: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

23

Порівняльний аналіз наведених аналогів представлено в таблиці 1.2.

Таблиця 1.2 – Порівняльний аналіз навчальних програм

Критерії/

Програми

Легкість у

викорис-

танні

Різноманіт-

ність

завдань

Підбір

матеріалу

Оцінювання Довідко-

ва

система

BX

Language

acquisition

інтуїтивно

зрозумілий

інтерфейс

дозволяє з

легкістю

працювати

у програмі

має три

види

завдань

є словник, в

який

користувач

може сам

додавати

слова для

вивчення

за кожну

правильну

відповідь

користувач-

чу

додаються

бали

+

Language

Study

програма

дуже легка

у викорис-

танні

має одне

завдання

містить

словник,

який можна

змінювати і

додавати

власні слова

оцінювання

відсутнє

-

Lex! проста у

викорис-

танні

має одне

завдання

можна

додавати

свої

словники,

або

додавати

слова у вже

існуючий

оцінювання

відсутнє

+

Page 24: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

24

Продовження таблиці 1.2

Критерії/

Програми

Легкість у

викорис-

танні

Різноманіт-

ність

завдань

Підбір

матеріалу

Оцінювання Довідко-

ва

система

FVords не

зрозумілий

інтерфейс,

складна у

викорис-

танні

має п’ять

завдань

можна

створювати

власні

словники

оцінювання

відсутнє

+

Кожна з вище наведених навчальних програм має свої переваги та

недоліки. Найчастіше зустрічається такий недоліки навчальних програм, як

відсутність оцінювання користувача. Він є досить вагомим, адже для кращої

мотивації при вивченні матеріалу користувачу необхідний певний стимул, і

оцінювання його знань є одним з таких стимулів. Ще одним частим недоліком

навчальних програм є відсутність різноманітності завдань. Якщо користувач

постійно буде виконувати одне чи два завдання, то дуже скоро йому просто

набридне, і вся зацікавленість у навчанні мине. Тому під час розробки власної

навчальної програми було враховано ці недоліки і усунено їх.

1.3 Постановка задач

У бакалаврській дипломній роботі передбачається виконання таких задач:

- розробити алгоритм програми;

- розробити структуру програми;

- скласти завдання для вивчення технічної англійської мови;

- продумати систему оцінювання успішності в програмі;

- провести варіантний аналіз та обґрунтувати вибір мови програмування

для реалізації навчальної програми;

Page 25: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

25

- розробити структуру інтерфейсу програми;

- розробити графічні зображення для інтерфейсу;

- розробити інтерфейс програми;

- скласти словник технічних термінів;

- розробити програмне забезпечення;

- провести тестування програми.

1.4 Висновки

Завдяки своїм конструктивним і функціональним особливостям сучасний

персональний комп’ютер є унікальною по своїх можливостях навчальною

машиною. Він знаходить застосування в навчанні найрізноманітнішим

дисциплінам і служить базою для створення великого числа нових

інформаційних технологій навчання. Навчальні комп’ютерні програми мають

безліч переваг над традиційним навчанням: активізація навчального процесу,

індивідуалізація навчання, зміщення акцентів від теоретичних знань до

практичних, підвищення інтересу користувача до навчання та ін. Тому було

вирішено розробити власну навчальну програму, за допомогою якої можна з

легкістю засвоїти загальні технічні терміни англійської мови.

Page 26: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

26

2 РОЗРОБКА АЛГОРИТМІВ, СТРУКТУР ТА МЕТОДІВ

ПРОГРАМНОГО ПРОДУКТУ

2.1 Вибір методу побудови робочого поля

Навчальна програма розроблена з використанням шаблону проектування

Model-View-ViewModel (MVVM). Він з'явився для обходу обмежень шаблонів

MVC і MVP, і об'єднує деякі з їхніх сильних сторін.

Model-View-ViewModel (MVVM) – це шаблон проектування додатків для

розділення коду інтерфейсу користувача і іншого коду. За допомогою MVVM

декларативно визначається інтерфейс користувача (у нашому випадку,

використовуючи XAML) і використовується розмітка прив'язки даних, щоб

пов'язати його з іншими рівнями, що містять дані і команди користувача.

Інфраструктура прив'язки даних надає вільну взаємозалежність, яка

синхронізує інтерфейс користувача і пов'язані дані, а також направляє вхідні

дані користувача відповідним командам.

Шаблон MVVM організовує код так, що можна змінювати окремі його

частини, не впливаючи на інші. Це дає багато переваг, серед яких:

можливість використання ітеративного, довільного стилю написання

коду;

спрощене тестування модулів;

більш ефективне використання інструментів проектування, наприклад

Expression Blend;

підтримка взаємодії в команді.

При використанні шаблону MVVM додаток ділиться на наступні рівні:

1) рівень моделі включає весь код, який реалізує основну логіку

програми і визначає типи, необхідні для моделювання домену програми. Цей

рівень абсолютно не залежить від рівнів представлення та моделі

представлення;

Page 27: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

27

2) рівень представлення визначає інтерфейс користувача за допомогою

декларативної розмітки. Розмітка прив'язки даних встановлює зв'язок між

певними компонентами інтерфейсу користувача і різними членами моделі

представлення (а іноді моделі);

3) рівень моделі представлення надає для подання цільові об'єкти

прив'язки даних. У багатьох випадках модель представлення демонструє

модель безпосередньо або надає члени, що є оболонкою для певних членів

моделі. Модель представлення також може визначати члени для відстеження

даних, які відносяться до інтерфейсу користувача, а не до моделі, наприклад

порядок відображення списку елементів.

Програма розроблена за допомогою WPF (Windows Presentation

Foundation), яка містить механізмом прив'язок (binding). Для використання

цього механізму, було реалізовано деякі конкретні інтерфейси [10]. Одним з

них є INotifyPropertyChanged, введений в .NET Framework починаючи з версії 2

і вище. Цей інтерфейс реалізує систему повідомлень яка активується, коли

значення властивості змінюється. Це потрібно в моделі-представлення, щоб

зробити механізм прив'язки інтерфейсу користувача XAML динамічним.

Іншим налаштуванням є команди, що надаються інтерфейсом ICommand,

які доступні для WPF. Команди можуть прив'язуватися до певного XAML-

елементу і визначати поведінку даного елемента при певних діях.

Третім компонентом є шаблон даних DataTemplate, який визначає як

структурувати конкретну модель-представлення або особливий стан моделі-

представлення.

У бакалаврській роботі розроблена програма містить п’ять рівнів ієрархії

моделей представлення. Перший рівень – це головне вікно програми, в якому

користувач обирає тему для вивчення. Обравши тему, користувач переходить

відповідно до наступного рівня – списку завдань. Перших чотири завдання

включають два блоки слів. Вибравши один із блоків, користувач автоматично

переходить на третій рівень ієрархії. Четвертим рівнем є безпосередньо

Page 28: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

28

виконання самого завдання. Останній п’ятий рівень відображує результат

проходження завдання. В п’ятому завданні відсутній поділ на блоки, тому його

виконання є третім рівнем, а результат – четвертим.

Ієрархічна структура моделей представлення розроблюваної навчальної

програми наведено на рисунку 2.1.

2.2 Розробка алгоритму роботи програми

Алгоритм – набір інструкцій, що описують порядок дій виконавця для

досягнення результату рішення задачі за визначене число дій.

Для створення алгоритму необхідно знати:

• повний набір вихідних даних завдання (початковий стан об'єкта);

• мета створення алгоритму (кінцевий стан об'єкта);

• систему команд виконавця (тобто набір команд, які виконавець розуміє і

може виконати).

Існує два методи розробки складних алгоритмів.

Метод послідовної деталізації завдання («зверху-вниз») полягає в тому,

що вихідна складна задача розбивається на підзадачі. Кожна з підзадач

розглядається і вирішується окремо. Якщо які-небудь з підзадач складні, вони

також розбиваються на підзадачі. Процес продовжується до тих пір, поки

підзадачі не зведуться до елементарних. Вирішення окремих підзадач потім

збираються в єдиний алгоритм розв'язання вихідної задачі. Метод широко

використовується, тому що дозволяє вести розробку загального алгоритму

одночасно кільком програмістам, які вирішують локальні підзадачі. Це

необхідна умова швидкої розробки програмних продуктів.

Складальний метод («знизу-вверх») полягає у створенні безлічі

програмних модулів, що реалізують рішення типових задач. При вирішенні

складного завдання програміст може використовувати розроблені модулі в

якості допоміжних алгоритмів (процедур).

Page 29: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

29

Ри

сун

ок 2

.1 –

Ієр

архіч

на

стру

кту

ра

мо

дел

ей п

ред

став

лен

ня

Page 30: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

30

У багатьох системах програмування вже існують подібні набори модулів,

що істотно спрощує і прискорює створення складного алгоритму.

Кожний алгоритм повинен відповідати ряду загальних вимог [11], а саме:

1) дискретність – алгоритм повинен представляти процес вирішення

завдання як послідовне виконання деяких простих кроків. При цьому для

виконання кожного кроку алгоритму потрібно кінцевий відрізок часу, тобто

перетворення вихідних даних у результат здійснюється в часі дискретно;

2) детермінованість (визначеність) – у кожен момент часу наступний

крок роботи однозначно визначається станом системи. Таким чином, алгоритм

видає один і той же результат (відповідь) для одних і тих же початкових даних.

У сучасному трактуванні у різних реалізацій одного і того ж алгоритму має

бути ізоморфний граф. З іншого боку, існують імовірнісні алгоритми, в яких

наступний крок роботи залежить від поточного стану системи і випадкового

числа, що генерується. Однак при включенні методу генерації випадкових

чисел в список «початкових даних», імовірнісний алгоритм стає підвидом

звичайного;

3) зрозумілість – алгоритм повинен включати тільки ті команди, які

доступні виконавцю і входять в його систему команд;

4) завершеність – при коректно заданих початкових даних алгоритм

повинен завершувати роботу і видавати результат за кінцеве число кроків.

5) масовість (універсальність) – алгоритм повинен бути застосовний до

різних наборі початкових даних;

6) результативність – завершення алгоритму певними результатами;

7) алгоритм містить помилки, якщо призводить до отримання

неправильних результатів або не дає результатів зовсім;

8) алгоритм не містить помилок, якщо він дає правильні результати для

будь-яких допустимих початкових даних.

Алгоритми в залежності від мети, початкових умов завдання, шляхів її

вирішення, визначення дій виконавця поділяються наступним чином:

Page 31: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

31

механічні алгоритми (наприклад, алгоритм роботи машини, двигуна і

т.п.) – задають певні дії, позначаючи їх в єдиній і достовірної послідовності,

забезпечуючи тим самим однозначний необхідний або шуканий результат,

якщо виконуються ті умови процесу, завдання, для яких розроблений алгоритм;

гнучкі алгоритми, наприклад стохастичні, тобто імовірнісні та

евристичні;

імовірнісний алгоритм дає програму рішення задачі кількома шляхами

або способами, що призводять до ймовірного досягненню результату;

евристичний алгоритм (від грецького слова «еврика») – алгоритм, що

використовує різні розумні міркування без строгих обґрунтувань;

лінійний алгоритм – набір команд (вказівок), виконуваних послідовно в

часі один за одним;

розгалужений алгоритм – алгоритм, який містить хоча б одну умову, в

результаті перевірки якої може здійснюватися поділ на кілька паралельних

гілок алгоритму;

циклічний алгоритм – алгоритм, що передбачає багаторазове

повторення однієї і тієї ж дії (одних і тих же операцій) над новими вихідними

даними. До циклічним алгоритмам зводиться більшість методів обчислень,

перебору варіантів. Цикл програми – послідовність команд, яка може

виконуватися багато разів (для нових початкових даних) до задоволення деякої

умови;

допоміжний алгоритм – алгоритм, який повністю використовується при

алгоритмізації конкретного завдання. У деяких випадках за наявності

однакових послідовностей вказівок (команд) для різних даних з метою

скорочення запису також виділяють допоміжний алгоритм. На всіх етапах

підготовки до алгоритмізації завдання широко використовується структурний

уявлення алгоритму;

Page 32: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

32

структурна блок-схема, граф-схема алгоритму – графічне зображення

алгоритму у вигляді схеми пов'язаних між собою за допомогою стрілок (ліній

переходу) блоків – графічних символів, кожен з яких відповідає одному кроку

алгоритму . Всередині блоку дається опис відповідної дії. Графічне зображення

алгоритму широко використовується перед програмуванням завдання внаслідок

його наочності, так як зорове сприйняття зазвичай полегшує процес написання

програми, її коригування при можливих помилках, осмислення процесу

обробки інформації.

Алгоритм розробленої навчальної програми є розгалуженим, так як

містить декілька умов, в результаті перевірки яких здійснюється поділ на кілька

паралельних гілок алгоритму. Блок-схема алгоритму роботи програми наведена

рисунку 2.2 і рисунку 2.3.

2.3 Розробка структури програмного продукту

Модульність – принцип, згідно з яким програмний засіб (ПС, програма,

бібліотека, web-додаток та ін.) розділяється на окремі іменовані сутності, які

називаються модулями. Програмний код часто розбивається на декілька файлів,

кожен з яких компілюється окремо від інших. Така модульність програмного

коду дозволяє значно зменшити час перекомпіляції при змінах, внесених лише

в невелику кількість вихідних файлів, і спрощує групову розробку [12].

Приступаючи до розробки програми ПС, необхідно пам’ятати, що вона, як

правило, є великою системою, тому потрібно вжити заходів для її спрощення.

Для цього таку програму розробляють по частинах, які називаються

програмними модулями. А сам такий метод розробки програм називають

модульним програмуванням. Програмний модуль – це будь-який фрагмент

опису процесу, що оформляється як самостійний програмний продукт,

придатний для використання в описах процесу.

Page 33: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

33

Початок

Запуск головного меню програми

Натиснута кнопка «Exit»

Очікування команди

користувача

Кінець

такні

Вибір теми для вивчення

Вибір завдання

Завдання містить розділення

на блоки

так

ні

Вибір блоку

1

2

3

Рисунок 2.2 – Блок-схема алгоритму роботи програми

Page 34: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

34

Виконання завдання

Перегляд результату

Завдання виконано без

помилок

1

так

ні

Виконання завдання

(10 сек на кожну відповідь)

Натиснута кнопка«На головну»

так

2

Натиснута кнопка«Завдання»

так

3

Очікування команди

користувача

Рисунок 2.3 – Блок-схема алгоритму роботи програми

Page 35: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

35

Це означає, що кожен програмний модуль програмується,

компілюється та налагоджували окремо від інших модулів програми, і тим

самим, фізично розділений з іншими модулями програми. Більше того, кожен

розроблений програмний модуль може включатися до складу різних програм,

якщо виконані умови його використання, декларовані в документації з цього

модулю.

Таким чином, програмний модуль може розглядатися і як засіб

боротьби зі складністю програм, і як засіб боротьби з дублюванням в

програмуванні (тобто як засіб накопичення та багаторазового використання

знань програмістів).

На рисунку 2.4 представлено структуру навчальної програми, а саме її

модулі та зв’язок між ними.

Головний модуль

MainWindowViewModel

Модуль ViewModel

ComputerArchitecture

Модуль ViewModel

ComputerApplicatins

Модуль ViewModel

OperatingSystem

Модуль

ViewModelNetworks...

Модуль

ViewCompArch

Модуль

ModelCompArch

Модуль

ViewCompAppl

Модуль

ModelCompAppl

Модуль

ViewOS

Модуль

ModelOS

Модуль

ViewNetworks

Модуль

ModelNetworks

Модуль

MainWindowView

Рисунок 2.4 – Структура програми

2.4 Розробка структури роботи програми

Розроблена навчальна програма має інтерфейс та базу даних для

зберігання слів та речень з тем наданих для вивчення користувачу. Тому

структура програмного продукту ділиться на дві частини (рисунок 2.5). Перша з

них виконує функцію інтерфейсу програми. Інтерфейс складається з таких

вікон програми:

Page 36: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

36

- головне вікно програми, де користувач обирає тему для вивчення

матеріалу;

- вікно зі списком завдань;

- вікно з розділенням слів на блоки;

- вікно для проходження завдання;

- вікно, що відображає результат пройденого завдання.

Головна проблема доступу до інформації полягає в тому, що доступ до

бази даних є обмеженим. Щоб одержати інформацію, програма повинна мати

фізичний доступ до відповідної СУБД, бути в курсі моделі даних, знати схему

бази даних.

Друга частина структури є структурою роботи реляційної бази даних, яка

складається з таблиць. Структура реляційної таблиці визначається реквізитним

складом відповідного інформаційного об'єкту, де кожен стовпець (поле)

відповідає одному з реквізитів об'єкту. Ключові реквізити об'єкту утворюють

унікальний ключ реляційної таблиці. Для кожного стовпця таблиці (поля)

задається тип, розмір даних і інші властивості. Рядки (записи) таблиці

відповідають екземплярам об'єкту і формуються при завантаженні таблиці.

Зв'язки між об'єктами моделі даних реалізуються однаковими

реквізитами — ключами зв'язку у відповідних таблицях.

Програма звертається до певної таблиці бази даних під час виконання

завдання користувачем. Після проходження завдання, у програмі здійснюється

оцінка результату (рахується кількість правильних відповідей і визначається

відсоткове співвідношення), який потім відображується у вікні програми.

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

іншого завдання, і програма знову буде звертатися до бази за даними.

Page 37: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

37

База даних

Блок вибору завдання

Блок введення даних

Модуль оцінки результату

Блок виведення результату

Ядро програми

Рисунок 2.5 – Структура роботи навчальної програми

2.5 Висновки

У розділі було розглянуто метод побудови робочого поля програми з

використанням шаблону проектування Model-View-ViewModel, головною

перевагою якого є розділення коду інтерфейсу користувача і іншого коду.

Також було наведено блок-схему алгоритму виконання роботи програми, який

належить до розгалуженого типу. Структура програмного продукту складається

з інтерфейсу та бази даних, підключеної до програми. Наявність бази даних є

перевагою програми, так як користувач зможе змінювати матеріал для

вивчення з будь-якої теми.

Page 38: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

38

3 РОЗРОБКА НАВЧАЛЬНОЇ ПРОГРАМИ ВИВЧЕННЯ ІНОЗЕМНОЇ

МОВИ

3.1 Обґрунтування вибору засобів реалізації програмного продукту

На сучасному етапі розвитку комп’ютерних технологій існує велика

кількість середовищ і мов програмування. Кожна з цих мов програмування має

свої особливості і створена для вирішення задач певного типу.

Найпопулярнішими мовами програмування на сьогодні є Java, C#, PHP, C++,

Delphi та інші. Розглянемо деякі з них.

Мова C# розроблялася з урахуванням досвіду багатьох більш ранніх мов

програмування, але в першу чергу C++ і Java [13]. Java і C# є подібними

мовами. Обидві ці мови можна розглядати як спробу вдосконалити C++, і

потрібно визнати, що в обох випадках це вдалося. Властивості, характерні як

для C #, так і для Java:

1) вихідний текст програми компілюється в проміжний код, що не

залежить від мови і платформи; цей код надалі виконується в спеціальному

керованому середовищі;

2) автоматичний збір сміття (Garbage Collection) і заборона на

використання покажчиків. У C# допускається обмежене використання

покажчиків в блоках коду, позначених як "ненадійні";

3) об'єкти створюються за допомогою ключового слова new, виділення

пам'яті здійснюється з "купи" (heap), що знаходиться в розпорядженні

середовища виконання;

4) багатопотоковість підтримується шляхом блокування об'єктів;

5) інтерфейси, множинна реалізація інтерфейсів класом, одноразове

наслідування базового класу похідним;

6) внутрішні класи;

7) відсутність глобальних функцій і констант, всі елементи повинні

належати класам;

Page 39: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

39

8) масиви і рядки з вбудованою довжиною і перевіркою кордонів;

9) не застосовуються оператори «->», «::». У всіх випадках

використовується оператор «.»;

10) null і boolean / bool є ключовими словами;

11) будь-яка величина повинна бути проініціалізована до того, як буде

використана;

12) не можна використовувати цілі числа (integers) для управління

операторами if.

Хоч у мов C# і Java досить багато спільного, але все одно не можна їх

ототожнювати.

Для ефективної роботи в середовищі CLR і підвищення продуктивності

праці програмістів в мову C# внесено значну кількість спрощень порівняно з

мовою C++. Деякі з них засновані на наступних особливостях:

вилучення окремого заголовного файлу і препроцесора;

усунення проблем з управлінням пам'яттю за рахунок використання

посилань замість покажчиків і збірки сміття під час виконання.

C# пропонує більш прозорий спосіб реалізації властивостей, що особливо

очевидно для властивостей, що допускають читання і запис. Зв'язок методів get

і set в C# стає вродженою, в той час як в C++ і Java вона лише підтримується . У

такого підходу є багато переваг. Він змушує програмістів мислити в термінах

властивостей, незалежно від того чи доступна властивість як для читання, так і

для запису, або вона передбачає тільки читання. Якщо необхідно змінити назву

властивості, то достатньо буде зробити це в одному місці (а часто методи get і

set виявляються розділеними сотнями рядків коду). Коментарі також досить

ввести в одному місці, так що вони ніколи не опиняться неузгодженими.

Можна заперечити, що пропонований C# синтаксис не дає реальних

переваг, так як в разі його використання не можна з упевненістю сказати, з чим

ми маємо справу, з полем або властивістю. Але практично ніколи реальні класи,

спроектовані на Java (і природно на C#), не мають загальнодоступних (public)

Page 40: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

40

полів. Поля звичайно мають обмежений рівень доступу (private/protected) і

розкриваються тільки через функції get/set, де C# якраз і пропонує більш

зручний синтаксис. Крім того очевидно, що якщо клас правильно

спроектований, то користувача повинна цікавити тільки специфікація класу, а

не його реалізація.

У C++ пам'ять для об'єкта структури і класу може виділятися як у стеку,

так і в купі (heap). У C# структури завжди створюються в стеку, а класи – в

купі. Звичайно, використання структур дозволяє отримати більш ефективний

код.

У більшості мов програмування є примітивні типи (int, long, char і т.д.) і

типи даних більш високого рівня, що набираються з примітивних типів. Однак

найчастіше дуже зручно було б обходитися з примітивними і складними

типами даних однаково. Java поводиться з примітивними типами так само, як і

C або C++, але пропонує свій упакований клас для кожного примітиву: тип int

упаковується в клас Integer, double – в Double і т.д. У C++ за допомогою

шаблонів можна написати код, який зможе працювати з будь-якими типами,

якщо зазначені операції мають сенс для даного типу. У C # ця проблема

вирішується по-іншому. Примітивні типи, наприклад int, є псевдонімами для

відповідних структур. Якщо необхідно поводитися зі структурою як з об'єктом,

то C# упакує її в об'єкт, а потім розпакує її, коли знадобиться звернутися до неї,

як до структури.

Прийнявши до уваги всі особливості і переваги мови С#, було вирішено

розробляти програму саме на цій мові програмування. Середовищем

програмування було обрано Visual Studio та Expression Blend для створення

більш привабливого дизайну.

3.2 Розробка інтерфейсу програми

Інтерфейс – це зовнішня оболонка додатка разом із програмами

керування доступом і іншими схованими від користувача механізмами

Page 41: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

41

керування, що дає можливість працювати з документами, даними й іншою

інформацією, що зберігається в комп’ютері чи за його межами. Головна мета

будь-якого додатка – забезпечити максимальну зручність і ефективність роботи

з інформацією: документами, базами даних, графікою, зображеннями. Тому

інтерфейс є, мабуть, найважливішою частиною будь-якої програми.

Інтерфейс користувача повинен використовувати стандартні, звичні

користувачам елементи, і забезпечувати максимальну зручність. Все це в

кінцевому рахунку визначається таким критерієм як ефективність інтерфейсу –

максимальний результат з мінімальними зусиллями.

Основна перевага хорошого інтерфейсу користувача полягає в тому, що

користувач завжди відчуває, що він управляє програмним забезпеченням, а не

програмне забезпечення управляє ним. Для створення у користувача такого

відчуття «внутрішньої свободи» інтерфейс повинен володіти цілим рядом

властивостей, наведених нижче.

Природність інтерфейсу. Природний інтерфейс – це такий інтерфейс,

який не змушує користувача істотно змінювати звичні для нього способи

вирішення завдання. Це, зокрема, означає, що повідомлення і результати, що

видаються програмою, не повинні вимагати додаткових пояснень. Доцільно

також зберегти систему позначень і термінологію, що використовуються в

даній предметній області.

Використання знайомих користувачеві понять і образів (метафор)

забезпечує інтуїтивно зрозумілий інтерфейс при виконанні його завдань. Разом

з тим, використовуючи метафори, не потрібно обмежувати їх машинну

реалізацію повною аналогією з однойменними об'єктами реального світу.

Метафори є свого роду «містком», що зв'язує образи реального світу з тими

діями і об'єктами, якими доводиться маніпулювати користувачеві при його

роботі на комп'ютері; вони забезпечують «впізнавання», а не «згадування».

Користувачі запам'ятовують дію, пов'язану зі знайомим об'єктом, більш легко,

ніж вони запам'ятали б ім'я команди, пов'язаної з цією дією.

Page 42: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

42

Узгодження інтерфейсу. Узгодженість дозволяє користувачам переносити

наявні знання на нові завдання, освоювати нові аспекти швидше, і, завдяки

цьому, фокусувати увагу на розв'язуваній задачі, а не витрачати час на

з'ясування різниці у використанні тих чи інших елементів управління, команд і

т.д. Забезпечуючи наступність отриманих раніше знань і навичок , узгодженість

робить інтерфейс впізнаваним і передбачуваним.

Узгодженість важлива для всіх аспектів інтерфейсу, включаючи імена

команд, візуальне подання інформації та поведінку інтерактивних елементів.

Для реалізації властивості узгодженості в створюваному програмному

забезпеченні, необхідно враховувати його різні аспекти.

Дружній інтерфейс. Користувачі зазвичай вивчають особливості роботи з

новим програмним продуктом методом проб і помилок. Ефективний інтерфейс

повинен брати до уваги такий підхід. На кожному етапі роботи він повинен

дозволяти тільки відповідний набір дій і попереджати користувачів про ті

ситуації, де вони можуть пошкодити систему або дані; ще краще, якщо у

користувача існує можливість скасувати або виправити виконані дії.

Навіть при наявності добре спроектованого інтерфейсу користувачі

можуть робити ті чи інші помилки. Ці помилки можуть бути як «фізичного»

типу (випадковий вибір неправильної команди або даних), так і «логічного»

(прийняття неправильного рішення на вибір команди або даних). Ефективний

інтерфейс повинен дозволяти запобігати ситуаціям, які, ймовірно закінчаться

помилками. Він також повинен вміти адаптуватися до потенційних помилок

користувача і полегшувати йому процес усунення наслідків таких помилок.

Принцип «зворотного зв'язку». Кожна дія користувача повинна

отримувати візуальне, а іноді і звукове підтвердження того, що програмне

забезпечення сприйняло введену команду; при цьому вид реакції, по

можливості, повинен враховувати природу виконаної дії.

Зворотній зв'язок ефективний в тому випадку, якщо він реалізується

вчасно, тобто як можна ближче до точки останньої взаємодії користувача з

Page 43: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

43

системою. Коли комп'ютер обробляє завдання, що надійшло, корисно надати

користувачеві інформацію щодо стану процесу, а також можливість перервати

цей процес у разі потреби. Ніщо так не бентежить не надто досвідченого

користувача, як заблокований екран, який ніяк не реагує на його дії. Типовий

користувач здатний витерпіти тільки кілька секунд очікування відповідної

реакції від свого електронного «співрозмовника».

Простота інтерфейсу. Інтерфейс повинен бути простим. При цьому

мається на увазі забезпечення легкості в його вивченні і використанні. Крім

того, він повинен надавати доступ до всього переліку функціональних

можливостей, передбачених програмою. Реалізація доступу до широких

функціональних можливостях і забезпечення простоти роботи суперечать один

одному. Розробка ефективного інтерфейсу покликана збалансувати ці цілі.

Один з можливих шляхів підтримки простоти – представлення на екрані

інформації, мінімально необхідної для виконання користувачем чергового

кроку завдання. Зокрема, необхідно уникати багатослівних командних імен або

повідомлень. Непродумані або надлишкові фрази ускладнюють користувачеві

витяг суттєвої інформації.

Інший шлях до створення простого, але ефективного інтерфейсу –

розміщення та подання елементів на екрані з урахуванням їх смислового

значення і логічного взаємозв'язку. Це дозволяє використовувати в процесі

роботи асоціативне мислення користувача.

Гнучкість інтерфейсу. Гнучкість інтерфейсу – це його здатність

враховувати рівень підготовки і продуктивність праці користувача. Властивість

гнучкості припускає можливість зміни структури діалогу і / або вхідних даних.

Концепція гнучкого (адаптивного) інтерфейсу в даний час є однією з основних

областей дослідження взаємодії людини і ЕОМ. Основна проблема полягає не в

тому, як організувати зміни в діалозі, а в тому, які ознаки потрібно

використовувати для визначення необхідності внесення змін та їх суті.

Page 44: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

44

Естетична привабливість. Проектування візуальних компонентів є

найважливішою складовою частиною розробки програмного інтерфейсу.

Коректне візуальне уявлення використовуваних об'єктів забезпечує передачу

досить важливою додаткової інформації про поведінку і взаємодію різних

об'єктів. У той же час слід пам'ятати, що кожен візуальний елемент, який

з'являється на екрані, потенційно вимагає уваги користувача, яка, як відомо, не

безмежна. Необхідно забезпечити формування на екрані такого середовища, яка

не тільки сприяло б розумінню користувачем представленої інформації, але і

дозволяло б зосередитися на найбільш важливих її аспектах.

Під час проектування інтерфейсу користувача необхідно визначити

структуру діалогу, який буде відбуватися між користувачем і комп’ютером.

Розглянуті нижче чотири варіанти структури діалогу є різновидами структури

типу «питання – відповідь», проте кожна з них має свої особливості і найбільш

зручна для певного класу задач.

Діалог типу «питання – відповідь». Структура діалогу типу «питання –

відповідь» (Q&А) заснована на аналогії із звичайним інтерв'ю. Система бере на

себе роль інтерв'юера і отримує інформацію від користувача у вигляді

відповідей на запитання. Це найбільш відома структура діалогу; всі діалоги,

керовані комп'ютером, в тій чи іншій мірі складаються з питань, на які

користувач відповідає. Однак у структурі Q&А цей процес виражений явно. У

кожній точці діалогу система виводить як підказку одне питання, на яке

користувач дає одну відповідь. Залежно від отриманої відповіді система може

вирішити, яке наступне питання задавати. Структура Q&A не гарантує

мінімального обсягу введення, оцінюваного за кількістю натискань клавіш,

однак при відповідному підборі скорочень можна зменшити будь-яку

надмірність. Разом з тим, структура Q&А володіє одним істотним недоліком.

Навіть якщо введення відбувається досить швидко, для людини, яка вже знає,

які питання задає система, і які відповіді потрібно на них давати, відповідати на

всю серію питань досить утомливо.

Page 45: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

45

Діалоги на основі меню. Меню є найбільш популярним варіантом

організації запитів на введення даних під час діалогу, керованого комп'ютером.

Існує кілька основних форматів представлення меню на екрані:

список об'єктів, обираних прямою вказівкою, або вказівкою номера

(або мнемонічного коду);

меню у вигляді блоку даних;

меню у вигляді рядка даних;

меню у вигляді піктограм.

Меню у вигляді рядка даних може з'являтися вгорі чи внизу екрану і

часто залишається в цій позиції протягом всього діалогу. Таким чином, за

допомогою меню зручно відображати можливі варіанти даних для введення,

доступних в будь-який час роботи з системою. Додаткові меню у вигляді блоків

даних «спливають» на екрані в позиції, яка визначається поточним положенням

покажчика, або «випадають» безпосередньо з рядка меню верхнього рівня. Ці

меню зникають після вибору варіанта. Меню у вигляді піктограм являє собою

безліч об'єктів вибору, розкиданих по всьому екрану; часто об'єкти вибору

містять графічне представлення варіантів роботи. Якщо діалог складається

виключно з меню, можна реалізувати послідовний інтерфейс, при якому

користувач застосовує тільки пристрої для вказівки; проте така постійність

рідко досягається на практиці.

Меню – це найбільш зручна структура діалогу для непідготовлених

користувачів; жорстка черговість відкриття і ієрархічна вкладеність меню може

викликати роздратування професіонала, уповільнювати його роботу.

Традиційна структура меню недостатньо гнучка й не повною мірою

узгоджується з методами адаптації діалогу, такими, наприклад, як

випереджаюче введення, за допомогою якого можна прискорити темп роботи

підготовленого користувача.

Діалог на основі екранних форм. Як структура типу «питання –

відповідь», так і структура типу меню припускають обробку єдиної відповіді на

Page 46: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

46

кожному кроці діалогу. Діалог на основі екранних форм допускає обробку на

одному кроці діалогу декількох відповідей. На практиці форми

використовуються в основному там, де облік якоїсь діяльності вимагає

введення достатньо стандартного набору даних. Людина, що заповнює форму,

може вибирати послідовність відповідей, тимчасово пропускати деяке питання,

повертатися назад для корекції попередньої відповіді і навіть «порвати бланк» і

почати заповнювати новий. Вона працює з формою до тих пір, поки не

заповнить її повністю і не передасть системі. Програмна система може

перевіряти кожну відповідь безпосередньо після введення або почекати і

вивести список помилок лише після заповнення форми повністю.

Структура діалогу на основі екранної форми забезпечує високий рівень

підтримки користувача: для кожного питання форми можуть бути передбачені

повідомлення про помилки та довідкова інформація. Користувачеві можна

також надати допомогу, включивши деякі елементи формату відповіді в

питання або в поле відповіді. Ця структура дозволяє підвищити швидкість

введення даних в порівнянні зі структурою типу «питання – відповідь» і

маніпулювати більш широким діапазоном вхідних даних, ніж меню; крім того,

з нею можуть працювати користувачі будь-якої кваліфікації.

Діалог на основі командної мови. Структура діалогу на основі командної

мови настільки ж поширена, як і структура типу меню. Вона дуже часто

використовується в операційних системах і розташовується на іншому кінці

спектру структур діалогу стосовно структури типу меню. Історично це перша з

реалізованих структур діалогу. При такій організації діалогу програмна система

не виводить нічого, крім постійної підказки (запрошення на введення команди),

яка означає готовність системи до роботи. Кожну команду вводять з нового

рядка і зазвичай закінчують натисканням клавіші «Enter». Відповідальність за

правильність задавання команд лягає на користувача. Система інформує про

неможливість виконання невірної команди, як правило, не пояснюючи причин.

Page 47: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

47

Подібно меню, діалог на базі команд зручний для введення керуючих

повідомлень, проте він забезпечує більш широкі можливості вибору в будь-якій

точці діалогу і не вимагає ієрархічної організації обслуговуючих його програм.

Програмна система може підтримувати досить велику кількість команд, але на

практиці слід обмежувати їх число, щоб не перевантажувати пам'ять

користувача. Структура на базі командної мови не відрізняється гарною

підтримкою користувача і придатна в основному для підготовлених фахівців.

Структура на основі мови команд за своїми можливостями найшвидша і

найбільш гнучка з усіх структур діалогу. Більшість користувальницьких

інтерфейсів на базі «природної» мови реалізується за допомогою мов команд з

дуже великим набором ключових слів. Підготовлений користувач відчуває

задоволення від відчуття того, що він керує системою, а не навпаки. Однак ця

структура не забезпечує користувача підтримкою, тому навіть підготовлені

користувачі вважають, що дуже складно використовувати всі закладені в ній

можливості. Більшість же користувачів добре знайомі тільки з вельми

обмеженим набором засобів, з яким вони працюють регулярно.

Порівняльний аналіз вище розглянутих типів діалогів наведено в

таблиці 3.1

Таблиця 3.1 – Порівняльний аналіз діалогів

Критерії

Тип діалогу

Меню Питання –

відповідь

Мова команд Заповнення

екранних

форм

Ціль:

запит

обчислення

складний вибір

+

+

+

+

+

+

+

+

+

+

Page 48: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

48

Продовження таблиці 3.1

Критерії

Тип діалогу

Меню Питання –

відповідь

Мова команд Заповнення

екранних

форм

введення даних

введення даних

(великий об’єм)

+ +

+

+

Тип користувача:

програміст

непрограміст

є досвід роботи

немає досвіду

роботи

+

+

+

+

+

+

*

+

+

*

Час навчання:

дуже мало

менше, ніж 1 день

більше, ніж 1 день

+

+

+

+

**

+

**

+

* – використання цього типу діалогу даною категорією користувачів вимагає

наявності системи допомоги;

** – використання засобів системи можливо тільки в обмеженому обсязі.

Інтерфейс розробленої навчальної програми поєднує в собі два типи

діалогу: діалог типу меню і «питання – відповідь». Структура інтерфейсу

наведена на рисунку 3.1.

Під час розробки інтерфейсу необхідно притримуватися таких

правил [14]:

Page 49: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

49

1) стандартні елементи інтерфейсу. Необхідно використовувати

стандартні для даного елемента інтерфейсу компоненти. Запустивши програму,

користувач не повинен втрачати час на знайомство, а повинен відразу

приступити до роботи;

2) невелика палітра інструментів. Потрібно намагатися використовувати

не дуже велику кількість різноманітних компонентів. І, використавши десь в

одному місці один стандартний компонент, в аналогічному випадку також

треба застосовувати саме його;

3) однакова відстань між елементами управління. Потрібно

розташовувати елементи інтерфейсу на однаковій відстані між собою.

Розкидані абияк компоненти створюють відчуття непрофесійно зробленого

продукту;

4) вибір шрифтів. Напівжирний шрифт слід використовувати тільки для

виділення важливих елементів. Застосування ж курсиву і особливо

підкреслення, яке користувач може прийняти за гіперпосилання – поганий тон;

5) вибір кольорів. Кольори не повинні бути надто яскравими, так як вони

можуть відволікати користувача від роботи з програмою;

6) альтернативне управління. Професійно зроблена програма повинна

мати можливість управлятися не тільки мишкою, але і з клавіатури. Для

найбільш використовуваних функцій слід передбачити «гарячі клавіші» для їх

швидкого виклику.

Під час розроблення власної навчальної програми було дотримано всіх

вище наведених правил та спроектовано оптимальний на вигляд і для

застосування інтерфейс (рисунок 3.2, рисунок 3.3).

Page 50: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

50

Ри

сун

ок 3

.1 –

Стр

укту

ра

інте

рф

ейсу

пр

огр

ами

Page 51: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

51

Рисунок 3.2 – Головне вікно програми

Рисунок 3.3 – Вікно однієї з тем програми

Page 52: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

52

3.3 Розробка програми

Програма була розроблена за допомогою Windows Presentation

Foundation. WPF надає розробникам уніфіковану програмну модель для

створення насичених та інтелектуальних додатків Windows, об'єднуючих

користувальницький інтерфейс, мультимедіа та документи [15]. WPF розширює

базову систему повним набором функцій розробки додатків, в тому числі Мова

XAML (Extensible Application Markup Language), елементами управління,

прив'язкою даних, макетом, двовимірною і тривимірною графікою, анімацією,

стилями, шаблонами, документами, мультимедіа, текстом і оформленням. WPF

входить до складу Microsoft. NET Framework і дозволяє створювати додатки,

що включають інші елементи бібліотеки класів. NET Framework.

Під час розробки програми було створено два допоміжних класи:

1) NotifyPropertyChangedImplementation – реалізує систему повідомлень

яка активується, коли значення властивості змінюється;

2) DelegateCommand – прив’язує команди до певного XAML-елементу і

визначає поведінку даного елемента при певних діях.

Для повноцінної роботи програми та зручності при зміні матеріалу для

вивчення було створено базу даних у Microsoft Access та підключено її до

програми (рисунок 3.4, рисунок 3.5).

Рисунок 3.4 – Додавання нового джерела до програми

Page 53: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

53

Рисунок 3.5 – Додана база даних

Головні створені методи для реалізації навчальної програми:

MainWindowVisible, CompArchitectureVisible, PeripheralsVisible,

CompApplicationsVisible, OperatingSystemsVisible, NetworksVisible,

InternetVisible – методи для відображення певних моделей представлення у

головному вікні програми;

Commands – властивості кнопочних елементів керування, за

допомогою яких викликається певна команда, яка прив’язана до натиснутої

кнопки;

SetMainWindowControlVisible() – метод для встановлення моделі

представлення головного вікна програми по натисненню кнопки «На головну»;

MainWindowVM() – конструктор для запуску всіх необхідних функцій

для роботи навчальної програми;

SelectTranslate() – метод підбору варіантів перекладу для слів;

RightError() – метод для оповіщення користувача про правильну чи

неправильну відповідь;

DivideWord() – метод для поділу слова на букви;

TranslateWord – клас, що реалізовує алгоритм виконання завдання

«Переклад слів»;

PassWord – клас, який реалізовує алгоритм виконання завдання

«Конструктор слів»;

AccordWord – клас, який реалізовує алгоритм виконання завдання

«Відповідність частин»;

Page 54: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

54

MakeSentance – клас, який реалізовує алгоритм виконання завдання

«Конструктор речень»;

EvaluationResult() – метод для оцінки результату пройденого

користувачем завдання.

3.4 Висновки

У розділі було обгрунтовано вибір мови програмування C# для реалізації

програмного продукту та обрано середовищем програмування Visual Studio.

Також було визначено головні функції та методи, на яких грунтується робота

навчальної програми. Було наведено основні властивості та правила розробки

інтерфейсу користувача та визначено, що інтерфейс розробленої програми

поєднує в собі два типи діалогу – меню і «питання – відповідь».

Page 55: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

55

4 ТЕСТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

4.1 Аналіз методик тестування

Тестування програмного забезпечення – це процес технічного

дослідження, який виконується на вимогу замовників, і призначений для

виявлення інформації про якість продукту відносно контексту, в якому він має

використовуватись; процес аналізу або експлуатації програмного забезпечення

з метою виявлення дефектів.

Тестування передбачає "аналіз" або "експлуатацію" програмного

продукту. Тестова діяльність, що пов'язана з аналізом результатів розробки

програмного забезпечення, називається статичним тестуванням. Воно

передбачає перевірку програмних кодів, контроль та перевірку програми без

запуску на комп'ютері. Тестова діяльність, що передбачає експлуатацію

програмного продукту, називається динамічним тестуванням. Динамічне та

статичне тестування доповнюють одне одного.

Мета розробника полягає в тому, щоб зробити програмний код без

дефектів, який відповідає призначенню програмного продукту та відповідає

вимогам замовника [16]. Мета тестувальника пов'язана з аналізом коду та

експлуатації програми, що у результаті повинно призвести до виявлення

дефектів, які проявляються під час його інтегрування, конфігурування та

виконання в різних середовищах.

Тестування програмного забезпечення виконує дві базові функції:

верифікацію та атестацію. Верифікація забезпечує відповідність результатів

конкретної фази процесу розробки вимог даної та попередньої стадії. Атестація

є гарантією того, що програмний продукт задовольняє системні вимоги.

Програмний продукт є якісним, коли:

під час роботи користувача з програмним продуктом виникає невелика

кількість відмов;

Page 56: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

56

програмний продукт надійний, а це означає, що його використання рідко

викликало аварійні відмови;

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

Зазвичай для проведення тестування застосовуються методи

структурного та функціонального тестування. При функціональному тестуванні

вихідний код програми не доступний. Суть полягає в перевірці відповідності

поведінки програми її зовнішній специфікації. Критерієм повноти тестування

вважається перебір всіх можливих значень вхідних даних, що здійснити на

практиці надзвичайно важко.

При структурному тестуванні текст програми відкритий для аналізу. Суть

даного методу полягає в перевірці внутрішньої логіки ПЗ. Повним тестуванням

у цьому випадку буде таке, що приведе до перебору всіх можливих шляхів на

графі передач керування програми. Число таких шляхів може досягати десятків

тисяч. Крім того, виникає питання про створення тестів, що забезпечують дане

покриття.

Здійснити повне всеохоплююче тестування навіть простої програми

вкрай важко, а часом і неможливо в силу обмеженості часу й ресурсів. Отже,

необхідно мати певні критерії за якими мають обиратися контрольні приклади

та критерії зупинки процесу тестування.

4.2 Тестування навчальної програми

Для тестування програми генерації відеофайлу буде застосовано

функціональний вид тестування. При даному підході текст програми не

доступний, і програма розглядається як «чорний ящик».

Метою тестування навчальної програми є визначення того, на скільки

коректно вона виконує свої функції. У даному випадку програма повинна

відображати завдання за запитом користувача, співвідносити відповіді

користувача з правильними і якісно оцінювати результат користувача після

проходження завдання.

Page 57: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

57

Після запуску програми з’являється головне вікно з переліком тем для

вивчення. Обравши тему, користувачу надається перелік завдань з обраної теми

(рисунок 4.1).

Протестуємо завдання «Переклад слів (En-Uk)». Для цього необхідно

натиснути на відповідну кнопку з назвою завдання. У першому випадку було

обрано неправильну відповідь, у другому – правильну (рисунок 4.2,

рисунок 4.3). Як видно з рисунків, при обранні неправильної відповіді, варіант

підсвічується червоним кольором, а при виборі правильної відповіді – зеленим.

Тестування завдання пройшло успішно, програма видає правильний результат.

Рисунок 4.1 – Вікно з завданнями

Рисунок 4.2 – Обрана неправильна відповідь

Page 58: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

58

Рисунок 4.3 – Обрана правильна відповідь

Наступним було протестовано завдання «Конструктор слів». Результати

тестування наведено на рисунку 4.4. Так як слово складено правильно, воно

підсвічується зеленим кольором.

Рисунок 4.4 – Слово складено правильно

Наступним тестувалося завдання «Конструктор речень». В початковому

стані на екрані розкидані слова, з яких необхідно скласти речення, відповідно

до його перекладу. Результат правильного виконання завдання наведено на

рисунку 4.5. Речення підсвічується зеленим, так як усі слова знаходяться на

своїх місцях.

Page 59: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

59

Рисунок 4.5 – Речення складено правильно

4.3 Висновки

Навчальну програму протестовано функціональним видом тестування,

під час якого код програми недоступний і програма розглядається як «чорний

ящик». Під час тестування не було виявлено ніяких помилок, програма

функціонує правильно.

Page 60: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

60

5 ОХОРОНА ПРАЦІ

5.1 Характеристика професії та приміщення

Проведемо аналіз професії «Інженер з програмного забезпечення

комп'ютерів». Згідно Національного класифікатора професій дана професія

належить до розділу 2 «Професіонали» [17]. Наведемо загальні характеристики

професії «Помічники керівників виробничих та інших підрозділів» у таблиці

5.1 [17].

Таблиця 5.1 – Загальні характеристики професії «Інженер з програмного

забезпечення комп'ютерів»

Назва Опис

Розділ 2 Професіонали

Галузі

застосував-

ння знань

Цей розділ вміщує професії, що передбачають високий рівень

знань у галузі фізичних, математичних, технічних, біологічних,

агрономічних, медичних чи гуманітарних наук.

Професійні завдання полягають у збільшенні існуючого

фонду (обсягу) знань, застосуванні певних концепцій, теорій та

методів для розв'язання певних проблем чи в систематизованому

викладенні відповідних дисциплін у повному обсязі.

Кваліфіка-

ційні

вимоги

Повна вища освіта відповідного напряму підготовки (магістр,

спеціаліст).

Код

професії 2131.2

Код за

ДКХП

-

Page 61: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

61

Продовження таблиці 5.1

Назва Опис

Завдання та

обов’язки у

сфері

охорони

праці

Приймає участь у роботі комісії по комплексній перевірці

охорони праці в ввірених підрозділах підприємства. Перевіряє

виконання заходів по покращенню і оздоровленню умов праці

приписів контролюючих органів, організацію навчання і

інструктажів робітників, приймає оперативні заходи по усуненню

виявлених недоліків.

Приймає участь у проведенні контролю стану охорони

праці у відділі.

Здійснює комплексні і цільові перевірки стану охорони

праці у встановлені терміни..

Здійснює контроль своєчасного виконання перспективних

поточних, оперативних планів роботи з охорони праці в ввірених

підрозділах.

Здійснює контроль за дотриманням керівниками ділянок,

вимог правил і норм безпеки тощо.

Працівник зобов'язаний знати та дотримуватися правил

особистої гігієни: приходити на роботу в чистому одязі і взутті;

постійно стежити за чистотою тіла, рук, волосся; мити руки з

милом після відвідування туалету, дотику з забрудненими

предметами, після закінчення роботи.

Підготувати робочу зону для безпечної роботи: перевірити

оснащеність робочого місця, справність обладнання,

електропроводки на видимі пошкодження. При несправності

повідомити безпосередньому керівникові. Перевірити зовнішнім

оглядом достатність освітлення і справність вимикачів і розеток

тощо.

Забороняється зберігати на своєму робочому місці пожежо-

та вибухонебезпечні речовини.

Дослідження приміщення проведемо на прикладі відділу програмного

забезпечення підприємства у м. Вінниці. Приміщення відділу знаходиться на

першому поверсі адміністративної будівлі. Характеристика приміщення

наведена в таблиці 5.2.

Page 62: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

62

Таблиця 5.2 – Дані планування приміщення

Довжина

приміще-

ння, м

Ширина

приміщен-

ня, м

Висота

примі-

щення,

м

Кількість

праців-

ників,

осіб

Кількість

місць

обладна-

них ЕОМ

Кількість

вікон, шт

Ширина

та

висота

вікон, м

7 6 3 7 7 2 1,5х1,5

Загальна площа відділу становить 42 м2. Отже, на одного працюючого в

приміщенні припадає: 42 : 7 = 6 (м2/ос.) робочої площі. За СНиП 2.09.04 – 87 на

кожного працюючого в управлінських приміщеннях повинно припадати не

менше 4 (м2/чол.) робочої площі [18]. Відповідно до НПОАП 0.00-1.28-10 на

одного працівника, який застосовує ЕОМ має припадати не менше 6 кв. м. (у

нашому випадку 6), а об’єм повітря в приміщенні має бути не менше 20 куб. м

(що у нашому випадку (42·3)/7=18 м3). Висота приміщення – не менше 2,5 м

[19]. Отже, нормативу забезпечення працюючих об’ємом повітря в відділі не

дотримано.

У приміщенні розміщені 7 письмових столів, 7 столів обладнано

комп’ютерами, одна шафа для зберігання документів. За небезпекою ураження

електричним струмом приміщення відділі належить до приміщень без

підвищеної небезпеки ураження електричним струмом працюючих.

За типовими нормами належності вогнегасників НАПБ Б.03.001−2004 для

приміщення відділі варто обрати два вуглекислотних вогнегасника ВВК-2, що

можуть бути застосовані у разі горіння ЕОМ. Тип пожежної сигналізації варто

обрати тепловий автоматичний сповіщувач, що реагує на певний поріг

температури в повітрі. Схему приміщення зображено на рисунку 5.1.

Page 63: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

63

Рисунок 5.1 – Схема приміщення відділу

де: 1 – шафа;

2 – робочі місця (столи);

3 – персональні комп’ютери;

4 – дверний отвір;

5 – вікна (розмір вікна 1,5×1,5 м.).

5.2 Аналіз стану умов охорони праці в приміщенні

Вихідні дані аналізу метеорологічних умов в приміщенні відділу

програмного забезпечення наведено в таблиці 5.3.

2 3

3

3

3

1

3

3

2

2

2

2

2 4

6 м

1,5

м

1,5

м

7 м

5

5

1,65 м

5,5 м

2 3

Page 64: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

64

Таблиця 5.3 – Вихідні дані для аналізу метеорологічних умов К

атег

орія

роб

іт

Пер

іод

ро

ку

Ро

бо

че

міс

це

(пост

ійн

е (П

,

неп

ост

ійн

е, Н

)

Тем

пер

атур

а, С

0

Від

но

сна

во

логі

сть,

%

Шви

дкіс

ть р

уху

по

віт

ря,

м/с

Концентрація шкідливих

речовин в повітрі робочої зони:

оксид вуглецю (во), озон (о),

оксид азоту (оа), формальдегід

(ф) мг/м3

во о оа

ф

Легка

Іа

Холод-

ний П 23 65 0,20 20 0,16 4,5 0,1

За ДСН 3.3.6.042−99 для категорії робіт легкі Іа встановлено такі вимоги:

оптимальна температура повинна становити – 22-24ºС, допустима – 21-25 ºС;

оптимальна відносна вологість – 40-60%, допустима – не більше 75%;

оптимальна швидкість руху повітря – не більше 0,1 м/с, допустима – не більша

0,1м/с [20]. Концентрація оксиду вуглецю має становити не більше 20 мг/м3,

озону – не більше 0,1 мг/м3, оксиду азоту – не більше 2 мг/м

3, формальдегіду –

не більше 0,5 мг/м3.

Порівнявши нормативні дані з фактичними бачимо, що завищеними є

показники швидкості руху повітря, концентрації озону та оксиду азоту в

повітрі. Високі концентрації шкідливих речовин в повітрі особливо шкідливо

впливають на самопочуття і здоров’я працівників у приміщенні, тому ці

недоліки потрібно усунути.

Проаналізуємо природнє освітлення.

Відношення відстані між протилежними будівлями до висоти карнизу

протилежного будинку становить 1 м. Вид світлопропускаючого матеріалу

скло листове сонцезахисне. Вид віконної рами – металеві одинарні.

Сонцезахисні пристрої – регульовані жалюзі. Стан стелі – свіжопобілена. Стан

стін – обклеєні темними шпалерами. Стан підлоги – оливково-зелений.

Характеристика зорової роботи – робота середньої точності. Місто

розташування приміщення – Вінниця.

Page 65: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

65

Наведемо схеми приміщення відділу програмного забезпечення для

аналізу достатності природнього освітлення (рисунок 5.2, рисунок 5.3).

Рисунок 5.2 – Схема розрахунку природнього освітлення (вигляд збоку)

Нормоване значення КПО беремо Нормоване значення КПО беремо з ДБН

В.2.5−28−2006 «Природне і штучне освітлення» [20, 21] (приймаємо роботу

середньої точності).Тоді КПО буде становити 1,5. Орієнтація світлових прорізів

за сторонами горизонту (приймаємо, що вікна виходять на північний схід). Тоді

нормоване значення КПО складе:

еN = 1,5 · 0,9 = 1,35

Для робочих місць, де застосовують ЕОМ, значення КПО має становити не

менше 1,5%.

Для визначення достатності природного освітлення розраховуємо

фактичне значення КПО за формулою:

0,7 м

5,5 м 0,8 м

6 м

1,5 м

3

м

1

Page 66: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

66

Рисунок 5.3 – Схема розрахунку природнього освітлення (вигляд зверху)

де Sв – площа усіх вікон у приміщенні;

Sn – площа підлоги приміщення;

τз – загальний коефіцієнт світлопроникності віконного прорізу;

r1 − коефіцієнт, який враховує відбиття світла від внутрішніх поверхонь

приміщення;

ŋв − світлова характеристика вікна;

Кбуд − коефіцієнт, що враховує затемнення вікон іншими будинками;

Кз − коефіцієнт запасу.

Згідно рисунку площа всіх вікон у приміщенні становить – Sв=1,5·1,5·2=

4,5 м2, відповідно площа підлоги приміщення складає 42 м

2.

2 3

3

3

3

1

3

3

2

2 2

2

2 4

6 м

1,5

м

1,5

м

5

5

1,65 м

5,5 м

3 2

Page 67: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

67

Далі визначимо загальний коефіцієнт світлопроникності віконного прорізу

(τз) за формулою [5]:

де де τ1 – коефіцієнт світло пропускання матеріалу (τ1=0,65);

τ2 – коефіцієнт, що враховує втрати світла у віконній рамі (τ2=0,9);

τ3 – коефіцієнт, що враховує втрати світла у несучих конструкціях (при

боковому освітленні τ3 = 1)

τ4 – коефіцієнт, що враховує втрати світла у сонцезахисних пристроях

(τ4=1);

τ5 – коефіцієнт, що враховує втрати світла у захисній сітці, яка

встановлюється під ліхтарями (приймається рівним 1) [21].

Світлову характеристику вікна (ŋв) розраховуємо відповідно за даними

наведеними в таблиці 8.

Відношення довжини приміщення (L) до його глибини (В) = 7/6 = 1,17.

Відношення глибини приміщення (В) до висоти від рівня робочої поверхні до

верхнього краю вікна (h) = 6/1,5 = 4. Отже, ŋв = 21.

Приймаємо в розрахунок те, що біля адміністративного будинку є будинки

на відстані 1 м, тоді Кбуд = 1,4. Приймаємо коефіцієнт запасу 1,3.

Розрахуємо середньозважений коефіцієнт відбиття. Для цього

використаємо такі дані:

стеля свіжопобілена, тоді ρстелі = 0,75;

стіни обклеєні темними шпалерами, тоді ρстін = 0,1;

підлога пофарбована в оливково-зелений колір, тоді ρпідлоги = 0,2;

площа стін – Sстін=(3·7·2 + 3·6·2) =78 м2.

Page 68: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

68

Таким чином, Рср = 0,3.

Наступним визначаємо коефіцієнт r1. Використовуємо для визначення такі

параметри, що характеризують адміністративне приміщення (відділ

програмного забезпечення):

відношення глибини приміщення (В) до висоти від рівня умовної

робочої поверхні до верху вікна (h): 6/1,5 = 4;

відношення відстані до розрахункової точки від зовнішньої стіни (l)

до глибини приміщення (B): 5,5/6 =0,92;

відношення довжини приміщення (L) до його глибини (B): 7/6 =

1,17;

середньозважений коефіцієнт відбиття – 0,3.

Враховуючи наведені вище співвідношення та дані таблиці 9, коефіцієнт,

який враховує відбиття світла від внутрішніх поверхонь приміщення

становитиме r1=2.

Отже, розрахуємо фактичне значення природного освітлення (еф):

Оскільки фактичне значення природного освітлення значно нижче

нормованого (0,311<1,35 (1,5)), то природне освітлення в приміщенні варто

вважати недостатнім.

Проаналізуємо ефективність штучного освітлення.

За даними задачі, для освітлення відділу програмного забезпечення

застосовуються лампи розжарювання потужністю 60 Вт. Система освітлення −

загальна. Отже, нормоване значення освітленості повинне становити не менше

300 люкс (ДБН В. 2. 5−28−2006) [22]. Схему розміщення світильників у

приміщенні відділу наведено на рисунку 5.4.

Page 69: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

69

Приймаємо, що кількість світильників – 3 шт., а кількість ламп у

світильнику – 2 шт. Фактичне значення штучного освітлення (Еф)

розраховуємо за формулою:

де Fл – світловий потік однієї лампи, лм;

ηв – коефіцієнт використання світлового потоку. Для світильників, які

використовуються в адміністративних будівлях для традиційних розмірів

приміщення і кольорового оздоблення, може набувати значення в межах ηв =

0,4 − 0,6;

Рисунок 5.4 – Схема розміщення світильників в відділу

N – кількість світильників у приміщенні, яке досліджується, шт.;

n – кількість ламп у кожному світильнику, шт.;

2,5 м 0,75 м

0,75 м

2,5 м 2,5 м

6 м

7 м

1,5

м

3 м

1,5

м

1,5

м

Page 70: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

70

S – площа приміщення, м2;

k – коефіцієнт запасу;

z – коефіцієнт нерівномірності освітлення: для ламп розжарювання z =

1,15; для люмінесцентних ламп z = 1,1.

Тип лампи обрано БК 125-135-100 (світловий потік буде становити 1630

лм).

Приймаємо середнє значення коефіцієнта використання світлового потоку

(ŋВ) ((0,4+0,6) /2 = 0,5).

Кількість світильників (N) (згідно умов задачі – 3 штуки).

Кількість ламп у світильнику (n) (згідно умов задачі 2 штуки).

Площа приміщення (S) ( 42 м2).

Коефіцієнт запасу (К) ( К = 1,3).

Коефіцієнт нерівномірності освітлення (Z = 1,15).

Таким чином, фактичне значення штучного освітлення в приміщенні

становитиме:

Як бачимо фактичне значення штучного освітлення становить 77,9 люкс.

Необхідно покращити штучне освітлення у відділі.

5.3 Розробка заходів щодо поліпшення умов праці

В таблиці 5.4 наведемо перелік рекомендаційних заходів покращення умов

праці в приміщенні відділу програмного забезпечення. Було виявлено такі

недоліки: недотримано забезпечення працівників об’ємом, висока швидкість

руху повітря, концентрації озону і оксиду азоту, недостатнє природне та

штучне освітлення.

Page 71: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

71

Таблиця 5.4 – Розробка заходів покращення стану охорони та умов праці

п/п Виявлені недоліки Заходи покращення умов праці

1

Нормативу

забезпечення

працюючих об’ємом

повітря не забезпечено

­ зменшити кількість працівників в

приміщенні.

2 Висока концентрація

озону та оксиду азоту

­ забезпечити роботу припливно-витяжної

вентиляції та періодичне провітрювання

приміщення відділу.

3 Висока швидкість руху

повітря ­ Не відкривати кватирки та двері

одночасно.

4 Недостатнє природне

освітлення

­ зняти жалюзі;

­ застосувати матеріали, що підвищують

відбиття світла від внутрішніх поверхонь

приміщення;

­ збільшити коефіцієнт запасу шляхом

застосування скла, яке краще пропускає

природне освітлення.

5

Недостатнє штучне

освітлення в

приміщенні відділу

­ обрати лампи розжарювання з більшою

потужністю або збільшити кількість ламп у

приміщенні.

Обов’язком кожного роботодавця є дотримання належних умов праці.

Саме виконання запропонованих заходів дозволить покращити умови праці в

приміщенні. Це сприятиме гарному самопочуттю робітників та відсутності

напружень під час виконання роботи.

5.4 Висновки

В теоретичній частині розділу було наведено загальні характеристики

професії «Інженер з програмного забезпечення комп'ютерів». Було визначено

основні обов’язки працівника в межах даної професії у сфері охорони праці та

наведено код професії згідно Національного класифікатора професій.

Page 72: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

72

У практичній частині було охарактеризовано приміщення відділу

програмного забезпечення та зображено схему цього відділу. Виявлено, що на

одного працівника припадає 6 м2

/ос. робочої площі та 18 м3/ос.

об’єму на

одного працівника. Це не зовсім відповідає встановленим нормативам.

Потрібно зменшити кількість осіб в приміщенні.

Аналіз мікрокліматичних умов показав, що нормативам відповідають всі

показники, крім швидкості руху повітря, концентрації озону та оксиду азоту в

повітрі. У великих концентраціях з постійною дією ці речовини несприятливо

впливають на здоров’я працівника та можуть спричиняти хвороби.

Також було проаналізовано штучне та природнє освітлення в приміщенні

відділу програмного забезпечення. Виявлено, що фактичне значення

природного освітлення нижче норми (0,331<1,35 (1,5)). Фактичне значення

штучного освітлення також не є достатнім (77,9 < 300−500 лк).

Для усунення виявлених невідповідностей нормативам з охорони праці

запропоновано рекомендаційні заходи. Застосування даних заходів є

обов’язковим для покращення умов праці в приміщенні та збереження здоров’я

працівників.

Page 73: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

73

ВИСНОВКИ

Під час виконання бакалаврської дипломної роботи розроблено алгоритм

роботи програми, визначено, що він відноситься до розгалуженого типу, та

складено блок-схему роботи програми. Також було розроблено структуру

роботи програми, до якої входить блок вибору завдання, блок введення даних,

модуль оцінки результату, блок виведення результату, ядро програми і база

даних. База даних являє собою набір словників для складених завдань.

Словники було складено відповідно до тем навчальної програми. Програма

звертається до бази даних, коли користувач починає проходити певне завдання.

Оцінка результату здійснюється шляхом підрахунку кількості правильних

відповідей.

У ході виконання бакалаврської роботи було обґрунтовано вибір мови

програмування C#, так як вона є дуже популярною та має безліч переваг над

іншими засобами програмування, та обрано середовище розробки Visual Studio

і Expression Blend, перше з яких використовувалось для програмування, а друге

для візуального проектування навчальної програми.

Було розроблено структуру інтерфейсу програми, визначено, що він

поєднує в собі два типи діалогу – меню і «питання – відповідь». У ході роботи

створено графічні зображення для інтерфейсу користувача, а також елементи

керування для зручної роботи з програмою. Визначено головні властивості та

правила проектування інтерфейсу та, відповідно до них, спроектовано власний

інтерфейс навчальної програми.

Програма розроблена за допомогою Windows Presentation Foundation, яка

об'єднує користувальницький інтерфейс, мультимедіа та документи. Під час

роботи було визначено головні функції, методи та класи розробленої програми.

Також було підключено базу даних, створену в середовищі Microsoft Access.

Page 74: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

74

Під час тестування навчальної програми не було виявлено ніяких

дефектів роботи, завдання відображаються коректно і правильність відповіді

оцінюється вірно.

Були розглянуті питання з охорони праці, а саме наведено загальні

характеристики професії «Інженер з програмного забезпечення комп'ютерів»,

визначено основні обов’язки працівника в межах даної професії у сфері

охорони праці, охарактеризовано приміщення відділу програмного

забезпечення та зображено схему цього відділу. Виявлено, що кількість робочої

площі та об’єму на одного працівника, що не зовсім відповідає встановленим

нормативам. Також було проаналізовано мікрокліматичні умови, штучне та

природнє освітлення в приміщенні відділу програмного забезпечення. Фактичні

значення природного та штучного освітлення є недостатніми. Було

запропоновано рекомендаційні заходи для усунення виявлених

невідповідностей нормативам з охорони праці.

Результати роботи опубліковані в науковій публікації [2]. Також присутнє

свідоцтво про реєстрацію авторського права [3]. Робота виконана на

замовлення закладу «Загальноосвітня школа І-ІІІ ступенів №15 Вінницької

міської ради», що підтверджує акт впровадження.

Page 75: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

75

ПЕРЕЛІК ПОСИЛАНЬ

1. Типи навчальних програм. [Електронний ресурс]. – Режим доступу:

http://babefor.ucoz.ua/news/komp_juterni_navchalni_sistemi/2011-04-13-272

2. Бевз С. В. Модель обґрунтованого вибору методів тестового контролю

знань // С. В. Бевз, В. В. Войтко, О. О. Сівець. – Вісник Хмельницького

національного університету. Технічні науки. – Хмельницький 2013. – № 6. – С.

218-223.

3. Бевз С.В., Бурбело С.М., Сівець О.О. Комп'ютерна програма "Комп’ютерна

програма генерації мультимедійних файлів зі списку зображень" // Свідоцтво

про реєстрацію авторського права на твір № 54951, від 23.05.2014.- 2014.-

Свідоцтва про державну реєстрацію авторського права на твір.

4. Дидактичне програмування та комп’ютерні програми. [Електронний

ресурс]. – Режим доступу:

http://pidruchniki.ws/1953122435454/pedagogika/didaktichne_programuvannya_ko

mpyuterni_programi

5. Програма BX Language acquisition. [Електронний ресурс]. – Режим доступу:

http://bxmemo.com/

6. Програма Language Study. [Електронний ресурс]. – Режим доступу:

http://soft.mydiv.net/win/download-Language-Study.html

7. Програма Lex! [Електронний ресурс]. – Режим доступу:

http://www.softportal.com/software-2887-lex.html

8. Програма FWords. [Електронний ресурс]. – Режим доступу:

http://tech-buy.pp.ua/programi-dlya-vivchennya-anglijsko-movi/

9. Седжвик А. В. “Алгоритмы на С++” /А. В. Седжвик, – Вильямс, 2011 г. –

1026 с.

10. Шаблон MVVM. [Електронний ресурс]. – Режим доступу:

http://professorweb.ru/my/WPF/documents_WPF/level36/36_5.php

11. Алгоритми. [Електронний ресурс]. – Режим доступу:

Page 76: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

76

http://ru.wikipedia.org/wiki/Алгоритм

12. Страуструп Б. “Программирование: принципы использования C++”/М.

Эллис, Б. Страструп, – Диалектика-Вильямс, 2010 г. – 1248 с.

13. Мови програмування. [Електронний ресурс]. – Режим доступу:

http://zei.narod.ru/Comparison_C__Java_Cpp_3.pdf

14. Правила проектування інтерфейсу. [Електронний ресурс]. – Режим доступу:

http://www.delphi-manual.ru/interface.php#kupn

15. WPF. [Електронний ресурс]. – Режим доступу:

http://msdn.microsoft.com/ru-ru/library/ms754130(v=vs.110).aspx

16. Тестування. [Електронний ресурс]. – Режим доступу:

http://icc.mdpu.org.ua/learn/vb/Lection6.pdf

17. Національний класифікатор професій. Державний комітет України з питань

технічного регулювання та споживчої політики (ДК 003:2010) від 28.07.2010

року № 327. [Електронний ресурс]. – Режим доступу:

http//www.kadrovik01.com.ua.

18. СНиП 2.09.04 – 87 Здания и сооружения. Административные и бытовые

здания. [Електронний ресурс]. – Режим доступу:

http// www.document.ua/docs/tdoc429.php.

19. НПОАП 0.00-1.28-10 Правила охорони праці під час експлуатації

електронно-обчислювальних машин. [Електронний ресурс]. Режим доступу:

http//www.library.univ.kiev.ua.

20. ДСН 3.3.6.042-99 Санітарні норми мікроклімату виробничих приміщень

[Електронний ресурс]. – Режим доступу: http//www.dnaop.com.

21. Заюков І. В. Методичні вказівки до виконання контрольної роботи з

дисципліни «Основи охорони праці» студентів інституту інформаційних

технологій та комп’ютерної інженерії / Заюков І. В. – Вінниця, ВНТУ, 2014. –

30 с.

22. ДБН В.2.5-28-2006 «Природне і штучне освітлення». [Електронний

ресурс]. – Режим доступу: http//www.dnaop.com.

Page 77: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

77

ДОДАТОК А

Акт впровадження

Page 78: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

78

ЗАТВЕРДЖУЮ

Директор закладу

«Загальноосвітня школа

І-ІІІ ступенів №15

Вінницької міської ради»

____________ О. І. Черешнюк

“____”______________ 2014 р.

АКТ ВПРОВАДЖЕННЯ

Навчальну комп’ютерну програму «Технічна англійська мова» було

розроблено на замовлення закладу «Загальноосвітня школа І-ІІІ ступенів №15

Вінницької міської ради» з ціллю використання розробленої програми під час

навчання учнів старших класів з математичним спрямуванням загальних

технічних термінів англійської мови. Навчальна програма розроблена на основі

шкільної програми курсу «Англійська мова». Розробник виконав усі вимоги

щодо розробки програмного продукту.

Замовник: Директор закладу

«Загальноосвітня школа І-ІІІ ступенів №15

Вінницької міської ради»

Черешнюк О. І.______________

Розробник: ст. гр. 1ПІ-10б ВНТУ

Сівець О. О. ____________

Page 79: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

79

ДОДАТОК Б

Лістинг модуля програми MainWindowVM.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Input;

namespace Tech_English

{

public class MainWindowVM : NotifyPropertyChangedImplementation

{

private bool mainWindowVisible;

public bool MainWindowVisible

{

get { return mainWindowVisible; }

set

{

mainWindowVisible = value;

NotifyPropertyChanged("MainWindowVisible");

}

}

Page 80: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

80

private bool compArchitectureVisible;

public bool CompArchitectureVisible

{

get { return compArchitectureVisible; }

set

{

compArchitectureVisible = value;

NotifyPropertyChanged("CompArchitectureVisible");

}

}

private bool compApplicationsVisible;

public bool CompApplicationsVisible

{

get { return compApplicationsVisible; }

set

{

compApplicationsVisible = value;

NotifyPropertyChanged("CompApplicationsVisible");

}

}

private bool peripheralsVisible;

public bool PeripheralsVisible

Page 81: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

81

{

get { return peripheralsVisible; }

set

{

peripheralsVisible = value;

NotifyPropertyChanged("PeripheralsVisible");

}

}

private bool operatingSystemsVisible;

public bool OperatingSystemsVisible

{

get { return operatingSystemsVisible; }

set

{

operatingSystemsVisible = value;

NotifyPropertyChanged("OperatingSystemsVisible");

}

}

private bool networksVisible;

public bool NetworksVisible

{

get { return networksVisible; }

set

Page 82: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

82

{

networksVisible = value;

NotifyPropertyChanged("NetworksVisible");

}

}

private bool internetVisible;

public bool InternetVisible

{

get { return internetVisible; }

set

{

internetVisible = value;

NotifyPropertyChanged("InternetVisible");

}

}

private bool translateEnUkVisible;

public bool TranslateEnUkVisible

{

get { return translateEnUkVisible; }

set

{

translateEnUkVisible = value;

NotifyPropertyChanged("TranslateEnUkVisible");

Page 83: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

83

}

}

private bool translateUkEnVisible;

public bool TranslateUkEnVisible

{

get { return translateUkEnVisible; }

set

{

translateUkEnVisible = value;

NotifyPropertyChanged("TranslateUkEnVisible");

}

}

private bool passWordVisible;

public bool PassWordVisible

{

get { return passWordVisible; }

set

{

passWordVisible = value;

NotifyPropertyChanged("PassWordVisible");

}

}

public MainWindowVM()

Page 84: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

84

{

MainWindowVisible = true;

CompArchitectureVisible = false;

CompApplicationsVisible = false;

PeripheralsVisible = false;

NetworksVisible = false;

InternetVisible = false;

TranslateEnUkVisible = false;

TranslateUkEnVisible = false;

PassWordVisible = false;

ToCompArchControlCommand = new

DelegateCommand(SetCompArchControlVisible);

ToMainWindowControlCommand = new

DelegateCommand(SetMainWindowControlVisible);

ToCompApplicControlCommand = new

DelegateCommand(SetCompApplicControlVisible);

ToPeripheralsControlCommand = new

DelegateCommand(SetPeripheralsControlVisible);

ToOperSysControlCommand = new

DelegateCommand(SetOperSysControlVisible);

ToNetworksControlCommand = new

DelegateCommand(SetNetworksControlVisible);

ToInternetControlCommand = new

DelegateCommand(SetInternetControlVisible);

ToTranslateEnUkControlCommand = new

DelegateCommand(SetTranslateEnUkControlVisible);

ToTranslateUkEnControlCommand = new

DelegateCommand(SetTranslateUkEnControlVisible);

ToPassWordControlCommand = new

DelegateCommand(SetPassWordControlVisible);

Page 85: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

85

}

private void SetCompArchControlVisible(object obj)

{

MainWindowVisible = false;

CompArchitectureVisible = true;

}

private void SetCompApplicControlVisible(object obj)

{

MainWindowVisible = false;

CompApplicationsVisible = true;

}

private void SetPeripheralsControlVisible(object obj)

{

MainWindowVisible = false;

PeripheralsVisible = true;

}

private void SetOperSysControlVisible(object obj)

{

MainWindowVisible = false;

OperatingSystemsVisible = true;

}

private void SetNetworksControlVisible(object obj)

Page 86: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

86

{

MainWindowVisible = false;

NetworksVisible = true;

}

private void SetInternetControlVisible(object obj)

{

MainWindowVisible = false;

InternetVisible = true;

}

private void SetTranslateEnUkControlVisible(object obj)

{

TranslateEnUkVisible = true;

MainWindowVisible = false;

CompArchitectureVisible = false;

}

private void SetTranslateUkEnControlVisible(object obj)

{

TranslateUkEnVisible = true;

MainWindowVisible = false;

CompArchitectureVisible = false;

}

Page 87: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

87

private void SetPassWordControlVisible(object obj)

{

PassWordVisible = true;

MainWindowVisible = false;

CompArchitectureVisible = false;

}

private void SetMainWindowControlVisible(object obj)

{

MainWindowVisible = true;

CompArchitectureVisible = false;

CompApplicationsVisible = false;

PeripheralsVisible = false;

OperatingSystemsVisible = false;

NetworksVisible = false;

InternetVisible = false;

TranslateEnUkVisible = false;

TranslateUkEnVisible = false;

PassWordVisible = false;

}

public DelegateCommand ToCompArchControlCommand { get; set; }

public DelegateCommand ToMainWindowControlCommand { get; set; }

public DelegateCommand ToCompApplicControlCommand { get; set; }

public DelegateCommand ToPeripheralsControlCommand { get; set; }

public DelegateCommand ToOperSysControlCommand { get; set; }

Page 88: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

88

public DelegateCommand ToNetworksControlCommand { get; set; }

public DelegateCommand ToInternetControlCommand { get; set; }

public DelegateCommand ToTranslateEnUkControlCommand { get; set; }

public DelegateCommand ToTranslateUkEnControlCommand { get; set; }

public DelegateCommand ToPassWordControlCommand { get; set; }

}

}

Page 89: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

89

ДОДАТОК В

Лістинг модуля програми MainWindow.xaml

<Window x:Class="Tech_English.MainWindow"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

xmlns:local="clr-namespace:Tech_English"

Title="Technical English" Height="518" Width="810">

<Window.Resources>

<local:MainWindowVM x:Key="MainWindowVM"/>

<BooleanToVisibilityConverter x:Key="BoolToVisConverter"/>

</Window.Resources>

<Grid x:Name="mainWindow" DataContext="{Binding Source={StaticResource

MainWindowVM}}">

<local:MainWindowControl Visibility="{Binding MainWindowVisible,

Converter={StaticResource BoolToVisConverter}}" />

<local:ComputerArchitectureControl Visibility="{Binding

CompArchitectureVisible, Converter={StaticResource BoolToVisConverter}}"/>

<local:ComputerApplicationsControl Visibility="{Binding

CompApplicationsVisible, Converter={StaticResource BoolToVisConverter}}"/>

<local:PeripheralsControl Visibility="{Binding PeripheralsVisible,

Converter={StaticResource BoolToVisConverter}}"/>

<local:OperatingSystemsControl Visibility="{Binding

OperatingSystemsVisible, Converter={StaticResource BoolToVisConverter}}"/>

<local:NetworksControl Visibility="{Binding NetworksVisible,

Converter={StaticResource BoolToVisConverter}}"/>

Page 90: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

90

<local:InternetControl Visibility="{Binding InternetVisible,

Converter={StaticResource BoolToVisConverter}}"/>

<local:TranslateEnUkControl Visibility="{Binding TranslateEnUkVisible,

Converter={StaticResource BoolToVisConverter}}"/>

<local:TranslateUkEnControl Visibility="{Binding TranslateUkEnVisible,

Converter={StaticResource BoolToVisConverter}}"/>

<local:PassWordControl Visibility="{Binding PassWordVisible,

Converter={StaticResource BoolToVisConverter}}"/>

</Grid>

</Window>

Page 91: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

91

ДОДАТОК Г

Лістинг модуля програми ComputerArchitectureControl.xaml

<UserControl x:Class="Tech_English.ComputerArchitectureControl"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Height="480" Width="800">

<Grid>

<Image Source="Resources/comp_arch.png" HorizontalAlignment="Stretch"

Height="480" Width="800"/>

<Button Content="На головну" Command="{Binding

ToMainWindowControlCommand}" Height="33" HorizontalAlignment="Left"

Margin="660,418,0,0" x:Name="ToMainWindow" VerticalAlignment="Top"

Width="98" FontFamily="Cooper Std Black" >

<Button.Background>

<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">

<GradientStop Color="#FFEAD0D0" Offset="0.166"/>

<GradientStop Color="#FFEBEBEB"/>

<GradientStop Color="#FFE6A1A1" Offset="0.562"/>

<GradientStop Color="#FFEE0C0C" Offset="1"/>

</LinearGradientBrush>

</Button.Background>

</Button>

<Button Content="Переклад слів (En-Uk)" Command="{Binding

ToTranslateEnUkControlCommand}" Height="42" HorizontalAlignment="Left"

Margin="367.866,142.597,0,0" x:Name="TranslateEnUk" VerticalAlignment="Top"

Width="176.761" FontSize="14.667" BorderBrush="#FF9AA4B0"

Page 92: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

92

Foreground="#FF09366C" FontFamily="Cooper Std Black"

Style="{DynamicResource ButtonStyle1}" >

<Button.Background>

<LinearGradientBrush EndPoint="0.5,1"

MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">

<GradientStop Color="#FFD9DBDE" Offset="0.247"/>

<GradientStop Color="#FF6992C1" Offset="0.872"/>

<GradientStop Color="#FF7C8C9E" Offset="1"/>

</LinearGradientBrush>

</Button.Background>

</Button>

<Button Content="Переклад слів (Uk-En)" Command="{Binding

ToTranslateUkEnControlCommand}" Height="42" HorizontalAlignment="Left"

Margin="367.866,202.299,0,0" x:Name="TranslateUkEn1"

VerticalAlignment="Top" Width="176.761" FontSize="14.667"

BorderBrush="#FF9AA4B0" Foreground="#FF09366C" FontFamily="Cooper Std

Black" Style="{DynamicResource ButtonStyle1}" >

<Button.Background>

<LinearGradientBrush EndPoint="0.5,1"

MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">

<GradientStop Color="#FFD9DBDE" Offset="0.247"/>

<GradientStop Color="#FF6992C1" Offset="0.872"/>

<GradientStop Color="#FF7C8C9E" Offset="1"/>

</LinearGradientBrush>

</Button.Background>

</Button>

<Button Content="Конструктор слів" Command="{Binding

ToPassWordControlCommand}" Height="42" HorizontalAlignment="Left"

Page 93: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

93

Margin="367.866,262,0,0" x:Name="PassWord" VerticalAlignment="Top"

Width="176.761" FontSize="14.667" BorderBrush="#FF9AA4B0"

Foreground="#FF09366C" FontFamily="Cooper Std Black"

Style="{DynamicResource ButtonStyle1}" >

<Button.Background>

<LinearGradientBrush EndPoint="0.5,1"

MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">

<GradientStop Color="#FFD9DBDE" Offset="0.247"/>

<GradientStop Color="#FF6992C1" Offset="0.872"/>

<GradientStop Color="#FF7C8C9E" Offset="1"/>

</LinearGradientBrush>

</Button.Background>

</Button>

<Button Content="Відповідність частин" Command="{Binding

ToFindTranslationControlCommand}" Height="42" HorizontalAlignment="Left"

Margin="367.866,324.687,0,0" x:Name="FindTranslation"

VerticalAlignment="Top" Width="176.761" FontSize="14.667"

BorderBrush="#FF9AA4B0" Foreground="#FF09366C" FontFamily="Cooper Std

Black" Style="{DynamicResource ButtonStyle1}" >

<Button.Background>

<LinearGradientBrush EndPoint="0.5,1"

MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">

<GradientStop Color="#FFD9DBDE" Offset="0.247"/>

<GradientStop Color="#FF6992C1" Offset="0.872"/>

<GradientStop Color="#FF7C8C9E" Offset="1"/>

</LinearGradientBrush>

</Button.Background>

</Button>

Page 94: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

94

<Button Content="Конструктор речень" Command="{Binding

ToMakeSentanceControlCommand}" Height="42" HorizontalAlignment="Left"

Margin="367.866,388.866,0,0" x:Name="MakeSentance" VerticalAlignment="Top"

Width="176.761" FontSize="14.667" BorderBrush="#FF9AA4B0"

Foreground="#FF09366C" FontFamily="Cooper Std Black"

Style="{DynamicResource ButtonStyle1}" >

<Button.Background>

<LinearGradientBrush EndPoint="0.5,1"

MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">

<GradientStop Color="#FFD9DBDE" Offset="0.247"/>

<GradientStop Color="#FF6992C1" Offset="0.872"/>

<GradientStop Color="#FF7C8C9E"

Offset="1"/></LinearGradientBrush>

Page 95: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

95

ДОДАТОК Ґ

ІЛЮСТРАТИВНИЙ МАТЕРІАЛ ДО ЗАХИСТУ БАКАЛАВРСЬКОЇ РОБОТИ

Завідувач кафедри ПЗ, д.т.н., професор _____________ А. М. Пєтух

Науковий керівник, к.т.н., доцент _________________ В. В. Войтко

Рецензент к.т.н., професор ________________В. І. Месюра

Виконавець, студентка групи 1ПІ-10б_________________ О. О. Сівець

Page 96: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

96

Page 97: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

97

Page 98: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

98

Page 99: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

99

Page 100: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

100

Page 101: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

101

Page 102: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

102

Page 103: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

103

Page 104: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

104

Page 105: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

105

Page 106: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

106

Page 107: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

107

Page 108: Пояснювальна записка - inmad.vntu.edu.uainmad.vntu.edu.ua/portal/static/D4FABB37-E408-406F-A3C4-590E143… · КАЛЕНДАРНИЙ ПЛАН № з/п Назва

108