- •Класифікація моделей систем. Роль інструментальної моделі у проектуванні програмного забезпечення.
- •Сучасні підходи до імітаційного моделювання, їх застосування у галузі «Програмна інженерія». Дискретно-подієве та агентне моделювання.
- •Компоненты системы дискретно-событийного моделирования
- •Список событий
- •Мета та задачі програмного проекту, вимоги до пз. Роль вимог у створенні надійного (відмовостійкого) програмного забезпечення.
- •Модель програмного забезпечення, етапи та особливості побудови моделі.
- •Модель зрілості процесів організації, модель 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. Формування та імітація функціонування динамічних систем.
Моделі розробки програмного забезпечення. Методологія rup – загальна модель. Конус операційних маршрутів програмного проекту.
3. RUP – Rational Unified Process розроблений у корпорації IBM, одною з дочірніх компаній, якою є Rational Software. Методологія RUP описує абстрактний загальний процес [4], на основі якого організація чи проектна команда має створити спеціалізований процес, орієнтований на її потреби.
RUP пропонує набір достатньо гнучких методів і підходів, з яких можна обрати ті, що більш за все підходять до к конкретного проекту [1].
Основні характеристики RUP:
Розробка вимог. Основою для розробки вимог у цьому процесі є так звані прецеденти використання (тобто сценарії взаємодії користувача з програмою). Повний набір прецедентів використання системи разом з логічними відношеннями між ними (прецеденти можуть включати та розширювати інші прецеденти) називається моделлю прецедентів використання, і має описати по можливості всі випадки роботи з додатком, які можуть виникнути в реальних умовах.
Ітеративність. Як вже зауважувалося вище, в основу RUP покладена ітеративна модель. Авторами рекомендується перед початком кожної ітерації виокремити ті прецеденти, які мають бути реалізовані у даний момент, але не надто збільшувати їх кількість, щоб ітерація не затягнулася.
Цикл проекту. Для зручності ітерації розділяють на так звані фази. RUP передбачає проходження чотирьох фаз: початок (необхідно визначити уявлення і границі проекту, створити економічне обґрунтування, ідентифікувати переважну частину прецедентів використання та детально описати кілька ключових прецедентів, знайти хоча б одне можливе архітектурне рішення, оцінити бюджет, графік та ризики проекту), проектування (фаза, на якій проходить детальний опис більшої частини прецедентів використання, зниження основних ризиків та уточнення бюджету й графіку проекту), побудова (розробка остаточного продукту, написання основної частини коду) і впровадження.
Рання ідентифікація та неперервне 1) усунення основних ризиків проекту, 2) забезпечення якості розробки.
Очікування змін вимог, проектних рішень і реалізація в процесі розробки.
Компонентна архітектура, яка реалізується і тестується на ранніх стадіях проекту.
Роботу над проектом у дружній команді, ключова роль в якій належить архітекторам.
Наприкінці кожної ітерації (в ідеалі тривалістю від 2 до 6 тижнів) проектна команда має досягнути запланованих на дану ітерацію цілей, створити й доопрацювати проектні артефакти й отримати проміжну, але функціональну версію кінцевого продукту. Ітеративна розробка дозволяє швидко реагувати на зміну вимог, виявляти та усувати ризики на ранніх стадіях проекту, а також ефективно контролювати якість створюваного продукту.
RUP має дозволяти встановлю-вати ступінь формалізації та ітеративності процесу розроби в залежності від особливостей проекту, який реалізується. Дана методологія позиціонується як універсальна, що підходить для більшості типів проектів – як каскадних, так і гнучких.
Але, як і все універсальне, RUP не забезпечує високої продук-тивності та зручності впровад-ження.
В той же час RUP враховує досвід великого числа розроб-ників і вміщує найбільш повний набір концепцій, які так чи інакше присутні в інших методиках
Вважається, що RUP – надто складний і формальний процес. Можливо і так, але в його загальній моделі описані етапи розробки проектів і в залежності від потреб конкретного розробника можливо виділити з нього необхідні (і необов‘язкові) для даного проекту взаємопов‘язані елементи
Конус операційних маршрутів:
Розглянемо глобально процес планування та управління складним проектом.
Контроль діяльності проекту в цілому – часто незмірно складна задача, яка потребує засобів автокорегування і спеціальних заходів
Послідовний розвиток проектів
Ітеративне нарощування можливостей системи
