- •Класифікація моделей систем. Роль інструментальної моделі у проектуванні програмного забезпечення.
- •Сучасні підходи до імітаційного моделювання, їх застосування у галузі «Програмна інженерія». Дискретно-подієве та агентне моделювання.
- •Компоненты системы дискретно-событийного моделирования
- •Список событий
- •Мета та задачі програмного проекту, вимоги до пз. Роль вимог у створенні надійного (відмовостійкого) програмного забезпечення.
- •Модель програмного забезпечення, етапи та особливості побудови моделі.
- •Модель зрілості процесів організації, модель cmmі, способи та методи cmmі у вдосконаленні бізнес-процесів розробки пз.
- •Моделі розробки програмного забезпечення. Модель водоспаду та ітеративна модель, застосування елементів даних моделей у сучасних методологіях розробки пз.
- •Моделі розробки програмного забезпечення. Методологія rup – загальна модель. Конус операційних маршрутів програмного проекту.
- •Моделі розробки програмного забезпечення. Методологія OpenUp.
- •Моделі розробки програмного забезпечення. Методології Microsoft Solutions Framework (msf), етапи управління великими програмними проектами.
- •Моделі розробки програмного забезпечення. Методологія fdd, Extreme Programming (xp).
- •Архітектура програмного проекту, керована моделями. Концепція mda.
- •Складові Model Driven Architecture, їх призначення.
- •Моделі розробки програмного забезпечення. Гнучкі методології розробки пз (Agile software development). Методологія Scrum. Ідея ефективного планування робочого навантаження учасників проекту.
- •Роли в скрам-процессе[править | править вики-текст]
- •Основные роли (Core roles) в методологии скрам («Свиньи»)[править | править вики-текст]
- •Дополнительные роли (Ancillary roles) в методологии скрам («Куры»)[править | править вики-текст]
- •Гнучка методологія розробки програмного забезпечення (Agile software development). Основні ідеї Agile.
- •Класифікація програмних проектів за управлінням.
- •Теорія систем. Дослідження рівноважних і нерівноважних систем. Важливість сучасного підходу, що використовується в теорії систем, для програмних проектів.
- •Теорія систем.
- •Теорія процесів. Формальний опис процесів. Специфікація процесу.
- •Теорія процесів. Поняття процесу, основні операції на процесах. Моделювання процесів.
- •Абстрактна та структурна теорії автоматів, їх особливості та приклади застосування.
- •Абстрактний автомат, визначення. Класифікація абстрактних автоматів.
- •Цифровий автомат, загальна структура та способи опису.
- •Динамічне моделювання паралельних програмних систем. Мережа Петрі, загальне визначення.
- •Класифікація мереж Петрі, основні інтерпретації, їх коротка характеристика.
- •Синхронні та асинхронні паралельні процеси, особливості їх моделювання.
- •Паралельний алгоритм, його відмінність від послідовного алгоритму. Моделювання паралельних алгоритмів.
- •Основні елементи мереж Петрі. Способи представлення мереж Петрі.
- •Динамічне та квазідинамічне моделювання програмних систем з паралелізмом. Методологія Business Process Modeling (на основі стандартів idef).
- •Цілі моделювання бізнес-процесів[ред. • ред. Код]
- •Використання[ред. • ред. Код]
- •Історія[ред. • ред. Код]
- •Зовнішнє проектування програмних систем. Принцип концептуальної цілісності.
- •Моделювання програмних систем. Uml-діаграми. Еволюція моделі програмної системи.
- •Нотація[ред. • ред. Код]
- •Діаграми Хареля[ред. • ред. Код]
- •Група uml-діаграм для побудови та уточнення архітектури програмної системи.
- •Докладніше[ред. • ред. Код]
- •Деталізоване проектування пс. Діаграми бізнес-класів та класів.
- •Зв'язки[ред. • ред. Код]
- •Асоціації[ред. • ред. Код]
- •Агрегація[ред. • ред. Код]
- •Композиція[ред. • ред. Код]
- •Відмінності між композицією і агрегацією[ред. • ред. Код]
- •Наслідування
- •Група uml-діаграм для опису поведінки програмної системи.
- •Група uml-діаграм для відображення взаємодії програмних компонентів проектованої системи.
- •Опис[ред. • ред. Код]
- •Метод Model Checking. Загальна характеристика методу.
- •Инструменты[править | править вики-текст]
- •Метод Model Checking. Темпоральні логіки.
- •Приклад[ред. • ред. Код]
- •Темпоральні логіки[ред. • ред. Код]
- •Структури Кріпке. Загальний алгоритм роботи.
- •Формальное определение[править | править вики-текст]
- •Model Checking. Алгоритм методу для ltl та ctl.
- •Середовище Simulink. Формування та імітація функціонування динамічних систем.
Теорія процесів. Формальний опис процесів. Специфікація процесу.
Теорія процесів. Поняття процесу, основні операції на процесах. Моделювання процесів.
Теорія процесів – один з розділів математичної теорії програмування, який вивчає математичні моделі поведінки динамічних систем, що називаються процесами [4].
Процес (лат. processus – перебіг, хід, рух) – послідовна зміна станів об‘єкту спостереження, стадій розвитку явища, що розглядається, а також певна сукупність послідовних дій, що спрямовані на досягнення визначеної мети [2]. Простіше, процес є моделлю поведінки, що полягає у виконанні дій (прийом чи передача якихось об‘єктів, перетворення цих об‘єктів і т.і.).
Основні переваги теорії процесів як математичного апарату для моделювання і аналізу динамічних систем:
1) апарат теорії процесів вдалий для формального опису та аналізу поведінки розподілених динамічних систем, тобто таких систем, які складаються з кількох взаємодіючих компонентів, котрі працюють паралельно і взаємодія яких відбувається шляхом пересилки сигналів чи повідомлень від одних компонентів до інших. Найважливішим прикладом розподілених динамічних систем [4] є програмно-апаратні обчислювальні комплекси, в яких:
один клас компонентів визначається сукупністю комп‘ютерних програм, які функціонують в цьому комплексі,
другий клас компонентів пов‘язаний з апаратною платформою, на базі якої функціонує цей комплекс,
третій клас компонентів є сукупністю інформаційних ресурсів (бази даних, бази знань, електронні бібліотеки та ін.), які використовуються для забезпечення функціонування цього комплексу,
четвертий клас компонентів можемо пов‘язати з людським фактором.
2) Методи теорії процесів дозволяють аналізувати з прийнятною складністю моделі з дуже великою і навіть безкінечною множиною станів [4]. Це можливо завдяки розробленій в теорії процесів техніці символьних перетворень виразів, що описують процеси. Найбільш яскравим прикладом моделей з безкінечною множиною станів є моделі комп‘ютерних програм зі змінними, множини значень яких мають дуже великий розмір. В таких моделях програм для зручності проведення міркувань великі множини значень деяких змінних заміняються на відповідні безкінечні множини. Наприклад, множина значень змінних типу double, що є кінцевою, але дуже великою, сукупністю дійсних чисел, може бути замінена на безкінечну множину всіх дійсних чисел.
В деяких випадках представлення аналізованої програми у вигляді моделі з безкінечною множиною станів суттєво спрощує проведення міркувань про цю програму. Аналіз моделі цієї програми з кінцевою, але дуже великою множиною станів класичними методами теорії автоматів (які основані на явному представленні множини станів і аналізі цієї моделі шляхом явного оперування її станами) може мати дуже високу обчислювальну складність. Тому узагальнене представлення цієї моделі відповідною безкінечною моделлю та аналіз цієї моделі методами, основаними на символьних перетвореннях виразів, що описують цю модель, може дати суттєвий виграш з точки зору обчислювальної складності.
3) Методи теорії процесів добре підходять для вивчення ієрархічних систем, тобто таких систем, які мають багаторівневу структуру. Кожна компонента таких систем розглядається як підсистема, яка в свою чергу може складатися з кількох підкомпонент. Кожна з цих підкомпонент може взаємодіяти з іншими під компонентами та підсистемами більш високого рівня. Основними джерелами задач та об‘єктами застосування результатів теорії процесів є розподілені комп‘ютерні системи.
Також [4] теорія процесів може застосовуватися для моделювання і аналізу поведінки систем самої різної природи, яскравими прикладами яких є організаційні системи: системи керування діяльністю підприємств, державні структури, системи організації комерційних процесів та ін. Процеси, що належать до функціонування таких систем, називають бізнес-процесами.
Специфікація процесу є описом властивостей цього процесу у вигляді деякого математичного об‘єкту. Прикладом специфікації є вимога надійності передачі даних через ненадійне середовище. У цьому випадку не вказується, як саме має забезпечуватися вимога надійності. В якості специфікації можуть виступати наступні об‘єкти:
Логічна формула, що виражає певну вимогу (прикладом такої вимоги може бути умова того, що якщо процес отримав деякий запит, то через деякий заданий час він видасть відповідь на даний запит);
Подання аналізованого процесу на більш високому рівні абстракції (використовується при багаторівневому проектуванні процесів, в якому реалізацію процесу на кожному рівні проектування можна розглядати як специфікацію для реалізації цього процесу на наступному рівні проектування);
Деякий еталонний процес, відносно якого передбачається, що поточний процес має задану властивість (будується опис еквівалентності еталонного та аналізуємого процесів).
