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

Автор работы: Пользователь скрыл имя, 14 Февраля 2013 в 21:48, дипломная работа

Описание

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

Содержание

ВСТУП 6
РОЗДІЛ 1. АНАЛІЗ ДЖЕРЕЛ СТОСОВНО МЕТОДІВ РОЗРОБКИ 9
Вибір середи програмування 9
Технологія клієнт – сервер: взаємодія клієнта з сервером 11
Робота з мережею засобами QT 13
Використання TCP за допомогою класів QTcpSocket та QTcpServer 14
Робота з файловою системою засобами QT 16
Клас QFileSystemModel 17
Клас QDir. Перегляд вмісту директорії за допомогою QDir 17
Клас QFile 19
Клас QFileInfo 20
Робота з потоками засобами QT 21
Клас QThread 22
Класи QRunnable та QThreadPool 24
Клас QtConcurrent 24
РОЗДІЛ 2. ОСНОВНІ ПРОБЛЕМИ РОЗРОБКИ ТА ЇХ РІШЕННЯ 26
Мета розробки 26
Основні задачі та проблеми 26
Крос-платформність 27
Робота з мережею: захист від збоїв 28
Власний протокол взаємодії клієнта з сервером 29
Маніпулювання файловою системою 30
Алгоритм роботи програми 32
Алгоритм роботи сервера 32
Алгоритм роботи клієнта 34
Алгоритм роботи графічного клієнта 35
РОЗДІЛ 3.РЕАЛІЗАЦІЯ СИСТЕМИ АВТОМАТИЧНОГО МЕРЕЖЕВОГО РОЗПОДІЛЕННЯ НАВЧАЛЬНОГО МАТЕРІАЛУ У КОМПЬЮТЕРНОМУ КЛАСІ 36
Програмна реалізація сервера 38
Програмна реалізація клієнта 40
Програмна реалізація графічного клієнта 42
Інструкція з використання програми 44
РОЗДІЛ 4. ОХОРОНА ПРАЦІ 48
Основні поняття охорони праці 48
Загальні положення 50
Вимоги до виробничого персоналу 51
Вимоги безпеки під час роботи 53
Вимоги безпеки в аварійних ситуаціях 54
Інструкція із заходів пожежної безпеки є службових кабінетах і лабораторіях 55
Загальні положення 55
Співробітники зобов'язані 55
Забороняється 55
Дії при пожежі 55
Обов'язки особи, відповідального за протипожежний стан приміщення 56
Відповідальність особи, відповідального за протипожежний стан приміщенні 56
ВИСНОВКИ 57
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 59

Работа состоит из  1 файл

Циганкова К.Р.docx

— 1.46 Мб (Скачать документ)

 

    1. Вимоги до виробничого персоналу

 

  1. Усі працівники, які виконують роботи, пов'язані з експлуатацією, обслуговуванням, налагодженням та ремонтом ЕОМ, підлягають обов'язковому медичному огляду — попередньому під час оформлення на роботу та періодичному протягом трудової діяльності — в порядку, з періодичністю та медичними протипоказаннями відповідно до Положення про медичний огляд працівників певних категорій, затвердженого наказом Міністерства охорони здоров'я України від 31 березня 1994 року №45 і зареєстрованого в Міністерстві юстиції України 21.06.94 за№ 136/345, та ДСанПіН 3.3.2-007-98.
  2. Посадові особи та спеціалісти, інші працівники підприємств, які організують та виконують роботи, пов'язані з експлуатацією, профілактичним обслуговуванням, налагодженням та ремонтом ЕОМ, проходять підготовку (підвищення кваліфікації), перевірку знань з охорони праці, даних Правил та питань пожежної безпеки, а також інструктажі в порядку, передбаченому Типовим положенням про навчання з питань охорони праці, затвердженим наказом Держнаглядохоронпраці 17.02.99 № 27, зареєстрованим в Міністерстві юстиції України 21.04.99 за № 248/ 3541, Типовим положенням про спеціальне навчання, інструктажі та перевірку знань з питань пожежної безпеки на підприємствах, в установах та організаціях України і Переліком посад, при призначенні на які особи зобов'язані проходити навчання та перевірку знань з питань пожежної безпеки та порядком її організації, затвердженими наказом МВС України від 17.11.94 № 628, зареєстрованими в Міністерстві юстиції України 22.12.94 за №307/517.
  3. До роботи безпосередньо на ЕОМ допускаються особи, які не мають медичних протипоказань та які пройшли перед допуском на роботу ввідний та первинний інструктажі згідно з “Типовим положенням про навчання з питань охорони праці”, передбаченим наказом комітету з нагляду за охороною праці України Міністерства праці та соціальної політики від 17.02.1999  № 27, зареєстрованим у Міністерстві юстиції України 21.04.99 під № 248/3541. Під час усіх  видів практики на студентів розповсюджується дія Закону України  “Про загальнообов’язковке державне  соціальне страхування від нещасного випадку на виробництві та професійного захворювання, які спричинили втрату працездатності”, який було введено в дію з 01.01.2001. Згідно з розділом 2 цього закону студенти навчальних закладів у період проходження виробничої практики або виконання робіт на підприємствах підлягають обов’язковому соціальному страхуванню від нещасного випадку.
  4. Працівники, що виконують роботи з профілактичного обслуговування, налагодження і ремонту ЕОМ при включеному живленні та при інших роботах, передбачених Переліком робіт з підвищеною небезпекою, затвердженим наказом Держнаглядохоронпраці від 30.11.93 № 123, зареєстрованим в Міністерстві юстиції України 23.12.93 за № 196, зобов'язані проходити попереднє спеціальне навчання та один раз на рік перевірку знань відповідних нормативних актів з охорони праці.
  5. Допускати до роботи осіб, що в установленому порядку не пройшли навчання, інструктаж та перевірку знань з охорони праці та пожежної безпеки, забороняється.
  6. Забороняється допускати осіб, молодших 18 років, до самостійних робіт в електроустановках та на електрообладнанні під час профілактичного обслуговування, налагодження, ремонту ЕОМ та при інших роботах, передбачених Переліком важких робіт та робіт зі шкідливими та небезпечними умовами праці, на яких забороняється застосовувати працю неповнолітніх, затвердженим наказом Міністерства охорони здоров'я України від 31.03.94 № 46, зареєстрованим в Міністерстві юстиції України 28.04.94 за № 176/385.
  7. До робіт з обслуговування, налагодження та ремонту ЕОМ допускаються особи, що мають кваліфікаційну групу з електробезпеки не нижче III.
  8. Працівники, які виконують роботи з експлуатації, обслуговування, налагодження та ремонту ЕОМ, згідно зі статтею 10 Закону України "Про охорону праці" забезпечуються належними засобами індивідуального захисту відповідно до чинних норм, витяг з НАКАЗу від 10.02.99 № 21 (зареєстровано в Міністерстві юстиції України 17 червня 1999 р. за № 3 82/ 3675). Про затвердження Правил охорони праці під час експлуатації електронно-обчислювальних машин.

 

    1. Вимоги безпеки під час роботи

 

  1. Під час роботи на комп’ютері необхідно тримати корпус прямо, не сутулитися. Намагатися, щоб екран був розташований від Вас на відстані не ближче ніж 60 см. Необхідно так розташуватися, щоб верхня крайка екрана була трохи нижче рівня очей.
  2. Стежити за справністю апаратури й негайно припинити роботу з появою незвичайного звуку або самостійного відключення апаратури.
  3. Працювати за клавіатурою чистими руками, натискати клавіші плавно, без різких ударів.
  4. Ніколи не намагатися самостійно усувати несправність.

 

    1. Вимоги безпеки в аварійних ситуаціях

 

  1. В аварійних ситуаціях потрібно не втрачати самовладання:
    • повідомити про аварію керівництво підприємства;
    • при необхідності ухвалювати самостійний розв'язок щодо ліквідації аварії.
  1. У випадку загорання електропроводу або електроустаткування:
    • дотримуючись правил безпеки негайно відключити напругу (виключити рубильник, або виключити автомати);
    • гасити вогонь тільки піском, вуглекислотними й порошковими вогнегасниками (у жодному разі водою);
    • у задимлене приміщення слід заходити обов'язково вдвох, іти, тримаючись за стіни, щоб не втратити орієнтир.
  1. При поразці електрострумом необхідно звільнити потерпілого від впливу електроструму. При зупинці подиху треба проводити штучну вентиляцію легенів і закритий масаж серця, викликати швидку допомогу за телефоном 103.
  1. При пораненні необхідно накласти стерильну пов'язку на рану, у випадку артеріальної кровотечі потрібно накласти джгут.
  2. При переломах потрібно забезпечити постраждалому нерухомість костей у місцях перелому (накласти шину) і відправити його в медичну установу.

 

    1. Інструкція із заходів пожежної безпеки є службових кабінетах і лабораторіях

 

      1. Загальні положення
  1. У службових кабінетах, у лабораторіях призначених для виконання в них співробітниками своїх функціональних обов'язків, не пов'язаних з експериментальними й технічними досвідами й роботами.
  2. Устаткування приміщення повинні строго відповідати опису майна, передбаченого для цього приміщення.
      1. Співробітники зобов'язані:
  3. Постійно підтримувати в приміщенні чистоту й порядок.
  4. При прибутті в приміщення перевірити справність устаткування, а також джерел електропостачання. При виявленні несправностей негайно сповістити про це керівникові підрозділу, комендантові будинку й діяти відповідно до їхніх розпоряджень.
  5. По закінченню роботи закрити вікна, кватирки, відключити всі електроприлади й радіо, погасити світло й замкнути приміщення на ключ, який здати на зберігання вахтерові. У приміщеннях, де є охоронна й пожежна сигналізація, перед закриттям необхідно привести її в дію й сповістити про це вахтера.
      1. Забороняється:
  6. Захаращувати приміщення зайвими меблями, товарами й предметами, не зазначеними в описі майна.
  7. Користуватися несправними електронагрівальними приладами й використовувати їх у побутових цілях.
  8. Користуватися джерелами відкритого вогню.
  9. Курити в приміщенні й на території підприємства.
      1. Дії при пожежі
  10. Повідомити про пожежу, загорання за телефоном 101, назвавши адресу роботи, поверх і номер кімнати, своє прізвище.
  11. Приступитися до гасіння пожежі, загорання наявними засобами пожежогасіння, а при неможливості здійснення даних дій, вийти із приміщення, щільно закривши за собою двері, не закриваючи на ключ, і діяти відповідно до розпоряджень керівника підрозділу, коменданта будинку або обличчя, що організує гасіння.
  12. Повідомити особисто або через когось зі співробітників про те, що трапилося керівникові підрозділу, і також інженерові-інспекторові служби пожежної безпеки.
  13. У випадку загрози життю людей негайно організувати їхній порятунок (евакуацію), використовуючи для цього наявні сили й засобу:
    • вилучити за межі небезпечної зони всіх працюючих, не пов'язаних з ліквідацією пожежі;
    • припинити всі роботи в будинку, крім робіт, пов'язаних із заходами щодо ліквідації пожежі;
    • вжити заходів до евакуації людей і матеріальних цінностей.
      1. Обов'язки особи, відповідального за протипожежний стан приміщення:
  1. Здійснювати контроль над строгим дотриманням усіма співробітниками й відвідувачами правил і норм ПС, викладених у даній інструкції.
  2. Здійснювати виконання п.3 розділу II даної інструкції. При залишенні робочого приміщення раніше інших осіб призначити з їхнього числа відповідального за виконання даного пункту інструкції.
      1. Відповідальність особи, відповідального за протипожежний стан приміщенні:

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

