- •Міністерство освіти та науки України в.В. Литвин, н.Б. Шаховська Проектування інформаційних систем
- •Передмова наукового редактора серії підручників «комп’ютинґ»
- •1.1. Складність програмного забезпечення
- •1.2. Структура складних систем
- •1.2.1. Приклади складних систем
- •1.2.2. П'ять ознак складної системи
- •1.2.3. Організована і неорганізована складність
- •1.3. Методи подолання складності
- •1.3.1. Роль декомпозиції
- •1.3.3. Роль абстракції
- •1.3.4. Роль ієрархії
- •1.4. Про проектування складних систем
- •1.4.1. Інженерна справа як наука і мистецтво
- •1.4.2. Сенс проектування
- •4. Методи подолання складності.
- •2.1. Базові означення
- •2.2. Методи проектування інформаційних систем
- •2.3. Види інформаційних систем
- •2.4. Рівні моделей даних
- •3. Види інформаційних систем.
- •3.1. Методологія процедурно-орієнтованого програмування
- •3.2. Методологія об'єктно-орієнтованого програмування
- •3.3. Методологія об'єктно-орієнтованого аналізу і проектування
- •3.4. Методологія системного аналізу і системного моделювання
- •4.1. Передісторія. Математичні основи
- •4.1.1. Теорія множин
- •4.1.2. Теорія графів
- •4.1.3. Семантичні мережі
- •4.2. Діаграми структурного системного аналізу
- •4.3. Основні етапи розвитку uml
- •3. Семантичні мережі.
- •5.1. Принципи структурного підходу до проектування
- •5.2. Структурний аналіз
- •5.3. Структурне проектування
- •5.4. Методологія структурного аналізу
- •5.5. Інструментальні засоби структурного аналізу та проектування
- •6.1. Основні елементи
- •6.2. Типи зв’язків
- •6.3. Техніка побудови
- •6.4. Діаграма бізнес – функцій
- •6.4.1. Призначення діаграми бізнес-функцій
- •6.4.2. Основні елементи
- •7.1. Призначення діаграм потоків даних та основні елементи
- •7.1.1. Зовнішні сутності
- •7.1.2. Процеси
- •7.1.3. Накопичувачі даних
- •7.1.4. Потоки даних
- •7.2. Методологія побудови dfd.
- •8.1. Діаграма «сутність-зв’язок»
- •8.2. Діаграма атрибутів
- •8.3. Діаграма категоризації
- •8.4. Обмеження діаграм сутність-зв’язок
- •8.5. Методологія idef1
- •9.1. Основні елементи
- •9.2. Типи керуючих потоків
- •9.3. Принципи побудови
- •10.1. Структурні карти Константайна
- •10.2. Структурні карти Джексона
- •11.1. Призначення case-технологій
- •11.2. Інструментальний засіб bPwin
- •11.2.4. Інші діаграми bpWin
- •11.2.5. Моделі as is і to be
- •11.3.1. Основні властивості
- •11.3.2. Стандарт idef1x
- •11.4. Програмний засіб Visio
- •12.1. Системний аналіз області наукових досліджень
- •12.1.1. Аналіз предметної області
- •12.2. Системний аналіз біржі праці
- •12.2.1. Дерево цілей
- •12.2.2. Опис об’єктів предметної області
- •12.2.3. Концептуальна модель
- •14.1. Еволюція об'єктної моделі
- •14.1.1. Основні положення об'єктної моделі
- •14.2. Складові частини об'єктного підходу
- •14.2.1. Парадигми програмування
- •14.2.2. Абстрагування
- •14.2.3. Інкапсуляція
- •14.2.4. Модульність
- •14.2.5. Ієрархія
- •14.2.7. Паралелізм
- •14.2.8. Збереженість
- •14.3. Застосування об'єктної моделі
- •14.3.1. Переваги об'єктної моделі
- •14.3.2. Використання об'єктного підходу
- •14.3.3. Відкриті питання
- •15.1. Природа об'єкта
- •15.1.1. Що є й що не є об'єктом?
- •15.1.2. Стан
- •15.1.3. Поведінка
- •15.1.4. Ідентичність
- •Void drag(DisplayItem I); // Небезпечно
- •15.2. Відношення між об'єктами
- •15.2.1. Типи відношень
- •15.2.2. Зв'язки
- •15.2.3. Агрегація
- •15.3. Природа класів
- •15.3.1. Що таке клас?
- •15.3.2. Інтерфейс і реалізація
- •15.3.3. Життєвий цикл класу
- •15.4. Відношення між класами
- •15.4.1. Типи відношень
- •15.4.2. Асоціація
- •15.4.3. Успадкування
- •15.4.4. Агрегація
- •15.4.5. Використання
- •15.4.6. Інсталювання (Параметризація)
- •15.4.6. Метакласи
- •15.5. Взаємозв'язок класів і об'єктів
- •15.5.1. Відношення між класами й об'єктами
- •15.5.2. Роль класів і об'єктів в аналізі й проектуванні
- •16.1. Важливість правильної класифікації
- •16.1.1. Класифікація й об’єктно-орієнтовне проектування
- •16.1.2. Труднощі класифікації
- •16.2. Ідентифікація класів і об'єктів
- •16.2.1. Класичний і сучасний підходи
- •16.2.2. Об’єктно-орієнтований аналіз
- •16.3. Ключові абстракції й механізми
- •16.3.1. Ключові абстракції
- •16.3.2. Ідентифікація механізмів
- •17.1. Призначення мови uml
- •17.2. Загальна структура мови uml
- •17.3. Пакети в мові uml
- •17.4. Основні пакети мета-моделі мови uml
- •17.5. Специфіка опису мета-моделі мови uml
- •17.6. Особливості зображення діаграм мови uml
- •18.1. Варіант використання
- •18.2. Актори
- •18.3. Інтерфейси
- •18.4. Примітки
- •18.5. Відношення на діаграмі варіантів використання
- •18.5.1. Відношення асоціації
- •13.5.2. Відношення розширення
- •18.5.3. Відношення узагальнення
- •18.5.4. Відношення включення
- •18.6. Приклад побудови діаграми варіантів використання
- •18.7. Рекомендації з розроблення діаграм варіантів використання
- •19.1. Клас
- •19.1.1. Ім'я класу
- •19.1.2. Атрибути класу
- •19.1.3. Операція
- •19.2. Відношення між класами
- •19.2.1. Відношення залежності
- •19.2.2. Відношення асоціації
- •19.2.3. Відношення агрегації
- •19.2.4. Відношення композиції
- •19.2.5. Відношення узагальнення
- •19.3. Інтерфейси
- •19.5. Шаблони або параметризовані класи
- •19.6. Рекомендації з побудови діаграми класів
- •20.1. Автомати
- •20.2. Стан
- •20.2.1. Ім'я стану
- •20.2.2. Список внутрішніх дій
- •20.2.3. Початковий стан
- •20.2.4. Кінцевий стан
- •20.3. Перехід
- •20.3.2. Сторожова умова
- •20.3.3.Вираз дії
- •15.4. Складений стан і підстан
- •20.4.1. Послідовні підстани
- •20.4.2. Паралельні підстани
- •15.5. Історичний стан
- •20.6. Складні переходи
- •15.6.1. Переходи між паралельними станами
- •20.6.2. Переходи між складеними станами
- •20.6.3. Синхронізуючі стани
- •20.7. Рекомендації з побудови діаграм станів
- •21.1. Стан дії
- •21.2. Переходи
- •21.5. Рекомендації до побудови діаграм діяльності
- •22.1.1. Лінія життя об'єкта
- •22.1.2. Фокус керування
- •22.2. Повідомлення
- •22.2.1. Розгалуження потоку керування
- •22.2.2. Стереотипи повідомлень
- •22.2.3. Тимчасові обмеження на діаграмах послідовності
- •22.2.4. Коментарі або примітки
- •22.3. Приклад побудови діаграми послідовності
- •22.4. Рекомендації з побудови діаграм послідовності
- •23.1. Кооперація
- •23.2.1. Мультиоб'єкт
- •23.2.2. Активний об'єкт
- •23.2.3. Складений об'єкт
- •23.3. Зв'язки
- •23.3.1. Стереотипи зв'язків
- •23.4. Повідомлення
- •23.4.1. Формат запису повідомлень
- •23.5. Приклад побудови діаграми кооперації
- •23.6. Рекомендації з побудови діаграм кооперації
- •24.1. Компоненти
- •24.1.1. Ім'я компоненту
- •24.1.2. Види компонент
- •24.2. Інтерфейси
- •24.3. Залежності
- •24.4. Рекомендації з побудови діаграми компонент
- •25.1. Вузол
- •25.2. З'єднання
- •25.3. Рекомендації з побудови діаграми розгортання
- •26.1. Загальна характеристика case-засобу Rational Rose
- •26.2. Особливості робочого інтерфейсу Rational Rose
- •26.1.1. Головне меню програми
- •26.1.2. Стандартна панель інструментів
- •26.1.3. Вікно браузера
- •26.1.4. Спеціальна панель інструментів
- •26.1.5. Вікно діаграми
- •26.1.6. Вікно документації
- •26.1.7. Вікно журналу
- •26.3. Початок роботи над проектом у середовищі Rational Rose
- •26.4. Розроблення діаграми варіантів використання в середовищі Rational Rose
- •26.5. Розроблення діаграми класів у середовищі Rational Rose
- •26.6. Розроблення діаграми станів у середовищі Rational Rose
- •26.7. Розроблення діаграми послідовності в середовищі Rational Rose
- •26.8. Розроблення діаграми кооперації в середовищі Rational Rose
- •26.9. Розроблення діаграми компонентів у середовищі Rational Rose
- •26.10. Розроблення діаграми розгортання в середовищі Rational Rose
11.3.1. Основні властивості
ERwin має два рівні представлення моделі — логічний і фізичний.
Логічний рівень — це абстрактний погляд на дані, коли дані представляються так, як виглядають у реальному світі, і можуть називатися так, як вони називаються на реальному світі, наприклад "Постійний клієнт", "Відділ" або "Прізвище співробітника". Об'єкти моделі, що представляються на логічному рівні, називаються сутностями та атрибутами. Логічна модель даних може бути побудована на основі іншої логічної моделі, наприклад на основі моделі процесів. Логічна модель даних є універсальною і ніяк не пов'язана з конкретною реалізацією СКБД. Для створення моделей даних в ERwin можна використовувати дві нотації: IDEFIX і IE (Information Engineering). ERwin має декілька рівнів відображення діаграми: рівень сутностей, рівень атрибутів, рівень визначень, рівень первинних ключів і рівень ікон, перемикання між ними здійснюється за допомогою кнопок панелі інструментів.
Фізична модель даних, навпаки, залежить від конкретної СКБД, фактично будучи відображенням системного каталога. У фізичній моделі міститься інформація про всі об'єкти БД. Оскільки стандартів на об'єкти БД не існує (наприклад, немає стандарту на типи даних), фізична модель залежить від конкретної реалізації СКБД. Отже, одній і тій же логічній моделі можуть відповідати декілька різних фізичних моделей. Якщо в логічній моделі не має значення, який конкретно тип даних має атрибут, то у фізичній моделі описується всю інформацію про конкретні фізичні об'єкти — таблиці, колонки, індекси, процедурах і так далі
Документування моделі
Багато СКБД мають обмеження на іменування об'єктів (наприклад, обмеження на довжину імені таблиці або заборона використання спеціальних символів — пропуску і т. п.). Часто розробники ІС мають справу з нелокалізованими версіями СКБД. Це означає, що об'єкти БД можуть називатися короткими словами, тільки латинськими символами і без використання спеціальних символів (тобто не можна назвати таблицю, використовуючи речення — її можна назвати лише одним словом). Крім того, проектувальники БД нерідко зловживають "технічними" назвами, в результаті таблиця і колонки отримують назви типу RTD_324 або CUST_A12 і так далі. Отриману в результаті структуру можуть зрозуміти тільки фахівці (а найчастіше — тільки автори моделі), її неможливо обговорювати з експертами предметної області. Поділ моделі на логічну і фізичну дозволяє вирішити цю проблему. На фізичному рівні об'єкти БД можуть називатися так, як того вимагають обмеження СКБД. На логічному рівні можна цим об'єктам дати синоніми — імена зрозуміліші неспеціалістам, у тому числі на кирилиці і з використанням спеціальних символів. Наприклад, таблиці CUST_A12 може відповідати сутність Постійний клієнт. Така відповідність дозволяє краще документувати модель і дає можливість обговорювати структуру даних з експертами предметної області.
Масштабування
Створення моделі даних, як правило, починається з розробки логічної моделі. Після опису логічної моделі проектувальник може вибрати необхідну СКБД, і ERwin автоматично створить відповідну фізичну модель. На основі фізичної моделі ERwin може згенерувати системний каталог СКБД або відповідний SQL-скрипт. Цей процес називається прямим проектуванням (Forward Engineering). Тим самим досягається масштабованість — створивши одну логічну модель даних, можна згенерувати фізичні моделі під будь-яку підтримувану СКБД ERwin. З іншого боку, ERwin здатний по вмісту системного каталога або SQL-скрипту відтворити фізичну і логічну модель даних (Reverse Engineering). На основі отриманої логічної моделі даних можна згенерувати фізичну модель для іншої СКБД і потім створити її системний каталог. Отже, ERwin дозволяє вирішити завдання з перенесення структури даних з одного сервера на іншій. Наприклад, можна перенести структуру даних з Oracle на Informix (або навпаки) або перенести структуру dbf-файлов в реляційну СКБД, тим самим полегшивши перехід від файл-серверной до клієнт-серверної ІС. Проте, формальне перенесення структури "плоских" таблиць на реляційну СКБД зазвичай неефективне. Для того, щоб витягувати вигоди від переходу на клієнт-серверну технологію, структуру даних слід модифікувати.
Обчислення розміру БД
ERwin дозволяє розрахувати приблизний розмір БД загалом, а також таблиць, індексів і інших об'єктів через певний період часу після початку експлуатації ІС. Розрахунок будується на основі наступних параметрів: початкова кількість рядків; максимальна кількість рядків; приріст кількості рядків в місяць. Результати розрахунків зводяться в звіт.
Пряме і зворотне проектування
Прямим проектуванням називається процес генерації фізичної схеми БД зіз логічної моделі. При генерації фізичної схеми ERwin включає тригери обмежень цілісності, збережені процедури, індекси, обмеження і інші можливості, доступні при визначенні таблиць у вибраній СКБД.
Зворотним проектуванням називається процес генерації логічної моделі з фізичної БД. Зворотне проектування дозволяє конвертувати БД з однієї СКБД в іншу. Після створення логічної моделі БД шляхом зворотного проектування можна перемкнутися на інший сервер і провести пряме проектування.
Окрім режиму прямого і зворотного проектування програма забезпечує синхронізацію між логічною моделлю і системним каталогом СКБД впродовж всього життєвого циклу створення ІС.
Генерація коду клієнтської часткичастини за допомогою ERwin
ERwin підтримує не тільки проектування сервера БД, але і автоматичну генерацію клієнтського застосування в середовищі розроблення MS Visual Basic і Power Builder. Технологія генерації полягає в тому, що на етапі розроблення фізичної моделі даних кожній колонці присвоюються розширені атрибути, що містять інформацію про властивості об'єктів клієнтського застосування (у тому числі і візуальних), які відображають інформацію, що зберігається у відповідній колонці. Ця інформація записується у файлі моделі. На основі інформації, що міститься в розширених атрибутах, генеруються екранні форми. Отриманий код може відкомпілюватися і бути виконаний без додаткового ручного кодування.
Кожній колонці в моделі ERwin можна задати заздалегідь описані і іменовані властивості:
правила валідації (перевірка значень);
початкові значення, що встановлюються за замовчуванням;
стиль візуального об'єкту (наприклад, радіокнопка, поле введення та ін.);
формат зображення.
Для опису кожної властивості ERwin є відповідні редактори.
Створення звітів
Для генерації звітів в ERwin є інструмент – Report Browser. За замовчуванням Report Browser містить заздалегідь певні звіти, що дозволяють наглядно подати інформацію про основні об'єкти моделі даних, – як логічної, так і фізичної.
Генерація словників
Для керування великими проектами ERwin має спеціальний інструмент – ERwin Dictionary, який забезпечує колективну роботу над діаграмами і дозволяє зберігати і документувати різні версії моделей даних. ERwin Dictionary є спеціальною БД, яка дозволяє вирішити проблеми документування і зберігання моделей, однак не повністю відповідає вимогам розрахованої на багато користувачів роботи.
Переваги системи Erwin
побудувавши один раз повноцінну модель бази даних, можна легко її розвивати, модифікувати і переносити з одного сервера бази даних на іншій.
за допомогою зручного представлення є можливість донести до кінцевого розроблювача всі нюанси розроблювальної бази.
використовуючи стандарт IDEF1X, розроблений військово-повітряними силами США, ERwin дозволяє створювати складні документи у вигляді простому для розуміння.
Erwin не тільки дозволяє створити логічну модель, він також автоматично будує фізичні структури даних за інформацією у діаграмі.
ERwin повністю підтримує можливості FRE (forward and reverse engineering) з використанням каталогів цільового сервера.