Оглавление
Введение 3
Цифровые вычислительные устройства IV поколения 5
Понятие персонального компьютера 6
Диагностирование цифровых вычислительных устройств 8
Виды контроля 9
Аппаратный контроль 9
Комбинированный контроль 10
Программный контроль. 13
Программное обеспечение ЭВМ 14
Системное программное обеспечение 15
Прикладное программное обеспечение 18
Инструментальное программное обеспечение 20
Показатели надежности программного обеспечения 21
Статическое определение надежности программного обеспечения 23
Технические требования надежного ПО 28
Вывод 28
Список используемой литературы: 30
Введение
Вся история цифровых вычислительных устройств определяется серией замечательных физических открытий в области электроники. Строго говоря, вычислительные машины существовали и до XX века: это абак, счеты, логарифмические линейки, арифмометры, счетные машины Паскаля и Бэббиджа и некоторые другие.
Всё это — механические устройства с очень ограниченными возможностями. История же собственно электронных вычислительных машин начинается в двадцатом веке и связана с изобретением в 1906 году американским инженером Ли де Форестом вакуумного триода. На основе триодов были созданы ЭВМ так называемого первого поколения, начинающего свою историю в 40-е годы. Это поколение компьютеров-монстров, занимавших по своим размерам целые комнаты и потреблявших мощности, достаточные для работы небольшого завода. Однако, несмотря на такую громоздкость, производительность этих машин была весьма скромной.
Качественное изменение ЭВМ произошло после еще одного эпохального открытия физики — изобретения в 1947 году Джоном Бардином, Уолтером Браттейном и Уильямом Шокли полевого транзистора. Применение полупроводниковых транзисторов вместо вакуумных ламп (триодов) позволило существенно уменьшить размеры и энергопотребление машин второго поколения и повысить их быстродействие и надежность.
Дальнейшее развитие компьютеров связано с использованием интегральных схем, впервые изготовленных в 1960 году американцем Робертом Нойсом. Интегральная схема — это множество, от десятков до миллионов, транзисторов, размещенных на одном кристалле полупроводника. Использование интегральных схем (компьютеры третьего поколения), больших и сверхбольших интегральных схем (четвертое поколение) привело к значительному упрощению процесса изготовления ЭВМ и увеличению их быстродействия. В 80-е годы началось изготовление персональных компьютеров, которые постепенно приобрели современный вид. Примерно тогда же появились первые мобильные компьютеры, или ноутбуки. Огромной производительности достигли многопроцессорные вычислительные комплексы — так называемые суперкомпьютеры.
Рисунок 1- «История развития ЭВМ и электронные достижения 20 века»
Цифровые вычислительные устройства IV поколения
Четвёртое поколение - это теперешнее поколение компьютерной техники, разработанное после 1970 года.
Впервые стали применяться большие интегральные схемы (БИС), которые по мощности примерно соответствовали 1000 ИС. Это привело к снижению стоимости производства компьютеров. В 1980 г. центральный процессор небольшой ЭВМ оказалось возможным разместить на кристалле площадью 1/4 дюйма (0,635 см2.). БИСы применялись уже в таких компьютерах, как "Иллиак", "Эльбрус", "Макинтош". Быстродействие таких машин составляет тысячи миллионов операций в секунду. Емкость ОЗУ возросла до 500 млн. двоичных разрядов. В таких машинах одновременно выполняются несколько команд над несколькими наборами операндов.
C точки зрения структуры машины этого поколения представляют собой многопроцессорные и многомашинные комплексы, работающие на общую память и общее поле внешних устройств. Ёмкость оперативной памяти порядка 1 - 64 Мбайт.
Распространение персональных компьютеров к концу 70-х годов привело к некоторому снижению спроса на большие ЭВМ и мини-ЭВМ. Это стало предметом серьезного беспокойства фирмы IBM (International Business Machines Corporation) - ведущей компании по производству больших ЭВМ, и в 1979 г. фирма IBM решила попробовать свои силы на рынке персональных компьютеров, создав первые ПК.
В 1981 году она выпустила свой первый микрокомпьютер IBM PC с открытой архитектурой, основанный на 16-разрядном микропроцессоре 8088 фирмы Intel. Этот компьютер был оборудован монохромным текстовым дисплеем, двумя дисководами для 5-дюймовых дискет на 160 Кбайт, оперативной памятью 64 Кбайта. По поручению IBM фирма Microsoft разработала для IBM PC собственную операционную систему.
Понятие персонального компьютера
Персональный компьютер — однопользовательская (предназначенная для использования одним пользователем) ЭВМ, имеющая эксплуатационные характеристики бытового прибора и универсальные функциональные возможности. ПК может быть стационарным (чаще всего настольным) или портативным (лептоп, планшет).
Согласно ГОСТ 27201-87, ПК применяются как средства массовой автоматизации (в основном для создания на их основе автоматизированных рабочих мест) в социальной и производственных сферах деятельности в различных областях народного хозяйства и предназначенные для пользователей, не обладающих специальными знаниями в области вычислительной техники и программирования.
Изначально компьютер был создан как вычислительная машина, но ПК также используется в других целях — как средство доступа в информационные сети и как платформа для мультимедиа (мультимедиастанция), и компьютерных игр (игровой ПК), и персональная рабочая станция.
Рисунок 2- «Основные части типичного персонального компьютера»
монитор материнская плата центральный процессор оперативная память карты расширений блок питания оптический привод жёсткий диск компьютерная мышь клавиатура
Причин использования персональных компьютеров (ПК) в профессиональной деятельности может быть множество, и в зависимости от целей и решаемых задач для автоматизации рабочего места специалиста выбирается определенный тип компьютера.
Если вы бухгалтер, то желание автоматизировать трудоемкий бухгалтерский учет может быть причиной приобретения настольного ПК. Менеджеру, работа которого связана с разъездами, подойдет ноутбук для качественного оформления договоров и облегчения работы с клиентской базой данных. Желание автоматизировать учет товаропотоков приведет коммерсанта к мысли о приобретении мобильного карманного компьютера.
Все компьютеры можно разделить на несколько категорий:
базовые настольные ПК — универсальные настольные ПК; мобильные компьютеры — карманные (ручные) и блокнотные, или планшетные, ПК (ноутбуки) и телефоны-компьютеры (смартфоны); специализированные ПК — сетевые компьютеры, рабочие станции и серверы высокого уровня; суперкомпьютерные системы.
Каждой категории компьютеров соответствует своя специфичная программно-аппаратная инфраструктура.
Диагностирование цифровых вычислительных устройств
Увеличение надежности компьютеров приводит к тому, что поиск неисправных элементов и ремонт их производятся сравнительно редко. Поэтому наряду с повышением надежности ПК наблюдается тенденция потери эксплуатационным персоналом определенных навыков поиска и устранения неисправностей. Таким образом, возникает проблема обслуживания непрерывно усложняющихся компьютерных систем в условиях, когда не хватает персонала высокой квалификации. Данная проблема решается путем создания систем автоматического диагностирования неисправностей, которые призваны облегчить обслуживание и ускорить ремонт компьютеров.
Система автоматического диагностирования представляет собой комплекс программных, микропрограммных и аппаратных средств, справочной документации (диагностических справочников, инструкций, тестов).
Метод диагностирования характеризуется объектом элементарной проверки, способом подачи воздействия и снятия ответа.
Существуют следующие методы тестового диагностирования:
двухэтапное диагностирование; последовательное сканирование; эталонные состояния; микродиагностирование; диагностирование, ориентированное на проверку сменных блоков.
Диагностика компьютерных систем - процесс (непрерывного) анализа состояния системы. При возникновении неисправности устройств фиксируется факт неисправности, определяется ее место и вид. Сообщение о неисправности передается, устройство отключается и заменяется резервным.
Системный администратор, на которого чаще всего ложатся функции по проведению диагностики, должен начинать изучать особенности своей системы уже на фазе ее формирования, т.е. знать схему компьютерной сети и подробное описание конфигурации программного обеспечения с указанием всех параметров и интерфейсов. Для оформления и хранения этой информации применяются специальные системы документирования. Используя их, системный администратор, будет заранее знать все возможные «скрытые дефекты» и «узкие места» своей системы, для того, чтобы в случае возникновения нештатной ситуации знать, с чем связана проблема с оборудованием или программным обеспечением, повреждена программа или к ошибке привели действия оператора. Системному администратору следует помнить, что с точки зрения пользователей качество работы прикладного программного обеспечения системы оказывается определяющим.
Для определения и устранения неисправностей необходимо последовательно использовать процедуры автоматического контроля, диагностирования и восстановления. Так, при запуске ПК процедура POST производит контроль исправности основных блоков и узлов ЭВМ. В случае же обнаружения отказов необходимо воспользоваться методами и средствами автоматического диагностирования для более подробной локализации (поиска) неисправности.
Для устранения аппаратных неисправностей достаточно часто используют замену поврежденных элементов. Для устранения программных неисправностей удобнее воспользоваться системой автоматического восстановления.
Виды контроля Аппаратный контроль
Производится путем введения в состав СВТ специального дополнительного контрольного оборудования, работающего независимо от программ. Этот вид контроля обеспечивает проверку правильности функционирования СВТ практически без снижения их быстродействия.
Аппаратный контроль классифицируется по назначению, режиму работы, степени использования и конструктивному исполнению. В зависимости от вида аппаратного контроля применяется различная аппаратура. Каждый вид контроля используется в режиме реального времени и в режиме профилактических проверок, причем контроль может быть как автоматическим, так и с привлечением обслуживающего персонала. В связи с малыми размерами интегральных схем и низкой ценой комплектующих для ПК сфера применения аппаратуры этого рода в IT-индустрии распространяется в основном на «мэйнфреймы» и суперкомпьютеры.
Использование только аппаратного контроля приводит к удорожанию и усложнению. Однако применение отдельных встроенных средств аппаратного контроля довольно широко используется производителями компьютерной техники. Так, практически все последние модели системных плат ведущих производителей оснащены термодатчиками для определения температуры процессора. Пользователь может, изменяя настройки BIOS, указать предельную температуру, при достижении которой происходит выключение компьютера (по умолчанию обычно используется значение 70 °С). Таким способом осуществляется аппаратная защита процессора от перегрева. Кроме того, многие системные платы оснащены датчиками частоты вращения вентиляторов внутри корпуса (например кулера процессора). Значения, получаемые этими датчиками, можно узнать, используя программы мониторинга или аппаратные индикаторы. Наблюдая за их показаниями, пользователь может определить, когда требуется провести техническое обслуживание или замену вентилятора.
Комбинированный контроль Для проверки правильности функционирования СВТ использовать только программный или только аппаратный контроль нецелесообразно, так как это приводит к значительным затратам по обслуживанию и ремонту СВТ. Поэтому обычно применяют комбинированный метод контроля, представляющий собой оптимальное сочетание программных и аппаратных средств.
По назначению комбинированный контроль подразделяется на наладочный, проверочный и мониторинг.
Комбинированный контроль может производиться как в режиме реального времени при работе средств вычислительной техники (СВТ), так и при проведении профилактических мероприятий.
Примерная классификация комбинированного контроля приведена на локальной вычислительной сети (ЛВС). С помощью программы ping проверяется работоспособность каждой рабочей станции в сети. Если она не «пингуется», значит либо неправильно настроен данный узел сети, либо поврежден кабель, либо имеются проблемы с коммутатором.
С проверочным комбинированным контролем мы сталкиваемся сразу же, как только включаем ПК. При его загрузке начинает свою работу программа POST, и если она выдает ошибки (например не опознается видеокарта или жесткий диск), то далее мы должны решать эти проблемы аппаратно.
Самым распространенным примером мониторинга является проверка количества чернил в картридже принтера. Диагностическая программа показывает нам количество чернил в картридже, а когда они заканчиваются, мы решаем эту проблему аппаратно. Существуют и более сложные диагностические программы, контролирующие, например, термодатчики материнской платы, но проблему нагревания мы опять же решаем аппаратно.
Комбинированный метод позволяет существенно сократить время поиска и устранения ошибок.
Диагностическое программное обеспечение чрезвычайно необходимо в том случае, если система начинает выдавать сбои, происходит модернизация системы, добавление новых устройств, и т.д. Диагностические программы позволяют проверить работу как всей системы так и её отдельных компонентов.
Самый простой первичный контроль ПК - это контроль при его загрузке - POST (Power-On Self Test - «процедура самопроверки при включении»).
В микропрограмме, записанной в BIOS, есть раздел, который носит название «Power-On Self Test» (POST). Эта процедура выполняется каждый раз, когда пользователь включает питание ПК или выполняет перезапуск с помощью кнопки Reset или комбинации клавиш Ctrl + Alt + Del. Эта программа призвана обнаружить правильно подключенные обязательные устройства и проверить их работоспособность. Запросный код размером в один байт от 0 0h до FFh, сформированный в результате работы программы POST, записывается в специально отведенное адресное пространство с адресом 8 0h. Полученные для каждого устройства результаты заносятся в соответствующие ячейки памяти. Таким образом, при каждом включении компьютера автоматически выполняется проверка всех его основных компонентов - процессора, микросхемы ПЗУ (ROM), вспомогательных элементов системной платы, оперативной памяти и основных периферийных устройств. Эти тесты проводятся быстро и не очень тщательно по сравнению с тестами, выполняемыми диагностическими программами; их цель -- выявить наиболее грубые неисправности или отсутствие обязательного компонента. При обнаружении неисправного компонента выдается соответствующее предупреждение или сообщение об ошибке (неисправности).
Программа POST выполняет самые первые защитные функции ПК. Она всегда выдает сообщение о неисправности, если обнаруживаются критичные неполадки на системной плате. Если окажется, что неполадка достаточно серьезная, то дальнейшая загрузка системы будет приостановлена и появится сообщение об ошибке (неисправности), по которому, как правило, можно определить причину ее возникновения. Такие неисправности иногда называют «фатальными ошибками» (fatal error).
Процедура POST обычно предусматривает три способа индикации неисправности:
звуковые сигналы; текстовые сообщения, выводимые на экран монитора; шестнадцатеричные коды ошибок, выдаваемые на порт ввода-вывода. Для звукового сигнала используется встроенный звуковой динамик, подключенный к системной плате.
Сообщения об ошибках выводятся на экран монитора только после инициализации видеоадаптера. При обнаружении процедурой POST той или иной неисправности компьютер издает характерные звуковые сигналы, по которым можно определить неисправный элемент (или их группу). Если компьютер исправен, то при его включении вы услышите один короткий звуковой сигнал; если же обнаружена неисправность, то выдается целая серия коротких или длинных звуковых сигналов, а иногда -- их комбинация. Характер звуковых кодов зависит от версии BIOS и ее фирмы-разработчика.
Программный контроль. Основан на использовании специальных программ, контролирующих работу машины. В качестве программных средств контроля и диагностики СВТ используются наладочные, проверочные и диагностические тесты, входящие в комплекс программно-технического обслуживания, который включает также ряд управляющих и сервисных программ.
Программное обеспечение ЭВМ
Программное обеспечение (англ. software) – это совокупность программ, обеспечивающих функционирование компьютеров и решение с их помощью задач предметных областей. Программное обеспечение (ПО) представляет собой неотъемлемую часть компьютерной системы, является логическим продолжением технических средств и определяет сферу применения компьютера.
Рисунок 3- «Классификация программного обеспечения»
Системное программное обеспечение
Системное программное обеспечение (СПО) – это программы, управляющие работой компьютера и выполняющие различные вспомогательные функции, например, управление ресурсами компьютера, создание копий информации, проверка работоспособности устройств компьютера, выдача справочной информации о компьютере и др. Они предназначены для всех категорий пользователей, используются для эффективной работы компьютера и пользователя, а также эффективного выполнения прикладных программ.
Центральное место среди системных программ занимают операционные системы. Операционная система (ОС) – это комплекс программ, предназначенных для управления загрузкой, запуском и выполнением других пользовательских программ, а также для планирования и управления вычислительными ресурсами ЭВМ, т.е. управления работой ПЭВМ с момента включения до момента выключения питания. Она загружается автоматически при включении компьютера, ведет диалог с пользователем, осуществляет управление компьютером, его ресурсами (оперативной памятью, дисковым пространством и т.д.), запускает другие программы на выполнение и обеспечивает пользователю и программам удобный способ общения – интерфейс – с устройствами компьютера. Другими словами, операционная система обеспечивает функционирование и взаимосвязь всех компонентов компьютера, а также предоставляет пользователю доступ к его аппаратным возможностям.
ОС определяет производительность системы, степень защиты данных, выбор программ, с которыми можно работать на компьютере, требования к аппаратным средствам. Примерами ОС являются MS DOS, OS/2, Unix, Windows 9х, Windows XP.
Сервисные системы расширяют возможности ОС по обслуживанию системы, обеспечивают удобство работы пользователя. К этой категории относят системы технического обслуживания, программные оболочки и среды ОС, а также служебные программы.
Системы технического обслуживания – это совокупность программно-аппаратных средств ПК, которые выполняют контроль, тестирование и диагностику и используются для проверки функционирования устройств компьютера и обнаружения неисправностей в процессе работы компьютера. Они являются инструментом специалистов по эксплуатации и ремонту технических средств компьютера.
Для организации более удобного и наглядного интерфейса пользователя с компьютером используются программные оболочки операционных систем – программы, которые позволяют пользователю отличными от предоставляемых ОС средствами (более понятными и эффективными) осуществлять действия по управлению ресурсами компьютера. К числу наиболее популярных оболочек относятся пакеты Norton Commander (Symantec), FAR (File and Archive manageR) (Е.Рошаль).
Служебные программы (утилиты, лат. utilitas – польза) – это вспомогательные программы, предоставляющие пользователю ряд дополнительных услуг по реализации часто выполняемых работ или же повышающие удобство и комфортность работы. К ним относятся:
программы-упаковщики (архиваторы), которые позволяют более плотно записывать информацию на дисках, а также объединять копии нескольких файлов в один, так называемый, архивный файл (архив); антивирусные программы, предназначенные для предотвращения заражения компьютерными вирусами и ликвидации последствий заражения; программы оптимизации и контроля качества дискового пространства; программы восстановления информации, форматирования, защиты данных; программы для записи компакт-дисков; драйверы – программы, расширяющие возможности операционной системы по управлению устройствами ввода/вывода, оперативной памятью и т.д. При подключении к компьютеру новых устройств необходимо установить соответствующие драйверы; коммуникационные программы, организующие обмен информацией между компьютерами и др.
Некоторые утилиты входят в состав операционной системы, а некоторые поставляются на рынок как самостоятельные программные продукты, например, многофункциональный пакет сервисных утилит Norton Utilities (Symantec).
Прикладное программное обеспечение
Прикладное программное обеспечение (ППО) предназначено для решения задач пользователя. В его состав входят прикладные программы пользователей и пакеты прикладных программ (ППП) различного назначения.
Прикладная программа пользователя – это любая программа, способствующая решению какой-либо задачи в пределах данной проблемной области. Прикладные программы могут использоваться либо автономно, либо в составе программных комплексов или пакетов.
Пакеты прикладных программ (ППП) – это специальным образом организованные программные комплексы, рассчитанные на общее применение в определенной проблемной области и дополненные соответствующей технической документацией. Различают следующие типы ППП:
ППП общего назначения – универсальные программные продукты, предназначенные для автоматизации широкого класса задач пользователя. К ним относятся:
Текстовые редакторы (например, MS Word, Word Perfect, Лексикон); Табличные процессоры (например, MS Excel, Lotus 1-2-3, Quattro Pro); Системы динамических презентаций (например, MS Power Point, Freelance Graphics, Harvard Graphics); Системы управления базами данных (например, MS Access, Oracle, MS SQL Server, Informix); Графические редакторы (например, Сorel Draw, Adobe Photoshop); Издательские системы (например, Page Maker, Venture Publisher); Системы автоматизации проектирования (например, BPWin, ERWin); Электронные словари и системы перевода (например, Prompt, Сократ, Лингво, Контекст); Системы распознавания текста (например, Fine Reader, Cunei Form). Системы общего назначения часто интегрируются в многокомпонентные пакеты для автоматизации офисной деятельности – офисные пакеты – Microsoft Office, StarOffice и др.
методо-ориентированные ППП, в основе которых лежит реализация математических методов решения задач. К ним относятся, например, системы математической обработки данных (Mathematica, MathCad, Maple), системы статистической обработки данных (Statistica, Stat).; проблемно-ориентированные ППП предназначены для решения определенной задачи в конкретной предметной области. Например, информационно-правовые системы ЮрЭксперт, ЮрИнформ; пакеты бухгалтерского учета и контроля 1С: Бухгалтерия, Галактика, Анжелика; в области маркетинга –Касатка, Marketing Expert; банковская система СТБанк; интегрированные ППП представляют собой набор нескольких программных продуктов, объединенных в единый инструмент. Наиболее развитые из них включают в себя текстовый редактор, персональный менеджер (органайзер), электронную таблицу, систему управления базами данных, средства поддержки электронной почты, программу создания презентационной графики. Результаты, полученные отдельными подпрограммами, могут быть объединены в окончательный документ, содержащий табличный, графический и текстовый материал. К ним относят, например, MS Works. Интегрированные пакеты, как правило, содержат некоторое ядро, обеспечивающее возможность тесного взаимодействия между составляющими.
Обычно пакеты прикладных программ имеют средства настройки, что позволяет при эксплуатации адаптировать их к специфике предметной области.
Инструментальное программное обеспечение
К инструментальному программному обеспечению относят: системы программирования – для разработки новых программ, например, Паскаль, Бейсик. Обычно они включают: редактор текстов, обеспечивающий создание и редактирование программ на исходном языке программирования (исходных программ), транслятор, а также библиотеки подпрограмм; инструментальные среды для разработки приложений, например, C++, Delphi, Visual Basic, Java, которые включают средства визуального программирования; системы моделирования, например, система имитационного моделирования MatLab, системы моделирования бизнес-процессов BpWin и баз данных ErWin и другие.
Транслятор (англ. translator – переводчик) – это программа-переводчик, которая преобразует программу с языка высокого уровня в программу, состоящую из машинных команд. Трансляторы реализуются в виде компиляторов или интерпретаторов, которые существенно различаются по принципам работы.
Компилятор (англ. compiler – составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется. После компилирования получается исполняемая программа, при выполнении которой не нужна ни исходная программа, ни компилятор.
Интерпретатор (англ. interpreter – истолкователь, устный переводчик) переводит и выполняет программу строка за строкой. Программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном ее запуске.
Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.
Показатели надежности программного обеспечения
Под показателем надежности принято понимать величину или совокупность величин, характеризующих качественно или количественно степень приспособленности систем к выполнению поставленной задачи при применении по назначению. В практике проведения исследований вводятся в рассмотрение три вида показателей надежности сложных систем: качественные, порядковые и количественные.
Качественные показатели надежности – это такие показатели, которые не могут быть выражены в виде числа и не содержат информации, позволяющей обосновать предпочтение одного из нескольких конкурирующих вариантов системы при их сравнении. Качественные показатели надежности указывают на то, что рассматриваемая система обладает каким-либо свойством для выполнения поставленной задачи. Качественные показатели дают возможность отличать системы друг от друга, но не позволяют сравнивать их по степени выполнения поставленной задачи, т.е. по надежности. Качественные аспекты и характеристики неизбежны при анализе любых систем, и их всегда необходимо учитывать. Однако часто при проведении исследований надежности анализ ограничивается исключительно качественными показателями. Такой подход сужает сферу применения методов исследования надежности систем и ограничивает значимость полученных результатов с помощью этой теории.
Порядковые показатели надежности – это такие показатели, которые содержат информацию, позволяющую обосновывать предпочтение одного из вариантов системы при их сравнении без количественной оценки степени предпочтения. Порядковые показатели дают возможность расположить в ряд по степени возрастания надежности исследуемые варианты системы, но не позволяют оценить, на какую величину отличается достигнутый уровень надежности рассматриваемых вариантов. В результате исследования можно построить доминирующую последовательность вариантов системы путем их ранжирования, т.е. установления порядкового номера или ранга применительно к каждому варианту системы, указывающего его место среди других вариантов.
Количественные показатели надежности – это такие показатели, которые содержат информацию, обеспечивающую оценку степени предпочтения одного варианта системы по отношению к другому при применении по назначению. Количественные показатели выражают надежность в виде числа: при помощи количественных показателей надежность измеряется или оценивается в принятой шкале оценок в абсолютных или относительных единицах. Количественные показатели определяются путем непосредственных статистических наблюдений на основе обработки результатов применения или испытания систем, а также путем аналитических расчетов или моделирования процесса функционирования систем. Они являются основными показателями надежности, обобщающими наиболее ценную информацию о степени приспособленности систем к применению по назначению.
Статическое определение надежности программного обеспечения
В первых работах по теории надежности программного обеспечения заимствованы основные положения теории аппаратурной надежности и применена известная экспоненциальная формула функции надежности, выражающая вероятность безотказной работы за некоторый промежуток времени t. В ряде исследований вопроса надежности ПО показатель надежности рассматривался как функция времени наработки. Характерно, что ПО не изменяется существенно по мере наработки, а изменяется в результате устранения ошибок. Кроме того, вероятность отказа в работе не имеет прямого отношения к времени наработки. Зависимости для оценки надежности ПО могут быть непосредственно получены на основе свойств программы и элементарных понятий статистики.
В качестве исходных предпосылок используются следующие утверждения:
1) в результате выполнения программы для каждого множества входных данных получаем однозначный выходной результат;
2) множество входных данных определяет все вычисления, выполняемые программой;
3) каждая ошибка в программе вызывает сбои для некоторой части входных данных;
4) пропуск программы с некоторым подмножеством входных данных представляет собой единичное наблюдение ее действия.
Тогда вероятность Р появления сбоя есть вероятность того, что множество входных данных , выработанное для пропуска программы, таково, что порождает сбои. Р может быть выражено через вероятность выбора для работы множеств и переменную
=0, если выходной результат верен для ;
=1, в противном случае.
Вероятность безотказной работы ПО будет представлена как
(2.1)
где п – число всевозможных входов ПО.
Надежность R для некоторого рабочего участка может быть определена как
(2.2)
Для получения вероятности отказа ПО экспериментальным путем можно применить следующий подход. Если испытывается определенное ПО относительно п различных входов и относительно l из них имеют место отказы, то вероятность отказа ПО оценивается как
(2.3)
При равномерном распределении испытуемых входов во входном множестве и при достаточно большом п (2.4) В обычном ПО входы во входном множестве вряд ли распределяются однородно, можно говорить только о некотором используемом множестве входов. В связи с этим устранение ошибок будет производиться именно в используемом множестве и таким образом вероятность отказа в этом множестве ниже, чем в полном множестве входов.
Далее рассмотрим входное множество и используемое множество . Вероятность отказа в определяется во время программирования, а вероятность отказа в определяется в соответствии с устранением ошибок. Предположим, что и как вероятности отказа в и соответственно постоянны. Тогда можно записать на основе эксперимента: (2.5) Предполагая, что т причин отказа устранено, можно записать значение вероятности отказа после устранения ошибок для некоторой промежуточной точки: (2.6) Здесь может быть получено на основании зависимости (2.5).
Зависимость (2.6) представлена графиком на рис. 2.1, на котором по вертикальной оси представлена вероятность отказа ПО во множестве , а по горизонтальной оси – количество устраненных ошибок. На рисунке показано, что оценивается углом наклона прямой линии. Чем круче наклон прямой линии, тем меньше и, следовательно, выше интенсивность устранения ошибок.
При полном устранении всех ошибок ПО становится надежным, т.е. и (2.7) Однако в процессе устранения ошибок могут быть внесены новые ошибки. Допускается, что если новые ошибки могут возникать с одинаковой вероятностью во входном множестве, то вероятность ошибок, возникающих в используемом множестве, может быть представлена в виде отношения .
Если предположить, что устранение одной ошибки вызывает К новых ошибок, то вероятность отказа после устранения m ошибок может быть представлена так. (2.8) Точка пересечения двух линий отражает состояние, когда за счет внесения дополнительных ошибок надежные характеристики программы не улучшаются, несмотря на то, что имеет место обнаружение и устранение ошибок. Однако в фактически отлаживаемой программе значение К. изменяется в окрестности точки пересечения и, следовательно, предполагается, что линии становятся кривыми (пунктир на рисунке).
Программное обеспечение становится совершенным тогда, когда (2.9) т.е. в точке, где прямая линия b пересекает горизонтальную ось.
Наличие представленного выше механизма обеспечивает возможность предсказания развития процесса устранения ошибок. С точки зрения надежности ПО, чем меньше значение , тем быстрее можно провести устранение ошибок и тем выше будет надежность. Из уравнения (2.9) следует, что (2.10)
Эту величину можно назвать «индексом оставшихся ошибок». Если степень устранения ошибок находится в диапазоне, обозначенном прямой линией Ь, то можно вычислить ряд количественных параметров надежности ПО и дать гарантию возможности его использования по назначению.
Технические требования надежного ПО
В качестве технических требований на разработку надежного ПО рекомендуются следующие критерии:
корректность программного обеспечения – число серьезных ошибок в программе и время, необходимое для их устранения; обслуживаемость системы – степень влияния ошибок программного обеспечения на обслуживаемость системы; безотказность системы – частота системных отказов, вызываемых ошибками программного обеспечения.
С учетом сложившейся практики выбора критериев оценки надежности необходимо принимать во внимание следующее:
1) разработанное программное обеспечение в начальной стадии эксплуатации может потребовать менее жестких критериев и большего времени для его совершенствования;
2) после выпуска новой версии некоторое время потребуются также менее строгие критерии качества ПО;
3) имеют место разбросы, вызываемые различием в условиях применения и использования ПО;
4) эффективность работ по исправлению ошибок, проводимых разработчиками ПО, зависит от частоты проявления ошибок, что в свою очередь зависит от информации, поступающей от пользователя;
5) необходимость соблюдения ограничений по быстродействию и производительности, если таковые диктуются пользователем.
Таким образом, надежность ПО представляется через определение вероятности отказа в отношении входного множества данных и через наблюдение интенсивности изменения вероятности отказа по мере устранения ошибок. Приведенные показатели в силу их количественной интерпретации могут быть использованы в качестве стандартных оценок программного обеспечения.
Вывод
В ходе данной курсовой работы мною был рассмотрен ряд вопросов, касающихся современных компьютеров, программного обеспечения, безопасности ПО. Хочется отметить, что в России развитие цифровых вычислительных устройств и машин находится на довольно таки высоком уровне. Да у нас нет своего Стива Джобса или Билла Гейтса, но назовите мне хотя бы еще одну страну в мире, кроме Китая, в котором местная поисковая система (Яндекс) могла бы уверенно конкурировать с Американским Google’ом. Тем более в нашей стране один из самых высоких уровней безналичных платежей. 75%, только вдумайтесь в эту цифру (данные с портала ТАСС). Все эти достижения не были бы возможными без надежного программного обеспечения. Но все эти достижения являются относительно старыми.
Сейчас в 2021 году мы живем совершенно в другом мире. Детище Павла Дурова уже не принадлежит ему, а возглавляет его сын Сергея Кориенко. С уверенностью могу сказать о том, что сейчас будет невозможным появление нового ВКонтакте, Яндекса, Рамблера или Майл.ру. Потому что такой новый ресурс сразу же попадет под пристальное внимание силовиков. А попытки сделать за государственный счет Российский тик-ток или инстаграм выглядят так же жалко как сервис RuTube (аналог Youtube) с его 15-ти летней истроией и 10 миллионами посещениями в месяц (это примерно столько же, как у блогера-миллионика в Youtube). Ежемесячная же аудитория YouTube- 2 миллиарда человек. Современные технологии не развиваются в клетке, пусть даже и золотой, такой, как Сколково.
Список используемой литературы:
Е.Я. Карповский, С.А. Чижов «Надежность программной продукции» К: «Техника» 1990 г. Р. Лонгботтом «Надежность вычеслительных систем» М: «энергоатомиздат» 1985 г. В.В. Шураков «Надежность программного обеспечения систем обработки данных» М: «Финансы и статистика» 1987 г. Г. Майерс «Надежность прогораммного обеспечения» М: «Мир» 1980 г. «Проблемы программирования» Научный журнал. 2000 г. Управляюшие системы и машины. 1999 г.
|