- •Класифікація моделей систем. Роль інструментальної моделі у проектуванні програмного забезпечення.
- •Сучасні підходи до імітаційного моделювання, їх застосування у галузі «Програмна інженерія». Дискретно-подієве та агентне моделювання.
- •Компоненты системы дискретно-событийного моделирования
- •Список событий
- •Мета та задачі програмного проекту, вимоги до пз. Роль вимог у створенні надійного (відмовостійкого) програмного забезпечення.
- •Модель програмного забезпечення, етапи та особливості побудови моделі.
- •Модель зрілості процесів організації, модель 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. Формування та імітація функціонування динамічних систем.
Абстрактна та структурна теорії автоматів, їх особливості та приклади застосування.
Автомат — система механізмів, пристроїв, в якій повністю автоматизовані процеси отримання, перетворення, передачі енергії, матеріалів, інформації [1]. Термін "автомат" використовується в двох аспектах:
технічному,
математичному.
При математичному підході під автоматом розуміється математична модель технічного пристрою, у якого мають бути входи, внутрішні стани і виходи. Щодо деталей структури пристрою відомостей не має бути.
При технічному підході під автоматом розуміють цілком реальний пристрій, наприклад, телефонний автомат, торговий автомат і т.і. В даному випадку, відомими є деталі внутрішньої будови пристрою.
В наш час існують дві теорії автоматів:
Перша теорія – це абстрактна теорія (займається вивченням абстрактних автоматів, не розкриваючи структури),
Друга теорія – структурна теорія, (розглядає структурні автомати, займається синтезом і аналізом схем.
Практично теорія автоматів застосовується при розробці лексерів та парсерів для формальних мов (в тому числі мов програмування), а також при побудові компіляторів та розробці самих мов програмування.
Друге важливе застосування теорії автоматів — математично строге знаходження розв’язуваності та складності задач.
Вважають, що цифровий автомат є наслідком алгоритму.
При тому звичайно посилаються на зв'язок: модель алгоритм - автомат. Властивості того чи іншого об'єкта, насамперед, потрібні для ідентифікації об'єкта.
Відомі властивості алгоритму в певній степені відносяться і до автоматів, а саме:
наявність початкового і кінцевого станів;
дискретність;
масовість (оброблювані дані мають належати певному діапазону);
визначеність (чіткий перехід від стану до стану при заданій послідовності вхідних сигналів);
зрозумілість (виконавцю);
результативність (кінцевість);
коректність (отримання правильного результату).
Всі ці властивості в повному обсязі можна застосувати і до реального пристрою (автомату).
Стосовно абстрактного автомата далеко не завжди встановлюють початковий і кінцевий стан. Більш того, ніякого результату роботи автомату для невідомих початкових даних не передбачено.
Можливо, для абстрактного автомата
в якості початкових даних можна розглядати вхідні сигнали,
в якості результату - послідовність станів та вихідних сигналів.
До характеристик автомата належать:
швидкодію (у абстрактному автоматі переходи відбуваються миттєво);
обсяг пам'яті (потужність множини станів);
потужності множин вхідних та вихідних сигналів;
закон функціонування;
складність;
тип.
Типові задачі:
Побудова і мінімізація автоматів – побудова абстрактного автомату з заданого класу, що розв'язує задану задачу, можливо, з наступною мінімізацією по числу станів чи числу переходів.
Синтез автоматів – побудова системи з заданих «елементарних автоматів», що еквівалентна заданому автомату. Такий автомат називається структурним і застосовується, наприклад, при синтезі цифрових електричних схем на заданій елементній базі.
