Програмне забезпечення та комп'ютерні науки
У сучасному суспільстві комп'ютери стали невід’ємною та неминучою частиною. Однак ми менше зосереджуємось на внутрішній роботі цих звичних речей. Інформатика є теоретичною основою комп'ютерних систем, тоді як інженерія програмного забезпечення - це застосування цих принципів у проблемах для розробки програмного рішення.
Комп'ютерна наука
Інформатика - це основна наука обчислювальної техніки та програмного забезпечення. Він забезпечує розуміння механізму як програмних, так і апаратних компонентів та теоретичних основ обчислення для впровадження та застосування в комп'ютерних системах.
Інформатика складається з багатьох основних дисциплін. Обчислювальна теорія, теорія інформації та кодування, алгоритми та структура даних та теорія мови програмування належать до теоретичної інформатики. Піддисципліни інформатики - це штучний інтелект, архітектура та інженерія комп'ютерів, комп’ютерна графіка та візуалізація, криптографія та комп'ютерна безпека, комп'ютерні мережі, паралельні, паралельні та розподілені системи, бази даних та пошук інформації та інженерія програмного забезпечення.
Багато з цих піддисциплін засновані на математичних теоріях. Деякі аспекти застосування пов'язані з мехатронікою та іншими прикладними науками.
Крім того, ці дисципліни поширюються на незначні навчальні області. Наприклад, обчислювальна теорія містить досліджувані області, такі як теорія автоматичних даних, теорія обчислюваності, теорія складності, криптографія та квантова теорія обчислень.
Розробка програмного забезпечення
Інженерія програмного забезпечення може розглядатися як одна з основних піддисциплін прикладної інформатики. Основна увага приділяється побудові ефективних програмних систем, що використовують суворий інженерний підхід. Це можна охарактеризувати як систематичний, дисциплінований, кількісно вимірюваний підхід до розробки, розробки, експлуатації та обслуговування програмного забезпечення та вивчення цих підходів. Існує не одне прийняте визначення інженерії програмного забезпечення, а тлумачення його призначення.
Фріц Бауер визначив інженерію програмного забезпечення як «Створення та використання принципів надійної інженерії з метою отримання економічно розробленого програмного забезпечення, яке є надійним і ефективно працює на реальних машинах».
Програмне забезпечення не є фізичним; це логічні суб'єкти, що працюють в комп'ютерній системі. Тому він повинен бути розроблений для досягнення оптимальної продуктивності як в апаратному, так і в операційному аспектах. Для досягнення цих цілей інженери програмного забезпечення використовують моделі розробки. Ці моделі містять основні етапи розробки програмного забезпечення, такі як проектування, кодування, усунення несправностей та обслуговування в цілісну рамку, що дозволяє систематично просунути програмне забезпечення протягом його життєвого циклу.
Яка різниця між програмною інженерією та інформатикою?
• Інформатика зосереджується на теоретичних аспектах обчислень, як програмних, так і апаратних засобів.
• Інженерія програмного забезпечення зосереджується на розробці програмного забезпечення систематично. Кодування або програмування є ключовим компонентом інженерії програмного забезпечення.
• Інженерія програмного забезпечення може розглядатися як застосування теорії обчислень (наприклад, ефективність алгоритму можна виміряти за допомогою складності, що описана в теорії інформатики, але його застосування знаходиться в області інженерії програмного забезпечення, де найбільш підходящий алгоритм є вибирається за допомогою складності).