Слайд 1
Востриков Александр Владимирович
avostrikov@hse.ru
к.т.н., доцент департамента компьютерной инженерии
ауд. 904
Технология разработки
программного обеспечения
Слайд 2Роли в команде
Генеральный директор
Ведущий программист
Программист
Тестировщик
Технический писатель
Слайд 3Формирование оценки за дисциплину
Итоговая оценка за дисциплину К в модуле
по 10-балльной шкале формируется как взвешенная сумма:
K = 0,7
∙ Тек +0,3 ∙ Экз,
при этом 0,7 ∙ Тек включает в себя:
0,2 ∙Контрольная работа;
0,5 ∙ Соблюдение сроков / активность на практических занятиях.
Экзамен проводится в виде защиты проектов / теоретических вопросов по дисциплине.
Слайд 4Контроль за ходом работы
Asana — мобильное и веб-приложение для управления проектами в небольших
командах.
Регистрация в системе тут: аsana.com.
Ликбез выложен https://www.youtube.com/watch?v=Jx8xhbFrOqI
Функциональные возможности ПО:
гибкая система
доступа, основанная на ролях;
система отслеживания ошибок;
календарь;
учёт временных затрат;
настраиваемые произвольные поля для временных затрат, проектов и пользователей;
создание записей об ошибках на основе полученных писем;
возможность самостоятельной регистрации новых пользователей.
Слайд 5Штрафы
Опоздание сдачи этапа работы на 1 неделю:
Вычет 50% от набранного
балла.
Опоздание сдачи этапа работы на 2 недели:
Вычет 75% от набранного
балла.
Опоздание сдачи этапа работы на 3 недели и более:
Вычет 100% от набранного балла.
Слайд 6Контрольные точки работы
1 модуль. Контрольная работа. Презентация должна содержать в
себе постановку задачи (1 балл), обоснование актуальности проекта (1 балла),
разработанное техническое задание (1 балл), бизнес-план проекта (2 балла), оценку текущего состояния проекта (1 балл). Дополнительные баллы проставляются за ответы на вопросы преподавателя (2 балла) и студентов (1 балл), качество выполнения презентации (1 балла).
2 модуль. Контрольная работа. Работающее ПО, презентация должна содержать в себе демонстрацию разработанного ПО (2 балла), расчет финансовых показателей проекта (1 балл), соответствие выполненных работ плану выполнения проекта (2 балла), оценку текущего состояния проекта и перспектив его развития (1 балл). Дополнительные баллы проставляются за ответы на вопросы преподавателя (2 балла) и студентов (1 балл), качество выполнения презентации (1 балла).
Слайд 7Рекомендуемая литература
Орлов С.А. Технологии разработки программного обеспечения: Разработка сложных программных
систем: Учебное пособие. – 3-е изд. – СПб.: Питер, 2004.
– 526 с.
Брукс Ф. Мифический человеко-месяц / Символ, С-Пб.: 2000.
Липаев В.В. Системное проектирование сложных программных средств для информационных систем / Синтег, М.: 1999.
Рейнвотер Дж. Как пасти котов. Наставление для программистов, руководящих другими программистами / СПб.: Питер. 2006. С. 256.
Йордон Э. Путь камикадзе / Лори, М.: 2003.
Глаголев В. Разработка технической документации. СПб.: Питер, 2008. – 192 с.
ГОСТ 34.601-90
ГОСТ Р ИСО/МЭК 12207 (ISO/IEC 12207).
Благодатских В.А., Волнин В.А., Поскалоф К.Ф. Стандартизация разработки программных средств. М.: Финансы и статистика, 2007. – 288 с.
Слайд 8Разделы дисциплины
Введение
Жизненный цикл ПО
Начальная стадия ЖЦ (Анализ и планирование)
Инженерия требований
Управление
программными проектами
Управление ресурсами
Управление проектами
Инструментальная поддержка процесса разработки
Обеспечение качества ПО
Оценка качества
ПО
Методы обеспечения качества ПО
Документирование ПО
Заключение
Качество процесса разработки
Комплексные средства управления
Слайд 9Жизненный цикл ПО
Фазы жизненного цикла ПО
Стратегии конструирования ПО
Однократные (водопадные) стратегии
Классическая
каскадная модель
Инкрементные стратегии
Инкрементная модель
RAD
Эволюционные стратегии
Прототипироание
Спиральная модель
Экстремальное программирование
Модель SCRUM
Смешанные подходы
1) Rational
Unified Process (RUP)
Слайд 10Начальная фаза ЖЦ (анализ и планирование)
Инженерия требований
Сбор требований
Анализ Требований
Документирование требований
Планирование
и управление требованиями
Слайд 11Управление программными проектами
Процесс проектирования программного продукта
Управление ресурсами
Роли в программном проекте
Управление
задачами
Этапы программного проекта
Наблюдение за проектом
Системы управления проектами и ресурсами
Слайд 12Инструментальная поддержка процесса разработки
Версионирование проекта
Ветки, теги
Основные операции
Системы контроля версий
Поддержка нескольких
версий ПО
Управление дефектами и изменениями
Свойства дефекта
ЖЦ дефекта
Промышленные системы управления дефектами
Сборка
программных проектов
Основные задачи и проблемы
Управление зависимостями
Автоматизация сборки программных проектов
Выпуск программного продукта
Дистрибутив
Альфа и бета-версии. Релиз программного продукта
Сопровождение программног продукта
Управление рисками
Слайд 13Качество ПО
Характеристики качества ПО
Стандарты качества ПО
Оценка качества ПО
Метрики ПО
Аудит ПО
Повышение
качества программных систем
Рефакторинг программных систем
Реинжиниринг ПО
Формальная верификация ПО
Статический анализ
Тестирование ПО
Слайд 14Тестирование ПО
Основные принципы тестирования ПО
Структурное тестирование
Функциональное тестирование
Организация процесса тестирования
Модульное тестирование
Системное
тестирование
Тестирование восстановления
Тестирование безопасности
Стресс-тестирование
Тестирование производительности
Регрессионное тестирование
Тестирование приложений GUI
Автоматизация тестирования ПО
Слайд 15Документирование ПО
Виды программных документов
Стандарты документирования
UML как средство документирования
Автоматизация документирования
Промышленные системы
документирования (DocBook, DITA)
Документирование больших программных проектов
Слайд 16Лицензирование ПО
Классификация ПО
Виды лицензий ПО
Свободные лицензии ПО
Слайд 17Заключение
Качество процесса разработки
Комплексные средства управления разработкой ПО