See Sys Visualization System ICS 280 Information Visualization

  • Slides: 16
Download presentation
See. Sys Visualization System ICS 280 Information Visualization 5/1/2001 By Wan Sze Ng 1

See. Sys Visualization System ICS 280 Information Visualization 5/1/2001 By Wan Sze Ng 1

Overview Motivation n See. Sys characteristics n Big 5 questions n Design Rationale n

Overview Motivation n See. Sys characteristics n Big 5 questions n Design Rationale n Uses n Comments n 2

Motivation n Problem statement: Increase complexity of software -> limit size of system Solution:

Motivation n Problem statement: Increase complexity of software -> limit size of system Solution: Software Visualization However, current methods (1994) ineffective n n n Too much information -> illegible Display complicated => Use space-filling technique for displaying source code related software statistics 3

See. Sys Characteristics Visualize statistics of program source code in files, directories and subsystems

See. Sys Characteristics Visualize statistics of program source code in files, directories and subsystems n Fits up to 50, 000 lines of code n Overseeing the whole system provide information about the real problem of the system n 4

See. Sys Characteristics (cont’d) Directory area is proportional to directory’s NCSL (Noncommentary source lines)

See. Sys Characteristics (cont’d) Directory area is proportional to directory’s NCSL (Noncommentary source lines) 5 1 X Y 3 2 4 Gray area a amount of new code Z At Subsystem level 5

See. Sys Characteristics (cont’d) Y File 1 Newly developed code in File 1 (In

See. Sys Characteristics (cont’d) Y File 1 Newly developed code in File 1 (In fact, gray area can represent anything such as number of comments in the code, etc. File 2 File 3 File 4 File 5 At Directory level 6

Big-five Questions n n n “Which subsystems are the largest? Where is the new

Big-five Questions n n n “Which subsystems are the largest? Where is the new development activity? ” “Where are the large directories? Are the large and small directories distributed evenly throughout the subsystems? Is the new development distributed evenly between directories? Which directories are stable and which have the most activity? ” “Which subsystems are unusually complex or error-prone? Are there any problematic directories? How is the development activity apportioned between fixing bugs and adding new functionality? ” “Are bug fixes a reoccurring problem? What components would make good candidates for code restructuring projects? ” “Which were the major software releases? Have any subsystems shrunk or disappeared? What is the rate for growth of different subsystems? Which subsystems are growing at the fastest rates? Have any subsystems remained at the same size or grown at a steady rate? Where has the development work been done historically? ” 7

#1 Question n “Which subsystems are the largest? Where is the new development activity?

#1 Question n “Which subsystems are the largest? Where is the new development activity? ” 8

#2 Question n “Where are the large directories? Are the large and small directories

#2 Question n “Where are the large directories? Are the large and small directories distributed evenly throughout the subsystems? Is the new development distributed evenly between directories? Which directories are stable and which have the most activity? ” 9

#3 Question n “Which subsystems are unusually complex or error-prone? Are there any problematic

#3 Question n “Which subsystems are unusually complex or error-prone? Are there any problematic directories? How is the development activity apportioned between fixing bugs and adding new functionality? ” 10

#4 Question n “Are bug fixes a reoccurring problem? What components would make good

#4 Question n “Are bug fixes a reoccurring problem? What components would make good candidates for code restructuring projects? ” 11

#5 Question n “Which were the major software releases? Have any subsystems shrunk or

#5 Question n “Which were the major software releases? Have any subsystems shrunk or disappeared? What is the rate for growth of different subsystems? Which subsystems are growing at the fastest rates? Have any subsystems remained at the same size or grown at a steady rate? Where has the development work been done historically? ” 12

Design Rationale n n User Interaction n Users can choose a particular subsystem they

Design Rationale n n User Interaction n Users can choose a particular subsystem they want to look at by using mouse. Screen real-estate n Rectangles are placed next to each other so that 100% of the display area is utilized (space-filling) n Zoom in is possible when the subsystem is too small 13

Design Rationale (cont’d) n Spatial relationships Number of rows used can be optimally determined

Design Rationale (cont’d) n Spatial relationships Number of rows used can be optimally determined by users with a slide bar n Algorithm used to equalize heights of rectangles n n Color n Used to redundantly encode size 14

Uses Project managers: track the evolution of the code n Feature engineers: determine which

Uses Project managers: track the evolution of the code n Feature engineers: determine which components of the system will be impacted by planned enhancements n Software Developers: identify errorprone subsystems for reengineering n 15

Comments General information is provided but system could be confusing n Any others? n

Comments General information is provided but system could be confusing n Any others? n 16