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

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 18.04.2015
Размер файла 2,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

Содержание

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

Приложения

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Перед тем как выбрать средства разработки необходимо провести их сравнительный анализ. Для сравнения были взяты следующие языки программирования: Delphi, C++, C#, Java.

Delphi - императивный, структурированный, объектно-ориентированный язык программирования, диалект 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++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр). Существует множество реализаций языка C++, как бесплатных, так и коммерческих и для различных платформ. Например, на платформе x86 это GCC, Visual C++, Intel C++ Compiler, Embarcadero (Borland) C++ Builder и другие. C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.

Java - объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) вне зависимости от компьютерной архитектуры.

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

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

С# (произносится си шарп) - объектно-ориентированный язык программирования. Разработан в 1998 - 2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

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

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

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

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

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

Выбираемые средства должны иметь IDE (интегрированная среда разработки) со следующими свойствами:

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

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

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

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

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

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

С++ был выбран, так как он позволяет создавать высокопроизводительные приложения, и обладает широким выбором среди библиотек.

Qt - кросс-платформенный инструментарий разработки ПО на языке программирования 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.

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

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

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

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

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

Для моделирования используется методология SADT стандарт диаграмм IDEF0.

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

IDEF0 - Function Modeling - методология функционального моделирования и графическая нотация, предназначенная для формализации и описания бизнес-процессов. Отличительной особенностью IDEF0 является её акцент на соподчинённость объектов. В IDEF0 рассматриваются логические отношения между работами, а не их временная последовательность [1].

IDEF0-модели состоят из трех типов документов: графических диаграмм, текста, глоссария. Эти документы имеют перекрестные ссылки друг на друга.

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

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

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

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

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

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

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

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

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

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

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

- наблюдать;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для реализации соединения между сервером и клиентом использовались классы QTcpServer и QTcpSocket. Данные классы позволяют организовать сокетное соединение, используя протокол TCP.

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

Для хранения пароля настроек клиента используется алгоритм шифрование SHA-1.

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

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

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

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

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

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

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

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

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

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

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

В качестве кода сообщения используются следующие константы:

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

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

AGREE - код согласия, который говорит о том что принимающая сторона, готова к передаче файла;

REJECT -- код отказа от приема файла;

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

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

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

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

BLOCK_OF_FILE - код блока файла, означает что пришло в сообщении новая «порция» файла и необходимо его считать;

MESSAGE - код текстового сообщения;

NAME_PC - код имени компьютера, означает, что принято имя компьютера клиента, нужно данное имя поместить в список пользователей

SCREENSHOT - код скриншота, говорит о том, что сообщение содержит в себе изображение рабочего места клиента.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(1)

Где С себестоимость продукта;

Cт ---- Себестоимость технологическая;

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

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

(2)

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

(3)

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

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

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

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

(4)

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

См.ч - стоимость одного машино-часа;

T = 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) стоимость машино-часа.

См.ч = 10354,4 / 3650 ? 2,83 руб/м.ч.

Тогда согласно формуле (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 листов.

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

В ходе разработки основным источником информации был интернет, стоимость которого согласно тарифу компании ОАО «Ростелеком» равняется 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 и другие).

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

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

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

2. Расположение оргтехники:

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

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

- клавиатура располагается на расстоянии 1530 см от края столешницы или на специальной выдвижной доске.

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

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

3. Рабочая мебель:

- кресло - ширина и глубина сиденья не менее 40см.; спинка: высота опорной поверхности 30±2 см; ширина не менее 38 см.; подлокотники: длина не менее 25 см; ширина 57 см., высота над сиденьем 23+3 см.;

- стол - размеры рабочей поверхности (столешницы): длина - 80120 см; ширина - 80100 см.; высота (расстояние от пола до рабочей поверхности) 6885 см; оптимальная высота 72,5 см.;

- подставки - для рук: опорная планка для запястья плоская или изогнутая пластина из мягкого материала; помещается перед клавиатурой. Для ног: ширина не менее 30 см; длина (глубина) не менее 40 см.

4.Помещение:

площадь одного рабочего места с компьютером не менее 6 м2;

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

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

5. Микроклимат

температура воздуха от 21 до 25°С (в холодное время года); от 23 до 25?С (в теплое время года);

влажность воздуха (относительная) от 40 до 60%. Недопустимы резкие перепады температуры и влажность воздуха более 75%;

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

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

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

Перед подсоединением/отсоединением устройств ввода-вывода требуется полностью отключать эту технику и компьютер от электросети.

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

Прикасаться к задней панели работающего системного блока (процессора) запрещается.

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

При интенсивной работе резко возрастает напряженность электрического поля на клавиатуре и «мыши». От трения рук о них через 0,51 час работы электростатический потенциал достигает 1020 кВ/м, что оказывает на организм вредное воздействие. Работать с «мышью» нужно на специальном коврике. Необходимо несколько раз в течение рабочей смены (лучше ежечасно) смачивать руки водой, чтобы снимать электростатические заряды, а по завершении работы вымыть с мылом руки и лицо, ежедневно протирать влажной салфеткой экран дисплея, клавиатуру, «мышь» убирать статическое электричество, регулярно проводить влажную антистатическую обработку помещения.

1.2 Рабочая поза

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

Недопустимо работать, развалившись в кресле. Такая поза вызывает быстрое утомление, снижение работоспособности.

Чтобы не травмировать позвоночник, важно:

избегать резких движений;

поднимаясь/садясь, держать голову и торс прямо.

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

1.3 Положение рук и ног

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

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

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

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

1.4 Дыхание и расслабление мышц

Во время работы за компьютером необходимо:

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

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

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

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

При ощущении усталости глаз нужно в течение 23 мин окинуть взглядом комнату, устремлять взгляд на разные предметы, смотреть вдаль (в окно).

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

2. Вредные факторы при работе с ЭВМ:

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

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

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

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

Умственное перенапряжение.

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

Монотонность труда.

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

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

При первом запуске клиента отображается окно настроек приложения. В поле ip адрес вводится адрес сервера, в поле порт номер порта, на котором работает сервер.

Рисунок 7 - Окно настройки клиента.

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

Рисунок 8 - Окно установки пароля.

После нажатия кнопки ОК настройки сохранятся, и окно настроек закроется. После нажатия кнопки Отмена окно без сохранения настроек закроется.

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

Рисунок 9 - Контекстное меню приложения

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

Рисунок 10 - Окно ввода пароля.

Окно чата с администратором представляет собой два поля, одно поле отображает историю сообщений, другое поле используется для ввода текста сообщения. Отправить написанное сообщение можно нажав клавишу Enter или кнопку «Отправить сообщение». Комбинация клавиш ctrl+Enter служит для перехода на новую строку.

Рисунок 11 - Окно чата с администратором

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

Рисунок 12 - Окно прогресса передачи файла.

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

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

Рисунок 13 - Серверное приложение, вкладка «Просмотр скриншотов»

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

Рисунок 14 - Окно настройки порта сервера

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

Вкладка содержит следующие управляющие кнопки:

-- -кнопки навигации по списку компьютеров, который вбирают следующий или предыдущий компьютер;

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

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

Кнопка сохранения изображения.

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

Рисунок 15 - Серверное приложение вкладка «Чат»

Заключение

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

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

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

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

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

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

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

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

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

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

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

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

ГОСТ Р 50.1.028-2001 Информационные технологии поддержки жизненного цикла продукции. Методология функционального моделирования. - М.: Изд-во стандартов, 2002. - 53 с.

Бьёрн Страуструп, Язык программирования C++. Специальное издание. - М.: Бином-Пресс, 2007. - 1104 с.

Герберт Шилдт, С++: базовый курс - М.: «Вильямс», 2011. - 624 с.

Герберт Шилдт, Полный справочник по С++ - М.: «Вильямс», 2006. - 800 с.

Макс Шлее, Qt4.5. Профессиональное программирование на С++ - СПб.: БХВ-Петербург, 2010. - 896 с.

Марк Саммерфилд, Qt. Профессиональное программирование. Разработка кроссплатформенных приложений на С++. - СПб.: «Символ-Плюс», 2011. - 560 с.

RFC-793 Программная спецификация протокола DARPA INTERNET[Электронный ресурс] Репозиторий RFC на русском языке/ URL: http://rfc.com.ru/rfc793.htm/(дата обращения: 12.06.2013).

Валерий Коржов: Многоуровневые системы клиент-сервер/Издательство Открытые системы http://www.osp.ru/nets/1997/06/142618/ (дата обращения:12.06.2013)

Докуметнация Qt [Электронный ресурс]/ crossplatform.ru - все о кроссплотформенном программировании URL: http://doc.crossplatform.ru/qt/(дата обращения: 12.06.2013).

Работа с сокетами в Qt [Электронный ресурс]/Хабрахабр - сообщество IT специалистов URL:http://habrahabr.ru/post/111239/ (дата обращения: 08.06.2013).

Сигналы и слоты в Qt[электроный ресурс]/Хабрахабр - сообщество IT специалистов URL:http://habrahabr.ru/post/50812/ (дата обращения: 08.06.2013).

Страница MinGW на SourceForge.net[электроный ресурс]/SourceForge.net - система совместной разработки компьютерных программ. URL:http://sourceforge.net/projects/mingw/ (дата обращения: 08.06.2013).

Механизм сигналов и слотов в Qt/NOKIA Developer URL:http://www.developer.nokia.com/Community/Wiki/Механизм_сигналов_и_слотов_Qt/ (дата обращения: 08.06.2013).

Размещено на http://www.allbest.ru

Приложение А

Приложение Б

Размещено на http://www.allbest.ru

Приложение В

Приложение Г

void ThreadSocket::slotReadyRead()

{

QDataStream in(_socket);

while(true){

if(!_blockSize){

if(_socket->bytesAvailable() < sizeof(quint32)){

break;

}

else{

in >> _blockSize;

}

}

if(_socket->bytesAvailable() < _blockSize){

break;

}

quint8 code

in >> code;

_blockSize = 0;

switch(code){

case END_OF_FILE:

//конец файла

cancelReceivedFile(0);

emit signalEndOfReceive(_namePC);

break;

case AGREE:

//разрешили передачу

sendFile();

break;

case REJECT:

//запретили передачу

if(_waitSend){

_waitSend = false;

cancelSendFile();

emit signalCancelSend(_namePC);

}

break;

case CANCEL_SEND:

//отменили прием

cancelReceivedFile(1);

emit signalCancelReceive(_namePC);

break;

case CANCEL_RECEIVE:{

//отменили отправку

cancelSendFile();

emit signalCancelSend(_namePC);

break;

case QUERY_OF_NEXT_BLOCK:

//запрос на следующий блок файла

//Если передача файла закончена, то выход из процелуры

if(_endSend){

return;

}

sendPartOfFile();

break;

case QUERY_OF_SEND:{

//Пришел запрос на передачу

in >> _sizeReceivedFile;

in >> _receivedFileName;

emit signalIncomingFile(_namePC, _receivedFileName, _sizeReceivedFile);

break;

}

case BLOCK_OF_FILE:{

//пришел новый блок файла

if(_waitReceived){

int sizeBlock;

// STANDART_BLOCK_SIZE = 1024

char block[STANDART_BLOCK_SIZE];

//Чтение и запись файла

sizeBlock = in.device()->read(block,sizeof(block));

if(_waitReceived){

if(_endReceived){

return;

}

_receivedFile->write(block, sizeBlock);

_sizeReceived += sizeBlock;

writeToSocket(QUERY_OF_NEXT_BLOCK);

emit signalReceiveFile(_namePC, _sizeReceived);

}

}

break;

}

}

case MESSAGE:{

//пришло новое сообщение

QString message;

in >> message;

emit signalReceivedMessage(_namePC, message);

break;

}

case NAME_PC:

//пришло имя компьютера

in >> _namePC;

emit signalName(_namePC);


Подобные документы

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

    дипломная работа [1,9 M], добавлен 12.03.2013

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

    курсовая работа [2,8 M], добавлен 25.06.2017

  • Классификация пользователей проекта Web-приложения "Такси "Люкс". Выбор основных методов и средств разработки. Описание дизайна сайта. Исходный код обработчиков основных событий на страницах. Расчет себестоимости разработки программного продукта.

    дипломная работа [2,5 M], добавлен 26.06.2012

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

    дипломная работа [2,7 M], добавлен 12.05.2016

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

    курсовая работа [942,1 K], добавлен 19.03.2012

  • Системный анализ предметной области. Выбор инструментальных средств для создания программного обеспечения. Программирование на стороне SQL-сервера. Создание клиентского Win-приложения, пользовательский интерфейс. Физическое проектирование базы данных.

    курсовая работа [3,7 M], добавлен 20.11.2013

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

    курсовая работа [462,5 K], добавлен 10.08.2014

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

    курсовая работа [3,6 M], добавлен 16.07.2016

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

    отчет по практике [700,5 K], добавлен 24.11.2014

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

    дипломная работа [3,1 M], добавлен 19.01.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.