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

CSC509 Lecture 02

CSC509 Lecture 02

Software Design
Reviewing Fundamentals
(202309)

Javier Gonzalez-Sanchez
PRO

September 26, 2023
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

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

    View Slide

  2. jgs
    Previously …

    View Slide

  3. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 3
    Blueprint

    View Slide

  4. jgs
    Relationships

    View Slide

  5. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 5
    Relationships
    Association Directed
    Association
    Reflexive
    Association
    Multiplicity
    Aggregation Composition Generalization Realization

    View Slide

  6. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 6
    Homework
    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

    View Slide

  7. jgs
    Test Yourselves

    View Slide

  8. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 8
    Guidelines
    Create a UML Class Diagram for
    the following source code:

    View Slide

  9. jgs
    Javier Gonzalez-Sanchez | CSC 509 | Fall 2023 | 9
    public class A extends B {
    C c1, c2;
    public A() {
    c1 = new C();
    }
    public void method() {
    D d = new D();
    d.working();
    }
    }
    public class X {
    public void m() {
    B var = new A();
    double x = Math.sqrt(5);
    }
    }
    public class B implements E {
    public B() {
    C c1 = new C();
    }
    public void method() {
    B b = new B();
    b.sleep();
    }
    }
    public class Y {
    A [] a = new A[5];
    }
    Lab

    View Slide

  10. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 10
    Questions

    View Slide

  11. 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 Slide