Dr. Javier Gonzalez-Sanchez
[email protected]
www.javiergs.info
o
ffi
ce: 14 -227
CSC 307
Introduction to Software Engineering
Lecture 08. Software Design
Slide 2
Slide 2 text
Previously
Slide 3
Slide 3 text
Developers
3
M
a
in
JFr
a
me
GUI Login
Controller
GUI Login
JP
a
nel
GUI Cre
a
te Room
GUI Cre
a
te Room
Controller
Bl
a
ckbo
a
rd
GUI Stories
GUI Stories
Controller
GUI D
a
shbo
a
rd
Controller
GUI South
GUI C
a
rds
GUI West
GUI D
a
shbo
a
rd
Slide 4
Slide 4 text
Some Help
https://github.com/CSC3100/PlanIt-Poker/
Slide 5
Slide 5 text
Design
Slide 6
Slide 6 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)
6
model
Slide 7
Slide 7 text
Activities
7
Slide 8
Slide 8 text
Blueprints
8
VS
Slide 9
Slide 9 text
Error Smells
Slide 10
Slide 10 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.
10
Slide 11
Slide 11 text
UML Diagrams
11
Slide 12
Slide 12 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
12
Slide 13
Slide 13 text
Relationships
13
Association Directed
Association
Reflexive
Association
Multiplicity
Aggregation Composition Generalization Realization
Slide 14
Slide 14 text
Whiteboard
14
Slide 15
Slide 15 text
Examples
Slide 16
Slide 16 text
Thoughts?
16
Slide 17
Slide 17 text
Questions
17
Slide 18
Slide 18 text
Lab
Slide 19
Slide 19 text
Lab
19
Draft the Class Diagram for
___________________.
Slide 20
Slide 20 text
CSC 307 Introduction to Software Engineering
Javier Gonzalez-Sanchez, Ph.D.
[email protected]
Spring 2025
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.