Создание системы по удаленному контролю портативных рефлектометров

Программные решения для работы с оптоволокном в сетях Ethernet. Суть инструментов разработки и языков программирования. Результаты детельности модулей программы и их оценка. Использование сетевого анализатора трафика WireShark для анализа IP-пакетов.

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

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

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

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

Оглавление

1. Специальная часть

1.1 Введение и актуальность работы

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

1.3 Рефлектометрия оптических волокон. Программные решения для работы с оптоволокном в сетях Ethernet

1.4 Обзор существующих решений

1.5 Разработка технического задания

1.6 Разработка программных модулей

1.7 Результаты работы программных модулей и их оценка

1.8 Расчет надежности

2. Конструкторско-технологическая часть

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

2.2 Поэтапный процесс разработки программного обеспечения

2.3 Испытание и отладка программных модулей

2.4 Документирование и сопровождение программного обеспечения в соответствии с положениями ГОСТ Р ИСО/МЭК ТО 9294-93

3. Экология и охрана труда

3.1 Общие положения и требования охраны труда к организации рабочих мест

3.2 Вредные факторы, действующие на пользователя ЭВМ

3.3 Определение оптимальной освещенности при работе с ЭВМ

3.4 Обеспечение пожарной безопасности при работе оператора ЭВМ

Заключение

Список литературы

1. Специальная часть

1.1 Введение и актуальность работы

В данной квалификационной работе описывается создание системы удаленного мониторинга рефлектометров серии KIWI-7000 для операционных систем Windows, Linux и МСВС.

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

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

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

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

Основными задачами являются:

1. Разработка системы контроля рефлектометров на удаленной рабочей станции.

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

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

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

1.3 Рефлектометрия оптических волокон. Программные решения для работы с оптоволокном в сетях Ethernet

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

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

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

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

Для решения таких задач в операционных системах Windows и Linux существует специальный программный интерфейс Socket API.

Сокеты предоставляют весьма мощный и гибкий механизм межпроцессного взаимодействия (IPC). Они могут использоваться для организации взаимодействия программ на одном компьютере, по локальной сети или через Internet, что позволяет создавать распределённые приложения различной сложности. Кроме того, с их помощью можно организовать взаимодействие с программами, работающими под управлением других операционных систем. Например, под Windows существует интерфейс Window Sockets, спроектированный на основе socket API. [2]

Сокеты поддерживают многие стандартные сетевые протоколы (конкретный их список зависит от реализации) и предоставляют унифицированный интерфейс для работы с ними. Наиболее часто сокеты используются для работы в IP-сетях. В этом случае их можно использовать для взаимодействия приложений не только по специально разработанным, но и по стандартным протоколам - HTTP, FTP, Telnet и т. д. Например, можно написать собственный Web-браузер или Web-сервер, способный обслуживать одновременно множество клиентов.

Принципы работы сокетов:

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

Каждый сокет имеет свой адрес. ОС семейства UNIX могут поддерживать много типов адресов, но обязательными являются INET-адрес и UNIX-адрес. Если привязать сокет к UNIX-адресу, то будет создан специальный файл (файл сокета) по заданному пути, через который смогут сообщаться любые локальные процессы путём чтения/записи из него (см. Доменный сокет Unix). Сокеты типа INET доступны из сети и требуют выделения номера порта.

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

Рис 1.1. Схемы связи сервера и клиента

1.4 Обзор существующих решений

EXFO Fiber Guardian

EXFO Fiber Guardian - многофункциональная система контроля и управления оптическими рефлектометрами фирмы EXFO через TCP/IP сети. В состав системы входит специальное оборудование с установленным программным обеспечением. [3]

В качестве примера рассмотрю Remote Test Unit FG-720.

Remote Test Unit FG-720 - оборудование, с предустановленным программным обеспечением, к которому подключаются оптические рефлектометры для последующего удаленного управления.

Управление RTU FG-720 осуществляется через компьютер, подключенный через сеть Ethernet. Так же имеется возможность подключения через 3G и 4G сети.

Рис 1.2. Пример подключения RTU FG-720

Управление RTU FG-720 осуществляется через веб-интерфейс с компьютера администратора.

Рис 1.3. Пример окна Веб-интерфейса

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

Так же RTU FG-720 может высылать отчеты о проведенных тестированиях на email через сеть Internet или посредством SMS-оповещения.

Выводы:

EXFO Fiber Guardian является очень мощным и универсальным инструментом для контроля оптических рефлектометров.

Основными плюсами системы являются:

· Высокая функциональность

· Удобный интерфейс

· Простота использования

Основные минусы системы:

