Slide 1

Slide 1 text

Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.info o ffi ce: 14 -227 CSC 508/9 Software Engineering (Design & Deployment) Lecture 03. Object-Oriented Design II

Slide 2

Slide 2 text

Relationships 2

Slide 3

Slide 3 text

Error Smells 3 ✅ ❌

Slide 4

Slide 4 text

Level of Abstraction 4 https://faculty.runi.ac.il/arik/site/Clipasso.asp

Slide 5

Slide 5 text

Examples

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Quiz

Slide 12

Slide 12 text

Draw the Diagram 12 public class B implements E { public B() C c1 = new C(); } public void method(A a) { B b = new B(); b.sleep(); a.method(new D()); } } public class Y extends B { private A []a = new A[5]; private X var = new X(); protected Y instance; } public class A extends B { C c1, c2; public A() { c1 = new C(); } public void method(D d) { d.working(); } } public class X { private String s; public void m() { B var = new A(); double x – Math.sqrt(5); } }

Slide 13

Slide 13 text

TicTacToe

Slide 14

Slide 14 text

Parts 14 Engine (Br a in) M a in View (I/O) Bo a rd (D a t a ) Pl a yer (Controller)

Slide 15

Slide 15 text

M a in

Slide 16

Slide 16 text

View (I/O)

Slide 17

Slide 17 text

Bo a rd (D a t a )

Slide 18

Slide 18 text

Engine (Br a in)

Slide 19

Slide 19 text

Pl a yer (Controller)

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

More Examples

Slide 22

Slide 22 text

JFrame 22

Slide 23

Slide 23 text

JFrame 23

Slide 24

Slide 24 text

JFrame 24

Slide 25

Slide 25 text

JFrame 25

Slide 26

Slide 26 text

JFrame 26

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

28

Slide 29

Slide 29 text

CSC 508/9 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D. [email protected] Fall 2025 Copyright. These slides can only be used as study material for the class CSC305 at Cal Poly. They cannot be distributed or used for another purpose.