Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектування інформаційних систем.doc
Скачиваний:
93
Добавлен:
21.09.2019
Размер:
28.77 Mб
Скачать

571

Міністерство освіти та науки України в.В. Литвин, н.Б. Шаховська Проектування інформаційних систем

Навчальний посібник

з курсу “Проектування інформаційних систем”

для студентів базового «Консолідована інформація»

Львів – 2010

У посібнику розглядаються основні принципи логічного та фізичного проектування інформаційних систем. Перша частина – структурне проектування – присвячений опису таких засобів проектування, як діаграми потоків даних, діаграми «сутність-зв’язок”, діаграми станів. Далі детально описується фізичне моделювання та методи фізичного моделювання.

Розглядаються поняття життєвого циклу проекту, ідентифікація та виникнення ідеї проекту. Далі аналізуються методи визначення цілей проекту, відсів гірших варіантів і відбір ідей проекту, відбір альтернативних варіантів проекту.

Друга части присвячена об’єктно-орієнтовану проектуванню. Розглядаються поняття складність, об'єктна модель. Далі вводяться поняття классу та об'єкту, здійснюється класифікація засобів об'єктно-орієнтовано проектування.

Буде корисним для студентів, що навчаються за напрямом підготовки фахівців “Комп’ютерні науки”, «Консолідована інформація».

Відповідальний за випуск: д.т.н., проф. Пасічник В.В.

Рецензенти: д.т..н., професор Бунь Р.А.

д.ф.-м.н., професор Цегелик Г.Г.

д.т.н., доцент Романишин Ю.М.

Зміст

Вступне слово авторів 20

ПЕРЕЛІК УМОВНИХ СКОРОЧЕНЬ 21

РОЗДІЛ 1. Складність розроблення інформаційних систем 22

1.1. Складність програмного забезпечення 23

1.2. Структура складних систем 27

1.2.1. Приклади складних систем 27

1.2.2. П'ять ознак складної системи 30

1.2.3. Організована і неорганізована складність 32

1.3. Методи подолання складності 35

1.3.1. Роль декомпозиції 35

1.3.3. Роль абстракції 39

1.3.4. Роль ієрархії 40

1.4. Про проектування складних систем 43

1.4.1. Інженерна справа як наука і мистецтво 43

1.4.2. Сенс проектування 44

Висновки 47

Контрольні питання 48

РОЗДІЛ 2. Інформаційні системи та їх характеристики 49

2.1. Базові означення 50

2.2. Методи проектування інформаційних систем 54

2.3. Види інформаційних систем 57

2.4. Рівні моделей даних 61

Висновки 68

Контрольні питання 69

РОЗДІЛ 3. Розвиток методологій проектування інформаційних систем 70

3.1. Методологія процедурно-орієнтованого програмування 70

3.2. Методологія об'єктно-орієнтованого програмування 74

3.3. Методологія об'єктно-орієнтованого аналізу і проектування 82

3.4. Методологія системного аналізу і системного моделювання 86

Висновки 89

Контрольні питання 90

РОЗДІЛ 4. Історичний огляд розвитку структурної та об'єктно-орієнтованої методологій проектування інформаційних систем 91

4.1. Передісторія. Математичні основи 91

4.1.1. Теорія множин 91

4.1.2. Теорія графів 95

4.1.3. Семантичні мережі 100

4.2. Діаграми структурного системного аналізу 103

4.3. Основні етапи розвитку UML 103

Висновки 110

Контрольні питання 111

РОЗДІЛ 5. Структурний підхід 112

5.1. Принципи структурного підходу до проектування 112

5.2. Структурний аналіз 114

5.3. Структурне проектування 115

5.4. Методологія структурного аналізу 117

5.5. Інструментальні засоби структурного аналізу та проектування 120

Висновки 120

Контрольні питання 121

РОЗДІЛ 6. Методологія функціонального моделювання SADT 122

6.1. Основні елементи 122

6.2. Типи зв’язків 124

6.3. Техніка побудови 127

6.4. Діаграма бізнес – функцій 128

6.4.1. Призначення діаграми бізнес-функцій 128

6.4.2. Основні елементи 129

Висновки 130

Контрольні питання 130

РОЗДІЛ 7. Діаграми потоків даних 131

7.1. Призначення діаграм потоків даних та основні елементи 131

7.1.1. Зовнішні сутності 132

7.1.2. Процеси 133

7.1.3. Накопичувачі даних 134

7.1.4. Потоки даних 134

7.2. Методологія побудови DFD. 134

Висновки 137

Контрольні приклади 138

РОЗДІЛ 8. Діаграми "сутність-зв'язок", атрибутів, категоризації 139

8.1. Діаграма «сутність-зв’язок» 139

8.2. Діаграма атрибутів 141

8.3. Діаграма категоризації 142

8.4. Обмеження діаграм сутність-зв’язок 143

8.5. Методологія IDEF1 147

Висновки 149

Контрольні питання 150

РОЗДІЛ.9. Діаграми переходів станів 151

9.1. Основні елементи 151

9.2. Типи керуючих потоків 152

