Sie sind auf Seite 1von 58

ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY APIIT Diploma Part II

INCOURSE ASSIGNMENT INDULGENCE AUTO RENTALS


Prepared By A.N.Ahamed Nishadh (CB004081) S.D.Ilangakoon (CB004041) A.C.Tiffaniya Fernando (CB004165) Taiyaba T. Ahmed(CB004119) Module Code & Title AAPP008-3-2 VBDN Cohort DF10A1ICT Date of Submission 16th May 2011 Instructor Ms.NadeeraAhangama

Submitted in partial fulfillment for the degree of Bachelor of Science (Hons) in Computing

STUDENT DECLARATION
I Declare that: We understand what is meant by plagiarism. The implications of plagiarism have been explained to us by our lecturer. This project is all our work and I have acknowledged any use of the published or unpublished works of other people. Group Leaders Signature : Date : 12-05-2011

Total number of pages including this cover page : 58 PAGES Submission Date : 12th May 2011 Due Date :

DF10A1ICT 12th May 2011

Group Members

Leader : A.N.Ahamed Nishadh (CB004081) Members : S.D.Ilangakoon (CB004041) Taiyaba T. Ahmed (CB004119) A.S.Tiffaniya Fernando (CB004165)

ACKNOWLEDGEMENTS
Firstly we would like to thank our lecturer Ms.NadeeraAhangamafor all the help and guidance given to us while doing this assignment. Especially for teaching us this module in such a way that we were able to learnthis highly technical module very easily. Also there are many individuals who have helped us in numerousways directly and indirectly so that we were able to complete this assignment. APIIT Lanka for providing us with resources and the Tech Team at APIIT Lanka for their assistance at required times. And last but not least our friends, parents and the well-wishers without whose moral support and encouragement, we would not have been able to do a good job. Finally, if there are any shortcomings in this project, then we request to excuse us for all those and accept this documentation. Ahamed Nishadh Deshan Ilangakoon Tiffaniya Fernando Taiyaba Ahmed

ii

TABLE OF CONTENTS
1.0 - INTRODUCTION ............................................................................................... 1 2.0 PROJECT DESCRIPTION ................................................................................. 2 2.1 FUNCTIONALITY .................................................................................... 2 2.2 HARDWARE SPECIFICATIONS ............................................................ 3 2.3 SOFTWARE SPECIFICATIONS .............................................................. 4 3.0 LOGICAL DESIGN FLOW CHARTS ............................................................ 5 4.0 SAMPLE OUTPUT ............................................................................................ 6 5.0 DATABASE DESIGN ...................................................................................... 15 6.0 TESTING .......................................................................................................... 16 7.0 SOURCE CODE ............................................................................................... 25 7.1 LOGIN FORM.......................................................................................... 25 7.2 MAIN MENU FORM............................................................................... 25 7.3 VEHICLES FORM ................................................................................... 27 7.4 MODIFY CUSTOMER DETAILS FORM .............................................. 29 7.5 CUSTOMER TYPE FORM ..................................................................... 31 7.6 ADD NEW CUSTOMER FORM ............................................................ 31 7.7 ASSIGN VEHICLE FORM ...................................................................... 32 7.8 CHANGE ORDER STATUS FORM ....................................................... 32 7.9 MODIFY ORDER FORM ........................................................................ 33 7.10 NEW ORDER FORM ............................................................................ 36
iii

7.11 SEARCH ORDER FORM ...................................................................... 37 7.12 SEARCH CUSTOMER FORM ............................................................. 38 7.13 DATABASE CONNECTION MODULE .............................................. 39 7.14 GLOBAL VARIABLES MODULE ....................................................... 39 7.15 DRIVER RENTALS REPORT .............................................................. 39 7.16 MONTHLY TOTAL REPORT .............................................................. 40 7.17 UNCOMPLETED RENTALS REPORT ............................................... 40 8.0 LIMITATIONS ................................................................................................. 42 9.0 FURTHER DEVELOPMENTS ........................................................................ 43 10.0 CONCLUSION ............................................................................................... 44 APPENDICES ............................................................................................................ 45 1.0 MEETING MINUTES.............................................................................. 45 1.1 1st MEETING ........................................................................................ 45 1.2 2nd MEETING ....................................................................................... 47 1.3 3rd MEETING........................................................................................ 48 1.4 4th MEETING ........................................................................................ 49 1.5 5th MEETING ........................................................................................ 50 2.0 GANTT CHART ...................................................................................... 51 3.0 WORK BREAKDOWN STRUCTURE ................................................... 52 4.0 BIBLIOGRAPHY..................................................................................... 53

iv

1.0 - INTRODUCTION
The Visual Basic.Net assignment was handed over to the group on the 22nd of March 2011. This assignment is to be carried out as a group assignment and should be handed in by the 16th of May 2011. The group comprised of 4 members and the work to develop a VB.Net program was divided evenly between the members. The assignment presents a scenario where our group is working for a Dynamic Software Development house and has been approached by a Vehicle rental company by the name of Indulgence Auto Rental. The problem faced by the vehicle rental company is that they are faced with vast amounts of paperwork and having to spend too much time sorting through this paperwork before being able to make a decision. The vehicle rental company now wishes to move to a computer based system so as to improve on their turnaround time and help make faster and better decisions. The scope for this project was set by the client themselves. The specifications to which the system was developed are given below: Should be simple and easy to operate Eliminate the need for manual work to the maximum possible extent Make the rental system automated and available in electronic form Reduce the paperwork and increase the decision making ability

To measure the success of this assignment the program should meet the below requirements: All the above criteria should be met The project should be completed on time Ease of use is paramount for this program to be effective

2.0 PROJECT DESCRIPTION


2.1 FUNCTIONALITY
The system was developed for the company called Indulgence Auto Rental. They are a vehicle rental company which operates within Sri Lanka. The system when initially run Login form opens. Here the user has to enter the correct user name and password. When he does this he is taken to the main menu where the user is allowed access to the rest of the system. The main forms that run in the system are: Add Vehicle Here the form allows the user to assign a vehicle for a hire. Change Order Status This for permits the user to change or delete an existing orders. Customer Type This form simply selects if the customer is a new customer or an existing customer. Login form Here the user is expected to enter the user name and password so that he can gain access into the system. Depending on the user type, access is modulated. Main Menu form From this point the user is given access to the other system forms and reports. The Main Menu for is the parent for and all other forms appear inside this form. Modify Customer This form allows the user to make changes to an existing customer or to completely delete him. Modify Order This form is a vital form as it is used to calculate the bill for the hire. The details are entered and the system will automatically generate the total. New Customer This form is simply used to enter a new customer into the records. New Order Here the user will enter details of the new order and this will get stored in the database. Search Order This form will search and display the output of the search in the data gird viewer.

Search Customer - This form will search for the customer and displays the output in a Data Grid Viewer Vehicle form In this form the user is allowed to enter a new vehicle or edit details of an existing vehicle. Public Variables This is a Module that has been created to hold the variables that are required to be used globally throughout the project. Incomplete Reservation Reports This is a report created using crystal reports and is used to show the reservations that have been made but not completed.

Complete Reservation Reports These reports show the records of reservations that have been completed by each driver. Total Monthly Income This report give the monthly income that the company makes in the report.

2.2 HARDWARE SPECIFICATIONS


Central Processing Unit: Processor type Pentium III compatible or faster Processor speed Minimum 1.0 GHz, Recommended 2.0 GHz or faster Memory - RAM Minimum 512MB Recommended 2.048GB or more

Monitor: VGA or resolutions of at least 1,024 x 768 pixel resolution

Disk Space: Database Engine and Data file : 280MB Analysis Services and data files: 90MB Reporting Services and Report Manager: Integration Service: Client components: 120MB 120MB 850MB

SQL Server books online and SQL Server compact books online: 240MB

Drive: A CD or DVD as needed to install from a disk

2.3 SOFTWARE SPECIFICATIONS


Microsoft SQL Server 2008 Microsoft Visual Studio 2010 Microsoft Windows installer 4.5 or newer Internet software- Microsoft Internet Explorer 6 SP1or newer Operating system Windows XP or newer

(Microsoft TechNet, 2010)

3.0 LOGICAL DESIGN FLOW CHARTS

4.0 SAMPLE OUTPUT

The above will be the first form to appear as the system runs. This is the Login form. The user has to enter the correct username and the password to get into the system and view the other forms. Username: admin Password: admin

If the user enters the correct username and the password, the above dialog box will appear suggesting that the user has successfully logged in to the system. If the user has entered the wrong user name or password the following dialog box will appear:

This the Main Menu form which will appear after the user clicks OK in the project dialog box shown above. There are three options presented to the user. Under each option there are more options available. The user can come out of the system by selecting Exit.

When the user selects Add/modify vehicles under Forms in the main menu the above Vehicles form appears where the user can store details of vehicles and drivers. The user can also click on the add new vehicle button below to add a new vehicle and save the information using the save button. The user can also modify and delete records. There user can move to the next or the previous record
7

by clicking on the arrow buttons. He can also move to the first and the last record from the current record he is in.

The above form appears when the user selects New Order under Order Forms. The user can add a new customer by selecting New Customer. After entering the details the user can save the details and the place order button will get enabled. To place the order for that particular customer, the following form will appear:

In here the user can enter the order details and save. When the user selects to add a vehicle to the particular order the following form appears:

In the above form available vehicles, according to the customers requirements is being displayed on the grid view. The customer can choose the vehicle, type in the vehicle ID and select assign and the following dialog box appears indicating that the order has been done. When the user presses OK the form closes.

The below form is the Modify Order form.

The user can select change status/cancel button in the above form and the following form will appear. In this form the user can change the status or delete the order of a particular customer.

10

After changing the status, the following message will be displayed:

The user can also search for existing customer details and place an order by selecting Existing Customer from the customer type form:

11

Under Order Form the user can select Modify order and the following form called searchorder will appear. In here the user can search for vehicles and modify customer order. He can also change the status of the order or cancel the order.

By clicking on the Modify button above, the below form will appear where the user can modify the order details of a particular customer. The Total charges for the whole journey can be calculated.

12

This form appears when the user selects to change order or cancel order button under search order form. In here the user can delete an order or change its status.

The above form will appear when the modify button under searchorder form is selected. After the journey is being completed and the order status is being changed to complete, the total charges can be calculated in this form. The user can also modify customer details or delete them using the Modify under Orders Form in the Main Menu.

13

14

5.0 DATABASE DESIGN

15

6.0 TESTING
Testing: Login Form: Test No. 1. Description Test Login with username and password. Test Data Username: admin Password: admin Outcome User should be able to login to the system. The message LOGIN SUCCES S is displayed . An error message saying LOGIN FAILED will be displayed and the user wont be able to login. Comments Successful

2.

Test Login with an incorrect username and/or password.

Username: admin Password: password123

Successful

Main Menu Form:


16

Test No. 1.

Description Test main menu buttons by clicking.

Test Data Forms and Reports button

Outcome The sub menu under Forms and Reports should be displayed.

Comments

Successful Exit button The system closes.

2.

Test sub menu buttons by clicking.

Add/Modify Vehicles Order Form

Vehicles Form will appear. A sub menu will be displayed. Customertype orm should open. Searchorder for should open. Modifycustom er form should open. Successful

New Order under Order Form. Modify Order under order Form. Modify Customer form

Vehicles Form:

17

Test No.

Description

Test Data

Outcome

Com ment s

1.

Enter text in the textboxes for each field.

Vehicle details

Can enter all the Succ details. essfu l

2.

Test Buttons by clicking on it.

Add new Vehicle

All the text in the textboxes clears and the user can enter new details. Saves the newly added details. Deletes the details of a particular vehicle.

Save

Delete

Modify

3.

Test navigation buttons by clicking on them.

Next (>)

Will take the user to the next record from the current record hes in. Will take the user to the previous record from the current

Previous (<)

18

record hes in. First (|<) Will take the user to the first record in the form. Will take the user to the last record in the form.

Last (>|)

Customer Type Form:

Test No. 1.

Description

Test data

Outcome

Comments

Testing Buttons

New Customer

New customer form opens. Search Customer form opens.

Successful

Existing Customer

New Customer Form:


19

Test No. 1.

Description

Test data

Outcome

Comments

Testing Buttons

Save

Saves the record into the database. Enables after a record has been saved. When selected, New order form will appear.

Successful

Place Order

New Order Form:

Test No. 1.

Description

Test data

Outcome

Comments

Testing Buttons

Save

Saves the Successful newly added order into the database. Opens the add vehicle form.

Add Vehicle

Add vehicle Form:


20

Test No. 1.

Description

Test data

Outcome

Comments

Testing Buttons

Assign

The dialog box with the message ORDER PLACED is displayed.

Successful

Search order Form:

Test No. 1.

Description

Test data

Outcome

Comments

Testing Buttons

Search

All the details of that particular vehicle will be displayed in the grid view. Successful Modify Order form will open.

Modify

Change status/Cancel

Change order status form will open.

Modify Order form:


21

Test No. 1.

Description

Test data

Outcome

Comments

Testing Buttons

Calculate

The Total Amount for the whole journey will be displayed. Successful Saves the details in the database.

Save

Change Order Status Form:

22

Test No. 1.

Description

Test data

Outcome

Comments

Testing Buttons

Delete Order

Deletes that Successful particular order from the database. Message box appears which says ORDER CANCELLED. Then the form closes when OK is pressed. Message box appears which says ORDER STATUS UPDATED. Form closes when OK is pressed.

Change Status

Modify Customer Form:


23

Test No. 1.

Description

Test data

Outcome

Comments

Testing Buttons

Delete

Deletes the particular customer details from the database. Minor details of the customer will be changed.

Successful

Modify

24

7.0 SOURCE CODE


7.1 LOGIN FORM
ImportsSystem.Data.SqlClient PublicClasslogin PrivateSublogbtn_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handleslogbtn.Click con.Open() DimstrAsString Dim ds AsNewDataSet str = "SELECT * from userlogins where username = '"&txtuser.Text&"' and password='"&txtpass.Text&"'" da = NewSqlDataAdapter(str, con) da.Fill(ds, "Items") con.Close() Ifds.Tables("Items").Rows.Count = 1 Then MsgBox("LOGIN SUCCESS") usersectype = ds.Tables("Items").Rows(0).Item(2) Me.Hide() Mainmenu.Show() Else MsgBox("LOGIN FAILED") EndIf EndSub EndClass

7.2 MAIN MENU FORM


Public Class Mainmenu Private Sub Main_menu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load addvehicle.MdiParent = Me customertype.MdiParent = Me modifyorder.MdiParent = Me newcustomer.MdiParent = Me newOrder.MdiParent = Me searchorder.MdiParent = Me searchustomer.MdiParent = Me Vehicles.MdiParent = Me modifycustdetals.MdiParent = Me driverrentalreport.MdiParent = Me sumofrentals.MdiParent = Me uncompletedrentalsreport.MdiParent = Me If usersectype = "full" Then MenuStrip1.Visible = False MenuStrip2.Visible = True ElseIf usersectype = "restricted" Then MenuStrip1.Visible = True MenuStrip2.Visible = False End If End Sub Private Sub NewOrderToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewOrderToolStripMenuItem.Click

25

customertype.Show() End Sub Private Sub ModifyOrderToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ModifyOrderToolStripMenuItem.Click searchorder.Show() End Sub Private Sub VehiclesToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VehiclesToolStripMenuItem1.Click Vehicles.Show() End Sub Private Sub BillToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BillToolStripMenuItem.Click modifycustdetals.Show() End Sub Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem2.Click Vehicles.Show() End Sub Private Sub ToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem4.Click customertype.Show() End Sub Private Sub ToolStripMenuItem5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem5.Click searchorder.Show() End Sub Private Sub ToolStripMenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem7.Click modifycustdetals.Show() End Sub Private Sub EXITToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EXITToolStripMenuItem.Click Me.Close() End Sub Private Sub EXITToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EXITToolStripMenuItem1.Click Me.Close() End Sub Private Sub IncompleteVehicleReservationsToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles IncompleteVehicleReservationsToolStripMenuItem.Click uncompletedrentalsreport.Show() End Sub Private Sub TotalMonthlyIncomeToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles TotalMonthlyIncomeToolStripMenuItem.Click sumofrentals.Show() End Sub Private Sub CompleteVehicleReservationToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles CompleteVehicleReservationToolStripMenuItem.Click driverrentalreport.Show() End Sub End Class

26

7.3 VEHICLES FORM


ImportsSystem.Data.SqlClient

PublicClassVehicles Dim i AsInteger Dim ds AsNewDataSet PrivateSubVehicles_Load(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) HandlesMyBase.Load con.Open() DimstrAsString str = "SELECT * from vehicle" da = NewSqlDataAdapter(str, con) da.Fill(ds, "Items") Ifds.Tables("Items").Rows.Count = 0 Then i = -1 Else i = 0 EndIf con.Close() navigation() EndSub Subnavigation() If i >= 0 Then txtvno.Text = ds.Tables("Items").Rows(i).Item(0) cmbvtyp.Text = ds.Tables("Items").Rows(i).Item(1) txtvdesc.Text = ds.Tables("Items").Rows(i).Item(2) txtdnm.Text = ds.Tables("Items").Rows(i).Item(3) txtdno.Text = ds.Tables("Items").Rows(i).Item(4) cmbstatus.Text = ds.Tables("Items").Rows(i).Item(5) Else txtvno.Clear() txtvdesc.Clear() txtdnm.Clear() txtdno.Clear() MsgBox("NO RECORDS TO SHOW") EndIf If i < 0 Then btndel.Enabled = False Else btndel.Enabled = True EndIf EndSub PrivateSubbtnnxt_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnnxt.Click If i <>ds.Tables("Items").Rows.Count - 1 Then i = i + 1 navigation() EndIf EndSub PrivateSubbtnprev_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnprev.Click If i > 0 Then i = i - 1 navigation() EndIf

27

EndSub PrivateSubbtnlast_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnlast.Click If i <>ds.Tables("Items").Rows.Count - 1 Then i = ds.Tables("Items").Rows.Count - 1 navigation() EndIf EndSub PrivateSubbtnfirst_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnfirst.Click If i > 0 Then i = 0 navigation() EndIf EndSub PrivateSubbtnadd_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnadd.Click txtvno.Clear() txtvdesc.Clear() txtdnm.Clear() txtdno.Clear() EndSub PrivateSubbtnsav_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnsav.Click DimstrAsString con.Open() str = "insert into vehicle(vehID,vehtype,vehdes,vehdriver,vehtel,vehstatus)values('"&txtvno.Te xt&"','"&cmbvtyp.Text&"','"&txtvdesc.Text&"','"&txtdnm.Text&"',"&txtdno.Tex t&",'"&cmbstatus.Text&"')" Dim com AsNewSqlCommand(str, con) com.ExecuteNonQuery() ds.Clear() str = "SELECT * from vehicle" da = NewSqlDataAdapter(str, con) da.Fill(ds, "Items") i = ds.Tables("Items").Rows.Count - 1 con.Close() navigation() EndSub PrivateSubbtnmod_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnmod.Click DimstrAsString con.Open() str = "UPDATE vehicle set vehtype='"&cmbvtyp.Text&"',vehdriver='"&txtdnm.Text&"',vehtel="&txtdno.Text &",vehstatus='"&cmbstatus.Text&"' where vehID='"&txtvno.Text&"'" Dim com AsNewSqlCommand(str, con) com.ExecuteNonQuery() ds.Clear() str = "SELECT * from vehicle" da = NewSqlDataAdapter(str, con) da.Fill(ds, "Items") con.Close() i = i navigation()

28

EndSub PrivateSubbtndel_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtndel.Click DimstrAsString con.Open() str = "DELETE FROM vehicle WHERE vehID='"&txtvno.Text&"'" Dim com AsNewSqlCommand(str, con) com.ExecuteNonQuery() ds.Clear() str = "SELECT * from vehicle" da = NewSqlDataAdapter(str, con) da.Fill(ds, "Items") Ifds.Tables("Items").Rows.Count = 0 Then i = -1 EndIf con.Close() navigation() EndSub EndClass

7.4 MODIFY CUSTOMER DETAILS FORM


Imports System.Data.SqlClient Public Class modifycustdetals Dim i As Integer Dim ds As New DataSet Private Sub modifycustdetals_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load con.Open() Dim str As String str = "SELECT * from customer" da = New SqlDataAdapter(str, con) da.Fill(ds, "Items") If ds.Tables("Items").Rows.Count = 0 Then i = -1 Else i = 0 End If con.Close() navigation() End Sub Sub navigation() If i >= 0 Then txtcusid.Text = ds.Tables("Items").Rows(i).Item(0) txtname.Text = ds.Tables("Items").Rows(i).Item(1) txtaddress.Text = ds.Tables("Items").Rows(i).Item(2) txtnic.Text = ds.Tables("Items").Rows(i).Item(3) txttel.Text = ds.Tables("Items").Rows(i).Item(4) Else txtcusid.Clear() txtname.Clear() txtaddress.Clear() txtnic.Clear() txttel.Clear() MsgBox("NO RECORDS TO SHOW")

29

End If If i < 0 Then btndel.Enabled = False Else btndel.Enabled = True End If End Sub Private Sub btnnxt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnnxt.Click If i <> ds.Tables("Items").Rows.Count - 1 Then i = i + 1 navigation() End If End Sub Private Sub btnprev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnprev.Click If i > 0 Then i = i - 1 navigation() End If End Sub Private Sub btnlast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnlast.Click If i <> ds.Tables("Items").Rows.Count - 1 Then i = ds.Tables("Items").Rows.Count - 1 navigation() End If End Sub Private Sub btnfirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnfirst.Click If i > 0 Then i = 0 navigation() End If End Sub Private Sub btnmod_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnmod.Click Dim str As String con.Open() str = "UPDATE customer set cusname='" & txtname.Text & "',cusadd='" & txtaddress.Text & "',cusnic='" & txtnic.Text & "',custel=" & txttel.Text & " where cusID='" & txtcusid.Text & "'" Dim com As New SqlCommand(str, con) com.ExecuteNonQuery() ds.Clear() str = "SELECT * from customer" da = New SqlDataAdapter(str, con) da.Fill(ds, "Items") con.Close() i = i navigation() End Sub Private Sub btndel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndel.Click Dim str As String con.Open() str = "DELETE FROM customer WHERE cusID='" & txtcusid.Text & "'"

30

Dim com As New SqlCommand(str, con) com.ExecuteNonQuery() ds.Clear() str = "SELECT * from customer" da = New SqlDataAdapter(str, con) da.Fill(ds, "Items") If ds.Tables("Items").Rows.Count = 0 Then i = -1 End If con.Close() navigation() End Sub End Class

7.5 CUSTOMER TYPE FORM


PublicClasscustomertype PrivateSubbtnExistingcus_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) HandlesbtnExistingcus.Click Me.Hide() searchustomer.Show() EndSub PrivateSubbtnNewcus_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) HandlesbtnNewcus.Click Me.Hide() newcustomer.Show() EndSub EndClass

7.6 ADD NEW CUSTOMER FORM


ImportsSystem.Data.SqlClient PublicClassnewcustomer PrivateSubbtnsave_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnsave.Click DimstrAsString Dim ds AsNewDataSet con.Open() str = "insert into customer(cusID,cusname,cusadd,cusnic,custel)values('"&txtcusID.Text&"','"&t xtcusname.Text&"','"&txtcusaddress.Text&"','"&txtcusnic.Text&"',"&txtcustel .Text&")" Dim com AsNewSqlCommand(str, con) com.ExecuteNonQuery() ds.Clear() str = "SELECT * from customer" da = NewSqlDataAdapter(str, con) da.Fill(ds, "Items") btnplcordr.Enabled = True con.Close() EndSub

31

PrivateSubbtnplcordr_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnplcordr.Click newcusid = txtcusID.Text Me.Hide() newOrder.Show() EndSub EndClass

7.7 ASSIGN VEHICLE FORM


ImportsSystem.Data.SqlClient PublicClassaddvehicle PrivateSubaddvehicle_Load(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) HandlesMyBase.Load Dim ds AsNewDataSet txtveht.Text = vehicletype txtorid.Text = orderid txtcustid.Text = customerid con.Open() ds.Clear() DimstrAsString str = "SELECT vehID,vehtype,vehdes,vehdriver,vehtel,vehstatus from vehicle where vehtype like '"&vehicletype&"' and vehstatus= 'in'" da = NewSqlDataAdapter(str, con) da.Fill(ds, "Items") con.Close() dgvehicles.DataSource = ds.Tables("Items") EndSub PrivateSubbtnasgn_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnasgn.Click Dim str2 AsString Dim ds AsNewDataSet con.Open() str2 = "UPDATE rental set vehID='"&txtvehID.Text&"' where rentID='"&txtorid.Text&"'" Dim com2 AsNewSqlCommand(str2, con) com2.ExecuteNonQuery() con.Close() MsgBox("ORDER PLACED") Me.Hide() EndSub EndClass

7.8 CHANGE ORDER STATUS FORM


ImportsSystem.Data.SqlClient PublicClasschangeorderstatus PrivateSubbtnmod_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnmod.Click DimstrAsString con.Open() str = "DELETE FROM rental WHERE rentID='"&txtorder.Text&"'" Dim com AsNewSqlCommand(str, con)

32

com.ExecuteNonQuery() con.Close() MsgBox("ORDER CANCELLED") Me.Hide() EndSub PrivateSubbtnupdate_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnupdate.Click DimstrAsString con.Open() str = "UPDATE rental set rentstatus='"&cmbstatus.Text&"' where rentID='"&txtorder.Text&"'" Dim com AsNewSqlCommand(str, con) com.ExecuteNonQuery() str = "UPDATE vehicle set vehstatus='Out' where vehId='"&modvehicleid&"'" Dim com2 AsNewSqlCommand(str, con) com2.ExecuteNonQuery() con.Close() MsgBox("ORDER STATUS UPDATED") Me.Hide() EndSub PrivateSubchangeorderstatus_Load(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) HandlesMyBase.Load txtorder.Text = modorderid EndSub EndClass

7.9 MODIFY ORDER FORM


ImportsSystem.Data.SqlClient PublicClassmodifyorder Dim total AsInteger Dim waiting AsInteger PrivateSubmodifyorder_Load(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) HandlesMyBase.Load con.Open() DimstrAsString Dim ds AsNewDataSet str = "SELECT rentID,cusID,rental.vehID,rentpass,renttype,rentpack,rentstart,rentdate,ren ttime,rentdestination,vehicle.vehtype from rental,vehicle where rental.rentId='"&modorderid&"' and vehicle.vehID='"&modvehicleid&"'" da = NewSqlDataAdapter(str, con) da.Fill(ds, "Items") con.Close() txtrID.Text = ds.Tables("Items").Rows(0).Item(0) txtcID.Text = ds.Tables("Items").Rows(0).Item(1) txtvehID.Text = ds.Tables("Items").Rows(0).Item(2) txtnopasngrs.Text = ds.Tables("Items").Rows(0).Item(3) cmbjt.Text = ds.Tables("Items").Rows(0).Item(4) cmbpt.Text = ds.Tables("Items").Rows(0).Item(5) txtstartloc.Text = ds.Tables("Items").Rows(0).Item(6) txtsdate.Text = ds.Tables("Items").Rows(0).Item(7) txtstime.Text = ds.Tables("Items").Rows(0).Item(8) txtdest.Text = ds.Tables("Items").Rows(0).Item(9) txtvt.Text = ds.Tables("Items").Rows(0).Item(10) EndSub

33

PrivateSubbtncalc_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtncalc.Click Ifcmbpt.Text = "Colombo Ride"Then colomboride() EndIf Ifcmbpt.Text = "Long Distance Hire"Then longdistance() EndIf Ifcmbpt.Text = "Air Port Drop/Pick"Then airport() EndIf Ifcmbpt.Text = "One Day Hire"Then oneday() EndIf Ifcmbpt.Text = "Two Day Hire"Then twoday() EndIf Ifcmbpt.Text = "Thre Day Hire"Then threeday() EndIf EndSub Subcolomboride() Ifcmbjt.Text = "One way"Then txtwait.Text = 0 txtnytout.Text = 0 txtwait.Enabled = False txtnytout.Enabled = False Iftxtvt.Text = "Car"Then total = CInt(txtdist.Text) * 68 EndIf Iftxtvt.Text = "Van"Then total = CInt(txtdist.Text) * 50 EndIf ElseIfcmbjt.Text = "Return"Then waiting = CInt(txtwait.Text) - 0.5 total = waiting * 50 Iftxtvt.Text = "Car"Then total = total + CInt(txtdist.Text) * 60 EndIf Iftxtvt.Text = "Van"Then total = total + CInt(txtdist.Text) * 45 EndIf EndIf txttot.Text = total EndSub Sublongdistance() Ifcmbjt.Text = "One way"Then Iftxtdist.Text<= 100 Then waiting = CInt(txtwait.Text) - 0.5 total = waiting * 40 Iftxtvt.Text = "Car"Then total = total + CInt(txtdist.Text) * 62 EndIf Iftxtvt.Text = "Van"Then total = total + CInt(txtdist.Text) * 50 EndIf ElseIftxtdist.Text> 100 Then waiting = CInt(txtwait.Text) - 0.5 total = waiting * 30 Iftxtvt.Text = "Car"Then

34

total = total + CInt(txtdist.Text) * EndIf Iftxtvt.Text = "Van"Then total = total + CInt(txtdist.Text) * EndIf EndIf ElseIfcmbjt.Text = "Return"Then Iftxtdist.Text<= 100 Then waiting = CInt(txtwait.Text) - 1 total = waiting * 40 Iftxtvt.Text = "Car"Then total = total + CInt(txtdist.Text) * EndIf Iftxtvt.Text = "Van"Then total = total + CInt(txtdist.Text) * EndIf ElseIftxtdist.Text> 100 Then waiting = CInt(txtwait.Text) - 1 total = waiting * 30 Iftxtvt.Text = "Car"Then total = total + CInt(txtdist.Text) * EndIf Iftxtvt.Text = "Van"Then total = total + CInt(txtdist.Text) * EndIf EndIf EndIf Iftxtnytout.Text> 0 Then total = total + CInt(txtnytout.Text) EndIf txttot.Text = total EndSub Subairport() txtwait.Text = 0 txtnytout.Text = 0 txtdist.Text = 0 txtwait.Enabled = False txtnytout.Enabled = False txtdist.Enabled = False Iftxtvt.Text = "Car"Then total = 1900 EndIf Iftxtvt.Text = "Van"Then total = 1500 EndIf txttot.Text = total EndSub Suboneday() txtwait.Text = 0 txtnytout.Text = 0 txtdist.Text = 0 txtwait.Enabled = False txtnytout.Enabled = False txtdist.Enabled = False Iftxtvt.Text = "Car"Then total = 4500 EndIf Iftxtvt.Text = "Van"Then total = 5200 EndIf txttot.Text = total EndSub

48

42

50

38

38

30

* 500

35

Subtwoday() txtwait.Text = 0 txtnytout.Text = 0 txtdist.Text = 0 txtwait.Enabled = False txtnytout.Enabled = False txtdist.Enabled = False Iftxtvt.Text = "Car"Then total = 9500 EndIf Iftxtvt.Text = "Van"Then total = 12000 EndIf txttot.Text = total EndSub Subthreeday() txtwait.Text = 0 txtnytout.Text = 0 txtdist.Text = 0 txtwait.Enabled = False txtnytout.Enabled = False txtdist.Enabled = False Iftxtvt.Text = "Car"Then total = 15000 EndIf Iftxtvt.Text = "Van"Then total = 18000 EndIf txttot.Text = total EndSub PrivateSubbtnsav_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnsav.Click DimstrAsString con.Open() str = "UPDATE rental set rentdistance='"&txtdist.Text&"', rentwaiting='"&txtwait.Text&"', rentnight='"&txtnytout.Text&"',renttotal='"&txttot.Text&"', rentstatus='"&txtstatus.Text&"' where rentID='"&txtrID.Text&"'" Dim com AsNewSqlCommand(str, con) com.ExecuteNonQuery() str = "UPDATE vehicle set vehstatus='In' where vehId='"&txtvehID.Text&"'" Dim com2 AsNewSqlCommand(str, con) com2.ExecuteNonQuery() con.Close() MsgBox("ORDER STATUS UPDATED") Me.Hide() EndSub EndClass

7.10 NEW ORDER FORM


ImportsSystem.Data.SqlClient PublicClassnewOrder PrivateSubOrder_Load(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) HandlesMyBase.Load Dim A AsInteger For A = 0 To 23 cmbhr.Items.Add(A)

36

Next Dim i AsInteger For i = 0 To 59 cmbmins.Items.Add(i) Next Dim b AsInteger For b = 1 To 31 cmbdate.Items.Add(b) Next DimyrAsInteger Foryr = 2011 To 2020 cmbyr.Items.Add(yr) Next txtcID.Text = newcusid EndSub PrivateSubbtnsav_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnsav.Click DimstrAsString DimstarttimeAsString DimstartdateAsString Dim ds AsNewDataSet startdate = cmbdate.Text&"-"&cmbmon.Text&"-"&cmbyr.Text starttime = cmbhr.Text&":"&cmbmins.Text con.Open() Iftxtnopasngrs.Text> 4 Then cmbvt.Text = "Van" EndIf Ifcmbpt.TextIs"Air Port Drop/Pick"Andtxtnopasngrs.Text> 3 Then cmbvt.Text = "Van" EndIf str = "insert into rental(rentID,cusID,vehID,rentpass,renttype,rentpack,rentstart,rentdate,ren ttime,rentdestination,rentdistance,rentwaiting,rentnight,renttotal,rentstat us)values('"&txtrID.Text&"','"&txtcID.Text&"','temp','"&txtnopasngrs.Text&" ','"&cmbjt.Text&"','"&cmbpt.Text&"','"&txtstartloc.Text&"','"&startdate&"', '"&starttime&"','"&txtdest.Text&"',0,0,0,0,'"&cmbstatus.Text&"')" Dim com AsNewSqlCommand(str, con) com.ExecuteNonQuery() ds.Clear() str = "SELECT * from rental" da = NewSqlDataAdapter(str, con) da.Fill(ds, "Items") con.Close() customerid = txtcID.Text orderid = txtrID.Text vehicletype = cmbvt.Text EndSub PrivateSubbtnaddveh_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnaddveh.Click Me.Hide() addvehicle.Show() EndSub EndClass

7.11 SEARCH ORDER FORM


ImportsSystem.Data.SqlClient PublicClasssearchorder

37

PrivateSubbtnsearch_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnsearch.Click con.Open() DimstrAsString Dim ds AsNewDataSet ds.Clear() str = "SELECT * from rental where vehID = '"&txtvehid.Text&"' and rentstatus != 'completed'" da = NewSqlDataAdapter(str, con) da.Fill(ds, "Items") con.Close() dgorders.DataSource = ds.Tables("Items") EndSub PrivateSubbtnmod_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnmod.Click modorderid = txtorder.Text modvehicleid = txtvehid.Text Me.Hide() modifyorder.Show() EndSub PrivateSubbtnchn_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnchn.Click modorderid = txtorder.Text modvehicleid = txtvehid.Text Me.Hide() changeorderstatus.Show() EndSub EndClass

7.12 SEARCH CUSTOMER FORM


ImportsSystem.Data.SqlClient PublicClasssearchustomer PrivateSubbtnsearch_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnsearch.Click con.Open() DimstrAsString Dim ds AsNewDataSet ds.Clear() str = "SELECT * from customer where cusname like '%"&txtname.Text&"%'" da = NewSqlDataAdapter(str, con) da.Fill(ds, "Items") con.Close() dgcussearch.DataSource = ds.Tables("Items") EndSub PrivateSubbtnplaceorder_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handlesbtnplaceorder.Click newcusid = txtcustid.Text Me.Hide() newOrder.Show() EndSub EndClass

38

7.13 DATABASE CONNECTION MODULE


ImportsSystem.Data.SqlClient Moduledbcon Public con AsNewSqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=J:\APIIT\PROJECTS\VBdN\project\area53t ours.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True") Public da AsSqlDataAdapter EndModule

7.14 GLOBAL VARIABLES MODULE


Modulepublicvariables PublicnewcusidAsString PubliccustomeridAsString PublicorderidAsString PublicvehicletypeAsString PublicmodorderidAsString PublicmodvehicleidAsString PublicusersectypeAsString EndModule

7.15 DRIVER RENTALS REPORT


Imports System.Data.SqlClient Public Class driverrentalreport Dim ds As New DataSet Dim da As SqlDataAdapter Private Sub CrystalReportViewer1_Load(sender As System.Object, e As System.EventArgs) Handles CrystalReportViewer1.Load

Dim cmd As SqlCommand Dim vehicleid As String vehicleid = InputBox("Enter the Vehicle ID", "Enter the Vehicle ID") Dim str As String = "Select * from rental where vehID like'" & vehicleid & "'" cmd = New SqlCommand(str, con) Dim adapter As SqlDataAdapter adapter = New SqlDataAdapter(cmd) ds = New DataSet adapter.Fill(ds, "Orders") Dim rpt1 As New driverrentals()

rpt1.SetDataSource(ds.Tables("Orders")) CrystalReportViewer1.ReportSource = rpt1

End Sub End Class

39

7.16 MONTHLY TOTAL REPORT


Imports System.Data.SqlClient Public Class sumofrentals

Dim ds As New DataSet Dim da As SqlDataAdapter Private Sub CrystalReportViewer1_Load(sender As System.Object, e As System.EventArgs) Handles CrystalReportViewer1.Load Dim cmd As SqlCommand Dim month As String month = InputBox("Enter the Month", "Enter the Month") Dim str As String = "Select * from rental where rentdate like'%" & month & "%'" cmd = New SqlCommand(str, con) Dim adapter As SqlDataAdapter adapter = New SqlDataAdapter(cmd) ds = New DataSet adapter.Fill(ds, "Orders") Dim rpt1 As New monthlytotal()

rpt1.SetDataSource(ds.Tables("Orders")) CrystalReportViewer1.ReportSource = rpt1

End Sub End Class

7.17 UNCOMPLETED RENTALS REPORT


Imports System.Data.SqlClient Public Class uncompletedrentalsreport Dim ds As New DataSet Dim da As SqlDataAdapter Private Sub CrystalReportViewer1_Load(sender As System.Object, e As System.EventArgs) Handles CrystalReportViewer1.Load Dim cmd As SqlCommand Dim str As String = "Select * from rental where rentstatus<>'Completed'" cmd = New SqlCommand(str, con) Dim adapter As SqlDataAdapter adapter = New SqlDataAdapter(cmd) ds = New DataSet adapter.Fill(ds, "Orders") Dim rpt1 As New uncompletedrentals()

40

rpt1.SetDataSource(ds.Tables("Orders")) CrystalReportViewer1.ReportSource = rpt1

End Sub End Class

41

8.0 LIMITATIONS
The system that we developed had several drawbacks that though we attempted to do were unable to accomplish. They are given below: We do not have a way to create a new user and a password through the main system. The system will refuse to run on older versions of Microsoft SQL and Microsoft Visual Studio. If the database location or the name is changed the code in the forms will have to be changed or else the system will not work. For system correction if any arises at a later date will need a trained professional. If a new type of vehicle is required to be added the code will have to be changed in the forms manually. Apart from the above mentioned errors the system works smoothly and effectively. It meets all the requirements that the user has specified and is completed on time.

42

9.0 FURTHER DEVELOPMENTS


Ability for other users than administrator for example drivers, employees etc. to have access to the system through a different username ID. Ability for the administrator to change login passwords. Be able to display an image of the vehicle being provided to the customers when choosing vehicles. Be able to provide a printed receipt containing the waiting time charges, night out charges and the total charges at the end of the journey. Be able to generate profit/loss reports. Ability for the customers to inquire online.

43

10.0 CONCLUSION
During the process of developing this system the team worked as one to make the maximum of the time frame that was available. The system was created to be user friendly and also to help the user of the system to reduce the amount of paperwork that will go into the system. The success of the system was achieved by the team working together. The development of this system helped all of us gain greater knowledge into SQL Server functions and Visual Basic.Net. The development of the system went beyond the limits of the course syllabus and thus providing all of us with an even greater amount of knowledge into the system. The functionality of the team throughout the development and design of the program was exceptional and all the members gave their fullest support and contribution towards it. We were able to fully apply the knowledge that we had gained during our lectures towards this program and this assignment gave us an opportunity to practically apply the knowledge that we had learnt. One of the problems that we faced during the development of the system was that the software that was the system was built in was of a newer version than the software available to us in the APIIT computer laboratories. We also face problems with the coding segment of the system. We overcame these problems and these problems did not hinder the development of the project seriously or delay us and cause us to go over the allocated time frame for developing the system. The system was developed tested and ready to be handed over with plenty of time left for debugging the program and to make any last minute changes if the need arose.

44

APPENDICES
1.0 MEETING MINUTES 1.1 1st MEETING
Date Time of Commencement Time of Conclusion Venue Members Present :Tuesday 29th March 2011 :04.50 pm :05.20 pm :APIIT, Union Place, 6th Floor Cafeteria :Ahamed Nishadh Deshan Ilangakoon Tiffaniya Fernando Taiyaba Ahmed Agenda: Identifying current system problems and requirements Maintaining meeting minutes and records

Minutes The main task that the group had to undertake was to identify the requirements of the existing system the current problems and what changes can be made to eliminate these problems. The meeting commenced with the Ahamed going over the assignment with the group and asking for their opinion on what the problems that the company was facing and how the group should go about developing the system in order to overcome the problems that they are facing. Problems such as the heavy work load caused by the burden of large amounts of paperwork was the main problem that got highlighted and it was decided by the group that this should be the area we focus most of our attention on.

45

After this the group discussed who should take on the task of maintaining the meeting minutes for the group and Deshan was assigned the task as he had done this previously on for other projects. Finally the meeting was adjourned until the 7th of April 2011.

. Group Leader

. Lecturer

46

1.2 2nd MEETING


Date Time of Commencement Time of Conclusion Venue Members Present :Thursday 7th April 2011 :01.30 pm :02.00 pm :APIIT, Union Place, 6th Floor Cafeteria :Ahamed Nishadh Deshan Ilangakoon Tiffaniya Fernando Taiyaba Ahmed Agenda: Planning out the new system

Minutes The purpose of this meeting is to determine how the new system should operate and what it should contain in order to be most effective. The team talked on what the system should look like and what is needed to be inside the system. During this discussion all the members gave in their ideas on how best to go about the designing of the system and the important and best points Ahamed said would be adopted into the system. also the task of developing the flow charts was given over to Tiffaniya. The meeting after that was adjourned until the 16th of April 2011.

. Group Leader

. Lecturer

47

1.3 3rd MEETING


Date Time of Commencement Time of Conclusion Venue Members Present :Thursday 16th April 2011 : 10.00 am :03.00 pm :Ahameds residence, Wellawatte :Ahamed Nishadh Deshan Ilangakoon Tiffaniya Fernando Taiyaba Ahmed Agenda: Review on the data flow diagrams System design

Minutes The meeting started off by going over the flow charts that Tiffaniya had completed. The flow charts were accepted to be fine and were then used as a guide in building the system. After this the main segment for the meeting commenced, the designing of the main system for the user. The team worked on the designing of the forms and the coding segment for the form. This work took up the rest of the time of the group until finally the meeting was adjourned till the 30th of April 2011 when the testing stage would commence.

. Group Leader

. Lecturer

48

1.4 4th MEETING


Date Time of Commencement Time of Conclusion Venue Members Present :Saturday 20th April 2011 :10.00 am :03.00 pm :APIIT, Union Place, L1 Computer Laboratory :Ahamed Nishadh Deshan Ilangakoon Tiffaniya Fernando Taiyaba Ahmed Agenda: System testing

Minutes The group meeting commenced with the team going over the now complete program. The main objective of the meeting was to run tests on the system to see if the system operated as needed and without any glitches. The system was put through rigorous testing and the results of these tests were monitored and recorded. After this the group were each allocated segments of the documentation to complete and the meeting was adjourned until the 5th of May when the documentation would be completed.

. Group Leader

. Lecturer

49

1.5 5th MEETING


Date Time of Commencement Time of Conclusion Venue Members Present :Saturday May 14th 2011 :10.00 am :03.00 pm :APIIT, Union Place, L1 Computer Laboratory :Ahamed Nishadh Deshan Ilangakoon Tiffaniya Fernando Taiyaba Ahmed Agenda: Compilation

Minutes The main purpose of this meeting was to compile the document for this assignment and to make a final check on the system. After this Ahamed thanked the group for the work put in and the meeting was adjourned.

. Group Leader

. Lecturer

50

2.0 GANTT CHART

51

3.0 WORK BREAKDOWN STRUCTURE


Name Percentage Work Done Ahamed Nishadh (CB004081) Deshan Ilangakoon (CB004041) Taiyaba Ahmed (CB004119) Tiffaniya Fernando (CB004165) 30% 30% 20% 20% Signature

I, hereby agree that the above members have undertaken the above tasks and their work is reflective of what has written above.

Group Leader: A.N.Ahamed Nishadh (CB004081) ____________________

52

4.0 BIBLIOGRAPHY

Microsoft TechNet, 2010. Hardware and Software Requirements for Installing SQL Server 2008. [Online] Available at: http://technet.microsoft.com/enus/library/ms143506(SQL.100).aspx [Accessed 2011].

53

Das könnte Ihnen auch gefallen