(ГОСТ 19.106-78)
Основными программными документами являются: спецификация, ведомость держателей подлинников, пояснительная записка, описание программы, текст программы, техническое задание, программа и методика испытаний и эксплуатационная документация.
ПД приведены (опустить):
Вид программного документа
| Содержание программного документа
|
Спецификация
| Состав программы и документации на нее
|
Ведомость держателей подлинников
| Перечень предприятий, на которых хранят подлинники программных документов
|
Текст программы
| Запись программы с необходимыми комментариями
|
Описание программы
| Сведения о логической структуре и функционировании программы
|
Программа и методика испытаний
| Требования, подлежащие проверке при испытании программы, а также порядок и методы их контроля
|
Техническое задание
| Назначение и область применения программы, технические., технико-экономические и специальные требования, предъявляемые к программе, необходимые стадии и сроки разработки, виды испытаний
|
Пояснительная записка
| Схема алгоритма, общее описание алгоритма и (или) функционирования программы. а также обоснование принятых технических и технико-экономических решений
|
Эксплуатационные документы
| Сведения для обеспечения функционирования и эксплуатации программы
|
Просто перечислить.
Что относится к технологической документации?
СПЕЦИФИКАЦИЯ (ГОСТ 19.202-78) содержит перечень и краткое описание назначения всех файлов программного обеспечения, в том числе и файлов документации на него. Является обязательной для программных систем, а также их компонентов, имеющих самостоятельное применение.
ВЕДОМОСТЬ ДЕРЖАТЕЛЕЙ ПОДЛИННИКОВ (ГОСТ 19.403-79 , код документа - 05) содержит список предприятий , на которых хранятся подлинники программных документов.
ТЕХНИЧЕСКОЕ ЗАДАНИЕ (ГОСТ 19.201-78) содержит основание для разработки, назначение разработки, требования к программе, требования к программной документации, технико-экономические показатели, стадии и этапы разработки, порядок контроля и приемки.
ТЕКСТ ПРОГРАМЫ ГОСТ (ГОСТ 19.401-78, код документа – 12) состоит из символических записей на исходном языке с подробными комментариями, которые должны составлять около 30% текста программы. Рекомендуется в комментариях описывать назначение программы,основные особенности алгоритма отдельных участков, особенности ввода-вывода и т.д.
ПРОГРАММА И МЕТОДИКА ИСПЫТАНИЙ (ГОСТ 19.301-79, код – 51) включает:
1) сведения об области применения тестируемой программы;
2) определенную и достижимую цель испытания;
3) требования:
· к комплектности программной документации,
· характеристикам программы применительно к условиям эксплуатации,
· к информационной и программной совместимости;
4)порядок проведения и
5)используемые методы испытаний, где указывается последовательность испытаний, перечень необходимых технических и программных средств.
Приводятся описания применяемых методов испытаний с указанием
конкретных проверок и результатов этого испытания. Во всех случаях
при применении теста необходимо четко определить конкретные значе-
ния входных данных, ожидаемые выходные и промежуточные результаты.
В приложении к документу об испытаниях программы могут быть
включены тестовые примеры, их контрольные распечатки, аналитические
и другие материалы. Мы включаем это в ПД «Текст программы».
ОПИСАНИЕ ПРОГРАММЫ (ГОСТ 19.402-78, код документа -13) включает:
- наименование программы,
- язык программирования,
- ПО, необходимое для функционирования программы,
- логическое строение, состоящее из:
1) алгоритмов модулей,
2) используемых методов,
3) структуры программы с описанием функций составных частей (модулей) и связи между ними,
4) связей программы с другими программами.
Оформление блок-схем см. ГОСТ 19.701-90
Здесь содержатся разделы: "Используемые технические средства",
где указаны типы ЭВМ и устройств, необходимых для эксплуатации прог-
раммы, "Входные и выходные данные"(характер, организация, предва-
рительная подготовка (для входных данных), формат способ кодирования
данных.
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА (ГОСТ 19.404-79, код - 81) содержит информацию о структуре и конкретных компонентах ПО, в т.ч. схемы алгоритмов, подробное описание алгоритма функционирования программы, а также обоснование принятых технических и экономических решений.
К эсплуатационной документации относятся документы, которыми руководствуется пользователь при:
- инсталяции ПС (при установке ПС с соответствующей настройкой на среду применения ПС);
- применении ПС для решения своих задач;
- и управлении ПС (например, когда данное ПС взаимодействует с другими системами).
Эти документы частично затрагивают вопросы сопровождения ПС, но не касаются вопросов, связанных с модификацией программ.
В связи с этим следует различать две категории пользователей ПС: ординарных пользователей ПС и администраторов ПС.
Ординарный пользователь ПС (end-user) использует ПС для решения своих задач (в своей предметной области). Это может быть инженер, проектирующий техническое устройство, или кассир, продающий железнодорожные билеты с помощью ПС. Он может и не знать многих деталей работы компьютера или принципов программирования. Администратор ПС (system administrator) управляет использованием ПС ординарными пользователями и осуществляет сопровождение ПС, не связанное с модификацией программ. Например, он может регулировать права доступа к ПС между ординарными пользователями, поддерживать связь с поставщиками ПС или выполнять определенные действия, чтобы поддерживать ПС в рабочем состоянии, если оно включено как часть в другую систему.
Это:
ФОРМУЛЯР (ГОСТ 19.501-78, код документа - 30) содержит основные характеристики ПО, комплектность и сведения об эксплуатации программы.
ОПИСАНИЕ ПРИМЕНЕНИЯ (ГОСТ 19.502-78) содержит сведения о назначении программы, области применения, применяемых методах, классе решаемых задач, ограничениях для применения, минимальной конфигурации технических средств, описание входных и выходных данных.
РУКОВОДСТВО СИСТЕМНОГО ПРОГРАММИСТА (ГОСТ 19.503-79, код - 32) содержит сведения для проверки, обеспечения функционирования и настройки программы на условия конкретного применения с учетом используемых технических и вспомогательных системных программных средств.
РУКОВОДСТВО ПРОГРАММИСТА (ГОСТ 19.504-79, код - 33) содержит все сведения, необходимые для сопровождения программы.
В РУКОВОДСТВЕ ОПЕРАТОРА (ГОСТ 19.505-79, код 34) дается вся необходимая информация для обеспечения процедуры общения (взаимодействия) оператора с вычислительной системой в процессе выполнения программы.
РУКОВОДСТВО ПО ТЕХНИЧЕСКОМУ ОБСЛУЖИВАНИЮ (ГОСТ 19.508-79, код – 46) должно содержать сведения для применения тестовых и диагностических программ при обслуживании технических средств.
ВЕДОМОСТЬ ЭКСПЛУАТАЦИОННЫХ ДОКУМЕНТОВ (ГОСТ 19.507-79, код - 20) должна содержать перечень эксплуатационных документов на программу.
Допускается объединять отдельные виды эксплуатационных документов, кроме формуляра и ведомости. Необходимость объединения указывается в техническом задании, а имя берут из объединяемых документов. Например, в настоящее время часто используется эксплуатационный документ, в который отчасти входит руководство системного программиста, программиста и оператора. Он называется «Руководство пользователя».
Материалы каждого программного документа располагаются в следующей последовательности (ГОСТ 19.105-78):
1) Титульная часть (ГОСТ 19.104-78):
- лист утверждения (не входит в общее число листов)
- титульный лист (первый лист документа)
2) Информационная часть:
- аннотация (сведения о назначении документа и краткое изложение его основной части);
- листы содержания.
3) Основная часть:
- текст документа с рисунками и таблицами;
- приложения;
- перечень терминов;
- перечь сокращений;
- перечень рисунков;
- перечень таблиц;
и т.д.
4) Часть регистрации изменений:
- лист регистрации изменений
8. Жизненный цикл (этапы разработки) программного обеспечения.
Развитие ВТ постоянно расширяет классы задач, решаемых на ЭВМ, и связанных с обработкой информации различного характера.
Это в основном три вида информации и соответственно три класса задач, для решения которых используются компьютеры:
1) Вычислительные задачи, связанные с обработкой числовой информации. К ним относится, например, задача решения системы линейных уравнений большой размерности. Раньше была основной, доминирующей областью использования ЭВМ.
2) Задачи по обработке символьной информации, связанные с созданием, редактированием и преобразованием текстовых данных. С решением таких задач связан труд, например, секретаря-машинистки.
3) Задачи по обработке графической информации т.е. схем, чертежей, графиков, эскизов и т.д. К таким задачам относится, например, задача разработки конструктором чертежей новых изделий.
4) Задачи по обработке алфавитно-цивровой информации – ИС. В настоящее время стало одной из основных областей применеия ЭВМ и задачи все усложняются.
Решение на ЭВМ задач каждого класса имеет свою специфику, но его можно разбить на несколько этапов, характерных для большинства задач.
Технология программирования изучает технологические процессы и порядок их прохождения (стадии) с использованием знаний, методов и средств. Знания, методы и средства могут использоваться в разных процессах и, следовательно, технологиях.
Технологии удобно характеризовать в двух измерениях – вертикальном (представляющем процессы) и горизонтальном (представляющем стадии).
Рисунок
Процесс- совокупность взаимосвязанных действий (технологических операций), преобразующих некоторые входные данные в выходные. Процессы состоят из набора действий (технологических операций), а каждое действие из набора задач и методов их решения, а также исходными данными и результатами. Вертикальное измерение отражает статические аспекты процессов и оперирует такими понятиями, как рабочие процессы, действия, задачи, результаты деятельности, исполнители.
Рисунок
Стадия – часть действий по созданию ПО, ограниченная некоторыми временными рамками и заканчивающаяся выпуском конкретного продукта, определяемого заданными для данной стадии требованиями. Иногда стадии объединяют в более крупные временные рамки, называемые фазами или этапами. Итак, горизонтальное измерение представляет время, отражает динамические аспекты процессов и оперирует такими понятиями, как фазы, стадии, этапы, итерации и контрольные точки.
Рисунок.
Разработка ПО подчиняется определенному жизненному циклу.
Жизненный цикл ПО – это непрерывный и упорядоченный набор видов деятельности, осуществляемый и управляемый в рамках каждого проекта по разработке и эксплуатации ПО, начинающийся с момента появления идеи(замысла) создания некоторого программного обеспечения и принятия решения о необходимости его создания и заканчивающийся в момент его полного изъятия из эксплуатации по причине:
а) морального старения;
б) потери необходимости решения соответствующих задач.
Технологические подходы – это механизмы реализации жизненного цикла.
Технологический подход определяется спецификой комбинации стадий и процессов, ориентированной на разные классы ПО и на особенности коллектива разработчиков.
ЖЦ определяет стадии(фазы, этапы), так что программный продукт переходит с одного этапа на другой, начиная с зарождения концепции продукта и заканчивая этапом его сворачивания.
ЖЦ разработки ПО может быть представлен с различной степенью детализации этапов. Простейшее представление жизненного цикла, включает стадии:
Анализ
Проектирование
Реализация
Тестирование и отладка
Внедрение, эксплуатация и сопровождение.
Простейшее представление ЖЦ программы (каскадный технологический подход к ведению жизненного цикла):
Процессы
Анализ
Проектирование
Программирование
Тестирование
Сопровождение
Стадии
Анализ Проектирование Реализация ТестированиеВнедрениеэксплуатация
и отладка и сопровождение
Фактически здесь на каждой стадии выполняется единственный процесс. Очевидно, что при разработке и создании больших программ такая схема недостаточно корректна (неприменима), но ее можно взять за основу.
Этап аализа концентрируется на системных требованиях. Требования определяются и специфицируются (описываются). Осуществляется разработка и интеграция функциональных моделей и моделей данных для системы. Кроме того, фиксируются нефункциональные и другие системные требования.
Этап проектирования разделяется на два основных подэтапа: архитектурное и детализированное проектирование. В частности, проводится уточнение конструкции программы, пользовательского интерфейса и структур данных. Поднимаются и фиксируются вопросы проектирования, которые влияют на понятность, приспособленность к сопровождению и масштабируемость системы.
Этап реализации включает написание программы.
Отличия в вппаратном обеспечении и программном обеспечении особенно видны на этапе эксплуатации. Если товары широкого потребления проходят этапы выведения на рынок, роста, зрелости и упадка, то жизнь ПО больше походит на историю недостроенного, но постоянно достраиваемого и подновляемого здания(самолета) (Абонент).
ЖЦ ПО регламентируется многими стандартами в том числе и международными.
Цель стандартизации ЖЦ сложных ПС:
- обобщение опыта и результатов исследований множества специалистов;
- рекомендации наиболее эффективных современных методов и процессов создания и развития комплексов программ;
- отработка технологических процессов и приемов разработки, а также методической базы для их автоматизации.
Стандарты включают:
- правила описания исходной информации, способов и методов выполнения операций;
- устанавливают правила контроля технологических процессов;
- устанавливают требования к оформлению результатов;
- регламентируют содержание технологических и эксплуатационных документов;
- определяют организационную структуру коллектива разработчиков;
- обеспечивают распределение и планирование заданий;
- обеспечивают контроль за ходом создания ПС.
В России действуют стандарты, регламентирующие ЖЦ :
- стадии разработки ПО– ГОСТ 19.102-77
- стадии создания АС - ГОСТ 34.601 –90;
- ТЗ на создание АС - ГОСТ 34.602-89;
- Виды испытания АС - ГОСТ 34.603-92;
Однако создание, сопровождение и развитие прикладных ПС для ИС в этих стандартах отражены недостаточно, а отдельные их положения устарели с точки зрения построения современных распределенных комплексов прикладных программ высокого качества в системах управления и обработки данных с различной архитектурой.
В связи с этим следует отметить международный стандарт ISO/IEC 12207-1999 – «Информационные технологии – Процессы жизненного цикла программного обеспечения».
ISO - International Organization of Standardization - Международная организация по стандартизации, IEC - International Electrotechnical Commission - Международная комиссия по электротехнике.
Он определяет структуру ЖЦ ПО и его процессы.
Т.е. создание ПО это не такая простая задача, поэтому и существуют стандарты, в которых все расписано: что нужно делать, когда и как.
Структура ЖЦ ПО по международному стандарту ISO/IEC 12207-95 базируется на трех группах процессов:
1) основные процессы ЖЦ ПО (приобретение, поставка, разработка, эксплуатация, сопровождение). Мы основное внимание уделим последним.
2) вспомогательные процессы, обеспечивающие выполнение основных процессов (документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, совместный анализ (оценка), аудит, решение проблем).
Управление конфигурацией является одним из вспомогательных процессов, поддерживающих основные процессы жизненного цикла ПО, прежде всего процессы разработки и сопровождения. При разработке проектов сложных ПО, состоящих из многих компонентов, каждый из которых может иметь разновидности или версии, возникает проблема учета их связей и функций, создания унифицированной (т.е. единой) структуры и обеспечения развития всей системы. Управление конфигурацией позволяет организовать, систематически учитывать и контролировать внесение изменений в различные компоненты ПО на всех стадиях ее ЖЦ.
Верификация-это процесс определения того, отвечает ли текущее состояние ПО, достигнутое на данном этапе, требованиям этого этапа.
Аттестация – подтверждение экспертизой и представлением объективных доказательств того, что конкретные требования к конкретным объектам полностью реализованы.
Совместный анализ(оценка) – систематическое определение степени соответствия объекта установленным критериям.
Аудит – проверка, выполняемая компетентным органом (лицом) с целью обеспечения независимой оценки степени соответствия программных продуктов или процессов установленным требованиям. Проверка позволяет оценить соответствие параметров разработки с исходными требованиями. Проверка частично совпадает с тестированием, которое проводится для определения различий между действительными и ожидавшимися результатами и оценки соответствия характеристик ПО исходным требованиям. В процессе реализации проекта важное место занимают вопросы идентификации, описания и контроля конфигурации отдельных компонентов и всей системы в целом.
3)организационные процессы (управление проектами, создание инфраструктуры проекта, определение, оценка и улучшение самого ЖЦ, обучение).
Управление проектом связано с вопросами планирования и организации работ, создания коллективов разработчиков и контроля за сроками и качеством выполняемых работ. Техническое и организационное обеспечение проекта включает выбор методов и инструментальных средств для реализации проекта, определение методов описания промежуточных состояний разработки, разработку методов и средств испытаний созданного ПО, обучение персонала и т.п. Обеспечение качества проекта связано с проблемами верификации, проверки и тестирования компонентов ПО.
Мы будем рассматривать ЖЦ ПО с точки зрения разработчика.
Процесс разработки в соответсвии со стандартом предусматривает действия и задачи, выполняемые разработчиком, и охватывает работы по созданию ПО и его компонентов в соответствии с заданными требованиями, включая оформление проектной и эксплуатационной документации, а также подготовку материалов, необходимых для проверки работоспособности и соответствия качества пограммных продуктов, материалов, необходимых для обучения персонала и т.д.
По стандарту жзненный цикл ПО ИС включает в себя следующие действия:
1)возникновение и исследование идеи(замысла);
2) подготовительный этап - выбор модели жизненного цикла, стандартов, методов и средств разработки, а также составление плана работ.
3) анализ требований к информационной системе - определение ее
функциональных возможностей, пользовательских требований, требований к надежности и безопасности, требований к внешним интерфейсам и т.д.
4) проектирование архитектуры системы - определение состава необходимого оборудования, программного обеспечения и операций, выполняемых обслуживающим персоналом.
5) анализ требований к программному обеспечению- определение функциональных возможностей, включая характеристики производительности, среды функционирования компонентов, внешних интерфейсов, спецификаций надежности и безопасности, эргономических требований, требований к используемым данным, установке, приемке, пользовательской документации, эксплуатации и сопровождению.
6) проектирование архитектуры программного обеспечения - определение структуры ПО, документирование интерфейсов его компонентов, разработку предварительной версии пользовательской документации, а также требований к тестам и плана интеграции.
7) детальное проектирование программного обеспечения - подробное
описание компонентов ПО и интерфейсов между ними, обновление пользовательской документации, разработка и документирование требований к тестам и плана тестирования, компонентов ПО, обновление плана интеграции компонентов.
8) кодирование ПО -– разработка и документирование
каждого программного компонента;
9)тестирование ПО – разработка совокупности тестовых процедур и данных для их тестирования, тестирование компонентов, обновление пользовательской документации, обновление плана интеграции ПО;
10) интеграция ПО– сборка программных компонентов в соответсвие с
планом интеграции и тестрование ПО на соответсвие квалификационным требованиям, представляющих собой набор критериев или условий, которые необходимо выполнить, чтобы квалифицировать программный продукт, как соответсвующий своим спецификациям и готовый к использованию в заданых условиях эксплуатации;
11) квалификационное тестирование ПО – тестирование ПО в
присутствии заказчика для демонстрации его соответствия
требованиям и готовности к эксплуатации; при этом проверяется также готовность и полнота технической и пользовательской документации;
12) интеграция системы – сборка всех компонетов информационной системы, включая ПО и оборудование;
13) квалификационное тестирование ИС – тестирование системы на
соответсвие требованиям к ней и проверка оформления и полноты документации;
14) установка ПО – установка ПО на обородование заказчика и проверка его работоспособюности;;
15) приемка ПО – оценка результатов квалифицированного
тестирования ПО и информционной системы в целом и
документирование результатов оценки совместно с заказчиком, аттестация и окончательная передача ПО заказчику.
16)Управление и разработка документации;
17)эксплуатация
18)сопровождение – процесс создания и внедрения новых версий
программного продукта.;
19)завершение эксплуатации.
Указанные действия можно сгруппировать, условно выделив следующие основные этапы разработки ПО:
· постановка задачи (по ГОСТ 19.102-77 стадия «Техническое задание»)
· анализ требований и разработка спецификаций (по ГОСТ 19.102-77 стадия «Эскизный проект»)
· проектирование (по ГОСТ 19.102-77 стадия «Технический проект»)
· реализация (кодирование, тестирование и отладка) (по ГОСТ 19.102-77 стадия «Рабочий проект»).
· эксплуатация и сопровождение
или еще на более крупные фазы:
1) Фаза разработки
2) Фаза использования(эксплуатации);
3) Фаза сопровождения (продолжающейся разработки)
Необходимо особо отметить то, что использование сопровождается продолжающейся разработкой (сопровождение) - разработкой новых версий и подверсий, в которых учитываются недостатки предыдущей версии и реализуются новые возможности.
использование
------------------
разработка /
--------------- сопровождение
\_________________
Программное обеспечение создается, эксплуатируется и развивается во времени.
Разработка включает в себя все работы:
1) по созданию ПО и его компонент в соответствии с заданными требованиями, включая оформление проектной и эксплуатационной документации,
2) подготовку материалов, необходимых для проверки работоспособности и соответствующего качества программных продуктов, материалов, необходимых для организации обучения персонала и т.д.
Разработка включает в себя, как правило, системный анализ, проектирование, реализацию (программирование), тестирование, отладка, испытания, документирование .
Использование включает в себя работы по внедрению компонентов ПО в эксплуатацию, в том числе конфигурирование структур данных и рабочих мест пользователей, обеспечение эксплуатационной документацией, проведение обучение персонала и т.д. и непосредственно эксплуатацию, в том числе локализацию проблем и устранение причин их возникновения, модификацию ПО в рамках установленного регламента, подготовку предложений по совершенствованию, развитию и модернизации системы.
Трудозатраты при классической разработке ПО, %
Анализ
| Проектирование
| Кодирование
| Тестирование
|
|
|
|
|