Klass-ansvar-samverkanskort
Klass-ansvar-samarbete ( CRC ) -kort är ett brainstorming -verktyg som används vid design av objektorienterad programvara. De föreslogs ursprungligen av Ward Cunningham och Kent Beck som ett läromedel men är också populära bland expertdesigners och rekommenderas av extrema programmeringsutövare . Författaren Martin Fowler har skrivit att CRC-kort kan vara ett vettigt sätt med vilket flera alternativa interaktioner snabbt kan utformas, eftersom de undviker en hel del ritning och radering. CRC-kortsessioner kan följas av skapandet av sekvensdiagram för att fånga interaktioner som identifieras.
CRC-kort används ofta under designfasen av system- och mjukvaruutveckling för att överföra användningsfallsbeskrivningar till klassdiagram, vilket möjliggör en smidigare övergång med större överblick och tillåter utvecklare att implementera lösningar med låg bindning och hög sammanhållning.
CRC-kort skapas vanligtvis från registerkort . Medlemmar i en brainstormingsession kommer att skriva ett CRC-kort för varje relevant klass /objekt av deras design. Kortet är uppdelat i tre områden:
- Ovanpå kortet, klassnamnet
- Till vänster, klassens ansvar
- Till höger, kollaboratörer (andra klasser) som klassen interagerar med för att uppfylla sina skyldigheter
Att använda små kort minimerar komplexiteten i designen, minskar klassansvar och håller designers fokuserade på det väsentliga i klasserna utan att utforska implementeringsdetaljer. Eftersom korten är portabla kan de enkelt läggas ut på ett bord och arrangeras om medan man diskuterar en design.
Skapa CRC-kort
Skapandet av CRC-kort börjar normalt med att skriva ett scenario som identifierar de viktigaste aktörerna och åtgärderna. Från scenariot ska substantiv bli klasser, verb blir ansvar och kollaboratörer är de andra korten som kortet kommer att interagera med.
Se även
externa länkar
- Ett laboratorium för undervisning i objektorienterat tänkande av Kent Beck och Ward Cunningham
- En CRC-beskrivning av HotDraw
- En kortfattad introduktion på extremeprogramming.org
- En enkel online CRC Editor