sonyps4.ru

Объектно-ориентированный язык моделирования UML. Объектно-ориентированное моделирование

Учебное пособие содержит: краткое изложение языка UML - той его части, которая может быть использована как основа языка моделирования сложных динамических систем; описание и возможности предлагаемого авторами нового языка моделирования на базе гибридных автоматов, являющегося расширением UML; исторический обзор и примеры различных подходов к конструированию инструментов моделирования; объектно-ориентированный анализ сложных динамических систем. Книга является второй из трех книг, объединенных общим названием Моделирование систем.

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

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

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

Оглавление
Оглавление
Предисловие
Глава 1. Объектно-ориентированный подход к моделированию
Необходимость в унифицированном языке описания моделей
Классы, экземпляры и многокомпонентные системы
Использование UML на начальной стадии проектирования
Диаграммы классов
Атрибуты
Поведение
Операции и методы
Абстрактные и конкретные классы. Интерфейсы
Классы и отношения
Ассоциация
Обобщение
Агрегация
Наследование
Полиморфизм
Поведение. Диаграммы состояний
Структурированные классификаторы
Компоненты
События и сигналы
Пакеты
Модель
Глава 2. Объектно-ориентированное моделирование сложных динамических систем на основе формализма гибридного автомата
Активный класс и активный динамический объект
Пакеты и модель
Использование пассивных объектов
Переменные
Типы данных
Скалярные типы
Вещественный тип
Целые типы
Булев тип
Перечислимые типы
Символьные типы
Регулярные типы
Векторы
Матрицы
Массивы
Списки
Комбинированный тип (запись)
Явно определяемые типы
Сигналы
Автоматическое приведение типов
Система уравнений
Карта поведения
Состояния
Переходы
Структурная схема
Объекты
Связи
Регулярные структуры
Наследование классов
Добавление новых элементов описания
Переопределение унаследованных элементов
Полиморфизм
Параметризованные классы
Глава 3. Моделирование гибридных систем и объектно-ориентированный подход в различных пакетах
Моделирование гибридных систем в инструментальных средствах для "больших" ЭВМ
Язык SLAM II
Язык НЕДИС
Гибридные модели в современных инструментах моделирования
Моделирование гибридных систем в пакете Simulink ("блочное моделирование")
Моделирование гибридных систем на языке Modelica ("физическое моделирование")
Гибридное направление
Языки объектно-ориентированного моделирования
Simula-67 и НЕДИС
ObjectMath
Omola
Modelica
Инструменты "блочного моделирования"
Анализ существующих языков ООМ применительно к моделированию сложных динамических систем
Глава 4. Многообъектные модели
Глава 5. Объектно-ориентированное моделирование и объектно-ориентированный анализ
Сложная техническая система
Объектно-ориентированный анализ при разработке сложных технических систем
Объектно-ориентированное моделирование на последующих этапах разработки и сопровождения сложной технической системы
Системно-аналитическая модель как основа "сквозной" технологии проектирования
Литература
Дополнительная литература к главе 1
Дополнительная литература к главе 2
Дополнительная литература к главе 3
Дополнительная литература к главе 4
Дополнительная литература к главе 5
Предметный указатель.

Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Моделирование систем, Объектно-ориентированный подход, Колесов Ю., Сениченков Ю., 2012 - fileskachat.com, быстрое и бесплатное скачивание.

Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России.

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Контрольная работа

" Объектно-ориентированное моделирование на основе UML "

Студент: Филатов Р.Д.

Липецк 2015

Введение

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

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

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

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

Создание диаграммы прецедентов

Диаграмма прецедентов (использования) называется диаграмма, на которой показана совокупность прецедентов и актеров, а также отношения (зависимости, обобщения и ассоциации) между ними. Диаграммы прецедентов применяются для моделирования вида системы с точки зрения прецедентов (или вариантов использования). Чаще всего это предполагает моделирование контекста системы, подсистемы или класса либо моделирование требований, предъявляемых к поведению указанных элементов. Этот вид диаграммы позволяет создать список операций, которые выполняет система. Диаграмма этого вида представляет важную информацию - это одно из основных преимуществ ее применения. Взглянув на варианты использования, можно понять, какие функциональные возможности будут заложены в систему. Рассматривая действующих лиц можно выяснить, кто конкретно будет с ней взаимодействовать. Изучая все множество вариантов использования и действующих лиц, определятся сфера применения системы (что она будет делать). Это помогает узнать также, что она не будет делать, и внести коррективы. На диаграмме нашей объектно-ориентированной модели (рисунок А.1) показаны два действующих лица (актера): банковский работник и клиент, а также семь основных действий, выполняемых моделируемой системой: открыть вклад, закрыть вклад, совершить операцию по покупке валюты, отказ по покупке валюты, совершить операцию по продаже валюты, начислить проценты, касса.

Создание диаграммы последовательности

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

Создание диаграммы сотрудничества

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

Создание диаграммы классов

Class diagram (диаграммы классов) позволяет создавать логическое представление системы, на основе которого создается исходный код описанных классов. На диаграммах классов отображаются некоторые классы и пакеты системы. Это статические картины фрагментов системы и связей между ними. Объединять классы можно как угодно, однако существует несколько наиболее распространенных подходов.

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

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

Наконец, применяют комбинацию двух указанных подходов. Для дальнейшей организации классов разрешается вкладывать пакеты друг в друга. На высоком уровне абстракции можно сгруппировать классы по функциональности, создав пакет Security. Внутри него можно создать другие пакеты, сгруппировав отвечающие за безопасность классы по функциональности или по стереотипу. Ознакомившись с классами модели, объединим эти классы в пакеты по стереотипу. Были созданы следующие пакеты: Entities (Сущности), Boundaries (Границы) и Control (Управление). В эти пакеты были помещены советующие им классы (рисунок А.4).

Классы-сущности (entity classes) отражают основные понятия (абстракции) предметной области и, как правило, содержат хранимую информацию. В данный пакет были добавлены класса Вклад и ВкладВалюты.

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

Граничные классы (boundary classes) - позволяют действующему лицу взаимодействовать с системой. Каждому взаимодействию между действующим лицом и вариантом использования должен соответствовать по крайней мере один граничный класс.

Граничные классы (boundary classes) - это классы, которые расположены на границе системы и окружающей среды. Они включают все формы, отчеты, интерфейсы с аппаратурой (такой, как принтеры или сканеры) и интерфейсы с другими системами.

В данной модели была создана диаграмма классов (рисунок А.4) для сценария "Открыть новый вклад".

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

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

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

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

Литература

1. Боггс У., Боггс М.. UML и Rational Rose: Пер. с англ. - М.: Издательство "Лори", 2009.- 581 с, ил.

2. Буч Г., Рамбо Д., Джекобсон А. Язык UML для пользователя: Пер. с англ. - М.: ДМК, 2009.- 432 е., ил. (Серия "для программистов").

3. Ларман К. применение UML и шаблонов проектирования: Пер. с англ. - М.: Издательский дом "Вильяме", 2012. - 496 с, ил.

4. Кураев Е.А. Банковские системы: Издательский дом "Глория", 2013.-225 с.,ил (Валютные операции с вкладами)

5. Родионова В.М. Банковские операции: Под ред. Родионовой В.М.,2011 .- 112с, ил (Валютные операции с вкладами)

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа , добавлен 23.06.2011

    Этапы разработки объектно-ориентированной модели информационной подсистемы приемной комиссии для учета абитуриентов. Создание диаграмм для моделирования процесса обмена сообщениями между объектами. Порядок генерации программного кода на языке С++.

    курсовая работа , добавлен 29.06.2011

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

    курсовая работа , добавлен 25.06.2011

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

    курсовая работа , добавлен 26.06.2011

    Унифицированный язык моделирования. Методы объектно-ориентированного анализа и проектирования. Создание диаграммы последовательности и диаграммы сотрудничества. Главная диаграмма классов. Добавление связей между классами. Зависимость между пакетами.

    курсовая работа , добавлен 23.06.2011

    Общая характеристика склада как объекта хозяйственной деятельности. Создание диаграммы прецедентов и последовательности. Построение корпоративной диаграммы сотрудничества. Предназначение диаграммы классов и компонентов. Генерация программного кода C++.

    курсовая работа , добавлен 23.06.2011

    Разработка модели информационной подсистемы для учета заказов клиентов автосервиса с применением языка UML. Создание диаграммы прецедентов, последовательности, сотрудничества и классов, используя методы Rational Rose 2000. Генерация программного кода C++.

    курсовая работа , добавлен 22.06.2011

    Особенности объектно-ориентированного проектирования. Основные понятия объектно-ориентированного подхода. Основы языка UML, варианты его использования. Диаграммы классов и взаимодействия. Разработка диаграммы прецедентов (вариантов использования).

    курсовая работа , добавлен 13.05.2014

    Разработка объектно-ориентированной модели информационной подсистемы учета студентов университета во время экзаменационной сессии с помощью программы Rational Rose 2000, с использованием языка UML. Порядок генерации программного кода на языке С++.

    курсовая работа , добавлен 21.06.2011

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

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