· Сложность развертывания

· Очень высокая цена

· Отсутствие возможности работы с портативными рефлектометрами

1.5 Разработка технического задания

Основания для разработки

Приказ ректора НИУ ВШЭ об утверждении тем дипломных работ от “__ ” ________ 2015 г. №

Назначение разработки

Функциональное назначение

Функциональным назначением программного обеспечения является удаленный контроль и управление портативным рефлектометром серии KIWI-7000 через TCP/IP протокол с компьютеров на базе операционных систем Windows, Linux и МСВС.

Требование к программе

Требования к функциональным характеристикам

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

1) Подключение к прибору посредством TCP/IP протокола, через Ethernet соединение.

2) Передача рефлектометру следующего набора команд:

-Инициализация;

-Выбор режима измерения;

-Установка времени измерения;

-Установка режима повышенной точности;

-Запуск измерения;

3) Получение от рефлектометра следующей информации:

-Статус измерения;

-Статус прибора;

-Прошедшего времени измерения;

-Файла с рефлектограммой;

Программа клиентской части должна обеспечивать следующую функциональность:

1) Подключение к серверу по текущему IP-адресу соединения;

2) Выбор ручного режима настройки, через графический интерфейс Microsoft Windows CE;

3) Изменение IP-адреса сервера;

4) Изменение IP-адреса прибора;

Требования к составу и параметрам технических средств

В состав технических средств должен входить IBM-совместимый компьютер.

Таблица 1. Минимальные характеристики системного оборудования.

Процессор

300 МГц или выше

Оперативная память

128 МБ или выше

Видеоадаптер и монитор

Super VGA (800Ч600)

Свободное место на жёстком диске

1,5 ГБ или больше

Оптические накопители

CD-ROM или DVD-ROM

Устройства взаимодействия с пользователем

Клавиатура и мышь

Другие устройства

Звуковая карта, колонки и/или наушники

Рефлектометры серии KIWI-7000/7100.

Требования к информационной и программной совместимости

Программное обеспечение серверной части должно работать на операционных системах Microsoft Windows, Linus и Мобильной системе вооруженных сил. Программное обеспечение клиентской части должно работать на операционной системе Windows CE.

Стадии и этапы разработки

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

1) Разработка ТЗ;

2) Техническое проектирование;

3) Тестирование и внедрение;

1.6 Разработка программных модулей

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

Для реализации этой задачи потребуется:

1) Программное обеспечение с графическим интерфейсом для рефлектометра серии KIWI-7000

2) Программное обеспечение сервера управления

3) Программа-клиент

Рефлектометр серии KIWI-7000 работает под управлением операционной системы Windows CE 5.0. Программный интерфейс должен позволять пользователю изменять IP-адрес рефлектометра и синхронизировать его с сервером управления посредством протокола ActiveSync. Таким образом, программа должна иметь возможность запускать другие приложения (ActiveSync) и вносить изменение в системный реестр (для изменения IP-адреса сетевой карты). Для реализации этой задачи будет удобно использовать сценарный язык программирования. Наиболее развитой платформой работающей в среде Windows CE и обладающей необходимыми возможностями является MortScript.

Сервер управления, согласно техническому заданию, должен быть кроссплатформенным, работать на операционных системах Windows, МСВС и Linux. Управление рефлектометром осуществляется путём передачи заданного набора команд посредством протокола Microsoft ActiveSync. Для отправки байт-кода на заданный порт рефлектометра удобно будет воспользоваться программным интерфейсом Socket API. Программный интерфейс Socket API реализован на языке программирования С, поэтому будет удобно воспользоваться средой разработки для С/С++. Для реализации этой цели можно использовать кроссплатформенную свободную IDE QtCreator

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

Инструменты разработки и языки программирования

Информация о Windows CE

Windows CE (так же известна как WinCE) -- это вариант операционной системы Microsoft Windows для наладонных компьютеров, смартфонов и встраиваемых систем. Сегодня Windows CE (Compact Edition / Compact Embedded) не является «урезанной» версией Windows для настольных ПК, она основана на совершенно другом ядре и является операционной системой реального времени с набором приложений, основанных на Microsoft Win32 API. [4]

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

Windows CE работает на устройствах с маленьких объёмом памяти. Для того что бы запустить ядро Windows CE понадобится 32 КБ внутренней памяти устройства.

Графических интерфейс (GWES) требует от 5 мб свободного пространства на носителях устройства. Может работать на нерасширяемых объемах памяти (ПЗУ).

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

Немного информации о WinCE 5.0:

Дата выхода - август 2004 года,

Кодовое название - "Macallan"

