Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (Структурные диаграммы).pdf
Добавлен: 24.04.2023
Просмотров: 212
Скачиваний: 1
Атрибуты – это описание объектов, характеризующее объект и выделяющее его из множества подобных объектов.
Поведение – определяет, что может делать объект и операцию, выполняемую над объектами.
Класс – инкапсулирует данные и их поведение. Объекты с похожим значением и целью сгруппированы как класс. Желание размещать предметы в классах не ново. Описание мира, состоящего из животных, овощей и минералов, является примером классификации. Научный подход включает в себя классы животных (например, млекопитающие), а затем разделяет классы на подклассы [4].
Идея классов состоит в том, чтобы иметь контрольную точку и описывать конкретный объект с точки зрения его сходства или отличия от членов его собственного класса. При этом для кого-то более эффективно сказать: «Коала – сумчатое (или пушистое животное) с большой круглой головой и пушистыми ушами», чем описывать его характеристики как млекопитающего.
Объекты представлены и сгруппированы в классы, которые являются оптимальными для повторного использования и обслуживания. Класс определяет набор общих атрибутов и поведений в каждом объекте класса. Например, записи для студентов в разделе курса содержат аналогичную информацию, хранящуюся для каждого студента. Можно сказать, что студенты – это класс. Значения могут быть разными для каждого учащегося, но тип информации одинаков [3,4].
Методы – определяют поведение класса и являются действием, которое может выполнить объект.
Сообщение – это вызов функции или процедуры от одного объекта к другому. Это информация, отправляемая объектам для запуска методов. По сути, сообщение – это вызов функции или процедуры от одного объекта к другому.
Пример объекта и класса объектно-ориентированной системы приведен на рисунке 2 [2,4].
Рисунок 2. Элементы объектно-ориентированной системы
Объектно-ориентированная система имеет несколько отличительных функций, рассмотренных ниже [4].
Инкапсуляция – это сочетание процесса и данных в едином объекте. Данные объекта скрыты от остальной системы и доступны только через сервисы класса. Это позволяет улучшить или модифицировать методы, используемые объектами, не затрагивая другие части системы.
Абстракция – это процесс выбора необходимого метода и атрибутов для указания объекта. Основное внимание уделяется характеристикам объекта.
Отношения – все классы в системе связаны друг с другом. Объекты не существуют изолированно, они существуют во взаимосвязи с другими объектами. Есть три типа отношений:
- Агрегация – указывает на связь между целым и его частями.
- Ассоциация – связь двух классов, например, один класс работает с другим для выполнения задачи или один класс воздействует на другой класс.
- Обобщение – дочерний класс основан на родительском классе. Это указывает на то, что два класса похожи, но имеют некоторые различия.
Наследование – это отличная функция, которая позволяет создавать подклассы из существующего класса, наследуя атрибуты и/или операции существующих классов.
Полиморфизм – это способность принимать различные формы. Это относится как к объектам, так и к операциям. Полиморфный объект скрывает истинный тип в родительском классе. Полиморфизм позволяет манипулировать объектами разных классов, зная только их общие свойства.
Таким образом, объектно-ориентированная модель имеет следующие преимущества [5]:
- облегчает внесение изменений в системы при низких затратах;
- способствует повторному использованию компонентов;
- упрощает проблему интеграции компонентов для настройки большой системы;
- упрощает проектирование распределенных систем.
ГЛАВА 2 ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ СРЕДСТВАМИ UML
Unified Modeling Language (UML) – это язык моделирования общего назначения. Основная цель UML – определить стандартный способ визуализации способа, которым была разработана система. Это очень похоже на чертежи, используемые в других областях техники.
UML не является языком программирования, это скорее визуальный язык. Диаграммы UML применяются, чтобы изобразить поведение и структуру системы. UML помогает разработчикам программного обеспечения, бизнесменам и системным архитекторам моделировать, проектировать и анализировать. Стандарт UML принят в 1997 году [6].
UML применяется на этапах объектно-ориентированного проектирования и анализа. Применение элементов и создание связей между ними формирует диаграммы. Диаграммы в UML можно широко классифицировать на:
- Диаграммы поведения.
Отражают динамические аспекты или поведения системы. Диаграммы поведения включают в себя: диаграммы вариантов, диаграммы состояний, диаграммы действий и диаграммы взаимодействия.
- Структурные диаграммы.
Отражают статические аспекты или структуру системы. Структурные диаграммы включают в себя: диаграммы компонентов, диаграммы объектов, диаграммы классов и диаграммы развертывания [7].
2.1 Диаграммы поведения
Диаграммы вариантов используются для сбора требований системы, включая внутренние и внешние воздействия. Это в основном проектные требования. Следовательно, когда система анализируется для сбора ее функциональных возможностей, готовятся варианты использования и определяются действующие лица. Можно сказать, что варианты использования – это не что иное, как системные функции, написанные организованным образом. Второе, что относится к вариантам использования, – это актеры. Актерами могут быть пользователи, некоторые внутренние приложения или некоторые внешние приложения.
Перед составлением диаграммы вариантов необходимо определить следующие ее элементы [6,7]:
- актеры;
- отношения между вариантами использования и актерами;
- функциональные возможности должны быть представлены как вариант использования.
После определения элементов, необходимо выполнить следующие рекомендации для эффективного использования [8]:
- Имена вариантов и актеров должны быть выбраны таким образом, чтобы они могло идентифицировать выполняемые функции.
- отношения и зависимости на диаграмме необходимо четко показать.
- Не нужно включать все типы отношений, так как основная цель диаграммы – определить требования.
- Использовать примечания нужно, когда необходимо уточнить некоторые важные моменты.
Пример диаграммы вариантов для ресторана приведен на рисунке 3. Актерами являются кулинарный критик (food critic) и шеф-повар (chef). Вариантами служат возможные действия актеров. Критик может поесть, выпить вино, заплатить. Шеф-повар может приготовить еду. Таким образом, диаграмма показывает возможные варианты действий актеров в системе (ресторане) [6,8].
Рисунок 3. Диаграмма вариантов
Основное назначение диаграммы состояний – изобразить различные изменения в состоянии класса, а не процессы или команды, вызывающие эти изменения (рисунок 4) [6,8].
Рисунок 4. Диаграмма состояний для проверки пользователя
Диаграмма состояний выше показывает различные состояния, в которых подсистема или класс верификации существуют для конкретной системы.
Основные компоненты диаграммы состояний:
1. Начальное состояние – черный кружок, обозначающий начальное состояние системы или класса (рисунок 5).
Рисунок 5. Обозначение начального состояния
2. Переход – сплошная стрелка для обозначения перехода из одного состояния в другое или изменения управляющего направления. Над стрелкой указано событие, которое вызывает изменение состояния (рисунок 6).
Рисунок 6. Переход между состояниями
3. Состояние – скругленный прямоугольник. Состояние представляет условия или обстоятельства объекта класса в момент времени (рисунок 7).
Рисунок 7. Обозначение состояния
4. Развилка – скругленная сплошная жирная линия с входящей стрелкой из родительского состояния и исходящими стрелками в направлении вновь созданных состояний. Представление развилка используется для представления состояния, разбивающегося на два или более состояния (рисунок 8) [7,8].
Рисунок 8. Диаграмма с использованием обозначения развилки
5. Соединение – округлая сплошная жирная линия с входящими стрелками из состояний соединения и исходящей стрелкой в направлении общего состояния цели. Используется, когда два или более состояний одновременно сходятся в одно при возникновении события или событий (рисунок 9) [6,8].
Рисунок 9. Диаграмма с использованием обозначения соединения
6. Самопереход – сплошная стрелка, указывающая назад на само состояние, чтобы представить самопереход. Могут быть сценарии, когда состояние объекта не изменяется при наступлении события (рисунок 10) [8].
Рисунок 10. Обозначение самоперехода
7. Составное состояние – скругленный прямоугольник. Составное состояние представляет состояние с внутренними действиями (рисунок 11).
Рисунок 11. Составное состояние
8. Конечное состояние – закрашенный круг. Показывает конечное состояние подсистемы или системы (рисунок 12).
Рисунок 12. Обозначение конечного состояния
Для построения диаграммы состояния выполняют следующие шаги [8,9]:
1. Определить начальное состояние и конечные состояния объекта или системы.
2. Определить возможные состояния, в которых может существовать объект или система (граничные значения, соответствующие различным атрибутам, помогают идентифицировать различные состояния).
3. Промаркировать события, которые запускают эти переходы.
Диаграмма взаимодействия – это либо диаграмма последовательности, либо диаграмма связи, которые, по сути, показывают одну и ту же информацию. Эти диаграммы, наряду с диаграммами классов, используются в реализации варианта использования, который является способом достижения или выполнения варианта использования.
Диаграммы последовательности могут иллюстрировать последовательность взаимодействий между классами или экземплярами объектов во времени. Диаграммы последовательности часто используются для иллюстрации обработки, описанной в сценариях использования. На практике диаграммы последовательности выводятся из анализа прецедентов и используются в проектировании систем для определения взаимодействий, отношений и методов объектов в системе. Символы, используемые в диаграммах последовательности, показаны в таблице 1 [9].
Таблица 1
Символы диаграммы последовательности
|
objectName: |
Имя с двоеточием после него представляет объект. |
|
:class |
Двоеточие с именем после него представляет класс. |
|
objectName:class |
Имя, сопровождаемое двоеточием и другим именем, представляет объект в классе. |
Актеры и классы или экземпляры объектов показаны в прямоугольниках в верхней части диаграммы. Крайний левый объект является начальным объектом и может быть человеком (для которого используется символ субъекта варианта использования), окном, диалоговым окном или другим пользовательским интерфейсом. Некоторые из взаимодействий носят только физический характер, например, подписание контракта. Верхние прямоугольники используют указатели в имени, чтобы указать, представляет ли прямоугольник объект, класс или класс и объект. Пример диаграммы последовательностей приведен на рисунке 13 [9,10].
Рисунок 13. Диаграмма последовательности
Вертикальная линия представляет линию жизни для класса или объекта, которая соответствует времени от момента его создания до момента его уничтожения. «X» в нижней части линии жизни указывает, когда объект разрушен. Боковая полоса или вертикальный прямоугольник на линии жизни показывает фокус управления, когда объект занят чем-то [9,10].
Горизонтальные стрелки показывают сообщения или сигналы, которые отправляются между классами. Сообщения принадлежат получающему классу. Есть несколько вариаций стрелок сообщений. Сплошные стрелки показывают синхронные вызовы, которые являются наиболее распространенными. Они используются, когда отправляющий класс ожидает ответа от принимающего класса, и управление возвращается отправляющему классу, когда класс, получающий сообщение, завершает выполнение. Половинные (или открытые) стрелки представляют собой асинхронные вызовы или вызовы, отправленные без ожидания возврата в класс отправки.