Table of Contents
- 1. Sonargraph's Next Generation - Sonargraph 9
- 2. Licensing
- 3. Getting Started
- 4. Getting Familiar with the Sonargraph System Model
- 5. Creating a System
- 6. Adding Content to a System
- 7. Interacting with a System
-
- 7.1. User Interface Components
- 7.2. Common Interaction Patterns
- 7.3. Sonargraph Workbench
- 7.4. Navigating through the System Components
- 7.5. Exploring the System Namespaces
- 7.6. Managing the System Files
- 7.7. Managing the Workspace
- 7.8. Analyzer Execution Level
- 7.9. Analyzing Cycles
- 7.10. Exploring the System
- 7.11. Searching Elements
- 7.12. Detecting Duplicate Code
- 7.13. Examining the Source Code
- 7.14. Examining Metrics Results
- 7.15. Analyzing C++ Include Dependencies
- 7.16. Creating a Report
- 8. Handling Detected Issues
- 9. Simulating Refactorings
- 10. Defining an Architecture
-
- 10.1. Models, Components and Artifacts
- 10.2. Interfaces and Connectors
- 10.3. Reusing Architecture Aspects
- 10.4. Extending Aspect Based Artifacts
- 10.5. Extending Interfaces or Connectors
- 10.6. Adding Transitive Connections
- 10.7. Restricting Dependency Types
- 10.8. Connecting Complex Artifacts
- 10.9. Introducing Connection Schemes
- 10.10. Artifact Classes
- 10.11. How to Organize your Code
- 10.12. Designing Generic Architectures Using Templates
- 10.13. Best Practices
- 10.14. Architecture DSL Language Specification
- 11. Interactive Restructuring and Code Organization
- 12. Extending the Static Analysis
- 13. Examining Changes
- 14. Defining Quality Gates
- 15. Using Additional Plugins
- 16. Build Server Integration
- 17. IDE Integration
- 18. Metric Definitions
- 19. How to Resolve Issues
- 20. FAQ
- 21. References
- 22. Trademark Attributions, Library License Texts, and Source Code
- 23. Legal Notice
- Glossary
- 1. Walk Through Tutorial (Java)
-
- 1.1. Workspace Definition
- 1.2. Basic Analysis
- 1.3. Advanced Analysis
- 1.4. Architecture: Artifacts, Aspects Files and Standard Connections
- 1.5. Architecture: Explicit Interfaces and Connectors
- 1.6. Architecture: Advanced Connections
- 1.7. Architecture: Advanced Aspect Files
- 1.8. Architecture: Referencing external Artifacts in Aspect Files
- 1.9. Headless Check with Sonargraph-Build
- 1.10. Check at Development Time with Sonargraph Eclipse Integration
- 2. Tutorial - Java
- 3. Tutorial - C#
- 4. Tutorial - C++
- 5. Sonargraph Script API Documentation
- Index
List of Figures
- 1.1. Sonargraph Products
- 3.1. Editor Preferences
- 3.2. License Server Preferences
- 3.3. Proxy Preferences
- 3.4. Update Site Preferences
- 3.5. C++ Compiler Definition
- 3.6. C# Profiles Configuration
- 3.7. C# Build Executor
- 3.8. Search Path Configuration
- 4.1. Physical File Structure
- 4.2. System Domain Model
- 4.3. Java Domain Model
- 4.4. C++ Domain Model
- 4.5. C# Domain Model
- 4.6. Physical Namespaces
- 4.7. Logical Namespaces
- 4.8. System-Based Logical Model
- 4.9. Module-based Logical Model
- 5.1. Marking root directories from JSON file
- 5.2. Naming modules for root directories from JSON file
- 5.3. New System with Quality Model
- 5.4. Import Quality Model
- 5.5. Export Quality Model
- 6.1. Importing Java Modules Using an Eclipse workspace
- 6.2. Importing Java Modules from IntelliJ
- 6.3. Importing Java Maven Modules
- 6.4. Importing Java Modules Using a Bazel workspace
- 6.5. Manage Root Directory Path
- 6.6. Create C/C++ System Based on Solution File Import
- 6.7. C/C++ Module Configuration
- 6.8. Missing C# Assemblies
- 6.9. C# Module Configuration
- 6.10. Locate Missing C# Assemblies
- 6.11. Configuration of MSBuild
- 6.12. Setting the MSBuild Verbosity Level in Visual Studio
- 7.1. Tool Bar
- 7.2. Notifications Bar
- 7.3. Table with activated text filter
- 7.4. Sonargraph Workbench
- 7.5. Navigation View
- 7.6. Namespaces View
- 7.7. Logical Model Selection
- 7.8. Files View
- 7.9. Workspace View
- 7.10. Defining a Manual Workspace Dependency
- 7.11. Defining a Manual Workspace Dependency
- 7.12. Creating Workspace Profile
- 7.13. Analyzers View
- 7.14. Cycle Groups View
- 7.15. Cycle View
- 7.16. Cycle Break Up View
- 7.17. Quick View Creation
- 7.18. Quick View Creation
- 7.19. Focus Toolbar
- 7.20. Focus Dropdown Menu
- 7.21. Advanced Focus Dialog
- 7.22. Semantics of Colors
- 7.23. Architecture Independent Dependencies
- 7.24. Exploration View
- 7.25. Before and After Drilldown
- 7.26. Sample Exploration view
- 7.27. Extend Focus Menu
- 7.28. Extend Focus Result
- 7.29. Sample Exploration view
- 7.30. Extend Focus Menu
- 7.31. Underlying Parser Dependencies for Arc
- 7.32. Incoming and Outgoing Parser Dependencies
- 7.33. View option synchronization
- 7.34. Expand Dependency to Component Level
- 7.35. Context Menu Interactions
- 7.36. View Options
- 7.37. Graph View
- 7.38. Levels in Graph View
- 7.39. On Demand Cycle Groups
- 7.40. On Demand Cycle Groups
- 7.41. Underlying Parser Dependencies for Edge
- 7.42. Incoming and Outgoing Parser Dependencies
- 7.43. View option synchronization
- 7.44. Context Menu Interactions
- 7.45. Show Type-based Graph view
- 7.46. Type-based Graph
- 7.47. View Options
- 7.48. Dependencies View
- 7.49. Drilling Down Dependencies
- 7.50. Interaction with Auxiliary Views
- 7.51. Context Menu Interactions
- 7.52. Standard Search Dialog
- 7.53. Search Dialog to Locate Members
- 7.54. Text Search in Views
- 7.55. Duplicate Blocks View
- 7.56. Duplicates Source View
- 7.57. Source View
- 7.58. Hyperlinking and Find Text Features in Source View
- 7.59. Show Only Violations
- 7.60. Metrics View
- 7.61. Metrics Histogram
- 7.62. Element Metrics View
- 7.63. Metric Thresholds Configuration
- 7.64. C++ Include Dependency View
- 7.65. Table Filter Options in HTML Report
- 8.1. Virtual Models
- 8.2. Issues View
- 8.3. Filter Issues
- 8.4. Issue Hotspots Treemap Visualization
- 8.5. Ignore View
- 8.6. Resolution Dialog
- 9.1. Refactorings View
- 10.1. Architecture View
- 10.2. Architecture of the order management micro service
- 10.3. Layering of a subsystem
- 11.1. Architectural view
- 11.2. Artifact Filter
- 12.1. Script View
- 12.2. Quality Model
- 12.3. New Script
- 12.4. Parameter Definition
- 12.5. Parameter Usage in Script
- 12.6. Create Run Configuration
- 12.7. Auto Completion
- 12.8. Script View Marker
- 12.9. Script View Marker Tooltip
- 12.10. Script View Elements Tab
- 12.11. Script View Tree Tab
- 12.12. Script View Issues Preview
- 12.13. Script View Metrics Preview
- 12.14. Script Runner
- 13.1. System Diff View (Issues)
- 13.2. System Diff View (Cycle Groups)
- 13.3. HTML Diff Report
- 14.1. Quality Gate View
- 14.2. Current System Condition Dialog
- 14.3. Baseline Issue Condition Dialog
- 14.4. Baseline Metric Condition Dialog
- 14.5. Exclude Filter Dialog
- 15.1. Plugin Manager Preference Page
- 15.2. Sonargraph Plugin Repository
- 15.3. Swagger Plugin Webservices
- 15.4. Swagger Plugin Issues
- 15.5. Swagger Plugin External
- 17.1. Status Icon
- 17.2. Open Sonargraph System
- 17.3. Show Issues in Problems View
- 17.4. Problems View Configuration for Sonargraph Issues
- 17.5. Context Menu To Open Sonargraph Cycle Groups View
- 17.6. Sonargraph Issues in Eclipse with Baseline Applied
- 17.7. Open Sonargraph System
- 17.8. Sonargraph Tool Window
- 17.9. Sonargraph Issues in IntelliJ with Baseline Applied
- 2.1. New Manual System Wizard
- 2.2. Root Directories Dialog
- 2.3. Workspace View
- 2.4. Workspace View After Parsing
- 2.5. Metrics View
- 2.6. Metrics View Highlighting Thresholds Violations
- 2.7. Filter Issues
- 2.8. Cycle Groups View
- 2.9. Cycle View
- 2.10. Duplicate Code Blocks View
- 2.11. Duplicate Source View
- 2.12. Add TODO Issue
- 2.13. Resolutions View
- 2.14. Open in Exploration View
- 2.15. Exploration View Drilldown
- 2.16. Exploration View Interactions
- 2.17. Graph View
- 2.18. Graph View Interactions
- 2.19. Dependencies View
- 2.20. Create a New Script
- 2.21. Execute a Script
- 2.22. Export Metrics to Excel Context Menu
- 3.1. System based on C# Visual Studio Solution File
- 3.2. Select C# Solution File, Configuration and Platform
- 3.3. Select C# Solution File, Configuration and Platform
- 4.1. Select C++ Modules to Import from Capturing Files
- 4.2. Renaming and Configuring C++ Modules to Import from Capturing Files
- 4.3. Specify Visual Studio Solution File
- 4.4. MSBuild Exception
- 4.5. Parse Error (Missing Header File)