Kmom03: UML och unittest

By . Latest revision .

Kom igång med UML och unittest. Det är kraftfulla verktyg som används i “riktig” produktionsmiljö. UML kan användas för att beskriva klassernas relation och unittester (enhetstester) används för att testa delar av koden såsom funktioner och metoder.

Du kommer även skapa klasser utifrån ett färdigt UML-diagram och skriva unittester för dem.

(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. Video om sequence diagrams: UML Behavioral Diagrams: Sequence - Georgia Tech - Software Development Process.

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

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

#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. Läs igenom artikeln om UML-diagram “Vad är UML?”.

  2. Läs igenom artikeln som handlar om enhetstester “Att skriva unittester”.

#Uppgifter

Dessa uppgifter skall utföras och redovisas.

  1. Gör uppgiften “Kortspelet War”. Utför uppgiften i mappen war.

  2. Gör uppgiften “Skapa sequence diagram”. Utför uppgiften i mappen uml.

  3. Fyll på redovisning.html med kursmomentets redovisningstext.

# Ställ dig i kurskatalogen
# dbwebb validate kmom03
dbwebb publish kmom03

#Extra

Det finns ingen extrauppgift.

#Resultat & Redovisning

(ca: 1-2 studietimmar)

Läs instruktionen om hur du skall redovisa.

Se till att följande frågor besvaras i redovisningstexten.

  • Är du bekant med UML sedan tidigare?
  • Är du bekant med unittester sedan tidigare?
  • Kan du se nyttan med UML och tester inom ramen för ett projekt?
  • Vad tycker du om objektorienterad programmering än så länge?
  • Gick det bra att komma i gång med kursmomentet, var det lagom, för litet, för stort?
  • Överskuggade du någon metod i “Kortspelet War”?
  • Hur gick det med sekvensdiagrammet?

#Revision history

  • 2017-12-13: (A, lew) New version for v2.

Document source.

Category: oopython.