Очерки истории отечественной программной инженерии в 1940-е – 80-е годы - Владимир Липаев
Шрифт:
Интервал:
Закладка:
До начала применения моделей внешней среды для испытаний программного продукта, они подлежали проверке и паспортизации, гарантирующей получение корректных эталонных данных и имитированных тестов, адекватных реальным внешним объектам. Для паспортизации моделей необходимы, прежде всего, достаточно полные и достоверные исходные характеристики реальных объектов внешней среды, которые должны были служить эталонами для этих моделей. Достигаемая достоверность имитации внешней среды, а, следовательно, и определения качества функционирования испытываемого программного продукта, естественно, зависели от ресурсов памяти, производительности и других характеристик ЭВМ, на которой реализуется модель.
Важнейшее значение для достоверности определения качества комплекса программ имеет адекватность имитаторов характеристикам объектов внешней среды, которая зависит от степени учета второстепенных факторов, отражающих функционирование реальных объектов или источников информации, при создании их моделей. Точность моделей на ЭВМ, прежде всего, определяется алгоритмами, на которых они базируются, и полнотой учета в них особенностей моделируемых объектов. Кроме того, на адекватность имитации влияло качество программирования и уровень дефектов и ошибок в программах имитации.
В динамических системах и телекоммуникационных сетях ПВО, при излишне высокой интенсивности поступления исходных данных на обработку, может нарушаться временной баланс между длительностью решения требуемой совокупности задач программным комплексом в реальном времени, и ограниченной производительностью ЭВМ для решения задач. Важная задача испытаний компонентов и фрагментов системы ПВО состоит в определении рисков – вероятностей, с которыми будет нарушаться соответствие между потребностями в производительности для решения всей требуемой совокупности задач в реальном времени и возможностями ЭВМ и других компонентов системы. Однако если предварительно в процессе проектирования производительность системы в реальном времени не оценивалась или определялась слишком грубо, то, велик риск, что доработки комплекса программ или фрагментов системы ПВО будут большими или может понадобиться заменить ЭВМ и компоненты телекоммуникационной сети, на более быстродействующие и с большей памятью. Это обусловлено, как правило, «оптимизмом» разработчиков, что приводит к занижению интуитивных оценок длительностей решения функциональных задач и возможных предельных интенсивностей потоков внешней информации в системе.
Для каждого эксперимента при испытаниях программ реального времени подготавливался план сценария тестирования и обобщенные исходные данные. Вызовы регистрирующих программ должны подчиняться определенной системе контроля динамического функционирования программ при исходной гипотезе, что некоторые ошибки и дефекты в программах и данных могут проявиться в любом компоненте и на любой стадии тестирования. Так как основная задача регистрации при тестировании в реальном времени состоит в обнаружении и локализации ошибок и причин отказов с точностью до функциональной группы программ или модуля, то более точное определение места дефекта следует переносить на тестирование в статике вне реального времени.
Испытания современных сложных систем обработки информации позволяют получать такое большое количество контрольных данных, что достаточно полный их анализ может представлять трудную методическую и техническую задачу, поэтому обработка результатов должна была осуществляться иерархически и дифференцировано. Для этого обработка результатов испытаний программ реального времени была разделена на две достаточно автономные части: оперативную и обобщающую.
Так как качество функционирования оборонных систем обычно существенно зависит от характеристик конкретного человека, участвующего в обработке информации и управлении объектами, то необходимо было измерять эти характеристики и повышать путем обучения оперативного состава системы. Важной функцией моделей внешней среды является их использование в составе тренажеров для операторов-пользователей. Поэтому в процесс испытаний и эксплуатации органически входят процессы тренировки и изменения характеристик реальной реакции операторов, а также использование моделирующих стендов для обучения и регулярной подготовки операторов-пользователей для эксплуатации программных продуктов военного назначения. Кроме того, испытательный стенд может служить прототипом для разработки упрощенных тренажеров в составе систем обработки информации. Крупным достижением программной инженерии в 80-е годы в стране стало использование вы числительной техники для имитации внешней среды и динамических тестов систем в реальном времени.
4.5. Методы оценивания качества, рисков, дефектов и ошибок в программных продуктах в 1960-е – 80-е годы
Источниками ошибок в комплексах программ являются специалисты – конкретные люди с их индивидуальными особенностями, квалификацией, талантом и опытом. В 1950-е – 60-е годы при индивидуальном создании относительно небольших программ, к ним обычно отсутствовали формализованные требования, и часто трудно было установить сам факт наличия ошибки. Не формализованные программистами функции и характеристики программ допускали неоднозначное толкование полученных результатов, в которых могли содержаться непредсказуемые дефекты или ошибки, закономерности которых было бесполезно обобщать. Однако в крупных комплексах программ в 1960-е – 80-е годы при наличии конкретных требований к программным продуктам, начинают изучаться статистика и распределение типов ошибок для коллективов разных специалистов, и проявляются достаточно общие закономерности, которые могут использоваться как ориентиры при их выявлении и систематизации. Этому могут помогать оценки типовых дефектов, модификаций и корректировок, путем их накопления и обобщения по опыту создания определенных классов программных продуктов на конкретных предприятиях. Актуальной становится формализация и прогнозирование рисков, дефектов и ошибок в определенных классах комплексов программ, что способствует достижению их высокого качества.
К понятию риски относятся негативные события и их величины, отражающие потери, убытки или ущерб для безопасности от процессов или продуктов, вызванные дефектами при проектировании требований, недостатками обоснования проектов, а также при последующих этапах разработки, реализации и всего жизненного цикла комплексов программ. Риски проявляются, как негативные последствия дефектов функционирования и применения программ, которые способны вызвать ущерб системе, внешней среде или пользователю, в результате отклонения характеристик объектов или процессов, от заданных требований заказчика, согласованных с разработчиками.
Оценки качества программных комплексов могут проводиться с двух позиций: с позиции положительной эффективности и непосредственной адекватности их характеристик назначению, целям создания и безопасности применения, а также с негативной позиции возможного при этом ущерба – риска от использования программного продукта или системы. Показатели качества преимущественно отражают положительный эффект от применения системы или программного продукта, и основная задача разработчиков состоит в обеспечении высоких значений качества. Риски характеризуют возможные негативные последствия дефектов или ущерб пользователей при применении и функционировании системы, и задача разработчиков сводится к сокращению дефектов и ликвидации рисков. Поэтому методы и системы управления качеством в жизненном цикле комплексов программ близки к методам анализа и управления рисками, они должны их дополнять и совместно способствовать совершенствованию программных продуктов и систем на их основе.
Характеристики дефектов и рисков непосредственно связаны с достигаемой корректностью, безопасностью и надежностью функционирования программных продуктов и помогают.
оценивать реальное состояние проекта и прогнозировать необходимую трудоемкость и длительность для его положительного завершения;
• выбирать методы и средства автоматизации тестирования и отладки программ, адекватные текущему состоянию разработки и сопровождения, наиболее эффективные для устранения определенных видов дефектов и рисков;