Презентация "Жизненный цикл программного обеспечения"
Подписи к слайдам:
Основы программной инженерии
- Барышникова Марина Юрьевна
- МГТУ им. Н.Э. Баумана
- Каф. ИУ-7
- [email protected]
- Жизненный цикл программного обеспечения
- это период времени, который начинается с момента принятия решения о необходимости создания программного обеспечения и заканчивается в момент его полного изъятия из эксплуатации
- (IEEE Std. 610.12 – 19990 Standard Glossary of Software Engineering Terminology)
- Артефакты — создаваемые человеком информационные сущности – документы, в достаточно общем смысле участвующие в качестве входных данных и получающиеся в качестве результатов различных деятельностей.
- Роль - абстрактная группа заинтересованных лиц, участвующих в деятельности по созданию и эксплуатации системы, решающих одни и те же задачи или имеющих одни и те же интересы по отношению к ней
- Программный продукт – набор компьютерных программ, процедур и, возможно связанных с ними документации и данных
- Процесс – совокупность взаимосвязанных действий, преобразующих некоторые входные данные в выходные
- Жизненный цикл ПО согласно стандарту ISO/IEC 12207: 1995 «International Technology – Software Life Cycle Processes» (ГОСТ ИСО МЭК 12207-99 Информационные технологии. Жизненный цикл программного обеспечения)
- Жизненный цикл
- Организационные процессы
- Основные процессы
- Вспомогательные процессы
- Приобретение
- Поставка
- Разработка
- Эксплуатация
- Сопровождение
- Управление проектом
- Создание инфраструктуры
- Оценка и улучшение жизненного цикла
- Обучение
- Документирование
- Управление конфигурацией
- Обеспечение качества
- Верификация
- Аттестация
- Совместная оценка
- Аудит
- Разрешение проблем
- Процесс приобретения ПО
- Определяет действия заказчика, приобретающего программное обеспечение или услуги, связанные с ПО, на основе контрактных отношений
- В ходе данного процесса заказчиком выполняются следующие действия:
- осознание своих потребностей в программной системе и принятие решения относительно покупки, разработки под заказ или усовершенствования существующей системы;
- подготовка заявочных предложений, содержащих требования к системе, условия ее функционирования и технические ограничения, а также другие условия контракта
- Приобретение - процесс получения системы, программного продукта или программной услуги
- Процесс поставки
- Определяет действия организации-поставщика по отношению к заявочным предложениям заказчика
- Процесс включает в себя:
- рассмотрение заявочных предложений заказчика и внесение в них своих коррективов (при необходимости);
- подготовку договора с заказчиком;
- планирование выполнения работ (при этом работы могут выполняться своими силами или с привлечением субподрядчика);
- разработку организационной структуры проекта, технических требований к среде разработки и ресурсам, мероприятий по управлению проектом и др.
- Процесс поставки отвечает за выполнение процессов разработки, эксплуатации и (или) сопровождения
- Определяет действия, выполняемые разработчиком в процессе создания программного обеспечения и его компонентов в соответствии с заданными требованиями
- Данный процесс включает, в том числе:
- оформление проектной и эксплуатационной документации;
- подготовку материалов, необходимых для проверки работоспособности программного продукта и его соответствия стандартам качества;
- разработку материалов (методических и учебных), необходимых для подготовки и обучения персонала и т.д.
- Выбор модели жизненного цикла
- Анализ требований к системе
- Проектирование архитектуры системы
- Анализ программных требований
- Детальное конструирование ПО
- Кодирование и тестирование ПО
- Интеграция ПО
- Квалификационное тестирование ПО
- Интеграция системы
- Квалификационное тестирование системы
- Установка ПО
- Приемка ПО
- На данном этапе рассматривается область применения системы. Список требований к разрабатываемой системе должен включать:
- совокупность условий, при которых предполагается эксплуатировать будущую систему (аппаратные и программные ресурсы, предоставляемые системе; внешние условия ее функционирования; состав людей и работ, имеющих к ней отношение);
- описание выполняемых системой функций;
- ограничения в процессе разработки (директивные сроки завершения отдельных этапов, имеющиеся ресурсы, организационные процедуры и мероприятия, обеспечивающие защиту информации и пр.)
- Требования к системе оцениваются исходя из критериев
- реализуемости и возможности проверки при тестировании
- Предполагает определение следующих характеристик для каждого компонента ПО:
- функциональных возможностей, включая характеристики производительности и среды функционирования компонента
- внешних интерфейсов
- спецификаций надежности и безопасности;
- эргономических требований
- требований к используемым данным
- требований к установке и приемке
- требований к пользовательской документации
- требований к эксплуатации и сопровождению
- В рамках проектирования архитектуры для каждого компонента ПО выполняются следующие задачи:
- определение на высоком уровне абстракции структуры программного обеспечения и состава его компонентов
- разработка и документирование программных интерфейсов ПО и баз данных
- разработка предварительной версии пользовательской документации
- разработка и документирование предварительных требований к тестам и плана интеграции ПО
- Архитектура программного обеспечения (software architecture)
- представляет собой описание подсистем и компонентов программной
- системы, а также связей между ними
- Включает следующие задачи:
- описание компонентов ПО и интерфейсов между ними в объеме, достаточном для их последующего самостоятельного кодирования и тестирования
- разработку и документирование детального проекта базы данных
- обновление пользовательской документации
- разработку и документирование требований к тестам и плана тестирования компонентов ПО
- обновление плана интеграции ПО
- разработку (кодирование) и документирование каждого компонента ПО и базы данных, а также совокупности тестовых процедур и данных для тестирования
- тестирование каждого компонента ПО и базы данных на соответствие предъявляемым к ним требованиям
- обновление (при необходимости) пользовательской документации
- обновление плана интеграции ПО
- заключается в сборке всех ее компонентов, включая ПО и оборудование, и тестирование агрегированных компонентов
- В процессе интеграции также производится оформление и проверка полного комплекта документации на систему
- проводится разработчиком в присутствии заказчика для демонстрации того, что ПО удовлетворяет своим спецификациям и готово к использованию в условиях эксплуатации
- При этом также проверяются полнота технической и пользовательской документации и ее адекватность компонентам ПО
- Установка ПО осуществляется разработчиком в соответствии с планом в той среде и на том оборудовании, которые предусмотрены договором. В процессе установки проверяется работоспособность ПО и баз данных
- Приемка ПО предусматривает оценку результатов квалификационного тестирования системы и документирование результатов оценки, которое производится заказчиком с помощью разработчика. Разработчик выполняет окончательную передачу ПО заказчику в соответствии с договором, обеспечивая при этом необходимое обучение и поддержку
- Эксплуатация системы выполняется в предназначенной для этого среде в соответствии с пользовательской документацией
- Включает установление эксплуатационных стандартов и проведение эксплуатационного тестирования
- внесение изменений в ПО в целях исправления ошибок, повышения производительности или адаптации к изменившимся условиям работы или требованиям
- Функции службы сопровождения:
- анализ проблем и запросов на модификацию ПО
- модификация программного продукта
- его проверка и приемка
- перенос ПО в другую среду
- снятие ПО с эксплуатации
- Документирование
- Управление конфигурацией
- Обеспечение качества
- Верификация
- Аттестация
- Совместная оценка
- Аудит
- Разрешение проблем
- Документирование - формализованное описание информации, созданной в течение всего жизненного цикла ПО
- Это набор действий, с помощью которых планируют, проектируют, разрабатывают, выпускают, редактируют, распространяют и сопровождают документы, необходимые для всех заинтересованных лиц, участвующих в разработке ПО, а также для пользователей системы
- Конфигурация программного обеспечения – это совокупность его функциональных и физических характеристик, установленных в технической документации и реализованных в программах
- Процесс позволяет организовать, систематически учитывать и контролировать внесение изменений в ПО на всех стадиях жизненного цикла
- Общие принципы и рекомендации по управлению конфигурацией отражены
- в стандарте ISO/IEC CD 12207 – 2:1995 “Information Technology – Software
- Cycle Processes. Part 2. Configuration Management for Software”
- Обеспечивает гарантии того, что программный продукт и процессы его жизненного цикла соответствуют заданным требованиям, а также выработанным и утвержденным планам работ
- Процесс призван обеспечить гарантированное соответствие процессов жизненного цикла, среды разработки и квалификации персонала условиям договора, установленным стандартам и процедурам. Для этого должны быть обеспечены качество продукта, качество процесса и прочие показатели качества системы
- Качество – совокупность свойств, характеризующих
- способность программного обеспечения удовлетворять
- заданным требованиям и нуждам всех заинтересованных
- сторон
- Это процесс определения того, отвечает ли текущее состояние разработки, достигнутое на данном этапе, требованиям этого этапа. В процессе верификации проверяются следующие условия:
- непротиворечивость требований к системе и степень учета потребностей пользователя
- возможности поставщика выполнить заданные требования
- соответствие выбранных процессов ЖЦ ПО условиям договора
- адекватность стандартов, процедур и среды разработки процессам ЖЦ ПО
- соответствие проектных спецификаций заданным требованиям
- корректность описания в проектных спецификациях входных и выходных данных, последовательности событий, логики и т.д.
- соответствие кода проектным спецификациям и требованиям
- тестируемость и корректность кода, его соответствие принятым стандартам кодирования
- корректность интеграции компонентов ПО в систему
- адекватность, полнота и непротиворечивость документации
- Верификация представляет собой совокупность действий по сравнению
- полученного результата жизненного цикла с требуемыми характеристиками
- для этого результата, что рассматривается как формальное доказательство
- правильности ПО
- предусматривает определение полноты соответствия заданных требований и созданной системы или программного продукта их конкретному функциональному назначению
- Верификация и аттестация - два взгляда на качество:
- если верификация оценивает ПО с точки зрения того как оно создается,
- то аттестация рассматривает программную систему с точки зрения того,
- что она делает (т.е. оценивается способность программной системы
- удовлетворить функциональные потребности пользователей)
- Управление
- Создание инфраструктуры (инфраструктура программного проекта включает в себя технологии и стандарты, а также совокупность аппаратных, программных и инструментальных средств для разработки, эксплуатации или сопровождения ПО)
- Усовершенствование
- Обучение (первоначальное обучение и последующее постоянное повышение квалификации персонала, включая разработку методических материалов)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Обозначение стандарта ЕСПД состоит из:
- числа 19 (присвоенного классу стандартов ЕСПД);
- одной цифры (после точки), обозначающей код классификационной группы стандартов, указанный в таблице;
- двузначного числа (после тире), указывающего год регистрации стандарта
- ГОСТ 19.001-77 ЕСПД. Общие положения
- ГОСТ 19.101-77 ЕСПД. Виды программ и программных документов
- ГОСТ 19.102-77 ЕСПД. Стадии разработки
- ГОСТ 19.103-77 ЕСПД. Обозначение программ и программных документов
- ГОСТ 19.104-78 ЕСПД. Основные надписи
- ГОСТ 19.105-78 ЕСПД. Общие требования к программным документам
- ГОСТ 19.106-78 ЕСПД. Требования к программным документам, выполненным печатным способом
- ГОСТ 19.201-78 ЕСПД. Техническое задание. Требования к содержанию и оформлению
- ГОСТ 19.202-78 ЕСПД. Спецификация. Требования к содержанию и оформлению
- ГОСТ 19.301-79 ЕСПД. Порядок и методика испытаний
- ГОСТ 19.401-78 ЕСПД. Текст программы. Требования к содержанию и оформлению
- ГОСТ 19.402-78 ЕСПД. Описание программы
- ГОСТ 19.404-79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению
- ГОСТ 19.501-78 ЕСПД. Формуляр. Требования к содержанию и оформлению
- ГОСТ 19.502-78 ЕСПД. Описание применения. Требования к содержанию и оформлению
- ГОСТ 19.503-79 ЕСПД. Руководство системного программиста. Требования к содержанию и оформлению
- ГОСТ 19.504-79 ЕСПД. Руководство программиста
- ГОСТ 19.505-79 ЕСПД. Руководство оператора
- ГОСТ 19.506-79 ЕСПД. Описание языка
- ГОСТ 19.508-79 ЕСПД. Руководство по техническому обслуживанию. Требования к содержанию и оформлению
- ГОСТ 19.604-78 ЕСПД. Правила внесения изменений в программные документы, выполняемые печатным способом
- ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения
- ГОСТ 19.781-90. Обеспечение систем обработки информации
- стандарты ЕСПД вносят элемент упорядочения в процесс документирования программных средств (ПС);
- несмотря на наличие требований к комплекту документации на ПС , предусмотренной стандартами ЕСПД, они позволяют вносить дополнительные виды документов;
- стандарты ЕСПД позволяют мобильно изменять структуры и содержание установленных видов программных документов исходя из требований заказчика и пользователя
- ориентация на единственную, «каскадную» модель жизненного цикла ПО;
- отсутствие четких рекомендаций по документированию характеристик качества программного средства;
- отсутствие системной увязки с другими действующими отечественными системами стандартов по жизненному циклу и документированию продукции в целом, например, ЕСКД;
- нечетко выраженный подход к документированию ПС как товарной продукции;
- отсутствие рекомендаций по самодокументированию ПС, например, в виде экранных меню и средств оперативной помощи пользователю («хелпов»);
- отсутствие рекомендаций по составу, содержанию и оформлению документов на программные средства, согласованных с рекомендациями международных и региональных стандартов
- Формирование требований к АС
- Обследование объекта и обоснование необходимости создания АС
- Формирование требований пользователя к АС
- Оформление отчета о выполнении работ и заявки на разработку АС
- Разработка концепции АС
- Изучение объекта
- Проведение необходимых научно-исследовательских работ
- Разработка вариантов концепции АС и выбор варианта концепции АС, удовлетворяющего требованиям пользователей
- Оформление отчета о проделанной работе
- Техническое задание
- Разработка и утверждение технического задания на создание АС
- Эскизный проект
- Разработка предварительных проектных решений по системе и ее частям
- Разработка документации на АС и ее части
- Технический проект
- Разработка проектных решений по системе и ее частям
- Разработка документации на АС и ее части
- Разработка и оформление документации на поставку комплектующих изделий
- Разработка заданий на проектирование в смежных частях проекта
- Рабочая документация
- Разработка рабочей документации на АС и ее части
- Разработка и адаптация программ
- Ввод в действие
- Подготовка объекта автоматизации
- Подготовка персонала
- Комплектация АС поставляемыми изделиями (программными и техническими средствами, программно-техническими комплексами, информационными изделиями)
- Строительно-монтажные работы
- Пусконаладочные работы
- Проведение предварительных испытаний
- Проведение опытной эксплуатации
- Проведение приемочных испытаний
- Сопровождение АС
- Выполнение работ в соответствии с гарантийными обязательствами
- Послегарантийное обслуживание
- Стандарт ГОСТ 34.601-90: стадии и этапы создания автоматизированной системы
Информатика - еще материалы к урокам:
- Презентация "Графика в Pascal ABC.NET"
- Презентация "Интегрированная среда разработки приложений Lazarus"
- Презентация "Планирование тестовых испытаний"
- Презентация "Объявление переменных и типы данных в C++"
- Презентация "Разработка сайта для ООО «Агентство недвижимости «Гарант»"
- Презентация "Коллекции в Java"