Приложение 'Сетевой мониторинг'

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    580,06 Кб
  • Опубликовано:
    2014-09-11
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Приложение 'Сетевой мониторинг'

Содержание

Введение

. Теоретическая часть

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

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

.3 Требования к программному продукту

.4 Сравнительный анализ имеющихся средств реализации       

.5 Критерии выбора и выбор инструментальных средств разработки

. Практическая часть

.1 Моделирование предметной области

.2 Выбор технологии создания программного продукта и ее описание     

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

.4 Внедрение и апробация разработки

.5 Перспективы развития разработки, внесение изменений

. Экономическое обоснование реализации разработки

. Охрана труда при работе в компьютерном классе

. Инструкция пользователя

Заключение

Список используемых источников (литературы)

Приложения


Введение

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

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

Было разработано приложение «Сетевой мониторинг», который позволит проследить за ходом работы студентов с помощью:

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

обмена сообщениями и файлами между преподавателем и студентом.

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

. Теоретическая часть

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

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

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

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

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

организовать возможность обмена сообщениями и файлами между преподавателем и студентом;

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

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

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

Клиентскому приложению необходимо иметь следующими свойствами:

возможность работы в фоновом режиме (работа приложения осуществляется без участия пользователя);

доступ к интерфейсу приложения через меню в системном трее;

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

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

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

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

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

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

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

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

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

.3 Требования к программному продукту

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

производительности на процессорах Intel Core 2 Duo с тактовой частотой 2.2 Ггц или аналогичных, при ограничении в 512 МБ оперативной памяти и занимать на жестком диске пространство, не мешающее работе операционной системе.

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

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

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

.4 Сравнительный анализ имеющихся средств реализации

Перед тем как выбрать средства разработки необходимо провести их сравнительный анализ. Для сравнения были взяты следующие языки программирования: Delphi, C++, C#, Java.- императивный, структурированный, объектно-ориентированный язык программирования, диалект Object Pascal. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal. Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения, связанные с современными тенденциями (например, с развитием платформы .NET) развития языков программирования: появились class helpers, перегрузки операторов.

Изначально среда разработки Delphi была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован вариант для платформ Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и вскоре было объявлено о поддержке Microsoft .NET.

Реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его для создания приложений на Delphi для таких платформ, как Linux, Mac OS X и Windows CE.

Также предпринимались попытки использования языка в проектах GNU (например, Notepad GNU) и написания компилятора для GCC.++ - компилируемый статически типизированный язык программирования общего назначения.

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

Являясь одним из самых популярных языков программирования, C++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр). Существует множество реализаций языка C++, как бесплатных, так и коммерческих и для различных платформ. Например, на платформе x86 это GCC, Visual C++, Intel C++ Compiler, Embarcadero (Borland) C++ Builder и другие. C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.- объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) вне зависимости от компьютерной архитектуры.

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

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

С# (произносится си шарп) - объектно-ориентированный язык программирования. Разработан в 1998 - 2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

Переняв многое от своих предшественников - языков C++, Delphi, Модула, Smalltalk и в особенности Java - С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# в отличие от C++ не поддерживает множественное наследование классов (между тем допускается множественное наследование интерфейсов).

.5 Критерии выбора и выбор инструментальных средств разработки

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

подробной документацией для быстрого поиска информации по решению той или иной задачи;

­возможностью создания производительных многопоточных приложений.

­удобный интерфейс, который позволит легко ориентироваться и редактировать исходные коды приложения;

­подсветка синтаксиса и автоподстановкой кода, что ускорит процесс создания кода

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

­набором средств для отладки приложения, что позволит оперативно обнаружить и устранить ошибки из приложения;

подробной документацией для поиска информации по решению той или иной задачи.

Основываясь, предоставленные выше критерии для разработки был выбран язык программирования C++ в связке с библиотеками Qt 4.8.2.

С++ был выбран, так как он позволяет создавать высокопроизводительные приложения, и обладает широким выбором среди библиотек.- кросс-платформенный инструментарий разработки ПО на языке программирования C++.

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

Начиная с версии 4.5 Qt распространяется по 3 лицензиям (независимо от лицензии, исходный код Qt один и тот же):

Qt Commercial - для разработки ПО с собственнической лицензией, допускающая модификацию самой Qt без раскрытия изменений;

