ЛЕКЦИЯ 7. Первичные ошибки, вторичные ошибки и их проявления.
Тема нашего занятия: «Первичные ошибки, вторичные ошибки и их проявления». Цель занятия: раскрыть понятия первичных ошибок и вторичных ошибок и их проявления. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ И ФОРМА ОТЧЕТНОСТИ. Задание 1. Написать сжатый (план) конспект, по теме используя электронные ресурсы. Задание 2. Ответить на контрольные вопросы письменно.
КОНТРОЛЬНЫЕ ВОПРОСЫ: 1. Расскажите о классификации ошибок по месту их возникновения. 2. Раскройте следующие виды ошибок: пользовательского интерфейса, вычислений. 3. Раскройте следующие виды ошибок: управления потоком, передачи или интерпретации данных. Задание 3. Сделать вывод.
Источник: coreapp.ai
CALS-технологии. Первичные ошибки, вторичные ошибки и их проявления.. Основные принципы calsтехнологий
Гидравлическая стрелка и первично-вторичные кольца. Главная ошибка
Единственный в мире Музей Смайликов
Самая яркая достопримечательность Крыма
Скачать 40.68 Kb.
- CALS-технологии
В общем виде CALS-технологии — это процесс создания единого информационного пространства в отдельно взятой системе обеспечения жизненного цикла продукции. С развитием производственных систем возникла необходимость разработки механизмов и процедур оперативного обмена данными между различными субъектами производственных отношений на разных этапах использования изделий.
Первоначально данная концепция была реализована в вооруженных силах США для снижения объемов бумажного документооборота, повышения оперативности обратной связи между заказчиками и поставщиками вооружений и амуниции, повышении управляемости системы и снижении общих затрат на информационную область. Сама аббревиатура CALS обозначала «компьютерную поддержку поставок».
С течением времени CALS-технологии и CALS-системы значительно расширили поле своей деятельности. Различные отрасли машиностроения, строительных и транспортных сфер, область разработки проектов наукоемких производств. При этом если изначально применение ограничивалось производством и эксплуатацией, то теперь концепция действовала на всех стадиях жизненного цикла продукции.
- Обеспечение системного управления (использование специальных информационных пространств);
- Минимизацию затрат на всех стадиях;
- Использование стандартных механизмов описания управляемых объектов (интеграция информационных потоков);
- Дифференциацию программных элементов на основе использования общих стандартов (данных и интерфейсов доступа) и применение платформ на коммерческой основе;
- Представление информации на безбумажной основе с приоритетом использования электронной подписи;
- Сопутствующий инжиниринг все процессов;
- Непрерывное корректирование и усовершенствование с целью создания оптимальной модели управления.
Первичные и вторичные дислипидемии: практика курации на современном этапе
- Автоматизация отдельных элементов производства и формирование сопутствующих информационных потоков управления данными;
- Композиция различных информационных блоков (что помимо получения однородной информационной среды, гарантирует и композицию общей стратегии предприятия).
- Защиту данных во времени (обеспечение целостности);
- Обеспечение доступа к информации всех участников проекта, независимо от их положения в пространстве;
- Минимизацию потерь данных;
- Гибкость реагирования системы на внесенные коррективы (изменения доступны практически мгновенно в рамках всей системы);
- Повышение пропускной способности обработки данных;
- Широкие возможности разнообразных платформ проектирования и поддержки.
- Значительно увеличить уровень кооперации различных производств за счет однородных стандартов обработки информации;
- Снизить влияние территориального расположения предприятий и тем самым ограничить влияние расстояний на эффективность взаимодействия;
- Создать виртуальные элементы производств, позволяющих контролировать процессы проектирования, производства и эксплуатации изделий на уровне отдельных практических задач;
- Защитить результаты работы на основе преемственности результатов работы на всех этапах жизненного цикла продукции;
- Оптимизировать затраты за счет снижения бумажных составляющих документооборота;
- Использовать «прозрачность» процессов управления и контроля, благодаря разработке интегрированных моделей;
- Создать мощную информационную поддержку всех этапов цикла производства;
- Создать общую систему стандартизации информации об изделии;
- Обеспечить требуемый уровень качества продукции.
- CAD – (Computer Aided Design) – решение задач проектирования изделий и элементов; моделирование объектов на плоскости (2D-модель) и в пространстве (3D-модель); средства получения чертежей; архивы данных по элементам конструкций и создание шаблонов документов.
- CAE – (Computer Aided Engineering) – исследование свойств объектов (при изготовлении и эксплуатации); создание проверочных систем анализа объекта по разработанной модели; оптимизация параметров объекта по заданным условиям и ограничениям.
- CAM — (Computer Aided Manufacturing) – программирование контроллеров станков с ЧПУ; исследование вариантов траектории инструмента по алгоритмам обрабатываемой поверхности; анализ геометрических конфликтов; подгонка к оборудованию.
- PDM — (Product Data Management) — хранение данных и контроль документации; создание архива образцов; обеспечение доступа к информации и ее защита.
Еще одной важной функцией вычислительных методов является управление различными ресурсами и потоками предприятия в реальном времени — материально-техническими, финансовыми, процессами складирования, персоналом, планированием и сбытом продукции. Системы, реализующие выполнение перечисленных задач относятся к ERP-системам (Enterprise Resource Planning − управление ресурсами предприятия).
Такие системы представляют новую методологию управление CALS-технологиями, которая реализует требуемый функционал на основе специальной информационной инфраструктуры.
- Создание и контроль различных спецификаций (позволяют определить конечное изделие, учесть все необходимые ресурсы для производства);
- Управление сбытом продукции (прогноз реализации изделия на основе планов продаж);
- Анализ потребности в материалах (определение размера партий и сроков поставок, конкретных групп сырья и комплектующих);
- Организацию закупочной деятельности (формирование договоров о поставках, оптимизация складской деятельности предприятия);
- Планирование загрузки производственных мощностей (на уровне как всего предприятия, так и отдельных цехов или рабочих мест);
- Контроль финансовых ресурсов (учет и аудит финансов).
2 Первичные ошибки, вторичные ошибки и их проявления
Под ошибкой в широком смысле слова понимается неправильность, погрешность или неумышленное, невольное искажение объекта или процесса. При этом подразумевается, что известно правильное или неискаженное эталонное состояние объекта, к которому относится ошибка. Считается, что если программа не выполняет того, что пользователь от нее ожидает, то в ней имеется ошибка.
Важной особенностью процесса выявления ошибок в сложных программах является отсутствие полностью определенной правильной программы-эталона, которому должен соответствовать проверяемый текст. Поэтому нельзя гарантированно утверждать, что возможно написать программу без ошибок.
Распределение выявленных ошибок
Искажения в тексте программ (первичные ошибки) являются элементами, подлежащими корректировке. Однако непосредственно наличие ошибки обнаруживаются по ее вторичным проявлениям. Искажение выходных результатов исполнения программ (вторичная ошибка) вызывает необходимость выполнения ряда операций по локализации устранению первичной ошибки (отладка программ).
Одним из критериев профессионального мастерства программистов является их способность обнаруживать и исправлять собственные ошибки. Начинающие программисты не умеют этого делать, у опытных программистов это не вызывает затруднений. Ошибки в программах делают все. Только программисты разной квалификации делают разные по сложности и количеству ошибки.
На этапе отладки программ выявляются и исправляются много ошибок, но не все. Опыт показывает, что всякая последняя найденная ошибка на самом деле является предпоследней, т.к. программисты не продумывают до конца последствия исправления найденной ошибки.
Убывание ошибок в программном обеспечении и интенсивность их обнаружения не беспредельно. После отладки в течение некоторого времени интенсивность обнаружения ошибок при самом активном тестировании снижается настолько, что разработчики попадают в зону нечувствительности к программным ошибкам и отказам.
При такой интенсивности отказов программ трудно прогнозировать затраты времени, необходимые для обнаружения очередной ошибки. Создается представление о полном отсутствии ошибок в программе, о невозможности и бесцельности их поиска. Поэтому усилия на отладку сокращаются, и интенсивность обнаружения ошибок еще больше снижается. Этой предельно низкой интенсивности обнаружения отказов соответствует наработка на обнаруженную ошибку, при которой прекращается улучшение характеристик программного обеспечения на этапах его отладки и испытаний у заказчика.
Ошибку можно отнести к одному из ниже перечисленных классов:
- системные ошибки;
- ошибки в выборе алгоритма;
- алгоритмические ошибки;
- технологические ошибки;
- программные ошибки.
На начальных стадиях проектирования ПО не всегда удается точно сформулировать целевую задачу всей системы и требования к ней. В процессе проектирования ПО целевая функция системы уточняется и выявляются отклонения от уточненных требований, которые могут квалифицироваться как системные ошибки.
Некачественное определение требований к программе приводит к созданию программы, которая будет правильно решать неверно сформулированную задачу. В таких случаях, как правило, требуется полное перепрограммирование.
Признаком того, что создаваемая для заказчика программа может оказаться не соответствующей его истинным потребностям, служит ощущение неясности задачи. Письменная регистрация требований к программе заставляет заказчика собраться с мыслями и дать достаточно точное определение требований. Всякие устные указания являются заведомо ненадежными и часто приводят к взаимному недопониманию.
При автономной и в начале комплексной отладки ПО доля найденных системных ошибок в нем невелика (примерно 10%), но она существенно возрастает (до 35—40%) на завершающих этапах комплексной отладки. В процессе эксплуатации преобладающими являются системные ошибки (примерно 80% всех ошибок). Следует отметить также большое количество команд и групп программ, которые корректируются при исправлении каждой системной ошибки.
Ошибки в выборе алгоритма. В настоящее время накоплен значительный фонд алгоритмов для решения типовых задач.
К сожалению, часто плохой выбор алгоритма становится очевидным лишь после его опробования. Поэтому все же следует уделять внимание и время выбору алгоритма, с тем, чтобы впоследствии не приходилось переделывать каждую программу.
Во избежание выбора некорректных алгоритмов, необходимо хорошо ознакомиться с литературой по своей специальности.
К алгоритмическим ошибкам следует отнести, прежде всего, ошибки, обусловленные некорректной постановкой функциональных задач, когда в спецификациях не полностью оговорены все условия, необходимые для получения правильного результата. Эти условия формируются и уточняются в значительной части в процессе тестирования и выявления ошибок в результатах функционирования программ.
К алгоритмическим ошибкам следует отнести также ошибки связей модулей и функциональных групп программ. Их можно квалифицировать как ошибки некорректной постановки задачи. Алгоритмические ошибки проявляются в неполном учете диапазонов изменения переменных, в неправильной оценке точности используемых и получаемых величин, в неправильном учете связи между различными переменными, в неадекватном представлении формализованных условий решения задачи в спецификациях или схемах, подлежащих программированию и т.д. Эти обстоятельства являются причиной того, что для исправления каждой алгоритмической ошибки приходится изменять иногда целые ветви программного обеспечения, т.е. пока еще существенно больше операторов, чем при исправлении программных ошибок.
Алгоритмические ошибки значительно труднее поддаются обнаружению методами формализованного автоматического контроля. Вот почему необходимо тщательным образом продумывать алгоритм прежде, чем транслировать его в программу.
Некоторые программисты проверяют алгоритм следующим образом. Через несколько дней после составления алгоритма они повторно обращаются к описанию задачи и составляют алгоритм заново. Затем сличают оба варианта. Такой шаг на первый взгляд может показаться пустой тратой времени, однако всякая ошибка на уровне алгоритма может в дальнейшем обернуться катастрофой и повлечь основательный пересмотр программы.
Технологические ошибки — это ошибки документации и фиксирования программ в памяти ЭВМ. Они составляют 5—10 % от общего числа ошибок, обнаруживаемых при отладке. Большинство технологических ошибок выявляются автоматически формализованными методами (например, транслятором).
Источник: topuch.com
ТЕМА №4 Корректность ПС МиКПО — презентация
Основные понятия и виды корректности программ. Типы эталонов и методы измерений и проверки корректности программ. Ошибки в ПС (количественное описание ошибок, классификационная схема программных ошибок, источники ошибок). Управление технологической безопасностью ПС и данных МиКПО
Изображение слайда
Слайд 3
Корректность комплексов программ Корректность текстов программ Синтаксическая Корректность программных модулей Корректность данных Корректность групп и комплексов программ Семантическая Структурная Функциональная Структурная Конкретных значений Структурная и межмодульных связей Функциональная Детерминированная Стохастическая Детерминированная Динамическая Стохастическая МиКПО
Изображение слайда
Слайд 4: Корректность
КОНСТРУКТИВНАЯ Заключается в соответствии их структуры общим правилам структурного программирования и конкретным правилам оформления и внутреннего построения программных модулей. данных модулей ФУНКЦИОНАЛЬНАЯ Определяется корректностью обработки исходных данных и получения результатов. КОНСТРУКТИВНАЯ Определяется правилами их структурирования и упорядочения. ФУНКЦИОНАЛЬНАЯ Связана, в основном, с конкретизацией их содержания в процессе исполнения программ, а также при подготовке данных внешними абонентами. МиКПО
Изображение слайда
Слайд 5: Корректность групп программ
КОНСТРУКТИВНАЯ Определяется правилами структурного, модульного построения программных комплексов и общими правилами организации межмодульных связей. Эта составляющая может быть проверена формализованными автоматизированными методами. ФУНКЦИОНАЛЬНАЯ Можно разделить на: детерминированную корректность – обеспечивается тогда, когда между исходными и результирующими данными используемых программ и определенными эталонными значениями устанавливается однозначное соответствие стохастическую корректность – результирующие и исходные данные соответствуют распределениям случайных величин динамическую корректность – соответствие изменяющихся во времени результатов исполнения программ эталонным данным МиКПО
Изображение слайда
Слайд 6: Схема взаимодействия компонент, определяющих обнаруживаемые отклонения программ от эталонов
Модель области определения исходных данных Эталоны: формализованные правила; программные спецификации; тесты Проверяемые программы: исходные тесты; результаты исполнения Средства сравнения программ и их результатов с эталонами Отклонение от эталонов МиКПО
Изображение слайда
Слайд 7
Методы получения эталонных значений ручные или на ЭВМ расчеты по аналитическим формулам использование результатов функционирования ранее разработанных реальных комплексов программ или их компонент разработка упрощенных или обобщенных математических моделей проверяемых программ разработка правдоподобных гипотез и постановка умозрительных экспериментов МиКПО
Изображение слайда
Слайд 8: Верификация программ и инварианты
Верификация (подтверждение правильности) программ состоит в проверке и доказательстве корректности разработанной программы по отношению к совокупности формальных утверждений, представленных в программной спецификации и полностью определяющих связи между входными и выходными данными этой программы, при этом отношения между переменными на входе и на выходе программы анализируется не в виде конкретных значений (или распределений, как при тестировании), а в виде описания их свойств, проявляющихся при любых процессах обработки этих переменных в контролируемой программе (т.е. проверка на более высоком уровне). Инварианты – представляют собой условия, не зависящие от входных спецификаций программы и отражающие фактические отношения между переменными программы. МиКПО
Изображение слайда
Слайд 9: Блок-схема системы верификации программных модулей
Разработчик программы Текст программы на языке Автоматическая генерация инвариантов верификации Контроль исходных данных и дополнение условий верификации Группирование условий верификации по этапам доказательства корректности Доказательство корректности компонент программы Доказательство корректности взаимодействия компонент и программы в целом Спецификации на программный модуль Синтаксический контроль корректности спецификаций МиКПО
Изображение слайда
Слайд 10: Понятие ошибки
В широком смысле слова под ошибкой понимают неправильность, погрешность или неумышленное, невольное искажение объекта или процесса. При этом подразумевается, что известно правильное или неискаженное состояние объекта, к которому относится ошибка. Считается, что в программе имеется ошибка, если она не выполняет того, что пользователю разумно от нее ожидать. В результате наличие ошибки становится функцией, как самого программного комплекса, так и неформализованных ожиданий его пользователей. МиКПО
Изображение слайда
Слайд 11: Первичные и вторичные ошибки (часть 1)
Первичные ошибки – это искажения в тексте программ, подлежащие корректировке. Однако непосредственно обнаруживается ошибка по ее вторичным проявлениям, путем сравнения результатов функционирования программы с одним из перечисленных выше типов эталонов. Искажение выходных результатов исполнения программы, или вторичная ошибка, вызывает необходимость выполнения ряда операций по локализации и устранению первичной ошибки. В первом приближении величину вторичной ошибки в j -х результатах решения задачи за счет пропущенных при отладке первичных ошибок можно оценить статистически следующим образом: Если принять, что при длительности отладки величина есть вероятность наличия в программе первичной ошибки k -го типа, которая при исполнении программы вносит в результирующую j -ю переменную дополнительную ошибку, то значение вторичной ошибки у j -й переменной можно представить выражением , где m – полное количество типов, не выявленных в программе, первичных ошибок. МиКПО
Изображение слайда
Слайд 12: Первичные и вторичные ошибки (часть 2)
Формальная оценка значений и затруднительна, в лучшем случае их можно оценить методами экспертного опроса при условии четкой предварительной классификации m типов первичных ошибок в программах (индекс k ) и q выходных величин (индекс j ). Тогда можно получить общую средневзвешенную ошибку функционирования системы вследствие не выявленных первичных ошибок: Потеря эффективности программ за счет неполной отлаженности в первом приближении можно считать прямо пропорциональным (с коэффициентом ) среднеквадратическим вторичным ошибкам в выходных результатах: МиКПО
Изображение слайда
Слайд 13: Первичные и вторичные ошибки (итог)
Таким образом, оценка вторичных ошибок функционирования программ может в принципе производиться по значениям потерь вследствие не устраненных первичных ошибок в программе. Вторичные ошибки являются определяющими для эффективности функционирования программ, и не каждая первичная ошибка вносит заметный вклад в выходные результаты. Вследствие этого ряд первичных ошибок может оставаться необнаруженным и, по существу, не влияет на функциональные характеристики программы. МиКПО
Изображение слайда
Слайд 14: Классификационная схема ошибок
Изображение слайда
Слайд 15: Тема
ОБЕСПЕЧЕНИЕ ТЕХНОЛОГИЧЕСКОЙ БЕЗОПАСНОСТИ ПС И БД МиКПО
Изображение слайда
Слайд 16: Основные понятия
Безопасность данных – защита данных от случайного или преднамеренного разрушения, раскрытия или модификации. Секретность – право лица решать, какую информацию он желает разделить с другими, а какую скрыть. Конфиденциальность – понятие, которое употребляется по отношению к данным; это статус, предоставленный данным и согласованный между лицом или организацией, предоставляющей данные, и организацией, получающей данные. Конфиденциальность определяет требуемую степень защиты данных. Целостность – имеет место тогда, когда данные в системе не отличаются от данных в исходных документах, т.е. не произошло случайного или преднамеренного изменения данных, их уничтожения. МиКПО
Изображение слайда
Слайд 17: Цели обеспечения безопасности использования программ и данных
Сохранение целостности, полноты и достоверности информации и программ обработки данных, установленных собственником или уполномоченным им лицом. Предотвращение утечки, хищения, утраты, несанкционированного уничтожения, искажения модификации (подделки), блокирования, копирования и других непредусмотренных негативных воздействий на ПС и данные, информационную систему. Обеспечение конституционных прав граждан на сохранение личной тайны и конфиденциальности персональной информации, накапливаемой в БД. Сохранение секретности, конфиденциальности информации в соответствии с действующим законодательством. Соблюдение прав авторов программной и информационной продукции, используемых в информационной системе. МиКПО
Изображение слайда
Слайд 18: Модель анализа безопасности информационной системы при отсутствии злоумышленных угроз
Объекты уязвимости вычислительный процесс информация БД объектный код программ информация для потребителей Дестабилизирующие факторы и угрозы безопасности Внутренние: ошибки проектирования при постановке задач ошибки алгоритмизации задач ошибки программирования недостаточное качество средств защиты Внешние: ошибки персонала при эксплуатации искажения информации в каналах сбои и отказы аппаратуры ЭВМ изменения конфигурации системы Меры предотвращения угроз безопасности предотвращение ошибок в CASE -технологиях систематическое тестирование обязательная сертификация Оперативные методы повышения безопасности временная избыточность информационная избыточность программная избыточность Последствия нарушения безопасности разрушение вычислительного процесса разрушение информации БД разрушение текста программ разрушение информации для потребителей Модель анализа безопасности информационной системы при отсутствии злоумышленных угроз МиКПО
Изображение слайда
Слайд 19: Оперативные методы повышения безопасности
Временная избыточность состоит в использовании некоторой части производительности ЭВМ для контроля исполнения программ и восстановления вычислительного процесса. Информационная избыточность состоит в дублировании накопленных, исходных и промежуточных данных, обрабатываемых программой. Программная избыточность для контроля обеспечения достоверности наиболее важных решений по обмену и обработки информации. МиКПО
Источник: showslide.ru