Рецензии
Владимир Пржиялковский
В прошедшем году среди разработчиков ИС наблюдался очередной всплеск интереса к “объектной теме”. Вызван он был тем, что в продажу поступили последние версии СУБД фирм Oracle, Informix и IBM, дополненные объектными возможностями. Таким образом, работа с объектами стала насущной для широкого класса разработчиков, программирующих на популярных SQL-СУБД. Можно предположить, что какую-то небольшую их часть в некоторой степени постигло разочарование, так как в новых системах они увидели не совсем то, что ожидали, но большинство, вероятно, ощутило стремление разобраться, как им следует строить свою работу с объектами. Здесь не к месту обсуждать термин “объектно-реляционные СУБД”, но очевидно, что работа с подобными системами требует и знакомства с уже давно развиваемыми в компьютерной литературе явлениями “объектного анализа”, и “объектного проектирования”.
Именно этим двум направлениям посвящены две рецензируемые ниже книги. Помимо упомянутой общности они сходны еще и тем, что, хотя обе написаны в соавторстве, каждая несет свой доминирующий признак “книги одного автора”, имя которого на слуху, да не одно десятилетие. Разнятся же они, главным образом, подходом: если в одной речь идет о том, что такое объектный анализ и проектирование, то во второй - как то и другое применять.
James Martin, James Odell. Object-Oriented Analysis and Design. Prentice Hall, 1992.
Поколение постарше хорошо помнит книгу Джеймса Мартина “Основы управления базами данных”: по ней готовились к экзамену в институте - кто к сдаче, а кто и к приему. Объект для перевода, выполненного в советское время, был выбран действительно удачно: книга оказалась хорошим введением в дисциплину, одним из трех-четырех достаточных студенту пособий по этой теме вообще. Несмотря на то что между “Объектно-ориентированным анализом и проектированием” и “той” книгой (а были, кстати, и другие переводы) - лет примерно 15, в которые уместилось несколько десятков других изданий этого автора, мы имеем дело со столь же “ключевой” для своего (теперь уже нашего) времени книгой, но посвященной уже не “теме тех лет” - реляционным базам данных, а “теме наших дней” - объектному подходу.
Структура книги весьма проста и включает пять основных частей. Первая часть вводная, в ней содержатся общие рассуждения об эволюции развития информационных систем и о месте в этой эволюции объектно-ориентированного подхода. (Здесь не надо забывать, что мы имеем дело с одним из наиболее авторитетных лекторов в мире.) Вторая называется “Процессы анализа и проектирования” и затрагивает такие темы, как анализ структуры и поведения объектов, планирование анализа и проектирования объектов, а также стандарты, инструментальные CASE-средства и стандарты графического изображения в объектном подходе. Систематично проводится разграничение анализа и проектирования в случае разработки ИС и структуры и поведения - в случае, когда речь идет об объектах: для комбинаций первого, второго, третьего и четвертого требуются различные технологии. В следующих частях более подробно рассматриваются основы анализа структуры объектов (часть 3), основы анализа поведения объектов (часть 4) и проектирование (часть 5). Мне самой интересной и насыщенной показалась третья часть, более других обладающая преемственностью в обсуждениях, которые длятся вот уже третье десятилетие в компьютерном мире.
Книга Мартина и Оделла представляет собой труд-описание. Цель ее - показать читателю, что собой представляет популярный объектный подход. При этом не надо забывать, что традиционной аудиторией Мартина является управленческое звено; в определенной степени книга предназначена начальникам, которым важно, с одной стороны, определить перспективны ли принимаемые ими решения, а с другой - понять, что же делают их специалисты. Этим объясняется, в частности, наличие большого количества иллюстративного материала и отсутствие углубленных технических пассажей. В то же время в достаточно четком понимании теоретических проблем Мартину не откажешь (см. ту же третью часть).
Хотелось бы еще отметить следующее. Будучи консультантом (период 19-летней работы в IBM остался, как и у таких величин, как Кодд или Дейт, - может быть, “дело в консерватории” ? - у Мартина позади), Мартин вместе с коллегой не особенно ограничивают себя рамками каких-либо реальных инструментариев объектного проектирования. Они предлагают, “как надо делать”, в то время как существующих CASE-систем за их рисунками и схемами не стоит. Понимание этого не должно смущать читателя. Хотя бы потому, что, как показывает опыт, “отец CASE-систем” умеет заглядывать в будущее.
Справки о наличии книги в московских книжных магазинах можно получить по телефону: (095) 251-4504.
Edward Yourdon, Carl Argila. Case Studies in Object-Oriented Analysis and Design. Yordon Press, 1996.
Вторая книга написана Эдвардом Йордоном, одним из наиболее известных учителей в области построения информационных систем, в соавторстве с Карлом Аргилой тоже на тему ориентированного анализа и проектирования, но в своем особенном ключе. Не распространяясь чересчур о сути предмета, авторы задались целью на двух примерах систематично, шаг за шагом, показать его практическое применение. Для этого взяты два нарочито различных приложения - управление лифтами в высотном здании и организация работы небольшого издательства (авторы, подписчики, номера журнала), - которые оказываются в поле зрения читателя в самом начале книги и остаются с ним до конца.
Основная идея лежит где-то в области между двумя приводимыми в тексте суждениями. Первое: “Всякая самая сложная ситуация в информационном проектировании имеет простое решение. И всегда это решение неадекватно ситуации”. Второе: “Использование имеющегося объектного инструментария само по себе не дает никаких преимуществ”. По поводу второго суждения авторы, однако, уверены, что здесь как раз заложены очень хорошие возможности, которые тем не менее нужно еще уметь реализовать. Доказательству существования таких возможностей, проведенному на двух примерах, и посвящена книга.
Интересно отметить, что Йордон - не пурист объектного подхода. Может быть, ему несколько неловко отказываться от своего богатого книжного наследия (он автор превосходных книг по структурному подходу; одна из его книг по структурному программированию была переведена на русский язык еще в 1979 г.), но он не только не предлагает “не замечать” структурного подхода, но и использует технологию структурного анализа при объектном анализе и проектировании. Отмечая предельную важность правильного выбора объектов при выполнении проекта по объектной технологии, авторы предлагают использовать в качестве одного из инструментов объектного анализа диаграммы “сущность - связь”. Несколько раз в книге утверждается, что ту или иную систему разумно проектировать не обязательно по объектной, но и по структурной методологии. Как мне показалось, основным преимуществом использования объектного подхода перед структурным авторы считают больший потенциал создаваемой ИС с точки зрения грядущих изменений в постановке задачи. Если так, то это действительно очень важное преимущество, так как отсутствие поддержки динамики содержания прикладной области существенно ограничивает возможность структурных методов, как, впрочем, и современных СУБД.
Книга, как и многие другие йордоновские труды, имеет педагогическую направленность. Она представляет собой беллетризированное авторское изложение практикума, проводившегося среди студентов и специалистов. Схема такого практикума - от общих рассуждений к объектному анализу рассматриваемых конкретных ситуаций и от объектного анализа - к объектному проектированию. Результаты проектирования изложены на прилагаемой дискете с работающими программами. Жаль, что подобные практикумы недоступны отечественным студентам и специалистам.
Сказать, что Йордон знает дело, значит сказать тривиальность. Но кроме этого он обладает эрудицией и владеет словом. Йордон - один из моих любимых авторов по теме разработки ИС. А вот ответ скептикам, утверждающим, что, занимаясь преподавательской и консультационной деятельностью, Йордон далек от практики (так сказать, “если ты такой умный, то почему не Президент?”): его соавтор Аргила является специалистом с тридцатилетним стажем и участником проектов “Аполлон”, разработки подводной лодки “Трайдент”, бомбардировщика B-2 и других.
Справки о наличии книги в московских книжных магазинах можно получить по телефону: (095) 251-4504.
В заключение хочется сказать пару слов о том, как обе упомянутые книги соотносятся с книгой Гради Буча ”Объектно-ориентированное проектирование”, переведенной в 1992 г. (через год после выпуска оригинала, правда, теперь уже вышедшего вторым изданием) на русский язык киевской фирмой “Диалектика” и московской ИВК. Во-первых, книга Буча фокусируется преимущественно на объектном проектировании ИС. Во-вторых, она, конечно, существенно более энциклопедична и требует от читателя значительно большей программистской эрудиции (отдельная глава отведена каждой из систем - на Smalltalk, Object Pascal, C++, CLOS, Ada). Это делает ее более трудно воспринимаемой при чтении. Наконец, в-третьих: она переведена на русский язык, а значит (в противовес к “во-вторых”), более доступна для чтения. Таким образом, каждая из трех книг имеет своего читателя, и все три тем самым хоть немного, да способствуют возрождению многообразия профессиональной литературы в государстве.
К автору можно обратиться по адресу: prz@deneg.net.