Xây dựng Website quảng cáo và mua bán sách qua mạng
Trang 1I-ĐẶC TẢ YÊU CẦU
1.Yêu cầu chức năng
1.1 Yêu cầu chức năng đối với khách hàng
Khách hàng là những người vào hệ thống tìm
kiếm các sách cần mua và đặt hàng với hệ thống Khách hàng có thể tìm sách mình cần theo : tên sách , tên tác giả, từ khóa …
Khách hàng có thể xem sơ lược :Tác giả , số trang giá bìa, nhà xuất bản…về tất cả sách theo nhiều
cách như: theo thể loại, muốn xem thông tin chi tiết về quyển nào thì click vào tên sách, ở trang sách chi tiết này khách hàng sẻ biết được mọi thông tin về
quểnsách này như:Tac gia,So trang, Nha xuat ban, Gia bia, Gia ban, Thoi gian chuyen hang(nếu ở xa) Dinh kem, Kich
thuoc, Trong luong, Nam xuat ban, Xuat ban lan, So ISBN,ngôn ngữ…tóm tắt nội dung sách, cũng như xem được những
ý kiến, đánh giá bình luận (comment) của các khách hàng khác, ở đây khách hàng cũng có thể comment, feedback, về quyển sách… để comment và feedback được thì yêu cầu cần phải đăng ký maillist và login bằng email và password mà mình đã đăng ký, nếu có thông tin gì mới website sẻ gủi thông tin, sách mới phát
hành… về email này.Ở trang chi tiết về quển sách nếuđồng ý mua thì click vào nút “giỏ hàng” thì sản phẩm đang xem sẻ được đưa vào giỏ hàng nếu không mua thì click vào “Hủy” thì trang trước đó sẻ được triệu
gọi,khách hàng có thể xóa, sửa, hủy giỏ hàng… Sau khi các sản phẩm đã có trong giỏ hàng, khách hàng có thể đặt hàng với hệ thống ,hệ thống sẽ nhận đơn đặt hàng của họ và hẹn ngày giao hàng
1.2 Yêu cầu chức năng đối với người quản trị
Người quản trị hệ thống là người làm chủ ứng dụng Họ có quyền kiểm soát mọi họat động của hệ thống Mỗi người quản trị hệ thống sẽ được cấp một username và một password để thực hiện chức năng của mình Họ phải đăng nhập vào hệ thống bằng username và password của mình
Trang 2Nếu như quá trình đăng nhập thành công thì người quảntrị hệ thống có những chức năng sau :
Chức năng đối với khách hàng, thành viên
+ Xem thông tin về khách hàng, về thành viên, vềngười quản trị
+ Thêm người quản trị, thêm thành viên mới
+ Xóa người quản trị, xóa khách hàng, thành
viên
+ Thay đổi thông tin của người quản trị, thay đổi thông tin của khách hàng, thay đổi thông tin của thành viên
Chức năng đối với sách
+ Xem thông tin về sách
+ Thêm sách mới
+ Xóa sách
+ Thay đổi các thông tin về sách
Chức năng đối với đơn đặt hàng
+ Xem đơn đặt hàng
+ Xóa đơn đặt hàng
1.3 Yêu cầu chức năng đối với website
Website thực hiện công việc quảng cáo và mua bán sách qua mạng, website trình bày sách theo chủ đề như :Tin học, bưu chính – viễn thông, khoa học – kỉ thuật…và dựa vào ngày tháng phát hành của mổi quyển sách mà website trình bày sách theo thời gian như: sách mới phát hành (10 đầu sách có ngày phát hành gần với giờ hệ thống nhất) , sách sắp phát hành (10 đầu sách có ngày phát hành lớn hơn ngày hiện tại của hệ thống), sách nhiều người mua( sách có nhiều người đặt hàng nhất)…
Khi click vào tên sách, website sẻ hiện lên trang chi tiết về quyển sách đó ở trang này website sẻ cung cấpđầy đủ thông tin về cuốn sách như :Tên sách, tác giả,số trang, nhà xuất bản,năm xuất bản, giá bán, kích thước, rate, những đánh giả của khách hàng…., ở trang này website còn cung cấp cho khách hàng comment,
đánh giá sách , nếu đồng ý mua quyển sách này khách hàng click vào “chọn hàn” thì quyển sách này sẻ
Trang 3được đưa vào giỏ hàng, không mua thì click vào “hủy”, website sẻ đưa khách hàng về trang trước.
Admin luôn có vai trò là 1, khi đăng nhập sẻ có tùy chọn vào trang quản lý hay vào trang chủ như một khách hàng, khách hàng khi đăng ký sẻ luôn có vai trò là 2 khi đăng nhập vào sẻ tự chuyển đến trang
chủ
Website còn cung cấp kho download các sản phẩm đính kèm theo mổi quyển sách ( nếu có) dành cho
những khách hàng đã mua sách trên website
Bộ máy tìm kiếm : tìm theo tên sách, tác giả, nhà xuất bản…
Thống kê số lượng sách hiện có của website
Chức năng nhận góp ý, phản hồi từ khách hàng.Ngoài ra còn nhiều chức năng khác
2.Yêu cầu phi chức năng
Việc tra cứu đòi hỏi phải chính xác
Thông tin về khách hàng, thông tin về Sách, … cần phải được lưu trữ định kỳ đề phòng những khả năng hỏng hóc có thể xảy ra
Chương trình phải ngăn chặn những truy cập trái phépcủa người dùng để bảo đảm tính an toàn
Chương trình phải có tính năng dễ nâng cấp, bảo trì, sửa chữa khi cần bổ sung, cập nhật những tính năng mới
Để đáp ứng nhu cầu của khách hàng, nhà sách luôn nghiên cứu, tìm kiếm những thông tin phản hồi của khách hàng cũng như để đầy mạnh việc kinh doanh của nhà sách, nhà sách sẽ nhập thêm những loại sách được nhiều khách hàng quan tâm mua nhất
Sách được nhập về dựa trên những thông tin như :
+ Nhu cầu của khách hàng
+ Thị trường
+
Trang 4Nhà sách còn phải xem xét thị trường xem sách nào bán chạy, sách nào bán chậm, … để đưa ra chiến lược kinh doanh như : ngưng nhập về những cuốn sách bán chậm hoặc ngưng nhập các sách không bán được, nhậpvề nhưng cuốn sách đang bán chạy trên thị trường …
II- MƠ HÌNH THỰC THỂ KẾT HỢP ERD
loaisach tensach tacgia sotrang nhaxuatban giaban kichthuoc trongluong namxuatban ngonngu
<pi> I VA50 VA200 VA50 I VA50 F8 A12 F8 D A20
<M>
DONDATHANG maddh
tenddh hinhthucthanhtoan hinhthucgiaohang ngaygiao
<pi> VA10 VA50 VA50 VA50 VA10
<M>
chitiet_ddh soluong I
SáchĐơn đặt hàngKhách hàng, thành viên1.2 Danh sách các mối kết hợp
Trang 52 chitiet_ddh hàng
Chi tiết đơn đặt hàng
2.Mô tả chi tiết các thuộc tính của thực thể
2.1 Thực thể SACH
Trang 65 ngaygiao VA10 Ngày giao
III- MÔ HÌNH VẬT LÝ
Trang 7loaisach tensach tacgia sotrang nhaxuatban giaban kichthuoc trongluong namxuatban ngonngu
int(4) varbinary(50) varbinary(200) varbinary(50) int(4) varbinary(50) float(8) char(12) float(8) date char(20)
<pk>
chitiet_ddh maddh
masach soluong
int(4) int(4) int(4)
<pk>
<pk,fk1>
comment macomment
mauser tenddh hinhthucthanhtoan hinhthucgiaohang ngaygiao
varbinary(10) int(4) varbinary(50) varbinary(50) varbinary(50) varbinary(10)
Trang 82.Danh sách các table mà table này tham chiếu đến
comment
Danh sách các table mà table này tham chiếu đến
o Table: CHITIET_DDH
Danh sách các thuộc tính
Trang 92
3
MaSPMaDDHSoLuong
nvarcharnvarcharint
Khóa ngoạiKhóa ngoại
Mã sản phẩm
Mã ĐĐH
Số lượng
Danh sách các table mà table này tham chiếu đến
o Table: DONDATHANG
Danh sách các thuộc tính
Trang 10 Danh sách các table mà table này tham chiếu đến
IV- GIAO DIỆN KẾT QUẢ
Trang 11Trang index.jsp
Trang 12Trang chitiet.jsp
Trang 13String DriverName = "sun.jdbc.odbc.JdbcOdbcDriver";
String connectionURL = "jdbc:odbc:muabansach";
Trang 15PrintWriter out = response.getWriter();
String DriverName = "sun.jdbc.odbc.JdbcOdbcDriver";
String connectionURL = "jdbc:odbc:muabansach";
Connection cn = null;
Statement smt = null;
ResultSet rs=null;
String email= request.getParameter("email");
String pass= request.getParameter("password");
String fullname= request.getParameter("fullname");
Trang 16//lay ten sach o cot masach bang voi masach vua lay ve
String sach_ct = "Select
tensach,image_url,tacgia,sotrang,nhaxuatban,giabia,giaban,thoigianchuyenhang,dinhkem,kichthuoc,trongluong,namxuatban,xuatbanlan,so_isbn,ngonngu,noidung,rate,soluongrate from tbsach where masach = '" +masach_ct+ "'";
Trang 17<li>Xếp loại: <img src="<%=rate_ct%>"/> Dựa trên <font
color="#FF0000"><b><%=soluong_rate_ct%></b></font> bài đánh giá.</li> <%
}
else{
%>
Trang 18<li>Xếp loại: <font color="#FF0000"><b>Chưa xếp
<p align="left">
Xin trân trọng giới thiệu đến các bạn quyển sách này.<br>
<! /////////////////////////////Begin Form add to cart /////////////////////// >
//day la form add to cart , khach hang click vao nut gio hang thi chuyen den trang addtocart.jsp -> cho san pham nay vao gio hang
Trang 19<form action="addtocart.jsp" name="addtocart" method="POST">
<input type="hidden" name="id" value="<%=masach_ct%>"> <input type="hidden" name="tensach" value="<%=tensach_ct%>"> <input type="hidden" name="giaban" value="<%=giaban_ct%>"> <input type="hidden" name="hinh" value="<%=hinh_ct%>">
<input type="hidden" name="trongluong" value="<%=trongluong_ct
%>">
<input type="image" src="ImageFiles/addtocart.gif">
<a href="index.jsp"><img src="ImageFiles/reset.gif" alt="Huy bo" border="0" name="Ve trang truoc"></a>
</form>
<! /////////////////////////////End Form add to cart /////////////////////// >
</p>
<hr color="#336699" noshade="noshade" size="1">
<font size="2"><b>Phần đánh giá của khách hàng:</b></font><br /><br /> <%
//Lay tat ca danh gia cua khach hang trong bang tbcomment ma cot masach bang voi ma sach vua lay ve
String user_comment = ("select * from tbcomment where masach= '" + masach_ct + "'");
Trang 20<font color="#337700" size="2">Rate:</font> <img src="<
//Tinh phan tram cho moi loai sao
phantram1 = (float)(100 * one_sao)/temp;
phantram2 = (float)(100 * two_sao)/temp;
phantram3 = (float)(100 * three_sao)/temp;
phantram4 = (float)(100 * for_sao)/temp;
phantram5 = (float)(100 * five_sao)/temp;
%>
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
Trang 21String capnhat_rate = "UPDATE tbsach SET rate=
'ImageFiles/1sao.png',soluongrate= '"+ one_sao +"' where masach= '" + masach_ct+ "'";
Trang 22smt.executeUpdate(capnhat_rate);
}
catch(Exception e){}
}
if(phantram2>=phantram1 && phantram2>phantram3 &&
phantram2>phantram4 && phantram2>phantram5){
try{
String capnhat_rate = "UPDATE tbsach SET rate=
'ImageFiles/2sao.png',soluongrate= '"+ two_sao +"' where masach= '" + masach_ct+ "'";
smt.executeUpdate(capnhat_rate);
}
catch(Exception e){}
}
if(phantram3>=phantram1 && phantram3>=phantram2 &&
phantram3>phantram4 && phantram3>phantram5){
try{
String capnhat_rate = "UPDATE tbsach SET rate=
'ImageFiles/3sao.png',soluongrate= '"+ three_sao +"' where masach= '" +
if(phantram4>=phantram1 && phantram4>=phantram2 &&
phantram4>=phantram3 && phantram4>phantram5){
try{
String capnhat_rate = "UPDATE tbsach SET rate=
'ImageFiles/4sao.png',soluongrate= '"+ for_sao +"' where masach= '" + masach_ct + "'";
smt.executeUpdate(capnhat_rate);
}
catch(Exception e){}
}
if(phantram5>=phantram1 && phantram5>=phantram2 &&
phantram5>=phantram3 && phantram5>=phantram4){
try{
String capnhat_rate = "UPDATE tbsach SET rate=
'ImageFiles/5sao.png',soluongrate= '"+ five_sao +"' where masach= '" + masach_ct+ "'";
smt.executeUpdate(capnhat_rate);
}
catch(Exception e){}
Trang 23}
}
%>
<hr color="#336699" noshade=noshade size=1>
<form action="savecomment" name="form5" method="post" onSubmit="return checkinputcomment();">
<b>Họ tên hoặc email</b><br /><br />
<input type="text" name="hoten" size="40" maxlength="40"/> <br><br />
<input type="hidden" name="id_hd" value="<%= masach_ct %>">
<input type="hidden" name="ts_hd" value="<%= tensach_ct %>">
<input type="hidden" name="ngaygiopost" value="<%=
Trang 24</TABLE>
</td>