5.2.3. Применение методов объектно-ориентированного
анализа и проектирования
Анализ литературы показывает, что
объектный подход к моделированию предметной развивается в двух
направлениях: объектно-ориентированный анализ и
объектно-ориентированное проектирование.
Фундаментальные подходы в объектно-ориентированном анализе заложены
в трудах С. Шлеер и С. Меллора [47]. Объектно-ориентированное
проектирование как целостная концепция сформулирована Г. Бучем [8].
Объектно-ориентированный анализ - это методология, при которой
требования к системе воспринимаются с точки зрения классов и
объектов, выявленных в предметной области. Объектно-ориентированное
проектирование - это методология проектирования, соединяющая в себе
процесс объектной декомпозиции и приемы представления логической и
физической, а также статической и динамической моделей проектируемой
системы. Сравнивая определения объектно-ориентированного анализа и
проектирования можно заметить, что обе методологии ис¬пользуют
анализ и абстрагирование в качестве основных методов. Следовательно,
эти методологии направлены на одну и туже сферу моделирования,
поэтому мож¬но утверждать, что имеются два разных подхода к
моделированию в объектах. С другой стороны, задачи данных
методологий различаются. Г. Буч отмечает это так "Границы между
стадиями анализа и проектирования размыты, но решаемые ими задачи
определены четко. В процессе анализа мы моделируем проблемы,
обнаруживая классы и объекты, которые составляют словарь проблемной
области. При объектно-ориентированном проектировании мы изобретаем
абстракции и механизмы, обеспечивающие поведение, требуемое моделью."
Данное высказыва¬ние находится в противоречии с тем что объектный
анализ, судя по утверждениям Шлеера, охватывает все абстракции и
механизмы составляющие модель.
Обобщая, можно утверждать, что объектно-ориентированный анализ
направлен на описание модели в терминах объектов с внешней стороны.
Объектно-ориентированное проектирование направлено на реализацию
описанной в терминах объектов модели на языках программирования, т.е.
на доработку модели, пока она не станет однозначно реализуемой.
Можно сделать вывод, что без применения обоих методологий построить
и реализовать объектную модель невозможно.
Рассмотрим содержательные аспекты объектно-ориентированного анализа
и проектирования.
Впервые объектно-ориентированный анализ был успешно применен в 1979г
в лаборатории Беркли в проекте моделирования физических систем
реального времени. Шлеер и Меллор использовали динамические
объектные модели. Для их воплощения они стали использовать анализ
предметных областей с использованием понятия объектов, что привело к
созданию информационных моделей. На этом этапе
объектно-ориентированного анализа центральным является
абстраги¬рование сущностей в задаче в терминах объектов и их свойств.
Отношения между сущностями формализуются в связях. Объекты, их
атрибуты, подобие и связи формализуется в виде графической диаграммы
информационной модели. Заметим, что информационная модель по
характеру описываемой информации подобна ER-диаграмме предметной
области.
В начале 1985 г была создана вторая ступень объектного анализа -
модель состояний. Информационная модель позволяла проанализировать
отдельные сущности (объекты) и связи между ними, однако она не
рассматривала взаимодействия и динамику существования объектов. С
этим связан второй этап объектного анализа, анализирующий поведение
объектов и их связи во времени. Поведение объекта может быть
представлено как набор его состояний, в каждом из которых действует
только определенный набор законов-правил. В силу законов состояния,
с физическим объектом происходят различные явления, которые с точ¬ки
зрения наблюдателя рассматриваются как некие действия объекта.
В 1986-1987гг. окончательно оформилась третья ступень объектного
анали¬за - модели процессов. Действительно, модель состояний,
рассматривая состоя¬ния, не анализировала заключенные в них процессы.
С. Меллор и С. Шлеер взяли за основу описания процессов классические
диаграммы потоков данных, исполь¬зуемые при функциональном
проектировании программного обеспечения. Объектный анализ выделяет
три основных элемента информационного процесса как модели: действия,
потоки данных между действиями и свойства объектов изменяемые
действиями (архивы данных).
Объектно-ориентированное проектирование проходит все те же три
ступени анализа. Отличия состоят в следующем: рассматриваются
абстракции, не содержащиеся в исходной модели и имеющие целью
упростить ее реализацию (шаблоны классов, метаклассы и др.), на фазе
моделирования поведения системы применяются сценарии, как пошаговые
описания реакции модели в конкретных состояниях. Усовершенствованная
модель, полученная в результате объектно-ориентированного
проектирования, может быть реализована на объектно-ориентированных
языках программирования.
Таким образом, объектно-ориентированный анализ и проектирование
органично дополняют друг друга.
Для облегчения процесса объектно-ориентированного анализа и
проектирования существует ряд CASE-средств, одним из которых
является пакет Rational Rose. Важным шагом в развитии
объектно-ориентированного анализа стала разработка унифицированного
языка моделирования (UML).
Подробнее о методах объектно-ориентированного анализа и
проектирования в [8, 22, 47]; к этой теме еще предстоит вернуться в
рамках дисциплины «Компьютерное моделирование» и в спецкурсах,
связанных с разработкой программного обеспечения.
|