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

CSC307 Lecture 07

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

CSC307 Lecture 07

Introduction to Software Engineering
Software Design
(202601)

Avatar for Javier Gonzalez-Sanchez

Javier Gonzalez-Sanchez PRO

January 27, 2026
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.info o ffi ce: 14 -227

    CSC 307 Introduction to Software Engineering Lecture 07. Software Design
  2. 
 
 
 
 Software Design De f inition To

    cre a te a speci f ic a tion of a softw a re (solution) Gr a phic a l Abstr a ct Description (blueprint) 4 model
  3. Structural models Structur a l models of softw a re

    displ a y the org a niz a tion of a system in terms of a ) the p a rts (items, elements, components) th a t m a ke up th a t system a nd b) their rel a tionships. 7
  4. Class diagram Cl a ss di a gr a ms

    show the cl a sses in a system • modi f iers • Attributes • methods And the rel a tionships between these cl a sses: • Associ a tion / Dependency • Aggreg a tion / Composition • Gener a liz a tion / Speci a liz a tion / Re a liz a tion 9
  5. Lab

  6. Problem 17 public class B implements E { public B()

    C c1 = new C(); } public void method(A a) { B b = new B(); b.sleep(); a.method(new D()); } } public class Y extends B { A [] a = new A[5]; } public class A extends B { C c1, c2; public A() { c1 = new C(); } public void method(D d) { d.working(); } } public class X { private String s; public void m() { B var = new A(); double x – Math.sqrt(5); } }
  7. CSC 307 Introduction to Software Engineering Javier Gonzalez-Sanchez, Ph.D. [email protected]

    Winter 2026 Copyright. These slides can only be used as study material for the class CSC307 at Cal Poly. They cannot be distributed or used for another purpose.