Разлика между софтуерното инженерство и компютърните науки

Разлика между софтуерното инженерство и компютърните науки
Разлика между софтуерното инженерство и компютърните науки

Видео: Разлика между софтуерното инженерство и компютърните науки

Видео: Разлика между софтуерното инженерство и компютърните науки
Видео: Лицензиране на софтуер – традиционни и свободни (FOSS) лицензи (Ana Lazarova) 2024, Юли
Anonim

Софтуерно инженерство срещу компютърни науки

В съвременното общество компютрите са станали неразделна и неизбежна част. Ние обаче се фокусираме по-малко върху вътрешната работа на тези познати неща. Компютърната наука е теоретичната основа на компютърните системи, докато софтуерното инженерство е приложение на тези принципи в проблеми за разработване на софтуерно решение.

Компютърни науки

Компютърните науки са основните науки за компютърния хардуер и софтуер. Той предоставя представа за механизма както на софтуерните, така и на хардуерните компоненти и теоретичните основи на изчисленията за внедряване и приложение в компютърни системи.

Компютърните науки се състоят от много основни поддисциплини. Изчислителната теория, теорията на информацията и кодирането, алгоритмите и структурата на данните и теорията на езика за програмиране принадлежат към теоретичната компютърна наука. Поддисциплините на приложните компютърни науки са изкуствен интелект, компютърна архитектура и инженерство, компютърна графика и визуализация, криптография и компютърна сигурност, компютърни мрежи, едновременни, паралелни и разпределени системи, бази данни и извличане на информация и софтуерно инженерство.

Много от тези поддисциплини се основават на математически теории. Някои аспекти на приложението са свързани с мехатрониката и други приложни науки.

Също така, тези поддисциплини се простират във второстепенни учебни области. Например изчислителната теория съдържа области на изследване като теория на автоматите, теория на изчислимостта, теория на сложността, криптография и теория на квантовите изчисления.

Софтуерно инженерство

Софтуерното инженерство може да се счита за една от основните поддисциплини на приложната компютърна наука. Той се фокусира върху изграждането на ефективни софтуерни системи, използвайки строг инженерен подход. Може да се опише като систематичен, дисциплиниран, количествено измерим подход към проектирането, разработването, експлоатацията и поддръжката на софтуер и изследването на тези подходи. Няма едно общоприето определение за софтуерно инженерство, а тълкуване на неговата цел.

Фриц Бауер дефинира софтуерното инженерство като „Създаването и използването на стабилни инженерни принципи, за да се получи икономично разработен софтуер, който е надежден и работи ефективно на реални машини“.

Софтуерът не е физически; това са логически единици, работещи в компютърна система. Следователно той трябва да бъде проектиран за оптимална производителност както в хардуерен, така и в операционен аспект. За постигането на тези цели софтуерните инженери използват модели за разработка. Тези модели включват основни стъпки от разработката на софтуер като проектиране, кодиране, отстраняване на неизправности и поддръжка в сплотена рамка, която позволява систематичен напредък на софтуера през неговия жизнен цикъл.

Каква е разликата между софтуерното инженерство и компютърните науки?

• Компютърните науки се фокусират върху теоретичните аспекти на компютрите, както в софтуера, така и в хардуера.

• Софтуерното инженерство се фокусира върху системното разработване на софтуер. Кодирането или програмирането е ключов компонент на софтуерното инженерство.

• Софтуерното инженерство може да се разглежда като приложение на изчислителната теория (например ефективността на даден алгоритъм може да бъде измерена с помощта на сложността, която е описана в теорията на компютърните науки, но приложението му е в областта на софтуера инженерство, където най-подходящият алгоритъм се избира с помощта на сложността).

Препоръчано: