Hva er programvareteknikk? Definisjon, grunnleggende, egenskaper
Hva er programvareteknikk?
Programvareteknikk er definert som en prosess for å analysere brukerkrav og deretter designe, bygge og teste programvare som vil tilfredsstille disse kravene.
La oss se på de ulike definisjonene av programvareteknikk:
- IEEE, i sin standard 610.12-1990, definerer programvareutvikling som anvendelse av en systematisk, disiplinert, som er en beregningsbar tilnærming for utvikling, drift og vedlikehold av programvare.
- Fritz Bauer definerte det som 'etableringen og brukte standard ingeniørprinsipper. Det hjelper deg å skaffe økonomisk programvare som er pålitelig og fungerer effektivt på de virkelige maskinene.
- Boehm definerer programvareteknikk, som involverer, 'praktisk anvendelse av vitenskapelig kunnskap til kreativ design og bygging av dataprogrammer. Den inkluderer også tilhørende dokumentasjon som trengs for å utvikle, drifte og vedlikeholde dem.'
Hvorfor Software Engineering? Programvarekrise og dens løsning
Hva var programvarekrisen?
- Det var på slutten av 1960-tallet da mange programvareprosjekter mislyktes.
- Mye programvare ble over budsjettet. Output var en upålitelig programvare som er dyr å vedlikeholde.
- Større programvare var vanskelig og ganske dyr å vedlikeholde.
- Mye programvare er ikke i stand til å tilfredsstille de økende kravene til kunden.
- Kompleksiteten til programvareprosjekter økte hver gang maskinvarekapasiteten økte.
- Etterspørselen etter ny programvare økte raskere sammenlignet med muligheten til å generere ny programvare.
Alle problemene ovenfor fører til "Programvarekrise".
The Solution
Løsningen på problemet var å transformere uorganisert koding til en programvareingeniørdisiplin. Disse ingeniørmodellene hjalp bedrifter med å effektivisere driften og levere programvare som tilfredsstiller kundenes krav.
- På slutten av 1970-tallet så den utbredte bruken av programvareingeniørprinsipper.
- På 1980-tallet så automatiseringen av programvareutviklingsprosessen og veksten av (CASE) Computer-Aided Software Engineering.
- 1990-tallet har sett en økt vekt på "ledelse" aspekter av prosjekter, standard for kvalitet og prosesser akkurat som ISO 9001
Hvorfor er programvareteknikk populært?
Her er viktige årsaker bak populariteten til programvareteknikk:
- Stor programvare – I vårt virkelige liv er det ganske mer behagelig å bygge en vegg enn et hus eller en bygning. På samme måte, ettersom størrelsen på programvaren blir stor, hjelper programvareutvikling deg med å bygge programvare.
- Skalerbarhet- Hvis programvareutviklingsprosessen var basert på vitenskapelige og tekniske konsepter, er det lettere å gjenskape ny programvare for å skalere en eksisterende.
- Tilpasningsevne: Når programvareprosessen var basert på vitenskap og ingeniørkunst, er det enkelt å gjenskape ny programvare ved hjelp av programvareutvikling.
- Koste- Maskinvareindustrien har vist sine ferdigheter og stor produksjon har senket kostnadene for datamaskinen og elektronisk maskinvare.
- Dynamisk natur– Programvaren vokser og tilpasser seg alltid. Det avhenger av miljøet brukeren arbeider i.
- Quality Management: Tilbyr bedre metode for programvareutvikling for å tilby kvalitetsprodukter.
Forholdet mellom programvareteknikk og andre disipliner
Her, hvordan programvareteknikk forholdt seg til andre disipliner:
- Informatikk: Gir det vitenskapelige grunnlaget for programvaren da elektroteknikk hovedsakelig avhenger av fysikk.
- Ledelsesvitenskap: Programvareutvikling er arbeidskrevende arbeid som krever både teknisk og ledelsesmessig kontroll. Derfor er det mye brukt i ledelsesvitenskap.
- Økonomi: I denne sektoren hjelper programvareutvikling deg med ressursestimering og kostnadskontroll. Datasystem må utvikles, og data bør vedlikeholdes regelmessig innenfor et gitt budsjett.
- Systemteknikk: Det meste av programvare er en del av et mye større system. For eksempel programvaren i et industriovervåkingssystem eller flyprogramvaren på et fly. Software engineering metoder bør brukes til studiet av denne typen systemer.
Utfordringer ved programvareteknikk
Her er noen kritiske utfordringer som programvareingeniører står overfor:
- I sikkerhetskritiske områder som romfart, luftfart, atomkraftverk osv. kan kostnadene ved programvarefeil være enorme fordi liv er i fare.
- Økte markedskrav for rask behandlingstid.
- Håndtere den økte kompleksiteten til programvarebehovet for nye applikasjoner.
- Mangfoldet av programvaresystemer bør kommunisere med hverandre.
Attributter for programvareprodukter
Egenskapene til ethvert programvareprodukt inkluderer funksjoner som vises av produktet når det er installert og tatt i bruk.
De er ikke tjenestene som leveres av produktet. I stedet har de forholdt seg til produktenes dynamiske oppførsel og bruken av produktet.
Eksempler på disse attributtene er:
Efficiency, reliability, robustness, maintainability, etc.
Imidlertid varierer den relative betydningen av disse egenskapene fra ett programvaresystem til et annet.
| Produktegenskaper | Tekniske beskrivelser |
|---|---|
| vedlikeholdbarhet | Programvaren bør utvikles for å møte de skiftende kravene til kundene. |
| Pålitelighet | Pålitelighet inkluderer ulike egenskaper. Pålitelig programvare skal aldri forårsake fysisk eller økonomisk skade på tidspunktet for systemfeil. |
| Effektivitet: | Programvaren bør overbruke systemressurser som minne og prosessorsyklus. |
| Usability | Programvaren bør ha spesifikk brukergrensesnitt og dokumentasjon. |
Å optimalisere attributtet ovenfor er svært utfordrende. For eksempel kan å tilby et bedre brukergrensesnitt redusere systemeffektiviteten.
Kjennetegn på god programvare
Enhver programvare bør bedømmes etter hva den tilbyr og hva er metodene som hjelper deg å bruke den.
Hver programvare må tilfredsstille følgende attributter:
- Operasjonale
- Transitional
- Vedlikehold
Her er noen viktige kjennetegn ved god programvare utviklet av programvareeksperter
Operasjonale
Denne egenskapen gir oss beskjed om hvor godt programvare fungerer i operasjonene som kan måles på:
- budsjett
- Effektivitet:
- Usability
- Pålitelighet
- Korrekthet
- Funksjonalitet
- Sikkerhet
- Trygghet
Transitional
Dette er et viktig aspekt når programvaren flyttes fra en plattform til en annen:
- Interoperabilitet
- Reus Evne
- Portabilitet
- Tilpasningsevne
Vedlikehold
Dette aspektet snakker om hvor godt programvare har evnene til å tilpasse seg i det raskt skiftende miljøet:
- Fleksibilitet
- vedlikeholdbarhet
- modularitet
- skalerbarhet
Sammendrag
- Programvareutvikling er en prosess for å analysere brukerkrav og deretter designe, bygge og teste programvare som vil tilfredsstille disse kravene
- Viktige årsaker til å bruke programvareteknikk er: 1) Stor programvare, 2) Skalerbarhet 3) Tilpasningsevne 4) Kostnad og 5) Dynamisk natur.
- På slutten av 1960-tallet blir mye programvare over budsjettet. Derfor tilbyr den upålitelig programvare som er dyr å vedlikeholde.
- På slutten av 1970-tallet så den utbredte bruken av programvareingeniørprinsipper.
- Software engineering konsept 1) Datavitenskap 2) Management Science 3) System engineering og 4) Økonomi
- Økte markedskrav for rask behandlingstid er de største utfordringene innen programvareteknikk.
- 1) Vedlikeholdbarhet, 2) Pålitelighet, 3) Effektivitet og, 4) Brukervennlighet er de viktigste egenskapene til programvareprodukter.
- De tre viktigste egenskapene til god programvare er 1) Operational 2) Transitional 3) Vedlikehold.

