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

Автор работы: Пользователь скрыл имя, 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 Мб (Скачать документ)

 

void ModelFileSystem::copy(QString source, QString destination)

{QModelIndex ItemIndex = filemodel->index(QDir(source).absolutePath());

     if(filemodel->fileInfo(ItemIndex).isDir())

     {QDir sourceDir(source);

        if(!sourceDir.exists())

            return;

        QDir destDir(destination);

        if(!destDir.exists())

        { destDir.mkdir(destination);}

        QStringList files = sourceDir.entryList(QDir::Files);

        for(int i = 0; i< files.count(); i++)

        { QString srcName = source + "/" + files[i];

           QString destName = destination + "/" + files[i];

           QFile::copy(srcName, destName);

        }

        files.clear();

        files = sourceDir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot);

        for(int i = 0; i< files.count(); i++)

        {QString srcName = source + "/" + files[i];

           QString destName = destination + "/" + files[i];

           copy(srcName, destName);

        }

     }

     else

     {QFile::copy(source, destination);

     }

}

Лістинг 3.1 –  Реалізація методу copy у класі ModelFileSystem

 

    1. Програмна реалізація сервера

 

Розглянемо діаграму рівня класів (див.рис. 3.1). З діаграми видно, що головним класом є ModelServer. Розглянемо його та його основні атрибути:

    • QVector<ModelClientItem*> clients – список підключених до сервера клієнтів;
    • QVector<QModelIndex> indexHistory – зберігає історію переходів користувача по файловій системі;
    • ModelFileSystem *modelFileSystem – об’єкт управління локальною файловою системою;
    • quint64 m_nNextBlockSize – розмір одержуваного пакету;
    • QVector<ModelFileSystemItem*> fileList – зберігає список файлів у поточному каталозі.

Розглянемо  основні методи цього класу:

    • QTcpSocket *getClientByIp(QString ip) – метод пошуку клієнта у списку за його адресою;
    • QTcpSocket *getClientByCaption(QString caption) – метод пошуку клієнта у списку за його назвою;
    • void readyRead() – перевантажений метод, який викликається, коли QTcpSocket отримує будь-яку інформацію з мережі, це головний метод сервера, головною задачею цього методу є отримання та обробка команд, отриманих від підключених клієнтів;
    • void disconnected() – перевантажений метод, який викликається, коли клієнт від’єднується від сервера, головна задача цього методу – автоматичне видалення відключеного клієнта зі списку доступних клієнтів;
    • void incomingConnection (int socketfd) - перевантажений метод, який викликається, коли до сервера під’єднується новий клієнт, головна задача цього методу – отримання назви, ID та ІР, та занесення даного клієнту до списку досупних.

Клас  ModelServer тісно взаємодіє з класами ModelClientItem та ModelFileSystem.

 

Рис.3.1 - Програмна  реалізація сервера

 

Клас ModelClientItem зберігає інформацію о клієнте, а саме:

    • QTcpSocket *clientSocket – об’єкт роботи сервера з клієнтом по мережі;
    • QString ip – ІР-адрес клієнта;
    • QString caption – назва клієнта;
    • int id – идентифікатор клієнта.

 

    1. Програмна реалізація клієнта 

 

Як видно  з діаграми рівня класів (див.рис.3.2) головним класом є ModelClient. Розглянемо його та його основні атрибути:

    • QTcpSocket *socket - об’єкт роботи клієнта з сервером по мережі;
    • ModelFileSystem *modelFileSystem – об’єкт управління локальною файловою системою;
    • quint64 m_nNextBlockSize – розмір одержуваного пакету;
    • QVector<ModelFileSystemItem> fileList – зберігає список файлів у поточному каталозі.

Розглянемо  основні методи цього класу:

    • void readyRead() – обробляє всі команди від сервера та виконує їх;
    • void connected() – виконується після встановлення з’єднання з сервером, головна задача – відправлення до сервера назви клієнта та його ID.

 

Рис.3.2 - Програмна  реалізація клієнта

 

    1. Програмна реалізація графічного клієнта 

 

Розглянемо діаграму рівня класів (див.рис.3.3).

