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

CSC305 Lecture 26

CSC305 Lecture 26

Individual Software Design and Development
Final Project
(202412)

Javier Gonzalez-Sanchez

December 05, 2024
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 26. Final Project
  2. Announcements 2 * Final Exam December 6 (Lab Time) *

    Final Project Due by December 11 (no extensions) I will provide details on Wednesday.
  3. Wednesday, December 11 a ) Fin a l Version of

    your Source Code - submit your J a v a f iles b) Softw a re Design - your UML cl a ss di a gr a m c) Metrics (Code a nd Structure) d) Links to your GitHub repository e) Link to your video of the Fin a l Present a tion 4
  4. 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 propos a l, i.e., the next fe a tures to be a dded 6
  5. Second Act – Software Design Show your a rchitecture a

    nd 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 newly a dded cl a sses) • Wh a t did you do th a t m a ke this design “good”. • Do you a chieve SOLID? • 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) 8
  6. Part 2. The product • Describe your a rchitecture (

    a di a gr a m with boxes is f ine) • Describe your design. Could it be e a sy for a new developer to reuse, modify or extend wh a t you h a ve cre a ted? • Show a cl a ss di a gr a m (Expl a in it a nd describe the det a ils) • Be sure the di a gr a m a nd code m a tch. • Wh a t components were developed by e a ch te a m member? Wh a t were the criteri a for splitting the work (components, cl a sses, methods)? 9
  7. Structural Metrics 10 Abstract concrete Stable Hard to Change Only

    incoming dependencies Unstable Changeable Only outgoing dependencies
  8. Part 2. The product • Source code cle a n,

    DRY, a nd KIS • Code Metrics: LOC, eLOC, lLOC, CC • Structure Metrics: Abstr a ctness, Inst a bility, Dist a nce • Does the product h a ve a “good” qu a lity? • Wh a t fe a tures were Unit Tested? • Services? 12
  9. Deployment Think about the following regarding deployment: •Could someone download

    the latest version from the GitHub release and know how to run it? •Consider using a JMenuBar, JPopupMenu •Consider making your JAR fi le executable (see next) 14
  10. 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/ 16
  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? 18
  12. CSC 305 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D.

    [email protected] Summer 2024 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.