Автоматизированая система тестирования знаний по программированию

 

Содержание


Введение

1. Предпроектные исследования

1.1 Описание предметной области задачи автоматизации

.2 Анализ прототипов системы

.3 Обоснование выбора инструментальной среды разработки программного обеспечения системы

.4 Обоснование выбора технической платформы разрабатываемой системы

.5 Задачи выпускной работы

2. Детализация задачи автоматизации

2.1 Анализ первого уровня детализации

.2 Анализ второго уровня детализации

3. Алгоритмы решения задачи автоматизации

3.1 Алгоритм создания теста и ввода его исходных данных

.2 Алгоритм создания и добавления вопроса

.3 Алгоритм записи теста в файл

.4 Алгоритм генерации тестового билета

.5 Алгоритм отправки билета

.6 Алгоритм ввода личной информации

.7 Алгоритм отправки запроса на новый билет

.8 Алгоритм получения билета

.9 Алгоритм тестирования

3.10 Алгоритм отправки ответов

.11 Алгоритм получения ответов

.12 Алгоритм проверки ответов

.13 Алгоритм добавления результатов в таблицу базы данных

4. Конструирование программного обеспечения

4.1 Архитектура программного обеспечения

.2 Информационное пространство системы

.3 Интерфейс пользователя

5. Тестирование системы

. Экономическая часть

6.1 Порядок расчета и анализа экономической эффективности применения программного обеспечения "Тестирования знаний обучающихся программированию"

.2 Расчет экономической эффективности применения программного обеспечения и определение его цены

7. Охрана труда

7.1 Выявление и анализ опасных и вредных производственных факторов, действующих в рабочей зоне проектируемого объекта

.2 Разработка мероприятий по предотвращению или ослабления возможного воздействия опасных и вредных производственных факторов на работающих

.3 Обеспечение экологической безопасности функционирования проектируемого объекта при воздействии опасных и вредных производственных факторов

Выводы

Список использованной литературы



Введение


Данная выпускная работа бакалавра рассматривает возможность автоматизации тестирования обучающихся программированию. В данной пояснительной записке будет описан процесс решения этой задачи и создания программного продукта направленного на ее решение.

Информационные технологии стали неотъемлемой частью жизни социума. Существование и функционирование образовательной системы, как одного из оснований становления и развития информационного общества, немыслимо без информационных технологий. При этом их использование в образовательной системе направлено на единовременное решение нескольких задач:

-обеспечение развития информационного общества;

-расширение сферы образовательных услуг с помощью применения информационных технологий;

-развитие самой образовательной системы на основе ИТ.

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

Компьютерное тестирование имеет ряд преимуществ:

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

-объективность в оценке;

-тестирование на компьютере более интересно по сравнению с традиционными формами опроса, что создает положительную мотивацию.

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



1. Предпроектные исследования


1.1 Описание предметной области задачи автоматизации


Анализ показал, что на современном этапе развития сферы образования в Украине очень важной частью является проверка и контроль знаний обучающихся тех или иных учебных заведений.

Традиционно выделяют следующие методы контроля знаний:

-устная проверка - позволяет выяснить качество подготовки учащегося к занятию, проверить выполнение ним домашнего задания, а также знание материала курса; состоит из составления преподавателем вопросов и ответа на эти вопросы учащимся; качество тестирования во многом зависит от правильности составления и количества вопросов, а также от знания предмета самым преподавателем;

-проверка контрольно-графических работ - является более объективным по сравнению с устной проверкой знаний, позволяет проверить возможность применения теоритических знаний на практике, а также позволяет проконтролировать сформировавшиеся навыки; этот метод является более трудоемким по сравнению с устной проверкой знаний, так как состоит из 4 этапов: подготовка, организация, проведение, анализ результатов;

-проверка практических и лабораторных работ - с помощью этого метода получают данные об умении учащихся применять полученные знания при решении практических задач, пользоваться различными таблицами, формулами, чертежными и измерительными инструментами, приборами.

Все три выше предложенных метода обладают одним общим свойством - они требуют максимального вмешательства преподавателя. С одной стороны это очевидный плюс, так как преподаватель будет максимально осведомлен о знаниях студента. Но в тоже время это очень загружает его рабочее время, что приводит к росту погрешности в оценке работы студента. Вследствие чего падает качество контроля знаний учащегося.

С развитием научно-технического прогресса человечеством было придумано более качественный и менее трудоемкий способ проведения контроля знаний - тестирование. И совсем недавно этот способ применяется с использованием ЭВМ. Это дает возможность повысить качество контроля, уменьшить его трудоемкость, а также себестоимость. Максимально возможно убирается из процесса тестирования человеческий фактор. Большая степень его влияния остается только на этапе составления тестов, но путем проведения нескольких итераций их составления и здесь этот фактор значительно уменьшается. Это позволяет повысить качество. ЭВМ самостоятельно проводит этапы организации, проведения и анализа результатов. Это позволяет сократить затраты времени на подготовку, а также освободить человека от этих обязанностей. Это уменьшает трудоемкость, а также снизить себестоимость контроля знаний. Обобщенная схема компьютерного тестирования знаний приведена на рисунке 1.1.


Рисунок 1.1 - Обобщенная схема проведения компьютерного тестирования


Несмотря на все очевидные достоинства данного вида тестирования, он также обладает и рядом недостатков, среди которых:

-минимальная уникальность тестовых заданий - тестовых заданий столько, сколько их добавил преподаватель;

-однотипность заданий - одинаковые типы заданий для разных направлений обучения;

-разрыв связи обучающийся - педагог и незнание преподавателем знаний студента;

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

Данная работа предполагает повышение качества контроля знаний обучающихся программированию путем добавления уникальных типов заданий, а также заданий разных типов. Также она подразумевает проверку практических навыков программирования и анализа задач по программированию.


.2 Анализ прототипов системы


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

Система тестирования знаний "Конструктор тестов"

"Конструктор тестов"[1] (рисунок 1.2) - это универсальная система проверки знаний. Данную программу можно использовать как в домашних условиях, так и для проведения тестирования в любых учебных заведениях. Программа позволяет использовать неограниченное количество тем, вопросов и ответов. Программа поддерживает пять типов вопросов, что позволяет проводить любые тесты. В тестах имеется возможность использовать музыку, звуки, изображения и видеоролики. Любые данные можно распечатать на принтере. На одном компьютере тестирование независимо могут проходить несколько человек, входя в программу под своими именами. Программа проста в использовании.

Среди недостатков этой системы относительно поставленной задачи является отсутствие необходимых типов заданий, а также закрытый исходный код системы.


Рисунок 1.2 - Окно редактирования вопроса в "Конструкторе тестов"


Система тестирования знаний MyTest X

MyTest X[2] (рисунок 1.3) это система программ (программа тестирования учащихся, редактор тестов и журнал результатов) для создания и проведения компьютерного тестирования, сбора и анализа результатов, выставления оценки по указанной в тесте шкале.

Программа MyTest X работает с девятью типами заданий: одиночный выбор, множественный выбор, установление порядка следования, установление соответствия, указание истинности или ложности утверждений, ручной ввод числа (чисел), ручной ввод текста, выбор места на изображении, перестановка букв. Задание типа да/нет легко можно получить, используя тип с одиночным выбором. В тесте можно использовать любое количество любых типов, можно только один, можно и все сразу.

Среди недостатков этой системы относительно поставленной задачи является отсутствие необходимых типов заданий, а также закрытый исходный код системы.


Рисунок 1.3 - Окно тестируемого в системе "MyTestX"


Система тестирования знаний Moodle

Moodle [3] (рисунок 1.4)- система управления курсами (электронное обучение), также известная как система управления обучением или виртуальная обучающая среда (англ.). Представляет собой свободное (распространяющееся по лицензии GNU GPL) веб-приложение, предоставляющее возможность создавать сайты для онлайн-обучения.

Система реализует философию "педагогики социального конструкционизма" и ориентирована прежде всего на организацию взаимодействия между преподавателем и учениками, хотя подходит и для организации традиционных дистанционных курсов, а также поддержки очного обучения.переведена на десятки языков, в том числе и русский и используется почти в 50 тысячах организаций из более чем 200 стран мира. В РФ зарегистрировано более 1000 инсталляций. Количество пользователей Moodle в некоторых инсталляциях достигает 500 тысяч человек.

Лидером и идеологом системы является Martin Dougiamas из Австралии. Проект является открытым и в нём участвует и множество других разработчиков. Русификацию Moodle осуществляет команда добровольцев из России, Белоруссии и Украины.

Среди недостатков этой системы относительно поставленной задачи является отсутствие необходимых типов заданий, а также то, что настройка системы занимает слишком много времени и требует специальных навыков, так как она имеет Web - интерфейс.


Рисунок 1.4 - Демонстрационный сайт системы Moodle


.3 Обоснование выбора инструментальной среды разработки программного обеспечения системы


Основной задачей данной работы является автоматизация тестирования знаний обучающихся программированию. Для выполнения этой цели будет разработана программная система для тестирования знаний. Чтобы это сделать необходимо выбрать язык программирования и среду программирования максимально поддерживающих разработку программных приложений с дружелюбным и современным интерфейсом пользователя. Вследствие этого были отброшены языки низкого уровня, такие как Assembler и C. Среди языков высокого уровня был выбран язык C++, так как он обладает необходимым набором средств для реализации данной задачи, имеет большое количество справочной информации, а также присутствует большое количество библиотек классов для работы с ним. Среди сред программирования были варианты Borland C++ Builder, Visual Studio, Qt Creator (рисунок 1.5).

Рисунок 1.5 - Графическая среда разработки Qt Creator


Была выбрана среда Qt Creator версии 2.8.1 и библиотека Qt 4.8.5, так как она обладает следующими преимуществами:

-большая библиотека классов Qt для работы на языке C++;

-большая справочная система;

-большое сообщество Qt-project, которое поддерживает и развивает библиотеку Qt;

-бесплатность использования библиотеки Qt версии 4.8.5;

-кроссплатформенность приложений написанных с использованием библиотеки Qt.

Целевой операционной системой была выбрана Windows XP, так как именно эта версия Windows является доминирующей на рынке операционных систем внутри учебных заведений Украины. Так же возможно сборка проекта под другие операционные системы, поддерживаемые библиотекой Qt после проведения минимальных изменений в исходном коде проекта.


.4 Обоснование выбора технической платформы разрабатываемой системы


Эффективность разрабатываемой системы обеспечивается при наличии таких технических условий эксплуатации:

-Процессор 2.2 GHz;

-ОЗУ 512 МБ;

-200 МБ свободного пространства на жестком диске;

-Монитор (разрешение 1024х768);

-Мышь;

-Клавиатура.


1.5 Задачи выпускной работы


Цель работы: снижение сроков и повышение качества тестирования знаний обучающихся программированию.

Задачи выпускной работы:

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

.Разработать требования к разрабатываемой системе и выделить задачи, которые будет решать система.

.Провести декомпозицию задач автоматизированной системы тестирования знаний.

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

.Разработать автоматизированную систему тестирования знаний.

.Провести тестирование системы.

В данной работе необходимо разработать автоматизированную систему тестирования знаний учащихся программированию.

Автоматизированная подсистема тестирования знаний учащихся программированию должна решать следующие задачи:

-максимальная автоматизация формирования списка тестовых заданий по дисциплине;

-сохранение списка тестовых заданий по дисциплине в файл;

-генерация билета и отправка его студенту;

-непосредственно сам процесс тестирования;

-анализ результатов;

-сохранение результатов в базе данных.

Программная система поддерживает следующие типы заданий:

-написать программу - студенту будет необходимо написать программу, которая соответствует требования задания, описанным преподавателем;

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

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

-определить исход работы генерируемого выражения инициализации - тестируемому будет предложено выражение для инициализации переменной и ему будет необходимо определить, что будет присвоено этой переменной.

Вследствие этого было решено разбить программную систему на 2 независимые программные единицы: программу - сервер и программу - клиент. Далее необходимо провести тестирование системы и исправить найденные ошибки.

2. Детализация задачи автоматизации


Задачей данной работы является автоматизация тестирования знаний для повышения качества тестирования и сокращение его сроков и затрат. В связи с этим является необходимым разработать программную систему для тестирования знаний.

На данном этапе необходимо описать базовые понятия, которые будут применяться в работе: тест, тема, билет (тестовый билет), вопрос.

Вопрос - это базовое понятие для данной работы - некоторая структура, которая хранит непосредственно вопрос, ответ и варианты ответа, если это закрытая форма вопроса.

Тема - структура данных, которая хранит некоторый набор вопросов по одному направлению некоторой дисциплины.

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

Билет - структура данных, которая хранит некоторое количество (указанное в настройках теста) вопросов из тем одного теста.


2.1 Анализ первого уровня детализации


На первом уровне детализации (рисунок 2.1) систему тестирования будет логично представить в виде некоторого черного ящика, который имеет входные данные, на который имеют воздействие преподаватель и тестируемый и на выходе у нее будет некоторый результат. Описание входных данных, формат их представления описан ниже в таблице 2.1.



Рисунок 2.1 - Первый уровень детализации


Таблица 2.1 - Описание входных данных

Назначение входного данногоФорматОграниченияКем предоставляетсяФИО студентаСтрока100 символовТестируемыйГруппа студентаСтрока10 символовТестируемыйКоличество вопросов в тестовом билетецелое число1..100 ПреподавательВремя для теста, минутцелое число 1..100Преподаватель

Входными данными также будет некоторый набор тестов, который предоставляет преподаватель. В каждом тесте будут вопросы четырех типов описанных выше. Далее представлены описания входных данных тестов и заданий, их формат и ограничения.


Таблица 2.2 - Описание данных теста

Назначение входного данногоФорматОграниченияНазвание тестаСтрока100 символовТип вопроса - вычислить выражение с операторамиКоличество входных параметровцелое число2..20Тип вопроса - написать программуКоличество входных параметровцелое число0..10Количество выходных параметровцелое число0..10Количество тестов написанной программыцелое число1..10Тип вопроса - описать вывод программыКоличество входных параметровцелое число1..10Тип вопроса - определить исход работы инициализирующего выраженияКоличество параметров в инициализаторецелое число1..10

Таблица 2.3 - Описание данных результата

Назначение выходного параметраФорматОграниченияФИО студентаСтрока100 символовГруппа студентастрока10 символовКоличество правильных ответовцелое число0..количество вопросов в тестеВремя прохожденияцелое число0..время для тестаДата прохождениястрока10 символов

2.2 Анализ второго уровня детализации


На втором уровне детализации (рисунок 2.2) будет логично подразделить систему тестирования на функциональные подзадачи: создание тестов, непосредственно тестирование и обработка результатов.


Рисунок 2.2 - Второй уровень детализации


Изначально выполняется задача создания тестов, а также их редактирования. Данной задачей занимается преподаватель. Результатом работы данной задачи является тест. Далее посредством генерирования тестового билета выполняется тестирование, которым занимается студент. Результатом этого этапа является пройденный билет. Далее выполняется обработка и сохранение результатов.

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

Уже на данном этапе детализации является логичным разделение всей системы на 2 части, а именно часть преподавателя в которой будут выполняться задачи создания тестов и обработки и сохранения результатов и части тестируемого, где будет выполняться задача непосредственно тестирования.

Создание тестов

Функциональную подзадачу создания теста (рисунок 2.3) выполняет система под влиянием исключительно преподавателя.


Рисунок 2.3 - Детализация создания тестов


На этапе создания тестов изначально вводится название теста и его настройки. Далее преподавателю необходимо добавить вопросы, которые будет возможно редактировать в дальнейшем. Результатом работы этих этапов является структура данных представляющая собой тест. На следующем этапе происходит запись этого теста на диск, так как не целесообразно его постоянно хранить в оперативной памяти. После чего, по запросу системы тестируемого, происходит генерация билета в соответствии с настройками теста и отправка его тестируемому.

Тестирование

Функциональная подзадача тестирования (рисунок 2.4) выполняется системой с влиянием на нее студента.

Первым этапом этой задачи является запрос системой списка возможных тестов в системе преподавателя и выбор необходимого теста. Далее тестируемый вводит свои данные, а именно ФИО и номер группы. После этого программа студента отправляет системе преподавателя запрос на получение тестового билета. Следующим шагом является получение билета. Далее идет этап непосредственно тестирования. Результатом этого этапа является пройденный билет, который отправляется в систему преподавателя на этапе отправки результата.



Рисунок 2.4 - Детализация задачи тестирования


Обработка и сохранение результатов

Этап обработки и сохранения результатов (рисунок 2.5) выполняет система преподавателя в автоматическом режиме.

На первом этапе система получает результат с системы студента, а именно пройденный билет.

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


Рисунок 2.5 - Детализация этапа обработки и сохранения результатов


3. Алгоритмы решения задачи автоматизации


3.1 Алгоритм создания теста и ввода его исходных данных


Алгоритм подзадачи создания теста (рисунок 3.1) и ввода его исходных данных (таблица 2.1), предоставляемых преподавателем, необходим для ввода и контроля настроек теста. Далее эти настройки проверяются на корректность. После этого создается объект теста, который добавляется в список доступных для тестирования.


Рисунок 3.1 - Алгоритм создания теста и ввода его исходных данных


3.2 Алгоритм создания и добавления вопроса


В алгоритме создания и добавления вопросов (рисунок 3.2) изначально происходит выбор типа вводимого вопроса. Далее подготавливается форма для ввода этого типа вопроса путем отображения необходимых полей и таблиц для ввода. После чего происходит ввод вопроса и его параметров (параметры и их диапазоны представлены в таблице 2.2). В случае если данные корректны, то вопрос добавляется в объект теста и продолжается работа. Если же данные введенные преподавателем в вопрос не являются корректными, то выводится оповещение о некорректности введенных данных и повторяется их ввод.

Рисунок 3.2 - Алгоритм создания и добавления вопроса


3.3 Алгоритм записи теста в файл


В алгоритме записи объекта теста в файл (рисунок 3.3) изначально идет цикл от 0 до количества тем в тесте. Внутри этого цикла в файл записывается количество вопросов в теме. Далее начинается внутренний цикл от 0 до количества вопросов в теме. В нем сначала записывается название типа вопроса, а затем сам вопрос в файл. После этого внутренний цикл закрывается, а после него закрывается внешний цикл. После чего продолжается работа.


Рисунок 3.3 - Алгоритм записи теста в файл


3.4 Алгоритм генерации тестового билета


В алгоритме генерации тестового билета (рисунок 3.4) изначально создается объект билета и ему присваивается уникальный номер. Далее открывается цикл от 0 до количества вопросов в билете. Внутри этого цикла проверяется размер множества на равность количеству тем в выбранном тесте. Если равно, то множество выбранных тем обнуляется, если нет, то без обнуления этого множества происходит следующее действие, а именно генерация случайного числа в диапазоне от 0 до количества тем в выбранном тесте. Далее происходит проверка этого числа на наличие его во множестве выбранных тем, если оно там есть, то генерация происходит снова. Если его там нет, то оно добавляется в это множество и выбирается эта тема для дальнейшего выбора вопроса из нее. На следующем этапе происходит проверка на равенство размера множества выбранных вопросов из ранее выбранной темы и общего количества вопросов в данной теме. Если они равны, то множество выбранных вопросов обнуляется. Если нет, то без обнуления этого множества происходит следующее действие - генерация случайного числа в диапазоне от 0 до количества вопросов в данной теме. Если это число есть во множестве выбранных вопросов, то выполняется повторная генерация этого числа. Если его нет в этом множестве, то оно добавляется в это множество. Далее проверяется, является ли вопрос под этим номеров открытого типа, если да, то он просто добавляется в объект билета. Если вопрос закрытого типа, то для него генерируются варианты ответа и он также добавляется в объект билета. Далее цикл заканчивается и продолжается работа.


Рисунок 3.4 - Алгоритм генерации тестового билета


3.5 Алгоритм отправки билета


В алгоритме отправки билета (рисунок 3.5) вначале выполняется отправка количества вопросов в билете и уникального идентификатора билета. Далее начинается цикл от 0 до количества вопросов в билете-1, в котором сначала выполняется отправка типа вопроса. Далее отправляется вопрос. Далее проверяется, отправился ли вопрос, если да, то цикл заканчивается и продолжается работа. Если вопрос не был отправлен, то выдаётся запрос на повторную отправку. Если пользователь выбирает не отправлять, то удаляются личная информация студента и сгенерированный билет.


Рисунок 3.5 - Алгоритм отправки билета


3.6 Алгоритм ввода личной информации


В алгоритме ввода личных данных (рисунок 3.6) изначально происходит непосредственно ввод этих данных (описание и диапазоны представлено в таблице 2.1, предоставляемые студентом). Далее происходит проверка этих данных. Если они корректны, то происходит их сохранение и продолжение работы. В случае несоответствия требованиям выдаётся запрос на повторный ввод.


Рисунок 3.6 - Алгоритм ввода личной информации


3.7 Алгоритм отправки запроса на новый билет


В алгоритме отправки запроса на билет (рисунок 3.7) сначала отправляется запрос с личной информацией. Если эта информация не отправилась, то выполняется запрос на повторную отправку.


Рисунок 3.7 - Алгоритм отправки запроса на новый билет


3.8 Алгоритм получения билета


В начале алгоритма приёма билета (рисунок 3.8) выполняется получение количества вопросов в билете и уникального идентификатора билета. Далее начинается цикл от 0 до количества вопросов в билете-1. Внутри него выполняется приём типа вопроса, а затем самого вопроса. После этого вопрос сохраняется в объекте билета. После этого заканчивается цикл и продолжается работа.


Рисунок 3.8 - Алгоритм получения билета

3.9 Алгоритм тестирования


В алгоритме тестирования (рисунок 3.9) изначально выводится первый вопрос билета. Далее формируются поля ввода для указания ответа в зависимости от того является ли вопрос открытого или закрытого типа. Далее тестируемый вводит ответ. После этого ответ сохраняется. Далее проверяется, является ли текущий вопрос последним. Если это так, то выводится оповещение об окончании тестирования и продолжается работа. Если нет, то выполняется переход на следующий вопрос с последующим выводом полей ввода.


Рисунок 3.9 - Алгоритм тестирования


3.10 Алгоритм отправки ответов


В алгоритме отправки ответов (рисунок 3.10) изначально отправляется признак окончания тестирования и идентификатор билета. Далее отправляется время прохождения и дата прохождения. Далее идет цикл от 0 до количества вопросов в билете, в котором отправляются ответы. После окончания цикла продолжается работа.


Рисунок 3.10 - Алгоритм отправки ответов


3.11 Алгоритм получения ответов


В алгоритме получения ответов (рисунок 3.11) сначала выполняется прием признака окончания тестирования и уникального идентификатора билета. Далее выполняется прием времени и даты прохождения. После этого идет цикл от 0 до количества вопросов в билете. В нем мы получаем ответы и сохраняем их во внутренние структуры данных. После окончания цикла работа продолжается.



Рисунок 3.11 - Алгоритм получения ответов


3.12 Алгоритм проверки ответов


В алгоритме проверки ответов (рисунок 3.12) идет цикл от 0 до количества вопросов в билете. В нем сравнивается ответ студента с правильным ответом, если они равны, то студенту добавляется один бал к результату. Далее идет окончание цикла, после чего продолжается работа.


Рисунок 3.12 - Алгоритм проверки ответов


3.13 Алгоритм добавления результатов в таблицу базы данных


В алгоритме добавления результатов в таблицу базы данных (рисунок 3.13) вначале проверяется наличие реляционной таблицы базы данных для конкретного теста.

Если такая таблица создана, то формируется запись их выходных данных (описание выходных данных и их диапазоны представлены в таблице 2.3) и она добавляется в таблицу. Если же ее нет, то она создается и запись добавляется в нее. Далее продолжается работа.


Рисунок 3.13 - Алгоритм добавления результатов в таблицу базы данных



4. Конструирование программного обеспечения


4.1 Архитектура программного обеспечения


Программная система состоит из двух программных единиц: сервера и клиента. Сервер выполняет подзадачи создания тестов и обработки результатов. А клиент выполняет подзадачи непосредственного тестирования знаний обучающихся программированию.

Ниже приведены описание и диаграммы классов спроектированных в рамках создания данной программной системы.


Рисунок 4.1 - Диаграмма иерархии классов представляющих собой вопросы


На рисунке 4.1 представлена диаграмма классов представляющих собой вопросы, созданных в рамках написания программной системы.

Базовым классом для 4 типов вопросов является класс QQuestion. Он содержит данные: answer - ответ (строковый тип), question - вопрос (строковый тип), isOpen - признак того, что вопрос является тестом открытого типа (булевский тип), variants - контейнер для хранения вариантов ответом, если вопрос является тестом закрытого типа. Так же класс содержит для записи соответствующих данных (setQuestion,setVariants,setAnswer) и методы для чтения этих данных (getQuestion,getVariants,getAnswer).

Производными от класса QQuestion являются классы QOutputQuestion, QWriteProgramQuestion, QInitQuestion.

Класс QOutputQuestion является классом - вопросом типа определить вывод программы. Он содержит данные program - программа (строковый тип), perameters - диапазоны для входных параметров программы (контейнер с пар целочисленных значений), types - контейнер для хранения типов входных параметров. Также класс предоставляет методы для установки и чтения его данных.

Класс QWriteProgramQuestion является классом - вопросом типа написать программу. Он предоставляет следующие контейнеры строкового типа: inputTypes - набор типов входных параметром, outputTypes - набор типов выходных параметров, exampleInput - пример набора входных данных для предоставления студенту, exampleOutput - пример набора выходных данных ждя предоставления студенту. Также класс содержит двухмерные строковые контейнеры для описания тестов для задания: testInput и testOutput. Класс предоставляет методы для установки и чтения данных.

Класс QGeneratedQuestion является классом - вопросом типа вычислить сгенерированное выражение. Он содержит следующие данные: parameters - контейнер для хранения диапазонов параметров выражения и expression - контейнер для хранения операторов выражения и положения параметров в выражении. Класс предоставляет методы для установки и считывания данных.

Класс QInitQuestion является классом - вопросом типа определить исход инициализации выражения. В данных содержится двухмерный строковый контейнер для хранения параметров инициализирующего выражения. Класс предоставляет метод для установки и считывания этого контейнера.


Рисунок 4.2 - Диаграмма классов предоставляющих графическое оформление программной системы сервера


На рисунке 4.2 представлены классы, предоставляющие графическое оформление программной системы.

Все классы являются наследниками класс QWidget - базового класса для описания классов - окон графического представления библиотеки Qt. Более подробное описание этого класса возможно найти в справочной системе библиотеки Qt.

Классы QWriteProgramDialog, QOutputDialog, QInitDialog, QGeneratedDialog предоставляют графическое представление четырех типов вопросов производных от QQuestion представленных на рисунке 4.1.

Класс QWriteProgramDialog содержит в данных следующие элементы delegate - делегат для представления в таблицах выпадающего списка возможных типов для выбора, inTypesModel, outTypesModel - модели для преставления входных и выходных типов программы, inExample, outExample - модели для представления примеров выходных и входных параметров. inTest, outTest - модели, для представления тестов для написанной программы. Класс предоставляет метод clearWidget для очистки окна, а также setParam для установки его настроек.

Класс QOutputDialog содержит в данных делегат, аналогично QWriteProgramDialog, а также две модели представления данных typesModel - для хранения типов выходных параметров и rangesModel - для хранения диапазонов этих параметров. Класс также предоставляет методы clearWidget - для очистки окна и методы для установки и считывания данных и параметров.

Класс QGeneratedDialog содержит в данных строковый контейнер expression для хранения операторов и положения параметров, и контейнер из целочисленных пар parameters для хранения диапазонов входных параметров. Также класс предоставляет методы для установки и чтения своих данных, а также метод addCloseBkt - для добавления в выражение закрывающей скобки, addOpenBkt - для добавления в выражение открывающей скобки, addOperator - для добавления в выражение оператора и addParameter - для добавления в выражение параметра.

Класс QInitDialog содержит в данных модель expressionModel для хранения параметров инициализирующего выражения. Класс предоставляет методы для чтения и установки этой модели, а также метод clearWidget - для очистки окна.

Класс QSettingsDialog представляет собой окно настоек теста. В данных этого окна присутствуют file - строковое поле для хранения названия файла теста и isFileSelected - булевская переменная, которая хранит значение, выбран ли файл для открытия или начинать новый тест. Класс предоставляет методы для чтения значений полей ввода окна, а именно времени тестирования - getTime, количества вопросов - getQuestionAmount и чтения названия теста getCaption. Также класс предоставляет метод для установки этих полей - setParameters и метод - слот для обработки нажатия на кнопку "Далее".

Класс QTestWindow представляет собой окно для редактирования тем и заданий (вопросов) теста. Он содержит следующие данные: themesModel - модель данных для представления набора тем в окне, questionsModel - контейнер моделей данных для предоставления множества наборов вопросов по темам в окне и addThemeDialog - окно для добавления темы. Также класс предоставляет методы для установки и считывания своих данных. А также методы - слоты: setAdd - при нажатии на кнопку добавления вопроса, setEdit - при нажатии на кнопку редактирования вопроса, setDelete - при нажатии на кнопку удаления вопроса, setAddTheme - при нажатии на кнопку добавления темы, setDeleteTheme - при нажатии на кнопку удаления темы, setBack - при нажатии на кнопку возвращения в окно настроек, setFinish - при нажатии на кнопку завершения редактирования вопросов теста, а также setThemeChanged - при изменении темы для отображения вопросов темы, которая была выбрана.

