- •Класифікація моделей систем. Роль інструментальної моделі у проектуванні програмного забезпечення.
- •Сучасні підходи до імітаційного моделювання, їх застосування у галузі «Програмна інженерія». Дискретно-подієве та агентне моделювання.
- •Компоненты системы дискретно-событийного моделирования
- •Список событий
- •Мета та задачі програмного проекту, вимоги до пз. Роль вимог у створенні надійного (відмовостійкого) програмного забезпечення.
- •Модель програмного забезпечення, етапи та особливості побудови моделі.
- •Модель зрілості процесів організації, модель 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. Формування та імітація функціонування динамічних систем.
Мета та задачі програмного проекту, вимоги до пз. Роль вимог у створенні надійного (відмовостійкого) програмного забезпечення.
Мета створення інформаційних систем – у гранично короткі терміни створити систему обробки даних, яка має задані споживчі якості. До них належать: функціональна повнота, своєчасність, функціональна надійність, адаптивна надійність, економічна ефективність.
Функціональна повнота – це властивість інформаційної системи, яка характеризує рівень автоматизації управлінських робіт.
Своєчасність – це властивість інформаційної системи, яка характеризує можливість отримання апаратом керівництва необхідної інформації.
Функціональна надійність – це властивість інформаційної системи виконувати свої функції з обробки даних. * Це сукупність надійностей програмного, інформаційного та технічного забезпечення.
Адаптивна надійність – це властивість інформаційної системи виконувати свої функції, якщо вони змінюються в межах умов, зумовлених розвитком системи керування об’єкта впродовж заданого проміжку часу.
Економічна ефективність інформаційної системи виявляється в покращенні економічних результатів функціонування об’єкта в результаті впровадження інформаційної системи.
Вимоги до програмного забезпечення — набір вимог щодо властивостей, якості та функцій програмного забезпечення, що буде розроблено, або знаходиться у розробці. Вимоги визначаються в процесі аналізу вимог та фіксуються в специфікації вимог,діаграмах прецедентів та інших артефактах процесу аналізу та розробки вимог.
Розробка вимог до програмної системи може бути розділена на декілька етапів:
Знаходження вимог (збір, визначення потреб заінтересованих осіб та систем).
Аналіз вимог (перевірка цілісності та закінченості).
Специфікація (документування вимог).
Тестування вимог.
Модель програмного забезпечення, етапи та особливості побудови моделі.
Процес моделювання має три елементи: суб’єкт(дослідник), об’єкт дослідження, модель що визначає відношення суб’єкту який пізнає і пізнавального об’єкту.
Перший етап побудови моделі передбачає наявність деяких знань про об‘єкт-оригінал.
Пізнавальні можливості обумовлюються тим, що модель відображає (відтворює, імітує) якісь істотні риси об‘єкта-оригіналу.
Питання про необхідну та достатню міру схожості оригіналу і моделі потребує конкретного аналізу.
Очевидно, модель втрачає сенс як у випадку тотожності з оригіналом (тоді вона перестає бути моделлю), так і у випадку надто великої у всіх суттєвих відношеннях відмінності від оригіналу.
Таким чином, вивчення одних рис модельованого об‘єкту відбува-ється за рахунок відмови від дослідження інших сторін. Тому будь-яка модель заміщує оригінал лише у строго обмеженому сенсі.
___________________________________________________________
З цього виходить, що для одного об‘єкту може бути побудовано кілька «спеціалізованих» моделей, що концентрують увагу на визначених сторонах досліджуваного об‘єкту чи ж характеризують об‘єкт з різним ступенем деталізації.
На другому етапі модель виступає як самостійний об‘єкт дослідження. Однією з форм такого дослідження є проведення «модельних» експериментів, в яких свідомо змінюються умови функціонування моделі та систематизуються дані про її «поведінку». Кінцевим результатом цього етапу є множина (сукупність) знань про моделі.
На третьому етапі відбувається перенос знань з моделі на оригінал – формування множини знань. Одночасно відбувається перехід з «мови» моделі на «мову» оригіналу. Процес переносу знань проводиться за визначеними правилами. Знання про моделі мають бути скореговані з врахуванням тих властивостей об‘єкта-оригіналу, які не знайшли відображення чи були змінені при побудові моделі.
Четвертий етап – практична перевірка отримуваних за допомо-гою моделі знань та їх використання для побудови узагальню-ючої теорії об‘єкту, його перетворення чи управління ним.
