Що таке програмна інженерія? Характеристики, визначення
⚡ Розумний підсумок
Програмна інженерія – це дисциплінований процес аналізу вимог, а потім проектування, створення та тестування програмного забезпечення, яке їм відповідає. У цьому ресурсі пояснюються її визначення, криза програмного забезпечення, яка її спричинила, її популярність, суміжні дисципліни, проблеми та характеристики якісного програмного забезпечення.

Що таке інженерія програмного забезпечення?
Програмна інженерія визначається як процес аналізу вимог користувача, а потім проектування, створення та тестування програмного застосунку, який задовольнятиме ці вимоги.
Давайте розглянемо різні визначення програмної інженерії:
- IEEE у своєму стандарті 610.12-1990 визначає програмну інженерію як застосування систематичного, дисциплінованого та обчислювального підходу до розробки, експлуатації та підтримки програмного забезпечення.
- Фріц Бауер визначив це як «встановлення та використання стандартних інженерних принципів. Це допомагає вам отримати економічно вигідне програмне забезпечення, яке є надійним та ефективно працює на реальних машинах».
- Бем визначає програмну інженерію як «практичне застосування наукових знань до творчого проектування та створення комп'ютерних програм. Вона також включає супутню документацію, необхідну для розробки»ping, їх експлуатацію та обслуговування».
Чому програмна інженерія? Криза програмного забезпечення та її вирішення
Що таке криза програмного забезпечення?
- Це було наприкінці 1960-х років, коли багато програмних проектів провалилися.
- Багато програмного забезпечення перевищило бюджет. Результатом було ненадійне програмне забезпечення, яке було дорогим в обслуговуванні.
- Більше програмне забезпечення було складним і досить дорогим для підтримки.
- Багато програмного забезпечення не могло задовольнити зростаючі вимоги замовника.
- Складність програмних проектів зростала щоразу, коли збільшувалися можливості їхнього апаратного забезпечення.
- Попит на нове програмне забезпечення зростав швидше, ніж можливість створювати нове програмне забезпечення.
Усі вищезазначені проблеми призвели до «програмної кризи».
Рішення
Рішенням проблеми було перетворення неорганізованого програмування на дисципліну програмної інженерії. Ці інженерні моделі допомогли компаніям оптимізувати операції та створювати програмне забезпечення, що відповідає вимогам клієнтів.
- Кінець 1970-х років став свідком широкого використання принципів програмної інженерії.
- У 1980-х роках відбулася автоматизація процесу розробки програмного забезпечення та розвиток автоматизованої розробки програмного забезпечення (CASE).
- У 1990-х роках посилився акцент на «управлінських» аспектах проектів та стандартах якості й процесів, таких як ISO 9001.
Чому розробка програмного забезпечення популярна?
Ось важливі причини популярності розробки програмного забезпечення:
- Велике програмне забезпечення – У реальному житті набагато легше побудувати стіну, ніж будинок чи будівлю. Так само, коли розмір програмного забезпечення стає великим, програмна інженерія допомагає вам створювати це програмне забезпечення.
- масштабованість – Якщо процес розробки програмного забезпечення базується на наукових та інженерних концепціях, легше відтворити нове програмне забезпечення для масштабування існуючого.
- Адаптованість – Коли процес розробки програмного забезпечення базується на наукових та інженерних принципах, за допомогою програмної інженерії легко відтворити нове програмне забезпечення.
- Коштувати – Індустрія апаратного забезпечення продемонструвала свої навички, а величезне виробництво знизило вартість комп’ютерів та електронного обладнання.
- Динамічна природа – Постійно зростаючий та адаптивний характер програмного забезпечення. Це залежить від середовища, в якому працює користувач.
- Управління якістю – Пропонує кращий метод розробки програмного забезпечення для забезпечення якісних програмних продуктів.
Зв'язок програмної інженерії з іншими дисциплінами
Ось як програмна інженерія пов'язана з іншими дисциплінами:
- Комп'ютерна наука: Дає наукову основу для програмного забезпечення, так само як фізика є основою для електротехніки.
- Наука управління: Розробка програмного забезпечення — це трудомістка робота, яка вимагає як технічного, так і управлінського контролю. Тому вона широко використовується в управлінській науці.
- Економіка: У цьому секторі програмна інженерія допомагає вам в оцінці ресурсів та контролі витрат. Необхідно розробити обчислювальну систему, а дані слід регулярно підтримувати в рамках заданого бюджету.
- Системна інженерія: Більшість програмного забезпечення є компонентом набагато більшої системи, наприклад, програмне забезпечення в системі промислового моніторингу або програмне забезпечення для польотів літака. Для вивчення цих типів систем слід застосовувати методи програмної інженерії.
Проблеми розробки програмного забезпечення
Ось кілька критичних проблем, з якими стикаються розробники програмного забезпечення:
- У критично важливих для безпеки галузях, таких як космос, авіація та атомні електростанції, вартість програмного збою може бути величезною, оскільки під загрозою знаходяться життя.
- Підвищені вимоги ринку до швидкого виконання робіт.
- Робота зі зростаючою складністю програмного забезпечення, необхідного для нових застосувань.
- Різноманітність програмних систем, які повинні взаємодіяти одна з одною.
Атрибути програмних продуктів
Характеристики будь-якого програмного продукту включають функції, які відображаються продуктом під час його встановлення та введення в експлуатацію.
Це не послуги, що надаються продуктом. Натомість вони пов'язані з динамічною поведінкою продукту та його використанням.
Приклади цих атрибутів:
Efficiency, reliability, robustness, maintainability, etc.
Однак відносна важливість цих характеристик відрізняється від однієї програмної системи до іншої.
| характеристики продукту | Опис |
|---|---|
| Підтримка | Програмне забезпечення має розвиватися, щоб відповідати мінливим вимогам клієнтів. |
| Надійність | Надійність включає в себе різні характеристики. Надійне програмне забезпечення ніколи не повинно завдавати будь-яких фізичних чи економічних збитків під час збою системи. |
| Ефективність | Програмний застосунок не повинен надмірно використовувати системні ресурси, такі як пам'ять і цикли процесора. |
| Юзабіліті | Програмний застосунок повинен мати відповідний інтерфейс користувача та документацію. |
Оптимізація вищезазначених атрибутів є дуже складною. Наприклад, пропозиція кращого інтерфейсу користувача може знизити ефективність системи.
Характеристики хорошого програмного забезпечення
Будь-яке програмне забезпечення слід оцінювати за тим, що воно пропонує, та методами, які допомагають вам його використовувати.
Кожне програмне забезпечення має відповідати таким атрибутам:
- Operaнаціональний
- Перехідний
- технічне обслуговування
Ось деякі важливі характеристики хорошого програмного забезпечення, розробленого фахівцями з розробки програмного забезпечення.
Operaнаціональний
Ця характеристика дозволяє нам зрозуміти, наскільки добре програмне забезпечення працює в операціях, що можна виміряти за:
- бюджет
- Ефективність
- Юзабіліті
- Надійність
- Правильність
- Функціональність
- Безпека
- Безпека
Перехідний
Це важливий аспект, коли програмне забезпечення переміщується з однієї платформи на іншу:
- Взаємодія
- Багаторазовість
- Портативність
- Адаптованість
технічне обслуговування
Цей аспект говорить про те, наскільки добре програмне забезпечення має здатність адаптуватися до швидкозмінного середовища:
- Гнучкість
- Підтримка
- Модульність
- масштабованість

