КнигоПровод.Ru25.11.2024

/ИТ-книги

Технологии разработки программного обеспечения: Учебник — Орлов С. А.
Технологии разработки программного обеспечения: Учебник
Орлов С. А.
год издания — 2002, кол-во страниц — 464, ISBN — 5-94723-145-X, тираж — 4500, язык — русский, тип обложки — твёрд. 7БЦ, масса книги — 530 гр., издательство — Питер
цена: 499.00 рубПоложить эту книгу в корзину
Р е ц е н з е н т ы:
Филиппович Ю. Н., к-т техн. наук, доцент Московского государственного Университета печати
Ревунков Г. И., к-т техн. наук, доцент Московского государственного технического Университета им. Н. Э. Баумана



Формат 70x100 1/16
ключевые слова — программн, xp-процесс, тестиров, объектно-ориентиров, абстрагирован, инкапсуляц, uml, прецедент, паттерн, бизнес-модел, бизнес-логик, компонент, интерфейс, сом, чидамбер, кемерер, кидц, полиморфизм, case, rational, сосомо, экстремальн

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

Книга допущена Министерством образования РФ в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению подготовки бакалавров и магистров «Информатика и вычислительная техника».

ОГЛАВЛЕНИЕ

Введение11
 
Глава 1. Организация процесса конструирования15
 
Определение технологии конструирования программного обеспечения15
Классический жизненный цикл16
Макетирование18
Стратегии конструирования ПО20
Инкрементная модель20
Быстрая разработка приложений21
Спиральная модель23
Компонентно-ориентированная модель24
Тяжеловесные и облегчённые процессы25
ХР-процесс26
Модели качества процессов конструирования31
Контрольные вопросы33
 
Глава 2. Руководство программным проектом36
 
Процесс руководства проектом36
Начало проекта37
Измерения, меры и метрики37
Процесс оценки37
Анализ риска37
Планирование38
Трассировка и контроль38
Планирование проектных задач38
Размерно-ориентированные метрики40
Функционально-ориентированные метрики41
Выполнение оценки в ходе руководства проектом48
Выполнение оценки проекта на основе LOC- и FP-метрик48
Конструктивная модель стоимости50
Модель композиции приложения51
Модель раннего этапа проектирования53
Модель этапа постархитектуры56
Предварительная оценка программного проекта59
Анализ чувствительности программного проекта63
Сценарий понижения зарплаты64
Сценарий наращивания памяти65
Сценарий использования нового микропроцессора65
Сценарий уменьшения средств на завершение проекта65
Контрольные вопросы67
 
Глава 3. Классические методы анализа69
 
Структурный анализ69
Диаграммы потоков данных69
Описание потоков данных и процессов70
Расширения для систем реального времени71
Расширение возможностей управления73
Модель системы регулирования давления космического корабля74
Методы анализа, ориентированные на структуры данных77
Метод анализа Джексона78
Методика Джексона78
Шаг объект-действие79
Шаг объект-структура79
Шаг начального моделирования81
Контрольные вопросы83
 
Глава 4. Основы проектирования программных систем85
 
Особенности процесса синтеза программных систем85
Особенности этапа проектирования86
Структурирование системы87
Моделирование управления89
Декомпозиция подсистем на модули91
Модульность91
Информационная закрытость92
Связность модуля93
Функциональная связность94
Информационная связность95
Коммуникативная связность95
Процедурная связность96
Временная связность97
Логическая связность97
Связность по совпадению98
Определение связности модуля99
Сцепление модулей99
Сложность программной системы101
Характеристики иерархической структуры программной системы102
Контрольные вопросы104
 
Глава 5. Классические методы проектирования106
 
Метод структурного проектирования106
Типы информационных потоков106
Проектирование для потока данных типа «преобразование»107
Проектирование для потока данных типа «запрос»109
Метод проектирования Джексона111
Доопределение функций111
Учёт системного времени114
Контрольные вопросы115
 
Глава 6. Структурное тестирование программного
обеспечения116
 
