...
PlantUML Macro |
---|
| class MemoryProgram {
}
class Memory {
expectedItems // list of numbers 1-9
acceptedCount // position in list
nextItem() // adds item to list
acceptItem() // accepts (or rejects) item
}
MemoryProgram -right-> Memory: memory |
PlantUML Macro |
---|
actor bruker
MemoryProgram -> Memory: nextItem()
Memory --> MemoryProgram: 3
MemoryProgram -> bruker: "Element nr. 1 er 3"
MemoryProgram -> bruker: "Gjenta element nr. 1 av 1"
bruker --> MemoryProgram: 3
MemoryProgram -> Memory: acceptItem()
Memory --> MemoryProgram: ok og ferdig
MemoryProgram -> Memory: nextItem()
Memory --> MemoryProgram: 4
MemoryProgram -> bruker: "Element nr. 2 er 4"
MemoryProgram -> bruker: "Gjenta element nr. 1 av 2"
bruker --> MemoryProgram: 3
MemoryProgram -> Memory: acceptItem()
Memory --> MemoryProgram: ok, men ikke ferdig
MemoryProgram -> bruker: "Gjenta element nr. 2 av 2"
bruker --> MemoryProgram: 4
MemoryProgram -> Memory: acceptItem()
Memory --> MemoryProgram: ok og ferdig
MemoryProgram -> Memory: nextItem()
Memory --> MemoryProgram: 4 |
| PlantUML Macro |
---|
object "Memory" as memory1 {
expectedItems = []
acceptedCount = 0
}
object "Memory" as memory2 {
expectedItems = [3]
acceptedCount = 0
}
Memory1memory1 -down-> Memory2memory2: nextItem() => 3
object "Memory" as memory3 {
expectedItems = [3]
acceptedCount = 1
}
Memory2memory2 -down-> Memory3memory3: acceptItem() => ok og ferdig
object "Memory" as memory4 {
expectedItems = [3, 4]
acceptedCount = 0
}
Memory3memory3 -down-> Memory4memory4: nextItem() => 4
object "Memory" as memory5 {
expectedItems = [3, 4]
acceptedCount = 1
}
Memory4memory4 -down-> Memory5memory5: acceptItem() => ok, men ikke ferdig
object "Memory" as memory6 {
expectedItems = [3, 4]
acceptedCount = 2
}
Memory5memory5 -down-> Memory6memory6: acceptItem() => ok og ferdig
object "Memory" as memory7 {
expectedItems = [3, 4, 7]
acceptedCount = 0
}
Memory6memory6 -down-> Memory7memory7: nextItem() => 7
|
|
I sekvensdiagrammet har vi satt navn på to tjenester som Memory-objektet må tilby: nextItem() genererer nye tall i sekvensen, og acceptItem() tar imot et nytt tall (fra brukeren) og sjekker det mot fasiten. Det er dessuten underforstått at Memory må huske både tall-sekvensen og hvor langt brukeren har kommet i å gjenta den, som angitt i klassediagrammet med henholdsvis attributtene expectedItems og acceptedCount.
...