Forskel mellem software engineering og computer science | Software Engineering vs Computer Science

Anonim

Software Engineering vs Computer Science

I moderne samfund er computere blevet en integreret og uundgåelig del. Vi fokuserer dog mindre på de kendte tinges indre virkninger. Computervidenskab er det teoretiske grundlag for computersystemerne, mens software engineering er en anvendelse af disse principper i problemer for at udvikle en software løsning.

Computervidenskab

Computervidenskab er den grundlæggende videnskab om computerens hardware og software. Det giver indsigt i mekanismen for både software og hardware komponenter og teoretiske grundlag for beregning til implementering og anvendelse i computersystemer.

Computervidenskab består af mange store underdiscipliner. Beregningsteori, Information og kodningsteori, algoritmer og datastruktur og programmeringssprogteori tilhører den teoretiske datalogi. Anvendte computervidenskabelige underdiscipliner er kunstig intelligens, computerarkitektur og teknik, computergrafik og visualisering, kryptering og datasikkerhed, computernetværk, Samtidig, parallel og distribueret systemer, databaser og informationssøgning og software engineering.

Mange af disse underdiscipliner er baseret på matematiske teorier. Nogle applikationsaspekter er forbundet med mekatronik og andre anvendte videnskaber.

Disse underdiscipliner udvides også til mindre studieområder. Eksempelvis indeholder Computational Theory studieområder som Automateteori, Computability Theory, Complexity Theory, Kryptografi og Quantum Computing Theory.

Software Engineering

Software engineering kan betragtes som en af ​​de store underdiscipliner inden for anvendt datalogi. Det fokuserer på at opbygge effektive software systemer ved hjælp af en stringent engineering tilgang. Det kan beskrives som en systematisk, disciplineret, kvantificerbar tilgang til design, udvikling, drift og vedligeholdelse af software og undersøgelsen af ​​disse tilgange. Der er ingen accepteret definition af software engineering, men en fortolkning af dens formål.

Fritz Bauer definerede software engineering som "Etablering og anvendelse af lydtekniske principper for at opnå økonomisk udviklet software, der er pålidelig og fungerer effektivt på rigtige maskiner".

Software er ikke fysisk; Det er logiske enheder, der arbejder inden for et computersystem. Derfor skal den konstrueres for optimal ydeevne både i hardware og operationsaspekter.Til opnåelse af disse mål bruger software ingeniører udviklingsmodeller. Disse modeller indeholder de vigtigste trin i softwareudvikling som design, kodning, fejlfinding og vedligeholdelse i en sammenhængende ramme, der muliggør systematisk fremskridt af softwaren gennem dets livscyklus.

Hvad er forskellen mellem Software Engineering og Computer Science?

• Datavidenskab fokuserer på de teoretiske aspekter af computeren, både i software og hardware.

• Software engineering fokuserer systematisk på udvikling af software. Kodning eller programmering er en vigtig komponent i software engineering.

• Software engineering kan ses som en anvendelse af beregningsteori (for eksempel kan en algoritme effektivitet måles ved hjælp af kompleksitet, som er beskrevet i datalogi teori, men det er ansøgning inden for software engineering hvor mest Egnet algoritme vælges ved hjælp af kompleksiteten).