
- •2 Принципи тестування по 5
- •1.1Системи і системна інженерія
- •1.2Що таке системна інженерія пз?
- •SwSe і програмна інженерія
- •SwSe і управління проектом
- •1.3Функції SwSe
- •Аналіз вимог
- •Дизайн програмного забезпечення
- •Планування процесів
- •Контроль процесів
- •Верифікація, підтвердження і тестування
- •2Принципи тестування по
- •2.1Неефективність існуючих технологій тестування
- •2.2Новий підхід до процесу тестування
- •2.3Верифікація
- •2.4Перевірка на коректність
- •2.5Тестування, засноване на специфікаціях
- •2.6Результати нового підходу
- •2.7Застосовність V-модели
- •2.8Заповіді тестування
Лекція 8
Системна інженерія програмного забезпечення
1.1 Системи і системна інженерія 1
1.2 Що таке системна інженерія ПЗ? 2
SwSE і програмна інженерія 2
SwSE і управління проектом 3
1.3 Функції SwSE 3
Аналіз вимог 3
Дизайн програмного забезпечення 4
Планування процесів 4
Контроль процесів 4
Верифікація, підтвердження і тестування 5
2 Принципи тестування по 5
2.1 Неефективність існуючих технологій тестування 6
2.2 Новий підхід до процесу тестування 6
2.3 Верифікація 7
2.4 Перевірка на коректність 7
2.5 Тестування, засноване на специфікаціях 7
2.6 Результати нового підходу 7
2.7 Застосовність V-модели 7
2.8 Заповіді тестування 7
Реалізація переважної більшості крупних програмних систем не укладається в заплановані терміни, виходить за рамки кошторису, і при цьому не цілком виправдовує очікування замовника. Цей феномен добре відомий як «криза програмного забезпечення». Щоб дозволити цю кризу, розробники програмного забезпечення використовують при створенні продуктів різні інженерні методики.
Простий контроль управлінського і технічного стану проекту — використовування ресурсів, виконання етапів, відповідність вимогам, проходження тестів — не дає адекватного уявлення про його «здоров'я». Насправді, необхідно управляти процесами і продуктами, створюваними в їх рамках. Системна інженерія надає інструментарій, що вимагається для вирішення задачі технічного управління.
Застосування принципів системної інженерії до розробки програмної системи виявляє операції, задачі і процедури, звані системною інженерією програмного забезпечення: (software system engineering — SwSE).
1.1Системи і системна інженерія
Системна інженерія — це практичне застосування наукових, інженерних і управлінських навиків, необхідних для перетворення операційних вимог в опис конфігурації системи, яка найкращим чином задовольняє цим вимогам. Це загальний процес рішення проблем, який застосовується до всього технічного управління в проекті, присвяченому розробці системи, надаючи механізм формулювання і вдосконалення визначень виробів і процесів системи.
Системна інженерія породжує документи, а не устаткування. Документи зв'язують процеси розробки з циклом життя проекту. Вони визначають передбачувані оточення процесів, інтерфейси і інструменти управління ризиками в рамках всього проекту.
Системна інженерія включає п'ять функцій.
Визначення проблеми - вказівка потреб і обмежень шляхом аналізу вимог і взаємодії із замовником.
Аналіз рішень - виділення набору можливих способів задоволення потреб і обмежень, їх аналіз і вибір оптимального.
Планування процесів - визначення задач, які повинні бути виконаний, об'єму ресурсів і витрат, необхідних для створення виробу, черговості задач і потенційних ризиків.
Контроль процесів - визначення методів моніторингу проекту і процесів, вимірювання прогресу, оцінка проміжних виробів і ухвалення у міру необхідності коректуючих дій.
Оцінка виробів - визначення якості і кількості створюваних виробів шляхом оцінного планування, тестування, демонстрації, аналізу, верифікації і контролю.
Системна інженерія формує основу всього ходу проекту розробки, а також механізм визначення простору рішень в термінах систем і інтерфейсів із зовнішніми системами. Простір рішень описує виріб на найвищому рівні, перш ніж вимоги до нього будуть розділені на апаратну і програмну складову.
Цей підхід аналогічний властивій програмній інженерії практиці — накладати обмеження якомога пізніше в процесі розробки. Чим пізніше на проект будуть накладені обмеження, тим більше гнучким буде реалізоване рішення.