Projektöversikt
- Gruppen har kommit igång med utvecklingen av ett banksystem med användare, konton och lån
- De har skapat ett UML-diagram för att visualisera klassrelationerna
- Hittills har de implementerat cirka 600 rader kod
Designproblem och rekommendationer
- Klasshierarkin behöver restruktureras för att bättre följa objektorienterade principer
- Förslag att använda User som basklass, med Admin och Customer som subklasser istället för den nuvarande SignedInUser-klassen
- Klassnamn bör vara substantiv (saker) och metodnamn bör innehålla verb (handlingar)
- RunBank-klassen bör byta namn då det innehåller ett verb
- Konsolinteraktion (input/output) bör separeras från affärslogik genom att skapa en dedikerad Menu-klass
- Metoder bör ha tydliga ansvarsområden för att underlätta underhåll
Diskuterade implementationsdetaljer
- Användare loggar in med ID istället för användarnamn, vilket diskuterades vara mindre användarvänligt
- Efter tre felaktiga inloggningsförsök ska användaren låsas, vilket kräver en mekanism för att spåra låsta användare
- Konton behöver unika identifierare, rekommendationen är att använda strängar istället för numeriska värden
- Testdata bör vara samlad på ett ställe för att underlätta testning
- Det är inte nödvändigt att implementera fillagring i nuläget
Nästa steg
- Fokusera på att skapa grundstrukturen med klasser och deras properties