Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Шпоры по ТООМ

.doc
Скачиваний:
109
Добавлен:
02.05.2014
Размер:
1.37 Mб
Скачать

1-АБСЭБ- 1

1. Основные характеристики объектно-ориентированного моделирования.

Принципы объектно-ориентированного анализа.

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

Диаграмма в UML – это графическое представление набора элементов, изображаемое чаще всего в виде связанного графа с вершинами (сущностями) и ребрами (отношениями). Диаграмма - это одна из проекций предметной области. Базисные конструкции унифицированного языка моделирования UML (сущности, отношения, диаграммы) приведены в руководстве разработчиков UML.

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

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

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

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

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

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

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

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

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

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

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

2. Примеры использования UML для построения визуальных моделей. Модель системы электронной торговли

[ смотри в приложении ]

1-АБСЭБ- 2

1. Системный подход к проектированию информационных систем. Визуальное моделирование.

При определении модели информационной системы за основу было взято понятие алгебраической системы [1], которая объединяет в себе совокупность абстрактных объектов, отношений между ними и систему операций T, задаваемых на основном множестве MA = <A, R, T>. В данной дисциплине системный подход к моделированию, учитывающий свойства элементов и отношений, опирается на определение системы, предложенное в А. И Умновым в [1], данное через понятия “вещи”, “свойства”, “отношения”:

S [{ai}&{rj(qj)}],

aiA, rjR, qjQR,

Sdef [{ai(qi)}&{rj}],

aiA, qiQA, rjR,

где ai – элементы (вещи); rj - отношения между элементами; qj – атрибуты отношений; qi – свойства элементов.

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

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

2. Примеры использования UML для построения визуальных моделей. Модель выбора учебного курса.

Стереотипы классов

Отношения

Разработка диаграмм классов

Диаграммы взаимодействия объектов

Диаграмма состояний класса «Учебный курс»

1-АБСЭБ- 3

1. Процесс проектирования информационных систем Rational Unified Process (RUP). Итеративность проектирования. Типовая итерация. Развитие моделей в результате итераций.

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

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

Схема организации RUP

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

Стадии завершаются главными вехами.

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

Каждый эволюционный цикл проходит те же четыре стадии.

Итерации Каждая стадия может быть разбита на итерации.

2. Программные продукты и возможности среды Rational.

Программные средства, реализующие нотацию Unified Modeling Language

Rational Unified Process – гипертекстовая база знаний;

Rational Rose – CASE средство объектного моделирования;

SoDA - инструмент автоматизации документооборота моделирования;

Requisite PRO – инструмент управления требованиями;

ClearQuest - средство управления запросами на изменение .

Общая платформа группы

Инструменты для аналитиков. Rational Rose (Modeler Edition)

Обеспечивает возможность визуального моделирования архитектуры и компонентов c использованием соответствующего промышленным стандартам Унифицированного языка моделирования (UML).

Инструменты для разработчиков. Rational Rose (Modeler Edition)

Обеспечивает возможность визуального моделирования рхитектуры и компонентов. Автоматически создает каркас кода для Java, C++, XML и др. языков. Автоматически поддерживает взаимодействие между Requisite Professional и SoDa.

Общая платформа группы. Rational SoDA

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

Итерация - цикл, приводящий к выпуску изделия (внутренней или внешней версии) или подмножества конечного продукта, возрастающего от итерации к итерации до законченной системы.

Структура процесса: Деловое моделирование, Требования, Анализ и проектирование, Выполнение, Испытание, Развертывание, Управление конфигурацией и изменением, Руководство проектом, Среда, Стадии RUP

Основные потоки работ

Поток работ делового моделирования

1-АБСЭБ- 4

1. Основные характеристики объектно-ориентированного моделирования.

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

Диаграмма в UML – это графическое представление набора элементов, изображаемое чаще всего в виде связанного графа с вершинами (сущностями) и ребрами (отношениями). Диаграмма - это одна из проекций предметной области. Базисные конструкции унифицированного языка моделирования UML (сущности, отношения, диаграммы) приведены в руководстве разработчиков UML.

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

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

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

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

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

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

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

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

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

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

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

2. Проектирование баз данных с использованием UML.

Обзор возможностей современных СУБД

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

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

Что касается объектно-ориентированных СУБД, то можно сказать, что теоретическая модель для них на сегодняшний день не разработана, а прикладные коммерческие продукты, провозглашенные как объектно-ориентированные, либо таковыми не являются, либо незрелы. Крупнейшие разработчики СУБД стали встраивать в свои продукты поддержку объектной ориентации, по соображениям совместимости предполагая смешанный подход – объектно-реляционный.

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

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

В ООБД информация хранится в форме объектов. Полностью объектно-ориентированная СУБД должна обеспечивать также объектно-ориентированный интерфейс взаимодействия с пользователем.

В основе ООБД лежит понятие объекта. Объектно-ориентированные БД характеризуются свойствами инкапсуляции, наследования и полиморфизма.

Диаграммы вариантов использования

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

Диаграмма вариантов использования каталога

По мере продолжения системного анализа каждый вариант использования разбивается на несколько, создавая вложенную последовательность вариантов использования. Большинство вариантов использования высокого уровня – это транзакции основных запросов. Каждый из них – это транзакция, так как извлекает определенный набор данных с определенным началом и концом. Атомарные транзакции имеют связующие связи с акторами, а податомарные – расширяют другие варианты использования или используются ими. Некоторые ООDBMS поддерживают модель вложенных транзакций.

Диаграммы деятельности

Модель сущность – связь. Сущность – это объект данных. Отношения. Множественность отношения «играет роль». Множественное наследование. Модель данных UML преобразуется в такую схему легко, хотя существуют проблемы, связанные с отсутствием стандартов OODBMS.

Поведение объектов

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

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

Преимущества: можно использовать объектно-ориентированные средства (наследование, методы, объектные ссылки)для создания схемы. Которая хорошо вписывается в объектно-ориентированный концептуальный проект. Взаимодействие с реляционными средствами модели данных обеспечивает мост к реляционным операциям (например. использовать SQL).

1-АБСЭБ- 5

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

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

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

Набор моделей, используемых в объектно-ориентированном подходе, включает: диаграммы прецедентов (Use Case Diagram); диаграммы взаимодействия (Interaction Diagram), к которым относятся диаграммы последовательности (Sequence diagram) и диаграммы взаимодействий (Collaboration diagram); диаграммы классов (Class Diagram) и объектов; диаграммы состояний (Statechart Diagram); диаграммы действий (Activity Diagram); диаграммы компонентов (Component Diagram); диаграммы размещения (Deployment Diagram).

Разработка объектных моделей системы искусственного интеллекта позволяет выявить существенные признаки проблемных ситуаций принятия решений, разработать логическую структуру базы данных описаний проблемных ситуаций, создать диаграммы прецедентов, пригодные для практической разработки в современных программных средах, то есть использовать преимущества визуального моделирования при разработке информационных систем. Базисные конструкции языка UML (сущности, отношения, диаграммы) приведены в [9] и использованы при построении моделей управления.

В UML имеется 4 типа сущностей: структурные, поведенческие, группирующие, аннотационные.

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

В языке UML определены 4 типа отношений: зависимость, ассоциация, обобщение, реализация.

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

2. Примеры использования UML для построения визуальных моделей. Модель системы электронной торговли

[ смотри в приложении ]