Технологія створення програмного забезпечення. Rational Unified Process (RUP)



Технологія створення ПО (ТС ПО) - це упорядкована сукупність взаємопов'язаних технологічних процесів в рамках ЖЦ ПО.

Технологічний процес - це сукупність взаємопов'язаних технологічних операцій.

Технологічна операція - це основна одиниця роботи, яка виконується певною роллю, яка:

· має на увазі чітко визначену відповідальність ролі;

· дає чітко визначений результат (набір робітників продуктів), що базується на певних вихідних даних (іншому наборі робочих продуктів);

· являє собою одиницю роботи з жорстко визначеними межами, які встановлюються при плануванні проекту.

Робочий продукт - інформаційна або матеріальна сутність, яка створюється, модифікується або використовується в деякій технологічної операції (модель, документ, код, тест і т.п.).

Роль - визначення поведінки і обов'язків окремої особи або групи осіб у середовищі організації-розробника ПЗ, що здійснюють діяльність в рамках деякого технологічного процесу і відповідальних за певні робочі продукти.

Керівництво - практичний посібник з виконання однієї або сукупності технологічних операцій. Керівництва включають методичні матеріали, інструкції, нормативи, стандарти і критерії оцінки якості робочих продуктів.

Інструментальне засіб (CASE-засіб) - програмний засіб, що забезпечує автоматизовану підтримку діяльності, що виконується в рамках технологічних операцій.

Основною вимогою, що пред'являються до сучасних ТЗ ПО, є їх відповідність стандартам життєвого циклу (ЖЦ) ПО і оцінкою технологічної зрілості організацій-розробників (ISO 12207, ISO 9000, CMM і ін.). Згідно з цими нормативами, ТС ПО повинна підтримувати такі процеси ЖЦ:

· управління вимогами;

· аналіз і проектування ПО;

· розробка ПО;

· експлуатація;

· супровід;

· документування;

· управління конфігурацією і змінами;

· тестування;

· управління проектом.

Повнота підтримки процесів ЖЦ ПО повинна підтримуватися комплексом інструментальних засобів (CASE-засобів).

Як приклад ТЗ ПО розглянемо Rational Unified Process (RUP). RUP в значній мірі відповідає зазначеним вище вимогам. Її основними принципами є:

1. Ітераційний і інкрементний (нарощуваний) підхід до створення ПЗ.

2. Планування і управління проектом на основі варіантів використання.

3. Побудова системи на базі архітектури ПЗ.

На малюнку показано загальне уявлення RUP в двох вимірах:

· горизонтальний вимір представляє час, відбиває динамічні аспекти процесів і оперує такими поняттями, як стадії, ітерації і контрольні точки;

· вертикальний вимір відображає статичні аспекти процесів і оперує такими поняттями, як види діяльності, робочі продукти, виконавці і дисципліни.

динамічний аспект

Згідно технології RUP, ЖЦ ПО розбивається на окремі цикли, в кожному з яких створюється нове покоління продукту. Кожен цикл, в свою чергу, розбивається на чотири послідовні стадії:

початкова стадія (inception);

стадія розробки (elaboration);

стадія конструювання (construction);

стадія введення в дію (transition).

Кожна стадія завершується в чітко визначеній контрольній точці (milestone). У цей момент часу повинні досягатися важливі результати і прийматися критично важливі рішення про подальшу розробку.

Першими двома стадіями є початкова стадія проекту та розробка. Під час початкової стадії виробляється бізнес-план проекту, визначається, скільки приблизно він буде коштувати і який дохід принесе. Визначаються також межі проекту, і виконується деякий початковий аналіз для оцінки розмірів проекту.

Результатами початковій стадії є:

· загальний опис системи: основні вимоги до проекту, його характеристики і обмеження;

· початкова модель варіантів використання (ступінь готовності - 10-20%);

· початковий проектний глосарій (словник термінів);

· початковий бізнес-план;

· план проекту, що відображає стадії і ітерації;

· один або кілька прототипів.

Мал. Загальне уявлення RUP

На стадії розробки виявляються більш детальні вимоги до системи, виконується високорівнева аналіз предметної області та проектування для побудови базової архітектури системи, створюється план конструювання і усуваються найбільш ризиковані елементи проекту.

Результатами стадії розробки є:

· модель варіантів використання (завершена принаймні на 80%), що визначає функціональні вимоги до системи;

· перелік додаткових вимог, включаючи вимоги нефункціонального характеру і вимоги, не пов'язані з конкретними варіантами використання;

· опис базової архітектури майбутньої системи;

· працюючий прототип;

· уточнений бізнес-план;

· план розробки всього проекту, що відображає ітерації і критерії оцінки для кожної ітерації.

Стадія розробки займає близько п'ятої частини загальної тривалості проекту.

RUP являє собою ітераційний і покроковий процес розробки, в якому програмне забезпечення розробляється і реалізується вроздріб. На стадії конструювання побудова системи виконується шляхом серії ітерацій. Кожна ітерація є свого роду міні-проектом. На кожній ітерації для конкретних варіантів використання виконуються аналіз, проектування, кодування, тестування та інтеграція. Ітерація завершується демонстрацією результатів користувачам і виконанням системних тестів з метою контролю правильності реалізації варіантів використання.

При итеративной розробці на кожній ітерації виконується весь процес, що дозволяє оперативно справлятися з усіма проблемами, що виникають. Ітерації на стадії конструювання є одночасно інкрементними і повторюваними. В кінці кожної ітерації повинна виконуватися повна інтеграція. З іншого боку, інтеграція може і повинна виконуватися ще частіше. Додатки слід інтегрувати після виконання кожної скільки-небудь значної частини роботи. Під час кожної інтеграції повинен виконуватися повний набір тестів.

Головна особливість ітераційної розробки полягає в тому, що вона жорстко обмежена часовими рамками, і зрушувати терміни неприпустимо. Сенс таких обмежень - підтримувати сувору дисципліну розробки і не допускати перенесення термінів.

Результатом стадії конструювання є продукт, готовий до передачі кінцевим користувачам. Як мінімум, він містить наступне:

· ПО, інтегроване на необхідних платформах;

· керівництва користувача;

· опис поточної реалізації.

Призначенням стадії введення в дію є передача готового продукту в розпорядження користувачів. Дана стадія включає:

· бета-тестування, що дозволяє переконатися, що нова система відповідає очікуванням користувачів;

· паралельне функціонування з існуючою (legacy) системою, яка підлягає поступової заміни;

· конвертування баз даних;

· оптимізацію продуктивності;

· навчання користувачів і фахівців служби супроводу.

На стадії введення в дію продукт не доповнюється ніякої нової функціональністю (крім самої мінімальної і абсолютно необхідною). Тут тільки виловлюються помилки. Хорошим прикладом для стадії введення в дію може служити період часу між випуском бета-версії і остаточної версії продукту.

статичний аспект

Статичний аспект RUP представлений чотирма основними елементами:

· ролі;

· види діяльності;

· робочі продукти;

· дисципліни.

Поняття «роль» (role) визначає поведінку і відповідальність особистості або групи особистостей, складових проектну команду. Одна особа може грати в проекті багато різних ролей.

Під виглядом діяльності конкретного виконавця розуміється одиниця виконуваної ним роботи. Вид діяльності (activity) відповідає поняттю технологічної операції.

Дисципліна (discipline) відповідає поняттю технологічного процесу і являє собою послідовність дій, що приводить до отримання відчутного результату.

В рамках RUP визначено шість основних дисциплін:

· побудова бізнес-моделей;

· визначення вимог;

· аналіз і проектування;

· реалізація;

· тестування;

· розгортання;

і три допоміжних:

· управління конфігурацією і змінами;

· управління проектом;

· створення інфраструктури.

Зміст основних дисциплін ми розглянули на попередніх лекціях.

RUP спирається на інтегрований комплекс інструментальних засобів Rational Suite, що забезпечує підтримку повного життєвого циклу ПО. До складу Rational Suite, крім самої технології RUP як продукту, входять наступні компоненти:

1. Rational Rose - засіб візуального моделювання (аналізу і проектування);

2. Rational XDE - засіб аналізу і проектування, інтегрувальне з платформами MS Visual Studio .NET і IBM WebSphere Studio Application Developer;

3. Rational Requisite Pro - засіб управління вимогами, призначене для організації спільної роботи групи розробників;

4. Rational Rapid Developer - засіб швидкої розробки додатків на платформі Java 2 Enterprise Edition;

5. Rational ClearCase - засіб управління конфігурацією ПЗ;

6. Rational SoDA - засіб автоматичної генерації проектної документації;

7. Rational ClearQuest - засіб для управління змінами та відстеження дефектів в проекті на основі засобів e-mail і Web;

8. Rational Quantify - засіб кількісного визначення вузьких місць, які впливають на загальну ефективність роботи програми;

9. Rational Purify - засіб для локалізації важко виявлених помилок часу виконання програми;

10. Rational PureCoverage - засіб ідентифікації ділянок коду, пропущених при тестуванні;

11. Rational TestManager - засіб планування функціонального і навантажувального тестування;

12. Rational Robot - засіб запису і відтворення тестових сценаріїв;

13. Rational TestFactory - засіб тестування надійності;

14. Rational Quality Architect - засіб генерації коду для тестування.


Дата добавления: 2018-08-06; просмотров: 274; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!