Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Факторы, определяющие надёжность программного обеспечения




Интенсивное изучение процесса разработки ПО, развития и его специфической продукции началось сравнительно недавно.

Анализ первых полученных результатов позволяет выделить ряд факторов, сдерживающих производство и использование систем ПО.

Отметим наиболее существенные факторы:

- большое количество ошибок, сопровождающих разработку элементов систем ПО;

- трудность в использовании систем ПО. Ряд возможностей систем отвергается пользователями как громоздкие и неудобные в эксплуатации;

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

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

Далеко не полный перечень вышеупомянутых факторов свидетельствует о необходимости изучения проблем качества и надежности систем ПО.

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

Рассмотрим классификационную схему факторов, определяющих надёжность систем ПО (рисунок 5.1).

 

 

Рисунок 5.1 – Классификационная схема факторов надежности ПО

 

 

К группе общих факторов относятся следующие:

-процедуры управления разработкой ПО;

- подготовка и повышение квалификации персонала;

- архитектуры вычислительной системы;

- языки программирования.

К группе эксплутационных факторов относятся:

- полнота и качество документации;

- степень адаптации документации;

- простота изучения и использования;

- качество обучения пользователей;

- степень выполнения стандартов на эксплуатацию;

-защищенность информации.

К группе конструктивных факторов относятся:

- размеры и стоимость разрабатываемой системы;

- степень сложности разрабатываемой системы;

- структур построения;

- наличие опыта разработки;

- степень соблюдения технологии последовательности работ.

К группе технологических факторов относят:

- качество программирования;

- принятые конструктивные решения;

- объем программы;

- логическая сложность;

- степень выполнения требований на разработку.

К группе организационных факторов относятся:

- управление надёжностью;

- степень обучения персонала;

- степень информативности персонала;

- микроклимат в группе;

- временные ограничения.

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

5.3 Задачи проектирования программного обеспечения с заданнымуровнем надежности

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

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

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

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

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

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

Вторую группу составляют задачи проектирования системы с заданным уровнем надежности.

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

- применение типовых проектных решений;

- использование модульной структуры решения;

- соблюдения стандартов программирования и документирования;

- организация контроля функционирования системы путем взаимной

- межмодульной проверки.

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

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

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

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

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

 

 

Вопросы для самоконтроля

 

1. Какова специфика надежности ПО?

2. Какова вероятность появления сбоев?

3. Что такое вероятность отказа ПО?

4. Как определить вероятность отказа ПО экспериментальным путем?

5. Каковы факторы, определяющие надёжность ПО?

6. Что такое общие факторы?

7. Что такое факторы, связанные с разработкой ПО?

8. Что такое эксплуатационные факторы?

9. Что такое конструктивные факторы?

10. Что такое организационные факторы?

11. Что такое технологические факторы?


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...