Методичні вказівки до лабораторних робіт 6-9 з курсу Моделювання і проектування інформаційних систем в економіці, ТНЕУ
« НазадЛабораторна робота №6
Тема: Імітаційне моделювання систем масового обслуговуванняМета роботи: Навчитись використовувати мову GPSS для дослідження процедур імітаційного моделювання складних технічних об’єктів, представлених як системи масового обслуговування. 1. Теоретичні відомості Для опису імітаційної моделі на мові GPSS корисно відокремити її у вигляді схеми, на якій відображаються елементи СМО, - пристрої, накопичувачі, вузли і джерела. Опис на мові GPSS є сукупність операторів (блоків), що характеризують процеси обробки заявок. Кожен транзакт, присутній в моделі, може мати до 12 параметрів. Існують оператори, за допомогою яких можна змінювати значення будь-яких параметрів транзактів, і оператори, характер виконання яких залежить від значень того чи іншого параметра обслуговуваного транзакта. Шляхи просування заявок між обслуговуючими апаратами (ОА) відображаються послідовністю операторів в описі моделі на мові GPSS спеціальними операторами передачі управління (переходу). Для моделювання використовується метод подій. Дотримання правильної тимчасової послідовності імітації подій в СМО забезпечується інтерпретатором GPSS/PC.. 1.1. Основні оператори мови GPSSОсновні оператори мови GPSS приведені у вигляді прикладів з конкретними значеннями підполів в полі змінних. GENERATE 12,4,50,5,1 - генерація транзактів, інтервали часу між появами транзактів розподілені рівномірно в діапазоні [12-4, 12+4], перший транзакт з'явиться із затримкою в 50 одиниць модельного часу, всього буде створено 5 транзактів, пріоритет транзактів рівний одиниці. FNK FUNCTION RN1,C4 0,0/0.1,0.8/0.5,1.6/1.0,1.9 - опис функції FNK, її аргументом є випадкова величина (на це вказує значення RN1), рівномірно розподілена в діапазоні [0,1], функція є безперервною числовою (покажчик С), заданий таблично чотирма точками: (0;0), (0.1; 0.8), (0.5, 1.6) (1.0; 1.9). SEIZE PLOT - заняття пристрою PLOT що приходить на його вхід транзактом; якщо пристрій зайнятий, то транзакт затримується в черзі до цього пристрою. RELEASE PLOT - звільнення пристрою PLOT обслуженим транзактом. ENTER MEM,12 - заняття транзактом 12 одиниць місткості в накопичувачі MEM. LEAVE MEM,*2 - звільнення до одиниць пам'яті в накопичувачі MEM, де k- значення 2-го параметра транзакта. STR STORAGE 4096 - опис накопичувача STR місткістю 4096 одиниць. TERMINATE 3 - видалення транзакта з системи, при цьому вміст підсумкового лічильника зменшується на 3 одиниці, моделювання закінчується, якщо вміст лічильника стане рівним або меншим нуля. ADVANCE A,B - затримка транзакта на якийсь час. Значення величин, що записуються в полях А,В такий як і в операторі GENERATE. SPLIT 3,LLL,6 - копіювання транзактів, в даному випадку створюються три копії початкового транзакта, початковий транзакт прямує в наступний по порядку блок, а створені копії - в блок з міткою LLL, при цьому параметр 6 основного транзакта збільшується на одиницю, а транзактів - копій - на 2, 3, 4 відповідно. ASSEMBLE 5 - об'єднання транзактів, перший з тих, що увійшов до блоку транзактів продовжить рух в системі після того, як в блок прийдуть ще чотири транзакта. ASSIGN 2,NAP - зміна параметрів транзактів, в даному випадку другий параметр транзакта отримає значення NAP. ASSIGN 3+,V4 - зміниться значення третього параметра транзакта - до нього додається значення V4. TRANSFER ,MET - безумовна передача управління оператора з міткою MET. TRANSFER BOTH,LAB1,UNN - перехід до оператора з міткою LAB1, якщо він неможливий, то до оператора з міткою UNN, якщо і він неможливий, то транзакт затримується до наступного моменту дискретного модельного часу, в який повторюються вказані спроби переходу. LOOP 6,MET - організація циклу - перехід 5 разів до оператора з міткою MET і на шостий раз - до наступному по порядку оператора. TEST E V7,K256,LAB - перехід по умові (умовна передача управління): в позиціях 13-18 записується знак відношення, по-перше двох підполях поля змінних записуються порівнювані величини, якщо умова виконується, то переходу немає, інакше перехід є до оператора з міткою LAB. Символи відношень: G - більше, L - менше, E - рівно, NE - нерівний, LE - менше або рівно, GE - більше або рівно. В даному прикладі переходу немає, якщо V7 = 256, інакше перехід до оператора з міткою LAB. QUEUE SQV - оператор організації черги, довжина черги SQV збільшується на одиницю. PRIORITY 2 - транзакту привласнюється пріоритет 2. SIMULATE - початкова карта програми, якщо розробник має намір виконати прогін моделі. Якщо ця карта відсутня, то інтерпретатор перевіряє правильність запису моделі на мові GPSS, але прогону моделі не виконує. START 100,,25 - занесення значення 100 в підсумковий лічильник, вивід накопичених статистичних даних проводиться з інтервалом зміни вмісту підсумкового лічильника в 25 одиниць. TABULATE MAT7 - у відповідний інтервал гістограми з ім'ям MAT додається одиниця. MAT7 TABLE P3,8,1,5 - опис таблиці (гістграми) MAT7, призначеної для табуляції величини, значення якої знаходяться в третьому параметрі транзакта, що входить в оператор TABULATE MAT7, верхня межа лівого інтервалу гістограми рівна 8, ширина кожного подальшого інтервалу рівна 1, всього інтервалів 5. SAVEVALUE 5,*3 - збережена величина N5 (X5) набуває значення третього параметра транзакта. 1.2.Приклад програми на мові GPSSЗавдання: Необхідно промоделювати роботу ділянки цеху, що складається з декількох верстатів та обробляє два потоки деталей різного типу. Маршрут обробки деталей двох типів представлений на рисунку 1. В таблиці 1 представлений розподіл виконуваних операцій по верстатах А1, А2 і А3. Інтервали часу між надходженнями деталей і часи виконання операцій розподілені рівномірно. Інформація про часи надходження і виконання операцій задані в таблиці 2 і таблиці 3. Визначити для робочого дня (8 годин) і робочого тижня (5 днів при однозмінному режимі) середнє завантаження кожного верстата, середній час обробки деталей кожного типу, яка довжина черг на обробку для верстатів, який розмір складу необхідний для даного потоку деталей. Запропонувати способи модифікації ділянки цеху з метою підвищення ефективності його роботи. Приклад: Вхідні дані для структури ділянки цеху і часові інтервали поступлення деталей на верстат, який виконує першу операцію (для деталей першого типу) і на верстат, який виконує четверту операцію (для деталей другого типу), а також часові інтервали обробки кожним станком, які задані в таблицях 1,2,3. Для розв’язання вище сформульованої задачі побудуємо таблицю визначень для неї (табл. 4). Таблиця 4 – Таблиця визначень
Одиниця часу в моделі – 1 хвилина. Представлення таблиці визначень дає змогу написати текст програми. 100 SIMULATE 110 GENERATE 30,5 120 QUEUE AA1 130 SEIZE A1 140 DEPART AA1 150 ADVANCE 5,2 160 RELEASE A1 170 QUEUE AA2 180 SEIZE A2 190 DEPART AA2 200 ADVANCE 20,4 210 RELEASE A2 220 QUEUE AA3 230 SEIZE A3 240 DEPART AA3 250 ADVANCE 10,3 260 RELEASE A3 270 TERMINATE 280 GENERATE 20,5 290 QUEUE AA1 300 SEIZE A1 310 DEPART AA1 320 ADVANCE 7,3 330 RELEASE A1 340 QUEUE AA3 350 SEIZE A3 360 DEPART AA3 370 ADVANCE 15,5 380 RELEASE A3 390 QUEUE AA2 400 SEIZE A2 410 DEPART AA2 420 ADVANCE 15,5 430 RELEASE A2 440 TERMINATE 450 GENERATE 480 460 TERMINATE 1 У даному прикладі таймер настроєний на виконання моделювання протягом 8 часового робочого дня. Для виконання моделювання протягом 5 днів таймер має бути відредагований. Вихідні дані GPSS World Simulation Report - Untitled Model 1.1.2 Sunday, March 21, 2004 13:00:41 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 960.000 36 82 0 NAME VALUE A2 10004.000 A3 10002.000 AA1 10000.000 AA2 10003.000 AA3 10001.000 LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY 1 GENERATE 32 0 0 2 QUEUE 32 0 0 3 SEIZE 32 0 0 4 DEPART 32 0 0 5 ADVANCE 32 1 0 6 RELEASE 31 0 0 7 QUEUE 31 9 0 8 SEIZE 22 0 0 9 DEPART 22 0 0 10 ADVANCE 22 0 0 11 RELEASE 22 0 0 12 QUEUE 22 1 0 13 SEIZE 21 0 0 14 DEPART 21 0 0 15 ADVANCE 21 0 0 16 RELEASE 21 0 0 17 TERMINATE 21 0 0 18 GENERATE 48 0 0 19 QUEUE 48 0 0 20 SEIZE 48 0 0 21 DEPART 48 0 0 22 ADVANCE 48 0 0 23 RELEASE 48 0 0 24 QUEUE 48 1 0 25 SEIZE 47 0 0 26 DEPART 47 0 0 27 ADVANCE 47 1 0 28 RELEASE 46 0 0 29 QUEUE 46 14 0 30 SEIZE 32 0 0 31 DEPART 32 0 0 32 ADVANCE 32 1 0 33 RELEASE 31 0 0 34 TERMINATE 31 0 0 35 GENERATE 2 0 0 36 TERMINATE 2 0 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY 1 1 0.003 3.090 1 0 0 0 0 0 2 1 0.006 5.563 1 0 0 0 0 0 4 1 0.010 9.579 1 0 0 0 0 0 5 1 0.006 5.740 1 0 0 0 0 0 6 1 0.010 9.583 1 0 0 0 0 0 7 1 0.005 5.120 1 0 0 0 0 0 8 1 0.007 6.620 1 0 0 0 0 0 9 1 0.005 4.776 1 0 0 0 0 0 10 1 0.007 6.586 1 0 0 0 0 0 11 1 0.010 9.271 1 0 0 0 0 0 12 1 0.004 4.286 1 0 0 0 0 0 13 1 0.006 5.872 1 0 0 0 0 0 14 1 0.010 9.464 1 0 0 0 0 0 15 1 0.005 4.432 1 0 0 0 0 0 16 1 0.005 4.655 1 0 0 0 0 0 17 1 0.005 4.653 1 0 0 0 0 0 18 1 0.004 3.454 1 0 0 0 0 0 19 1 0.004 4.104 1 0 0 0 0 0 20 1 0.004 3.819 1 0 0 0 0 0 21 1 0.008 7.832 1 0 0 0 0 0 22 1 0.004 4.221 1 0 0 0 0 0 23 1 0.006 6.184 1 0 0 0 0 0 24 1 0.007 7.166 1 0 0 0 0 0 25 1 0.008 7.495 1 0 0 0 0 0 26 1 0.007 6.263 1 0 0 0 0 0 27 1 0.008 7.846 1 0 0 0 0 0 28 1 0.006 5.661 1 0 0 0 0 0 29 1 0.005 4.975 1 0 0 0 0 0 30 1 0.005 4.882 1 0 0 0 0 0 31 1 0.004 3.367 1 0 0 0 0 0 32 1 0.005 4.597 1 0 0 0 0 0 33 1 0.006 6.138 1 0 0 0 0 0 34 1 0.009 8.695 1 0 0 0 0 0 35 1 0.007 6.488 1 0 0 0 0 0 36 1 0.007 6.305 1 0 0 0 0 0 37 1 0.010 9.518 1 0 0 0 0 0 38 1 0.004 3.919 1 0 0 0 0 0 39 1 0.010 9.492 1 0 0 0 0 0 40 1 0.010 9.158 1 0 0 0 0 0 41 1 0.006 5.927 1 0 0 0 0 0 42 1 0.005 5.266 1 0 0 0 0 0 44 1 0.005 4.884 1 0 0 0 0 0 45 1 0.006 5.435 1 0 0 0 0 0 46 1 0.008 7.760 1 0 0 0 0 0 47 1 0.003 3.125 1 0 0 0 0 0 48 1 0.006 6.165 1 0 0 0 0 0 49 1 0.007 6.788 1 0 0 0 0 0 50 1 0.007 6.867 1 0 0 0 0 0 51 1 0.008 7.523 1 0 0 0 0 0 52 1 0.005 4.617 1 0 0 0 0 0 53 1 0.010 9.323 1 0 0 0 0 0 54 1 0.007 6.644 1 0 0 0 0 0 55 1 0.006 5.513 1 0 0 0 0 0 56 1 0.007 6.918 1 0 0 0 0 0 57 1 0.004 3.686 1 0 0 0 0 0 58 1 0.010 9.413 1 0 0 0 0 0 59 1 0.006 5.573 1 0 0 0 0 0 60 1 0.005 4.674 1 0 0 0 0 0 61 1 0.009 9.073 1 0 0 0 0 0 62 1 0.005 4.535 1 0 0 0 0 0 63 1 0.010 9.837 1 0 0 0 0 0 64 1 0.005 5.116 1 0 0 0 0 0 65 1 0.010 9.319 1 0 0 0 0 0 66 1 0.008 7.393 1 0 0 0 0 0 67 1 0.007 6.537 1 0 0 0 0 0 68 1 0.006 5.573 1 0 0 0 0 0 69 1 0.007 6.279 1 0 0 0 0 0 70 1 0.004 4.110 1 0 0 0 0 0 71 1 0.008 7.248 1 0 0 0 0 0 72 1 0.004 3.954 1 0 0 0 0 0 73 1 0.005 4.819 1 0 0 0 0 0 74 1 0.005 4.581 1 0 0 0 0 0 75 1 0.004 4.153 1 0 0 0 0 0 76 1 0.007 7.125 1 0 0 0 0 0 77 1 0.003 3.303 1 0 0 0 0 0 78 1 0.006 6.108 1 0 0 0 0 0 79 1 0.004 4.159 1 0 0 0 0 0 80 1 0.008 7.647 1 0 0 0 0 0 81 1 0.004 4.028 1 81 0 0 0 0 82 1 0.006 5.824 1 0 0 0 0 0 A3 68 0.957 13.507 1 80 0 0 0 2 A2 54 0.962 17.102 1 54 0 0 0 23
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY AA1 1 0 80 80 0.000 0.000 0.000 0 AA3 4 2 70 2 1.816 24.910 25.643 0 AA2 24 23 77 1 10.532 131.308 133.036 0
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE 81 0 961.341 81 5 6 83 0 969.428 83 0 18 80 0 969.642 80 27 28 54 0 972.694 54 32 33 84 0 986.449 84 0 1 85 0 1440.000 85 0 35 Огляд результатів моделювання Таблиця 5 – Середній час обробки деталей на станках (в хв.)
Таблиця 5 – Максимальна довжина черги до верстатів
Загальне число оброблених деталей протягом 8 годин рівне 81, протягом робочої неділі – 198. Ці дані можуть служити основою для розрахунку необхідного розміру складу готової продукції. Із результатів моделювання можна зробити висновок, що перший верстат (А1) взагалі не загружений, другий верстат (А2) – перегружений (через довжину черги – 24), третій верстат загружений оптимально. 2. Завдання для виконання2.1. Перед виконання роботи ознайомитись з теоретичними відомостями. 2.2. Вивчити основні оператори мови GPSS. 2.3. Вивчити схему моделі і програму приклад (наведену в практичній частині теоретичних відомостей) 2.4. Ознайомитись з результатами вирішення прикладу, вияснити зміст виведених даних. 2.5. Внести в програму необхідні зміни, відповідно до номеру варіанта (табл. 1-3). 2.6. Промоделювати програму (з п. 2.5), оформити та пояснити результати моделювання. 3. Зміст звіту 3.1. Тема та мета роботи. 3.2. Коротко основні теоретичні відомості. 3.3. Отримані результати (п. 2.6). 3.4. Висновки по результатам виконаної роботи. 4. Контрольні запитання 4.1. Яка максимальна кількість параметрів в транзакті? 4.2. Навести приклади основних операторів, та пояснити принцип їх роботи. 4.3. Що таке елементи GPSS? 4.4. Як будується таблиця визначень? 4.5. Як відредагувати таймер? 4.6. Пояснити вихідну структуру рапорту симуляції. Література
Таблиця 1. Розподіл операцій по верстатах
Таблиця 2. Часові інтервали поступлення деталей
Таблиця 3 – Інтервал часу виконання операцій
Лабораторна робота №7Тема: Створення функціональної моделі системи з використанням програмного засобу BPwinМета: Вивчити основні принципи роботи та можливості пакета програм BPwin 1. Теоретичні відомості 1.1 Загальна характеристика пакетуBPwin - інструмент для моделювання, аналізу, документування та оптимізації бізнес-процесів, який можна використовувати для графічного подання бізнес-процесів. Графічно представлена схема виконання робіт, обміну інформацією, документообігу візуалізує модель бізнес-процесу. Графічний виклад цієї інформації дозволяє перевести завдання управління організацією з області складного ремесла в сферу інженерних технологій. BPwin допомагає чітко документувати важливі аспекти будь-яких бізнес-процесів: дії, які необхідно зробити, способи їх здійснення і контролю, ресурси, що вимагаються для цього, а також візуалізувати одержувані від цих дій результати. BPwin підвищує бізнес-ефективність ІТ-рішень, дозволяючи аналітикам і проектувальникам моделей співвідносити корпоративні ініціативи та завдання з бізнес-вимогами і процесами інформаційної архітектури та проектування додатків. Таким чином, формується цілісна картина діяльності підприємства. BPwin ефективний у проектах, пов'язаних з описом діючих баз підприємств, реорганізацією бізнес-процесів, впровадженням корпоративної інформаційної системи. Продукт дозволяє оптимізувати діяльність підприємства і перевірити її на відповідність стандартам ISO 9000, спроектувати оргструктуру, знизити витрати, виключити непотрібні операції і підвищити ефективність. В основу продукту закладені загальновизнані методології моделювання, наприклад, методологія IDEF0 рекомендована до використання держстандартом і є федеральним стандартом США. Простота і наочність моделей process modeler спрощує взаєморозуміння між усіма учасниками процесів. Поширеність самого BPwin дозволяє вести узгодження функціональних моделей з партнерами в електронному вигляді. Продукт створений компанією computer associates поряд з erwin data modeler (раніше: erwin), data model validator (раніше: erwin examiner), model manager (раніше: modelmart) входить до складу пакету програмних засобів allfusion modeling suite, комплексне використання якого забезпечує всі аспекти моделювання інформаційних систем. Як було зазначено вище, BPwin підтримує три методології - IDEF0, IDEF3 і DFD, кожна з яких вирішує свої специфічні завдання. У BPwin можлива побудова змішаних моделей, тобто модель може містити одночасно діаграми як IDEF0, так і IDEF3 і DFD. Склад палітри інструментів змінюється автоматично, коли відбувається перемикання з одного нотації на іншу. Модель в BPwin розглядається як сукупність робіт, кожна з яких оперує з деяким набором даних. Робота зображується у вигляді прямокутників, дані - у вигляді стрілок. Якщо клацнути по будь-якому об'єкту моделі лівою кнопкою миші, з'являється контекстне меню, кожен пункт якого відповідає редактору якого-небудь властивості об'єкта. Функціональні можливості BPwin Аргументи і факти: • підтримує відразу три стандартні нотації - IDEF0 (функціональне моделювання), DFD (моделювання потоків даних) і IDEF3 (моделювання потоків робіт). Ці три основних властивості дозволяють описувати предметну область більш комплексно. • дозволяє підвищити ефективність бізнесу, оптимізувати будь-які процедури в компанії. • повністю підтримує методи розрахунку собівартості за обсягом господарської діяльності (функціонально-вартісний аналіз, ABC) • недорогий, поширений, по ньому багато інформації і компетентних фахівців. легкий в освоєнні і застосуванні, є курси українською мовою • дозволяє полегшити сертифікацію на відповідність стандартам якості ISO9000 • є стандартом де-факто, інтегрований з ERwin Data Modeler (для моделювання БД • завдяки вищезгаданої інтеграції та підтримки спільної, командної роботи над одними і тими ж моделями (за допомогою ModelManager), не має аналогів для великих проектів. • інтегрований із засобом імітаційного моделювання Arena. Імітаційне моделювання - створення комп'ютерної моделі системи (фізичної, технологічної, фінансової і т. п.) та проведення на ній експериментів з метою спостереження / передбачення. Реальний експеримент проводити дорожче, а часто небезпечно або неможливо. • містить власний генератор звітів. • дозволяє ефективно маніпулювати моделями - зливати і розщеплювати їх. • має широкий набір засобів документування моделей, проектів. Стандарт IDEF0 описує методику побудови функціональної моделі предметної області. Основна ідея цієї методології полягає в поданні модельованого підприємства, організації або процесу у вигляді сукупності взаємопов’язаних робіт (функцій). Роботи утворюють ієрархічну структуру, коренем якої є основна функція модельованого процесу. Відповідно до цього стандарту розрізняють такі види моделей: - Модель AS-IS, яка описує стан модельованої предметної області на момент створення моделі; - Модель TO-BE, що описує можливе майбутнє стан предметної області, до якого вона перейде в результаті оптимізації існуючої системи і впровадження нових технологій. 1.2 Визначення властивостей моделіСтворення моделі в стандарті IDEF0 починається з діалогу створення моделі, в якому задається ім'я моделі і вибирається тип моделі. Далі задаються властивості моделі (діалог Model Properties).Діалог містить наступні вкладки: Layout, ABC Units, Page Setup, Header / Footer, Shapes, DrawStyle, General, Purpose, Definition, Source, Status, Numbering, Display. Розглянемо вкладки, які використовуються для завдання основних властивостей моделі. General. Вкладка призначена для завдання імені та ініціалів автора. Purpose. Вкладка призначена для завдання мети моделювання (Purpose) та точки зору (Viewpoint). Мета моделювання повинна чітко відповідати на запитання: що моделюється і для чого? Текст може будуватися за схемою: «Описати ... для ...» або «Визначити ... з метою ...» і т.п. Точка зору визначає ту позицію (посада або роль людини), з якою створюється і оцінюється модель. Так, модель може бути побудована з точки зору керівника чи іншої посадової особи. Зазначення точки зору не означає, що моделювання функцій системи буде здійснюватися в тому вигляді, як їх представляє дана посадова особа, без урахування знань конкретних виконавців. Точка зору дає можливість виділити головне в тій інформації, яку надають експерти з конкретних функцій системи. Існує можливість зафіксувати інші точки зору за допомогою допоміжних діаграм. Definition. Вкладка призначена для завдання визначення моделі (Definition) і області, яка задає кордону модельованої системи (Scope). Визначення моделі - це текст, що містить короткий опис моделі. Опис області повинно містити чітке формулювання того, що необхідно включати в модель, а що можна вважати зовнішнім по відношенню до неї. Status. Вкладка призначена для вказівки статусу моделі. Можливі варіанти: чорновий варіант, робочий, остаточний і т.д. Source. Вкладка призначена для опису джерел інформації, використовуваних при побудові моделі. Класичними джерелами інформації є результати опитування експертів і документальні джерела. Результати етапу опису властивостей моделі можна переглянути у вигляді звіту (меню Tools / Reports / Model Report).Звіт можна експортувати в MS Word, MS Excel, представляти у форматі HTML. 1.3 Побудова контекстної діаграмиГрафічне побудова моделі починається з контекстної діаграми (меню File / New), яка відображає контекст функціонування модельованої системи як єдиного цілого. В прямокутнику записується основна функція (робота), що моделюється. Стрілками зображують вхід, вихід, механізм і керування. Приклад контекстної діаграми наведений у додатку 2. Вхід (стрілка ліворуч) - це об'єкт, який надходить на вхід системи та «переробляється» нею. Об'єктом може бути сировина, товар, деталь, інформація, пацієнт і т.п. Вихід (стрілка праворуч) - це результат функціонування системи. Механізм (зображується знизу) - це ресурси, необхідні для виконання роботи. Управління (зображується угорі) - це керуючі впливу у вигляді методик, інструкцій, технічних завдань, креслень і т.п. Всі елементи діаграми мають свої властивості. Визначення властивостей буде розглянуто пізніше. Стрілки, які зображуються на контекстній діаграмі, називаються граничними, так як вони відображають взаємодію системи із зовнішнім світом. Для внесення на діаграму граничної стрілки необхідно скористатися кнопкою панелі інструментів з зображенням стрілки: →. За допомогою миші відзначити точку початку стрілки і точку кінця стрілки. Наприклад, для вхідної стрілки необхідно перенести курсор в ліву частину екрана, поки не з'явиться темна смужка, а потім - на ліву сторону роботи. Для завдання імені стрілки необхідно вибрати на палітрі інструментів опцію редагування. Ім'я стрілки зазвичай задається ім'ям іменником. 1.4 Діаграми декомпозиціїДеталізація головної функції системи здійснюється за допомогою діаграм декомпозиції, які будуються за тим же принципом, що і контекстна, але включають більшу кількість робіт. Кожна робота, у свою чергу, може бути декомпозована. Всі роботи в діаграмі декомпозиції зв'язуються між собою за допомогою стрілок. Зв'язки моделюють реальні процеси, пов'язані з об'єктів, керуючим впливам і механізмам. Приклад діаграми декомпозиції наведений у додатку 3. Роботи автоматично нумеруються (правий нижній кут).Діагональна риса в лівому верхньому куті показує, що робота не декомпозована. Щоб виконати декомпозицію роботи необхідно скористатися відповідною кнопкою: ▼. У діалоговому вікні вказується вид діаграми і передбачувана кількість робіт. Рекомендована кількість робіт: від 3 до 6. Додати роботу в існуючу діаграму можна по кнопці з зображенням прямокутника. Роботи на діаграмах декомпозиції зазвичай розташовуються по діагоналі від лівого верхнього кута вікна до нижнього правого кута. У верхньому куті розташовується більш важлива робота або робота, виконувана за часом першої. При декомпозиції роботи стрілки автоматично потрапляють на діаграму декомпозиції нижнього рівня, але без прив'язки до конкретних робіт. Такі стрілки називаються непов'язаними граничними стрілками (Unconnected border arrow) і сприймаються як синтаксична помилка. Підключення граничних стрілок до робіт проводиться в режимі редагування стрілок. Для зв'язку робіт між собою використовуються внутрішні стрілки. Процес зв'язування здійснюється в режимі побудови стрілок: кнопка → на палітрі інструментів. Розрізняють п'ять типів внутрішніх стрілок: - Зв'язок по входу (output-input), коли вихід вищестоящої роботи з'єднується з входом нижчестоящої; - Зв'язок з управління (output-control), коли вихід вищестоящої роботи з'єднується з керуванням нижчестоящої; - Зворотній зв'язок по входу (output-input feedback),, коли вихід нижчестоящої роботи з'єднується з входом вищестоящої; - Зворотній зв'язок з управління (output-control feedback), коли вихід нижчестоящої роботи з'єднується з входом з управління вищестоящої роботи; - Зв'язок вихід-механізм (output-mechanism), коли вихід однієї роботи спрямовується на механізм інший. Стрілки можуть розгалужуватися і зливатися. Побудова таких стрілок здійснюється в режимі редагування. Ім'я стрільцям присвоюється за такими правилами: - Якщо стрілки (стрілка) після розгалуження не має імені, то ім'ям цих стрілок вважається ім'я стрілки до розгалуження; - Не допускається, щоб стрілка до розгалуження і хоча б одна стрілка після розгалуження одночасно не мали імені; - Не можна, щоб стрілка після злиття була не іменована, якщо не іменована хоча б одна стрілка до злиття. 1.5. Злиття і розщеплення моделейПри колективній роботі над проектом окремі фрагменти моделі можуть розроблятися різними виконавцями. Для включення таких фрагментів в основну модель і для виділення робіт для деталізації використовується механізм злиття і розщеплення моделей. Ознакою необхідності підключення фрагмента в основну діаграму є наявність стрілки виклику, яка зображується як стрілка механізму, що виходить з нижньої межі роботи. Ім'я цієї стрілки визначає ім'я підключається фрагмента діаграми. Для злиття необхідне виконання наступних умов: - Обидві моделі повинні бути відкриті; - Назву фрагменту повинно збігатися з ім'ям стрілки виклику; - Стрілка виклику повинна виходити з недекомпозиційної роботи; - Ім'я роботи на контекстній діаграмі фрагмента має збігатися з ім'ям викликає роботи на основній діаграмі; - Модель фрагмента повинна мати хоча б одну діаграму декомпозиції. Для злиття моделей необхідно в контекстному меню роботи на основній діаграмі вибрати пункт Merge Model. У діалозі необхідно вказати опції злиття. При злитті можливі наступні дії: - Об'єднання словників стрілок і робіт; - Перезапис властивостей; - Прийняття властивостей з моделі фрагмента; - Збереження імен зовнішніх посилань (на діаграми потоків даних). Після підтвердження злиття фрагмент з'являється в основній моделі, робота стає декомпозиційною але стрілки автоматично не мігрують на діаграму нижнього рівня, їх треба затонувати вручну. Після злиття модель фрагменту зберігається і як самостійна модель, тому що фактично у злитті бере участь копія фрагмента. Для відділення фрагмента необхідно клацнути правою кнопкою миші по декомпозиційній роботі і вибрати в меню пункт Split Model. У діалоговому вікні необхідно вказати ім'я створюваної моделі фрагмента. Після підтвердження розщеплення автоматично виконуються наступні дії: - Робота на основній діаграмі стає недекомпозиційною; - Формується стрілка виклику з ім'ям, що збігається з ім'ям моделі фрагмента; - Для моделі фрагмента створюється контекстна діаграма; - Ім'я роботи на контекстній діаграмі збігається з ім'ям роботи на основній діаграмі. 1.6. Проведення експертизиДля перевірки створюваної моделі існує можливість передачі її експерту для внесення зауважень. Зауваження фіксуються безпосередньо на діаграмі і нумеруються по порядку. Номер зауваження викреслюється в списку можливих зауважень в розділі Notes у вікні побудови діаграми. Експертиза може проводитися багаторазово шляхом пересилання папки, що містить опис моделі, або в ході усної співбесіди. Після остаточного затвердження діаграма отримуєстатус Publication і стає доступною для друку та розповсюдження. 1.7. Вартісний аналізВартісний аналіз дозволяє оцінити пропонований варіант функціонування модельованого об'єкта з точки зору необхідних фінансових витрат. Зокрема, даний метод дає можливість вибору з декількох пропонованих варіантів моделей TO-BE. Вартісний аналіз оперує з поняттями: об'єкт витрат, рушій витрат і центр витрат. Об'єкт витрат - це те, заради чого функціонує модульований об'єкт, результат роботи (деталь, виріб, документ, звіт тощо). Рушій витрат - те, що в кожній роботі впливає на вартість об'єкта витрат (зазвичай входи з управління та механізми, тобто витрачені ресурси). Центр витрат відповідає поняттю статті витрат. Для проведення вартісного аналізу необхідно послідовно виконати наступні дії: - За замовчуванням на діаграмі відображається вартість роботи, якщо потрібно змінити налаштування, то необхідно скористатися діалогом налаштування властивостей моделі (Model / Model Properties / Display - ABC Data і ABC Units); - У діалозі Edit / Model Properties / ABC Units вибрати або встановити одиниці вимірювання часу і грошей; - Описати центри витрат в діалозі Dictionary / Cost Center / Cost Center Dictionary, задати ім'я кожному центру та опис, порядок перерахування центрів витрат враховується в подальшій роботі; - Для кожної роботи на діаграмі декомпозиції в контекстному меню вибрати пункт Cost і у вікні вказати для кожного центру витрат суму витрат при одиничному виконанні роботи; вказати частоту виконання роботи (Frequency) і тривалість роботи (Duration). Для розрахунку загальних підсумків проводиться підсумовування витрат по всіх центрам. Розрахунок ведеться з урахуванням зазначеної частоти, тривалості та вартості для кожної роботи. Витрати вищестоящої роботи складаються з витрат дочірніх робіт. Для автоматичного проведення розрахунку необхідно встановити режим Compute from Decompositions для всіх робіт моделі. Розглянутий варіант розрахунку застосуємо для робіт, виконуваних послідовно. У більш складних випадках підсумкові вартості робіт можна задати вручну (режим Override Decompositions). Результати вартісного аналізу можна представити у вигляді звіту (Tools / Report / Activity Cost Report).
ДОДАТОК 1 ПРИКЛАД ОПИСУ МОДЕЛЬОВАНОГО ОБ'ЄКТАНа складі торгової фірми ведеться облік руху товарів, при цьому: - Фіксується надходження на склад товарів від постачальників; - Оформляється повернення від покупців товарів; - Оформляється оплата надійшли на склад товарів; - Здійснюється списання товарів; - Фіксується переміщення товарів від однієї матеріально відповідальної особи до іншої. Формування документів, їх друк і формування відповідних бухгалтерських проводок здійснюється з використанням програмних засобів. Надходження товару супроводжується документом «Прибуткова накладна». При видачі товарів зі складу оформляється документ «Видаткова накладна». При поверненні товару від покупця проводиться пошук документа, на підставі якого було здійснено відпуск товарів відповідному продавцеві, після чого формується похідний документ «Прибуткова накладна». При надходженні товарів від постачальника формування прибуткової накладної та відповідні проведення здійснюються на підставі рахунків фактури. Для оплати товарів, що надійшли на підставі рахунків фактури оформляються платіжні доручення, виписки банку. При виписці платіжних доручень враховуються відомості про залишок кредиту за конкретного постачальника. Стан взаєморозрахунків з постачальником відображається в картці клієнта Списання товарів здійснюється на підставі акта. При переміщенні товарів формується накладна на внутрішнє переміщення товарів. У процесі виконання завдання з моделювання описаного об'єкту допускається доповнювати опис новими функціями і дійовими особами.
ДОДАТОК 2 КОНТЕКСТНА ДІАГРАМАДОДАТОК 3 ДІАГРАМА ДЕКОМПОЗИЦІЇ
2. Завдання для виконання 2.1. Вивчити можливості пакета програм BPwin 4.0 з побудови функціональної моделі в стандарті IDEF0. 2.2 Побудувати модель AS-IS: - Задати назву, опис, точку зору і інші властивості моделі; - Побудувати контекстну модель; - Виконати декомпозицію моделі; - Задати властивості робіт і зв'язків; 2.3. Отримати всі види звітів по моделі. 2.4. Вивчити можливості злиття і розщеплення моделей. 2.5 Вивчити порядок проведення експертизи. 2.6 Побудувати модель TO-BE. 2.7. Провести вартісний аналіз та аналіз, заснований на властивостях, що визначаються користувачем. 3. Зміст звіту 3.1. Тема та мета роботи. 3.2. Коротко основні теоретичні відомості. 3.3. Відобразити отримані результати (п. 2.2-2.7) у вигляді копій екрану. 3.4. Висновки за результатам виконаної роботи. 4. Контрольні запитання 4.1. Для чого призначені моделі AS-IS і TO-BE? 4.2. Що таке контекстна діаграма? 4.3. Для чого призначені граничні стрілки і як вони будуються? 4.4. Як задаються властивості робіт і стрілкам? 4.5. Типи внутрішніх стрілок? 4.6. Що таке діаграма декомпозиції і як вона будується? 4.7. Як проводиться експертиза моделі? 4.8. Де і як фіксується стадія розробки моделі? 4.9. Як проводиться вартісной аналіз? 4.10. Як здійснюється робота з моделлю TO-BE? 4.11. Як проводитися аналіз, заснований на властивостях, визначених користувачем? Література
Лабораторна робота №8Тема: Основи роботи в Erwin. Побудова логічної моделі данихМета: Вивчити основні принципи роботи та можливості пакета програм ERwin Побудова логічної моделі заданої предметної області. 1. Теоретичні відомості 1.1. Загальна характеристика пакетуERwin - сучасний засіб проектування баз даних. Обробка рахунків, електронна торгівля, аналіз даних, управління знаннями: все це неможливо без використання баз даних. Системи з архітектурою клієнт / сервер будуються на основі реляційних серверних СУБД. Програми з доступом до мережі Інтернет здійснюють доступ і динамічне оновлення даних. Пакети програм необхідно адаптувати і інтегрувати з існуючими системами. Сховища даних об'єднують та інтегрують безліч баз даних, забезпечуючи необхідні бізнесу гнучкість і інтелектуальність. Успіх застосування всіх цих додатків залежить від того, наскільки добре спроектована база даних. PLATINUM ERwin - могутній і простий у використанні засіб конструювання баз даних завоював широке визнання і популярність. Він забезпечує високу продуктивність праці при розробці і супроводі додатків з використанням баз даних. Протягом всього процесу - від логічного моделювання вимог до інформації та бізнес-правил, які визначають базу даних, до оптимізації фізичної моделі у відповідності з заданими характеристиками - ERwin дозволяє наочно відобразити структуру та основні елементи вашої БД. ERwin - це не просто потужний засіб проектування, а й інструмент розробки, здатний автоматично створювати таблиці і генерувати тисячі рядків тексту збережених процедур для всіх популярних СУБД. Революційна технологія Complete-Compare (Завершити-Порівняти) дозволяє організувати розробку, підтримуючи постійну узгодженість моделі і бази даних. Завдяки інтеграції з популярними середовищами розробки програм, ERwin дозволяє прискорити створення додатків для обробки даних. ERwin може масштабуватися шляхом інтеграції з продуктом PLATINUM ModelMart. Ця потужна система управління моделями дозволяє проектувальникам баз даних розробникам додатків і користувачам колективно працювати з інформацією про моделі ERwin. Завдяки можливостям розбиття на фрагменти, а також спільного і багаторазового використання моделей, може бути підвищена ефективність моделювання та забезпечено дотримання корпоративних стандартів. Стандартизація моделювання та проектування ERwin полегшує проектування баз даних. Для цього досить створити графічну ER модель (об'єкт-відношення), що задовольняє всім вимогам до даних і ввести бізнес-правила для створення логічної моделі, яка відображає всі елементи, атрибути, відносини і угруповання. Ви можете розширити можливості ERwin скориставшись унікальною підтримкою користувацьких властивостей для введення в модель будь-якої додаткової інформації, значимої для вашої діяльності. Розвинені засоби моделювання допомагають краще спроектувати базу даних. Передбачені можливості маніпулювання атрибутами шляхом їх буксирування, внесення змін та нормалізації "на льоту". Засоби редагування безпосередньо на діаграмах дозволяють вносити в модель зміни, не відкриваючи спеціальних діалогових вікон. Навігація по відносинам забезпечує швидке переміщення у великих моделях щоб перейти до батьківських або дочірніх об'єктів. Формуються системою звіти дозволяють швидко перевірити коректність спроектованої бази даних. ERwin - це набагато більше, ніж просто інструмент для моделювання; він автоматизує процес проектування. Наприклад, ERwin передбачає можливість створення каталогу найбільш часто використовуваних атрибутів, що забезпечує узгодженість імен і описів за всім проектом. Уявлення БД підтримуються як інтегровані компоненти моделі, що дозволяє автоматично відображати в їх описах зміни, внесені у базові таблиці. Автоматичне перенесення ключів забезпечує посилальну цілісність бази даних. Крім того, ERwin дозволяє працювати з великими моделями загальнокорпоративного масштабу, розбиваючи їх на фрагменти і легко керовані підмножини, надаючи окремим фахівцям можливість зосередити свої зусилля в певній галузі. Можливість збереження відображень дозволяє зберігати безліч уявлень однієї предметної області, орієнтованих на різну цільову аудиторію. Створені за допомогою ERwin моделі даних можна редагувати, переглядати і роздруковувати різними способами. До складу ERwin входить RPTwin - проста у використанні, оснащена графічним інтерфейсом утиліта для формування звітів та вбудований засіб для перегляду з налаштованими режимами, які забезпечують повний контроль над відображенням вмісту звітів. Крім цього, унікальний інтерфейс, побудований на використанні шаблонів, дозволяє реалізувати єдині стандарти проектування і відображати налаштування для всіх моделей.
1.2. Автоматична генерація БДERwin - не тільки кращий інструмент для проектування баз даних, а й засіб для їх швидкого створення. ERwin оптимізує модель відповідно до фізичних характеристик цільової бази даних. На відміну від інших інструментальних засобів ERwin автоматично підтримує узгодженість логічної і фізичної схем і здійснює перетворення логічних конструкцій, таких як стосунки багато-до-багатьох, в їх реалізацію на фізичному рівні. ERwin встановлює природний динамічний зв'язок між моделлю і базою даних, що дозволяє реалізувати як прямий, так і зворотний інжиніринг. Використовуючи цей зв'язок, ERwin автоматично генерує таблиці, представлення, індекси, правила підтримки цілісності посилань (первинних і зовнішніх ключів), встановлює значення за замовчуванням і обмеження для доменів / стовпців. До складу ERwin включений цілий ряд оптимізованих шаблонів тригерів, що забезпечують цілісність посилань, і потужну макромову, яка дозволяє створювати власні тригери і процедури. Таким чином можуть бути автоматично сформовані тисячі рядків коду, що забезпечує неперевершену продуктивність розробки на основі моделей. Засоби розрахунку дозволяють точно оцінити початковий розмір і характер росту бази даних або сховища, полегшуючи ефективний розподіл ресурсів системи та планування потужності. База даних може бути спроектована і створена без написання окремих SQL-пропозицій типу CREATE INDEX або TABLE. Оскільки фізична схема формується на основі описової логічної моделі, ваш додаток буде відразу ж повністю документовано. ERwin дозволяє також проводити зворотний інжиніринг існуючих баз даних шляхом побудови моделі безпосередньо на основі її таблиць. Таким чином можна отримати чітке уявлення про структуру та зміст існуючого додатка. ERwin підтримує всі найбільш популярні реляційні СУБД, включаючи Oracle, Microsoft SQL Server, Sybase, DB2 і Informix. Одна і та ж модель може бути використана для створення декількох баз даних або для перенесення додатки з платформи однієї СУБД на іншу. 1.3. Швидка розробка додатківERwin інтегрує проектування бази даних в процес розробки програми. Завдяки можливостям взаємодії з популярними засобами розробки для архітектури клієнт / сервер і веб, ERwin підтримує відповідність між серверною базою даних і формами в клієнтській частині, дозволяючи прискорити створення високоякісних додатків. Інтеграція з продуктами: підтримувані платформи: Windows 95, 98, Me, 2000, NT 4.0, XP бази даних: Oracle, Interbase, Ingres, Microsoft SQL Server, Clipper, ODBC, DB2, DBase, Paradox, FoxPro, Rdb, HiRDB, Red Brick Warehouse, Informix, SAS, SQL Anywhere, Microsoft Access, SQL бази, Teradata, Sybase. засоби розробки: Delphi, PowerBuilder, Visual Basic, Oracle Designer і багато інших. ERwin Data Modeler не прив'язаний до технології будь-якої конкретної фірми, що поставляє СУБД або засобу розробки. Він підтримує різні сервери баз даних та настільні СУБД, а також може звертатися до бази даних через ODBC. Існують спеціальні реалізації продукту з прямою підтримкою розширеного набору атрибутів у моделях даних для засобів розробки додатків PowerBuilder і Visual Basic. Існують лінки для роботи з Delphi від третіх виробників. Продукт тісно інтегрований з продуктами Oracle, Sybase, Centura, Microsoft на базі єдиного сховища та ефективного обміну проектами. Можлива автоматична генерація екранних форм додатків для PowerBuilder, Delphi, Visual Basic, створених на основі спроектованої моделі даних. ERwin LinkObject API - інтерфейс, що дозволяє звертатися до моделей ERwin Data Modeler, що зберігаються в AllFusion Model Manager (раніше: ModelMart) або ER1-файлах з додатків. 1.4. Знайомство з користувацьким інтерфейсомErwin має два рівні моделювання: логічний і фізичний. На логічному рівні дані представляються так, як вони виглядають у реальному світі. Об'єктами логічного рівня є сутності та атрибути. На фізичному рівні модель залежить від конкретної реалізації бази даних, що вибирається користувачем. При переході моделі на фізичний рівень виробляється трансформація сутностей в таблиці, а атрибутів у поля, тому всі імена і описи фізичної моделі повинні відповідати прийнятим для обраної СУБД угодами. • Встановіть перемикач Logical / Physical для створення моделі з логічним і фізичним рівнями. • У полях DataBase і Version вказується тип і версія сервера, для якого створюється модель. Виберіть у списку Access, 2000.Натисніть кнопку ОК. • На екрані з'явиться основне вікно програми. У верхній частині вікна знаходиться титульна рядок, в якій зазначено назву програми, найменування моделі, найменування підмножини (Subject Area) і закладеного відображення (Stored Display). Основну частину простору програми займає робоча область, в якій створюється ER-діаграма. Для перемикання між логічним та фізичним рівнями на панелі інструментів є список (рис 1.1). Крім цього списку, на панелі інструментів є кнопки (див. табл. 1.1). Таблиця 1.1. Кнопки, розташовані на панелі інструментів програми Erwin
1.5. Створення збережених відображеньУ процесі створення моделі вона пройде кілька рівнів деталізації. Тому створимо дві закладки,для зберігання зображень на рівні сутностей і на рівні атрибутів. • Виберіть пункт головного меню FORMAT | Stored Display Settings. На екрані з'явиться вікно редагування збережених відображень (рис. 1.2). У верхній частині вікна знаходиться список збережених відображень моделі. В даний час він містить тільки одне відображення, яке створюється за замовчуванням - Display1. У нижній частині вікна є декілька сторінок із закладками для завдання властивостей відображення моделі. • На вкладці General в полі Author введіть з клавіатури своє ім'я. • Встановіть опції Logical Model (логічна модель - збережене відображення буде використовуватися тільки на логічному рівні) і Display Shadows (показувати тіні - прямокутники суті будуть зображуватися на екрані з «тінню»). • У рамці Relationships lines (лінії зв'язку) встановлюється спосіб зображення ліній зв'язку між сутностями. У режимі Orthogonal (ортогональний) лінії зв'язку прокладаються паралельно осях XY, в діагональному режимі (Diagonal) лінії зв'язку можуть проводитися під довільним кутом. За замовчуванням задано ортогональний режим зображення зв'язків, залиште цю установку без змін. • Перейдіть на закладку Logical (логічний рівень). • Встановіть перемикач Display Level (рівень відображення) в положення Entity (сутність). Тим самим задається, що на екрані будуть показані тільки сутності, без атрибутів. • Встановіть прапорець Verb Phrase (дієслівна фраза), щоб на діаграмі відображалися дієслівні фрази, що іменують зв'язку між сутностями. Решта прапорців на цій сторінці залиште без змін. • Перейменуйте відображення Display1, натиснувши на кнопку Rename. У діалозі введіть ім'я відображення Рівень сутностей. Натисніть кнопку ОК і ще раз ОК. Це назва з'явиться у титульній рядку, а також на закладці в нижній частині екрана. • Знову виберіть пункт меню FORMAT | Stored Display Settings і створіть ще одне збережене відображення під назвою Рівень атрибутів. Для цього натисніть кнопку New і введіть цю назву з клавіатури. • Перейдіть на відображення Рівень атрибутів у списку і на сторінці Logical встановіть перемикачі, як показано на рис. 1.3. Тепер у діаграмі визначені два відображення з різним ступенем деталізації, і для переходу з режиму сутностей в режим атрибутів досить клацнути по відповідній закладці в нижній частині схеми(рис. 1.4). • Починаючи розробку моделі, необхідно виконати настройкушрифтів. Для цього виберіть пункт головного меню FORMAT | Default Fonts & Colors. У вікні редагування перейдіть на вкладку General і в групі All Fonts в полі Font зі списку виберіть шрифт Arial Cyr і натисніть ОК. 1.6. Внесення сутностей в модельНа даному етапі необхідно внести в модель наступні сутності, виявлені в результаті аналізу предметної області (поставка товару згідно з договорами): покупець, договір, накладна, товар, склад. • На панелі інструментів (ERwin Toolbox) кнопку Сутність, клацнувши по ній покажчиком миші. Потім клацніть мишкою по тому місцю на діаграмі, де необхідно розташувати нову сутність. На полі діаграми з'явиться прямокутник, що зображає нову сутність, з автоматично згенерованим ім'ям «Е / 1 ». • Введіть з клавіатури ім'я сутності «Покупець »і натисніть Enter. • Точно таким же чином вставте в діаграму ще чотири сутності: договір, накладна, товар, склад. • Натиснувши правою кнопкою миші по суті і вибравши з контекстного меню пункт Entity Properties, можна викликати редактор сутностей Entities (рис. 1.5), який дозволяє змінювати властивості вибраної сутності. Редактор сутностей також можна викликати через головне меню: Model | Entities. У верхній частині вікна редактора знаходиться список всіх сутностей, що є на діаграмі. З його допомогою можна вибрати сутність, властивості якої необхідно подивитися або змінити. За замовчуванням, є виділена на діаграмі сутність, на яку клацнути мишею. Далі є поле Name, в якому висвічується ім'я сутності. Ім'я можна редагувати. Нижче у вікні редактора знаходиться ряд закладок: Definition (визначення) - на цій сторінці вводиться визначення сутності. Note, Note2, Note3 (примітка) - використовуються для введення довільного тексту, пов'язаної з сутністю, наприклад, зразки даних і запити. UDP - визначені користувачем властивості. Icon (іконка) - для наочності кожної сутності може бути присвоєна іконка, яка виводиться поряд з її назвою. • Для кожної сутності введіть визначення Definition. 1.7. Визначення атрибутів сутностейВизначивши сутності, необхідно внести до схеми і атрибути цих сутностей. У табл. 1.2 наведено перелік сутностей та їх атрибутів з характеристиками для аналізованої предметної області. Таблиця 1.2. Характеристика атрибутів сутностей
• Перейдіть на сутність Покупець, клацнувши по ній покажчиком миші, а потім викличте пункт меню Model | Attributes. Те ж саме можна виконати, вибравши пункт Attributes контекстного меню. При цьому на екрані з'явиться вікно редактора атрибутів Attributes. Редактор атрибутів побудований за тим же принципом, що і редактор сутностей. У верхній частині діалогового вікна знаходиться список, що випадає, в якому можна вибрати сутність для редагування. Поруч є кнопка, що викликає редактор сутностей. • Для введення нового атрибута натисніть кнопку New. • У діалозі New Attribute в полі Attribute Name введіть ім'я атрибута-КОД_ПОК, в полі Column Name необхідно вказати ім'я відповідної атрибуту у фізичному моделі колонки. За замовчуванням Erwin генерує ім'я колонки з імені атрибута, замінюючи прогалини символом підкреслення. Оскільки СУБД Access, для якої ми створюємо модель, допускає використання букв російського алфавіту в ідентифікаторах колонок таблиць, підставляється за умовчанням значення в Column Name ми залишаємо без зміни. • У групі Domain знаходиться список доменів, що представляють основні типи даних, що використовуються в СУБД: строковий (string), числовий (number), час (datetime), двійковий (blob). Для атрибута КОД_ПОК виберіть числовий домен - Number. • Після натискання кнопки ОК атрибут з'явиться у вікні редактора. • Перейдіть атрибут КОД_ПОК і встановіть на закладці General прапорець Primary Key, так як даний атрибут є первинним ключем сутності Покупець. • Аналогічним чином введіть інші атрибути сутності Покупець відповідно до табл. 1.2. У результаті вікно редактора атрибутів буде виглядати так, як показано на рис. 1.6. Порядок проходження атрибутів у списку можна змінювати за допомогою кнопок зі стрілками, що знаходяться над вікном списку. Для цього необхідно вибрати потрібний атрибут у списку, натиснути одну з цих кнопок, і атрибут зміститься в списку в напрямку стрілки, зображеної на кнопці. • Натисніть кнопку ОК. • Як ви пам'ятаєте, ми створили два збережених відображення - «Рівень сутностей» і «Рівень атрибутів ». До цих пір ми працювали на рівні сутностей, де сутності зображувалися просто прямокутниками з назвою сутності всередині. Перейдіть на вкладку «Рівень атрибутів ». Сутності зображуються тут у вигляді прямокутників, однак ім'я сутності пишеться над прямокутником, а всередині дається список атрибутів. Прямокутник сутності ділиться на дві частини. У верхній частині наводяться атрибути первинного ключа, а в нижній - всі інші. Поки на діаграмі визначені тільки атрибути сутності Покупець, тому інші сутності порожні. • Визначте атрибути інших сутностей на діаграмі відповідно до табл. 1.2. 1.8. Визначення альтернативних ключів і інверсних входівАльтернативний ключ (Alternate Key) - потенційний ключ, не став первинним. Erwin дозволяє виділяти атрибути потенційних ключів і при генерації схеми БД генерувати по цих групах окремі унікальні індекси. Інверсний вхід (Inversion Entry) - атрибут або група атрибутів, які не визначають примірник сутності унікальним чином, але часто використовуються для звернення до примірників сутності. Erwin генерує унікальний індекс для кожного інверсного входу. У табл. 1.3. наведено перелік ключових груп, визначених для даної предметної області. Таблиця 1.3. Ключові групи
• Викличте редактор ключових груп Key Groups, клацнувши правою кнопкою миші по сутності Покупець і вибравши з контекстного меню пункт Key Groups. Редактор ключових груп також можна викликати через головне меню: Model | Key Groups. Редактор ключових груп містить елементи управління: Entity - поле з списком, що випадає, в якому слід вибрати сутність для редагування. Вікно з переліком ключових груп. Кожна група представлена окремим рядком, що включає в себе ім'я (Key Group), тип (Type) і визначення (Definition). Крім того, діалогове вікно редактора ключових груп містить наступні закладки: Members (члени). Задаються члени ключових груп та їх порядок проходження в групі. General (загальні установки). Перемикачі, що дозволяють задавати тип ключової групи. Для первинного та зовнішнього ключа ці групи недоступні. Definition (визначення). Довільна текстова інформація, що відноситься до обраної ключової групи. Note (примітка). Примітка до вибраної групи. UDP (користувальницькі властивості). • Натисніть кнопку New. • У вікні New Key Group в полі Key Group введіть ім'я ключової групи - ИНН. У полі Index виводиться генерується програмою Erwin ім'я індексу. Залиште його без змін. • Перемикач Key Group Type задає тип створюваного ключа. Це може бути альтернативний ключ (Alternate Key) або інверсний вхід (Inversion Entry). Виберіть Alternate Key і натисніть ОК. Нововведений альтернативний ключ з'явиться в переліку ключів. • Перейдіть на закладку Members. Новий ключ поки не містить жодних атрибутів, тому правий список Key Group Members (члени ключової групи) порожній. Виберіть у лівому списку атрибут ИНН і перемістіть його в правий список за допомогою кнопки зі стрілкою (див. рис. 1.7). • Таким же чином створіть ключові групи для інверсних входів, наведених у табл. 1.3. 1.9. Встановлення зв'язків між сутностямиЗв'язок є логічним співвідношенням між сутностями. Зв'язок має ім'я, потужність, тип. Ім'я зв'язку (Verb Phrase) - фраза, яка характеризує відношення між батьківською та дочірньою сутностями. Для зв'язку один-до-багатьох досить вказати ім'я, що характеризує відношення від батьківської до дочірньої сутності (Parent-to-Child). Для зв'язку багато-до-багатьох слід вказувати імена як Parent-to-Child, так і Child-to-Parent. Потужність зв'язку (Cardinality) - служить для позначення відношення числа екземплярів батьківської сутності до екземплярів дочірньої. • Визначимо зв'язки між сутностями в нашій моделі згідно з табл. 1.4. Таблиця 1.4. Характеристика зв'язків для заданої предметної області
• Створимо зв'язок між сутностями Покупець і Договір. Для цього виберіть у палітрі інструментів кнопку «Non-Identifying Relationship» (Неідентифікуючий зв'язок). • Потім клацніть спочатку по батьківській сутності - Покупець, а потім по дочірній - Договір. Між сутностями з'явиться пунктирна лінія Неідентифікуючого зв'язку. Посеред лінії зв'язку проставляється генерується за замовчуванням дієслівна фраза - R / 1. • Перейдіть на рівень атрибутів і зверніть увагу на те, що у сутності Договір додався атрибут первинного ключа КОД_ПОК від сутності Покупець і позначений літерами «FK». • Перейдіть зв'язок, клацнувши по ній покажчиком миші. Потім натисніть праву кнопку миші і в контекстному меню виберіть пункт Relationship Properties (редактор зв'язків). У верхній частині редактора зв'язків знаходиться випадаючий список, що містить повну назву зв'язку. У нашому випадку осмислена дієслівна фраза для зв'язку ще не визначена, тому в цьому полі значиться «Покупець R / 1 Договір». Тут же знаходяться дві кнопки New і Delete, за допомогою яких можна додати на схемі новий зв'язок або видалити існуючу. Крім того, діалогове вікно редактора зв'язків містить наступні закладки: General (загальні властивості). Тут задаються загальні властивості зв'язку - ім'я, тип і потужність зв'язку. Definition (визначення). На цій сторінці вводиться визначення зв'язку, що полегшує сприйняття моделі. Rolename (Ім'я ролі) - вводяться функціональні імена (для мігруючих атрибутів). RI Actions (Установки посилальної цілісності) - задаються правила посилальної цілісності. • Перейдіть на закладку General. У групі Verb Phrase в полі Parent-to-Child введіть ім'я зв'язку - укладає. • У групі Cardinality (потужність зв'язку) встановіть опцію One or More (P) • У групі Relationship Type (тип зв'язку) встановіть опцію Non-Identifying (Неідентифікуючий зв'язок), а в групі Nulls (обов'язковість) включите прапорець No Nulls, що означає неприпустимість порожніх значень зовнішніх ключів. • Задайте інші зв'язки для сутностей заданої предметної області відповідно до табл. 1.4. У результаті логічна модель буде мати вигляд, показаний на рис. 1.8. 1.10. Встановлення категоріального зв'язкуДеякі сутності визначають цілу категорію об'єктів одного типу. У ERwin в такому випадку створюється сутність для визначення категорії і сутності для кожного елемента категорії, а потім вводиться для них зв'язок категоризації. Батьківська сутність категорії називається супертип, а дочірні - підтипом. В сутності-супертипі вводиться атрибут-дискримінатор, що дозволяє розрізняти конкретні екземпляри сутності-підтипу. У залежності від того, чи всі можливі сутності-підтипи включені в модель, категоріальний зв'язок є повним або неповним. • Для створення категоріального зв'язку необхідно, перш за все, задати сутності і їхні атрибути, не вказуючи первинний ключ для підтипів. • Потім вибрати на панелі інструментів кнопку категоріального зв'язку Complete Sub-category і клацнути спочатку по пологовому предка, а потім по першому нащадку. Після цього клацнути по символу категорії, а потім за наступним нащадком. • Для редагування категоріального зв'язку необхідно виділити символ зв'язку і в контекстному меню вибрати пункт Subtype Relationship. 2. Завдання для виконання 2.1. Побудувати логічну модель даних предметної області. 2.2 Створити збережені відображення. 2.3. Внести сутності в модель. 2.4. Ввести всі атрибути сутності Покупець. 2.5 Визначити атрибути всіх сутностей на діаграмі відповідно до таб.1.2. 2.6 Побудувати модель TO-BE; 2.7. Визначити альтернативні ключі та інверсні входи. 2.8.Встановити зв’язки між сутностями. 2.9.Задати всі зв’язки для сутностей відповідно до таб. 1.4. 2.10.Встановити категоріальний зв’язок. 3. Зміст звіту 3.1. Тема та мета роботи. 3.2. Коротко основні теоретичні відомості. 3.3. Відобразити отримані результати (п. 2.2-2.10) у вигляді копій екрану. 3.4. Висновки за результатам виконаної роботи. 4. Контрольні запитання 4.1. Що являє собою ERwin? 4.2. З якими продуктами інтегрує ERwin? 4.3. Які реляційні СУБД підтримує ERwin? 4.4. Як створюються збережені відображення? 4.5. Що являє собою PLATINUM ERwin? 4.6. Що таке альтернитичні ключі? 4.7. Що таке інверсний вхід? 4.8. Що таке категоріальний зв’язок і як він будується? Література
Лабораторна робота №9Тема: Створення звітів в ErwinМета: Вивчення видів звітів. Освоєння процедури створення звітів 1. Теоретичні відомості Для формування звітів в ERwin є ефективний і простий у використанні інструмент - Data Browser. Він дозволяє виконувати зумовлені звіти, зберігати результати їх виконання, створювати власні звіти, друкувати і експортувати їх у розповсюджені формати. Кожен звіт може бути налаштований індивідуально, дані в ньому можуть бути відсортовані і відфільтровані. У верхній лівій частині діалогу розташоване вікно, яке відображає дерево звітів. Звіти можуть бути згруповані у папки.Кожен звіт може містити кілька результуючих наборів даних, кожен з яких генерується при черговому виконанні звіту. Кожен елемент дерева позначений іконкою: - Папка, - Звіт, - Редагований звіт, - Результуючий набір даних, - Уявлення. • Для створення нового звіту виберіть пункт меню File | New Erwin Report. • У діалоговому вікні Reports в полі Name введіть ім'я звіту. • У полі Category зі списку виберіть категорію звіту, тобто тип об'єктів, по яких буде створюватися звіт (атрибути, діаграми, сутності і т. д.). • На закладці Options в ієрархічному списку вкажіть категорії, які будуть включені у звіт. Іконка показує, що відповідну колонку в отриманому звіті можна буде змінювати. Папка, позначена іконкою, дозволяє вибрати умови фільтрації даних звітів. • Клацніть по кнопці ОК. Звіт буде додано до списку звітів в діалогове вікно Data Browser. • Виконайте звіт, натиснувши кнопку Execute Report на панелі інструментів. Отриманий в результаті виконання звіту результуючий набір даних можна відформатувати, роздрукувати, експортувати або зберегти у вигляді подання. • Для редагування звіту виділіть потрібний звіт і виберіть у контекстному меню пункт Edit Report Format. У діалоговому вікні Report Format можна змінити порядок сортування даних (на закладці Sort), черговість колонок (з допомогою кнопок Move Up і Move Down), зробити колонку невидимою (зняти галочку), а також задати її стиль (список Option). • Для створеного звіту виберіть у контекстному меню пункт Export result set. Результуючий набір даних можна експортувати у такі формати: CSV - текстовий файл; HTLM; DDE - експорт в MS Word або MS Excel; RPTwin - експорт в спеціалізований генератор звітів. • Після закінчення форматування і налаштування результуючого набору даних його можна зберегти у вигляді іменованого подання. Для цього необхідно клацнути по кнопці на панелі інструментів. У діалозі Save View слід вказати ім'я та визначення подання. Після клацання по кнопці ОК подання додасться до списку звітів. 2. Завдання для виконання 2.1. Створити звіт по всіх сутностях та їх атрибутах. 2.2 Створити звіт по зв'язках. 2.3. Зберегти отримані звіти у форматі HTML. 2.4. Сформувати новий звіт з категорії Model Validation, задавши в ньому всі опції перевірки коректності моделі. 2.5 Зберегти звіт у вигляді представлення. 3. Зміст звіту 3.1. Тема та мета роботи. 3.2. Коротко основні теоретичні відомості. 3.3. Відобразити отримані результати (п. 2.1-2.5) у вигляді копій екрану. 3.4. Висновки за результатам виконаної роботи. 4. Контрольні запитанн 4.1. Які основні принципи роботи та можливості пакета програм ERwin? 4.2. Що являє собою інструмент - Data Browser? 4.3. За допомогою якої команди виконується звіт у ERwin? 4.4. Які рівні моделювання містить даний програмний продукт? 4.5. Що таке атрибути сутностей? Література
З повагою ІЦ “KURSOVIKS”! |