- •Інженерні основи програмного забезпечення
- •Поняття програмна інженерія. Що вивчає дисципліна «Програмна інженерія»?
- •Поняття системотехніка, бізнес-реінжиніринг.
- •Історія виникнення програмної інженерії.
- •Еволюційна модель розробки програмного забезпечення. Переваги та недоліки.
- •Формальна модель розробки програмного забезпечення. Переваги та недоліки.
- •Модель розробки програмного забезпечення на основі раніше створених компонентів. Переваги та недоліки.
- •Ітераційні моделі розробки програмного забезпечення. Переваги та недоліки.
- •Модель покрокової розробки програмного забезпечення. Переваги та недоліки.
- •Инструменты тестирования:
- •Мови моделювання програмного забезпечення.
- •Методи структурного аналізу.
- •Інформаційне моделювання Мартіна.
- •Структура та архітектура програмного забезпечення
- •Архітектура програмного забезпечення. Проектування архітектури.
- •Архітектурна модель клієнт-сервер.
- •Архітектурна модель абстрактної машини.
- •Архітектурні моделі управління (виклик-повернення та централізоване).
- •Проблемно-залежні архітектури програмного забезпечення.
- •Архітектура розподілених систем.
- •Багатопроцесорна архітектура програмного забезпечення.
- •Архітектура 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 іі.
- •Поняття ризику у проекті. Причини ризику в проекті.
- •Види ризиків. Моніторинг і контроль ризиків.
- •Поняття конфігурації. Елементи конфігурації.
- •Поняття супроводу програмного забезпечення. Хто здійснює супровід.
- •Поняття підтримки програмного забезпечення. Структура іт-супроводу.
- •Поняття програмна археологія. Інструменти і методи програмної археології.
Методи управління програмним проектом
Поняття надійності програмного забезпечення.
З усіх напрямів програмної інженерії надійність ПС є найбільш дослідженим. Для забезпечення надійності, що задовольняє замовника, створили математичні моделі надійності, що враховують різні аспекти роботи ПЗ (виникнення помилок, збоїв, відмов та ін.) і дозволяють оцінити реальну надійність.
Надійність – це здатність ПЗ зберігати свої властивості (безвідмовність, стійкість та ін.), перетворювати вихідні дані на результати протягом певного проміжку часу за певних умов експлуатації. Зниження надійності ПЗ відбувається через помилки у вимогах, проектуванні й виконанні.
Оцінка надійності ПЗ залежить від числа помилок, що залишилися не усунутими у програмах. У процесі експлуатації ПЗ помилки виявляють й усувають. Якщо при виправленні помилок не вносяться нові або, принаймні, нових помилок вноситься менше, ніж усувається, то в процесі експлуатації надійність ПЗ безперервно зростає. Чим інтенсивніше здійснюється експлуатація, тим інтенсивніше виявляються помилки й швидше зростає надійність системи й відповідно її якість.
ПЗ без помилок є абсолютно надійним. Для оцінки надійності ПЗ використовуються такі статистичні показники, як ймовірність і час безвідмовної роботи, можливість відмови й частота (інтенсивність) відмов
Класифікації моделей надійності за Гоєлем.
Вид класифікації моделей запропонував Гоєл, відповідно до якої моделі надійності базуються на відмовах і розділяються на чотири класи:
без підрахунку помилок;
з підрахунком відмов;
з підсівом помилок;
моделі з вибором областей вхідних значень.
Моделі без підрахунку помилок базуються на вимірюванні інтервалу часу між відмовами й дозволяють спрогнозувати кількість помилок, що залишилися в програмі. Після кожної відмови оцінюється надійність і визначається середній час до наступної відмови. До таких моделей належать моделі Джелінски й Моранді, Шику Вулвертона й Литвуда–Вералла.
Моделі з підрахунком відмов базуються на кількості помилок, виявлених на заданих інтервалах часу. Виникнення відмов залежно від часу є стохастичним процесом з безперервною інтенсивністю, а кількість відмов є випадковою величиною. Виявлені помилки, як правило, усуваються й тому кількість помилок в одиницю часу зменшується. До цього класу моделей належать моделі Шумана, Шика–Вулвертона, пуассонівська модель та ін.
Моделі з підсівом помилок базуються на кількості усунутих помилок і підсіві внесених у програму штучних помилок, тип і кількість яких заздалегідь є відомими. Потім визначається співвідношення кількості прогнозованих помилок, що залишилися, до кількості штучних помилок, що порівнюється зі співвідношенням кількості виявлених дійсних помилок до кількості виявлених штучних помилок. Результат порівняння використовується для оцінки надійності і якості програми. При внесенні змін у програму здійснюється повторне тестування й оцінка надійності. Цей підхід до організації тестування громіздкій і рідко використовується через додатковий обсяг робіт, пов'язаних з підбором, виконанням й усуненням штучних помилок.
Моделі з вибором області вхідних значень ґрунтуються на генерації множини тестових вибірок із вхідного розподілу, і оцінка надійності здійснюється, виходячи з отриманих відмов на основі тестових вибірок із вхідної області. До цього типу моделей належить модель Нельсона та ін.
