Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Применение объектно-ориентированного подхода при проектировании информационной системы

Содержание:

ВВЕДЕНИЕ

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

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

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

Предмет исследования - применение объектно-ориентированного подхода при проектировании информационной системы

Объект исследования – проектирование информационных систем.

Цель работы – рассмотреть базовые понятия информационный систем и особенности применение объектно-ориентированного подхода при проектировании информационной системы.

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

1. Изучить базовые понятия информационных систем

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

3. Описать основные понятия объектно-ориентированного подхода при проектировании

4. Сравнить программные продукты, которые применяются при объектно-ориентированном подходе для проектирования информационных систем

ГЛАВА 1. ОСНОВЫ ПРОЕКТИРОВАНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ

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

Данные – информация, которая представлена в форме, пригодной для обработки с помощью автоматических средств, компьютера [1].

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

1.1 Этапы проектирования информационных систем

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

Классической моделью процесса [6] разработки информационных систем является водопадная модель (waterflow process) или каскадная, в рамках которой процесс представляется последовательностью фаз анализа требований, проектирования, реализации, интеграции и тестирования (рисунок 1).

Анализ требований - сбор требований к продукту. Результат анализа - некоторый текст.[7]

Проектирование – это описание внутренней структуры продукта, в форме диаграмм и текстов.

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

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

Картинки по запросу водопадный процесс разработки

Рисунок 1. Каскадная модель процесса разработки информационной системы

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

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

1.2 Основные принципы проектирования информационных систем

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

Методологии анализа и проектирования информационных систем при построении моделей основаны на ряде общих принципов [14].

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

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

3. Принцип концептуальной общности на всех этапах жизненного цикла.

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

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

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

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

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

9. Принцип последовательности является согласованность моделей и самих моделей друг к другу.

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

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

1.3 Классификация моделей информационной системы

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

Классифицировать модели может быть по следующим признакам:

1. По строгости описания:

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

- Формальные модели делятся на:

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

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

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

2. С точки зрения физической реализации:

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

- Физическая модель - описывают элементы системы в соответствии с физической реализации этих элементов;

3. С точки зрения отображения динамики процессов:

- Статическая модель - описывает состав и структуру системы;

- Динамическая модель - описывает поведение системы и / или отдельных его элементов.;

4. По отображаемому аспекту:

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

- Информационные модели - описывают состав и структуру данных (реляционных баз данных, классы и т.д.);

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

- Компонентная модель - описывает состав и структуру программного обеспечения и аппаратных средств;

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

1.4 CASE-технологии анализа и проектирования

Значительно упростить и формализовать процессы формирования требований и проектирования системы позволяет современные CASE-средства.

CASE-технология представляет собой методологию проектирования информационных систем, совокупность методов, нотаций и инструментов, которые позволяют визуализировать модели в проблемной области, проанализировать модель системы на всех этапах разработки и сопровождения системы и разрабатывать приложения в соответствии с информационными потребностями пользователей [14].

Архитектура CASE-средства состоит из 6 компонентов:

  1. Репозитория данных
  2. Графического редактора диаграмм
  3. Верификатора диаграмм
  4. Документатора проекта
  5. Администратора проекта
  6. Сервиса

case-arch.png

Рисунок 2. Архитектура CASE-средств

Основными функциями технических средств, используемых CASE-инструментов являются:

  1. Централизованное хранение в единой базе данных проекта информации о информационной системы в течение всего жизненного цикла.
  2. Прямое проектирование программного обеспечения и баз данных. Порядок использования CASE-средства:
  • создать логическую модель системы;
  • выбрать конкретный язык программирования или базу данных для построения физической модели;
  • закончить создание физической модели;
  • автоматически сгенерировать текст программы или структуру базы данных на диске;
  1. Обратное проектирование (реинжиниринг). В этом случае, CASE-средства используются в обратном порядке - из текста программы или базы данных на диске в логические модели;
  2. Система синхронизации модели с ее физической реализации.
  3. Автоматическое обеспечение качества и тестирования моделей на наличие ошибок (например, ошибки нормализации баз данных), полнота и последовательность;
  4. Автоматическая генерация документации. Вся проектная документация автоматически генерируется в соответствии с действующими стандартами. Несомненным преимуществом CASE-технологии заключается в том, что документация всегда соответствует текущему положению дел, поскольку любые изменения в проекте автоматически отражаются в репозитории.

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

Большинство современных CASE-инструментов поддерживает методологию структурного и / или объектно-ориентированного анализа и проектирования информационных систем.

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

1.5 Основные понятия, используемые в объектно-ориентированном подходе

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

  • наследование,
  • полиморфизм,
  • инкапсуляция.

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

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

Ограничения доступа используются для:

• Реализация - механизмы абстракции внутренней реализации.

• Интерфейс - основные характеристики состояния и поведения;

Ограничивая доступ, таким образом, программист может добиться:

• Простота внедрения объектов.

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

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

3. Иерархия - система ранжирования абстракции.

Иерархия предполагает использование иерархии в разработке программного обеспечения.

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

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

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

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

6. Стабильность - способность существовать во времени, независимо от того процесса, который породившей объекта программы, перемещение из адресного пространства, в котором он был создан.

Основными понятиями, с которыми оперирует объектно-ориентированный подход является понятия:

  • классы
  • объекты

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

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

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

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

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

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

Возможные операции над объектами (рис.3) [8]:

Рисунок 3. Типы операций над объектом

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

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

1. Один объект передает сообщение другому, в этом случае подразумевают, что они находятся в отношении использования (рис.4),.

Рисунок 4. Типы отношений между объектами

2. Между объектами может существовать отношение включения – первый объект включает второй (иерархия целое/часть или если объект является результатом декомпозиции более сложного объекта, то говорят, что).

Класс - это тип, описывающий множество возможных структур данных, называемых экземплярами (instances) класса. Экземпляр класса конкретен – это структура данных, размещаемая в памяти компьютера и обрабатываемая программой. (рисунок 5)

Основные средства разработки классов (рисунок 6)

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

Рисунок 5. Соответствие объекта-абстракции классам объектам-переменным

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

Рисунок 6. Иерархия классов при различных видах наследования

Наиболее популярными методологиями, поддерживающими объектно-ориентированный подход, в настоящий момент являются:

- Унифицированный процесс (Unified Process, UP);

- экстремальное программирование (eXtreme Programming, XP);

- гибкое моделирование (Agile Modeling, AM).

Базовым средством фиксации (документирования) результатов проектирования систем посредством этих методологий является Унифицированный язык моделирования (Unified Modeling Language, UML).

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

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

1. Описание системы в виде объектов в большей степени соответствует содержательному смыслу предметной области;

2. Сущности реального мира, как правило, обладают поведением, что для объектно-ориентированного проектирования отражается путем определения методов класса. Данные структурного подхода (атрибуты) и алгоритмы (методы) отделены друг от друга;

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

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

• позволяет повторное использование компонентов;

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

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

ГЛАВА 2. ПРОГРАММНЫЕ ПРОДУКТЫ ДЛЯ АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ

Базовыми составляющими объектно-ориентированного подхода являются:

- Унифицированный процесс;

- Унифицированный язык моделирования;

- шаблоны проектирования.

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

Неотъемлемой частью Унифицированного процесса является UML – язык (система обозначений) для определения, визуализации и конструирования моделей системы в виде диаграмм и документов на основе объектно-ориентированного подхода [29]. Следует отметить, что Унифицированный процесс и UML разрабатывались совместно.

На стадиях анализа и проектирования часто используются так называемые шаблоны (паттерны) проектирования. Шаблон – это именованная пара «проблема/решение», содержащая готовое обобщенное решение типичной проблемы [13]. Как правило, шаблон помимо текстового описания содержит также одну или несколько диаграмм UML (например, диаграммы классов, последовательности и/или коммуникации), графически иллюстрирующих состав и структуру классов, а также особенности их взаимодействия при решении поставленной проблемы. Шаблоны разрабатываются опытными профессионалами и являются проверенными, эффективными (порой оптимальными) решениями. Применение шаблонов может резко сократить затраты и повысить качество разработки ПО.

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

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

Для этого стоит воспользоваться "стандартной" технологией унифицированным языком моделирования (Unified Modeling Language, UML), который является графическим языком для визуализации, проектирования, спецификации документирования систем.

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

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

Основные понятия UML:

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

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

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

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

Модель - объект, отображающий наиболее значимые для конкретной задачи характеристики системы. Модели бывают разные – нематериальные и материальные, естественные и искусственные, математические и декоративные.

Диаграмма - графическое представление множества элементов. Чаще всего изображается в виде графа с вершинами (сущностями) и ребрами (отношениями). Примеров диаграмм : блок-схема, и схемы монтажа оборудования, и дерево файлов и каталогов на диске и т.д.. Рисунок воспринимается легче, чем текст...

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

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

Набор диаграмм будет составлять модель системы и наиболее полно будет ее описывать.

Виды диаграмм

UML 1.5 определял двенадцать типов диаграмм, разделенных на три группы:

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

• четыре типа диаграмм изображают статическую структуру приложения;;

• три представляют физические аспекты функционирования системы (диаграммы реализации).

Широко применяются следующие виды диаграмм:

• активности;

• классов;

• прецедентов;

• последовательностей;

• объектов;

• состояний;

• взаимодействия;

