Що таке програмна інженерія?
Програмна інженерія визначається як процес аналізу вимог користувача, а потім проектування, побудова та тестування програмного забезпечення, яке задовольнить ці вимоги.
Давайте розглянемо різні визначення програмної інженерії:
- 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) технічне обслуговування.