ВИСНОВКИ

 

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

Ідея  розробки системи автоматичного  розподілення інформації постала за потреби швидко розподілити учбовий  матеріал чи завдання у комп’ютерному  класі як на всі комп’ютери, так  і на окремі з них з урахуванням  їх IP-адрес.

Першим етапом кваліфікаційної  роботи був комплексний аналіз літературних джерел стосовно методів, які можуть знадобитися при розробці системи автоматичного мережевого розподілення інформації: аналіз обраної середи програмування (QT) та її переваги серед інших; розробка моделі мережної роботи та технології клієнт – сервер (класи QTcpSocket, QTcpServer); розробка маніпулювання файловою системою (класи QDirModel, QFileSystemModel, QDir, QFileInfo та QFile); робота з потоками.

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

Третій  етап – розроблена система автоматичного  розподілу інформації по мережі, опис реалізованих класів Server, Client та MainClien. Були дані поради та інструкції з використання програми.

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

Розробка  подібної системи для швидкої роботи викладача зі студентами у комп’ютерному класі для швидкого розподілення навчального матеріал з урахуванням IP-адрес комп’ютерів являє собою дуже актуальну на даний час програму, яка на даний момент не має аналогів. Унікальна система автоматичного мережевого розподілення навчального матеріалу у комп’ютерному класі дуже зручна та економить час як викладача, так і студента, якому потрібно швидко отримати матеріал чи завдання.

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

  1. Система крос-платформна, що було досягнуто за допомогою програмування засобами платформи QT;
  2. Перевірені, поглиблені та застосовані знання про мережну роботу засобами QT, реалізований власний протокол взаємодії клієнта з сервером;
  3. Перевірені, поглиблені та застосовані знання про маніпулювання файловою системою й роботою з нею засобами QT;
  4. Перевірені та закріплені знання з розробки користувальницького інтерфейсу та програмного забезпечення.

Дану  програма реалізована за допомогою платформи QT, що надає потрійну перевагу:

1. Платформо-незалежність;

2. Зручний інтерфейс та легкість в використанні;

3. Являє практичну цінність, за потреби швидко розподілити учбовий матеріал чи завдання у комп’ютерному класі як на всі комп’ютери, так і на окремі з них з урахуванням їх IP-адрес.

 

СПИСОК  ВИКОРИСТАНИХ ДЖЕРЕЛ

 

      1. Аверкин В. П. Программирование на С++: Учебное пособие. – Санкт-Петербург: КОРОНА принт, 2003. – 512с.
      2. Александров А.М. Модели систем распределения информации. / Гармаш В.А. – [Электронный ресурс]. – Режим доступа: http://lib.mexmat.ru/books/55534
      3. Багдасарьян Н.Г. Человек и техника: Проявления взаимоотношений. – [Электронный ресурс]. – М.: Высшая школа, 1999. – 511с. – Режим доступа: http://www.countries.ru/library/technics/human.htm
      4. Бланшет Ж. QT 4: Программирование GUI на C++./ Саммерфилд М., Маттиас Э. – М.: Кудиц – Пресс, 2007. – 575с.
      5. Васильев К.К. Теория электрической связи: учебное пособие / Глушков В.А., Дормидонтов А.В., Нестеренко А.Г. – Ульяновск: УлГТУ, 2008. – 452с.
      6. Давыдов С.В. Система автоматического построения расписания учебных зянятий. / Салоп Ю. [Электронный ресурс].  – 1999. – c.120. – Режим доступа: http://davidovsv.narod.ru/schedule/index.html#intro
      7. Земсков Ю.В. Qt 4 на примерах. — СПб.: БХВ – Петербург, 2008. —  608с.
      8. Кудинов А.И. Особенности работы с потоками в QT. [Электронный ресурс].  – Режим доступа: http://www.devdoc.ru/index.php/content/view/qt_threads.htm
      9. Либерти Д. Освой самостоятельно C++ за 21 день. / Джонс Б. – 807с.
      10. Олійник А.В. Інформаційні системи і технології у фінансових установах: Навчальний посібник. / Шацька В.М. – Львів: Новий Світ-2000, 2006 – 436с.
      11. Харкевич А.Д. Системы распределения информации. [Электронный ресурс]. – Киев, 1992. – Режим доступа: http://www.knigoprovod.ru/?book_id=3273;topic_id=23
      12. Чеботарев А. QT: интерфейс, и не только... [Электронный ресурс]. – Режим доступа: http://citforum.ru/programming/qt/
      13. Шлее М. Qt 4: Профессиональное программирование на C++. — СПб.: БХВ – Петербург, 2007. —831с.
      14. Шлее М. Qt 4.5 Профессиональное программирование на C++. — СПб.: БХВ – Петербург, 2010. —896с.
      15. Закон Україна Про охорону праці 
      16. Навчальний посібник: http://ru.wikibooks.org/wiki/Qt
      17. Офіційний сайт Developer Network: http://qt-project.org/doc/qt-4.8/qfilesystemmodel.html
      18. Офіційний сайт СrossРlatform.ru: http://doc.crossplatform.ru /qt/4.3.2/qtnetwork.html#details
      19. Офіційний сайт qt-doc.ru: http://qt-doc.ru/rabota-s-direktoriyami-klass-qdir.html
      20. Робота з QTcpSocket: http://www.prog.org.ru/topic_11138_0.html

 

  

 

 

 

 

 

 

 

 

 

ДОДАТКИ

 

Додаток А

Лістинг ModelServer

#include "ModelServer.h"

#include <QStringList>

ModelServer::ModelServer(QObject *parent): QTcpServer(parent)

{  modelFileSystem = new ModelFileSystem(parent,"/");

    m_nNextBlockSize=0;

}

void ModelServer::incomingConnection(int socketfd)

{  QTcpSocket *client = new QTcpSocket(this);

    client->setSocketDescriptor(socketfd);

    clients.push_back(new ModelClientItem(client,client->peerAddress().toString(),"Client "+QString::number(clients.size())));

    qDebug() << "New client from:" << client->peerAddress().toString();

    connect(client, SIGNAL(readyRead()), this, SLOT(readyRead()));

    connect(client, SIGNAL(disconnected()), this, SLOT(disconnected()));

}

void ModelServer::readyRead()

{  QTcpSocket *client = (QTcpSocket*)sender();

    QDataStream in(client);

    in.setVersion(QDataStream::Qt_4_2);

    QByteArray block;

    QDataStream out(&block, QIODevice::WriteOnly);

    QString ip;

    QString caption;

    QString size;

    QString path;

    QString drive;

    quint8 count;

    quint8 rowCount;

    QStringList driveList;

    QImage image;

    quint8 command;

    for (;;)

    {  m_nNextBlockSize=0;

        if(client->bytesAvailable() < sizeof(quint64))

             break;

        in >> m_nNextBlockSize;

        if(client->bytesAvailable() < m_nNextBlockSize)

           break;

        in >> command;

        switch(command)

        {    case 11:

                out << quint64(0);

                out << (quint8)11;

                out << (quint8)clients.size();

               out << QString("server");

                out << QString("--");

                for(int i=0;i<clients.size();i++)

                { if(clients[i]->getClientIp().compare(client->peerAddress().toString())!=0)

                    {out << clients[i]->getClientIp();

                        out << clients[i]->getClientCaption();

                    }

                }

                out.device()->seek(0);

                out << quint64(block.size() - sizeof(quint64));

                client->write(block);

            break;

            case 12:

                in >> ip;

                if(ip.compare("server")==0)

                { 

                    out << quint64(0);

                    out << quint8(12);

                    out << quint8(modelFileSystem->getDrivesList().size());

                    for(int i=0;i<modelFileSystem->getDrivesList().size();i++)

                    {out << modelFileSystem->getDrivesList()[i];

                    }

                    out.device()->seek(0);

                    out << quint64(block.size() - sizeof(quint64));

                    client->write(block);

                }

                else

                {block.clear();

                    out << quint64(0);

                    out << (quint8)12;

                    out <<  ip;

                    out.device()->seek(0);

                    out << quint64(block.size() - sizeof(quint64));

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