Стандартизация, сертификация и оценка качества программного обеспечения
Покупка
Тематика:
Прикладное программное обеспечение
Издательство:
Издательский Дом НИТУ «МИСиС»
Год издания: 2013
Кол-во страниц: 208
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-87623-722-4
Артикул: 753128.01.99
В работе описаны основные этапы разработки программного обеспечения и приведены требования к ним со стороны различных нормативных документов. Раздел 5 «Метрическая теория программ» посвящен моделям, которые позволяют вычислять критерии качества программ как на основе лексического анализа исходного текста, так и по результатам тестирования. Практические примеры реализованы на трех языках программирования: C, C++ и C#. Приводятся сравнения вычисленных характеристик Холстеда и Мак-Кейба для трех языков программирования и разных алгоритмов реализации задач. Учебное пособие предназначено для студентов, обучающихся по специальностям 230400 «Информационные системы и технологии», 230700 «Прикладная информатика» и 080500 «Бизнес-информатика» очной и заочной форм обучения. Может быть полезно специалистам, занимающимся практической деятельностью в области информационных систем и технологий.
Тематика:
ББК:
УДК:
- 006: Стандартизация продукции, мер весов, времени. Стандартизация. Техн. треб-я. Нормы и правила...
- 681: Точная механика. Автоматика. Приборостроение
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
МИНИСТЕРСТВО ОБРА ЗОВАНИЯ И НАУКИ РФ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ «МИСиС» № 2231 Центр дистанционного обучения Кафедра инженерной кибернетики А.И. Широков Е.П. Потоцкий СТАНДАРТИЗАЦИЯ, СЕРТИФИКАЦИЯ И ОЦЕНКА КАЧЕСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Учебное пособие Рекомендовано Учебно-методическим объединением по образованию в области прикладной информатики в качестве учебного пособия для студентов, обучающихся по направлению «Прикладная информатика» и другим экономическим специальностям Москва 2013
УДК 681.3 Ш64 Р е ц е н з е н т канд. техн. наук, проф. В.В. Муромцев (РГГУ) Широков, А.И. Ш64 Cтандартизация, сертификация и оценка качества программного обеспечения : учеб. пособие / А.И. Широков, Е.П. Потоцкий. – М. : Изд. Дом МИСиС, 2013. – 208 с. ISBN 978-5-87623-722-4 В работе описаны основные этапы разработки программного обеспечения и приведены требования к ним со стороны различных нормативных документов. Раздел 5 «Метрическая теория программ» посвящен моделям, которые позволяют вычислять критерии качества программ как на основе лексического анализа исходного текста, так и по результатам тестирования. Практические примеры реализованы на трех языках программирования: C, C++ и C#. Приводятся сравнения вычисленных характеристик Холстеда и Мак-Кейба для трех языков программирования и разных алгоритмов реализации задач. Учебное пособие предназначено для студентов, обучающихся по специальностям 230400 «Информационные системы и технологии», 230700 «Прикладная информатика» и 080500 «Бизнес-информатика» очной и заочной форм обучения. Может быть полезно специалистам, занимающимся практической деятельностью в области информационных систем и технологий. УДК 681.3 ISBN 978-5-87623-722-4 А.И. Широков, Е.П. Потоцкий, 2013
ОГЛАВЛЕНИЕ 1. Основные положения стандартизации ................................................5 1.1. Из истории стандартизации .........................................................5 1.2. Основные понятия и классификации в области стандартизации ....................................................................................7 1.3. Основные документы в области стандартизации ....................14 1.4. Международные стандарты .......................................................18 1.5. Национальные стандарты РФ ....................................................24 1.6. Стандарты в области информационных технологий ...............26 2. Жизненный цикл программного проекта .........................................37 2.1. Понятие «жизненный цикл» в управлении проектами ...........37 2.2. Понятие «программный продукт» .............................................41 2.3. Модели жизненного цикла разработки программных продуктов ............................................................................................44 2.4. Жизненный цикл программных продуктов в стандартах .......50 2.5. Сравнительный анализ рассмотренных жизненных циклов программного обеспечения ...............................................................55 3. Качество программных продуктов в стандартах .............................56 3.1. Понятие «качество продукции» .................................................56 3.2. Понятие «качество» применительно к программному обеспечению .......................................................................................56 3.3. Характеристики качества программного обеспечения в стандартах ...........................................................................................57 3.4. Управление качеством программного обеспечения ...............76 4. Сертификация программного обеспечения ......................................85 5. Метрическая теория программ ..........................................................97 5.1. Классификация моделей .............................................................97 5.2. Лексический анализ программ ..................................................98 5.2.1. Методика и метрики Холстеда ..........................................98 5.2.2. О понятиях «операторы», «операции» и «операнды» ...104 5.2.2.1. Операторы и операции языка программирования С .............................................................106 5.2.2.2. Операторы и операции языка программирования С++ ........................................................108 5.2.2.3. Операторы и операции языка программирования С# ........................................................... 110 5.2.3. Примеры расчета характеристик Холстеда .................... 112 5.2.3.1. Расчет характеристик Холстеда. Программа 1
«Счастливый билет» .............................................................. 113 5.2.3.2. Расчет характеристик Холстеда. Программа 2 «Счастливый билет» .............................................................. 117 5.2.3.3. Расчет характеристик Холстеда. Программа 3 «Счастливый билет» ..............................................................120 5.2.3.4. Расчет характеристик Холстеда. Программа 4 «Вертикальная змейка» с реализацией по алгоритму 1 .....127 5.2.3.5. Расчет характеристик Холстеда. Программа 5 «Вертикальная змейка» с реализацией по алгоритму 2 .....132 5.2.3.6. Расчет характеристик Холстеда. Программа 6 «Три последовательности» ...................................................139 5.3. Анализ алгоритмической сложности программ ...................147 5.3.1. Оценка алгоритмической сложности программ ............147 5.3.2. Построение графа сложности программы ................149 5.3.2.1. Линейная последовательность операторов ............149 5.3.2.2. Простое разветвление (оператор if) ......................151 5.3.2.3. Переключатель, множественный выбор .................151 5.3.2.4. Программы с операторами цикла............................153 5.3.3. Метрика Мак-Кейба и другие характеристики графа потока управления программы ..................................................160 5.3.4. Примеры расчета метрики Мак-Кейба и других характеристик алгоритмической сложности ...........................160 5.4. Процедурно-ориентированные метрики ................................173 5.4.1. Метрика на основе функциональных указателей .........173 5.4.2. Примеры расчета метрики на основе функциональных указателей ....................................................178 5.5. Модели надежности программных систем.............................188 5.5.1. Классификация моделей надежности программных средств ........................................................................................188 5.5.2. Статические модели .........................................................192 5.5.2.1. Модель Миллса .........................................................192 5.5.2.2. Модель Липова .........................................................195 5.5.2.3. Простая интуитивная модель ..................................195 5.5.3. Динамическая модель Джелински – Моранды. .............197 Библиографический список .................................................................200
1. ОСНОВНЫЕ ПОЛОЖЕНИЯ СТАНДАРТИЗАЦИИ При разработке и внедрении различных систем, в том числе и информационных, должно быть достигнуто их определенное качество. Это приводит к необходимости создания документов, получивших название стандартов. Являясь одним из возможных подобных документов, последние приобретают все большее значение. Начнем их описание с рассмотрения краткой истории вопроса. 1.1. Из истории стандартизации По мере развития человеческого общества совершенствовались предметы и орудия труда. При этом люди стремились запоминать удачные трудовые приемы с целью их повторного использованию. Таким образом, копирование и воспроизводство стали эффективным инструментом развития человечества. Использование в Древнем Китае и Египте единой системы мер, строительных деталей стандартного размера, водопроводных труб стандартного диаметра – это примеры деятельности по стандартизации. В России еще при великом князя Владимире был принят Устав о десятинах, судах и о людях церковных. В нем было поручение верховного надзора за мерами и весами. В 1845 г. был издан именной Указ государя, данный Сенату: «Положение о весах и мерах». В нем впервые в истории отечественной метрологии установлены основы государственной службы мер и весов: введена единая система мер на всей территории России. Тогда же было учреждено первое государственное метрологическое и поверочное учреждение России – Депо образцовых мер и весов. Разработана система организации надзора и поверки мер и весов; указаны министерства и учреждения, которые обязаны были заниматься единообразием мер и весов в государстве, определены порядок хранения, правила применения, производства и поверки от эталонов до рабочих и торговых мер [1]. В 1875 г. представители 19 государств учредили Международную метрическую конвенцию и Международное бюро мер и весов. Это можно считать началом международной стандартизации. Россия была одним из этих государств. В 1946 г. 14 октября в Лондоне открылась конференция национальных организаций по стандартизации. 25 стран, включая СССР, были представлены 65 делегатами. В этот день была учреждена Междуна
родная организации по стандартизации – ISO (от греч. слова isos – равный) [2]. А в 1970 г. Президентом ISO было предложено 14 октября отмечать как Международный день стандартизации [3]. Приведем несколько фактов из истории стандартизации СССР и России [4]. В 1918 г. главой государства В.И. Лениным был подписан декрет Совета Народных Комиссаров РСФСР «О введении международной метрической десятичной системы мер и весов». В 1925 г. был организован Комитет по стандартизации при Совете Труда и Обороны СССР и введена государственная стандартизация в СССР. Первым председателем был назначен В.В. Куйбышев. В 1926 г. утвержден первый общесоюзный стандарт «Пшеница. Селективные сорта зерна. Номенклатура». В 1954 г. создан Комитет стандартов, мер и измерительных приборов при Совете Министров СССР. С этого момента руководство стандартизацией и метрологией в стране стало единым. В 1970 г. Комитет стандартов мер и измерительных приборов Совета Министров СССР был преобразован в Государственный комитет Совета Министров СССР по стандартам (Госстандарт). В 1968 г. был разработан и утвержден комплекс государственных стандартов «Государственная система стандартизации» (ГСС). Согласно ГОСТ 1.0–68 были введены четыре категории стандартов: государственный стандарт Союза ССР (ГОСТ), республиканский стандарт (РСТ), отраслевой стандарт (ОСТ), стандарт предприятия (СТП). Правительства государств – участников СНГ, признавая необходимость проведения в области стандартизации согласованной технической политики, подписали 13 марта 1992 г. Соглашение о политике в области стандартизации, метрологии и сертификации. В соответствии с Соглашением был создан Межгосударственный совет по стандартизации, метрологии и сертификации, в задачу которого входила организация работ по стандартизации (а также метрологии и сертификации) на межгосударственном уровне. Для Российской Федерации это послужило началом формирования российской системы стандартизации. В 1993 г. был принят Закон РФ «О стандартизации», который определил меры государственной защиты интересов потребителей посредством разработки и применения нормативных документов по стандартизации.
1.2. Основные понятия и классификации в области стандартизации Основные понятия в области стандартизации изменяются и имеют отличие в разных странах. В Большой Советской Энциклопедии со ссылкой на Международную организацию стандартизации (International Organization for Standardization, ISO, ИСО, МОС) дается такое определение: стандартизация – установление и применение правил с целью упорядочения деятельности в определенной области на пользу и при участии всех заинтересованных сторон, в частности, для достижения всеобщей оптимальной экономии при соблюдении функциональных условий и требований техники безопасности. В Федеральном законе «О техническом регулировании» [5], принятом в 2002 г. Государственной Думой РФ, дается другое определение: стандартизация – деятельность по установлению правил и характеристик в целях их добровольного многократного использования, направ ленная на достижение упорядоченн ости в сферах производства и обращения продукции и повышение конкурентоспособности продукции, работ или услуг. Там же [5] формулируются цели и принципы стандартизации. Целями стандартизации являются: повышение уровня безопасности жизни и здоровья граждан, имущества физических и юридических лиц, государственного и муниципаль ного имущества, объектов с учетом риска возникновения чрезвычайных ситуаций природного и техногенного характера, повышение уровня экологической безопасности, безопасности жизни и здоровья животных и растений; обеспечение конкурентоспособности и качества продукции (работ, услуг), единства измерений, рационального использования ресурсов, взаимозаменяемости технических средств (машин и оборудования, их составных частей, комплектующих изделий и материалов), технической и информационной совместимости, сопоставимости результатов исследований (исп ытаний) и измерений, технических и экономико-статистическ их данных, проведения анализа характеристик продукции (работ, услуг), исполнения государственных заказов, добровольного подтверждения соответствия продукции (работ, услуг); содействие соблюдению требований технических регламентов;
создание систем классификации и кодирования технико-экономической и социальной информации, систем каталогизации продукции (работ, услуг), систем обеспе чения качества продукции (работ, услуг), систем поиска и передачи данных, содействие п роведению работ по унификации. Принципы стандартизации, определенные этим документом: добровольное применение документов в области стандартизации; максимальный учет при разработке стандартов законных интересов заинтересованных лиц; применение международного стандарта как основы разработки национального стандарта, за исключением случаев, если такое применение признано невозможным вследствие несоответствия требований международных стандартов климатическим и географическим особенно стям Российской Федерации, техническим и (или) технологическим особенностям или по иным основаниям либо Российская Федерация в соответствии с установленными процедурами выступала против принятия международного стандарта или от дельного его положения; недопустимость создания препятствий производству и обращению проду кции, выполнению работ и оказанию услуг в большей степени, че м это минимально необходимо для выполнения целей, указанных в статье 11 настоящего Федерального закона; недопустимость установления таких стандартов, которые противоречат техническим регламентам; обеспечение условий для единообразного применения стандартов. В Википедии приводится другой состав принципов стандартизации. Он обобщает информацию из разных документов. Таких принципов четыре: системность, повторяемость, вариантность, взаимозаменяемость [6]: Принцип системности определяет стандарт как элемент системы и обеспечивает создание систем стандартов, взаимосвязанных между собой сущностью конкретных объектов стандартизации. Системность – одно из требований к деятельности по стандартизации, предполагающее обеспечение взаимной согласованности, непротиворечивости, унификации и исключение дублирования требований стандартов. Принцип повторяемости означает определение круга объектов, к которым применимы вещи, процессы, отношения, обладающие
одним общим свойством – повторяемостью во времени или в пространстве. Принцип вариантности в стандартизации означает создание рационального многообразия (обеспечение минимума рациональных разновидностей) стандартных элементов, входящих в стандартизируемый объект. Принцип взаимозаменяемости предусматривает (применительно к технике) возможность сборки или замены одинаковых деталей, изготовленных в разное время и в различных местах. Представим в табл. 1.1 перечисленные ранее принципы стандартизации. Таблица 1.1 Сравнение принципов стандартизации Принципы стандартизации Федеральный закон «О техническом регулировании» Статья «Стандартизация» Википедии 1. Добровольное применение документов в области стандартизации 1. Системность 2. Максимальный учет законных интересов заинтересованных лиц 2. Повторяемость 3. Применение международного стандарта как основы разработки национального стандарта 3. Вариантность 4. Недопустимость создания препятствий производству и обращению продукции, выполнению работ и оказанию услуг 4. Взаимозаменяемость 5. Недопустимость установления таких стандартов, которые противоречат техническим регламентам 6. Обеспечение условий для единообразного применения стандартов В других методических документах по стандартизации приводятся до 12 принципов. Перечисленные выше включаются в них. Стандартизация реализуется через разработку, опубликование и применение стандартов. Само слово «стандарт» (англ. standart) переводится как образец, норма и означает эталон для сопоставления с другими подобными объектами. В Википедии это определяется так [7]: Стандартом называется документ, в котором в целях добровольного многократного использования устанавливаются характеристики продукции, правила осуществления и характеристики процессов производства, эксплуатации, поверки, хранения, пере
возки, реализации и утилизации, выполнения работ или оказания услуг. Стандарт также может содержать требования к терминологии, символике, упаковке, маркировке или этикеткам и правилам их нанесения. Стандарты могут выполнять целый ряд функций [7]: методический справочник; эталон для сертификации и измерения; снижение издержек на разработку; снижение издержек на поиск и изучение свойств продукции; оптимизация разнообразия (параметрические стандарты); унификация. Обобщив эти функции, можно их коротко сформулировать как «защита интересов потребителей и государства по вопросам качества продукции, процессов и услуг» [8]. Выделим два основных этапа процесса стандартизации. На первом из них вырабатываются нормы и правила, устанавливаются характеристики объекта стандартизации. На втором этапе осуществляется оформление установленных требований в виде нормативных документов. Необходимо отметить, что в связи с изменением характеристик и свойств объектов, для которых установлены стандарты, а также изменения среды их функционирования, эти два этапа повторяются многократно. Отметим еще одну особенность стандартов. Без них невозможна другая процедура – сертификация, устанавливающая соответствие объекта действующим стандартам. Классификационная модель комплекса стандартов выделяет виды стандартов. В ГОСТ Р 1.0–2004 в зависимости от объекта и аспекта стандартизации и содержания устанавливаемых требований вводятся следующие виды [9]: стандарты на продукцию; стандарты на процессы (работы) производства, эксплуатации, хранения, перевозки, реализации и утилизации продукции; стандарты на услуги; стандарты основополагающие (организационно-методические и общетехнические); стандарты на термины и определения; стандарты на методы контроля (испытаний, измерений, анализа). Дадим краткие характеристики таким стандартам [9, 10].