Top Banner
Analytical Architecture Report Application: Pegasus ERP Cargo Management System is one of the software solutions for cargo industry, which is totally integrated with Accounts. Designed by experts from cargo and software industry it provides one stop solution for data entry and decision support. The implementation of detailed function level checks ensures reliability & date integrity of system. The embedded security through appropriate Access Controls allows complete control of user access and data manipulation. www.comsoftusa.us www.comsoftuae.com Development Environment: [Release-6, Desktop Version] Microsoft Visual Studio 2008, .Net 3.5, Windows Presentation Foundation, Infragistic GUI Controls, SQL Server 2008 Application Metrics Number of IL instructions: 894149 Number of lines of code: 121062 Number of lines of comment: 0 Percentage comment: 0 Number of assemblies: 15 Number of classes: 596 Number of types: 638 Number of abstract classes: 1 Number of interfaces: 4 Number of value types: 2 Number of exception classes: 2 Number of attribute classes: 0 Number of delegate classes: 1 Number of enumerations classes: 36 Number of generic type definitions: 5 Number of generic method definitions: 0 Percentage of public types: 90.6% Percentage of public methods: 42.45% Percentage of classes with at least one public field: 48.12% Stat # Occurre nces Avg StdD ev Max Propert ies on Interfa 4 Interfa ces 0 0 0 properties on Pegasus.Common.ICommon
74

To study pcms pegasus erp cargo management system-release-6 from architecture perspective.

May 12, 2015

Download

Technology

shahzad saeed

To study pcms pegasus erp cargo management system-release-6 from architecture perspective.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

Analytical Architecture ReportApplication:Pegasus ERP Cargo Management System is one of the software solutions for cargo industry, which is totally integrated with Accounts. Designed by experts from cargo and software industry it provides one stop solution for data entry and decision support. The implementation of detailed function level checks ensures reliability & date integrity of system. The embedded security through appropriate Access Controls allows complete control of user access and data manipulation.

www.comsoftusa.us

www.comsoftuae.com

Development Environment: [Release-6, Desktop Version]

Microsoft Visual Studio 2008, .Net 3.5, Windows Presentation Foundation, Infragistic GUI Controls, SQL Server 2008

Application MetricsNumber of IL instructions: 894149Number of lines of code: 121062Number of lines of comment: 0Percentage comment: 0Number of assemblies: 15Number of classes: 596Number of types: 638Number of abstract classes: 1Number of interfaces: 4Number of value types: 2Number of exception classes: 2Number of attribute classes: 0Number of delegate classes: 1Number of enumerations classes: 36Number of generic type definitions: 5Number of generic method definitions: 0Percentage of public types: 90.6% Percentage of public methods: 42.45% Percentage of classes with at least one public field: 48.12%

Stat# Occurrences

AvgStdDev Max

Properties on Interfaces

4 Interface

s 0 0 0 properties on Pegasus.Common.ICommon

Methods on Interfaces

4 Interface

s

26.25

44.31

103 methods on Pegasus.Main.RSServiceReference05.ReportingService2005S

oap

Arguments on

105 Methods

1 0 1 arguments on Pegasus.Common.ICommon.getPropertyValue(String)

Page 2: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

Methods on Interfaces

Public Properties on Classes

596 Classes

0.81 3.08 43 public properties on Pegasus.Common.Properties.Resources

Public Methods on Classes

596 Classes

6.74 8.39108 public methods on

Pegasus.Main.RSServiceReference05.ReportingService2005SoapClient

Arguments on Public Methods on Classes

4019 Methods

0.49 1.11

10 arguments on Pegasus.Main.RSServiceReference05.GetDataDrivenSubscriptionPropertiesResponse..ctor(ServerInfoHeader,String,Extensi

onSettings,DataRetrievalPlan,String,ActiveState,String,String,String,ParameterValueOrFieldReference[])

IL Instructions in non-abstract Methods

9608 Methods

93.06

195.66

4585 IL instructions in Pegasus.Main.RibbonMenuTest.ApplyReportsTabSecurity()

Cyclomatic complexity on non abstract Methods

9608 Methods 6.69

14.69

CC = 561 for Pegasus.Main.RibbonMenuTest.System.Windows.Markup.ICo

mponentConnector.Connect(Int32,Object)

Assemblies Metrics

Assembly

# Type

s

# Abstract Typ

es

# IL instruction

# lines of code

# lines

of com

ment

% com

ment

Afferent Couplin

g

Efferent Couplin

g

Relational Cohesion

Instability

Abstractness

Distance

Pegasus.Common v1.0.0.0

8 2 124619

8 0 0 202 34 0.38 0.14 0.25 0.61

Pegasus.Con 25 0 9811 14 0 0 225 168 1.52 0.43 0.04 0.53

Page 3: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

trols v1.0.0.0

49

Pegasus.SearchEngine v1.0.0.0

5 0 114281453 0 0 160 122 0.2 0.43 0 0.57

Pegasus.General v1.0.0.0 87 0 88574

1216

80 0 146 231 1.82 0.61 0 0.39

Pegasus.Security v1.0.0.0

6 0 457764

2 0 0 0 96 0.17 1 0 0

Pegasus.Accounts v1.0.0.0

23 0 496066592 0 0 2 228 0.17 0.99 0 0.01

Pegasus.Job v1.0.0.0

3 0 514 66 0 0 0 62 0.33 1 0 0

Pegasus.NVOCC v1.0.0.0 24 0 85322

1154

70 0 0 225 0.38 1 0 0

Pegasus.Warehouse v1.0.0.0

22 0 956941272

40 0 0 243 0.23 1 0 0

Pegasus.ShippingLine v1.0.0.0

24 0 863591167

90 0 0 225 0.38 1 0 0

Pegasus.PRCI v1.0.0.0

12 0 44695 6022

0 0 0 198 0.5 1 0 0

Pegasus.Cargo v1.0.0.0 42 0

149950

2035

80 0 0 223 1.14 1 0 0

Pegasus.FlightCargo v1.0.0.0

18 0 566347539 0 0 0 183 0.39 1 0 0

Pegasus.Main v1.0.0.52 307 1

129476

1778

10 0 0 282 2.55 1 0.01 0.01

Pegasus.TMS v1.0.0.0 32 0 80263

1084

40 0 0 187 0.09 1 0 0

Visual NDepend View

Page 4: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.
Page 5: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

Assemblies Abstractness vs. Instability

Page 6: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.
Page 7: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

Assemblies DependenciesAssembly Depends on... Is referenced by...

Pegasus.Common v1.0.0.0

mscorlib v4.0.0.0 ; NHibernate v2.1.0.4000 ; System v4.0.0.0 ; HibernatingRhinos.NHibernate.Profiler.Appender v0.9.0.0 ; System.Data v4.0.0.0 ;

Pegasus.General v1.0.0.0 ; Pegasus.Security v1.0.0.0 ; Pegasus.Accounts v1.0.0.0 ; Pegasus.Controls v1.0.0.0 ; Pegasus.Job v1.0.0.0 ; Pegasus.SearchEngine v1.0.0.0 ; Pegasus.NVOCC v1.0.0.0 ; Pegasus.Warehouse v1.0.0.0 ; Pegasus.ShippingLine v1.0.0.0 ; Pegasus.PRCI v1.0.0.0 ; Pegasus.Cargo v1.0.0.0 ; Pegasus.FlightCargo v1.0.0.0 ; Pegasus.Main v1.0.0.52 ; Pegasus.TMS v1.0.0.0 ;

Pegasus.Controls v1.0.0.0

PresentationFramework v4.0.0.0 ; WindowsBase v4.0.0.0 ; mscorlib v4.0.0.0 ; PresentationCore v4.0.0.0 ; System v4.0.0.0 ; Infragistics3.Wpf.Editors.v9.1 v9.1.20091.2091 ; Pegasus.Common v1.0.0.0 ;

Pegasus.General v1.0.0.0 ; Pegasus.Security v1.0.0.0 ; Pegasus.Accounts v1.0.0.0 ; Pegasus.Job v1.0.0.0 ; Pegasus.SearchEngine v1.0.0.0 ; Pegasus.NVOCC v1.0.0.0 ; Pegasus.Warehouse v1.0.0.0 ; Pegasus.ShippingLine v1.0.0.0 ; Pegasus.PRCI v1.0.0.0 ; Pegasus.Cargo v1.0.0.0 ; Pegasus.FlightCargo v1.0.0.0 ; Pegasus.Main v1.0.0.52 ; Pegasus.TMS v1.0.0.0 ;

Pegasus.SearchEngine v1.0.0.0

PresentationFramework v4.0.0.0 ; WindowsBase v4.0.0.0 ; mscorlib v4.0.0.0 ; System v4.0.0.0 ; PresentationCore v4.0.0.0 ; System.Data v4.0.0.0 ; Infragistics3.Wpf.Editors.v9.1 v9.1.20091.2091 ;

Pegasus.General v1.0.0.0 ; Pegasus.Security v1.0.0.0 ; Pegasus.Accounts v1.0.0.0 ;

Page 8: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

Infragistics3.Wpf.DataPresenter.v9.1 v9.1.20091.2091 ; Pegasus.Common v1.0.0.0 ; Pegasus.Controls v1.0.0.0 ;

Pegasus.NVOCC v1.0.0.0 ; Pegasus.Warehouse v1.0.0.0 ; Pegasus.ShippingLine v1.0.0.0 ; Pegasus.PRCI v1.0.0.0 ; Pegasus.Cargo v1.0.0.0 ; Pegasus.FlightCargo v1.0.0.0 ; Pegasus.TMS v1.0.0.0 ;

Pegasus.General v1.0.0.0

mscorlib v4.0.0.0 ; PresentationFramework v4.0.0.0 ; WindowsBase v4.0.0.0 ; System v4.0.0.0 ; PresentationCore v4.0.0.0 ; Infragistics3.Wpf.DataPresenter.v9.1 v9.1.20091.2091 ; Pegasus.Controls v1.0.0.0 ; Infragistics3.Wpf.Editors.v9.1 v9.1.20091.2091 ; System.Data v4.0.0.0 ; Infragistics3.Wpf.v9.1 v9.1.20091.2091 ; Pegasus.SearchEngine v1.0.0.0 ; Pegasus.Common v1.0.0.0 ; Microsoft.VisualBasic v10.0.0.0 ; System.Windows.Forms v4.0.0.0 ;

Pegasus.Security v1.0.0.0 ; Pegasus.Accounts v1.0.0.0 ; Pegasus.Job v1.0.0.0 ; Pegasus.NVOCC v1.0.0.0 ; Pegasus.Warehouse v1.0.0.0 ; Pegasus.ShippingLine v1.0.0.0 ; Pegasus.PRCI v1.0.0.0 ; Pegasus.Cargo v1.0.0.0 ; Pegasus.FlightCargo v1.0.0.0 ; Pegasus.Main v1.0.0.52 ; Pegasus.TMS v1.0.0.0 ;

Pegasus.Security v1.0.0.0

System v4.0.0.0 ; PresentationFramework v4.0.0.0 ; WindowsBase v4.0.0.0 ; mscorlib v4.0.0.0 ; Pegasus.Controls v1.0.0.0 ; Infragistics3.Wpf.Editors.v9.1 v9.1.20091.2091 ; PresentationCore v4.0.0.0 ; System.Data v4.0.0.0 ; Pegasus.General v1.0.0.0 ; Pegasus.Common v1.0.0.0 ; Pegasus.SearchEngine v1.0.0.0 ; Microsoft.VisualBasic v10.0.0.0 ;

-

Pegasus.Accounts v1.0.0.0

PresentationFramework v4.0.0.0 ; WindowsBase v4.0.0.0 ; mscorlib v4.0.0.0 ; System v4.0.0.0 ; System.Data v4.0.0.0 ; Pegasus.Controls v1.0.0.0 ; PresentationCore v4.0.0.0 ; Infragistics3.Wpf.DataPresenter.v9.1 v9.1.20091.2091 ; Infragistics3.Wpf.Editors.v9.1 v9.1.20091.2091 ; System.Drawing v4.0.0.0 ; Infragistics3.Wpf.v9.1 v9.1.20091.2091 ; Pegasus.General v1.0.0.0 ; Pegasus.SearchEngine v1.0.0.0 ; Microsoft.VisualBasic v10.0.0.0 ; Pegasus.Common v1.0.0.0 ; System.Core v4.0.0.0 ;

Pegasus.Main v1.0.0.52 ;

Pegasus.Job mscorlib v4.0.0.0 ; System v4.0.0.0 ; -

Page 9: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

v1.0.0.0

PresentationFramework v4.0.0.0 ; WindowsBase v4.0.0.0 ; System.Data v4.0.0.0 ; Pegasus.Controls v1.0.0.0 ; Infragistics3.Wpf.Editors.v9.1 v9.1.20091.2091 ; Infragistics3.Wpf.DataPresenter.v9.1 v9.1.20091.2091 ; Pegasus.Common v1.0.0.0 ; PresentationCore v4.0.0.0 ; Pegasus.General v1.0.0.0 ;

Pegasus.NVOCC v1.0.0.0

PresentationFramework v4.0.0.0 ; WindowsBase v4.0.0.0 ; mscorlib v4.0.0.0 ; System v4.0.0.0 ; Pegasus.SearchEngine v1.0.0.0 ; Pegasus.Controls v1.0.0.0 ; System.Data v4.0.0.0 ; PresentationCore v4.0.0.0 ; Infragistics3.Wpf.DataPresenter.v9.1 v9.1.20091.2091 ; Infragistics3.Wpf.Editors.v9.1 v9.1.20091.2091 ; Pegasus.General v1.0.0.0 ; Pegasus.Common v1.0.0.0 ; Infragistics3.Wpf.v9.1 v9.1.20091.2091 ; Microsoft.VisualBasic v10.0.0.0 ; System.Windows.Forms v4.0.0.0 ;

-

Pegasus.Warehouse v1.0.0.0

PresentationFramework v4.0.0.0 ; WindowsBase v4.0.0.0 ; mscorlib v4.0.0.0 ; System v4.0.0.0 ; Pegasus.Controls v1.0.0.0 ; System.Data v4.0.0.0 ; Pegasus.SearchEngine v1.0.0.0 ; Pegasus.General v1.0.0.0 ; PresentationCore v4.0.0.0 ; Infragistics3.Wpf.DataPresenter.v9.1 v9.1.20091.2091 ; Infragistics3.Wpf.Editors.v9.1 v9.1.20091.2091 ; Pegasus.Common v1.0.0.0 ; Microsoft.VisualBasic v10.0.0.0 ; Infragistics3.Wpf.v9.1 v9.1.20091.2091 ; NHibernate v2.1.0.4000 ;

-

Pegasus.ShippingLine v1.0.0.0

