Chương III: PHÂN TÍCH – MÔ HÌNH KHÁI NIỆM/LOGIC

Một phần của tài liệu PHÂN TÍCH – MÔ HÌNH KHÁI NIỆM/LOGIC (Trang 48 - 86)

3.2. QUẢN LÝ KHO

3.2.1. Sơ đồ luông dữ liệu mức 0

3.2.3. Sơ đồ luồng dữ liệu tiến trình xuất kho

3.2.4. Sơ đồ dữ liệu tiến trình thống kê báo cáo

3.3. MỒ HÌNH E-R VÀ XÂY DỰNG CƠ SỞ DỮ LIỆU VẬT LÝ

3.3.1. Xác định các thực thể và mối quan hệ

1. HÀNG(mã hàng,tên hàng,đơn vị,đơn giá,số lượng)

2. PHIẾU NHẬP (số phiếu nhập,ngày nhập, mã kho,mã NCC,lý do nhập) 3. PHIẾU XUẤT (số phiếu,ngày nhập, mã kho,mã khách, lý do xuất) 4. DÒNG NHẬP (số phiếu nhập,mã hàng,số lượng nhập,giá nhập) 5. DÒNG XUẤt (số phiếu xuất,mã hàng,số lượng xuất)

6.NHÀ CUNG CẤP(mã NCC,tên NCC,địa chỉ NCC,Số điện thoại NCC,Email NCC)

7.MÃ KHÁCH (mã khách,đơn vị,số CMTND) 8.KHO (Mã kho, tên kho)

3.4. QUẢN LÝ NHÂN VIÊN

3.4.1. Mô hình dữ liệu mức đỉnh

a.

b. Mô hình mức dưới đỉnh của quản lý tăng ca/ca

3.4.2. Mô hình liên kết thực thể và mô hình quan hệ

3.5. QUẢN LÝ BÁN HÀNG

 Sơ đồ quản lý chức năng quản lý bán hàng gồm :

- Lập bảng báo giá(nhập, xóa, sửa)

- Lập hóa đơn

- Tính Doanh Thu

 Thực thể liên kết: Bangbaogia MaSP TenSP Dongia ChitietSP Ghichu HA Hang Soluong MaSP MaHD Hoadon MaHD Ngaylap MaCa MaK Khach MaK TenK Diachi SDT

PHẦN BA: THIẾT KẾ CƠ SỞ DỮ LIỆU

Chương I:CỞ SỞ DỮ LIỆU CHI TIẾT

Tên trường Kiểu Mô tả

tbLuongNhanVien

Stt Text Số thứ tự

SoCMTND Text Số chứng minh thư

nhân dân

MaDKca Text

MaBangLuong Text Mã bảng lương

Luong Number Lương (adsbygoogle = window.adsbygoogle || []).push({});

Thuong Number Thưởng

TongLuong Number Tổng lương

Tongca Number Tổng ca

tbCongNhanVien

Macc Text Mã chấm công

SoCMTND Text Số chứng minh thư

nhân dân n1 Yes/No Ngày 1 n2 Yes/No Ngày 2 n3 Yes/No Ngày 3 n4 Yes/No Ngày 4 n5 Yes/No Ngày 5 n6 Yes/No Ngày 6 n7 Yes/No Ngày 7 n8 Yes/No Ngày 8 n9 Yes/No Ngày 9 n10 Yes/No Ngày 10 n11 Yes/No Ngày 11 n12 Yes/No Ngày 12 n13 Yes/No Ngày 13 n14 Yes/No Ngày 14 n15 Yes/No Ngày 15 n16 Yes/No Ngày 16 n17 Yes/No Ngày 17 n18 Yes/No Ngày 18 n19 Yes/No Ngày 19 ……… ………. ……. n31 Yes/No Ngày 31 tbBangbaogia

MaSP Text Mã sản phẩm

TenSP Text Tên sản phẩm

DonGia Number Đơn giá

tbCa

Maca Text Mã ca

TenCa Text Tên ca

tu Date/Time Từ ngày

den Date/Time Đến ngày

Luong Number Lương

tbChamCong

MaCC Text Mã chấm công

Thang Number Tháng

Nam Number Năm

