Предмету программирования — мощному средству «разговорить» компьютер — около полувека. Понятно, что за это время сформировался корпус не только пишущих программы, но и тех, кто толкует программирование с научной, практической и мировоззренческой позиций.
Одну из книг, посвященных проблеме организации процесса программирования - «Структурные модели в объектно-ориентированном анализе и проектировании», хочется представить на книжной полке «Открытых систем». Это желание подкреплено еще и тем обстоятельством, что один из ее авторов Эдвард Йордон - общепризнанный авторитет в объектно-ориентированном анализе и проектировании программного обеспечения. Книга посвящена структурным моделям в объектно-ориентированном анализе и проектировании. Ее перевели на русский язык в издательстве «Лори» с оригинала, изданного Yourdon Press Prentice Hall Building.
Честно признаюсь, что работы по структурному и объектному программированию читаются трудно, но ровно до той поры, пока не начинаешь примерять прочитанное к своей работе. Это сродни решению шахматных задач, когда радость осознания приходит лишь после того, как задача поставлена на доске. Книгу открывают два предисловия, первое из которых представляет обращение к русскому читателю и содержит краткий экскурс в историю развития программирования. Здесь излагается авторский взгляд на появление объектно-ориентированной парадигмы в программировании. Говоря короче, почему произошел поворот от структурного к объектно-ориентированному программированию. Прежде всего, это связывается с успехами в развитии за последнее десятилетие аппаратных платформ, сетевых и в том числе клиент-серверных технологий. (Хотелось бы добавить, что смена парадигмы программирования в значительной мере определена более тесной семантической связью текстов описания приложения и программы — Г.Р.). Отсюда необходимость более глубокого проникновения в предметную область приложения при написании программы. Так появились в программировании методы объектно-ориентированного анализа (ООА) и проектирования (ООП), вызванные к жизни необходимостью создания сложных программных комплексов.
Книга Э. Йордона и К. Аргилы привлекает внимание читателя к структурным моделям в ООА и ООП, и преследует цель показать изменение «общепринятой философии построения систем программ». Следует сказать особо, что несомненное достоинство книги проявляется в том, что авторы предлагают изложение материала на основе модельного подхода к системам программ. Это представляется особо значимым сегодня в силу определенного отказа от подобного подхода при рассмотрении Web-технологий, где преобладает стиль «action», сродни свойственного Наполеона: «Втянемся в сражение, а там поймем, что следует делать».
Книга представляет собой результаты кропотливой работы не только авторов, но и их учеников, а свидетельство тому - структура книги и стиль ее изложения. Двадцать две главы содержат материалы о структурных моделях, не как о категориях философии, а как о конкретных системах (управления лифтом и организации подписки на журнал). При этом читатель вместе с авторами последовательно проходит путь от построения модели, через ее анализ к проектированию системы. Вот его основные вехи. Поиск и хранение подходящих объектов, включающий мотивацию, подход к ним, моделирование на основе лингвистического анализа 3VM (3-view modeling) и переход к ООА. Идентификация и обработка классов и объектов модели, а также оценка сложности этих процессов, в том числе атрибутов. Выяснение отношений между экземплярами и объектами в рамках служб и сообщений. И конечно, проверка полноты и непротиворечивости модели анализа. Проведение документирования аналитической модели, проверка и исправление ее. Переход к проектированию и выяснение вопросов, связанных с областью описания проблемы. Спецификация человеческого интерфейса. Решение вопросов управления задачей. Описание проекта базы данных. Внимание к качеству моделей уже на уровне проекта системы. И, естественно, документирование проекта и пересмотр модели проектирования. Завершает путь этап реализации проекта, на котором выбирается язык программирования, учитывается итеративный характер процесса проектирования ПО, выбирается или нет разработка ООП в средах создания быстрых приложений RAD и проводится тестирование в рамках ООП.
Завершающая книгу глава описывает «Программу - руководство к действию - двенадцати шагов» для перехода к ОО-технологии, в которой по существу изложены принципы здравого смысла обязательные для серьезного «профи».
Чуть менее половины книги составляют девятнадцать приложений, охватывающих описание рабочих продуктов, используемых при ООА и ООП структурных систем, и преследующих цель предоставить читателю образцы применяемой в книге методологии.
Э. Йордон, К. Аргил, Структурные модели в объектно-ориентированном анализе и проектировании. М.: Лори, 1999, 264 с., с ил.