CSC172 Class Design Pepper. Goals How to design classes How to think in terms of objects StarUML Code Generation.

Slides:



Advertisements
Similar presentations
IS514 Lecture Week 9 CRC Cards.
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Georgia Institute of Technology Object-Oriented Analysis Barb Ericson June 2006.
Unit 251 Summary  Requirements may be represented in itemized format or in visual modeling (UML). Once the complete set of requirements are in our hand,
Unified Modeling Language
Elevens Lab Student Material – on website
Centinel tournament ● A deck: the numbers in random order ● A game lasts until no numbers are left in deck ● A game is played like this (first player.
NJIT 1 On to Object Design Chapter 14 Applying UML and Patterns.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
Chapter 1 Software Engineering. Homework ► Read Section 2.2 (pages 79-98) ► Answer questions: ► 7, 8, 11, 12, & 13 on page 134. ► Answer on paper, hand.
1 CSE 403 Design and UML Class Diagrams Reading: UML Distilled Ch. 3, by M. Fowler These lecture slides are copyright (C) Marty Stepp, They may not.
1 TCSS 360, Spring 2005 Lecture Notes Design Phase and UML Class Diagrams Relevant Reading: UML Distilled, Third Edition M. Fowler.
Structured Vs. Object Oriented Analysis and Design SAD Vs. OOAD
UML Sequence Diagrams Reading: UML Distilled Ch. 4, by M. Fowler
Sequence Diagram Tutorial
OO Analysis and Design CMPS OOA/OOD Cursory explanation of OOP emphasizes ▫ Syntax  classes, inheritance, message passing, virtual, static Most.
Systems Analysis and Design in a Changing World, Fifth Edition
Poker UML and ADT design plan.
High-Level Design With Sequence Diagrams COMP314 (based on original slides by Mark Hall)
UML S EQUENCE D IAGRAMS 1 Dr. Hoang Huu Hanh, OST – Hue University hanh-at-hueuni.edu.vn.
On to Object Design 徐迎晓 复旦大学软件学院
1 On to Object Design Chapter 14 Applying UML and Patterns.
Object Oriented Design. Object-Oriented Design Method for designing computer programs –Useful for thinking about large problems Consider “objects” interacting.
CSC 213 – Large Scale Programming. Today’s Goal  Improve design skills to make usable designs  Noun extraction & UML class diagram reviewed  Connections.
CSE 219 Computer Science III Program Design Principles.
ACO 101 Instantiating Graphic Objects. Review: 4 Phases to the Development Lifecycle Inception (Analysis & Design) – Business Requirements Business Analyst.
Review: Cohesion and Coupling, Mutable, Inheritance Screen Layouts Software methodologies – Extreme Programming Object-Oriented Design – CRC Cards - UML.
Understanding Objects and Classes
Developed by Reneta Barneva, SUNY Fredonia for CSIT 425 Requirements Modeling.
UML January 26, 2011 CSE 403, Winter 2011, Brun UML Sequence Diagrams.
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.
CSC 395 – Software Engineering Lecture 14: Object-Oriented Analysis –or– Ripping the Band-Aid Off Quickly.
Software Engineering 1 Object-oriented Analysis and Design Chap 22 UML Tools and UML as Blueprint.
ARTIFACT UML Actor A Use Case 1 Use Case 2 Actor B Document FileManager GraphicFile File Repository DocumentList FileList Customer name addr withdraw()
CSC480 Class Design Pepper. Goals How to design classes StarUML Code Generation.
CAREER CRUISING CRUISING USERNAME: RICHLAND PASSWORD: RAMS.
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
MA471 Fall 2003 Lecture 2. On With The Games Today we are going to watch each group play a couple of rounds of cards. We will go through the game slowly.
UML and Object Modeling Elements
Use Case Textual Analysis
Slide 1 Classes and Objects. Slide 2 Messages and Methods.
12/24/2015B.Ramamurthy1 Analysis and Design with UML: Discovering Classes Bina Ramamurthy.
Session 3 How to Approach the UML Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
CSE 403 Lecture 8 UML Sequence Diagrams Reading: UML Distilled, Ch. 4, M. Fowler slides created by Marty Stepp
Summary from previous lectures
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
CIT 590 Intro to Programming Lecture 10 (object oriented programming)
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
Object Oriented Analysis & Design By Rashid Mahmood.
Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
Star UML and CRC Cards Pepper.
11 Systems Analysis and Design in a Changing World, Fifth Edition.
UML and Object Modeling Elements Longley et al., ch. 9 Zeiler, chs. 4 and 5, and 12 Review Zeiler ch. 1.
Design and UML Class Diagrams
TCSS 305 (Stepp) OO Design with UML Class Diagrams
Chapter 7: Software Engineering
Sequence Diagram.
Address Book Example
UML UML Sequence Diagrams CSE 403
Lecture on Design Phase and UML Class Diagrams
GotSoccer Game Report.
Week 5.
Structure diagrams for lab 13
Week 5.
Multiplication and Division Facts Rummy
ITEC324 Principle of CS III
ITEC324 Principle of CS III
On to Object Design c. 14.
Chapter 4 Sequence Diagrams
Presentation transcript:

CSC172 Class Design Pepper

Goals How to design classes How to think in terms of objects StarUML Code Generation

How to Design Classes What objects to choose to solve a given problem? – What classes will we need to implement a system that meets our requirements? – What fields and methods will each class have? – How will the classes interact with each other?

Good Class Design Cohesive – only one abstraction No unnecessary coupling – No printing to a specific device such as screen scanner Related data in the same class

Class UML Diagram Each class box: – Name / state / behavior Relations – Has a – Knows a – Uses a – Is a Great Explanation matched to code – sResources/ClassDiagramsInANutshell/ sResources/ClassDiagramsInANutshell/

CRC cards One per noun / entity / object Class: Noun is the class name on the top Responsibility: List responsibilities on the left Collaboration: List collaborating objects on the right – If a class is being used in a collaboration, its card will not show the collaboration – the user shows the collaboration

CRC Exercise 5 card draw List objects / entities Make one card for each Walk through the game Draw a UML diagram

StarUML Card Deck Hand Players Dealer Game

StarUML Code Generation UML diagram generates code Can reverse engineer Link to Diagram Link to Code

Summary StarUML CRC Cards Good design principles – Cohesive - one abstraction – No unnecessary coupling – Related data in the same class