Hvad er softwareudvikling? Definition, grundlæggende egenskaber

Indholdsfortegnelse:

Anonim

Hvad er softwareudvikling?

Software engineering defineres som en proces til at analysere brugernes krav og derefter designe, opbygge og teste softwareapplikationer, der vil opfylde disse krav.

Lad os se på de forskellige definitioner af software engineering:

  • IEEE definerer i sin standard 610.12-1990 software engineering som anvendelse af en systematisk, disciplineret, hvilket er en beregningsbar tilgang til udvikling, drift og vedligeholdelse af software.
  • Fritz Bauer definerede det som 'etablering og brugte standardtekniske principper. Det hjælper dig med økonomisk at skaffe software, der er pålidelig og fungerer effektivt på de rigtige maskiner '.
  • Boehm definerer software engineering, som involverer 'praktisk anvendelse af videnskabelig viden til kreativt design og opbygning af computerprogrammer. Det inkluderer også tilhørende dokumentation, der er nødvendig for at udvikle, betjene og vedligeholde dem. '

I denne software engineering tutorial lærer du:

  • Hvad er softwareudvikling?
  • Hvorfor software engineering? Softwarekrise og dens løsning
  • Hvorfor software engineering er populær?
  • Forholdet mellem softwareudvikling og andre discipliner
  • Udfordringer ved softwareudvikling
  • Attributter til softwareprodukter
  • Karakteristik af god software

Hvorfor software engineering? Softwarekrise og dens løsning:

Hvad var softwarekrisen?

  • Det var i slutningen af ​​1960'erne, da mange softwareprojekter mislykkedes.
  • Mange software blev overbudget. Output var en upålidelig software, som er dyr at vedligeholde.
  • Større software var vanskelig og ret dyr at vedligeholde.
  • Masser af software, der ikke er i stand til at tilfredsstille kundens voksende krav.
  • Kompleksiteterne i softwareprojekter steg, når hardwarefunktionen steg.
  • Efterspørgslen efter ny software steg hurtigere sammenlignet med muligheden for at generere ny software.

Alle ovenstående spørgsmål fører til 'softwarekrise.'

Løsningen

Løsningen var, at problemet var at omdanne uorganiseret kodningsindsats til en software engineering-disciplin. Disse tekniske modeller hjalp virksomheder med at strømline driften og levere software, der opfylder kundernes krav.

  • I slutningen af ​​1970'erne så de udbredte anvendelser af softwaretekniske principper.
  • I 1980'erne oplevede automatisering af software engineering proces og vækst af (CASE) Computer-Aided Software Engineering.
  • I 1990'erne har der været øget vægt på 'ledelses' aspekter af kvalitetsstandarder og processer, ligesom ISO 9001

Hvorfor software engineering er populær?

Her er vigtige årsager til populariteten af ​​software engineering:

  • Stor software - I vores virkelige liv er det meget mere behageligt at bygge en mur end et hus eller en bygning. På samme måde, da størrelsen på softwaren bliver stor, hjælper software engineering dig med at opbygge software.
  • Skalerbarhed - Hvis softwareudviklingsprocessen var baseret på videnskabelige og tekniske begreber, er det lettere at genskabe ny software til at skalere en eksisterende.
  • Tilpasningsevne : Når softwareprocessen var baseret på videnskabelig og teknisk teknik, er det let at genskabe ny software ved hjælp af softwareteknik.
  • Omkostnings- Hardwareindustrien har vist sine færdigheder, og enorm produktion har reduceret omkostningerne ved computer og elektronisk hardware.
  • Dynamic Nature - Altid voksende og tilpasning af softwaren. Det afhænger af det miljø, som brugeren arbejder i.
  • Kvalitetsstyring : Tilbyder bedre metode til softwareudvikling for at levere kvalitetssoftwareprodukter.

Forholdet mellem softwareudvikling og andre discipliner

Her, hvordan software engineering relateret til andre discipliner:

  • Datalogi: Giver det videnskabelige fundament for softwaren, da elektroteknik primært afhænger af fysik.
  • Management Science: Software engineering er arbejdskrævende arbejde, der kræver både teknisk og ledelsesmæssig kontrol. Derfor er det meget brugt i ledelsesvidenskab.
  • Økonomi: I denne sektor hjælper software engineering dig med ressourceestimering og omkostningskontrol. Computersystemet skal udvikles, og data skal vedligeholdes regelmæssigt inden for et givet budget.
  • Systemteknik: Mest software er en komponent i et meget større system. For eksempel softwaren i et industriovervågningssystem eller flysoftwaren på et fly. Softwaretekniske metoder bør anvendes til undersøgelse af denne type systemer.

Udfordringer ved softwareudvikling

Her er nogle kritiske udfordringer, som softwareingeniører står over for:

  • I sikkerhedskritiske områder som rum, luftfart, atomkraftværker osv. Kan omkostningerne ved softwarefejl være enorme, fordi liv er i fare.
  • Øgede markedskrav til hurtig leveringstid.
  • Håndtering af den øgede kompleksitet i softwarebehovet til nye applikationer.
  • Mangfoldigheden af ​​softwaresystemer skal kommunikere med hinanden.

Attributter til softwareprodukter

Kendetegnene ved ethvert softwareprodukt inkluderer funktioner, der vises af produktet, når det installeres og tages i brug.

De er ikke de tjenester, der leveres af produktet. I stedet har de relateret til produktets dynamiske adfærd og brugen af ​​produktet.

Eksempler på disse attributter er:

Efficiency, reliability, robustness, maintainability, etc.

Den relative betydning af disse karakteristika varierer imidlertid fra et softwaresystem til et andet.

Produktets egenskaber Beskrivelse
Vedligeholdelse Softwaren skal udvikle sig for at imødekomme kundernes skiftende krav.
Pålidelighed Pålidelighed inkluderer forskellige egenskaber. Pålidelig software bør aldrig forårsage fysisk eller økonomisk skade på tidspunktet for systemfejl.
Effektivitet Softwareapplikationen skal overforbrugte systemressourcer som hukommelse og processorcyklus.
Anvendelighed Softwareapplikationen skal have specifik brugergrænseflade og dokumentation.

Optimering af ovenstående attribut er meget udfordrende. For eksempel kan et bedre brugergrænseflade reducere systemeffektiviteten.

Karakteristik af god software

Enhver software skal vurderes efter, hvad den tilbyder, og hvad er de metoder, der hjælper dig med at bruge den.

Enhver software skal tilfredsstille følgende attributter:

  • Operationel
  • Overgangsperiode
  • Vedligeholdelse

Her er nogle vigtige egenskaber ved god software udviklet af softwareprofessionelle

Operationel

Denne egenskab fortæller os, hvor godt software fungerer i de operationer, der kan måles på:

  • Budget
  • Effektivitet
  • Anvendelighed
  • Pålidelighed
  • Korrekthed
  • Funktionalitet
  • Sikkerhed
  • Sikkerhed

Overgangsperiode

Dette er et vigtigt aspekt, når softwaren flyttes fra en platform til en anden:

  • Interoperabilitet
  • Genanvendelighed
  • Bærbarhed
  • Tilpasningsevne

Vedligeholdelse

Dette aspekt taler om, hvor godt software har mulighederne for at tilpasse sig i det hurtigt skiftende miljø:

  • Fleksibilitet
  • Vedligeholdelse
  • Modularitet
  • Skalerbarhed

Resumé

  • Software engineering er en proces til at analysere brugernes krav og derefter designe, opbygge og teste softwareapplikationer, der opfylder disse krav
  • Vigtige grunde til at bruge softwareteknik er: 1) Stor software, 2) Skalerbarhed 3) Tilpasningsevne 4) Omkostninger og 5) Dynamisk natur.
  • I slutningen af ​​1960'erne bliver mange software over budgettet. Derfor tilbyder den upålidelig software, som er dyr at vedligeholde.
  • I slutningen af ​​1970'erne så de udbredte anvendelser af softwaretekniske principper.
  • Software engineering koncept 1) Computer Science 2) Management Science 3) System engineering og 4) økonomi
  • Øgede markedskrav til hurtig leveringstid er de største udfordringer inden for software engineering-området.
  • 1) Vedligeholdelse, 2) Pålidelighed, 3) Effektivitet og 4) Brugervenlighed er de vigtigste egenskaber ved softwareprodukter.
  • Tre vigtigste egenskaber ved god software er 1) Operativ 2) Overgangs 3) Vedligeholdelse.