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

CSC509 Lecture 01

CSC509 Lecture 01

Software Design
Course Presentation
(202309)

Javier Gonzalez-Sanchez
PRO

September 25, 2023
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

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

    View Slide

  2. jgs
    About Me

    View Slide

  3. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 3
    Dr.
    Javier (first name)
    Gonzalez-Sanchez (last name)
    [email protected]
    www.javiergs.com
    Contact Information

    View Slide

  4. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 4
    Where I am from?

    View Slide

  5. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 5
    Research
    SE
    HCI
    ML

    View Slide

  6. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 6
    Context
    Rosalind Picard
    MIT MediaLab
    Winslow Burleson
    University of Arizona
    My PhD Advisor
    HCI
    Affective
    Computing
    1997
    SW
    Engineering
    Self-Adaptive
    Systems
    SW
    Engineering
    Self-Adaptive
    Systems
    David Garlan
    Carnegie Mellon
    Rainbow Framework

    View Slide

  7. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 7
    www.javiergs.com/teaching/
    At CSU:
    * Software Engineering
    (CSC 307, 308, 309, 509)
    * Applied Affective Computing
    (CSC 570)
    Teaching

    View Slide

  8. jgs
    Course Content

    View Slide

  9. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 9
    CSC 509
    Software Design
    Definition

    View Slide

  10. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 10
    CSC 509
    Software Design
    Definition
    A specification for the construction of something
    The parts and their relationships
    Graphical description (blueprint)
    Key Ideas: Scalability, Modifiability, Reusable

    View Slide

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

    View Slide

  12. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 12
    Design
    VS

    View Slide

  13. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 13
    Engineering vs Coding

    View Slide

  14. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 14
    Alternative Solution
    New Yorker, June 1992
    "Most software today is very much like
    an Egyptian pyramid with millions of bricks piled
    on top of each other, with no structural integrity,
    but just done by brute force and thousands of slaves".
    – Alan Kay.
    Pioneering work on object-oriented programming
    ACM Queue. Vol. 2, No. 9 - Dec/Jan 2004-2005

    View Slide

  15. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 15
    Idea
    OOAD, Grady Booch, 2007

    View Slide

  16. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 16
    Agenda
    Main Topics
    1 Fundamentals and Research Background
    2 Information Hiding
    3 Interconnection and Decoupling
    4 Software Architecture
    5 Patterns
    6 User Interfaces (Views)
    7 Frameworks, Platforms, and APIs
    8 Model-Driven Development

    View Slide

  17. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 17
    References
    § Research Papers posted on Canvas
    § Recommended Books:

    View Slide

  18. jgs
    Guidelines

    View Slide

  19. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 19
    Guidelines
    Office Hours: Tuesday and Thursday 3 - 5 pm
    But an appointment required
    Sent me an email – [email protected]

    View Slide

  20. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 20
    Guidelines
    Time per Week

    View Slide

  21. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 21
    Guidelines
    Late Assignments

    View Slide

  22. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 22
    Canvas

    View Slide

  23. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 23
    Grading
    Team Project 30%
    30%
    Assignments,
    Quizzes, Labs
    25%
    Final Exam
    10%
    Attendance &
    Participation
    5%
    Self / Peer Evaluation
    100%

    View Slide

  24. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 24
    Grading
    100%
    A
    >= 96.5
    A-
    >= 93.0
    B+
    >= 89.5
    B
    >= 86.0
    B-
    >= 82.5
    C+
    >= 79
    C
    >= 75.5
    C-
    >= 72.0
    D+
    >= 68.5
    D
    >= 65.0
    D-
    >= 61.5
    F
    < 61.5

    View Slide

  25. jgs
    Fundamentals
    A quick review

    View Slide

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

    View Slide

  27. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 27
    Blueprint
    Parts à Classes and Interfaces
    +
    Relationships à Connections

    View Slide

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

    View Slide

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

    View Slide

  30. 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