Автор работы: Пользователь скрыл имя, 13 Января 2013 в 22:36, дипломная работа
Дипломный проект рассматривает вопросы автоматизации, направленные на решение основных проблем в бизнесе страховой компании, занимающейся добровольным медицинским страхованием.
Целью дипломного проекта является повышение эффективности бизнеса страховой компании за счет увеличения гибкости её информационной системы.
Введение 9
Цель дипломного проекта 17
Постановка задачи 17
1 Специальная часть 19
1.1 Обоснование выбора сервис-ориентированной архитектуры 19
1.2 Выбор инструментальных средств проектирования и разработки 32
1.2.1 Обоснование выбора средств моделирования бизнес процессов 32
1.2.2 Обоснование выбора CASE средств проектирования 37
1.2.3 Обоснование выбора СУБД 38
1.2.4 Набор программных средств, используемых в ходе дипломного проектирования 38
1.3 Используемые методы и стандарты 39
1.3.1 Разработка, управляемая моделями 39
1.3.2 Независимость от платформы 42
1.3.3 Программная платформа 43
1.3.4 Модель требований FURPS 44
1.4 Формирование требований к разрабатываемой системе 46
1.4.1 Проект требований 47
1.5 Моделирование бизнес-процессов 49
1.5.1 Моделирование бизнес процесса как есть 49
1.5.2 Анализ бизнес-процессов «как есть». 53
1.5.3 Результаты имитации 55
1.5.4 Моделирование бизнес-процессов «как должно быть» 58
1.5.5 Анализ модели «как должно быть». Сравнение результатов 59
1.6 Разработка UML-модели системы 61
1.6.1 Трансформация модели бизнес процессов в UML-модель 61
1.6.2 Модификация полученной в результате трансформации UML-модели 63
1.7 Разработка сервисной модели 69
1.7.1 Трансформация в сервисную модель 69
1.7.2 Идентификация сервисов 71
1.7.3 Моделирование сервисов 73
1.8 Разработка базы данных 77
1.8.1 Трансформация UML-модели в логическую модель данных 77
1.8.2 Получение окончательной логической модели данных 81
1.8.3 Разработка физической модели данных 82
1.8.4 Генерация базы данных на основе физической модели данных 84
1.9 Реализация сервисов 85
1.10 Выводы 87
2 Экономическая часть 89
2.1 Экономическая эффективность от внедрения сервисов, реализованных на базе сервис-ориентированной архитектуры. 89
2.1.1 Абсолютный показатель изменения годовой трудоемкости обработки информации в результате внедрения SOA-решения для процесса заключения договора страхования 90
2.1.2 Абсолютный показатель изменения годовых затрат на обработку информации в результате внедрения SOA-решения для процесса заключения договора страхования 91
2.1.3 Относительные показатели изменения годовой трудоемкости и годовых затрат на обработку информации в результате внедрения проекта 97
2.1.4 Расчетный коэффициент эффективности единовременных затрат на разработку и внедрение проекта 98
2.1.5 Срок окупаемости единовременных затрат на разработку и внедрение проекта 104
2.2 Выводы 104
3 Экологическая часть и безопасность жизнедеятельности 105
3.1 Требования к организации рабочего места пользователя (сотрудника страховой компании) 105
3.2 Вредные излучения при работе компьютера и способы их минимизации 113
3.3 Заболевания, развивающиеся при работе за компьютером, и их профилактика 116
3.4 Выводы 118
Заключение 120
Список использованной литературы 122
Приложение А. 126
Проект требований 126
Приложение Б. 129
Модель бизнес-процессов 129
Приложение В. 139
Трансформированная модель бизнес-процессов в UML-модель 139
Приложение Г. 155
Трансформированная сервисная модель 155
Приложение Д. 162
WSDL описания сервисов 162
Приложение Е. 178
Исходный Java-код сервисов 178
Приложение Ж. 191
Логическая модель данных, полученная путем трансформации UML-модели 191
Приложение И. 202
SQL скрипт для генерации схемы базы данных 202
а) Сохранность и целостность данных. При обеспечении групповой работы многих пользователей с одними и теми же данными нужно обеспечивать сохранность последних, т.е. предотвращать исчезновение данных, введенных одним из пользователей, и в то же время целостность данных, т.е. выполнение всех присущих данным ограничений (их непротиворечивость).
б) Защищенность данных и коммуникаций. При работе с коммерческими системами, с системами, содержащими большие объемы персональной и бизнес-информации, с системами обслуживания пользователей государственных служб достаточно важна защищенность как информации, постоянно хранящейся в системе, так и информации одного сеанса работы. Для распределенных систем обеспечить защищенность гораздо сложнее, поскольку нельзя физически изолировать все элементы системы и разрешить доступ к ней только особо проверенным пользователям.
в) Отказоустойчивость и способность к восстановлению после ошибок. Необходимо тщательное проектирование систем во избежание зависимости работоспособности системы от ее отдельных компонентов. Еще важнее для систем уметь восстанавливаться после сбоев. Уровни этого восстановления могут быть различными. Так, обычно, данные одного сеанса работы считается возможным не восстанавливать, поскольку такие данные часто малозначимы или легко восстанавливаются, но так называемые постоянно хранимые (persistent) данные обычно требуется восстанавливать до последнего непротиворечивого их состояния.
7) Соответствие быстроменяющимся требованиям бизнеса. Важно понимать, что информационные технологии являются инструментом для развития бизнеса компании, очень важна способность информационной системы к изменениям в соответствии с меняющимися требованиями бизнеса. Значительное количество проектов выходят за бюджет и не вписываются в отведенное на их разработку время из-за отсутствия, некорректности или изменения требований. Технология не имеет значения: проект, имеющий самую эффективную архитектуру, использующий все стандартные технологии, являющийся устойчивым и выполняющий больше обещанного, но не отвечающий начальным бизнес-требованиям, является пустой тратой времени и средств.
В таблице 1 представлен анализ систем, построенных на основе различных архитектур. Анализ проведен в соответствие с выделенными требованиями к современной архитектуре программных систем.
Таблица 1 - Анализ систем, построенных на основе различных архитектур
Монолитные системы |
Компонентные системы |
Системы, разработанные на базе SOA | |
Автоматизация разработки программного обеспечения |
- существует возможность моделирования монолитных приложений на языке UML; - генерация кода на основе моделей UML; - при изменении монолитного
приложения генерация кода |
- генерация кода на основе IDL (для CORBA); - генерация кода на основе моделей UML; - использование генерации кода при изменении отдельных компонентов системы;
|
- трансформация моделей - генерация программного кода для конкретных платформ на основе моделей UML; - применение промышленного стандарта разработки, управляемой моделями (MDD, Model Driven development); |
Открытость и повторное |
- понятие повторного - монолитные приложения |
- возможность быстро и - в то время, когда создавались технологии DСОМ и CORBA, стандарта для совместного использования структурированных данных не существовало. И лишь позднее появились такие стандарты, как SGML, XML и SOAP, предназначенные непосредственно для представления типов данных. |
- повторное использование - строго стандартизованные |
Масштабируемость |
- повышение производительности
монолитного приложение |
- стандарт DСОМ тесно связан с платформой Windows. Не существует простого способа создать и разместить СОМ-компонент в другой операционной системе, такой как UNIX; - модель CORBA сложно использовать в языках, отличных от Java; - с помощью DСОМ и CORBA можно спроектировать компоненты, способные взаимодействовать с сотнями клиентов так же легко, как и с десятками. Однако это требует от программистов огромного опыта. Выгода от использования такого компонента, может не оправдать время и денежные затраты на его разработку [4]; |
- высокая масштабируемость - для увеличения |
Разработка с перспективой интеграции |
- Достаточно низкий уровень
интеграции. Только использование
открытых стандартов может |
- DCOM применим лишь в качестве решения для систем, ориентированных исключительно на продукты Microsoft; - высокая способность систем на основе CORBA к интеграции за счет платформенной независимости CORBA[5]; - брокеры объектных запросов ORB (Object Request Broker), являющиеся посредниками, промежуточными звеньями системы и скрывающие в себе всю сложную логику взаимодействия клиентского приложения с серверными объектами от различных производителей, оказались не совместимыми (или не полностью совместимыми), что не позволило строить на основе CORBA распределенные системы, действительно независимые от платформы и поставщика программного обеспечения для промежуточного слоя[6]. |
- высокий уровень интеграции
за счет использования - сервис функционирует по принципу черного ящика и имеет интерфейс со строго определенными входами и выходами. Это обеспечивает высокий уровень интеграции; - возможность интеграции - использование корпоративной интеграционной шины (ESB); |
Связность приложений |
- приложение реализуется как монолит, в нем отсутствуют компоненты, требующие связности; |
- жесткое связывание (tight coupling). Для связи взаимодействующих компонентов вырабатывается некий специальный формат данных, а возможно даже, и протокол связи; на обеих сторонах создаются программы, умеющие этот формат обрабатывать. Подключение новых компонентов к такой системе требует больших финансовых и временных затрат[6]. |
- слабо-связанные сервисы |
Безопасность |
- монолитное приложение |
- для решения задач - DCOM использует framework повышенной безопасности, предлагаемый Windows NT. Windows NT предусматривает набор встроенных провайдеров безопасности, поддерживающий многочисленные механизмы идентификации и аутентификации, от традиционных моделей доменов доверия (trusted-domain) до нецентрализованно управляемых, хорошо масштабируемых механизмов безопасности[9]. |
- безопасность в SOA- - базовые стандарты (SOAP Foundation) включают
в себя спецификации XML Signature и
XML Encryption, которые определяют - WS-Security определяет базовые механизмы и форматы использования security-token в составе SOAP-запросов. Основной целью WS-Security является абстрагирование реализации политик безопасности Web-сервисов от конкретных методов (например, протоколов аутентификации и авторизации). - WS-Policy определяет шаблоны и правила описания политики бeзопасности для Web-сервисов. - WS-Trust описывает правила организации
доверенных отношений между - WS-Privacy определяет форматы политики конфиденциальности при обмене SOAP-сообщениями. - WS-SecureConversation регламентирует правила
безопасного обмена - WS-Federation является спецификацией,
определяющей установление - WS-Authorization описывает форматы описания правил разграничения доступа к Web-сервисам[10]. |
Соответствие быстроменяющимся требованиям бизнеса |
- при использовании монолитных систем бизнес находится в жестких рамках, созданных предоставляемой функциональностью монолитного приложения. В таком случае бизнес подстраивает свои процессы под возможности программного продукта, в определенный момент программный продукт полностью перестает удовлетворять требованиям бизнеса. |
- компонентные системы |
- SOA решение соответствует быстроменяющимся требованиям бизнеса за счет повторного использования, использования открытых стандартов, высокой интеграционной способности. Все это позволяет быстро перестраивать существующие системы, а также внедрять новые сервисы. |
Исходя из вышеупомянутых
проблем и проведенного анализа
систем на основе различных архитектур,
можно сделать следующие
Проблема отсутствия
автоматизации части бизнес-
Снижение бюджета на поддержку и модернизацию существующих и разработку новых систем заставляет компании переходить на системы, сочетающие в себе повторное использование, высокую способность к интеграции, сокращение времени внедрения, снижение стоимости сопровождения системы, а также гибкость системы. Монолитные системы не способны решить данную задачу – низкая способность к интеграции, невозможность повторного использования – исключают использование монолитных систем для решения выделенной проблемы. Данная проблема решается внедрением компонентных систем и сервис-ориентированных (SOA) систем. В отличие от сервис-ориентированных систем компонентные системы имеют некоторые ограничения, например разработка для одной платформы (Windows), несовместимость компонентов различных поставщиков, что влечет за собой увеличению стоимости внедрения данных компонент. Внедрив SOA решение, компания сэкономит деньги и время в долгосрочной перспективе за счет повторного использования и гибкости SOA. Внедрение SOA не предполагает замену всего программного обеспечения. SOA можно внедрять постепенно, тем самым позволить компании эффективнее планировать свой бюджет.
Способность с частым изменениям, прозрачность и управляемость бизнесом обеспечивается только SOA-решением. Как представлено в анализе, монолитные системы не соответствуют быстроменяющимся требованиям бизнеса, то есть не управляются им. Компонентные системы достаточно просто изменять, но если в процессе изменения присутствует интеграция, может возникнуть проблема несовместимости компонент различных поставщиков. Решение, построенное на базе SOA, достаточно легко подстраивать под изменяющиеся требования компании. Достаточно модернизировать или заменить сервис, не перестраивая всего процесса. Концепция SOA предполагает разработку приложений на протяжении всего его жизненного цикла в тесной связи с требованиями, то есть тесной связи бизнес-целей компании и ИТ решением.
Проблемы интеграции приложений и систем внутри компании, при консолидации и расширении бизнеса, проблемы интеграции данных субъектов страхового рынка не решаются внедрением монолитной системы. Компонентная система может решить данную проблему, если компоненты различных поставщиков будут совместимыми. В случае консолидации бизнеса система должна быть хорошо масштабируемой. Ориентированность компонентных систем на одну платформу (Windows), а также жесткое связывание затрудняют использование компонентных систем для решения данных проблем. За счет повторного использования, использования открытых международных стандартов, слабой связности сяоставляющих SOA решение решает проблему интеграции приложений и данных.
Таким образом, для выделенных проблем в страховой компании наиболее эффективным решением является решение, построенное на базе сервис-ориентированной архитектуры. Проектируемое решение будет создано на основе многократно используемых сервисов, инкапсулирующих функциональные возможности, изолированные от конкретной реализации, и предоставления средств для управления связностью между отдельными функциональными возможностями. В концепции SOA каждый отдельный метод или сервис в целом строго и полностью соответствует конкретным бизнес-задачам, выполнение которых в определенной последовательности соответствует тому или иному бизнес-процессу. Строгое соответствие обеспечивается постановкой требований, которые в свою очередь реализуются в модели решения (как в модели бизнес-процессов, так и в UML-модели). Благодаря высокому уровню инкапсуляции и возможности многократного использования достаточно просто перестраивать процессы, добавляя новые компоненты и заменяя уже существующие. Все это, а также использование открытых стандартов, позволяет существенно сократить затраты компании на модернизацию решения.
Резюмируя вышесказанное, можно отметить следующие преимущества от внедрения SOA-решения в страховой компании[11]:
Моделирование бизнес-процесса является одним из этапов жизненного цикла SOA. В концепции SOA модели бизнес-процессов строятся в нотации BPMN (Business Process Modeling Notation) - спецификация, содержащая графическую нотацию описания бизнес-процессов на диаграммах, называемых BPD (Business Process Diagram, что дословно переводится как "диаграмма бизнес-процессов"). Модели, построенные с использованием спецификации BPMN, можно трансформировать в BPEL, который на языке XML формально описывает бизнес-процессы и протоколы их взаимодействия между собой и который активно используется в области интеграции и SOA.
Спецификация BPMN разработана организацией Business Process Management Initiative (BPMI) в 2001-2004 годах с учётом множества ранее существовавших диаграмм (таких как диаграммы стандарта IDEF0, IDEF3, DFD (Data Flow Diagramming). Процессы, описанные в нотации BPMN легко воспринимаются пользователями: от бизнес-аналитика, создающего первые наброски описаний процессов, к техническим специалистам, отвечающим за реализацию этих процессов в Системе, и, наконец, до людей бизнеса, которые управляют этими процессами и контролируют их работу.
Сегодня на российском рынке можно найти большое количество программных продуктов, которые используются для описания бизнес-процессов компании. Среди российских разработок можно выделить:
Из наиболее популярных зарубежных программных продуктов необходимо отметить:
Только два продукта
позволяют описать бизнес-
В таблице 2 представлена сравнительная характеристика двух указанных продуктов. Продукты рассматривается в следующих направлениях[12]:
Таблица 2 - Сравнение ПО для моделирования бизнеса
Возможность |
IBM WEBSPHERE BUSINESS MODELER |
ARIS BUSINESS PERFORMANCE EDITION | |
Моделируемые предметные области | |||
1 |
Процессное управление |
Да |
Да |
Способы представления данных | |||
2 |
Справочники |
Да |
Да |
3 |
Проекции (механизм установки взаимосвязи между данными справочников в отношении «многие ко многим») |
Да |
Да |
4 |
Диаграммы, в том числе, диаграммы нотации: |
Да |
Да |
5 |
Basic Flowchart |
Нет |
Да |
6 |
Cross Functional Flowchart |
Нет |
Да |
7 |
EPC (Event-Driven Process Chain) |
Нет |
Да |
8 |
Организационная диаграмма |
Да |
Да |
9 |
BPMN |
Да |
Да |
Возможности получения регламентной отчетности | |||
10 |
Возможность разработки регламентных отчетов. |
Да |
Да |
11 |
Параметризация отчетов |
Да |
Да |
12 |
Создание набора шаблонов отчетов для любого справочника |
Да |
Да |
13 |
Экспорт отчетов во внешние файлы |
MS Word, PDF , XML, в другие отчеты системы |
MS Word, MS Excel, TXT, HTML, PDF, XML, в другие отчеты системы |
Возможности анализа бизнес-процессов | |||
14 |
Имитационное моделирование |
Да |
Да |
15 |
Стоимостной анализ |
Да |
Да |
16 |
Анализ загрузки ресурсов при выполнении процессов |
Да |
Да |
17 |
Расчет среднего времени выполнения процессов |
Да |
Нет |
Инфраструктура | |||
18 |
Наличие GUI — интерфейса |
Да |
Да |
19 |
Наличие web-интерфейса |
Да |
Да |
20 |
Поиск по данным моделей |
Да |
Да |
21 |
Требования к наличию сторонних программных продуктов |
Нет |
MS Office# Базы данных Oracle и/или SQL |
22 |
Настройка доступа к объектам модели |
Да |
Да |
Для выполнения бизнес моделирования была выбрана спецификация BPMN и программный продукт IBM WebSphere Business Modeler (далее WBM), реализующий данную спецификацию.
Выбор был сделан в пользу упомянутого продукта исходя из ряда условий. Во-первых, стояла задача построения бизнес-процессов «как есть» и «как должно быть», анализа этих процессов. То есть, необходимо было сконцентрироваться именно на протекающих процессах в компании. Необходимо было проанализировать ресурсы, используемые в процессе, стоимость и продолжительность процессов, выполняемых в различных условиях и с различными входными данными. Продукт WBM позволяет получить требуемые данные. Продукт Aris безусловно предоставляет мощный инструментарий для моделирования процессов, но не дает возможности исследовать среднее время выполнения процессов. Во-вторых, наличие лицензии. IBM WBM доступен нашему ВУЗу в полном объёме по академической лицензии, в то время как продукт ARIS BUSINESS PERFORMANCE EDITION доступен в ограниченной версии, не позволяющей в полной мере исследовать процессы.
Для построения моделей данных, UML моделей системы, а также сервисной модели системы были использованы следующие продукты:
Альтернативными вариантами являются ERWin, использующийся для моделирования баз данных, и IBM Rational Rose, использующийся для визуального моделирования систем на языке UML.
Так как в дипломном
проекте используется метод разработки
управляемой моделями, в состав которого
входят такие понятие как
Применяя метод разработки управляемой моделями, построить решение можно практически на любой СУБД. В данном проекте в качестве СУБД была выбрана IBM DB2 Express-C версии 8.2. В таблице 3 представлено сравнение с такими системами как SQL Server 2005 Express и Oracle 10g Express Edition.
Таблица 3 - Сравнение СУБД
Характеристика |
IBM DB2 Express-C |
SQL Server 2005 Express |
Oracle 10g Express Edition |
Процессор |
В пределах одного процессора (поддержка двухядерного процессора) |
В пределах одного процессора |
В пределах одного процессора |
Оперативная память |
2 Гб |
1 Гб |
1 Гб |
Ограничение на размер базы данных |
Нет ограничений |
4 Гб |
4 Гб |
Поддержка 32/64 битных систем |
32/64 bit |
32 bit |
32 bit |