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

CSC509 Lecture 01

CSC509 Lecture 01

Software Design
Course Presentation
(202309)

Javier Gonzalez-Sanchez

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

    3 Dr. Javier (first name) Gonzalez-Sanchez (last name) [email protected] www.javiergs.com Contact Information
  3. 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
  4. 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
  5. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    9 CSC 509 Software Design Definition
  6. 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
  7. 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
  8. 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
  9. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

    17 References § Research Papers posted on Canvas § Recommended Books:
  10. 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]
  11. 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%
  12. 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
  13. jgs Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 |

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

    28 Relationships Association Directed Association Reflexive Association Multiplicity Aggregation Composition Generalization Realization
  15. 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.