- •Учебник
- •Оглавление
- •Глава 1. Стандарты и профили в области информационных систем 5
- •Глава 2. Методологические основы проектирования информационных систем 33
- •Глава 3. Проектирование информационных систем 80
- •3.2.1 Основные понятия 85
- •Глава 4. Практикум по системному проектированию информационных систем 119
- •Глава 1. Стандарты и профили в области информационных систем
- •1.1. Основные этапы автоматизации информационных процессов
- •Вопросы для самопроверки
- •1.2. Подходы к построению и проектированию информационных систем
- •Вопросы для самопроверки
- •1.3. Стандарты в области информационных систем
- •1.3.1. Международный стандарт iso/iec 12207: 1995-08-01
- •1.3.2 Стандарты комплекса гост34
- •1.3.3 Методика Oracle cdm
- •Вопросы для самопроверки
- •1.4. Профили в области информационных систем
- •1.4.1. Понятие профиля ис. Цели и принципы формирования профилей информационных систем
- •1.4.2. Структура и содержание профилей информационных систем
- •1.4.3. Процессы формирования, развития и применения профилей информационных систем
- •Вопросы для самопроверки
- •Библиографический список
- •Глава 2. Методологические основы проектирования информационных систем
- •2.1. Основные понятия
- •Вопросы для самопроверки
- •2.2. Методологические подходы к проектированию информационных систем
- •Вопросы для самопроверки
- •2.3. Методология структурного анализа и проектирования информационных систем
- •2.3.1. Основные понятия idef0
- •Вопросы для самопроверки
- •2.3.2. Основные понятия методологии sadt
- •Вопросы для самопроверки
- •2.3.3. Bpwin – инструмент реализации методологий структурного анализа и проектирования
- •Вопросы для самопроверки
- •2.4. Методология объектно-ориентированного анализа и проектирования информационных систем
- •2.4.1. Сущность объектно-ориентированного подхода к анализу и проектированию ис
- •Вопросы для самопроверки
- •2.4.2.1. Диаграммы вариантов использования (модели прецедентов)
- •2.4.2.2. Диаграммы классов
- •2.4.2.3. Диаграммы взаимодействия
- •2.4.3. Методология Rational Unified Process (rup)
- •Вопросы для самопроверки
- •Библиографический список
- •Глава 3. Проектирование информационных систем
- •3.1 Модели информационных систем
- •Вопросы для самопроверки
- •3.2 Методологии проектирования информационных систем
- •3.2.1 Основные понятия
- •3.2.2 Методологии моделирования бизнес-процессов
- •3.2.3 Методология моделирования информационных систем
- •Вопросы для самопроверки
- •3.3 Методика системного проектирования
- •3.3.1 Предпроектное обследование
- •3.3.2. Создание концепции новой ис
- •3.3.3. Разработка системного проекта ис
- •Вопросы для самопроверки
- •Библиографический список
- •Глава 4. Практикум по системному проектированию информационных систем
- •Инструментальная поддержка основных этапов жизненного цикла ис линейками продуктов AllFusion и Rational
- •4.1 Методологические основы проектирования ис
- •4.1.1 Постановка задачи. Определение рабочей области моделирования
- •4.1.2 Моделирование бизнес-процессов с использованием методологии sadt и инструментария AllFusion Modelling Suite
- •4.1.3 Моделирование бизнес-процессов с использованием методологии rup и инструментария Rational Suite
- •4.1.4 Моделирование потоков данных с использованием методологии sadt и инструментария AllFusion Modeling Suite
- •4.1.5 Моделирование потоков работ с использованием методологии sadt и инструментария AllFusion Modeling Suite
- •4.1.6 Моделирование потоков работ с использованием методологии rup и инструментария Rational Suite
- •4.1.7 Создание дополнительных моделей предметной области с использованием инструментария AllFusion Modeling Suite
- •4.2 Основы системного проектирования ис
- •4.2.1 Предпроектное обследование
- •4.2.1.1 Сбор и анализ документов, описывающих процессы предметной области
- •4.2.1.2 Создание модели as-is бизнес-процессов деятельности компании
- •4.2.1.3 Создание модели информационных потоков предметной области компании
- •4.2.1.4. Определение «узких» мест и выработка предложений по усовершенствованию ис компании
- •4.2.2 Создание концепции новой ис
- •4.2.2.1 Формирование требований к новой ис
- •1. Введение
- •2. Общее описание
- •3. Функции системы
- •4. Требования к внешнему интерфейсу
- •5. Другие нефункциональные требования
- •4.2.2.2 Создание прототипов новой ис
- •4.2.3 Создание технического задания на проект ис
- •Библиографический список
- •Глоссарий
Вопросы для самопроверки
-
Какие методологии поддерживает Bpwin?
-
Что отличает Bpwin от графического редактора?
-
Для чего используется методология DFD?
-
Перечислите основные элементы нотации DFD.
-
Для чего используется методология IDEF3?
-
Какие типы моделей позволяет строить методология IDEF3?
-
Перечислите основные элементы нотации IDEF3.
-
Укажите типы связей IDEF3.
-
Опишите виды перекрестков IDEF3.
-
Что собой представляет модель, выполненная в Bpwin?
-
Какой инструмент является инструментом навигации Bpwin?
-
Какие словари поддерживает Bpwin?
-
Какой инструмент служит для создания отчетов Bpwin?
-
Опишите вспомогательные диаграммы Node Tree Diagram.
-
Для чего нужны FEO диаграммы?
-
Что такое диаграммы сценариев IDEF3 Scenario?
-
Как создаются диаграммы Organization Charts?
-
Для чего нужны Swim Lane диаграммы?
-
Как в Bpwin проводится анализ модели AS IS?
-
Как реализованы ABC (Activity-Based Costing) метод и UDP (User Defined Properties) в Bpwin?
2.4. Методология объектно-ориентированного анализа и проектирования информационных систем
2.4.1. Сущность объектно-ориентированного подхода к анализу и проектированию ис
Объектно-ориентированный подход (ООП) использует объектную декомпозицию. При этом структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. Каждый объект системы обладает своим собственным поведением, моделирующим поведение объекта реального мира.
Концептуальной основой объектно-ориентированного подхода является объектная модель. Ее основными понятиями являются: объекты и атрибуты, целое и часть, классы и экземпляры.
Объект определяется как осязаемая реальность (tangible entity) - предмет или явление, имеющие четко определяемое поведение. Объект обладает состоянием, поведением и индивидуальностью; структура и поведение схожих объектов определяют общий для них класс. Термины «экземпляр класса» и «объект» являются эквивалентными. Состояние объекта характеризуется перечнем всех возможных (статических) свойств данного объекта и текущими значениями (динамическими) каждого из этих свойств. Поведение характеризует воздействие объекта на другие объекты и наоборот с точки зрения изменения состояния этих объектов и передачи сообщений. Иначе говоря, поведение объекта полностью определяется его действиями. Индивидуальность - это свойства объекта, отличающие его от всех других объектов.
Определенное воздействие одного объекта на другой с целью вызвать соответствующую реакцию называется операцией. Как правило, в объектных и объектно-ориентированных языках операции, выполняемые над данным объектом, называются методами и являются составной частью определения класса.
Класс - это множество объектов, связанных общностью структуры и поведения. Класс инкапсулирует (объединяет) в себе данные (атрибуты) и поведение (операции). Любой объект является экземпляром класса.
Основными механизмами объектной модели являются:
-
абстрагирование (abstraction);
-
инкапсуляция (encapsulation);
-
наследование (inheritance);
-
полиморфизм (polymorphism);
-
модульность (modularity);
-
иерархия (hierarchy).
Абстрагирование - это выделение существенных характеристики некоторого объекта, которые отличают его от всех других видов объектов и, таким образом, четко определяют его концептуальные границы с точки зрения дальнейшего рассмотрения и анализа. Абстрагирование концентрирует внимание на внешних особенностях объекта и позволяет отделить самые существенные особенности его поведения от деталей их реализации.
Инкапсуляция - это объединение в рамках объекта операций и атрибутов, отражающих его состояние, с целью обеспечить доступность и изменяемость состояния только посредством интерфейса, предоставляемого объектом. Инкапсуляция служит для того, чтобы изолировать интерфейс объекта, отражающий его внешнее поведение, от внутренней реализации объекта. Объектный подход предполагает, что собственные ресурсы, которыми могут манипулировать только методы самого класса, скрыты от внешней среды. Абстрагирование и инкапсуляция являются взаимодополняющими операциями: абстрагирование фокусирует внимание на внешних особенностях объекта, а инкапсуляция (или иначе ограничение доступа) не позволяет объектам-пользователям различать внутреннее устройство объекта.
Наследование означает построение новых классов на основе существующих с возможностью добавления или переопределения данных и методов.
Модульность - это свойство системы, связанное с возможностью ее декомпозиции на ряд внутренне связных, но слабо связанных между собой модулей. Инкапсуляция и модульность создают барьеры между абстракциями.
Полиморфизм может быть интерпретирован, как способность класса принадлежать более чем одному типу. Этот механизм позволяет определить единственное имя операции или атрибута более чем в одном классе, причем в каждом из этих классов ему могут соответствовать различные реализации.
Иерархия - это ранжированная или упорядоченная система абстракций, расположение их по уровням. Основными видами иерархических структур применительно к сложным системам являются структура классов (иерархия по номенклатуре) и структура объектов (иерархия по составу). Примерами иерархии классов являются простое и множественное наследование (один класс использует структурную или функциональную часть соответственно одного или нескольких других классов), а иерархии объектов - агрегация.
Объектно-ориентированная система изначально строится с учетом ее эволюции. Наследование и полиморфизм обеспечивают возможность определения новой функциональности классов с помощью создания производных классов - потомков базовых классов. Потомки наследуют характеристики родительских классов без изменения их первоначального описания и добавляют при необходимости собственные структуры данных и методы. Определение производных классов, при котором задаются только различия или уточнения, в огромной степени экономит время и усилия при производстве и использовании спецификаций и программного кода.
Другим важным качеством объектного подхода является согласованность моделей деятельности организации и моделей проектируемой системы от стадии формирования требований до стадии реализации. Требование согласованности моделей выполняется благодаря возможности применения абстрагирования, модульности, полиморфизма на всех стадиях разработки. Модели ранних стадий могут быть непосредственно подвергнуты сравнению с моделями реализации. По объектным моделям может быть прослежено отображение реальных сущностей моделируемой предметной области (организации) в объекты и классы информационной системы.
Гради Буч сформулировал основное отличие объектно-ориентированных систем: объектно-ориентированные системы более открыты и легче поддаются внесению изменений, поскольку их конструкция базируется на устойчивых формах. Это дает возможность системе развиваться постепенно и не приводит к полной ее переработке даже в случае существенных изменений исходных требований.
Кроме того, он отмечает также ряд следующих преимуществ объектно-ориентированного подхода:
-
объектная декомпозиция дает возможность создавать программные системы меньшего размера путем использования общих механизмов, обеспечивающих необходимую экономию выразительных средств. Использование объектного подхода существенно повышает уровень унификации разработки и пригодность для повторного использования не только программ, но и проектов, что в конце концов ведет к созданию среды разработки и переходу к сборочному созданию ПО. Системы зачастую получаются более компактными, чем их не объектно-ориентированные эквиваленты, что означает не только уменьшение объема программного кода, но и удешевление проекта за счет использования предыдущих разработок;
-
объектная декомпозиция уменьшает риск создания сложных систем ПО, так как она предполагает эволюционный путь развития системы на базе относительно небольших подсистем. Процесс интеграции системы растягивается на все время разработки, а не превращается в единовременное событие;
-
объектная модель вполне естественна, поскольку в первую очередь ориентирована на человеческое восприятие мира, а не на компьютерную реализацию;
-
объектная модель позволяет в полной мере использовать выразительные возможности объектных и объектно-ориентированных языков программирования.
К недостаткам объектно-ориентированного подхода относятся некоторое снижение производительности функционирования ПО и высокие начальные затраты. Объектная декомпозиция существенно отличается от функциональной, поэтому переход на новую технологию связан как с преодолением психологических трудностей, так и дополнительными финансовыми затратами.
Безусловно, объектно-ориентированная модель наиболее адекватно отражает реальный мир, представляющий собой совокупность взаимодействующих (посредством обмена сообщениями) объектов. Но на практике в настоящий момент продолжается формирование стандарта языка объектно-ориентированного моделирования UML, и количество CASE-средств, поддерживающих объектно-ориентированный подход, невелико по сравнению с поддерживающими структурный подход. Кроме того, диаграммы, отражающие специфику объектного подхода (диаграммы классов и т.п.), гораздо менее наглядны и плохо понимаемы непрофессионалами. Поэтому одна из главных целей внедрения CASE-технологии, а именно, снабжение всех участников проекта (в том числе и заказчика) общим языком "для передачи понимания", обеспечивается на сегодняшний день только структурными методами.