- •Методичні вказівки до виконання лабораторних робіт по курсу «автоматизація проектування комп'ютерних систем»
- •Лабораторна робота №1
- •Особливості робочого інтерфейсу програми ibm Rational Rose 2003 Ціль роботи:
- •Хід роботи
- •Лабораторна робота №2
- •Розробка діаграм варіантів використання
- •Ціль роботи
- •Хід роботи.
- •Лабораторна робота №3
- •Розробка діаграм класів
- •Ціль роботи
- •Хід роботи.
- •Лабораторна робота №4
- •Розробка діаграм взаємодії Ціль роботи
- •Хід роботи
- •Лабораторна робота №5
- •Розробка діаграм стану
- •Ціль роботи
- •Хід роботи
- •Лабораторна робота №6
- •Розробка діаграми діяльності
- •Ціль роботи
- •Хід роботи
- •Лабораторна робота №7
- •Розробка діаграми компонентів
- •Ціль роботи
- •Хід роботи
- •Лабораторна робота №8
- •Розробка діаграми розгортання Ціль роботи
- •Хід роботи
Лабораторна робота №7
Розробка діаграми компонентів
Ціль роботи
Освоїти:
особливості розробки діаграми компонентів у середовищі IBM Rational Rose 2003.
додавання компонента на діаграму компонентів і редагування його властивостей.
додавання відносини залежності й редагування його властивостей.
приклад діаграми компонентів моделі банкомата.
Хід роботи
Діаграма компонентів служить частиною фізичного представлення моделі, відіграє важливу роль у процесі ООАП і є необхідною для генерації програмного коду. Для розробки діаграм компонентів у браузері проекту призначена окреме представлення компонентів (Component View), у якім уже міститься діаграма компонентів з порожнім змістом і іменем за замовчуванням Main (Головна).
Активізація діаграми компонентів може бути виконано одним з наступних способів:
Клацнути на кнопці із зображенням діаграми компонентів на стандартній панелі інструментів.
Розкрити представлення компонентів у браузері (Component View) і двічі клацнути на піктограмі Main (Головна).
Через пункт меню BrowseComponent Diagram (БраузерДіаграмакомпонентів).
У результаті виконання цих дій з'являється нове вікно із чистим робочим аркушем діаграми компонентів і спеціальна панель інструментів, що містить кнопки із зображенням графічних примітивів, необхідних для розробки діаграми компонентів (табл. 7.1).
Таблиця 7.1. Призначення кнопок спеціальної панелі інструментів діаграми компонентів | ||
Графічне зображення |
Спливаюча підказка |
Призначення кнопки |
|
Selection Tool |
Перетворює зображення курсору у форму стрілки для наступного виділення елементів на діаграмі |
|
Text Box |
Додає на діаграму текстову область |
|
Note |
Додає на діаграму примітку |
|
Anchor Note to Item |
Додає на діаграму зв'язок примітки з відповідним графічним елементом діаграми |
|
Component |
Додає на діаграму компоненти |
|
Package |
Додає на діаграму пакет |
|
Dependency |
Додає на діаграму відношення залежності |
|
Subprogram Specification |
Додає на діаграму специфікацію підпрограми |
|
Subprogram Body |
Додає на діаграму тіло підпрограми |
|
Main Program |
Додає на діаграму головну програму |
|
Package Specification |
Додає на діаграму специфікацію пакета |
|
Package Body |
Додає на діаграму тіло пакета |
|
Task Specification |
Додає на діаграму специфікацію завдання |
|
Task Body |
Додає на діаграму тіло завдання |
|
Generic Subprogram |
Додає на діаграму типову підпрограми( за замовчуванням відсутнє) |
|
Generic Package |
Додає на діаграму типовий пакет ( за замовчуванням відсутнє) |
|
Database |
Додає на діаграму базу даних ( за замовчуванням відсутнє) |
Графічне зображення стереотипів і їх коротка характеристика приводяться в наступній таблиці (табл. 7.2). При цьому кожному з компонентів, як правило, відповідає окремий файл вихідної зборки програмного додатка.
Таблиця 7.2. Графічне зображення стереотипів компонентів і їх характеристика | ||
Графічне зображення й ім'я за замовчуванням |
Назва стереотипу |
Характеристика стереотипу компонента |
|
Subprogram Specification |
Специфікація підпрограми. Містить опис змінних, процедур і функцій і не містить визначень класів |
|
Subprogram Body |
Тіло підпрограми. Містить реалізацію процедур і функцій, що не належать до якихось класів, при цьому не містить визначень класів або реалізацій операцій інших класів |
|
Main Program |
Головна програма. Реалізує базову логіку роботи програмного додатка й містить посилання на інші компоненти моделі |
|
Package Specification |
Специфікація пакета. Містить визначення класу, його атрибутів і операцій. У мові програмування З++ специфікації пакета відповідає окремий файл із розширенням «h» |
|
Package Body |
Тіло пакета. Містить код реалізації операцій класу. У мові програмування З++ специфікації пакета відповідає окремий файл із розширенням «cpp» |
|
Task Specification |
Специфікація завдання. Може містити визначення класу, його атрибутів і операцій, які передбачається використовувати в незалежному потоці керування |
|
Task Body |
Тіло завдання. Може містити реалізацію операцій класу, які мають незалежний потік керування. |
|
Generic Subprogram |
Типова підпрограма. Містить опис змінних, процедур і функцій, які можуть бути використані в декількох програмних додатках. При цьому типова підпрограма не містить визначень класів |
|
Generic Package |
Типовий пакет. Містить визначення класу, його атрибутів і операцій, яке може бути використане в декількох програмних додатках |
|
Database |
База даних. Містить визначення одного або декількох класів, їх атрибутів і, можливо, операцій. При цьому відповідні класи можуть бути реалізовано у формі однієї або декількох таблиць бази даних |
Використання розглянутих стереотипів суттєво збільшують наочність графічного представлення діаграми компонентів і дозволяють архітекторові уточнити характер реалізації моделі програмістом обраною мовою програмування.
Для додавання компонента на діаграму компонентів потрібно за допомогою лівої кнопки миші нажати кнопку із зображенням піктограми компонента на спеціальній панелі інструментів, відпустити ліву кнопку миші й клацнути лівою кнопкою миші на вільнім місці робочого аркуша діаграми. Додати компонент на діаграму можна також за допомогою операції головного меню: ToolsCreateComponent або за допомогою операції контекстного меню: NewComponent, попередньо виділивши представлення компонентів у браузері проекту.
У результаті цих дій на діаграмі з'явиться зображення компонента з маркерами зміни його геометричних розмірів і запропонованим середовищем іменем за замовчуванням, яке розроблювачеві слід змінити. Продовжуючи розробку моделі системи керування банкоматом, побудуємо для неї діаграму компонентів. Із цією метою змінимо ім'я діаграми, запропоноване за замовчуванням Main, на Діаграма компонентів АТМ, а для першого доданого компонента задамо ім'я Mainatm.exe.
Для кожного компонента можна визначити різні властивості, такі як стереотип, мова програмування, декларації, реалізовані класи. Редагування цих властивостей для довільного компонента здійснюється за допомогою діалогового вікна специфікації властивостей.
Зокрема, для компонента Mainatm.exe можна вибрати стереотип <<EXE>> із пропонованого вкладеного списку, оскільки стосовно до розроблювальної моделі передбачається реалізація цього компонента у формі здійсненного файлу. При цьому на вкладці Realizes (Реалізує) містяться всі класи, включаючи й акторів, які на даний момент присутні в моделі. Слід помітити, що класи будуть показані в цьому вікні тільки при обраній властивості Show all classes (Показати всі класи).
Додавання відносини залежності на діаграму компонентів аналогічно додаванню відповідного відношення на діаграму варіантів використання. Продовжуючи розробку моделі банкомата, на діаграму компонентів попередньо слід додати другий компонент із іменем Mainbank, для якого вибрати стереотип Main Program. Для додавання залежності між двома компонентами потрібно за допомогою лівої кнопки миші нажати кнопку із зображенням залежності на спеціальній панелі інструментів, відпустити ліву кнопку миші, клацнути лівою кнопкою миші на зображенні вихідного компонента на діаграмі й відпустити її на зображенні цільового компонента. У результаті цих дій на діаграмі з'явиться зображення відносини залежності у формі пунктирної лінії зі стрілкою, що з'єднує два обрані компоненти.
Стосовно до діаграми компонентів моделі банкомата розглянутим способом слід додати відношення залежності від компонента з іменем Mainatm.exe до компонента з іменем Mainbank. На додаток до цього для наочності можна вказати у формі приміток ті класи моделі, які передбачається реалізувати в даних компонентах.
Для завершення побудови діаграми компонентів розглянутого прикладу випливає описаним вище способом додати, що залишилися компоненти й залежності. Із цією метою слід виконати наступні дії:
Додати компонент із іменем: Обладнання Банкомата, для якого задати стереотип Task Specification.
Додати компоненти з іменами: Обладнання читання картки, Клавіатура Банкомата, Принтер Банкомата, Екран Банкомата, Обладнання видачі готівки, для якої задати стереотип Task Body.
Додати залежність від компонента з іменем Mainatm.exe до компонента з іменем Обладнання Банкомата.
Додати залежність від компонента з іменем Обладнання читання картки до компонента з іменем Обладнання Банкомата.
Додати залежність від компонента з іменем Клавіатура Банкомата до компонента з іменем Обладнання Банкомата.
Додати залежність від компонента з іменем Принтер Банкомата до компонента з іменем Обладнання Банкомата.
Додати залежність від компонента з іменем Екран Банкомата до компонента з іменем Обладнання Банкомата.
Додати залежність від компонента з іменем Обладнання видачі готівки до компонента з іменем Обладнання Банкомата.
Побудована в такий спосіб діаграма компонентів буде мати такий вигляд (мал. 7.1).
Рис. 7.1. Остаточний вид діаграми компонентів розроблювальної моделі керування