Архитектура и проектирование программных систем: монография. 2 изд

Архитектура и проектирование программных систем: монография. 2 изд

Архитектура и проектирование программных систем: монография. 2 изд
Автор: Назаров Станислав Викторович
Дата выхода: 2023
Издательство: Инфра-М
Количество страниц: 375
Размер файла: 62,0 МБ
Тип файла: PDF
Добавил: zedchi
 Проверить на вирусы

Предисловие ....3

Введение ....5

Глава 1. Проблемы создания больших программных систем ....9

1.1. Особенности разработки сложных (больших)программных систем ....9

1.2. Проблемы создания ПС ....13

1.3. Кризис программирования. Инженерный подходк разработке ПС ....15

1.4. Становление и развитие программной инженерии....16

1.5. Развитие технологий программирования ....20

Литература к главе 1 ....28

Глава 2. Архитектуры программных систем ....31

2.1. Понятие архитектуры программной системы ....31

2.2. Почему важна архитектура ....35

2.3. Как появляется архитектура. Кто и что влияет на архитектуру ....37

2.4. Архитектурные образцы, эталонные модели иэталонные варианты архитектуры ....39

2.5. Что определяет и на что влияет выбранная архитектура....41

2.6. Архитектурные структуры и представления ....50

2.7. Отношения между структурами ....54

2.8. Варианты архитектур программных систем....55

2.8.1. Архитектура, основанная на уровнях абстракций ....55

2.8.2. Архитектуры, основанные на портах ....60

2.8.3. Архитектуры, основанные на потоках данных ....65

2.8.4. Архитектуры независимых компонентов ....65

2.8.5. Сервис-ориентированные архитектуры (SOA)....67

2.9. Архитектурные представления программных систем....69

2.9.1. Архитектурный вид- структура многослойнойпрограммной системы ....70

2.9.2. Архитектурный вид - размещение программной системы....71

2.9.3. Архитектурный вид - размещение программнойсистемы, основанной на потоках данных ....80

2.9.4. Архитектурный вид- распределение работпо группам разработчиков ....81

Литература к главе 2 ....86

Глава 3. Жизненный цикл программных систем....88

3.1. Понятие жизненного цикла программных систем ....88

3.2. Основные процессы ЖЦ ПС ....89

3.3. Вспомогательные процессы ЖЦ ПО ....94

3.4. Организационные процессы ЖЦ ПС ....97

3.5. Взаимосвязь между процессами ЖЦ ПС ....98

3.6. Модели и стадии ЖЦ ПС ....99

3.7. Виды моделей ЖЦ ПС и технологии созданияпрограммных систем ....103

3.7.1. Каскадная модель (классический жизненный цикл)....103

3.7.2. Итерационная модель ЖЦ ПС ....105

3.7.3. Макетирование ....106

3.7.4. Стратегии конструирования ПС ....108

3.7.5. Инкрементная модель....108

3.7.6. Спиральная модель ЖЦ ПО ....109

3.7.7. Рациональный унифицированный процесс ....111

3.7.8. Sсгum-методология ....117

3.7.9. Аgilе-методологии ....122

3.7.10. Управление жизненным циклом приложений....130

Литература к главе 3 ....140

Глава 4. Проектирование программных систем. Определениетребований и целей программного продукта ....142

4.1. Процесс проектирования как последовательная трансляциятребований, предъявляемых к системе ....142

4.2. Методология решения задач проектирования ПС по Г. Майерсу ....148

4.3. Уровни требований к программным системам ....150

4.4. Определение требований к программным системам ....154

4.4.1. Постановка задачи и принципы разработки требований ....154

4.4.2. Бизнес-моделирование ....159

4.4.3. Определение функциональных требований ....165

4.4.4. Определение нефункциональных (эксплуатационных)требований ....169

4.5. Анализ и управление требованиями ....170

4.6. Требования и риски ....175

4.7. Проверка правильности требований ....180

4.8. Цели программного продукта....183

4.9. Постановка целей для программной системы" ....187

4.9.1. Цели продукта ....187

4.9.2. Цели проекта ....189

Литература к главе 4 ....190

Глава 5. Разработка предварительного внешнего проекта....192

5.1. Представление и анализ требований ....192

5.1.1. Требования в V -модели Халла....192

5.1.2. Моделирование в определении требованийи спецификаций ....194

5.1.3. Разработка программных систем, управляемая моделями ....196

5.2. Анализ требований и определение спецификаций.Структурный подход ....199

5.2.1. Спецификации ....199

5.2.2. Структурный подход представления спецификаций ....204

5.2.3. Метод функционального моделирования ....205

5.2.4. Диаграммы потоков данных ....211

5.2.5. Диаграммы переходов состояний....218

5.3. Анализ требований и определение спецификацийпри объектном подходе ....219

5.3.1. Общие сведения о языке UМL как языкемоделирования сложных систем ....219

5.3.2. Определение прецедентов использования....224

5.3.3. Концептуальная модель предметной области ....228

5.3.4. Описание поведения системы ....234

5.4. Разработка предварительного внешнего проекта ....241

5.4.1. Процесс внешнего проектирования ....241

5.4.2. Проектирование взаимодействия с пользователем....243

5.4.3. Подготовка внешних спецификаций ....245

5.4.4. Проверка правильности внешних спецификаций ....250

Литература к главе 5 ....253

Глава 6. Проектирование архитектуры программных систем ....255

6.1. Методология проектирования ....255

6.2. Модульность ....258

6.2.1. Модули, модульно-интерфейсный подход,модульное программирование ....258

6.2.2. Обоснование модульности ....260

6.2.3. Внутренняя характеристика модуля - связность(прочность) ....262

6.2.4. Сцепление модулей - внешняя характеристика модуля ....268

6.3. Сложность программной системы ....269

6.3.1. Методы оценки сложности ....269

6.3.2. Оценка сложности на основе связностии сцепления модулей ....274

6.4. Представление архитектуры программных систем ....279

6.4.1. Модульно-интерфейсный подход"....279

6.4.2. Объектно ориентированный поход ....281

6.4.3. Компонентный подход ....285

6.5. Слои программного продукта ....287

6.6. Методы структурного проектирования ....292

6.6.1. Метод восходящей разработки («снизу вверх») ....292

6.6.2. Метод нисходящей разработки («сверху вниз») ....295

6.6.3. Заключительные замечания по структурномупроектированию ....297

6.7. Формально е описание методики разработки модульнойархитектуры программной системы ....298

6.7.1. Проектирование «сверху вниз» ....298

6.7.2. Проектирование «снизу вверх» ....303

6.7.3. Еще раз о проектировании архитектуры ПС на основеобъектно ориентированной и компонентной методологии ....305

Литература к главе 6 ....307

Глава 7. Рефакторинг программных систем ....310

7.1. Что такое рефакторинг ....310

7.2. Рефакторинг, проектирование и производительность программ ....320

7.3. Когда применять рефакторинг ....323

7.4. Уровни рефакторинга ....333

7.5. Методы рефакторинга ....335

7.5.1. Основные методы ....335

7.5.2. Формализация процесса рефакторинга на основесимвольной записи структуры классов ....336

7.6. Архитектурный рефакторинг ....340

7.6.1. Когда нужен архитектурный рефакторинг ....340

7.6.2. Построение архитектуры ПС по ее программному коду ....342

7.6.3. Рефакторинг архитектуры многослойнойиерархической ПС ....348

7.6.4. Слои в архитектуре ПС. Паттерн выделения слоев ....351

7.7. Архитектурный рефакторинг для повышенияпроизводительности многослойных программных систем ....353

7.7.1. Возможный подход к созданию программных систем....353

7.7.2. Представление созданной архитектуры ПС ....355

7.7.3. Анализ на соответствие послойной архитектуре(выделение слоев) ....357

7.7.4. Коррекция (трансформация) архитектурыв интересах ее рефакторинга ....359

7.7.5. Рефакторинг архитектуры в интересах повышенияпроизводительности ПС ....363

Литература к главе 7 ....367

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


Похожее:

Список отзывов:

Нет отзывов к книге.