- •Визначення й етапи реінжинірингу
- •Цілі й завдання реінжинірингу
- •Проблеми при реінжинірингу
- •Керування вимогами
- •Аналіз і проектування
- •Технологічний процес
- •Реалізація
- •Тестування
- •Процеси підтримки
- •Керування конфігурацією (Configuration management).
- •Кк дозволяє:
- •Переваги й недоліки компанії-розроблювача перед окремим розроблювачем
- •Чому компанії-розроблювачі не люблять реінжиніринг
- •Рентабельність реінжинірингу
Реалізація
Цілі процесу реалізації
Основні цілі процесу можна сформулювати в такий спосіб:
Визначити структуру коду у вигляді рівнів;
Реалізувати компоненти, класи й об'єкти;
Провести блокове тестування компонентів;
Інтегрувати розробки, що виконані окремими розроблювачами, у єдину виконуючу систему.
У процес реалізації не включене тестування всієї ПС, для якого в RUP передбачений окремий процес.
Особливості процесу реалізації
RUP припускає поелементну інтеграцію протягом усього життєвого циклу. Це означає, що коди пишуться невеликими блоками, після чого вони поєднуються в єдине ціле шляхом поступового додавання блоків. Це спрощує процес локалізації помилок. Передбачено два рівні інтеграції – інтеграція результатів роботи групи розроблювачів у підсистему й інтеграція підсистем у ПС. Інтеграція відбувається в кожній ітерації відповідно до плану ітерації, де визначені ВВ, які проектують і реалізуються в цій ітерації. Таким чином, план ітерації визначає класи, які будуть реалізовані в цій ітерації.
У фазі конструювання створюється еволюційний прототип системи, який згодом розбудовується в кінцеву ПС. Це прототип використовується для демонстрації фрагментів ПС замовникові й керівництву. За результатами представлення прототипу можна одержати зауваження, які дозволяють уточнити, змінити або доповнити вимоги до ПС. RUP декларує можливість створення, крім еволюційних, поведінкових одноразових прототипів для проведення певних досліджень, що стосуються функціональних можливостей системи.
В RUP декларується необхідність відповідності моделі й програмного коду. При цьому допускається можливість зміни коду з наступною переробкою моделі, яка забезпечувала б необхідну відповідність. Для цієї мети використовують інструментальні засоби, що включають можливості автоматичного реінжинірингу.
Ролі
Конструктор (кодувальник) розробляє компоненти й класи, виконує блокове тестування.
Системний інтегратор виконує інтеграцію елементів у програмні конструкції (систему й підсистеми).
Архітектор визначає структуру реалізації (організацію рівнів і підсистем).
Рецензент коду перевіряє якість програмного коду і його відповідність стандартам проекту.
Артефакти
Підсистема реалізації - це набір компонент і інших підсистем реалізації, які використовуються для утворення моделі реалізації. Це поняття дозволяє ієрархічно представити модель реалізації.
Компонент - частина програмного коду.
План інтеграції - документ, що визначає порядок реалізації компонентів і підсистем.
Процес
Створення моделі реалізації. Ця діяльність виконується у фазі розвитку. Метою її є побудову моделі реалізації, яка дозволить щонайкраще виконати розробку й кодування. При цьому кінцевий продукт буде створюватися за допомогою прототипів, що послідовно укрупнюються.
Планування ітерації. Для кожної ітерації треба визначити, які підсистеми повинні бути реалізовані в цій ітерації й порядок їх інтегрування. За яку підсистему відповідає конкретний конструктор, що визначає порядок реалізації класів.
Реалізація компонентів. Виконується написання вихідних кодів програм, їх компіляція, формування коду, що виконується, і блокове тестування. Блокове тестування виконує сам кодувальник. Це, по суті, автономне налагодження розроблених програм. При виявленні помилок в ісходний код вносяться зміни, після чого зазначені дії повторюються. Після завершення блокового тестування перевіряється якість ісходного коду і його відповідність прийнятим стандартам проекту.
Інтеграція підсистем. Якщо підсистема розробляється групою виконавців, виконується інтеграція компонентів, розроблених усіма членами групи. Інтеграція підсистеми завершується створенням набору програмних конструкцій підсистеми, кожна з яких тестується окремо.
Інтеграція системи. Виконується інтеграція системи шляхом послідовного додавання в неї нових підсистем, створених у рамках поточної ітерації. Інтеграція підсистеми завершується створенням набору програмних конструкцій підсистеми, кожна з яких тестується окремо. Для тестування системи в RUP передбачений окремий процес.
