Tải bản đầy đủ (.docx) (47 trang)

Xây dựng website và ứng dụng quản lý cho Hệ thống bán sách

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (647.58 KB, 47 trang )

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
3. Sequence diagram
3.1 Hiển thị sách theo phân loại:
1: Chon PLoai Sp
2: Redirect(this?idLoaiSP=x)
9: Load_DsSach( )
3: GetSachByTheLoai( )
8: return KetQua
4: GetSachByTheLoai( )
7: return KetQua
5: GetSacgbyTheLoaij( )
6: return KetQua
: KhachHang : KhachHang
: wfrmIndex : wfrmIndex
: XuLyTheLoai : XuLyTheLoai : XuLySach : XuLySach
: Sach : Sach
3.2 Tìm kiếm:
Xây dựng phần mềm theo mô hình phân lớp 11
Xây dựng phần mềm theo mô hình phân lớp 12
3.3 Đặt hàng:

: KhachHang : KhachHang
: wfrmDs_SachTheoPLoai : wfrmDs_SachTheoPLoai : wfrmChiTietGioHang : wfrmChiTietGioHang
: XuLyDonDatHang : XuLyDonDatHang : XuLyCT_DonDatHang : XuLyCT_DonDatHang
: DonDatHang : DonDatHang : CT_DonDatHang : CT_DonDatHang
GioHang ~
session["GioHang']
1: click nut ChonMua
3: click Xem gio hang
2: GioHang.Add()
4: Redirect("ChiTietGioHang.aspx")
5: Load_DsGioHang()
6: Click nut DatHang
8: InsertDdh( )
11: return Id_ddh
16: ShowMessage()
12: InsertCtDdh( )
15: return
9: Insert()
10: return Id_ddh
13: Insert()
14: return
7: KiemTraDangNhap()
Xây dựng phần mềm theo mô hình phân lớp 13
3.4 Quản lý sách:
a. Thêm sách:
: ADmin : ADmin
: frmDanhMucSach : frmDanhMucSach
: frmSach : frmSach
: XuLyTheLoai : XuLyTheLoai : XuLyTacGia : XuLyTacGia : XuLyGiaSach : XuLyGiaSach : XuLySach : XuLySach : XuLyTonKho : XuLyTonKho
: TheLoai : TheLoai : GiaSach : GiaSach : TacGia : TacGia : Sach : Sach : TonKho : TonKho

15: Nhap thong tin chi tiet sach
25: bt_LuuSach_Click ( )
24: Nhap thong tin gia
28: InsertGia( )
29: InsertGia( )
26: Insert( )
27: Insert( )
14: frmSach_Load( )
1: KhoiTao( )
12: bt_ThemSach_Click( )
13: KhoiTao( )
2: frmDanhMucSach_Load( )
6: GetALL( )
7: GetALL()
3: GetAll( )
4: GetAll( )
8:
5:
9: GetAllTacGia( )
10: GetAllTacGia( )
11:
16: Chon the loai
17: GetTheLoaiById( )
18: GetTheLoaiById( )
20: Chon tac gia
21: GetTacGiaById( )
22: GetTacGiaById( )
19:
23:
30: CapNhatTonKho( )

31: CapNhatTonKho( )
32:
33:
set slTon = 0
Xây dựng phần mềm theo mô hình phân lớp 14
b. Sửa sách:
18: bt_LuuSach_Click( )
19: Update( )
20: Update( )
21:
22: UpdateGiaBySach( )
23: UpdateGiaBySach( )
24:
: ADmin : ADmin
: frmDanhMucSach : frmDanhMucSach
: frmSach : frmSach
: XuLySach : XuLySach : XuLyTacGia : XuLyTacGia : XuLyTheLoai : XuLyTheLoai : XuLyGiaSach : XuLyGiaSach
: Sach : Sach : TheLoai : TheLoai : GiaSach : GiaSach : TacGia : TacGia
12: Chon sach
13: bt_SuaSach_Click( )
1: KhoiTao( )
2: frmDanhMucSach_Load( )
6: GetALL( )
7: GetALL()
8:
3: GetAll( )
4: GetAll( )
9: GetAllTacGia( )
10: GetAllTacGia( )
11:

16: Sua chi tiet sach
17: Cap nhat gia
15: frmSach_Load( )
5:
14: KhoiTao( )
Xây dựng phần mềm theo mô hình phân lớp 15
c. Xóa sách:
: ADmin : ADmin
: frmDanhMucSach : frmDanhMucSach
: XuLySach : XuLySach : XuLyGiaSach : XuLyGiaSach
: Sach : Sach : GiaSach : GiaSach
1: KhoiTao( )
2: frmDanhMucSach_Load( )
7: Chon sach
8: bt_XoaSach_Click( )
9: ShowMessage( )
3: GetAll( )
4: GetAll( )
13: Delete( )
14: Delete( )
10: DeleteALLGiaBySach( )
11: DeleteAllGiaBySach( )
12:
15:
16:
5:
6:
Xây dựng phần mềm theo mô hình phân lớp 16
3.5 Quản lý nhập sách:
a. Tạo phiếu nhập:

: ADmin : ADmin
: frmQuanLyPhieuNhap : frmQuanLyPhieuNhap
: frmPhieuNhap : frmPhieuNhap
: XuLySach : XuLySach : XuLyPhieuNhap : XuLyPhieuNhap : XuLyCT_PhieuNhap : XuLyCT_PhieuNhap : XuLyTonKho : XuLyTonKho
: Sach : Sach : PhieuNhap : PhieuNhap : TonKho : TonKho : CT_PhieuNhap : CT_PhieuNhap
1: KhoiTao( )
2: frmQuanLyPhieuNhap_Load( )
13: Tao phieu nhap
14: Chon san pham
16: bt_LuuPhieu_Click( )
17: InsertPhieuNhap( )
18: InsertPhieuNhap( )
21: InsertCT_PhieuNhap( )
22: InsertCT_PhieuNhap( )
6: bt_ThemPhieu_Click( )
3: GetDanhMucPhieu( )
4: GetDanhMucPhieu( )
5:
7: KhoiTao( )
8: frmPhieuNhap_Load( )
9: GetAll( )
10: GetAll( )
11:
12:
19:
20:
23:
24:
25: CapNhatTonKho( )
26: CapNhatTonKho( )

27:
28:
15: Nhap so luong
29: ShowMessage()
Xây dựng phần mềm theo mô hình phân lớp 17
b. Sửa phiếu nhập:
: ADmin : ADmin
: frmQuanLyPhieuNhap : frmQuanLyPhieuNhap
: frmPhieuNhap : frmPhieuNhap
: XuLySach : XuLySach : XuLyPhieuNhap : XuLyPhieuNhap : XuLyCT_PhieuNhap : XuLyCT_PhieuNhap : XuLyTonKho : XuLyTonKho
: Sach : Sach : PhieuNhap : PhieuNhap : CT_PhieuNhap : CT_PhieuNhap : TonKho : TonKho
1: KhoiTao( )
2: frmQuanLyPhieuNhap_Load( )
20: bt_LuuPhieu_Click( )
21: UpdatePhieuNhap( )
25: UpdateCT_PhieuNhap( )
22: UpdatePhieuNhap( )
26: UpdateCT_PhieuNhap( )
7: bt_SuaPhieu_Click( )
6: Chon phieu nhap
10: GetPhieuNhapById( )
11: GetPhieuNhapById( )
12:
13: GetCT_PhieuNhap( )
14: GetCt_PhieuNhap( )
15:
16: GetAll( )
17: GetAll( )
18:
19: Sua thong tin phieu nhap

3: GetDanhMucPhieu( )
4: GetDanhMucPhieu( )
8: KhoiTao( )
9: frmPhieuNhap_Load( )
5:
23:
24:
27:
28:
29: CapNhatTonKho( )
30: CapNhatTonKho( )
31:
32:
33: ShowMessage()
c. Xóa phiếu nhập:
Xây dựng phần mềm theo mô hình phân lớp 18

×