1 Менеджмент разработки программных изделий 6.Технологические аспекты развития программных систем в моделях жизненного цикла. Стратегии распределения времени.

Презентация:



Advertisements
Похожие презентации
Менеджмент разработки программных изделий 7. Инструментальность модифицированной модели жизненного цикла фазы – функции. Итоги обсуждения инструментальности.
Advertisements

Менеджмент разработки программных изделий 8.Особенности первой итерации объектно- ориентированного программного проекта.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА ПРОГРАММНЫХ СРЕДСТВ Студент: Ермолович И.С. Группа: ИТ-33.
Сетевое планирование. Сетевой график – информационно- динамическая модель, отражающая взаимосвязи между работами, необходимые для достижения конечной.
Кандидат технических наук, доцент Грекул Владимир Иванович Учебный курс Проектирование информационных систем Лекция 9.
Процессы планирования и инициирования проектов. Планирование проекта Планирование - это непрерывный процесс определения наилучшего способа действий для.
2 Модель ЖЦ ИС – это структура, описывающая процессы, действия и задачи, которые осуществляются в ходе разработки, функционирования и сопровождения в.
Лекция 3. Структурная декомпозиция работ проекта.
Математические модели Динамические системы. Модели Математическое моделирование процессов отбора2.
Методология проектирования информационных систем МИФИ, Кафедра «Кибернетика»
Лекция 5 Способы конструирования программ. Основы доказательства правильности.
Основы построения телекоммуникационных систем и сетей Лекция 16 «Методы оценки надежности» профессор Соколов Н.А.
Лекция 3. Структурная декомпозиция работ проекта.
Корпоративные информационные системы Внедрение КИС.
Серия телеконференций «Новое решение "1С:ERP Управление предприятием 2.0 ", мая 2014 г. Потребность к производству C:ERP. Управление производством.
Управление сроками проекта. План управления расписанием Правила, методология и инструменты составления расписания, а так же формат и критерии разработки.
1 Диаграммы реализации (implementation diagrams).
Информационная безопасность Лекция 3 Административный уровень.
Продолжение темы 4. Основные этапы проектирования MRPII-системы.
Транксрипт:

1 Менеджмент разработки программных изделий 6.Технологические аспекты развития программных систем в моделях жизненного цикла. Стратегии распределения времени

2 Модели жизненного цикла и задачи методологий разработки проектов 1.Первая задача: выяснить –способность моделей жизненного цикла отражать технологичные свойства процесса производства программного обеспечения, например, распараллеливание производственных операций и их распределение между исполнителями –возможность использования моделей жизненного цикла, согласованного с реальными процессами менеджмента и с другими инструментами, поддерживающими эти процессы 2.Вторая задача: показать возможности параллелизма выполнения проектных заданий Коллективный процесс разработки всегда подразумевает параллельное выполнение деятельностей: –совместная работа на смежных этапах (отмечалась ранее) –функциональное измерение (отражено в модели Фазы функции) +параллельное выполнение деятельностей в рамках отдельных этапов (естественное требование к процессу разработки обычно только про него и говорят) Итеративные схемы допускают еще один вид параллелизма: –одновременная разработка нескольких итераций (в известных пределах)

3 Планирование Параллельное выполнение итераций Пределы совмещения итераций в проекте ПлАнКоПрТеОц Совмещение не допустимо Совмещение возможно Совмещение рационально Последовательное выполнение ПлАнКоПрТеОц Последовательность итераций ПлАнКоПрТеОц ПлАнКоПрТеОц I II III АнализКонструированиеПрограммированиеТестированиеОценка

4 Пределы совмещения итераций в проекте Область недопустимого совмещения: когда выполнение одной работы непосредственно зависит от результатов другой Область возможного совмещения: когда зависимость ослаблена тем, что ожидаемые результаты предшествующей работы хорошо описаны (например, построены и проверены модели этапов конструирования, хотя программирование еще не выполнено) Область рационального совмещения: когда зависимость работ фактически тем или иным способом экранирована (предшествующая работа выполнена, хотя, быть может, не до конца проверена, составлен и проверяется протокол взаимодействия работ и др.) Недопустимость совмещения означает, что для планирования очередной итерации нет достаточно полной информации, следовательно, оно не может быть выполнено эффективно. Когда такая информация появляется, появляется и возможность активизации работ над новой итерацией Рациональное совмещение означает надежность параллельной работы. Разумнее всего начинать этап программирование новой итерации, когда рабочий продукт предыдущей итерации протестирован ПлАнКоПрТеОц Совмещение не допустимо Совмещение возможно Совмещение рационально Последовательное выполнение

