You are on page 1of 25

Table of Contents

Executive Summary................................................................................................................................. 2 Introduction ............................................................................................................................................. 3 Project Objective ................................................................................................................................. 4 The scope and boundaries ................................................................................................................... 5 Business Rule .......................................................................................................................................... 6 Admin module .................................................................................................................................... 6 Incoming Call Module ........................................................................................................................ 6 Outgoing Call Module ........................................................................................................................ 6 Entity Relationship Model ...................................................................................................................... 7 Admin Module Entity Relationship Diagram ..................................................................................... 7 Explanation for admin module ERD ............................................................................................... 7 Incoming Call Module Entity Relationship Diagram ......................................................................... 8 Explanation for incoming module ERD.......................................................................................... 8 Outgoing Call Module Entity Relationship Diagram.......................................................................... 9 ........................................................................................................................................................ 9 Explanation for Outgoing call module ............................................................................................ 9 Normalization ....................................................................................................................................... 10 Data Dictionary ..................................................................................................................................... 15 Physical Design..................................................................................................................................... 16 Data Storage Organization, Data Integrity, Security Measures, Data Administration Issues ........... 16 Database Implementation...................................................................................................................... 16 Front-end system design and implementation ...................................................................................... 21 Graphical User Interface (GUI) ........................................................................................................ 21 Project Problems and Pitfalls ................................................................................................................ 23 Conclusion and Recommendations ....................................................................................................... 24 References ............................................................................................................................................. 25

Executive Summary

This personal phone call tracking system is aimed to identify and track all incoming and outgoing call. This system will record all of the information regarding any calls. A phone call tracking system allows us to keep track with the phone calls that were made so that we can monitor the effectiveness and keep the record for further action. By using this phone call tracking system, we can record every call as well as track information such as what number was dialled, what time of day it was dialled, the duration of the call, and the geographical location of the caller. This phone call tracking system will enable the user to generate reports so that it will ease them to keep track all the calls in a more effective way and improve their ways to manage and update all of the action that they need to settle up regarding the incoming and outgoing calls. As an example, this system will generate the reports of the missed calls, the caller information like number and their respective geographical area. By using this personal call tracking system, departments can track incoming customer calls easily, ensuring the calls follow the process required to complete the request successfully. In addition, users can find calls existing in the system quickly by using views that list calls by whom the call is assigned to or the status of the call that was received. This system is designed according to the needs of an organizational company or any administration department of a workplace which it will help the user that use this system to prevent the redundancy of information and help the user or admin to retrieve the data more efficiently and effectively. Other than that this system also will help user to save time and ease the admin to find any information regarding the phone call and enhance the productivity and performance of the company or any organizational that used this system. It could also help to assign the type of call which need immediate action or any important task to be settle or should be done thus, the user or admin will update and retrieve information with ease and faster.

Introduction

There are a few problems with the phone call database system currently work. Nowadays technologies have improved a lot compared to the old days. Hence, the phone call database need to be improved to follow the technologies and solve user problems. Below is some example of the current system that should be improved. To solve the problem we create personal phone call tracking to improve the efficiency of phone call database system. Example of Current system Problem Motivation our project we will

A school store phone number in They do not have a phone call In their database system.

tracking and when at a time there implement incoming call is few incoming calls and some module to solve the problem. will be missed. The problem is The clerk can look up all the the information is not stored in missed calls, incoming call the database and the clerk cannot and information who had call back the person who calls. called them in the database system by using this module.

Home phone call database. This The user doesnt know how much By seeing this problem we database usually only stores the the cost of their daily outgoing are motivated to create information of incoming and call. Telecommunication service outgoing call module to outgoing calls. only sends the bill once in a track all the outgoing call month. information. Hence, the user can supervise their calls

anytime so that they can manage their budget not over the cost limit daily. In a company there will be lots Sometimes employee misuse the For this problem we are of phone. Usually the database company telephone to call motivated to create admin to track all the

only handles outgoing call phone someone else and using it in a module numbers only.

long time and cost high bills. But information. So the admin admin does not have any prove can supervise the phone call whether they call client or from their company.

someone else.

Figure below shows example of current phone call database system that has been built.

Figure1: this is example of school database system that store phone number and all the details about student in that school.

