Presentation is loading. Please wait.

Presentation is loading. Please wait.

350 parts. i-bank functional structure ▪technical modules – authentication – auditing – user profile – OTP functionality – e-mail notifications – push.

Similar presentations


Presentation on theme: "350 parts. i-bank functional structure ▪technical modules – authentication – auditing – user profile – OTP functionality – e-mail notifications – push."— Presentation transcript:

1 350 parts

2 i-bank functional structure ▪technical modules – authentication – auditing – user profile – OTP functionality – e-mail notifications – push notifications – etc ▪business modules – deposits – cards – loans – bill payments – investments – transaction files – etc

3 i-bank code structure ▪15 technical modules ▪35 business modules ▪350 projects ▪240k lines

4 ALM planning defining designing building deployment testing

5 modular design business area designing building deployment testing designing building deployment testing designing building deployment testing planning defining planning defining planning defining

6 modular design customer component (c# project) product component (c# project) order component (c# project) day #1 designing building deployment testing designing building deployment testing designing building deployment testing

7 modular design customer component (c# project) product component (c# project) order component (c# project) day #2 designing building deployment testing designing building deployment testing designing building deployment testing

8 circular reference customer component (c# project) product component (c# project) order component (c# project) day #3 designing building deployment testing designing building deployment testing designing building deployment testing

9 modular design customer component (c# project) product component (c# project) order component (c# project) day #4 designing building deployment testing designing building deployment testing designing building deployment testing

10 modular design customerproductorder component (c# project) day #5 designing building deployment testing

11 dependency resolution customer component (c# project) product component (c# project) order component (c# project)

12 modular design component implementation component interface component (folder) component publishing component implementation component interface component (folder) component publishing component implementation component interface component (folder) component publishing c# projects customer productorder implementation projects web service dependency rdbms dependency

13 component interface data contractsservice interfaces very simple reusable methods classes vs interfaces

14 invalid paths component implementation c# projects component interface component (folder) component publishing customer component (folder) component implementation component interface component publishing product component implementation component interface component (folder) component publishing order

15 valid paths c# projects component implementation component interface component (folder) component publishing customer component implementation component interface component (folder) component publishing order component implementation component interface component (folder) component publishing product

16 modular design component implementation component interface component (folder) component publishing customer component implementation component interface component (folder) component publishing product component implementation component interface component (folder) component publishing order nuget packages

17 interfaceimplementation c# decoupling tools extension methods

18 type mapping c# decoupling toolsextension methods

19 dependency propagation component (c# project) unit component (c# project) unit component (c# project) unit component (c# project) unit component (c# project) unit application high level libraries low level libraries configuration db connection logging c# decoupling tools dependency injection

20 dependency resolution component (c# project) unit component (c# project) unit component (c# project) unit component (c# project) unit component (c# project) unit application high level libraries low level libraries configuration factory abstract factory static factory service locator c# decoupling tools dependency injection

21 controller constructor c# decoupling tools dependency injection

22 simple injector configuration c# decoupling tools dependency injection

23 1 st upload (Sept 2014) ▪255k lines ▪30% Duplicated Code (49k lines, 9.5k units) ▪11k C# lines 61+ LOC ▪2k C# lines McCabe 26+ ▪1k C# lines > 4 Parameters

24 1 st upload (Sept 2014) ▪255k lines ▪30% Duplicated Code (49k lines, 9.5k units) ▪11k C# lines 61+ LOC ▪2k C# lines McCabe 26+ ▪1k C# lines > 4 Parameters

25 unit & module guidelines ▪short units of code – up to 15 lines ▪simple units of code – up to 4 branch points ▪write code once ▪small unit interface ▪separate concerns in modules – small modules refactoring techniques extract method extract object unit: method, function module: file, class, function

26 module guidelines ▪loosely coupled components – small module interface ▪balanced number & size of top level components ▪small codebase

27 technology & tools ▪ TypeScript ▪ npm, bower, gulp, tsd, … ▪ internal package repository (Nexus) ▪ build automation (TFS) ▪ maintainability tools (SonarLint) ▪ maintainability monitoring (SIG, SonarQube)


Download ppt "350 parts. i-bank functional structure ▪technical modules – authentication – auditing – user profile – OTP functionality – e-mail notifications – push."

Similar presentations


Ads by Google