Software System Engineering Dr M E Fayad Professor

  • Slides: 13
Download presentation
Software System Engineering Dr. M. E. Fayad, Professor Computer Engineering Department, Room #283 I

Software System Engineering Dr. M. E. Fayad, Professor Computer Engineering Department, Room #283 I College of Engineering San José State University One Washington Square San José, CA 95192 -0180 http: //www. engr. sjsu. edu/~fayad 11/29/2020

Lesson 3 -4: CRC Cards 2 © M. E. Fayad 2000 -- 2006 SJSU

Lesson 3 -4: CRC Cards 2 © M. E. Fayad 2000 -- 2006 SJSU – Cmp. E M. E. Fayad L 3 -4 -S 2 CRC Cards

Lesson Objectives n Understand the existing CRC Cards Understand the problems with existing CRC

Lesson Objectives n Understand the existing CRC Cards Understand the problems with existing CRC Cards n 11/29/2020 © M. E. Fayad 2000 -- 2006 n Understand use my CRC Cards n Learn how to create a CRC Cards SJSU – Cmp. E M. E. Fayad L 3 -4 -S 3 CRC Cards 3

Existing CRC Cards (1) n CRC stands for Class, Responsibilities, Collaborations n Basic Ideas

Existing CRC Cards (1) n CRC stands for Class, Responsibilities, Collaborations n Basic Ideas – Create a card for each class – Assign responsibilities and attributes to each card – Identify collaborations between cards – Simulate design scenarios between sets of cards © M. E. Fayad 2000 -- 2006 SJSU – Cmp. E M. E. Fayad L 3 -4 -S 4 CRC Cards 4

Existing CRC Cards (2) 5 © M. E. Fayad 2000 -- 2006 SJSU –

Existing CRC Cards (2) 5 © M. E. Fayad 2000 -- 2006 SJSU – Cmp. E M. E. Fayad L 3 -4 -S 5 CRC Cards

Major Problems with Existing CRC Cards q Macho Class q Duplicate Functionality q Difficulty

Major Problems with Existing CRC Cards q Macho Class q Duplicate Functionality q Difficulty in Defining Responsibilities q No Clear Role is Defined q Hard to Map CRC Cards to Class Diagram © M. E. Fayad 2000 -- 2006 SJSU – Cmp. E M. E. Fayad L 3 -4 -S 6 CRC Cards 6

Proposed CRC Cards (1) Class (Role) Responsibility Collaboration Client Server 7 © M. E.

Proposed CRC Cards (1) Class (Role) Responsibility Collaboration Client Server 7 © M. E. Fayad 2000 -- 2006 SJSU – Cmp. E M. E. Fayad L 3 -4 -S 7 CRC Cards

CRC Cards (2) • General – Each class is described on a separate 3

CRC Cards (2) • General – Each class is described on a separate 3 X 5 or 4 X 6 card • The cards are known as CRC cards; they have 3 sections: – Class – Responsibilities – Collaborations © M. E. Fayad 2000 -- 2006 SJSU – Cmp. E 8 M. E. Fayad L 3 -4 -S 8 CRC Cards

CRC Cards (2) Class Name X (Role) Collaboration Responsibility Client 1. Specify One 2.

CRC Cards (2) Class Name X (Role) Collaboration Responsibility Client 1. Specify One 2. Unique Responsibility 3. Within context Server Collaborators Services or Interfaces that are provided by the named X class 9 © M. E. Fayad 2000 -- 2006 SJSU – Cmp. E M. E. Fayad L 3 -4 -S 9 CRC Cards

CRC Cards (3) Role name ATM (Automatic Teller) Collaboration Responsibility Client Access & modify

CRC Cards (3) Role name ATM (Automatic Teller) Collaboration Responsibility Client Access & modify account balance Account Server Balance Inquiry Deposit Transaction Funds Transfer Withdrawal Transaction 10 Collaborator © M. E. Fayad 2000 -- 2006 SJSU – Cmp. E M. E. Fayad L 3 -4 -S 10 CRC Cards

CRC Cards (4) n Prepare a CRC card for each identified class – Define

CRC Cards (4) n Prepare a CRC card for each identified class – Define class role – Provide one unique responsibility – Identify collaborators (Clients and Services) 11 © M. E. Fayad 2000 -- 2006 SJSU – Cmp. E M. E. Fayad L 3 -4 -S 11 CRC Cards

CRC Cards (5) 12 © M. E. Fayad 2000 -- 2006 SJSU – Cmp.

CRC Cards (5) 12 © M. E. Fayad 2000 -- 2006 SJSU – Cmp. E M. E. Fayad L 3 -4 -S 12 CRC Cards

 Discussion Questions n What are the good, bad, and ugly about CRC cards?

Discussion Questions n What are the good, bad, and ugly about CRC cards? n Propose a process of how to use the CRC cards n T/F – CRC stands for Common Responsible Class – CRC cards contains many responsibilities per class. – In the CRC cards, collaborators don’t have any relationship with the CRC’s named class. n 13 Define: – CRC, responsibilities, and collaborators © M. E. Fayad 2000 -- 2006 SJSU – Cmp. E M. E. Fayad L 3 -4 -S 13 CRC Cards