бесплатные рефераты

Автоматизированная система контроля знаний специалистов по дефектоскопии

подсистемы конфигурирования теста;

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

подсистема сервиса.

Структура системы изображена на рис. 2.1.

Рис. 2.1.

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

1. контрольные вопросы

2. ответы на вопросы. Причём, на каждый вопрос имеется несколько ответов и один из них - правильный.

3. комментарии к вопросам. К одному вопросу может быть один комментарий.

4. иллюстрации к вопросу. К одному вопросу может быть несколько иллюстраций.

5. информация служебного характера. Данная информация предназначена для подсистемы тестирования. При помощи неё задаётся количество вопросов и режим работы.

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

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

· экспорт информации в приложение MS Word, используя технологию OLE

· накопление информации об экзаменуемом

· построение диаграмм соотношения правильных и неправильных ответов

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

2.1 Разработка подсистем

2.1.1 Подсистема конфигурирования

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

Рис. 2.2

Поля данных «текст вопроса», «текст ответа», «текст комментария», «иллюстрация» имеют тип большого двоичного объекта - BLOB. Эти поля предназначены для хранения больших массивов текста или изображений. Остальные поля имеют текстовый тип.

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

Рис. 2.3 Алгоритм подсистемы конфигурирования

2.1.2 Подсистема тестирования

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

· Экзамен

· Обучение

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

Рис. 2.4 Алгоритм подсистемы тестирования.

Рассмотрим подробнее блок №2 - «Выборка и загрузка в память вопросов». Задача, выполняемая этим блоком - создать список неповторяющихся вопросов, выбранных случайным образом. Для генерации случайного числа используется генератор случайных чисел используемого языка программирования. Однако, практически любой генератор случайных числе выдаёт повторяющиеся числа. Таким образом, при прямом генерировании номеров выбираемых вопросов возможен повтор выбранных вопросов, а это категорически воспрещено. Поэтому, для избежания этого недостатка используется динамическая структура, в которую заносятся индексы вопросов. Генератор случайной величины генерирует порядковый номер вопроса. После выбора вопроса, он исключается из списка, а порядковые номера остальных вопросов пересчитываются. Алгоритм процедуры выбора приведён на рис. 2.5.

Таким образом, в случае генерации повторяющегося числа, выбираются повторяющиеся вопросы.

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

Рис. 2.5 Алгоритм процедуры выбора

2.1.3 Подсистема сервиса

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

- редактирование настроек теста

- экспорт информации в MS Word

- смена паролей на вход в редактор и тест

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

Экспорт в MS Word возможен только при наличии на компьютере установленного редактора. Осуществляется при помощи использования технологии OLE. Процедура экспорта имеет алгоритм, приведённый на рис. 2.6.

Рис. 2.6 Алгоритм процедуры экспорта в MS Word

3. Реализация программного продукта

3.1 Общее описание пакета программ

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

Редактор теста - Editor.exe;

Клиентская программа тестирования Test.exe.

При разработке программ была использована стандартная палитра компонентов Delphi 5. Система управления базами данных, которая используется в пакете программ - Paradox. Для полнофункциональной работы административной программы необходимо наличие на компьютере установленного двигателя баз данных фирмы Borland - Borland Database Engine (BDE). При несоблюдении этого условия часть подпрограмм будут работать некорректно, однако возможна работа с подпрограммами, не использующими BDE.

Аппаратные требования:

Intel-совместимая аппаратная платформа;

процессор Pentium-100;

оперативная память - 32 Мб

Программные требования:

операционная система Windows 95 или Windows 98;

желательно наличие BDE.

3.2 Общие элементы построения приложений

3.2.1 Проверка на повторный запуск

В системе может работать не более одной копии экземпляра каждой программы. Для этого, при запуске программы производится проверка на повторный запуск программы. Алгоритм проверки приведён на рис. 3.1.

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

Рис. 3.1 Алгоритм проверки повторного запуска

3.2.2 Заставка

Во время загрузки любого приложения из пакета программ на экран выводится заставка. Она представляет собой овальное полупрозрачное окно с наименованием программного продукта. Заставка для всех приложений пакета программ сделана в единообразном стиле. Окно делается овальным при помощи системной функции создания объекта типа «регион» [5]. Далее, созданный регион «накладывается» на форму и она становится овальной. Полупрозрачное окно создаётся при помощи алгоритмов смешения цветов. Кроме этого, на окно накладывается светофильтр. Смешение цветов осуществляется по формуле (3.1)

