Sei sulla pagina 1di 27

jhf

1
Abstract/ Synopsis For Final Project (CS-17)

INDEX

1) Introduction & Objectives Of The Project

2) Project Category (OOPS)

3) Tools / Platform, languages to be used

4) A complete structure of the program:

(i) Data Flow Diagrams

(ii) Number of modules and their description

(iii) Data Structures

(iv) Process Logic

5) Scope of future application.

2
1. Introduction & Objectives
Activity Control System (ACTITIME) is a time collection software that is

streamlined for billing and invoicing purposes. ACTITIME allows time tracking for

customer and project related tasks. After being collected the data can then be

exported for invoice generation.

The major tasks, which are performed by the current project are:

1. Create user accounts


2. Register billing types (optionally)
3. Register customers
4. Register projects
5. Add tasks

After completion of these steps we will be ready to submit time-track.

Create user accounts

Login as the Root system user for initial set up of user accounts. To log in

provide username 'root' and password 'manager'.

The Root is a pre-defined system user that always has all access rights

except the right for time-track submission. Access rights of the Root user cannot be

modified. The Root user cannot be deleted.

For security purposes change the predefined password of the Root user

before proceeding with data setup. To change password of the Root user follow the

instructions listed in the section

Add system users and grant them access rights necessary for their everyday work.

3
Each user can be granted one or more access rights. The role executed by a

user, as well as the category a user belongs to, depend on the access rights granted

to the user. There are no pre-defined user categories (or roles) in ACTITIME. We

need to grant a user those access rights that are necessary for his/her everyday

work, and that is all.

If you are going to track overtime, enable overtime tracking when creating

user accounts. Otherwise it is recommended to keep overtime tracking disabled

because this will simplify interfaces for the time-track submission.

Register billing types (optionally)

If you are going to classify tasks using billing types, create the necessary

billing types now.

You can skip this step and return to creation of billing types later. In this case

all created tasks will be associated with the default billing type. If you decide to use

non-default billing types, you will have to update this association for all existing tasks

after creation of the billing types. ,

Register customers

ACTITIME collects time expenses for tasks associated with particular project

and customer. So before creation of tasks you should register at least one customer

and one project.

Register projects

Before adding tasks you should create at least one project associated with a

customer registered on the previous step.

4
2. Project Category OOPS
Java is one of the most reliable web enabled application designing tool while

implementing the object oriented features and possessing industry standard security

features.

Creation of Java:

James Gosling conceived Java. Patrick Naughton, Chris Warth, Ed Frank


and Mike Sheridan at Sun Micro Systems Incorporation in 1991. It took 18 months
to develop the first working version. This language was initially called OAK in
1992 and public announcement of Java in 1995, many more contributed to the
design and evolution of the language.

JAVA IS PORTABLE:

One of the biggest advantages Java offers is that it is portable. An application

written in Java will run on all the major platforms. Any computer with a Java based

browser can run the applications or applets written in the Java programming

language. A programmer no longer has to write one program to run on a

Macintosh, another program to run on a Windows machine, still another to run on a

Unix machine and so on. In other words, with Java, developers write their programs

only once.

The virtual machine is what gives Java a cross platform capabilities. Rather

than being complied into machine language, which is different for each operating

systems and computer architecture, Java code is compiled into byte codes. With

other languages, the program code is complied into a language that the computer

can understand. The problem is that other computers with different machine

instruction set cannot understand that language. Java code, on the other hand is

complied into byte codes rather than a machine language. These byte codes go to

5
the Java virtual machine, which executes them directly or translates them into the

language that is understood by the machine running it.

In summary, these means that with the JDBC API extending Java, a

programmer writing Java code can access all the major relational databases on any

platform that supports the Java virtual machine.

FEATURES OF JAVA:

Compiled and interpreted

Platform Independent

Portable

Object-oriented

Robust and secure

Distribute

Simple small and familiar

Multithread and interactive

High performance

Dynamic and extensible

6
3. Tools/ Platform, Languages To Be
Used

Hardware and Software Configuration of the System:

Pentium IV Processor. 40 GB HDD, 256 MB RAM.

Tomcat Web Server 5.025

J2SE 1.4.

JDBC/ODBC drivers installed.

Java Server Pages

Struts Framework 1.1

Functional Java enabled browser.

Data Base (MySQL).

Operating System (Windows 2000).

7
4. (i) UML Analysis

User Management

Customer Management

Project Management

Task Management
Administrator

Calender Pref erence Mgmt.

Billing Ty pe Management

Submit Time Track

View Time Track


User

Delete Time Track

8
GUI Component

Data Store Customer


At_User
Menu Input Screen

Access_Right Billing Type


Options Report

User_Task
<<instantiates>>
<<uses>>

Task User_Access_Right

Project tt_Record

Data Manipulator
User Management Submit Time Track

Delete Time Track

Project Management View Time Track

Task Management Billing Type Management

Customer Management Calender Preference Management

9
(Billable/Non Billable)
New Customer Select Customer Type Generate Customer ID

Accept User Input Update Customer


Get Other Details

Customer ID

Delete Customer Manipulate Details

Customer ID

Validation Process

10
( Prroject ID )

(Billable/Non Billable)
New Project Select Project Type Generate Project ID

Accept User Input Update Project


Get Other Details

Project ID

Delete Project Manipulate Details

Project ID

Validation Process

11
4. (ii) Description Of Modules
The project ACTITIME can be differentiated into the following modules:

1) Registration of time expences

Registration of time expences consists of the following activities related


to registering and managing your personal time expenses:
Submitting time-track
Viewing personal time-track
Modifying personal time-track
Deleting personal time-track

Time-track is ACTITIME's term used to refer to working time submitted


and stored in the system.

To access the interfaces for submission of time-track use the top-level


menu option 'Submit Time-track'. To access the interfaces for browsing
the submitted time-track use the top-level menu option 'My Time-track'.

Users shall have the 'Submit Time-Track' access right to access interfaces
for submission and browsing of time-track. Note that the users who do
not have this right as well as user 'root' will not see these interfaces at all.

The interfaces for submission and management of personal time-track


always show and store time tracked by the user who is currently logged
in. To browse the time-track submitted by other users use the Staff
output report (see section Generate staff output report).

12
2) Task, project, and customer management

Task, Project, and Customer Management includes the following activities:


Customer Management
o Registering customers in the system
o Editing information of registered customers
Project Management
o Registering projects in the system
o Editing information of registered projects
Task management
o Creation of new tasks
o Editing task information
o Completing and re-opening tasks
o Browsing open and completed tasks

To access the interfaces for Tasks, Projects, and Customers Management use top-
level menu option 'Projects & Tasks'.

There are three (3) access rights defined for Task, Project, and Customer
Management:

Manage Customers
Manage Projects
Manage Tasks

Each of the access rights regulates user access to the corresponding subset of
system interfaces. System users may have any combination of these access rights.
For example:

A user who has only 'Manage Tasks' access right will be able to create new
tasks to track time expenses for, but will not be allowed to create new projects
and customers.
A user who has only 'Manage Customers' access right will be able to create
and modify customers but will not be able to create projects and tasks.

13
Grant these access rights to users according their responsibilities in everyday work.
If you do not need to introduce subordination between users and responsibilities, just
grant all three access rights to those users who are responsible for project/task
management in your organization. For example, you can grant them to project
managers.

3) Reporting

ACTITIME provides you with several reports which can be used for billing and
management purposes:
Staff output report
Personal output report
Billing summary report
Overtime report
Invoice data report

Each of the reports can be generated in the detailed and summary form. Records
included into a report may be grouped by projects, customers, dates, users and
billing types. Availability of grouping options depends on the selected report.

To access the reporting interfaces of ACTITIME, use the top-level menu option
'Reports'.

There are three (3) access rights defined for accessing system reports:

Generate Reports
Prepare Invoice Data
Submit Time-Track

The access right 'Generate Reports' regulates a user's access to the Staff output,
Billing summary, and Overtime reports. The access right 'Prepare Invoice Data'
regulates a user's access to the interfaces for exporting invoice data.

The access right 'Submit Time-Track' regulates a user's access to the interfaces for
time submission and to the Personal output report. This report is a substitution of the

14
Staff output report for the cases when the user should be able to view and analyze
his/her own time expenses, but should not be able to view time expenses reported
by others (and thus does not have the access right 'Generate Reports').

System users may have any combination of these access rights. Note that users
who do not have an access right will not see the corresponding interfaces at all.

4) System administration

System Administration includes the following activities:


Billing Type Management
o Registering new billing types in the system
o Editing information about the registered billing types
User Management
o Registering new system users
o Editing access rights and contact information of the registered users
o Managing (enabling/disabling) user access to the system
Management of calendar preferences
o Configuring non-default working and nonworking days
o Choosing calendar layout
o Specifying default workday duration

To access the system administration interfaces of ACTITIME, use the top-level menu
option 'Administration'.

There are two (2) access rights defined for accessing the System Administration
interfaces:

Manage Billing Types


Manage Users
Manage Calendar Preferences

Each of the access rights regulates user access to the corresponding subset of the
system interfaces. System users may have any combination of these access rights.
For example:

15
A user who has only 'Manage Users' access right will be able to create new
system users and modify registered ones, but will not be allowed to create
new billing types and manage calendar preferences.
A user who has only 'Manage Billing Types' access right will be able to create
and modify billing types but will not be able to register new system users and
manage calendar preferences.

Grant these access rights to users according to their responsibilities in everyday


work.

5) Creation of invoices in QuickBooks

ACTITIME allows you to import time expenses into QuickBooks. On the base of
these data QuickBooks creates invoices.

To import invoice data for some customer into QuickBooks, you have to export
them from ACTITIME in the qbXML format first (see section Export invoice data from
ACTITIME). Then this qbXML file can be imported into QuickBooks with ACTITIME
Invoice Importer utility which comes in a separate package (see section Import
invoice data into QuickBooks). QuickBooks creates one invoice per each import
performed by Invoice Importer. Invoice Importer has to be installed on the same
computer onto which QuickBooks has been installed.

16
4. (iii) Data Structures (Tables)
Table Name: Access_right

Field Name Data Type Constraint


Id Int(3) Primary key
Name Varchar(50)
Description Varchar(255)

Table Name: at_user


Field Name Data Type Constraint
Id Int(3) Primary key
UserName Varchar(50) unique
Usernamelower Varchar(32)
Md5_password Varchar(32)
Firstname Varchar(32)
Middlename Varchar(32)
Lastname Varchar(32)
Email Varchar(255)
Phone Varchar(32)
Fax Varchar(32)
Mobile Varchar(32)
Other_contact Varchar(32)
Is_root Tinyint(1)
Is_enabled Tinyint(1)

Table Name: billing_type

Field Name Data Type Constraint


Id Int(3) Unique
Name Varchar(255)
Name_lower Varchar(255) unique

Table Name: customer

Field Name Data Type Constraint


Id Int(3) Unique
CreateTimeStamp Datetime
Name Varchar(255)
Name_lower Varchar(255) Unique
Description Text
Billing_status Tinyint(1)

17
Table Name: project

Field Name Data Type Constraint


Id Int(3) Unique
Customer_id Int(11) Foreign key
CreateTimestamp Datetime
Name Varchar(255)
Namelower Varchar(255)
Description Text
Billing_status Tinyint(1)
Default_billing_typeid Int(11) Foreign Key

Table Name: task

Field Name Data Type Constraint


Id Int(5) Primary Key
ProjectId Int(11) Foreign Key
Createtimestamp Datetime
Completiondate Date
Last_tt_date date
Name Varchar(255)
Namelower Varchar(255)
Description Text
Deadlindate Date
Billing_status Tinyint(1)
Billing_type_id Int(11) Foreign Key

Table Name: tt_record

Field Name Data Type Constraint


Userid Int(3) Foreign Key
Taskid Int(5) Foreign Key
Record_date Date
Actuals Int(11)

Table Name: user_access_right

Field Name Data Type Constraint


User_ID Int(3) Foreign key
Access_right_ID Int(3) Foreign key

18
Table Name: user_task

Field Name Data Type Constraint


User_id Int(3) Foreign key
Task_id Int(5) Foreign key

19
4.(iv) Process Logic
REGISTRATION OF TIME EXPENCES

START

Accept User ID &


Password

Check for Authentication

NO
Vali
d
User
YES

Accept the Operation to


be Done

NO Submit
Time
Track

View NO Modify/ YES


Personality Delete
Accept Time
Track Info
YES

Accept Time
Track Info
Update Info

Modify/Delete
Time Track

STOP

20
TASK/PROJECT AND CUSTOMER MANAGEMENT

START

Accept User Input

Register
NO New
Customer/
Project

Accept YES
Customer/Project
ID Accept Customer/Project
Details

Edit the Info &


Update Info
Update the DB
Concerned

STOP

21
REPORTING

START

Accept User ID &


Password

Process the ID & Get Accessibility


Rights

Has
Privileges to
Generate
Reports

YES

Accept Type of Report


to be Generated

Generate Reports

STOP

22
PROCESS LOGIC

START

Accept User Input

NO Create New
Task

NO Edit
Tas YES
k
YES
Accept Table Parameters
Complete/Reopen Accept Edit
Task Parameters

Update task

Update Task

STOP

23
BILL TYPE MANAGEMENT

START

Accept User Input

Configure NO
Working
Days
Accept Bill Type ID
YES

Accept User Input


NO
Validation

Generate Bill Type ID and


Store Bill Type Details
YES

Accept New Bill Type


Parameter

STOP Update Database

24
MANAGING CALENDER PREFERENCE

START

Accept User Input

Configure
Working
Days

Accept New Bill Type YES


Parameter

Accept User Input

Update Database

Update Database

STOP

25
CREATION OF INVOICE IN QUICK BOOKS

START

Select the Invoice Data


to be Exported

Export them in qbxml Format

Import qbxml File to Quick


Books with actiTime Invoice
Imports Utility

Create Invoice per Each


Import

STOP

26
5. Scope of Future Application
The Activity Control System can be further developed into a separate, automated
system with the following enhancements:

A mail server can be implemented to send mails directly from the system to
the inbox of the recipient. The code needed for the same is being
implemented except the mail server.
Help file can be included. The system, as of now, does not support any help
facility for the users of the system. A help menu can be provided with a special
function key and help command in the main page itself. Help can be either
introduced as a separate window, a reference to a printed manual or as one
or two line suggestion produced in a fixed screen location.
The system can use typed commands, as they were once the most common
mode of communication with the system. The typed command can be
provided through control sequence or function keys or typed word.
A training module can be included in the system. This module can be used to
train the users of the system about the systems usage. The training module
can be in the form of a HTML file describing different commands usage and
the overall function of the system. This would be a handy tool for the
developer to train the HR department people.

27

Potrebbero piacerti anche