Экономика программной инженерии

advertisement
Правительство Российской Федерации
Федеральное государственное автономное образовательное
учреждение высшего профессионального образования
Национальный Исследовательский Университет
«Высшая школа экономики»
Факультет Бизнес Информатика
Отделение Программная Инженерия
Программа дисциплины
«Экономика программной инженерии»
для направления 231000.68 - «Программная инженерия»
подготовки магистра
Магистерская программа: «Управление разработкой программного обеспечения»
Автор программы
В.В. Буров
vburov@hse.ru
Рекомендована секцией УМС
по бизнес-информатике
Председатель Ю.В. Таратухина
________________________________
«_____» __________________ 2011 г.
Одобрена на заседании кафедры
Управление разработкой
программного обеспечения
Зав. кафедрой С.М. Авдошин
_________________________________
«____»_____________________ 2011 г.
Утверждена Ученым Советом
НИУ ВШЭ
Ученый секретарь Н.Ю. Савельева
________________________________
«_____» __________________ 2011 г.
Москва, 2011
I.
Пояснительная записка
Автор программы:
В.В. Буров
Общие сведения об учебном курсе:
дисциплина читается студентам магистерской программы «Управление разработкой
программного обеспечения» на отделении программной инженерии факультета
бизнес-информатики НИУ-ВШЭ. Она входит в вариативную часть профессионального
цикла, определяющего магистерскую программу, и читается в первом семестре
второго учебного года [1, 2], код дисциплины в учебном плане М2.В.ДВ.5.1.
Количество кредитов – 4. Продолжительность курса составляет 144 часа, в том числе
18 часов лекционных занятий, 30 часов практических занятий и 96 часов
самостоятельной работы.
Текущий контроль: домашнее задание;
Итоговый контроль: экзамен в конце семестра.
Требования к студентам:
освоение курса предполагает предварительное знакомство студентов с содержанием
учебных дисциплин: «Методология программной инженерии», а также базовых знаний
экономики и математики.
Цель курса:
дать систематизированное представление об экономике программной инженерии,
современных подходах к стоимостной оценке разработки программного обеспечения,
методах ее проведения, моделях трудоемкости разработки.
Аннотация:
Данный курс ориентирован на проведение оценки трудоемкости и стоимости
разработки программных продуктов на основании методик, являющихся стандартами
де факто в промышленной разработке программных систем. Специфика данного курса
заключается в том, что учебный материал излагается на основе передовых практик,
применяемых ведущими отечественными и зарубежными компаниями.
Учебные задачи курса:
В результате изучения дисциплины студенты должны:
знать:
-
основные понятия экономики программной инженерии;
метрики разработки программного обеспечения;
принципы алгоритмического моделирования трудоемкости разработки
программных продуктов;
основные методы алгоритмической оценки трудоемкости разработки;
методы экспертной оценки трудоемкости разработки;
особенности применения различных методов оценки на разных фазах
разработки.
уметь:
2
-
планировать процесс оценки трудоемкости и стоимости разработки, выбирать
оптимальные методы оценки;
применять алгоритмические методы стоимостной оценки разработки
программного обеспечения;
осуществлять экспертную оценку трудоемкости разработки программного
обеспечения.
владеть:
-
методами оценки трудоемкости разработки Functional Point, Early Functional
Point,Use Case Point, Wideband Delphi;
навыками проведения оценки трудоемкости и стоимости разработки
программного обеспечения.
а также
-
иметь представление о современной практике проведения оценки разработки
при проведении оценивания для различных целей и на различных фазах
процесса разработки.
Прохождение учебного курса должно способствовать формированию у студентов
магистратуры следующих профессиональных компетенций [3]:
1. Научно-исследовательская деятельность

умение отбирать и разрабатывать методы исследования объектов
профессиональной деятельности на основе общих тенденций развития
программной инженерии (ПК-1);

умение проводить анализ, синтез, оптимизацию решений с целью
обеспечения качества объектов профессиональной деятельности (ПК-2);
2. Сервисно - эксплуатационная деятельность

умение осуществлять выбор технической и экономической моделей
эволюции и сопровождения программного обеспечения (ПК-17).
II.
№
Тематический план учебной дисциплины
Название темы
Всего часов по
дисциплине
Аудиторные часы
Практические
Лекции
занятия
Самостоятельная
работа
Первый модуль (24 часа)
1
Введение в экономику
программной инженерии
6
1
2
3
2
Метрики разработки
программного обеспечения
14
1
2
11
3
Принципы стоимостной
оценки разработки
программного обеспечения
16
2
4
10
4
Влияние зрелости процессов
разработки программного
обеспечения на экономику
разработки программного
обеспечения
10
2
2
6
3
5
Алгоритмические модели
оценки стоимости разработки
программного обеспечения
28
2
6
20
Итого первый модуль:
74
8
16
50
Второй модуль (24 часа)
4
7
8
9
10
Использование экспертных
оценок стоимости разработки
программного обеспечения
12
2
2
8
16
2
4
10
14
2
2
10
14
2
2
10
Особенности практической
оценки трудоемкости
разработки ПО
14
2
4
8
Итого второй модуль
70
10
14
46
144
18
30
96
Модели оценки
трудоемкости разработки
программного обеспечения
на основе функциональных
точек
Оценка экономических
параметров разработки
программного обеспечения
на основе модели
COCOMO II
Подходы к оценке
трудоемкости разработки
программного обеспечения
на ранних стадиях
Итого:
III.
Базовый учебник (и) или ридер (ы)
Основная литература:
 Брукс Ф. Мифический человеко-месяц или как создаются программные системы:
Пер. с англ. – СПб.: Символ-Плюс, 2006. -360 с.
 Вендров А.М. Проектирование программного обеспечения информационных
систем. – М.: Финансы и статистика, 2006. -544 с.
 Фатрелл Р.Т., Шафер Д.Ф., Шафер Л.И. Управление программными проектами.
Достижение оптимального качества при минимуме затрат. М.: Издательский дом
“Вильямс”, 2004. – 1125 с. (5 экз.)
 Липаев В.В. Экономика производства сложных программных продуктов. – М.:
Синтег, 2008. 432 с.
Дополнительная литература:
 Благодатских В.А. и др. Экономика, разработка и использование программного
обеспечения ЭВМ. – М.: Финансы и статистика, 1995. -286с.
 Боэм Б. Инженерное проектирование программного обеспечения: Пер. с англ. – М.:
Мир, 1985. -328 с.
 Ройс У. Управление проектами по созданию программного обеспечения: Пер. с
англ. – М.: ЛОРИ, 2002. -424 с.
4
Публикации в Интернет:
 COCOMO II Model http://sunset.usc.edu/csse/research/COCOMOII/cocomo_main.html
 Mike Cohn. Estimating With Use Case Points
http://www.methodsandtools.com/archive/archive.php?id=25
 International Functions Point User Group http://www.ifpug.org/
 Early Function Point Counting http://www.nesma.nl/english/earlyfpa.htm
 The Delphi Process http://www.stellman-greene.com/ch03
IV.
Необходимое оборудование и программное обеспечение
Практические занятия проводятся в компьютерном классе с выходом в Интернет и
доступом к ресурсам электронной библиотеки НИУ ВШЭ. Каждый студент должен иметь
рабочее место.
Необходимое программное обеспечение:
1. Microsoft Office Professional 2007-2010
V.
Формы контроля
- текущий контроль:
контроль знаний студентов на семинарских занятиях, правильности выполнения заданий
(домашняя работа);
- итоговый контроль: экзамен в конце семестра;
Итоговая оценка К по 10-балльной шкале формируется как взвешенная сумма:
K = 0,5 Др + 0,5 Э,
где Др и Э – 10-балльные оценки за домашнюю работу и экзамен соответственно с
округлением до целого числа баллов. При округлении учитывается работа студента на
семинарах. Перевод в пятибалльную оценку осуществляется в соответствии со следующей
таблицей.
Таблица соответствия оценок по десятибалльной и пятибалльной системам
По десятибалльной шкале
1 – неудовлетворительно
2 – очень плохо
3 – плохо
4 – удовлетворительно
5 – весьма удовлетворительно
6 – хорошо
7 – очень хорошо
8 – почти отлично
9 – отлично
10 – блестяще
VI.
По пятибалльной шкале
неудовлетворительно – 2
удовлетворительно – 3
хорошо – 4
отлично – 5
Содержание программы
♦ Тема 1: Введение в экономику программной инженерии
♦ Содержание темы:
5
 Понятие экономики разработки программного обеспечения
 Экономическая эффективность программного продукта
 Факторы, влияющие на стоимость разработки программного обеспечения
 Эволюция экономики программирования
♦ Основная литература
 Брукс Ф. Мифический человеко-месяц или как создаются программные
системы: Пер. с англ. – СПб.: Символ-Плюс, 2006. -360 с.
 Р.Т. Фатрелл, Д.Ф. Шафер, Л.И. Шафер. Управление программными проектами.
Достижение оптимального качества при минимуме затрат. М.: Издательский
дом “Вильямс”, 2004. – 1125 с.
 Липаев В.В. Экономика производства сложных программных продуктов. – М.:
