ОБЩИЕ ХАРАКТЕРИСТИКИ КАЧЕСТВА ПРОГРАММНОГО СРЕДСТВА

Теоретический материал

Требования к знаниям

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ 14

Тема: «Оптимизация программы»

Цели:

- закрепление изученного материала по тестированию и отладке программного обеспечения;

- формирование навыков оптимизации программного кода.

 

Характер занятия: поисковый.

Форма организации: фронтальная.

Обеспечение занятия: ПК, ОС Windows, Delphi, ручка, карандаш, линейка, тетрадь по практическим работам.

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

знать:

- основные элементы IDE Delphi и принципы работы в ней;

- основные операторы языка Object Pascal.

 

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

уметь:

- определять сложность и качество программного кода;

- оптимизировать программный код.

 

Основными ГОСТами, регламентирующими в нашей стране использование термино-логии по качеству ПП являются: 1. ГОСТ 28806—90 «КАЧЕСТВО ПРОГРАММНЫХ СРЕДСТВ. Термины и определения (Software quality. Terms and definitions)»; 2. ГОСТ 28195-89 «ОЦЕНКА КАЧЕСТВА ПРОГРАММНЫХ СРЕДСТВ. Общие положения (Quality control of software systems. General principles)».Качество программного средства(software quality) - совокупность свойств программного средства (ПС), которые обусловливают его пригодность удовлетворять заданные или подразумеваемые потребности в соответствии с его назначением.Свойство программного средства (software attribute.) - отличительная особенность ПС, которая может проявляться при его создании, использовании, анализе или изменении.Характеристика качества программного средства (software quality characteristic) - набор свойств ПС, посредством которых описывается и оценивается его качество. Характеристика качества ПС может быть определена путем задания иерархии ее подхарактеристик. Подхарактеристика качества программного средства (software quality subcharacteristic) - характеристика качества ПС, входящая в состав другой характеристики качества.Показатель качества программного средства (software quality metric) - характеристика качества ПС, обладающая количественным значением.Критерий оценки качества программного средства (software quality assessment criterion) - совокупность принятых правил и условий, с помощью которых устанавливается приемлемость в целом качества ПС для потребителя.Функциональность программного средства (functionality) - совокупность свойств ПС, определяемая наличием и конкретными особенностями набора функций, способных удовлетворять заданные или подразумеваемые потребности качества наряду с ее надежностью как технической системы.Удобство использования программного средства (usability) - совокупность свойств ПС, характеризующая усилия, необходимые для его использования, и оценку результатов его использования заданным кругом пользователей ПС.Эффективность программного средства (efficiency) - совокупность свойств ПС, характеризующая аспекты его уровня пригодности, которые связаны с характером и временем использования ресурсов, необходимых при заданных условиях функционирования.Примечание: правильнее эту характеристику называть производительностью (performance); тогда как эффективность дожна также зависеть от затрат на создание и внедрение ПС. Сопровождаемость программного средства (maintainability) - совокупность свойств ПС, характеризующая усилия, которые необходимы для его модификации. Модификация, может осуществляться для устранения дефектов, усовершенствования ПС или его адаптации к изменениям в условиях функционирования, a также в составе и особенностях требуемых функций.Мобильность программного средства (portability) - совокупность свойств ПС, характеризующая приспособленность для переноса из одной среды функционирования в другие.Надежность программного средства (reliability) - совокупность свойств, характеризующая способность программного средства сохранять заданный уровень пригодности в заданных условиях в течение заданного интервала времени.Корректность или правильность подразумевает соответствие проверяемого объекта некоторому эталонному объекту или совокупности формализованных эталонных характеристик и правил. Корректность программы наиболее полно определяется степенью ее соответствия предъявляемым к ней формализованным требованиям - программной спецификации. Если надежность программы - свойство, заложенное при ее изготовлении и проявляющееся при эксплуатации программы во времени (поэтому без длительного наблюдения нельзя сделать заключения о надежности программы), то корректность может быть проверена в статике на этапе разработки программы. Сложность программ рассматривается в трех аспектах:

- сложность процесса разработки программ;

- сложность программы как объекта разработки (статическая);

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

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

- временем выполнения программы,

- числом маршрутов в программе,

- числом таблиц в базе данных,

- объемом программы и т.д.

Свойства, описываемые такими параметрами, численно представляются наиболее полно, с возможными градациями в пределах точности измерения показателей.Второй вид метрик (порядковая шкала) позволяет ранжировать некоторые характеристики путем сравнения с опорными значениями. Для объекта измерения устанавливается приоритетность признаков. Различают абсолютные и относительные порядковые метрики, первые из которых показывают больше или меньше значение данного параметра программы по сравнению с опорным, а второй – во сколько раз больше или меньше. Математические преобразования с такими показателями более ограничены, чем у первого вида метрик.Третий вид метрик (номинальная или категорийная шкала) характеризует только наличие рассматриваемого свойства или признака у программы без учета градации по численным значениям. Например: наличие у программы структурированности, гибкости, простоты освоения и т.д. Разнообразие возможных критериев и факторов, от которых зависит качество программ на различных этапах, усложняет их использование. Поэтому целесообразно провести классификацию критериев, выделить функциональные и конструктивные критерии качества программ и упорядочить их по этапам жизненного цикла.Функциональные критерии являются специализированными и отражают специфику областей применения и степень соответствия функций, выполняемых программой, ее целевому назначению.Для программ управления в них входят:

- показатели точности, диапазоны изменения параметров,

- время реакции на запрос или выполнения программы,

- адаптивность к внешним воздействиям и т.д.

- В системах автоматизации обработки информации функциональные показатели отражают:

- номенклатуру и объем данных,

- время обработки простых и сложных запросов,

- разнообразие функций доступа к данным и редактирования.

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

- трудоемкость, сложность программ,

- надежность функционирования,

- степень использования ресурсов ЭВМ,

- корректность и т.д.

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