Первичный анализ рисков качества. Первичный анализ рисков качества
Скачать 29.4 Kb.
|
Лабораторная работа «Первичный анализ рисков качества» Цель: получить навыки использования инструментария анализа качества. Теоретические сведения: Изучите материал «Метрика Чепина», прикрепленный вместе с лабораторной. Задания: Задание № 1. Напишите программу согласно вашему варианту. Варианты: 1. Даны две точки А(х1,у1) и В(х2,у2). Составить программу, определяющую, которая из точек находится ближе к началу координат. 2. Даны действительные числа х и у, не равные друг другу. Меньшее из этих двух чисел заменить половиной их суммы, а большее - их удвоенным произведением. 3. Даны целые числа in, n. Если числа не равны, то заменить каждое из них тем же числом, равным большему из исходных, а если равны, го заменить числа нулями. 4. Определить, делителем каких чисел а, b. с является число k. 5. Услуги телефонной сети оплачиваются по следующему правилу: за разговоры до А минут в месяц - В рублей, а разговоры сверх установленной нормы оплачиваются из расчета С рублей за минуту. Написать программу, вычисляющую плату за пользование телефоном для введенного времени разговоров за месяц. 6. Грузовой автомобиль выехал из одного города в другой со скоростью V1 км/ч. Через t ч в этом же направлении выехал легковой автомобиль со скоростью V2 км/ч. Составить программу, определяющую догонит ли легковой автомобиль грузовой через t, ч после своего выезда. 7. Определить правильность даты, введенной с клавиатуры (.число - от 1 до 31, месяц - от 1 до 12). Если введены некорректные данные, то сообщить об этом. 8. Составить программу, определяющую результат гадания на ромашке - «любит - не любит», взяв за исходное данное количество лепестков n. 9. Рис расфасован в два пакета. Масса первого - m кг. второго - n кг. Составить программу. определяющую: a. какой пакет тяжелее - первый или второй; b. массу более тяжелого пакета. 10. Написать программу, которая анализирует данные о возрасте и относит человека к одной из четырех групп: дошкольник, ученик, работник, пенсионер. Возраст вводится с клавиатуры. 11. Написать программу нахождения суммы большего и меньшего из трех чисел. 12. На оси ОХ расположены три точки а, b, с. Определить, какая из точек b или с расположена ближе к точке а. 13. Написать программу решения уравнения ах3 + b х = 0 для произвольных а, b. 14. Заданы размеры А, В прямоугольного отверстия и размеры х, y,z кирпича. Определить, пройдет ли кирпич через отверстие. 15. Подсчитать количество отрицательных и положительных чисел среди чисел a, b, с. Задание №2. Оцените качество разработанной программы по методике Чепина. Задание № 3. Оптимизируйте программу. Задание № 4. Оцените качество оптимизированной программы программы по методике Чепина. Метрика Чепина 2.1. Теоретическое введение Мерой сложности понимания программ на основе входных и выходных данных является метрика Н. Чепина (Ned Chapin). Смысл метода, который предложил Чепин, состоит в оценке информационной прочности отдельно взятого программного модуля на основе результатов анализа характера использования переменных, входящих в состав списка ввода и вывода. Существует несколько модификаций метрики Чепина. Рассмотрим наиболее простой, но с точки зрения практического использования достаточно эффективный вариант этой метрики. Все множество переменных, составляющих список ввода-вывода, разбивается на четыре функциональные группы: Р - вводимые переменные для расчетов и для обеспечения вывода. Примером такой переменной может служить используемая в программах лексического анализатора переменная, содержащая строку исходного текста программы - в этом случае сама переменная не модифицируется, а применяется только как контейнер для исходной информации; М - модифицируемые, или создаваемые внутри программы, переменные. К таким переменным относится большинство традиционно применяемых переменных, декларируемых в программных модулях; С - переменные, участвующие в управлении работой программного модуля (управляющие переменные). Такие переменные предназначены для передачи управления, изменения логики вычислительных процессов и т. д.; T - не используемые в программе (так называемые паразитные) переменные. Такие переменные не принимают непосредственного участия в реализации процесса обработки информации, ради которого написана анализируемая программа, однако они заявлены в программном модуле. Такие переменные могут использоваться для выполнения промежуточных действий и не играют принципиальной роли в решении основной задачи. В качестве особенности применения данной метрики следует назвать необходимость учета каждой переменной в каждой функциональной группе, поскольку каждая переменная может выполнять одновременно несколько функций. Исходное выражение для определения метрики Чепина записывается в следующем виде: Q =a1*P+a2*M + a3*C + a4*T (3) где a1, a2, a3 и a4, - весовые коэффициенты. Весовые коэффициенты в расчетном выражении значения метрики применяются для отражения различного влияния на сложность программы каждой функциональной группы переменных. По мнению автора метрики наибольший вес, равный 3, должна иметь функциональная группа С, так как она непосредственно влияет на поток управления программы. Весовые коэффициенты остальных групп Чепин распределяет следующим образом: a1= 1; a2= 2; a4= 0,5; Примечательно, что весовой коэффициент группы Т не равен 0, несмотря на то, что часть используемых переменных может не применяться в программе. Это объясняется тем, что «паразитные» переменные сами по себе не увеличивают сложность потока данных программы, но очень часто затрудняют ее понимание. С учетом весовых коэффициентов расчетное выражение метрики Чепина приобретает следующий вид: Q = P+2*M + 3*C + 0,5*T. Следует отметить, что метрика сложности программы Чепина также основана на анализе исходных текстов программ, что обеспечивает единый подход к автоматизации их расчета и может быть рассчитана с использованием специально разработанного программного анализатора. 2.2. Пример: «Простые числа в матрице» Дана целочисленная матрица размером N*M. Вычислить и записать в одномерный массив количество простых чисел в каждом столбце матрицы. Размерность матрицы задается с клавиатуры, заполнение матрицы осуществляется посредством датчика случайных чисел. Разработать программу для решения задачи. На основе лексического анализа исходного текста программы определить значение метрики Чепина. 2.2.1 Реализация программы Текст программы для реализации возможного алгоритма решения поставленной задачи представлен в таблице 3. Таблица 3- Текст программы
2.2.2 Оценка характеристик программы Выполним оценку качества программы с помощью метрики Чепина, которая позволяет оценить меру трудности понимания программы на основе входных и выходных данных. Все множество переменных, составляющих список ввода-вывода, разбивается на четыре функциональные группы: Р - вводимые переменные для расчетов и для обеспечения вывода; М - модифицируемые, создаваемые внутри программы переменные; С - переменные, участвующие в управлении работой программного модуля (управляющие переменные); T- не используемые в программе переменные. В таблице 4 приведен анализ исходного текста программы Таблица 4 – Анализ исходного кода программы
Переменные т,п и а используются в качестве исходных данных. Переменные i, j, k, dи bв процессе выполнения программы создаются и модифицируются. Переменные g, р и клавиша используются для управления выполнением программы. Таким образом, исходя из результатов анализа исходного текста программы, получаем следующие значения характеристик: Р = 3 - количество переменных для расчетов; М = 5 - количество модифицируемых переменных; С = 3 - количество переменных, используемых в управлении программой; Т = 0 - количество неиспользуемых переменных (такие переменные в программе отсутствуют). Расчет метрики Чепина: Q = P + 2M + 3-C + 0,ST= 3 + 2-5 + 3-3 + 0,5-0 = 22. На основе полученных значений метрики Чепина уровень сложности данного решения можно считать сравнительно низким, как так в исходном тексте программы используется незначительное количество переменных, что не затрудняет понимание программы. |