Является основой Windows Mobile 5.0 и 6.x

Информация о Microsoft Activesync

Microsoft ActiveSync -- программа, позволяющая установить синхронизированную связь между мобильным устройством (КПК, смартфоном, коммуникатором) и персональным компьютером, а также сервером, работающим под управлением Microsoft Exchange Server. Связь между устройствами осуществляется посредством USB-кабеля, кредла, технологии Bluetooth или инфракрасного порта. [5]

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

Информация о MortScript

MortScript - является простым интерпретатором, не имеет своего графического интерфейса и работает самостоятельно. Язык скриптов предназначен для пакетного управления, то есть для запуска других приложений и удаленного управления ими, а так же для выполнения простейших системных операций, типа файловых операций, внесения изменений в реестр, и т.д. Доступны также соответствующие простые диалоги. Для работы используется загрузка скриптовых файлов с расширениями .mscr или .mortrun, которые можно создавать с помощью любого текстового редактора. Скрипты выполняются путем запуска в файловом проводнике, или по ярлыку в стартовом меню Windows. [6]

Информация о С++

C++ -- компилируемый статически типизированный язык программирования общего назначения. Язык поддерживает объектно-ориентированную, обобщенную и императивную парадигмы программирования, поддерживает низкоуровневое управление памятью. [7]

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

C ++ также оказалась полезной во многих других сферах, в том числе в приложениях для настольных компьютеров, серверов (например, электронной коммерции, веб-поиска или SQL серверов), приложений, где важна производительность (например, телефонные коммутаторы или космические зонды), и развлекательные программы. С ++ является кроссплатформенным языком, реализован на множестве платформ включая FSF, LLVM, Microsoft и Intel.

C ++ стандартизирован в Международной организации по стандартизации (ISO), последняя (актуальная на данный момент) ратифицированная в ISO была опубликована в декабре 2014 года, и получила стандарт ISO / IEC 14882: 2014 (неофициально известна как C ++ 14). Изначально С++ был стандартизирован в 1998 году и получил стандарт ISO / IEC 14882 : 1998, который затем был улучшен до стандарта C ++ 03, ISO / IEC 14882: 2003.

Актуальный на данный момент стандарт С++14 заменил С++11, он включает в себя расширенную стандартную библиотеку и новые возможности. Первая нестандартизированная версия языка C++ была разработана Бьерном Страуструпом в 1979 году в Bell Labs. Она позиционировалась как надмножество языка С, главной парадигмой которой было объектно-ориентированное программирование.

Информация о Socket API

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

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

Сокет-сервер устанавливается в качестве слушателя выбранного порта и ожидает соединения от клиента.

Сокет-клиент связывается по установленному IP-адресу и порту к сокету-сервером.

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

Информация о библиотеках Qt

Qt -- кроссплатформенный инструментарий разработки ПО на языке программирования C++. [8]

Библиотека Qt используется для разработки прикладного программного обеспечения с графическим интерфейсом либо с интерфейсом командной строки. GUI программы, созданные на Qt могут иметь собственный вид интерфейса, в каких случаях Qt классифицируется как Widget Toolkit.

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

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

Qt поддерживает большое число известных компиляторов, в том числе GCC C++ и Visual Studio Suite.

Qt является кроссплатформенной и работает на большинстве стационарных и мобильных операционных системах

Имеет собственный инструментарий для работы с сетью, который включает в себя класс для работы с сокетами Qtcpsocket.

Описание процесса разработки

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

Рис. 1.4. IDEF0 диаграмма разработки программного комплекса.

1.7 Результаты работы программных модулей и их оценка

Описание работы модулей программы

Система мониторинга представлена двумя версиями: полная версия и облегченная версия.

Полная версия системы мониторинга представляет собой программное обеспечение с графическим интерфейсом пользователя, главной особенностью которой является возможность управления рефлектометром с удаленной рабочей станции. Рефлектометр подключается к серверу через TCP/IP соединение. Пользователь через программу клиент, установленной на удаленной рабочей станции, передает команды на сервер через сеть Internet.

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

Обе версии мультиплатформенные и работают на операционных системах Windiws, Linux и МСВС

Далее представлено полное описание работы полной версии системы мониторинга.

Рис. 1.5. Общая схема системы

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

1. Система управления рефлектометром (клиентская часть)

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

1) Система удаленного управления рефлектометром

2) Система мониторинга

3) Настройка клиента

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

Программное обеспечение написано на языке C++ с использованием библиотек Qt.

Рис. 1.6. Интерфейс клиентской части

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

Рис. 1.7. Выбор режима измерения

Далее идет выбор времени измерения

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

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

