Московский физико-технический институт
Опубликован: 24.09.2008 | Доступ: свободный | Студентов: 4643 / 2328 | Оценка: 4.52 / 4.48 | Длительность: 25:15:00
Специальности: Системный архитектор
Лекция 5:

Методы объектного анализа и построения моделей предметных областей

< Лекция 4 || Лекция 5: 12345 || Лекция 6 >
Аннотация: Проведено рассмотрение и дана характеристика методов анализа предметной области и построения моделей. Рассмотрены объектно-ориентированные и стандартизованные, традиционные методы проектирования архитектуры системы

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

Предметная область сама является самостоятельным объектом или может быть объектом в составе другой предметной области.

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

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

4.1. Краткий обзор объектно-ориентированных методов анализа и построения моделей

На данный момент известно более пятидесяти объектно-ориентированных методов анализа ПрО, которые прошли проверку практикой. Приведем некоторые основные из них:

  • метод объектно-ориентированного системного анализа OOAS (Object-Oriented system analysis), позволяющий выделить сущности и объекты ПрО, определить их свойства и отношения, а также построить на их основе информационную модель, модель состояний объектов и процессов представления потоков данных (dataflow) [4.1];
  • метод объектно-ориентированного анализа OOA (Object-Oriented analysis), обеспечивающий моделирование ОМ и формирование требований к ПрО с помощью понятия "сущность-связь" (entity-relationship ER), спецификацию потоков данных и соответствующих процессов [4.2];
  • метод SD (Structured Design) структурного проектирования системы, данных и программ преобразования входных данных в выходные с помощью структурных карт Джексона [4.3-4.5];
  • методология объектно-ориентированного анализа и проектирования OOAD (Object-oriented analysis and design), которая основывается на ER-моделировании сущностей и отношений в объектной модели ПрО, она обеспечивает определение системы и организацию данных с использованием структурных диаграмм, диаграмм "сущность-связь" и матрицы информационного управления [4.6, 4.7];
  • технология объектного моделирования OMT (Object Modeling Technique) включает в себя процессы (анализа, проектирования и реализации), набор нотаций для задания четырех моделей (объектной, динамической, функциональной и взаимодействия) [4.8, 4.9];
  • объединенный метод UML, включающий средства и понятия метода Г. Буча (объекты, классы, суперклассы), принципы наследования, полиморфизма и упрятывания информации об объектах, а также варианты использования метода Джекобсона для задания сценариев работы системы при выполнении задач ПрО и диаграммные средства взаимодействия объектов Румбауха [4.10, 4.11];
  • метод определения распределенных объектов на основе объектной модели CORBA и набора сервисных системных компонентов общего пользования, обеспечивающих их функционирование в среде распределенных приложений [4.16];
  • метод генерации (generative) частей системы из семейства ПрО с помощью готовых объектов, аспектов, компонентов, программ многоразового использования и приложений, а также модели характеристик, в которой представлены функциональные и нефункциональные требования к семейству систем [4.13].

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

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

Приведенная общая характеристика разновидностей объектно-ориентированных методов показывает, что они имеют много общих черт (например, ER-моделирование, Dataflow), а также свои специфические особенности. Каждый разработчик метода объектно-ориентированного анализа вводил необходимые новые понятия, которые зачастую семантически совпадали с аналогичными понятиями в других методах. Поэтому у авторов UML возникла идея объединить свои индивидуальные методы объектного анализа (Буча, Джекобсона и Рамбауха) для создания единого метода объектного моделирования UML.

4.1.1. Основные понятия методов объектного анализа ПрО

К основным понятиям методов объектного анализа ПрО отнесем следующие [4.12, 4.13].

Объект ПрО - это абстрактный образ с поведением, которое обусловлено его характеристиками и взаимоотношениями с другими объектами ПрО.

Согласно теории Фреге [4.14] спецификацию объекта можно трактовать как треугольник:

<имя объекта > <денотат > <концепт>,

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

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

Сущность - это семантически важный объект или тип объекта, существующий реально в ПрО или является абстрактным понятием, информацию о котором необходимо знать и/или сохранять [4.12, 4.13]. Имя сущности должно быть уникальным и может представлять тип или класс объектов. Сущность может иметь синонимы, записываемые через знак "/" (например, аэропорт/аэродром).

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

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

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

Класс - это множество объектов, обладающих одинаковыми свойствами, операциями, отношениями и семантикой. Любой объект - это экземпляр класса. Класс представляется различными способа-ми (например, списками объектов, операций, состояний). Измеряется класс количеством экземпляров, операций и т.п.

Предметная область - это то, что анализируется с целью выделения специфичного множества понятий (сущностей, объектов) и связей между ними. На множестве этих понятий определяются задачи в целях автоматизированного их решения. Пространство ПрО можно разделить на пространство задач (problem space) и пространство решений (solution space) [4.13]. Пространство задач - это сущности, концепты ПрО, а пространство решений - это множество программных реализаций задач, в том числе функциональные компоненты, которые обеспечивают решение задач и функций ПрО, представленных в этом пространстве.

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

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

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

Для объектов модели устанавливаются отношения или связи. Различаются статические (постоянные) связи, которые не изменяются или изменяются редко, и динамические связи, которые имеют определенные состояния и изменяются во время функционирования системы.

Связи между объектами могут быть следующие:

  • связь один к одному (1:1) существует тогда, когда один экземпляр объекта некоторого класса связан с единственным экземпляром другого класса, т.е. в связи принимают участие по одному экземпляру из классов;
  • связь один ко многим (1:N), существует тогда, когда один экземпляр объекта некоторого класса связан одновременно с одним или более экземплярами другого класса или того же самого класса;
  • связь многие ко многим (M:N) существует тогда, когда в связях принимают участие несколько экземпляров объектов двух классов, т.е. один или больше экземпляров другого класса связан с одним или более экземплярами первого класса.

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

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

Используя приведенные базовые понятия методов объектного анализа ПрО, далее излагаются: объектный метод анализа ПрО и построения моделей [4.1], визуальный метод моделирования - UML [4.17] и проектирование архитектуры системы на основе стандартов.

< Лекция 4 || Лекция 5: 12345 || Лекция 6 >
Александр Медов
Александр Медов

Здравствуйте,при покупке печатной формы сертификата,будут ли выданы обе печатные сторны?

Александр Медов
Александр Медов

Здравствуйте, прошел курс МБА Управление ИТ-проектами и направил документы на получение диплома почтой. Подскажите, сроки получения оного в бумажной форме?

: