Journal influence
Bookmark
Next issue
Halstead-technique based quality assessment framework for academic software products
Abstract:Academic software products (ASP) assessment has a major impact on the acquisition level of complex computer and information disciplines. However, programmetry literature does not make the difference between ASP and professional software products (PSP). ASP projects, alternatively to PSP, do not have immediate achievement-oriented feedback from the market environment. Taking into account the scope of documentation, ASP frontal assessment comes out to be a labor-intensive work without necessary effect, which is a quick or visible accruement in student competency on account of unavoidable instructor’s subjectivity stemming from reliance on their personal experience, knowledge and beliefs. According to the authors, a solution is the creation of taskoriented methods, which are different from the PSP assessment methods, and in the development of specific instructor’s tools for ASP assessment. Due to the created non-biased feedback, such tools can contribute to students’ behavior modification. This will take the form of increased not only ASP quality, but also the quality of the entire project-based education process. The paper presents the development results of such ASP assessment tool. Based on the Halstead technique, an algorithm to compute quantitative performance indices for the ASP created by students in C++ is set forth. The authors suggest an original computer program written in C# as a framework tool. The expected results are supported by the product beta testing and trial operation of the assessment framework.
Аннотация:Оценивание академических программных продуктов заметно сказывается на уровне усвоения сложных дисциплин информационных и вычислительных технологий. Однако в литературе по программометрии практически не делается различий между академическими и профессиональными программными продуктами. Проекты академических программных продуктов в отличие от профессиональных не имеют непосредственной обратной связи по качеству с конкурентной рыночной средой. Учитывая большой объем документации, фронтальное оценивание академических программных продуктов становится трудоемким делом, часто не дающим нужного эффекта – быстрого и/или заметного прироста компетенций студента ввиду неизбежной субъективности – опоры на личный опыт, знания и представления преподавателя. Решение видится в создании специальных методик, отличных от методик оценивания профессиональных программных продуктов, и в разработке инструментария преподавателя – специализированных программ оценивания академических программных продуктов. Ожидается, что эти инструменты, благодаря создаваемой ими объективной обратной связи, будут содействовать модификации поведения студентов, что выразится в повышении качества не только самих академических программных продуктов, но и всего проектно-ориентированного образовательного процесса. В статье представлены результаты разработки необходимого инструмента оценивания академических программных продуктов. С использованием методики Холстеда построен вычислительный алгоритм формирования количественных показателей качества таких продуктов, создаваемых студентами на языке программирования C++. На языке С# разработана оригинальная программа оценки качества академических программных продуктов на основе методики Холстеда. Опытной эксплуатацией разработанной программы подтверждены ожидаемые результаты.
Authors: Afanasova A.I. (nastyaafanasova@yandex.ru) - Ulyanovsk State University (unior Researcher), Ulyanovsk, Russia, | |
Keywords: с++, projectbased learning, halstead metrics, programmetry, student developed software, software quality assessment |
|
Page views: 7218 |
Print version Full issue in PDF (9.58Mb) Download the cover in PDF (1.29Мб) |
В современном мире оценивание качества ПО считается одной из важнейших задач как в софтверных компаниях, так и в высших учебных заведениях с компьютерно-ориентированным уклоном подготовки. В таких вузах вопрос о том, как оце- нивать качество создаваемых студентами программ – так называемых академических програм- мных продуктов (АПП), остается открытым, хотя его решение опосредованно затрагивает интересы и софтверных компаний, куда придут работать выпускники. Ввиду наличия ряда отличительных особенностей АПП от профессиональных програм- мных продуктов (ППП) оценивание их качества требует специального подхода и особой вычислительной методики. Оцениванию качества программных продуктов посвящено множество исследований [1–5], однако их объектом, как правило, являются ППП. Оцениванию качества АПП уделяется заметно меньшее внимание, хотя эта задача неизбежно возникает на технических специальностях, где студенты в ходе учебного процесса создают большое число программ [5–8]. В силу особенностей АПП для обработки таких больших массивов проектной документации требуются специальные средства. Отличительной особенностью АПП от ППП является отсутствие обратной связи по их качеству, поскольку АПП в большинстве случаев не имеют непосредственного контакта с конкурентной рыночной средой. Оценивание качества студенческих программ обычно выполняется экспертами – пре- подавателями, которые опираются на свой личный опыт, знания и представления. Однако даже при условии высокой квалификации преподавателей их требования индивидуальны и субъективны. Учитывая то, что во время обучения создается большое количество АПП, их оценивание – процесс достаточно сложный и трудоемкий. В литературе наблюдается явный недостаток сведений о средствах автоматизации этого процесса. Данная работа предпринята с целью восполнения отмеченного недостатка. В Ульяновском государственном университете при чтении дисциплин, связанных с вычислительной математикой и программированием, с 1989 года применяется проектно-ориентированное обучение [8, 9], которое предусматривает разработку студентами целостных, нетривиальных программных продуктов. Оценив уровень качества по множеству АПП, преподаватель и кафедра получают необходимую обратную связь и, следовательно, возможность сформировать оценку качества всего образовательного процесса [10]. Методика оценивания качества АПП В основу предлагаемой методики положена работа М. Холстеда [11], применение которой для оценивания качества АПП впервые предложено в работе [10]. В соответствии с методикой Холстеда, оценку качества программного продукта формируют в результате определения специальных характеристик (таких как число операторов и операндов) исходного кода программы. При этом априори считают, что текст программы свободен от ошибок, связанных с языком программирования. Для АПП это справедливо, поскольку для оценивания отбираются тексты программ, успешно прошедшие компиляцию. Также считают, что текст АПП свободен от логических (алгоритмических) ошибок и отклонений от выданного задания, поскольку он уже прошел необходимую проверку у эксперта-преподавателя. Процесс получения качественных характеристик АПП. По методике Холстеда [11], принципиальным параметром качества АПП является критерий Hq совершенства логической структуры текста программного продукта. Критерий Hq вычисляют с использованием четырех характеристик длины программного текста: h1 число простых (или отдельных) операторов, появляющихся в данной реализации (словарь операторов); h2 – число простых (или отдельных) операндов, появляющихся в данной реализации (словарь операндов); N1 – общее число всех операторов, появляющихся в данной реализации; N2 – общее число всех операндов, появляющихся в данной реализации. На основе этих параметров для каждого текста АПП вычисляют две характеристики длины: экспериментально определенную длину N=N1+N2 (1) и теоретическую длину . (2) Обоснование корректности формулы вычисления теоретической длины. По данным работы [10], формула (2) имеет строгое математическое доказательство в [12]. Она выражает теоретическую длину программы через число входящих в ее код простых операторов h1 и число простых операндов h2, исходя из минимаксного для данного типа программ так называемого стоимостного критерия. Это доказательство основано на предположении, что при создании программы реализуется функциональная задача в максимально экономной и рациональной форме. В [12] введено соотношение (3) где l – параметр, характеризующий степень приближения N к Там же выполнено экспериментальное обоснование, в ходе которого – после обработки десяти профессионально составленных программ на языках высокого уровня – получено значение λ = 0,934336314, достаточно близкое к 1. В литературе по методам программометрии используются и другие методы измерения характеристик программ. Тем не менее, программы, для ко- торых значение λ приближается к 1, общепринято классифицировать как близкие по качеству к профессиональным программам, что и обосновывает выбор метрики М. Холстеда в данной работе. Статистическая обработка программных текстов. После того, как все тексты АПП обработаны и для каждого из них уже вычислены соответствующие характеристики – экспериментальная и теоретическая длины, осуществляем обработку полученных параметров методами математической статистики. Для выборки теоретических значений длин программ и экспериментально вычисленных значений длин программ, где объем каждой выборки (количество обрабатываемых файлов) равен n, находим расчетные значения оценок статистических характеристик: – математическое ожидание (4) – дисперсия (5) – среднеквадратичное отклонение (6) Далее, когда оценка статистических характеристик выполнена, для теоретически полученной и экспериментально определенной длин АПП вычисляем коэффициент корреляции: . (7) Критерий совершенства Hq численно равен коэффициенту корреляции . Для совершенных программ параметр Hq близок к 1, для программ, имеющих тот или иной набор несовершенств, отличия теоретического и экспериментально определенного значений длины текста будут более значительны, поэтому в результате коэффициент корреляции уменьшится, то есть уменьшится параметр Hq. Поскольку на начальном этапе создания программ особое внимание уделяется правильному, оптимальному построению алгоритма и реализации его на языке программирования, параметр Hq является важным для оценки качества АПП. Программа оценки качественных характеристик АПП по методике Холстеда Разработанная программа [13] представляет собой специализированную программу для автоматического определения качественных характеристик академических программных продуктов на языке C++ на основе изложенной выше методики. Программа реализована в среде Visual Studio на языке программирования C# и состоит из основной функции, функции лексического анализатора Analyzer() и функции синтаксического анализатора Result(). Процесс обработки программного текста организован следующим образом. 1. Основная функция программы считывает посимвольно текст каждого АПП из указанного пользователем подкаталога и отправляет каждый символ в лексический анализатор. Блок-схема алгоритма работы основной функции программы приведена на рисунке 1. 2. Лексический анализатор на основе поступающих на вход символов последовательно формирует лексему. Сформированная лексема передается в синтаксический анализатор. 3. Синтаксический анализатор сопоставляет входную лексему с грамматикой языка, которая описана в программном коде в виде статических строковых массивов, и определяет ее тип. В функции учитывается возможность ситуации, когда две различные переменные, находящиеся в разных областях видимости – локальная и глобальная, имеют одинаковое имя. Такие переменные фиксируются анализатором как два разных операнда. После того как определено, к какому классу относится поступившая на вход лексема, изменяется общее количество операторов или операндов программы, а также при необходимости пополняются словари операторов и операндов программы. 4. После полной обработки текста программы в основной функции программы вычисляется его экспериментальная и теоретическая длина. После окончания обработки всех программных текстов АПП для всей группы текстов вычисляются оценки статистических характеристик (4)–(6). Далее на основе полученных в (7) данных вычисляется критерий совершенства . Результаты работы программы выводятся на экран. Опишем взаимодействие программы и пользователя. Для запуска процесса получения качественных характеристик пользователю необходимо выбрать подкаталог файлов – текстов АПП для их дальнейшей обработки. После того как пользователем указан необходимый подкаталог файлов, для каждого программного текста формируются и вычисляются следующие параметры качества: словарь операторов h1, словарь операндов h2, общее число всех операторов N1, общее число всех операндов N2, экспериментально полученная длина N и теоретическая вычисленная длина . Параметры выводятся на экран в виде таблицы. Под таблицей выводится вычисленное значение параметра совершенства для всей группы файлов. Наглядно это продемонстрировано на рисунке 2, где представлены результаты обработки АПП студентов специальности «Информационные системы» факультета математики и информационных технологий УлГУ, выполненных в 2013–2014 учебном году в рамках дисциплины «Технология программирования» по теме «Вычисления по формулам». В таблице представлены экспериментальные данные, полученные с помощью разработанной программы при оценивании лабораторных работ по дисциплине «Технология программирования» для студентов специальности «Информационные системы» факультета математики и информационных технологий УлГУ, выполненных также в 2013–2014 году. По количеству выполненных работ и параметру совершенства можно судить об уровне усвоения изученной темы. Например, в рамках тем 3–5 сдано мало работ, однако параметр качества для них высок. Из этого следует, что тему усвоило небольшое количество студентов, но, по-видимому, они отличники. Количество работ по теме 6 тоже невелико, а параметр совершенства значительно ниже, чем по всем предыдущим темам. Можно сделать вывод о сложности данной темы и необходимости усовершенствовать преподнесение материала в рамках семинарских занятий. Экспериментальные результаты определения параметра совершенства Experimental results of perfection parameter determination
В заключение можно сделать следующие выводы. Объективные и проверяемые индикаторы качества АПП являются мощным инструментом модификации поведения студентов и преподавателей. Реализованные в специальных программах тестирования, они обладают рядом достоинств по сравнению с традиционными практиками: исключают риск манипулирования, обеспечивают много- аспектное понимание результатов деятельности кафедры, отдельного преподавателя и группы (потока) студентов, изучающих дисциплину, допускают прямое сравнение различных методик препо- давания и являются публично доступными и легко интегрируемыми в учебный процесс. Применение таких индикаторов встречает положительные отзывы как со стороны преподавателей (снижает трудоемкость аттестации студентов, автоматизируя этот процесс), так и студентов (стимулирует стремление к достижению лучших показателей). Созданная программа оценки качественных характеристик АПП на основе методики Холстеда [13] прошла успешную опытную эксплуатацию на материале лабораторных проектов одной из дисциплин «Технология программирования», в рамках которой было обработано 86 АПП, созданных в 2013–2014 учебном году. Планируется продолжение опытной эксплуатации разработанной программы на расширенном наборе дисциплин, входящих в учебный процесс факультета математики и информационных технологий УлГУ, где учебным планом предусмотрены лабораторные работы в форме АПП. Для этого создается банк АПП. В настоящее время он содержит 151 запись. Литература 1. Interface.ru. Interface and software company. URL: http://www.interface.ru/home.asp?artId=3987 (дата обращения: 15.09.2015). 2. Антошина И.В., Домрачев В.Г., Ретинская И.В. Основные тенденции оценивания качества программных средств // Качество, инновации, образование. 2004. № 1. C. 70–75. 3. Калинина Л.Ю. Оценка качества программных продуктов // Качество, инновации, образование. 2006. № 4. C. 52–55. 4. Антошина И.В., Домрачев В.Г., Ретинская И.В. Методика составления системы характеристик качества для программных средств // Качество, инновации, образование. 2002. № 3. C. 57–60. 5. Липаев В.В. О проблемах оценивания качества программных средств // Качество, инновации, образование. 2002. № 1. C. 93–97. 6. Информационно-коммуникационные технологии в образовании. URL: http://www.ict.edu.ru/vconf/index.php?a=vconf &c=getForm&r=thesisDesc&d=light&id_sec=123&id_thesis=4643 (дата обращения: 15.09.2015). 7. Конгресс конференций «ИТО-2003». URL: http://ito. edu.ru/2003/VI/VI-0-1548.html (дата обращения: 15.09.2015). 8. Семушин И.В., Угаров В.В. Модификация поведения студента и преподавателя инженерных дисциплин // Московское научное обозрение. 2013. № 9 (37). C. 3–8. 9. Семушин И.В., Угаров В.В., Цыганова Ю.В., Афанасова А.И., Куличенко И.Н. Опыт проектно-ориентированного обучения в университетах Ульяновска // Перспективные информационные технологии (ПИТ 2014): тр. Междунар. науч.-технич. конф.; [под ред. С.А. Прохорова]. Самара: Изд-во Самар. науч. центра РАН, 2014. C. 436–438. 10. Угаров В.В. Компьютерные модели и программные комплексы в проектно-ориентированном обучении. Дисс. … канд. техн. наук. Ульяновск, 2005. 11. Холстед М.Х. Начала науки о программах; [пер. с англ. В.М. Юфы]. М.: Финансы и статистика, 1981. 128 с. 12. Апостолова Н.А., Гольдштейн Б.С., Зайдман Р.А. О программометрическом подходе к оценкам программного обеспечения // Программирование. 1995. № 4. С. 38–44. 13. Афанасова А.И. Программа оценки качественных характеристик академических программных продуктов на основе методики Холстеда: пат. 2015611297. Рос. Федерация, № 2014662403; заявл. 03.12.2014; зарег. 27.01.2015; опубл. 20.02.2015. |
Permanent link: http://swsys.ru/index.php?page=article&id=4098&lang=en |
Print version Full issue in PDF (9.58Mb) Download the cover in PDF (1.29Мб) |
The article was published in issue no. № 4, 2015 [ pp. 256-260 ] |
Back to the list of articles