Що таке програмна інженерія? Визначення, основи, характеристики

Зміст:

Anonim

Що таке програмна інженерія?

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

Давайте розглянемо різні визначення програмної інженерії:

  • IEEE у своєму стандарті 610.12-1990 визначає програмну інженерію як застосування системного, дисциплінованого, що є обчислювальним підходом до розробки, експлуатації та обслуговування програмного забезпечення.
  • Фріц Бауер визначив це як "установу та використовував стандартні інженерні принципи. Це допомагає отримати економічно надійне програмне забезпечення, яке ефективно працює на реальних машинах '.
  • Бем визначає програмну інженерію, яка передбачає "практичне застосування наукових знань для креативного проектування та побудови комп'ютерних програм. Він також включає відповідну документацію, необхідну для їх розробки, експлуатації та обслуговування ''.

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

  • Що таке програмна інженерія?
  • Чому розробка програмного забезпечення? Криза програмного забезпечення та його рішення
  • Чому розробка програмного забезпечення популярна?
  • Зв'язок інженерії програмного забезпечення з іншими дисциплінами
  • Проблеми програмної інженерії
  • Атрибути програмних продуктів
  • Характеристика хорошого програмного забезпечення

Чому розробка програмного забезпечення? Криза програмного забезпечення та її рішення:

У чому полягала криза програмного забезпечення?

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

Усі вищезазначені проблеми призводять до "кризи програмного забезпечення".

Рішення

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

  • Наприкінці 1970-х років широко застосовувались принципи програмної інженерії.
  • У 1980-х роках спостерігається автоматизація процесу інженерії програмного забезпечення та зростання (CASE) автоматизованої інженерії програмного забезпечення.
  • У 1990-х роках спостерігається посилений акцент на "управлінських" аспектах стандартів якості та процесів проектів, як ISO 9001

Чому розробка програмного забезпечення популярна?

Ось важливі причини популярності програмного забезпечення:

  • Велике програмне забезпечення - У нашому реальному житті будувати стіни набагато зручніше, ніж будинок чи будівля. Так само, як розмір програмного забезпечення стає великим, програмна інженерія допомагає створювати програмне забезпечення.
  • Масштабованість - якби процес розробки програмного забезпечення базувався на наукових та інженерних концепціях, простіше відтворити нове програмне забезпечення для масштабування вже існуючого.
  • Адаптованість : Коли б процес програмного забезпечення базувався на науковому та інженерному рівні, легко створювати нове програмне забезпечення за допомогою програмної інженерії.
  • Вартість - Апаратна індустрія продемонструвала свої навички, а величезне виробництво знижує вартість комп'ютерного та електронного обладнання.
  • Динамічна природа - Завжди розвивається та адаптується характер програмного забезпечення. Це залежить від середовища, в якому працює користувач.
  • Управління якістю : пропонує кращий метод розробки програмного забезпечення для забезпечення якісних програмних продуктів.

Зв'язок інженерії програмного забезпечення з іншими дисциплінами

Ось як програмна інженерія пов’язана з іншими дисциплінами:

  • Комп’ютерні науки: дає наукову основу для програмного забезпечення, оскільки електротехніка в основному залежить від фізики.
  • Наука про менеджмент: Розробка програмного забезпечення - це трудомістка робота, яка вимагає як технічного, так і управлінського контролю. Тому він широко використовується в науці управління.
  • Економіка: У цьому секторі програмне забезпечення допомагає вам оцінювати ресурси та контролювати витрати. Потрібно розробити обчислювальну систему, а дані слід регулярно підтримувати в межах заданого бюджету.
  • Системна інженерія: Більшість програмного забезпечення є компонентом набагато більшої системи. Наприклад, програмне забезпечення в промисловій системі моніторингу або льотне програмне забезпечення на літаку. Для вивчення систем цього типу слід застосовувати методи програмної інженерії.

Проблеми програмної інженерії

Ось кілька критичних проблем, з якими стикаються інженери-програмісти:

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

Атрибути програмних продуктів

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

Вони не є послугами, які надає товар. Натомість вони пов’язані з динамічною поведінкою товарів та використанням товару.

Прикладами цих атрибутів є:

Efficiency, reliability, robustness, maintainability, etc.

Однак відносна важливість цих характеристик варіюється залежно від однієї програмної системи.

Характеристика товару Опис
Ремонтопридатність Програмне забезпечення має розвиватися відповідно до мінливих потреб клієнтів.
Надійність Надійність включає різні характеристики. Надійне програмне забезпечення ніколи не повинно заподіювати фізичну чи економічну шкоду під час відмови системи.
Ефективність Програма повинна зловживати системними ресурсами, такими як пам'ять і цикл процесора.
Юзабіліті Програма повинна мати певний інтерфейс користувача та документацію.

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

Характеристика хорошого програмного забезпечення

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

Кожне програмне забезпечення повинно відповідати наступним атрибутам:

  • Оперативні
  • Перехідний
  • Технічне обслуговування

Ось деякі важливі характеристики хорошого програмного забезпечення, розробленого професіоналами програмного забезпечення

Оперативні

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

  • Бюджет
  • Ефективність
  • Юзабіліті
  • Надійність
  • Правильність
  • Функціональність
  • Безпека
  • Безпека

Перехідний

Це важливий аспект, коли програмне забезпечення переміщується з однієї платформи на іншу:

  • Сумісність
  • Багаторазове використання
  • Переносимість
  • Адаптованість

Технічне обслуговування

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

  • Гнучкість
  • Ремонтопридатність
  • Модульність
  • Масштабованість

Резюме

  • Програмна інженерія - це процес аналізу вимог користувача, а потім проектування, побудова та тестування програмного забезпечення, яке задовольнить ці вимоги
  • Важливими причинами використання програмної інженерії є: 1) велике програмне забезпечення, 2) масштабованість 3) адаптивність 4) вартість та 5) динамічна природа.
  • Наприкінці 1960-х багато програмного забезпечення перевищує бюджет. Тому він пропонує ненадійне програмне забезпечення, яке дороге в обслуговуванні.
  • Наприкінці 1970-х років широко застосовувались принципи програмної інженерії.
  • Концепція програмної інженерії 1) Інформатика 2) Наука про управління 3) Інженерія систем та 4) Економіка
  • Підвищені вимоги ринку до швидкого часу виконання є найбільшими проблемами в галузі програмного забезпечення.
  • 1) ремонтопридатність, 2) надійність, 3) ефективність та, 4) юзабіліті є найважливішими атрибутами програмних продуктів.
  • Три найважливіші характеристики хорошого програмного забезпечення: 1) операційна 2) перехідна 3) технічне обслуговування.