Hvad er software engineering?

click fraud protection

Softwareingeniører og computerprogrammører begge udvikler softwareapplikationer, der kræves af arbejdende computere. Forskellen mellem de to positioner ligger i ansvarsområder og tilgang til jobbet. Softwareingeniører bruger veldefinerede videnskabelige principper og procedurer til at levere et effektivt og pålideligt softwareprodukt.

Software Engineering

Software engineering behandler tilgangen til at udvikle software som en formel proces, der ligner den, der findes i traditionel engineering. Softwareingeniører begynder med at analysere brugerbehov. De designer software, implementerer, tester den for kvalitet og vedligeholder den. De instruerer computerprogrammører hvordan man skriver den kode, de har brug for. Softwareingeniører kan eller måske ikke skriv en hvilken som helst af koden selv, men de har brug for stærke programmeringsfærdigheder for at kommunikere med programmererne og er ofte flydende i flere programmeringssprog.

Softwareingeniører designe og udvikle computerspil, forretningsapplikationer, netværkskontrolsystemer og software-operativsystemer. De er eksperter i teorien om computersoftware og begrænsningerne i den hardware, de designer til.

instagram viewer

Computer-understøttet software engineering

Hele softwaredesignprocessen skal formelt styres længe inden den første kodelinje skrives. Softwareingeniører fremstiller lange designdokumenter ved hjælp af computerstøttet software-engineering-værktøjer. Softwareingeniøren konverterer derefter designdokumenterne til designspecifikationsdokumenter, der bruges til at designe kode. Processen er organiseret og effektiv. Der foregår ingen programmering uden manchet.

papirarbejde

Et kendetegn ved softwareteknik er det papirspor, det producerer. Design er underskrevet af ledere og tekniske myndigheder, og kvalitetssikringens rolle er at kontrollere papirsporet. Mange softwareingeniører indrømmer, at deres job er 70% papirarbejde og 30% kode. Det er en dyr, men ansvarlig måde at skrive software på, hvilket er en af ​​grundene til, at flyvemaskiner i moderne fly er så dyre.

Software Engineering Udfordringer

Producenter kan ikke bygge komplekse livskritiske systemer som fly, atomreaktorkontroller og medicinske systemer og forventer, at softwaren bliver smidt sammen. De kræver, at hele processen styres grundigt af softwareingeniører, så budgetter kan estimeres, rekrutteres personale og risikoen for fiasko eller dyre fejl minimeres.

I sikkerhedskritiske områder som luftfart, rum, kernekraftværker, medicin, branddetektion systemer og rutsjebane, kan udgifterne til softwarefejl være enorme, fordi liv er på risiko. Softwareingeniørens evne til at foregribe problemer og eliminere dem, inden de sker, er kritisk.

Certificering og uddannelse

I nogle dele af verden og i de fleste amerikanske stater kan du ikke kalde dig selv en softwareingeniør uden formel uddannelse eller certificering. Flere af de store softwarevirksomheder, herunder som Microsoft, Oracle og Red Hat, tilbyder kurser mod certificeringer. Mange colleges og universiteter tilbyder grader inden for software engineering. Aspirerende softwareingeniører kan være hovedfag inden for computer science, software engineering, matematik eller computer informationssystemer.

Computerprogrammerere

Programmerere skriver kode til specifikationerne, der er givet dem af softwareingeniører. De er eksperter i de største computerprogrammeringssprog. Selvom de normalt ikke er involveret i de tidlige designstadier, kan de være involveret i test, ændring, opdatering og reparation af koden. De skriver kode på et eller flere af de efterspurgte programmeringssprog, herunder:

  • SQL
  • JavaScript
  • Java
  • C #
  • Python
  • PHP
  • Ruby on Rails
  • Swift
  • Objective-C
  • PHP

Ingeniører vs. Programmører

  • Software engineering er en teamaktivitet. Programmering er primært en ensom aktivitet.
  • En softwareingeniør er involveret i den komplette proces. Programmering er et aspekt af softwareudvikling.
  • En softwareingeniør arbejder på komponenter med andre ingeniører til at opbygge et system. En programmør skriver et komplet program.
instagram story viewer