Класс QQuestionDialog представляет собой окно для создания вопроса. В своих данных он хранит вопросы всех четырех типов и окна для их представления. Он отображает одно из этих окон в одно время внутри некоторого контейнера окон внутри себя - layout типа QVBoxLayout. Класс предоставляет методы clearWidget - для очистки окна, setCurrentWidget - для установки конкретного окна вопроса в контейнере окон, createQuestion - метод для создания вопроса при нажатии на кнопку "Ок", метод setQuestion для установки полей окна из существующего вопроса.

Класс MainWindow является классом главного окна программного приложения - сервера. В нем отображается список добавленных тестов и кнопки для добавления, редактирования или удаления теста, а также просмотра результатов. В данных этого класса содержатся следующие элементы: setDlg - окно настроек теста, queDlg - окно добавления вопроса, testDlg - окно редактирования вопросов теста, tests - контейнер тестов, testModel - модель представления тестов возможных для тестирования, и флаги isEditQuestion и isEditTest - для установки признака редактирования или добавления нового теста или вопроса. Класс предоставляет методы setNewTest - слот для обработки нажатия на кнопку создания нового теста, setTestWindows - слот для отображения окна редактирования вопросов, setFinish - слот для обработки окончания редактирования, setBackToSet - слот для возвращения к редактированию настроек, setEditQue - слот для редактирования вопроса, setAddQue - слот для обработки добавления нового вопроса, setAddToList - слот для добавления нового вопроса в контейнер тестов, setAddTheme - слот для добавления темы, setDeleteTheme - слот для удаления темы, setChangeTheme - слот для изменения выбранной темы, setEditTest - слот для обработки нажатия кнопки редактирования теста.




На рисунке 4.3 изображена диаграмма классов QTest и QTestingTask. QTest является хранилищем вопросов по одному предмету, а QTestingTask - тестовым билетом для студента. QTest имеет следующие данные: caption - название теста, questions - контейнер для хранения вопросов, quantityOfQuestions - количество вопросов в одном тестовом билете, time - время для прохождения теста, usedQuestions - контейнер для хранения вопросов, которые уже были выбраны в тестовые билеты, usedThemes - то же самое для тем. Методы : addQuestion - для добавления вопроса в тест, delQuestion - для удаления вопроса, addTheme - для добавления темы, delTheme - удаление темы, editQuestions - для редактирования вопросов, createTask - для создания тестового билета, getQuestion - для получения билета, getThemes - для получения названия всех тем теста, setCaption - для установки названия, getCaption - для получения названия теста. Класс QTestingTask имеет следующие данные: questions - контейнер для хранения вопросов, index - уникальный номер тестируемого, time - время прохождения теста, date - дата прохождения теста, fio - ФИО студента, group - группа студента, mark - оценка. Методы: addQuestion - добавление вопроса в билет, getMark - проверка ответов и выставление оценки.


Рисунок 4.4 - Диаграмма классов предоставляющих графическое оформление программной системы клиента


На рисунке 4.4 представлена диаграмма классов предоставляющих графическое оформление программной системы клиента.

Класс QNetworkDialog представляет окно ввода IP адреса и порта серввера. Данный класс не имеет данных, его методы: getIP - получение IP адреса из окна, getPort - получение порта из окна, setNextClicked - обработка нажатия на кнопку Next.

Класс QExitDialog предоставляет графическое оформление окна для предупреждения перед выходом. Методы: setOkClicked - обработка нажатия на кнопку Ok, setCancelClicked - обработка нажатия на кнопку Cancel.

Класс MainWindow является главным окном приложения клиента. Его данные: tstDlg, exitDlg, nameDlg - экземпляры классов описанных выше, tcpSocket - объект для работы с tcp соединением, uniqueID - уникальный номер тестируемого, questionNumbers - модель для навигации по номерам вопросов, questions - контейнер с вопросами, answers - контейнер с ответами. Методы: readData - чтение данных по сети, requestTestList - отправка запроса на список тестов, requestTask - отправка запроса на новое задание, sendToServer - отправка результатов на сервер, setNextClicked - обработка нажатия на кнопку Next, setBackClicked - обработка нажатия на кнопку Back, setExitClicked - обработка нажатия на кнопку Exit, setQuestionChanged - обработка изменения номера вопроса в окне навигации.


4.2 Информационное пространство системы


На рисунке 4.5 изображено информационно пространство программной системы. Из окна типа QSettingsDialog в MainWindow передаются время прохождения теста и количество вопросов в билете. Из окна типа QQuestionDialog передается объект - наследник класса QQuestion в окно QTestWindow. Далее из этого окна передается объект класса QTest в MainWindow сервера. Также из сервера клиенту передаются вопросы в виде списка типа QQuestion. В клиенте из окна типа QSettingsWindow передается информация о студенте, а именно его имя и группа. Далее происходит тестирование по полученным вопросам и ответы передаются серверу в виде списка строкового типа, а также передается имя и группа студента.


Рисунок 4.5 - Информационное пространство программной системы



4.3 Интерфейс пользователя


Инсталляция

Программный продукт имеет название SkillTest. Он состоит из двух приложений SkillTestServer - сервер и SkillTestClient - клиент.

Интерфейс программы написан на английском языке из-за того, что именно этот язык является наиболее распространённым в данной предметной области.

Для запуска сервера необходимо открыть приложение с названием SkillTestServer.exe, а для открытия клиента необходимо запустить SkillTestClient.exe. Для их установки необходимо скопировать необходимый exe-файл на жесткий диск в любую папку (для сервера SkillTestServer, для клиента - SkillTestClient). Также в этой папке с необходимым приложением должны находится следующие файлы:

-Qt4Core.dll - динамическая библиотека для работы основных функций библиотеки Qt;

-Qt4Network.dll - динамическая библиотека для работы с сетью;

-Qt4GUI.dll - динамическая библиотека для работы оконного окружения библиотеки Qt;

-Libgcc_s_dw2-1.dll - динамическая библиотека для работы компилятора языка С++ mingw;

-Mingwm10.dll - динамическая библиотека для работы компилятора mingw C++.

Для работы сервера также необходимо, чтобы в папке "С:\mingw был установлен компилятор языка C++ MinGW версии не ниже 4.0.

Работа с серверным приложением

На рисунке 4.6 представлен внешний вид главного окна сервера. В нем присутствует главное меню, состоящие из следующих пунктов: Test, Results и Help. Также там присутствуют кнопки Add, Edit, Delete, Results, Exit. Также в левой верхней части присутствуют метки с IP адресом и портом сервера.

При нажатии на кнопку Add или Edit открывается окно настроек теста.


Рисунок 4.6 - Главное окно программы


Рисунок 4.7 - Окно настроек нового теста


В окне настроек теста возможно ввести его название, максимальное время для прохождения, количество вопросов и выбрать файл с уже созданными вопросами. Далее при нажатии на кнопку Next откроется окно добавления вопросов и тем (рисунок 4.8). Если в окне настроек был выбран файл с ранее созданными вопросами, то эти вопросы изначально будут присутствовать в окне добавления при его появлении.


Рисунок 4.8 - Окно добавление вопросов и тем в тест


При нажатии на кнопки Add в левой нижней части окна возможно добавить тему. А при нажатии на кнопку Add или Edit в правой части экрана открывается окно добавления / редактирования вопроса (рисунок 4.9). После нажатия ОК в окне добавления вопросов вопросы добавляются в тест и окно закрывается.



Тип вопроса выбирается в верхнем правом углу в выпадающем списке. На рисунке 4.10 представлено окно добавления вопроса типа "написать программу". Для настройки этого вопроса необходимо ввести вопрос, далее указать количество входных и выходных параметров и количество тестов в соответствующих полях ввода и далее в табличках ввести: типы входных параметров, примеры входных параметров, и тесты для программы, которую напишет студент. На рисунке 4.11 Представлено окно добавления вопроса типа "вычислить выражение". После ввода вопроса необходимо будет составить выражение путем добавление параметров, операторов и скобок. Для добавления этих атомов выражения необходимо нажимать на соответствующие кнопки. На рисунке 4.12 представлено окно добавления вопроса типа "определить вывод программы". После ввода вопроса будет необходимо ввести программу. Далее указать количество входных параметров. После чего в табличке указать типы этих параметров и их диапазоны. На рисунке 4.13 представлено окно ввода вопроса типа "определить исход инициализации". После ввода вопроса в этом окне будет необходимо указать количество строчек и столбиков в табличке и ввести эти параметры для генерации инициализирующего выражения.


Рисунок 4.10 - Окно создания вопроса типа "вычислить выражение"


Рисунок 4.11 - Окно создания вопроса типа "определить вывод программы"


Рисунок 4.12 - Окно создания вопроса типа "определить исход инициализации"


Работа с клиентским приложением

При открытии программы клиента SkillTestClient откроется окно ввода IP адреса и порта сервера (рисунок 4.13). После ввода этих данных необходимо нажать на кнопку Next, после чего появится окно ввода личных данных и выбора доступного теста (рисунок 4.14).


Рисунок 4.14 - Окно ввода личных данных клиента


После ввода этих данных необходимо нажать на кнопку Next. Далее появится окно тестирования, которое развернется на весь экран (рисунок 4.15).


Рисунок 4.15 - Окно тестирования приложения клиента


В левой части окна тестирования находится навигатор по вопросам для свободного перехода между ними. Ввод совершается в центральное поле. Оно имеет большую высоту, так как предназначено и для ввода программ. Навигация между вопросами происходит так же посредством кнопок Back и Next. Выход из программы возможен посредством нажатия на кнопку Exit в правой верхней части экрана.



5. Тестирование системы


Тестирование - это доказательство работоспособности или неработоспособности программного продукта. Количество времени, потраченного на тестирование ПО, часто недооценивается. Процессы тестирования должны быть тщательно определены, чтобы их можно было адекватно профинансировать. Затраты на тестирование возрастают с ростом числа ошибок, обнаруженных до его начала. Всегда должны быть попытки до начала тестирования применить более дешевые методы обнаружения ошибок, такие как инспекция, сквозной контроль и формальное доказательство.

В ходе тестирования программы был проведен ряд тестов, подтверждающих её работоспособность. Тесты были направлены на проверку работы основных функций программного продукта.

Программа работает стабильно со значениями, входящими в допустимый диапазон.

Окно результатов работы программы представлено на рисунке 5.1.




В программе также присутствуют контроль на ввод данных. На их наличие (рисунок 5.2) а так же на их корректность (рисунок 5.3). Так же осуществляется проверка диапазонов значений в соответствии с таблицами 2.1 - 2.3.



6. Экономическая часть


6.1 Порядок расчета и анализа экономической эффективности применения программного обеспечения "Тестирования знаний обучающихся программированию"


В составе комплекса средств автоматизации особое место занимает программное обеспечение автоматизированных систем (АСНИ, САПР, АСУ). Особая важность данного вида обеспечения определяется тем, что именно в программное обеспечение закладываются и реализуются функции автоматизированных систем. В состав программного обеспечения могут включаться пакеты программ и отдельные программные модули, созданные для широкого применения или специального назначения. Однако оригинальные или специальные программы имеют возможность найти в дальнейшем широкое применение, если они созданы и оформлены в соответствии с определенными требованиями, предъявляемыми к созданию программ как к продукции производственно-технического назначения, то есть как к программным изделиям.

В связи с этим целесообразно выделять процесс создания программного обеспечения из общего процесса создания автоматизированных систем (АС) и рассматривать его с двух позиций:

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

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

Целью создания программного обеспечения является получение необходимого и достаточно системного комплекта качественных программных изделий при условии реализации эффективного процесса разработки и сопровождения.

Эффективность каждого программного изделия определяется качеством и эффективностью процесса разработки и сопровождения.

Качество программного обеспечения определяется тремя составляющими:

-с точки зрения специалиста - пользователя данным программным изделием;

-с позиций использования ресурсов и их оценки;

-с позиции выполнения требований на программное обеспечение.

Программное обеспечение должно быть разработано так, чтобы оно выполняло свои функции без лишних затрат ресурсов (оперативной памяти, ЭВМ, машинного времени, пропускной способности каналов передачи данных и других ресурсов - на стадии функционирования; времени разработки и денежных ресурсов - на стадии создания программного изделия). В процессе разработки программного обеспечения необходимо управлять занятыми в этом процессе сотрудниками.

Основные сложности в процессе создания программного изделия возникают, прежде всего, из-за плохого планирования (50%), недостаточного контроля (34%), по техническим причинам (всего 16%).

Большое значение для организации эффективных процессов создания и использования программных средств имеет понятие жизненного цикла программного обеспечения системы. Это положение обусловлено требованием создания актуальной и гибкой системы, которая могла бы развиваться с наименьшими затратами при внесении изменений в систему по мере ее освоения и старения. Необходимо прогнозировать срок замены устаревшей системы на принципиально новую.

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

С этой целью на первых этапах проектирования следует выполнять укрупненные расчеты трудоемкости работ по созданию программного обеспечения автоматизированных систем (подсистем, задач) в целях прогнозирования сроков работ, затрат на их выполнение, оценки предполагаемой экономической эффективности автоматизации.

Известно несколько нормативных методов укрупненных расчетов трудоемкости работ по созданию систем (задач):

-сопоставительный (метод аналогов), когда трудоемкость новых разработок принимают по опытным данным подобных разработок с использованием поправочных коэффициентов;

-метод эмпирических зависимостей, основанный на применении нормативов в виде математических зависимостей искомого показателя (трудоемкости, стоимости работ) от технических параметров объекта разработки (например, показателя сложности программ);

-метод прямого счета, основанный на определении содержания и объемов работ и использовании нормативов на отдельные единицы работ. Нормативы этого метода можно разделить на объемные, характеризующие предполагаемые объемы работ (например, количество операторов в программе, количество входных и выходных форм в задаче и т.п.), и ресурсные, определяющие трудоемкость типовых единиц работы;

-метод структурных коэффициентов, основанный на использовании нормативов структуры показателей аналогичной разработки, например, распределение трудоемкости создания задачи по различным этапам работ. При этом трудоемкость общая или отдельного этапа должна быть определена предварительно каким-либо другим методом. Метод структурных коэффициентов всегда применяют в комплексе с другими.

Разнообразие методов объясняется различными возможностями получения исходных данных о планируемых работах, наличием соответствующих нормативов, потребностями детализации и точности расчетов. На первых этапах создания оригинальных разработок применяют, как правило, самые укрупненные расчеты трудоемкости работ (а также затрат и экономической эффективности), а по мере детализации проектных решений детализируют, уточняют и эти расчеты.

Анализ различных подходов к нормированию процесса программирования показывает, что в качестве основного фактора следует принимать размер исходного текста программного обеспечения (для любого типа программного обеспечения).

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

При этом затраты труда (трудоемкость разработки программного обеспечения) оценивают таким образом, чел/мес.:


(6.1)


где Nик - число исходных команд, тыс.,

а длительность разработки, мес.:


(6.2)


Производительность труда группы разработчиков программного изделия Пр (исх. команд/чел.-мес.) определяется формулой:


(6.3)



Среднее число исполнителей ЧИ рассчитывают исходя из определенных или заданных характеристик трудоемкости и длительности разработки программного продукта, чел.:


(6.4)


Если известны по опыту работы или заданы по нормативам затраты труда на подготовку описания задачи, исследование алгоритма решения задачи, разработку блок-схемы алгоритма, программирование, отладку программы на ЭВМ, подготовку документации по задаче, то трудоемкость разработки программного обеспечения можно рассчитать по формуле:


(6.5)


где ti - трудоемкость i-го этапа.

При оценке затрат труда на разработку программного обеспечения предполагают, что создание программного обеспечения - процесс творческий и точно затраты определить невозможно. Поэтому следует использовать поправочные коэффициенты (таблица 6.1) для коррекции трудозатрат ti. Для этого номинальные трудозатраты tн умножают на соответствующие коэффициенты R (табл. 6.1), т.е.


(6.6)


где .

Влияние на t (формула (6.1)) числа тысяч исходных команд снижено, но зато мы учитываем ряд других факторов, влияющих на трудоемкость разработки программного обеспечения.

Смету затрат на разработку программного обеспечения составляют по статьям калькуляции. При этом необходимо в первую очередь рассчитать фонд заработной платы разработчиков:


(6.7)


где ti - трудоемкость i-й работы по созданию и внедрению программного обеспечения, чел/дни; li - средняя дневная (часовая) ставка разработчика; n - количество работ (этапов), на которые разделена тема.


Таблица 6.1 - Коэффициенты, используемые при оценке затрат труда на подготовку задачи к решению ее на ЭВМ

ФакторУсловные обозначенияКоэффициентПримечанияКоэффициент сложности программного обеспеченияR11.25 ...2.00Относительно типовой задачиКоэффициент коррекции программыR21.05... 1.103-5 коррекций ведут к изменению 5. ..10% программного обеспеченияКоэффициент квалификации разработчикаR3До двух лет -1.25 2-3 года - 1.0 3-5лет-0.90...0.85 5-7лет-0.8...0.7 св.7лет- 0.6... 0.6В зависимости от стажа разработчикаКоэффициент увеличения затрат вследствие недостаточного описания задачиR41.2... 1.5В зависимости от сложности задачиКоэффициент, учитывающий затраты на оформление задачиR51.2Коэффициент, учитывающий затраты на внедрение задачиR61.1


Стоимость программного обеспечения:


(6.8)


где ?д - коэффициент, учитывающий дополнительную заработную плату (можно принимать 0.1. .0.3);

?от - коэффициент, учитывающий отчисления в фонды от заработной платы;

?н - коэффициент накладных расходов организаций, разрабатывающих проект (можно принять равным единице);

?пр - коэффициент прочих расходов (0.1.. .0.2);эвм - машинное время, необходимое для отладки программы, ч;эвм - стоимость машино-часа работы ЭВМ (принимают по установленным тарифам на аренду или рассчитывают для конкретных условий). Эффективность программного продукта определяется формулой:


(6.9)


где Эгод - среднегодовой экономический эффект, полученный от применения данного программного продукта, грн.

При расчетах затрат на создание и внедрение систем (задач) необходимо выделять затраты на создание программного обеспечения, которые потом будут списываться в эксплуатационные затраты. Если программа разрабатывается организацией только для себя, стоимость программного обеспечения Кпр определяется формулой (6.5) для объема соответствующих работ (постановки задач, разработки и отладки программ, разработки программной документации).

Если же разрабатываемая программа будет использоваться несколькими предпринимателями-потребителями, на нее определяют цену реализации.

Цена программы для отдельного потребителя может быть рассчитана так:


(6.10)


где Сдоп - стоимость дополнительных работ по тиражированию программы для отдельного потребителя;

?пр - норматив прибыли организации, разрабатывающей программу, можно принимать равным 0.10...0.15;- количество организаций, которые приобретут данную программу.

Нижний предел цены может быть рассчитан так:


(6.11)


Верхний предел цены:


(6.12)


где Эгод - годовой экономический эффект t-го года;

Тэкс - число лет эксплуатации программного обеспечения (до шести лет).

Договорная цена (Цдог) должна находиться в диапазоне между нижним и верхним пределами, причем эффективность программного обеспечения и с точки зрения разработчика, и с точки зрения покупателя, должна быть больше нормативной Ен:


(6.13)


а при тиражировании:


(6.14)


где m - число копий;

Сдоп - затраты на тиражирование.

Эффективность с точки зрения покупателя (потребителя) программного обеспечения:


(6.15)


где КНДС - коэффициент, учитывающий налог на добавленную стоимость (0,2);

КДОП - дополнительные издержки капитального характера при введении программного обеспечения в эксплуатацию.


.2 Расчет экономической эффективности применения программного обеспечения и определение его цены


Целью создания ПО является получение необходимого и достаточного системного комплекта качественных программных изделий при условии реализации эффективного процесса разработки и сопровождения. Эффективность каждого программного изделия определяется качеством и эффективностью процесса разработки. В таблице 6.2, представленной ниже, содержится структура трудоемкости работ по этапам создания ПО. Общую трудоемкость работ получаем суммированием соответствующих слагаемых.


Таблица 6.2 - Структура трудоемкости работ

Наименование работСтруктура трудоёмкости, %Структура трудоёмкости, чел/дниКоличество исполнителей, челМашинное время, ч1.Организационная подготовка к созданию программного обеспечения22 182.Разработка ТЗ на постановку задачи331123.Постановка задачи3.1.Разработка мат. модели и алгоритмов651303.2.Разработка информационной базы121203.3.Техническое обеспечение211153.4.Разработка контрольного примера621163.5.Расчёт экономической эффективности221183.6.Разработка описания задачи и ТЗ на программирование33154.Разработка программного обеспечения4.1.Разработка машинных алгоритмов1071404.2.Разработка программы303011804.3. Разработка программной документации551204.4.Расчет затрат и экономической эффективности211204.5.Выпуск комплекта рабочей документации3215.Внедрение программного обеспечения5.1.Подготовка к внедрению программного обеспечения32165.2.Наладка и предварительные испытания571145.3.Отладка и корректировка программного обеспечения и документации16141305.4.Расчёт фактической экономической эффективности22120Итого100901436

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


Таблица 6.3. - Исходные данные.

№ПоказательУсловные обозначенияЕдиницы измеренияВеличина 1.Трудоемкость задачи не большеЧел.дней90 2.Число исполнителейЧПчел1 3.Цена ПЭВМЦЭВМгрн3000 4.Годовой экономический эффектЭГОДгрн40000 5.Средний дневной заработок Lгрн.100 6.Срок службы ПЭВМТСЛч6000 7.Трудоемкость задачи по исполнителюtчел.-дн.100

В первую очередь необходимо рассчитать фонд заработной платы разработчиков.

Так как при создании данного программного продукта был занят один разработчик, фонд его заработной платы рассчитаем следующим образом:


(6.16)


где tобщ - общая трудоемкость работ;

L - средняя дневная ставка разработчика.

Общая трудоемкость работ составила 90 дней. Среднюю дневную ставку разработчика примем в размере 100 грн. Тогда фонд заработной платы составит:


Фзп=100*100 = 10000грн.


Стоимость программного обеспечения вычислим по формуле:


Кпр = Фэп * ( (1 + Wд) * (1 + Wот) + Wнак + Wпроч ) + LЭВМ*t ЭВМ (6.17)


Для этого примем коэффициент Wот = 0,375, а так же коэффициенты Wдоп = 0,3, Wнак = 1, Wпроч = 0,2 и величины tЭBM = 436 ч., Lэвм = 5 грн.

Подставим значения коэффициентов и других величин в формулу затрат на разработку:


Кпр = 10000* [(1+0,3)* (1+0,375)+ 1 + 0,2] + 436* 5= 32989.2 грн.


Среднегодовой эффект от внедрения системы ЭГОД=30000 грн.

Для определения договорной цены на ПО за нижнюю цену принимаем значение стоимости программного обеспечения:


Цнижн = КПР = 32989.2 грн.(6.18)


За верхнюю цену принимаем величину равную :


ЦВЕРХ = 3· КПР =98967.8 грн.(6.19)


Договорная цена лежит в пределах между верхней и нижней ценой



Цнижн < ЦДОГ < ЦВЕРХ(6.20)


Поэтому, в качестве договорной цены принимаем: ЦДОГ = 60000 грн.

Эффективность с точки зрения разработчика :


ЕРАЗР = = (60000-32989)/32989=0.82(6.21)


Эффективность с точки зрения покупателя рассчитывается по формуле:


ЕПОТР = (6.22)


Здесь КНДС - Коэффициент учитывающий налог на добавленную стоимость (0.2);

КДОП - дополнительные издержки капитального характера при введении ПО в эксплуатацию. Примем дополнительные издержки, как затраты на обучение пользователя работе с программой 100 грн. В этом случае:


ЕПОТР = 60000/(60000*(1+0.2)+100)=0.83(6.23)


Сравнив полученные коэффициенты экономической эффективности с величиной коэффициента нормативной эффективности Ен=0,5, рассчитанного по величине банковского процента по долгосрочным кредитам, показывает, что разработчик программного продукта вправе добиваться в процессе переговоров более высокой договорной цены, чем Цдог=60000 грн.

Договорная цена, на программный продукт может быть установлена и из условия равной экономической эффективности у разработчика и пользователя, то есть когда Епрпок, при выполнении условия, что данные коэффициенты эффективности превышают нормативный уровень.

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



7. Охрана труда


7.1 Выявление и анализ опасных и вредных производственных факторов, действующих в рабочей зоне проектируемого объекта


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

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

Как свидетельствуют различные литературные источники и проведенные исследования в различных странах, при работе на ПЭВМ с использованием ВДТ(видеодисплейные терминалы), на другой офисной технике работающие при определенных условиях могут подвергаться воздействию различных опасных и вредных производственных факторов, основными из которых являются:

) Физические:

повышенное значение напряжения в электрической цепи, замыкание которой может произойти через тело работающего;

повышенные уровни электромагнитного излучения промышленной частоты и высокочастотные;

повышенные уровни рентгеновского излучения;

повышенные уровни ультрафиолетового излучения;

повышенные уровни инфракрасного излучения;

повышенные уровни статического электричества;

повышенные уровни запыленности воздуха рабочей зоны;

повышенное содержание положительных аэроионов в воздухе рабочей зоны;

пониженное содержание отрицательных аэроионов в воздухе рабочей зоны; программный обеспечение алгоритм тестирование

повышенная или пониженная температура воздуха рабочей зоны;

повышенная или пониженная влажность воздуха рабочей зоны;

повышенная или пониженная подвижность воздуха рабочей зоны;

повышенный или пониженный уровень освещенности рабочей зоны;

повышенный уровень прямой и отраженной блесткости;

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

повышенная или пониженная яркость светового изображения;

повышенный уровень пульсаций светового потока.

) Химические:

повышенное содержание в воздухе рабочей зоны окиси углерода, озона, аммиака, фенола, формальдегида и полихлорированных фенилов.

) Биологические:

повышенное содержание в воздухе рабочей зоны микроорганизмов;

) Психофизиологические:

напряжение зрения;

напряжение памяти;

напряжение внимания;

длительное статическое напряжение;

большой объем информации, обрабатываемой в единицу времени;

монотонность труда;

нерациональная организация рабочего места;

эмоциональные перегрузки.

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

Основными видами работ на ПЭВМ с использованием ВДТ являются:

считывание информации с экрана с предварительным запросом;

ввод информации;

творческая работа в режиме диалога с ПЭВМ.

Наибольшая нагрузка на орган зрения имеет место при вводе информации в ПЭВМ.

Наибольшее общее утомление вызывает работа в режиме диалога (особенно при высокой плотности информации на экране ВДТ).

Наибольшее напряжение вызывает выполнение работы при дефиците времени для принятия решения и особенно, если это сопряжено с высокой ответственностью за принятые решения (например, при управлении непрерывными технологическими процессами, управлении движением поездов, воздушных судов и т. п.)

Выполнение производственных операций с помощью ПЭВМ связано не только с восприятием информации на экране ВДТ, но и с одновременным различением текста печатных или рукописных материалов, зачастую с переадаптацией зрения на различные расстояния, выполнением машинописных, графических работ и других операций.

Указанные работники могут иметь различный режим работы. Так, математики- программисты, большинство инженеров по эксплуатации и пользователей ПЭВМ, как правило, работают в одну дневную смену с перерывом для отдыха и питания в середине рабочего дня. Операторы и некоторые пользователи ПЭВМ могут работать в две и даже в три смены. При таком режиме работы зачастую перерывы для приема пищи и кратковременного отдыха, как правило, не регламентируются и включаются в рабочее время.

Эти особенности режима и характера работы, значительные умственные напряжения и другие нагрузки при нерациональной конструкции и расположении элементов рабочего места вызывают необходимость поддержания вынужденной рабочей позы. Длительный дискомфорт при работе вызывает развитие общего утомления и снижения работоспособности.

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

Следует отметить, что высокие технические характеристики ВДТ не всегда являются гарантией комфортности и эффективности работы человека. Объективная (техническая) и субъективная (человеческая) оценки качества ВДТ нередко не совпадают, т. к. человек делает такую оценку по восприятию изображения по совокупности всех его параметров и условий наблюдения на экране ВДТ.

Выполнение многих операций при работе на ПЭВМ требует длительного статического напряжения мышц спины, шеи, рук, ног, что приводит к быстрому развитию утомления. Указанные особенности работы зачастую усугубляются нерациональной высотой рабочей поверхности стола и сидения, отсутствием опорной спинки и подлокотников, неудобными углами сгибания в плечевом и локтевом суставах при выполнении рабочих движений, углом наклона головы, неудобным размещением документов, ВДТ и клавиатуры, неправильным углом наклона экрана, отсутствием пространства и подставки для ног и т. п.

Неблагоприятное влияние на условия труда работающих с ВДТ оказывает нерациональное естественное и искусственное освещение помещений и рабочих мест: слепящее воздействие светопроемов, имеющих высокую яркость прямых солнечных лучей, яркие и темные пятна на рабочих поверхностях, засветка экрана посторонним светом, пульсации света люминесцентных ламп, наличие ярких и блестящих предметов, в том числе и светлой одежды работающего и др.

Важное значение для предупреждения утомления работающих имеет также правильный выбор режима работы видеодисплейного терминала, применение защитных фильтров (с обязательным их заземлением), переоборудование электропроводки, устранение пульсаций света люминесцентных ламп (путем включения соседних светильников, ламп в различные фазы сети, применение высокочастотных пускорегулирующих устройств и т. п.), определение оптимальных и допустимых диапазонов визуальных эргономических параметров видеотерминала, использование светозащитных средств, хлопчатобумажных халатов с антистатической пропиткой и т. п.

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

Зачастую при организации рабочих мест для работающих на ПЭВМ не учитывается в должной мере то обстоятельство, что ВДТ генерирует рентгеновское, радиочастотное, видимое ультрафиолетовое излучение, а также имеют место электромагнитные излучения промышленной частоты от электропроводки, жгутов проводов, оплетающих рабочие места (особенно, если питающие розетки размещены неудобно и необходимо использовать удлинители), люминесцентных ламп, других электроприборов и т.п. Следует отметить, что указанные излучения могут оказывать неблагоприятное воздействие и на соседние рабочие места при их нерациональном размещении.

Наличие электростатического поля между ВДТ и работающим приводит к уменьшению содержания отрицательных ионов в воздухе помещения и загрязнению экрана в результате притягивания к нему отрицательных ионов и мелких частиц пыли.

Несоответствие параметров микроклимата установленным нормам проявляется не только в повышенной запыленности помещения органической и другой пылью (особенно при захламленности рабочего места излишней бумагой, др. посторонними предметами), но и в повышенной загазованности, в первую очередь, углекислым газом, аммиаком, озоном.

Работающий компьютер приводит к повышению температуры и снижению влажности воздуха. Длительная работа компьютера приводит к снижению концентрации кислорода, концентрация озона при этом наоборот увеличивается. Озон является сильным окислителем и концентрация его выше предельно допустимых величин может привести к неблагоприятным обменным реакциям организма, изменяя активность ряда ферментов, способствует нарушению зрения.

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

Важным фактором, оказывающим воздействие на состояние здоровья работающих на ПЭВМ, является аэроионный состав воздуха. Его нарушение (особенно это касается помещений, оборудованных кондиционерами) ухудшает состав крови, работу органа зрения, иммунной системы и т. п.

Работающий компьютер, является также источником электромагнитных излучений, которые создаются незаземленным оборудованием, кабелями разводки, металлическими конструкциями, осветительными установками и т. п.

Следует иметь в виду, что электромагнитное излучение ВДТ регистрируется не только со стороны экрана, но и с других его поверхностей, при этом характеристики электромагнитного излучения даже от ВДТ одного и того же типа не тождественны и зависят от его сборки. При приближении пользователя ПК к экрану ВДТ на расстояние ближе 300 мм он подвергается воздействию электромагнитного излучения, в 5-7 раз превышающего предельно допустимые уровни. Слабые электромагнитные излучения влияют на внутриклеточные изменения, нарушают обменные процессы, могут вызвать развитие катаракты, опухолей, лейкемии и др. С действием электромагнитных излучений многие исследователи связывают нарушение течения беременности.

У экрана ВДТ образуется электростатическое поле, которое в рабочей зоне может быть выше допустимого уровня. Длительное пребывание в электростатическом поле, превышающем предельно допустимые уровни, может отрицательно сказаться на самочувствии, нервной и сердечно- сосудистой системах. Отдельные авторы связывают покраснение глаз и лица при работе на ПЭВМ с действием электростатического поля.

В связи с этим не рекомендуется прикасаться к экрану ВДТ и снимать на себя заряды электростатического поля. Электростатическое поле притягивает пыль на экран, которая способствует увеличению потенциала электростатического поля.

Как отмечает ряд авторов, в современных моделях ВДТ имеет место компенсационный эффект, заключающийся в том, что снижение электростатического потенциала экрана до требуемых норм обеспечивается лишь в установившемся режиме работы ВДТ. В связи с этим уровень электростатического потенциала в течение 20-30 секунд после включения и после выключения ВДТ повышен в десятки раз.

Избыток болезнетворных бактерий в воздухе, особенно зимой при повышенной температуре, плохом проветривании, пониженной влажности и нарушении аэроионного состава воздуха, - вызывают острые респираторные заболевания, острые респираторно - вирусные инфекции и т. п.

Наряду с изложенным, деятельность работающих на ПЭВМ с использованием ВДТ связана с монотонным трудом, дефицитом двигательной активности. От этого страдают не только мышцы позвоночника, шеи, рук, но и глаз. Малая подвижность глазных мышц при долговременном сильном статическом зрительном напряжении становится причиной спазма аккомодации, т. е. глаза теряют способность быстро приспосабливаться к ясному видению предметов. При этом может нарушаться и ритм дыхания.

Влияние изложенных вредных и опасных производственных факторов может усугубляться неблагоприятной экологической обстановкой (особенно в крупных промышленных городах, на территориях, подвергшихся радиоактивному загрязнению местности в результате катастрофы на Чернобыльской АЭС), хроническими заболеваниями и т. п.

Совокупное воздействие на работающего на ПЭВМ с использованием ВДТ всех вредных производственных факторов снижает общий биоэнергетический потенциал и сопротивляемость организма. Особенно их действие усиливается, если не соблюдается режим труда и отдыха, не проводится производственная гимнастика, витаминизация организма.

Многочисленные исследования в экономически развитых странах показали, что при этом совсем не обязательно у всех работающих на ПЭВМ будут проявляться одни и те же отклонения в состоянии здоровья. Чаще всего срыв происходит в наиболее нагруженном или наиболее ослабленном органе.

Вот лишь некоторые последствия нарушений норм безопасности и гигиены труда при работе на ПЭВМ с использованием ВДТ.

Зрительные и глазные симптомы:

снижение остроты зрения и запаса относительной аккомодации;

ложная и истинная близорукость (миопия), нарушение бинокулярного зрения;

высокая степень астенопии с проявлением зрительных симптомов (таких как пелена перед глазами, неясные очертания предметов, изменение их цвета и т. п.) и глазных симптомов (резь и боль в глазах, слезоточивость, покраснение век, шелушение, частое моргание, помутнение оптических сред глаз, ощущение усталости век).

Физические недомогания (сонливость, головные боли в области надбровий и лба, в затылочной и теменной частях, головокружение, онемение конечностей, быстрая утомляемость, боли в нижней части спины).

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

Подверженность частым заболеваниям гриппом, ОРЗ, ОРВИ, бронхитом, бронхиальной астмой, неврозами, остеохондрозами и боли в области сердца, одышка, сухость кожи и слизистых оболочек носа и горла.

Обострение или проявление желудочно - кишечных заболеваний (дисбактериозы, синдромы кишечника).

Эти симптомы учащаются с увеличением общей и ежедневной продолжительности работы на ПЭВМ с использованием ВДТ.


.2 Разработка мероприятий по предотвращению или ослабления возможного воздействия опасных и вредных производственных факторов на работающих


Отопление.

В помещениях необходимо предусмотреть систему отопления. Она должна обеспечивать достаточное, постоянное и равномерное нагревание воздуха в помещениях в холодный период года, а также безопасность в отношении пожара и взрыва. При этом колебания температуры в течение суток не должны превышать 2-3?C; в горизонтальном направлении - 2?C на каждый метр длины, а в вертикальном - 1?C на каждый метр высоты помещения.

Для отопления помещений используются водяные, воздушные и панельно-лучистые системы центрального отопления.

В водяных системах отопления нагретая вода попадает в нагревательные приборы с помощью насосов от собственной котельной или ТЭЦ.

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

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

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

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

Радиаторы должны устанавливаться в нишах, прикрытых деревянными решётками, гармонирующими с общим оформлением помещения. При этом температура на поверхности нагревательных приборов не должна превышать 95 град., чтобы исключить пригорание пыли.

Вентиляция.

Минимальный расход воздуха определяется из расчета 50 - 60 м3/ч на одного человека, но не менее двукратного воздухообмена в час. Воздух, используемый для вентиляции должен очищаться от пыли. ЭВМ, имеющие в своем составе устройства ввода вывода на магнитных лентах и магнитных дисках, требуют более высокой степени очистки воздуха. Пылинки, попадающие на рабочую поверхность магнитного диска, образуют промежуточный слой между диском и магнитной головкой, что может привести к повреждению магнитной головки, рабочей поверхности диска и к искажению записываемой информации. Пыль, оседающая на устройства и узлы ЭВМ, ухудшает теплоотдачу, может образовывать токопроводящие цепи, вызывает истирание подвижных частей и нарушение контактов.

Для отвода избыточной теплоты служат системы вентиляции и кондиционирования воздуха. В помещении применяется общеобменная и местная искусственная вентиляция. Применяемые серверы и ПК конструируют в корпусах, имеющих рамы и панели для размещения плат и различных элементов.

Вытяжка нагретого воздуха осуществляется через вытяжные отверстия у потолка. Воздух поступает через приточные решетки, расположенные по периметру комнаты. Для эффективного регулирования температурно-влажностных параметров воздушной среды используются центральные устройства кондиционирования воздуха.

Кондиционирование.

Для обеспечения установленных норм микроклиматических параметров и чистоты воздуха в машинных залах и других помещениях ВЦ применяют вентиляцию. Проектирование системы вентиляции предполагает определение расхода воздуха для вентиляции машинного зала ЭВМ и охлаждения корпусов ЭВМ.

Кондиционирование - это создание и поддержание в рабочей зоне производственных помещений постоянных или изменяющихся по заданной программе параметров воздушной среды, осуществляемое автоматически.

Кондиционеры бывают полного и неполного кондиционирования воздуха. Установки полного кондиционирования воздуха обеспечивают постоянство температуры, относительной влажности, подвижности и чистоты воздуха. Кроме того, могут осуществляться ионизация, озонирование, дезодорация (удаление запахов) и пр. Установки неполного кондиционирования поддерживают только часть приведенных параметров. В помещении, где располагаются ЭВМ, необходимо обеспечить приток свежего воздуха, расход которого определяется технико-экономическим расчетом и выбором схемы системы вентиляции.

Наиболее важной характеристикой местных кондиционеров, которую необходимо оценивать при выборе и установке кондиционера в помещении (особенно офисном, жилом), является мощность охлаждения. От этой величины зависит площадь, на которую он рассчитан.

