На зорі програмування існувало небагато методологій. Відсутність методологій приводило до створення складних, негнучких, ненадійних систем, супровід яких було майже неможливим. У 70-их з'явилися методології, що включають ряд методів або технік для виконання основних функцій розробки проекту. Таблиця 1 демонструє важливість використання методологій розробки.
Таблиця 1. Відсутність і використання методології розробки
Етап розробки | Відсутність методології | Традиційні методології |
Системний аналіз | Специфікації користувача формуються в неформальних обговореннях і супроводжуються непослідовними коментарями | Формальний і структурований процес формування ясних і точних специфікацій |
Програмування | Мистецтво Програми неструктуровані, написані на складному і заплутаному коді (спагеті коді) Спагеті код (Spaghetti code) - неструктурований, незрозумілий програмний код із заплутаною логікою, що метафорично нагадує горщик звареної спагеті. | Технологія створення програм Якісні, структуровані, написані на зрозумілому коді програми |
Супровід | Негнучкі системи, супровід яких практично неможливо | Прості для розуміння і підтримки системи |
Концепція традиційних методологій розробки
Традиційні методології виходять з парадигми: інформаційна система містить два типи сутностей:
· деякий аналог програми - операційні сутності, що виконують деяку обробку;
· дані - пасивні сутності, що зберігають інформацію, доступну для пошуку, читання і заміни.
В основі традиційних методологій лежить структурний підхід, відповідно до якого при розробці системи виконується функціональна (алгоритмічна) декомпозиція по методу «зверху вниз» – системи розбиваються на складові частини, кожна з яких розглядається окремо від інших, декомпозиція виконується доти поки не буде досягнутий необхідний рівень деталізації.
Основні характеристики традиційних методологій розробки
Основні характеристики традиційних методологій представлені в таблиці 2.
Таблиця 2.
Характеристики традиційних методологій розробки
Характеристика | Опис |
Структурні | Методи є інструкціями, що ретельно складений, часто крок за кроком, причому кожен крок формується на підставі попередніх. |
Підхід «зверху вниз» | Рухаються в напрямку від самого найбільш високого абстрактного рівня до найнижчого рівня деталізації. |
Орієнтація на процес | Більше орієнтовані на процес, чим на дані. Центр методологій – обробка даних, а не самі дані. Опису даних - частина методів |
Лінійність | Кожна фаза повинна бути закінчена перш, ніж буде почата наступна. |
Багаторічне використання | Використовувалися для розробки великого числа систем у плині декількох десятиліть. Багато існуючих систем були розроблені з їх використанням. |
Домінування | Незважаючи на зростаючий інтерес до інших методологій, сьогодні вони залишаються домінуючим методологічним підходом. |
Методологія структурної розробки або структурний підхід виділяють у традиційних методологіях:
· Структурний аналіз.
· Структурне проектування.
· Структурне програмування.
Структурний аналіз (Structured analysis) - метод визначення введень, процесів і висновків системи і розподіли систем на підсистеми або модулі, що показують логічну графічну модель потоку інформації.
Структурний аналіз - широко використовуваний метод визначення введень, процесів і висновків системи і розчленовування систем на підсистеми. Структурний аналіз надзвичайно наочний метод, що покладається головним чином на діаграми, а не на описовий текст. Його основний інструмент – діаграми, що формують графічне представлення складених процесів системи й інтерфейсів між ними.
Структурний аналіз пропонує логічну графічну модель потоку інформації, поділяючи системи на модулі, що показують рівні, що піддаються керуванню, деталізації.
Особливості структурного аналізу представлені в таблиці 3.
Таблиця 3.
Структурний аналіз
Поняття | Опис |
Задачі | Аналіз системи зверху вниз. Визначення інтерфейсів між модулями. Точний опис процесів або перетворень, що відбуваються усередині кожного модуля. |
Елементи | Діаграми системи: IDEF0 – діаграми бізнесу-процесу; IDEF3 (Workflow diagramming) – діаграми потоку робіт; DFD (Data flow diagramming, DFD) - діаграми потоку даних; ER (Entity-relation diagramming) –– діаграми сутність відношення. Словник даних Специфікації процесів таблиця рішень; дерево рішень; псевдокод. |
Застосування | Системний аналіз Визначення специфікацій Проектування Відправна крапка структурного проектування. |
Результат | Документ структурної специфікації: Діаграми системи Словники даних потоків даних і сховищ даних Специфікацій процесу Вхідні і вихідні документи Вимоги захисту, контролю, перетворення і продуктивності. |
Діаграми структурного аналізу представлені в таблиці 4.
Таблиця 4.
Діаграми структурного аналізу
Діаграма | Опис | Елементи |
Бізнес-процес | Методологія IDEF0: існуюча модель бізнесу (AS-IS); оцінка моделі бізнесу; ідеальна моделі бізнесу (TO-BE) | Роботи - процеси, функції або задачі, що відбуваються в плині визначеного часу і мають розпізнавані результати. Входи – матеріали або інформація, що використовуються або перетворяться роботою для одержання результату (виходу). Виходи – матеріали або інформація, що виробляються роботою. Механізми – ресурси, що виконують роботу, наприклад персонал організації, верстати, пристрої і т.д. Керування – правила, стратегії, процедури або стандарти, якими керується робота. |
Потік даних | Діаграма потоку даних (Data flow diagram (DFD)): рух даних у, з, і усередині інформаційної системи; процеси перетворення і збереження даних. | Потоки даних - рух даних між процесами, зовнішніми сутностями і сховищами. Процеси - представлення перетворення потоків вхідних даних у потоки вихідних даних. Сховища даних - ручні або автоматизовані сховища даних. Зовнішні сутності (зовнішні інтерфейси) - зовнішні джерела або одержувачі інформації за межами системи. |
IDEF0 діаграма бізнесу-процесу являє собою сукупність ієрархічно вибудованих діаграм, кожна з яких є описом якого-небудь процесу. Побудова моделі починається з опису функціональності моделируемой системи в цілому (контекстна діаграма).
Взаємодія з навколишнім світом описується в термінах входу (дані або об'єкти, споживані або змінювані процесом), виходу (основний результат діяльності процесу, кінцевий продукт), керування (стратегії і процедури, якими керується процес) і механізмів (ресурси, необхідні для процесу) (див. мал. 1.).
Рис. 1. Елемент IDEF0-діаграми
Діаграма потоку даних (Data flow diagram (DFD)) - основний інструмент структурного аналізу, що графічно ілюструє складені процеси системи і потік даних між ними.
Діаграми потоку даних створюються за допомогою використання чотирьох базових позначень, показаних на мал. 3.
Основні елементи діаграми потоку даних
Рис. 3. Позначення діаграми потоку даних
Діаграми можуть використовуватися, щоб представляти процеси високого рівня також, як деталі нижчого рівня. За допомогою розділених на рівні діаграм потоку даних, складний процес може бути розбитий на проміжні рівні деталізації. Повна система може бути розділена на підсистеми з діаграмою потоку даних високого рівня. Кожна підсистема, у свою чергу, може бути розділена в додаткові підсистеми з діаграмами потоку даних нижчого рівня, а підсистеми нижчого рівня можуть бути розбиті знову, поки не буде досягнутий найнижчий рівень деталізації.
Контекстна діаграма - діаграма потоку даних загального представлення, що зображує повну систему як єдиний процес з його головними введеннями і висновками.
На мал. 4. представлено контекстну діаграму системи ведення обліку пенсій і виплат. Ця діаграма надає короткий огляд повної системи ведення обліку пенсійних посібників і виплат, показуючи її головні введення і висновки. Контекстна діаграма зображує повну систему як єдиний процес, що може бути розбитий на більш детальні діаграми потоку даних більш низького рівня. Потік даних до і від цієї системи ведення обліку пенсійних посібників і виплат. Зовнішні сутності – відділ виплат, статистик страхового суспільства і службовець.
Рис. 5. представляє діаграму потоку даних нульового рівня для системи ведення обліку пенсійних посібників і виплат. Ця діаграма потоку даних розбиває контекстну діаграму в більш детальне представлення систем ведення обліку пенсійних посібників і виплат. Вона показує, що система складається з п'яти головних процесів, що можуть, у свою чергу, бути розбиті на більш детальні діаграми потоку даних.
Рис. 4. Контекстна діаграма системи ведення обліку пенсій і виплат
.