Руководство программным проектом это

Добавил:

Koboku1

По своей натуре перфекционист. Поэтому люблю все аккуратно оформлять и упорядочивать, складывать по полочкам. Вот, не пропадать же добру, нажитому за четыре кропотливых семестра. Тут я выложил все мои ответы, курсовые, отчеты и некоторые ДЗ. Они могут вам помочь для получения зачета или сдачи экзамена. Если чего-то не нашли в папочках, то попытайте удачу в разделе НЕОТСОРТИРОВАННОЕ на моей страничке, там все 4 семестра разложены по папкам. ГРУППА КТ-43-15. Годы обучения 2015-2019. Коллекция будет пополняться. Что ж, удачки :З

Опубликованный материал нарушает ваши авторские права? Сообщите нам.

Вуз:

Предмет:

Файл:

Скачиваний:

87

Добавлен:

15.09.2017

Размер:

293.25 Кб

Скачать

Руководство программным проектом

Руководство
программным проектом

— первый слой процесса конструирования
ПО. Термин «слой» подчеркивает, что
руководство определяет сущность процесса
разработки от его начала до конца.
Принцип руководства иллюстрирует рис.
2.1.Рис.
2.1.
 Руководство
в процессе конструирования ПО

Для
проведения успешного проекта нужно
понять объем предстоящих работ, возможный
риск, требуемые ресурсы, предстоящие
задачи, прокладываемые вехи, необходимые
усилия (стоимость), план работ, которому
желательно следовать. Руководство
программным проектом обеспечивает
такое понимание. Оно начинается перед
технической работой, продолжается по
мере развития ПО от идеи к реальности
и достигает наивысшего уровня к концу
работ

Начало
проекта
Перед
планированием проекта следует:установить
цели и проблемную область проекта;
обсудить
альтернативные решения;
выявить
технические и управленческие ограничения.

Измерения,
меры и метрики
Измерения
помогают понять как процесс разработки
продукта, так и сам продукт. Измерения
процесса производятся в целях его
улучшения, измерения продукта — для
повышения его качества. В результате
измерения определяется мера
— 
количественная
характеристика какого-либо свойства
объекта. Путем непосредственных измерений
могут определяться только опорные
свойства объекта. Все остальные свойства
оцениваются в результате вычисления
тех или иных функций от значений опорных
характеристик. Вычисления этих функций
проводятся по формулам, дающим числовые
значения и называемым метриками.

Процесс
оценки
При
планировании программного проекта надо
оценить людские ресурсы (в человеко-месяцах),
продолжительность (в календарных датах),
стоимость (в тысячах долларов). Обычно
исходят из прошлого опыта. Если новый
проект по размеру и функциям похож на
предыдущий проект, вполне вероятно, что
потребуются такие же ресурсы, время и
деньги.

Анализ
риска

На
этой стадии исследуется область
неопределенности, имеющаяся в наличии
перед созданием программного продукта.
Анализируется ее влияние на проект. Нет
ли скрытых от внимания трудных технических
проблем? Не станут ли изменения,
проявившиеся в ходе проектирования,
причиной недопустимого отставания по
срокам? В результате принимается решение
— выполнять проект или нет.

ПланированиеОпределяется
набор проектных задач. Устанавливаются
связи между задачами, оценивается
сложность каждой задачи. Определяются
людские и другие ресурсы. Создается
сетевой график задач, проводится его
временная разметка.

Трассировка
и контроль
Каждая
задача, помеченная в плане, отслеживается
руководителем проекта. При отставании
в решении задачи применяются утилиты
повторного планирования. С помощью
утилит определяется влияние этого
отставания на промежуточную веху и
общее время конструирования. Под вехой
понимается временная метка, к которой
привязано подведение промежуточных
итогов.В
результате повторного планирования:1)
могут быть перераспределены ресурсы;
2)
могут быть реорганизованы задачи;
3)
могут быть пересмотрены выходные
обязательства

1.

Руководство программным
проектом

2.

Цели
• Процесс руководства проектом
• Планирование проектных задач
• Размерно-ориентированные метрики
• Функционально-ориентированные метрики
• Конструктивная модель стоимости
2

3.

Процесс руководства проектом
3

4.

Процесс руководства проектом
Руководство программным проектом — первый слой
процесса конструирования ПО. Термин «слой»
подчеркивает, что руководство определяет сущность
процесса разработки от его начала до конца.

5.

Процесс руководства проектом
Для проведения успешного проекта нужно понять
• объем предстоящих работ,
• возможный риск,
• требуемые ресурсы,
• предстоящие задачи,
• прокладываемые вехи,
• необходимые усилия (стоимость),
• план работ, которому желательно следовать.
Руководство программным проектом обеспечивает такое
понимание. Оно начинается перед технической работой,
продолжается по мере развития ПО от идеи к реальности и
достигает наивысшего уровня к концу работ
5

6.

Начало проекта
Перед планированием проекта следует:
• установить цели и проблемную область
проекта;
• обсудить альтернативные решения;
• выявить технические и управленческие
ограничения.
6

7.

Процесс оценки
При планировании программного проекта надо:
• оценить людские ресурсы (в человекомесяцах),
• продолжительность (в календарных датах),
стоимость (в тысячах долларов).
Обычно исходят из прошлого опыта. Если
новый проект по размеру и функциям похож на
предыдущий проект, вполне вероятно, что
потребуются такие же ресурсы, время и деньги.
7

8.

Анализ риска
На этой стадии:
• Исследуется область неопределенности, имеющаяся
в наличии перед созданием программного продукта.
• Анализируется ее влияние на проект.
• Нет ли скрытых от внимания трудных технических
проблем?
• Не станут ли изменения, проявившиеся в ходе
проектирования, причиной недопустимого отставания
по срокам?
В результате принимается решение — выполнять
проект или нет.
8

9.

Планирование
Определяется набор проектных задач.
Устанавливаются связи между задачами,
оценивается сложность каждой задачи.
Определяются людские и другие ресурсы.
Создается сетевой график задач,
проводится его временная разметка.
9

10.

Трассировка и контроль
• Каждая задача, помеченная в плане, отслеживается
руководителем проекта.
• При отставании в решении задачи применяются утилиты
повторного планирования. С помощью утилит
определяется влияние этого отставания на
промежуточную веху и общее время конструирования.
Под вехой понимается временная метка, к которой
привязано подведение промежуточных итогов.
В результате повторного планирования:
• могут быть перераспределены ресурсы;
• могут быть реорганизованы задачи;
• могут быть пересмотрены выходные обязательства.
10

11.

Планирование проектных задач
Основной задачей при планировании является определение
WBS — Work Breakdown Structure (структуры распределения
работ). Она составляется с помощью утилиты планирования
проекта. Типовая WBS приведена на рис.
11

12.

Системный анализ проводится
с целью:
1)
выяснения потребностей заказчика;
2)
оценки выполнимости системы;
3)
выполнения экономического и
технического анализа;
4)
распределения функций по элементам
компьютерной системы (аппаратуре,
программам, людям, базам данных и т. д.);
5)
определения стоимости и ограничений
планирования;
6)
создания системной спецификации.
12

13.

Вехи
• Вехи — процедуры контроля промежуточных результатов.
Очень важно, чтобы вехи были расставлены через
регулярные интервалы (вдоль всего процесса разработки
ПО). Это даст руководителю возможность регулярно
получать информацию о текущем положении дел. Вехи
распространяются и на документацию как на один из
результатов успешного решения задачи.
• Параллельность действий повышает требования к
планированию. Так как параллельные задачи
выполняются асинхронно, планировщик должен
определить межзадачные зависимости. Это гарантирует
«непрерывность движения к объединению». Кроме того,
руководитель проекта должен знать задачи, лежащие на
критическом пути. Для того чтобы весь проект был
выполнен в срок, необходимо выполнять в срок все
13
критические задачи.

14.

Затраты времени
Рекомендуемое правило распределения затрат
проекта — 40-20-40:
• на анализ и проектирование приходится 40%
затрат (из них на планирование и системный
анализ — 5%);
• на кодирование — 20%;
• на тестирование и отладку — 40%.
14

15.

Метрики
Программного проекта
15

16.

Размерно-ориентированные
метрики (1)
• Размерно-ориентированные метрики прямо измеряют
программный продукт и процесс его разработки.
Основываются размерно-ориентированные метрики на LOCоценках (Lines Of Code). LOC-оценка — это количество строк в
программном продукте.
• Исходные данные для расчета этих метрик сводятся в
таблицу (данные за последние несколько лет).
16

17.

Размерно-ориентированные
метрики (2)
• На основе таблицы вычисляются размерноориентированные метрики производительности и
качества (для каждого проекта):
17

18.

Размерно-ориентированные
метрики (3)
Общими особенностями гибких методологий3являются:
• Ориентированность на людей – как разработчиков, так и
заказчиков (согласие участвовать в разработке). Считается,
что умение собрать в проектной команде «правильных»
людей определяет успех или неудачу проекта в значительно
большей степени, чем любые процессы или технологии.
• Использование устных обсуждений вместо формальных
спецификаций везде, где это возможно.
• Итеративная разработка с возможно более короткой (в
разумных пределах) продолжительностью итерации, при
этом в результате каждой итерации выпускается
полноценная работающая версия продукта.
• Ожидание изменений – в гибком процессе проектная команда
не пытается зафиксировать требования в начале проекта и
затем следовать жестко определенному плану. Изменения 18

19.

Размерно-ориентированные
метрики (4)
Достоинства размерно-ориентированных метрик:
• 1) широко распространены;
• 2) просты и легко вычисляются.
Недостатки размерно-ориентированных метрик:
• 1) зависимы от языка программирования;
• 2) требуют исходных данных, которые трудно получить
на начальной стадии проекта;
• 3) не приспособлены к непроцедурным языкам
программирования.
19

20.

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

21.

Функциональноориентированные метрики (2)
• Количество внешних запросов. Под запросом понимается
диалоговый ввод, который приводит к немедленному
программному ответу в форме диалогового вывода. При
этом диалоговый ввод в приложении не сохраняется, а
диалоговый вывод не требует выполнения вычислений.
Подсчитываются все запросы — каждый учитывается
отдельно.
• 4. Количество внутренних логических файлов.
Подсчитываются все логические файлы (то есть
логические группы данных, которые могут быть частью
базы данных или отдельным файлом).
• 5. Количество внешних интерфейсных файлов.
Подсчитываются все логические файлы из других
приложений, на которые ссылается данное приложение.
21

22.

Функциональноориентированные метрики (3)
• После сбора всей необходимой информации приступают к
расчету метрики — количества функциональных
указателей FP (Function Points). Автором этой метрики
является А. Албрехт (1979) [7].
• Исходные данные для расчета сводятся в табл.
22

23.

Функциональноориентированные метрики (4)
• В таблицу заносится количественное значение
характеристики каждого вида (по всем уровням сложности).
Места подстановки значений отмечены прямоугольниками
(прямоугольник играет роль метки-заполнителя).
Количественные значения характеристик умножаются на
числовые оценки сложности. Полученные в каждой строке
значения суммируются, давая полное значение для данной
характеристики. Эти полные значения затем суммируются по
вертикали, формируя общее количество.
• Количество функциональных указателей вычисляется по
формуле
где Fi — коэффициенты регулировки сложности.
23

24.

Функциональноориентированные метрики (5)
Каждый коэффициент может принимать следующие
значения: 0 — нет влияния, 1 — случайное, 2 — небольшое,
3 — среднее, 4 — важное, 5 — основное.
Значения выбираются эмпирически в результате ответа на
14 вопросов, которые характеризуют системные параметры
приложения:
24

25.

Определение системных
параметров приложения
25

26.

Определение системных
параметров приложения (прод.)
После вычисления FP на его основе формируются метрики
производительности, качества и т. д.:
26

27.

Функциональноориентированные метрики (6)
• Область применения метода функциональных указателей
— коммерческие информационные системы. Для
продуктов с высокой алгоритмической сложностью
используются метрики указателей свойств (Features
Points). Они применимы к системному и инженерному ПО,
ПО реального времени и встроенному ПО.
• Достоинства функционально-ориентированных метрик:
• 1. Не зависят от языка программирования.
• 2. Легко вычисляются на любой стадии проекта.
• Недостаток функционально-ориентированных метрик:
результаты основаны на субъективных данных,
используются не прямые, а косвенные измерения. FPоценки легко пересчитать в LOC-оценки.
27

28.

Выполнение оценки в ходе
руководства проектом
• Процесс руководства программным проектом начинается с
множества действий, объединяемых общим названием
планирование проекта.
• Первое из этих действий — выполнение оценки. Оно
закладывает фундамент для других действий по планированию
проекта. При оценке проекта чрезвычайно высока цена
ошибок. Очень важно провести оценку с минимальным риском.
28

