OOAD - объектно-ориентированный анализ
На этапе системного анализа или объектно-ориентированного анализа разработки программного обеспечения определяются системные требования, идентифицируются классы и отношения между классами.
Три метода анализа, которые используются в сочетании друг с другом для объектно-ориентированного анализа, - это моделирование объектов, динамическое моделирование и функциональное моделирование.
Объектное моделирование
Объектное моделирование развивает статическую структуру программной системы с точки зрения объектов. Он определяет объекты, классы, в которые они могут быть сгруппированы, и отношения между объектами. Он также определяет основные атрибуты и операции, характеризующие каждый класс.
Процесс моделирования объекта можно визуализировать в следующих шагах -
- Определять объекты и группировать в классы
- Определите отношения между классами
- Создать схему объектной модели пользователя
- Определить атрибуты объекта пользователя
- Определите операции, которые следует выполнять над классами
- Посмотреть глоссарий
Динамическое моделирование
После анализа статического поведения системы необходимо изучить ее поведение во времени и внешних изменениях. Это цель динамического моделирования.
Динамическое моделирование можно определить как «способ описания того, как отдельный объект реагирует на события, либо внутренние события, запускаемые другими объектами, либо внешние события, запускаемые внешним миром».
Процесс динамического моделирования можно визуализировать в следующих шагах -
- Определить состояния каждого объекта
- Выявление событий и анализ применимости действий
- Построить диаграмму динамической модели, состоящую из диаграмм переходов состояний.
- Выразите каждое состояние с помощью атрибутов объекта
- Проверьте нарисованные диаграммы перехода между состояниями.
Функциональное моделирование
Функциональное моделирование - заключительный компонент объектно-ориентированного анализа. Функциональная модель показывает процессы, которые выполняются внутри объекта, и то, как данные изменяются при перемещении между методами. В нем уточняется смысл операций моделирования объекта и действий динамического моделирования. Функциональная модель соответствует диаграмме потоков данных традиционного структурного анализа.
Процесс функционального моделирования можно визуализировать в следующих шагах -
- Определите все входы и выходы
- Создание диаграмм потоков данных, показывающих функциональные зависимости
- Укажите цель каждой функции
- Определить ограничения
- Укажите критерии оптимизации
Структурированный анализ против объектно-ориентированного анализа
Подход структурированного анализа / структурированного проектирования (SASD) - это традиционный подход к разработке программного обеспечения, основанный на каскадной модели. Фазы разработки системы с использованием SASD:
- Технико-экономическое обоснование
- Анализ требований и спецификация
- Системный дизайн
- Implementation
- Обзор после внедрения
Теперь мы рассмотрим относительные преимущества и недостатки подхода структурного анализа и подхода объектно-ориентированного анализа.
Преимущества / недостатки объектно-ориентированного анализа
Преимущества | Недостатки |
---|---|
Сосредоточен на данных, а не на процедурах, как в структурированном анализе. | Функциональность ограничена объектами. Это может создать проблему для систем, которые по своей природе являются процедурными или вычислительными. |
Принципы инкапсуляции и сокрытия данных помогают разработчику разрабатывать системы, которые не могут быть изменены другими частями системы. | Он не может определить, какие объекты могут создать оптимальный дизайн системы. |
Принципы инкапсуляции и сокрытия данных помогают разработчику разрабатывать системы, которые не могут быть изменены другими частями системы. | Объектно-ориентированные модели нелегко показать связь между объектами в системе. |
Это позволяет эффективно управлять сложностью программного обеспечения за счет модульности. | Все интерфейсы между объектами не могут быть представлены на одной диаграмме. |
Его можно легко модернизировать с малых систем до крупных, чем в системах после структурного анализа. |
Преимущества / недостатки структурного анализа
Преимущества | Недостатки |
---|---|
Поскольку он следует нисходящему подходу в отличие от восходящего подхода объектно-ориентированного анализа, его легче понять, чем OOA. | В традиционных моделях структурированного анализа один этап должен быть завершен до следующего этапа. Это создает проблему при проектировании, особенно если возникают ошибки или меняются требования. |
Он основан на функциональности. Определяется общая цель, а затем выполняется функциональная декомпозиция для разработки программного обеспечения. Акцент не только дает лучшее понимание системы, но и создает более полные системы. | Первоначальная стоимость построения системы высока, так как вся система должна быть спроектирована сразу, оставляя очень мало возможностей для добавления функциональности позже. |
Спецификации в нем написаны на простом английском языке, поэтому их легче проанализировать нетехническим персоналом. | Он не поддерживает повторное использование кода. Итак, время и стоимость разработки по своей сути высоки. |