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