Файл: Лекции по программной инженерии.pdf

ВУЗ: Не указан

Категория: Лекция

Дисциплина: Программная инженерия

Добавлен: 25.10.2018

Просмотров: 6345

Скачиваний: 24

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

тестирования; 

 

разработку и документирование детального проекта базы данных; 

 

обновление (при необходимости) пользовательской документации; 

 

разработку  и  документирование  требований  к  тестам  и  плана 

тестирования компонентов ПО; 

 

обновление плана интеграции ПО. 

Кодирование и тестирование ПО охватывает задачи: 

 

разработку  и  документирование  каждого  компонента  ПО  и  базы 

данных  а  также  совокупности  тестовых  процедур  и  данных  для  их 
тестирования; 

 

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

предъявляемых  к  ним  требованиям.  Результаты  тестирования  компонентов 
должны быть документированы;  

 

обновление (при необходимости) пользовательской документации; 

 

обновление плана интеграции ПО. 

Интеграция ПО предусматривает сборку разработанных компонентов ПО в 

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

процедуры, 

предназначенные 

для 

проверки 

каждого 

из 

квалификационных 

требований 

при 

последующем 

квалификационном 

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

Квалификационное  тестирование  ПО  проводится  разработчиком  в 

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

Интеграция  системы  заключается  в  сборке  всех  ее  компонентов,  включая 

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

Установка ПО осуществляется разработчиком в соответствии с планом в той 

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

Приемка  ПО    предусматривает  оценку  результатов  квалификационного 

тестирования  ПО  и  системы  и  документирование  результатов  оценки,  которые 
проводятся  заказчиком  с  помощью  разработчика.  Разработчик  выполняет 


background image

окончательную  передачу  ПО  заказчику  в  соответствии  с  договором,  обеспечивая 
при этом необходимое обучение и поддержку. 

Процесс  эксплуатации  охватывает  действия  и  задачи  оператора  – 

организации, эксплуатирующей систему и включает действия: 

Подготовительная  работа  включает  проведение  оператором  следующих 

задач: 

 

планирование  действий  и  работ,  выполняемых  в  процессе 

эксплуатации, и установку эксплуатационных стандартов; 

 

определение  процедур  локализации  и  разрешения  проблем, 

возникающих в процессе эксплуатации. 
Эксплуатационное  тестирование  осуществляется  для  каждой  очередной 

редакции программного продукта, после чего  она передается в эксплуатацию. 

Эксплуатация  системы выполняется  в предназначенной для этого среде в 

соответствии с пользовательской документацией. 

Поддержка пользователей заключается в оказании помощи и консультаций 

при обнаружении ошибок в процессе эксплуатации ПО. 

Процесс сопровождения  предусматривает действия и задачи, выполняемые 

службой  сопровождения.  В  соответствии    со  стандартом  IEEE-90    под 
сопровождением  понимается  внесение  изменений  в  ПО  в  целях  исправления 
ошибок, повышения производительности или адаптации к изменившимся условиям 
работы или требованиям. 

Изменения, вносимые в существующее программное обеспечение, не должны 

нарушать его целостность. Процесс сопровождения включает перенос ПО в другую 
среду (миграцию) и заканчивается снятием ПО с эксплуатации. 

Процесс сопровождения охватывает следующие действия: 
Подготовительная  работа  службы  сопровождения  включает  в  себя 

следующие задачи: 

 

планирование  действий  и  работ,  выполняемых  в  процессе 

сопровождения; 

 

определение  процедур  локализации      и  разрешения  проблем, 

возникающих в процессе сопровождения. 
Анализ  проблем  и  запросов  на  модификацию  ПО,    выполняемый  службой 

сопровождения, включает следующие задачи: 

 

анализ  сообщения  о  возникшей  проблеме  или  запроса  на 

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

 

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

вариантов ее проведения); 

 

утверждение выбранного варианта модификации. 

 Модификация ПО предусматривает определение компонентов ПО, их версий 


background image

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

корректности 

изменений 

в 

программах 

производится  

корректировка документации. 

Проверка и приемка заключается в проверке целостности модифицированной 

системы и утверждении внесенных изменений. 

При  переносе  ПО  в  другую  среду  используются  имеющиеся  или 

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

Снятие  ПО  с  эксплуатации  осуществляется  по  решению  заказчика  при 

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

 

ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕССЫ ЖЦ ПО 

 
Процесс  документирования  предусматривает  формализованное  описание 

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

Процесс документирования включает действия: 

 

подготовительную работу; 

 

проектирование и разработку; 

 

выпуск документации; 

 

сопровождение. 

Процесс 

управления 

конфигурацией 

предполагает 

применение 

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

Управление  конфигурацией  позволяет  организовать,  систематически 

учитывать и контролировать внесение изменений в ПО на всех стадиях ЖЦ ПО.   
Общие принципы и рекомендации по управлению конфигурацией ПО отражены в 
проекте стандарта ISO/IEC 12207-2: 1995 “Information Technology - Software    Life 
Cycle Processes. Part2. Configuration Management  for Software”.  

Процесс управления конфигурацией включает действия: 


background image

 

подготовительную 

работу 

(планирование 

управления 

конфигурацией); 

 

идентификацию конфигурации (устанавливает правила, с помощью 

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

 

контроль конфигурации (предназначен для систематической оценки 

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

 

учет  состояния  конфигурации  (представляет  собой  регистрацию 

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

 

оценку  конфигурации  (заключается  в  оценке  функциональной 

полноты  компонентов  ПО,  а  также  соответствия  их  физического  состояния 
текущему техническому описанию);    

 

управление  выпуском  и  поставку  (охватывают  изготовление 

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

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

Для получения достоверных оценок создаваемого ПО процесс обеспечения его 

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

Процесс обеспечения качества включает действия: 

 

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

 

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

 

обеспечение  качества  процесса  предполагает  гарантирование 
соответствия процессов ЖЦ ПО, методов разработки, среды разработки 


background image

и  квалификации  персонала  условиям  договора,  установленным 
стандартам и процедурам; 

 

обеспечение прочих показателей качества системы осуществляется 
в соответствии с условиями договора и стандартом ISO 9001.  

Процесс  верифиации  состоит  в  определении  того,  что  программные  

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

Верификация    может  проводится  с  различными  степенями  независимости. 

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

Процесс верификации включает следующие действия: 

 

подготовительную работу; 

 

верификацию; 

В процесс верификации проверяются следующие условия: 

 

непротиворечивость  требований  к  системе  и  степень  учета 

потребностей пользователей; 

 

возможности поставщика выполнять заданные требования; 

 

соответствие выбранных процессов ЖЦ ПО условиям договора; 

 

адекватность стандартов, процедур и среды разработки процесса 

ЖЦ ПО; 

 

соответствие  проектных  спецификаций  ПО  заданным 

требованиям; 

 

корректность описания в проектных спецификациях входных и 

выходных данных, последовательности событий, интерфейсов, логики; 

 

соответствие кода проектным спецификациям и требованиям; 

 

тестируемость и корректность кода, его соответствие принятым 

стандартам кодирования; 

 

корректность интеграции компонентов ПО в систему; 

 

адекватность, полнота и непротиворечивость документации. 

Процесс  аттестации  предусматривает  определение  полноты  соответствия 

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