Softwareudvikling

Hvad er softwareudvikling?

Ifølge IBM Research: “Softwareudvikling henviser til et sæt computervidenskabelige aktiviteter, der er dedikeret til processen med at oprette, designe, distribuere og understøtte software.”

Selve softwaren er det sæt instruktioner eller programmer, der fortæller en computer, hvad de skal gøre. Det er uafhængigt af hardware og gør computere programmerbare. Der er tre grundlæggende typer:

System software til at levere kernefunktioner såsom operativsystemer, diskadministration, værktøjer, hardwareadministration og andre driftsmæssige behov.

Programmeringssoftware til at give programmører værktøjer såsom tekstredaktører, compilere, linkere, debuggers og andre værktøjer til at oprette kode.

Applikationssoftware (applikationer eller apps) til at hjælpe brugerne med at udføre opgaver. Kontorproduktivitetssuiter, datastyringssoftware, medieafspillere og sikkerhedsprogrammer er eksempler. Programmer henviser også til web- og mobilapplikationer som dem, der bruges til at shoppe på Amazon.com, socialisere med Facebook eller sende billeder på Instagram.1

En mulig fjerde type er indlejret software. Indbygget systemsoftware bruges til at styre maskiner og enheder, der ikke typisk betragtes som computere – telekommunikationsnetværk, biler, industrirobotter og mere. Disse enheder og deres software kan tilsluttes som en del af Internet of Things (IoT) .2

Softwareudvikling udføres primært af programmører, softwareingeniører og softwareudviklere. Disse roller interagerer og overlapper hinanden, og dynamikken mellem dem varierer meget på tværs af udviklingsafdelinger og samfund.

Programmører eller kodere skriver kildekode til programmering af computere til specifikke opgaver som fusionering af databaser, behandling af onlineordrer, routing af kommunikation, udførelse af søgninger eller visning af tekst og grafik. Programmører fortolker typisk instruktioner fra softwareudviklere og ingeniører og bruger programmeringssprog som C ++ eller Java til at udføre dem.

Softwareingeniører anvender tekniske principper for at opbygge software og systemer til at løse problemer. De bruger modelleringssprog og andre værktøjer til at udtænke løsninger, der ofte kan anvendes til problemer på en generel måde, i modsætning til blot at løse for en bestemt instans eller klient. Softwaretekniske løsninger overholder den videnskabelige metode og skal arbejde i den virkelige verden, som med broer eller elevatorer.

Softwareudviklere har en mindre formel rolle end ingeniører og kan være tæt involveret i specifikke projektområder – herunder at skrive kode. Samtidig driver de den samlede livscyklus for softwareudvikling – herunder arbejde på tværs af funktionelle teams for at omdanne krav til funktioner, styre udviklingshold og processer og gennemføre softwaretest og vedligeholdelse.3

Arbejdet med softwareudvikling er ikke begrænset til kodere eller udviklingsteam. Fagfolk som videnskabsmænd, enhedsfremstillingsvirksomheder og hardwareproducenter opretter også softwarekode, selvom de ikke primært er softwareudviklere. Det er heller ikke begrænset til traditionelle informationsteknologisektorer såsom software eller halvledervirksomheder. Ifølge Brookings Institute udgør disse virksomheder faktisk “mindre end halvdelen af ​​de virksomheder, der udfører softwareudvikling.”

En vigtig forskel er udvikling af brugerdefineret software i modsætning til kommerciel softwareudvikling. Tilpasset softwareudvikling er processen med at designe, oprette, distribuere og vedligeholde software til et specifikt sæt brugere, funktioner eller organisationer. I modsætning hertil er kommerciel off-the-shelf software (COTS) designet til et bredt sæt krav, der gør det muligt at pakke den og markedsføre og distribuere kommercielt.

Softwareudviklingsprocessen:

Udvikling af software involverer typisk følgende trin:

Valg af en metode til at etablere en ramme, hvor trinnene i softwareudvikling anvendes. Den beskriver en samlet arbejdsproces eller køreplan for projektet. Metodologier kan omfatte Agile-udvikling, DevOps, Rapid Application Development (RAD), Scaled Agile Framework (SAFe), Waterfall og andre.

Indsamling af krav for at forstå og dokumentere, hvad der kræves af brugere og andre interessenter.

Valg eller opbygning af en arkitektur som den underliggende struktur, inden for hvilken softwaren fungerer.

Udvikling af et design omkring løsninger på de problemer, der stilles af krav, ofte involverende procesmodeller og storyboards.

Konstruktion af kode på det passende programmeringssprog. Inddrager peer- og teamanmeldelse for at eliminere problemer tidligt og fremstille kvalitetssoftware hurtigere.

Test med forudplanlagte scenarier som en del af softwaredesign og kodning – og udførelse af ydelsestest for at simulere belastningstest på applikationen.

Håndtering af konfiguration og defekter for at forstå al ​​software-artefakter (krav, design, kode, test) og opbyg forskellige versioner af softwaren.

Oprettelse af kvalitetssikringsprioriteter og frigivelseskriterier for at afhjælpe og spore defekter.

Implementering af softwaren til brug og reaktion på og løsning af brugerproblemer.

Migrering af data til den nye eller opdaterede software fra eksisterende applikationer eller datakilder om nødvendigt.

Styring og måling af projektet for at opretholde kvalitet og levering gennem applikationslivscyklussen og for at evaluere udviklingsprocessen med modeller som f.eks. Capability Maturity Model (CMM).

Trinene i softwareudviklingsprocessen passer ind i applikationens livscyklusstyring.

  • Kravsanalyse og specifikation
  • Design og udvikling
  • Test
  • Deployment
  • Vedligeholdelse og support

 

Trin til softwareudvikling kan grupperes i livscyklusens faser, men vigtigheden af ​​livscyklen er, at den genanvendes for at muliggøre kontinuerlig forbedring. For eksempel kan brugerproblemer, der kommer til grund i vedligeholdelses- og supportfasen, blive krav i begyndelsen af ​​den næste cyklus.

Online tilbudssystem

Virksomheden SCITEQ bruger vores online agentstyrings- og tilbudssystem til at afgive flotte tilbud i ensartet format fra et sted.

Webshop til SMV’er

Sælg dine standardvarer/reservedele gennem en webshop med alle de funktioner, som en SMV-virksomhed skal bruge

Automatisering af indkøbsordrer

Damgaard Metal har sluppet 100% for manuelle indtastninger af indkøbsordrer. Lad os scanne dine indkøbsordre og scanne dataen direkte med dit ERP-system.

Vil du høre mere?