Monica
Components & Dependencies

Intro

Logical decomposition is a representation of the organization of the main source code, where every and each file is put in exactly one logical component.

  • A software system can have one or more logical decompositions.
  • A logical decomposition can be defined in two ways in Sokrates.
  • First approach is based on the folders structure. Components are mapped to folders at defined folder depth relative to the source code root.
  • Second approach is based on explicit definition of each component. In such explicit definitions, components are explicitly named and their files are selected based on explicitly defined path and content filters.
  • A logical decomposition is considered invalid if a file is selected into two or more components.This constraint is introduced in order to facilitate measuring of dependencies among components.
  • Files not assigned to any component are put into a special "Unclassified" component.
Learn more...
Logical Decompositions Overview

Analyzed system has 2 logical decompositions:

  • primary (7 components)
  • app (14 components)
Logical Decomposition #1: PRIMARY
The decompositions is based on folder structure at level 1 (relative to the source code root).
Components
The "primary" logical decomposition has 7 components.
  • 1,187 files, 76,673 lines of code (100.0% vs. main code).
  • "resources" is biggest, containing 54.98% of code.
  • "public" is smallest, containing 0.01% of code.


resources42152 LOC (54%) 421 files
app24617 LOC (32%) 457 files
database8556 LOC (11%) 269 files
config1017 LOC (1%) 33 files
routes303 LOC (<1%) 4 files
bootstrap17 LOC (<1%) 1 files
public11 LOC (<1%) 2 files
Alternative Visuals
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.

Logical Decomposition #2: APP
The decompositions is based on folder structure at level 2 (relative to the source code root).
Components
The "app" logical decomposition has 14 components.
  • 457 files, 24,617 lines of code (32.1% vs. main code).
  • "Http" is biggest, containing 39.78% of code.
  • "ViewHelpers" is smallest, containing 0.09% of code.


Http9793 LOC (12%) 181 files
Services6673 LOC (8%) 107 files
Models3266 LOC (4%) 63 files
Console1873 LOC (2%) 29 files
Helpers1225 LOC (1%) 23 files
Jobs604 LOC (<1%) 17 files
Providers374 LOC (<1%) 7 files
Traits331 LOC (<1%) 7 files
Notifications230 LOC (<1%) 6 files
Exceptions88 LOC (<1%) 7 files
Listeners64 LOC (<1%) 1 files
Events43 LOC (<1%) 4 files
Interfaces32 LOC (<1%) 4 files
ViewHelpers21 LOC (<1%) 1 files
Alternative Visuals
Dependencies
Dependencies among components are static code dependencies among files in different components.
  • Analyzed system has 56 links (arrows) between components.
  • The number on the arrow represents the number of files from referring component that depend on files in referred component.
  • These 56 links contain 501 dependencies.
  • There are 9 places (18 links) with cyclic dependencies (273 file dependencies).
G Traits Traits Models Models Traits->Models 2 Exceptions Exceptions Traits->Exceptions 1 Helpers Helpers Traits->Helpers 3 Services Services Traits->Services 1 Providers Providers Providers->Models 1 Providers->Exceptions 1 Http Http Providers->Http 1 Providers->Helpers 2 Notifications Notifications Providers->Notifications 1 Providers->Services 1 ViewHelpers ViewHelpers ViewHelpers->Models 1 ViewHelpers->Helpers 1 Models->Traits 9 Models->Http 1 Jobs Jobs Models->Jobs 1 Models->Helpers 14 Models->Services 2 Interfaces Interfaces Models->Interfaces 9 Http->Traits 19 Http->Models 79 Http->Exceptions 2 Http->Jobs 6 Events Events Http->Events 1 Http->Helpers 72 Http->Notifications 1 Http->Services 48 Jobs->Models 13 Jobs->Exceptions 1 Jobs->Events 1 Jobs->Helpers 5 Jobs->Notifications 3 Jobs->Services 7 Jobs->Interfaces 1 Events->Models 2 Listeners Listeners Listeners->Http 1 Listeners->Events 1 Helpers->Models 12 Helpers->Services 1 Helpers->Interfaces 1 Notifications->Models 6 Notifications->Helpers 1 Notifications->Interfaces 3 Services->Traits 2 Services->Models 103 Services->Exceptions 3 Services->Jobs 6 Services->Events 1 Services->Helpers 10 Services->Interfaces 1 Interfaces->Models 1 Console Console Console->Models 16 Console->Exceptions 1 Console->Jobs 7 Console->Events 2 Console->Helpers 5 Console->Services 4




Show more details about dependencies...




2020-09-12 22:30