Як і  в попередньому випадку (див. 3.2), головним класом програмної реалізації графічного клієнта є ModelClient, але в даній реалізації він більш розширений.

 

Рис.3.3 - Програмна  реалізація графічного клієнта

 

Розглянемо  основні атрибути класу ModelClient:

    • QTcpSocket *socket – об’єкт роботи клієнта з сервером по мережі;
    • QVector<ModelClientItem> clients – список доступних підключених клієнтів до сервера;
    • QDataStream out – об’єкт за допомогою якого реалізовується перетворення рядків та об’єктів класу QImage у послідовність байт.

Основними методами класу ModelClient є:

    • void initiateAvalibleClientsList – ініціює запит до сервера з метою отримання списку доступних клієнтів;
    • void initiateDrivesList(QString ip,int rm) – ініціює запит до сервера з метою отримання списку доступних локальних дисків вказаного клієнта або сервера;
    • void initiateChangeDrive(QString ip, QString drive, int rm) – ініціює запит зміни локального диску для вказаного клієнту або серверу;
    • void initiateFileItemsList(QString ip, int rm) – ініціює запит для отримання списку файлів поточного каталогу на вказаному клієнті або сервері;
    • void initiateGoTo(QString ip, QString path, int rm) – ініціює запит для переходу до вказаного каталогу на вказаному клієнті або сервері;
    • void initiateGoBack(QString ip, int rm) – ініціює запит для переходу до попереднього каталогу на вказаному клієнті або сервері;
    • void initiateGoForward(QString ip, int rm) – ініціює запит для переходу до наступного каталогу на вказаному клієнті або сервері;
    • void initiateGoHome(QString ip, int rm) – ініціює запит для переходу до корнівого каталогу на вказаному клієнті або сервері;
    • void initiateCopy(QString sourceIp, QString source, QStringList destIp, QString dest) – ініціює копіювання вказаного файлу або директорії зі вказаного клієнта або сервера до вказаного місця, передавання списку ІР-адрес (QStringList destIp) дозволяє копіювання файлів як одному клієнту, так і багатьом одночасно;
    • void initiateDelete(QStringList sourceIp, QString source) – ініціює видалення вказаного файлу або директорії на вказаному клієнті або сервері;
    • void initiateCreateNewDir(QstringList sourceIp, QString caption) – ініціює створення нового каталогу на вказаному клієнті або сервері.

Головним  класом графічного клієнта є MainWindow, який активно взаємодіє з класами ModelClient та ModelFileSystem, та реалізує графічний інтерфейс для взаємодії з користувачем.

 

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

 

Перш  за все потрібно запустити сервер. Для цього потрібно вказати путь до виконавчого файлу сервера, потом  вказати порт як параметр в консолі (див.рис.3.4).

 

Рис.3.4 –  Запуск сервера

 

Далі  потрібно запустити клієнти, вказавши путь до виконавчого файлу клієнта, ІР-адрес сервера та його порт як параметр в консолі (див.рис.3.5). Не обов’язковим параметром є ім’я клієнта, за його відсутності сервер автоматично присвоїть до клієнта, який підключається.

 

Рис.3.5 –  Запуск клієнтів

 

Для управління розподілом інформації користувач повинен  запустити графічний клієнт. При  першому запуску програми запуститься  діалогове вікно налаштувань, в  якому потрібно вказати ІР-адрес та порт сервера (див.рис.3.6), після чого ці налаштування будуть зберігатись у конфігураційному файлі.

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

    • Open – відкриття файлу, при цьому файл буде автоматично скопіровано до поточного компьютеру;
    • Copy – копіювання файлу або директорії;
    • Move – переміщення файлу або директорії;
    • Delete – видалення файлу або директорії;
    • New Folder – створення нового каталогу.

 

Рис.3.6 –  Діалогове вікно налаштувань

 

Рис.3.7 –  Головне вікно програми

 

Також у  програмі передбачена можливість одночасного  копіювання файлу або каталогу до декількох клієнтів. Для цього  користувачу потрібно зайти в меню Multiple operations, вибрати операцію (копіювання, переміщення, видалення чи створення нового каталогу), потім обрати клієнтів (див.рис.3.8).

 

