Документация ПС

Надежность ПС

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

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

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

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

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

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

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


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

Эту документацию можно разбить на две группы:

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

-документы, входящие в состав ПС.

Документы управления разработкой ПС (software process documentation) управляют и протоколируют процессы разработки и сопровождения ПС, обеспечивая связи внутри коллектива разработчиков ПС и между коллективом разработчиков и менеджерами ПС (software managers) - лицами, управляющими разработкой ПС. Эти документы могут быть следующих типов:

- планы, оценки, расписания. Эти документы создаются менеджерами для прогнозирования и управления процессами разработки и сопровождения ПС;

- отчеты об использовании ресурсов в процессе разработки. Создаютсяменеджерами;

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

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

- заметки и переписка. Эти документы фиксируют различные детали взаимодействия между менеджерами и разработчиками.

Документы, входящие в состав ПС (software product documentation), описывают программы ПС как с точки зрения их применения пользователями, так и с точки зрения их разработчиков и сопроводителей (в соответствии с назначением ПС). Здесь следует отметить, что эти документы будут использоваться не только на стадии эксплуатации ПС (в ее фазах применения и сопровождения), но и на стадии разработки для управления процессом разработки (вместе с рабочими документами) - во всяком случае, они должны быть проверены (протестированы) на соответствие программам ПС. Эти документы образуют два комплекта с разным назначением:

- пользовательская документация ПС (П-документация);

- документация по сопровождению ПС (С-документация).

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

В связи с этим следует различать две категории пользователей ПС: ординарных пользователей ПС и администраторов ПС.

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

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

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

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

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

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


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

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

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

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

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

Документацию по сопровождению ПС можно разбить на две группы:

- документация, определяющая строение программ и структур данных ПС и технологию их разработки;

- документация, помогающая вносить изменения в ПС.

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

- внешнее описание ПС (Requirements document);

- описание архитектуры ПС, включая внешнюю спецификацию каждой ее программы (подсистемы);

- для каждой программы ПС - описание ее модульной структуры, включая внешнюю спецификацию каждого включенного в нее модуля;

- для каждого модуля - его спецификация и описание его строения;

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

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

Документы установления достоверности ПС включают, прежде всего, документацию по тестированию (схема тестирования и описание комплекта тестов).

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

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

1.10 Перечень вопросов, изучаемых в курсе «Технология разработки программного обеспечения»

1 Сущность предмета ТП, его задачи. Актуальность проблемы технологии программирования. История развития ТП.

2 Типы ПО.

3 Уникальное ПО и ПО, как продукция. Требования к ПО как к продукции. Доведение ПО до товарного уровня.

4 Жизненный цикл ПС. Модели жизненного цикла ПС.

5 Водопадная модель ЖЦ ПС.

6 Каскадная модель ЖЦ ПС. Усовершенствование каскадной модели ЖЦ ПС.

7 Спиральная модель ЖЦ.

8 Понятие качества ПО. Критерии качества ПО: функциональность, надежность, их примитивы.

9 Критерии качества: легкость применения, эффективность, их примитивы.

10 Критерии качества: сопровождаемость, мобильность, их примитивы.

11 Функциональные и конструктивные критерии качества. Факторы, определяющие качество ПО.

12 Оценка качества ПО (показатель качества, единичный, комплексный, групповой). Методы определения числовых показателей качества.


13 Стиль программирования. Типы комментариев, их расположе­ние. Выбор имен переменных. Размещение операторов. Пользовательский интерфейс (командный, графический).

14 Цель модульного программирования. Основные характеристики программного модуля. Размер модуля. Рутинность модуля.

15 Связность модуля.

16 Сцепление модулей.

17 Методы разработки структуры ПС. Восходящая разработка ПС. Архитектурный подход разработки ПС.

18 Нисходящая разработка ПС. Конструктивный подход разработки ПС. Метод целенаправленной конструктивной реализации.

19 Вспомогательные средства проектирования ПС (схемы Варнье-Орра, СИС, схемы HIPO, привести примеры).

20 Порядок разработки программного модуля.

21 Структурное программирование. Схемы передач управления.

22 Методы проектирования модуля: пошаговая детализация; анализ сообщений.

23 Методы проектирования модуля: метод расширения ядра, спецификация модуля, иерархическое проектирование модулей.

24 Вспомогательные средства проектирования модулей: таблицы данных, табли­цы решений. Документация.

25 Источники ошибок в ПС: интеллектуальные возможности человека, модель перевода информации. Причины появления оши­бок.

26 Методы обнаружения ошибок. Логические ошибки. Ошибки в число­вых расчетах.

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

28 Основные принципы тестирования программ. Заповеди по тестированию, предложенные Г. Майерсом. Методы тестирования, два подхода к тестированию.

29 Тестирование модулей: тестирование путей, структур управления, ветвлений, специальных значений.

30 Логическая организация данных. Представление дан­ных (внешнее, внутреннее). Физическая организация данных. Эргономические факторы при проектировании данных.

31 Выбор и обоснование языка программирования. Критерии выбора языка программирования.

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

33 Характеристика языка АДА.

34 Внешнее описание ПС.

35 Определение требований к ПС.


36 Функциональная спецификация ПС. Методы контроля внешнего описания ПС.

37 Техническое задание на разработку ПС.

38 Организация процесса проектирования ПС.

39 Понятие архитектуры ПС. Основные классы архитектур ПС. Контроль архитектуры ПС.

40 Определение основных компонентов системы: потоков данных и процессов.

41 Вспомогательные средства проектирования ПС (функциональные схемы, ПЕРТ-диаграмма, сети Петри). Проектная документация.

42 Необходимость коллективной разработки ПО.

43 Метод бригады главного программиста. Состав бригады.

44 Обязанности главного программиста.

45 Функции заместителя главного программиста.

46 Работа членов бригады. Работа секретаря (библиотекаря).

47 Преимущества и трудности бригадного подхода.

48 Проблемы оценки квалификации отдельных специалистов в коллективе.

49 Организация контроля при коллективной разработке программ.

50 Современная организация коллектива разработчиков ПС. Организация коллективов для создания очень больших комплексов программ.

51 Прикладное тестирование специалистов.

52 Понятие и классификация ППП. Структура и основные компоненты ППП.

53 Этапы развития пакетов прикладных программ (ППП).

54 Показатели качества ППП.

55 Разработка и оформление модулей в ППП.

56 Системный анализ библиотеки модулей. Средства сборки программ.

57 Технология разработки ППП. Автоматизация разработки ППП.

58 Документация, создаваемая и используемая в процессе разработки программных средств.

59 Пользовательская документация ПС.

60 Документация по сопровождению ПС.

61 Документация ПО. Стандартизация программной документации. Единая система программной документации (ЕСПД). Классификация и обозначение стандартов ЕСПД.

62 Назначение ЕСПД, область распространения и состав ЕСПД. Виды программных документов. Виды эксплутационных документов. Схемы алгоритмов.

63 Стадии разработки программной документации.

64 Общие требования к программным документам.

65 Техническое задание. Требования к содержанию и оформлению.

66 Программа и методика испытаний. Текст программы, описание программы, пояснительная записка, описание применения (документация).

67 Руководство системному программисту, руководство программисту, руководство оператору. IEEE.

68 Общая характеристика состояния применения ЕСПД. Межгосударственные стандарты.

69 Расчет стоимости ПС.

70 Расчет экономической эффективности от внедрения ПС.

71 Надежность ПС. Показатели надежности: качественные, порядковые, количественные.

72 Факторы, определяющие надежность ПО.

73 Применение статистики к расчету надежности ПО.

74 Модели, базирующиеся на теории надежности технических систем.

75 Модель ошибок Шумана. Модель надежности.

76 Модели, сеющие предварительные ошибки.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: