Bedste svar
Software Engineering er en stor legeplads med mange forskellige typer og undertyper, men de vigtigste typer software engineering er to: Systemsoftware og applikationssoftware.
Systemsoftware: Eksempler inkluderer men er ikke begrænset til de programmer, der er dedikeret til styring af computeren eller en eller anden enhed dedikeret til en bestemt opgave såsom: Windows-operativsystem (Microsoft Windows 10), IOS-operativsystem (OS X 10.10 Yosemite., 4.13 OS X 10.11 El Capitan, 4.16 macOS 10.14 Mojave ……), Android-operativsystem (Android OS), Linux (Ubuntu…)
Applikationssoftware: Slutbrugerprogrammer, der gør det muligt for brugeren at udføre opgaver såsom at oprette dokumenter (Microsoft Word, Pages …), sende e-mail (Gmail-applikation), designe grafik (Photoshop) osv.
Og alt det ovenstående kan brydes op i mindre underkomponenter / kategorier, der udgør undertræer i applikationssoftware og undertræer i systemsoftware.
Et eksempel på en underkategori af applikationssoftware: Photoshop er et program, der tilhører en række softwareapplikationer i Adobe Creative Software Suite, der består af Photoshop, InDesign og andre.
I Software Engineering, når en softwareingeniør udvikler et websted, en mobilapp eller et spil: Alle disse applikationer falder ind under kategorien applikationssoftware. Og hvis en software ingeniør udvikler software, der kører på måske en fysisk black box-enhed designet specielt til et bestemt fly: Denne specifikke udvikling kan falde ind under applikationssoftware såvel som systemsoftware, fordi den er designet til specifikt at få en enhed til at fungere, og denne enhed afhænger specifikt af den specifikke software til at starte op og køre en anden komponent, der omfatter eller får blackbox til at fungere: Lad os nu antage, at den samme softwareudvikler har udviklet en ekstra komponent til den sorte boks for at give brugerne adgang til den sorte boks og se flyets aktuelle placering: Den komponent, uanset om den kører i den sorte boks eller på en mobilenhed, falder ind under applikationssoftware.
Svar
Der er forfærdelige softwareingeniører. Der er kun dårlige softwareingeniører. Der er middelmådige softwareingeniører. Der er ret gode softwareingeniører. Der er gode softwareingeniører. Der er gode softwareingeniører.
Og der er softwareingeniører, der leverer software til tiden og under budgettet. Gud hjælper dig, hvis du skal vedligeholde den software, men den var til tiden og under budgettet.
Men seriøst …
Denne liste er ikke inkluderende. Desuden kan den samme SWE spille flere roller, måske på forskellige tidspunkter og måske på forskellige tidspunkter. Dette er forresten ikke bedste praksis.
Der er SWEer, der skriver kravdokumenter. De ved måske ikke engang, hvordan de skal programmere, men de forstår forretningskrav, og de oversætter forretningskravene til programkrav.
Der er designere, der tager kravene og kommer med et softwaredesign. Normalt er deres output noget som et UML-diagram eller et rutediagram (rædsler!) Eller et dataflowdiagram eller en slags pseudokode. De foretager også ofte en analyse af forskellige konkurrencedygtige designs for at se, hvilken der er “optimal”. De udgør også en testplan.
Så er softwareudviklingsingeniørerne (SDEer), der faktisk konverterer kravene til kode. Vi plejede at kalde disse mennesker “programmører”, fordi de skrev programmer, men det ord er faldet i brug (i dag er alle ingeniører eller videnskabsmænd. Bibliotekarer er nu biblioteksforskere. Hjemmeforældre er husholdningsingeniører. Vagterere er bygger nu ingeniører. Lastbilchauffører er nu transportoperatører osv.).
Koden går til softwareudviklingsingeniører i test. De tester softwaren i henhold til testplanen. Normalt er der to testfaser: enhedstest og systemtest.
Endelig går softwaren til at frigive ingeniører. Jeg er ikke ligefrem, hvad de gør, for jeg var et stykke tid.
Der er også tekniske forfattere, der skriver kundedokumentation og supportteknikere, der hjælper kunder, når noget går galt.
Der er salgsstøtteingeniører, og deres job er enten at blænde dem med glans eller forvirre dem med lort. Jeg får at vide, at jeg ville være god til det. Det gør mig bekymret.