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

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

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

Методи з'явилися як відповідь на зростаючу складність програмних систем. Напочатку комп'ютерної ери дуже важко було написати велику програму, тому що можливості комп'ютерів були обмежені. Обмеження виникали через об'єм оперативної пам'яті, швидкість прочитування інформації з вторинних носіїв (магнітні стрічки) і швидкодії процесорів, тактовий цикл яких дорівнював сотням мікросекунд. У 60-70-ті роки ефективність вживання комп'ютерів різко зросла, ціни на них стали падати, а можливості ЕОМ збільшилися. У результаті стало вигідно, та і необхідно створювати все більше прикладних програм підвищеної складності. Як основні інструменти створення програмних продуктів почали застосовуватися алгоритмічні мови високого рівня. Ці мови розширили можливості окремих програмістів і груп розробників, що за іронією долі у свою чергу привело до збільшення рівня складності програмних систем.

У 60-70-ті роки було розроблено багато методів, що допомагають впоратися із зростаючою складністю програм. Найбільшого поширення отримало структурне проектування за методом зверху вниз. Метод був безпосередньо заснований на топології традиційних мов високого рівня типу FORTRAN або COBOL. У цих мовах основною базовою одиницею є підпрограма, і програма в цілому набуває форми дерева, в якому одні підпрограми в процесі роботи викликають інші підпрограми. Структурне проектування використовує саме такий підхід: алгоритмічна декомпозиція застосовується для розбиття великої задачі на дрібніші.

Тоді ж стали з'являтися комп'ютери з більшими можливостями. Значення структурного підходу залишилося тим самим, але виявилось, що структурний підхід не працює, якщо об'єм програми перевищує приблизно 100000 рядків. Останнім часом з'явилися десятки методів, в більшості яких усунені очевидні недоліки структурного проектування. Найбільш вдалі методи були розроблені Петерсом, Йеном і Цаї, а також фірмою Teledyne-Brown Engineering. Більшістю цих методів є варіації на одні і ті ж теми, які ділять на три основні групи:

Методи проектування систем можна розділити на три основні групи:

  • метод структурного проектування зверху вниз;

  • метод потоків даних;

  • об’єктно-орієнтоване проектування.

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

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

Об’єктно-орієнтоване проектування (object-oriented design, OOD) – це підхід, основи якого викладені в даній книзі. В основі OOD лежить представлення про те, що програмну систему необхідно проектувати як сукупність взаємодіючих один з одним об'єктів, розглядаючи кожен об'єкт як екземпляр визначеного класу, причому класи утворять ієрархію. Об’єктно-орієнтований підхід відбиває топологію новітніх мов високого рівня, таких як Smalltalk, Object Pascal, C++, CLOS і Ada.

Результатом застосування методів проектування є модель.

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

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

Метод інформаційного моделювання полягає у створенні і використанні інформаційних моделей.

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

Рис. 2.1. Об'єктно-орієнтована декомпозиція.

Наведене поняття формальної інформаційної моделі предметної області (Про) є змістовним. З математичного погляду Mod (ПрО) - це трійка множин:

ModL (ПрО) = <МL,VL,RL >,

де ML - множина всіх описаних в формалізмі L інформаційних об'єктів ПрО;

VL - множина загальних та індивідуальних атрибутів, які використовуються для опису L властивостей інформаційних об'єктів;

RL - множина описів в L інформаційних відношень, в які можуть вступати між собою інформаційні об'єкти;

L - знакова система моделі, тобто набір засобів інформаційного опису множин М, V, R.

Можна сказати, що всі ці три множини є скінченими.

Виділення в ПрО релевантної тріади та опис множин М, V, R із застосуванням формалізму L дозволяє представити ПрО у вигляді деякого формального мовного еквіваленту ПрО.