
- •1 Суть структурного підходу
- •2Методологія функціонального моделювання sadt
- •3Склад функціональної моделі
- •3.1 Ієрархія діаграм
- •3.2 Типи зв'язків між функціями
- •5 Моделювання потоків даних (процесів)
- •5.1Зовнішні споживачі
- •5.2 Системи і підсистеми
- •5.3Процеси
- •5.4Накопичувачі даних
- •5.5Потоки даних
- •5.6Побудова ієрархії діаграм потоків даних
- •6 Моделювання даних
- •6.1Case-метод Баркера
- •6.2Методологія idef1
- •6.32.4.3. Підхід, що використовується в case-засобі Vantage Team Builder
- •7Приклад використання структурного підходу
- •7.1Опис наочної області
- •7.2Організація проекту
6.32.4.3. Підхід, що використовується в case-засобі Vantage Team Builder
В CASE-засобі Vantage Team Builder (Westmount I-CASE) [14] використовується один з варіантів нотації П. Чена. На ER-діаграмах суть позначається прямокутником, що містить ім'я сутностей (малюнок 2.36), а зв'язок - ромбом, зв'язаним лінією з кожною з взаємодіючих сутностей. Числа над лініями означають ступінь зв'язку.
Мал. 2.36. Позначення сутностей і зв'язків
Зв'язки є багатонаправленими і можуть мати атрибути (за винятком ключових). Виділяють два види зв'язків:
необов'язковий зв'язок (optional);
слабий зв'язок (weak).
В необов'язковому зв'язку (малюнок 2.37) можуть брати участь не всі екземпляри сутностей.
Мал. 2.37. Необов'язковий зв'язок
На відміну від необов'язкового зв'язку в повному (total) зв'язку беруть участь всі екземпляри хоча б одного з сутностей. Це означає, що екземпляри такого зв'язку існують тільки за умови існування екземплярів іншого сутностей. Повний зв'язок може мати один з 4-х видів: обов'язковий зв'язок, слабий зв'язок, зв'язок "супертип-підтип" і асоціативний зв'язок.
Обов'язковий (mandatory) зв'язок описує зв'язок між "незалежним і "залежним" сутностями". Всі екземпляри залежного ("обов'язкової") сутностей можуть існувати тільки за наявності екземплярів незалежного ("необов'язкової") сутностей, тобто екземпляр "обов'язкового сутностей" може існувати тільки за умови існування певного екземпляра "необов'язкового сутностей".
В прикладі (малюнок 2.38) мається на увазі, що кожний автомобіль має принаймні одного водія, але не кожний службовець управляє машиною.
Мал. 2.38. Обов'язковий зв'язок
В слабому зв'язку існування одному з сутностей, що належить деякій множині ("слабої") залежить від існування певного сутностей, що належить іншій множині ("сильної"), тобто екземпляр "слабого сутностей" може бути ідентифікований тільки за допомогою екземпляра "сильного сутностей". Ключ "сильного сутностей" є частиною складового ключа "слабого сутностей".
Слабий зв'язок завжди є бінарним і має на увазі обов'язковий зв'язок для "слабого сутностей". Суть може бути "слабим" в одному зв'язку і "сильної" в іншій, але не може бути "слабою" більш, ніж в одному зв'язку. Слабий зв'язок може не мати атрибутів.
Приклад на малюнку 2.39: ключ (номер) рядка в документі може не бути унікальним і повинен бути доповнений ключем документа.
Мал. 2.39. Слабий зв'язок
Зв'язок "супертип-підтип" зображений на малюнку 2.40. Загальні характеристики (атрибути) типу визначаються в сутностейі-супертипі, суть-підтип успадковує всі характеристики супертипу. Екземпляр підтипу існує тільки за умови існування певного екземпляра супертипу. Підтип не може мати ключа (він імпортує ключ з супертипу). Суть, що є супертипом в одному зв'язку, може бути підтипом в іншому зв'язку. Зв'язок супертипу не може мати атрибутів.
Мал. 2.40. Зв'язок "супертип-підтип"
В асоціативному зв'язку кожний екземпляр зв'язку (асоціативний об'єкт) може існувати тільки за умови існування певних екземплярів кожного з взаємозв'язаних сутностей. Асоціативний об'єкт - об'єкт, що є одночасно сутності і зв'язком. Асоціативний зв'язок - це зв'язок між декількома "незалежними сутностями" і одним "залежним сутності". Зв'язок між незалежними сутностями має атрибути, які визначаються в залежному сутностейі. Таким чином, залежне суть визначається в термінах атрибутів зв'язку між рештою сутностей.
В прикладі на малюнку 2.41 літак виконує посадку на злітну смугу в заданий час при певній швидкості і напрямі вітру. Оскільки ці характеристики застосовні тільки до конкретної посадки, вони є атрибутами посадки, а не літака або злітної смуги. Пілот, що виконує посадку, пов'язаний набагато сильніше з конкретною посадкою, ніж з літаком або злітною смугою.
Мал. 2.41. Асоціативний зв'язок
Первинний ключ кожного типу сутностей позначається зірочкою (*).
ER-діаграма повинна підкорятися наступним правилам:
кожна сутність, кожний атрибут і кожний зв'язок повинні мати ім'я (зв'язок супертипу або асоціативний зв'язок може не мати імені);
ім'я сутностей повинне бути унікальним в рамках моделі даних;
ім'я атрибута повинне бути унікальним в рамках сутностей;
ім'я зв'язку повинне бути унікальним, якщо для неї генерується таблиця БД;
кожний атрибут повинен мати визначення типу даних;
сутність в необов'язковому зв'язку повинне мати ключовий атрибут. Те ж саме відноситься до сильних сутностей в слабому зв'язку, супертипу в зв'язку "супертип-підтип" і необов'язкових сутностей в обов'язковому (повному) зв'язку;
підтип в зв'язку "супертип-підтип" не може мати ключового атрибута;
в асоціативному або слабому зв'язку може бути тільки одна асоціативна (слаба) сутність;
зв'язок не може бути одночасно обов'язковий, "супертип-підтип" або асоціативним.