Quiz Flashcards
Varför behöver vi utvecklingsmetoder?
Kvalitet, effektivitet och förutsägbarhet
Vad svarar utvecklingsmetoderna för?
Att minska komplexiteten
Vilka är de fem separata stegen i vattenfallsmodellen?
- Kravanalys och specifikation
- Design
- Implementering
- Test och verifikation
- Installation och underhåll
Vad innebär en interativ modell?
Att man upprepar och skapar sig ett delresultat genom att arbeta igenom ett antal steg.
Vad är ett inkrement?
Ett delresultat som är färdigt/användbart
Vad står RUP för?
Rational Unified Process
RUP har en utvecklingsprocess uppdelad i fyra stadier, vilka?
Förberedelse
Etablering
Konstruktion
Överlämning
Problem med RUP?
Alltför omfattande och kräver nedskärning v antalet artefakter(dvs dokument och modeller)
Vad betonar the agile manifesto? 4 värderingar.
- individer och interaktion framför processer och verktyg
- fungerande programvara framför detaljerad dokumentation
- samarbete med kunden framför avtalsförhandlingar
- att bejaka förändringar framför att följa en utstakad plan
En orsak till att IT-system ofta upplevs som misslyckade är svårigheten i att
omvandla visionen som finns i intressenternas hjärnor till tydliga krav på systemet
Vad är en kravspecifikation?
Det är et dokument som beskriver kraven för hela systemlösningen
Vilka krav ska vi fråga efter?
Funktionskrav Prestandakrav Tillgänglighetskrav Affärskrav/Verksamhetskrav Dokumentationskrav Användbarhetskrav Plattformskrav Säkerhetskrav
Att prioritera önskemål kan göras med MoSCoW, vad står det för?
Must have
Should have
Could have
Won’t have this time
Vad bör man skilja på när man gör en estimering?
Uppskattningar
Målsättningar
Åtaganden
Vad är studentsyndromet?
Att det finns risk för att man skjuter upp jobbet tills det börjar bli ont om tid
Estimeringprocessen kan göras på tre huvudsakliga sätt, vilka?
Bottom-up: Arbetet bryts ned i små delar, varje del summeras uppåt till ett tidsestimat.
Top-down: utgå från programmets logiska funktioner
Blink estimation: magkänsla
Vad är anchoring bias?
Att om en person i gruppen gör ett estimat kommer allas uppfattning utgå från det första estimatet, ex. “jag tror att det tar 4 dagar, då kommer folk utgå från 4 dagar + fler dagar eller -mindre dagar.
Vad innebär DoD?
Definition of Done innebär att man måste ha en definition av vad klart innebär.
Vad är repository?
Att systemen utgår ifrån en lagringsplats
När man går tillbaks till en tidigare version och jämför förändringar kallas det för?
Diff
Vill man se hela förändringshistoriken för en fil kallas det?
Log
När vi sparar en ändrad fil till servern kallas det?
Commit, anger vad som ändrats och varför
Varför är det viktigt med versionshantering?
För att det tar tid att arbeta med vissa system, då vill man ha versionshantering på förändringar under tiden som man arbetar med dessa utan att spara i huvudgrenen
Vad är syftet med versionshantering?
Underlättar hanteringen av filer och dokument samt spåra ändringar samt fel som kan bero på otydliga krav och missförstånd.
Varför vill man commita ofta?
För att om man gör det ofta blir inte lansering en stor grej, gör det lättare att lansera ofta och uppdatera rullande än att lansera sällan som leder till sämre uppdateringar, kanske redan passé när de kommer ut.
Vad är en risk med att jobba med feature flags?
Att man inte ser helheten när man gör små stegvisa förbättringar. Inget tydligt incitament att bli färdig.
Varför är det bra med automatiska versionshanteringssystem?
Koden kan kompileras och regressionstestas automatiskt vid varje uppdatering, kan paketera nya versioner varje natt, kallas nightly builds.
Testverksamhet delas huvudsakligen upp i två delar, vilka och vad innebär de?
Automatiska: Vill man använda i uppbyggnadsfas
Manuella. Enklare och billigare att ta fram men mer resursinternsiva att genomföra. Problem med detta är att den tydliga procedurbeskrivningen gör att testaren inte agerar förutsättningslöst.
Olika typer av tester
Test av specificerade krav
Explorativa krav: Mer kreativitet
Enhetstester: enhetstesterna ksrivs innan koden
Test av GUI
Regressionstestning: Automatiserade tester för att se om tidigare funktionalitet fortfarande fungerar trots ny kod.
Lasttestning/stresstestning: Upptäcka hur programvara reagerar under förhållanden med flera användare
Acceptanstester: Verifiera att kundens krav uppfylls
statiska kodtester: varnar för felaktiga uttryck.
domäntestning: testa alla möjliga invärden
användbarhetstestning: undersöker hur svårt det är för användaren att använda programvaran.
Vilka frågor behöver testplanen svara på?
Hur ska systemet testas?
När ska det testas
Vem ska testa
Hur bör arbetet prioriteras i testplanen?
Funktionalitet före stabilitet
enskilda funktioners funktion än kombinationerna av dem
de synliga funktionerna före de osynliga
de vanliga användningsfallen före de ovanliga
Vad indikerar skalbarhet på?
Ett mått på hur bra systemet är att hantera större belastning utan försämrad svarstid.
Vad innebär scale up?
Att vi byter ut hårdvaran mot mer kraftfull sådan
Vad innebär scale out
Att sprida systemet över flera datorer samtidigt
Vad är scale up och scale out exempel på?
Hur man skalar ett system för att hantera prestandaproblem.
Namnge några av de vanligaste flaskhalsarna.
Hårddiskläsning och skrivning Internminne processorkraft synkronisering av delade resurser externa system nätverksprestanda
Hur kan man också hantera flaskhalsar utan att skala systemet?
Använda sig av cache, mellanlagring.