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

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

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

Видео: Разлика между софтуерното инженерство и компютърните науки
Видео: Програмният език C+, представен от ученичката ми Ния Гелина, ученичка в 164 ГПИЕ 2024, Април
Anonim

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

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

Информатика

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

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

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

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

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

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

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

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

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

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

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

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

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