Design Document - CISE

Document Sample
Design Document - CISE Powered By Docstoc
					                                                                                Robert Jack
                                                                             Peter Kehagias
                                                                                Scott Fagen
                                                                             Christan Grant

Design Document
Every US citizen is required to collect and process their personal financial information
each year to calculate the amount of taxes that they owe the government. Most people
have a rough knowledge of the tax code and consequently spend a lot of time and money
calculating their taxes. Because the tax code is set of pre-defined rules that are used to
process each person’s financial information, it is possible to automate the processing of
taxes with software.
        This tax software will help individual US citizens collect, store, calculate, report,
and pay their taxes. It will take the user’s personal tax information as input, store the
information locally on the user’s hard drive, process the information based off of the US
tax code, output the results to the user,
and allow the user to print the resulting
output for submission to the IRS. This
software will use an encryption
algorithm to encode the input
information before it is stored on the
hard drive for security purposes.
        Due to the constraints of the
project specification, we will not be
utilizing a database management system
or a web based interface to build this
software. Instead, we will be using a
stand-alone GUI application written in
java. We will use the java swing package
to build the software installation wizard,
login screen, data input forms, data
output screens, and an interface for program settings and configuration. For printed
output, we will be using a java PDF package to construct printable PDF files for the tax
software output. For data storage, all data will be encrypted and stored on the user’s hard
disk or outputted to a proprietary file format designed to contain our encrypted user data
and processed tax forms.
        The high level design of this software consists of a user management and access
control component, a GUI component, a tax program logic component, a storage
component, a security component, and a program installation component. The user
management and access control component will restrict access to the tax software by
requiring users to enter a pre-defined login name and password before accessing the
software or the encrypted data contained within it. These login and password
combinations will be defined by the user during the program installation wizard and can
be modified in the program configuration portion of the GUI component. The GUI
component will be responsible for interfacing the user with all aspects of the system.
There will be GUI screens for user login, data input, data output, printing, program
settings and configuration, documentation, help, and installation wizard. The tax program
logic component will contain functions for processing all required user input data. The
methods by which this logic will work will depend on the US tax code defined by the IRS
and the US government. This portion of the software may interface with a centralized
server over the internet to ensure that the software is always using the most up-to-date tax
information, however, if this functionality were implemented, an additional network
component would be needed. The storage component will coordinate the storage of user-
input and processed data into data structures on the hard disk. This component will call
on functions from the security component, which will be responsible for encrypting all
data that is collected from the user and stored on the hard drive. The program installation
component will consist of a wizard that will collect information from the user, guiding
them through the installation and initial configuration.
        By including all of the above functionality in a stand-alone GUI application, this
software will make it much easier for an individual US citizen to collect, store, calculate,
report, and pay their taxes. In addition, this software has the potential to increase the
accuracy of each user’s tax filings, saving them time and money in the process.

High Level Framework
This is the high level representation of the tax processing system. The tax processing
system contains four dynamic functionalities the first being the Graphical User Interface
                                           (GUI). The purpose for the GUI is to provide
                                           an aesthetics interface between the user and
                                           backend processes.       Back-end processes
                                           include the encryption engine, tax computator,
                                           printer, and file system mediums.         The
                                           encryption engine encrypts user information
                                           providing a high-level security and safety.
                                           The tax computator is the module which
                                           intelligently calculates tax information and
                                           also provided user with tips on how to
                                           increase their deductions. Both printer and
                                           file system mediums provide the user a
                                           manner in which to revisit their calculated

#req   Proposed by      Creation    Description                                         Rationale                    Target
                        date                                                                                         completion
001    Christan Grant   9/1/2006    All user information shall be converted into        Assuring accurate            5 days
                                    the certified 1040-CEN form.                        calculations according
                                                                                        to government standards
                                                                                        and produce a quality
                                                                                        tax document that may
                                                                                        be printed out.

002    Scott Fagen      9/1/2006    Provides field to allow the user to easily          Personal information is      4 days
                                    enter their personal information such as:           required to process a
                                    name, address, income, SSN...                       quality tax form.
003    Peter Kehagias   9/1/2006    Allow the user to store their data so they can      User should not have to      10 days
                                    continue the process of entering information        enter their information
                                    during different session.                           multiple times.
004    Christan Grant   9/9/2006    The system shall start up with a log in             Provide The User with a      2 days
                                    screen. From this screen the user will have         safe and secure log-in
                                    the capability to login, register with their pre-   experience.
                                    created password, or exit the program/
005    Christan Grant   9/11/2006   The program shall provide the user with a           This is to facilitate easy   6 days
                                    drop down list of previously entered values         entering of complicated
                                    in a scroll list as they type in values to the      items.
                                    screen. This includes but is not limited to the
                                    fields containing employment, money
                                    earned, and others.
006    Peter Kehagias   9/13/2006   The system will temporarily save changes to         This will prevent the        8 days
                                    the user's information, once every five             loss of data in the event
                                    minutes, in a temporary save file.                  of a system crash, power
                                                                                        loss, or other
007    Peter Kehagias   9/13/2006   The system will present the user with               To make sure the user        1 days
                                    important dates for filing forms with the IRS.      knows how much time
                                                                                        they have left to
                                                                                        complete their tasks
                                                                                        involving taxes.
008    Scott Fagen      9/13/2006   When exiting the program the user is queried        A feature to help            3 days
                                    as to if they would like the changes they           improve usability and to
                                    have made to be updated.                            prevent loss of data.
009    Scott Fagen      9/13/2006   Documentation. Each part of the software            Full explanations will       9 days
                                    that requires user interaction should have a        allow the user to get
                                    form of assistance in the program.                  their worth from the
010    Peter Kehagias   9/18/2006   The user will be allowed to load their              This allows saving the       7 days
                                    previously saved data and continue where            information to be
                                    they left off.                                      effective. If you can
                                                                                        save it, but not load it,
                                                                                        you can’t use it.
011    Christan Grant   9/18/2006   Information saved by the user will be               This allows the both         3 days
                                    encrypted into the file system.                     safety and security from
                                                                                        any unauthorized access
                                                                                        to the users CPU.

013    Peter Kehagias   10/3/2006   The user will be allowed to export the              To allow the user to fill    1 day
                                    calculated data to an easily printed text file.     out their tax form
                                                                                        wherever they want, or
                                                                                        possibly bring the
                                                                                        information to a tax
                                                                                        consultant to consider
                                                                                        more advanced

Shared By: