Проектирование состава и структур ПО
Описание методов и полей классов представлены в таблицах 1-4.
Таблица 1 – Описание полей класса IpAddressData
Название поля | Тип | Назначение |
_address | String | Ip- адрес видеоисточника |
_port | String | Свободные порты видеоисточника |
Таблица 2 – Описание методов класса IpAddressData
Название метода | Тип | Назначение |
IpAddressData | Void | Добавление новых ip видеоисточников |
Таблица 3 – Описание полей класса ScanService
Название поля | Тип | Назначение |
List | ArrayList<IpAddressData>, т.е. стандартный шаблон ArrayList с классом IpAddressData для инстацирования шаблона | Ip- адрес видеоисточника |
Таблица 4 – Описание методов класса ScanService
Название метода | Тип | Назначение |
ScanNetwork | Void | Добавление в список новый видеоисточников с информацией о них |
Проектирование интерфейса пользователя
Пользовательский интерфейс – разновидность интерфейсов, в котором одна сторона представлена пользователем, другая – компьютером. Пользовательский интерфейс представляет собой совокупность средств и методов, при помощи которых пользователь взаимодействует с различными машинами, устройствами и аппаратурой. Пользовательский интерфейс программы составляют несколько диалоговых окон-форм. На рисунке 18 представлена последовательность вызова окон разработанного программного обеспечения.
Интерфейс может быть понятным и непонятным, дружественным или нет. Современные виды интерфейсов:
1) командный интерфейс – пользователь дает команды компьютеру, который их выполняет и выдает результат пользователю. Командный интерфейс реализован в виде пакетной технологии и технологии командной строки;
2) WIMP-интерфейс (WIMP от: Window – окно; Image – образ; Menu – меню; Pointer – указатель) – диалог пользователя с компьютером ведется при помощи графических образов: меню, окон и других элементов. Интерфейс реализован на двух уровнях технологий: простой графический интерфейс и WIMP-интерфейс;
3) SILK-интерфейс (SILK от: Speech – речь; Image – образ; Language – язык; Knowlege – знание) – разговор пользователя с компьютером. Интерфейс наиболее приближен к обычной, человеческой форме общения. При этом компьютер определяет команды, анализируя человеческую речь и находя в ней ключевые фразы. Результат выполнения команд компьютер преобразует в понятную человеку форму. Этот вид интерфейса наиболее требователен к аппаратным ресурсам компьютера, поэтому его применяют в основном для военных целей.
Для программирования был выбран WIMP-интерфейс так как интерфейс был сделан в windows form в которой используются графические образы. Интерфейс представлен на рисунке.
Разработка алгоритмов и структур данных для хранения информации
Алгоритм работы программы представлен на рисунке 12.
Рисунок 12 - Алгоритм работы программы
При нажатии на кнопку сканировать происходит сканирование всего диапазона сети. При отклике ip – адреса происходит проверка его, на то является ли этот адрес адресом видеоисточника. Если да то происходит добавления этого адреса с информацией о нем в список. Если нет, то продолжается сканирование адресов. При завершении сканирования сети происходит вывод этого списка адресов в интерфейс пользователя. При выборе нужного видеоисточника происходит проверка его портов на занятость. Если они заняты, то программа возвращается к выбору видеоисточника. Если нет, то происходит формирование строки подключения и вывод её пользователю.
Тестирование и отладка ПО
Выбор стратегии тестирования
Модульное тестирование – это тестирование программы на уровне отдельно взятых модулей, функций или классов. Цель модульного тестирования состоит в выявлении локализованного в модуле ошибок в реализации алгоритмов, а также в определении степени готовности системы к переходу на следующий уровень разработки и тестирования.
Разработка тестов
В таблице 5 представлены тесты, разработанные для программы:
Таблица 5 - Тесты
Наименование теста | Выполнение теста | Результат теста |
Проверка ip адреса на то является ли он видеоисточником | Происходит сканирование сети для поиска ip адресов | Добавление в список только видеоисточников |
Проверка свободных портов | Происходит подключения к портам, если подключение успешно порт свободен | Вывод в список свободных портов |