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.
79 trang |
Chia sẻ: lylyngoc | Lượt xem: 2850 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Xây dựng phần mềm quản lý kho gỗ của chi nhánh công ty ván gỗ ép MDF Gia Lai, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC
LỜI NểI ĐẦU
Công nghệ phần mềm là lĩnh vực nghiên cứu của tin học nhằm đề xuất các nguyên lý, phương pháp, công cụ, cách tiếp cận và phương tiện phục vụ cho việc thiết kế và cài đặt các sản phẩm phần mềm một cách kinh tế, vừa tin cậy, vừa làm việc hiệu quả trên máy tớnh.
Sau một thời gian được tiếp thu những kiến thức quý bỏu trong môn Công nghệ phần mềm do thầy PGS.TS Hàn Viết Thuận giảng dạy, chúng em đã có cơ hội được thực hành để xõy dựng nên một phần mềm, qua đó cụ thể hoá những kiến thức đã học.
Đề tài nhóm 3 - Tin học kinh tế 48 chúng em lựa chọn là “Xõy dựng phần mềm quản lý kho gỗ của chi nhánh công ty ván gỗ ép MDF Gia Lai”.
Qua từng tuần, thực hiện từng quy trình trong công nghệ phần mềm, cùng với sự hướng dẫn nhiệt tình của thầy Thuận, sự đóng góp ý kiến của các bạn trong lớp, và sự miệt mài làm việc của nhóm 3, chúng em đã cho ra mắt phần mềm đáp ứng được yêu cầu cao của người sử dụng.
Quóng thời gian làm việc cùng nhau của nhóm 3 không chỉ là cơ hội tốt để các thành viên học cách làm việc tập thể, cùng nhau giải quyết những vấn đề khó khăn, mà cũn là dịp để các bạn thật sự hiểu nhau hơn, chia sẻ những cảm xúc tươi mới và luôn vẹn nguyên trong tình bạn. Tất cả cùng nhau “đoàn kết sáng tạo và không ngừng vươn xa”.
Chúng em xin chõn thành cảm ơn Phó giáo sư, tiến sĩ Hàn Viết Thuận, người đã trực tiếp giảng dạy và hướng dẫn chúng em thực hiện đề tài. Chúng em mong thầy luôn là điểm tựa vững chắc để chúng em có thể vững bước trên con đường mình đã chọn. Chỳng em cũng xin gửi lời cám ơn đến Chi nhánh công ty ván gỗ ép MDF Gia Lai đã tạo điều kiện tốt nhất cho chúng em thực hiện thành công đề tài này.
Hà Nội, 11/2009
Nhóm sinh viên thực hiện
Nhóm 3 - Tin học kinh tế 48
1.Tổng quan
1.1 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
-Điện thoại: 04.35400826
-Fax : 04.6283690
-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…
1.2 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
- Thiều Quang Huy
- Nguyễn Tuấn Anh
- Nguyễn Thị Thanh
- Đinh Gia Cương
- Đào Tuấn Cường
- Nguyễn Thị Ngọc Bích
- Vũ Danh Mạnh
- Lò Đức Khoa
- Hồ Hoàng Huệ
1.3 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
Hồ Hoàng Huệ
1 tuần
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
Test
Đinh Gia Cương
Lò Đức Kho
1 tuần
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
Vũ Danh Mạnh
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
Tổng thời gian
8 tuần
1.4 Kế hoạch triển khai
STT
Công việc
27/09-01/10
02-08/10
09-23/10
24/10-06/11
07-14/11
15-21/11
1
Xây dựng hợp đồng
2
Xác định yêu cầu
3
Phân tích thiết kế
4
Lập trình
5
Test
6
Qui trình triển khai
2. 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
-----o0o-----
HỢP ĐỒNG
KINH DOANH PHẦN MỀM
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ã số thuế:
5900227820-003
Tài khoản:
1460431101000348
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
Mã số thuế:
……….
Email:
………
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ú
1
Phần mềm QL kho
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í
7
Tìm kiếm
Miễn phí
8
Liên hệ
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)
2.3 Lịch trình thanh toá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
No
Items
Quantity
Unit price
(VND)
Amount
(VND)
VAT
1
Thiết kế giao diện chính
Hệ thống
Cập nhật danh mục
Quản lý
Báo cáo
Trợ giúp
01 package
1.000.000
1.000.000
0%
2
Module Hệ thống
Đăng nhập
Quản lý user
01 module
500.000
500.000
0%
3
Module cập nhật danh mục
Cập nhật danh mục
01 module
500.000
500.000
0%
4
Module Quản lý
Cập nhật phiếu nhập
Cập nhật phiếu xuất
Quản lý tồn kho
01 module
2.000.000
2.000.000
0%
5
Module Báo cáo
Báo cáo nhập kho
Báo cáo tồn kho
Báo cáo xuất nhập tồn
01 module
800.000
800.000
0%
7
Module Help
01 module
200.000
200.000
0%
Tổng:
5.000.000
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.
3. Quy trình xác định yêu cầu
Mục đích: sau khi đó cú hợp đồng với khách hàng, hợp đồng được chuyển sang để thực hiện chương trình thứ hai nhằm xác định nhu cầu của khách hang về sản phẩm tương lai. Yêu cầu đặt ra là phải lượng hoá được các dạng mô hình.
Các giai đoạn
Lập kế hoạch xác định yêu cầu
Xác định yêu cầu của người sử dụng
Phân tích nghiệp vụ
Lập mô hình hệ thống
Báo cáo quy trình 2
3.1 Lập kế hoạch
STT
Công Việc
Nhân lực
(Người)
Thời gian
(ngày)
Người/ngày
1
Xác định yêu cầu người sử dụng
2
2
4
2
Phân tích nghiệp vụ
2
2
4
3
Lập mô hình hệ thống
2
2
4
4
Báo cáo quy trình 2
1
1
1
3.2 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
Ban giám đốc
Kho
Phòng kế toán
Chi trả lương
Thanh toán hoá đơn
Kiểm tra hàng hóa
Xác định kết quả kinh doanh
Lưu trữ hàng hóa
Quản lý hàng hóa
3.2.2 Yêu cầu chức năng nghiệp vụ
a. Kho
Quản lý hàng nhập
Quản lý hàng xuất
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.
3.3 Phân tích nghiệp vụ chuyên sâu
3.3.1. Nhập kho :
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 )
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
3.3.2.Xuất 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
3.4 Mô tả hoạt động hệ thống
3.4.1 Sơ đồ BFD
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
Kiểm tra hàng nhập
Xếp hàng vào kho
Xác nhận nhập hàng
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
Lưu phiếu nhập kho
Kiểm tra lýợng tồn &
Báo cáo lên P.KT
3.4.2 Sơ đồ DFD
3.4.2.1 Sơ đồ mức ngữ cảnh
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.2 Sơ đồ DFD mức 0
3.4.3 Sơ đồ DFD mức 1
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
3.5 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ế.
4. Quy trình phân tích thiết kế
4.1 Lập kế hoạch thiết kế
STT
Công việc
Nhân lực
(Người)
Thời gian
(ngày)
Người/ngày
1
Thiết kế kiến trúc
1
2
2
2
Thiết kế dữ liệu
1
5
5
3
Thiết kế thủ tục
1
2
2
4
Thiết kế giao diện
1
4
4
4.2 Thiết kế kiến trúc
4.3 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
4.3.2.1 Bảng người dùng
STT
Tên
Trường
Kiểu Dữ Liệu
Độ Rộng
Diễn Giải
1
User
Text
24
Người Đăng Nhập
3
Pass
Text
16
Mật khẩu
4
Quyen
Text
30
Quyền Hạn Người Đăng nhập
4.3.2.2 Bảng nhân viên
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
3
NgaySinh
Date
Ngày Sinh
4
CMTND
Number
12
Chứng minh thư nhân dân
5
QueQuan
Text
30
Quê Quán
6
DiaChi
Text
50
Địa Chỉ
7
SDT
Number
20
Số Điện Thoại
4.3.2.3 Bảng khách hàng
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
3
DiaChi
Text
30
Địa Chỉ
4
SDT
Number
20
Số điện thoại
5
Fax
Number
12
Số fax
6
TaiKhoan
Number
12
Tài Khoản
7
MaSoThue
Number
10
Mã số thuế
4.3.2.4 Bảng mặt hàng
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
5
GhiChu
Text
50
Ghi Chú
4.2.3.5 Bảng phiếu nhập
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 Kho
2
LyDoNhap
Text
5
Lý Do Nhập
3
MaNV
Text
7
Mã Nhân Viên
4
TongTien
Number
10
Tổng tiền
5
NgayThang
Date
Ngày Tháng
4.3.2.6 Bảng phiếu xuất
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 Kho
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
5
TongTien
Text
10
Tổng Tiền
6
NgayThang
Date
dd/mm/yyyy
Ngày Tháng
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ộng
Diễn Giải
1
MaPNKCT
Text
10
Mã Phiếu Nhập Kho Chi Tiết
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 Yêu Cầu
7
SLNhapTT
Number
4
Số Lượng Nhập Thực Tế
8
DonGia
Number
7
Đơn Giá
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ộng
Diễn Giải
1
MaPXKCT
Text
10
Mã Phiếu Xuất Kho Chi Tiết
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 Yêu Cầu
7
SLXuatTT
Number
4
Số Lượng Xuất Thực Tế
8
DonGia
Number
7
Đơn Giá
4.4 Thiết kế giải thuật
4.4.1 Giải thuật đăng nhập
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
4.5 Thiết kế giao diện
4.5.1 Giao diện của chương trình
4.5.2 Form đăng nhập
4.5.3 Các menu của chương trình
- Menu Hệ thống
Menu cập nhật danh mục
Menu Quản lý
Menu Quản lý báo cáo
- Menu trợ giúp
4.5.4 Form quản lý người dùng mới
4.5.5 Form đổi mật khẩu
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
3
4.5.10 Form phiếu nhập
4.5.11 Form 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
4.5.14 Form hướng dẫn
4.5.15 Giới thiệu phần mềm
5. Quy trình lập trình
5.1 Lập kế hoạch lập trình
STT
Công việc
Nhân lực
(Người)
Thời gian
(ngày)
Người/ngày
1
Lập trình hệ thống
1
2
3
2
Cập nhật danh mục
1
3
3
3
Xử lý nghiệp vụ
2
4
8
4
Tìm kiếm báo cáo
1
4
4
- 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.
5.2 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
Reset_Form True
Grid.Enabled = True
cmdFilter.Default = True
cmdThoat.Cancel = True
End Sub
Private Sub cmdFilter_Click()
sFilter = ""
If txtFilter.Text "" Then
Select Case cboFilter.ListIndex
Case 0: 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
End If
loadGrid sFilter
End Sub
Private Sub cmdSave_Click()
If txtTen.Text = "" Then
MsgBox "Hay nhap ten mat hang", vbOKOnly, "Chu y"
Exit Sub
End If
If txtDVT.Text = "" Then
MsgBox "Hay nhap don vi tinh", vbOKOnly, "Chu y"
Exit Sub
End If
If txtGhiChu.Text = "" Then
MsgBox "Hay nhap ghi chu", vbOKOnly, "Chu y"
Exit Sub
End If
If bAdd Then Them Else: Sua
bStatus = False
Reset_Form True
Grid.Enabled = True
End Sub
Private Sub cmdSua_Click()
bAdd = False
bStatus = True
Reset_Form False
Grid.Enabled = True
cmdSave.Default = True
cmdCancel.Cancel = True
txtTen.SetFocus
End Sub
Private Sub cmdThem_Click()
bAdd = True
bStatus = True
Reset_Form True
Grid.Enabled = False
cmdSave.Default = True
cmdCancel.Cancel = True
txtTen.SetFocus
End Sub
Private Sub cmdThoat_Click()
Unload Me
End Sub
Private Sub cmdXoa_Click()
Xoa
End Sub
Private Sub Form_Load()
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
Reset_Form True
loadGrid
End Sub
Private Sub loadGrid(Optional sFil As String = "")
Grid.clear
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)
Grid.Rows = 1
OpenDB "SELECT *" & _
" FROM MatHang" & sFil
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
Loop
CloseDB
If sFil = "" Then cboFilter.ListIndex = 0
End Sub
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
End Sub
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)
End Sub
Private Sub Them()
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
CloseDB
Reset_Form True
loadGrid
End Sub
Private Sub Sua()
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
CloseDB
Reset_Form True
loadGrid sFilter
End Sub
Private Sub Xoa()
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 & "'"
'Delete
rs.Delete
CloseDB
Reset_Form True
loadGrid
End If
End Sub
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 sFilter As String
Dim rsnv As New ADODB.Recordset
Dim rshang As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
Private Sub cbo1_Change()
If cbo1.Text "" Then
OpenDB "select * from MatHang where MaMH='" & cbo1.Text & "'"
txttenMH.Text = rs.Fields("TenMH")
txtdvt.Text = rs.Fields("DVT")
CloseDB
End If
End Sub
Private Sub cbo1_Click()
If cbo1.Text "" Then
OpenDB "select * from MatHang where MaMH='" & cbo1.Text & "'"
txttenMH.Text = rs.Fields("TenMH")
txtdvt.Text = rs.Fields("DVT")
CloseDB
txtnhapyc.SetFocus
End If
End Sub
Private Sub cbo2_change()
If cbo2.Text "" Then
rs1.Open " SELECT * FROM NhanVien WHERE MaNV='" & cbo2.Text & "' ", cn, adOpenDynamic, adLockOptimistic
txttennv.Text = rs1.Fields("TenNV")
rs1.Close
End If
End Sub
Private Sub cbo2_Click()
If cbo2.Text "" Then
rs1.Open " SELECT * FROM NhanVien WHERE MaNV='" & cbo2.Text & "' ", cn, adOpenDynamic, adLockOptimistic
txttennv.Text = rs1.Fields("TenNV")
rs1.Close
End If
End Sub
Private Sub cmdCancel_Click()
bStatus = False
Reset_Form True
Grid.Enabled = True
' cmdFilter.Default = True
cmdThoat.Cancel = True
End Sub
Private Sub cmdSave_Click()
If txtnhapyc.Text = "" Then
MsgBox " Bạn cần nhập S/L yêu cầu", vbExclamation, "Chó ý"
Exit Sub
End If
If txtnhaptt.Text = "" Then
MsgBox " Bạn cần nhập S/L thực tế", vbExclamation, "Chó ý"
Exit Sub
End If
If txtdongia.Text = "" Then
MsgBox " Bạn cần nhập đơn giá", vbExclamation, "Chó ý"
Exit Sub
End If
If txtngaythang.Text = "" Then
MsgBox " Bạn cần nhập ngày tháng", vbExclamation, "Chó ý"
Exit Sub
End If
If txttennv.Text = "" Then
MsgBox " Bạn cần chọn nhân viên ", vbExclamation, "Chó ý"
Exit Sub
End If
cmdSavehd_Click
If bAdd Then Them Else: Sua
bStatus = False
Reset_Form True
' Tinh tong tien
OpenDB "Select sum(ThanhTien) from PNKchitiet where MaPNK='" & txtID.Text & "'"
txttongtien.Text = rs.Fields(0)
CloseDB
' Update tong tien
OpenDB "select * from PhieuNhap where MaPNK='" & txtID.Text & "'"
rs!tongtien = txttongtien.Text
rs.Update
CloseDB
Grid.Enabled = True
End Sub
Private Sub cmdSavehd_Click()
If badd1 Then
Themhd
End If
End Sub
Private Sub cmdSua_Click()
bAdd = False
bStatus = True
cbo2.Locked = True
cbo1.Locked = True
txtngaythang.Locked = True
txtlido.Locked = True
Reset_Form False
Grid.Enabled = True
cmdSave.Default = True
cmdCancel.Cancel = True
End Sub
Private Sub cmdThem_Click()
bAdd = True
bStatus = True
Reset_Form True
cbo1.Locked = False
Grid.Enabled = False
cmdSave.Default = True
cmdCancel.Cancel = True
End Sub
Private Sub cmdThoat_Click()
frmlistphieunhap.Show
Unload Me
rsnv.Close
rshang.Close
End Sub
Private Sub cmdXoa_Click()
Xoa
End Sub
Private Sub Xoa()
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 & "'"
'Delete
rs.Delete
CloseDB
OpenDB "select * from BieuGhi where MaMH='" & cbo1.Text & "' and MaPNK='" & txtID.Text & "'"
rs.Delete
CloseDB
Reset_Form True
End If
tongtien
sFilter = " WHERE MaPNK = '" & txtID.Text & "'"
loadGrid sFilter
Grid.Refresh
End Sub
Private Sub Form_Activate()
sFilter = " WHERE MaPNK = '" & txtID.Text & "'"
loadGrid sFilter
End Sub
Private Sub Form_Load()
'SetFont Me
CenterMDI frmmain, Me
If badd1 = True Then
OpenDB "select * from PNKchitiet"
txtID.Text = CreateID("MaPNK", rs, "PNK0001")
CloseDB
End If
bStatus = False
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
End Sub
Private Sub loadGrid(Optional sFil As String = "")
Grid.clear
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)
Grid.Rows = 1
OpenDB "SELECT *" & _
" FROM PNKchitiet" & sFil
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
Loop
CloseDB
End Sub
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
End Sub
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)
End Sub
Private Sub Themhd()
OpenDB "select * from PhieuNhap"
Do While Not rs.EOF
If rs!MaPNK = txtID.Text Then
Exit Sub
End If
rs.MoveNext
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
CloseDB
'Reset_Form True
'loadGrid
End Sub
Private Sub Them()
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
CloseDB
' 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
CloseDB
Reset_Form True
sFilter = " WHERE MaPNK = '" & txtID.Text & "'"
loadGrid sFilter
Exit Sub
End If
rs.MoveNext
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
CloseDB
' 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
CloseDB
Reset_Form True
sFilter = " WHERE MaPNK = '" & txtID.Text & "'"
loadGrid sFilter
End Sub
Private Sub Sua()
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
CloseDB
' update vao bieu ghi
OpenDB "select * from BieuGhi where MaPNK='" & txtID.Text & "' and MaMH='" & cbo1.Text & "'"
rs!SLnhapTT = txtnhaptt.Text
rs!ThanhTien = txtthanhtien.Text
rs.Update
CloseDB
Reset_Form True
sFilter = " WHERE MaPNK = '" & txtID.Text & "'"
loadGrid sFilter
End Sub
Private Sub tongtien()
' Tinh tong tien
OpenDB "Select sum(ThanhTien) from PNKchitiet where MaPNK = '" & txtID.Text & "' "
'If rs.EOF = rs.BOF Then
'txttongtien.Text = "0"
'CloseDB
'Else
txttongtien.Text = rs.Fields(0)
CloseDB
' End If
' Update tong tien
OpenDB "select * from PhieuNhap where MaPNK='" & txtID.Text & "'"
rs!tongtien = txttongtien.Text
rs.Update
CloseDB
End Sub
Private Sub gandulieu()
'Gan du lieu cho dcbMahang
With rshang
.MoveFirst
Do While Not (.EOF Or .BOF)
cbo1.AddItem (.Fields(0).Value)
.MoveNext
Loop
End With
' Gan du lieu cho dcbManv
With rsnv
.MoveFirst
Do While Not (.EOF Or .BOF)
cbo2.AddItem (.Fields(0).Value)
.MoveNext
Loop
End With
End Sub
Private Sub txtdongia_Change()
If txtdongia.Text = "" Or txtnhaptt.Text = "" Then
txtthanhtien.Text = ""
Exit Sub
Else
txtthanhtien.Text = txtdongia.Text * txtnhaptt.Text
End If
End Sub
Private Sub txtdongia_KeyPress(KeyAscii As Integer)
Dim Tmp As String
Tmp = txtdongia.Text
Select Case Chr$(KeyAscii)
Case "0" To "9", Chr$(8)
Case "-"
If InStr(1, Tmp, "-") = 0 Then
If txtdongia.SelStart > 0 Then
KeyAscii = 0
End If
Else
KeyAscii = 0
End If
Case "."
If InStr(1, Tmp, ".") > 0 Then
KeyAscii = 0
End If
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub txtnhaptt_Change()
If txtdongia.Text = "" Or txtnhaptt.Text = "" Then
txtthanhtien.Text = ""
Exit Sub
Else
txtthanhtien.Text = txtdongia.Text * txtnhaptt.Text
End If
End Sub
Private Sub txtnhaptt_KeyPress(KeyAscii As Integer)
Dim Tmp As String
Tmp = txtnhaptt.Text
Select Case Chr$(KeyAscii)
Case "0" To "9", Chr$(8)
Case "-"
If InStr(1, Tmp, "-") = 0 Then
If txtnhaptt.SelStart > 0 Then
KeyAscii = 0
End If
Else
KeyAscii = 0
End If
Case "."
If InStr(1, Tmp, ".") > 0 Then
KeyAscii = 0
End If
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub txtnhapyc_KeyPress(KeyAscii As Integer)
Dim Tmp As String
Tmp = txtnhapyc.Text
Select Case Chr$(KeyAscii)
Case "0" To "9", Chr$(8)
Case "-"
If InStr(1, Tmp, "-") = 0 Then
If txtnhapyc.SelStart > 0 Then
KeyAscii = 0
End If
Else
KeyAscii = 0
End If
Case "."
If InStr(1, Tmp, ".") > 0 Then
KeyAscii = 0
End If
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub txtngaythang_Validate(Cancel As Boolean)
Dim d As Variant
d = txtngaythang.Text
If Not IsDate(d) Then
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"
Cancel = True
Exit Sub
txtngaythang.SetFocus
End If
End Sub
5.4 Lập trình xuất báo cáo
- Giao diện form báo cáo.
- Code 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
Private Sub cbo1_Change()
If cbo1.Text "" Then
OpenDB "select * from MatHang where MaMH='" & cbo1.Text & "'"
txttenmh.Text = rs.Fields("TenMH")
CloseDB
End If
End Sub
Private Sub cbo1_Click()
If cbo1.Text "" Then
OpenDB "select * from MatHang where MaMH='" & cbo1.Text & "'"
txttenmh.Text = rs.Fields("TenMH")
Text11.Text = rs.Fields("MaMH")
CloseDB
End If
End Sub.
Private Sub cbo2_Click()
If cbo2.Text "" Then
OpenDB "select * from PhieuNhap where MaPNK='" & cbo2.Text & "'"
Text12.Text = rs.Fields("MaPNK")
CloseDB
End If
End Sub
Private Sub cbo2_change()
If cbo2.Text "" Then
OpenDB "select * from PhieuNhap where MaPNK='" & cbo2.Text & "'"
Text12.Text = rs.Fields("MaPNK")
CloseDB
End If
End Sub
Private Sub cmdin_click()
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"
Exit Sub
End If
If (opt2.Value = True) And (opt1.Value = False) Then
If (txttungay.Text = "") Or (txtdenngay.Text = "") Then
MsgBox "Hay chon ngay thang", vbOKOnly, "Chu y"
Exit Sub
End If
If cbo1.Text = "" Then
MsgBox "Hay chon mat hang", vbOKOnly, "Chu y"
Exit Sub
End If
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!"
Exit Sub
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 = ""
End If
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!"
Exit Sub
End If
If (txttungay.Text = "") Or (txtdenngay.Text = "") Then
MsgBox "Hay chon ngay thang", vbOKOnly, "Chu y"
Else
Dim strSQL As String
'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
End If
End If
End Sub
Private Sub Form_Load()
Calendar1.Value = Date
Calendar2.Value = Date
rsmh.CursorLocation = adUseClient
rsmh.Open "select * from MatHang", cn, adOpenDynamic, adLockOptimistic
gandulieu
Label1.Visible = False
Label2.Visible = False
cbo1.Visible = False
txttenmh.Visible = False
End Sub
Private Sub gandulieu()
'Gan du lieu cho dcbMahang
With rsmh
.MoveFirst
Do While Not (.EOF Or .BOF)
cbo1.AddItem (.Fields(0).Value)
.MoveNext
Loop
End With
End Sub
Private Sub Form_Unload(Cancel As Integer)
Unload Me
rsmh.Close
End Sub
Private Sub Image1_Click(Index As Integer)
Set cboOriginator = txttungay
Calendar1.Visible = True
Calendar1.SetFocus
If Not IsNull(cboOriginator) Then
Calendar1.Value = cboOriginator.Text
Else
Calendar1.Value = Date
End If
End Sub
Private Sub Image2_Click(Index As Integer)
Set cboOriginator = txtdenngay
Calendar2.Visible = True
Calendar2.SetFocus
If Not IsNull(cboOriginator) Then
Calendar2.Value = cboOriginator.Text
Else
Calendar2.Value = Date
End If
End Sub
Private Sub Calendar1_Click()
txttungay.Text = Format(Calendar1.Value, "dd/mm/yyyy")
Calendar1.Visible = False
End Sub
Private Sub Calendar2_Click()
txtdenngay.Text = Format(Calendar2.Value, "dd/mm/yyyy")
Calendar2.Visible = False
End Sub
Private Sub opt2_Click()
If opt2.Value = True Then
Label1.Visible = True
Label2.Visible = True
cbo1.Visible = True
txttenmh.Visible = True
End If
End Sub
Private Sub opt1_Click()
If opt1.Value = True Then
Label1.Visible = False
Label2.Visible = False
cbo1.Visible = False
txttenmh.Visible = False
End If
End Sub
6. Quy trình Test
6.1 Lập kế hoạch Test
STT
Công việc
Nhân lực
(Người)
Thời gian
(ngày)
Người/ngày
1
Lập kịch bản Test
1
2
2
2
Thực hiện Test
2
4
8
3
Báo cáo quy trình
1
1
1
6.2 Lập kịch bản Test
Kịch bản
Mục đích
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áo
Test - case 7
Kiểm tra chức năng trợ giúp – hướng dẫn sử dụng
6.3 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
Các bước tiến hành:
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
Các bước thực hiện
Bước 1: Tạo user mới
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
Nhấn vào nút thêm
Cập nhật xong ấn nút lưu
Cập nhất thông tin mặt hàng
Bước 2: Sửa một danh mục
Bước 3: Xoá một danh mục
Nút xóa mặt hàng
- 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
- Chọn kiểu tìm kiếm:
-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
6.4 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.
7.Quy trình triển khai
7.1 Lập kế hoạch
STT
Công việc
Nhân lực
(Người)
Thời gian
(ngày)
Người/ngày
1
Lập giải pháp
1
1
1
2
Cài đặt và vận hành
1
1
1
3
Đào tạo sử dụng
1
4
3
4
Báo cáo triển khai
1
1
1
7.2 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.
7.3 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.
7.4 Đà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.
7.5 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
Hà Nội, ngày 15/11/2009
BIÊN BẢN TRIỂN KHAI
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
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
Hà Nội, ngày 20/11/2009
BIÊN BẢN THANH LÝ HỢP ĐỒNG PHẦN MỀM
I. Chi nhánh công ty ván gỗ ép MDF GiaLai ( Gọi tắt là “Bờn A” )
Địa chỉ : 32 – Đại Từ - Đại Kim – Hà Nội
Điện thoại : 04.35400826
Fax : 04.35400826
Người đại diện : Đinh Ngọc Xuân
Chức vụ : Giám đốc chi nhánh
II. Nhóm3 Tin học kinh tế 48 (Gọi tắt là “Bờn B”)
Địa chỉ : 207 Giải Phóng - Hai Bà Trưng - Hà Nội
Điện thoại : 04 36616186
Fax : 04 36616186
Người đại diện : Thiều Quang Huy
Chức vụ : Quản trị viên
Hôm nay, ngày 20/11/2009 chúng tôi gồm Thiều Quang Huy(đại diện bên B) và Đinh Ngọc Xuân (đại diện bên A ). Thống nhất các điều khoản sau:
1. Phần mềm do bên B cài đặt và bàn giao ngày 15.11.2009 sau 1,5 tháng đã hoạt động ổn định đúng cam kết trong hợp đồng.
2. Hai bên thoả thuận thanh lý hợp đồng. Bên B vẫn sẽ chịu trách nhiệm bảo hành phần mềm trong vòng 1 năm tớnh từ ngày 20.11.2008.
3. Biên bản thanh lý hợp đồng sẽ được in ra làm 2 bản, mỗi bên giữ một bản.
Đại diện bên A Đại diện bên B
Các file đính kèm theo tài liệu này:
- doko_vn_bai_tap_nhom_xay_dung_phan_me_6656.doc