Основные понятия и принципы тестирования ПО116
Тестирование «чёрного ящика»118
Тестирование «белого ящика»118
Особенности тестирования «белого ящика»119
Способ тестирования базового пути120
Потоковый граф120
Цикломатическая сложность122
Шаги способа тестирования базового пути123
Способы тестирования условий126
Тестирование ветвей и операторов отношений127
Способ тестирования потоков данных130
Тестирование циклов133
Простые циклы133
Вложенные циклы134
Объединённые циклы134
Неструктурированные циклы135
Контрольные вопросы135
 
Глава 7. Функциональное тестирование программного
обеспечения137
 
Особенности тестирования «чёрного ящика»137
Способ разбиения по эквивалентности138
Способ анализа граничных значений140
Способ диаграмм причин-следствий143
Контрольные вопросы148
 
Глава 8. Организация процесса тестирования
программного обеспечения150
 
Методика тестирования программных систем150
Тестирование элементов152
Тестирование интеграции155
Нисходящее тестирование интеграции155
Восходящее тестирование интеграции157
Сравнение нисходящего и восходящего тестирования интеграции158
Тестирование правильности159
Системное тестирование160
Тестирование восстановления161
Тестирование безопасности161
Стрессовое тестирование161
Тестирование производительности162
Искусство отладки162
Контрольные вопросы164
 
Глава 9. Основы объектно-ориентированного
представления программных систем166
 
Принципы объектно-ориентированного представления программных систем166
Абстрагирование167
Инкапсуляция168
Модульность169
Иерархическая организация169
Объекты172
Общая характеристика объектов172
Виды отношений между объектами174
Связи174
Видимость объектов177
Агрегация178
Классы179
Общая характеристика классов179
Виды отношений между классами180
Ассоциации классов181
Наследование182
Агрегация184
Зависимость186
Конкретизация187
Контрольные вопросы188
 
Глава 10. Базис языка визуального моделирования190
 
Унифицированный язык моделирования190
Предметы в UML191
Отношения в UML195
Диаграммы в UML196
Механизмы расширения в UML197
Контрольные вопросы199
 
Глава 11. Статические модели объектно-ориентированных
программных систем201
 
Вершины в диаграммах классов201
Свойства202
Операции203
Организация свойств и операций203
Множественность204
Отношения в диаграммах классов205
Деревья наследования210
Примеры диаграмм классов211
Контрольные вопросы213
 
Глава 12. Динамические модели объектно-ориентированных
программных систем215
 
Моделирование поведения программной системы215
Диаграммы схем состояний216
Действия в состояниях218
Условные переходы218
Вложенные состояния219
Диаграммы деятельности220
Диаграммы взаимодействия222
Диаграммы сотрудничества223
Диаграммы последовательности227
Диаграммы Use Case229
Актёры и элементы Use Case229
Отношения в диаграммах Use Case230
Работа с элементами Use Case233
Спецификация элементов Use Case233
Главный поток234
Подпотоки234
Альтернативные потоки234
Пример диаграммы Use Case235
Построение модели требований238
Кооперации и паттерны244
Паттерн Наблюдатель246
Паттерн Компоновщик249
Паттерн Команда251
Бизнес-модели253
Контрольные вопросы255
 
Глава 13. Модели реализации объектно-ориентированных
программных систем257
 
Компонентные диаграммы257
Компоненты257
Интерфейсы259
Компоновка системы260
Разновидности компонентов261
Использование компонентных диаграмм262
Моделирование программного текста системы262
Моделирование реализации системы264
Основы компонентной объектной модели265
Организация интерфейса СОМ267
lUnknown — базовый интерфейс СОМ270
Серверы СОМ-объектов271
Преимущества СОМ272
Работа с СОМ-объектами272
Создание СОМ-объектов272
Повторное использование СОМ-объектов274
Маршалинг275
IDL-описание и библиотека типа276
Диаграммы размещения277
Узлы278
Использование диаграмм размещения279
Контрольные вопросы282
 
