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

Декомпозиція даних і розширення діаграм потоків даних

Індивідуальні дані в системі часто є незалежними. Однак іноді необхідно мати справу з декількома незалежними даними одночасно. Наприклад, у системі є потоки Яблука, Апельсини й Груші. Ці потоки можуть бути згруповані за допомогою введення нового потоку Фрукти. Для цього необхідно визначити формально потік Фрукти, який складається з декількох елементів-нащадків. Таке визначення задається за допомогою форми Бекуса-Наура (БНФ) у словнику даних. У свою чергу потік Фрукти сам може втримуватися в потоці-пращурі Їжа разом з потоками Овочі, Мясо та ін. Такі потоки, які поєднують кілька потоків, одержали назвугрупових.

Зворотна операція розщеплення потоків на підпотоки здійснюється з використанням групового вузла (рис. 4.9), що дозволяє розщепити потік на будь-яку кількість підпотоків. При розщепленні також необхідно формально визначити підпотоки в словнику даних (за допомогою БНФ).

Рис. 4.9 – Розширення діаграми потоків даних

Аналогічним чином здійснюється й декомпозиція потоків через границі діаграм, що дозволяє спростити DFD. Нехай є потікФруктиякий входить у деталізуємий процес. На діаграмі, що деталізує цей процес, потоку Фрукти може не бути зовсім, але замість нього можуть бути потоки Яблука й Апельсини (начебто б вони передані з деталізуємого процесу). У цьому випадку повинне існувати БНФ-визначення потоку Фруктияке складається з підпотоків Яблука й Апельсини, для цілей балансування.

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

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

1.   Груповий Вузол призначений для розщеплення й об'єднання потоків. У деяких випадках може бути відсутнім (тобто фактично вироджуватися в точку злиття/розщеплення потоків на діаграмі).

2.   Вузол-Предок дозволяє погоджувати вхідні й вихідні потоки між деталізуємим процесом і тим, що деталізує DFD.

3.   Невикористовуваний Вузол застосовується в ситуації, коли декомпозиція даних проводиться в груповому вузлі, при цьому потрібні не всі елементи, що входять у вузол потоку.

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

5.   Текст у вільному форматі в будь-якому місці діаграми.

Головна мета побудови ієрархічної безлічі DFD полягає в тім, щоб зробити вимоги ясними й зрозумілими на кожному рівні деталізації:

- розміщувати на кожній діаграмі можна від 3 до 6 - 7 процесів: верхня межа відповідає людським можливостям одночасного сприйняття й розуміння структури складної системи з безліччю внутрішніх зв'язків; нижня межа обрана з міркувань здорового глузду - немає необхідності деталізувати процес діаграмою, що містить усього один або два процеси;

- не захаращувати діаграми несуттєвими на даному рівні деталями;

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

- вибирати зрозумілі імена процесів і потоків, що відображають суть справи, для поліпшення розуміння діаграм, при цьому намагатися не використовувати абревіатури;

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

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

- відокремлювати керуючі структури від обробних структур (тобто процесів), локалізовувати керуючі структури.

Відповідно до цих рекомендацій процес побудови моделі розбивається на наступні етапи:

1)    розчленовування безлічі вимог і організація їх в основні функціональні групи;

2) ідентифікація зовнішніх об'єктів, з якими система повинна бути зв'язана;

3) ідентифікація основних видів інформації, що циркулює між системою й зовнішніми об'єктами;

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

5) вивчення попередньої контекстної діаграми й внесення до неї змін за результатами відповідей на виникаючі при цьому вивченні питання стосовно всіх її частин;

6)    побудова контекстної діаграми шляхом об'єднання всіх процесів попередньої діаграми в один процес, а також групування потоків;

7)    формування DFD першого рівня на базі процесів попередньої контекстної діаграми;

8)    перевірка основних вимог по діаграмі DFD першого рівня;

9) декомпозиція кожного процесу поточної DFD-діаграми за допомогою діаграми, що деталізує, або специфікації процесу;

10)  перевірка основних вимог по DFD відповідного рівня;

11)  додавання визначень нових потоків у словник даних при кожній їхній появі на діаграмах;

12)  паралельне (із процесом декомпозиції) вивчення вимог (у тому числі й знов отриманих), розбивка їх на елементарні та ідентифікація процесів або специфікацій процесів, що відповідають цим вимогам;

13)  після побудови двох-трьох рівнів проведення ревізії з метою перевірки коректності й поліпшення розуміння моделі;

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

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]