практические работы. Методические указания к лабораторной работе (1). Федерации федеральное агентство по образованию государственное
Скачать 0.67 Mb.
|
КачествоКачество (quality) программного средства- это совокупность его черт и характеристик, которые влияют на его способность удовлетворять заданные по- требности пользователей. Задача оценки качества программного средства опи- рается на необходимость формирования системы показателей, характеризую- щих качество функционирования программного средства, с учетом технологи- ческих возможностей разработчика. Для конкретных программных средств до- минирующие критерии качества выделяются и определяются при проектирова- нии требованиями технического задания и задачами функционирования про- граммного средства. Программы как объекты проектированной разработки ха- рактеризуются следующими показателями: проблемно - ориентированная область применения, а также техниче- ское и социальное назначение программного комплекса; конкретный тип решаемых функциональных задач с достаточно опре- деленной областью применения; объем и сложность совокупности программ и базы данных, решающих единую целевую задачу данного типа; необходимый состав и требуемые значения характеристик качества функционирования программы и величина допустимого ущерба из-за недостаточного качества; степень связи решаемых задач с реальным масштабом времени или до- пустимой длительностью ожидания решения задачи; прогнозируемые значения длительности эксплуатации и перспективы создания множества версий программ; предполагаемый тираж производства и применения комплекса про- грамм; степень необходимой документированности программ; Качество программного средства в среде пользователей может отличаться от качества в среде разработчиков, поскольку некоторые функции могут быть невидимыми пользователю и не использованными им. Пользователь оценивает только те атрибуты программного средства,ко- торые видимы и полезны в реальном применении, поэтому к дефектам про- граммных комплексов следует относить не только прямые потери при их при- менении, но и избыточные свойства, которые не нужны пользователю, но по- требовали дополнительных затрат. Спецификация качества определяет основные ориентиры (цели), которые на всех этапах разработки ПС так или иначе влияют при принятии различных решений на выбор подходящего варианта. Однако каждый из примитивовкаче- ства имеет свои особенности такого влияния, тем самым, обеспечение его на- личия в ПС может потребовать своих подходов и методов разработки ПС или отдельных его частей. Кроме того, противоречивость критериев качества ПС, а также и выражающих их примитивов качества: хорошее обеспечение одного какого-либо примитива качества ПС может существенно затруднить или сде- лать невозможным обеспечение некоторых других из этих примитивов. Поэто- му существенная часть процесса обеспечения качества ПС состоит из поиска приемлемых компромиссов. Эти компромиссы частично должны быть опреде- лены уже в спецификации качества ПС: модель качества ПС должна конкрети- зировать требуемую степень присутствия в ПС каждого из примитивов каче- ства и определять приоритеты достижения этих степеней. Обеспечение качества осуществляется в каждом технологическом процес- се: принятые в нем решения в той или иной степени оказывают влияние на ка- чество ПС в целом. В частности и потому, что значительная часть примитивов качества связана не столько со свойствами программ,входящих в ПС,сколько со свойствами документации. В силу отмеченной противоречивости примити- вов качества. Весьма важно придерживаться выбранных приоритетов в их обеспечении. При этом следует придерживаться двух общих принципов: сначала необходимо обеспечить требуемую функциональность и на- дежность ПС, а затем уже доводить остальные критерии качества до приемлемого уровня их присутствия в ПС; нет никакой необходимости и, может быть, даже вредно добиваться более высокого уровня присутствия в ПС какого-либо примитива ка- чества, чем тот, который определен в спецификации качества ПС. Схема угроз качеству программных средств и методы их предот- вращенияРисунок 1 – Схема угроз качеству программных средств Различия между ожидаемым и полученным результатами функциониро- вания программы могут быть следствием ошибок, не только в созданных про- граммах и данных,но и системных ошибок в первичных требованиях специфи- каций, являвшихся исходной базой данных для создания программного сред- ства. НадежностьНадежность (reliability)программного средства - это его способность безотказно выполнять определенные функции при заданных условиях в течение заданного периода времени с достаточно большой вероятностью. Альтернативой правильного ПС является надежное ПС. При этом под отказом в ПСпонимают проявление в нем ошибки.Таким образом,надежное ПС не исключает наличия в нем ошибок - важно лишь, чтобы эти ошибки при практическом применении этого ПС в заданных условиях проявлялись доста- точно редко. Убедиться, что ПС обладает таким свойством можно при его ис- пытании путем тестирования, а также при практическом применении. Таким образом, фактически мы можем разрабатывать лишь надежные, а не правиль- ные ПС. ГОСТ 13377 - 75 надежность определяется как средство объекта выпол- нять заданные функции, сохраняя во времени значения установленных эксплуа- тационных показателей в заданных пределах, соответствующих заданным ре- жимом и условием использования технического обслуживания,ремонта,хране- ния и транспортирования. Таким образом, надежность является внутренним свойством системы, заложенным при ее создании и проявляющемся во времени при функционировании и эксплуатации. Свойство надежности изучается теори- ей надежности, которая является системой определенных идей, математических моделей и методов, направленных на решение проблем прогнозирования (или предсказания), оценки и оптимизации различных показателей надежности. При применении понятия надежности к программному средству следует учитывать особенности и отличия этих объектов от традиционных технических систем, а именно не для всех видов программ можно говорить о надежности. Это имеет смысл по отношению к программным средствам,функционирующим в реаль- ном времени и непосредственно взаимодействующим с внешней средой. Доми- нирующими факторами, определяющими надежность программ, являются де- фекты, ошибки проектирования и разработки, второстепенное значение имеют физическое разрушение программных компонент при внешних воздействиях. Относительно редкое разрушение программных средств и необходимость их физической замены приводит к принципиальному изменению понятий сбоя и отказа программ. Для повышения надежности программного средства особое значение име- ют методы автоматического сокращения, длительности восстановления и преобразование отказов в кратковременные сбои путем введения в программ- ное средство временной программной и информационной избыточности. Непредсказуемость места, времени и вероятности проявления дефектов и ошибок, а также редкое обнаружение их при реальной эксплуатации достаточно надежных программных средств,все это не позволяет эффективно использо- вать традиционные методы априорного расчета показателей надежности. В международном стандарте ISO 9126:1991г. формализованы основные показатели качества и надежности. ПС может обладать различной степенью надежности. Как измерять эту степень? Так же как в технике, степень надежности можно характеризовать ве- роятностью работы ПС без отказа в течение определенного периода времени. Однако в силу специфических особенностей ПС определение этой вероятности наталкивается на ряд трудностей по сравнению с решением этой задачи в тех- нике. При оценке степени надежности ПС следует также учитывать послед- ствия каждого отказа.Некоторые ошибки в ПС могут вызывать лишь некото- рые неудобства при его применении, тогда как другие ошибки могут иметь ка- тастрофические последствия, например, угрожать человеческой жизни. Поэто- му для оценки надежности ПС иногда используют дополнительные показатели, учитывающие стоимость (вред) для пользователя каждого отказа. Характеристики и субхарактеристики качества программных средств по стандарту ISO 9126:1991 представлены на рисунке 2. Рисунок 2 – Характеристики качества программных средств |