designdoc

advertisement
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 userinput 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
information.
Requirements
#req
Proposed by
Creation
date
Description
Rationale
Target
completion
001
Christan Grant
9/1/2006
All user information shall be converted into
the certified 1040-CEN form.
Assuring accurate
calculations according
to government standards
and produce a quality
tax document that may
be printed out.
5 days
002
Scott Fagen
9/1/2006
Peter Kehagias
9/1/2006
004
Christan Grant
9/9/2006
Personal information is
required to process a
quality tax form.
User should not have to
enter their information
multiple times.
Provide The User with a
safe and secure log-in
experience.
4 days
003
005
Christan Grant
9/11/2006
This is to facilitate easy
entering of complicated
items.
6 days
006
Peter Kehagias
9/13/2006
Provides field to allow the user to easily
enter their personal information such as:
name, address, income, SSN...
Allow the user to store their data so they can
continue the process of entering information
during different session.
The system shall start up with a log in
screen. From this screen the user will have
the capability to login, register with their precreated password, or exit the program/
The program shall provide the user with a
drop down list of previously entered values
in a scroll list as they type in values to the
screen. This includes but is not limited to the
fields containing employment, money
earned, and others.
The system will temporarily save changes to
the user's information, once every five
minutes, in a temporary save file.
8 days
007
Peter Kehagias
9/13/2006
The system will present the user with
important dates for filing forms with the IRS.
008
Scott Fagen
9/13/2006
009
Scott Fagen
9/13/2006
When exiting the program the user is queried
as to if they would like the changes they
have made to be updated.
Documentation. Each part of the software
that requires user interaction should have a
form of assistance in the program.
This will prevent the
loss of data in the event
of a system crash, power
loss, or other
misfortune.
To make sure the user
knows how much time
they have left to
complete their tasks
involving taxes.
A feature to help
improve usability and to
prevent loss of data.
Full explanations will
allow the user to get
their worth from the
software.
010
Peter Kehagias
9/18/2006
The user will be allowed to load their
previously saved data and continue where
they left off.
7 days
011
Christan Grant
9/18/2006
Information saved by the user will be
encrypted into the file system.
This allows saving the
information to be
effective. If you can
save it, but not load it,
you can’t use it.
This allows the both
safety and security from
any unauthorized access
to the users CPU.
Peter Kehagias
10/3/2006
The user will be allowed to export the
calculated data to an easily printed text file.
To allow the user to fill
out their tax form
wherever they want, or
possibly bring the
information to a tax
consultant to consider
more advanced
deductions.
1 day
10 days
2 days
1 days
3 days
9 days
3 days
012
013
Download