Verschil tussen software engineering en computerwetenschappen | Software Engineering vs Computer Science
Software Engineering vs Computer Science
In moderne samenleving zijn computers een integraal en onvermijdelijk onderdeel geworden. We richten ons echter minder op de innerlijke werking van deze bekende dingen. Computerwetenschappen is de theoretische basis van de computersystemen, terwijl software engineering een toepassing van die principes betreft in problemen om een software oplossing te ontwikkelen.
Computerwetenschappen
Computerwetenschappen is de basiswetenschap van computerhardware en software. Het biedt inzicht in het mechanisme van zowel software- als hardwarecomponenten en theoretische grondslagen van berekeningen voor implementatie en toepassing in computersystemen.
Computerwetenschappen bestaat uit veel belangrijke subdisciplines. Computational Theorie, Informatie- en coderingstheorie, algoritmes en datastructuur, en de programmeertaal theorie behoren tot de theoretische informatica. Toegepaste computerwetenschappen subdisciplines zijn kunstmatige intelligentie, computer architectuur en engineering, computer graphics en visualisatie, cryptografie en computer beveiliging, computernetwerken, gelijktijdige, parallelle en gedistribueerde systemen, databases en informatie retrieval, en software engineering.
Veel van deze subdisciplines zijn gebaseerd op wiskundige theorieën. Sommige toepassingsaspecten zijn verbonden aan mechatronica en andere toegepaste wetenschappen.
Deze subdisciplines strekken zich ook uit in kleine studiegebieden. De Computational Theorie bevat bijvoorbeeld studiegebieden zoals Automata theorie, Computability Theorie, Complexity Theorie, Cryptografie, en Quantum computing theorie.
Software Engineering
Software engineering kan worden beschouwd als een van de belangrijkste subdisciplines van toegepaste computerwetenschappen. Het richt zich op het bouwen van effectieve software systemen met behulp van een strikte engineering aanpak. Het kan worden omschreven als een systematische, gedisciplineerde, kwantificeerbare benadering van het ontwerp, de ontwikkeling, de exploitatie en het onderhoud van software en de studie van deze benaderingen. Er is niemand geaccepteerd definitie van software engineering, maar een interpretatie van zijn doel.
Fritz Bauer gedefinieerde software engineering als "De oprichting en het gebruik van geluidsingenieursbeginselen om economisch ontwikkelde software te verkrijgen die betrouwbaar is en efficiënt werkt op echte machines".
Software is niet fysiek; Het zijn logische entiteiten die werken binnen een computersysteem. Daarom moet het worden ontworpen voor optimale prestaties in zowel hardware als operatie aspecten.Voor het verkrijgen van deze doelen, gebruiken software ingenieurs ontwikkelingsmodellen. Deze modellen bevatten de belangrijkste stappen van softwareontwikkeling, zoals het ontwerpen, coderen, oplossen van problemen en het onderhoud in een samenhangend kader waardoor systematische vooruitgang van de software door middel van de levenscyclus mogelijk is.
Wat is het verschil tussen Software Engineering en Computer Science?
• Computerwetenschappen richt zich op de theoretische aspecten van de computer, zowel in software als in hardware.
• Software engineering richt zich systematisch op de ontwikkeling van software. Coderen of programmeren is een belangrijk onderdeel van software engineering.
• Software engineering kan gezien worden als een toepassing van de computertheorie (bijvoorbeeld, een efficiëntie van een algoritme kan worden gemeten met behulp van complexiteit, die wordt beschreven in de computerwetenschappen theorie, maar het is applicatie binnen het domein van software engineering waar de meeste geschikt algoritme wordt gekozen door middel van de complexiteit).