De nyckelskillnad mellan SDLC och Agile Methodology är det SDLC är processen att dela mjukvaruutvecklingsarbete i olika faser för att designa och utveckla högkvalitativ programvara medan Agile Methodology är en SDLC-modell. Agile Methodology är en kombination av iterativa och inkrementella processmodeller som fokuserar på processanpassningsförmåga och kundtillfredsställelse genom snabb leverans av arbetsprogramvara.
1. Översikt och nyckelskillnad
2. Vad är SDLC
3. Vad är Agile Methodology
4. Förhållande mellan SDLC och Agile Methodology
5. Sida vid sida Jämförelse - SDLC vs Agile Metodik i Tabellform
6. Sammanfattning
SDLC står för Livscykel för mjukvaruutveckling. Vid uppbyggnad av programvara finns det vissa faser som bör följas. Varje programutvecklingsorganisation följer SDLC för mjukvaruprojektet. Det finns olika faser i SDLC. En grundläggande förståelse av problemet identifieras i planeringsstadiet. Att upptäcka riskerna med projektet, tekniska svårigheter, resurser, utvecklingsinsatser identifieras också i denna fas.
I kravfasen är den första aktiviteten att samla in och analysera krav. Att få kundernas insatser, träffa cheferna och få information om försäljning och marknadsföring sker i kravsamlingen. De samlade kraven bör dokumenteras korrekt. Detta dokument är känt som Specifikation för programkrav (SRS). Den innehåller produktkraven som ska utformas och utvecklas under projektets livscykel.
Programvarudesignen är härledd från SRS. Mer än en designansats för produktarkitekturen föreslås och dokumenteras i a Designdokumentspecifikation (DDS). I denna fas är alla arkitektoniska moduler, dataflödesrepresentationen med de externa modulerna etc utformad.
I genomförandet implementeras projektet med hjälp av det lämpliga programmeringsspråket. Olika programmeringsverktyg som kompilatorer, tolkar, kodredigerare, IDEs och debuggers kan användas för att skriva och testa programmen. Programmeringsspråket kan väljas enligt ansökan. Enhetstesten för den utvecklade modulen görs i denna fas.
Test är processen att verifiera och validera att ett program fungerar som förväntat. Det är vanligt att ta reda på om det slutliga projektet har kommit till de förväntade kraven. Testning innefattar integreringstestning, systemtestning etc. Integrationstestning är att utföra testning mellan två moduler. Systemtestningen är den fullständiga projekttestningen.
Figur 01: SDLC
Slutligen släpps produkten ut på marknaden. Beroende på kundens återkoppling kan nya funktioner läggas till produkten. Underhåll och nödvändiga tjänster tillhandahålls till befintliga kunder. Det är de stora faserna av SDLC.
Under mjukvaruutvecklingsprocessen bör en livscykelmodell för mjukvaruutveckling följas. Dessa modeller är kända som Programvaruutvecklingsprocessmodell. Varje process följer ett visst antal steg som är unika för sin typ för att framgångsrikt slutföra mjukvaruprojektet. Några exempel på SDLC-modeller är vattenfallsmodell, iterativ modell, spiralmodell, v-modell, prototypmodell, snabb applikationsutveckling, etc.
Agile metodik är också en SDLC-modell. Det är en kombination av iterativa och inkrementella processmodeller. Denna modell hjälper till att anpassa sig till förändringar i kraven. I denna modell är projektet uppdelat i flera moduler. Antag att projektet är uppdelat i tre moduler som A, B och C. Första modul A går igenom planering, insamling av krav och analys, design, implementering och testning. När den är klar börjar B-modulen. Det går också igenom samma fas som modulen A. När B slutar startar modulen C. I slutet av iterationen kan en arbetsmodul tillhandahållas till kunden.
Det finns många fördelar med Agile. I traditionell vattenfallsmodell, när kraven är definierade, kan de inte ändras. Men i Agile kan kraven ändras. Det finns också mer samarbete mellan utvecklaren och kunden. Det förbättrar lagarbete och gör projektet enkelt att hantera. Övergripande är Agile en populär SDLC-modell på grund av dess flexibilitet och anpassning. Det kanske inte är lämpligt för ett komplext projekt. Andra nackdelar är att kunden alltid kan ändra kraven och det är nödvändigt att ha en smidig ledare för att styra projektet.
SDLC vs Agile Methodology | |
SDLC är processen att dela upp mjukvaruutvecklingsarbete i olika faser för att förbättra design, produkthantering och projektledning. | Agile Methodology en mjukvaruutvecklingsmetod där kraven och lösningarna utvecklas genom samarbetsinsatserna hos självorganiserade och korsfunktionalitetsteam och deras slutanvändare. |
Användande | |
SDLC används för att organisera hanteringen av mjukvaruutvecklingsarbetet. | Agile används för att förbättra flexibiliteten och anpassa sig till kraven förändringar av projektet. |
Denna artikel diskuterade skillnaden mellan SDLC och Agile. Skillnaden mellan SDLC och Agile Methodology är att SDLC är processen att dela mjukvaruutvecklingsarbete i en distinkt fas för att designa och utveckla en högkvalitativ programvara medan Agile Methodology är en SDLC-modell.
1. "Software Development Process." Wikipedia, Wikimedia Foundation, 28 mars 2018. Tillgänglig här
2. "SDLC Agile Model." Www.tutorialspoint.com, Tutorials Point, 8 jan 2018. Tillgänglig här