Visualization By: Simon Luangsisombath. Canonical Visualization  Architectural modeling notations are ways to organize information  Canonical notation.

Slides:



Advertisements
Similar presentations
Integration of MBSE and Virtual Engineering for Detailed Design
Advertisements

Chapter 10: Designing Databases
Formal Methods in Software Engineering
Team Skill 5: Refining the Use Cases Lecture 11. Advantages of Use Cases They are easy to write Written in users language Provide cohesive, related threads.
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Visualizing Software Architectures Software Architecture Lecture.
Visualization Kenny Inthirath.  Reviewing a Suitable Technique to Use  Scope and Purpose  What types of models can be represented?  Architectural.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design.
Visualizing Software Architectures. Objectives Concepts u What is visualization? u Differences between modeling and visualization u What kinds of visualizations.
Chapter 9 Describing Process Specifications and Structured Decisions
Visualizing Software Architectures
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Visualizing Software Architectures, Part 2 Software Architecture.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Information Technology in Organizations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Editing Description Logic Ontologies with the Protege OWL Plugin.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
PHASE 3: SYSTEMS DESIGN Chapter 7 Data Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Modelling information systems
An Introduction to Software Architecture
ArchiMate Authors : eSchoolink Group - ITNLU. Contents 1. What’s ArchiMate ? 2. Why ArchiMate ? 3. Main Benefits of ArchiMate 4. Layers of ArchiMate 5.
Information Systems: Databases Define the role of general information systems Describe the elements of a database management system (DBMS) Describe the.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Uml is made similar by the presence of four common mechanisms that apply consistently throughout the language. After constructing or developing the architecture.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
CHAPTER 6 - MODELING ANH AU. BACKGROUND Architectural model – an artifact that captures some or all of the design decisions that comprise a system’s architecture.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
4 1 SEARCHING THE WEB Using Search Engines and Directories Effectively New Perspectives on THE INTERNET.
Editors And Debugging Systems Other System Software Text Editors Interactive Debugging Systems UNIT 5 S.Sharmili Priyadarsini.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Part VII: Design Continuous
© 2010 Health Information Management: Concepts, Principles, and Practice Chapter 5: Data and Information Management.
Software Prototyping Rapid software development to validate requirements.
ICT EMMSAD’05 13/ Assessing Business Process Modeling Languages Using a Generic Quality Framework Anna Gunhild Nysetvold* John Krogstie *, § IDI,
CSCI 578 Software Architectures Exam #1 Review. Materials you are responsible for Chapters 1-8 in the text book All lecture material up to but not including.
Common Issues in Visualization Same Symbol, Different Meaning – client and server using a similar representation but, having distinct functionality 1 Server.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Visualizing Software Architectures Software Architecture Lecture.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Types of Information Systems Basic Computer Concepts Types of Information Systems  Knowledge-based system  uses knowledge-based techniques that supports.
® IBM Software Group © 2007 IBM Corporation Module 3: Creating UML Diagrams Essentials of Modeling with IBM Rational Software Architect, V7.5.
Chapter – 8 Software Tools.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Visual Language Representation. A programming language that uses a visual representation (such as graphics, drawings, animation or icons, partially or.
CSCI 578 Software Architectures Exam #1 Review. Materials you are responsible for Chapters 1-7 in the text book All lecture material through intro to.
Elaboration popo.
Visualization Approaches
CSCI 578 Software Architectures
Course Outcomes of Object Oriented Modeling Design (17630,C604)
SysML 2.0 Formalism: Requirement Benefits, Use Cases, and Potential Language Architectures Formalism WG December 6, 2016.
SysML v2 Formalism: Requirements & Benefits
Presentation of Flowchart
Lecture 3 – Designing and Visualizing Software Architecture
Lecture 3 – Designing and Visualizing Software Architecture
Informatics 121 Software Design I
CSCI 578 Software Architectures
Chapter 20 Object-Oriented Analysis and Design
An Introduction to Software Architecture
Chapter 11 Describing Process Specifications and Structured Decisions
CSCI 578 Software Architectures
Presentation transcript:

Visualization By: Simon Luangsisombath

Canonical Visualization  Architectural modeling notations are ways to organize information  Canonical notation – every notation has at least one visualization that is directly and specifically associated with it  A common pitfall is to associate an architecture modeling notation as only with canonical notation or view a notation and its canonical notation as the same thing  Notation is a way organizing abstract information  Visualization dictates how information is depicted and interacted with  Visuals are not optimal for all uses so notations which there exists multiple visualizations are generally preferred than single canonical visualizations

Textual Visualizations  They depict architectures using text files  Generally conform to a particular syntactic format such as.java or.c  Several advantages  Depict entirety of an architecture in a particular notation in a single file  Many technologies have been researched for parsing, processing and editing structure text  When a textual syntax is defined many tools are available to generate library's that can parse and check syntax of text documents in that language  Disadvantage  It is not understood well with graph like structures  Text editors are limited to showing a screen full of text with few options of organization

Textual depictions for an architecture in xADL and xADLite.

Graphical Visualizations  Depicted as architectures using graphical symbols  Generally conform to a syntax but my also be free form  They give stakeholders access to information about architecture that text does not  Symbols, colors and other visual decorations can easily be distinguished  They can use special relationships to express relationships among elements  Disadvantage  Cost of building tools to support them  More popular tools lack understanding of architectural semantics and is difficult or impossible to add appropriate semantics and interactions to a wider software engineering environment

Hybrid Visualizations  Many visualizations blur between graphical and textual  Some can be composites of many different visualizations  EX: UML composite structure diagram is primarily graphical visualization used to contain other UML diagrams  Composite visualizations can be good for displaying relationships between different aspects of the same architecture  But they can be quickly become complex and confusing as depictions and interaction mechanisms are combined  Strategies such as drill down interaction can mitigate complexity

Relationship between Visualization and views  Effective use of view and viewpoints help consider different subsets of design decisions in an architecture  Visualization for a viewpoint defines depiction and interaction mechanisms only for the kinds of design decisions included in viewpoint  Associate visualization with viewpoints rather than views  A visualization can be used to visualize many architectures

Various UML diagram types.

Evaluating Visualizations  Fidelity is a measure of how faithfully a visualization represents a underlying model  Consistency is a measure of how well a visualization uses similar depictions and interaction mechanism for similar concepts  Comprehensibility is a measure of how easy it is for stakeholders to understand and use a visualization  Dynamism is a measure of how well a visualization supports models that change over time  View coordination is how well one visualization is coordinated with others  Aesthetics is a measure of how pleasing a visualization is to its users  Extensibility is a measure of how easy it is to modify a visualization to take on new capabilities, for either depiction or interaction

Constructing a Visualization  Borrowing Elements from Similar Visualizations  Be Consistent among Visualizations  Give Meaning to Each Visual Aspect of Elements  Document the Meaning of Visualization  Balance Traditional and Innovative Interfaces

Coordinating Visualizations  It is key that visualizations must coordinate with each other  Four general synchronization strategies  Peer to Peer  Visualization maintain their own copies of information, know about each other explicitly and notify change  This strategy is more suitable for small fixed number of visualizations chosen in advance  Master-slave  One Visualization is responsible for interacting with the model repository and serves as master  This works when one visualization is auxiliary to another  Pull-Based  Each Visualization repeatedly queries a shared model for changes and updates itself  Pull based strategies can be used when the model repository is entirely passive  The disadvantage is it may display out of date information until it performs a pull  Pushed based  Visualizations are notified and consequently update themselves whenever model changes

Multiple strategies for coordinating visualizations of the same information: (a) peer-to-peer, (b) master-slave, (c) pull, and (d) push.

Beyond Design: Using Visualization dynamically  Effective visualization is a visualization that does not represent architectural design decisions directly, but instead represents effect of architectural design decisions

Figure 7-7. Visualization combining elements from xADL and UML. Generating effect visualizations.