- •Інженерні основи програмного забезпечення
- •Поняття програмна інженерія. Що вивчає дисципліна «Програмна інженерія»?
- •Поняття системотехніка, бізнес-реінжиніринг.
- •Історія виникнення програмної інженерії.
- •Еволюційна модель розробки програмного забезпечення. Переваги та недоліки.
- •Формальна модель розробки програмного забезпечення. Переваги та недоліки.
- •Модель розробки програмного забезпечення на основі раніше створених компонентів. Переваги та недоліки.
- •Ітераційні моделі розробки програмного забезпечення. Переваги та недоліки.
- •Модель покрокової розробки програмного забезпечення. Переваги та недоліки.
- •Инструменты тестирования:
- •Мови моделювання програмного забезпечення.
- •Методи структурного аналізу.
- •Інформаційне моделювання Мартіна.
- •Структура та архітектура програмного забезпечення
- •Архітектура програмного забезпечення. Проектування архітектури.
- •Архітектурна модель клієнт-сервер.
- •Архітектурна модель абстрактної машини.
- •Архітектурні моделі управління (виклик-повернення та централізоване).
- •Проблемно-залежні архітектури програмного забезпечення.
- •Архітектура розподілених систем.
- •Багатопроцесорна архітектура програмного забезпечення.
- •Архітектура corba.
- •Моделі об’єктно-орієнтованого проектування програмного забезпечення.
- •Проектування систем реального часу.
- •Проектування з повторним використанням компонентів.
- •Проектування інтерфейсу програмного забезпечення.
- •Документування програмних продуктів.
- •Поняття документація на програмне забезпечення, програмний документ. Типи документації.
- •Організації що публікують стандарти.
- •Типовий набір документації проекту.
- •Основні стандарти розробки програмних систем і програмного забезпечення.
- •Стандарти вимог, архітектури, якості і тестування програмного забезпечення.
- •Стандарти серії гост 34.Ххх та гост 19.Ххх.
- •Процеси за стандартом iso/іec 12207.
- •Процеси за стандартом iso/іec 15288.
- •Поняття вимоги. Етапи формування вимог. Рівні вимог.
- •Які розділи містить звіт про виконану роботу та заявку на розробку програмного забезпечення?
- •Склад і зміст робіт на стадії «Опис програмного забезпечення».
- •Поняття ескізний проект. Склад і зміст робіт на стадії «Ескізний проект».
- •Що описує Технічне завдання (тз). З яких етапів складається розробка тз та на основі якого стандарту?
- •З яких розділів складається технічне завдання?
- •Що описує Технічний проект (тп)? з яких етапів складається розробка технічного проекту?
- •Види забезпечень.
- •Статичні і динамічні методи тестування.
- •Тестування «білої скриньки»
- •Тестування «чорної скриньки».
- •Метод "сірої скриньки".
- •Види тестування.
- •Рівні тестування.
- •Помилки на етапах життєвого циклу програмного забезпечення.
- •Поняття помилки, дефекту та відмови.
- •Класи помилок в програмному забезпеченні.
- •Тест план (Test Plan). Тестовий сценарій (Test Cases). Процедури тестування (Test Procedures). Баг Репорт (Bug Report).
- •Моделі якості та надійності програмних систем
- •Якість програмного забезпечення. Модель якості за рівнями.
- •Показники якості.
- •Атрибути функціональності, надійності та зручності застосування.
- •Атрибути ефективності, супроводу та переносимості.
- •Метрики програмного продукту.
- •Метрики процесу створення продукту та використання.
- •Методи оцінки значень показників якості.
- •Методи управління програмним проектом
- •Поняття надійності програмного забезпечення.
- •Класифікації моделей надійності за Гоєлем.
- •Класифікації моделей надійності за Хетчем.
- •Інженерія надійності програмного забезпечення та її складові.
- •На яких процесах жц здійснюється перевірка надіності?
- •Поняття сертифікація програмного забезпечення. Види сертифікації продукту.
- •Евристична модель надійності.
- •Модель надійності Нельсона.
- •Модель надійності Джелінскі-Моранді.
- •Статистична модель надійності Міллса.
- •Поняття Проект (Project). Менеджмент проекту (Project Management). Масштаб проекту (Project Scope).
- •Головні цілі менеджменту проекту.
- •Процес менеджменту проекту.
- •Модель процесу керування проектом.
- •Учасники проекту з розробки програмного забезпечення.
- •Ролі в групі розробників проекту.
- •Мережні методи планування і керування проектом.
- •Метод критичного шляху – срм.
- •Метод аналізу й оцінки проекту – pert.
- •Види планів організації проекту.
- •Моніторинг проекту.
- •Модель оцінки вартості проекту cocomo.
- •Модель оцінки вартості проекту cocomo іі.
- •Поняття ризику у проекті. Причини ризику в проекті.
- •Види ризиків. Моніторинг і контроль ризиків.
- •Поняття конфігурації. Елементи конфігурації.
- •Поняття супроводу програмного забезпечення. Хто здійснює супровід.
- •Поняття підтримки програмного забезпечення. Структура іт-супроводу.
- •Поняття програмна археологія. Інструменти і методи програмної археології.
Інформаційне моделювання Мартіна.
Методологія Мартіна надає загальну стратегію розробки інформаційних систем, фокусуючу увагу на стратегічному плануванні та бізнес-процесах. У той же час вона є і інженерним підходом до розробки ПЗ, тому забезпечує спадну покрокову процедуру побудови інформаційної системи (дозволяючи при цьому працювати з неієрархічні структурами даних). Підхід Мартіна базується на двох концепціях:
Пошарового цілісного підходу до розробки інтегрованих програм, що базується на стратегічному плані розвитку інформаційних систем;
Первісної спрямованості на моделювання даних, а потім на функціональне моделювання
Етап стратегічного інформаційного планування починається з побудови стратегічного плану для бізнес-системи, що включає цілі та стратегії їх досягнення. Далі будується модель предметної області, яка відображає існуючу специфіку і визначальна основні бізнес-процеси та організаційну структуру бізнес-системи, а також визначається порядок розробки інформаційної системи. При моделюванні використовуються діаграми декомпозиції (ієрархічні деревовидні структурні діаграми) і діаграми "сутність-зв'язок" для представлення основних бізнес-процесів і структур даних, відповідно.
На етапі аналізу основні бізнес-процеси, розроблені на етапі 1), використовуються для розбиття загальної задачі на приватні, при цьому основна увага приділяється визначенню інформаційної та функціональної моделей для приватних завдань. При цьому діаграми "сутність-зв'язок" трансформуються в нормалізовану модель даних, а діаграми декомпозиції розподіляються по підзадач. Для представлення процесів служать DFD, діаграми залежності даних (діалект DFD) і діаграми декомпозиції, а для співвіднесення даних і процесів, в яких ці дані використовуються, застосовуються матриці "сутність / процес".
На етапі логічного проектування IE стає аналогічна SE для розробки ПЗ. Базою для проектування є процеси, розроблені на етапі аналізу. Використовуючи методики низхідній функціональної декомпозиції, проектуються специфікації обробки в процесах і їх логічні структури даних. При цьому використовуються діаграми структури даних (діалект ERD), що визначають типи сутностей, їх атрибути та зв'язку, діаграми декомпозиції і діаграми діяльності (вид мініспеціфікаціі), що деталізують логіку процесів. Для узгодження вимог користувача створюються прототипи користувальницьких інтерфейсів за допомогою схем екранів / звітів.
На етапі фізичного проектування та реалізації виробляється перетворення логічної моделі ІС в фізичну і її реалізація.
Для повного уявлення про програмний продукт необхідна також текстова інформація описового характеру.
Ще більшу значимість інформаційні моделі та структури даних мають для інформаційного моделювання предметної області, в основі якого положення про визначальну роль даних при проектуванні алгоритмів і програм. Підхід з'явився в умовах розвитку програмних засобів організації зберігання і обробки даних - СУБД.
Основоположників інформаційної інженерії - Дж. Мартін - виділяє наступні складові даного підходу:
Інформаційний аналіз предметних областей (бізнес - областей);
Інформаційне моделювання - побудова комплексу взаємопов'язаних моделей даних;
Системне проектування функцій обробки даних;
Детальне конструювання процедур обробки даних.
