- •Восточно-сибирский государственный технологический университет
- •Метрология программного обеспечения
- •220400 «Программное обеспечение вычислительной техники и автоматизированных систем»
- •Введение
- •1. Роль стандартизации в развитии разработок в области информационных технологий.
- •1.1. Нормативно-методическая база стандартизации по
- •1.2. Основные направления стандартизации процессов разработки программных средств.
- •2. Стандартизация информационных технологий: состояние и перспективы развития.
- •2.1. Современное состояние стандартизации в мире
- •2.2. Состояние и проблемы стандартизации в России
- •3. Система показателей качественных и количественных характеристик программного продукта
- •3.1. Стандартизация характеристик качества
- •3.2. Выбор показателей качества
- •3.3. Оценки качества по
- •4. Модели и метрики оценки качества по
- •4.1. Оценка сопровождаемости программ.
- •4.2. Корректность
- •4.3. Метрики сложности программ
- •4.3.1. Метрики размера программ
- •4.3.2. Метрики сложности потока управления программ.
- •3.4.3. Метрики сложности потока данных
- •4.4. Модели надежности программ
- •4.4.1. Модели надежности по по структуре времени
- •4.4.2. Методы оценки числа оставшихся в по ошибок, основанные на метриках Холстеда
- •4.4.3. Методы оценки показателей надежности по, основанные на моделях «посева» и разметки ошибок и на моделях структуры входных данных.
- •4.4.4. Методы оценки, основанные на моделях структуры входных данных
- •4.4.5. Текстовые модели надежности по
- •4.5. Метрики стилистики и понятности программ
- •4.6. Метрика изменения длины программной документации.
- •4.7. Методы проведения контроля за качеством по
- •5. Сертификация программного обеспечения
- •5.1. Понятие сертификации
- •5.2. Виды сертификации программного обеспечения
- •5.3. Органы сертификации программного обеспечения в Российской Федерации
- •Список используемой литературы
1.2. Основные направления стандартизации процессов разработки программных средств.
История развития разных областей техники показывает, что наиболее эффективным и перспективным методом совершенствования, упорядочения разработки программного обеспечения (ПО) были и остаются стандартизация и унификация.
Проектирование ПО во многих случаях осуществляется и оценивается на базе неформализованных представлений и стремлений разработчиков, а так же требований заказчиков: ускорить разработку, улучшить качество и снизить стоимость создания ПО.
Опыт разных разработчиков, технико-экономические показатели (ТЭП) и графики разработки ПО, как правило, не учитываются, не подвергаются обобщению и не используются в качестве исходной статистической базы для прогнозирования аналогичных характеристик новых проектов.
Таким образом, в стандартах обобщаются опыт и результаты исследований многих специалистов и сосредоточиваются наиболее эффективные современные методы и процессы. В результате таких обобщений вырабатываются технологические процессы и приемы разработки, а также методическая база для их автоматизации. Это способствует повышению качества ПО и снижению затрат на их создание.
Руководствуясь стандартами, производители получают возможность наладить массовое производство продукции, повысить ее качество. Использование стандартов помогает сформировать четкие программы обучения, снизить квалификационные требования к персоналу, лучше подготовить персонал к решению практических задач.
С учетом вышеизложенных фактов следует сделать ряд выводов.
Стандартизация позволяет:
не допустить проблем связанных с закупкой нестандартного оборудования;
формализовать требования к квалификации персонала, сохранить независимость от него, разрабатываемых программных продуктов.
Стандарты необходимы:
потребителям ПО (для выбора техники, упорядочения деятельности и взаимодействия с поставщиками);
разработчикам и эксплуатационникам ПО (для снижения себестоимости продукции, повышения качества решений и обеспечения совместимости с другими системами, следования требованиям рынка).
Учитывая технологию проектирования, жизненный цикл и применение ПО, стандарты, включают операционные системы, языки программирования, интерфейсы с внешней средой, графику и т. п. В данном случае целесообразно ограничиться выделением стандартов, непосредственно поддерживающих планирование и управление технологическими процессами проектирования, разработки и сопровождения ПО.
Стандарты могут использоваться как директивные, руководящие или как рекомендательные документы, а также как организационная база при создании средств автоматизации соответствующих технологических этапов или процессов. Подобная стандартизация процессов отражается не только на их технико-экономических показателях, но и, что особенно важно, на качестве создаваемых ПО. Качество программ тесно связано с методами и технологией их разработки, поэтому важной группой стандартов в этой области являются стандарты по обеспечению качества ПО.
Наиболее актуальна стандартизация при коллективной разработке ПО для систем управления в реальном времени, в которых предъявляются высокие требования к качеству. В этих случаях особенно необходимо четкое планирование и управление технологическими процессами проектирования [10].
Анализ процессов стандартизации в международной практике позволяет выделить два основных направления.
Первое, наиболее широко применяемое, направление организовано Международной организацией стандартизации (International Standards Organizatio - ISO) и Международной комиссией по электротехнике (International Electrotecnical Commission - IEC). В рамках деятельности этих организаций готовятся и издаются международные эталоны, имеющие значение для электротехнической стандартизации, вопросов связи.
Институт инженеров электротехники и радиоэлектроники в США (Institute of Electrotechnical and Electronics Engineers - IEEE) вместе с Американским национальным институтом стандартизации (American National Standards Institute - ANSI) активно развивают второе направление. По этому направлению осуществляется поддержка в разработке национальных и во многих случаях интернациональных стандартов, связанных с основными путями внедрения новых технологий.
Липаев В.В. выделяет третье направление, которое стимулируется министерством обороны США (Departament of Defense - DOD). Создаваемые по этому направлению стандарты имеют во многих случаях характер, обязательный для фирм, работающих по заказам министерства обороны США.
В рамках всех описанных направлений созданы или разрабатываются стандарты, отражающие процессы проектирования, поддержки, эксплуатации и сопровождения ПО.