mscorlib v4.0.0.0 ; PresentationFramework v4.0.0.0 ; WindowsBase v4.0.0.0 ; System v4.0.0.0 ; Pegasus.Controls v1.0.0.0 ; PresentationCore v4.0.0.0 ; Infragistics3.Wpf.Editors.v9.1 v9.1.20091.2091 ; Infragistics3.Wpf.DataPresenter.v9.1 v9.1.20091.2091 ; Pegasus.SearchEngine v1.0.0.0 ; System.Data v4.0.0.0 ; Pegasus.General v1.0.0.0 ; Pegasus.Common v1.0.0.0 ; Microsoft.VisualBasic v10.0.0.0 ; System.Windows.Forms v4.0.0.0 ; Infragistics3.Wpf.v9.1 v9.1.20091.2091 ;

-

Pegasus.PRCI v1.0.0.0

PresentationFramework v4.0.0.0 ; WindowsBase v4.0.0.0 ; mscorlib v4.0.0.0 ; System v4.0.0.0 ; Pegasus.SearchEngine v1.0.0.0 ; Pegasus.Controls v1.0.0.0 ;

-

Page 10: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

System.Data v4.0.0.0 ; PresentationCore v4.0.0.0 ; Infragistics3.Wpf.DataPresenter.v9.1 v9.1.20091.2091 ; Infragistics3.Wpf.Editors.v9.1 v9.1.20091.2091 ; Pegasus.Common v1.0.0.0 ; Pegasus.General v1.0.0.0 ; Infragistics3.Wpf.v9.1 v9.1.20091.2091 ; Microsoft.VisualBasic v10.0.0.0 ; System.Windows.Forms v4.0.0.0 ;

Pegasus.Cargo v1.0.0.0

PresentationFramework v4.0.0.0 ; WindowsBase v4.0.0.0 ; System v4.0.0.0 ; mscorlib v4.0.0.0 ; Pegasus.Controls v1.0.0.0 ; Pegasus.General v1.0.0.0 ; Pegasus.SearchEngine v1.0.0.0 ; PresentationCore v4.0.0.0 ; Infragistics3.Wpf.Editors.v9.1 v9.1.20091.2091 ; Infragistics3.Wpf.DataPresenter.v9.1 v9.1.20091.2091 ; System.Data v4.0.0.0 ; Pegasus.Common v1.0.0.0 ; Infragistics3.Wpf.v9.1 v9.1.20091.2091 ; System.Xml v4.0.0.0 ; Microsoft.VisualBasic v10.0.0.0 ;

-

Pegasus.FlightCargo v1.0.0.0

PresentationFramework v4.0.0.0 ; WindowsBase v4.0.0.0 ; mscorlib v4.0.0.0 ; System v4.0.0.0 ; Pegasus.Controls v1.0.0.0 ; System.Data v4.0.0.0 ; Pegasus.SearchEngine v1.0.0.0 ; Pegasus.General v1.0.0.0 ; PresentationCore v4.0.0.0 ; Infragistics3.Wpf.DataPresenter.v9.1 v9.1.20091.2091 ; Infragistics3.Wpf.Editors.v9.1 v9.1.20091.2091 ; Pegasus.Common v1.0.0.0 ; System.Windows.Forms v4.0.0.0 ; Infragistics3.Wpf.v9.1 v9.1.20091.2091 ;

-

Pegasus.Main v1.0.0.52

WindowsBase v4.0.0.0 ; PresentationFramework v4.0.0.0 ; mscorlib v4.0.0.0 ; System v4.0.0.0 ; System.ServiceModel v4.0.0.0 ; System.Windows.Forms v4.0.0.0 ; PresentationCore v4.0.0.0 ; Infragistics3.Wpf.DataPresenter.v9.1 v9.1.20091.2091 ; System.Data v4.0.0.0 ; Infragistics3.Wpf.Editors.v9.1 v9.1.20091.2091 ; Infragistics3.Wpf.v9.1 v9.1.20091.2091 ; Infragistics3.Wpf.Ribbon.v9.1 v9.1.20091.2091 ; System.Drawing v4.0.0.0 ; System.Xml v4.0.0.0 ; Pegasus.Accounts v1.0.0.0 ; Pegasus.General v1.0.0.0 ; Microsoft.VisualBasic v10.0.0.0 ; Pegasus.Controls v1.0.0.0 ; Pegasus.Common v1.0.0.0 ; NHibernate v2.1.0.4000 ;

-

Page 11: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

Pegasus.TMS v1.0.0.0

PresentationFramework v4.0.0.0 ; WindowsBase v4.0.0.0 ; mscorlib v4.0.0.0 ; System v4.0.0.0 ; Pegasus.Controls v1.0.0.0 ; PresentationCore v4.0.0.0 ; Infragistics3.Wpf.Editors.v9.1 v9.1.20091.2091 ; Infragistics3.Wpf.DataPresenter.v9.1 v9.1.20091.2091 ; System.Data v4.0.0.0 ; Pegasus.SearchEngine v1.0.0.0 ; Pegasus.General v1.0.0.0 ; Pegasus.Common v1.0.0.0 ; Infragistics3.Wpf.v9.1 v9.1.20091.2091 ;

-

Assemblies Dependencies DiagramBlue : Assemblies of your application.Yellow : Tiers assemblies referenced by assemblies of your application.

Page 12: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.
Page 13: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

Assemblies build orderPegasus.CommonPegasus.ControlsPegasus.SearchEnginePegasus.GeneralPegasus.SecurityPegasus.AccountsPegasus.JobPegasus.NVOCCPegasus.WarehousePegasus.ShippingLinePegasus.PRCIPegasus.CargoPegasus.FlightCargoPegasus.MainPegasus.TMS

NDepend information and warnings11/05/2010 15:02:12 Begin full analysis with NDepend v3.2.0No Baseline for Comparison loaded.Assemblies loaded from {C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319} mscorlib.dll v4.0.0.0 System.dll v4.0.0.0 System.Data.dll v4.0.0.0 Microsoft.VisualBasic.dll v10.0.0.0 System.Windows.Forms.dll v4.0.0.0 System.Drawing.dll v4.0.0.0 System.Core.dll v4.0.0.0 System.Xml.dll v4.0.0.0 System.ServiceModel.dll v4.0.0.0Assemblies loaded from {C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\WPF} PresentationFramework.dll v4.0.0.0 WindowsBase.dll v4.0.0.0 PresentationCore.dll v4.0.0.0Assemblies loaded from {D:\ShareMe\Pegasus\Pegasus.Common.BSL\bin\Debug} Pegasus.Common.dll v1.0.0.0 NHibernate.dll v2.1.0.4000 HibernatingRhinos.NHibernate.Profiler.Appender.dll v0.9.0.0Assemblies loaded from {D:\ShareMe\Pegasus\Pegasus.General\bin\Debug} Pegasus.General.dll v1.0.0.0 Pegasus.Controls.dll v1.0.0.0 Pegasus.SearchEngine.dll v1.0.0.0 Infragistics3.Wpf.DataPresenter.v9.1.dll v9.1.20091.2091 Infragistics3.Wpf.Editors.v9.1.dll v9.1.20091.2091 Infragistics3.Wpf.v9.1.dll v9.1.20091.2091Assemblies loaded from {D:\ShareMe\Pegasus\Pegasus.Security\bin\Debug} Pegasus.Security.dll v1.0.0.0Assemblies loaded from {D:\ShareMe\Pegasus\Pegasus.Accounts\bin\Debug} Pegasus.Accounts.dll v1.0.0.0Assemblies loaded from {D:\ShareMe\Pegasus\Pegasus.Job\bin\Debug} Pegasus.Job.dll v1.0.0.0Assemblies loaded from {D:\ShareMe\Pegasus\Pegasus.NVOCC\bin\Debug} Pegasus.NVOCC.dll v1.0.0.0Assemblies loaded from {D:\ShareMe\Pegasus\Pegasus.Warehouse\bin\Debug} Pegasus.Warehouse.dll v1.0.0.0Assemblies loaded from {D:\ShareMe\Pegasus\Pegasus.ShippingLine\bin\Debug} Pegasus.ShippingLine.dll v1.0.0.0Assemblies loaded from {D:\ShareMe\Pegasus\Pegasus.PRCI\bin\Debug} Pegasus.PRCI.dll v1.0.0.0

Page 14: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

Assemblies loaded from {D:\ShareMe\Pegasus\Pegasus.AirFreight\bin\Debug} Pegasus.Cargo.dll v1.0.0.0Assemblies loaded from {D:\ShareMe\Pegasus\Pegasus.FlightCargo\bin\Debug} Pegasus.FlightCargo.dll v1.0.0.0Assemblies loaded from {D:\ShareMe\Pegasus\Pegasus\bin\Debug} Pegasus.Main.exe v1.0.0.52 Pegasus.TMS.dll v1.0.0.0 Infragistics3.Wpf.Ribbon.v9.1.dll v9.1.20091.20910 source file parsed ; 543 source files not found ; 0 CQL constraint has been extracted from code.No dependency cycle detected in assemblies referencement graph.11/05/2010 15:02:37 Analyse dependencies of your application.11/05/2010 15:02:38 Building the report (standard).WARNING: Cant' load the assembly {Pegasus.BusinessObjects}: Several .NET assemblies have the name {Pegasus.BusinessObjects} but they are different. - D:\ShareMe\Pegasus\Pegasus.General\bin\Debug\Pegasus.BusinessObjects.dll v0.0 2 297 856 bytes - D:\ShareMe\Pegasus\Pegasus.Security\bin\Debug\Pegasus.BusinessObjects.dll v0.0 2 297 856 bytes - D:\ShareMe\Pegasus\Pegasus.Accounts\bin\Debug\Pegasus.BusinessObjects.dll v0.0 2 297 856 bytes - D:\ShareMe\Pegasus\Pegasus.Job\bin\Debug\Pegasus.BusinessObjects.dll v0.0 2 293 248 bytes - D:\ShareMe\Pegasus\Pegasus.NVOCC\bin\Debug\Pegasus.BusinessObjects.dll v0.0 2 297 856 bytes - D:\ShareMe\Pegasus\Pegasus.Warehouse\bin\Debug\Pegasus.BusinessObjects.dll v0.0 2 297 856 bytes - D:\ShareMe\Pegasus\Pegasus.ShippingLine\bin\Debug\Pegasus.BusinessObjects.dll v0.0 2 297 856 bytes - D:\ShareMe\Pegasus\Pegasus.PRCI\bin\Debug\Pegasus.BusinessObjects.dll v0.0 2 297 856 bytes - D:\ShareMe\Pegasus\Pegasus.AirFreight\bin\Debug\Pegasus.BusinessObjects.dll v0.0 2 297 856 bytes - D:\ShareMe\Pegasus\Pegasus.FlightCargo\bin\Debug\Pegasus.BusinessObjects.dll v0.0 2 297 856 bytes - D:\ShareMe\Pegasus\Pegasus\bin\Debug\Pegasus.BusinessObjects.dll v0.0 2 297 856 bytes WARNING: Cant' load the assembly {Microsoft.SqlServer.Smo}: Can't find the .NET assembly {Microsoft.SqlServer.Smo} in specified folders. Has it been compiled properly? Is the NDepend project missing the containing folder of the .NET assembly?WARNING: Cant' load the assembly {Microsoft.SqlServer.ConnectionInfo}: Can't find the .NET assembly {Microsoft.SqlServer.ConnectionInfo} in specified folders. Has it been compiled properly? Is the NDepend project missing the containing folder of the .NET assembly?WARNING: Assembly {Pegasus.BusinessObjects} is referenced by {Pegasus.General} but is not found.WARNING: Assembly {Pegasus.BusinessObjects} is referenced by {Pegasus.Security} but is not found.WARNING: Assembly {Pegasus.BusinessObjects} is referenced by {Pegasus.Accounts} but is not found.WARNING: Assembly {Pegasus.BusinessObjects} is referenced by {Pegasus.Controls} but is not found.WARNING: Assembly {Pegasus.BusinessObjects} is referenced by {Pegasus.Job} but is not found.WARNING: Assembly {Pegasus.BusinessObjects} is referenced by {Pegasus.SearchEngine} but is not found.WARNING: Assembly {Pegasus.BusinessObjects} is referenced by {Pegasus.NVOCC} but is not found.WARNING: Assembly {Pegasus.BusinessObjects} is referenced by {Pegasus.Warehouse} but is not found.WARNING: Assembly {Pegasus.BusinessObjects} is referenced by {Pegasus.ShippingLine} but is not found.WARNING: Assembly {Pegasus.BusinessObjects} is referenced by {Pegasus.PRCI} but is not found.WARNING: Assembly {Pegasus.BusinessObjects} is referenced by {Pegasus.Cargo} but is not found.

Page 15: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

WARNING: Assembly {Pegasus.BusinessObjects} is referenced by {Pegasus.FlightCargo} but is not found.WARNING: Assembly {Pegasus.BusinessObjects} is referenced by {Pegasus.Main} but is not found.WARNING: Assembly {Microsoft.SqlServer.Smo} is referenced by {Pegasus.Main} but is not found.WARNING: Assembly {Microsoft.SqlServer.ConnectionInfo} is referenced by {Pegasus.Main} but is not found.WARNING: Assembly {Pegasus.BusinessObjects} is referenced by {Pegasus.TMS} but is not found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.Common.BSL\Properties} referenced by the PDB file of the assembly {Pegasus.Common} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.Common.BSL} referenced by the PDB file of the assembly {Pegasus.Common} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.Common.BSL\Utilities} referenced by the PDB file of the assembly {Pegasus.Common} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.Common.BSL\Languages} referenced by the PDB file of the assembly {Pegasus.Common} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.Controls} referenced by the PDB file of the assembly {Pegasus.Controls} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.Controls\Properties} referenced by the PDB file of the assembly {Pegasus.Controls} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.SearchEngine} referenced by the PDB file of the assembly {Pegasus.SearchEngine} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.SearchEngine\Properties} referenced by the PDB file of the assembly {Pegasus.SearchEngine} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.General} referenced by the PDB file of the assembly {Pegasus.General} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.General\UIElements\TransportRepair} referenced by the PDB file of the assembly {Pegasus.General} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.General\UIElements\Central} referenced by the PDB file of the assembly {Pegasus.General} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.General\UIElements\Cargo} referenced by the PDB file of the assembly {Pegasus.General} can't be found.WARNING: The source directory {e:\Shoaib Work\Projects\Pegasus\Pegasus.General\UIElements} referenced by the PDB file of the assembly {Pegasus.General} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.General\UIElements\Main} referenced by the PDB file of the assembly {Pegasus.General} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.General\UIElements\Administration} referenced by the PDB file of the assembly {Pegasus.General} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.General\UIElements\HRPayroll} referenced by the PDB file of the assembly {Pegasus.General} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.General\UIElements\ShippingLines} referenced by the PDB file of the assembly {Pegasus.General} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.General\UIElements\Inventory} referenced by the PDB file of the assembly {Pegasus.General} can't be found.

Page 16: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.General\Controls} referenced by the PDB file of the assembly {Pegasus.General} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.General\Properties} referenced by the PDB file of the assembly {Pegasus.General} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.Security\Properties} referenced by the PDB file of the assembly {Pegasus.Security} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.Security\UIElements} referenced by the PDB file of the assembly {Pegasus.Security} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.Accounts\UIElements} referenced by the PDB file of the assembly {Pegasus.Accounts} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.Accounts\Properties} referenced by the PDB file of the assembly {Pegasus.Accounts} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.Job\Properties} referenced by the PDB file of the assembly {Pegasus.Job} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.Job\UIElements} referenced by the PDB file of the assembly {Pegasus.Job} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.NVOCC\UIElements} referenced by the PDB file of the assembly {Pegasus.NVOCC} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.NVOCC\Properties} referenced by the PDB file of the assembly {Pegasus.NVOCC} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.Warehouse\UIElements} referenced by the PDB file of the assembly {Pegasus.Warehouse} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.Warehouse\Properties} referenced by the PDB file of the assembly {Pegasus.Warehouse} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.ShippingLine\Properties} referenced by the PDB file of the assembly {Pegasus.ShippingLine} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.ShippingLine\UIElements} referenced by the PDB file of the assembly {Pegasus.ShippingLine} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.PRCI\UIElements} referenced by the PDB file of the assembly {Pegasus.PRCI} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.PRCI\Properties} referenced by the PDB file of the assembly {Pegasus.PRCI} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.AirFreight\UIElements} referenced by the PDB file of the assembly {Pegasus.Cargo} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.AirFreight\Properties} referenced by the PDB file of the assembly {Pegasus.Cargo} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.AirFreight\Handlers} referenced by the PDB file of the assembly {Pegasus.Cargo} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.AirFreight\Handlers\CnF} referenced by the PDB file of the assembly {Pegasus.Cargo} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.AirFreight\Handlers\Multi} referenced by the PDB file of the assembly {Pegasus.Cargo} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.AirFreight\Handlers\Sea} referenced by the PDB file of the assembly {Pegasus.Cargo} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.AirFreight\Handlers\Land} referenced by the PDB file of the assembly {Pegasus.Cargo} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.AirFreight\Handlers\Air} referenced by the PDB file of the assembly {Pegasus.Cargo} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.FlightCargo\UIElements} referenced by the PDB file of the assembly {Pegasus.FlightCargo} can't be found.

Page 17: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.FlightCargo\Handlers\Air} referenced by the PDB file of the assembly {Pegasus.FlightCargo} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus.FlightCargo\Properties} referenced by the PDB file of the assembly {Pegasus.FlightCargo} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus\RibbonClasses\Util} referenced by the PDB file of the assembly {Pegasus.Main} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus} referenced by the PDB file of the assembly {Pegasus.Main} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus\Controls} referenced by the PDB file of the assembly {Pegasus.Main} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus\Security} referenced by the PDB file of the assembly {Pegasus.Main} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus\Properties} referenced by the PDB file of the assembly {Pegasus.Main} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\Pegasus\Service References\RSServiceReference05} referenced by the PDB file of the assembly {Pegasus.Main} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\PEGASUS.TMS\UIElements} referenced by the PDB file of the assembly {Pegasus.TMS} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\PEGASUS.TMS\UIElements\Masters} referenced by the PDB file of the assembly {Pegasus.TMS} can't be found.WARNING: The source directory {E:\Shoaib Work\Projects\Pegasus\PEGASUS.TMS\Properties} referenced by the PDB file of the assembly {Pegasus.TMS} can't be found.

CQL Queries and Constraints{Code Quality} Some CQL constraints are not satisfied. {Code Quality \ Type Metrics} Some CQL constraints are not satisfied. {Code Quality from Now!} All CQL queries compile and all CQL contraints are satisfied. {Design} Some CQL constraints are not satisfied. {Design \ Performance} Some CQL constraints are not satisfied. {Unused Code / Dead Code} Some CQL constraints are not satisfied. {Encapsulation} Some CQL constraints are not satisfied. {Encapsulation \ Methods Optimal Encapsulation} Some CQL constraints are not satisfied. {Encapsulation \ Types Optimal Encapsulation} Some CQL constraints are not satisfied. {Encapsulation \ Fields Optimal Encapsulation} Some CQL constraints are not satisfied. {Diff / Changes / Evolution} All CQL queries compile and all CQL contraints are satisfied. {Diff / Changes / Evolution \ API Breaking Changes} All CQL queries compile and all CQL contraints are satisfied. {Test Coverage} Some CQL constraints are not satisfied. {Purity / Immutability / Side-Effects} Some CQL constraints are not satisfied. {Naming Conventions} Some CQL constraints are not satisfied. {Naming Conventions \ Name too long} Some CQL constraints are not satisfied. {Constraints extracted from Source Code} No active CQL query compiled.

Page 18: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

WARNING: The following CQL constraint is not satisfied. 10 methods on 10763 tested match the condition. --> Group {Code Quality} // <Name>Quick summary of methods to refactor</Name>WARN IF Count > 0 IN SELECT    TOP 10 METHODS /*OUT OF "YourGeneratedCode" */ WHERE 

                                    // Metrics' definitions  ( NbLinesOfCode > 30 OR           // http://www.ndepend.com/Metrics.aspx#NbLinesOfCode    NbILInstructions > 200 OR       // http://www.ndepend.com/Metrics.aspx#NbILInstructions    CyclomaticComplexity > 20 OR    // http://www.ndepend.com/Metrics.aspx#CC    ILCyclomaticComplexity > 50 OR  // http://www.ndepend.com/Metrics.aspx#ILCC    ILNestingDepth > 4 OR           // http://www.ndepend.com/Metrics.aspx#ILNestingDepth    NbParameters > 5 OR             // http://www.ndepend.com/Metrics.aspx#NbParameters    NbVariables > 8 OR              // http://www.ndepend.com/Metrics.aspx#NbVariables    NbOverloads > 6 )               // http://www.ndepend.com/Metrics.aspx#NbOverloads     AND 

  // Here are some ways to avoid taking account of generated methods.  !( NameIs "InitializeComponent()" OR     // NDepend.CQL.GeneratedAttribute is defined in      // the redistributable assembly $NDependInstallDir$\Lib\NDepend.CQL.dll     // You can define your own attribute to mark "Generated".     HasAttribute "OPTIONAL:NDepend.CQL.GeneratedAttribute") 

methods

# lines of code (LOC)

# IL instructions

Cyclomatic Complexity (CC)

IL Cyclomatic Complexity (ILCC)

IL Nesting Depth

# Parameters

# Variables

# Overloads

Full Name

CheckApproval() 58

289 N/A 12 1 0 3 1 Pegasus.Controls.AuthenticationPrompt.CheckApproval()

RenderTree(IEnumerable<T>,TreeLayout)

38 203 N/A 21 2 2 11 1

Pegasus.Controls.TreeViewBase<T>.RenderTree(IEnumerable<T>,TreeLayout)

CreateItemNode(T,IList,TreeLayout)

32

212 N/A 24 3 3 11 1 Pegasus.Controls.TreeViewBase<T>.CreateItemNode(T,IList,TreeLa

Page 19: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

yout)

EnsureNodeIsVisible(T) 21

99 N/A 6 2 1 11 1 Pegasus.Controls.TreeViewBase<T>.EnsureNodeIsVisible(T)

TryFindItemNode(ItemCollection,String,Boolean)

14 91 N/A 10 5 3 8 1

Pegasus.Controls.TreeViewBase<T>.TryFindItemNode(ItemCollection,String,Boolean)

ApplyAutoCollapse() 34

204 N/A 23 3 0 13 1 Pegasus.Controls.TreeViewBase<T>.ApplyAutoCollapse()

.cctor() 35

257 N/A 1 0 0 1 1 Pegasus.Controls.TreeViewBase<T>..cctor()

OnItemCollectionChanged(Object,NotifyCollectionChangedEventArgs)

31

159 N/A 13 4 2 10 1

Pegasus.Controls.ItemMonitor<T>.OnItemCollectionChanged(Object,NotifyCollectionChangedEventArgs)

HandleRemovedChildItems(ICollection<T>,NotifyCollectionChangedEventArgs)

21

142 N/A 12 2 2 9 1

Pegasus.Controls.ItemMonitor<T>.HandleRemovedChildItems(ICollection<T>,NotifyCollectionChangedEventArgs)

OnRender(DrawingContext)

48

499 N/A 27 6 1 12 1 Pegasus.Controls.Ruler.OnRender(DrawingContext)

Sum:332

2 155 0 149 28 14 89 10

Average:3

3.2

215.5 0

14.9

2.8 1.4 8.9 1

Minimum: 14

91 0 1 0 0 1 1

Maximum: 58

499 0 27 6 3 13 1

Standard deviation:

12.384

112.01 0

8.0554

1.7205

1.1136

3.726

90

Variance:

15

3.36

12 546 0

64.89

2.96

1.24

13.89 0

WARNING: The following CQL constraint is not satisfied. 10 methods on 10763 tested match the condition. --> Group {Code Quality} // <Name>Methods too big (NbLinesOfCode)</Name>WARN IF Count > 0 IN SELECT TOP 10 METHODS WHERE    NbLinesOfCode > 30    ORDER BY NbLinesOfCode DESC

Page 20: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

// METHODS WHERE NbLinesOfCode > 30 are extremely complex // and should be split in smaller methods // (except if they are automatically generated by a tool).// See the definition of the NbLinesOfCode metric here // http://www.ndepend.com/Metrics.aspx#NbLinesOfCode

methods

# lines of code (LOC)

Full Name

IntialLoad() 801

Pegasus.Main.RptFreight.IntialLoad()

ApplyReportsTabSecurity() 726

Pegasus.Main.RibbonMenuTest.ApplyReportsTabSecurity()

intialLoad() 627

Pegasus.Main.RPTFLC.intialLoad()

intialLoad() 453

Pegasus.Main.RptLTM.intialLoad()

cboJobCard_SelectionChanged(Object,SelectionChangedEventArgs)

435

Pegasus.PRCI.UIElements.PRCICosting.cboJobCard_SelectionChanged(Object,SelectionChangedEventArgs)

xamExpenses_CellUpdated(Object,CellUpdatedEventArgs)

406

Pegasus.ShippingLine.UIElements.SHQuotation.xamExpenses_CellUpdated(Object,CellUpdatedEventArgs)

intialLoad() 358

Pegasus.Main.RptNVOCC.intialLoad()

intialLoad() 346

Pegasus.Main.RptSL.intialLoad()

xamExpenses_CellUpdated(Object,CellUpdatedEventArgs)

345

Pegasus.FlightCargo.UIElements.Quotation.xamExpenses_CellUpdated(Object,CellUpdatedEventArgs)

SaveRecord() 327

Pegasus.PRCI.UIElements.PRCICosting.SaveRecord()

Sum:4

824

Average: 482.4

Minimum: 327

Maximum: 801

Standard deviation:16

3.65

Page 21: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

Variance:26 78

1

WARNING: The following CQL constraint is not satisfied. 10 methods on 10763 tested match the condition. --> Group {Code Quality} // <Name>Methods too big (NbILInstructions)</Name>WARN IF Count > 0 IN SELECT TOP 10 METHODS WHERE   NbILInstructions > 200   ORDER BY NbILInstructions DESC

// METHODS WHERE NbILInstructions > 200 are extremely complex // and should be split in smaller methods // (except if they are automatically generated by a tool).// See the definition of the NbILInstructions metric here // http://www.ndepend.com/Metrics.aspx#NbILInstructions

methods

# IL instructions

Full Name

ApplyReportsTabSecurity() 4 585 Pegasus.Main.RibbonMenuTest.ApplyReportsTabSecurity()

System.Windows.Markup.IComponentConnector.Connect(Int32,Object)

4 358Pegasus.Main.RibbonMenuTest.System.Windows.Markup.IComponentConnector.Connect(Int32,Object)

IntialLoad() 3 892 Pegasus.Main.RptFreight.IntialLoad()

xamExpenses_CellUpdated(Object,CellUpdatedEventArgs) 3 870

Pegasus.ShippingLine.UIElements.SHQuotation.xamExpenses_CellUpdated(Object,CellUpdatedEventArgs)

xamExpenses_CellUpdated(Object,CellUpdatedEventArgs) 3 177

Pegasus.FlightCargo.UIElements.Quotation.xamExpenses_CellUpdated(Object,CellUpdatedEventArgs)

intialLoad() 3 061 Pegasus.Main.RPTFLC.intialLoad()

cboJobCard_SelectionChanged(Object,SelectionChangedEventArgs) 3 028

Pegasus.PRCI.UIElements.PRCICosting.cboJobCard_SelectionChanged(Object,SelectionChangedEventArgs)

CheckGrid() 2 866 Pegasus.Warehouse.UIElements.WHConBreaking.CheckGrid()

ValidateRecord() 2 636 Pegasus.General.UIElements.Cargo.RateMaster.ValidateRecord()

SaveRecord() 2 452 Pegasus.PRCI.UIElements.PRCICosting.SaveRecord()

Sum: 33 925

Average: 3 392

Minimum: 2 452

Page 22: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

Maximum: 4 585

Standard deviation: 696.78

Variance: 485 497

WARNING: The following CQL constraint is not satisfied. 10 methods on 10763 tested match the condition. --> Group {Code Quality} // <Name>Methods too complex (ILCyclomaticComplexity)</Name>WARN IF Count > 0 IN SELECT TOP 10 METHODS WHERE   ILCyclomaticComplexity > 40   ORDER BY ILCyclomaticComplexity DESC

// METHODS WHERE ILCyclomaticComplexity > 20 // are hard to understand and maintain.// METHODS WHERE ILCyclomaticComplexity > 40 // are extremely complex and should be split // in smaller methods // (except if they are automatically generated by a tool).// See the definition of the ILCyclomaticComplexity metric here // http://www.ndepend.com/Metrics.aspx#ILCC

methods

IL Cyclomatic Complexity (ILCC)

Full Name

System.Windows.Markup.IComponentConnector.Connect(Int32,Object)

561Pegasus.Main.RibbonMenuTest.System.Windows.Markup.IComponentConnector.Connect(Int32,Object)

xamExpenses_CellUpdated(Object,CellUpdatedEventArgs) 268

Pegasus.ShippingLine.UIElements.SHQuotation.xamExpenses_CellUpdated(Object,CellUpdatedEventArgs)

ApplyReportsTabSecurity() 245 Pegasus.Main.RibbonMenuTest.ApplyReportsTabSecurity()

xamExpenses_CellUpdated(Object,CellUpdatedEventArgs) 194

Pegasus.FlightCargo.UIElements.Quotation.xamExpenses_CellUpdated(Object,CellUpdatedEventArgs)

SaveRecord() 191 Pegasus.Accounts.UIElements.PostunPost.SaveRecord()

GetWHConBreakDetail() 185 Pegasus.Warehouse.UIElements.WHConBreaking.GetWHConBreakDetail()

cboJobCard_SelectionChanged(Object,SelectionChangedEventArgs) 184

