Download presentation
Presentation is loading. Please wait.
Published byMerilyn Watts Modified over 9 years ago
1
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Visualizing Software Architectures Software Architecture Lecture 9
2
Software Architecture: Foundations, Theory, and Practice Objectives Concepts u What is visualization? u Differences between modeling and visualization u What kinds of visualizations do we use? u Visualizations and views u How can we characterize and evaluate visualizations? Examples u Concrete examples of a diverse array of visualizations Constructing visualizations u Guidelines for constructing new visualizations u Pitfalls to avoid when constructing new visualizations u Coordinating visualizations 2
3
Software Architecture: Foundations, Theory, and Practice What is Architectural Visualization? Recall that we have characterized architecture as the set of principal design decisions made about a system Recall also that models are artifacts that capture some or all of the design decisions that comprise an architecture An architectural visualization defines how architectural models are depicted, and how stakeholders interact with those depictions u Two key aspects here: Depiction is a picture or other visual representation of design decisions Interaction mechanisms allow stakeholders to interact with design decisions in terms of the depiction 3
4
Software Architecture: Foundations, Theory, and Practice Models vs. Visualizations It is easy to confuse models and visualizations because they are very closely related In the previous lectures, we have not drawn out this distinction, but now we make it explicit A model is just abstract information – a set of design decisions Visualizations give those design decisions form: they let us depict those design decisions and interact with them in different ways u Because of the interaction aspect, visualizations are often active – they are both pictures AND tools 4
5
Software Architecture: Foundations, Theory, and Practice Models vs. Visualizations 5 Model DD Our first decision is that the system will have two components, C1 and C2... C1 C2 XML-based visualization Natural language visualization Box-and-arrow visualization
6
Software Architecture: Foundations, Theory, and Practice Canonical Visualizations Each modeling notation is associated with one or more canonical visualizations u This makes it easy to think of a notation and a visualization as the same thing, even though they are not Some notations are canonically textual u Natural language, XML-based ADLs …or graphical u PowerPoint-style …or a little of both u UML …or have multiple canonical visualizations u Darwin 6
7
Software Architecture: Foundations, Theory, and Practice Another Way to Think About It We may ask “isn’t the canonical visualization the same as the notation since that is how the information is fundamentally organized?” Perhaps, but consider a piece of software that edits an architectural model 7 Our first decision is that the system will have two components, C1 and C2... Our first decision is that the system will
8
Software Architecture: Foundations, Theory, and Practice Different Relationships 8 ModelViz One (canonical) visualization (common) Model Viz Many visualizations for one model (common) Model Viz One visualization bringing together many models (uncommon)
9
Software Architecture: Foundations, Theory, and Practice Kinds of Visualizations: Textual Visualizations Depict architectures through ordinary text files u Generally conform to some syntactic format, like programs conform to a language u May be natural language, in which case the format is defined by the spelling and grammar rules of the language u Decorative options Fonts, colors, bold/italics Tables, bulleted lists/outlines 9
10
Software Architecture: Foundations, Theory, and Practice Text Visualizations Text visualizations are generally provided through text editors Examples: u Simple: Windows Notepad, SimpleText, pico, joe u For experts: vi, emacs u With underlying language support: Eclipse, UltraEdit, many HTML editors u Free-form text documents: Microsoft Word, other word processors 10
11
Software Architecture: Foundations, Theory, and Practice Textual Visualizations 11 <types:archStructure xsi:type=”types:ArchStructure” types:id=”ClientArch”> Client Architecture <types:component xsi:type=”types:Component” types:id=”WebBrowser”> Web Browser <types:interface xsi:type=”types:Interface” types:id=”WebBrowserInterface”> Web Browser Interface inout <types:archStructure xsi:type=”types:ArchStructure” types:id=”ClientArch”> Client Architecture <types:component xsi:type=”types:Component” types:id=”WebBrowser”> Web Browser <types:interface xsi:type=”types:Interface” types:id=”WebBrowserInterface”> Web Browser Interface inout XML visualization Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
12
Software Architecture: Foundations, Theory, and Practice Textual Visualizations: Interaction Generally through an ordinary text editor or word processor Some advanced mechanisms available u Syntax highlighting u Static checking u Autocomplete u Structural folding 12
13
Software Architecture: Foundations, Theory, and Practice Advanced Interaction Mechanisms 13 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
14
Software Architecture: Foundations, Theory, and Practice Textual Visualizations Advantages u Depict entire architecture in a single file u Good for linear or hierarchical structures u Wide range of editors available to suit any need u Substantial tool support if syntax is rigorous (e.g., defined in something like BNF) u Many incorporate advanced ‘content assist’ capabilities u Many text editors can be extended to handle new languages or integrate new tools easily u Provide a uniform way of working with many different underlying notations 14
15
Software Architecture: Foundations, Theory, and Practice Text Visualizations (cont’d) Disadvantages u Can be overwhelming u Bad for graphlike organizations of information u Difficult to reorganize information meaningfully u Learning curve for syntax/semantics u Increasing complexity as models get bigger u Do not handle graph structures and complex interrlationships well 15
16
Software Architecture: Foundations, Theory, and Practice Kinds of Visualizations: Graphical Visualizations Depict architectures (primarily) as graphical symbols u Boxes, shapes, pictures, clip-art u Lines, arrows, other connectors u Photographic images u Regions, shading u 2D or 3D Generally conform to a symbolic syntax u But may also be ‘free-form’ and stylistic E.g., PowerPoint, OmniGraffle, etc. Provide point-and-click manipulation of graphical symbols, interconnections, and text blocks 16
17
Software Architecture: Foundations, Theory, and Practice Graphical Visualizations 17 Abstract, stylized visualization Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
18
Software Architecture: Foundations, Theory, and Practice Graphical Visualizations 18 Abstract, stylized visualization More rigorous deployment visualization Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
19
Software Architecture: Foundations, Theory, and Practice Graphical Visualizations: Interaction Generally graphical editors with point-and-click interfaces u Employ metaphors like scrolling, zooming, ‘drill-down’ Editors have varying levels of awareness for different target notations u For example, you can develop UML models in PowerPoint (or Photoshop), but the tools won’t help much More exotic editors and interaction mechanisms exist in research u 3D editors u “Sketching-based” editors 19
20
Software Architecture: Foundations, Theory, and Practice General Graphical Example 20 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
21
Software Architecture: Foundations, Theory, and Practice Graphical Visualizations Advantages u Symbols, colors, and visual decorations more easily parsed by humans than structured text u Handle non-hierarchical relationships well u Diverse spatial interaction metaphors (scrolling, zooming) allow intuitive navigation u Friendly UI can create nice-looking depictions u Nothing hidden; no information difference between model and depiction 21
22
Software Architecture: Foundations, Theory, and Practice General Graphical Visualizations Disadvantages u No underlying semantics; difficult to add them Visio is a partial exception This means that interaction mechanisms can offer minimal support u Difficult to connect to other visualizations u Cost of building and maintaining tool support Difficult to incorporate new semantics into existing tools u Do not scale as well as text to very large models 22
23
Software Architecture: Foundations, Theory, and Practice Hybrid Visualizations Many visualizations are text-only Few graphical notations are purely symbolic u Text labels, at a minimum u Annotations are generally textual as well Some notations incorporate substantial parts that are mostly graphical alongside substantial parts that are mostly or wholly textual 23
24
Software Architecture: Foundations, Theory, and Practice Hybrid Visualizations (cont’d) 24 context UserInterface inv: new_burn_rate >= 0 Architectural constraints expressed in OCL Primarily graphical UML class diagram Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
25
Software Architecture: Foundations, Theory, and Practice UML Visualizations Canonical graphical depictions + tool-specific interactions XMI: Textual depiction in XML + text-editor interactions Advantages u Canonical graphical depiction common across tools u Graphical visualizations have similar UI metaphors to PowerPoint-style editors, but with UML semantics u XMI projection provides textual alternative Disadvantages u No standard for interaction as there is for depiction u In some tools hard to tell where UML model ends and auxiliary models begin u Most UML visualizations are restricted to (slight variants) of the canonical UML depiction 25
26
Software Architecture: Foundations, Theory, and Practice UML Visualization 26 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; (C) 2008 John Wiley & Sons, Inc. Reprinted with permission.
27
Software Architecture: Foundations, Theory, and Practice UML Visualization 27 <UML:Class xmi.id = '723' name = 'Data Store' visibility = 'public' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false' isActive = 'false'/> <UML:Association xmi.id = '725' name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> <UML:AssociationEnd xmi.id = '726' visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'> <UML:MultiplicityRange xmi.id = '728' lower = '1' upper = '1'/>... Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; (C) 2008 John Wiley & Sons, Inc. Reprinted with permission.
28
Software Architecture: Foundations, Theory, and Practice Views, Viewpoints, & Visualizations 28 Recall that a view is a subset of the design decisions in an architecture And a viewpoint is the perspective from which a view is taken (i.e., the filter that selects the subset) Visualizations are associated with viewpoints Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
29
Software Architecture: Foundations, Theory, and Practice Effect Visualizations Not all visualizations used in architecture-centric development depict design decisions directly Some depict the results or effects of design decisions u We call these ‘effect visualizations’ May be textual, graphical, hybrid, etc. 29 Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
30
Software Architecture: Foundations, Theory, and Practice Evaluating Visualizations Scope and Purpose u What is the visualization for? What can it visualize? Basic Type u Textual? Graphical? Hybrid? Effect? Depiction u What depiction mechanisms and metaphors are primarily employed by the visualization? Interaction u What interaction mechanisms and metaphors are primarily employed by the visualization? 30
31
Software Architecture: Foundations, Theory, and Practice Evaluating Visualizations (cont’d) Fidelity u How well/completely does the visualization reflect the information in the underlying model? u Consistency should be a minimum requirement, but details are often left out Consistency u How well does the visualization use similar representations for similar concepts? Comprehensibility u How easy is it for stakeholders to understand and use a visualization Note: this is a function of both the visualization and the stakeholders 31
32
Software Architecture: Foundations, Theory, and Practice Evaluating Visualizations (cont’d) Dynamism u How well does the visualization support models that change over time (dynamic models)? View Coordination u How well the visualization is connected to and kept consistent with other visualizations Aesthetics u How pleasing is the visualization (look and feel) to its users? A very subjective judgment Extensibility u How easy is it to add new capabilities to a visualization? 32
33
Software Architecture: Foundations, Theory, and Practice Text Visualizations: Evaluation Scope/Purpose u Visualizing design decisions or effects as (structured) text Basic Type u Textual Depiction u Ordered lines of characters possibly grouped into tokens Interaction u Basic: insert, delete, copy, paste u Advanced: coloring, code folding, etc. Fidelity u Generally canonical Consistency u Generally good; depends on underlying notation Comprehensibility u Drops with increasing complexity Dynamism u Rare, but depends on editor View coordination u Depends on editor Aesthetics u Varies; can be overwhelming or elegant and structured Extensibility u Many extensible editors 33
34
Software Architecture: Foundations, Theory, and Practice General Graphical: Evaluation Scope/Purpose u Visualizing design decisions as symbolic pictures Basic Type u Graphical Depiction u (Possibly) interconnected symbols on a finite canvas Interaction u Point and click, drag-and- drop direct interactions with symbols, augmented by menus and dialogs Fidelity u Generally canonical Consistency u Manual Comprehensibility u Depends on skill of the modeler and use of consistent symbols/patterns Dynamism u Some animation capabilities View coordination u Difficult at best Aesthetics u Modeler’s responsibility Extensibility u Adding new symbols is easy, adding semantics is harder 34
35
Software Architecture: Foundations, Theory, and Practice UML Visualizations: Evaluation Scope/Purpose u Visualization of UML models Basic Type u Graphical (diagrams), textual (XMI) Depiction u Diagrams in UML symbolic vocabulary/XML-formatted text Interaction u Depends on the editor; generally point-and-click for diagrams; text editor for XMI Fidelity u Diagrams are canonical, XMI elides layout info Consistency u Generally good across diagrams; small exceptions Comprehensibility u Ubiquity assists interpretations Dynamism u Rare View coordination u Some editors better than others Aesthetics u Simple symbols reduce complexity; uniform diagrams Extensibility u Profile support OK; major language extensions hard 35
36
Software Architecture: Foundations, Theory, and Practice Human Computer Interaction Issues involved in HCI: u Input and output devices. u The cognitive characteristics, background and knowledge of the users. u The tasks which the users wish to carry out u The types of interface available (GUIs, command-line interfaces, menu-driven interfaces and prompted-user interfaces). Designing for users u Academic disciplines necessary to design interfaces: cognitive psychology, sociology, and linguistics. u Principles of good interface design: visibility, affordance, and feedback. u Usability of a HCI means; How easily and quickly users can achieve their goals, how quickly users can learn to use the interface, and the attitude of the users to the interface 36
37
Software Architecture: Foundations, Theory, and Practice Human factors in interface design Limited short-term memory u People can instantaneously remember about 7 items of information. If you present more than this, they are more liable to make mistakes. People make mistakes u When people make mistakes and systems go wrong, inappropriate alarms and messages can increase stress and hence the likelihood of more mistakes. People are different u People have a wide range of physical capabilities. Designers should not just design for their own capabilities. People have different interaction preferences u Some like pictures, some like text. 37
38
Software Architecture: Foundations, Theory, and Practice User interface design principles 38
39
Software Architecture: Foundations, Theory, and Practice Interaction styles 39
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.