Software Engineering vs Computer Science
I det moderne samfund er computere blevet en integreret og uundgåelig del. Vi fokuserer dog mindre på den indre funktion af disse kendte ting. Computer science er det teoretiske fundament for computersystemerne, hvorimod software engineering er en anvendelse af disse principper i problemer til at udvikle en softwareløsning.
Computer videnskab
Computer science er den grundlæggende videnskab inden for computerhardware og software. Det giver indsigt i mekanismen for både software- og hardwarekomponenter og teoretiske fundamenter for beregning til implementering og anvendelse i computersystemer.
Computervidenskab består af mange større underværdier. Beregningsteori, informations- og kodningsteori, algoritmer og datastruktur og programmeringssprogteori hører til den teoretiske computervidenskab. Anvendte computervidenskabelige underdiscipliner er kunstig intelligens, computerarkitektur og -ingeniør, computergrafik og visualisering, kryptografi og computersikkerhed, computernetværk, Samtidige, parallelle og distribuerede systemer, databaser og informationsindhentning og software engineering.
Mange af disse subdiscipliner er baseret på matematiske teorier. Nogle applikationsaspekter er forbundet med mekatronik og andre anvendte videnskaber.
Disse subdiscipliner udvides også til mindre studieområder. For eksempel indeholder beregningsteorien studieområder såsom Automata teori, Computability theory, Complexity theory, Cryptography og Quantum computing theory.
Software Engineering
Softwareteknik kan betragtes som en af de vigtigste underdiscipliner inden for anvendt datalogi. Det fokuserer på at opbygge effektive softwaresystemer ved hjælp af en streng teknisk tilgang. Det kan beskrives som en systematisk, disciplineret, kvantificerbar tilgang til design, udvikling, drift og vedligeholdelse af software og studiet af disse tilgange. Der er ingen accepteret definition af software engineering, men en fortolkning af dens formål.
Fritz Bauer definerede software engineering som "Oprettelse og anvendelse af lydtekniske principper for at få ø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 det designes til optimal ydelse i både hardware- og driftsaspekter. For at nå disse mål bruger softwareingeniører udviklingsmodeller. Disse modeller inkorporerer hovedtrin i softwareudvikling såsom design, kodning, fejlfinding og vedligeholdelse i en sammenhængende ramme, der tillader systematisk fremgang af softwaren gennem dens livscyklus.
Hvad er forskellen mellem Software Engineering og Computer Science?
• Computer science fokuserer på de teoretiske aspekter af computeren, både inden for software og hardware.
• Software engineering fokuserer på udvikling af software systematisk. Kodning eller programmering er en nøglekomponent i software engineering.
• Software engineering kan ses som en anvendelse af beregningsteorien (for eksempel kan en algoritmes effektivitet måles ved hjælp af kompleksitet, som er beskrevet i computervidenskabsteori, men dens anvendelse ligger inden for det software engineering, hvor den bedst egnede algoritme er valgt ved hjælp af kompleksiteten).