CRC Cards: Overview Emerson Murphy-Hill Creative Commons Attribution 4.0 License. Material Produced by NCSU Software Engineering Faculty.

Slides:



Advertisements
Similar presentations
1 © Wolfgang Pelz CRC Cards CRC Cards (class-responsibility-collaborator)
Advertisements

CRC Cards (class-responsibility-collaborator)
IS514 Lecture Week 9 CRC Cards.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Binder Object-Oriented Testing Metrics. Lack of Cohesion in Methods b b In order to calculate the lack of Cohesion in methods, the Software Engineer must.
Georgia Institute of Technology Object-Oriented Analysis Barb Ericson June 2006.
Objects First With Java A Practical Introduction Using BlueJ Designing object-oriented programs How to write code in a way that is easily understandable,
Object-Oriented Database SystemsCSCI 397C-16 Unified Modeling Language (UML) Prepared By: Keith Bryant 02 Nov 99 - Page 1.
Fall 2005CSE 115/503 Introduction to Computer Science I1 Lecture #4 Agenda Announcements Review Questions? Classes and objects UML class diagrams Creating.
CRC Card By: Yusmadi Yah Jusoh. What is CRC card?  A Class Responsibility Collaborator (CRC) model (Beck & Cunningham 1989; Wilkinson 1995; Ambler 1995)
CRC Cards Class-Responsibility-Collaboration. Where did the idea come from? Kent Beck and Ward Cunningham first introduced CRC cards at OOPSLA (object-oriented.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Unified Modeling Language User Guide Section 2—Basic Structural Modeling Chapter 4—Classes.
Slide 12.1 © The McGraw-Hill Companies, CS 4310: Software Engineering Lecture 7 Systems Analysis Object-Oriented Design.
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
High-Level Design With Sequence Diagrams COMP314 (based on original slides by Mark Hall)
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 4th Edition Copyright © 2012 John Wiley & Sons, Inc. All rights.
Objects First With Java A Practical Introduction Using BlueJ Designing applications 1.0.
1 Object orientation. 2 What benefits does OO give? Primarily –Encapsulation (Associates data & operations) –Types & specialisation –Software re-use.
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
Other UML Diagramming Techniques CS 124. UML Diagramming Techniques Class Diagrams Use Case Diagrams Interaction Diagrams Sequence diagrams Collaboration.
Scis.regis.edu ● CS-432: Modern Software Engineering Week 2 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.
1 ooa2 Object-Oriented Software A model of the real world.
1 Analysis Extracting from Use Cases to Create Diagrams.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Review: Cohesion and Coupling, Mutable, Inheritance Screen Layouts Software methodologies – Extreme Programming Object-Oriented Design – CRC Cards - UML.
CSIS3600 Systems Analysis and Design Class Identification and Class Diagrams.
Structural Modeling Chapter 7
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
Structural Modeling. Objectives O Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. O Understand.
CS Overview of CRC CS 4311 B. Beck and W. Cunningham, A Laboratory for Teaching Object-Oriented Thinking, OOPSLA ’89, October 1-6, R. Wirfs-Brock,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 Class Diagrams: The Essentials. 2 Terms and Concepts A class is... The most important building block of any object-oriented system. A description of.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
Lecture 6: Structural Modeling
Slide 12A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Structural Modeling Chapter 7. Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes in.
1 Structural Modeling Chapter 7. 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes.
Designing applications Main concepts to be covered Discovering classes CRC cards Designing interfaces Patterns Objects First with Java - A Practical.
Object-oriented design IS Outline  CRC cards  Group activity.
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
1 Software Engineering Dr. K. T. Tsang Lecture 5 Class modeling
Internet and Intranet Protocols and Applications Lecture 5a: HTTP Client-Server Design and Implementation February 15, 2005 Arthur Goldberg Computer Science.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
12/24/2015B.Ramamurthy1 Analysis and Design with UML: Discovering Classes Bina Ramamurthy.
PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Finding Analysis Classes Analyze Use-cases and other artifacts to obtain Analysis classes, relationships, and behavior diagrams.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
1 Introduction to Classes. 2 Terms and Concepts A class is... –The most important building block of any object- oriented system. –A description of a set.
Object Oriented Programming Lecture 10: UML & CRC.
Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
General Principles in Assigning Responsibilities Responsibilities Responsibility-Driven Design CRC Cards GRASP.
CRC Cards: Construction Emerson Murphy-Hill Creative Commons Attribution 4.0 License. Material Produced by NCSU Software Engineering Faculty.
Designing applications Main concepts to be covered Discovering classes CRC cards Designing interfaces Patterns © 2017 Pearson Education, Inc. Hoboken,
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Adapted from (Zenebe & Miao, 2001) CRC Cards A tool and method for systems analysis and design Part of the OO development paradigm Highly interactive and.
Planning 2: Estimation Mechanics Emerson Murphy-Hill Creative Commons Attribution 4.0 License. Material Produced by NCSU Software Engineering Faculty.
Chapter 5: Structural Modeling
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
An informal, team oriented, OO design system
Object-Oriented Design
CRC Modeling (class-relationship-collaborator)
INFS 6225 Object Oriented Systems Analysis & Design
Other UML Diagramming Techniques
Design Joshua Lewis Project questions Assignment questions
ITEC324 Principle of CS III
ITEC324 Principle of CS III
Presentation transcript:

CRC Cards: Overview Emerson Murphy-Hill Creative Commons Attribution 4.0 License. Material Produced by NCSU Software Engineering Faculty.

Introduction to CRC Cards CRC Card = Class Responsibility Collaboration Card Purpose: interactively brainstorm an initial design of a program or program segment to help developers think in an object-oriented way avoid thinking about implementation details too early Invented in 1989 by Kent Beck and Ward Cunningham

CRC Cards Class – the name of an OO class (a good descriptive noun) Responsibility – the things the OO class does (behavior responsibility) Collaborator – the relationship the class has with other classes Class Name Main Responsibility Description Responsibilities Collaborators X 6 (or 3 X 5) Index card Class attributes (what the class must know about itself – knowledge responsibility) on the back of the card

Slide 4 An Example CRC Card - Wixom, & Roth Main Responsibility A patient makes appointments, review or configure insurance information, and provides medical history

Slide 5 An Example CRC Card - Wixom, & Roth

CRC Cards  What next? Class Name Main Responsibility Description Responsibilities Collaborators Turn these cards into your class diagram Card  Class Responsibilities  Methods Collaborators  Associations (need to have instances of collaborating classes) Data members on the card back  Attributes