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

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

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

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

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

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

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

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

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

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

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

Примітка

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

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

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

Рис. 3.7. Графічне зображення моделі системи у вигляді "чорного ящика"

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

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

Висновки

  1. Основою процедурно-орієнтованої методології розроблення програм була процедурна або алгоритмічна організація структури програмного коду.

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

  3. Фундаментальними поняттями ООП є поняття класу і об'єкту. При цьому під класом розуміють деяку абстракцію множини об'єктів, які мають загальний набір властивостей і володіють однаковою поведінкою. Кожний об'єкт у цьому випадку розглядається як екземпляр відповідного класу. Об'єкти, які не мають повністю однакових властивостей або не володіють однаковою поведінкою, за визначенням, не можуть бути віднесені до одного класу.

  4. Основними принципами ООП є успадкування, інкапсуляція і поліморфізм.

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

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

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

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

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

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

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

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

  • Математичні основи: теорія множин, теорія графів, семантичні мережі

  • Структурний системний аналіз

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

У розділі описано передумови виникнення структурної та об’єктно-орієнтованої методології