• развертывания.

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

  1. Rational Rose
  2. Microsoft Visio
  3. Sybase PowerDesigner
  4. Case Complete
  5. Artiso Visual Case
  6. Magic Draw
  7. Sparx Enterprise Architect

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

2.1 Rational Rose

Rational Rose (рисунок 7) - CASE-средство фирмы Rational Software Corporation (США) - предназначено для автоматизации этапов анализа и проектирования ПО, а также для генерации кодов на различных языках и выпуска проектной документации [2,3]. Rational Rose использует синтез-методологию объектно-ориентированного анализа и проектирования.

Похожее изображение

Рисунок 7. Логотип Rational Rose

Основной вариант - Rational Rose/C++ - позволяет разрабатывать проектную документацию в виде диаграмм и спецификаций, а также генерировать программные коды на С++. (рисунок 8)

Похожее изображение

Рисунок 8. Пример диаграмма прецедентов в среде Rational Rose

Rational Rose содержит средства реинжиниринга программ, обеспечивающие повторное использование программных компонент в новых проектах.

В основе работы Rational Rose лежит построение различного рода диаграмм и спецификаций, определяющих логическую и физическую структуры модели, ее статические и динамические аспекты. В их число входят диаграммы классов, состояний, сценариев, модулей, процессов [4]. (рисунок 9)

Картинки по запросу rational rose примеры диаграмм

Рисунок 9. Пример диаграммы классов в среде Rational Rose

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

Rational Rose функционирует на различных платформах: IBM PC (в среде Windows), Sun SPARC stations (UNIX, Solaris, SunOS), Hewlett-Packard (HP UX), IBM RS/6000 (AIX).

Принципиальное отличие Rational Rose от других средств заключается в объектно-ориентированном подходе. Графические модели, создаваемые с помощью этого средства, основаны на объектно-ориентированных принципах и языке UML (Unified Modeling Language). Инструменты моделирования Rational Rose позволяют разработчикам создавать целостную архитектуру процессов предприятия, сохраняя все взаимосвязи и управляющие воздействия между различными уровнями иерархии.

2.2 Microsoft Visio

Microsoft Visio — векторный графический редактор, редактор диаграмм и блок-схем для Windows. Выпускается в трёх редакциях: Standard, Professional и Pro for Office 365 (рисунок 10) [12].

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

Картинки по запросу Microsoft Visio логотип

Рисунок 10. Логотип Microsoft Visio

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

1. С помощью шаблона схемы классов UML можно создавать статичные структурные схемы. На основе этих схем удобно разрабатывать модели классов и объектов в программном обеспечении.

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

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

https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/77/95/5153.visio_uml.PNG

Рисунок 11. Типы UML диаграмм поддерживаемых Microsoft Visio

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

На панели фигур доступно четыре типа соединителей сообщений: сообщение, ответное сообщение, сообщение самому себе и асинхронное сообщение.

3. Схема деятельности UML — это особый случай схемы состояний, в которой все состояния являются состояниями деятельности, а переходы вызываются завершением действий, связанных с исходным состоянием. С помощью схемы деятельности можно описать внутреннее поведение метода и представить процесс, управляемый внутренними действиями. (рисунок 12)

Картинки по запросу диаграмма классов в Microsoft Visio пример

Рисунок 12. Пример 1 диаграммы в Microsoft Visio

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

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

Рисунок 13. Пример 2 диаграммы в Microsoft Visio

2.3 Sybase PowerDesigner

Sybase PowerDesigner (рисунок 14) является комплексным инструментом для моделирования и разработки приложений и бизнес-процессов, предназначенным для применения в проектах различных масштабов, включая крупные корпоративные проекты. PowerDesigner позволяет осуществлять несколько стадий создания приложений, начиная от системного анализа и дизайна и заканчивая непосредственной генерацией кода приложения. [11].

Картинки по запросу Sybase PowerDesigner логотип

Рисунок 14. Логотип PowerDesigner

PowerDesigner 9.5, обладает средствами моделирования бизнес-процессов, объектно-ориентированного UML-моделирования, а также моделирования данных. PowerDesigner позволяет различным сотрудникам компании, в том числе и неспециалистам в области разработки приложений, разрабатывать и моделировать бизнес-процессы, ориентируясь на бизнес-задачи и опираясь на известные им термины, с помощью простой и интуитивно понятной графической модели. (рисунок 15)

Похожее изображение

Рисунок 15. Пример разработки диаграмм в PowerDesigner

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

Особенностями последних версий PowerDesigner являются поддержка анализа и проектирования систем с использованием стандарта UML (диаграммы бизнес-процессов, последовательности выполнения, классов и компонентов). На основе диаграммы классов PowerDesigner автоматически осуществляет генерацию и реинжиниринг кода для Java, C++, PowerBuilder, Visual Basic, C#, Visual Basic .NET и ряда других языков программирования и средств разработки.

Рисунок 16. Диаграмма состояний в PowerDesigner

2.4 Сравнение CASE-средств

После ознакомления с подобными инструментами разработки , были выделены 3, которые оценены более детально. При оценке выделили около 30 критериев. Критерии сгруппированы следующим образом:

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

— Экспорт – инструмент должен поддерживать удобный экспорт артефактов, произведённых в нём. Должны быть доступны разные форматы экспорта – хотя бы html и doc. Шаблоны документов должны легко модифицироваться. Это тоже обязательный критерий.

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

— Минимизация рутины. Было бы неплохо, чтобы инструмент делал некоторые вещи сам – например, генерировал тест-кейсы, объектный дизайн из БД, может, куски кода.

Таблица 1 Сравнение CASE-средств

Программный продукт/

Критерии

Проектирование системы

Экспорт

Удобство пользования

Минимизация рутины

Rational Rose

+

-

+

-

Microsoft Visio

+

+

+

-

Sybase PowerDesigner

+

+

-

+

+ - отлично справляется с данным критерием

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

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

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

  1. Диаграммы разных видов позволяют взглянуть на систему с разных точек зрения.
  2. UML содержит диаграммы трех типов - для моделирования статической структуры, поведенческих аспектов и подробностей реализации приложения.
  3. Существует много программных продуктов, которые помогают реализовывать визуальное проектирование и поддерживают объектно-ориентированный подход, подробно рассмотрены следующие:
  • Rational Rose
  • Microsoft Visio
  • Sybase PowerDesigner
  1. Исходя из использования программных продуктов, сравнение не выявило абсолютного лидера. Но в силу использования Microsoft Visio в других разработках, автором отдается предпочтение именно этому программному продукту.

ЗАКЛЮЧЕНИЕ

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

1. Описание системы в виде объектов в большей степени соответствует содержательному смыслу предметной области;

2. Сущности реального мира, как правило, обладают поведением, что для объектно-ориентированного проектирования отражается путем определения методов класса. Данные структурного подхода (атрибуты) и алгоритмы (методы) отделены друг от друга;

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

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

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

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

  • Rational Rose
  • Microsoft Visio
  • Sybase PowerDesigner

7. Исходя из использования программных продуктов, сравнение не выявило абсолютного лидера. Но в силу использования Microsoft Visio в других разработках, автором отдается предпочтение именно этому программному продукту.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Петров, В.И. Информационные системы / В.Н. Петров. – СПб. : Питер, 2002. – 688 с.
  2. ГОСТ Р ИСО/МЭК 12207–02. Информационная технология. Процессы жизненного цикла программных средств.
  3. Вендров, А.М. CASE-технологии. Современные методы и средства проектирования информационных систем / А.М. Вендров. – М. : Финансы и статистика, 1998. – 176 с.
  4. Буч, Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++ / Г. Буч. – М.: Бином, 2001. – 560 с.
  5. Маклаков, С.В. Создание информационных систем с AllFusion Modeling Suite / С.В. Маклаков. – М. : ДИАЛОГ-МИФИ, 2005. – 432 с.
  6. Буч, Г. Язык UML. Руководство пользователя / Г. Буч, Дж. Рамбо, А. Якобсон. - СПб.: Питер, 2004. - 432 с.
  7. Леоненков, А.В. Объектно-ориентированный анализ и проектирование с использованием UML / А.В. Леоненков. – www.intuit.ru.
  8. Леоненков, А.В. Визуальное моделирование в среде IBM Rational Rose 2003 / А.В. Леоненков. – www.intuit.ru.
  9. Якобсон, А. Унифицированный процесс разработки программного обеспечения / А. Якобсон, Г. Буч, Дж. Рамбо. - СПб.: Питер, 2002. - 496 с.
  10. Крачтен, Ф. Введение в Rational Unified Process / Ф. Кратчен. - М.: Издательский дом «Вильямс», 2002. - 240 с.
  11. Элиенс, А. Принципы объектно-ориентированной разработки программ / А. Элиенс. – М.: Издательский дом «Вильямс», 2002. – 496 с.
  12. Ларман, К. Применение UML и шаблонов проектирования: Уч. Пос / К. Ларман. - М.: Издательский дом «Вильямс», 2001. - 496 с.
  13. Йордан, Э. Объектно-ориентированный анализ и проектирование систем / Э. Йордан, С. Аргила. - М.: Издательство «ЛОРИ», 2007. - 264 с.
  14. Фаулер, М. UML. Основы. Третье издание. / М. Фаулер. – М.: Символ-Плюс, 2006. – 192 с.
  15. Википедия. ru.wikipedia.org.