Учебное пособие санктПетербург 2015
Скачать 3.34 Mb.
|
Министерство образования и науки российской Федерации университет итМо и.Ю. коцюба, а.в. Чунаев, а.н. Шиков Методы оценки и измерения характеристик информационных систем учебное пособие санкт-Петербург 2015 Коцюба И.Ю., Чунаев А.В., Шиков А.Н. Методы оценки и измерения характеристик информационных систем. Учебное пособие. – СПб: Университет ИТМО, 2015. – 264 с. В учебном пособии представлены материалы лекций по курсу «Методы оценки и измерения характеристик информационных систем». Учебное пособие разработано для студентов направления подготовки 09.04.02 – «Информационные системы управления в гуманитарной сфере». Рекомендовано к печати решением совета Естественнонаучного факультета (Протокол № 7 от 26 мая 2015 года). Кафедра интеллектуальных технологий в гуманитарной сфере ведет подготовку бакалавров по направлениям подготовки «Информатика и вычислительная техника», «Сетевые интеллектуальные системы в гуманитарной сфере» и магистров направлений «Информационные системы управления в гуманитарной сфере» и «Прикладные интеллектуальные системы в гуманитарной сфере». Выпускники кафедры ориентируются на работу профессиональными консультантами в области разработки и сопровождения информационных технологий в системе высшего и послевузовского образования, в издательской деятельности, а также в бизнесе. Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, 2015. Коцюба И.Ю., Чунаев А.В., Шиков А.Н. 2015. Оглавление Введение................................................................ 6 1. Связь качества программного обеспечения и инженерии требований............... 8 1.1. Исторические аспекты понятия «качества» 8 1.2. Инженерия требований................................. 17 1.3. Влияние инженерии требований на качество программного обеспечения............. 37 2. Метрики качества программного обеспечения.................................. 38 2.1. Факторы, влияющие на качество программного обеспечения.................................. 38 2.2. Внутреннее и внешнее качество программного обеспечения.................................. 40 2.3. Качество при использовании в процессе эксплуатации...................................... 43 3. Модели управления качеством программного обеспечения.................................. 45 3.1. Концепция управления качеством............... 45 3.2. Японские модели управления качеством.... 60 3.3. Европейский подход к управлению качеством...................................... 67 3.4. Российский опыт управления качеством.... 72 3.5. Модель CMM................................................. 74 3.6. Модель SPICE................................................ 79 3.7. Модель МакКола............................................ 83 3.8. Модель Боэма................................................. 83 3.9. Модель FURPS/FURPS+............................... 85 3.10. Модель Гецци............................................... 87 3.11. Модель SATC............................................... 87 3.12. Модель ISO 9126......................................... 88 3.13. Модель Дроми.............................................. 90 3.14. Модель QMOOD.......................................... 90 3.15. Модель SQuaRЕ........................................... 91 3.16. Управление качеством в крупных IT-компаниях...................................... 95 4. Особенности измерения и оценивания характе- ристик качества программного обеспечения........... 104 4.1. Процесс оценки качества на основе измерений............................................. 104 4.1.1. Специфика экспертных методов............... 105 4.1.2. Измерительные шкалы............................... 107 4.1.3. Категории показателей качества программного обеспечения 110 5. Основы метрической теории программ......... 113 5.1. Классификация и характеристика метрик... 113 5.2. Понятие алгоритмической сложности......... 115 5.3. Метрики на основе лексического анализа программ.......................... 117 5.3.1. Вероятностная модель текста программы... 117 5.3.2. Математическое ожидание и дисперсия длины текста программы................. 118 5.3.3. Метрические характеристики программ.... 121 5.4. Количественная оценка работы программирования................................... 122 5.5. Метрика Чепина................................................ 125 5.6. Технико-экономическое обоснование программного обеспечения.................................... 126 5.6.1. Расчет трудоемкости работ по разработке ПО 127 5.6.2. Оценка технического уровня (качества) ПО.. 129 6. Тестирования программного обеспечения....... 133 6.1. Организация тестирования программного обеспечения.................................... 133 6.2. Модель программной ошибки........................ 135 6.3. Свойства тестов................................................ 136 6.4. Классификация методов тестирования......... 137 6.5. Основные инструменты процесса тестирования........................................... 144 6.5.1. Система управления требованиями............ 144 6.5.2. База знаний..................................................... 146 6.5.3. Система управления задачами..................... 147 6.5.4. Система управления дефектами.................. 148 6.5.5. Система создания, хранения и запуска тестовых сценариев................................ 150 7. Стандартизация и сертификация программного обеспечения.................................... 152 7.1. Законодательство в сфере стандартизации... 152 7.2. Основы сертификации программной продукции......................................... 246 Литература................................................................ 257 6 Методы оценки и измерения характеристик информационных систем Введение Информационные системы и технологии актив- но внедряются во все сферы деятельности людей и занимают ведущее положении в системах управления любой организации. В настоящее время грамотное и своевременное применение информационных систем позволяет получить серьезные конкурентные преиму- щества и уверенное стабильное положение компании на рынке. Однако погоня за скорейшей разработкой, приобретением и внедрением информационных сис- тем нередко приводит к неудачам и худшим результа- там, чем были до применения новых информационных систем и программного обеспечения. По статистике только 10% разрабатываемых информационных сис- тем полностью устраивают заказчиков. Причин этому много и одной из них является низкое качество про- граммных продуктов и информационных систем. До недавнего времени практически не сущес- твовало единых подходов, методик и требований к оценке качества информационных систем и про- граммного обеспечения. Во многом ответствен- ность за качество разрабатываемых информацион- ных систем ложилось на разработчиков и заказчик мог в крайнем случае прописать какие-либо требо- вания в техническом задании. Самая большая про- блема сформулировать четкие требования к качес- тву программного обеспечения и потом количест- венно оценить их. В настоящее время и у заказчиков и у разработ- чиков имеется четкое представление, что от качест- ва разрабатываемых информационных систем будет зависеть и конечная цена программного продукта и стоимость владения. Под стоимостью владения ин- 7 Введение формационной системой подразумевается помимо цены на проектирование, разработку и внедрение ещё и стоимость обслуживания, сопровождения на протяжении всего жизненного цикла программного продукта. В учебном пособии представлены краткие сведе- ния о методах оценки и измерения характеристик ин- формационных систем, исторических аспектах управ- ления качеством и нормативных документах в области оценки качества, стандартизации и сертификации ин- формационных систем и программного обеспечения. 8 Методы оценки и измерения характеристик информационных систем 1. Связь качества программного обеспечения и инженерии требований 1.1. Исторические аспекты понятия «качества» Начальный этап познания сущности процесса уп- равления качеством программного обеспечения заклю- чается в изучении различных вариантов трактовок поня- тия «качество». Восприятие качества зависит, в большей степени, от информированности об объекте, к которому применяется качественная оценка. Со временем отноше- ние к качеству может меняться, что связанно с измене- нием информационной энтропии вокруг оцениваемого объекта, то есть появление новой или утрата уже сущес- твующей информации. К основным составляющим этой информации можно отнести: • характеристики объекта; • условия, при которых эти характеристики до- стигаются. В соответствии с этим, можно говорить о ка- честве, как о заранее определённых количественных ожиданиях от характеристик объекта в различных ус- ловиях. Более абстрактно можно представить субъек- тивное понятие качества, как степень удовлетворения определённых потребностей. Однако стоит заметить, что нельзя сводить качество объекта к его отдельным характеристикам, поскольку оно неотделимо от него и охватывает его целиком. С понятием «качество» мы сталкиваемся пос- тоянно и не всегда задумываемся над его значением. Первыми описали смысл этого понятия философы. В третьем веке до нашей эры это сделал Аристотель (Рисунок 1) – древнегреческий философ и ученый, ученик Платона, основавший Перипатетическую школу. Он считал, что качество классифицирует 9 Связь качества программного обеспечения и инженерии требований предметы на хорошие и плохие, и дал следующее определение в своем труде «Метафизика»: «качес- твом называется видовое отличие сущности» [1]. Очень простое и понятное трактование. До сих пор многие так и классифицируют качество на бытовом уровне. В трактате «Категории» восьмой главе «Ка- чество» Аристотель дает следующее определение: «Качеством я называю то, благодаря чему предметы называются такими-то. “Качество” имеет много зна- чений. Под одним видом качества будем разуметь устойчивые и преходящие свойства. Устойчивое свойство отличается от преходящего тем, что оно продолжительнее и прочнее» [1]. Более точно значение понятия «качество» опи- сывается китайскими иероглифами (Рисунок 2), кото- рое обозначается двумя элементами – «равновесие» и «деньги» [14]. Действительно, в большинстве случаев качество отождествляется со стоимостью. За качест- венный товар мы готовы платить большие деньги, чем за плохой. Подсознательно мы ранжируем и оценива- ем реальную стоимость товара или услуги, не желая Рисунок 1 – Аристотель Стагирит (384–322 до н.э.) 10 Методы оценки и измерения характеристик информационных систем переплачивать и быть обманутыми. Качество – сово- купность свойств, признаков, которые принадлежат вещи, явлению и отличают их от других предметов. Дальнейшее развитие философское понятие «качество» получило через две тысячи лет благодаря трудам различных философов и ученых. Английский ученый Роберт Бойль (Рисунок 3) ввел понятия пер- вичного и вторичного качества в работе «Опыт о чело- веческом разуме» [14] Джон Локк (Рисунок 4) британский философ и педагог понимал под первичными качествами объек- тивные свойства материальных тел, такие как протя- женность, величина, фигура, сцепление, положение, количественные характеристики вообще, механичес- Рисунок 2 – Обозначение понятия «качество» китайс- кими иероглифами «равновесие» и «деньги» Рисунок 3 - Роберт Бойль (1627-1691) 11 Связь качества программного обеспечения и инженерии требований кое движение, покой, длительность. К вторичным он относил субъективные ощущения, не совпадающие со свойствами внешних объектов, такие как цвет, звук, вкус, запах [14] и т.д. Галилео Галилей (1564-1642) (Рисунок 5) италь- янский астроном, математик, физик, философ относил к существующим качествам лишь те, которые вырази- мы геометрически. Автор учения о первичных и вто- ричных качествах. Галилей, Рене Декарт (1596-1650) французский математик, физик, философ, Пьер Гассенди (1592- 1655) французский философ, математик, астроном и Томас Гоббс (1588-1679) английский философ-мате- риалист полагали, что первичные качества открыва- ются в вещах лишь человеческим разумом, в то вре- мя как Джон Локк считал, что «идеи» первичных ка- честв доставляются непосредственно ощущениями. А Джордж Беркли (1685-1753) английский философ наоборот отверг деление качеств на первичные и вто- Рисунок 4 - Джон Локк (1632-1704) 12 Методы оценки и измерения характеристик информационных систем ричные, и объявил их все чисто субъективными. Ис- толковывая эту концепцию с позиций Агностицизма Дэвид Юм (1711-1776) шотландский философ и Им- мануил Кант (1724-1804) немецкий философ отрицали сходство ощущений со свойствами внешних объектов и перенесли субъективистское понимание вторичных качеств на первичные [14]. Дальнейшее развитие понятие «качество» получи- ло в трудах Георга Вильгельма Фридриха Гегеля (Рису- нок 6) немецкого философа. Разработанное им учение о диалектическом развитии как качественном изменении, стремлении низших форм к высшим, переход от старого в новое, стало значительным этапом развития философс- кой мысли. Определения, данные Гегелем «качество есть определенно сущее», а «мера - качественное количест- во или количественное качество» легли в основу трудов Карла Маркса и Фридриха Энгельса. Гегель отрицал абсолютность качества и считал в отличие от Аристотеля, что всякое новое качество есть лишь результат накопившихся количественных Рисунок 5 – Галилео Галилей (1564-1642) 13 Связь качества программного обеспечения и инженерии требований изменений. С этим утверждением трудно не согла- ситься, так как в нем заложен глубочайший смысл. Чаще всего применяется следующее определение, данное Гегелем в своем труде «Наука логики»: «Ка- чество есть в первую очередь тождественная с бы- тием определенность, так что нечто перестает быть тем, что оно есть, когда оно теряет свое качество. Количество есть, напротив, внешняя бытию, безраз- личная для него определенность» [14]. Одним из главных последователей Гегеля был Фридрих Энгельс (Рисунок 7). Он считал важным два основных аспекта в применении понятия «качество» в своей работе «Диалектика природы», которую пи- сал десять лет с 1873 по 1883 годы. Первое, что вся- кое качество имеет бесконечно много количественных градаций, доступных измерению и наблюдению, су- щественно различающихся между собой. Второе, что существуют «не качества сами по себе, а вещи, обла- дающие качеством, и притом бесконечно многими ка- чествами [14]». Рисунок 6 - Георг Вильгельм Фридрих Гегель (1770-1831) 14 Методы оценки и измерения характеристик информационных систем Существенным здесь является добавление к фи- лософским определениям «качества» экономических показателей, которые можно «наблюдать и измерять». Можно считать, что это первое обоснованное предло- жение необходимости количественной оценки качест- ва и формулирование закона перехода количественных изменений в качественные. В двадцатом веке лидирующая роль в развитии по- нятия «качества» полностью переходит в руки инженеров, ученых-статистиков, производственников, управленцев, таких как Уолтер Шухарт (1891-1967), Каору Исикава (1915-1990), Джозеф Джуран (1904-2008), Филип Кросби (1926-2001), Уильям Деминг (1900-1993), Генити Тагути (род.1924), Ф.У. Тейлор (1856-1915), Сигео Синго (1909- 1990), Арманд В. Фейгенбаум (род.1922) и других. В своей книге «Экономическое управление качеством промышленной продукции» Уолтер Шу- харт описал качество как совокупность объектив- ных физических характеристик и восприятия оце- ниваемого объекта. Ещё одно определение понятия Рисунок 7 - Фридрих Энгельс (1820-1895) 15 Связь качества программного обеспечения и инженерии требований «качества» дал Каору Исикава, в котором утверж- дал, что качество – свойство, реально удовлетворя- ющее потребителей. Переходя к экономическим аспектам качества, следует говорить уже о качестве информационных систем или программного обеспечения. Оно связано со свойствами и полезностью программного продук- та. Каждое свойство IT-продукции представляет собой перечень объективных сторон продукта, однако важ- ность этих свойств для потребителя не определяется. В свою очередь, полезность определяется способнос- тью продукта удовлетворять требованиям конкрет- ного потребителя. В результате, качество – это кри- тическая оценка потребителем степени соответствия его свойств и показателей качества, индивидуальным и общественным ожиданиям, а также обязательным нормам в соответствии с его назначением. Существует большое количество определений «ка- чества», основанных на агрегации различных характе- ристик объектов, которые в дальнейшем используются для оценки согласованности с первоначальными требо- ваниями. Международная организация по стандартиза- ции (International Organization for Standardization – ISO) определяет качество как полноту свойств и характе- ристик продукта, процесса или услуги, которые обес- печивают способность удовлетворять заявленным или подразумеваемым потребностям. Немного другое определение качества, напря- мую связанное с программным обеспечением, сфор- мулировано Институтом инженеров по электротехни- ке и электронике (Institute of Electrical and Electronic Engineers – IEEE). Качество программного обеспече- ния – это степень, в которой оно обладает требуе- мой комбинацией свойств. 16 Методы оценки и измерения характеристик информационных систем Основываясь на имеющихся определениях, на- иболее точным определением является следующее: Ка- чество информационной системы (программного обес- печения) – это способность информационной системы (программного обеспечения) удовлетворять потребнос- тям пользователей за определенную стоимость. К та- ким потребностям относятся различные особенности, которые проявляются на протяжении всего жизненного цикла программного обеспечения. При этом с каждым свойством может соотноситься одна или несколько ха- рактеристик программного обеспечения, которые пред- ставляют собой проявляемые и измеряемые атрибуты свойства. Соответственно, численная оценка этих ха- рактеристик позволит определить степень наличия у программного обеспечения конкретного свойства. Ко- личественной оценкой качества занимается квалимет- рия. Квалиметрия программного обеспечения – это направление науки, изучающее теоретические и прак- тические проблемы численного измерения и оценки ка- чества программного обеспечения. Необходимо отметить, что процесс анализа ка- чества необходимо осуществлять в соответствии с мнениями всех заинтересованных сторон, посколь- ку их сферы профессиональных компетенций могут сильно различаться и исключение кого-то из их числа не позволит корректно оценить программное обеспе- чение. Для этого, в том числе, существуют стандарты, описывающие соответствующие системы обеспечения и управления качеством. Управление качеством информационной систе- мы (программного обеспечения) определяется как ус- тановление, обеспечение и поддержание необходимо- го уровня качества при её проектировании, разработке и эксплуатации, осуществляемые путем системати- 17 |