GNU GPL - для разработки ПО с открытыми исходниками, распространяемыми на условиях GNU GPL;

GNU LGPL - для разработки ПО с собственнической лицензией, но без внесения изменений в Qt.

Отличительная особенность Qt от других библиотек - использование Meta Object Compiler (MOC) - предварительной системы обработки исходного кода (в общем-то, Qt - это библиотека не для чистого C++, а для его особого наречия, с которого и «переводит» MOC для последующей компиляции любым стандартным C++ компилятором). MOC позволяет во много раз увеличить мощь библиотек, вводя такие понятия, как слоты и сигналы. Кроме того, это позволяет сделать код более лаконичным. Утилита MOC ищет в заголовочных файлах на C++ описания классов, содержащие макрос Q_OBJECT, и создаёт дополнительный исходный файл на C++, содержащий метаобъектный код.

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

В качестве среды разработки был выбран Qt creator, а также компилятор MinGW.Creator - кроссплатформенная свободная IDE для разработки на С, С++ и QML. Разработана Trolltech (Digia) для работы с фреймворком Qt. Включает в себя графический интерфейс отладчика и визуальные средства разработки интерфейса как с использованием QtWidgets, так и QML. Поддерживаемые компиляторы: Gcc, Clang, MinGW, MSVC, Linux ICC, GCCE, RVCT, WINSCW [5].

Рисунок 1 - Среда разработки Qt Creator.

(англ. Minimalist GNU for Windows), ранее mingw32, - компилятор, нативный программный порт GNU Compiler Collection (GCC) под Microsoft Windows, вместе с набором свободно распространяемых библиотек импорта и заголовочных файлов для Windows API. MinGW позволяет разработчикам создавать нативные приложения Microsoft Windows [12].

. Практическая часть

.1 Моделирование предметной области

Для моделирования используется методология SADT стандарт диаграмм IDEF0.(акроним от англ. Structured Analysis and Design Technique) - методология структурного анализа и проектирования, интегрирующая процесс моделирования, управление конфигурацией проекта, использование дополнительных языковых средств и руководство проектом со своим графическим языком. Процесс моделирования может быть разделен на несколько этапов: опрос экспертов, создание диаграмм и моделей, распространение документации, оценка адекватности моделей и принятие их для дальнейшего использования. Этот процесс хорошо отлажен потому, что при разработке проекта специалисты выполняют конкретные обязанности, а библиотекарь обеспечивает своевременный обмен информацией.- Function Modeling - методология функционального моделирования и графическая нотация, предназначенная для формализации и описания бизнес-процессов. Отличительной особенностью IDEF0 является её акцент на соподчинённость объектов. В IDEF0 рассматриваются логические отношения между работами, а не их временная последовательность [1].-модели состоят из трех типов документов: графических диаграмм, текста, глоссария. Эти документы имеют перекрестные ссылки друг на друга.

Графическая диаграмма - главный компонент модели, содержащий блоки, стрелки, соединения блоков и стрелок. Диаграмма является единицей описания системы и располагается на отдельном листе.

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

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

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

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

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

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

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

Декомпозиция А0 (Приложение Б) представляет собой следующие блоки:

выбрать имя компьютера;

выбрать действие;

наблюдать;

отправить сообщение;

получить сообщение.

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

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

.2 Выбор технологии создания программного продукта и ее описание

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

Сигналы и слоты - это фундаментальный механизм Qt, позволяющий связывать объекты друг с другом [13].

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

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

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

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

Замечание по поводу аргументов: опыт показывает, что сигналы и слоты легче повторно использовать при написании программ, если они не используют специальных типов.

Слот вызывается, когда вырабатывается сигнал, с которым он связан. Слот это обычная функция в C++ и может вызываться обычным способом; единственная его особенность, что с ним можно соединять сигналы.

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

Слоты так же можно объявлять виртуальными, что иногда бывает довольно удобно.

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

Для реализации соединения между сервером и клиентом использовались классы QTcpServer и QTcpSocket. Данные классы позволяют организовать сокетное соединение, используя протокол TCP.- это транспортный механизм, предоставляющий поток данных, с предварительной установкой соединения, за счёт этого дающий уверенность в достоверности получаемых данных, осуществляет повторный запрос данных в случае потери данных и устраняет дублирование при получении двух копий одного пакета. В отличие от UDP гарантирует целостность передаваемых данных и уведомление отправителя о результатах передачи [7].