Project Objective
The objective of our project is to help and allows user to keep track with the phone calls that were made so that they can monitor the effectiveness and keep the record for further actions. Using phone call tracking database, we can record every call as well as track information such as what number was dialed, what time of day it was dialed, the duration of the call, and the geographic location of the caller. The target user that will be benefited from this database system is the administrator of organization such as clerk, manager and director. They should have this Personal phone call tracking database system to improve their efficiency of information management. How the project will be applied? In our project we will be using 3 modules which are admin module, outgoing module and incoming module.

In the admin module, an admin could add and manage users to the system. Besides that, admin also can generate reports such as total no of outgoing calls with details of user contribution. The admin would also be able to set the outgoing call rates.

In the outgoing calls module, the outgoing calls and its details can be recorded and tracked by individual user. Moreover, when a new contact is identified then it will be added into the contact manager and personal outgoing call report can be generated.

In the incoming call module, the incoming call details will be recorded and users can track the individual user. New contact also will be added into the contact manager and call reports can be generated.

The scope and boundaries


The Call Tracking System provides a way for a user or admin to track all the information about a phone call, making it easier to manage the status of requests and guaranteeing that each request is followed through specific steps to completion. When a customer calls, systems create a record and store in the database. Personal phone call tracking database is a multi-user system which is can be used by any institutions. In this database program only the admin can access the information. Admin can change the rate of phone call, name of the client, and all the details. But admin cant change the duration of call, type of call, and time of the call.

Business Rule
Admin module
Business Rule Explanation Normal users can access to all the processes. 1. There are 2 types of user which is admin user and Admin users can perform two more action which is call normal user. costing and managing user. Each record is managed by one admin but admin can 2. All records can only be manage one or more record. changed by one admin. Each admin will have their own password to access the system. 3. Only Admin user can add phone number to Contact. Admin user can add many phone number into Contact Phone number will be stored in this format (ex : 60123456789) Each contact info is saved in Contact will have name, address, contact type (student, staff, etc) and added by which Admin user.

Incoming Call Module


Business Rule 1. One incoming call can only have one phone number at one time. 2. One user can have many phone number 3. One incoming call will have many follow-up call Explanation All incoming call will be recorded and the phone number will be saved in Contact Info.

The repetition of phone number will be recognized by User ID. The action that had to be taken will be stated in the remarks column.

Outgoing Call Module


Business Rule Explanation The phone number will be saved in Contact Info (User ID, 1. Many outgoing call can name, address and added by which admin user) have many phone number 2. Many outgoing call will have many call costing. Call costing will be calculated by multiplying call rate with outgoing call duration.

Entity Relationship Model


Admin Module Entity Relationship Diagram

Explanation for admin module ERD

User for this phone call system will be classified into two types of user which is Admin and Normal user. Both of the user will be identified by their user identification number and their name. There is also their joined date and type of the user for this entity. Normal user will be able to access most of the system except for the call costing and managing the user which will only be access by admin user. Admin user will be able to access the whole system without any restriction. For Incoming call, there is Call_Type and Duration attributes so that for every incoming call that being received it will be classified to its type and also the duration of the incoming call will be recorded. The user will manage the contact which is being categorized to three categories which is student, staff or others. 7

Incoming Call Module Entity Relationship Diagram

Explanation for incoming module ERD

For this incoming call entity there will be type of call that being received and the duration of time for the call as attributes. Every incoming call module will have follow up either it have to be outgoing call or any action that need to be done. Each incoming call will have contact information which will be classified into student, staff or other categories. For contact entity, there will be the information and the details about the contact which is name, contact type, address and the user that add the contact.

Outgoing Call Module Entity Relationship Diagram

Explanation for Outgoing call module


Outgoing call module will allow the admin to trace the total cost that had been made. There is contact identification that act as the primary key for this entity. The outgoing call will be assigned from the Call_Type from CALL table. Admin will be able to know the rate of the call and also the duration that have been done for every call.

Normalization
1) Admin Module
First Normal Form (1NF) conversion ADMIN(USER_ID,USER_JOIN_DATE,USER_TYPE,CALL_ID,CALL_TIME,CALL_DA TE,CALL_TYPE,CONTACT_ID,CONTACT_NAME,CONTACT_ADDRESS,ADDED_BY ,CONTACT_TYPE,MAJOR,FLOOR_NO,ROOM_NO,RELATIONSHIP) The table is in first normal form (1NF) because: All keys attributes are defined. No repeating groups in the table. All attributes are dependent on the primary key.

