klevoz.ru страница 1
скачать файл




Зміст
Вступ...........................................................................................................3

РОЗДІЛ І. Аналітичний огляд, постановка задачі..............6

1.1. Моделі дистанційного навчання...........................................................6

1.2. Огляд та аналіз існуючих платформ ДН..............................................8

1.3. Вибір оптимальних засобів для створення платформи ДН..............12

РОЗДІЛ ІІ. Основна частина............................................................16

2.1. Розробка моделей і алгоритмів рішення.............................................16

2.2. Огляд програмного продукту...............................................................18

2.3. Програмна реалізація............................................................................21

2.3.1. Опис таблиць БД.................................................................................21

2.3.2. Опис програмних модулів.................................................................26

2.3.3. Таблиці стилів.....................................................................................34

2.4. Розробка програмної та експлуатаційної документації.....................36

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

Література................................................................................................39

ДОДАТКИ


Вступ

Дистанційну форму навчання спеціалісти по стратегічним проблемам освіти називають "Освітньою системою ХХІ сторіччя", і це не випадково. Результати суспільного прогресу, що раніше зосереджувались в техносфері сьогодні концентруються в інфосфері. Настала ера інформатики. Поточну фазу її розвитку можна охарактеризувати як телекомунікаційну. Це фаза спілкування, фаза трансферу інформації і знань. Навчання і робота сьогодні - синоніми: професійні знання старіють дуже швидко, тому необхідне їх постійне вдосконалення - це і є відкрита освіта! Світова телекомунікаційна інфраструктура дає сьогодні можливість створення систем масового неперервного самонавчання, загального обміну інформацією, незалежно від часових і просторових поясів.

"Дистанційне навчання увійде в ХХІ сторіччя як найефективніша система підготовки і неперервного підтримання високого кваліфікаційного рівня спеціалістів (див.[1])".

Системи дистанційної освіти (СДО) дають рівні можливості школярам, студентам, цивільним і воєнним спеціалістам, безробітним в будь-яких районах країни і за її межами, реалізувати права людини на освіту і отримання інформації. Саме ця система може найбільш адекватно і гнучко реагувати на потреби суспільства і забезпечувати реалізацію конституційного права на освіту кожного громадянина держави. СДО відповідає логіці розвитку системи освіти і суспільства вцілому, де за основу беруться потреби кожної окремої людини.

Дистанційна освіта у вигляді заочного навчання зародилась на початку 20-го сторіччя. Сьогодні заочно можна отримати вищу освіту, вивчити іноземну мову, підготуватись до вступу у ВУЗ і т.д. Однак в зв’язку з погано налагодженою взаємодією між викладачами і студентами, і відсутністю контролю за навчальною діяльністю студентів заочників в періоди між екзаменаційними сесіями, якість подібного навчання виявляється гіршою за ту, яку можна отримати при очному навчанні.

Сучасні комп’ютерні телекомунікації здатні забезпечити передачу знань і доступ до різноманітної учбової інформації на рівні традиційного навчання, а іноді й набагато ефективніше, ніж традиційні засоби навчання. Експерименти підтвердили, що якість і структура учбових курсів, рівно як і якість викладання при дистанційному навчанні досить часто набагато краща, ніж при традиційних формах навчання. Нові електронні технології, такі як інтерактивні диски, електронні дошки оголошень, мультимедійний гіпертекст, доступні через глобальну мережу Інтернет за допомогою інтерфейсів Mosaic і WWW можуть не тільки забезпечити активне залучення учнів в учбовий процес, але й дозволяють керувати цим процесом, на відміну від більшості традиційних навчальних середовищ. Інтеграція звуку, руху, образу і тексту створює нове неймовірно багате за своїми можливостями учбове середовище, з розвитком якої збільшиться і ступінь залучення учнів в процес навчання. Інтерактивні можливості програм, що використовуються в СДО, і систем доставки інформації дозволяють налагодити і навіть стимулювати зворотній зв’язок, забезпечити діалог і постійну підтримку, що неможливі в більшості традиційних навчальних системах.

По даним закордонних експертів в ХХІ сторіччі мінімальним рівнем освіти, необхідним для виживання людства, стане вища освіта. Навчання такої маси студентів за очною (денною) формою навряд чи витримає бюджет навіть найблагополучніших країн. Тому не випадково за останні десятиліття чисельність учнів за нетрадиційними технологіями зростає скоріше за чисельність студентів денних відділень. Світова тенденція переходу до нетрадиційних форм освіти прослідковується і в рості числа вузів, що ведуть підготовку за цими технологіями.

Довгострокова мета розвитку СДО в світі - дати можливість кожному учню, що живе в будь-якому місці, пройти курс навчання будь-якого коледжу або університету. Це зумовлює перехід від концепції фізичного переміщення студентів з держави в державу до концепції мобільних ідей, знань і навчання з метою розподілу знань шляхом обміну освітніми ресурсами [2].

Метою нашої магістерської роботи є збір і систематизація проблем дистанційного навчання, що потребують автоматизації, проведення аналізу існуючих платформ дистанційного навчання та створення власної експериментальної платформи, що увібрала б в себе кращі моменти вже існуючих платформ, і була оптимізована для роботи конкретного вузу, а саме Ужгородського державного інституту інформатики, економіки і права. Власний програмний продукт повинен бути універсальним - не залежати від предметної області застосування; зручним при настройці і мати можливість для створення додаткових специфічних не реалізованих раніше модулів. Крім того - повністю інтерактивним, повинен забезпечувати двосторонній зв’язок між викладачем та студентом; повинен мати засоби для здійснення контролю ступеню оволодіння студентами знань та навичок.

Науково-методичне значення: результат роботи дозволяє розробити методичні рекомендації та інструкцій для створення освітніх середовищ для широкого спектру підготовки. Практична цінність: розроблено базис експериментальної платформи для дистанційного навчання, використано СДО в навчальному процесі.



РОЗДІЛ І. Аналітичний огляд, постановка задачі
1.1. Моделі дистанційного навчання

Моделі дистанційного навчання (ДН) можна класифікувати за двома групами: організаційно-методичні моделі та організаційно-технологічні.



Організаційно-методичні моделі ДН.

1. Навчання по типу екстернату. Навчання, орієнтоване на шкільні або вузівські (екзаменаційні) вимоги, призначалося учням і студентам, що за якихось причин не могли відвідувати стаціонарні учбові заклади. Так, в 1836 році був організований Лондонський університет, основним завданням якого в ті роки була допомога і проведення іспитів на отримання тих чи інших атестатів, ступенів та ін. для учнів, студентів, що не відвідували звичайні учбові заклади. Ця задача збереглась і понині наряду з стаціонарним навчанням студентів.

2. Навчання на базі одного університету. Це вже ціла система навчання для студентів, які навчаються не стаціонарно (on-campus), а на відстані, заочно або дистанційно, тобто на основі нових інформаційних технологій, включаючи комп’ютерні телекомунікації (off-campus). Такі програми на отримання різноманітних атестатів освіти розроблені в багатьох провідних університетах світу. Так, Новий університет Південного Уельсу в Австралії проводить заочне і дистанційне навчання для 5000 студентів, тоді як стаціонарно в ньому навчаються 3000 студентів.

3. Співробітництво кількох учбових закладів. Таке співробітництво в підготовці програм заочного дистанційного навчання дозволяє зробити їх більш професіонально якісними і менш дорогими. Подібна практика реалізована, наприклад, в міжуніверситетській телеосвітній програмі Кеприкон, в розробці якої прийняли участь університети Аргентини, Болівії, Бразилії, Чилі і Парагваю. Іншим прикладом подібної співпраці може служити програма "Співдружність в освіті". Голови співдружності Британських країн зустрілися в 1987 році з тим, щоб договоритися про організацію мережі дистанційного навчання для всіх країн співдружності. Перспективна ціль програми - дати можливість будь-якому громадянину країн співдружності, не покидаючи власної країни і власного дому, отримати будь-яку освіту на базі функціонуючих в країнах співдружності коледжів та університетів.

4. Автономні освітні заклади, спеціально створені для цілей ДН. Найбільшим подібним закладом є Відкритий університет (The Open University) в Лондоні, на базі якого в останні роки проходять навчання дистанційно велика кількість студентів не тільки з Великобританії, але і з багатьох країн Співдружності. В США прикладом такого університету може служити Національний технологічний університет (штат Колорадо), який готує студентів по різним інженерним спеціальностям сумісно з 40 інженерними коледжами. В 1991 році університет об’єднав ці 40 коледжів мережею ДН при тісній співпраці з керівництвом штату і сферою бізнесу.

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

6. Неформальне, інтегроване дистанційне навчання на основі мультимедійних програм. Такі програми орієнтовані на навчання дорослої аудиторії, тих людей, що за якихось причин не змогли закінчити шкільну освіту. Такі проекти можуть бути частиною офіційної освітньої програми, інтегрованими в цю програму (приклади таких програм існують в Колумбії), або спеціально орієнтовані на певну освітню ціль (наприклад, Британська програма грамотності), або спеціально націлені на профілактичні програми здоров’я, як, наприклад, програми для країн, що розвиваються.

Організаційно-технологічні моделі ДН.

1. Одинична медіа - використання якого-небудь одного засобу навчання і каналу передачі інформації. Наприклад, навчання через листування, навчальні радіо або телепередачі. В цій моделі домінуючим засобом навчання є, як правило, друкований матеріал. Практично відсутня двостороння комунікація, що приближає цю модель дистанційного навчання до традиційного заочного навчання.

2. Мультимедіа - використання різних засобів навчання: учбові посібники на друкованій основі, комп’ютерні програми учбового призначення на різних носіях, аудіо і відеозаписи і т.п. Однак домінує при цьому передача інформації в "один бік". При необхідності використовуються елементи очного навчання - особисті зустрічі учнів і викладачів, проведення підсумкових учбових семінарів або консультацій, очний прийом іспитів і т.п.

3. Гіпермедіа - модель дистанційного навчання третього покоління, що передбачає використання нових інформаційних технологій при домінуючій ролі комп’ютерних телекомунікацій. Найпростішою формою при цьому є використання електронної пошти і телеконференцій, а також аудіонавчання (сукупність телефону і телефаксу). При подальшому розвитку ця модель дистанційного навчання буде використовувати комплекс таких засобів як відео, телефакс і телефон (для проведення фідеоконференцій) і аудіографіку при одночасному широкому застосуванні відеодисків, різноманітних гіперзасобів, систем знань і штучного інтелекту [2].


1.2. Огляд та аналіз існуючих платформ ДН

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

Content management system (CMS) - система управління вмістом - комп’ютерна система, що дозволяє авторам добавляти дані до системи, модифікувати та стирати вміст системи.

Learning management system (LMS) - система управління навчанням - комп’ютерна система, що спрощує адміністрування навчаючих/тренуючих програм, дозволяє слідкувати за успішністю студентів, включаючи тестові оцінки та іншу інформацію про навчальний процес.

Learning content management system (LCMS) - система управління навчанням та вмістом - комп’ютерна система, що одночасно керує процесами навчання (відслідковує прогрес учнів, тестові оцінки та ін.) та вмістом (дозволяє добавляти до системи нові курси, змінювати та видаляти з системи вже існуючі).

Тепер розглянемо існуючі стандарти та організації в області ДН.

Microsoft LRN - варіація IMS. Так склалося, що Microsoft не відіграє жодної ролі на ринку e-learning (електронного навчання), навіть враховуючи той факт, що вони є учасниками проекту IMS. LMS - систем у Microsoft також нема.

SCORM - Sharable Content Object Reference Model. Програма що об’єднує в собі AICC та IMS. Поточна версія 1.2. Домашня сторінка: http://www.adlnet.org

AICC - Aviation Industry CBT (Computer Based Training) Comittee. Стандарт описує два рівні: комунікаційний рівень (як отримується і як зберігається інформація отримана від користувача), і рівень описання структури курсу (розміщення/видача інформації сервером, послідовність). Домашня сторінка: http://www.aicc.org

IMS - The IMS Global Learning Consortium. Організація присвячена розробці специфікацій ДН. Специфікація IMS - XML - базовий стандарт, що описує структуру курсу. Домашня сторінка: http://www.imsproject.org

ADL - Advanced Distributed Learning організація, заснована Білим Домом США в 1997 (від цієї системи пішов SCORM). Домашня сторінка: http://www.adlnet.org

ARIADNE - Alliance for Remote Instructional Authoring and Distribution Networks for Europe. Європейська розробка специфікації, на даний момент не підтримується. Домашня сторінка: http://www.ariadne-eu.org

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

Learning Space - продукт компанії IBM, підтримує 22 мови і працює під управлінням ОС (операційної системи) Windows NT або 2000. В якості СУБД (системи управління базами даних) використовує продукти DB2, UDB, Oracle або Microsoft Sequel Server. Згідно цінової політики фірми ІВМ, система Lotus LearningSpace 5.0 поставляється безкоштовно, однак ліцензії користувачів (безтермінові) коштують від 26 до 86 у.о. Вартість русифікації 25% від сумарної вартості ліцензій. Вартість установки порядку 800-900 у.о. Для отримання скидок в повному обсязі необхідно скористатись сервісом Passport Advantage. Скидки на покупку і апгрейд надаються для державних і освітніх закладів. Домашня сторінка: http://www.lotus.com/products

