
- •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Заповіді тестування
1.3Функції SwSe
Перерахуємо п'ять основних функцій системної інженерії, що корелюють з SwSE; даний короткий опис функцій SwSE.
Аналіз вимог
Перший крок в будь-якій активності, пов'язаній з розробкою програмного забезпечення, — визначення і документування вимог системного рівня у вигляді специфікації системних вимог або у вигляді специфікації програмних вимог. Програмні вимоги включають властивості, які необхідні користувачу для вирішення тих або інших задач, а також властивості, які потрібні системі або компоненту для виконання тих або інших формально представлених документів [7].
Програмні вимоги можна класифікувати таким чином [8].
Функціональні вимоги указують функції, які система або системний компонент повинна виконувати.
Вимоги до продуктивності указують характеристики продуктивності, яким повинна задовольняти система або її компонент, такі як швидкість, точність або частота.
Вимоги до зовнішніх інтерфейсів указують елементи апаратного, програмного забезпечення або баз даних, з якими система або компонент повинна взаємодіяти, або встановлює обмеження на формати, час або інші чинники, породжувані такими інтерфейсами.
Обмеження дизайну, які впливають або накладають обмеження на архітектуру програмної системи або компоненту (наприклад, вимоги до мови, фізичні характеристики апаратного забезпечення, стандарти розробки програмного забезпечення і стандарти гарантії якості).
Параметри якості указують ступінь наближення програмного забезпечення до параметрів, які впливають на якість (наприклад, коректність, надійність, супроводжуванність і переносимість).
Аналіз програмних вимог починається після того, як системна інженерія визначила системні вимоги замовника. В його функції входять вказівка всіх (або максимального числа) вимог до програмної системи, і завершення аналізу означає формування затверджених базових вимог.
Дизайн програмного забезпечення
Дизайн програмного забезпечення — це процес вибору і документування найефективніших елементів, які в сукупності будуть реалізувати вимоги до програмної системи. Дизайн визначає специфічний, логічний підхід до задоволення програмних вимог.
Дизайн програмного забезпечення традиційно розділяється на дві частини.
Дизайн архітектури - еквівалент системного проектування, під час якого розробник вибирає структуру системного рівня і визначає програмні вимоги до компонентів структури. Дизайн архітектури, який іноді називають дизайном верхнього рівня або попереднім дизайном, звичайно указує і структурує компоненти програми, визначає інтерфейси і готує тимчасові і об'ємні оцінки. Він включає таку інформацію, як загальна архітектура обробки, призначення функцій (але не їх детальний опис), потоки даних, системні утиліти, інтерфейси операційної системи і параметри системи зберігання.
Детальний дизайн - еквівалент інженерії компонентів. В даному випадку компоненти є незалежними програмними модулями і штучними об'єктами.
Планування процесів
Планування специфікує мету і призначення проекту, а також стратегії, політику, плани і процедури, що дозволяють їх добитися. Воно наперед визначає, що робити, як робити, коли робити і хто це робитиме.
Існує помилкове припущення, що проектний менеджмент виконує всі дії по плануванню проекту. На самій же справі, планування проекту складається з двох становлячих — одна відноситься до проектного менеджменту, а інша — до SwSE, причому основна частина виконується саме в рамках SwSE. (Це зовсім не означає, що менеджери проекту не можуть виконувати обидві функції.)