Один из вопросов, вызывающих постоянный интерес у создателей программного обеспечения: «Как рационально построить процесс его разработки?» Озабоченность этим охватила и ведущих производителей программных продуктов и технологий.
Прошедшие недавно в Москве конференции «День разработчика 2003» и «Платформа 2004», организованные корпорациями Borland и Microsoft, в очередной раз показали, сколь важны проблемы поддержки разработки программ. Несомненным откликом на данный круг проблем стал выпуск оригинальных книг «Серия Питера Кода», предпринятый издательством Prentice Hall PTR.
Книга «Быстрая и качественная разработка программного обеспечения» представляет собой полное руководство по командной разработке с помощью компонента Design и программных средств Together. Основное средство, называемое Together ControlCenter, позволяет более эффективно решать вопросы взаимодействия в группах разработчиков, добиваясь при этом повышения качества программного продукта. Книга предназначена для разработчиков, руководителей и менеджеров групп, ориентирующихся на использование объектно-ориентированных языков типа Java. В основе ALM лежит методология представления программ в виде моделей, поэтому авторы книги обсуждают четыре основных аспекта работы с моделями: поддержка одной модели с единым источником, минимальная метамодель, модель изменений/возмущений и постоянный контроль качества.
На протяжении десяти глав в книге изложены программные продукты Together и их отличительные черты: технология LiveSource, управление взаимодействием с помощью изменений в конфигурации, автоматизация выполнения рутинных операций, фиксация знаний с помощью шаблонов, постоянный контроль качества на основе использования обратной связи. Особое внимание авторы рекомендуют уделять этапу развертывания и запуска приложения.
В завершении книги описываются микропроцесс проектирования и реализации, макропроцесс определения архитектуры, а также пример архитектуры J2EE, для которой средство Together упрощает процесс разработки. Все это позволяет организовать эффективное проектирование взаимодействия, документировать архитектурные ограничения и т. д. В приложениях к книге имеются учебные материалы, сведения по модулям JUnit и JUnitX, информация по модификации Together с помощью файла .config, а также описываются особенности настройки шаблонов и инспекторов.
Энди Кармайкл, Дэн Хэйвуд. Быстрая и качественная разработка программного обеспечения. М.: «Вильямс», 2003.— 400 с.: ил.
Другая книга посвящена функционально-ориентированной разработке (Feature-Driven Development — FDD) и представляет собой практическое руководство. Акцент сделан на комбинировании гибких методов проектирования с масштабируемостью на корпоративном уровне, на постоянном контроле проекта в течение всего периода его реализации, на моделировании, изучении функций, планировании и конструировании программ. Не оставлены без внимания и применения FDD в реальных проектах.
Методология FDD, изложенная в книге Стивена Палмера и Джона Фелсинга, базируется на следующих представлениях. Разработка программного обеспечения должна быть представлена как целостный системный процесс, состоящий из проектов и участвующих в них людях. Важно, что разбиение разработки на процессы зависит от практического опыта, следовательно, ее ход надлежит контролировать. Для успешной организации низкоуровневых работ над проектом полезны, например, инструменты, так называемые FDD-пакеты, предназначенные для документирования разработки и реализации проектов. Почти половина книги посвящена практическим вопросам — пяти процессам FDD и дополнительным рекомендациям при работе с ними.
Разумеется, книга найдет своих читателей, особенно среди тех, кто занят офшорным программированием. Вместе с тем при чтении книги меня не покидало чувство «дежа вю» и, кроме того, я с трудом разделял «пионерский» восторг по поводу рекомендаций обратить внимание на тот или иной методический изыск. Достоинство данной книги не в новизне, а в систематическом изложении темы.