Разработка базы данных поликлиники
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
х, - сбои, практически не обеiенивающие результаты функционирования комплекса программ.
Основные факторы, влияющие на надежность функционирования комплексов программ:
факторы, непосредственно вызывающие сбой или отказ при исполнении программы, причинами могут быть:
искажения исходной информации, поступающей от внешних источников;
самоустраняющиеся отказы или сбои в аппаратуре вычислительной системы;
не выявленные ошибки в комплексе программ.
архитектура комплекса программ и структурное построение его компонент;
факторы, определяющие качество контроля вычислительного процесса и обрабатываемых данных, запаздывание в обнаружении искажений.
В подготовке и вводе исходных данных в заявках участвует человек - пациент поликлиники. Это приводит к тому, что соответствующая часть данных характеризуется невысокой достоверностью с вероятностью ошибки около 10-4 на 1 байт. В автоматических устройствах подготовки и передачи информации вероятность ошибки может быть значительно ниже и достигать значения 10-6-10-7. Однако и при такой достоверности данные не всегда пригодны для обработки без проведения контроля и предварительной селекции и могут оставаться существенной причиной отказов или сбоев при их обработке. Повышение достоверности исходной информации может производиться за счет использования избыточности при подготовке первичных данных и при вводе их в ВС. Эта избыточность используется для обнаружения искажений и исключения ложных данных, а в отдельных случаях и для исправления ошибок.
На надежность функционирования программного обеспечения влияет структура и технология разработки комплексов программ. В зависимости от структурного построения комплекса программ последствия ошибки могут быть локализованы в некотором небольшом участке программы и данных либо распространиться на значительно большее расстояние от места расположения ошибки. Строгое иерархическое построение крупных комплексов программ на базе единообразно оформленных законченных программных модулей обеспечивает снижение вероятности ошибки в каждой команде программы и снижает возможность распространения последствий ошибок за пределы программного модуля и используемых в нем массивов данных.
Таким образом, при формализации правил структурного построения подпрограмм и всего комплекса, выборе языка программирования и основных допустимых конструкций в программах следует учитывать кроме эффективности программирования потенциальную склонность рекомендуемых конструкций к локализации и снижению вредных последствий любой ошибки или аппаратурного сбоя. Строгое модульно-иерархическое построение комплексов программ и максимально возможная автономизация зон оперативной памяти значительно повышают надежность функционирования таких комплексов.
Для оценки надежности программ, как и при исследовании характеристик аппаратуры, как правило, приходиться ограничиваться интегральными показателями наработки на отказ и средним временем восстановления. Определение остальных показателей сопряжено с большими трудностями, которые обусловлены тем, что для определения показателей надежности комплексов программ необходимы длительные эксперименты или сложные расчеты при определенных исходных данных.
Существуют математические модели позволяющие оценить характеристики ошибок в программах и прогнозировать их надежность при проектировании и эксплуатации. Модели имеют вероятностный характер, и достоверность прогнозов зависит от точности исходных данных и глубины прогнозирования по времени. Эти математические модели предназначены для оценки:
показателей надежности комплексов программ в процессе отладки;
количества ошибок, оставшихся невыявленными;
времени, необходимого для обнаружения следующей ошибки в функционирующей программе;
времени, необходимого для выявления всех ошибок с заданной вероятностью.
Рассмотрим экспоненциальную модель нашей системы. Предположим, что в начале отладки комплекса программ, при ?=0 в нем содержалось N0 ошибок. После отладки в течении времени ? осталось n0 ошибок и устранено n ошибок (n+n0=N0). При этом время ? соответствует длительности исполнения программ на ВС для обнаружения ошибок и неучитывается простой машины, необходимые для анализа результатов и проведения корректировок.
Наработка на отказ, рассматривается как обнаруживаемое искажение программ, данных или вычислительного процесса, нарушение работоспособности. Рассчитывается по формуле:
, (4.1)
где T - наработка на отказ, мин;
К - коэффициент времени;
N0 - начальное количество ошибок;
К? - коэффициент времени во время отладки.
В процессе отладки и испытания программ для повышения наработки на отказ, от Т1 до Т2 необходимо обнаружить и устранить ?n ошибок. Величину ?n можно рассчитать следующим образом:
, (4.2)
где ?n - оставшееся количество ошибок после исправления программы;
Т0 - начальная наработка на отказ, мин;
Т1 - время наработки на отказ после первого исправления ПО;
Т2 - время наработки на отказ после второго исправления ПО;
При тестирований, алгоритм не совершил ошибок, повлекших потерю информации. Использование модульной структуры в разработке алгоритма позволило на самых ранних стадиях отладки алгоритма выявить все ошибки и устранить их. Благодаря использованию модульной структуры, в алгоритме легко находить о