Second Normal Form (2NF) conversion.

USER_ID

USER_JOIN_DATE USER_TYPE

Table name: USER USER(USER_ID,USER_JOIN_DATE,USER_TYPE)

CALL_ID

CALL_TIME

CALL_DATE

CALL_TYPE

Table name: CALL_DETAILS CALL_DETAILS(CALL_ID,CALL_ TIME,CALL_ DATE,CALL_TYPE)

CALL_ID

CONTACT_ID

USER_ID

Table name: CALL CALL(CALL_ID,CONTACT_ID,USER_ID)

10

CONTACT_ID

CONTACT_NAME

CONTACT_ADDRESS

ADDED_BY

CONTACT_TYPE

MAJOR

FLOOR_NO

ROOM_NO

RELATIONSHIP

Table name: CONTACT CONTACT(CONTACT_ID,CONTACT_NAME,CONTACT_ADDRESS,ADDED_BY,CO NTACT_TYPE,MAJOR,FLOOR_NO,ROOM_NO,RELATIONSHIP) -No partial dependencies and no transitive dependencies -The table is in second normal form (2NF) and third normal form(3NF) 2) Incoming Call Module First Normal Form (1NF) conversion INCOMING(USER_ID,USER_JOIN_DATE,USER_TYPE,CALL_ID,CONTACT_ID,FOLL OW_UP_DATE,FOLLOW_UP_REMARKS) The table is in first normal form (1NF) because: All keys attributes are defined. No repeating groups in the table. All attributes are dependent on the primary key.

Second Normal Form (2NF) conversion.

USER_ID

USER_JOIN_DATE USER_TYPE

11

Table name: USER USER(USER_ID,USER_JOIN_DATE,USER_TYPE)

CALL_ID

CONTACT_ID

USER_ID

Table name: CALL CALL(CALL_ID,CONTACT_ID,USER_ID)

CALL_ID

FOLLOW_UP_DATE FOLLOW_UP_REMARKS

Table name: FOLLOW_UP_DETAILS FOLLOW_UP_DETAILS(CALL_ID, FOLLOW_UP_DATE,FOLLOW_UP_REMARKS)

CALL_ID Table name: FOLLOW_UP SUBJECT (CALL_ID, CONTACT_ID)

CONTACT_ID

-No partial dependencies and no transitive dependencies -The table is in second normal form (2NF) and third normal form(3NF)

12

3) Outgoing Module First Normal Form (1NF) conversion OUTGOING(USER_ID,USER_JOIN_DATE,USER_TYPE,CALL_ID,CONTACT_ID,COS TING_ID,DURATION,CALL_RATE) The table is in first normal form (1NF) because: All keys attributes are defined. No repeating groups in the table. All attributes are dependent on the primary key.

Second Normal Form (2NF) conversion.

USER_ID

USER_JOIN_DATE USER_TYPE

Table name: USER USER(USER_ID,USER_JOIN_DATE,USER_TYPE)

CALL_ID

CALL_TIME

CALL_DATE

CALL_TYPE

Table name: CALL_DETAILS CALL_DETAILS(CALL_ID,CALL_ TIME,CALL_ DATE,CALL_TYPE)

CALL_ID

CONTACT_ID

USER_ID

Table name: CALL CALL(CALL_ID,CONTACT_ID,USER_ID)

13

CALL_ID

CONTACT_ID

USER_ID

COSTING_ID

Table name: CALL_COSTING CALL_COSTING(CALL_ID, CONTACT_ID, USER_ID,COSTING_ID)

COSTING _ID

DURATION

CALL_RATE

Table name: COSTING COSTING (COSTING_ID,DURATION,CALL_RATE)

-No partial dependencies and no transitive dependencies -The table is in second normal form (2NF) and third normal form(3NF)

14

Data Dictionary
Table Name Data Field Data Dictionary Definition User Id Join Date of User Type of user Call Id Date of call Time of call Type of call Follow up code Date for follow up Things to be done Contact Id Contact number Type ,Length Format Range

USER_PROFILE

USER_ID USER_JOIN_DA TE USER_TYPE

Number (6) Date Varchar2(10) Number (6) Date Long Varchar2(20) Number (6) Date Varchar2(20)

