Программный сбой

Проблема:

  • сложный теоретический или практический вопрос, требующий изучения, разрешения; противоречивая ситуация, выступающая в виде противоположных позиций в объяснении каких-либо явлений, объектов, процессов и требующая адекватной теории для её разрешения;
  • это препятствие на пути к достижению поставленной цели. Проблемной называется ситуация, когда деятельность не реализуется принятыми ранее способами, и достижение результата деятельности в изменившихся условиях затруднено или исключено;
  • несоответствие между существующим и требуемым (целевым) состоянием системы при данном состоянии среды в рассматриваемый момент времени.

Проблемная ситуация:

  • некоторое реальное стечение обстоятельств, положение вещей, которым кто-то недоволен, не удовлетворен и хотел бы изменить.
  • осознание существования проблемы, возникающее при выполнении практического или теоретического действия, задания, того, что ранее усвоенных знаний оказывается недостаточно, и возникновение субъективной потребности в новых знаниях, реализующейся в целенаправленной познавательной активности.

Системные проблемы

Одним из центральных в современной теории системного анализа выступает понятие системной проблемы. Точно определить это понятие в виде какой-либо исчерпывающей формулировки невозможно. Вместе с тем, обобщая опыт научных исследований, можно выделить ряд признаков, позволяющих в совокупности идентифицировать проблемы этого класса. К таким признакам относятся:

  • Нестуктурированность или слабая структурированность.
  • Неформализованность или слабая формализация
  • Противоречивость
  • Неопределенность
  • Неоднозначность
  • Неформализованность
  • Комплексность

Проблемная ситуация как препятствие достижению цели имеет признаки:

  • высокая степень неопределенности (отсутствие или недостаток информации)
  • наличие явных или существенных противоречий в описании или оценке ситуации
  • слабая структурированность или отсутствие структурированности
  • отсутствие возможности формализации или слабая формализация проблемной ситуации

Структуризация и формализация проблем

Понятие степени структуризации проблемы, введенное Г. Саймоном и А. Ньюэллом (1958), связано с различным сочетанием количественной и качественной, объективной и субъективной информации, описывающей проблему.

Хорошо структурируемые, или хорошо формализуемые, проблемы допускают количественную формулировку, их наиболее существенные зависимости выражаются объективными моделями и представляются в символьной форме, где символы принимают числовые значения. Неструктурируемые, или неформализуемые, проблемы имеют лишь качественные, словесные описания, основанные на субъективных суждениях человека, количественные связи между важнейшими характеристиками проблемы отсутствуют или неизвестны. Промежуточное положение занимают слабо структурируемые, или плохо формализуемые, проблемы, сочетающие количественные и качественные компоненты и зависимости, причем преобладающую роль играют плохо определенные и недостаточно известные стороны проблемы.

Неопределенность

Содержательную сторону динамики системных проблем можно описать лишь возможными сценариями или вариантами развития событий, в которых нет исчерпывающих данных относительно обстоятельств, сопровождающих данную проблему, ее связей с другими проблемами и ресурсов, потребных для ее разрешения. Учесть заранее все ситуации, с которыми придется столкнуться при разрешении системной проблемы, невозможно. Изначально проявленная часть системной проблемы несет в себе незначительную часть от общего объема информации, необходимой для ее разрешения, а остальная часть скрыта от исследователя и начинает появляться только в процессе самого исследования. Кроме того, для системных проблем характерен широкий диапазон неочевидных способов и приемов их разрешения, но полный набор возможных вариантов не может быть определен заранее.

Комплексность

Системные проблемы затрагивают, интересы многих научных дисциплин, но ни одна из них в отдельности не способна предложить эффективные способы их целостного разрешения. Причина заключена в сравнительно узкой целевой ориентации традиционных научных дисциплин, изначально и, самое главное, сознательно ограничивающих круг своих интересов, поскольку считается, что только таким образом можно получить сколько нибудь значимые практические результаты. Системный анализ строится на иной концептуальной основе. Круг научно-практических интересов не должен замыкаться рамками одной теории, какую бы прогностическую силу она не декларировала. Эффективно разрешить системную проблему можно только в том случае, если привлечь адекватный по сложности комплекс научных методов и знаний, охватывающий своими познавательными возможностями все многообразие сторон и проявлений исследуемого объекта.

Знания и методы различных наук не могут стать комплексом сами по себе. Необходим некий системообразующий механизм, способный управлять его отдельными составляющими, согласовывать частные результаты исследований и концентрировать усилия на наиболее важных направлениях. В выполнении функций такого механизма заключается основное предназначение системного анализа.

Многоаспектность

Системные проблемы затрагивают множество разнородных сторон той субстанции, в которой они возникают и развиваются, а между этими сторонами существуют связи взаимного влияния. Попытки упростить проблему путем исключения так называемых «несущественных» аспектов могут приводить к ошибкам. В то же время стремление к полному учету всех сторон приводит к тому, что проблема становится необозримой и практически неразрешимой. В пространстве параметров любой системной проблемы существует область компромисса, поиск которой составляет одну из важнейших прагматических задач системного анализа.

Сбои программ — это нарушения нормального режима их функционирования. Проблемы такого рода приводят не только к невозможности работы с программой, но и к риску несанкционированного доступа к данным со стороны посторонних лиц.

Классификация сбоев программ

Сбои программного обеспечения различаются по последствиям, продолжительности, характеру влияния на операционную систему или другие программы. Часто встречается деление по признаку того, что привело к нарушениям:

  1. Действия пользователя. Многие программы принимают заведомо некорректные команды или настройки, не проверяя их на допустимость. Кроме того, штатные функции операционной системы или приложений могут быть деструктивными при неверном применении.
  2. Ошибка, допущенная на этапе программирования. Например, для запуска неверного алгоритма иногда достаточно перепутать тире и минус.
  3. Программный конфликт. Одновременно работающие утилиты или решения способны помешать друг другу: например, каждый из продуктов воспринимает второго как угрозу безопасности и начинает бороться с ним.
  4. Неисправность аппаратной части. К сбоям программ могут привести перегрев, статическое электричество, скачки напряжения.
  5. Вирусная атака. Зараженная компьютерная система будет работать с ошибками или вообще выйдет из строя.

Особо выделяют саботаж — например, устроенный одним из сотрудников корпорации при наличии доступа к компьютерной системе. В подобных ситуациях компьютерный сбой часто является имитацией, призванной скрыть противоправную деятельность.

Сбои могут приводить к ряду проблем:

  • принудительному завершению приложения,
  • переполнению оперативной памяти,
  • остановке работы операционной системы,
  • конфликтам между устройствами.

Сбои также классифицируются по степени серьезности (легкие неполадки, средней тяжести, критические), по периодичности (единичные и повторяющиеся), по распространенности (типичные или уникальные).

Сбои могут угрожать работе модулей отдельных программ или всей системы в целом, а также сохранности данных. Ситуация ухудшается, когда отдельно взятый компьютер является частью более мощной структуры, управляющей транспортной сетью, контролирующей производственный цикл, регулирующей уровень допустимого облучения и т.д.

Причины сбоев программ

Сбои происходят по причине изъянов, имеющихся в коде ПО. Также источником опасности являются вредоносные программы. Однако большинство неполадок обусловлено человеческим фактором. Игнорирование инструкций, попытки взаимодействовать с обновленной версией как со старой, установка программ на машину с недостаточно мощной конфигурацией, информационная неграмотность сотрудников дорого обходятся предприятиям и организациям.

Опасным является и стремление постоянно экономить. Сокращение штата влечет за собой увеличение нагрузки на сотрудников. Результатом становится снижение качества работы программистов.

Анализ рисков

Для того чтобы снизить риск возникновения сбоев программ, требуется:

  • проводить просветительскую работу среди сотрудников компании,
  • своевременно устанавливать обновления программного обеспечения, а при обнаружении в нем ошибок письменно извещать разработчиков,
  • тщательно тестировать программы (на этапе выпуска, при внедрении и пусконаладке),
  • проводить анализ исходного кода на возможные ошибки при помощи специальных средств,
  • проверять аппаратное обеспечение и при необходимости заменять проблемные блоки,
  • надежно защищать компьютерные системы от инфекций при помощи антивирусных продуктов.