RAD-modell i programvareteknikk: Diagram og faser
โก Smart oppsummering
RAD-modellen i programvareutvikling, eller rask applikasjonsutvikling, er en prototypeping-basert prosess som prioriterer rask levering fremfor planlegging pรฅ forhรฅnd. Den bygger programvare gjennom fem faser, fra forretningsmodellering til testing og omsetning.

Hva er RAD-modellen?
RAD-modell eller Rapid Application Development-modellen er en programvareutviklingsprosess basert pรฅ prototyperping uten noen spesifikk planlegging. RAD-modellen legger mindre vekt pรฅ planlegging og prioriterer utviklingsoppgaver mer, med mรฅl om รฅ levere programvare pรฅ kort tid.
SDLC RAD-modellering har fรธlgende faser:
- Forretningsmodellering
- Datamodellering
- Prosessmodellering
- Applikasjonsgenerering
- Testing og omsetning
RAD-modelldiagrammet nedenfor viser hvordan disse fasene kobles sammen:
Den fokuserer pรฅ input-output-kilden og destinasjonen til informasjonen. Den legger vekt pรฅ รฅ levere prosjekter i smรฅ deler; stรธrre prosjekter er delt inn i en serie mindre prosjekter. Hovedtrekkene ved RAD-modellering er gjenbruk av maler, verktรธy, prosesser og kode, som vist nedenfor:
Ulike faser av RAD-modellen
Modellen for rask applikasjonsutvikling har fem hovedfaser:
| RAD modellfaser | Aktiviteter utfรธrt i RAD-modellering |
|---|---|
| Forretningsmodellering | Produktet er utformet basert pรฅ informasjonsflyt og distribusjon mellom ulike forretningskanaler. |
| Datamodellering | Informasjonen som samles inn fra forretningsmodellering foredles til et sett med dataobjekter som er viktige for virksomheten |
| Prosessmodellering | Dataobjekter som er deklarert i datamodelleringsfasen transformeres for รฅ oppnรฅ informasjonsflyten som er nรธdvendig for รฅ implementere en forretningsfunksjon |
| Applikasjonsgenerering | Automatiserte verktรธy konverterer prosess- og datamodeller til prototyper under konstruksjonen av programvaren |
| Testing og omsetning | Prototyper testes individuelt under hver iterasjon, noe som reduserer den totale testtiden i RAD. |
Nรฅr skal man bruke RAD-metodikk?
- Nรฅr et system mรฅ produseres pรฅ kort tid (2-3 mรฅneder)
- Nรฅr kravene er kjent
- Nรฅr brukeren vil vรฆre involvert gjennom hele livssyklusen
- Nรฅr den tekniske risikoen er mindre
- Nรฅr det er nรธdvendig รฅ lage et system som kan modulariseres pรฅ 2-3 mรฅneders tid
- Nรฅr budsjettet er hรธyt nok til รฅ ha rรฅd til modellering av designere, samt kostnadene for automatiserte verktรธy for kodegenerering.
Rask applikasjonsutvikling fordeler og ulemper
Som enhver SDLC-tilnรฆrming innebรฆrer RAD avveininger:
| Fordeler med RAD-modellen | Ulemper med RAD-modellen |
|---|---|
| Fleksibel og tilpasningsdyktig til endringer | Den kan ikke brukes til mindre prosjekter |
| Det er nyttig nรฅr du skal redusere den totale prosjektrisikoen | Ikke alle applikasjoner er kompatible med RAD |
| Leveranser er enklere รฅ overfรธre fordi manus, abs pรฅ hรธyt nivรฅtracsjoner, og mellomliggende koder brukes | Nรฅr teknisk risiko er hรธy, er det ikke egnet |
| Code generatorer og gjenbruk av kode reduserer manuell koding | Hvis utviklere ikke er forpliktet til รฅ levere programvare i tide, kan RAD-prosjekter mislykkes |
| Dens prototypeping natur betyr en mulighet for fรฆrre defekter | Time boxing flytter funksjoner til en senere versjon for รฅ fullfรธre en utgivelse raskt, noe som reduserer funksjonaliteten |
| Hver fase i RAD leverer funksjonalitet med hรธyest prioritet til klienten | Skalerbarheten lider fordi en RAD-utviklet applikasjon starter som en prototype og utvikler seg til en ferdig applikasjon |
| Med fรฆrre folk kan produktiviteten รธkes pรฅ kort tid | Fremgang og problemer er vanskelige รฅ track fordi det ikke finnes dokumentasjon som viser hva som er gjort |
RAD-modell vs. smidig vs. foss
Nybegynnere forveksler ofte RAD med Agile og Waterfall. De tre SDLC-tilnรฆrmingene balanserer hastighet, planlegging og fleksibilitet pรฅ forskjellige mรฅter:
| Aspekt | RAD-modell | Agile | Waterfall |
|---|---|---|---|
| Kjernetilnรฆrming | Prototyping med gjenbruk av kode | Iterative sprinter med tilbakemeldinger | Lineรฆre sekvensielle faser |
| Planlegging | Minimal planlegging pรฅ forhรฅnd | Adaptiv planlegging per sprint | Detaljert planlegging pรฅ forhรฅnd |
| Passer best | Modulรฆre systemer med stramme tidsfrister | Utviklende krav | Stabile, veldefinerte krav |