9.3. Принципи побудови 154

Висновки 156

Контрольні питання 156

РОЗДІЛ. 10. Структурне проектування на етапі проектування програмного забезпечення 157

10.1. Структурні карти Константайна 157

10.2. Структурні карти Джексона 159

Висновки 162

Контрольні питання 162

РОЗДІЛ 11. Засоби створення діаграм 163

11.1. Призначення CASE-технологій 163

11.2. Інструментальний засіб BPwin 166

11.2.1. IDEF0 166

11.2.2. DFD 169

11.2.3. IDEF3 171

11.2.4. Інші діаграми BPWin 174

11.2.5. Моделі AS IS і TO BE 176

11.3. ERwin 178

11.3.1. Основні властивості 178

11.3.2. Стандарт IDEF1X 182

11.4. Програмний засіб Visio 189

Висновки 194

Контрольні питання 194

РОЗДІЛ 12. Приклади моделей структурного проектування 196

12.1. Системний аналіз області наукових досліджень 196

12.1.1. Аналіз предметної області 196

12.1.2. ER - діаграми системи аналізу наукових досліджень 202

12.1.3. DF-діаграми системи аналізу наукових досліджень 203

12.2. Системний аналіз біржі праці 205

12.2.1. Дерево цілей 206

12.2.2. Опис об’єктів предметної області 207

12.2.3. Концептуальна модель 211

РОЗДІЛ 13. Характеристики CASE-засобів 217

13.1. Silverrun+JAM 217

13.1.1. Silverrun 217

13.1.2. JAM 220

13.2. Vantage Team Builder (Westmount I-CASE) + Uniface 222

13.2.1. Vantage Team Builder (Westmount I-CASE) 222

13.2.2. Uniface 226

13.3. Designer/2000 + Developer/2000 227

РОЗДІЛ 14. Об'єктна модель 230

14.1. Еволюція об'єктної моделі 230

14.1.1. Основні положення об'єктної моделі 230

14.1.2. OOP, OOП і ООА 231

14.2. Складові частини об'єктного підходу 236

14.2.1. Парадигми програмування 236

14.2.2. Абстрагування 237

14.2.3. Інкапсуляція 244

14.2.4. Модульність 249

14.2.5. Ієрархія 254

14.2.6. Типізація 260

14.2.7. Паралелізм 267

14.2.8. Збереженість 269

14.3. Застосування об'єктної моделі 271

14.3.1. Переваги об'єктної моделі 271

14.3.2. Використання об'єктного підходу 273

14.3.3. Відкриті питання 273

Висновки 273

Контрольні питання 274

РОЗДІЛ 15. Класи й об'єкти 275

15.1. Природа об'єкта 275

15.1.1. Що є й що не є об'єктом? 275

15.1.2. Стан 277

15.1.3. Поведінка 280

15.1.4. Ідентичність 286

15.2. Відношення між об'єктами 293

15.2.1. Типи відношень 293

15.2.2. Зв'язки 293

15.2.3. Агрегація 297

15.3. Природа класів 299

15.3.1. Що таке клас? 299

15.3.2. Інтерфейс і реалізація 300

15.3.3. Життєвий цикл класу 301

15.4. Відношення між класами 301

15.4.1. Типи відношень 301

15.4.2. Асоціація 303

15.4.3. Успадкування 304

15.4.4. Агрегація 319

15.4.5. Використання 320

15.4.6. Інсталювання (Параметризація) 321

15.4.6. Метакласи 324

15.5. Взаємозв'язок класів і об'єктів 326

15.5.1. Відношення між класами й об'єктами 326

15.5.2. Роль класів і об'єктів в аналізі й проектуванні 326

Висновки 327

Контрольні питання 327

РОЗДІЛ 16. Класифікація 329

16.1. Важливість правильної класифікації 329

16.1.1. Класифікація й об’єктно-орієнтовне проектування 329

16.1.2. Труднощі класифікації 330

16.2. Ідентифікація класів і об'єктів 333

16.2.1. Класичний і сучасний підходи 333

16.2.2. Об’єктно-орієнтований аналіз 336

16.3. Ключові абстракції й механізми 343

16.3.1. Ключові абстракції 343

16.3.2. Ідентифікація механізмів 345

Висновки 347

Контрольні питання 347

РОЗДІЛ 17. Основні компоненти мови UML 348

17.1. Призначення мови UML 350

17.2. Загальна структура мови UML 354

17.3. Пакети в мові UML 357

17.4. Основні пакети мета-моделі мови UML 360

17.5. Специфіка опису мета-моделі мови UML 370

17.6. Особливості зображення діаграм мови UML 375

Висновки 381

Контрольні питання 381

РОЗДІЛ 18. Діаграма варіантів використання (use case diagram) 382

18.1. Варіант використання 384

18.2. Актори 386

18.3. Інтерфейси 388

18.4. Примітки 390

18.5. Відношення на діаграмі варіантів використання 391

18.5.1. Відношення асоціації 392

13.5.2. Відношення розширення 394

18.5.3. Відношення узагальнення 396