Oracle iLearning - продукт, призначений для автоматизації адміністрування учбових процесів, пропонуючи комплексне і недороге рішення для проведення тренінгів. ILearning можна використовувати як в якості внутрікорпоративної служби, так і в якості Інтернет-ресурсу. Домашня сторінка: http://ilearning.oracle.com

ReadyGo - Web Course Builder - client side з "тріал" версією. Повна підтримка IMS, SCORM, AICC. Вартість програми 495 у.о., серверної частини - 995 у.о. Домашня сторінка: http://www.readygo.com

WebTutor - система ДН. В цей достатньо добре відлагоджений пакет входить: тестування, електронні конференції, управління контентом (вмістом) учбового сайту, інтеграція з системами обліку персоналу. Орієнтація на корпоративне навчання персоналу. Домашня сторінка: http://www.websoft.ru

"Прометей" - найбільш популярна серед вузів СНД система, створена недержавною організацією "Інститут віртуальних технологій в освіті". На ринку 4 роки, українська локалізація. Вартість ліцензії порядку 8000 у.о. Домашня сторінка: http://www.etraining.ru

"Микротест" - організація, що навчає всю МПС Росії. На даний момент виконує тільки корпоративні замовлення. Домашня сторінка: http://www.microtest.ru

"СТ Курс" - продукт компанії Cognitive Technologies. Вартість від 7 до 100 у.о. в залежності від модулів і від кількості слухачів. Є можливість оренди платформи. Домашня сторінка: http://www.ctkurs.ru

"ИнтраЗнание" - система самостійного навчання співробітників від компанії "Город-Инфо". Система будується на основі веб-технологій і використовує інтерактивні Shockwave-роліки, розроблені фірмою "ГородИнтерактив" (дочірнім підрозділом "Город-Инфо"). Візуальні і звукові "підказки" забезпечують наглядність і ефективність навчання. Дані про результати тестування і рівень кваліфікації співробітників доступні для перегляду як адміністратору системи, так і керівництву компанії. Серед користувачів "Татнефть" і Міністерство Фінансів РФ. Основні курси - робота з офісним пакетом ПЗ. Ціна договірна, орієнтовано на великі компанії. Інтерфейс простий і зрозумілий, анімація якісна, дизайн і оформлення на рівні. Домашня сторінка: http://www.intraznanie.gorod.ru

"Батисфера" - не веб-орієнтований продукт компанії "Инфопроект". Складається з двох блоків: Totor (вартістю 450 у.о.) - засіб розробки курсу (дозволяє створювати учбові матеріали будь-яких типів і форм: лекції, домашні завдання, лабораторні і контрольні роботи, тести, інтерактивні заліки, екзамени, електронні підручники). Можна регламентувати час виконання перевірочної роботи і встановлювати порядок допуску до наступного завдання. Reader (прокатчик курсу), ціною від 5 до 50 у.о. за місце, в залежності від кількості слухачів. Домашня сторінка: http://www.baty.ru

"Интеллект" - продукт Дніпропетровського СП. Домашня сторінка: http://www.intellect.dp.ua

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

Macromedia Dreamweaver MX - програмний продукт компанії Macromedia, доповнений такими розширеннями, як: CourseBuilder, LearningSite - дозволяє як оформляти і розміщувати довідковий і учбовий матеріал в Інтернеті, так і тестувати знання учнів. Слід звернути увагу на модулі: Manifest Maker+, SCORM RTI Minimal Code.

Macromedia Director - мабуть найбільш потужний інструмент створення мультимедійного навчального контенту. Недоліки: висока ціна програми (1900 у.о.), складність у вивченні МП (мови програмування) Lingo. Продукт ідеальний для створення повноекранних, складних анімаційних роликів, з високою роздільною здатністю, і наявністю математичної взаємодії між об’єктами.

Macromedia Flash MX - для створення дистанційних курсів.

Macromedia Authorvave - для створення мультимедійних розробок в області електронного навчання. Найбільш вигідні носії - компакт диски, локальна мережа; для веб-технологій досить громіздка. В якості БД використовує .txt ODBC. Ціна останньої версії 2699 у.о.[3].

IBM HotMedia - безкоштовний продукт для створення мультимедійного контенту в веб. Підтримка 3D об’єктів. Висока компресія звуку і відео.

ViewletBuilder - безкоштовний продукт для створення анімованих on-line презентацій. Найбільш вдалий продукт для створення help-ів до програм.

Також існують такі продукти: Microsoft LRN Toolkit, Quest, Interactive Learning Studios, а також наші вітчизняні розробки: "УНИАР Продюсер 2002", "УНИАР-Білдер 2002", eLearning Office, та інші.
1.3. Вибір оптимальних засобів для створення платформи ДН

Метою нашої дипломної роботи є створення платформи ДН, що була б доступна в будь-якій точці земної кулі, і не була прив’язана до якихось конкретних унікальних ресурсів. Користувачам платформи достатньо буде мати програму-браузер для перегляду Інтернет сторінок та бути підключеним до Інтернету. Для зменшення навантаження на мережу, збільшення швидкості обміну даними та покращення інтерфейсу передбачається створення окремої клієнтської програми, але це не означатиме, що користувачі не зможуть працювати з платформою традиційними методами.

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


  • MySQL Server - для створення і підтримки БД.

  • PHP - для генерації веб-інтерфейсу та написання API (Application Programmers Interface) для обробки запитів клієнтської програми.

  • HTML та CSS - для створення привабливих та функціональних веб-сторінок, з можливістю зміни стилів оформлення користувачем.

  • Borland CBuilder - для клієнтської програми (можливе застосування Microsoft Visual C та технології .NET)

Технології PHP та MySQL слід розглянути більш детально.

PHP - це скріпт-мова (scripting language), що вбудовується в HTML, яка інтерпретується і виконується на сервері. Основна відмінність від CGI-скріптів, написаних іншими мовами, на зразок Perl або С - це те, що в CGI- програмах ви самі пишете HTML код, що буде виводитись, а використовуючи PHP - ви вбудовуєте свою програму в готову HTML-сторінку, використовуючи відкриваючий і закриваючий теги. Відмінність PHP від JavaScript полягає в тому, що PHP-скріпт виконується на сервері, а клієнту передається результат роботи, тоді як в JavaScript - код повністю передається на клієнтську машину і тільки там виконується. Подібними до PHP мовами є мови Active Server Pages (ASP) та Java Server Pages (JSP). Всі три мови дозволяють розміщувати код, що виконується на web-сервері, всередині HTML сторінок.

Можливості PHP. В кількох словах на PHP можна зробити все, що можна зробити за допомогою CGI-програм. Наприклад: обробляти дані з форми, генерувати динамічні сторінки, отримувати і посилати кукі (cookies). Крім того в PHP включена підтримка багатьох БД, що робить написання web- додатків з використанням БД до неможливості простим. PHP підтримує наступні БД: Adabas D, dBase, Empress, FilePro, Informix, InterBase, mSQL, MySQL, Oracle, PostgreSQL, Solid, Sybase, Velocis, Unix dbm. Вдобавок до всього PHP розуміє протоколи IMAP, SNMP, NNTP, POP3 і HTTP, а також має можливість працювати з сокетами (sockets) і звертатись по іншим протоколам [4].



MySQL - компактний багатопотоковий сервер БД. MySQL характеризується великою швидкістю, стійкістю і легкістю у використанні. MySQL був розроблений компанією ТсХ для внутрішніх потреб, що полягали в швидкій обробці дуже великих БД. Компанія стверджує, що використовує MySQL з 1996 року на сервері з більш ніж 40 БД, що містять 10000 таблиць, з яких більш ніж 500 мають більше 7 мільйонів записів. MySQL є ідеальним рішенням для малих і середніх додатків. Вихідний код сервера компілюється на великій кількості платформ. Найбільш повно можливості сервера проявляються на Unix-серверах, де є підтримка багато потоковості, що дає значний приріс у продуктивності. На поточний момент MySQL все ще в стадії розробки, хоча версія 3.22 повністю працездатна. MySQL-сервер є безкоштовним для некомерційного використання. В іншому випадку необхідно придбати ліцензію, вартістю в 190 EUR.

Можливості MySQL. MySQL підтримує мову запитів SQL в стандарті ANSI 92, і крім того має багато розширень до цього стандарту, яких нема в жодній іншій СУБД.

Короткий перелік можливостей MySQL.


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

  2. Кількість записів в таблиці може досягати 5 мільйонів.

  3. Швидке відпрацювання команд. Можливо MySQL найшвидший з існуючих серверів.

  4. Проста і ефективна система безпеки.

MySQL дійсно дуже швидкий сервер, але для досягнення цього розробникам прийшлось пожертвувати деякими потребами до реляційних СУБД. В MySQL відсутня:

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

  2. Не реалізована підтримка транзакцій. Замість того пропонується використовувати LOCK/UNLOCK TABLE.

  3. Нема підтримки зовнішніх (foreign) ключів.

  4. Нема підтримки трігерів і процедур, що зберігаються.

  5. Нема підтримки представлень (VIEW). В версії 2.32 планується можливість створення представлень.

По словам розробників саме пункти 2-4 дали можливість досягти високої швидкодії. Їх реалізація суттєво знизить швидкість сервера. Ці можливості не є критичними для створення web-додатків, що в сукупності з високою швидкодією і малою ціною дозволило серверу набути високої популярності [4].


РОЗДІЛ ІІ. Основна частина
2.1. Розробка моделей і алгоритмів рішення

Розв’язання поставленої перед нами задачі можна розбити на ряд етапів.

1. Постановка задачі.

Завданням нашої магістерської роботи є створення комп’ютерної програми, що автоматизує більшість процесів пов’язаних з дистанційним навчанням: реєстрація студентів, розміщення навчальних матеріалів, їх редагування та видалення, двостороннє спілкування між студентами та викладачами в реальному часі, розподіл прав доступу до інформації, тестування студентів.

Ціллю роботи є: автоматизація процесів дистанційного навчання конкретного вузу, полегшення доступу студентів до навчальних матеріалів, стимулювання творчого пошуку за допомогою можливості розміщувати в системі власні думки, доступні для перегляду іншим користувачам. Пріоритетною ціллю буде забезпечення повної інтерактивності та двостороннього обміну інформацією.

Збір інформації, необхідної для створення системи, проводився на базі Ужгородського державного інституту інформатики економіки і права та Ужгородського ІАТР центру. В обох установах ДН впроваджене і успішно функціонує.

Необхідні для створення системи дані будуть зберігатися у MySQL базі, опис даних буде проведено в наступних розділах.

2. Передмодельний аналіз.

Аналіз теоретичних відомостей, існуючих аналогів, програмного та апаратного забезпечення було проведено в першому розділі. Систему необхідно створювати на базі PHP та MySQL технології, серверну частину розміщувати на web-сервері, а клієнтську на машинах користувачів. Замість клієнтської програми можна використовувати web-браузер Internet Explorer.

3. Аналіз задачі.

На цьому етапі необхідно розробити структуру даних, вхідні і вихідні специфікації, спроектувати структуру і склад програми, тобто з яких блоків вона буде складатись і за що кожен блок буде відповідати.

4. Програмування.

На цьому етапі буде створено БД, створено і заповнено тестовими даними таблиці, написано програмний код для всіх PHP блоків, написано API для майбутньої клієнтської програми. Основні блоки програми будуть супроводжуватись коментарями для полегшення модифікації коду іншим програмістам.

5. Тестування і налагодження.

Для тестування програми її буде встановлено на сервері і запущено у тестовому режимі. Програма буде функціонувати в нормальному режимі, але результати її діяльності не будуть мати адміністративного значення, оцінки викладатись студентам не будуть. Виявлені під час тестування помилки будуть на ходу виправлятись, технологія PHP дозволяє робити це практично непомітно, не спричиняючи збої в роботі системи. В кінці буде проведено аналіз результатів тестування, та зроблено необхідні висновки. По цим результатам система буде доопрацьована і оптимізована.

6. Документування.

На цьому етапі планується розробити документацію користувача та програміста, розробити вказівки по введенню системи в експлуатацію та її супроводження, в самій системі зробити інтерактивний динамічний розділ "питання/відповіді". Частина документації буде подано у додатках.

7. Супроводження.

Супроводження системи включатиме: ведення лог-файлу системних запитів та збоїв, поточне виправлення помилок у коді програм, створення нових, більш вдосконалених версій системи, розширення можливостей системи, обслуговування системи на місці при виникненні непередбачуваних ситуацій.
2.2. Огляд програмного продукту

Наш програмний продукт - це платформа, що автоматизовує процеси ДН. Вона здійснює наступні функції:



  1. Реєстрація користувачів системи (з розподілом відповідних прав доступу до системи).

  2. Авторизація користувачів системи.

  3. Розміщення матеріалів в системі, групування та систематизація.

  4. Можливість редагування та видалення існуючих матеріалів.

  5. Реалізація діалогу між користувачами (аналог форуму).

  6. Реалізація діалогу між користувачами в реальному часі (чат).

  7. Ведення динамічної БД користувачів (БД може містити будь-які дані про користувачів, включаючи успішність по конкретних предметах, а також посилання на відповідні матеріали).

  8. Обробка статистичних запитів.

  9. Тестування.

