Мережі Петрі як засіб побудови динамічних моделей підприємства

Метод моделювання «Мережі Петрі» був розроблений Адамом Петрі у 60-х роках ХХ ст. З того часу він став одним із найбільш визнаних стандартних методів моделювання процесів. У динамічному моделюванні підприємства метод мереж Петрі слугує засобом опису потоків бізнес-процесів.Для здійснення такого опису використовуються чотири базових конструктивних елементи (табл. 2.3).

 

Таблиця 2.3

КОНСТРУКТИВНІ ЕЛЕМЕНТИ МЕРЕЖ ПЕТРІ

Конструктивний елемент Характеристика
      Стани: Стани несуть у собі символи роботи, що повинні опрацюватися в діяльності, яка йде за символом стану. Приклад символу в стані — комерційне замовлення, що буде прийняте і підтверджене. Стан може фіксувати певний тип символу роботи, описаний при визначенні стану
  Дії управління: Дії управління відповідають за пересування символу роботи в потоці процесу. Є три можливості: · (X) OR-розвилка (напрям 1 або 2); · AND-розвилка (паралельний); · AND-поєднання (синхронізація)
Процеси: Ручні або автоматизовані дії, що перетворюють сим­вол роботи зі cтану входу в інший символ роботи в стані виходу
Підпроцеси: Підпроцеси дозволяють структурувати процеси на більш низькому рівні

Таблиця 2.4

КОНСТРУКТИВНІ БЛОКИ МЕРЕЖ ПЕТРІ

Конструктивний блок Характеристика
Розподіл дій: Діяльність розбита на дві дії B і C, виконані у зазначеному порядку
Дії, виконані паралельно: Діяльність розбита на дві дії B і C. Послідовність, у якій виконуються B і C, не має ніякого значення. Про­те обидві повинні бути ви­конані до закінчення процесу
Спеціалізовані дії: Діяльність розбита на дві альтернативні дії B або C. На підставі визначеної діяльності стану B або C відібрані (не обидві, тому тільки або) OR-поєднан­ням — єдиним місцем виходу наприкінці процесу

Закінчення табл. 2.4

Конструктивний блок Характеристика
Ітерація дій: Виконання дії припускає виконання діяльності B один або більшу кількість разів. Число ітерацій урегульоване під час визначення стану

 

Моделювання потоку процесу через мережі Петрі базується на декількох принципах:

· діяльність починається, коли є принаймні один символ роботи у всіх поєднаних станах входу діяльності;

· діяльність споживає один символ роботи з кожного стану входу і продукує один символ роботи для кожного поєднаного стану виходу;

· дії управління мають спеціальні можливості (табл. 2.4):

¾ вони можуть множити один символ роботи зі стану входу і поміщати їх у два або більшу кількість станів виходу. Для цього будується конструкція AND-розвилка;

¾ вони можуть маршрутизувати символ роботи через процес, розміщаючи цей символ в один із поєднаних станів виходу, заснованих на певних станах. Цей засіб реалізується через конструк­ції OR-розвилки;

¾ вони можуть синхронізувати дії, виконані в рівнобіжних кроках. Для цього використовується конструкція AND-поєд­нання.

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

· кожен потік процесу починається і закінчується тільки одним станом;

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

· процес слід обмежувати п’ятьма-десятьма кроками. Якщо потрібна більша кількість кроків — будується підпроцес;

· поєднання сторінок не використовується. Достатньо структурувати процес ієрархічним методом.

Наведемо приклад бізнес-процесу «Циклічна інвентаризація на складах», скориставшись розглянутими вище засобами та правилами побудови мереж Петрі (рис. 2.14).

 

2.4. САSЕ-технології — інструментарій підтримки
життєвого циклу інформаційних систем

Практично жоден серйозний проект зі створення АІСУП не здійснюється без використання САSЕ-засобів. САSЕ (Computer-Aided Software / System Engineering) являє собою сукупність методологій аналізу, проектування, розробки і супроводження склад­них програмних систем, підтриману комплексом взаємопов’я­заних засобів автоматизації. САSЕ — це інструментарій для
системних аналітиків, розробників і програмістів, що замінює їм папір і олівець комп’ютером для автоматизації процесу проектування і розробки програмного забезпечення.

Основна мета САSЕ полягає в тому, щоб відокремити початкові етапи (аналіз і проектування) від подальших етапів розробки, а також не обтяжувати розробників усіма деталями середовища розробки і функціонування системи. Чим більший обсяг робіт буде винесений на етапи аналізу й проектування, тим краще. Під час використання САSЕ трансформуються всі етапи життєвого циклу АІСУП, при цьому найбільші зміни стосуються етапів аналізу і проектування.

Крім автоматизації методологій і, як наслідок, можливості застосування сучасних методів системної і програмної інженерії САSЕ мають такі основні переваги:

1) поліпшують якість системи, що створюється, за допо-
могою засобів автоматичного контролю (передусім контролю проекту);

2) дозволяють за короткий час створювати прототип майбутньої системи, що дає змогу на ранніх етапах оцінити очікуваний результат;

3) прискорюють процес проектування і розробки;

