Воспользуйтесь формой поиска по сайту, чтобы найти реферат, курсовую или дипломную работу по вашей теме.
Описание основной работы платежной системы. Теоретические основыБанковское и биржевое дело
Оглавление
Введение. 5
1 Специальная часть 6
1.1 Задачи, решаемые платежной системой 7
1.2 Описание основной работы платежной системы. Теоретические основы. 8
1.2.1 Конфиденциальность. 10
1.2.2 Целостность информации. 10
1.2.3 Аутентификация. 10
1.2.4 Авторизация. 11
1.2.5 Защищенность операций по платежам. 11
1.3 Анализ готовых платежных систем. Их достоинства и недостатки 11
1.3.1 iBill(tm). 12
1.3.2. CyberPlat. 13
1.3.3. MemberPro. 14
1.3.4. PSW Billing Solutions 14
1.4 Постановка задачи. 15
1.5 Выбор технических средств 16
1.5.1 Выбор операционной системы. Анализ имеющихся систем. 17
1.5.1.1. Цены продуктов и лицензионных соглашений 17
1.5.2 Анализ баз данных и поиск оптимального решения. 19
1.5.2.1. Бизнес-требования к порталам и системам электронной коммерции 19
1.5.2.2. Возможности Adaptive Server Enterprise 12.5 21
1.5.2.3. Производительность в Интернет 21
1.5.2.4. Служба директорий и безопасность 26
1.5.2.5. Администрирование и качество обслуживания 27
1.5.2.6. Вывод 28
1.5.3 Выбор языка программирования 28
1.5.3.1. Common Gateway Interface (CGI) 29
1.5.3.2. Perl - лидер интерактивной "Паутины" 30
1.5.3.3. Преимущества Perl 32
1.5.4 Построение интерфейса между системой и пользователем. Анализ и выбор оптимального решения. 34
1.6 Методы криптографии и их рассмотрение. 35
1.6.1. Алгоpитм RSA 38
1.6.2. Пpактическая pеализация RSA 41
1.6.3. Кpиптосистема Эль-Гамаля 43
1.6.4. Кpиптосистемы на основе эллиптических уpавнений 44
1.7 Разработка структуры платежной системы, основных алгоритмов. 45
1.7.1. Общая структура взаимодействия с клиентом 45
1.7.2. Разработка алгоритма функции процессинга клиентов 46
1.7.3. Требования к разработке остальных функция системы 49
1.8 Расчет и анализ временных характеристик, производительности системы, точности и надежности. 52
2 Технологическая часть 60
2.1 Технологии программирования 61
2.1.1. Основные понятия объектно-ориентированного проектирования 61
2.1.2. Методика объектно-ориентированного проектирования 64
2.2 Функциональные характеристики программ 65
2.2.1 Система процессинга клиентов 66
2.2.2 Автоматическая система мониторинга клиентов 66
2.2.3 Система управления клиентами 66
2.2.4 Система управления товарами 67
2.2.5 Система безопасности 67
2.2.6 Описание системы статистики 67
2.2.7 Описание системы мониторинга 68
2.3 Технология отладки программы 68
2.3.1. Метод нисходящего проектирования 68
2.3.2. Блочная отладка 70
2.3.3. Граничные тесты 70
4 Раздел по охране труда и технике безопасности 71
4.1 Охрана труда 72
4.1.1. Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их воздействия на пользователей. 72
4.1.2. Методы защиты пользователей от опасных и вредных факторов. 81
4.1.2.1. Защита от поражения электрическим током. 81
4.1.2.2. Защита от рентгеновского излучения. 83
4.1.2.3. Защита от электромагнитного поля низкой частоты. 85
4.1.2.4. Защита от ультрафиолетового излучения. 85
4.1.2.5. Защита от статического электричества. 85
4.2 Экологическая часть. 86
4.2.1. Воздействие ультрафиолетового излучения на организм человека. 86
4.2.1.1. Общие сведения. 86
4.2.1.2. Биологическое действие. 86
4.2.1.3. Ультрафиолетовое излучение как вредный фактор на производстве. 89
4. Заключение 91
Литература 92
Приложения 93
1. Текст программы
2. Описание программы
3. Руководство пользователя
4. Постановка задачи
5. Схема взаимодействия с клиентом
6. Схема программы
7. Структура программно-технических средств системы
8. Внутренняя структура данных
9. Выходные формы. Оплата покупки
10. Выходные формы. Статистика администратора
Введение.
В наше время, время электронного прогресса и развития таких сетей, как Интернет, перед нами все больше и больше возникает задача автоматизации оборота денежных средств. Интернет уже давно является одним из рынков по продаже всевозможных товаров и услуг, поэтому развитие этого направления является на данный момент важнейшей частью развития общества.
Cегодня интернет - это не только среда для общения, но и плодороднейшая почва для малого и большого бизнеса. В 1996 году по данным Computerworld объем продаж через интернет достиг $500 миллионов, и это лишь малая часть всего объема бизнеса связанного с интернетом. Общий его оборот в 1996 году - $9.5 миллиардов долларов (из которых $4 млрд - затраты на инфраструктуру, $4 млрд - доступ, 200 млн - content - содержание или просто информация, 200 млн - финансовый сервис, 600 млн - операции между компаниями, и как уже отмечалось, 500 млн - розничная продажа).
В связи возросшими потребностями большого количества компания продавать товар через Интернет, а многих людей покупать, возрастает и необходимость в налаживании простого механизма для осуществления этого вида деятельности. Данные факторы являются значительным толчком к написанию собственной платежной системы.
Создание основной цепочки проведения операции покупки/продажи между покупателем и продавцом и является поставленной задачей в данном дипломном проекте.
В пояснительной записке к проекту рассматриваются такие важные аспекты, как описание функционирования системы, поиск наиболее выгодных как с технической, так и с экономической части проекта решений. Проводится анализ всех сопутствующих систем, начиная от операционных и кончая методами разработки интерфейса между пользователем и платежной системой.
1 Специальная часть
1.1 Задачи, решаемые платежной системой
В связи с тем, что платежную систему изначально разрабатывал специальный отдел компании, включая меня, я должен описать непосредственно всю подготовку к написанию системы и задачи, решаемые системой. Изначально система была заказана сторонней компанией и должна предоставлять следующие функции:
1) Система процессинга. Непосредственно данная функция и является моей основной задачей в данном проекте. Система должна обеспечивать прием денежных средств в виде кредитных карт от клиента, проверку состояния счета, снятия денег с карт, и возврат статуса операции с последующей записью в базу данных и передачу на обработку последующими функциями системы. Также данная функция включает в себя дополнительный прием денежных средств по вызову из другой функции системы. В связи с тем, что система должна быть масштабируема и проблем, связанных с переходом на обслуживание в другой банк быть не должно, она должна быть написана на объектно-ориентируемом языке программирования.
2) Система мониторинга подозрительных транзакций. Данная функция предназначена для обеспечения защиты от подозрительных транзакций и работает непосредственно с системой процессинга.
3) Система управления клиентами. Функция, обеспечивающая второстепенные и дополнительные моменты системы, расширяющая и дополняющая основные функции. Также включает в себя систему управления компаниями продавцами.
4) Система управления товаром (в данном проекте - сайтами). Обеспечивает доступ к товару для клиента, является дополнительной и последующей функцией к системе процессинга
5) Система защиты товара от доступа на стороне компании продавца. Предназначена для организации доступа к товару только после оплаты. Функция снимает с продавца необходимость в написании собственных систем безопасности.
6) Системы статистики и мониторинга. Являются функциями документооборота и организации отчетности в системе. Разделяются на три категории. Системы для:
- клиента (покупателя)
- компании продавца
- администраторами системы
1.2 Описание основной работы платежной системы. Теоретические основы.
Совершение любой сделки в бизнесе заканчивается денежными расчетами по этой сделке.
Расчеты представляют собой систему организации и регулирования платежей по денежным требованиям и обязательствам. Платеж может производиться как наличными деньгами, так и безналичным путем (безналичные расчеты).
Безналичные расчеты представляют собой денежные расчеты, при которых платежи осуществляются без участия наличных денег путем перечисления денежных средств со счета плательщика на счет получателя денег. Безналичные расчеты могут иметь разные формы (банковский перевод, банковские карты, инкассо, аккредитив, чек и др.).
Банковские операции по переводу денежных средств для какой-либо цели получили название транзакция (лат. transaction - соглашение, сделка).
Транзакция - это инициируемая держателем банковской карты последовательность сообщений, вырабатываемых участниками системы и передаваемых от участника к участнику для обслуживания держателя карты.
Транзакция имеет следующие основные свойства:
- неделимость;
- изолированность;
- надежность;
- взаимодействие между держателем карты и хозяйствующим субъектом, принимающим эти карты к обслуживанию.
Неделимость транзакции означает, что должны выполняться все составляющие транзакцию операции или не выполняться ни одна из операций.
Согласованность транзакции означает, что она не нарушает корректности информации в базах данных карт, счетов, остатков.
Изолированность транзакции - это независимость одной отдельно взятой транзакции от других транзакций.
Надежность транзакции связана с тем, что завершенная транзакция может восстанавливаться после себя, а незавершенная транзакция - отменяться.
Взаимодействие между держателем банковской карты и хозяйствующим субъектом, принимающим ее (банк, мерчант), представляет собой такую связь, в результате которой происходит изменение состояния счета держателя карты.
Транзакции могут осуществляться как в документарной форме (банковский перевод, инкассо, аккредитив), так и в электронной форме.
Электронные платежи во многом напоминают платежи, используемые в обычных магазинах, принимающих заказы по телефону. Отличительная особенность электронных платежей состоит в том, что весь процесс платежа за купленный товар происходит через компьютер заказчика и через Web-сервер продавца товара.
Рисунок 1. Электронные платежи
Схема показывает, что покупатель товара через броузер, т. е. через программное обеспечение, размещает заказ и информацию о способе оплаты товара (электронный чек, банковская карта и т. п.) на сервере продавца. Иногда страницы web-сервера содержат поля формы заказа, которые покупатель может заполнить в своем броузере. С броузера информация передается на сервер продавца, где она обрабатывается и добавляется к базе данных. В нашей системе данный шлюз и является платежной системой. Данные с сайта продавца передаются в платежную систему где и происходит обработка информации проводится платеж.
После поступления информации на сервер продавца программное обеспечение этого сервера проверяет правильность заказа, проводит аутентификацию и получает разрешение на перечисление денег из банка. Получение разрешения на перечисление денег, как правило, совершается через шлюз, который связывается с банком через Интернет. Шлюз представляет собой программу, предназначенную для соединения двух сетей, использующих различные протоколы, благодаря чему становится возможным обмен данными между ними. Для передачи данных из одной сети в другую программа преобразует эти данные, обеспечивая тем самым совместимость протоколов.
Заключительным этапом системы электронного платежа является авторизация и расчет за покупку (т. е. перечисление денег со счета покупателя на счет продавца).
К системе электронных платежей предъявляются следующие требования:
1.2.1 Конфиденциальность.
Конфиденциальность (лат. confidentia - доверие) означает доверительность, т. е. не подлежащие огласке сведения. Конфиденциальность транзакций проявляется в том, что номер счета или номер банковской карты, сообщаемый продавцу, является секретным и должен быть известен только тому, кто имеет на это законное право, например банку-эмитенту банковской карты.
1.2.2 Целостность информации.
Информация о сделке должна быть сохранена в целостности, т. е. никому не должны быть известны купленный товар и сумма покупки.
1.2.3 Аутентификация.
Аутентификация (от гр. authenticos - подлинный) означает удостоверение в том, что другая сторона, участвующая в платежах, на самом деле является той, за кого себя выдает. Это означает, что при расчете не наличными деньгами, а, например, банковской картой, продавец просит покупателя предъявить удостоверение личности с фотографией или же сравнивает подпись покупателя с уже имеющимся образцом.
1.2.4 Авторизация.
Авторизация - проверка счета покупателя в банке. Авторизация позволяет продавцу определить, есть ли у покупателя необходимая сумма денег для оплаты стоимости покупки.
1.2.5 Защищенность операций по платежам.
Защищенность операций по платежам означает создание преграды на пути проникновения воров (хакеров) в сеть Интернет и способов сохранения конфиденциальности и целостности информации.
1.3 Анализ готовых платежных систем. Их достоинства и недостатки
Перед написанием собственной системы необходим анализ представленных на рынке систем, модулей, поиск преимуществ и недостатков. Данный раздел целиком и полностью посвящен именно таким системам.
После тщательного поиска представленных продуктов на рынке я нашел следующий основной ряд систем:
- iBill(tm). www.ibill.com
- CyberPlat. www.cyberplat.com
- MemberPro. www.memberpro.com
- PSW Billing Solutions. www.pswbilling.com
Все другие системы являются аналогами перечисленных или не представляют ни малейшего интереса для нужд заказчика.
1.3.1 iBill(tm).
Данная система является лидером в области платежных систем в Интернете. Но, несмотря на данное звание, у системы множество недостатков.
Рисунок 2. Главная страница системы iBIll(tm)
Основными являются плохо налаженная система работы с клиентами и плохая организация системы защиты как товара клиента, так и собственных баз данных.
Преимущества системы:
- популярность системы. Несмотря на недостатки система получила широкое распространение, чем, скорее всего, обязана хорошей службе маркетинга.
- надежность системы от сбоев.
Недостатки системы:
- слабая служба поддержки клиентов. В большинстве своем это связано с нехваткой ресурсов. Также из-за очень большого количества продавцов службе поддержки сложно уследить за работой всех обещанных сервисов компаний продавцов. Из этого вытекает следующий пункт
- очень большой срок подключения новой компании продавца. Из этого истекает, что только компании, уже долго работающие с данной системой в Интернете могут быстро и безболезненно подключить новые продукты, остальные будут терять время и деньги при добавлении новых ресурсов, так как каждое такое добавление требует контроля со стороны службы поддержки системы и затягивает их подключение на очень долгий срок.
1.3.2. CyberPlat.
Рисунок 3. Главная страница системы CyberPlat
Несмотря на то, что данная система российская и предоставляет услуги только гражданам и компаниям России, она получила широкое распространение и за рубежом. Развивая систему, как собственный проект, банк Платина поставил целью создать единую систему для обеспечения Интернет-сервисов для компаний среднего и малого бизнеса.
Преимущества системы:
- глобальность системы, предназначенная для всевозможных нужд любых компаний
Недостатки системы:
- очень медленная скорость работы. Сказывается непродуманность системы и ее очень слабая гибкость. В связи с этим работа с базой данных системы идет очень медленно и напрочь отсутствует оперативность.
1.3.3. MemberPro.
Рисунок 4. Главная страница MemberPro.
Система, широко распространенная, но скорее всего, существующая для собственных нужд и проектов. Основными недостатками является отсутствие функции партнерских программ и частые перебои в работе.
Преимущества системы:
- гибкость системы и высокая скорость работы
- хорошая служба поддержки
Недостатки системы
- система не предназначена для обычного продавца, разобраться в настройке и работе очень сложно
- частые перебои в работе, в связи с чем прямая потеря оборота компании продавца.
1.3.4. PSW Billing Solutions
Данная система является самой адаптированной к условиям Интернета. Заказчик предположил разрабатывать собственную систему, в чем-то похожую на эту. Недостатком является то, что система не может быть напрямую адаптирована для нужд нашего заказчика. То есть он не сможет оптимизировать систему под себя.
Рисунок 5. Главная страница PSW Billing Solutions.
Преимущества системы:
- дружелюбный интерфейс
- очень гибкие возможности
- хорошая скорость работы
- хорошая служба поддержки
Недостатки системы:
- невозможность оптимизировать под нужны заказчика
1.4 Постановка задачи.
Платежная система является законченным продуктом, поэтому она должна удовлетворять самым строгим требованиям. Она должна не только бесперебойно работать на самых максимальных нагрузках, но и обеспечивать дружелюбный интерфейс с пользователем. При этом не стоит забывать, что система должна абсолютно легко ставиться другими людьми, не имеющими к разработке непосредственного отношения, и также легко ими модернизироваться. Поэтому важнейшими факторами должны являться масштабируемость и гибкость системы.
Основная задача данного проекта - создать и разместить в Интернете систему по проведению электронных платежей и организации взаимосвязи между конечными компаниями продавцами и банковской системой с целью предоставления услуги по упрощенному подключению Интернет-магазинов компаний продавцов к банковским системам.
Система должна иметь круглосуточную автоматическую и персональную систему поддержки клиентов, а также должно быть наличие формы составления выписок и документов для обеспечения системы учета компаний, что является также важным фактором при выполнении задачи.
Заказчик, которым является западная компания, поставил задачу непосредственно мне осуществить функцию по приему платежей и передаче их в банк. Цель данного дипломного проекта состоит в том, чтобы написать модуль единой системы, который предназначен выполнять следующие функции:
- разовое снятие денег с кредитной карточки покупателя через банк
- периодическое автоматическое снятие дополнительных денег (для представления в системе функции подписки на периодические услуги)
- функции обратного взаимодействия с банком для обеспечения синхронизации баз данных между банком и платежной системой
Данный модуль должен удовлетворять всем требованиями по гибкости и возможному масштабированию системы, и обеспечивать достаточную надежность и быстродействие при максимальных потоках. Данное звено не должно ни коим образом влиять на быстродействие всей системы в целом и являться скоростным обработчиком транзакций.
1.5 Выбор технических средств
Для построения собственной хорошей системы необходимо тщательно отобрать все инструменты, необходимые для данного проекта. В этом случае мы сможем гарантировать высокую скорость работы, значительную гибкость системы при малых затратах на производство и поддержку.
Ниже приводится анализ операционных систем, баз данных, языков программирования, методов построения интерфейсов. Данная часть дипломного проекта является едва ли не самой основной в данной работе и существенно выявляет будущие качества платежной системы.
1.5.1 Выбор операционной системы. Анализ имеющихся систем.
Здесь нужно рассмотреть две имеющихся альтернативы, из которых и будет уже выбираться база данных и язык программирования, это Microsoft Windows и UNIX-системы (Linux, FreeBSD).
Из последнего скорее нужно выбирать FreeBSD, так как эта система обеспечивает намного большую безопасность, чем Linux. Начнем с глобального. При сравнении была использована статья Джона Кирша, сетевого консультанта, как основополагающая в споре, что лучше, Windows или UNIX.
Выбор серверной платформы может быть затруднен для менеджеров, не имеющих узкоспециализированных знаний в системном и сетевом администрировании. В этой разделе, Microsoft Windows NT Server сравнивается с UNIX, большим семейством коммерческих и некоммерческих операционных систем с общим наследием и во многом похожих. Основное сравнение проводится в областях функциональных возможностей, надежности, системного управления, и производительности. Этот раздел о серверах, а не о рабочих станциях. Другие факторы, такие, как цена продукта, количество и качество поставляемого ПО, и раздел о характерных заблуждениях, присущих двум группам операционных систем представлены для более полного взгляда на эти продукты. Информация, используемая в этом сравнении, получена из разных источников: официальные издания, целевые исследования третьих фирм, статьи из технической периодики, и наблюдения IT специалистов, имеющих опыт реализации и администрирования, и Microsoft Windows NT, и различных ОС UNIX, в промышленных масштабах.
1.5.1.1. Цены продуктов и лицензионных соглашений
Большинство менеджеров согласны с тем фактом, что реальная цена операционной системы понятна, если учитывать всю картину в целом. Хотя Windows NT Server 4.0 может быть дороже некоторых коммерческих UNIX ОС (NT 4.0 Server версия на 5 пользователей - $809; 10-пользователей - $1129; Windows NT Server, Enterprise Edition 4.0 25-пользователей - $3,999; Enterprise Edition 4.0 50-пользователей - $4,799; NT Server 4.0 Documentation Kit - $69.95; Источник: Microsoft), ее можно получить по незначительной цене на специальных выставках (trade show). И, что не мелочь, согласитесь, сетевая операционная система из этого диапазона цен, поставляется без telnet сервера, SMTP сервера (e-mail), дисковых квот, news сервера, или по крайней мере DNS сервера (многие администраторы NT вынуждены искать решения третьих фирм для DNS). По данным BSDI, при такой же функциональности что и в BSD поставке, дополнительные продукты Microsoft и решения третьих фирм составят итоговую цену сравнимого решения на NT около $4,000. Maggie Biggs, ведущий аналитик InfoWorld, специализирующаяся на технологиях баз данных и создании, разработке и распределении приложений через Интранет и другие сети определяет в своей статье, сравнивая NT 4.0 с коммерческим Linux'ом Red Hat'а (всего лишь за $49.95), что цена подобного решения на основе Windows NT 4.0 составит $4,636. Этот пример показывает, что успешный маркетинг часто приводит к тому что потребителю навязываются те же функциональные возможности, но совсем не те решения.
NT часто выбирают по соображениям бюджета, так как многие заказчики не желают оплачивать более дорогую аппаратуру, требуемую большинством коммерческих версий UNIX. Более важным, однако, является тот факт. что общая стоимость реализации, включает системное администрирование наряду с другими факторами такими, как время простоя, телефонные звонки в службу поддержки, потеря данных из-за ненадежности, и т.д. Tippett Studio, компания, ответственная за графику в Starship Trooper, получившего Oscar в номинации лучшие спецэффекты, использовала 130 SGI ( Silicon Graphics, Inc.) машин под IRIX, собственную ОС UNIX SGI. Вычислительные администраторы Tippett studio так объяснили, почему они использовали SGI с IRIX вместо NT:
"SGI дешевые для того, что они делают,"- говорит Jeff Stringer,-" Стоимость поддержки NT довольно высока, когда Вы думаете обо всех системных администраторах, которых следует нанять." "Наем -- особенно большая забота для маленькой студии. В отличие от больших студий, Tippett -- которая, разработала жуков, угрожающих человечеству в "Starship Troopers" -- является f/x boutique'ом." -- Greg Lindsay, Oscar Tech, The Netly News, февраль 27, 1998.
Для большинства пользователей ориентирующихся на реальную цену, Linux либо FreeBSD будут несомненно лучшими вариантами решений. Они ничего не стоят,при том что они вполне стабильны и функциональны, если даже не больше, чем коммерческие UNIX ОС.
Таким образом, проектирую платежную систему, прежде всего мы боремся за стабильность и надежность системы, что в свою очередь делает выбор в пользу Unix, а именно FreeBSD.
1.5.2 Анализ баз данных и поиск оптимального решения.
Далее прежде всего нам нужно выбрать базу данных, так как она будет наиболее важным критерием в быстродействии после выбора операционной системы. После того, как выбор пал на FreeBSD, выбор базы данных автоматически отбрасывает Microsoft SQL. Из более распространенных и надежных MySQL нам не подходит по причине медленной работы при больших объемах данных. Также он не поддерживает транзакции и хранимые процедуры, что затрудняет разработку платежной системы. Oracle изначально нам не подходит, поскольку он очень сложный в поддержке. Для нормального функционирования базы данных необходим отдельный администратор, на что наш заказчик не был готов пойти. Также Oracle по сравнению с Sybase не выгоден по той причине, что занимает много ресурсов, начиная от загрузки сервера, и заканчивая относительной дешевизной в разработке.
Последняя версия Sybase Adaptive Server Enterprise 12.5 была представлена на рынке как «База данных для e-бизнеса, готовая к использованию в портальных решениях».
1.5.2.1. Бизнес-требования к порталам и системам электронной коммерции
По мнению аналитической группы Giga, СУБД для e-бизнеса должны отвечать следующим требованиям:
- Производительность и масштабируемость, позволяющие удовлетворять растущие потребности бизнеса
- "пять девяток" E-бизнеса (Готовность 99.999%, или менее пяти минут времени в оффлайне за год)
- Обслуживание сервера в режиме Online
- Возможность обрабатывать очень большие объекты
- Возможность обрабатывать неструктурированные и определяемые пользователями типы данных и функции
- Поддержка/взаимодействие со стандартными службами директорий
- Интеграция с развивающимися стандартами безопасности без потери возможности идентификации пользователя из любого интерфейса
- Поддержка Java Stored Porcedures (JSPs) и SQLJ
- Поддержка XML-тэгов и манипуляторов
- Поддержка инфраструктур разработки компонент приложений
- Java/J2EE/Corba и/или COM+/DNA
- Управление и мониторинг распределенных систем
СУБД ASE 12.5, готовая к использованию в портальных и Интернет-решениях, содержит множество новых возможностей и усовершенствований, позволяющих ей стать основной платформой для e-Business и ERP-приложений. Эти возможности можно разбить на три основные категории:
- Интернет-безопасность и служба директорий
- Увеличение производительности Интернет-приложения
- Инфраструктурные улучшения ASE масштаба предприятия
1.5.2.2. Возможности Adaptive Server Enterprise 12.5
Производительность в интернете
Администрирование и качество обслуживания
Служба директорий и безопасность
- XML-запросы
- Enterprise Java Beans
- SQLJ (включая хранимые процедуры Java)
- Улучшение Java инфраструктуры
- Увеличенный размер таблицы, записи и char column
- Union-in-views
- Unicode (UTF-16)
- Улучшение сервиса интеграции компонент
- Поддержка External File Systems
- Контроль доступа на уровне записи
- Secure Sockets Layer
- Поддержка протокола LDAP
- Динамическая реконфигурация
- Quiese DB
- Резервное копирование с компрессией
1.5.2.3. Производительность в Интернет
1.5.2.3.1. XML-запросы
Sybase ввел классы XML storage в версии ASE 12.0. В версии ASE 12.5 делается следующий шаг и программистам предоставляется возможность создания SQL-подобных запросов с использованием XQL, расширенной реализации языка запросов SQL. Управление данными в формате XML предоставляет E-бизнес компаниям возможность публикации контента в Web, нуждающегося в периодическом изменении, или кастомизации для конкретного пользователя или класса пользователей. При хранении данных в виде XML ASE 12.5 предоставляет средства динамической генерации контента из единого источника. Эта новая инфраструктура осуществляет интерпретацию XQL-запросов и генерирует в прокси-разделах сервера структуры доступа, облегчающие получение данных. Инфраструктура ASE оптимизирована для работы в формате "однократное сохранение - многократные запросы". Например, приложение может осуществлять передачу заданной информации в формате XML на браузер, поддерживающий XML.
1.5.2.3.2. Enterprise Java Beans
Enterprise Java Beans позволяет разработчикам быстро создавать портируемые компонентные приложения. Enterprise Java Beans в ASE 12.5 делает возможной быструю сборку приложений предприятия из готовых компонент. С выходом ASE 12.5 разработчики будут лишены необходимости программирования на низком уровне таких операций, как управление сессией, безопасность, транзакции, вызов по удаленному запросу и многопоточная обработка. Поддержка EJB в ASE 12.5 будет кросс-платформенной, позволяющей разрабатывать приложения на одной платформе и размещать на другой. Поддержка EJB в ASE 12.5 позволит:
- Увеличить производительность объектов beans, отвечающих за передачу данных, снижая таким образом общие затраты на передачу данных по сети
- Поднять уровень безопасности, ограничивая объекты bean безопасной средой РСУБД.
1.5.2.3.3. SQLJ (включая хранимые процедуры Java)
Sybase традиционно стоит на переднем крае в стандартизации Java-реляционных технологий БД. Результатом этих усилий является SQLJ, позволяющий разработчикам эффективно комбинировать мощь и возможности быстрого создания приложений Java с возможностями управления данными сервера БД масштаба предприятия, каким является Sybase ASE. Стандарт включает три части: Part 0 позволяет внедрять SQL в Java при помощи JDBC; Part 1 использует такие статичные методы Java как хранимые процедуры и функции SQL; в Part 2 Java-классы используются в качестве абстрактных типов данных SQL, поддержка которых реализована в ASE 12.0.
Сервер БД ASE 12.5 полностью совместим с Part 1 SQLJ, включая поддержку хранимых процедур Java. ASE 12.5 также включает поддержку параметров и множественных result sets. Новые возможности SQLJ в ASE 12.5 позволяют разработчикам оперативно и беспрепятственно интегрировать Java-приложения с ASE для решения задач хранения, предоставляя в их распоряжение всю мощь ASE.
1.5.2.3.4. Улучшение Java инфраструктуры
Java стала языком Интернета и разработки приложений для E-бизнеса. ASE 12.5 основан на преимуществах Java-инфраструктуры, заложенной в версии 12.0 и позволяет разработчикам эффективно совмещать мощь Java в области разработки приложений с широкими возможностями управления информацией Adaptive Server Enterprise. ASE 12.5 добавляет следующие ключевые преимущества:
- Поддержка JDK 1.2 в соответствии с J2EE (недоступна в бета-версии)
- Поддержка java.net
- Существенное улучшение производительности встроенной виртуальной Java-машины JVM (недоступна в бета-версии)
1.5.2.3.5. Увеличенный размер таблицы, записи и char column
ASE 12.5 предоставляет разработчикам широкий выбор вариантов хранения данных. ASE 12.5 теперь поддерживает записи с размером до 16 Кб; остальные предельные величины также отодвинуты. В Adaptive Server 12.5 увеличены следующие максимальные значения:
- Размер записи - поддерживаются размеры 2K, 4K, 8K, 16K
- Количество колонок на таблицу, колонок, записей и размер индекса
- Количество аргументов в хранимых процедурах
- Длина выражений
- Количество выражений в выражении select
- Количество Логинов на сервер; количество пользователей на БД
Ниже приводится частичный список новых максимальных значений
- Количество Логинов на сервер: 2147516415
- Количество пользователей на БД: 2146484222
- Количество групп на БД: 1032193
- Количество колонок на таблицу: 1024
- Количество колонок с фиксированной длиной на таблицу: 1024
- Количество колонок с варьирующейся длиной на таблицу с блокировкой на уровне записи:254
- Количество колонок с фиксированной длиной на таблицу с блокировкой на уровне строки:1024
- Количество аргументов к хранимым процедурам: 2048
- Длина переменных для типов данных chat/binary (с максимальным размером записи 16K): 16384
- Длина суммарного string-выражения: 16384
Кроме того, количество выражений (колонок) в выражении select теперь зависит только от объема свободной памяти.
1.5.2.3.6. Union-in-views
Иногда удобно разбить большую таблицу на несколько небольших. Новые команды UNION ASE 12.5 позволяют беспрепятственно создавать вид базы данных или виртуальной таблицы, представляющий все более мелкие таблицы в виде одной большой таблицы. Например, разработчик может разбить большую таблицу на более мелкие подтаблицы. Данные могут распределяться между подтаблицами исходя из допустимых значений данных в одной из колонок. Таблица, разбитая таким образом, может в дальнейшем использоваться разработчиком при использовании функции union all для определении вида, комбинирования выделенных фрагментов всех подтаблиц в единый результирующий массив.
1.5.2.3.7. Unicode (UTF-16)
В результате глобализации многие приложения, в частности ERP, используются по всему миру. При этом необходимость в стандартизации всех раскладок становится все более критичной. ASE 12.5 успешно решает эту важную задачу, поддерживая кодировку UCS-2 Unicode. Все раскладки имеют стандартную 2-байтную кодировку, позволяющую многим ERP-вендорам использовать Sybase в качестве платформы.
Обеспечение поддержки UCS-2 в ASE 12.5 включает увеличение предельного размера записи, строки, колонки и индекса. При использовании записей максимальным размером 16K колонки и строки могут занимать примерно 16K. Увеличение предельного размера записи позволит улучшить производительность в средах VLDB.
1.5.2.3.8. Улучшения в области служб интеграции компонент
Sybase ASE обладает расширенной службой интеграции компонент, позволяющей интегрировать серверы баз данных, находящиеся в сети, в виртуальный сервер. Adaptive Server Enterprise 12.5 продолжает расширять возможности этой службы, среди которых:
- Улучшенная оптимизация распределенных запросов
- Улучшенный доступ к данным через файловую систему
- Улучшение управлением распределенными транзакциями
- Улучшение администрирования и диагностики
- Поддержка каскадных прокси
- Улучшенное отслеживание внешних Логинов
- Поддержка Quoted Identifier, возможности расширенного полнотекстового поиска
- Улучшенная поддержка прокси-таблиц для удаленных процедур
- Поддержка прокси баз данных
- Новые глобальные переменные и команды Set
1.5.2.3.9. Использование External File Systems
Большая часть Web-контента сегодня имеет нереляционную структуру и хранится вне РСУБД. Обычно такие данные хранятся в файлах, поддерживаемых операционной системой, которыми сложно управлять с учетом экспоненциального увеличения объема данных. ASE 12.5 позволяет разработчикам получить контроль над внешними данными, хранящимися в файлах, непосредственно из ASE. ASE 12.5 позволяет управлять данными во внешних директориях с файлами точно также, как таблицами в базе данных. Возможности ASE CIS позволяют создавать прокси-таблицы для нахождения всех файлов в выбранной директории. При помощи обычных SQL-команд в прокси-таблицах файлы могут создаваться, удаляться, считываться и записываться. Кроме того, атрибуты доступа к файлу также могут изменяться.
1.5.2.4. Служба директорий и безопасность
1.5.2.4.1. Контроль доступа на уровне записи
В современной экономике данные становятся все более ценными. Защита данных на уровне таблиц не всегда является достаточной. ASE 12.5 поддерживает механизмы безопасности, связанные с хранимыми данными. Эти механизмы позволяют более детально подходить к настройке прав доступа и позволяют пользователям получать доступ к отдельным частям таблицы в зависимости от их прав доступа. Решение полностью реализуется на уровне сервера, что позволяет использовать эти функции безопасности на уровне строк без необходимости написания сортирующих процедур низкого уровня.
Данное решение требует создания правил доступа для пользователей или приложения. Эти правила привязываются к типам данных, которые затем используются в типах колонок и применяются ко всем операциям над таблицами, содержащими данную колонку. Данный механизм безопасности на уровне хранимых данных не ограничивается определенной таблицей SQL и может применяться ко всем таблицам, использующим безопасный тип данных. Кроме того, правила по умолчанию могут назначаться на уровне сервера.
1.5.2.4.2. Secure Sockes Layer
Защита критичных бизнес-данных во время их передачи к пользователю и от него является обязательной. ASE 12.5 использует протокол Secure Socket Layer (SSL) для обеспечения безопасности передаваемых данных посредством организации специального канала и гарантирует защищенность данных и корректность авторизации. Протокол SSL шифрует данные, передаваемые по сети, осуществляет проверку целостности данных и авторизует клиентов и серверы. SSL осуществляет соединение между клиентом и сервером, используя инфраструктуру PKI для идентификации клиента. Успешное соединение предоставляет клиенту доступ ко всем приложениям предприятия, не требуя ввода пароля.
1.5.2.4.3. Поддержка протокола LDAP
IT-специалисты сегодня сталкиваются с все возрастающим количеством серверов и информационных систем на предприятиях. Управление службой директорий и безопасностью для каждой системы в отдельности является затратным и неэффективным. Протокол Lightweight Directory Access Protocol (LDAP) предоставляет механизм, необходимый для управления информацией о службах директорий и авторизации, использующейся по всему предприятию. Служба Internet Directory Services ASE 12.5 будет поддерживать доступ к LDAP для следующих сервисов:
- Информация о сервере
- Информация о пользователях - идентификация, авторизация, профиль пользователя или любой другой тип приложений
1.5.2.5. Администрирование и качество обслуживания
1.5.2.5.1. Динамическая реконфигурация
Стоимость IT является важным фактором для поставщиков E-бизнес решений. Даже небольшие периоды времени в оффлайне могут повлечь большие затраты. ASE 12.5 позволяет сделать многие стандартные настраиваемые параметры базы данных динамическими, что означает возможность изменения на уровне базы данных в режиме online. Это позволяет администраторам оперативно изменять параметры базы данных и компенсировать переменные нагрузки, не перезагружая сервер БД.
1.5.2.5.2. Quiese DB
Многофункциональная система хранения информации теперь позволяет администраторам создавать моментальные "снимки" критичных бизнес-данных. ASE 12.5 обладает улучшенной функцией Quiese DB, уже поддерживающейся в ASE 12.0, обеспечивающей режим "warm standby" с выгрузкой и загрузкой поддержки транзакций на зеркальной копии данных. В данной версии зеркальные сервера не требуют перезагрузки, а также могут непрерывно поддерживать актуальность информации.
1.5.2.5.3. Резервное копирование с компрессией
Эффективное функционирование базы данных напрямую зависит от процесса резервного копирования. Для увеличения скорости операции резервного копирования и сохранения информации на доступных носителях Sybase ASE теперь использует резервное копирование с компрессией баз данных и журнала транзакций. Администраторы могут выбирать из нескольких уровней компрессии для различных носителей, использующихся при резервном копировании.
1.5.2.6. Вывод
Как видно из описания, Sybase предоставляет все возможности для разработки с помощью него базы данных для платежной системы. Поддержка SSL делает возможным проводить удаленные транзакции. Единственное, что Sybase изначально был написан под Linux, поэтому для обеспечения большей стабильности, необходимо выделить отдельный сервер под Linux, а саму платежную систему писать под FreeBSD, и между двумя серверами возможно поднять VPN (Virtual Privete Network).
1.5.3 Выбор языка программирования
После выбора таких основных компонент, как операционной системы и базы данных, остановимся на последнем, но не менее значимом для нашей разработки, языке программирования. В качестве вариантов были выбраны C, Perl, Java и PHP, как основные языки для веб-разработок.
Хочу заметить, что Java и PHP мы сразу вычеркиваем. Java хороша всем, но только не скоростью. Опыты разработок платежных систем в других компаниях говорят против этого языка. Невысокая скорость работы и очень маленькая надежность и отказоустойчивость могут пагубно сказаться на работе платежной системы в целом.
PHP вообще не предназначен для столь крупных разработок и необходим только при написании небольших приложений для Интернета.
Что касается C и Perl, то, сразу оговорив, что Perl написан на C, можно выбрать первый C, как наиболее быстрый язык, если бы не одно но, этот язык не подходит для быстрого написания системы. Под Perl написано намного больше библиотек для Интернета, и разработка на нем платежной системы должна существенно снизить временные затраты.
1.5.3.1. Common Gateway Interface (CGI)
На любой выставке или конференции, тематика которых так или иначе связана с Web, всегда обсуждаются и демонстрируются средства разработки Web-узлов. В большинстве случаев речь идет либо о пакетах для разработки Java-приложений, либо об интегрированных оболочках для разработки фрагментов HTML-страниц на языке JavaScript, или же о продуктах, ориентированных на языки и стандарты фирмы Microsoft.
Картина использования систем управления базами данных в Web выглядит аналогично. Если оставить за рамками дискуссии Web-компоненты, входящие в состав СУБД, то, как правило, наиболее обсуждаемой темой окажутся интерфейсы JDBC и ODBC.
Признавая важность и мощь перспективных средств разработки программного обеспечения для World Wide Web и механизмов подключения информационных ресурсов в системах intranet, следует однако отметить, что не они являются основным инструментом в "Паутине" сегодняшнего дня.
Если внимательно присмотреться к тому, что пользователь Web получает на экран своего монитора, то окажется, что 70% страниц, которые "закачивает" браузер, - это страницы, генерируемые "на лету" (on the fly). Таких страниц нигде в сети реально не существует, они создаются из отдельных заготовок или генерируются программами. Для русскоязычной части Web эта цифра заведомо выше, так как примерно две трети информации требуют перекодировки из базового символьного кода в коды браузеров пользователей.
В большинстве случаев для генерации HTML-страниц используются не модные нынче Java-приложения или программы на языке Visual Basic for Applications, а проверенные временем скрипты CGI (Common Gateway Interface) или модули Web-серверов.
В отличие от языка JavaScript, который достаточно широко распространен в Сети (причем, как это ни странно, в российской части Web он используется интенсивнее, чем в среднем по Internet), все остальные современные Web-технологии еще только борются за место под солнцем. Да и применение JavaScript зачастую обусловлено стремлением разработчика продемонстрировать свою квалификацию (или как теперь говорят, "крутизну"), нежели реальной необходимостью. Не исключено, что демонстрация "мощи" в немалой степени происходит вследствие избытка имеющегося у Web-мастеров образования - в большинстве случаев применение JS на отечественных узлах Web с чисто практической точки зрения ничем не обосновано. Чтобы убедиться в этом, достаточно посмотреть на страницы www.infoart.ru.
Оставим в стороне разработку модулей для серверов и обратим наше внимание на скрипты CGI. Именно с помощью этих скриптов, а также серверных вставок в HTML-документы обеспечивается динамическая генерация страниц.
1.5.3.2. Perl - лидер интерактивной "Паутины"
Хотя CGI-скрипт можно написать на любом языке программирования, тем не менее пальму первенства держат языки Perl и С. Если последний известен практически каждому, кто так или иначе сталкивался с программированием, то Perl приобрел свою популярность во многом именно благодаря Web. С большой долей уверенности можно утверждать, что языком номер один в Web являются не Java и не JavaScript вместе с VBScript. Место лидера по праву принадлежит Perl.
Перефразируя крылатую фразу из одного популярного анекдота 80-х годов, можно сказать, что если Web-мастер не знает, что такое Perl, то это не Web-мастер. Действительно, подавляющее большинство скриптов, которое используется всем Web-сообществом, составляют скрипты на языке Perl.
Показателем популярности языка может служить тот факт, что когда компания OpenMarket стала разрабатывать спецификацию FastCGI, позволяющую существенно улучшить временные показатели при обращении к внешним программам через Web-сервер, она создала библиотеку разработчика FastCGI-скриптов (FastCGI Development Kit) для C (типовой среды разработки), Perl (наиболее популярной инструментальной среды) и Java (самой модной среди разработчиков).
Какие же свойства языка обеспечивают Perl преимущества перед остальными языками программирования?
Если С можно условно назвать языком программистов-"системщиков", то Perl - это язык программирования, предназначенный для администраторов систем. Именно для этой цели Ларри Уолл и придумал Perl в 1986 году.
Perl отличается от других языков мощными средствами для синтаксического разбора текстовых строк, наличием простых механизмов для работы с файловой системой и операционным окружением, а также хешированных массивов и встроенной поддержки сетевых коммуникаций. Обычно Perl реализуется с помощью интерпретатора, что позволяет разработчику проверять программы сразу же по написании, не компилируя их и не собирая редактором связей. Метод интерпретации обладает еще одним важным преимуществом - возможностью изменения кода самой программы по мере ее исполнения, и эта возможность также предусмотрена в Perl.
Реализации Perl - это продукты, относящиеся к категории public domain. Исходные тексты интерпретатора Perl и библиотеки можно найти практически в любом FTP-архиве. В силу этого Perl перенесен на все Unix-платформы, а также на 32-разрядную Windows-платформу. Программа, написанная на Perl и представляющая собой ASCII-файл, будет исполняться на любой машине, где есть интерпретатор языка.
По механизму исполнения программ Perl похож на другие современные интерпретаторы. Исходный код сначала транслируется во внутреннее представление (одновременно происходит и контроль синтаксиса), а уже затем исполняется. Встроеннный в интерпретатор отладчик существенно облегчает процесс отладки программ.
Рассмотрим подробнее сильные с точки зрения программирования в Web свойства Perl. При этом будем опираться на последовательность действий, которая возникает при обработке запроса от клиента через сервер к скрипту и обратно от скрипта к клиенту.
1.5.3.3. Преимущества Perl
Теперь рассмотрим Perl с точки зрения администрирования самого сервера и анализа статистики посещений. Если посмотреть на библиотеки CGI-скриптов, которые доступны через сеть, то легко убедиться, что большинство скриптов заняты подсчетом числа посещений страниц данного Web-узла и анализом журналов посещений.
Средствами Perl можно организовать обращение к счетчику посещений для всех страниц узла Web. При этом данную возможность можно реализовать и через обычные CGI-скрипты, и через технологию FastCGI. Во втором случае задуманное нами приложение работает гораздо быстрее и пишется оно проще, т. к. не требует синхронизации при доступе к файлу подсчета посещений.
При анализе журналов во всех скриптах наиболее полно проявляются возможности хэш-таблиц и операций сравнения с образцом. Если количество обращений к вашему Web-серверу велико, а география пользователей охватывает едва ли не весь континент, то в этом случае есть прямой смысл выполнить отображение хэш-таблицы на некоторый специализированный пакет управления данными. Чаще всего таким пакетом является DB_File, разработанный в университете Бэркли.
Коротко поясню, о чем идет речь. Под хэш-таблицей в Perl понимают массив пар "ключ-значение". При этом значение можно найти, непосредственно указав значение ключа точно так же, как это было сделано для организации доступа к значениям переменных окружения. При стандартной работе с этими таблицами используются алгоритмы, встроенные в Perl-интерпретатор. Однако существует возможность использования и других пакетов, которые предоставляют более эффективные средства вычисления ключей или ранжирования данных. Один из таких пакетов - DB_File. В операционной системе FreeBSD он является стандартным и поставляется вместе с системой, в других ОС он, как правило, устанавливается отдельно.
В Perl существует функция tie, которая отображает все операции с хэш-таблицей на функции пакета. В результате программист, не переделывая программы, может существенно повысить эффективность ее исполнения. Заметим, что DB_File является не единственным пакетом, который можно применять таким образом.
Если мы будем обрабатывать файл статистики посещений, то заметим, что количество адресов, с которых к нашему Web-серверу обращаются пользователи, исчисляется 3-4-значными числами (для популярных узлов Web эта величина и того больше). В этом случае последовательный просмотр потока ввода при получении цифры для конкретного адреса неприемлем, а вот прямой доступ по ключу - в самый раз. Но при построении хэш-таблицы стандартным способом программа будет пожирать массу ресурсов и мешать работе сервера в целом (существенно увеличится переключение между страницами (paging), т. к. таблица строится в оперативной памяти). Вот для этого случая и можно использовать отображение на пакет (mapping) при помощи функции tie.
Вообще в Perl существует масса полезных с точки зрения сетевого программирования возможностей. На Perl можно писать и программы-серверы, и программы-клиенты. Соответствующая библиотека поставляется в комплекте стандартного интерпретатора Perl5.
Еще одним доказательством неординарных возможностей этого языка является пакет GlimpseHTTP, который является расширением брокера запросов (broker) Glimpse фирмы Harverst. В сущности, Glimpse - это поисковая машина, которая достаточно широко применяется для организации поиска на Web-узле по ключевым словам. По возможностям обработки больших массивов данных Glimpse уступает таким монстрам, как, скажем, Altavista, но по языковым средствам и способности работать с локальными массивами вполне может заменить коммерческую поисковую машину. WebGlimpse и GlimpseHTTP - это Perl-фильтры, которые принимают запросы от интерфейсной страницы Glimpse, разбирают их и передают на выполнение поисковой компоненте, а после завершения ее работы преобразуют результаты поиска из формы, обычной для программы grep, в HTML-документ с осмысленным набором полей.
В заключение, чтобы еще раз подчеркнуть, насколько популярен Perl в Web, напомню один маленький факт. У самого популярного сервера World Wide Web Apache, который, начиная с версии 1.3, может быть установлен на любую платформу (в том числе и на Windows NT), имеется модуль интерпретации Perl. Это означает, что Perl-программа будет исполняться самим сервером без порождения дополнительного процесса (потока).
Все рассмотренные факторы указывают на Perl, его мы и выбираем для разработки нашей системы.
1.5.4 Построение интерфейса между системой и пользователем. Анализ и выбор оптимального решения.
При построение данного проекта мы имеем дело между банком и самой системой, покупатель как бы отходит на второй план в этой связке. Как бы ни было, самое важное внимание нужно уделить покупателю, так как если ему будет неудобно пользоваться платежной системой, мы можем потерять как покупателя, так и, косвенным образом, компанию продавца.
Построение интерфейса нужно начать с выборы его типа. Здесь у нас доступны три основных вида:
- веб-интерфейс (через браузер покупателя)
- через ActiveX-приложение
- через специальную программу, устанавливаемую на стороне клиента
Каждый из этих аспектов имеют свои преимущества и недостатки.
Начнем снизу вверх, со специальной программы, устанавливаемой на стороне клиента, или клиент-серверного приложения. Данный путь имеет ряд преимуществ, такой, как повышенный контроль за данными, это значит, что мы сможем по максимуму защитить данные клиента, применив нестандартные системы криптографии. Также мы сможем сделать программу так, как это будет наиболее удобно клиенту.
Против данной идеи выступает то, что клиент сможет не захотеть ради одной покупки в интернете ставить программу, ее настраивать, а если у клиента установлено какое-то дополнительное программное обеспечение, например персональный файерволл, то такая настройка может затянуться на очень долгое время. Такой тип больше подходит для операций работы с банковским счетом клиента, где клиент должен один раз поставить программу, зато получает максимальную безопасность соединения между собой и банком.
Эту ситуацию спасает ActiveX-приложение, которое автоматически может загружаться компьютером покупателя при заходе на специальную страницу, настраиваться и обеспечивать повышенную надежность соединения. Данный тип программы мы уже сможем не так гибко настраивать, как хотелось бы покупателю, но зато все еще сможем красиво представить клиенту информацию и защитить его данные.
Против, опять, выступает то, что данное приложение клиенту все равно придется скачивать, пусть и автоматически, а это, например, если человек выходит в Интернет через медленное соединение, например, персональный модем, может отнять много времени, и, в отдельных случаях, побочно отнять у клиента его деньги, например за трафик.
Всех вышеперечисленных способов поможет избегать веб-интерфейс. Последнее время веб-дизайн дошел до таких высот, что клиент намного с большей охотой заплатит через такой интерфейс, чем установит какую-либо программу. Уже достаточно давно существует SSL-соединение (Secure Socket Layer), возможности которого предоставляют шифрование информации покупателя 128-битным ключом. Данный метод позволяет организовывать достаточно надежное соединение для небольших нужд, например, как в нашем проекте, передачу информации о кредитной карте в базу данных платежной системы.
Передачу информации о кредитной карте в банк платежная система будет осуществлять уже но своим каналом с повышенными системами защиты, о чем и будет описано в следующем пункте. Так или иначе, здесь мы остановились на веб-интерфейсе, как способе организации интерфейса между покупателем и платежной системой.
1.6 Методы криптографии и их рассмотрение.
В данном разделе мы рассмотрим алгоритм криптографии для передачи данных между сервером платежной системы и сервером банка. Мы сразу остановимся на системах с открытым ключом, это системы RSA, кpиптосистема Эль-Гамаля и кpиптосистемы на основе эллиптических уравнений. Коммерческое использование получила система на основе алгоритма RSA, поэтому мы и будем ее использовать в нашем соединении, но следует рассмотреть и остальные системы, чтобы иметь представление о возможностях современной криптографии.
Как бы ни были сложны и надежны кpиптогpафические системы - их слабое мест при практической реализации - проблема pаспpеделения ключей. Для того, чтобы был возможен обмен конфиденциальной информацией между двумя субъектами ИС, ключ должен быть сгенеpиpован одним из них, а затем каким-то образом опять же в конфиденциальном порядке передан другому. Т.е. в общем случае для передачи ключа опять же требуется использование какой-то кpиптосистемы.
Для решения этой проблемы на основе результатов, полученных классической и современной алгеброй, были предложены системы с открытым ключом.
Суть их состоит в том, что каждым адресатом ИС генеpиpуются два ключа, связанные между собой по определенному правилу. Один ключ объявляется открытым, а другой закрытым. Открытый ключ публикуется и доступен любому, кто желает послать сообщение адресату. Секретный ключ сохраняется в тайне.
Исходный текст шифpуется откpытым ключом адpесата и пеpедается ему. Зашифpованный текст в пpинципе не может быть pасшифpован тем же откpытым ключом. Дешифpование сообщение возможно только с использованием закpытого ключа, котоpый известен только самому адpесату.
Кpиптогpафические системы с откpытым ключом используют так называемые необpатимые или одностоpонние функции, котоpые обладают следующим свойством: пpи заданном значении x относительно пpосто вычислить значение f(x), однако если y=f(x), то нет пpостого пути для вычисления значения x.
Множество классов необpатимых функций и поpождает все pазнообpазие систем с откpытым ключом. Однако не всякая необpатимая функция годится для использования в pеальных ИС.
В самом опpеделении необpатимости пpисутствует неопpеделенность. Под необpатимостью понимается не теоpетическая необpатимость, а пpактическая невозможность вычислить обpатное значение используя совpеменные вычислительные сpедства за обозpимый интеpвал вpемени.
Поэтому чтобы гаpантиpовать надежную защиту инфоpмации, к системам с откpытым ключом (СОК) пpедъявляются два важных и очевидных тpебования:
1. Пpеобpазование исходного текста должно быть необpатимым и исключать его восстановление на основе откpытого ключа.
2. Опpеделение закpытого ключа на основе откpытого также должно быть невозможным на совpеменном технологическом уpовне. Пpи этом желательна точная нижняя оценка сложности (количества опеpаций) pаскpытия шифpа.
Алгоpитмы шифpования с откpытым ключом получили шиpокое pаспpостpанение в совpеменных инфоpмационных системах. Так, алгоpитм RSA стал миpовым стандаpтом де-факто для откpытых систем и pекомендован МККТТ.
Вообще же все пpедлагаемые сегодня кpиптосистемы с откpытым ключом опиpаются на один из следующих типов необpатимых пpеобpазований:
1. [Dhatch]азложение больших чисел ан пpостые множители.
2. Вычисление логаpифма в конечном поле.
3. Вычисление коpней алгебpаических уpавнений.
Здесь же следует отметить, что алгоpитмы кpиптосистемы с откpытым ключом (СОК) можно использовать в тpех назначениях.
1. Как самостоятельные сpедства защиты пеpедаваемых и хpанимых данных.
2. Как сpедства для pаспpеделения ключей. Алгоpитмы СОК более тpудоемки, чем тpадиционные кpиптосистемы. Поэтому часто на пpактике pационально с помощью СОК pаспpеделять ключи, объем котоpых как инфоpмации незначителен. А потом с помощью обычных алгоpитмов осуществлять обмен большими инфоpмационными потоками.
3. Сpедства аутентификации пользователей. Об этом будет pассказано в главе >.
Ниже pассматpиваются наиболее pаспpостpаненные системы с откpытым ключом.
1.6.1. Алгоpитм RSA
Несмотpя на довольно большое число pазличных СОК, наиболее популяpна - кpиптосистема RSA, pазpаботанная в 1977 году и получившая название в честь ее создателей: [Dhatch]она [Dhatch]ивеста, Ади Шамиpа и Леонаpда Эйдельмана.
Они воспользовались тем фактом, что нахождение больших пpостых чисел в вычислительном отношении осуществляется легко, но pазложение на множители пpоизведения двух таких чисел пpактически невыполнимо. Доказано (теоpема [Dhatch]абина), что pаскpытие шифpа RSA эквивалентно такому pазложению. Поэтому для любой длины ключа можно дать нижнюю оценку числа опеpаций для pаскpытия шифpа, а с учетом пpоизводительности совpеменных компьютеpов оценить и необходимое на это вpемя.
Возможность гаpантиpованно оценить защищенность алгоpитма RSA стала одной из пpичин популяpности этой СОК на фоне десятков дpугих схем. Поэтому алгоpитм RSA используется в банковских компьютеpных сетях, особенно для pаботы с удаленными клиентами (обслуживание кpедитных каpточек).
В настоящее вpемя алгоpитм RSA используется во многих стандаpтах, сpеди котоpых SSL, S-HHTP, S-MIME, S/WAN, STT и PCT.
[Dhatch]ассмотpим математические pезультаты, положенные в основу этого алгоpитма.
Теоpема 1. (Малая теоpема Феpма.)
Если p - пpостое число, то
xp-1 = 1 (mod p) (1)
для любого х, пpостого относительно p, и
xp = х (mod p) (2)
для любого х.
Доказательство. Достаточно доказать спpаведливость уpавнений (1) и (2) для хZp. Пpоведем доказательство методом индукции.
Очевидно, что уpавнение (8.2.2) выполняется пpи х=0 и 1. Далее
xp=(x-1+1)p= C(p,j)(x-1)j=(x-1)p+1 (mod p),
0jp
так как C(p,j)=0(mod p) пpи 0Опpеделение. Функцией Эйлеpа (n) называется число положительных целых, меньших n и пpостых относительно n.
n
2
3
4
5
6
7
8
9
10
11
12
(n)
1
2
2
3
2
6
4
6
4
10
4
Теоpема 2. Если n=pq, (p и q - отличные дpуг от дpуга пpостые числа), то
(n)=(p-1)(q-1).
Теоpема 3. Если n=pq, (p и q - отличные дpуг от дpуга пpостые числа) и х - пpостое относительно p и q, то
x(n) = 1 (mod n).
Следствие . Если n=pq, (p и q - отличные дpуг от дpуга пpостые числа) и е пpостое относительно (n), то отобpажение
Еe,n: xxe (mod n)
является взаимно однозначным на Zn.
Очевиден и тот факт, что если е - пpостое относительно (n), то существует целое d, такое, что
ed = 1 (mod (n)) (3)
На этих математических фактах и основан популяpный алгоpитм RSA.
Пусть n=pq, где p и q - pазличные пpостые числа. Если e и d удовлетвоpяют уpавнению (8.2.3), то отобpажения Еe,n и Еd,n являются инвеpсиями на Zn. Как Еe,n, так и Еd,n легко pассчитываются, когда известны e, d, p, q. Если известны e и n, но p и q неизвестны, то Еe,n пpедставляет собой одностоpоннюю функцию; нахождение Еd,n по заданному n pавносильно pазложению n. Если p и q - достаточно большие пpостые, то pазложение n пpактически не осуществимо. Это и заложено в основу системы шифpования RSA.
Пользователь i выбиpает паpу pазличных пpостых pi и qi и pассчитывает паpу целых (ei, di), котоpые являются пpостыми относительно (ni), где ni=pi qi . Спpавочная таблица содеpжит публичные ключи {(ei ,ni)}.
Пpедположим, что исходный текст
x =(x0, x1, ..., xn-1), xZn , 0 i сначала пpедставлен по основанию ni :
N = c0+ci ni+....
Пользователь i зашифpовывает текст пpи пеpедаче его пользователю j, пpименяя к n отобpажение Edi,ni :
N Edi,ni n = n'.
Пользователь j пpоизводит дешифpование n', пpименяя Eei,ni :
N' Eei,ni n'= Eei,ni Edi,ni n = n .
Очевидно, для того чтобы найти инвеpсию Edi,ni по отношению к Eei,ni, тpебуется знание множителей n=pi qi. Вpемя выполнения наилучших из известных алгоpитмов pазложения пpи n=10100 на сегодняшний день выходит за пpеделы совpеменных технологических возможностей.
[Dhatch]ассмотpим небольшой пpимеp, иллюстpиpующий пpименение алгоpитма RSA.
Пpимеp Зашифpуем сообщение "САВ". Для пpостоты будем использовать маленькие числа (на пpактике пpименяются гоpаздо большие).
1. Выбеpем p=3 и q=11.
2. Опpеделим n=3*11=33.
3. Найдем (p-1)(q-1)=20. Следовательно, в качестве d, взаимно пpостое с 20, напpимеp, d=3.
4. Выбеpем число е. В качестве такого числа может быть взято любое число, для котоpого удовлетвоpяется соотношение (е*3) (mod 20) = 1, напpимеp 7.
5. Пpедставим шифpуемое сообщение как последовательность целых чисел с помощью отобpажения: А1, В2, С3. Тогда сообщение пpинимает вид (3,1,2). Зашифpуем сообщение с помощью ключа {7,33}.
ШТ1 = (37) (mod 33) = 2187 (mod 33) = 9,
ШТ2 = (17) (mod 33) = 1 (mod 33) = 1,
ШТ3 = (27) (mod 33) = 128 (mod 33) = 29.
6. [Dhatch]асшифpуем полученное зашифpованное сообщение (9,1,29) на основе закpытого ключа {3,33}:
ИТ1 = (93) (mod 33) = 729 (mod 33) = 3,
ИТ2= (13) (mod 33) = 1 (mod 33) = 1,
ИТ3 = (293) (mod 33) = 24389 (mod 33) = 2.
Итак, в pеальных системах алгоpитм RSA pеализуется следующим обpазом: каждый пользователь выбиpает два больших пpостых числа, и в соответствии с описанным выше алгоpитмом выбиpает два пpостых числа e и d. Как pезультат умножения пеpвых двух чисел (p и q) устанавливается n.
{e,n} обpазует откpытый ключ, а {d,n} - закpытый (хотя можно взять и наобоpот).
Откpытый ключ публикуется и доступен каждому, кто желает послать владельцу ключа сообщение, котоpое зашифpовывается указанным алгоpитмом. После шифpования, сообщение невозможно pаскpыть с помощью откpытого ключа. Владелец же закpытого ключа без тpуда может pасшифpовать пpинятое сообщение.
1.6.2. Пpактическая pеализация RSA
В настоящее вpемя алгоpитм RSA активно pеализуется как в виде самостоятельных кpиптогpафических пpодуктов, так и в качестве встpоенных сpедств в популяpных пpиложениях.
Важная пpоблема пpактической pеализации - генеpация больших пpостых чисел. [Dhatch]ешение задачи > - генеpация случайного большого числа n (нечетного) и пpовеpка его делимости на множители от 3 вплоть до n0.5. В случае неуспеха следует взять n+2 и так далее.
В пpинципе в качестве p и q можно использовать > пpостые числа, то есть числа для котоpых веpоятность того, что они пpостые, стpемится к 1. Но в случае, если использовано составное число, а не пpостое, кpиптостойкость RSA падает. Имеются неплохие алгоpитмы, котоpые позволяют генеpиpовать > пpостые числа с уpовнем довеpия 2-100.
Дpугая пpоблема - ключи какой длины следует использовать?
Для пpактической pеализации алгоpитмов RSA полезно знать оценки тpудоемкости pазложения пpостых чисел pазличной длины, сделанные Шpоппелем.
log10 n
xисло опеpаций
Пpимечания
50
1.4*1010
[Dhatch]аскpываем на супеpкомпьютеpах
100
2.3*1015
На пpеделе совpеменных технологий
200
1.2*1023
За пpеделами совpеменных технологий
400
2.7*1034
Тpебует существенных изменений в технологии
800
1.3*1051
Не pаскpываем
В конце 1995 года удалось пpактически pеализовать pаскpытие шифpа RSA для 500-значного ключа. Для этого с помощью сети Интеpнет было задействовано 1600 компьютеpов.
Сами автоpы RSA pекомендуют использовать следующие pазмеpы модуля n:
* 768 бит - для частных лиц;
* 1024 бит - для коммеpческой инфоpмации;
* 2048 бит - для особо секpетной инфоpмации.
Тpетий немаловажный аспект pеализации RSA - вычислительный. Ведь пpиходится использовать аппаpат длинной аpифметики. Если используется ключ длиной k бит, то для опеpаций по откpытому ключу тpебуется О(k2) опеpаций, по закpытому ключу - О(k3) опеpаций, а для генеpации новых ключей тpебуется О(k4) опеpаций.
Кpиптогpафический пакет BSAFE 3.0 (RSA D.S.) на компьютеpе Pentium-90 осуществляет шифpование со скоpостью 21.6 Кбит/c для 512-битного ключа и со скоpостью 7.4 Кбит/c для 1024 битного. Самая > аппаpатная pеализация обеспечивает скоpости в 60 pаз больше.
По сpавнению с тем же алгоpитмом DES, RSA тpебует в тысячи и десятки тысяч pаз большее вpемя.
1.6.3. Кpиптосистема Эль-Гамаля
Данная система является альтеpнативой RSA и пpи pавном значении ключа обеспечивает ту же кpиптостойкость.
В отличие от RSA метод Эль-Гамаля основан на пpоблеме дискpетного логаpифма. Этим он похож на алгоpитм Диффи-Хелмана. Если возводить число в степень в конечном поле достаточно легко, то восстановить аpгумент по значению (то есть найти логаpифм) довольно тpудно.
Основу системы составляют паpаметpы p и g - числа, пеpвое из котоpых - пpостое, а втоpое - целое.
Александp генеpиpует секpетный ключ а и вычисляет откpытый ключ y = gа mod p. Если Боpис хочет послать Александpу сообщение m, то он выбиpает случайное число k, меньшее p и вычисляет
y1 = gk mod p и
y2 = m yk,
где означает побитовое сложение по модулю 2. Затем Боpис посылает (y1,y2) Александpу.
Александp, получив зашифpованное сообщение, восстанавливает его:
m = (y1a mod p) y2.
Алгоpитм цифpовой подписи DSA, pазpаботанный NIST (National Institute of Standard and Technology) и являющийся частью стандаpта DSS частично опиpается на pассмотpенный метод.
1.6.4. Кpиптосистемы на основе эллиптических уpавнений
Эллиптические кpивые - математический объект, котоpый может опpеделен над любым полем (конечным, действительным, pациональным или комплексным). В кpиптогpафии обычно используются конечные поля. Эллиптическая кpивая есть множество точек (x,y), удовлетвоpяющее следующему уpавнению:
y2 = x3 + ax + b,
а также бесконечно удаленная точка. Для точек на кpивой довольно легко вводится опеpация сложения, котоpая игpает ту же pоль, что и опеpация умножения в кpиптосистемах RSA и Эль-Гамаля.
В pеальных кpиптосистемах на базе эллиптических уpавнений используется уpавнение
y2 = x3 + ax + b mod p,
где p - пpостое.
Пpоблема дискpетного логаpифма на эллиптической кpивой состоит в следующем: дана точка G на эллиптической кpивой поpядка r (количество точек на кpивой) и дpугая точка Y на этой же кpивой. Нужно найти единственную точку x такую, что Y = xG, то есть Y есть х-я степень G.
Итак, рассмотрев три метода криптографии, мы пришли к выводу, что RSA-метод является одним из самых стойких и 1024-битное шифрование, применяемое нами для обмена данными между банком и платежной системой, как теоретически, так и практически нельзя взломать.
1.7 Разработка структуры платежной системы, основных алгоритмов.
Основные алгоритмы системы достаточно просты, основной сложностью написания полноценной платежной системы является необходимость разработки дополнительных функциональных возможностей. Фактически изначально система представляет собой блок-схему, показанную в Приложении. Разрабатывая нашу систему, ставилась задача построить механизм, который бы превосходил аналоги, и в тоже время, являлся весьма стабильной и полновесной системой.
1.7.1. Общая структура взаимодействия с клиентом
Алгоритм работы базовой версии системы достаточно прост - покупатель заходит на веб-сайт компании продавца, выбирает интересующий товар, и переходит на платежную систему. Платежная система, в свою очередь, имеет полный список товаров продавца с ценами и описанием в своей базе. После того, как клиент заполнит через веб-интерфейс (см. Приложение) системы данные о себе и о своей кредитной карте, эта информация передается в банк по защищенному каналу, где проверяется и проводится попытка снять денежные средства в пользу платежной системы с кредитной карты покупателя.
В случае успешной операции клиент получает соответствующее сообщение и имеет возможность перейти в оплаченную часть на сайте продавца (для виртуальных покупок) или ждет сообщения продавца о доставке товара непосредственно покупателю (для физических покупок).
Данная схема работы алгоритма схематично приведена на следующем рисунке:
Рисунок 6. Схема процессинга клиента
1.7.2. Разработка алгоритма функции процессинга клиентов
Основное требование к данному модулю - он должен обеспечивать максимальную защищенность, поэтому при подготовке к разработке модуля я рассмотрел системы криптования с целью ознакомления с технологиями и выбора наилучшей.
Так как система по желанию заказчика должна была быть написана и оттестирована под существующий банковский шлюз, решение о выборе алгоритма криптования совпало с уже разработанной банковской системой, это оказался алгоритм RSA, 1024-битное шифрование.
После анализа всех систем и по собственному опыту, я пришел к выводу, что в скором времени, возможно, заказчику потребуется адаптировать данный модуль для подключения к другим банковским шлюзам. Тем более, что заказчик настоял на написании дополнительный модулей для подключению к 5 известным банковским терминалам.
Основными направлениями работы модуля должны были стать следующие функции:
- функция непосредственного процессинга клиента, схема данного алгоритма нарисована выше
- функция ребиллинга, или повторного снятия денег, клиента. Данная функция предназначена для продажи подписки на какие-либо ресурсы с автоматической пролонгацией срока действия, и также автоматическим доснятием денег за следующий период срока действия.
Схематично данная функция представляет собой:
Рисунок 7. Схема ребиллинга.
Как видно выше, схема представляет собой бесконечный цикл. Он может прерваться при проверке статуса клиента или при попытке снятия средств с клиента. Если покупатель хочет остановить дополнительное периодичное снятие средств, он может отключить данную функцию в своем аккаунте. При этом статус ребиллинга клиента переводится в положение «Выключен». Также данный статус может появится после серии ошибок, связанных со снятием средств. Данное правило определяется администратором и является достаточно сложным в настройке.
- функция синхронизации баз данных платежной системы и банковской системы. Данная функция необходима для обратной связи банка с системой. Две основных причины для этого - возникновение в базе данных банка статусов клиента - «рефанд» и «чарджбэк».
Рефанд - в основном происходит по просьбе персонала платежной системы. Если клиент не получил должных услуг или по каким-либо еще причинам требуется возврат денег клиенту, платежная система совершает через банковский шлюз тип транзакции «Рефанд». При этом банковская система начинает процесс возврата денег клиенту. Также данный статус может возникнуть в ходе разбирательств в банке, если клиент обращается не в платежную систему, а непосредственно в свой банк.
Чарджбэк - опасный для платежной системы статус клиента. Данный статус получается в случае, если клиент пишет в свой банк заявление о несовершении покупки, например, если у клиента украли кредитную карту и совершили платежи за него. В случае, если в системе получается очень большой процент (в основном более 1-3%) таких статусов, это является поводом для рассмотрения дальнейшего функционирования системы. Основным подозрением в таком случае является, что заинтересованные лица с помощью платежной системы пытаются получить средства с украденных кредиток в промышленных масштабах. Наиболее понятно действие клиента для осуществления чарджбэка представлено на следующем рисунке:
Рисунок 8. Алгоритм чарджбэка.
1.7.3. Требования к разработке остальных функция системы
Техническое задание на разработку платежной системы подразумевает собой разработку достаточно функциональной системы, поэтому разработкой системы занялся целый отдел нашей компании. Ниже я приведу описание требований другим функциям платежной системы.
Рисунок 9. Схема функциональности системы.
Модуль процессинга клиентов является темой дипломного проекта и рассматривается во многих местах данной пояснительной записки, поэтому затрагивать данную функцию в этом разделе мы не будем.
Хочу заметить, что после написания технического задания было решено доделать функцию партнерской программы. Данная функция является больше рекламных ходом платежной системы и предназначена привлекать многочисленных реселлеров товаров.
Итак, рассмотрим семь дополнительных функций и требования к их разработке.
Управление клиентами. Требования к модулю таковы:
- модульность системы
- гибкий и легкий интерфейс
- предоставление максимального возможного количества выкладок, таблиц статистики, мониторинга при режимах управления клиентами.
- предоставление максимальных возможностей при редактировании, создании и удалении клиентов
Как видно из требования предоставлению таблиц статистики и мониторинга будет необходимо связать функции из соответствующих модулей. Этим мы добьемся гибкости системы и очень значительной модульности.
Партнерская программа. Так как четко описанного технического задания на данную функцию не было, поэтому требования свелись к тому, чтобы данная система предоставляла следующие средства:
- дополнительный модуль управления партнерами.
- дополнительный модуль статистики и мониторинга транзакций
Следовательно партнерская программа является небольшим аналогом самой платежной системы, а именно вводит третий вид клиентов системы - реселлеров. Основная функция при написании данного модуля ложится на организацию процесса распределения денежных средств между аккаунтами реселлера и компании-продавца товара.
Все остальные функции частично или полностью могут быть заимствованы из других модулей системы.
Управление товарами. Организация управления товарами сходна модулю управления клиентами, за исключением иных функций по организации статистики и мониторинга. Частично или полностью могут быть заимствованы некоторые функции из модулей управления клиентами, системы статистики и мониторинга событий.
Система защиты доступа к товару. Данный модуль является основным звеном предотвращения несанкционированного доступа клиента к неоплаченному товару. Так как данный этап очень важен для безопасности как системы так и компаний, решено было уделить повышенное внимание данной функции. Основной алгоритм был придуман с нуля, так как аналогичный системы друг компаний предлагают некоторые неточности в обработке.
Основным положением стало требование обеспечить авторизацию не на сайте компании, а на сайте платежной системы. Первым делом это помогает компании продавцу снизить расходы по защите к минимуму. Также персонал платежной системы теперь будет иметь возможность отслеживать все попытки клиента авторизоваться в системе.
Здесь можно привести такой пример: клиент покупает доступ к закрытой информации и раздает параметры доступа всем своим знакомым и друзьям, или, еще хуже, перепродает от своего имени. При этом служба безопасности платежной системы будет видеть повышенное количество обращений к функциям авторизации и сможет закрыть доступ по данному аккаунту до выяснения обстоятельств.
При наличии авторизации на сайте компании такое действие было бы невозможно отследить.
Мониторинг событий. Мониторинг событий показывает администратору системы, компании продавцу или покупателю все случившиеся и предстоящие события в системе.
Сюда входят следующие функции мониторинга:
- ребиллинг
- отслеживание организации доступа для покупателя
- организация документооборота системы
- периодическое перераспределение средств системы и выплаты продавцам
- другие небольшие функции
Данный модуль должен обеспечиваться работой специальных служб на сервере платежной системы. Все функции должны обеспечивать самодиагностику своей работы, должны иметь раздельный интерфейс и модульность.
Статистика. Данный модуль является стандартом всех систем и особо в описании не нуждается. Единственное, что хочется заметить, он должен иметь все возможные выкладки и иметь очень удобный и привлекательный интерфейс. На основе системы статистики будут строится системы развития бизнеса, аналитические графики и таблицы. В компании, владельце платежной системы, планируется организовать аналитический отдел, поэтому необходимо организовать максимальные возможности в данной сфере.
Мониторинг подозрительных транзакций. Система внутренней безопасности написала ряд требований и правил, которые максимальным образом помогут системе распознать подозрительные транзакции и не дать их провести. При неопределенном решении система должна оповестить соответствующий отдел компании с целью разбирательства по поводу каждой отдельной транзакции с возможностью ее отката (рефанда).
Данный модуль имеет непосредственное отношение к модулю процессинга клиента непосредственно в момент совершение первой транзакции. Функции ребиллинга и синхронизации баз данных платежной системы и банка сюда не относятся.
Несмотря на то, что сфера действия данного модуля невелика, большое внимание уделяется построение эвристических методов анализа проводимой транзакции.
1.8 Расчет и анализ временных характеристик, производительности системы, точности и надежности.
Тенденция роста сложности программного обеспечения остается устойчивой в связи с массовым применением средств вычислительной техники в различных областях науки и техники. Чрезмерная сложность вновь создаваемых программных комплексов (ПК), высокая стоимость программ и сравнительно низкий уровень качества их производства не позволяют исключить возможность возникновения ошибок, приводящих к нарушению работоспособности вычислительных средств (ВС) и снижению их производительности.
Используя термин "надежность ПО" , аналогично термину "надежность аппаратуры", необходимо помнить, что "отказы ПО" как результат проявления ошибок имеют совершенно другую физическую природу, чем отказы техники. Однако это не является причиной невозможности использования некоторых терминов и показателей надежности техники при исследовании качества ПО. В частности, это оправдывается и необходимостью решения задачи распределения ресурсов или затрат между самими ВС и их ПО при достижении заданного значения показателя надежности. Одним из важнейших общих показателей надежности, представляющих интерес для практики, является вероятность безошибочного функционирования ПО.
Проверка правильности функционирования разработанного ПО (корректности, устойчивости) и удовлетворение его требованиям спецификаций осуществляются на этапе отладки или тестирования. Как правило, основным фактором отладки является затраченное на нее время. Поэтому в ряде моделей оценивания надежности программ наряду с необходимым временем их функционирования при решении конкретных задач рассматривается и второй временной фактор-время отладки этих программ до использования по назначению.
Для удобства анализа показателей надежности сложных ПК целесообразно представить их в виде совокупности менее сложных составляющих, обычно называемых программными модулями (ПМ). Программный модуль, в свою очередь, может быть разделен на более мелкие части и т.д. Таким образом, ПМ является аналогом элемента расчета теории надежности. Обычно он представляет собой логически самостоятельную программу и вводится, исходя из соображений исследователя.
При исследовании надежности функционирования ПК обычно необходимо решать две задачи. Первая - по заданной структуре ПК , состоящего из некоторой совокупности ПМ, имеющих показатели надежности, найти показатель надежности ПК. Эту задачу традиционно назовем прямой.
Наряду с первой может решаться вторая задача-достижение максимального (минимального) значения показателя надежности при ограничениях на ресурсы, в качестве которых выступают время, стоимость и др. Или может решаться задача минимизации величины ограничения при достижении требуемого (заданного) значения показателя надежности. Любую из этих задач будем называть обратной.
Постановка задачи. Дан ПК, состоящий из М отдельных модулей, соединенных между собой. По структуре ПК строится стохастический граф, содержащий М+2 вершин. Вершина 0 означает исток, а вершина М+1 -сток графа. Каждый ПМ вызывается на решение с заданной вероятностью, исходя из цели функционирования или значений исходных данных.
Прямая задача заключается в нахождении вероятности безошибочного решения задачи ПК, если известны вероятности безошибочных решений задач всех ПМ. Обратная задача заключается в нахождении максимума вероятности безошибочного решения задачи ПК при ограничении на общее время отладки всех ПМ, а также в определении минимального времени отладки всего ПК при заданной вероятности его безошибочного функционирования.
Прямая задача. Для определения вероятности безошибочного решения задачи ПК воспользуемся методом расчета вероятностно-временных характеристик пребывания заявки в сети массового обслуживания (МО). Однако непосредственно в том виде, как описано в указанной статье, метод не приемлем, так как в сети МО времена пребывания заявок в модулях суммируются. В нашей же задаче должен выполняться принцип слабого звена, свойственный основному соединению элементов в теории надежности. Поэтому неправильно применять преобразования Лапласа плотностей распределений времени до ошибок в модулях. Необходимо вместо них поставить вероятности правильной работы соответствующих модулей, производящих вычисления на заданных временных интервалах. При этом мы предполагаем, что модули статистически независимы.
Рассмотрим матрицу элементами которой являются произведения где -вероятность перехода от -го ПМ к -му, а -вероятность безошибочного функционирования
-го ПМ в течение времени Так как 0-ая и М+1-ая вершины фиктивные, то предполагаем, что время нахождения в них равно нулю, а вероятности безошибочной работы - единице.
Введем понятие шага, подразумевая под ним единичный переход от одного ПМ к другому. Чтобы найти вероятности безошибочной работы за два шага, нужно просуммировать с соответствующими вероятностями произведения вероятностей по всем путям, содержащим две вершины (одна из них нулевая). Это достигается возведением матрицы в квадрат. При возведении в куб получаем вероятности безошибочного функционирования за три шага и т.д.
Построим матрицу
(1)
где - единичная матрица.
Элемент матрицы с номером (0,M+1) представляет собой выражение для вероятности безошибочной работы всего ПК с учетом всех возможных последовательностей вызовов отдельных ПМ.
В соответствии с правилами вычисления значений элементов обратной матрицы, выражение для вероятности безошибочной работы ПК можно представить в виде
(2)
где -алгебраическое дополнение элемента с номером (М+1,0) матрицы главный определитель матрицы
Выполнив указанные преобразования, получим искомое выражение для вероятности безошибочного функционирования ПК с учетом задействования всех возможных маршрутов вычислений.
Обратная задача. Определим минимальное время отладки ПК при заданной вероятности его безошибочного функционирования Процесс отладки -го ПМ обычно определяется временем его отладки В известных аналитических и эмпирических моделях оценивания надежности ПМ параметр как и параметр -заданное время работы -го модуля, входят в соответствующее выражение для показателя надежности ПМ. При этом предполагается, что оценки искомых показателей являются детерминированными известными выражениями, определяемыми по результатам испытаний. Подобных моделей множество, рассмотреть их все здесь невозможно. В качестве примера, не нарушая общности подхода, приведем лишь одну из самых ранних моделей - модель Мусы.
Вероятность безошибочной работы -го ПМ, согласно данной модели, можно выразить следующей формулой:
(3)
где -интенсивность проявления ошибки; -интенсивность отладки; и -время вычислений и отладки модуля.
Обычно -начальное среднее время безошибочной работы модуля; - коэффициент сжатия времени отладки (тестирования) по сравнению с временем вычислений, -первоначальное (предполагаемое) число ошибок в модуле.
Найдем минимальное время отладки ПК при котором предполагая, что для ПМ справедливо (3). Решение получим на основе метода неопределенных множителей Лагранжа. Запишем функцию Лагранжа
(4)
где -множитель Лагранжа.
Тогда, дифференцируя (4) по аргументам и и приравнивая полученные выражения к нулю, получим систему уравнений:
(5)
Решив (5) относительно получим
Определим максимальное значение вероятности безошибочного функционирования ПК при заданном времени его отладки. Будем искать максимум функции при заданном времени отладки. Функция Лагранжа в данном случае имеет вид:
(6)
Дифференцируя (6) по и и приравнивая к нулю, получим систему уравнений:
(7)
Решая (7), находим искомые значения а подставляя их в выражение для найдем максимальное значение вероятности безошибочного функционирования ПК.
Пример. 1. Найдем значение вероятности безошибочного функционирования ПК, стохастический граф которого показан на рисунке.
Известны: описывается формулой (3). В данном случае M=3.
Матрицы и имеют вид:
,
.
Элемент матрицы с номером (0,4) согласно (2) где алгебраическое дополнение элемента (4,0) матрицы Раскрывая данные определители, получим:
(8)
В (7) аргументы и для краткости опущены. Подставляя исходные данные в (8), положив будем иметь
2. Пусть задано значение вероятности для ПК Требуется найти времена отладок каждого модуля и суммарное минимальное время отладки ПК. Поступая, как описано в п. "Обратная задача", находим
3. Пусть задано время отладки ПК Требуется найти времена отладок каждого модуля и максимальное значение вероятности его безошибочного функционирования при тех же данных п.1 "Пример". Получим:
Приведенный числовой пример иллюстрирует возможность использованиярассмотренного метода в решении прикладных задач, связанных с анализом надежности программных комплексов и обеспечением требуемых значений показателей их надежности при отладке.
Заключение. Предложенный метод позволяет производить оценку надежности сложных программных комплексов при известных показателях надежности составляющих модулей и их вероятностной взаимосвязи в стохастическом графе.
Разработчики программ и лица, выполняющие отладку вновь создаваемых программных комплексов, могут получать временные оценки для выбора оптимальных величин времени отладки программных модулей и комплексов программ в целом. При решении задач обеспечения заданной надежности программного комплекса нетрудно учесть с помощью коэффициентов квалификацию разработчиков программ конкретных программных модулей.
В методе могут использоваться любые модели "роста надежности", получаемые теоретически или на основе экспериментальных данных.
Единственное, чем должно дополнить расчет, это тот фактор, что базовая функция платежной системы по скорости работы в целом зависит от характеристик банковской системы и межбанковских сетей. На практике это выглядит так, что наша система простаивает достаточное время после передачи данных в банк, но до ответа банковской системы. Это связано с тем, что скорость связи между банком-эквайером нашей системы и банком клиента достаточно медленная. Именно в эти факторы упирается значение быстродействия системы, намного превосходя по времени выполнения все остальные факторы.
2 Технологическая часть
2.1 Технологии программирования
В технологической части пояснительной записки к дипломному проекту мы рассмотрим непосредственно технологии программирования, а именно, объектно-ориентированное программирование, так как это единственный метод построения гибкой и стабильной системы в нашем случае.
2.1.1. Основные понятия объектно-ориентированного проектирования
Метод объектно-ориентированного проектирования основывается на:
- модели построения системы как совокупности объектов абстрактного типа данных;
- модульной структуре программ;
- нисходящем проектировании, используемом при выделении объектов.
Объектно-ориентированный подход использует следующие базовые понятия:
- объект;
- свойство объекта;
- метод обработки;
- событие;
- класс объектов.
Объект - совокупность свойств (параметров) определенных сущностей и методов их обработки (программных средств).
Объект содержит инструкции (программный код), определяющие действия, которые может выполнять объект, и обрабатываемые данные.
Свойство - характеристика объекта, его параметр. Все объекты наделены определенными свойствами, которые в совокупности выделяют объект из множества других объектов.
Объект обладает качественной определенностью, что позволяет выделить его из множества других объектов и обусловливает независимость создания и обработки от других объектов.
Например, объект можно представить перечислением присущих ему свойств:
ОБЪЕКТ_А (свойство-1, свойство-2,...., свойство-k).
Свойства объектов различных классов могут "пересекаться", т.е. возможны объекты обладающие одинаковыми свойствами:
ОБЪЕКТО_В (...свойство-n, свойство-m,...свойство-r,...) ОБЪЕКТ_С (...свойство-n,.., свойство-r,...).
Одним из свойств объекта являются метод его обработки.
Метод - программа действий над объектом или его свойствами.
Метод рассматривается как программный код, связанный с определенным объектом; осуществляет преобразование свойств, изменяет поведение объекта.
Объект может обладать набором заранее определенных встроенных методов обработки, либо созданных пользователем или заимствованных в стандартных библиотеках, которые выполняются при наступлении заранее определенных событий, например, однократное нажатие левой кнопки мыши, вход в поле ввода, выход из поля ввода, нажатие определенной клавиши и т.п.
По мере развития систем обработки данных создаются стандартные библиотеки методов, в состав которых включаются типизированные методы обработки объектов определенного класса (аналог - стандартные подпрограммы обработки данных при структурном подходе), которые можно заимствовать для различных объектов.
Событие - изменение состояния объекта.
Внешние события генерируются пользователем (например, клавиатурный ввод или нажатие кнопки мыши, выбор пункта меню, запуск макроса); внутренние события генерируются системой.
Объекты могут объединяться в классы ( группы или наборы - в различных программных системах возможна другая терминология).
Класс - совокупность объектов, характеризующихся общностью применяемых методов обработки или свойств.
Один объект может выступать объединением вложенных в него по иерархии других объектов.
Схематично связь основных понятий объектно-ориентированного программирования представим следующим образом.
Рисунок 10. Соотношение основных понятий объектно-ориентированного подхода
В объектно-ориентированном программировании используется следующий формат записи работы с объектами:
ОБЪЕКТ.МЕТОД ОБЪЕКТ.СВОЙСТВО.МЕТОД
Программный продукт, созданный с помощью инструментальных средств объектно-ориентированного программирования, содержит объекты с их характерными свойствами, для которых разработан графический интерфейс пользователя. Как правило, работа с программным продуктом осуществляется с помощью экранной формы, с объектами управления, которые содержат методы обработки, вызываемые при наступлении определенных событий. Экранные формы также используются для выполнения заданий и перехода от одного компонента программного продукта к другому. Каждый объект управления обладает определенными свойствами, значения которых могут изменяться. Для объектов управления уточняется перечень событий и создаются пользовательские методы обработки - программный код на языке программирования в виде событийных процедур.
2.1.2. Методика объектно-ориентированного проектирования
Существуют различные объектно-ориентированные технологии и методики проектирования программных продуктов, которые должны обеспечить выполнение важнейших принципов объектного подхода:
- инкапсуляция (замыкание) свойств данных и программ в объекте;
- наследование;
- полиморфизм.
Инкапсуляция означает сочетание структур данных с методами их обработки в абстрактных типах данных - классах объектов.
Класс может иметь образованные от него подклассы. При построении подклассов осуществляется наследование данных и методов обработки объектов исходного класса. Механизм наследования позволяет переопределить или добавить новые данные и методы их обработки, создать иерархию классов.
Полиморфизм - способность объекта реагировать на запрос (вызов метода) сообразно своему типу, при этом одно и то же имя метода может использоваться для различных классов объектов.
Для различных методик объектно-ориентированного проектирования характерны следующие черты:
- объект описывается как модель некоторой сущности реального мира;
- объекты, для которых определены места хранения, рассматриваются во взаимосвязи, и применительно к ним создаются программные модули системы.
В процессе объектно-ориентированного анализа :
- осуществляется идентификация объектов и их свойств;
- устанавливается перечень операций (методов обработки), выполняемых над каждым объектом, в зависимости от его состояния (событий);
- определяются связи между объектами для образования классов;
- устанавливаются требования к интерфейсу с объектами.
Выделено четыре этапа объектно-ориентированного проектирования:
- разработка диаграммы аппаратных средств системы обработки данных, показывающей процессоры, внешние устройства, вычислительные сети и их соединения;
- разработка структуры классов, описывающей связь между классами и объектами;
- разработка диаграмм объектов, показывающих взаимосвязи с другими объектами;
- разработка внутренней структуры программного продукта.
2.2 Функциональные характеристики программ
Рассмотрим основные функциональные характеристики программ. Несмотря на то, что данный дипломный проект рассматривает одну систему процессинга клиента, затронем здесь остальные функции для более ясного представления работы программы.
2.2.1 Система процессинга клиентов
Как было описано в специальной части, система процессинга клиента служит для снятия денег с карточки и при успешном выполнении своей функции передачи управления системе безопасности для обеспечения покупателю доступа к ресурсу.
Помимо своей основной функции данный модуль также служит для функции дополнительного снятия денег в случае, если покупатель выбрал периодическую услугу и хочет, чтобы доступ автоматически пролонгировался. В этом случае данная функция вызывается из модуля управления клиентами по окончании срока действия доступа к оплаченному товару.
Чтобы не нагружать другие модули, такие как систему управления клиентами и систему автоматического мониторинга клиентов, данный модуль также служит для синхронизации базы данных платежной системы и базы данных банка для обеспечения более свежей информации по возвратам денежных средств и статуса покупателя.
2.2.2 Автоматическая система мониторинга клиентов
Автоматическая система мониторинга клиентов вызывается при любых операциях, связанных с проверкой статуса клиента, начиная работать до оплаты покупателем товара, смотря, позволяет ли установленный в платежной системе набор правил совершить данную транзакцию, или стоит ее отменить (такое случается, например, когда клиент возвращает деньги в первый раз, каждый следующий система не дает ему платить, чтобы больше не повторялось случаев так называемых чарджбэков и рефандов). Также данная система может срабатывать при попытке авторизации в системе для доступа к оплаченному товару, также в других случаях, предусмотренных отделом внутренней безопасности системы.
2.2.3 Система управления клиентами
Данная система служит для управления покупателями и продавцами для совершения над ними всевозможных действий со стороны администратора. Данная система разделяется на две категории:
- управление покупателями. Покупателями может управлять как администратор системы (полностью), так и продавец, например, для изменения статуса доставки товара покупателю или в других случаях (ограничено администратором системы).
- управление компаниями продавцами. Может управлять только администратор системы, или продавец изменять информацию о себе. Администратор системы имеет полный контроль над информацией продавца.
2.2.4 Система управления товарами
Система управления товарами предоставляет администратору или продавцу управление товарами продавца, как то добавление/удаление/изменение, а также другие функции, предусмотренные системой.
2.2.5 Система безопасности
Система безопасности служит прежде всего для организации разграничения доступа к оплаченному товару покупателями. Данный модуль не относится к системе безопасности самой платежной системы, который входит в систему автоматического мониторинга клиентов. Прежде всего эта функция позволяет компании продавцу переложить работу по обработке товара на платежную систему.
2.2.6 Описание системы статистики
Система статистики делится на три части
- статистика для покупателя
- статистика для компании продавца
- статистика для администратора
Статистика покупателя сводится к предоставлению информации об аккаунте покупателя, оплаченных товаров. Данная функция также входит в статистику компании продавца. Помимо этого статистика продавца имеет широкий спектр отчетов и документов об обороте в платежной системе.
Статистика администратора является самой широкой по возможностям и включает в себя две предыдущих функции статистики покупателя и продавца, а также позволяет составлять документы по обороту всех покупателей, продавцов и внутренних функциях системы.
2.2.7 Описание системы мониторинга
Система мониторинга позволяет предсказывать те или иные события системы, обороты, заранее автоматически подготавливать документы, начислять денежные средства на счета компаний продавцов и другие функции. Основное отличие от системы статистики в том, что система мониторинга работает независимо от активности покупателей или продавцов.
2.3 Технология отладки программы
2.3.1. Метод нисходящего проектирования
Одним из самых дорогостоящих этапов программирования является отладка. С одной стороны, потому что на ее освоение традиционно отводится мало времени (и, как следствие, по технологии отладки написано не так много литературы, как по кодированию вообще), с другой - так как временные затраты на отладку часто недооценивают и считают, что программа "почти готова", когда успешно происходит трансляция.
Следствием этой ситуации является слабость владения участниками отладочными инструментами, существенные потери времени на "почти готовую" программу и неработающая программа в момент окончания тура. Этот и несколько следующих пунктов содержат некоторые советы, помогающие сократить время на отладку. Секрет в сокращении этого времени часто кроется в самой технологии программирования.
Метод нисходящего проектирования призван сократить временные затраты на написание алгоритма и последующую отладку программы. Суть его, вкратце, заключается в следующем. Изначально в задаче выделяются некоторые "главные" подзадачи, формирующие алгоритм в целом, но не обязательно "опускающиеся" до деталей этого алгоритма. Рассмотрим в качестве примера поиск в ширину в графе. Его обычно разбивают на три подзадачи: инициализация очереди вершин, совершение очередного шага (с анализом, не пора ли закончить работу) и построение кратчайшего пути.
После этого каждая подзадача решается тем же методом. Инициализация разбивается на создание пустой очереди и помещение в эту очередь стартовой вершины (иногда номер стартовой вершины приходится дополнительно вычислять), совершение очередного шага - на извлечение очередной вершины, ее обработку и занесение в очередь (более или менее эффективным образом) соседей вершины, а также проверку на достижение цели. Наконец, построение кратчайшего пути состоит в "обратном" проходе по самому графу. При необходимости эти шаги конкретизируются далее, и так до тех пор, пока сформулированная подзадача не окажется доступной для простой и ясной записи на языке программирования.
Основная идея метода нисходящего проектирования - не пытаться программировать сразу. Пошаговая детализация (программирование "сверху вниз") автоматически заставляет человека формировать понятную ему же структуру программы. После завершение трансляции (также автоматически) формируется первичный набор тестов; каждый тест отлаживает конкретную подзадачу. Аккуратное проектирование обычно приводит к тому, что программист хорошо представляет себе работу каждой конкретной подзадачи, ее входные и выходные данные, и потому в состоянии протестировать именно ее. По окончании тестирования конкретной подзадачи, можно тестировать другие подзадачи независимо(!).Эта независимость дает также возможность тестировать подзадачи по ходу реализации программы, генерируя после трансляции уже первично отлаженный код.
Наконец, упрощается и последующая отладка - при получении неверного результата программа может быть протрассирована, и проверка результата на очередном шаге сведется к пониманию, верно или неверно отработала очередная подзадача. Возможность независимой отладки подзадач сказывается и здесь, сужая область внесения возможных изменений трассируемыми подзадачами.
Помимо перечисленного метод уменьшает нагрузку на мозг, ибо человеку не приходится решать проблему "что делать" У программиста автоматически формируется задание в каждый момент времени. Метод хорош также тем, что допускает множество конкретных воплощений и сочетается с разнообразными усовершенствованиями.
2.3.2. Блочная отладка
Прием блочной отладки заключается в рассмотрении каждого блока как отдельной подзадачи в момент написания программы. Как правило, программисты любят создавать небольшие по объему блоки, что способствует упрощению их отладки.
Такой прием весьма дисциплинирует программиста. Чем дольше прием применяется, тем больше блоков программист способен отлаживать непосредственно при их создании. С блоков он переходит на логически связные куски программы, на подпрограммы, вспомогательные алгоритмы и т.п. Будучи уверен в "кирпичиках", из которых состоит программа, человек в дальнейшем тестирует уже "здание" в целом, не отвлекаясь на мелочи. Прием особенно эффективен в сочетании с нисходящим проектированием.
Сложность отладки пропорциональна квадрату размера блока.
2.3.3. Граничные тесты
Многие программы отлично работают на "средних" примерах, но (увы) дают неверный результат когда один или несколько параметров задачи принимают крайние значения. К сожалению, часто не представляется возможным отследить все комбинации крайних значений всех переменных - это число бывает слишком велико. Чтобы как-то выйти из этого положения, действуют следующим образом.
На стадии разработки программы (проектирования и написания алгоритма, а не кода) выписываются параметры задачи и их границы. Для многих задач окажется, что число этих параметров не столь велико (не превосходит 10). Тогда в процессе тестирования можно запустить тесты, содержащие все граничные значения всех параметров. Кроме того, по смыслу задачи часто ясно, какой набор из 10-15 тестов достаточно прогнать, чтобы убедиться в правильности обработки граничных значений.
4 Раздел по охране труда и технике безопасности
4.1 Охрана труда
Охрана труда - это система законодательных актов, социально-экономических, организационных, технических, гигиенических и лечебно-профилактических мероприятий и средств, обеспечивающих безопасность, сохранение здоровья и работоспособности человека в процессе труда.
4.1.1. Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их воздействия на пользователей.
Перед непосредственным изучением опасных и вредных факторов приведем определения, необходимые для дальнейшей работы.
Опасным производственным фактором называется такой производственный фактор, воздействие которого на работающего в определенных условиях приводит к травме или к другому внезапному, резкому ухудшению здоровья.
Вредным производственным фактором называется такой производственный фактор, воздействие которого на работающего в определенных условиях приводит к заболеванию или снижению трудоспособности.
Примерами опасных факторов могут служить открытые токоведущие части оборудования, движущиеся детали машин и механизмов, раскаленные тела, возможность падения с высоты самого работающего либо деталей и предметов, наличие емкостей со сжатыми или вредными веществами и т. п. Примерами вредных факторов являются вредные примеси в воздухе, неблагоприятные метеорологические условия, лучистая теплота, недостаточное освещение, вибрации, шум, ультра- и инфразвук, ионизирующие и лазерные излучения, электромагнитные поля, повышенные напряженность и тяжесть труда, наличие вредных микроорганизмов или насекомых и т. д.
Полностью безопасных и безвредных производств не существует. Задача охраны труда - свести к минимальной вероятность поражения или заболевания работающего с одновременным обеспечением комфорта при максимальной производительности труда. Реальные производственные условия характеризуются, как правило, наличием некоторых опасных и вредных производственных факторов.
При разработке программного обеспечения, производитель, также как и на всех остальных видах производства, подвергается множеству опасных и вредных факторов. Во время разработки программист использует вычислительную технику (системный блок, монитор, принтер и т.д.) которые и являются источниками исследуемых факторов.
Рассмотрим эти факторы последовательно, по мере их выявления.
1. Одним из самых опасных и очевидных факторов, которому может подвергаться разработчик программного обеспечения - это возможность поражения электрическим током. Напряжение, от которого питаются основные элементы вычислительной техники, используемые программистом, имеет номинал 220В при частоте 50Гц. При этом безопасным считается напряжение номиналом не выше 40В, что более чем в 5 раз ниже уровня, с которым приходится иметь дело. Рассмотрим возможные воздействия электрического тока на организм человека.
Проходя через организм, электрический ток оказывает термическое, электролитическое и биологическое действия.
Термическое действие выражается в ожогах отдельных участков тела, нагреве кровеносных сосудов, нервов и других тканей. Электролитическое действие выражается в разложении крови и других органических жидкостей, что вызывает значительные нарушения их физико-химических составов.
Биологическое действие является особым специфическим процессом, свойственным лишь живой материи. Оно выражается в раздражении и возбуждении живых тканей организма (что сопровождается непроизвольными судорожными сокращениями мышц), а также в нарушении внутренних биоэлектрических процессов, протекающих в нормально действующем организме и теснейшим образом связанных с его жизненными функциями. В результате могут возникнуть различные нарушения в организме, в том числе нарушение и даже полное прекращение деятельности органов дыхания и кровообращения. Раздражающее действие тока на ткани организма может быть прямым, когда ток проходит непосредственно по этим тканям, и рефлекторным, t. e. через центральную нервную систему, когда путь тока лежит вне этих тканей.
Это многообразие действий электрического тока нередко приводит к различным электротравмам, которые условно можно свести к двум видам: местным электротравмам и общим электротравмам (электрическим ударам).
Местные электротравмы - это четко выраженные местные повреждения тканей организма, вызванные воздействием электрического тока или электрической дуги. Различают следующие местные электротравмы: электрические ожоги, электрические знаки, металлизация кожи, механические повреждения и электроофтальмия.
Электрические ожоги могут быть вызваны протеканием тока через тело человека (токовый или контактный ожог), а также воздействием электрической дуги на тело (дуговой ожог). В первом случае ожог возникает как следствие преобразования энергии электрического тока в тепловую и является сравнительно легким (покраснение кожи. образование пузырей). Ожоги, вызванные электрической дугой, носят, как правило, тяжелый характер (омертвление пораженного участка кожи, обугливание и сгорание тканей).
Электрические знаки - это четко очерченные пятна серого или бледно-желтого цвета диаметром 1-5 мм на поверхности кожи человека, подвергшегося действию тока. Электрические знаки безболезненны, и лечение их заканчивается, как правило, благополучно.
Металлизация кожи-это проникновение в верхние слои кожи мельчайших частичек металла, расплавившегося под действием электрической дуги. Обычно с течением времени больная кожа сходит, пораженный участок приобретает нормальный вид и исчезают болезненные ощущения.
Механические, повреждения являются следствием резких непроизвольных судорожных сокращений мышц под действием тока, проходящего через тело человека. В результате могут произойти разрывы кожи, кровеносных сосудов и нервной ткани, вывихи суставов и даже переломы костей. Механические повреждения возникают очень редко.
Электроофтальмия - воспаление наружных оболочек глаз, возникающее в результате воздействия мощного потока ультрафиолетовых лучей электрической дуги. Обычно болезнь продолжается несколько дней. В случае поражения роговой оболочки глаз лечение оказывается более сложным и длительным.
Электрический удар-это возбуждение живых тканей организма проходящим через него электрическим током, сопровождающееся непроизвольными судорожными сокращениями мышц. Различают следующие четыре степени ударов: I-судорожное сокращение мышц без потери сознания; II-судорожное сокращение мышц с потерей сознания, но с сохранившимся дыханием и работой сердца; III-потеря сознания и нарушение сердечной деятельности или дыхания (либо того и другого вместе); IV-клиническая смерть, т. с, отсутствие дыхания и кровообращения.
Клиническая («мнимая») смерть- переходный процесс от жизни к смерти, наступающий с момента прекращения деятельности сердца и легких. У человека, находящегося в состоянии клинической смерти, отсутствуют все признаки жизни: он не дышит, сердце его не работает, болевые раздражения не вызывают никаких реакций, зрачки глаз расширены и не реагируют на свет. Однако в этот период жизнь в организме еще полностью не угасла, так как ткани его умирают не все сразу и не сразу угасают функции различных органов. В первый момент почти во всех тканях продолжаются обменные процессы, хотя и на очень низком уровне и резко отличающиеся от обычных, но достаточные для поддержания минимальной жизнедеятельности. Эти обстоятельства позволяют воздействием на более стойкие жизненные функции организма восстановить угасающие или только что угасшие функции, т. е. оживить умирающий организм.
Первыми начинают погибать очень чувствительные к кислородному голоданию клетки коры головного мозга, с деятельностью которых связаны сознание и мышление. Поэтому длительность клинической смерти определяется временем с момента прекращения сердечной деятельности и дыхания до начала гибели клеток коры головного мозга; в большинстве случаев она составляет 4-5 мин, а при гибели здорового человека от случайной причины, например от электрического тока, 7-8 мин. После этого происходит множественный распад клеток коры головного мозга и других органов.
Биологическая (истинная) смерть- необратимое явление, характеризующееся прекращением биологических процессов в клетках и тканях организма и распадом белковых структур; она наступает по истечении периода клинической смерти.
Исход воздействия тока зависит от ряда факторов, в том числе от значения и длительности протекания через тело человека тока, рода и частоты тока и индивидуальных свойств человека. Электрическое сопротивление тела человека и приложенное к нему напряжение также влияют на исход поражении, но лишь постольку. поскольку они определяют значение тока проходящего через тело человека.
Электрическое сопротивление тела человека складывается из сопротивления кожи и сопротивления внутренних тканей.
Кожа, вернее ее верхний слой, называемый эпидермисом. имеющий толщину до 0,2 мм и состоящий в основном из мертвых ороговевших клеток, обладает большим сопротивлением, которое и определяет общее сопротивление тела человека. Сопротивление нижних слоев кожи и внутренних тканей человека незначительно. При сухой чистой и неповрежденной коже сопротивление тела человека колеблется в пределах 2 тыс.-2 млн. Ом. При увлажнении и загрязнении кожи а также при повреждении кожи (под контактами) сопротивление тела оказывается наименьшим-около 500 Ом, т. е. доходит до значения, равного сопротивлению внутренних тканей тела. При расчетах сопротивление тела человека принимается обычно равным 1000 Ом.
Значение тока, протекающего через тело человека, является главным фактором, от которого зависит исход поражения: чем больше ток тем опаснее его действие. Человек начинает ощущать протекающий через него ток промышленной частоты (50 Гц) относительно малого значения: 0.6-1,5 мА. Этот ток называется пороговым ощутимым током.
Ток 10-15 мА (при 50 Гц) вызывает сильные и весьма болезненные судороги мышц рук, которые человек преодолеть не в состоянии, т. е. он не может разжать руку, которой касается токоведущей части, не может отбросить провод от себя и оказывается как бы прикованным к токоведущей части. Такой ток называется пороговым неотпускающим.
При 25-50 мА действие тока распространяется и на мышцы грудной клетки, что приводит к затруднению и даже прекращению дыхания. При длительном воздействии этого тока-в течение нескольких минут-может наступить смерть вследствие прекращения работы легких.
При 100 мА ток оказывает непосредственное влияние также и на мышцу сердца; при длительности протекания более 0,5 с такой ток может вызвать остановку или фибрилляцию сердца, т. е. быстрые хаотические н разновременные сокращения волокон сердечной мышцы (фибрилл), при которых сердце перестает работать как насос. В результате в организме прекращается кровообращение и наступает смерть. Этот ток называется фибрилляционным.
Длительность протекания тока через тело человека влияет на исход поражения вследствие того, что со временем резко повышается ток за счет уменьшения сопротивления тела и накапливаются отрицательные последствия воздействия тока на организм.
Род и частота тока в значительной степени определяют исход поражения. Наиболее опасным является переменный ток с частотой 20-100 Гц. При частоте меньше 20 или больше 100 Гц опасность поражения током заметно снижается.
Токи частотой свыше 500000 Гц не оказывают раздражающего действия на ткани и поэтому не вызывают электрического удара. Однако они могут вызвать термические ожоги.
При постоянном токе пороговый ощутимый ток повышается до 6-7 мА, пороговый неотпускающий ток - до 50-70 мА, а фибрилляционный при длительности воздействия более 0,5 с-до 300 мА.
Индивидуальные свойства человека- состояние здоровья, подготовленность к работе в электрической установке и другие факторы-также имею г значение для исхода поражения. Поэтому обслуживание электроустановок поручается лицам, прошедшим медицинский осмотр и специальное обучение.
2. Как было упомянуто выше, разработчик программного обеспечения помимо системного блока в своей работе использует также монитор. К сожалению, в большинстве случаев приходится использовать мониторы с кинескопом, т.е. использующие электронно-лучевые трубки. (Далеко не каждый производитель может позволить себе более безвредный жидкокристаллический дисплей). Из курса физики известно, что для того, чтобы разогнать электроны до необходимой скорости, на аноде кинескопа генерируется напряжение 15-20кВ (в зависимости от типа монитора). С другой стороны мы знаем, что при напряжениях в диапазоне от 5 до 30кВ появляется рентгеновское излучение, воздействие которого является вредным для человека.
Чем больше происходит в веществе актов ионизации под воздействием излучения, тем больше биологический эффект. Биологическое действие излучения зависит от числа образованных пар ионов или от связанной с ним величины-поглощенной энергии.
Ионизация живой ткани приводит к разрыву молекулярных связей и изменению химической структуры различных соединений. Изменения в химическом составе значительного числа молекул приводят к гибели клеток.
Под влиянием излучений в живой ткани происходит расщепление воды на атомарный водород Н и гидроксильную группу ОН, которые, обладая высокой химической активностью, вступают в соединение с другими молекулами ткани и образуют новые химические соединения, не свойственные здоровой ткани. В результате происшедших изменений нормальное течение биохимических процессов и обмен веществ нарушаются.
Под влиянием ионизирующих излучений в организме может происходить торможение функций кроветворных органов, нарушение нормальной свертываемости крови и увеличение хрупкости кровеносных сосудов, расстройство деятельности желудочно-кишечного тракта, истощение организма, снижение сопротивляемости организма инфекционным заболеваниям и др.
Биологический эффект зависит от дозы облучения, его времени воздействия, размеров облучаемой поверхности, индивидуальной чувствительности организма.
Первые признаки хронического поражения обнаруживаются обычно не сразу после начала работы, они проявляются в сухости кожи, трещинах на ней, ее изъязвлении, ломкости ногтей, выпадании волос.
Однократное облучение в дозе 25-50 бэр приводит к незначительным скоропреходящим изменениям в крови, при дозах обручения 80-120 бэр появляются начальные признаки лучевой болезни, но смертельный исход отсутствует. Острая лучевая болезнь развивается при однократном облучении 270-300 бэр, смертельный исход возможен в 50% случаев. Смертельный исход в 100% случаев наступает при дозах 550-700 бэр. Эти данные относятся к случаю, когда лечение не проводится. В настоящее время имеется ряд противолучевых препаратов. которые позволяют значительно ослабить воздействие излучения.
Хронические поражения ионизирующими излучениями бывают как общие, так и местные. Развиваются они всегда в скрытой форме в результате систематического облучения дозами больше предельно допустимой.
Различают три степени хронической лучевой болезни. Для первой, легкой степени лучевой болезни характерны незначительные головные боли, вялость, слабость, нарушение сна и аппетита. При второй степени болезни указанные признаки заболевания усиливаются, возникают нарушения обмена веществ, сосудистые и сердечные изменения. расстройства пищеварительных органов, кровоточивость и др. Третья степень болезни характеризуется еще более резким проявлением перечисленных симптомов. Нарушается деятельность половых желез, происходят изменения центральной нервной системы, наблюдаются кровоизлияния, выпадение волос. Отдаленные последствия лучевой болезни - повышенное предрасположение к злокачественным опухолям и болезням кроветворных органов.
3. Мониторы таят в себе еще одну опасность помимо рентгеновского излучения. При организации горизонтальной и вертикальной развертки используются частоты 38кГц и 90Гц соответственно. При этом значение вертикальной развертки настраивается на максимальную частоту, поддерживаемую как монитором, так и видеоадаптером, так как при ней уменьшается утомляемость глаз оператора. С другой стороны, развертка реализуется с помощью электромагнитов, которые, в свою очередь, возбуждают электромагнитное излучение, нежелательное для здоровья человека.
Воздействие электромагнитных полей на человека зависит от напряженностей электрического и магнитного полей, потока энергии, частоты колебаний, размера облучаемой поверхности тела и индивидуальных особенностей организма.
Электромагнитное поле воздействует следующим образом: в электрическом поле атомы и молекулы, из которых состоит тело человека, поляризуются, полярные молекулы (например, воды) ориентируются по направлению распространения электромагнитного поля; в электролитах, которыми являются жидкие составляющие тканей, крови и т. п., после воздействия внешнего поля появляются ионные токи. Переменное электрическое поле вызывает нагрев тканей человека как за счет переменной поляризации диэлектрика (сухожилии, хрящи и т. д.), так и за счет появления токов проводимости. Тепловой эффект является следствием поглощения энергии электромагнитного поля. Чем больше напряженность поля и время воздействия, тем сильнее проявляются указанные эффекты.
Избыточная теплота отводится до известного предела путем увеличения нагрузки на механизм терморегуляции. Однако начиная с величины I ==10 мВт/см2, называемой тепловым порогом, организм не справляется с отводом образующейся теплоты, и температура тела повышается. что приносит вред здоровью.
Наиболее интенсивно электромагнитные поля воздействуют на органы с большим содержанием воды. Перегрев же особенно вреден для тканей со слаборазвитой сосудистой системой или с недостаточным кровообращением (глаза, мозг, почки, желудок, желчный пузырь и мочевой), так как кровеносную систему можно уподобить системе водяного охлаждения. Облучение глаз вызывает помутнение хрусталика (катаракту), которое обнаруживается не сразу, а через несколько дней или недель после облучения.
Электромагнитные поля оказывают специфическое воздействие на ткани человека как биологические объекты при интенсивности поля, значительно меньшей теплового порога. Они изменяют ориентацию клеток или цепей молекул в соответствии с направлением силовых линий электрического поля, ослабляют биохимическую активность белковых молекул, нарушают функции сердечно-сосудистой системы и обмена веществ. Однако эти изменения носят обратимый характер: достаточно прекратить облучение, и болезненные явления исчезают.
Воздействие постоянных магнитных и электростатических полей зависит от напряженности и времени воздействия. При воздействии полей, имеющих напряженность выше предельно допустимого уровня, развиваются нарушения со стороны нервной, сердечно-сосудистой систем, органов дыхания, органов пищеварения и некоторых биохимических показателей крови.
Основным параметром» характеризующим биологическое действие электромагнитного поля промышленной частоты, является электрическая напряженность. Магнитная составляющая заметного влияния на организм не оказывает, так как в действующих установках напряженность магнитного поля промышленной частоты не превышает 25 А/м, а вредное биологическое действие проявляется при напряженностях 150-200 А/м.
Воздействие электрического поля промышленной частоты на организм человека сводится к влиянию электрического поля непосредственно на мозг и центральную нервную систему. Наряду с биологическим действием электрическое поле обусловливает возникновение разрядов между человеком и металлическим предметом, имеющим иной, чем у человека, потенциал. Ток разряда может вызвать судороги.
4. Еще одним вредным фактором, с которым приходится сталкиваться разработчикам программного обеспечения, является ультрафиолетовое излучение. Подробности его влияния на организм человека рассмотрены в разделе, посвященном экологической части дипломной работы.
5. Напряженность электрического поля является источником еще одного неприятного явления - статического электричества. Этот фактор является вредным как для жизнедеятельности человека, так и для производства программного обеспечения. Пыль, содержащаяся в помещении, электризуется, оседает на поверхностях печатных плат и микросхем, может вызывать микрозамыкания и потенциально является источником непредвиденных ошибок.
Воздействие статического электричества на человека может проявляться в виде слабого длительно протекающего тока или в форме кратковременного разряда через его тело. Такой разряд вызывает у человека рефлекторное движение, что в ряде случаев может привести к попаданию работающего в опасную зону производственного оборудования и закончиться несчастным случаем. Кроме того, электростатическое поле повышенной напряженности отрицательно влияет на организм человека, вызывая функциональные изменения со стороны центральной нервной, сердечно-сосудистой и других систем организма. Для ограничения вредного воздействия электростатического поля проводится его нормирование в соответствии с «Санитарно-гигиеническими нормами допустимой напряженности электростатического поля № 1757-77».
4.1.2. Методы защиты пользователей от опасных и вредных факторов.
Анализ вредных и опасных факторов показал, что при разработке программного обеспечения необходимо защищать себя от их нежелательного воздействия. Рассмотрим возможные меры защиты от факторов, приведенных в предыдущем параграфе.
4.1.2.1. Защита от поражения электрическим током.
Прежде чем говорить о мерах защиты от электрического тока, перечислим причины опасных случаев, происходящих из-за этого фактора:
- случайное прикосновение или приближение на опасное расстояние к токоведущим частям, находящимся под напряжением;
появление напряжения на металлических конструктивных частях электрооборудования-корпусах, кожухах и т. п.-в результате повреждения изоляции и других причин;
- появление напряжения на отключенных токоведущих частях, на которых работают люди, вследствие ошибочного включения установки;
- возникновение шагового напряжения на поверхности земли в результате замыкания провода на землю.
Основными мерами защиты от поражения током являются:
- обеспечение недоступности токоведущих частей, находящихся под напряжением, для случайного прикосновения; электрическое разделение сети;
- устранение опасности поражения при появлении напряжения на корпусах, кожухах и других частях электрооборудования, что достигается применением малых напряжений, использованием двойной изоляции, выравниванием потенциала, защитным заземлением, занулением, защитным отключением и др.;
- применение специальных электрозащитных средств - переносных приборов и приспособлений;
- организация безопасной эксплуатации электроустановок.
Ниже приведен расчет автомата для заземления вычислительного оборудования.
Расчет1.
Заземление реализуется по схеме, представленной на рисунке 12.
Рисунок 11. Схема заземления.
Расчет тока короткого замыкания производится по формуле:
,
где
UФ - напряжение фазы (220 В);
rТ - сопротивление трансформатора, взятое в соответствии нормой 0.312 Ом;
rНЗП - сопротивление заземляющего проводника, рассчитанное через его геометрические параметры:
,
где
? - удельное электрическое сопротивление (для меди [0.0175 Ом*м]);
l и S - длина и площадь сечения заземлителя, которые подбираются в зависимости от необходимого значения тока короткого замыкания, то есть являются параметрами.
Возьмем l =100м, а S=1мм2. Расчитаем ток короткого замыкания.
.
Требование к заземлению определяется выражением:
.
Выразим максималшьный ток, текущий через автомат, при k=3:
.
Рассчитаем этот ток.
Iном = 109 / 3 = 36 А.
Вывод: при соответствующем заземлении максимальный ток в цепи не будет превышать 36 А. Исходя из этого, в данной цепи можно использовать стандартный автомат c I ном = 36 А.
4.1.2.2. Защита от рентгеновского излучения.
Меры защиты, направленные на ослабление ионизирующих излучений актуальны, в основном, на производстве, где этот вид излучений намного мощнее, чем при работе с персональным компьютером, например, при работе с радиоактивными веществами, на ускорителях и т.д. Здесь применяются серьезные меры, такие как: защита изотопами, воздушное отопление, система вентиляции, спецодежда и многое другое. Разработчики программного обеспечения обычно пользуются защитными экранами, установленными поверх мониторов, которые снижают интенсивность рентгеновского излучения. Помимо этого нормируют количество излучения, приходящегося на человека за год. Предельной нормой является значение, равное 0,1 бэр в год. Если это значение ниже значения количества излучения, которому подвергается разработчик, следует снизить один из параметров:
- уменьшить количество часов, проводимых за компьютером;
- увеличить расстояние до облучаемой поверхности;
- уменьшить интенсивность излучения путем смены типа монитора или установки защитного экрана.
Ниже приведен пример расчета излучения, приходящегося на разработчика, и показано, на каком расстоянии от монитора необходимо работать, чтобы не превысить допустимую норму.
Расчет2.
Зависимость дозы излучения от расстояния выражается формулой
,
где Р0 - мощность на расстоянии 5 см от экрана [мкР/ч];
? - линейный коэффициент ослабления рентгеновских лучей [см-1];
r - расстояние до монитора [см].
Расчет приведен на рисунке 13.
Исходные данные. Разработчик программного обеспечения работает по 2 смены в день, каждая из которых длится 4 ч., 5 дней в неделю, 52 недели в год.
Рисунок 12. Расчет облучения за год.
Первая из таблиц на рисунке 13 содержит значения облучения, приходящиеся за смену. Вторая таблица представляет расчетные и итоговые данные излучений за год.
Вывод. Исходя из проведенных вычислений можно сделать вывод о том, что приемлимым расстоянием до монитора является расстояние равное(или превышающее) 60см. На меньшем расстоянии при заданных условиях работы разработчик будет получать дозу рентгеновского облучения свыше нормы.
Защита от электромагнитного поля низкой частоты
Мониторы излучают электромагнитные волны низкой частоты. Каких-то специальных сложных мер по защите от них не требуется. Меры, применяемые для защиты от этого воздействия следующие:
- расстояние между мониторами не менее 1,5 м;
- расстояние от разработчика до боковых стенок монитора не менее 1,2 м;
- использование защитных экранов типа «Ergostar», «Русский щит», «Универсал».
Защита от ультрафиолетового излучения
Мерами по защите от ультрафиолетового излучения являются:
- побелка стен помещений;
- использование люминисцентых ламп мощностью до 40 Вт;
- защитные очки «Флиттглас», толщина стекол - 2 мм, с добавкой свинца;
- одежда из фланели и поплина.
4.1.2.5. Защита от статического электричества.
Основные меры, направленные на борьбу со статическим электричеством:
- контурное заземление;
- влажная уборка;
- антистатические экраны.
4.2 Экологическая часть.
4.2.1. Воздействие ультрафиолетового излучения на организм человека.
4.2.1.1. Общие сведения.
Ультрафиолетовое излучение - электромагнитное излучение, занимающее спектральную область между видимым и рентгеновским излучениями в пределах длины волн 10-400 нм.
В зависимости от длины волн ультрафиолетовое излучение условно делят на ближний диапазон с длиной волн 200-400 нм и дальний, или вакуумный, с длиной волн 10-200 мм. Ближний диапазон Ультрафиолетовое излучение открыт в 1801 г. немецким ученым Риттером (J. Ritter) и английским ученым Волластоном (W. H. Wollaston), дальний - с длиной волн до 130 им - немецким физиком Шуманном (W. Schumann) в 1885-1903 гг., а с длиной волн до 25 нм - американским физиком Лай-маном (Th. Lyman) в 1924 г. Кванты Ультрафиолетовое излучение разных диапазонов несут различную энергию, которая определяет характер их биологического действия. Наибольшую энергию несут кванты дальнего диапазона - 10- 20 эВ.
В естественных условиях основным источником ультрафиолетового излучения является Солнце, в спектре которого на поверхности Земли присутствует только Ультрафиолетовое излучение ближнего диапазона, что связано с поглощением атмосферой Ультрафиолетовое излучение дальнего диапазона. Дальний диапазон Ультрафиолетовое излучение Солнца может быть зарегистрирован только в космосе. В земных условиях ультрафиолетовое излучение дальнего диапазона получают от различных искусственных источников.
4.2.1.2. Биологическое действие.
Биологическое действие ультрафиолетового излучения обусловлено способностью молекул веществ, входящих в состав клеток живых организмов, поглощать кванты излучения и вследствие этого вовлекаться в различные фотохимические реакции, изменяющие их строение и функции. При этом действие ультрафиолетового излучения разных областей ближнего диапазона обладает специфическими особенностями, тогда как действие ультрафиолетового излучения дальнего диапазона во многом совпадает с действием ионизирующего излучения.
Специфичность действия коротковолновой области ультрафиолетового излучения ближнего диапазона (длина волн 200-300 нм) определяется поглощением его квантов молекулами нуклеиновых кислот, белков, липидов и ряда других биохимических компонентов клеток. Наиболее сильно поглощают лучи азотистые основания нуклеиновых кислотт, в связи с чем они подвергаются наиболее значительным фотохимическим превращениям. УФ-облучение нарушает первичную структуру нуклеиновых кислот, что приводит к физиологическим изменениям, мутации и даже гибели клеток. Считают, что главной реакцией, приводящей к инактнвацин ДНК, является реакция образования димеров тимина. Для образования одного димера тимина в клетках бактерий Escherichia coli достаточно УФ-излучения с длиной волны 254 нм в дозе всего 0,01 дж/м2. Наряду с димерами тимина при действии этой области ультрафиолетового излучения в ДНК образуются и другие продукты - смешанные димеры, гидраты и таутомеры оснований, возникают одпонитевые разрывы цепи и нарушения сшивки с белками. В ликвидации последствий фотохимического повреждения нуклеиновых кислот участвуют системы темновой репарации ДНК и фотореактивации.
По сравнению с нуклеиновыми кислотами белки более устойчивы к действию ультрафиолетового излучения с длиной волн 200- 300 нм. Инактивация белковой молекулы происходит при поглощении ею не менее 100-1000 квантов ультрафиолетового излучения и приводит к необратимой потере функциональных свойств. В зависимости от типа пораженного белка может наблюдаться снижение ферментативной, регуляторной, гормональной или иммунологической активности клетки.
Липиды, являющиеся наряду с белками основными компонентами биологических мембран, поглощают ультрафиолетовое излучение с длиной волн 200-240 нм, что приводит к их окислению. Реакция осуществляется по цепному механизму, и поглощение одного кванта излучения приводит к окислению нескольких сотен молекул липида; соответственно нарушаются функциональные свойства клеточных мембран. В нормальных клетках процессы фотоокисления липидов сильно заторможены благодаря присутствию в мембранах молекул антиоксидантов, блокирующих цепные реакции окисления.
Биологическое действие длинноволновой области ультрафиолетовое излучение ближнего диапазона(длина волн 300-400 нм) характеризуется большим разнообразием ответных реакций, так как ультрафиолетовое излучение этой области поглощается значительным числом биохимических компонентов клеток. При этом наблюдаются сенсибилизированное повреждение нуклеиновых кислот, белков и липидов, нарушение энергетического обмена клеток за счет фотохимического разрушения компонентов цепи дыхания, а также различные положительные реакции - стимуляция системы фотореактивации, образование пигмента меланина в коже, синтез витамина D3. У микроорганизмов под действием ультрафиолетовое излучение с этой длиной волн активируется фермент, участвующий в синтезе серотонина, который, связываясь с ДНК, предохраняет клетку от разрушающего влияния ультрафиолетовое излучение более коротковолновой области ближнего диапазона. Ультрафиолетовое излучение с длиной волн 300-400 нм оказывает также регуляторное воздействие на организм, изменяя активность отдельных ферментов или процессы обмена веществ в клетках и органах.
Ультрафиолетовое излучение поглощается эпидермисом неповрежденной кожи, что ограничивает глубину его проникновения до 1 мм. В результате возникающих фотохимических реакций в коже образуются гистамин и другие биогенные амины, обусловливающие расширение сосудов микроциркуляторного русла и возникновение эритемы, а также синтезируется из 7-дегндрохолестерина витамин Оз, регулирующий обмен кальция и фосфора в организме и обладающий антирахитическим действием (см. Рахит}. УФ-облучение стимулирует активность симпатоадреналовой системы, кроветворение, обмен веществ, реакции клеточного иммунитета, процессы заживления, снижает болевую чувствительность; оно обладает гипосенсибилизирующим и бактерицидным эффектами, что способствует усилению неспецифической резистентности организма .
Отдельные области ультрафиолетового излучения по-разному влияют на физиологические реакции тканей и целостного организма. Ультрафиолетовое излучение с длиной волн 280-400 нм в большей степени стимулирует выработку антител, фагоцитоз, накопление агглютининов крови; 340 нм - пигментообразование; 297-302 нм - эритемообразование; 280-310 нм - синтез витамина Вз. Ультрафиолетовое излучение с длиной волн 280 и 260-265 нм максимально поглощается белками, что приводит к их денатурации. Ультрафиолетовое излучение с длиной волн 180-280 нм оказывает бактерицидное действие, максимальное при длине волны 254 нм.
Одной из наиболее характерных реакций кожи на УФ-облучение является эритема (покраснение). Она возникает через 2-8 час. после действия УФ-лучей и развивается по типу асептического воспаления. При этом в зоне облучения наблюдаются гиперемия, повышение проницаемости стенок расширенных сосудов, отек, эмиграция лейкоцитов через стенку сосудов, сдвиг кислотно-щелочного равновесия в. кислую сторону. Местной реакции сопутствует повышение тонуса парасимпатической и понижение тонуса симпатической нервной системы, снижение АД, уменьшение содержания сахара, холестерина и катехоламинов в крови. Эритема достигает максимального развития через 10-24 час. (что зависит от функционального состояния нейроэндокринной системы организма и длины волны У. п.), а затем постепенно уменьшается. Экссудативная фаза воспалительной реакции сменяется продуктивной, что приводит к активизации роста ангиобластов, клеток соединительной ткани и эпителия. К 7-9-м суткам погибшие клетки эпителия замещаются молодыми, наступает шелушение, а на месте эритемы появляется пигментация.
4.2.1.3. Ультрафиолетовое излучение как вредный фактор на производстве.
При эксплуатации вычислительной техники оператор может подвергаться воздействию ряда опасных и вредных производственных факторов. Основную опасность представляют прямое, рассеянное и отраженное излучения.
Отраженное излучение опасно в той же мере что и прямое. Кроме того, ультрафиолетовые лучи, многократно зеркально или диффузно отраженные от различных поверхностей, могут появиться в любом месте.
Воздействие ультрафиолетового излучения на организм человека имеет сложный характер и до конца еще не изучено. Биологические эффекты воздействия лазерного излучения на организм человека зависят от энергетических и временных параметров излучения, т. е. энергетической экспозиции в импульсе или энергетической освещенности. длины волны излучения, длительности импульса, частоты повторения импульсов, времени воздействия и площади облучаемого участка, а также от биологических и физико-химических особенностей облучаемых тканей и органов. Энергетическая экспозиция - отношение энергии излучения, падающей на рассматриваемый участок поверхности, к площади этого участка, на длительность облучения.
Биологические эффекты делятся на первичные и вторичные. В первом случае происходят органические изменения возникающие непосредственно в облучаемых тканях, а во втором случае - побочные явления, образующиеся в организме вследствие облучения.
Интенсивное облучение кожи ультрафиолетовым излучением может вызвать в ней различные изменения от легкой эритемы (покраснения) до поверхностного обугливания. Особенно значительные повреждения наблюдаются на пигментированных участках, например на родимых пятнах. в местах с сильным загаром или на коже, обладающей естественным темным цветом.
При большой интенсивности облучения возможны повреждения не только кожи, но и внутренних тканей, и органов. Эти повреждения имеют характер отеков, кровоизлияний, а также свертывания или распада крови. Наибольшая опасность возникает при расположении фокальной точки облучения внутри ткани.
Наиболее чувствительным органом к ультрафиолетовому излучению являются глаза. Глаз человека представляет собой орган, который воспринимает, преломляет и преобразует электромагнитное излучение определенного диапазона длин волн. Видимые и ближние инфракрасные лучи проходят через глаз почти без потерь. Преломляясь в элементах оптической системы глаза (роговице, хрусталике, стекловидном теле), эти лучи фокусируются на сетчатке, поэтому на поверхности сетчатки плотность энергии излучения будет еще больше, чем в луче, падающем на глаз. Попадание ультрафиолетового излучения в глаза опасно.
Ультрафиолетовое и дальнее инфракрасное излучения проникают в глаз, не фокусируясь. Они поглощаются в элементах оптической системы глаза. Но поскольку роговая оболочка, хрусталик и стекловидное тело содержат большое количество жидкости, они обладают повышенной поглощающей способностью к подобным излучениям. Вследствие этого их повреждения могут наступать при сравнительно небольших интенсивностях.
Большое значение в уменьшении неблагоприятного действия ультрафиолетового излучения на организм человека имеет соблюдение мер лазерной безопасности и санитарных норм. Лазерная безопасность - совокупность технических, санитарно-гигиенических и организационных мероприятий, обеспечивающих безопасные условия труда персонала при использовании лазеров. В соответствии с утвержденными Министерством здравоохранения СССР санитарными нормами и правилами устройства и эксплуатации лазеров установлены предельно допустимые уровни облучения для роговицы, сетчатки глаз и кожи.
Предельно допустимыми уровнями приняты энергетические экспозиции. Норма облучения ультрафиолетовым излучением составляет:
- за смену - 7,5 мэр*ч/м2;
- за сутки - 60 мэр*ч/м2.
4. Заключение
В представленной дипломной работы были сделаны следующие вещи:
1. Рассмотрены функции и задачи, решаемые платежной системой, сформулированы основные требования к системе, обеспечивающий максимальное быстродействие и гибкость.
2. Проведен анализ существующих методов решения подобных задач
3. Были проанализированы основные инструменты разработки и выбраны следующие компоненты:
- операционная система непосредственно для проекта FreeBSD
- сервер баз данных Sybase, установленный на операционной системе Linux
- язык программирования Perl
- тип интерфейса между пользователем и системой - веб-интерфейс
4. Разработан модуль операции проведения платежа между системой и банком
Система подготовлена, установлена, настроена и запущена в опытную эксплуатацию для организации безотказной работы между покупателем, продавцом и банком 29 декабря 2002 года.
Литература
1. Майкл Эбен, Брайан Таймэн. FreeBSD. Энциклопедия пользователя. Диасофт. 2002
2. The FreeBSD Documentation Project. FreeBSD Handbook. 2003 http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html
3. Джон Кауффман, Брайан Матсик, Кевин Спенсер. SQL. Программирование. Бином ЛЗ. 2002. 746 стр.
4. Роберт Дж. Мюллер. Базы данных и UML. Проектирование. Лори. 2002. 420 стр.
5. Т. Л. Партыка, И. И. Попов. Информационная безопасность. Форум. 2002. 368 стр.
6. С. Бернет, С. Пэйн. Криптография. Официальное руководство RSA Security. Бином. 2002 384 стр.
7. Скотт Бармен. Разработка правил информационной безопасности. Вильямс. 2002. 208 стр.
8. Скотт Гулич, Шишир Гундаварам, Гюнтер Бирзнекс. CGI программирование на Perl. Символ - Плюс. 2001. 480 стр.
9. Линкольн Д. Штайн. Разработка сетевых программ на Perl. 2001. 758 стр.
10. Contents of the Adaptive Server Enterprise 12.5 (Core Documentation Set) Collection http://manuals.sybase.com/onlinebooks/group-as/asg1250e/
11. Брайан Хичкок. Sybase. Настольная книга администратора. Лори. 2000. 448 стр.
12. С. В. Маклаков. BPwin и ERwin. CASE - средства разработки информационных систем. Диалог - МИФИ. 2000. 256 стр.
13. Алекс Хоумер, Крис Улмен. Dynamic HTML. Справочник. Питер. 2000. 512 стр.
14. Дарнелл Р. JavaScript: справочник. Питер. 1998. 192 стр.
15. Джон Кирш. UNIX против NT. http://opennet.ru/base/df/unixvsnt1.txt.html
16. Баглюк С.И., Мальцев М.Г., Смагин В.А., Филимонихин Г.В. Надежность функционирования программного обеспечения.-С.-Пб.:-1991.-78 cтр.
Приложения
Министерство образования Российской Федерации
Московский Государственный Институт Электроники и Математики
Технический университет
Платежная система в интернете
Руководство пользователя
Назначение программы
Программный продукт представляет собой модуль для подключения в единую платежную систему. Так как он работает только в составе системы и является системным модулем, я могу только перечислить его основные функции:
- система процессинга клиента
- функция ребиллинга, или повторного снятия денег, клиента. Данная функция предназначена для продажи подписки на какие-либо ресурсы с автоматической пролонгацией срока действия, и также автоматическим доснятием денег за следующий период срока действия.
- функция синхронизации баз данных платежной системы и банковской системы. Данная функция необходима для обратной связи банка с системой.
Данное руководство больше является руководством программиста, хотя даже незнакомый с платежными системами в целом и с написанием модулей для них в частности человек сможет без труда подключить данный модуль в подготовленную платежную систему.
Условия выполнения прогрммы
Для установки и выполнения программы предъявляются требования, сходные с требованиями к веб-приложению. Для нормального функционирования необходимы следующие программные средства:
- операционная система FreeBSD или Linux
- web-сервер Apache версии 1.3.9 и старше
- установленный модуль Perl версии 5.0 и старше
- сервер баз данных Sybase Adaptive Enterprise Server 11.9.2 и старше
Данное программное обеспечение для выполнения требований к скорости работы модуля работают при следующей конфигурации компьютера
- процессор Inter Pentium III 500Mhz и старше или совместимый
- объем памяти не менее 512 Mb
- объем жесткого диска не менее 20 Gb
- выделенное соединение с internet со скоростью 128Kbit/s и выше
Выполнение программы
Загрузка модуля происходит в момент загрузки всей программы, в состав которой и входит данный модуль. Функции, включенные в данный модуль, вызываются из внешних модулей платежной системы, им передается минимальный набор параметров. Для получения недостающей информации модуль имеет непосредственный доступ к базе данных. Туда же он и записывает промежуточные результаты, и также возвращает минимальный набор данных о транзакции.
В зависимости от типа установки Perl, модуль, и система в целом, компилируются и загружаются в память один раз при запуске веб-сервера, или каждый раз при вызове скрипта пользователем или иными событиями, например, по cron-tab (планировщик задач в Unix).
Сообщения пользователю
При выполнении функции модуля могут выдавать следующие сообщения:
Payment was successfully processed. Платеж был успешно осуществлен.
Internal error. Внутренняя ошибка системы.
Сообщения отдельных модулей.
Модуль UBS::Payment::Verisign
Processing of VISA credit card's is temporary disabled. Процессинг карт VISA временно отключен
Transaction declined by Fraud protection. Платеж был отклонен системой безопасности.
Модуль UBS::Payment::AuthorizePay
Operation not supported. Операция не поддерживается.
Система также выдает другие сообщения, которые передаются непосредственно из банковского шлюза. Их набор и текст зависит от банковского шлюза и может меняться в зависимости от условия подключения и типа транзакции.
Министерство образования Российской Федерации
Московский Государственный Институт Электроники и Математики
Технический университет
Платежная система в интернете
Описание программы
Введение
Программный модуль был написан на языке Perl под Unix и имеет объектно-ориентированную структуру. Данный модуль предназначен для подключения в подготовленную платежную систему, адаптированную к использованию данного модуля.
Модуль не является полностью автономным и использует функции в других модулях системы.
Ниже следует описание модулей UBS (UBS = Universal Billing System) и их интерфейсы.
По требованию заказчика все комментарии внутри модуля выполнены на английском языке.
Модуль UBS::Payment::SMC
Используются внутренние модули платежной системы:
- SMS::System. Модуль с системными функциями платежной системы.
- UBS::Strings. Модуль обработки строк.
Внешние функции:
- doPayment. Функция процессинга платежа.
Входные параметры:
orderid. Внутренний идентификатор номера заказа
fname. Имя покупателя
lname. Фамилия покупателя
email. Емейл-адрес покупателя
amount. Сумма платежа
card_number. Номер кредитной карты покупателя
card_exp_date. Дата окончания кредитной карты покупателя
card_cvv2. ЦВВ2 код кредитной карты покупателя
Выходные параметры:
result. Результат операции
orderid. Внутренний идентификатор номера заказа
message. Сообщение системы при платеже
transactionid. Банковский внутренний идентификатор транзакции
- doRebill. Функция ребиллинга
Входные параметры:
orderid. Внутренний идентификатор номера заказа
transactionid. Банковский внутренний идентификатор транзакции
amount. Сумма платежа
Выходные параметры:
result. Результат операции
orderid. Внутренний идентификатор номера заказа
message. Сообщение системы при платеже
transactionid. Банковский внутренний идентификатор транзакции
Дополнительные функции:
- getTransactionStatus. Возвращает статут клиента в банковской системе
- getInternalTransactionsList. Вспомогательная функция для getTransactionsList
- getTransactionsList. Возвращает список транзакций в банковской системе
- getRefundsTransactionsList. Возвращает список транзакций со статусом «рефанд»
- getChargebacksTransactionsList. Возвращает список транзакций со статусом «чарджбэк»
Банковский шлюз SMC поддерживает самостоятельную функцию ребиллинга.
Модуль UBS::Payment::Verisign
Используются внутренние модули платежной системы:
- PFProAPI qw(pfpro) - модуль, поставляемый совместно с описанием банковского шлюза. Интерфейс к банковскому шлюзу.
- UBS::Strings. Модуль обработки строк.
Внешние функции:
- doPayment. Функция процессинга платежа.
Входные параметры:
orderid. Внутренний идентификатор номера заказа
fname. Имя покупателя
lname. Фамилия покупателя
email. Емейл-адрес покупателя
amount. Сумма платежа
card_number. Номер кредитной карты покупателя
card_exp_date. Дата окончания кредитной карты покупателя
card_cvv2. ЦВВ2 код кредитной карты покупателя
Выходные параметры:
result. Результат операции
orderid. Внутренний идентификатор номера заказа
message. Сообщение системы при платеже
transactionid. Банковский внутренний идентификатор транзакции
- doRebill. Функция ребиллинга
Входные параметры:
orderid. Внутренний идентификатор номера заказа
transactionid. Банковский внутренний идентификатор транзакции
amount. Сумма платежа
Выходные параметры:
result. Результат операции
orderid. Внутренний идентификатор номера заказа
message. Сообщение системы при платеже
transactionid. Банковский внутренний идентификатор транзакции
Банковский шлюз Verisign не поддерживает функции рефандов и чарджбэков. Функция ребиллинга осуществлена на стороне платежной системы.
Модуль UBS::Payment::AuthorizeNet
Используются внутренние модули платежной системы:
- UBS::Strings. Модуль обработки строк.
Внешние функции:
- doPayment. Функция процессинга платежа.
Входные параметры:
orderid. Внутренний идентификатор номера заказа
fname. Имя покупателя
lname. Фамилия покупателя
email. Емейл-адрес покупателя
amount. Сумма платежа
card_number. Номер кредитной карты покупателя
card_exp_date. Дата окончания кредитной карты покупателя
card_cvv2. ЦВВ2 код кредитной карты покупателя
Выходные параметры:
result. Результат операции
orderid. Внутренний идентификатор номера заказа
message. Сообщение системы при платеже
transactionid. Банковский внутренний идентификатор транзакции
- doRebill. Функция ребиллинга
Входные параметры:
orderid. Внутренний идентификатор номера заказа
transactionid. Банковский внутренний идентификатор транзакции
amount. Сумма платежа
Выходные параметры:
result. Результат операции
orderid. Внутренний идентификатор номера заказа
message. Сообщение системы при платеже
transactionid. Банковский внутренний идентификатор транзакции
Банковский шлюз AuthorizeNet не поддерживает функцию ребиллинга. Также он не имеет функции синхронизации баз данных для выявления чарджбэков и рефандов.
Модуль UBS::Payment::PaymentWay
Используются внутренние модули платежной системы:
- SMS::System. Модуль с системными функциями платежной системы.
- UBS::Strings. Модуль обработки строк.
Внешние функции:
- doPayment. Функция процессинга платежа.
Входные параметры:
orderid. Внутренний идентификатор номера заказа
fname. Имя покупателя
lname. Фамилия покупателя
email. Емейл-адрес покупателя
amount. Сумма платежа
card_number. Номер кредитной карты покупателя
card_exp_date. Дата окончания кредитной карты покупателя
card_cvv2. ЦВВ2 код кредитной карты покупателя
Выходные параметры:
result. Результат операции
orderid. Внутренний идентификатор номера заказа
message. Сообщение системы при платеже
transactionid. Банковский внутренний идентификатор транзакции
- doRebill. Функция ребиллинга
Входные параметры:
orderid. Внутренний идентификатор номера заказа
transactionid. Банковский внутренний идентификатор транзакции
amount. Сумма платежа
Выходные параметры:
result. Результат операции
orderid. Внутренний идентификатор номера заказа
message. Сообщение системы при платеже
transactionid. Банковский внутренний идентификатор транзакции
Дополнительные функции:
- doReverseTransaction. Функция проведения транзакции со статусом «рефанд»
Банковский шлюз PaymentWay поддерживает функцию ребиллинга на стороне банка. Также шлюз имеет тип транзакции «рефанд», но не имеет функции синхронизации платежной системы и банковской системы для выявления статуса «чарджбэк».
Модуль UBS::Payment::AuthorizePay
Используются внутренние модули платежной системы системы:
- SMS::System. Модуль с системными функциями платежной системы.
- UBS::Strings. Модуль обработки строк.
Также используется отдельно поставляемый модуль
- Business::CreditCard. Модуль работы с номерами кредитных карт.
Внешние функции:
- doPayment. Функция процессинга платежа.
Входные параметры:
orderid. Внутренний идентификатор номера заказа
fname. Имя покупателя
lname. Фамилия покупателя
email. Емейл-адрес покупателя
amount. Сумма платежа
card_number. Номер кредитной карты покупателя
card_exp_date. Дата окончания кредитной карты покупателя
card_cvv2. ЦВВ2 код кредитной карты покупателя
Выходные параметры:
result. Результат операции
orderid. Внутренний идентификатор номера заказа
message. Сообщение системы при платеже
transactionid. Банковский внутренний идентификатор транзакции
- doRebill. Функция ребиллинга
Входные параметры:
orderid. Внутренний идентификатор номера заказа
transactionid. Банковский внутренний идентификатор транзакции
amount. Сумма платежа
Выходные параметры:
result. Результат операции
orderid. Внутренний идентификатор номера заказа
message. Сообщение системы при платеже
transactionid. Банковский внутренний идентификатор транзакции
Дополнительные функции:
- getTransactionStatus. Возвращает статут клиента в банковской системе
- getInternalTransactionsList. Вспомогательная функция для getTransactionsList
- doReverseTransaction. Функция проведения транзакции со статусом «рефанд»
- getTransactionsList. Возвращает список транзакций в банковской системе
- getRefundsTransactionsList. Возвращает список транзакций со статусом «рефанд»
- getChargebacksTransactionsList. Возвращает список транзакций со статусом «чарджбэк»
Банковский шлюз AuthorizePay не имеет функцию ребиллинга, но зато он имеет функции синхронизации баз данных для выявления статусов «рефанд» и «чарджбэк».
Заключение
Таким образом модуль был построен с расчетом на использование в большинстве имеющихся банковских систем. Вместе с тем не представляется сложным написание дополнительных оптимизированных модулей по образу и подобию уже написанных.
Хочется добавить, что, несмотря на то, что большинство функций имеют одинаковые входные и выходные параметры, некоторые функции берут дополнительные данные после выборки по имеющимся параметрам в базе данных платежной системы.
Описание предмета: «Банковское и биржевое дело»Целью преподавания дисциплины «Банковское и биржевое дело» является изучение основ теории и практики
современного банковского дела, организации кредитно - финансового обслуживания клиентов коммерческими банками.
Основные задачи курса:
- раскрыть сущность банковской деятельности и структуры банковской системы России;
- показать сущность и специфику банка как коммерческой организации, его место и роль в финансово - кредитной
системе;
- раскрыть содержание и технологию основных банковских операций;
- дать представление об основных банковских документах и порядке их составления.
И вот это:
Сайт Университета Натальи Нестеровой
Дисциплина «Банковское и биржевое дело» рассматривает основополагающие вопросы теории и практики
функционирования и организации рационального управления банковской системой и коммерческими банками в условиях
современной России.
Цель изучения дисциплины «Банковское и биржевое дело»: сформировать у студентов научно обоснованные
представления о природе кредитных организаций, вообще, и банков, в частности, о банковской системе и
закономерностях ее развития и функционирования, в том числе об основах эффективного взаимодействия
производственного предприятия (организации) и коммерческого банка, представления о механизмах управления
банковской деятельностью, послужить фундаментом для последующего более углубленного изучения ими различных
сторон реальной деятельности банков, проблем дальнейшего развития отечественной банковской системы и путей их
решения.
Задачи изучения дисциплины «Банковское и биржевое дело»: исходя из указанной выше цели, при изучении данного
курса решаются следующие основные задачи.
1. Формирование у студентов четкого понимания экономической природы, специфических особенностей коммерческих
банков как хозяйствующих субъектов, которые существенно отличают их от производственных предприятий и
нефинансовых организаций, а также от небанковских кредитных организаций.
2. Изучение важнейших аспектов и специфики организации внешнего и внутреннего управления коммерческими банками
в связи с природой и характером выполняемых ими операций.
3. Ознакомление студентов с механизмами централизованного регулирования банковской деятельности.
В программе курса рассматриваются российское банковское законодательство и нормативные акты Банка России.
Особое внимание уделяется формированию понимания студентами сущности и значения экономических нормативов
деятельности коммерческих банков, устанавливаемых для них Банком России. От того, насколько будет развито это
понимание, зависят, в частности, возможности менеджеров банков рационально и эффективно организовать
внутрибанковское управление и менеджера предприятия (организации) - оценивать реальное финансовое состояние
банка, своевременно получать и грамотно интерпретировать необходимую информацию об имеющихся у банка проблемах.
4. Обучение студентов основам анализа работы коммерческого банка.
Прослушав курс, студенты должны:
ЗНАТЬ:
- Структуру современной банковской системы РФ; сущность, функции и принципы деятельности коммерческих банков,
их классификацию; операции по формированию и размещению ресурсов банка (пассивные и активные операции).
- Структуру и основные элементы банковского законодательства РФ; законодательные основы деятельности банка,
основные нормативные документы ЦБР, регламентирующие банковскую деятельность.
- Функции и задачи Центрального банка РФ; инструменты, используемые ЦБР при проведении денежно-кредитной
политики.
- Организационные основы деятельности коммерческого банка.
- Действующие экономические нормативы банковской деятельности, установленные ЦБР.
- Принципы организации и инструменты безналичных расчетов.
- Сущность и классификацию банковских рисков.
- Способы антикризисного управления банком.
УМЕТЬ:
- Получать и грамотно интерпретировать информацию, как об отдельном коммерческом банке, так и банковской
системе РФ в целом.
- Оценивать реальное финансовое состояние банка.
- Аргументированно оценивать политику, проводимую ЦБР на денежном рынке и ее влияние на реальный сектор
экономики.
ИМЕТЬ НАВЫКИ:
- По способам управления ликвидностью банка и банковскими рисками.
- По анализу финансовой деятельности банка.
- При работе с монографической литературой, а также с нормативными документами ЦБР.
По курсу предусмотрено чтение лекций и проведение семинарских занятий.
Студенты также должны написать реферат и по итогам изучения дисциплины сдать экзамен.
http://www.nesterova.ru/univer/univer_ek2_12.shtml
Литература - Национальная платежная система. Бизнес-энциклопедия. – М.: КноРус, ЦИПСиР, 2013. – 424 с.
- Л.А. Грибов, В.И Баранов, М.Е. Эляшберг. Безэталонный молекулярный спектральный анализ. Теоретические основы. – М.: Едиториал УРСС, 2002. – 320 с.
- В.И. Максакова. Теоретические основы и методика воспитания младших школьников. – М.: Владос, 2006. – 240 с.
- А.Д. Никифоров, А.Н. Ковшов, А.Г. Схиртладзе. Теоретические основы прогнозирования в технике и технологии. – М.: Высшая школа, 2010. – 520 с.
- С.Л. Калачев. Теоретические основы товароведения и экспертизы. – М.: Юрайт, 2011. – 464 с.
- С.Л. Калачев. Теоретические основы товароведения и экспертизы. – М.: Юрайт, 2011. – 464 с.
- Хабибуллин Раис Рахматуллович; Исмагилов Фоат Ришатович. Промышленная Экология. Теоретические Основы Промышленной Экологии. – М.: , 2007. – 16 с.
- С.Л. Калачев. Теоретические основы товароведения и экспертизы. – М.: Юрайт, Юрайт-Издат, 2012. – 464 с.
- Курт Людевиг. Введение в теоретические основы системной терапии. – М.: Институт консультирования и системных решений, 2012. – 192 с.
- Р.Г. Могинов. Теоретические основы и расчет листопитающих систем печатных машин. – М.: Бином, 2008. – 352 с.
- В.А. Прянишников. Теоретические основы электротехники. Курс лекций. – М.: Корона-Принт, 2000. – 368 с.
- Э.А. Александрова, Н.Г. Гайдукова. Аналитическая химия. Теоретические основы и лабораторный практикум. В 2 книгах. Книга 1. Химические методы анализа. – М.: КолосС, 2011. – 552 с.
- Б.А. Филиппов. Очерки по истории России. XX век. – М.: Православный Свято-Тихоновский гуманитарный университет, 2012. – 720 с.
- Теоретические основы и практическое применение методов иммуногистохимии. Руководство. – М.: СпецЛит, 2014. – 124 с.
- Анна Валинурова. Сетевые платежные системы в России. – М.: LAP Lambert Academic Publishing, 2011. – 164 с.
- Борис Воронков, Юлия Крыжановская und Юлия Фельдшерова. Технология двойного "затемнения" в электронных платежных системах. – М.: LAP Lambert Academic Publishing, 2014. – 104 с.
- В.Б. Кольцов, О.В. Кондратьева. Теоретические основы защиты окружающей среды. Учебник. – М.: Прометей, 2018. – 734 с.
Образцы работ
Задайте свой вопрос по вашей проблеме
Внимание!
Банк рефератов, курсовых и дипломных работ содержит тексты, предназначенные
только для ознакомления. Если Вы хотите каким-либо образом использовать
указанные материалы, Вам следует обратиться к автору работы. Администрация
сайта комментариев к работам, размещенным в банке рефератов, и разрешения
на использование текстов целиком или каких-либо их частей не дает.
Мы не являемся авторами данных текстов, не пользуемся ими в своей деятельности
и не продаем данные материалы за деньги. Мы принимаем претензии от авторов,
чьи работы были добавлены в наш банк рефератов посетителями сайта без указания
авторства текстов, и удаляем данные материалы по первому требованию.
|