0
Tải bản đầy đủ (.doc) (92 trang)

Hình 27: Form đăng nhập

Một phần của tài liệu XÂY DỰNG PHẦN MỀM QUẢN LÝ KHÁCH HÀNG TẠI CÔNG TY PHẦN MỀM ASIA (Trang 56 -92 )

Hình 24: Thuật toán xoá dữ liệu

Bắt đầu

Chọn bản ghi cần xóa

Có chắc xóa không?

Xóa dữ liệu trong tệp dữ liệu

Kết thúc

F

3.3.2.5. Thuật toán tra cứu dữ liệu

Hình 25: Thuật toán tra cứu dữ liệu

Bắt đầu Nhập thông tin tìm kiếm tồn tại th.tin cần

Hiện thông tin cần tìm

Kết thúc Tiếp tục? F T T F

3.3.3. Sơ đồ chức năng của phần mềm

Hình 26: Sơ đồ chức năng của phần mềm

Phần mềm

quản lý

Hệ thống Danh Mục Quản trị thông tin Báo cáo khách hàng Đăng nhập Đổi mật khẩu Thoát Các danh mục giao dịch Các danh mục hợp đồng Quản lý thông tin giao dịch Quản lý thông tin hợp đồng Quản lý thông tin người liên

hệ Quản lý nhân

3.3.3.1. Chức năng của hệ thông gồm các xử lý sau:

• Đăng nhập: cho phép người dùng đăng nhập lại hệ thống.

• Đổi mật khẩu: chức năng này cho cho phép người dùng đổi mật khẩu mà nhà quản trị đã cấp phát cho họ khi đăng ký

• Thoát: chức năng cho phép người dùng dừng chương trình bất kỳ lúc nào nếu muốn.

3.3.3.2. Danh mục:

• Các danh mục giao dịch: thực hiện chức năng quản lý các danh mục liên quan đến giao dịch. Chức năng ở đây là gồm thêm, sửa, xoá. Các danh mục liên quan đến giao dịch bao gồm: loại giao dịch, phương thức giao dịch, và tình trạng giao dịch.

• Các danh mục hợp đồng: tương tự, chức năng này để quản lý các danh mục liên quan đên hợp đồng như: loại hợp đồng, tình trạng hợp đồng. 3.3.3.3. Quản lý thông tin khách hàng:

Đây là chức năng quan trọng chính của chương trình. Trong phân hệ quản lý thông tin khách hàng này sẽ bao gồm cả chức năng quản lý hợp đồng, giao dịch,… Với phân hệ này người dùng không những nắm được các thông tin cá nhân của khách hàng, mà còn nắm được tình trạng giao dịch, cũng như lịch sử hoạt động với khách hàng đó. Các chức năng lưu, sửa, xoá, tìm kiếm dữ liệu khách hàng, giao dịch, hợp đồng đều được cung cấp đầy đủ trong phân hệ này. 3.3.3.4. Báo cáo

Chức năng này cung cấp cho người dùng những báo cáo cần thiết cho việc quản trị thông tin khách hàng. Như các báo cáo: Top 10 khách hàng có doanh thu cao nhất, báo cáo phân loại hợp đồng, báo cáo các giao dịch theo từng nhân viên…

3.3.4. Thiết kế các giao diện

Trong phần này em sẽ trình bày một số giao diện chính của chương trình phần mềm quản lý khách hàng.

3.3.4.1. Form đăng nhập

Màn hình này sẽ xuất hiện đầu tiên khi người dùng khởi động chương trình, người dùng sẽ điền thông tin bao gồm tên người dùng và mật khẩu. Nếu đăng nhập đúng, người dùng mới có thể truy nhập vào hệ thống. Nếu sai, người dùng phải đăng nhập lại hoặc thoát khỏi chương trình. Nếu đăng nhập sai quá 3 lần, người dùng sẽ bị thoát khỏi hệ thống

