- •Інженерні основи програмного забезпечення
- •Поняття програмна інженерія. Що вивчає дисципліна «Програмна інженерія»?
- •Поняття системотехніка, бізнес-реінжиніринг.
- •Історія виникнення програмної інженерії.
- •Еволюційна модель розробки програмного забезпечення. Переваги та недоліки.
- •Формальна модель розробки програмного забезпечення. Переваги та недоліки.
- •Модель розробки програмного забезпечення на основі раніше створених компонентів. Переваги та недоліки.
- •Ітераційні моделі розробки програмного забезпечення. Переваги та недоліки.
- •Модель покрокової розробки програмного забезпечення. Переваги та недоліки.
- •Инструменты тестирования:
- •Мови моделювання програмного забезпечення.
- •Методи структурного аналізу.
- •Інформаційне моделювання Мартіна.
- •Структура та архітектура програмного забезпечення
- •Архітектура програмного забезпечення. Проектування архітектури.
- •Архітектурна модель клієнт-сервер.
- •Архітектурна модель абстрактної машини.
- •Архітектурні моделі управління (виклик-повернення та централізоване).
- •Проблемно-залежні архітектури програмного забезпечення.
- •Архітектура розподілених систем.
- •Багатопроцесорна архітектура програмного забезпечення.
- •Архітектура 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 іі.
- •Поняття ризику у проекті. Причини ризику в проекті.
- •Види ризиків. Моніторинг і контроль ризиків.
- •Поняття конфігурації. Елементи конфігурації.
- •Поняття супроводу програмного забезпечення. Хто здійснює супровід.
- •Поняття підтримки програмного забезпечення. Структура іт-супроводу.
- •Поняття програмна археологія. Інструменти і методи програмної археології.
Проектування інтерфейсу програмного забезпечення.
Процес проектування інтерфейсів користувача В багатьох проектах розроблення ІК та програмування продукту здійснюються паралельно, особливо на ранніх стадіях. На більш пізніх етапах враховуються вимоги ІК та зворотнього зв'язку, які виявляються в результаті тестування ПЗ на зручність застосування. Процес проектування ІК складається з 3 узагальнених етапів: - збирання та аналіз інформації від користувачів; - розроблення та реалізація ІК; - підтвердження якості ІК. Даний підхід може використовуватись як при розробці ООІК, так і при проектуванні традиційних проблемно-орієнтованих інтерфейсів або ГІК. Цей процес не залежить від матеріальної та програмної платформ, ОС, застосовуваного інструментарію.
Документування програмних продуктів.
Поняття документація на програмне забезпечення, програмний документ. Типи документації.
Документація на ПЗ – друковані положення користувача, діалогова документація та довідковий текст, що описують як користуватися ПП.
Програмний документ – документ, що містить, в залежності від призначення, дані необхідні для розробки виробництва, експлуатації та супроводу програми або програмного засобу.
Типи документації:
Архітектурна (проектна) – огляд ПЗ, що вимагає опис робочого середовища і принципи які повинні бути використані при створенні ПЗ.
Технічна – документація на код, алгоритми інтерфейси.
Користувацька – документація керівництва, адміністратора та іншого персоналу.
Маркетингова – ця документація містить інформацію про продукт.
Організації що публікують стандарти.
ІЕЕЕ інститут інженерії електротехніки та електроніки.
ISO міжнародна організація по стандартизаціям.
SEI інститут програмної інженерії
OMG консорціум, що займається просуванням об’єктними технологіями та стандартами.
Типовий набір документації проекту.
SVVP (Software Verification and Validation Plan)
План експертизи ПЗ – цей план визначає яким чином і в якій послідовності повинні перевірятися стадії проекту, а також сам продукт на відповідність вимог.
Верифікація – процес, що перевіряє програму на те, що вона вірно зроблена.
Валідація – процес, визначення відповідності розроблюваного ПЗ між очікуваннями і потребами користувача.
SQAP (Software Quality Assurance Plan)
План контролю якості ПЗ – визначає, яким чином проект повинен досягнути відповідності встановленому рівню якостей.
SCMP (Software Configuration Management Plan)
План управління конфігураціями ПЗ – визначає, як і де повинні зберігатись документи, програмний код і їх версії, а також встановлює їх взаємну відповідність.
SPMP (Software Project Management Plan)
План управління програмним проектом – визначає, яким чином керувати проектом.
SRS (Software Requirements Specification)
Специфікація вимог до ПЗ – визначає вимоги до додатку ПЗ.
SDD (Software Design Document)
Проектна документація ПЗ – представляє собою архітектуру і деталі проектування додатку. Використання діаграми об’єктних моделей і потоків даних.
STD (Software Test Documentation)
Документація по тестуванню ПЗ – описує яким чином повинна проводитись тестування додатку і його програми.
Основні стандарти розробки програмних систем і програмного забезпечення.
ISO/IEC 12207:2008 Стандарт визначає загальну структуру життєвого циклу ПЗ у вигляді трирівневої моделі, елементами якої є процеси, види діяльності і завдання. Процеси об’єднані в чотири групи : основні процеси, що підтримують ці процеси, організаційні та адаптація.
Процеси складаються з окремих видів діяльності:
Основні процеси (Придбання; Постачання; Розробка; Експлуатація; Супровід.);
Допоміжні процеси (Документування; Керування конфігурацією; Якість; Верифікація та валідація; Аудит і рішення проблем.);
Організаційні процеси (Керування проектом; Створення і супровід інфраструктури; Удосконалення Ж.Ц.; Навчання користувачів.).
ISO/IEC 15288:2008 Цей стандарт поцілений на розгляд програмно-апаратної системи вцілому.
Пропонує схожу схему визначення структури Ж.Ц. ПЗ у вигляді набору груп процесів, де кожний процес описується набором результатів і кожен результат досягається за допомогою набору різних видів діяльності.
За цим стандартом є такі процеси:
Договірні (Про придбання; Про постачання.);
Процеси підприємства (Керування підприємством; Керування Ж.Ц.; Керування ресурсами; Керування якістю.);
Проектні процеси (Планування; Оцінка; Контроль; Ризики; Конфігурації; Прийняття рішень.);
Технічні процеси (Визначення вимог; Аналіз вимог; Розробка архітектури; Впровадження; Верифікація; Валідація; Експлуатація; Супровід; Утилізація).
