Рус Eng Cn Translate this page:
Please select your language to translate the article


You can just close the window to don't translate
Library
Your profile

Back to contents

Software systems and computational methods
Reference:

System of quantitative characteristics of software quality assessment

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
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
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

Received:

09-04-2018


Published:

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

This article written in Russian. You can find original text of the article here .

Введение

В настоящее время в сфере высшего образования высокую значимость имеет реализации ФГОС нового поколения по программам подготовки специалистов 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].

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