Kapitel 7 - instuderingsfrågor Flashcards
Vilka tre saker kännetecknar lättrörliga utvecklingsmodeller (agile development models)?
1) Inkrementella och iterativa; 2) korta feedback-loopar; 3) utforskande när det gäller krav. (Fokus på fungerande programvara, föränderlighet och continuous integration)
Vad är design patterns? (designmönster)
Design patterns är lösningar på vanligt förekommande problem där man hittar den bästa standardiserade lösningen. Bra eftersom det är väldigt effektivt.
Vad är syftet med use case diagram?
Use case diagram är verktyg för att få en bättre överblick över program. Att beskriva det föreslagna systemet från användarens synvinkel.
Vad är syftet med klassdiagram (class diagrams)?
Kunna skapa specialiseringar och generaliseringar. Samma syfte som inheritance. Att beskriva strukturen av olika typer av objekt (klasser) och relationen mellan olika typer av objekt (klasser).
Vilka är de fyra traditionella utvecklingsfaserna vid programvaruutveckling (the traditional development phases of the software life cycle)? (Med t ex vattenfallsmodellen)
Kravanalys, design, implementation, testning.
Vad är huvudsyftet med att dela upp en programvara i moduler?
För att förenkla programvaruutveckling genom att en enskild modul är överblickbar och kan
utvecklas oberoende av andra moduler.
Vilka är de tre önskvärda egenskaperna för moduler som man vill uppnå när man delar upp en programvara i moduler?
Hög sammanhållning (cohesion), låg koppling (coupling), information hiding.
Ge ett exempel på en lättrörlig utvecklingsmodell (agile development model)?
Scrum
Vad är det för skillnad på glass-box-testning (glass-box testing) och black-box-testning (black-box testing)?
Glass-box testning innebär att testaren känner till den interna strukturen av programvaran
som skall testas och utnyttjar denna information vid konstruktion av testerna. Detta till
skillnad från black-box testning som inte bygger på kunskap om programvarans interna
struktur.
Beskriv skillnaderna mellan en-till-en- (one-to-one), en-till-många- (one-to-many) och
många-till- många- (many-to-many) relationer, gärna med hjälp av exempel.
Det är typer av relationer mellan moduler. One-to-one skulle kunna vara giftermål… One-to-many kan vara läkare och flera patienter. Many-to-many kan vara användare och användare.
Vad kallas programvarutekniken som bygger på att konstruera programvara genom att kombinera olika färdiga komponenter (istället för att utveckla egna komponenter)?
Component architecture eller component-based software engineering.
Vad kallas den roll i Scrum som upprätthåller en lista med krav och prioriterar mellan dessa krav?
Produktägare (product owner).
Vad kallas de korta iterationer (2 – 4 veckor) i Scrum, som skall resultera i någonting
levererbart till kund/beställare?
Sprintar (sprints).
Vad kallas den roll i Scrum som skall säkerställa att Scrum-ramverket följs?
Scrum master
Vad kallas i Scrum de korta dagliga möten då varje projektdeltagare skall svara på tre frågor?
Daily scrum (stand-up).
Vad kallas i Scrum de möten då man diskuterar vad som har gått bra denna iteration och vad
som kan förbättras i nästa iteration?
Sprint retrospective.
Förklara begreppen coupling och cohesion?
Coupling är när det finns många kopplingar mellan moduler, det vill man undvika. Cohesion är när det finns många kopplingar inom en modul, det vill man ha.
Beskriv kortfattat några fördelar med att dela upp program i moduler?
Att förenkla programvaruutvecklingen genom att en enskild modul är överblickbar och kan
utvecklas oberoende av andra moduler.
Vad innebär prototyping?
Prototyping innebär att man utvecklar och utvärderar en prototyp (en ofärdig version av det
som skall utvecklas).
Beskriv vad en sprint inom agil utveckling med Scrum är?
En sprint är en fas/iteration på 2 till 4 veckor som ska leverera något resultat.
Vad utmärker black-box-testning (black-box testing)?
Vid black-box testning har testaren ingen kunskap om programvarans interna struktur, till
skillnad från glass-box testning som innebär att testaren känner till den interna strukturen av
programvaran som skall testas och utnyttjar denna information vid konstruktion av testerna.
Utvecklingsmetoden Scrum har tre olika roller definierade, vilka?
Product Owner (produktägare), Scrum master och Development team. Development teamrollen delas ofta av flera (3-9) personer.
Vilka tre olika typer av relationer mellan entiteter är viktiga att skilja på vid
programvaruutveckling?
One-to-one. One-to-many. Many-to-many.
Vad kallas programvaruutvecklingsmetoder som värdesätter:
- individer och interaktioner mer än processer och verktyg;
- fungerande programvara mer än omfattande dokumentation;
- kundsamarbete mer än kontraktsförhandlingar.
- lyhördhet för förändring mer än att följa en plan.
Agile methods
Vad kallas rollen i ett team som är ansvarig för att team:et följer Scrum-metodiken?
Scrum master
Vad är en programvarumodul?
En modul är en hanterbar enhet av ett program.
Vad är syftet med Scrum-mötet “sprint retrospective”?
Att förbättra själva arbetsprocessen utifrån erfarenheterna från den senaste sprinten.
Vad står förkortningen CASE för avseende programvaruutveckling?
Computer aided software engineering
Vad står förkortningen IDE för avseende programvaruutveckling?
Integrated development environment (verktyg för att utveckla programvara)
Vad heter den roll i Scum som är ansvarig för att prioritera vilken utveckling som skall utföras under nästa sprint?
Product owner.
Hur många medlemmar bör ett utvecklingsteam ha enligt Scrum?
3 - 9.
.Ge två exempel på diagram som används vid modellering (vid programvaruutveckling).
Strukturdiagram, dataflödesdiagram, användningsfallsdiagram, klassdiagram.
Vad heter den roll i Scrum som är ansvarig för att prioritera vilken utveckling som skall utföras under nästa sprint?
Product owner
Vilka 3 frågor skall varje team-medlem kort besvara vid Daily Scrum-mötena?
Vad gjorde du igår? Vad ska du göra idag? Finns det några hinder som hindrar dig från att
utföra ditt arbete?