© M.E. Fayad 2000 -- 2006 SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

Slides:



Advertisements
Similar presentations
L3-S1 Practical Solutions 2003 SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
Advertisements

Fall 2002 SJSU -- CmpE Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.
L10-S1Object Identification SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department,
L3-1-S1 OO Concepts © M.E. Fayad SJSU -- CMPE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
 Fayad SJSU -- CmpE Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
L3-5c-S1 Object Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department,
© M.E. Fayad SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José.
L16-S1 Object Diagrams 2003 SJSU -- CmpE Software Patterns Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L28-S1 Interaction Diagrams 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
© M.E. Fayad SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José.
L19-S1 More on Class Diagrams 2003 SJSU -- CmpE Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
 Fayad SJSU – CmpE Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L21-S1 Model-Based Arch SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
L3-5d-S1 Class Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
L03-S1 Stable Analysis Patterns 2003 SJSU -- CmpE Software Pattens Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L26-S1 Interactions 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
P2-S1 MySQL 2003 SJSU -- CmpE-- M.E. Fayad Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
© M.E. Fayad SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José.
SJSU -- CmpE © Dr. M. E. Fayad Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
L5-S1 Class Diagrams 2003 SJSU -- CmpE Software Patterns Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
L8-S1 CRC Cards 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
© M.E. Fayad SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José.
1999 – 2006 M.E. Fayad SJSU -- CmpE Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
© M.E. Fayad SJSU -- CmpE Analysis Heuristics Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
L18-S1 Getting Started 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
 Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L04-S1 Stable Design Patterns 2003 SJSU -- CmpE Software Patterns Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L3-6b-S1 Sequence Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
L6-1-S1Design Heuristics - 1 © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department,
SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.
CS212: Object Oriented Analysis and Design Lecture 4: Objects and Classes - I.
L1-S1Introduction 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
L4-S1 Modeling Concepts 2003 SJSU -- CMPE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Lecture OO05 Object Scenarios Object Interaction Diagrams
L8-2-S1 Misc Topics © M.E. Fayad SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of.
Fall 2002 SJSU -- CMPE Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.
UML (Unified Modeling Language)
L6-S1 MLPQ 2003 SJSU -- CmpE-- M.E. Fayad Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L3-S1Analysis Heuristics 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
L1-S1 Infinite R-DB 2003 SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
Object-Oriented Analysis & Design
Advanced Object-Oriented Analysis & Design
Database Design Dr. M.E. Fayad, Professor
Software Engineering Management
Software Patterns Dr. M.E. Fayad, Professor
Component-Based & Software Reuse
Software System Engineering
Object-Oriented Analysis & Design
Software Engineering Management
Advanced Object-Oriented Analysis & Design
Software System Engineering
Software System Engineering
Object-Oriented Analysis & Design
Enterprise & Application Frameworks
Object-Oriented Analysis & Design
Advanced Object-Oriented Analysis & Design
Component Based & Software Reuse
Advanced Object-Oriented Analysis & Design
Database Design Dr. M.E. Fayad, Professor
Software System Engineering
Object-Oriented Analysis & Design
Presentation transcript:

© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State University One Washington Square San José, CA

L3-4-S2 CRC Cards © M.E. Fayad SJSU – CmpE M.E. Fayad 2 Lesson 3-4: CRC Cards

L3-4-S3 CRC Cards © M.E. Fayad SJSU – CmpE M.E. Fayad Lesson Objectives 3 Understand the existing CRC Cards Understand the problems with existing CRC Cards Understand and use my CRC Cards Learn how to create a CRC Cards

L3-4-S4 CRC Cards © M.E. Fayad SJSU – CmpE M.E. Fayad CRC stands for Class, Responsibilities, Collaborations 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 4 Existing CRC Cards (1)

L3-4-S5 CRC Cards © M.E. Fayad SJSU – CmpE M.E. Fayad 5 Existing CRC Cards (2)

L3-4-S6 CRC Cards © M.E. Fayad SJSU – CmpE M.E. Fayad  Macho Class  Duplicate Functionality  Difficulty in Defining Responsibilities  No Clear Role is Defined  Hard to Map CRC Cards to Class Diagram 6 Major Problems with Existing CRC Cards

L3-4-S7 CRC Cards © M.E. Fayad SJSU – CmpE M.E. Fayad 7 Proposed CRC Cards (1) Class (Role) ResponsibilityCollaboration ClientServer

L3-4-S8 CRC Cards © M.E. Fayad SJSU – CmpE M.E. Fayad 8 CRC Cards (2) General – Each class is described on a separate 3X5 or 4X6 card The cards are known as CRC cards; they have 3 sections: – Class – Responsibilities – Collaborations

L3-4-S9 CRC Cards © M.E. Fayad SJSU – CmpE M.E. Fayad 9 CRC Cards (2) Class Name X (Role) Responsibility Collaboration Client Server 1. Specify One 2. Unique Responsibility 3. Withincontext Collaborators Services or Interfaces that are provided by the named X class

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

L3-4-S11 CRC Cards © M.E. Fayad SJSU – CmpE M.E. Fayad Prepare a CRC card for each identified class –Define class role –Provide one unique responsibility –Identify collaborators (Clients and Services) 11 CRC Cards (4)

L3-4-S12 CRC Cards © M.E. Fayad SJSU – CmpE M.E. Fayad 12 CRC Cards (5)

L3-4-S13 CRC Cards © M.E. Fayad SJSU – CmpE M.E. Fayad What are the good, bad, and ugly about CRC cards? Propose a process of how to use the CRC cards 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. Define: –CRC, responsibilities, and collaborators 13 Discussion Questions