Обеспечение надежности путем введения избыточности — КиберПедия 

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Обеспечение надежности путем введения избыточности

2022-10-29 20
Обеспечение надежности путем введения избыточности 0.00 из 5.00 0 оценок
Заказать работу

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

Виды избыточности:

1. временная – использование некоторой части производительности ПК для контроля исполнения программы и восстановления вычислительного процесса.

2. информационная – дублирование данных, обрабатываемых ПК.

3. программная – контроль и обеспечение достоверности наиболее важных результатов обработки информации (контрольная сумма).

Стиль программирования.

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

Работая над программой, программист, особенно начинающий, должен хорошо представлять, что программа, которую он разрабатывает, предназначена, с одной стороны, для пользователя, с другой — для самого программиста. Текст программы нужен, прежде всего, самому программисту, а также другим людям, с которыми он совместно работает над проектом. Поэтому для того, чтобы работа была эффективной, программа должна быть легко читаемой, ее структура должна соответствовать структуре и алгоритму решаемой задачи. Как этого добиться? Надо следовать правилам хорошего стиля программирования. Стиль программирования — это набор правил, которым следует программист (осознано или потому, что "так делают другие") в процессе своей работы. Очевидно, что хороший программист должен следовать правилам хорошего стиля:

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

2. Чтение программы. Программу надо снабжать комментариями и параграфами.

3. Описание задач. Идеальная программа – это такая программа, которая дает точный желаемый выход при неясно сформированных требованиях пользователя. Один из путей уточнения описания требования заказчика, это проведение регулярных просмотров для координации установленных требований и действительных намерений заказчика.

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

5. Выбор алгоритма. Важнейшим шагом для получения эффективной и правильной программы является составление алгоритма. При этом предполагается правильный выбор языка и спецификации программы. Таким образом, хороший алгоритм необходимое, но недостаточное условие хорошей программы. Если пользователь формирует задачу в виде четкого алгоритма, то процесс проектирования существенно облегчается. Для эффективности необходимо рассмотреть несколько алгоритмов и из них выбрать наиболее эффективный.

6. Описание данных. Другим фактором сравнимым по значению с выбором алгоритма является описание данных. Хорошо продуманное описание данных существенно сокращает программу. Так, полезно, использовать массивы данных в том случае, когда это наиболее очевидный способ их организации. Другой пример такого рода – возможность использовать ссылки и указатели. Например, если нужно проследить отношения между родителями и их потомками на протяжении нескольких поколений, то легче всего это сделать с помощью ссылок и указателей.

7. Выбор языка программирования. Часто выбор языка программирования предоставлен данной выигрышной системе, или подготовкой программиста. Существуют серьезные основания для установления языковых стандартов для системы. Если применяют много разных языков для написания программ, то использование последних становится затруднительным. С другой стороны соблазн написать…

8. Универсальность. Хорошая универсальная программа должна обрабатывать вырожденные случаи (например, число элементов равно 0 ил 1) и печатать сообщения об ошибке. Тогда программа является не только универсальной, но и защищенной от ошибок. Используйте в качестве компиляторов переменные, а не константы. Если же применять константы, то при изменении параметров надо изменять в исходной программе каждый оператор, содержащий прежнюю константу. Укажем некоторые очевидные случаи, когда переменные могут быть использованы вместо констант: 1. размер таблиц, массивов, списков; 2. налоги, скидки, физические константы, проценты; 3. обозначения устройств  ввода-вывода. Можно поступить и по другому, например, хранить все подлежащие изменению параметры в одном массиве. Эти параметры могут быть инициализированы в одном месте программы и достаточно полно прокомментированы.

9. Библиотеки. Чтобы повысить эффективность разработки программ, облегчить отладку и тестирование, а следовательно и сократить работу по созданию программ используйте библиотеки.

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

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

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

10. Форматы ввода/вывода. Форматы входных и выходных данных являются частью этапа проектирования, входные данные должны быть разработаны с учетом максимального удобства для пользователя и минимальные ошибки. Постоянство входных форматов, как правило, также способствуют уменьшению ошибок. Выходные спецификации могут сильно различаться. Иногда даются четкие инструкции, и выходные данные подгоняются под определенный стандарт. Однако часто отсутствуют какие-либо указания, и выходные данные подчас представляют собой страницы, заполненные числами без всякой идентификации. Выходная информация должна идентифицироваться без привлечения других источников. Выходные данные должны содержать: 1. идентификацию выходной информации, 2. описание записи, 3. дату, 4. нумерацию страниц. Кроме того, каждая напечатанная группа элементов должна быть помечена. При табличной форме выдачи должны быть помечены строки и столбцы.


Поделиться с друзьями:

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.