999999 DD month YY

100000999999

CALL

CALL_ID CALL_DATE CALL_TIME CALL_TYPE

999999 DD month YY

100000999999

FOLLOW_UP

FOLLOW_UP_C ODE FOLLOW_UP_D ATE FOLLOW_UP_R EMARKS CONTACT_ID CONTACT_NU M NAME ADDRESS ADDED_BY

999999 DD month YY

100000999999

CONTACT

Number (6) Number(10)

999999 601999999 99

100000999999 600000000 609999999

Contact name Varchar2(20) Contact address Varchar2(20) Data added by Varchar2(20) Student major Staffs Floor number Staffs Room number Relation Call costing Id Call rate Duration of call Varchar2(20) Number(3) Number(3) 999 999 100-999 100-999

STUDENT_PROFILE STAFF_PROFILE

MAJOR FLOOR_NO ROOM_NO

OTHER_PROFILE CALL_COSTING

RELATIONSHIP CALL_COSTIN G_ID CALL_RATE DURATION

Varchar2(20) Number (6) Long Long 999999 100000999999

15

Physical Design
Data Storage Organization, Data Integrity, Security Measures, Data Administration Issues
There will be two type of user for this system which is normal user and admin. For security measure, only admin will allowed to have a full access to the system. To make the database system not being more complex, admin user are fixed to have AD initial in front of the username. All users will have the same username and password which is already being assigned for each type of user such as 147852 for admin while 123456 for normal user. To prevent any errors to occurs, only admin will be able to manage user and also make call costing. Normal user will be able to view the call log which is incoming call, outgoing call and also the contact details of the person that called up but not to manage user and also call costing.

