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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
62
13. Разбивка сети на подсети.
14. Просмотр производителя сетевого адаптера по MAC-адресу.
15. Просмотр активных портов в диапазоне.
16. Просмотр ARP-таблице.
17. Настройка программы:
общие;
главного окна;
цветовой схемы;
расположение кэшированных файлов;
тайм-аута ожидания;
объем буфера обмена;
тип протокола.
Структура разработанной диаграммы основных вариантов
использования программного обеспечения приведена на рисунке 16.
Рисунок 16 – Диаграмма основных вариантов использования
программного обеспечения
63
Фрагмент отношений между классами и их краткий состав приведен на
рисунке 17.
Функции суперкласса для обработки событий View элементов
выполняет абстрактный класс ViewModelBase, который имплементирует
интерфейс INotifyModelBase.
Из основных классов наследников необходимо отметить ScannesView,
SettingsApplication, ConfirmRemove, HTTPHeadersView, SettingsApplication
Ping, LookupOUILook, ScannerProfile и ряд других.
Каждый из указанных классов имеет свой перечень методов и полей
для реализации соответствующих функций.
Рисунок 17 – Фрагмент отношений между классами и их краткое состав
В общем создано 12 отдельных каталогов для структурирования
файлов программного кода, разметки интерфейса пользователя по
фрагментам и использованных ресурсов.
Разработанная структура каталогов проекта и состав форм интерфейса
диалоговых окон в среде разработки приведены на рисунке 18.
64
Элементы представлений пользовательских форм по диалоговым окнам
размещены в каталог Dialogs, к основным из них относятся файлы формата
*.xaml:
ARPTableAddEntryDialog, реализует компоновку элементов
интерфейса для фрагмента получения данных по ARP-таблице адресов в
структурном виде;
ConfirmRemoveDialog, реализует компоновку элементов интерфейса
для фрагмента подтверждения отмены выбранного действия;
CredentialsMasterPasswordDialog, реализует компоновку элементов
интерфейса для фрагмента просмотра данных по доступу к САД;
CredentialsSetMasterPasswordDialog, реализует компоновку
элементов интерфейса для фрагмента задания пароля доступа к одному или
нескольким САД;
IPScannerProfileDialog, реализует компоновку элементов интерфейса
для фрагмента создания профиля сканирования IP-портов;
NetworklnterfaceProfileDialog, реализует компоновку элементов
интерфейса для фрагмента общих настроек интерфейса;
PortScannerProfileDialog, реализует компоновку элементов
интерфейса для фрагмента создания профиля сканирования портов на
открытость;
RemoteDesktopSessionConnectDialog, реализует компоновку
элементов интерфейса для фрагмента создания удаленного управления
хостом по сети;
RemoteDesktopSessionDialog, реализует компоновку элементов
интерфейса для фрагмента просмотра состояния созданного удаленног
подключения;
WakeOnLANClientDialog, реализует компоновку элементов
интерфейса для фрагмента конфигурации настройки функции пробуждения
удаленного хоста по сети.
65
Рисунок 18 – Структура каталогов проекта и состав форм интерфейса
Каталог 3rdParty включает классы реализации ряда дополнительных
функций и имеет в своем составе следующие классы:
Header.сs, содержит методы и поля обработки заголовков веб-
страниц.
Question.сs, содержит программную логику обработки справочной
информации.
RecordReader.сs, содержит методы просмотра созданных записей
профиля.
Request.сs, содержит реализацию процесса выполнения сетевых
запросов.
Resolver.сs, выполняет вспомогательные операции расчета подсети
по адресу.
Response.сs, выполняет обработку результатов запроса к хосту по
соответствующим настройкам.
Structs.сs, содержит методы обработки и инициализации структур
данных.
66
Каталог Controls содержит следующие классы реализации обработки
взаимодействия пользователя с программой и файлы разметки интерфейса:
DragablzMainlnterTabClient.cs, реализует отображение данных в
таблице активных клиентов.
DragablzPingTabltem.cs, реализует выполнение отображения новой
вкладки интерфейса для процесса отправки данных по команде Ping.
DragablzRemoteDesktopTabltem.cs, реализует функцию подключения
к рабочему столу удаленного хоста.
DragablzTabHostWindow.xaml, реализует разметку интерфейса
новой вкладки для просмотра доступных адресов локальных хостов.
MultiSelectDataGrid.сs, реализует функции множественного выбора
полей таблицы хостов.
RemoteDesktopСоntroI.xaml, реализует разметку интерфейса
управления удаленным рабочим столом.
ScrollingDataGrid.сs, реализует функции прокрутки рабочего
пространства активной формы.
Каталог Converters предоставляет классы обработки логики
передаваемых значений сетевых параметров и свойств хостов и содержит
следующие классы:
AccentToBrushConverter.сs, реализует функции выделения общего
формата данных.
AccentToStringConverter.сs, реализует конвертацию данных в сроки.
AppThemeToBrushConverter.сs, реализует преобразование схемы
интерфейса программы согласно выбранной опции.
AppThemeToStringConverter.сs, реализует конвертацию типа
выбранной опции к сроки.
BitsToHumanReadableSizeConverter.сs, ограничивает размер
отображаемых значимых знаков в адресе.
BooleanOrConverter.сs, осуществляет проверку логического условия.
67
BooleanReverseConverter.сs, осуществляет обратную конвертацию
данных.
BooleanToStringConverter.сs, превращает логический тип к
строчному.
lntToStringConverter.сs, превращает целочисленный тип данных в
срочного.
IPddressArrayToStringСоnverter.сs, выполняет функции
преобразования массива в сроки для вывода в интерфейсе пользователя.
IPAddressToStringConverter.сs, конвертирует адрес хоста в сроки для
вывода пользователю.
IPStatusToStringConverter.сs, конвертирует статус хоста с срокв.
NullOrEmptyToBoolConverter.сs, выполняет обработку логических
данных при валидации в полях интерфейса.
NullOrEmptyToStringConverter.сs, выполняет обработку срочных
данных при валидации в полях интерфейса.
NullToFalseConverter.сs, обрабатывает исключительные ситуации
преобразования типа Null к типу Boolean.
PercentConverter.сs, осуществляет перевод данных процентного
типа.
PhysicalAddressToStringConverter.сs, выполняет процесс
преобразования физического адреса сетевого адаптера в строку.
PingTimeToStringConverter.сs, осуществляет преобразование данных
выполнения операции Ping к строчному формату.
PortStatusToStringConverter.сs, осуществляет операции
преобразования данных статуса порта к строчному формату.
SelectedltemsToBoolConverter.сs, выполняет функции
преобразования выбранных значений в элементах интерфейса к логическому
типу.
68
ValidateNetworklnterfaceConfigConverter.сs, формирует процесс
изменения конфигурации интерфейса сетевого адаптера.
ValidateNetworklnterfaceProfileConverter.сs, осуществляет
преобразование данных по созданным профилям.
ValidateSettingsExportConverter.сs, выполняет преобразование
данных из операции валидации экспорта.
ValidateSettingslmportConverter.сs, выполняет преобразование
данных из операции валидации импорта.
ValidateSubnetCalculatorlPv4SplitterConverter.cs, организует процесс
преобразования результатов разбиения введенной сети на подсети.
Разработанная структура созданных фрагментов интерфейса главных
форм и форм настроек приведена на рисунке 19.
Рисунок 19 – Структура созданных фрагментов интерфейса главных
форм и форм настроек
Каждая из приведенных форм используется для подгрузки контейнеров
интерфейса в соответствии с совершенными действиями пользователем.
69
3.2. Разработка структуры программного продукта
Каталог Helpers реализует функции обработки справки и содержит
следующие классы:
HotKeysHelper.cs, обеспечивает предоставление справочной
информации по сочетаниям горячих клавиш, позволяющим повысить
скорость и удобство работы в системе;
IPScanRangeHelper.cs, выполняет предоставление справочной
информации по примеру допустимого диапазона IP-адресов для выполнения
удаленного сканирования;
IPv4AddressHelper.cs, обеспечивает предоставление справочной
информации по модификации параметров сетевого адаптера (IP-адреса,
маски подсети, шлюзов и DNS);
ListHelper.cs, выполняет предоставление справочной информации
по перечню сетевых соединений;
MACAddressHelper.cs, обеспечивает предоставление справочной
информации по корректировке сетевого адреса адаптера;
PortRangeHelper.cs, выполняет информирование пользователя по
допустимому диапазону портов для сканированию;
PowerShellHelper.cs, выполняет информирование пользователя по
поддерживаемым командам;
RegexHelper.cs, обрабатывает всплывающие подсказки при вводе
числовых и словесных значений в полях;
SinglelnstanceHelper.cs, предоставляет информацию по
подключению к сущности;
SubnetHelper.cs, выполняет информирование пользователя о
допустимых значениях конфигурации подсетей при их настройке;
SubnetmaskHelper.cs, выполняет информирование пользователя о
допустимых значениях конфигурации масок подсетей при их корректной
настройке.
70
Каталог Models / Network содержит логику выполнения
функциональных действий и имеет следующие программные классы:
HTTPHeaders.cs, HTTPHeadersOptions.cs, IPScanner.cs,
IPScannerHostFoundArgs.cs, IPScannerHostlnfo.cs, IPScannerOptions.cs,
MaximumHopsReachedArgs.cs, Network lnterface.cs,
NetworklnterfaceConfig.cs, Networklnterfacelnfo.cs, Ping.cs,
PingException.Args.cs, Pinglnfo.cs, PingOptions.cs, PingReceived.Args.cs,
Portlnfo.cs, PortScanned.Args.cs, PortScanner.cs, PortScannerOptions.cs,
ProgressChanged.Args.cs, SNMP.cs, SNMP Options.cs, SNMPReceived.Args.cs,
SNMPReceivedlnfo.cs, Subnet.cs, Subnet lnfo.cs, Subnetmask.cs,
Subnetmasklnfo.cs, Traceroute.cs, TracerouteHoplnfo.cs,
TracerouteHopReceived.Args.cs, TracerouteOptions.cs, WakeOnLan.cs, WakeOn
Lanlnfo.cs.
Каталог Validators реализует функции проверки введенных данных в
программу и содержит следующие классы программной логики:
EmptyOrlPv4Address Validator.cs, EmptyValidator.cs, FileExistsValidator.cs,
lnt32Validator.cs, IP.AddressValidator.cs, IPSeanRangeValidator.cs,
IPv4.AddressValidator.cs, MACAddressVaIіdator.cs, MultipleHostsValidator.cs,
MultiplelP.Addresses Validator.cs, OpacityTextboxValidator.cs,
PortRangeValidator.cs, PortValidator.cs, SettingsFolderExistsValidator.cs,
SubnetCalculatorSubnetValidator.cs, Subnetmask OrCIDRValidator.cs,
SubnetmaskValidator.cs, SubnetValidator.cs.
Каталог ViewModels / Settings содержит логику обработки процессов
настройки параметров созданного программного обеспечения, имеет
следующие классы:
AboutViewModel.cs, обеспечивает вывод информации о
производителе САД.
SettingsApplicationDNSLookupViewModel.cs, обеспечивает вывод
информации о найденных DNS-адресах.
71
SettingsApplieationHTTPHeadersViewModel.cs, обеспечивает вывод
информации о заголовках HTTP страниц.
SettingsApplicationlPScannerViewModel.cs, обеспечивает процессы
сканирования IP-адресов по введенному диапазону.
SettingsAppliсationPingViewModel.cs, обеспечивает операцию
выполнения настроек процесса проверки целостности удаленных соединений
в сети.
SettingsApplicationPortScannerViewModel.cs, обеспечивает вывод
информации о результатах сканирования портов по заданному диапазону.
SettingsApplicationRemoteDesktopViewModel.cs, обеспечивает вывод
информации о результатах подключения к удаленному хосту.
SettingsApplicationTracerouteViewModel.cs, обеспечивает вывод
информации о выполненных действиях по определению маршрутов передачи
данных в сети.
SettingsApplicationWakeOnLANViewModel.cs, обеспечивает вывод
информации о выполнении функции Wake On LAN.
SettingsViewModel.cs, обеспечивает вывод информации о главных
настройках работы программного обеспечения.
Для определения поддерживаемых уровней взаимодействия и
взаимосвязи между сущностями пакетов проекта и классов создана схема
вызова основных компонентов класса App, которая в виде ориентированного
графа приведена на рисунке 20.
Главный метод вызова (Main) использует конструктор программного
приложения (App) и активирует метод InitializeComponent, который
соответствующим образом используют указанные компоненты.
Схема вызовов между классами представлений (Views) SettingsView и
ApplicationView приведена на рисунке 21.
Класс SettingsViewInfo содержит 6 соответствующих конструкторов,
которые используя предусмотренные поля осуществляют настройки работы
программы.

Смотрите также:

Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран
Work-life balance подход в управлении рабочим временем молодых сотрудников (на примере ООО «МГТ-сервис»)
Актуализация контента, отражающего концепцию «диалога культур», при освоении английского языка взрослыми обучающимися
Актуализация приемов инсценирования и драматизации в рамках интерактивной модели обучения английскому языку в старших классах
Актуальные подходы в построении внутреннего pr строительной компании (на примере ООО "Ренессанспроект")
Анализ деловой активности и экономической эффективности деятельности организации (на примере АО «СГ-Транс»)
Анализ деловой активности организации как инструмент повышения эффективности ее деятельности (на примере Косинского районного потребительского общества)