Реферат: Дайте порівняльну характеристику сучасним процесам розробки комп ’ ютерних систем. Опишіть уніфікований процес розробки додатків. В чому полягає мета кожної фази життєвого циклу проекту при уніфікованому процесі розробки програмного забезпечення


Дайте порівняльну характеристику сучасним процесам розробки комп’ютерних систем. Опишіть уніфікований процес розробки додатків. В чому полягає мета кожної фази життєвого циклу проекту при уніфікованому процесі розробки програмного забезпечення.

Виконав студент групи НБ-41 Латчук М.М.

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

Моделі розробки додатків

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

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

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

Модель водопаду (каскадна)

Для опису традиційного способу розробки додатків часто застосовується метафора спорудження будинку. Спочатку будівельник розмовляє із замовником, з'ясовує, що треба побудувати, проектує будівлю і потім будує його за узгодженим планом. Після закінчення будівництва підрядчик повинен упевнитися, що будівля стійка, а усі його компоненти, від електропроводки і водопроводу до дверного дзвінка, справні і працездатні. Потім замовник перевіряє, що усе зроблено відповідно до його вимог. Часто вже після того, як замовник вселився н будівля, будівельникові доводиться усувати виникаючі проблеми.

Етапи спорудження будинку співпадають з основними стадіями моделі водопаду. Модель водопаду представляє процес розробки у вигляді строго впорядкованої послідовності етапів. До них відносяться:

- збір вимог до системи і програмного забезпечення;

- аналіз;

- проектування;

- кодування і тестування модулів;

- інтеграція системи;

- тестування додатка в цілому;

- передача в експлуатацію.

Для переходу до наступного етапу необхідно повністю закінчити роботу над поточним і ретельно описати його результати.



^ Мал.1. Модель водопаду.

Модель водопаду нині використовується порівняно рідко у зв'язку з тим, що при її застосуванні на кожній стадії виконання проекту виникають проблеми.

- Зайві витрати часу.

- Виявлення причин, по яких необхідно змінювати проект на пізніх стадіях.

- Неадекватне управління рисками.

- Відсутність процедури перегляду.

- Обмежені можливості обміну інформацією.

Спіральна модель

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

- дослідження - аналіз вимог і попереднє планування;

- опрацювання - проектування додатків;

- перехідний період- оцінка і стабілізація додатка;

- створення- реалізація додатка.

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



^ Мал.2. Спіральна модель.

Як і модель водопаду, спіральна модель породжує безліч проблем.

- Затримка реалізації функціональних можливостей.

- Проекти, що Ніколи не закінчуються.

- Невідома вартість.

- Відсутність стабільності.

- Відсутність автоматизації.

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

Універсальний процес

Універсальний процес (Unified Process, UP) - широко поширений метод аналізу, проектування і розробки додатків масштабу підприємства. Основні характеристики цього процесу, що базується на універсальній мові моделювання, такі:

- сценарії використання як основа проекту;

- пріоритет архітектури;

- ітераційний і инкрементальный процес розробки;

- прогнозування ризиків;

- объектно- і сервісно-орієнтоване проектування;

- активне накопичення і повторне використання объектно-ори-

ентированных шаблонів, об'єктів і кілка.

Етапи

У основі універсального процесу лежать п'ять основних етапів, які постійно виконуються на усіх чотирьох фазах процесу розробки аж до створення додатка. Завершення виконання цих етапів називається ітерацією, і кожна ітерація завершується проміжним випуском продукту. Назви етапів дещо умовні. На кожній ітерації цикл починається із збору вимог.

- Вимоги - збір бізнес-, технічних і прикладних вимог до проекту.

- Аналіз - бізнес- і прикладне моделювання на основі зібраних вимог.

- Проектування - створення архітектури на основі об'єктно-орієнтованого підходу.

- Реалізація - розробка спроектованого застосування (на ранніх стадіях - розробка прототипів).

- Тестування - перевірка зробленої роботи.

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

Ітера́ція (від лат. iteratio — повторювання) — результат багаторазового повторення якоїсь математичної операції.

У результаті кожної ітерації виходить працююча, але не повнофункціональна система, яка ще не є комерційною і не підлягає поширенню. Тривалість створення комерційної версії програмної системи становить 10 - 15 ітерацій.

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

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

Уніфікований процес допускає внесення змін вимог користувачів до створюваної програмної системи. Таким чином, він є адаптивним процесом. Це досягається за рахунок ітеративного процесу розробки і наявності раннього зворотного зв'язку. Завдяки зворотному зв'язку замовник може оцінити частини системи і висловити деякі пропозиції щодо внесення змін до її функціональності. Тут мова не йде про те, що функціональність абсолютно не влаштовує замовника або користувачів, просто можуть виникнути ідеї про її поліпшення або ж виникнути нова ситуація під яку необхідно адаптувати систему що створюється. Таким чином, реалізується еволюційний процес, в результаті якого розробляється система постійно поліпшується і все більше задовольняє вимогам користувачів.

Уніфікований процес складається з 4-х фаз: початку, розвитку, конструювання та передачі.

Назва фази

Зміст фази

Початок

Визначення початкового бачення проблеми, прецедентів, а так само оцінка складності проекту.

Розвиток

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


Конструювання

Ітеративна реалізація менш критичних і більш простих елементів, підготовка до розгортання системи.

Передача

Бета-тестування і розгортання системи.


Фаза ПОЧАТОК (Inception).

Головне призначення фази - запустити проект.

Цілі фази ПОЧАТОК:

визначити сферу застосування проектованої системи (її призначення, межі інтерфейси із зовнішнім середовищем, критерій визнання - приймання);

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

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

визначити загальну вартість і план усього проекту і забезпечити деталізовані оцінки етапу розвитку;

ідентифікувати основні елементи ризику.


Фаза РОЗВИТОК (Elaboration)

Головне призначення фази - створити архітектурний базис системи.

Цілі фази РОЗВИТОК:

визначити вимоги, що залишилися, функціональні вимоги формулювати як елементи;

визначити архітектурну платформу системи;

відстежувати ризик, усунути джерела найбільшого ризику;

розробити план ітерацій етапу КОНСТРУЮВАННЯ.

Фаза КОНСТРУЮВАННЯ (Construction)

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

Цілі фізи КОНСТРУЮВАННЯ:

мінімізувати вартість розробки шляхом оптимізації ресурсів і усунення необхідності доопрацювань;

добитися швидкого отримання прийнятної якості;

добитися швидкого отримання контрольних версій (альфа, бета і т. д.).


Фаза ПЕРЕДАЧА (Transition)

Головне призначення фази - застосувати програмний продукт в середовищі користувачів і завершити реалізацію продукту.

Фаза починається з пред'явлення користувачам частину реалізованого продукту. У ній виявляються помилки, вони коригуються в наступних частинах реалізації. Паралельно вирішуються питання розміщення, упаковки і супроводу продукту. Після завершення тестування продукт вважається реалізованим.
еще рефераты
Еще работы по разное