Глава 14. Метрики объектно-ориентированных
программных систем284
 
Метрические особенности объектно-ориентированных программных систем284
Локализация285
Инкапсуляция285
Информационная закрытость285
Наследование286
Абстракция286
Эволюция мер связи для объектно-ориентированных программных систем286
Связность объектов286
Сцепление объектов293
Набор метрик Чидамбера и Кемерера295
Использование метрик Чидамбера-Кемерера301
Метрики Лоренца и Кидца302
Метрики, ориентированные на классы302
Операционно-ориентированные метрики304
Метрики для 00 проектов305
Набор метрик Фернандо Абреу306
Метрики для объектно-ориентированного тестирования311
Метрики инкапсуляции311
Метрики наследования312
Метрики полиморфизма313
Контрольные вопросы313
 
Глава 15. Унифицированный процесс разработки
объектно-ориентированных ПС315
 
Эволюционно-инкрементная организация жизненного цикла разработки315
Этапы и итерации317
Рабочие потоки процесса317
Модели318
Технические артефакты318
Управление риском319
Идентификация риска319
Анализ риска321
Ранжирование риска321
Планирование управления риском321
Разрешение и наблюдение риска322
Этапы унифицированного процесса разработки323
Этап НАЧАЛО (Inception)323
Этап РАЗВИТИЕ (Elaboration)324
Этап КОНСТРУИРОВАНИЕ (Construction)326
Этап ПЕРЕХОД (Transition)327
Оценка качества проектирования327
Пример объектно-ориентированной разработки328
Этап НАЧАЛО329
Этап РАЗВИТИЕ330
Этап КОНСТРУИРОВАНИЕ335
Разработка в стиле экстремального программирования343
ХР-реализация343
ХР-итерация345
Элемент ХР-разработки346
Коллективное владение кодом347
Взаимодействие с заказчиком349
Стоимость изменения и проектирование349
Контрольные вопросы352
 
Глава 16. Объектно-ориентированное тестирование354
 
Расширение области применения объектно-ориентированного тестирования354
Изменение методики при объектно-ориентированном тестировании356
Особенности тестирования объектно-ориентированных «модулей»356
Тестирование объектно-ориентированной интеграции357
Объектно-ориентированное тестирование правильности358
Проектирование объектно-ориентированных тестовых вариантов358
Тестирование, основанное на ошибках360
Тестирование, основанное на сценариях361
Тестирование поверхностной и глубинной структуры362
Способы тестирования содержания класса363
Стохастическое тестирование класса363
Тестирование разбиений на уровне классов364
Способы тестирования взаимодействия классов365
Стохастическое тестирование366
Тестирование разбиений367
Тестирование на основе состояний367
Предваряющее тестирование при экстремальной разработке369
Контрольные вопросы385
 
Глава 17. Автоматизация конструирования
визуальной модели программной системы387
 
Общая характеристика CASE-системы Rational Rose387
Создание диаграммы Use Case390
Создание диаграммы последовательности393
Создание диаграммы классов399
Создание компонентной диаграммы409
Генерация программного кода411
 
Заключение421
 
Приложение А. Факторы затрат
постархитектурной модели СОСОМО II423
 
Приложение Б. Терминология языка UML
и унифицированного процесса431
 
Приложение В. Основные средства языка
программирования Ada 95439
 
Список литературы454
 
Алфавитный указатель459

Книги на ту же тему

  1. Разработка программных проектов: на основе Rational Unified Process (RUP), Полис Г., Огастин Л., Лоу К., Мадхар Д., 2009
  2. Как проектируются и создаются программные комплексы: Мифический человеко-месяц: Очерки по системному программированию, Брукс мл. Ф. П., 1979
  3. Объектно-ориентированный анализ и проектирование с использованием UML и IBM Rational Rose, Леоненков А. В., 2006
  4. Как пасти котов. Наставление для программистов, руководящих другими программистами, Рейнвотер Д. Х., 2011

© 1913—2013 КнигоПровод.Ruhttp://knigoprovod.ru