Chính vì các lý do trên nên em đã chọn đề tài “Quản lý thiết bị vật tư” làm đồ án tốt nghiệp của mình, nhằm hy vọng phần mềm đem lại hiệu quả tốttrong công việc quản lý vật tư Đồ án tốt
Trang 1Mụ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
Trang 22.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
Trang 33.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
Trang 4LỜI NÓI ĐẦU
Quản lý hàng hóa vật tư là một trong những việc quan trọng có ý nghĩaquyết định đến sự phát triển của công ty Trong điều kiện kinh tế thị trườngcạnh tranh đòi hỏi các nhà quản lý phải có thông tin chính xác nắm bắt thôngtin kịp thời về vật tư tại đơn vị của mình…, từ đó đưa ra các kế hoạch, quyếtđịnh và chiến lược kinh doanh hợp lý, để nhằm giảm chi phí, giảm thất thoát,nâng cao hiệu quả hoạt động của công ty, và có nhiều cơ hội phát triển
Để làm được điều này, việc ứng dụng Tin học hóa vào vấn đề quản lý làrất cần thiết Trước đây khi chưa có phần mềm công việc quản lý đều gặp rấtnhiều khó khăn đòi hỏi phải có một lượng nhân lực lớn mà hiệu quả khôngcao, khi ta muốn tìm kiếm tra cứu thông tin thì rất mất nhiều thời gian, vì tất
cả đều thông qua giấy tờ Giờ đây nhờ có các phần mềm quản lý, tin học hóađược thao tác thủ công mà việc làm việc ở các công ty trở nên thuận lợi hơn
vì chúng ta sẽ không phải thấy một phòng tủ đầy hồ sơ chứng từ hóa đơn, cáccặp tài liệu có nhãn chúng ta có thể làm trong chốc lát có khi chỉ mất vàigiây truy cập thông tin
Công ty trách nhiệm hữu hạn (TNHH) Bình Mình là công ty chuyên
cung cấp các vật liệu xây dựng, đồ gia dụng, đồ trang trí, đồ điện… mà phầnlớn công việc quản lý vật tư trong công ty đều thao tác thủ công
Chính vì các lý do trên nên em đã chọn đề tài “Quản lý thiết bị vật tư”
làm đồ án tốt nghiệp của mình, nhằm hy vọng phần mềm đem lại hiệu quả tốttrong công việc quản lý vật tư
Đồ án tốt nghiệp là cơ hội cho em được tiếp xúc thực tế, áp dụng, tổnghợp lại những kiến thức mà mình đã học được, đồng thời rút ra được nhữngkinh nghiệm thực tế quý giá trong suốt quá trình làm đồ án tốt nghiệp củamình
Trong suốt quá trình làm đồ án tốt nghiệp được sự giúp đỡ, chỉ bảo tận
Trang 5trong phòng ban của công ty đã giúp đỡ em hoàn thành tốt đồ án này mộtcách thuận lợi và gặt hái được một số kết quả khả quan, em xin chân thànhcảm ơn công lao dạy dỗ của các Thầy Cô trong khoa Công nghệ thông tin -Trường đại học Hàng hải, đã tận tình dạy dỗ chỉ bảo em trong suốt hơn 4 nămhọc và nghiên cứu vừa qua; xin cảm ơn gia đình đã tạo điều kiện cho conđược học tập để có ngày hôm nay; cảm ơn tất cả các bạn trong lớp đã giúp đỡtrong suốt quá trình học tập.
Bên cạnh những kết quả đã đạt được cũng không thể tránh được nhữngthiếu sót và hạn chế của đồ án, rất mong nhận được góp ý của Thầy Cô và bạnbè
Hải Phòng, tháng 10 năm 2008
Sinh viên thực hiện
Mai Văn Duy
Trang 6Chương 1 KHẢO SÁT NGHIỆP VỤ TẠI CÔNG TY.
1.1 GIỚI THIỆU CÔNG TY TNHH BÌNH MINH
Công ty trách nhiệm hữu hạn (TNHH) Bình Mình là đại lý cấp 1 chính thức của công ty sơn 4 ORANGES CO.LTD ( công ty vốn 100% của
nước ngoài, trụ sở chính: Lô co2_ khu Công nghiệp Đức Hòa 1, Ấp 5, xã Đức Hòa Đông, huyện Đức Hòa, tỉnh Long An ) thuộc tập đoàn Asia leader
international investment, chuyên cung cấp các loại sơn lót, sơn bột, sơn nộithất, sơn ngoại thất., và các vật tư, nguyên vật liệu trong lĩnh vực xây dựng,điện nước, và các đồ dùng thông dụng
Công ty được thành lập vào 5/3/2003
Trụ sở chính: Đường 10_ Đông Sơn_ Thủy Nguyên_ Hải Phòng
Trang 71.2 SƠ ĐỒ TỔ CHỨC CÔNG TY.
BÁO CÁO THUẾ
NHẬP NGUYÊN VẬT LIỆU
XUẤT NGUYÊN VẬT LIỆU
BÁO CÁO KHO
TIẾP THỊ KHÁCH HÀNG BÁN HÀNG
Trang 81.3 MỤC ĐÍCH YÊU CẦU BÀI TOÁN.
1.3.1 Mục đích.
Đối với hoạt động quản lý vật tư, người quản lý phải nắm bắt đượcchính xác, nhanh chóng, thông tin kịp thời về vật tư…, để từ đó ra kế hoạch,quyết định và chiến lược kinh doanh hợp lý giúp giảm chi phí, nâng cao hiệuquả kinh tế cho công ty Do đó đồ án này sẽ xây dựng một chương trình quản
lý vật tư đáp ứng được công việc quản lý việc nhập, xuất vật tư, thanh lý, thuhồi vật tư, quản lý thống kê được lượng hàng tồn kho giúp cho người quản lýcân đối được việc nhập xuất vật tư, đưa ra báo cáo chi tiết về mua hàng, chitiết bán hàng, công nợ phải thu, công nợ phải trả khách hàng, lượng hàng tồnkho, đơn giá vật tư hiện tại để báo giá cho khách hang khi khách hàng có nhucầu
Mục tiêu chính của phần mềm
Quản lý vật tư hàng hóa theo một qui trình xuyên suốt từ khâunhập hàng, xuất hàng cho đến khâu thống kê báo cáo và đánh giá tình hìnhtồn kho, công nợ khách hàng và luôn đưa ra được bảng báo giá được cập nhậpmới nhất để thuận tiện cho viêc kinh doanh
Cân đối được lượng vật tư hàng hóa tồn kho với kế hoạch sảnxuất nhằm đưa ra quyết định kịp thời chính xác phục vụ cho hoạt động sảnxuất và phân phối hàng hóa
Báo cáo thống kê và truy vấn dễ dàng theo tất cả các chỉ tiêu
có trong cơ sở dữ liệu
1.3.2 Yêu cầu.
Cung cấp thông tin chi tiết về vật tư, khách hàng một cách nhanhchóng, chính xác và đầy đủ
Trang 9 Tìm kiếm thống kê và lập báo cáo nhanh chóng theo yêu cầu của banlãnh đạo.
Kiểm soát được lượng hàng tồn kho, công nợ để có giải pháp chiếnlược kịp thời đưa công ty phát triển
Giao diện phải thân thiện, hỗ trợ các phím tắt cho các chức năng, đẩynhanh thao tác nhập dữ liệu
Giảm thiểu được thời gian và công sức quản lý, các phát sinh nhập xuấttồn kho, tăng độ chính xác trong thống kê, đáp ứng nhanh chóng yêucầu số liệu cho các bộ phận khác: kế toán, kế hoạch vật tư, phục vụ yêucầu phát triển của công ty
Phân quyền cấp hạn sử dụng của người truy cập và chức năng chi tiết
1.4 NỘI DUNG PHƯƠNG PHÁP THỰC HIỆN.
Khảo sát nghiệp vụ thực tế tại công ty, kết hợp nghiên cứu lýthuyết, xây dựng cơ sở dữ liệu, phân tích thiết kế bài toán
Lựa chọn công cụ cài đặt, xây dựng các modul của chương trình
Cơ sở dữ liệu: SQL Server 2005 Express
Lập trình trên Windown
Cài đặt và chạy thử chương trình
1.5 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ịchthươ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ủacông ty
Phó giám đốc: có nhiệm vụ tìm hiểu thị trường, mở mang giaodịch, thực hiện chu trình, kinh doanh sản phẩm
Trang 10 Kế toán: có nhiệm vụ tổng hợp sổ sách, thanh toán lương, báocá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ếnhành nhập Họ viết phiếu nhập kho cho số vật tư được yêu cầu, sau đó cậpnhậ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ìnhthiế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ácthông tin liên quan đến vật tư Họ tiến hành kiểm kê tổng số vật tư có trongkho 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àngtồ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ếuthu, 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
Trang 11trì, 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áocá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ônluô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ìnhquả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 khikiể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ửachữa hoặc thanh lý hay nhập mới vật tư
Trang 121.6 MỘT SỐ MẪU BIỂU CỦA CÔNG TY.
Thành tiền1
Đơn giá Thành tiền
Ngày tháng năm ………
Thủ kho
Trang 13Đơ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
Trang 141.7 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
Danh sách chi tiết các thiết bị vật tư.
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
SealerSơn lót gốc dầu (Chống vàng)
Sơn nội thất thông dụng mặt mờ
Sơn nước siêu trắng trần
Sơn nội thất thông dụng mặt mờ
Sơn nội thất cao cấp mặt mờ
Sơn nước cao cấp chùi rửa được
Sơn nội thất cao cấp bong ngọc trai
Trang 15Sơn ngoại thất cao cấp bong
Sơn đặc biệt gốc dầu-Pha dầu hỏa(hoặc xylen
-4.2 BOSS Wall Filler int & Ext
Bột bả nội thất và ngoại thất cao cấp
Trang 16-Gạch lát nền Ceramic 40x40 màuđậm men mát
-Gạch lát nền Ceramic 25x25 màusá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àusáng bóng
-Gạch lát nền Ceramic 25x40màuđậm men mát
Trang 17-1.8 HIỆN TRẠNG VÀ GIẢI PHÁP KHẮC PHỤC.
1.8.1 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ápthủ 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 giată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ánhkhỏ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ápthủ 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 tinthiế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 giată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êncá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ânviên kho thực hiện thủ công Muốn làm được việc này nhân viên kho phảixem lại sổ sách ghi chi tiết việc nhập và xuất kho, từ đó xem lượng hàng tồnkho 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 gianlấ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épthông tin từ sổ ghi chép vật tư, sổ ghi nhập, xuất, thanh lý, thu hồi…
Trang 18 Các hồ sơ giấy tờ lưu trữ thường hay bị hư hỏng, mất mát do điềukiện môi trường và do điều kiện ngoại cảnh, con người, vì thế khả năng mấtmát thông tin là khó tránh khỏi.
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ạimắc phải
Chương trình phần mềm phải dễ sử dụng, thao tác nhanh, giao diệnthâ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
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ấpquyền cho người truy cập hệ thống
Trang 19Chương 2 CÔNG CỤ CÀI ĐẶT
2.1 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ơnmười kiểu dữ liệu dựng sẵn, nhưng C# có tính diễn đạt cao C# hỗ trợ lậptrì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ớitậ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ưuliệ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ệutheo đị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ừanhư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ôngtin 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ệcthu dọn rác tự động các đối tượng được tham chiếu bởi con trỏ cho đến khilập trình viên tự giải phóng
Trang 202.1.1 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 đặctrư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");
[ 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 mangmộ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 đượcsuốt thời gian thi hành chương trình Đôi lúc ta cũng cần có những giá trị baogiờ cũng bất biến
Thí dụ
const int a=100; // giá trị này không thể bị thay đổi
Trang 212.1.3 Kiểu dữ liệu trong C#
Các kiểu Integer:
sbyte System SByte 8-bit signed integer -128:127 (-27:27-1)
short System Int16 16-bit signed integer -32, 768:32, 767 (-2
15:2151)
-int System Int32 32-bit signed integer -2, 147, 483, 648:2, 147,
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:2
321)
-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)
Figures
Range (approximate)
Float System Single
32-bit precision floating-
Trang 22Name CTS Type Description Significant
Figures
Range (approximate)
decimal System Decimal
128-bit highprecision decimalnotation
-28 to
±7 9 × 1028
Kiểu Boolean :
Kiểu Character Type:
char System Char Represents a single 16-bit (Unicode) characterKiểu tham khảo tiền định nghĩa:
object System Object The root type, from which all other types in the
CTS derive (including value types)string System String Unicode character string
Trang 23Escape Sequence Character
2.1.4 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
Trang 24 Vòng lặp do while (The do…while Loop)
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 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ùngkhông có biểu thức
2.1.5 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
Trang 25Lớ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 địnhnghĩ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ộcstatic 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àyextern Phương thức được thực thi theo bên ngoài từ một ngôn ngữ khác
Trang 26Indirection and Address * -> & (unsafe code only) []
Trang 272.1.8. Operator Precedence
() [] x++ x new typeof sizeof checked unchecked
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ướccá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ếunhiều chỗ trên đoạn mã bạn có thể gán một alias cho namespace
Trang 282.2 TÌM HIỂU VỀ SQL SERVER 2005 EXPRESS.
2.2.1 Tổng quan về cơ sở dữ liệu
2.2.1.1 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ủamột đơn vị, một doanh nghiệp hay một cá nhân, được lưu lại và được sử dụngbở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ácquả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ácbả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ể Trongmộ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ớithực thể khác (mã sinh viên, mã sách,…)
Trang 29 Kiểu dữ liệu (Data Type): là một khái niệm trừu tượng, được đặctrư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ủacá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ànhcác quan hệ 1-1 và 1-n
Lược đồ quan hệ (Relation Diagram): lược đồ quan hệ là sự hợpthà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ộctí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ộchàm F xác định trên R; X, Y R, AR Nếu ta có: X Y, Y A và AXYthì 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ộcbắc cầu, Y là các thuộc tính cầu
2.2.1.2 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)
Trang 30 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ồntại thuộc tính không khoá phụ thuộc hàm bắc cầu vào khoá
2.2.1.3 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ạicá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ạithuộc tính không khoá phụ thuộc không đầy đủ vào khoá chính Khi đó tatá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, tronglượ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ínhcầu
Trang 312.2.2 Giới thiệu về SQL Server 2005 Express.
2.2.2.1 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ảntrị cơ sở dữ liệu này sử dụng công cụ quản lý cơ sở dữ liệu theo phong cáchExpress (nhanh) SQL Server 2005 cải tiến khả năng quản lý và bảo mậtthông qua việc cung cấp cho toàn quyền viên nhiều công cụ điều khiển hơntrê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ộttrong những hệ quản trị cơ sở dữ liệu quan hệ hàng đầu hiện nay Ngoài SQLServer 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
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ệutác nghiệp
Trang 322.2.2.2 Các đặc trưng của SQL Server 2005 Express
Cơ sở dữ liệu phân tán:
Dễ sao lưu, di chuyển cơ sở dữ liệu
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)
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ôitrường của Visual Studio
Trang 33 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)
Trang 342.2.2.3. Các kiểu dữ liệu trong SQL Server 2005
bytes
đa 8000 ký tự
31/12/9999
32-1bytes
4000 ký tự
1,073,741,823 ký tự
SmallMoney 4 Kiểu dữ liệu tiền tệ, có giá trị từ-231 đến 231
Trang 35đa 2,147,483,647 ký tựTimeStamp
Trang 362.2.2.4 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,…Khilậ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 @<tên biến><kiểu dữ liệu>,
[@<tên biến><kiểu dữ liệu>]
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à SQL, được lưu trữ như một phần của cơ sở dữ liệu dưới dạng một vănbản text Khi cần thực thi chỉ cần gọi chúng như gọi một thủ tục haymột hàm Cấu trúc của Stored Procedures như sau:
T-USE <tên bảng>
GO
CREAT PROC <tên thủ tục> [@<tên bến><kiểu dữ liệu>,
[@<tên biến><kiểu dữ liệu>]]
Trang 37<Câu lệnh SQL>
Ví dụ:
USE AccountGO
CREAT PROC 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 <tên thủ tục>
Ví dụ:
USE AccountGO
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ểuthô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ácStored Procedure Ở đây cần chú ý phát biểu WAITFOR dùng để chỉ thị
Trang 38cho SQL tạm dừng một thời gian nhất định trước khi xử lý tiếp các phátbiểu sau, cú pháp có dạng như sau:
WAITFOR
DELAY <’time’> (chờ trong khoảng thời gian)|
TIME <’time’> (chờ cho đến thời gian)
Ví dụ 1:
WAITFORDELAY ’01:00’
Ví dụ 2:
WAITFORTIME ’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.] <tên hàm>
Trang 39USE Account
GOCREAT FUNCTION dbo.Dngay (@Date datetime)
RETURN varchar(12)AS
BEGINRETURN
CONVERT(varchar(12), @Date, 105)END
Hàm trả về một bảng dữ liệu:
USE Account
GOCREAT FUNCTION dbo.Dngay (@Date datetime)
RETURN TABLEAS
DROP FUNCTION Dngay
Trang 40Chương 3 PHÂN TÍCH THIẾT KẾ.
3.1 CÁC DỮ LIỆU CẦN QUẢN LÝ CỦA CHƯƠNG TRÌNH 3.1.1 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ứcdanh và nhiệm vụ của họ, quyền truy cập hệ thống của họ
3.1.2 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, danhsá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ư