1. Bra och dåliga tasks (6p)

Förklara vilka av följande 6 tasks som är bra/dåliga. Motivera även varför de är bra/dåliga.

 

1. Lägga in en patientens personuppgifter.

2. Lägga in orsak till en patients sjukhusvistelse och anhöriga/kontaktperson.

3. Skriva ut en patient.

4. Hitta ledig sängplats och tilldela detta till en patient.

5. Ändra en patients uppgifter.

6. Planera framtida vårdplan, hur patienten ska behandlas i framtiden.

 

2. Klassdiagram och use case (4p)

 

a) När och varför skapar man framförallt use case-diagram? Jämför detta med klassdiagram, vad är den största skillnaden på

hur man använder dem?

b) Till vilket av use case- och klassdiagram kan man lättast koppla ett sekvensdiagram?

c) Vilken av de tre diagramtyperna är lättast för kunden att förstå och validera?

d) Vilken av de tre diagramtyperna är lättast för en utvecklare att förstå och verifiera?

 

Frågorna är öppna och det finns mer än ett rätt svar. Det viktigaste är attt motivera sitt svar väl.

 

Svar/rättningsmall, uppgift 1:

1. Bra task. Sluten och lagom stor samt görs i ett svep.

2. Skulle kunna vara dålig eller bra, mest dålig. Dålig för att den är FÖR specifik, skulle kanske

vara en del av task 1 eller en sub task till task 5. Borde definitivt delas upp i två tasks.

Bra för att den sluten, skall göras ofta och kanske ofta görs efter

en eventuell läkarundersökning (dvs efter att task 1 gjorts).

3. Bra, sluten task som även visar på problemet med vad som ska göras med en patients

uppgifter då de skrivs ut (de ska sparas, men var/hur, etc.)

4. För stor, borde delas upp i två tasks. Hitta ledig sängplats skall vara en enskild task då användaren själv

måste få bestämma vad denne ska göra med informationen. Till exempel passar ju inte alla sängplatser alla patienter

beroende på sjukdom etc.

5. En bra task, borde självklart ha mer detaljerade sub tasks (typ task 2). Sluten och viktig för systemets prestanda.

6. Viktig uppgift, men alldeles för stor och vag. Bör vara mer specifik, en framtida vårdplan bör ju kunna skötas av systemet

men borde ses som en personuppgift. Alltså dålig, vag och ej sluten, går ej alltid att göra i ett svep.

 

En poäng per rätt beskriven task. Motiveringarna det viktigaste för att få poäng.

 

Svar/rättningsmall, uppgift 2:

a) Use case-diagram används för att undersöka specifika användningsfall som kan uppstå då systemet används.

Man väljer oftast ut specialfall, då något kanske blir fel eller är oklart. Man väljer ofta även några generella användningsfall för att

visa hur de går till. Klassdiagram däremot beskriver hela systemets design, hur alla klasser kommunicerar med varandra, inte hur

vissa klasser kommunicerar i vissa fall. Klassdiagram är således mer generella.

b) Use case-diagram beskrivs enkelt med sekvensdiagram, eftersom sekvensdiagram också beskriver specifika användningsfall

fast med tidsaspekt. Självklart kan sekvensdiagram även ge exempel på hur olika klasser kommunicerar och kan därmed

användas för att hitta kommunikationslänkar i klassdiagram.

c) Use case-diagram är nog lättast, om man utgår från att kunden ej har IT-vana. Use case-diagram är tydliga och intuitiva och lätta

för lekmän att förstå, skapa själva eller kommentera. Klassdiagram i sin tur kan vara svåra eller omöjliga att förstå om man inte

har programmeringsvana. Sekvensdiagram skulle kunna utnyttjas i samarbetet med kunden, men är nog alltför detaljerade.

d) Utvecklaren har nog lätt att förstå alla diagrammen ovan, de har ju alla tre olika användningsområden i utvecklingsarbetet.

Som underlag för programmering måste klassdiagrammet anses vara bäst. Vad gäller verifieringen är nog sekvensdiagrammet

tydligare och visar vad som är fel i de fall som går åt skogen.

 

En poäng per rätt svar, motiveringen viktigast även här. Självklart kan andra svar än de ovan ge poäng om motiveringar

och antaganden är bra och rimliga.