Tài liệu tham khảo kỹ thuật công nghệ, chuyên ngành tin học Hệ thống thông tin bán hàng
Trang 1Lời nói đầu Trong những năm gần, đây ngành công nghệ thông tin đã phát triển nh vũ bão,Thế kỷ 21 là thế kỷ công nghệ thông tin Từ một nguồn tài nguyên tiềm tàng, thông tin
đã trở thành một nguồn tài nguyên thực sự và nó đã trở thành một hàng hoá đặc biệt.Việc tận dụng nguồn tài nguyên này đã tạo nên một bớc phát triển to lớn trong lực luợngxản suất, cơ sở hạ tầng, kinh tế xã hội, cấu trúc kinh tế ,cấu trúc lao động và cách thứcquản lý kinh tế xã hội
Trong lĩnh vực máy tính , những thành tựu về khoa học và công nghệ làm cho cácsản phẩm máy tính ngày càng phát triển theo hớng hiện đại, chi phí thấp, khả năng tínhtoán nâng cao Sự ra đời và phát triển của máy tính thực sự đã thở thành một cuộc cánhmạng vĩ đại Chúng ta đã thấy Thông tin ngày càng phong phú đến mức không thể xử lýbằng phơng pháp và công cụ cổ điển Để xử lý đợc lợng thông tin lớn nh vậy nghĩa làkhai thác đợc nguồn tài nguyên quan trọng đó, đòi hỏi phải có những phơng pháp vàcông cụ mới đó chính là các giải về tin học
Xã hội ngày càng phát triển thì nhu cầu ứng dụng tin học ngày càng lớn và ng ợclại những thành tựu tin học sẽ tác động trở lại, tạo điều kiện phát triển nhanh chóng chosản xuất và kinh doanh Việc ứng dụng tin học là nhằm thực hiện tăng năng suất, hiệuquả trong việc xử lý thông tin phức tạp, trong quá trình nghiên cứu điều tra, điều khiển,các hoạt động quản lý kinh doanh…, tổ chức khai thác các hệ thống tin học ở mọi mức, tổ chức khai thác các hệ thống tin học ở mọi mức
độ
ứng dụng tin học trong công tác quản lý là một trong những hiệu quả của tin họcnhằm giảm nhẹ đến mức tối đa sự tham gia của cơ bắp , tiết kiệm thời gian tìm kiếmthông tin, làm hẹp không gian lu trữ, hệ thống hoá và cụ thể hoá lợng thông tin theo nhucầu của ngời xử dụng
Trong thời đại ngày nay tin học đã chứng tỏ đợc u thế của mình trong nền kinh tếquốc dân, nó đã thúc đẩy và hỗ trợ cho các ngành khác phát triển vợt bậc
Cuối cùng tôi xin trân thành cảm ơn thầy giáo Đặng Thế Vinh đã tận tình giúp
đỡ tôi trong quá trình thực tập và hoàn thiện đề tài này Tôi cũng xin trân thành cảm ơnanh Phạm Văn Lộc phó giám đốc và toàn thể các anh lập trình viên đẫ tận tình giúp đỡtôi và đóng góp những ý kiến quý báu và tạo mọi điều kiện về cơ sở vật chất kỹ thuật,thuận lợi cho tôi trong quá trình thực tập tại phòng phần mềm thuộc Công ty đầu t vàphát triển phần mềm kế toán Asia
Trang 2
Chơng I Hệ thống thông tin quản lý Bán hàng
Các giai đoạn xây dựng hệ thống thông tin quản lý:
Việc xây dựng hệ thống thông tin quản lý bao gồm 7 giai đoạn Mỗi giai đoạn bao gồm nhiều công đoạn khác nhau:
Giai đoạn 1: Đánh giá yêu câu:
Đánh giá yêu cầu có mục đích cung cấp cho lãnh đạo, tổ chức hoặc hội đồng giám đốc những dữ liệu đích thực để ra quyết định về thời cơ, tính hiệu quả và khả thi của một dự
án xây dựng hệ thống thông tin quản lý
Giai đoạn này gồm các công đoạn sau:
1 Lập kế hoạch đánh gia yêu cầu
2 Làm rõ yêu cầu
3 Đánh giá khả năng thực thi
4 Báo cáo đánh giá yêu cầu
Giai đoạn 2: Phân tích chi tiết:
Nhằm hiểu rõ vấn đề đang nghiên cứu, xác định những nguyên nhân đích thực của vấn
đề đó, xác định đòi hỏi và những giàng buộc áp đặt đối với hệ thống và xác định nhữngmục tiêu mà hệ thống thông tin mới phải đạt đợc Trên cơ sở nội dung báo cáo phân tíchchi tiết sẽ quyết định tiếp tục tiến hành hay thôi phát triển hệ thống mới
Trang 3Giai đoạn này gồm các công đoạn sau:
1 Lập kế hoạch phân tích chi tiết
2 Nghiên cứu môi trờng của hệ thống đang tồn tại
3 Nghiên cứu hệ thống thực tại
4 Đa ra chuẩn đoán và xác định các yếu tố giải pháp
5 Đánh giá lại tính khả thi
6 Thay đổi đề xuất dự án
7 Báo cáo phân tích chi tiết
Giai đoạn 3: Thiết kế logic
Giai đoạn này xác định tất cả các thành phần logic của một hệ thống thông tin, cho phép loại bỏ các vấn đề của hệ thống thực tế và cho phép đạt đợc những mục tiêu đã đặt ra ở giai đoạn trớc
Mô hình logic của hệ thống mới sẽ bao gồm thông tin mà hệ thống mới sẽ xản sinh ra, nội dung của Cơ sở dữ liệu, các sử lý và hợp thức hoá sẽ phải thực hiện và các dữ liệu sẽ
đợc nhâp vào Gồm các công đoạn sau:
1 Thiết kế cơ sở dữ liệu
2 Thiết kế sử lý
3 Thiết kế các luồng dữ liệu vào
4 Chỉnh sửa tài liệu cho mức logic
5 Hợp thức hoá cho mô hình logic
Giai đoạn 4: Đề xuất các phơng án giải pháp.
Từ mô hình logic, chúng ta phải đa ra các giải pháp khác nhau để cụ thể hoá mô hinhlogic đó Mỗi giải pháp là một mô phác hoạ của mô hình vật lý ngoài ứng với mỗi phơng
án đều có các khuyến nghị cụ thể, phải có những phân tích về chi phí, lợi ích Các công
đoạn của giai đoạn này gồm:
1 Xác định các dàng buộc tin học và các giang buộc tổ chức
2 Xây dựng các phơng án của giải pháp
3 Đánh giá các phơng án của giải pháp
4 Báo cáo các giai đoạn đó
Giai đoạn 5: thiết kế vật lý ngoài.
Bao gồm tài liệu chứa tất cả các đặc trng của hệ thống mới cần có và tài liệu dành cho ngời sử dụng mà nó mô tả cả phần thủ công và cả những giao diện với những phần tin học hoá Gồm những công đoạn chính sau:
Trang 41 Lập kế hoạch thiết kế vật lý ngoài.
2 Thiết kế chi tiết các giao diện
3 Thiết kế các cách thức tơng tác với phần tin học hoá
4 Thiết kế các thủ tục thủ công
5 Báo cáo về thiết kế vật lý ngoài
Giai đoạn 6: Triển khai kỹ thuật hệ thống: tin học hoá hệ thống thông tin.Các công
đoạn chính của giai đoạn này gồm:
1 Lập kế hoạch thực hiện kỹ thuật
2 Thiết kế vật lý trong
3 Lập trình
4 Thử nghiệm hệ thống
5 Chuẩn bị tài liệu
Giai đoạn 7: Cài đặt và khai thác hệ thống: đây là giai đoạn chuyển từ hệ thống cũ
sang hệ thống mới Giai đoạn này gồm các công đoạn sau:
+ Cho phép quản lý công việc bán hàng tự động
+ Cho phép quản lý và tính toán giá trị hoá đơn
+ Cung cấp các biểu mẫu tổng hợp và thống kê theo yêu cầu
Hệ thống có thể đợc mở rộng một cách dễ dàng khi có sự thay đổi về môi trờng,công cụ và yêu cầu quản lý mới
C Phân tích hệ thống thông tin quản lý bán hàng.
+ Mô tả hoạt động cũ của hệ thống, qua quan điểm xây dựng hệ thống mới
+ Phân tích hệ thống thành các hệ thống con để thiết kế và cài đặt
Trang 5+ Xây dựng sơ đồ luồng giữ liệu diễn tả hoạt động của hệ thống
+ Xây dựng biểu đồ phân cấp chức năng của chơng trình
+ Xây dựng mô hình thực thể liên kết cho toàn hệ thống
+ Thiết kế chi tiết cho hoạt động của từng chức năng
Sau khi nghiên cứu thực tế tôi thấy hệ thống bao gồm:
- Quản lý công việc bán hàng
- Theo dõi nắm bắt các thông tin về khách hàng và nhà cung cấp
- Lập các báo cáo
II 2 Thiết kế logic
Sơ đồ luồng giữ liệu
Sơ đồ dòng dữ liệu (DFD – Data Flow Diagram ) là một trong các công cụ quantrọng nhất trong việc phân tích hệ thống có cấu trúc Nó đa ra một phơng pháp thiết lậpquan hệ giữ chức năng hoặc quá trình của hệ thống với thông tin mà chúng sử dụng đó làmột phần chủ chốt của đặc tả yêu cầu hệ thống, vì nó xác định thông tin nào phải có mặttrớc khi quá trình đợc thực hiện
Sơ đồ luồng giữ liệu ở mức tổng quát:
Mô hình trên thể hiện sự trao đổi thông tin giữa hệ thống và các tác nhân bên ngoài.Luồng giữ liệu từ bên ngoài của hệ thống bao qồm các yêu cầu của ban lãnh đạo, các khốiphòng liên quan Luồng dữ liệu tạo ra bao gồm các báo cáo thống kê trả lời
Sau khi đã có sơ đồ mức tổng quát và dựa vào yêu cầu mục đích của hệ thống ta có sơ đồluồng giữ liệu phân giã chức năng nh sau:
Liệu
Bán hàng
Thu tiền
Bán hàng
Kho hàng
Phòng kếtoán
Trang 6II3 M« h×nh liªn kÕt gi÷a c¸c thùc thÓ
Thùc thÓ vµ c¸c kho¸
Qua qu¸ tr×nh kh¶o s¸t vµ chuÈn ho¸ ta cã mét sè thùc thÓ sau:
+ Nhãm hµng
+Nhµ cung cÊp:
Trang 7+ Ngời gửi hàng
+ Hàng hoá
+ Chi tiết hoá đơn:
+Hoá đơn
Trang 8Ngaygui Date/time 8 Ngµy göi hµng
+Kh¸ch hµng
Trang 9Diachi Memo 100 §Þa chØ
Trang 105 Chọn lựa cơ sở dữ liệu và môi trờng phát triển
Do tính bảo mật của cơ sở dữ liệu lên môi trờng đẻ phát triển phù hợp nhất đó làOracle, SqlServer và môi trờng phát triển visual basic
Có thể nói Visual Basic là con đờng nhanh nhất, đơn giản nhất và mạnh nhất để tạonhững ứng dụng Windows nói chung và những ứng dụng Cơ sở dữ liệu nói riêng VisualBasic cung cấp cho bạn một tập hợp các công cụ hoàn chỉnh để nhanh chóng phát triểncác ứng dụng
1)Visual Basic là gì?
Thành phần VISUAL nói đến các phơng thức dùng để tạo giao diện đồ hoạ ngời dùng(GUI) Thay vì viết những dòng mã để mô tả vị trí và sự xuất hiện của các thành phầngiao diện, ta chỉ cần thêm vào những đối tợng đã đợc định nghĩa từ trớc ở vị trí nào đótrên màn hình
Thành phần BASIC: nói đến ngôn ngữ BASIC (Beginners AllPurpose SymbolicInstruction Code) nói đến ngôn ngữ đợc dùng nhiều bởi các nhà lập trình hơn bất cứ mộtngôn ngữ nào khác trong lich sử máy tính.Visual Basic đợc phát triển dần dần dựa trên
Trang 11ngôn ngữ BASIC, và bây giờ chứa đựng hàng trăm điều lệnh, hàm và từ khoá …, tổ chức khai thác các hệ thống tin học ở mọi mức có giaodiện trực tiếp với giao diện đồ hoạ của Windows.
Ngôn ngữ lập trình Visual Basic không chỉ là Visual Basic Hệ thống lập trình VisualBasic, những ứng dụng bao gồm Microsoft Excel, Misrosoft Access, nhiều ứng dụngWindows khác đều dùng một ngôn ngữ
Visual Basic là một công cụ mạnh có thể đáp ứng mọi nhu cầu lập trình của chúng ta kể
từ những ứng dụng nhỏ cho đến những ứng dụng mang tính hệ thống lớn và cả nhữngứng dụng qua mạng
Những chức năng truy xuất dữ liệu cho phép chúng ta tạo ra những Cơ Sở dữ liệu
Những kỹ thuật ActiveX cho phép ta dùng những chức năng đợc cung cấp từ các ứngdụng khác
Khả năng Internet làm cho nó dễ dàng cung cấp cho việc thêm vào những tài liệu vàứng dụng qua Internet từ bên trong ứng dụng của bạn
Tạo tập tin File.EXE thật sự
2) Cấu trúc của một ứng dụng Visual Basic:
Một ứng dụng thật ra là một tập hợp các chỉ dẫn trực tiếp đến máy tính để thi hành mộthay nhiều tác vụ Cấu trúc của một ứng dụng là phơng pháp trong đó các chỉ dẫn đợc tổchức, đợc lu trữ và thi hành theo một trình tự nhất định
3) Chúng ta có thể làm gì với Visual Basic 6.0
Tạo giao diện ngời dùng
Giao diện ngời dùng có lẽ là thành phần quan trọng nhất của một ứng dụng Đối với
ng-ời sử dụng thì giao diện chính là ứng dụng ỉng dụng của chúng ta có đợc phổ biến haykhông là phụ thuộc vào giao diện
Sử dụng những điều khiển chuẩn của Visual Basic 6.0
Ta dùng những điều khiển để lấy thông tin ra, nhập thông tin vào và kết xuất thông tin.Những ứng dụng mà ta có thể dùng trong ứng dụng bao gồm hộp văn bản,nút lệnh, hộpdanh sách,…, tổ chức khai thác các hệ thống tin học ở mọi mức Những điều khiển khác cho ta truy xuất những ứng dụng khác, xử dụng nó
để xử lý dữ liệu theo thiết kế của các nhà thiết kế hệ thống
Lập trình với những đối tợng
Những đối tợng là thành phần chủ yếu để lập trình Visual Basic những đối tợng có thể
là FORM, những điều khiển hay Cơ sở dữ liệu
Lập trình với phần hợp thành
Chúng ta đôi khi xử dụng phần tính toán của Microsoft Excel trong ứng dụng VisualBasic 6.0, hay định dạng một tài liệu xử dụng thanh công cụ của Microsoft Word, hoặc l-
Trang 12u trữ và xử lý dữ liệu xử dụng Microsoft Access…, tổ chức khai thác các hệ thống tin học ở mọi mức tất cả những điều này có thể thực hiện
đợc bằng cách xây dựng những ứng dụng của chúng ta bằng những thành phần ActiveX.Thêm vào đó, Visual Basic có thể giúp chúng ta tạo những điểu khiển ActiveX riêng
Đáp ứng những sự kiện phím và chuột, sự kiện rê và thả
Những ứng dụng Visual Basic có thể đáp ứng một số lợng lớn sự kiện chuột, bànphím Ví dụ FORM, hộp ảnh và những điều khiển ảnh có thể phát hiện vị trí con trỏchuột có thể quyết định phím trái hay phím phải đợc nhấn,và có thể đáp ứng đợc những
tổ hợp của phím chuột với phím Shift, Ctrl hay Alt Sử dụng những điều khiển phím, ta
có thể lập trình những điều khiển và FORM để đáp ứng các hành động phím hoặc phiêndịch bộ mã Ascii của ký tự
Làm việc với văn bản và đồ hoạ
Visual Basic cung cấp khả năng đồ hoạ và văn bản phức tạp trong ứng dụng VisualBasic Những thuộc tính văn bản cỏ thể giúp ta nhấn mạnh các khái niệm quan trọng vàcác chi tiết cần quan tâm Thêm vào đó Visual Basic cung cấp những khả năng đồ hoạcho phép chúng ta linh động trong thiết kế, bao hàm các hình ảnh động băng cách hiểnthị hang loạt các hình ảnh liên tiếp nhau
Gỡ rối mã và quản lý lỗi
Đôi khi có những lỗi xảy ra bên trong mã của ứng dụng.những lỗi nghiêm trọng cóthể là nguyên nhân một ứng dụng không đáp ứng lệnh, thông thờng yêu cầu ngời sử dụngkhởi động lại ứng dụng và không lu lại những gì mà ta đã làm quá trình tìm lỗi và sửalỗi gọi là gỡ rối Visual Basic cung cấp nhiều công cụ giúp chúng ta có thể phân tích sựlàm việc của ứng dụng Những công cụ gỡ rối đặc biệt hữu ích trong việc tìm ra nguồngốc lỗi chúng ta có thể dùng công cụ này để kiểm tra chơng trình
Sử lý ổ đĩa th mục và File
Khi lập trình trong Windows,Visual Basic giúp chúng ta lập trình những ứng dụngnh: di chuyển, tạo mới, xoá th mục và File, lấy thông tin và xử lý ổ đĩa
Thiết kế cho việc thi hành và tính tơng thích
Visual Basic chia sẻ hầu hết những tính năng ngôn ngữ trong Visual Basic cho nhữngứng dụng Microsoft nh: Microsoft Office.VBScript là tập hợp con của ngôn ngữ lập trìnhVisual Basic
Phân phối những ứng dụng:
Sau khi đã tạo một ứng dụng Visual Basic, ta có thể tự do phân phối bất kỳ ứng dụngnào đã tạo bằng Visual Basic đến bất cứ ai dùng Microsoft Windows Ta có thể phânphối ứng dụng trên đĩa, trên CD, qua mạng Internet hay Intranet
Trang 13Chính vì những thế mạnh đó của Visual Basic 6.0 tôi đã chọn ngôn ngữ này để pháttriển ứng dụng: ” Hệ thống thông tin quản lý bán hàng.
Phần phụ lục
Một số giao diện
Trang 31mét sè module ch¬ng tr×nhOption Explicit
Private Sub chkCay_Click()
Trang 32End With
End Sub
Private Sub chkDongke_Click()
If chkDongke.Value = False Then
Private Sub Form_Load()
Dim dong As Integer
Dim SQL As String
dong = 1
SQL = "Select Ten,Ho,NgayHD,HanghoaID,Soluong,Dongia,tblChitietHD
[Soluong]*tblChitietHD.[Dongia] as Thanhtien" & _
" From tblNhanvienbanhang,tblHoadon,tblChitietHD" & _
" Where tblNhanvienbanhang.[MaNBan]=tblHoadon.[NguoibanID]" & _ " And tblHoadon.[MaHD]=tblChitietHD.[HoadonID]" & _
Trang 33Cell(flexcpText, dong, 1) = rsado.Fields("Ten").Value
Cell(flexcpText, dong, 2) = rsado.Fields("Ho").Value
Cell(flexcpText, dong, 3) = CStr(rsado.Fields("NgayHD").Value)
Cell(flexcpText, dong, 4) = CStr(rsado.Fields("HanghoaID").Value)
Cell(flexcpText, dong, 5) = CStr(rsado.Fields("Soluong").Value)
Cell(flexcpText, dong, 6) = CStr(rsado.Fields("Dongia").Value)
Cell(flexcpText, dong, 8) = CStr(rsado.Fields("Thanhtien").Value)
Private Sub optTinhtoan_Click(Index As Integer)
Select Case Index
Trang 34Subtotal flexSTSum, 2, 8, "$", &HFFC0C0, vbBlack, True, "Tæng theo hä NV"
Subtotal flexSTSum, 3, 8, "$", &HFFC0C0, vbBlack, False, "Tæng theo ngµy" End With
Cell(flexcpPicture, RowSel, 7) = imgMuitentrai
Cell(flexcpPicture, RowSel, 9) = imgMuitenphai
.Cell(flexcpPicture, RowSel, 7) = LoadPicture()
.Cell(flexcpPicture, RowSel, 9) = LoadPicture()
End With
End Sub
Trang 35Private Sub Form_Load()
Me.Top = frmLienket.Top + frmLienket.tabLienket.Top +
Private GuiTT As String
Private SLTrenHD As Integer
Private DGTrenHD As Currency
Private TKTrenHD As Double
Private Sub cmdLuu_Click()
Private Sub cmdThem_Click()
Dim SQLMatudong As String
Trang 36SQLMatudong = "Select Max([MaCTHD]) as Lonnhat From tblChitietHD"
'Gäi thñ tôc t¹o data kÕt nèi cho txtChitietHDma
Ketnoi dataMatudong, SQLMatudong
txtChiTietHDMa.Text = "" & Recordset.Fields("Lonnhat").Value + 1
dataCTHD.Caption = "" & Recordset.Fields("Lonnhat").Value + 1
Private Sub dataCTHD_Reposition()
On Error GoTo loi
Dim SQLHientenSP As String
Dim SL As Integer
Dim DG As Double
Dim TK As Double
SQLHientenSP = "Select TenSP" & _
" From tblSanpham" & _
" Where MaSP=" &
Trang 37lblChitietHDTT.Caption = "" & ThanhTien(SL, DG) & " $"
lblChitietHDTSauTK.Caption = "" & TienSauTrietKhau(SL, DG, TK) & " $" lblCTHDThueVAT.Caption = "" & TienSauTrietKhau(SL, DG, TK) * 0.1 & " $" lblCTHDThuclanh.Caption = "" & ThucLanh(SL, DG, TK) & " $"
End With
loi:
End Sub
Private Sub dbcboCTietHDmaHD_KeyPress(KeyAscii As Integer)
PheChuanKeyPress dbcboCTietHDmaHD, KeyAscii
If KeyAscii = 13 Then
dbcboCTietHDmasp.SetFocus
End If
End Sub
Private Sub dbcboCTietHDmaHD_LostFocus()
BuocphaidienDL dbcboCTietHDmaHD, True
End Sub
Private Sub dbcboCTietHDmasp_Change()
On Error GoTo loi
Dim SQLThaydoiMaSP As String
SQLThaydoiMaSP = "Select TenSP" & _
" From tblSanpham" & _
" Where MaSP=" & dbcboCTietHDmasp.Text & ""
'Gäi thñ tôc khëi t¹o ADODB
Private Sub dbcboCTietHDmasp_KeyPress(KeyAscii As Integer)
PheChuanKeyPress dbcboCTietHDmasp, KeyAscii
Trang 38Private Sub Form_Load()
Dim SQLChitietHD As String
SQLChitietHD = "Select * From tblChitietHD Order By HoadonID"
'Gäi thñ tôc t¹o data kÕt nèi nguån d÷ liÖu
Ketnoi dataCTHD, SQLChitietHD
Private Sub meditChitietHDDgia_KeyPress(KeyAscii As Integer)
PheChuanKeyPress meditChitietHDDgia, KeyAscii
If KeyAscii = 13 Then
meditChitietHDSluong.SetFocus
End If
End Sub
Private Sub meditChitietHDDgia_LostFocus()
BuocphaidienDL meditChitietHDDgia, True
End Sub
Private Sub meditChitietHDSluong_Change()
On Error GoTo loi
Private Sub meditChitietHDSluong_KeyPress(KeyAscii As Integer)
PheChuanKeyPress meditChitietHDSluong, KeyAscii
If KeyAscii = 13 Then
meditChitietTrKhau.SetFocus
End If
End Sub
Trang 39Private Sub meditChitietHDSluong_LostFocus()
BuocphaidienDL meditChitietHDSluong, True
End Sub
Private Sub meditChitietTrKhau_Change()
On Error GoTo loi
'Sù kiÖn nµy xÈy ra sau khi ®iÒu khiÓn lostfocus
Private Sub meditChitietTrKhau_KeyPress(KeyAscii As Integer)
PheChuanKeyPress meditChitietTrKhau, KeyAscii
If KeyAscii = 13 Then
cmdLuu.SetFocus
End If
End Sub
Private Sub meditChitietTrKhau_LostFocus()
BuocphaidienDL meditChitietTrKhau, True
End Sub
Private Sub optTron_Click(Index As Integer)
Select Case Index
Trang 40If (.Col <> 0) And (.Cell(flexcpText, RowSel, ColSel) <> GuiTT) Then
If MsgBox("B¹n cã muèn lu « nµy vµo trong CSDL hay kh«ng?", vbYesNo,
"Th«ng b¸o") = vbNo Then
Cell(flexcpText, RowSel, ColSel) = GuiTT