Особенности стандартизации жизненного цикла программных средств

Программы для вычислительных машин обычно являются компонентами ЖЦ технических систем, но по своей природе значительно отличаются от аппаратных, технических изделий. Но их ЖЦ имеет характерные особенности, по сравнению с другими техническими объектами. Программы и данные в системах и вычислительных машинах являются наиболее гибкими компонентами и подвержены изменениям в течение всего их ЖЦ. По особенностям и свойствам ЖЦ программ их целесообразно делить на ряд классов и категорий, из которых наиболее различающимися являются два крупных класса - малые и большие программы.

Первый класс составляют относительно небольшие программы, создаваемые одиночками или небольшими коллективами (3-5 специалистов). Эти программы:

· не предназначены для массового тиражирования и распространения в качестве программного продукта на рынке, их оценивают качественно и интуитивно преимущественно как "художественные произведения";

· не имеют конкретного независимого заказчика-потребителя, определяющего требования к программам и их финансирование;

· не ограничиваются заказчиком жестко допустимой стоимостью, трудоемкостью и сроками их создания, требованиями заданного качества и документирования;

· создаются преимущественно для получения конкретных результатов автоматизации научных исследований или для анализа относительно простых процессов самими разработчиками программ;

· не подлежат независимому тестированию, гарантированию качества и/или сертификации;

· создаются преимущественно без применения формализованных требований к функциям и допустимым затратам, без индустриальных технологий и стандартов на проектирование и разработку.

Для таких относительно несложных программ нет необходимости в регламентировании и автоматизации их ЖЦ, в длительном применении и сопровождении множества версий, в формализации и применении профилей стандартов и сертификации качества программ. Их разработчики не знают и не применяют регламентирующих нормативных документов. Вследствие этого ЖЦ таких изделий имеет непредсказуемый характер по структуре, содержанию, качеству и стоимости основных процессов "творчества". Второй класс составляют крупномасштабные комплексы программ для сложных систем управления и обработки информации, оформляемые в виде программных продуктов с гарантированным качеством. Они отличаются следующими особенностями и свойствами их ЖЦ:

· большая размерность, высокая трудоемкость и стоимость создания таких комплексов программ определяют необходимость тщательного анализа экономической эффективности всего их ЖЦ и возможной конкурентоспособности на рынке;

· от заказчика, финансирующего проект ПС и БД, разработчикам необходимо получать квалифицированные конкретные требования к функциям и характеристикам проекта и продукта, соответствующие выделенному финансированию и квалификации исполнителей проекта;

· для организации и координации этой деятельности специалистов-разработчиков необходимы квалифицированные менеджеры проектов;

· в проектах сложных ПС и БД с множеством различных функциональных компонентов участвуют специалисты разной квалификации и специализации, от которых требуется высокая ответственность за качество результатов деятельности;

· от разработчиков проектов требуются гарантии высокого качества, надежности функционирования и безопасности применения компонентов и поставляемых программных продуктов, в которые недопустимо прямое вмешательство заказчика и пользователей, не предусмотренное эксплуатационной документацией разработчиков;

· необходимо применять индустриальные, регламентированные стандартами процессы, этапы и документы, а также методы, методики и средства автоматизации, регламентированные технологии обеспечения ЖЦ комплексов программ.

В ЖЦ сложных комплексов программ участвуют специалисты различной квалификации и степени ответственности за результаты своей деятельности:

· заказчики определяют и несут ответственность за финансирование, требования к функциям и качеству программного продукта и за доступные ресурсы для обеспечения его ЖЦ;

· разработчики отвечают и гарантируют выполнение требований заказчиков в ЖЦ программного продукта с учетом выделенных ресурсов;

· пользователи имеют право применять программный продукт и адаптировать его к особенностям использования и внешней среды только в пределах, определенных эксплуатационной документацией, созданной разработчиками.

Попытки пользователей применения или изменения программного продукта, прошедшего квалификационные или сертификационные испытания и соответствующего требованиям заказчиков, за пределами, регламентированными документацией разработчиков, могут приводить к ликвидации гарантий и обязанностей его обслуживания разработчиками. Основная цель современных технологий поддержки ЖЦ ПС состоит в обеспечении экономической, технической и социальной эффективности всего ЖЦ комплексов программ для ЭВМ в различных проблемно-ориентированных областях. В понятие современной технологии включается совокупность методов и инструментальных средств автоматизации, а также технологические процессы, обеспечивающие ЖЦ сложных ПС с заданными функциональными и конструктивными характеристиками качества. Для этого рекомендуется использовать наиболее эффективные и совершенные методы и проводить комплексную автоматизацию обеспечения всего ЖЦ ПС.