MaCa Text Mã ca

tbDKCa

MaDKCa Text Mã đăng ký ca

MaCa Text Mã ca

SoCMTND Text Số chứng minh thư

nhân dân

tbHang

Stt Number Số thứ tự

Mak Text Mã khách

MaSP Text Mã sản phẩm (adsbygoogle = window.adsbygoogle || []).push({});

SoLuong Number Số lượng

ThanhTien Number Thành tiền

tbHoaDon

MaHD Text Hoá đơn

Ngaylap Date/Time Ngày lập

MaK Text Mã khách

MaCa Text Mã ca

tbHSL

SoCMTND Text Số chứng minh thư

nhân dân

HSL Number Hệ số lương

tbHuyDong

SoCMTND Text Số chứng minh thư

nhân dân

Maca Text Mã ca

NgayHuyDong Date/Time Ngày huy động

LyDoHuyDong Text Lý do huy động

Mak Text Mã khách

TenK Text Tên khách

Diachi Text Địa chỉ

SoDT Text Số điện thoại

tbKho

MaKho Text Mã kho

TenKho Text Tên kho

tbLuongNhanVien

Stt Number Số thự tự

SoCMTND Text Số chứng minh thư

nhân dân

MaDKCa Text Mã đăng ký ca

MaBangLuong Text Mã bảng lương (adsbygoogle = window.adsbygoogle || []).push({});

Luong Number Lương

Thuong Number Thưởng

TongLuong Number Tổng lương

TongCa Number Tổng ca

tbNCC

MaNCC Text Mã nhà cung cấp

TenNCC Text Tên nhà cung cấp

DiaChiNCC Text Địa chỉ nhà cung cấp

SoDienThoai Text Số điện thoại

EmailNCC Text Email nhà cung cấp

tbNhap

MaPhieuNhap Text Mã phiếu nhập

MaSanPham Text Mã sản phẩm

SoLuong Number Số lượng

GiaNhap Number Giá nhập

ThanhTien Number Thành tiền

tbPhieuNhap

MaPhieuNhap Text Mã phiếu nhập

NgayNhap Date/Time Ngày nhập

MaNCC Text Mã nhà cung cấp

MaKho Text Mã kho

tbPhieuXuat

MaPhieuXuat Text Mã phiếu xuất

NgayXuat Date/Time Ngày xuất

SoCMTND Text Mã khách

MaKho Text Mã kho

tbSanPham

TenSanPham Text Tên sản phẩm

ThongTin Text Thông tin sản phẩm

SoLuong Number Số lượng (adsbygoogle = window.adsbygoogle || []).push({});

DonGia Number Đơn giá

ThanhTien Number Thành tiền

tbThayDoiLuong

Maca Text Mã ca

LuongCu Number Lương cũ

LuongMoi Number Lương mới

ThoiGianThucHien Number Thời gian thực hiện

GhiChu Memo Ghi chú

tbThuong

Maca Text Mã ca

Thuong Number Thưởng

Ngay Date/Time Ngày

tbXuat

MaPhieuXuat Text Mã phiếu xuất

MaSanPham Text Mã sản phẩm

SoLuongXuat Number Số lượng xuất

Chương III: XÂY DỰNG GIAO DIỆN VÀ CHƯƠNG TRÌNH 3.1. CÁC FORM CHÍNH CỦA CHƯƠNG TRÌNH

3.1.1. Giao diện đăng nhập

3.2. MỘT SỐ ĐOẠN CODE CHƯƠNG TRÌNH

3.2.1. Code modulkết nối CSDL

Public Sub SetConnection(ByVal Obj As Recordset, ByVal Table As String, ByVal StrQuery As String)

If DB.State = 1 Then DB.Close

DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DaTa\QLBanHang.mdb;Jet OLEDB:Database Password=quatquat147"

If Obj.State = 1 Then Obj.Close

Obj.Open " select " & StrQuery & " from " & Table & " ", DB, adOpenKeyset, adLockPessimistic

End Sub

Public Sub TestCondition(ByVal Obj As Recordset, ByVal Table As String, ByVal StrQuery As String, ByVal Dk As String)

If Obj.State = 1 Then Obj.Close

Obj.Open " select " & StrQuery & " from " & Table & " where " & Dk & "", DB, adOpenKeyset, adLockPessimistic

End Sub (adsbygoogle = window.adsbygoogle || []).push({});

Public Sub SetConnection2(ByVal Obj As Recordset, ByVal Table As String, ByVal StrQuery As String)

If Obj.State = 1 Then Obj.Close

Obj.Open " select " & StrQuery & " from " & Table & " ", DB, adOpenKeyset, adLockPessimistic

End Sub

Public Sub TestLogin(ByVal T As Boolean, ByVal F As Boolean) Main.mnulogin.Enabled = T

Main.mnulogout.Enabled = F Main.mnuChangePass.Enabled = F

Main.mnuNhapSP.Enabled = F Main.mnuXuatSPNL.Enabled = F Main.mnuCNNL.Enabled = F Main.mnuCNKSP.Enabled = F Main.mnuCNNCC.Enabled = F Main.mnuCNDVT.Enabled = F Main.mnuCNNV.Enabled = F Main.mnuDKca.Enabled = F Main.mnuCNHDong.Enabled = F Main.mnuCa.Enabled = F Main.mnuCNKH.Enabled = F Main.mnuBaoGia.Enabled = F Main.mnuLSP.Enabled = F Main.mnuChamCong.Enabled = F Main.mnuTinhLuong.Enabled = F Main.mnuThuong.Enabled = F Main.mnuThayDoiL.Enabled = F Main.mnuHSL.Enabled = F Main.mnutkbcnspnl.Enabled = F Main.mnutkbcxspnl.Enabled = F Main.mnutkbcnv.Enabled = F Main.mnuhdsd.Enabled = F End Sub

3.2.2. Code của modulkhai báo

Option Explicit

Public DB As New ADODB.Connection Public DB1 As New ADODB.Connection Public RS As New ADODB.Recordset

Public RS1 As New ADODB.Recordset Public RS2 As New ADODB.Recordset Public RS3 As New ADODB.Recordset Public RS4 As New ADODB.Recordset Public RS5 As New ADODB.Recordset Public RS6 As New ADODB.Recordset Public RS7 As New ADODB.Recordset Public List As ListItem

Public Tim, TimMa, VT As Byte Public TTButton As Boolean Public TTCC As Byte

Public Pass As String Public User As String Public TCSX As Byte Public KSX As Byte

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

3.2.3. Code của form đăng nhập

Private Sub Command1_Click() Unload Me

End Sub

Private Sub Command2_Click() If Login = True Then

Unload Me Main.Show

End If End Sub

Private Sub Form_Load()

Me.Move (Main.Width - Me.Width) \ 2, (Main.Height - Me.Height) \ 2 Call SetConnection(RS, "tbLogin", "*")

Me.Text1.TabIndex = 0 End Sub

Public Function Login() As Boolean Login = True

If Trim(Me.Text1.Text = "") Then Login = False

MsgBox "Bạn chưa nhập tên đăng nhập!", vbOKOnly + vbExclamation, "Thong Bao"

Me.Text1.SetFocus Else

If Trim(Me.Text2.Text = "") Then Login = False

MsgBox "Bạn chưa nhập mật khẩu!", vbOKOnly + vbExclamation, "Thong Bao"

Me.Text2.SetFocus Else (adsbygoogle = window.adsbygoogle || []).push({});

Call TestCondition(RS, "tbLogin", "*", "IDUser='" &

Trim(Me.Text1.Text) & "' and Pass='" & Trim(Me.Text2.Text) & "'") If RS.EOF And RS.BOF Then

Login = False

MsgBox "Tên đăng nhập hoặc mật khẩu sai. Bạn hãy nhập lại!.", vbOKOnly + vbExclamation, "Thong Bao"

Me.Text1.SetFocus Me.Text1.Text = "" RS.Close

Else

Login = True

Call TestLogin(False, True) Unload Me

User = Trim(Me.Text1.Text) Pass = Trim(Me.Text2.Text) End If

If RS.State = 1 Then RS.Close End If

End If

End Function

Private Sub Form_Unload(Cancel As Integer) Main.Enabled = True

End Sub

