Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "CSC172 Class Design Pepper. Goals How to design classes How to think in terms of objects StarUML Code Generation."— Presentation transcript:

1 CSC172 Class Design Pepper

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

3 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? http://www.yyu.edu.tr/abis/admin/dosya/5637/files/UML%20Tasar%C4%B1m.pdf

4 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

5 Class UML Diagram Each class box: – Name / state / behavior Relations – Has a – Knows a – Uses a – Is a Great Explanation matched to code – http://www.cse.buffalo.edu/faculty/adrienne/Clas sResources/ClassDiagramsInANutshell/ http://www.cse.buffalo.edu/faculty/adrienne/Clas sResources/ClassDiagramsInANutshell/

6 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

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

8 StarUML Card Deck Hand Players Dealer Game

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

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


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

Similar presentations


Ads by Google