Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_15_Тема_6.docx
Скачиваний:
2
Добавлен:
14.08.2019
Размер:
243.28 Кб
Скачать

Тема 6. Процесс проектирования и производства по. Объектно-ориентированная методология

Цели и задачи темы:

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

  2. Познакомиться с обзором языка UML.

  3. Научиться использовать диаграммы использования, диаграммы классов, диаграммы последовательностей, диаграммы состояний, диаграммы действий.

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

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

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

  • Объекты предметной области или концептуальные классы.

  • Ассоциации между концептуальными классами.

  • Атрибуты концептуальных классов.

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

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

  1. Компоненты класса

Диаграмма классов (class diagram) ­ диаграмма, предназначенная для представления модели статической структуры программной системы в терминологии классов объектно-ориентированного программирования.

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

Разработка диаграммы классов преследует следующие цели:

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

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

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

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

Класс (class) ­ элемент модели, который описывает множество объектов, имеющих одинаковые спецификации характеристик, ограничений и семантики.

Xарактеристика (feature) ­ понятие, предназначенное для описания особенностей структуры и поведения экземпляров класса. В нотации UML 2.1.1 различают два типа характеристик класса: структурные характеристики (их называют свойствами или атрибутами) и характеристики поведения (их принято называть операциями или методами класса).

Структурные характеристики (structural feature) предназначены для представления того факта, что экземпляры классов имеют слоты для записи и хранения одного или нескольких значений определенного типа. Характеристика поведения (behavioral feature) специфицируют то, как экземпляр класса будет реагировать на полученный запрос посредством вызова связанного с ней поведения.

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

Графическое изображение класса ­ прямоугольник, который может быть разделен горизонтальными линиями на секции. На рис. 1. показаны варианты графического представления классов в UML.

Рис. 1. Варианты изображения класса на диаграмме классов

Обязательным элементом при обозначении класса является его имя, которое записывается в верхней части прямоугольника. Имя класса (имя существительное в единственном числе) должно быть уникальным в рамках пакета, который может содержать одну или несколько диаграмм классов. Если класс определен в пакете, то его имя можно указать как Имя_пакета::Имя_класса, например, Счета_физических_лиц::Счет.

Атрибуты класса (attribute) служат для представления отдельной структурной характеристики или свойства, которое является общим для всех объектов данного класса.

Некоторые параметры атрибута класса:

  • Имя (name) ­ единственный обязательный элемент атрибута;

  • Тип (type) ­ некоторый тип данных, соответствующий типам данных того языка программирования, который предполагается использовать для реализации данной модели;

  • Видимость (visibility) ­ уровень доступности: public (общедоступный), private (закрытый, доступен только внутри класса), protected (защищенный, доступен только для элементов, которые имеют отношение обобщения с текущим элементом), package (пакет, пакетная видимость).

Видимость в нотации UML 2.1.1 допускается помечать соответствующим символом:

  • + - общедоступный, public;

  • - ­ закрытый, private;

  • # ­ защищенный, protected;

  • ~ ­ пакетный, package.

Видимость может вовсе не указываться или указываться другими модификаторами, соответствующими конкретному языку программирования, например, в C++ имеется видимость friend (дружественный), которая не специфицирована в UML.

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

Некоторые параметры операции класса:

  • Имя операции (operation name) ­ единственный обязательный элемент операции;

  • Список параметров (parameter list) представляет собой перечень разделенных запятыми формальных параметров операции;

  • Тип возвращаемого значения (return type) ­ специфицирует тип возвращаемого значения;

  • Видимость (visibility) ­ совпадает с видимостью атрибутов.