□ тестирование (test) — проверка функционирования системы;
□ внедрение (deployment) — поставка системы конечным пользователям и их обучение.
Каждая стадия в разрезе компонентов процесса обычно применяется к конкретной фазе временного направления (см. рис. 1.4.). Однако степень применения каждого компонента зависит от этапа разработки. Например, вы можете испытать концептуальный прототип системы на стадии задумки, и тогда вам потребуется не только определение требований — необходимо будет провести анализ, проектирование, реализацию и тестирование, чтобы завершить создание прототипа. Важность анализа выявляется на этапе проработки.
Рис. 1.4. Стадии разработки
Сначала предпочтительно выпустить несколько версий. Они обычно используются для проверки аналитических решений в области архитектуры системы. Таким образом, вы не только анализируете проблему. На стадии создания система строится с помощью серии версий. При любой структуре разработки дополнительные вопросы всегда возникают неожиданно, что требует проведения нового анализа.
Диаграмма должна быть основным руководством для отражения жизненного цикла вашего проекта. Основная мысль заключается в следующем: если вы только думаете над тем, что собираетесь создавать, в то время когда уже пишете код, вероятно, у вас возникнут проблемы. Заметьте, что тестирование применяется в ходе всего итерационного процесса. То есть вы не ждете, когда весь код будет написан для проверки его работы.
В этой книге применяется упрощенная версия Rational Unified Process, в которой сделан акцент на использовании языка UML для получения и документального описания решений на стадиях задумки и проработки проекта. В последних главах кратко рассказывается об этапе создания. Несмотря на то что тестирование — неотъемлемая часть процесса разработки, его описание выходит за рамки данной книги.
Методы создания программного обеспечения должны поддерживаться соответствующими инструментами разработки. Когда я впервые начала заниматься объектно-ориентированным моделированием, моими инструментами были бумага и карандаш. Теперь в продаже имеются более удобные программные инструменты — не только простые графические редакторы, но и сложные пакеты объектного моделирования. В этой книге для моделирования используется программа Rational Rose. На каждом этапе моделирования приводится описание необходимых действий.
Семейство продуктов Rational Rose призвано обеспечить разработчика программ полным набором инструментов визуального моделирования для эффективного решения сложных бизнес-задач с использованием архитектуры клиент/ сервер, распределенных сред и систем реального времени. В продуктах Rational Rose отражен универсальный стандартизированный подход к построению моделей, позволяющий программистам моделировать логику приложений, а не программистам — бизнес-процессы. Демонстрационную версию пакета Rational Rose можно получить на сайте компании Rational Software Corporation по адресу: www.rational.com.
Хотя в этой книге в качестве инструмента моделирования используется Rational Rose, ряд диаграмм можно получить также средствами программы Microsoft Visual Modeler. Этот продукт предназначен специально для начинающих разработчиков и предоставляет следующие возможности:
□ описывать и проектировать бизнес-объекты с последующим отображением их на программные компоненты;
□ разделять сервисы в трехзвенной сервисной модели;
□ распределять компоненты в сети;
□ генерировать исходные модули на Visual Basic по созданной модели;
□ использовать возвратное проектирование для создания модели по существующим компонентам и приложениям;
□ синхронизировать модели с кодом.
Пакет Rational Rose по сравнению с Microsoft Visual Modeler позволяет анализировать требования к бизнес-системе и бизнес-сценарии с помощью диаграмм последовательности действий и диаграмм взаимодействий, моделировать состояния, генерировать код и поддерживать встроенный скрипт для доступа к внутренним компонентам программы.
Визуальное моделирование — это способ представления идей и проблем реального мира с помощью моделей. Модель помогает понять проблему всем участникам, задействованным в реализации проекта на различных этапах: заказчику, эксперту, аналитику, проектировщику, автору документации, программисту и др. Моделирование обеспечивает более точную оценку необходимых ресурсов, четкую проработку планов и эффективное функционирование создаваемых систем.