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 17. Final Project

Slide 2

Slide 2 text

Final Exam 2 a) Thursday December 4 - 12:10 pm - 13:30 pm

Slide 3

Slide 3 text

Final Project Submission

Slide 4

Slide 4 text

Submission a ) Fin a l Version of Source Code – Submit your repository a s ZIP f ile (j a v a , README.md, pom.xml included) b) Softw a re Design – Submit your UML cl a ss di a gr a m a s a PNG or JPEG im a ge, cre a ted using the Ast a h tool. c) Fin a l Present a tion Video – Provide a link to your recorded present a tion. 4

Slide 5

Slide 5 text

Code

Slide 6

Slide 6 text

Ask Yourselves • Does this cl a ss follow SRP, DRY, KIS principles? Is it re a d a ble, cle a n, a nd does it include the required J a v a Doc? • Am I a pplying st a nd a rd solutions for sh a ring d a t a , storing d a t a , p a ssing p a r a meters, building complex objects, h a ndling decision-m a king logic, a nd a dding a ttributes or functions a t runtime? • Ref a ctoring is OK – your re a l work begins a fter the code compiles a nd runs - • Does my code m a tch the UML di a gr a m I a m a tt a ching? • I a m con f ident I c a n expl a in both the code a nd the corresponding di a gr a m in a 5- minute video. It is very notice a ble when someone is trying to a void det a ils or is not con f ident in their implement a tion. 6

Slide 7

Slide 7 text

Ask Yourselves How many lines per method? How many classes per file? How many Attributes (Global Variables)?

Slide 8

Slide 8 text

Usability •Could someone know how to use it? •Where to start? •What the project is about? •Take advantage of your README.md (beau ti fy it) @see https://docs.github.com/en/repositories/ 8

Slide 9

Slide 9 text

Remember

Slide 10

Slide 10 text

Design

Slide 11

Slide 11 text

UML Class Diagram We will talk more during the review. But remember: Your diagram is an essential part of the project — not just a cover page.

Slide 12

Slide 12 text

Video Presentation

Slide 13

Slide 13 text

Video Presentation Part 1. Demo

Slide 14

Slide 14 text

First Act – The product for the Customer Demo of your project. Show your project running. :: notes :: you c a n, a ddition a lly, t a lk (brie f ly) a bout your extr a items or missing items. 14

Slide 15

Slide 15 text

Video Presentation Part 2. Software Design

Slide 16

Slide 16 text

Second Act – Software Design Show your UML cl a ss di a gr a m. (Show wh a t is import a nt a nd m a ke it e a sy to re a d for the a udience) :: notes :: (you c a n use colors for the cl a sses, for inst a nce, group cl a sses of the s a me p a ttern) • Wh a t did you do th a t m a ke this design “good”. • Do you a chieve DRY, KIS, SRP, Cle a n, Re a d a ble, Document? • Do you improve A, I, or D? (show the 2D plot reg a rding where your cl a sses a re in terms of the p a in zone) 16

Slide 17

Slide 17 text

Second Act – Structural Metrics 17 Abstract concrete Stable Hard to Change Only incoming dependencies Unstable Changeable Only outgoing dependencies

Slide 18

Slide 18 text

Video Presentation Part 3. Code

Slide 19

Slide 19 text

Third Act – The product Show, expl a in, a nd highlight how e a sy it is to re a d your code. • Expl a in to the viewer why a nd how your source code is cle a n, follows DRY, a nd a pplies KIS principles. • Ensure e a ch cl a ss is in its own f ile. • Provide J a v a Doc comments for e a ch cl a ss. • Showc a se how your code m a tches your design (cl a ss di a gr a m), cl a ss by cl a ss. • Re f lect: Does the product h a ve “good” qu a lity? If not, wh a t is missing? • This is your opportunity to justify the use of “extr a ” glob a l v a ri a bles, duplic a ted code, overuse of st a tic methods, or a ny other rule you m a y h a ve broken. 19

Slide 20

Slide 20 text

(self and peer evaluation) • NOT for the video. A link will be provided for this • (self a nd peer ev a lu a tion) Wh a t should be your gr a de a nd the gr a de of e a ch of your te a mm a tes? - if a ny 20

Slide 21

Slide 21 text

Final Project

Slide 22

Slide 22 text

Assignment 03 22

Slide 23

Slide 23 text

Assignment 03 | Example 1 | Tab 1 23 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 24

Slide 24 text

Assignment 03 | Example 1 | Tab 2 24 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 25

Slide 25 text

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

Slide 26

Slide 26 text

Not yet 26

Slide 27

Slide 27 text

Let’s Work 27 https:/ /plantuml.com/class-diagram

Slide 28

Slide 28 text

PlantUML 28 @startuml !pragma layout smetana class Foo class Bar Foo -|> Bar @enduml Always the first lines. Always the last line class interface abstract class <|-- extends <|.. realization *— composition o-- aggregation --> association ..>. dependency

Slide 29

Slide 29 text

Maven 29

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

GUI 32

Slide 33

Slide 33 text

Lab

Slide 34

Slide 34 text

PlantUML 35 @startuml !pragma layout smetana class Foo class Bar Foo -|> Bar @enduml Always the first lines. Always the last line class interface abstract class <|-- extends <|.. realization *— composition o-- aggregation --> association ..>. dependency

Slide 35

Slide 35 text

Maven 36

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

GUI 39

Slide 39

Slide 39 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.