Освещение.

Правильно спроектированное и выполненное освещение обеспечивает высокий уровень работоспособности, оказывает положительное психологическое воздействие на работающих, способствует повышению производительности труда.

К системам производственного освещения предъявляются следующие требования:

соответствие уровня освещенности рабочих мест характеру выполняемой зрительной работы;

достаточно равномерное распределение яркости на рабочих поверхностях и в окружающем пространстве;

отсутствие резких теней, прямой и обращенной блёскости (повышенной яркости светящихся поверхностей, вызывающих ослепленность);

постоянство освещенности во времени;

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

долговечность, экономичность, электро-и пожаробезопасность, удобство и простота эксплуатации.

В машинных залах ВЦ рабочие места операторов, работающих с дисплеями, располагают подальше от окон и таким образом, чтобы оконные проемы находились сбоку. Окна рекомендуется снабжать светорассеивающими шторами, регулируемыми жалюзи или солнцезащитной пленкой с металлизированным покрытием.

В тех случаях, когда одного естественного освещения в помещении недостаточно, устраивают совмещенное освещение. При этом дополнительное искусственное освещение применяют не только в темное, но и в светлое время суток.

Для искусственного освещения помещений ВЦ следует использовать главным образом люминесцентные лампы, у которых высокая световая отдача (до 75 лм/Вт и более), продолжительный срок службы (до 10000ч), малая яркость светящейся поверхности, близкий к естественному спектральный состав излучаемого света, что обеспечивает хорошую цветопередачу.

Для исключения засветки экранов дисплеев прямыми световыми потоками светильники общего освещения располагают сбоку от рабочего места, параллельно линии зрения оператора и стене с окнами. Такое размещение светильников позволяет производить их последовательное включение в зависимости от величины естественной освещенности и исключает раздражение глаз чередующимися полосами света и тени, возникающие при поперечном расположении светильников.

Мероприятия по снижению шума.

С физиологической точки зрения шум рассматривают как звук, мешающий разговорной речи и негативно влияющий на здоровье человека. Шум является одним из наиболее распространенным в производстве вредным фактором.

В соответствии с ГОСТ 12.2.003-83 защита от шума, создаваемого на рабочих местах внутренними источниками, а также шума, проникающего извне, осуществляется следующими методами:

уменьшением шума в источнике;

применением средств коллективной и индивидуальной защиты;

рациональной планировкой и акустической обработкой рабочих помещений.

Уменьшение шума, проникающего в производственные помещения ВЦ извне может быть достигнуто увеличением звукоизоляции ограждающих конструкций, уплотнением по периметру притворов окон, звукоизоляцией мест пересечения, проходов инженерными коммуникациями ограждающих конструкций.

Меры защиты от поражения электрическим током.

Электрические установки, к которым относится практически все оборудование ПЭВМ, представляют для человека большую потенциальную опасность, так как в процессе эксплуатации или проведения профилактических работ человек может коснуться частей, находящиеся под напряжением. Специфическая опасность электроустановок: токоведущие проводники, корпуса ЭВМ и прочего оборудования, оказавшегося под напряжением в результате повреждением в результате повреждения (пробоя) изоляции, не подают каких-либо сигналов, которые предупреждали бы человека об опасности. Реакция человека на электрический ток возникает лишь при протекании последнего через тело человека.

Проходя через тело человека, электрический ток вызывает внешние и внутренние электротравмы. Внешние травмы - это ожоги, металлизация кожи и электрические знаки. Внутренние электротравмы заключаются в поражении органов дыхания, сердца, нервной системы и изменении состава крови (электролиз).

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

В полной мере обеспечить необходимую электробезопасность при эксплуатации электроустановок возможно, если наряду с этими мероприятиями использовать технические средства защиты, к которым относят: электрическую изоляцию токоведущих частей, защитное заземление.

Расчет защитного заземления устройств.

Защитным заземлением называется преднамеренное электрическое соединение с землей металлических нетоковедущих частей электроустановок, которые могут оказаться под напряжением

Защитное действие заземления основано на том, что при прикосновении к незаземленному корпусу электрооборудования, находящемуся под напряжением, человек попадает под напряжение, равное разности потенциала на корпусе электрооборудования и потенциала участка земли, на котором стоит человек.

Заземлители бывают естественные и искусственные. К естественным заземлителям относятся различные технологические металлоконструкции, такие, как арматура железобетонных строительных элементов, металлические оболочки кабелей (за исключением алюминиевых) и другие, имеющие хороший контакт с землей.

Искусственные заземлители - это специально устраиваемые для заземления металлоконструкции. Материалом искусственных заземлителей служит сталь. Чаще всего искусственные заземлители выполняют в виде вертикальных электродов, связанных горизонтальным электродом.

Исходные данные для расчета:

)тип грунта - сухой песок;

) вид заземления - контурное;

) тип, размеры и расположение заземлителя - труба диаметром 0,06м и длиной 3м. заземлитель расположен в грунте;

) предварительное количество заземлителей n - 60шт.

Рабочее напряжение заземляемой установки Up - 220 В; режим нейтрали установки - изолированная, расположение соединительной полосы - в грунте, ее размеры - 12x4 мм, глубина заложения - 0,7 м.

Определяем расчетное удельное электрическое сопротивление грунта с учетом климатического коэффициента:


, (7.1)


где - удельное электрическое сопротивление грунта, Ом*м;

расчетный климатический коэффициент удельного сопротивления грунта.


Ом*м.


Определяем сопротивление растеканию тока одиночного вертикального заземлителя (стальной трубы) RTp с учетом расчетного удельного электрического сопротивления грунта с учетом того, что заземлитель расположен в грунте:


(7.2)


где - длина заземлителя, м;- диаметр заземлителя, м;

Н - глубина заложения заземлителя, м, Н=0,7+/2.



Уточнить число вертикальных заземлителей (стальных труб) с учетом коэффициента использования :


,(7.3)


где - нормативная величина сопротивления защитного заземления, Ом; - коэффициент использования заземлителей.



Полученный результат округлим к ближайшему большему, получим, n=37.

Определить длину соединительной стальной полосы, учитывая, что заземлители расположены по контуру:


,(7.4)


где a - расстояние между заземлителями, м; n - уточненное количество заземлителей.



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


,(7.5)


где - длина полосы, м;- ширина полосы, м;

Н - глубина заложения, м.


Ом



Определяем общее сопротивление растеканию тока заземляющего устройства:


,(7.6)


где - коэффициент использования соединительной полосы, равный 0,29.


Ом


Рисунок 7.1 - Схема помещения рассматриваемого предприятия

1-стол первого работника;

2-стол второго работника;

-двери;

-окна.



Рисунок 7.2 - Схема размещения заземляющего устройства

- контурное заземляющее устройство.


.3 Обеспечение экологической безопасности функционирования проектируемого объекта при воздействии опасных и вредных производственных факторов


При создании одного среднестатистического ПК общий вес различных химикатов и ископаемого топлива в 10 раз превышает вес окончательного продукта. Причем многие из этих химикатов токсичны, а применение ископаемого топлива усугубляет процесс глобального потепления. Эти отходы затем либо выбрасываются на огромные свалки, либо перерабатываются, зачастую в плохо подходящих условиях в развивающихся странах, что создает существенную угрозу здоровью.

Как и все приборы потребляющие электроэнергию, компьютер испускает электромагнитное излучение, причем из бытовых приборов, с ПК по силе этого излучения могут сравниться разве что микроволновая печь или телевизор, однако в непосредственной близости с ними мы не проводим очень много времени, а электромагнитное излучение имеет меньшее воздействие с увеличением расстояния от источника до объекта. Таким образом компьютер является самым опасным источником электромагнитного излучения. При работе компьютер образует вокруг себя электростатическое поле, которое деонизирует окружающую среду, а при нагревании платы и корпус монитора испускают в воздух вредные вещества. Всё это делает воздух очень сухим, слабо ионизированным, со специфическим запахом и в общем "тяжёлым" для дыхания. Естественно, что такой воздух не может быть полезен для организма и может привести к заболеваниям аллергического характера, болезням органов дыхания и другим расстройствам.

Проведя расчет защитного заземления, можно сказать, что в качестве заземлителей выбрана труба диаметром 0,06м и длиной 3м. расположенная в грунте; количество заземлителей - 37 штук. Заземлители расположены по контуру на расстоянии друг от друга 6м. Соединительная полоса - стальная полоса с поперечным сечением 12x4 мм, длиной 233,1м и глубиной заложения 0,7м. Величина сопротивления растеканию тока заземляющего устройства составляет 3,32 Ом.



Выводы


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



Список использованной литературы


1.Moodle Testing System: [Электронный ресурс]. М., 1995-2014. URL: http://moodle.org/. (Дата обращения: 20.04.2014).

2.My Test X: [Электронный ресурс]. М., 1995-2014. URL: http:// http://mytest.klyaksa.net (Дата обращения: 20.04.2014).

.Редактор тестов: [Электронный ресурс]. М., 1995-2014. URL: http:// http://www.keepsoft.ru/simulator.htm (Дата обращения: 20.04.2014).

.Дунаев, В.В. Базы данных. Язык SQL для студента / В.В. Дунаев. - М.: BHV, 2007 г. - 320 с.

.Аванесов B.C. Композиция тестовых заданий. Учебная книга для преподавателей вузов, учителей школ, аспирантов и студентов пед.вузов. 2 изд., испр.. и доп. М.: Адепт;

.Кальней В.А., Шишов С.Е. Технология мониторинга качества обучения в системе "учитель-ученик": Методическое пособие для учителя. М.: Педагогическое общество России, 1999;

.Шлее М. Qt 4.8 - Профессиональное программирование на C++ - М.: BHV, 2012 г. - 540 с.

8.Боровский А. - Qt 4.7+ Практическое программирование на С++ - М.: BHV, 2012 г. - 448 с.


Содержание Введение 1. Предпроектные исследования 1.1 Описание предметной области задачи автоматизации .2 Анализ прототипов системы .3 Обосно

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