Slide 1

Slide 1 text

Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.info o ffi ce: 14 -227 CSC 307 Introduction to Software Engineering Lecture 13. Connecting the Dots

Slide 2

Slide 2 text

Feedback

Slide 3

Slide 3 text

Consistent Formatting • Follow a consistent code style a nd form a tting guidelines. https://google.github.io/styleguide/javaguide.html • Use indent a tion, whitesp a ce, a nd comments e ff ectively to enh a nce re a d a bility. 4

Slide 4

Slide 4 text

Code 5 https://github.com/CSC3100/App-Paint/

Slide 5

Slide 5 text

Single Responsibility • E a ch cl a ss or function should h a ve one, a nd only one, job. • Keep functions focused on a single t a sk. • Bre a k down your code into sm a ller, reus a ble modules or functions. • Ensure e a ch module or function h a s a cle a r, well-de f ined purpose. • 6

Slide 6

Slide 6 text

Week 01 7

Slide 7

Slide 7 text

Clean Your Code!

Slide 8

Slide 8 text

Together but not Scrambled

Slide 9

Slide 9 text

Connecting the Dots

Slide 10

Slide 10 text

Pong 11 SCORE: 1 SCORE: 2 SCORE: 1 SCORE: 2

Slide 11

Slide 11 text

Stories and Tasks • As a pl a yer, I w a nt to control my p a ddle using keybo a rd input, so I c a n move it up a nd down during g a mepl a y. • As a pl a yer, I w a nt to see the opponent’s p a ddle position upd a ted in re a l time, so I c a n a nticip a te their a ctions. • As a pl a yer, I w a nt to be noti f ied if my opponent disconnects, so I know when the g a me is interrupted or over. • As a pl a yer, I w a nt to see the score on screen, so I c a n keep tr a ck of the score. 12

Slide 12

Slide 12 text

Teamwork What else (stories)? Remember: stories are NOT tasks

Slide 13

Slide 13 text

Blueprint 14

Slide 14

Slide 14 text

Teamwork How Many Classes? How are they Connected? Patterns?

Slide 15

Slide 15 text

Design 16 GAME/MAIN SUBSCRIBER PUBLISHER BALL FIELD FANS DATA REPOSITORY

Slide 16

Slide 16 text

Teamwork What about winning decorations Every 3 points?

Slide 17

Slide 17 text

Pong 18 SCORE: 1 SCORE: 6 SCORE: 1 SCORE: 6 🥎

Slide 18

Slide 18 text

Teamwork What about a chat?

Slide 19

Slide 19 text

Pong 20 SCORE: 1 SCORE: 6 SCORE: 1 SCORE: 6 🥎

Slide 20

Slide 20 text

Design 21 GAME/MAIN SUBSCRIBER PUBLISHER BALL FIELD FANS DATA REPOSITORY CHAT? DECORATION?

Slide 21

Slide 21 text

Teamwork How many classes? Who is going to do what? How everything will be integrated?

Slide 22

Slide 22 text

Lab.

Slide 23

Slide 23 text

Teamwork Before Leaving the Classroom (on paper) deliver user stories, design, who will do what?

Slide 24

Slide 24 text

Teamwork Individual assignment, submit your classes. Individual responsibility.

Slide 25

Slide 25 text

Pong 27 SCORE: 1 SCORE: 6 SCORE: 1 SCORE: 6 🥎

Slide 26

Slide 26 text

Questions 28

Slide 27

Slide 27 text

CSC 307 Introduction to Software Engineering Javier Gonzalez-Sanchez, Ph.D. [email protected] Summer 2024 Copyright. These slides can only be used as study material for the class CSC307 at Cal Poly. They cannot be distributed or used for another purpose.