Slide 1

Slide 1 text

Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.info o ffi ce: 14 -227 CSC 305 Individual Software Design and Development Lecture 14. Toward the Final Project

Slide 2

Slide 2 text

✅ Quality Metrics ✅ Dependency Management ✅ Multithreading ✅ User Interfaces++ Week 07 2 ✅ Clean Code ✅ Object-Oriented Design

Slide 3

Slide 3 text

Last Lecture 3

Slide 4

Slide 4 text

Assignment 02 ✅ 4

Slide 5

Slide 5 text

Assignment 02 ✅ 5

Slide 6

Slide 6 text

Crafting vs Manufacturing 6 VS

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Yet Another App for Code Visualization! 8 OK GITHUB URL Assignment 01 Assignment 02

Slide 9

Slide 9 text

PS. 9

Slide 10

Slide 10 text

Assignment 03

Slide 11

Slide 11 text

Assignment 03 11

Slide 12

Slide 12 text

Assignment 03 | Example 1 | Tab 1 12 Bo a rdP a nel M a in Controller M a in01.j a v a Take the population values and divide them into three groups by first finding the largest and smallest values, then calculating the range between them, and finally using that range to set two cut- off points.

Slide 13

Slide 13 text

Assignment 03 | Example 1 | Tab 2 13 Painful Useless Controller Main BoardPanel * java files colors to be calculated; * not showing them here Add inheritance and local variables, but only for the other classes in this folder

Slide 14

Slide 14 text

Assignment 03 | Example 1 | Tab 3 14 👷 This space is empty for now

Slide 15

Slide 15 text

Not yet 15

Slide 16

Slide 16 text

Logging

Slide 17

Slide 17 text

Problem 17

Slide 18

Slide 18 text

Problem 18

Slide 19

Slide 19 text

Bad Idea System.out.println 19 Messages

Slide 20

Slide 20 text

Logging • Recording events, a ctions, or mess a ges th a t occur during the execution of a progr a m. • Proper logging is essenti a l for m a int a ining a nd troubleshooting a pplic a tions e ff ectively throughout their lifecycle. 20

Slide 21

Slide 21 text

Good Idea 21 message 01 message 02 message 03 message 04 message 05

Slide 22

Slide 22 text

SLF4J Logback • St a nds for Simple Logging F a c a de for J a v a • It provides a uni f ied interf a ce for logging oper a tions, a llowing developers to write logging code without binding their a pplic a tion to a speci f ic logging implement a tion. • We need to t a lk a bout the F a c a de P a ttern 22

Slide 23

Slide 23 text

Getting Started

Slide 24

Slide 24 text

SLF4J Logback | Add the dependency 24 https://github.com/CSC3100/Tool-Logging

Slide 25

Slide 25 text

SLF4J Logback | Logging 25 https://github.com/CSC3100/Tool-Logging

Slide 26

Slide 26 text

SLF4J Logback | Logging 26 https://github.com/CSC3100/Tool-Logging

Slide 27

Slide 27 text

Severity Level 27 TRACE DEBUG INFO WARN ERROR Severity

Slide 28

Slide 28 text

We want this 28 message 01 message 02 message 03 message 04 message 05 trace() debug() info () warn () error() Logger 28

Slide 29

Slide 29 text

Lab

Slide 30

Slide 30 text

SLF4J Logback | Add the dependency 30 https://github.com/CSC3100/Tool-Logging

Slide 31

Slide 31 text

SLF4J Logback | Logging 31 https://github.com/CSC3100/Tool-Logging

Slide 32

Slide 32 text

SLF4J Logback | Logging 32 https://github.com/CSC3100/Tool-Logging

Slide 33

Slide 33 text

33 After that, Work on your Assignment

Slide 34

Slide 34 text

CSC 305 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.