Rapportskrivning og dokumentation

Det er meningen, at du efter denne uge skal kunne skrive en rapport om dit program. Formålet med rapporten er, at sætte en anden software udvikler til hurtigt og præcist at sætte sig ind i dit program, sådan at vedkommende kan fejlrette, udvide og ændre med størst mulig sikkerhed.

Læringsmål

Efter denne uge forventes du at:

Erhvervskompetencer

Når man arbejder professionelt kommer man løbende til at skifte projekt. Man kommer derfor til at overtage andres kode, og man kommer til at videregive sin kode til andre. Det er derfor vigtigt, at du kan dokumentere din kode internt vha javadoc, at beskrive nuværende implementationsstatus, og at du kender til de standarder, der er for dokumentation af software (diagrammer).

Ugeplan

Dag Emne
Tirsdag 09.00 - 11.00 Online undervisning (Jon)
Onsdag Selvstændigt arbejde
Torsdag 09.00 - 11.00 Online undervisning
Fredag Selvstændigt arbejde

Materiale til ugen

Tirsdag

Gennemgang af rapportskabelon

Se video af gennemgang (20:54)

UML: Diagrammer og objektorienteret design

Her kan du lære lidt om UML, hvornår og hvordan man bruger hvilke diagrammer, og hvordan du tegner dem i PlantUML.

Emne Titel/video Indhold
1. UML intro Introduktion til UML-diagrammer (10:43) En kort introduktion til UML diagrammer og deres anvendelse
2. UML Navigationsdiagram Tilstands/navigationsdiagram (35:30) UML anvendes til at illustrere navigationen på et website. Tegnes i hånden og kodes i PlantUML
3. UML Sekvensdiagram Sekvensdiagram (43:59) PlantUML anvendes til at tegne et sekvensdiagram for Kaspers Command Pattern skabelon
4. UML Use Case diagram Use Case Diagram (12:37) Lær kunsten at designe Use Case Diagrammer sammen med en kunde
5. UML Use Case diagram Tegn i PlantUML (8:21) Lær at tegne Use Case diagrammer i PlanUML
6. UML Domænemodel OOD Domænemodel (16:31) Lær den endnu finere kunst, at designe domænemodeller før der er kodet en linie endnu
7. UML Domænemodel Tegn i PlantUML (10:00) Lær at tegne domænemodelleri PlantUML
8. UML Aktivitetsdiagram Teori og PlanUML (16:32) Lær at tegne aktivitetsdiagrammer i PlanUML og forstå værdien af dem

@startuml

Title BMI beregner

state index.jsp
state login.jsp

note top of login.jsp
Username and role
stored in session
end note

[*] --> index.jsp
index.jsp -right-> resultat.jsp: beregn
resultat.jsp -left-> index.jsp: retur
index.jsp --> login.jsp: log på
login.jsp --> LoggedOn: log på  [ok]
login.jsp --> login.jsp: log på [fejl]

state LoggedOn {
    state admin.jsp
    state resultat.jsp
    state kategorier.jsp
    state retkategorier.jsp
    [*]-->admin.jsp
    admin.jsp --> kategorier.jsp: ret kategorier
    kategorier.jsp --> admin.jsp: retur
    kategorier.jsp --> retkategorier.jsp: ret
    retkategorier.jsp --> kategorier.jsp: retur
    kategorier.jsp --> kategorier.jsp: fjern
    LoggedOn --> index.jsp: retur
}
@enduml

Sekvensdiagram

@startuml

autonumber
Title Beregning af BMI
actor bruger

boundary index.jsp
boundary resultat.jsp

bruger -> index.jsp: start
== Initialization ==
box BmiUtil
index.jsp -> Initializer: getSportList()
Initializer --> index.jsp: ArrayList<Sport>
end box
== Beregn BMI ==
box PresentationLayer
control FrontController
index.jsp -> FrontController: doPost()
FrontController -> FrontController: processRequest()
FrontController -> Command: from()
Command --> FrontController: Resultat
FrontController -> Resultat: execute()
end box

box LogicFacade
Resultat -> LogicFacade: insertBmiItem()
end box

box DBAccess
LogicFacade -> BmiMapper: insertBmiItem()
end box

database BmiDB
BmiMapper -> BmiDB: executeQuery()
BmiDB --> BmiMapper: OK
BmiMapper --> LogicFacade: OK
LogicFacade --> Resultat: OK
Resultat --> FrontController: resultat
FrontController --> resultat.jsp: forward()

@enduml

Review til torsdag

Til torsdags-review skal alle grupper have færdiggjort følgende diagrammer over jeres løsning til cup-cake:

Desuden skal der vises en skabelon for rapporten der er bygget over standard-skabelonen.

Aflevering af cupcake projekt