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

CSC509 Lecture 07

CSC509 Lecture 07

Software Design
Connecting the Dots
(202310)

Javier Gonzalez-Sanchez

October 29, 2023
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    CSC 509
    Software Engineering II:
    Modeling and Design
    Lecture 07:
    Connecting the Dots
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    www.javiergs.com
    Building 14 -227
    Office Hours: By appointment

    View full-size slide

  2. jgs
    Previously…

    View full-size slide

  3. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 3
    Assignment
    UML Class Diagram
    1. Define the Model in EMF (take a
    screen shoot)
    2. Generate Code (take a screen shoot)
    3. Use the Code to Create a Class
    Diagram (only the Model package
    but include both interfaces and
    implementations).
    It will be bigger and more complex
    that the one provided

    View full-size slide

  4. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 4
    § Gamma, E., Helm, R., Johnson, R. E. & Vlissides, J. (1993). Design
    Patterns: Abstraction and Reuse of Object-Oriented Design. Proceedings
    of the European Conference on Object-Oriented Programming, 707, 406–
    431.
    § Garlan, D. & Shaw, M. (1994). An Introduction to Software
    Architecture (CMU Software Engineering Institute). CMU Software
    Engineering Institute.
    Homework :: Read

    View full-size slide

  5. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 5
    GoF Patterns

    View full-size slide

  6. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 6
    Idea
    OOAD, Grady Booch, 2007

    View full-size slide

  7. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 7
    Singleton

    View full-size slide

  8. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 8
    Observer

    View full-size slide

  9. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 9
    Factory
    Factory

    View full-size slide

  10. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 10
    Decorator

    View full-size slide

  11. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 11
    Chain of Responsibility

    View full-size slide

  12. jgs
    Let’s Work

    View full-size slide

  13. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 13
    Idea
    Main
    Factory
    Gift Ball Box Envelop

    View full-size slide

  14. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 14
    Idea
    wrapper2
    Main wrapper1
    Factory
    decoration
    Envelope
    Box
    Gift
    wrapper3
    ball
    Supervisor
    Is big > 10, box Is small < 5, envelop

    View full-size slide

  15. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 15

    View full-size slide

  16. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 16
    Let’s Work

    View full-size slide

  17. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 18
    Main

    View full-size slide

  18. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 19
    Factory

    View full-size slide

  19. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 20
    Chain of Responsibilities

    View full-size slide

  20. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 21
    Decorator

    View full-size slide

  21. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 22
    Decorator

    View full-size slide

  22. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 23
    Observer

    View full-size slide

  23. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 24

    View full-size slide

  24. jgs
    Two more thing

    View full-size slide

  25. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 26
    Idea 1
    Main
    Factory
    Gift Ball Box Envelop
    Handler
    Supervisor
    Bin

    View full-size slide

  26. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 27
    Idea 1
    In main:
    In ConcreteHandlerWithBox:
    In ConcreteHandlerWithEnvelop:

    View full-size slide

  27. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 28
    Idea 2
    Main
    Factory
    Gift Ball Box Envelop
    Handler
    Supervisor
    Bin
    GUI

    View full-size slide

  28. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 29
    Idea 2

    View full-size slide

  29. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 30
    Idea 2 :: the GUI elements

    View full-size slide

  30. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 31
    Idea 2 :: Listener

    View full-size slide

  31. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 32
    Idea 2
    Main
    Factory
    Gift Ball Box Envelop
    Handler
    Supervisor
    Bin
    GUI

    View full-size slide

  32. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 33
    Questions

    View full-size slide

  33. jgs
    CSC 509 Software Design
    Javier Gonzalez-Sanchez, Ph.D.
    [email protected]
    Fall 2023
    Copyright. These slides can only be used as study material for the class CSC509 at Cal Poly.
    They cannot be distributed or used for another purpose.

    View full-size slide