Звоните: (067) 644-70-74
Напишите нам burtrest@gmail.com

Книга Идеальный программист. Как стать профессионалом разработки ПО. Мартин

154.70 грн.

Артикул: 073da96bf276 Категория:

Описание

год2012

224 страницы

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

Содержание книги
Идеальный программист. Как стать профессионалом разработки ПО. Мартин
Обязательное вступление  . . . . . . . . . . . . . . . . . . . . . . . . . 13
От издательства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Глава 1. Профессионализм   . . . . . . . . . . . . . . . . . . . . . . . .  19
Оборотная сторона профессионализма . . . . . . . . . . . . . . . . . . . . . . . 20
Ответственность   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Первое правило: не навреди   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Не навреди функциональности   . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Контроль качества не должен ничего обнаружить   . . . . . . . . . 24
Вы должны быть уверены в том, что ваш код работает   . . . . . 25
Автоматизированный контроль качества . . . . . . . . . . . . . . . . . . 26
Не навреди структуре   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Трудовая этика   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Знай свою область . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Непрерывное обучение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Тренировка   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Совместная работа   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Наставничество   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Знание предметной области   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Понимание интересов работодателя/заказчика . . . . . . . . . . . . 33
Скромность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Глава 2. Как сказать «нет»   . . . . . . . . . . . . . . . . . . . . . . . .  35
Антагонистические роли   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Как насчет «почему»?   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Высокие ставки   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Умение работать в коллективе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Не пытайтесь   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Пассивная агрессивность  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Цена согласия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
О невозможности хорошего кода   . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Глава 3. Как сказать «да» . . . . . . . . . . . . . . . . . . . . . . . . .  56
Язык обещаний   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Признаки пустых обещаний   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Признаки серьезных обещаний   . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Выполнение обещания зависит от другого человека X. . . . . . 60
Вы не уверены в том, что обещание можно выполнить   . . . . . 61
Вы не справились   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Резюме   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Учимся говорить «да» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Обратная сторона «попытки» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Дисциплинированное принятие обязательств   . . . . . . . . . . . . . 64
Итоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Глава 4. Написание кода   . . . . . . . . . . . . . . . . . . . . . . . . . .  67
Готовность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Ночное программирование   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Программирование в расстроенных чувствах . . . . . . . . . . . . . . 70
Зона потока . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Музыка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Помехи   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Творческий кризис . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Творческий ввод   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Отладка   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Время отладки   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Выбор темпа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Умейте остановиться . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
По дороге домой   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Душ   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Отставание от графика  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Надежда   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Спешка   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Сверхурочные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Ложная готовность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Определение «готовности»   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Помощь   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Как помогать другим   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Как принимать помощь . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Обучение   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Глава 5. Разработка через тестирование   . . . . . . . . . . . .  87
Вердикт вынесен . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Три закона TDD   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Длинный перечень преимуществ   . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Уверенность   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Снижение плотности дефектов   . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Смелость   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Документация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Архитектура   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Выбор профессионалов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Чем TDD не является   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Глава 6. Тренировка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  95
Азы тренировки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Двадцать два нуля . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Длительность рабочего цикла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Додзё программирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Ката   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Вадза   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Рандори . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Расширение кругозора   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Проекты с открытым кодом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Этика тренировки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Глава 7. Приемочное тестирование . . . . . . . . . . . . . . . . 105
Передача требований . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Преждевременная точность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Принцип неопределенности   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Стремление к точности оценки   . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Поздняя неоднозначность   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Приемочные тесты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Что такое «выполнено»? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Взаимодействие сторон . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Автоматизация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Дополнительная работа   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Кто и когда пишет приемочные тесты? . . . . . . . . . . . . . . . . . . . 115
Роль разработчика   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Обсуждение тестов и пассивно-агрессивная позиция   . . . . . 117
Приемочные тесты и модульные тесты . . . . . . . . . . . . . . . . . . . 119
Графические интерфейсы и другие сложности . . . . . . . . . . . . 120
Выбор интерфейса для тестирования   . . . . . . . . . . . . . . . . . . . . 121
Непрерывная интеграция . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Стоп-сигнал . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Глава 8. Стратегии тестирования . . . . . . . . . . . . . . . . . . 124
Контроль качества не должен находить дефекты   . . . . . . . . . . . . 125
Служба контроля качества — часть команды   . . . . . . . . . . . . . 125
Пирамида автоматизации тестирования . . . . . . . . . . . . . . . . . . . . . 126
Модульные тесты   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Компонентные тесты   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Интеграционные тесты   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Системные тесты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Исследовательские тесты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Глава 9. Планирование   . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Встречи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Отказ от участия   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Уход со встречи   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Повестка дня и цель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Пятиминутка   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Встречи планирования итераций . . . . . . . . . . . . . . . . . . . . . . . . . 136
Ретроспективные встречи по итерациям
и демонстрации   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Споры и разногласия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Мана концентрации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Перезарядка   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Физические упражнения   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Ввод и вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Помидоры и распределение времени . . . . . . . . . . . . . . . . . . . . . 140
Уклонение от работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Инверсия приоритетов   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Тупики   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Грязь, болота и трясины   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Глава 10. Оценки   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Что такое «оценка»?   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Обязательства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Оценка   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Подразумеваемые обязательства . . . . . . . . . . . . . . . . . . . . . . . . . 150
PERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Оценка времени выполнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Широкополосный дельфийский метод . . . . . . . . . . . . . . . . . . . 154
Метод быстрого голосования   . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Покер планирования   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Аффинная оценка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Анализ по трем переменным . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Закон больших чисел . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Глава 11. Под давлением . . . . . . . . . . . . . . . . . . . . . . . . . 159
Как избежать давления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Обязательства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Как сохранить чистоту   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Дисциплина в кризисных ситуациях   . . . . . . . . . . . . . . . . . . . . . 163
Как вести себя в тяжелой ситуации   . . . . . . . . . . . . . . . . . . . . . . . . . 163
Без паники . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Взаимодействие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Доверяйте своим методам   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Помощь . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Глава 12. Сотрудничество  . . . . . . . . . . . . . . . . . . . . . . . . 166
Программисты и люди   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Программисты и работодатели . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Программисты и программисты   . . . . . . . . . . . . . . . . . . . . . . . . . 171
Принадлежность кода   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Коллективная принадлежность кода   . . . . . . . . . . . . . . . . . . . . . 172
Парное программирование   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Как работать мозжечком . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Глава 13. Группы и проекты   . . . . . . . . . . . . . . . . . . . . . . 175
Формирование группы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
«Притертая» группа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Созревание   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Что сначала — группа или проект? . . . . . . . . . . . . . . . . . . . . . . . 177
Но как управлять такой группой? . . . . . . . . . . . . . . . . . . . . . . . . 178
Дилемма владельца проекта   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Глава 14. Наставники, ученики и мастерство . . . . . . . . 180
Диплом для неподготовленных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Обучение   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Digi-comp I, мой первый компьютер . . . . . . . . . . . . . . . . . . . . . . 182
ECP-18 в средней школе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Нетрадиционное обучение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Горький опыт   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Ученичество   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Период ученичества . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Мастер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Ремесленник . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Ученики/интерны . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Реальность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Профессионализм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Как убедить людей   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Приложение. Инструментарий   . . . . . . . . . . . . . . . . . . . . 193
Инструменты   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Управление исходным кодом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
«Корпоративные» системы управления исходным
кодом   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Пессимистическая и оптимистическая блокировка   . . . . . . . 196
CVS / SVN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
IDE/редактор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Непрерывная сборка   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Инструменты модульного тестирования   . . . . . . . . . . . . . . . . . . . . 204
Инструменты компонентного тестирования . . . . . . . . . . . . . . . . . 205
Определение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
FitNesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Другие инструменты   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Инструменты интеграционного тестирования . . . . . . . . . . . . . . . 207
UML/MDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Детализация   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Без изменений и надежд . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Алфавитный указатель. . . . . . . . . . . . . . . . . . . . . . . . . . . 211