- •Класифікація моделей систем. Роль інструментальної моделі у проектуванні програмного забезпечення.
- •Сучасні підходи до імітаційного моделювання, їх застосування у галузі «Програмна інженерія». Дискретно-подієве та агентне моделювання.
- •Компоненты системы дискретно-событийного моделирования
- •Список событий
- •Мета та задачі програмного проекту, вимоги до пз. Роль вимог у створенні надійного (відмовостійкого) програмного забезпечення.
- •Модель програмного забезпечення, етапи та особливості побудови моделі.
- •Модель зрілості процесів організації, модель 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. Формування та імітація функціонування динамічних систем.
Класифікація програмних проектів за управлінням.
Теорія систем. Дослідження рівноважних і нерівноважних систем. Важливість сучасного підходу, що використовується в теорії систем, для програмних проектів.
Теорія систем.
Загальна теорія систем (теорія систем) – наукова та методологічна концепція дослідження об‘єктів, що є системами. Вона тісно пов‘язана з системним підходом і є конкретизацією його принципів та методів. Перший варіант загальної теорії систем був висунутий Людвігом фон Берталанфі. Його основна ідея – у визнанні ізоморфізму законів, що керують функціонуванням системних об‘єктів [2].
Ізоморфізм – взаємно-однозначне відображення між двома множинами, яке зберігає початкову структуру [2].
Предметна область – множина всіх предметів, властивості яких та відношення між якими розглядаються в науковій теорії. У логіці мається на увазі область можливих значень предметних змінних логічної мови [1].
Предметом дослідження теорії систем є вивчення різноманітні видів, типів та класів систем, принципів та закономірностей їх поведінки, процесів функціонування і еволюції систем (рівновага, адаптація, перехідні процеси та ін.) [2].
Вирізняють три гілки науки, що вивчають системи:
системологію (теорію систем), яка вивчає теоретичні аспекти і використовує теоретичні методи (теорія інформації, теорія ймовірностей, теорія ігор та ін.);
системний аналіз (методологію, теорію і практику дослідження систем), який досліджує методологічні, а часто і практичні аспекти та використовує практичні методи (математична статистика, дослідження операцій, програмування та ін.);
системотехніку (практику та технологію проектування та дослідження систем).
Об‘єднує ці гілки системний підхід, який полягає у розгляді досліджуваної сукупності не як простої суми складових (лінійно взаємодіючих об‘єктів), а як сукупності нелінійних та багаторівневих взаємодіючих об‘єктів.
Маловідомим залишився факт, що на початку XX століття російський фізіолог Володимир Бєхтєрєв, незалежно від Олександра Богданова1, обґрунтував 23 універсальні закони2 та розповсюдив їх на сфери психічних та соціальних процесів. В подальшому учень академіка Павлова Петро Анохін побудував «теорію функціональних систем», що є близькою за рівнем узагальненості до теорії Берталанфі [2].
Сам Людвіг фон Берталанфі вважав [2], що наступні наукові дисципліни мають загальні цілі чи методи з теорією систем:
Кібернетика – наука про загальні закономірності процесів управління та передачі інформації в різних системах, будь то машини, живі організми чи суспільство.
Теорія інформації – розділ прикладної математики, що аксіоматично визначає поняття інформації, її властивості та встановлює граничні співвідношення для систем передачі даних.
Теорія ігор, яка аналізує в рамках особливого математичного апарату раціональну конкуренцію двох чи більше протидіючих сил з метою досягнення максимального виграшу та мінімального програшу.
Теорія прийняття рішень, яка аналізує раціональні вибори в середині людських організацій.
Топологія, яка вміщує не метричні області, такі, як теорія мереж та теорія графів.
Факторний аналіз, який описує процедури виділення факторів у багатозмінних явищах у соціології та інших наукових областях.
Загальна теорія систем у вузькому сенсі, що намагається вивести з загальних визначень поняття «система», ряд понять, характерних для організованих цілих, таких як взаємодія, сума, механізація, централізація, конкуренція, фінальність та ін., і застосовує їх до конкретних явищ.
Говорячи про нетривіальні підходи до вивчення складних систем відомий радянський та російський філософ Вадим Садовський сказав: «Кардинальний поворот в цьому відношенні відбувся тільки у останній четверті XX ст. Цей другий період розвитку сучасних системних досліджень ще не завершився. Його головна відмінна особливість полягає у переході від дослідження умов рівноваги систем до аналізу нерівноважних і незворотних станів складних і надскладних систем [2].
Відомий радянський фізіолог Петро Анохін, ученик академіка Павлова И.П., уточнюючи питання застосування теорії систем, у певній мірі критикував універсальність статусу теорії систем:
«Ознакомившись подробно со всеми публикациями Общества общей теории систем (Society of General Systems Theory), можно с уверенностью утверждать, что теоретическая неопределенность, отсутствие связи с конкретными научными дисциплинами и неконструктивность основных положений непосредственно для исследовательской работы являются следствием игнорирования основной проблемы системологии – раскрытия системообразующего фактора. Без определения этого фактора ни одна концепция по теории систем не может быть плодотворной. Трудно допустить без него существование какой-либо теории систем и прежде всего общей теории систем. .. Так, например, можно утверждать, что термин общая, примененный к теории систем Берталанфи, не имеет достаточного логического обоснования. Именно это чрезвычайно ограничивает ее конструктивное использование в научно-исследовательском процессе. ... отсутствие системообразующего фактора, не дает возможности установить изоморфность между явлениями различного класса, а следовательно, и не может сделать теорию общей. Именно этот недостаток бросается в глаза при изучении аргументов сторонников общей теории систем. И это же обстоятельство неизменно препятствует общей теории систем стать инструментом конкретного научного исследования» [2].
