Föreläsning 3 - Verktyg, krav och testning Flashcards
Vad är syftet med versionshantering i mjukvaruutveckling?
Versionshantering låter utvecklare arbeta med olika versioner av systemet, ger möjlighet att återställa till tidigare versioner, och hjälper till att koordinera arbetet i team.
Vad innebär Continuous Integration?
CI innebär att kodändringar regelbundet integreras i ett gemensamt repositorium, där bygg och tester automatiskt körs för att upptäcka fel så tidigt som möjligt.
Vad är funktionen av byggscript i mjukvaruutveckling?
Byggscript automatiserar skapandet av ett exekverbart system från källkoden, vilket inkluderar kompilering, länkning, och paketering.
Vad är rollen för en byggserver?
En byggserver automatiserar bygg- och testprocesser, ofta som en del av CI, för att säkerställa att mjukvaran alltid är i ett byggbart och testbart tillstånd.
Vad fokuserar kravhanteringen på?
Kravhantering fokuserar på att definiera vad systemet ska göra och hur det ska bete sig, inklusive insamling och specificering av funktionella och icke-funktionella krav.
Vad används JUnit för i mjukvaruutveckling?
JUnit är ett ramverk för att skriva och köra automatiserade tester i Java, vilket stödjer testdriven utveckling (TDD).
Vad är principen bakom testdriven utveckling?
I TDD skrivs tester för ny funktionalitet innan själva koden skrivs. Koden skrivs sedan för att passera testerna, vilket garanterar att funktionaliteten uppfyller de definierade kraven.
Vad innebär konfigurationshantering?
Konfigurationshantering innebär att spåra och kontrollera ändringar i mjukvarans konfigurationer och beroenden, för att underlätta återställning och distribution.
Vilka är vanliga problem i systemgenerering?
Vanliga problem inkluderar att säkerställa att alla nödvändiga komponenter inkluderas, att rätt version av komponenter används, och att alla datafiler är tillgängliga.
Vad är Maven och dess roll i mjukvaruutveckling?
Maven är ett verktyg för projektledning och förståelse i Java-projekt, som automatiserar byggprocessen och hanterar projektets beroenden.
Vad innebär “Infrastruktur” i mjukvaruutveckling?
Infrastruktur refererar till den tekniska grund som stödjer utveckling, byggnation, testning och distribution av mjukvara. Det inkluderar servermaskiner, nätverk, lagring och plattformstjänster som databaser och webbservrar, samt molntjänster för skalbarhet och flexibilitet.
Vad är GIT och dess huvudfunktion? (Versionshantering)
GIT är ett distribuerat versionshanteringssystem som spårar ändringar i filer och koordinerar arbete mellan flera personer på ett projekt, optimerat för hastighet och effektivitet för både små och stora projekt. Det möjliggör offline arbete och ökad säkerhet genom att lagra hela versionshistoriken lokalt.
Vad är syftet med Branching och Merging?
Branching tillåter utvecklare att skapa parallella versioner (grenar) av kodbasen för att utveckla nya funktioner eller åtgärda buggar isolerat. Merging integrerar sedan dessa ändringar tillbaka till huvudgrenen, kombinerande bidragen från olika grenar.
Vad innebär Bygghantering?
Bygghantering automatiserar omvandlingen av källkod till ett exekverbart system, inklusive kompilering, länkning och paketering, för att spara tid och minimera fel. Verktyg som ANT och Maven används för att definiera och automatisera byggprocessen.
Vilka är huvudkomponenterna i Kravhantering?
Kravhantering innefattar insamling och specificering av både funktionella och icke-funktionella krav, med fokus på att definiera vad systemet ska göra och hur det ska bete sig. Det kräver tydlig kommunikation och dokumentation samt flexibilitet för att hantera förändringar.