Содержание к диссертации
Введение
Глава 1. Анализ существующих подходов к оценке качества программных средств на стадии формирования концепции . 13
1.1 Анализ существующих методов оценки качества программных средств 13
1.2 Анализ подходов к управлению требованиями, предъявляемых к программным средствам 19
1.3 Анализ использования методологии QFD в задачах управления требованиями, предъявляемых к программным средствам 26
1.4 Цели и задачи исследования 41
Выводы к первой главе 42
Глава 2. Разработка методов оценки качества программных средств в части непротиворечивости требований 45
2.1 Разработка метода анализа взаимовлияния требований, на основе QFD-методологии 46
2.2 Разработка метода анализа непротиворечивости функциональных и нефункциональных требований 54
2.3 Разработка модели анализа непротиворечивости требований, соответствующих разным стадиям жизненного цикла программных средств 67
Выводы ко второй главе 73
Глава 3. Разработка методов оценки качества программных средств в части модифицируемости требований 75
3.1 Разработка метода формирования «эталонного» объекта 75
3.2 Разработка метода анализа модифицируемости требований на основе анализа целесообразности внесения изменений в требования 81
3.3 Разработка метода анализ модифицируемости требований на основе анализа последствий внесения изменений в отдельное требование 92
Выводы к третьей главе 101
Глава 4. Разработка инженерной методики и анализ непротиворечивости и модифицируемости требований к программному компоненту встраиваемой системы обработки данных 104
4.1 Инженерная методика оценивания качества требований к программным средствам на стадии формирования технического задания 105
4.2 Исследование непротиворечивости требований к программной компоненте медиашлюза TDMoP 114
4.3 Исследование модифицируемости требований к программной компоненте медиашлюза TDMoP 125
4.4 Оценка эффективности внедрения методики оценивания качества требований на этапе формирования технического задания 134
Выводы к четвертой главе 139
Заключение 142
Список сокращений и условных обозначений 145
Список литературы 146
- Анализ использования методологии QFD в задачах управления требованиями, предъявляемых к программным средствам
- Разработка метода анализа непротиворечивости функциональных и нефункциональных требований
- Разработка метода анализа модифицируемости требований на основе анализа целесообразности внесения изменений в требования
- Исследование модифицируемости требований к программной компоненте медиашлюза TDMoP
Анализ использования методологии QFD в задачах управления требованиями, предъявляемых к программным средствам
Одним из инструментальных средств разноаспектного описания свойств сложных систем является методология Quality Function Deployment (QFD), или Развертывание Функции Качества (РФК) [64]. Целью QFD является уменьшение неопределенности при решении проектных задач на разных стадиях жизненного цикла изделий за счет реализации процедуры системного описания слабоструктурированных объектов и ситуаций. В источниках [34], [103] и ряде других приводятся сведения и описания, которые позволяют дать следующие особенности, определяющие QFD.
QFD – это структурированный процесс, язык визуального моделирования, последовательность внутренне связанных диаграмм, ориентированных на решение проектных задач, характерных для разных стадий жизненного цикла изделий.
QFD – это инструментарий заказчика, который позволяет встроить его требования в проектную документацию. Цель этого инструментального средства – убедиться, что требования заказчика интегрированы в каждую часть проекта, от определения границ проекта через этап его планирования до процесса контроля за ходом выполнения проекта и его закрытия. Функция качества позволяет выявить требования заказчика и перевести их на язык проекта.
QFD – это кросс-функциональный инструментарий (cross-functional tool [25]), обеспечивающий необходимую глубину понимая инженерами потребностей потребителей и создающий возможность формирования на их основе ранжированных по значимости с точки зрения потребителя требований, корректных с технических позиций.
В [7] отмечается, что QFD относится к методам, направленным одновременно на обеспечение высокого качества изделий и сокращения стоимости их создания. Инструментарий QFD позволяет реализовать удобные и высокопроизводительные механизмы системного проектирования, использование которых создает предпосылки того, чтобы из поля зрения не выпали вопросы, важные с точки зрения потребителей.
Концепция методологии QFD была разработана членом японской ассоциации инженеров Yoshi Akao в 60-х годах прошлого столетия. Компания Mitsubishi Heavy Motors в 1972 впервые применила концепцию на практике. В 1976 году компания Toyota Motor Company применила QFD для создания автомобиля нового типа. Вслед за Японией методология нашла применение в США. В 1983 году такие компании как Xerox и Ford внедрили QFD в свои производственные процессы. После 1987 года QFD добралась до западной Европы [8]. С 2000 года публикации, посвященные применению QFD в различных областях, от производства до оценки качества предоставляемых услуг, стали появляться в РФ [74], [98], [111], [117].
Методология QFD предполагает разработку одной или нескольких матриц известных под названием «таблицы качества» [15]. Первая из таких таблиц называется «Дом качества» (House of Quality – HoQ). Рассмотрим несколько определений понятия «Дом качества».
«Дом качества» – это матрица, которая позволяет анализировать пользовательские требования (голос заказчика – VOC – Voice of customer) и переводить их на язык разработчиков (VOE – Voice of engineering). «Дом качества» является основой большинства матриц в QFD [11].
«Дом качества» – самая распространенная матрица, используемая в QFD [50]. Основа QFD – построение фигурной матрицы, названной в соответствии со своей формой «Дом качества», в рамках которой фиксируется информация о качестве продукта и принимаемых решениях [109].
Подходы к построению модели «Дом качества»
Рассмотрим принципы построения модели «Дом качества». На рисунке 1.1 представлен общий вид модели «Дом качества». В таблице 1.1 дано описание структуры модели «Дом качества».
Алгоритм построения модели «Дом качества» первого уровня [3], [68], [133]:
1. Выявляются требования потребителя, формируя «левую комнату» модели «Дом качества» (номер 1 на рисунке 1.1). В классической модели «Дом качества» требования выявляются посредством анкетирования потенциальных потребителей, опросов, маркетинговых исследований.
2. Выявленные требования ранжируются по важности для потребителя (номер 2 на рисунке 1.1). В классической модели «Дом качества» используются пятибалльные оценки, где «1» – означает, что требование не важно для потребителя, «5» – означает, что требование является очень важным для потребителя.
3. В «правую комнату» (3 на рисунке 1.1) заносятся оценки удовлетворенности потребителей по качеству реализованных требований в изучаемом объекте и в объектах-аналогах.
4. Формируются технические характеристики объекта, которые влияют на реализацию требований потребителей (4 на рисунке 1.1).
5. Заполняется «центральная часть» модели «Дом качества». Матрица связи характеристик программного средства и потребительских свойств заполняется следующим образом:
– сильная взаимосвязь (в модели «Дом качества» отображается при помощи надписи «сил»);
– средняя взаимосвязь (в модели «Дом качества» отображается при помощи надписи «ср»);
– слабая взаимосвязь (в модели «Дом качества» отображается при помощи надписи «сл»);
– связь отсутствует (в модели «Дом качества» пустая ячейка).
6. Формируется таблица характеристик разрабатываемого объекта и объектов- аналогов (номер 6 на рисунке 1.1).
7. Строится «крыша» модели «Дом качества». Формируется матрица взаимосвязи характеристик программного средства (номер 7 на рисунке 1.1).
8. Строится «крыльцо» модели «Дом качества». Формируется матрица взаимосвязи потребительских свойств (номер 8 на рисунке 1.1).
Принцип построения матриц корреляции заключается в следующем: – сильно положительная взаимосвязь обозначатся «+ +»; – положительная взаимосвязь обозначается «+»; – сильная отрицательная взаимосвязь «- -»; – отрицательная взаимосвязь «-».
9. Оценивается сложность инженерной реализации характеристик программного средства (по пятибалльной шкале, где «1» - легко реализовать, «5» - сложно реализовать).
10. Определяется направление улучшения характеристик после проведения анализа модели «Дом качества» (номер 10 на рисунке 1.1).
Разработка метода анализа непротиворечивости функциональных и нефункциональных требований
Противоречия присущи большинству задач, требующих решения, в том числе задачам, связанным с формированием требований, которые предъявляются к программным средствам на разных стадиях их жизненного цикла. Причинами возникновения таких противоречий являются:
разное видение различными субъектами управления потребительских свойств программного продукта [140];
различное оценивание проблемных ситуаций разными субъектами управления [57];
неопределенность состояния внешней по отношению к объекту управления среды [94], [32] и внутренней среды объекта управления [32], [101], а также уникального сочетания внешней и внутренней сред [67];
отказ заинтересованных сторон от ранее данных обещаний и нарушение в одностороннем порядке достигнутых договоренностей [32], [75];
нелинейная природа сложных систем, вследствие чего незначительные административные и технологические ошибки могут в итоге оказать серьезное негативное влияние на свойства объекта управления и ход выполнения проекта [17], [32].
Раннее выявление противоречий является критическим фактором успеха управления сложными системами. Своевременное выявление противоречий и нахождение способов их разрешения предотвращает появление трудностей, производных от этих противоречий и, в итоге, позволяет сократить затраты на разработку объекта.
Признание программных систем разновидностью сложных систем на Конгрессе Международной Организации по Обработке Информации IFIP в 1965 году обосновало возможность адаптации методологий и полезных практик, хорошо зарекомендовавших себя при исследовании сложных систем других классов, в область программной инженерии. Вместе с тем, например в работе [93], отмечается, что «...многие достижения в области теории и практики управления качеством сложной промышленной продукции, как правило, неизвестны и не используются специалистами, создающими и применяющими системы на базе программных средств». В той же работе подчеркивается, что оценка свойств программных продуктов на разных стадиях жизненного цикла зависят от интуиции и квалификации разработчиков, заказчиков, пользователей. Это является одной из причин недостаточной функциональной пригодности [96] программных продуктов и неудовлетворительной эффективности программных проектов. Таким образом, анализ возможности и разработка способов адаптации известных и хорошо зарекомендовавших себя практических способов (практик) создания, использования, модификации и развития сложных промышленных систем в область программной инженерии следует отнести к факторам управления качеством сложных программных продуктов.
Качество требований к потребительским свойствам программного продукта относится к ключевым факторам, определяющим функциональную пригодность изделия [91], [101], [128]. К настоящему времени разработаны руководства [46], стандарты [43], в которых определен перечень признаков, которыми должны обладать «хорошие» спецификации требований к программным продуктам. Вместе с тем, не определены четкие критерии оценки соответствия этим признакам, а также описание механизмов, использование которых обеспечивает формирование «хороших» спецификаций. Формирование взаимосвязанных требований к потребительским свойствам создаваемого объекта, в особенности на начальных стадиях жизненного цикла таких объектов, относится к классу слабоструктурированных задач [93], [96], [101]. Дефекты в требованиях являются одной из основных причин нарушения базового опорного плана программного проекта.
Анализ влияний на основе знаково-ориентированных графов «Дом качества» может рассматриваться как разновидность формальной когнитивной карты (ФКК) [48]. Когнитивная карта представляет собой причинно-следственные связи между понятиями [35]. «Дому качества» присущи все формальные признаки ФКК:
прямоугольная и треугольная матрицы могут быть преобразованы в ориентированный граф, вершинам которого соответствуют элементы «комнат» модели «Дом качества»;
дуги графа могут рассматриваться как прямые причинные влияния между узлами графа с указанием силы и знака влияния.
Формальные когнитивные карты или карты с формальной семантикой позволяют применять для поиска и принятия решений по управлению сложными и слабоструктурированными ситуациями формальные методы [47].
Аппарат знаково-ориентированных графов [2], [112] позволяет предложить подход к выявлению противоречий при анализе требований. Знаковый граф - это граф, дуги которого имеют веса +1 или —1, сокращенно обозначаемые «+» и «-». Знак «+» обозначает положительное влияние (рост фактора-причины приводит к росту фактора-следствия), знак «-» обозначает отрицательное влияние [82], [30].
В рамках QFD связи между требованиями пользователей и характеристиками изделия являются неориентированными.
В основе анализа противоречий между разными требованиями лежит следующий алгоритм:
Шаг 1. На основе модели «Дом качества» строится конечный помеченный связный граф (0,U), вершины которого разбиты на два подмножества R и Т. Элементы подмножества R соответствуют требованиям «крыльца» модели «Дом качества»; элементы Т - требованиям «крыши». ох -вершины неориентированного графа (0,U), д = п + пг - мощность множества О, х = 1, д, О = R + Т.
Шаг 2. Вершинам, принадлежащим R, присваиваются пометки г±, г2 ... гп, где п - число всех вершин, принадлежащих R.
Шаг 3. На основе неориентированного графа строится симметрический граф [52], [106].
Шаг 4. Последовательно перебирая все пары вершин (п,г;); i,j = (0, п); і Ф j, определяются все простые ориентированные пути, ведущие из rt в Ту Полагается, что хотя бы одна вершина простого пути принадлежит множеству Г; в состав простого пути может входить не более двух вершин из множества R. Так же полагается, что число вершин в простом пути должно быть не менее трех.
Анализ влияний требований посредством нечетких графов
Для анализа слабоструктурированных ситуаций с качественными и плохо определенными параметрами более адекватным является подход, основанный на понятии нечетких когнитивных карт (или нечетких графов) [82]. В общем случае нечеткий граф - это ориентированный граф. Его вершины представляют собой рассматриваемые элементы множеств, а дуги согласовываются с элементами отношений, то есть это упорядоченные пары. Степень принадлежности каждой упорядоченной пары ассоциируется с каждой дугой как ее вес. Вес дуги определяется из лингвистической шкалы и характеризует силу влияния одного элемента множества на другой.
В модели «Дом качества» можно поставить в соответствие каждой дуге лингвистическую переменную, характеризующую влияние в соответствии со следующей шкалой [3]: сильно средне слабо.
Разработка метода анализа модифицируемости требований на основе анализа целесообразности внесения изменений в требования
Во многих литературных источниках [17], [88], [94] и др. отмечается, что противоречия являются неотъемлемым свойством задачи синтеза сложных систем. При проектировании объекта естественным желанием является улучшить те его потребительские свойства и технические характеристики, которые, по мнению экспертов, хуже, чем у объектов-аналогов. Однако попытка улучшить свойства и характеристики в ряде случаев может дать обратный эффект (это является проявлением известного свойства «контринтуитивного поведения сложных систем» [18]). Одной из причин отличия фактического результата от ожидаемого является игнорирование сложного, транзитивного характера связей между пользовательскими (внешними) требованиями и техническими (внутренними) характеристиками объекта.
Центральной частью рассматриваемого ниже подхода сравнительного анализа вариантов реализации объекта по совокупности признаков, характеризующих как его потребительские свойства, так и технические характеристики [73], является расчет меры, характеризующей отклонение свойств и характеристик объекта от аналогичных свойств виртуального «эталонного» объекта. Данный подход можно ассоциировать с методом «идеальной точки», описанным в литературе [58], [69], [119].
Лингвистические переменные, поставленные в соответствие компонентам матрицы центральной части модели «Дом качества» отражают степень взаимовлияния требований заказчика и характеристик программного средства. Элементы матрицы также имеют знак, отражающий характер влияния (положительное и отрицательное). Сила и характер влияния отображаются в матрице взаимосвязи характеристик программного средства («крыша» модели «Дом качества») и в матрице взаимосвязи требований к потребительским свойствам («крыльцо» модели «Дом качества»). «Крыше» и «крыльцу» соответствуют следующие лингвистические переменные: сильно положительная связь, положительная связь, отрицательная связь, сильно отрицательная связь. Согласно материалам, представленным в [64], «Дом качества» можно представить в виде знаково-ориентированного графа.
Матрица взаимосвязи потребительских свойств и характеристик программного средства, матрица взаимосвязи характеристик программного средства, матрица взаимосвязи требований к потребительским свойствам подразумевают, что направление влияния может быть, как в ту, так и иную сторону (рисунок 3.2 а), и каждая вершина знаково-ориентированного графа будет иметь одинаковое количество входов и выходов (рисунок 3.2 в).
На практике могут возникнуть случаи, когда влияние распространяется только в одну сторону (например, функция-родитель оказывает влияние на функцию-потомка при построении модели «Дом качества» «технические характеристики - функции программного обеспечения»). Для учета таких случаев предлагается модифицировать модель «Дом качества», разделив ячейку матрицы на две (рисунок 3.2 б) [60]. Такая модель, в отличие от известной, позволит однозначно указывать направление влияния (рисунок 3.2 г), а также учесть разную степень связи, соответствующей разным ребрам графа.
Алгоритм, позволяющий выполнить пошаговый анализ влияния изменений, вносимых в отдельные требования, отображающие общие свойства объекта [61], на комплексный показатель качества объекта и позволяющего количественно охарактеризовать отклонение свойств объекта от аналогичных свойств «эталонного» объекта с учетом связей как между, так и внутри различных компонент модели «Дом качества».
Шагі: Пусть эт - целевое значение реализации -го требования пользователя ( = 1; ), соответствующее реализации -го требования «эталонного» объекта, чему соответствует наибольшее значение балльной оценки.
эт - целевое значение -ой технической характеристики ( = 1; ), соответствующей -ой характеристике «эталонного» объекта, чему соответствует наибольшее значение балльной оценки.
факт - оценка реализации -го требования, соответствующая создаваемому объекту и задаваемая в балльной шкале.
факт – оценка -й характеристики создаваемого объекта и задаваемая в балльной шкале.
- метрическая характеристика различия реализованных пользовательских требований, обусловленных требованиями разрабатываемого и «эталонного» объекта и рассчитываемая посредством выбранной метрики (функции расстояния) [70], в качестве которой могут выступать, например, Евклидова метрика, метрика доминирования и др. Выбор метрики является отдельной задачей, которая здесь не рассматривается. В данной работе будет применяться Евклидова метрика
Ограничениями предлагаемого метода являются:
1. Область применимости метода (ограничения на масштаб исследуемого объекта) ограничивается возможностью описания объекта моделью «Дом качества».
2. Одномоментно изменение вносится только в одно функциональное или нефункциональное требование. Одновременное внесение изменений в несколько требований не допускается.
3. Необходимость установления соответствия лингвистических характеристик силы связи и значений балльной шкалы. Например, такие соответствия могут быть приняты следующим образом:
a. «сильно» означает, что изменение исходного требования на 0,5 балла приводит к изменению заявленного на 0,5 балла;
b. «средне» означает, что изменение исходного требования на полбалла приводит к изменению заявленного на 0,25 балла;
c. «слабо» означает, что изменение исходного требования на полбалла приводит к изменению заявленного на 0,1 балла.
4. Если в пути, связывающем требования и технические характеристики, присутствует различие по степени силы связи, то пути в целом ставится в соответствие наименьшая сила связи [30] (2.3).
5. Если между требованиями имеется несколько путей, причем разным путям ставится в соответствие разная сила связи, то берется максимальная по величине сила связи [30] (2.4).
Пример количественной оценки качества объекта в части модифицируемости требований
Проиллюстрируем описанный алгоритм анализа на примере изделия, которому соответствует «Дом качества» представленный на рисунке 3.4.
Исследование модифицируемости требований к программной компоненте медиашлюза TDMoP
Согласно инженерной методике и методу, разработанному в разделе 3.2, рассчитаем комплексную оценку различия свойств исследуемого и «эталонного» объектов. Для этого рассчитаем метрическую характеристику различия технических требований АЕ и метрическую характеристику различия реализованных функциональных возможностей AD при помощи Евклидовой метрики.
АЕ = V(5- 4)2 + (5 -2)2 + (5-4)2 = 3,316;
AD = V(5-4)2 + (5-4)2 = 1,414. Комплексная оценка различия свойств исследуемого и «эталонного» объектов по совокупности оценки реализации технических требований и реализованных функций составит:
AQ = д/3,3162 + 1,4142 = 3)605. Примем шаг равный 0,5 баллам и, согласно алгоритму, описанному в разделе 3 и инженерной методике, проведем исследования возможности приблизить требования 1, 5 и 11 к наилучшему показателю в 5 баллов. Результаты пошагового изменения требований относительно «эталонного» объекта
Отобразим полученные результаты в пространстве оценок реализации «Технические требования» – «Функции» для каждого из модифицированных требований (рисунки 4.7 – 4.9). Отображение результатов в пространстве оценок реализации позволит наглядно увидеть и количественно измерить результат внесения модификаций в пользовательские (технические) требования к программному компоненту аппаратно-программного комплекса TDMoP.
Из рисунков 4.7 – 4.9 следует, что при внесении изменений в любое из требований, которые отстают от «реализации» в «эталонном» компоненте ПС, комплексная оценка различия свойств по совокупности оценки реализации технических требований и функций программного компонента исследуемого объекта приближается к показателям комплексной оценки «эталонного» объекта. Полученные данные могут быть применены при обсуждении возможности внесения изменений в указанные требования. Внесение изменений в требования обсуждается заинтересованными лицами. Решение о внесении изменений в требования принимается на основе данных о доступных ресурсах, времени, бюджете для реализации проекта по разработке программного средства. Для анализируемого объекта было принято решение не изменять требования.
Проведение анализа модифицируемости требований к программному компоненту TDMoP на основе алгебраических критериев устойчивости и знаково-ориентированных графов
На основе графа, изображенного на рисунке 4.5, сформируем полную матрицу взаимных влияний технических требований и функций программного компонента TDMoP (рисунок 4.10).
Согласно разработанной инженерной методики, рассчитываются собственные числа матрицы. Для этого используется инструмент Matlab. Для того, чтобы система была устойчивой по возмущению, собственные числа матрицы не должны быть по модулю больше 1.
Расчеты собственных чисел полной матрицы взаимных влияний (А) показали, что система является неустойчивой. Таким образом, в нее можно вносить изменения, изменяя требования, с целью улучшения характеристик исследуемой программного компонента для повышения конкурентоспособности, или с целью упрощения характеристик для удешевления процесса разработки или изготовления, например, уменьшить точность проведения расчетов за счет применения более простых алгоритмов при кодировании. Такая возможность удешевления обусловлена тем, что при разработке учитываются затраты (в зависимости от компетенции специалиста) как на разработку кода программного средства, так и на разработку тестов и их проведение. При составлении план-графика работ проводится предварительная оценка времени, затрачиваемого на каждую функцию разрабатываемого программного средства, и бюджета (например, требуемые человеко-дни или умноженные на заработную плату в день специалиста).
Согласно «Дому качества», изображенному на рисунке 4.4, требование «Сигнализация работы и аварийной ситуации» нуждается в улучшении, с целью доведения оценки реализации до уровня реализации конкурентов. Вектор состояния для модифицированного технического требования 5 будет иметь вид:
Результаты умножения вектора состояния на полную матрицу взаимных влияний приведены в таблице 4.8. Итерация закончилась на шаге 4 в связи с тем, что новый вектор состояния идентичен старому вектору состояния, т.е. достигнуто устойчивое состояние системы требований и характеристик.
Согласно разработанной инженерной методики, те значения полученного вектора состояния, которые являются положительными, приводятся к значению «1»; те значения полученного вектора состояния, которые являются отрицательными, приводятся к значению «-1»; те значения, которые равны «0» не изменяются (в таблице такие вектора обозначены «Пр.»).
Анализ показал, что внесение изменений с целью улучшения в требование «Сигнализация работы и аварийной ситуации» положительно повлияет на остальные требования и технические характеристики (функции). Отсутствие отрицательных связей в модели «Дом качества» и обилие внутренних связей между требованиями и функциями дают строго положительный эффект при воздействии на любое из требований, с целью улучшения по отношению к объектам аналогичного назначения.
Если изменить требование 1 «Скорость передачи данных по каналу Ethernet», то вектор состояния будет иметь вид:
Результаты умножения вектора состояния на полную матрицу взаимных влияний () приведены в таблице 4.9. Итерация закончилась на шаге 5 в связи с тем, что новый вектор состояния идентичен старому вектору состояния, т.е. достигнуто устойчивое состояние системы требований и характеристик.
Проверим реакцию системы на модификацию требования с целью упрощения реализации одной из функций программного компонента медиашлюза. Такое внесение изменения негативно скажется на всех связанных требованиях и характеристиках и ухудшит общие свойства объекта по отношению к объектам аналогичного назначения. Попробуем внести изменения в реализацию требования «Точность восстановления частоты синхронизации» с целью удешевить медиашлюз. Тогда вектор будет иметь вид:
Результаты внесения изменения в требование номер 7 представлены в таблице 4.10. Итерация закончилась на шаге 5 в связи с тем, что новый вектор состояния идентичен старому вектору состояния, т.е. достигнуто устойчивое состояние системы требований и характеристик.
Внесение изменений с целью улучшения общих свойств, предъявляемых к конвертеру интерфейсов, целесообразно, так как общие свойства объекта улучшатся.