3.2.2 Mô tả các bảng: 3.2.2.1 Bảng ChiTietPhieuNhap: STT Tên cột Kiểu dữ liệu Ràng buộc Mô tả 1 MaPN Text20 Khóa ngoại Mã phiếu nhập 2 MaSach Integer Khóa ngoại Mã sách 3 SoLuong Integer
Trang 1Sinh viên thực hiện: ĐẶNG TẤN PHÁT
NGUYỄN CÔNG HIẾU
Giảng viên hướng dẫn: ThS DƯƠNG VĂN PHƯỚC
Đắk Lắk, 6/2015
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 3
Trang 4
Trang 5
Trang 6
Đắk Lắk, ngày …… tháng ……năm……
Giáo viên hướng dẫn NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Trang 7
Trang 8
Trang 9
Trang 10
Đắk Lắk, ngày …… tháng ……năm…… Giáo viên phản biện
LỜI CẢM ƠN
Trong thời gian qua, chúng em đã học được rất nhiều kiến thức vềchuyên môn cũng như về cuộc sống Chúng em xin chân thành cảm ơn cácthầy cô Trường Cao Đẳng Nghề Đắk Lắk, nhất là các thầy cô khoa ĐTTH.Chúng em sẽ sử dụng thật tốt những gì mình đã học được để hoànthành thật tốt khóa luận tốt nghiệp Cảm ơn thầy DƯƠNG VĂN PHƯỚC
đã hỗ trợ cho chúng em làm tốt đề tài khóa luận Thầy đã không ngại thờigian mà tận tình hướng dẫn chúng em, chỉ cho chúng em những điều cầnthiết để bài làm được tốt hơn
Trong bài luận không thể tránh khỏi những thiếu sót mặc dù đã cốgắng, chúng em mong nhận được sự góp ý và chỉ dẫn từ thầy cô cũng nhưcác ý kiến chân thành của các bạn để cho chúng em lưu ý sau này hoànthành công việc thật tốt
Nhóm sinh viên thực hiệnĐặng Tấn Phát
Nguyễn Công Hiếu
Trang 11ĐỀ CƯƠNG CHI TIẾT
Tên Đề Tài: QUẢN LÝ MUA BÁN SÁCH
Giáo viên hướng dẫn: DƯƠNG VĂN PHƯỚC
Thời gian thực hiện: Từ 20/02/2015 đến ngày 27/04/2015
Sinh viên thực hiện: Nguyễn Công Hiếu - 31071926
Đặng Tấn Phát - 31072248
Loại đề tài: Xây dựng ứng dụng.
Nội Dung Đề Tài: Sử dụng ngôn ngữ lập trình C# và hệ quản trị cơ sở dữ liệu Microsoft Access
2003 để xây dựng ứng dụng chương trình quản lý mua bán sách
Kết quả cho phép tiến hành sử dụng chương trình vào việc quản lý mua bán sách
Kế Hoạch Thực Hiện:
2(16/3 – 23/3) Phân tích bài toán với Cơ Sở Dữ Liệu Hiếu
3(23/3 – 30/3) Khai triển Cơ Sở Dữ Liệu Hiếu + Phát
4(30/3 – 6/4) Tạo Cơ Sở Dữ Liệu Hiếu + Phát
5(6/4 – 13/4) Xây dựng các lớp (class) của ứng dụng Hiếu + Phát
6(13/4 – 20/4) 1.Điều chỉnh lại kết quả của tuần 5
2 Dựa vào các lớp đã tạo để tạo thành sơ đồ lớp
HiếuPhát7(20/4 – 27/4) 1 Điều chỉnh lại kết quả tuần 6
2 Nộp Báo cáo giữa kỳ
Hiếu + Phát
8(27/4 – 5/5) 1.Chuẩn bị nội dung thuyết trình Hiếu + Phát
Trang 122 Báo cáo giữa kỳ.
9(5/5 – 12/5) Thiết kế giao diện một số chức năng quan trọng Hiếu + Phát
10(12/5 – 19/5) Lập trình một số chức năng quan trọng đã được
thiết kế ở tầng 9
Hiếu + Phát
11(19/5 – 26/5) Điều chỉnh lại kết quả tầng 10 Hiếu + Phát
12(26/5 – 2/6) Lập trình và cài đặt một số chức năng khác Hiếu + Phát
13(2/6 – 9/6) Điều chỉnh lại kết quả tầng 12 Hiếu + Phát
14(9/6 - 16/6) Cài đặt thử nghiệm chỉnh sửa Hiếu + Phát
15(16/6 – 23/6) Viết quyển báo cáo Hiếu + Phát
16(23/6 – 30/6) Hoàn chỉnh báo cáo Hiếu + Phát
Trang 13MỤC LỤC
Lời cảm ơn Trang 04
ĐỀ CƯƠNG CHI TIẾT 05
BẢNG CÁC HÌNH VẼ 09
TÓM TẮT KHÓA LUẬN 10
CHƯƠNG 1 - MÔ TẢ BÀI TOÁN VÀ CÁCH GIẢI QUYẾT 11
1.1 Mô tả bài toán 12
1.2 Yêu cầu chức năng 12
1.3 Phương pháp tiếp cận 12
CHƯƠNG 2 - PHÂN TÍCH 13
2.1 Nhận diện các lớp 14
2.2 Mô tả các lớp 14
2.3 Sơ đồ lớp 17
CHƯƠNG 3 - THIẾT KẾ 18
3.1 Thiết kế kiến trúc ứng dụng 19
3.2 Thiết kế cơ sở dữ liệu 19
3.2.1 Sơ đồ cơ sở dữ liệu quan hệ 19
3.2.2 Mô tả các bảng 20
3.3 Thiết kế giao diện 24
3.3.1 Giao diện màn hình chính 24
3.3.2 Màn hình đăng nhập 25
3.3.3 Màn hình đổi mật khẩu 26
3.3.4 Màn hình thông tin sách 27
3.3.5 Màn hình thêm phiếu nhập 28
3.3.6 Màn hình thống kê phiếu nhập 30
3.3.7 Màn hình in thông tin phiếu nhập 31
3.3.8 Màn hình thêm phiếu xuất 32
3.3.9 Màn hình thống kê phiếu xuất 34
Trang 143.3.10 Màn hình màn hình khuyến mãi 35
3.3.11 Màn hình nhân viên 36
3.4 Thiết kế xử lý 37
3.4.1 Thiết kế xử lý chức năng đổi mật khẩu 37
3.4.2 Thiết kế xử lý chức năng thêm sách 38
3.4.3 Thiết kế xử lý chức năng cập nhật sách 39
3.4.4 Thiết kế xử lý chức năng thêm phiếu nhập 40
3.4.5 Thiết kế xử lý chức năng thống kê phiếu nhập 41
3.4.6 Thiết kế xử lý chức năng thêm phiếu xuất 42
3.4.7 Thiết kế xử lý chức năng thông tin phiếu xuất 43
3.4.8 Thiết kế xử lý chức năng phục hồi mật khẩu mặc định 44
3.4.9 Thiết kế xử lý chức năng thông tin nhà xuất bản 45
CHƯƠNG 4 - CÀI ĐẶT, ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 46
4.1 Môi trường cài đặt 47
4.2 Đánh giá kết quả 47
4.3 Hướng phát triển 48
Lời kết 49
Trang 1510 Hình 10 Màn hình in thông tin phiếu nhập
11 Hình 11 Màn hình thêm phiếu xuất
12 Hình 12 Màn hình thống kê phiếu xuất
13 Hình 13 Màn hình khuyến mãi
14 Hình 14 Màn hình nhân viên
Trang 16TÓM TẮT KHÓA LUẬN
1 Vấn đề nghiên cứu:
Một nhà sách cần xây dựng một ứng dụng phần mềm để quản lý muabán sách Phần mềm được xây dựng sao cho việc quản lý được thuận tiện,
dễ sử dụng Các thông tin cần quản lý phải đầy đủ Chương trình được tạo
ra nhằm quản lý việc mua bán nhanh chóng, không mất thời gian, có thểkiểm tra sách…
2.Tiếp cận và giải quyết vấn đề:
- Tiếp cận vấn đề: Chúng ta phải khảo sát thực tế, từ đó đưa ranhững yêu cầu, nhận diện các lớp của phần mềm , thiết kế cơ sở dữliệu và xây dựng sơ đồ lớp
- Giải quyết vấn đề: Xây dựng phần mềm ứng với sơ đồ lớp vànhững yêu cầu Sau khi xây dựng hoàn tất ta cài đặt cơ sở dữ liệu
và cài đặt phần mềm
3.Kết quả đạt được:
Xây dựng được chương trình quản lý mua bán sách với các chức năng sau:
- Thống kê phiếu nhập theo tình trạng thanh toán
- Thống kê phiếu xuất theo tình trạng thanh toán
- In thông tin phiếu nhập và in theo tiêu chí trong phần thống kê
Trang 17CHƯƠNG 1
MÔ TẢ BÀI TOÁN VÀ CÁCH GIẢI
QUYẾT
Nội dung:
1.1 Mô tả bài toán
1.2 Yêu cầu chức năng
1.3 Phương pháp tiếp cận và giải quyết vấn đề
Trang 181.1 Mô tả bài toán:
Một nhà sách cần xây dựng một ứng dụng phần mềm để quản lý muabán sách Khi nhập sách về, nhân viên sẽ nhập thông tin sách vào chươngtrình
Chương trình cần có chức năng quản lý thông tin sách: tên sách, thểloại, tên tác giả, năm xuất bản, đơn vị tính, đơn giá, nhà cung cấp, nhà xuấtbản Khi bán sách cho khách hàng, chương trình cần ghi lại thông tin nhữngsách được bán, cập nhật số lượng sách, ngày bán, số tiền và tên nhân viên Chương trình còn có các chức năng:
- Liệt kê sách hiện có
- In thông tin những phiếu xuất, phiếu nhập
- Cho phép đổi mật khẩu của nhân viên đăng nhập
1.2 Yêu cầu chức năng:
Phần mềm Quản Lý có những chức năng sau:
- Quản lý tất cả sách, có thể thêm, sửa sách
- Khi sách được nhập về có thể quản lý được thông tin như: tên sách,nhà sản xuất, nhà cung cấp, ngày nhập, số lượng, đơn giá, thể loại,tác giả, năm xuất bản
- Khi bán sách cho khách hàng phải cho biết: ngày bán, số lượng,đơn giá, tình trạng, tên sách, nhân viên, và khách hàng
- Lưu lại thông tin sách sau mỗi lần nhập và xuất
- Thống kê các phiếu nhập, xuất
- In thông tin phiếu nhập, phiếu xuất
1.3 Phương pháp tiếp cận:
Bài toán được giải quyết theo phương pháp sau:
- Khảo sát thực tế tại Nhà sách Nguyễn Văn Cừ
- Nhận diện các lớp ( class) phần mềm, xây dựng sơ đồ lớp
- Cài đặt cơ sở dữ liệu, cài đặt phần mềm
Trang 202.1 Nhận diện các lớp:
STT Tên lớp Mô tả
1 ChiTietPhieuNhap Lớp chi tiết phiếu nhập
2 ChiTietPhieuXuat Lớp chi tiết phiếu xuất
2 DonGia Đơn giá
3 ChietKhau Chiết khấu
4 ThanhTien Thành tiền
2.2.2 ChiTietPhieuXuat:
STT Tên Thuộc Tính Mô Tả
1 SoLuong Số lượng
2 DonGia Đơn giá
3 KhuyenMai Khuyến mãi
Trang 21STT Tên Thuộc Tính Mô Tả
1 MaPX Mã phiếu xuất
2 NgayBan Ngày bán
3 TongTien Tổng tiền
4 NgayThanhToan Ngày thanh toán
5 TrangThai Trạng thái
Trang 222 TGBatDau Thời gian bắt đầu
3 TGKetThuc Thời gian kết thúc
4 TyLeGiamGia Tỷ lệ giảm giá
2.3 Sơ đồ lớp:
Trang 23Hình 1 – Sơ đồ lớp
CHƯƠNG 3
THIẾT KẾ
Trang 24Nội dung:
3.1 Thiết kế kiến trúc ứng dụng
3.2 Thiết kế cơ sở dữ liệu
3.3 Thiết kế giao diện
3.4 Thiết kế xử lý
Trang 253.1 Thiết kế kiến trúc ứng dụng:
Hình 2 – Thiết kế kiến trúc ứng dụng
3.2 Thiết kế cơ sở dữ liệu:
3.2.1 Sơ đồ cơ sở dữ liệu quan hệ:
Hình 3 - Sơ đồ cơ sở dữ liệu quan hệ
Giao diện yêu cầu từ Lớp nhận
giao diện
Các lớp kết nối cơ sở dữ liệu (DA) CSDL
Trang 263.2.2 Mô tả các bảng:
3.2.2.1 Bảng ChiTietPhieuNhap:
STT Tên cột Kiểu dữ liệu Ràng buộc Mô tả
1 MaPN Text(20) Khóa ngoại Mã phiếu nhập
2 MaSach Integer Khóa ngoại Mã sách
3 SoLuong Integer Số lượng
4 DonGia Integer Đơn giá
5 ChietKhau Double Chiết khấu
5 ThanhTien Double Thành tiền
3.2.2.2 Bảng ChiTietPhieuXuat:
STT Tên cột Kiểu dữ liệu Ràng buộc Mô tả
1 MaPX Text(20) Khóa ngoại Mã phiếu xuất
2 MaSach Integer Khóa ngoại Mã sách
3 SoLuong Integer Số lượng
4 DonGia Integer Đơn giá
5 KhuyenMai Double Khuyến mãi
6 ThanhTien Double Thành tiền
3.2.2.3 Bảng Khách hàng:
STT Tên cột Kiểu dữ liệu Ràng buộc Mô tả
1 MaKH Autonumber Khóa chính Mã khách hàng
2 TenKH Text(50) Tên khách hàng
3 DiaChiKH Text(150) Địa chỉ khách hàng
4 DienThoai Text(30) Điện thoại
3.2.2.4 Bảng NhaCungCap:
STT Tên cột Kiểu dữ liệu Ràng buộc Mô tả
1 MaNCC Autonumber Khóa chính Mã nhà cung cấp
2 TenNCC Text(150) Tên nhà cung cấp
3 DiaChi Text(150) Địa chỉ
4 SoDT Text(30) Số điện thoại
Trang 27STT Tên cột Kiểu dữ liệu Ràng buộc Mô tả
1 MSNV Autonumber Khóa chính Mã số nhân viên
2 HoTen Text(50) Họ tên
3 TenDangNhap Text(30) Tên đăng nhập
4 MatKhau Text(12) Mật khẩu
5 MaQuyen Integer Mã quyền
6 DiaChi Text(150) Địa chỉ
7 SoDT Text(30) Số điện thoại
3.2.2.6 Bảng NhaXuatBan:
STT Tên cột Kiểu dữ liệu Ràng buộc Mô tả
1 MaNXB Autonumber Khóa chính Mã nhà xuất bản
2 TenNXB Text(150) Tên nhà xuất bản
3 DiaChi Text(150) Địa chỉ
4 DienThoai Text(30) Điện thoại
3.2.2.7 Bảng PhanQuyen:
STT Tên cột Kiểu dữ liệu Ràng buộc Mô tả
1 MaQuyen Integer Khóa chính Mã quyền
2 QuyenHan Text(30) Quyền hạn
3.2.2.8 Bảng PhieuNhap:
STT Tên cột Kiểu dữ liệu Ràng buộc Mô tả
1 MaPN Text(20) Khóa chính Mã phiếu nhập
2 NgayNhap Date/Time Ngày nhập
3 MaNCC Integer Mã nhà cung cấp
4 MSNV Integer Mã số nhân viên
5 TongTien Long Tổng tiền
6 NgayThanhToan Date/Time Ngày thanh toán
7 TrangThai Text(50) Trạng thái
Trang 283.2.2.9 Bảng PhieuXuat:
STT Tên cột Kiểu dữ liệu Ràng buộc Mô tả
1 MaPX Text(20) Khóa chính Mã xuất
2 MaKH Integer Mã khách hàng
3 MSNV Integer Mã số nhân viên
4 NgayBan Date/Time Ngày bán
5 TongTien Long Tổng tiền
6 NgayThanhToan Date/Time Ngày thanh toán
7 TrangThai Text(50) Trạng thái
3.2.2.10 Bảng Sach:
STT Tên cột Kiểu dữ liệu Ràng buộc Mô tả
1 MaSach Autonumber Khóa chính Mã sách
2 TenSach Text(100) Tên sách
3 CacTG Text(150) Các tác giả
4 MaTL Integer Mã thể loại
5 MaNXB Integer Mã nhà xuất bản
6 DonViTinh Text(50) Đơn vị tính
7 SLHienTai Integer Số lượng hiện tại
8 GiaBia Long Giá bìa
9 NgayXB Date/Time Ngày xuất bản
10 GhiChu Text(150) Ghi chú
3.2.2.11 Bảng TheLoai:
STT Tên cột Kiểu dữ liệu Ràng buộc Mô tả
1 MaTL Integer Khóa chính Mã thể loại
2 TenTL Text(50) Tên thể loại
3.2.2.12 Bảng ThongTinKhuyenMai:
STT Tên cột Kiểu dữ liệu Ràng buộc Mô tả
1 STT Autonumber Khóa chính Mã thể loại
2 MaSach Integer Mã Sách
Trang 293 TGBatDau Date/Time Thời gian bắt đầu
4 TGKetThuc Date/Time Thời gian kết thúc
5 TyLeGiamGia Double Tỷ lệ giảm giá
Trang 303.3 Thiết kế giao diện:
3.3.1 Màn hình Chính:
Hình 4 - Màn hình chính
Mô tả chi tiết
STT Tên Control Loại ConTrol Công Dụng
1 MShethong MenuStrip Thanh công cụ chọn của chương
trình
1
Trang 31Hình 5 - Màn hình đăng nhập
Mô tả chi tiết:
STT Tên Control Loại ConTrol Công Dụng
1 Label Lable Công dụng của màn hình
2 TextBox1 TextBox Nhập tên người dùng
3 TextBox2 TextBox Nhập mật khẩu
4 Button1 Button Đăng nhập vào chương trình
5 Button2 Button Thoát khỏi chương trình
3.3.3 Màn hình Đổi mật khẩu: Thay đổi mật khẩu cho chính nhân
viên đăng nhập
2
3 1
Trang 32Hình 6 - Màn hình đổi mật khẩu
Mô tả chi tiết:
STT Tên Control Loại ConTrol Công Dụng
1 Label1 Label Công dụng của màn hình
2 Cmbhoten ComboBox Tên nhân viên
3 Lbdc Label Địa chỉ nhân viên
4 Lbsdt Label Số điện thoại của nhân viên
5 Txtmkht TextBox Mật khẩu hiện tại của nhân viên
6 Txtmkm TextBox Mật khẩu mới
7 Txtnlmk Textbox Nhập lại mật khẩu mới
8 Button1 Button Lưu mật khẩu
Trang 33Hình 7 - Màn hình thông tin sách
Mô tả chi tiết:
STT Tên Control Loại ConTrol Công Dụng
1 listView1 listView Hiển thị thông tin sách
2 Btnthem Button Gọi màn hình thêm sách
3 Btncapnhat Button Gọi màn hình cập nhật sách
4 Btnin Button In thông tin sách
Trang 34Hình 8 – Màn hình thêm phiếu nhập
Mô tả chi tiết:
STT Tên control Loại Control Công dụng
1 Label1 Label Công dụng của màn hình
2 Txtpn Textbox Mã phiếu nhập
3 Ngaynhap DateTimePicker Chọn ngày nhập
4 Cmbncc ComboBox Chọn nhà cung cấp
5 Ngaythanhtoan DateTimePicker Chọn ngày thanh toán
6 Cmbnv ComboBox Hiển thị nhân viên đăng nhập
7 rdbhet Radiobutton Thanh toán hết
8 Rdbno RadioButton Chưa thanh toán
20 22
Trang 3510 Txtmotphan TextBox Số tiền thanh toán trước
11 Cmbtl ComboBox Chọn thể loại
12 Button2 Button Gọi màn hình thêm thể loại
13 Cmbsach ComboBox Chọn tên sách
14 Button1 Button Gọi màn hình thêm sách
15 Txtslnhap TextBox Nhập số lượng sách nhập vào
16 Txtck TextBox Nhập chiết khấu
17 listView1 ListView Hiển thị chi tiết phiếu nhập
18 Btnthemchitiet Button Thêm chi tiết phiếu nhập
19 Button4 Button Lưu phiếu nhập
20 Btnin Button In phiếu nhập
21 Txttongtien TextBox Hiển thị tổng tiền
22 Button5 Button Đóng màn hình
3.3.6 Màn hình Thống kê phiếu nhập:
Trang 36Hình 9 – Màn hình thống kê phiếu nhập
Mô tả chi tiết:
STT Tên control Loại Control Công dụng
1 Label3 Label Công dụng của màn hình
2 Tungay DateTimePicker Chọn ngày bắt đầu
3 denngay DateTimePicker Chọn ngày kết thúc
4 Rdbhet RadioButton Thanh toán hết
5 Rdbno RadioButton Chưa thanh toán
6 Rdb1p radioButton Thanh toán 1 phần
7 Btntimkiem Button Tìm kiếm phiếu nhập
8 Btnin Button In thông tin phiếu nhập
9 Btndong Button Đóng màn hình
10 ListView1 ListView Hiển thị phiếu nhập
11 ListView2 ListView Hiển thị chi tiết phiếu nhập
3.3.7 Màn hình In thông tin phiếu nhập:
3
4 5 6
8 9
11
1
7 2
10
Trang 37Hình 10 – Màn hình in thông tin phiếu nhập
Mô tả chi tiết:
STT Tên control Loại Control Công dụng
1 CrystalReportViewer1 CrystalReportViewer Hiển thị report
2 CrystalReport2 CrystalReport Hiển thị thông tin được in
3.3.8 Màn hình Thêm phiếu xuất:
1
2
Trang 38Hình 11 - Màn hình thêm phiếu xuất
Mô tả chi tiết:
STT Tên control Loại Control Công dụng
1 Label1 Label Công dụng của màn hình
2 Txtpx Textbox Mã phiếu xuất
3 Ngaynhap DateTimePicker Chọn ngày bán
4 Cmbkh ComboBox Chọn tên khách hàng
5 Ngaythanhtoan DateTimePicker Chọn ngày thanh toán
6 Cmbnv ComboBox Hiển thị nhân viên đăng nhập
7 Rdbhet RadioButton Thanh toán hết
8 Rdbno RadioButton Chưa thanh toán
1
7
3
4 2
8
9 5
6
10 11
12
13 14
15
16 17 18
19
20
Trang 3910 Txtmotphan TextBox Số tiền thanh toán trước
11 Cmbtl ComboBox Chọn thể loại
12 Cmbsach ComboBox Chọn tên sách
13 Txtsl TextBox Nhập số lượng
14 lbkm Label Hiển thị khuyến mãi
15 listView1 ListView Hiển thị chi tiết phiếu xuất
16 Btnthemchitiet Button Thêm chi tiết phiếu xuất
17 Btnpx Button Lưu phiếu xuất
18 Btnin Button Gọi màn hình in
19 Txttongtien TextBox Tổng tiền
20 Btndong Button Đóng màn hình
3.3.9 Màn hình Thống kế phiếu xuất: