бре певні моделі, але нічого не повідомляють про те, які моделі і в яких випадках потрібно створювати. Це завдання всього процесу розробки програмного забезпечення. Добре організований процес повинен підказати, які потрібні артефакти, які ресурси необхідні для їх створення, як можна використовувати ці артефакти, щоб оцінити виконану роботу і управляти проектом в цілому.
Мова UML призначений насамперед для розробки програмних систем. Його використання особливо ефективно в наступних областях:
- інформаційні системи масштабу підприємства;
- банківські та фінансові послуги;
телекомунікації;
транспорт;
оборонна промисловість, авіація та космонавтика;
роздрібна торгівля;
медична електроніка;
наука;
розподілені Web-системи.
Сфера застосування UML не обмежується моделюванням програмного забезпечення. Його виразність дозволяє моделювати, наприклад, документообіг в юридичних системах, структуру і функціонування системи обслуговування пацієнтів у лікарнях, здійснювати проектування апаратних засобів.
5. Будівельні блоки UML
Словник мови UML включає три види будівельних блоків: сутності; відносини; діаграми.
Сутності - це абстракції, які є основними елементами моделі. Відносини пов'язують різні сутності; діаграми групують представляють інтерес сукупності сутностей.
5.1 Сутності
У UML є чотири типи сутностей: структурні; поведінкові; группирующие; анотаційні.
Сутності є основними об'єктно-орієнтованими блоками мови. З їх допомогою можна створювати коректні моделі.
Структурні суті - це імена іменники в моделях на мові UML. Як правило, вони являють собою статичні частини моделі, відповідні концептуальним або фізичним елементам системи.
Існує сьомій різновидів структурних сутностей.
1. Клас (Class) - це опис сукупності об'єктів із загальними атрибутами, операціями, відносинами і семантикою. Клас реалізує один або кілька інтерфейсів. Графічно клас зображується у вигляді прямокутника, в якому зазвичай записані його ім'я, атрибути та операції, як показано на малюнку 5.1.
Малюнок 5.1 - Клас
2. Інтерфейс (Interface) - це сукупність операцій, які визначають сервіс (набір послуг), що надається класом або компонентом. Таким чином, інтерфейс описує видиме ззовні поведінку елемента. Графічно інтерфейс зображується у вигляді кола, під яким пишеться його ім'я, як показано на малюнку 5.2. Інтерфейс рідко існує сам по собі - зазвичай він приєднується до реалізовує його класу або компоненту.
Малюнок 5.2 - Інтерфейс
3. Кооперація (Collaboration) визначає взаємодію; вона являє собою сукупність ролей та інших елементів, які, працюючи спільно, виробляють деякий кооперативний ефект, що не зводиться до простої суми доданків. Кооперація має як структурний, так і поведінковий аспект. Один і той же клас може брати участь у декількох коопераціях. Графічно кооперація зображується у вигляді еліпса, обмеженого пунктирною лінією, в який зазвичай укладено тільки ім'я, як показано на малюнку 5.3.
Малюнок 5.3 - Кооперація
4. Прецедент (Use case) - це опис послідовності виконуваних системою дій, яка виробляє спостережуваний результат, значущий для якогось певного актора (Actor). Прецедент застосовується для структурування поведінкових сутностей моделі. Прецеденти реалізуються за допомогою кооперації. Графічно прецедент зображується у вигляді обмеженого безперервною лінією еліпса, зазвичай містить тільки його ім'я, як показано на малюнку 5.4.
Малюнок 5.4 - Прецедент
Три інші сутності - активні класи, компоненти і вузли - подібні класам: вони описують сукупності об'єктів із загальними атрибутами, операціями, відносинами і семантикою.
5. Активним класом (Active class) називається клас, об'єкти якого залучені в один або декілька процесів, або ниток ( Threads), і тому можуть ініціювати керуючий вплив. Активний клас у всьому подібний до звичайного класу, за винятком того, що його об'єкти являють собою елементи,...