(3.1)

где Cr - результирующий цвет;

Сa, Сb - исходные цвета;

Wa, Wb - веса исходных цветов.

В качестве Сa берётся цвет пикселя скопированной с экрана картинки, в качестве Сb - заранее заданный цвет, Wa - это заданная прозрачность в процентах, Wb=100-Wa. Очевидно, что эту операцию необходимо выполнить для каждого из основных цветов в отдельности. Описанный способ смешения цветов позволяет создавать различные вариации на его основе. Например, если сделать прозрачность не постоянной, а зависящей от координаты, то получится градиентная прозрачность. Можно в качестве Сb взять не фиксированный цвет, а цвет пикселя другой картинки - получится окно, фоном которого служит полупрозрачная картинка. Возможны и другие модификации алгоритма.

3.3 Редактор теста

3.3.1 Вход в программу

После того, как произошла загрузка программы, на экране появляется окошко с предложением ввести пароль для входа. Вид окна изображён на рис. 3.2.

Рис. 3.2 Диалог ввода входного пароля

После того, как нажата кнопка «ОК», происходит считывание правильного пароля из картинки окна «О программе» и его декодирование. Далее, введённый пароль сравнивается с правильным. В случае совпадения работа с программой будет продолжена, иначе - выводится сообщение об ошибке. Вид окна сообщения представлен на рис. 3.1.

Рис. 3.3 Сообщение о неверном пароле

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

3.3.2 Главное окно

В программе реализована технология многодокументного интерфейса - Multiple Document Interface (MDI). На главной форме имеются верхнее меню, панель инструментов и строка состояния. Кнопки панели инструментов дублируют некоторые команды верхнего меню. Строка состояния разделена на две панели. В первой панели появляется комментарий текущего состояния программы, а также дублируются всплывающие подсказки элементов управления. Вид информации на второй панели меняется в зависимости от текущего состояния программы. В случае, если в данный момент выполняется подпрограмма обработки данных, то во второй панели высвечивается индикатор выполнения задачи, а в первой панели находится комментарий к выполняемой подзадаче. В другом состоянии, во второй панели показывается текущее время. Все модули, вызываемые из основного окна, имеют дочерние окна. Вид главного окна с раскрытым окном «О программе» показан на рис. 3.4. При запуске программы окно автоматически переходит в развёрнутое состояние, заполняя всю видимую область экрана. На рис. 3.4 также показано раскрытое окно «О программе». В этом окне, имеется рисунок с глубиной цвета 24 бит, в который при помощи алгоритма стегографии записывается текущий пароль для входа в программу. Подробнее о записи и чтении пароля из рисунка рассказано в главе, посвящённой защите программы.

Рис. 3.4 Главное окно.

3.3.3 Редактирование вопросов

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

Рис. 3.5 Окно редактирования вопросов

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

Рис. 3.6 Окно ввода текста ответа

Если данный ответ является правильным, то он помечается активизированием радиокнопки. При этом, если в это время другой ответ помечен как правильный, то в его окне радиокнопка деактивизируется. Элемент выбора «Расположить поверх всех окон» позволяет сделать это окно видимым всегда. В то время, пока открыто окно редактирования вопросов, в верхнем меню главного окна отображаются команды работы с компонентами вопроса. Добавление, удаление ответов и рисунков осуществляется через главное меню. Также, в нём имеются команды для работы с группой ответов или рисунков: «Показать все…», «Закрыть все…», а также команды управления окнами: «Каскадом», «Закрыть все».

3.3.4 Задание настроек теста

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

Рис. 3.7 Окно настройки.

После нажатия на кнопку «ОК» введённые параметры кодируются и записываются в таблицу данных теста.

3.3.5 Выбор метода неразрушающего контроля

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

Рис. 3.8 Окно выбора метода неразрушающего контроля.

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

3.3.6 Экспорт теста

В некоторых случаях может понадобиться бумажная или электронная копия элементов комплекта тестирования. Поэтому в редакторе предусмотрена функция экспорта информации в редактор MS Word. MS Word обладает широким функциональным спектром, поэтому представляется наиболее оптимальным решением сделать экспорт информации во внешнее приложение, чем дублировать его функциональность. В окне экспорта возможен выбор типов элементов, которые необходимо экспортировать. Вид окна приведён на рис. 3.9.

Рис. 3.9 Окно экспорта информации в MS Word/

3.3.7 Смена паролей

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

Рис. 3.10 Окно смены паролей

Возможно изменение как одного из двух паролей, так и обоих.

3.4 Клиентская программа тестирования

3.4.1 Регистрация

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

Рис. 3.11 Окно регистрации

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

После регистрации начинается тестирование. Окно тестирования представлено на рис. 3.12

Рис. 3.12 Окно тестирования

Окно заполняет собой всю видимую область экрана. Варианты ответов располагаются в отдельных окнах. Окна упорядочиваются по порядку внизу окна тестирования. Если вариантов ответов больше четырёх, то они будут выведены в два и более рядов. После отображения очередного вопроса ни одно из окон ответов не является активным. Если пользователь активизировал окно с ответом, оно выделяется жёлтым цветом (на рисунке - «Ответ В»), а кнопка «Ответить» - красным, с увеличением размера шрифта. Для выбора нужного ответа необходимо нажать на кнопку «Выбрать». После этого будет отображён текст следующего вопроса, варианты ответов, рисунки к вопросу. Если это был последний вопрос теста, то тестирование будет завершено. Вопрос, на который получен ответ, помечается в списке вопросов галочкой. В режиме обучения доступна кнопка «Комментарий». При нажатии на неё в отдельном окне будет выведен текст комментария к вопросу. После ответа на все утверждения теста появится сообщения об успешном завершении тестирования. Вид сообщения приведён на рис. 3.13.

Рис. 3.13 Сообщение о завершении тестирования

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

Рис. 3.14 Подтверждение выхода

3.4.3 Просмотр результатов тестирования

После получения ответов на все вопросы теста будет выведено окно с результатами теста. Вид окна приведён на рис. 3.15.

В верхней части окна приведено соотношение правильных и неправильных ответов. В секции «Просмотр» есть возможность выбрать тип информации для просмотра в нижнем окне. При нажатии на кнопку «Отправить в Word» будет произведена передача текста в редактор MS Word. При нажатии на кнопку «Сохранить в файле» текст будет сохранён в простом текстовом файле.

Рис. 3.15 Окно результатов теста.

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

Рис. 3.16 Окно вопроса о повторном тестировании.

3.5 Отладка. Контроль использования динамической памяти

Утилита «Мониторинг памяти» написана для осуществления контроля использования динамической памяти в программе. Для получения информации о состоянии памяти используется системная функция GetMemoryStatus. Она возвращает информацию о текущем состоянии разных логических видов памяти. Считывание этой информации происходит через определённые промежутки времени. Вид программы приведён на рис. 3.17.

Рис. 3.17 Утилита мониторинга динамической памяти

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

Окно настройки параметров вызывается при нажатии на кнопку «Параметры». Оно позволяет оптимизировать работу утилиты при отладке программы. Вид окна представлен на рис. 3.18.

Рис. 3.18 Настройка параметров

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

3.6 Защита информации

3.6.1 Защита от несанкционированного использования

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

В программе применена двухуровневая система защиты.

Первый уровень - это проверка правильности введённого пароля. После ввода пользователем пароля, он сравнивается с правильным. Работа с программой возможна лишь в том случае, если введённый пароль соответствует правильному. Для хранения правильного пароля реализован алгоритм стегографии. Цель этого алгоритма - скрыть пароль в файле точечного рисунка формата bmp. При этом размер файла не меняется и рисунок не разрушается. Я решил это следующим способом. Каждая точка описывается 3 компонентами R, G и B (для 24-битных рисунков, а другие конвертируются в этот режим). Если яркость какой-либо из этих компонент изменится на 1/255, этого никто не заметит. Что и требуется. Скрываемая информация по битам записывается в младшие биты RGB-компонент. При считывании, наоборот, из младшего бита RGB-компонент собираем данные. Рисунок, в котором хранится пароль, отображается в диалоговом окне «О программе…». Перед записью в рисунок пароль необходимо закодировать при помощи ключевого слова. Принцип кодирования следующий:

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

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

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

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

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

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