В меню «Настройки» можно настроить IP-адрес компьютера.

2. Серверная часть

Серверная часть устанавливается на отдельную ЭВМ. Через локальную сеть или интернет принимает команды от клиентской части и посредством TCP/IP соединения отправляет их на рефлектометр. Результаты отправляются обратно на клиентскую часть.

3. Программное обеспечение для рефлектометра

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

Программное обеспечение написано на MortScript.

Интерфейс программы позволяет выбрать режим работы рефлектометра

Рис. Интерфейс программы

Автоматический режим работы программы запускает эмулятор ActiveSync в интерфейсе программы.

Ручной режим позволяет пользователю продолжить работу в среде Windows CE и провести ручную синхронизацию рефлектометра и сервера посредством инструментария Windows CE.

Настройка IP адреса сервера или прибора позволяет изменить IP-адрес вручную или задать его с помощью DHCP.

Рис. Настройка IP-адреса

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

1) Тестирование работы программы в среде Microsoft Windows

Консольная версия серверной части:

После запуска программы появляется окно приветствия и запрос на установку связи с сервером.

Рис Окно установки связи

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

Рис. Выбор длины волны

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

Рис. Установка времени измерения

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

Рис. Установка режима повышенной точности

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

Рис. Инициализация

Рис. Запуск тестирования

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

Статус измерения может следующие значения: Измерение идет, измерение не идёт

Статус прибора принимает 3 значение: Простой, Прибор не инициализирован, Идет измерение.

Рис. Получение информации о измерении

Рис. Информация о статусе прибора

Информация о времени измерения

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

Сохранение файла измерения

Версии программы для Linux и МСВС, работают так же как консольная версия для Windows.

1.8 Расчет надежности

Экспоненциальная модель надежности ПО основана на предположении об экспоненциальном характере изменения числа ошибок во времени. В период нормальной эксплуатации интенсивность отказов не изменяется [9].

Формула средней наработки на отказ:

,

где лПО - интенсивность ошибок программного обеспечения.

Формула расчета Интенсивности ошибок разрабатываемого программного обеспечения выглядит следующим образом:

,

,

где t - фактическое время отладки;

б - коэффициент крутизны линии, характеризующий скорость роста надежности;

N0 - число обнаруженных ошибок за время отладки t;

N - общее число строк;

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

КТПi - коэффициент, учитывающий использование i-ой технологии программирования;

КЯЗi - коэффициент, учитывающий использование i-ого языка программирования;

КПЛi - коэффициент, учитывающий использование i-ой платформы программирования.

В данном программном обеспечении использована объектно-ориентированная технология программирования (), язык C++ () на 32-разрядной платформе (для платформ, не являющихся .NET, ).

Исходное число строк кода N=4297.

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

Таблица 2. Результаты отладки ПО

Число ошибок

Время отладки t, часы

Интенсивность ошибок, л0 1/ час

21

4

0,000062

16

4

0,00005

11

4

0,00003

9

4

0,000021

7

4

0,000017

4

4

0,000009

2

4

0,00000

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

Рис. 1.27. Зависимость интенсивности ошибок от времени отладки

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

Таким образом, интенсивность ошибок разрабатываемого ПО составляет:

(1/час)

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

За 8 часов

Наработка на отказ программного обеспечения составляет:

2. Конструкторско-технологическая часть

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

Общие сведения

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

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

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

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

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

Модели и методологии технологического процесса разработки программного обеспечения

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

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

Каскадная модель (Модель Водопада)

Каскадная модель (англ. waterfall model, иногда переводят, как модель "Водопад") -- модель процесса разработки программного обеспечения, в которой процесс разработки выглядит как поток, последовательно проходящий фазы анализа требований, проектирования, реализации, тестирования, интеграции и поддержки. [10]

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

Фазы каскадной модели:

1) Определение требований

2) Проектирование

3) Конструирование (также «реализация» либо «кодирование»)

4) Воплощение

5) Тестирование и отладка (также «верификация»)

6) Инсталляция

7) Поддержка

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

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

Спирамльная модель, разработанная Барри Боэмом в 1986 году предлагает совершенно новую концепцию разработки ПО. Она сочетает в себе процесс проектирования и постадийного прототипирования, особое внимание уделяя начальным этапам жизненного цикла программы - анализ и проектирование. Отличительной особенностью модели является особое внимание к появляющимся рискам, которые могут повлиять на организацию жизненного цикла программы. [11]

Десять наиболее распространённых рисков по Боэму:

Нехватка специалистов.

Невыполнимые сроки и малый бюджет.

Функциональность не соответствуют заявленной.