Pegasus.PRCI.UIElements.PRCICosting.cboJobCard_SelectionChanged(Object,SelectionChangedEventArgs)

Page 23: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

GetExpensesFromGrid() 177 Pegasus.TMS.UIElements.TMSQuotation.GetExpensesFromGrid()

SaveRecord() 163 Pegasus.PRCI.UIElements.PRCICosting.SaveRecord()

xamExpenses_CellUpdated(Object,CellUpdatedEventArgs) 156

Pegasus.Warehouse.UIElements.WHQuotation.xamExpenses_CellUpdated(Object,CellUpdatedEventArgs)

Sum: 2 324

Average: 232.4

Minimum: 156

Maximum: 561

Standard deviation: 114.41

Variance: 13 090

WARNING: The following CQL constraint is not satisfied. 10 methods on 10763 tested match the condition. --> Group {Code Quality} // <Name>Methods too complex (ILNestingDepth)</Name>WARN IF Count > 0 IN SELECT TOP 10 METHODS WHERE   ILNestingDepth > 4   ORDER BY ILNestingDepth DESC

// METHODS WHERE ILNestingDepth > 4 are hard // to understand and maintain. // METHODS WHERE ILNestingDepth > 8 is higher // than 8 are extremely complex // and should be split in smaller methods // (except if they are automatically generated by a tool). // See the definition of the NbILInstructions metric here // http://www.NDepend.com/Metrics.aspx#ILNestingDepth

methods

IL Nesting Depth

Full Name

MakeChargeCodeList(Boolean,Int32,Int32,Int32,Int32,Int32,Int32,Int32)

21Pegasus.TMS.UIElements.TMSQuotation.MakeChargeCodeList(Boolean,Int32,Int32,Int32,Int32,Int32,Int32,Int32)

CheckGrid() 20 Pegasus.Warehouse.UIElements.WHConMoveHead.CheckGrid()

MakeChargeCodeList(Boolean,Int32,Int32,Int32,Int32,Decimal) 19

Pegasus.ShippingLine.UIElements.SHQuotation.MakeChargeCodeList(Boolean,Int32,Int32,Int32,Int32,Decimal)

MakeChargeCodeList(Boolean,Int32,Int32,Int32,Int32,Decimal)

18 Pegasus.NVOCC.UIElements.NVQuotation.MakeChargeCodeList(Boolean,Int32,Int32,Int32,Int32,Decimal)

Page 24: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

MakeChargeCodeList(Boolean,Int32,Int32,Int32,Int32,Decimal,Int32)

17Pegasus.Handlers.QuotationHandler.MakeChargeCodeList(Boolean,Int32,Int32,Int32,Int32,Decimal,Int32)

xamWHConBreakDetail_CellActivating(Object,CellActivatingEventArgs)

17Pegasus.Warehouse.UIElements.WHConBreaking.xamWHConBreakDetail_CellActivating(Object,CellActivatingEventArgs)

CheckGrid() 17 Pegasus.Warehouse.UIElements.WHConBreaking.CheckGrid()

MakeChargeCodeList(Boolean,Int32,Int32,Int32,Int32,Decimal)

17 Pegasus.FlightCargo.UIElements.Quotation.MakeChargeCodeList(Boolean,Int32,Int32,Int32,Int32,Decimal)

CheckGrid() 14 Pegasus.General.UIElements.Central.PRCIDocDefMaster.CheckGrid()

Control_GotFocusExcludeGrids(Object,RoutedEventArgs)

13 Pegasus.General.EventMethods.Control_GotFocusExcludeGrids(Object,RoutedEventArgs)

Sum: 173

Average: 17.3

Minimum: 13

Maximum: 21

Standard deviation: 2.3259

Variance: 5.41

WARNING: The following CQL constraint is not satisfied. 10 methods on 10763 tested match the condition. --> Group {Code Quality} // <Name>Methods poorly commented (PercentageComment)</Name>WARN IF Count > 0 IN SELECT TOP 10 METHODS WHERE   PercentageComment < 20 AND   NbLinesOfCode > 10    ORDER BY PercentageComment ASC

// METHODS WHERE %Comment < 20 and that have // at least 10 lines of code should be more commented.// See the definition of the PercentageComment metric here // http://www.ndepend.com/Metrics.aspx#PercentageComment

methods

Percentage Comment

# lines of code (LOC)

Full Name

cboClient_KeyDown(Object,KeyEventArgs)

N/A 16 Pegasus.Cargo.UIElements.CustomerInquiry.cboClient_KeyDown(Object,KeyEventArgs)

Page 25: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

ShowRecordFromList(Object,MouseButtonEventArgs)

N/A 52 Pegasus.Cargo.UIElements.CustomerInquiry.ShowRecordFromList(Object,MouseButtonEventArgs)

ValidateRecord() N/A 47 Pegasus.Cargo.UIElements.CustomerInquiry.ValidateRecord()

EvalKeyDown(Object,KeyEventArgs)

N/A 16 Pegasus.Cargo.UIElements.CustomerInquiry.EvalKeyDown(Object,KeyEventArgs)

TypeKeyDown(Object,KeyEventArgs)

N/A 16 Pegasus.Cargo.UIElements.CustomerInquiry.TypeKeyDown(Object,KeyEventArgs)

CategoryKeyDown(Object,KeyEventArgs)

N/A 16 Pegasus.Cargo.UIElements.CustomerInquiry.CategoryKeyDown(Object,KeyEventArgs)

SaveRecord() N/A 36 Pegasus.Cargo.UIElements.CustomerInquiry.SaveRecord()

EnableDisable(Boolean) N/A 18 Pegasus.Cargo.UIElements.CustomerInquiry.EnableDisable(Boolean)

FindRecord() N/A 57 Pegasus.Cargo.UIElements.CustomerInquiry.FindRecord()

IsPrefixExists(Int32,Int32,Int32,String,Int32)

N/A 15 Pegasus.Cargo.UIElements.CustomerInquiry.IsPrefixExists(Int32,Int32,Int32,String,Int32)

Sum: 0 289

Average: 0 28.9

Minimum: 0 15

Maximum: 0 57

Standard deviation: 0 16.367

Variance: 0 267.89

WARNING: The following CQL constraint is not satisfied. 10 methods on 10763 tested match the condition. --> Group {Code Quality} // <Name>Methods with too many parameters (NbParameters)</Name>WARN IF Count > 0 IN SELECT TOP 10 METHODS WHERE   NbParameters > 5   ORDER BY NbParameters DESC

// METHODS WHERE NbParameters > 5 might be painful to call // and might degrade performance. You should prefer using // additional properties/fields to the declaring type to // handle numerous states. Another alternative is to provide // a class or structure dedicated to handle arguments passing // (for example see the class System.Diagnostics.ProcessStartInfo // and the method System.Diagnostics.Process.Start(ProcessStartInfo))// See the definition of the NbParameters metric here // http://www.ndepend.com/Metrics.aspx#NbParameters

methods # P

Full Name

Page 26: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

arameters

UpdateTransactionDetail(WHJobCardHead,Commodity,WHMaster,WHRack,WHLocation,Units,Boolean,Boolean,Int32,Int32)

10

Pegasus.Warehouse.UIElements.WHCommercialInvoice.UpdateTransactionDetail(WHJobCardHead,Commodity,WHMaster,WHRack,WHLocation,Units,Boolean,Boolean,Int32,Int32)

CCUpdateSpaceAllocation(WHJobCardHead,Commodity,WHMaster,WHRack,WHLocation,Units,Boolean,Boolean,Int32,Int32)

10

Pegasus.Warehouse.UIElements.WHDeliveryOrder.CCUpdateSpaceAllocation(WHJobCardHead,Commodity,WHMaster,WHRack,WHLocation,Units,Boolean,Boolean,Int32,Int32)

.ctor(ServerInfoHeader,String,ExtensionSettings,DataRetrievalPlan,String,ActiveState,String,String,String,ParameterValueOrFieldReference[])

10

Pegasus.Main.RSServiceReference05.GetDataDrivenSubscriptionPropertiesResponse..ctor(ServerInfoHeader,String,ExtensionSettings,DataRetrievalPlan,String,ActiveState,String,String,String,ParameterValueOrFieldReference[])

UpdateSpaceAllocation(WHJobCardHead,Commodity,WHMaster,WHRack,WHLocation,Units,Boolean,Boolean,Int32,Int32)

10

Pegasus.Warehouse.UIElements.WHCommercialInvoice.UpdateSpaceAllocation(WHJobCardHead,Commodity,WHMaster,WHRack,WHLocation,Units,Boolean,Boolean,Int32,Int32)

GetDataDrivenSubscriptionProperties(String,String&,ExtensionSettings&,DataRetrievalPlan&,String&,ActiveState&,String&,String&,String&,ParameterValueOrFieldReference[]&)

10

Pegasus.Main.RSServiceReference05.ReportingService2005SoapClient.GetDataDrivenSubscriptionProperties(String,String&,ExtensionSettings&,DataRetrievalPlan&,String&,ActiveState&,String&,String&,String&,ParameterValueOrFieldReference[]&)

CreateDataDrivenSubscription(BatchHeader,String,ExtensionSettings,DataRetrievalPlan,String,String,String,ParameterValueOrFieldReference[],String&)

9

Pegasus.Main.RSServiceReference05.ReportingService2005SoapClient.CreateDataDrivenSubscription(BatchHeader,String,ExtensionSettings,DataRetrievalPlan,String,String,String,ParameterValueOrFieldReference[],String&)

.ctor(ServerInfoHeader,String,ExtensionSettings,String,ActiveState,String,String,String,ParameterValue[])

9

Pegasus.Main.RSServiceReference05.GetSubscriptionPropertiesResponse..ctor(ServerInfoHeader,String,ExtensionSettings,String,ActiveState,String,String,String,ParameterValue[])

GetSubscriptionProperties(String,String&,ExtensionSettings&,String&,ActiveState&,String&,String&,String&,ParameterValue[]&)

9

Pegasus.Main.RSServiceReference05.ReportingService2005SoapClient.GetSubscriptionProperties(String,String&,ExtensionSettings&,String&,ActiveState&,String&,String&,String&,ParameterValue[]&)

MakeChargeCodeList(Boolean,Int32,Int32,Int32,Int32,Int32,Int32,Int32) 8

Pegasus.TMS.UIElements.TMSQuotation.MakeChargeCodeList(Boolean,Int32,Int32,Int32,Int32,Int32,Int32,Int32)

.ctor(BatchHeader,String,ExtensionSettings,DataRetrievalPlan,String,String,String,ParameterValueOrFieldReference[])

8

Pegasus.Main.RSServiceReference05.CreateDataDrivenSubscriptionRequest..ctor(BatchHeader,String,ExtensionSettings,DataRetrievalPlan,String,String,String,ParameterValueOrFieldReference[])

Sum: 93

Page 27: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

Average: 9.3

Minimum: 8

Maximum: 10

Standard deviation:

0.7810

2

Variance: 0.61

WARNING: The following CQL constraint is not satisfied. 10 methods on 10763 tested match the condition. --> Group {Code Quality} // <Name>Methods with too many local variables (NbVariables)</Name>WARN IF Count > 0 IN SELECT TOP 10 METHODS WHERE   NbVariables > 15   ORDER BY NbVariables DESC

// METHODS WHERE NbVariables > 8 are hard to understand and maintain.// METHODS WHERE NbVariables > 15 are extremely complex // and should be split in smaller methods // (except if they are automatically generated by a tool).// See the definition of the Nbvariables metric here // http://www.ndepend.com/Metrics.aspx#Nbvariables

methods

# Variables

Full Name

xamWHConBreakDetail_CellActivating(Object,CellActivatingEventArgs)

55Pegasus.Warehouse.UIElements.WHConBreaking.xamWHConBreakDetail_CellActivating(Object,CellActivatingEventArgs)

xamWHConMoveDetail_CellActivating(Object,CellActivatingEventArgs)

53Pegasus.Warehouse.UIElements.WHConMoveHead.xamWHConMoveDetail_CellActivating(Object,CellActivatingEventArgs)

xamDgGrn_CellActivating(Object,CellActivatingEventArgs)

39 Pegasus.Warehouse.UIElements.WHGRN.xamDgGrn_CellActivating(Object,CellActivatingEventArgs)

xamExpenses_CellUpdated(Object,CellUpdatedEventArgs)

37 Pegasus.TMS.UIElements.TMSQuotation.xamExpenses_CellUpdated(Object,CellUpdatedEventArgs)

CheckGrid() 34 Pegasus.Warehouse.UIElements.WHConMoveHead.CheckGrid()

btnGenerateEDI_Click(Object,RoutedEventArgs)

33 Pegasus.ShippingLine.UIElements.SHManifest.btnGenerateEDI_Click(Object,RoutedEventArgs)

btnGenerateEDI_Click(Object,RoutedEventArgs)

33 Pegasus.NVOCC.UIElements.NVManifest.btnGenerateEDI_Click(Object,RoutedEventArgs)

SaveVoucher() 32 Pegasus.PRCI.UIElements.PRCIInvoice.SaveVoucher()

SetAirFreight() 31 Pegasus.Handlers.CnFJobCardHandler.SetAirFreight()

Page 28: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

LoadControl() 31 Pegasus.Handlers.CnFJobCardHandler.LoadControl()

Sum: 378

Average: 37.8

Minimum: 31

Maximum: 55

Standard deviation: 8.4593

Variance: 71.56

WARNING: The following CQL constraint is not satisfied. 10 types on 1155 tested match the condition. --> Group {Code Quality \ Type Metrics} // <Name>Types with too many methods</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE   NbMethods > 20   ORDER BY NbMethods DESC

// TYPES WHERE NbMethods > 20 might be hard to // understand and maintain // but there might be cases where it is relevant // to have a high value for NbMethods. // For example, the System.Windows.Forms.DataGridView // standard class has more than 1000 methods.// See the definition of the NbMethods metric here // http://www.ndepend.com/Metrics.aspx#NbMethods

types# Methods

Full Name

ReportingService2005SoapClient

211 Pegasus.Main.RSServiceReference05.ReportingService2005SoapClient

HouseBillofLading 108 Pegasus.Cargo.UIElements.HouseBillofLading

MasterBillofLading 107 Pegasus.Cargo.UIElements.MasterBillofLading

ReportingService2005Soap

103 Pegasus.Main.RSServiceReference05.ReportingService2005Soap

RptMIS 101 Pegasus.Main.RptMIS

TreeViewBase<T> 100 Pegasus.Controls.TreeViewBase<T>

NVJobCard 98 Pegasus.NVOCC.UIElements.NVJobCard

SHJobCard 95 Pegasus.ShippingLine.UIElements.SHJobCard

Resources 84 Pegasus.Common.Properties.Resources

WHJobCard 81 Pegasus.Warehouse.UIElements.WHJobCard

Sum: 1 088

Average: 108.8

Minimum: 81

Page 29: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

Maximum: 211

Standard deviation: 35.094

Variance: 1 231

WARNING: The following CQL constraint is not satisfied. 10 types on 1155 tested match the condition. --> Group {Code Quality \ Type Metrics} // <Name>Types with too many fields</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE   NbFields > 20 AND   !IsEnumeration   ORDER BY NbFields DESC

// TYPES WHERE NbFields > 20 AND !IsEnumeration // might be hard to understand and maintain // but there might be cases where it is relevant // to have a high value for NbFields. // For example, the System.Windows.Forms.Control // standard class has more than 200 fields. // The value of the metric NbFields might be a better // indicator of complex type.// See the definition of the NbFields metric here // http://www.ndepend.com/Metrics.aspx#NbFields

types # Fields

Full Name

RibbonMenuTest 558 Pegasus.Main.RibbonMenuTest

JobCard 151 Pegasus.Cargo.UIElements.JobCard

RPTFLC 148 Pegasus.Main.RPTFLC

RptFreight 138 Pegasus.Main.RptFreight

NVJobCard 137 Pegasus.NVOCC.UIElements.NVJobCard

RptMain 127 Pegasus.Main.RptMain

SHJobCard 121 Pegasus.ShippingLine.UIElements.SHJobCard

HouseBillofLading

112 Pegasus.Cargo.UIElements.HouseBillofLading

NVHBL 108 Pegasus.NVOCC.UIElements.NVHBL

NVMBL 108 Pegasus.NVOCC.UIElements.NVMBL

Sum: 1 708

Average: 170.8

Minimum: 108

Maximum: 558

Standard deviation:

129.92

Variance: 16 879

Page 30: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

WARNING: The following CQL constraint is not satisfied. 10 types on 1155 tested match the condition. --> Group {Code Quality \ Type Metrics} // <Name>Types with poor cohesion (LCOM)</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE   LCOM > 0.8 AND   NbFields > 10 AND   NbMethods >10   ORDER BY LCOM DESC

// TYPES WHERE LCOM > 0.8 AND NbFields > 10 // AND NbMethods >10 might be problematic. // However, it is very hard to avoid such // non-cohesive types. The LCOMHS metric// is often considered as more efficient to // detect non-cohesive types.// See the definition of the LCOM metric here // http://www.ndepend.com/Metrics.aspx#LCOM

types

Lack of Cohesion Of Methods (LCOM)

# Fields

# Methods

Full Name

NVJobCard 0.97334 137 98 Pegasus.NVOCC.UIElements.NVJobCard

SHInventry 0.97276 45 31 Pegasus.ShippingLine.UIElements.SHInventry

NVInventry 0.97276 45 31 Pegasus.NVOCC.UIElements.NVInventry

SHJobCard 0.97155 121 95 Pegasus.ShippingLine.UIElements.SHJobCard

MasterBillofLading

0.96742 105 107 Pegasus.Cargo.UIElements.MasterBillofLading

HouseBillofLading

0.96718 112 108 Pegasus.Cargo.UIElements.HouseBillofLading

SHHBL 0.96681 108 77 Pegasus.ShippingLine.UIElements.SHHBL

NVHBL 0.96681 108 77 Pegasus.NVOCC.UIElements.NVHBL

NVMBL 0.96681 108 77 Pegasus.NVOCC.UIElements.NVMBL

SHMBL 0.96681 108 77 Pegasus.ShippingLine.UIElements.SHMBL

Sum: 9.6923 997 778

Average: 0.96923 99.7 77.8

Minimum: 0.96681 45 31

Maximum: 0.97334 137 108

Standard deviation:

0.0027582 28.782

26.176

Variance: 7.607416E-06 828.41

685.16

Page 31: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

WARNING: The following CQL constraint is not satisfied. 10 types on 1155 tested match the condition. --> Group {Code Quality \ Type Metrics} // <Name>Types with poor cohesion (LCOMHS)</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE   LCOMHS > 0.95 AND   NbFields > 10 AND   NbMethods >10   ORDER BY LCOMHS DESC

// TYPES WHERE LCOMHS > 1.0 AND NbFields > 10 AND // NbMethods >10 should be avoided. // Note that this constraint is stronger // than the constraint // TYPES WHERE LCOM > 0.8 AND NbFields > 10 AND NbMethods >10. // See the definition of the LCOMHS metric here // http://www.ndepend.com/Metrics.aspx#LCOMHS

types

LCOM Henderson-Sellers (LCOMHS)

# Fields

# Methods

Full Name

NVInventry 1.0052 45 31 Pegasus.NVOCC.UIElements.NVInventry

SHInventry 1.0052 45 31 Pegasus.ShippingLine.UIElements.SHInventry

NVJobCard 0.98337 137 98 Pegasus.NVOCC.UIElements.NVJobCard

SHJobCard 0.98189 121 95 Pegasus.ShippingLine.UIElements.SHJobCard

ReportParameter

0.97961 25 52 Pegasus.Main.RSServiceReference05.ReportParameter

NVMBL 0.97953 108 77 Pegasus.NVOCC.UIElements.NVMBL

NVHBL 0.97953 108 77 Pegasus.NVOCC.UIElements.NVHBL

SHMBL 0.97953 108 77 Pegasus.ShippingLine.UIElements.SHMBL

SHHBL 0.97953 108 77 Pegasus.ShippingLine.UIElements.SHHBL

MasterBillofLading

0.97655 105 107 Pegasus.Cargo.UIElements.MasterBillofLading

Sum: 9.8499 910 722

Average: 0.98499 91 72.2

Minimum: 0.97655 25 31

Maximum: 1.0052 137 107

Standard deviation:

0.010229 35.994

25.083

Variance: 0.00010462

1 295 629.16

Page 32: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

WARNING: The following CQL constraint is not satisfied. 1 assemblies on 33 tested match the condition. --> Group {Design} // <Name>Assembly should not contain namespaces dependency cycles</Name>WARN IF Count > 0 IN SELECT TOP 10 ASSEMBLIES WHEREContainsNamespaceDependencyCycle

// Dependency cycles between namespaces must be avoided// in order to have a levelized and comprehensive design.// More info available on the screencast 'Reduce the complexity'// http://s3.amazonaws.com/NDependOnlineDemos/NDependReducingComplexity_viewlet_swf.html// You can also read this article// http://www.theserverside.net/tt/articles/showarticle.tss?id=ControllingDependencies

// For any assembly matched, to display internal namespaces dependency cycle(s),// just right-click the assembly and select://   --> View internal Dependency Cycles on Graph   ... or ...//   --> View internal Dependency Cycles on Matrix (Recommended)//  In the Matrix, dependency cycles are represented with red squares and black cells.//  To browse easily dependency cycles, the Matrix comes with the option://   --> Display Direct and Indirect Dependencies    

assemblies # lines of code (LOC)

Full Name

Pegasus.Cargo 20 358 Pegasus.Cargo

Sum: 20 358

Average: 20 358

Minimum: 20 358

Maximum: 20 358

Standard deviation:

NaN

Variance: -4

WARNING: The following CQL constraint is not satisfied. 10 types on 638 tested match the condition. --> Group {Design} // <Name>Type should not have too many responsabilities (Efferent Coupling)</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE   TypeCe > 50   ORDER BY TypeCe DESC 

// The Efferent Coupling (TypeCe) for a particular type is // the number of types it directly depends on. Notice that // types declared in third party assemblies are taken into account. 

// Types that depends on too many others type (more than 50) // are complex and have more than one responsability. They 

Page 33: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

// are good candidate for refactoring.

// More information available in this article:// http://codebetter.com/blogs/patricksmacchia/archive/2008/02/15/code-metrics-on-coupling-dead-code-design-flaws-and-re-engineering.aspx

types

Efferent coupling (TypeCe)

Full Name

ReportingService2005SoapClient

262 Pegasus.Main.RSServiceReference05.ReportingService2005SoapClient

ReportingService2005Soap

211 Pegasus.Main.RSServiceReference05.ReportingService2005Soap

Quotation 158 Pegasus.Cargo.UIElements.Quotation

NVJobCard 154 Pegasus.NVOCC.UIElements.NVJobCard

SHJobCard 151 Pegasus.ShippingLine.UIElements.SHJobCard

CustomerInquiry 149 Pegasus.Cargo.UIElements.CustomerInquiry

NVQuotation 147 Pegasus.NVOCC.UIElements.NVQuotation

WHQuotation 144 Pegasus.Warehouse.UIElements.WHQuotation

SHQuotation 144 Pegasus.ShippingLine.UIElements.SHQuotation

PRCICosting 141 Pegasus.PRCI.UIElements.PRCICosting

Sum: 1 661

Average: 166.1

Minimum: 141

Maximum: 262

Standard deviation: 37.305

Variance: 1 391

WARNING: The following CQL constraint is not satisfied. 10 types on 1155 tested match the condition. --> Group {Design} // <Name>A stateless class or structure might be turned into a static type</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE  SizeOfInst ==0 AND

  // For accuracy, this constraint doesn't take  // account of types that implement some interfaces.  // and classes that have a base class and don't  // derive directly from System.Object, or classes  // that have sub-classes children.    NbInterfacesImplemented == 0 AND                             ((IsClass AND DepthOfInheritance == 1   

Page 34: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

            AND NbChildren == 0)              OR IsStructure) AND                     !IsStatic AND  !IsGeneric  // this rule indicates stateless types that might   // eventually be turned into static classes.  // See the definition of the SizeOfInst metric here   // http://www.ndepend.com/Metrics.aspx#SizeOfInst

types

Size of instance

# interfaces implemented

Depth of inheritance

# Children

Full Name

clsNHiber 0 0 1 0 Pegasus.Common.clsNHiber

Resources 0 0 1 0 Pegasus.Common.Properties.Resources

Resource 0 0 1 0 Pegasus.Common.Languages.Resource

Message 0 0 1 0 Pegasus.Controls.Message

MessageBox 0 0 1 0 Pegasus.Controls.MessageBox

Resources 0 0 1 0 Pegasus.Controls.Properties.Resources

ExplicitBindingLibrary

0 0 1 0 Pegasus.SearchEngine.ExplicitBindingLibrary

Resources 0 0 1 0 Pegasus.SearchEngine.Properties.Resources

sGlobal 0 0 1 0 Pegasus.General.sGlobal

EventMethods 0 0 1 0 Pegasus.General.EventMethods

Sum: 0 0 10 0

Average: 0 0 1 0

Minimum: 0 0 1 0

Maximum: 0 0 1 0

Standard deviation:

0 0 0 0

Variance: 0 0 0 0

WARNING: The following CQL constraint is not satisfied. 10 types on 1155 tested match the condition. --> Group {Design} // <Name>Class shouldn't be too deep in inheritance tree </Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE   DepthOfInheritance >= 6   ORDER BY DepthOfInheritance DESC 

// Branches too long in the derivation should be avoided.// See the definition of the DepthOfInheritance metric here 

Page 35: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

// http://www.ndepend.com/Metrics.aspx#DIT // You can discard specific classes with by-design high // DepthOfInheritance with such condition for example:// AND !DeriveFrom "System.Windows.Forms.Form" 

types Depth of inheritance

Full Name

CategoryTree 10 Pegasus.Controls.CategoryTree

MenuExpander 10 Pegasus.Main.MenuExpander

NavigationMain 10 Pegasus.Main.NavigationMain

frmFrameAddNew 9 Pegasus.SearchEngine.frmFrameAddNew

Buttons 9 Pegasus.Controls.Buttons

frmWinUltraGrid 9 Pegasus.SearchEngine.frmWinUltraGrid

TreeView 9 Pegasus.General.Controls.TreeView

AuthenticationPrompt

9 Pegasus.Controls.AuthenticationPrompt

TreeViewBase<T> 9 Pegasus.Controls.TreeViewBase<T>

PegasusMessageBox

9 Pegasus.Controls.PegasusMessageBox

Sum: 93

Average: 9.3

Minimum: 9

Maximum: 10

Standard deviation: 0.45825

Variance: 0.21

WARNING: The following CQL constraint is not satisfied. 10 types on 1155 tested match the condition. --> Group {Design} // <Name>Class with no descendant should be sealed if possible</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE   IsClass AND   NbChildren ==0 AND   !IsSealed AND   !IsStatic   // AND !IsPublic <-- You might want to add this condition   //                   if you are developping a framework  //                   with classes that are intended to be   //                   sub-classed by your clients.  ORDER BY NbLinesOfCode

types # Children

# lines of cod

Full Name

Page 36: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

e (LOC)

CodeDesc 0 0 Pegasus.Warehouse.UIElements.CodeDesc

WHJobCosting+CodeDesc 0 0 Pegasus.Warehouse.UIElements.WHJobCosting+CodeDesc

SHCosting+CodeDesc 0 0 Pegasus.ShippingLine.UIElements.SHCosting+CodeDesc

SHEstimation+CodeDesc 0 0 Pegasus.ShippingLine.UIElements.SHEstimation+CodeDesc

SHContainerTracking+CodeDesc

0 0 Pegasus.ShippingLine.UIElements.SHContainerTracking+CodeDesc

InvalidDataSourceReference

0 0 Pegasus.Main.RSServiceReference05.InvalidDataSourceReference

NVQuotation+CodeDesc 0 0 Pegasus.NVOCC.UIElements.NVQuotation+CodeDesc

Voucher+CodeDesc 0 0 Pegasus.Accounts.UIElements.Voucher+CodeDesc

NVEstimation+CodeDesc 0 0 Pegasus.NVOCC.UIElements.NVEstimation+CodeDesc

NVContainerTracking+CodeDesc

0 0 Pegasus.NVOCC.UIElements.NVContainerTracking+CodeDesc

Sum: 0 0

Average: 0 0

Minimum: 0 0

Maximum: 0 0

Standard deviation: 0 0

Variance: 0 0

WARNING: The following CQL constraint is not satisfied. 10 types on 1155 tested match the condition. --> Group {Design} // <Name>Classes that are candidate to be turned into Structures</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE   IsClass AND  !IsStatic AND  SizeOfInst > 0 AND  SizeOfInst <= 16 AND    // Structure instance must not be too big,                           // else it degrades performance.

  NbChildren == 0 AND     // Must not have children

  DepthOfInheritance == 1 // Must derive directly from System.Object

  // AND IsSealed    <-- You might want to add this condition   //                     to restreint the set.  // AND IsImmutable <-- Structures should be immutable type.

Page 37: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

  // AND !IsPublic   <-- You might want to add this condition if   //                     you are developping a framework with classes   //                     that are intended to be sub-classed by   //                     your clients.

types

Size of instance

# Children

Depth of inheritance

Full Name

Common 10 0 1 Pegasus.Common.Common

ItemMonitor<T> 12 0 1 Pegasus.Controls.ItemMonitor<T>

TreeLayout 8 0 1 Pegasus.Controls.TreeLayout

Convertor 12 0 1 Pegasus.General.Convertor

Voucher+CodeDesc 8 0 1 Pegasus.Accounts.UIElements.Voucher+CodeDesc

SalesTaxCalculationType

