Читайте также: |
|
Реферат
Пояснювальна записка: 78 с., 4 розділів, 3 рис., 5 табл., 2 додатка, 26 літ. джерел.
Мета – розробити довідкову систему для студентів перших курсів.
Засоби, що використано у розробці, – середовище Delphi 5, інтерфейс прикладного програмування Windows, мова HTML 4.0.
Результати – довідкова система, яка функціонує під управлінням операційних систем Microsoft Windows 9x/NT/XP, має дружній до користувача інтерфейс та виконує такі задачі, як: розглядає сервісну функцію встановлення та зміни пароля доступу до індивідуальної папки студента, розглядає основні принципи роботи у Windows, містить відомості про роботу з файлами та папками.
Галузь застосування – навчання студентів на кафедрі “Інформаційних технологій та кібернетики” Українського державного хіміко-технологічного університету.
Значення роботи - розроблена довідкова система скорочує час навчання, призводить до формування позитивного відношення учнів до досліджуваного матеріалу, дозволяє учням, в залежності від рівня їх знань, обирати оптимальний шлях навчання і контролювати засвоєні знання, полегшує працю викладачів.
Прогнозні припущення про розвиток об’єкту розроблення – розроблена довідкова система для студентів перших курсів може використовуватись в інших вищих і середніх учбових закладах.
|
ЗМІСТ
Вступ............................................................................................................ 5
1 Загальна частина..................................................................................... 7
1.1 Теоретичні основи створення комп’ютерних навчальних програм.............................................................................................. 7
1.1.1 Основні означення........................................................................... 7
1.1.2 Етани розвитку комп’ютерних технологій навчання.................... 9
1.1.3 Класифікація навчальних програм............................................... 12
1.1.4 Принципи навчання........................................................................ 17
1.1.5 Педагогічні можливості комп’ютерних навчальних програм..... 18
1.1.6 Методи автоматизованого навчання............................................. 20
1.2 Аналіз проблеми і формулювання вимог до програми.................. 22
1.2.1 Підстава для розробки................................................................... 22
1.2.2 Огляд операційної системи Windows............................................ 24
1.2.3 Формулювання вимог до розроблювальної програми................ 25
2 Спеціальна частина................................................................................ 27
2.1 Постановка задачі............................................................................. 27
2.2 Обґрунтування вибору середовища розробки................................ 28
2.2.1 Огляд засобів створення навчальних програм............................. 31
2.3 Структура довідкової системи......................................................... 33
2.4 Опис головної віконної процедури.................................................. 35
2.4.1 Основні функції головної процедури............................................ 35
2.4.2 Інструментальні засоби, застосовані при виконанні головної віконної процедури........................................................................ 35
2.5 Опис навчальної частини програми................................................. 39
2.5.1 Основні функції............................................................................... 39
2.5.2 Засоби, використані при написані гіпертекстових сторінок......... 40
2.6 Розробка інтерфейсу програми........................................................ 42
2.7 Критерії якості довідкової системи.................................................. 44
3 Організаційно-економічне обгрунтування проекту............................. 46
3.1 Визначення витрат на створення програмного продукту.............. 46
3.1.1 Витрати на оплату праці розроблювача програми...................... 47
3.1.2 Витрати на оплату машинного часу............................................. 51
3.2 Розрахунок загальних витрат.......................................................... 57
3.3 Економічна ефективність.................................................................. 57
4 Охорона праці....................................................................................... 58
4.1 Оцінка умов, у яких здійснювався дипломний проект.................... 58
4.2 Заходи щодо забезпечення безпечних і здорових умов праці в приміщенні........................................................................................ 60
4.2.1 Організація робочого місця оператора......................................... 61
4.2.2 Електробезпечність......................................................................... 65
4.2.3 Освітлення....................................................................................... 70
4.2.4 Шум................................................................................................. 71
4.2.5 Метеорологічні умови.................................................................... 71
4.3 Характеристика приміщення по пожежо- і вибухонебезпеці.......... 72
4.4 Протипожежні заходи....................................................................... 73
Висновки..................................................................................................... 75
Перелік посилань........................................................................................ 77
Вступ
Характерною рисою сучасного етапу науково-технічної революції є комп’ютеризація практично всіх сфер людської діяльності, що стала можливою в зв'язку зі створенням могутніх засобів автоматики й обчислювальної техніки.
Процес автоматизації в області навчання знаходить своє втілення в концепції комп’ютерних навчальних програм. Під комп’ютерними навчальними програмами розуміються програми, призначені для передачі учням, знань і умінь на базі засобів обчислювальної техніки, призначені для оптимізації процесу навчання в різних його.
При використанні в навчальному процесі комп’ютерних навчальних програм з’являється можливість здійснювати індивідуальний підхід до людини, що навчається, систематично й оперативно надавати йому необхідну допомогу, розвивати пізнавальну активність і ініціативу людини, ефективно сполучити автоматизоване навчання з «традиційним», знизити частку непродуктивної праці в роботі викладача. Також автоматизована система навчання дозволяє вибирати час для роботи із нею, отже користувач може навчатися в будь-який зручний для нього час.
Інтерес до розробки КНП спостерігається з кінця 50-х — початку 60-х років. До їх складу належать комп'ютерні навчальні середовища, автоматизовані навчальні системи, експертно-навчальні системи, комп'ютерні імітатори технологічного устаткування, довідкові системи, електронні підручники та інші різноманітні навчальні програми.
До теперішнього часу розроблені різні вітчизняні і закордонні системи машинного навчання, що успішно застосовуються в навчальному процесі середніх і вищих навчальних закладів, а також використовуються для перепідготовки і підвищення кваліфікації фахівців. У даний час розвиток навчальних систем йде в напрямку додання їм властивості адаптації к цілям і умовам навчання.
У проекті досліджені теоретичні основи комп’ютерних навчальних програм, використовувані при проектуванні інструментальні засоби створення навчальних програм, визначений рівень сучасних розробок в цій області.
Метою цього дипломного проекту була розробка довідкової системи для студентів перших курсів, яка дозволить освоїти елементарну роботу з комп'ютером і полегшить цей процес.
Програма забезпечує виконання наступних функцій: докладно описує порядок встановлення і зміни паролю та надає відомості про роботу у середовищі Windows.
Дипломний проект споряджений пояснювальною запискою, у якій по розділах описана пророблена робота.
У загальній частині проведений літературний огляд теоретичних основ створення комп’ютерних навчальних програм, методів та типів цих програм, етапів розвитку навчальних програм, проаналізовано область використання програми та сформульовані вимоги до довідкової системи.
У спеціальній частині проведено огляд інструментальних засобів розробки програм та обґрунтовано вибір на користь мов програмування WinAPI та HTML, описана розробка структури програми та приведена її схема, виконано описання інтерфейсу програми, розглянуті використані засоби мов програмування.
У економічному розділі приведено розрахунок витрат на створення програмного продукту. У розділі охорони праці приведено оцінку умов, у яких створювався дипломний проект і визначенні заходи, щодо забезпечення безпечних і здорових умов праці.
Окрім того у пояснювальну записку входять реферат, вступ, висновок, перелік посилань, та декілька додатків.
Загальна частина
1.1 Теоретичні основи створення комп’ютерних навчальних програм
Теорія автоматизованого навчання почала розвиватися ще до появи і широкого впровадження персональних комп'ютерів. Тому основні теоретичні принципи до дійсного часу вже в основному розроблені. Вони повною мірою застосовні і для проектування комп’ютерних навчальних програм (КHП) на базі персональних комп'ютерів. Могутні образотворчі засоби, реалізовані за допомогою програмного забезпечення дозволяють більш повно та ефективно застосувати на практиці машинного навчання результати теорії[1, 2].
Матеріал викладений у даному розділі отриманий у результаті обробки вітчизняної літератури з питань теорії автоматизованого навчання.
1.1.1 Основні означення
Швидкий розвиток комп'ютерних технологій, деяка роз'єднаність розроблювачів породили масу різних найменувань програмних продуктів, використовуваних у системі освіти. Перш ніж перейти до розгляду питання варто визначитися в поняттях.
Педагогічні програмні засоби являють собою технологічне забезпечення вченого процесу, засноване на використанні комп'ютерних і телекомунікаційних технологій. До педагогічних програмних засобів відносяться:
комп'ютерні навчальні середовища;
комп'ютерні навчальні програми;
автоматизовані навчальні системи (АНС);
електронні підручники;
експертно-навчальні системи;
авторські інструментальні середовища (АІС);
контролюючі програми;
комп'ютерні імітатори технологічного устаткування;
демонстраційні програми;
навчальні функції професійних програмних засобів.
Дамо визначення цим складовим.
Комп'ютерне навчальне середовище - це педагогічний програмний засіб, що забезпечує досягнення педагогічних цілей шляхом керування процесом пізнання навколишнього світу.
Під комп'ютерною навчальною програмою розуміється педагогічний програмний засіб, що забезпечує досягнення заданої дидактичної мети при навчанні.
Автоматизована навчальна система (АНС) - це педагогічний програмний засіб, що представляє собою людино-машинний комплекс, призначений для керування пізнавальною діяльністю в процесі навчання.
Електронний підручник являє собою сукупність пропонованих учню з допомогою комп'ютера інформаційних сторінок.
Експертно-навчальна система - це педагогічний програмний засіб, що володіє можливістю "підстроювання" під рівень того, кого навчають, визначення кількості знання, що учень здатний сприйняти, оцінювання рівня отриманих знань.
Авторське інструментальне середовище (АІС) - це педагогічний програмний засіб для створення педагогічних програмних засобів, призначений для моделювання елементів, складних систем, конструкцій, процесів у різних областях знань та забезпечує моделювання і керування об'єктами і процесами на графічному, алгоритмічному і вербальному рівнях.
Під контролюючою прог рамою розуміють педагогічний програмний засіб, що контролює процес навчання і забезпечує зворотний зв'язок.
Комп'ютерні імітатори технологічного устаткування - це педагогічний програмний засіб, що імітує реальні процеси і ситуації перед користувачем з метою закріплення необхідних умінь і навичок.
Під демонстраційною програмою розуміється педагогічний програмний засіб, візуалізуючий інформацію про процеси і явища навколишнього світу.
У якості педагогічних програмних засобів використовуються навчальні функції професійних програмних засобів, що виражаються, наприклад, у сервісних послугах програмних пакетів.
1.1.2 Етани розвитку комп’ютерних технологій навчання
Комп'ютерна технологія навчання - це сукупність методів, форм і засобів впливу на людину в процесі його розвитку.
Навчальна технологія будується на фундаменті визначеного змісту і повинна відповідати йому. Вона припускає використання адекватних способів представлення і засвоєння різних видів знань за допомогою сучасної комп'ютерної техніки.
Термін "покоління" безпосередньо зв'язаний з тимчасовою складовою нашого буття: відбувається зміна поколінь студентів і викладачів, змінюється комп'ютерна техніка.
Розглянемо, як змінюються комп'ютерні технології навчання в умовах переходу від одного суспільства до іншого [1, 3 – 5].
1.1.2.1 Комп'ютерні технології навчання першого покоління (дисциплінарно-орієнтована модель)
Комп'ютерна технологія навчання першого покоління - це цілісний навчальний процес, заснований на традиційному змісті, формах і методах навчання. Він підтримується класичними підручниками, задачниками і методичними посібниками. Для поліпшення способу представлення готових знань і посилення контролю над їхнім засвоєнням тут використовується комп'ютер.
Комп'ютерна технологія навчання першого покоління призначена тільки для дисциплінарно-орієнтованої системи навчання.
Комп'ютерні програми першого покоління призначені для підтримки традиційного навчального процесу. Комп'ютер не змінює його, а лише виконує допоміжну функцію, підкоряючись логіці класичного підручника, чи задачника.
Це відбулося тому, що поява комп'ютера в освіті виявилась досить раптовою. Підручники, написані педагогами, не передбачали використання комп'ютера в навчальному процесі. Тому на першому етапі численні і різноманітні функції комп'ютера не були використані повною мірою через невідповідність потреб старого навчального процесу можливостями цього нового засобу. Спочатку застосовувалися тільки дві його функції: репетиторська (навчальна і контролююча) і тренажерна, а такі можливості комп'ютера, як ілюстрування, збереження й обробка великих обсягів інформації, моделювання, конструювання, дослідження і багато чого іншого, залишалися практично незатребуваними [6].
Таким чином, комп'ютерні технології навчання першого покоління виявилися нестійкими системами через існуючу в них протиріч між вимогами традиційної системи навчання з невикористаними можливостями комп'ютера.
1.1.2.2 Комп'ютерні технології навчання нового покоління (перехідна модель)
Комп'ютерні технології навчання другого покоління [6] є перехідними і розвиваються в двох основних напрямках:
1.Удосконалювання якості комп'ютерних програм, призначених для дисциплінарно-орієнтованої системи освіти.
2.Створення принципово нових інтелектуальних комп'ютерних середовищ, що відповідають якійсь, поки недостатньо чітко визначеної, системі освіти інформаційного суспільства, що народжується.
Реалізація другого з зазначених напрямків приводить до виникнення комп'ютерних технологій другого покоління.
Комп'ютерна технологія навчання другого покоління - це суперечлива освітня композиція, заснована на традиційному змісті, у якій, однак, використовується несистематизована комбінація з класичних і модернізованих форм і методів навчання. Вона підтримується традиційними підручниками, задачниками й освітніми засобами, в основному зорієнтованими на процеси всебічного дослідження моделей реального світу.
Комп'ютерна технологія навчання другого покоління - нестійка система, тому що по своїй основі вона призначена для дисциплінарно-орієнтованої системи, а по своїй надбудові тяжіє до міждисциплінарної об’єктно-орієнтованої системи навчання.
Головною причиною нестабільності комп'ютерних технологій навчання другого покоління є те, що в них сховане серйозне протиріччя між істотою традиційного змісту навчальних предметів і міждисциплінарним характером використовуваних комп'ютерних середовищ.
1.1.2.3 Комп'ютерні технології навчання третього покоління (проектно-орієнтована модель)
Комп'ютерна технологія навчання третього покоління - це єдиний освітній процес, заснований на міждисциплінарному нетрадиційному змісті, формах, методах і засобах навчання.
Він підтримується підручниками нового типу і спеціальними проектними освітніми комп'ютерними засобами, що включають бази даних і інструментарій для пізнання цілісного навколишнього світу в контексті його комп'ютерного проектування, моделювання і конструювання.
Комп'ютерна технологія навчання третього покоління по своєму фундаменті і надбудові призначена для проектно-орієнтованої системи навчання, у процесі якої здійснюється не тільки контроль за освоєнням знань, але, насамперед, активне їхнє використання для творення в рамках освітнього процесу.
Таким чином, в інформаційному суспільстві метою навчання стає не тільки засвоєння готових знань, але й оволодіння способами дослідження інформації, як будівельного матеріалу для одержання нових знань.
Створення навчальних програм третього покоління будується по схемі, яка зображена у таблиці 1.1.
Таблиця1.1
Схема створення навчальних програм
Мета проекту | ||
Проектне завдання | ||
Вивчення інформаційного поля. Визначення стратегії проектування і реалізації проекту | Комп'ютерне моделювання, проектування, чи конструювання дослідження об'єктів | Порівняння й аналіз отриманих об'єктів із уже відомими науці чи констатація відкриття. Прогноз наслідків від появи створених об'єктів |
Оцінка результатів проекту |
1.1.3 Класифікація навчальних програм
Безпосереднім розвитком і конкретизацією методу автоматизованого навчання є типи автоматизованого навчання, що вводять класифікацію не тільки по джерелах керуючих впливів на того, кого навчають, але і за формою організації навчального матеріалу. Класифікація типів автоматизованого навчання приводиться в наступній таблиці 1.2.
Таблиця 1.2
Класифікація типів автоматизованого навчання
Джерело керуючих впливів на учня | Організація навчального матеріалу | |
у формі навчальної програми | в інших формах | |
Система (як при виборі навчального завдання так і при виконанні завдання) | Програмно-кероване навчання | Автоматизоване тренування |
Система (тільки при виконанні навчального завдання) | Автоматизована перевірка знань | Перевірка гіпотез за допомогою моделювання |
Система і той, кого навчають, (на різних етапах роботи) | Навчання прийняттю рішень | Генеративне навчання |
Той, кого навчають | Структурно-кероване навчання |
У рамках методу програмування навчальної діяльності допускається три типи автоматизованого навчання [7]. При цьому для кожного типу навчання спосіб представлення навчального матеріалу (курсу навчання) визначається кінцевою метою навчання. У випадку програмно-керованого навчання система інтерпретує чи виконує деяку навчальну програму, у якій описуються підлягаючі засвоєнню знання, уміння і навички, а також алгоритми оволодіння ними.
Навчальна програма будується з певним чином зв'язаних між собою кадрів. Під кадром розуміється квант інформації, пропонований тому, кого навчають, для засвоєння визначеної мінімальної одиниці знань чи закріплення засвоєного навчального матеріалу. Окремі кадри і сукупності кадрів, зв'язаних загальним змістом, утворять одиниці навчальної програми. Кадр, що містить навчальне чи контрольне завдання, називається питальним (крім питальних, розрізняють також інформаційні кадри, що пред'являють тому, кого навчають, що підлягає засвоєнню інформацію; і підкріплювальні кадри, що є реакцією на відповідь того, кого навчають,). Як правило, програма, що навчає, має визначену структурну ієрархію одиниць. Будемо називати структурним рівнем навчальної програми сукупність її одиниць, що безпосередньо утворять іншу, більш велику одиницю. Таким чином, одиницею нижчого структурного рівня в будь-якій навчальній програмі є кадр, а одиницею вищого структурного рівня - курс навчання.
По способу зв'язку кадрів навчальна програма може бути лінійною, розгалуженою чи змішаною.
Лінійна навчальна програма пропонує кожному тому учню заздалегідь визначену послідовність кадрів, що не залежить від його дій під час навчання. Виконання навчальних завдань лінійної програми зводиться, як правило, до заповнення тим, кого навчають, пропусків у кадрах мінімальної довжини, причому добре розроблена структура кадру робить цей процес практично безпомилковим. Природним розвитком лінійної програми є селективна лінійна програма, що враховує коротку послідовність попередніх відповідей того, кого навчають, (найчастіше одну останню відповідь). У залежності від правильності раніше посланих відповідей деякі наступні кадри програми для даного того, кого навчають, можуть бути опущені.
У розгалуженій навчальній програмі черговий крок того, кого навчають, визначається, як правило, у залежності від його відповіді на питання безпосередньо попереднього питального кадру, причому всі можливі шляхи просування в залежності від типових помилок того, кого навчають, заздалегідь передбачені автором програми.
Змішана навчальна програма сполучить у собі лінійні і розгалужені ділянки і тим самим забезпечує велику гнучкість навчання, чим більше розгалужена програма. Допускаються також набори навчальних програм, що розрізняються по ступені складності, часу чи засвоєння якій-небудь іншій ознаці; переходи того, кого навчають, від однієї навчальної програми набору до іншої ініціюються системою в залежності від обумовленої автором чи системою кількісної характеристики засвоєння.
У будь-якому випадку основною метою програмного керованого навчання є придбання і закріплення нових знань тим, кого навчають.
При автоматизованій перевірці знань основна увага приділяється контролю того учня у межах навчального курсу.
Ще одним типом автоматизованого навчання, що складає метод програмування навчальної діяльності, є автоматизоване тренування, що служить задачі вироблення навичок виконання тим, кого навчають, визначених розумових дій.
Реалізацією методу моделювання навчального середовища звичайно є автоматизована перевірка гіпотез, щоактивно використовує як навчальну інформацію математичні моделі явищ чи процесів. Вихідними даними для моделі служить математично виражений опис гіпотези того, кого навчають.
Слабість керуючих впливів полягає в тому, що перехід від одного навчального завдання (тобто від одного формування опису гіпотези з наступним моделюванням) до іншого, а також рішення про закінчення експерименту цілком визначаються тим, кого навчають. При цьому система, як правило, не виносить ніяких висновків про правильність роботи того, якого навчають, і не запам'ятовує ніякої передісторії [7].
Метод вільного навчання представляють останні три типи автоматизованого навчання. У випадку структурно-керованого навчання навчальний матеріал організований у виді навчальної програми, що представляє собою деяку ієрархію структур даних. Для кожного структурного рівня ієрархії визначена локальна мета навчання і передумови її досягнення, виражені в термінах локальних цілей того ж структурного рівня. Локальна мета навчання для одиниці вищого структурного рівня (тобто для курсу навчання) збігається з загальною метою навчання даному навчальному матеріалу. Передумовами деякої локальної мети З називаються локальні цілі З1, З2,...,З3, які необхідно досягти тому, кого навчають, перед досягненням мети З, при цьому досягнення передумов є необхідною, але не достатньою умовою досягнення локальної мети З. Система навчання надає тому, кого навчають, ініціативу вибору рівня ієрархії даних навчальної програми і послідовності досягнення локальних цілей навчання (при наявності відповідних передумов). Кінцевим результатом структурно-керованого навчання вважається досягнення тим, кого навчають, локальної мети навчання для вищого рівня ієрархії даних навчальної програми.
При навчанні прийняттю рішень навчальна інформація являє собою деяку сукупність ситуацій, організовану зазвичай у виді деревоподібної структури даних, коренем якої є початкова ситуація, котра задана тому, кого навчають, у виді умови задачі; а термінальними вершинами - можливі остаточні ситуації, у залежності від додаткової інформації, отриманої тим, кого навчають [8].
Система, що навчає прийняттю рішень, повинна реагувати не тільки на правильні і неправильні, але й на передчасні відповіді того, кого навчають, тобто на відповіді, передбачені навчальним матеріалом, але невідповідні запропонованої моделі дій. Керуючі впливи системи на того, кого навчають, можуть здійснюватися на кожнім кроці процесу ухвалення рішення або можуть звестися до аналізу і коментування дій того, кого навчають, по закінченні прийняття ним рішення.
Найбільш перспективною реалізацією методу вільного навчання є генеративне навчання. Процес генеративного навчання будується на основі взаємодії моделі того, кого навчають, що представляє його поточний рівень знань і моделі навчального матеріалу, тобто сукупності понять і їхніх зв'язків, що повинний засвоїти той, кого навчають.
Розглянута класифікація основних напрямків автоматизованого навчання з позицій специфіки керуючих впливів на того, кого навчають, і способів організації навчального матеріалу не вважається вичерпною.
Причину цього фахівці з теорії автоматизованого навчання бачать у тім, що постійно зростаючі вимоги до якості і термінів навчання обумовлюють появу нових навчальних процесів, не охоплюваних даною класифікацією. Однак багато що з цих процесів можна виразити як комбінацію описаних методів і типів навчання.
Принципи навчання
У плині майже ста років психологи значну частину своїх наукових зусиль витрачали на те, щоб зрозуміти процес навчання. При цьому досліджувалися, головним чином, фактори, що впливають на швидкість засвоєння і втрату отриманих знань. У результаті цих зусиль був установлений ряд надійних принципів, що можуть бути використані для побудови схем навчання.
Принципи навчання мають пряме відношення до розробки комп’ютерних навчальних програм. Розглянемо коротко кожний з цих принципів [9]:
Навчання йде швидше і засвоюється глибше, якщо учень виявляє активну цікавість до досліджуваного предмета.
Навчання є більш ефективним, якщо форми придбання знань і навичок такі, що без праці можуть бути перенесені в умови "реального життя", для чого вони і призначені. Звичайно це означає, що учню важливіше навчитися знаходити правильні відповіді на питання, чим просто дізнаватися їх.
Навчання йде швидше, якщо учень "довідається результат" кожної своєї відповіді негайно. Якщо відповідь правильна, то учень повинний негайно одержати підтвердження цього, якщо неправильний - він настільки ж швидко повинний довідатися про це. Навіть незначна затримка різко гальмує навчання.
Навчання йде швидше, якщо програма по предмету побудована за принципом послідовного ускладнення матеріалу. Заняття варто починати з найпростіших завдань, для виконання яких учень уже володіє необхідними навичками і знаннями. Постійно рівень складності матеріалу підвищується. Це продовжується доти, поки не буде досягнутий бажаний ступінь досвідченості й уміння.
Знання результатів своєї роботи стимулюють виконання чергового завдання. Труднощі, що учню необхідно переборювати, повинні виникати перед ним послідовно одна за іншою, а успішне їхнє подолання розвиває високий рівень активності.
Оскільки навчання саме по собі індивідуально, процес навчання варто організувати так, щоб кожен учень міг проходити програму відповідно своїм індивідуальним особливостям. З ряду причин одні засвоюють матеріал швидше інших, тому навчання тих і інших в одній групі важко.
Рішення багатьох з цих проблем можливо тільки з використанням навчальних програм, враховуючи їх педагогічні можливості.
1.1.5 Педагогічні можливості комп’ютерних навчальних програм
При розробці, а потім використанні КНП необхідно пам'ятати ті переваги, що допомагають у викладанні і у вивченні того чи іншого предмета. Під перевагами розуміється наступне: швидке проведення розрахунків, наочне відображення і збереження результатів, занесення і швидка видача інформації, активізація візуального мислення і візуальної пам'яті учня, можливість нетрадиційної постановки завдань і оперативного їхнього виконання [9].
Однак цими перевагами не обмежується застосування комп'ютера в навчальному процесі. Становлять інтерес дидактичні навчальні середовища, проектно-орієнтовані моделі освіти.
Комп'ютери можуть бути з успіхом використані на всіх стадіях навчального заняття: вони значно впливають на контрольно-оцінні функції, додають йому ігровий характер, сприяють активізації учбово-пізнавальної діяльності учнів. Комп'ютерні технології дозволяють домогтися якісно більш високого рівня наочності пропонованого матеріалу, значно розширюють можливості включення різноманітних вправ у процес навчання, а безупинний зворотний зв'язок, підкріплений ретельно продуманими стимулами навчання, оживляє навчальний процес, сприяє підвищенню його динамізму, що в кінцевому рахунку веде до досягнення навряд чи не головної мети власне процесуальної сторони навчання - формуванню позитивного відношення учнів до досліджуваного матеріалу, інтересу до нього, задоволення результатами кожного локального етапу в навчанні. Комп'ютерне навчання в даний час, не змінюючи традиційної структури учбово-пізнавальної діяльності, наповняє її зміст новими елементами.
Поки застосування КНП у традиційний навчальний процес вносить деякі особливості. А саме:
КНП можна швидко адаптувати до змін, що відбувають у тій предметній області, для якої вона призначається;
КНП дозволяє зробити опис об'єктів чи процесів найвищою мірою наочними. Практично усі інструментальні засоби, призначені для створення КНП, дозволяють використовувати для ілюстрації опису об'єктів чи процесів статичні кольорові зображення, елементи анімації і т.ін.;
застосування КНП дозволяє звільнити викладача від рутинної роботи: багаторазового пояснення матеріалу, проведення контролю знань тих, кого навчають;
розробка КНП дозволяє налагодити тиражування найбільш ефективних методів проведення занять і подачі матеріалу, КНП набагато простіше тиражуються і швидше поширюються в порівнянні з паперовими носіями інформації, КНП можна передавати по системах телекомунікацій;
для учнів КНП дає можливість багаторазово й у тім темпі, що їм доступний, освоювати навчальний матеріал у сприятливій психологічній атмосфері.
Слід також зазначити обмеженість КНП у порівнянні з творчо працюючим викладачем. Функція педагога полягає в тім, щоб будоражити думку учня, торкатися його почуття, змушувати мозок вишукувати свої шляхи рішення, розвивати його в напрямку вічних пошуків, відкриттів і удосконалювання колишніх способів і методів.
У того, кого навчають, обов'язково повинна виникати потреба поставити запитання, поділитися своїм розумінням з співрозмовником. Технічні можливості дозволяють безпосереднє спілкування учнів між собою, з викладачем під час роботи з КНП.
Процес спілкування дозволить учню перебудовувати матеріал під свої індивідуальні потреби. І тут уже буде елемент співтворчості з викладачем, у учня виникне почуття самостійного "приходу" до шуканої інформації і, отже, знанню.
Методи автоматизованого навчання
Різні напрямки автоматизованого навчання на базі ЕОМ можуть бути класифіковані з погляду специфіки керуючих впливів системи навчання на того, кого навчають, і способів організації навчального матеріалу.
Система навчання на базі ЕОМ є специфічною системою керування пізнавальною діяльністю того, кого навчають, орієнтованою на визначену схему процесу засвоєння знань. Ця схема конкретизується наступною послідовністю етапів [10]:
Визначення початкового рівня знань того, якого навчають.
Попереднє ознайомлення того, кого навчають, із предметною областю і загальним планом навчальної діяльності.
Придбання і закріплення знань.
Узагальнення придбаних знань.
Визначення підсумкової якості знань і ухвалення рішення про подальший напрямок навчання.
Різні етапи процесу засвоєння знань характеризуються використанням різних методів автоматизованого навчання в залежності від припустимого ступеня активності того, кого навчають, у процесі керування власним навчанням і кінцевої мети етапу. Класифікація методів автоматизованого навчання приводиться в наступній таблиці 1.3.
Таблиця 1.3
Методи автоматизованого навчання
Активність того, кого навчають, при керуванні навчанням | Метод навчання |
Відсутня | Програмування навчальної діяльності |
Допускається тільки при виборі навчального завдання | Моделювання навчального середовища |
Допускається як при виборі навчального завдання, так і при виконанні завдання | Вільне навчання |
При програмуванні навчальної діяльності керуючі впливи на того, кого навчають, цілком визначаються системою навчання. Незалежно від способу організації навчального матеріалу (і отже, від зовнішнього вигляду навчального діалогу) КНП, що реалізують цей метод навчання, цілком визначають послідовність навчальних чи контрольних завдань, пропонованих конкретному учню, і потребуючих від нього підтвердження досягнення якогось заданого рівня знань чи навичок. При визначенні цієї послідовності, а також при організації навчального діалогу в рамках навчального (контрольного) завдання система може використовувати різноманітні фактори керування (правильність відповіді того, якого навчають,, час відповіді, передісторію роботи того, якого навчають, над навчальним матеріалом, складність навчального завдання і т.п.).
У рамках моделювання навчального середовища КНП надає навчальні засоби моделювання на ЕОМ об'єктів і явищ реального світу, за допомогою яких він пізнає конкретні властивості досліджуваних об'єктів і явищ. Роль навчального завдання в цьому методі навчання виконує завдання на моделювання, формоване тим, кого навчають, при активному впливі системи. Вибір послідовності завдань на моделювання може цілком здійснюватися тим, якого навчають.
При вільному навчанні система пред'являє навчальний матеріал (незалежно від способу його організації) відповідно до вказівок того, кого навчають, про тематику цього матеріалу і про спосіб роботи з ним. Тому, кого навчають, надаються доступ до формалізованої структури навчального матеріалу і засобу керування роботою з цим матеріалом (зокрема, засоби вибору ступеня складності навчальних завдань). КНП має можливість уточнювати дії того, якого навчають, і вказувати йому оптимальний спосіб роботи з навчальним матеріалом виходячи з необхідності досягнення тим, якого навчають, кінцевої мети навчання.
Існують також два допоміжних методи автоматизованого навчання, що можуть використовуватися як у кожнім з основних методів, так і самостійно. Цими методами є тестування, що виявляє індивідуальні і психологічні і професійні характеристики того, кого навчають, а також досягнутий ним рівень знань, і інформування, що дозволяє тому, кого навчають, звертатися до інформаційно-довідкових даних (інформаційної бази) системи з метою одержання відомостей по навчальному матеріалі, засобам спілкування із системою і т.п.
1.2 Аналіз проблеми і формулювання вимог до програми
1.2.1 Підстава для розробки
На сьогоднішній день велике розповсюдження набули комп’ютерні технології. Комп'ютер з інструмента для наукових досліджень і інженерних розрахунків став не тільки необхідним атрибутом практично будь-якої комерційної діяльності, але і невід’ємним елементом сучасної культури. Мережні технології надали зовсім нові можливості в сфері утворення, а Internet відкрила доступ до неозорих обсягів інформації.
У результаті такого впровадження комп'ютерних технологій у діяльність людей, виникає необхідність у кваліфікованих комп'ютерних фахівцях. Останнім часом з'явилася маса спеціальностей даного профілю діяльності, зокрема і на кафедрі “Інформаційних технологій і кібернетики” Українського державного хіміко-технологічного університету. Однак проблема полягає в тому, що багато хто зі студентів не має елементарних знань в області інформатики, що робить досить скрутним навчання студентів на початковому етапі. Незважаючи на всі зусилля викладачів допомогти студентам освоїти елементарну роботу на комп'ютері свою роль грає “людський фактор” - багато хто просто соромиться задати питання, які їх зацікавили. На кафедрі також навчаються і студенти некомп'ютерних спеціальностей, багатьом з який буває складно освоїти роботу з комп'ютером на професійному рівні.
Спостерігається істотне збільшення обсягів і складності навчальних матеріалів. Великі труднощі часто виникають при оперативній підготовці, виготовленні і поширенні навчальних посібників різних видів. Зазначені фактори негативно позначаються на якості підготовки студентів.
На кафедрі “Інформаційних технологій і кібернетики” використовується мережна багатокористувальницька операційна система, яка забезпечує високий рівень захисту. Вона підтримує одночасну роботу кількох користувачів на одному комп’ютері. Нормальна робота в системі можлива тільки для зареєстрованих користувачів після введення паролю. Реєстрація користувачів відбувається в програмі NetTerm. З цієї реєстрації починається робота усіх студентів, які навчаються на кафедрі. Але багато учнів не мають елементарних знань о роботі на комп’ютері, тому постає проблема роботи з програмою установки паролю і присвоєння системного ім’я.
Враховуючи усі вище перераховані проблеми, буде доцільно зробити навчальну програму, яка б допомогла студентам навчитися реєструватися в системі і освоїти елементарні навички роботи на комп’ютері на початковому етапі навчання. Така програма полегшить працю вчителя та надасть більше можливостей для виконання задач, що під силу тільки людині-вчителю й у виконанні якихніякамашина не може його замінити. Навчальна система дозволить учням, в залежності від рівня їх знань, обирати оптимальний шлях навчання і контролювати засвоєні знання. Усе це в цілому дозволить удосконалити цикл навчання і зменшити тимчасові витрати, необхідні на вивчення.
1.2.2 Огляд операційної системи Windows
Тенденція в розвитку операційних систем полягає в створенні систем з природнім представленням інформації. Інформація повинна представлятись в такій формі, яка забезпечує найбільш ефективне засвоєння цієї інформації. Реалізація цього принципу закладена в основу оболонки Windows [11].
Найширше розповсюдження Windows призвело до того, що в останній час практично усі нові програми розробляються саме для їх експлуатації в середовищі Windows.
Windows не тільки забезпечує зручний та наочний інтерфейс для операцій з файлами, дисками і т.д., але і надає нові можливості для програм, що запускаються в середовищі Windows. Для використання цих можливостей програми повинні бути спроектовані по вимогам Windows. Також Windows може виконувати програми розроблені під DOS, але при цьому такі програми не використовують ніяких переваг Windows і працюють повільніше, ніж при безпосередньому визові із DOS.
Найбільш важливими відмітними рисами Windows являються наступні:
Windows становить замкнуте робоче середовище. Практично усі операції доступні на рівні операційної системи, можуть бути виконані без виходу із Windows. Запуск прикладної програми, форматування дискет, друк текстів – все це можливо викликати із Windows і повернутися в Windows по завершені операцій;
Основними поняттями користувальницького інтерфейсу в середовищі Windows є вікно і піктограма. Усе, що відбувається в межах оболонки Windows, в певному розумінні представляє собою або операцію з піктограмою, або операцію з вікном (або у вікні). Стандартизована у середовищі Windows і структура вікон і розташування елементів керування їми. Стандартизовані набори операцій і структура меню для сервісних і прикладних програм;
Windows має графічну оболонку. Від користувача не вимагається введення директив з клавіатури у вигляді текстових строк. Необхідно тільки уважно дивитись на екран і вибирати з пропонованого набору потрібну операцію з допомогою Миші. В межах Windows користувач може запускати кілька програм для паралельного (незалежного) виконання. Кожна з виконуваних програм має своє власне вікно [11].
Широке застосування Windows та забезпечення комфортних умов праці в цьому середовищі призвело до того, що Windows фактично стала стандартом при виборі операційної системи.
В результаті такого впровадження середовища Windows буде доцільним розробити довідкову систему для навчання студентів перших курсів.
1.2.3 Формулювання вимог до програми, що розробляється
Підводячи підсумок усьому вищесказаному, можна відзначити доцільність створення довідкової системи, яка буде дуже корисною для студентів перших курсів. Можна сформулювати список можливостей, що повинні бути в довідковій системі.
програма повинна докладно розповідати починаючому користувачеві сервісну функцію встановлення та зміни пароля доступу до індивідуальної папки студента.
програма повинна розглядати основні принципи і прийоми роботи у Windows з декількома програмами одночасно.
програма повинна надавати знання про елементи середовища Windows.
програма повинна містити відомості про роботу з файлами та папками.
У даному проекті реалізовані перераховані вище можливості довідкової системи.
2 Спеціальна частина
2.1 Постановка задачі
Задачею дипломного проекту було створення довідкової системи, що дозволить полегшити навчання роботі на комп’ютері студентів перших курсів, а також допоможе зареєструватися в системі при встановленні паролю.
Дослідження численної літератури з питань теорії і практики комп’ютерних навчальних систем показує, що ця область продовжує розвиватися. Особливо широкі можливості відкриває повсюдне впровадження персональних комп’ютерів та комп'ютерних мереж. При цьому навчальні програми можуть поширюватися як на дискових носіях, так і у виді файлів, переданих по мережах. Таким чином, кількість потенційних користувачів КНП стає практично необмеженою. Це накладає досить тверді вимоги до змісту і зовнішнього оформлення навчальних програм як програмного продукту.
До програми, яка розробляється, були висунуті наступні вимоги:
програма повинна бути розроблена для роботи в середовищі операційної системи Windows;
програма повинна максимально корисно використовувати сучасні програмні засоби;
програма повинна мати дружний до користувача інтерфейс та забезпечувати швидке засвоєння для пересічного користувача;
програма повинна використовувати стандартні елементи інтерфейсу користувача;
програма повинна нормально функціонувати на стандартних персональних комп’ютерах класу IBM навіть с процесором Intel Pentium 100 (мінімальні вимоги);
система повинна мати відповідні до тексту схеми і малюнки.
До числа функцій, що виконує програма слід віднести наступні:
ознайомлювати користувача з порядком встановлення і зміни паролю з одночасним запускам програми NetTerm;
надання відомостей о роботі у середовищі Windows.
2.2 Обґрунтування вибору середовища розробки
Існує багато мов програмування, але самі розповсюджені з них — це Basic, Pascal та C. Всі ці мови були створені давно, і зараз, коли операційна середа Windows стала найпоширенішою серед персональних комп'ютерів, розробники цих мов стали створювати версії для створення Windows-додатків. Істотним також виявився вплив візуального способу створення додатків. Такими засобами розробки програм під Windows стали:
Basic – Visual Basic;
C – Visual C++;
Pascal – Delphi.
Зараз – C++, Delphi, Basic та інші мови використовують візуальний стиль програмування. Усі мови тепер модифікувалися, мають приставку Visual, але все рівно в плані програмування за ними стоять мови-попередники — С, Pascal і Basic, що були створені 30-40 років назад.
Visual Basic дозволяє візуально створювати прикладні програми досить високого рівня. Але все-таки з-за простоти Visual Basic здає свої позиції тим же Visual С++ і Delphi.
В вільному перекладі назву Visual Basic можна трактувати як "наочна простота". Basic відноситься до найпростіших мов для написання комп'ютерних програм. Свою історію ця мова програмування високого рівня почала у 1963 році. Саме тоді невеликою групою студентів останнього курсу Дортмутського коледжу під керівництвом професора Дж. Кемени і була розроблена найперша версія цієї мови. Його розроблювачі - Томас Курт і Джон Кемени - уже тоді хотіли зробити його мовою для початківців, що полегшують написання нескладних програм. У той час, крім Basic, широко були поширені лише Fortran. Найбільш революційна риса, яка з’явилася в цій мові — здатність обробляти не лише чисельні, а й символьні дані.
Попередником Visual C++ була мова С. Головним призначенням C було використання його замість асемблера в задачах системного програмування.
Розробка додатка на Visual C++ набагато складніша і проблематичніша, ніж на Delphi чи Visual Basic. Некоректна реалізація в програмі всіх деталей програмування під Windows може привести до збоїв у додатку, середовищі розробки, чи в самій операційній системі Windows.
Якщо порівнювати Delphi з Pascal 7.0, то Delphi має одну значну перевагу – це 32-х розрядний компілятор у машинний код. Це дає можливість створювати 32-бітні додатки замість 16-бітних як у Pascal 7.0, що полегшує роботу з даними об’єм яких привищує 64 кБайт [12].
Приведемо далі порівняння VisualBasic, Visual C++ з Delphi, виділимо основні вади і достоїнства.
Як Delphi так і С++ - це продукт, 32 розрядний компілятор, що сполучить, об'єктно-орієнтовані засоби візуального програмування також механізм доступу до баз даних. Відкрита архітектура дозволяє використовувати стандартний набір інструментальних засобів не тільки для створення додатків, але і для розширення і розвитку базових можливостей.
За оцінкою одного з визнаних авторитетів в області клієнт-серверних розробок Криса Морау: «Delphi має потужність мовних засобів С++, комбінуючи в той же час приголомшливу продуктивність і простоту навчання. Delphi є найбільш швидким і зручним засобом розробки додатків на сьогоднішньому ринку інструментальних засобів. Об’єктно-орієнтована архітектура Delphi дозволяє нам у дійсності повторно використовувати існуючий код і інтегрувати наші стандарти в сам інструмент»[13].
Але, в порівнянні з С, Delphi має більш наглядний і простий синтаксис, що значно полегшує працю з цією середою програмування.
Pascal має досить строгу систему контролю за типами даних, але, у той же час, при потребі, цю систему контролю можливо обійти.
Мови програмування як Delphi так і С++ орієнтовані на реалізацію наступних тенденцій.
Один напрямок - об’єктно-орієнтований підхід, який добре структурує як саму задачу, так і її рішення у виді прикладної системи. В С++ об’єктно-орієнтоване програмування реалізовано значно сильніше ніж в Delphi.
Інший напрямок, що виник багато в чому завдяки об'єктній орієнтації - візуальні засоби швидкої розробки додатків, засновані на компонентній архітектурі [14].
Але у даному дипломному проекті не використовуються візуальні компоненти і тому уся могутність об’єктно-орієнтованого програмування, повністю реалізованого лише в С++, не має великого значення. Помітимо також що на рівні WinAPI різниці між цими мовами практично нема.
Третя тенденція - використання компіляції, а не інтерпретації. Це порозумівається тим, що швидкісні характеристики додатків, які компілюються, у десятки разів краще, ніж у систем, що використовують інтерпретатор. При цьому підвищується легкість переносу систем, тому що відпадає необхідність переміщати за собою сам інтерпретатор, виконаний звичайно у виді динамічної бібліотеки і, що займає в кращому випадку кілька сотень кбайт (а в більшості випадків - два-три Мбайта). Звідси і менша ресурсомісткість у скомпільованих систем.
Четверта тенденція - можливість роботи з базами даних універсальними методами. Якщо спробувати оцінити відсоток систем, що так чи інакше вимагають обробки структурованої інформації (як для внутрикорпоративного використання, так і для комерційного чи іншого поширення), то виявиться, що цифра 60-70% може представляти лише нижню границю. Але насправді стандартні рішення у 90 % випадках неефективні, а в 5 % — взагалі незастосовні.
Приведемо невелике порівняння.
Головним суперником Delphi є Visual С++.
Обидва продукти мають зручний інтерфейс, що виключає значну частину рутинної роботи.
Delphi підтримує об'єкти, що створюються за допомогою інших мов (наприклад, С++).
Візуальні компоненти, що використовує Delphi, дуже наглядно і сильно спрощує програмування, але вони мають також свої недоліки [15].
Програми створені за допомогою візуальних компонентів дуже ресурсомісткі, вони займають багато місця на жорсткому дискові, на “слабкому” комп’ютері, така програма буде запускатися дуже довго, а може й зовсім не запуститись, а розроблюваний дипломний проект повинен добре працювати на будь якому комп’ютері тому вибір зупинився на програмуванні на WinAPI. Програмування на WinAPI не має таких недоліків, тому мій вибір зупинився саме на ньому.
2.2.1 Огляд засобів створення навчальних програм
В даний час створена досить велика кількість комп’ютерних навчальних систем і засобів їхнього створення. По виду представлення навчального матеріалу їх можна розділити на три основних види - у виді простого, мультимедійного чи гіпертекстового документів.
2.2.1.1 Системи на основі лінійного тексту
Представлення матеріалу у виді звичайних документів, тобто лінійного тексту, має на увазі наявність деякого текстового матеріалу, розбитого на теми і сторінки, може бути, що містить деякі малюнки. Ознайомлення того, кого навчають, з даним текстом йде в заздалегідь визначеній послідовності, що він не може змінити. У кращому випадку подібна система пропонує повернутися на крок назад чи почати навчання із самого початку.
Системи з подібною організацією даних звичайно не припускають яких-небудь тестових програм, а якщо такі маються, те усі на що вони здатні, це повернути того, якого навчають, до попереднього пройденій темі чи виставити йому оцінку за прочитаний матеріал. Саме прочитаний, а не вивчений.
Як видно з вищевикладеного, системи подібного типу мало підходять для реалізації скільки-небудь серйозних задач навчання.
2.2.1.2 Мультимедійні навчальні системи
Мультимедійні навчальні системи дозволяють гармонійно об'єднати лекцію з демонстрацією навчального матеріалу, практикум у виді комп'ютерного імітатора, тестуючу систему і всі додаткові матеріали в єдиному інтерактивному комп'ютерному підручнику. Мультимедійний підручник не просто розвантажує викладача від щоденних рутинних функцій, але значно підвищує інтерес тих, кого навчають, до предмета, прискорює навчання і забезпечує краще засвоєння знань. Але мультимедійні системи навчання вимагають відповідної апаратної підтримки, займають великі обсяги пам'яті, що обмежує область їхнього застосування.
2.2.1.3 Системи на основі гіпертексту
Третім різновидом навчальних систем є гіпертекстові системи навчання.
Гіпертекст як підхід до керування інформацією відрізняється від інших підходів (наприклад, СУБД) тим, що основний вид діяльності користувача при роботі з ним складається не стільки в пошуку потрібної інформації, скільки в ознайомленні з визначеним предметом за допомогою перегляду ряду інформаційних фрагментів, зв'язаних між собою за змістом. Ознайомлення здійснюється у визначеній послідовності, обумовленої цілями користувача. Можливість варіювання послідовності ознайомлення зі змістом гіпертексту, на відміну від лінійного тексту, здійснюється за рахунок розбивки інформації на фрагменти (теми) і встановлення між ними зв'язків, як правило, що дозволяють користувачу перейти від досліджуваної в сучасний момент теми до однієї з декількох зв'язаних з нею тим. Очевидно, що більшою гнучкістю в змісті задоволення різних цілей користувачів володіє гіпертекст із великою кількістю зв'язків між темами.
Як видно з вищевикладеного, найбільш доцільно буде створення довідкової системи за допомогою систем на основі гіпертексту, тобто використовувати засоби HTML [16]. Спочатку HTML створювався для надання можливості гіпертекстових переходів у межах одного документу. В міру його удосконалювання з'явилися можливості вставки малюнків, відео, звуку, малювання таблиць тобто достатній набір засобів забезпечення динаміки і якісне пред'явлення інформації.
Таким чином довідкова система буде зосереджувати у собі переваги WinAPI та HTML.
2.3 Структура довідкової системи
При розробці структури програми, що розроблювалась, враховувалися висунуті до програми вимоги, що сформульовані у постановці задачі, а також можливості майбутньої програми, описані вище.
Отже структура програми має наступний вигляд (рисунок 2.1).
Рис. 2.1 Структура довідкової системи
2.4 Опис головної віконної процедури
2.4.1 Основні функції головної процедури
Головна віконна процедура повинна містити реакцію на усі повідомлення, які можуть надходити вікну. Якщо реакція має бути стандартною, головна віконна процедура має викликати головну віконну процедуру за замовчуванням (DefWindowProc), яку надає Windows API. Усі нестандартні дії мають бути реалізованими саме у власній віконній процедурі. У даній програмі вона повинна виконувати наступні функції:
Забезпечувати автоматичне завантаження самих HTML-документів та програмних середовищ, пов’язаних з типом цих документів при натисканні певних кнопок;
Дозволяє обирати необхідний для розгляду пункт;
При виборі пункту “Сведения о установке и смене пароля”, автоматично завантажує програму NetTerm.
2.4.2 Інструментальні засоби, застосовані при виконанні головної віконної процедури
Головне вікно довідкової системи створено засобами Windows Application Programming Interface (WinAPI). Програма використовує 32-розрядну частину інтерфейсу і містить такі елементи, як статичні надписи та кнопки. Для роботи з повідомленнями використовувались системні виклики PostMessage і SendMessage. Програма має власну іконку, створену за допомогою редактора ресурсів Image Editor. Для відкиття HTML-документів використовувався виклик ShellExecute, який знаходиться у модулі ShellAPI. Цей виклик дозволяє відкрити документ за допомогою тієї програми, яка пов’язана з типом цього файлу, бо наперед невідомо який Internet-оглядач використовується на комп’ютері.
2.4.2.1 Стандартні віконні класи Windows
Вікно є тим структурним елементом, який використовується у Windows для побудови інтерфейсу будь-якої складності. Стандартний спосіб створення вікон — використання системних викликів CreateWindow або CreateWindowEx. Статичні надписи, кнопки, списки і т. ін. теж являються вікнами. Програма може створювати декілька подібних вікон. Тому при створенні вікна найважливішим параметром, який визначає поведінку вікна є віконний клас. Інші параметри визначають харектеристики екземпляру вікна цього віконного класу, їх призначення може змінюватись.
Усі віконні класи поділяються на дві групи:
стандартні класи Windows;
класи, які визначаються програмою.
Звичайно програма створює головне вікно власного класу, якому належать декілька вікон стандартних класів. У складніших випадках програма може використовувати декілька власних віконних класів.
2.4.2.2 Повідомлення Windows
Загальноприйнятий спосіб обміну інформацією між процесами у середовищі Windows — це механізм повідомлень.
Джерелом повідомлення може бути будь-який фрагмент програми. Одержувач повідомлення — це завжди вікно. Обробку повідомлення здійснює головна віконна процедура того віконного класу, до якого належить вікно, що отримало повідомлення.
До повідомлення входять наступні параметри:
дескриптор (handle) вікна, якому надсилається повідомлення;
ідентифікатор повідомлення, що визначає подію, на яку повинне зреагувати вікно;
параметр-слово;
параметр-подвійне слово.
Слід звернути увагу на використання двох системних викликів, що посилають повідомлення. PostMessage розташовує повідомлення у черзі повідомлень і одразу ж повертає управління програмі. Результатом є успішність розташування повідомлення у черзі. Перевагою цього виклику є те, що він не порушує черги повідомлень, він виконується дуже швидко, а час виконання не залежить від стану вікна, якому передається повідомлення. Недоліком є те, що програма, використавши цей виклик, нічого не взнає про результат його обробки. На протилежність цьому, SendMessage безпосередньо викликає головну віконну процедуру вікна, якому передається повідомлення, а результат, повернений головною віконною процедурою, передається до програми, що здійснила виклик. Таким чином з’являється можливість зворотної передачі даних, а також реалізується коректна робота з параметрами-вказівниками. Недоліком є те, що цей виклик порушує черговість повідомлень, а його обробка може зайняти багато часу [13].
Ініціалізація об’єктів виконується також за допомогою повідомлень, що встановлюють початковий стан. Це набуває особливого значення для таких об’єктів як списки, комбіновані списки, кнопки RadioButton.
2.4.2.3 Використання ресурсів
Ресурси Windows — це дані, що визначають видиму частину програми. Ресурси забезпечують узгоджений інтерфейс користувача, що суттево спрощує освоєння користувачем нових програмних продуктів.
Взагалі, ресурси програми відокремлені від коду, надаючи можливість суттєво змінювати інтерфейс користувача без будь-яких змін коду. Такий підхід надає також можливість використовувати тіж самі ресурси у різних програмах замість створення подібних, але різних фрагментів програм.
Існують наступні види ресурсів:
акселератори;
діалоги;
іконки;
курсори;
малюнки;
меню;
ресуси, визначені користувачем;
інформація про версію.
Існують спеціальні редактори ресурсів, які дозволяють працювати з ресурсами у найзручнішій для сприйняття формі. Редактори ресурсів входять і до складу Borland Pascal 7.0, і до складу Delphi. Але їх можливості суттєво відрізняються. Редактор ресурсів Delphi (Image Editor) дозволяє працювати лише з графічними ресурсами (іконки, малюнки, курсори) в 32-бітному скомпільованому вигляді, що суттєво звужує коло його застосування. Редактор ресурсів з комплекту Borland Pascal 7.0 (Resource Workshop) дозволяє працювати з усіма видами ресурсів як у вигляді вихідного тексту, так і у 16-бітному скомпільованому вигляді. Відсутність підтримки компіляції 32-біних ресурсів суттєво не впливає на межі його застосування, бо на рівні вихідного тексту різниці між 16- і 32-бітними ресурсами не існує. Це дозволяє компілювати 32-бітні ресурси за допомогою зовнішнього компілятора ресурсів (наприклад, brcc32.exe з комплекту Delphi). Існують також інші редактори ресурсів.
Ресурси використовуються наступним чином: у редакторі ресурсів створюються іконки, курсори, діалоги та інші ресурси. Кожен ресурс повинен мати власне ім’я. Після створення ресурсів, їх необхідно відкомпілювати. Отримані RES-файли вже придатні для безпосереднього використання.
2.4.2.4 Використання стандартних засобів Windows
Windows надає багато різноманітних функцій, які виконують як окремі дії, так і можуть вирішувати найпоширеніші задачі, що суттєво спрощує створення програм.
Усі функції розподілені по бібліотекам, що зв’язуються динамічно. На відміну від статичних бібліотек, які зв’язуються на етапі компіляції і знаходяться всередені EXE-файлу, динамічні зв’язуються на етапі завантаження програми, або навіть під час її роботи. Для роботи будь-якої програми найнеобхіднішими модулями є Kernel, GDI та User. Досить часто використовуються модулі ShellAPI, CommDlg та деякі інші.
Дата добавления: 2015-10-29; просмотров: 103 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
WITH ERIN NOELLE | | | Розрахунок загальних витрат |