Table Of ContentAnalyzing
Requirements and
Defining Solution
Architectures
For Exam 70-100
Scott F. Wilson
Bruce Maples
Tim Landgrave
МююзоП Press
Принципы
проектирования
и разработки
программного
обеспечения
Официальное пособие Microsoft
для самостоятельной подготовки
к экзамену 70-100
Скотт Ф. Уилсон
Брюс Мэйплс
Тим Лэндгрейв
Москва 2002
Н.РШШ ШИШ
УДК 004.45
ББК 32.973.26-018.2
М59
Microsoft Corporation
М59 Принципы проектирования и разработки программного обеспече-
ния. Учебный курс MCSD/Пер. с англ. — 2-е изд., испр. — М: Издатель-
ско-торговый дом «Русская Редакция», 2002. — 736 стр.: ил.
ISBN 5-7502-0213^5
Настоящий учебный курс посвящен разработанной компанией Micro-
soft методологии проектирования и разработки программного обеспечения Mic-
rosoft Solutions Framework. Эта методология вобрала в себя последние достиже-
ния в области проектирования и разработки приложений масштаба предприя-
тия. Значительное внимание уделено вопросам управления проектами разра-
ботки программного обеспечения.
Книга адресована менеджерам проектов и разработчикам программного
обеспечения. Кроме того, этот учебный курс рекомендован корпорацией Mic-
rosoft для самостоятельной подготовки к обязательному экзамену №70-100 по
программе сертификации разработчиков Microsoft Certified Solution Developer
(MCSD).
Книга состоит из 14 глав, 10 практикумов, приложения и предметного
указателя. К учебному курсу прилагается компакт-диск с учебными и демон-
страционными материалами словарем терминов, электронной версией учеб-
ного курса и программным обеспечением для проведения экзаменационного
теста.
УДК 004.45
ББК 32.973.26-018.2
Подготовлено к изданию по лицензионному договору с Microsoft Corporation. Ред-
монд. Вашингтон, США.
ActiveX, JScript, Microsoft, Microsoft Press, MSDN, MS-DOS, PowerPoint, Visual Ba-
sic, Visual C++, Visual InterDev. Visual SourceSafe, Visual Studio, Win32, Windows и
Windows NT являются товарными знаками или охраняемыми товарными знаками
корпорации Microsoft в США и/или других странах. Все другие товарные знаки яв-
ляются собственностью соответствующих фирм.
Все названия компаний, организаций и продуктов, а также имена лиц, используемые
в примерах, вымышлены и не имеют никакого отношения к реальным компаниям,
организациям, продуктам и лицам.
© Оригинальное издание на английском языке,
Microsoft Corporation, 2001
© Перевод на русский язык, Microsoft Corporation. 2002
-7 (англ.) g, оформление и подготовка к изданию, издательско-
ISBN 5-7502—0213—5 торговый дом «Русская Редакция", 2002
Содержание
Об этой книге XVII
Часть I. Методология 1
Глава 1. Производственная архитектура 2
Что такое архитектура 3
От концепции к практике 4
Задачи информационной инфраструктуры 5
Производственная архитектура и задачи ИТ 8
Задача производственной архитектуры 8
Принципы разработки приложений MSF 9
Модель производственной архитектуры 10
Модель проектной группы 10
Модель процесса разработки ПО 10
Модель управления рисками 10
Модель процесса проектирования 10
Модель приложения 11
MSF в этой книге 11
Модель производственной архитектуры MSF 11
Бизнес-перспектива 12
Прикладная перспектива 12
Информационная перспектива 13
Технологическая перспектива 13
Четыре перспективы — одна архитектура 14
Как соотнести цели бизнеса и ИТ 14
Основные опасности при разработке производственной
архитектуры 16
Задачи модели производственной архитектуры MSF 18
Создание производственной архитектуры 19
Миф о всеохватывающей и всепроникающей архитектуре 19
Поэтапный процесс 20
Движение от существующей архитектуры к желаемой 20
Прогнозирование и реагирование 23
Все внимание бизнесу 24
Производственная архитектура и конкретные проекты 25
Планирование во время разработки и разработка во время
планирования 26
Резюме 27
Закрепление материала 27
Практикум 1. Разработка производственной архитектуры 28
Начало 30
Четыре модели с перспективой 34
Прогнозирование, реагирование и версии 37
Первые задания 41
Глава 2, Приложения масштаба предприятия 42
Характеристики приложений масштаба предприятия 43
Архитектура производственных приложений 45
Повторное использование компонентов 46
Размер приложения 48
Производительность приложения 49
Масштабируемость приложений 50
Виды архитектуры 51
Основные принципы разработки приложений 58
Соответствие целям бизнеса 58
Ориентация на продукт 59
Приоритет архитектуры 59
Контекстно-зависимое проектирование 59
Средства, используемые на разных фазах проекта 59
Слагаемые успешного проекта 60
Модель производственного приложения 62
Проектирование с помощью модели производственного
приложения 65
Бизнес-модель 68
Пользовательская модель 69
Логическая модель 71
Технологическая модель 73
Модель разработки 75
Физическая модель 76
Модель приложения MSF 83
Пользовательские сервисы 83
Прикладные сервисы 84
Сервисы данных 84
Резюме 84
Закрепление материала 84
Глава 3. Проектные группы 85
Модель группы и иерархическая модель 86
Обязанности членов группы 88
Модель проектной группы 90
Менеджер продукта 91
Менеджер программы 93
Разработчик 95
Тестер 96
Инструктор 98
Логистик 99
Размеры группы и масштаб проекта 100
Крупные проекты 101
Небольшие проекты 102
Создание группы 103
Поиск руководителей 104
Повышение эффективности коллективной работы 104
Обучение группы 109
Координация работы с внешними группами 110
Средства управления группой 111
Резюме 113
Закрепление материала 113
Практикум 2. Знакомьтесь: проектная группа 114
Повестка дня 115
Знакомство 118
MSF 121
Приложение RMS 123
Модель проектной группы MSF 123
Роли членов группы 125
Глава 4. Процесс разработки 130
Модели разработки приложений 131
Модель водопада 132
Спиральная модель 134
Универсальный процесс 135
Этапы 136
Фазы 140
Итерации 142
Модель процесса разработки MSF 144
Фазы 146
Этапы 146
Фазы процесса разработки MSF и их основные результаты 147
Фаза «Анализ» , 147
Фаза «Планирование» 149
Фаза «Разработка* 152
Фаза «Стабилизация» 153
Важность всех фаз 154
Принципы модели процесса разработки 155
Выпуск версий 155
«Живые» документы 157
Планирование процесса 158
Поиск компромиссов 159
Управление рисками 161
Ориентация на выпуск в срок 162
Разбиение больших проектов на управляемые части 163
Ежедневная сборка 164
Планирование «снизу — вверх» 165
Версии 166
Рекомендации по организации выпуска версий продукта 166
Разработка на других стадиях 167
Роли членов группы в модели процесса разработки 170
Артефакты и результаты 171
Связь моделей 172
Резюме 173
Закрепление материала 174
Практикум 3. Знакомство с проектом RMS 174
Текущее состояние 175
Распределение ресурсов 175
Табели 178
Учет 181
Выписка счетов 184
Проблемы бизнеса 185
Задания и ответственные за их выполнение 189
Практикум 4. Определение целей 190
Особенности модели процесса разработки MSF 193
Роли и обязанности ] 94
Итерации 197
График проекта RMS и перноначатьные цели 199
Часть II. Проектирование 202
Гпава 5. Предпроект 203
Предпроектное исследование 204
Назначение концепции 206
Трудности фазы «Анализ* 207
Процесс исследования 208
Распределение обязанностей 208
Шаг 1: изучение 210
Шаг 2: анализ 212
Шаг 3: рационализация 212
Шаг 4; реализация 213
Шаг 5: утверждение 213
Обмен информацией 213
Управление рисками 214
Источники риска 215
Способы управления рисками 216
Шаг 1; идентификация риска 217
Шаг 2: анализ риска 219
Шаг 3: план действий 221
Шаг 4: отслеживание риска 223
Шаг 5: управление рисками 224
Этап «Одобрение концепции» и его результаты 224
Концепция 225
Прототип 227
Структура проекта 228
Сводный документ оценки рисков 228
Согласование концепции 228
Другие области применения аналитического подхода 229
Резюме 230
Закрепление материала 231
Практикум 5. Концепция RMS 231
Первый раунд 231
Второй раунд 238
Взгляд клиента 245
Итоги 254
Глава 6. План проекта 257
Разработка плана проекта 258
Фаза «Планирование» и процесс проектирования 259
Распределение ролей при планировании 259
Процесс проектирования 260
Стадии проектирования 261
Концептуальное проектирование 264
Логическое проектирование 271
Физическое проектирование 279
)( Содержание
Управление рисками 294
Этап «Одобрение плана проекта» и его результаты 296
Промежуточные этапы 297
Функциональные спецификации 297
Основной план проекта 301
Основной график проекта 302
Пересмотренный документ оценки рисков 305
Резюме 305
Закрепление материала 305
Практикум 6. Планирование 306
Знакомство с фазой «Планирование» 309
Знако\^тво с процессом проектирования 311
Концептуальное проектирование 315
Логическое проектирование 317
Совещание группы архитектуры и разработчиков 321
Физическое проектирование 329
Этап «Одобрение плана проекта» 339
Часть III. Разработка 344
Глава?, Технологии пользовательского уровня 345
Выбор пользовательского интерфейса 346
Пользовательский уровень 347
Выбор архитектуры пользовательского уровня 353
Основы проектирования интерфейса 355
Элементы пользовательского интерфейса 356
Композиция 358
Цвет и изображения 361
Удобство использования 363
Модель помощи пользователям 364
Создание пользовательского интерфейса 365
Реализация пользовательского уровня
«родных» приложений 365
Реализация Web-интерфейса 365
Методы доступа 371
Доступ к «родным» приложениям 371
Доступ к Web-приложениям 371
Масштабирование Web-сервисов 371
Связывание данных 373
Связывание пользовательского и прикладного уровней 374
Доставка бизнес-объектов на клиентский компьютер 375