Файл: Программа, комплекс программ, программное средство, программное обеспечение, программный продукт. Концепция программного изделия непосредственная производительная сила,.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.11.2023
Просмотров: 317
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
2. Повторяемый уровень- на предприятии внедрены технологии управления проектами. При этом планирование и управление проектами основывается на накопленном опыте,существуют стандарты на разрабатываемое ПО (причем обеспечиваетсяследование этим стандартам) и специальная группа обеспечения качества. В случаенеобходимости организация может взаимодействовать с субподрядчиками. В критическихусловиях процесс имеет тенденцию скатываться на начальный уровень.
3. Определенный уровень- характеризуется тем, что стандартный процесс создания и сопровождения ПО полностью документирован (включая и разработку ПО, и управление проектами). Подразумевается, что в процессе стандартизации происходит переход на наиболее эффективные практики и технологии. Для создания и поддержания подобного стандарта в организации должна быть создана специальная группа. Наконец, обязательным условием для достижения данного уровня является наличие на предприятии программы постоянного повышения квалификации и обучения сотрудников. Начиная с этого уровня, организация перестает зависеть от качеств конкретных разработчиков, и процесс не имеет тенденции скатываться на уровень ниже в стрессовых ситуациях.
4. Управляемый уровень- в организации устанавливаются количественные показатели качества, как на программные продукты, так и на процесс в целом. Таким образом,более совершенное управление проектами достигается за счет уменьшения отклонений различныхпоказателей проекта. При этом осмысленные вариации в производительности процессаможно отличить от случайных вариаций (шума), особенно в хорошо освоенных областях.
5. Оптимизирующий уровень - характеризуется тем, что мероприятия по улучшению применяются не только к существующим процессам, но и для оценки эффективности ввода новых технологий. Основной задачей всей организации на этом уровне является постоянное улучшение существующих процессов. При этом улучшение процессов в идеале должно помогать
предупреждать возможные ошибки или дефекты. Кроме того, должны вестись работы по
уменьшению стоимости разработки программного обеспечения, например с помощью создания и
повторного использования компонентов.
Сертификационная оценка соответствия всех ключевых областей проводится по 10-балльной шкале. Для успешной квалификации данной ключевой области необходимо набрать не менее 6 баллов. Оценка ключевой области осуществляется по следующим показателям:
• заинтересованность руководства в данной области, например, планируется ли практическое
внедрение данной ключевой области, существует ли понимание у руководства необходимости
данной области и т. д.;
• насколько широко данная область применяется в организации, например, оценке в 4 балла
соответствует фрагментарное применение;
• успешность использования данной области на практике, например, оценке в 0 баллов
соответствует полное отсутствие какого-либо эффекта, а оценка в 8 баллов выставляется при
наличии систематического и измеримого положительного результата практически во всей
организации.
В принципе, можно сертифицировать только один процесс или подразделение организации,
например, подразделение разработки ПО компании.
SPICE. Стандарт SPICE унаследовал многие черты более ранних стандартов, в том числе ISO 9001 и СММ. Больше всего SPICE напоминает СММ. Точно так же, как и в СММ, основной задачей организации является постоянное улучшение процесса разработки ПО. Кроме того, в SPICE тоже используется схема с различными уровнями возможностей (в SPICE определено 6 различных уровней), но эти уровни применяются не только к организации в целом, но и к отдельно взятым процессам.
В основе стандарта лежит оценка процессов. Эта оценка выполняется путем сравнения
процесса разработки ПО, существующего в данной организации, с описанной в стандарте моделью. Анализ результатов, полученных на этом этапе, помогает определить сильные и слабые стороны процесса, а также внутренние риски, присущие данному процессу. Это помогает оценить эффективность процессов, определить причины ухудшения качества и связанные с этим издержки во времени или стоимости.
Затем выполняется определение возможностей процесса, т. е. возможностей его улучшения. В результате в организации может появиться понимание необходимости улучшения того или иного процесса. К этому моменту цели совершенствования процесса уже четко сформулированы и остается только техническая реализация поставленных задач. После этого весь цикл работ начинается сначала.
Следует иметь в виду, что построение «более зрелого» процесса разработки не обязательно обеспечивает создание более качественного ПО.
Использование формальных моделей и методов позволяет создавать понятные, непротиворечивые спецификации на разрабатываемое ПО. Конечно, внедрение таких методов имеет смысл
, хотя оно весьма дорого и трудоемко, а возможности их применения весьма ограничены. Основная же проблема - проблема сложности разрабатываемого программного обеспечения с совершенствованием процессов разработки пока не разрешена.
Создание программного обеспечения по-прежнему предъявляет повышенные требования к
квалификации тех, кто этим занимается: проектировщикам программного обеспечения и
непосредственно программистам.
-
Качество программного обеспечения, управление качеством, общие характеристики качества программного обеспечения: функциональность, надежность, удобство использования, эффективность, сопровождаемость, мобильность; критерии качества, ранжированные по фазам жизненного цикла, метрики характеристик программного обеспечения.
Качество программного обеспечения — характеристика программного обеспечения (ПО) как степени его соответствия требованиям. При этом требования могут трактоваться довольно широко, что порождает целый ряд независимых определений понятия. Чаще всего используется определение ISO 9001, согласно которому качество есть «степень соответствия присущих характеристик требованиям».
Фактор качества ПО — это нефункциональное требование к программе, которое обычно не описывается в договоре с заказчиком, но, тем не менее, является желательным требованием, повышающим качество программы.
Некоторые из факторов качества:
Этап проектирования:
-
сложность программы
-
корректность программы
-
трудоемкость разработки
Этап эксплуатации:
-
функциональная сложность
-
надежность
-
эффективность
-
трудоемкость эксплуатации
Этап сопровождения:
-
удобство модернизации
-
мобильность
-
трудоемкость изучения и модификации
Метрика качества программ - система измерений качества программ. Эти измерения могут проводиться на уровне критериев качества программ или на уровне отдельных характеристик качества. В первом случае система измерений позволяет непосредственно сравнивать программы по качеству. При этом сами измерения не могут быть проведены без субъективных оценок свойств программ. Во втором случае измерения характеристик можно выполнить объективно и достоверно, но оценка качества ПО в целом будет связана с субъективной интерпретацией получаемых оценок.
В исследовании метрик ПО различают два основных направления:
* поиск метрик, характеризующих наиболее специфические свойства программ, т.е. метрик оценки самого ПО;
* использование метрик для оценки технических характеристик и факторов разработки программ, т.е. метрик оценки условий разработки программ.
По виду информации, получаемой при оценке качества ПО метрики можно разбить на три группы:
* метрики, оценивающие отклонение от нормы характеристик исходных проектных материалов. Они устанавливают полноту заданных технических характеристик исходного кода.
* метрики, позволяющие прогнозировать качество разрабатываемого ПО. Они заданы на множестве возможных вариантов решений поставленной задачи и их реализации и определяют качество ПО, которое будет достигнуто в итоге.
* метрики, по которым принимается решение о соответствии конечного ПО заданным требованиям. Они позволяют оценить соответствие разработки заданным требованиям.
ОСНОВНЫЕ НАПРАВЛЕНИЯ ПРИМЕНЕНИЯ МЕТРИК.
В настоящее время в мировой практике используется несколько сотен метрик программ. Существующие качественные оценки программ можно сгруппировать по шести направлениям:
* оценки топологической и информационной сложности программ;
* оценки надежности программных систем, позволяющие прогнозировать отказовые ситуации;
* оценки производительности ПО и повышения его эффективности путем выявления ошибок проектирования;
* оценки уровня языковых средств и их применения;
* оценки трудности восприятия и понимания программных текстов, ориентированные на психологические факторы, существенные для сопровождения и модификации программ;
* оценки производительности труда программистов для прогнозирования сроков разработки программ и планирования работ по созданию программных комплексов.
МЕТРИЧЕСКИЕ ШКАЛЫ
В зависимости от характеристик и особенностей применяемых метрик им ставятся в соответствие различные измерительные шкалы.
Номинальной шкале соответствуют метрики, классифицирующие программы на типы по признаку наличия или отсутствия некоторой характеристики без учета градаций.
Порядковой шкале соответствуют метрики, позволяющие ранжировать некоторое характеристики путем сравнения с опорными значениями, т.е. измерение по этой шкале фактически определяет взаимное положение конкретных программ.
Интервальной шкале соответствуют метрики, которые показывают не только относительное положение программ, но и то, как далеко они отстоят друг от друга.
Относительной шкале соответствуют метрики, позволяющие не только расположить программы определенным образом и оценить их положение относительно друг друга, но и определить, как далеко оценки отстоят от границы, начиная с которой характеристика может быть измерена.
МЕТРИКИ СЛОЖНОСТИ ПРОГРАММ
При оценке сложности программ, как правило, выделяют три основные группы метрик:
* метрики размера программ
* метрики сложности потока управления программ
* и метрики сложности потока данных программ
-
Понятийный аппарат метрической теории программ – принципы количественного анализа качества объектов с расплывчатыми свойствами.
Качество ПО - это совокупность свойств, определяющих полезность изделия (программы) для пользователей в соответствии с функциональным назначением и предъявлёнными требованиями.
Характеристика качества программы - понятие, отражающее отдельные факторы, влияющие на качество программ и поддающиеся измерению.
Критерий качества - численный показатель, характеризующий степень, в которой программе присуще оцениваемое свойство.
Критерии качества включают следующие характеристики : экономичность, документированность, гибкость, модульность, надёжность, обоснованность, тестируемость, ясность, точность, модифицируемость, эффективность, легкость сопровождения и т.д.
Критерий должен:
* численно характеризовать основную целевую функцию программы;
* обеспечивать возможность определения затрат, необходимых для достижения требуемого уровня качества, а также степени влияния на показатель качества различных внешних факторов;
* быть по возможности простым, хорошо измеримым и иметь малую дисперсию.
Для измерения характеристик и критериев качества используют метрики.
Метрика качества программ - система измерений качества программ. Эти измерения могут проводиться на уровне критериев качества программ или на уровне отдельных характеристик качества. В первом случае система измерений позволяет непосредственно сравнивать программы по качеству. При этом сами измерения не могут быть проведены без субъективных оценок свойств программ. Во втором случае измерения характеристик можно выполнить объективно и достоверно, но оценка качества ПО в целом будет связана с субъективной интерпретацией получаемых оценок.
В исследовании метрик ПО различают два основных направления:
* поиск метрик, характеризующих наиболее специфические свойства программ, т.е. метрик оценки самого ПО;
* использование метрик для оценки технических характеристик и факторов разработки программ, т.е. метрик оценки условий разработки программ.
По виду информации, получаемой при оценке качества ПО метрики можно разбить на три группы:
* метрики, оценивающие отклонение от нормы характеристик исходных проектных материалов. Они устанавливают полноту заданных технических характеристик исходного кода.
* метрики, позволяющие прогнозировать качество разрабатываемого ПО. Они заданы на множестве возможных вариантов решений поставленной задачи и их реализации и определяют качество ПО, которое будет достигнуто в итоге.
* метрики, по которым принимается решение о соответствии конечного ПО заданным требованиям. Они позволяют оценить соответствие разработки заданным требованиям.
ОСНОВНЫЕ НАПРАВЛЕНИЯ ПРИМЕНЕНИЯ МЕТРИК.
В настоящее время в мировой практике используется несколько сотен метрик программ. Существующие качественные оценки программ можно сгруппировать по шести направлениям:
* оценки топологической и информационной сложности программ;
* оценки надежности программных систем, позволяющие прогнозировать отказовые ситуации;
* оценки производительности ПО и повышения его эффективности путем выявления ошибок проектирования;
* оценки уровня языковых средств и их применения;
* оценки трудности восприятия и понимания программных текстов, ориентированные на психологические факторы, существенные для сопровождения и модификации программ;
* оценки производительности труда программистов для прогнозирования сроков разработки программ и планирования работ по созданию программных комплексов.
МЕТРИЧЕСКИЕ ШКАЛЫ
В зависимости от характеристик и особенностей применяемых метрик им ставятся в соответствие различные измерительные шкалы.
Номинальной шкале соответствуют метрики, классифицирующие программы на типы по признаку наличия или отсутствия некоторой характеристики без учета градаций.
Порядковой шкале соответствуют метрики, позволяющие ранжировать некоторое характеристики путем сравнения с опорными значениями, т.е. измерение по этой шкале фактически определяет взаимное положение конкретных программ.
Интервальной шкале соответствуют метрики, которые показывают не только относительное положение программ, но и то, как далеко они отстоят друг от друга.
Относительной шкале соответствуют метрики, позволяющие не только расположить программы определенным образом и оценить их положение относительно друг друга, но и определить, как далеко оценки отстоят от границы, начиная с которой характеристика может быть измерена.
МЕТРИКИ СЛОЖНОСТИ ПРОГРАММ
При оценке сложности программ, как правило, выделяют три основные группы метрик:
* метрики размера программ
* метрики сложности потока управления программ
* и метрики сложности потока данных программ
Для оценки качества ПО применяются методы для моделей с расплывчатыми характеристиками:
-
Модель и метрики оценки сложности Боэма.
Модель оценки Боэма – оценка сложности, качества модуля. Учитывает объем кода, и сложность модуля определяется числом строк.
Е = 2,4 * K1.05
T = 2.5 * E0,38 - к прикладному ПО
Е = 3,6 * K1.2
T = 2.5 * E0,32 - к системному ПО
К – количество строк программного кода
Е – трудоемкость (чел/мес)
Т – продолжительность разработки (мес)
-
Модель и метрики оценки сложности Холстэда.
Учитывает объемные показатели программного кода.
n = n1 + n2
N = N1 + N2
n1, n2 – число различных операторов и операндов программы соответственно
N1, N2 – число всех операторов и операндов программы.
n – реляционный контекст.
N – длина исходного кода.
Применять данную модель можно при известном тексте модуля.
Int a,b,c;
a=1;
b=1;
c=a+b;
n1=3 N1=5
n2=3 N2=8
n=6 N=13
V = N* log2 n – объем
E
V2 - трудоемкость
T
V2 - срок разработки
B
E2/3 - наибольшее вероятностное количество ошибок в модуле.
-
Модель и метрики оценки сложности Мак-Кейба (основанные на потоковых графах).
Основывается на потоковых графах модуля. Программного кода может и не быть, но известен алгоритм или код описанный на псевдоязыке.
Вершины графа – операторы, стрелка – переход от одного оператора к другому.
С помощью данной модели можно определить логическую сложность программы.
V(M) = G(M)+1 = K2-K1+2;
V(M) – логическая сложность модуля;
M– имя модуля;
G(M) – количество базисных путей в графе;
K2 – количество вершин;
K1– количество дуг;
Case считается как один оператор.
-
Модель и метрики, основанные на информационных потоках.
Модель, основанная на информационных потоках, проходящих через интерфейс модуля. Она позволяет оценить информационную сложность модуля.
J(M) = m(M)(F+(M)*F-(M))2
m – метрика (модель) Мак-Кейба или Холстэда.
F+ - количество потоков управления и глобальных структур данных с помощью которых информация передается в модуля.
F- - количество потоков управления и глобальных структур данных с помощью которых информация возвращается из модуля.
метрика (модель) Холстэда.
Учитывает объемные показатели программного кода.
n = n1 + n2
N = N1 + N2
n1, n2 – число различных операторов и операндов программы соответственно
N1, N2 – число всех операторов и операндов программы.
n – реляционный контекст.
N – длина исходного кода.
Применять данную модель можно при известном тексте модуля.
Int a,b,c;
a=1;
b=1;
c=a+b;
n1=3 N1=5
n2=3 N2=8
n=6 N=13
V = N* log2 n – объем
E
V2 - трудоемкость
T
V2 - срок разработки
B
E
Качество программного обеспечения — характеристика программного обеспечения (ПО) как степени его соответствия требованиям. При этом требования могут трактоваться довольно широко, что порождает целый ряд независимых определений понятия. Чаще всего используется определение ISO 9001, согласно которому качество есть «степень соответствия присущих характеристик требованиям».
Фактор качества ПО — это нефункциональное требование к программе, которое обычно не описывается в договоре с заказчиком, но, тем не менее, является желательным требованием, повышающим качество программы.
Некоторые из факторов качества:
Этап проектирования:
-
сложность программы
-
корректность программы
-
трудоемкость разработки
Этап эксплуатации:
-
функциональная сложность
-
надежность
-
эффективность
-
трудоемкость эксплуатации
Этап сопровождения:
-
удобство модернизации
-
мобильность
-
трудоемкость изучения и модификации
Метрика качества программ - система измерений качества программ. Эти измерения могут проводиться на уровне критериев качества программ или на уровне отдельных характеристик качества. В первом случае система измерений позволяет непосредственно сравнивать программы по качеству. При этом сами измерения не могут быть проведены без субъективных оценок свойств программ. Во втором случае измерения характеристик можно выполнить объективно и достоверно, но оценка качества ПО в целом будет связана с субъективной интерпретацией получаемых оценок.
В исследовании метрик ПО различают два основных направления:
* поиск метрик, характеризующих наиболее специфические свойства программ, т.е. метрик оценки самого ПО;
* использование метрик для оценки технических характеристик и факторов разработки программ, т.е. метрик оценки условий разработки программ.
По виду информации, получаемой при оценке качества ПО метрики можно разбить на три группы:
* метрики, оценивающие отклонение от нормы характеристик исходных проектных материалов. Они устанавливают полноту заданных технических характеристик исходного кода.
* метрики, позволяющие прогнозировать качество разрабатываемого ПО. Они заданы на множестве возможных вариантов решений поставленной задачи и их реализации и определяют качество ПО, которое будет достигнуто в итоге.
* метрики, по которым принимается решение о соответствии конечного ПО заданным требованиям. Они позволяют оценить соответствие разработки заданным требованиям.
ОСНОВНЫЕ НАПРАВЛЕНИЯ ПРИМЕНЕНИЯ МЕТРИК.
В настоящее время в мировой практике используется несколько сотен метрик программ. Существующие качественные оценки программ можно сгруппировать по шести направлениям:
* оценки топологической и информационной сложности программ;
* оценки надежности программных систем, позволяющие прогнозировать отказовые ситуации;
* оценки производительности ПО и повышения его эффективности путем выявления ошибок проектирования;
* оценки уровня языковых средств и их применения;
* оценки трудности восприятия и понимания программных текстов, ориентированные на психологические факторы, существенные для сопровождения и модификации программ;
* оценки производительности труда программистов для прогнозирования сроков разработки программ и планирования работ по созданию программных комплексов.
МЕТРИЧЕСКИЕ ШКАЛЫ
В зависимости от характеристик и особенностей применяемых метрик им ставятся в соответствие различные измерительные шкалы.
Номинальной шкале соответствуют метрики, классифицирующие программы на типы по признаку наличия или отсутствия некоторой характеристики без учета градаций.
Порядковой шкале соответствуют метрики, позволяющие ранжировать некоторое характеристики путем сравнения с опорными значениями, т.е. измерение по этой шкале фактически определяет взаимное положение конкретных программ.
Интервальной шкале соответствуют метрики, которые показывают не только относительное положение программ, но и то, как далеко они отстоят друг от друга.
Относительной шкале соответствуют метрики, позволяющие не только расположить программы определенным образом и оценить их положение относительно друг друга, но и определить, как далеко оценки отстоят от границы, начиная с которой характеристика может быть измерена.
МЕТРИКИ СЛОЖНОСТИ ПРОГРАММ
При оценке сложности программ, как правило, выделяют три основные группы метрик:
* метрики размера программ
* метрики сложности потока управления программ
* и метрики сложности потока данных программ
-
Понятийный аппарат метрической теории программ – принципы количественного анализа качества объектов с расплывчатыми свойствами.
Качество ПО - это совокупность свойств, определяющих полезность изделия (программы) для пользователей в соответствии с функциональным назначением и предъявлёнными требованиями.
Характеристика качества программы - понятие, отражающее отдельные факторы, влияющие на качество программ и поддающиеся измерению.
Критерий качества - численный показатель, характеризующий степень, в которой программе присуще оцениваемое свойство.
Критерии качества включают следующие характеристики : экономичность, документированность, гибкость, модульность, надёжность, обоснованность, тестируемость, ясность, точность, модифицируемость, эффективность, легкость сопровождения и т.д.
Критерий должен:
* численно характеризовать основную целевую функцию программы;
* обеспечивать возможность определения затрат, необходимых для достижения требуемого уровня качества, а также степени влияния на показатель качества различных внешних факторов;
* быть по возможности простым, хорошо измеримым и иметь малую дисперсию.
Для измерения характеристик и критериев качества используют метрики.
Метрика качества программ - система измерений качества программ. Эти измерения могут проводиться на уровне критериев качества программ или на уровне отдельных характеристик качества. В первом случае система измерений позволяет непосредственно сравнивать программы по качеству. При этом сами измерения не могут быть проведены без субъективных оценок свойств программ. Во втором случае измерения характеристик можно выполнить объективно и достоверно, но оценка качества ПО в целом будет связана с субъективной интерпретацией получаемых оценок.
В исследовании метрик ПО различают два основных направления:
* поиск метрик, характеризующих наиболее специфические свойства программ, т.е. метрик оценки самого ПО;
* использование метрик для оценки технических характеристик и факторов разработки программ, т.е. метрик оценки условий разработки программ.
По виду информации, получаемой при оценке качества ПО метрики можно разбить на три группы:
* метрики, оценивающие отклонение от нормы характеристик исходных проектных материалов. Они устанавливают полноту заданных технических характеристик исходного кода.
* метрики, позволяющие прогнозировать качество разрабатываемого ПО. Они заданы на множестве возможных вариантов решений поставленной задачи и их реализации и определяют качество ПО, которое будет достигнуто в итоге.
* метрики, по которым принимается решение о соответствии конечного ПО заданным требованиям. Они позволяют оценить соответствие разработки заданным требованиям.
ОСНОВНЫЕ НАПРАВЛЕНИЯ ПРИМЕНЕНИЯ МЕТРИК.
В настоящее время в мировой практике используется несколько сотен метрик программ. Существующие качественные оценки программ можно сгруппировать по шести направлениям:
* оценки топологической и информационной сложности программ;
* оценки надежности программных систем, позволяющие прогнозировать отказовые ситуации;
* оценки производительности ПО и повышения его эффективности путем выявления ошибок проектирования;
* оценки уровня языковых средств и их применения;
* оценки трудности восприятия и понимания программных текстов, ориентированные на психологические факторы, существенные для сопровождения и модификации программ;
* оценки производительности труда программистов для прогнозирования сроков разработки программ и планирования работ по созданию программных комплексов.
МЕТРИЧЕСКИЕ ШКАЛЫ
В зависимости от характеристик и особенностей применяемых метрик им ставятся в соответствие различные измерительные шкалы.
Номинальной шкале соответствуют метрики, классифицирующие программы на типы по признаку наличия или отсутствия некоторой характеристики без учета градаций.
Порядковой шкале соответствуют метрики, позволяющие ранжировать некоторое характеристики путем сравнения с опорными значениями, т.е. измерение по этой шкале фактически определяет взаимное положение конкретных программ.
Интервальной шкале соответствуют метрики, которые показывают не только относительное положение программ, но и то, как далеко они отстоят друг от друга.
Относительной шкале соответствуют метрики, позволяющие не только расположить программы определенным образом и оценить их положение относительно друг друга, но и определить, как далеко оценки отстоят от границы, начиная с которой характеристика может быть измерена.
МЕТРИКИ СЛОЖНОСТИ ПРОГРАММ
При оценке сложности программ, как правило, выделяют три основные группы метрик:
* метрики размера программ
* метрики сложности потока управления программ
* и метрики сложности потока данных программ
Для оценки качества ПО применяются методы для моделей с расплывчатыми характеристиками:
-
Модель и метрики оценки сложности Боэма.
Модель оценки Боэма – оценка сложности, качества модуля. Учитывает объем кода, и сложность модуля определяется числом строк.
Е = 2,4 * K1.05
T = 2.5 * E0,38 - к прикладному ПО
Е = 3,6 * K1.2
T = 2.5 * E0,32 - к системному ПО
К – количество строк программного кода
Е – трудоемкость (чел/мес)
Т – продолжительность разработки (мес)
-
Модель и метрики оценки сложности Холстэда.
Учитывает объемные показатели программного кода.
n = n1 + n2
N = N1 + N2
n1, n2 – число различных операторов и операндов программы соответственно
N1, N2 – число всех операторов и операндов программы.
n – реляционный контекст.
N – длина исходного кода.
Применять данную модель можно при известном тексте модуля.
Int a,b,c;
a=1;
b=1;
c=a+b;
n1=3 N1=5
n2=3 N2=8
n=6 N=13
V = N* log2 n – объем
E
V2 - трудоемкость
T
V2 - срок разработки
B
E2/3 - наибольшее вероятностное количество ошибок в модуле.
-
Модель и метрики оценки сложности Мак-Кейба (основанные на потоковых графах).
Основывается на потоковых графах модуля. Программного кода может и не быть, но известен алгоритм или код описанный на псевдоязыке.
Вершины графа – операторы, стрелка – переход от одного оператора к другому.
С помощью данной модели можно определить логическую сложность программы.
V(M) = G(M)+1 = K2-K1+2;
V(M) – логическая сложность модуля;
M– имя модуля;
G(M) – количество базисных путей в графе;
K2 – количество вершин;
K1– количество дуг;
Case считается как один оператор.
-
Модель и метрики, основанные на информационных потоках.
Модель, основанная на информационных потоках, проходящих через интерфейс модуля. Она позволяет оценить информационную сложность модуля.
J(M) = m(M)(F+(M)*F-(M))2
m – метрика (модель) Мак-Кейба или Холстэда.
F+ - количество потоков управления и глобальных структур данных с помощью которых информация передается в модуля.
F- - количество потоков управления и глобальных структур данных с помощью которых информация возвращается из модуля.
метрика (модель) Холстэда.
Учитывает объемные показатели программного кода.
n = n1 + n2
N = N1 + N2
n1, n2 – число различных операторов и операндов программы соответственно
N1, N2 – число всех операторов и операндов программы.
n – реляционный контекст.
N – длина исходного кода.
Применять данную модель можно при известном тексте модуля.
Int a,b,c;
a=1;
b=1;
c=a+b;
n1=3 N1=5
n2=3 N2=8
n=6 N=13
V = N* log2 n – объем
E
V2 - трудоемкость
Качество программного обеспечения — характеристика программного обеспечения (ПО) как степени его соответствия требованиям. При этом требования могут трактоваться довольно широко, что порождает целый ряд независимых определений понятия. Чаще всего используется определение ISO 9001, согласно которому качество есть «степень соответствия присущих характеристик требованиям».
Фактор качества ПО — это нефункциональное требование к программе, которое обычно не описывается в договоре с заказчиком, но, тем не менее, является желательным требованием, повышающим качество программы.
Некоторые из факторов качества:
Этап проектирования:
-
сложность программы
-
корректность программы
-
трудоемкость разработки
Этап эксплуатации:
-
функциональная сложность
-
надежность
-
эффективность
-
трудоемкость эксплуатации
Этап сопровождения:
-
удобство модернизации
-
мобильность
-
трудоемкость изучения и модификации
Метрика качества программ - система измерений качества программ. Эти измерения могут проводиться на уровне критериев качества программ или на уровне отдельных характеристик качества. В первом случае система измерений позволяет непосредственно сравнивать программы по качеству. При этом сами измерения не могут быть проведены без субъективных оценок свойств программ. Во втором случае измерения характеристик можно выполнить объективно и достоверно, но оценка качества ПО в целом будет связана с субъективной интерпретацией получаемых оценок.
В исследовании метрик ПО различают два основных направления:
* поиск метрик, характеризующих наиболее специфические свойства программ, т.е. метрик оценки самого ПО;
* использование метрик для оценки технических характеристик и факторов разработки программ, т.е. метрик оценки условий разработки программ.
По виду информации, получаемой при оценке качества ПО метрики можно разбить на три группы:
* метрики, оценивающие отклонение от нормы характеристик исходных проектных материалов. Они устанавливают полноту заданных технических характеристик исходного кода.
* метрики, позволяющие прогнозировать качество разрабатываемого ПО. Они заданы на множестве возможных вариантов решений поставленной задачи и их реализации и определяют качество ПО, которое будет достигнуто в итоге.
* метрики, по которым принимается решение о соответствии конечного ПО заданным требованиям. Они позволяют оценить соответствие разработки заданным требованиям.
ОСНОВНЫЕ НАПРАВЛЕНИЯ ПРИМЕНЕНИЯ МЕТРИК.
В настоящее время в мировой практике используется несколько сотен метрик программ. Существующие качественные оценки программ можно сгруппировать по шести направлениям:
* оценки топологической и информационной сложности программ;
* оценки надежности программных систем, позволяющие прогнозировать отказовые ситуации;
* оценки производительности ПО и повышения его эффективности путем выявления ошибок проектирования;
* оценки уровня языковых средств и их применения;
* оценки трудности восприятия и понимания программных текстов, ориентированные на психологические факторы, существенные для сопровождения и модификации программ;
* оценки производительности труда программистов для прогнозирования сроков разработки программ и планирования работ по созданию программных комплексов.
МЕТРИЧЕСКИЕ ШКАЛЫ
В зависимости от характеристик и особенностей применяемых метрик им ставятся в соответствие различные измерительные шкалы.
Номинальной шкале соответствуют метрики, классифицирующие программы на типы по признаку наличия или отсутствия некоторой характеристики без учета градаций.
Порядковой шкале соответствуют метрики, позволяющие ранжировать некоторое характеристики путем сравнения с опорными значениями, т.е. измерение по этой шкале фактически определяет взаимное положение конкретных программ.
Интервальной шкале соответствуют метрики, которые показывают не только относительное положение программ, но и то, как далеко они отстоят друг от друга.
Относительной шкале соответствуют метрики, позволяющие не только расположить программы определенным образом и оценить их положение относительно друг друга, но и определить, как далеко оценки отстоят от границы, начиная с которой характеристика может быть измерена.
МЕТРИКИ СЛОЖНОСТИ ПРОГРАММ
При оценке сложности программ, как правило, выделяют три основные группы метрик:
* метрики размера программ
* метрики сложности потока управления программ
* и метрики сложности потока данных программ
-
Понятийный аппарат метрической теории программ – принципы количественного анализа качества объектов с расплывчатыми свойствами.
Качество ПО - это совокупность свойств, определяющих полезность изделия (программы) для пользователей в соответствии с функциональным назначением и предъявлёнными требованиями.
Характеристика качества программы - понятие, отражающее отдельные факторы, влияющие на качество программ и поддающиеся измерению.
Критерий качества - численный показатель, характеризующий степень, в которой программе присуще оцениваемое свойство.
Критерии качества включают следующие характеристики : экономичность, документированность, гибкость, модульность, надёжность, обоснованность, тестируемость, ясность, точность, модифицируемость, эффективность, легкость сопровождения и т.д.
Критерий должен:
* численно характеризовать основную целевую функцию программы;
* обеспечивать возможность определения затрат, необходимых для достижения требуемого уровня качества, а также степени влияния на показатель качества различных внешних факторов;
* быть по возможности простым, хорошо измеримым и иметь малую дисперсию.
Для измерения характеристик и критериев качества используют метрики.
Метрика качества программ - система измерений качества программ. Эти измерения могут проводиться на уровне критериев качества программ или на уровне отдельных характеристик качества. В первом случае система измерений позволяет непосредственно сравнивать программы по качеству. При этом сами измерения не могут быть проведены без субъективных оценок свойств программ. Во втором случае измерения характеристик можно выполнить объективно и достоверно, но оценка качества ПО в целом будет связана с субъективной интерпретацией получаемых оценок.
В исследовании метрик ПО различают два основных направления:
* поиск метрик, характеризующих наиболее специфические свойства программ, т.е. метрик оценки самого ПО;
* использование метрик для оценки технических характеристик и факторов разработки программ, т.е. метрик оценки условий разработки программ.
По виду информации, получаемой при оценке качества ПО метрики можно разбить на три группы:
* метрики, оценивающие отклонение от нормы характеристик исходных проектных материалов. Они устанавливают полноту заданных технических характеристик исходного кода.
* метрики, позволяющие прогнозировать качество разрабатываемого ПО. Они заданы на множестве возможных вариантов решений поставленной задачи и их реализации и определяют качество ПО, которое будет достигнуто в итоге.
* метрики, по которым принимается решение о соответствии конечного ПО заданным требованиям. Они позволяют оценить соответствие разработки заданным требованиям.
ОСНОВНЫЕ НАПРАВЛЕНИЯ ПРИМЕНЕНИЯ МЕТРИК.
В настоящее время в мировой практике используется несколько сотен метрик программ. Существующие качественные оценки программ можно сгруппировать по шести направлениям:
* оценки топологической и информационной сложности программ;
* оценки надежности программных систем, позволяющие прогнозировать отказовые ситуации;
* оценки производительности ПО и повышения его эффективности путем выявления ошибок проектирования;
* оценки уровня языковых средств и их применения;
* оценки трудности восприятия и понимания программных текстов, ориентированные на психологические факторы, существенные для сопровождения и модификации программ;
* оценки производительности труда программистов для прогнозирования сроков разработки программ и планирования работ по созданию программных комплексов.
МЕТРИЧЕСКИЕ ШКАЛЫ
В зависимости от характеристик и особенностей применяемых метрик им ставятся в соответствие различные измерительные шкалы.
Номинальной шкале соответствуют метрики, классифицирующие программы на типы по признаку наличия или отсутствия некоторой характеристики без учета градаций.
Порядковой шкале соответствуют метрики, позволяющие ранжировать некоторое характеристики путем сравнения с опорными значениями, т.е. измерение по этой шкале фактически определяет взаимное положение конкретных программ.
Интервальной шкале соответствуют метрики, которые показывают не только относительное положение программ, но и то, как далеко они отстоят друг от друга.
Относительной шкале соответствуют метрики, позволяющие не только расположить программы определенным образом и оценить их положение относительно друг друга, но и определить, как далеко оценки отстоят от границы, начиная с которой характеристика может быть измерена.
МЕТРИКИ СЛОЖНОСТИ ПРОГРАММ
При оценке сложности программ, как правило, выделяют три основные группы метрик:
* метрики размера программ
* метрики сложности потока управления программ
* и метрики сложности потока данных программ
Для оценки качества ПО применяются методы для моделей с расплывчатыми характеристиками:
-
Модель и метрики оценки сложности Боэма.
Модель оценки Боэма – оценка сложности, качества модуля. Учитывает объем кода, и сложность модуля определяется числом строк.
Е = 2,4 * K1.05
T = 2.5 * E0,38 - к прикладному ПО
Е = 3,6 * K1.2
T = 2.5 * E0,32 - к системному ПО
К – количество строк программного кода
Е – трудоемкость (чел/мес)
Т – продолжительность разработки (мес)
-
Модель и метрики оценки сложности Холстэда.
Учитывает объемные показатели программного кода.
n = n1 + n2
N = N1 + N2
n1, n2 – число различных операторов и операндов программы соответственно
N1, N2 – число всех операторов и операндов программы.
n – реляционный контекст.
N – длина исходного кода.
Применять данную модель можно при известном тексте модуля.
Int a,b,c;
a=1;
b=1;
c=a+b;
n1=3 N1=5
n2=3 N2=8
n=6 N=13
V = N* log2 n – объем
E
V2 - трудоемкость
T
V2 - срок разработкиКачество программного обеспечения — характеристика программного обеспечения (ПО) как степени его соответствия требованиям. При этом требования могут трактоваться довольно широко, что порождает целый ряд независимых определений понятия. Чаще всего используется определение ISO 9001, согласно которому качество есть «степень соответствия присущих характеристик требованиям».
Фактор качества ПО — это нефункциональное требование к программе, которое обычно не описывается в договоре с заказчиком, но, тем не менее, является желательным требованием, повышающим качество программы.
Некоторые из факторов качества:
Этап проектирования:
-
сложность программы -
корректность программы -
трудоемкость разработки
Этап эксплуатации:
-
функциональная сложность -
надежность -
эффективность -
трудоемкость эксплуатации
Этап сопровождения:
-
удобство модернизации -
мобильность -
трудоемкость изучения и модификации
Метрика качества программ - система измерений качества программ. Эти измерения могут проводиться на уровне критериев качества программ или на уровне отдельных характеристик качества. В первом случае система измерений позволяет непосредственно сравнивать программы по качеству. При этом сами измерения не могут быть проведены без субъективных оценок свойств программ. Во втором случае измерения характеристик можно выполнить объективно и достоверно, но оценка качества ПО в целом будет связана с субъективной интерпретацией получаемых оценок.
В исследовании метрик ПО различают два основных направления:
* поиск метрик, характеризующих наиболее специфические свойства программ, т.е. метрик оценки самого ПО;
* использование метрик для оценки технических характеристик и факторов разработки программ, т.е. метрик оценки условий разработки программ.
По виду информации, получаемой при оценке качества ПО метрики можно разбить на три группы:
* метрики, оценивающие отклонение от нормы характеристик исходных проектных материалов. Они устанавливают полноту заданных технических характеристик исходного кода.
* метрики, позволяющие прогнозировать качество разрабатываемого ПО. Они заданы на множестве возможных вариантов решений поставленной задачи и их реализации и определяют качество ПО, которое будет достигнуто в итоге.
* метрики, по которым принимается решение о соответствии конечного ПО заданным требованиям. Они позволяют оценить соответствие разработки заданным требованиям.
ОСНОВНЫЕ НАПРАВЛЕНИЯ ПРИМЕНЕНИЯ МЕТРИК.
В настоящее время в мировой практике используется несколько сотен метрик программ. Существующие качественные оценки программ можно сгруппировать по шести направлениям:
* оценки топологической и информационной сложности программ;
* оценки надежности программных систем, позволяющие прогнозировать отказовые ситуации;
* оценки производительности ПО и повышения его эффективности путем выявления ошибок проектирования;
* оценки уровня языковых средств и их применения;
* оценки трудности восприятия и понимания программных текстов, ориентированные на психологические факторы, существенные для сопровождения и модификации программ;
* оценки производительности труда программистов для прогнозирования сроков разработки программ и планирования работ по созданию программных комплексов.
МЕТРИЧЕСКИЕ ШКАЛЫ
В зависимости от характеристик и особенностей применяемых метрик им ставятся в соответствие различные измерительные шкалы.
Номинальной шкале соответствуют метрики, классифицирующие программы на типы по признаку наличия или отсутствия некоторой характеристики без учета градаций.
Порядковой шкале соответствуют метрики, позволяющие ранжировать некоторое характеристики путем сравнения с опорными значениями, т.е. измерение по этой шкале фактически определяет взаимное положение конкретных программ.
Интервальной шкале соответствуют метрики, которые показывают не только относительное положение программ, но и то, как далеко они отстоят друг от друга.
Относительной шкале соответствуют метрики, позволяющие не только расположить программы определенным образом и оценить их положение относительно друг друга, но и определить, как далеко оценки отстоят от границы, начиная с которой характеристика может быть измерена.
МЕТРИКИ СЛОЖНОСТИ ПРОГРАММ
При оценке сложности программ, как правило, выделяют три основные группы метрик:
* метрики размера программ
* метрики сложности потока управления программ
* и метрики сложности потока данных программ
-
Понятийный аппарат метрической теории программ – принципы количественного анализа качества объектов с расплывчатыми свойствами.
Качество ПО - это совокупность свойств, определяющих полезность изделия (программы) для пользователей в соответствии с функциональным назначением и предъявлёнными требованиями.
Характеристика качества программы - понятие, отражающее отдельные факторы, влияющие на качество программ и поддающиеся измерению.
Критерий качества - численный показатель, характеризующий степень, в которой программе присуще оцениваемое свойство.
Критерии качества включают следующие характеристики : экономичность, документированность, гибкость, модульность, надёжность, обоснованность, тестируемость, ясность, точность, модифицируемость, эффективность, легкость сопровождения и т.д.
Критерий должен:
* численно характеризовать основную целевую функцию программы;
* обеспечивать возможность определения затрат, необходимых для достижения требуемого уровня качества, а также степени влияния на показатель качества различных внешних факторов;
* быть по возможности простым, хорошо измеримым и иметь малую дисперсию.
Для измерения характеристик и критериев качества используют метрики.
Метрика качества программ - система измерений качества программ. Эти измерения могут проводиться на уровне критериев качества программ или на уровне отдельных характеристик качества. В первом случае система измерений позволяет непосредственно сравнивать программы по качеству. При этом сами измерения не могут быть проведены без субъективных оценок свойств программ. Во втором случае измерения характеристик можно выполнить объективно и достоверно, но оценка качества ПО в целом будет связана с субъективной интерпретацией получаемых оценок.
В исследовании метрик ПО различают два основных направления:
* поиск метрик, характеризующих наиболее специфические свойства программ, т.е. метрик оценки самого ПО;
* использование метрик для оценки технических характеристик и факторов разработки программ, т.е. метрик оценки условий разработки программ.
По виду информации, получаемой при оценке качества ПО метрики можно разбить на три группы:
* метрики, оценивающие отклонение от нормы характеристик исходных проектных материалов. Они устанавливают полноту заданных технических характеристик исходного кода.
* метрики, позволяющие прогнозировать качество разрабатываемого ПО. Они заданы на множестве возможных вариантов решений поставленной задачи и их реализации и определяют качество ПО, которое будет достигнуто в итоге.
* метрики, по которым принимается решение о соответствии конечного ПО заданным требованиям. Они позволяют оценить соответствие разработки заданным требованиям.
ОСНОВНЫЕ НАПРАВЛЕНИЯ ПРИМЕНЕНИЯ МЕТРИК.
В настоящее время в мировой практике используется несколько сотен метрик программ. Существующие качественные оценки программ можно сгруппировать по шести направлениям:
* оценки топологической и информационной сложности программ;
* оценки надежности программных систем, позволяющие прогнозировать отказовые ситуации;
* оценки производительности ПО и повышения его эффективности путем выявления ошибок проектирования;
* оценки уровня языковых средств и их применения;
* оценки трудности восприятия и понимания программных текстов, ориентированные на психологические факторы, существенные для сопровождения и модификации программ;
* оценки производительности труда программистов для прогнозирования сроков разработки программ и планирования работ по созданию программных комплексов.
МЕТРИЧЕСКИЕ ШКАЛЫ
В зависимости от характеристик и особенностей применяемых метрик им ставятся в соответствие различные измерительные шкалы.
Номинальной шкале соответствуют метрики, классифицирующие программы на типы по признаку наличия или отсутствия некоторой характеристики без учета градаций.
Порядковой шкале соответствуют метрики, позволяющие ранжировать некоторое характеристики путем сравнения с опорными значениями, т.е. измерение по этой шкале фактически определяет взаимное положение конкретных программ.
Интервальной шкале соответствуют метрики, которые показывают не только относительное положение программ, но и то, как далеко они отстоят друг от друга.
Относительной шкале соответствуют метрики, позволяющие не только расположить программы определенным образом и оценить их положение относительно друг друга, но и определить, как далеко оценки отстоят от границы, начиная с которой характеристика может быть измерена.
МЕТРИКИ СЛОЖНОСТИ ПРОГРАММ
При оценке сложности программ, как правило, выделяют три основные группы метрик:
* метрики размера программ
* метрики сложности потока управления программ
* и метрики сложности потока данных программ
Для оценки качества ПО применяются методы для моделей с расплывчатыми характеристиками:
-
Модель и метрики оценки сложности Боэма.
Модель оценки Боэма – оценка сложности, качества модуля. Учитывает объем кода, и сложность модуля определяется числом строк.
Е = 2,4 * K1.05
T = 2.5 * E0,38 - к прикладному ПО
Е = 3,6 * K1.2
T = 2.5 * E0,32 - к системному ПО
К – количество строк программного кода
Е – трудоемкость (чел/мес)
Т – продолжительность разработки (мес)
-
Модель и метрики оценки сложности Холстэда.
Учитывает объемные показатели программного кода.
n = n1 + n2
N = N1 + N2
n1, n2 – число различных операторов и операндов программы соответственно
N1, N2 – число всех операторов и операндов программы.
n – реляционный контекст.
N – длина исходного кода.
Применять данную модель можно при известном тексте модуля.
Int a,b,c;
a=1;
b=1;
c=a+b;
n1=3 N1=5
n2=3 N2=8
n=6 N=13
V = N* log2 n – объем
E
B
Модель и метрики оценки сложности Мак-Кейба (основанные на потоковых графах).
Модель и метрики, основанные на информационных потоках.
T
2/3 - наибольшее вероятностное количество ошибок в модуле.
метрика (модель) Мак-Кейба
Основывается на потоковых графах модуля. Программного кода может и не быть, но известен алгоритм или код описанный на псевдоязыке.
Вершины графа – операторы, стрелка – переход от одного оператора к другому.
С помощью данной модели можно определить логическую сложность программы.
V(M) = G(M)+1 = K2-K1+2;
V(M) – логическая сложность модуля;
M– имя модуля;
G(M) – количество базисных путей в графе;
K2 – количество вершин;
K1– количество дуг;
Case считается как один оператор.
-
Методы оценки качества программного обеспечения: анкетирование, рабочие списки, контрольные задачи, метрики. Государственные стандарты в области оценки качества программного обеспечения.
По объему ПО делят:
-
ПО большого объема (более 105 операторов: ОС, языки программирования и др. широко используемые программы) -
ПО большого объема для узкой сферы применения (ПО для телефонной связи, …) -
ПО среднего объема (104 – 105 команд) или широкого или узкого применения -
ПО небольшого объема и конкретного применения (103 – 104 команд)
Методы оценки:
-
Методы оценки с помощью метрик; -
Методы анкетирования. В основе лежит применение специальных анкет из 100-200 вопросов. С помощью этих анкет создаются атласы ПО, которые используются для качественной и количественной оценки. Пользователи сравнивают разные ПО и заполняют анкеты. Данный метод следует применять для ПО большого объема и широкого применения. -
Метод «рабочие списки» Позволяет оценить характеристики ПО на следующих уровнях ЖЦ:
- уровень анализа систем;
- уровень проекта систем;
- уровень проекта модуля;
- уровень программы модуля;
Рабочие списки – анкеты для специалистов, 200-300 вопросов, применяются интервальные шкалы. В отличии от метода анкетирования, уменьшается фактор субъективизма. Этот метод с большими трудозатратами и используется для ПО большого и среднего объема.
-
Метод «контрольные задачи» (метод измерения качества по конечному результату) Оценивается не алгоритм, а метод его реализации. Используется для ПО малого и среднего объема.