Слайд 1Планирование и управление разработкой ПС.
Отвагин Алексей Владимирович, доцент каф. ЭВМ,
к.т.н., а. 505-5
Слайд 208/13/2019
Содержание
Цели планирования
Оценка характеристик продукта
Представление плана разработки
Слайд 308/13/2019
Понятие управления разработкой
Управление разработкой ПС (software management) – это деятельность,
направленная на:
обеспечение необходимых условий для работы коллектива разработчиков ПС
планирование и
контроль деятельности этого коллектива с целью обеспечения требуемого качества ПС
выполнение сроков и бюджета разработки ПС
Слайд 408/13/2019
Необходимые условия работы
Помещения
Аппаратно-программные средства разработки
Документация
Материально-финансовое обеспечение
Слайд 508/13/2019
Действия по планированию и контролю
Разбиение всего процесса разработки ПС на
отдельные конкретные работы (задания)
Подбор и расстановка исполнителей
Установление сроков и порядка
выполнения этих работ
Оценка качества выполнения каждой работы
Слайд 608/13/2019
Общие процессы управления разработкой
Составление плана-проспекта по разработке ПС
Планирование и составление
расписаний по разработке ПС
Управление издержками по разработке ПС
Текущий контроль и
документирование деятельности коллектива по разработке ПС
Подбор и оценка персонала коллектива разработчиков ПС
Слайд 708/13/2019
План-проспект
Фиксирует, для кого разрабатывается ПС:
для внешнего заказчика
для других подразделений
той же организации,
является инициативной внутренней разработкой
Устанавливает общие очертания работ
по создания ПС
Оценивает стоимость разработки
Формулирует технологические требования (выбор технологии программирования )
Слайд 808/13/2019
План разработки ПС
Три компонента
Выполняемая работа
Виды деятельности
Определяются фазой
Сроки начала и окончания,
требуемые ресурсы, результаты
Выражаются множеством работ
Ресурсы в наличии
Люди, аппаратура, ПО
Подвержены
изменениям
Денежные средства
Слайд 908/13/2019
Структура плана разработки ПС
Введение – краткое описание целей проекта и
имеющихся ограничений
Организация проекта – описывает структуру команду разработчиков и роли
каждого из них
Анализ рисков – потенциальные риски и вероятность их возникновения, способы преодоления рисков
Ограничения по ресурсам
Разделение работ – стадии, контрольные точки и результаты
Расписание – действия, временные рамки и ответственные за выполнение
Виды отчетности – частота, виды документов, форма представления
Слайд 1008/13/2019
Графическое представление плана разработки
Сетевой график
Гистограмма заданий
Показывают зависимости между задачами
Могут быть
жестко привязаны к календарю
Слайд 1308/13/2019
Управление издержками по разработке ПС
Обеспечение подходящей стоимости разработки в
рамках выделенного бюджета
Включает:
оценивание стоимости разработки проекта в целом или
отдельных частей
контроль выполнения бюджета
выбор подходящих вариантов расходования бюджета
Основными источниками издержек являются:
затраты на аппаратное оборудование (hardware)
затраты на вербовку и обучение персонала
затраты на оплату труда разработчиков
Слайд 1408/13/2019
Оценка стоимости разработки
Общая стоимость разработки включает:
Оплату труда разработчиков
Стоимость оборудования
Командировки
и обучение
Накладные расходы
Слайд 1508/13/2019
Методы измерения производительности
Производительность – скорость создания результатов проекта (кода
и/или документации)
Методы, основанные на размерах:
Объем кода, количество строк, объем документов
Методы
основанные на функциональности:
Оценка функциональности продукта – очки функциональности (Function-Point)
Слайд 1608/13/2019
Очки функциональности
Не зависят от технологии разработки ПС
Производительность разработчика измеряется
в условных единицах
Единица является комбинированной характеристикой
Слайд 1708/13/2019
Оценка функциональности
Общее количество очков вычисляется на основе:
Внешних входов и
выходов
Взаимодействий с пользователем
Внешних интерфейсов
Количества файлов
Каждому показателю присваивается свой вес
Слайд 1808/13/2019
COCOMO – Constructive Cost Model
Базовая – не учитывает индивидуальные характеристики
ПО
Промежуточная – учитывает 15 базовых факторов «сложности»
Детальная – вводит «фазовые
множители», которые могут изменяться в процессе проектирования
Слайд 1908/13/2019
COCOMO – Базовая модель
Pm = a*KLOCb – сложность
Tdev = c*Pmd
– время разработки
Вводятся категории ПО
Слайд 2008/13/2019
Пример расчета COCOMO
Оценка размера кода = 33.3 KLOC
Класс приложения –
встроенная система
Pm = 3,0*KLOC1,12 = 152 чел.-месяца.
Tdev = c*Pmd =
14.5 месяцев
Кол-во чел. = Pm/Tdev = 11
Слайд 2108/13/2019
Факторы сложности COCOMO
Требуемая надежность
Размер базы данных
Сложность продукта
Ограничения по времени
расчета
Ограничения по памяти
Виртуальные машины
Слайд 2208/13/2019
Структура организации по разработке ПС
Слайд 2308/13/2019
Организация групп разработчиков
обычные бригады
неформальные демократические бригады
бригады ведущего программиста
Слайд 2408/13/2019
Обычная бригада
Старший программист руководит работой других
Успех работы зависит от квалификации
старшего
Учитывается опыт и возможности всех программистов
Слайд 2508/13/2019
Неформальная бригада
Распределение работы и вознаграждения осуществляется в процессе диалога
Лидер группы
осуществляет интерфейс с руководством
Подходит для групп, состоящих из специалистов одинаковой
квалификации
Слайд 2608/13/2019
Бригада ведущего программиста
Состоит из ядра и дополнительных специалистов, вводимых при
необходимости
Ответственность за решение задачи несет ведущий программист (отчасти и дублер)
Может
содержать разное количество людей на разных этапах