Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

Alexander Forbes offers integrated retirement, investment, life and insurance solutions to create, grow and protect wealth and assets.

Great Migrations worked with Alexander Forbes to design and implement and end-to-end upgrade solution producing an integrated build-complete C# system with a specific set of custom upgrade features.

In addition to developing the upgrade solution to help automate the rewriting process, Great Migrations developed an automated UI testing tool and test scripts to help automated the functional testing process.

Project Highlights

System Metrics

MetricComments
FILES187K LOC Logic and 89K LOC GUI in 327 Files: 259 Forms, 2 MDIForm, 35 Classes, and 16 Modules organized into 15 VBPs.
BINARIES5 EXEs, 10 DLLs, 0 Controls, 0 OLE EXEs,       
MEMBERS8,079 unique subprograms: 2052 subroutines, 1276 functions, 404 properties , 148 externs , 4199 event handlers.   
UI240 unique UI containers containing 9612 instances of 45 different kinds of controls.    
COM242,613 calls to external COM components. The diversity of COM members is 759 unique members from 159 types in 17 COM components. 
WIN32225 calls to 66 unique entry-point APIs from 10 libraries. API Calls are made from 24 different user procedures.  

COM Upgrades

  • ADODB: Upgrade to a NET wrapper for ADO.NET that provides more application compatibility
  • CDO: Upgrade to System.Net.Mail
  • ComctlLib: Upgrade TabStrip to MigrationSupport.TabPage
  • Excel: Upgrade to Primary Interop Assembly
  • MSCalendar: Upgrade to System.Windows.Forms.MonthCalendar
  • MSComCtl2: Upgrade DTPicker to System.Windows.Forms.MonthCalendar; UI Upgrade UpDown Control + Buddy: rework as NumericUpDown wrapper
  • MSComctlLib: Upgrade ListView, StatusBar, TabStrip, ProgressBar. ImageList, TreeView to Winforms Controls
  • MSDATASRC: Upgrade to .NET Data Binding
  • MSFlexGridLib: Upgrade Microsoft Flexible Grid to DataGridView wrapper
  • MSHierarchicalFlexGridLib: Upgrade Microsoft Hierarchical Flexible Grid to DataGridView wrapper
  • MSMask: Upgrade MaskEdBox to WinForms.MaskedTextBox
  • RichTextLib: Upgrade RichTextbox to WinForms.RichTextBox
  • Scripting: Upgrade File IO Upgrade to System.IO; Upgrade Dictionary to .NET Dictionary
  • SHDocVw: Upgrade Microsoft Internet Controls (WebBrowser) to WinForms.WebBrowser
  • TabDlg: Upgrade Tabbed Dialog Control 6.0 (SP5) to WinForms.TabControl wrapper
  • Word: Upgrade Primary Interop Assembly for Office (or Visual Studio Tools for Office)

Custom Upgrade Features

  • Developed a code instrumentation process to facilitate debugging behind-the-scenes behavior.
  • Developed a custom transformations to facilitate testing the code in various environments.
  • Developed a continuous integration process that would to automated standard build and UI testing on the C# code

Gadget
isConfiguredtrue
preferencesspaceName=&spaceKey=GMG&quickfind-space=&pageId=21135626&pageName=Alexander%20Forbes%20Testimonial&quickfind-page=Alexander%20Forbes%20Testimonial&showLink=true&isConfigured=true&refresh=false&isEditable=false
quickfind-space
refreshfalse
pageId21135626
pageNameAlexander Forbes Testimonial
urlrest/gadgets/1.0/g/com.atlassian.confluence.plugins.gadgets:confluence-page-gadget/gadgets/confluence-page-gadget.xml
spaceKeyGMG
spaceName
isEditablefalse
widthauto
showLinktrue
quickfind-pageAlexander Forbes Testimonial