Giới thiệu về chi nhánh công ty ván gỗ ép MDF Gia Lai
TỔNG CÔNG TY LÂM NGHIỆP VIỆT NAM - VINAFOR
Chi nhánh công ty ván gỗ ép MDF Gia Lai
-Địa chỉ:32 – Đại Từ - Đại Kim – Hà Nội
-Email: vinafor_kt@fpt.vn
-Website: www.vinafor.com.vn Đôi nét về công ty:
Ván Sợi (MDF) là ván nhân tạo có đặc tính cơ lý cao, kích thước lớn, phù hợp với công nghệ sản xuất đồ mộc nội thất trong vùng khí hậu nhiệt đới.
Nhà máy MDF Gia Lai của VINAFOR có công suất 54.000 m3 SP/năm sử dụng dây chuyền công nghệ hiện đại châu Âu và được quản lý theo hệ thống quản lý chất lượng ISO 9001-2000 Quy cách sản phẩm 1.830 mm x 2.440mm dầy từ 6- 30mm.
Sản phẩm ván MDF được sử dụng rộng rãi trong các lĩnh vực sản xuất đồ mộc, trang trí nội thất, xây dựng…
Giới thiệu nhóm 3 - Tin học kinh tế 48
Nhóm 3 - Tin học kinh tế 48 được thành lập 15 - 09 - 2009
Trong bối cảnh tin học hóa là một bước tiến bắt buộc đối với các doanh nghiệp Nhóm 3 được thành lập với mục tiêu mang lại sự tin học hóa đến với doanh nghiệp.Được thành lập với các thành viên năng động có kiến thức chuyên môn sâu Nhóm chúng tôi có quyết tâm biến kiến thức học được trên giảng đường thành các ứng dụng cho doanh nghiệp hiện đại
Danh sách các thành viên
Bảng phân công công việc
Nhiệm vụ Cán bộ phụ trách chính Thời gian thực hiện
Xác định đề tài Cả nhóm 1 ngày Đi thực tế Cả nhóm 2 ngày
Xây dựng hợp đồng Đào Tuấn Cường 4 ngày
Xác định nhu cầu người sử dụng Nguyễn Thị Ngọc Bích
Xây dựng HĐPM Đào Tuấn Cường
Xác định yêu cầu Nguyễn Thị Thanh
Lập kế hoạch xác định yêu cầu Nguyễn Thị Thanh
Xác định yêu cầu người sử dụng Nguyễn Thị Thanh
Phân tích nghiệp vụ chuyên sâu Nguyễn Thị Thanh
Mô hình hoạt động của hệ thống Hồ Hoàng Huệ
Báo cáo quy trình 2 Nguyễn Thị Thanh
Phân tích thiết kế Đào Tuấn Cường 2 tuần
Lập kế hoạch thiết kế Vũ Danh Mạnh
Thiết kế kiến trúc Đào Tuấn Cường
Thiết kế dữ liệu Thiều Quang Huy
Thiết kế thủ tục Nguyễn Tuấn Anh
Thiết kế giao diện Đinh Gia Cương
Lập trình Thiều Quang Huy 2 tuần
Lập trình hệ thống Nguyễn Tuấn Anh
Lập trình cập nhật danh mục Thiều Quang Huy
Lập trình xử lý nghiệp vụ Thiều Quang Huy
Nguyễn Tuấn Anh Lập trình tìm kiếm báo cáo Nguyễn Tuấn Anh
Lập kế hoạch Test Lò Đức Khoa
Lập kịch bản Test Lò Đức Khoa
Thực hiện Test Lò Đức Khoa
Báo cáo quy trình Test Vũ Danh Mạnh
Triển khai Đinh Gia Cương 1 tuần
Lập kế hoạch Đinh Gia Cương
Lập giải pháp Đinh Gia Cương
Cài đặt và vận hành Đinh Gia Cương Đào tạo sử dụng Đinh Gia Cương
Báo cáo triển khai Đinh Gia Cương
Kế hoạch triển khai
Quy trình xây dựng hợp đồng phần mềm
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do – Hạnh phúc
Số 14/HĐPM -Căn cứ vào Bộ luật dân sự của nước Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam được Quốc Hội khóa 11 thông qua ngày 14/6/2005
-Căn cứ vào luât thương mại số 36/2005/QH11 của nước Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam được Quốc Hội khóa 11 thông qua ngày 14/6/2005
- Căn cứ vào nghị định Nghị định 47/NĐ-CP có hiệu lực từ 30/6/2009 về bảo vệ phần mềm máy tính
- Căn cứ vào Pháp lệnh 04/2008/UBTVQH12 về sở hữu trí tuệ có hiệu lực từ ngày 1/8/2008
- Căn cứ Luật Công nghệ thông tin ngày 29 tháng 6 năm 2006
-Căn cứ Quyết định số 246/2005/QĐ-TTg ngày 06 tháng 10 năm 2005 của Thủ tướng Chính phủ về việc phê duyệt Chiến lược phát triển công nghệ thông tin và truyền thông đến năm 2010 và định hướng đến năm 2020
-Sau khi xem xét yêu cầu của Công ty kho gỗ ván ép của chi nhánh công ty MDF Gia Lai và khả năng cung cấp dịch vụ của Nhóm xây dựng phần mềm Quản lý kho.
Hôm nay Ngày 27 Tháng 10 Năm 2009, chúng tôi gồm
BÊN A: Công ty kho gỗ ván ép của chi nhánh công ty MDF Gia Lai Địa chỉ: Số 32-Đại Từ-Đại Kim-Hà Nội Điện thoại: 04.35400826 Fax : 04.6283690 Đại diện: Đinh Ngọc Xuân Chức vụ: Giám đốc
Mở tại: Ngân hàng NN&PTNT Nam – Hà Nội
BÊN B: NHÓM XÂY DỰNG PHẦM MỀM QUẢN LÝ KHO Địa chỉ: Số 207 - Giải Phóng- Hai Bà Trưng – Hà Nội Điện thoại: 0986148893 Fax……… Đại diện: Thiều Quang Huy Chức vụ :Quản trị viên dự án
Hai bên thỏa thuận ký kết hợp đồng với những nội dung như sau: Điều 1 : Nội dung hợp đồng
Bên B cung cấp cho bên A những dịch vụ như sau:
Số TT Tên dịch vụ Ghi chú
2 Tạo tài khoản cập nhật dữ liệu
3 Duy trì tài khoản cập nhật dữ liệu
4 Giới thiệu phần mềm Miễn phí
5 Hướng dẫn sử dụng Miễn phí
6 Tư vấn miễn phí về phần mềm Miễn phí
9 Ngôn ngữ Tiếng Việt Miễn phí
10 Cài đặt triển khai hoàn chỉnh Điều 2: Giá trị hợp đồng và thanh toán (chưa bao gồm thuế VAT)
2.1 Chi phí toàn bộ phần mềm: 5.600.000 VND
(Bằng chữ: Năm triệu sáu trăm đồng chẵn)
2.2 Phương thức thanh toán: Thanh toán bằng tiền đồng Việt Nam(thanh toán bằng tiền mặt,ngân phiếu sec hoặc chuyển khoản)
Chi phí xây dựng phần mềm sẽ thanh toan 60% ngay sau khi ký kết hợp đồng,còn lại 40% thanh toán ngay sau khi các bên ký vào Biên bản thanh lý hợp đồng phân mềm. Điều 3: Trách nhiệm và quyền hạn của môĩ bên
3.1 Trách nhiệm quyền hạn của bên A:
-Cung cấp thông tin đảm bảo chính xác ,trung thực trong khuôn khổ pháp luật quy định
-Có trách nhiệm thanh toán các khoản chi phí theo như quy định tại điều 2 nói trên.
-Có quyền khiếu nại về chất lượng thông tin,chất lượng dịch vụ do bên B cung cấp.Mọi khiếu nại phải được gửi cho Bên B dưới dạng văn bản trong vòng 5 ngày kể từ ngày phát sinh vấn đề và Bên B trả lời khiếu nại cho bên A trong vòng 5 ngày kể từ ngày Bên B nhận được công văn của bên A
3.2 Trách nhiệm quyền hạn của Bên B
-Cung cấp các dịch vụ theo Điều 1 của Hợp đồng này
-Có quyền tạm ngưng phục vụ nếu Bên A thanh toán chậm quá 10 ngày kể từ ngày bàn giao kỹ thuật ch bên B
-Trong vòng 30 ngày kể từ ngày ký bên B sẽ cung cấp sản phẩm hoàn thiện cho bên A Điều 4: Bảo hành
4.1 Bên B có trách nhiệm bảo hành về các lỗi kỹ thuật và tư vấn trực tiếp,qua điện thoại hoặc qua fax cho Bên A trong thời gian 12 tháng kể từ ngày bàn giao phần mềm hoàn chỉnh
4.2 Sau khi hết hạn bảo hành Bên B tư vấn miễm phí cho Bên A qua điện thoại, Mail hoặc fax nếu có vưỡng mắc về kỹ thuật. Điều 5: Điều khoản chung
5.1 Hai bên cam kết thực hiện đúng nghiac vụ của mình theo các điều khoản dã ghi trong hợp đồng
5.2 Trong quá trình thực hiện hợp đồng, nếu có bất kỳ vấn đề nào phát sinh hai bên cùng trao đổi, giả quyết trrn tinh thần hợp tác giúp đỡ lẫn nhau
5.3 Nêu có tranh chấp xảy ra thì mọi vấn đề không thống nhất sẽ được giải quýêt theo quy định của pháp luật
5.5 Hợp đồng này gồm 5 trang ,được lập thành 2 bản có giá trị pháp lý như nhau Mỗi bên giữ 1 bản và có hiệu lực từ ngày ký.
Hà Nội,Ngày 27 Tháng 10 Năm 2009 ĐẠI DIỆN BÊN A ĐẠI DIỆN BÊN B
(Ký tên, đóng dấu) (Ký tên, đóng dấu)
PHỤ LỤC 1: CÁC MODULE TÍNH NĂNG VÀ YÊU CẦU KỸ THUẬT
PHẦN MỀM QUẢN LÝ KHO HÀNG
1 Thiết kế giao diện chính
3 Module cập nhật danh mục
- Cập nhật danh mục 01 module 500.000 500.000 0%
- Báo cáo xuất nhập tồn
Bằng chữ: Năm triệu đồng ã Miễn phớ bảo trỡ vĩnh viễn ã Miễn phớ đào tạo, hướng dẫn vận hành, quản lý phần mềm
Thanh toán hoá đơn Kiểm tra hàng hóa
Xác định kết quả kinh doanh
Quy trình xác định yêu cầu
Lập kế hoạch
STT Công Việc Nhân lực
1 Xác định yêu cầu người sử dụng 2 2 4
3 Lập mô hình hệ thống 2 2 4
Khảo sát và xác định yêu cầu người sử dụng
3.2.1 Sơ đồ tổ chức của chi nhánh công ty ván gỗ ép MDF Gia Lai
3.2.2 Yêu cầu chức năng nghiệp vụ a Kho
Quản lý hàng tồn b Phòng kế toán
Yêu cầu các báo cáo thường kì về hàng hóa trong kho.
3.2.3 Yêu cầu chức năng hệ thống
- Phân quyền: Với mỗi chức danh khác nhau thì các chức năng của phần mềm có giới hạn khác nhau Quyền admin thì lớn hơn quyền user
- Cấu hình thiết bị: Máy cá nhân phải được trang bị cấu hình phần cứng mạnh, chạy hệ điều hành Windows XP trở lên.
3.2.4 Yêu cầu phi chức năng
- Giao diện trực quan, thân thiện, dễ sử dụng.
- Khả năng quản lý linh hoạt: Cho phép thêm mới, sửa chữa, cập nhật nhanh chóng, chính xác.
- Khả năng tìm kiếm đa khoá: Sử dụng nhiều khoá để có thể tìm kiếm chính xác nhất.
- Khả năng báo cáo tuỳ biến: Cho phép người dùng lựa chọn các tiêu thức theo ý mình để in báo cáo
- Tự động hoá các công việc diễn ra hàng ngày: như phân bổ chuyến đi, cập nhật xe về bến, nhắc nhở bảo dưỡng, sửa chữa.
Phân tích nghiệp vụ chuyên sâu
• Bước 1 : Phòng kế toán chuyển đơn đặt hàng và bảng kê xuống kho ( đây là đơn đặt hàng của chi nhánh gửi vào trong tổng công ty MDF Gia Lai có ghi rõ chủng loại và khối lượng gỗ cần đặt )
QUẢN LÝ KHO GỖ CHI NHÁNH CÔNG TY MDF GIA LAI
Quản lý hàng nhập Quản lý hàng xuất Lập báo cáo
Nhận bảng kê từ P.KT
Nhận bảng kê từ P.KT
Gửi phiếu nhập kho lên P.KT
Viết phiếu xuất kho Lưu phiếu xuất kho Gửi phiếu xuất kho lên Khách hàng
Giao hàng Gửi phiếu xuất kho lên P.KT
Lập báo cáo định kỳ
Lập báo cáo theo yêu cầu
• Bước 2 : Kho kiểm kê hàng theo bảng kê, kiểm tra số lượng và chất lượng của ván sau đó ghi xác nhận giao nhận hàng vào phần dưới của bảng kê
• Bước 3 : Viết phiếu nhập kho
• Bước 1 : Kho nhận hóa đơn và bảng kê từ phòng kế toán
• Bước 2 : Kho viết phiếu xuất kho : phiếu này gồm có 3 liên : 1 gửi lên phòng kế toán, 1 do kho giữ, 1 đưa cho khách hàng
• Bước 3 : Khách hàng kiểm tra hàng theo đúng bảng kê sau đó ghi xác nhận giao nhận hàng vào phần dưới bảng kê
• Bước 4 : Kho chuyển phiếu xuất kho lên cho phòng kế toán
Mô tả hoạt động hệ thống
Quản Lý Kho Gỗ Chi Nhánh Công Ty MDF GIA LAI
Khách Hàng Tổng Công Ty MDF GIA LAI
Công Nhân Viên Trong Kho Giám Đốc Chi Nhánh
CSDL Công Ty Chi Nhánh
3.4.2.1 Sơ đồ mức ngữ cảnh
3.4.3.1 Sơ đồ DFD mức 1 Quản lý phiếu nhập.
3.4.3.2 Sơ đồ DFD mức 1 Quản lý phiếu xuất.
3.4.3.3 Sơ đồ DFD mức 1 Báo cáo
Báo cáo quy trình xác định yêu cầu
Ta thu được các bản phân tích nghiệp vụ, phân tích yêu cầu của người sử dụng và tổng quan về hoạt động của hệ thống cũng như các sơ đồ BFD, DFD là đầu vào của quy trình phân tích thiết kế.
Quy trình phân tích thiết kế
Lập kế hoạch thiết kế
STT Công việc Nhân lực
Thiết kế dữ liệu
4.3.1 Sơ đồ cấu trúc dữ liệu DSD
4.3.2 Thiết kế các bảng CSDL
Kiểu Dữ LiệuĐộ Rộng Diễn Giải
1 User Text 24 Người Đăng Nhập
4 Quyen Text 30 Quyền Hạn Người Đăng nhập
STT Tên Trường Kiểu Dữ Liệu Độ Rộng Diễn Giải
1 MaNV Text 10 Mã Nhân Viên
2 TenNV Text 25 Tên Nhân Viên
4 CMTND Number 12 Chứng minh thư nhân dân
7 SDT Number 20 Số Điện Thoại
STT Tên Trường Kiểu Dữ Liệu Độ Rộng Diễn Giải
1 MaKH Text 10 Mã Khách Hàng
2 TenKH Text 25 Tên Khách Hàng
4 SDT Number 20 Số điện thoại
7 MaSoThue Number 10 Mã số thuế
STT Tên Trường Kiểu Dữ Liệu Độ Rộng Diễn Giải
1 MaMH Text 10 Mã Mặt Hàng
2 TenMH Text 25 Tên Mặt Hàng
3 DVT Text 10 Đơn vị tính
STT Tên Trường Kiểu Dữ Liệu Độ Rộng Diễn Giải
1 MaPNK Text 10 Mã Phiếu Nhập
2 LyDoNhap Text 5 Lý Do Nhập
3 MaNV Text 7 Mã Nhân Viên
4.3.2.7 Bảng phiếu nhập kho chi tiết
STT Tên Trường Kiểu Dữ Liệu Độ RộngDiễn Giải
1 MaPNKCT Text 10 Mã Phiếu Nhập Kho
2 MaPNK Text 10 Mã Phiếu Nhập Kho
3 MaMH Text 10 Mã Mặt Hàng
4 TenMH Text 50 Tên Mặt Hàng
5 DVT Text 10 Đơn Vị Tính
6 SLNhapYC Number 4 Số Lượng Nhập Theo
STT Tên Trường Kiểu Dữ
Liệu Độ Rộng Diễn Giải
1 MaPXK Text 10 Mã Phiếu Nhập
2 MaKH Text 10 Mã Khách Hàng
3 LiDoXuat Text 50 Lý Do Xuất
4 MaNV Text 10 Mã Nhân Viên
6 NgayThang Date dd/mm/yyyy Ngày Tháng
7 SLNhapTT Number 4 Số Lượng Nhập Thực
4.3.2.8 Bảng phiếu xuất kho chi tiết
STT Tên Trường Kiểu Dữ Liệu Độ RộngDiễn Giải
1 MaPXKCT Text 10 Mã Phiếu Xuất Kho
2 MaPXK Text 10 Mã Phiếu Xuất Kho
3 MaMH Text 10 Mã Mặt Hàng
4 TenMH Text 50 Tên Mặt Hàng
5 DVT Text 10 Đơn Vị Tính
6 SLXuatYC Number 4 Số Lượng Xuất Theo
7 SLXuatTT Number 4 Số Lượng Xuất Thực
Thiết kế giải thuật
4.4.2 Giải thuật cập nhật dữ liệu
4.4.3 Giải thuật xuất báo cáo
Thiết kế giao diện
4.5.1 Giao diện của chương trình
4.5.3 Các menu của chương trình
- Menu cập nhật danh mục
- Menu Quản lý báo cáo
4.5.4 Form quản lý người dùng mới
4.5.6 Form danh mục khách hàng
4.5.6 Form danh mục mặt hàng
4.5.7 Form danh mục nhân viên
4.5.8 Form quản lý danh sách phiếu nhập
4.5.9 Form quản lý danh sách phiếu xuất
4.5.12 Form báo cáo nhập kho
4.5.13 Form báo cáo xuất kho
4.5.14 Form báo cáo xuất nhập tồn
Quy trình lập trình
Lập kế hoạch lập trình
STT Công việc Nhân lực
- Sử dụng ngôn ngữ Visual Basic 6.0 và hệ quản trị cơ sở dữ liệu Microsoft Access 2003.
- Sử dụng phần mềm Crystal Report 8.5 để thiết kế báo cáo.
- Sử dụng phần mềm Help and Menual 11 để tạo Help File.
- Sử dụng phần mềm InstallShield 12 để tạo bộ cài đặt.
Lập trình cập nhật danh mục
Đoạn code cho phép cập nhật danh mục chính xác Có bẫy nhiều lỗi và đảm bảo độ an toàn của thông tin nhập liệu.
- Với giao diện như sau
- Code của form mặt hàng
Dim bStatus As Boolean, bAdd As Boolean Dim sFilter As String
Private Sub cmdCancel_Click() bStatus = False
Grid.Enabled = True cmdFilter.Default = True cmdThoat.Cancel = True
Private Sub cmdFilter_Click() sFilter = ""
Case 1: sFilter = " WHERE MaMH LIKE '%" & txtFilter.Text & "%'" Case 2: sFilter = " WHERE TenMH LIKE '" & txtFilter.Text & "%'" Case 3: sFilter = " WHERE DVT LIKE '%" & txtFilter.Text & "%'" Case 4: sFilter = " WHERE GhiChu LIKE '%" & txtFilter.Text & "%'" End Select
MsgBox "Hay nhap ten mat hang", vbOKOnly, "Chu y"
MsgBox "Hay nhap don vi tinh", vbOKOnly, "Chu y"
MsgBox "Hay nhap ghi chu", vbOKOnly, "Chu y"
If bAdd Then Them Else: Sua bStatus = False
Private Sub cmdSua_Click() bAdd = False bStatus = True
Grid.Enabled = True cmdSave.Default = True cmdCancel.Cancel = True txtTen.SetFocus
Private Sub cmdThem_Click() bAdd = True bStatus = True
Grid.Enabled = False cmdSave.Default = True cmdCancel.Cancel = True txtTen.SetFocus
CenterMDI frmmain, Me cboFilter.AddItem "Tất cả", 0 cboFilter.AddItem "Mã mặt hàng", 1 cboFilter.AddItem "Tên mặt hàng", 2 cboFilter.AddItem "Đơn vị tính", 3 cboFilter.AddItem "Ghi chó", 4 cboFilter.ListIndex = 0 txtID.Locked = True bStatus = False
Private Sub loadGrid(Optional sFil As String = "")
Grid.FormatString = "STT" & "|Mã mặt hàng " & Space(0) & "|Tên mặt hàng" & Space(26) & "|Đơn vị tính" & Space(0) & "|Ghi chú" & Space(40)
Do While Not rs.EOF
Grid.AddItem Grid.Rows & vbTab & rs!MaMH & vbTab & rs!TenMH & vbTab & rs!DVT & vbTab & rs!GhiChu, Grid.Rows rs.MoveNext
If sFil = "" Then cboFilter.ListIndex = 0
Private Sub Reset_Form(clear As Boolean)
If clear Then txtID.Text = "" txtTen.Text = "" txtDVT.Text = "" txtGhiChu.Text = ""
End If txtTen.Locked = Not bStatus txtDVT.Locked = Not bStatus txtGhiChu.Locked = Not bStatus cmdThem.Enabled = Not bStatus cmdSua.Enabled = Not bStatus cmdXoa.Enabled = Not bStatus cmdSave.Enabled = bStatus cmdCancel.Enabled = bStatus
Private Sub Grid_SelChange() txtID.Text = Grid.TextMatrix(Grid.Row, 1) txtTen.Text = Grid.TextMatrix(Grid.Row, 2) txtDVT.Text = Grid.TextMatrix(Grid.Row, 3) txtGhiChu.Text = Grid.TextMatrix(Grid.Row, 4)
OpenDB "select * from MatHang" txtID.Text = CreateID("MaMH", rs, "MH0001") rs.AddNew rs!MaMH = txtID.Text rs!TenMH = txtTen.Text rs!GhiChu = txtGhiChu.Text rs!DVT = txtDVT.Text rs.Update
If txtID.Text = "" Then Exit Sub
OpenDB "select * from MatHang where MaMH='" & txtID.Text & "'" 'Update rs!TenMH = txtTen.Text rs!GhiChu = txtGhiChu.Text rs!DVT = txtDVT.Text rs.Update
Reset_Form True loadGrid sFilter
If txtID.Text = "" Then Exit Sub
If MsgBox("Bạn có muốn xóa mặt hàng có MaMH = " & txtID.Text & " không?.", vbYesNo + vbCritical, "Thông báo!") = vbYes Then
OpenDB "select * from MatHang where MaMH='" & txtID.Text & "'"
5.3 Lập trình form phiếu nhập Đoạn code cho phép cập nhật phiếu nhập Đáp ứng được yêu cầu cập nhật một phiếu nhập mới hoặc sửa phiếu đã nhập
- Với giao diện như sau
- Code của form phiếu nhập.
Dim bStatus As Boolean, bAdd As Boolean
Dim rsnv As New ADODB.Recordset
Dim rshang As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
OpenDB "select * from MatHang where MaMH='" & cbo1.Text & "'" txttenMH.Text = rs.Fields("TenMH") txtdvt.Text = rs.Fields("DVT")
OpenDB "select * from MatHang where MaMH='" & cbo1.Text & "'" txttenMH.Text = rs.Fields("TenMH") txtdvt.Text = rs.Fields("DVT")
If cbo2.Text "" Then rs1.Open " SELECT * FROM NhanVien WHERE MaNV='" & cbo2.Text & "' ", cn, adOpenDynamic, adLockOptimistic txttennv.Text = rs1.Fields("TenNV") rs1.Close
If cbo2.Text "" Then rs1.Open " SELECT * FROM NhanVien WHERE MaNV='" & cbo2.Text & "' ", cn, adOpenDynamic, adLockOptimistic txttennv.Text = rs1.Fields("TenNV") rs1.Close
Private Sub cmdCancel_Click() bStatus = False
' cmdFilter.Default = True cmdThoat.Cancel = True
MsgBox " Bạn cần nhập S/L yêu cầu", vbExclamation, "Chú ý"
MsgBox " Bạn cần nhập S/L thực tế", vbExclamation, "Chú ý"
MsgBox " Bạn cần nhập đơn giá", vbExclamation, "Chú ý"
MsgBox " Bạn cần nhập ngày tháng", vbExclamation, "Chú ý"
MsgBox " Bạn cần chọn nhân viên ", vbExclamation, "Chú ý"
If bAdd Then Them Else: Sua bStatus = False
OpenDB "Select sum(ThanhTien) from PNKchitiet where MaPNK='" & txtID.Text & "'" txttongtien.Text = rs.Fields(0)
OpenDB "select * from PhieuNhap where MaPNK='" & txtID.Text & "'" rs!tongtien = txttongtien.Text rs.Update
Private Sub cmdSua_Click() bAdd = False bStatus = True cbo2.Locked = True cbo1.Locked = True txtngaythang.Locked = True txtlido.Locked = True
Grid.Enabled = True cmdSave.Default = True cmdCancel.Cancel = True
Private Sub cmdThem_Click() bAdd = True bStatus = True
Reset_Form True cbo1.Locked = False
Grid.Enabled = False cmdSave.Default = True cmdCancel.Cancel = True
Private Sub cmdThoat_Click() frmlistphieunhap.Show
Unload Me rsnv.Close rshang.Close
If cbo1.Text = "" Then Exit Sub
If MsgBox("Xoa mat hang co MaMH = " & cbo1.Text & " khong?.", vbYesNo + vbCritical, "Xac nhan xoa!") = vbYes Then
OpenDB "select * from PNKchitiet where MaMH='" & cbo1.Text & "' and MaPNK='" & txtID.Text & "'"
OpenDB "select * from BieuGhi where MaMH='" & cbo1.Text & "' and MaPNK='" & txtID.Text & "'" rs.Delete
End If tongtien sFilter = " WHERE MaPNK = '" & txtID.Text & "'" loadGrid sFilter
Private Sub Form_Activate() sFilter = " WHERE MaPNK = '" & txtID.Text & "'" loadGrid sFilter
OpenDB "select * from PNKchitiet" txtID.Text = CreateID("MaPNK", rs, "PNK0001")
Reset_Form True rsnv.CursorLocation = adUseClient rsnv.Open "Select * from NhanVien", cn, adOpenDynamic, adLockOptimistic rshang.CursorLocation = adUseClient rshang.Open "select * from MatHang", cn, adOpenDynamic, adLockOptimistic gandulieu txttongtien.Locked = True txtthanhtien.Locked = True txtID.Locked = True txttennv.Locked = True txtdvt.Locked = True
Private Sub loadGrid(Optional sFil As String = "")
Grid.FormatString = "STT" & "|Mã mặt hàng " & Space(0) & "|Tên mặt hàng" & Space(9) & "|DVT" & Space(2) & "|SL yêu cầu" & Space(1) & "|SL thực tế" & Space(2) & "|Đơn giá" & Space(7) & "|Thành tiền" & Space(15)
Do While Not rs.EOF
Grid.AddItem Grid.Rows & vbTab & rs!MaMH & vbTab & rs!TenMH & vbTab & rs!DVT & vbTab & rs!SLnhapYC & vbTab & rs!SLnhapTT & vbTab & rs!DonGia & vbTab & rs!ThanhTien, Grid.Rows rs.MoveNext
Private Sub Reset_Form(clear As Boolean)
If clear Then cbo1.Text = "" txttenMH.Text = "" txtdvt.Text = "" txtnhapyc.Text = "" txtnhaptt.Text = "" txtdongia.Text = "" txtthanhtien.Text = ""
End If txttenMH.Locked = Not bStatus txtdvt.Locked = Not bStatus txtnhapyc.Locked = Not bStatus txtnhaptt.Locked = Not bStatus txtdongia.Locked = Not bStatus txtthanhtien.Locked = Not bStatus cmdThem.Enabled = Not bStatus cmdSua.Enabled = Not bStatus cmdXoa.Enabled = Not bStatus cmdSave.Enabled = bStatus cmdCancel.Enabled = bStatus
Private Sub Grid_SelChange() cbo1.Text = Grid.TextMatrix(Grid.Row, 1) txttenMH.Text = Grid.TextMatrix(Grid.Row, 2) txtdvt.Text = Grid.TextMatrix(Grid.Row, 3) txtnhapyc.Text = Grid.TextMatrix(Grid.Row, 4) txtnhaptt.Text = Grid.TextMatrix(Grid.Row, 5) txtdongia.Text = Grid.TextMatrix(Grid.Row, 6) txtthanhtien.Text = Grid.TextMatrix(Grid.Row, 7)
Do While Not rs.EOF
If rs!MaPNK = txtID.Text Then
Loop rs.AddNew rs!MaPNK = txtID.Text rs!Ngaythang = txtngaythang.Text rs!LiDoNhap = txtlido.Text rs!MaNV = cbo2.Text
' rs!TongTien = txttongtien.Text rs.Update
OpenDB "select * from PNKchitiet where MaPNK='" & txtID.Text & "'"
Do While Not rs.EOF
If rs!MaMH = cbo1.Text Then rs!SLnhapYC = rs.Fields(4).Value + txtnhapyc.Text rs!SLnhapTT = rs.Fields(5).Value + txtnhaptt.Text rs!ThanhTien = rs.Fields(7).Value + txtthanhtien.Text rs.Update
' Cap nhat vao bieu ghi
OpenDB "select * from BieuGhi where MaPNK='" & txtID.Text & "' and MaMH='" & cbo1.Text & "'" rs!SLnhapTT = rs.Fields(7).Value + txtnhaptt.Text rs!ThanhTien = rs.Fields(9).Value + txtthanhtien.Text rs.Update
Reset_Form True sFilter = " WHERE MaPNK = '" & txtID.Text & "'" loadGrid sFilter
Loop rs.AddNew rs!MaPNK = txtID.Text rs!MaMH = cbo1.Text rs!TenMH = txttenMH.Text rs!DVT = txtdvt.Text rs!SLnhapYC = txtnhapyc.Text rs!SLnhapTT = txtnhaptt.Text rs!DonGia = txtdongia.Text rs!ThanhTien = txtthanhtien.Text rs.Update
' update vao truong ban ghi
OpenDB " select * from BieuGhi " rs.AddNew rs!Nghiepvu = "NK" rs!MaPNK = txtID.Text
'rs!MaPXK = "0" rs!Ngaythang = txtngaythang.Text rs!MaMH = cbo1.Text rs!TenMH = txttenMH.Text rs!SLnhapTT = txtnhaptt.Text rs!ThanhTien = txtthanhtien.Text rs.Update
Reset_Form True sFilter = " WHERE MaPNK = '" & txtID.Text & "'" loadGrid sFilter
If cbo1.Text = "" Then Exit Sub
OpenDB "select * from PNKchitiet where MaMH='" & cbo1.Text & "'" 'Update rs!MaMH = cbo1.Text rs!TenMH = txttenMH.Text rs!DVT = txtdvt.Text rs!SLnhapYC = txtnhapyc.Text rs!SLnhapTT = txtnhaptt.Text rs!DonGia = txtdongia.Text rs!ThanhTien = txtthanhtien.Text rs.Update
OpenDB "select * from BieuGhi where MaPNK='" & txtID.Text & "' and MaMH='" & cbo1.Text & "'" rs!SLnhapTT = txtnhaptt.Text rs!ThanhTien = txtthanhtien.Text rs.Update
Reset_Form True sFilter = " WHERE MaPNK = '" & txtID.Text & "'" loadGrid sFilter
OpenDB "Select sum(ThanhTien) from PNKchitiet where MaPNK = '" & txtID.Text & "' "
'If rs.EOF = rs.BOF Then
'Else txttongtien.Text = rs.Fields(0)
OpenDB "select * from PhieuNhap where MaPNK='" & txtID.Text & "'" rs!tongtien = txttongtien.Text rs.Update
'Gan du lieu cho dcbMahang
Do While Not (.EOF Or BOF) cbo1.AddItem (.Fields(0).Value)
' Gan du lieu cho dcbManv
Do While Not (.EOF Or BOF) cbo2.AddItem (.Fields(0).Value)
If txtdongia.Text = "" Or txtnhaptt.Text = "" Then txtthanhtien.Text = ""
Else txtthanhtien.Text = txtdongia.Text * txtnhaptt.Text
Private Sub txtdongia_KeyPress(KeyAscii As Integer)
If txtdongia.Text = "" Or txtnhaptt.Text = "" Then txtthanhtien.Text = ""
Else txtthanhtien.Text = txtdongia.Text * txtnhaptt.Text
Private Sub txtnhaptt_KeyPress(KeyAscii As Integer)
Private Sub txtnhapyc_KeyPress(KeyAscii As Integer)
Private Sub txtngaythang_Validate(Cancel As Boolean)
Dim d As Variant d = txtngaythang.Text
MsgBox "Bạn phải nhập vào ngày hợp lệ" & _
" (vd: 05/06/2009) ", vbCritical, " Nhập ngày hoá đơn"
Lập trình xuất báo cáo
- Giao diện form báo cáo.
Dim rsmpnk As New ADODB.Recordset
Dim rsmh As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
'Dim rs2 As New ADODB.Recordset
OpenDB "select * from MatHang where MaMH='" & cbo1.Text & "'" txttenmh.Text = rs.Fields("TenMH")
OpenDB "select * from MatHang where MaMH='" & cbo1.Text & "'" txttenmh.Text = rs.Fields("TenMH")
Text11.Text = rs.Fields("MaMH")
OpenDB "select * from PhieuNhap where MaPNK='" & cbo2.Text & "'" Text12.Text = rs.Fields("MaPNK")
OpenDB "select * from PhieuNhap where MaPNK='" & cbo2.Text & "'" Text12.Text = rs.Fields("MaPNK")
Dim rs2 As New ADODB.Recordset
If (opt1.Value = False) And (opt2.Value = False) Then
MsgBox "Hãy chọn kiểu báo cao", vbOKOnly, "Chu Y"
If (opt2.Value = True) And (opt1.Value = False) Then
If (txttungay.Text = "") Or (txtdenngay.Text = "") Then
MsgBox "Hay chon ngay thang", vbOKOnly, "Chu y"
MsgBox "Hay chon mat hang", vbOKOnly, "Chu y"
If (DateValue(txttungay.Text) > DateValue(txtdenngay.Text)) Then
MsgBox "Bạn chọn khoảng thời gian không chính xác ", vbOKOnly, "Thông báo!"
End If rs2.Open "select Ngaythang,MaPNK,SLNhapTT,MaMH From BieuGhi where Nghiepvu = 'NK' and MaMH= '" & Text11.Text & "' and Ngaythang between Datevalue('" & txttungay.Text & "') and Datevalue('" & txtdenngay.Text & "')", cn, adOpenDynamic, adLockOptimistic cr.ReportFileName = App.Path & "\Report\rp_bcnk1.rpt" cr.SetTablePrivateData 0, 3, rs2 cr.Formulas(1) = "txttungay= '" & txttungay.Text & "'" cr.Formulas(2) = "txtdenngay= '" & txtdenngay.Text & "'" cr.Formulas(3) = "mamh= '" & cbo1.Text & "'" cr.Formulas(4) = "tenmh= '" & txttenmh.Text & "'" cr.WindowState = crptMaximized cr.PrintReport rs2.Close cbo1.Text = "" txttenmh.Text = ""
If (opt1.Value = True) And (opt2.Value = False) Then
If (DateValue(txttungay.Text) > DateValue(txtdenngay.Text)) Then
MsgBox "Bạn chọn khoảng thời gian không chính xác ", vbOKOnly, "Thông báo!"
If (txttungay.Text = "") Or (txtdenngay.Text = "") Then
MsgBox "Hay chon ngay thang", vbOKOnly, "Chu y"
'Dim rs1 As New ADODB.Recordset strSQL = " select Ngaythang,MaPNK,MaMH,TenMH,SLNhapTT From BieuGhi where Nghiepvu = 'NK' and Ngaythang between Datevalue('" & txttungay.Text &
"') and Datevalue('" & txtdenngay.Text & "')" rs1.Open strSQL, cn, adOpenDynamic, adLockOptimistic cr1.ReportFileName = App.Path & "\Report\rp_bcnk.rpt" cr1.SetTablePrivateData 0, 3, rs1 cr1.Formulas(1) = "txttungay= '" & txttungay.Text & "'" cr1.Formulas(2) = "txtdenngay= '" & txtdenngay.Text & "'" cr1.WindowState = crptMaximized cr1.PrintReport rs1.Close
Calendar2.Value = Date rsmh.CursorLocation = adUseClient rsmh.Open "select * from MatHang", cn, adOpenDynamic, adLockOptimistic gandulieu
Label2.Visible = False cbo1.Visible = False txttenmh.Visible = False
'Gan du lieu cho dcbMahang
Do While Not (.EOF Or BOF) cbo1.AddItem (.Fields(0).Value)
Private Sub Form_Unload(Cancel As Integer)
Private Sub Image1_Click(Index As Integer)
If Not IsNull(cboOriginator) Then
Private Sub Image2_Click(Index As Integer)
If Not IsNull(cboOriginator) Then
Private Sub Calendar1_Click() txttungay.Text = Format(Calendar1.Value, "dd/mm/yyyy") Calendar1.Visible = False
Private Sub Calendar2_Click() txtdenngay.Text = Format(Calendar2.Value, "dd/mm/yyyy") Calendar2.Visible = False
If opt2.Value = True Then
Label2.Visible = True cbo1.Visible = True txttenmh.Visible = True
If opt1.Value = True Then
Label2.Visible = False cbo1.Visible = False txttenmh.Visible = False
Quy trình Test
Lập kế hoạch Test
STT Công việc Nhân lực
Lập kịch bản Test
Test - case 1 Kiểm tra tính bảo mật của hệ thống
Test - case 2 Kiểm tra chức năng Quản lý User
Tạo User mới Thay đổi tài khoản Test - case 3 Kiểm tra chức năng cập nhật danh mục
Thêm, sửa, xoá, duyệt các bản ghi Chức năng tìm kiếm để sửa chữa Chức năng hiện dữ liệu trên đường lưới Test - case 4 Kiểm tra chức năng Danh sách phiếu nhập
Test - case 5 Kiểm tra chức năng Danh sách phiếu xuất
Test - case 6 Kiểm tra chức năng tạo báo cáo đa năng
Tạo báo cáo theo ý người dùng - Lựa chọn trường lọc báo cáoTest - case 7 Kiểm tra chức năng trợ giúp – hướng dẫn sử dụng
Nội dung Test
6.3.1 Test - case 1 Kiểm tra tính bảo mật hệ thống
Mục đích: Kiểm tra tính bảo mật hệ thống
Bước 1: Khởi động chương trình và màn hình hỏi mật khẩu hiện ra
Bước 2: Nhập không chính xác tên đăng nhập và mật khẩu.
Bước 3: Dữ liệu Demo có tên đăng nhập tuananh pass 1 Quyền admin
Bước 4: Đăng nhập lại với tên đăng nhập tuananh pass 123 Quyền admin Kết quả dự kiến : Tính bảo mật tốt
Kết quả thực tế: Tính bảo mật tốt
Bước 1: Khởi động chương trình và màn hình hỏi mật khẩu hiện ra.Nhập mật khảu sai và hiện ra thông báo
Bước2: Đăng nhập với user và mật khẩu chính xác
6.3.2 Test - case 2 Kiểm tra chức năng Quản lý User
Mục đích: Kiểm tra chức năng Quản lý User
- Bước 2: Thay đổi mật khẩu
- Bước 3: Xem danh mục User
Kết quả dự kiến : Các chức năng hoạt động tốt
Kết quả thực tế: Các chức năng hoạt động tốt
Bước 1 tạo tài khoản mới “NEU” với quyền quản trị.
Bước 2: Thay đổi mật khẩu cho tài khoản NEU
Xác nhận thay đổi mật khẩu:
6.3.3 Test - case 3 Kiểm tra chức năng cập nhật danh mục
Mục đích : Kiểm tra chức năng cập nhật danh mục
Bước 1: Thêm mới một danh mục
Bước 2: Sửa một danh mục
Bước 3: Xoá một danh mục
Bước 4: Tìm kiếm để sửa một danh mục
Kết quả dự kiến : Các chức năng hoạt động tốt
Kết quả thực tế: Các chức năng hoạt động tố
Bước 1: Thêm mới một danh mục
Bước 2: Sửa một danh mục
Cập nhất thông tin mặt hàng
Cập nhật xong ấn nút lưu
Bước 3: Xoá một danh mục
- Hiện thị thông báo có xóa mặt hàng không
Bước 4: Tìm kiếm một danh mục
-Gõ kí tự cần tìm:
6.3.4 Test - case 4 Kiểm tra danh sách phiếu nhập
6.3.5 Test - case 5 Kiểm tra danh sách phiếu xuất
6.3.6 Test - case 6 Kiểm tra tạo báo cáo
Bước 1: Chọn các tham số báo cáo
Kết quả in báo cáo:
6.3.7 Test - case 7 Kiểm tra trợ giúp
Tổng kết quy trình Test
Sau khi hoàn thành các kịch bản Test, chương trình đã chạy theo đúng yêu cầu đặt ra Có thể chuyển sang công đoạn tiếp theo
Lập kế hoạch
STT Công việc Nhân lực
2 Cài đặt và vận hành 1 1 1
Lập giải pháp
Phần mềm được viết bằng ngôn ngữ Visual Basic sẽ được đóng gói ra file
*.exe để chạy Phần mềm được đóng gói sẽ gồm 1 đĩa CD bao gồm code và các file để chạy chương trình.
Công ty MDF Gia Lai sẽ cho người hướng dẫn nhân viên phòng quản lý kho cài đặt phần mềm cũng như đào tạo người sử dụng.
Sau khi cài đặt, phần mềm sẽ được bảo trì miễn phí cũng như sửa chữa phần mềm nếu có sự cố xảy ra cho công ty trong vòng 6 tháng tiếp theo.
Cài đặt và vận hành
+ Địa điểm: Phòng Quản lý kho công ty MDF Gia Lai
+ Thời gian cài đặt: 9h ngày 15/11/2009
+ Số máy được cài: 1 máy.
Đào tạo sử dụng
7.4.1 Cung cấp sách hướng dẫn sử dụng:
Hướng dẫn sử dụng: Phần mềm bao gồm các chức năng:
+ Đăng nhập hệ thống: Để vào được phần mềm, người dung cần đăng ký tài khoản và mật khẩu.
+ Chỉ người quản lý mới có quyền tạo thay đổi lưu xoá danh mục tài khoản và mật khẩu của người dùng.
+ Sau khi đăng nhập, nhân viên kho có thể cập nhật, sửa, lưu, thay đổi, và xoá các danh mục trong các phân hệ của chương trình.
+ Nhân viên quản lý kho có thể lên báo cáo nhờ sự hỗ trợ của phần mềm để báo cáo với cấp trên.
7.4.2 Đào tạo người sử dụng:
+ Sáng 20/11/2009 đào tạo cán bộ kỹ thuật cách cài đặt và xử lý những lỗi nhỏ có thể phát sinh Sau đó sẽ đào tạo cán bộ quản lý về cách kiểm soát, quản trị và sử dụng phần mềm.
+ Chiều 20/11/2009 sẽ đào tạo nhân viên phòng quản lý kho với các chức năng.
Báo cáo triển khai
Phần mềm được cài đặt tại công ty đã chạy tốt Người sử dụng đã nắm được cách sử dụng phần mềm Cán bộ triển khai và đại diện công ty ký kết biên bản triển khai với các nội dung sau đây:
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc
Chi nhánh công ty ván gỗ ép MDF Gia Lai (gọi tắt là “Bên A”) Địa chỉ : 32 – Đại Từ - Đại Kim – Hà Nội Điện thoại : 04.35400826
Người đại diện : Đinh Ngọc Xuân
Chức vụ : Giám đốc chi nhánh
Nhóm 3 Tin học 48 ( gọi tắt là “Bên B” ) Địa chỉ : 207 Giải Phóng - Hai Bà Trưng - Hà Nội
Người đại diện : Đinh Gia Cương
Chức vụ : Cán bộ triển khai
Trong ngày15/11/2009, tôi (Bên B ) là cán bộ triển khai của nhóm 3 lớp tin học kinh tế 48, được cử xuống chi nhánh công ty ván gỗ MDF Gia Lai tiến hành cài đặt và chạy thử phần mềm Sau khi phần mềm đã chạy ổn định, chúng tôi tiến hành bàn giao phần mềm cho công ty (Bên A ) bao gồm 01 đĩa CD Ngày 15/11/2009, chúng tôi tiến hành đào tạo cho nhân viên của công ty về cách cài đặt cũng như cách sử dụng phần mềm Cả 2 bên đều đồng ý đã hoàn thành quá trình triển khai đúng tiến độ của dự án như đã thoả thuận trong hợp đồng. Đại diện bên A Đại diện bên B