4210 Ritprogram

Objektorienterad analys (OOA) och design (OOD) kommer att användas för att skapa ett enkelt ritprogram.

Steg i metoden

  1. Beskriv ritprogrammets funktion
  2. Hitta substantiv (klasser) och verb (metoder)
  3. Skriv scenarier. Detaljerade beskrivningar av ett användarfall i taget.
  4. CRC cards - omgång 1
  5. CRC cards - omgång 2
  6. Skriv dokumentation. Minst <summary> för klasser och metoder.
  7. Koda
  8. Testa

Beskrivning av ritprogrammet

Det går att skapa en ny bild eller öppna en befintlig. Det går att rita rektanglar, ellipser, och linjer. Ritade former (rektanglar, ellipser och linjer) går att flytta och de kan tas bort. Kan även ändra storlek på former. Formerna kan ha olika färger. Formerna kan ha kantlinje med olika utseende. Det går att skriva text med olika storlek och färg.

Verb och substantiv

Plocka ut alla substantiv och verb ur texten. Skriv substantiven i singular. De motsvarar en klass.

Substantiv

Motsvarar klasser. Alla blir inte klasser. Kanske behövs det andra klasser också. Det är en bra början.

  • Bild
  • Rektangel
  • Ellips
  • Linje
  • Storlek
  • Form
  • Kantlinje
  • Utseende
  • Text
  • Färg

Verb

  • skapa (en ny bild)
  • öppna (en bild)
  • rita (rektanglar, ellipser, och linjer)
  • flytta (former, d.v.s rektanglar, ellipser, och linjer)
  • ta bort (former)
  • ändra storlek (på former)
  • skriva (text)

Scenarier

Detaljerad beskrivning av användarfall.

  1. Rita en grön rektangel i bilden. Mus hålls ner flyttas och släpps upp. Rektangel visas hela tiden.

  2. Väljer vad som ska ritas från meny (rektangel, ellips, linje).

  3. Rita ellips. Som rektangel, men hörnen tillhör rektangel som omskriver ellipsen.

  4. Rita linje. Som rektangel, men mus upp och ner anger var linjen börjar och slutar.

  5. Väljer färg på pennan från palett.

  6. Flytta en rektangel i bilden. Klicka i rektangeln för att välja den. Det syns att den är vald. Kan sedan klicka på vänster musknapp och hålla för att flytta och släppa vänster knapp för att bestämma var den hamnar.

Ordna dem helst så att det som ska implementeras först hamnar överst.

CRC cards

CRC står för Class, Responsibility och Collaboration. Spela igenom varje scenario en gång. Fyll på i varje CRC-kort efterhand. Spela vid behov varje scenario flera gånger.

Förslag på hur CRC-korten kan se ut efter ovanstående scenarier visas nedan.

Rektangel

p.s.s. Ellips och Linje

Responsibilities

  • Rita i bild
  • Har färg
  • Har två koordinater, motsatta hörn
  • Skapa rektangel med given färg och givna koordinater, motsatta hörn
  • Vet om den är vald eller ej. Syns om den är vald.
  • har ritläge (första gången)
  • har flyttläge
  • vet i vilken bild den ska ritas
  • vet om den är över eller under en annan bild

Collaborators

  • Bild

Mus

Responsibilities

  • Vet vid vilken koordinat vänster knapp blir intryckt.
  • Vet att den flyttas, samt vilken koordinat den befinner sig på.
  • Vet vid vilken koordinat vänster knapp släpps upp.

Collaborators

  • Rektangel, Linje, Ellips
  • Formmeny
  • Färgpalett
  • Bild, fråga bild vilken form som är på en viss koordinat

Bild

Responsibilities

  • har flera former (rektangel, ellips och linje), en lista
  • vet vilken form som är vald för ändring
  • kan hitta vilken bild som ligger på given koordinat
  • vet om det är ritmode eller flyttmode

Collaborators

  • Rektangel
  • Ellips
  • Linje

Formmeny

Responsibilities

  • har tre val (rektangel, ellips och linje)
  • vet vilken som är vald
  • en är default

Collaborators

Färgpalett

Responsibilities

  • vet vilken färg som är vald
  • kan välja annan färg från meny

Collaborators

Det är en iterativ process. Känner att scenarierna inte är klara.

Behov av att se GUI

Scenarier igen

CRC cards igen