Рис.3.8 –  Вибір клієнтів

 

Після поданих  дій, в залежності від типу операції, з’явиться вікно виконання процесу (див.рис.3.9).

 

Рис.3.9 –  Копіювання файлу 

РОЗДІЛ 4

ОХОРОНА ПРАЦІ

 

    1. Основні поняття охорони праці

 

Охорона праці – це:

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

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

Законодавчими актами, що визначають основні правовідносини у виробничій діяльності, є державні нормативні акти про охорону праці (ДНАОП).

Державні нормативні акти про охорону  праці — це правила, стандарти, норми, положення, інструкції та інші документи, яким надано силу закону і які є  обов'язковими для виконання.

Залежно від сфери впливу ДНАОП  можуть мати міжгалузеву та галузеву дію.

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

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

ДНАОП затверджують:

  1. Кабінет Міністрів;
  2. Держгірпромнагляд;
  3. органи санітарно-епідеміологічної служби МОЗ;
  4. органи державного пожежного нагляду МНС;
  5. органи нагляду за ядерною безпекою та ін.

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

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

До найважливіших підзаконних  нормативно-правових актів, що регламентують  охорону праці, належать такі:

  1. Положення про порядок розслідування та введення обліку нещасних випадків, професійних захворювань і аварій на виробництвах(№1112 від 25.08.2004р.);
  2. Правила відшкодування власником підприємства шкоди, заподіяної працівникові ушкодженням здоров'я, пов'язаним з виконанням ним трудових обов'язків (№838 від 23.07.1993р.);
  3. Положення про порядок накладання штрафів на підприємство за порушення нормативних актів про охорону праці(№ 754 від 17.09.1993р.);
  4. Список виробництв, професій і робіт з важкими та шкідливими умовами праці, на яких забороняється застосування праці жінок, затверджений МОЗ (№ 256 від 29.12.1993р.);
  5. Постанова КМУ від 15.10.03 №1631 «Про затвердження порядку видачі дозволів Держнаглядохоронпраці та його територіальними органами»
  6. Типове положення про навчання з питань охорони праці (наказ Держнаглядохорон праці 25.01.2005 №15);
  7. Положення про Державний Комітет України з нагляду за охороною праці затверджено указом президента від 16.01.2003р. № 29/2003 і інші.

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

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

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

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

 

    1. Загальні положення

 

  1. Персональна електронно-обчислювальна машина ЕОМ повинна експлуатуватися в приміщенні розміром не менш 4,5 м на одну ЕОМ при температурі навколишнього повітря 20-24 градуса за Цельсієм, відносній вологості від 50 до 70%, атмосферному тиску від 80 до 107 кПа/60-880мм рт. ст. Присутність шкідливих речовин, пилі й рухливість повітря в робочій зоні повинні відповідати нормативам, які зазначено в ДЕРЖСТАНДАРТ 12.1.005-76, ДЕРЖСТАНДАРТ 12.1.007-76.
  2. Підлога в приміщенні повинна бути виготовлена з матеріалів, які мало електризуються. Якщо підлога в приміщенні виготовлена із синтетичного матеріалу (лінолеум і т.п.), то для усунення електростатичного розряду необхідно щодня проводити вологе збирання водяним розчином антистатичної пасти.
  3. Столи й стільці повинні бути виготовлені з матеріалів, які не сприяють нагромадженню електростатичного заряду.
  4. У виробничім приміщенні повинна бути забезпечена пожежна безпека згідно з вимогами ДЕРЖСТАНДАРТ 12.1.004-85.
  5. Приміщення, у якім установлена ЕОМ повинне забезпечуватися висвітленням не менш 500 ЛК при загальнім і комбінованім висвітленні.
  6. ЕОМ повинні перебувати на відстані не менш 0,8 м. від радіаторів центрального опалення, які необхідно відгородити щитом з ізоляційного матеріалу.
  7. Жалюзі на корпусах моделей ЕОМ не повинні бути закриті сторонніми предметами й папером.

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