
- •О. В. Шишов технология разработки программных продуктов
- •1. Программы и программирование
- •1.1 Основные определения
- •1.2. Классификация программ и различные виды программирования
- •1.3. Категории специалистов, занятых разработкой и эксплуатацией программ
- •2. Жизненный цикл программного обеспечения
- •2.1 Основные этапы жизненного цикла и их взаимосвязь
- •2.2 Стратегии и модели жизненного цикла
- •3. Качество по
- •3.1 Критерии оценки качества по
- •3.2 Методы оценки качества программного средства
- •4. Надежность программных продуктов
- •4.1 Надежность и виды отказов
- •4.2 Надежность и правильность программы
- •4.3. Вероятностный подход к оценке надежности
- •4.4 Факторы надежности
- •4.5 Приемы надежного программирования
- •6.2. Стандарты технологии создания программных продуктов
- •6.3. Основные этапы технологического процесса разработки программ
- •7. Структурное проектирование программных продуктов
- •7.1. Модули. Сцепление и связность модулей
- •7.2. Структура программных продуктов
- •7.3. Методы структурного программирования
- •8. Алгоритмическое представление задачи программирования
- •8.1. Свойства алгоритмов
- •8.2. Формы записи алгоритмов
- •8.3. Базовые алгоритмические структуры
- •9. Языки программирования
- •9.1. Основные понятия и элементы языков программирования
- •9.2. Классификация языков программирования
- •9.3. Развитие языков программирования
- •10. Пользовательский интерфейс
- •10.1. Типы интерфейсов
- •10.2. Этапы разработки пользовательского интерфейса
- •10.3. Критерии оценки интерфейса пользователем
- •11. Порядок работы эвм при выполнении программ. Трансляторы, интерпритаторы, компиляторы
- •12. Оптимизация программ
- •13. Отладка и тестирование программного обеспечения
- •13.1. Классификация неисправностей и ошибок в программе
- •13.2. Порядок и способы отладки и тестирования программ
- •13.3. Методы тестирования
- •13.4. Требования и рекомендации по тестированию программ
- •13.4. Программирование «с защитой от ошибок»
- •14. Аттестация программного средства
- •15. Сопровождение по
- •16. Защита программных продуктов
- •16.1. Обеспечение защищенности программных средств
- •16.3. Правовые методы защиты программных продуктов
- •17. Документорование программных продуктов
- •17.1. Виды программных документов
- •17.2. Содержание документации по еспд
- •17.3. Стиль оформления программы
- •Содержание
17.2. Содержание документации по еспд
Рассмотрим, что согласно требованиям ЕСПД, соответствующих ГОСТов должно содержаться в конкретных программных документах. В общем случае каждый документ должен иметь:
-
титульный лист и наименование документа
-
сформулированное назначение
-
область его действия
-
категории специалистов, для которых он предназначен и кем он разрабатывается
-
этапы работ, на которых следует его применять
-
функциональную, содержательную часть в соответствии с его назначением.
Техническое задание. Аннотацию и содержание допускается в документ не включать. Техническое задание должно содержать следующие разделы:
-
Введение – наименование, краткая характеристика, область применения программы и объекта, в котором используют программу.
-
Основание для разработки – документ/документы, на основании которых ведется разработка; организация, утвердившая этот документ, и дата его утверждения; наименование и/или условное обозначение темы разработки.
-
Назначение разработки – функциональное и эксплуатационное назначение программы.
-
Требования к программе или программному изделию – раздел должен содержать следующие подразделы:
-
Требования к функциональным характеристикам – требования к составу выполняемых функций, организации входных и выходных данных, временным характеристикам и т.д.
-
Требования к надежности – требования к обеспечению надежного функционирования (обеспечения устойчивого функционирования, контроль входной и выходной информации, время восстановления после отказа и т.п.).
-
Условия эксплуатации – условия эксплуатации (температура окружающего воздуха, относительная влажность и т.п. для выбранных типов носителей данных), при которых должны обеспечиваться заданные характеристики, а также вид обслуживания, необходимое количество и квалификация персонала.
-
Требования к составу и параметрам технических средств – необходимый состав технических средств с указанием их основных технических характеристик.
-
Требования к информационной и программной совместимости – требования к информационным структурам на входе и выходе и методам решения, исходным кодам, языкам программирования и программным средствам, используемым программой.
-
Требования к маркировке и упаковке – требования к маркировке программного изделия, варианты и способы упаковки.
-
Требования к транспортированию и хранению – транспортирования, места хранения, условия хранения, условия складирования, сроки хранения в различных условиях.
-
Специальные требования.
Требования к программной документации – предварительный состав программной документации и, при необходимости, специальные требования к ней.
Технико–экономические показатели – ориентировочная экономическая эффективность, предполагаемая годовая потребность, экономические преимущества разработки по сравнению с лучшими отечественными и зарубежными образцами или аналогами.
Стадии и этапы разработки – стадии разработки, этапы и содержание работ (перечень программных документов, которые должны быть разработаны, согласованы и утверждены), а также, как правило, сроки разработки и состав исполнителей.
Порядок контроля и приемки – виды испытаний и общие требования к приемке работы.
В зависимости от особенностей программного изделия допускается уточнять содержание разделов, вводить новые разделы или объединять отдельные из них.
В приложениях к техническому заданию, при необходимости, приводят:
-
перечень научно–исследовательских и других работ, обосновывающих разработку;
-
схемы алгоритмов, таблицы, описания, обоснования, расчеты и другие документы, которые могут быть использованы при разработке;
-
другие источники разработки.
Спецификация – это перечень документов. Спецификация является основным программным документом для компонентов, применяемых самостоятельно, и для комплексов. Спецификация в общем случае должна содержать разделы:
-
документация;
-
комплексы;
-
компоненты.
Пояснительная записка. Аннотация и содержание необязательны. Пояснительная записка должна содержать следующие разделы:
-
Введение – наименование программы и ее условное обозначение, а также документы, на основании которых ведется разработка, с указанием организации и даты утверждения.
-
Назначение и область применения – назначение программы, краткая характеристика области применения программы.
-
Технические характеристики – раздел должен содержать следующие подразделы:
-
постановка задачи на разработку программы, описание применяемых математических методов и, при необходимости, описание допущений и ограничений, связанных с выбранным математическим аппаратом;
-
описание алгоритма и (или) функционирования программы с обоснованием выбора схемы алгоритма решения задачи, возможные взаимодействия программы с другими программами;
-
описание и обоснование выбора метода организации входных и выходных данных;
-
описание и обоснование выбора состава технических и программных средств на основании проведенных расчетов и/или анализов, распределение носителей данных, которые использует программа.
-
-
Ожидаемые технико–экономические показатели – технико–экономические показатели, обосновывающие преимущество выбранного варианта технического решения, а также, при необходимости, ожидаемые оперативные показатели.
-
Источники, использованные при разработке – перечень научно–технических публикаций, нормативно–технических документов и других научно–технических материалов, на которые есть ссылки в основном тексте.
В зависимости от особенностей документа отдельные разделы/подразделы допускается объединять, а также вводить новые.
В приложение к документу могут быть включены обоснования, методики, расчеты и другие документы, использованные при разработке.
Описание программы. Аннотация и содержание обязательны. Описание программы должно содержать следующие разделы:
-
Общие сведения – обозначение и наименование программы; программное обеспечение, необходимое для функционирования программы; языки программирования, на которых написана программа.
-
Функциональное назначение – классы решаемых задач и/или назначение программы и сведения о функциональных ограничениях на ее применение.
-
Описание логической структуры – алгоритм программы; используемые методы; структура программы с описанием функций составных частей и связи между ними; связи программы с другими программами. Описание логической структуры программы выполняют с учетом текста программы на исходном языке.
-
Используемые технические средства – типы ЭВМ и устройств, которые используются при работе программы.
-
Вызов и загрузка – способы вызова программы с соответствующего носителя данных; входные точки в программу. Допускается здесь указывать адреса загрузки, сведения об использовании оперативной памяти, объем программы.
-
Входные данные – характер, организация и предварительная подготовка входных данных, формат, описание и способ кодирования входных данных.
-
Выходные данные – характер и организация выходных данных; формат, описание и способ кодирования выходных данных.
В зависимости от особенностей программы допускается вводить дополнительные разделы или объединять отдельные разделы.
Допускается содержание разделов иллюстрировать пояснительными примерами, таблицами, схемами, графиками.
В приложение к описанию программы допускается включать различные материалы, которые нецелесообразно включать в текст описания.
Руководство системного программиста. Аннотация и содержание обязательны. Руководство системного программиста должно содержать следующие разделы:
-
Общие сведения о программе – назначение и функции программы и сведения о технических и программных средствах, обеспечивающих выполнение данной программы.
-
Структура программы – сведения о структуре программы, ее составных частях, о связях между составными частями и о связях с другими программами.
-
Настройка программы – описание действий по настройке программы на условия конкретного применения (настройка на состав технических средств, выбор функций и др.).
-
Проверка программы – описание способов проверки, позволяющих дать общее заключение о работоспособности программы (контрольные примеры, методы прогона, результаты).
-
Дополнительные возможности – описание дополнительных разделов функциональных возможностей программы и способов их выбора.
-
Сообщения системному программисту – тексты сообщений, выдаваемых в ходе выполнения программы, описания их содержания и действий, которые необходимо выполнять по этим сообщениям.
В зависимости от особенностей документа допускается объединять отдельные разделы и вводить новые.
В обоснованных случаях допускается раздел "Дополнительные возможности" не приводить, а в наименованиях разделов опускать слово "программа" или заменять его на "наименование программы".
В приложении к руководству системного программиста могут быть приведены дополнительные материалы (примеры, иллюстрации, таблицы, графики и т.п.).
Руководство программиста. Аннотация и содержание обязательны. Руководство программиста должно содержать следующие разделы:
-
Назначение и условия применения – назначение и функции, условия, необходимые для выполнения (объем оперативной памяти, требования к составу и параметрам периферийных устройств, требования к программному обеспечению).
-
Характеристики программы – описание основных характеристик и особенностей программы (временные характеристики, режим работы, средства контроля правильности выполнения и самовосстанавливаемости программы и т. п.).
-
Обращение к программе – описание процедур вызова программы (способы передачи управления и параметров данных и др.).
-
Входные и выходные данные – описание организации входной и выходной информации и, при необходимости, ее кодирования.
-
Сообщения – тексты сообщений, выдаваемых программисту или оператору в ходе выполнения программы, описание их содержания и действий, которые необходимо предпринять по этим сообщениям.
В зависимости от особенностей документа допускается объединять отдельные разделы и вводить новые.
В приложении к руководству программиста могут быть приведены дополнительные материалы (примеры, иллюстрации, таблицы, графики и т.п.).
Руководство оператора. Аннотация и содержание обязательны. Руководство оператора должно содержать следующие разделы:
-
Назначение программы – сведения о назначении и информация, достаточная ля понимания функций программы и ее эксплуатации.
-
Условия выполнения программы – условия, необходимые для выполнения программы (минимальный и (или) максимальный состав аппаратурных и программных средств и т.п.).
-
Выполнение программы – последовательность действий оператора, обеспечивающих загрузку, запуск и завершение программы, приведено описание функций, форматов и возможных вариантов команд, с помощью которых оператор осуществляет загрузку и управляет выполнением программы, а также ответы программы на эти команды.
-
Сообщения оператору – тексты сообщений, выдаваемых в ходе выполнения программы, описание их содержания и соответствующих действий оператора (действия оператора в случае сбоя, возможности повторного запуска программы и т.п.).
В зависимости от особенностей документа допускается объединять отдельные разделы и вводить новые. Допускается содержание разделов иллюстрировать поясняющими примерами, таблицами, схемами, графиками.
В приложения к руководству оператора допускается включать различные материалы, которые нецелесообразно включать в разделы руководства.
Текст программы. Аннотация и содержание не являются обязательными.
Основная часть документа должна состоять из текстов одного или нескольких разделов, которым даны наименования. Допускается вводить наименование также и для совокупности разделов. Каждый из этих разделов характеризуется одним из типов символической записи, например:
-
символическая запись на исходном языке;
-
символическая запись на промежуточных языках;
-
символическое представление машинных кодов и т. п.
В символическую запись разделов рекомендуется включать комментарии.