Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инфор сист.docx
Скачиваний:
0
Добавлен:
27.02.2020
Размер:
279.66 Кб
Скачать

2.1 Методології розробки інформаційних систем у вітчизняній літературі

Методології створення інформаційних систем можна класифікувати по декількох відмітним ознаками. (Рис.2)

Класифікація за ядрам методологій

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

Ядра методологій визначаються способом опису алгоритмів. До основних ядрам методологій відносять:

методологія імперативного програмування;

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

методологія функціонального програмування;

методологія логічного програмування;

методологія програмування в обмеженнях.

Розглянемо ядра методологій докладніше.

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

Методи і концепції.

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

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

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

Методи і концепції.

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

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

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

Методологія функціонального програмування - спосіб складання програм, в яких єдиним дією є виклик функції, єдиним способом розчленування програми на частини - введення імені для функції і завдання для цього імені виразу, що обчислює значення функції, а єдиним правилом композиції - оператор суперпозиції функції. Функціональна методологія є однією з найстаріших. За походженням вона тісно пов'язана з лямбда-обчисленням, винайденим ще на початку 30-х років XX століття логіком Алонзо Черчен. Ця методологія використовується теоретиками програмування і є засобом лабораторних досліджень штучного інтелекту. [, C .80]

Методи і концепції.

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

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

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

Методологія логічного програмування - підхід, згідно з яким програма містить опис проблеми в термінах фактів і логічних формул, а вирішення проблеми система виконує за допомогою механізмів логічного висновку. Логічне програмування починає свій відлік часу з кінця 60-х років XX століття, коли Корделл Грін запропонував використовувати резолюцію як основу логічного програмування. Алан Колмеро створив мову логічного програмування Prolog в 1971 році. Логічне програмування пережило пік популярності в середині 80-х років XX століття, коли воно було покладено в основу проекту розробки програмного і апаратного забезпечення обчислювальних систем п'ятого покоління.

Методи і концепції.

Метод однаковості полягає в однаковому застосуванні механізму логічного доведення до всієї програми.

Метод уніфікації - це механізм зіставлення зі зразком для створення і декомпозиції структур даних.

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

Методи і концепції.

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

Класифікація за топологічної специфіці методологій

Топологічна специфіка (топологія) методологій визначається як спосіб вибору методів для отримання уточненого ядра методології.Критерієм якості топологій є кількість загальних витрат на розробку програмного забезпечення. Витрати визначаються сукупністю численних факторів, у тому числі пов'язаних з абстракціями даних, управління та модульності. Наприклад, до гарної топології призводить відмова від використання глобальних даних та оператора безумовного переходу (за винятком особливого ряду випадків), сильна зв'язність модулів і їх слабке зчеплення.

Методологія структурного імперативного програмування - підхід, що полягає в завданні хорошою топології імперативних програм, орієнтованої на скорочення кількості загальних витрат на розробку програмного забезпечення. Скорочення буде мати місце і в результаті того, що і проектні моделі, і програмний код будуть мати хорошу структурованість, що дозволяє уникнути багатьох помилок. У випадку даної методології хорошу топологію задають відмова від використання глобальних даних і, в більшості випадків, оператора безумовного переходу, розробка модулів з ​​сильною зв'язністю і забезпечення їх незалежності від інших модулів. Підхід базується на двох основні принципи побудови: послідовна декомпозиція алгоритму розв'язання задачі зверху вниз; використання структурного кодування. Ця методологія є найважливішим розвитком імперативної методології. Творцем структурного підходу вважається Едсгер Дейкстра. Йому також належить спроба з'єднати структурне програмування з методами доведення програм.

Методи і концепції.

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

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

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

Класифікація за реалізаційною специфіці методологій

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

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

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

Змішані методології.

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

Петров В.М. у своїй книзі "Технології розробки програмного забезпечення" наводить ще одну методологію - RAD (Rapid Application Development).