Đề án Quản lý thiết bị vật tư

Mục lục Mục lục 1 LỜI NÓI ĐẦU 4 Chương 1. KHẢO SÁT NGHIỆP VỤ TẠI CÔNG TY. 6 1.1. GIỚI THIỆU CÔNG TY TNHH BÌNH MINH. 6 1.2. SƠ ĐỒ TỔ CHỨC CÔNG TY. 7 1.3. MỤC ĐÍCH YÊU CẦU BÀI TOÁN. 8 1.3.1. Mục đích. 8 1.3.2. Yêu cầu. 8 1.4. NỘI DUNG PHƯƠNG PHÁP THỰC HIỆN. 9 1.5. NGHIỆP VỤ QUẢN LÝ VẬT TƯ HIỆN TẠI. 9 1.6. MỘT SỐ MẪU BIỂU CỦA CÔNG TY. 12 1.7. DANH SÁCH THIẾT BỊ VẬT TƯ CỦA CÔNG TY. 14 1.8. HIỆN TRẠNG VÀ GIẢI PHÁP KHẮC PHỤC. 18 1.8.1. Hiện trạng. 18 1.8.2. Giải pháp khắc phục 19 Chương 2. CÔNG CỤ CÀI ĐẶT 20 2.1. NGÔN NGỮ LẬP TRÌNH C# 20 2.1.1. Chương trình đầu tiên ! 21 2.1.2. Biến và Hằng 21 2.1.3. Kiểu dữ liệu trong C# 22 2.1.4. Câu lệnh điều kiện 24 2.1.5. Lớp 26 2.1.6. Operators 27 2.1.7. Operator Shortcuts 28 2.1.8. Operator Precedence 29 2.1.9. Namespaces 29 2.2. TÌM HIỂU VỀ SQL SERVER 2005 EXPRESS. 31 2.2.1. Tổng quan về cơ sở dữ liệu 31 2.2.2. Giới thiệu về SQL Server 2005 Express. 34 Chương 3. PHÂN TÍCH THIẾT KẾ. 43 3.1. CÁC DỮ LIỆU CẦN QUẢN LÝ CỦA CHƯƠNG TRÌNH. 43 3.1.1. Các dữ liệu đầu vào. 43 3.1.2. Các dữ liệu đầu ra. 43 3.2. XÁC ĐỊNH YÊU CẦU NGHIỆP VỤ CỦA CÔNG TY. 44 3.2.1. Xác định yêu cầu của nhân viên nhập vật tư. 44 3.2.2. Xác định yêu cầu của nhân viên xuất vật tư. 44 3.2.3. Xác định yêu cầu của nhân viên quản lý kho. 44 3.2.4. Xác định yêu cầu của người quản trị. 44 3.3. SƠ ĐỒ DỮ LIỆU. 45 3.3.1. Sơ đồ ngữ cảnh. 45 3.3.2. Sơ đồ phân rã chức năng. 46 3.4. XÁC ĐỊNH CÁC THỰC THỂ. 55 3.4.1. Các thực thể 55 3.4.2. Một số quan hệ giữa các thực thể 58 3.5. XÂY DỰNG CÁC BẢNG CƠ SỞ DỮ LIỆU 62 3.5.1. Bảng Users. 62 3.5.2. Bảng Oders. 62 3.5.3. Bảng VatTu. 62 3.5.4. Bảng NhomVatTu. 63 3.5.5. Bảng DonViTinh. 63 3.5.6. Bảng KhachHang. 63 3.5.7. Bảng NhomKhachHang. 64 3.5.8. Bảng PhieuNhap. 64 3.5.9. Bảng PhieuXuat. 64 3.5.10. Bảng PhieuThanhLy. 65 3.5.11. Bảng PhieuThuHoi. 65 3.5.12. Bảng ChiTietNhap. 66 3.5.13. Bảng ChiTietXuat. 66 3.5.15. Bảng ChiTietThuHoi. 67 3.5.16. Bảng DonGiaNgay. 67 3.5.17. Bảng TonKho. 68 3.5.18. Bảng QuyDoi 68 3.5.19. Bảng ThongTinCongTy. 68 3.6. MÔ HÌNH LIÊN KẾT CÁC BẢNG DỮ LIỆU. 69 Chương 4. THIẾT KẾ CHƯƠNG TRÌNH. 70 4.1. THIẾT KẾ FORM CHƯƠNG TRÌNH. 70 4.1.1. Giao diên chính 70 4.1.2. Giới thiệu một số form chương trình 72 KẾT LUẬN 86 TÀI LIỆU THAM KHẢO 87