Database Implementation
CONTACT PROFILE TABLE INSERT INTO CONTACT_PROFILE VALUES('CT1100','0137023449','News John','7045, Butterworth, Penang','Admin','Student'); INSERT INTO CONTACT_PROFILE VALUES('CT1101','0147584269','Senior David','453, Jln. Tenggiri, Perai, Penang','User','Student'); INSERT INTO CONTACT_PROFILE VALUES('CT1102','0125874596','Arbough June','3, Blok 5, Lrg. 6, Sg. Petani, Kedah','User','Staff'); INSERT INTO CONTACT_PROFILE VALUES('CT1103','0152457896','Ramoras Anne','G31, Lrg. Bawal 76, Jitra, Kedah','Admin','Staff'); INSERT INTO CONTACT_PROFILE VALUES('CT1104','0132459658','Johnson Alice','4321, Jln. Todak, Petaling Jaya, Selangor','Admin','Student'); INSERT INTO CONTACT_PROFILE VALUES('CT1104','0171234567','Smithfield William','R54, Jln. Kalui, Petaling Jaya, Selangor','User','Student'); INSERT INTO CONTACT_PROFILE VALUES('CT1105','0122232255','Alonzo Maria','G32, Lrg. Kelisa, Kuantan, Pahang','Admin','Student'); INSERT INTO CONTACT_PROFILE VALUES('CT1106','0199586778','Washington Ralph','3059, Tasek Gelugor, Penang ','User','Student'); INSERT INTO CONTACT_PROFILE VALUES('CT1107','0194540342','Smith Larry','1990, Kota Bharu, Kelantan','User','Staff'); INSERT INTO CONTACT_PROFILE VALUES('CT1108','0199118999','Olenko Gerald','Lot 123, Kg. Lama, Klang, Selangor','User','Staff'); INSERT INTO CONTACT_PROFILE VALUES('CT1109','0172548978','Smithson Darlene','P.O Box 333, Ayer Itam, Penang','User','Other'); INSERT INTO CONTACT_PROFILE VALUES('CT1110','0114785875','Joenbrood Delbert','326, Jalan Kerapu, Danga Bay, Johor','Admin','Other'); INSERT INTO CONTACT_PROFILE VALUES('CT1111','0165478545','Jones Annelise','No. 76, 16

Taman Uda, Kota Bharu, Kelantan','User','Student'); INSERT INTO CONTACT_PROFILE VALUES('CT1112','0195874589','Bawangi Travis','543, Kampung Chengal, Kota Bharu, Kelantan','User','Staff'); INSERT INTO CONTACT_PROFILE VALUES('CT1113','0125454521','Pratt Gerald','No.9, Halaman Bukit Gambir, Penang','User','Student'); INSERT INTO CONTACT_PROFILE VALUES('CT1114','0133656212','Williamson Angie','T873, Jln. Kompang, Alor Setar, Kedah','Admin','Staff'); INSERT INTO CONTACT_PROFILE VALUES('CT1115','0199575362','Frommer James','Lot 45, Jln. Botol, Kepong, Kuala Lumpur','Admin','Other'); INSERT INTO CONTACT_PROFILE VALUES('CT1116','0135874213','Jennifer Anniston','No. 45, Taman Malau, Kota Bharu, Kelantan','User','Student'); INSERT INTO CONTACT_PROFILE VALUES('CT1117','0122587458','John Travis','142, Kampung Tinggi, Kota Tinggi, Johor','User','Staff'); INSERT INTO CONTACT_PROFILE VALUES('CT1118','0123698547','Gerard Burn','No.10, Bandar Khucing, Sarawak','User','Student'); INSERT INTO CONTACT_PROFILE VALUES('CT1119','0198743512','George Huggy','T47, Jln. Lobang, Sungai Petani, Kedah','Admin','Staff'); INSERT INTO CONTACT_PROFILE VALUES('CT1120','0175922139','Baby Bobby','Lot 5, Jln. Baru, Kampar, Perak','Admin','Other'); SELECT * FROM CONTACT_PROFILE

CALL DETAILS TABLE INSERT INTO CALL_DETAILS VALUES('C5001','23/NOV/2013','2.25','Incoming Call'); INSERT INTO CALL_DETAILS VALUES('C5002','23/NOV/2013','11.01','Incoming Call'); INSERT INTO CALL_DETAILS VALUES('C5003','23/NOV/2013','08.32','Incoming Call'); INSERT INTO CALL_DETAILS VALUES('C5004','23/NOV/2013','08.12','Incoming Call'); INSERT INTO CALL_DETAILS VALUES('C5005','23/NOV/2013','10.15','Incoming Call'); INSERT INTO CALL_DETAILS VALUES('C5006','23/NOV/2013','09.30','Incoming Call'); INSERT INTO CALL_DETAILS VALUES('C5007','23/NOV/2013','09.10','Incoming Call'); INSERT INTO CALL_DETAILS VALUES('C5008','23/NOV/2013','03.45','Incoming Call'); INSERT INTO CALL_DETAILS VALUES('C5009','23/NOV/2013','10.01','Incoming Call'); INSERT INTO CALL_DETAILS VALUES('C5010','23/NOV/2013','4.09','Incoming Call'); INSERT INTO CALL_DETAILS VALUES('C5011','23/NOV/2013','01.12','Outgoing Call'); INSERT INTO CALL_DETAILS VALUES('C5012','23/NOV/2013','14.02','Outgoing Call'); INSERT INTO CALL_DETAILS VALUES('C5013','23/NOV/2013','05.57','Outgoing Call'); INSERT INTO CALL_DETAILS VALUES('C5014','23/NOV/2013','05.16','Outgoing Call'); INSERT INTO CALL_DETAILS VALUES('C5015','23/NOV/2013','04.12','Outgoing Call'); INSERT INTO CALL_DETAILS VALUES('C5016','23/NOV/2013','04.15','Outgoing Call'); INSERT INTO CALL_DETAILS VALUES('C5017','23/NOV/2013','20.15','Outgoing Call'); INSERT INTO CALL_DETAILS VALUES('C5018','23/NOV/2013','22.02','Outgoing Call'); INSERT INTO CALL_DETAILS VALUES('C5019','23/NOV/2013','03.10','Outgoing Call'); INSERT INTO CALL_DETAILS VALUES('C5020','23/NOV/2013','06.42','Outgoing Call'); INSERT INTO CALL_DETAILS VALUES('C5021','23/NOV/2013','08.11','Outgoing Call'); INSERT INTO CALL_DETAILS VALUES('C5022','23/NOV/2013','07.28','Outgoing Call'); SELECT * FROM CALL_DETAILS

FOLLOW UP DETAILS TABLE INSERT INTO INCOMING_CALL VALUES('1100','News John','60137023449','2.25','Nedd to call back','3001'); 17

INSERT INTO INCOMING_CALL VALUES('1101','Senior David','60147584269','11.01','Appointment with Dr.Ali','3002'); INSERT INTO INCOMING_CALL VALUES('1102','Arbough June','60125874596','08.32','Reporting wifi problem','3003'); INSERT INTO INCOMING_CALL VALUES('1103','Ramoras Anne','60152457896','08.12','Need to call back','3004'); INSERT INTO INCOMING_CALL VALUES('1104','Johnson Alice','60132459658','10.15','Asking for examination timetable','3005'); INSERT INTO INCOMING_CALL VALUES('1109','Smithfield William','60171234567','09.30','Will come to office to take certificate','3006'); INSERT INTO INCOMING_CALL VALUES('1105','Alonzo Maria','60122232255','09.10','Asking for vanue for final examination','3007'); INSERT INTO INCOMING_CALL VALUES('1106','Washington Ralph','60199586778','03.45','Upcoming school society activity','3008'); INSERT INTO INCOMING_CALL VALUES('1107','Smith Larry','60194540342','10.01','Reporting elevator problem','3009'); INSERT INTO INCOMING_CALL VALUES('1108','Olenko Gerald','60199118999','4.09','Complaining about toilet hygiene','3010');

FOLLOW UP TABLE INSERT INTO FOLLOW_UP VALUES('3001','02/FEB/2013','Nedd to call back'); INSERT INTO FOLLOW_UP VALUES('3002','07/JAN/2013','Appointment with Dr.Ali'); INSERT INTO FOLLOW_UP VALUES('3003','21/APR/2013','Reporting wifi problem'); INSERT INTO FOLLOW_UP VALUES('3004','15/FEB/2013','Need to call back'); INSERT INTO FOLLOW_UP VALUES('3005','17/MAY/2013','Asking for examination timetable'); INSERT INTO FOLLOW_UP VALUES('3006','05/JAN/2013','Will come to office to take certificate'); INSERT INTO FOLLOW_UP VALUES('3007','30/JUN/2013','Asking for vanue for final examination'); INSERT INTO FOLLOW_UP VALUES('3008','01/FEB/2013','Upcoming school society activity'); INSERT INTO FOLLOW_UP VALUES('3009','29/JAN/2013','Reporting elevator problem'); INSERT INTO FOLLOW_UP VALUES('3010','06/APR/2013','Complaining about toilet hygiene');

CALL COSTING TABLE INSERT INTO CALL_COSTING VALUES('C5011','1109','1.12','2.73'); INSERT INTO CALL_COSTING VALUES('C5012','1110','14.02','2.10'); INSERT INTO CALL_COSTING VALUES('C5013','1111','5.57','0.84'); INSERT INTO CALL_COSTING VALUES('C5014','1112','5.16','0.77'); INSERT INTO CALL_COSTING VALUES('C5015','1113','4.12','0.62'); INSERT INTO CALL_COSTING VALUES('C5016','1114','4.15','0.62'); INSERT INTO CALL_COSTING VALUES('C5017','1115','20.15','3.02'); INSERT INTO CALL_COSTING VALUES('C5018','1116','22.02','3.30'); INSERT INTO CALL_COSTING VALUES('C5019','1117','3.10','0.47'); INSERT INTO CALL_COSTING VALUES('C5012','1118','6.42','0.96'); INSERT INTO CALL_COSTING VALUES('C5021','1119','8.11','1.22'); INSERT INTO CALL_COSTING VALUES('C5022','1120','7.28','1.11'); SELECT * FROM CALL_COSTING

18

LOGIN The login page consists of username and password. In this case, the username and password are fixed. Only admin and authorized user can access the system. SQL = If((user type username == admin)&&(user type password == 147852)) Display Adminmenu Else If((user type username == user)&&(user type password == 123456)) Display Usermenu Else Display error message

VIEW CONTACT DETAIL Users are allowed to view contact details with their details. SQL= select * from CONTACT_PROFILE CONTACT_ID; Insert into contact details table GUI

ADD NEW CONTACT Add contact algorithm to allow user to add data inside contact details table in oracle by key in all data in Java. Every key in data text field will be saved in database. SQL = insert into CONTACT_PROFILE values ( get id, get name,get address, get type, get description, get added by)); Save into CONTACT_PROFILE table in SQL

