Главная страница
Навигация по странице:

  • Verisoft Complexity Measures Tool

  • Eclipse Metrics Plugin

  • Duvessa Estimate Easy UC

  • SoftStar Systems Costar

  • Construx Estimate

  • Borland CaliberRM Estimate Professional

  • ГЛАВА 2. Изучение темы критерии качества программного обеспечения 2.1 Анализ стандарта по профильному курсу информатики

  • 2.2 Описание элективного курса «Критерии качества ПО»

  • Требование к уровню подготовки учащихся После изучения курса учащиеся должны знать/понимать

  • Уровни овладения компетенциями (для учащихся).

  • Тематическое планирование

  • Всего: 12 5

  • 2.3 Описание электронной поддержки курса

  • Приложение Конспекты уроков

  • Вопросы и задания для самоконтроля

  • Метрики. Работа проверена рецензент


    Скачать 1.3 Mb.
    НазваниеРабота проверена рецензент
    АнкорМетрики
    Дата19.03.2020
    Размер1.3 Mb.
    Формат файлаdocx
    Имя файлаМетрики.docx
    ТипРеферат
    #112499
    страница4 из 6
    1   2   3   4   5   6

    1.7.1 Вычисление метрики SLOC


    Locmetrics - очень простой бесплатный продукт с минималистским интерфейсом. В числе поддерживаемых языков - C/C++, C#, Java, SQL - возможно вычисление не только метрики SLOC и ее разновидностей, но и цикломатической сложности. Отсутствие документации не является препятствием для использования программы, поскольку разобраться в интерфейсе из двух кнопок и двух полей ввода совсем несложно. Хуже, что нет даже описания методики расчета метрик. К недостаткам также следует отнести отсутствие хотя бы самых простых средств построения отчетности или экспорта данных в один из популярных форматов.

    USC Codecount - бесплатный продукт с открытыми исходными кодами на языке ANSI C, разработанный Университетом Южной Калифорнии (University of Southern California, USC) - той же организацией, в которой были созданы COCOMO/COCOMO II. По этой причине USC Codecount является официальным инструментом для подсчета метрики SLOC при использовании указанных моделей. В число поддерживаемых языков входят C/C++, C#, Java, JavaScript, SQL, Perl, XML, в документации указано, что методика расчета соответствует принятой SEI для моделей CMM/CMMI.

    По сути, USC Codecount представляет собой целый набор инструментов, разработанных по единым принципам - для каждого языка программирования имеется отдельный проект, и компилируемая консольная программа может быть использована только для него. Несмотря на видимые неудобства, эту особенность следует считать как раз преимуществом, поскольку таким образом максимально учитываются свойства (характеристики) конкретного языка.

    USC Codecount дает возможность вычислять количество логических и физических SLOC, пустых строк, комментариев, директив компилятора, описаний данных, исполняемых инструкций по файлам проекта по отдельности и суммарно. Также предоставляется статистика по числу вхождений ключевых слов различных категорий и соотношения между различными значениями.

    SLOCCount- бесплатный продукт, разработанный Дэвидом Вилером (David A. Wheeler), поставляется в виде исходных кодов на языке C по лицензии GNU GPL. Ориентирован на UNIX-платформы, хотя возможно применение и в Windows после соответствующей адаптации.

    Среди рассматриваемых это, пожалуй, наиболее универсальный инструмент - в число поддерживаемых языков входят Ada, Assembler, awk, Bourne shell (включая производные: bash, ksh, zsh, pdksh), C, C++, C#, C shell (включая tcsh), COBOL, Expect, Fortran (включая Fortran 90), Haskell, Java, lex (включая flex), LISP (включая Scheme), make-файлы, Modula3, Objective-C, Pascal, Perl, PHP, Python, Ruby, sed, SQL, TCL, Yacc.

    Продукт позволяет рассчитать физическое количество SLOC по проекту (в разрезе отдельных используемых языков), обладает возможностями вычисления трудоемкости и стоимости проекта на основе модели COCOMO (по устаревшей первой версии и только по базовой модели).

    Благодаря своей универсальности этот продукт довольно популярен, к примеру, именно он используется в перспективном поисковом механизме для разработчиков Krugle для подсчета статистики по проектам.

    Code Counter Pro - единственный коммерческий продукт, попавший в нашем обзоре в данную категорию. Впрочем, он совсем недорог ($25 за одну лицензию), зато в отличие от предыдущих имеет развитый графический интерфейс, что, безусловно, делает его использование более удобным.

    Поддерживаются следующие языки программирования: Java, JSP, C/C++, VB, PHP, HTML, Delphi/Pascal, ASM, XML, COBOL, есть возможность декларировать новые.

    Несмотря на то что программа хорошо справляется со своей задачей и даже позволяет строить детальные отчеты, чего не может предложить, скажем, Locmetrics, она уступает рассмотренным открытым аналогам по количеству вычисляемых показателей (только число физических строк кода, комментариев, пустых строк, а также суммарные значения).

    1.7.2 Вычисление метрик сложности


    Verisoft Complexity Measures Tool - коммерческий продукт с достаточно внушительной ценой в 1200 евро. Поддерживаются только языки C/C++ и Java (поставляется в виде двух различных редакций).

    С помощью этого продукта можно рассчитывать следующие метрики: SLOC, цикломатическую сложность, метрики Холстеда, индекс сопровождаемости (вычисляется на основе предыдущих). Имеет графический интерфейс (с возможностью работы в режиме командной строки), позволяет формировать отчеты в текстовой форме или HTML.

    Borland Together - коммерческий инструмент UML-моделирования, дополненный возможностями вычисления метрик исходного кода. Цена зависит от редакции (начиная с $200).

    Поддерживается обширное число различных метрик, значительная часть которых - объект-но-ориентированные: SLOC, количественные метрики классов (число атрибутов, классов, конструкторов, операций), цикломатическая сложность, метрики сложности классов (LOCOM1, LOCOM2, LOCOM3, WMPC1, WMPC2, NORM), метрики связности, Холстеда, наследования, полиморфизма, процентные соотношения (доля комментариев, приватных, публичных и защищенных членов классов), максимальные значения (уровня вложенности, числа параметров и операций).

    Eclipse Metrics Plugin как следует из названия, представляет собой подключаемый модуль для популярной IDE Eclipse, разрабатываемый в рамках открытого проекта под той же лицензией, что и сама Eclipse.

    Вычисляет SLOC, количественные метрики классов, цикломатическую сложность, метрики сложности классов (LOCOM1, LOCOM2, LOCOM3, WMPC, NORM, индекс специализации), метрики связности, уровень абстракции и некоторые другие.

    Достаточно функциональный продукт, который вполне может дать фору многим коммерческим аналогам. [3]

    1.7.3 Оценки экономических параметров


    Инструменты оценки экономических параметров составляют центральную часть класса Software Estimation, применяются для оценки трудоемкости, сроков реализации и стоимости ПО и часто являются куда более сложными, чем средства расчета метрик.

    Duvessa Estimate Easy UC - пример довольно простого коммерческого продукта с невысокой ценой ($40-90 в зависимости от редакции). Программа предназначена для оценки трудоемкости реализации проекта на основе прецедентов. Работа с программой заключается в регистрации составляющих UML-модели: прецедентов и акторов (участников), для которых необходимо указать параметры сложности и число форм и отчетов (для прецедентов). Поддерживается возможность импорта требуемой информации из форматов Rational Rose, Rational XDE, Rational Requisite Pro, Microsoft Visio и XML. Помимо вычисления объема проекта в скорректированных точках прецедентов (UCP) и трудоемкости в человеко-часах, программа производит автоматическое преобразование количества UCP в число объектных точек (OP) и затем выполняет еще одну оценку трудоемкости реализации проекта в соответствии с композиционной прикладной моделью методики COCOMO II.

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

    USC COCOMO Tool - официальный инструмент от создателей методики COCOMO II, поставляется бесплатно. Поддерживаются две модели COCOMO II: ранней разработки проекта и постархитектурная.

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

    Результаты работы программы могут быть экспортированы в формат CSV, а затем импортированы в Microsoft Excel для дальнейшей обработки - с этой целью в комплекте поставляется дополнительный инструмент COCOMO Import & Analyze Tool. Сама же программа умеет строить только итоговый отчет.

    SoftStar Systems Costar - один из наиболее популярных коммерческих инструментов класса Software Estimation, основанный на методиках COCOMO/COCOMO II и их различных модификациях (на текущий момент поддерживается 10 вариантов, допускается регистрировать новые). При этом программа имеет весьма серьезную цену - от 1900 до 25 000 долл. в зависимости от редакции.

    Так же, как и USC COCOMO Tool, Costar охватывает только две модели COCOMO II: ранней разработки проекта и постархитектурную. Однако в остальном Costar гораздо функциональнее, в частности, поддерживает несколько различных моделей жизненного цикла программного проекта (в том числе REVIC, не предусмотренную оригинальными COCOMO/COCOMO II), инкрементную разработку компонентов (можно учитывать до двадцати итераций), обеспечивает подготовку полноценных отчетов (свыше двадцати видов) и их экспорт в различные форматы. Для тонкой настройки и калибровки моделей предоставляется отдельная программа Calico.

    Construx Estimate - бесплатный продукт от компании Construx Software, созданной очень авторитетной личностью в сфере программной инженерии и управления программными проектами - Стивом МакКонеллом (Steve McConell), который среди прочего был признан в 1998 г. одним из трех самых влиятельных людей в софтверной индустрии (наряду с Биллом Гейтсом и Линусом Торвальдсом).

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

    Программе необходимо передать такие данные, как тип и подтип проекта (бизнес-системы, управляющие системы, интернет-системы, системное ПО и пр.), текущая фаза, дата начала фазы проектирования, ограничения и приоритеты отдельных параметров, приблизительный объем (в виде SLOC, FP, числа функций/процедур, классов/модулей, подсистем), используемый язык программирования. В результате будет получена оценка по методу Монте-Карло с распределением 50/50 - т. е. вероятности переоценки и недооценки проекта будут равны 50%. Затем позволяется проводить анализ по сценариям «что-если?». На заключительном этапе программа формирует готовый к печати многостраничный отчет, содержащий исчерпывающую информацию о характеристиках проекта.

    С помощью Construx Estimate можно последовательно повышать точность оценки как в «тактическом» плане (т. е. в процессе реализации конкретного проекта), так и в «стратегическом» (за счет наработки опыта по выполнению многих проектов).

    В первом случае эффекта можно достичь переходом от базовой оценки объема проекта (которая представляется одним значением SLOC, FP, числа классов/модулей/процедур/подсистем) к более детальной на основе расчета числа FP встроенным инструментом, либо вообще оценивать объем работ числом элементов интерфейса (диалоговых окон, рабочих областей, отчетов и пр.) различных категорий сложности. Для больших систем допускается обсчитывать отдельные модули, подбирая для них подходящие единицы измерения и способы их получения.

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

    Borland CaliberRM Estimate Professional - коммерческий аналог программы Construx Estimate, изначально выпускаемый компанией Software Productivity Center под названием Estimate Professional. В 2004 г. данный продукт был приобретен корпорацией Borland и включен в поставку комплексного ПО для управления требованиями CaliberRM (в качестве отдельного продукта не предлагается), цена которого - от $2000.

    По своей идее и принципам работы данный продукт очень похож на бесплатный аналог (полностью совпадают даже целые разделы документации). Различия касаются главным образом более удобного интерфейса, повышенной гибкости в формировании и настройке отчетности, числа примеров оценки, входящих в комплект поставки, а также интеграции с CaliberRM. Пожалуй, самое принципиальное преимущество инструмента от Borland - возможность выбора одного из двух типов оценки: на основе объема проекта или трудоемкости (Construx Estimate предусматривает только первый вариант).

    Мы рассмотрели достаточно разноплановые инструменты, которые могут применяться для решения задач, характерных для сферы управления программными проектами. Следует отметить, что разнообразие в данном случае является таким же благом, как, скажем, и в мире флоры и фауны - оно не дает возможности выделить один единственно правильный путь (подход, критерий, методику) и тем самым предохраняет от фатальных ошибок и провалов.

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

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

    Вывод по главе 1
    Современная индустрия программного обеспечения характеризуется очень высокой степенью конкуренции. Для успешной работы на этом рынке компания должна разрабатывать, внедрять и сопровождать программное обеспечение быстро, в срок и с удовлетворительным качеством. Поэтому многие компании вкладывают деньги в улучшение качества процесса, памятуя о том, что подобное вложение денег обязательно окупается – изучение документированных случаев улучшения процессов разработки ПО показывает, что в успешных случаях наблюдается существенное улучшение производительности и качества со средним уровнем возврата вложений от 5:1 до 8:1.

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

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

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

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

    ГЛАВА 2. Изучение темы критерии качества программного обеспечения
    2.1 Анализ стандарта по профильному курсу информатики

    В «Стандарте среднего (полного) общего образования по информатике и ИКТ. Профильный уровень» среди целей изучения информатики и информационно-коммуникационных технологий на профильном уровне названы в том числе:

    • освоение и систематизация знаний, относящихся к математическим объектам информатики; построению описаний объектов и процессов, позволяющих осуществлять их компьютерное моделирование; средствам моделирования; информационным процессам в биологических, технологических и социальных системах;

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

    • развитие алгоритмического мышления, способностей к формализации, элементов системного мышления;

    • воспитание чувства ответственности за результаты своего труда; формирование установки на позитивную социальную деятельность в информационном обществе, на недопустимости действий, нарушающих правовые, этические нормы работы с информацией;

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

    В разделе «Обязательный минимум содержания основных образовательных программ» базовые понятия информатики и информационных технологий в пункте «Информация и информационные процессы» упоминаются:

    Системы, компоненты, состояние и взаимодействие компонентов. Информационное взаимодействие в системе, управление, обратная связь.

    Модель в деятельности человека. Описание (информационная модель) реального объекта и процесса, соответствие описания объекту и целям описания. Схемы, таблицы, графики, формулы как описания. Использование описания (информационной модели) в процессе общения, практической деятельности, исследования.

    Логика и алгоритмы. Высказывания, логические операции, кванторы, истинность высказывания. Цепочки (конечные последовательности), деревья, списки, графы, матрицы (массивы), псевдослучайные последовательности.

    Язык программирования. Типы данных. Основные конструкции языка программирования. Система программирования. Основные этапы разработки программ. Разбиение задачи на подзадачи.

    В пункте «Информационная деятельность человека» упоминаются:

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

    Экономика информационной сферы. Стоимостные характеристики информационной деятельности.
    В пункте «Средства ИКТ» упоминаются:

    Архитектура компьютеров и компьютерных сетей. Программная и аппаратная организация компьютеров и компьютерных систем. Виды программного обеспечения.

    В пункте «Обработка числовой информации» упоминаются:

    Математическая обработка статистических данных, результатов эксперимента, в том числе с использованием компьютерных датчиков.

    В разделе «Требования к уровню подготовки выпускников» сказано, что результате изучения информатики и ИКТ на профильном уровне ученик должен:

    знать/понимать:

    • основные конструкции языка программирования;

    • виды и свойства информационных моделей реальных объектов и процессов, методы и средства компьютерной реализации информационных моделей;

    • общую структуру деятельности по созданию компьютерных моделей;

    • нормы информационной этики и права, информационной безопасности, принципы обеспечения информационной безопасности;

    уметь

    • выделять информационный аспект в деятельности человека; информационное взаимодействие в простейших социальных, биологических и технических системах;

    • строить информационные модели объектов, систем и процессов, используя для этого типовые средства (язык программирования, таблицы, графики, диаграммы, формулы и т.п.);

    • интерпретировать результаты, получаемые в ходе моделирования реальных процессов;

    • проводить виртуальные эксперименты и самостоятельно создавать простейшие модели в учебных виртуальных лабораториях и моделирующих средах;

    использовать приобретенные знания и умения в практической деятельности и повседневной жизни для:

    • соблюдения требований информационной безопасности, информационной этики и права


    В результате может быть сделан вывод, что вопросу критерии качества программного обеспечения уделяется мало внимания. В то время как требования к качеству все время повышаются. Таким образом, возникает возможность создания элективного курса, который не выходит за рамки стандартов по информатике и ИКТ, но в то же время значительно расширяет и углубляет школьный курс информатики.
    2.2 Описание элективного курса «Критерии качества ПО»

    Данный курс «Критерии качества программного обеспечения» является прикладным элективным курсом. Весь курс состоит из 12 часов, включая лекции и практические занятия на компьютерах. За основу взята линия «Качество программного обеспечения» из образовательного минимума содержания образования по информатике.

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

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

    Из всего вышесказанного следует цель курса - обеспечить овладение учащимися основами знаний по теме «Критерии качества программного обеспечения» и на этой основе научить создавать качественное программное обеспечение, удовлетворяющее критериям.

    Основными задачами курса являются:

    • дать учащимся представление о качестве программного обеспечения, критериях характеристиках и метриках качества программного обеспечения;

    • ознакомить учащихся с расчетными метриками качества программного обеспечения;

    • продемонстрировать работу основных метрик качества;

    • научить оценивать программное обеспечение помощью метрик, критериев и характеристик качества.

    • углубить умения и навыки учащихся по темам, входящим в содержательную линию «Программирование»;

    Исходя из задач курса определено содержание, которое представлено в тематическом планировании курса (Таблица 6).

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

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

    В поддержку элективного курса разработано поурочное планирование и методические рекомендации к проведению уроков для учителя.
    Требование к уровню подготовки учащихся

    После изучения курса учащиеся должны

    знать/понимать

    • сущность понятия ”Качество”

    • виды критериев качества

    • основные принципы и методы определения качества ПО

    уметь

    • осуществлять моделирование с помощью графов;

    • организовать автоматизированный доступ к файлу и провести его анализ качества;

    • определять качество программ.

    Уровни овладения компетенциями (для учащихся).

    1. Ученик имеет представление о качестве, критериях, методах анализа ПО.

    2. Ученик понимает принципы анализа качества. Строит модели на основе графов.

    3. Ученик умеет создавать программу для определения качества ПО.


    Тематическое планирование

    Таблица 6



    Тема

    Всего часов

    Теория

    Практика

    1

    Качество ПО. Понятие качества ПО.

    1

    1




    2

    Стандарт. Модель качества. Характеристики и атрибуты качества.

    2

    1

    1

    3

    Метрики, их применение, метрические шкалы.

    1

    1




    4

    Метрики сложности

    2

    1/2

    1+1/2

    5

    Метрика Холстеда

    1

    1/2

    1/2

    6

    Граф. Построение графа.

    1

    1/2

    1/2

    7

    Метрика Мак-Кейба

    2

    1/2

    1+1/2

    8

    Итоговый контроль

    2




    2

    Всего:

    12

    5

    7


    Поурочное планирование

    Далее приведено поурочное планирование курса с минимальными методическими рекомендациями по каждому уроку.
    Урок 1. Качество ПО. Понятие качества ПО.

    Тип урока: урок усвоения новых знаний и умений.

    Цели:

    1. Дать представление о качестве программного обеспечения, высококачественной программе, стандартах.

    2. Дать определение качества программного обеспечения на основе стандартов ISO и IEEE.

    Содержание: что такое качество программного обеспечения, высококачественная программа, историческая справка.

    Данный урок является теоретическим, включающий рассказ о том, что представляет собой качество программного обеспечения. В качестве задания для закрепления материала можно предложить учащимся высказать свое мнение по поводу того, что такое качество программного обеспечения и сравнить их с определениями различных организаций, определить, что делает программу высококачественной, ответить на вопросы.
    Урок 2, 3. Стандарт. Модель качества. Характеристики и атрибуты качества.

    Тип урока: урок усвоения и закрепления новых знаний и умений.

    Цели:

    1. Дать определение атрибута.

    2. Познакомить с международным стандартом ГОСТ Р ИСО МЭК 9126, характеристиками и атрибутами качества.

    3. Определить внешние, внутренние метрики качества, метрики качества в использовании.

    Содержание: внешние метрики качества, внутренние метрики качества, характеристики и атрибуты качества, что такое атрибут.

    Данные уроки являются теоретико-практическими, которые предполагают рассмотрение характеристики и атрибуты качества, требования к качеству ПО. В качестве задания для закрепления материала можно предложить учащимся определить качество предложенных программ по характеристикам и атрибутам.
    Урок 4. Метрики, их применение, метрические шкалы.

    Тип урока: урок усвоения новых знаний и умений.

    Цели:

    1. Дать понятие метрики.

    2. Определить метрические шкалы, применения метрик, типы метрик, направления метрик и направления применения метрик.

    Содержание: что такое метрики качества программ, группы метрик, их применение, типы метрик, направления метрик, метрические шкалы.

    Данный урок является теоретическим, включающий рассказ о том, что представляет собой метрики качества программного обеспечения. Рассмотреть основные метрики, основные направления применения метрик, метрические шкалы, группы метрик.
    Урок 5, 6. Метрики сложности программ.

    Тип урока: урок усвоения и закрепления новых знаний и умений.

    Цели:

    1. Дать основные классификации метрик сложности.

    2. Познакомить с множеством метрик сложности.

    Содержание: основные классификации метрик сложности, оценочные модели.

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

    Тип урока: урок усвоения и закрепления новых знаний и умений.

    Цели:

    1. Познакомить с метриками Холстеда, его характеристиками, классами несовершенств программирования.

    Содержание: метрики Холстеда, характеристики метрик, классы несовершенств программирования.

    Данные уроки являются теоретико-практическими, которые предполагают рассмотрение качества программы с точки зрения метрик Холстеда. В качестве задания для закрепления материала можно предложить учащимся определить качество предложенных программ по данной метрике.
    Урок 8. Граф. Построение графа.

    Тип урока: урок усвоения и закрепления новых знаний и умений.

    Цели:

    1. Дать определения граф, путь.

    2. Познакомить с видами графов, связей, путей.

    3. Научить строить граф программы.

    Содержание: граф, виды графов, виды связей, путь, виды путей.

    Данные уроки являются теоретико-практическими, которые предполагают научиться строить граф программы для дальнейшего его анализа. В качестве задания для закрепления материала можно предложить учащимся самостоятельно построить граф программы.
    Урок 9, 10. Метрика Мак-Кейба.

    Тип урока: урок усвоения и закрепления новых знаний и умений.

    Цели:

    1. Познакомить с метрикой Мак-Кейба, ее модификациями и достоинствами.

    Содержание: метрика Мак-Кейба, модификации метрики, достоинства метрики, упрощенный вариант метрики.

    Данные уроки являются теоретико-практическими, которые предполагают рассмотрение качества программы с точки зрения метрики Мак-Кейба. В качестве задания для закрепления материала можно предложить учащимся определить качество предложенных программ по данной метрике.
    Урок 11,12. Итоговый контроль.

    Тип урока: урок применения знаний, умений, навыков.

    Цели:

    1. Проверить знания по разделу критерии качества программного обеспечения.

    2. Закрепить и систематизировать знания, умения и навыки по теме метрики качества программного обеспечения.

    Содержание: тест по теме критерии качества программного обеспечения, определение качества программы, реализация анализирующей программы на основе выбранной метрики.

    Данный урок предназначен для применения полученных знаний по теме критерии качества программного обеспечения.
    2.3 Описание электронной поддержки курса

    В поддержку элективного курса был разработан программный продукт «Метрики», который является наглядным пособием для изучения и понимания работы двух метрик качества программного обеспечения, таких как метрика Мак-Кейба и метрика Холстеда. Данная программа дает учащимся лучше понять оценку качества программного обеспечения.

    После запуска программы появляется первое окно метрика Мак-Кейба, которое представляет работу данной метрики (Рис. А).

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

    Рис А

    После нажатия на вторую вкладку «Холстед» появляется окно, которое представляет работу метрики Холстеда (Рис. B). Пользователю также предлагается открыть программу для оценки ее качества. При нажатии на кнопку «Exit» программа завершает свою работу. В меню данного окна можно открыть программу для оценки ее качества, выйти из программы, просмотреть файл справки и сведения о разработчике.

    Рис B

    После нажатия на третью вкладку «SLOC» появляется окно, которое представляет работу метрики SLOC (Рис. C). Пользователю также предлагается открыть программу для оценки ее качества. При нажатии на кнопку «Exit» программа завершает свою работу. В меню данного окна можно открыть программу для оценки ее качества, выйти из программы, просмотреть файл справки и сведения о разработчике.


    2.4 Организация и проведение педагогического эксперимента

    Педагогический эксперимент проводился во время педагогической практики в МОУ СОШ № 151 г. Челябинска. Эксперимент проводился в рамках факультативных занятий в 11-ф/м классе. В течение 3 учебных занятий по теме «Критерии качества программного обеспечения» в лекционно-практической форме были рассмотрены следующие темы:

    1. Введение в менеджмент качества (1 ч.)

    2. Методы оценки качества программного обеспечения (1 ч.)

    3. Автоматизированные программные продукты по оценке качества ПО (1 ч.)

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

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

    В данной главе подробным образом рассмотрена информация об элективном курсе «Критерии качества программного обеспечения»: тематическое и поурочное планирование, дано описание программной поддержки курса.

    Для этого был проанализирован стандарт. В результате был сделан вывод, что данная тема практически не затрагивается в школьном обучении.

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

    1. Получить новые знания и опыт в области программирования, а именно объектно-ориентированного программирования;

    2. Значительно облегчить усвоение новых знаний в области моделирования, так как позволяет более наглядно раскрыть тему «Моделирование с помощью графов»;

    3. Получить практические навыки в оценивании качества программного обеспечения различными метриками;

    4. Дополнительно развить аналитические способности и логическое мышление;

    5. Совершенствовать умение работать с компьютером для дальнейшей профессиональной деятельности.



    Приложение

    Конспекты уроков

    Урок 1

    Тип: урок усвоения новых знаний

    Тема урока «Качество ПО. Понятие качества ПО».

    Цели образовательные:

    1. Дать представление о качестве программного обеспечения, высококачественной программе, стандартах.

    2. Дать определение качества программного обеспечения на основе стандартов ISO и IEEE.

    Цели развивающие:

    - развитие логического мышления

    - развитие культуры высказывания собственного мнения

    Цели воспитательные:

    - воспитание информационной культуры

    - воспитание умения слушать

    Средства технические, программные, информационные (дидактический материал):

    Учебный класс, оснащенный компьютерами

    Мультимедийный проектор, экран.

    Классная доска и маркеры

    Этапы урока с указанием продолжительности:

    1. Актуализация опорных знаний учащихся – 3 мин.

    2. Мотивация учебной деятельности школьников – 2 мин.

    3. Сообщение темы, цели и задач урока – 1 мин.

    4. Восприятие и первичное осознание учащимися нового материала – 18 мин.

    5. Осмысление и первичное запоминание нового материала – 10 мин.

    6. Подведение итогов урока – 5 мин.

    7. Сообщение домашнего задания – 1 мин.

    Содержание урока:

    Что такое качество и почему оно должно быть столь глубоко представлено?

    На протяжении многих лет отдельные авторы и целые организации определяли термин “качество” по-разному:

    • Фил Кросби (Phil Crosby) в 1979 году дал определение качеству как “соответствие пользовательским требованиям” (предполагает, что требования должны быть настолько четко определены, что они не могут быть поняты и интерпретированы некорректно);

    • Уотс Хемпфри (Watts Hamphrey) описывает качество как “достижение отличного уровня пригодности к использованию” (принимает во внимание требования и ожидания конечных пользователей продукта, которые ожидают, что продукт или предоставляемый сервис будет удобным для их нужд);

    • Компания IBM, в свою очередь, ввела в оборот фразу “качество, управляемое рыночными потребностями” (“market-driven quality”);

    • Критерий Бэлдриджа (Baldrige) для организационного качества использует похожую фразу - “качество, задаваемое потребителем” (“customer-driven quality”), рассматривая удовлетворение потребителя в качестве главного соображения в отношении качества.

    Чаще, понятие качества используется в соответствии с определением системы менеджмента качества ISO 9001 как “степень соответствия присущих характеристик требованиям”.

    Понятие “качество”, на самом деле, не столь очевидно и просто, как это может показаться на первый взгляд. Для любого инженерного продукта существует множество интерпретаций качества, в зависимости от конкретной “системы координат”. Множество этих точек зрения необходимо обсудить и определить на этапе выработки требований к программному продукту. Характеристики качества могут требоваться в той или иной степени, могут отсутствовать или могут задавать определенные требования, все это может быть результатом определенного компромисса, что вполне перекликается с пониманием “приемлемого качества”, как менее жесткой точки зрения на обеспечение качества, как достижение совершенства.

    Сейчас существует несколько определений качества, которые в целом совместимы друг с другом.

    Определение ISO: Качество - это полнота свойств и характеристик продукта, процесса или услуги, которые обеспечивают способность удовлетворять заявленным или подразумеваемым потребностям.

    Определение IEEE: Качество - это степень, в которой оно обладает требуемой комбинацией свойств.

    Качество ПО - это относительное понятие, которое имеет смысл только при учете реальных условий его применения, поэтому требования, предъявляемые к качеству, ставятся в соответствии с условиями и конкретной областью их применения. Оно характеризуется тремя аспектами: качество программного продукта, качество процессов ЖЦ и качество сопровождения или внедрения (рис 1).


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

    Качество продукта достигается процедурами контроля промежуточных продуктов на процессах ЖЦ, проверкой их на достижение необходимого качества, а также методами сопровождения продукта. Эффект от внедрения ПС в значительной степени зависит от знаний обслуживающего персонала функций продукта и правил их выполнения.
    Вопросы и задания для самоконтроля:

    1. Дать определение качества с точки зрения стандарта ISO и IEEE.

    2. Назвать основные аспекты качества ПО.

    3. Дать определение качества с вашей точки зрения.

    4. Дать характеристику качественной программе



    Урок 2

    Тип: комбинированный из урока усвоения новых навыков и умений и урока применения знаний, навыков и умений.

    Тема урока: «Стандарт. Модель характеристик качества».

    Цели образовательные:

    1. Рассмотреть модель характеристик качества.

    2. Познакомиться со стандартом ГОСТ Р МЭК 9126.

    Цели развивающие:

    - развитие логического мышления

    - развитие навыков самостоятельной работы

    Цели воспитательные:

    - воспитание информационной культуры

    - воспитание уважения к одноклассникам

    Средства технические, программные, информационные (дидактический материал):

    Учебный класс, оснащенный компьютерами

    Мультимедийный проектор, экран.

    Классная доска и маркеры

    Этапы урока с указанием продолжительности:

    1. Актуализация опорных знаний учащихся – 3 мин.

    2. Мотивация учебной деятельности школьников – 2 мин.

    3. Сообщение темы, цели и задач урока – 1 мин.

    4. Восприятие и первичное осознание учащимися нового материала – 18мин.

    5. Осмысление и первичное запоминание нового материала – 10 мин.

    6. Подведение итогов урока – 5 мин.

    7. Сообщение домашнего задания – 1 мин.


    Содержание урока:

    ИСО 9126 это международный стандарт, определяющий оценочные характеристики качества программного обеспечения (далее ПО).

    Стандарт разделяется на 4 части, описывающие следующие вопросы:

    1   2   3   4   5   6


    написать администратору сайта