Розглянемо основні функції більш детально.

Реєстрацію здійснює модуль "reg.php". Цей модуль генерує html анкету, дані якої необхідно заповнити користувачем. Необхідно обов’язково заповнити поля логін та пароль. Логін - це ім’я, за яким ви будете авторизовуватись в системі. Пароль необхідно ввести двічі, щоб не допустити помилки при наборі. Далі йдуть необов’язкові поля: ПІБ, рік народження, адреса, стать, адреса електронної пошти, номер ICQ та додаткова інформація. Для завершення реєстрації після заповнення анкети необхідно натиснути кнопку "Зареєструватися". Основні дані про користувачів зберігаються в таблиці users.

Авторизація здійснюється вже конкретно в самих модулях. Коли будь-який модуль системи не може отримати інформацію про нового користувача, він видає на сторінці форму для авторизації. Після вводу логіну та пароля, система створює запис в таблиці users_online і видає користувачеві тимчасовий ідентифікаційний номер. Запис з відповідним номером буде існувати 15 хв., при виконанні всіх модулей, крім чату; при користуванні чатом запис буде існувати 3 хв. При будь-якому звертанні до системи, запис в таблиці users_online буде поновлюватись і таймаут буде відстрочуватись. Якщо протягом 15 хв. не буде здійснено жодного звертання до системи, то запис з таблиці буде автоматично видалено. Щоб відновити роботу з системою необхідно буде авторизуватись ще раз. Щоб припинити роботу коректно (знищити ідентифікаційний номер власноруч) треба натиснути кнопку "вихід". Щоб користуватись системою авторизація необов’язкова, але функції неавторизованих користувачів суттєво обмежені. В основному дозволяється лише перегляд інформації.

Розглядаючи функцію добавлення та модифікації необхідно зупинитись на структурі вмісту. Матеріали групуються та структуруються у вигляді дерева. Кожна окрема стаття - це об’єкт, що має свій рівень та свого предка. А кожна відповідь в свою чергу стає нащадком батьківської статті з рівнем на одиницю більшим. Кожну відповідь можна розглядати як нову статтю і давати на неї нові відповіді. Глибина дерева обмежена лиш фантазією користувачів та активністю діалогу. Пункти головного меню (див рис.2.1) побудовані за цим же принципом, вони є об’єктами першого рівня і відповідно нащадками абстрактного об’єкта нульового рівня. Для добавлення відповіді на статтю необхідно натиснути кнопку "Відповісти" (Answer) навпроти відповідної статті. Для добавлення нової статті в розділ необхідно натиснути кнопку "Добавити тему" (Add Topic) що знаходиться в кінці сторінки. Редагувати існуючу статтю може тільки користувач, що її добавив до системи, або користувач наділений правами адміністратора. Для редагування з’являється кнопка "Редагувати" (Edit). Генерує сторінки модуль "gen.php", а за операції з вмістом відповідає модуль "mod.php" та "upd.php".

За чат відповідає величезний розділ, який був написаний студентом 5-го курсу Гітиком Віктором. Чат використовує ті ж таблиці, що й система. Він складається з багатьох модулів, основними з яких є: "add.php", "get.php", "head.php", "input.php", "login.php", "members.php", "messages.php",



Рис.2.1. Приклад головного меню


"profile.php", "reg.php", "sendmessage.php", "users.php". Крім того використовуються таблиці стилей: "style1.css", "style2.css", "style3.css", "style4.css". Чат розміщений на веб-сайті www.clan.uz.ua, і вже успішно функціонує протягом п’яти місяців. Саме для чату була створена перша клієнтська, незалежна від браузера програма, яку написав студент математичного факультету Олександр Єлісєєв. Клієнтська програма була написана на Delphi 7. Для спілкування з системою вона використовує модуль "api.php". На майбутнє планується переписати клієнтську програму на МП Visual C під більш сучасну і прогресивну технологію ".NET".

Для перегляду динамічної БД користувачів, обробки статистичних запитів та тестування створенні модулі: "dyn.php", "stat.php", "test.php".


2.3. Програмна реалізація

Наша програма написана на мові програмування PHP, використовує мову керування БД SQL, на основі сучасної клієнт-серверної технології. Суть технології полягає у формуванні клієнтом запитів до сервера і отриманні результатів запиту. Ідеологія технології передбачає розбиття програми на дві частини: клієнтську - та, що формує запити та отримує результати, і серверну - та, що обробляє запити, формує та відсилає результати. В нашому випадку роль клієнтської частини виконує браузер, та HTML програма, яку генерує серверна частина. Якщо ж замість браузера використовувати окрему клієнтську програму, то можна суттєво спростити серверну частину та зменшити трафік, тому що серверній програмі не треба буде формувати HTML код, а достатньо буде відсилати лиш чисті результати запиту.

Працювати клієнтській програмі напряму з базою не варта, в цьому випадку говорити про безпеку даних не можна. Дуже великі права віддаються клієнту. Тому між клієнтом і базою встановлюється буфер у вигляді серверної програми. Серверна частина приймає запит клієнта, перевіряє запит на коректність, перевіряє права користувача на подібний запит і лиш тоді робить SQL запит до БД.
2.3.1. Опис таблиць БД.

БД містить всі необхідні дані для коректної роботи системи. Звичайно ж, якщо під час тестувань буде виявлено, що якихось полів не вистачає, то вони будуть добавлені не спричиняючи при цьому збоїв в роботі системи, або втрат записів БД. Цьому сприяє відкритість архітектури PHP та гнучкість СУБД MySQL.

Для більш зручної і наглядної роботи з базою ми скористались програмою MySQL Control Center. Зовнішній вигляд інтерфейсу програми показано на рис.2.2.



Рис.2.2. MySQL Control Center


Розглянемо формат основних таблиць.

Основною таблицею для системи є таблиця resources. Саме в ній зберігаються всі статті та відповіді на них. Для відновлення бази, її таблиць та переносу даних між серверами створено спеціальний модуль "dump.php". Він генерує послідовність SQL запитів, які й виконують вищезгадані дії. Враховуючи це, формат таблиць ми будемо вказувати не як схеми, а саме у такій формі.

# Host: localhost

# Database: dn

# Table: 'resources'

#

