Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]
Вступление
В карьере любого серьезного программиста рано или поздно наступает момент, когда нужно сделать качественный скачок в своем образовании. Обычно это происходит при смене версии языковых средств или инструментов, с которыми за многие годы работы просто сроднился, зная все "подводные камни" и способы их преодоления. Однако наступает момент, когда нужно сказать себе "пора".
У меня, как и у многих, таких моментов было несколько. Сначала был вопрос выбора и последующего изучения выбранного языка программирования. Начинал, как и все, с Basic. После создания нескольких программ на нем, обратил внимание на Pascal. Но этот период прошел довольно быстро, и я, получив в свое распоряжение персоналку, погрузился в изучение ее возможностей при помощи Assembler.
Первой книгой по С++, которая попала мне в руки в далеком 1991 году, была ныне многократно переизданная книга основателя C++ Б. Страуструпа "Язык программирования C++" . И я, покоренный красотой языка и его возможностями, просто погрузился в этот совершенно новый мир - мир, состоящий из объектов, которые используются для создания программ.
Сменялись версии языка, добавлялись новые объекты, появилась библиотека MFC и различные мастера (Wizard), помогающие создать приложение за несколько минут. Но созданные этими мастерами приложения необходимо наполнять реальными классами, устанавливать их взаимосвязи, а это требует "ручного" программирования и, как следствие, трудоемкой поддержки и сопровождения. Даже если вы используете собственную библиотеку классов, внесение изменений в код самого класса чревато нарушением его работоспособности, особенно после нескольких месяцев или лет работы, когда многие ограничения и связи, которые учитывались при создании, забыты. Так где же решение? А решение, как это часто бывает, лежит на поверхности. Нужно уменьшить "ручное" программирование, чреватое ошибками и вносимыми каждым разработчиком личными предпочтениями в программу.
Как это сделать, спросите вы. Ведь создание программ - это творческий процесс, полностью зависящий от программиста. Это достаточно распространенное заблуждение. Конечно, как и в любой работе, здесь есть элементы творчества, однако, это процесс, который можно и нужно ставить на индустриальные рельсы. Разработка программ напоминает создание, например, самолета, где влияние на проект конкретного инженера минимально. Необходим инструмент, который позволит уменьшить долю ручного труда при программировании и предоставит большие возможности для творчества, освобождая программиста от выполнения рутинных операций и от ошибок при принятии решений.
И такой инструмент есть - это Rational Rose Enterprise Edition. Это скорее не отдельная программа, а целый пакет, облегчающий разработку сложных программных систем, удобный для описания алгоритмов работы, взаимосвязей между объектами и позволяющий на основе графических диаграмм создавать исходный код программ.
Созданные в едином стиле UML диаграммы классов понятны любому программисту, который придет к вам на смену, когда вы, изучив концепцию объектно-ориентированного проектирования, уйдете руководить проектом. И что самое ценное, эти диаграммы позволяют прямо из проекта Rational Rose создать исходный текст программы на C++, Visual Basic или другом языке, поддерживаемом Rational Rose, при помощи входящего в пакет анализатора преобразовать имеющийся у вас программный проект C++ в диаграммы, чтобы в дальнейшем вести его посредством Rational Rose.
Итак, скажите себе "пора!", устанавливайте на своем домашнем или рабочем компьютере этот пакет и приступайте к изучению. Время, которое вы потратите на освоение этого замечательного инструмента программиста и проектировщика - ничто, по сравнению с теми преимуществами, которые вы получите.
Цели написания этой книги
Эта книга написана для того, чтобы помочь изучить Rational Rose - достаточно сложный программный продукт. В ней на примере гидропонной станции показано, как происходит объектно-ориентированная разработка при помощи CASE-инструмента Rational Rose.
Эта книга не дает ответов на то, как нужно проектировать объектно-ориентированные системы, этот процесс подробно рассмотрен, здесь лишь перечисляются общие подходы.
Эта книга не является учебником по программированию на C++, однако, даже не зная ничего о синтаксисе языка, можно использовать эту книгу для объектно-ориентированного проектирования, ведь Rational Rose поддерживает также CORBA, Java, Visual Basic, Oracle 8, и исходный текст на любом их этих языков может быт создан на основе готового проекта Rational Rose.
Для создания приложения мы будем использовать Visual C++ с применением библиотеки Microsoft MFC, потому что C++ использует для примеров Г. Буч, и этот язык создан для разработки объектно-ориентированных систем, а библиотека MFC позволит быстро создать шаблон приложения.
Также, для сравнения возможностей создания кода, мы рассмотрим создание кода на языке Visual Basic и C++ без применения библиотеки Microsoft MFC.
Эта книга даст ответы на вопросы как сделать то или иное действие при помощи данного инструмента и полностью отражает весь путь объектно-ориентированного создания программной системы от замысла до генерации исходного кода. Весь этот процесс показан на примере гидропонной системы, некоторые части которой даются в качестве примера. Поэтому для более глубокого изучения процесса объектно-ориентированного проектирования вы можете использовать работу Г. Буча, и данная книга будет в этом хорошим подспорьем.
Для кого написана эта книга
Эта книга написана для всех, кто хочет получить представление о современных методах создания объектно-ориентированных систем, для тех, кто хочет применить эти методы на практике, решая конкретные задачи.
Книга будет полезна как студенту, имеющему базовые понятия о программировании, так и серьезному программисту с многолетним опытом, желающему освоить передовые технологии программной инженерии.
Для примеров исходного кода, получаемого при помощи Rational Rose, в основном используется Microsoft VC++, поэтому читатель, работающий с этим языком, может на практике убедиться в предоставляемых пакетом возможностях по генерации и реинженерингу исходного кода.
Пользователи, не работавшие ранее с Rational Rose, узнают о его возможностях и на практике, повторяя описанные действия, могут пройти через все этапы разработки простой системы для того, чтобы дальше попробовать себя в чем-то более сложном.
Все примеры в книге даны для версий программы 98i и 2000 Enterprise Edition. Пользователи, уже работающие с версией 98i, освежат в памяти ее возможности и узнают о возможностях версии 2000, а затем могут для себя решить, стоит ли переходить на следующую версию или подождать выхода полноценной версии 2001.
Однако эффективная работа и создание гидропонной системы возможна в обеих версиях, так как основные функции, которые необходимы для этого, совпадают. И если учесть, что каждая последующая версия требует больших вычислительных ресурсов, то, возможно, работа не с самым последним релизом продукта будет более эффективной по времени, несмотря на некоторые ограничения в возможностях.
Эта книга написана для всех, кто хочет получить представление о современных методах создания объектно-ориентированных систем, для тех, кто хочет применить эти методы на практике, решая конкретные задачи.
Книга будет полезна как студенту, имеющему базовые понятия о программировании, так и серьезному программисту с многолетним опытом, желающему освоить передовые технологии программной инженерии.
Начало
Полное содержание
Структура книги
Заказать книгу в магазине "Мистраль"