2001 Systems Engineering Capstone Conference • University of Virginia FTP MANAGEMENT SYSTEM FOR CAPITAL ONE Student Team: Catherine Austin, Ashley Hinds, Jessa Kopecky, Faheem Rahman Faculty Advisor: Christina Mastrangelo Department of Systems Engineering Client Advisor: Don Taylor Capital One Marketing & Analysis Decision Support Systems Richmond, VA E-mail don.taylor@capitalone.com KEYWORDS: graphical user interface (GUI), file transfer protocol, database design, usability testing ABSTRACT Capital One is one of the largest bankcard issuers in the United States. They partner with external companies, called vendors, to cross sell products and services to their customers. To communicate with vendors, they rely on an antiquated file transfer system to send and receive important data files. Our Capstone team developed a new file transfer system to better meet Capital One’s growing needs. To accomplish this, we conducted a thorough systems analysis. The final solution includes a vendor information database, file-tracking capability, file scheduling tool, automatic e-mail notification, and a comprehensive graphical user interface (GUI). We tested the efficacy of the GUI with a usability test phase characterized by a series of use-cases. Testing was administered to Capital One associates and their feedback was used to make further improvements to the GUI. We also tested the individual components of the system through unit testing and all tests produced positive results. The proposed file transfer system will save Capital One valuable time and resources in the form of decreased system maintenance and improved file management. providers of MasterCard and Visa credit cards in the world. The Business Week Global 1000 ranked Capital One the 241st largest company in the US and the 477th largest company in the world, based on market capitalization (Capital One, 2000). Using its proprietary Information-Based Strategy to generate constant innovation, Capital One links its database (one of the world's largest) to prize-winning information technology and highly sophisticated analytics in order to scientifically test ideas before taking them to market. This methodology allows Capital One to tailor products to the individual customer (Capital One, 2000). With 25 million accounts, Capital One has a large collection of accurate contact information that can be used for direct marketing. To take advantage of this opportunity, Capital One has formed partnerships with other businesses (called vendors) to cross sell their products through various marketing methods. Each time a product is purchased, the cardholder is entered into data files. Capital One relies heavily upon File Transfer Protocol (FTP) to send and receive files from vendors. Multiple scripts are executed through a generic UNIX scheduling program to process these files. These scripts control the decryption, conversion, and movement of the vendor files across various servers as well as check for certain errors. INTRODUCTION CURRENT FILE TRANSFER SYSTEM Headquartered in Falls Church, Virginia, Capital One Financial Corporation is a holding company whose principal subsidiaries offer consumer lending products. Capital One is one of the top 10 bank card issuers in the United States and its subsidiaries are among the largest Due to Capital One’s continued growth, the number of files received daily via file transfer protocol from vendors has quickly increased. Daily, Capital One exchanges many files with vendors that range in size 45 FTP Management System for Capital One from 10 kilobytes to 800 megabytes (Iskandar and Wester, 2000). While the frequency of file exchanges has increased, the method that processes these files has remained the same, causing Capital One many difficulties. Due to the number of errors in the scripts, the procedure requires a more than acceptable amount of time for error correction (Iskandar and Wester, 2000). Keeping this in mind, our Capstone team decided to focus on decreasing the number of errors in the scripts as well as eliminating inadequacies of the current system. The current system has the following problem areas: E-mail lists are stored in flat data files and are difficult to create and maintain. Vendors’ information is also kept in a flat data file that is difficult to maintain. There is no functionality to handle condition specific e-mails, such as an e-mail that notifies of a decryption or conversion error. The job stops entirely when it encounters a bad file or a duplicate file. This wastes time because files cannot continue processing until the on-call associate fixes the problem. There is no logging process that allows a user to check the progress of a file. For example, when a file fails there is no way of knowing the reason for its failure (i.e. unsuccessful decryption). All functionality resides in a single script and there is no modularity. This makes the system susceptible to failure. There is no method for detecting late files. There is no standardized user interface. GOAL The overall goal is to increase the efficiency of the data exchange process so that Capital One can better serve their vendors, and ultimately save money. The Capstone Team aimed to achieve this goal by developing an FTP Management System for use by Capital One associates. By increasing the efficiency of the data exchange process, the system enhances internal communications. 46 OBJECTIVES Cost and Time Objectives It has been determined that Capital One associates spend too much time fixing vendor related problems. The cost and time objectives for the project include: Reduce the startup cost of the system. Minimize the maintenance cost of the system over its lifetime. Minimize the time required to plan, develop, implement, and test the system. Ease integration into current operating procedures of Capital One and vendors. Minimize time required to educate system users. System Objectives The proposed system aims to solve the problems of the current system and also enhance its capabilities. System objectives include: Decrease the number of errors that occur and improve the method that detects and handles these errors. Improve communication between Capital One and vendors. Ease administration of vendor information. Streamline the vendor file transfer process by making it automated. Make the system more user-friendly. PROPOSED FTP MANAGEMENT SYSTEM The current file management system is not only faulty and inefficient, it is also extremely difficult to use since there is no front-end interface accompanying the system. The proposed FTP Management System, developed by our Capstone team, adds an easy-to-use GUI, as well as several other functionalities that will improve Capital One operations. These include a vendor configuration database that allows the user to easily input new vendors or make changes to current vendors, a tracking database that allows the user to easily search for files based on a wide variety of criterion, a file scheduling tool whereby the user can keep track of when specific files are due to Capital One, and an automatic e-mail notification tool which allows users to customize their options. The combination of all of these components makes the proposed FTP 2001 Systems Engineering Capstone Conference • University of Virginia Managements System more manageable than the current system. RESULTS System Architecture The proposed FTP Management System comprises three elements: a database, a graphical user interface, and scripts. The database stores information about files and business partners; the graphical interface allows users of the system to easily retrieve and manipulate information stored in the database; and the scripts provide functionality for the interface to access information in the database as well as for other tasks to be completed automatically. Database The database was designed using an entityrelationship approach where data was described as entities, attributes, and relationships. The relationships required particular attention because they represented the interactions between entities and were essential in database development. The entity-relationship model concentrated on specifying the properties of the data rather than the data storage requirements. After much analysis and discussion with database experts, the Capstone team decided that a single database to store all the information concerning business partners and tracking files would best suit the system’s needs. Figure 1 illustrates the entityrelationship diagram for this database. In the diagram, entity classes are represented by rectangles and their respective attributes are the connected ovals. The attributes that are underlined depict the unique keys of each class that are used for identification purposes, and the diamonds connecting the classes represent their respective relationships to each other. The 1’s and M’s are the cardinality constraints that put restrictions on the number of relationships that may exist at any one time. For example, in a one-to-many relationship, an entity in one role may have any number of relationships, but an entity in the other role may have at most one. According to the model, each vendor can provide many services, which are uniquely identified using the company name, file type, and product. Every service has a schedule of the frequency that files need to be sent to Capital One in addition to a list of contacts responsible for that service. Each service can produce a variety of files with associated logs that contains information, from the status table, to track the file as it is processed. When needed, this log sends email notification to the contacts (both on the Capital One and vendor side) that are responsible for each service to inform them of the progress of the file. The database, based on the entity-relationship model, was originally created in Microsoft Access for prototyping purposes. For the final version of the FTP Management System, the team decided to use Oracle because it is more efficient for storing and accessing large amounts of data. Graphical User Interface The goal of the interface is to provide the user with as much functionality as possible while still maintaining ease of use. The team created the interface using Microsoft Visual Basic with graphics created in Paint Shop. Once the first iteration of the interface was complete, the Capstone team conducted usability testing with Capital One associates, which further enhanced and modified the interface. Figure 1- Vendor Configuration & Tracking Database The first screen the user sees after selecting the FTP Management System icon is the login screen (see Figure 2 next page). The user’s login name and password authenticates the user and determines what access he or she is allowed. Administrators have full access, and non-administrators have read-only access with the ability to edit their personal information. 47 FTP Management System for Capital One Figure 2- Login Screen of GUI Once the user logs in, he or she has access to screens for file tracking, vendor, product, and contact information. These screens allow the user to search, edit, or configure new information. Figure 3 (below) shows the tracking search screen. This screen accepts information from the users and then searches for all files that fit the given criteria. The results are displayed in an easy-to-read table after the user hits the “search” button in the bottom right corner. Similar search screen are also available to search for vendors, products, and contacts. Figure 3- Tracking Search Screen Users can easily add new vendors, services, and contacts using the appropriate screens. As an example, Figure 4 (following column) shows the contact add screen. To add a new contact, the user simply fills in the appropriate information, most of which can be done using pull down menus. Once the changes are saved, all information is stored in the appropriate tables in the database. New vendors and products can be added in the same fashion. 48 Figure 4- Contact Add Screen The graphical user interface was designed taking into account the important aspects of usability. For example, by making buttons and labels intuitive, users can operate the system with little or no training. The results from usability testing illustrate that the FTP Management System with GUI is a considerable improvement over the current file transfer system. Scripts The code that connects the database to the interface and handles automated tasks is the backbone of the FTP Management System. These scripts are responsible for scheduling files to be received, file tracking, automatic email notification in the case of an error, and accessing and modifying information concerning files, contacts, and vendors. Because Capital One already has scripts that provide some of the functionality that the FTP Management System requires, the Capstone team was able to utilize them and develop new scripts as necessary. However, the original scripts needed to be modified because they were lengthy, difficult to understand, and contained redundant code. The majority of the modifications involved modularization so that each script serves a specific purpose and can be re-used and easily maintained as necessary. At the onset of the project, the Capstone team determined that some of the scripts for tracking files should be left for the client to implement because they require detailed knowledge of the network at Capital One. The team redefined the project scope for the backend functionality to only include writing new Unix and SQL scripts. Rewriting the existing scripts will be 2001 Systems Engineering Capstone Conference • University of Virginia left for Capital One Information Technology associates to complete in a second phase of the project. administrators, analysts, and vendors, which ultimately saves Capital One time and resources. Below is a brief description of the new scripts that provide functionality for the e-mail and scheduling tools: The solution has three main components, including the database, the graphical user interface, and the scripts. The database stores all of the information for files, vendors, products, and contacts; the graphical user interface allows users of the system to easily access and modify the information in the database; and the scripts allow users to query the database using the interface and also provide the backbone functionality for the system. Generate E-mail – (Unix) Creates a list of all files processed on the current date that have a status code requiring an e-mail. The send email notification script is executed for each file meeting these criteria. Send e-mail notification – (Unix) Retrieves the contact information for each file through the SQL statement get contacts. The e-mail is sent to those contacts by the send e-mail script. If this was executed properly, the log table is updated to show that an e-mail was sent. Send e-mail – (Unix) Sends notification e-mail to the specified contacts. Get contacts – (SQL) Based on the vendor, file type, product, and status code, a list of contacts is generated. Scheduling Completed Files – (SQL) Queries for files with a status code indicating that the file was recently processed. Updates the due date fields based on the frequency. Changes the status code to indicate that it was processed in the past. Scheduling Late File Finder – (SQL) Creates a list of files that were due that day, but not received. Creates a record in the log database with a status code of “late file”. The e-mail scripts will send a notification e-mail. In order to support the proposed system, the team also recommends several changes to the existing scripts. For a complete list of detailed script changes, refer to the Final Document. Other suggestions include modularizing the scripts to eliminate lengthy, redundant code and improving the code commenting so that the purpose of each function is clearer. CONCLUSIONS The thorough analysis and goal-centered design led to a feasible solution that solves Capital One’s needs. The FTP Management System corrects the errors with the current system and provides users with enhanced capabilities, which allows them to better manage files. The result is improved communication between Significance By eliminating the need for constant monitoring and error detection and correction, the proposed FTP Management System will significantly reduce the workload of system administrators. Associates can use this additional time to concentrate on other projects so that Capital One can continue developing technology to support their Information Based Strategy and remain at the forefront of the industry. By giving business analysts access to information concerning file receipt and processing, they are better able to serve their business partners. The increased knowledge gained by using the FTP Management System provides analysts with the resources needed to handle many routine activities and problems without relying solely on administrators as they did in the past. Vendors will also benefit from the proposed file transfer solution in the form of improved communication and less file transfer errors on the Capital One side. Completely eliminating vendor-side complications would require implementing an FTP Management System for vendors. However, Capital One has formed partnerships with a wide variety of vendors who use many different types of operating systems, and so it is extremely difficult to establish standardization across vendors, which is necessary for a non web-based vendor FTP Management System. Maintenance The FTP Management System was designed to ease the workload on Capital One associates as much as possible. Although the system is, for the most part, self-sufficient because all of the components function automatically, the system still requires maintenance and updating on a regular basis. Because the system mainly requires back-end maintenance, such as updating the 49 FTP Management System for Capital One scripts and making manual changes to the database, this job will be delegated to an associate in Marketing and Analysis Decisions Support Systems. (This department is responsible for maintaining the systems Capital One uses to interact with their vendors.) The front-end component of the system, the GUI, will not require maintenance unless Capital One decides to add functions to the system. This would require updating the GUI to accommodate such changes, as well as changing the database to support the GUI. the FTP Management System can simply be adapted for use on a larger scale. The design of the system is generic enough that it can easily be expanded and modified in the future. Future Recommendations Capital One. (March, 2001) About Capital One. http://home.capitalone.com/about/corpinfo/. There are several improvements that could be made in the future to further improve the system. The two suggestions that would have the most impact if implemented are a vendor-side system and user customization. Vendor-side FTP Management System Developing a vendor-side FTP Management System would be the next challenge in streamlining the file transfer process and easing the workload on Capital One associates. This would include: Creating a web-based vendor side interface allowing vendors to view the status of the files they have submitted, and maintain their contact list. Developing a vendor side file submission program that automatically generates proper file names and ensures that the file is encrypted, compressed, and transferred properly. This will eliminate the large element of human error on the vendor side. User-customization The GUI is already tailored specifically for a Capital One associate, but this could be taken one step further by customizing the GUI for each individual user. This would include: Allowing the user to customize the start up screen of the interface based on their login. This could automatically display the status of files that they are concerned with, or display the screen used most often by that user. The FTP Management System was originally developed only for Capital One associates in Marketing and Analysis Decision Support Systems (M&A DSS) and Partnerships and Small Businesses (PASB). However, the system can easily be modified to provide assistance to the entire company. The framework for 50 REFERENCES Austin, Hinds, Kopecky, Rahman. (October, 2000) Capstone Team Goals and Objectives. Capital One, internal document. Iskandar, K., & Wester, P. (2000) Interviews, conducted June- August 2000. BIOGRAPHIES Catherine Austin is a fourth-year Systems Engineering student, with a concentration in Management Information Systems. After graduation she is going to spend her summer traveling and then begin working in August at Capital One. Ashley Hinds is a fourth-year Systems Engineering student, with a concentration in Management Information Systems. Next year she will be working in Atlanta as a consultant for PricewaterhouseCoopers. She will spend this summer in Japan hiking Mt. Fuji and enjoying sushi. Jessa Kopecky is a fourth-year Systems Engineering student, with a concentration in Management Information Systems. Next year she will be working for Capital One, but plans to stay as far away as possible from the FTP Management Project. Before beginning work in August, she will spend the summer at the beach and traveling. Faheem Rahman is a fourth-year Systems Engineering student, with a concentration in Computer Information Systems. He enjoys Charlottesville so much that next year he will remain at UVA for graduate school.