Kmom03: UML och unittest

By . Latest revision .

Ni har redan tittat lite på UML och enhetstester men nu ska vi gräva lite djupare. Ni ska lära er ett nytt typ av diagram, Sekvensdiagram, och lära er med om enhetstester. Samtidigt som ni utvecklar vidare Yahtzee3.

Gör dbwebb update och dbwebb init innan du startar med kursmomentet.

(Detta är instruktionen för kursmomentet och omfattar det som skall göras inom ramen för kursmomentet. Momentet omfattar cirka 20 studietimmar inklusive läsning, arbete med övningar och uppgifter, felsökning, problemlösning, redovisning och eftertanke. Läs igenom hela kursmomentet innan du börjar jobba. Om möjligt – planera och prioritera var du vill lägga tiden.)

#Läsanvisningar

(ca: 8-10 studietimmar)

#Kurslitteratur

Läs följande:

Python 3 Object-oriented Programming
* Ch 3 - When Objects Are Alike
* Ch 5 - When to use Object-oriented Programming
* Ch 12 - Testing Object-oriented Programs

#Artiklar

Läs följande:

  1. The art of unit testing

  2. UML notation

  3. Visualizing program execution

  4. UML basics på IBM

#Video

Titta på följande video:

  1. Videos 12-22 i spellistan Software Development Process: Part 2 of 3 om class diagrams.

  2. Videom klassdiagram: UML Class Diagram Tutorial

  3. Video om unittester: Python Functions 2: Unit Testing

  4. Längre video om testning i Python: Testing is Fun in Python!

#Lästips

  1. UML class relationships

  2. OO development process

  3. CRC cards

#Övningar & Uppgifter

(ca: 8-10 studietimmar)

#Övningar

Genomför följande övningar för att träna dig.

  1. “Mer objektorientering” i guiden “Kom igång med objektorienterad programmering i Python”.

  2. Introduktion till sekvensdiagram”.

  3. Mer om enhetstester”.

#Uppgifter

Dessa uppgifter skall utföras och redovisas.

  1. Gör uppgiften “Yahtzee3”. Spara koden i mappen me/kmom03/yahtzee3/.
# Ställ dig i kurskatalogen
dbwebb test kmom03
dbwebb publish kmom03

#Extra

Det finns inga extrauppgifter.

#Lämna in

Läs Lämna in och redovisa uppgift för att ta reda på hur ni lämna in era uppgifter när ni är klara.

#Revision history

  • 2022-01-28: (D, aar) Bytte från bank2 till yahtzee3.
  • 2021-01-25: (C, moc) La in bank2 och ändrade war uppgiften till klassdiagram.
  • 2019-01-19: (B, aar) Tog bort uppgifter om sekvensdiagram.
  • 2017-12-13: (A, lew) New version for v2.

Document source.

Category: oopython.