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



МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ВІДКРИТИЙ МІЖНАРОДНИЙ УНІВЕРСИТЕТ РОЗВИТКУ ЛЮДИНИ

,,УКРАЇНА”

Інститут “Комп’ютерні технології”

Кафедра комп’ютерні науки

 

 

Реферат

На тему: “Арітектура та проектування програмного забезпечення”

з нормативної дисципліни

“Моделювання та конструювання програмного забезпечення”

 

 

 

Виконав:

студент 4 курсу

група КН-41/14

Бутмерчук Богдан Юрійович

Перевірив:

Самапарай В. П.

 

 

Київ — 2017


 

 

Зміст

Методичні аспекти проектування програмного забезпечення. 3

Визначення проекту і проектування. Основні особливості і проблеми сучасних програмних проектів. 3

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

Загальні принципи проектування систем. Моделі програмного забезпечення та їх місце в процесі проектування. 8

Поняття архітектури програмного забезпечення. архітектурні уявлення. 10

Об'ектная модель. 12

Мова UML. 14

Визначення і історія створення мови UML. Склад діаграм UML.. 14

Варіанти використання і діаграми варіантів використання. діаграми взаємодії 15

Діаграмми класів. Діаграми станів. Діаграми діяльності. Діаграми компонентів і діаграми розміщення. 17

Загальні механізми: стереотипи, примітки, обмеження. Поняття зразка і спосіб його опису 19

Моделювання бізнес-процесів і специфікація вимог до програмного забезпечення 22

Модель Business Use Case. Модель бізнес-аналізу. 22

Визначення вимог до системи. варіанти використання. 23

Аналіз та проектування програмного забезпечення. 24

Архітектурний аналіз. Аналіз варіантів використання. 24

Проектування архітектури системи. Підсистеми та інтерфейси. Формування архітектурних рівнів 26

Проектування структури потоків управління. Проектування конфігурації системи 27

Проектування класів. Проектування баз даних. 28

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

Список використаної літератури. 36

 

 

Методичні аспекти проектування програмного забезпечення

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

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

Програмне забезпечення (ПО)- це система, що включає в себе: комп'ютерні програми; документацію; дані, необхідні для коректної роботи програм.

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

Особливості сучасних проектів ПО:

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

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

· відсутність повних аналогів і висока частка знову розробляється ПО;

· наявність успадкованого ПЗ і необхідність його інтеграції до розробляються ПО;

· територіально розподілена і неоднорідна середовище функціонування;

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

· значна тривалість життєвого циклу ПО.

З кінця 60-х років минулого століття до сьогоднішніх днів триває так звана "криза ПО». Виражається він у тому, що великі проекти виконуються з перевищенням кошторису витрат та / або строків відведених на розробку, а розроблене ПЗ не володіє необхідними функціональними можливостями, має низьку продуктивність і якість. За результатами досліджень американської індустрії розробки ПЗ, виконаних в 1995 році, тільки 16% проектів завершилися в строк, що не перевищили запланований бюджет і реалізували всі необхідні функції і можливості. 53% проектів завершилися з запізненням, витрати перевищили запланований бюджет, необхідні функції не були реалізовані в повному обсязі. 31% проектів були анульовані до завершення. Для двох останніх категорій проектів бюджет середнього проекту виявився перевищеним на 89%, а термін виконання - на 122%.

Причини невдач:

· нечітка і неповна формулювання вимог;

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

· відсутність необхідних ресурсів;

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

· часта зміна вимог і специфікацій;

· новизна і недосконалість використовуваної технології;

· недостатня підтримка з боку вищого керівництва;

· недостатньо висока кваліфікація розробників, відсутність необхідного досвіду.

Вихід з кризи бачиться в програмної інженерії (software engineering). Програмна інженерія - це, з одного боку, сукупність інженерних методів і засобів створення ПО і, з іншого боку, дисципліна, що вивчає застосування суворого систематичного підходу до розробки, експлуатації і супроводу ПЗ. Фундаментальна ідея програмної інженерії: проектування ПО є формальним процесом, який можна вивчати і удосконалювати. Освоєння і правильне застосування методів і засобів програмної інженерії дозволяє підвищити якість, забезпечити керованість процесу проектування.

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

Одне з базових понять інженерії ПО - життєвий цикл ПО. Життєвий цикл ПЗ (ЖЦ ПО) - період часу від моменту прийняття рішення про створення ПО до моменту повного виведення ПО з експлуатації. ЖЦ ПО регламентується міжнародними та національними стандартами: ISO / IEC 12207: 1995, ДСТУ ISO / IEC 12207-99. В рамках технологій створення ПО поняття ЖЦ уточнюються, але зазначені стандарти не порушуються.

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

· основні (придбання, постачання, розробка, експлуатація, супровід);

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

· організаційні (управління, створення інфраструктури, удосконалення, навчання).

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

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

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

процес експлуатації включає в себе наступні дії: підготовчу роботу; експлуатаційне тестування; експлуатацію; підтримку користувачів. Дійові особи: оператор (організація, що експлуатує ПО), користувачі. Завдання експлуатації: вироблення плану експлуатації і експлуатаційних стандартів; складання процедур локалізації та ліквідації проблем експлуатації; пошук помилок в ПЗ перед введенням в експлуатацію його нових версій; надання допомоги користувачам і консультування.

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

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

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

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

процес верифікації включає в себе наступні дії: підготовчу роботу; верифікацію. Основне завдання верифікації - перевірка відповідності розроблених програм в складі ПО їх специфікаціям.

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

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

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

Процес вирішення проблем передбачає аналіз і вирішення проблем, що виникають протягом ЖЦ ПО.

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

Процес створення інфраструктури полягає у виборі і підтримці технології розробки ПЗ, стандартів та інструментальних засобів; виборі і установці апаратних і програмних засобів, необхідних для розробки, експлуатації і супроводу ПЗ.

процес удосконалення передбачає оцінку, вимірювання, контроль і удосконалення процесів ЖЦ ПО. Основне завдання удосконалення - підвищення продуктивності праці.

Процес навчання включає в себе наступні дії: підготовчу роботу; розробку навчальних планів, курсів, матеріалів; реалізацію планів навчання. Завдання навчання: початкове навчання персоналу; підвищення кваліфікації персоналу.

Процеси ЖЦ ПО взаємопов'язані.

Динамічний погляд на ЖЦ ПО відбивається в моделі ЖЦ в часі. Модель ЖЦ ПО - це структура, що визначає послідовність виконання і взаємозв'язку процесів, дій і завдань протягом ЖЦ. У будь-якої моделі ЖЦ розглядається як сукупність стадій ЖЦ. Стадія ЖЦ - це частина ЖЦ обмежена часовими рамками, по завершенні якої досягається певний важливий результат відповідно до вимог для даної стадії ЖЦ.

Моделі ЖЦ:

· каскадна (водоспадна);

· еволюційна;

· модель, заснована на формальних перетвореннях;

· ітераційні моделі (покрокова і спіральна).

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

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

Особливості моделі ЖЦ, заснованої на формальних перетвореннях: використання спеціальних нотацій для формального опису вимог; кодування і тестування замінюється процесом передвинекнення формальної специфікації в виконувану програму. Переваги: ​​формальні методи гарантують відповідність ПО специфікаціям вимог до програмного забезпечення, т. О. питання надійності і безпеки вирішуються самі собою. Недоліки: великі системи складно описати формальними специфікаціями; потрібні спеціально підготовлені і високо кваліфіковані розробники; є залежність від засобів розробки і нотації специфікацій.

Особливості ітераційних моделей: процес розробки розбивається на послідовність кроків, які виконуються циклічно; з кожною пройденою ітерацією (витком спіралі) ПО нарощується, в нього інтегруються нові розроблені компоненти; в кінці кожної ітерації здійснюється верифікація. Переваги: ​​повний облік вимог замовника, більше його участь в проекті; рівномірне навантаження на групу; раннє виявлення проблем та їх вирішення в міру виникнення, зменшення ризиків на кожній ітерації. Недоліки: складність планування; погана документованість ПО.


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

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






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