5 Модели процесса и продукта (напоминание) Моделируемый объект Модель процесса разработки: Целенаправленное развитие объекта под воздействием разработчиков Ключевые понятия:развитие, система деятельностей, субъект объект, этапы деятельностей, инструменты деятельности, цели, результаты и продукты Модели продукта (различные): Как устроен (построен) продукт? Для чего нужен? Один из типов моделей продукта: проекция модели процесса, в которой игнорируется все, связанное с субъектом возможна реконструкция модели процесса, которая необязательно совпадает с исходной моделью процесса! Иллюстративность модели : явное выделение некоторых аспектов для облегчения их понимания Инструментальность модели : использование ее в качестве инструмента некоторой деятельности (т.е. способствует целенаправленному развитию). Нельзя смешивать иллюстративные и инструментальные модели Вопросы в связи с моделью: Что будет, если…? и Соответствует ли…?

6 Требования к инструментальной модели жизненного цикла давать картину разработки и развития проекта (уровни организации планирования процесса для определения графика работ, для отслеживания их ресурсной обеспеченности и др. ); давать средства декомпозиции процесса разработки, т.е. согласованного разбиения этапов на вложенные этапы и работы (поддержка планирования); обеспечивать переход от этапов к работам этапов и доступ к истории; позволять видеть текущее состояние проекта и варианты развития; позволять оперировать своими элементами, а через это влиять на ход моделируемого процесса выполнения проекта Способ сгладить противоречие о риентация на определенные типы жизненного цикла (отказ от универсальности моделей) Относительность качества инструментальности модели параметры оценки, нормирование оценки. Качественное (не количественное) оценивание Реальная и принципиальная возможность использования модели Целесообразно рассматривать принципиальную возможность инструментального использования моделей Модель должна: Однако это может приводить к потере наглядности модели

7 Параметры оценки инструментальности 1.Атрибутивность с элементами модели связаны определенные атрибуты, необходимые для управления проектом. Их можно задавать или извлекать, т.е. размещать информацию о проекте в некотором хранилище и получать информацию из него; 2.Расширяемость допускается пополнение элементов модели, в результате она становится более детализированной, точнее отражающей реальный процесс. Для жизненного цикла это возможность дополнения элементами, указывающими на составляющие процесса разработки, т.е. на добавляемые этапы и на продолжения дробления процесса на задачи, работы и др.; 3.Масштабируемость возможность увидеть модель с разной степенью детализации от охвата всего процесса и до конкретной работы; 4.Интегрированность с другими инструментами поддержки. Это качество не самой модели, а CASE-средств, совместно с которыми она используется. Мера, в которой модели обладают этими свойствами, может служить основой для сравнения их инструментальных возможностей Из ранее рассмотренных моделей только строгая каскадная модель и матрица Фазы функции могут претендовать на то, чтобы их можно было считать инструментальными: 1.Расширяемость (дополнительные блоки, вложенные этапы и др., расщепление линии жизни) 2.Атрибутивность матрица Фазы функции выше, чем у каскадной модели (функциональное измерение) 3.Масштабируемость каскадной модели более развита, чем у матрицы Фазы функции 4.Интегрированность выше у к аскадной модели, но принципиально возможна для обеих моделей Из ранее рассмотренных моделей только строгая каскадная модель и матрица Фазы функции могут претендовать на то, чтобы их можно было считать инструментальными: 1.Расширяемость (дополнительные блоки, вложенные этапы и др., расщепление линии жизни) 2.Атрибутивность матрица Фазы функции выше, чем у каскадной модели (функциональное измерение) 3.Масштабируемость каскадной модели более развита, чем у матрицы Фазы функции 4.Интегрированность выше у к аскадной модели, но принципиально возможна для обеих моделей

8 Сравнение инструментальности различных моделей Календарный план Диаграммы Гантта Каскадная модель Спираль развития Буча Инструментальная спиралевидная модель Боэма Модель RUP Модель процессов MSF Модифицированная модель Гантера (матрица фазыфункции)

9 Календарный план документ, с помощью которого устанавливаются юридические отношения, касающиеся объема, сроков и (зачастую) ресурсных потребностей выполняемых работ, между всеми участниками разработки проекта, включая и заказчиков, и планировщиков. Внешние и внутренние функции календарного плана Разбиение проектного задания на этапы соответствие этапам разработки жизненного цикла модель жизненного цикла, урезанная до цикла разработки Попытка охватить все аспекты, которые нужно учитывать при выделении работ и отслеживании сроков их выполнения Календарный план Календарный план документ, с помощью которого устанавливаются юридические отношения, касающиеся объема, сроков и (зачастую) ресурсных потребностей выполняемых работ, между всеми участниками разработки проекта, включая и заказчиков, и планировщиков. Внешние и внутренние функции календарного плана Разбиение проектного задания на этапы соответствие этапам разработки жизненного цикла модель жизненного цикла, урезанная до цикла разработки Попытка охватить все аспекты, которые нужно учитывать при выделении работ и отслеживании сроков их выполнения Рубрикация зависит от уровня проработанности проекта. Возможно ее уточнение в ходе проекта Целесообразные сроки или самое раннее начало и самый поздний конец Кто и в какой роли отвечает (работает) Сроки привлечения работников (подмены) Подписи «Ознакомлен» Кто и в какой роли отвечает (работает) Сроки привлечения работников (подмены) Подписи «Ознакомлен» Кто и в какой роли отвечает (работает) Сроки привлечения работников (подмены) Подписи «Ознакомлен» Кто и в какой роли отвечает (работает) Сроки привлечения работников (подмены) Подписи «Ознакомлен» Неучтенное Особые сведения Другое (критичность и пр.) Неучтенное Особые сведения Другое (критичность и пр.)

10 Календарный план: обсуждение Удобен: Верхний уровень рубрикации должен совпадать с тем, что задается в техническом задании Дополнение новыми рубриками (в том числе в процессе выполнения) не вызывает трудностей Наглядность Недостатки: Тенденция к разрастанию Неприспособленность к учету загруженности сотрудников, потребностей и к перераспределению ресурсов. Рубрикация противоречит распараллеливанию работ Трудно увидеть показатели на определенный момент времени Непригодность для отражения итеративности развития проекта Оценка инструментальности: Атрибутивность относительна (рост числа отражаемых атрибутов снижение наглядности) Расширяемость одно из основных преимуществ Масштабируемость слабое место Интегрированность с другими инструментами возможна Развитие /и ограничение!/ календарного плана диаграммы Гантта как основа реальных инструментов поддержки управления проектами

11 Диаграммы Гантта Критерии инструментальности 1-4 выполняются (почти достаточно) Попытка отражать время, однако есть проблема расщепления времени, когда есть оперирование параллельными работами Для независимо действующих процессов нужно рассматривать множественное время + связи времен (синхронизация и др.) время как частично упорядоченное множество событий MS Project пример диаграмм Гантта. Это максимум того, что можно поддержать с помощью универсального инструментария // PERT-диаграммы (работы дуги, события вершины) используются реже (хуже отражают времена работ) // Скептическое отношение к моделям жизненного цикла вообще, исходящим из представления диаграмм Гантта (Брукс). Время Работа 21 Работа 3 Работа 31 Работа 33 Работа 4 Работа 32 Работа 22 Наименование работ (тема, этап, работа, задача, задание) Работа 1

12 Каскадная модель Определение требований подтверждение Спецификация требований: системные требования подтверждение требования к программам подтверждение, обзоры Проектирование верификация Реализация: кодирование и автономная отладка тестирование интеграция и комплексная отладка аттестация Эксплуатация и сопровождение переаттестация Чем заканчи- ваются этапы

13 Каскадная модель : ограниченность Схема последовательного (а не итеративного) развития проекта Ограниченные возвраты (ошибки прошлых этапов) Ориентация на вполне определенную методологию развития проекта (контроль прохождения этапов барьеры) Блоки каскадной модели можно раскрывать внутрь: дробление процесса на задачи, работы и др. возможно. При этом: –принципиально возможно вводить новые блоки и связи (расширяемость) –вертикальная ось времени –синхронизация

14 Каскадная модель: декомпозиция процесса на задачи, работы и др. (иллюстрация) Реализация кодирование и автономная отладка интеграция и комплексная отладка аттестация тестирование Реализация кодирование и автономная отладка интеграция и комплексная отладка аттестация Работа 1 тестирование Работа 2 тестирование Работа 3 тестирование Работа 5 тестирование Работа 4 тестирование