8 0 1 Pegasus.NVOCC.UIElements.SalesTaxCalculationType

NVEstimation+CodeDesc

8 0 1 Pegasus.NVOCC.UIElements.NVEstimation+CodeDesc

NVCosting+CodeDesc 8 0 1 Pegasus.NVOCC.UIElements.NVCosting+CodeDesc

NVContainerTracking+CodeDesc

8 0 1 Pegasus.NVOCC.UIElements.NVContainerTracking+CodeDesc

WHJobCosting+CodeDesc

8 0 1 Pegasus.Warehouse.UIElements.WHJobCosting+CodeDesc

Sum: 90 0 10

Average: 9 0 1

Minimum: 8 0 1

Maximum: 12 0 1

Standard deviation: 1.6125

0 0

Variance: 2.6 0 0

WARNING: The following CQL constraint is not satisfied. 10 namespaces on 124 tested match the condition. --> Group {Design} // <Name>Avoid namespaces with few types</Name>WARN IF Count > 0 IN SELECT TOP 10 NAMESPACES WHERE   NbTypes < 5   ORDER BY NbTypes ASC 

// Make sure that there is a logical organization // to each of your namespaces, and that there is a // valid reason for putting types in a sparsely // populated namespace. Namespaces should contain // types that are used together in most scenarios. 

Page 38: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

// When their applications are mutually exclusive, // types should be located in separate namespaces

namespaces # Types

Full Name

Pegasus.RibbonClasses.Util 1 Pegasus.RibbonClasses.Util

Pegasus.General.UIElements 1 Pegasus.General.UIElements

Pegasus.Main.Security 1 Pegasus.Main.Security

Pegasus.General.UIElements.Inventory

1 Pegasus.General.UIElements.Inventory

Pegasus 1 Pegasus

Pegasus 1 Pegasus

Pegasus.Job 1 Pegasus.Job

Pegasus.Common.Languages 1 Pegasus.Common.Languages

Pegasus.Common.Properties 1 Pegasus.Common.Properties

Pegasus.Common.Utilities 1 Pegasus.Common.Utilities

Sum: 10

Average: 1

Minimum: 1

Maximum: 1

Standard deviation: 0

Variance: 0

WARNING: The following CQL constraint is not satisfied. 10 types on 1155 tested match the condition. --> Group {Design} // <Name>Nested types should not be visible</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE   IsNested AND   !IsPrivate AND   !IsInFrameworkAssembly 

// A nested type is a type declared within the // scope of another type. Nested types are useful // for encapsulating private implementation details // of the containing type. Used for this purpose, // nested types should not be externally visible. // Do not use externally visible nested types for // logical grouping or to avoid name collisions; // instead, use namespaces.

types # lines of code (LOC)

Full Name

Common+ComboType N/A Pegasus.Common.Common+ComboType

Message+DialogResult N/A Pegasus.Controls.Message+DialogResult

Message+MessageBoxBu N/A Pegasus.Controls.Message+MessageBoxButtons

Page 39: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

ttons

Message+MessageBoxImage

N/A Pegasus.Controls.Message+MessageBoxImage

Buttons+ButtonsMode N/A Pegasus.Controls.Buttons+ButtonsMode

sGlobal+pParams 0 Pegasus.General.sGlobal+pParams

TreeView+TypeSearch N/A Pegasus.General.Controls.TreeView+TypeSearch

NVQuotation+CodeDesc 0 Pegasus.NVOCC.UIElements.NVQuotation+CodeDesc

SHQuotation+CodeDesc 0 Pegasus.ShippingLine.UIElements.SHQuotation+CodeDesc

QuotationHandler+CodeDesc

0 Pegasus.Handlers.QuotationHandler+CodeDesc

Sum: 0

Average: 0

Minimum: 0

Maximum: 0

Standard deviation: 0

Variance: 0

WARNING: The following CQL constraint is not satisfied. 1 types on 1155 tested match the condition. --> Group {Design} // <Name>Avoid empty interfaces</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE   IsInterface AND   NbMethods == 0

// Interfaces define members that provide a behavior // or usage contract. The functionality described by // the interface can be adopted by any type, // regardless of where the type appears in the // inheritance hierarchy. A type implements an // interface by providing implementations for the // interface's members. An empty interface does not // define any members, and as such, does not define // a contract that can be implemented.

// If your design includes empty interfaces that // types are expected to implement, you are probably // using an interface as a marker, or a way of // identifying a group of types. If this identification // will occur at runtime, the correct way to accomplish// this is to use a custom attribute. Use the presence // or absence of the attribute, or the attribute's // properties, to identify the target types. If the // identification must occurs at compile time, then using // an empty interface is acceptable.

types # Full Name

Page 40: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

Methods

ReportingService2005SoapChannel

0 Pegasus.Main.RSServiceReference05.ReportingService2005SoapChannel

Sum: 0

Average: 0

Minimum: 0

Maximum: 0

Standard deviation: 0

Variance: 0

WARNING: The following CQL constraint is not satisfied. 6 assemblies on 33 tested match the condition. --> Group {Design} // <Name>Assemblies with poor cohesion (RelationalCohesion)</Name>WARN IF Count > 0 IN SELECT TOP 10 ASSEMBLIES WHERE   NbTypes > 20 AND // Relational Cohesion metrics is relevant only if there are several types   (RelationalCohesion < 1.5 OR    RelationalCohesion > 4.0)

// As classes inside an assembly should be strongly related, // the cohesion should be high. On the other hand, a value // which is too high may indicate over-coupling. A good range // for RelationalCohesion is 1.5 to 4.0.// See the definition of the RelationalCohesion metric here // http://www.ndepend.com/Metrics.aspx#RelationalCohesion

assemblies # Types

Relational cohesion

Full Name

Pegasus.Accounts 23 0.17391 Pegasus.Accounts

Pegasus.NVOCC 24 0.375 Pegasus.NVOCC

Pegasus.Warehouse

22 0.22727 Pegasus.Warehouse

Pegasus.ShippingLine

24 0.375 Pegasus.ShippingLine

Pegasus.Cargo 42 1.1429 Pegasus.Cargo

Pegasus.TMS 32 0.09375 Pegasus.TMS

Sum: 167 2.3878

Average: 27.833 0.39797

Minimum: 22 0.09375

Maximum: 42 1.1429

Standard deviation:

7.1278 0.34828

Variance: 50.806 0.1213

Page 41: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

WARNING: The following CQL constraint is not satisfied. 10 types on 1155 tested match the condition. --> Group {Design \ Performance} // <Name>Instances size shouldn't be too big (SizeOfInst)</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE   SizeOfInst > 64   ORDER BY SizeOfInst DESC

// TYPES WHERE SizeOfInst > 64 might degrade performance // (depending on the number of instances created at runtime) // and might be hard to maintain. However it is not a rule // since sometime there is no alternative (the size of // instances of the System.Net.NetworkInformation.SystemIcmpV6Statistics // standard class is 2064 bytes).// See the definition of the SizeOfInst metric here // http://www.ndepend.com/Metrics.aspx#SizeOfInst

types Size of instance

Full Name

RibbonMenuTest 2 484 Pegasus.Main.RibbonMenuTest

RPTFLC 847 Pegasus.Main.RPTFLC

frmWinUltraGrid 821 Pegasus.SearchEngine.frmWinUltraGrid

RptFreight 807 Pegasus.Main.RptFreight

JobCard 797 Pegasus.Cargo.UIElements.JobCard

RptMain 763 Pegasus.Main.RptMain

NVJobCard 756 Pegasus.NVOCC.UIElements.NVJobCard

HouseBillofLading

694 Pegasus.Cargo.UIElements.HouseBillofLading

SHJobCard 688 Pegasus.ShippingLine.UIElements.SHJobCard

RptLTM 683 Pegasus.Main.RptLTM

Sum: 9 340

Average: 934

Minimum: 683

Maximum: 2 484

Standard deviation:

519.59

Variance: 269 977

WARNING: The following CQL constraint is not satisfied. 1069 methods on 10763 tested match the condition. --> Group {Design \ Performance} // <Name>Boxing/unboxing should be avoided (Method)</Name>WARN IF Percentage > 5 IN SELECT METHODS WHERE   IsUsingBoxing OR   IsUsingUnboxing 

Page 42: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

// Thanks to generics, boxing and unboxing should be rare.

methods # lines of code (LOC)

Full Name

Sum: 42 945

Average: 40.173

Minimum: 1

Maximum: 801

Standard deviation:

54.227

Variance: 2 940

WARNING: The following CQL constraint is not satisfied. 161 types on 1155 tested match the condition. --> Group {Design \ Performance} // <Name>Boxing/unboxing should be avoided (Type)</Name>WARN IF Percentage > 5 IN SELECT TYPES WHERE   IsUsingBoxing OR   IsUsingUnboxing 

// Thanks to generics, boxing and unboxing should be rare.

types # lines of code (LOC)

Full Name

Sum: 108 946

Average: 676.68

Minimum: 6

Maximum: 2 217

Standard deviation:

506.39

Variance: 256 427

WARNING: The following CQL constraint is not satisfied. 10 methods on 9716 tested match the condition. --> Group {Unused Code / Dead Code} // <Name>Potentially unused methods</Name>WARN IF Count > 0 IN SELECT TOP 10 METHODS WHERE  MethodCa == 0 AND        // Ca=0 -> No Afferent Coupling ->                           // The method is not used in the                           // context of this application.

 !IsPublic AND            // Public methods might be used by                           // client applications of your assemblies.

 !IsEntryPoint AND        // Main() method is not used by-design.

 !IsExplicitInterfaceImpl // The IL code never explicitely  AND                      // calls explicit interface methods                           // implementation.

Page 43: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

 !IsClassConstructor AND  // The IL code never explicitely                           // calls class constructors.

 !IsFinalizer             // The IL code never explicitely                           // calls finalizers.

methods

Afferent coupling (MethodCa)

Full Name

.ctor() 0 Pegasus.Common.Properties.Resources..ctor()

.ctor() 0 Pegasus.Common.Languages.Resource..ctor()

set_Monitor(ItemMonitor<T>)

0 Pegasus.Controls.TreeViewBase<T>.set_Monitor(ItemMonitor<T>)

OnInitialized(EventArgs) 0 Pegasus.Controls.TreeViewBase<T>.OnInitialized(EventArgs)

ArrangeOverride(Size) 0 Pegasus.Controls.ResizingAdorner.ArrangeOverride(Size)

get_VisualChildrenCount() 0 Pegasus.Controls.ResizingAdorner.get_VisualChildrenCount()

GetVisualChild(Int32) 0 Pegasus.Controls.ResizingAdorner.GetVisualChild(Int32)

OnRender(DrawingContext)

0 Pegasus.Controls.Ruler.OnRender(DrawingContext)

MeasureOverride(Size) 0 Pegasus.Controls.Ruler.MeasureOverride(Size)

OnNodeCollapsed(TreeViewItem)

0 Pegasus.Controls.CategoryTree.OnNodeCollapsed(TreeViewItem)

Sum: 0

Average: 0

Minimum: 0

Maximum: 0

Standard deviation: 0

Variance: 0

WARNING: The following CQL constraint is not satisfied. 10 fields on 10154 tested match the condition. --> Group {Unused Code / Dead Code} // <Name>Potentially unused fields</Name>WARN IF Count > 0 IN SELECT TOP 10 FIELDS WHERE  FieldCa == 0 AND  // Ca=0 -> No Afferent Coupling ->                    // The field is not used in the                    // context of this application.

 !IsPublic AND     // Although not recommended,                    // public fields might be used by                    // client applications of your 

Page 44: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

                   // assemblies.

 !IsLiteral AND    // The IL code never explicitely                    // uses literal fields.

 !IsEnumValue AND  // The IL code never explicitely                    // uses enumeration value.

 !NameIs "value__" // Field named 'value__' are relative                    // to enumerations and the IL code                    // never explicitely uses them.

fieldsAfferent coupling (FieldCa)

Full Name

_BaseCurrency 0 Pegasus.General.sGlobal._BaseCurrency

_BaseCurrencyMask

0 Pegasus.General.sGlobal._BaseCurrencyMask

whGoods 0 Pegasus.General.UIElements.Central.WHTypeOfGoods.whGoods

isEditing 0 Pegasus.General.UIElements.Central.WHTypeOfGoods.isEditing

_frmSearch 0 Pegasus.General.UIElements.Central.PRCIDocDefMaster._frmSearch

dtAccounts 0 Pegasus.General.UIElements.Cargo.FlightCargoPallet.dtAccounts

dtChargeCode 0 Pegasus.General.UIElements.Cargo.FlightCargoPallet.dtChargeCode

chargesList 0 Pegasus.General.UIElements.Cargo.FlightCargoPallet.chargesList

_TruckMaster 0 Pegasus.General.UIElements.Cargo.DriverMaster._TruckMaster

_TransportCompany

0 Pegasus.General.UIElements.Cargo.DriverMaster._TransportCompany

Sum: 0

Average: 0

Minimum: 0

Maximum: 0

Standard deviation:

0

Variance: 0

WARNING: The following CQL constraint is not satisfied. 10 types on 638 tested match the condition. --> Group {Unused Code / Dead Code} // <Name>Potentially unused types</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE 

Page 45: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

 TypeCa == 0 AND    // Ca=0 -> No Afferent Coupling ->                     // The type is not used in the                     // context of this application.

 !IsPublic AND      // Public types might be used                     // by client applications of your                    // assemblies.

 !NameIs "Program"  // Generally, types named Program                     // contain a Main() entry-point                     // method and this condition avoid                     // to consider such type as                     // unused code.

types Afferent coupling (TypeCa)

Full Name

ICommon 0 Pegasus.Common.ICommon

Settings 0 Pegasus.Controls.Properties.Settings

Resources 0 Pegasus.Controls.Properties.Resources

Settings 0 Pegasus.SearchEngine.Properties.Settings

Resources 0 Pegasus.SearchEngine.Properties.Resources

Settings 0 Pegasus.General.Properties.Settings

Settings 0 Pegasus.Security.Properties.Settings

Resources 0 Pegasus.Security.Properties.Resources

Settings 0 Pegasus.Accounts.Properties.Settings

Resources 0 Pegasus.Job.Properties.Resources

Sum: 0

Average: 0

Minimum: 0

Maximum: 0

Standard deviation:

0

Variance: 0

WARNING: The following CQL constraint is not satisfied. 10 fields on 10218 tested match the condition. --> Group {Encapsulation} // <Name>Fields should be declared as private</Name>WARN IF Count > 0 IN SELECT TOP 10 FIELDS WHERE  !IsPrivate AND 

 // These conditions filter cases where fields  // doesn't represent state that should be encapsulated.  !IsInFrameworkAssembly AND  !IsGeneratedByCompiler AND  !IsSpecialName AND 

Page 46: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

 !IsInitOnly AND  !IsLiteral AND  !IsEnumValue

fields Size of instance

Full Name

nhConfig 0 Pegasus.Common.clsNHiber.nhConfig

_this 4 Pegasus.Controls.AuthenticationPrompt._this

border 4 Pegasus.Controls.AuthenticationPrompt.border

gMain 4 Pegasus.Controls.AuthenticationPrompt.gMain

lblCaption 4 Pegasus.Controls.AuthenticationPrompt.lblCaption

btnClose 4 Pegasus.Controls.AuthenticationPrompt.btnClose

txtUserName 4 Pegasus.Controls.AuthenticationPrompt.txtUserName

txtPassword 4 Pegasus.Controls.AuthenticationPrompt.txtPassword

_ok 4 Pegasus.Controls.AuthenticationPrompt._ok

_cancel 4 Pegasus.Controls.AuthenticationPrompt._cancel

Sum: 36

Average: 3.6

Minimum: 0

Maximum: 4

Standard deviation:

1.2

Variance: 1.44

WARNING: The following CQL constraint is not satisfied. 10 methods on 10763 tested match the condition. --> Group {Encapsulation \ Methods Optimal Encapsulation} // <Name>Methods that could be declared as 'internal' in C#,  'Friend' in VB.NET</Name>WARN IF Count > 0 IN SELECT TOP 10 METHODS WHERE   CouldBeInternal AND    // Eliminate default constructor from the result.  // Whatever the visibility of the declaring class,  // default constructors are public and introduce noise  // in the current rule.  ! ( IsConstructor AND       IsPublic AND       NbILInstructions == 3)

methods # lines of

Full Name

Page 47: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

code (LOC)

get_Factory() 1 Pegasus.Common.clsNHiber.get_Factory()

.ctor(T,T) 3 Pegasus.Controls.RoutedTreeItemEventArgs<T>..ctor(T,T)

get_ChildCollections() 1 Pegasus.Controls.ItemMonitor<T>.get_ChildCollections()

UnregisterRootItems(IEnumerable<T>)

4 Pegasus.Controls.ItemMonitor<T>.UnregisterRootItems(IEnumerable<T>)

RegisterRootItems(IEnumerable<T>)

4 Pegasus.Controls.ItemMonitor<T>.RegisterRootItems(IEnumerable<T>)

RegisterItem(String,ICollection<T>)

8 Pegasus.Controls.ItemMonitor<T>.RegisterItem(String,ICollection<T>)

RemoveNodes(ItemCollection)

6 Pegasus.Controls.ItemMonitor<T>.RemoveNodes(ItemCollection)

Clear() 7 Pegasus.Controls.ItemMonitor<T>.Clear()

.ctor(TreeViewBase<T>) 5 Pegasus.Controls.ItemMonitor<T>..ctor(TreeViewBase<T>)

get_SelectedItemId() 1 Pegasus.Controls.TreeLayout.get_SelectedItemId()

Sum: 40

Average: 4

Minimum: 1

Maximum: 8

Standard deviation: 2.4083

Variance: 5.8

WARNING: The following CQL constraint is not satisfied. 10 methods on 10763 tested match the condition. --> Group {Encapsulation \ Methods Optimal Encapsulation} // <Name>Methods that could be declared as 'private' in C#,  'Private' in VB.NET</Name>WARN IF Count > 0 IN SELECT TOP 10 METHODS WHERE   CouldBePrivate

methods

# lines of code (LOC)

Full Name

get_ReportingURI() 1 Pegasus.Common.Common.get_ReportingURI()

Page 48: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

set_ReportingURI(String) 1 Pegasus.Common.Common.set_ReportingURI(String)

get_EmployeeId() 1 Pegasus.Common.Common.get_EmployeeId()

get_CommonBranchID() 1 Pegasus.Common.Common.get_CommonBranchID()

set_CommonBranchID(Int16) 1 Pegasus.Common.Common.set_CommonBranchID(Int16)

get_ConfigMasterList() 1 Pegasus.Common.Common.get_ConfigMasterList()

set_ConfigMasterList(IList) 1 Pegasus.Common.Common.set_ConfigMasterList(IList)

Reload() 3 Pegasus.Common.Common.Reload()

CloseFactory() 1 Pegasus.Common.Common.CloseFactory()

TranformButtonToOperationType(String)

7 Pegasus.Common.Common.TranformButtonToOperationType(String)

Sum: 18

Average: 1.8

Minimum: 1

Maximum: 7

Standard deviation: 1.833

Variance: 3.36

WARNING: The following CQL constraint is not satisfied. 10 types on 1155 tested match the condition. --> Group {Encapsulation \ Types Optimal Encapsulation} // <Name>Types that could be declared as internal</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE   CouldBeInternal

types # lines of code (LOC)

Full Name

IBusinessLayer<T> N/A Pegasus.Common.IBusinessLayer<T>

ValidationException 2 Pegasus.Common.Utilities.ValidationException

Resource 9 Pegasus.Common.Languages.Resource

RoutedTreeItemEventHandler<T>

N/A Pegasus.Controls.RoutedTreeItemEventHandler<T>

RoutedTreeItemEventArgs<T>

5 Pegasus.Controls.RoutedTreeItemEventArgs<T>

ResizablePanel 3 Pegasus.Controls.ResizablePanel

ItemMonitor<T> 174 Pegasus.Controls.ItemMonitor<T>

PegasusMessageBox 56 Pegasus.Controls.PegasusMessageBox

Message 0 Pegasus.Controls.Message

TreeLayout 6 Pegasus.Controls.TreeLayout

Page 49: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

Sum: 255

Average: 25.5

Minimum: 0

Maximum: 174

Standard deviation: 52.024

Variance: 2 706

WARNING: The following CQL constraint is not satisfied. 3 types on 1155 tested match the condition. --> Group {Encapsulation \ Types Optimal Encapsulation} // <Name>Types that could be declared as 'private' in C#,  'Private' in VB.NET</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE   CouldBePrivate

types # lines of code (LOC)

Full Name

NVQuotation+CodeDesc

0 Pegasus.NVOCC.UIElements.NVQuotation+CodeDesc

SHQuotation+CodeDesc

0 Pegasus.ShippingLine.UIElements.SHQuotation+CodeDesc

Quotation+CodeDesc

0 Pegasus.Cargo.UIElements.Quotation+CodeDesc

Sum: 0

Average: 0

Minimum: 0

Maximum: 0

Standard deviation: 0

Variance: 0

WARNING: The following CQL constraint is not satisfied. 10 fields on 10218 tested match the condition. --> Group {Encapsulation \ Fields Optimal Encapsulation} // <Name>Fields that could be declared as internal</Name>WARN IF Count > 0 IN SELECT TOP 10 FIELDS WHERE   CouldBeInternal

fields Size of instance

Full Name

xamCity 4 Pegasus.General.UIElements.Main.City.xamCity

entityName 4 Pegasus.General.UIElements.Administration.HOItems.entityName

isCommon 1 Pegasus.General.UIElements.Administration.HOItems.isCommon

_JobCard 4 Pegasus.Cargo.UIElements.JobCard._JobCard

Page 50: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

_showingRecord 1 Pegasus.Cargo.UIElements.JobCard._showingRecord

_JobPort 4 Pegasus.Cargo.UIElements.JobCard._JobPort

_JobCarrier 4 Pegasus.Cargo.UIElements.JobCard._JobCarrier

pPanel 4 Pegasus.Cargo.UIElements.JobCard.pPanel

_dtCommodities 4 Pegasus.Cargo.UIElements.JobCard._dtCommodities

_dtDocuments 4 Pegasus.Cargo.UIElements.JobCard._dtDocuments

Sum: 34

Average: 3.4

Minimum: 1

Maximum: 4

Standard deviation:

1.2

Variance: 1.44

WARNING: The following CQL constraint is not satisfied. 10 fields on 10218 tested match the condition. --> Group {Encapsulation \ Fields Optimal Encapsulation} // <Name>Fields that could be declared as 'private' in C#,  'Private' in VB.NET</Name>WARN IF Count > 0 IN SELECT TOP 10 FIELDS WHERE   CouldBePrivate

fields Size of instance

Full Name

_this 4 Pegasus.Controls.AuthenticationPrompt._this

border 4 Pegasus.Controls.AuthenticationPrompt.border

gMain 4 Pegasus.Controls.AuthenticationPrompt.gMain

lblCaption 4 Pegasus.Controls.AuthenticationPrompt.lblCaption

btnClose 4 Pegasus.Controls.AuthenticationPrompt.btnClose

txtUserName 4 Pegasus.Controls.AuthenticationPrompt.txtUserName

txtPassword 4 Pegasus.Controls.AuthenticationPrompt.txtPassword

_ok 4 Pegasus.Controls.AuthenticationPrompt._ok

_cancel 4 Pegasus.Controls.AuthenticationPrompt._cancel

canvas1 4 Pegasus.Controls.ResizablePanel.canvas1

Sum: 40

Average: 4

Minimum: 4

Maximum: 4

Page 51: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

Standard deviation:

0

Variance: 0

WARNING: The following CQL constraint is not satisfied. 10 methods on 10763 tested match the condition. --> Group {Test Coverage} // <Name>Complex methods should be 100% covered by tests</Name>WARN IF Count > 0 IN SELECT TOP 10 METHODS  /*OUT OF "YourGeneratedCode" */  WHERE      // These metrics' definitions are available here:      // http://www.ndepend.com/Metrics.aspx#MetricsOnMethods     (  NbILInstructions > 200 OR         ILCyclomaticComplexity > 50 OR         ILNestingDepth > 4 OR        NbParameters > 5 OR         NbVariables > 8 OR        NbOverloads > 6 ) AND      PercentageCoverage < 100

// To run this constraint properly coverage data must be // gathered from NCover™ or Visual Studio™ Coverage.// This can be done throught the menu: //   NDepend -> Coverage -> Import Coverage Files// This can be done at analysis time throught the menu: // Project Properties -> Analysis -> Code Coverage// More information on how to import coverage data here:// http://www.ndepend.com/Coverage.aspx

methods

# IL instructions

IL Cyclomatic Complexity (ILCC)

IL Nesting Depth

# Parameters

# Variables

# Overloads

Percentage Coverage

Full Name

CheckApproval() 289 12 1 0 3 1 0 Pegasus.Controls.AuthenticationPrompt.CheckApproval()

RenderTree(IEnumerable<T>,TreeLayout) 203 21 2 2 11 1 0

Pegasus.Controls.TreeViewBase<T>.RenderTree(IEnumerable<T>,TreeLayout)

CreateItemNode(T,IList,TreeLayout) 212 24 3 3 11 1 0

Pegasus.Controls.TreeViewBase<T>.CreateItemNode(T,IList,TreeLayout)

EnsureNodeIsVisible(T) 99 6 2 1 11 1 0 Pegasus.Controls.TreeViewBase<T>.EnsureNodeIsVisible(T)

TryFindItemNode(ItemC 91 10 5 3 8 1 0 Pegasus.Controls.TreeViewBase<T

Page 52: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

ollection,String,Boolean) >.TryFindItemNode(ItemCollection,String,Boolean)

ApplyAutoCollapse() 204 23 3 0 13 1 0 Pegasus.Controls.TreeViewBase<T>.ApplyAutoCollapse()

.cctor() 257 1 0 0 1 1 0 Pegasus.Controls.TreeViewBase<T>..cctor()

OnItemCollectionChanged(Object,NotifyCollectionChangedEventArgs)

159 13 4 2 10 1 0Pegasus.Controls.ItemMonitor<T>.OnItemCollectionChanged(Object,NotifyCollectionChangedEventArgs)

HandleRemovedChildItems(ICollection<T>,NotifyCollectionChangedEventArgs)

142 12 2 2 9 1 0

Pegasus.Controls.ItemMonitor<T>.HandleRemovedChildItems(ICollection<T>,NotifyCollectionChangedEventArgs)

OnRender(DrawingContext)

499 27 6 1 12 1 0 Pegasus.Controls.Ruler.OnRender(DrawingContext)

Sum: 2 155

149 28 14 89 10 0

Average: 215.5

14.9

2.8

1.4 8.9 1 0

Minimum: 91 1 0 0 1 1 0

Maximum: 499 27 6 3 13 1 0

Standard deviation:112.01

8.0554

1.7205

1.1136

3.726

90 0

Variance: 12 546

64.89

2.96

1.24

13.89

0 0

WARNING: The following CQL constraint is not satisfied. 578 fields on 10218 tested match the condition. --> Group {Purity / Immutability / Side-Effects} // <Name>Fields should be marked as ReadOnly when possible</Name>WARN IF Count > 0 IN SELECT FIELDS WHERE   IsImmutable AND   !IsInitOnly AND  !IsGeneratedByCompiler 

// A field that matches the condition IsImmutable // is a field that is assigned only by constructors // of its class.// For an instance field, this means its value // will remain constant throught the lifetime // of the object.// For a static field, this means its value will // remain constant throught the lifetime of the // program.// In both cases, such field can safely be marked // with the C# readonly keyword // (ReadOnly in VB.NET).

Page 53: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

// The condition IsInitOnly matches fields that // are marked with the C# readonly keyword // (ReadOnly in VB.NET).

fields Size of instance

Full Name

Sum: 2 158

Average: 3.7336

Minimum: 0

Maximum: 8

Standard deviation:

1.0231

Variance: 1.0467

WARNING: The following CQL constraint is not satisfied. 2 types on 1155 tested match the condition. --> Group {Purity / Immutability / Side-Effects} // <Name>Structures should be immutable</Name>WARN IF Count > 0 IN SELECT TYPES WHERE   IsStructure AND   !IsImmutable AND   !IsInFrameworkAssembly

// It is deemed as a good practice to make // your structure immutable.// An object is immutable if its state doesn’t // change once the object has been created. // Consequently, a structure is immutable if // its instances are immutable.// Immutable types naturally simplify code by // limiting side-effects.// See some explanations on immutability and // how NDepend supports it here:// http://codebetter.com/blogs/patricksmacchia/archive/2008/01/13/immutable-types-understand-them-and-use-them.aspx

types # lines of code (LOC)

Full Name

Sum: 0

Average: 0

Minimum: 0

Maximum: 0

Standard deviation:

0

Variance: 0

Page 54: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

WARNING: The following CQL constraint is not satisfied. 5 methods on 10763 tested match the condition. --> Group {Purity / Immutability / Side-Effects} // <Name>Static Property Getter should be immutable</Name>WARN IF Count > 0 IN SELECT METHODS  WHEREIsPropertyGetter ANDIsStatic ANDChangesTypeState

// Generated property getter Resources.get_ResourceManager()// provokes a read-only property lazy-initializedAND !FullNameLike "Resources.get_ResourceManager()"

// This rule might be violated in the case of object lazy initialized// when the property getter is accessed the first time.    

methods# lines of code (LOC)

Full Name

get_Instance() 3 Pegasus.Common.Common.get_Instance()

get_Instance() 5 Pegasus.Common.clsNHiber.get_Instance()

get_ResourceManager()

4 Pegasus.Common.Languages.Resource.get_ResourceManager()

