Життє́вий цикл програ́много забезпе́чення — сукупність окремих етапів робіт, що проводяться у заданому порядку протягом періоду часу, який починається з вирішення питання про розроблення програмного забезпечення і закінчується припиненням використання програмного забезпечення.
Поняття життєвого циклу програмного забезпечення відносять до дисципліни «Програмна інженерія».
Загальні поняття
В загальному випадку, життєвий цикл визначається моделлю й описується у формі методології (методу). Модель або парадигма життєвого циклу визначає загальну організацію і, як правило, основні його фази та принципи переходу між ними. Методологія (метод) визначає комплекс робіт, їх детальний зміст і рольову відповідальність спеціалістів на всіх етапах вибраної моделі.
Життєвий цикл програмного забезпечення супроводжується розробленням, обігом та використанням програмної документації.
Програмна документація — сукупність документів, що містять відомості, необхідні для розробки, виготовлення, супроводу та експлуатації програм. Програмна документація є одним з видів технічної документації.
Комплекс державних стандартів, що встановлюють взаємопов'язані правила розробки, оформлення та обігу програм і програмної документації називається «Єдина система програмної документації» (ЄСПД).
Моделі життєвого циклу програмного забезпечення
Модель життєвого циклу — це структура, що складається із процесів, робіт та задач, які включають в себе розробку, експлуатацію і супровід програмного продукту; охоплює життя системи від визначення вимог до неї до припинення її використання. На сьогодні найбільшого розповсюдження набули дві моделі:
- каскадна модель;
- спіральна модель.
Каскадна модель
Однією з перших з'явилась каскадна модель, в якій кожен етап роботи виконується лише раз. На кожному етапі робота виконується настільки ретельно, щоб потреби повертатись до попереднього не виникало. Результат виконання кожного етапу, перед передачею в наступний, піддається верифікації.
Спіральна модель
Розробка ітераціями відображає об'єктивно існуючий спіральний цикл створення системи. Неповне завершення робіт на кожному етапі дозволяє переходити на наступний етап, не чекаючи повного завершення роботи на поточному. При ітеративному способі розробки відсутню роботу можна буде виконати на наступній ітерації. Головне ж завдання — щонайшвидше показати користувачам системи працездатний продукт, тим самим активізуючи процес уточнення і доповнення вимог.
Виходячи з можливості внесення змін, як в процес, так і в проміжний продукт було створено спіральну модель ЖЦ (рис.3).
Внесення змін орієнтоване на задоволення потреби користувачів одразу, як тільки буде встановлено, що створені артефакти або елементи документації не відповідають дійсному стану розробки.
Дана модель ЖЦ допускає аналіз продукту на витку розробки, його перевірку, оцінку правильності та прийняття рішення про перехід на наступний виток або повернення на попередній виток для доопрацювання на ньому проміжного продукту.
Відмінність цієї моделі від каскадної полягає в можливості багато разів повертатися до процесу формулювання вимог і до повторної розробки версії системи з будь-якого процесу моделі.
- Рис.3. Спіральна модель ЖЦ розробки програмних систем
Для програмного продукту така модель не дуже підходить з декількох причин. По-перше, висловлення вимог замовником носить суб'єктивний характер, вимоги можуть багаторазово уточнюватися протягом розробки ПС і навіть після завершення та випробовування, і часом може з'ясуватися, що замовник «хотів зовсім інше». По-друге, змінюються обставини та умови використання системи, тому загальновизнаним законом програмної інженерії є закон еволюції, який сформулюємо так: кожна діюча ПС з часом потребує внесення змін або виводиться з експлуатації.
При необхідності внесення змін до системи на кожному витку з метою отримання нової версії системи обов'язково вносяться зміни в заздалегідь зафіксовані вимоги, після чого повертаються на попередній виток спіралі для продовження реалізації нової версії системи з урахуванням усіх змін.
Еволюційна модель
У разі еволюційної моделі система послідовно розробляється з блоків конструкцій. На відміну від інкрементної моделі в еволюційній моделі вимоги встановлюються частково і уточнюються в кожному наступному проміжному блоці структури системи.
Використання еволюційної моделі припускає проведення дослідження предметної області для вивчення потреб її замовника і аналізу можливості застосування цієї моделі для реалізації. Модель використовується для розробки нескладних і некритичних систем, де головною вимогою є реалізація функцій системи. При цьому вимоги не можуть бути визначені відразу і повністю. Тому розробка системи здійснюється ітераційним шляхом її еволюційного розвитку з отриманням деякого варіанта системи–прототипу, на якому перевіряється реалізація вимог. Іншими словами, такий процес за своєю суттю є ітераційним, з етапами розробки, що повторюються, починаючи від змінених вимог і закінчуючи отриманням готового продукту. В деякому розумінні до цього типу моделі можна віднести спіральну модель.
Розвитком цієї моделі є модель еволюційного прототипування в рамках усього ЖЦ розробки ПС (рис.4).
- Рис.4. Модель еволюційного прототипування
У літературі вона часто називається моделлю швидкої розробки програм RAD (Rapid Application Development).
У даній моделі наведені дії, які пов'язані з аналізом її застосовності для конкретного виду системи, а також обстеженням замовника для визначення потреб користувача при розробці плану створення прототипу.
У моделі є дві головні ітерації розробки функціонального прототипу, проєктування і реалізації системи з метою перевірки, чи задовольняє вона всі функціональні і нефункціональні вимоги. Основною ідеєю цієї моделі є моделювання окремих функцій системи в прототипі і поступове еволюційне його доопрацювання до виконання всіх заданих функціональних вимог.
Ітерацій з отримання проміжних варіантів прототипу може бути декілька, в кожній з яких додається функція і повторно моделюється робота прототипу. І так до тих пір, поки не будуть промодельовані всі функції, задані у вимогах до системи. Після цього виконується ще одна ітерація — остаточне програмування для отримання готової системи.
Ця модель застосовується для систем, в яких найбільш важливими є функціональні можливості, і які необхідно швидко продемонструвати на CASE-засобах.
Оскільки проміжні прототипи системи відповідають реалізації деяких функціональних вимог, їх можна перевіряти і під час супроводу і експлуатації, тобто разом з процесом розробки чергових прототипів системи. При цьому допоміжні і організаційні процеси можуть виконуватися разом з процесом розроблення і накопичувати відомості за даними кількісних і якісних оцінок на процесах розроблення.
При цьому враховуються такі чинники ризику:
– реалізація всіх функцій системи одночасно може призвести до громіздкості;
– обмежені людські ресурси зайняті розробкою протягом тривалого часу.
Переваги застосування даної моделі ЖЦ такі:
– швидка реалізація деяких функціональних можливостей системи і їх апробація;
– використання проміжного продукту в наступному прототипі;
– виділення окремих функціональних частин для реалізації їх у вигляді прототипу;
– можливість збільшення фінансування системи;
– зворотний зв'язок із замовником для уточнення функціональних вимог;
– спрощення внесення змін у зв'язку із заміною окремих функції.
Модель розвивається у напряму додавання нефункціональних вимог до системи, пов'язаних із захистом і безпекою даних, несанкціонованим доступом до них і ін.
Визначення вимог до програмних систем
Актор починає заданий сценарій при звертанні до автоматизованої системи обслуговування бібліотеки. Усі сценарії, що містяться у системі, обведені рамкою, яка визначає межі системи, а актор знаходиться поза рамкою як зовнішній чинник системи.
Відношення між сценаріями. Між сценаріями відношення задаються стрілками з указівкою назви типу відносин.
Характеристика областей знань з інженерії програмного забезпечення — SWEBOK
У підрозділі розглядається теоретичний і інтелектуальний базис проєктування — методи, принципи, засоби і методології, представлені областями в ядрі знань програмної інженерії SWEBOK.
Ядро знань SWEBOK — основний науково-технічний документ, що відображає знання та досвід багатьох іноземних і вітчизняних фахівців з програмної інженерії [1–10] і узгоджується з регламентованими процесами ЖЦ стандарту ISO/IEC 12207.
Документ містить у собі опис 10 областей, кожна з яких представлена відповідно до прийнятої всіма учасниками формування ядра SWEBOK загальної схеми опису, що містить у собі визначення понятійного апарату, методів і засобів, а також інструментів підтримки інженерної діяльності. Стосовно кожної області визначено коло знань, які повинні практично використовуватися при виконанні процесів життєвого циклу.
Для подання понятійного апарату областей знань SWEBOK проведемо умовне розділення областей на головні (п'ять областей для розроблення ПС, рис. 1.7) і допоміжні організаційні області (п'ять областей, що забезпечують інженерію керування розробкою ПС, рис.1.8).
У кожній області наведені ключові поняття, підходи і методи проєктування різних типів ПС. Розподіл областей на основні і допоміжні відповідає структурі розподілу процесів стандарту ISO/IEC 12207 (див. розділ 2), виконання яких визначається методами і засобами, запропонованими в ядрі знань SWEBOK.
Далі подається огляд кожної області цього ядра, визначається її роль у проєктуванні і реалізації програмних продуктів. У деяких підрозділах показаний зв'язок з положеннями відповідних стандартів, що регламентують і регулюють виконання процесів проєктування програмних систем.
Супровід програмного забезпечення
Супровід програмного забезпечення — сукупність дій із забезпечення його роботи, внесення змін при виявленні помилок, адаптації ПЗ до нового середовища функціонування, а також підвищення продуктивності або поліпшення деяких характеристик ПЗ. У зв'язку з вирішенням так званої проблеми 2000 року (пов'язаної з кодуванням дат у новому тисячолітті, зокрема, у двохсимвольному форматі) супровід почав розглядатися, як більш важливий процес, що здійснюють розробники. Після змін система має вирішувати ті самі задачі, а також мати план перенесення інформації в інші БД. Супровід відповідно до стандартів ISO/IEC 12207 і ISO/IEC 14764 проводиться з метою виконання і модифікації програмного продукту в процесі експлуатації за умови збереження його цілісності.
Область знань «Супровід ПЗ (Software Maintenance)» складається з таких розділів:
– основні концепції (Basic Concepts),
– процес супроводження (Process Maintenance),
– ключові питання супроводу ПЗ (key Issue in Software Maintenance) ,
– техніки супроводу (Techniques for Maintenance).
Супровід розглядається з точки зору задоволення вимог споживача у готовому ПЗ, коректності його виконання, процесів навчання й оперативного обліку його процесу.
Основні концепції — це базові визначення і термінологія, підходи до еволюції і супроводу ПЗ, до оцінки вартості супроводу тощо. До основних концепцій можна віднести ЖЦ ПЗ (стандарт ISO/IEC 12207) і складання документації. Головне призначення цієї області знань полягає у виконанні готової програмної системи, фіксації помилок, що виникають при виконанні, дослідженні їх причин, аналізі необхідності модифікації системи з метою усунення помилок, оцінці вартості робіт із проведення змін функцій і системи в цілому. Розглядаються проблеми, пов'язані з ускладненістю продукту при великій кількості змін, і методи її подолання.
Процес супроводження містить у собі моделі процесу супроводу і планування діяльності людей, що проводять запуск ПЗ, перевірку правильності його виконання і внесення в нього змін. Цей процес згідно з стандартом ISO/IEC 14764 проводиться шляхом:
– коригування, тобто зміни продукту для усунення виявлених помилок або нереалізованих задач;
– адаптації, тобто настроювання продукту в умовах експлуатації, що змінилися, або в новому середовищі виконання;
– поліпшення, тобто еволюційної зміни продукту для підвищення продуктивності або рівня супроводу;
– перевірки ПЗ, пошуку і виправлення помилок при експлуатації системи.
Ключові питання супроводу ПЗ — це управлінські, вимірювальні і вартісні. Суть управлінських питань — контроль ПЗ при модифікації й удосконалюванні функцій і недопущення зниження продуктивності системи. Питання вимірювання пов'язане з оцінкою характеристик системи після її модифікації, а також повторного тестування для оцінки показників якості. Вартісні питання пов'язані з оцінкою витрат на супровід залежно від його типу, кваліфікації персоналу, платформи й ін.
Техніка супроводу (цей розділ називають також еволюцією ПЗ). Відомий фахівець в області ПЗ Дж. Леман (1970 р.) запропонував розглядати супровід як еволюційну розробку програмних систем, оскільки здана в експлуатацію система не завжди цілком завершена, її треба змінювати протягом терміну експлуатації. Внаслідок змін система стає більш складною і погано керованою. У зв'язку з цим виникає проблема зменшення її складності. До технологій еволюції ПЗ відносять реінженерію, реверсну інженерію і рефакторинг.
Реінженерія — це удосконалення застарілого ПЗ шляхом його реорганізації або реструктуризації, а також перепрограмування окремих елементів або настроювання параметрів на іншу платформу, середовище виконання зі збереженням зручності його супроводу.
Реверсна інженерія полягає у відновленні специфікації (графів викликів, потоків даних і ін.) за отриманим кодом системи для її аналізу на більш високому рівні. Відновлюється ідентифікація компонентів і зв'язків між ними для забезпечення перепрограмування системи на нову платформу. Найчастіше реверсна інженерія застосовується після того, як у код ПЗ було внесено багато змін і воно стало некерованим або змінилася платформа комп'ютера.
Рефакторинг — це реорганізація коду для поліпшення характеристик і показників якості об'єктно-орієнтованих і компонентних програм без зміни їх поведінки. Цей процес реалізується шляхом поступової зміни окремих операцій над текстами, інтерфейсами, середовищем програмування і виконання ПЗ, а також настроювання або внесення змін в інструментальні засоби підтримки ПЗ. Якщо при зміні зберігається формат існуючої системи, то рефакторинг — один з варіантів реверсної інженерії.
Інженерія вимог
Вимоги до ПЗ — сукупність властивостей, які повинно мати ПЗ. Призначені для адекватного визначення функцій, умов і обмежень виконання ПЗ, а також обсягів даних, технічного забезпечення і середовища його виконання.
Вимоги відбивають потреби людей (замовників, користувачів, розробників), зацікавлених у створенні ПЗ. Замовник і розробник спільно виявляють вимоги, аналізують, переглядають, визначають необхідні обмеження і умови, а також описують їх. Розрізняють вимоги до продукту і до процесу, а також функціональні, не функціональні і системні вимоги. Функціональні вимоги визначають призначення і функції системи, а не функціональні — умови стосовно виконання ПЗ, його переносності і доступу до даних. Системні вимоги описують вимоги до програмної системи, яка складається з взаємозалежних програмних і апаратних підсистем і різних застосувань.
Область знань «Вимоги до ПЗ (Software Requirements)» складається з таких розділів:
- інженерія вимог (Requirement Engineering),
- виявлення вимог (Requirement Elicitation),
- аналіз вимог (Requirement Analysis),
- специфікація вимог (Requirement Specification),
- валідація вимог (Requirement validation),
- керування вимогами (Requirement Management).
Інженерія вимог до ПЗ — це дисципліна аналізу і документування вимог до ПЗ, що полягає в перетворенні запропонованих замовником вимог до системи на опис вимог до ПЗ і їх валідації.
Виявлення вимог — це процес витягування інформації з різних джерел (договорів, матеріалів аналітиків з декомпозиції задач і функцій системи й ін.), проведення технічних заходів (співбесід, збирання пропозицій і ін.) для формування окремих вимог до продукту і до процесу розроблення.
Аналіз вимог — процес вивчення потреб і цілей користувачів, класифікація і перетворення їх на вимоги до системи, апаратури і ПЗ, встановлення і вирішення конфліктів між вимогами, визначення пріоритетів, меж системи і принципів взаємодії із середовищем функціонування.
Специфікація вимог до ПЗ — процес формалізованого опису функціональних і нефункціональних вимог, вимог до характеристик якості відповідно до стандарту якості ISO/IEC 9126, які будуть відпрацьовуватися на процесах ЖЦ ПЗ.
Верифікація вимог — це процес перевірки правильності специфікацій вимог щодо їх відповідності потребам, несуперечності, повноти і можливості реалізації, а також узгодженості зі стандартами.
Керування вимогами — це керування процесами формування вимог на всіх процесах ЖЦ, а також змінами й атрибутами вимог, проведення моніторингу — відновлення джерела вимог.
Проєктування програмного забезпечення
Проєктування ПЗ — це процес визначення архітектури, набору компонентів, їх інтерфейсів, інших характеристик системи і кінцевого складу програмного продукту. Область знань «Проєктування ПЗ (Software Design)» складається з таких розділів: — базові концепції проєктування ПЗ (Software Design Basic Concepts), — ключові питання проєктування ПЗ (Key Issue in Software Design), — структура й архітектура ПЗ (Software Structure and Architecture), — аналіз і оцінка якості проєктування ПЗ (Software Design Quality Analysis and Evaluation), — нотації проєктування ПЗ (Software Design Notations), — стратегія і методи проєктування ПЗ (Software Design Strategies and Methods). Базова концепція проєктування ПЗ — це методологія проєктування архітектури за допомогою різних методів (об'єктного, компонентного й ін.), процеси ЖЦ (стандарт ISO/IEC 12207) і техніки — декомпозиція, абстракція, інкапсуляція й ін. На початкових стадіях проєктування предметна область декомпозується на окремі об'єкти (при об'єктно-орієнтованому проєктуванні) або на компоненти (при компонентному проєктуванні). Ключові питання проєктування — це декомпозиція програм на функціональні компоненти для незалежного і одночасного їхнього виконання, розподіл компонентів у середовищі функціонування і їх взаємодія між собою, забезпечення якості і живучості системи й ін. Проєктування архітектури ПЗ проводиться архітектурним стилем, заснованим на визначенні основних елементів структури — підсистем, компонентів, об'єктів і зв'язків між ними. Аналіз і оцінка якості проєктування ПЗ — це заходи щодо аналізу сформульованих у вимогах атрибутів якості, функцій, структури ПЗ, з перевірки якості результатів проєктування за допомогою метрик (функціональних, структурних і ін.) і методів моделювання і прототипування. Нотації проєктування дозволяють представити опис об'єкта (елемента) ПЗ і його структуру, а також поведінку системи за цим об'єктом. Існує два типи нотацій: структурна, поведінкова, та множина їх різних представлень. Стратегія і методи проєктування ПЗ. До стратегій відносять: проєктування вгору, вниз, абстрагування, використання каркасів і ін.
Конструювання програмного забезпечення
Область знань «Конструювання ПЗ (Software Construction)» містить у собі такі розділи: — зниження складності (Reduction in Complexity), — попередження відхилень від стилю (Anticipation of Diversity), — структуризація перевірок (Structuring for Validation), — використання стандартів (Use of External Standards). Зниження складності — це мінімізація, зменшення і локалізація складності конструювання. Попередження відхилень від стилю. Для розв'язання різних задач конструювання застосовуються різні стилі конструювання (лінгвістичний, формальний, візуальний). Структуризація перевірок припускає, що побудова ПС структурована таким чином, що спрощується пошук помилок, дефектів і різних збоїв у процесі перевірок як на стадії незалежного тестування, так і в процесі експлуатації. Використання зовнішніх стандартів. Конструювання ПЗ залежить від застосовних зовнішніх стандартів, пов'язаних з мовами програмування, інструментальними засобами й інтерфейсами. Керування конструюванням — це керування процесом конструювання ПЗ, планування, оцінка виконання плану і розроблення заходів щодо внесення змін.
Тестування програмного забезпечення
Тестування ПЗ — це процес перевірки готової програми в статиці (перегляди, інспекції, налагодження вихідного коду) і в динаміці (прогін на наборі тестових даних) з метою перевірки різних шляхів виконання програми і порівняння отриманих результатів із заздалегідь заданими. Область знань «Тестування ПЗ (Software Testing)» містить у собі такі розділи: — основні концепції і визначення тестування (Testing Basic Concepts and definitions), — рівні тестування (Test Levels), — техніки тестування (Test Techniques), — метрики тестування (Test Related Measures), — керування процесом тестування (Managing the Test Process). Основна концепція тестування — це базові терміни, ключові проблеми і їхній зв'язок з іншими областями знань. Тестування визначається як процес перевірки правильності програми в динаміці її виконання за тестовими даними. Рівні тестування: — тестування окремих елементів — інтеграційне тестування — тестування системи Техніки тестування базуються на певних теоретичних і практичних положеннях щодо проєктування (компонентного, об'єктно-орієнтованого, сервісного і т. ін.). Метрики тестування. Для вимірювання результатів тестування ПЗ й оцінки якості використовуються метрики. Вимір як частина планування і розробки тестів базується на розмірі програм, їх структурі і кількості виявлених помилок і дефектів. Метрики тестування — це вимірювання процесу планування, проєктування і тестування, а також результатів тестування на основі таксономії відмов і дефектів, покриття границь тестування, перевірки потоків даних і ін.
Супровід програмного забезпечення
Супровід ПЗ — сукупність дій із забезпечення його роботи, внесення змін при виявленні помилок, адаптації ПЗ до нового середовища функціонування, а також підвищення продуктивності або поліпшення деяких характеристик ПЗ. Область знань «Супровід ПЗ (Software Maintenance)» складається з таких розділів: — основні концепції (Basic Concepts), — процес супроводження (Process Maintenance), — ключові питання супроводу ПЗ (key Issue in Software Maintenance) , — техніки супроводу (Techniques for Maintenance). Основні концепції — це базові визначення і термінологія, підходи до еволюції і супроводу ПЗ, до оцінки вартості супроводу тощо. Ключові питання супроводу ПЗ — це управлінські, вимірювальні і вартісні. Суть управлінських питань — контроль ПЗ при модифікації й удосконалюванні функцій і недопущення зниження продуктивності системи. Техніка супроводу (цей розділ називають також еволюцією ПЗ). Відомий фахівець в області ПЗ Дж. Леман (1970 р.) запропонував розглядати супровід як еволюційну розробку програмних систем, оскільки здана в експлуатацію система не завжди цілком завершена, її треба змінювати протягом терміну експлуатації. Внаслідок змін система стає більш складною і погано керованою.
Методи об'єктного аналізу і моделювання
Огляд об'єктно-орієнтованих методів аналізу і побудови моделей.
На даний час створено понад 50 об'єктно-орієнтованих методів, які застосовуються практично як механізми розроблення об'єктних моделей і побудови на їхній основі програмних систем. Головним поняттям цих методів є об'єкт, а також інші означення елементів предметної області, яка створюється.
Метод об'єктно-орієнтованого моделювання передбачає послідовне виконання двох етапів: об'єктно-орієнтованого аналізу та об'єктно-орієнтованого проєктування.
Об'єктний аналіз — дослідження об'єктів предметної області. Предметна область містить в собі ті об'єкти і взаємозв'язки між ними, які істотно значемі при описі вимог та умов в розв'язанні задач. В процесі об'єктно-орієнтованного проєктування визначають програмні об'єкти та способи їхньої взаємодії і схеми баз даних.
Основні поняття об'єктно-орієнтованих методів аналізу
До основних понять методів об'єктно-орієнтованого аналізу предметної області — ПрО належать наступні .
Об'єкт — це абстрактний елемент, що має поведінку, обумовлену його характеристиками і відношеннями з іншими об'єктами предметної області.
Відповідно до теорії Фреге специфікацію об'єкта можна трактувати як трійку:
<ім’я об’єкта> <денотат> <концепт>,
де <ім’я об’єкта> — ідентифікатор, рядок з літер і чисел;
<денотат> — сутність реальної ПрО, що позначається цим ідентифікатором;
<концепт> — семантика (зміст) денотата ПрО.
Схематично це можна подати за допомогою трикутника Фреге (рис 1). В ньому містяться елементи реального світу, які мають такі властивості і характеристики:
знак — ідентифікатор, який позначає денотат;
денотат — сутність знаку, позначеного цим ідентифікатором;
концепт — семантика денотату.
Вони визначаються на рівнях об'єктного аналізу із залученням математичних формалізмів їхнього опису та уточнення відрізняючих один об'єкт від іншого.
- (рис 1) Подання об’єктів ПрО за трикутником Фреге
Тобто, об'єкт є іменована частина дійсної реальності з певним рівнем абстракції за наведеними характеристиками відносно вибраної ПрО. Як понятійна структура об'єкт відображає зміст концепту за об'єктним моделюванням предметної області. Одному об'єкту можуть відповідати кілька концептів залежно від вибраного рівня абстракції.
Див. також
Примітки
- ДСТУ 2844-94 Програмні засоби ЕОМ. Забезпечення якості. Терміни та визначення.
- ГОСТ 19.101-77 Единая система программной документации. Виды программ и программных документов.
- ГОСТ 19.001-77 Единая система программной документации. Общие положения.
- Лаврищева К. М. «Програмна інженерія» http://www.programsfactory.univ.kiev.ua/content/books/2/28 [ 26 лютого 2012 у Wayback Machine.]
Посилання
- Моделі життєвого циклу програмного забезпечення [ 5 листопада 2012 у Wayback Machine.]
- SDLC [ 9 липня 2014 у Wayback Machine.](англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Zhittye vij cikl progra mnogo zabezpe chennya sukupnist okremih etapiv robit sho provodyatsya u zadanomu poryadku protyagom periodu chasu yakij pochinayetsya z virishennya pitannya pro rozroblennya programnogo zabezpechennya i zakinchuyetsya pripinennyam vikoristannya programnogo zabezpechennya Ponyattya zhittyevogo ciklu programnogo zabezpechennya vidnosyat do disciplini Programna inzheneriya Zagalni ponyattyaV zagalnomu vipadku zhittyevij cikl viznachayetsya modellyu j opisuyetsya u formi metodologiyi metodu Model abo paradigma zhittyevogo ciklu viznachaye zagalnu organizaciyu i yak pravilo osnovni jogo fazi ta principi perehodu mizh nimi Metodologiya metod viznachaye kompleks robit yih detalnij zmist i rolovu vidpovidalnist specialistiv na vsih etapah vibranoyi modeli Zhittyevij cikl programnogo zabezpechennya suprovodzhuyetsya rozroblennyam obigom ta vikoristannyam programnoyi dokumentaciyi Programna dokumentaciya sukupnist dokumentiv sho mistyat vidomosti neobhidni dlya rozrobki vigotovlennya suprovodu ta ekspluataciyi program Programna dokumentaciya ye odnim z vidiv tehnichnoyi dokumentaciyi Kompleks derzhavnih standartiv sho vstanovlyuyut vzayemopov yazani pravila rozrobki oformlennya ta obigu program i programnoyi dokumentaciyi nazivayetsya Yedina sistema programnoyi dokumentaciyi YeSPD Modeli zhittyevogo ciklu programnogo zabezpechennyaModel zhittyevogo ciklu ce struktura sho skladayetsya iz procesiv robit ta zadach yaki vklyuchayut v sebe rozrobku ekspluataciyu i suprovid programnogo produktu ohoplyuye zhittya sistemi vid viznachennya vimog do neyi do pripinennya yiyi vikoristannya Na sogodni najbilshogo rozpovsyudzhennya nabuli dvi modeli kaskadna model spiralna model Kaskadna model Dokladnishe Kaskadna model Kaskadna model ZhC programnih sistem Odniyeyu z pershih z yavilas kaskadna model v yakij kozhen etap roboti vikonuyetsya lishe raz Na kozhnomu etapi robota vikonuyetsya nastilki retelno shob potrebi povertatis do poperednogo ne vinikalo Rezultat vikonannya kozhnogo etapu pered peredacheyu v nastupnij piddayetsya verifikaciyi Spiralna model Dokladnishe Spiralna model Rozrobka iteraciyami vidobrazhaye ob yektivno isnuyuchij spiralnij cikl stvorennya sistemi Nepovne zavershennya robit na kozhnomu etapi dozvolyaye perehoditi na nastupnij etap ne chekayuchi povnogo zavershennya roboti na potochnomu Pri iterativnomu sposobi rozrobki vidsutnyu robotu mozhna bude vikonati na nastupnij iteraciyi Golovne zh zavdannya shonajshvidshe pokazati koristuvacham sistemi pracezdatnij produkt tim samim aktivizuyuchi proces utochnennya i dopovnennya vimog Vihodyachi z mozhlivosti vnesennya zmin yak v proces tak i v promizhnij produkt bulo stvoreno spiralnu model ZhC ris 3 Vnesennya zmin oriyentovane na zadovolennya potrebi koristuvachiv odrazu yak tilki bude vstanovleno sho stvoreni artefakti abo elementi dokumentaciyi ne vidpovidayut dijsnomu stanu rozrobki Dana model ZhC dopuskaye analiz produktu na vitku rozrobki jogo perevirku ocinku pravilnosti ta prijnyattya rishennya pro perehid na nastupnij vitok abo povernennya na poperednij vitok dlya doopracyuvannya na nomu promizhnogo produktu Vidminnist ciyeyi modeli vid kaskadnoyi polyagaye v mozhlivosti bagato raziv povertatisya do procesu formulyuvannya vimog i do povtornoyi rozrobki versiyi sistemi z bud yakogo procesu modeli Ris 3 Spiralna model ZhC rozrobki programnih sistem Dlya programnogo produktu taka model ne duzhe pidhodit z dekilkoh prichin Po pershe vislovlennya vimog zamovnikom nosit sub yektivnij harakter vimogi mozhut bagatorazovo utochnyuvatisya protyagom rozrobki PS i navit pislya zavershennya ta viprobovuvannya i chasom mozhe z yasuvatisya sho zamovnik hotiv zovsim inshe Po druge zminyuyutsya obstavini ta umovi vikoristannya sistemi tomu zagalnoviznanim zakonom programnoyi inzheneriyi ye zakon evolyuciyi yakij sformulyuyemo tak kozhna diyucha PS z chasom potrebuye vnesennya zmin abo vivoditsya z ekspluataciyi Pri neobhidnosti vnesennya zmin do sistemi na kozhnomu vitku z metoyu otrimannya novoyi versiyi sistemi obov yazkovo vnosyatsya zmini v zazdalegid zafiksovani vimogi pislya chogo povertayutsya na poperednij vitok spirali dlya prodovzhennya realizaciyi novoyi versiyi sistemi z urahuvannyam usih zmin Evolyucijna model U razi evolyucijnoyi modeli sistema poslidovno rozroblyayetsya z blokiv konstrukcij Na vidminu vid inkrementnoyi modeli v evolyucijnij modeli vimogi vstanovlyuyutsya chastkovo i utochnyuyutsya v kozhnomu nastupnomu promizhnomu bloci strukturi sistemi Vikoristannya evolyucijnoyi modeli pripuskaye provedennya doslidzhennya predmetnoyi oblasti dlya vivchennya potreb yiyi zamovnika i analizu mozhlivosti zastosuvannya ciyeyi modeli dlya realizaciyi Model vikoristovuyetsya dlya rozrobki neskladnih i nekritichnih sistem de golovnoyu vimogoyu ye realizaciya funkcij sistemi Pri comu vimogi ne mozhut buti viznacheni vidrazu i povnistyu Tomu rozrobka sistemi zdijsnyuyetsya iteracijnim shlyahom yiyi evolyucijnogo rozvitku z otrimannyam deyakogo varianta sistemi prototipu na yakomu pereviryayetsya realizaciya vimog Inshimi slovami takij proces za svoyeyu suttyu ye iteracijnim z etapami rozrobki sho povtoryuyutsya pochinayuchi vid zminenih vimog i zakinchuyuchi otrimannyam gotovogo produktu V deyakomu rozuminni do cogo tipu modeli mozhna vidnesti spiralnu model Rozvitkom ciyeyi modeli ye model evolyucijnogo prototipuvannya v ramkah usogo ZhC rozrobki PS ris 4 Ris 4 Model evolyucijnogo prototipuvannya U literaturi vona chasto nazivayetsya modellyu shvidkoyi rozrobki program RAD Rapid Application Development U danij modeli navedeni diyi yaki pov yazani z analizom yiyi zastosovnosti dlya konkretnogo vidu sistemi a takozh obstezhennyam zamovnika dlya viznachennya potreb koristuvacha pri rozrobci planu stvorennya prototipu U modeli ye dvi golovni iteraciyi rozrobki funkcionalnogo prototipu proyektuvannya i realizaciyi sistemi z metoyu perevirki chi zadovolnyaye vona vsi funkcionalni i nefunkcionalni vimogi Osnovnoyu ideyeyu ciyeyi modeli ye modelyuvannya okremih funkcij sistemi v prototipi i postupove evolyucijne jogo doopracyuvannya do vikonannya vsih zadanih funkcionalnih vimog Iteracij z otrimannya promizhnih variantiv prototipu mozhe buti dekilka v kozhnij z yakih dodayetsya funkciya i povtorno modelyuyetsya robota prototipu I tak do tih pir poki ne budut promodelovani vsi funkciyi zadani u vimogah do sistemi Pislya cogo vikonuyetsya she odna iteraciya ostatochne programuvannya dlya otrimannya gotovoyi sistemi Cya model zastosovuyetsya dlya sistem v yakih najbilsh vazhlivimi ye funkcionalni mozhlivosti i yaki neobhidno shvidko prodemonstruvati na CASE zasobah Oskilki promizhni prototipi sistemi vidpovidayut realizaciyi deyakih funkcionalnih vimog yih mozhna pereviryati i pid chas suprovodu i ekspluataciyi tobto razom z procesom rozrobki chergovih prototipiv sistemi Pri comu dopomizhni i organizacijni procesi mozhut vikonuvatisya razom z procesom rozroblennya i nakopichuvati vidomosti za danimi kilkisnih i yakisnih ocinok na procesah rozroblennya Pri comu vrahovuyutsya taki chinniki riziku realizaciya vsih funkcij sistemi odnochasno mozhe prizvesti do gromizdkosti obmezheni lyudski resursi zajnyati rozrobkoyu protyagom trivalogo chasu Perevagi zastosuvannya danoyi modeli ZhC taki shvidka realizaciya deyakih funkcionalnih mozhlivostej sistemi i yih aprobaciya vikoristannya promizhnogo produktu v nastupnomu prototipi vidilennya okremih funkcionalnih chastin dlya realizaciyi yih u viglyadi prototipu mozhlivist zbilshennya finansuvannya sistemi zvorotnij zv yazok iz zamovnikom dlya utochnennya funkcionalnih vimog sproshennya vnesennya zmin u zv yazku iz zaminoyu okremih funkciyi Model rozvivayetsya u napryamu dodavannya nefunkcionalnih vimog do sistemi pov yazanih iz zahistom i bezpekoyu danih nesankcionovanim dostupom do nih i in Viznachennya vimog do programnih sistemAktor pochinaye zadanij scenarij pri zvertanni do avtomatizovanoyi sistemi obslugovuvannya biblioteki Usi scenariyi sho mistyatsya u sistemi obvedeni ramkoyu yaka viznachaye mezhi sistemi a aktor znahoditsya poza ramkoyu yak zovnishnij chinnik sistemi Vidnoshennya mizh scenariyami Mizh scenariyami vidnoshennya zadayutsya strilkami z ukazivkoyu nazvi tipu vidnosin Harakteristika oblastej znan z inzheneriyi programnogo zabezpechennya SWEBOK U pidrozdili rozglyadayetsya teoretichnij i intelektualnij bazis proyektuvannya metodi principi zasobi i metodologiyi predstavleni oblastyami v yadri znan programnoyi inzheneriyi SWEBOK Yadro znan SWEBOK osnovnij naukovo tehnichnij dokument sho vidobrazhaye znannya ta dosvid bagatoh inozemnih i vitchiznyanih fahivciv z programnoyi inzheneriyi 1 10 i uzgodzhuyetsya z reglamentovanimi procesami ZhC standartu ISO IEC 12207 Dokument mistit u sobi opis 10 oblastej kozhna z yakih predstavlena vidpovidno do prijnyatoyi vsima uchasnikami formuvannya yadra SWEBOK zagalnoyi shemi opisu sho mistit u sobi viznachennya ponyatijnogo aparatu metodiv i zasobiv a takozh instrumentiv pidtrimki inzhenernoyi diyalnosti Stosovno kozhnoyi oblasti viznacheno kolo znan yaki povinni praktichno vikoristovuvatisya pri vikonanni procesiv zhittyevogo ciklu Dlya podannya ponyatijnogo aparatu oblastej znan SWEBOK provedemo umovne rozdilennya oblastej na golovni p yat oblastej dlya rozroblennya PS ris 1 7 i dopomizhni organizacijni oblasti p yat oblastej sho zabezpechuyut inzheneriyu keruvannya rozrobkoyu PS ris 1 8 U kozhnij oblasti navedeni klyuchovi ponyattya pidhodi i metodi proyektuvannya riznih tipiv PS Rozpodil oblastej na osnovni i dopomizhni vidpovidaye strukturi rozpodilu procesiv standartu ISO IEC 12207 div rozdil 2 vikonannya yakih viznachayetsya metodami i zasobami zaproponovanimi v yadri znan SWEBOK Dali podayetsya oglyad kozhnoyi oblasti cogo yadra viznachayetsya yiyi rol u proyektuvanni i realizaciyi programnih produktiv U deyakih pidrozdilah pokazanij zv yazok z polozhennyami vidpovidnih standartiv sho reglamentuyut i regulyuyut vikonannya procesiv proyektuvannya programnih sistem Suprovid programnogo zabezpechennya Dokladnishe Suprovid programnogo zabezpechennya Suprovid programnogo zabezpechennya sukupnist dij iz zabezpechennya jogo roboti vnesennya zmin pri viyavlenni pomilok adaptaciyi PZ do novogo seredovisha funkcionuvannya a takozh pidvishennya produktivnosti abo polipshennya deyakih harakteristik PZ U zv yazku z virishennyam tak zvanoyi problemi 2000 roku pov yazanoyi z koduvannyam dat u novomu tisyacholitti zokrema u dvohsimvolnomu formati suprovid pochav rozglyadatisya yak bilsh vazhlivij proces sho zdijsnyuyut rozrobniki Pislya zmin sistema maye virishuvati ti sami zadachi a takozh mati plan perenesennya informaciyi v inshi BD Suprovid vidpovidno do standartiv ISO IEC 12207 i ISO IEC 14764 provoditsya z metoyu vikonannya i modifikaciyi programnogo produktu v procesi ekspluataciyi za umovi zberezhennya jogo cilisnosti Oblast znan Suprovid PZ Software Maintenance skladayetsya z takih rozdiliv osnovni koncepciyi Basic Concepts proces suprovodzhennya Process Maintenance klyuchovi pitannya suprovodu PZ key Issue in Software Maintenance tehniki suprovodu Techniques for Maintenance Suprovid rozglyadayetsya z tochki zoru zadovolennya vimog spozhivacha u gotovomu PZ korektnosti jogo vikonannya procesiv navchannya j operativnogo obliku jogo procesu Osnovni koncepciyi ce bazovi viznachennya i terminologiya pidhodi do evolyuciyi i suprovodu PZ do ocinki vartosti suprovodu tosho Do osnovnih koncepcij mozhna vidnesti ZhC PZ standart ISO IEC 12207 i skladannya dokumentaciyi Golovne priznachennya ciyeyi oblasti znan polyagaye u vikonanni gotovoyi programnoyi sistemi fiksaciyi pomilok sho vinikayut pri vikonanni doslidzhenni yih prichin analizi neobhidnosti modifikaciyi sistemi z metoyu usunennya pomilok ocinci vartosti robit iz provedennya zmin funkcij i sistemi v cilomu Rozglyadayutsya problemi pov yazani z uskladnenistyu produktu pri velikij kilkosti zmin i metodi yiyi podolannya Proces suprovodzhennya mistit u sobi modeli procesu suprovodu i planuvannya diyalnosti lyudej sho provodyat zapusk PZ perevirku pravilnosti jogo vikonannya i vnesennya v nogo zmin Cej proces zgidno z standartom ISO IEC 14764 provoditsya shlyahom koriguvannya tobto zmini produktu dlya usunennya viyavlenih pomilok abo nerealizovanih zadach adaptaciyi tobto nastroyuvannya produktu v umovah ekspluataciyi sho zminilisya abo v novomu seredovishi vikonannya polipshennya tobto evolyucijnoyi zmini produktu dlya pidvishennya produktivnosti abo rivnya suprovodu perevirki PZ poshuku i vipravlennya pomilok pri ekspluataciyi sistemi Klyuchovi pitannya suprovodu PZ ce upravlinski vimiryuvalni i vartisni Sut upravlinskih pitan kontrol PZ pri modifikaciyi j udoskonalyuvanni funkcij i nedopushennya znizhennya produktivnosti sistemi Pitannya vimiryuvannya pov yazane z ocinkoyu harakteristik sistemi pislya yiyi modifikaciyi a takozh povtornogo testuvannya dlya ocinki pokaznikiv yakosti Vartisni pitannya pov yazani z ocinkoyu vitrat na suprovid zalezhno vid jogo tipu kvalifikaciyi personalu platformi j in Tehnika suprovodu cej rozdil nazivayut takozh evolyuciyeyu PZ Vidomij fahivec v oblasti PZ Dzh Leman 1970 r zaproponuvav rozglyadati suprovid yak evolyucijnu rozrobku programnih sistem oskilki zdana v ekspluataciyu sistema ne zavzhdi cilkom zavershena yiyi treba zminyuvati protyagom terminu ekspluataciyi Vnaslidok zmin sistema staye bilsh skladnoyu i pogano kerovanoyu U zv yazku z cim vinikaye problema zmenshennya yiyi skladnosti Do tehnologij evolyuciyi PZ vidnosyat reinzheneriyu reversnu inzheneriyu i refaktoring Reinzheneriya ce udoskonalennya zastarilogo PZ shlyahom jogo reorganizaciyi abo restrukturizaciyi a takozh pereprogramuvannya okremih elementiv abo nastroyuvannya parametriv na inshu platformu seredovishe vikonannya zi zberezhennyam zruchnosti jogo suprovodu Reversna inzheneriya polyagaye u vidnovlenni specifikaciyi grafiv viklikiv potokiv danih i in za otrimanim kodom sistemi dlya yiyi analizu na bilsh visokomu rivni Vidnovlyuyetsya identifikaciya komponentiv i zv yazkiv mizh nimi dlya zabezpechennya pereprogramuvannya sistemi na novu platformu Najchastishe reversna inzheneriya zastosovuyetsya pislya togo yak u kod PZ bulo vneseno bagato zmin i vono stalo nekerovanim abo zminilasya platforma komp yutera Refaktoring ce reorganizaciya kodu dlya polipshennya harakteristik i pokaznikiv yakosti ob yektno oriyentovanih i komponentnih program bez zmini yih povedinki Cej proces realizuyetsya shlyahom postupovoyi zmini okremih operacij nad tekstami interfejsami seredovishem programuvannya i vikonannya PZ a takozh nastroyuvannya abo vnesennya zmin v instrumentalni zasobi pidtrimki PZ Yaksho pri zmini zberigayetsya format isnuyuchoyi sistemi to refaktoring odin z variantiv reversnoyi inzheneriyi Inzheneriya vimog Vimogi do PZ sukupnist vlastivostej yaki povinno mati PZ Priznacheni dlya adekvatnogo viznachennya funkcij umov i obmezhen vikonannya PZ a takozh obsyagiv danih tehnichnogo zabezpechennya i seredovisha jogo vikonannya Vimogi vidbivayut potrebi lyudej zamovnikiv koristuvachiv rozrobnikiv zacikavlenih u stvorenni PZ Zamovnik i rozrobnik spilno viyavlyayut vimogi analizuyut pereglyadayut viznachayut neobhidni obmezhennya i umovi a takozh opisuyut yih Rozriznyayut vimogi do produktu i do procesu a takozh funkcionalni ne funkcionalni i sistemni vimogi Funkcionalni vimogi viznachayut priznachennya i funkciyi sistemi a ne funkcionalni umovi stosovno vikonannya PZ jogo perenosnosti i dostupu do danih Sistemni vimogi opisuyut vimogi do programnoyi sistemi yaka skladayetsya z vzayemozalezhnih programnih i aparatnih pidsistem i riznih zastosuvan Oblast znan Vimogi do PZ Software Requirements skladayetsya z takih rozdiliv inzheneriya vimog Requirement Engineering viyavlennya vimog Requirement Elicitation analiz vimog Requirement Analysis specifikaciya vimog Requirement Specification validaciya vimog Requirement validation keruvannya vimogami Requirement Management Inzheneriya vimog do PZ ce disciplina analizu i dokumentuvannya vimog do PZ sho polyagaye v peretvorenni zaproponovanih zamovnikom vimog do sistemi na opis vimog do PZ i yih validaciyi Viyavlennya vimog ce proces vityaguvannya informaciyi z riznih dzherel dogovoriv materialiv analitikiv z dekompoziciyi zadach i funkcij sistemi j in provedennya tehnichnih zahodiv spivbesid zbirannya propozicij i in dlya formuvannya okremih vimog do produktu i do procesu rozroblennya Analiz vimog proces vivchennya potreb i cilej koristuvachiv klasifikaciya i peretvorennya yih na vimogi do sistemi aparaturi i PZ vstanovlennya i virishennya konfliktiv mizh vimogami viznachennya prioritetiv mezh sistemi i principiv vzayemodiyi iz seredovishem funkcionuvannya Specifikaciya vimog do PZ proces formalizovanogo opisu funkcionalnih i nefunkcionalnih vimog vimog do harakteristik yakosti vidpovidno do standartu yakosti ISO IEC 9126 yaki budut vidpracovuvatisya na procesah ZhC PZ Verifikaciya vimog ce proces perevirki pravilnosti specifikacij vimog shodo yih vidpovidnosti potrebam nesuperechnosti povnoti i mozhlivosti realizaciyi a takozh uzgodzhenosti zi standartami Keruvannya vimogami ce keruvannya procesami formuvannya vimog na vsih procesah ZhC a takozh zminami j atributami vimog provedennya monitoringu vidnovlennya dzherela vimog Proyektuvannya programnogo zabezpechennya Proyektuvannya PZ ce proces viznachennya arhitekturi naboru komponentiv yih interfejsiv inshih harakteristik sistemi i kincevogo skladu programnogo produktu Oblast znan Proyektuvannya PZ Software Design skladayetsya z takih rozdiliv bazovi koncepciyi proyektuvannya PZ Software Design Basic Concepts klyuchovi pitannya proyektuvannya PZ Key Issue in Software Design struktura j arhitektura PZ Software Structure and Architecture analiz i ocinka yakosti proyektuvannya PZ Software Design Quality Analysis and Evaluation notaciyi proyektuvannya PZ Software Design Notations strategiya i metodi proyektuvannya PZ Software Design Strategies and Methods Bazova koncepciya proyektuvannya PZ ce metodologiya proyektuvannya arhitekturi za dopomogoyu riznih metodiv ob yektnogo komponentnogo j in procesi ZhC standart ISO IEC 12207 i tehniki dekompoziciya abstrakciya inkapsulyaciya j in Na pochatkovih stadiyah proyektuvannya predmetna oblast dekompozuyetsya na okremi ob yekti pri ob yektno oriyentovanomu proyektuvanni abo na komponenti pri komponentnomu proyektuvanni Klyuchovi pitannya proyektuvannya ce dekompoziciya program na funkcionalni komponenti dlya nezalezhnogo i odnochasnogo yihnogo vikonannya rozpodil komponentiv u seredovishi funkcionuvannya i yih vzayemodiya mizh soboyu zabezpechennya yakosti i zhivuchosti sistemi j in Proyektuvannya arhitekturi PZ provoditsya arhitekturnim stilem zasnovanim na viznachenni osnovnih elementiv strukturi pidsistem komponentiv ob yektiv i zv yazkiv mizh nimi Analiz i ocinka yakosti proyektuvannya PZ ce zahodi shodo analizu sformulovanih u vimogah atributiv yakosti funkcij strukturi PZ z perevirki yakosti rezultativ proyektuvannya za dopomogoyu metrik funkcionalnih strukturnih i in i metodiv modelyuvannya i prototipuvannya Notaciyi proyektuvannya dozvolyayut predstaviti opis ob yekta elementa PZ i jogo strukturu a takozh povedinku sistemi za cim ob yektom Isnuye dva tipi notacij strukturna povedinkova ta mnozhina yih riznih predstavlen Strategiya i metodi proyektuvannya PZ Do strategij vidnosyat proyektuvannya vgoru vniz abstraguvannya vikoristannya karkasiv i in Konstruyuvannya programnogo zabezpechennya Oblast znan Konstruyuvannya PZ Software Construction mistit u sobi taki rozdili znizhennya skladnosti Reduction in Complexity poperedzhennya vidhilen vid stilyu Anticipation of Diversity strukturizaciya perevirok Structuring for Validation vikoristannya standartiv Use of External Standards Znizhennya skladnosti ce minimizaciya zmenshennya i lokalizaciya skladnosti konstruyuvannya Poperedzhennya vidhilen vid stilyu Dlya rozv yazannya riznih zadach konstruyuvannya zastosovuyutsya rizni stili konstruyuvannya lingvistichnij formalnij vizualnij Strukturizaciya perevirok pripuskaye sho pobudova PS strukturovana takim chinom sho sproshuyetsya poshuk pomilok defektiv i riznih zboyiv u procesi perevirok yak na stadiyi nezalezhnogo testuvannya tak i v procesi ekspluataciyi Vikoristannya zovnishnih standartiv Konstruyuvannya PZ zalezhit vid zastosovnih zovnishnih standartiv pov yazanih z movami programuvannya instrumentalnimi zasobami j interfejsami Keruvannya konstruyuvannyam ce keruvannya procesom konstruyuvannya PZ planuvannya ocinka vikonannya planu i rozroblennya zahodiv shodo vnesennya zmin Testuvannya programnogo zabezpechennya Testuvannya PZ ce proces perevirki gotovoyi programi v statici pereglyadi inspekciyi nalagodzhennya vihidnogo kodu i v dinamici progin na nabori testovih danih z metoyu perevirki riznih shlyahiv vikonannya programi i porivnyannya otrimanih rezultativ iz zazdalegid zadanimi Oblast znan Testuvannya PZ Software Testing mistit u sobi taki rozdili osnovni koncepciyi i viznachennya testuvannya Testing Basic Concepts and definitions rivni testuvannya Test Levels tehniki testuvannya Test Techniques metriki testuvannya Test Related Measures keruvannya procesom testuvannya Managing the Test Process Osnovna koncepciya testuvannya ce bazovi termini klyuchovi problemi i yihnij zv yazok z inshimi oblastyami znan Testuvannya viznachayetsya yak proces perevirki pravilnosti programi v dinamici yiyi vikonannya za testovimi danimi Rivni testuvannya testuvannya okremih elementiv integracijne testuvannya testuvannya sistemi Tehniki testuvannya bazuyutsya na pevnih teoretichnih i praktichnih polozhennyah shodo proyektuvannya komponentnogo ob yektno oriyentovanogo servisnogo i t in Metriki testuvannya Dlya vimiryuvannya rezultativ testuvannya PZ j ocinki yakosti vikoristovuyutsya metriki Vimir yak chastina planuvannya i rozrobki testiv bazuyetsya na rozmiri program yih strukturi i kilkosti viyavlenih pomilok i defektiv Metriki testuvannya ce vimiryuvannya procesu planuvannya proyektuvannya i testuvannya a takozh rezultativ testuvannya na osnovi taksonomiyi vidmov i defektiv pokrittya granic testuvannya perevirki potokiv danih i in Suprovid programnogo zabezpechennya Suprovid PZ sukupnist dij iz zabezpechennya jogo roboti vnesennya zmin pri viyavlenni pomilok adaptaciyi PZ do novogo seredovisha funkcionuvannya a takozh pidvishennya produktivnosti abo polipshennya deyakih harakteristik PZ Oblast znan Suprovid PZ Software Maintenance skladayetsya z takih rozdiliv osnovni koncepciyi Basic Concepts proces suprovodzhennya Process Maintenance klyuchovi pitannya suprovodu PZ key Issue in Software Maintenance tehniki suprovodu Techniques for Maintenance Osnovni koncepciyi ce bazovi viznachennya i terminologiya pidhodi do evolyuciyi i suprovodu PZ do ocinki vartosti suprovodu tosho Klyuchovi pitannya suprovodu PZ ce upravlinski vimiryuvalni i vartisni Sut upravlinskih pitan kontrol PZ pri modifikaciyi j udoskonalyuvanni funkcij i nedopushennya znizhennya produktivnosti sistemi Tehnika suprovodu cej rozdil nazivayut takozh evolyuciyeyu PZ Vidomij fahivec v oblasti PZ Dzh Leman 1970 r zaproponuvav rozglyadati suprovid yak evolyucijnu rozrobku programnih sistem oskilki zdana v ekspluataciyu sistema ne zavzhdi cilkom zavershena yiyi treba zminyuvati protyagom terminu ekspluataciyi Vnaslidok zmin sistema staye bilsh skladnoyu i pogano kerovanoyu Metodi ob yektnogo analizu i modelyuvannyaOglyad ob yektno oriyentovanih metodiv analizu i pobudovi modelej Na danij chas stvoreno ponad 50 ob yektno oriyentovanih metodiv yaki zastosovuyutsya praktichno yak mehanizmi rozroblennya ob yektnih modelej i pobudovi na yihnij osnovi programnih sistem Golovnim ponyattyam cih metodiv ye ob yekt a takozh inshi oznachennya elementiv predmetnoyi oblasti yaka stvoryuyetsya Metod ob yektno oriyentovanogo modelyuvannya peredbachaye poslidovne vikonannya dvoh etapiv ob yektno oriyentovanogo analizu ta ob yektno oriyentovanogo proyektuvannya Ob yektnij analiz doslidzhennya ob yektiv predmetnoyi oblasti Predmetna oblast mistit v sobi ti ob yekti i vzayemozv yazki mizh nimi yaki istotno znachemi pri opisi vimog ta umov v rozv yazanni zadach V procesi ob yektno oriyentovannogo proyektuvannya viznachayut programni ob yekti ta sposobi yihnoyi vzayemodiyi i shemi baz danih Osnovni ponyattya ob yektno oriyentovanih metodiv analizu Do osnovnih ponyat metodiv ob yektno oriyentovanogo analizu predmetnoyi oblasti PrO nalezhat nastupni Ob yekt ce abstraktnij element sho maye povedinku obumovlenu jogo harakteristikami i vidnoshennyami z inshimi ob yektami predmetnoyi oblasti Vidpovidno do teoriyi Frege specifikaciyu ob yekta mozhna traktuvati yak trijku lt im ya ob yekta gt lt denotat gt lt koncept gt de lt im ya ob yekta gt identifikator ryadok z liter i chisel lt denotat gt sutnist realnoyi PrO sho poznachayetsya cim identifikatorom lt koncept gt semantika zmist denotata PrO Shematichno ce mozhna podati za dopomogoyu trikutnika Frege ris 1 V nomu mistyatsya elementi realnogo svitu yaki mayut taki vlastivosti i harakteristiki znak identifikator yakij poznachaye denotat denotat sutnist znaku poznachenogo cim identifikatorom koncept semantika denotatu Voni viznachayutsya na rivnyah ob yektnogo analizu iz zaluchennyam matematichnih formalizmiv yihnogo opisu ta utochnennya vidriznyayuchih odin ob yekt vid inshogo ris 1 Podannya ob yektiv PrO za trikutnikom Frege Tobto ob yekt ye imenovana chastina dijsnoyi realnosti z pevnim rivnem abstrakciyi za navedenimi harakteristikami vidnosno vibranoyi PrO Yak ponyatijna struktura ob yekt vidobrazhaye zmist konceptu za ob yektnim modelyuvannyam predmetnoyi oblasti Odnomu ob yektu mozhut vidpovidati kilka konceptiv zalezhno vid vibranogo rivnya abstrakciyi Div takozhKoristuvacke programuvannyaPrimitkiDSTU 2844 94 Programni zasobi EOM Zabezpechennya yakosti Termini ta viznachennya GOST 19 101 77 Edinaya sistema programmnoj dokumentacii Vidy programm i programmnyh dokumentov GOST 19 001 77 Edinaya sistema programmnoj dokumentacii Obshie polozheniya Lavrisheva K M Programna inzheneriya http www programsfactory univ kiev ua content books 2 28 26 lyutogo 2012 u Wayback Machine PosilannyaModeli zhittyevogo ciklu programnogo zabezpechennya 5 listopada 2012 u Wayback Machine SDLC 9 lipnya 2014 u Wayback Machine angl