Рис. 5. Діаграма потоку даних нульового рівня для системи ведення обліку пенсійних посібників і виплат
Засобу документування структурного аналізу представлені в таблиці 5.
Таблиця 5.
Засобу документування структурного аналізу
Засіб | Опис | Елементи |
Словник даних | Опис даних, що містить інформацію щодо індивідуальних частин даних і угруповань даних усередині системи | Елемент Формат Значення Частота Обсяг Користувачі Захист Процеси. |
Специфікації процесу | Опис логіки процесів, що відбуваються в кружках найнижчого рівня діаграми декомпозиції і документування правил прийняття рішень. | Таблиця рішень - представлення у формі таблиці умов, що впливають на рішення. Дерево рішень – представлення умов, яки впливають на рішення у виді послідовної деревоподібної діаграми. Псевдокод - метод вираження логіки програми, що використовує прості вираження звичайної мови, а не графічні символи |
Словник даних, використовуваний у структурному аналізі, може бути розширений і використовуватися протягом процесу розробки систем, щоб допомогти системним розроблювачам стежити за всіма деталями відносно даних, функцій і процесів, що накопичуються для кожної системи.
Наприклад, вхід словника даних для потоку даних "Вихідна допомога":
Вихідні допомога = Сума звичайної вихідної допомоги
+ Дата звичайної оплати
+ Передчасна вихідна допомога
+ Дата передчасної оплати
+ Опція з нагоди втрати годувальника
Таблиця рішень представляє рішення графічно в таблиці, що виражає ряд умов. Коли деякі умови виконуються (так, немає), рішення робляться відповідно до зазначених правил. Таблиця повинна визначити всі можливі умови, що впливають на рішення.
Формат таблиці рішень
· Заголовок, що ідентифікує таблицю.
· Стовпчики умов із входами для кожної можливої умови.
· Інструкції дії з входами для кожної можливої дії, що могло бути прийняте. Такі дії будуть визначені представленими умовами і правилами прийняття рішень, що керують процесом прийняття рішень.
На мал. 6. представлено таблицю рішень для щомісячних виписок рахунка грошового ринку. Таблиця рішень на цьому малюнку документує логікові обробки для посилки щомісячних виписок по рахунку. Вона зображує умови – баланс рахунка і рівень активності рахунка, що визначають, чи дійсно інвестиційний фонд грошового ринку посилає щомісячні виписки по балансі рахунка з попередженнями інвесторам.
Рис. 6. Таблиця рішень для щомісячних виписок рахунка грошового ринку
Дерево рішень нагадує галузі дерева. Різні альтернативи відгалужуються від початкової крапки прийняття рішень. Початкове рішення - корінь дерева. Галузі відображаються ліворуч праворуч. Вузли дерева показують умови. Наступний шлях, що буде обраний, залежить від результату визначення, щодо якого умова існує. Праворуч від дерева - дії, що можуть бути прийняті, у залежності від послідовності умов і альтернатив, що випливають. Як галузі розвиваються, залежить від природи зробленого рішення - умов і альтернатив.
Рис. 7. ілюструє дерево рішень для щомісячних виписок рахунка грошового ринку.
Рис. 7. Дерево рішень для щомісячних виписок рахунка грошового ринку
Таблиця 7.
Застосування дерева рішень і таблиці рішень
Дерево рішень | Таблиця рішень |
Проста система Висвітлювання шляхів рішення і послідовності рішень | Складна система: численні послідовності кроків і комбінацій умов Представлення критеріїв вибору даного шляху |
Псевдокод використовує оповідальні вираження, а не графічні символи типу дерев або таблиць, щоб описати процедуру. Перевага псевдокоду в тім, що системні розроблювачі, можу сконцентруватися на розробці логіки обробки, незалежно від синтаксичних вимог (правил формулювання команд) будь-якої мови програмування. Якщо логіка стійка, псевдокод може бути легко отрансльований у мову програмування. Структурна звичайна мова подібна псевдокодові, у якому він використовує логічні конструкції псевдокоду, але його термінологія більш зрозуміла кінцевими користувачами, чим псевдокод.
Псевдокод використовує ті ж самі логічні моделі як основні керуючі структури структурного програмування (див. мал. 8.):
· Послідовна структура - послідовні окремі кроки або дії в логіку програми, що не залежать від існування будь-якої умови.
· Структура вибору - логічна модель у програмуванні, де сформульоване умова визначає, яке з двох або більш дій може бути обране в залежності від того, чому сформульована умова задовольняє.
· Ітеративна структура - логічна модель у програмуванні, де деякі дії повторюються, поки зазначена умова виконується або поки деяка умова не виконається.
Рис. 8. Керуючі структури псевдокоду
Рис. 9. показує, як правила прийняття рішень для щомісячних виписок по рахунку інвестиційного фонду грошового ринку виражаються в псевдокоді.
Рис. 9. Псевдокод для щомісячної виписки по рахунку грошового ринку
Структурний аналіз формує документ структурних специфікацій, що є вихідним для процесу структурного проектування.
Структурне проектування - дисципліна проектування програмного забезпечення, що узагальнює звід проектних правил і технік для проектування системи зверху вниз ієрархічним способом.
Основне правило структурного проектування - система повинна розроблятися зверху вниз ієрархічним способом, і уточняться за допомогою збільшення рівнів деталізації.
Проект повинний спочатку розглянути основну функцію програми або системи, потім розбити цю функцію на підфункції і декомпозувати кожну підфункцію, поки не буде досягнутий самий нижній рівень деталізації.
Структурне проектування сприяє ясності і простоті програми, у такий спосіб зменшуючи час і роботи, необхідні для кодування, налагодження і супроводи. Завдяки структурному проектуванню, уся логіка високого рівня і модель проекту розробляються перш, ніж буде написаний детальний код програми.
Структурна діаграма
Як тільки проект сформульований, він документується в структурній діаграмі.
Структурна діаграма - системна документація, що показує кожен рівень проекту, залежність між рівнями, і загальне місце в структурі проекту; може документувати одну програму, одну систему або частину однієї програми.
Рис. 1. показує структурну діаграму верхнього рівня системи платіжної відомості.
Ця структурна діаграма показує найвищий або більш абстрактний рівень проекту системи платіжної відомості, надаючи короткий огляд повної системи.
Рис. 1. Структурна діаграма верхнього рівня системи платіжної відомості
Рис. 2. показує детальну структурну діаграму системи платіжної відомості. Ця детальна структурна діаграма показує функції, задані для обчислення зарплати до відрахувань у системі платіжної відомості. Ця діаграма показує проміжний рівень проекту. Більш детальна структурна діаграма потрібно, щоб показати самі нижні рівні проекту для обчислення зарплати до відрахувань.
Рис. 2. Детальна структурна діаграма системи платіжної відомості
Структурне програмування розширює керуючі принципи структурного проектування до написання програм.
Структурне програмування - дисципліна організації і кодування програм, що спрощує способи контролю для того, щоб програми могли бути легкі для розуміння і зміни.
Основне правило структурного програмування – спадна розробка програми і розбивка її на модулі.
Структурне програмування використовує основні керуючі структури і модулі, що мають тільки одну крапку входу й одну крапку виходу. Вимоги до модулів програми представлені в таблиці 1.
Таблиця 1.
Вимоги до модулів програми
Вимога | Опис |
Одна функція | Модуль - логічний елемент, що виконує одну або мале число функцій. |
Незалежність | Незалежність модулів друг від друга. Один вхід і вихід з батьківських модулів. Мінімізація спільного використання. |
Чіткість зв'язків | Відсутність неясних зв'язків з іншими модулями. Виключення "хвильового ефекту" - зміна в одному модулі не повинне викликати непередбачені зміни в інших модулях. Мінімізація зв'язків між модулями - зменшення помилок, що можуть поширюватися на інші частини системи. |
Керований розмір | Читабельність коду модуля програми Легкість простежування його функцій. Команди програми не повинні блукати і повинні виконаються спадним способом. |
Основні керуючі конструкції
Структурне програмування довело, що будь-яка програма може бути написана, за допомогою трьох основних керуючий конструкцій:
· конструкція послідовності - виконання інструкцій у порядку, у якому вони з'являються, з керуванням, безумовно, що переходить від однієї інструкції до наступної.