Laboration 4

I denna laborationsuppgift ska ni fortsätta på den lösning ni gjort i laboration 3. Målet är att göra ert program mer modulärt. Koden som skrivs och godkänns i denna lab kommer att användas till nästa laboration.

Uppgift A

Utgå från ert UML-diagram från laboration 3 uppgift C.

Analysera era klasser med avseende på separation of concern (SoC) och single responsibility-principle (SRP). Vad har era klasser för ansvarsområde(n)? Vad har de för anledningar att ändras? På vilka klasser skulle ni behöva tillämpa dekomposition för att bättre följa SoC och SRP?

Uppgift B

Rita ett UML-diagram över en ny design som åtgärdar de brister ni identifierat med avseende både på beroenden och ansvarsfördelning, dvs. både från uppgift A och från laboration 3 uppgift C.

Motivera, i termer av de principer vi gått igenom, varför era förbättringar verkligen är förbättringar.

Uppgift C

Skriv en refaktoriseringsplan. Planen bör bestå av en sekvens refaktoriseringssteg som tar er från det nuvarande programmet till ett som implementerar er nya design. Planen behöver inte vara enormt detaljerad.

Finns det några delar av planen som går att utföra parallellt, av olika utvecklare som arbetar oberoende av varandra? Om inte, finns det något sätt att omformulera planen så att en sådan arbetsdelning är möjlig?

Uppgift D

Byt kod samt refaktoriseringsplan med en annan grupp. Verkställ den andra gruppens refaktoriseringsplan; förvissa er om att programmets funktionalitet förblir oförändrad. Inspektera resultatet av den andra gruppens verkställande av er refaktoriseringsplan. Blev det som ni tänkt er?

Frivillig BONUS-uppgift

Menu