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

CSC509 Lecture 05

CSC509 Lecture 05

Software Design
Patterns
(202310)

Javier Gonzalez-Sanchez

October 22, 2023
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs CSC 509 Software Engineering II: Modeling and Design Lecture

    05: Patterns Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.com Building 14 -227 Office Hours: By appointment
  2. jgs Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 |

    3 Reference Read: Wettel, R. & Lanza, M. (2007). Visualizing Software Systems as Cities. 2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis, 92–99. https://doi.org/10.1109/vissof.2007.4290706
  3. jgs Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 |

    5 § A Tree is an Interface. § A rock is an Abstract Class. § A house is a Class. The size of the house represents the size (number of methods and attributes) of a Class. Project
  4. jgs Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 |

    6 SE 101 (Undergraduate Course)
  5. jgs Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 |

    9 Solution (from 12 Junior Software Engineers)
  6. jgs Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 |

    11 Design (Part 2) A B C " # $ $ $ $ $ $ $ D
  7. jgs Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 |

    12 Design (Part 3) C D # # # # $ " " " " #
  8. jgs Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 |

    13 Communication Date: Wednesday, October 11, 2023 at 5:11 PM Professor, Will we be working on this project beyond the first 2D version? Should we plan to create a fully-fledge 3D project as defined in the research paper or just the version we discussed in class? Date: Wednesday, October 11, 2023 at 8:28 PM It will stay 2D (the visualization), but the project will be extended and modified in other parts.
  9. jgs Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 |

    15 § A Tree is an Interface. § A rock is an Abstract Class. § A house is a Class. The size of the house represents the size (number of methods and attributes) of a Class.
  10. jgs Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 |

    21 § 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
  11. jgs Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 |

    26 Not Everything that Can be … Should be …
  12. jgs Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 |

    28 Download Eclipse Modeling Tools
  13. jgs Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 |

    30 Eclipse § Eclipse is a universal platform for integrating development tools § Architecture based on plug-ins § SWT (Standard Widget Toolkit) is a generic graphics and GUI widget set § JFace is a set of UI frameworks for common UI tasks § Workbench and Workspace are core – Editors, Views, and Perspectives
  14. 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.