Учебное пособие санктПетербург 2015
Скачать 3.34 Mb.
|
Модели управления качеством программного обеспечения 3.10 Модель Гецци Карло Гецци и его соавторы различают качество продукта и процесса. Согласно модели Гецци, к качес- тву программного обеспечения относят следующие характеристики программного обеспечения [49]: • целостность; • надежность и устойчивость; • производительность; • практичность; • верифицируемость; • сопровождаемость; • возможность многократного использования; • мобильность; • понятность; • возможность взаимодействия; • эффективность; • своевременность реагирования; • видимость процесса разработки. 3.11 Модель SATC В Центре обеспечения качества программного обеспечения NASA (Software Assurance Technology Center, SATC) была разработана программа метрик, обеспечивающая оценку рисков проекта, качества продукции и эффективности процессов. Программа SATC рекомендует отдельно отслеживать качество требований, качество программного обеспечения и других продуктов (документации), качество тести- рования и качество выполнения процессов. Модель качества SATC определяет набор целей, связанных с программным продуктом и атрибуты процессов в соответствии со структурой модели качества про- граммного обеспечения ISO 9126-1. 88 Методы оценки и измерения характеристик информационных систем 3.12 Модель ISO 9126 Качество программного обеспечения опреде- ляется в стандарте ISO 9126-1 как всякая совокуп- ность его характеристик, относящихся к возмож- ности удовлетворять высказанные или подразуме- ваемые потребности всех заинтересованных лиц. Модель качества ISO 9126-1 различает понятия внутреннего качества, связанного с характеристи- ками ПО самого по себе, без учета его поведения; внешнего качества, характеризующего ПО с точки зрения его поведения; и качества ПО при исполь- зовании в различных контекстах – того качества, которое ощущается пользователями при конкрет- ных сценариях работы ПО. Для всех этих аспек- тов качества введены метрики, позволяющие оце- нить их. Кроме того, для создания надежного ПО существенно качество технологических процессов его разработки. Взаимоотношения между этими ас- пектами качества по схеме, принятой ISO/IEC 9126 показано на рисунке 35. На рисунке 36 представлены факторы и ат- рибуты внешнего и внутреннего качества про- граммного обеспечения в соответствии с ISO/ IEC 9126. На рисунке 37 приведена модель оценивания со- гласно ISO/IEC 9126. 89 Модели управления качеством программного обеспечения Рисунок 35 – Взаимоотношения аспектов качества Рисунок 36 – Факторы и атрибуты качества 90 Методы оценки и измерения характеристик информационных систем 3.13 Модель Дроми Модель качества Дроми основана на критериях оценки. Она стремится оценить качество системы, в то время как каждый программный продукт, имеет качест- во отличное от других. Модель Дроми помогает в пред- сказании дефектов ПО и указывает на те свойства ПО, пренебрежение которыми может привести к появлению дефектов. Эта модель основывается на отношениях меж- ду характеристиками качества и подхарактеристиками, между свойствами программного обеспечения и харак- теристиками качества программного обеспечения. 3.14 Модель QMOOD Джагдиш Банзия и Карл Дэвис предложили ие- рархическую модель качества для объектно-ориенти- рованного проектирования (QMOOD), которая расши- Рисунок 37 – Модель оценивания качества 91 Модели управления качеством программного обеспечения ряет методологию модели качества Дроми и включает в себя четыре уровня [49]: 1) Определение показателей качества проекта: на- бор атрибутов качества проекта, которые используются в QMOOD для описания характеристик объектно-ори- ентированных систем включат: функциональность, эф- фективность, понятность, расширяемость, возможность многократного использования и гибкость. 2) Определение объектно-ориентированных свойств проекта: свойства проекта могут быть оп- ределены в процессе исследования внутренней и внешней структуры, функциональности компонент проекта, атрибутов, методов и классов. Структурным и объектно-ориентированным множеством свойств проекта, которые используются в QMOOD, являют- ся: размер проекта, иерархическая структура, инкап- суляция, связанность, состав проекта, наследование, полиморфизм, обмен информацией, сложность. 3) Определение объектно-ориентированных мет- рик проекта: различные объектно-ориентированные метрики проекта. 4) Определение объектно-ориентированных свойств проекта: Компоненты проекта были опреде- лены для определения архитектуры объектно-ориен- тированного проекта. Эта модель определяет пара- дигму, а также вводит ряд новых объектно-ориенти- рованных метрик. 3.15 Модель SQuaRЕ В дополнение к ISO 9126 выпущен набор стандар- тов ISO/IEC 14598, регламентирующий способы оцен- ки этих характеристик. В совокупности они образуют модель качества, известную под названием SQuaRE (Software Quality Requirements and Evaluation). 92 Методы оценки и измерения характеристик информационных систем Общий подход к моделированию качества про- граммного обеспечения заключается в том, чтобы сна- чала идентифицировать небольшой набор атрибутов качества самого высокого уровня абстракции и затем в направлении “сверху вниз” разбить эти атрибуты на наборы подчиненных атрибутов. Стандарт ISO/IEC 9126 является типичным примером такого подхода. В рамках модели SQuaRE выделяются следую- щие шесть основных характеристик качества [49]: 1. Функциональность (точность, согласован- ность, интероперабельность, безопасность, пригод- ность). Функциональные требования традиционно составляют основной предмет спецификации, модели- рования, реализации и аттестации программного обес- печения. Они формулируются в виде утверждений в императивной модальности, описывающих поведение системы. Использование формальных методов позво- ляет довести уровень отклонения фактического пове- дения системы от требуемого практически до нуля. Это достигается путем выражения функциональных требований в виде предложений подходящих фор- мальных исчислений, так что верификация сводится к строгому доказательству. 2. Надежность (устойчивость, завершенность, восстанавливаемость). Показатели надежности харак- теризуют поведение системы при выходе за пределы штатных значений параметров функционирования по причине сбоя в окружении либо в самой системе. При оценке атрибутов надежности применяются методы теории вероятностей и математической статистики. Требования к надежности особенно важны при разра- ботке критических систем обеспечения безопасности жизнедеятельности (dependable systems). Хотя исполь- зование формальных методов способствует снижению 93 Модели управления качеством программного обеспечения количества внутренних ошибок (т.е. росту завершен- ности системы), обеспечение надежности в целом тре- бует специальных подходов, учитывающих специфику различных типов систем. 3. Удобство (эффективность освоения, эргономич- ность, понимаемость). Соответствие системы требова- ниям к удобству чрезвычайно трудно поддается оценке. Предлагаемые подходы включают замеры расхода нор- мативных единиц труда (нормо-часов), затрачиваемого пользователями на овладение системой, а также прове- дение и анализ экспертных оценок, в том числе с при- менением методов нечеткой логики (fuzzy logic). В кон- тексте использования формальных методов наилучшим решением представляется изначальная ориентация на формализмы, способные максимально точно отразить структуру исходной предметной области. Например, при создании вычислительных систем критерием адекват- ности формализма с точки зрения будущего пользова- теля является поддержка абстрактного математического языка, не зависящего от концептуальных ограничений, накладываемых компьютерными технологиями. 4. Эффективность (по ресурсам и по времени). Атрибуты эффективности традиционно относятся к чис- лу важнейших количественных показателей качества программных систем. Их значения подлежат фиксации в эксплуатационной документации к программным и аппа- ратным изделиям. Имеется высокоразвитый инструмен- тарий для измерения этих значений. Разработаны также методики, позволяющие прогнозировать интегральные значения показателей эффективности системы исходя из значений этих показателей для компонентов самой систе- мы и ее окружения. Выбору формальных методов обеспе- чения эффективности следует уделять особое внимание. При этом следует иметь в виду, что, хотя имеется тесная 94 Методы оценки и измерения характеристик информационных систем взаимосвязь между производительностью и ресурсоем- костью, подходы к обеспечению каждого из этих требова- ний в общем случае имеют различную природу. 5. Сопровождаемость (простота анализа, изме- няемость, стабильность, проверяемость). Требования к сопровождаемости направлены в первую очередь на ми- нимизацию усилий по сопровождению и модернизации системы, затрачиваемых эксплуатационным персоналом. Для их оценки используются различные методики про- гнозирования затрат на выполнение типовых процедур сопровождения. Интегральная стоимость сопровожде- ния долгоживущих систем может существенно превы- шать стоимость их разработки. Сопровождение сущес- твенно упрощаются в случае, когда разработка велась с использованием формальных методов, поскольку име- ется в определенном смысле исчерпывающий комплект технологической документации и проверочных тестов. 6. Переносимость (адаптируемость, согласо- ванность со стандартами и правилами, гибкость ин- сталляции, заменяемость). Переносимость системы характеризует степень свободы в выборе компонен- тов системного окружения, необходимых для ее фун- кционирования. Оценка переносимости затрудняется принципиальной незавершенностью, динамичностью списка возможных вариантов окружения, обусловлен- ной быстрым прогрессом в сфере информационных тех- нологий. Системы, разрабатываемые с использованием формальных методов, как правило, отличаются высо- ким уровнем переносимости. В частности, если такая система не поддерживает некоторую целевую техноло- гическую платформу, создание “клона” реализации ее абстрактной модели с использованием целевых средств программирования требует существенно меньших за- трат, чем замена самой системы либо платформы. 95 Модели управления качеством программного обеспечения Модель качества, создаваемая в рамках данного стандарта, определяется общими характеристиками продукта. Характеристики же в свою очередь могут быть уточнены, другими словами, иерархично раз- биты на подхарактеристики качества. Так, например, характеристика сопровождаемости может быть пред- ставлена такими подхарактеристиками как простота анализа, изменяемость, стабильность, проверяемость. И, наконец, нижний уровень иерархии представ- ляют непосредственно атрибуты программного обес- печения, поддающиеся точному описанию и измере- нию. Требования качества в свою очередь могут быть представлены как ограничения на модель качества. Оценка качества продукта в таком случае происходит по следующей схеме. Вначале оцениваются атрибуты программного изделия. Для этого выбирается метрика и градируется шкала оценки в зависимости от возмож- ных степеней соответствия атрибута накладываемым ограничениям. Для каждой отдельной оценки атрибу- та градация обычно выбирается заново и зависит от требований качества, накладываемых на него. Набор “измеренных” атрибутов представляет собой крите- рий для оценки подхарактеристики и характеристик, и как результат качества продукта в целом. 3.16 Управление качеством в крупных IT-компаниях Крупные компании очень сильно заботятся о собственном имидже надёжного партнёра и пос- тавщика, поэтому всячески развивают и совер- шенствуют применяемые методики контроля над качеством выпускаемой продукции. В каждом кон- кретном случае следует индивидуально подходить к процессу контроля качества, так как сфера де- 96 Методы оценки и измерения характеристик информационных систем ятельности компании предъявляет специфические требования и ставит определённые ограничения, не принимать которые во внимание – значит риско- вать лояльностью потребителей, что может привес- ти к сокращению прибыли. Для описания подходов управления качес- твом в IT-компаниях необходимо разграничить производимую ими продукцию. IT-компании мо- гут производить: • программное обеспечение (операционные сис- темы, игры, дизайнерские программы, аналитические средства, средства мониторинга, web-ресурсы и т.д.); • аппаратное обеспечение (электронные компо- ненты, комплектующие, вычислительные платформы, сетевое оборудование, оборудования для бесперебой- ного питания и т.д.). Также необходимо отметить отрасль оказа- ния различных услуг (консультации, хранение данных, банкинг, бронирование отелей, покупка билетов и т.д.), которая для некоторых компаний является основной. К примеру, компания Microsoft изначально отно- силась к отрасли программного обеспечения, однако расширила свою область деятельности производством мобильных устройств. В тоже время, компания Samsung является одним из самых крупных производителей электронных компонентов и комплектующих, но также ведёт разработки в области программного обеспечения. Особо стоит отметить компании, ведущие свою де- ятельность сразу во всех перечисленных сферах. К ним можно отнести IBM, Motorola, Google, LG и др. Процесс контроля качества продукции связы- вает все составляющие деятельностей компании. Например, компания IBM целиком производит 97 Модели управления качеством программного обеспечения аппаратные платформы и программное обеспече- ние для своих решений, а потом предоставляет их в качестве сервисов для своих клиентов и парт- нёров. В связи с этим, специалисты по обеспече- нию качества обязаны контролировать разработку аппаратных средств, программного обеспечения, а также уровня предоставления услуг. Для этого необходимо разрабатывать целые системы конт- роля над качеством, причём они могут состоять сразу из нескольких методологий, а сами методо- логии могут быть доработаны и видоизменены в соответствии с особенностями кампании. То есть можно говорить о невозможности применения ба- зовых методов обеспечения качества без проведе- ния адаптационных мероприятий. В качестве при- мера комплексных систем управления качеством можно рассмотреть решения компаний Microsoft, Motorola и Samsung. Наиболее показательными с точки зрения информационных систем могут являться подхо- ды компании Motorola. Компания была основана в 1928 году в Америке и к сегодняшнему дню рабо- тает с огромным количеством клиентов по всему миру. В её распоряжении 7 основных конструк- торских центров для разработок (R&D) в разных странах мира, 9 центров по поддержке собствен- ных решений, и сотрудники в 65 странах мира. Очевидным является факт наличия выстроенной системы управления различными процессами компании. За свою долгую историю Motorola раз- работала большое количество технологий, значе- ние которых в современной жизни не может быть игнорировано. В частности, основные вехи разви- тия компании показаны на рисунке 38. 98 Методы оценки и измерения характеристик информационных систем По данной временной шкале видно, что в 1986 году компания разработала собственную методику управления качеством, названную «6 Сигма» (Six Sigma). Суть этой концепции сводится к улучше- нию качества выходных результатов каждого про- цесса, минимизации дефектов, статистических отклонений и прочих неточностей операционной составляющей. Само название методика получи- ла от понятия «среднеквадратичное отклонение», обозначаемого одноимённой буквой. Процесс уп- равление качеством, основанный на этой методике, способен достигать 99,99966% бездефектного про- изводства, то есть на 1 млн операций приходится не более 3,4 дефектов. Основными принципами системы являются: - исследование всех типов потерь, дефектов и издержек; - статистический контроль процессов; - управление качеством и издержками; - новая корпоративная и технологическая культура; - технология выбора и реализации проектов; - инфраструктура внедрения и обучения. Схематичное изображение методики «Six Sigma» представлено на рисунке 39. Концепция «Six Sigma» представляется в виде последовательности шагов – DMAIC (define, measure, analyze, improve, control): определение, измерение, анализ, совершенствование и контроль. Этап «определения» (Define) предназначен для постановки целей, определения рамок и выявления проблем, решение которых позволит достичь требуе- мого уровня отклонений в производстве. В соответс- твии с уровнем управления цели, задачи и проблемы 99 Модели управления качеством программного обеспечения Ри су но к 38 - О сн ов ны е в ех и ра зв ит ия ко мп ан ии M ot or ol a 100 Методы оценки и измерения характеристик информационных систем могут значительно отличаться, что обусловлено разли- чиями в процессах каждого из них. Этап «измерения» (measure), в свою очередь, предназначен для определения текущего положе- ния дел в организации, а также базовых показателей функционирования, которые необходимо улучшать. В результате этого выявляются проблемные участки производства, а также разрабатываются метрики, с по- мощью которых будет возможно оценить степень при- ближения к утверждённым целям. На этапе «анализа» (analyze) происходит опре- деление основных причин возникновения проблем в обеспечении качества, после чего правильность выбо- ра этих причин проверяется при помощи специальных инструментов анализа данных. На этапе «совершенствования» (improve) осу- ществляется внедрение решений, предназначенных для устранения основных проблем, определённых на этапе анализа. В число таких решений могут входить средства управления проектами и другие инструмен- ты управления и планирования. Рисунок 39 - Схема методики «Six Sigma» |