- •Міністерство освіти та науки України в.В. Литвин, н.Б. Шаховська Проектування інформаційних систем
- •Передмова наукового редактора серії підручників «комп’ютинґ»
- •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.2. Інструментальний засіб bPwin
BPwin є могутнім інструментом для створення моделей, що дозволяють аналізувати, документувати і планувати зміни складних бізнесів-процесів. Иепер він входить у програмний пакет AllFusion Modeling Suite. BPwin пропонує засіб для збору всієї необхідної інформації про роботу підприємства і графічного зображення цієї інформації у вигляді цілісної і несуперечливої моделі.
BPwin підтримує три методології: IDEF0, DFD і IDEF3, що дозволяють аналізувати бізнес із трьох ключових точок зору:
З погляду функціональності системи. У рамках методології IDEF0 (Integration Definition for Function Modeling) бізнес-процес представляється у виді набору елементів-робіт, що взаємодіють між собою, а також показуються інформаційні, людські і виробничі ресурси, які споживаються кожною роботою.
З погляду потоків інформації (документообігу) у системі. Діаграми DFD (Data Flow Diagramming) можуть доповнити те, що уже відбито в моделі IDEF3, оскільки вони описують потоки даних, дозволяючи простежити, яким чином відбувається обмін інформацією між бізнес-функціями усередині системи. У той же час діаграми DFD залишають без уваги взаємодію між бізнес-функціями.
З погляду послідовності виконуваних робіт. І ще більш точну картину можна одержати, доповнивши модель діаграмами IDEF3. Цей метод привертає увагу до черговості виконання подій. У IDEF3 включені елементи логіки, що дозволяє моделювати й аналізувати альтернативні сценарії розвитку бізнес-процесу.
BPwin уміє перевіряти моделі, що створює користувач, з погляду синтаксису обраної методології, перевіряє цілісність зв’язків між діаграмами, а також виконує ряд інших перевірок. При цьому зберігаються головні переваги діаграми – простота створення і наочність.
11.2.1. IDEF0
Основною із трьох методологій, які підтримує BPwin, є IDEF0. IDEF0, відноситься до сімейства стандартів IDEF, які з'явились наприкінці шістдесятих років за назвою SADT (Structured Analysis and Design Technique). IDEF0 може бути використана для моделювання широкого класу систем. Для нових систем застосування IDEF0 має своєю метою визначення вимог і вказання функцій для наступного розроблення системи, що відповідає поставленим вимогам і реалізує виділеним функціям. Стосовно до вже існуючих систем IDEF0 може бути використана для аналізу функцій, які виконуються системою, і відображення механізмів, за допомогою яких ці функції виконуються. Результатом застосування IDEF0 до деякої системи є модель цієї системи, що складається з ієрархічно упорядкованого набору діаграм, тексту документації та словників, зв'язаних один з одним за допомогою перехресних посилань. Двома найважливішими компонентами, з яких будуються діаграми IDEF0, є функції чи роботи (представлені на діаграмах у вигляді прямокутників) і дані й об'єкти (подані у вигляді стрілок), що зв'язують між собою роботи. При цьому стрілки, у залежності від того в яку грань прямокутника роботи вони входять чи з якої грані виходять, поділяються на п'ять видів.
Стрілки входу (входять у ліву грань роботи) – зображують дані чи об'єкти, що змінюються в ході виконання роботи.
Стрілки керування (входять у верхню грань роботи) – зображують правила й обмеження, згідно з якими виконується робота.
Стрілки виходу (виходять із правої грані роботи) – зображують дані чи об'єкти, що з'являються у результаті виконання роботи.
Стрілки механізму (входять у нижню грань роботи) – зображують ресурси, які необхідні для виконання роботи, але не змінюються в процесі роботи (наприклад, пристрої, людські ресурси...)
Стрілки виклику (виходять з нижньої грані роботи) – зображують зв'язки між різними діаграмами чи моделями, вказуючи на деяку діаграму, де задана робота розглянута детальніше.
Усі роботи і стрілки повинні бути іменовані. Перша діаграма в ієрархії діаграм IDEF0 завжди зображає функціонування системи загалом. Такі діаграми називаються контекстними. У контекст входить опис мети моделювання, області (опис того, що буде розглядатися як компонент системи, а що як зовнішній вплив) і точки зору (позиції, з яким буде будуватися модель). Зазвичай як точку зору вибирається точка зору об'єкта, відповідального за роботу модельованої системи загалом.
Продоменструємо діаграми IDEF0 для розроблення системи визначення кредитоспроможності клієнта банку (рис. 11.1).
Рис 11.1. Приклад контекстної діаграми в нотації IDEF0.
Після того як контекст описаний, проводиться побудова наступних діаграм в ієрархії. Кожна наступна діаграма є більш докладним описом (декомпозицією) однієї з робіт на діаграмі вищого рівня. Приклад декомпозиції контекстної роботи подано на рис.11.2.
Рис. 11.2 Приклад діаграми декомпозиції в нотації IDEF0
Опис кожної підсистеми проводиться аналітиком разом з експертом предметної області. Зазвичай експертом є людина, відповідальна за цю підсистему і, тому досконально обізнана про всі її функції. Таким чином, уся система розбивається на підсистеми до потрібного рівня деталізації, і виходить модель, що апроксимує систему з заданим рівнем точності. Одержавши модель, що адекватно відображає поточні бізнес-процеси (так звану модель AS IS – як є), аналітик з легкістю може побачити усі найуразливіші місця системи. Після цього, з урахуванням виявлених недоліків, можна будувати модель нової організації бізнесів-процесів (модель TO BE – як має бути).
Аналіз інформації про фізичну ососбу показано на рис. 11.3.
Рис. 11.3. Аналіз інформації про фізичну особу
Аналіз інформації про юридичну особу показано на рис. 11.4.
Після прийняття рішення про надання кредиту за специфічними ознаками і у разі позитивного рішення проходить аналіз кредитоспроможності за спільними для двох груп ознаками (рис. 11.5.)
Остаточним рішенням визначаєься можливість наданя кредиту, а також надається інформація про позичальників банкам-пертнерам за їхнім запитом.
11.2.2. DFD
Для того, щоб документувати механізми передачі й опрацювання інформації у модельовній системі, використовуються діаграми потоків даних. DFD зазвичай будуються для наочного зображення поточної роботи системи документообігу організації. Найчастіше діаграми DFD використовують як доповнення моделі бізнес-процесів, виконаної в IDEF0.
Рис. 11.4. Аналіз інформації про юридичну особу
Рис. 11.5. Аналіз інформації за спільними ознаками.
Усього DFD використовує чотири важливих елементи:
Роботи. Роботи в DFD позначають чи функції процеси, що обробляють і змінюють інформацію. Роботи подані на діаграмах у вигляді прямокутників з округленими кутами.
Стрілки. Стрілки йдуть від об'єкта-джерела до об'єкта-приймача, позначаючи інформаційні потоки в системі документообігу.
Зовнішні сутності. Зовнішні сутності вказують на місце, організацію чи людину, що беруть участь у процесі обміну інформацією із системою, але розташовуються за рамками цієї діаграми.
Сховища даних. Сховища даних – власне дані, до яких здійснюється доступ, ці дані також можуть бути створені чи змінені роботами. На одній діаграмі може бути присутнім кілька копій того самого сховища даних.
Приклад побудови діаграм в нотації DFD для автоматизації ЖЕК подано на рис. 11.6 – 11.7.
Контекстну діаграму системи автоматизації ЖЕКу показано на рис. 11.6.
Рис. 11.6 Контекстна діаграма у нотації DFD
Діаграма потоків даних першого рівня показана на рис. 11.7.
У діаграмах потоків даних усі використані символи складаються у загальну картину, яка дає чітке уявлення про те, які дані використовуються, які функції виконуються системою документообігу. При цьому часто з'ясовується, що існуючі потоки інформації, важливі для діяльності компанії, реалізовані ненадійно і мають потребу в реорганізації.
11.2.3. IDEF3
Наявність у діаграмах DFD елементів для опису джерел, приймачів і сховищ даних дозволяє точно описати процес документообігу. Однак для опису логіки взаємодії інформаційних потоків модель доповнюють діаграмами ще однієї методології – IDEF3, так званої workflow diagramming. Методологія моделювання IDEF3 дозволяє графічно описати і задокументувати процеси, фокусуючи увагу на послідовності цих процесів і на зв’язках між процесами і важливими об'єктами, що є частинами цих процесів.
Рис. 11.7. Діаграма потоків даних першого рівня у нотації DFD
IDEF3 припускає побудову двох типів моделей: модель може відображати деякі процеси в їхній логічній послідовності, дозволяючи побачити, як функціонує організація, або модель може показувати “мережу перехідних станів об'єкта”, пропонуючи увазі аналітика послідовність станів, у яких може виявитися об'єкт при проходженні через визначений процес.
За допомогою діаграм IDEF3 можна аналізувати сценарії з реального життя, наприклад, як закривати магазин в екстрених випадках чи які дії повинні виконати менеджер і продавець при закритті. Кожен такий сценарій містить у собі опис процесу і може бути використаний, щоб наочно показати чи краще задокументувати бізнес-функції організації.
Модель, виконана в IDEF3, може містити такі елементи:
Одиниці роботи (Unit of Work) - основний компонент діаграми IDEF3 близький за змістом до роботи IDEF0.
Зв'язки (Links) - зв'язки, зображені стрілками, показують взаємозв’язки між роботами. У IDEF3 розрізняють три типи зв'язків:
Зв'язок передування (Precedence) – показує, що перш ніж почнеться робота-приймач, повинна завершитися робота-джерело. Позначається суцільною лінією.
Зв'язок відношення (Relational) - показує зв'язок між двома роботами чи між роботою й об'єктом посилання. Позначається пунктирною лінією.
Потік об'єктів (Object Flow) – показує участь деякого об'єкта у двох чи більше роботах. Позначається двосторонньою стрілкою.
Розгалуження (Junctions) - використовуються для того, щоб показати розгалуження логічної схеми модельованого процесу й альтернативні шляхи розвитку процесу, які виникають під час його виконання. Розрізняють два типи розгалужень:
Розгалуження злиття (Fan-in Junction) – вузол, що збирає декілька стрілок в одну, вказуючи на необхідність умови завершеності робіт-джерел стрілок для продовження процесу (рис. 11.8).
Рис.11.8. Приклад діаграми IDEF3 для моделювання визначення можливості надання соціальної допомоги
Розгалуження розгалуження (Fan-out Junction) – вузол, у якому єдина вхідна в нього стрільця розгалужується, показуючи, що роботи, які виходять за розгалуженням, виконуються паралельно чи альтернативно.
Об'єкти посилань (Referents) - служать для вираження ідей і концепцій без використання спеціальних методів, таких як стрілки, чи розгалуження роботи.