18.5.4. Відношення включення 398

18.6. Приклад побудови діаграми варіантів використання 400

18.7. Рекомендації з розроблення діаграм варіантів використання 405

Висновки 408

Контрольні питання 408

РОЗДІЛ 19. Діаграма класів (class diagram) 410

19.1. Клас 411

19.1.1. Ім'я класу 412

19.1.2. Атрибути класу 413

19.1.3. Операція 418

19.2. Відношення між класами 422

19.2.1. Відношення залежності 422

19.2.2. Відношення асоціації 424

19.2.3. Відношення агрегації 427

19.2.4. Відношення композиції 429

19.2.5. Відношення узагальнення 430

19.3. Інтерфейси 434

19.4. Об'єкти 435

19.5. Шаблони або параметризовані класи 436

19.6. Рекомендації з побудови діаграми класів 438

Висновки 439

Контрольні питання 439

РОЗДІЛ 20. Діаграма станів (statechart diagram) 441

20.1. Автомати 443

20.2. Стан 446

20.2.1. Ім'я стану 447

20.2.2. Список внутрішніх дій 447

20.2.3. Початковий стан 448

20.2.4. Кінцевий стан 449

20.3. Перехід 449

20.3.1. Подія 450

20.3.2. Сторожова умова 451

20.3.3.Вираз дії 454

15.4. Складений стан і підстан 455

20.4.1. Послідовні підстани 456

20.4.2. Паралельні підстани 457

15.5. Історичний стан 459

20.6. Складні переходи 460

15.6.1. Переходи між паралельними станами 461

20.6.2. Переходи між складеними станами 462

20.6.3. Синхронізуючі стани 462

20.7. Рекомендації з побудови діаграм станів 465

Висновки 467

Контрольні питання 467

РОЗДІЛ 21. Діаграма діяльності (activity diagram) 468

21.1. Стан дії 469

21.2. Переходи 471

21.3. Доріжки 476

21.4. Об'єкти 478

21.4. Об'єкти 478

21.5. Рекомендації до побудови діаграм діяльності 482

Висновки 484

Контрольні питання 484

Розділ 22. Діаграма послідовності (sequence diagram) 485

22.1. Об'єкти 486

22.1.1. Лінія життя об'єкта 487

22.1.2. Фокус керування 487

22.2. Повідомлення 489

22.2.1. Розгалуження потоку керування 492

22.2.2. Стереотипи повідомлень 494

22.2.3. Тимчасові обмеження на діаграмах послідовності 496

22.2.4. Коментарі або примітки 497

22.3. Приклад побудови діаграми послідовності 497

22.4. Рекомендації з побудови діаграм послідовності 499

Висновки 501

Контрольні питання 501

РОЗДІЛ 23. Діаграма кооперації (collaboration diagram) 502

23.1. Кооперація 503

23.2. Об'єкти 506

23.2.1. Мультиоб'єкт 508

23.2.2. Активний об'єкт 508

23.2.3. Складений об'єкт 510

23.3. Зв'язки 511

23.3.1. Стереотипи зв'язків 511

23.4. Повідомлення 512

23.4.1. Формат запису повідомлень 514

23.5. Приклад побудови діаграми кооперації 517

23.6. Рекомендації з побудови діаграм кооперації 519

Висновки 521

Контрольні питання 521

РОЗДІЛ 24. Діаграма компонентів (component diagram) 522

24.1. Компоненти 523

24.1.1. Ім'я компоненту 524

24.1.2. Види компонент 525

24.2. Інтерфейси 527

24.3. Залежності 528

24.4. Рекомендації з побудови діаграми компонент 532

Висновки 533

Контрольні питання 533

РОЗДІЛ 25. Діаграма розгортання (deployment diagram) 535

25.1. Вузол 536

25.2. З'єднання 539

25.3. Рекомендації з побудови діаграми розгортання 542

Висновки 545

Контрольні питання 545

РОЗДІЛ 26. Особливості реалізації мови UML в CASE-інструментарії Rational Rose. 546

26.1. Загальна характеристика CASE-засобу Rational Rose 547

26.2. Особливості робочого інтерфейсу Rational Rose 548

26.1.1. Головне меню програми 549

26.1.2. Стандартна панель інструментів 550

26.1.3. Вікно браузера 550

26.1.4. Спеціальна панель інструментів 551

26.1.5. Вікно діаграми 552

26.1.6. Вікно документації 553

26.1.7. Вікно журналу 554

26.3. Початок роботи над проектом у середовищі Rational Rose 554

26.4. Розроблення діаграми варіантів використання в середовищі Rational Rose 556

26.5. Розроблення діаграми класів у середовищі Rational Rose 558

26.6. Розроблення діаграми станів у середовищі Rational Rose 560

26.7. Розроблення діаграми послідовності в середовищі Rational Rose 561

26.8. Розроблення діаграми кооперації в середовищі Rational Rose 562

26.9. Розроблення діаграми компонентів у середовищі Rational Rose 564

26.10. Розроблення діаграми розгортання в середовищі Rational Rose 565

Контрольні питання 567

Висновок 568