Software System Engineering Dr M E Fayad Professor
- Slides: 13
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 – 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 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 – 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 – 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 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. 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 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. 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 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 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. E M. E. Fayad L 3 -4 -S 12 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
- Luis fayad
- Dr luis fayad
- Mohamed fayad sjsu
- Dr fayad
- What is system in software engineering
- Promotion from associate professor to professor
- Forward engineering and reverse engineering
- Software maintenance process models ppt
- Frank maurer
- Metrics computer science
- Types of software crisis
- Halstead software metrics example
- Real time software design in software engineering
- Software design fundamentals in software engineering