визуализированы с помощью средств Salome [5], а результаты решения для каждого элемента сохраняются в файлах результатов.
В заключении нужно отметить, что свободное программное обеспечение позволяет решать не только инженерные, но и научно-исследовательские задачи в области теплообмена и гидрогазодинамики. При этом могут быть реализованы оригинальные модели турбулентности в задачах гидрогазодинамики и теплообмена.
СПИСОК ИСТОЧНИКОВ
1. Системы автоматизации инженерных расчётов. Электронный ресурс. http://www.cadfem-cis.ru/service/license/buy/
2. Электронный ресурс. http://flowvision.ru
3. Электронный ресурс. http://www.3ds.com/ products-services/ catia/
4. Электронный ресурс. http://www.caelinux. com/CMS/
5. Электронный ресурс. http://salome-platform. org/
6. Электронный ресурс. http://sourceforge.net/ projects/free-cad/
7. Электронный ресурс. http://www.geuz.org/ gmsh/
8. Электронный ресурс. http://www.hpfem. jku.at/netgen/
9. Электронный ресурс. http://www.laduga.ru/ salome/salome.shtml
10. Электронный ресурс.http://www.code-aster.org/V2/spip.php7rubrique2
11. Ковальногов, Н. Прикладная механика жидкости и газа / Н. Ковальногов. - Ульяновск : УлГТУ, 2010.
12. Исаченко, В. Теплопередача / В. Исаченко и др. - М : Энергия, 1975.
13. Электронный ресурс. http://code-saturne. org/cms/
14. Электронный ресурс. http: //www. openfoam.org
15. Лутц, М. Программирование на Python/ М. Лутц. - Т. I, II. - 4-е изд. - Санкт-Петербург : Символ-Плюс, 2011.
Цынаева Екатерина Александровна, кандидат технических наук,доцент кафедры «Теплоэнергетика» УлГТУ. Имеет статьи и разработки в области численного моделирования и теплоэнергетики.
Цынаева Анна Александровна, кандидат технических наук, доцент кафедры «Теплогазо-снабжение и вентиляция» Самарского государственного архитектурно-строительного университета, доцент кафедры «ТЭС» Самарского государственного технического университета. Имеет статьи и разработки в области численного моделирования, теплоэнергетики и теплотехники.
УДК 004.054
А. И. АФАНАСОВА
ОСОБЕННОСТИ ОЦЕНИВАНИЯ КАЧЕСТВА АКАДЕМИЧЕСКИХ ПРОГРАММНЫХ ПРОДУКТОВ
Рассматриваются особенности методики оценивания качества академических программных продуктов, приводится описание разработанной «Программы оценки качественных характеристик академических программных продуктов на основе методики Холстеда».
Ключевые слова: метрики Холстеда, оценивание качества академических программных продуктов.
Введение
Проектно-ориентированное обучение (ПОО) и преподавание возникло около ста лет назад (первые публикации относятся к 1918 году).
© Афанасова А. И., 2014
В Ульяновском государственном университете ПОО возникло в 1989 году на кафедре «Математическая кибернетика и информатика» (в настоящее время - кафедра «Информационные технологии») при чтении дисциплин, связанных с вычислительной математикой и программированием. В УлГТУ ПОО существует с 1995 года
на кафедре «Информационные системы». В ходе учебного процесса студентами этих кафедр создаётся большое количество академических программных продуктов (АПП).Оценив уровень качества АПП по выборке за определённое время, преподаватели этих дисциплин получают возможность сформировать оценку качества всего образовательного процесса и сориентировать усилия на его улучшение. Поэтому оценивание качества АПП является важной, практически оправданной задачей. Для её решения нужен надёжный, удобный и проверенный инструментарий.
Однако задачу разработки методов оценивания качества программных продуктов, специализированных для АПП, нельзя считать полностью решённой в настоящее время. Существует большое разнообразие методов оценивания качества профессиональных программных продуктов (ППП). Их можно найти, например, в [1], [2], [3] или [4]. Однако АПП существенно отличаются от ППП. Это отличие заключается в отсутствии у АПП обратной связи по качеству продукта, а также в отсутствии и отбора в конкурентной рыночной среде. АПП, как правило, не имеют непосредственного контакта с рынком, их жизненный цикл заканчивается на этапе аттестации, для них отсутствуют этапы эксплуатации и сопро-вождения.Оценивание качества АПП в большинстве случаев выполняется преподавателями, которые, выполняя оценку, опираются на свой личный опыт, знания и представления. Даже при наличии высокой квалификации преподавателей их требования индивидуальны, субъективны и существуют на интуитивном уровне. В результате выпускники университета в реальной жизни сталкиваются с серьёзными расхождениями представлений о процессе проектирования программных продуктов в классе и на производстве. Работодатели вынуждены тратить дополнительные ресурсы на переподготовку молодых кадров.
Пионерское в этой области исследование [5] учитывает особенности АПП. Оно предлагает методику независимой, то есть максимально объективной оценки качества АПП, однако инструмент оценивания, разработанный в [5], ориентирован на один язык программирования -Паскаль.
Целью данной работы является распространение этой методики на современные условия, когда студенты применяют другие, более современные языки программирования: С, С++, С# или язык МАТЛАБ.С целью автоматизации оценивания качества АПП на основе данной методики предлагается оригинальная «Программа оценки качественных характеристик академических программных продуктовна основе методики Холстеда».
Методика оценивания качества академических программных продуктов
В основ уданной методики положена работа М. Холстеда [6].
Согласно этой методике, оценка качества АПП формируется посредством анализа исходного кода программы и вычисления на этой основе некоторых специальных характеристик кода. Постулируется, что текст программы свободен от ошибок, связанных с языком программирования, поскольку для оценивания отбираются тексты программ, прошедших компиляцию. Также считается, что текст программы не содержит логических ошибок в алгоритме, поскольку прошёл экспертизу со стороны преподавателя, который определил соответствие функционирования программы установленному заданию.
Результирующие значения параметров качества академических программных продуктов отыскиваются методами математической статистики в результате обработки большого количества программных текстов, предварительно помещённых в базу данных. Характеризуем этот процесс.
Основным параметром качества АПП, согласно данной методике, является критерий совершенства логической структуры текста программного продукта - Дц [6].Критерий совершенства Яд вычисляется на основе четырёх основных характеристик (параметров) программного текста:
" - число простых (или отдельных) операторов, появляющихся в данной реализации (словарь операторов);
- число простых (или отдельных) операндов, появляющихся в данной реализации (словарь операндов);
- общее число всех операторов, появляющихся в данной реализации;
- общее число всех операндов, появляющихся в данной реализации.
На основе этих параметров для каждого текста АПП вычисляется экспериментально определённая длина:
(1)
и вычисляется теоретическая длина:
8 = »11 • (2) Как отмечено в [5], известно строгое математическое обоснование формулы (2), выражающей длину программы N через число входящих в е' запись операторов т]1и операндов 1],. исходя из минимаксного - для данного типа программ -так называемого «стоимостного» критерия [7]. Доказательство этого основано на предположении, что при создании программы реализуется
функциональная задача в максимально экономной и рациональной форме. В работе [7] математически строго выведено модифицированное выражение
и, кроме того, выполнена экспериментальная проверка. В ходе этой проверки обработано десять профессионально составленных программ на языках высокого уровня и в результате получено значение X =0,934336314, достаточно близкое к 1. Для коэффициента корреляции К экспериментально- по выборке из десяти программ -найдено значение К = 0,9965818.
В литературе по методам «программометрии» используются и другие методы измерения характеристик программ.Применение методик для профессиональных программ приводит к значению X, достаточно близкому к 1, что и обосновывает выбор метрики М. Холстеда в данной работе.
Основная вычислительная нагрузка в разрабатываемой методике ложится на статистическую обработку для определения числовых характеристик качества АПП. После того как все файлы уже обработаны и соответствующие характеристики получены для каждого из них, выполняется вычисление эмпирических статистик для каждого определённого параметра по всей группе АПП:
1. Математическое ожидание:
~ 1 п Мх = - 2 X .
П г=1
2. Дисперсия:
~ 2 (X " М )2 ~х = ^-1- .
п -1
3. Среднеквадратичное отклонение:
с .
(4)
(5)
(6)
Коэффициент корреляции вычисляется для двух параметров, которыми являются экспериментально определённая длина и теоретически полученная длина АПП:
2 (х - Мх ) • (у - Му )
г =
ху
г=1
(п-1)•сГх с
(7)
Критерий совершенства Ич численно равен коэффициенту корреляции гу.
Для совершенных программ параметр близок к 1, для программ, имеющих тот или иной
набор несовершенств, отличия от будут более существенны, поэтому в результате коэффициент корреляции гху уменьшится, т. е. уменьшится параметр Ич.
Параметр Ич является важным для оценки качества академических программных продуктов, поскольку на начальном этапе создания программ особое внимание уделяется правильному, оптимальному построению алгоритма и его реализации на языке программирования.
Программа оценки качественных характеристик АПП на основе методики Холстеда
Определение качественных характеристик АПП - трудоёмкий и сложный процесс, особенно если учесть, что количество АПП для оценивания велико. Рассмотрим программную реализацию этого процесса.
Разработанная программа представляет собой специализированную программу для автоматического определения качественных характеристик академических программных продуктов на языке С++ на основе методики, описанной в [5].
Программа реализована в среде У18иа181;и&о на языке программирования С#.
Пользователю необходимо выбрать подкаталог файлов - текстов АПП для их дальнейшей обработки, после чего для каждого программного текста происходит формирование и вычисление параметров качества, а именно, таких: словарь операторов и|ь словарь операндов г|г, общее число всех операторов общее число всех операндов Л':, экспериментально полученная длина N и теоретическая вычисленная длина
Программа считывает посимвольно текст каждого АПП из указанного подкаталога и затем отправляет каждый символ в лексический анализатор. Далее происходит следующее:
• Лексический анализатор на основе поступающих на вход символов формирует лексему, которая затем отправляется в синтаксический анализатор.
• Синтаксический анализатор сопоставляет лексему с грамматикой языка. Определяет, к какому классу относится входная лексема. Затем он формирует словарь операторов и операндов и вычисляет общее количество операторов и операндов программы.
• Далее программа вычисляет экспериментальную и теоретическую длину программного текста.
После того как были обработаны все файлы, в программе вычисляется критерий совершенства
Hq для всей группы программных текстов и на экран выводятся результаты работы программы:
- таблица полученных параметров каждого АПП: цъ i|2, Яь Nz, Я, N;
- критерий совершенства Hq.
Заключение
Подготовлено заявление на регистрацию созданной программы «Программа оценки качественных характеристик академических программных продуктов на основе методики Холстеда» в Роспатенте. Планируется апробация разработанной программы в учебном процессе на факультете математики и информационных технологий Ульяновского государственного университета при изучении студентами следующих дисциплин: «Технология программирования», «Языки программирования и методы трансляции», «Методы программирования», «Объектно-ориентированное программирование», «Численные методы», «Методы вычислений», «Вычислительная математика».
Признательности
Автор выражает благодарность научному руководителю - профессору И. В. Семушину и доценту кафедры информационных технологий В. В. Угарову за помощь в процессе подготовки статьи, а также профессору кафедры вычислительной техники Ульяновского государственного технического университета В. Н. Негоде за полезные обсуждения, позволившие автору улучшить содержание работы.
Данная работа выполняется при поддержке гранта РФФИ №14-07-00665.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Антошина, И. В. Основные тенденции оценивания качества программных средств / И. В. Антошина, В. Г. Домрачев, И. В. Ретинская // Качество, инновации, образование. - 2004. №1. - С. 70-75.
2. Калинина, Л. Ю. Основные тенденции оценивания качества программных средств / Л. Ю. Калинина // Качество, инновации, образование. - 2006. - №4. - С. 52-55.
3. Антошина, И. В. Методика составления системы характеристик качества для программных средств / И. В. Антошина, В. Г. Домрачев, И. В. Ретинская // Качество, инновации, образование. - 2002. - №3. - С. 57-60.
4. CM CONSULT Консалтинг в области разработки ПО. - Режим доступа: http://cmcons.com/ articles/CC_CQ/dev_metrics/mertics_part_1/.
5. Угаров, В. В.Компьютерные модели и пакеты программ в проектно-ориентированном обучении : дис. ... канд. техн. наук. - Ульяновск: УлГУ, 2005.
6. Холстед, М. Х. Начала науки о программах / М. Х. Холстед; пер. с англ. В. М. Юфы .М. : Финансы и статистика, 1981. - 128 с.
7. Апостолова, Н. А. О программометриче-ском подходе к оценкам программного обеспечения / Н. А. Апостолова, Б. С. Гольдштейн, Р. А. Зайдман // Программирование. - 1995. -№4. - С. 38-44.
Афанасова Анастасия Игоревна, аспирант кафедры «Информационные технологии» УлГУ.