De nøkkelforskjell mellom SDLC og Agile Methodology er det SDLC er prosessen med å dele programvareutviklingsarbeid i forskjellige faser for å designe og utvikle programvare av høy kvalitet, mens Agile Methodology er en SDLC-modell. Agile Methodology er en kombinasjon av iterative og inkrementelle prosessmodeller som fokuserer på prosesstilpasningsevne og kundetilfredshet ved rask levering av fungerende programvareprodukt.
1. Oversikt og nøkkelforskjell
2. Hva er SDLC
3. Hva er Agile Methodology
4. Forholdet mellom SDLC og Agile Methodology
5. Side ved side-sammenligning - SDLC vs Agile Methodology in Tabular Form
6. Sammendrag
SDLC står for Livscyklus for programvareutvikling. Når du bygger programvare, er det visse faser som bør følges. Hver programvareutviklingsorganisasjon følger SDLC for programvareprosjektet. Det finnes ulike faser i SDLC. En grunnleggende forståelse av problemet er identifisert i planleggingsstadiet. Oppdagelse av risikoen knyttet til prosjektet, tekniske vanskeligheter, ressurser, utviklingsarbeid identifiseres også i denne fasen.
I kravfase er den første aktiviteten å samle og analysere krav. Få kundeinnganger, møte toppledere og få detaljer om salg, og markedsføring skjer i kravsamling. Samlede krav skal dokumenteres på riktig måte. Dette dokumentet er kjent som Programvare Krav Spesifikasjon (SRS). Den inneholder produktkravene som skal utformes og utvikles i løpet av prosjektets livssyklus.
Programvaren er avledet fra SRS. Mer enn en designtilnærming til produktarkitekturen er foreslått og dokumentert i a Design Dokumentspesifikasjon (DDS). I denne fasen er alle arkitektoniske moduler, datastrømrepresentasjonen med de eksterne modulene etc utformet.
I implementeringen gjennomføres prosjektet ved hjelp av det passende programmeringsspråket. Ulike programmeringsverktøy som kompilatorer, tolker, kodeditorer, IDEer og debuggere kan brukes til å skrive og teste programmene. Programmeringsspråket kan velges i henhold til søknaden. Enhetstesten for den utviklede modulen er gjort i denne fasen.
Testing er prosessen med å verifisere og validere at et program fungerer som forventet. Det brukes til å finne ut om det endelige prosjektet har kommet til de forventede kravene. Testing innebærer integreringstesting, systemtesting etc. Integrasjonstesting er å utføre test mellom to moduler. Systemtestingen er den komplette prosjekttesten.
Figur 01: SDLC
Til slutt blir produktet gitt ut på markedet. Avhengig av kundens tilbakemelding kan nye funksjoner legges til produktet. Vedlikehold og nødvendige tjenester leveres til eksisterende kunder. Det er de store faser av SDLC.
Under programvareutviklingsprosessen bør en livscykelmodell for programvareutvikling følges. Disse modellene er kjent som Programvareutvikling Prosessmodell. Hver prosess følger et visst antall trinn som er unike for sin type for å fullføre programvareprosjektet. Noen eksempler på SDLC-modeller er foss modell, iterativ modell, spiral modell, v modell, prototype modell, Rapid Application Development, etc.
Agile metodikk er også en SDLC-modell. Det er en kombinasjon av iterative og inkrementelle prosessmodeller. Denne modellen bidrar til å tilpasse seg endringene i kravene. I denne modellen er prosjektet fordelt på flere moduler. Anta at prosjektet er delt inn i tre moduler som A, B og C. Første modul A går gjennom planlegging, kravinnsamling og analyse, utforming, implementering og testing. Når den er ferdig, starter B-modulen. Det går også gjennom samme fase som modul A. Når B er ferdig, starter modulen C. Ved slutten av iterasjonen kan en arbeidsmodul leveres til kunden.
Det er mange fordeler med Agile. I den tradisjonelle fossen modellen, når kravene er definert, kan de ikke endres. Men i Agile kan kravene bli endret. Det er også mer samarbeid mellom utvikler og kunde. Det forbedrer samarbeidet og gjør prosjektet enkelt å håndtere. Samlet sett er Agile en populær SDLC-modell på grunn av sin fleksibilitet og tilpasning. Det kan ikke være egnet for et komplekst prosjekt. Andre ulemper er at kunden alltid kan endre kravene, og det er nødvendig å ha en fleksibel leder for å lede prosjektet.
SDLC vs Agile Methodology | |
SDLC er prosessen med å dele programvareutviklingsarbeid i forskjellige faser for å forbedre design, produktstyring og prosjektledelse. | Agile Methodology en programvareutvikling tilnærming hvor kravene og løsningene utvikler seg gjennom samarbeidet mellom selvorganiserende og kryssfunksjonalitetsteam og deres sluttbrukere. |
bruk | |
SDLC brukes til å organisere styringen av programvareutviklingsarbeidet. | Agile brukes til å forbedre fleksibiliteten og tilpasse seg kravene til endring av prosjektet. |
Denne artikkelen diskuterte forskjellen mellom SDLC og Agile. Forskjellen mellom SDLC og Agile Methodology er at SDLC er prosessen med å dele programvareutviklingsarbeid i en distinkt fase for å designe og utvikle en høykvalitets programvare, mens Agile Methodology er en SDLC-modell.
1. "Software Development Process." Wikipedia, Wikimedia Foundation, 28. mars 2018. Tilgjengelig her
2. "SDLC Agile Model." Www.tutorialspoint.com, Tutorials Point, 8. januar 2018. Tilgjengelig her