29.

Выполнение оценки проекта на
основе LOC- и FP-метрик
Цель этой деятельности — сформировать предварительные
оценки, которые позволят:
• предъявить заказчику корректные требования по стоимости и
затратам на разработку программного продукта;
• составить план программного проекта.
При выполнении оценки возможны два варианта использования
LOC- и FP-данных:
• в качестве оценочных переменных, определяющих размер
каждого элемента продукта;
• в качестве метрик, собранных за прошлые проекты и
входящих в метрический базис фирмы.
29

30.

Шаги процесса оценки (1)
•Шаг 1. Область назначения проектируемого продукта
разбивается на ряд функций, каждую из которых можно
оценить индивидуально: f1, f2,…,fn.
•Шаг 2. Для каждой функции fi, планировщик формирует
лучшую LOCлучшi (FРлучшi), худшую LOCхудшi (FРхудшi) и
вероятную оценку LOCвероятнi (FРвероятнi). Используются
опытные данные (из метрического базиса) или интуиция.
Диапазон значения оценок соответствует степени
предусмотренной неопределенности.
•Шаг 3. Для каждой функции в соответствии с распределением вычисляется ожидаемое значение LOC(или FP-) оценки:
•LOCожi =(LOCлучшi + LOCхудшi +4x LOCвероятнi )/ 6.
30

31.

Шаги процесса оценки (2)
•Шаг 4. Определяется значение LOC- или FPпроизводительности разработки функции.
•Используется один из трех подходов:
•1)для всех функций принимается одна и та же метрика средней
производительности ПРОИЗВср, взятая из метрического базиса;
•2)для i-й функции на основе метрики средней
производительности вычисляется настраиваемая величина
производительности: ПРОИЗВi =ПРОИЗВсрх(LOCср /LOCожi),
где LOCcp — средняя LOC-оценка, взятая из метрического
базиса (соответствует средней производительности);
3) для i-й функции настраиваемая величина
производительности вычисляется по аналогу, взятому из
метрического базиса: ПРОИЗВi =ПРОИЗВанiх(LOCанi /LOCожi).
•Первый подход обеспечивает минимальную точность), а третий
31
подход — максимальную точность.

32.

Шаги процесса оценки (3)
Шаг 5. Вычисляется общая оценка затрат на проект: для первого
подхода
• для второго и третьего подходов
Шаг 6. Вычисляется общая оценка стоимости проекта: для
первого и второго подходов
где УД_СТОИМОСТЬср — метрика средней стоимости одной
строки, взятая из метрического базиса.
• для третьего подхода
где УД_СТОИМОСТЬанi — метрика стоимости одной строки
аналога, взятая из метрического базиса.
32

33.

Конструктивная модель стоимости
• В данной модели для вывода формул использовался
статистический подход — учитывались реальные результаты
огромного количества проектов. Автор оригинальной модели
— Барри Боэм (1981) —дал ей название СОСОМО 81
(Constructive Cost Model) и ввел в ее состав три разные по
сложности статистические подмодели.
Иерархию подмоделей Боэма (версии 1981 года) образуют:
• базисная СОСОМО — статическая модель, вычисляет затраты
разработки и ее стоимость как функцию размера программы;
• промежуточная СОСОМО — дополнительно учитывает
атрибуты стоимости, включающие основные оценки продукта,
аппаратуры, персонала и проектной среды;
• усовершенствованная СОСОМО — объединяет все
характеристики промежуточной модели, дополнительно
учитывает влияние всех атрибутов стоимости на каждый этап
процесса разработки ПО (анализ, проектирование и т.д.) 33

34.

Конструктивная модель
стоимости
• Подмодели СОСОМО 81 могут применяться к трем типам
программных проектов. По терминологии Боэма, их
образуют:
• распространенный тип — небольшие программные
проекты, над которыми работает небольшая группа
разработчиков с хорошим стажем работы,
устанавливаются мягкие требования к проекту;
• полунезависимый тип — средний по размеру проект,
выполняется группой разработчиков с разным опытом,
устанавливаются как мягкие, так и жесткие требования к
проекту;
• встроенный тип — программный проект
разрабатывается в условиях жестких аппаратных,
программных и вычислительных ограничений.
34

35.

Уравнения базовой подмодели
Уравнения базовой подмодели имеют вид
• Е=аbx(KLOC) [чел-мес];
• D = cbx (E) [мес],
где Е — затраты в человеко-месяцах, D — время
разработки, KLOC — количество строк в программном
продукте.
Коэффициенты аb, bb, сb, db берутся из табл.
35

36.

Модель СОСОМО II
• В 1995 году Боэм ввел более совершенную модель
СОСОМО II, ориентированную на применение в
программной инженерии XXI века.
В состав СОСОМО II входят:
• модель композиции приложения;
• модель раннего этапа проектирования;
• модель этапа пост-архитектуры.
Для описания моделей СОСОМО II требуется информация о
размере программного продукта. Возможно использование
LOC-оценок, объектных указателей, функциональных
указателей.
36

37.

Модель композиции
приложения
Модель композиции используется на ранней стадии
конструирования ПО, когда:
• рассматривается макетирование пользовательских
интерфейсов;
• обсуждается взаимодействие ПО и компьютерной системы;
• оценивается производительность;
• определяется степень зрелости технологии.
Модель композиции приложения ориентирована на применение
объектных указателей.
Объектный указатель — средство косвенного измерения ПО, для
его расчета определяется количество экранов (как элементов
пользовательского интерфейса), отчетов и компонентов,
требуемых для построения приложения..
37

38.

Модель композиции
приложения (2)
• Проектные затраты оцениваются по формуле
ЗАТРАТЫ = NOP /PROD [чел.-мес],
где PROD — производительность разработки, выраженная в
терминах объектных указателей;
NOP — количество новых объектных указателей:
NOP = (Объектные указатели) х [(100 — %REUSE) /100],
%REUSE — процент повторного использования
программных компонентов.
38

39.

Модель раннего этапа
проектирования
• Модель раннего этапа проектирования используется в период,
когда стабилизируются требования и определяется базисная
программная архитектура.
• Основное уравнение этой модели имеет следующий вид:
где:
• масштабный коэффициент А = 2,5;
• показатель В отражает нелинейную зависимость затрат от
размера проекта (размер системы РАЗМЕР выражается в
тысячах LOC);
• множитель поправки Мe зависит от 7 формирователей затрат,
характеризующих продукт, процесс и персонал;
• слагаемое 3ATPATЫauto отражает затраты на автоматически
генерируемый программный код.
39

40.

Модель этапа постархитектуры
• Модель этапа постархитектуры используется в период, когда
уже сформирована архитектура и выполняется дальнейшая
разработка программного продукта.
• Основное уравнение постархитектурной модели является
развитием уравнения предыдущей модели и имеет следующий
вид:
ЗАТРАТЫ = А х К~req х РАЗМЕРB х Мр +3ATPATЫauto [чел.-мес], где
• коэффициент К~req учитывает возможные изменения в
требованиях;
• показатель В отражает нелинейную зависимость затрат от
размера проекта (размер выражается в KLOC), вычисляется
так же, как и в предыдущей модели;
• в размере проекта различают две составляющие — новый код
и повторно используемый код;
• множитель поправки Мр зависит от 17 факторов затрат,
характеризующих продукт, аппаратуру, персонал и проект. 40

41.

Стоимость проекта
• От оценки затрат легко перейти к стоимости проекта. Переход
выполняют по формуле:
СТОИМОСТЬ = ЗАТРАТЫ х РАБ_ КОЭФ,
где среднее значение рабочего коэффициента составляет
$15000 за человеко-месяц.
• После определения затрат и стоимости можно оценить
длительность разработки.
• Модель СОСОМО II содержит уравнение для оценки
календарного времени TDEV, требуемого для выполнения
проекта. Для моделей всех уровней справедливо:
41

42.

Оценка календарного времени
• Длительность (TDEV) = [3,0 х (ЗАТРАТЫ)(0,33+0,2(B-1,01))] х
SCEDPercentage/100 [мес],
где
• В — ранее рассчитанный показатель степени;
• SCEDPercentage — процент увеличения (уменьшения)
номинального графика.
• Если нужно определить номинальный график, то
принимается SCEDPercentage =100 и правый сомножитель
в уравнении обращается в единицу. Следует отметить, что
СОСОМО II ограничивает диапазон
уплотнения/растягивания графика (от 75 до 160%). Причина
проста — если планируемый график существенно
отличается от номинального, это означает внесение в
проект высокого риска.
42

43.

Модель СОСОМО II
• Модель СОСОМО II явно утверждает, что длительность
проекта является функцией требуемых затрат, прямой
зависимости от количества сотрудников нет. Другими
словами, она устраняет миф нерадивых менеджеров в том,
что добавление людей поможет ликвидировать отставание в
проекте.
• СОСОМО II предостерегает от определения потребного
количества сотрудников путем деления затрат на
длительность проекта. Такой упрощенный подход часто
приводит к срыву работ. Реальная картина имеет другой
характер. Количество людей, требуемых на этапе
планирования и формирования требований, достаточно
мало. На этапах проектирования и кодирования потребность
в увеличении команды возрастает, после окончания
кодирования и тестирования численность необходимых
43
сотрудников достигает минимума.

From Wikipedia, the free encyclopedia

Software project management is the process of planning and leading software projects.[1] It is a sub-discipline of project management in which software projects are planned, implemented, monitored and controlled.

History[edit]

In the 1970s and 1980s, the software industry grew very quickly, as computer companies quickly recognized the relatively low cost of software production compared to hardware production and circuitry. To manage new development efforts, companies applied the established project management methods, but project schedules slipped during test runs, especially when confusion occurred in the gray zone between the user specifications and the delivered software. To be able to avoid these problems, software project management methods focused on matching user requirements to delivered products, in a method known now as the waterfall model.

As the industry has matured, analysis of software project management failures has shown that the following are the most common causes:[2][3][4]

  1. Insufficient end-user involvement
  2. Poor communication among customers, developers, users and project managers
  3. Unrealistic or unarticulated project goals
  4. Inaccurate estimates of needed resources
  5. Badly defined or incomplete system requirements and specifications
  6. Poor reporting of the project’s status
  7. Poorly managed risks
  8. Use of immature technology
  9. Inability to handle the project’s complexity
  10. Sloppy development practices
  11. Stakeholder politics (e.g. absence of executive support, or politics between the customer and end-users)
  12. Commercial pressures

The first five items in the list above show the difficulties articulating the needs of the client in such a way that proper resources can deliver the proper project goals. Specific software project management tools are useful and often necessary, but the true art in software project management is applying the correct method and then using tools to support the method. Without a method, tools are worthless. Since the 1960s, several proprietary software project management methods have been developed by software manufacturers for their own use, while computer consulting firms have also developed similar methods for their clients. Today software project management methods are still evolving, but the current trend leads away from the waterfall model to a more cyclic project delivery model that imitates a software development process.

Software development process[edit]

A software development process is concerned primarily with the production aspect of software development, as opposed to the technical aspect, such as software tools. These processes exist primarily for supporting the management of software development, and are generally skewed toward addressing business concerns. Many software development processes can be run in a similar way to general project management processes. Examples are:

  • Interpersonal communication and conflict management and resolution. Active, frequent and honest communication is the most important factor in increasing the likelihood of project success and mitigating problematic projects. The development team should seek end-user involvement and encourage user input in the development process. Not having users involved can lead to misinterpretation of requirements, insensitivity to changing customer needs, and unrealistic expectations on the part of the client. Software developers, users, project managers, customers and project sponsors need to communicate regularly and frequently. The information gained from these discussions allows the project team to analyze the strengths, weaknesses, opportunities and threats (SWOT) and to act on that information to benefit from opportunities and to minimize threats. Even bad news may be good if it is communicated relatively early, because problems can be mitigated if they are not discovered too late. For example, casual conversation with users, team members, and other stakeholders may often surface potential problems sooner than formal meetings. All communications need to be intellectually honest and authentic, and regular, frequent, high quality criticism of development work is necessary, as long as it is provided in a calm, respectful, constructive, non-accusatory, non-angry fashion. Frequent casual communications between developers and end-users, and between project managers and clients, are necessary to keep the project relevant, useful and effective for the end-users, and within the bounds of what can be completed. Effective interpersonal communication and conflict management and resolution are the key to software project management. No methodology or process improvement strategy can overcome serious problems in communication or mismanagement of interpersonal conflict. Moreover, outcomes associated with such methodologies and process improvement strategies are enhanced with better communication. The communication must focus on whether the team understands the project charter and whether the team is making progress towards that goal. End-users, software developers and project managers must frequently ask the elementary, simple questions that help identify problems before they fester into near-disasters. While end-user participation, effective communication and teamwork are not sufficient, they are necessary to ensure a good outcome, and their absence will almost surely lead to a bad outcome.[3][4][5]
  • Risk management is the process of measuring or assessing risk and then developing strategies to manage the risk. In general, the strategies employed include transferring the risk to another party, avoiding the risk, reducing the negative effect of the risk, and accepting some or all of the consequences of a particular risk. Risk management in software project management begins with the business case for starting the project, which includes a cost-benefit analysis as well as a list of fallback options for project failure, called a contingency plan.
    • A subset of risk management is Opportunity Management, which means the same thing, except that the potential risk outcome will have a positive, rather than a negative impact. Though theoretically handled in the same way, using the term «opportunity» rather than the somewhat negative term «risk» helps to keep a team focused on possible positive outcomes of any given risk register in their projects, such as spin-off projects, windfalls, and free extra resources.
  • Requirements management is the process of identifying, eliciting, documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. New or altered computer system[1] Requirements management, which includes Requirements analysis, is an important part of the software engineering process; whereby business analysts or software developers identify the needs or requirements of a client; having identified these requirements they are then in a position to design a solution.
  • Change management is the process of identifying, documenting, analyzing, prioritizing and agreeing on changes to scope (project management) and then controlling changes and communicating to relevant stakeholders. Change impact analysis of new or altered scope, which includes Requirements analysis at the change level, is an important part of the software engineering process; whereby business analysts or software developers identify the altered needs or requirements of a client; having identified these requirements they are then in a position to re-design or modify a solution. Theoretically, each change can impact the timeline and budget of a software project, and therefore by definition must include risk-benefit analysis before approval.
  • Software configuration management is the process of identifying, and documenting the scope itself, which is the software product underway, including all sub-products and changes and enabling communication of these to relevant stakeholders. In general, the processes employed include version control, naming convention (programming), and software archival agreements.
  • Release management is the process of identifying, documenting, prioritizing and agreeing on releases of software and then controlling the release schedule and communicating to relevant stakeholders. Most software projects have access to three software environments to which software can be released; Development, Test, and Production. In very large projects, where distributed teams need to integrate their work before releasing to users, there will often be more environments for testing, called unit testing, system testing, or integration testing, before release to User acceptance testing (UAT).
    • A subset of release management that is gaining attention is Data Management, as obviously the users can only test based on data that they know, and «real» data is only in the software environment called «production». In order to test their work, programmers must therefore also often create «dummy data» or «data stubs». Traditionally, older versions of a production system were once used for this purpose, but as companies rely more and more on outside contributors for software development, company data may not be released to development teams. In complex environments, datasets may be created that are then migrated across test environments according to a test release schedule, much like the overall software release schedule.
  • Maintenance and update is the process where Requirements and customer needs are always involving. They will undoubtedly find bugs, may request new features and ask for different functionality and more updates. So, all of these requests need to check and fulfill the customer’s requirements and satisfaction.

Project planning, execution, monitoring and control[edit]

The purpose of project planning is to identify the scope of the project, estimate the work involved, and create a project schedule. Project planning begins with requirements that define the software to be developed. The project plan is then developed to describe the tasks that will lead to completion. The project execution is the process of completing the tasks defined in the project plan.

The purpose of project monitoring and control is to keep the team and management up to date on the project’s progress. If the project deviates from the plan, then the project manager can take action to correct the problem. Project monitoring and control involves status meetings to gather status from the team. When changes need to be made, change control is used to keep the products up to date.

Issue[edit]

In computing, the term «issue» is a unit of work to accomplish an improvement in a system.[citation needed] An issue could be a bug, a requested feature, task, missing documentation, and so forth.

For example, OpenOffice.org used to call their modified version of Bugzilla IssueZilla. As of September 2010, they call their system Issue Tracker.[needs update]

Severity levels[edit]

Issues are often categorized in terms of severity levels. Different companies have different definitions of severities, but some of the most common ones are:

High
The bug or issue affects a crucial part of a system, and must be fixed in order for it to resume normal operation.
Medium
The bug or issue affects a minor part of a system, but has some impact on its operation. This severity level is assigned when a non-central requirement of a system is affected.
Low / Fixed
The bug or issue affects a minor part of a system, and has very little impact on its operation. This severity level is assigned when a non-central requirement of a system (and with lower importance) is affected.
Trivial (cosmetic, aesthetic)
The system works correctly, but the appearance does not match the expected one. For example: wrong colors, too much or too little spacing between contents, incorrect font sizes, typos, etc. This is the lowest severity issue.

Issue management[edit]

In some implementations of software development processes, issues are investigated by quality assurance analysts a system is verified for correctness, and then assigned back to a member of the development team to resolve the identified issue. They can also be identified by system users during the User Acceptance Testing (UAT) phase.

Issues can be recorded and communicated using Issue or Defect Tracking Systems. In the absence of a formal Issue or Defect Tracking system, it is commonplace to simply use any form of written communication such as emails or instant messages to communicate the existence of a found issue.

Philosophy[edit]

As a subdiscipline of project management, some regard the management of software development akin to the management of manufacturing, which can be performed by someone with management skills, but no programming skills. John C. Reynolds rebuts this view, and argues that software development is entirely design work, and compares a manager who cannot program to the managing editor of a newspaper who cannot write.[6]

References[edit]

  1. ^ a b Stellman, Andrew; Greene, Jennifer (2005). Applied Software Project Management. O’Reilly Media. ISBN 978-0-596-00948-9. Archived from the original on 2015-02-09.
  2. ^ «Why Software Fails», in IEEE Spectrum
  3. ^ a b Producing Open Source Software: How to Run a Successful Free Software Project (e-book, freely downloadable), by Karl Fogel
  4. ^ a b Robert Frese and Vicki Sauter, «Improving your odds for software project success,» IEEE Engineering Management Review, Vol. 42, No. 4, Fourth Quarter, Dec 2014
  5. ^ Philip Greenspun, in Jessica Livingston’s Founders at Work (2007), ISBN 1-59059-714-1
  6. ^ John C. Reynolds, Some thoughts on teaching programming and programming languages, SIGPLAN Notices, Volume 43, Issue 11, November 2008, p.108: «Some argue that one can manage software production without the ability to program. This belief seems to arise from the mistaken view that software production is a form of manufacturing. But manufacturing is the repeated construction of identical objects, while software production is the construction of unique objects, i.e., the entire process is a form of design. As such it is closer to the production of a newpaper [sic] — so that a software manager who cannot program is akin to a managing editor who cannot write.»
General
  • 16326:2019(E) — ISO/IEC/IEEE International Standard — Systems and software engineering — Life cycle processes — Project management. 2019. doi:10.1109/IEEESTD.2019.8932690. ISBN 978-1-5044-6299-0.
  • 1058-1998 — IEEE Standard for Software Project Management Plans. 1998. doi:10.1109/IEEESTD.1998.88822. ISBN 978-0-7381-1448-4.
  • Jalote, Pankaj (2002). Software project management in practice. Addison-Wesley. ISBN 0-201-73721-3.
  • Murali Chemuturi, Thomas M. Cagley Jr. & (2010). Software Project Management: Best Practices, Tools and Techniques. J.Ross Publishing. ISBN 978-1-60427-034-1.

External links[edit]

  • Media related to Software project management at Wikimedia Commons

Project failure[edit]

  • Robert Frese (2003-12-16). «PROJECT SUCCESS AND FAILURE: WHAT IS SUCCESS, WHAT IS FAILURE, AND HOW CAN YOU IMPROVE YOUR ODDS FOR SUCCESS?». University of Missouri-St. Louis. Retrieved 2015-05-13.

1

Руководство программным проектом

2

Схема разработки программ

3

Управление проектом охватывает инфраструктуру (организационные моменты); инфраструктуру (организационные моменты); управляющий процесс (права и ответственности участников); управляющий процесс (права и ответственности участников); процесс разработки (методы, инструменты, языки, документация и поддержка); процесс разработки (методы, инструменты, языки, документация и поддержка); расписание (моменты времени, к которым должны быть представлены вы­полненные фрагменты работы) расписание (моменты времени, к которым должны быть представлены вы­полненные фрагменты работы)

4

Руководитель проекта может управлять следующими факторами Общая стоимость проекта Общая стоимость проекта Возможности продукта Возможности продукта Качество продукта Качество продукта Длительность проекта Длительность проекта Один из способов визуализировать значения данных четырех переменных состоит в использовании лепестковых диаграмм

5

Пример использовании лепестковых диаграмм

6

Типичная схема процесса управления проектом 1. Понять содержание проекта, область применения и временные рамки. 2. Определиться с процессом разработки (методы, инструменты, языки, документация и поддержка) 3. Выделить организационную структуру (привлечение отделов организации). 4. Определить управляющий процесс (ответственность участников).

7

Типичная схема процесса управления проектом 5. Разработать расписание проекта (моменты сдачи частей работы). 6. Разработать план подбора кадров. 7. Начать управление рисками. 8.Определить, какие документы необходимо выработать. 9. Начать сам процесс.

8

Рекомендуемое правило распределения затрат проекта : на анализ и проектирование приходится 40% затрат (из них на планирование и системный анализ 5%); на анализ и проектирование приходится 40% затрат (из них на планирование и системный анализ 5%); на кодирование 20%; на кодирование 20%; на тестирование и отладку 40%. на тестирование и отладку 40%.

9

Измерения, меры и метрики Измерения процесса производятся в целях его улучшения, измерения продукта для повышения его качества. В результате измерения определяется мера количественная характеристика какого-либо свойства объекта. Метрика определена как мера степени обладания свойством, имеющая числовое значение

10

Размерно-ориентированные метрики прямо измеряют программный продукт и процесс его разработки прямо измеряют программный продукт и процесс его разработки основываются на LOC-оценках (Lines Of Code) основываются на LOC-оценках (Lines Of Code) LOC-оценка это количество строк в программном продукте LOC-оценка это количество строк в программном продукте

11

Исходные данные для расчета LOC-метрик Проект Затраты чел.- мес Стоимость, тыс. $ KLOC, тыс. LOC Прогр. док- ты, страниц Ошибки Люди ааа , bbb , сс ,

12

Размерно-ориентированные метрики производительности и качества

13

Достоинства размерно-ориентированных метрик: 1) широко распространены; 2) просты и легко вычисляются. Недостатки размерно-ориентированных метрик: 1) зависимы от языка программирования; 2) требуют исходных данных, которые трудно получить на начальной стадии проекта; 3) не приспособлены к непроцедурным языкам программирования.

14

Конструктивная модель стоимости СОСОМО 81 Е=а b x(KLOC) b b [чел-мес]; D = c b x (E) a b [мес], где Е затраты в человеко-месяцах, D время разработки, KLOC количество строк в программном продукте. Коэффициенты аb, bb, сb, db берутся из таблицы

15

Коэффициенты для базовой подмодели СОСОМО 81 Тип проектааbаbb сbсb dbdb Распространен ный 2,41,052,50,38 Полунезависим ый 3,01,122,50,35 Встроенный 3,61,202,50,32

16

УПРАВЛЕНИЕ ПЕРСОНАЛОМ ПРОЕКТА

17

Варианты организации персонала 1. Управление взаимодействием

18

2. Варианты структуры ответственности Иерархическая структура управления Иерархическая структура управления

19

горизонтальная структура управления горизонтальная структура управления

20

коллегиальная структура управления коллегиальная структура управления

21

ВЫЯВЛЕНИЕ И УМЕНЬШЕНИЕ РИСКОВ

22

Типы рисков Риски, которых можно избежать (устранимые) Риски, которых невозможно избежать избежать

23

Управление риском состоит из нескольких действий: Идентификация Идентификация Планирование устранения Планирование устранения Выбор приоритетов Выбор приоритетов Устранение или уменьшение. Устранение или уменьшение.

24

Факторы риска Недостаточная вовлеченность в проект высшего руководства. Недостаточная вовлеченность в проект высшего руководства. Невозможность привлечения пользователей. Невозможность привлечения пользователей. Непонимание требований. Непонимание требований. Привлечение неадекватных пользователей. Привлечение неадекватных пользователей. Невозможность управления ожиданиями конечных пользователей. Невозможность управления ожиданиями конечных пользователей. Изменение области применения или целей проекта. Изменение области применения или целей проекта. Нехватка знаний или навыков у персонала. Нехватка знаний или навыков у персонала.

25

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

27

Метод расчета приоритета рисков Риск 1, наложение изображений, связан с манипулированием изображениями в Java Риск 1, наложение изображений, связан с манипулированием изображениями в Java Риск 2, недостаточные навыки программирования на Java, отражает тот факт, что 40 % команды не имеют достаточного опыта программирования на Java Риск 2, недостаточные навыки программирования на Java, отражает тот факт, что 40 % команды не имеют достаточного опыта программирования на Java

1.

Руководство программным
проектом

2.

Цели
• Процесс руководства проектом
• Планирование проектных задач
• Размерно-ориентированные метрики
• Функционально-ориентированные метрики
• Конструктивная модель стоимости
2

3.

Процесс руководства проектом
3

4.

Процесс руководства проектом
Руководство программным проектом — первый слой
процесса конструирования ПО. Термин «слой»
подчеркивает, что руководство определяет сущность
процесса разработки от его начала до конца.

5.

Процесс руководства проектом
Для проведения успешного проекта нужно понять
• объем предстоящих работ,
• возможный риск,
• требуемые ресурсы,
• предстоящие задачи,
• прокладываемые вехи,
• необходимые усилия (стоимость),
• план работ, которому желательно следовать.
Руководство программным проектом обеспечивает такое
понимание. Оно начинается перед технической работой,
продолжается по мере развития ПО от идеи к реальности и
достигает наивысшего уровня к концу работ
5

6.

Начало проекта
Перед планированием проекта следует:
• установить цели и проблемную область
проекта;
• обсудить альтернативные решения;
• выявить технические и управленческие
ограничения.
6

7.

Процесс оценки
При планировании программного проекта надо:
• оценить людские ресурсы (в человекомесяцах),
• продолжительность (в календарных датах),
стоимость (в тысячах долларов).
Обычно исходят из прошлого опыта. Если
новый проект по размеру и функциям похож на
предыдущий проект, вполне вероятно, что
потребуются такие же ресурсы, время и деньги.
7

8.

Анализ риска
На этой стадии:
• Исследуется область неопределенности, имеющаяся
в наличии перед созданием программного продукта.
• Анализируется ее влияние на проект.
• Нет ли скрытых от внимания трудных технических
проблем?
• Не станут ли изменения, проявившиеся в ходе
проектирования, причиной недопустимого отставания
по срокам?
В результате принимается решение — выполнять
проект или нет.
8

9.

Планирование
Определяется набор проектных задач.
Устанавливаются связи между задачами,
оценивается сложность каждой задачи.
Определяются людские и другие ресурсы.
Создается сетевой график задач,
проводится его временная разметка.
9

10.

Трассировка и контроль
• Каждая задача, помеченная в плане, отслеживается
руководителем проекта.
• При отставании в решении задачи применяются утилиты
повторного планирования. С помощью утилит
определяется влияние этого отставания на
промежуточную веху и общее время конструирования.
Под вехой понимается временная метка, к которой
привязано подведение промежуточных итогов.
В результате повторного планирования:
• могут быть перераспределены ресурсы;
• могут быть реорганизованы задачи;
• могут быть пересмотрены выходные обязательства.
10

11.

Планирование проектных задач
Основной задачей при планировании является определение
WBS — Work Breakdown Structure (структуры распределения
работ). Она составляется с помощью утилиты планирования
проекта. Типовая WBS приведена на рис.
11

12.

Системный анализ проводится
с целью:
1)
выяснения потребностей заказчика;
2)
оценки выполнимости системы;
3)
выполнения экономического и
технического анализа;
4)
распределения функций по элементам
компьютерной системы (аппаратуре,
программам, людям, базам данных и т. д.);
5)
определения стоимости и ограничений
планирования;
6)
создания системной спецификации.
12

13.

Вехи
• Вехи — процедуры контроля промежуточных результатов.
Очень важно, чтобы вехи были расставлены через
регулярные интервалы (вдоль всего процесса разработки
ПО). Это даст руководителю возможность регулярно
получать информацию о текущем положении дел. Вехи
распространяются и на документацию как на один из
результатов успешного решения задачи.
• Параллельность действий повышает требования к
планированию. Так как параллельные задачи
выполняются асинхронно, планировщик должен
определить межзадачные зависимости. Это гарантирует
«непрерывность движения к объединению». Кроме того,
руководитель проекта должен знать задачи, лежащие на
критическом пути. Для того чтобы весь проект был
выполнен в срок, необходимо выполнять в срок все
13
критические задачи.

14.

Затраты времени
Рекомендуемое правило распределения затрат
проекта — 40-20-40:
• на анализ и проектирование приходится 40%
затрат (из них на планирование и системный
анализ — 5%);
• на кодирование — 20%;
• на тестирование и отладку — 40%.
14

15.

Метрики
Программного проекта
15

16.

Размерно-ориентированные
метрики (1)
• Размерно-ориентированные метрики прямо измеряют
программный продукт и процесс его разработки.
Основываются размерно-ориентированные метрики на LOCоценках (Lines Of Code). LOC-оценка — это количество строк в
программном продукте.
• Исходные данные для расчета этих метрик сводятся в
таблицу (данные за последние несколько лет).
16

17.

Размерно-ориентированные
метрики (2)
• На основе таблицы вычисляются размерноориентированные метрики производительности и
качества (для каждого проекта):
17

18.

Размерно-ориентированные
метрики (3)
Общими особенностями гибких методологий3являются:
• Ориентированность на людей – как разработчиков, так и
заказчиков (согласие участвовать в разработке). Считается,
что умение собрать в проектной команде «правильных»
людей определяет успех или неудачу проекта в значительно
большей степени, чем любые процессы или технологии.
• Использование устных обсуждений вместо формальных
спецификаций везде, где это возможно.
• Итеративная разработка с возможно более короткой (в
разумных пределах) продолжительностью итерации, при
этом в результате каждой итерации выпускается
полноценная работающая версия продукта.
• Ожидание изменений – в гибком процессе проектная команда
не пытается зафиксировать требования в начале проекта и
затем следовать жестко определенному плану. Изменения 18

19.

Размерно-ориентированные
метрики (4)
Достоинства размерно-ориентированных метрик:
• 1) широко распространены;
• 2) просты и легко вычисляются.
Недостатки размерно-ориентированных метрик:
• 1) зависимы от языка программирования;
• 2) требуют исходных данных, которые трудно получить
на начальной стадии проекта;
• 3) не приспособлены к непроцедурным языкам
программирования.
19

20.

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

21.

Функциональноориентированные метрики (2)
• Количество внешних запросов. Под запросом понимается
диалоговый ввод, который приводит к немедленному
программному ответу в форме диалогового вывода. При
этом диалоговый ввод в приложении не сохраняется, а
диалоговый вывод не требует выполнения вычислений.
Подсчитываются все запросы — каждый учитывается
отдельно.
• 4. Количество внутренних логических файлов.
Подсчитываются все логические файлы (то есть
логические группы данных, которые могут быть частью
базы данных или отдельным файлом).
• 5. Количество внешних интерфейсных файлов.
Подсчитываются все логические файлы из других
приложений, на которые ссылается данное приложение.
21

22.

Функциональноориентированные метрики (3)
• После сбора всей необходимой информации приступают к
расчету метрики — количества функциональных
указателей FP (Function Points). Автором этой метрики
является А. Албрехт (1979) [7].
• Исходные данные для расчета сводятся в табл.
22

23.

Функциональноориентированные метрики (4)
• В таблицу заносится количественное значение
характеристики каждого вида (по всем уровням сложности).
Места подстановки значений отмечены прямоугольниками
(прямоугольник играет роль метки-заполнителя).
Количественные значения характеристик умножаются на
числовые оценки сложности. Полученные в каждой строке
значения суммируются, давая полное значение для данной
характеристики. Эти полные значения затем суммируются по
вертикали, формируя общее количество.
• Количество функциональных указателей вычисляется по
формуле
где Fi — коэффициенты регулировки сложности.
23

24.

Функциональноориентированные метрики (5)
Каждый коэффициент может принимать следующие
значения: 0 — нет влияния, 1 — случайное, 2 — небольшое,
3 — среднее, 4 — важное, 5 — основное.
Значения выбираются эмпирически в результате ответа на
14 вопросов, которые характеризуют системные параметры
приложения:
24

25.

Определение системных
параметров приложения
25

26.

Определение системных
параметров приложения (прод.)
После вычисления FP на его основе формируются метрики
производительности, качества и т. д.:
26

27.

Функциональноориентированные метрики (6)
• Область применения метода функциональных указателей
— коммерческие информационные системы. Для
продуктов с высокой алгоритмической сложностью
используются метрики указателей свойств (Features
Points). Они применимы к системному и инженерному ПО,
ПО реального времени и встроенному ПО.
• Достоинства функционально-ориентированных метрик:
• 1. Не зависят от языка программирования.
• 2. Легко вычисляются на любой стадии проекта.
• Недостаток функционально-ориентированных метрик:
результаты основаны на субъективных данных,
используются не прямые, а косвенные измерения. FPоценки легко пересчитать в LOC-оценки.
27

28.

Выполнение оценки в ходе
руководства проектом
• Процесс руководства программным проектом начинается с
множества действий, объединяемых общим названием
планирование проекта.
• Первое из этих действий — выполнение оценки. Оно
закладывает фундамент для других действий по планированию
проекта. При оценке проекта чрезвычайно высока цена
ошибок. Очень важно провести оценку с минимальным риском.
28

29.

Выполнение оценки проекта на
основе LOC- и FP-метрик
Цель этой деятельности — сформировать предварительные
оценки, которые позволят:
• предъявить заказчику корректные требования по стоимости и
затратам на разработку программного продукта;
• составить план программного проекта.
При выполнении оценки возможны два варианта использования
LOC- и FP-данных:
• в качестве оценочных переменных, определяющих размер
каждого элемента продукта;
• в качестве метрик, собранных за прошлые проекты и
входящих в метрический базис фирмы.
29

30.

Шаги процесса оценки (1)
•Шаг 1. Область назначения проектируемого продукта
разбивается на ряд функций, каждую из которых можно
оценить индивидуально: f1, f2,…,fn.
•Шаг 2. Для каждой функции fi, планировщик формирует
лучшую LOCлучшi (FРлучшi), худшую LOCхудшi (FРхудшi) и
вероятную оценку LOCвероятнi (FРвероятнi). Используются
опытные данные (из метрического базиса) или интуиция.
Диапазон значения оценок соответствует степени
предусмотренной неопределенности.
•Шаг 3. Для каждой функции в соответствии с распределением вычисляется ожидаемое значение LOC(или FP-) оценки:
•LOCожi =(LOCлучшi + LOCхудшi +4x LOCвероятнi )/ 6.
30

31.

Шаги процесса оценки (2)
•Шаг 4. Определяется значение LOC- или FPпроизводительности разработки функции.
•Используется один из трех подходов:
•1)для всех функций принимается одна и та же метрика средней
производительности ПРОИЗВср, взятая из метрического базиса;
•2)для i-й функции на основе метрики средней
производительности вычисляется настраиваемая величина
производительности: ПРОИЗВi =ПРОИЗВсрх(LOCср /LOCожi),
где LOCcp — средняя LOC-оценка, взятая из метрического
базиса (соответствует средней производительности);
3) для i-й функции настраиваемая величина
производительности вычисляется по аналогу, взятому из
метрического базиса: ПРОИЗВi =ПРОИЗВанiх(LOCанi /LOCожi).
•Первый подход обеспечивает минимальную точность), а третий
31
подход — максимальную точность.

32.

Шаги процесса оценки (3)
Шаг 5. Вычисляется общая оценка затрат на проект: для первого
подхода
• для второго и третьего подходов
Шаг 6. Вычисляется общая оценка стоимости проекта: для
первого и второго подходов
где УД_СТОИМОСТЬср — метрика средней стоимости одной
строки, взятая из метрического базиса.
• для третьего подхода
где УД_СТОИМОСТЬанi — метрика стоимости одной строки
аналога, взятая из метрического базиса.
32

33.

Конструктивная модель стоимости
• В данной модели для вывода формул использовался
статистический подход — учитывались реальные результаты
огромного количества проектов. Автор оригинальной модели
— Барри Боэм (1981) —дал ей название СОСОМО 81
(Constructive Cost Model) и ввел в ее состав три разные по
сложности статистические подмодели.
Иерархию подмоделей Боэма (версии 1981 года) образуют:
• базисная СОСОМО — статическая модель, вычисляет затраты
разработки и ее стоимость как функцию размера программы;
• промежуточная СОСОМО — дополнительно учитывает
атрибуты стоимости, включающие основные оценки продукта,
аппаратуры, персонала и проектной среды;
• усовершенствованная СОСОМО — объединяет все
характеристики промежуточной модели, дополнительно
учитывает влияние всех атрибутов стоимости на каждый этап
процесса разработки ПО (анализ, проектирование и т.д.) 33

34.

Конструктивная модель
стоимости
• Подмодели СОСОМО 81 могут применяться к трем типам
программных проектов. По терминологии Боэма, их
образуют:
• распространенный тип — небольшие программные
проекты, над которыми работает небольшая группа
разработчиков с хорошим стажем работы,
устанавливаются мягкие требования к проекту;
• полунезависимый тип — средний по размеру проект,
выполняется группой разработчиков с разным опытом,
устанавливаются как мягкие, так и жесткие требования к
проекту;
• встроенный тип — программный проект
разрабатывается в условиях жестких аппаратных,
программных и вычислительных ограничений.
34

35.

Уравнения базовой подмодели
Уравнения базовой подмодели имеют вид
• Е=аbx(KLOC) [чел-мес];
• D = cbx (E) [мес],
где Е — затраты в человеко-месяцах, D — время
разработки, KLOC — количество строк в программном
продукте.
Коэффициенты аb, bb, сb, db берутся из табл.
35

36.

Модель СОСОМО II
• В 1995 году Боэм ввел более совершенную модель
СОСОМО II, ориентированную на применение в
программной инженерии XXI века.
В состав СОСОМО II входят:
• модель композиции приложения;
• модель раннего этапа проектирования;
• модель этапа пост-архитектуры.
Для описания моделей СОСОМО II требуется информация о
размере программного продукта. Возможно использование
LOC-оценок, объектных указателей, функциональных
указателей.
36

37.

Модель композиции
приложения
Модель композиции используется на ранней стадии
конструирования ПО, когда:
• рассматривается макетирование пользовательских
интерфейсов;
• обсуждается взаимодействие ПО и компьютерной системы;
• оценивается производительность;
• определяется степень зрелости технологии.
Модель композиции приложения ориентирована на применение
объектных указателей.
Объектный указатель — средство косвенного измерения ПО, для
его расчета определяется количество экранов (как элементов
пользовательского интерфейса), отчетов и компонентов,
требуемых для построения приложения..
37

38.

Модель композиции
приложения (2)
• Проектные затраты оцениваются по формуле
ЗАТРАТЫ = NOP /PROD [чел.-мес],
где PROD — производительность разработки, выраженная в
терминах объектных указателей;
NOP — количество новых объектных указателей:
NOP = (Объектные указатели) х [(100 — %REUSE) /100],
%REUSE — процент повторного использования
программных компонентов.
38

39.

Модель раннего этапа
проектирования
• Модель раннего этапа проектирования используется в период,
когда стабилизируются требования и определяется базисная
программная архитектура.
• Основное уравнение этой модели имеет следующий вид:
где:
• масштабный коэффициент А = 2,5;
• показатель В отражает нелинейную зависимость затрат от
размера проекта (размер системы РАЗМЕР выражается в
тысячах LOC);
• множитель поправки Мe зависит от 7 формирователей затрат,
характеризующих продукт, процесс и персонал;
• слагаемое 3ATPATЫauto отражает затраты на автоматически
генерируемый программный код.
39

40.

Модель этапа постархитектуры
• Модель этапа постархитектуры используется в период, когда
уже сформирована архитектура и выполняется дальнейшая
разработка программного продукта.
• Основное уравнение постархитектурной модели является
развитием уравнения предыдущей модели и имеет следующий
вид:
ЗАТРАТЫ = А х К~req х РАЗМЕРB х Мр +3ATPATЫauto [чел.-мес], где
• коэффициент К~req учитывает возможные изменения в
требованиях;
• показатель В отражает нелинейную зависимость затрат от
размера проекта (размер выражается в KLOC), вычисляется
так же, как и в предыдущей модели;
• в размере проекта различают две составляющие — новый код
и повторно используемый код;
• множитель поправки Мр зависит от 17 факторов затрат,
характеризующих продукт, аппаратуру, персонал и проект. 40

41.

Стоимость проекта
• От оценки затрат легко перейти к стоимости проекта. Переход
выполняют по формуле:
СТОИМОСТЬ = ЗАТРАТЫ х РАБ_ КОЭФ,
где среднее значение рабочего коэффициента составляет
$15000 за человеко-месяц.
• После определения затрат и стоимости можно оценить
длительность разработки.
• Модель СОСОМО II содержит уравнение для оценки
календарного времени TDEV, требуемого для выполнения
проекта. Для моделей всех уровней справедливо:
41

42.

Оценка календарного времени
• Длительность (TDEV) = [3,0 х (ЗАТРАТЫ)(0,33+0,2(B-1,01))] х
SCEDPercentage/100 [мес],
где
• В — ранее рассчитанный показатель степени;
• SCEDPercentage — процент увеличения (уменьшения)
номинального графика.
• Если нужно определить номинальный график, то
принимается SCEDPercentage =100 и правый сомножитель
в уравнении обращается в единицу. Следует отметить, что
СОСОМО II ограничивает диапазон
уплотнения/растягивания графика (от 75 до 160%). Причина
проста — если планируемый график существенно
отличается от номинального, это означает внесение в
проект высокого риска.
42

43.

Модель СОСОМО II
• Модель СОСОМО II явно утверждает, что длительность
проекта является функцией требуемых затрат, прямой
зависимости от количества сотрудников нет. Другими
словами, она устраняет миф нерадивых менеджеров в том,
что добавление людей поможет ликвидировать отставание в
проекте.
• СОСОМО II предостерегает от определения потребного
количества сотрудников путем деления затрат на
длительность проекта. Такой упрощенный подход часто
приводит к срыву работ. Реальная картина имеет другой
характер. Количество людей, требуемых на этапе
планирования и формирования требований, достаточно
мало. На этапах проектирования и кодирования потребность
в увеличении команды возрастает, после окончания
кодирования и тестирования численность необходимых
43
сотрудников достигает минимума.

Слайд 1Лекция 1. Руководство программным
проектом
Учебные вопросы:

1. Организация процесса конструирования.
2. Модели

качества процессов конструирования.
3. Процесс руководства проектом.
4. Планирование проектных задач.

Литература: [6], [10].

Лекция 1. Руководство программным  проектомУчебные вопросы:1. Организация процесса конструирования.2. Модели качества процессов конструирования.3. Процесс руководства проектом.


Слайд 2 Технология конструирования программного обеспечения (ТКПО) – это

система инженерных принципов для создания экономичного ПО, которое надежно и

эффективно работает в реальных компьютерах.

Методы ТКПО обеспечивают решение следующих задач:
планирование и оценка проекта;
анализ системных и программных требований;
проектирование алгоритмов, структур данных и программных структур;
кодирование;
тестирование;
сопровождение.

Средства (утилиты) ТКПО обеспечивают автоматизированную или автоматическую поддержку методов. В целях совместного применения утилиты могут объединяться в системы автоматизированного конструирования ПО. Такие системы принято называть CASE-системами. Аббревиатура CASE расшифровывается как Computer Aided Software Engineering (программная инженерия с компьютерной поддержкой).

Процедуры ТКПО соединяют методы и утилиты так, что они обеспечивают непрерывную технологическую цепочку разработки.
Процедуры определяют:
порядок применения методов и утилит;
формирование отчетов, форм по соответствующим требованиям;
контроль, который помогает обеспечивать качество и координировать изменения;
формирование «вех», по которым руководители оценивают процесс.

Технология конструирования программного обеспечения (ТКПО) – это система инженерных принципов для создания экономичного ПО,


Слайд 3Стратегии конструирования ПО
однократный проход (водопадная стратегия) – линейная последовательность этапов

конструирования с определением всех требований в начале процесса;
инкрементная стратегия. В

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

Стратегии конструирования ПОоднократный проход (водопадная стратегия) – линейная последовательность этапов конструирования с определением всех требований в начале


Слайд 4Характеристики стратегий конструирования ПО
(в соответствии с требованиями стандарта IEEE/EIA

12207.2)
Таблица 1.1

Характеристики стратегий конструирования ПО  (в соответствии с требованиями стандарта IEEE/EIA 12207.2)Таблица 1.1


Слайд 6Классический жизненный цикл
Рисунок 1.1 – Классический жизненный цикл разработки ПО

Классический жизненный циклРисунок 1.1 – Классический жизненный цикл разработки ПО


Слайд 7Макетирование
Рисунок 1.2 – Макетирование

МакетированиеРисунок 1.2 – Макетирование


Слайд 8Инкрементная модель
Рисунок 1.3 – Инкрементная модель

Инкрементная модельРисунок 1.3 – Инкрементная модель


Слайд 9Быстрая разработка приложений
(RAD — Rapid Application Development)
Рисунок 1.4 –

Модель быстрой разработки приложений

Быстрая разработка приложений  (RAD - Rapid Application Development)Рисунок 1.4 – Модель быстрой разработки приложений


Слайд 10Спиральная модель
Рисунок 1.5 – Спиральная модель, где:
1 – начальный

сбор требований и планирование проекта; 2 – та же работа,

но на основе рекомендаций заказчика; 3 – анализ риска на основе начальный требований;
4 – анализ риска на основе реакции заказчика; 5 – переход к комплексной системе;
6 – начальный макет системы; 7 – следующий уровень макета;
8 – сконструированная система; 9 – оценивание заказчиком.

Спиральная модельРисунок 1.5 – Спиральная модель, где: 1 – начальный сбор требований и планирование проекта; 2 –


Слайд 11Компонентно-ориентированная модель
Рисунок 1.6 – Компонентно-ориентированная модель

Компонентно-ориентированная модельРисунок 1.6 – Компонентно-ориентированная модель


Слайд 12ХР-процесс
Экстремальное программирование
Рисунок 1.7 – XP-процесс

ХР-процесс Экстремальное программированиеРисунок 1.7 – XP-процесс


Слайд 13Модели качества процессов конструирования
Рисунок 2.1 – Пять уровней зрелости

модели СММ

Модели качества процессов конструирования Рисунок 2.1 – Пять уровней зрелости модели СММ


Слайд 14Процесс руководства проектом
Рисунок 3.1 – Руководство в процессе конструирования

ПО
Время

Процесс руководства проектом Рисунок 3.1 – Руководство в процессе конструирования ПОВремя


Слайд 15Работы, выполняемые в процессе руководства проектом
Начало проекта
Измерения, меры и метрики
Процесс

оценки
Анализ риска
Планирование
Трассировка и контроль

Работы, выполняемые в процессе руководства проектомНачало проектаИзмерения, меры и метрикиПроцесс оценкиАнализ рискаПланированиеТрассировка и контроль


Слайд 16Планирование проектных задач
WBS – Work Breakdown Structure (структуры распределения работ)
Рисунок

4.1 – Типовая структура распределения проектных работ

Планирование проектных задачWBS – Work Breakdown Structure (структуры распределения работ)Рисунок 4.1 – Типовая структура распределения проектных работ


Слайд 17Правило распределения затрат проекта
на анализ и проектирование приходится 40% затрат

(из них на планирование и системный анализ – 5%);
на кодирование

– 20%;
на тестирование и отладку – 40%.

Рекомендуемое правило распределения
затрат проекта – 40-20-40:

Правило распределения затрат проектана анализ и проектирование приходится 40% затрат (из них на планирование и системный анализ


Слайд 1

Описание слайда:

Управление программным проектом



Слайд 2


Слайд 3


Слайд 4


Слайд 5


Слайд 6

Описание слайда:

Роли и ответственности участников типового проекта разработки ПО можно условно разделить на пять групп:
Анализ. Извлечение, документирование и сопровождение требований к продукту.
Управление. Определение и управление производственными процессами.
Производство. Проектирование и разработка ПО.
Тестирование. Тестирование ПО.
Обеспечение. Производство дополнительных продуктов и услуг.


Слайд 7

Описание слайда:

Группа анализа включает в себя следующие роли:

Бизнес-аналитик. Построение модели предметной области (онтологии).
Бизнес-архитектор. Разрабатывает бизнес-концепцию системы. Определяет общее видение продукта, его интерфейсы, поведение и ограничения.
Системный аналитик. Отвечает за перевод требований к продукту в функциональные требования к ПО.
Специалист по требованиям. Документирование и сопровождение требований к продукту.
Менеджер продукта (функциональный заказчик). Представляет в проекте интересы пользователей продукта.


Слайд 8

Описание слайда:

Группа управления состоит из следующих ролей:

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


Слайд 9

Описание слайда:

В производственную группу входят:
Проектировщик. Проектирование компонентов и подсистем в соответствие с общей архитектурой, разработка архитектурно значимых модулей.
Проектировщик базы данных.
Проектировщик интерфейса пользователя.
Разработчик. Проектирование, реализация и отладка отдельных модулей системы.


Слайд 10

Описание слайда:

Приоритет любого проекта должен определяться на основе оценки трех его характеристик:
Финансовая ценность.
Стратегическая ценность.
Уровень рисков.


Слайд 11

Описание слайда:

Концепция содержит следующие разделы:

Название проекта
Цели проекта
Результаты проекта
Допущения и ограничения
Ключевые участники и заинтересованные стороны
Ресурсы проекта
Сроки
Риски
Критерии приемки
Обоснование полезности проекта


Слайд 12

Описание слайда:

Целями проекта могут быть:

Изменения в Компании. Например, автоматизация ряда бизнес-процессов для повышения эффективности основной производственной деятельности
Реализация стратегических планов. Например, завоевание значительной доли растущего рынка за счет вывода на него нового продукта.
Выполнение контрактов. Например, разработка программного обеспечения по заказу.
Разрешение специфических проблем. Например, доработка программного продукта в целях приведения его в соответствие с изменениями в законодательстве.


Слайд 13

Описание слайда:

Результаты проекта должны определять:

Какие именно бизнес-выгоды получит заказчик в результате проекта.
Какой продукт или услуга. Что конкретно будет произведено по окончании проекта.
Высокоуровневые требования. Краткое описание и при необходимости ключевые свойства и/или характеристики продукта/услуги.


Слайд 14

Описание слайда:

Допущения и ограничения

Допущения, тесно связаны с управлением рисками
Ограничения, сокращают возможности проектной команды в выборе решений. В частности они могут содержать:
Специфические нормативные требования. Например, обязательная сертификация продукта, услуги на соответствие определенным стандартам.
Специфические технические требования. Например, разработка под заданную программно-аппаратную платформу.
Специфические требования к защите информации.


Слайд 15

Описание слайда:

К ключевым участникам программного проекта, как правило, относятся:

Спонсор проекта — лицо или группа лиц, предоставляющая финансовые ресурсы для проекта в любом виде.
Заказчик проекта — лицо или организация, которые будут использовать продукт, услугу или результат проекта. Следует учитывать, что заказчик и спонсор проекта не всегда совпадают.
Пользователи результатов проекта.
Куратор проекта — представитель исполнителя, уполномоченный принимать решение о выделении ресурсов и изменениях в проекте.
Руководитель проекта — представитель исполнителя, ответственный за реализацию проекта в срок, в пределах бюджета и с заданным качеством.
Соисполнители проекта. Субподрядчики и поставщики.


Слайд 16

Описание слайда:

Ресурсы проекта

Людские ресурсы и требования к квалификации персонала.
Оборудование, услуги, расходные материалы, лицензии на ПО, критические компьютерные ресурсы.
Бюджет проекта. План расходов и, при необходимости, предполагаемых доходов проекта с разбивкой по статьям и фазам/этапам проекта.


Слайд 17

Описание слайда:

Планирование управления содержанием

Определить источники запросов на изменение.
Установить порядок анализа, оценки и утверждения/отклонения изменения содержания.
Определить порядок документирования изменений содержания.
Определить порядок информирования об изменении содержания.


Слайд 18


Слайд 19


Слайд 20


Слайд 21


Слайд 22


Слайд 23


Слайд 24

Описание слайда:

Планирование проекта в MS Project
Типы отношений


Слайд 25

Описание слайда:

Окончание — начало (ОН) или Finish-to-Start (FS) 


Слайд 26

Описание слайда:

Начало — начало (НН) или Start — to — Start (SS)


Слайд 27

Описание слайда:

Начало-окончание (НО) или Start-to-Finish (SF)


Слайд 28

Описание слайда:

Окончание — окончание (ОО) или Finish-to-Finish (FF)


Слайд 29

Описание слайда:

Запаздывание (Lag) или Опережение (Lead)


Слайд 30

Описание слайда:

Типы ограничений. Гибкие ограничения


Слайд 31

Описание слайда:

Полужесткие ограничения


Слайд 32

Описание слайда:

Типы ограничений. Жесткие ограничения


Слайд 33


Слайд 34


Слайд 35


Слайд 36


Слайд 37


Слайд 38


Слайд 39


Слайд 40


Слайд 41


Слайд 42


Слайд 43


Слайд 44


Слайд 45


Слайд 46


Слайд 47


Слайд 48


Слайд 49


Слайд 50


Слайд 51

Описание слайда:

Спасибо за внимание


Презентация Руководство программным проектом онлайн

Оцените презентацию от 1 до 5 баллов!

  • Тип файла:

    ppt / pptx (powerpoint)

  • Всего слайдов:

    17 слайдов

  • Для класса:

    1,2,3,4,5,6,7,8,9,10,11

  • Размер файла:

    422.00 kB

  • Просмотров:

    24

  • Скачиваний:

    0

  • Автор:

    неизвестен

Слайды и текст к этой презентации:

№1 слайд

Лекция . Руководство

Содержание слайда: Лекция 1. Руководство программным
проектом
Учебные вопросы:

1. Организация процесса конструирования.
2. Модели качества процессов конструирования.
3. Процесс руководства проектом.
4. Планирование проектных задач.

Литература: [6], [10].


№2 слайд

Технология конструирования

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


№3 слайд

Стратегии конструирования ПО

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


№4 слайд

Характеристики стратегий

Содержание слайда: Характеристики стратегий конструирования ПО
(в соответствии с требованиями стандарта IEEE/EIA 12207.2)
Таблица 1.1


№5 слайд


№6 слайд

Классический жизненный цикл

Содержание слайда: Классический жизненный цикл


№7 слайд

Макетирование

Содержание слайда: Макетирование


№8 слайд

Инкрементная модель

Содержание слайда: Инкрементная модель


№9 слайд

Быстрая разработка приложений

Содержание слайда: Быстрая разработка приложений
(RAD — Rapid Application Development)


№10 слайд

Спиральная модель

Содержание слайда: Спиральная модель


№11 слайд

Компонентно-ориентированная

Содержание слайда: Компонентно-ориентированная модель


№12 слайд

ХР-процесс Экстремальное

Содержание слайда: ХР-процесс
Экстремальное программирование


№13 слайд

Модели качества процессов

Содержание слайда: Модели качества процессов конструирования


№14 слайд

Процесс руководства проектом

Содержание слайда: Процесс руководства проектом


№15 слайд

Работы, выполняемые в

Содержание слайда: Работы, выполняемые в процессе руководства проектом
Начало проекта
Измерения, меры и метрики
Процесс оценки
Анализ риска
Планирование
Трассировка и контроль


№16 слайд

Планирование проектных задач

Содержание слайда: Планирование проектных задач
WBS – Work Breakdown Structure (структуры распределения работ)


№17 слайд

Правило распределения затрат

Содержание слайда: Правило распределения затрат проекта
на анализ и проектирование приходится 40% затрат (из них на планирование и системный анализ – 5%);
на кодирование – 20%;
на тестирование и отладку – 40%.


Слайды презентации

Слайд 1

1Лекция 1. Руководство программным
проектом
Учебные вопросы:
1. Организация процесса конструирования.
2. Модели

качества процессов конструирования.
3. Процесс руководства проектом.
4. Планирование проектных

задач.
Литература: [6], [10] .

1Лекция 1. Руководство программным  проектом Учебные вопросы: 1. Организация процесса конструирования. 2. Модели качества процессов конструирования.


Слайд 2

2 Технология конструирования программного обеспечения

( ТКПО ) – это
система инженерных принципов

для создания экономичного ПО, которое надежно и
эффективно работает в

реальных компьютерах.
Методы ТКПО обеспечивают решение следующих задач:

планирование и оценка проекта;

анализ системных и программных требований;

проектирование алгоритмов, структур данных и программных структур;

кодирование;

тестирование;

сопровождение.
Средства ( утилиты ) ТКПО обеспечивают автоматизированную или автоматическую
поддержку методов. В целях совместного применения утилиты могут объединяться в
системы автоматизированного конструирования ПО. Такие системы принято называть
CASE -системами. Аббревиатура CASE расшифровывается как Computer Aided Software
Engineering (программная инженерия с компьютерной поддержкой).
Процедуры ТКПО соединяют методы и утилиты так, что они обеспечивают
непрерывную технологическую цепочку разработки.
Процедуры определяют:

порядок применения методов и утилит;

формирование отчетов, форм по соответствующим требованиям;

контроль, который помогает обеспечивать качество и координировать изменения;

формирование «вех», по которым руководители оценивают процесс.

2     Технология конструирования программного обеспечения  ( ТКПО ) –  это


Слайд 3

3Стратегии конструирования ПО

однократный проход (водопадная стратегия) – линейная
последовательность

этапов конструирования с
определением всех требований в начале процесса;

инкрементная

стратегия . В начале процесса
определяются все пользовательские и системные

требования, оставшаяся часть конструирования
выполняется в виде последовательности версий. Первая
версия реализует часть запланированных возможностей,
следующая версия реализует дополнительные возможности
и т. д., пока не будет получена полная система
(запланированное улучшение продукта);

эволюционная стратегия . Система также строится в виде
последовательности версий, но в начале процесса
определены не все требования. Требования уточняются в
результате разработки версий.

3Стратегии конструирования ПО • однократный проход  (водопадная стратегия) – линейная  последовательность этапов конструирования с


Слайд 4

4Характеристики стратегий конструирования ПО
(в соответствии с требованиями стандарта IEEE

/ EIA 12207.2)
Таблица 1.1
Стратегия
конструирования В начале
процесса
определены все

требования? Множество
циклов
конструирования?
Промежуточное
ПО
распространяется?
Однократный
проход Да

Нет Нет
Инкрементная
Да Да Может быть
Эволюционная Нет Да Да

4Характеристики стратегий конструирования ПО  (в соответствии с требованиями стандарта IEEE / EIA 12207.2) Таблица 1.1 Стратегия


Слайд 6

6Классический жизненный цикл
Рисунок 1.1 – Классический жизненный цикл разработки ПО

6Классический жизненный цикл Рисунок 1.1 – Классический жизненный цикл разработки ПО


Слайд 7

7Макетирование
Рисунок 1.2 – Макетирование

7Макетирование Рисунок 1.2 –  Макетирование


Слайд 8

8Инкрементная модель
Рисунок 1.3 – Инкрементная модель

8Инкрементная модель Рисунок 1.3 –  Инкрементная модель


Слайд 9

9Быстрая разработка приложений
( RAD — Rapid Application Development )
Рисунок

1.4 – Модель быстрой разработки приложений

9Быстрая разработка приложений  ( RAD - Rapid Application Development ) Рисунок 1.4 –  Модель быстрой


Слайд 10

10Спиральная модель
Рисунок 1.5 – Спиральная модель, где:
1 –

начальный сбор требований и планирование проекта; 2 – та

же работа, но на основе
рекомендаций заказчика; 3 – анализ

риска на основе начальный требований;
4 – анализ риска на основе реакции заказчика; 5 – переход к комплексной системе;
6 – начальный макет системы; 7 – следующий уровень макета;
8 – сконструированная система; 9 – оценивание заказчиком.

10Спиральная модель Рисунок 1.5 –  Спиральная модель, где:  1 – начальный сбор требований и планирование


Слайд 11

11Компонентно-ориентированная модель
Рисунок 1.6 – Компонентно-ориентированная модель

11Компонентно-ориентированная модель Рисунок 1.6 – Компонентно-ориентированная модель


Слайд 12

12ХР-процесс
Экстремальное программирование
Рисунок 1.7 – XP- процесс

12ХР-процесс Экстремальное программирование Рисунок 1.7 –  XP- процесс


Слайд 13

13Модели качества процессов конструирования
Уровень 5. Оптимизирующий
Планомерное улучшение и повышение

качества
процесса
Уровень 4. Управляемый
Количественное управление процессом, его
качеством
Уровень 3.

Определенный
Процесс полностью определен и организован на
основе единого стандарта компании
Уровень

2. Повторяемый
Процесс планируется и отслеживается
Уровень 1. Начальный
Самоорганизующийся хаос. Процесс
осуществляется случайным образом
Рисунок 2.1 – Пять уровней зрелости модели СММ

13Модели качества процессов конструирования  Уровень 5. Оптимизирующий Планомерное улучшение и повышение качества  процесса Уровень 4.


Слайд 14

14Процесс руководства проектом
Рисунок 3.1 – Руководство в процессе

конструирования ПО Время

14Процесс руководства проектом  Рисунок 3.1 –  Руководство в процессе конструирования ПО Время


Слайд 15

15Работы, выполняемые в процессе руководства
проектом

Начало проекта

Измерения, меры и метрики

Процесс

оценки

Анализ риска

Планирование

Трассировка и контроль

15Работы, выполняемые в процессе руководства  проектом  Начало проекта  Измерения, меры и метрики  Процесс


Слайд 16

16Планирование проектных задач
WBS – Work Breakdown Structure (структуры распределения работ)
Рисунок

4.1 – Типовая структура распределения проектных работ

16Планирование проектных задач WBS – Work Breakdown Structure (структуры распределения работ) Рисунок 4.1 – Типовая структура распределения


Слайд 17

17Правило распределения затрат проекта

на анализ и проектирование приходится 40%
затрат

(из них на планирование и системный
анализ – 5%);

на

кодирование – 20%;

на тестирование и отладку – 40%. Рекомендуемое правило

распределения
затрат проекта – 40-20-40:

17Правило распределения затрат проекта • на анализ и проектирование приходится 40%  затрат (из них на планирование


Чтобы скачать презентацию — поделитесь ей с друзьями с помощью
социальных кнопок.

Слайд 1


Лекция 1. Руководство программным 
проектом
Учебные вопросы:
1. Организация процесса конструирования.
2. Модели качества процессов конструирования.
3. Процесс руководства проектом. 
4. Планирование проектных задач.
Литература: [6], [10].

Описание слайда:

Лекция 1. Руководство программным
проектом
Учебные вопросы:

1. Организация процесса конструирования.
2. Модели качества процессов конструирования.
3. Процесс руководства проектом.
4. Планирование проектных задач.

Литература: [6], [10].


Слайд 2


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

Описание слайда:

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


Слайд 3


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

Описание слайда:

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


Слайд 4


Характеристики стратегий конструирования ПО 
(в соответствии с требованиями стандарта IEEE/EIA 12207.2)
Таблица 1.1

Описание слайда:

Характеристики стратегий конструирования ПО
(в соответствии с требованиями стандарта IEEE/EIA 12207.2)
Таблица 1.1


Слайд 5

 Руководство программным проектом , слайд №5


Слайд 6


Классический жизненный цикл

Описание слайда:

Классический жизненный цикл


Слайд 7


Макетирование

Описание слайда:

Макетирование


Слайд 8


Инкрементная модель

Описание слайда:

Инкрементная модель


Слайд 9


Быстрая разработка приложений 
(RAD - Rapid Application Development)

Описание слайда:

Быстрая разработка приложений
(RAD — Rapid Application Development)


Слайд 10


Спиральная модель

Описание слайда:

Спиральная модель


Слайд 11


Компонентно-ориентированная модель

Описание слайда:

Компонентно-ориентированная модель


Слайд 12


ХР-процесс
Экстремальное программирование

Описание слайда:

ХР-процесс
Экстремальное программирование


Слайд 13


Модели качества процессов конструирования

Описание слайда:

Модели качества процессов конструирования


Слайд 14


Процесс руководства проектом

Описание слайда:

Процесс руководства проектом


Слайд 15


Работы, выполняемые в процессе руководства проектом
Начало проекта
Измерения, меры и метрики
Процесс оценки
Анализ риска
Планирование
Трассировка и контроль

Описание слайда:

Работы, выполняемые в процессе руководства проектом
Начало проекта
Измерения, меры и метрики
Процесс оценки
Анализ риска
Планирование
Трассировка и контроль


Слайд 16


Планирование проектных задач
WBS – Work Breakdown Structure (структуры распределения работ)

Описание слайда:

Планирование проектных задач
WBS – Work Breakdown Structure (структуры распределения работ)


Слайд 17


Правило распределения затрат проекта
на анализ и проектирование приходится 40% затрат (из них на планирование и системный анализ – 5%);
на кодирование – 20%;
на тестирование и отладку – 40%.

Описание слайда:

Правило распределения затрат проекта
на анализ и проектирование приходится 40% затрат (из них на планирование и системный анализ – 5%);
на кодирование – 20%;
на тестирование и отладку – 40%.


Презентация на тему «Управление проектами программными средствами»

  • Скачать презентацию (0.91 Мб)


  • 125 загрузок

  • 0.0 оценка

Ваша оценка презентации

Оцените презентацию по шкале от 1 до 5 баллов

  • 1
  • 2
  • 3
  • 4
  • 5

Комментарии

Добавить свой комментарий

Аннотация к презентации

Презентация powerpoint на тему «Управление проектами программными средствами». Содержит 14 слайдов. Скачать файл 0.91 Мб. Самая большая база качественных презентаций. Смотрите онлайн с анимацией или скачивайте на компьютер.

  • Формат

    pptx (powerpoint)

  • Количество слайдов

    14

  • Слова

  • Конспект

    Отсутствует

Содержание

  • Презентация: Управление проектами программными средствами

    Слайд 1

    Управление проектами программными средствами

    Стяжкин Станислав
    ПИ-41

  • Слайд 2

    Программное обеспечение для управления проектами — определение для комплексного программного обеспечения, включающее в себя приложения для планирования задач, составления расписания, контроля цены и управления бюджетом, распределения ресурсов, совместной работы, общения, быстрого управления, документирования и администрирования системы, которое используются совместно для управления крупными проектами.

  • Слайд 3

    Задачи программного обеспечения для управления проектами

  • Слайд 4

    Планирование

    планирование различных событий, зависящих друг от друга;
    планирование расписания работы сотрудников и управление ресурсами;
    расчет времени, необходимого на решение каждой из задач;
    сортировка задач в зависимости от сроков их завершения;
    управление нескольким проектами одновременно.

  • Слайд 5

    Расчёт критического пути

    Суть решения задачи сокращения сетевого графика сводится к привлечению дополнительных ресурсов к выполнению работ, лежащих на критическом пути, снятием работ, не лежащих на критическом пути, запараллеливанием работ.

  • Слайд 6

    Управление данными и предоставление информации

    список задач для сотрудников и информацию распределения ресурсов;
    обзор информации о сроках выполнения задач;
    ранние предупреждения о возможных рисках, связанных с проектом;
    информации о рабочей нагрузке;
    информация о ходе проекта, показатели и их прогнозирование.

  • Слайд 7

    Типы программного обеспечения для управления проектами

  • Слайд 8

    Настольные

    Cerebro — многопользовательское ПО для управление медиа проектами
    GanttProject
    KPlato — приложение для управления проектами под ОСLinux
    Microsoft Project
    OpenProj
    Open Workbench
    TaskJuggler

  • Слайд 9

    Веб-приложения

    Basecamp — онлайн-инструмент для управления проектами
    Bontq
    EasyProjects .NET — многофунциональная (Enterprise) система управления проектами
    Kommandcore — веб-сервис для командного управления проектами
    ProjectKaiser — система управления проектами
    TeamLab — платформа для организации совместной работы и общения

  • Слайд 10

    Плюсы и минусы

    Доступ может быть осуществлен с любого компьютера, не требуется установка дополнительных приложений
    Простой контроль доступа
    Многопользовательность
    Только одна программа, которая установлена на центральном сервере
    Скорость работы ниже, чем у обычных приложений
    Проблемы с доступом к серверу или его выход из строя ведут к полной недоступности информации

  • Слайд 11

    Персональные

    Обычно используются для управлениями домашними проектами. Как правило, это однопользовательские системы с простым интерфейсом.

  • Слайд 12

    Однопользовательские

    Однопользовательские системы могут использоваться в качестве персональных или для управления небольшими компаниями.

  • Слайд 13

    Многопользовательские

    Easy Projects .NET
    OpenProj
    ProjectMate
    Project Kaiser
    Redmine
    Trac
    TeamLab

  • Слайд 14

    Спасибо за внимание

Посмотреть все слайды

Сообщить об ошибке

Похожие презентации

Презентация: Управление контентом веб-узла

Презентация: Качество программного обеспечения

Презентация: Управление проектами

Презентация: Microsoft projectв управлении проектами.

Презентация: Все об управлении проектами

Презентация: Планирование проекта

Презентация: Востриков Александр Владимирович avostrikov@hse.rusanchs@inbox.ruк.т.н., стар. преп. департамента компьютерной инженерии

Презентация: ОПЕРАЦИОННЫЙ МЕНЕДЖМЕНТ

Презентация: Управление качеством проекта

Спасибо, что оценили презентацию.

Мы будем благодарны если вы поможете сделать сайт лучше и оставите отзыв или предложение по улучшению.

Добавить отзыв о сайте

Презентация: Руководство программным проектом

Содержание

1. Введение

2. Руководство программным проектом

3. Планирование проектных задач

4. Конструктивная модель стоимости

5. Заключение

6. Список литературы

Введение

Руководство программным проектом — первый слой процесса конструирования ПО. Термин «слой» подчеркивает, что руководство определяет сущность процесса разработки от его начала до конца. Принцип руководства иллюстрирует рис. 2.1.

Рис. 2.1. Руководство в процессе конструирования ПО

На этом рисунке прямоугольник обозначает процесс конструирования, в нем выделены этапы, а вверху, над каждым из этапов, размещен слой деятельности «руководство программным проектом».

Для проведения успешного проекта нужно понять объем предстоящих работ, возможный риск, требуемые ресурсы, предстоящие задачи, прокладываемые вехи, необходимые усилия (стоимость), план работ, которому желательно следовать. Руководство программным проектом обеспечивает такое понимание. Оно начинается перед технической работой, продолжается по мере развития ПО от идеи к реальности и достигает наивысшего уровня к концу работ [32], [64], [69].

2. Руководство программным проектом

Начало проекта

Перед планированием проекта следует:

· установить цели и проблемную область проекта;

· обсудить альтернативные решения;

· выявить технические и управленческие ограничения.

Измерения, меры и метрики

Измерения помогают понять как процесс разработки продукта, так и сам продукт. Измерения процесса производятся в целях его улучшения, измерения продукта — для повышения его качества. В результате измерения определяется мера — количественная характеристика какого-либо свойства объекта. Путем непосредственных измерений могут определяться только опорные свойства объекта. Все остальные свойства оцениваются в результате вычисления тех или иных функций от значений опорных характеристик. Вычисления этих функций проводятся по формулам, дающим числовые значения и называемым метриками.

В IEEE Standard Glossary of Software Engineering Terms метрика определена как мера степени обладания свойством, имеющая числовое значение. В программной инженерии понятия мера и метрика очень часто рассматривают как синонимы.

Процесс оценки

При планировании программного проекта надо оценить людские ресурсы (в человеко-месяцах), продолжительность (в календарных датах), стоимость (в тысячах долларов). Обычно исходят из прошлого опыта. Если новый проект по размеру и функциям похож на предыдущий проект, вполне вероятно, что потребуются такие же ресурсы, время и деньги.

Анализ риска

На этой стадии исследуется область неопределенности, имеющаяся в наличии перед созданием программного продукта. Анализируется ее влияние на проект. Нет ли скрытых от внимания трудных технических проблем? Не станут ли изменения, проявившиеся в ходе проектирования, причиной недопустимого отставания по срокам? В результате принимается решение — выполнять проект или нет.

Планирование

Определяется набор проектных задач. Устанавливаются связи между задачами, оценивается сложность каждой задачи. Определяются людские и другие ресурсы. Создается сетевой график задач, проводится его временная разметка.

Трассировка и контроль

Каждая задача, помеченная в плане, отслеживается руководителем проекта. При отставании в решении задачи применяются утилиты повторного планирования. С помощью утилит определяется влияние этого отставания на промежуточную веху и общее время конструирования. Под вехой понимается временная метка, к которой привязано подведение промежуточных итогов.

В результате повторного планирования:

· могут быть перераспределены ресурсы;

· могут быть реорганизованы задачи;

· могут быть пересмотрены выходные обязательства.

3. Планирование проектных задач

Основной задачей при планировании является определение WBS — Work Breakdown Structure (структуры распределения работ). Она составляется с помощью утилиты планирования проекта. Типовая WBS приведена на рис. 2.2.

Первыми выполняемыми задачами являются системный анализ и анализ требований. Они закладывают фундамент для последующих параллельных задач.

Системный анализ проводится с целью:

1. выяснения потребностей заказчика;

2. оценки выполнимости системы;

3. выполнения экономического и технического анализа;

4. распределения функций по элементам компьютерной системы (аппаратуре, программам, людям, базам данных и т. д.);

5. определения стоимости и ограничений планирования;

6. создания системной спецификации.

В системной спецификации описываются функции, характеристики системы, ограничения разработки, входная и выходная информация.

Анализ требований дает возможность:

1. определить функции и характеристики Программного продукта;

2. обозначить интерфейс продукта с другими системными элементами;

3. определить проектные ограничения программного продукта;

4. построить модели: процесса, данных, режимов функционирования продукта;

5. создать такие формы представления информации и функций системы, которые можно использовать в ходе проектирования.

Рис. 2.2. Типовая структура распределения проектных работ

Результаты анализа сводятся в спецификацию требований к программному продукту.

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

Ромбиками на рис. 2.2 обозначены вехи — процедуры контроля промежуточных результатов. Очень важно, чтобы вехи были расставлены через регулярные интервалы (вдоль всего процесса разработки ПО). Это даст руководителю возможность регулярно получать информацию о текущем положении дел. Вехи распространяются и на документацию как на один из результатов успешного решения задачи.

Параллельность действий повышает требования к планированию. Так как параллельные задачи выполняются асинхронно, планировщик должен определить межзадачные зависимости. Это гарантирует «непрерывность движения к объединению». Кроме того, руководитель проекта должен знать задачи, лежащие на критическом пути. Для того чтобы весь проект был выполнен в срок, необходимо выполнять в срок все критические задачи.

Основной рычаг в планирующих методах — вычисление границ времени выполнения задачи.

Обычно используют следующие оценки:

1. Раннее время начала решения задачи Tinmin (при условии, что все предыдущие задачи решены в кратчайшее время).

2. Позднее время начала решения задачи Tinmax (еще не вызывает общую задержку проекта).

3. Раннее время конца решения задачи Toutmin

Toutmin = Tinmin + Tреш

4. Позднее время конца решения задачи Toutmax

Toutmax = Tinmax + Tреш.

5. Общий резерв — количество избытков и потерь планирования задач во времени, не приводящих к увеличению длительности критического пути Tк.п.

Все эти значения позволяют руководителю (планировщику) количественно оценить успех в планировании, выполнении задач.

Рекомендуемое правило распределения затрат проекта — 40-20-40:

· на анализ и проектирование приходится 40% затрат (из них на планирование и системный анализ — 5%);

· на кодирование — 20%;

· на тестирование и отладку — 40%.

Выполнение в ходе руководства проектом

Процесс руководства программным проектом начинается с множества действий, объединяемых общим названием планирование проекта. Первое из этих действий — выполнение оценки. Оно закладывает фундамент для других действий по планированию проекта. При оценке проекта чрезвычайно высока цена ошибок. Очень важно провести оценку с минимальным риском.

Выполнение оценки проекта на основе LOC- и FP-метрик

Цель этой деятельности — сформировать предварительные оценки, которые позволят:

· предъявить заказчику корректные требования по стоимости и затратам на разработку программного продукта;

· составить план программного проекта.

При выполнении оценки возможны два варианта использования LOC- и FP-данных:

· в качестве оценочных переменных, определяющих размер каждого элемента продукта;

· в качестве метрик, собранных за прошлые проекты и входящих в метрический базис фирмы.

Обсудим шаги процесса оценки.

· Шаг 1. Область назначения проектируемого продукта разбивается на ряд функций, каждую из которых можно оценить индивидуально:

f1 ,f2, …,fn.

· Шаг 2. Для каждой функции f1 планировщик формирует лучшую LОСлучшi (FРлучшi ), худшую LOСХУДШi (FРХУДШi ) и вероятную оценку LOСвероятнi (FРвероятнi ). Используются опытные данные (из метрического базиса) или интуиция. Диапазон значения оценок соответствует степени предусмотренной неопределенности.

· Шаг 3. Для каждой функции fi в соответствии с β-распределением вычисляется ожидаемое значение LOC- (или FP-) оценки:

LOCожi = LOCлучшi + LOCхудшi + 4 x LOCвероятнi ) / 6.

· Шаг 4. Определяется значение LOC- или FP-производительности разработки функции.

Используется один из трех подходов:

1. для всех функций принимается одна и та же метрика средней производительности ПРОИЗВср, взятая из метрического базиса;

2. для i-й функции на основе метрики средней производительности вычисляется настраиваемая величина производительности:

ПРОИЗВi = ПРОИЗВср х (LOСср / LOСожi ),

где LOCcp — средняя LOC-оценка, взятая из метрического базиса (соответствует средней производительности);

4. Конструктивная модель стоимости

В данной модели для вывода формул использовался статистический подход — учитывались реальные результаты огромного количества проектов. Автор оригинальной модели — Барри Боэм (1981) — дал ей название СОСОМО 81 (Constructive Cost Model) и ввел в ее состав три разные по сложности статистические подмодели [1].

Иерархию подмоделей Боэма (версии 1981 года) образуют:

· базисная СОСОМО — статическая модель, вычисляет затраты разработки и ее стоимость как функцию размера программы;

· промежуточная СОСОМО — дополнительно учитывает атрибуты стоимости, включающие основные оценки продукта, аппаратуры, персонала и проектной среды;

· усовершенствованная СОСОМО — объединяет все характеристики промежуточной модели, дополнительно учитывает влияние всех атрибутов стоимости на каждый этап процесса разработки ПО (анализ, проектирование, кодирование, тестирование и т. д.).

Подмодели СОСОМО 81 могут применяться к трем типам программных проектов. По терминологии Боэма, их образуют:

· распространенный тип — небольшие программные проекты, над которыми работает небольшая группа разработчиков с хорошим стажем работы, устанавливаются мягкие требования к проекту;

· полунезависимый тип — средний по размеру проект, выполняется группой разработчиков с разным опытом, устанавливаются как мягкие, так и жесткие требования к проекту;

· встроенный тип — программный проект разрабатывается в условиях жестких аппаратных, программных и вычислительных ограничений.

Уравнения базовой подмодели имеют вид

Е = ab x (KLOCbb [чел-мес];

D = cb x (E)db [Mec],

где Е- затраты в человеко-месяцах, D — время разработки, KLOC — количество строк в программном продукте.

Заключение

СОСОМО II — авторитетная и многоплановая модель, позволяющая решать самые разнообразные задачи управления программным проектом.

Рассмотрим возможности этой модели в задачах анализа чувствительности — чувствительности программного проекта к изменению условий разработки.

Будем считать, что корпорация «СверхМобильныеСвязи» заказала разработку ПО для встроенной космической системы обработки сообщений. Ожидаемый размер ПО — 10 KLOC, используется серийный микропроцессор. Примем, что масштабные факторы имеют номинальные значения (показатель степени В = 1,16) и что автоматическая генерация кода не предусматривается. К проведению разработки привлекаются главный аналитик и главный программист высокой квалификации, поэтому средняя зарплата в команде составит $ 6000 в месяц. Команда имеет годовой опыт работы с этой проблемной областью и полгода работает с нужной аппаратной платформой.

В терминах СОСОМО II проблемную область (область применения продукта) классифицируют как «операции с приборами» со следующим описанием: встроенная система для высокоскоростного мультиприоритетного обслуживания удаленных линий связи, обеспечивающая возможности диагностики.

Оценку пост-архитектурных факторов затрат для проекта сведем в табл. 2.27.

Из таблицы следует, что увеличение затрат в 1,3 раза из-за очень высокой сложности продукта уравновешивается их уменьшением вследствие высокой квалификации аналитика и программиста, а также активного использования программных утилит.

Список литературы

1. Боэм Б. У. Инженерное проектирование программного обеспечения. М.: Радио и связь, 1985. 511 с.

2. Липаев В. В. Отладка сложных программ: Методы, средства, технология. М.: Энергоатомиздат, 1993. 384 с.

3. Майерс Г. Искусство тестирования программ. М.: Финансы и статистика, 1982. 176с.

4. Орлов С. А. Принципы объектно-ориентированного и параллельного программирования на языке Ada 95. Рига: TSI, 2001. 327 с.

5. Чеппел Д. Технологии ActiveX и OLE. M.: Русская редакция, 1997. 320 с.

6. Abreu, F. В., Esteves, R., Goulao, M. The Design of Eiffel Programs: Quantitative Evaluation Using the MOOD metrics. Proceedings of the TOOLS’96. Santa Barbara, California 20 pp. July 1996.

Управление программным проектом;

Оценка проекта.

РУКОВОДСТВО ПРОГРАММНЫМ ПРОЕКТОМ

Руководство программным проектом — первый слой процесса конструирования ПО. Руководство определяет сущность процесса разработки.

В начале проекта необходимо определить объем предстоящих работ, возможный риск, требуемые ресурсы, предстоящие задачи, прокладываемые вехи, необходимые усилия (стоимость), план работ, которому желательно следовать. Руководство программным проектом призвано обеспечивает такое понимание.

Начало проекта

На начальной стадии проекта необходимо оценить всевозможные затраты и риски, чтобы составить план проекта.

Для этого до планирования в ходе анализа необходимо выполнить следующее:

установить цели и проблемную область проекта; обсудить альтернативные решения; выявить технические и управленческие ограничения.

Эти моменты регулирует дисциплина «управление требованиями». ( Леффингуэл, Холл).

В начале проекта также необходимо выполнить:

Определение методов измерения, мер и метрик; Оценка показателей проекта; Анализ рисков; Планирование;

Трассировка и контроль.

Планирование проектных задач:

Основной задачей при планировании является определение WBS — Work Breakdown Structure (структуры распределения работ). Она составляется с помощью утилиты планирования проекта. Основной рычаг в планирующих методах — вычисление границ времени выполнения задачи. Распределение времени на проект 40 – 20 -40.

Метрики оценки программ:

Размерно-ориентированные метрики прямо измеряют программный продукт и процесс его разработки. Основываются размерно-ориентированные метрики на LOC- оценках (Lines Of Code). LOC-оценка — это количество строк в программном продукте.

Функционально-ориентированные метрики косвенно измеряют программный продукт и процесс его разработки. Вместо подсчета LOC-оценки при этом рассматривается не размер, а функциональность или полезность продукта.

Шаги процесса оценки:

1.Область назначения проектируемого продукта разбивается на ряд функций, каждую из которых можно оценить индивидуально.

2.Для каждой функции планировщик формирует лучшую, худшую и вероятную оценку. Используются опытные данные (из метрического базиса) или интуиция. Диапазон значения оценок соответствует степени предусмотренной неопределенности.

3.Для каждой функции в соответствии с распределением вычисляется ожидаемое значение LOC- или FP-) оценки:

4.Определяется значение LOC- или FP-производительности разработки функции.

5.Вычисляется общая оценка затрат на проект

6.Вычисляется общая оценка стоимости проекта

Функционально-ориентированные метрики:

1.Количество внешних вводов. Подсчитываются все вводы пользователя, по которым поступают разные прикладные данные. Вводы должны быть отделены от запросов, которые подсчитываются отдельно.

2.Количество внешних выводов. Подсчитываются все выводы, по которым к пользователю поступают результаты, вычисленные программным приложением. В этом контексте выводы означают отчеты, экраны, распечатки, сообщения об ошибках. Индивидуальные единицы данных внутри отчета отдельно не подсчитываются.

3.Количество внешних запросов. Под запросом понимается диалоговый ввод, который приводит к немедленному программному ответу в форме диалогового вывода. При этом диалоговый ввод в приложении не сохраняется, а диалоговый вывод не требует выполнения вычислений. Подсчитываются все запросы — каждый учитывается отдельно.

4.Количество внутренних логических файлов. Подсчитываются все логические файлы (то есть логические группы данных, которые могут быть частью базы данных или отдельным файлом).

5.Количество внешних интерфейсных файлов. Подсчитываются все логические файлы из других приложений, на которые ссылается данное приложение.

Выполнение оценки проекта на основе LOC- и FP-метрик

Цель— сформировать предварительные оценки, которые позволят:

предъявить заказчику корректные требования по стоимости и затратам на разработку программного продукта;

составить план программного проекта.

При выполнении оценки возможны два варианта использования LOC- и FP-данных:

в качестве оценочных переменных, определяющих размер каждого элемента продукта;

в качестве метрик, собранных за прошлые проекты и входящих в метрический базис фирмы.

Шаги процесса оценки:

Шаг 1. Область назначения проектируемого продукта разбивается на ряд функций, каждую из которых можно оценить индивидуально: f1, f2,…,fn.

Шаг 2. Для каждой функции fi, планировщик формирует лучшую LOCлучшi (FРлучшi), худшую LOCхудшi (FРхудшi) и вероятную оценку LOCвероятнi (FРвероятнi). Используются опытные данные (из метрического базиса) или интуиция.

Диапазон значения оценок соответствует степени предусмотренной неопределенности.

Шаг 3. Для каждой функции в соответствии с -распределением вычисляется ожидаемое значение LOC- (FP-) оценки:

LOCожi =(LOCлучшi + LOCхудшi +4x LOCвероятнi )/ 6.

Шаг 4. Определяется значение LOC- или FP-производительности разработки функции.

Соседние файлы в папке Лекции

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Понравилась статья? Поделить с друзьями:
  • Стиральная машина хотпоинт аристон rst 601 w инструкция
  • Телевизор филипс 32 phs4012 12 инструкция
  • Уфсб россии по саратовской области официальный сайт руководство
  • Тренажер gambit 2in1 nordic stepper инструкция по применению
  • Jaguar model 171 швейная машинка инструкция