О-13 |
Об'єктно-орієнтоване моделювання при проектуванні вбудованих систем і систем реального часу [Текст] : навч. посіб. / В. В. Литвинов, С. В. Голуб, К. М. Григор'єв, В. Ю. Жигульська. – К.-Черкаси : ІнтролігаТОР, 2011. – 379 с.
У навчальному посібнику описаний процес проектування систем реального часу, вбудованих систем. Розглянуто всі етапи життєвого циклу розробки моделей, починаючи від аналізу і закінчуючи тестуванням.
Посібник призначений для вивчення модуля "Проектування комп'ютерних інформаційних систем реального часу" дисципліни "Системний аналіз та проектування комп'ютерних інформаційних систем" студентами, що навчаються за напрямом "Комп'ютерні науки". Він буде корисним також для науковців, інженерно-технічних працівників, викладачів, аспірантів та студентів, що займаються промисловою розробкою програмного забезпечення складних комп'ютерних інф
ЗМІСТ
Перелік умовних скорочень............................................................ 10
Передмова 11
РОЗДІЛ 1. ВСТУП ДО ВБУДОВАНИХ СИСТЕМ 1 СИСТЕМ
РЕАЛЬНОГО ЧАСУ 12
1.1. Особливості систем реального часу 13
1.2. Способи накладання часових обмежень 16
1.3. Приклади систем реального часу 20
Висновки 24
Контрольні запитання та завдання 25
Посилання на літературу 26
РОЗДІЛ 2. МОДЕЛІ ЖИТТЄВОГО ЦИКЛУ
РОЗРОБКИ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 27
2.1. Каскадна модель ЖЦ 27
2.2. Інкрементна модель ЖЦ 29
2.3. Життєвий цикл розробки об'єктно-орієнтованих систем 30
Висновки 33
Контрольні запитання та завдання 34
Посилання на літературу 35
РОЗДІЛ 3. ОСНОВНІ РИСИ ОБ'ЄКТНО-ОРІЄНТОВАНОГО ПРОЕКТУВАННЯ СИСТЕМ РЕАЛЬНОГО ЧАСУ ТА ВБУДОВАНИХ СИСТЕМ З
ВИКОРИСТАННЯМ UML 36
3.1. Об'єктно-орієнтована парадигма та UML 36
3.1.1. Переваги використання об'єктів при проектуванні
систем реального часу 36
3.1.2. Історія створення UML 37
3.1.3. Об'єкти 38
3.1.4. Атрибути 43
3.1.5. Поведінка 43
3.1.6. Робота з повідомленнями 47
3.1.7. Паралельність 48
3.2. Класи 48
3.2.1. Відношення між класами і об'єктами 50
3.2.1.1. Асоціації 52
3.2.1.2. Агрегація 53
3.2.1.3. Композиція 54
3.2.1.4. Узагальнення 54
3.2.1.5. Залежність 56
3.3. UML - нотації 59
Висновки 80
Контрольні запитання та завдання 81
Посилання па літературу 82
РОЗДІЛ 4. ЕТАН АНАЛІЗУ ВИМОГ ДЛЯ ВБУДОВАНИХ
СИСТЕМ І СИСТЕМ РЕАЛЬНОГО ЧАСУ 83
4.1. Прецедент 87
4.2. Актори 88
4.3. Вимоги 89
4.4. Відношення прецедентів. 91
4.5. Використання прецедентів 92
4.6. Уточнення деталей прецедентів 93
4.7. Сценарії 93
4.7.1. Діаграми послідовності 95
4.7.2. Властивості повідомлень 96
4.7.2.1. Метамоделі 96
4.7.2.2. Встановлення часу і часових характеристик 101
4.7.3. Діаграми станів і прецеденти 102
4.8. Ідентифікація прецедентів 104
Висновки 106
Контрольні запитання та завдання 107
Посилання на літературу 108
РОЗДІЛ 5. ЕТАП ОБ'ЄКТНОГО СТРУКТУРНОГО АНАЛІЗУ. ДЛЯ
ВБУДОВАНИХ СИСТЕМ І СИСТЕМ РЕАЛЬНОГО ЧАСУ . 109
5.1. Процес визначення об'єктів 110
5.2. Зв'язування об'єктної моделі з моделлю прецедентів 111
5.3. Ключові стратегії для ідентифікації об'єктів 111
5.3.1. Стратегія підкреслення іменників 113
5.3.2. Ідентифікація причинних об'єктів 117
5.3.3. Ідентифікація сервісів (пасивні об'єкти) 118
5.3.4. Ідентифікація на базі об'єктів реального світу 118
5.3.5. Ідентифікація об'єктів на базі фізичних пристроїв 119
5 3.6. Ідентифікація ключових концептів 120
5.3.7. Ідентифікація об'єктів на базі транзакцій 120
5.3.8. Ідентифікація інформації, що зберігається 122
5.3.9. Ідентифікація візуальних елементів 122
5.3.10. Ідентифікація керуючих елементів 123
5.3.11. Використання сценаріїв 126
5.4. Ідентифікація зв'язків об'єктів 126
5.5. Атрибути об'єктів .. .128
5.6. Дослідження кандидатів у класи 131
5.7. Діаграми класів 132
5.7.1. Загальна характеристика 132
5.7.2. Приклад діаграми класів для системи
керування ліфтами 134
5.8. Виділення відношень між класами 135
5.8.1. Асоціації 137
5.8.2 Агрегація і композиція 138
5.8.3. Приклад операційної системи реального часу (B.TOS) 139
5.9. Асоціативні класи 143
5.10. Відношення узагальнення 143
5.10.1. Загальна характеристика 143
5.10.2. Розташування атрибутів у дереві наслідування 146
Висновки 151
Контрольні запитання та завдання 151
Посилання на літературу 153
РОЗДІЛ 6 ЕТАП ОБ'ЄКТНОГО АНАЛІЗУ: ВИЗНАЧЕННЯ
ПОВЕДІНКИ ОБ'ЄКТІВ 154
6.1. Поведінка об'єкта ....154
6.1.1. Проста поведінка : 155
6.1.2. Поведінка із станами 155
6.1.3. Неперервна поведінка 156
6.2. Визначення поведінки об'єкта в заданому стані 157
6.3. Діаграми станів в UML 159
6.3.1. Основні різновиди діаграм станів 160
6.3.1.1. Переходи 162
6.3.1.2. Псевдостани 165
6.3.1.3. Розгалуження та з'єднання 167
6.3.1.4. Дії і діяльності 168
6.3.2.1-стани 171
б.З.З.Підмашини 177
6.3.4. Наслідування моделей станів 179
6.4. Роль сценаріїв у визначенні поведінки 180
6.4.1. Часові діаграми 181
6.4.2. Діаграми послідовності 184
6.5. Ієрархії подій 187
6.6. Визначення операцій 189
6.7. Типи операцій 191
6.8. Стратегії для виділення операцій 195
Висновки 197
Контрольні запитання та завдання 198
Посилання на літературу 199
РОЗДІЛ 7. ЕТАП АРХІТЕКТУРНОГО ПРОЕКТУВАННЯ:
СТРУКТУРНІ АСПЕКТИ 200
7.1. Етапи проектування системи 202
7.2. Основні риси фази проектування архітектури 204
7.2.1. Фізична архітектура 205
7.2.2. Архітектурні питання програмного забезпечення 207
7.3. Подання фізичної архітектури в UML 212
7.4. Шаблони архітектури 216
7.4.1. Шаблон Master-Slave 217
7.4.2. Шаблон Microkernel 219
7.4.3. Шаблон Proxy 221
7.4.4. Шаблон Broker 223
7.5. Проектування паралелізму 225
7.6. Представлення потоків 225
7.6.1. Сценарії 226
7.6.2. Паралельні діаграми станів 228
7.7. Визначення потоків 230
7.7.1. Характеристика процесу 230
7.7.2. Ідентифікація потоків 231
7.8. Призначення об'єктів на потоки 233
7.9. Визначення місць зустрічі потоків 234
7.9.1. Розподіл ресурсів 235
7.9.2. Призначення пріоритетів 236
7.10. Архітектура і атрибути якості 236
7.11. Приклади програмно-технічних архітектур 247
Висновки 255
Контрольні запитання та завдання 256
Посилання на літературу 257
РОЗДІЛ 8. ЕТАП ПРОЕКТУВАННЯ АРХІТЕКТУРИ:
МАТЕМАТИЧНЕ І ІМІТАЦІЙНЕ МОДЕЛЮВАННЯ 258
8.1. Моделі систем масового обслуговування 259
8.1.1. Опис моделей СМО 260
8.1.1.1. Вхідний потік вимог 261
8.1.1.2. Дисципліни постановки вимог у чергу і вибору
вимог з неї 261
8.1.1.3. Правила обслуговування вимог. 262
8.1.1.4. Вихідний потік вимог 262
8.1.1.5. Типи систем масового обслуговування 263
8.1.2. Мережі систем масового обслуговування 264
8.1.3. Імітаційне моделювання СМО і мереж СМО 265
8.2. Моделювання з використанням формалізмів мереж Петрі 268
8.2.1. Формальне визначення мереж Петрі 268
8.2.2. Розширення мереж Петрі 270
8.2.3. Приклади моделей мереж Петрі 270
8.3. Засоби імітаційного моделювання апаратно-програмної
архітектури 272
8.3.1. GPSS 272
8.3.1.1. GPSS команди 273
8.3.1.2. Блокові вирази в GPSS 273
Висновки 277
Контрольні запитання та завдання 277
Посилання на літературу 278
РОЗДІЛ 9. ЕТАП ПРОЕКТУВАННЯ МЕХАНІЗМІВ 279
9.1. Основні особливості етапу проектування механізмів 280
9.2. Шаблони рівня проектування механізмів 283
9.2.1. Прості шаблони 285
9.2.1.1. Шаблон Observer 285
9.2.1.2. Шаблон Model-View-Controller (MVC) 289
9.2.1.3. Шаблон Transaction 291
9.2.1.4. Шаблон Smart Pointer 296
9.2.2. Шаблони повторного використання 298
9.2.2.1. Шаблон Container 299
9.2.2.2. Шаблон Interface 301
9.2.2.3. Шаблон Policy 304
9.2.2.4. Шаблон Rendezvous 305
9.3. Бібліотеки шаблонів 311
9.4. Каркаси.... 314
9.4.1. Загальна характеристика : 314
9.4.2. Каркаси для веб-додатків 316
9.4.3. PHP-орієнтовані каркаси 322
9.5. Стандартна обчислювальна інфраструктура, орієнтована на використання технології J2EE/EJB 332
9.6. Архітектура системи Luther, яка використовує
технологію J2EE 335
Висновки 339
Контрольні запитання та завдання 340
Посилання на літературу 341
РОЗДІЛ 10. ЕТАП ДЕТАЛЬНОГО ПРОЕКТУВАННЯ 342
10.1. Основні риси детального проектування 342
10.2. Структура даних 343
10.3. Структура колекції даних 349
10.4. Асоціації 350
10.5. Операції 353
10.6. Рекомендації до встановлення видимості 355
10.7. Алгоритми 357
10.8. Винятки 366
10.9. Приклад детального проектування з
використанням шаблону 369
Висновки 378
Контрольні запитання і завдання 379
Посилання на літературу 380
РОЗДІЛ 11. ЕТАН ТЕСТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 381
11.1. Класифікація відмов 382
11.2. Основні методи тестування 383
11.3. Принципи тестування програмного забезпечення 383
11.4. Опис типів тестів програмного забезпечення 385
11.4.1. Юніт-тестування (White Box) 385
11.4.2. Інтеграційне тестування 385
11.4.3. Функціональне тестування 387
11.4.4. Регресивне тестування 387
11.4.5. Системне тестування 388
11.5. Планування тестування 389
11.6. Розробка тестів 391
11.7. Виконання тестів і обробка результатів тестування 393
11.8. Тестування програм реального часу та
вбудованих систем 396
11.9. Управління тестуванням 397
11.9.1. Тестування програмного забезпечення об'єктно-орієнтованих систем 397
11.9.2. Огляд особливостей технології тестування FREE 398
11.9.3. Модель станів для FREE технології 401
11.9.4. Тестування класів на основі виконання 403
11.9.5. Тестування класів або малих кластерів, що базується
на представленні 405
11.9.6. Інтеграція великих кластерів і підсистем 406
11.9.7. Тестування системи з використанням
розширених Use Cases 408
11.10. Особливості процесів програмування,
налагодження і тестування програм для вбудованих
систем і систем реального часу 411
11.10.1. Технологія створення програмного коду " 412
11.10.2. Режим налагодження (Background Debug Mode-BDM) 416
11.10.3. Апаратні і програмні засоби налагодження Р&Е
від компанії PEMICRO 422
11.10.4. Емулятори 423
11.10.5. Логічні аналізатори 426
11.10.6. Особливості компілятора і асемблера 426
Висновки 439
Контрольні запитання та завдання 440
Посилання на літературу 440
РОЗДІЛ 12. ПРОЦЕС ПРОМИСЛОВОЇ РОЗРОБКИ
ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ СИСТЕМ РЕАЛЬНОГО
ЧАСУ ТА ВБУДОВАНИХ СИСТЕМ 443
12.1. Терміни та визначення, що використовуються в
процесі промислової розробки
програмного забезпечення 444
12.2. Рівні моделей процесу розробки
програмного забезпечення 445
12.3. Функції підтримки процесу розробки програмного
забезпечення 450
12.3.1. Забезпечення якості розробки програмного забезпечення 451
12.3.2. Програмно-технічна розробка програмного забезпечення 454
12.3.3. Функції оптимізації процесу розробки програмного
забезпечення (ОПРПЗ) 456
12.4. Документація, яку створюють під час розробки програмних продуктів 457
12.5. Фрагменти структури організації, яка працює над розробками програмних продуктів 458
12.6. Спеціалізація (ролі) персоналу 459
12.7. Правила хорошого тону при менеджменті проектами з розробки об'єктно-орієнтованого програмного забезпечення 461
12.7.1. Практичні поради 461
12.7.1.1. Початкові принципи 461
12.7.1.2. Продукти і процеси 463
12.7.1.3. Макропроцес 464
12.7.1.4. Мікропроцес 469
12.7.1.5. Команда розробників 471
12.7.1.6. Менеджмент і планування 473
12.7.1.7. Спеціальна тематика 475
12.7.2. Правила ввічливого тону 477
12.7.2.1. Початкові 'принципи .477
12.7.2.2. Продукти і процес 477
12.7.2.3. Макропроцес 478
12.7.2.4. Мікропроцес 480
12.7.2.5. Команда розробника _ 481
12.7.2.6. Менеджмент і планування 483
12.7.2.7. Спеціальна тематика 484
Висновки 485
Контрольні запитання та завдання 486
Посилання на літературу 487
РОЗДІЛ 13. ІНТЕГРОВАНІ СЕРЕДОВИЩА ПІДТРИМКИ КЕРУВАННЯ РОЗРОБКОЮ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ РОЗПОДІЛЕНИМИ КОМАНДАМИ РОЗРОБНИКІВ 491
13.1. Що означає успіх 492
13.2. Управління вимогами 493
13.3. Завдання і "помилки" 495
13.4. Керування версіями і конфігураціями 497
13.5. Керування тестуванням 498
13.6. Вимоги до вибору інтегрованого середовища 499
13.7. Варіант інтегрованого середовища розробки
програмного забезпечення для розподілених команд 500
Висновки 501
Контрольні питання і завдання 501
Посилання на літературу 502
ТЕРМІНОЛОГІЧНИЙ СЛОВНИК 503
|