Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
IPDSnelting
pse-tipps
Commits
0843ec73
Commit
0843ec73
authored
Jan 18, 2017
by
Andreas Zwinkau
Browse files
Klassendiagrammbeispiel
parent
8014c1c5
Changes
4
Hide whitespace changes
Inline
Side-by-side
.gitignore
0 → 100644
View file @
0843ec73
build/
example_class_diagram.png
tipps.pdf
Makefile
View file @
0843ec73
...
...
@@ -18,3 +18,6 @@ show: $(BASE).pdf
clean
:
rm
-rf
build
%.png
:
%.plantuml
plantuml
$<
example_class_diagram.plantuml
0 → 100644
View file @
0843ec73
@
startuml
package
"some web framework"
{
abstract
class
HTMLPage
{
+{
abstract
}
Response
render
(
Request
r
)
}
abstract
class
Session
{
+{
static
}
Session
getCurrent
()
}
class
Request
{
}
class
Response
{
}
Request
---
HTMLPage
Response
---
HTMLPage
}
package
"Model"
#
ffdddd
{
class
URL
{
-
String
short
-
String
full
}
class
User
{
-
String
email
}
class
FacebookId
{
-
String
id
}
class
GithubId
{
-
String
id
}
User
"1"
o
--
o
"1"
FacebookId
User
"1"
o
--
o
"1"
GithubId
URL
--*
"1"
User
:
creator
abstract
class
ShortURLCreation
{
+{
abstract
}
String
getShortURL
(
String
fullURL
)
}
class
RandomURL
extends
ShortURLCreation
{
+
String
getShortURL
(
String
fullURL
)
}
class
HashingURL
extends
ShortURLCreation
{
+
String
getShortURL
(
String
fullURL
)
}
}
package
"View"
#
ddffdd
{
package
"HTML"
#
ffffff
{
class
LoginPage
extends
HTMLPage
{
+
Response
render
(
Request
r
)
}
class
CreatePage
extends
HTMLPage
{
+
Response
render
(
Request
r
)
}
class
ShowPage
extends
HTMLPage
{
+
Response
render
(
Request
r
)
}
}
LoginPage
---
User
CreatePage
---
URL
ShowPage
---
URL
package
"CommandLine"
#
ffffff
{
class
ColoredPrint
{
+
void
printURL
(
URL
u
)
{}
}
}
ColoredPrint
---
URL
}
package
"Controller"
#
ddddff
{
abstract
class
BaseController
{
~{
static
}
ShortURLCreation
getURLCreator
()
}
BaseController
-->
"1"
RandomURL
BaseController
-->
"1"
HashingURL
class
ArgumentController
extends
BaseController
{
+{
static
}
addURL
(
String
url
)
+{
static
}
listURLs
()
}
ArgumentController
---
ColoredPrint
class
WebController
extends
BaseController
{
+
void
addURL
(
String
url
)
+
String
getShortURL
(
String
full
)
}
WebController
---
Session
WebController
---
LoginPage
WebController
---
ShowPage
WebController
---
CreatePage
}
@
enduml
tipps.tex
View file @
0843ec73
...
...
@@ -360,6 +360,7 @@ Design is the art of separation, grouping, abstraction, and hiding. The fulcrum
Assoziationen zwischen Klassen dabei bitte
mit entsprechenden Pfeilen darstellen,
statt nur durch Feldtypen.
Ein kleines Beispiel ist in
\autoref
{
fig:example
_
class
_
diagram
}
gezeigt.
\item
Identifikation von Entwurfsmustern
um Struktur gröber zu beschreiben.
\item
Erfahrungsgemäßer Umfang:
...
...
@@ -371,6 +372,16 @@ Design is the art of separation, grouping, abstraction, and hiding. The fulcrum
\item
Formale Spezifikation von Kernkomponenten?
\end{itemize}
\begin{figure}
[hbp]
\includegraphics
[width=\textwidth]
{
example
_
class
_
diagram.png
}
\caption
{
\label
{
fig:example
_
class
_
diagram
}
Klassendiagrammbeispiel:
Grobe Paketstruktur farblich hervorgehoben.
Ausgewählte Verwendungen als Assoziation eingetragen,
um auch Beziehungen durch Parameter oder lokale Variablen zu verdeutlichen.
}
\end{figure}
Unserer Erfahrung nach ist die Entwurfsphase die schwierigste,
da Studenten hier so gut wie keine Erfahrung haben
(im Gegensatz zur Implementierungsphase).
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment