Title: SAB The Software Architecture Browser http://www.inf.fu-berlin.de/inst/ag-ss/projects/sab
1SABThe Software Architecture Browserhttp//www.
inf.fu-berlin.de/inst/ag-ss/projects/sab
- Nils Erben
- Klaus-Peter Löhr
- Freie Universität Berlin
VISSOFT '05 Budapest, 25.9.2005
2- Software architecture
- design, gross structure, programming in the
large, ... - different architectural styles
- "object-oriented architecture" ?
3- Software architecture
- design, gross structure, programming in the
large, ... - different architectural styles
- "object-oriented architecture" ?
Hierarchical architecture
asymmetric binary relation among software units
forms acyclic directed graph
4Visualizing object-oriented software ? -
class diagrams - different relations! -
cycles!
? spaghetti diagrams are common
5Visualizing object-oriented software ? -
class diagrams - different relations! -
cycles!
? spaghetti diagrams are common
- SAB for Java
- cope with limited screen size
- fight spaghetti diagrams
- indicate hierarchical layers
- support exploration of classes
- and their neighbourhood
6Outline
- Exploring individual classes
- Exploring class neighbourhoods
- Adjusting layers
- Creating diagrams
71 Exploring individual classes
Choose among different levels of detail for class
contents - according to visibility (nothing) p
ublic package increasing level of
detail protected private
8(click on class Comment)
visibility public
class is in focus of interest (by clicking or
pinning or marquee selection)
9visibility package
visibility protected
visibility private
102 Exploring class neighbourhoods
- Edges are shown as stubs only -
- unless their target is in the context of a
focussed class - context is a relative notion,
- indicated by the colour of the bullet
context radius 0 1 2 3 determined by enclosing
context
within context of radius 1, but not in focus
11Incoming edges of a class not in context are
shown as stubs - unless chosen otherwise
"refers to "
123 Adjusting layers
? Layers are not a Java language feature ?
Layers are manually introduced into a diagram. ?
Layers can be rearranged in the diagram. ?
Classes can be dragged into a different layer. ?
Upward arrows across layer boundaries are marked
red.
13Simple example
14Another example SAB applied to itself (excerpt)
154 Creating diagrams
SAB GUI on startup
16(No Transcript)
17(No Transcript)
18Conclusion
- ? highly customizable class diagrams
- ? different views of a given system
- ? dynamic exploration and modification of
diagrams - ? experimenting with different layerings
http//www.inf.fu-berlin.de/inst/ag-ss/projects/sa
b