Instant Finance Requirements Document

Spring Quarter 1996

Project Sponsor:

Gregory Abowd

Project Team:

Brian Leslie (Manager)
Dedrick Ducket (Architect)
Geoff Menegay (Programmer)
Jason Pastor (Programmer)
David Daniell (Technical Writer)


Contents


Project Description of Target System

The recent advent of the Java programming language has the potential to revolutionize the way computing is done in the future, allowing the Web browser to replace the traditional GUI desktop and software to be written for cross-platform use, interfacing with the Web as a distributed file system. The Future Computing Environments (FCE) group here at Georgia Tech, as part of the CyberDesk project, is promoting the development of a set of personal productivity tools using the Java programming paradigm, to help encourage a break from the GUI desktop.

This project will build a financial manager that will make use of the possibilities of Java. As such, it will be platform independent, able to run from any machine capable of running the Java virtual machine. Also, it will allow remote access to account information from any web browser.

The financial manager will provide for the tracking of several different types of bank accounts, including checking, savings, and credit card accounts. A front-end Java applet will control the access to a user's accounts. Once logged in, the user will be able to select accounts to view, generate reports and graphs, or perform account maintenance (creating or deleting accounts, etc.). The opening of a specific account will spawn another Java applet to handle interaction within that account. Once within a specific account, a user will be able to add, delete, or edit transactions, generate reports and graphs, and perform other various tasks.


Scenario descriptions

Here are three scenarios depicting typical uses of the Instant Finance system.

Scenario 1: New User

Joe Cuppa heard about a new applet called Instant Finance. He decides to try it out and points his web browser to the appropriate URL. The first thing Joe sees is a dialog box asking him for his login name and password. He is not sure what to enter here, but sees a button called "New User". He clicks on that, which brings up a new dialog box with instructions on choosing a new name and password. He enters the information and clicks OK. A splash screen is displayed. Along the side there are tabs saying "Checking", "Savings", "Credit", and "Report". Joe clicks on the Checking tab. The display is split into a list of Checking Accounts on the top, and text fields under that in which to enter information for a new account. Joe enters in the information (account name, owner, interest rate, and beginning balance) for his college checking account, and hits the OK button. The account is immediately displayed in the upper portion of the window. He remembers he just wrote his first check today. He highlights the newly created account and clicks the Open button. The bottom half of the screen changes to look like a check. Joe enters in the appropriate data into the check, and "signs" it by hitting the OK button. The upper part of the window now reflects his current balance, as well as summarizing the transaction in the style of a check register. He hits the Return button, goes back to the splash screen (while Instant Finance informs him that his changes have been saved), and quits his web browser, knowing that he can return to the URL to manage his finances whenever he wants.

Scenario 2: Experienced User

Dietrich, the manager of a company, has been maintaining his finances with Instant Finance for quite some time now. One particular day, he sits at his computer and fires up his web browser. "This has always been so convenient and easy to use. Almost automatic," he thinks to himself. He opens up the Instant Finance URL and logs in.

Now, on this particular day, he has made quite a few purchases. This morning, he made the purchase of a Clarion DRX9275 head unit for his auto sound system with his very last check in the book he had with him. He then proceeded to the nearest Radio Shack to procure stereo installation componentry. Using his credit card, he bought the store out of solderless connectors. He then went to his place of work (he had the day off) and picked up his weekly check, at which time he proceeded to the nearby bank to deposit half of it in savings and half in checking.

After logging in, he is met with a pleasant splash screen and clicks on the Checking tab to the right of the virtual check book. A blank check is displayed with the register above it just like his own checkbook. He then proceeds to fill out the check as he had earlier that day. Upon completion of the check, he clicks on the Update button and the register is automatically updated. But, to Dietrich's dismay, a dialog box pops up informing him that he is now overdrawn. Dietrich takes note of this and proceeds to enter his other transactions. He clicks on the Credit Card tab to the right of the check, and enters his credit card purchase from the receipt he received from Radio Shack. His balance and monthly payments are automatically updated and clearly displayed. He then goes to his savings accounts by clicking on the Savings tab. He enters in the half of his check that he deposited earlier, and examines his massive balance. This gives him an idea: he clicks on the transfer button, and tells Instant Finance that he wishes to transfer some money to his checking account, and then checks his balance by clicking on the check again. No complaints from Instant Finance! He's no longer overdrawn. The plan worked! Now he grabs his jacket and heads out the door to get to the bank to transfer his funds before closing time.

Scenario 3: Reports

Damon, a Georgia Tech student, has been saving money he has earned from his new job for the past six months. Because he is tired of not having easily accessible transportation and because he must move off campus over the summer, he has decided to purchase a new car.

Thrifty and cautious, Damon is quite the responsible student. He has been keeping track of all of his transactions through Instant Finance. Before he commits to a four-year loan he wants to make sure he has planned ahead.

From first glance at his records Damon is going to have to cut back on his expenses -- but where? After logging in to his account, Damon enters the Instant Finance Report Manager by simply clicking on the tab labeled "Report Manager." After choosing the Category breakdown option, he analyzes his budget by including his credit card, savings, and checking accounts and by selecting Food, Clothing, Tuition, Books, and Entertainment expenses to include in the graph. He then enters the beginning and end date of the six month period to get a good idea of his average budget and clicks "Graph." He can hardly believe his eyes when a colorful three dimensional graph appears.

"Maybe I shouldn't buy a keg every weekend" he thinks as he realizes that over half of his budget is consumed by entertainment expenses. "If I just cut back a little on my entertainment expenses I can get that new Twin Turbo I've always wanted."


Storyboarding

To help derive the functional requirements of Instant Finance, several storyboards were prepared, depicting various aspects of the user interface.

This first image shows the initial screen that a user will see when connecting to the location of the Instant Finance applet. It prompts the user for the relevant login information.

If the user has never used Instant Finance before, then this second dialog screen will appear, prompting the new user for a new login name and password. Since the password will not be displayed as it is typed, the user must type it twice (to verify that there are no typographical errors).

After the user's login information is verified (or created, as the case may be), the user is presented with this opening screen, the image of a closed checkbook. From here the user can select one of the tabs along the right side of the checkbook to open a particular account.

For example, here the user has opened to the "Checking" tab, which brings up all of the user's checking accounts. From this view, the user can open, create, or delete individual checking accounts, and see some basic high-level information about each account. There will be similar account-type screens for the "Savings" and "Credit Card" tabs.

Here is an example of an open account. In this case, with an account of type Checking, the user sees two parts of the screen, replicating the traditional checkbook and transaction register combination. At the top is the account's register, listing all transactions in the account. The most recent transactions will be at the bottom, and the user can scroll up and down to bring other transactions into view. Buttons are available for entering new deposits or withdrawals, deleting a selected transaction, or returning to the Accounts display. The bottom half of the display shows a representation of a check, for entering of a new check from this account.

This image shows the Report Manager screen. The top half of the screen controls the layout and other properties of the graph displayed in the the lower area of the screen. It allows selection of accounts, categories, dates, and graph types. Pressing the Graph button creates a graph with the given options and updates the lower portion of the screen to display the new graph.


Functional Requirements

The functional requirements of the different interfaces and program parts are listed in order of importance. The requirements listed first will be implemented first.

Account Display:

Checking Accounts:

Savings Accounts:

Credit Card Accounts:

Reports:


Non-Functional Requirements

Usability:

Instant Finance must be intuitive enough such that a user with average background in using computers (but little knowledge of the Instant Finance system) can quickly experiment with the system and learn how to:

On-line help will be available in the final prototype but this Usability requirement will be evaluated using a prototype stripped of on-line help in order to more rigorously test the usability of the system.

The testers will be chosen from people with an average background in using computers and of course, those with a basic knowledge of finances. Prior to testing they will be told (in broad, abstract terms) what the system can do. They will be given about 20 minutes to experiment with the system. If the testers can learn to do the above bulleted items, then Instant Finance will have met this Usability requirement.

Speed:

Instant Finance must be fast enough such that a user with average background in using computers (but little knowledge of the Instant Finance system) can use the system in such a way that:

"Long" is defined as: greater than 5 seconds between clicking on a choice and having the appropriate response fully displayed. Instant Finance will have met the Speed requirement if the bulleted items remain true during Usability testing.

Fault Tolerance:

Instant Finance must:

The programmers will guarantee this by checking for errors at every stage of user input. Instant Finance will meet this requirement if it handles all valid input correctly, and rejects all invalid user input. This requirement will be tested by thoroughly running the system with all forms of input.

Security:

As data files are to be kept on the host machine, Instant Finance must guarantee that:

The Security requirement will have been met if the programmers, other team members, and outside parties can not cause the Instant Finance system to fail on any of the bulleted items.

Data Safety:

Instant Finance must guarantee that the users' data is safe. In particular, it must:

Instant Finance will have met this requirement if it reliably and successfully accomplishes the bulleted items.


Platform and Network Environment

The product will be a Java applet -- therefore, the target platform is a the Java Virtual Machine. Ideally, any Java-enabled web browser is a valid target platform. Realistically, if subtle differences occur over platforms, we will use Solaris Java as the definitive platform.

The following are required for the user to run Instant Finance:

The vehicle platform will be a Solaris machine running Appletviewer (a tool distributed in the Java Developer's Kit) and Netscape Navigator 2.0.


Risk Analysis

Using Java as the development language Instant Finance poses several risks or potential problems:

Another potential problem is the loss of a team member. The loss of any team member would result in a reassignment of duties, shared among the remaining team members, with loss of the manager being the one exception. The loss of a manager will result in one of the remaining team members being assigned the position of manager. The new manager would also share greatly in other responsibilities, including documentation and programming.

None of the programmers on this development team have very much experience with the Java language. While time for training has been scheduled, there is the potential that unfamiliarity with the language will result in some difficulty with implementation, extending the time needed for programming. In attempts to prevent this situation, several members of the team have invested in books on Java (such as Teach Yourself Java in 21 Days from sams.net and O'Reilly's Java in a Nutshell).

A final risk, inherent in any software project, is the possibility of confusion due to multiple modules in different states of revision, or multiple programmers editing the same modules. This would result in potential conflicts between modules, and perhaps some strange errors. To reduce the chances of such conflicts, the programming team will use RCS (Revision Control System) to keep track of the editing and revision history.


to the Instant Finance Project Notebook
Comments to: dwd@cc.gatech.edu / home page
Last modified: Mon May 6 11:21:30 1996