Xây dựng website và ứng dụng quản lý cho Hệ thống bán sách
Trường Đại học Sài Gòn Khoa Công nghệ thông tin Đề tài Xây dựng website và ứng dụng quản lý cho Hệ thống bán sách GVHD: Th.s Cao Thái Phương Thanh Nhóm sinh viên thực hiện: 1. Phạm Ngọc Phi 3108410148 2. Hồ Văn Thơm 3108410210 3. Huỳnh Thị Như Hảo 3108410049 Tp Hồ Chí Minh, tháng 10 - 2011 Mục lục Phần I: Mô tả hệ thống 1. Mô tả ứng dụng: Nhà sách XX thành lập được một thời gian với đa dạng mọi thể loại sách dành cho mọi lứa tuổi. Do nhu cầu quản lý ngày càng cao và cần mở rộng thị trường kinh doanh, tìm kiếm khách hàng, nhà sách cần phát triển ứng dụng quản lý và 1 trang web để quảng bá sản phẩm đồng thời bán hàng trực tuyến. o Đối với trang web: Khách hàng có thể tìm kiếm sách và thông tin về quyển sách họ cần bằng cách nhập tên sách hoặc tên tác giả(tùy theo khách hàng nhớ). Sau khi tìm và chọn được sách cần mua, khách hàng thêm sách vào giỏ hàng. Họ có thể thêm hoặc xóa sách có trong giỏ hàng. Để hoàn thành việc đặt hàng, khách hàng cần đăng nhập vào trang web. Nếu là khách hàng cũ thì chỉ cần đăng nhập với tài khoản đã tạo. Ngược lại nếu là khách hàng mới thì phải tạo tài khoản mới để đăng nhập. Việc này giúp quản lý được thông tin khách hàng. o Đối với ứng dụng quản lý: Quy trình nhập hàng: khi có nhu cầu cung cấp sách thì nhà sách sẽ liên hệ với nhà cung cấp. Khi nhận hàng, nhân viên sẽ kiểm tra hàng và cập nhật danh mục sách. Mỗi quyển sách xác định được các thông tin: mã sách, mã thể loại, tác giả và giá sách có thể thay đổi theo thị trường. Quy trình bán hàng: sau khi kiểm tra đơn đặt hàng trên mạng của khách hàng, nhân viên sẽ kiểm tra danh mục sách và thông báo đến khách hàng nếu đáp ứng được hoặc không đáp ứng được đơn đặt hàng bằng việc điện thoại. Đồng thời cập nhật khách hàng mới vào danh sách khách hàng. Nếu đơn đặt hàng được đáp ứng, nhân viên sẽ viết phiếu xuất và lập hóa đơn bán hàng để thực hiện thanh toán với khách hàng, cập nhập lại số lượng tồn kho. Quản lý số lượng tồn kho: thông qua đơn đặt hàng của khách, nhân viên phải thường xuyên kiểm tra, theo dõi và nắm các thông tin về sách trong danh mục sách để có kế hoạch cung cấp hàng cho khách hoặc lên kế hoạch nhập hàng và đồng thời quản lý được số lượng sách tồn kho. Thống kê: Thủ kho có trách nhiệm thống kê số lượng sách tồn kho theo ngày và lưu vào cơ sở dữ liệu. Tùy thuộc vào yêu cầu của quản lý, thủ kho phải thống kê số lượng sách bán ra trong khoảng thời gian nhất định. Báo cáo: khi nhận được yêu cầu lập báo cáo, thủ kho có trách nhiệm lập báo cáo doanh thu trong khoảng thời gian xác định theo thể loại sách, ngoài ra thống kê số Xây dựng phần mềm theo mô hình phân lớp 2 lượng sách mỗi loại được bán ra trong khoảng thời gian đó trên số lượng nhập vào. Báo cáo cho quản lý nhà sách để đưa ra hướng kinh doanh có hiệu quả. 2. Xác định yêu cầu: Hệ thống đáp ứng được yêu cầu của khách hàng thì phải quản lý được tất cả các thông tin liên quan và thực hiện được các yêu cầu quản lý, cụ thể như sau: o Đối với trang web: Giới thiệu sách mới, sách bán chạy nhất. Khách hàng có thể tìm kiếm, xem thông tin về sách cần tìm. Khách hàng đặt hàng trực tuyến. o Đối với ứng dụng quản lý: Thống kê số lượng sách tồn kho theo ngày, theo thể loại. Thống kê số lượng sách bán ra theo thể loại và trong khoảng thời gian nhất định. Thống kê số lượng sách bán trong khoảng thời gian nhất định và giới hạn số lượng(trên hoặc dưới số lượng tùy chọn). Phần II: Phân tích – Thiết kế mô hình 1. Concept class diagram Xây dựng phần mềm theo mô hình phân lớp 3 Xây dựng phần mềm theo mô hình phân lớp 4 2. Physical data model 2.1 Mô hình: Xây dựng phần mềm theo mô hình phân lớp 5 2.2 Mô tả dữ liệu: Bảng 1: Sach - Sách STT Tên dữ liệu Kiểu dữ liệu Ý nghĩa Khóa 1 id int Hệ thống tự động phát sinh cho mỗi quyển sách 1 id khác nhau để phân biệt. Khóa chính. 2 Ms nvarchar(5) Mỗi quyển sách được đặt 1 mã số khác nhau để phân biệt với các quyển sách khác. 3 Ten_sach nvarchar(50) Mỗi quyển sách đều có 1 tên sách. 4 Don_vi_tinh nvarchar(10) Đơn vị dùng để tính sách. 5 Mo_ta nvarchar(256) Nội dung tóm tắt của mỗi quyển sách. 6 Hinh_minh_hoa nvarchar(256) Hình minh họa cho mỗi quyển sách. 7 Ngay_nhap datetime Ngày quyển sách được nhập về. 8 idChuDe int id chủ đề của mỗi quyển sách. Khóa ngoại. 9 idTacGia int id tác giả viết quyển sách đó. Khóa ngoại. Bảng 2: GiaSach – Giá sách STT Tên dữ liệu Kiểu dữ liệu Ý nghĩa 1 id int Hệ thống tự động phát sinh cho mỗi giá sách 1 id khác nhau để phân biệt. Khóa chính. 2 Don_gia float Giá trị. 3 Ngay_Dd datetime Ngày giá được bắt đầu áp dụng. 4 Ngay_Kt datetime Ngày kết thúc áp dụng cho giá đó. 5 DangApDung bit Phần kiểm tra giá có đang được áp dụng. 6 idSach int id sách ứng với id giá. Khóa ngoại. Xây dựng phần mềm theo mô hình phân lớp 6 Bảng 3: TacGia – Tác giả STT Tên dữ liệu Kiểu dữ liệu Ý nghĩa Khóa 1 id int Hệ thống tự động phát sinh cho mỗi tác giả 1 id khác nhau để phân biệt. Khóa chính. 2 Matg nvarchar(5) Mỗi tác giả được đặt 1 mã số khác nhau. 3 Ten_tac_gia nvarchar(50) Tên của mỗi tác giả. 4 Dia_chiTg nvarchar(50) Địa chỉ của mỗi tác giả. 5 Dien_thoaiTg nvarchar(11) Điện thoại của mỗi tác giả. Bảng 4: ChuDe – Chủ đề STT Tên dữ liệu Kiểu dữ liệu Ý nghĩa Khóa 1 id int Hệ thống tự động phát sinh cho mỗi chủ đề 1 id khác nhau để phân biệt. Khóa chính. 2 Mcd nvarchar(5) Mỗi chủ đề được đặt 1 mã số khác nhau. 3 Ten_chu_de nvarchar(50) Tên của mỗi chủ đề. Bảng 5: TonKho – Tồn kho STT Tên dữ liệu Kiểu dữ liệu Ý nghĩa Khóa 1 id int Hệ thống tự động phát sinh cho mỗi bảng tồn kho 1 id khác nhau để phân biệt. Khóa chính. 2 idSach int id của sách có trong bảng tồn kho. Khóa ngoại. 3 Tg_CapNhat datetime Ngày cập nhật tồn kho. 4 So_luong_ton int Số lượng tồn kho của mỗi sách. Xây dựng phần mềm theo mô hình phân lớp 7 Bảng 6: DonDatHang – Đơn đặt hàng STT Tên dữ liệu Kiểu dữ liệu Ý nghĩa Khóa 1 id int Hệ thống tự động phát sinh cho mỗi đơn đặt hàng 1 id khác nhau để phân biệt. Khóa chính. 2 Ngay_dat_hang datetime Ngày khách hàng đặt hàng trực tuyến. 3 Ngay_giao_hang datetime Ngày giao hàng cho khách. 4 Tong_tien float Số tiền khách hàng cần thanh toán. 5 Da_giao_hang bit Phần kiểm tra hàng đã được giao chưa. 6 idUser int id của khách hàng ứng với id của đơn đặt hàng. Khóa ngoại. Bảng 7: CT_DonDatHang – Chi tiết đơn đặt hàng STT Tên dữ liệu Kiểu dữ liệu Ý nghĩa Khóa 1 id int Hệ thống tự động phát sinh cho mỗi chi tiết đơn đặt hàng 1 id khác nhau để phân biệt. Khóa chính. 2 idDdh int id của đơn đặt hàng ứng với id chi tiết. Khóa ngoại. 3 idSach int id của sách có trong chi tiết đơn đặt hàng. Khóa ngoại. 4 Don_gia float giá của mỗi quyển sách có trong đơn đặt hàng. 5 So_luongdh int Số lượng khách hàng đặt. 6 Thanh_tien float Tổng tiền khách hàng cần thanh toán. Xây dựng phần mềm theo mô hình phân lớp 8 Bảng 8: Admin – Người quản trị hệ thống STT Tên dữ liệu Kiểu dữ liệu Ý nghĩa Khóa 1 userAdmin nvarchar(50) Tên đăng nhập của người quản trị hệ thống. Khóa chính. 2 passAdmin nvarchar(128) Mật khẩu khi đăng nhập. Bảng 9: KhachHang – Khách hàng STT Tên dữ liệu Kiểu dữ liệu Ý nghĩa Khóa 1 id int Hệ thống tự động phát sinh cho mỗi khách hàng 1 id khác nhau để phân biệt. Khóa chính. 2 tenDangNhap nvarchar(50) Tên khách hàng dùng đăng nhập vào hệ thống web. 3 matKhau nvarchar(128) Mật khẩu khi khách hàng đăng nhập ứng với mỗi tên đăng nhập. 4 Ngay_sinh datetime Ngày sinh của khách hàng. 5 Gioi_tinh nvarchar(3) Giới tính khách hàng. 6 Email nvarchar(50) Địa chỉ mail của khách hàng. 7 Dia_chiKh nvarchar(50) Địa chỉ của khách hàng – nơi giao hàng. 8 Dien_thoaiKh nvarchar(11) Điện thoại của khách hàng. Bảng 10: PhieuNhapHang – Phiếu nhập hàng STT Tên dữ liệu Kiểu dữ liệu Ý nghĩa Khóa 1 id int Hệ thống tự động phát sinh cho mỗi phiếu nhập 1 id khác nhau để phân biệt. Khóa chính. 2 Ngay_nhap datetime Ngày nhập hàng. 3 Tong_tien float Tổng tiền của mỗi phiếu nhập hàng. Xây dựng phần mềm theo mô hình phân lớp 9 Bảng 11: CT_PhieuNhapHang – Chi tiết phiếu nhập hàng STT Tên dữ liệu Kiểu dữ liệu Ý nghĩa Khóa 1 id int Hệ thống tự động phát sinh cho mỗi chi tiết phiếu nhập 1 id khác nhau để phân biệt. Khóa chính. 2 idSach int id của sách có trong chi tiết phiếu nhập. Khóa ngoại. 3 idPN int Id của phiếu nhập ứng với chi tiết phiếu nhập. Khóa ngoại. 4 So_luong_nhap int Số lượng của mỗi sách trong chi tiết phiếu. 5 Thanh_tien float Tổng tiền của mỗi chi tiết phiếu nhập. Xây dựng phần mềm theo mô hình phân lớp 10 [...]... khách hàng Nếu khách hàng nhớ rõ tên sách thì có thể tìm sách rất dễ dàng bằng cách nhập tên sách ở phần tìm kiếm của trang web Khách hàng A cần tìm quyển sách “Chiến tranh và hòa bình”: i Khách hàng sẽ nhập tên quyển sách này vào mục tên sách trong phần tìm kiếm ii Khách hàng click vào nút “Tìm kiếm” iii Hệ thống tiến hành tìm và hiển thị kết quả Có 2 kết quả: • Quyển sách khách hàng cần tìm sẽ được hiển... quyển sách “Tây du kí” o Giá bán: 50.000 VNĐ o Số lượng: 2 • Chọn quyển sách “Oxford yêu thương” o Giá bán: 55.000 VNĐ o Số lượng: 1 • Chọn quyển sách “Harry Potter và chiếc cốc lửa” o Giá bán: 150.000 VNĐ o Số lượng: 3 • Xóa quyển sách “Tây du kí” o Giá bán: 50.000 VNĐ o Số lượng: 2 • Chọn quyển sách “Bong bóng bay cao” o Giá bán: 30.000 VNĐ o Số lượng: 4 • Xóa quyển sách “Bong bóng bay cao” o Giá bán: ... hàng click vào nút “Tìm kiếm” iii Hệ thống tiến hành tìm kiếm và hiển thị kết quả Kết quả: • Trang web sẽ hiển thị tất cả sách thuộc thể loại “Kinh tế” Khách hàng sẽ chọn sách trong các kết quả hiển thị, xem chi tiết và đặt mua nếu muốn Xây dựng phần mềm theo mô hình phân lớp 33 c Đặt hàng: • Khách hàng đã có tài khoản: ID Decription Set up Instructions Expected results CV005 Quá trình đặt sách của khách... của website Người dùng muốn xem những thể loại theo tùy chọn của họ Người dùng thực hiện các thao tác sau: i Người dùng chọn thể loại Sách tin học” trong danh mục sách trên giao diện web ii Hệ thống xử lý và hiển thị sách theo tùy chọn của người dùng Kết quả đạt được như tùy chọn b Tìm kiếm: • Tìm theo tên sách: ID Decription Set up Instructions Expected results • CV002 Khách hàng cần tìm kiếm sách, ... tên sách thì có thể tìm sách bằng cách nhập tên tác giả ở phần tìm kiếm của trang web Khách hàng B sẽ thực hiện các thao tác: i Khách hàng nhập tên tác giả “Nguyễn Nhật Ánh” vào mục tên tác giả trong phần tìm kiếm ii Khách hàng click vào nút “Tìm kiếm” iii Hệ thống tiến hành tìm kiếm và hiển thị kết quả Có 2 kết quả: • Trang web sẽ hiển thị tất cả sách của tác giả “Nguyễn Nhật Ánh” có trong danh mục sách. .. lượng: 3 • Sách “Bong bóng bay cao” o Số lượng: 2 Xây dựng phần mềm theo mô hình phân lớp 34 • ID Decription Set up Instructions Khách hàng mới: CV006 Quá trình đặt sách của khách hàng Khách hàng B là 1 khách hàng mới - thực hiện các hành động sau: • Chọn quyển sách “Tây du kí” o Giá bán: 50.000 VNĐ o Số lượng: 2 • Chọn quyển sách “Oxford yêu thương” o Giá bán: 55.000 VNĐ o Số lượng: 1 • Chọn quyển sách. .. bán: 55.000 VNĐ o Số lượng: 1 • Chọn quyển sách “Harry Potter và chiếc cốc lửa” o Giá bán: 150.000 VNĐ o Số lượng: 3 • Xóa quyển sách “Tây du kí” o Giá bán: 50.000 VNĐ o Số lượng: 2 • Chọn quyển sách “Bong bóng bay cao” o Giá bán: 30.000 VNĐ o Số lượng: 4 • Xóa quyển sách “Bong bóng bay cao” o Giá bán: 30.000 VNĐ o Số lượng: 2 Sau khi chọn sách, khách hàng cần hoàn tất việc mua hàng bằng cách đăng nhập... Website chuyển qua trang chi tiết giỏ hàng Khách hàng nhấn nút “Đặt hàng” Hệ thống kiểm tra và thông báo đặt hàng thành công Kết quả đạt được sau khi đặt hàng - trong đơn đặt hàng được lưu gồm có: • Sách “Oxford yêu thương” o Số lượng: 1 • Sách “Harry Potter và chiếc cốc lửa” o Số lượng: 3 • Sách “Bong bóng bay cao” o Số lượng: 2 Xây dựng phần mềm theo mô hình phân lớp 36 ... trong danh mục sách có quyển sách “Chiến tranh và hòa bình” Khách hàng có thể xem chi tiết về quyển sách và đặt mua nếu muốn • Ngược lại, trang web sẽ hiển thị thông báo không tìm thấy kết quả nào Tìm theo tên tác giả: Xây dựng phần mềm theo mô hình phân lớp 32 ID Decription Set up Instructions Expected results • ID Decription Set up Instructions Expected results CV003 Khách hàng cần tìm kiếm sách, trang... CapNhatTonKho( ) 20: CapNhatTonKho( ) 21: 22: 23: 24: ShowMessage() 3.7 Quản lý tồn kho: Xây dựng phần mềm theo mô hình phân lớp 20 : TonKho : ADmin : XuLyTonKho : TonKho 1: KhoiTao( ) : frmTonKho 2: frmTonKho_Load( ) 3: Chon ngay xem ton kho 4: LoadTonKhoTheoNgay( ) 5: GetTonKhoByNgay( ) 6: Xây dựng phần mềm theo mô hình phân lớp 21 3.8 Báo cáo thống kê: a Báo cáo tồn kho: : ADmin : XuLyTheLoai : XuLyTonKho