Do đây là một ứng dụng nhỏ nên chương trình không có sự phân quyền người dùng. Khi một người dùng đăng nhập thành công vào chương trình họ có thể sử dụng đầy đủ các ứng dụng của chương trình.

3.3.4.2. Màn hình giao diện chính

Với mục tiêu lấy khách hàng làm trung tâm, chương trình cần cung cấp những thông tin về khách hàng đầy đủ, và cập nhật nhất. Như: hiện nay công ty có bao nhiêu khách hàng, các giao dịch và hợp đồng của từng khách hàng,… Để nắm bắt thông tin khách hàng một cách đầy đủ, thuận tiện và nhanh chóng, phần thông tin khách hàng sẽ được hiện ngay trên giao diện chính của chương trình. Người dùng có thể truy xuất đầy đủ các thông tin về khách hàng thông qua bốn tab chính là: khách hàng, giao dịch, hợp đồng, và người liên hệ của khách hàng đó. Việc tổ chức thông tin khách hàng trên các tab sẽ giúp người dùng nắm rõ tình trạng của khách hàng, kết quả các giao dịch,… Đồng thời như vậy các thông tin của cách hàng sẽ được tổ chức hệ thống và dễ hiểu, dễ nắm bắt cho người dùng. Giao diện chính của chương trình như sau:

Sau khi đăng nhập và hệ thống , chương trình sẽ hiện ra giao diện chính. Do đây là phần mềm phục vụ quản lý các thông tin về khách hàng nên giao diện chính của chương trình cũng là màn hình quản lý danh mục khách hàng và các thông tin liên quan tới khách hàng đó thông qua hệ thống các tab. Màn hình được chia làm 3 phần chính:

• Hệ thống menu chương trình: Thực hiện chức năng quản lý các danh mục, hiện báo cáo,v.v..

• Thanh công cụ: Thực hiện các chức năng tạo mới, sửa, xoá.. • Grid chứa danh sách khách hàng và các giao diện liên quan.

Ngoài ra, trong giao diện màn hình chính này, chương trình cung cấp chức năng tìm kiếm nhanh theo tên khách hàng rất thuận lợi cho người dùng. Tại tab khách hàng, bên dưới danh sách khách hàng có một textbox để người dùng có thể gõ điều kiện tìm kiếm theo tên khách hàng. Chương trình sẽ lọc tất cả các khách hàng mà trong tên có chứa chuỗi kí tự mà người dùng gõ vào.

Thông tin của khách hàng được thể hiện đầy đủ qua các hệ thống các tab có quan hệ với nhau. Khi chọn một khách hàng trong danh sách khách hàng, thì tại các tab người liên hệ, giao dịch hay hợp đồng sẽ chỉ liệt kê thông tin tương ứng của khách hàng đó. Để cập nhật, thay đổi các thông tin của từng phân hệ (khách hàng, giao dịch, hợp đồng,…) người dùng có thể nhấn đúp vào bản ghi tương ứng trong bảng, hoặc chọn chức năng Edit trên thanh công cụ.

Với thanh cộng cụ, phần mềm cung cấp chức năng thêm, sửa, xoá các thông tin, dữ liệu. Ví dụ như để thêm mới một khách hàng hay môt giao dịch, v..v người dùng chỉ việc chọn tab tương ứng và ấn nút New trên thanh công cụ. Một cửa sổ cập nhật thông tin sẽ xuất hiện.

3.3.4.3. Form thay đổi mật khẩu người dùng

Hình 29: Form thay đổi mật khẩu người dùng

Màn hình cung cấp chức năng thay đổi mật khẩu người dùng. Đầu tiên người dùng chọn mã người dùng trong combo Box Tên người dùng. Để đổi được mật khẩu mới đòi hỏi người dùng phải nhập đúng mật khẩu cũ của user này. Sau đó xác nhận mật khẩu mới. Mật khẩu mới sẽ có hiệu lực trong lần truy cập sau đó.

3.3.4.4. Form cập nhật thông tin khách hàng

Hình 30: Form cập nhật thông tin khách hàng

Từ màn hình chính, tại tab Khách Hàng, sau khi người dùng chọn các chức năng cập nhật thông tin (tạo mới , sửa, xoá,..) trên thanh công cụ. Màn hình này sẽ xuất hiện cho phép người dùng cập nhật thông tin về khách hàng.

3.3.4.5. Form cập nhật thông tin người liên hệ

Hình 31: Form cập nhật thông tin người liên hệ

Giao diện này cho phép người dùng cập nhật (khai báo, hoặc sửa đổi) các thông tin chi tiết về người liên hệ (hay người đại diện) của khách hàng liên quan.

3.3.4.6. Form cập nhật thông tin giao dịch

Hình 32: Form cập nhật thông tin giao dịch

Màn hình giao dịch dùng để cập nhật toàn bộ các thông tin giao dịch của nhân viên với một khách hàng (giao dịch bán hàng, triển khai, bảo hành,..). Chương trình sẽ quản lý nội cung giao dịch và công việc đã thực hiện.

3.3.4.7. Form cập nhật thông tin hợp đồng

Hình 33: Form cập nhật thông tin hợp đồng

Để xuất hiện màn hình cập nhật thông tin hợp đồng, người dùng có thể chọn chức năng Edit trên thanh công cụ ở màn hình chính, hoặc ấn đúp chuột vào hợp đồng muốn cập nhật. Giao diện này cho phép người dùng sửa đổi các thông tin về các hợp đồng liên quan tới một khách hàng. Form được để mặc định ở chế độ xem (không thể thay đổi thông tin xuất hiện trên form), để sửa các thông tin về một hợp đồng, người dùng chọn nút Sửa trên màn hình.

3.3.4.8. Form quản lý nhân viên

Hình 34: Form quản lý thông tin nhân viên

Từ menu chính, khi người dùng chọn chức năng quản lý nhân viên, màn hình trên sẽ hiện ra. Ở đây nhân viên trong công ty cũng chính là những người sử dụng phần mềm. Form này cung cấp cho người sử dụng chức năng cập nhât các cá thông tin cá nhân của nhân viên: như họ tên, ngày tháng năm sinh, chức vụ,…

3.3.4.9. Form quản lý danh mục

Phần mềm cung cấp chức năng quản lý các danh mục. Bằng cách chọn chức năng quản lý danh mục trên menu chính của chương trình, người dùng có thể thực hiện chức năng quản lý các danh mục của chương trình như:

• Loại giao dịch:

• Tình trạng giao dịch:

Hình 36: Form quản lý danh mục trạng thái giao dịch

• Phương thức giao dịch:

• Loại hợp đồng:

Hình 38: Form quản lý danh mục loại hợp đồng

• Tình trạng hợp đồng:

3.3.5. Thiết kế đầu ra

3.3.5.1. Báo cáo TOP 10 khách hàng có doanh số lớn nhất

3.3.5.2. Báo cáo thống kê khách hàng

3.3.5.3. Báo cáo thống kê người liên hệ của khách hàng

3.3.5.4. Báo cáo thống kê các hợp đồng theo loại

3.3.5.5. Báo cáo thống kê hợp đồng theo sản phẩm

3.3.5.6. Báo cáo thống kê giao dịch theo nhân viên

3.3.5.7. Báo cáo thống kê giao dịch theo loại

KẾT LUẬN

Sau thời gian thực tập tại Công ty Cổ phần phần mềm ASIA, em đã nhận thấy tầm quan trọng của việc thực hiện tin học hoá trong quản lý đặc biệt là trong hoạt động quản lý khách hàng tại một doanh nghiệp. Trong thời gian này em cũng đã học hỏi và trang bị cho mình thêm nhiều kiến thức từ môi trường thực tế mà em được tiếp xúc. Qua đó, em đã hoàn thành đề tài “Xây dựng phần mềm quản lý khách hàng tại công ty phần mềm ASIA”. Phần mềm đã đáp ứng được những yêu cầu cơ bản trong hệ thống quản lý khách hàng với giao diện đơn giản, thân thiện, thao tác chương trình linh hoạt dễ dàng cho người sử dụng. Chương trình đã quản lý được các thông tin về khách hàng cũng như các giao dịch và hợp đồng phát sinh đối với mỗi khách hàng. Phần mềm cũng cho phép người dùng tìm kiếm các thông tin về khách hàng theo các tiêu chí khách nhau do người sử dụng lựa chọn.

Tuy nhiên, do hạn chế về thời gian và khả năng có hạn, nên chương trình không thể tránh khỏi những thiếu sót, em rất mong nhận được sự đóng góp của thầy cô và các bạn để chương trình được nâng cấp, mở rộng và hoàn thiện hơn.

Em xin chân thành cảm ơn thầy Trần Công Uẩn, cô Trần Thị Bích Hạnh, và các anh chị tại Công ty cổ phẩn phần mềm ASIA đã nhiệt tình giúp đỡ em trong quá trình thực tập và hoàn thành khoá luận tốt nghiệp này.

DANH MỤC TÀI LIỆU THAM KHẢO

1. Trương Văn Tú, Trần Thị Song Minh (2000), “Giáo trình hệ thống thông tin quản lý”, Nhà xuất bản Thống Kê.

2. Nguyễn Văn Vỵ (2002), “Phân tích thiết kế hệ thống thông tin hiện đại”, Nhà xuất bản thống kê.

3. Nguyễn Đình Tê, Nguyễn Ngọc Minh, Hoàng Nguyễn, Hoàng Đức Hải, Nguyễn Anh Tuấn (2004), “Tự học lập trình cơ sở dữ liệu với Visual Basic 1,2”, Nhà xuất bản lao động xã hội.

4. Trần Công Uẩn (2005), “Giáo trình cơ sở dữ liệu 1,2”, Nhà xuất bản thống kê.

5. Nguyễn Tiến, Ngô Quốc Việt, Phạm Nguyễn Kỳ “ Tin học thực hành tập 2: Kỹ thuật lập trình Visual Basic tự học trong 21 ngày”.

PHỤ LỤC

(Mã Nguồn chương trình)  Form Main

Option Explicit Dim SQL As String

Dim Conn As New ADODB.Connection Dim Rs As New ADODB.Recordset Private Sub DataGrid1_DblClick() frmKhachHang.Show

Unload Me End Sub

Private Sub DataGrid2_DblClick() frmNguoiLH.Show

Unload Me End Sub

Private Sub DataGrid3_DblClick() frmGiaoDich.Show

Unload Me End Sub

Private Sub DataGrid4_DblClick() frmHopDong.Show

Unload Me End Sub

Private Sub lblKhachHang_Change() NapAdodcGD

NapAdodcNLH NapAdodcHD

End Sub

Private Sub mnuBCGDtheoLoai_Click() Set Conn = New ADODB.Connection With Conn

.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Data\QLKH.mdb;Persist Security Info=False"

.Open End With

SQL = "SELECT LoaiGD, TomTatND, KhachHang, TenNV From GiaoDich, NhanVien" & _

" Where GiaoDich.NhanVien=NhanVien.MaNV" & _ " Order By LoaiGD"

Rs.Open SQL, Conn

rptDSHD.SetTablePrivateData 0, 3, Rs

rptDSHD.ReportFileName = App.Path + "\Report\GDtheoLoai.rpt" rptDSHD.PrintReport

Rs.Close End Sub

Private Sub mnuBCHDtheoLoai_Click() Set Conn = New ADODB.Connection With Conn

.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Data\QLKH.mdb;Persist Security Info=False"

.Open End With

SQL = "SELECT LoaiHD, SoHD, Ten, SanPham, GiaTriHD From HopDong, KhachHang" & _

" Where KhachHang.IDKH=HopDong.KhachHang"

Rs.Open SQL, Conn

rptDSHD.SetTablePrivateData 0, 3, Rs

rptDSHD.PrintReport Rs.Close

End Sub

Private Sub mnuBCHDtheoSP_Click() Set Conn = New ADODB.Connection With Conn

.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Data\QLKH.mdb;Persist Security Info=False"

.Open End With

SQL = "SELECT SanPham, LoaiHD, SoHD, Ten, GiaTriHD From HopDong, KhachHang" & _

" Where KhachHang.IDKH=HopDong.KhachHang"

Rs.Open SQL, Conn

rptDSHD.SetTablePrivateData 0, 3, Rs

rptDSHD.ReportFileName = App.Path + "\Report\DSHDtheoSP.rpt" rptDSHD.PrintReport

Rs.Close End Sub

Private Sub mnuDangNhap_Click() frmDangNhap.Show

Unload Me Conn.Close End Sub

Private Sub mnuDoiMK_Click() FrmDoiMatKhau.Show

Unload Me Conn.Close End Sub

Private Sub mnuDSGD_Click()

Set Conn = New ADODB.Connection With Conn

.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Data\QLKH.mdb;Persist Security Info=False"

.Open End With

SQL = "SELECT TenNV, TomTatND, KhachHang, TinhTrangGD From NhanVien, GiaoDich" & _

" Where GiaoDich.NhanVien=NhanVien.MaNV"

Rs.Open SQL, Conn

rptBCGD.SetTablePrivateData 0, 3, Rs

rptBCGD.ReportFileName = App.Path + "\Report\TKGDtheoNV.rpt" rptBCGD.PrintReport

Rs.Close End Sub

Private Sub mnuDSKH_Click()

Set Conn = New ADODB.Connection With Conn

.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Data\QLKH.mdb;Persist Security Info=False"

.Open End With

SQL = "SELECT IDKH, Ten, count(IDGD) As SlgGD, count(SoHD) As SlgHD, sum(GiaTriHD) As TongGT" & _

" From KhachHang, HopDong, GiaoDich" & _

" Where KhachHang.IDKH = HopDong.KhachHang and KhachHang.IDKH=GiaoDich.KhachHang" & _

" Group By IDKH, Ten Order BY IDKH"

Rs.Open SQL, Conn

rptDSKhachHang.SetTablePrivateData 0, 3, Rs

rptDSKhachHang.ReportFileName = App.Path + "\Report\DSKhachHang.rpt" rptDSKhachHang.PrintReport

Rs.Close End Sub

Private Sub mnuDSNLH_Click() Set Conn = New ADODB.Connection With Conn

.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Data\QLKH.mdb;Persist Security Info=False"

.Open End With

SQL = "SELECT Ten, TenNLH, ChucVu, NguoiLH.SDT From NguoiLH, KhachHang" & _

" Where KhachHang.IDKH=NguoiLH.CongTy"

Rs.Open SQL, Conn

rptNLH.SetTablePrivateData 0, 3, Rs

rptNLH.ReportFileName = App.Path + "\Report\DSNguoiLH.rpt" rptNLH.PrintReport

Rs.Close End Sub

Private Sub mnuLoaiGD_Click() frmLoaiGD.Show

Unload Me Conn.Close End Sub

Private Sub mnuLoaiHD_Click() frmLoaiHD.Show

Unload Me Conn.Close End Sub

Private Sub mnuPhuongThucGD_Click() frmphuongthucGD.Show

Unload Me Conn.Close End Sub

Private Sub mnuQLUser_Click() frmNguoiDung.Show

Unload Me Conn.Close End Sub

Private Sub mnuTop10KH_Click() Set Conn = New ADODB.Connection With Conn

.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Data\QLKH.mdb;Persist Security Info=False"

.Open End With

SQL = "SELECT TOP 10" & _

" Ten, DiaChi, sum(GiaTriHD) From KhachHang, HopDong WHERE KhachHang.IDKH=HopDong.KhachHang" & _

" GROUP BY Ten, DiaChi" & _

" ORDER BY sum(GiaTriHD) DESC"

Rs.Open SQL, Conn

rptNLH.SetTablePrivateData 0, 3, Rs

rptNLH.ReportFileName = App.Path + "\Report\TOP10KH.rpt" rptNLH.PrintReport

Rs.Close End Sub

Private Sub mnuTTGD_Click() frmtrangthaiGD.Show

Unload Me Conn.Close End Sub

frmTinhTrangHD.Show Unload Me

Conn.Close End Sub

Private Sub tbToolbar_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key

Case "New" If SSTab1.Tab = 0 Then frmKhachHang.Show frmKhachHang.cmdTaoMoiKH_Click Unload Me End If If SSTab1.Tab = 1 Then frmNguoiLH.Show frmNguoiLH.cmdTaoMoiNLH_Click frmNguoiLH.txtCongTy.Text = lblIDKH.Caption Unload Me End If If SSTab1.Tab = 2 Then frmGiaoDich.Show frmGiaoDich.cmdTaoMoiGD_Click frmGiaoDich.dcboKhachHang.Text = lblIDKH.Caption Unload Me End If If SSTab1.Tab = 3 Then frmHopDong.Show frmHopDong.cmdTaoMoiHD_Click frmHopDong.dcboKhachHang.Text = lblIDKH.Caption Unload Me End If Case "Edit" If SSTab1.Tab = 0 Then frmKhachHang.Show frmKhachHang.cmdSuaKH_Click

Unload Me End If If SSTab1.Tab = 1 Then frmNguoiLH.Show frmNguoiLH.cmdSuaNLH_Click Unload Me End If If SSTab1.Tab = 2 Then frmGiaoDich.Show frmGiaoDich.cmdSuaGD_Click Unload Me End If If SSTab1.Tab = 3 Then frmHopDong.Show frmHopDong.cmdSuaHD_Click Unload Me End If Case "Delete" If SSTab1.Tab = 0 Then

If MsgBox("B¹n cã ch¾c xo¸ kh«ng?", vbYesNo + vbQuestion, "Thong Bao") = vbYes Then

AdodcKH.Recordset.Delete AdodcKH.Recordset.MoveFirst Else: Exit Sub

End If End If

If SSTab1.Tab = 1 Then

If MsgBox("B¹n cã ch¾c xo¸ kh«ng?", vbYesNo + vbQuestion, "Thong Bao") = vbYes Then

AdodcNLH.Recordset.Delete AdodcNLH.Recordset.MoveFirst Else: Exit Sub

End If End If

If MsgBox("B¹n cã ch¾c xo¸ kh«ng?", vbYesNo + vbQuestion, "Thong Bao") = vbYes Then

AdodcGD.Recordset.Delete AdodcGD.Recordset.MoveFirst Else: Exit Sub

End If End If

If SSTab1.Tab = 3 Then

If MsgBox("B¹n cã ch¾c xo¸ kh«ng?", vbYesNo + vbQuestion, "Thong Bao") = vbYes Then

AdodcHD.Recordset.Delete AdodcHD.Recordset.MoveFirst Else: Exit Sub

End If End If Case "Refresh" NapAdodcKH NapAdodcGD NapAdodcNLH NapAdodcHD End Select End Sub

Private Sub Timer1_Timer() Dim X As String Dim Y As String X = Left(frmMain.Caption, 1) Y = Right(frmMain.Caption, Len(frmMain.Caption) - 1) frmMain.Caption = Y + X End Sub

Private Sub mnuThoat_Click() End

End Sub

Một phần của tài liệu XÂY DỰNG PHẦN MỀM QUẢN LÝ KHÁCH HÀNG TẠI CÔNG TY PHẦN MỀM ASIA (Trang 56 -92 )

×