Private Sub Text1_Click() Me.Text1.Text = ""

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then

Me.Text2.SetFocus Me.Text2.Text = ""

End If End Sub

Private Sub Text2_Click() Me.Text2.Text = ""

End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then

Me.Command2.SetFocus End If

End Sub

3.2.4. Code tìm kiếm hàng hóa

Private Sub cmdTim_Click() Search

End Sub

Private Sub Form_Load()

Me.Move (Main.Width - Me.Width) \ 2, (Main.Height - Me.Height) \ 2 'TimMa = 2

Me.txtHoten.TabIndex = 0 If TimMa = 1 Then (adsbygoogle = window.adsbygoogle || []).push({});

Me.lblTen.Caption = " Họ tên nhân viên "

Me.txtHoten.Text = " Nhập tên nhân viên cần tìm! "

Me.LvwTimKiem.ColumnHeaders.Add , "", "S・CMTND", 1400 Me.LvwTimKiem.ColumnHeaders.Add , "", "Nhân Viên", 2500 Me.LvwTimKiem.ColumnHeaders.Add , "", "Ngày Sinh", 1800 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Call SetConnection(RS, "tbNhanVien", "SoCMTND,Hoten,NgaySinh") LoadLvwTimKiem Else If TimMa = 2 Then Me.lblTen.Caption = " Tên Ca " Me.txtHoten.Text = " Nhập Tên Ca Cần tìm! " Me.LvwTimKiem.ColumnHeaders.Add , "", "Mã Ca", 2400 Me.LvwTimKiem.ColumnHeaders.Add , "", "Tên Ca", 3500 '''''''''''''''''''''''''''''''''''''''''''''

Call SetConnection(RS, "tbca", "Maca,Tenca") LoadLvwTimKiem

Else

If TimMa = 3 Then

Me.lblTen.Caption = " Tên NCC "

Me.txtHoten.Text = " Nhập Tên Nhà Cung Cấp Cần Tìm! "

Me.LvwTimKiem.ColumnHeaders.Add , "", "Mã Nhà Cung Cấp", 2000 Me.LvwTimKiem.ColumnHeaders.Add , "", "Tên Nhà Cung Cấp", 3800

'''''''''''''''''''''''''''''''''''''''''''''

Call SetConnection(RS, "tbNCC", "MaNCC,TenNCC") LoadLvwTimKiem

Else

If TimMa = 4 Then

Me.lblTen.Caption = " Tên Kho "

Me.txtHoten.Text = " Nhập Tên Kho Cần Tìm! "

Me.LvwTimKiem.ColumnHeaders.Add , "", "Mã Kho", 2000 Me.LvwTimKiem.ColumnHeaders.Add , "", "Tên Kho", 3800 '''''''''''''''''''''''''''''''''''''''''''''

Call SetConnection(RS, "tbKho", "MaKho,TenKho") LoadLvwTimKiem

Else

If TimMa = 5 Then

Me.lblTen.Caption = " Tên Sản Phẩm"

Me.txtHoten.Text = " Nhập Tên Sản Phẩm Nguyên Liệu Cần Tìm! " Me.LvwTimKiem.ColumnHeaders.Add , "", "Mã Sản Phẩm", 2000 Me.LvwTimKiem.ColumnHeaders.Add , "", "Tên Sản Phẩm", 3800 ''''''''''''''''''''''''''''''''''''''''''''' Call SetConnection(RS,"tbSanphamNL", "Masanpham,Tensanpham") LoadLvwTimKiem Else If TimMa = 6 Then

Me.lblTen.Caption = "Tên Loại Sản Phẩm"

Me.txtHoten.Text = "Nhập Tên Loại sản phẩm Cần Tìm!"

Me.LvwTimKiem.ColumnHeaders.Add , "", "Mã Loại Sản phẩm”, 2000

Me.LvwTimKiem.ColumnHeaders.Add , "", "Tên Loại Sản Phẩm", 3800

Private Sub txtHoten_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then

Me.cmdTim.SetFocus Me.cmdTim.Value = True End If

Private Sub txtHoten_LostFocus() If Trim(Me.txtHoten.Text) = "" Then If TimMa = 1 Then

If Trim(Me.txtHoten.Text) = "" Then (adsbygoogle = window.adsbygoogle || []).push({});

Me.txtHoten.Text = "Nhập Tên Nhân Viên Cần Tìm!" End If Else If TimMa = 2 Then If Trim(Me.txtHoten.Text) = "" Then Me.txtHoten.Text = "Nhập Tên Ca Cần Tìm!" End If Else If TimMa = 3 Then If Trim(Me.txtHoten.Text) = "" Then

Me.txtHoten.Text = "Nhập Tên Nhà Cung Cấp Cần Tìm!" End If

Else

If TimMa = 4 Then

If Trim(Me.txtHoten.Text) = "" Then

Me.txtHoten.Text = "Nhập Tên Kho cần tìm!" End If

Else

If TimMa = 5 Then

If Trim(Me.txtHoten.Text) = "" Then

Me.txtHoten.Text = "Nhập Tên Sản Phẩm Nguyên Liệu Cần Tìm!"

Else If TimMa = 6 Then If Trim(Me.txtHoten.Text) = "" Then Me.txtHoten.Text = "Nhập Tên Sản Phẩm Cần Tìm!" End If Else If TimMa = 7 Then If Trim(Me.txtHoten.Text) = "" Then Me.txtHoten.Text = "Nhập Tên Sản Phẩm Cần Tìm!" End If Else If TimMa = 8 Then If Trim(Me.txtHoten.Text) = "" Then Me.txtHoten.Text = "Nhập Tên Sản Phẩm Cần Tìm!" End If End If End If End If End If End If End If End If End If End If End Sub

KẾT LUẬN

Chương trình Quản lý tiệm cafe giúp cho việc tin học hóa trong cửa hàng cũng như việc nhập xuất hàng hóa được tốt hơn, chính xác và khoa học hơn, làm tăng năng suất và hiệu quả công việc. Trên cở sở giúp cho Lãnh đạo quản lý các hoạt đọng của cửa hàng hóa một cách tự động hóa, tránh được những sai sót, những hạn chế mà cách quản lý thủ công gây ra, đáp ứng được yêu cầu lãnh đạo, chỉ đạo của cấp trên trong mọi tình huống kịp thời nhất

Chương trình Quản lý tiệm cafe hoàn thành tương đối tốt đáp ứng được nhu cầu cập nhật, truy vấn thông tin nhanh chóng và giải quyết được việc tổ chức nhất quán CSDL trong lưu trữ thông tin. Tuy nhiên, chương trình vẫn còn nhược điểm, thiếu sót cần được hoàn thiện trong thời gian tới.

Em xin chân thành cảm ơn các thầy cô giáo khoa Công Nghệ Thông Tin của Trường ĐH Phương Đông đã trang bị cho em những kiến thức cơ bản, cần thiết trong những năm học vừa qua để em có thể hoàn thành đồ án này. Đặc biệt, em xin chân thành cảm ơn thầy Trần Văn Lộc, người đã tận tình chỉ bảo hướng dẫn em thực hiện đề tài trong suốt thời gian qua.

Một lần nữa em xin chân thành cảm ơn!

Hà Nội, ngày 5 tháng 10 năm 2010 Sinh viên thực hiện

Nguyễn Thúy Hằng

TÀI LIỆU THAM KHẢO

[1] TS Lê Văn Phùng : Cơ sở Dữ Liệu, Nhà xuất bản Lao Động Xã hội năm 2004

[2] TS Lê Văn Phùng : Phân tích và Thiết kế hệ thống, Nhà xuất bản Lao Động Xã hội năm 2004

[3] Nguyễn Thị Ngọc Mai : Microsoft Visual Basic 6.0 Và Lập Trình Cơ Sở Dữ Liệu

LỜI CAM ĐOAN

“Em xin cam đoan đây là công trình nghiên cứu của riêng em. Những tài liệu trong đồ án tốt nghiệp là hoàn toàn trung thực. Các kết quả nghiên cứu do chính em thực hiện dưới sự chỉ đạo của thầy giáo hướng dẫn”.

Một phần của tài liệu PHÂN TÍCH – MÔ HÌNH KHÁI NIỆM/LOGIC (Trang 48 - 86)