Объектно-ориентированное моделирование (ООМ) обеспечивает ряд существенных преимуществ:

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

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

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

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

5. Объектная модель позволяет в полной мере использовать выразительные возможности современных объектно-ориентированных языков программирования.

Сравнение определений объекта в литературе позволило выявить важные моменты ООМ:

Объектный анализ выявляет для объектов поведение и структуру;

Неоднозначность в представлении разрешается путем закрепления за понятиями термина «класс» , а за конкретными физическими объектами термина «объект» .

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

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

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


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

В настоящее время признанным стандартом моделирования сложных систем является унифицированный язык моделирования UML (Unified Modeling Language ). Язык UML был разработан компанией Rational Software и ее партнерами. Он является преемником языков моделирования, основанных на методах объектного анализа и проектирования Буча, OOSE Якобсона, OMT Рэмбо и др.

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

Одним из немногих инструментальных средств ИМ, использующих в качестве основы структурные диаграммы UML, является AnyLogic , которое применяется в основном для исследования динамических непрерывных систем, за счет использования «гибридных» карт состояний и активных объектов UML-RT, созданных специально для представления динамических систем реального времени. Система Model Vision Studium является упрощенным (лабораторным) вариантом системы AnyLogic .

Языки объектно-ориентированного моделирования стали появляться между серединой 1970-х и концом 1980-х годов, когда началась разработка подходов к объектно-ориентированному анализу и проектированию (ООАП) систем. К середине 1990-х годов некоторые из методов были существенно улучшены. Известными в этот период становятся: метод Гради Буча (Grady Booch - Воосh"93); метод Джеймса Румбаха (James Rumbaugh - Object Modeling Technique); метод Айвара Джекобсона (IvarJacobson- Object Orienter Software Engineering).

История языка UML (Unified Modeling Language) берет начало с октября 1994 года, когда Буч и Румбах из Rational Software Согрогаtion начали работу по |унификации своих методов. Проект так называемого унифицированного метода версии 0.8 был подготовлен и опубликован в ноябре 1995 года. Осенью того же года к ним присоединился Джекобсон, главный технолог из компании ObjectoryАВ (Швеция), с целью интеграции своего метода ООSЕ с двумя предыдущими.

В этот период поддержка разработки языка UML становится одной из целей консорциума OMG (Object Management Group) – образован в 1989 году. Язык UML приобретает статус второго стратегического направления в работе OMG. Усилия Г. Буча, Дж. Румбаха и А. Джекобсона привели к появлению документов, содержащих описание собственно языка UML версии 0.9 (1996 г.)

Rational Software Согрогаtion вместе с несколькими организациями, изъявили желание выделить ресурсы для разработки строгого определения языка UML, учредила консорциум партнеров UML В январе 1997 года опубликован документ с описанием языка UML 1.0.

Из более чем 800 компаний и организаций, входящих в настоящее время в состав консорциума OMG, особую роль продолжает играть Rational Software Согрогаtion, которая стояла у истоков разработки языка UML. Эта компания разработала и выпустила в продажу одно из первых инструментальных СА8Е-средств Rational! Rose 98, в котором была реализована нотация различных диаграмм языка UML. В феврале 2003 г. компания Rational Software Согрогаtion была приобретена IBM, и с этого момента она имеет официальное название IBM Rational Software.

В настоящее время все вопросы дальнейшей разработки языка UML скон­центрированы в рамках консорциума OMG. Соответствующая группа специалистов обеспечивает публикацию материалов, содержащих описание последующих версий языка UML. Очередной этап развития данного языка закончился в марте 1999 года, когда консорциумом OMG было опубликовано описание языка UML 1.3. Следующей версией языка UML стала версия 1.5, специфицированная в марте 2003 г. В 2004 г. вышла версия UML 2.0.

На основе технологии UML компании Microsoft, Rational Software и другие поставщики средств разработки программных систем разработали единую информационную модель, которая получила название UML Information Model. Предполагается, что эта модель даст возможность различным программам, поддерживающим идеологию UML, обмениваться между собой компонентами и описаниями.

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

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

    диаграмма вариантов использования (use case diagram)

    диаграмма классов (class diagram)

    диаграммы поведения (behaviorг diagrams)

    диаграммы взаимодействия (interaction diagrams)

    диаграмма кооперации (collaboration diagram)

    диаграмма последовательности (sequence diagram)

    диаграмма состояний (statechart diagram)

    диаграмма деятельности (activity diagram)

    диаграммы реализации (implementation diagrams)

    диаграмма компонентов (component diagram)

    диаграмма развертывания (deployment diagram)

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

    Диаграмма вариантов использования – функциональное назначение системы

    Диаграмма классов – статическая структура модели системы в терминологии классов ООП

    Диаграмма кооперации – структурный аспект взаимодействия объектов системы через передачу и прием сообщений

    Диаграмма последовательности – временной аспект взаимодействия объектов системы

    Диаграмма состояний – описание поведения системы в терминах переходов и состояний

    Диаграмма деятельности – моделирование процесса выполнения операций (частный случай диаграммы состояний)

    Диаграмма компонентов – описание физического представления системы, определяющее ее архитектуру (первая из двух диаграмм реализации)

    Диаграмма развертывания – представление общей конфигурации и топологии распределенной системы (вторая из двух диаграмм реализации)

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

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

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

В настоящее время в практику разработки сложных информационных систем всё шире внедряется концепция объектно-ориентированного моделирования. Эта концепция явилась результатом развития концептуального и онтологического моделирования

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

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

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

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

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

· объектно-ориентированный анализ (Object-Oriented Analysis, OOA),

  • объектно-ориентированное проектирование (Object-Oriented Design, OOD),

· объектно-ориентированное программирование (Object-Oriented Programming, OOР).

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

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

Для моделирования таких систем UML предоставляет свыше десятка типов диаграмм, моделирующих структуру и функционирование («поведение») объектных систем с разных точек зрения. Моделирование начинается с анализа и моделирования предметной области программной системы и разработки требований её пользователей. Разработанный список требований представляется Use-Case-диаграмами UML. Затем моделируется структура системы в форме «структурных» диаграмм:

Диаграмм классов (Class Diagram),

Диаграмм программных компонентов (Component) и

Диаграмм развёртывания программных компонентов на программно-аппаратной платформе (Deployment Diagram).

Динамические свойства системы моделируются набором диаграмм «поведенческих» типов, определяющих

Алгоритмы взаимодействия программных объектов (Sequential- и Collaboration-диаграммы),

Поведение дискретных объектов (Statechart-диаграммы),

Процессы, протекающие в объектной системе (Activity-диаграммы.

В качестве примера на рис. 36 представлены требования пользователей к электронному книжному магазину (в форме Use-Case-диаграмм системы Rational Rose).


Рис 36. Use Case-диаграммы Rose-проекта eBookShop

Рис. 37. Диаграмма классов предметной области Rose-проекта eBookShop


Рис. 38. Полная статическая модель Rose-проекта eBookShop (в форме UML-диаграммы Классов)


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

Методики объектно-ориентированного моделирования совершили коренной переворот в архитектуре современных информационных систем. На смену традиционной архитектуры алгоритмической обработки данных пришла архитектура, базирующаяся на (объектных) моделях (Model-Driven Architecture, MDA).



Загрузка...