ПРОФИЛЬ ЦИКЛА

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

  • профили, регламентирующие процессы ЖЦ и системы обеспечения качества проектирования, разработки, применения, сопровождения и совершенствования ПС и их компонентов;
  • профили, регламентирующие объекты: архитектуру и структуру ПС и их компонентов – функции, интерфейсы и протоколы взаимодействия, форматы данных.


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


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


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

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

Термином жизненный цикл (ЖЦ) принято отражать совокупность процессов и этапов развития организмов живой природы, технических систем, продуктов производства от моментов зарождения или появления потребности их создания и использования до прекращения функционирования или применения. Это соответствует всеобщему закону развития любых изделий, событий или процессов между их началом и концом. Программы для вычислительных машин обычно являются компонентами жизненного цикла технических систем, но по своей природе значительно отличаются от аппаратных, технических изделий, поэтому их жизненный цикл имеет характерные особенности, по сравнению с другими техническими объектами. Программы и данные в системах и вычислительных машинах являются наиболее гибкими компонентами и подвержены изменениям в течение всего их ЖЦ. По особенностям и свойствам жизненного цикла программ их целесообразно делить на ряд классов и категорий, из которых наиболее различающимися являются два крупных класса – малые и большие программы.

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

  • не предназначены для массового тиражирования и распространения в качестве программного продукта на рынке, их оценивают качественно и интуитивно преимущественно как «художественные произведения»;
  • не имеют конкретного независимого заказчикапотребителя, определяющего требования к программам и их финансирование;
  • не ограничиваются заказчиком жестко допустимой стоимостью, трудоемкостью и сроками их создания, требованиями заданного качества и документирования;
  • создаются преимущественно для получения конкретных результатов автоматизации научных исследований или для анализа относительно простых процессов самими разработчиками программ;
  • не подлежат независимому тестированию, гарантированию качества и/или сертификации;
  • создаются преимущественно для обучения программированию без применения формализованных требований к функциям и допустимым затратам, без индустриальных технологий и стандартов на проектирование и разработку.

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

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

  • большая размерность, высокая трудоемкость и стоимость создания таких комплексов программ определяют необходимость тщательного анализа экономической эффективности всего их жизненного цикла и возможной конкурентоспособности на рынке;
  • от заказчика, финансирующего проект программного средства (ПС) и базы данных (БД), разработчикам необходимо получать квалифицированные конкретные требования к функциям и характеристикам проекта и продукта, соответствующие выделенному финансированию и квалификации исполнителей проекта;
  • для организации и координации этой деятельности специалистов-разработчиков при наличии единой крупной целевой задачи создания и совершенствования программного продукта, необходимы квалифицированные менеджеры проектов;
  • в проектах сложных программных средств и баз данных с множеством различных функциональных компонентов участвуют специалисты разной квалификации и специализации, от которых требуется высокая ответственность за качество результатов деятельности каждого из них;
  • от разработчиков проектов требуются гарантии высокого качества, надежности функционирования и безопасности применения компонентов и поставляемых программных продуктов, в которые недопустимо прямое вмешательство заказчика и пользователей, не предусмотренное эксплуатационной документацией разработчиков;
  • необходимо применять индустриальные, регламентированные стандартами процессы, этапы и документы, а также методы, методики и средства автоматизации, регламентированные технологии обеспечения жизненного цикла комплексов программ.

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

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

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

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

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

Эта деятельность регламентируется рядом методов и стандартов, которые являются компонентами технологического обеспечения сложных ПС в течение их жизненного цикла. Их применение предполагает высокую дисциплину и проектировочную культуру коллективов специалистов, использование ими методик, стандартов, типовых нормативных документов и средств автоматизации разработки, которые регламентируют порядок организации и проведения работ по выполнению технологических операций, направленных на получение в имеющихся организационно-технических условиях готового программного продукта с заданными функциями и качеством.

Принцип 1 – ориентация предприятия-разработчика на потребителя-заказчика. Предприятия зависят от своих потребителей и, следовательно, должны понимать текущие и будущие потребности потребителей-заказчиков, удовлетворять их требования и стремиться превзойти их ожидания.

Принцип 2 – лидерство-руководство. Лидеры обеспечивают единство назначения и направления деятельности предприятия. Они должны создавать и поддерживать внутреннюю окружающую среду, в которой специалисты могут в полной мере участвовать в достижении стратегических целей предприятия.

Принцип 3 – вовлечение персонала. Люди составляют основу предприятия на всех уровнях, и их полноценное участие в деятельности способствует применению их способностей на благо целей предприятия.

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

Принцип 5 – системный подход к административному управлению. Выявление и понимание задач и административное управление системой взаимосвязанных процессов для заданной стратегической цели повышает эффективность и результативность предприятия.

Принцип 6 – постоянное усовершенствование. Непрерывное усовершенствование процессов и повышение качества продукции должно быть постоянной стратегической целью предприятия и его специалистов.

Принцип 7 – подход к принятию решений, основанный на фактах. Эффективные решения должны базироваться на анализе только реальных данных и достоверной информации.

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

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

  • формулировке политики и стратегии обеспечения всего ЖЦ ПС;
  • выборе целей проекта и плановых характеристик качества ПС, непосредственно связанных с потребностями и ожиданиями заказчиков и потребителей;
  • управлении операциями в процессе реализации проекта для удовлетворения требований заказчика и потребителей;
  • управлении ресурсами и специалистами предприятия для обеспечения жизненного цикла ПС и его качества.

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

В современных автоматизированных технологиях создания и совершенствования сложных программных средств с позиции обеспечения их качества можно выделить базовые методы и средства, позволяющие:

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

Комплексное, скоординированное применение этих методов, стандартов и средств в процессе создания, развития и применения ПС позволяет исключать многие виды дефектов или значительно ослаблять их влияние. Тем самым уровень качества ПС становится предсказуемым и управляемым, непосредственно зависящим от ресурсов, выделяемых на его достижение, а главное, от системы качества и эффективности технологии, используемых на всех этапах жизненного цикла ПС. Основными целями упорядочивания, регламентирования процессов и применения стандартов в жизненном цикле программных средств являются:

  • снижение трудоемкости, длительности процессов, стоимости и улучшение других технико-экономических показателей проектов программных продуктов;
  • повышение качества разрабатываемых и/или применяемых компонентов и программных средств в целом при их приобретении, разработке, сопровождении и эксплуатации;
  • обеспечение возможности расширять ПС по набору прикладных функций и масштабировать комплекс программ в зависимости от изменения размерности решаемых задач;
  • обеспечение переносимости прикладных программ и данных между разными аппаратными и операционными платформами и повторного использования программных компонентов.

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

Методы и процессы регламентирования жизненного цикла ПС играют стабилизирующую и организующую роль во всем жизненном цикле многих сложных систем. Они обеспечивают:

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

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

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

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

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

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: