Перевести страницу на:  
Please select your language to translate the article


You can just close the window to don't translate
Библиотека
ваш профиль

Вернуться к содержанию

Программные системы и вычислительные методы
Правильная ссылка на статью:

Система количественных характеристик оценки качества программных продуктов

Михеев Иван Васильевич

старший преподаватель, кафедра информатика и управление в технических системах, Балаковский инженерно-технологический институт

413853, Россия, Саратовская область, г. Балаково, ул. Чапаева, 140, оф. 317

Mikheev Ivan Vasil'evich

Senior Lecturer, Department of Informatics and Management in Technical Systems, Balakovo Engineering and Technology Institute

413853, Russia, Saratovskaya oblast', g. Balakovo, ul. Chapaeva, 140, of. 317

mikheyev@aspectbal.ru
Виштак Ольга Васильевна

доктор педагогических наук, кандидат технических наук

процессор, кафедра информатика и управление в технических системах, Балаковский инженерно-технологический институт

413840, Россия, г. Балаково, ул. Чапаева, 140, каб. 317

Vishtak Ol'ga Vasil'evna

Professor, Department of Informatics and Management in Technical Systems, Balakovo Engineering and Technology Institute

413840, Russia, g. Balakovo, ul. Chapaeva, 140, kab. 317

OVVishtak@mephi.ru
Кондратов Дмитрий Вячеславович

доктор физико-математических наук

доцент, кафедра прикладной информатики и информационных технологий в управлении, Поволжский институт управления имени П.А. Столыпина – филиал федерального государственного бюджетного образовательного учреждения высшего образования

410012, Россия, г. Саратов, ул. Московская, 164

Kondratov Dmitrii Vyacheslavovich

Doctor of Physics and Mathematics

Associate Professor, Department of Applied Informatics and Information Technologies in Management, Stolypin Volga Region Institute of Management

410012, Russia, g. Saratov, ul. Moskovskaya, 164

kafprinform@piuis.ru

DOI:

10.7256/2454-0714.2018.2.25981

Дата направления статьи в редакцию:

09-04-2018


Дата публикации:

13-06-2018


Аннотация: Предметом исследования является процесс обучения программированию. Информационные технологии находятся в тесной интеграции с различными сферами деятельности человека. К особенностям можно отнести стремительные темпы развития технологий в данной области и необходимостью модернизации уже функционирующих информационно-технических средств. Существующие на данный момент стандарты и другие нормативные документы могут быть применены лишь для реальных разработок, к которым нельзя отнести программы разрабатываемые студентами в процессе обучения, соответственно в полной мере такие документы и нормативы не могут быть использованы для оценки уровня знаний студентов, так как перед их применением необходимо выполнить анализ наиболее значимых и выполнить адаптацию под особенности процесса обучения. В процессе исследования были выделены именно те количественные характеристики – метрики, которые позволяют выявить реальный уровень владения технологиями студента. Используя полученные количественные характеристики в качестве целостной системы, у преподавателей появляется возможность получить объективную оценку разработанной студентом программе, причём такая оценка будет в полной мере соответствовать требованиям балльно-рейтинговой оценки успеваемости студентов. В результате анализа данной области исследования были выделены и описаны метрики из группы «Метрики характеристики»: код завершения программы, общее время выполнения программы, максимальный объём используемой физической памяти, максимальное количество использованных страниц памяти, максимальное количество использованной виртуальной памяти, использование процессорного времени, использование общего процессорного времени, которые могут быть использованы как основа для построения программного продукта, выполняющего тестирование и оценку студенческих программ на основе динамического подхода.


Ключевые слова:

педагогический инструмент, метрики программы, тестирующая система, динамическое тестирование программ, автоматизация проверки знаний, оценка программы, качество программы, критериально-оценочная система, студенческие программы, система метрик программы

Abstract: The subject of the study is the process of teaching programming. Information technologies are in close integration with various spheres of human activity. The peculiarities of information technologies include rapid rates of development of technologies in this field and the need to modernize already functioning information and technical means. Existing standards and other normative documents can be applied only for real developments, which can not be attributed to the programs developed by students in the learning process, so such documents and standards can not be fully used to assess the level of knowledge of students, because before their application it is necessary to carry out the analysis of the most significant ones and to adapt to the specifics of the learning process. In the process of research, those quantitative characteristics were singled out - metrics that allow to reveal the real level of possession of the student's technologies. Using the obtained quantitative characteristics as an integral system, the teachers have an opportunity to get an objective assessment of the program developed by the student, and such an assessment will fully meet the requirements of a graded rating of students' performance. As a result of the analysis of this area of research, the metrics from the group "Metric characteristics" were singled out and described: the program completion code, the total program execution time, the maximum amount of physical memory used, the maximum number of used memory pages, the maximum amount of virtual memory used, the use of processor time, total processor time, which can be used as a basis for building a software product that performs testing and student programs based on a dynamic approach.


Keywords:

pedagogical tool, program metrics, testing system, dynamic testing of programs, automation of knowledge testing, program evaluation, quality of the program, benchmarking system, student programs, system of program metrics

Введение

В настоящее время в сфере высшего образования высокую значимость имеет реализации ФГОС нового поколения по программам подготовки специалистов IT-сферы. Одной из основополагающих функций ФГОС нового поколения является критериально-оценочная функция, которая крайне сложна в реализации с точки зрения обучения студентов IT-специальностей [1 и др.].

В условиях современного общества, необходимо соответствовать тенденциям развития, в том числе и в процессе образования обучающихся по программам подготовки бакалавров в высших учебных заведениях[2, 3, 4, 9, 10].

Состояние проблемы

Особое внимание следует обратить на процесс образования студентов, обучающихся на направлениях тесно связанных с информационными системами и технологиями. Во-первых, модернизация и развития большинства сфер деятельности, стало возможным за счёт внедрения и доступности использования вычислительной техники и информационных технологий. Во-вторых, развитие информационных технологий и вычислительной техники происходит динамично, поэтому существует необходимость удовлетворения растущих информационных потребностей, поэтому основной целью развития информационных технологий становится удовлетворение персональных информационных потребностей человека, как для профессиональной сферы, так и для бытовой (личной) [1, 5, 6]. В-третьих, при информатизации общества основное внимание уделяется модернизации уже внедрённой технической базы вычислительных средств, что в последствии позволяет обеспечивать оперативное получение результатов обработки информации, это безусловно является неотъемлемым условием обеспечения необходимого плацдарма при реализации процесса научно-технического прогресса [7, 8].

Во внимание также стоит взять тот факт, что на данный момент, одним из приоритетных направлений развития является сфера информационных технологий, в том числе применительно к промышленности, которая в силу своей специфики использует исключительно передовые технологии, к которым и относятся информационные технологии. Подготовка IT-специалистов для современных промышленных предприятий является ключевым звеном в формировании перспективного будущего в развитии производственных отраслей.

Постановка задачи

Таким образом, на текущем этапе в обучении по направлениям связанным с подготовкой IT-специалистов, следует учесть очень важную особенность при подходе к формированию процесса обучения: проведение дифференцированной оценки знаний студентов на примере реализации практических заданий, отражающих развитие и модернизацию подходов к решению различного рода задач в области программирования.

Соответственно, требуется построение и внедрение инструмента преподавателя, который позволит автоматизировать оценивание знаний студентов, опираясь на специфику разработки программных продуктов с учётом использования студентами современных подходов[9, 10].

В связи с этим, выполняется разработка программного комплекса, реализация которого производится на основе подходов к проверке корректности выполнения программных продуктов, с учётом специфики процесса обучения [2]. Один из методов реализуется средствами динамического подхода, предусматривающими выполнение разработанных студентами программ с использованием технологии автоматизированного ввода/вывода. Таким образом, в результате такого подхода имеется возможность получить не только итоговое значение, но и измерить некоторые численные показатели в процессе работы студенческой программы. Соответственно, что бы построить систему, позволяющую получить дифференцированную оценку тестируемой программы, необходимо определить фиксированный набор численных характеристик – метрик.

Необходимость применения системы метрик

Термин «метрика» используется достаточно широко во многих сферах деятельности: в математике, в информационных технологиях, в области компьютерных сетей, в программировании и в других. В каждой из этих областей применения данный термин используется для количественного или численного измерения некоторого свойства или как следствие - системы свойств. На практике, когда формально оценить характеристики и свойства такого объекта невозможно или крайне проблематично, применяют систему метрик для определения качества рассматриваемого объекта в случаях. Причем, по отношению к каждой предметной области требуется разработка уникальной системы метрик, которая будет учитывать особенности функционирования объекта исследования в силу детерминированности протекающих процессов.

Непосредственная разработка системы метрик применительно к программированию обусловлена тем, что в настоящее время для рассматриваемой нами предметной области окончательно не сформирована система метрик [3, 5 и др.]. Это связано в первую очередь с тем, что при определении системы метрик учитываются стохастические характеристики среды выполнения разработанных программ, которые определяются индивидуально для каждого решаемого класса задач. В программировании метрики, как правило, используются для определения качества конечного продукта и соответствие его поставленным задачам. Под характеристикой качества программы понимаем измеряемую единицу, описывающую факторы влияющие на качество разрабатываемой программы, а под критерием качества понимаем измеряемую единицу, используемую для установления степени соответствия критерия оцениваемого свойства [4].

Анализ действующих стандартов и нормативных документов

Согласно действующему международному стандарту ISO/IEC 9126 [2] метрики определяются в соответствии с применяемой моделью измерения атрибутов программного обеспечения на всех этапах его жизненного цикла, в том числе тестирования. Проецируя используемый в программирования подход определения характеристик для построения системы метрик на процесс обучения программированию, возникает задача разработки собственной системы метрик, которая позволит определить степень корректности выполнения поставленной задачи студентом с точки зрения реализуемого алгоритма. Таким образом, у преподавателей ВУЗов появится возможность оценки выполнения поставленной задачи с использованием дифференцированной оценки и учётом результирующего коэффициента, причём такая оценка чрезвычайно важна и крайне актуальна в связи с введением балльно-рейтинговой оценки успеваемости студентов при выполнении индивидуальных заданий.

Перед тем, как определить метрики для программ, разработанных студентами, и затем сформировать систему метрик, необходимо систематизировать перечень заданного множества метрик на подмножества, реализуя, таким образом, классификационные группировки, строящиеся в соответствии с установленными признаками.

Опираясь на существующий стандарт ГОСТ Р ИСО/МЭК 9126-93 - «Оценка программной продукции. Характеристики качества и руководства по их применению.»[7, 8], в котором описаны характеристики качества программных продуктов, выделим основные характеристики, в соответствии с которыми можно получить количественные оценки качества программных продуктов. К таким характеристикам можно отнести:

- функциональные возможности (скорость выполнения, завершённость),

- надёжность (надёжность функционирования, точность, число ошибок, точность и полнота реализации, доступность),

- практичность (стоимость разработки, время разработки, стоимость проверки качества, трудозатраты),

- эффективность (объём физической памяти, объём виртуальной памяти, процессорное время, производительность, время модификации моделей разработки),

- сопровождаемость (расширяемость, структурированность, рациональность),

- мобильность (адаптируемость, кроссплатформенность, среда исполнения).

Для того, что бы из множества характеристик выбрать необходимые для построения системы метрик выделим следующие группы:

- метрики характеристик позволяют измерить свойства программного обеспечения, к таким свойствам можно отнести надёжность, скорость, память, среда исполнения и прочие;

- метрики процесса используются при измерении свойства процесса жизненного цикла создания продукта. В данной группе метрик могут быть использованы такие показатели как: общее время и стоимость разработки, число ошибок в программе, время модификации моделей и другие[3,5];

- метрики использования позволяют измерить степень удовлетворения потребностей пользователя. По сути, данный класс метрик позволяет оценивать эксплуатационно качество программы. Здесь могут быть использованы такие показатели как: точность, полнота, трудозатраты и другие[1].

Таким образом, метрики программного обеспечения можно обобщённо систематизировать по признакам, указанным на рисунке 1 [3, 5].

Рис. 1. Обобщённая классификация метрик программного обеспечения

Соответственно, из рассмотренных метрик программного обеспечения произведём выбор для рассматриваемой предметной области.

Определение системы метрик и особенности их применения для программ написанных студентами

В данной статье рассматриваются метрики для оценки программных продуктов разработанных студентами, поэтому учитываем следующие особенности: предлагаемые для реализации студентам задачи носят исключительно учебный характер, направленные на развитие мышления и логики, соответственно, большинство этапов жизненного цикла по ИСО/МЭК 12207 следует исключить. По той же причине, большинство этапов жизненного цикла, в том числе и процесс эксплуатации программ, требуется косвенно исключить из ключевых этапов и цели функционирования разработанных студентами программ. Таким образом, метрики из групп процесса и использования могут быть исключены как основополагающие характеристики необходимые для получения численной оценки качества разработанных учебных программ.

Исходя из вышеизложенного, следует вывод о необходимости более подробно рассмотреть показатели из группы «метрики характеристики» в качестве основных численных величин используемых для реализации дополнительного функционала метода динамического тестирования учебных программ [3].

Так как определяемые характеристики планируется использоваться для расширения функциональных возможностей модуля динамического тестирования [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. – № 3–4. – С. 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. Виштак О.В. Межпредметная интеграция при изучении специальных дисциплин подготовки бакалавров в области it-технологий / О.В. Виштак, А.Н. Токарев // Научно-методический электронный журнал Концепт. 2014. Т. 20. С. 4836-4840.
15. Жирнов В.И. Использование статического метода анализа для оценки качества программных продуктов / В.И. Жирнов, И.В. Михеев, Д.В. Кондратов // Проблемы развития предприятий энергетической отрасли в условиях модернизации российской экономики и общества 2016. С. 78-81.
16. Михеев И.В. Анализ производительности объектно-ориентированных языков программирования / И.В. Михеев, А.П. Карпов // Проблемы развития предприятий энергетической отрасли в условиях модернизации российской экономики и общества 2016. С. 81-83.
17. Кондратов Д.В. Переход на свободное программное обеспечение как вариант развития информатизации регионов / Д.В. Кондратов, И.В. Плаксина // Управление стратегическим развитием территорий Сборник научных трудов. О.Н. Фомин (отв. редактор). 2016. С. 136-137.
18. Свидетельство о государственной регистрации программы для ЭВМ № 2017614061. «Тестирующая система. Модуль динамического тестирования учебных программ». / Михеев И.В., Кондратов Д.В., Виштак О.В. заявл. 09.02.2017, опубл. 06.04.2017
References
1. Istoriya vozniknoveniya i razvitiya informatsionnykh tekhnologii // edu.dvgups.ru: Dal'nevostochnyi gosudarstvennyi universitet. URL: http://edu.dvgups.ru/METDOC/EKMEN/ETR/INF_SIS/LEK/LEK3.HTM (data obrashcheniya: 09.04.2016).
2. Mikheev I.V. Programmnaya realizatsiya modulya dinamicheskogo testirovaniya uchebnykh programm / I.V. Mikheev, D.V. Kondratov, O.V. Vishtak // Vestnik Saratovskogo gosudarstvennogo tekhnicheskogo universiteta. 2015. T. 2. № 1 (79). S. 113-117.
3. Modeli kachestva i nadezhnosti v programmnoi inzhenerii // intuit.ru: INTUIT-Natsional'nyi otkrytyi universitet. URL: http://www.intuit.ru/studies/courses/2190/237/lecture/6136?page=3 (data obrashcheniya: 09.04.2016).
4. GOST R ISO/MEK 9126-93 Informatsionnaya tekhnologiya. Otsenka programmnoi produktsii. Kharakteristiki kachestva i rukovodstva po ikh primeneniyu.
5. Obshchie svedeniya o programmnom obespechenii // intuit.ru: INTUIT-Natsional'nyi otkrytyi universitet. URL: http://www.intuit.ru/studies/courses/3632/874/lecture/14289?page=2 (data obrashcheniya: 09.04.2016).
6. Lavrishcheva E.M. Osnovnye napravleniya issledovanii v programmnoi inzhenerii i puti ikh razvitiya / E.M. Lavrishcheva // Problemy programmirovaniya. – 2003. – № 3–4. – S. 44–58
7. Andon F.I. Osnovy inzhenerii kachestva programmnykh sistem / F.I. Andon, G.I. Koval', T.M. Korotun, E.M. Lavrishcheva, V.Yu. Suslov // Kiev: Akademperiodika.– Vtoroe izd., 2007. – 680 s.
8. Mikheev I.V. Kriterii otsenki kachestva komp'yuternykh obuchayushchikh sistem / I.V. Mikheev // Innovatsionnye informatsionnye tekhnologii 2014: sb. tr. III Mezhdunar. nauch.-prakt. konf. Praga: 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. Amirbekova R.Kh. Ispol'zovanie informatsionnykh tekhnologii v protsesse formirovaniya professional'nogo masterstva studentov / R.Kh. Amirbekova, N.P. Khodakova, N.M. Vishtak // Problemy razvitiya predpriyatii energeticheskoi otrasli v usloviyakh modernizatsii rossiiskoi ekonomiki i obshchestva 2016. S. 69-70.
12. Vishtak N.M. Funktsional'no-strukturnaya model' intellektual'noi obuchayushchei sistemy / N.M. Vishtak, D.A. Frolov, E.V. Vargina // Fundamental'nye issledovaniya. 2013. № 11-5. S. 871-874.
13. Mikheev I.V. Analiz funktsional'nykh vozmozhnostei testiruyushchego programmnogo kompleksa dlya obucheniya programmirovaniyu / I.V. Mikheev, D.V. Kondratov, O.V. Vishtak // Sovremennye naukoemkie tekhnologii. 2016. № 3-1. S. 65-69.
14. Vishtak O.V. Mezhpredmetnaya integratsiya pri izuchenii spetsial'nykh distsiplin podgotovki bakalavrov v oblasti it-tekhnologii / O.V. Vishtak, A.N. Tokarev // Nauchno-metodicheskii elektronnyi zhurnal Kontsept. 2014. T. 20. S. 4836-4840.
15. Zhirnov V.I. Ispol'zovanie staticheskogo metoda analiza dlya otsenki kachestva programmnykh produktov / V.I. Zhirnov, I.V. Mikheev, D.V. Kondratov // Problemy razvitiya predpriyatii energeticheskoi otrasli v usloviyakh modernizatsii rossiiskoi ekonomiki i obshchestva 2016. S. 78-81.
16. Mikheev I.V. Analiz proizvoditel'nosti ob''ektno-orientirovannykh yazykov programmirovaniya / I.V. Mikheev, A.P. Karpov // Problemy razvitiya predpriyatii energeticheskoi otrasli v usloviyakh modernizatsii rossiiskoi ekonomiki i obshchestva 2016. S. 81-83.
17. Kondratov D.V. Perekhod na svobodnoe programmnoe obespechenie kak variant razvitiya informatizatsii regionov / D.V. Kondratov, I.V. Plaksina // Upravlenie strategicheskim razvitiem territorii Sbornik nauchnykh trudov. O.N. Fomin (otv. redaktor). 2016. S. 136-137.
18. Svidetel'stvo o gosudarstvennoi registratsii programmy dlya EVM № 2017614061. «Testiruyushchaya sistema. Modul' dinamicheskogo testirovaniya uchebnykh programm». / Mikheev I.V., Kondratov D.V., Vishtak O.V. zayavl. 09.02.2017, opubl. 06.04.2017