ch 7 Flashcards
Vilka tre saker kännetecknar lättrörliga utvecklingsmodeller (agile development models)?
Inkrementella och iterativa
Korta feedback-loopar
Utforskande när det gäller krav
Vad är design patterns?
Generella lösningar på återkommande problem
Vad är syftet med use case diagram?
Att beskriva det föreslagna systemet från användarens synvinkel
Vad är syftet med klassdiagram (class diagrams)?
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)?
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
Ett exempel på en en-till-en-relation är ”man-hustru”, eftersom en man endast kan vara man till en hustru och en kvinna endast kan vara hustru till en man (enligt svenska lagar)
Ett exempel på en en-till- många-relation är ”mamma-barn”, eftersom ett barn endast har en (biologisk) mamma men en kvinna kan vara mamma till många barn
Ett exempel på en många-till-många-relation är ”bror-syster”, eftersom en pojke kan ha flera systrar och en flicka kan ha flera bröder
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?
Vad kallas rollen i ett team som är ansvarig för att team:et följer Scrum-metodiken?
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 ett mått på hur sammanflätade olika moduler/komponenter är i ett mjukvarusystem (the linkage between modules). Låg coupling är bra.
Cohesion är ett mått på hur väl innehållet i en modul hänger ihop, hur fokuserad den är (the internal binding within a module). Hög cohesion är bra
Beskriv kortfattat några fördelar med att dela upp program i moduler?
Att förenkla programvaruutvecklingen genom att en enskild modul är överblickbar
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
Vad är design patterns (designmönster) och vad är de bra för?
Generella lösningar på återkommande problem.
Genom att utgå från färdiga och bra lösningar kan man snabba upp utvecklingstiden och också göra program mer robusta då designmönstren ofta är väl beprövade.
Designmönster ger också utvecklare och systemarkitekter en gemensamt vokabulär för att diskutera och referera till olika lösningar
Utvecklingsmetoden Scrum har tre olika roller definierade, vilka?
Product Owner (produktägare)
Scrum master
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?
En-till-en (One-to-one)
En-till-många (One-to-many)
Många-till-många (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
Agila. Agile
Vad är en programvarumodul?
En hanterbar enhet av programvaran som endast hanterar en del av det arbete som hela programvaran ska utföra
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
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 är ett designmönster (vid programvaruutveckling)?
En förutvecklad modell för att lösa återkommande problem
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
Vad utmärker glass-box-testning?
Vid glass-box testning känner testaren till den interna strukturen hos programvaran som skall testas och utnyttjar denna information vid konstruktion av testerna
Till skillnad från black-box testning då testaren inte har någon kunskap om programvarans interna struktur
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?
Vad är de fyra värdesätter i Agile Manifesto?
Individer och interaktioner (Individuals and interactions)
Fungerande programvara (Working software)
Kundsamarbete (Customer collaboration)
Reagera på förändring (Responding to change)