Простого наложения маски, как описано в шаге 6, недостаточно - так как в этом случае ключевое слово можно вычислять по частям с помощью лингвистического анализатора, а благодаря предыдущим пунктам этот процесс будет крайне затруднен. Возможно применение дополнительно к этому метод "Иголки вперед" - сложение кода текущего со следующим, затем следующего (до его изменения) со следующими после него и так далее, но, я считаю, что это в данном случае будет излишним, вследствие того, что несмотря на описанные выше меры, этот пароль не способен оказать серьёзную защиту. Дело в том, что код исполняемого модуля программы можно дизассемблировать. После этого, пароль снимается путём изменения всего лишь двух символов. Условный переход на языке ассемблера (jne), который стоит в программе на месте сравнения введённого пользователем пароля с правильным, заменяется на безусловный - jmp. В результате чего, войти в программу можно, набрав любые символы. На рис. 3.19 приведён отрывок алгоритма, где производится ввод и проверка пароля. Также, там показан безусловный переход, который делается взломщиком программы. Из рисунка видно, что в данном случае эффективность защиты не зависит от надёжности процедуры проверки правильности введённого пароля.

В качестве дополнительной защиты можно было бы упаковать исполняемый файл упаковщиком типа ExePack, но это не намного увеличит её эффективность, так как ко многим распространённым упаковщикам уже разработан метод их «вскрытия».

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

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

Рис. 3.19 Алгоритм защиты от несанкционированного доступа

3.6.2 Защита данных

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

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

Рис. 3.20. Метод кодирования текста

Вообще, для обеспечения более эффективной защиты требуется разработка целой подсистемы защиты. Но это сильно увеличило бы сложность программного изделия и повысило бы его рыночную стоимость. Поэтому, я считаю, что дополнительно целесообразно использование внешней защитной системы. Для защиты программы и данных от несанкционированного доступа можно использовать программное средство, реализующее защиту информации криптоалгоритмом DES, Blowfish или советским ГОСТ 28147-89. Одна из таких программ - Best Crypt 6.04. При помощи неё в операционной системе создаётся контейнер - зарезервированное место заданным объёмом. Этот контейнер система видит как обычный съёмный диск. На него можно записать административную программу, список обследованных и регистрационные листы. Получить доступ к контейнеру можно только после введения пароля. Сам контейнер представляет собой файл, который находится в корневом каталоге и зашифрован устойчивым криптографическим алгоритмом.

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

3.6.3 Защита от программ-шпионов

Операционная система Windows разрешает работу в фоновом режиме процессов, которые не имеют своего окна и не видны в панели задач и в списке работающих программ. Обычно это различные сервисные процессы. Программы типа «троянский конь» маскируются под сервисные процессы и могут осуществлять различные действия. При помощи них злоумышленник может шпионить за заражённым компьютером. В частности, возможно копирование, уничтожение и пересылка интересующей злоумышленника информации на компьютере пользователя. «Троянец» может «перехватывать» нажатия клавиш пользователем, сохранять на диске информацию о нажатых клавишах и отсылать её злоумышленнику. Благодаря этому злоумышленник может узнать набираемые пароли и другую информацию. Возможно также администрирование компьютера пользователя с удаленного компьютера злоумышленника при помощи сети Internet. «Троянцы» имеют способность встраиваться в исполняемые модули других программ, рассылать свои копии по электронной почте. При уничтожении запускного файла «троянца» он может самовосстанавливаться с резервных копий. Для запуска «троянец» обычно прописывает путь к своему запускному файлу в реестре Windows, в ctrwb. Run или RunService. Поэтому целесообразно при подозрении на наличие «троянца» в системе проверить указанные секции системного реестра. Утилита MemMon позволяет осуществлять слежение за процессами, работающими в системе. Вид приложения изображён на рис. 3.21.

Рис. 3.21. Вид окна утилиты MemMon

MemMon показывает все процессы, даже те, которые не видны в окне, появляющемся при нажатии комбинации клавиш Ctrl-Alt-Del. Это свойство необходимо для борьбы с программами-шпионами типа «троянский конь». Анализируя список работающих процессов, можно обнаружить наличие подозрительной программы и локализовать её местонахождение. Если выяснится, что это вредоносная программа, то можно принудительно завершить её работу и принять меры для её полного уничтожения. Для завершения выбранного процесса нужно нажать на кнопку «Убить процесс». Возможность немедленного завершения процесса необходима также при первоначальной отладке. В случае «зависания» одного процесса его гораздо проще завершить, используя данную программу.

4. Экономическое обоснование

4.1 Расчет затрат на создание системы

Затраты на разработку складываются из:

