An Introduction to Software Visualization. Visualization. Types of Software Visualization. Course Overview
|
|
|
- Nickolas Poole
- 9 years ago
- Views:
Transcription
1 An Introduction to Software Dr. Jonathan I. Maletic Software DevelopMent Laboratory <SDML> Department of Computer Science Kent State University Course Overview Introductory Lectures Software visualization terminology, dimensions and perspectives Information visualization an overview Program analysis the input to the problem Program understanding/comprehension the model Papers: Information papers Papers: Software papers Lecture 1 Software 2 What is Software? Software visualization is the use of the crafts of typography, graphic design, animation and cinematography with modern humancomputer interaction and computer graphics technology to facilitate both the human understanding and effective use of computer software. [Price 93, 98 ]. Types of Software of Software Structures Software System (Program) of Source Code (Software) Data Software of Trace Execute Data Algorithm of Version Control Data Visual Programming Languages Lecture 1 Software 3 Lecture 1 Software 4
2 Visualizing Software Applied to Large-scale Software Software System Software Data Visual Programming Algorithm Animation Exclude We focus on visualization environments, techniques, and metaphors that support: Maintenance, re-engineering, reverse engineering Software development Project management Understanding of large scale software systems Lecture 1 Software 5 Lecture 1 Software 6 Specifics of the Problem Domain Visualize design and architectural information Reduces, in part, to (large) connected graphs Nodes represent complex entities i.e., software module, class, function, component, subsystem, etc. Edges represent abstract relationships between the nodes i.e., aggregation, association, inheritance, invocation, etc. Taxonomies for Software Existing taxonomies (Price, Roman, Myers, Stasko) are very broad and detailed Need to emphasize software engineering tasks involved in building and maintaining large-scale software systems No single software visualization tool can address all SE tasks Lecture 1 Software 7 Lecture 1 Software 8
3 Reference Model for Data Transformations Raw Data Data Tables Visual Structures Human Interaction Visual Mappings Human Perceiver View Transformations Human Interaction Raw Data: idiosyncratic formats Data Tables: relations (cases by variables) + meta data Visual Structures: spatial substrates + marks + graphical properties Views: graphical parameters (position, scaling, clipping, etc.) Views can be described as a mapping of data to visual form that supports human interaction for making visual sense [Card 99]. Lecture 1 Software 9 Task Oriented View for Maintenance and Development of Large Systems Task why is the visualization needed? Audience who uses the visualization? Target what to represent? Representation how to represent? Medium where to represent? Lecture 1 Software 10 Task Support for large scale, industrial-size, software systems and processes. Supports the understanding/comprehension (cognitive) process This is the driving force behind classification of software visualization systems (given our perspective) Specific Tasks Development: Design, Product evolution Programming Testing, Debugging Maintenance: Fault detection Reverse engineering, Re-engineering Impact analysis Management Version control Resource allocation Lecture 1 Software 11 Lecture 1 Software 12
4 Audience Experienced developers can handle multiple abstraction levels they need access to both design- and code-level information, as well as to the dynamic features. Project managers they need access to design- and process-level information. they might not be skilled programmers. Lecture 1 Software 13 Target Static features (relationships) Design and architectural level information Source code level information Documentation Dynamic features (behavior) Control and data flow at execution Trace information Lecture 1 Software 14 Representation User centric (versus compiler centric) the visualization should present features of the software in concepts from the user s universe. Cognitive based - the building blocks of the visual language must map to natural concepts and abstractions Does not overload the user each element should have multiple attributes, but there should be a limit on the diversity. This limit should be driven by cognitive factors and the medium. Lecture 1 Software 15 Additional Features of Representation Support multiple levels of abstraction: Source code Design Design Patterns Architecture Mapping between abstraction levels (e.g., drill down) Support navigation within the visualization Lecture 1 Software 16
5 Mediums for Software Paper Documents 2D, poor navigation, static White board 2D, static The Desktop Display High resolution but limited display area 2D+ (for the most part) Lecture 1 Software 17 New Types of Software Mediums More real estate Multiple displays, large displays Support for collaborative problem solving Utilize: 3D, 3D+ Virtual Reality (combine stereopsis with motion), Immersive Environments Stereo displays, Multi-resolution displays Multi-type medium (e.g., laptop + VE) Provide navigational controls Lecture 1 Software 18 The CAVE Commercialized by Pyramid Systems & VRCO The ImmersaDesk I, II, III Images from EVL Lecture 1 Software 19 Images from EVL Lecture 1 Software 20
6 Research Directions IMSOvision [Maletic 01] Focus on SE Task(s) What types of (representations, mediums, etc) best support particular tasks? Investigate new mediums and representations Environments that support collaborative development Utilize existing research in cognitive psychology Lecture 1 Software 21 Lecture 1 Software 22 sv3d [Marcus, Feng, Maletic 02] DJVis [Smith & Munro 02] Lecture 1 Software 23 Lecture 1 Software 24
7 Revision Towers [Taylor & Munro 02] Acacia: CIAO for C++ [AT&T Research] Lecture 1 Software 25 Lecture 1 Software 26 SeeSoft -Code Version History [Eick96] SHriMP [Storey01] Grid Spring Sugiyama Lecture 1 Software 27 Lecture 1 Software 28
8 NV3D [Ware 97] Geon [Ware 00] Lecture 1 Software 29 Lecture 1 Software 30
What is Visualization? Information Visualization An Overview. Information Visualization. Definitions
What is Visualization? Information Visualization An Overview Jonathan I. Maletic, Ph.D. Computer Science Kent State University Visualize/Visualization: To form a mental image or vision of [some
A Tool for Visual Understanding of Source Code Dependencies
The 16th IEEE International Conference on Program Comprehension A Tool for Visual Understanding of Source Code Dependencies Martin Pinzger, Katja Gräfenhain, Patrick Knab, and Harald C. Gall Department
Software Analysis Visualization
28th International Conference on Software Engineering Software Analysis Visualization Harald Gall and Michele Lanza !oftware Visualiza"o# Tutorial F7 Software Evolution: Analysis and Visualization 2006
Development of a 3D tool for visualization of different software artifacts and their relationships. David Montaño Ramírez
Development of a 3D tool for visualization of different software artifacts and their relationships David Montaño Ramírez Development of a 3D tool for visualization of different software artifacts and their
Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008
Professional Organization Checklist for the Computer Science Curriculum Updates Association of Computing Machinery Computing Curricula 2008 The curriculum guidelines can be found in Appendix C of the report
Spring 2014: Graphic Design
Spring 2014: Graphic Design Graphic design is a large and growing profession in demand in the global communications world. In addition to an emphasis on traditional skills and production methods, the program
A Visualization Method to Support Impacts Analysis in Program Understanding
A Visualization Method to Support Impacts Analysis in Program Understanding Rita Noremi Bt Mohamad Centre for Advanced Software Engineering (CASE) Universiti Teknologi Malaysia Kuala Lumpur, Malaysia [email protected]
ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science
ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science Program Schedule CTech Computer Science Credits CS101 Computer Science I 3 MATH100 Foundations of Mathematics and
A Survey Paper on Software Architecture Visualization
A Survey Paper on Software Architecture Visualization Yaser Ghanam and Sheelagh Carpendale Department of Computer Science University of Calgary, Canada T2N 1N4 {yghanam, sheelagh}@ucalgary.ca ABSTRACT
Software Design Document (SDD) Template
(SDD) Template Software design is a process by which the software requirements are translated into a representation of software components, interfaces, and data necessary for the implementation phase.
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
The Class Blueprint A Visualization of the Internal Structure of Classes
The Class Blueprint A Visualization of the Internal Structure of Classes Michele Lanza Software Composition Group University Of Bern Bern, Switzerland [email protected] Stéphane Ducasse Software Composition
Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries
First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as
Fall 2014: Graphic Design
Fall 2014: Graphic Design Graphic design is a large and growing profession in demand in the global communications world. In addition to an emphasis on traditional skills and production methods, the program
VisCG: Creating an Eclipse Call Graph Visualization Plug-in. Kenta Hasui, Undergraduate Student at Vassar College Class of 2015
VisCG: Creating an Eclipse Call Graph Visualization Plug-in Kenta Hasui, Undergraduate Student at Vassar College Class of 2015 Abstract Call graphs are a useful tool for understanding software; however,
CodeCrawler Lessons Learned in Building a Software Visualization Tool
CodeCrawler Lessons Learned in Building a Software Visualization Tool Michele Lanza [email protected] - Software Composition Group - University of Berne, Switzerland Abstract Software visualization tools
Visualization of Software
Visualization of Software Jack van Wijk Plenary Meeting SPIder Den Bosch, March 30, 2010 Overview Software Vis Examples Hierarchies Networks Evolution Visual Analytics Application data Visualization images
Component visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University [email protected]
Technical paper review. Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald.
Technical paper review Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald Garvit Pahal Indian Institute of Technology, Kanpur October 28, 2014 Garvit
Software Visualization Tools for Component Reuse
Software Visualization Tools for Component Reuse Craig Anslow Stuart Marshall James Noble Robert Biddle 1 School of Mathematics, Statistics and Computer Science, Victoria University of Wellington, New
To introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
Announcements. Project status demo in class
Web Design cs465 Announcements Project status demo in class Why? You will likely be involved in Web design You have many of the skills necessary Understand similarities and differences between GUI design
Programming with the Microsoft.NET Framework Using Microsoft Visual Studio 2005 (VB)
Programming with the Microsoft.NET Framework Using Microsoft Visual Studio 2005 (VB) Course Number: 4995 Length: 5 Day(s) Certification Exam There are no exams associated with this course. Course Overview
One LAR Course Credits: 3. Page 4
Course Descriptions Year 1 30 credits Course Title: Calculus I Course Code: COS 101 This course introduces higher mathematics by examining the fundamental principles of calculus-- functions, graphs, limits,
The value of modeling
The value of modeling Level: Introductory Gary Cernosek, Marketing Manager, IBM Rational Eric Naiburg, Group Market Manager Desktop Products, IBM Rational 15 Nov 2004 from The Rational Edge: This article
An Overview of 3D Software Visualization
1 An Overview of 3D Software Visualization Alfredo Teyseyre and Marcelo Campo, Member, IEEE, Abstract Software visualization studies techniques and methods for graphically representing different aspects
School of Computer Science
School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level
DATA VISUALIZATION GABRIEL PARODI STUDY MATERIAL: PRINCIPLES OF GEOGRAPHIC INFORMATION SYSTEMS AN INTRODUCTORY TEXTBOOK CHAPTER 7
DATA VISUALIZATION GABRIEL PARODI STUDY MATERIAL: PRINCIPLES OF GEOGRAPHIC INFORMATION SYSTEMS AN INTRODUCTORY TEXTBOOK CHAPTER 7 Contents GIS and maps The visualization process Visualization and strategies
Automated Test Approach for Web Based Software
Automated Test Approach for Web Based Software Indrajit Pan 1, Subhamita Mukherjee 2 1 Dept. of Information Technology, RCCIIT, Kolkata 700 015, W.B., India 2 Dept. of Information Technology, Techno India,
Animating Programs and Students in the Laboratory
Animating Programs and Students in the Laboratory James F. Korsh Paul S. LaFollette, Jr. Department of Computer and Information Sciences Temple University Philadelphia, PA 19122 Raghvinder Sangwan Department
Degree in Art and Design
Subjects Summary Degree in Art and Design Fourth Year Semester ECTS Subject 1 12 Workshop on Applied Arts This practical subject focuses on mastering techniques, materials and the professions of artistic
Computer Science Electives and Clusters
Course Number CSCI- Computer Science Electives and Clusters Computer Science electives belong to one or more groupings called clusters. Undergraduate students with the proper prerequisites are permitted
Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1
The Role of Programming in Informatics Curricula A. J. Cowling Department of Computer Science University of Sheffield Structure of Presentation Introduction The problem, and the key concepts. Dimensions
DIABLO VALLEY COLLEGE CATALOG 2014-2015
COMPUTER SCIENCE COMSC The computer science department offers courses in three general areas, each targeted to serve students with specific needs: 1. General education students seeking a computer literacy
PCCC PCCC Course Description
Course Description CIS 101 Computer Concepts and Applications 3 credits (formerly Introduction to Computers and Information Processing) Introduces a variety of topics in computers and computing including
Topic Maps Visualization
Topic Maps Visualization Bénédicte Le Grand, Laboratoire d'informatique de Paris 6 Introduction Topic maps provide a bridge between the domains of knowledge representation and information management. Topics
Professional Organization Checklist for the Computer Information Systems Curriculum
Professional Organization Checklist f the Computer Infmation Systems Curriculum Association of Computing Machinery and Association of Infmation Systems IS 2002 Model Curriculum and Guidelines f Undergraduate
Program Understanding in Software Engineering
Taming the complexity: The need for program understanding in software engineering Raghvinder S. Sangwan, Ph.D. Pennsylvania State University, Great Valley School of Graduate Professional Studies Robert
DESIGN. College of the Arts. Career Possibilities. Undergraduate Programs. Bachelor of Arts in Design (120 Units) 342 Design 2015-2016 CSULB Catalog
DESIGN College of the Arts Department Chair: Martin Herman Department Office: Design (DESN), Room 101 Telephone / FAX: (562) 985 5089 / (562) 985 2284 Website: http://www.csulb.edu/depts/design/ Undergraduate
This version of course will be available for Fall 2015 term. New York City College of Technology The City University of New York
New York City College of Technology The City University of New York Department of Advertising Design & Graphic Arts CDMG2412 Media Presentations Course Description This course focuses on analyzing information
Computer Science Course Descriptions Page 1
CS 101 Intro to Computer Science An introduction to computer science concepts and the role of computers in society. Topics include the history of computing, computer hardware, operating systems, the Internet,
REGULATIONS FOR THE DEGREE OF MASTER OF SCIENCE IN COMPUTER SCIENCE (MSc[CompSc])
305 REGULATIONS FOR THE DEGREE OF MASTER OF SCIENCE IN COMPUTER SCIENCE (MSc[CompSc]) (See also General Regulations) Any publication based on work approved for a higher degree should contain a reference
GCE APPLIED ICT A2 COURSEWORK TIPS
GCE APPLIED ICT A2 COURSEWORK TIPS COURSEWORK TIPS A2 GCE APPLIED ICT If you are studying for the six-unit GCE Single Award or the twelve-unit Double Award, then you may study some of the following coursework
Division of Mathematical Sciences
Division of Mathematical Sciences Chair: Mohammad Ladan, Ph.D. The Division of Mathematical Sciences at Haigazian University includes Computer Science and Mathematics. The Bachelor of Science (B.S.) degree
ADVANCED VISUALIZATION
Cyberinfrastructure Technology Integration (CITI) Advanced Visualization Division ADVANCED VISUALIZATION Tech-Talk by Vetria L. Byrd Visualization Scientist November 05, 2013 THIS TECH TALK Will Provide
Please Note: Temporary Graduate 485 skills assessments applicants should only apply for ANZSCO codes listed in the Skilled Occupation List above.
ANZSCO Descriptions This ANZSCO description document has been created to assist applicants in nominating an occupation for an ICT skill assessment application. The document lists all the ANZSCO codes that
A Framework of Model-Driven Web Application Testing
A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China
GRD100 Graphic Design Principles I
Berkeley College Overview Academic Programs Graphic Design GRD100 Graphic Design Principles I Admissions and Finances Administration, Faculty, and Staff Introduction to two-dimensional design and color
Introduction to Big Data Analytics p. 1 Big Data Overview p. 2 Data Structures p. 5 Analyst Perspective on Data Repositories p.
Introduction p. xvii Introduction to Big Data Analytics p. 1 Big Data Overview p. 2 Data Structures p. 5 Analyst Perspective on Data Repositories p. 9 State of the Practice in Analytics p. 11 BI Versus
second level university master Academic Year 2013/14 QoLexity Measuring, Monitoring and Analysis of Quality of Life and its Complexity
second level university master Academic Year 2013/14 QoLexity Measuring, Monitoring and Analysis of Quality of Life and its Complexity LIST OF SUBJECTS AND TOPICS A. Concepts and tools Total: 7 credits
Interactive Multimedia Courses-1
Interactive Multimedia Courses-1 IMM 110/Introduction to Digital Media An introduction to digital media for interactive multimedia through the study of state-of-the-art methods of creating digital media:
An example. Visualization? An example. Scientific Visualization. This talk. Information Visualization & Visual Analytics. 30 items, 30 x 3 values
Information Visualization & Visual Analytics Jack van Wijk Technische Universiteit Eindhoven An example y 30 items, 30 x 3 values I-science for Astronomy, October 13-17, 2008 Lorentz center, Leiden x An
Chapter 5. Warehousing, Data Acquisition, Data. Visualization
Decision Support Systems and Intelligent Systems, Seventh Edition Chapter 5 Business Intelligence: Data Warehousing, Data Acquisition, Data Mining, Business Analytics, and Visualization 5-1 Learning Objectives
Faculty Dr. Arafat Al-Naim, Dr. Rania Fawzi, Dr. Mohamed Galib, Dr. Majed Kamal Eldeen, Dr. Mohamed Sedeeq, Moh d Musa (M.A.)
Graphic Design Department The Graphic Design Department at Zarqa University is committed to provide a high quality Design education and teaching new media skills. The Department offers a four-year bachelor
PATTERN-ORIENTED ARCHITECTURE FOR WEB APPLICATIONS
PATTERN-ORIENTED ARCHITECTURE FOR WEB APPLICATIONS M. Taleb, A. Seffah Human-Centred Software Engineering Group Concordia University, Montreal, Quebec, Canada Phone: +1 (514) 848 2424 ext 7165 and/or ext
Challenges and Opportunities for formal specifications in Service Oriented Architectures
ACSD ATPN Xi an China June 2008 Challenges and Opportunities for formal specifications in Service Oriented Architectures Gustavo Alonso Systems Group Department of Computer Science Swiss Federal Institute
2667A - Introduction to Programming
2667A - Introduction to Programming Table of Contents Introduction Audience At Course Completion Prerequisites Microsoft Certified Professional Exams Student Materials Course Outline Introduction Elements
Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
Masters of Science in Software & Information Systems
Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January
The course: An Introduction to Information Visualization Techniques for Exploring Large Database
The course: An Introduction to Information Visualization Techniques for Exploring Large Database Jing Yang Fall 2006 www.cs.uncc.edu/~jyang13 1 Multi-dimensional Data Visualization 2 1 Parallel Coordinates
Time Series Data Visualization
Time Series Data Visualization Time Series Data Fundamental chronological component to the data set Random sample of 4000 graphics from 15 of world s newspapers and magazines from 74-80 found that 75%
Interaction and Visualization Techniques for Programming
Interaction and Visualization Techniques for Programming Mikkel Rønne Jakobsen Dept. of Computing, University of Copenhagen Copenhagen, Denmark [email protected] Abstract. Programmers spend much of their
Interactive Data Mining and Visualization
Interactive Data Mining and Visualization Zhitao Qiu Abstract: Interactive analysis introduces dynamic changes in Visualization. On another hand, advanced visualization can provide different perspectives
UniGR Workshop: Big Data «The challenge of visualizing big data»
Dept. ISC Informatics, Systems & Collaboration UniGR Workshop: Big Data «The challenge of visualizing big data» Dr Ir Benoît Otjacques Deputy Scientific Director ISC The Future is Data-based Can we help?
Developing in the MDA Object Management Group Page 1
Developing in OMG s New -Driven Architecture Jon Siegel Director, Technology Transfer Object Management Group In this paper, we re going to describe the application development process supported by OMG
UNDERGRADUATE DEGREE PROGRAMME IN COMPUTER SCIENCE ENGINEERING SCHOOL OF COMPUTER SCIENCE ENGINEERING, ALBACETE
UNDERGRADUATE DEGREE PROGRAMME IN COMPUTER SCIENCE ENGINEERING SCHOOL OF COMPUTER SCIENCE ENGINEERING, ALBACETE SCHOOL OF COMPUTER SCIENCE, CIUDAD REAL Core Subjects (CS) Compulsory Subjects (CPS) Optional
Program Visualization for Programming Education Case of Jeliot 3
Program Visualization for Programming Education Case of Jeliot 3 Roman Bednarik, Andrés Moreno, Niko Myller Department of Computer Science University of Joensuu [email protected] Abstract:
The Service Revolution software engineering without programming languages
The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)
01219211 Software Development Training Camp 1 (0-3) Prerequisite : 01204214 Program development skill enhancement camp, at least 48 person-hours.
(International Program) 01219141 Object-Oriented Modeling and Programming 3 (3-0) Object concepts, object-oriented design and analysis, object-oriented analysis relating to developing conceptual models
Course 803401 DSS. Business Intelligence: Data Warehousing, Data Acquisition, Data Mining, Business Analytics, and Visualization
Oman College of Management and Technology Course 803401 DSS Business Intelligence: Data Warehousing, Data Acquisition, Data Mining, Business Analytics, and Visualization CS/MIS Department Information Sharing
Development (60 ЕCTS)
Study program Faculty Cycle Software and Application Development (60 ЕCTS) Contemporary Sciences and Technologies Postgraduate ECTS 60 Offered in Tetovo Description of the program The objectives of the
