Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Копия Диплом Кілесо.doc
Скачиваний:
16
Добавлен:
16.09.2019
Размер:
7.62 Mб
Скачать

Моделювання словника системи

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

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

Моделювання словника системи включає в себе наступні етапи:

1. визначте, які елементи користувачі та розробники застосовують для опису задачі або її розв'язання. Для відшукання правильних абстракцій використовуйте аналіз прецедентів;

2. виявите для кожної абстракції відповідне їй безліч обов'язків. Прослідкуйте, щоб кожен клас був чітко визначений, а розподіл обов'язків між ними добре збалансовано;

3. розробіть атрибути та операції, необхідні для виконання класами своїх обов'язків.

На рисунку 4.30 показаний набір класів для системи роздрібної торгівлі: «Customer» (Клієнт), «Order» (Замовлення) і «Product» (Товар). Представлено кілька співвіднесених з ними абстракцій, взятих із словника проблемної області: «Shipment» (Відвантаження), «Invoice» (Накладна) і «Warehouse» (Склад). Одна абстракція, а саме «Transaction» (Транзакція), що застосовується до замовлень і відвантажень, пов'язана з технологією виконання завдання.

Рисунок 4.30 - Моделювання словника системи

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

Приклад виконання лабораторної роботи.

Після запуску програми VP-UML, для початку побудови діаграми класів, необхідно обрати діаграму class diagram (рисунок 4.31).

Рисунок 4.31 - Діаграма класів.

На панелі інструментів для даної діаграми присутні всі необхідні умовні позначення об'єктів діаграми (таблиця 4.3).

Таблиця 4.3 - Умовні позначення на спеціальній панелі інструментів

Побудова діаграми класів починається з нанесення на діаграму умовних позначень класів системи (рисунок 4.32).

Рисунок 4.32 - Нанесення класів на діаграму

Для кожного створеного класу визначаються необхідні атрибути і операції.

Новий атрибут класу створюється послідовністю дій:

1. в браузері виділяється клас;

2. натисканням правої кнопки миші викликається контекстне меню;

3. вибирається пункт меню Attribute.

Нова операція класу створюється послідовністю дій:

1. в браузері виділяється клас;

2. натисканням правої кнопки миші викликається контекстне меню;

3. вибирається пункт меню Operation.

При створенні операцій і атрибутів необхідно враховувати:

1. видимість атрибута;

2. тип операції;

3. тип атрибута.

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

Рисунок 4.33 - Параметри атрибута

Після створення всіх необхідних атрибутів і операцій у класів діаграма виглядає, як показано на рисунку 4.34.

Рисунок 4.34 - Класи з створеними атрибутами і операціями

Наступним кроком для створення діаграми є визначення зв'язків між класами та їх множинності. Зв'язок створюється за допомогою кнопки «Unidirectional Association» на панелі інструментів.

Для визначення множинності виконується наступна послідовність дій:

1. на діаграмі вибирається клас, з боку якого виставляється множинність;

2. правою кнопкою миші викликається контекстне меню;

3. в пункті multiplicity вибирається потрібне значення множинності (рисунок 4.35).

Рисунок 4.35 - Установка множинності

Діаграма зі зв'язками та відповідними типами множинності показана на рисунку 4.36.

Рисунок 4.36 - Зв'язки з означеної множинністю

Діаграма після поділу класів на категорії показана на рисунку 4.37. Належність класу до потрібної категорії визначається настройками в специфікації класу (рисунок 4.37).

Рисунок 4.37 – Вибір категорії класу

Рисунок 4.38 - Діаграма класів

Готова діаграма класів для варіанту використання «Зняти гроші» показана на рисунку 4.38. На цій діаграмі класів показані зв'язки між класами, що реалізують варіант використання «Зняти гроші». У цьому процесі задіяні чотири класи: Card Reader (пристрій для читання карток), Account (рахунок), ATM Screen (екран АТМ) та Cash Dispenser (касовий апарат). Кожен клас на діаграмі виглядає у вигляді спеціального об'єкта, розділеного на три частини. У першій міститься ім'я класу, у другій - його атрибути. В останній частині містяться операції класу, що відображають його поведінку (дії, що виконуються класом).

Зв'язують класи лінії відображають взаємодію між класами. Так, клас Account пов'язаний з класом ATM Screen (екран АТМ), тому що вони безпосередньо повідомляються і взаємодіють один з одним. Клас Card Reader (пристрій для читання карток) не пов'язаний з класом Cash Dispenser (касовий апарат), оскільки вони не повідомляються один з одним безпосередньо.