Файл: Применение объектно-ориентированного подхода при проектировании информационной системы.pdf
Добавлен: 31.03.2023
Просмотров: 257
Скачиваний: 1
Объектные методы обладают тремя главными свойствами:
- свойство инкапсуляции - объединение в одном программном модуле данных и процедур их обработки, собственно, благодаря чему и можно более адекватно моделировать объекты реального мира;
- свойство наследования - заимствование и преемственность атрибутов данных и переменных состояния от объекта к объекту;
- уникальность реакции объекта на единообразные обращения к нему в программе.
Достоинством объектных методов является их ориентация на задачи анализа, проектирования и программирования ИС с учетом динамики информационных потребностей пользователей, реализация которой обычными общепринятыми и распространенными методами очень затруднительна.
Следующий подход, который следует рассмотреть, - это подход Прозорова А.А. Классификация методов в данном подходе осуществляется на основании понятия жизненного цикла ИС, подходов к сущностной и объектной декомпозиции и сокрытии (локализации) ИС. Он включает себя такие методы, как ОМТ (Object Modeling Technique), Icam DEFinition, COMET (Concurrent Object Modeling and Architectural Design Method).
В методе ОМТ проектируемая ИС представляется в виде трех взаимосвязанных моделей:
- объектной модели, определяющей статические аспекты системы, в основном связанные с данными (статическая структура);
- динамической модели, описывающей работу отдельных частей системы (динамическая структура);
- функциональной модели, описывающей взаимодействие отдельных частей системы, которое возникает в процессе ее работы.
Эти три модели позволяют получить три ортогональных представления проектируемой системы в одной нотации. Совокупность моделей системы может быть проинтерпретирована на компьютере (с помощью инструментального ПО), что позволяет продемонстрировать характер работы с будущей системой и существенно упрощает согласование предварительного проекта системы.
OMTTool - программный продукт, на который опирается технология проектирования, построенная на основе метода ОМТ. Сам продукт позволяет разрабатывать модели проектируемой программной системы в интерактивном режиме с использованием многооконного графического редактора и интерпретатора наборов диаграмм, составляемых при анализе требований к системе и ее проектировании. При этом, как только получен достаточно полный набор диаграмм проектируемой программной системы, его можно проанализировать, проинтерпретировать и предварительно оценить различные свойства будущей реализации системы.
Метод ОМТ ограничивается двумя фазами жизненного цикла ПО (ИС): анализом требований совместно с построением объектной модели и реализацией программной системы.
Семейство методов проектирования и нотаций IDEF основан на методологии ICAM (Integrated Computer Aided Manufacturing) и состоит из следующих представителей:
- IDEF0 - метод и нотация описания бизнес-процессов;
- IDEF1 - метод и нотация описания взаимосвязей между информационными потоками;
- IDEF1X - метод и нотация разработки реляционных баз данных;
- IDEF3 - метод и нотация описания технологических процессов;
- IDEF5 - метод и нотация описания онтологических исследований.
Метод COMET основан на методе COMADM (Concurrent Object Modeling and Architectural Design Method), не имеет с ним незначительные отличия, а именно используемой в методе COMET нотацией UML [7].
COMET - метод объектного моделирования и архитектурного проектирования параллельных систем. В его основе лежит создание объектно-ориентированного программного обеспечения. Для жизненного цикла данного метода характерно значительное число итераций.
Основные этапы COMET:
- моделирование функциональных требований. Здесь главное внимание уделяется сбору и классификации требований к системе, в то время как сама система рассматривается как черный ящик;
- аналитическое моделирование. Основное внимание уделяется предметной области, при этом структура сущностной модели описывается с помощью статического представления модели, а характер поведения - с помощью динамического представления модели. Статическое представление модели выполняется в терминах классов (объектов) предметной области и отношений между ними, в то время как динамическое представление модели выполняется в терминах взаимодействия между объектами;
- архитектурное моделирование (имитационное моделирование). Выполняется в терминах структуры имитационной модели (классы и отношения между ними). Очень важное место здесь занимает объектная и временная декомпозиции сущностной модели, дается формулировка базовых критериев разбиения системы на составные части (подсистемы, модули и проч.);
- программное моделирование (атрибуты и операции классов). В этом этапе важной частью является программная реализация имитационной модели. Статическое представление имитационной модели детализируется до атрибутов, операций классов, законченных иерархий и других отношений между классами. Динамическое представление модели детализируется до полного описания активных составляющих, какими являются задачи, а также проектируются интерфейсы для обмена сообщениями и рассматриваются синхронные, асинхронные, групповые и брокерские коммуникации.
- Методы проектирования архитектур ИС
Есть два метода проектирования архитектур ИС, каждый из которых включает в себя определенные методы, свойства, специфики использования: проектирование «в малом» и проектирование «в большом». Говоря о проектировании «в малом» подразумевается проектирование подсистем, а относительно проектирования «в большом» - проектирование архитектуры.
Структура проектирования подсистем включает в себя:
- диаграммы «сущность - связь»;
- структурные карты;
- диаграммы деятельности;
- диаграммы Варнье-Орра;
- диаграммы переходов состояний;
- блок-схемы;
- схемы экранов;
- псевдокод.
Объектно-ориентированная методология состоит из следующих основных методов проектирования модулей: диаграммы кооперации, диаграммы компонентов, диаграммы развертывания.
В проектирование архитектуры для структурной методологии входят следующие основные методы:
- нисходящего проектирования;
- метод восходящего проектирования;
- метод расширения ядра.
Для структурной методологии как модульную структуру программы нужно использовать древовидную структуру. В узлах такого дерева размещаются подсистемы информационной системы, а направленные дуги показывают статическую подчиненность подсистем. Методы нисходящего и восходящего проектирования имеют достаточно большое количество разновидностей и модификаций.
Метод нисходящего проектирования представляет собой подход функциональной декомпозиции на основе двух стратегий:
- пошагового уточнения, при котором на каждом следующем этапе декомпозиции определяются подсистемы очередного, более низкого уровня;
- анализа сообщений, при котором анализируются потоки данных, обрабатываемые подсистемами.
Метод восходящего проектирования - подход, когда сначала определяются вспомогательные подсистемы, требующиеся для проектируемой системы.
Метод расширения ядра - подход, где главное внимание уделяется выявлению множества вспомогательных подсистем, а не определению функции всей системы в целом.
Проектирование архитектуры для объектно-ориентированной методологии включает следующие основные методы:
- проектирования предметных областей. Основная мысль в выделении предметной области системы с точки зрения пользователя. Предметная область - это отдельный реальный, гипотетический или абстрактный мир, населенный отчетливым набором объектов, которые ведут себя в соответствии с характерными для домена правилами и линиями поведения.
- наведения мостов. Одна предметная область использует механизмы и возможности, обеспечиваемые другой предметной областью. Мост между двумя предметными областями представляет собой набор предложений с точки зрения пользователя и набор требований с точки зрения исполнителя.
- Методы анализа и построения спецификаций
Структурная методология включает следующие методы ведения структурного анализа:
- диаграммы потоков данных;
- диаграммы потоков управления;
- таблицы решений;
- сети Петри;
- диаграммы зависимости;
- диаграммы декомпозиции;
- диаграммы функционального моделирования.
Объектно-ориентированная методология включает следующие методы ведения объектно-ориентированного анализа:
- КОК-карты (класс - ответственность - кооперация);
- диаграммы вариантов использования;
- диаграммы классов;
- диаграммы состояний;
- диаграммы деятельности;
- диаграммы последовательности.
- Подходы к ведению анализа и проектирования
Комбинации структурных методов образуют структурные подходы. Можно выделить три группы структурных подходов на основе порядка построения модели:
- процедурно-ориентированные подходы, в которых первично проектирование функциональных компонентов;
- подходы, ориентированные на данные. Для таких подходов первичны входные и выходные данные, а функциональные (процедурные) компоненты вторичны;
- информационно-ориентированные подходы. Эта группа близка к предыдущей, но отличается тем, что работа ведется с неиерархическими структурами данных.
Можно выделить два класса целевых систем - информационные системы (управляемые данными) и системы реального времени (управляемые событиями).
Информационные системы работают с большим объемом входных данных сложной структуры. Системы реального времени работают с малым количеством входных данных простой структуры.
Как правило, для проектирования систем реального времени применяются подходы, базирующиеся на подходах для информационных систем с расширением их дополнительными диаграммными техниками.
Подходы используют две основные группы средств моделирования:
- диаграммы, иллюстрирующие функции, которые система должна выполнять, и связи между функциями, например, диаграммы потоков данных и функционального моделирования;
- диаграммы, моделирующие данные и их отношения, например, диаграммы «сущность - связь».
Для анализа и проектирования экономических информационных систем в условиях российской действительности более подходят диаграммы потоков данных. Диаграммы функционального моделирования неплохо работают только при описании хорошо стандартизированных процессов.
Основные подходы к ведению объектно-ориентированного анализа и проектирования:
- на основе языка UML;
- Шлеер-Меллора;
- Гради Буча
- Джеймса Рамбо;
- Ивара Якобсона.
Подход на основе языка UML состоит из четырех основных фаз разработки, причем работа с диаграммами ведется в основном на второй и третьей фазах. Во время второй фазы - фазы исследования - должна быть создана модель предметной области. На третьей фазе - построения - продолжается итеративная работа с диаграммами классов и деятельности. К ним добавляются типы диаграмм, которые определяют взаимодействие: диаграммы последовательности; диаграммы кооперации.
В случае сложного поведения системы разрабатывается еще одна группа диаграмм - диаграммы состояний.
UML (Unified Modeling Language) – язык (третьего поколения) визуального моделирования, служащий для создания моделей анализа и проектирования объектно-ориентированных программных систем. Основные разработчики - Г.Буч, Дж. Рамбо, И. Джекобсон. В настоящее время - версия UML 2.0. (Рисунок 4.)
UML - стандартный язык для написания моделей анализа, проектирования и реализации объектно-ориентированных программных систем. UML используется для визуализации, спецификации, конструирования и документирования результатов программных проектов. UML - не визуальный язык программирования, но его модели транслируются в текст на языках программирования (Java, C++, Visual Basic, Ada 95, Object Pascal) и в таблицы для реляционной БД.
Словарь UML образуют три разновидности строительных блоков: предметы (основные элементы в модели), отношения (связывают предметы), диаграммы (группируют коллекции предметов).
Подход Шлеер-Меллора использует три группы средств для создания модели предметной области:
- информационное моделирование - для определения отношений между данными (информацией). При этом используется один тип диаграмм - диаграммы классов;
- моделирование состояний - для определения зависящего от времени поведения системы. Используются диаграммы состояний;
- моделирование процессов - для определения функций, которые система должна выполнить. Используются диаграммы деятельности и диаграммы последовательности.
Для анализа больших предметных областей используются диаграммы, по смыслу близкие к следующим диаграммам языка UML: кооперации, компонентов, развертывания.
Подход предлагает механизм поддержки моделей состояний. Для этого вводятся четыре архитектурных класса:
- переход, описывающий каждый переход для всех моделей состояний в программе;
- конечная модель состояний, связывающая все экземпляры перехода, которые составляют одну модель состояний;
- активный экземпляр. Это абстрактный класс, из которого все экземпляры, имеющие модель состояний, наследуют их текущее состояние;
- таймер, обеспечивающий механизм функционирования таймеров на основе аппаратных средств, доступных для хранения следа времени.