1

advertisement
1
I. Обязательный минимум содержания дисциплины по ГОС
Жизненный цикл ХР- процесса . Принципы и практики экстремального
программирования. Игра в планирование и пользовательские истории. Метафора
программной системы. Планирование версий и итераций. Разработка тестов и автоматизация
тестирования. Парное программирование и стандарты разработки программного кода.
Рефакторинг.
II. Пояснительная записка
Программа разработана на кафедре «Основы информатики и прикладного программного
обеспечения»
Автор программы: ктн, доцент Андрейченко Владимир Александрович
Аннотация:
Целью
дисциплины
является
изучение
основ
технологии
экстремального
програмирования (еXtreme Programming, ХР). Экстремальное программирование, как
методология, или процесс разработки программ (автор Кент Бек), получило публичную
известность с 1999 года. Экстремальное программирование предназначено для
использования в условиях постоянно изменяющихся требований заказчика, характерных
для автоматизации решения большого круга задач, в том числе экономических.
Экономический эффект экстремальной разработки (ХР-процесса) состоит в снижении
высокой стоимости изменений за счет радикально гибкого подхода к итерационной
разработке программного обеспечения версиями. Гибкость экстремальной разработки
понимают с одной стороны в смысле уменьшения состава обязательных работ классических
технологических процессов, а с другой стороны – концентрации усилий на тех работах,
которые нацелены на быстрое получение работоспособного программного продукта. В
современной литературе по инженерии программного обеспечения термины “экстремальная
разработка”, “ХР-процесс”, “экстремальное программирование” используют как синонимы.
Дисциплина изучается в пятом модуле студентами третьего курса факультета «Бизнесинформатика» и. охватывает вопросы менеджмента и практической реализации XP-проектов
программного обеспечения.
Теоретические знания, получаемые студентами в рамках данного курса, включают
принципы и методы практического использования и социально-экономические факторы
обоснованности применения экстремального программирования.
Достижение цели обучения возможно лишь при условии, что теоретическая часть курса
поддерживается практической работой в соответствующей инструментальной среде. Кроме
специализированных инструментальных сред программирования данный курс может
опираться на открытую языковую среду разработки Visual Studio .Net и язык
программирования C#.
Материал курса изучается на лекциях, практических занятиях, в процессе выполнения
домашнего задания и в ходе самостоятельной работы студентов.
На лекциях студенты приобретают теоретические знания по основам технологии
экстремальной разработки программ.
На практических занятиях студенты осваивают возможности инструментальной среды
экстремального программирования, приобретают навыки и умения управления ХРпроцессом и применения методов экстремального программирования.
Домашнее задание рассчитано на контроль усвоения знаний по управлению ХР-процессом
в части планирования версий, а также навыков и умений кодирования и тестирования
модулей (классов) в части разработки комплексных (приемочных) и автономных (unit)
тестов.
По результатам обучения предусмотрен зачет.
Программа курса включает введение и три темы.
2
III. Требования к студенту и учебная задача дисциплины
Предполагается, что студенты знакомы с алгоритмическим языком (C) и обладают опытом
программирования в классах (C++, С#).
В результате изучения дисциплины студент должен:
ЗНАТЬ:
 жизненный цикл и технологические процессы экстремальной разработки
программ,
 основные принципы и методы (практики) экстремальной разработки программ;
 инструментальные средства экстремального программирования,
 деятельность команды заказчика и команды программистов.
 особенности управление ХР- процессом, реализации и внедрения ХР -проектов;
УМЕТЬ:
 планировать разработку версий программного обеспечения,
 использовать парное программирование и коллективное владение кодом,
 разрабатывать программные тесты для модулей ХР-проекта, разрабатывать и
проводить тестирование модулей.
ИМЕТЬ ПРЕДСТАВЛЕНИЕ:
об области применимости и основных направлениях развития ХP технологий
разработки программного обеспечения.
ОБЛАДАТЬ НАВЫКАМИ:
создания и реализации ХР-проектов .
IV. Тематический план учебной дисциплины
№
Название темы
Всего
часов
1.
Технологические
процессы и принципы
экстремального
программирования
Планирование версий и
управление разработкой
Разработка
программного кода и
тестирование
14
ИТОГО
2.
3.
Аудиторные часы
Лекции
Сем. и
практ.
занятия
6
2
Самостоятельная
работа
6
16
4
2
10
24
4
10
10
54
14
14
26
V. Формы контроля и структура итоговой оценки
Итоговая оценка (зачет) по учебной дисциплине складывается из следующих элементов:
 Аудиторная контрольная работа по теме 1 (45мин.)
 Аудиторная контрольная работа по теме 2 и 3 (45мин.)
 Домашнее задание
 Тест на зачете (30мин.)
3
Структура итоговой оценки по учебной дисциплине:
Оценка за дисциплину определяется как средневзвешенная оценка по десятибалльной
шкале Оит по формам работы:
Формы работы
Вклад в итоговую оценку (%)
Аудиторная контрольная работа по теме1 (О1)
15
Аудиторная контрольная работа по теме 2 и 3 (О2)
15
Домашнее задание (Одз)
50
Тест на зачете (От)
20
Оит = 0.15*O1 + 0.15*O2 + 0.5*Oдз+0,2От
При выставлении итоговой оценки Оит за дисциплину средневзвешенная оценка
округляется до большего целого, если дробная часть оценки не ниже 0.5, в противном случае
оценка округляется до меньшего целого. При выставлении итоговой оценки (ОИТ5) по 5балльной шкале используется решающее правило:
 Если Оит  8,
то ОИТ5 = 5 (“отлично”);
 Если 6  Оит < 8,
то ОИТ5 = 4 (“хорошо”);
 если 4  Оит < 6,
то ОИТ5 = 3 (“удовлетворительно”);
 если Оит < 4,
то ОИТ5 = 2 (“неудовлетворительно”).
VI. Базовые учебники
1. Кен Ауер, Рой Миллер. Экстремальное программирование: постановка процесса. С
первых шагов и до победного конца..- Спб.: Питер, 2004.-368с., ISBN 5-318-00132-7.
2.. Астелз , Дэвид ; Миллер. Гренвил; Новак. Мирослав. Практическое руководство по
экстремальному программированию.: Пер. с англ.-М.: Издательский дом “Вильямс”, 2002.320с.. ISBN 5-8459-0329-7
3.. Орлов С. Технологии разработки программного обеспечения: Учебник,-СПб.: Питер,
2002.-464с. ISBN 5-94723 145-Х
4.. Рихтер Дж. Программирование на платформе Microsoft NET Framework/Пер. с англ.-2-2
изд.-М.: "Русская редакция”, 2003.-512 с., ISBN 5-7502-0202-9
5. Троелсен Э. С# и платформа NET. Библиотека программиста.-СПб.: Питер? 2004/-706c.,
ISBN 5-318-00750-3.
VII. Содержание программы
.
Тема 1.Технологические процессы и принципы экстремального программирования
Введение в дисциплину: жизненный цикл и технологии разработки программного
обеспечения, стандартные (классические) технологические процессы и модели разработки
программного обеспечения, типичные проблемы разработки программного обеспечения,
особенности и область применимости технологии экстремальной разработки, экстремальное
программирование и учебная программа дисциплины. Процесс экстремальной разработки:
технологические процессы и модель экстремальной разработки программного обеспечения,
деятельность команды заказчика и команды программистов Методические основы
экстремальной разработки: принципы и методы (практики) экстремальной разработки.
Инструментальные средства разработки: программные средства и языки.
4
Литература: [1], главы 0-10
Тема 2. Планирование версий и управление разработкой
Стратегическое и тактическое планирование: концептуализация программы и игра в
планирование, предоставление оценок, планирование версии (релиза) и план итераций
разработки, планирование и распределение задач, виды планов. Управление разработкой:
соотношение ХР и других технологий управления, управление качеством, рисками и
персоналом., контроль за проектом, измерение ХР-проекта. Средства планирования и
управления: организационные и инструментальные средства, методики оценки трудозатрат.
Литература:
[1], главы 11-12; глава 31; [ 2 ], часть 3.; [3] глава 2,14, приложение А.
Тема 3.Разработка программного кода и тестирование
Разработка программного кода: простое проектирование -CRC-сессия и дизайн, гибкое
моделирование, парное программирование, коллективное владение кодом и сборка
программы, стандарты кодирования, рефакторинг. Тестирование ХР-проекта и выпуск
готового продукта: опережающая разработка тестов, модульные (unit) и приемочные тесты,
автономное и комплексное тестирование, выпуск релиза. Создание серии итераций: анализ
архитектурной метафоры, составление графика итераций и распределение задач.
Прототипирование разработки: моделирование функций и: простое проектирование
модулей программного кода. Разработки тестов: методы разработки, разработка
модульных и приемочных тестов, содержание программы и методики испытаний.
Программная реализация модулей и автономное тестирование.: кодирование модулей и
использование unit-тестов, сборка программы. Комплексное тестирование и выпуск версии:
прогон приемочных тестов, анализ результатов и принятие решения о дальнейшей
разработке.
Литература:
[1], гл. 13, 14. 21; 22 ; [2], гл. 13 .
VIII. Указания к практическим занятиям и самостоятельной работе
студентов
Количество часов, отводимое для самостоятельной работы (26 из 54) сопоставимо с
количеством часов аудиторных занятий.. Время самостоятельной работы отводится для
выполнения домашнего задания (не менее 50%), усвоения лекционного материала (не менее
25%) и дополнительного изучения материала по рекомендованной литературе, который
выносится лектором на самостоятельную работу. Содержание практических занятий,
контрольных заданий и тестов текущего контроля знаний в рамках тематики настоящей
учебной программы может определяться предпочтениями преподавателей по следующим
направлениям:
 Освоение инструментальных средств экстремального программирования;.
 Освоение методик измерения ХР-процессов и проектов;
 Освоение практик планирования и управления ХР-процессов;
 Простое проектирование и моделирование функций программных модулей;
 Парное программирование и коллективное владение кодом;.
 Опережающая разработка тестов;
 .Разработка программного кода и рефакторинг;
 Автоматизация тестирования и сборки программ в ХР-процессе.
5
Тема домашней работы: “Оценка экономических показателей ХР-процесса и
разработка плана итерации”
Примечание : для каждой работы предусматривается свой набор исходных данных.
Примерные вопросы для контрольных работ и тестов
1. Перечислите основные принципы экстремальной разработки программного
обеспечения.
2. Назовите основные технологические процессы экстремальной разработки
программного обеспечения.
3. Опишите связи технологических процессов в модели экстремальной разработки.
4. Укажите семейство базовых моделей итерационной разработки, содержащее модель
экстремальной разработки.
5. Перечислите основные рабочие процессы деятельности команды заказчиков ХРпроекта.
6. -Укажите состав и перечислите основные рабочие процессы деятельности команды
разработчиков ХP проекта
7. Сформулируйте понятие экстремального программирования.
8. Сформулируйте экономическое обоснование и дайте характеристику области
применимости технологии экстремальной разработки программного обеспечения.
9. Укажите основные преимущества и недостатки экстремального программирования.
10. Перечислите виды и дайте характеристику предназначения тестов в практике
экстремального программирования.
11. В чем суть стратегического и тактического планирования?
12. Оценки каких факторов используют для планирования версий и итераций?
13. Каким образом формулируют требования к программе?.
14. Что такое пользовательская история и метафора разработки, кто и как их формирует и
используют ?
15. Каким образом проводят и как используют оценку трудозатрат ?
16. В чем суть управления разработкой и кто им занимается?
17. Что такое риск и качество разработки и как ими управляют?.
18. В чем заключается простое проектирование в ХР-процессе?
19. Что такое парное программирование?
20. Зачем нужно коллективное владение кодом?
21. Что такое опережающая разработка тестов?
22. Какие методы используют при разработке тестов?
23. Кто и как разрабатывает и использует приемочные тесты ?
24. Кто и как разрабатывает и использует модульные тесты ?
25. Каким образом проводят сборку программы в ХР-процессе?
26. Что такое рефакторинг и чем обусловлено его проведение?
Автор программы: _______________В. Андрейченко
10.01. 2005 г.
6
Download