Оценивание ресурсной эффективности состоит в измерении количественных субхарактеристик и их атрибутов: временной эффективности и используемости ресурсов ЭВМ комплексом программ (см. таблицу 11.2). При этом предполагается, что в контракте, техническом задании и спецификации требований зафиксированы и утверждены требуемые значения атрибутов и их приоритетов. В стандарте ISO 9126:2 эту характеристику качества ПС рекомендуется отражать десятком атрибутов, каждый из которых оценивать для средних и наихудших сценариев функционирования комплекса программ. В таблице 11.3 сохранены только три атрибута, важнейшие для функциональной пригодности, которые наиболее доступны количественным измерениям. Оценивание этих атрибутов может проводиться при функционировании готового программного продукта или рас
четными методами, при разработке для сопоставления с заданными требованиями и оценки степени соответствия этим требованиям.
Для измерения атрибутов временной эффективности необходимы инструментальные средства, встроенные в операционную систему или в соответствующее ПС. Эти средства должны в динамике реального функционирования программ регистрировать: загрузку вычислительной системы; значения интенсивности потоков данных от внешних абонентов; длительность исполнения заданий; характеристики функционирования устройств ввода/вывода; время ожидания результатов (отклика) на задания пользователей; заполнение памяти обмена с внешними абонентами в различных режимах применения комплекса программ. Значения этих характеристик зависят не только от свойств и функций ПС, но также от особенностей архитектуры и операционной системы ЭВМ. Регулярная регистрация и обобщение таких данных позволяют выявлять ситуации, негативно влияющие на функциональную пригодность, надежность и другие конструктивные характеристики качества ПС.
Потребность в ресурсах памяти и производительности ЭВМ в процессе решения задач может значительно изменяться в зависимости от их свойств, а также от потока, состава и объема исходных данных. Степень использования памяти и производительности ЭВМ в некоторых пределах не влияет на качество решения функциональных задач комплексом программ. При излишне высокой интенсивности поступления исходных данных может нарушаться временной баланс между длительностью решения полной совокупности задач ПС в реальном масштабе времени и производительностью ЭВМ при решении этих задач — нагрузочное тестирование. Также возможно нарушение баланса между имеющейся в ЭВМ памятью и памятью, необходимой для хранения всей поступившей и обрабатываемой информации. Для выявления подобных ситуаций и определения характеристик ПС в условиях недостаточности ресурсов ЭВМ проводятся испытания при высокой, но допустимой интенсивности поступления исходных данных.
Наиболее сложным является оценивание эффективности использования ресурсов производительности ЭВМ в реальном времени. При этом должна быть определена зависимость качества решения задач от интенсивности поступающей информации различных типов. Основная задача испытаний состоит в определении вероятностей, с которыми будет нарушаться соответствие между потребностями в производительности для решения всей требуемой совокупности задач и реальными возможностями ЭВМ и других компонентов информационной системы. Если эта вероятность невелика и можно считать допустимым эпизодическое снижение качества за счет получающихся задержек и пропусков в обработке сообщений или заданий, то делается вывод о соответствии производительности ЭВМ функциям данного ПС.
Для оценивания использования ресурсов производительности должны быть измерены:
реальные значения интенсивностей поступающих исходных данных и заданий на вызов функциональных программ, а также распределения вероятностей этих интенсивностей для различных источников и типов заданий;
длительности автономного решения отдельно каждой из функциональных задач, обрабатывающей исходные данные или включаемой внешними заданиями, а также периодически;
загрузка ЭВМ в нормальном режиме поступления сообщений и заданий, а также вероятность перегрузки заданиями различных типов и распределения длительностей перегрузки в реальных условиях;
влияние пропуска в обработке заданий или сообщений каждого типа и снижения темпа решения определенных задач на функциональную пригодность и другие характеристики качества ПС.
Перечисленные задачи могут быть решены экспериментально в процессе тестирования завершенной разработкой системы, однако при этом велик риск, что производительность ЭВМ окажется недостаточной для решения заданной совокупности задач в реальном времени, что отразится на качестве использования ПС. Кроме того, не всегда условия испытаний или опытной эксплуатации системы соответствуют режимам массового ее применения. Поэтому при оценивании требуется принимать специальные меры для создания реальных, а также контролируемых, наиболее тяжелых по загрузке условий функционирования ПС и внешней среды. Такие критические ситуации могут быть в значительной степени предотвращены в процессе разработки ПС путем расчета длительностей исполнения модулей по тексту программ, и объединения этих характеристик в соответствии со структурой программных компонентов и всего комплекса программ.
Для корректного оценивания предельной пропускной способности системы с данным ПС необходимо измерять следующие характеристики функциональных групп программ:
экстремальные значения длительностей их исполнения и маршруты, на которых эти значения достигаются;
среднее значение длительности исполнения каждой функциональной группы программ на всем возможном множестве маршрутов ПС и его дисперсию;
распределение вероятностей и значений длительности исполнения функциональных групп программ.
В общем случае для оценивания длительностей исполнения и определения качества функционирования программ в зависимости от загрузки необходимо задавать вероятность каждой комбинации тестовых данных и измерять соответствующую ей длительность. После упорядочения значений длительностей можно получить распределение вероятностей в зависимости от длительностей исполнения. Однако для сложных групп программ весьма трудно определить вероятность каждой комбинации исходных данных. Поэтому на практике в ряде случаев ограничиваются некоторыми средними или наиболее вероятными значениями тестовых данных, а также одним или несколькими сочетаниями исходных данных, при которых ожидаются предельные значения потоков заданий и длительностей исполнения программ, способные негативно отразиться на качестве функционирования ПС.
Влияние таких ситуаций перегрузки ЭВМ по производительности может быть ослаблено путем применения приоритетных дисциплин оперативной диспетчеризации исполнения заданий на решение функциональных задач. В зависимости от характеристик потоков заданий и предполагаемых длительностей их реализации могут распределяться приоритеты на их решения и тем самым повышаться эффективность использования ограниченной производительности вычислительной системы для определенного комплекса программ. Быстрый рост количества решаемых задач, их сложности и требуемой производительности вычислительных средств стимулировал поиск путей удовлетворения потребностей заказчиков в ресурсах для решения таких задач. Значительное внимание было уделено анализу эффективности дисциплин диспетчеризации с относительными и абсолютными приоритетами. Эти дисциплины активно применялись при организации вычислений в специализированных, объектных ЭВМ реального времени. Они позволяли повышать эквивалентную производительность ЭВМ на 10—20% по сравнению с бесприоритетными дисциплинами диспетчеризации. Показано, что во многих случаях целесообразно применять при диспетчеризации функциональных задач не более 10—15 уровней приоритета, при загрузке ЭВМ на 80—95% и при значительном различии длительностей и коэффициентов важности (10—100) приоритетных задач. Для практического использования характеристик и методов расчета рационального распределения производительности ВС созданы методики и типовые модели, позволяющие анализировать и оптимизировать диспетчеризацию в конкретных системах. При ограничениях ресурсов вследствие требований минимизации весов и габаритов специализированных, объектных ЭВМ в авиационных, ракетных и космических системах их экономное использование остается актуальным. Кроме того, в некоторых случаях полезно выделение высоких приоритетов для особо важных или коротких задач, например, для обмена с внешними абонентами.
По результатам испытаний могут быть решены перечисленные задачи оценивания ресурсной эффективности ПС, что позволяет анализировать факторы, определяющие необходимую пропускную способность ЭВМ, и разрабатывать меры для приведения ее в соответствие с потребностями. Если предварительно в процессе проектирования производительность ЭВМ не оценивалась или определялась слишком грубо, то велик риск, что доработки будут большими или может понадобиться заменить ЭВМ на более быстродействующую. Это обусловлено, как правило, «оптимизмом» разработчиков, что приводит к занижению интуитивных оценок длительностей решения задач и возможных предельных интенсивностей потоков информации. Длительная регистрация и накопление значений ресурсной эффективности способствуют выявлению ситуаций, при которых проявляются некоторые дефекты функциональной пригодности в ПС.
Достоверность оценивания пропускной способности ЭВМ с конкретным ПС зависит от корректности моделирования потоков внешних сообщений, а также от используемых распределений длительности исполнения программ. Для оценивания ресурсной эффективности при подготовке технического задания и спецификаций требований на ПС следует согласовывать с заказчиком модель и характеристики внешней среды, в которой будет применяться комплекс программ, а также динамики приема и передачи данных (см. п. 14.3). Эти условия следует детализировать до уровня, позволяющего однозначно определять требуемые значения интенсивности решения задач'.
в среднем, нормальном режиме работы ПС с наибольшим качеством функциональной пригодности;
в режиме предельной загрузки, реализующемся с определенной вероятностью и с допустимым снижением функциональной пригодности и некоторых конструктивных характеристик качества;
в режиме кратковременной, аварийной перегрузки, способной критически отражаться на функциональной пригодности, надежности и безопасности применения ПС.
Для определения использования комплексами программ временных ресурсов ЭВМ полезно применять рекомендации стандарта ISO 14756 — Измерение и оценивание производительности программных средств компьютерных вычислительных систем. Стандарт ориентирован на оценивание: прикладных программных средств, операционных систем и вычислительных комплексов, включающих все аппаратные и программные средства. Основные рекомендации сосредоточены в двух крупных разделах и четырех нормативных приложениях. Раздел 2 содержит общее описание методов измерений, а раздел 3 — детальные процедуры измерений и оценивания производительности ПС в составе информационной системы. Описание метода измерения производительности начинается с эмуляции — имитации пользователей и потоков данных из внешней среды: их случайных характеристик и процессов; функционирования терминалов; установления параметров рабочих нагрузок пользователей и вычислительных средств. Процедуры измерений должны содержать рекомендации по:
формированию тестов;
распределению их по временным фазам;
определению и регистрации результатов тестирования;
контролю корректности эмуляции внешней среды;
статистической обработке измерений.
Оценивание величины производительности рекомендуется для определения загрузки операторов-пользователей, пропускной способности ПС по числу задач в единицу времени, временной шкалы событий обработки заданий и данных. Эти результаты предлагается сравнивать с требования
ми заказчика и пользователей для оценивания рабочих нагрузок и достаточности производительности ПС в конкретной внешней среде. Детальные процедуры измерений и оценивания распределены по шести подразделам: исходные требования; процессы измерений; результирующие данные; проверка корректности результатов; расчеты производительности; оценивание достоверности измерений производительности. Стандарт рекомендуется для использования: испытателями; разработчиками и покупателями ПС; а также системными интеграторами сложных вычислительных систем.
ЛЕКЦИЯ 15
СОПРОВОЖДЕНИЕ И МОНИТОРИНГ
ПРОГРАММНЫХ СРЕДСТВ
Организация и методы сопровождения
программных средств
В процессе эксплуатации версий программного продукта у каждого пользователя могут появляться некоторые претензии к функционированию, которые квалифицируются им как ошибки или дефекты эталонной (базовой) или собственной версии. От пользователей или заказчика могут поступать также предложения по внесению изменений в базовую версию для улучшения эксплуатационных характеристик и расширения функциональных возможностей системы и комплекса программ. Аналогичные предложения могут поступать от разработчиков ПС. Для общения с пользователями и накопления информации о выявляемых недостатках в тиражируемых сложных ПС целесообразно выделение группы специалистов высокой квалификации, овладевших всеми функциями системы и программного продукта.
При организации сопровождения крупных ПС следует учитывать важные психологические факторы, усложняющие привлечение и деятельность менеджеров и квалифицированных специалистов в этой области:
эта деятельность требует очень высокой квалификации и больших умственных затрат, связанных, прежде всего, с необходимостью одновременного, широкого охвата и анализа множества компонентов ПС и их взаимосвязей, находящихся в различных состояниях завершенности модификаций;
корректируемые компоненты зачастую разрабатывались в прошлом в разное время, различными специалистами, в различном стиле и с неодинаковой полнотой документирования, что усложняет освоение их содержания при внесении изменений и устранении дефектов;
сложная, творческая сторона работ при сопровождении вуалируется тем, что приходится овладевать и анализировать программы, разработанные ранее другими специалистами, которые зачастую, может быть, проще не корректировать, а разработать заново;
комплексы программ, прошедшие широкие испытания и эксплуатацию у заказчиков гарантируют достигнутое качество результатов функционирования, и любые в них изменения имеют высокий риск внесения дополнительных ошибок и ухудшения этого качества, что ограничивает возможность коренных модификаций;
выполняемые работы требуют особой, скоординированной тщательности корректировок и четкого регламентированного взаимодействия ряда специалистов, различающихся квалификацией и уровнем ответственности;
процессы и результаты сопровождения не отличаются наглядностью и внешним эффектом, проявлением их размера и сложности, вследствие чего непрестижны среди рядовых программистов и недооцениваются руководителями проектов.
По мере развития применения сложных программных продуктов стало ясно, что интегральные затраты на их сопровождение и создание новых версий могут значительно превосходить затраты на разработку их первой версии. Опыт последних лет показал, что во многих случаях для сопровождения и мониторинга версий необходимо практически такое же, или даже большее, число специалистов, чем разработало первую версию ПС. При создании сложных ПС перемещение специалистов с разработки новых программных компонентов и ПС на развитие и сопровождение версий имеет систематический характер. Это приводит к тому, что по мере накопления эксплуатируемых ПС и их компонентов все большее число специалистов переходит из области непосредственного программирования новых программ в область системного проектирования и создания новых версий ПС на базе повторно используемых компонентов.
Только после завершения создания нескольких версий ПС может прекратиться переход дополнительных кадров в сферу сопровождения и управления конфигурацией и установиться стабильное соотношение между числом специалистов, занятых первичной разработкой новых проектов и сопровождением версий ПС. Очень часто разработчики нового ПС не предусматривают этот процесс и требующиеся ресурсы, что значительно снижает эффективность последующего применения созданного программного продукта. По некоторым оценкам, непосредственным программированием новых компонентов в мире занято около 15—20% специалистов, участвующих в создании программных продуктов.
Do'stlaringiz bilan baham: |