4) звільняють розробника від рутинної роботи, дозволяючи йому цілком зосередитися на творчій частині розробки;

5) підтримують розвиток і супровід розробки;

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

Зараз існує два покоління САSЕ. Засоби першого покоління призначені для аналізу вимог, проектування специфікацій і структури системи і є першою технологією, адресованою безпосередньо системним аналітикам і проектувальникам. Вони включають засоби для підтримки графічних моделей, проектування специфікацій, редагування словників даних і концентрують увагу на початкових кроках проекту — системному аналізі, визначенні вимог, системному проектуванні, логічному проектуванні БД. Засо­би другого покоління призначені для підтримки повного життєвого циклу розробки. В них насамперед використовуються засоби підтримки автоматичної кодогенерації, а також забезпечується повна функціональна підтримка для створення графічних системних вимог і специфікацій проектування; контролю, аналізу і зв’язування системної інформації, а також інформації щодо управління проектуванням; побудови прототипів і моделей системи; тестування, верифікації і аналізу згенерованих програм; генерації документів з проекту; контролю на відповідність стандартам по всіх етапах ЖЦ.

Нижче стисло характеризуються основні функціональні можливості САSЕ-засобів.

1) Спільна графічна мова. САSЕ забезпечує всіх учасників проекту (в тому числі й замовників) спільною мовою, наочною, строгою та інтуїтивно зрозумілою. Це дозволяє залучати замовника до процесу розробки, спілкуватися з експертами предметної області, захищати проект перед керівництвом, поділити діяльність системних аналітиків, проектувальників і програмістів, а також забезпечувати легкість супроводження і внесення змін у цільову систему:

Графічна орієнтація САSЕ полягає в тому, що програми є двовимірними схемами, набагато простішими у використанні, аніж описи на кілька сторінок.

2) Загальна БД проекту.Основа САSЕ — це використання БД-проекту (репозитарію) для зберігання всієї інформації про проект, яка може розподілятися між розробниками відповідно до їхніх прав доступу. Зміст репозитарію включає не тільки об’єкти різних типів, але і відносини між їх компонентами, а
також правила використання або опрацювання цих компонен-
тів. Репозитарій може зберігати понад 100 типів об’єктів, прикладами яких є діаграми, визначення екранів і меню, проекти звітів, описи даних, логіка опрацювання, моделі даних, моделі підприємства, моделі опрацювання, початкові коди, елементи даних і т. ін.

3) Інтеграція засобів. Наоснові репозитарію здійснюються інтеграція САSЕ-засобів і розподіл системної інформації між розробниками. При цьому можливості репозитарію забезпечують кілька рівнів інтеграції: загальний інтерфейс користувача по всіх засобах, передачу даних між засобами, інтеграцію етапів розробки через єдину систему подань фаз ЖЦ, передачу даних і засобів між апаратними платформами.

4) Підтримка колективної розробки й управління проектом. САSЕ підтримує групову роботу над проектом за допомогою засобів роботи в мережі, експорту-імпорту будь-яких фрагментів проекту для розвитку і/або модифікації, а також плану­вання, контролю, управління, взаємодії, тобто функцій, необхідних для розробки і супроводження проектів. Ці функції також реалізуються на основі репозитарію. Зокрема, через репозитарій може здійснюватися контроль безпеки (обмеження доступу, привілеї доступу), контроль версій, контроль змін тощо.

5) Прототипування. Важливу роль в автоматизації ранніх етапів ЖЦ відіграють можливості підтримки прототипування. САSЕ дозволяє будувати швидкі прототипи системи, що дає змогу на ранніх етапах розробки оцінити, наскільки майбутня система влаштовує замовника і наскільки «дружня» вона майбутньому користувачеві.

6) Генерація документації. Вся документація з проекту генерується автоматично на базі репозитарію (як правило, на базі вимог відповідних стандартів). Безперечна перевага САSЕ полягає в тому, що документація завжди відповідає поточному стану справ, оскільки будь-які зміни в проекті автоматично відбиваються в репозитарії. Відомо, що за традиційних під-
ходів до розробки АІСУП документація щонайбільше запізнюється, а ряд модифікацій взагалі не знаходить у ній відображення.

7) Верифікація проекту. САSЕзабезпечує автоматичну
верифікацію і контроль проекту на повноту і спроможність
на ранніх етапах розробки, що впливає на успіх розробки в
цілому.

8) Автоматична кодогенерація. Кодогенерація здійснюється на основі репозитарію і дозволяє автоматично побудувати близько 80—90% об’єктних кодів або текстів програм мовами високого рівня. При цьому різними САSЕ-пакетами підтримуються практично всі відомі мови програмування, однак найчастіше як цільові мови виступають СОВОL, C і АDА.

9) Супроводження і реінжиніринг. Супроводження системи в межах САSЕ характеризується тим, що супроводжується проект, а не програмні коди. Засоби реінжинірингу і реверсного інжинірингу дозволяють продукувати схеми системи з її кодів та інтегрувати отримання схеми в проект, автоматично оновлювати документацію під час заміни кодів, автоматично змінювати специфікації при редагуванні кодів і т. ін.