F4 - Modell och diagram, Introduktion till problemlösning Flashcards
Vad är en modell?
En (abstrakt) representation av något fysiskt eller imaginärt)
Vilka två saker bör en användbar modell ha?
- Rätt detaljnivå
- Representerar endast det som är väsentligt för uppgiften
Vad kan en modell vara bra för?
- Går snabbare att bygga än den riktiga saken
- Kan användas i simuleringar
- Kan förändras efter hand
- Vi kan välja detaljnivå
- Den kan synliggöra imaginära saker
På vilka aspekter kan en modell förändras under tiden av ett projekt?
- Abstraktion - modellen blir mer konkret
- Formalitet - modellen blir mer formellt specifierad
- Detaljnivå - modeller får mer detaljer
Vad är ett diagram?
En grafisk vy av en modell
Vad använder ett diagram för att representera händelser eller saker?
(abstrakta) figurer
Vad är notation för ett diagram?
En viss uppsättning regler som följs (likt syntax för kod)
Vad är bra med standardiserade notationer (såsom UML)?
Det gör att diagram kan användas av flera olika personer som kanske inte talat med varandra tidigare
Vad avgör vilken detaljnivå som är lämplig för ett diagram?
Situationen och syftet
Vad kan vara syftet för ett diagram?
- Att kommunicera en modell (helt eller delar av den)
- Öka den egna förståelsen av modellen
- Diskutera och prova nya idéer
Vad visar ett statiskt diagram? (structural/static)
Den visar strukturen på kod och hur ett system är organiserat
Vad visar ett dynamiskt diagram?
Hur en process fungerar eller vad som sker när ett program körs
Är aktivitetsdiagram statiska eller dynamiska?
Dynamiska
Vad är pseudokod?
Ett informellt sätt att skriva riktlinjer för hur ett stycke kod ska se ut
Vad används pseudokod till?
Det används för att testa om en lösning kommer att fungera eller för att skissa upp kod innan vi vet detaljer om den
Vad är en algoritm?
En lösning för ett problem
På vilket sätt beskriver en algoritm hur vi vill styra flödet i koden?
Genom att definiera aktiviteter och i vilken ordning de ska utföras
Vad är en “Top-Down”-strategi vid framtagande av algoritm?
Man börjar med det övergripande problemet och lägger till detaljer efter hand
Vad är en “Bottom-up” strategi vid framtagande av algoritm?
Man delar upp problemet i separata mindre delar som sedan löses var för sig oberoende av varandra, för att därefter lägga ihop de små lösningarna tills alla är med.
Vad är en sekvens?
En mängd instruktioner/satser som utförs i en viss ordning
Vad finns det för vanliga satser för selektion i Java?
if-sats
if-else-sats
switch-sats
(men det finns fler som vi kommer stöta på efter hand)
Vad gör man när man nästlar?
Man skriver en selektion inuti i selektion eller en iteration inuti en iteration (selektioner och iterationer kan också nästlas med varandra på alla möjliga sätt)
Vad är en iteration?
En “loop”
Vad finns det för vanliga satser för iteration i Java?
For-loop
While-loop
Do-while-loop
(men det finns fler som vi kommer att stota på senare)