Основная задача книги — помочь в овладении техникой визуального моделирования и освоении основ языка UML. Здесь используются единый практический пример для демонстрации методов анализа и проектирования приложения. Приложение — это система регистрации учебных курсов для университета. Такая проблемная область была выбрана по причине ее понятности и отсутствия в ней компьютерной специфики. Поэтому вы можете сконцентрироваться на процессе моделирования и не тратить время на изучение самой предметной области.
Проблемная область рассматривается достаточно глубоко, чтобы была возможность практически опробовать методы визуального моделирования и поупражняться в решении реальной задачи, не обращая при этом особого внимания на несущественные детали. Ряд сопутствующих вопросов, условий и ограничений опущены с целью получения простого и понятного примера, соответствующего задачам книги.
Для получения подробной информации о методах визуального моделирования, языке UML и способах их использования для приложений вы можете обратиться на учебные курсы компании Rational Software Corporation. Ее адрес: 2800 San Tomas Expressway, Santa Clara, CA 95051; телефон: 8-10-1-800-767-3237; электронный адрес: product_info@rational.com; сайт: www.rational.com.
Порядок и нумерация глав в настоящем издании не изменились, но содержание многих глав обновилось. Рисунки и сообщения программы приведены для версии Rational Rose 2000. Серьезные изменения коснулись глав 5 и 11. В главе 5 «Способы взаимодействия объектов» диаграммы последовательности действий и диаграммы взаимодействий сохранены в логическом представлении системы. Это сделано для соответствия Rational Unified Process. В главе 11 «Проектирование системной архитектуры» изменения внесены для того, чтобы показать значки компонентов вместе с нотацией для интерфейсных классов.
Я также добавила приложения, в которых рассматриваются способы использования программы Rational Rose с языками Visual Basic и Visual С++.
В главе 1 «Что такое визуальное моделирование» обсуждаются преимущества визуального моделирования, история языка UML и этапы разработки программы.
Глава 2 «Начало проекта» содержит описание системы регистрации учебных курсов, которая используется в качестве основного примера книги.
Глава 3 «Создание прецедентов» описывает методы исследования поведения системы на основе прецедентов.
Глава 4 «Поиск классов» знакомит с основными подходами и нотацией для выделения объектов и классов системы. Здесь также рассматриваются понятия стереотипов и пакетов в языке UML.
В главе 5 «Изучение взаимодействия объектов» рассматривается добавление в систему сценариев, описывающих, как прецеденты реализуются путем взаимодействия между наборами объектов. Здесь приводятся примеры использования диаграмм последовательности действий и диаграмм взаимодействий для получения сценариев.
Глава 6 «Определение отношений» иллюстрирует возможности установки отношений между классами системы. Отдельно обсуждаются понятия ассоциации и агрегации.
Глава 7 «Добавление поведения и структуры» содержит информацию о способах добавления структуры и поведения классов к модели системы.
Глава 8 «Изучение наследования» знакомит с принципами наследования и отношения типа подкласс-суперкласс.
В главе 9 «Анализ поведения объекта» рассказывается об использовании диаграмм переходов и состояний для анализа классов с выраженным динамическим поведением.
В главе 10 «Проверка модели» обсуждаются методы проверки целостности моделей, применяемые при параллельной работе над проектом нескольких рабочих групп.
Глава 11 «Проектирование системной архитектуры» знакомит с понятиями и нотацией для описания и документирования системной архитектуры. Данная глава не является полным руководством по разработке архитектуры, она лишь описывает нотацию и процессы, необходимые для ее определения, представления и документирования. Эти сведения специально размещены именно здесь, потому что архитектурные решения используются в последующих главах.
В главе 12 «Выпуск версий» рассматривается организация процесса выпуска версий. Здесь также приводится нотация языка UML для описания решений, принимаемых на этапе проектирования при создании версии. В этой главе не обсуждаются удачные или неудачные решения в области проектирования, а говорится о процессе и нотации, используемых для построения версий.