Master’s Project Proposal

Redesign of a DOS xBase system to a Windows NT object-oriented client-server system.


This is a proposal to redesign the U.S. Army Reserve Command (USARC) Funding Authorization Document (FAD) System. The FAD System is a DOS xBase system written and compiled in CA-Clipper 5.2. The proposed system will be written in Microsoft Visual Basic and run under Microsoft Windows NT. The new system will implement a client-server architecture based on Microsoft SQL Server.


Background

Organizational Background

The USARC is a Major Subordinate Command of the U.S. Army Forces Command with command and control of U.S. Army Reserve forces in the Continental United States. The Headquarters of the USARC is located on Fort McPherson, GA. The Headquarters is made up of command and staff elements. The staff elements are divided along functional lines such as Comptroller, Operations, Logistics, etc., and manage programs related to their functional area. In general, the programs are executed by subordinate commands.

Although the Comptroller is responsible for the financial management functional area, money is a controlling resource for most other programs. Since program managers must control the resources needed to accomplish their program, they, too, have financial management responsibilities. In this role the major staff elements are termed Program Directors. The Comptroller and the Program Directors form a senior management body called the Program Budget Advisory Committee (PBAC). The PBAC makes recommendations to the USARC Commander on the broad allocation of funds between programs. Generally Program Directors are allowed to determine allocations within their program.

USARC’s Financial Management Environment

In the context of Army Financial Management, the USARC is an Operating Agency – responsible for receiving funding directly from Headquarters Department of Army and distributing funds to subordinate commands. The means of receiving and issuing funds is an electronically generated Fund Authorization Document (FAD).

While the actual responsibilities of the USARC extend to directing activities which cause the expenditure of funds and the monitoring of these expenditures, the scope of the FAD System is concerned solely with the distribution of funds. In overly simplified layman’s terms, the FAD System is responsible for making deposits and withdrawals to/from the bank accounts of the USARC’s subordinate activities. The writing of checks on these accounts is accomplished by the activities.

Current System

History

The origin of the FAD System was a set of dBase III files intended to run on a single PC. Initially designed to support a single budget analyst managing a single appropriation, the system has evolved over the years to a multiple user, multiple appropriation system making limited use of the available local area network. Since the system’s development, the USARC has become increasingly dependent on Microsoft Windows and is now using Windows NT. The FAD System is now one of a very few DOS applications still in use. While the system worked reasonably well with Windows 3.11, the fit with Windows NT is not as good. In addition, the USARC environment has progressed from a Banyan Vines Local Area Network to a nation-wide Wide Area Network based on Windows NT.

Operations and Environment

The FAD System enables Program Directors to submit funding changes to Comptroller for issuance through a second system called PBAS (Program Budget Accounting System). The Program Directors make decisions about which funding changes to make, but Comptroller actually executes those decisions. The FAD System gathers and summarizes data from multiple Program Directors for each activity receiving a FAD. Certain data can be loaded directly using ASCII upload or Windows cut and paste. In order to reduce the number and frequency of FADs issued, funding changes are normally accumulated and FADs are issued on a weekly basis. Occasionally, emergency FADs are issued outside the normal weekly cycle.

The official FAD system, PBAS, is not designed to accept automated input and only retains sufficient information to insure that no legal fund control restrictions are violated in the issuance of a FAD, e.g., it will not allow the USARC to issue more funds than are available. The disadvantage to this is that the only transaction halted is the last one. In this case, all previous pending FADs might have to be canceled and reissued when the reason for the failure is corrected. The USARC FAD System allows the Budget Analyst to inspect the overall impact of a sequence of FADs, and if there is a problem, correct only those transactions that caused the problem.

The USARC FAD System maintains a minimal set of ledgers similar in scope to those maintained by PBAS, but it passes all FAD transactions, with full program information, to an external database called BMG (Budget Manpower Guidance). The BMG allows analysts to trace the history of program funding in total or for a given activity. The FAD System also posts summary fund distribution information to the Comptroller Intranet, which is accessible to Program Directors and subordinate commands.

Project Proposal

The current system faces a number of problems:

The USARC FAD System will be redesigned using object-oriented methods and documented using the Unified Modeling Language (UML). Implementation will be in Visual Basic. The entire project will take a minimum of four to five months. I propose that the Master’s project be limited to the initial phase consisting of project documentation, a prototype user interface written in Visual Basic and initial usability testing.

In preparation for this project, I have secured approval from the Comptroller and the Information Management (IM) directorate. The IM has provided a point of contact to work with me on this project and made development resources available. I have organized a user group to work with me and established an Intranet page to document development activities.

Deliverables

  1. Functional Requirements Specification, including narrative, Use Case Diagram, Sequence Diagrams and Preliminary User Manual.
  2. System Plan.
  3. Test Specification
  4. System Design, including Component Diagram, Class Diagram, Collaboration Diagram, Statechart Diagram and prototype source code.
  5. Usability Test Report.
  6. User-Interface Prototype.