DELETE CONTACT This algorithm is to allow user to delete contact data from database. Based on this algorithm, data are placed inside the Java table. And users can delete the data using delete button. SQL=delete from CONTACT_PROFILE where CONTACT_ID =+get code after click at CONTACT_PROFILE table + ; Get column number in contact profile table in Java table If (column number == get code after click) Delete_contact ( selected row); Else Data not delete

19

UPDATE CONTACT This algorithm will allow user to update contact data by select attribute that want to be updated. SQL= update contact set contact_name = getDescription where contact_id = getcontactid after view subject; Update_button(code after view subject)

CALCULATE CALL COSTING This algorithm will calculate call costing by select attribute that include in the operation for the calculation process. SQL= select DURATION,CALL_COST from CALL_COSTING where = CALL_COST * (rate); Display Call Costing

20

Front-end system design and implementation


Graphical User Interface (GUI)

Login page for user to enter their password and also choose their category. Only authorized person are allowed to access the system.

Main menu for admin user. Admin will choose the buttons to do action that they need. Each buttons will navigate user to the corresponding form.

User menu for normal user. User will choose the buttons to do action that they need. Each buttons will navigate user to the corresponding form.

This is the form for user to add contact information. All the details need to be insert in the box.

21

This is the form to search for contact information. User need to insert contact id and click search button. All of the information will be displayed.

