Система количественных характеристик оценки качества программных продуктов
Михеев 1/Ъан Васильевич
старшей преподаватель, кафедра информатика и управление в технических системах, Балаковский
инженерно-технологический институт
413853, Россия, Саратовская область, г. Бапаково, ул. Чапаева, 140, оф. 317
Вишгак Ольга Васильевна
доктор педагогических наук, кандидат технических наук
процессор, кафедра информатика и управление в технических системах, Балаковский инженерно-
технологический институт
413840, Россия, г. Бапаково, ул. Чапаева, 140, каб. 317 И [email protected]
Кондратов Дл/мтрий Вячеславович
доктор физико-математических наук
доцент, кафедра прикладной информатики и информационных технологий в управлении, Поволжский институт управления имени ПА Столыпина - филиал федерального государственного бюджетного
образовательного учреждения высшего образования
410012, Россия, г. Саратов, уп. Мзсковская, 164 И [email protected]
Статья из рубрики "Показатели качества и повышение надежности программных систем"
Аннотация.
Предметом исследования является процесс обучения программированию. Информационные технологии находятся в тесной интеграции с различными сферами деятельности человека. К особенностям можно отнести стремительные темпы развития технологий в данной области и необходимостью модернизации уже функционирующих информационно-технических средств. Существующие на данный момент стандарты и другие нормативные документы могут быть применены лишь для реальных разработок, к которым нельзя отнести программы разрабатываемые студентами в процессе обучения, соответственно в полной мере такие документы и нормативы не могут быть использованы для оценки уровня знаний студентов, так как перед их применением необходимо выполнить анализ наиболее значимых и выполнить адаптацию под особенности процесса обучения. В процессе исследования были выделены именно те количественные характеристики - метрики, которые позволяют выявить реальный уровень владения технологиями студента. Используя полученные количественные характеристики в качестве целостной системы, у преподавателей появляется возможность получить объективную оценку разработанной студентом программе, причём такая оценка будет в полной мере соответствовать требованиям балльно-рейтинговой оценки успеваемости студентов. В результате анализа данной области исследования были выделены и описаны метрики из группы «Метрики характеристики»: код завершения программы, общее время выполнения программы, максимальный объём используемой физической памяти, максимальное количество использованных страниц памяти, максимальное
количество использованной виртуальной памяти, использование процессорного времени, использование общего процессорного времени, которые могут быть использованы как основа для построения программного продукта, выполняющего тестирование и оценку студенческих программ на основе динамического подхода.
Ключевые слова: педагогический инструмент, метрики программы, тестирующая система, динамическое тестирование программ, автоматизация проверки знаний, оценка программы, качество программы, критериально-оценочная система, студенческие программы, система метрик программы
DOI:
10.7256/2454-0714.2018.2.25981
Дата направления в редакцию:
02-05-2018
Дата рецензирования:
15-04-2018
Введение
В настоящее время в сфере высшего образования высокую значимость имеет реализации ФГОС нового поколения по программам подготовки специалистов 1Т-сферы. Одной из основополагающих функций ФГОС нового поколения является критериально-оценочная функция, которая крайне сложна в реализации с точки зрения обучения студентов 1Т-специальностей [1 и др.].
В условиях современного общества, необходимо соответствовать тенденциям развития, в том числе и в процессе образования обучающихся по программам подготовки
бакалавров в высших учебных заведениях[2, 3 4 9 10]. Состояние проблемы
Особое внимание следует обратить на процесс образования студентов, обучающихся на направлениях тесно связанных с информационными системами и технологиями. Во-первых, модернизация и развития большинства сфер деятельности, стало возможным за счёт внедрения и доступности использования вычислительной техники и информационных технологий. Во-вторых, развитие информационных технологий и вычислительной техники происходит динамично, поэтому существует необходимость удовлетворения растущих информационных потребностей, поэтому основной целью развития информационных технологий становится удовлетворение персональных информационных потребностей человека, как для профессиональной сферы, так и для
бытовой (личной) [1, 5' 6]. В-третьих, при информатизации общества основное внимание уделяется модернизации уже внедрённой технической базы вычислительных средств, что в последствии позволяет обеспечивать оперативное получение результатов обработки информации, это безусловно является неотъемлемым условием обеспечения
необходимого плацдарма при реализации процесса научно-технического прогресса [7, 8].
Во внимание также стоит взять тот факт, что на данный момент, одним из приоритетных направлений развития является сфера информационных технологий, в том числе применительно к промышленности, которая в силу своей специфики использует исключительно передовые технологии, к которым и относятся информационные технологии. Подготовка 1Т-специалистов для современных промышленных предприятий является ключевым звеном в формировании перспективного будущего в развитии производственных отраслей.
Постановка задачи
Таким образом, на текущем этапе в обучении по направлениям связанным с подготовкой 1Т-специалистов, следует учесть очень важную особенность при подходе к формированию процесса обучения: проведение дифференцированной оценки знаний студентов на примере реализации практических заданий, отражающих развитие и модернизацию подходов к решению различного рода задач в области программирования.
Соответственно, требуется построение и внедрение инструмента преподавателя, который позволит автоматизировать оценивание знаний студентов, опираясь на специфику разработки программных продуктов с учётом использования студентами современных подходов[9, 10].
В связи с этим, выполняется разработка программного комплекса, реализация которого производится на основе подходов к проверке корректности выполнения программных
продуктов, с учётом специфики процесса обучения Один из методов реализуется средствами динамического подхода, предусматривающими выполнение разработанных студентами программ с использованием технологии автоматизированного ввода/вывода. Таким образом, в результате такого подхода имеется возможность получить не только итоговое значение, но и измерить некоторые численные показатели в процессе работы студенческой программы. Соответственно, что бы построить систему, позволяющую получить дифференцированную оценку тестируемой программы, необходимо определить фиксированный набор численных характеристик - метрик.
Необходимость применения системы метрик
Термин «метрика» используется достаточно широко во многих сферах деятельности: в математике, в информационных технологиях, в области компьютерных сетей, в программировании и в других. В каждой из этих областей применения данный термин используется для количественного или численного измерения некоторого свойства или как следствие - системы свойств. На практике, когда формально оценить характеристики и свойства такого объекта невозможно или крайне проблематично, применяют систему метрик для определения качества рассматриваемого объекта в случаях. Причем, по отношению к каждой предметной области требуется разработка уникальной системы метрик, которая будет учитывать особенности функционирования объекта исследования в силу детерминированности протекающих процессов.
Непосредственная разработка системы метрик применительно к программированию обусловлена тем, что в настоящее время для рассматриваемой нами предметной области окончательно не сформирована система метрик [3, 5 и др,]. Это связано в первую очередь с тем, что при определении системы метрик учитываются стохастические характеристики
среды выполнения разработанных программ, которые определяются индивидуально для каждого решаемого класса задач. В программировании метрики, как правило, используются для определения качества конечного продукта и соответствие его поставленным задачам. Под характеристикой качества программы понимаем измеряемую единицу, описывающую факторы влияющие на качество разрабатываемой программы, а под критерием качества понимаем измеряемую единицу, используемую для установления
степени соответствия критерия оцениваемого свойства Анализ действующих стандартов и нормативных документов
Согласно действующему международному стандарту ^0/1ЕС 9126[2] метрики определяются в соответствии с применяемой моделью измерения атрибутов программного обеспечения на всех этапах его жизненного цикла, в том числе тестирования. Проецируя используемый в программирования подход определения характеристик для построения системы метрик на процесс обучения программированию, возникает задача разработки собственной системы метрик, которая позволит определить степень корректности выполнения поставленной задачи студентом с точки зрения реализуемого алгоритма. Таким образом, у преподавателей ВУЗов появится возможность оценки выполнения поставленной задачи с использованием дифференцированной оценки и учётом результирующего коэффициента, причём такая оценка чрезвычайно важна и крайне актуальна в связи с введением балльно-рейтинговой оценки успеваемости студентов при выполнении индивидуальных заданий.
Перед тем, как определить метрики для программ, разработанных студентами, и затем сформировать систему метрик, необходимо систематизировать перечень заданного множества метрик на подмножества, реализуя, таким образом, классификационные группировки, строящиеся в соответствии с установленными признаками.
Опираясь на существующий стандарт ГОСТ Р ИСО/МЭК 9126-93 - «Оценка программной
продукции. Характеристики качества и руководства по их применению.»^"7' 8], в котором описаны характеристики качества программных продуктов, выделим основные характеристики, в соответствии с которыми можно получить количественные оценки качества программных продуктов. К таким характеристикам можно отнести:
- функциональные возможности (скорость выполнения, завершённость),
- надёжность (надёжность функционирования, точность, число ошибок, точность и полнота реализации, доступность),
- практичность (стоимость разработки, время разработки, стоимость проверки качества, трудозатраты),
- эффективность (объём физической памяти, объём виртуальной памяти, процессорное время, производительность, время модификации моделей разработки),
- сопровождаемость (расширяемость, структурированность, рациональность),
- мобильность (адаптируемость, кроссплатформенность, среда исполнения).
Для того, что бы из множества характеристик выбрать необходимые для построения системы метрик выделим следующие группы:
- метрики характеристик позволяют измерить свойства программного обеспечения, к таким свойствам можно отнести надёжность, скорость, память, среда исполнения и
прочие;
- метрики процесса используются при измерении свойства процесса жизненного цикла создания продукта. В данной группе метрик могут быть использованы такие показатели как: общее время и стоимость разработки, число ошибок в программе, время
модификации моделей и другие-3,5!;
- метрики использования позволяют измерить степень удовлетворения потребностей пользователя. По сути, данный класс метрик позволяет оценивать эксплуатационно качество программы. Здесь могут быть использованы такие показатели как: точность, полнота, трудозатраты и другие-Ш.
Таким образом, метрики программного обеспечения можно обобщённо систематизировать по признакам, указанным на рисунке 1 [3, 5].
Рис. 1. Обобщённая классификация метрик программного обеспечения
Соответственно, из рассмотренных метрик программного обеспечения произведём выбор для рассматриваемой предметной области.
Определение системы метрик и особенности их применения для программ написанных студентами
В данной статье рассматриваются метрики для оценки программных продуктов разработанных студентами, поэтому учитываем следующие особенности: предлагаемые для реализации студентам задачи носят исключительно учебный характер, направленные на развитие мышления и логики, соответственно, большинство этапов жизненного цикла по ИСО/МЭК 12207 следует исключить. По той же причине, большинство этапов жизненного цикла, в том числе и процесс эксплуатации программ, требуется косвенно исключить из ключевых этапов и цели функционирования разработанных студентами программ. Таким образом, метрики из групп процесса и использования могут быть исключены как основополагающие характеристики необходимые для получения численной оценки качества разработанных учебных программ.
Исходя из вышеизложенного, следует вывод о необходимости более подробно рассмотреть показатели из группы «метрики характеристики» в качестве основных численных величин используемых для реализации дополнительного функционала метода динамического тестирования учебных программ
Так как определяемые характеристики планируется использоваться для расширения функциональных возможностей модуля динамического тестирования [2, 8] необходимо определить характеристики, измерение которых возможно в процессе непосредственного выполнения разработанных студентами учебных программ, либо характеристики, которые можно определить в результате выполнения таких программ.
Выделим следующие характеристики из группы «Метрики характеристик»:
- код завершения программы, характеристика, принимающая два значения, 0 - в случае успешного завершения программы, N - целое натуральное число в случае возникновения ошибки;
- общее время выполнения программы, характеристика, определяющее период времени от начала запуска до завершения программы;
- максимальный объём используемой физической памяти, характеристика описывающая количество используемой оперативной памяти для выполнения заданной программы;
- максимальное количество использованных страниц памяти, характеристика описывающая количество выделенных единиц виртуальных адресов на физические;
- максимальное количество использованной виртуальной памяти, характеристика описывающая количество используемой виртуальной памяти для выполнения заданной программы;
- использование процессорного времени, величина, описывающая пиковое использование вычислительной мощности процессора за заданную единицу времени;
- использование общего процессорного времени, величина характеризующая суммарное процессорное время, затраченное на выполнение программы.
Расширенная классификация метрик программного обеспечения представлена на рисунке 2.
Метрики ПО | - ,
Метрики характеристик
РЛаксимальное количество использованных страниц памяти
Рис. 2. Расширенная классификация метрик программного обеспечения Представленный рисунок отражает расширенную классификацию метрик программного
обеспечения, которая может быть использована для оценки качества программ разработанных студентами.
Выводы
Таким образом, основываясь на полученных в процессе анализа ключевых метриках студенческих программных продуктов можно описать целостную систему, которая может быть использована как основа для реализации автоматизированного алгоритма оценки качества такого вида программных продуктов. Причём, отличительной особенностью предлагаемого к реализации программного комплекса будет автоматизированный процесс определения метрик программного обеспечения для получения дифференцированной оценки выполненных студентами программ с учётом специфики процесса обучения будущих IT-специалистов. В процессе исследования были определены классификационные группировки заданного множества метрик, построенные в соответствии с установленными признаками, а так же определены характеристики
пригодные для использования в процессе оценки программ-^18-. Библиография
1. История возникновения и развития информационных технологий // edu.dvgups.ru: Дальневосточный государственный университет. URL:
http://edu.dvgups.ru/METDOC/EKMEN/ETR/INF_SIS/LEK/LEK3.HTM (дата обращения: 09.04.2016).
2. Михеев И.В. Программная реализация модуля динамического тестирования учебных программ / И.В. Михеев, Д.В. Кондратов, О.В. Виштак // Вестник Саратовского государственного технического университета. 2015. Т. 2. № 1 (79). С. 113-117.
3. Модели качества и надежности в программной инженерии // intuit.ru: ИНТУИТ-Национальный открытый университет. URL:
http://www.intuit.ru/studies/courses/2190/237/lecture/6136?page = 3 (дата обращения : 09.04.2016).
4. ГОСТ Р ИСО/МЭК 9126-93 Информационная технология. Оценка программной продукции. Характеристики качества и руководства по их применению.
5. Общие сведения о программном обеспечении // intuit.ru: ИНТУИТ-Национальный открытый университет. URL:
http://www.intuit.ru/studies/courses/3632/874/lecture/14289?page = 2 (дата обращения: 09.04.2016).
6. Лаврищева Е.М. Основные направления исследований в программной инженерии и пути их развития / Е.М. Лаврищева // Проблемы программирования. - 2003. - № 34. - С. 44-58
7. Андон Ф.И. Основы инженерии качества программных систем / Ф.И. Андон, Г.И. Коваль, Т.М. Коротун, Е.М. Лаврищева, В.Ю. Суслов // Киев: Академпериодика.-Второе изд., 2007. - 680 с.
8. Михеев И.В. Критерии оценки качества компьютерных обучающих систем / И.В. Михеев // Инновационные информационные технологии 2014: сб. тр. III Междунар. науч.-практ. конф. Прага: HSE, 2014. C. 373-376.
9. Vishtak O.V. The use of the computer training system as the factor of effective formation of information competence of future IT-specialists / O.V. Vishtak, I.V. Mikheyev, I.A. Shtyrova // American Institute of Physics Inc.
10. Vistak N.M. Methodical and technological aspects of creation computer learning system / N.M. Vistak, D.A. Frolov // American Institute of Physics Inc.
11 Амирбекова Р.Х. Использование информационных технологий в процессе
формирования профессионального мастерства студентов / Р.Х. Амирбекова, Н.П. Ходакова, Н.М. Виштак // Проблемы развития предприятий энергетической отрасли в условиях модернизации российской экономики и общества 2016. С. 69-70.
12. Виштак Н.М. Функционально-структурная модель интеллектуальной обучающей системы / Н.М. Виштак, Д.А. Фролов, Е.В. Варгина // Фундаментальные исследования. 2013. № 11-5. С. 871-874.
13. Михеев И.В. Анализ функциональных возможностей тестирующего программного комплекса для обучения программированию / И.В. Михеев, Д.В. Кондратов, О.В. Виштак // Современные наукоемкие технологии. 2016. № 3-1. С. 65-69.
14. Виштак О.В. Межпредметная интеграция при изучении специальных дисциплин подготовки бакалавров в области ^-технологий / О.В. Виштак, А.Н. Токарев // Научно-методический электронный журнал Концепт. 2014. Т. 20. С. 4836-4840.
15. Жирнов В.И. Использование статического метода анализа для оценки качества программных продуктов / В.И. Жирнов, И.В. Михеев, Д.В. Кондратов // Проблемы развития предприятий энергетической отрасли в условиях модернизации российской экономики и общества 2016. С. 78-81.
16. Михеев И.В. Анализ производительности объектно-ориентированных языков программирования / И.В. Михеев, А.П. Карпов // Проблемы развития предприятий энергетической отрасли в условиях модернизации российской экономики и общества 2016. С. 81-83.
17. Кондратов Д.В. Переход на свободное программное обеспечение как вариант развития информатизации регионов / Д.В. Кондратов, И.В. Плаксина // Управление стратегическим развитием территорий Сборник научных трудов. О.Н. Фомин (отв. редактор). 2016. С. 136-137.
18. Свидетельство о государственной регистрации программы для ЭВМ № 2017614061. «Тестирующая система. Модуль динамического тестирования учебных программ». / Михеев И.В., Кондратов Д.В., Виштак О.В. заявл. 09.02.2017, опубл. 06.04.2017