CREATE TABLE `resources` (



`ID` bigint(11) NOT NULL auto_increment,

`Level` int(11) default '1',

`ParentID` bigint(11) default '0',

`eTitle` varchar(100) default '',

`uTitle` varchar(100) default '',

`Last` datetime default '2004-04-01 20:55:00',

`Hint` varchar(100) default '',

`Img` varchar(100) default '',

`Body` longtext,

`Exec` varchar(100) default '',

`Copyright` varchar(100) default 'Cidx',

PRIMARY KEY (`ID`)

) TYPE=MyISAM;

Так як ця таблиця основна для системи, то її ми розглянемо більш детально. Таблиця містить 11 полів: ID - порядковий номер запису, використовується в основному системою, користувачам недоступний, Level - рівень статті в дереві, ParentID - ідентифікаційний номер предка, eTitle - назва статті англійською мовою, uTitle - назва статті українською мовою (для спрощення підтримки системою багатомовності), Last - час останнього редагування статті (при редагуванні дочірньої статті, час редагування статті-предка також поновлюється), Hint - спливаюча підказка при наведенні на назву статті мишкою (може використовуватись в різних цілях, в тому числі й для зберігання короткого опису статті), Img - посилання на малюнок-ідентифікатор статті (прикладом може служити головне меню, де кожному пункту у відповідність покладений якийсь смисловий малюнок; фотографії та інші малюнки зберігаються вже в тілі статті), Body - тіло статті, Exec - використовується в тому випадку, якщо стаття є посиланням на якийсь конкретний ресурс (введений для універсальності, тепер пункт меню, що посилається, наприклад, на чат - відкриє саме чат), Copyright - автор статті (його логін).

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

# Host: localhost

# Database: dn

# Table: 'users'

#

CREATE TABLE `users` (



`id_user` int(11) NOT NULL default '0',

`nick_name` varchar(50) default NULL,

`password` varchar(50) default NULL,

`last_ip` varchar(20) default NULL,

`yold` int(11) default NULL,

`name` varchar(50) default NULL,

`location` varchar(50) default NULL,

`gender` char(1) default NULL,

`info` text,

`status` bigint(11) default NULL,

`datetime` datetime default NULL,

`email` varchar(50) default NULL,

`icq` varchar(20) default NULL,

`defaultcolor` varchar(7) default NULL,

`special_status` tinytext,

`refresh_time` int(11) default NULL,

`last_login` datetime default NULL,

`avatara` varchar(50) default NULL,

PRIMARY KEY (`id_user`)

) TYPE=MyISAM;

Таблиця users_online містить дані про користувачів, що на даний момент користуються системою. Таблиця має наступний вигляд:

# Host: localhost

# Database: dn

# Table: 'users_online'

#

CREATE TABLE `users_online` (



`id_user` int(11) default NULL,

`ip` varchar(20) default NULL,

`login_time` datetime default NULL,

`last_refresh` datetime default NULL,

`num` int(11) NOT NULL auto_increment,

`last_msg_time` datetime default NULL,

`status` int(11) default NULL,

`tmp_id` bigint(20) default NULL,

PRIMARY KEY (`num`)

) TYPE=MyISAM;

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

Чат для своєї роботи використовує загальні таблиці users та users_online, а також свої власні таблиці: data - тут містяться дані чату (фрази користувачів), kick_users - для реалізації обмеження доступу користувачам, що порушують правила користування чатом, messages - аналог поштової скриньки, для збереження оффлайнових повідомлень користувачів.

Для тестової системи існують наступні таблиці: tasks - містить список всіх доступних тестів по різним дисциплінам, questions - тут знаходяться питання до тестів (введення додаткової таблиці спричинено тим, що кількість запитань в тесті може різнитись), answers - тут зберігаються відповіді користувачів. Тестова система також використовує таблиці users, users_online та archive (для збереження результатів тестування).

Окремої уваги заслуговує таблиця archive. Тут зберігаються всі додаткові дані про користувачів, ті, кількість яких наперед ми передбачити не можемо, тому ці дані зберігаються динамічно. Вибірка даних з архіву здійснюється за допомогою унікального номера користувача.


2.3.2. Опис програмних модулів

Програма складається з кількох розділів, які в свою чергу складаються з модулів. Кожен модуль знаходиться в окремому PHP файлі. Всі розділи вже поверхнево розглядались в попередніх частинах. В цій частині ми детально зупинимось на основному розділі, тому, що відповідає за генерацію списку статей та дозволяє добавляти нові статті і модифікувати вже існуючі. Цей розділ складається з трьох модулів: “gen.php”, “mod.php” та “upd.php”. Розглянемо коротко принцип роботи цих модулів, та приведемо лістінг їх коду.

Модуль “gen.php” відповідає за генерацію списку статей. Крім того він також виконує функції авторизації користувача. Для зручності цією функцією наділені всі модулі, таким чином процес авторизації не відволікає від роботи, не вимагає від користувача запуску додаткових вікон. Всі дані, окрім даних необхідних для авторизації, передаються системі з допомогою методу GET. Можливо це не найпрогресивніший метод, але зате він дає можливість користувачам заходити в систему з будь-якої статті, а не тільки з титульної сторінки. Дані для авторизації передаються методом POST. Для генерації сторінки достатньо передати системі три параметри: унікальний номер статті, номер сторінки (використовується у випадку, коли статей у розділі більше за 10, в цьому випадку список статей розбивається на блоки по 10 статей в кожному), і тимчасовий ідентифікаційний номер користувача.

Приклад запиту на генерацію сторінки:

http:// … /gen.php?chap=5&page=1&tmp_id=1283255760

Замість трьох крапок має бути ім’я сервера, наприклад “www.clan.uz.ua”.

Результат обробки запиту показано на рис.2.3.



Рис.2.3. Результат обробки запиту до системи


Отримавши необхідні параметри система першим ділом перевіряє чи користувач авторизований (перевіряє чи є в базі користувач з таким ідентифікаційним номером), якщо так, то система поновлює запис last_refresh в таблиці users_online, якщо ні, то пропонує користувачеві авторизуватись. Якщо в цьому модулі авторизація користувача не настільки важлива, то вже при додаванні і модифікації матеріалів без цієї процедури обійтись ніяк не можна.

Враховуючи великі розміри модуля “gen.php” весь лістінг його коду приводити не будемо. Покажемо лиш частину коду, що відповідає саме за генерацію вмісту.

//S -=-=-=-=-= Loading Content =-=-=-=-=-=-

$result = mysql_query("select count(*) from resources where Level={$level} and ParentID={$chap}");

$data = mysql_fetch_row($result);

$qua = $data[0];

//$qua=11;

$qq=$qua-1;

$qq=$qq/10;

$qq= (int) $qq;

$qq++;

if($page>$qq) $page=$qq;



$result = mysql_query("select * from resources where Level={$level} and ParentID={$chap} order by Last desc");

$i=0;


while($data = mysql_fetch_row($result))

{

$i++;



$ll=$data[1]+1;

$resulttmp = mysql_query("select count(*) from resources where Level={$ll} and ParentID={$data[0]}");

$datatmp = mysql_fetch_row($resulttmp);

if( $i>=(($page-1)*10+1) && $i<=($page*10) ){

print "

";

print " {$i}. ";

if($datatmp[0]>0)

print "{$data[3]}:";

if($datatmp[0]==0)

print "{$data[3]}:";

print "
";

print "";

print "  $data[8]";

print "
";

print "";

print "  $data[5]


";

print "  by $data[10]";

print "
";

print "

Answers: {$datatmp[0]}
";

if($nick!="Unknown")

print "

Answer
";

if($nick==$data[10])

print "

Edit
";

print "

";}

}

?>



Модуль “mod.php” генерує форму для вводу нової статті або модифікації вже існуючої (див рис.2.4). В форму вводиться більшість даних таблиці resources, окрім системних. Автоматично заносяться такі дані: ID, Level, ParentID, Last і Copyright. Всі вони або передаються модулю, або, так як час редагування та порядковий номер, створюються автоматично. Нижче приводимо частину коду модуля, що саме відповідає за генерацію форми.























Рис.2.4. Форма для вводу/модифікації даних




























Title(eng):
Title(ukr):
Hint:
Attach Picture:
Executable:

Body:



if($resid){

$result = mysql_query("select Level, ParentID from resources where ID={$resid}");

$data = mysql_fetch_row($result);

$_level=$data[0];

$_parentid=$data[1];}

if($parid){

$result = mysql_query("select Level from resources where ID={$parid}");

$data = mysql_fetch_row($result);

$_level=$data[0]+1;

$_parentid=$parid;}

print "";

print "";

print "";

print "";

if($parid) print "";

if($resid) print "";

?>





Після заповнення форми натискаємо кнопку “submit” і дані передаються модулю “upd.php”. Саме цей модуль здійснює всі необхідні операції з таблицею, тому він є найбільш вразливим місцем для атак хакерів. З цією метою в цьому модулі передбачено багато перевірок і кілька пасток для “особливо хитрих” людей. Приводимо частину модуля, що відповідає саме за безпеку.

//S -=-=-=-=-= Checking permissions =-=-=-=-=-

$result = mysql_query("select users.nick_name from users, users_online where users.id_user=users_online.id_user and users_online.tmp_id={$tempid}");

$data = mysql_fetch_row($result);

$nickforcheck=$data[0];

if($_mode=='mod'){

$result = mysql_query("select * from resources where ID={$chap}");

$data = mysql_fetch_row($result);

$nickoftopic=$data[10];}


//S -=-=-=-=-= Updating =-=-=-=-=-

if($_mode=='add' && $nickforcheck==$_copyr){

$result=mysql_query("

insert into resources (Level,ParentID,eTitle,uTitle,Last,Hint,Img,Body,Exec,Copyright)

values ('$_level','$_parid','$_etitle','$_utitle','$_last','$_hint','$_pic','$_body','$_exec','$_copyr')

");


}

if($_mode=='mod' && $nickforcheck==$nickoftopic){

mysql_query("

update resources set

Level='$_level',

ParentID='$_parid',

eTitle='$_etitle',

uTitle='$_utitle',

Last='$_last',

Hint='$_hint',

Img='$_pic',

Body='$_body',

Exec='$_exec',

Copyright='$_copyr'

where ID={$chap}");

}
if($_mode=='add' && $nickforcheck!=$_copyr){

print "Error: not added,permissions corrupted.";

}

if($_mode=='mod' && $nickforcheck!=$nickoftopic){



print "Error: not modyfied,permissions corrupted.";

}

?>



2.3.3. Таблиці стилів

Всі три, розглянуті вище, модулі використовують єдину таблицю стилів. Завдяки цьому вдалось зробити однаковий інтерфейс для всіх модулів, а також зменшити код самих модулів. Крім того, щоб змінити зовнішній вигляд інтерфейсу непотрібно міняти код кожного модуля, достатньо просто переписати відповідний файл з таблицею стилів. Таблиця стилів для нашої програми знаходиться в файлі “engine.css”. Нижче наведено частину вмісту файлу.

input

{

border-width: 1;



border-color: #a08ab5;

background: #eeeeee;

color: indigo;

}

textarea



{

border-width: 1;

border-color: #000000;

background: #eeeeee;

color: indigo;

}

body {



background:#cccccc;

}

h1 {



color: indigo;

font-family: BernhardFashion BT;

font-size: x-large;

margin: 0px;

}

a.h1:link {



text-decoration: none;

}

a.h1:visited {



text-decoration: none;

}

a.h1:hover {



text-decoration: underline;

}

#container



{

margin-top:5px;

margin-left:20px;

margin-right:20px;

width: 100%

padding:0px;

background:#ffffff;

border: #a08ab5 1px solid;

}

#content


{

margin:5px 20px 5px 20px;

padding:3px 0px 3px 0px;

width: 100%;

border-bottom: #a08ab5 1px solid;

}

#button



{

margin:5px 5px 1px 1px;

padding:1px 2px 1px 2px;

background: #f5f5ff;

border: #a08ab5 1px solid;

float: left;

cursor: hand;

color: indigo;

font-family: MS Sans Serif;

text-decoration: none;

font-size: xx-small;

}

2.4. Розробка програмної та експлуатаційної документації

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


  1. Інструкція по налаштуванню системи

  2. Інструкція користувача та програміста

  3. Розділ "питання/відповіді"

Перші два документи будуть розміщені в додатках, третій розміщуватись вже в самій системі. Розглянемо вміст документів більш детально.

Перший документ буде описувати два важливі моменти при налаштуванні системи - це встановлення ПЗ для роботи сервера та встановлення і налаштування самої системи. Розділ по встановленню ПЗ є дійсно дуже важливим, тому що у користувачів системи не завжди буде можливість ставити систему вже на готовий сервер, а крім того налаштовувати систему зручніше на локальному сервері, а тут вже жоден провайдер послуг хостінгу не допоможе. Розділ міститиме рекомендації по вибору операційної системи, а також описуватиме як встановлювати Apache Web Server, PHP, MySQL, MySQL Control Center для різних систем.

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

Розділ "питання/відповіді" планується зробити динамічним, - він буде поповнюватись вже під час експлуатації системи. З метою економії часу розробників системи часті запитання та відповіді на них розміщуються як окрема стаття в хронологічному порядку. Користувач зможе задати питання розробникам тільки переконавшись, що його питання ще не було розглянуте в списку.



ВИСНОВКИ
Таким чином, мета та головні завдання магістерської роботи - збір і систематизація проблем дистанційного навчання, що потребують автоматизації, проведення аналізу існуючих платформ дистанційного навчання та створення власної експериментальної платформи, що увібрала в себе кращі моменти вже існуючих платформ і оптимізована для роботи конкретного вузу, а також перевірка ефективності використання платформи в глобальній мережі Інтернет - виконані.

В розділі "Аналітичний огляд, постановка задачі" розглянуто моделі ДН. Доцільно розподілити їх по двох групах: організаційно-методичні та організаційно-технологічні моделі. Проведено аналіз існуючих платформ ДН та програм для ДН, розглянуто основні означення та стандарти в ДН. Аналіз існуючих платформ показав, що кожна з сучасних платформи містить певні недоліки: відсутність універсальності, низька швидкодія, прив’язка до мережі, висока ціна. Більшість цих недоліків в експериментальній платформі вдалось усунути.

Проведено короткий опис двох технологій у веб-програмуванні: РНР та MySQL, доведено важливість застосування саме цих технологій при створенні платформи ДН. Доцільним є створення клієнтської програми, що за функціональністю та швидкодією буде краща за основну версію, що використовує веб-інтерфейс.

В основній частині розроблено модель системи та приведено алгоритм розв’язання поставленої перед нами задачі. Описано процес створення програмного продукту, його структуру, розглянуто основні функції, які він повинен виконувати. Крім того подано структуру основних таблиць БД, наведено найбільш важливі частини програмного коду модулів системи та коментарі до них, пояснено причину застосування таблиць стилів. Сплановано етапи розробки і структуру програмної та експлуатаційної документації.

Платформа апробована на сервері Ужгородського ІСП "Вестпортал" і доступна для загального тестового використання всім бажаючим. У ході апробації отримані позитивні відгуки.

Програма може успішно використовуватись для дистанційного навчання різних за віком людей, допоможе їм вдосконалити і розвити професійні знання, вміння та навички. Викладачам, в свою чергу, вона допоможе в розміщенні навчальних матеріалів в мережі, а також забезпечить двосторонній зв’язок зі студентами.



Література
1. Е.С. Полат. Дистанционное обучение. Учебное пособие для вузов. - "Владос", 1998. - 120с.

2. Д. Кречман. Средства дистанционного обучения. Методика, технология, инструментарий. - BHV - Санкт-Петербург, 2003. - 453с.

3. А. Гультяев. Macromedia Authorwave 6.0 Разработка мультимедийных учебных курсов. - "Корона принт", 2002. - 371с.

4. Веллинг, Томсон. Разработка Web-приложений с помощью PHP и MySQL. - М.:"Вильямс", 2003. - 543с.

5. Шапошников И.В. Web-сервисы Microsoft .NET. BHV - Санкт-Петербург, 2002. - 630с.

6. Пауерс Ш. ASP компоненты: для профессионалов. - "Питер", 2002. - 832с.

7. Послед Б.С. Borland C++ Builder 6. Разработка приложений баз данных. - М.:"ДиаСофт", 2003. - 307с.

8. Шамис В.А. Borland C++ Builder 6: Для профессионалов. - "Питер", 2003. - 798с.

9. Ловери Д.В. Dreamweaver MX. Библия пользователя: перевод с англисского. - М.:"Вильямс", 2003. - 1296с.

10. Гурский Д.А., Горбач И.В. Flash MX и Action Script: обучение на примерах. - М.:"Новое знание", 2003. - 367с.

11. Штайнер Г. HTML/XML/CSS. - М.:"Лаборатория базовых знаний", 2004. - 512с.

12. Дмитриева М.В. Java Script. Экспресс-курс. - "БХВ-Петербург", 2004. - 328с.

13. Штайнер Г. Microsoft Visual C++ .NET: Справочник. - М.: "Лаборатория базовых знаний", 2002. - 703с.

14. Матросов А.В., Чаусов М.П. Perl: программирование на языке высокого уровня. - "Питер", 2003. - 608с.

15. Орлов А.А. PHP: полезные приемы. - "Горячая линия-Телеком, Радио и связь", 2004. - 224с.

16. Жарков В.А. Visual C#.Net в науке и технике. - М.: "Лаборатория базовых знаний", 2002. - 638с.

17. Жарков В.А. Visual C++ на практике. - М.: "Лаборатория базовых знаний", 2002. - 424с.

18. Степаненко О.Е., Visual C++ .Net. Классика программирования. - "Корона принт", 2002. - 768с.

19. Холзенер С. XML: Энциклопедия. - "Питер", 2004. - 1100с.

20. Монкур М. Освой самостоятельно Java Script 1.3 за 24 часа. - М.: "Вильямс", 2001. - 304с.

21. Храмцов П. и др. Основы web-технологий. - "Интернет-университет информационных технологий - ИНТУИТ.ру", 2003. - 512с.

22. А.М. Завілопуло, Е.І. Непійпов. Виконання та оформлення студентських наукових робіт (рефератів, звітів з виробничої практики, курсових і дипломних робіт). Методичний посібник для студентів. - Ужгород: 2003. - 24с.



23. Гуревич П.С. Психология и Педагогика. - М.: 2004. - 349с.

24. Все о C++ Builder 5. В 8-и т./ А. Я. Архангельский. - М.: ЗАО "Издательство БИНОМ", 2000.
скачать файл



Смотрите также:
Аналітичний огляд, постановка задачі
350.95kb.
Зміст вступ Постановка задачі Математичний опис задачі
168.17kb.
Постановка задачі
63.05kb.
Лекція 12. Самоорганізація колективу агентів у часі (самосинхронізація) Постановка задачі самосинхронізації колективу
43.82kb.
Формування основ культури мислення у дошкільників Постановка проблеми
133.47kb.
Пропоную вашій увазі серії літературних задач, які можна використати на уроках математики у другому та третьому класах. Задачі об’єднані за математичними ознаками: задачі на знаходження суми та остачі (2 клас)
28.56kb.
Огляд місця пригоди та трупа на місці його виявлення
56.58kb.
Президентський фонд "україна" Інститут стратегічних оцінок Щотижневий аналітичний моніторинг
241.16kb.
Огляд життя Александра Довженко
124.03kb.
Тема Інтерфейс програми Coreldraw. Огляд панелі інструментів. Знайомство з меню Вступ
1118.46kb.
Введение. История хорового искусства
123.73kb.
Місцеве самоврядування у федеративній республіці німеччина. Огляд
174kb.