расходов по зарплате исполнителей;

затрат на материалы;

арендной платы за помещения;

расходов на отопление, освещение,

оплаты машинного времени

амортизации основных фондов и т. д.

Расходы по заплате исполнителей Зз/п определяются по формуле (4.1):

(4.1)

где Зосн - основная заработная плата работников,

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

Значения kдоп, kс.ф. можно принимать в размере:

kдоп = 0,08 0,1;

kс.ф. = 0,39.

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

(4.2)

где m - количество этапов разработки;

n - количество разработчиков, принимающих участие в разработке;

Зijчас - часовая зарплата работника i-ой квалификации на j-ом этапе разработки;

tij - затраты времени в часах i-го разработчика на j-ом этапе.

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

Полученные результаты сведены в таблицу 4.1.

Этапы разработкиТаблица 4.1.

Наименования этапов

Должность

Кол-во исполнит.

Часовая з/пл, руб.

Продол-жительн. работ, час

З/пл исполнит по этапу

Стоим. этапа, руб.

Длит. этапа, дни

Маркетинговые исследования

Инженер

Дефектоскопист

2

10,42

10,70

24

250

256,8

506,8

3

Исследование предметной области для разработки

Инженер

Дефектоскопист

2

10,42

10,70

40

416,8

420,5

837,3

5

Выбор программного обеспечения

Инженер

1

10,70

8

85,6

85,6

1

Подбор литературы

Инженер

Дефектоскопист

2

10,42

10,70

24

250

256,8

506,8

3

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

Инженер

1

10,42

16

166,72

166,72

2

Создание базы данных и заполнение ее информацией

Дефектоскопист

1

10,70

112

1187,2

1187,2

14

Реализация системы обработки данных

Инженер

1

10,42

144

1500

1500

18

Тестирование и отладка работы системы в целом

Инженер

1

10,42

96

1000

1000

12

Тестирование работы системы на реальных данных. Окончательная отладка

Инженер

Дефектоскопист

2

10,42

10,70

96

1000

649,9

1650

12

Оформление документации

Инженер

Дефектоскопист

2

10,42

10,70

88

946,96

941,6

1888

11

Передача системы заказчику

Инженер

1

10,42

16

166,7

166,7

2

ИТОГО

7570,6

83

Зосн = 7570 рубля.

Зз/п = 7570 (1 + 0,09)(1 + 0,39) = 11469,3 рубля.

Из них дополнительная заработная плата составляет 749 рублей, отчисления в социальные фонды - 3537,3 рубля.

Затраты на материалы Зм определяются по формуле (4.3).

(4.3)

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

qijчас - расход материала i-го вида на j-ом этапе;

цi - цена единицы материала i-го вида.

Расчет показал, что Зм = 800 рублей (бумага, канцелярские товары, дискеты).

Расходы по арендной плате за помещения Зар определяются по формуле (4.4)

(4.4)

где Цар - арендная плата за 1 кв. м. площади в год;

Sпл - арендуемая площадь, кв. м.;

Тразр - время на разработку в календарных днях.

Цар = 900 руб/год.

Тразр определяется как сумма продолжительностей этапов Тj определяются по формулам (4.5) и (4.6)

(4.5)

(4.6)

где Tjэт - трудоемкость j-го этапа в человеко-часах;

Чj - количество исполнителей на j-ом этапе;

s - продолжительность рабочего дня в часах;

f - коэффициент перевода рабочих дней в календарные.

f = 1,4.

Tразр = 59 дней.

Размер необходимой арендуемой площади Sпл определяется по формуле (4.7).

(4.7)

sчел - норма площади на одного человека, равная 6 кв. м.

Sпл = 17 м2.

Затраты на освещение и отопление Зэн определяются по формуле (4.8).

(4.8)

где P - суммарная мощность электроприемников, кВт;

tдн - продолжительность работы электроприемников в течении дня, час;

Тразр.раб. - продолжительность разработки в рабочих днях;

Wэ - тариф на электроэнергию, руб/кВтч;

Wтепл - тариф на тепловую энергию, руб/кв.м. в год.

Тразр.раб.=Тразр f;

Тразр.раб. = 83 дня.

Wэ = 0,42 рубля.

Wтепл = 240 рублей.

Оплата машинного времени Змаш определяется по формуле (4.9)

Страницы: 1, 2, 3, 4


© 2010 РЕФЕРАТЫ