doc87 trang | Chia sẻ: lvcdongnoi | Lượt xem: 4023 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề án Quản lý thiết bị vật tư, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
thử chương trình NGHIỆP VỤ QUẢN LÝ VẬT TƯ HIỆN TẠI. Các bộ phận nhân sự trong công ty có các nhiệm vụ sau: Giám đốc công ty có nhiệm vụ ký kết các hợp đồng, giao dịch thương mại, điều hành công ty, tìm ra hướng đi, cơ hội phát triển mới của công ty. Phó giám đốc: có nhiệm vụ tìm hiểu thị trường, mở mang giao dịch, thực hiện chu trình, kinh doanh sản phẩm Kế toán: có nhiệm vụ tổng hợp sổ sách, thanh toán lương, báo cáo thuế hàng tháng định kỳ Nhân viên trực thuộc bộ phận quản lý thiết bị vật tư gồm có Nhân viên nhập vật tư Nhận yêu cầu nhập thêm vật tư đã được phê duyệt của lãnh đạo để tiến hành nhập. Họ viết phiếu nhập kho cho số vật tư được yêu cầu, sau đó cập nhập vào sổ chi tiết nhập vật tư, liệt kê chi tiết chứng từ nhập vật tư. Số vật tư vừa mới được nhập vào kho phải được qua kiểm tra chất lượng, công việc này do nhân viên kỹ thuật đảm nhiệm. Sau đó, nhân viên báo cáo về tình hình thiết bị vật tư nhập về. Nhân viên xuất vật tư Nhân viên xuất vật tư theo yêu cầu xin được cấp phát vật tư của các đơn vị, tiến hành xuất vật tư. Tất cả các vật tư xuất ra đều có phiếu xuất, sau đó họ cập nhập vào sổ chi tiết xuất vật tư, báo cáo về các chứng từ liên quan đến vật tư đã xuất. Nhân viên kỹ thuật Có nhiệm vụ sửa chữa, bảo trì, bảo dưỡng, kiểm tra chất lượng các thiết bị. Đối với vật tư không còn khả năng sử dụng, hay bị hư hỏng thì sẽ được lên kế hoạch thanh lý hoặc bảo trì, bảo dưỡng. Nhân viên quản lý kho có nhiệm vụ ghi chép tất cả các thông tin liên quan đến vật tư. Họ tiến hành kiểm kê tổng số vật tư có trong kho. Nhân viên kho ghi thông tin vật tư vào sổ vật tư, quản lý số lượng hàng tồn kho, đưa ra báo cáo thống kê tổng hợp về thiết bị vật tư còn tồn trong kho (báo cáo định kỳ theo tháng, quý, năm, hoặc báo cáo theo yêu cầu của lãnh đạo). Đồng thời nhân viên quản lý kho phải cân đối vật tư trong kho với vật tư nhập, xuất. Nhân viên quản lý vật tư phải giữ các phiếu nhập, xuất, phiếu thu, phiếu chi và các giấy tờ liên quan đến vấn đồ án chính cho công việc bảo trì, sửa chữa hay thay mới, thanh lý vật tư… Đồng thời nhân viên quản lý vật tư phải có báo cáo chi tiết tất cả các công việc lên ban lãnh đạo, thống kê báo cáo thiết bị vật tư tồn, cân đối giữa vật tư tồn và xuất kho với tổng số vật tư có trong kho trước đó Thiết bị vật tư mới về được nhập vào kho vật tư của Công ty bằng phiếu nhập kho. Bộ phận quản lý kho căn cứ vào phiếu nhập kho để ghi vào sổ chi tiết nhập. Nhân viên kho sẽ tiến hành cập nhập thông tin về vật tư vào sổ chi tiết cho từng loại thiết bị vật tư và tiến hành phân loại. Thiết bị sau khi nhập vào kho, tùy theo yêu cầu sản xuất mà thủ kho sẽ làm thủ tục xuất kho cho các đơn vị theo Phiếu xuất kho. Mỗi loại thiết bị nhập, xuất kho đều được thủ kho quản lý bằng thẻ kho và ghi chép vào sổ chi tiết (sổ kho). Sau đó căn cứ vào số thiết bị vật tư ban đầu và số thiết bị vật tư đã xuất để có thể xác định được lượng hàng còn tồn trong kho. Vật tư được đưa ra sử dụng và vật tư còn tồn trong kho công ty luôn luôn phải có kế hoạch quản lý tình trạng vật tư để kịp thời xử lý. Quá trình quản lý này được chia ra các phần sau: Quản lý tình trạng vật tư có tại kho; tiến hành kiểm tra tình trạng vật tư hàng tháng, hàng quý, hàng năm. Sau khi kiểm tra phải có báo cáo tình trạng vật tư để lên kế hoạch thu hồi, bảo trì, sửa chữa hoặc thanh lý hay nhập mới vật tư. MỘT SỐ MẪU BIỂU CỦA CÔNG TY. PHIẾU NHẬP Mã phiếu:........................................................................................................ Họ tên Nhà phân phối:..................................................................................... Địa chỉ:............................................................................................................ Stt Mã thiết bị Tên thiết bị Đơn vị tính Số lượng Đơn giá Thuế Thành tiền 1 2 .. Ngày... tháng... năm.... Thủ kho Kí tên PHIẾU XUẤT Mã phiếu:....................................................................................................... Họ tên khách hàng.......................................................................................... Địa chỉ............................................................................................................ STT Mã thiết bị Tên thiết bị Đơn vị tính Số lượng Đơn giá Thành tiền Ngày...tháng...năm ……… Thủ kho Kí tên Đơn vị:...................... PHIẾU CHI số:......... Mẫu số …..... Địa chỉ:.......................... ngày...tháng....năm.... QĐ số 1141 TC/CĐKT Nợ:........................ Có:......................... Họ tên người nhận tiền:................................................................................. Địa chỉ:.......................................................................................................... Lý do chi:....................................................................................................... Số tiền:.......................................................đ (viết bằng chữ......................) Kèm theo:............................................................................. chứng từ gốc. Đã chi đủ tiền:............................................................................................ Ngày... tháng... năm... Thủ trưởng đơn vị Kí tên Kế toán trưởng Kí tên Người lập biểu Kí tên Thủ quỹ Kí tên Người nhận tiền Kí tên Đơn vị:...................... PHIẾU THU số:......... Mẫu số:.......... ngày... tháng....năm... QĐ số 84 TC/CĐKT Nợ:........................... Có:........................... Họ tên người nộp tiền:.................................................................................... Địa chỉ:.................................................................................................................. Lý do nộp............................................................................................................... Số tiền:.......................................................................đ (viết bằng chữ..........) Kèm theo:..................................................................................chứng từ gốc. ngày....tháng... năm... Thủ trưởng đơn vị Kí tên Kế toán trưởng Kí tên Người lập biểu Kí tên Thủ quỹ Kí tên Người nhận tiền Kí tên DANH SÁCH THIẾT BỊ VẬT TƯ CỦA CÔNG TY. Nhóm các thiết bị của công ty kinh doanh STT Nhóm Vật tư 1 Vật liệu xây dựng 2 Trang trí 3 Đồ điện tử 4 Đồ gia dụng 5 Đồ nhựa Danh sách chi tiết các thiết bị vật tư. STT Tên Vật tư Đơnvị tính Nhóm VT 1 Sơn lót Lít Trang trí 1.1 BOSS Exterior Alkall Resiter Sơn lót chống kiềm-Ngoại thất - - 1.2 BOSS Interrior Alkall Resiter Sơn lót chống kiềm- Nội thất - - 1.3 BOSS Interior Addition Pro moter Sealer Sơn lót gốc dầu (Chống vàng) - - 2 Sơn Nội Thất Lít - 2.1 SPRING & RAKEB Interior Sơn nội thất thông dụng mặt mờ - - 2.2 BOSS CEILING Finish Sơn nước siêu trắng trần - - 2.3 BOSS Interior Matt Finish Sơn nội thất thông dụng mặt mờ - - 2.4 BOSS Interior Matt Finish Sơn nội thất cao cấp mặt mờ - - 2.5 BOSS CLEAN MAX Sơn nước cao cấp chùi rửa được - - 2.6 BOSS Statin Finish Sơn nội thất cao cấp bong ngọc trai - - 3 Sơn Ngoại thất Lít - 3.1 Rakean Exterior Sơn ngoại thất thông dụng mặt mờ - - 3.2 BOSS Exterior Super Sheen Sơn ngoại thất bóng nhẹ - 3.3 BOSS Exterior Super Sheen Sơn ngoại thất cao cấp bong - - 3.4 BOSS Exterior Soventmore Sơn đặc biệt gốc dầu-Pha dầu hỏa (hoặc xylen - - 4 Bột bả tường - 4.1 DURA Wall Filler Ext Bột bả ngoại thất cao cấp Lít - 4.2 BOSS Wall Filler int & Ext Bột bả nội thất và ngoại thất cao cấp - - 4.3 SPRNG Powderr Putty int Bột bả nội thất - - -5 Xi măng Xây dụng 5.1 Xi măng đen bao PCB30 Hải Phòng Bao - 5.2 Xi măng đen bao PCB40 Hải Phòng - - 5.3 Xi măng bột PCB40 Hải Phòng - - 5.4 Xi măng Chifone - - 6 Cát đ/m3 - 6.1 Cát vàng bê tông Vĩnh Phú - - 6.2 Cát vàng xây trát Vĩnh Phú - - 6.3 Cát vàng xây trát Hòa Bình - - 6.4 Cát xây - - 6.5 Cát đen - - 7 Đá đ/m3 - Đá 1x2 chọn - - Đá 1x2 - - Đá 2x4 chọn - - Đá 2x4 - - Đá 4x6 - - Đá vụn xô bồ - - 8 Gạch Xây Viên - Gạch chỉ 2 lỗ loại A1 - - Gạch chỉ 2 lỗ loại A2 - - Gạch chỉ 2 lỗ loại A3 - - Gạch chỉ 2 đặc loại A1 - - Gạch chỉ 2 đặc loại A2 - - Gạch chỉ Hà Bắc - - 9 Gạch Ốp lát - Gạch lát nền Ceramic 40x40 màu sáng bóng viên - Gạch lát nền Ceramic 40x40 màu đậm men mát - Gạch lát nền Ceramic 25x25 màu sáng bóng - Gạch lát nền Ceramic 25x25màu đậm men mát - Gạch lát nền Ceramic 25x40 màu sáng bóng - Gạch lát nền Ceramic 25x40màu đậm men mát - - 10 Sắt, thép m - Thép xoắn Ø 10 - - Thép xoắn Ø 14 - - Thép xoắn Ø 16 - - Thép xoắn Ø 20 - - Thép xoắn Ø 22 - Thép xoắn Ø 25 - - 11 Ống nhựa Nhựa Dây điện Điện Bình nước nóng TANA- TITAN điện Chiếc Loại BT15- - gia dụng Máy nóng lạnh - - Tiểu nam- TT1 - - Tiểu treo- TT5 - - Bệt Vệ sinh VI28- PK - - Bệt Vệ sinh VI28- Athen - - Chậu rửa - - HIỆN TRẠNG VÀ GIẢI PHÁP KHẮC PHỤC. Hiện trạng. Hiện tại các công việc của công ty đều quản lý bằng phương pháp thủ công thô sơ. Tất cả các thao tác nhập xuất thiết bị vật tư, liên quan đến dữ liệu đều được nhân viên kho thu thập và thống kê trên giấy tờ, chính vì thế các loại giấy tờ, hồ sơ liên quan ngày càng gia tăng rất nhiều, đồng thời do sự phát triển của công ty nên số lượng thiết bị vật tư nhập và xuất ngày càng gia tăng, khối lượng công việc lớn và tính chất công việc phức tạp, do đó tạo nên sự khó khăn cho công tác quản lý rất nhiều. Công việc quản lý bằng thủ công tạo rất nhiều khó khăn và áp lực, đòi hỏi phải giải quyết khối lượng công việc lớn mà cũng không thể tránh khỏi những nhầm lẫn, đồng thời với số lượng công việc như vậy phương pháp thủ công đòi hỏi mất rất nhiều thời gián để giải quyết. Việc lưu trữ thông tin thiết bị vật tư bằng giấy tờ ngày càng nhiều làm cho tủ sổ sách ngày càng gia tăng lên. Nếu người dùng muốn tìm kiếm thông tin có liên quan đến thiết bị vật tư nào đó hiện có trong kho thì lại phải tra cứu rất nhiều cuốn sổ lưu trữ khác nhau trong tủ sổ sách kia mới tìm ra thông tin. Muốn tìm thông tin về vật tư xuất, nhập và tồn kho thì lại mất rất nhiều thời gian tra cứu thông tin trên các phiếu nhập, xuất vật tư theo thời gian. Thao tác cân đối giữa nhập mới và xuất vật tư lại phải được nhân viên kho thực hiện thủ công. Muốn làm được việc này nhân viên kho phải xem lại sổ sách ghi chi tiết việc nhập và xuất kho, từ đó xem lượng hàng tồn kho là bao nhiêu, hạn sử dụng của vật tư đã hết chưa Việc thống kê báo cáo cũng trở nên khó khăn vì mất nhiều thời gian lấy các thông tin từ các sổ ghi. Nhân viên làm báo cáo phải tự tay sao chép thông tin từ sổ ghi chép vật tư, sổ ghi nhập, xuất, thanh lý, thu hồi… Các hồ sơ giấy tờ lưu trữ thường hay bị hư hỏng, mất mát do điều kiện môi trường và do điều kiện ngoại cảnh, con người, vì thế khả năng mất mát thông tin là khó tránh khỏi. Giải pháp khắc phục Từ những tồn tại và khó khăn trên, đòi hỏi việc tin học hóa vấn đề quản lý là hết sức cần thiết và quan trọng, cụ thể là xây dựng một phần mềm quản lý trên hệ thống máy tính, cụ thể ở đây là chương trình “ Quản lý vật tư ”. Phần mềm xây dựng cần đáp ứng được đầy đủ các yêu cầu nghiệp vụ quản lý, và khắc phục được những tồn tại của hệ thống quản lý hiện tại mắc phải. Chương trình phần mềm phải dễ sử dụng, thao tác nhanh, giao diện thân thiện với người dùng Phần mềm phải đáp ứng được các thao tác về dữ liệu như nhập mới, thêm, sửa, xóa, thống kê báo cáo. Phần mềm phải có chức năng cho phép người dùng tra cứu tìm kiếm thông tin vật tư đang sử dụng, thanh lý, nhập mới… Phải đảm bảo được tính bảo mật thông tin ở mức cao nhất có thể. Điều này thể hiện ở việc phân loại người dùng khi đăng nhập hệ thống, cấp quyền cho người truy cập hệ thống CÔNG CỤ CÀI ĐẶT NGÔN NGỮ LẬP TRÌNH C# C# là một ngôn ngữ rất đơn giản, với khoảng 80 từ khoá và hơn mười kiểu dữ liệu dựng sẵn, nhưng C# có tính diễn đạt cao. C# hỗ trợ lập trình có cấu trúc, hướng đối tượng, hướng thành phần (component oriented). Định nghĩa lớp trong C# không đòi hỏi tách rời tập tin tiêu đề với tập tin cài đặt như C++. Hơn thế, C# hỗ trợ kiểu sưu liệu mới, cho phép sưu liệu trực tiếp trong tập tin mã nguồn. Đến khi biên dịch sẽ tạo tập tin sưu liệu theo định dạng XML. C# hỗ trợ khái niệm giao diện, interfaces (tương tự Java). Một lớp chỉ có thể kế thừa duy nhất một lớp cha nhưng có thế cài đặt nhiều giao diện. C# có kiểu cấu trúc, struct (không giống C++). Cấu trúc là kiểu hạng nhẹ và bị giới hạn. Cấu trúc không thể thừa kế lớp hay được kế thừa nhưng có thể cài đặt giao diện. C# cung cấp những đặc trưng lập trình hướng thành phần như property, sự kiện và dẫn hướng khai báo (được gọi là attribute). Lập trình hướng component được hỗ trợ bởi CLR thông qua siêu dữ liệu (metadata). Siêu dữ liệu mô tả các lớp bao gồm các phương thức và thuộc tính, các thông tin bảo mật …. C# cũng cho truy cập trực tiếp bộ nhớ dùng con trỏ kiểu C++, nhưng vùng mã đó được xem như không an toàn. CLR sẽ không thực thi việc thu dọn rác tự động các đối tượng được tham chiếu bởi con trỏ cho đến khi lập trình viên tự giải phóng. Chương trình đầu tiên ! Chương này ta sẽ tạo, biên dịch và chạy chương trình “Hello World” bằng ngôn ngữ C#. Phân tích ngắn gọn chương trình để giới thiệu các đặc trưng chính yếu trong ngôn ngữ C#. Ví dụ Chương trình Hello World class HelloWorld { Static void Main( ) { // sử dụng đối tượng console của hệ thống System. Console. WriteLine("Hello World"); } } Biến và Hằng Biến Một biến dùng để lưu trữ giá trị mang một kiểu dữ liệu nào đó. Cú pháp C# sau đây để khai báo một biến :   [ modifier ] datatype identifer ; Phạm vi hoạt động của biến (Variable Scope): là vùng đoạn mã mà từ đấy biến có thể được truy xuất. Trong một phạm vi hoạt động (scope), không thể có hai biến cùng mang một tên trùng nhau. Hằng: Một hằng (constant) là một biến nhưng giá trị không thể thay đổi được suốt thời gian thi hành chương trình. Đôi lúc ta cũng cần có những giá trị bao giờ cũng bất biến.  Thí dụ const int a=100; // giá trị này không thể bị thay đổi Kiểu dữ liệu trong C# Các kiểu Integer: Name CTS Type Description Range(min:max) sbyte System. SByte 8-bit signed integer -128:127 (-27:27-1) short System. Int16 16-bit signed integer -32, 768:32, 767 (-215:215-1) int System. Int32 32-bit signed integer -2, 147, 483, 648:2, 147, 483, 647 (-231:231-1) long System. Int64 64-bit signed integer -9, 223, 372, 036, 854, 775, 808: 9, 223, 372, 036, 854, 775, 807 (-263:263-1) byte System. Byte 8-bit signed integer 0:255 (0:28-1) ushort System. UInt16 16-bit signed integer 0:65, 535 (0:216-1) uint System. UInt32 32-bit signed integer 0:4, 294, 967, 295 (0:232-1) ulong System.UInt64 64-bit signed integer 0:18, 446, 744, 073, 709, 551, 615(0:264-1) Kiểu dữ liệu số dấu chấm di động (Floating Point Types) Name CTS Type Description Significant Figures Range (approximate) Float System. Single 32-bit single-precision floating- point 7 ±1. 5 × 10-45 to ±3. 4 × 1038 Double System. Double 64-bit double-precision floating- point 15/16 ±5. 0 × 10-324 to ±1. 7 × 10308 Kiểu dữ liệu số thập phân (Decimal Type): Name CTS Type Description Significant Figures Range (approximate) decimal System. Decimal 128-bit high precision decimal notation 28 ±1. 0 × 10-28 to ±7. 9 × 1028 Kiểu Boolean : Name CTS Type Value Bool System. Boolean true or false Kiểu Character Type: Name CTS Type Value char System. Char Represents a single 16-bit (Unicode) character Kiểu tham khảo tiền định nghĩa: Name CTS Type Description object System. Object The root type, from which all other types in the CTS derive (including value types) string System. String Unicode character string Các ký tự escape thông dụng: Escape Sequence Character \' Single quote \" Double quote \\ Backslash \0 Null \a Alert \b Backspace \f Form feed \n Newline \r Carriage return \t Tab character \v Vertical tab Câu lệnh điều kiện Câu lệnh điều kiện if : Cú pháp như sau: if (condition) statement(s) [else statement(s)] Câu lệnh switch Các câu lệnh if nằm lồng rất khó đọc, khó gỡ rối. Khi bạn có một loạt lựa chọn phức tạp thì nên sử dụng câu lệnh switch. Cú pháp như sau: switch (biểu thức) { casce biểu thức ràng buộc: câu lệnh câu lệnh nhảy [default: câu lệnh mặc định] } Vòng lặp for: cú pháp: for (initializer; condition; iterator) statement(s) Vòng lặp while (The while Loop) Cú pháp như sau : while(condition) statement(s); Vòng lặp do... while (The do…while Loop) do { // Vòng lặp này sẽ thực hiện ít nhất một lần thậm chí nếu câu điều kiện sai MustBeCalledAtLeastOnce(); condition = CheckCondition(); } while (condition); Vòng lặp foreach (The foreach Loop) Cho phép bạn rảo qua tất cả các phần tử bản dãy hoặc các tập hợp khác, và tuần tự xem xét từng phần tử một. Cú pháp như sau: foreach (type identifier in expression) statement Câu lệnh break Ta dùng câu lệnh break khi muốn ngưng ngang xương việc thi hành và thoát khỏi vòng lặp. Câu lệnh continue Câu lệnh continue được dùng trong vòng lặp khi bạn muốn khởi động lại một vòng lặp nhưng lại không muốn thi hành phần lệnh còn lại trong vòng lặp, ở một điểm nào đó trong thân vòng lặp. Câu lệnh return Câu lệnh return dùng thoát khỏi một hàm hành sự của một lớp, trả quyền điều khiển về phía triệu gọi hàm (caller). Nếu hàm có một kiểu dữ liệu trả về thì return phải trả về một kiểu dữ liệu này; bằng không thì câu lệnh được dùng không có biểu thức. Lớp Class tạo nên một chương trình lớn trong C#. Tuy nhiên nó thực sự có khả năng viết một chương trình mà không sử dụng đến lớp. Lớp là một khuôn mẫu thiết yếu mà chúng ta cần tạo ra đối tượng. Mỗi đối tượng chứa dữ liệu và các phương thức chế tác truy cập dữ liệu. Lớp định nghĩa cái mà dữ liệu và hàm của mỗi đối tượng riêng biệt (được gọi là thể hiện) của lớp có thể chứa. Ví dụ chúng ta có một lớp miêu tả một khách hàng nó được định nghĩa các trường như CustomerID, FirstName, LastName, và Address, cái mà chúng ta giữ thông tin cụ thể khách hàng. Nó cũng có thể được miêu tả bởi các hành động trong các trường dữ liệu. Hàm thành phần (Function Members): Modifier Description new Phương thức ẩn một phương thức kế thừa với cùng kí hiệu public Phương thức có thể được truy cập bất kỳ protected Phương thức có thể bị truy xuất không từ lớp nó thuộc hoặc từ lớp dẫn xuất; internal Phương thức có thể được truy cập không cùng assembly private Phương thức có thể được truy cập từ bên trong lớp nó phụ thuộc static Phương thức có thể không được tính trên trên một lớp thể hiển cụ thể virtual Phương thức bị ghi đè bởi một lớp dẫn xúât abstract Phương thức trừu tượng override Phương thức ghi đè một phương thức ảo kế thừa hoặc trừu tượng. sealed Phương thức ghi đè một phương thức ảo kế thừa, nhưng không thể bị ghi đè từ lớp kế thừa này extern Phương thức được thực thi theo bên ngoài từ một ngôn ngữ khác Operators Category Operator Arithmetic + - * / % Logical & | ^ ~ && || ! String concatenation + Increment and decrement ++ -- Bit shifting > Comparison == != = Assignment = += -= *= /= %= &= |= ^= >= Member access (for objects and structs) . Indexing (for arrays and indexers) [] Cast () Conditional (the Ternary Operator) ?: Object Creation new Type information sizeof (unsafe code only) is typeof as Overflow exception control checked unchecked Indirection and Address * -> & (unsafe code only) [] Operator Shortcuts Shortcut Operator Tương đương x++, ++x x = x + 1 x--, --x x = x - 1 x += y x = x + y x -= y x = x – y x *= y x = x * y x /= y x = x / y x %= y x = x % y x >>= y x = x >> y x <<= y x = x << y x &= y x = x & y x |= y x = x | y x ^= y x = x ^ y Operator Precedence Group Operators (). [] x++ x-- new typeof sizeof checked unchecked Unary + - ! ~ ++x --x and casts Multiplication/Division * / % Addition/Subtraction + - Bitwise shift operators > Relational = is as Comparison == != Bitwise AND & Bitwise XOR ^ Bitwise OR | Boolean AND && Boolean OR || Ternary operator ?: Assignment = += -= *= /= %= &= |= ^= >= >>>= Namespaces Namespace cung cấp cho ta cách mà chúng ta tổ chức quan hệ giữa các lớp và các kiểu khác. Namespace( địa bàn hoạt động của các tên) là cách mà. NET tránh né việc các tên lớp, tên biến, tên hàm.. đụng độ vì trùng tên giữa các lớp. Câu lệnh using Từ khoá using giúp bạn giảm thiểu việc phải gõ những namespace trước các hàm hành sự hoặc thuộc tính Bí danh Namespace Một cách sử dụng khác từ khoá using là gán những bí danh cho các lớp và namespace. Nếu bạn có 1 namespace dài lê thê mà bạn muốn quy chiếu nhiều chỗ trên đoạn mã. bạn có thể gán một alias cho namespace. Cú pháp :using alias = NamespaceName; TÌM HIỂU VỀ SQL SERVER 2005 EXPRESS. Tổng quan về cơ sở dữ liệu Các khái niệm Cơ sở dữ liệu (Database): là một tập hợp các dữ liệu tác nghiệp của một đơn vị, một doanh nghiệp hay một cá nhân, được lưu lại và được sử dụng bởi các hệ thống ứng dụng của đơn vị, doanh nghiệp hay cá nhân ấy. Cơ sở dữ liệu còn được hiểu là một tập hợp các thông tin được tổ chức hợp lý để có thể truy xuất nhanh khi cần sử dụng. Thực thể (Entity): là một đối tượng cần quan tâm trong công tác quản lý, nó có thể là: Cụ thể: một nhân viên, một tổ chức, một hoá đơn,… Trừu tượng: một môn học, một khoa trong trường đại học,… Dữ liệu quan hệ (Relation Data): là dữ liệu được tổ chức thành các bảng gồm các hàng và các cột. Mỗi bảng ứng với một kiểu thực thể. Trong một bảng, mỗi cột biểu diễn một thuộc tính của thực thể, mỗi hàng thể hiện đầy đủ các dữ liệu về một thực thể cụ thể. Cơ sở dữ liệu quan hệ (Relation Database): là cơ sở dữ liệu sử dụng mô hình dữ liệu quan hệ (Relation Data Model) như: Access, SQL Server, Oracle, My SQL,… Hệ quản trị cơ sở dữ liệu (Relation Database Management System – RDMS): là hệ thống giúp các nhà quản trị làm việc với cơ sở dữ liệu như Microsoft Access, Microsoft SQL Server 2005 Express, … Trường dữ liệu (Data Field): là dữ liệu để mô tả một đặc trưng nào đó của thực thể ( họ tên, ngày sinh,…) hoặc để phân biệt thực thể này với thực thể khác (mã sinh viên, mã sách,…). Kiểu dữ liệu (Data Type): là một khái niệm trừu tượng, được đặc trưng bởi độ lớn và miền giá trị. Nó có thể là: text, numeric, datetime, int,… Mối quan hệ (Relation): là sự mô tả sự liên hệ giữa các phần tử của các tập thực thể với nhau, chúng là các gắn kết các tập thực thể với nhau, có các kiểu quan hệ như sau: Kiểu quan hệ 1-1: mỗi thực thể của tập thực thể này có liên hệ với một thực thể của tập thực thể kia. Kiểu quan hệ 1-n: mỗi thực thể của tập thực thể này có liên hệ với nhiều thực thể của tập thực thể kia. Kiểu quan hệ m-n: m thực thể của tập thực thể này có liên hệ với n thực thể của tập thực thể kia. Quan hệ này thường được tách ra thành các quan hệ 1-1 và 1-n. Lược đồ quan hệ (Relation Diagram): lược đồ quan hệ là sự hợp thành bởi hai yếu tố: Một cấu trúc, gồm tên quan hệ và một danh sách các thuộc tính. Một tập hợp các ràng buộc, tức là các điều kiện mà mọi quan hệ trong lược đồ đều phải thoả mãn. Phụ thuộc hàm bắc cầu: Cho lược đồ quan hệ R và tập phụ thuộc hàm F xác định trên R; X, Y ÍR, AÎR. Nếu ta có: X à Y, Y àA và AÏXY thì ta nói A phụ thuộc hàm bắc cầu vào X. A được gọi là thuộc tính phụ thuộc bắc cầu, Y là các thuộc tính cầu. Các dạng chuẩn dữ liệu Có 3 dạng chuẩn cơ bản (Normal Form - NF): Dạng chuẩn 1 (1NF): lược đồ quan hệ chỉ chứa các thuộc tính đơn (không còn thuộc tính lặp). Dạng chuẩn 2 (2NF): là dạng chuẩn 1 và mọi thuộc tính không khoá của lược đồ quan hệ phải phụ thuộc hàm đầy đủ vào khoá chính. Dạng chuẩn 3 (3NF): là dạng chuẩn 2 và lược đồ quan hệ không tồn tại thuộc tính không khoá phụ thuộc hàm bắc cầu vào khoá. Phương pháp chuẩn hoá dữ liệu Trường hợp quan hệ chưa là 1NF: Lúc này, lược đồ quan hệ tồn tại các thuộc tính lặp. Khi đó ta tách lược đồ quan hệ thành hai lược đồ quan hệ con: Lược đồ quan hệ 1: gồm các thuộc tính lặp và khoá chính xác định chúng. Lược đồ quan hệ 2: gồm các thuộc tính còn lại và khoá chính. Trường hợp quan hệ chưa là 2NF: Lúc này, lược đồ quan hệ tồn tại thuộc tính không khoá phụ thuộc không đầy đủ vào khoá chính. Khi đó ta tách lược đồ quan hệ thành hai lược đồ quan hệ con: Lược đồ quan hệ 1: gồm các thuộc tính phụ thuộc không đầy đủ vào khoá chính và phần khoá bị phụ thuộc. Lược đồ quan hệ 2: gồm các thuộc tính còn lại và khoá chính. Trường hợp quan hệ chưa là 3NF (đang là 2NF): Lúc này, trong lược đồ quan hệ tồn tại phụ thuộc hàm bắc cầu. Khi đó ta tách lược đồ quan hệ thành hai lược đồ quan hệ con: Lược đồ quan hệ 1: gồm các thuộc tính phụ thuộc bắc cầu và thuộc tính cầu. Lược đồ quan hệ 2: gồm các thuộc tính còn lại và thuộc tính cầu. Giới thiệu về SQL Server 2005 Express. Tổng quan SQL Server 2005 Express là phiên bản đặc biệt của SQL Server 2005, sản phẩm của hãng phần mềm Microsoft. Sở dĩ có tên như vậy là vì hệ quản trị cơ sở dữ liệu này sử dụng công cụ quản lý cơ sở dữ liệu theo phong cách Express (nhanh). SQL Server 2005 cải tiến khả năng quản lý và bảo mật thông qua việc cung cấp cho toàn quyền viên nhiều công cụ điều khiển hơn trên những thể hiện cục bộ và từ xa của SQL Server. Microsoft SQL Server 2005 Express Edition miễn phí, dễ sử dụng, gọn nhẹ, và khả nhúng, là một trong những hệ quản trị cơ sở dữ liệu quan hệ hàng đầu hiện nay. Ngoài SQL Server 2005 Express ra thì SQL Server 2005 còn có các phiên bản khác là: SQL Server 2005 Enterprise Edition SQL Server 2005 Standard Edition SQL Server 2005 Workgroup Edition Với SQL Server 2005 Express, quản trị viên có thể: Xây dựng những ứng dụng điều khiển dữ liệu linh hoạt và đáng tin cậy với môi trường thao tác quản lý dữ liệu trực quan, đơn giản. Hỗ trợ các Website động (tương tác với người dùng), hỗ trợ sẵn XML trong cơ sở dữ liệu để đảm bảo Website có thể tương tác với những ứng dụng khác thông qua các dịch vụ Web. Tạo ra các báo cáo một cách nhanh chóng, với những bảng, những biểu đồ, đồ hoạ, và nhúng chúng trong các ứng dụng. Đơn giản hoá thao tác triển khai và phục vụ của cơ sở dữ liệu tác nghiệp. Các đặc trưng của SQL Server 2005 Express Dễ cài đặt và quản lý: Download nhanh, miễn phí tại địa chỉ: com/sql/2005 Đơn giản hoá việc cài đặt giao diện người dùng. Nhúng tốt, triển khai hợp nhất Cơ sở dữ liệu phân tán: Dễ sao lưu, di chuyển cơ sở dữ liệu Hỗ trợ các giao dịch phân tán Hỗ trợ XML: Có sẵn kiểu dữ liệu XML Hỗ trợ dữ liệu có cấu trúc và nửa cấu trúc Hỗ trợ truy vấn XML và lược đồ XML Cung cấp nhiều chức năng cơ sở dữ liệu: Diagrams (lược đồ quan hệ): Stored procedures (thủ tục nội trú), Functions (hàm) Tables (bảng), Views (khung nhìn) Triggers (bẫy lỗi) Kiểu dữ liệu Cursor (con trỏ) Indexes (các chỉ số mở rộng) Advanced query (truy vấn nâng cao) Hỗ trợ Transact-SQL Các dịch vụ tìm kiếm và báo cáo,… Tích hợp sâu trong Visual Studio 2005: Thiết kế, cập nhật và truy vấn cơ sở dữ liệu ngay trong môi trường của Visual Studio. Truy nhập dữ liệu với ADO.NET. Bảo mật cao: Bảo mật theo các thiết lập mặc định, các phân quyền. Bảo mật nhờ các Stored Procedure (thủ tục nội trú), hỗ trợ Active Directory (thư mục tích cực). Các kiểu dữ liệu trong SQL Server 2005 Kiểu dữ liệu Bytes Diễn giải Bigint 8 Dữ liệu số nguyên có giá trị từ -263 đến 263-1 Binary Dữ liệu nhị phân có chiều dài cố định, tối đa 8000 bytes Bit 1 Dữ liệu bít có giá trị 0 (False) hay 1 (True) Char Dữ liệu ký tự Non-Unicode chiều dài cố định, tối đa 8000 ký tự DateTime 8 Dữ liệu ngày tháng, có giá trị từ 01/01/1753 đến 31/12/9999 Decimal Số từ -1038-1 đến 1038-1 Float Số từ -1.79E+308 đến -1.79E+308 Image Dữ liệu nhị phân có chiều dài biến đổi, tối đa 232-1 bytes Int 4 Dữ liệu số nguyên có giá trị từ -232 đến 232-1 Money 8 Kiểu dữ liệu tiền tệ, có giá trị từ-263 đến 263 Nchar Dữ liệu ký tự Unicode chiều dài cố định, tối đa 4000 ký tự Ntext Dữ liệu ký tự Unicode chiều dài biến đổi, tối đa 1,073,741,823 ký tự Numeric Tương tự Decimal nhưng chỉ dùng trong SQL Nvarchar Dữ liệu ký tự Unicode chiều dài biến đổi, tối đa 4000 ký tự Nvarchar(MAX) Dữ liệu ký tự Unicode chiều dài biến đổi > 4000 ký tự Real Số từ -1.18E – 38 đến 0 và 1.18E - 38 đến 3.40E + 38 SmallDateTime 4 Dữ liệu ngày tháng, có giá trị từ 01/01/1990 đến 31/12/2079 SmallInt 2 Dữ liệu số nguyên có giá trị từ -216 đến 216-1 SmallMoney 4 Kiểu dữ liệu tiền tệ, có giá trị từ-231 đến 231 Sql_variant Kiểu dữ liệu tuỳ biến Text Dữ liệu ký tự Non-Unicode chiều dài biến đổi, tối đa 2,147,483,647 ký tự TimeStamp TinyInt 1 Dữ liệu số nguyên có giá trị từ 0 đến 255 UniqueIndentifier 16 Nhận dạng toàn cục duy nhất theo không gian và thời gian Varbinary Dữ liệu nhị phân có chiều dài biến đổi, tối đa 8000 bytes Varbinary(MAX) Dữ liệu nhị phân có chiều dài biến đổi >8000 bytes Varchar Dữ liệu ký tự Non-Unicode chiều dài biến đổi, tối đa 8000 ký tự Varchar(MAX) Dữ liệu ký tự Non-Unicode chiều dài biến đổi > 8000 ký tự Xml Dữ liệu XML (eXtensible Markup Language), lưu trữ tối đa 2 GB Làm việc với SQL Server 2005 Express Với SQL Server, người dùng có thể lập trình xử lý dữ liệu ngay trong cơ sở dữ liệu, cụ thể là việc tạo ra các Trigger, Store procedures, Function,…Khi lập trình cho cơ sở dữ liệu SQL Server cần có những hiểu biết cơ bản như sau: Cách khai báo biến: DECLARE @, [@] Ví dụ: DECLARE @Age, @Number Int Các hàm hệ thống: Các hàm này có dạng @@TÊN, như @@ROWCOUNT (trả về số lượng mẩu tin có ảnh hưởng đến phát biểu SQL cuối cùng), @@DATEFIRST (trả về ngày đầu tiên trong tuần),... Thực thi câu lệnh SQL: EXEC () hoặc EXECUTE (). Ví dụ: EXEC (‘SELECT * FROM Student WHERE Age>21’) Xây dựng Stored Procedures: Stored Procedures được xây dựng bởi những phát biểu SQL và T-SQL, được lưu trữ như một phần của cơ sở dữ liệu dưới dạng một văn bản text. Khi cần thực thi chỉ cần gọi chúng như gọi một thủ tục hay một hàm. Cấu trúc của Stored Procedures như sau: USE GO CREAT PROC [@, [@]] AS Ví dụ: USE Account GO CREAT PROC sp_ShowCust AS SELECT CustNo, CustName, CustCity FROM tblCustomer Thực thi Stored Procedures: EXEC Ví dụ: EXEC sp_ShowCust Thay đổi Stored Procedures bằng câu lệnh: Tương tự phần tạo Stored Procedures, chỉ khác là sử dụng từ khoá ALTER thay cho từ khoá CREATE Xoá Stored Procedures bằng câu lệnh DROP PROC . Ví dụ: USE Account GO DROP PROC sp_ShowCust Phát biểu điều khiển: Nhìn vào khía cạnh lập trình thì SQL cũng sử dụng các phát biểu thông dụng như: IF…ELSE, GOTO, WHILE, CASE, WAITFOR, RETURN,… Các phát biểu điều kiện này thường được dùng trong các Stored Procedure. Ở đây cần chú ý phát biểu WAITFOR dùng để chỉ thị cho SQL tạm dừng một thời gian nhất định trước khi xử lý tiếp các phát biểu sau, cú pháp có dạng như sau: WAITFOR DELAY (chờ trong khoảng thời gian)| TIME (chờ cho đến thời gian) Ví dụ 1: WAITFOR DELAY ’01:00’ Ví dụ 2: WAITFOR TIME ’01:00’ Xây dựng Functions: Một Function có thể trả về một giá trị hoặc một bảng. Cú pháp để tạo ra một Function như sau: CREAT FUNCTION [dbo.] ( [ ,[] ] ) RETURNS | TABLE AS BEGIN RETURN (kiểu dữ liệu trong mệnh đề RETURNS) | (‘câu lệnh SELECT’) END Ví dụ: Hàm trả về một giá trị: USE Account GO CREAT FUNCTION dbo.Dngay (@Date datetime) RETURN varchar(12) AS BEGIN RETURN CONVERT(varchar(12), @Date, 105) END Hàm trả về một bảng dữ liệu: USE Account GO CREAT FUNCTION dbo.Dngay (@Date datetime) RETURN TABLE AS RETURN ( SELECT * FROM tblCustomer WHERE Date>@Date ) Để xoá một Function chỉ cần dùng câu lệnh DROP FUNCTION. Ví dụ: USE Account GO DROP FUNCTION Dngay PHÂN TÍCH THIẾT KẾ. CÁC DỮ LIỆU CẦN QUẢN LÝ CỦA CHƯƠNG TRÌNH. Các dữ liệu đầu vào. Thông tin về vật tư, về nhóm vật tư, số lượng đơn giá của vật tư, tình trạng của chúng. Thông tin về khách hàng, về nhà phân phối cụ thể là tên, địa chỉ, đơn vị đại diện, mã số tài khoản, ngân hàng. Thông tin về công nợ đầu vào, số lượng hàng tồn kho. Thông tin về công ty, về nhân viên, về những người quản lý, chức danh và nhiệm vụ của họ, quyền truy cập hệ thống của họ. Các dữ liệu đầu ra. Báo cáo chi tiết vật tư, số lượng tồn kho, đã nhập và xuất bao nhiêu, doanh thu của chúng. Báo cáo chi tiết về khách hàng, danh sách các nhà phân phối, công nợ phải trả họ, đã nhập của họ những loại vật tư nào, số lượng, tổng chi, danh sách chi tiết các khách hàng đã mua vật tư của công ty, mua những loại vật tư nào, số lượng bao nhiêu, tổng tiền là bao nhiêu, công nợ phải trả của họ. Thống kê, báo cáo lương hàng tồn kho, công nợ phải trả, phải thu. Báo cáo đơn giá vật tư XÁC ĐỊNH YÊU CẦU NGHIỆP VỤ CỦA CÔNG TY. Xác định yêu cầu của nhân viên nhập vật tư. Nhân viên nhập vật tư yêu cầu hệ thống được xây dựng đáp ứng được việc nhập vật tư mới nhập về của công ty một cách nhanh chóng và thuận tiện, cho biết thông tin chi tiết của vật tư. Giao diện phải thân thiện, gần gũi rễ tiếp cận hệ thống, phải có hỗ trợ phím tắt để thao tác nhập dữ liệu được nhanh. Hệ thống phải đáp ứng được việc đưa ra phiếu nhập vật tư và ghi chi tiết vật tư khi vật tư được đáp ứng yêu cầu nhập. Phải báo cáo được chi tiết các hóa đơn nhập vật tư của các nhà phân phối theo thời gian lựa chọn. Xác định yêu cầu của nhân viên xuất vật tư. Nhân viên xuất vật tư yêu cầu hệ thống cho biết thông tin chi tiết về vật tư, cho phép cập nhập vật tư xuất ra, đồng thời ghi phiếu xuất vật tư khi vật tư được xuất kho, báo cáo chi tiết các hóa đơn xuất vật tư của khách hàng. Xác định yêu cầu của nhân viên quản lý kho. Nhân viên quản lý kho yêu cầu hệ thống cung cấp đầy đủ thông tin về vật tư, thông tin xuất, nhập, thanh lý, thu hồi vật tư, cho biết được thông tin công nợ phải trả khách hàng (các nhà phân phối) và công nợ phải thu của khách hàng. Để từ đó tổng hợp về vật tư tồn kho, công nợ xuất ra báo cáo để báo cáo lên ban lãnh đạo. Xác định yêu cầu của người quản trị. Người quản trị của hệ thống yêu cầu được xem tất cả các thông tin về nghiệp vụ của hệ thống. Người quản trị yêu cầu được đăng nhập hệ thống, quản lý thông tin người dùng, thêm người dùng mới, cấp quyền đăng nhập cho người dùng khi truy xuất hệ thống. SƠ ĐỒ DỮ LIỆU. Sơ đồ ngữ cảnh. Hệ thống Quản lý vật liệu xây dưng gồm có các tác nhân sau: Lãnh đạo: đăng nhập hệ thống, đưa ra yêu cầu báo cáo từ hệ thống, và hệ thống trả về báo cáo cho ban lãnh đạo. Nhân viên quản lý kho: Đăng nhập hệ thống, đưa ra yêu cầu thông tin về vật tư, gồm có thông tin chi tiết vật tư, thông tin nhập, xuất, thanh lý, thu hồi vật tư để từ đó tổng hợp vật tư tồn kho, cân đối giữa vật tư nhập, xuất và vật tư tồn kho. Hệ thống trả về các thông tin cho nhân viên quản lý kho yêu cầu Nhân viên nhập vật tư: Đăng nhập hệ thống, yêu cầu nhập vật tư mới về đến hệ thống, và hệ thống cung cấp thông tin nhập vật tư cho nhân viên để nhân viên cập nhập vật tư nhanh và hiệu quả. Nhân viên xuất vật tư: Đăng nhập hệ thống, yêu cầu xuất vật tư có trong kho từ hệ thống, hệ thống cung cấp thông tin về vật tư xuất cho nhân viên. 1. Hệ thống Sơ đồ phân rã chức năng. 1.1. Đăng nhập người dùng 1.3. Cập nhập người dùng 1.2. Thay đổi thông tin người dùng 1.3. Cập nhập thông tin công ty 2. Cập nhập danh mục 2.2. Cập nhập nhóm vật tư 2.1. Cập nhập vật tư 2.3. Cập nhập khách hàng 2.4. Cập nhập nhóm khách hàng 2.6. Cập nhập đơn giá ngày 2.5. Cập nhập đơn vị tính 2.7. Hình thức thanh toán. 3.1. Quản lý nhập vật tư 3. Quản lý kho vật tư 3.1.1. Yêu cầu nhập vật tư 3.1.2. Lập kế hoạch nhập vật tư 3.1.4. Cập nhập vật tư nhập 3.1.3. Cập nhật hóa đơn nhập vật tư nhập 3.2. Quản lý xuất vật tư 3.2.1. Lập kế hoạch xuất vật tư 3.2.3. Cập nhập vật tư xuất 3.2.2. Lập phiếu xuất vật tư 3.3. Quản lý thu hồi vật tư 3.3.2. Lập phiếu thu hồi vật tư 3.3.1. Lập kế hoạch thu hồi vật tư 3.3.3. Cập nhập vật tư thu hồi 3.4. Quản lý thanh lý vật tư 3.4.1. Lập kế hoạch thanh lý vật tư 3.4.2. Lập hóa đơn thanh lý vật tư 3.4.3. Cập nhập vật tư thanh lý 3.5. Tìm kiếm vật tư. 3.6. Tìm kiếm khách hàng. 4. Báo cáo thống kê 4.1. Báo cáo chi tiết mua hàng. 4.2. Báo cáo công nợ phải trả. 4.3. Báo cáo chi tiết bán hàng. 4.4. Báo cáo công nợ phải thu. 4.5. Thống kê hàng tồn kho. Chức năng quản lý người dùng. Người dùng muốn truy cập vào hệ thống Quản lý vật tư thì phải được cấp một tên truy, một mật khẩu, và quyền truy câp hệ thống. tên truy cập, mật khẩu và quyền truy cập hệ thống này được người quản trị cấp cho mỗi người dùng, người dùng sẽ dùng nó để truy cập hệ thống. Người quản trị là người có quyền cao nhất, quyền quản trị hệ thống, khi đăng nhập vào hệ thống, người quản trị có quyền thêm người dùng, thay đổi thông tin người dùng. Còn những người dùng khác tùy thuộc vào quyền được cấp để thao tác với hệ thống, những user này không được cập nhập người dùng, không được thay đổi thông tin người dùng. Chức năng cập nhập danh mục hệ thống. Chức năng này cho phép người dùng cập nhập danh mục vật tư, danh mục loại vật tư, danh mục khách hàng, danh mục nhóm khách hàng và danh mục đơn vị tính. Cập nhập danh mục vật tư cho phép người dùng tương tác với bảng cơ sở dữ liệu dm_vattu, them, sửa, xóa thông tin về vật tư. Cập nhập danh mục loại vật tư cho phép người dùng tương tác với bảng phân dm_nhomvt, cập nhập, them, sửa, xóa các nhóm vật tư. Cập nhập danh mục khách hàng cho phép người dùng tương tác với bảng dm_khachhang, cập nhập, thêm, sửa, xóa các khách hàng. Cập nhập danh mục nhóm khách hàng cho phép người dùng tương tác với bảng dm_nhomkh, cập nhập, thêm, sửa, xóa các khách hàng. Cập nhập danh mục đơn vị tính cho phép người dùng tương tác với bảng dm_donvitinh, cập nhập, thêm, sửa, xóa các khách hàng. Chức năng quản lý kho vật tư Quản lý nhập vật tư: Nhân viên quản lý kho vật tư thường xuyên thống kê lượng vật tư trong kho để cân đối lượng vật tư có trong kho để yêu cầu nhập vật tư. Nhân viên quản lý kho gửi yêu cầu xin nhập vật tư lên ban lãnh đạo, ban lãnh đạo ký phê duyệt và lập kế hoạch nhập vật tư về. Khi vật tư được nhập về và chuyển vào kho, thì nhân viên nhập tiến hành nhập vật tư về, ghi các thông tin nhập vật tư vào hóa đơn nhập. Quá trình này gọi là cập nhập hóa đơn nhập Quản lý xuất vật tư: Khi các đơn vị, các cơ sở có yêu cầu về vật tư. Quản lý kho lên kế hoạch xuất vật tư, kiểm tra số lượng hàng có trong kho, chất lượng có đủ để đáp ứng yêu cầu của các đơn vị không. Quá trình xuất vật tư được diễn ra. Số vật tư xuất ra được cập nhập vào hệ thống, quá trình này gọi là cập nhập vật tư xuất. Quản lý thu hồi vật tư: Quá trình này diễn ra khi nhân viên quản lý kho có yêu cầu thu hồi những vật tư đã đem ra sử dụng có thể do hỏng hóc hoặc do các đơn vị không sử dụng trong một thời gian quy định hoặc đã hết hạn sử dụng phải thu hồi. Vật tư được thu hồi về có thể tu sửa, bảo trì tái sử dụng hoặc cũng có thể thanh lý. Quá trình này được thực hiện qua các khâu như, nhân viên quản lý kho lập kế hoạch thu hồi, lập phiếu thu hồi vật tư. Sau khi thu hồi vật tư, thông tin vật tư thu hồi sẽ được cập nhập vào bảng chi tiết thu hồi và phiếu thu hồi. Quản lý thanh lý vật tư: Vật tư cần thanh lý được nhà quản lý kho lên kế hoạch trước, vật tư được thanh lý được cập nhập vào hóa đơn thanh lý và bảng chi tiết thanh lý. Căn cứ vào bảng thanh lý vật tư chúng ta có thể xác dịnh được số vật tư được thanh lý. Quản lý vật tư tồn kho: Căn cứ vào lượng hàng xuất, nhập, số hàng thanh lý mà nhà quản lý biết được lượng hàng tồn kho là bao nhiêu. Tất cả các dữ liệu được cập nhập các bảng dữ liệu tương ứng, bảng vật tư, bảng xuất vật tư, bảng nhập vật tư, bảng thanh lý vật tư. Điều quan trọng của quản lý vật tư tồn kho là xác định số lượng vật tư tồn kho là bao nhiêu, lượng tồn kho cũ và lượng tồn kho mới. Tìm kiếm vật tư: Thực hiện việc tìm kiếm vật tư theo yêu cầu của người dùng, xây dựng phần mềm tìm kiếm thông tin về vật tư phải linh hoạt, thuận tiện. Người dùng có thể dễ dàng tìm kiếm thông tin về vật tư như xuất, nhập, thu hồi, thanh lý…Chương trình cho phép tìm kiếm vật tư theo: Tìm kiếm theo mã: Người dùng nhập mã bất kỳ vào và tìm kiếm thông tin vật tư theo mã đã nhập. Tìm kiếm theo tên: Người dùng sẽ nhập tên vật tư cần tìm kiếm, hệ thống sẽ tra cứu từ bảng nhập, xuất, thanh lý, thu hồi để đưa ra thông tin cần tìm kiếm cho người dùng. Tìm kiếm khách hàng: Mỗi khi muốn tìm hiểu rõ thông tin khách hàng đang giao dịch, người dùng có thể tìm thông tin khách hàng đó một cánh nhanh chóng, đầy đủ và chính xác thông tin khách hàng đó. Việc tìm kiếm khách hàng đó có thể theo tên, mã khách hàng Sơ đồ luồng dữ liệu của chức năng “3.1. Nhập vật tư”. Khi có nhu cầu nhập vật tư, thủ kho gửi yêu cầu lên ban lãnh đạo. Ban lãnh đạo lên kế hoạch nhập vật tư và đưa ra danh sách nhập vật tư. Kế toán lập ra phiếu nhập vật tư và gửi danh sách vật tư cần nhập cho nhân viên nhập, nhân viên nhập nhập vật tư vào kho, dữ liệu cập nhập được đưa vào bảng dữ liệu nhập Sơ đồ luồng dữ liệu của chức năng “3.2. xuất vật tư”. Việc xuất vật tư được diễn ra như sau, quản lý kho lập kế hoạch xuất vật tư lấy thông tin từ kho vật tư, quản lý lập ra phiếu xuất và gửi danh sách vật tư xuống cho nhân viên xuất, nhân viên xuất xuất vật tư và lưu lại danh sách vật tư xuất vào bảng dữ liệu xuất Sơ đồ luồng dữ liệu của chức năng “3.3. thu hồi vật tư”. Việc thu hồi vật tư đã được lên kế hoạch sẵn, vật tư thu hồi về phải được qua kiểm chứng chất lượng do bên kỹ thuật phụ trách, nếu vật tư thu hồi còn mới hoặc chưa dùng đến thì sẽ được lưu vào hàng nhập mới trong kho. Nếu vật tư thu hồi về mà cũ, chất lượng kém thì sẽ được đẩy vào kho hàng tồn cũ Sơ đồ luồng dữ liệu của chức năng “3.4. thanh lý vật tư”. Khi có nhu cầu thanh lý vật tư tồn đọng trong kho, quản lý kho lập kế hoạch thanh lý vật tư và đưa ra danh sách những vật tư cần thanh lý. Vật tư thanh lý sẽ được giảm giá tùy theo chất lượng hàng, thời điểm, danh sách vật tư cần thanh lý sẽ được gửi xuống cho nhân viên thanh lý, và việc thanh lý được thực hiện XÁC ĐỊNH CÁC THỰC THỂ. Các thực thể Vật tư Tên vật tư Đơn vị tính Nhóm vật tư. Ghi chú Nhóm vật tư Tên nhóm vật tư Ghi chú Khách hàng Tên khách hàng Địa chỉ Điện thoại Ngân hàng Mã số tài khoản Tiền nợ Hạn trả nợ Ghi chú Nhóm khách hàng Tên nhóm khách hàng Ghi chú Phiếu nhập vật tư Nhân viên nhập vật tư Tên khách hàng Ngày nhập vật tư Tổng tiền Số tiền đã thanh toán Ghi chú Phiếu xuất vật tư Nhân viên xuất vật tư Tên khách hàng Ngày xuất vật tư Tổng tiền Số tiền đã thanh toán Ghi chú Phiếu cho thanh lý vật tư Tên nhân viên Tên khách hàng Ngày thanh lý Tình trạng Phiếu thu hồi vật tư Tên nhân viên Tên khách hàng Ngày thu hồi Tình trạng Thông tin công ty Tên công ty Địa chỉ Điện thoại Website Email Mã số thuế Giấy phép kinh doanh ( GPKD ) Đơn giá ngày bán Tên vật tư Đơn giá Đơn vị tính Ghi chú. Chi tiết nhập vật tư Hóa đơn nhập Tên vật tư nhập Số lượng Đơn giá Đơn vị tính Chi tiết xuất vật tư Hóa đơn xuất Tên vật tư xuất Số lượng Đơn giá Đơn vị tính Chi tiết thanh lý vật tư Hóa đơn thanh lý Tên vật tư Số lượng Đơn giá Đơn vị tính Chi tiết thu hồi vật tư Hóa đơn thu hồi Tên vật tư Số lượng Đơn vị tính Người dùng ( Nhân viên) Tên sử dụng truy cập hệ thống Mật khẩu Tên người dùng để hiển thị Ghi chú Quyền truy cập ( Chức vụ ) Tên quyền Ghi chú Quy đổi Tên vật tư Tên đơn vị tính Tên đơn vị quy đổi Tỷ lệ quy đổi Đơn vị tính Tên đơn vị tính Ghi chú Tồn kho đầu kỳ Tên vật tư Tên đơn vị tính Số lượng Một số quan hệ giữa các thực thể XÂY DỰNG CÁC BẢNG CƠ SỞ DỮ LIỆU Bảng Users. Bảng Oders. Bảng VatTu. Bảng NhomVatTu. Bảng DonViTinh. Bảng KhachHang. Bảng NhomKhachHang. Bảng PhieuNhap. Bảng PhieuXuat. Bảng PhieuThanhLy. Bảng PhieuThuHoi. Bảng ChiTietNhap. Bảng ChiTietXuat. Bảng ChiTietThanhLy. Bảng ChiTietThuHoi. Bảng DonGiaNgay. Bảng TonKho. Bảng QuyDoi Bảng ThongTinCongTy. MÔ HÌNH LIÊN KẾT CÁC BẢNG DỮ LIỆU. THIẾT KẾ CHƯƠNG TRÌNH. THIẾT KẾ FORM CHƯƠNG TRÌNH. Giao diên chính Khi chương trình được được khởi động, Form có thuộc tính ShowDialog xuất hiện yêu cầu người dùng truy cập hệ thống phải nhập vào User và Password, nếu User và Password nhập vao không đúng thì thông báo lỗi xuất hiện với nội dung như sau Nếu người dùng nhập đúng User và Pass thì mới truy cập vào chương trình chính, với mỗi User và Password đã được cấp một quyền nhất định để thao tác với hệ thống và có quyền truy cập và thao tác trên form nào. Giới thiệu một số form chương trình From đơn giản liên quan đến bảng dữ liệu chỉ có khóa chính không có khóa phụ Người dùng có thể thêm, sửa, xóa một bản ghi, chú ý với form liên quan đến bảng dữ liệu chỉ có khóa chính, không có khóa phụ, mà khóa chính của bảng dữ liệu có liên quan đến khóa phụ của bảng dữ liệu khác thì khi bạn xóa, sửa một bản ghi từ bảng dữ liệu có khóa chính, thì tất cả các bản ghi ở bảng dữ liệu có khóa phụ liên quan đến khóa chính này sẽ bị xóa, hoặc sửa hết. Vì thế bạn hết sức nên cân nhắc trước khi xóa chúng. Trước khi muốn cập nhập thêm, sửa, xóa một bản ghi nào đó, chương trình đều đưa ra một thông báo Nếu nhấn Yes thì đồng ý cập nhập dữ liệu, nhấn No để không đồng ý lúc đó dữ liệu được làm tươi trở lại. Form cập nhập có liên quan đến form khác Để liên hệ với các bảng khác ta thông qua ComboBox để lấy dữ liệu, bạn có thể chọn dữ liệu trực tiếp từ ComboBox riêng, hoặc chọn dữ liệu từ DataGridViewComboBox bằng cách chọn vào DataGridViewComboBox trên lưới của DataGridView, Combobox đã được viết hàm tự động tìm kiếm để việc lựa chọn của người sử dụng được thuận tiện và nhanh hơn. From cập nhập phải xử lý bắt lỗi Với trường hợp Form FrmTonKho là form cập nhập vật tư tồn kho đầu kỳ, do số lương của mỗi vật tư trong bảng TonKho sẽ được tính theo một đơn vị chuẩn để tiện cho viêc tinh toán, ví dụ: Xi măng được tính theo đơn vi là Kg, Cát sẽ tính theo đơn vị chuẩn là m3, Thép tính theo đơn vị là m... Chính vì thế ngoài việc bắt lỗi chưa cập nhập vật tư, đơn vị tính, số lượng ra ta còn bắt thêm lỗi đơn vị tính được chọn phải là đơn vị chuẩn đã được quy định trong bảng DonViTinh. Nếu bạn chọn vào check box vật tư cũ thì dữ liễu sẽ thao tác trên bảng tồn kho hàng cũ. Nếu không nó sẽ thao tác trên bảng tồn kho mới ( tồn kho đầu kỳ ), mặc định là check box bằng false. Form quy đổi có nhiệm vụ quy định đơn vị tính nào đi kèm với vật tư nào, và nếu với đơn vị tính đó không phải là đơn vị tính chuẩn thì tỷ lệ quy đổi theo đơn vị chuẩn là là bao nhiêu Ví dụ: vật liệu xi măng Hải phòng, nếu bán với đơn vị tính là bao, đơn vị chuẩn là kg, tỷ lệ quy đổi là 50 tưc là ( Xi măng Hải Phòng/ bao = 50 Xi măng Hải Phòng/kg) Form liên quan đến nghiệp vụ Với Form liên quan đến nghiệp vụ xuất, nhập, thanh lý, thu hồi thì việc xử lý sẽ khó hơn., trên form vừa phải kiểm soát lỗi nhập liệu, lỗi chưa cập nhập, lỗi hàng có tồn tại trong kho không, lỗi số lượng trong kho có đủ không, lỗi đơn vị tính có dùng cho vật liệu này không, lỗi đã cập nhập đơn giá cho vật liệu này chưa.., sau khi kiểm soát lỗi xong thì với mỗi form sẽ thực hiện nhiệm vụ khác nhau. Với form xuất vật tư, đơn giá sẽ được lấy tự động từ bảng đơn giá ngày, với giá bán được lấy là giá mới nhất, tổng tiền sẽ được tính tự động. Khi ta nhấn nút cập nhập nếu các điều kiện sau khi kiểm tra mà thỏa mãn thì phiếu xuất sẽ được tạo, căn cứ vào phiếu xuất ta sẽ cập nhập cho bảng chi tiết xuất, tiền nợ khách hàng sẽ được Update, hàng trong kho sẽ được giảm đi theo số lượng vật tư xuất ra. Như vậy nút cập nhập sẽ đồng thời làm 4 nhiệm vụ: tạo phiếu xuất đưa vào bảng PhieuXuat, cập nhập chi tiết vật tư đưa vào bảng ChiTiet_XuatVatTu, Update công nợ khách hàng vao bảng KhachHang, Update hàng tồn kho vào bảng TonKho Với Form nhập vật tư thì việc cập nhập sẽ được tính như trên chỉ có điều là đơn giá sẽ được nhập bằng tay. Hàng trong kho sẽ tăng lên theo số lượng nhập vào Với Form thu hồi được chia ra làm 2 trường hợp: thu hồi hàng cũ, và thu hồi hàng mới. Với hàng cũ ở đây là hàng đã qua sử dụng hoặc chất lượng kém. Hàng mới ở đây là hàng mà khách hàng (quen) trả nguyên giá trị sau khi họ mượn Với form thanh lý vật tư bạn sẽ chọn phần trăm giảm giá so với giá hiện tại được bán ra Sau khi đã xuất hoặc nhập vật tư, ta có thể In ra hóa đơn bán hàng. Một số form báo cáo KẾT LUẬN Sau thời gian thực hiện đồ án vừa qua, em đã làm việc nghiêm túc với sự hướng dẫn nhiệt tình của thầy giáo Th.S. Nguyễn Thế Cường và K.S Nguyễn Xuân Hưng, em đã thu hoạch được những kết quả sau: Hiểu được rõ hơn về phương pháp phân tích thiết kế hệ thống thông tin. Đồng thời qua quá trình thực tập tại công ty TNHH Bình Mình, em đã có thêm những kiến thức thực tế, nắm được cơ cấu tổ chức trong công ty, đặc biệt là cách thức quản lý vật tư, cũng như việc ứng dụng công nghệ thông tin trong công tác quản lý này. Việc phân tích thiết kế hệ thống chương trình tại công ty TNHH Bình Minh đã đề cập và giải quyết được một số tồn tại cơ bản trong công tác quản lý thủ công hiện nay, giúp tăng hiệu quả của công tác này. Đồ án không thể tránh khỏi được những thiếu sót và hạn chế của mình, em rất mong nhận được sự chỉ bảo, góp ý của các thầy cô và bạn bè. Em xin chân thành cảm ơn thầy giáo Th.S Nguyễn Thế Cường và K.S Nguyễn Xuân Hưng đã giúp đỡ, chỉ bảo em trong suốt quá trình làm đồ án tốt nghiệp vừa qua! TÀI LIỆU THAM KHẢO Phạm Hữu Khang (Chủ biên); Lập trình Windown forms(Tập 2); NXB Lao Động Xã Hội; 2006. Phạm Hữu Khang (Chủ biên); Lập trình hướng đối tượng (tập 3); NXB Lao Động Xã Hội; 2006. Phạm Hữu Khang (Chủ biên); Lập trình cơ sở dữ liệu (tập 4_ 2 quyển); NXB Lao Động Xã Hội; 2006. Nguyễn Văn Ba; Phân tích và thiết kế hệ thống thông tin; NXB Đại học Quốc gia Hà Nội; 2006. Đỗ Trung Tuấn; Cơ sở dữ liệu; Nhà xuất bản Giáo dục; 1998. Biên dịch Thái Thành Phong; Các giải pháp lập trình C#; 2007

Các file đính kèm theo tài liệu này:

  • docĐề Án Quản Lý Thiết Bị Vật Tư.doc