У сфері розробки програмного забезпечення, профілактичне обслуговування є процесом, спрямованим на передбачення майбутніх проблем, щоб гарантувати, що ваше програмне забезпечення чи система працюватимуть безперебійно якомога довше.
Ви можете придбати складну та дорогу систему для щоденного використання. Або ж ви можете доручити власній команді розробників створити систему, що відповідатиме вашим потребам.
Однак, витрати на програмне забезпечення не закінчуються його покупкою. Якщо ви хочете, щоб ваша програма функціонувала без збоїв, вам потрібно інвестувати у її підтримку.
Технічне обслуговування поділяється на чотири категорії: адаптивне, коригувальне, удосконалювальне та профілактичне. Хоча кожен тип має свої переваги, у цій статті ми зосередимося на профілактичному обслуговуванні.
У сучасному світі профілактичне обслуговування передбачає аналіз даних про роботу, використання машинного навчання та постійний моніторинг стану ресурсів для оптимізації технічного обслуговування та зменшення ризиків для надійності бізнес-процесів або підприємства.
Чому профілактичне обслуговування важливе?
Головною метою профілактичного обслуговування програмного забезпечення є покращення його функціональності та виправлення виявлених недоліків. Воно є природним етапом розвитку програмного забезпечення.
Компанії повинні бути в курсі останніх тенденцій у розробці програмного забезпечення, щоб забезпечити найкращий досвід для своїх клієнтів та підвищити ефективність своїх платформ.
Перш ніж система буде повністю обслужена, вона проходить кілька етапів:
#1. Етап ідентифікації проблеми
На цьому етапі визначаються запити на модифікацію та їм присвоюється ідентифікаційний номер. Потім кожен запит на модифікацію (ЗМ) оцінюється для визначення відповідного типу обслуговування. Це необхідно, оскільки існують різні види запитів на технічне обслуговування програмного забезпечення. Кожна модифікація повинна зберігатися у відповідному сховищі згідно з її типом і пріоритетом. Якщо профілактичне обслуговування визначено як рішення, ми переходимо до наступного етапу.
#2. Етап аналізу проблеми
На цьому етапі визначається обсяг та доцільність кожного підтвердженого запиту на модифікацію, а також розробляється план дій. Здійснюється попередня оцінка необхідних ресурсів, визначається місце зберігання даних та готується проектна документація.
На етапі аналізу проблеми готується техніко-економічне обґрунтування. Звіт міститиме таку інформацію:
- Очікуваний вплив змін
- Короткострокові та довгострокові цілі організації
- Доступні альтернативні рішення
- Безпекові наслідки та заходи безпеки
#3. Етап проєктування
Після прийняття рішення про внесення змін, необхідно розробити план їх реалізації, наприклад, профілактичне обслуговування. На цьому етапі виконуються такі дії:
- Виявлення програмних модулів, які зазнають змін
- Модифікація відповідної документації програмних модулів. Аналізуються такі параметри як мова програмування та діаграми потоків даних.
- Розробка тестових сценаріїв для нового проєкту
- Документування оновлених вимог
#4. Етап впровадження
На цьому етапі вноситься фактичний код. Виконуються такі кроки:
- Кодування та модульне тестування.
- Інтеграція. Закодоване програмне забезпечення інтегрується з існуючою системою.
- Аналіз та оцінка ризиків. Не потрібно чекати етапу тестування, щоб оцінити ризики, пов’язані з обслуговуванням. Серед них – резервне копіювання та втрата даних.
#5. Етап тестування
Цей етап гарантує відсутність нових помилок в існуючій системі. Вхідними даними є оновлена документація, оновлена система та звіт про готовність до тестування. Модифікований програмний пакет піддається функціональному системному тестуванню, регресійному тестуванню та тестуванню інтерфейсу.
#6. Етап приймального тестування
Після тестування модифікованого програмного модуля необхідно перевірити, чи належним чином працює вся інтегрована система. Мета цього етапу полягає у виявленні помилок та перевірці відповідності внесених змін прийнятим стандартам.
Перевірці підлягають такі елементи: повністю інтегрована система, процедури приймальних випробувань, плани приймальних випробувань та приклади приймальних випробувань. Наприкінці цього етапу складаються звіт FCA та звіт про приймальні випробування.
#7. Етап здачі
На цьому етапі модифіковане програмне забезпечення надається кінцевим користувачам. Користувачі також отримують супровідні файли та оновлену документацію, що описує роботу програмного забезпечення. Типові кроки на цьому етапі:
- Аудит фізичної конфігурації (PCA)
- Інформування користувачів про нові зміни
- Встановлення модифікованої системи та сповіщення користувачів
- Забезпечення можливості резервного копіювання системи
Види профілактичного обслуговування
#1. На основі використання
Профілактичне обслуговування на основі використання проводиться після звичайного використання системи. Такий підхід враховує щоденну експлуатацію системи та використовує ці дані для встановлення або прогнозування дати технічного обслуговування чи перевірки.
#2. На основі часу
Профілактичне обслуговування на основі часу/календаря проводиться через певні проміжки часу. Це може бути щотижня, раз на два тижні, щомісяця, щоквартально, раз на півроку або навіть щорічно. Заплановані роботи з технічного обслуговування запускаються автоматично при наближенні встановленого терміну.
#3. Прогнозне
Прогнозне технічне обслуговування планує коригувальні дії до виникнення проблеми/збою. Команда аналізує стан системи для визначення часу проведення технічного обслуговування. Такі заходи плануються для запобігання несподіваним збоям.
#4. Рекомендоване
Рекомендоване технічне обслуговування є більш просунутим, оскільки воно показує, коли саме і чому відбудеться збій. Такий підхід аналізує різні варіанти та потенційні результати для зменшення ризиків.
Коли необхідне профілактичне обслуговування?
Для виправлення багів та помилок
У програмній системі можуть бути присутні помилки. Зараз вони можуть не впливати на роботу, але при запровадженні нових функцій можуть спричинити проблеми. Профілактичне обслуговування усуває ці помилки, щоб запобігти майбутнім проблемам.
Для забезпечення стабільної роботи
Системи зазвичай виходять з ладу тоді, коли цього найменше очікуєш. Це може призвести до призупинення роботи, незручностей для інших і фінансових втрат. Профілактичне обслуговування мінімізує такі перебої та забезпечує належне функціонування компанії.
Для вирішення проблем, що впливають на роботу, до їх виникнення
Деякі прості процедури технічного обслуговування можуть зменшити проблеми, пов’язані з вашим виробництвом. Наприклад, якщо очікується сплеск трафіку в певному місяці, можна внести необхідні зміни, щоб сервери не вийшли з ладу.
Для забезпечення дотримання гарантійних зобов’язань
Якщо ви придбали систему у іншого постачальника, і вона перебуває на гарантії, більшість постачальників вимагатимуть доказів того, що збій не стався через вашу недбалість. Профілактичне обслуговування допоможе уникнути таких випадків.
Приклади профілактичного обслуговування
Реконструкція коду
Профілактичне обслуговування програмного забезпечення може передбачати перетворення структури коду шляхом скорочення його обсягу. Це може зробити код зрозумілішим або сумісним з новим обладнанням чи програмним забезпеченням.
Оптимізація коду
Система може виконувати всі потрібні функції, але не бути оптимізованою. Оптимізація коду зменшує споживання ресурсів, таких як процесор та пам’ять. Оптимізувати код можна як частину профілактичного обслуговування, якщо ви плануєте використовувати нове обладнання або зменшити витрати, пов’язані з системою.
Оновлення документації
Документація є важливою частиною системи, оскільки вона пояснює, як працює програма і які зміни вносилися з часом. Оновлення документації гарантує її відповідність поточному стану системи.
Інструменти для профілактичного обслуговування
Обслуговування програмного забезпечення, незалежно від типу, не повинно виконуватися випадково. Щоб забезпечити безперебійну роботу, вам потрібні такі інструменти:
- Порівняння файлів. Цей інструмент порівнює дві системи або файли та показує відмінності. Він також може визначити, чи ідентичні дві системи або файли.
- Компілятор та компонувальник. Компілятори перевіряють синтаксичні помилки. Також їх можна використовувати для пошуку джерела помилок. Компонувальник використовується для зв’язування скомпільованого коду з іншими компонентами для виконання.
- Відладчик. Він відстежує логіку виконання програми. Деякі браузери, такі як Google Chrome, мають вбудовані інструменти відлагодження.
- Генератор перехресних посилань. Зміни, які вносяться до коду, повинні відповідати існуючій системі. Цей інструмент показує, як зміни вплинуть на різні компоненти коду, якщо буде потрібно змінити вимогу.
Навчальні ресурси
#1. Повний посібник із профілактичного та прогнозованого технічного обслуговування
У “Complete Guide to Preventive and Predictive Maintenance” автор ділиться найкращими практиками, основними кроками для досягнення успіху, а також помилками та перемогами у профілактичному обслуговуванні, накопиченими протягом багатьох років.
Книга охоплює чотири аспекти профілактичного обслуговування: психологічний, інженерний, управлінський та економічний.
#2. Серія «Стратегія технічного обслуговування», том 1 – Профілактичне технічне обслуговування
Ця книга розглядає важливість профілактичного обслуговування для загальної стратегії обслуговування систем компанії.
У ній представлена блок-схема з усіма кроками, яких необхідно дотримуватися під час проведення профілактичного обслуговування.
#3. Посібник інженера з профілактичного обслуговування
У цій книзі описано, як документувати режими відмови та аналізувати їх наслідки під час виконання профілактичного обслуговування.
Ви дізнаєтесь про документування кодів несправностей та ієрархії систем/активів, оцінку ризиків та аналіз режимів відмов.
#4. Основи профілактичного обслуговування
“Основи профілактичного обслуговування” надають економічно обґрунтовані та прості у виконанні кроки для профілактичного обслуговування.
Керівництво детально описує причини несправностей, способи їх виявлення та усунення, а також процес обслуговування.
Висновок
Профілактичне технічне обслуговування є необхідним, якщо ви хочете запобігти збоям системи та забезпечити безперервність роботи. Витрати залежатимуть від внесених змін. Наявність плану обслуговування гарантує безперебійний процес.
Рекомендуємо ознайомитись із найкращими інструментами для тестування програмного забезпечення.