15 Каскадная модель: оценка инструментальности Расширяемость достигается как элемент выбранной методологии Атрибутивность относительна: показ дополнительных атрибутов может снижать наглядность Масштабируемость слабая: переход на другой уровень (вверх и вниз), но для выбранной методологии этого достаточно Интегрированность принципиально возможна (для выбранной методологии) Инструменты поддержки каскадной модели представлены среди CASE-средств (чаще фрагментарно, но приемлемо)

16 Спираль развития Буча Вариант Буча чисто иллюстративная модель Модификации: –Изображение итеративного зацикливания –Система координат «время предоставляемые возможности» –Изображение стандартных и, возможно, дополнительных этапов

17 Спираль развития Буча: обсуждение Как и у Буча, возможности, предоставляемые итерацией, никогда не отменяют ранее достигнутого уровня Можно показывать и отслеживать параллельное выполнение итераций Детализированное выделение этапов нарушает наглядность относительная расширяемость Слабо приспособлена для отражения этапов внедрения Согласуется с детализацией верхнего уровня декомпозиции для инструментальности нужна автоматизация перехода к другим уровням (к отдельной итерации) Масштабируемость в принципе достижима Атрибутивность на уровнях отдельных итераций Интегрированность в принципе достижима Необходимая расширяемость достижима Это уже другие модели

18 Инструментальная спиралевидная модель Боэма

19 Инструментальная спиралевидная модель Боэма : обсуждение Модель проработана с точки зрения процессов производства программ Возможна настройка модели на конкретные методологии. Модель явно указывает на действия, которые требуется выполнять при движении по спирали. Расширяемость основное достоинство Масштабируемость не очень существенна (взамен движение по спирали) Вполне определенная методика работы Конкретное планирование действий витков за рамками модели атрибутивность вне модели Интегрированность в принципе достижима Недостатки: плохо отображаются временные соотношения между сроками выполнения работ на разных витках плохо приспособлена к учету и распределению ресурсов

20 Модель RUP : обсуждение Не конкретизируются виды работ на этапах Время условно Возможность совместного выполнения некоторых производственных функций не отражается Включение дополнительных этапов и функций, отражение специфики конкретного процесса или коллектива затруднительно (это нарушило бы фиксированную связь между жизненным циклом по RUP с моделями уровня проектирования ) Конкретизация модели разрушает универсальность Средства моделирования элементы языка UML, а не инструменты фиксированной методологии Предполагаемый выход: множество стандартных ситуаций, в которых можно воспользоваться предлагаемыми средствами Стремление RUP к универсальности привело к иллюстративной модели жизненного цикла и к появлению инструментов и методов их применения (весьма полезных!), не связанных с моделью жизненного цикла

21 Система моделей RUP Х ok Модель ситуаций использования описывается в реализуется в распределяется в проверяется в реализуется в Модель анализа Модель проектирования Модель развертывания Модель реализации Модель тестирования Анализ Конструирование Программирование Оценка Привязка моделей к традиционным этапам

22 Модель процессов MSF Цитата: «Модель процессов объединяет в себе лучшие принципы каскадной и спиральной моделей. Она сохраняет преимущества упорядоченности каскадной модели, не теряя при этом гибкости и творческой ориентации модели спиральной, учитывает необходимость постоянного пересмотра, уточнения и оценки проектных требований, стимулирует активное взаимодействие между проектной группой и заказчиком, который оценивает ход и результаты работы на протяжении всего проекта»

23 Модель выглядит как универсальная схема: она отражает то, что включается в любое производство программ Модель RUP 51% программных разработок применяют RUP RUP претендует на роль универсальной основы любых программных разработок Модель задается в виде матрицы интенсивностей функций, выполняемых на этапах (фазах), которые проецируются на итерации Проекция на итерации Интенсивности производственных функций Итерация в фазе Elaboration Работа с требованиями

24 Модель процессов MSF : обсуждение Стремление к универсальности приводит к огрублению ситуации в конкретных случаях и к необходимости словесного дополнения схемы (что и сделали авторы MSF) Невозможность отслеживания временных соотношений Трудности дополнения специфичных этапов Нет механизмов задания оперирования ресурсами и контроля их использования (слабая атрибутивность) Модель является лишь иллюстративной

25 Стратегии распределения времени Сроки, фиксированные в заказе это общий ресурс проекта, предоставляемый в распоряжение менеджера для распределения. Общепризнанные методики: составление календарных планов ведение графиков календарного и сетевого планирования

26 Календарное и сетевое планирование Два вида графов зависимостей работ: (1).Вершины работы, дуги зависимости работ + Атрибуты вершин, отражающие длительности работ. Диаграммы Гантта (изображение графа зависимостей (1) в привязке к временной оси называется ) типичный и самый распространенный вариант (2).Дуги работы, вершины зависимости между работами, + Атрибуты дуг длительности работ, требуемые ресурсы и др., атрибуты вершин отражают характеристики зависимостей PERT – диаграммы самый распространенный вариант

27 Что в принципе можно получать из графика календарного плана? Реальная картина работ + оперативное распределение ресурсов Параметры, которые нужно отражать на графике: длительность работы параметр, образующий график; минимальная ресурсная потребность; максимально возможная ресурсная потребность; минимально необходимое время выполнения работы. Параметры, определяемые после построения графика: время возможного начала работы время, когда данная работа в принципе может начаться время допустимого конца работы время, позднее которого данная работа не должна продолжаться Параметры, определяемые ходе выполнения проекта, которые целесообразно указывать на графике: время фактического начала работы; время текущего планового завершения работы; время фактического завершения работы. Параметры текущего момента: текущая ресурсная обеспеченность (доля от максимума); объем работы выполненный и оставшийся. Список параметров адаптируется к конкретным условиям проекта

28 Общие положения календарного и сетевого планирования Графики можно строить как для проекта в целом, для отдельных этапов, для групп исполнителей и отдельных исполнителей (большие проекты); Целесообразно варьировать уровень детализации работ и отслеживаемых параметров, а также на отдельных операционных маршрутах. Большей детализации требуют текущий и ближайший следующий этапы, больше отслеживаемых параметров требуется для критического маршрута; Дуги графа зависимостей работ являются важной, но менее информативной частью сетевого графика по сравнению с последовательностью работ. Важнее изображать временную вариантность выполняемых работ; Явно на графике выделяется критический маршрут, а также наиболее важные с точки зрения менеджера работы и контрольные точки; Обычно наименования работ выносятся слева от графика и упорядочиваются в точном соответствии с календарным планом; На графике явно отмечаются этапы выполнения проекта

29 Принципиальная возможность отражения требуемой информации с использованием значков работ диаграмм Гантта Планируемые начало и окончание Фактическое начало Возможное начало Допустимое окончание Фактически планируемое окончание Текущий момент

30 Условный пример Текущий момент НачалоЭтап 1Этап 2Этап 3Конец Р3 Р1 Р2 Р4 Р5 Р11 Р10 Р6 Р7 Р8 Р9 Р14 Р15 Р13 Р12

31 Р5 Р8 Синхронизация начала и окончания работ Н К Р3 Р1 Р2Р4 Р5 Р6Р11 Р8 Р9 Р14 Р15 Р13 Н К Р3 Р1 Р2 Р11 Р14 Р15 Р13 Начала работ синхрони- зированы Окончания работ синхрони- зированы Р7Р12 Р10 Р12 Р7 Р10 Р9 Р6 Р4

32 График используется менеджером для текущего контроля выполнения проекта Распределение ресурсов (контрольная точка 1 жизненного цикла), строится график верхнего уровня; Перед началом этапа в график вносятся все работы этапа; В ходе этапа отслеживаются временные характеристики работ, отмечается фактическое положение дел; Если какая-либо работа затягивается, то выясняются причины этого и принимаются соответствующие меры; При досрочном выполнении работы оперативно перераспределяются высвобождающиеся ресурсы. Своевременно корректировать график, принимать меры (планировать их заранее)!

33 Ситуации, когда требуются дополнительные приемы работы с календарным графиком работы расходуют общий ресурс, динамически распределяя его между собой; работы совместно используют общий ресурс; работы технологически объединены общим результатом (в частности, при конвейерном взаимодействии). Приемы: укрупненное рассмотрение работ; изображение связанных работ как параллельно исполняемых + специальные обозначения Что отслеживается: начатая работа замедляется или приостанавливается по причине того, что другая работа не позволяет ей выполняться