Karta klasowa-odpowiedzialność-współpraca
Karty CRC ( class-responsibility-collaboration ) to narzędzie do burzy mózgów używane w projektowaniu oprogramowania zorientowanego obiektowo . Zostały pierwotnie zaproponowane przez Warda Cunninghama i Kenta Becka jako narzędzie dydaktyczne, ale są również popularne wśród doświadczonych projektantów i polecane przez praktyków programowania ekstremalnego . Autor Martin Fowler napisał, że karty CRC mogą być rozsądnym sposobem szybkiego opracowania wielu alternatywnych interakcji, ponieważ pozwalają uniknąć wielu rysowań i wymazywania. Sesje kart CRC mogą być poprzedzone tworzeniem diagramów sekwencji w celu uchwycenia zidentyfikowanych interakcji.
Karty CRC są często wykorzystywane w fazie projektowania systemu i rozwoju oprogramowania do przekształcania opisów przypadków użycia w diagramy klas, umożliwiając płynniejsze przejście z większym przeglądem i umożliwiając programistom wdrażanie rozwiązań o niskim poziomie powiązania i wysokiej spójności.
Karty CRC są zwykle tworzone z kart indeksowych . Członkowie sesji burzy mózgów napiszą po jednej karcie CRC dla każdej odpowiedniej klasy /obiektu ich projektu. Karta jest podzielona na trzy obszary:
- Na górze karty nazwa klasy
- Po lewej obowiązki klasy
- Po prawej współpracownicy (inne klasy), z którymi klasa wchodzi w interakcję, aby wypełnić swoje obowiązki
Używanie małych kart minimalizuje złożoność projektu, zmniejsza zakres odpowiedzialności klasowej i pozwala projektantom skupić się na najważniejszych elementach zajęć bez zagłębiania się w szczegóły implementacji. Ponieważ karty są przenośne, można je łatwo rozłożyć na stole i zmienić układ podczas omawiania projektu.
Tworzenie kart CRC
Tworzenie kart CRC zwykle rozpoczyna się od napisania scenariusza, który identyfikuje głównych aktorów i działania. Ze scenariusza rzeczowniki powinny stać się klasami, czasowniki obowiązkami, a współpracownicy to inne karty, z którymi karta będzie wchodzić w interakcje.
Zobacz też
- Projekt zorientowany obiektowo
- Metamodelowanie
- Modelowanie oparte na historii
- Ujednolicony język modelowania
Linki zewnętrzne
- Laboratorium nauczania myślenia zorientowanego obiektowo, artykuł autorstwa Kenta Becka i Warda Cunninghama
- Opis CRC HotDraw
- Zwięzłe wprowadzenie na stronie extremeprogramming.org
- Prosty internetowy edytor CRC