PrIS
.pdf1
Міністерство освіти та науки України
В.В. Литвин, Н.Б. Шаховська
Проектування інформаційних систем
Навчальний посібник з курсу “Проектування інформаційних систем”
для студентів базового «Консолідована інформація»
Львів – 2010
2
У навчальному посібнику розглядаються структурний та об’єктноорієнтований підходи до логічного та фізичного проектування інформаційних систем. Детально описуються види діаграм, які реалізують ці підходи та мова уніфікованого моделювання UML. Розглянуто CASE-засоби, які призначені для побудови відповідних діаграм. Розглядається поняття життєвого циклу проекту, аналізуються методи визначення цілей проекту та вибирання альтернатив реалізації проекту.
Навчальний посібник призначений для студентів, що навчаються за напрямами підготовки “Комп’ютерні науки” та „Системний аналіз”, для магістрів спеціальностей, які базуються на цих напрямах підготовки, а також для магістрів спеціальності «Консолідована інформація».
Відповідальний за випуск: |
д.т.н., проф. Пасічник В.В. |
Рецензенти: д.т..н., професор Бунь Р.А.
д.ф.-м.н., професор Цегелик Г.Г.
д.т.н., доцент Романишин Ю.М.
3
Зміст |
|
Вступне слово авторів............................................................................. |
18 |
ПЕРЕЛІК УМОВНИХ СКОРОЧЕНЬ..................................................... |
19 |
РОЗДІЛ 1. Складність розроблення інформаційних систем ................. |
20 |
1.1. Складність програмного забезпечення............................................ |
21 |
1.2. Структура складних систем............................................................. |
25 |
1.2.1. Приклади складних систем ....................................................... |
25 |
1.2.2. П'ять ознак складної системи.................................................... |
27 |
1.2.3. Організована і неорганізована складність................................ |
29 |
1.3. Методи подолання складності......................................................... |
32 |
1.3.1. Роль декомпозиції...................................................................... |
32 |
1.3.3. Роль абстракції........................................................................... |
35 |
1.3.4. Роль ієрархії............................................................................... |
36 |
1.4. Про проектування складних систем ................................................ |
39 |
1.4.1. Інженерна справа як наука і мистецтво.................................... |
39 |
1.4.2. Сенс проектування..................................................................... |
40 |
Висновки ................................................................................................. |
43 |
Контрольні питання................................................................................ |
43 |
РОЗДІЛ 2. Інформаційні системи та їх характеристики........................ |
44 |
2.1. Базові означення............................................................................... |
44 |
2.2. Методи проектування інформаційних систем ................................ |
48 |
2.3. Види інформаційних систем............................................................ |
51 |
2.4. Рівні моделей даних......................................................................... |
55 |
Висновки ................................................................................................. |
62 |
Контрольні питання................................................................................ |
63 |
РОЗДІЛ 3. Розвиток методологій проектування інформаційних |
|
систем...................................................................................................... |
63 |
3.1. Методологія процедурно-орієнтованого програмування............... |
64 |
3.2. Методологія об'єктно-орієнтованого програмування..................... |
67 |
3.3. Методологія об'єктно-орієнтованого аналізу і проектування ........ |
75 |
3.4. Методологія системного аналізу і системного моделювання........ |
78 |
Висновки ................................................................................................. |
81 |
Контрольні питання................................................................................ |
82 |
РОЗДІЛ 4. Історичний огляд розвитку структурної та об'єктно- |
|
орієнтованої методологій проектування інформаційних систем.......... |
83 |
4.1. Передісторія. Математичні основи.................................................. |
83 |
4.1.1. Теорія множин........................................................................... |
83 |
4
4.1.2. Теорія графів.............................................................................. |
87 |
4.1.3. Семантичні мережі.................................................................... |
91 |
4.2. Діаграми структурного системного аналізу.................................... |
94 |
4.3. Основні етапи розвитку UML.......................................................... |
94 |
Висновки ............................................................................................... |
100 |
Контрольні питання.............................................................................. |
100 |
РОЗДІЛ 5. Структурний підхід............................................................. |
102 |
5.1. Принципи структурного підходу до проектування....................... |
102 |
5.2. Структурний аналіз........................................................................ |
103 |
5.3. Структурне проектування.............................................................. |
105 |
5.4. Методологія структурного аналізу................................................ |
107 |
5.5. Інструментальні засоби структурного аналізу та проектування .. |
109 |
Висновки ............................................................................................... |
110 |
Контрольні питання.............................................................................. |
110 |
РОЗДІЛ 6. Методологія функціонального моделювання SADT......... |
111 |
6.1. Основні елементи........................................................................... |
111 |
6.2. Типи зв’язків................................................................................... |
113 |
6.3. Техніка побудови ........................................................................... |
115 |
6.4. Діаграма бізнес – функцій.............................................................. |
116 |
6.4.1. Призначення діаграми бізнес-функцій................................... |
116 |
6.4.2. Основні елементи .................................................................... |
117 |
Висновки ............................................................................................... |
118 |
Контрольні питання.............................................................................. |
118 |
РОЗДІЛ 7. Діаграми потоків даних...................................................... |
111 |
7.1. Призначення діаграм потоків даних та основні елементи............ |
119 |
7.1.1. Зовнішні сутності .................................................................... |
120 |
7.1.2. Процеси.................................................................................... |
121 |
7.1.3. Накопичувачі даних................................................................. |
123 |
7.1.4. Потоки даних........................................................................... |
123 |
7.2. Методологія побудови DFD........................................................... |
124 |
Висновки ............................................................................................... |
128 |
Контрольні приклади............................................................................ |
128 |
РОЗДІЛ 8. Діаграми "сутність-зв'язок", атрибутів, категоризації....... |
129 |
8.1. Діаграма «сутність-зв’язок»........................................................... |
129 |
8.2. Діаграма атрибутів ......................................................................... |
132 |
8.3. Діаграма категоризації................................................................... |
133 |
8.4. Обмеження діаграм сутність-зв’язок............................................. |
135 |
8.5. Методологія IDEF1 ........................................................................ |
139 |
Висновки ............................................................................................... |
143 |
5
Контрольні питання.............................................................................. |
143 |
РОЗДІЛ.9. Діаграми переходів станів.................................................. |
145 |
9.1. Основні елементи........................................................................... |
145 |
9.2. Типи керуючих потоків.................................................................. |
146 |
9.3. Принципи побудови....................................................................... |
148 |
Висновки ............................................................................................... |
149 |
Контрольні питання.............................................................................. |
149 |
РОЗДІЛ. 10. Структурне проектування на етапі проектування |
|
програмного забезпечення.................................................................... |
152 |
10.1. Структурні карти Константайна.................................................. |
152 |
10.2. Структурні карти Джексона......................................................... |
154 |
Висновки ............................................................................................... |
157 |
Контрольні питання.............................................................................. |
158 |
РОЗДІЛ 11. Засоби створення діаграм................................................. |
145 |
11.1. Призначення CASE-технологій ................................................... |
158 |
11.2. Інструментальний засіб BPwin .................................................... |
161 |
11.2.1. IDEF0...................................................................................... |
162 |
11.2.2. DFD ........................................................................................ |
166 |
11.2.3. IDEF3...................................................................................... |
170 |
11.2.4. Інші діаграми BPWin............................................................. |
172 |
11.2.5. Моделі AS IS і TO BE............................................................ |
176 |
11.3. ERwin............................................................................................ |
158 |
11.3.1. Основні властивості............................................................... |
178 |
11.3.2. Стандарт IDEF1X................................................................... |
182 |
11.4. Програмний засіб Visio ................................................................ |
189 |
Висновки ............................................................................................... |
193 |
Контрольні питання.............................................................................. |
193 |
РОЗДІЛ 12. Приклади моделей структурного проектування.............. |
194 |
12.1. Системний аналіз області наукових досліджень......................... |
194 |
12.1.1. Аналіз предметної області..................................................... |
194 |
12.1.2. ER - діаграми системи аналізу наукових досліджень .......... |
200 |
12.1.3. DF-діаграми системи аналізу наукових досліджень ............ |
203 |
12.2. Системний аналіз біржі праці...................................................... |
205 |
12.2.1. Дерево цілей........................................................................... |
205 |
12.2.2. Опис об’єктів предметної області......................................... |
207 |
12.2.3. Концептуальна модель.......................................................... |
210 |
РОЗДІЛ 13. Характеристики CASE-засобів......................................... |
216 |
13.1. Silverrun+JAM............................................................................... |
216 |
13.1.1. Silverrun.................................................................................. |
216 |
6
13.1.2. JAM ........................................................................................ |
218 |
13.2. Vantage Team Builder (Westmount I-CASE) + Uniface................. |
221 |
13.2.1. Vantage Team Builder (Westmount I-CASE) .......................... |
221 |
13.2.2. Uniface.................................................................................... |
223 |
13.3. Designer/2000 + Developer/2000 ................................................... |
224 |
РОЗДІЛ 14. Об'єктна модель ................................................................ |
227 |
14.1. Еволюція об'єктної моделі........................................................... |
227 |
14.1.1. Основні положення об'єктної моделі.................................... |
227 |
14.1.2. OOP, OOП і ООА................................................................... |
228 |
14.2. Складові частини об'єктного підходу.......................................... |
232 |
14.2.1. Парадигми програмування.................................................... |
232 |
14.2.2. Абстрагування ....................................................................... |
233 |
14.2.3. Інкапсуляція........................................................................... |
240 |
14.2.4. Модульність........................................................................... |
245 |
14.2.5. Ієрархія................................................................................... |
249 |
14.2.6. Типізація ................................................................................ |
254 |
14.2.7. Паралелізм ............................................................................. |
261 |
14.2.8. Збереженість .......................................................................... |
263 |
14.3. Застосування об'єктної моделі..................................................... |
264 |
14.3.1. Переваги об'єктної моделі..................................................... |
264 |
14.3.2. Використання об'єктного підходу......................................... |
266 |
14.3.3. Відкриті питання.................................................................... |
266 |
Висновки ............................................................................................... |
267 |
Контрольні питання.............................................................................. |
267 |
РОЗДІЛ 15. Класи й об'єкти.................................................................. |
269 |
15.1. Природа об'єкта............................................................................ |
269 |
15.1.1. Що є й що не є об'єктом?....................................................... |
269 |
15.1.2. Стан........................................................................................ |
271 |
15.1.3. Поведінка............................................................................... |
273 |
15.1.4. Ідентичність........................................................................... |
278 |
15.2. Відношення між об'єктами........................................................... |
284 |
15.2.1. Типи відношень..................................................................... |
284 |
15.2.2. Зв'язки .................................................................................... |
284 |
15.2.3. Агрегація................................................................................ |
288 |
15.3. Природа класів ............................................................................. |
290 |
15.3.1. Що таке клас? ........................................................................ |
290 |
15.3.2. Інтерфейс і реалізація............................................................ |
290 |
15.3.3. Життєвий цикл класу............................................................. |
292 |
15.4. Відношення між класами............................................................. |
292 |
7
15.4.1. Типи відношень..................................................................... |
|
292 |
15.4.2. Асоціація................................................................................ |
|
293 |
15.4.3. Успадкування......................................................................... |
|
295 |
15.4.4. Агрегація................................................................................ |
|
309 |
15.4.5. Використання......................................................................... |
|
310 |
15.4.6. Інсталювання (Параметризація)............................................ |
312 |
|
15.4.6. Метакласи .............................................................................. |
|
314 |
15.5. Взаємозв'язок класів і об'єктів |
..................................................... |
316 |
15.5.1. Відношення між класами й об'єктами................................... |
316 |
|
15.5.2. Роль класів і об'єктів в аналізі й проектуванні..................... |
316 |
|
Висновки ............................................................................................... |
|
317 |
Контрольні питання.............................................................................. |
|
317 |
РОЗДІЛ 16. Класифікація ..................................................................... |
|
319 |
16.1. Важливість правильної класифікації........................................... |
319 |
|
16.1.1. Класифікація й об’єктно-орієнтовне проектування ............. |
319 |
|
16.1.2. Труднощі класифікації .......................................................... |
|
320 |
16.2. Ідентифікація класів і об'єктів |
..................................................... |
323 |
16.2.1. Класичний і сучасний підходи.............................................. |
323 |
|
16.2.2. Об’єктно-орієнтований аналіз............................................... |
326 |
|
16.3. Ключові абстракції й механізми.................................................. |
332 |
|
16.3.1. Ключові абстракції ................................................................ |
|
332 |
16.3.2. Ідентифікація механізмів....................................................... |
|
333 |
Висновки ............................................................................................... |
|
335 |
Контрольні питання.............................................................................. |
|
335 |
РОЗДІЛ 17. Основні компоненти мови UML....................................... |
337 |
|
17.1. Призначення мови UML............................................................... |
|
339 |
17.2. Загальна структура мови UML .................................................... |
342 |
|
17.3. Пакети в мові UML....................................................................... |
|
346 |
17.4. Основні пакети мета-моделі мови UML...................................... |
348 |
|
17.5. Специфіка опису мета-моделі мови UML................................... |
358 |
|
17.6. Особливості зображення діаграм мови UML.............................. |
362 |
|
Висновки ......................................... |
Ошибка! Закладка не определена. |
|
Контрольні питання.............................................................................. |
|
367 |
РОЗДІЛ 18. Діаграма варіантів використання (use case diagram) ....... |
337 |
|
18.1. Варіант використання................................................................... |
|
369 |
18.2. Актори........................................................................................... |
|
371 |
18.3. Інтерфейси.................................................................................... |
|
373 |
18.4. Примітки....................................................................................... |
|
375 |
18.5. Відношення на діаграмі варіантів використання........................ |
376 |
8
18.5.1. Відношення асоціації............................................................. |
|
377 |
13.5.2. Відношення розширення....................................................... |
|
379 |
18.5.3. Відношення узагальнення |
..................................................... |
381 |
18.5.4. Відношення включення......................................................... |
|
383 |
18.6. Приклад побудови діаграми варіантів використання................. |
384 |
|
18.7. Рекомендації з розроблення діаграм варіантів використання.... |
389 |
|
Висновки ......................................... |
Ошибка! Закладка не определена. |
|
Контрольні питання.............................................................................. |
|
392 |
РОЗДІЛ 19. Діаграма класів (class diagram)......................................... |
392 |
|
19.1. Клас............................................................................................... |
|
394 |
19.1.1. Ім'я класу................................................................................ |
|
395 |
19.1.2. Атрибути класу...................................................................... |
|
396 |
19.1.3. Операція................................................................................. |
|
400 |
19.2. Відношення між класами............................................................. |
|
404 |
19.2.1. Відношення залежності......................................................... |
|
404 |
19.2.2. Відношення асоціації............................................................. |
|
406 |
19.2.3. Відношення агрегації............................................................. |
|
409 |
19.2.4. Відношення композиції......................................................... |
|
411 |
19.2.5. Відношення узагальнення |
..................................................... |
412 |
19.3. Інтерфейси.................................................................................... |
|
416 |
19.4. Об'єкти.......................................................................................... |
|
416 |
19.5. Шаблони або параметризовані класи .......................................... |
417 |
|
19.6. Рекомендації з побудови діаграми класів.................................... |
419 |
|
Висновки ......................................... |
Ошибка! Закладка не определена. |
|
Контрольні питання.............................................................................. |
|
420 |
РОЗДІЛ 20. Діаграма станів (statechart diagram).................................. |
421 |
|
20.1. Автомати....................................................................................... |
|
422 |
20.2. Стан............................................................................................... |
|
425 |
20.2.1. Ім'я стану................................................................................ |
|
427 |
20.2.2. Список внутрішніх дій .......................................................... |
|
427 |
20.2.3. Початковий стан.................................................................... |
|
428 |
20.2.4. Кінцевий стан......................................................................... |
|
429 |
20.3. Перехід.......................................................................................... |
|
429 |
20.3.1. Подія....................................................................................... |
|
430 |
20.3.2. Сторожова умова................................................................... |
|
431 |
20.3.3.Вираз дії.................................................................................. |
|
433 |
15.4. Складений стан і підстан.............................................................. |
|
434 |
20.4.1. Послідовні підстани............................................................... |
|
434 |
20.4.2. Паралельні підстани .............................................................. |
|
436 |
9
15.5. Історичний стан............................................................................ |
|
437 |
20.6. Складні переходи ......................................................................... |
|
439 |
15.6.1. Переходи між паралельними станами .................................. |
439 |
|
20.6.2. Переходи між складеними станами...................................... |
440 |
|
20.6.3. Синхронізуючі стани............................................................. |
|
441 |
20.7. Рекомендації з побудови діаграм станів...................................... |
444 |
|
Висновки ......................................... |
Ошибка! Закладка не определена. |
|
Контрольні питання.............................................................................. |
|
445 |
РОЗДІЛ 21. Діаграма діяльності (activity diagram).............................. |
447 |
|
21.1. Стан дії.......................................................................................... |
|
448 |
21.2. Переходи....................................................................................... |
|
449 |
21.3. Доріжки......................................................................................... |
|
455 |
21.4. Об'єкти.................................... |
Ошибка! Закладка не определена. |
|
21.4. Об'єкти.......................................................................................... |
|
457 |
21.5. Рекомендації до побудови діаграм діяльності ............................ |
460 |
|
Висновки ......................................... |
Ошибка! Закладка не определена. |
|
Контрольні питання.............................................................................. |
|
462 |
Розділ 22. Діаграма послідовності (sequence diagram)......................... |
463 |
|
22.1. Об'єкти.......................................................................................... |
|
464 |
22.1.1. Лінія життя об'єкта ................................................................ |
|
465 |
22.1.2. Фокус керування.................................................................... |
|
465 |
22.2. Повідомлення............................................................................... |
|
467 |
22.2.1. Розгалуження потоку керування........................................... |
469 |
|
22.2.2. Стереотипи повідомлень....................................................... |
|
470 |
22.2.3. Тимчасові обмеження на діаграмах послідовності .............. |
472 |
|
22.2.4. Коментарі або примітки ........................................................ |
|
473 |
22.3. Приклад побудови діаграми послідовності................................. |
473 |
|
22.4. Рекомендації з побудови діаграм послідовності......................... |
475 |
|
Висновки......................................... |
Ошибка! Закладка не определена. |
|
Контрольні питання.............................................................................. |
|
477 |
РОЗДІЛ 23. Діаграма кооперації (collaboration diagram)..................... |
478 |
|
23.1. Кооперація.................................................................................... |
|
479 |
23.2. Об'єкти.......................................................................................... |
|
482 |
23.2.1. Мультиоб'єкт.......................................................................... |
|
484 |
23.2.2. Активний об'єкт..................................................................... |
|
484 |
23.2.3. Складений об'єкт ................................................................... |
|
486 |
23.3. Зв'язки........................................................................................... |
|
487 |
23.3.1. Стереотипи зв'язків................................................................ |
|
487 |
23.4. Повідомлення............................................................................... |
|
489 |
10
23.4.1. Формат запису повідомлень.................................................. |
490 |
|
23.5. Приклад побудови діаграми кооперації ...................................... |
493 |
|
23.6. Рекомендації з побудови діаграм кооперації .............................. |
495 |
|
Висновки ......................................... |
Ошибка! Закладка не определена. |
|
Контрольні питання.............................................................................. |
|
497 |
РОЗДІЛ 24. Діаграма компонентів (component diagram)..................... |
498 |
|
24.1. Компоненти.................................................................................. |
|
499 |
24.1.1. Ім'я компоненту..................................................................... |
|
500 |
24.1.2. Види компонент..................................................................... |
|
501 |
24.2. Інтерфейси.................................................................................... |
|
503 |
24.3. Залежності .................................................................................... |
|
504 |
24.4. Рекомендації з побудови діаграми компонент............................ |
507 |
|
Висновки ......................................... |
Ошибка! Закладка не определена. |
|
Контрольні питання.............................................................................. |
|
508 |
РОЗДІЛ 25. Діаграма розгортання (deployment diagram) .................... |
510 |
|
25.1. Вузол............................................................................................. |
|
511 |
25.2. З'єднання....................................................................................... |
|
514 |
25.3. Рекомендації з побудови діаграми розгортання.......................... |
518 |
|
Висновки ......................................... |
Ошибка! Закладка не определена. |
|
Контрольні питання.............................................................................. |
|
519 |
РОЗДІЛ 26. Особливості реалізації мови UML в CASE- |
|
|
інструментарії Rational Rose........... |
Ошибка! Закладка не определена. |
26.1.Загальна характеристика CASE-засобу Rational RoseОшибка! Зак
26.2.Особливості робочого інтерфейсу Rational RoseОшибка! Закладк
26.1.1.Головне меню програми..Ошибка! Закладка не определена.
26.1.2.Стандартна панель інструментівОшибка! Закладка не опред
26.1.3. Вікно браузера .................Ошибка! Закладка не определена.
26.1.4. Спеціальна панель інструментівОшибка! Закладка не опреде
26.1.5. Вікно діаграми................. |
Ошибка! Закладка не определена. |
26.1.6. Вікно документації.......... |
Ошибка! Закладка не определена. |
26.1.7. Вікно журналу.................. |
Ошибка! Закладка не определена. |
26.3.Початок роботи над проектом у середовищі Rational RoseОшибка
26.4.Розроблення діаграми варіантів використання в середовищі
Rational Rose.................................... |
Ошибка! Закладка не определена. |
26.5.Розроблення діаграми класів у середовищі Rational RoseОшибка!
26.6.Розроблення діаграми станів у середовищі Rational RoseОшибка!
26.7.Розроблення діаграми послідовності в середовищі Rational
Rose..................................................Ошибка! Закладка не определена.
26.8. Розроблення діаграми кооперації в середовищі Rational RoseОшиб