Сопровождение программы в процессе разработки по это

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

Существует три вида сопровождения системы.

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

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

Методическое сопровождение педагогического процесса в условиях реализации ФГОС

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

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

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

Разработка ПО, процесс шаг за шагом

Рис. 27.1. Распределение типов сопровождения

Найти современные данные относительно того, как часто используется тот или иной тип сопровождения, будет нелегко. Согласно исследованиям [218], которые уже несколько устарели, 65% сопровождения связано с выполнением новых требований, 18% отводится на изменения системы с целью адаптации к новому окружению и 17% связано с исправлением ошибок (рис. 27.1.). Десятилетие спустя в работе [259] определены похожие соотношения.

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

Поэтому сопровождение само по себе является естественным процессом продолжения разработки системы со своими процессами проектирования, реализации и тестирования. Таким образом, спиральная модель, показанная на рис. 27.2, лучше представляет процесс развития ПО, чем каскадная модель (см. рис. 3.1.), где сопровождение рассматривается как отдельный процесс.

Рис. 27.2. Спиральная модель развития ПО

Значительная часть бюджета большинства организаций уходит на сопровождение ПО, а не на само использование программных систем. В 1980-х годах было обнаружено [218], что во многих организациях по меньшей мере 50% всех средств, потраченных на программирование, идет на развитие уже существующих систем. В работе [235] определено похожее соотношение затрат на различные виды сопровождения, при этом от 65 до 75% средств общего бюджета расходуется на сопровождение. Так как предприятия заменяют старые системы коммерческим ПО, например программами планирования ресурсов, эти цифры никак не будут уменьшаться. Поэтому можно утверждать, что изменение ПО все еще остается доминирующим в статье затрат организаций на программное обеспечение.

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

Читайте также:
Инструментальные средства разработки программ это

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

На рис. 27.3 показано, как снижается стоимость сопровождения хорошо разработанных систем. Здесь при разработке системы 1 выделено дополнительно $25 000 для облегчения процесса сопровождения. В результате за время эксплуатации системы это помогло сэкономить около $100 000. Из сказанного следует, что увеличение средств на разработку системы пропорционально снизит затраты на ее сопровождение.

Рис. 27.3. Расходы на разработку и сопровождение систем

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

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

2. Ответственность согласно контракту. Контракт на сопровождение обычно заключается отдельно от договора на разработку программы. Более того, часто контракт на сопровождение может получить фирма, сама не занимающаяся разработкой. Вместе с фактором нестабильности команды это может стать причиной отсутствия в команде стимула создать легкоизменяемую, удобную в сопровождении систему. Если членам команды выгодно пойти кратчайшим путем с минимальными затратами усилий, то вряд ли они откажутся от этого даже с риском повышения последующих затрат на сопровождение.

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

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

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

Дилемма заключается в следующем: или создавать системы и поддерживать их до тех пор, пока это возможно, и затем заменять их новыми, или разрабатывать постоянно эволюционирующие системы, которые могут изменяться в соответствии с новыми требованиями. Их можно создавать на основе наследуемых систем, улучшая структуру последних с помощью реинжениринга (см. главу 28), либо путем изменения архитектуры этих систем, что подробно рассматривается в разделе 27.3.

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

Источник: megalektsii.ru

Сопровождение программного обеспечения

Сопровождение программного обеспечения (сопровождение ПО; англ. Software maintenance ) — процесс улучшения, оптимизации и устранения дефектов программного обеспечения (ПО) после передачи в эксплуатацию.

  • 1 Определение
  • 2 Стандарты
  • 3 Виды работ по сопровождению программного обеспечения
  • 4 Границы применимости
  • 5 Типы сопровождения
  • 6 Структура сопровождения ПО
  • 7 См. также
  • 8 Ссылки
  • 9 Источники

Определение

По мнению ряда специалистов, сопровождение программного обеспечения — это процесс улучшения, оптимизации и устранения дефектов ПО после передачи в эксплуатацию. Одна из фаз жизненного цикла программного обеспечения, следующая за фазой передачи ПО в эксплуатацию. В ходе сопровождения в программу вносятся изменения, с тем, чтобы исправить обнаруженные в процессе использования дефекты и недоработки, а также для добавления новой функциональности, с целью повысить удобство использования (юзабилити) и применимость ПО [1] .

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

Стандарты

Сопровождение программного обеспечения стандартизовано, имеются национальные стандарты Российской Федерации, идентичные международным (ISO/IEC 12207:2008 System and software engineering — Software life cycle processes, ГОСТ Р ИСО/МЭК 12207-2010 «Национальный стандарт Российской Федерации. Информационная технология. Системная и программная инженерия.

Процессы жизненного цикла программных средств»; ISO/IEC 14764:99 Information technology — Software maintenance, ГОСТ Р ИСО/МЭК 14764-2002 «Государственный стандарт Российской Федерации. Информационная технология. Сопровождение программных средств»; IEEE 1219).

Виды работ по сопровождению программного обеспечения

Исходя из содержания стандартов, cопровождение программного обеспечения ― это действия (процессы) программного средства на всем его жизненном цикле с целью поддержания эффективности его эксплуатации, включая в себя такие виды работ/услуг, как [2] :

  • обеспечение работоспособности и функционирования программ для ЭВМ, баз данных, в том числе, при первичной интеграции, тестировании, настройках и изменений (адаптации, переустановки) в программно-аппаратной среде пользователя или исполнителя (при использовании программ для ЭВМ, баз данных через удаленный доступ), контроль за соблюдением прав доступа и распределение прав доступа в соответствии с принятой архитектурой прав доступа;
  • настройка, обеспечение работоспособности и функционирования программно-аппаратной среды исполнителя, предоставленной с целью использования пользователями программ для ЭВМ, баз данных через удаленный доступ (в том числе, с целью тестирования, оптимизации и организации функционирования программ для ЭВМ, баз данных в соответствии с требованиями заказчика);
  • мониторинг функционирования (в том числе, производительности, отказоустойчивости и соблюдения информационной безопасности) программ для ЭВМ, баз данных и устранение ошибок и сбоев в работе программ для ЭВМ, баз данных, в том числе путем тестирования, а также иными способами и средствами;
  • исправление ошибок, несоответствий, инцидентов, дефектов, в том числе в рамках существующих или новых версий программ для ЭВМ, баз данных и мер, направленных на решение таких инцидентов;
  • профилактическая модификация программ для ЭВМ, баз данных после поставки в целях обнаружения и корректировки имеющихся в нем скрытых ошибок для предотвращения явного проявления этих ошибок при эксплуатации данных программ для ЭВМ, баз данных;
  • адаптация, сборка, установка, тестирование обновленных версий и доведение таких новых версий до пользователей, проверка наличия всех новых версий у пользователей;
  • адаптация, настройка и дальнейшая техподдержка программ для ЭВМ, баз данных с учетом особенностей программно-аппаратной среды пользователя или исполнителя;
  • аудит (анализ, обследование, мониторинг и т.д.) установленного у заказчика или исполнителя программного обеспечения на совместимость с программно-аппаратной средой заказчика/исполнителя, предназначенной для использования программ для ЭВМ, баз данных;
  • обеспечение автоматического обновления нормативно-справочной информации, необходимой для функционирования программ для ЭВМ, баз данных в соответствии с требованиями Российской Федерации;
  • прием обращений пользователей программ для ЭВМ, баз данных, выполнение работ/услуг, связанных с такими обращениями;
  • информационно-справочная поддержка функционирования программ для ЭВМ, баз данных, в том числе рекомендации, консультации по установке, настройке и работе программ для ЭВМ, баз данных, восстановлению работоспособности, по типовому функционалу и его обновлению, модификации и аналогичных консультаций, связанных с использованием программ для ЭВМ, баз данных;
  • консультирование, обучение, тренинги по вопросам использования (работы) программ для ЭВМ, баз данных, по его функционалу.

Границы применимости

Существуют две точки зрения на границы применимости термина «сопровождение ПО»:

  1. Сопровождение автоматизированных информационных систем не выделяется из сопровождения любого другого ПО.
  2. Сопровождение ПО не включает сопровождение автоматизированных информационных систем (АИС), так как сопровождение последних имеет существенные отличия.

Стадия создания автоматизированной системы «сопровождение автоматизированной системы» включает два этапа работ [3] :

  1. «выполнение работ в соответствии с гарантийными обязательствами»,
  2. «послегарантийное обслуживание».

С точки зрения границы применимости терминов «сопровождение ПО» и «поддержка ПО»:

  1. Эти два термина — синонимы.
  2. Это два разных термина.

«Сопровождение ПО» осуществляется сопроводителем. Сопроводителем может быть внешняя организация или же сама та организация (её отдел, отдельный сотрудник), которая использует ПО в своей работе. «Поддержка ПО» осуществляется исключительно сотрудниками отдела той организации, которая использует ПО в своей работе (эта организация называется «заказчик» ISO/IEC 14764:99). Это менее квалифицированные специалисты, чем сопроводители, а потому они не выполняют полностью тех работ, которые предусмотрены ISO/IEC 14764:99. Например, сотрудники отдела поддержки не выполняют работы по обнаружению и корректировке скрытых ошибок для предотвращения явного проявления этих ошибок.

Читайте также:
Установить программу linux iso

Фаза жизненного цикла продукта

В модели водопада [4] «сопровождение ПО» выделяется в отдельную фазу жизненного цикла.

В спиральной модели, возникшей в ходе развития объектно-ориентированного программирования, сопровождение не выделяется как отдельный этап. Тем не менее, эта деятельность занимает значительное место, учитывая тот факт, что обычно около 2/3 жизненного цикла программных систем занимает сопровождение. «Сопровождение программного средства может в стоимостном выражении составлять наибольшую часть жизненного цикла» (ISO/IEC 14764:99).

Сопровождаемость программного обеспечения — характеристики программного продукта, позволяющие минимизировать усилия по внесению в него изменений:

  • для устранения ошибок;
  • для модификации в соответствии с изменяющимися потребностями пользователей.

«Характеристики, описывающие качественные и количественные требования к сопровождаемости программного средства, устанавливает заказчик. В данных характеристиках должны быть установлены соответствующие критерии и способы их проверки… Разработчики должны реализовывать требования к сопровождаемости, а сопроводители должны контролировать их реализацию» (ISO/IEC 14764:99).

Типы сопровождения

Выделяют три типа сопровождения [5] :

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

Структура сопровождения ПО

Выделяют следующие линии внешнего сопровождения ПО [5] :

  • 0 линия (call-center, информационный центр, горячая линия) — обработка телефонных обращений от клиентов, передача обращений техническим специалистам (1-я линия сопровождения)
  • 1 линия (инженер по сопровождению, инженер технической поддержки, support engineer) — консультация/настройка/устранение ошибок в работе ПО/наполнение базы знаний, составление мануалов
  • 2 линия (инженер по сопровождению, инженер технической поддержки, support engineer) — функциональное сопровождение/проектная деятельность на этапе запуска ПО на машинах заказчика
  • 3 линия (инженер по сопровождению, инженер технической поддержки, support engineer) — системное сопровождение/проектная деятельность на этапе запуска ПО на оборудовании заказчика

Работу инженера по сопровождению ошибочно сравнивают с работой информационного центра. Однако по функционалу эти специалисты принципиально различаются — если call-center фактически аккумулирует обращения пользователей, то сопровождение является центральным звеном в цепочке разработки и доработки ПО, которое решает проблемы, возникающие в период эксплуатации ПО (системы, сервиса) [5] .

См. также

Ссылки

  • ISO/IEC 14764:2006 Software Engineering — Software Life Cycle Processes — Maintenance
  • Сергей Орлик.Программная инженерия. Сопровождение программного обеспечения.(рус.)(недоступная ссылка). — Перевод главы из SWEBOK с комментариями. Дата обращения: 17 февраля 2010.Архивировано 28 сентября 2014 года.

Источники

  1. ↑Информационные системы и технологии/науч. ред. В. М. Глущенко ― М.: МГУУ Правительства Москвы, 2012. ― 438 с. ― ISBN 978-5-98279-959-3
  2. ↑3. По вопросам разъяснения термина «сопровождение» применительно к программам для ЭВМ, базам данных (программным средствам и информационным продуктам вычислительной техники)//Письмо Минцифры России от 07.09.2021 N П11-2-05-200-38749 «О рассмотрении обращений субъектов предпринимательской деятельности и заинтересованных лиц в сфере информационных технологий»
  3. ↑ ГОСТ 34.601-90 «Государственный стандарт Союза ССР. Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания»
  4. ↑ Мезенцев К. Н. Автоматизированные информационные системы: учебник. ― М.: Академия, 2013 ― 176с. ― С. 57-58 ― ISBN 978-5-7695-9885-2
  5. ↑ 5,05,15,2 Федорова Г.Н. Разработка, внедрение и адаптация программного обеспечения отраслевой направленности ― М. :ИНФРА-М, 2016. ― 332с. ― ISBN 978-5-906818-41-6
  • Стадии разработки
  • Анализ требований
  • Проектирование
  • Программирование
  • Тестирование
  • Документирование
  • Программирование (Аспектно-ориентированное
  • Объектно-ориентированное
  • Проблемно-ориентированное)

Источник: xn--h1ajim.xn--p1ai

Сопровождение программного обеспечения

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

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

Сопровождаемость программного обеспечения — характеристики программного продукта, позволяющие минимизировать усилия по внесению в него изменений:

  • для устранения ошибок; или
  • для модификации в соответствии с изменяющимися потребностями пользователей.

Ссылки

  • обслуживание программного обеспечения Модель зрелости (англ.)
Файл:Soft template.gif Это незавершённая статья о программном обеспечении. Вы можете помочь проекту, исправив и дополнив её.

Источник: www.sbup.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru