Статья 'Система количественных характеристик оценки качества программных продуктов' - журнал 'Программные системы и вычислительные методы' - NotaBene.ru
по
Меню журнала
> Архив номеров > Рубрики > О журнале > Авторы > Требования к статьям > Политика издания > Редакция > Порядок рецензирования статей > Редакционный совет > Ретракция статей > Этические принципы > О журнале > Политика открытого доступа > Оплата за публикации в открытом доступе > Online First Pre-Publication > Политика авторских прав и лицензий > Политика цифрового хранения публикации > Политика идентификации статей > Политика проверки на плагиат
Журналы индексируются
Реквизиты журнала
ГЛАВНАЯ > Вернуться к содержанию
Программные системы и вычислительные методы
Правильная ссылка на статью:

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

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

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

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.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Ссылка на эту статью

Просто выделите и скопируйте ссылку на эту статью в буфер обмена. Вы можете также попробовать найти похожие статьи


Другие сайты издательства:
Официальный сайт издательства NotaBene / Aurora Group s.r.o.