Синтег, 2008. 432 с.
♦ Дополнительная литература
 Ройс У. Управление проектами по созданию программного обеспечения: Пер. с
англ. – М.: ЛОРИ, 2002. -424 с.
 Благодатских В.А. и др. Экономика, разработка и использование программного
обеспечения ЭВМ. – М.: Финансы и статистика, 1995. -286 с.
♦ Тема 2: Метрики разработки программного обеспечения и принципы
стоимостной оценки
♦ Содержание темы:
 Понятие метрики при разработке программного обеспечения, классификация
метрик
 Метрики процесса, метрики проекта, метрики продукта
 Измерение размера программного обеспечения
♦ Основная литература
 Брукс Ф. Мифический человеко-месяц или как создаются программные
системы: Пер. с англ. – СПб.: Символ-Плюс, 2006. -360 с.
 Липаев В.В. Экономика производства сложных программных продуктов. – М.:
Синтег, 2008. 432 с.
 Р.Т. Фатрелл, Д.Ф. Шафер, Л.И. Шафер. Управление программными
проектами. Достижение оптимального качества при минимуме затрат.
М.: Издательский дом “Вильямс”, 2004. – 1125 с.
 Вендров А.М. Проектирование программного обеспечения
информационных систем. – М.: Финансы и статистика, 2006. -544 с.
♦ Дополнительная литература
 Благодатских В.А. и др. Экономика, разработка и использование программного
обеспечения ЭВМ. – М.: Финансы и статистика, 1995. -286 с.
 Боэм Б. Инженерное проектирование программного обеспечения: Пер. с англ. –
М.: Мир, 1985. -328 с.
♦ Тема 3: Принципы стоимостной оценки разработки программного
обеспечения
♦ Содержание темы:
 Связь трудоемкости и стоимости разработки программного обеспечения
6


Проектный подход к оценке стоимости разработки программного обеспечения
Обзор основных принципов оценивания стоимости разработки программного
обеспечения
♦ Основная литература
 Липаев В.В. Экономика производства сложных программных продуктов. – М.:
Синтег, 2008. 432 с.
 Р.Т. Фатрелл, Д.Ф. Шафер, Л.И. Шафер. Управление программными
проектами. Достижение оптимального качества при минимуме затрат.
М.: Издательский дом “Вильямс”, 2004. – 1125 с.
 Брукс Ф. Мифический человеко-месяц или как создаются программные
системы: Пер. с англ. – СПб.: Символ-Плюс, 2006
♦ Дополнительная литература
 Благодатских В.А. и др. Экономика, разработка и использование программного
обеспечения ЭВМ. – М.: Финансы и статистика, 1995. -286 с.
 Ройс У. Управление проектами по созданию программного обеспечения:
Пер. с англ. – М.: ЛОРИ, 2002. -424 с.
 Боэм Б. Инженерное проектирование программного обеспечения: Пер. с англ. –
М.: Мир, 1985. -328 с.
♦ Тема 4: Влияние зрелости процессов разработки программного обеспечения на
экономику разработки программного обеспечения
♦ Содержание темы:
 Зрелость процессов разработки программного обеспечения в системе СMMI
 Связь зрелости процессов разработки с трудоемкостью и стоимостью
разработки
 Альтернативные способы оценки зрелости процессов разработки
♦ Основная литература
 Липаев В.В. Экономика производства сложных программных продуктов. – М.:
Синтег, 2008. 432 с.
 Р.Т. Фатрелл, Д.Ф. Шафер, Л.И. Шафер. Управление программными
проектами. Достижение оптимального качества при минимуме затрат.
М.: Издательский дом “Вильямс”, 2004. – 1125 с.
♦
Дополнительная литература
 Ройс У. Управление проектами по созданию программного обеспечения: Пер. с
англ. – М.: ЛОРИ, 2002. -424 с.
♦ Тема 5: Алгоритмические модели оценки стоимости разработки программного
обеспечения
♦ Содержание темы:
 Принципы алгоритмического моделирования трудоемкости разработки
программных продуктов
 Теоретические и статистические модели оценки
♦ Основная литература
 Р.Т. Фатрелл, Д.Ф. Шафер, Л.И. Шафер. Управление программными
проектами. Достижение оптимального качества при минимуме затрат.
7
М.: Издательский дом “Вильямс”, 2004. – 1125 с.
 Липаев В.В. Экономика производства сложных программных
продуктов. – М.: Синтег, 2008. 432 с.
♦ Дополнительная литература
 Благодатских В.А. и др. Экономика, разработка и использование программного
обеспечения ЭВМ. – М.: Финансы и статистика, 1995. -286 с.
 Боэм Б. Инженерное проектирование программного обеспечения: Пер. с англ. –
М.: Мир, 1985. -328 с.
 Ройс У. Управление проектами по созданию программного обеспечения: Пер. с
англ. – М.: ЛОРИ, 2002. -424 с.
♦ Тема 6: Использование экспертных оценок стоимости разработки программного
обеспечения
♦ Содержание темы:
 Методы проведения экспертных оценок
 Практическое применение метода Wideband Delphi
 Особенностиуправления проведением экспертных оценок
♦ Основная литература
 Липаев В.В. Экономика производства сложных программных продуктов. – М.:
Синтег, 2008. 432 с.
 The Delphi Process http://www.stellman-greene.com/ch03
♦ Дополнительная литература
 Боэм Б. Инженерное проектирование программного обеспечения: Пер. с англ. –
М.: Мир, 1985. -328 с.
 Ройс У. Управление проектами по созданию программного обеспечения:
Пер. с англ. – М.: ЛОРИ, 2002. -424 с.
♦ Тема 7: Модели оценки трудоемкости разработки программного обеспечения на
основе функциональных точек
♦ Содержание темы:
 Понятие функциональных точек, основные принципы их выделения
 Метод Function Points
 Метод Early Function Points
♦ Основная литература
 Mike Cohn. Estimating With Use Case Points
http://www.methodsandtools.com/archive/archive.php?id=25
 International Functions Point User Group http://www.ifpug.org/
 Early Function Point Counting http://www.nesma.nl/english/earlyfpa.htm
 Р.Т. Фатрелл, Д.Ф. Шафер, Л.И. Шафер. Управление программными
проектами. Достижение оптимального качества при минимуме затрат. М.:
Издательский дом “Вильямс”, 2004. – 1125 с.
 Вендров А.М. Проектирование программного обеспечения информационных
систем. – М.: Финансы и статистика, 2006. -544 с.
 Липаев В.В. Экономика производства сложных программных продуктов. – М.:
Синтег, 2008. 432 с.
♦ Дополнительная литература
 Боэм Б. Инженерное проектирование программного обеспечения: Пер. с англ. –
8

М.: Мир, 1985. -328 с.
Ройс У. Управление проектами по созданию программного обеспечения: Пер. с
англ. – М.: ЛОРИ, 2002. -424 с.
♦ Тема 8: Оценка экономических параметров разработки программного обеспечения
на основе модели CCOMO II
♦ Содержание темы:
 Принципы построения модели COCOMO
 Модель СОСОМО II
 Обзор альтернативных параметрических моделей (ДеМарко, IFPUG, методика
Госкомтруда)
♦ Основная литература
 COCOMO II Model
http://sunset.usc.edu/csse/research/COCOMOII/cocomo_main.html
 Вендров А.М. Проектирование программного обеспечения информационных
систем. – М.: Финансы и статистика, 2006. -544 с.
 Р.Т. Фатрелл, Д.Ф. Шафер, Л.И. Шафер. Управление программными
проектами. Достижение оптимального качества при минимуме затрат.
М.: Издательский дом “Вильямс”, 2004. – 1125 с.
 Липаев В.В. Экономика производства сложных программных
продуктов. – М.: Синтег, 2008. 432 с.
♦ Дополнительная литература
 Благодатских В.А. и др. Экономика, разработка и использование
программного обеспечения ЭВМ. – М.: Финансы и статистика, 1995. -286 с.
 Боэм Б. Инженерное проектирование программного обеспечения: Пер. с англ. –
М.: Мир, 1985. -328 с.
 Ройс У. Управление проектами по созданию программного обеспечения: Пер. с
англ. – М.: ЛОРИ, 2002. -424 с.
♦ Тема 9: Подходы к оценке трудоемкости разработки программного обеспечения на
ранних стадиях
♦ Содержание темы:
 Альтернативные подходы к проведению предпроектных оценок
 Метод Use-Case Points
 Использование рыночных аналогий при проведении оценок
♦ Основная литература
 Липаев В.В. Экономика производства сложных программных продуктов. – М.:
Синтег, 2008. 432 с.
 Р.Т. Фатрелл, Д.Ф. Шафер, Л.И. Шафер. Управление программными
проектами. Достижение оптимального качества при минимуме затрат.
М.: Издательский дом “Вильямс”, 2004. – 1125 с.
 Mike Cohn. Estimating With Use Case Points
http://www.methodsandtools.com/archive/archive.php?id=25
 Брукс Ф. Мифический человеко-месяц или как создаются программные
системы: Пер. с англ. – СПб.: Символ-Плюс, 2006
♦ Дополнительная литература
 Боэм Б. Инженерное проектирование программного обеспечения: Пер. с англ. –
9

М.: Мир, 1985. -328 с.
Ройс У. Управление проектами по созданию программного обеспечения: Пер. с
англ. – М.: ЛОРИ, 2002. -424 с.
♦ Тема 10: Особенности практической оценки трудоемкости разработки ПО
♦ Содержание темы:
 Риски проведения оценки разработки программного обеспечения
 Способы управления рисками при проведении оценки трудоемкости разработки
 Типичные ошибки оценки
 Индивидуальная настройка параметров модели оценки для повышения
точности
♦ Основная литература
 Р.Т. Фатрелл, Д.Ф. Шафер, Л.И. Шафер. Управление программными
проектами. Достижение оптимального качества при минимуме затрат.
М.: Издательский дом “Вильямс”, 2004. – 1125 с.
 Брукс Ф. Мифический человеко-месяц или как создаются программные
системы: Пер. с англ. – СПб.: Символ-Плюс, 2006
♦
Дополнительная литература
 Ройс У. Управление проектами по созданию программного обеспечения: Пер. с
англ. – М.: ЛОРИ, 2002. -424 с.
 Боэм Б. Инженерное проектирование программного обеспечения: Пер. с англ. –
М.: Мир, 1985. -328 с.
VII.
Тематика заданий по различным формам текущего контроля
♦ Домашняя работа
Вариант 1: Разработка собственного варианта линейной модели оценки
трудоемкости или стоимости разработки.
Вариант 2: Выполнение оценки предполагаемой трудоемкости разработки
широкоизвестных программных продуктов малого масштаба. На выбор
предлагается использование следующих моделей оценки:
 Оценка затрат программных проектов методом UFP.
 Оценка затрат программных проектов методом UCP.
 Оценка затрат программных проектов методом функциональных точек (FP).
VIII.
Вопросы для оценки качества освоения дисциплины
♦ Экзамен






Понятие экономики разработки программного обеспечения
Экономическая эффективность программного продукта
Факторы, влияющие на стоимость разработки программного обеспечения
Эволюция экономики программирования
Понятие метрики при разработке программного обеспечения, классификация
метрик
Метрики процесса, метрики проекта, метрики продукта
10

























Измерение размера программного обеспечения
Связь трудоемкости и стоимости разработки программного обеспечения
Проектный подход к оценке стоимости разработки программного обеспечения
Обзор основных принципов оценивания стоимости разработки программного
обеспечения
Зрелость процессов разработки программного обеспечения в системе СMMI
Связь зрелости процессов разработки с трудоемкостью и стоимостью
разработки
Альтернативные способы оценки зрелости процессов разработки
Принципы алгоритмического моделирования трудоемкости разработки
программных продуктов
Теоретические и статистические модели оценки
Методы проведения экспертных оценок
Практическое применение метода Wideband Delphi
Особенностиуправления проведением экспертных оценок
Понятие функциональных точек, основные принципы их выделения
Метод Function Points
Метод Early Function Points
Принципы построения модели COCOMO
Модель СОСОМО II
Обзор альтернативных параметрических моделей (ДеМарко, IFPUG, методика
Госкомтруда)
Альтернативные подходы к проведению предпроектных оценок
Метод Use-Case Points
Использование рыночных аналогий при проведении оценок
Риски проведения оценки разработки программного обеспечения
Способы управления рисками при проведении оценки трудоемкости разработки
Типичные ошибки оценки
Индивидуальная настройка параметров модели оценки для повышения
точности.
Экзамен проводится в письменной форме (80 мин)
IX.
Использованные источники:
1. Базовый учебный план программы подготовки магистра по направлению магистерской
подготовки – 231000.68 « Программная инженерия», магистерская программа –
«Управление разработкой программного обеспечения». - М., НИУ ВШЭ, 2011 г.
2. Рабочий учебный план программы подготовки магистра по направлению магистерской
подготовки – 231000.68 « Программная инженерия», магистерская программа –
«Управление разработкой программного обеспечения», 1 курс. - М., НИУ ВШЭ, 2011
г.
3. Федеральный
государственный
образовательный
стандарт
высшего
профессионального образования по направлению подготовки «Программная
инженерия» (квалификация (степень) магистр). Утвержден приказом Министерства
образования и науки Российской Федерации от 9 ноября 2009 г. № 543
Автор программы: _________________________Буров В.В.
11
Download