Для хранения пароля настроек клиента используется алгоритм шифрование SHA-1.(Secure Hash Algorithm 1) - алгоритм криптографического хеширования. Описан в RFC 3174. Для входного сообщения произвольной длины (максимум 2 эксабайта) алгоритм генерирует 160-битное хеш-значение, называемое дайджестом сообщения. Используется во многих криптографических приложениях и протоколах. Данный алгоритм рекомендован в качестве основного для государственных учреждений в США.

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

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

Рисунок 2 - Функция подключения к серверу.

В Серверном приложении используется класс Server, который был унаследован от класса QTcpServer. Где была переопределена функция incomingConnection(int handle), которая вызывается при подключении к серверу. В ней создается поток ThreadSocket и передается дескриптор соединения. В потоке так же, как и в клиенте используется компонент класс QTcpSocket. Данный компонент использует полученный дескриптор для установки соединения с клиентом.

Класс Server принимает сигнал от потоков и перенаправляет их основному классу приложения mainwindow, и на оборот сигналы от mainwindow к потокам.

Поскольку в сервере и клиенте используются компонент класса QTcpSocket, алгоритмы обмена данными одинаковы. Для обработки приема данных используется слоте slotReadyReed(), который присоединен к сигналу сокета ReadyReed(). Этот сигнал отправляется каждый раз, когда сокет принял данные.

Блок данных для отправки состоит из следующих частей:

первые 4 байта­ - размер остального блока данных;

следующий байт - код сообщения;

сообщение (может отсутствовать).

В качестве кода сообщения используются следующие константы:_OF_SCREENSHOT - запрос скриншота, после приема этого сигнала клиент должен отправить скриншот рабочего места серверу;_OF_FILE - код конца файла, после приема которого необходимо закрыть файл и уведомить пользователя.- код согласия, который говорит о том что принимающая сторона, готова к передаче файла;­- код отказа от приема файла;_SEND - код отмены передачи файла, говорит о том, что другая сторона отменила отправки файла._RECEIVE ­- код отмены приема файла, говорит о том, что другая сторона отменила прием файла._OF_NEXT_BLOCK ­- кода запроса следующего блока данных, после приема которого нужно отправить следующую «порцию» файла;_OF_SEND - код запроса отправки файла, говорит о том что сообщение содержит в себе имя и размер файла. После приема сообщения необходимо спросить разрешение у пользователя о приеме файла; _OF_FILE - код блока файла, означает что пришло в сообщении новая «порция» файла и необходимо его считать;- код текстового сообщения;_PC - код имени компьютера, означает, что принято имя компьютера клиента, нужно данное имя поместить в список пользователей- код скриншота, говорит о том, что сообщение содержит в себе изображение рабочего места клиента.

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

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

Рисунок 3 - Отправка запроса на передачу

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

Рисунок 4 - отправка блока файла.

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

Рисунок 5 - Завершение приема файла.

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

В начале запуска приложения идет чтение из ini-файла, если файл не создан, берутся значения по умолчанию. При сохранении настроек создается ini-файл, если он не создан.

Рисунок 6 - структура ini-файла.

2.4 Внедрение и апробация разработки

Для обеспечения максимальной безопасности клиентского приложение необходимо:

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

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

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

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

.5 Перспективы развития разработки, внесение изменений

Основные перспективы данного программного продукта это:

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

обеспечение таких возможностей как блокировка и завершение работы компьютера;

использование протокола RDP для возможности удаленного управления компьютером.

. Экономическое обоснование реализации разработки

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

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

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

 (1)

Где С себестоимость продукта;т ­­-­ Себестоимость технологическая;

Рн ­- накладные расходы.

Накладные расходы составляют 50% от технологической себестоимости.

 (2)

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

 (3)

Где М - Затраты на материалы и комплектующие;

ФЗП - фонд заработной платы;

РСЭО - расходы на содержание и эксплуатацию оборудования;

РСЭО - рассчитываются, как произведение времени затраченного на разработку и стоимости машино-часа.

 (4)

Где Т - время затраченное на разработку продукта;

См.ч - стоимость одного машино-часа;= 336 часов в соответствии таблицей 1.

Таблица 1 затраты времени

Наименование вида работы

Затраченное время, ч.

Оформление пояснительной записки

24

Программирование продукта

280

Тестирование и отладка

32

Итого:

336


Стоимость машино-часа это стоимость одного часа работы компьютера.

 (5)

Где Зк - затраты на эксплуатацию компьютера в год;

Тк - время эксплуатации компьютера в год.

В Среднем продолжительность работы компьютера 10 часов в день.

Тк = 365 * 10 = 3650 ч.

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

 (6)

Где Зэ - затраты на электроэнергию вгод;

Зо - затраты на обслуживания в год, и в среднем равны 1500 руб.

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

Затраты на электроэнергию определяются по следующей формуле.

 (7)

Где Сэ - цена электроэнергии за 1 кВт.ч. и согласно установленным расценкам равна 2,64 руб./кВт.ч;

Э - потребляемая мощность компьютера и в среднем равна 400 Вт/ч или 0,4 кВт/ч.

Зэ = 2,64 ∙ 3650 ∙ 0,4=3854,4 руб

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

 (8)

Где Ск - первоначальная стоимость компьютера.

А = 25000 × 0,2 = 5000 руб.

Теперь рассчитаем по формуле (6) затраты на эксплуатацию компьютера.

Зк = 3845,4 + 1500 + 5000 = 10354,4 руб.

Отсюда можно рассчитать по формуле (5) стоимость машино-часа.

Тогда согласно формуле (4):

РСЭО = 336 × 2,83 = 950,88 руб.

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

ФЗП = 0 руб.

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

Все затраты на материалы приведены в таблице 2

Таблица 2 затраты на материалы и комплектующие

Наименование

Ед. изм.

Количество

Цена, руб

Стоимость, руб

Печатная бумага для принтера А4

пачка

0,2

150

30

Картридж для принтера (Canon CLI-521BK)

шт.

0,06

560

33,6

Наименование

Ед. изм.

Количество

Цена, руб

Стоимость, руб

CD-диск

шт.

2

100

20

Интернет

месяц

1,5

390

585,5

ПО




0

Итого:




669,1


Бумага формата А4 использована для распечатки отчётов с целью проверки правильности вывода на печать, настройки печатной области, а также пояснительной записки. Пачка включает в себя 500 листов, однако использовано было примерно 100 листов.диски использованы для записи программного продукта в конечном результате.

В ходе разработки основным источником информации был интернет, стоимость которого согласно тарифу компании ОАО «Ростелеком» равняется 390 рублей в месяц.

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

М = 669,1руб.

Теперь по формуле (3) можно рассчитать технологическую себестоимость.

Ст = 950,88 + 0 + 669,1 = 1619,98 руб.

Тогда согласно формуле (2) накладные расходы равны:

Рн = 0,5 × 1619,98 = 809,99 руб.

В результате по формуле (1) можно рассчитать себестоимость продукта

С = 1619,98 + 809,99 = 2429,97 руб.

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

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

Экономическая эффективность равна разности между возможной стоимости проекта и себестоимости продукта.

 (9)

Где Ээф - экономическая эффективность;

Сп - предполагаемая стоимость проекта.

При разработке была проведена оценка возможной стоимости подобного проекта при заказе его у специалистов. Расценки на подобные типы работ начинаются от 25000 рублей у одного свободного разработчика.

Ээф = 25000 - 2429,97 руб.

Разработанное приложение сетевого мониторинга:

повышает качество обучения;

обеспечивает защиту настроек приложения за счет шифрования пароля;

обеспечивает удобный и интуитивно понятный интерфейс;

является кросс-плотформенным приложением и может работать на операционных системах семейства Windows и UNIX(GNU/Linux, Mac OS и другие).

. Охрана труда при работе в компьютерном классе

Обеспечение безопасности рабочего места

. Правильный выбор рабочего места - дисплей (монитор) является источником электромагнитного излучения. Рекомендуется устанавливать защитный экран для снижения воздействия электромагнитного излучения от задней части другого дисплея. Недопустимо устраивать рабочие места близко одно от другого.

Похожие работы на - Приложение 'Сетевой мониторинг'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!