• No results found

DESIGN DOCUMETATION OPEN SOURCE TIME TRACKING SYSTEM. Supervisors. Prepared by: SA-G3

N/A
N/A
Protected

Academic year: 2021

Share "DESIGN DOCUMETATION OPEN SOURCE TIME TRACKING SYSTEM. Supervisors. Prepared by: SA-G3"

Copied!
27
0
0

Loading.... (view fulltext now)

Full text

(1)

Supervisors

Mr. Shantha Fernando, Senior Lecturer Dept. of Computer Science & Engineering Mr. Indika Perera, Lecturer Dept. of Computer Science & Engineering

Mr. Aruna Dissanayake, Valista

Prepared by: SA-G3

Asanka Siriwardena 050434D Gobalakrishnan Nishandan 050295B Purathani Gunanayagam 050346J Satchithanantham Mayuran 050271A

DESIGN DOCUMETATION

(2)

1.

Contents

1.1.

Prerequisites ... 1

1.2.

Proposed audience ... 1

3.1.

Assumption and dependencies... 3

3.2.

Scope of the project ... 3

3.3.

Development methods ... 3

4.1.

Abstract System View ... 4

4.1.1.

Presentation Layer ... 5

4.1.2.

Application Layer ... 6

4.1.3.

Data Access Layer ... 6

5.1.

Use Case View ... 7

5.1.1.

User level use case diagram ... 7

1.

Introduction ... 1

2.

System Overview ... 2

3.

Design consideration ... 3

4.

System Architecture ... 4

(3)

5.1.2.

Use case diagram of manager ... 8

5.1.3.

Use case diagram for normal users ... 10

5.2.

Activity Diagrams ... 11

5.2.1.

Activity Diagram for Administrator: ... 11

5.2.2.

Activity diagram for Managers: ... 12

5.2.3.

Activity Diagram for normal users: ... 13

5.2.4.

Activity Diagram for Project files Extraction: ... 15

5.3.

Class Diagrams ... 16

5.4.

Component Diagram ... 18

5.5.

Sequence Diagrams ... 19

5.5.1.

Sequence Diagram for Administrator and Managers ... 19

5.5.2.

Sequence Diagram for users ... 20

5.5.3.

Sequence Diagram for overall system ... 21

(4)

TABLE OF FIGURES

FIGURE 1[ABSTRACT SYSTEM VIEW] ... 4

FIGURE 2[USE CASE FOR USER LEVEL] ... 7

FIGURE 3[USE CASE FOR MANAGER] ... 8

FIGURE 4[USE CASE FOR USER] ... 10

FIGURE 5[ACTIVITY DIAGRAM FOR ADMIN] ... 11

FIGURE 6[ACTIVITY DIAGRAM FOR MANAGER] ... 12

FIGURE 7[ACTIVITY DIAGRAM FOR USER] ... 14

FIGURE 8[ACTIVITY DIAGRAM FOR FILE EXTRACTION] ... 15

FIGURE 9[CLASS DIAGRAM OF SYSTEM] ... 17

FIGURE 10[COMPONENT DIAGRAM OF SYSTEM] ... 18

FIGURE 11[SEQUENCE DIAGRAM OF ADMIN/MANAGER]... 19

FIGURE 12[ACTIVITY DIAGRAM OF USER] ... 20

FIGURE 13[ACTIVITY DIAGRAM OF SYSTEM] ... 21

FIGURE 14[DATABASE DIAGRAM OF SYSTEM] ... 22

(5)

1

1.

Introduction

This is the software design and specification document which is highlighting the design consideration of our project “Open Source Time Tracking System”. It is a system which is implementing the functionalities of web-based time tracking system “WR Time Tracker” with MS Project, email and IDE integration.

1.1.

Prerequisites

Prerequisites for this document are the Project Proposal and Software Requirements Specifications.

1.2.

Proposed audience

The intended audience of this document are the software company ‘Valista’, the project supervisor, the course coordinator and the project team members who will play at least one or many roles such as requirement engineer, software process engineer, software developer, project manager, software architect, quality assurance engineer and technical writer throughout the project life cycle.

(6)

2

2.

System Overview

The “Open Source Time Tracking System” is a cross platform tool that is implementing the functionalities of web based time tracker “WR Time Tracker” with MS Project, email and IDE integration. The “Open Source Time Tracker” is not just replacement of “WR Time Tracker”. The tool is capable of parsing MS Project file and extracting the project task details according to the user.

Apart from the main implementation of time tracker the system has plug-ins for Mozilla thunderbird, eclipse IDE and IntelliJ IDEA to capture the time involvement of user in each of above tools.

As this is a cross platform system, all the implementations are done with java programming language.

This “Open Source Time Tracker” is using two types of database, one XML database for saving the local user’s current work status and one MySQL database for saving all the details.

(7)

3

3.

Design consideration

3.1.

Assumption and dependencies

Hardware requirements: Enough memory and processing power for run java VM

Software requirements: MySQL database, WR Time tracker server

Operating system: This system should be work with both Windows and UNIX operating systems environment.

3.2.

Scope of the project

The scope of this project is to develop a cross platform desktop client application similar to Google desktop in look, to capture the time involvement in each task by every employee. It will be easy to capture the worked time of employees and can be easy to maintain good time management.

3.3.

Development methods

We have used the “Agile software development” to implement this project. Short time boxes are used for mini iterations and the progress verified. The development team meets frequently to discuss about the progress of the project and constant feedback from the users are obtained wherever and whenever possible.

(8)

4

4.

System Architecture

4.1.

Abstract System View

PRESENTATION LAYER

APPLICATION LAYER

DATA ACCESS LAYER

GUI LOGIN MANAGER PROFILE MANAGER PROJECT MANAGER

ACTIVITY MANAGER PLUG-INS INVOICE GENERATOR REPORT GENERATOR XML PARSER DATABASE MANAGER

(9)

5

The system is designed on the conventional three layered architecture composed of the Presentation Layer which contains all the logic related to the user interface and profile options, the Application Layer which contains all the logic related to “WR Time Tracking System”, and the Data Access Layer which handles all the interactions the application has with the database.

4.1.1.

Presentation Layer

GUI

System has common GUI with different views for managers, co-managers and normal users. When the user logs in to system, the login manager selects the appropriate view of the user according to their user level.

LOGIN MANAGER

The login manager handles all the login related processes such as authentication. PROFILE MANAGER

The profile manager is responsible for selecting the appropriate view of the user according to the user level.

PROJECT MANAGER

The project manager is responsible for creating new projects, editing existing projects deleting finished projects and assign new users for projects.

ACTIVITY MANAGER

The activity manager is responsible for creating new activities, edit existing activities delete finished activities.

PULG-INS

(10)

6

4.1.2.

Application Layer

The application layer has all the logic of the system. Every activity of presentation layer has to go through the application layer.

XML PARSER

The xml parser is responsible for extract the project details and updates them into the database. The xml file will be uploaded in a shared folder by the particular project manager. REPORT GENERATER

Report generator is handling the report generation process and sending the generated reports to managers via mail.

INVOICE GENERATOR

Invoice generator is responsible for generate invoices for billing purposes.

4.1.3.

Data Access Layer

DATABASE MANAGER

The database manager is providing interfaces to higher layers to read and write data from the database and to the database.

(11)

7

5.

Detailed System Design

5.1.

Use Case View

5.1.1.

User level use case diagram

The following diagram shows the use case diagram of user level. User levels are,

1. Administrator 2. Manager 3. Co – Manager 4. Developer

(12)

8

5.1.2.

Use case diagram of manager

Manager

Manager supervises a team of users and co-managers by having full access to team data by playing the most important role in Time Tracker application. Time Tracker can handle multiple teams. Team manager controls only one team.

(13)

9

The following activities can be done by manager,

Project Management

Manager can create projects for his team including editing and deleting the projects that are already created. For a particular project, he can create task and assign users (developers) to that facilitating the editing and deleting for both created tasks and assigned user.

Create co-manager account

In case of team is too big to manage or handle, the manager will create co-manager accounts dividing the team into sub teams. Then the co –managers will be responsible for managing those sub teams.

Manage team data

Manager will be managing the data from co-managers as well as data from sub group team members.

Create reports

Manager can generate reports for the entire team as well as for individual members. Individual users also can create their own reports.

Generate Invoices

The manager also can generate invoices for co-managers as well as users according to the hourly rate if their tasks are billable.

Co-manager:

Co-manager performs some of manager's tasks such as working with users, projects, activities, generating reports, and invoices.

(14)

10

5.1.3.

Use case diagram for normal users

Users will be using the time tracker system to enter their work times. He can log into the Time tracking system by entering username and password. Then he can start capturing time at the beginning of task involvement and stop the time capturing after finishing his tasks to submit the time involvement related to that task. Users can generate reports for themselves to view the progress and check their task status. Also he can reset password in order to receive a new password to his mail account.

(15)

11

5.2.

Activity Diagrams

5.2.1.

Activity Diagram for Administrator:

The administrator of this time tracker will be had following these activities below in the activity diagram. She/he has authority to create the team managers, edit created team managers and import teams’ data. And also they can customize the both dynamic and static database fields.

Login to the system

Create team managers

Delete created team managers Edit/Modify created team managers

Import teams data

[If required]

Customize dynamic database fields

Send modifications to particular managers

Logout the system

(16)

12

5.2.2.

Activity diagram for Managers:

One of the key roles of this system is managers. They will organize the team activities by creating project, create activity/task, assign users, generate reports and upload the project file into the shared folder. If the team is large then managers can create co-managers and allow them to manage the team with same permissions which are having by managers.

Login to the system

Access team data

Manage Project Generate Reports Manage own teams

Delete project Edit project

Create project

Select Activity Create Activity

Assign Users

[If large Team]

Create Co-Managers

[If Managable Team]

Supervise Activity

Upload Project file in shared folder

Send Emails

Logout the system

(17)

13

5.2.3.

Activity Diagram for normal users:

Normal user will be using the time tracker system to enter their work times. The normal user will be doing the following tasks.

Login time tracker:

Perform the authentication

Start and stop timer:

User enters the time spend on each activity by clicking start and stop buttons of relevant activity.

Logout time tracker:

(18)

14 Login By EmailID & Password

Check Validation

[If Success]

Error Message

[If Fails]

User Interface

Select Particular Task

Start Timer

Stop Timer

Processing Task

Log Out the interface

[If requested]

Send Report to Manager

Calculating time Do the selected task after start the time.

(19)

15

5.2.4.

Activity Diagram for Project files Extraction:

The users will parse an MS project file that is saved in shared folder by the project managers and extracts tasks assigned to a given resource on the user interface. Extraction will be happen on the user interface by using his login name and password. The project manager will be getting mail alerts when the tasks are updated. And he will provide emails when he will upload the project files to the shared folder.

Users ProjectManagers

Upload Project file in shared folder Login with EmailID & Password

Extract Project file

[If Success]

[If fail]

Display Error Message

Display Extraction Successful

Update in the database

View the task details Edit tasks in project file

Save edited tasks

Send Emails

(20)

16

5.3.

Class Diagrams

(21)

17 +createCoManager() +assignUser() +createProject() +deleteProject() +editProject() +createActivity() Manager +startTimeTracker() +setProgress() +stopTimeTracker() Developers +createTeam() +importteamData() Administrator +createProject() +editProject() +deleteProject() +assignUser() +createActivity() +generateInvoice() Co_Manager +systemLogin() +generateReport() +resetPassword() #Name : String #email : String #Password : String User +setProject() +setActivity() +setUser() +setTimePeriod() +setFieldValues() +setGroupBy() +isBillable() : bool +setReportType() +checkuserLevel() -repName : String -repTitle : String -repUser : String Report +getFinishTime() +getProgressDetails() +createBody() +setMailServer() +selectReciever() -Title : String -Sender : String -Reciever : String Mail +createUserSession() +initateSession() +closeUserSession() -user_name : String -user_level : short Session +checkLogin() +createSession() +connetEmailServer() +callAPI() +startTimeTracking() +stopTimeTracking() +getTotalTime() -MozillaPluginClass +convertToXml() XmlReport +exportToExel() CSVRepor 1 0..* +loadApplication() +loadPlugin() +initiateComponents() +setGUIProperty() +invokeLoad()

-TimeTrackerJFrame frame : object -ActJPanel actpanel : object -PeopleJPanel ppl : object -ProjectJPanel proj : object

TimeTrackerMain 1 * 1 0..* * 0..* +getLocation() +seperateTokens() +formatOutput() +exportToInterface() -FileStream file : object -StreamReader reader : object -fileLocation : String -StreamWriter write : object

XmlParse

*

*

*

(22)

18

5.4.

Component Diagram

The following diagram shows the components of “Open Source Time Tracking System” and the interaction between the components.

(23)

19

5.5.

Sequence Diagrams

5.5.1.

Sequence Diagram for Administrator and Managers

After successfully login to his/her user account, manager can create a new team or can import a team already created which is form of xml file. Addition to that manager can be added new country to the database and can edit or deactivate the country which is already inserted into database.

Manager can be created the co-manager, normal users such as developers and clients using his/her user privileges. And also can delete them or edit their profile. Then manager will create the projects and activities for the projects. Later he/she can be edited or deleted the projects or activities which those are created earlier. The manager can generate the report according to his requirements.

(24)

20

5.5.2.

Sequence Diagram for users

After successfully login to his/her user account, each and every user can see the projects and the activities which those are created by manager for all users. But particular activity which is related to particular user will be able to access. And he/she can only view others’ activities, Can’t be accessed. When user starts to do the activity, timer will start to count the time. Then finish the activity timer will stop the counting the time for the particular activity involved by the user.

And users also can be generated the reports. To generate the report they will have to select the project, activity and time periods.

(25)

21

5.5.3.

Sequence Diagram for overall system

After the finishing the activities by users they will save it in xml database which is in the local host. Later they will update it to the server and server will save or update the database using those details passed by the server. Same as retrieve also will be done.

(26)

22

5.6.

Database Design

(27)

23 Figure 15[database diagram of system]

References

Related documents

The PROMs questionnaire used in the national programme, contains several elements; the EQ-5D measure, which forms the basis for all individual procedure

This is a special meeting and the regular Forum meeting on February 7, 2006 will be held featuring Gerrit Nitters, a Distinguished Lecturer speaking well stimulation.. • Rod

In the simplest scheme based on the boolean model for retrieval, we retrieve the documents that have occurrences of both good and teacher.. Such

Christ before Pilate at the trial of Jesus revealed one of his last claims. Jesus and his word are ultimate truth. The Pontius Pilate and Jesus exchange set the two positions

The simulations with a random distribution of particles suggest that it may be possible to reduce or even suppress overall serrations in the effective behaviour of strain ageing

Advanced Driver Assistance Systems and the Elderly: Knowledge, Experience and Usage Barriers..

The study in this paper is based on a group of Norwegian teachers at lower primary school level who, together with a teacher educator in a focus group interview, reflected on

When the Nautitech Methane Shutdown System Solenoid Valve fails to the open position, the automatic shutdown of the diesel engine system (due to detection of methane gas