Идея визуального моделирования
Вспомним, в чем состоит основная проблема в разработке ПО? Проекты не укладываются в сроки, бюджет, не удовлетворяют требованиям.
Как решать эту проблему? На помощь приходит моделирование. Под моделью обычно понимают упрощенное представление объектов и явлений реального мира.
Ответим на вопрос, зачем строят модели? Модели строят для того, чтобы лучше понять исследуемую систему.
Классики проклассифицировали задачи и принципы моделирования. Приведем здесь эту, несомненно, важную, классификацию.
Задачи моделирования [3.3]:
- Визуализация системы в ее некотором состоянии.
- Определение структуры и поведения системы.
- Получение шаблона для создания системы.
- Документирование принятых решений.
Принципы моделирования [3.3]:
- Выбор модели оказывает определяющее влияние на подход к решению проблемы и на то, как будет выглядеть это решение.
- Каждая модель может быть воплощена с разной степенью абстракции.
- Лучшие модели - те, что ближе к реальности.
- Наилучший подход при разработке сложной системы - использовать несколько почти независимых моделей.
Как уже упоминалось ранее, одним из наиболее популярных подходов к моделированию является объектный подход. В соответствии с этим подходом в результате OOA и OOD мы получаем "хороший" проект программной системы, прозрачный, удовлетворяющий требованиям, удобный для тестирования и отладки, коллективной разработки, развиваемый, допускающий повторное использование компонентов.
К сожалению, даже использование таких мощных средств, как объектный подход, не гарантирует нам успех. К сожалению, в больших проектах сложность моделируемого объекта (и, соответственно, сложность проекта) такова, что проект слишком велик для адекватного восприятия одним человеком, по крайней мере, в уме.
Это и означает необходимость визуального моделирования.
Идея визуального моделирования состоит в графическом отображении обсуждаемых и принимаемых проектных решений. При этом достигаются следующие цели:
- Визуализация упрощает понимание проекта в целом.
- Визуализация помогает согласовать терминологию и убедиться, что все одинаково понимают термины.
- Визуализация делает обсуждение конструктивным и понятным.
Для визуального моделирования нужна специальная нотация или язык.
UML (unified modeling language) - это язык для визуализации, специфицирования, конструирования, документирования элементов программных систем [3.3]. UML - язык общего назначения, предназначенный для объектного моделирования.