Неправильный интерфейс.

«Золотая сервировка», излишняя оптимизация

Постоянный поток изменений.

Недостаток информации о внешних компонентах, которые определяют окружение системы или вовлечённых в интеграцию.

Нехватка работ, которые выполняются внешними ресурсами.

Малая производительность реализуемой системы.

Специалисты разной квалификации.

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

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

Каждый виток разбит на 4 составляющих:

оценка и разрешение рисков,

определение целей,

разработка и тестирование,

планирование.

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

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

Методология быстрой разработки приложений RAD (Rapid Application Development) является концепцией создания программного обеспечения основанной на спиральной модели жизненного цикла.

Процесс разработки программного обеспечения в основе которого лежит методология RAD включает в себя 4 элемента:

небольшая команда разработчиков (до 10 человек);

производственный план, выполняемый в сжатые сроки (до 6 месяцев);

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

Жизненный цикл программного обеспечения по методологии RAD состоит из четырёх фаз:

фаза определения требований и анализа;

фаза проектирования;

фаза реализации;

фаза внедрения.

Итеративный подход (англ. iteration, «повторение») в разработке программного обеспечения -- это выполнение работ параллельно с непрерывным анализом полученных результатов и корректировкой предыдущих этапов работы. [12]

В данном методе проект проходит на каждой фазе повторяющийся цикл PDCA: Планирование -- Реализация -- Проверка -- Оценка (англ. plan-do-check-act cycle).

Основные преимущества:

Минимизация затрат, за чет снижения рисков на ранних стадиях разработки проекта.

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

Акцентирования внимания на наиболее важных направлениях в проекте

Непрерывное итеративное тестирование

Обнаружение конфликтов между требованиями и реализацией

Более равномерная загрузка участников проекта

Эффективное использование накопленного опыта

Реальная оценка текущего проекта

Гибкая методология разработки (англ. Agile software development, agile-методы) -- серия подходов к разработке программного обеспечения, ориентированных на использование итеративной разработки, динамическое формирование требований и обеспечение их реализации в результате постоянного взаимодействия внутри самоорганизующихся рабочих групп, состоящих из специалистов различного профиля. Гибкая методология включает в себя несколько методик таких как экстремальное программирование, DSDM, Scrum, FDD. [13]

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

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

Выбор модели разработки

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

Имеем следующее:

1) Программист (разработчик) - один;

2) Техническое задание представляет полную и понятную постановку задачи и требования к ПО;

3) Постоянной связи с заказчиком не требуется

4) Изменений технического задание, дополнения новых функций во время разработки проекта не будет

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

2.2 Поэтапный процесс разработки программного обеспечения

Методика работы

1) Определение требований

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

2) Проектирование проекта разбивается на несколько частей:

1. Синхронизация работы сервера управления и рефлектометра.

Включает в себя следующие этапы:

· Активация ActiveSync на рефлектометре в режиме работы по протоколу TCP/IP

· Анализ IP-пакетов обмена данных

2. Разработка программного обеспечения для рефлектометра

Включает в себя следующие этапы:

· Разработка программного обеспечения на языке MortScript

· Загрузка и последующая настройка программного обеспечения на рефлектометре

3. Разработка программного обеспечения сервера управления

Включает в себя следующие этапы:

· Разработка эмулятора ActiveSync на основе программного интерфейса Socket API

· Передача IP-пакетов команд на рефлектометр с помощью Socket API

· Объединение эмулятора ActiveSync и модуля отправки команд в единую многопоточную программу, используя потоки С++11

· Ожидание команд с программы клиента

4. Разработка программного обеспечения сервера управления

Включает в себя следующие этапы:

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

· Ожидание ответа с сервера, получение файла рефлектограммы

3) Конструирование

В процессе конструирования системы используются следующие инструментарии и языки программирования: MortScript, Qt 5, C++11 (ISO/IEC 14882:2011).

4) Воплощение

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

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

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

QtCreator, WireShark.

Методике тестирования посвящена отдельная глава.

6) Инсталляция

Поскольку программный комплекс является кроссплатформенным для реализации процесса установки потребуется две версии установщика: для Microsoft Windows и МСВС, Linux.

Операционная система МСВС построена на базе системы Red Hat, поэтому они могут использовать единый установщик.

Установку программ в среде операционных систем Red Hat в настоящее время удобно осуществлять с помощью менеджера пакетов RPM Package Manager. Программа позволяет устанавливать, удалять и обновлять программное обеспечение. RPM является основным форматом пакетов в LSB.

