8051

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

Дипломная

Информатика, кибернетика и программирование

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

Русский

2013-02-01

874.5 KB

136 чел.

Глава 1. Теоретические аспекты проектирования информационных систем

1.1. Понятие и классификация информационных систем

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

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

Состав информационных систем:

  •  данные;
  •  информация;
  •  знания;
  •  базы данных;
  •  база знаний;
  •  программное обеспечение;
  •  экспертные системы;
  •  локальные сети;
  •  защита информации;
  •  информационная безопасность;

Классификация информационных систем по степени автоматизации:

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

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

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

Классификация информационных систем по архитектуре:

  •  Локальные ИС (работающие на одном электронном устройстве, не взаимодействующем с сервером или другими устройствами);
  •  Клиент-серверные ИС (работающие в локальной или глобальной сети с единым сервером);
  •  Распределенные ИС (децентрализованные системы в гетерогенной многосерверной сети).

Классификация информационных систем по сфере применения:

  •  Информационные системы организационного управления — обеспечение автоматизации функций управленческого персонала;
  •  Информационные системы управления техническими процессами — обеспечение управления механизмами, технологическими режимами на автоматизированном производстве;
  •  Автоматизированные системы научных исследований — программно-аппаратные комплексы, предназначенные для научных исследований и испытаний;
  •  Информационные системы автоматизированного проектирования — программно-технические системы, предназначенные для выполнения проектных работ с применением математических методов;
  •  Автоматизированные обучающие системы — комплексы программно-технических, учебно-методической литературы и электронные учебники, обеспечивающих учебную деятельность;
  •  Интегрированные информационные системы — обеспечение автоматизации большинства функций предприятия;
  •  Экономическая информационная система — обеспечение автоматизации сбора, хранения, обработки и выдачи необходимой информации, предназначенной для выполнения функций управления;

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

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


1.2. Инструментальные средства разработки ИС

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

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

Многие корпоративные информационные системы зарубежных производителей (SAP R/3, Baan, Ross iRenaissance и др.) имеют в своем составе специальные средства, основанные на оригинальных методиках. С помощью этих средств можно обследовать предприятия и построить модель их деятельности, однако существуют и стандартизированные методологии и инструментальные средства, прошедшие проверку временем. Один из таких стандартов - IDEFO, в основе которого лежит метод SADT (методология структурного анализа и

проектирования), a BPwin (Computer Associates) является поддерживающим его инструментальным средством.

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

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

Рис.1.1. Пример декомпозиции – диаграмма дерева узлов функциональной модели

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

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

Рис.1.2.  Диаграмма декомпозиции IDEF0 (A0) «Проектирование и создание программного продукта».

BPwin позволяет создавать модели процессов и поддерживает в одной модели три стандарта (нотации) моделирования одновременно - IDEFO, DFD и IDEF3. Каждая из этих нотаций позволяет рассмотреть различные стороны деятельности предприятия. Диаграммы IDEFO предназначены для описания бизнес-процессов на предприятии, они позволяют понять, какие объекты или информация служат сырьем для процессов, какие результаты следуют из произведенных работ, что является управляющими факторами и какие ресурсы для этого необходимы. Нотация IDEFO помогает выявить формальные недостатки бизнес-процессов, что существенно облегчает анализ деятельности предприятия. Диаграммы потоков данных (Data Flow Diagramming, DFD) используются для описания документооборота и обработки информации. Для описания логики взаимодействия информационных потоков более подходит нотация IDEF3 (называемая также workflow diagramming), - нотация моделирования, использующая графическое описание информационных потоков, взаимоотношений между процессами обработки информации и объектов, которые являются частью этих процессов.

В результате обследования предприятия строится функциональная модель существующей организации работы AS-IS "как есть". На основе этой модели достигается консенсус между различными единицами бизнеса по вопросам, кто что сделал, и что каждая единица бизнеса добавляет в процесс. Модель AS-IS позволяет выяснить, что следует сделать сегодня, перед тем как решить, что следует сделать завтра. Внедрение информационной системы неизбежно приведет к перестройке существующих бизнес-процессов предприятия. Анализ функциональной модели позволяет понять, где находятся самые узкие места, в чем будут состоять преимущества новых бизнес-процессов и насколько глубоким изменениям подвергнется существующая структура организации бизнеса. Детализация бизнес-процессов позволяет выявить недостатки организации даже там, где функциональность на первый взгляд кажется очевидной.


1.3. Банковская информационная система «Клиент-Банк»

Современные банковские системы имеют состав аппаратных средств, в  которой входят:

-средства вычислительной техники (ВТ);

-оборудование локальных вычислительных сетей (ЛВС);

-средства телекоммуникации и связи;

-оборудование, автоматизирующее различные банковские услуги: автоматы-кассиры и т.д.

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

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

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

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

Наличие в спектре базовых средств сетевых функций является непременным атрибутом современных АБС. Сетевые функции придают системе свойства многоуровневости и многозвенности, а также обеспечивают возможность объединения различных программных платформ (Linux, FreeBSD, Windows, Unix и другие) и, как следствие, возможность гибкого расширения и наращивания системы – дополнения ее новыми рабочими системами, новыми серверами различных классов.

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

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

Создание информационных систем для крупных банков строится на основе более мощной центральной серверной системы и относительно более слабых «серверов». На базе сетевых ПЭВМ формируются система взаимосвязанных специализированных АРМ.

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

Учитывая конкретное целевое назначение АРМ, основным принципом, закладываемым в их разработку, являются АРМы различных уровней и назначений объединяются в вычислительные банковские сети (ВС).

ВС требуют интеграции информационных потоков, и в частности, организации информации в виде совокупности БД. Существуют различные инструментальные средства для поддержания и управления БД – это прежде всего различные системы управления БД (СУБД). Структура БД в составе сети АРМ должна допускать простое расчленение ее на подбазы, размещаемых на отдельных АРМ и обеспечить при этом простоту доступа к любой подбазе с учетом существующей системы санкционированного доступа.

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

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

Создание распределенных систем на основе локальных сетей с высокопроизводительным ЭВМ, выполняющими роль серверов и ПЭВМ в качестве АРМ (рабочих станций – основное современное направление развития банковских систем. Одним из таких является Автоматизированное Рабочее Место «Клиент-Сбербанк».

Клиент-сервер (англ. Client-server) — сетевая архитектура, в которой устройства являются либо «клиентами», либо - «серверами». «Клиентом» (front end) является запрашивающая машина (обычно ПК), «сервером» (back end) — машина, которая отвечает на запрос. Оба термина (клиент и сервер) могут применяться как к физическим устройствам, так и к программному обеспечению.

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

Обычно выделяются три модели взаимодействия клиента и сервера:

  •  RDA (Remote Data Access), в которой компонента представления (пользовательский интерфейс) и прикладная компонента (логика работы программы) совмещены в клиентской части, а компонента доступа к информационным ресурсам (данным) размещена в серверной части.
  •  DBS (DataBase Server), в которой компонента представления размещена в клиентской части, а прикладная компонента и доступ к информационным ресурсам - в серверной;
  •  AS (Application Server), в которой компонента представления находится в клиентской части, прикладная компонента - в "сервере приложения", а компонента доступа к информационным ресурсам - в "сервере базы данных".

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

Рассмотрим структуру работы отдела Внедрения и Сопровождения Автоматизированных Систем (ВиСАС), которая обеспечивает работу Серверной части системы «Клиент-Сбербанк».

Рис.1.3. Структура отдела ВиСАС

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

Рис.1.4. Диаграмма декомпозиции IDEF0

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

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

Применяемые в системе "Клиент-Сбербанк" процедуры электронной подписи и шифрования передаваемых файлов исключают злоумышленный перехват, прочтение и искажение передаваемой информации. Процедура электронной подписи удовлетворяет стандартам Российской Федерации ГОСТ Р34.10-94 “Информационная технология. Криптографическая защита информации. Система электронной цифровой подписи на базе асимметричного криптографического алгоритма” и ГОСТ Р34.11-94 “Информационная технология. Криптографическая защита информации. Функция хэширования”, а процедура шифрования - требованиям ГОСТ 28147-89.

Встроенная в программное обеспечение транспортная подсистема обмена данными с банком использует стандартный протокол TCP/IP, что позволяет устанавливать сеанс связи через глобальные сети (Интернет и другие, обеспечивающие поддержку указанного протокола).

В комплекс обслуживания системы входит служба техподдержки, которая включает в себя: консультацию вопросов по телефону (Отдел по работе с клиентами), выезд специалистов на рабочие места, Информационная Интернет – система «Клиент-Банк».

Работа на абонентском пункте (АП) системы “Клиент-Банк” с ключевой информацией должна осуществляться под контролем специально уполномоченного лица - Администратора безопасности АП (далее Администратор).

Функциями Администратора являются:

- инициализация средств шифрования перед началом сеанса работы АП;

- генерация и смена Главного ключа АП;

- установка и смена сетевых ключей;

- сопровождение ключей электронной цифровой подписи (ЭЦП).

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

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

Рис.1.5. Рабочая область программы «Клиент-Сбербанк»

Рис.1.6. Окно входа в систему

Обеспечение уровня доступа информации внутри предприятия. Особенно эффективно на крупных промышленных предприятиях: Генеральный Директор, Заместитель Директора, Главный Бухгалтер, Бухгалтер, Оператор, и т.д.

Рис.1.7. Окно мастера сохранения данных

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

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


1.4. Основные достоинства и недостатки ИС «Клиент-Банк»

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

Таблица 1.1.

Достоинства и недостатки ИС «Клиент-Банк»

Достоинства

Недостатки

Непробиваемая система безопасности (пароли, ЭЦП, привязки)

Большое количество дополнительной конфигурации

Возможность использования любого сетевого подключения (ADSL, телефонный кабель, IP-телефония, и т.д.)

Сложная система привязок

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

Сложный и длительный процесс обучения персонала

Вся служебная информация находится на сервере данных (безопасность этих данных)

Необходимое большого размера хранилище данных

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

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

Имеет «очередь отправки» файлов, благодаря чему отправляемые файлы не будут потеряны во время сбоя связи

100% загруженность сервера при долгой задержки связи (накопление очереди) и в «часы пик»

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

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


Выводы по главе.

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

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


ГЛАВА 2. РАЗРАБОТКА МОДУЛЯ БИС «КЛИЕНТ-БАНК», ОБЕСПЕЧИВАЮЩЕГО ПРОВЕРКУ СОЕДИНЕНИЯ ПО ТЕХНОЛОГИИ КЛИЕНТ-СЕРВЕР

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

2.1. Требования предъявляемые к разрабатываемому модулю

В связи с выявленными ранее недостатками системы «Клиент-Сбербанк», требуется разработать модуль, позволяющий реализовать функции, предъявляемые к системе:

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

Visual C++  предоставляет мощную и гибкую среду разработки, позволяющую создавать приложения для Microsoft Windows и приложения, основанные на Microsoft .NET. Эту среду можно использовать в качестве интегрированной среды разработки, так и в качестве отдельных средств. Visual C++ состоит из следующих компонентов:

Средства компилятора Visual C++. Компилятор поддерживает как традиционную разработку с использованием машинного кода, так и разработку с использованием платформ виртуальных машин, таких как среда CLR. Компилятор продолжает напрямую поддерживать архитектуру x86 и x64 оптимизирует производительность кода для обеих платформ.

Библиотеки Visual C++ cодержат общепризнанную библиотеку шаблонных классов (ATL), библиотеки Microsoft Foundation Class (MFC) и стандартные библиотеки, такие как стандартная библиотека C++, которая состоит из библиотеки iostreams, библиотеки стандартных шаблонов (STL) и библиотеки времени выполнения языка C (CRT). Библиотека CRT включает альтернативные функции с улучшенной безопасностью для функций с известными проблемами безопасности. Библиотека STL/CLR позволяет разработчикам, использующим управляемый код, использовать также и возможности библиотеки STL. Библиотека поддержки C++ предоставляет новые возможности для маршалинга данных и упрощает написание программ, использующих среду CLR.

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

Кроме традиционных приложений с пользовательским интерфейсом Visual C++ позволяет разрабатывать веб - приложения, приложения интеллектуальных клиентов для Windows, решения для мобильных устройств, использующих тонкие клиенты и интеллектуальные клиенты. Язык C++, являющийся самым популярным в мире языком уровня системы, и Visual C++ вместе предоставляют разработчику высококлассное средство мирового уровня для построения программного обеспечения.

Рис.2.1. Форма интерфейса разрабатываемого модуля.

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

Во-вторых, требуется архитектура, позволяющая реализовывать отображение внешних баз данных различных форматов для отображения справочной информации на информационном окне. Мною был выбран интерфейс ODBC (Open DataBase Connectivity) — это программный интерфейс (API) доступа к базам данных, разработанный фирмой Microsoft. Позволяет единообразно оперировать с разными источниками данных, отвлекаясь от особенностей взаимодействия в каждом конкретном случае.

ODBC - это API, основанный на спецификации Call Level Interface(CLI) и грамматике SQL от SQL Access Group. Первоначально предложенный Microsoft, ODBC обеспечивает нейтральный, не зависящий от продавца БД, MS Windows - механизм для независимого доступа к множественным хостам базы данных. ODBC таким образом разрешает, чтобы разработчики программного обеспечения создавали настольные приложения, не тратя времени на изучение API базы данных. Другое преимущество ODBC - способность сохранить данные для различных приложений или данных из различных источников в любой базе данных, при этом подробности внутренних структур данных скрыты от пользователя.

Рис.2.2. Окно конфигурации источников данных ODBC

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


2.2. Функциональная и организационная структура информационной системы

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

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

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

- подсистема проверки соединения;

- подсистема управления базами данных;

- подсистема поиска ошибки по ее коду;

1. Подсистема проверки соединения предназначена для выполнения попытки удаленного интернет - соединения с сервером данных банка и для вывода отчета о состоянии этого соединения.

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

Рис.2.3. Алгоритмы сетевой диагностики

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

Рис.2.4. Функциональная схема БИС «Клиент-Сбербанк»

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

Таблица 2.1.

Коды ошибок удаленного доступа Windows

KOD

Описание ошибки

Варианты решения

600

PENDING(Операция не завершена.)

An operation is pending.(Произошла внутренняя ошибка. Перегрузите компьютер для того члобы убедиться, что все недавние изменения конфигурации вступили в силу.)

601

ERROR_INVALID_PORT_HANDLE (Обнаружен неверный индекс порта.)

The port handle is invalid. (Произошла внутренняя ошибка. Перегрузите компьютер для того члобы убедиться, что все недавние изменения конфигурации вступили в силу.)

602

ERROR_PORT_ALREADY_OPEN (Указанный порт уже открыт.)

The port is already open. (COM-порт, который должен быть использован сетевым соединением уже используется другим другим активным сетевым соединением или процессом (например, программой мониторинга телефонной линии, такой как факс-программой). Завершите работу с приложением, блокирующим COM-порт)

603

ERROR_BUFFER_TOO_SMALL (Буфер вызывающей программы слишком мал.)

The buffer is too small. (Произошла внутренняя ошибка. Перегрузите компьютер для того члобы убедиться, что все недавние изменения конфигурации вступили в силу.)

604

ERROR_WRONG_INFO_SPECIFIED (Была указана некорректная информация.)

The wrong information is specified. (Возможно, файл телефонной книги удаленного доступа и текущая конфигурация Удаленного Доступа к Сети несовместимы. Если вы заменили коммуникационное оборудование (последовательный порт или модем), проверьте конфигурацию Удаленного Доступа к Сети.)


2.3. Характеристика информационных потоков и организация информационной базы

В проекте осуществляется реализация уже созданной информационной базы по системе «Клиент-Сбербанк». Благодаря архитектуре ODBC в проект возможна вставка информационной базы различных форматов. В банковской ИС используется СУБД, основанная на технологии SQL.

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

            БД модуля

    БД БИС «Клиент-Банк»

Рис. 2.5. Взаимосвязи БД БИС «Клиент-Банк» и БД модуля

В настоящее время при моделировании структур баз данных одной из наиболее распространённых нотаций является модель данных Entity-Relation (Сущность-Cвязь), предложенная П. Ченом. При ER-моделировании в предметной области выделяются определенные классы реальных или логических объектов, называемые сущностями. Далее между сущностями устанавливаются различные связи и взаимозависимости, которые называют отношениями.

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

Рис.2.5. ER – диаграмма

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

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

Рассмотрим БД сетевых настроек на примере таблицы «проблема-решение»:

Таблица 2.2.

Проблема - решение

Проблема

Решение

В процессе восстановления информации о внешнем виде программы произошел сбой (класс не найден) «Клиент – Сбербанк» не запускается.

Пуск/выполнить/набрать regedit/правка/найти/найти:sbrf, галочка - имена разделов/найти далее/ SBRF-прав кнопка мыши – удалить/F3 еще раз проверяем. Заново запустить «Клиент –Сбербанк»

Подключить модем (для соединения), после переустановки на другой компьютер «Клиент – Сбербанк»

- пуск

- настройка

- сеть и удаленный доступ к сети (сеть и сетевое подключение)

- подключить удаленный доступ к сети

- имя (со старого компьютера)

- пароль (один из вариантов-client507)

Ввод нового оператора в «Клиент – Сбербанк»

- администратор

- администрирование

- операторы F2

- заполнить вкладки: общие

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

- доступ - доступ к подсистемам

- полный набор прав

Рассмотрим структуру данных БИС «Клиент-Сбербанк»:

Таблица 2.3.

БД клиентов

Имя поля

Тип  поля

Длина  поля

Комментарий

1.

FIO

VARCHAR

50

ФИО клиента

2.

CLIENT_ID

INTEGER

4

Уникальный код клиента

3.

CLIENT_ADRESS

VARCHAR

50

Адрес клиента

4.

CLIENT_TELEPHONE

INTEGER

20

Телефон клиента

Таблица 2.4.

БД ошибок

Имя поля

Тип  поля

Длина  поля

Комментарий

1.

PROBLEMA

VARCHAR

40

Проблема работы с БИС

2.

RESHENIE

VARCHAR

40

Решение проблемы

3.

COD_OSH

INTEGER

6

Код ошибки

4.

OPISANIE_OSH

VARCHAR

40

Описание ошибки

Теперь рассмотрим реализацию БД через понятия реляционной алгебры. БД БИС «Клиент-Сбербанк» представлена в виде SQL базы. Язык SQL (Structured Query Language) представляет собой смесь операторов реляционной алгебры и выражений реляционного исчисления, использующий синтаксис, близкий к фразам английского языка и расширенный дополнительными возможностями, отсутствующими в реляционной алгебре и реляционном исчислении.

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

 ,  (2.1)

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

,  (2.2)

 

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

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

Теперь рассмотрим реализацию БД БИС посредством операторов реляционной алгебры.

Таблица 2.5.

Отношение БАЗА_ОШИБОК

Проблема

Решение

Код ошибки

Описание

Вход запрещен

Сброс пароля

6

Неправильный пароль

Нет соединения

Включить модем

635

Отсутствие подключения

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

Перезапустить модем

612

Превышен таймаут соединения

Отношение А

Таблица 2.6.

Отношение БАЗА_НАСТРОЕК

Проблема

Решение

Вход запрещен

Сброс пароля

Нет соединения

Включить модем

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

Перезапустить модем

Отношение В

Таблица 2.7.

Отношение БАЗА_КОДОВ

Код ошибки

Описание

6

Неправильный пароль

635

Отсутствие подключения

612

Превышен таймаут соединения

Отношение С

Проекцией отношения А по атрибутам X,Y,Z, где каждый из атрибутов принадлежит отношению A, называется отношение с заголовком (X,Y,Z) и телом, содержащим множество кортежей вида (x,y,z), таких, для которых в отношении  A найдутся кортежи со значением атрибута X равным x, значением атрибута  Y равным y, …, значением атрибута Z равным z.

Синтаксис операции проекции:

 A[X,Y,Z]

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

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

1. R1(ПРОБЛЕМА,РЕШЕНИЕ) = R2[ПРОБЛЕМА,РЕШЕНИЕ]

2. R1(КОД_ОШ,ОПИСАНИЕ) = R3[КОД_ОШ,ОПИСАНИЕ]

На языке SQL такой запрос реализуется одной командой:

SELECT БАЗА_ОШ.ПРОБЛЕМА, БАЗА_ОШ.РЕШЕНИЕ

FROM БАЗА_ОШ

WHERE    

БАЗА_НАСТРОЕК.ПРОБЛЕМА= БАЗА_ОШ.ПРОБЛЕМА

   AND БАЗА_НАСТРОЕК. РЕШЕНИЕ= БАЗА_ОШ.РЕШЕНИЕ;


Выводы по главе

Согласно требованиям, предъявляемым к разрабатываемому модулю, были разработаны:

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


ГЛАВА 3. РЕАЛИЗАЦИЯ МОДУЛЯ БИС НА ОСНОВЕ ИНСТРУМЕНТАРИЯ MS VISUAL C++

3.1. Реализация подключения базы данных через использование ODBC – драйвера

 

Если приложению необходимо общаться с несколькими источниками данных, для взаимодействия с каждой из баз данных было необходимо написать свой код. Для решения возникшей проблемы Microsoft и ряд других компаний создали стандартный интерфейс для получения и отправки данных источникам данных различных типов. Этот интерфейс был назван open database connectivity, или открытая связь с базами данных.

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

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

 

ODBC API

ODBC API

Рис.3.1. Архитектура ODBC

MFC (Microsoft Foundation Classes - библиотека на языке C++) усовершенствовала ODBC для разработчиков приложений. Истинный интерфейс ODBC является обычным процедурным API (Интерфейс прикладного программирования - Application Programming Interface). Вместо создания простой оболочки процедурного API, разработчики MFC создали набор абстрактных классов, представляющих логические сущности в базе данных.

Рассмотрим реализацию вставки базы данных через ODBC – драйвер используя CDatabase.

Класс CDatabase представляет собой класс, который обеспечивает связь с источником данных. Под источником данных может пониматься как непосредсвенно файл, в котором находится таблица, например dBase, так и файл с многими таблицами, например Microsoft Access или сервер баз данных Oracle, MS SQL Server и т.д. Для связи с источником данных используется интерфейс ODBC.

Установка соединения

Для работы необходимо включить описание функций, которые находятся в файле afxdb.h:

// пример

#include "afxdb.h"

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

// Описание конструктора CDatabase();

// пример

CDatabase cdbMyDB();

У данного класса есть всего один член данных. Это m_hdbc. Он указывает на текущее соединение ODBC. Имеет смысл, только если оно установлено. Эта переменная имеет тип HDBC.

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

virtual BOOL Open( LPCTSTR lpszDSN, BOOL bExclusive = FALSE,

BOOL bReadOnly = FALSE, LPCTSTR lpszConnect = "ODBC;",

BOOL bUseCursorLib = TRUE );

throw( CDBException, CMemoryException );

Нет необходимости устанавливать все параметры, достаточно установить их только для первого. Первый параметр lpszDSN указывает на имя DNS для связи с источником данных. Эти имена находятся в настройке ODBC в панели управления на вкладке File DNS. Это имя можно установить в NULL, и тогда при выполнении программы будет предложен выбор источника.

// Пример

void CDatebaseDlg::OnOpen()

{

CDatabase cdbMyDB;

cdbMyDB.Open(NULL);

}

При указании некорректного имени, выходит сообщение о ошибке.

/ Пример

void CDatebaseDlg::OnOpen()

{

CDatabase cdbMyDB;

cdbMyDB.Open("Bad date source");

}

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

// Пример

CDatabase cdbMyDB;

try

{

cdbMyDB.Open("Bad date source");

}

catch(...)

{

AfxMessageBox("Error Open DNS");

}

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

// Пример

void CDatebaseDlg::OnOpen()

{

CDatabase cdbMyDB;

try

{

cdbMyDB.Open("MS Access 97 Database");

}

catch(...)

{

AfxMessageBox("Error Open DNS");

}

}

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

// Описание BOOL IsOpen( ) const;

// Пример

void CDatebaseDlg::OnOpen()

{

CDatabase cdbMyDB;

try

{

cdbMyDB.Open("MS Access 97 Database");

if (cdbMyDB.IsOpen())

AfxMessageBox("Open Base");

else

AfxMessageBox("Not Open");

}

catch(...)

{

AfxMessageBox("Error Open DNS");

}

}

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

// Описание virtual void Close( );

// Пример

void CDatebaseDlg::OnOpen()

{

CDatabase cdbMyDB;

try

{

cdbMyDB.Open("MS Access 97 Database");

if (cdbMyDB.IsOpen())

AfxMessageBox("Ok Open Base");

else

AfxMessageBox("Not Open");

cdbMyDB.Close();

}

catch(...)

{

AfxMessageBox("Error Open DNS");

}

}

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

CDatabase cdbMyDB;

try

{

cdbMyDB.Open("MS Access 97 Database",TRUE);

// Если TRUE не указать, то по умолчанию FALSE

}

catch(CDBException cdbThrow)

{

AfxMessageBox(cdbThrow.m_strError);

}


3.2. Алгоритмы диагностики сетевых подключений

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

Рис.3.2. Форма запуска проверки соединения

Проверка порта

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

Рис.3.3. Алгоритм проверки сетевого порта

Пингование

Еще одним способом проверки доступа к удаленному серверу является отсылка тестовых пакетов данных на шлюз сервера. Ниже представлена блок – схема алгоритма процедуры «пингования»:

нет

       нет

да

 да

 

нет

 

да

Рис.3.4. Алгоритм функции ping

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

Рис.3.5. Пример консольной функции pinga

Трассировка маршрута

«Тrасе» - (от англ. «шаг») последовательное действие. Трассировка (trouce route) - процедура получения информации о маршрутизаторах (узлах), через которые проходят пакеты к интересующему компьютеру. Позволяет обнаружить ошибки маршрутизации, а также то, к какому первичному провайдеру подключен хостинг - провайдер.


нет

да

нет

да нет

 

Рис.3.6. Алгоритм трассировки соединения


3.2. Реализация функций проверки сетевого доступа

Пингование

Ниже приводится полный исходный текст программы ping.

#include <winsock.h>

#define HOST_NAME "www.sources.ru" // Любое доменное имя

#define WINSOCK_VERSION 0x0101 // Версия сокета 1.1

#define NO_FLAGS 0 // Флаги не указываем

#define ICMP_ECHO 8 // An ICMP echo message

#define ICMP_ECHOREPLY 0 // An ICMP echo reply message

#define ICMP_HEADERSIZE 8

struct ip // Структура заголовка IP

{

BYTE ip_verlen; // Version and header length

BYTE ip_tos; // Type of service

WORD ip_len; // Total packet length

UINT ip_id; // Datagram identification

WORD ip_fragoff; // Fragment offset

BYTE ip_ttl; // Time to live

BYTE ip_proto; // Protocol

UINT ip_chksum; // Checksum

IN_ADDR ip_src_addr; // Source address

IN_ADDR ip_dst_addr; // Destination address

BYTE ip_data[1]; // Variable length data area

};

struct icmp // Структура заголовка ICMP

{

BYTE icmp_type; // Type of message

BYTE icmp_code; // Type "sub code" (zero for echos)

WORD icmp_cksum; // 1's complement checksum

HINSTANCE icmp_id; // Unique ID (the instance handle)

WORD icmp_seq; // Tracks multiple pings

BYTE icmp_data[1]; // The start of optional data

};

char szPingBuffer[100];

HINSTANCE hInstance;

WORD InternetChksum(LPWORD lpwIcmpData, WORD wDataLength)

{

long lSum; // Store the summation

WORD wOddByte; // Left over byte from the summation

WORD wAnswer; // The 1's complement checksum

lSum = 0L;

while (wDataLength > 1)

{

lSum += *lpwIcmpData++;

wDataLength -= 2;

}

// Handle the odd byte if necessary and make sure the top half is zero

if (wDataLength == 1)

{

wOddByte = 0;

*((LPBYTE) &wOddByte) = *(LPBYTE)lpwIcmpData; // One byte only

lSum += wOddByte;

}

// Add back the carry outs from the 16 bits to the low 16 bits

lSum = (lSum >> 16) + (lSum & 0xffff); // Add high-16 to low-16

lSum += (lSum >> 16); // Add carry

wAnswer = (WORD)~lSum; // 1's complement, then truncate

// to 16 bits

return(wAnswer);

}

BOOL DoPingOperation(HANDLE hInstance)

{

// Локальные переменные

int iPacketSize; // размер ICMP-пакета

int iHostAddrLength; // Длина адреса сетевого компьютера

int iIPHeadLength; // Длина заголовка IP-датаграммы

int iReceivedBytes; // Количество принятых байтов

int iSentBytes; // Количество посланных байтов

int nProtocol; // Номер протокола ICMP

int iSocketError; // Значение кода ошибки

PDWORD pdwTimeStamp; // Счетчик "тиков" при передаче

DWORD dwReturnTime; // Счетчик "тиков" при приеме

DWORD dwRoundTrip; // Счетчик "тиков" среднего времени пробега

// Структуры, описанные в WINSOCK.H

SOCKADDR_IN sockAddrLocal; // Структуры адреса сокета

SOCKADDR_IN sockAddrHost; //

SOCKET hSocket; // Дескриптор сокета

LPHOSTENT lpHostEntry; // Структура данных с

// информацией о сетевом компьютере

LPPROTOENT lpProtocolEntry; // Структура данных с информацией о протоколе

BYTE IcmpSendPacket[1024]; // Буфер для посылаемых данных

BYTE IcmpRecvPacket[4096]; // Буфер для принимаемых данных

struct icmp *pIcmpHeader; // Указатель на структуру ICMP

struct ip *pIpHeader; // Указатель на структуру-заголовок IP

LPSTR lpszHostName; // Указатель на удаленный сервер времени

lpszHostName = HOST_NAME;

if ((lpHostEntry = gethostbyname(HOST_NAME)) == NULL) {

wsprintf(szPingBuffer, "Could not get %s IP address.", (LPSTR)lpszHostName);

return(FALSE);

}

sockAddrLocal.sin_family = AF_INET;

sockAddrLocal.sin_addr = *((LPIN_ADDR) *lpHostEntry->h_addr_list);

// В случае простого сокета, необходимо указать протокол

if ((lpProtocolEntry = getprotobyname("icmp")) == NULL)

nProtocol = IPPROTO_ICMP;

else

nProtocol = lpProtocolEntry->p_proto;

// Создаем простой сокет и указываем ICMP в качестве протокола

if ((hSocket = socket(PF_INET, SOCK_RAW, nProtocol)) == INVALID_SOCKET)

{

wsprintf(szPingBuffer, "Could not create a RAW socket.");

return(FALSE);

}

pIcmpHeader = (struct icmp *) IcmpSendPacket; // Point at the data area

pIcmpHeader->icmp_type = ICMP_ECHO; // then fill in the data.

pIcmpHeader->icmp_code = 0; // Use the Sockman instance

pIcmpHeader->icmp_id = hInstance; // handle as a unique ID.

pIcmpHeader->icmp_seq = 0; // It's important to reset

pIcmpHeader->icmp_cksum = 0; // the checksum to zero.

//Значение счетчика "тиков" располагается в необязательной области данных

pdwTimeStamp = (PDWORD)&IcmpSendPacket[ICMP_HEADERSIZE];

*pdwTimeStamp = GetTickCount();

iPacketSize = ICMP_HEADERSIZE + sizeof(DWORD);

pIcmpHeader->icmp_cksum = InternetChksum((LPWORD)pIcmpHeader, iPacketSize);

if (pIcmpHeader->icmp_cksum !=0 )

{

iSentBytes = sendto(hSocket, (LPSTR) IcmpSendPacket, iPacketSize,

NO_FLAGS, (LPSOCKADDR) &sockAddrLocal, sizeof(sockAddrLocal));

if (iSentBytes == SOCKET_ERROR) {

closesocket(hSocket);

wsprintf(szPingBuffer,

"The sendto() function returned a socket error.");

return(FALSE);

}

if (iSentBytes != iPacketSize) {

closesocket(hSocket);

wsprintf(szPingBuffer,

"Wrong number of bytes sent: %d", iSentBytes);

return(FALSE);

}

iHostAddrLength = sizeof(sockAddrHost);

iReceivedBytes = recvfrom(hSocket, (LPSTR) IcmpRecvPacket,

sizeof(IcmpRecvPacket), NO_FLAGS, (LPSOCKADDR) &sockAddrHost,

&iHostAddrLength);

}

else {

closesocket(hSocket);

wsprintf(szPingBuffer, "Checksum computation error! Result was zero!");

return(FALSE);

}

closesocket(hSocket);

if (iReceivedBytes == SOCKET_ERROR) {

iSocketError = WSAGetLastError();

if (iSocketError == 10004) {

wsprintf(szPingBuffer,

"Ping operation for %s was cancelled.",

(LPSTR)lpszHostName);

dwRoundTrip = 0;

return(TRUE);

}

else {

wsprintf(szPingBuffer,

"Socket Error from recvfrom(): %d", iSocketError);

return(FALSE);

}

}

dwReturnTime = GetTickCount();

dwRoundTrip = dwReturnTime - *pdwTimeStamp;

// Указываем на IP-заголовок принятого пакета

pIpHeader = (struct ip *)IcmpRecvPacket;

// Извлекаем биты 4-7 и преобразуем количество З2-битных слов в количество байтов

iIPHeadLength = (pIpHeader->ip_verlen >> 4) << 2;

// Проверяем длину, чтобы удостовериться, что ICMP-заголовок принят

if (iReceivedBytes < iIPHeadLength + ICMP_HEADERSIZE) {

wsprintf(szPingBuffer, "Received packet was too short.");

return(FALSE);

}

// Указываем на ICMP-сообщение, следующее сразу за IP-заголовком

pIcmpHeader = (struct icmp *) (IcmpRecvPacket + iIPHeadLength);

// Проверяем, что был принят именно "эхо"-ответ

if (pIcmpHeader->icmp_type != ICMP_ECHOREPLY) {

wsprintf(szPingBuffer,

"Received packet was not an echo reply to your ping.");

return(FALSE);

}

// Проверяем, принадлежит ли этот пакет нашей программе

if (pIcmpHeader->icmp_id != (HINSTANCE)hInstance) {

wsprintf(szPingBuffer,

"Received packet was not sent by this program.");

return(FALSE);

}

//Этот пакет был послан нашей программой. Обратите

// внимание на IP-адрес и имя удаленного компьютера,

// пославшего "эхо"-ответ

lstrcpy(lpszHostName, (LPSTR)lpHostEntry->h_name);

wsprintf(szPingBuffer,

"Round-trip travel time to %s [%s] was %d milliseconds.",

(LPSTR)lpszHostName, (LPSTR)inet_ntoa(sockAddrHost.sin_addr),

dwRoundTrip);

return(TRUE);

}

void main ()

{

WSADATA wsaData;

WSAStartup(WINSOCK_VERSION, &wsaData);

DoPingOperation(hInstance);

MessageBox(NULL, szPingBuffer, "www.sources.ru", MB_OK|MB_ICONSTOP);

WSACleanup();

}  

Трассировка маршрута

#include <Iphlpapi.h> //Данную библиотеку необходимо включить ранее IcmpAPI.h т.к. там обьявлены нужные структуры

#include <IcmpAPI.h>

#define MAX_TTL 30

//Трассировка 

int TraccertHost(LPSTR szHost,HWND hwLog)

{

        long uTimeoutSec=4;

   HINSTANCE hIcmp; // LoadLibrary() хэндл ICMP.DLL

   long res_answ;

   long dwReplySize;

   HANDLE icmphandle=NULL;

   struct   sockaddr_in sAddr;

   DWORD ResultIP=0;

   UINT nTTL;

   char cResultString[2048];

   char *pcIp;

   int i;

   int nTimeOut[3];//

   BOOL bHostReply=FALSE;

   BOOL bSeriousError=FALSE;

   //Буфер для пакета

        char acPingBuffer[64];

   

   //Указатель на структуру ответа

   PICMP_ECHO_REPLY icmp_echo_repl;

   IP_OPTION_INFORMATION ipInfo;

        //IP адрес

   unsigned long ping_IP;

   //Получаем адрес хоста

   ping_IP=GetHostAddr(szHost);

   

   if (!ping_IP)

   {

       EditAddText(hwLog,"Не удалось определить IP адрес хоста");

       return 0;

   }

   hIcmp = LoadLibrary("ICMP.DLL");

   if (!hIcmp)

   {

       EditAddText(hwLog,"Библиотека icmp.dll не найдена");

       return 0;//Библиотека не найдена

   }

   

    // Получаем указатели на ф-ции ICMP

    pIcmpCreateFile = (pfnHV)GetProcAddress(hIcmp,"IcmpCreateFile");

    pIcmpCloseHandle = (pfnBH)GetProcAddress(hIcmp,"IcmpCloseHandle");

    pIcmpSendEcho = (pfnDHDPWPipPDD)GetProcAddress(hIcmp,"IcmpSendEcho");   // Проверяем указатели

    if (pIcmpCreateFile == NULL ||pIcmpCloseHandle == NULL||pIcmpSendEcho == NULL)

    {    

           FreeLibrary(hIcmp);            

           return 0;

    }   

    sAddr.sin_addr.s_addr=ping_IP;  

    //Пишем в log заголовок трассировки    

    pcIp=inet_ntoa(sAddr.sin_addr);     

    if (hwLog&&pcIp!=NULL)

    {

        if (lstrlen(pcIp) + 23 < sizeof(cResultString) - 1)//Во избежание переполнения буфера

        {  

            wsprintf(cResultString,"Трассировка маршрута к: %s",pcIp);

            EditAddText(hwLog,cResultString);

        }

        pcIp=NULL;

    }

    //Инициализируем Icmp

    icmphandle = pIcmpCreateFile();    

    if (icmphandle == INVALID_HANDLE_VALUE) return 0;

    //Выделяем память под структуру с буфером ответа

    dwReplySize = sizeof(ICMP_ECHO_REPLY) + sizeof(acPingBuffer);

    icmp_echo_repl = (PICMP_ECHO_REPLY)LocalAlloc(LPTR,dwReplySize);

    

    nTTL=1;//Время жизни пакета - 1

    

    //пока IP адреса не совпадут  или кол-во прыжков достигнет максимального

    //MAX_TTL

    while ((ResultIP != ping_IP) && (nTTL < MAX_TTL ))

    {

       //Рассылка сообщений для диалога - родителя окна лога трассировки

       if (hwLog) SendDlgMessages(GetParent(hwLog));

       bHostReply=FALSE;//Ставим флаг "Хост не ответил"

       for (i=0;i<3;i++)

       {

           //заполняем структуру запроса

           ZeroMemory(&ipInfo,sizeof(IP_OPTION_INFORMATION));      

           ipInfo.Ttl = nTTL;

           ipInfo.Tos = 0;         

       

           //заполняем структуру ответа

           ZeroMemory(icmp_echo_repl,sizeof(ICMP_ECHO_REPLY));

           FillMemory(acPingBuffer, sizeof(acPingBuffer), '\xAA');

           

           icmp_echo_repl->Data = acPingBuffer;

           icmp_echo_repl->DataSize = sizeof(acPingBuffer);   

           

           //шлём эхо - ответ в структуре типа ICMP_ECHO_REPLY        

           res_answ=pIcmpSendEcho(icmphandle,ping_IP,acPingBuffer,sizeof(acPingBuffer),&ipInfo,icmp_echo_repl,dwReplySize,5000);

                       

           if (res_answ)

           {

               //Если статус  IP_DEST_HOST_UNREACHABLE

               if (icmp_echo_repl->Status==IP_DEST_HOST_UNREACHABLE)

               {   

                   EditAddText(hwLog,"Данный узел не доступен");

                   bSeriousError=TRUE;

                   break;

               }

               else if (icmp_echo_repl->Status==IP_NO_RESOURCES)

               {   

                   EditAddText(hwLog,"Не хватает ресурсов");

                   bSeriousError=TRUE;

                   break;

               }

               else if (icmp_echo_repl->Status==IP_TTL_EXPIRED_TRANSIT||icmp_echo_repl->Status==IP_SUCCESS)

               {

                  nTimeOut[i]=icmp_echo_repl->RoundTripTime;

                  ResultIP=icmp_echo_repl->Address;

                  bHostReply=TRUE;

               }

               else

               {   

                   EditAddText(hwLog,"Ошибка");

                   bSeriousError=TRUE;

                   break;

               }

           }

           else nTimeOut[i]=-1;

       }

       if (bSeriousError) break;

       if (bHostReply)

       {

           sAddr.sin_addr.s_addr=ResultIP;

           pcIp=inet_ntoa(sAddr.sin_addr);

           if (pcIp)

           {

               char cTmp0[20],cTmp1[20],cTmp2[20];

               

               //Формируем строку тайм аута 0

               if (nTimeOut[0]< 0)   lstrcpy(cTmp0," * ");

               else if (nTimeOut[0]< 1)   lstrcpy(cTmp0," <1 ms");

               else if (nTimeOut[0]> 10000)   lstrcpy(cTmp0,">10 s");

               else wsprintf(cTmp0," %ld ms",nTimeOut[0]);

               //Формируем строку тайм аута 1

               if (nTimeOut[1]< 0)   lstrcpy(cTmp1," * ");

               else if (nTimeOut[1]< 1)   lstrcpy(cTmp1," <1 ms");

               else if (nTimeOut[1]> 10000)   lstrcpy(cTmp1,">10 s");

               else wsprintf(cTmp1," %ld ms",nTimeOut[1]);

               //Формируем строку тайм аута 2

               if (nTimeOut[2]< 0)   lstrcpy(cTmp2," * ");

               else if (nTimeOut[2]< 1)   lstrcpy(cTmp2," <1 ms");

               else if (nTimeOut[2]> 10000)   lstrcpy(cTmp2,">10 s");

               else wsprintf(cTmp2," %ld ms",nTimeOut[2]);

               

               //Результирующая строка

               wsprintf(cResultString,"%ld %s %s %s IP %s",nTTL,cTmp0,cTmp1,cTmp2,pcIp);

           }

           pcIp=NULL;

       }

       else

       {

           if (hwLog) EditAddText(hwLog,"Хост не отвечает");

           wsprintf(cResultString,"%ld        *      ",nTTL);

           break;

       }       

       nTTL++;//Увеличиваем TTL

       if (hwLog)

          EditAddText(hwLog,cResultString);

    }

    

    LocalFree(icmp_echo_repl);

    icmp_echo_repl = NULL;

    pIcmpCloseHandle(icmphandle);

    FreeLibrary(hIcmp);

    EditAddText(hwLog,"Трассировка завершена");

    return 1;

}

Выводы по главе

Согласно требованиям, предъявляемым к разрабатываемому модулю был выбран язык программирования Visual C++, позволяющий осуществлять функции, необходимые для реализации проекта.

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


ГЛАВА 4. ТЕХНИКО – ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ПРОЕКТНЫХ РЕШЕНИЙ

4.1. Общая информация

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

Предлагаемый к внедрению проект обеспечит ускоренный процесс обмена данными с банком, автоматизирует процесс проверки соединения и устранит необходимость выезда сотрудников технической поддержки для определения ошибки и настройки рабочих мест. Сопровождения БИС  «клиент-банк» занимаются сотрудники отдела Внедрения и Сопровождения Автоматизированных Систем основной функционал которых: настройка серверного оборудования, работа с базой клиентов и информационной системой банка, а также выезды к клиентам, установка, обновление Автоматизированного Рабочего Места, и настройки соединения с сервером данных.

В результате внедрения разрабатываемого модуля для БИС «клиент-банк» существует возможность сократить количество выездов на клиентские рабочие места за счет «локального» решения проблемы соединения.

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

В данном случае для БИС «клиент-банк» Чувашское Отделение Сберегательного Банка использует серверную систему компании Hewlett Packard стоимостью около 340 000 руб. Целью диплома является – разработать программный модуль, который позволит снизить нагрузку сервера.

4.2. Календарный план

Для определения трудоемкости выполнения над проектом, прежде всего, составляется перечень всех основных этапов. При этом особое внимание уделяется логическому упорядочению последовательности выполнения отдельных видов заданий. Типовой перечень этапов и видов работ, содержится в ГОСТ 34.601-90. «Информационная технология. Автоматизированные системы. Стадии создания». В зависимости от характера и сложности стандарт допускает исключение или дополнение этапов и отдельных видов работ, их разделение, совмещение, а также уточнение содержания.

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

1. Формирование требований к информационной системе.

2. Разработка концепции информационной системы.

3. Техническое задание.

4. Технический проект.

5. Ввод в действие.

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

,

(4.1)

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

– оценки максимально возможной трудоемкости;

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

,

(4.2)

Дисперсия Di характеризует степень неопределенности выполнения работы за  время  и рассчитывается по формуле (4.2):

Жизненным циклом считается весь цикл от принятия решения о проведении разработок до полного отказа конечного пользователя от применения данной системы:

Этап работы над модулем сопровождение БИС составил 3 месяца, что составляет в среднем 90 дней;

 Этап сбора информации и обобщение полученного задания –15 дней;

Этап разработки ИС – 45 дней;

 Этап ввода в действие ИС – 20 дней;

 Установка оборудования – 10 дней;

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

Таблица 4.1.

Оценка трудоемкости отдельных видов работ

Вид работ

Оценка трудоемкости

Расчетные величины

Формирование требований к ИС

2

7

5

5,4

0,25

Разработка концепции ИС

6

12

10

10,3

0,44

Техническое задание

6

12

10

10,3

0,44

Технический проект

38

50

45

46,2

1,36

Ввод в действие

7

17

15

15

1,7

Сдача темы

3

3

3

3

0

Общий показатель трудоемкости внедрения модуля сопровождения ИС удовлетворяет поставленному сроку в 90 дней.

4.3. Калькуляция затрат на разработку ИС

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

Расчет сметной стоимости ИС произведен по каждой статье затрат и результаты сведены в таблицу 4.2.

Таблица 4.2.

Затраты на реализацию модуля сопровождения БИС

п/п

Наименование статей затрат

Затраты, руб.

1

Расходные материалы

1948

2

Расходы на оборудование

24391,32

3

Заработная плата на период выполняемой работы

0

4

Амортизационные отчисления

1324,2

5

Затраты на электроэнергию

272,8

Итого затрат

27936,32

Статья «расходные материалы» содержит суммарные затраты на материалы, приобретаемые для реализации ИС (таблица 4.3).

Таблица 4.3.

Расходные материалы

Наименование

Количество

Стоимость, руб.

Бумага (А4)

250 листов

130

Лазерные диски

5 шт.

60

Тонер (для принтера)

40 грамм

93

Интернет

3 месяца

1665

Итого:

1948

Расходы на дополнительное оборудование представлены в таблице 4.4.

Таблица 4.4.

Расходы на оборудование

Название

Модель

Цена, руб./шт.

Кол-во, шт.

Итого, руб.

  1.  

Процессор

CPU Intel Core 2 Duo E8600 BOX 3.33 ГГц/ 6Мб/ 1333МГц LGA775

9193,20

1

9193,20

  1.  

Материнская плата

M/B GigaByte GA-Q35M-S2 rev1.0 (RTL) LGA775 <Q35> PCI-E+SVGA+GbLAN SATA RAID MicroATX 4DDR-II <PC2-6400>

3227,40

1

3227,40

  1.  

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

Kingston HyperX <KHX6400D2K2/4G> DDR-II DIMM 4Gb KIT 2*2Gb <PC2-6400> CL5

2119,00

2

4238,00

  1.  

Жесткий диск

HDD 250 Gb SATA-II 300 Seagate Barracuda 7200.10 <ST3250410AS> 7200rpm 16Mb

1561,54

3

4684,62

  1.  

Корпус

Minitower 3Q <001A> Black microATX 450W (24+4+6пин)

2021,20

1

2021,20

  1.  

DVD-ROM

DVD ROM 16x/48x Optiarc (DDU1675S) <Black> SATA (OEM)

603,10

1

603,10

  1.  

Дисковод 3.5’’

FDD 3.5 HD Samsung <BLACK>

423,80

1

423,80

Итого:

24391,32

Общая сумма затрат по оборудованию составила 24391,32 рублей. Потребность в транспортно-заготовительных расходах отсутствует.

Для реализации модуля сопровождения ИС количество производственных рабочих рассчитывают по формуле (4.3):

,

(4.3)

где   – количество рабочих данной профессии и разряда, чел;

– штучно-калькуляционное время на один этап, ч;

– эффективный  фонд рабочего времени инженера-программиста на реализацию ИС, ч;

Эффективный фонд времени инженера-программиста при пятидневной рабочей неделе с двумя выходными днями может быть рассчитан по формуле (4.4):

,

(4.4)

где   – количество календарных дней на разработку программного продукта, =90 дней;

– количество выходных и праздничных дней на период разработки,      = 26 дня;

– количество предпраздничных дней  на период разработки,         =2 дня;

– число смен работы  инженера-программиста, =1смена;

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

В итоге, по формуле (4.4):

Для реализации ИС на весь период времени требуется согласно формуле (4.3):

,

принимаем за 1, следовательно, требуется 1 инженер-программист (таблица 4.5).

Таблица 4.5.

Сводная ведомость основных производственных рабочих

Наименование профессии

Общее количество рабочих

Количество рабочих по разрядам

1

2

3

4

5

Инженер- программист

1

-

-

-

1

-

Итого

1

-

-

-

1

-

Общее число человеко-разрядов .

Средний тарифо-квалификационный разряд .

Определение потребного количества вспомогательных рабочих,  ИТР аналогично потребности основного персонала (таблица 4.6).

Таблица 4.6.

Сводная ведомость списочного состава, занимающегося внедрением системы

Наименование категорий работающих

Количество рабочих, чел

Отношение к числу производственных рабочих, %

Отношение к общему числу рабочих, %

1. Основные рабочие

1

50

50

2. Вспомогательные

-

-

-

3. Инженерно-технические рабочие

1

50

50

4. Младший обслуживающий персонал

-

-

-

Итого

2

100

100

Из таблицы 4.6 видно, что для реализации модуля сопровождения ИС необходимо две единицы персонала.

Заработная плата на реализацию ИС равно 0.

Амортизационные отчисления определяются по формуле (4.7):

,

(4.7)

где   – ориентированная цена оборудования составляет 26697,2 руб.;

Т  – ориентировочный эксплутационный срок оборудования 5 лет;

– количество рабочих дней, 62 дня.

Тогда по формуле (4.7):

руб.

Стоимость энергоресурсов, необходимых для реализации ИС, показаны в таблице 4.8.

  Таблица 4.8.

Расчет стоимости потребляемых энергоресурсов

№ п/п

Наименование показателей

Усл. обознач

Расчетный

месяц

1

Потребляемая электрическая мощность в час, кВт (всего)

А

0,5

в т. Ч. компьютеры (1 ед.)

0,5

2

Время работы оборудования в течение рабочего дня, час

Ч1

8

3

Действующий тариф на электроэнергию, руб./кВтч,

K

1,1

4

Затраты на электроэнергию в день

Эд

4,4

5

Число дней в месяц, необходимых для работы оборудования, дн.

В1

62

6

Общие затраты на электроэнергию

Э

272,8

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

4.4. Экономический эффект от использования ИС

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

До внедрения проекта количество выездов на настройку подключений по системе «клиент-банк» составляло порядка 2-3 выезда в день.

Таблица 4.9.

Выезды по сопровождению БИС «Клиент-Сбербанк»

Выезды

Общее количество выездов по сопровождению БИС «клиент-банк»

Количество выездов по настройке соединения с сервером

За один рабочий день

12-20

2-3

За одну рабочую неделю

60-100

10-15

За один рабочий месяц

240-440

42-66

                Таблица 4.10.

Затраты по зарплате до внедрения за месяц

Персонал

Количество человек

Размер заработной платы, руб

Сумма, руб.

Операционист

2

5800

11600

Инженер сопровождения

4

4500

18000

Итого в месяц:

29600

Расчет себестоимости после внедрения сервера сопровождения ИС представлен в таблице 4.10.

                  

Таблица 4.11.

Затраты по заработной плате после внедрения за месяц

Персонал

Количество человек

Размер заработной платы, руб

Сумма, руб.

Операционист

2

5800

11600

Инженер сопровождения

3

4500

13500

Итого в месяц:

25100

Экономия от внедрения модуля сопровождения рассчитывается по формуле (4.8):

,

(4.8)

где  – расчет затрат до внедрения ИС, руб.

– расчёт затрат после внедрения ИС, руб.

                                   .

Эффективность разработки может быть оценена по формуле (4.9):

,

(4.9)

где  – экономический эффект за год, руб.;

– затраты на реализацию, руб.

Экономический эффект от использования программного продукта за год определяется по формуле (4.10):

,

(4.10)

где  – экономия  от внедрения программного продукта, руб.;

– нормативный коэффициент эффективности капитальных вложений, .

Тогда по формуле (4.10) и (4.9) найдём:

,

.

Поскольку  наша разработка является экономически целесообразной.

Показатель эффекта определяет все позитивные результаты, достигаемые при использовании ИС. Экономический эффект от использования ИС за расчётный период Т определяется по формуле (4.11):

,

(4.11)

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

      ЗТ  – стоимостная оценка затрат на реализацию системы, руб.

Стоимостная оценка результатов применения системы за расчётный период Т определяется по формуле (4.12):

,

(4.12)

где  – расчётный период;

       – стоимостная оценка результатов года t расчётного периода, руб.;

      at – дисконтирующая функция, которая вводится с целью приведения всех затрат и результатов к одному моменту времени.

Дисконтирующая функция имеет вид, формула (4.13):

,

(4.13)

где  – коэффициент дисконтирования ().

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

руб.

Экономический эффект согласно формулы (4.11) от использования системы учёта за расчетный период  лет составил:

.

Срок окупаемости капитальных вложений определяется по формуле (4.14):

,

(4.14)

где  – капитальные вложения в программный продукт, руб.

Тогда срок окупаемости равен по формуле (4.14):

.

Срок окупаемости программного продукта составляет менее 8 месяцев.

Выводы

Экономический эффект от использования разрабатываемого модуля БИС «клиент-банк» за расчётный период (1 год) составит 43612,74 руб., при этом эффективность разработки – 6,93187, разработчик покроет свои расходы при использовании модуля сопровождения ИС  через 8 месяцев и затем начнёт получать прибыль.

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


ГЛАВА 5. БЕЗОПАСНОСТЬ И ЭКОЛОГИЧНОСТЬ ПРОЕКТА.

                              

Введение

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

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

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

          

5.1. Комплекс мер по охране труда оператора ПЭВМ

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

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

На качество и безопасность работ операторов влияет огромное число факторов. Работа большинства сотрудников сопряжена с умственным трудом. Так, операторы ЭВМ в течение рабочего дня должны воспринимать огромный объём информации и точно на неё реагировать. Значительное умственное напряжение и другие нагрузки приводят к изменению у работников функционального состояния центральной нервной системы нервно-мышечного аппарата рук. Для предупреждения переутомления и повышения трудоспособности необходимы и правильный режим труда и отдыха, и оптимальные микроклиматические условия, и правильная организация рабочего места. Нерациональная конструкция рабочего места вызывает необходимость поддержания вынужденной рабочей позы. Длительный дискомфорт вызывает повышенное напряжение мышц и обуславливает развитие общего утомления и снижение работоспособности. При длительной работе за дисплеем у операторов отличается выраженное напряжение зрительного аппарата с появлением жалоб на неудовлетворительность работой, нарушение сна, усталости и болезненных ощущений в области глаз, в пояснице и др. Работа с дисплеем связана с малой подвижностью и действием небольшой группы мышц, что может привести к профессиональному заболеванию – остеохондрозу. Необходимо проводить физические разминки во время перерыва. Для снятия психо - эмоционального напряжения дополнительные перерывы в соответствии с санитарными нормами (10-30 минут) должны быть распределены по всему рабочему дню.

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

помещениях, уровня шума и вибрации, освещенности, окраски оборудования.

С целью обеспечения комфортных условий для обслуживающего персонала и высокой надёжности технологического процесса на РМ устанавливают дополнительные требования к воздушной среде производственных помещений. В помещениях с избытком явного места необходимо предусматривать регулирование подачи теплоносителя для соблюдения нормативных параметров микроклимата. В качестве нагревательных приборов в машинных залах ЭВМ и хранимых носителей информации следует устанавливать регистры из гладких труб или панелей лучистого отопления. Нельзя использовать для отопления машинных залов ЭВМ электронагревательные приборы и паровое отопление. В залах с работающими вычислительными машинами на рабочих местах операторов параметры микроклимата должны быть следующими:

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

относительная влажность должны соответственно составлять: 22-24 С; 0,1 м/с; 40-60%.

- в теплое время года соответственно: 23-25 С; 0,1-0,2 м/с; 40-60%.

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

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

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

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

5.1.1. Шум и вибрация

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

В помещениях операторов ЭВМ уровень шума не должен превышать 65 дБА. На рабочих местах в помещениях для размещения шумных агрегатов вычислительных машин (АЦПУ, принтеры и т.д.) уровень шума не должен превышать 75 дБА.

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

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

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

Нормирование шумов в производственных помещениях осуществляется по предельным спектрам или в дБ в соответствии с ГОСТ 12.1.036-81 "Шум. Общие требования безопасности". Предельные нормы шумов производственного помещения определяются характером выполнения работ. Максимальный уровень непостоянного шума на рабочих местах не должен превышать 125 дБ. Запрещается кратковременное пребывание в зонах с уровнями звукового давления свыше 135 дБ.

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

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

- увеличение жесткости конструкций;

- замена металла на пластмассы если позволяет

технология;

-замена зубчатых передач на фрикционные;

-применение экранов и глушителей для

аэродинамических шумов;

-удаление рабочих мест из шумных зон,

дополнительный отдых рабочих шумных цехов и помещений;

-применение индивидуальных средств защиты (наушники, шлемы, вкладыши) и др.

Вибрация возникает при движении транспортных средств, работе ударных механизмов, вращении неуравновешенных масс (роторов, электродвигателей и прочих механизмов). Характер воздействия вибрации на человека зависит от диапазона частот механических колебаний, направления их действия и продолжительности воздействия, и может вызывать у человека различные заболевания. Для снижения уровня вибраций, создаваемой машинами и механизмами, необходимо стремится тщательно балансировать вращающиеся массы, устанавливать амортизирующие прокладки под оборудование или монтировать его на специальных фундаментах. Требования к индивидуальным средствам защиты (специальные перчатки, обувь и др.) регламентируются в ГОСТ 12.4.002-84.

5.1.2. Планировка рабочего места

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

Высота рабочей поверхности стола должна регулироваться в пределах 680-800 мм; при отсутствии такой возможности должна составлять 725 мм.

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

-  важнейшие элементы конструкции должны быть

расположены в центре поля зрения (клавиатура);

-  элементы должны быть сгруппированы по

функциональному признаку;

-  рабочие поверхности должны быть расположены

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

-  экран видеомонитора должен находиться от глаз пользователя на оптимальном расстоянии 600-700 мм, но не ближе 500 мм с учётом размеров знаков и символов.

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

-  для экрана: белый на черном;

-  для клавиатуры: черный на белом.

Наиболее удобно сиденье, имеющее выемку, соответствующую форме бедер и наклон назад. Спинка стула должна быть изогнутой формы, обнимающей поясницу. Высота её – 300 мм, ширина – не менее 380 мм, радиус изгиба – 300-350 мм. Рабочий стул (кресло) должен быть снабжен подъёмно-поворотным механизмом, обеспечивающим регуляцию высоты сидения и спинки. Рабочее кресло должно иметь подлокотники. Регулировка каждого параметра должна легко осуществляться, быть независимой и иметь надёжную фиксацию. На рабочем месте необходимо предусматривать подставку для ног.

Клавиатура должна располагаться на поверхности стола таким образом, чтобы соответствовать локтю сидящего оператора. Его рука должна быть согнута на 90 градусов в локтевом суставе, а предплечье – лежать горизонтально. Клавиатуру следует располагать на расстоянии 100-300 мм от края, обращенного к пользователю.

Помещения и их размеры должны соответствовать количеству работающих и размещаемому в них КТС. Расстояние между рабочими столами с видеомониторами должно быть не менее 2,0 м, а расстояние между боковыми поверхностями видеомониторов – не менее 1,2 м. В помещениях с ПЭВМ ежедневно должна проводиться влажная уборка, необходимо наличие аптечки первой помощи и углекислотного огнетушителя.

5.1.3. Освещение

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

производственного травматизма. Освещение может быть естественным и

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

Искусственное освещение в помещениях следует осуществлять в виде

комбинированной системы освещения с использованием люминесцентных источников света в светильниках общего назначения. В качестве источников общего освещения должны использоваться лампы типа ЛБ и ДРЛ с индексом цветопередачи не менее 70 (R>70), в качестве светильников – установки с преимущественно отраженным или рассеянным светом. Светильники общего освещения следует располагать над рабочим столом в равномерно прямоугольном порядке. Для предотвращения засветок экрана дисплея прямыми световыми потоками должны применяться светильники общего назначения, расположенные между рядами рабочих мест. При этом линии светильников располагаются параллельно светопроёмам.

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

Местное освещение обеспечивается светильниками, установленными

непосредственно на столешнице или на его вертикальной панели, а также

вмонтированными в козырёк пульта.

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

5.1.4. Пожарная безопасность

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

пожара.

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

Всё это приводит к принятию серьёзных мероприятий защиты от пожаров, определяемых СП 512-78 "Инструкции по проектированию зданий и помещений для ЭВМ" и СНиП 11-2-80 "Противопожарные нормы проектирования зданий и сооружений". В этих документах изложены основные требования к огнестойкости зданий и сооружений, противопожарным преградам, эвакуации людей из зданий и помещений.

5.2. Расчёт уровня звукового давления в операторной ЭВМ

       

В случае, когда несколько источников шума (ИШ) и расчётная точка (РТ)

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

    ,   (1)

где m - количество источников шума в помещении (в нашем случае это могут быть кондиционеры, сервера и т.д.);

Ф - фактор направленности источника шума:

- Ф = 1 - для источника с равномерным излучением;

- Ф = 2 - для источника с равномерным излучением на отражающей плоскости;

- Ф = 4 - для источника с равномерным излучением вблизи двухгранного угла;

S - площадь воображаемой поверхности правильной геометрической формы,

окружающей источник шума и проходящей через расчетную точку;

В - постоянная помещения (м2), определяемая из соотношения В1000

* m , где В1000  - постоянная помещения на эталонной частоте 1000 Гц,

устанавливаемая из таблицы в зависимости от объема помещения V, m –частотный множитель, определяемый в зависимости от объема помещения по таблице;

    Li - уровень звуковой мощности i-го источника шума, дБ;

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

Рассчитаем уровень звукового давления в операторной ЭВМ (см. рис.5.1):

рис.5.1. План помещения с расстановкой источников шума

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

V = 60

В1000 = 10

m = 0.75

В = 7.5

Таблица 5.1.

Расчеты уровня звукового давления

ИШ 

L

lмах

R

r/ lмах

Ф

c

S

1

20

0.45

0.5

1.1

2

100

2.8

1.570795

2

5

0.45

1

2.2

2

3.2

1.05

6.28318

3

15

0.45

2.5

5.6

2

31.6

1

39.26988

4

5

0.45

3.5

7.8

2

3.2

1

76.96986

5

35

0.6

5

8.3

2

3162.3

1

1570795

Подставляя исходные данные в формулу (1) получаем результат :

L =  32,92 дБ.

Вывод : в данном помещении уровень звукового давления не превышает норм установленных в соответствии с ГОСТом 12.1.036-81 "Шум. Общие требования безопасности".

        

5.4.Расчёт искусственного освещения в операторной ЭВМ

        

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

     , (2)

Е - нормируемая освещенность, Лк.(для нашего случая »300)

(выбирается из таблиц);

k3 - коэффициент запаса » 1.3;

А - площадь пола, м2 (=50 м2);

z - коэффициент, учитывающий неравномерность освещенности

(Для ламп накаливания =1.5, для люминесцентных =1.1.);

     - количество ламп в одном светильнике (=2);

     - световой поток лампы (Для ламп ЛБ-40 = 3000 лм.);

     - коэффициент использования светильников. Определяется по индексу помещения:

     , (3)

а - ширина помещения, м;

b - длина помещения, м;

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

Принимая, что а=5 м., b=10 м., h=2 м., вычисляем

=1.66. Теперь по таблице соответствия определяем, что

Uсв=0.33.

Подставляя все необходимые данные получаем:

  Nсв  = 300*1.3*50*1.1 / 2*3000*0.33 » 10 , (4)

Таким образом, получаем, что для освещения нашего помещения необходимо 10 светильников, по 2 лампы марки ЛБ-40 в каждом.

Рис.5.2.Схема расположения светильников в помещении

5.5.Выводы по главе

В результате правильного расчёта освещения, у операторов ЭВМ

уменьшается риск профессиональных заболеваний (в основном потеря зрения), утомлённость  и как следствие - повышается производительность труда.

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


ЗАКЛЮЧЕНИЕ

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

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

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

- исследована структура и функции БИС «Клиент-Сбербанк»;

- выявлены недостатки системы;

- разработан список требований к проектируемому модулю БИС;

- выполнена программная реализация модуля.

Внедряемый модуль позволяет:

- снизить затраты на сопровождение БИС «Клиент-Сбербанк»;

- уменьшить количество звонков на операторный пункт БИС путем локального устранения неполадок системы;

- сократить нагрузку серверного оборудования БИС посредством устранения очередей соединения с сервером.

В дальнейшем планируется осуществить след. функции модуля:

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

- получение и отправка служебной информации в банк (график работы БИС, служебные записки);

- обновление справочников и интерфейса программы.

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

PAGE  80


 

А также другие работы, которые могут Вас заинтересовать

69108. Фрактальні зображення 49.5 KB
  Залежно від початкових умов функція що описує таку систему перетворень може наблизитися до нескінченності збігтися до певного скінченного числа числового діапазону або нескінченно варіюватися у певному діапазоні. Множина Мандельброта визначається таким рівнянням...
69109. Теорія і методи структурного програмування 143 KB
  Згодом вона поділяється на підпрограми які декомпонуються на підмодулі наступного рівня. Під час низхідного проектування програми на верхніх рівнях абстракції деталі приховують а на нижніх рівнях вони описуються конкретною мовою програмування.
69110. Використання модулів у Borland Pascal 7.0. Структура модуля 55 KB
  Структура модуля. Структура модуля 3. До складу модуля можна включати оголошення констант типів змінних а також оголошення і реалізацію процедур і функцій. Структура модуля Модуль складається із заголовка інтерфейсної реалізаційної й ініціалізаційної частин.
69111. Основні концепції об’єктно-орієнтованої методології програмування. Базові поняття об’єктна-орієнтованого програмування. Класи і об’єкти в мові Pascal 79.5 KB
  Методологія об’єктно-орієнтованого програмування виникла як результат природної еволюції мов структурного програмування. 3 погляду цієї методології програма є сукупністю об’єктів, кожен об’єкт є екземпляром певного класу, а класи утворюють ієрархію успадкування
69112. Одномірні масиви. Поняття масиву та його властивості. Базові операції обробки одновимірних масивів 214.5 KB
  Характерною ознакою простих типів даних є те, що вони атомарні, тобто не містять як складові елементи дані інших типів. Типи даних, що не эадовольняють зазначеній властивості, називаються структурованими. У мові Раsсаl означено такі структуровані типии: масиви, рядки, множини, записи та файли.
69113. Багатовимірні масиви. Оголошення багатовимірних масивів. Доступ до елементів. Базові операції їх обробки двовимірних масивів. Двовимірні масиви в задачах 96.5 KB
  Як було зазначено вище, одновимірні масиви застосовуються для зберігання послідовностей. Проте для багатьох структур даних зображення у вигляді послідовності є неприйнятним. Наприклад, результати матчів футбольного чемпіонату найзручніше подавати у вигляді квадратної таблиці.
69114. Рядки. Поняття рядка та оголошення змінних рядкового типу. Операції над рядками та рядкові вирази. Процедури та функції обробки рядків 79 KB
  Один з різновидів одновимірних масивів — масив символів, або рядок, — посідає особливе місце у багатьох мовах програмування. І це не випадково, адже алгоритми перетворення рядків застосовуються для вирішення вкрай широкого кола задач: редагування та перекладу текстів, алгебричних перетворень формул...
69115. Записи. Запис та його оголошення. Доступ до компонентів та операцій над записами. Масиви записів. Записи з варіантами 100 KB
  Визначальною характеристикою масиву є однорідність, тобто однотипність його елементів. Проте реальний світ насичений неоднорідними структурами даних. Прикладами таких структур можуть стати: календарна дата, що скла-дається з номера дня, номера року та назви місяця...
69116. Множини. Поняття множин та множинного типу даних. Оголошення змінних множинного типу. Операції над множинами 96.5 KB
  Математичне поняття множини широко використовується в задачах, для яких існує ефективне програмне розв’язання. Так, у багатьох комбінаторних задач серед усіх підмножин деякої множини необхідно знайти ті, які задовольняють певну умову. При розв’язанні задач на графах користуються поняттями...