get_ResourceManager()

4 Pegasus.Cargo.Properties.Resource.get_ResourceManager()

get_ResourceManager()

4 Pegasus.FlightCargo.Properties.Resource.get_ResourceManager()

Sum: 20

Average: 4

Minimum: 3

Maximum: 5

Standard deviation: 0.63246

Variance: 0.4

WARNING: The following CQL constraint is not satisfied. 10 fields on 10218 tested match the condition. --> Group {Naming Conventions} // <Name>Instance fields should be prefixed with a 'm_'</Name>WARN IF Count > 0 IN SELECT TOP 10 FIELDS WHERE   !NameLike "^m_" AND   !IsStatic AND   !IsLiteral AND   !IsGeneratedByCompiler  AND   !IsSpecialName AND   !IsEventDelegateObject 

// This naming convention provokes debate.// Don't hesitate to customize the regex of // NameLike to your preference.

fields Size of Full Name

Page 55: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

instance

_session 4 Pegasus.Common.Common._session

_ReportingURI 4 Pegasus.Common.Common._ReportingURI

setInnerException

1 Pegasus.Common.Common.setInnerException

_isMSGBoxOpen 1 Pegasus.Common.Common._isMSGBoxOpen

_IsAuthenticated 1 Pegasus.Controls.AuthenticationPrompt._IsAuthenticated

_this 4 Pegasus.Controls.AuthenticationPrompt._this

border 4 Pegasus.Controls.AuthenticationPrompt.border

gMain 4 Pegasus.Controls.AuthenticationPrompt.gMain

lblCaption 4 Pegasus.Controls.AuthenticationPrompt.lblCaption

btnClose 4 Pegasus.Controls.AuthenticationPrompt.btnClose

Sum: 31

Average: 3.1

Minimum: 1

Maximum: 4

Standard deviation:

1.3748

Variance: 1.89

WARNING: The following CQL constraint is not satisfied. 10 fields on 10218 tested match the condition. --> Group {Naming Conventions} // <Name>Static fields should be prefixed with a 's_'</Name>WARN IF Count > 0 IN SELECT TOP 10 FIELDS WHERE   !NameLike "^s_" AND   IsStatic AND   !IsLiteral AND   !IsGeneratedByCompiler AND   !IsSpecialName AND   !IsEventDelegateObject  

// This naming convention provokes debate.// Don't hesitate to customize the regex of // NameLike to your preference.

fields Size of instance

Full Name

_instance 0 Pegasus.Common.Common._instance

_pageList 0 Pegasus.Common.Common._pageList

_isEditing 0 Pegasus.Common.Common._isEditing

_branchID 0 Pegasus.Common.Common._branchID

_BaseCurrencyId 0 Pegasus.Common.Common._BaseCurrenc

Page 56: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

yId

_BaseCurrencyMask

0 Pegasus.Common.Common._BaseCurrencyMask

_FinancialYearID 0 Pegasus.Common.Common._FinancialYearID

_EmployeeId 0 Pegasus.Common.Common._EmployeeId

_CurrentJobCardID

0 Pegasus.Common.Common._CurrentJobCardID

_CurrentModuleID

0 Pegasus.Common.Common._CurrentModuleID

Sum: 0

Average: 0

Minimum: 0

Maximum: 0

Standard deviation:

0

Variance: 0

WARNING: The following CQL constraint is not satisfied. 2 types on 1155 tested match the condition. --> Group {Naming Conventions} // <Name>Interface name should begin with a 'I'</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE   IsInterface AND   !NameLike "^I" AND   !IsNested AND   !IsInFrameworkAssembly

types

# lines of code (LOC)

Full Name

ReportingService2005Soap N/A Pegasus.Main.RSServiceReference05.ReportingService2005Soap

ReportingService2005SoapChannel

N/A Pegasus.Main.RSServiceReference05.ReportingService2005SoapChannel

Sum: 0

Average: 0

Minimum: 0

Maximum: 0

Standard deviation: 0

Variance: 0

Page 57: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

WARNING: The following CQL constraint is not satisfied. 6 types on 1155 tested match the condition. --> Group {Naming Conventions} // <Name>Types name should begin with an Upper character</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE   // The name of a type should begin with an Upper letter.  !NameLike "^[A-Z]" AND     

  // Except if it is generated by compiler or ...  !IsGeneratedByCompiler AND 

  // ... if it is declared in a third party assembly.  !IsInFrameworkAssembly     

types # lines of code (LOC)

Full Name

clsNHiber 18 Pegasus.Common.clsNHiber

frmFrameAddNew

10 Pegasus.SearchEngine.frmFrameAddNew

frmWinUltraGrid 1 329 Pegasus.SearchEngine.frmWinUltraGrid

sGlobal 101 Pegasus.General.sGlobal

sGlobal+pParams 0 Pegasus.General.sGlobal+pParams

clsMain 87 Pegasus.Main.clsMain

Sum: 1 545

Average: 257.5

Minimum: 0

Maximum: 1 329

Standard deviation:

480.73

Variance: 231 099

WARNING: The following CQL constraint is not satisfied. 10 methods on 10763 tested match the condition. --> Group {Naming Conventions} // <Name>Methods name should begin with an Upper character</Name>WARN IF Count > 0 IN SELECT TOP 10 METHODS WHERE   !NameLike "^[A-Z]" AND   !( IsClassConstructor OR IsConstructor OR      IsPropertyGetter  OR IsPropertySetter OR     IsIndexerGetter OR IsIndexerSetter OR     IsEventAdder OR IsEventRemover OR     IsOperator) AND   !IsGeneratedByCompiler AND   !IsInFrameworkAssembly

// The name of a regular method should // begin with an Upper letter.

Page 58: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

methods

# lines of code (LOC)

Full Name

getPropertyValue(String) N/A Pegasus.Common.ICommon.getPropertyValue(String)

ok_Click(Object,RoutedEventArgs)

1 Pegasus.Controls.AuthenticationPrompt.ok_Click(Object,RoutedEventArgs)

cancel_Click(Object,RoutedEventArgs)

2 Pegasus.Controls.AuthenticationPrompt.cancel_Click(Object,RoutedEventArgs)

btnClose_Click(Object,RoutedEventArgs)

2 Pegasus.Controls.AuthenticationPrompt.btnClose_Click(Object,RoutedEventArgs)

gMain_MouseMove(Object,MouseEventArgs)

2 Pegasus.Controls.AuthenticationPrompt.gMain_MouseMove(Object,MouseEventArgs)

_this_KeyUp(Object,KeyEventArgs)

7 Pegasus.Controls.AuthenticationPrompt._this_KeyUp(Object,KeyEventArgs)

ok_Click(Object,RoutedEventArgs)

2 Pegasus.Controls.PegasusMessageBox.ok_Click(Object,RoutedEventArgs)

yes_Click(Object,RoutedEventArgs)

2 Pegasus.Controls.PegasusMessageBox.yes_Click(Object,RoutedEventArgs)

no_Click(Object,RoutedEventArgs)

2 Pegasus.Controls.PegasusMessageBox.no_Click(Object,RoutedEventArgs)

cancel_Click(Object,RoutedEventArgs)

2 Pegasus.Controls.PegasusMessageBox.cancel_Click(Object,RoutedEventArgs)

Sum: 22

Average: 2.2

Minimum: 0

Maximum: 7

Standard deviation: 1.7205

Variance: 2.96

WARNING: The following CQL constraint is not satisfied. 10 methods on 10763 tested match the condition. --> Group {Naming Conventions \ Name too long} // <Name>Avoid methods with name too long</Name>WARN IF Count > 0 IN SELECT TOP 10 METHODS WHERE   NameLike "^[^\<\(]{35,}.*$" AND  !IsExplicitInterfaceImpl AND   !IsInFrameworkAssembly

// The regex matches methods with name longer // than 35 characters.// Method Name doesn't contain the type and namespace 

Page 59: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

// prefix, FullName does.// The regex computes the method name length from // the beginning until the first open parenthesis // or first lower than (for generic methods).// Explicit Interface Implementation methods are // discarded because their names are prefixed // with the interface name.      

methods

# lines of code (LOC)

Full Name

get_GetFreightCategoryAccessControlList()

1 Pegasus.Common.Common.get_GetFreightCategoryAccessControlList()

set_GetFreightCategoryAccessControlList(ArrayList)

1 Pegasus.Common.Common.set_GetFreightCategoryAccessControlList(ArrayList)

PreserveLayoutOnRefreshPropertyChanged(DependencyObject,DependencyPropertyChangedEventArgs)

0Pegasus.Controls.TreeViewBase<T>.PreserveLayoutOnRefreshPropertyChanged(DependencyObject,DependencyPropertyChangedEventArgs)

NodeSortDescriptionsPropertyChanged(DependencyObject,DependencyPropertyChangedEventArgs)

9Pegasus.Controls.TreeViewBase<T>.NodeSortDescriptionsPropertyChanged(DependencyObject,DependencyPropertyChangedEventArgs)

SelectNodesOnRightClickPropertyChanged(DependencyObject,DependencyPropertyChangedEventArgs)

0Pegasus.Controls.TreeViewBase<T>.SelectNodesOnRightClickPropertyChanged(DependencyObject,DependencyPropertyChangedEventArgs)

xamcboFreightType_SelectedItemChanged(Object,RoutedPropertyChangedEventArgs<Object>)

1Pegasus.General.UIElements.Central.PRCIDocDefMaster.xamcboFreightType_SelectedItemChanged(Object,RoutedPropertyChangedEventArgs<Object>)

xamDataGridScanDoc_RecordActivating(Object,RecordActivatingEventArgs)

9Pegasus.General.UIElements.Central.PRCIDocDefMaster.xamDataGridScanDoc_RecordActivating(Object,RecordActivatingEventArgs)

RefreshExpAccountsAndChargeCodeLists()

6 Pegasus.Accounts.UIElements.Voucher.RefreshExpAccountsAndChargeCodeLists()

xamComboCurrency_SelectedItemChanged(Object,RoutedPropertyChangedEventArgs<Object>)

8Pegasus.Accounts.UIElements.Voucher.xamComboCurrency_SelectedItemChanged(Object,RoutedPropertyChangedEventArgs<Object>)

cboFreightCategory_SelectionChanged(Object,SelectionChangedEventArgs)

1Pegasus.Accounts.UIElements.Voucher.cboFreightCategory_SelectionChanged(Object,SelectionChangedEventArgs)

Sum: 36

Average: 3.

Page 60: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

6

Minimum: 0

Maximum: 9

Standard deviation:3.6932

Variance:13.64

WARNING: The following CQL constraint is not satisfied. 10 types on 1155 tested match the condition. --> Group {Naming Conventions \ Name too long} // <Name>Avoid types with name too long</Name>WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE  NameLike "^[^\<]{35,}.*$" AND  !IsNested AND   !IsInFrameworkAssembly

// The regex matches types with name longer // than 35 characters.// Type Name doesn't contain the namespace // prefix, FullName does.// The regex computes the type name length from // the beginning until the end or the first lower than // (for generic types).// Nested types are discarded because their // names are prefixed with outer type's name.      

types

# lines of code (LOC)

Full Name

UpdateReportExecutionSnapshotRequest

4 Pegasus.Main.RSServiceReference05.UpdateReportExecutionSnapshotRequest

UpdateReportExecutionSnapshotResponse

3 Pegasus.Main.RSServiceReference05.UpdateReportExecutionSnapshotResponse

CreateReportHistorySnapshotResponse

5 Pegasus.Main.RSServiceReference05.CreateReportHistorySnapshotResponse

DeleteReportHistorySnapshotResponse

3 Pegasus.Main.RSServiceReference05.DeleteReportHistorySnapshotResponse

CreateDataDrivenSubscriptionRequest

10 Pegasus.Main.RSServiceReference05.CreateDataDrivenSubscriptionRequest

CreateDataDrivenSubscriptionResponse

4 Pegasus.Main.RSServiceReference05.CreateDataDrivenSubscriptionResponse

Page 61: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

SetDataDrivenSubscriptionPropertiesRequest

10 Pegasus.Main.RSServiceReference05.SetDataDrivenSubscriptionPropertiesRequest

SetDataDrivenSubscriptionPropertiesResponse

3 Pegasus.Main.RSServiceReference05.SetDataDrivenSubscriptionPropertiesResponse

GetDataDrivenSubscriptionPropertiesRequest

3 Pegasus.Main.RSServiceReference05.GetDataDrivenSubscriptionPropertiesRequest

GetDataDrivenSubscriptionPropertiesResponse

12 Pegasus.Main.RSServiceReference05.GetDataDrivenSubscriptionPropertiesResponse

Sum: 57

Average: 5.7

Minimum: 3

Maximum: 12

Standard deviation: 3.3481

Variance: 11.21

WARNING: The following CQL constraint is not satisfied. 10 fields on 10218 tested match the condition. --> Group {Naming Conventions \ Name too long} // <Name>Avoid fields with name too long</Name>WARN IF Count > 0 IN SELECT TOP 10 FIELDS WHERE  NameLike "^[^\<]{35,}.*$" AND  !IsInFrameworkAssembly

// The regex matches fields with name longer // than 35 characters.// Field Name doesn't contain the type and // namespace prefix, FullName does.      

fields

Size of instance

Full Name

btnMastersMenuKeyTransportCompanies

4 Pegasus.Main.RibbonMenuTest.btnMastersMenuKeyTransportCompanies

btnMastersMenuKeyInquiryEvaluations

4 Pegasus.Main.RibbonMenuTest.btnMastersMenuKeyInquiryEvaluations

btnMastersMenuKeyWarehouseTypeofGoods

4 Pegasus.Main.RibbonMenuTest.btnMastersMenuKeyWarehouseTypeofGoods

btnMastersMenuKeyDocumentsDefinitions

4 Pegasus.Main.RibbonMenuTest.btnMastersMenuKeyDocumentsDefinitions

gigMastersMenuKeyMasterShippingLines

4 Pegasus.Main.RibbonMenuTest.gigMastersMenuKeyMasterShippingLines

giMastersMenuKeyMasterLeasingCompany

4 Pegasus.Main.RibbonMenuTest.giMastersMenuKeyMasterLeasingCompany

Page 62: To study pcms   pegasus erp cargo management system-release-6 from architecture perspective.

giMastersMenuKeyMasterContainerStatus

4 Pegasus.Main.RibbonMenuTest.giMastersMenuKeyMasterContainerStatus

giMastersMenuKeyMasterContainerClassification

4 Pegasus.Main.RibbonMenuTest.giMastersMenuKeyMasterContainerClassification

giMastersMenuKeyMasterStorageCalculation

4 Pegasus.Main.RibbonMenuTest.giMastersMenuKeyMasterStorageCalculation

giMastersMenuKeyMasterShippingLines

4 Pegasus.Main.RibbonMenuTest.giMastersMenuKeyMasterShippingLines

Sum: 40

Average: 4

Minimum: 4

Maximum: 4

Standard deviation: 0

Variance: 0