Advanced Object-Oriented Analysis & Design

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é.
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,
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.
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.
© 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.
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.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
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)
L3-S1Analysis Heuristics 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
© Thomson/South-Western ECONOMIC EDUCATION FOR CONSUMERS Slide 1 Chapter 7 LESSON 7.3 Electronic Banking Objectives: By the end of class, students will.
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
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
Advanced Object-Oriented Analysis & Design
Object-Oriented Analysis & Design
Database Design Dr. M.E. Fayad, Professor
Advanced Object-Oriented Analysis & Design
Advanced Object-Oriented Analysis & Design
Component Based & Software Reuse
Software Systems Engineering
Advanced Object-Oriented Analysis & Design
Database Design Dr. M.E. Fayad, Professor
Software Project Management
Software System Engineering
Object-Oriented Analysis & Design
Presentation transcript:

Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State University One Washington Square San José, CA 95192-0180 http://www.engr.sjsu.edu/~fayad 2003 SJSU -- CmpE

Lesson 8: CRC Cards 2 2003 SJSU – CmpE --- M.E. Fayad

3 Lesson Objectives 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 3 2003 SJSU – CmpE --- M.E. Fayad

Existing CRC Cards (1) 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 2003 SJSU – CmpE --- M.E. Fayad

Existing CRC Cards (2) 5 2003 SJSU – CmpE --- M.E. Fayad

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

7 Proposed CRC Cards (1) Class (Role) Responsibility Collaboration   Class (Role) Responsibility Collaboration   Client Server   7 2003 SJSU – CmpE --- M.E. Fayad

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 8 2003 SJSU – CmpE --- M.E. Fayad

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

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

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

CRC Cards (5) 12 2003 SJSU – CmpE --- M.E. Fayad

Discussion Questions 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 2003 SJSU – CmpE --- M.E. Fayad

Questions for the Next Lecture Discuss how to identify objects, classes, attributes, operations, and relationships 14 2003 SJSU – CmpE --- M.E. Fayad