Інтерфейси.
Діаграми компонентів
Так, наприклад, зображений на рис. 4 фрагмент діаграми компонентів подає інформацію про те, що компонент з ім'ям Control залежить від інтерфейсу IDialog, що імпортується, який, у свою чергу, реалізується компонентом з ім'ям DataBase. При цьому для другого компонента цей інтерфейс є таким, що експортується. Показати зв’язок другого компонента DataBase з цим інтерфейсом у формі залежності не можна… Читати ще >
Інтерфейси. Діаграми компонентів (реферат, курсова, диплом, контрольна)
Наступним графічним елементом діаграми компонентів є інтерфейси. У загальному випадку інтерфейс графічно зображується колом, яке з'єднується з компонентом відрізком лінії без стрілок (рис. 3, а). При цьому ім'я інтерфейсу, яке рекомендується починати із заголовної букви «I», записується поряд з колом.
Крім того, інтерфейс на діаграмі компонентів може бути зображений у вигляді прямокутника класу із стереотипом <> і секцією підтримуваних операцій (рис. 3, б). Як правило, цей варіант позначення використовується для подання внутрішньої структури інтерфейсу.
При розробці програмних систем інтерфейси забезпечують не лише сумісність різних версій, але і можливість вносити істотні зміни до одних частин програми, не змінюючи інші. Характер використання інтерфейсів окремими компонентами може відрізнятися.
Рис. 3. Графічне зображення інтерфейсів на діаграмі компонентів
Розрізняють два способи зв’язку інтерфейсу і компонента. Якщо компонент реалізує деякий інтерфейс, то цей компонент надає його як сервіс іншим компонентам.
Залежності між компонентами
Відношення залежності на діаграмі компонентів зображається пунктирною лінією із стрілкою, направленою від залежного елементу до незалежного елементу моделі.
Залежності можуть відображати зв’язки окремих файлів програмної системи на етапі компіляції. У інших випадках залежність може вказувати на наявність в незалежному компоненті описів класів, які використовуються в залежному компоненті для створення відповідних об'єктів. Стосовно діаграми компонентів залежності можуть зв’язувати компоненти і інтерфейси, що використовуються цим компонентом, а також різні види компонентів між собою. В цьому випадку малюють стрілку від компонента-клієнта до інтерфейсу, що використовується (рис. 4). Наявність такої стрілки означає, що компонент не реалізує відповідний інтерфейс, а використає його в процесі свого виконання. При цьому на цій же діаграмі може бути присутнім і інший компонент, який реалізує цей інтерфейс. Відношення реалізації інтерфейсу позначається на діаграмі компонентів звичайною лінією без стрілки.
Так, наприклад, зображений на рис. 4 фрагмент діаграми компонентів подає інформацію про те, що компонент з ім'ям Control залежить від інтерфейсу IDialog, що імпортується, який, у свою чергу, реалізується компонентом з ім'ям DataBase. При цьому для другого компонента цей інтерфейс є таким, що експортується. Показати зв’язок другого компонента DataBase з цим інтерфейсом у формі залежності не можна, оскільки цей компонент реалізує вказаний інтерфейс.
Рис. 4. Відношення залежності і реалізації
Іншим випадком відношення залежності на діаграмі компонентів є відношення програмного виклику і компіляції між різними видами компонентів. Для фрагмента діаграми компонентів на рис. 5 наявність подібної залежності означає, що виконуваний компонент Control. exe використовує або імпортує деяку функціональність компонента Library. dll, викликає сторінку гіпертексту Home. html і файл допомоги Search. hlp, а вихідний текст цього виконуваного компонента зберігається у файлі Control.cpp. При цьому характер окремих видів залежностей може бути відмічений додатково за допомогою текстових стереотипів.
Рис. 5. Графічне зображення відношення залежності між компонентами
На діаграмі компонентів можуть бути також показані відношення залежності між компонентами і реалізованими в них класами. Ця інформація має значення для забезпечення узгодження логічного і фізичного подання моделі системи. Зміни в структурі описів класів можуть привести до зміни цієї залежності. На рис. 6 наводиться фрагмент залежності подібного роду, коли виконуваний компонент Control. exe залежить від відповідних класів.
Якщо потрібно підкреслити, що деякий компонент реалізує окремі класи, то для позначення компонента використовується розширений символ прямокутника. При цьому прямокутник компонента ділиться на дві секції горизонтальною лінією. Верхня секція служить для запису імені компонента і, можливо, додаткової інформації, а нижня секція — для вказівки класів, що реалізовуються даним компонентом (рис. 7).
Рис. 7. Графічне зображення компонента з інформацією про класи, що реалізовуються ним
У випадку, коли компонент є екземпляром і реалізує три окремі об'єкти, він зображається у формі (рис. 8). Подібна вкладеність означає, що виконання компонента спричиняє за собою виконання операцій відповідних об'єктів. При цьому існування компонента протягом часу виконання програми забезпечує функціональність всіх вкладених в нього об'єктів. Що стосується доступу до цих об'єктів, то він може бути додатково описаний.
Рис. 8. Графічне зображення компонента-екземпляра, що реалізовує окремі об'єкти