Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы UML.docx
Скачиваний:
4
Добавлен:
09.11.2019
Размер:
720.37 Кб
Скачать

Визуальное моделирование при анализе и проектировании. Основы Unified Modeling Language (UML)

Содержани

Визуальное моделирование при анализе и проектировании. Основы Unified Modeling Language (UML) 1

1. Анализ и проектирование. Некоторые частные вопросы 3

1.2. Обзор принципов объектного подхода 3

1.2.1. Алгоритмическая и объектная декомпозиции. Классы и объекты 3

1.2.2. Составные части объектного подхода 4

1.2.3. Принципы объектного подхода 5

1.2.4. Пример: ООП и структуры хранения. Стек 5

1.3. Повторное использование 6

1.3.1. Идея повторного использования. Важность повторного использования 6

1.3.2. Достоинства повторного использования. Виды повторного использования 6

2. Визуальное моделирование. История языка UML 7

2.1.1. Вместо введения 7

2.1.2. Идея визуального моделирования 7

2.1.3. История языка UML 8

3. Структура языка UML 9

3.1.1. Модели UML 9

3.1.2. Диаграммы UML 9

3.1.3. Понятия UML 10

4. Учебный пример. Постановка задачи 10

4.1. Система бронирования билетов для авиакомпании 10

4.1.1. Краткое описание 10

4.1.2. Анализ постановки – полное описание 10

5. Визуальное описание функциональной модели средствами UML 11

5.1. Актеры и варианты использования в UML 11

6. Структура системы и ее описание средствами UML 13

6.1. Классы 13

6.2. Шаблоны классов 14

6.3. Объекты 14

6.4. Интерфейсы 14

6.5. Пакеты 15

6.6. Подсистемы 15

6.7. Компоненты 15

6.8. Комментарии 16

6.9. Отношения между элементами модели 16

6.9.1. Зависимость 16

6.9.2. Ассоциация 17

6.9.3. Направление и навигация 17

6.9.4. Кратность 17

6.9.5. Частные случаи ассоциаций: агрегация и композиция 17

6.9.6. Обобщение (наследование) 18

7. Литература 18

1. Анализ и проектирование. Некоторые частные вопросы 2

1.2. Обзор принципов объектного подхода 3

1.2.1. Алгоритмическая и объектная декомпозиции. Классы и объекты 3

1.2.2. Составные части объектного подхода 3

1.2.3. Принципы объектного подхода 4

1.2.4. Пример: ООП и структуры хранения. Стек 4

1.3. Повторное использование 5

1.3.1. Идея повторного использования. Важность повторного использования 5

1.3.2. Достоинства повторного использования. Виды повторного использования 5

2. Визуальное моделирование. История языка UML 6

2.1.1. Вместо введения 6

2.1.2. Идея визуального моделирования 6

2.1.3. История языка UML 7

3. Структура языка UML 8

3.1.1. Модели UML 8

3.1.2. Диаграммы UML 8

3.1.3. Понятия UML 9

4. Учебный пример. Постановка задачи 9

4.1. Система бронирования билетов для авиакомпании 9

4.1.1. Краткое описание 9

4.1.2. Анализ постановки – полное описание 9

5. Визуальное описание функциональной модели средствами UML 10

5.1. Актеры и варианты использования в UML 10

6. Структура системы и ее описание средствами UML 12

6.1. Классы 12

6.2. Шаблоны классов 13

6.3. Объекты 13

6.4. Интерфейсы 13

6.5. Пакеты 14

6.6. Подсистемы 14

6.7. Компоненты 14

6.8. Комментарии 15

6.9. Отношения между элементами модели 15

6.9.1. Зависимость 15

6.9.2. Ассоциация 15

6.9.3. Направление и навигация 15

6.9.4. Кратность 16

6.9.5. Частные случаи ассоциаций: агрегация и композиция 16

6.9.6. Обобщение (наследование) 17

7. Литература 17

              1. Анализ и проектирование. Некоторые частные вопросы

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

Или в укрупненном виде:

3-я часть и элементы 2-ой части этой цепочки изучаются в курсе «Методы программирования».

1-я и 2-я части составляют объект изучения отдельного курса «Анализ и проектирование».

В настоящий момент в анализе и проектировании преобладает объектный подход . Рассмотрим суть объектного подхода.

    1. Обзор принципов объектного подхода

      1. Алгоритмическая и объектная декомпозиции. Классы и объекты

Принципиально можно выделить 2 вида разбиения предметной области на составляющие элементы:

    • Алгоритмическая декомпозиция (основные элементы программы – строительные блоки – алгоритмы).

    • Объектная декомпозиция (основные элементы программы – виды абстракций (классы) и представители этих классов (объекты)).

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

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

На сегодняшний день объектный подход и его основы – объектная модель и объектная декомпозиция – поддерживаются современными объектно-ориентированными языками программирования (Object Pascal, C++, Java, C#…).

      1. Составные части объектного подхода

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

Объектный подход:

  • OOA (object oriented analysis) – объектно-ориентированный анализ.

  • OOD (object oriented design) – объектно-ориентированное проектирование.

  • OOP (object oriented programming) – объектно-ориентированное программирование.

Рассмотрим кратко эти ключевые понятия (определения Г. Буча):

Объектно-ориентированный анализ — это методология, при которой требования к системе воспринимаются с точки зрения классов и объектов, выявленных в предметной области [2].

Объектно-ориентированное проектирование — это методология проектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления логической и физической, а также статической и динамической моделей проектируемой системы [2].

Объектно-ориентированное программирование — это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования [2].

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

Курсы из цикла «Методы программирования» и, конкретнее, «Объектно-ориентированное программирование» преимущественно концентрируются на OOP. Данный курс, по крайней мере, его теоретическая часть основное внимание уделяет OOA и OOD.