Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
Abstract/ Synopsis For Final Project (CS-17)
INDEX
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
The major tasks, which are performed by the current project are:
Login as the Root system user for initial set up of user accounts. To log in
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
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
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
If you are going to track overtime, enable overtime tracking when creating
If you are going to classify tasks using billing types, create the necessary
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
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
Register projects
Before adding tasks you should create at least one project associated with a
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:
JAVA IS PORTABLE:
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
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
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
FEATURES OF JAVA:
Platform Independent
Portable
Object-oriented
Distribute
High performance
6
3. Tools/ Platform, Languages To Be
Used
J2SE 1.4.
7
4. (i) UML Analysis
User Management
Customer Management
Project Management
Task Management
Administrator
Billing Ty pe Management
8
GUI Component
User_Task
<<instantiates>>
<<uses>>
Task User_Access_Right
Project tt_Record
Data Manipulator
User Management Submit Time Track
9
(Billable/Non Billable)
New Customer Select Customer Type Generate Customer ID
Customer ID
Customer ID
Validation Process
10
( Prroject ID )
(Billable/Non Billable)
New Project Select Project Type Generate Project ID
Project ID
Project ID
Validation Process
11
4. (ii) Description Of Modules
The project ACTITIME can be differentiated into the following modules:
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.
12
2) Task, project, and customer management
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
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:
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.
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
17
Table Name: project
18
Table Name: user_task
19
4.(iv) Process Logic
REGISTRATION OF TIME EXPENCES
START
NO
Vali
d
User
YES
NO Submit
Time
Track
Accept Time
Track Info
Update Info
Modify/Delete
Time Track
STOP
20
TASK/PROJECT AND CUSTOMER MANAGEMENT
START
Register
NO New
Customer/
Project
Accept YES
Customer/Project
ID Accept Customer/Project
Details
STOP
21
REPORTING
START
Has
Privileges to
Generate
Reports
YES
Generate Reports
STOP
22
PROCESS LOGIC
START
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
Configure NO
Working
Days
Accept Bill Type ID
YES
24
MANAGING CALENDER PREFERENCE
START
Configure
Working
Days
Update Database
Update Database
STOP
25
CREATION OF INVOICE IN QUICK BOOKS
START
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