بطاقة صنف-مسؤولية-تعاون

بطاقة صنف-مسؤولية-تعاون (CRC) هي أداة للعصف الذهني تُستخدم في تصميم البرمجيات كائنية التوجيه. تم اقتراحها في الأصل بواسطة وورد كانينغهام وكينت بيك كأداة تعليمية،  ولكنها تحظى أيضًا بشعبية بين المصممين الخبراء Martin Fowler, UML Distilled, chapter 4 ويوصي بها أنصار البرمجة القصوى.A concise introduction at extremeprogramming.org  وصف مارتن فاولر بطاقات CRC كبديل عملي لمخطط التتابع UML لتصميم ديناميكيات لتفاعل الكائن والتعاون .

عادةً ما يتم إنشاء بطاقات CRC من بطاقات الفهرس. يقوم أعضاء جلسة العصف الذهني بكتابة بطاقة CRC واحدة لكل صنف / كائن ذي صلة  في تصميمهم. البطاقة مقسمة إلى ثلاث مناطق:

 على رأس البطاقة، اسم الصنف .
 على اليسار، المسؤوليات  الخاصة بالصنف.
 على اليمين، المتعاونون  (أصناف أخرى) التي يتفاعل معها هذا الصنف للوفاء بمسؤولياته.

استخدام بطاقة صغيرة يبقي تعقيد التصميم عند الحد الأدنى. وهي تجعل المصممين يركزون على أساسيات الصنف وتمنعهم من الدخول في تفاصيلها وتنفيذها في وقت تكون فيه هذه التفاصيل غير مثمرة. كما أنه لا يشجَع على إعطاء صنف كثير من المسؤوليات. نظرًا لأن البطاقات محمولة، يمكن وضعها بسهولة على طاولة وإعادة ترتيبها أثناء مناقشة التصميم.

 إنشاء بطاقات CRC 
لإنشاء بطاقة CRC، يمكنك البدء بكتابة سيناريو يحدد الجهات الفاعلة الرئيسية  والإجراءات  التي يقوم بها تلك الجهات. اكتب فقط الإجراءات والجهات الفاعلة الخاصة بهذا السيناريو الجزئي. يجب أن تتحول الأسماء إلى أصناف البطاقة، وتتحول الأفعال عادةً إلى مسؤوليات البطاقة، والمتعاونون هم البطاقات الأخرى التي ستتفاعل معها البطاقة.

 مثال 
على وجه البطاقة نكتب اسم الصنف واسم الصنف الأصل  (إذا كان موجوداً). عدا عن ذلك، سيوضح مجال المسؤولية والعلاقات مع الأصناف الأخرى بشكل موجز.

 اسم الصنف الصنف الأصل المسؤولية
وصف الدوال أو الطرق البرمجية وصف صطحي لمهمة الدالة أو الطريقة. تعاون مع
علاقة بصنف أخر.

على ظهر البطاقة يشرح تفاصيل الصنف بواسطة فهرسة العمليات  والحقول .

العمليات
يشار إلى العمليات بوصف ذي مستوى مناسب.
الخطوة التالية اضافة أسماء العمليات ولاحقاً المعلمة . الحقل
يشير إلى الحقل بوصف ذي مستوى ملائم.

 انظر أيضا 
 لغة النمذجة الموحدة 

 المراجع 

 روابط خارجية 
 مختبر لتدريس التفكير كائني التوجيه  ,  التي كتبها كينت بيك وورد كانينغهام
 وصف CRC لـ HotDraw
 مقدمة موجزة في البرمجة القصوى extremeprogramming.org
 محرر CRC بسيط على الإنترنت
 كتاب (الكائن الرئيسي) Scott Ambler. The Object Primer من جامعة كامبريدج
 كتاب (المبرمج البراغماتي) The Pragmatic Programmer للكاتبين Andrew Hunt, David Thomas.

تصنيف:أنواع قواعد البيانات
تصنيف:برمجة قصوى
تصنيف:برمجة كائنية التوجه
تصنيف:تصميم البرمجيات
تصنيف:نظم إدارة قواعد البيانات