Объектно-ориентированные технологии проектирования прикладных программных систем


Методология OSA


Методология OSA (Object-Oriented System Analysis) обеспечивает объектно-ориентированный анализ программных систем и не содержит возможностей, связанных с поддержкой этапа разработки.

Методологии объектно-ориентированного анализа нередко критикуются за то, что они являются больше реализационно-ориентированными, чем проблемно-ориентированными, обеспечивая больше предварительную разработку, чем анализ требований к системе. Действительно, все рассмотренные методологии (такие, как OMT, SA/SD, JSD) поддерживают прежде всего предварительную разработку программных систем, а не анализ требований к ним. Это следует из таблиц 4.1 и , в которых рассмотрены возможности различных методологий, поддерживающие процесс анализа (таблица 4.1) и процесс разработки (таблица ).

Таблица 4.1. Аналитические возможности сравниваемых методологий объектно-ориентированного анализа

Возможность

OSA

OMT

SA/SD

JSD

Объекты: должны иметь индивидуальное и независимое состояние и поведение

++++

Классы объектов: должны определять свойства своих членов и должны иметь место в памяти

++++

Множества связей: множества соединений объектов

++++

Реляционные классы объектов: рассматривают связи как объекты

++-+

Полностью интегрированные подмодели: допускают произвольную интеграцию подмоделей анализа; знак "-" в таблице означает, что подмодели, представленные, например, блок-схемами, не могут комбинироваться с другими видами подмоделей (например, моделями поведения)

+--+

Агрегация: часто используемый механизм абстракции, который представляет взаимосвязи между системами и их частями

++++

Обобщение/наследование: механизм абстракции: если A есть специализация B, то свойства A подразумевают свойства B

++-+

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

+---

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

+---

Полная система триггеров: допускаются только условия, только события, или комбинации условий и событий

++--

Действия: описывают поведение, которое завершается

++++

Недетерминированное поведение: описание поведения, которое при отсутствии внешних воздействий может и не завершиться

++--

Межобъектный параллелизм: более одного объекта могут быть активными одновременно

++++

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

++--

Исключения: допускается обнаружение и обработка условий ошибок

+---

Временные ограничения: обеспечивают средства ограничения времени на какое-либо действие

+-++

Темпоральные условия: поддерживают возможность формулировать условия, ссылающиеся на события в прошлом, настоящем и будущем

+---

Метамодель: определяет правильный экземпляр модели

+---

Родовой класс: параметризация классов - механизм абстракции, помогающий осуществлять анализ, хотя иногда его считают особенностью языка

----

Взаимодействие данных и событий: обеспечивает возможность объектам посылать и принимать данные и события

+++-

Унифицированные взаимодействия: разрешают взаимодействие и по данным, и по событиям одновременно; многие модели разделяют взаимодействия по данным (поток данных) и по событиям

+---

Детализация взаимодействий: показывает когда и почему объект взаимодействует с другими объектами

+---

Непрерывные взаимодействия: допускает непрерывный поток информации

+---

Взаимодействия по бродкастингу: разрешает иметь много приемников для одной передачи данных или события; бродкастинг разрешен только для данных, но не для событий

+---

Общее число аналитических возможностей

29

13

8

9

<


Начало  Назад  Вперед



Книжный магазин