– 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
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
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
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
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
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.
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
Foo -|> Bar @enduml Always the first lines. Always the last line class interface abstract class <|-- extends <|.. realization *— composition o-- aggregation --> association ..>. dependency
Foo -|> Bar @enduml Always the first lines. Always the last line class interface abstract class <|-- extends <|.. realization *— composition o-- aggregation --> association ..>. dependency
[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.