Життєвий цикл програмного забезпечення: поняття, стандарти, процеси

Дата:

2018-12-14 07:40:19

Перегляди:

563

Рейтинг:

1Дизлайк 0Любити

Поділитися:

Table of contents:

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

Життєвий цикл програмного забезпечення: що це таке у формальному розумінні?

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

життєвий цикл програмного забезпечення

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

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

Початкові вимоги

Як прийнято вважати, для будь-якого програмного продукту використовується кілька умов, щодо його розробки та застосування, а саме:

  • постановка задачі;
  • аналіз взаємних вимог майбутнього ПО системі;
  • проектування;
  • програмування;
  • кодування і компіляція;
  • тестування;
  • налагодження;
  • впровадження та супровід програмного продукту.

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

Більше:

Розширення

Розширення "Економія трафіку Google Chrome

У статті піде мова про те, як здійснюється економія трафіку в Google Chrome. Цей режим ще називають "Турбо", і його практично кожен спостерігав в таких браузерах, як Yandex Browser або Opera. Проте в Google Chrome даний компонент відсутній, і заощади...

Смайли в

Смайли в "Скайпі" - опис, застосування, секрети

Skype - програма, якою користуються багато людей. Вона призначена спеціально для спілкування і обміну даними. Як і будь-який інший месенджер, "Скайп" оснащений чудовим інтерфейсом і графічними елементами. Тут можна виражати емоції різними способами. ...

Ресурс вогняна сіль в

Ресурс вогняна сіль в "Скайриме"

Матеріал у грі «Скайрим» вогняна сіль має ряд застосувань, які будуть корисні для гравця. Цей предмет можна дістати кількома способами, які варто знати користувачу. Стаття надає всю потрібну інформацію з цього ресурсу.ВидобутокУ проекті ж...

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

Серед систем, що визначають умови і вимоги, що пред'являються до таких процесів, сьогодні можна назвати тільки три основних:

  • ГОСТ 34.601-90;
  • ISO/IEC 12207:2008;
  • Oracle CDM.

життєвий цикл

Для другого міжнародного стандарту є російський аналог. Це ГОСТ Р ІСО/МЕК 12207-2010, що відповідає за системну і програмну інженерію. Але життєвий цикл програмного забезпечення, описуваний в обох правилах, є ідентичним по суті. Пояснюється це досить просто.

Види та апдейти

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

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

Для його продовження найчастіше застосовуються засоби оновлення (як для операційних систем, так і для платформ та прикладного ПЗ). Напевно, не потрібно пояснювати, що будь-який користувач комп'ютерної системи на основі Windows проходив етап оновлення самої системи або її компонентів, наприклад Microsoft .NET Framework або віртуальної машини Java.

Стадія проектування

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

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

Розробка

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

розробка пз

чи це C+/C++, Java, Delphi або той самий застарілий Pascal – не настільки важливо. Питання полягає в тому, наскільки створений додаток зможе інтегруватися в операційну систему і працювати без збоїв.

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

Наступні етапи

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

інформаційні системи

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

Якщо мова йде про закритому коді, можна скористатися утилітами начебто Disassembler. Але в цьому випадку можна домогтися тільки розкодування виконуваний EXE-файлу, а вже ніяк не прив'язаних динамічних бібліотек DLL.

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

Основи управління

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

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

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

Використовувані модулі

І жоден процес життєвого циклу програмного забезпечення не обходиться без використання вельми специфічних компонентів. Серед них пріоритетними вважаються наступні:

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

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

Виконуваний файл, як правило, для Windows-систем представлено у вигляді «экзэшника». Керуючі компоненти мають розширення конфигураторов (config.sys стосовно до операційним системам), додатково підключаються бібліотеки мають розширення DLL. Засоби контролю та обробки функцій і налаштувань деяких додатків можуть виглядати у вигляді файлів XML.

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

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

Приклад на основі програми FL Studio

Спочатку віртуальна студія-секвенсор FL Studio мала назву Fruity Loops. Життєвий цикл ПЗ в його первинній модифікації закінчився, але додаток дещо трансформувалося і набула нинішнього вигляду.

1 життєвий цикл програмного забезпечення

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

  • створення барабанного модуля за типом ритм-машин на зразок Yamaha RX, але із застосуванням one-shot-семплів або секвенцій у форматі WAV, записаних у студіях наживо;
  • інтеграція в операційні системи Windows;
  • можливість експорту проекту у форматах WAV, MP3 і OGG;
  • сумісність проектів з додатковим додатком Fruity Tracks.

На стадії розробки були застосовані засоби мов програмування «Сі». Але платформа виглядала достатньо примітивно і не давала кінцевому користувачеві необхідної якості звучання.

У зв'язку з цим, на стадії тестування і налагодження розробникам довелося піти по шляху німецької корпорації Steinberg і застосувати у вимогах до основного звукового драйверу підтримку режиму Full Duplex. Якість саунду стало вище і дозволило змінювати темп, висоту тону і накладати додаткові FX-ефекти в режимі реального часу.

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

Завершенням життєвого циклу цього ПО прийнято вважати вихід першої офіційної версії FL Studio, яка, на відміну від своїх прабатьків, мала вже інтерфейсом повноцінного секвенсора з можливістю редагування параметрів на віртуальному 64-канальному пульті мікшера з необмеженим додаванням аудіо-доріжок і MIDI-треків.

Просування програми цим не обмежилося. На стадії управління проектом була введена підтримка підключення плагінів формату VST (спочатку другий, а потім і третьої версії), свого часу розробленого компанією Steinberg. Грубо кажучи, будь-віртуальний синтезатор, підтримує VST-host міг підключатися до програми.

проектування програмного забезпечення

не Дивно, що незабаром будь композитор міг використовувати аналоги «залізних» моделей, наприклад, повні комплекти звуків колись популярного Korg M1. Далі – більше. Застосування модулів начебто Addictive Drums або універсального плагіна Kontakt дозволило відтворювати живі звуки реальних інструментів, записаних з усіма відтінками артикуляції в професійних студіях.

При цьому розробники постаралися і домогтися максимальної якості, створивши підтримку для драйверів ASIO4ALL, які виявилися на голову вище режиму Full Duplex. Відповідно підвищився і бітрейт. На сьогоднішній день якість експортованого звукового файлу може становити 320 кбіт/с при частоті дискретизації 192 кГц. Аце професійний звук.

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

Перспективи розвитку

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

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

Навіть у випадку з ОС Windows такі тенденції можна помітити неозброєним поглядом. Навряд чи сьогодні знайдеться хоч один юзер, що використовує системи на зразок модифікацій 3.1, 95, 98 або Millennium. Їх життєвий цикл закінчився після виходу версії XP. Але ось серверні версії на основі технологій NT все ще актуальні. Навіть Windows 2000 на сьогоднішній день є не тільки актуальним, але і за деякими параметрами безпеки установки або навіть перевершує самі нові розробки. Те ж саме стосується системи NT 4.0, а також спеціалізованої модифікації Windows Server 2012.

стадії життєвого циклу по

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

Але якщо говорити про те, що розвиток будь-якого типу (керуючого або прикладного) не стоїть на місці, можна лише констатувати факти. Адже сьогодні справа стосується не тільки комп'ютерних систем, а і мобільних пристроїв, у яких застосовуються технології часто випереджають комп'ютерний сектор. Поява процесорних чіпів на основі восьми ядер – чому не найкращий приклад? А адже ще далеко не кожен ноутбук може похвалитися наявністю такого «заліза».

Деякі додаткові питання

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

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

Але в комп'ютерних технологіях сьогодні віддається перевага розвитку автоматизованих систем управління (АСУ), які застосовуються на виробництві. Навіть операційні системи, у порівнянні зі спеціалізованими програмами, програють.

Ті ж середовища на основі Visual Basic залишаються набагато більш популярними, ніж Windows-системи. А про прикладному ПЗ під UNIX-системи не йдеться взагалі. Що говорити, якщо практично всі комунікаційні мережі тих же Сполучених Штатів працюють виключно на них. До речі, зразок системи Linux і Android теж спочатку створювалися саме на цій платформі. Тому, швидше за все, у UNIX перспектив набагато більше, ніж у інших продуктів, разом узятих.

Замість підсумку

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

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

До того ж, іноді життєві цикли можуть залежати від актуальності засобів розробки. Якщо, припустимо, якийсь мова програмування старіє, ніхто ж не буде писати програми на його основі, і вже тим більше – впроваджувати їх в автоматизовані системи управління на виробництві. Тут уже на перший план виходять навіть не програмісти, а маркетологи, які повинні своєчасно реагувати на зміни комп'ютерного ринку. І таких фахівців у світі знайдеться не так вже й багато. Висококваліфіковані кадри, здатні тримати руку на пульсі ринку, стають найбільш затребуваними. І саме вони найчастіше є так званими «сірими кардиналами», від яких залежить успіх або програш певного програмного продукту в сфері IT.

Нехай вони не завжди розуміють суть програмування, зате чітко здатні визначити моделі життєвого циклу програмного забезпечення і тривалості часу їх застосування, виходячи зі світових тенденційу цій області. Ефективний менеджмент часто дає більш відчутні результати. Та хоча б PR-технології, реклама і т. д. Може будь-який додаток користувачеві і не потрібно, зате за умови його активного афішування юзер встановить його. Це вже, так би мовити, підсвідомий рівень (той же ефект 25-го кадру, коли інформація закладається в свідомість юзера незалежно від нього самого).

Звичайно, такі технології в світі є забороненими, однак багато хто з нас навіть не здогадуються про те, що вони все одно можуть використовуватися і впливати на підсвідомість певним способом. Чого тільки коштує «зомбування» новинними каналами або інтернет-сайтами, не кажучи вже про застосування більш потужних засобів, ніби впливу інфразвуком (таке було застосовано в одній оперній постановці), внаслідок чого людина може відчувати страх або неадекватні емоції.

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

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


Article in other languages:

AR: https://tostpost.com/ar/computers/12017-the-life-cycle-of-software-concept-standards-processes.html

BE: https://tostpost.com/be/kamputary/21522-zhyccevy-cykl-pragramnaga-zabespyachennya-panyacce-standarty-pracesy.html

DE: https://tostpost.com/de/computer/21530-lebenszyklus-software-konzept-standards-prozesse.html

En: https://tostpost.com/computers/16717-the-life-cycle-of-software-concept-standards-processes.html

ES: https://tostpost.com/es/los-ordenadores/21553-el-ciclo-de-vida-de-software-concepto-normas-procesos.html

HI: https://tostpost.com/hi/computers/12030-the-life-cycle-of-software-concept-standards-processes.html

JA: https://tostpost.com/ja/computers/12031-the-life-cycle-of-software-concept-standards-processes.html

KK: https://tostpost.com/kk/komp-yuterler/21512-m-rl-k-cikl-ba-darlamaly-amtamasyz-etu-t-s-n-g-standarttary-procester.html

PL: https://tostpost.com/pl/komputery/21478-cykl-ycia-oprogramowania-poj-cie-standardy-procesy.html

PT: https://tostpost.com/pt/computadores/21481-ciclo-de-vida-de-software-conceito-normas-processos.html

TR: https://tostpost.com/tr/bilgisayarlar/21522-ya-am-d-ng-s-yaz-l-m-kavram-standartlar-s-re-ler.html

ZH: https://tostpost.com/zh/computers/12784-the-life-cycle-of-software-concept-standards-processes.html






Alin Trodden - автор статті, редактор
"Привіт, Я Алін Тродден. Я пишу тексти, читаю книги і шукаю враження. І я непогано вмію розповідати вам про це. Я завжди радий брати участь у цікавих проектах."

Примітка (0)

Ця стаття не має коментарів, будьте першим!

Додати коментар

Новини

Ігровий кермо з педалями: огляд, особливості, види та відгуки

Ігровий кермо з педалями: огляд, особливості, види та відгуки

Ігри в жанрі автосимулятора зараз вже не такі популярні, як раніше. Хоча, хто з нас не любить поганяти у віртуальні гонки? Але щоб гра стала більш реалістичною, деякі віддають перевагу ігровому керма з педалями. Цей девайс об'єкти...

Підключаємо мережний диск

Підключаємо мережний диск

Підключити мережний диск Windows 7 – мудре і практичне рішення з вашого боку. Зараз поясню, чому. Той, хто організував в своєму будинку локальну мережу, постійно користується певними даними, які знаходяться на інших комп'юте...

Як зробити предмети в

Як зробити предмети в "Майнкрафте" з допомогою верстата?

"Майнкрафт" - це гра, в якій у вас не буде навчання, вам не дадуть ніяких установок або завдань, вам не будуть роз'яснювати, що і як робити. Ви опинитеся посеред величезного світу, повного небезпек, взагалі без будь-яких пристосув...

Докладно про те, як побудувати портал в світ Ендер

Докладно про те, як побудувати портал в світ Ендер

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

Процесор Intel Core i7-930: огляд, характеристики і відгуки

Процесор Intel Core i7-930: огляд, характеристики і відгуки

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

Бредн Qumo. Навушники бездротового типу

Бредн Qumo. Навушники бездротового типу

Для того щоб вибрати дійсно якісну бездротову гарнітуру, необхідно добре розбиратися в пропонованому асортименті. Моделей представлено дуже багато, серед них є і справді варті уваги варіанти, за словами виробника. Однак потрібно з...