Software Engineering & Architecture
|
|
|
- Sydney Palmer
- 10 years ago
- Views:
Transcription
1 Software Engineering & Architecture 11. QUALITY METRICS AND VISUALIZATION Martin Kropp University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems
2 References Some of the visualization stuff has been taken from H. Gall et al. Software Analysis Visualization, 28th International Conference on Software Engineering, Shanghai 2006 And S. Demeyer. SReengMaster. 2
3 Learning Targets You Stimulate discussion and to pose hypotheses about the quality of code and software design using software quality metrics and visualization tools. can analyze quality attributes of code and software design can apply quality metrics for evaluation of code and design quality can apply software visualization as a method for evaluation of code and design quality can apply software visualization for gaining initial software understanding of legacy systems can collect information as a base re-engineering decisions 3
4 Content Motivation Quality Metrics Software Visualization Tools Summary 4
5 Why To Analyze Software Engineering Control quality of new work Legacy Code Determine quality of given work Where are the decay? 5
6 What to Analyze Code Design Architecture 6
7 Analysis Means Metrics Provide concrete figures about software quality Visualization Provide graphical view on the software quality 7
8 Metrics (Recap) Metric: a measurement scale and method to determine the value of an indicator of a certain software product. Indicator: Indicators are internal characteristics that can be related to an external characteristic Example: External characteristic: Analyzability Indicator: Complexity of functions/methods Metric: McCabe s cyclomatic number 8
9 Some Typical Metrics Size Metrics Lines of Code (LoC), Number of Classes, Number of Methods of Class, Halstead-Metric Logical Structure Metrics Cyclomatic Complexity McCabe Data Structure Metrics Number of Variables, Duration Style Metrics Naming Convention, Nesting Metrics for Cohesion and Coupling Fan-In, Fan-Out, Lack-of-Cohesion, Number of called Methods and many more 9
10 Evaluation of Metrics metrics for packages 10
11 Exercise 1: Pro s and Con s of Metrics Pro s Con s 11
12 Nonetheless You can't manage what you can't control, and you can't control what you don't measure But Don t make yourself a slave of the numbers! 12
13 Analysis Visualization From H. Gall, Software Analysis Visualization, 28th International Conference on Software Engineering, Shanghai
14 Conceptual Problem Software is intangible, having no physical shape or size. [Thomas Ball] Software visualization tools use graphical techniques to make software visible by displaying programs, program artifacts and program behavior. 14
15 Visualization Approaches Euclidean cones Pros: More info than 2D Cons: Lack of depth Navigation Hyperbolic trees Pros: Good focus Dynamic Cons: Copyright Hierarchical Views 15
16 Visualization Approaches (contd) Bottom UP Approach All program entities and relations Filter 16
17 Goal of Visualization Engineering Get easy to read quality measures On various levels Scalable Reengineering Get easily a good understanding of the software On various levels Scalable Reduce Complexity 17
18 A Lightweight Approach The Polymetric View A combination of metrics and software visualization Visualize software using colored rectangles for the entities and edges for the relationships Render up to five metrics on one node: Size (1+2) Color (3) Position (4+5) Y coordinate Entities X coordinate color metric width metric Relationships height metric 18
19 Quiz: Where would you start looking? and why? 19
20 Polymetric View Example 1 System Complexity View Nodes: Edges: Width: Height: Color: Classes Inheritance Relationships Number of attributes Number of methods Number of lines of code 20
21 Polymetric View Example 2 Method Assessment LOC Nodes: Methods Edges: - Size: Number of method parameters Position X: Lines of code Position Y: Number of statements NOS 21
22 Polymetric View More Samples Inheritance Classification View Data Storage Class Detection View For more details see the paper from Michele Lanza, Stephane Ducasse. Polymetric Views - A Lightweight Visual Approach to Reverse Engineering, IEEE Transactions on Software Engineering, Volume 29, Issue 9, Sept Page(s):
23 Evaluation Polymetric View Benefits Views are customizable (context ) and easily modifiable Simple approach, yet powerful Scalability Fits very well for coarse-grained view Limits Visual language must be learned What s inside the classes and their structure? 23
24 Tools (just a view OSS) Metrics Metrics (for Eclipse) Checkstyle Emma CMT Many more Visualization CodeCrawler Evolizer Moose ls Creole / Shrimp Rigi Jinsight Many more 24
25 Summary To ensure software quality you have to analyze the software Analysis can be numerical and graphical - or both Metrics are easy to use but have their limitations Software Visualization is very useful when used correctly An integrated approach is needed, just having nice pictures is not enough 25
26 Tasks Now apply metrics and visualization in a concrete project
27 Retrospective Give your feedback on n11retrospective 27
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
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
Génie Logiciel et Gestion de Projets. Evolution
Génie Logiciel et Gestion de Projets Evolution 1 Roadmap Evolution: definitions Re-engineering Legacy systems Reverse engineering Software Visualisation Re-engineering Patterns 2 Evolution: Definitions
CodeCrawler An Extensible and Language Independent 2D and 3D Software Visualization Tool
CodeCrawler An Extensible and Language Independent 2D and 3D Software Visualization Tool Michele Lanza Software Engineering Group Department of Informatics University of Zurich, Switzerland Stéphane Ducasse
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
Program Understanding with Code Visualization
Program Understanding with Code Visualization Arif Iftikhar Department of Computer Science National University of Computer and Emerging Sciences 852-B Faisal Town, Lahore, Pakistan [email protected]
BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs
BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs César Couto 1,2, Pedro Pires 1, Marco Túlio Valente 1, Roberto S. Bigonha 1, Andre Hora 3, Nicolas Anquetil 3 1 Department
IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS
IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS Edwin Hautus Compuware Europe P.O. Box 12933 The Netherlands [email protected] Abstract Packages are an important mechanism to decompose
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
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
Understanding Software Static and Dynamic Aspects
Understanding Software Static and Dynamic Aspects Welf Löwe IPD, Universität Karlsruhe PF 6980, 76128 Karlsruhe Germany [email protected] Andreas Ludwig IPD, Universität Karlsruhe PF 6980, 76128 Karlsruhe
Hierarchy and Tree Visualization
Hierarchy and Tree Visualization Definition Hierarchies An ordering of groups in which larger groups encompass sets of smaller groups. Data repository in which cases are related to subcases Hierarchical
Hierarchical Data Visualization
Hierarchical Data Visualization 1 Hierarchical Data Hierarchical data emphasize the subordinate or membership relations between data items. Organizational Chart Classifications / Taxonomies (Species and
Polymetric Views A Lightweight Visual Approach to Reverse Engineering
Polymetric Views A Lightweight Visual Approach to Reverse Engineering Michele Lanza, Stéphane Ducasse Preprint of the Transactions on Software Engineering Journal 1 Abstract Reverse engineering software
STAN. Structure Analysis for Java. Version 2. White Paper. Fall 2009
STAN Structure Analysis for Java Version 2 White Paper Fall 2009 Abstract: This paper gives a brief introduction to structure analysis using STAN, a static code analysis tool bringing together Java development
Percerons: A web-service suite that enhance software development process
Percerons: A web-service suite that enhance software development process Percerons is a list of web services, see http://www.percerons.com, that helps software developers to adopt established software
Software visualization. Why visualization?
Software visualization Tudor Gîrba www.tudorgirba.com Software Visualization is the use of typography, graphic design, animation, and cinematography with human-computer interaction and computer graphics
Baseline Code Analysis Using McCabe IQ
White Paper Table of Contents What is Baseline Code Analysis?.....2 Importance of Baseline Code Analysis...2 The Objectives of Baseline Code Analysis...4 Best Practices for Baseline Code Analysis...4 Challenges
Hierarchical Data Visualization. Ai Nakatani IAT 814 February 21, 2007
Hierarchical Data Visualization Ai Nakatani IAT 814 February 21, 2007 Introduction Hierarchical Data Directory structure Genealogy trees Biological taxonomy Business structure Project structure Challenges
Quality Management. What is quality? Managing the quality of the software process and products ISO 9000
Quality Management What is quality? Managing the quality of the software process and products Quality, simplistically, means that a product should meet its specification This is problematical for software
Big Data: Rethinking Text Visualization
Big Data: Rethinking Text Visualization Dr. Anton Heijs [email protected] Treparel April 8, 2013 Abstract In this white paper we discuss text visualization approaches and how these are important
WebSphere Business Monitor
WebSphere Business Monitor Monitor sub-models 2010 IBM Corporation This presentation should provide an overview of the sub-models in a monitor model in WebSphere Business Monitor. WBPM_Monitor_MonitorModels_Submodels.ppt
DEMONSTRATION OF THE SOFTVISION SOFTWARE VISUALIZATION FRAMEWORK
DEMONSTRATION OF THE SOFTVISION SOFTWARE VISUALIZATION FRAMEWORK Abstract Matti Sillanpää Nokia Research Center Helsinki, Finland E-mail: [email protected] Alexandru Telea Eindhoven University
Quality Analysis with Metrics
Rational software Quality Analysis with Metrics Ameeta Roy Tech Lead IBM, India/South Asia Why do we care about Quality? Software may start small and simple, but it quickly becomes complex as more features
Analyzing Java Software by Combining Metrics and Program Visualization
Analyzing Java Software by Combining Metrics and Program Visualization Tarja Systä Software Systems Laboratory Tampere University of Technology P.O. Box 553, FIN-33101 Tampere, Finland [email protected]
Visualization methods for patent data
Visualization methods for patent data Treparel 2013 Dr. Anton Heijs (CTO & Founder) Delft, The Netherlands Introduction Treparel can provide advanced visualizations for patent data. This document describes
An Architecture to Support Model Driven Software Visualization
An Architecture to Support Model Driven Software Visualization R. Ian Bull and Margaret-Anne Storey University of Victoria British Columbia, Canada {irbull,[email protected] Marin Litoiu IBM Markham Ontario
GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns
Introducing FACTORY SCHEMES Adaptable software factory Patterns FACTORY SCHEMES 3 Standard Edition Community & Enterprise Key Benefits and Features GECKO Software http://consulting.bygecko.com Email: [email protected]
Hyperbolic Tree for Effective Visualization of Large Extensible Data Standards
Hyperbolic Tree for Effective Visualization of Large Extensible Data Standards Research-in-Progress Yinghua Ma Shanghai Jiaotong University Hongwei Zhu Old Dominion University Guiyang SU Shanghai Jiaotong
Design methods. List of possible design methods. Functional decomposition. Data flow design. Functional decomposition. Data Flow Design (SA/SD)
Design methods List of possible design methods Functional decomposition Data Flow Design (SA/SD) Design based on Data Structures (JSD/JSP) OO is good, isn t it Decision tables E-R Flowcharts FSM JSD JSP
Using Library Dependencies for Clustering
Using Library Dependencies for Clustering Jochen Quante Software Engineering Group, FB03 Informatik, Universität Bremen [email protected] Abstract: Software clustering is an established approach
Exploiting Dynamic Information in IDEs Eases Software Maintenance
Exploiting Dynamic Information in IDEs Eases Software Maintenance David Röthlisberger Software Composition Group, University of Bern, Switzerland [email protected] Abstract The integrated development
An Open Framework for Reverse Engineering Graph Data Visualization. Alexandru C. Telea Eindhoven University of Technology The Netherlands.
An Open Framework for Reverse Engineering Graph Data Visualization Alexandru C. Telea Eindhoven University of Technology The Netherlands Overview Reverse engineering (RE) overview Limitations of current
Quality Management. Objectives
Quality Management Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1 Objectives To introduce the quality management process and key quality management activities To explain the
Quality Management. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1
Quality Management Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1 Objectives To introduce the quality management process and key quality management activities To explain the
Comprehending Software Architecture using a Single-View Visualization
UCRL-CONF-227293 Comprehending Software Architecture using a Single-View Visualization T. Panas, T. G. W. Epperly, D. J. Quinlan, A. Saebjoernsen, R. W. Vuduc January 17, 2007 12th IEEE Int. Conference
BugMaps-Granger: a tool for visualizing and predicting bugs using Granger causality tests
Couto et al. Journal of Software Engineering Research and Development 2014, 2:1 SOFTWARE Open Access BugMaps-Granger: a tool for visualizing and predicting bugs using Granger causality tests Cesar Couto
CodeMetropolis code visualisation in MineCraft
CodeMetropolis code visualisation in MineCraft Gergő Balogh and Árpád Beszédes Department of Software Engineering University of Szeged Hungary {geryxyz, beszedes}@inf.u-szeged.hu Abstract Data visualisation
Quality Management. Objectives. Topics covered. Process and product quality Quality assurance and standards Quality planning Quality control
Quality Management Sommerville Chapter 27 Objectives To introduce the quality management process and key quality management activities To explain the role of standards in quality management To explain
VISUALIZATION APPROACH FOR SOFTWARE PROJECTS
Canadian Journal of Pure and Applied Sciences Vol. 9, No. 2, pp. 3431-3439, June 2015 Online ISSN: 1920-3853; Print ISSN: 1715-9997 Available online at www.cjpas.net VISUALIZATION APPROACH FOR SOFTWARE
Software Metrics. Lord Kelvin, a physicist. George Miller, a psychologist
Software Metrics 1. Lord Kelvin, a physicist 2. George Miller, a psychologist Software Metrics Product vs. process Most metrics are indirect: No way to measure property directly or Final product does not
Architectural Visualization of C/C++ Source Code for Program Comprehension
UCRL-CONF-224144 Architectural Visualization of C/C++ Source Code for Program Comprehension T. Panas, T. G. W. Epperly, D. Quinlan, A. Saebjornsen, R. Vuduc September 1, 2006 29th International Conference
LITCHFIELD PUBLIC SCHOOLS Core Curriculum Scope and Sequence {Interior Design}
LITCHFIELD PUBLIC SCHOOLS Core Curriculum Scope and Sequence {Interior Design} CT Frameworks/ Standards Content and Skill Objectives Students will be able to: Assessments Resources Architecture 2-3 weeks
Karunya University Dept. of Information Technology
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
How To Create A Visualization In Java 2D With A Model Of A Class Diagram In A Programmable Model (Programmer)
Scripting Interactive Visualizations Masterarbeit der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern vorgelegt von Michael Meyer im November 2006 Leiter der Arbeit Prof. Dr. Oscar
Recovering Business Rules from Legacy Source Code for System Modernization
Recovering Business Rules from Legacy Source Code for System Modernization Erik Putrycz, Ph.D. Anatol W. Kark Software Engineering Group National Research Council, Canada Introduction Legacy software 000009*
Definitions. Software Metrics. Why Measure Software? Example Metrics. Software Engineering. Determine quality of the current product or process
Definitions Software Metrics Software Engineering Measure - quantitative indication of extent, amount, dimension, capacity, or size of some attribute of a product or process. Number of errors Metric -
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]
Industrial Adoption of Automatically Extracted GUI Models for Testing
Industrial Adoption of Automatically Extracted GUI Models for Testing Pekka Aho, VTT Technical Research Centre of Finland International Workshop on Experiences and Empirical Studies in Software Modelling
visualizations for code metrics
ThoughtWorks visualizations for code metrics NEAL FORD software architect / meme wrangler ThoughtWorks [email protected] 3003 Summit Boulevard, Atlanta, GA 30319 www.nealford.com www.thoughtworks.com
International Journal of Software Engineering and Knowledge Engineering c World Scientific Publishing Company
International Journal of Software Engineering and Knowledge Engineering c World Scientific Publishing Company Rapid Construction of Software Comprehension Tools WELF LÖWE Software Technology Group, MSI,
Tool Support for Inspecting the Code Quality of HPC Applications
Tool Support for Inspecting the Code Quality of HPC Applications Thomas Panas Dan Quinlan Richard Vuduc Center for Applied Scientific Computing Lawrence Livermore National Laboratory P.O. Box 808, L-550
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
Quality Management. Managing the quality of the software process and products
Quality Management Managing the quality of the software process and products Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 1 Objectives To introduce the quality management process
Section 1: Ribbon Customization
WHAT S NEW, COMMON FEATURES IN OFFICE 2010 2 Contents Section 1: Ribbon Customization... 4 Customizable Ribbon... 4 Section 2: File is back... 5 Info Tab... 5 Recent Documents Tab... 7 New Documents Tab...
SQLFlow: PL/SQL Multi-Diagrammatic Source Code Visualization
SQLFlow: PL/SQL Multi-Diagrammatic Source Code Visualization Samir Tartir Department of Computer Science University of Georgia Athens, Georgia 30602 USA Email: [email protected] ABSTRACT: A major problem
OMC Study Group MEETING 3: NOTES. Section 1: Building Design Page 2 Section 2: Site Layout Page 9 Section 3: Summary Page 16
OMC Study Group MEETING 3: NOTES Section 1: Building Design Page 2 Section 2: Site Layout Page 9 Section 3: Summary Page 16 Section 1 Building Design Page 2 of 16 General Comments during Building Design
Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine
Blender Notes Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine The Blender Game Engine This week we will have an introduction to the Game Engine build
Oracle Database 10g: Building GIS Applications Using the Oracle Spatial Network Data Model. An Oracle Technical White Paper May 2005
Oracle Database 10g: Building GIS Applications Using the Oracle Spatial Network Data Model An Oracle Technical White Paper May 2005 Building GIS Applications Using the Oracle Spatial Network Data Model
Fireworks CS4 Tutorial Part 1: Intro
Fireworks CS4 Tutorial Part 1: Intro This Adobe Fireworks CS4 Tutorial will help you familiarize yourself with this image editing software and help you create a layout for a website. Fireworks CS4 is the
Signs And Graphics. Professional Signage and Graphics Solutions
Signs And Graphics SIGNAGE Dimensional Letters Electronic Displays exhibit displays Professional Signage and Graphics Solutions OUR MISSION To enhance the value of the businesses we serve Beautiful Colors
Software Testing Strategies and Techniques
Software Testing Strategies and Techniques Sheetal Thakare 1, Savita Chavan 2, Prof. P. M. Chawan 3 1,2 MTech, Computer Engineering VJTI, Mumbai 3 Associate Professor, Computer Technology Department, VJTI,
EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS
EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS Umamaheswari E. 1, N. Bhalaji 2 and D. K. Ghosh 3 1 SCSE, VIT Chennai Campus, Chennai, India 2 SSN College of
Vragen en opdracht. Complexity. Modularity. Intra-modular complexity measures
Vragen en opdracht Complexity Wat wordt er bedoeld met design g defensively? Wat is het gevolg van hoge complexiteit icm ontwerp? Opdracht: http://www.win.tue.nl/~mvdbrand/courses/se/1011/opgaven.html
Measuring Software Product Quality
Measuring Software Product Quality Eric Bouwers June 17, 2014 T +31 20 314 0950 [email protected] www.sig.eu Software Improvement Group Who are we? Highly specialized advisory company for cost, quality and risks
WINDOWS 2000 Training Division, NIC
WINDOWS 2000 Active TE Directory Services WINDOWS 2000 Training Division, NIC Active Directory Stores information about objects on the network and makes this information easy for administrators and users
Find the Information That Matters. Visualize Your Data, Your Way. Scalable, Flexible, Global Enterprise Ready
Real-Time IoT Platform Solutions for Wireless Sensor Networks Find the Information That Matters ViZix is a scalable, secure, high-capacity platform for Internet of Things (IoT) business solutions that
Software Requirements Metrics
Software Requirements Metrics Fairly primitive and predictive power limited. Function Points Count number of inputs and output, user interactions, external interfaces, files used. Assess each for complexity
Visualization of bioinformatics workflows for ease of understanding and design activities
Visualization of bioinformatics workflows for ease of understanding and design activities H.V. Byelas and M.A.Swertz Genomics Coordination Center, Department of Genetics, University Medical Center Groningen,
A Visualization Approach for Bug Reports in Software Systems
, pp. 37-46 http://dx.doi.org/10.14257/ijseia.2014.8.10.04 A Visualization Approach for Bug Reports in Software Systems Maen Hammad 1, Somia Abufakher 2 and Mustafa Hammad 3 1, 2 Department of Software
Access 2007 Creating Forms Table of Contents
Access 2007 Creating Forms Table of Contents CREATING FORMS IN ACCESS 2007... 3 UNDERSTAND LAYOUT VIEW AND DESIGN VIEW... 3 LAYOUT VIEW... 3 DESIGN VIEW... 3 UNDERSTAND CONTROLS... 4 BOUND CONTROL... 4
Problem-Solution Mapping for Forward and Reengineering on Architectural Level
Problem-Solution Mapping for Forward and Reengineering on Architectural Level Matthias Riebisch, Stephan Bode, and Robert Brcina Ilmenau University of Technology P.O. Box 10 05 65 98684 Ilmenau, Germany
Creating and Using Links and Bookmarks in PDF Documents
Creating and Using Links and Bookmarks in PDF Documents After making a document into a PDF, there may be times when you will need to make links or bookmarks within that PDF to aid navigation through the
Microsoft PowerPoint 2010 Computer Jeopardy Tutorial
Microsoft PowerPoint 2010 Computer Jeopardy Tutorial 1. Open up Microsoft PowerPoint 2010. 2. Before you begin, save your file to your H drive. Click File > Save As. Under the header that says Organize
Analysis Of Source Lines Of Code(SLOC) Metric
Analysis Of Source Lines Of Code(SLOC) Metric Kaushal Bhatt 1, Vinit Tarey 2, Pushpraj Patel 3 1,2,3 Kaushal Bhatt MITS,Datana Ujjain 1 [email protected] 2 [email protected] 3 [email protected]