This is the output that will appear when all contact details button was clicked. All of the contact inside the system will be displayed. User will be able to update and delete the data.

This is the form for call costing. Admin will insert the condition either it is year, month, or day. The cost of the phone call trough the corresponding year will be displayed.

This is the form which the information regarding the incoming call will be generated automatically by the system. The result of it will be displayed. Remarks column is editable and relate to the follow up that admin need to settle.

22

Project Problems and Pitfalls


There are several difficulties that we encounter troughout the process of completing the system :

Problems with the connection to the Oracle Database Enterprise Edition. We had to access the server at School of Computer Science as initially we are doing our database system in our local server.

Problems with Entity Relational Diagram (ERD) to normalize data. The purpose of normalization is to reduce redundancy and make everything appear on the same level. Thus the problem that we encounter while doing the normalization will affect our database system which there is the probability for the redundancy of data. We manage to do the normalization after we create ERD by using Visio and we are able to do normalization based on that.

Problems regarding SQL command. We are still new and not an expert in this. Practise and trying in doing the SQL command are improving our skills to do it.

The documentation that is lacking in some ways. All of the important things for this system is being saved for documentation. So that for the future planning and improvement, it could be done with ease as the documentation will be the guide.

Just a few testing that we have done. Testing system are vital as the error that occur in database system will be the main problem for the whole system. Thus it will make difficulties to the user.

23

Conclusion and Recommendations

This system is designed to help and allows user to keep track all the call that being received and be made so that it could be monitored easily. From this system, it will help the administrator of the organization such as clerk, manager and director to improve their efficiency to record all the data. This system provides a way for user and admin to keep track all of the information regarding the phone call, thus making it easier to manage all the follow up and to find out the details of the caller. Other than that, this system is easy to be use and understandable to the user. This phone call tracking system will enable user to generate reports in order to keep track all the calls in a more effective way and improve their ways to update all of the action that they need to settle up. Admin will be able to manage the outgoing call rates. The user for this system could make an update to the system as an example: add, delete, search and also view the data. This system will allow only authorized person to access it as they will be given the password to access it. Compared to the current system that had been used, there were so many things that we found lacking off. As this new system had already been created, the administration of the organization will easily keep track on the phone call such as the call costing report, the contact details of the caller and also the follow up that they need to settle up. This system will enhanced the phone call tracking system for any organizational that purchased this system. User will get all the information that they want in an efficient way. Some recommendations should be implemented in this system. All of the table will be sort according to the data alphabetical order. The functionality of this system should be flexible to any organization and meet the requirement of every user that use it.

24

References
Database Principles Fundamentals of Design Implementation, and Management, Coronel Moris Rob, 9th edition. http://msdn.microsoft.com/en-us/library/office/aa140030(v=office.10).aspx http://www.databaseanswers.org/data_models/service_call_tracking/data_mart.htm http://www.callmodo.com/ http://www.twilio.com/docs/howto/call-tracking http://office.microsoft.com/en-us/templates/desktop-call-trackerTC010206879.aspx?CategoryID=CT101428241033&av=ZAC000

25

You might also like