Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Самовчитель по UML.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
2.26 Mб
Скачать

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

Системний аналіз як науковий напрям має більш давню історію, ніж ООП і ООАП, і власний предмет дослідження. Центральним поняттям системного аналізу є поняття системи, під якою розуміється сукупність об'єктів, компонентів або елементів довільної природи, створюючих деяку цілісність. Визначальною передумовою виділення деякої сукупності як системи є виникнення у неї нових властивостей, яких не мають складові її елементи. Прикладів систем можна привести достатньо багато – це персональний комп'ютер, автомобіль, людина, біосфера, програма і ін. Більш ортодоксальна точка зору припускає, що всі навколишні нас предмети є системами.

Найважливішими характеристиками будь-якої системи є її структура і процес функціонування. Під структурою системи розуміють стійку в часі сукупність взаємозв'язків між її елементами або компонентами. Саме структура зв'язує воєдино всі елементи і перешкоджає розпаду системи на окремі компоненти. Структура системи може відображати самі різні взаємозв'язки, у тому числі і вкладеність елементів однієї системи в іншу. В цьому випадку прийнято називати більш дрібну або вкладену систему підсистемою, а більш крупну – метасистемой.

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

Розглянемо наступний приклад. Як система уявимо собі «Автомобіль». Для цього випадку система охолоджування двигуна буде підсистемою «Автомобіля». З одного боку, двигун є елементом системи «Автомобіль». З другого боку, двигун сам є системою, що складається з окремих компонентів, таких як циліндри, свічки запалення і ін. Тому система «Двигун» також буде підсистемою системи «Автомобіль».

Структура системи «Автомобіль» може бути описана з різних точок зору. Саме загальне уявлення про структуру цієї системи дає механічна схема пристрою того або іншого автомобіля. Взаємодія елементів в цьому випадку носить механічний характер. Стан автомобіля можна розглядати також з різних точок зору, самої загальної з яких є характеристика автомобіля як справного або несправного. Очевидно, що кожний з цих станів в окремих ситуаціях може деталізуватися. Наприклад, стан «несправний» може бути конкретизоване в стани «несправність двигуна», «несправність акумулятора», «відсутність подачі палива» і ін. Важливо мати чітке уявлення, що подібна деталізація повинна бути адекватна вирішуваній задачі.

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

Методологія системного аналізу служить концептуальною основою системно‑ орієнтованій декомпозиції наочної області. В цьому випадку початковими компонентами концептуалізації є системи і взаємозв'язки між ними. При цьому поняття системи є більш загальним, ніж поняття класів і об'єктів в ООАП. Результатом системного аналізу є побудова деякої моделі системи або наочної області.

Поняття моделі так широко використовується в повсякденному житті, що придбало дуже багато смислових відтінків. Це і «Будинок моделей» відомого кутюрье, і модель престижної марки автомобіля, і модель політичного керівництва, і математична модель коливань маятника. Стосовно програмних систем нас цікавитиме тільки те поняття моделі, яке використовується в системному аналізі. А саме, під моделлю розумітимемо деяке уявлення про систему, що відображає найістотніші закономірності її структури і процесу функціонування і зафіксоване на деякому язиці або в іншій формі.

Прикладів моделей можна привести достатньо багато. Наприклад, аеродинамічна модель гоночного автомобіля або проектованого літака, модель ракетного двигуна, модель коливальної. системи, модель системи електропостачання регіону, модель виборчої компанії і ін.

Загальною властивістю всіх моделей є їх подібність оригінальній системі або системі‑ оригіналу. Важливість побудови моделей полягає в можливості їх використовування для отримання інформації про властивості або поведінку системи‑ оригіналу. При цьому процес побудови і подальшого вживання моделей для отримання інформації про систему‑ оригінал одержав назву моделювання.

Примітка

Термін «моделювання» має досить багато смислових відтінків, наприклад, моделювання одягу або моделювання зачіски. Не заперечуючи важливості цих сфер творчості, слід зазначити, що всі ці аспекти моделювання лежать за межами книги. Розгляд особливостей язика UML пов'язаний з питаннями логічного або інформаційного моделювання систем.

Самою загальною моделлю системи є так звана модель «чорного ящика». В цьому випадку система представляється у вигляді прямокутника, внутрішній пристрій якого прихований від аналітика або невідомий. Проте система не є повністю ізольованою від зовнішнього середовища, оскільки остання надає на систему деякі інформаційні або матеріальні дії. Такі дії одержали назву вхідних дій. У свою чергу, система також надає на середовище або інші системи певні інформаційні або матеріальні дії, які одержали назву вихідних дій. Графічно дана модель може бути зображена таким чином (мал. 1.7).

Мал. 1.7. Графічне зображення моделі системи у вигляді «чорного ящика»

Цінність моделей, подібних моделі «чорного ящика», вельми умовна. Мимовільно може виникнути асоціація з «Чорним квадратом». Проте якщо оцінка образотворчих особливостей останнього не входить в задачі системного аналізу, то загальна модель системи містить деяку важливу инфомацию про функціональні особливості даної системи, які дають уявлення про її поведінку. Дійсно, окрім найзагальнішої інформації про те, на які дії реагує система, і як виявляється ця реакція на оточуючі об'єкти і системи, іншої інформації ми одержати не можемо. В рамках системного аналізу розроблені певні методологічні засоби, що дозволяють виконати подальшу конкретизацію загальної моделі системи. Деякі з графічних засобів представлення моделей систем будуть розглянуті на чолі 2.

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

Складність системи і, відповідно, її моделі може бути розглянута з різних точок зору. Перш за все, можна виділити складність структури системи, яка характеризується кількістю елементів системи і різними типами взаємозв'язків між цими елементами. Якщо кількість елементів перевищує деяке порогове значення, яке не є строго фіксованим, то така система може бути названа складною. Наприклад, якщо програмна СУБД налічує більше 100 окремих форм введення і виведення інформації, то багато програмістів визнають її складною. Транспортна система сучасних мегаполісів також може служити прикладом складної системи.

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