Software Engineering vs Systems Engineering
Engineering er disciplinen, der beskæftiger sig med anvendelsen af naturvidenskab, matematik og andre typer viden til at designe og udvikle produkter og tjenester, der forbedrer livskvaliteten. Engineering kan opdeles i mange underdiscipliner, som specialiserer sig på mange domæner ved hjælp af forskellige typer teknologier. Software Engineering og Systems Engineering er to sådanne underdiscipliner. Software Engineering beskæftiger sig med at designe og udvikle software af højeste kvalitet, mens Systems Engineering er underdisciplinen af engineering, som beskæftiger sig med den overordnede ledelse af ingeniørprojekter i deres livscyklus.
Hvad er Software Engineering?
Softwareteknik beskæftiger sig med design og udvikling af software af højeste kvalitet. En softwareingeniør analyserer, designer, udvikler og tester software. Softwareingeniører udfører softwareingeniørprojekter, som norm alt har en standard softwarelivscyklus. For eksempel vil Water Fall Software Life cycle omfatte en analysefase, designfase, udviklingsfase, test- og verifikationsfase og endelig implementeringsfasen. Analysefasen ser på det problem, der skal løses, eller de muligheder, der skal gribes ved at udvikle softwaren. Nogle gange udfører en separat forretningsanalytiker denne fase. I små virksomheder kan softwareingeniører dog udføre denne opgave. Designfasen involverer at producere designdokumenterne såsom UML-diagrammer og ER-diagrammer, der afbilder den overordnede struktur af softwaren, der skal udvikles, og dens komponenter. Udviklingsfasen involverer programmering eller kodning ved hjælp af et bestemt programmeringsmiljø. Testfasen handler om at verificere, at software er fejlfri og også opfylder alle kundekrav. Til sidst implementeres den færdige software på kundestedet (nogle gange af en separat implementeringsingeniør). I de senere år har der været en hurtig vækst af andre softwareudviklingsmetoder for yderligere at forbedre effektiviteten af softwareudviklingsprocessen. For eksempel fokuserer agile metoder på inkrementel udvikling med meget korte udviklingscyklusser. Softwareingeniørfaget er et højt vurderet job på grund af dets meget høje løninterval.
Hvad er Systems Engineering?
System Engineering er underdisciplinen inden for ingeniørvidenskab, som beskæftiger sig med den overordnede ledelse af ingeniørprojekter i løbet af deres livscyklus (med mere fokus på fysiske aspekter). Det beskæftiger sig med logistik, teamkoordinering, automatisk maskinstyring, arbejdsprocesser og lignende værktøjer. De fleste gange overlapper System Engineering begreberne industriteknik, kontrolteknik, organisations- og projektledelse og endda softwareteknik. System Engineering er identificeret som et tværfagligt ingeniørfelt af denne grund. Systemingeniør kan udføre systemdesign, udvikling af krav, verifikation af krav, systemtest og andre tekniske undersøgelser.
Hvad er forskellen mellem Software Engineering og Systems Engineering?
Forskellen mellem System Engineering og Software Engineering er ikke særlig klar. Det kan dog siges, at Systemingeniørerne fokuserer mere på brugere og domæner, mens Software Engineering fokuserer mere på n implementering af kvalitetssoftware. System Engineer kan beskæftige sig med en betydelig mængde hardware engineering, men typisk vil softwareingeniører udelukkende fokusere på softwarekomponenter. Systemingeniører kan have en bredere uddannelse (herunder teknik, matematik og datalogi), mens softwareingeniører kommer fra en baggrund inden for datalogi eller datateknik.