Transcript Slide 1
СОВРЕМЕННЫЕ ТЕХНОЛОГИИ РАЗРАБОТКИ ПО Лекция 3: Модели жизненного цикла ПО Требования Техническое задание Модели жизненного цикла программного обеспечения Структура жизненного цикла • Основные процессы • • • • • Приобретение Поставка Разработка Эксплуатация Сопровождение • Организационные процессы • Управление • Создание инфраструктуры • Усовершенствование • Обучение • Вспомогательные процессы • Документирование • Управление конфигурацией • Обеспечение качества • Верификация • Аттестация • Совместная оценка • Аудит • Решение проблем 3 Основные процессы • Приобретение • подготовка требований и условий • надзор • приёмка • Поставка • • • • оценка требований и условий планирование управления проектом планирование работ выполнение и контроль работ 4 Основные процессы • Разработка • • • • • • • • • подготовка анализ требований к системе проектирование архитектуры детальное проектирование кодирование квалификационное тестирование интеграция системы внедрение ПО приёмка ПО 5 Основные процессы • Эксплуатация • подготовка: планирование работ и определение процедур на случай проблем • эксплуатационное тестирование • собственно эксплуатация • поддержка пользователей • Сопровождение • • • • • анализ проблем и запросов модификация ПО проверка и приёмка перенос ПО в другую среду вывод из эксплуатации 6 Вспомогательные процессы • Документирование • разработка и сопровождение документации • Управление конфигурацией • • • • правила идентификации модулей и версий контроль состояния компонентов оценка функциональной полноты компонентов управление выпуском версий ПО и документации • Обеспечение качества • контроль соответствия ПО требованиям • обеспечение качества процесса (соответствия стандартам) • обеспечение других показателей качества 7 Вспомогательные процессы • Верификация • непротиворечивость требований • реализуемость требований • адекватность стандартов, процедур и инструментов процессам ЖЦ • корректность описания входных/выходных данных, интерфейсов, и т.п. • соответствие кода требованиям • корректность интеграции компонентов • качество документации • и т.п. 8 Вспомогательные процессы • Аттестация • подтверждение результатов тестирования • гарантия безопасности использования и соответствия требованиям и спецификациям • Совместная оценка • оценка состояния работ по проекту (контроль за использованием ресурсов) • Аудит • внешний контроль (ревизия) на предмет соответствия процессов и результатов требованиям • Решение проблем • анализ и решение проблем (включая несоответствия) 9 Организационные процессы • Управление • поиск необходимых ресурсов • планирование - графики работ оценка затрат выделение требуемых ресурсов распределение ответственности оценка рисков по задачам создание управленческой инфраструктуры 10 Организационные процессы • Создание инфраструктуры • выбор и поддержка технологий, стандартов, инструментов • Усовершенствование процессов • меры повышения производительности труда - улучшение методологии - подбор инструментов - обучение персонала • Обучение 11 Стадии жизненного цикла • Стадия – часть процесса • ограниченная по времени • приводящая к выпуску конкретного продукта согласно требованиям к этой стадии - моделей, компонентов, документации • Типичный набор стадий: • • • • • • • сбор требований проектирование реализация тестирование внедрение эксплуатация и сопровождение снятие с эксплуатации 12 Стадии жизненного цикла • Сбор требований • определение целей • изучение бизнес-процессов • построение модели бизнес-процессов - как есть - как должно быть 13 Стадии жизненного цикла • Проектирование • Общий (системный) проект общая архитектура системы функции условия функционирования интерфейсы и распределение функций между компонентами - и прочие спецификации - • Детальный проект - иерархия компонентов спецификация компонентов и структур данных вычислительная модель верификация требований 14 Стадии жизненного цикла • Реализация • разработка детальной спецификации • проектирование логики и программирование модулей • модульное тестирование • описание БД • план приёмо-сдаточных испытаний • руководство пользователя 15 16 Модели жизненного цикла Стратегии конструирования ПО • однократный проход • линейная последовательность этапов конструирования; • инкрементная стратегия • требования определяются в начале процесса • последовательность версий • эволюционная стратегия • последовательность версий • требования уточняются 17 Модели жизненного цикла Каскадная модель (водопад – waterfall) 18 Каскадная модель • Преимущества • на каждой стадии формируется законченный набор проектной документации • можно планировать сроки завершения всех работ и соответствующие затраты • Недостатки • ошибки выявляются поздно (на этапе тестирования) • реальные проекты требуют отклонения от линейного порядка шагов • исходные требования должны быть точными • результаты – только в конце проекта 19 Итерационная модель 20 Инкрементая модель • Первый инкремент – базовый продукт • Последующие инкременты модифицируют • дополнительные характеристики • функциональность • Пример – экстремальное программирование 21 Спиральная модель • Проект развивается по спирали • 4 этапа на каждом витке • Планирование - определение целей, вариантов и ограничений • Анализ риска • Конструирование (разработка продукта) • Оценивание заказчиком 22 Спиральная модель 23 Спиральная модель Достоинства • наиболее реально (в виде эволюции) отображает разработку программного обеспечения • позволяет учитывать риски на каждом витке • включает шаг системного подхода в итерационную структуру разработки • моделирование для уменьшения риска и совершенствования ПП Недостатки спиральной модели • повышенные требования к заказчику • трудности контроля и управления временем разработки 24 Спиральная модель • Самые известные варианты: • RUP (Rational Unified Process) • MSF (Microsoft Solution Framework) • В качестве языка моделирования используется язык UML (Unified Modeling Language) 25 Итерация разработки рисунок: (с) customtema, http://habrahabr.ru/post/171331/ 26 Техническое задание Техническое задание • ТЗ – базовый документ • • • • • общее назначение продукта технические характеристики требования показатели качества процесс выполнения проекта и приёмки • Главная цель • максимально полно отразить требования • сформулировать задачу • обосновать потребность в её решении 28 Стандарты • ГОСТ 19.201-78 Техническое задание. Требования к содержанию и оформлению. • ГОСТ 34.602-89 Техническое задание на создание автоматизированной системы. 29 Основные разделы ТЗ • Общие сведения о системе (программе) • Назначение, цели и задачи системы (программы) • Требования к системе • функциональные требования • пользовательские требования • требования к системе в целом и тд. • • • • Требования к видам обеспечения Требования к документированию Стадии и этапы разработки Порядок контроля и приемки системы (программы) 30 Общие сведения • Полное и сокращённое наименование системы • Реквизиты сторон • Ссылки на документы, на основании которых ведётся разработка (в т.ч., правовая основа) • Сроки и финансирование • Словарь терминов и сокращений 31 Назначение, цели и задачи системы Мотивация создания системы: • какую потребность закрываем • какие подзадачи возникают • возможности, предоставляемые пользователям - сервисы оптимизация бизнес-процессов безопасность централизация обработки и хранения данных 32 Требования к системе • Основные функциональные требования • Декомпозиция задач: • действующие лица • сценарии использования • результаты • В составе этого раздела или в приложении – примеры пользовательского интерфейса 33 Требования к системе • требования к функциональным характеристикам • требования к надежности • условия эксплуатации • требования к составу и параметрам технических средств • требования к информационной и программной совместимости • требования к маркировке и упаковке • требования к транспортированию и хранению • специальные требования 34 Требования к видам обеспечения Требования к: • математическому • информационному • лингвистическому • программному • техническому • и другим видам обеспечения 35 Требования к документации • Перечень предоставляемых заказчику документов. • Может включать следующие документы: • • • • • • • • • Техническое задание Ведомость эскизного (технического) проекта Пояснительная записка к Техническому проекту Описание организации информационной базы Руководство пользователя Руководство администратора Программа и методика испытаний Протокол приемочных испытаний Акт выполненных работ 36 Стадии и этапы разработки • Перечисляются этапы работ • сроки • описание • результаты этапа 37 Порядок контроля и приёмки • Указывается документ, на основании которого проводятся приёмо-сдаточные испытания. 38 Общее содержание ТЗ • ТЗ может по необходимости дополняться другими разделами: • внедрение • наполнение контентом (в случае сайта) • и прочие работы, не подпадающие под основные разделы • а также может быть сокращено. 39 Ссылки • ГОСТ 19.201-78, Техническое задание. Требования к содержанию и оформлению • ГОСТ 34.602-89 Техническое задание на создание автоматизированной системы • Сравнение обоих ГОСТов: общее содержание ТЗ • Неплохие материалы с разбором процесса написания ТЗ на сайт: • http://habrahabr.ru/post/140574/ и • http://habrahabr.ru/post/138749/ 40