You are on page 1of 21

ПРИВАТНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД

БУКОВИНСЬКИЙ УНІВЕРСИТЕТ
Факультет інформаційних технологій та економіки
Кафедра комп’ютерних систем і технологій

КУРСОВА РОБОТА

З дисципліни
СИСТЕМНИЙ АНАЛІЗ ТА ПРОЕКТУВАННЯ ІНФОРМАЦІЙНИХ СИСТЕМ
на тему:

Тема роботи

Реєстраційний №___________
Дата______________________

Виконав: студент 3 курсу


групи К-301
спеціальності 122 «Комп’ютерні науки»
Прізвище І.П.
Керівник: к.т.н., доц. Артеменко О.І.

Робота захищена “_____________” 2020 р. з оцінкою:


Національна шкала ________________
Кількість балів: ___________________
ECTS ____________________________
1
Члени комісії ________________
___________________________

(підпис) (прізвище та ініціали)


________________
___________________________

(підпис) (прізвище та ініціали)

________________ ___________________________

(підпис) (прізвище та ініціали

Чернівці – 2020

2
ЗМІСТ

Вступ-----------------------------------------------------------------------------------------4

Розділ 1: UML , UML-діаграми , класифікація--------------------------------------5

Розділ 2: Microsoft Visio-----------------------------------------------------------------14

Розділ 3: Діаграми-------------------------------------------------------------------------17

3
Вступ
Я думаю, кожен чув в дитинстві таку приказку: "Сім разів відміряй, один раз
відрубай". У програмуванні так само. Краще завжди обміркувати реалізацію до
того, як ви витратите час на її виконання. Часто доводиться при реалізації
створювати класи, придумувати їх взаємодія. І часто візуальне уявлення цього
може допомогти вирішити задачу найбільш правильним чином. У цьому нам і
допомагає UML - уніфікована мова моделювання (Unified Modeling Language) - це
система позначень, яку можна застосовувати для об'єктно-орієнтованого аналізу і
проектування. Його можна використовувати для візуалізації, специфікації,
конструювання та документування програмних систем.

4
Розділ 1 :
UML , UML-діаграми , класифікація

UML - уніфікована мова моделювання (Unified Modeling Language) - це


система позначень, яку можна застосовувати для об'єктно-орієнтованого аналізу і
проектування.

Його можна використовувати для візуалізації, специфікації, конструювання


та документування програмних систем.

Словник UML включає три види будівельних блоків:

 Діаграми.
 Сутності.
 Зв'язки.

Суті - це абстракції, які є основними елементами моделі, зв'язку з'єднують


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

Діаграма - це графічне представлення набору елементів, найчастіше


зображеного у вигляді зв'язного графа вершин (сутностей) і шляхів (зв'язків).
Мова UML включає 13 видів діаграм, серед яких на першому місці в списку -
діаграма класів, про яку й піде мова.

Діаграма класів показують набір класів, інтерфейсів, а також їх зв'язку.


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

Більшість елементів UML мають унікальну і пряму графічну нотацію, яка


дає візуальне уявлення найбільш важливих аспектів елемента.

Діаграма класів оперують трьома видами сутностей UML:

• Структурні.

• Поведінкові.

• анотує.
5
Структурні суті - це «іменники» в моделі UML. В основному, статичні
частини моделі, що представляють або концептуальні, або фізичні елементи.
Основним видом структурної сутності в діаграмах класів є клас.

Поведінкові суті - динамічні частини моделей UML. Це «дієслова» моделей,


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

Рис. 1 Повідомлення

Анотує суті - це пояснюють частини UML-моделей, іншими словами,


коментарі, які можна застосувати для опису, виділення і пояснення будь-якого
елементу моделі. Головна з анотує сутностей - примітка. Це символ, що служить
для опису обмежень і коментарів, що відносяться до елементу або набору
елементів. Графічно представлений прямокутником із загнутим кутом; всередині
поміщається текстовий або графічний коментар. 

Клас - це опис набору об'єктів з однаковими атрибутами, операціями,


зв'язками і семантикою.

Графічно клас зображується у вигляді прямокутника, розділеного на 3 блоки


горизонтальними лініями:

• ім'я класу

• атрибути (властивості) класу

• операції (методи) класу.

Для атрибутів і операцій може бути вказаний один з трьох типів видимості:

6
 — — private (приватний)
 # — protected (захищений)
 + — public (загальний)

Видимість для полів і методів вказується у вигляді лівого символу в рядку з


ім'ям відповідного елемента.

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

На практиці зазвичай використовуються короткі імена класів, взяті зі


словника моделюється. Кожне слово в імені класу традиційно пишуть з великої
літери (верблюжа конвенція), наприклад Sensor (Датчик) або TemperatureSensor
(Датчик Температури) (Рис. 2).

Рис. 2a Підсистема

Атрибут (властивість) - це іменоване властивість класу, яке описує діапазон


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

Атрибут представляє деякий властивість моделюється сутності, яким


володіють всі об'єкти даного класу. Ім'я атрибута, як і ім'я класу, може являти
собою текст. На практиці для іменування атрибута використовуються одне або

7
кілька коротких іменників, що виражають якесь властивість класу, до якого
належить атрибут.

Можна уточнити специфікацію атрибута, вказавши його тип, кратність (якщо


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

Операція (метод) - це реалізація методу класу. Клас може мати будь-яке


число операцій або не мати жодної. Часто виклик операції об'єкта змінює його
атрибути.

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

Можна специфікувати операцію, встановлюючи її сигнатуру, що включає


ім'я, тип і значення за замовчуванням всіх параметрів, а стосовно функцій - тип
значення, що повертається.

Зображуючи клас, не обов'язково показувати відразу все його атрибути і


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

Щоб легше сприймати довгі списки атрибутів і операцій, бажано забезпечити


префіксом (ім'ям стереотипу) кожну категорію в них. В даному випадку стереотип
- це слово, укладену в кутові лапки, яке вказує те, що за ним слід.

8
Рис. 2b Підсистема

Відносини між класами

Існує чотири типи зв'язків в UML:

• Залежність (Рис. 3)

• Асоціація

• Узагальнення (Рис. 6)

• Реалізація (Рис. 7)

Ці зв'язки являють собою базові будівельні блоки для опису відносин в UML,
які використовуються для розробки добре узгоджених моделей.

Перша з них – залежність (Рис. 3) - семантично представляє собою зв'язок


між двома елементами моделі, в якій зміна одного елемента (незалежного) може
привести до зміни семантики іншого елемента (залежного). Графічно
представлена пунктирною лінією, іноді зі стрілкою, спрямованої до тієї сутності,
від якої залежить ще одна; може бути забезпечена міткою.

Рис. 3 Залежність

9
Залежність - це зв'язок використання, яка вказує, що зміна специфікацій
однієї сутності може вплинути на інші сутності, які використовують її.

Асоціація - це структурна зв'язок між елементами моделі, яка описує набір


зв'язків, що існують між об'єктами.

Асоціація показує, що об'єкти однієї сутності (класу) пов'язані з об'єктами


іншої сутності таким чином, що можна переміщатися від об'єктів одного класу до
іншого.

Наприклад, клас Людина і клас Школа мають асоціацію, так як людина може
вчитися в школі. Асоціації можна присвоїти ім'я «вчиться в». У поданні
односпрямованої асоціації додається стрілка, що вказує на напрям асоціації.

Подвійні асоціації представляються лінією без стрілок на кінцях, що з'єднує


два класових блоку.

Асоціація може бути іменованої, і тоді на кінцях представляє її лінії будуть


підписані ролі, приналежності, індикатори, мультиплікатори, видимості або інші
властивості.

Множинність асоціації є діапазон цілих чисел, який вказує можливу кількість


пов'язаних об'єктів. Він записується у вигляді виразу з мінімальним і
максимальним значенням; для їх поділу використовуються дві точки.
Встановлюючи множинність далекого кінця асоціації, ви вказуєте, скільки
об'єктів може існувати на дальньому кінці асоціації для кожного об'єкта класу, що
знаходиться на ближньому її кінці. Кількість об'єктів повинно знаходитися в
межах заданого діапазону. Множинність може бути визначена як одиниця 1, нуль
або один 0..1, будь-яке значення 0 .. * або *, один або кілька 1 .. *. Можна також
задавати діапазон цілих значень, наприклад 2..5, або встановлювати точне число.

Агрегація - особливий різновид асоціації, що представляє структурну зв'язок


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

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

Графічно агрегація представляється порожнім ромбом (Рис. 4) на блоці класу


«ціле», і лінією, що йде від цього ромба до класу «частина».

Рис. 4 Агрегація

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


значенням.

Композиція - це форма агрегації з чітко вираженими відносинами володіння і


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

Графічно представляється як і агрегація, але з зафарбовані ромбиком (Рис. 5).

Рис. 5 Композиція

Третя зв'язок - узагальнення - висловлює спеціалізацію або успадкування, в


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

Рис. 6 Узагальнення
11
Четверта - реалізація - це семантична зв'язок між класами, коли один з них
(постачальник) визначає угоду, якого другий (клієнт) зобов'язаний
дотримуватися. Це зв'язку між інтерфейсами і класами, які реалізують ці
інтерфейси. Це, свого роду, ставлення «ціле-частина». Постачальник, як правило,
представлений абстрактним класом. У графічному виконанні зв'язок реалізації -
це гібрид зв'язків узагальнення і залежності: трикутник вказує на постачальника, а
другий кінець пунктирною лінії - на клієнта.

Рис. 7 Реалізація

UML-діаграма класів для наведеного вище коду буде виглядати наступним


чином:

12
Рис. 8 UML-діаграма класів

На діаграмі класів основним класом є клас TemperatureMeasure, який і є


вимірником температури. Як виміряного значення формується середнє
арифметичне всіх вимірювань - сума всіх вимірювань, поділена на їх кількість.

Для отримання вимірювань і їх підсумовування використовується клас Sensor


(в якості датчика температури). В консольної завданню самі вимірювання
передаються в цей клас для підсумовування. Клас полягає у ставленні агрегації з
основним класом TemperatureMeasure: ми спочатку створюємо об'єкт класу
Sensor, а потім передаємо його в якості параметра конструктора класу
TemperatureMeasure, щоб використовувати його в якості частини класу.

Кількість вимірювань формується класом MeasureCount, який містить


статичну властивість total для підрахунку загального вимірювань, а також
властивість count для підрахунку кількості вимірників конкретного об'єкта
TemperatureMeasure. Клас MeasureCount знаходиться в відношенні композиції з
класом TemperatureMeasure: об'єкт MeasureCount створюється безпосередньо при
створенні об'єкта TemperatureMeasure (в його конструкторі).

Клас ITemperatureMeasure є інтерфейс класу TemperatureMeasure і є свого


роду постачальником щодо реалізації.

Нарешті, клас ShowTemperature знаходиться в відношенні залежно з класом


TemperatureMeasure, оскільки реалізація єдиного методу Show класу
ShowTemperature залежить від структури класу TemperatureMeasure.

13
Розділ 2 :

Microsoft Visio

Рис. 9 Логотип Microsoft Visio

Microsoft Visio -векторний графічний редактор, редактор діаграм і блок-схем


для Windows.

Випускається в трьох редакціях: Standard, Professional і Pro for Office 365.

Аналогічно з Adobe Reader, в стандартний набір програм MS Office входить


тільки засіб для перегляду і друку діаграм Microsoft Visio Viewer.
Повнофункціональна версія Microsoft Visio Professional для створення і
редагування монограм і діаграм.

Спочатку Visio розроблявся і випускався компанією Shapeware, потім


перейменованої в Visio Corporation en. Microsoft придбала компанію в 2000 році,
тоді продукт називався Visio 2000. Після цього до назви продукту був доданий
префікс Microsoft Office (так тривало до версії Visio 2007 (12.0)), незважаючи на
це продукт ніколи в пакет Microsoft Office не входив і завжди поширюється
окремо .

Остання версія продукту була випущена в 2018-му році.

Файлові формати

14
• VSD - діаграма або схема,

• VSS - фігура,

• VST - шаблон,

• VDX - діаграма в форматі XML,

• VSX - фігура XML,

• VTX - шаблон XML,

• VSL - надбудова .

• VSDX - OPC / XML діаграма,

• VSDM - OPC / XML діаграма, що містить макрос

Visio 2010 і більш ранні версії Microsoft Visio підтримують перегляд і


збереження діаграм в форматах VSD і VDX. VSD є власним бінарним файловим
форматом, який використовується у всіх попередніх версіях Visio. VDX є добре
задокументованим XML «DatadiagramML» форматом. Починаючи з версії Visio
2013 збереження в форматі VDX більше не підтримується на користь нових
VSDX- і VSDM- файлових форматів. Створені на основі стандарту Open
Packaging Conventions (OPC - ISO 29500, Частина 2), VSDX- і VSDM-файли
складаються з групи, що архівуються XML-файлів, що знаходяться всередині ZIP-
архіву. Єдина різниця між VSDX і VSDM файлами полягає в тому, що VSDM
файл може містити макроси. Через схильності таких файлів макровіруси програма
забезпечує сувору безпеку для них.

Visio 2010 і більш ранні версії Microsoft Visio використовують VSD формат
як формат за замовчуванням, Visio 2013 використовує VSDX формат за
замовчуванням.

15
DatadiagramML використовується багатьма іншими інструментами з
управління бізнес-процесами (BPM), такими як Agilian, ARIS Express, Bonita Open
Solution, ConceptDraw, OmniGraffle або IBM WebSphere. OmniGraffle Pro для Mac
OS X підтримує перегляд VSD- і VDX-форматів і збереження в VDX-формат.
Починаючи з версії 3.5 LibreOffice підтримує перегляд VSD-файлів, створених в
Microsoft Visio 2000-2013. LibreOffice 4.0 beta1 підтримує перегляд всього
спектра Visio-файлів, починаючи з Visio 1.0 і закінчуючи Visio 2013, включаючи
VSDX, VSDM- і VDX- файлові формати.

VisiTouch дозволяє переглядати графіки Visio на iPad і iPhone, відкриваючи


VSD-, VDX- і VSDX-файли, створені за допомогою MS Visio 2000-2013.

16
Розділ 3 :

Діаграми

Стандарт

Вибір класу Бізнес

суб'єкт Сервер готелю ресепшн

Економ

відмова

Рис. 10 Схема варіантів використання UML

Суб'єкт який обирай сайт нашого готелю заброньовує номер, обирає клас
готеля.

Вибір класу

суб'єкт

Рис. 11a Зв'язок Узагальнення

На «Вибір класу» суб'єкту надається 3види класових послуг у готелі:


стандарт, економ, та бізнес.

17
Стандарт

Вибір класу Бізнес

Економ

Рис. 12 Зв'язок асоціація

Кожний клас має різний набір послуг та елементів комфорту:

 Стандарт – має стандартний набір послуг та стандартні умови для


проживання.

 Економ – має набір дешевих послуг та мінімальні умови для проживання.

 Бізнес – має розширений набір послуг та комфортні умови для проживання.

Стандарт

Бізнес

Сервер готелю

Економ

Рис. 11b Зв'язок Узагальнення

18
Після того як суб'єкт обрав клас для проживання у готелі, дані
відправляються на «Сервер готелю» для обробки інформації, що до заказу.

Сервер готелю ресепшн

Рис. 11c Зв'язок Узагальнення

Оброблені дані відправляються на ресепшен, для повідомлення про


зайнятість номеру готелю.

суб'єкт Сервер готелю

відмова

Рис. 11d Зв'язок Узагальнення

Якщо номери такого класу всі зайняті то «Сервер готелю» дає відмову
суб'єкту по цій причині .

Висновки
19
В курсовій роботі розроблено проект для використання в проектуванні
інформаційних систем готельного бізнесу

За допомогою «Microsoft Visio» була створенна інформаційна модель UML-

діаграми для подальшої розробки програми

За результатами ми маємо модель діаграми для розробки бази даних, що до

програмного забезпечення.

ПЕРЕЛІК ВИКОРИСТАНИХ ЛІТЕРАТУРНИХ ДЖЕРЕЛ

20
21

You might also like