II. THIẾT KẾ HỆ THỐNG.
i. KẾT QUẢ THU ĐƯỢC SAU KH
ĐƯỢC SAU KHI HOÀN THÀNH ĐỀ TÀI
9. Kết quả thử nghiệm chương trình.
Chương trình đã được hoàn thiện sau một thời gian dài phân tích và thiết kế, khi chương trình đã được hoàn thành thì công đoạn thử nghiệm là rất quan trọng, nó cho thấy rõ được chương trình có chạy chính xác không, nếu không chính xác thì có sai sót ở chỗ nào và từ đó có thể sửa chữa, thay đổi cho phù hợp. Kết quả thử nghiệm chương trình sau khi hoàn thành đề tài khá tốt, các số liệu được đưa vào đã được lưu trữ lại và kết quả sau khi xử lý đưa ra rất chính xác. Với modul chương trình này thì người quản lý thu cước phí Internet sẽ không còn phải lo vấn đề sai sót trong việc tính cước cho khách hàng, còn khách hàng yên tâm và luôn tin tưởng vào nhà cung cấp. Trong thực tế rất khó nếu như không muốn nói là không có trường hợp khách hàng trả thiếu hay trả chậm tiền cước phí nhưng nếu có trường hợp ấy sảy ra thì chương trình sẽ có những thông báo tới nhắc nhở khách hàng của mình.
Trong thực tế đây là modul dự phòng trường hợp khách hàng trả thiếu xảy ra nên em cũng rất mong modul được áp dụng nhưng đồng thời em cũng không muốn một khách hàng nào có thể để xảy ra trường hợp này đối với công ty. Do trình độ còn có hạn, hơn nữa với một thời gian hạn chế, modul được thiết kế còn khá nhiều những yếu điểm, em rất mong thầy cô góp ý và lượng thứ.
10.Một số giao diện màn hình tiêu biểu.
Để bắt đầu thực hiện, chương trình sẽ chạy form chính đây là một MDI Form, từ form này ta có thể gọi được các form còn lại của modul và có một hệ thống menu giúp người sử dụng có thể lựa chọn các thao tác khác nhau.
Form ch ính của chương trình
Công việc xử lý của hệ thống sẽ bắt đầu từ việc nhập dữ liệu vào hệ thống do vậy mà form nhập sẽ được gọi và người sử dụng sẽ nhập vào một số thông tin cần thiết để hệ thống có thể xử lý và cho ra kết quả.
Form nhập dữ liệu được thiết kế như sau:
Trong quá trình nhập dữ liệu rất có thể người sử dụng sẽ gặp phải những nhầm lẫn về thông tin của khách hàng do đó việc nhu cầu sửa dữ liệu đã được lưu là một điều tất yếu khách quan. Để đáp ứng nhu cầu này, form sửa dữ liệu sẽ giúp người sử dụng sửa chữa những sai sót do mình nhập vào.
Form Sửa dữ liệu được thiết kế như sau:
Để phục vụ mục đích quản lý, nhà quản lý sẽ có thể có yêu cầu muốn xem về dữ liệu đã được lưu trữ như thế nào ? Vấn đề này sẽ được đáp ứng với form xem dữ liệu của hệ thống. Trong Form này dữ liệu sẽ được hiển thị dưới dạng bảng để nhà quản lý sẽ dễ dàng xen xét.
Form xem đã được thiết kế như sau:
Trong quá trình quản lý, nhà quản lý sẽ phải thêm vào những khách hàng mới, khi đó sẽ phải có một giao diện vào để nhà quản lý thêm các khách hàng mới. Form nhập của hệ thống sẽ đáp ứng nhu cầu này.
Form thêm dữ liệu đã được thiết kế như sau:
Để chọn lựa khách hàng mà người quản lý cần gửi những giấy thông báo về tình hình nợ cũng như tình hình sử dụng Internet của khách hàng thì chương trình sẽ có các form giúp nhà quản lý lựa chọn khách hàng cần gửi và cũng từ đó để các report cần thiết lên phục vụ cho mục đích của nhà quản lý.
Form gọi report đã được thiết kế như sau.
Báo cáo gửi tới khách hàng thông báo cho khách hàng biết tình hình sử dụng Internet của họ.
Báo cáo đã được thiết kế như sau:
Báo cáo tổng hợp của chương trình sẽ cung cấp toàn bộ thông tin về khách hàng cũng như tình hình sử dụng cước phí của họ.
Báo cáo được thiết kế như sau:
B
11.Code của chương trình.
Code của form chính(MDI Form)
Private Sub mnuCanhan_Click() frmcanhan.Show
End Sub
Private Sub mnugiay_Click() frmthongbao.Show
End Sub
Private Sub mnuInan_Click() rp1.Show
End Sub
Private Sub mnuThang_Click() frmnothang.Show
End Sub
Private Sub mnuSua_Click() Frmsua.Show
End Sub
Private Sub mnuThem_Click() frmthem.Show
End Sub
If MsgBox(" Bạn có chắc chắn thoát ?", vbYesNo, "Thông báo") <> vbYes Then Exit Sub End If End End Sub
Private Sub mnuthongbao_Click() frmcanhan.Show
End Sub
Private Sub mnuThutien_Click() frmnhap.Show
End Sub
Private Sub mnuVung_Click() frmvung.Show
End Sub
Private Sub mnuXem_Click() Frmxem.Show
End Sub
Private Sub mnuXoa_Click() Frmxoa.Show
Code form Nhập Tiền cước phí
Private Sub Cmdluu_Click() Data2.Refresh
While Not Data2.Recordset.EOF With Data2.Recordset
If (!makh = UID.Text) Then .Edit
!datra = Val(Txttong.Text) - Val(Txtno.Text) !no = Val(Txtno.Text) .Update End If .MoveNext End With Wend
MsgBox "Dữ liệu đã được lưu!", , "Thông báo" Cmdluu.Enabled = False
Cmdmoi.SetFocus End Sub
Private Sub Cmdmoi_Click() Cmdluu.Enabled = False UID.Text = "" Txttong.Text = "" Txttra.Text = "" Txtuser.Text = "" Txtno.Text = ""
Txtdatra.Text = "" UID.SetFocus End Sub
Private Sub cmdthoat_Click() Unload frmnhap
End Sub
Private Sub Form_Load() Dim mySQL As String
mySQL = "SELECT MAKH FROM BANGNO GROUP BY MAKH" data1.RecordSource = mySQL
data1.Refresh
While Not data1.Recordset.EOF With data1.Recordset
If (Not IsNull(!makh)) Then UID.AddItem !makh End If .MoveNext End With Wend Cmdluu.Enabled = False End Sub
Private Sub Txttra_KeyPress(KeyAscii As Integer) Dim s As Double
On Error GoTo Err_Txttra_Click If KeyAscii = 13 Then
If s < 0 Then
MsgBox "Đã trả thừa " & -s & "!", , "Thông báo" Txttra.SetFocus Else Txtno.Text = s Cmdluu.Enabled = True Cmdluu.SetFocus End If End If Exit_Txttra_Click: Exit Sub Err_Txttra_Click:
MsgBox "Nhập sai dữ liệu!", , "Thông báo" Cmdluu.Enabled = False
Resume Exit_Txttra_Click End Sub
Private Sub UID_Click() Dim s As Long Cmdluu.Enabled = False Txttong.Text = "" Txttra.Text = "" Txtuser.Text = "" Txtno.Text = "" Txtdura.Text = "" Txtdatra.Text = "" Data2.Refresh
If (!makh = UID.Text) Then Txtdura.Text = !Duration Txttong.Text = !tongtien Txtuser.Text = !UserName If Not (IsNull(!datra)) Then Txtdatra.Text = !datra
Txtno.Text = Val(Txttong.Text) - Val(Txtdatra.Text) Else Txtdatra.Text = 0 Txtno.Text = Txttong.Text End If End If .MoveNext End With Wend Txttra.SetFocus End Sub
Code form thêm khách hàng
Private Sub Command1_Click() With Data2.Recordset .AddNew !UserName = Text2.Text !Duration = Val(Text3.Text) !tongtien = Val(Text6.Text) !datra = 0
.Update End With
MsgBox "Dữ liệu đã được lưu!", , "Thông báo" Command1.Enabled = False
Command2.SetFocus End Sub
Private Sub Command2_Click() Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text2.SetFocus Command1.Enabled = False End Sub
Private Sub Command3_Click() Unload frmthem
End Sub
Private Sub Form_Load() Command1.Enabled = False End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
Else
Text2.SetFocus End If
End If End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer) On Error GoTo Err_Text3_Click
If KeyAscii = 13 Then
Text4.Text = CLng(Text3.Text) * 4 / 3 Text5.Text = CLng(Text3.Text) * 4 / 30
Text6.Text = Val(Text4.Text) + Val(Text5.Text) If Not (Text2.Text = "") Then
Command1.Enabled = True Command1.SetFocus Else Text3.SetFocus Command1.Enabled = False End If End If Exit_Text3_Click: Exit Sub Err_Text3_Click:
MsgBox "Nhập sai dữ liệu!", , "Thông báo" Text3.SetFocus
Command1.Enabled = False Resume Exit_Text3_Click End Sub
Code form Sửa khách hàng.
Private Sub Command1_Click() Data2.Refresh
While Not Data2.Recordset.EOF With Data2.Recordset
If (!makh = UID.Text) Then .Edit
!no = Val(txttong.Text) - Val(txtda.Text) !no = Val(txtcon.Text) .Update End If .MoveNext End With Wend
MsgBox "Dữ liệu đã được cập nhật!", , "Thông báo" End Sub
Private Sub Command2_Click() Unload Frmsua
End Sub
Private Sub Form_Load() Dim mySQL As String
Data1.Refresh
While Not Data1.Recordset.EOF With Data1.Recordset
If (Not IsNull(!makh)) Then UID.AddItem !makh End If .MoveNext End With Wend End Sub
Private Sub UID_Click() Dim s As Long Dim sql As String
sql = "SELECT * FROM BANGNO " Data2.RecordSource = sql txttong.Text = "" Txtuser.Text = "" txtcon.Text = "" txtdur.Text = "" txtda.Text = "" Data2.Refresh
While Not Data2.Recordset.EOF With Data2.Recordset
If (!makh = UID.Text) Then txtdur.Text = !Duration
Txtuser.Text = !UserName If Not (IsNull(!datra)) Then txtda.Text = " "
txtcon.Text = Val(txttong.Text) - Val(txtda.Text) Else txtda.Text = " " Txtno.Text = txttong.Text End If End If .MoveNext End With Wend txtda.SetFocus End Sub
Code form gọi thông báo.
Private Sub Cmb1_Click() Dim s As Long
Dim sql As String
sql = "SELECT * FROM BANGNO " Data2.RecordSource = sql
Text1.Text = "" Data2.Refresh
While Not Data2.Recordset.EOF With Data2.Recordset
Text1.Text = !UserName End If .MoveNext End With Wend End Sub
Private Sub cmdthoat_Click() Unload frmthongbao
End Sub
Private Sub Form_Load() Dim mySQL As String
mySQL = "SELECT MAKH FROM BANGNO GROUP BY MAKH" Data1.RecordSource = mySQL
Data1.Refresh
While Not Data1.Recordset.EOF With Data1.Recordset
If (Not IsNull(!makh)) Then Cmb1.AddItem !makh End If .MoveNext End With Wend End Sub
Code form thông báo nợ
Private Sub cmdthoat_Click() Unload frmcanhan
End Sub
Private Sub Command1_Click() DataSQL.SQLBCCN (UID.Text)
rptDN.Title = "Thông báo sử dụng internet của khách hàng số " + UID.Text rptDN.Show
End Sub
Private Sub Form_Load() Dim mySQL As String
mySQL = "SELECT MAKH FROM BANGNO GROUP BY MAKH" Data1.RecordSource = mySQL
Data1.Refresh
While Not Data1.Recordset.EOF With Data1.Recordset
If (Not IsNull(!makh)) Then UID.AddItem !makh End If .MoveNext End With Wend End Sub
Private Sub UID_Click() Dim s As Long
txtuser.Text = "" Data2.Refresh
While Not Data2.Recordset.EOF With Data2.Recordset
If (!makh = UID.Text) Then txtuser.Text = !UserName End If .MoveNext End With Wend End Sub
Code của form Xem dữ liệu.
Option Explicit
Private Sub Form_Load() Dim s As Integer MSFGXem.Row = 0 MSFGXem.ColWidth(0) = 0 MSFGXem.Col = 1 MSFGXem.ColWidth(1) = 510 MSFGXem.Text = "STT" MSFGXem.Col = 2 MSFGXem.ColWidth(2) = 2000 MSFGXem.Text = "User Name" MSFGXem.Col = 3
MSFGXem.Text = "Duration" MSFGXem.Col = 4 MSFGXem.ColWidth(4) = 2000 MSFGXem.Text = "Tổng trả" MSFGXem.Col = 5 MSFGXem.ColWidth(5) = 2000 MSFGXem.Text = "Đã trả" MSFGXem.Col = 6 MSFGXem.ColWidth(6) = 2000 MSFGXem.Text = "Còn nợ" Data1.Refresh s = 0
While Not Data1.Recordset.EOF With Data1.Recordset
If (Not IsNull(!makh)) Then s = s + 1 MSFGXem.Row = s MSFGXem.Col = 1 MSFGXem.Text = !makh MSFGXem.Col = 2 MSFGXem.Text = !UserName MSFGXem.Col = 3 MSFGXem.Text = !Duration MSFGXem.Col = 4 MSFGXem.Text = !tongtien MSFGXem.Col = 5
Else
MSFGXem.Text = 0 End If
MSFGXem.Col = 6
If (Not IsNull(!datra)) Then
MSFGXem.Text = !tongtien - !datra Else MSFGXem.Text = !tongtien End If End If .MoveNext End With Wend End Sub KẾT LUẬN
Như vậy, đề tài đã được hoàn thiện và được trình bày khá đầy đủ thông qua phần nội dung của bản chuyên đề, tuy modul có thể là nhỏ nhưng đây chính là đề tài được cơ quan nơi thực tập đưa ra nên việc thực hiện đề tài này cũng có một ý nghĩa thiết thực với công ty. Thông qua phần trình bày trên ta thấy được kết quả của đề tài là có thể đưa vào hoạt động và ứng dụng trong thực tế của hệ thống tính cước phí Internet của VIETEL, modul này sẽ giúp tính toán và in ra danh sách nợ của khách hàng đồng thời chương trình có thể tổng hợp đưa ra những báo cáo khá thú vị về tình hình nợ của khách hàng theo từng tháng hay theo từng vùng của lãnh thổ Việt
Nam và rất có thể từ đó ban lãnh đạo sẽ có những quyết định thú vị để quản lý các khách hàng của mình.
Với thời gian hoàn thiện đề tài cũng không nhiều do đó đề tài rất có thể có những điểm yếu và những bất cập so với thực tế vì vậy khi đề tài được ứng dụng trong thực tế sẽ cần được khắc phục các nhược điểm này. Đây là một modul dự phòng trường hợp khách hàng có thể nộp thiếu tiền cước nhưng trong thực tế mọi trường hợp có thể xảy ra và khi khách hàng rơi vào trường hợp này thì với modul này, nhà quản lý hệ thống sẽ không gặp những bối rối trong việc quản lý hệ thống của mình.
Công ty Điện tử viễn thông quân đội (VIETEL) hoạt động trên phạm vi cả nước nên việc cung cấp các dịch vụ và thuê bao Internet cũng được thực hiện trong hầu hết các tỉnh thành trong cả nước do đó việc quản lý cước phí Internet sẽ không thể quản lý tập trung được, một phương hướng để hoàn thiện đề tài sẽ không thể bỏ qua việc chia sẻ cơ sở dữ liệu trên mạng để việc quản lý cước phí Internet của VIETEL sẽ được thuận lợi giữa các vùng, giữa các tỉnh thành với nhau trong cả nước.
Với thời gian thực tập là 15 tuần. Sau 8 tuần thực tập, tìm hiểu về cơ quan thực tập và hệ thống tính cước phí Internet báo cáo thực tập tổng hợp đã trình bày sơ qua về tình hình cơ quan thực tập và cũng đã giới thiệu tổng quát về hệ thống tính cước phí Internet của VIETEL . Sau 7 tuần thực tập tiếp theo, chuyên đề đã được hoàn thành. Trong chuyên đề này đã trình bày khá chi tiết và đầy đủ thông tin về cơ quan thực tập và toàn bộ quá trình phân tích, thiết kế cũng như các kết quả đạt được sau khi hoàn thành đề án. Với kinh nghiệm thực tế còn non nớt, trong chuyên đề còn có những vấn đề trình bày chưa thực sự được khoa học, em kính mong các thầy cô chỉ bảo và lượng thứ.
Một lần nữa em xin chân thành cảm ơn cô Nguyễn Bạch Tuyết, anh Vũ Trường Giang cùng toàn thể các thầy cô giáo trong Khoa tin học kinh tế, trường Đại học Kinh tế quốc dân đã hướng dẫn và cung cấp cho em những phương pháp để hoàn thiện chuyên đề này.
PHỤ LỤC
Lời nói đầu: ---Trang 1 Nội dung:---Trang 3 Chương I Các vấn đề tổng quan:---Trang 3 I. Tổng quan về cơ sở thực tập---Trang 3 1. Giới thiệu chung