Date post: | 29-Nov-2014 |
Category: |
Documents |
Upload: | sanooj-remegius |
View: | 263 times |
Download: | 4 times |
Developed by
Name: Sanooj Remegius Bastianpulle
Reg. No: 1038598A68955D2D
Page 1 of 20
NEW PROJECT LTD
Batch Code :
Start Date : 12/03/2011 End Date: 25/03/2011
Name of the Coordinator : Lahiru Rathnayake
Name of Developer : Sanooj Remegius Bastianpulle
Date of Submission : 26/03/2011
Page 2 of 20
NEW PROJECT LTD
CERTIFICATE
This is to certify that this report, “Titled New Project Ltd.”, Embodies the original work done by Sanooj Remegius in partial fulfillment of his/her course requirement at NIIT.
Coordinator: Lahiru Rathnayke
Page 3 of 20
NIIT
I would like to acknowledge the contributions of my Lecturer Mr. Lahiru Ratnayake to the development of my project & presentation.
Mr. Lahiru Ratnayake directed me to a wide range of resources on the web. He answered all of my questions as well as asked me questions that helped me to narrow my search. Further, He helped me figure out correct documentation for sources that did not fit the Research Guide examples. He gave me this help during class time and after class. I also worked with students at NIIT who helped me locate primary sources.
Page 4 of 20
ACKNOWLEDGEMENT
System Summary: New Project Ltd. Is a company that provides staff on contract for various project assignments it has a system of time cards. The cards are issued to its employees. The time card enables New Project to prepare the final billing that needs to be submitted to the clients for release of payment in lieu of work.
Page 5 of 20
SYSTEM ANALYSIS
Number of entities: 6
Names of entities:
1. Client
2. Project
3. Employee
4. Time card
5. Time Card Expense File
6. Invoice
Page 6 of 20
ENTITIES
Attributes:
Entity Attributes1. Client Client Code
Company NameAddressCountryContact PersonPhone
2. Project Project CodeClient CodeEmployee CodeProject NameProject DescriptionEstimate BillStart DateEnd Date
3. Employee Employee CodeEmployee NameAddressCountryWork PhoneBilling Rate
4. Time Card Time Card IDEmployee IDDate IssuedDate WorkedProject IDWork DescriptionBillable HoursWork Code
5. Time Card Expense File Time Card Expense IDTime Card IDExpense DateExpense AmountExpense DescriptionProject IDExpense Code IDExpense Code
Page 7 of 20
ATTRIBUTES
6. Invoice Payment CodePayment Mode IDPayment Mode NameCorresponding Project CodeExpense AmountPayment AmountPayment DateCard NumberCard Holders NameExpiry Date of Card
Page 8 of 20
Page 9 of 20
E/R DIAGRAM
Client
Project
Invoice
Employee
Time Card Time Card Expense
Payment Code
Payment Mode ID
Payment Mode Name
Corresponding Project Code
Payment Amount
Payment Date
Date Worked
Time Card ID
Employee ID
Date Issued
Work Description
Project ID
Payment Amount
Payment Date
Expense Code ID
Expense Description
Expense Code Project ID
Expense Amount
Expense DateTime Card ID
Time Card Expense ID
PhoneContact Person
Country
Address
Company Name
Client Code
End Date
Start Date
Estimate Bill
Project DescriptionProject Name
Project Code
Billing RateWork Phone
Country AddressEmployee Name
Employee Code
Receives
Designed
Done By
Daily Fills
Will Have
Communicate
Expiry Date of Card
Card Holders Name
Card Number
Client Code
Employee CodeExpense
Amount
Number of Tables: 7
Structure of Tables: The table structure are shown here
Page 10 of 20
TABLES
CLIENT [Entity] PROJECT [Entity] PROJECT DETAILS [Relationship]
EMPLOYEE [Entity]
TIME CARD DETAILS [Entity] TIME CARD EXPENSE [Entity] INVOICE [Entity]
CLIENT
Client Code
Company Name
Address
Country
Contact Person
Phone
PROJECT
Project Code
Client Code
Employee Code
Project Name
Project Description
Estimate Bill
Start Date
End Date
PROJECT DETAILS
Project Details ID
Project Code
Client Code
Bill Estimated
Actual Amount
Discount
Total Cost
EMPLOYEE
Employee Code
Employee Name
Address
Country
Work Phone
Billing Rate
TIME CARD DETAILS
Time Card ID
Employee ID
Date Issued
Date Worked
Project ID
Work Description
Billable Hours
Work Code ID
TIME CARD EXPENSE
Time Card Expense ID
Time Card ID
Expense Date
Expense Amount
Expense Description
Project ID
Expense Code ID
Expense Code
INVOICE
Payment Code
Payment Mode ID
Payment Mode Name
Corresponding Project Code
Expense Amount
Payment Amount
Payment Date
Card Number
Card Holders Name
Expiry Date of Card
The Project Details table is formed because of many-to-many relationship between the Project and Clients.
Page 11 of 20
The Tables are already in 1 NF. The table structures are shown here.
Page 12 of 20
TABLES AFTER 1 NF
CLIENT PROJECT PROJECT DETAILS
EMPLOYEE
PROJECT DETAILS
Project Details ID
Project Code
Client Code
Bill Estimated
Actual Amount
Discount
Total Cost
CLIENT
Client Code
Company Name
Address
Country
Contact Person
Phone
PROJECT
Project Code
Client Code
Employee Code
Project Name
Project Description
Estimate Bill
Start Date
End DateEMPLOYEE
Employee Code
Employee Name
Address
Country
Work Phone
Billing Rate
Page 13 of 20
TIME CARD DETAILS TIME CARD EXPENSE INVOICE
TIME CARD DETAILS
Time Card ID
Employee ID
Date Issued
Date Worked
Project ID
Work Description
Billable Hours
Work Code ID
TIME CARD EXPENSE
Time Card Expense ID
Time Card ID
Expense Date
Expense Amount
Expense Description
Project ID
Expense Code ID
Expense Code
INVOICE
Payment Code
Payment Mode ID
Payment Mode Name
Corresponding Project Code
Expense Amount
Payment Amount
Payment Date
Card Number
Card Holders Name
Expiry Date of Card
The tables are already in 2 NF as the attributes in each table depend on the primary key. The table structures are shown here.
Page 14 of 20
TABLES AFTER 2 NF
CLIENT PROJECT PROJECT DETAILS
EMPLOYEE
PROJECT DETAILS
Project Details ID
Project Code
Client Code
Bill Estimated
Actual Amount
Discount
Total Cost
CLIENT
Client Code
Company Name
Address
Country
Contact Person
Phone
PROJECT
Project Code
Client Code
Employee Code
Project Name
Project Description
Estimate Bill
Start Date
End DateEMPLOYEE
Employee Code
Employee Name
Address
Country
Work Phone
Billing Rate
Page 15 of 20
TIME CARD DETAILS TIME CARD EXPENSE INVOICE
TIME CARD DETAILS
Time Card ID
Employee ID
Date Issued
Date Worked
Project ID
Work Description
Billable Hours
Work Code ID
TIME CARD EXPENSE
Time Card Expense ID
Time Card ID
Expense Date
Expense Amount
Expense Description
Project ID
Expense Code ID
Expense Code
INVOICE
Payment Code
Payment Mode ID
Payment Mode Name
Corresponding Project Code
Expense Amount
Payment Amount
Payment Date
Card Number
Card Holders Name
Expiry Date of Card
In the Time Card Expenses table the Expense Code depends on Expense Code ID not on Time Card Expense ID. Therefore, for the tables to be in 3 NF, we need to create another table, Expenses.
Also in the Invoice table, the attribute Payment Mode Name depends on Payment Mode ID and not on Payment Code. Therefore, we need to create a separate table Payment Modes.
In addition, the attributes Card Holders Name and Expiry Date of Card depend on Card Number not Payment Code. Therefore we need to create another table Credit Cards.
The updated table structures are shown here.
Page 16 of 20
TABLES AFTER 3 NF
CLIENT PROJECT PROJECT DETAILS
PROJECT DETAILS
Project Details ID
Project Code
Client Code
Bill Estimated
Actual Amount
Discount
Total Cost
CLIENT
Client Code
Company Name
Address
Country
Contact Person
Phone
PROJECT
Project Code
Client Code
Employee Code
Project Name
Project Description
Estimate Bill
Start Date
End Date
Page 17 of 20
EMPLOYEE TIME CARD DETAILS
INVOICE
TIME CARD EXPENSE
EXPENSES
PAYMENT MODES CREDIT CARDS
EMPLOYEE
Employee Code
Employee Name
Address
Country
Work Phone
Billing Rate
TIME CARD EXPENSE
Time Card Expense ID
Time Card ID
Project ID
Expense Code ID
INVOICE
Payment Code
Payment Mode ID
Corresponding Project Code
Expense Amount
Payment Amount
Payment Date
Card Number
TIME CARD DETAILS
Time Card ID
Employee ID
Date Issued
Date Worked
Project ID
Work Description
Billable Hours
Work Code ID
PAYMENT MODES
Payment Mode ID
Payment Mode Name
CREDIT CARDS
Credit Card Number
Card Holders name
Expiry Date of Card
EXPENSES
Expense Code ID
Expense Code
Project ID
Expense Description
Expense Date
Expense Amount
When we place the information about credit card in a separate table, the query performance during the generation of payment receipt will get affected due to creation of joins in every payment receipt. Therefore, for optimum performance, we denormalize and place the credit card information back into the Invoice table. The updated table structures are shown here.
Page 18 of 20
TABLES AFTER DENORMALIZATION
EMPLOYEE
CLIENT PROJECT PROJECT DETAILS
TIME CARD DETAILS TIME CARD EXPENSE INVOICE
CLIENT
Client Code
Company Name
Address
Country
Contact Person
Phone
PROJECT
Project Code
Client Code
Employee Code
Project Name
Project Description
Estimate Bill
Start Date
End Date
PROJECT DETAILS
Project Details ID
Project Code
Client Code
Bill Estimated
Actual Amount
Discount
Total Cost
EMPLOYEE
Employee Code
Employee Name
Address
Country
Work Phone
Billing Rate
TIME CARD DETAILS
Time Card ID
Employee ID
Date Issued
Date Worked
Project ID
Work Description
Billable Hours
Work Code ID
TIME CARD EXPENSE
Time Card Expense ID
Time Card ID
Project ID
Expense Code ID
INVOICE
Payment Code
Payment Mode ID
Corresponding Project Code
Expense Amount
Payment Amount
Payment Date
Card Number
Card Holders Name
Expiry Date of Card
EXPENSES
Expense Code ID
Expense Code
Project ID
Expense Description
Expense Date
Expense Amount
PAYMENT MODES
Payment Mode ID
Payment Mode Name
The primary and Foreign keys (whenever applicable) for each table are listed with their respective table names:
CLIENTo Primary Key: Client Code
PROJECTo Primary Key: Project Codeo Foreign Keys: Client Code, Employee Code
PROJECT DETAILSo Primary Key: Project Details IDo Foreign Keys: Project Code, Client Code
EMPLOYEEo Primary Key: Employee Code
TIME CARD DETAILSo Primary Key: Time Card IDo Foreign Keys: Employee ID, Project ID
TIME CARD EXPENSESo Primary Key: Time Card Expense ID
INVOICEo Primary Key: Payment Codeo Foreign Keys: Payment Mode ID, Project Code, Expense Amount
EXPENSESo Primary Key: Expense Code IDo Foreign Keys: Project ID, Expense Amount
PAYMENT MODESo Primary Key: Payment Mode ID
Page 19 of 20
PRIMAR AND FOREIGN KEYS
Page 20 of 20
EMPLOYEE
Employee Code
Employee Name
Address
Country
Work Phone
Billing Rate
CLIENT
Client Code
Company Name
Address
Country
Contact Person
Phone
PROJECT DETAILS
Project Details ID
Project Code
Client Code
Bill Estimated
Actual Amount
Discount
Total Cost
EXPENSES
Expense Code ID
Expense Code
Project ID
Expense Description
Expense Date
Expense Amount
INVOICE
Payment Code
Payment Mode ID
Corresponding Project Code
Expense Amount
Payment Amount
Payment Date
Card Number
Card Holders Name
Expiry Date of Card
PAYMENT MODES
Payment Mode ID
Payment Mode Name
TIME CARD EXPENSE
Time Card Expense ID
Time Card ID
Project ID
Expense Code ID
TIME CARD DETAILS
Time Card ID
Employee ID
Date Issued
Date Worked
Project ID
Work Description
Billable Hours
Work Code ID
PROJECT
Project Code
Client Code
Employee Code
Project Name
Project Description
Estimate Bill
Start Date
End Date