Качество ПО — это степень, в которой программное обеспечение соответствует потребностям или ожиданиям его пользователей.
Понятие качества ПО
В настоящее время уже нельзя представить современную работу в какой-либо отрасли жизни без компьютерных технологий и программного обеспечения. Следовательно, все большее значение приобретает положительное решение такого вопроса, как обеспечение надлежащего качества программного обеспечения (ПО).
Качество ПО представляет собой степень, в которой программное обеспечение соответствует ожиданиям его пользователей. Кроме того, качеством ПО называют способность программного продукта при заданных условиях удовлетворять заданные или гипотетические потребности. Качеством ПО обычно представлен весь объем признаков и характеристик программ.
Сдай на права пока
учишься в ВУЗе
Вся теория в удобном приложении. Выбери инструктора и начни заниматься!
На данный момент общепринято, что обязательными атрибутами качества ПО являются стандарты и критерии, ориентация на которые позволяет заинтересованным субъектам поддерживать уровень качества ПО в заданном диапазоне.
Качество и его критерии
Стандарты качества ПО
Качество ПО может быть поддержано его производителямив результате соблюдения требований, которые установлены в соответствующих стандартах международного, национального, отраслевого уровней. В настоящее время действует международный стандарт ИСО/МЭК 25021:2012 «Системная и программная инженерия. Требования и оценка качества систем и программного обеспечения (SQuaRE). Элементы показателя качества». Аналогичен ему национальный стандарт Российской Федерации ГОСТ Р ИСО/МЭК 25021-2014.
С точки зрения обеспечения качества ПО еще большое значение имеют международный стандарт ИСО 9000:2000 «Системы менеджмента качества. Основные положения и словарь», а также целая группа других стандартов, которые раскрывают суть вопросов, связанных с менеджментом качества.
Также не стоит забывать про такой документ, как международный стандарт ИСО/МЭК 9126-91 «Информационная технология. Оценка программной продукции. Характеристики качества и руководства по их применению». Он также стал примером для создания аналогичного документа национального уровня.
«Стандарты и критерии качества ПО»
Готовые курсовые работы и рефераты
Решение учебных вопросов в 2 клика
Помощь в написании учебной работы
Критерии качества ПО
Качество ПО может быть охарактеризовано при помощи нескольких критериев, которые представлены определенными показателями. Чаще всего используется следующая номенклатура критериев качества ПО:
- критерии надежности ПО;
- критерии сопровождения;
- критерии удобства применения;
- критерии эффективности;
- критерии универсальности;
- критерии корректности.
Критерием надежности ПО является устойчивость функционирования. Она заключается в способности ПО продолжить свою работу после возникновения отклонений, которые могут быть вызваны техническими сбоями, ошибками во входных данных или в обслуживании. Кроме надежости рассматривают работоспособность ПО, т. е. функционирование программы в заданных режимах и объемах обрабатываемой информации в соответствии с программными документами при отсутствии сбоев технических средств.
Критерии качества на ранних стадиях разработки ПО — Мохамад Кассаб
Сопровождение ПО определяется четырьмя критериями:
- во-первых, структурность, которая означает организацию в единое целое всех взаимосвязанных частей программы с использованием трех основных логических структур: «повторение», «выбор», «последовательность»;
- во-вторых, простота конструкции, в соответствии с которой модульная структура программы выстраивается наиболее рациональным с точки зрения восприятия и понимания образом;
- в-третьих, наглядность, когда исходные модули ПО предстают в наиболее воспринимаемом виде;
- в-четвертых, повторяемость, которая означает степень использования типовых проектных решений или компонентов, образующих ПО.
Удобство применения ПО характеризуется через легкость его освоения. Она соответствует представлению программных документов и программы в том виде, который способствует пониманию логики функционирования программы в целом и ее частей по отдельности.
Доступность эксплуатационных программных документов говорит о понятности, наглядности и полноте описания процесса взаимодействия пользователя с программой в эксплуатационных программных документах. Эксплуатация и обслуживание могут быть удобными, если процесс обработки данных и форм представления результатов соответствует характеру решаемых задач.
Главными критериями эффективности ПО в настоящее время считаются уровень автоматизации функций обработки данных, временная эффективность (т.е. способность ПО осуществлять заданные функции в течение некоторого времени по заданным требованиям) и ресурсоемкость (минимальное использование вычислительных и трудовых ресурсов для обеспечения функционирования ПО).
Критерии универсальности ПО заключаются в следующем:
- гибкость — использование ПО в различных областях применения;
- мобильность — использование ПО без необходимости дополнительного привлечения ресурсов;
- модифицируемость — возможность внесения доработок в ПО во время его эксплуатации.
Критерий корректности подразумевает логическую корректность. Она свидетельствует о функциональном и программном соответствии процесса обработки данных при выполнении задания общесистемным требованиям. Заданные функции ПО должны быть полностью реализованы и достаточно описаны в программной документации.
Согласованность ПО выражена через однозначное, непротиворечивое описание и использование тождественных элементов ПО в различных частях программных документов и текста программы.
Источник: spravochnick.ru
Критерии качества программных средств
В мире разработано несколько десятков методологий и подходов к организации процесса создания программных продуктов. В независимости от используемой технологии разработки главной целью является создание эффективного программного продукта. Эффективность (полезность) создания программных средств (ПС) характеризуется в основном трудоёмкостью и длительностью создания ПС, а также достигаемым качеством.
Целью данной работы является изучение основных критериев оценки эффективности создания программных средств. Для достижения поставленной цели необходимо решить следующие задачи:
— изучить теоретического материала по выбранной теме;
— рассмотреть понятие качества программного средства;
— описать процесс определения трудоемкости и длительности создания программных средств.
Качество программных средств
Каждое программное средство должно выполнять определенные функции. Программное средство должно обладать рядом характеристик и свойств, способствующих его успешному использованию в течение длительного периода. Другими словами, каждое программное средство должно обладать определенным качеством.
Качество программного средства — это совокупность его свойств и характеристик, влияющих на его способность удовлетворять заданные потребности пользователей. Но это не означает, что различные программные средства должны обладать одной и той же совокупностью таких характеристик. Качество программного средства является удовлетворительным тогда, когда оно обладает указанными для него характеристиками и свойствами в такой степени, чтобы гарантировалось его успешное использование.
Все требования к качеству программного средства отражаются в документе — спецификация качества. Суть разработки спецификации заключается в построении своеобразной модели качества требуемого программного средства.
Данная модель должна содержать перечень всех тех достаточно элементарных свойств и характеристик, которые необходимо обеспечить в ПС и которые в совокупности образуют приемлемые качества программного продукта. Для оценки качества программного средства по каким — то критериям используют стандартизованный набор достаточно простых свойств и характеристик ПС. Такие элементарные свойства называют примитивами качества. Причем некоторые из примитивов могут использоваться в нескольких критериях.
1. Завершенность — свойство, которое характеризует степень обладания ПС всеми необходимыми частями, которые необходимы для выполнения явных и неявных функций;
программное средство качество затрата
2. Точность — это мера, которая определяет величину погрешности в выдаваемых результатах;
3. Автономность — это свойство, которое характеризует способность ПС выполнять предписанные функции без участия других программных компонент;
4. Устойчивость — это свойство, которое характеризует способность программного продукта продолжать корректное функционирование, несмотря на задание неверных входных данных;
5. Защищенность — это способность ПС противостоять преднамеренным или нечаянным разрушающим действиям пользователя;
6. П-документированность — свойство, которое характеризует наличие, доступность, понятность, полноту, и наглядность инструктивной, учебной и справочной документации;
7. Информативность — свойство, которое характеризует наличие в составе программного средства информации, которая необходима и достаточна для понимания назначения данного программного средства.
9. Временная эффективность — мера, которая характеризует способность программного средства выполнять возложенные на него функции в течение определенного отрезка времени;
10. Эффективность по ресурсам — способность программного средства выполнять возложенные на него функции при определенных ограничениях на используемые ресурсы (используемую память);
11. Эффективность по устройствам — это экономичность использования устройств ЭВМ для решения поставленных задач;
12. С — документированность — это свойство, которое характеризует написание документации, отражающей требования к ПС, ограничения и их обоснование и различные возможности ПС;
13. Понятность — степень, в которой программный продукт позволяет изучающему его лицу понять его назначение, сделанные допущения и ограничения, входные данные и текст программ;
14. Удобочитаемость — характеризует легкость восприятия текста программ ПС.
15. Расширяемость — способность ПС к использованию больших объемов памяти для хранения данных или расширению его функциональных возможностей при изменении условий эксплуатации;
16. Модифицируемость — характеризует ПС с точки зрения внесения необходимых изменений и доработок на всех стадиях ЖЦ;
17. Модульность — характеризует программное средство с точки зрения организации его программ из таких дискретных элементов, что изменение одного из них вызывает минимальные воздействия на другие элементы и компоненты программного средства.
18. Независимость от устройств — способность ПС работать на разнообразном аппаратном обеспечении;
Из наборов примитивов качества выстраиваются критерии качества.
Совокупность свойств, которые образуют удовлетворительное для пользователя качество программного средств, зависит от характера и условий эксплуатации этого программного продукта.
Поэтому при описании качества программного средства, прежде всего, должны быть зафиксированы критерии отбора требуемых свойств и характеристик.
В процессе разработки технического задания выявляются основные показатели, устанавливается относительная важность каждого из этих показателей и строится обобщённая целевая функция требуемого качества программного средства, а также устанавливаются допустимые затраты и длительность разработки программного продукта. После завершения отладки и испытаний эти показатели и обобщённая функция уточняются на предмет их соответствия техническому заданию. Различают конструктивные и функциональные критерии качества программного средства. Первые критерии оценивают сложность программного средства, его надёжность функционирования, корректность, ресурсы ЭВМ и др. Вторые отражают специфику применения и степень соответствия программного средства их целевому назначению. В ряде случаев их можно свести к показателям обобщённой экономической эффективности применения ПС в ЖЦ, характеризуемой величиной экономии труда, энергии, материалов и т.п. [5]
К критериям качества относят:
1) Функциональность — способность программного продукта выполнять функции, которые удовлетворяют заданные потребности пользователей. Эти функции описывается в документе — внешнее описание программного средства;
2) Надежность — способность безотказно выполнять определенные функции при заданных условиях в течение заданного периода времени с достаточно большой вероятностью;
3) Легкость применения — это характеристика ПС, которое позволяет минимизировать усилия пользователя при оценке полученных результатов, при подготовке исходных данных и в целом при применении программного средства,
4) Эффективность — отношение уровня услуг, предоставленных ПС пользователю к объему используемых ресурсов при заданных условиях;
5) Сопровождаемость — характеристика ПС, которая позволяет минимизировать усилия по внесению изменений при устранении ошибок и модификации;
6) Мобильность — способность ПС быть переносимым из одной сферы окружения в другую.
Функциональность и надежность являются обязательными качествами. При чем, обеспечение надежности будет происходить по всем этапам и процессам разработки ПС, а остальные критерии используются в зависимости от потребности пользователей в соответствии с требованиями ПС.
Разработка программного средства завершается его аттестацией. Аттестация программного средства — это авторитетное подтверждение его качества. Как правило, для аттестации создается комиссия экспертов. Эта комиссия проводит приемо-сдаточные испытания программного средства с целью получения необходимой информации для оценки его качества.
Испытание — это процесс проведения комплекса мероприятий, которые призваны исследовать пригодность программного средства для успешной его эксплуатации в соответствии с требованиями. В этом процессе проверяется полнота и исследуется качество.
В результате произведенной оценке качества, приемная комиссия фиксирует полученные результаты в специальном документе — сертификате качества программного средства.
Таким образом, оценка качества программного средства является основным в процессе аттестации, причем оценка качества производится по предъявленной спецификации его качества, т.е. оценивается только установленные критерии качества и примитивы качества.
Существует три метода оценки примитивов качества:
1) Непосредственное измерение показателей примитива качества. Заключается в проверке соответствия предъявленной документации на программное средство, включая тесты программ, стандартам или явным требованиям к программному средству, указанным в спецификации качества. Кроме того, оценка производится путем измерения времени работы различных устройств и используемых ресурсов при выполнении контрольных тестов.
2) Методы экспертных оценок используется, когда некоторые примитивы качества трудно объективно оценить. Суть метода состоит в следующем: назначается группа экспертов и каждый из этих экспертов в процессе изучения представленной документации составляет свое мнение о характеристиках изучаемого примитива качества, далее проводится голосование, в процессе которого устанавливается оценка примитива качества. В этом случае она является усредненной совокупностью субъективных оценок. Оценка может проводиться по двухбалльной системе — обладает/не обладает или по пяти бальной системе, при которой учитывается степень обладания ПС этим примитивом качества.
3) Для оценки некоторых примитивов качества используется тестирование, например, для таких примитивов как завершенность, устойчивость, точность, защищенность и т.д. Во время аттестационных испытаний нет необходимости проводить полное тестирование, аттестационная комиссия прежде всего изучает предъявленную документация и выборочно пропускает составленные тесты. Могут возникать у комиссии сомнения по поводу работоспособности ПС, тогда составляются допустимые тесты и проводится тестирование.
Трудоемкость и длительность создания программных средств
Эффективность создания программных средств определяется прежде всего затратами на его разработку:
Ср = С1р + С2р + С3р + С4р + С5р,
где С1р — затраты, связанные с непосредственной разработкой программного средства;
С2р — затраты на изготовление опытного образца (5 — 10 %), могут не учитываемые из-за малого значения;
С3р — затраты на программное обеспечение автоматизированной разработки ПС;
С4р — затраты на аппаратные средства автоматизации технологии;
С5р — затраты на повышение квалификации специалистов (могут не учитываются из-за малости и трудностей формализации. В этом случае они рассматриваются как один из важных факторов, которые влияют на значение С1р.
Для практических целей проведения анализа часто используют формулу:
Cр = С1р + С3р + С4р.
В этой сумме при создании средних и крупных ПС все три составляющие примерно равны, но основное внимание при анализе следует обращать на С1р, так как на неё наиболее сильно влияет объём разработки программного средства. Затраты на разработку пропорциональны объему создаваемого программного средства при одной и той же производительности труда разработчиков, измеряемой числом созданных команд за один человеко-день труда. При этом учитывается труд не только программистов, но и системных аналитиков, разработчиков алгоритмов и другого обслуживающего персонала.
Длительность разработки программных средств характеризуется средней длительностью разработки и основана на диапазоне приемлемых длительностей. Диапазон приемлемых длительностей разработок Tр ограничен сверху 10 годами (рациональными сроками создания самых сложных автоматизированных информационных систем), а снизу — 1 — 3,5 года (сроками естественного технологического процесса).
Среднюю длительность разработки можно аппроксимировать зависимостью
Тр = 0,8 Пк 1/3 , или Тр = 1,4 Пк 1/4 лет,
где Пк — объём программного средства в тысячах команд.
Трудоемкость отдельных этапов разработки различается в 2 — 4 раза. Неравномерно в зависимости от этапов изменяется потребность в машинном времени. Такие оценки затрат машинного времени позволяют рационально планировать и прогнозировать необходимую аппаратную оснащённость разработок по этапам и в целом на весь жизненный цикл. Упорядоченный подход к организации проектирования сложных программных средств и автоматизированных информационных систем с учётом вышеизложенного позволяет создавать программные продукты с высоким качеством и допустимыми затратами, если использовать современные технологии, методы и системы автоматизации проектирования, выбирая их на основе системного и технико-экономического анализа достигаемого эффекта и ресурсов на весь жизненный цикл [5].
Таким образом, на эффективность создания программных средств влияют трудоёмкость и длительность создания ПС, а также достигаемое качество. Качество программного средства — это совокупность его свойств и характеристик, влияющих на его способность удовлетворять заданные потребности пользователей. Для оценки качества по каким — то критериям используют стандартизованный набор достаточно простых свойств ПС. Из наборов примитивов качества выстраиваются критерии качества. Критерии качества делятся на конструктивные и функциональные критерии качества ПС.
К критериям качества относят:
3) Легкость применения.
Немалую роль в определении эффективности создания программных средств играют трудоемкость и длительность создания программных средств. Длительность разработки программных средств характеризуется средней длительностью разработки и основана на диапазоне приемлемых длительностей. Трудоемкость создания программного средства характеризуется суммарными затратами на разработку.
Список используемой литературы
1. Антонова Ю.В. Разработка и стандартизация программных средств и информационных технологий. Учебное пособие. Том 2. — Вязьма: филиал ФГБОУ ВПО «МГИУ» в г. Вязьме, 2012. — 103с.
2. Бухаров М.Н. Разработка и стандартизация программных средств и информационных технологий: Учебное пособие. — М.: Московский университет потребительской кооперации, 2004. — 162 с.
3. Зикратов И.А., Косовцев В.В., Петров В.Ю. Разработка и стандартизация программных средств и информационных технологий. Учебное пособие. — СПб: СПбГУ ИТМО, 2010. — 91 с.
4. Зубкова Т.М. Технология разработки программного обеспечения: Учебное пособие. — Оренбург: ГОУ ОГУ, 2004. — 101 с.
5. Котов С.Л., Палюх Б.В., Федченко С.Л. Разработка, стандартизация и сертификация программных средств и информационных технологий и систем: Учебное пособие. 1-е изд. Тверь: ТГТУ, 2006.104 с.
Источник: studbooks.net
Критерии качества требований программного обеспечения
Требования к приложению или новой фитче имеют очень высокую важность с точки зрения тестирования ПО. Но так как требования не всегда могут быть описаны документально то основным критериям качества требования является сам факт наличия этих требований к ПО. Сами же требования должны удовлетворять критериям качества, которые распишем ниже.
Всего критериев качества требований можно выделить девять:
Корректность
Бывает что в требованиях допускают ошибки при составлении таковых. Это можно обнаружить проанализировав требования целиком, найдя еще одно место где есть расхождения с предыдущим значением, к примеру некорректная необходимая процентная ставка по кредиту в банковском приложении, но если это место уникально то такую неточность тестировщику может оказаться распознать проблематично и только пользователь или тот кто детально введен в курс дела по точности данных, может распознать и исправить ее.
Недвусмысленность
Точность формулировки в требованиях может по-разному интерпретироваться тестировщиками, разработчиками и другими участниками проекта. Проблема возникает из-за того что требования пишутся на «естественном языке» и разные члены команды, относящиеся к разным группам настолько привыкли к своей интерпретации слов или фразы что им уже сложно предстать что это для кого-то другого имеет совершенно другой смысл.
Полнота
Часто в требованиях забывают описать валидации на поля или единицы измерения в каких будет показываться значения или даже целые секции, которые могут быть пропущены по невнимательности.
Непротиворечие
Конфликты в описании одного и того же функционала в разных частях требований зачастую находятся посредством механического анализа. Одна часть требований может гласить что на какое-то действие нужно выполнять то-то, в тоже время как в другой части требований можно найти что та же самая функциональность должна выполнять что-то другое.
Упорядоченность по важности и стабильности
В хороших требованиях можно увидеть как заказчик, клиенты или другие заинтересованные лица упорядочили требования по их важности и стабильности. Для этого каждому требованию может быть присвоен аттрибут. Самые полезные это упорядочевание по стоимости, рискам и сложности.
Поддаваемость проверке
Требования должны быть составлены таким образом чтобы тестировщики буквально черпали от туда тест кейсы, на каждый хороший пункт из требований обычно можно написать несколько тест кейсов которые покроют данный пункт требований.
Модифицируемость
Требования должны быть хорошо организованны и иметь перекрестные ссылки, разбиение. В больших системах, приложениях требования могут быть поддерживаемы с помощью автоматизируемого средства и легко модифицируемы.
Понимабельность
Требования должны быть такими чтобы их могли понять как разработчик, тестировщик так и пользователь если бы он взял этот документ в свои руки. Для этого используются как описание используемых терминов так и иллюстрации и раскадровки.
Источник: software-testing.org