78175

Дослідження мережі масового обслуговування аналітичними методами

Лабораторная работа

Информатика, кибернетика и программирование

Стохастична мережа масового обслуговування (МО) - це сукупність взаємозалежних систем масового обслуговування (СМО), у якій заявки з визначеною ймовірністю переходять з однієї СМО в іншу. Кожна СМО - це одне або декілька обслуговуючих пристроїв з чергою.

Украинкский

2017-10-18

982 KB

1 чел.

ЛАБОРАТОРНА РОБОТА 1 Мод та АН ПЗ

“Дослідження мережі масового обслуговування аналітичними методами”

Мета роботи: освоїти аналітичні методи дослідження систем.

1. Короткі відомості з теорії мереж МО

Стохастична мережа масового обслуговування (МО) - це сукупність взаємозалежних систем масового обслуговування (СМО), у якій заявки з визначеною ймовірністю переходять з однієї СМО в іншу. Кожна СМО - це одне або декілька обслуговуючих пристроїв з чергою.

Розрізняють розімкнуті і замкнуті мережі МО. У розімкнутій мережі МО оброблені заявки залишають її, а джерело містить нескінченне число заявок. У замкнутій мережі МО кінцеве фіксоване число заявок циркулює в мережі, не залишаючи її.

Вважають, що джерело в цьому випадку містить кінцеве число заявок. Аналітична модель мережі МО визначається сукупністю наступних параметрів:

числом систем масового обслуговування S1, S2, ..., Sn , що складають мережу МО;

числом каналів обслуговування ri в СМО Si;

матрицею ймовірностей Р=||рij||, елемент якої рij - це ймовірність передачі заявки із системи Si у Sj;

інтенсивністю0 джерела заявок для розімкнутої мережі МО чи числом заявок N, що циркулюють у замкнутій мережі МО;

середніми тривалостями обслуговування 1/ в каналах обслуговування системи.

При аналітичному дослідженні вважають, що і тривалість між послідовними надходженнями заявок, і тривалість обслуговування в пристроях суть випадкові величини, які мають експоненційний закон розподілу. Якщо мережа МО розімкнута, то, як правило, дослідження проводять при наявності сталого режиму. Сталий режим у мережі МО можливий, якщо тільки виконана умова сталого режиму для кожної зі складових її систем, тобто інтенсивність вхідного в систему Si потоку заявок повинна бути менша інтенсивності їх обслуговування:

(2.1)

Вхідний у систему Si потік заявок складається з заявок, що виходять із системи Sj і з ймовірністю pji попадають у систему Si. Інтенсивність вихідного із системи Si потоку дорівнює в сталому режимі інтенсивності потоку, що в неї входить, тобтоi. Частка цього потоку, яка дорівнює рiji, попадає в систему Si. Отже, вірна рівність

i=0,1, ..., n (2.2)

Із системи (n+1) лінійних рівнянь (1.1) знаходять невідомі значення 1,…,n:

, i=1, ..., n, (2.3)

де ei - коефіцієнт передачі, що залежить тільки від значень ймовірностей рij. Умови (2.1) разом з (2.3) мають вид

, i=1, ..., n, (2.4)

Звідси знаходимо умову сталого режиму в мережі МО:

. (2.5)

Стан мережі в кожний момент часу визначається вектором (k1,…,kn), де ki - це число заявок у системі Si. З теореми відомо, що ймовірність р(k1,…,kn) стану мережі (k1,…,kn) дорівнює добутку ймовірностей стану систем Si, коли в них знаходиться ki заявок, причому обчислюються вони, як ніби то система була ізольована від інших систем Sj (ji):

,

(2.6)

Знання ймовірностей р(k1,…,kn) дозволяє обчислити основні показники ефективності функціонування розімкнутої мережі МО:

середнє число заявок в i-ій СМО - математичне очікування випадкової величини "число заявок у черзі"

;

середнє число зайнятих пристроїв в Si

;

середнє число заявок, що перебувають в Si,

;

середній час очікування в Si

;

середній час перебування заявок в системі Si

;

середній час перебування заявок у мережі МО

,

тому що заявка проходить через i-ту СМО ei раз.

Якщо мережа замкнута, то джерело заявок So відсутнє, мережа містить кінцеве число заявок N у кожен момент часу і сталий режим існує в ній при будь-яких 1,2,…,n.Так як жодне зі значень i заздалегідь не відоме, система лінійних рівнянь (2.2) (i=1, …, n) має в цьому випадку безліч кількість розв‘язків

, i=2, ..., n (2.7)

Для визначеності приймають 1=1 та i=еі. Стан замкнутої мережі в кожен момент часу визначається кількістю заявок ki у кожній системі Si, або вектором (k1, …, kn), причому

.

Кількість всіляких станів мережі дорівнює числу сполучень

.

Наприклад, для мережі, що складається з двох СМО (n = 2) і обслуговує три заявки (N = 3), загальне число станів дорівнює . Це пари (0;3), (1:2), (2:1), (3;0).

На відміну від випадку розімкнутої мережі ймовірність р(k1,…, kn) стану зімкнутої мережі (k1,…, kn) () дорівнює добутку ймовірностей pi(ki) і нормуючого множника G-1, який залежить від кількості заявок в мережі N:

, (2.8)

,

де підсумовування проводиться по всіх можливих станах мережі.

На основі значень р(k1,…,kn) обчислюються основні характеристики замкнутої мережі:

середнє число заявок в черзі i-ої СМО

,

де  є ймовірність того, що в системі Si знаходиться рівно j штук заявок;

2) середнє число зайнятих пристроїв в i-ій СМО:

;

3) середнє число заявок в i-ій СМО

;

4) інтенсивність вихідного потоку заявок в i-ій СМО

;

5) середній час перебування заявки в i-ій СМО

;

6) середній час очікування в черзі i-ої СМО

.

Певні труднощі при використанні замкнутих мережевих моделей пов'язані з обчисленням знаменника G у виразі (2.8). Для розрахунку його, як випливає з теорії, можна використати рекурентну формулу

. (2.9)

Значення цієї рекурсії при m=N, i=n співпадає з G, тобто g(N,n)=G, а початок її виходить зі значень g(0,i)=1, i=1, …, n, g(r,1)=pi(r), 0<rN. Наприклад, при n=2 з (1.9) випливає, що

.

Звідси, з огляду на , знаходимо

.

Тут всі  мають вираз (2.8).

2. Завдання до роботи

Дослідити обраний варіант (рис. 2.1, 2.2) мережі МО аналітичними методами і зробити висновки про ефективності її роботи.

3. Хід виконання роботи

вивчити теоретичні відомості;

разом з викладачем вибрати варіант завдання;

виконати аналітичний розрахунок мережі МО;

перевірити відповідність результатів розрахунку розумному змісту моделі;

скласти та оформити звіт.

4. Зміст звіту

завдання до роботи;

опис розрахунку обраного варіанта мережі МО;

програма для ЕОМ виконання розрахунку на вибір студента або з використанням відомої алгоритмічної мови програмування (Pascal, C) або з використанням математичного програмного забезпечення (Mathcad, MatLab, Matematica);

побудувати звіти і графіки, що моделюють роботу системи;

висновки про переваги та недоліки освоєних методів дослідження мережі МО, про отримані результати дослідження.

5. Контрольні питання

При яких умовах можливе дослідження мережі МО аналітичними методами?

Дайте поняття мережі МО: а) розімкнутої; б) замкнутої.

Чим відрізняється розрахунок мереж МO розімкнутих і замкнутих?

Які якісні висновки про ефективність роботи мережі МО можна одержати за допомогою аналітичних методів дослідження?

Що ви можете сказати про точність отриманих результатів моделювання?

Як можуть бути використані результати аналітичного моделювання мережі МО на практиці?

6. Література.

Каган О.Б. Электронно-вычислительные машины и системы - М.: 1985.

Томашевський. Моделювання систем

Рис. 2.1. Варіанти 1,2,3,4 до лабораторної роботи 2.

Рис.2.2. Варіанти 5,6,7,8 до лабораторної роботи 2.

ЛАБОРАТОРНА РОБОТА 2 Мод та Ан ПЗ

"Дослідження мережі МО імітаційними методами. Складання алгоритму імітації і реалізація його засобами ЕОМ"

Мета роботи: освоїти імітаційні методи дослідження систем.

1 Короткі відомості про побудову алгоритму імітації мережі МО.

Структуру реальної системи, що здійснює довільні процеси обслуговування, можна формалізувати, використовуючи елементи трьох типів: джерела, накопичувачі і канали обслуговування заявок. Джерела (Д) створюють заявки на обслуговування в каналах (К). Якщо канал зайнятий, то заявка попадає в накопичувач (Н) цього каналу, де вона очікує звільнення каналу. Якщо місткість накопичувача вичерпана попередніми заявками, то настає блокування попереднього каналу, або заявка залишає СМО не обслугованою. Модель СМО вважається заданою, якщо задані вхідні потоки заявок і потоки обслуговування кожного каналу К, структура системи, тобто число фаз і каналів обслуговування, наявність накопичувачів і зв'язки між джерелами Д, накопичувачами Н і каналами К, а також, алгоритми функціонування системи (дисципліни обслуговування в накопичувачах Н і вибору на обслуговування в каналах К, правила виходу заявок з накопичувачів Н та каналів К).

Розглянемо способи побудови моделюючих алгоритмів процесу функціонування СМО. При імітації процесу функціонування СМО на деякому інтервалі часу необхідно переглядати всі елементи СМО (Д, Н і К) в послідовні моменти часу і фіксувати зміни їхнього стану. Крок моделюванняt визначається або мінімальним інтервалом часу між найближчими подіями, і тодіt - постійна величина на всьому інтервалі моделювання (детермінований моделюючий алгоритм), або моментами особливих станів (моменти появи заявок із джерела чи зміни стану К), і тодіt - змінна величина (стохастичний моделюючий алгоритм). Стохастичний моделюючий алгоритм може бути реалізований синхронним і асинхронним способами. При синхронному способі один з елементів системи обирається ведучим і по ньому "синхронізується" весь процес моделювання. При асинхронному способі ведучий елемент відсутній, а черговий крок моделювання відповідає найближчому особливому стану. Якщо в кожному особливому стані переглядаються всі елементи, то це - циклічний спосіб, якщо тільки ті, можуть у цьому випадку змінювати свій стан, то це - спорадичний спосіб.

Класифікація способів побудови моделюючих алгоритмів приведена на рисунку 3.1.

Рис. 3.1. Класифікація алгоритмів імітації.

Розглянемо деякі з них на прикладі трифазної СМО (рис. 3.2) із блокуванням каналів по виходу в 1-й і 2-й фазах.

Рис. 3.2. Схема трифазної СМО.

Поставимо перед собою мету дослідити ймовірність відмовлень Р. Для цього введемо змінну N3, яка визначає кількість заявок, що вийшли з каналу з К(3,1), і змінну N1, яка визначає кількість загублених заявок, що не надійшли до накопичувача H(1). Тоді P=N1/(N1+N3). Стан системи в кожен момент часу задається наступними масивами перемінних:

масивом Z(K,J), що вказує стан каналів обслуговування K(K,J), K=1,2,3; J=1,2 (Z(К,І)=0, якщо канал К(К,І) вільний; Z(K,І)=1, якщо канал К(K,І) зайнятий; Z(К,І)= , якщо канал К К,І) заблокований);

масивом Т(К,І), що задає час виходу чергової заявки із К(К,І);

масивом ZN(I), I=1,2, що вказує стан накопичувача N(I) (ZN(I)=0, якщо накопичувач N(I) вільний; ZN(І)=1, якщо накопичувач містить одну заявку, і т.п.);

часом появи чергової заявки в джерелі ТМ.

Місткості накопичувачів задаються в масиві LN(І).

Збільшена схема детермінованого моделюючого алгоритму показана на рис.3.3.

Постійний крок моделювання t задається початковими умовами, тому перехід до наступного моменту часу (блок 10) складається в просуванні системного часу на величину кроку. Схеми алгоритмів блоків 4, 5, 6, 7 і 9 представлені на рис.3.4. Блок 8 аналогічний блоку 6. Процедура обслуговування заявки в К(К,І) складається в звертанні до генератора випадкових чисел (ГВЧ), що відповідає даному каналу і виробленню значення Т(К,І). Процедура GEN(TM) - це звертання до ГВЧ джерела і вироблення моменту ТМ появи чергової заявки в системі. Закінчення обслуговування заявки в деякому каналі K(K,І) може викликати процес поширення змін станів елементів системи в напрямку, протилежному руху заявок, тому всі Д та К повинні проглядатися, починаючи з обслуговуючого каналу останньої фази. Блок 4 - це імітація обслуговування каналом 3-ї фази заявки. Блок 5 - імітація роботи каналів 2-ї фази. Блок 7 - взаємодія каналів 1-ї фази і накопичувача 2-ї фази. Блок 6 - здійснює взаємодію каналів і накопичувача в 2-й фазі. Блок 8 - здійснює взаємодію накопичувача і каналів 1-ї фази. І, нарешті, блок 9 - імітує взаємодію накопичувача і джерела 1-ї фази.

Інший спосіб імітації тієї ж СМО - побудова асинхронного спорадичного моделюючого алгоритму, збільшена схема якого показана на рис.2.5.

Блок 4 служить для визначення тимчасового інтервалу до найближчого особливого стану:

В результаті роботи цього блоку ТМ=0, якщо найближчою подією є надходження заявки з джерела і відомий номер фази II і номер каналу JJ, якщо ТМ>0 і найближчим станом є звільнення каналу K(II,JJ), Тому блок 5 здійснює перевірку умови ТМ=0, блок 7 - умови II=1, блок 9 - умови II=2. При складанні алгоритму блоків 8,10,11 потрібно враховувати, що звільнення К(К,І) може викликати розблокування К(К-1,І), що у свою чергу може викликати розблокування К(К-2,І). На рис.3.6 подана схема алгоритму блоків 10, 4.

Якщо порівнювати два розглянутих алгоритми, то детермінований найбільш простий з погляду логіки його побудови, але вимагає збільшених витрат машинного часу на моделювання, проте асинхронний спорадичний економічний з погляду витрат машинного часу, але логіка його значно ускладнюється при збільшенні кількості елементів у системі.

2 Завдання до роботи.

Дослідити обраний варіант (рис.3.) мережі МО імітаційними методами. Показниками ефективності роботи мережі МО вважати ймовірність відмови в обслуговуванні, середні довжини черг у накопичувачах і середній час очікування в кожній черзі.

Рис. 3.3. Збільшена схема детермінованого моделюючого алгоритму.

Рис. 3.4 а). Схема алгоритму блоку 4.

Рис. 3.4 б). Схема алгоритму блоку 5.

Рис. 3.4 в). Схема алгоритму блоку 6.

Рис. 3.4 г). Схема алгоритму блоку 7.Рис. 3.4 д). Схема алгоритму блоку 9.Рис. 3.5. Збільшена схема асинхронного спорадичного моделюючого алгоритму.

Рис. 3.6 а). Схема алгоритму блоку визначення поточного стану.

Рис. 3.6 б) Схема алгоритму блоку визначення моменту найближчої події.

Рис. 3.7 а) Варіанти 1,2,3,4,5 до лабораторної роботи 3.

Рис. 3.7 б) Варіанти 6,7,8 до лабораторної роботи 3.

2. Завдання до роботи:

Дослідити обраний варіант (рис.3.7 а,б) мережі МО імітаційними методами. Вважати показниками ефективності мережі МО ймовірність відмови в обслуговуванні, середні довжини черг в накопичувачах та середній час очікування в чергах.

3. Хід виконання роботи:

вивчити теоретичні відомості;

разом з викладачем вибрати варіант завдання;

побудувати алгоритм імітації і виконати його реалізацію на відомій алгоритмічній мові програмування;

перевірити відповідність результатів моделювання задуму моделі;

скласти й оформити звіт.

5. Зміст звіту:

завдання до роботи;

програма, що реалізує алгоритм імітації з необхідними поясненнями;

результати дослідження відповідності задуму моделювання, що містять у собі результати прогонів програми при:

а) вхідних значеннях параметрів ,,l;

б) зміненому в декілька раз параметрі ;

в) зміненому в декілька раз параметрі ;

г) зміненому в декілька раз параметрі 1;

д) збільшеному в два рази часу моделювання;

висновки про переваги та недоліки дослідження мережі МО імітаційними методами, обраного способу побудови алгоритму імітації, отриманих результатах дослідження.

5 Контрольні запитання

Що розуміється під імітацією мережі МО?;

Опишіть процес побудови алгоритму імітації;

Які переваги та недоліки дослідження мережі МО імітаційними методами?

Вкажіть, за якими причинами дослідження обраної вами мережі МО неможливо аналітичними методами;

Чи можливо поширити побудований вами алгоритм імітації на випадок N послідовно з‘єднаних систем МО?

Запропонуйте спосіб імітації розгалуження маршрутів заявок із зазначеними ймовірностями проходження по кожному з маршрутів;

Чи можливо поширити освоєний метод імітації розімкнутої мережі МО на випадок замкнутої мережі МО? Яким чином?

6. Література

Советов Б.Я., Яковлев С.А. Моделирование систем. - М.: 1985.

ЛАБОРАТОРНА РОБОТА №3 предмет МтаАнПЗ

Тема: ВИВЧЕННЯ АРХІТЕКТУРИ, ВІЗУАЛЬНИХ ІНТЕРФЕЙСІВ ТА БАЗОВИХ ІНСТРУМЕНТАЛЬНИХ ЗАСОБІВ CASE-СИСТЕМИ RATIONAL ROSE

Мета: вивчити наступні питання

- призначення системи, склад та перелік її основних компонентів

- вивчення основних понять: пакети, класи, відношення (зв’язки) компоненти, стереотипи, представлення програмної системи як сукупності UML-діаграм;

- інтерфейс та можливості пакету Use Case View;

- інтерфейс та можливості пакету Logical View;

- інтерфейс та можливості пакету Component View;

- інтерфейс та можливості пакету Deployment View;

- розширення UML - діаграм для проектування Web-додатків.

Призначення системи, склад та перелік її основних компонентів Case - засіб Rational Rose (RR) - інструмент для проектування програмного забезпечення (ПЗ) будь-якої складності. RR надає розробнику потужний арсенал засобів для аналізу і моделювання майбутньої програмної системи, також дозволяє документувати розроблюваний проект та генерувати готовий програмний код, у вигляді заглушок, який відповідає розробленим класам ПС. Однією з корисних особливостей Case - засібу Rational Rose є змога проваджувати зворотній інженерінг проекту (reverse engineering), тобто генерувати діаграми з існуючого програмного коду.

До основних компонентів Case-засіб Rational Rose можна віднести наступні (Рис. 1):

- головне меню;

- панель інструментів: окрім стандартних функцій (створення, відкриття, друку проекту, тощо) надає можливість вибрати тип нової діаграми;

- браузер проекту: показує дерево проекту - наявні діаграми та пакети;

- панель інструментів діаграми: містить доступний для створення конкретної діаграми набір інструментів;

- робоча область: найбільша візуальна область для створення діаграм;

- вікно документації: область для ведення документації проекту - детального документування діаграм, пакетів, тощо;

- вікно ведення журналу: область де відображується записи в журна проекту. Якщо є необхідність, журнал можна записати у файл.

Вивчення основних понять UML-діаграм: пакети, класи, відношення (зв’язки) компоненти, стереотипи

Конструктивні блоки UML

Сутності є основою UML - моделей. Прив’язку сутностей одну до одної забезпечують відношення, а діаграми групують набори сутностей. В UML представлені чотири типа сутностей: структурні (structural), поведінкові (behavioral), такі, що угрупують (group), анотовані (annotational). Графічне зображення окремих типів сутностей, прийняте в UML, наводиться нижче.

Єдиним представником сутності, що угрупують, є пакет (package). Пакет - це механізм загального призначення для організації елементів у вигляді єдиної групи. Структурні, поведінкові і навіть інші групуючи сутності можуть бути поміщені усередині пакета.

Рис. 2 – Пакет Рис. 3 - Примітка

Анотації є пояснюючою та коментованою частиною UML. Єдиним її типом є примітка (note).

Примітка з’єднується пунктирною лінією із сутністю, до якої вона відноситься.

Клас (class) у мові UML використовується для визначення множини об’єктів, які мають однакову структуру, поведінку та відношення із об’єктами із інших класів. Графічно клас зображується у вигляді прямокутника, який додатково може бути розділений горизонтальними лініями на розділи або секції (Рис. 4). В цих розділах вказуються ім’я класу, атрибути (змінні) ті операції (методи).

Атрибут - у другій зверху секції прямокутника класу записуються його атрибути (attributes) або властивості. У мові UML прийнята визначена стандартизація запису атрибутів класу, яка підпорядковується деяким синтаксичним правилам. Кожному атрибуту класу відповідає окрема строчка тексту, яка складається із квантора видимості атрибута, імені атрибута, його кратності, типу значень атрибута и, можливо, його початкового значення:

Квантор видимості може приймати одне із трьох можливих значень та, відповідно, відображається за допомогою спеціальних символів:

Символ "+" означає атрибут з областю видимості типу загальнодоступний (public). Атрибут із цією областю видимості доступний або видний із будь-якого іншого класу пакета, у якому визначена діаграма.

Символ "#" означає атрибут з областю видимості типу захищений (protected). Атрибут із цією областю видимості недоступний або невидимий для усіх класів, за виключенням підкласів даного класу.

Знак "-" означає атрибут з областю видимості типу закритий (private). Атрибут із цією областю видимості недосяжне або невидимий для усіх класів без виключення.

Метод - в третій зверху секції прямокутника записуються операції або методи класу. Операція (operation) уявляє собою деякий сервіс, що надає кожний екземпляр класу по визначеній вимозі. Сукупність операцій характеризує функціональний аспект поведінки класу. Заспись операцій класу у мові UML також стандартизована и підкоряється визначеним синтаксичним правилам. При цьому кожній операції класу відповідає окрема строчка, яка складається із квантора видимості операції, ім’я операції, виразу типа повертаючого операцією значення і, можливо, строка-властивість даної операції:

Квантор видимості, як і у випадку атрибутів класу, може приймати одне із трьох можливих значень та, відповідно, відображаються за допомогою спеціального символу. Символ "+" визначає операцію із областю видимості типу загальнодоступний (public). Символ "#" визначає операцію із областю видимості типу захищений (protected). І, кінець кінцем, символ "-" використовується для визначення операції із областю видимості типу закритий (private)

Рис. 4 Клас

Крім внутрішньої побудови або структури класів на відповідній діаграмі вказуються різноманітні відношення між класами. При цьому сукупність типів таких відношень фіксована у мові UML та визначена семантикою цих типів відношень. Базовими відношеннями або зв’язками у мові UML є:

- Відношення залежності (dependency relationship)

- Відношення асоціації (association relationship)

- Відношення узагальнення (generalization relationship)

- Відношення реалізації (realization relationship)

Відношення залежності в загальному випадку указує деяке семантичне відношення між двома елементами моделі або двома множинами таких елементів, яке не є відношенням асоціації, узагальнення або реалізації. Воно стосується тільки самих елементів моделі і не вимагає безліч окремих прикладів для пояснення свого сенсу. Відношення залежності використовується в такій ситуації, коли деяка зміна одного елементу моделі може потребувати зміни іншого залежного від нього елементу моделі.

Відношення залежності графічно зображується пунктирною лінією між відповідними елементами із стрілкою на одному з її кінців або "<-"). На діаграмі класів дане відношення зв'язує окремі класи між собою, при цьому стрілка направлена від класу-клієнта залежності до незалежного класу або класу-джерела (Рис. 5). На даному малюнку зображено два класи: Клас_А і Клас_Б, при цьому Клас_Б є джерелом деякої залежності, а Клас_А - клієнтом цієї залежності

Рис.5 Рис. 6

Відношення асоціації відповідає наявності деякої функціональної залежності між класами. Дане відношення позначається суцільною лінією з додатковими спеціальними символами, які характеризують окремі властивості конкретної асоціації. Як додаткові спеціальні символи можуть використовуватися ім'я асоціації, а також імена і кратність класів-ролей асоціації. Ім'я асоціації є необов'язковим елементом її позначення. Якщо воно задане, то записується із заголовної (великою) букви поряд з лінією відповідної асоціації.

Найбільш простій випадок даного відношення - бінарна асоціація

Наприклад: в системі є клас Робітник і клас Компанія. Асоціація між ними може називатися «Робота». Тоді можна сказати «Розробник працює в Компанії»

Відношення агрегації має місце між декількома класами в тому випадку, якщо один з класів є деякою сутністю, що включає як складові частини певні інші сутності.

Дане відношення має фундаментальне значення для опису структури складних систем, оскільки застосовується для представлення системних взаємозв'язків типу "частина-ціле" (part of). Розкриваючи внутрішню структуру системи, відношення агрегації показує, з яких компонентів складається система і як вони зв'язані між собою. З погляду моделі окремі частини системи можуть виступати як у вигляді елементів, так і у вигляді підсистем, які, у свою чергу, теж можуть утворювати складені компоненти або підсистеми. Це відношення за своєю суттю описує декомпозицію або розбиття складної системи на простіші складові частини, які також можуть бути піддані декомпозиції, якщо в цьому виникне необхідність в подальшому.

Наприклад: розподіл комп’ютера на складові частини - системний блок, монітор, клавіатура, мишка

Рис. 7

Відношення узагальнення. Відношення узагальнення є звичайним таксономічнім відношенням між більш загальним елементом (батьком або предком) і більш приватним або спеціальним елементом (дочірнім або нащадком). Дане відношення може використовуватися для представлення взаємозв'язків між пакетами, класами, варіантами використання і іншими елементами мови UML.

Стосовно діаграми класів дане відношення описує ієрархічна будова класів і спадкоємство їх властивостей і поведінки. При цьому передбачається, що клас-нащадок володіє всіма властивостями і поведінкою класу-предка, а також має свої власні властивості і поведінку, які відсутні у класу-предка. На діаграмах відношення узагальнення позначається суцільною лінією з трикутною стрілкою на одному з кінців (Рис. 8). Стрілка указує на більш загальний клас (клас-предок або суперклас), а її відсутність - на більш спеціальний клас (клас-нащадок або підклас).

Рис.8

Компонент (component) - Для представлення фізичної суті в мові UML застосовується спеціальний термін - компонент (component). Компонент реалізує деякий набір інтерфейсів і служить для загального позначення елементів фізичного представлення моделі. Для графічного представлення компоненту може використовуватися спеціальний символ - прямокутник зі вставленими зліва двома дрібнішими прямокутниками (рис.9). Усередині охоплюю чого прямокутника записується ім'я компоненту і, можливо, деяка додаткова інформація. Зображення цього символу може трохи варіюватися залежно від характеру асоційованої з компонентом інформації

http://khpi- iip.mipk.kharkiv.edu/library/case/leon/index.html

Рис. 9  Рис.10

Стереотип (stereotype) Проте час від часу доводиться вводити нову сутність, яка специфічна для словника предметної області, хоча виглядають подібно до примітивних будівельних блоків, вже наявних в мові.

Стереотип - це не те ж саме, що батьківський клас відносно узагальнення "батько/нащадок". Точніше було б охарактеризувати його як деякий метатип, оскільки кожен стереотип створює еквівалент нового класу в метамоделі UML.

Наприклад потрібно ввести допоміжний тип специфічний для веб-базованих систем - server page (Рис.10):

На рис.11 показано внутрішній опис стереотипа.

У середовищі існує 8 базових типів діаграм, користуючись якими розробник має можливість створювати вичерпний опис розроблюваної ПС:

- UseCase diagram (діаграма прецедентів).

- Class diagram (діаграма класів).

- Component diagram (діаграма компонентів).

- Deployment diagram (діаграма розташування).

- Statechart diagram (діаграма стану).

- Activity diagram (діаграма активності).

- Collaboration diagram (діаграма взаємодії).

- Sequence diagram (діаграма послідовності)

Вищезгадані діаграми в RR згруповані по декільком рівням моделювання характеристик ПЗ, що розробляється. Ці рівні називаються View, знаходяться в браузері деревоподібної структури проекту і показані символами відповідних пакетів (див. Рис. 1):

- пакет Use Case View - діаграми цього рівня відповідають етапу концептуального (або архітектурного) рівня проектування ПЗ;

- пакет Logical View - діаграми цього рівня відповідають етапу логічного проектування компонентів ПЗ, при цьому вони можуть бути поділені на 2 типа: статичні та динамічні діаграми ;

- пакет Component View - діаграми цього рівня відповідають етапу фізичного рівня проектування компонентів ПЗ;

- пакет Deployment View.- діаграми цього рівня також відповідають етапу фізичного рівня проектування компонентів ПЗ і доповнюють можливості пакет Component View.

Пакет Use Case View:

Цей пакет може містити одну або сукупність діаграм варіантів використання (Use Case diagram), які використовуються для концептуального рівня проектування ПЗ. Приклад інтерфейсу цього пакету показано на рис. 12:

Рис. 12 - пакет «Use Case View»

Також на панелі інструментів діаграми присутні специфічні для цього типу діаграм інструменти: Актори, Варіанти використання, Асоціації, тощо. Для додавання інструментів, які не входять в стандартний набор інструментів діаграми потрібно на панелі інструментів нажати праву кнопку мишки і вибрати останній пункт «Customize...». Після цього з’явиться вікно додавання нового інструменту до діаграми, де можна обрати потрібні інструменти.

Пакет Logical View:

Цей пакет може містити одну або сукупність діаграм логічного рівня проектування ПЗ, а саме: Class diagram (діаграма класів), Statechart diagram (діаграма стану), Activity diagram (діаграма активності), Collaboration diagram

(діаграма взаємодії), Sequence diagram (діаграма послідовності) Рис. 13, Рис.14:

Рис.13 - пакет «Logical View»

Щоб додати до логічного рівня нову діаграму, потрібно на пакеті Logical View нажати праву кнопку мишки і у меню яке з явиться обрати опцію New, та обрати потрібну діаграму. Для того щоб конвертувати Collaboration diagram (діаграма взаємодії) в Sequence diagram (діаграма послідовності) і навпаки потрібно нажати клавішу F5.

Рис. 14

Пакет Component View

Цей пакет може містити одну або сукупність діаграм фізичного рівня проектування ПЗ, а саме: Component diagram (діаграма компонентів), також там можуть міститися вкладені пакети компонентів ПЗ (Рис. 15):

Рис.15 - пакет «Component View»

Deployment View

На цьому рівні міститься діаграма розміщення (Deployment diagram) апаратного і програмного забезпечення системи на етапі фізичного проектування.

Для того щоб дістатися специфікації будь-якого елемента будь-якої діаграми треба 2 рази нажати лівою кнопкою мишки на потрібному елементі або діаграмі.

Рис.16 - діаграма розміщення

Розширення UML для проектування Web-додатків (WAE)

Розширення для web-додатків (Web Application Extension - WAE) представляє собою набір стереотипів специфічних для розробки web- базованих програмних систем (ПС) класу кліент-сервер. Для використання цього розширення у Case-засобів RR, його потрібно додатково інсталювати (див. посилання в кінці документу). Після інсталяції та запуску середовища RR доступні нові стереотипи (Рис. 17). Нижче вони лише стисло описані, а більш детально будуть висвітлені в лаб. роботах №№ 2-4

Класи, що розширюють можливості пакета Logical View (Class diagram)

Class:ServerPage (Серверна сторінка) - екземпляром цього класу є Web-сторінка, яка містить в собі script-сценарії, що виконуються на сервері системи та взаємодіють при цьому із його ресурсами (напр.. , з БД та ін.).

Class:ClientPage (Сторінка клієнта) - екземпляром цього класу є Web- сторінка в форматі HTML, яка присутня в браузері клієнтського додатку.

Class:Form (Форма) - екземпляром цього класу є сукупність полів для вводу-виводу даних, що розміщуються на певній сторінці ClientPage.

Class:Frameset (набір фреймів) - це контейнер, що містить дані з декількох Web-сторінок або інший фрейм.

Class:Target (Ціль) - це клас, що позначає деяку область вікна браузера, яка має їм’я та відображає певну Web-сторінку.

Class:ClientScriptObject (об’єкт клієнтських сценаріїв) - це клас, що містить деякий набір script-сценаріїв, які містяться в окремому файлі та виконуються на запит клієнтського додатку в браузері.

Асоціації, що розширюють типи зв язки класів в пакеті Logical View

Association:Build (Побудова) - це асоціація між певної серверною сторінкою, яка є відповідальною за побудову деякої клієнтської сторінки.

Association:Link (Зв’язок) - це асоціація, яка позначає посилання однієї клієнтської сторінки на іншу.

Association: Submit (Передача) - це асоціація, що зв’язує класи Form Server і Page, тобто вказує на те, яка серверна сторінка може обробляти дані, що містяться в певній формі.

Association:Targeted Link (Цільове посилання) - це посилання на певну сторінку, яка відображається в іншій області Target.

Association:Redirect (Переадресація) - це асоціація, яка показує напрям можливого переходу з однієї сторінки на іншу (для серверних або клієнтських сторінок).

Стереотипи компонентів, що розширюють пакет Component View

Component: HTMLPage - це представлення будь-якої Web-сторінки, яка відображається у браузері клієнтського додатку.

Component: ASP Page - це представлення Web-сторінки, яка використовує технологію ASP (Active Server Pages).

Component: Script Library - це представлення бібліотеки script- сценаріїв, які можуть бути використані іншими Web-сторінками.

Component:JSP Page - це представлення Web-сторінки, яка використовує технологію JSP (Java Server Pages).

Component: Servlet - це представлення Web-сторінки, яка використовує технологію сервлетів (Java servlets).

Рис. 17 - Деякі стереотипи WAE

В середовищі RR (Рис. 18) можна додати звичним шляхом - нажати правою кнопкою мишки на панелі інструментів діаграми, вибрати Customize... та обрати потрібний стереотип.

Контрольні запитання

1. Назвіть призначення та основні компоненти архітектури Case- засобу Rational Rose;

2. Назвіть та поясніть, для чого застосовують основні конструктивні елементи (абстракції) UML

3. Навести типи зв’язків UML і надати їх коротку характеристику.

4. Які основні пакети існують в середовищі Rational Rose та для чого використовуються

5. Які діаграм містяться в пакеті Use Case View їх призначення

6. Які діаграм містяться в пакеті Logical View їх призначення

7. Які діаграм містяться в пакеті Component View та Deployment View їх призначення

8. Для чого застосовуються UML-розширення WAE

9. Привести основні стереотипи UML-розширення WAE, які використовуються для розширення можливостей пакету Logical View

10. Привести основні стереотипи UML-розширення WAE, які використовуются для розширення можливостей пакету Component View

Список джерел інформації

Коналлен Дж. Разработка Web-приложений с использованием UML. / Пер. с англ. М.: Издательский дом «Вильямс», 2001. - 288 .с

Хавар З., Кэрри Е. Разработка корпоративных Java-приложений с помощью J2EE и UML. : М.: Изд. Дом «Вильямс», 2002. - 272 с.

Леоненков «Самоучитель UML» //http://khpi-iip.mipk.kharkiv.edu/library/case/leon/

WAE додаток для Rational Rose можна отримати за адросою:http://www.rationalrose.com/stereotypes/waesetup.htm


 

А также другие работы, которые могут Вас заинтересовать

75752. Средства индивидуальной защиты при обслуживании потребителей электрической энергии 12.54 KB
  Средства индивидуальной защиты при обслуживании потребителей электрической энергии. Электротехническими средствами индивидуальной защиты называют приборы аппараты приспособления и устройства служащие для защиты персонала от поражения электрическим током воздействия электромагнитного поля ожогов электрической дугой. Основными называют такие средства защиты изоляция которых надежно выдерживает рабочее напряжение электроустановок. Основными средствами индивидуальной защиты служат: а в установках 1000 В и ниже клещи токоизмерительные...
75753. Организация пожарной охраны в городах, промышленности и сельской местности 17.31 KB
  Организация пожарной охраны в городах промышленности и сельской местности. Рекомендации основываются на Федеральном законе О пожарной безопасности постановлениях Правительства Российской Федерации принятых во исполнение Федерального закона О пожарной безопасности соглашениях о взаимодействии между МВД России и федеральными органами службами а также министерствами ведомствами и департаментами. При организации пожаротушения в сельской местности следует также руководствоваться другими утвержденными в установленном порядке нормативными...
75754. Химический процесс горения. Факторы, обеспечивающие процесс горения. Основные принципы тушения возгораний 14.17 KB
  Химический процесс горения. Факторы обеспечивающие процесс горения. Для протекания процесса горения требуется наличие трех факторов: горючего вещества окислителя и источника зажигания. Полное при избытке кислорода продукты горения не способны к дальнейшему окислению.
75755. Понятие о температуре воспламенения и вспышки. Самовозгорание 11.59 KB
  Температура самовоспламенения минимальная температура вещества или материала при которой происходит резкое увеличение скорости экзотермических реакций заканчивающихся пламенным горением. Используются также понятия температура воспламенения температура вспышки. Последняя используется для характеристики всех горючих жидкостей по пожарной опасности и делятся на легковоспламеняющиеся температура до 610С бензин ацетон и т. Температура воспламенения используется для характеристик пыли.
75756. Классификация горючих жидкостей по температуре вспышки 12.31 KB
  Несгораемые материалы которые при воздействии огня или высокой температуры не воспламеняются не тлеют и не обугливаются. К несгораемым относятся все неорганические строительные материалы: бетон железобетон газобетон металл стекло асбест кирпич природные камни цемент известь. Трудносгораемые материалы которые при воздействии огня или высокой температуры с трудом воспламеняются тлеют или обугливаются и продолжают гореть или тлеть при наличии источника огня. К этой группе относят: смешанные строительные материалы органического и...
75757. Понятие о взрыве паров и газов. Степень взрывоопасности газовоздушной смеси 13.99 KB
  Степень взрывоопасности газовоздушной смеси. Взрывоопасную среду могут образовать смеси веществ газов паров пылей с воздухом и другими окислителями кислород озон. Газовоздушные смеси могут воспламеняться взрываться только тогда когда содержание газа в смеси находится в определенных для каждого газа пределах. Нижний предел соответствует минимальному а верхний максимальному количеству газа в смеси при котором происходят их воспламенение при зажигании и самопроизвольное без притока тепла извне распространение пламени...
75758. Характеристика производственных помещений по степени пожарной опасности 13.33 KB
  Все помещения и здания подразделяются на 5 категорий. Б помещения где осуществляются технологические процессы с использованием ЛВЖ с температурой вспышки свыше 28 С способные образовывать взрывоопасные и пожароопасные смеси. В помещения и здания где обращаются технологические процессы с использованием горючих и трудногорючих жидкостей твердых горючих веществ которые при взаимодействии друг с другом или кислородом воздуха способны только гореть. Г помещения и здания где обращаются технологические процессы с использованием негорючих...
75759. Пожарная сигнализация, ее виды 12.36 KB
  Пожарная связь и сигнализация играют важную роль в мероприятиях для предупреждения пожаров способствуют своевременному их обнаружению и вызову пожарных подразделений к месту возникшего пожара а также обеспечивают управление и оперативное руководство работами на пожаре. Пожарную связь можно подразделить на связь извещения своевременный прием вызовов на пожары диспетчерскую связь управление силами и средствами для тушения пожаров и связь на пожаре руководство пожарными подразделениями. Наиболее надежное и быстродействующее средство...
75760. Понятие системы «Человек-среда обитания» 14.32 KB
  Человеку эти потоки необходимы для удовлетворения своих потребностей в пище воде воздухе солнечной энергии информации об окружающей среде и т. В то же время человек в жизненное пространство выделяет потоки механической и интеллектуальной энергии потоки масс в виде отходов биологического процесса потоки тепловой энергии и др. Естественная среда обеспечивает поступление на нашу планету потоков солнечной энергии что создает в свою очередь потоки растительной и животной масс в биосфере потоки абиотических веществ воздух вода...