Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CSC305 Lecture 25

CSC305 Lecture 25

Individual Software Design and Development
Final Review
(202411)

Javier Gonzalez-Sanchez

December 03, 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 25. Final Review
  2. Announcements 2 * Final Exam December 6 (Lab Time) *

    Final Project Due by December 11 (no extensions) I will provide details on Wednesday.
  3. Disclaimer for Final Exam Review The f in a l

    ex a m is comprehensive, encomp a ssing a ll course m a teri a ls. This review covers only a subset of topics. Import a nt: • Ensure you review a ll lecture slides a nd course m a teri a ls. • The following slides include ex a mples rel a ted to selected topics. • This is NOT a n exh a ustive list of ex a m topics. 4
  4. Lecture 02, 03 • Cle a n code is re

    a d a ble, m a int a in a ble, a nd follows principles like SRP, DRY, a nd DI. • Be re a dy to a nswer multiple-choice teoretic a l questions • Be re a dy to a pply them on open-questions (coding) • Apply these in your Fin a l Project. 11
  5. Lecture 09 - Assignment Re a d a bility •

    DRY • KIS • SRP • Comments • Error H a ndling with a Logger 13 Metrics • LOC (eLOC, lLOC) • CC • A • I • D
  6. Lecture 04 • Dependency m a n a gement in

    J a v a . • M a ven simpli f ies dependency m a n a gement by a utom a tic a lly downlo a ding required libr a ries a nd their dependencies using a project object model (POM) f ile. • Students were t a sked with running a n ex a mple a nd re f lecting on whether the ex a mples a lign with cle a n coding principles. 16
  7. Lecture 05, 24 19 trace() debug() info () warn ()

    error() message 01 message 02 message 03 message 04 message 05 Logger Appender Appender Appender Encoder Encoder
  8. Lecture 05, 24 • The import a nce of logging

    for recording events a nd mess a ges during a progr a m’s execution • Using SLF4J with Logb a ck • Log levels (TRACE, DEBUG, INFO, WARN, ERROR) • Utilizing ConsoleAppender a nd FileAppender • You h a ve integr a ted logging into their Tic-T a c-Toe project. Ex a mples a nd reus a ble code were provided through our GitHub repository. 21
  9. Lecture 06 - 08 24 Abstract Concrete Stable Hard to

    Change Only incoming dependencies Unstable Changeable Only outgoing dependencies the main sequence Painful Useless 0 1 1 0 Instability Abstractness
  10. Examples • Type A. What is the problem solved using

    ________________________ ? • Type B. Program the following in an standard way: “A Dashboard show information about stock prices; prices are available to be downloaded from a broker (postal office). A Genius need access to the stock prices to calculate good investment recommendations” 30
  11. Step 9: Generate Text (Code in Java) 45 File Box

    Connector public class Cat C a t O 👀 } { implements PropertyChangeListener extends PropertyChangeSupport
  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.