Приложение А «Генерация кода и возвратное проектирование для С++» описывает поэтапную последовательность действий для генерации кода и возвратного проектирования с использованием программы Rational Rose 2000 и языка С++.
Приложение В «Генерация кода и возвратное проектирование для Visual С++ и Visual Basic» содержит информацию о поэтапной последовательности действий для генерации кода и возвратного проектирования с использованием пакета Rational Rose 2000 и языков Visual С++ и Visual Basic.
Приложение С «Примеры программ на Visual Basic» посвящено способам создания и использования динамических библиотек Visual Basic.
В глоссарии перечислены основные термины, используемые в книге.
Я хотела бы поблагодарить многих людей за помощь в создании, оформлении и распространении моей книги.
Особую признательность я выражаю Стиву Бейли (Steve Bailey), Нэвине Берэни (Naveena Bereny), Керту Биттеру (Kurt Bitter), Грейди Бучу (Grady Booch), Джиму Коналлену (Jim Conallen), Эду Делио (Ed Delio), Лизе Дорнел (Lisa Dornell), Мэту Дразелу (Matt Drahzal), Марии Эриксон (Maria Ericsson), Джиму Форду (Jim Ford), Адаму Франклу (Adam Frankl), Скоту Фромэну (Scott Frohman), Джиму Джилеспи Qim Gillespie), Дороти Грин (Dorothy Green), Джону Хопкинсу (Jon Hopkins), Айвару Джекобсону (Ivar Jacobson), Джэйсону Джэймсу (Jason James), Филиппу Крачтену (Philippe Kruchten), Эрику Липановичу (Eric Lipanovich), Питеру Лаки (Peter Luckey), Грэгу Мэйерсу (Greg Meyers), Сью Майкл (Sue Mickle), Лоре Малине (Laura Mullins), Лэри Обрайену (Larry O'Brien), Сильвии Нэчеко (Sylvia Pacheco), Джиму Пьетрокарло (Jim Pietrocarlo), Хьюго Санчесу (Hugo Sanchez), Чарли Снайдеру (Charlie Snyder), Лин Стил (Lynne Steele), Уокеру Ройсу (Walker Royce), Джиму Рамбо (Jim Rumbaugh),ToMy Шульцу (Tom Schultz), Джону Смиту Qohn Smith) и Дейву Тропеано (Dave Tropeano). Спасибо также редактору моей книги Картеру Шанклину (Carter Shanklin) и его помощнику Кристин Эриксон (Kristin Erickson) — без их содействия эта книга не была бы напечатана.
Для облегчения работы с текстом в книге приняты следующие соглашения:
□ фрагменты примеров, важные операторы, классы, объекты, прецеденты, атрибуты, пакеты обозначены специальным шрифтом (Courier);
□ важные объяснения, базовые определения и термины, встретившиеся впервые, выделены курсивом;
□ команды, клавиши и пункты меню даны полужирным шрифтом;
□ для обозначения последовательности выполнения команд меню используется символ =>, например: New => Actor.
Существует несколько общепринятых вариантов именования объектов, когда в их названия необходимо включить несколько слов. Поскольку многие языки программирования не поддерживают пробелы в именах объектов, то назвать объект несколькими словами не получится. Один из способов — слова внутри имени разделять символом подчеркивания (например, number_of_students). Другой — слова внутри имени писать слитно, но каждое слово начинать с заглавной буквы (например, numberOfStudents). В оригинале используется второй вариант, известный как «Венгерская нотация». Но поскольку русский перевод имен объектов модели все равно не преобразуется напрямую в имена объектов языка программирования, то в данной книге эти названия, выделенные моноширинным шрифтом, приводятся с пробелами, например: количество студентов.
Глава 1. Что такое визуальное моделирование
Визуальным моделированием (visual modeling) называется способ представления идей и проблем реального мира с помощью моделей. Модель помогает понять проблему всем участникам, задействованным в реализации проекта на различных этапах: заказчику, эксперту, аналитику, проектировщику, автору документации, программисту и др. Моделирование обеспечивает более точную оценку необходимых ресурсов, четкую проработку планов и эффективное функционирование создаваемых систем.
Модель (model) — это абстракция, описывающая суть сложной проблемы или структуры без акцента на несущественных деталях, тем самым делая ее более понятной. Абстрагирование — одна из основных способностей человека, которая позволяет разбираться в сложных вещах. Инженеры, артисты, ремесленники используют модели на протяжении тысячи лет, чтобы сначала проверить изделие или замысел, а потом приступить к его реализации. Разработка программного обеспечения — не исключение. Для построения сложной системы необходимо сначала разделить ее на несколько абстрактных представлений и построить модели, используя принятые обозначения — нотацию (notation). Затем убедиться, что модели удовлетворяют всем потребностям системы, и постепенно добавлять детали для перехода от моделей к реализации.