- •6.040302 – «Інформатика»
- •Підчас лабораторних робіт студенти вивчають методи програмування у комп’ютерних мережах.
- •Хід роботи
- •Завдання
- •Контрольні питання
- •Лабораторная работа 2
- •Короткі теоретичні відомості
- •Хід роботи
- •Контрольні питання|
- •Лабораторная работа 3-4
- •Короткі теоретичні відомості
- •Завдання
- •Хід роботи
- •Хід роботи
- •Завдання
- •Контрольні питання|
- •Лабораторная работа 8
- •Короткі теоретичні відомості
- •Хід роботи
- •Хід роботи
- •Завдання
- •Контрольні питання
- •Лабораторна робота № 11-12
- •Короткі теоретичні відомості
- •Хід роботи
- •Хід роботи
- •Завдання
- •Контрольні питання
- •Список літератури
- •39614, М. Кременчук, вул. Першотравнева, 20
Хід роботи
Необхідно згрупувати в пакети класи та побудувати декілька діаграм Класів і показати на них класи і пакети системи.
Постановка задачі
На основі діаграми Взаємодії об'єднати класами моделі Rose в пакети по стереотипу. Створити пакети Entities (Суть), Boundaries (Межі) і Control (Управління), помістивши в них відповідні класи. Потім для кожного пакету побудувати діаграми Класів. На Головній діаграмі показати пакети, а на діаграмі Введення нового заказа – всі класи цього варіанту використання.
Об'єднаєте виявлені класи в пакети. Створіть діаграму Класів для відображення пакетів, діаграми Класів для представлення класів в кожному пакеті і діаграму Класів для представлення всіх класів варіанту використання "Ввести нове замовлення".
Настроювання
1. У меню моделі виберіть пункт Tools > Options (Інструменти > Параметри).
2. Перейдіть на вкладку Diagram (Діаграма).
3. Переконаєтеся, що встановлений прапорець Show stereotypes (Показати стереотипи).
4. Переконаєтеся, що встановлені прапорці Show All Attributes (Показати всі атрибути) і Show All Operations (Показати всі операції).
5. Переконаєтеся, що скинуті прапорці Suppress Attributes (Подавити виведення атрибутів) і Suppress Operations (Подавити виведення операцій).
Створення пакетів
1. Клацніть правою кнопкою миші на Логічному представленні браузера.
2. У меню, що відкрилося, виберіть пункт New > Package (Створити > Пакет).
3. Назвіть новий пакет Entities (Суть).
4. Повторивши кроки 1—3, створіть пакети Boundaries (Межі) і Control (Управління).
Створення Головної діаграми Класів
1. Двічі клацнувши мишею на Головній діаграмі Класів, що знаходиться під Логічним представленням браузера, відкрийте її.
2. Перетягнете пакет Entities з браузера на діаграму.
3. Перетягнете пакети Boundaries і Control з браузера на діаграму. Головна діаграма Класів повинна виглядати, як показано на рис. 1.
Рис. 1.
Створення діаграми Класів для сценарію "Ввести нове замовлення" з відображенням всіх класів
1. Натисніть правою кнопкою миші на Логічному представленні браузера.
2. У меню, що відкрилося, виберіть пункт New > Class Diagram (Створити > Діаграма Класів).
3. Назвіть нову діаграму Класів Add New Order (Введення нового замовлення).
4. Двічі клацнувши мишею на цій діаграмі в браузере, відкрийте її.
5. Перетягнете з браузера всі класи (OrderOptions, OrderDetail, Order, OrderMgr і TransactionMgr). Отримана діаграма Класів представлена на рис. 2.
Рис. 2.
Додавання стереотипів до класів.
1. Натисніть правою кнопкою миші на класі OrderOptions діаграми.
2. У меню, що відкрилося, виберіть пункт Open Specification (Відкрити специфікацію).
3. У полі стереотипу введіть слово Boundary.
4. Натисніть правою кнопкою миші на класі OrderDetail діаграми.
5. У меню, що відкрилося, виберіть пункт Open Specification (Відкрити специфікацію).
6. У списку поля стереотипів, що розкривається, буде вказаний стереотип Boundary. Виділите його.
7. Повторивши кроки 1 – 4, пов'яжіть класи OrderMgr і TransactionMgr із стереотипом Control, а клас Order – co стереотипом Entity. Діаграма Класів повинна мати вигляд, як на рис.3.
Рис. 3.
Об'єднання класів в пакети.
1. У браузері перетягніть класи OrderOptions і OrderDetail на пакет Boundaries.
2. Перетягніть класи OrderMgr і TransactionMgr на пакет Control.
3. Перетягніть клас Order на пакет Entities.
Класи і пакети в браузері показані на рис. 4.
Рис. 4.
Додавання діаграм Класів до кожного пакету.
1. У браузере натисніть правою кнопкою миші на пакеті Boundaries.
2. У меню, що відкрилося, виберіть пункт New > Class Diagram (Створити > Діаграма Класів).
3. Введіть ім'я нової діаграми — Main (Головна).
4. Двічі натиснувши мишею на цій діаграмі, відкрийте її.
5. Перетягніть на неї з браузера класи OrderOptions і OrderDetail. Головна діаграма Класів пакету Boundaries повинна тепер виглядати, як показано на рис. 5.
Рис. 5.
6. Закрийте діаграму.
7. У браузере натисніть правою кнопкою миші на пакеті Entities.
8. Повторіть пункти 2-4 і перетягніть з браузера клас Order.
9. Закрийте діаграму.
10. У браузере клацніть правою кнопкою миші на пакеті Control.
11. Повторіть пункти 2-4 і перетягніть з браузера класи OrderMgr і TransactionMgr.
12. Закрийте діаграму. Головна діаграма Класів пакету Control повинна тепер виглядати, як показано на рис. 6.
Рис. 6.
Завдання
Вивчити теоретичний| матеріал|, щодо| теми лабораторної| роботи|.
Відповісти на контрольні| запитання|.
В середовищі Rose створити розглянуті діаграми Класів до своєї курсової роботи |.
Додати до діаграм потрібні спеціфікації |.
Контрольні питання|
Яке призначення діаграм класів?
Для чого використовується діаграма класів на стадії аналізу?
Для чого використовується діаграма класів на стадії проектування?
Назвіть основні компоненти діаграм класів.
Література: [1,2,11–13].
Лабораторная работа 5-6
Тема: Атрибути і операції. Встановлення зв’язків між класами
Мета роботи: Добавити атрибути і операції к класам. Установити зв’язки між класами і пакетами.
Короткі теоретичні відомості
Хід роботи
Додавання атрибутів і операцій
Додамо атрибути і операції до класів діаграми Класів "Введення нового замовлення". При цьому використовуємо специфічні для мови особливості. Встановимо параметри так, щоб показувати всі атрибути, всі операції і їх сигнатури. Застосуємо нотацію UML.
Настроювання
1. У меню моделі виберіть пункт Tools > Options (Інструменти > Параметри).
2. Перейдіть на вкладку Diagram.
3. Переконаєтеся, що прапорець Show visibility (Показати видимість) встановлений.
4. Переконаєтеся, що прапорець Show stereotypes (Показати стереотипи) встановлений.
5. Переконаєтеся, що прапорець Show operation signatures (Показати сигнатури операцій) встановлений.
6. Переконаєтеся, що прапорці Show all attributes (Показати всі атрибути) і Show all operations (Показати всі операції) встановлені.
7. Переконаєтеся, що прапорці Suppress attributes (Подавити атрибути) і Suppress operations (Подавити операції) скинуті.
8. Перейдіть на вкладку Notation (Нотація).
9. Переконаєтеся, що прапорець Visibility as icons (Відображати піктограми) скинутий.
Додавання нового класу
1. Знайдіть в браузере діаграму Класів варіанту використання "Ввести нове замовлення".
2. Двічі клацнувши мишею на діаграмі, відкрийте її.
3. Натисніть кнопку Class панелі інструментів.
4. Клацніть мишею усередині діаграми, щоб помістити туди новий клас.
5. Назвіть його Orderltem.
6. Призначте цьому класу стереотип Entity.
7. У браузере перетягнете клас в пакет Entities. Додавання атрибутів
1. Клацніть правою кнопкою миші на класі Order.
2. У меню, що відкрилося, виберіть пункт New Attribute (Створити атрибут).
3. Введіть новий атрибут: OrderNumber : Integer
4. Натисніть клавішу Enter.
5. Введіть наступний атрибут: CustomerName : String.
6. Повторивши кроки 4 і 5, додайте атрибути: OrderDate : Date OrderFillDate : Date
7. Клацніть правою кнопкою миші на класі Orderltem.
8. У меню, що відкрилося, виберіть пункт New Attribute (Створити атрибут).
9. Введіть новий атрибут: ITEMID : Integer.
10. Натисніть клавішу Enter.
11. Введіть наступний атрибут: ItemDescription : String.
Додавання операцій до класу Orderltem
1. Клацніть правою кнопкою миші на класі Orderltem.
2. У меню, що відкрилося, виберіть пункт New Operation (Створити операцію).
3. Введіть нову операцію: Create.
4. Натисніть клавішу Enter.
5. Введіть наступну операцію: Setlnfo
6. Натисніть клавішу Enter.
7. Введіть операцію: Getlnfo
Докладний опис операцій за допомогою діаграми Класів
1. Клацнувши мишею на класі Order, виділите його.
2. Клацніть на цьому класі ще раз, щоб перемістити курсор всередину.
3. Відредагуйте операцію Create(), щоб вона виглядала таким чином: Create() :
Boolean
4. Відредагуйте операцію Setlnfo():
Setlnfo(OrderNum : Integer, Customer : String, OrderDate : Date, FillDate : Date): Boolean
5. Відредагуйте операцію Getlnfo(): GETLNFOO : String
Докладний опис операцій за допомогою браузера
1. Знайдіть в браузере клас Orderltem.
2. Розкрійте цей клас, клацнувши на значку "+" поряд з ним. У браузере з'являться атрибути і операції класу.
3. Двічі клацнувши мишею на операції GetInfo, відкрийте вікно її специфікації:
4. У списку Return, що розкривається, class (Повертаний клас) вкажіть String.
5. Клацнувши мишею на кнопці ОК, закрийте вікно специфікації операції.
6. Двічі клацніть в браузере на операції Setlnfo() класу Orderltem, щоб відкрити вікно її специфікації.
7. У списку Return, що розкривається, class вкажіть Boolean.
8. Перейдіть на вкладку Detail (Детально).
9. Клацніть правою кнопкою миші в області аргументів, щоб додати туди новий параметр:
10. У меню, що відкрилося, виберіть пункт Insert (Вставити). Rose додасть аргумент під назвою argname.
11. Клацнувши один раз на цьому слові, виділите його і зміните ім'я аргументу на ID.
12. Клацніть на колонці Турі (Тип). У списку типів, що розкривається, виберіть Integer.
13. Клацніть на колонці Default (За умовчанням), щоб додати значення аргументу за умовчанням. Введіть число 0.
14. Натиснувши на кнопку ОК, закрийте вікно специфікації операції.
15. Двічі клацніть на операції Create() класу OrderItem, щоб відкрити вікно її специфікації.
16. У списку Return, що розкривається, class вкажіть Boolean.
17. Натиснувши на кнопку ОК, закрийте вікно специфікації операції.
Докладний опис операцій
1. Використовуючи браузер або діаграму Класів, введіть наступні сигнатури операцій класу OrderDetail: Open() : Boolean, SubmitInfo : Boolean, Save() : Boolean.
2. Використовуючи браузер або діаграму Класів, введіть сигнатуру операцій класу OrderOptions: Create() : Boolean.
3. Використовуючи браузер або діаграму Класів, введіть сигнатуру операцій класу OrderMgr: SaveOrder(ORDERID : Integer): Boolean.
4. Використовуючи браузер або діаграму Класів, введіть сигнатури операцій класу TransactionMgr: SaveOrder(ORDERID : Integer): Boolean, Commit : Integer.
Завдання
Вивчити теоретичний| матеріал|, щодо| теми лабораторної| роботи|.
Відповісти на контрольні| запитання|.
В середовищі Rose створити розглянуті діаграми Класів до своєї курсової роботи.
Додати до діаграм потрібні спеціфікації |.
Контрольні питання|
Назвіть основні типи статичних зв'язків між класами.
Що є асоціація?
У чому сенс множинності асоціацій?
У чому відмінність атрибутів від асоціацій?
Що таке ознака видимості?
Що є операція класу?
У чому сенс узагальнення?
Яке призначення обмежень на діаграмах класів?
Література: [1,2,11–13].
Лабораторна работа 7
Тема: Діаграми взаємодії. Діаграма послідовності та кооперативна діаграма
Мета роботи: Розробка діаграми Взаємодії, Послідовності, Кооперативних діаграм.
Короткі теоретичні відомості
На діаграмі Взаємодії (Interaction) відображають один з процесів обробки інформації у варіанті використання. У варіанті використання "Зняти гроші" з прикладу АТМ є декілька альтернативних потоків. Це означає, що для даного варіанту використання потрібно створити декілька діаграм Взаємодії. У результаті на одній діаграмі буде показано, що відбувається, коли все гаразд. На інших буде відображений хід подій в альтернативних потоках: що відбудеться, якщо клієнт введе невірний ідентифікаційний номер, якщо грошей на його рахунку менше, ніж він хоче зняти, і т.д.
Діаграм Взаємодії два типи — діаграми Послідовності (Sequence) і Кооперативні діаграми (Collaboration). Діаграми першого типу організовані за часом.
Приклад такої діаграми приведений на рис. 4.1
На Кооперативній діаграмі відображається та ж інформація, але організована вона по-іншому (див. рис. 4.2)
На діаграмах обох типів представлена одна і та ж інформація, проте між ними існують дві відмінності. Діаграми Послідовності загострюють увагу на управлінні, Кооперативні діаграми відображають потік даних.
Діаграми Взаємодії відображають практично ті ж деталі, що вже були описані у потоці подій, проте представляють їх у формі, зручнішій для розробника. Головне тут об'єкти, які повинні бути створені для реалізації функціональних можливостей, закладених у варіант використання. На діаграмах Послідовності і Кооперативних діаграмах можуть бути показані об'єкти, класи або те і інше разом.
Об'єктом називають щось, що містить (що інкапсулює) у собі деякі дані і поведінку. Це термін, що описує реальні, конкретні предмети.
У середовищі Rose об'єкти поміщають на діаграми Взаємодії. Коли дійова особа (що є стереотипом класу) або будь-який інший клас переноситься на діаграму Взаємодії, автоматично створюється екземпляр об'єкту цього класу. Видалення об'єкту з діаграми Rose не приводить до видалення класу з моделі.
Клас – це будь-яка суть, що є схемою (blueprint) об'єкту. Іншими словами, клас визначає дані і поведінку, якими повинен володіти об'єкт. Клас – більш загальний термін, що є, по суті, шаблоном для об'єктів.
За допомогою діаграм Взаємодії проектувальники і розробники системи можуть визначити класи, які потрібно створити, зв'язки між ними, а також операції і відповідальності (responsibilities) кожного класу.
Діаграми Взаємодії містять:
Об'єкти. Можна використовувати імена як об'єктів, так і класів, або того і іншого.
Повідомлення. За допомогою повідомлення один об'єкт або клас запрошує у іншого виконання конкретної функції.
Діаграма Послідовності — це впорядкована за часом діаграма Взаємодії, читати її слід зверху вниз. У кожного варіанту використання є велика кількість альтернативних потоків. Кожна діаграма Послідовності описує один з потоків варіанту використання.
У кожного об'єкту є лінія життя (lifeline), що зображується у вигляді вертикальної штрихової лінії під об'єктом. Повідомлення, відповідні комунікаціям між об'єктами, малюють між лініями життя об'єктів.
Кнопка |
Опис |
Назва |
|
Вибір елементу моделі |
Selection Tool |
|
Введення тексту |
Text Box |
|
Коментар |
Note |
|
Зв'язок коментаря з елементом |
Anchor Note to Item |
|
Об'єкт |
Object |
|
Повідомлення |
Object Message |
|
Самоделегування |
Message to Self |
Повідомлення показує, що один об'єкт викликає функцію іншого. Далі, коли ми визначимо операції класів, кожне повідомлення стане операцією. Повідомлення можуть бути рефлексивними, що відповідає зверненню об'єкта до своєї власної операції.
Кооперативні діаграми (Collaboration) відображають потік подій в конкретному сценарії варіанту використання. Діаграми Послідовності впорядковані за часом, а Кооперативні діаграми більше уваги загострюють на зв'язках між об'єктами. На мал. 4.6 приведена Кооперативна діаграма, що описує, як Джо знімає з рахунку $20.
Для сценарію часто створюють діаграми обох типів. Хоча вони служать одній і тій же меті і містять одну і ту ж інформацію, але представляють її з різних точок зору. В Rose діаграму Послідовності можна перетворити в Кооперативну діаграму і навпаки, натиснувши клавішу F5 або вибравши в меню пункт Browse > Create (Sequence/Collaboration) Diagram (Огляд > Створити діаграму (Послідовності/ Кооперативну)).
Кнопка |
Опис |
Назва |
|
Вибір елементу моделі |
Selection Tool |
|
Введення тексту |
Text Box |
|
Коментар |
Note |
|
Зв'язок коментаря з елементом |
Anchor Note to Item |
|
Об'єкт |
Object |
|
Представник класу |
Class Instance |
|
Зв'язок |
Object Linkf |
|
Самоделегирование |
Link to Self |
|
Повідомлення |
Link Message |
|
Відповідь |
Reverse Link Message |
|
Потік даних |
Data Flow |
|
Зворотний потік даних |
Reverse Data Flow |
У середовищі Rose для кожного об'єкту на діаграмі можна задати його стійкість (persistence). Підтримуються наступні варіанти:
Persistent (Стійкий) Стійкий об'єкт зберігається в базі даних або іншим способом, що забезпечує постійне зберігання. Такий об'єкт існуватиме навіть після припинення роботи програми.
Static (Статичний) Статичний об'єкт зберігається в пам'яті комп'ютера протягом всього часу роботи програми. Він, зокрема, продовжує існування після виконання відбитих на діаграмі Послідовності дій, але не зберігається після припинення роботи програми.
Transient (Тимчасовий) Тимчасовий об'єкт зберігається в пам'яті протягом дуже короткого часу (наприклад, поки не закінчиться виконання процесів, визначених в діаграмі Послідовності ).
