$30 off During Our Annual Pro Sale. View Details »

CSC305 Lecture 17

CSC305 Lecture 17

Individual Software Design and Development
Final Project
(202511)

Avatar for Javier Gonzalez-Sanchez

Javier Gonzalez-Sanchez PRO

November 20, 2025
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. 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
  2. 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
  3. 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
  4. Ask Yourselves How many lines per method? How many classes

    per file? How many Attributes (Global Variables)?
  5. 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
  6. 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.
  7. 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
  8. 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
  9. Second Act – Structural Metrics 17 Abstract concrete Stable Hard

    to Change Only incoming dependencies Unstable Changeable Only outgoing dependencies
  10. 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
  11. (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
  12. 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.
  13. 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
  14. Assignment 03 | Example 1 | Tab 3 25 👷

    This space is empty for now
  15. 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
  16. Lab

  17. 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
  18. 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.