Установка программного комплекса в среде Windows, может быть произведена любой программой сборки инсталляторов. Из бесплатных систем сборки можно выделить Inno Setup Compiler, который имеет мощную функциональную базу для создания инсталлятора.

7) Поддержка

Процесс сопровождения программного комплекса осуществляется на основе нормативных положений ГОСТ 34.601-90 АС. [14]

Подробное описание процесса разработки

Синхронизация работы сервера управления и рефлектометра

1) Активация ActiveSync

Настройка оборудования

Для начала необходимо подготовить прибор для работы с ActiveSync по протоколу TCP/IP, для чего необходимо отредактировать системный реестр на рефлектометре, для выполнения этой задачи нужно выполнить следующие шаги:

1) Установить на компьютере, к которому будет подключен рефлектометр ActiveSync

ПРИМИЧАНИЕ: Для тестирования связи по TCP/IP протоколу необходимо использовать ActiveSync версии 3.8, который может быть установлен на версию Windows не выше XP

2) Подключить рефлектометр к компьютеру при помощи USB-соединения и синхронизировать данные.

3) Настроить ActiveSync для работы в режиме TCP/IP.

4) С помощью программы CERegedit необходимо отредактировать ветку реестра на приборе "SOFTWARE\Microsoft\Windows CE Services\Partners\P1", заменить параметр "PName" на локальный IP-адрес компьютера, к которому проводится подключение.

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

Анализ IP-пакетов обмена данных

В технической документации разработчиков к рефлектометру KIWI-7000, можно найти описание обмена данными между компьютером и подключенным к нему рефлектометром:

Прибор является клиентским устройством.

1. Соединение инициируется со стороны прибора на порт сервера TCP 5679.

2. После установления TCP соединения прибор осуществляет отправку по установленному соединению 4 байта «00 00 00 00». Затем строку данных с описанием модели и ее серийного номера. После этого по данному соединению посылаются только контрольные пакеты. Типичный интервал 5 секунд. Со стороны сервера посылается 4 байта «78 56 34 12». В ответ прибор отвечает аналогичной последовательностью.

3. Дополнительно может быть необходимо установить флаг синхронизации на приборе. Для этого сервер принимает соединение на порт TCP 999. После установления соединения прибор посылает 4 байта «01 00 00 00». В ответ сервер посылает 6 байт «02 00 01 00 00 00» и затем строку 26 байт:

0000 16 00 01 00 24 00 55 00 50 00 54 00 4f 00 44 00 ....$.U.P.T.O.D.

0010 41 00 54 00 45 00 24 00 00 00 A.T.E.$...

Дальнейшего обмена не производится.

4. Далее устанавливается соединение на порт прибора TCP 990. Весь последующий обмен данными ведется именно по этому соединению.

Описание обмена данными между рефлектометром и сервером

Выбор режима

0x00 - 0x61 Фиксированная часть (команда)

0x62 - 0x69 Длина волны (8 байт Double)

1550 0x3EBA013305E6C9CF

1310 0x3EB5FA683B7DAF84

0x6A - 0x71 Длина трассы (Range) в метрах (8 байт Double)

625 0x4083880000000000

650 0x4084500000000000

1250 0x4093880000000000

2500 0x40A3880000000000

5000 0x40B3880000000000

10000 0x40C3880000000000

20000 0x40D3880000000000

40000 0x40E3880000000000

80000 0x40F3880000000000

160000 0x4103880000000000

0x72 - 0x79 Длительность импульса (Pulse Width) в секундах (8 байт Double)

10ns 0x3E45798EE2308C3A

30ns 0x3E601B2B29A4692C

100ns 0x3E7AD7F29ABCAF49

275ns 0x3E927476CA61B882

1000ns 0x3EB0C6F7A0B5ED8E

2500ns 0x3EC4F8B588E368F1

Допустимые сочетания длительности импульса и длинны трассы

Если успешно, то ответ:

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

00000000 6e 00 00 00 45 00 00 00 00 00 00 00 01 00 00 00 n...E... ........

00000010 0d 00 00 00 4f 00 74 00 64 00 72 00 53 00 65 00 ....O.t. d.r.S.e.

00000020 72 00 76 00 69 00 63 00 65 00 73 00 00 00 01 00 r.v.i.c. e.s.....

00000030 00 00 18 00 00 00 52 00 61 00 70 00 69 00 5f 00 ......R. a.p.i._.

00000040 53 00 65 00 74 00 41 00 63 00 71 00 75 00 69 00 S.e.t.A. c.q.u.i.

00000050 73 00 69 00 74 00 69 00 6f 00 6e 00 54 00 69 00 s.i.t.i. o.n.T.i.

00000060 6d 00 65 00 00 00 04 00 00 00 b4 00 00 00 00 00 m.e..... ........

00000070 00 00

0x00 - 0x69 Фиксированная часть (команда)

0x6A - 0x6D Длительность в секундах. (4x байтное целое)

Режим повышенной точности

00000000 69 00 00 00 45 00 00 00 00 00 00 00 01 00 00 00 i...E... ........

00000010 0d 00 00 00 4f 00 74 00 64 00 72 00 53 00 65 00 ....O.t. d.r.S.e.

00000020 72 00 76 00 69 00 63 00 65 00 73 00 00 00 01 00 r.v.i.c. e.s.....

00000030 00 00 17 00 00 00 52 00 61 00 70 00 69 00 5f 00 ......R. a.p.i._.

00000040 53 00 65 00 74 00 48 00 69 00 67 00 68 00 52 00 S.e.t.H. i.g.h.R.

00000050 65 00 73 00 6f 00 6c 00 75 00 74 00 69 00 6f 00 e.s.o.l. u.t.i.o.

00000060 6e 00 00 00 01 00 00 00 01 00 00 00 00 n....... .....

0x00 - 0x67 Фиксированная часть (команда)

0x68 - 0x68 Режим

Вкл = 0x01

Выкл = 0x00

Запуск измерения

00000000 6e 00 00 00 45 00 00 00 00 00 00 00 01 00 00 00 n...E... ........

00000010 0d 00 00 00 4f 00 74 00 64 00 72 00 53 00 65 00 ....O.t. d.r.S.e.

00000020 72 00 76 00 69 00 63 00 65 00 73 00 00 00 01 00 r.v.i.c. e.s.....

00000030 00 00 1a 00 00 00 52 00 61 00 70 00 69 00 5f 00 ......R. a.p.i._.

00000040 53 00 74 00 61 00 72 00 74 00 4f 00 74 00 64 00 S.t.a.r. t.O.t.d.

00000050 72 00 41 00 63 00 71 00 75 00 69 00 73 00 69 00 r.A.c.q. u.i.s.i.

00000060 74 00 69 00 6f 00 6e 00 00 00 00 00 00 00 00 00 t.i.o.n. ........

00000070 00 00

Если успешно то ответ:

00000000 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........

00000010 00 00 00 00 ....

Получение статуса прибора

00000000 62 00 00 00 45 00 00 00 00 00 00 00 01 00 00 00 b...E... ........

00000010 0d 00 00 00 4f 00 74 00 64 00 72 00 53 00 65 00 ....O.t. d.r.S.e.

00000020 72 00 76 00 69 00 63 00 65 00 73 00 00 00 01 00 r.v.i.c. e.s.....

00000030 00 00 14 00 00 00 52 00 61 00 70 00 69 00 5f 00 ......R. a.p.i._.

00000040 47 00 65 00 74 00 4d 00 6f 00 64 00 75 00 6c 00 G.e.t.M. o.d.u.l.

00000050 65 00 53 00 74 00 61 00 74 00 65 00 00 00 00 00 e.S.t.a. t.e.....

00000060 00 00 00 00 00 00

Ответ:

00000000 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........

00000010 04 00 00 00 00 00 00 00 ........

0x00000000 = простой

0x03000000 = не инициализирован

0x05000000 = измерение

Инициализация

00000000 62 00 00 00 45 00 00 00 00 00 00 00 01 00 00 00 b...E... ........

00000010 0d 00 00 00 4f 00 74 00 64 00 72 00 53 00 65 00 ....O.t. d.r.S.e.

00000020 72 00 76 00 69 00 63 00 65 00 73 00 00 00 01 00 r.v.i.c. e.s.....

00000030 00 00 10 00 00 00 52 00 61 00 70 00 69 00 5f 00 ......R. a.p.i._.

00000040 49 00 6e 00 69 00 74 00 69 00 61 00 6c 00 69 00 I.n.i.t. i.a.l.i.

00000050 7a 00 65 00 00 00 08 00 00 00 00 00 00 00 01 00 z.e..... ........

00000060 00 00 00 00 00 00 ......

Если успешно то ответ:

00000000 10 00 00 00 00 00 00 00 57 00 00 00 00 00 00 00 ........ W.......

00000010 00 00 00 00

Получение статуса измерения

00000010 6c 00 00 00 45 00 00 00 00 00 00 00 01 00 00 00 l...E... ........

00000020 0d 00 00 00 4f 00 74 00 64 00 72 00 53 00 65 00 ....O.t. d.r.S.e.

00000030 72 00 76 00 69 00 63 00 65 00 73 00 00 00 01 00 r.v.i.c. e.s.....

00000040 00 00 19 00 00 00 52 00 61 00 70 00 69 00 5f 00 ......R. a.p.i._.

00000050 47 00 65 00 74 00 41 00 63 00 71 00 75 00 69 00 G.e.t.A. c.q.u.i.

00000060 73 00 69 00 74 00 69 00 6f 00 6e 00 53 00 74 00 s.i.t.i. o.n.S.t.

00000070 61 00 74 00 65 00 00 00 00 00 00 00 00 00 00 00 a.t.e... ........

Ответ:

00000000 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........

00000010 04 00 00 00 00 00 00 00 ........

0x00000000 = измерение не идет

0x05000000 = измерение

Получение прошедшего времени измерения

00000000 62 00 00 00 45 00 00 00 00 00 00 00 01 00 00 00 b...E... ........

00000010 0d 00 00 00 4f 00 74 00 64 00 72 00 53 00 65 00 ....O.t. d.r.S.e.

00000020 72 00 76 00 69 00 63 00 65 00 73 00 00 00 01 00 r.v.i.c. e.s.....

00000030 00 00 14 00 00 00 52 00 61 00 70 00 69 00 5f 00 ......R. a.p.i._.

00000040 47 00 65 00 74 00 54 00 69 00 6d 00 65 00 45 00 G.e.t.T. i.m.e.E.

00000050 6c 00 61 00 70 00 73 00 65 00 64 00 00 00 00 00 l.a.p.s. e.d.....

00000060 00 00 00 00 00 00 ......

Ответ:

00000000 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........

00000010 04 00 00 00 0f 00 00 00 ........

0xf0000000 - время (см. время измерения)

...

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

  • Графический интерфейс программного продукта WireShark. Правила разработки программно подключаемых модулей WireShark. Программное обеспечение, реализующее визуализацию сообщений модема Sierra MC7710. Тестирование разработанной программы isfreader.

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

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

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

  • Характеристика языков программирования: краткая история, хронология. Основные виды языков программирования: ассемблер; бейсик. Создание и использование формул в Excel. Применение операторов в формулах. Использование функций в Excel. Сайт дома отдыха.

    отчет по практике [139,1 K], добавлен 03.06.2011

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

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

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

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

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

    курсовая работа [637,7 K], добавлен 14.01.2015

  • Понятия структурного программирования и алгоритма решения задачи. Краткая история развития языков программирования от машинных до языков ассемблера и языков высокого уровня. Процедурное программирование на C#. Методы и программы для моделирования.

    учебное пособие [1,7 M], добавлен 26.10.2010

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

    курсовая работа [415,8 K], добавлен 08.09.2013

  • Общая характеристика языков программирования. Краткий обзор C, C++, Java, PHP, Python, Delphi и Visual Basic. Процесс разработки программы игра "Крестики и нолики" с помощью AppWizard. Компиляция и компоновка модулей, определение интерфейса приложения.

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

  • Разработка приложения "Ведомость начисления заработной платы" в среде программирования C++Builder. Алгоритм и сценарий работы программы. Проектирование интерфейса пользователя. Написание программных модулей и результаты тестирования данной программы.

    курсовая работа [597,4 K], добавлен 31.01.2016

  • Архитектура и топологии IP-сетей, принципы и этапы их построения. Основное оборудование корпоративных IP сетей магистрального и локального уровней. Маршрутизация и масштабируемость в объединенных сетях. Анализ моделей проектирования кампусных сетей.

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

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

    курсовая работа [78,9 K], добавлен 28.12.2012

  • Исследование основ метода движения трафика в сети. Ознакомление с IP адресацией и IP пакетами, протоколами. Определение понятия и функций сокета. Создание программного приложения мониторинга трафика (поступления и отправки пакетов между абонентами).

    курсовая работа [474,7 K], добавлен 20.04.2015

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

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

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

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

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

    контрольная работа [5,6 M], добавлен 14.12.2015

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

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

  • Суть основных идей и методов, особенностей и областей применения программирования для численных методов и решения нелинейных уравнений. Методы итераций, дихотомии и хорд и их использование. Алгоритм метода Ньютона, создание программы и ее тестирование.

    курсовая работа [423,0 K], добавлен 17.02.2010

  • Классификация языков программирования. Использование циклических конструкций и выполнение итерационных процессов. Алгоритмические структуры циклов языков C, C++, Java, C#. Особенности современных языков программирования высокого уровня и их применение.

    курсовая работа [345,6 K], добавлен 13.11.2009

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

    курс лекций [5,5 M], добавлен 04.12.2013

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