Slide 1

Slide 1 text

Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.info o ffi ce: 14 -227 CSC 307 Introduction to Software Engineering Lecture 07. Software Design

Slide 2

Slide 2 text

Design

Slide 3

Slide 3 text

Activities 3

Slide 4

Slide 4 text


 
 
 
 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

Slide 5

Slide 5 text

Blueprints 5 VS

Slide 6

Slide 6 text

Error Smells

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

UML Diagrams 8

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

Relationships 10

Slide 11

Slide 11 text

Level of Abstraction 11 https://faculty.runi.ac.il/arik/site/Clipasso.asp

Slide 12

Slide 12 text

Hints 12 ✅ ✅ ✅ ❌ ❌ 🤔

Slide 13

Slide 13 text

Hints 13 ✅

Slide 14

Slide 14 text

Questions 14

Slide 15

Slide 15 text

Lab

Slide 16

Slide 16 text

Lab 16 Draft the Class Diagram for ___________________.

Slide 17

Slide 17 text

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); } }

Slide 18

Slide 18 text

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.