Всякий раз, беря в руки новую книгу, посвященную проблеме жизненного цикла программ, возникает вопрос: «Ну, что еще можно сказать по этому поводу?» В такой литературе обычно анализируется жизненный цикл программных средств с точки зрения возможностей технологий их создания, тогда как, по существу, интереснее посмотреть на жизненный цикл с системной точки зрения.
Только что вышедшая в издательстве «Синтег» книга Владимира Липаева «Технико-экономическое обоснование проектов сложных программных средств», а также ранее увидевшие свет работы Барри Боэма (в том числе, Боэм Б.У. «Инженерное проектирование программного обеспечения, М.: «Радио и связь», 1985 и Barry Boehm, Ellis Harrowitz, Software Cost Estimation with Cocomo II, Prentice Hall PTR, 2000) затрагивают важный аспект технико-экономического обоснования проектов программных систем. При этом Липаев настаивает: «Развитие данного направления должно привести к новой области экономической науки — экономике жизненного цикла программных средств».
Обоснование эффективности проекта сложных программных средств (СПС) в книге предлагается проводить, исходя из некоторой структурной модели их жизненного цикла, включающей этапы разработки, эксплуатации и сопровождения. На ее основе формируется технико-экономическая модель, учитывающая затраты, необходимые для достижения целей, а также все функциональные и ресурсные ограничения, выдвигаемые заказчиком. Собственно основы технико-экономического обоснования и составляют содержание первой главы книги.
Далее изложены сведения по основным факторам, определяющим технико-экономические показатели в жизненном цикле СПС. К ним автор отнес особенности классов и характеристики СПС на основе стандарта ISO 12182, а также оценки размеров программных компонентов этих средств.
При рассмотрении основных характеристик затрат на разработку СПС, Липаев предлагает оценивать трудоемкость и длительность при выполнении полностью нового продукта и повторном использовании готовых компонентов, а также учитывать распределение затрат по этапам разработки СПС.
В концепции разработки технико-экономического обоснования, изложенной автором, важной является глава, содержащая описание факторов, влияющих на прогнозы затрат. По существу, в ней указывается на те моменты жизненного цикла, в которых возникает необходимость учета обратной связи в информационных каналах, без которой проект не будет эффективным, потому что будут снижены реальные значения величин критериев, по отношению к их оценкам в ТЭО. Роль различных факторов, естественно, зависит от рассмотрения того или иного критерия. Вместе с тем, к числу параметров, обязательно подлежащих учету, автор отнес влияние изменений к требованиям на характеристики программных средств, на уровень используемых разработчиков, а также на различия в технологической и вычислительной средах проекта.
Завершает книгу глава о методиках проведения технико-экономического обоснования СПС. Приведено три подхода: экспертный на основе модели, предложенной Боэмом; на базе программного пакета COCOMO II 2000; на базе модели ПЛАПС (Планирование ПС), разработанной самим Липаевым. Возможности пакета таковы, что пользователи могут получить ТЭО в ходе предварительного и детального этапов, что, естественно, позволяет уточнить характеристики.
ПЛАПС базируется на отечественных данных о завершенных разработках. Как утверждает Липаев, в этой методике учтены сведения о более чем 250 проектах с общим объемом около 17 млн объектных команд (данные из проекта «Прометей»).
В приложениях к книге можно найти полезную информацию по стандартам в области технико-экономического обоснования СПС и примеры прогнозирования технико-экономических показателей разработки СПС на основе моделей COCOMO.
Отмечая полезность данной книги для разработчиков программного обеспечения, студентов и преподавателей по соответствующим разделам информатики, следует заметить, что путь до экономики жизненного цикла программных средств предстоит еще долгий.
В.В. Липаев. Технико-экономическое обоснование проектов сложных программных средств. М.: Синтег, 2004. — 284 с.