Nghiên cứu cơ sở lý thuyết về ASP.NET, MVC 5Xây dựng chức năng hiển thị sách mới nhất.Xây dựng chức năng thêm, xóa, sửa vào các mục như sách, nhà xuất bản, chủ đề sách…Xây dựng chức năng Upload hình ảnh đại diện cho sách.Xây dựng chức năng Thêm, sửa và xóa tài khoản đăng nhập.Xây dựng chức năng Lọc các kết quả sách theo chủ đề sách, nhà xuất bản, tác giả.Xây dựng chức năng hiển thị quảng cáo động.Xây dựng chức năng hiển thị tooltip động.Xây dựng chức năng tìm kiếm sáchXây dựng chức năng Tạo giỏ hàng.
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TPHCMKHOA CÔNG NGHỆ THÔNG TIN
*****
ĐỒ ÁN MÔN HỌC LẬP TRÌNH ỨNG DỤNG WEB
WEBSITE BÁN SÁCH
GIẢNG VIÊN HƯỚNG DẪN: ThS NGUYỄN ĐÌNH ÁNH
SINH VIÊN THỰC HIỆN:
NGUYỄN HUỲNH KIM DUYÊN 1311060507 13DTHM02
VĂN THÁI NHỰT DUY 1311060502 13DTNM02
Tháng 10 – Năm 2016
Trang 2LỜI CÁM ƠN
Em xin chân thành cám ơn thầy Nguyễn Đình Ánh là giáo viên hướng dẫn trong đề tài mà em thực hiện, em rất trân trọng sự giúp đỡ nhiệt tình của thầy để em có thể hoàn thành tốt đồ án này
Em cũng xin cám ơn khoa Công Nghệ Thông Tin đã tạo điều kiện tốt nhất để em có được những tiết học tuyệt vời
Em cũng xin cám ơn trường Đại học Công Nghệ là ngôi trường tuyệt đẹp và tốt nhất mà em từng học Xin cám ơn trường vì những đóng góp đã giúp em có được kiến thức không chỉ về mặc học vấn mà còn những kiến thức về xã hội để giúp em có thể vững bước trên con đường của chính mình
NHẬN XÉT CỦA GIẢNG VIÊN
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 3MỤC LỤC CHƯƠNG I: PHẦN MỞ ĐẦU 3
1 Lý do chọn đề tài 3
2 Mục tiêu và nhiệm vụ nghiên cứu 3
2.1 Mục tiêu nghiên cứu 3
2.2 Nhiệm vụ nghiên cứu 3
3 Đối tượng và khách thể nghiên cứu 3
3.1 Đối tương nghiên cứu 3
3.2 Khách thể nghiên cứu 3
4 Giới hạn đề tài 3
5 Phương pháp nghiên cứu 3
CHƯƠNG II: CƠ SỞ LÝ THUYẾT 3
1 Giới thiệu về ASP.net MVC 5 3
2 Lịch sử phát triển ASP.net MVC 3
3 Giới thiệu về Controller 3
4 Giới thiệu về View 3
5 Giới thiệu về Models 3
6 MVC làm việc như thế nào 3
7 Ưu khuyết điểm của MVC 3
7.1 Ưu điểm 3
7.2 Khuyết điểm 3
8 Sự khác biệt với WebForm 3
Trang 49 Lợi ích Web dựa trên mô hình MVC 3
CHƯƠNG III: KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG 3
1 Khảo sát hệ thống 3
1.1 Mục đích yêu cầu của trang Web 3
1.2 Yêu cầu của hệ thống mới 3
2 Phân tích hệ thống 3
2.1 Yêu cầuvề chi tiết Website 3
CHƯƠNG IV: NGHIÊN CỨU VÀ XÂY DỰNG TRANG WEB 4
1 Thiết kế cơ sở dữ liệu 4
1.1 Xác định thực thể 4
1.2 Mô hình quan hệ 4
1.3 Chi tiết các bảng dữ liệu 4
2 Cài đặt chương trình 4
2.1 Yêu cầu hệ thống 4
2.2 Cài đặt hệ thống 4
2.3 Hướng dẫn cài đặt chương trình 4
3 Thiết kế giao diện trang web 4
3.1 Phần dành cho User 4
3.2 Phần dành cho Admin 4
CHƯƠNG V: KẾT LUẬN 4
1 Ưu điểm 4
2 Hạn chế 4
3 Hướng phát triển 4
Trang 5CHƯƠNG I: PHẦN MỞ ĐẦU
1 Lý do chọn đề tài
Xã hội ngày càng tiến bộ, nhu cầu tiếp cận thông tin của mọi người ngày càng lớn, nhưng thôngtin có chọn lọc lại càng là nhu cầu lớn hơn, cũng xuất phát từ nhu cầu đó và cũng nhằm mụcđích tạo một kênh mua bán sách trên mạng, phục vụ cho tất cả mọi người, để họ có thể thuậntiện hơn trong việc tiếp cận nguồn tri thức nhân loại, trang web sẽ phục vụ bán sách trong cảnước, giao hàng và thu tiền tận nơi
2 Mục tiêu và nhiệm vụ nghiên cứu
2.1 Mục tiêu nghiên cứu
Tạo cho mọi người một trang mua bán sách mọi lúc, mọi nơi
2.2 Nhiệm vụ nghiên cứu
Nghiên cứu cơ sở lý thuyết về ASP.NET, MVC 5
- Xây dựng chức năng hiển thị sách mới nhất
- Xây dựng chức năng thêm, xóa, sửa vào các mục như sách, nhà xuất bản, chủ đề sách…
- Xây dựng chức năng Upload hình ảnh đại diện cho sách
- Xây dựng chức năng Thêm, sửa và xóa tài khoản đăng nhập
- Xây dựng chức năng Lọc các kết quả sách theo chủ đề sách, nhà xuất bản, tác giả
- Xây dựng chức năng hiển thị quảng cáo động
- Xây dựng chức năng hiển thị tooltip động
- Xây dựng chức năng tìm kiếm sách
- Xây dựng chức năng Tạo giỏ hàng
3 Đối tượng và khách thể nghiên cứu
3.1 Đối tương nghiên cứu
Website bán hàng qua mạng (hoanghaobookstore.somee.come).
3.2 Khách thể nghiên cứu
Trang 6Website bằng công nghệ ASP.NET, MVC 5
4 Giới hạn đề tài
Trang web có chức năng sau:
- Chức năng thêm xóa sửa sách, nhà xuất bản, tác giả, chủ đề sách
- Chức năng Hiển thị sách mới nhập
- Chức năng Hiển các sách cùng nhà xuất bản, tác giả, chủ đề sách
- Chức năng Upload hình ảnh đại diện
- Chức năng Hiển thị tooltip động hình đại diện cho từng cuốn sách
- Chức năng Đổi mật khẩu đăng nhập
- Chức năng Ghi nhớ mật khẩu đăng nhập
- Chức năng Tạo lịch khi click vào textbox nhập ngày tháng năm
- Chức năng Tạo giỏ hang
- Chức năng thêm quảng cáo động
5 Phương pháp nghiên cứu
- Tìm hiểu sách báo
- Tìm hiểu ở Mạng xã hội
- Tìm hiểu tại các Diễn đàn về Công Nghệ Thông Tin
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
1 Giới thiệu về ASP.net MVC 5
Trang 7- Controller: Nhận yêu cầu từ user
Xử lý và xây dựng Model phù hợpChuyển Model cho View
- View: Tiếp nhận Model từ Controller để sinh giao diện phù hợp
- Model: Chứa dữ liệu chia sẽ chung giữa Controller và View
2 Lịch sử phát triển ASP.net MVC
- Không còn Web Forms
- Không còn Visual Basic
- Hợp nhất MVC và Web API Controller
Trang 83 Giới thiệu về Controller
- Xử lý các tác động về mặt giao diện, các thao tác đối với models, và chọn view để hiển thị ra
màn hình
- Điều hướng các yêu cầu từ người dùng và gọi phương thức xử lý
- Trong MVC, view chỉ có tác dụng hiển thị giao diện, còn điều khiển vẫn do Controllers đảmtrách
4 Giới thiệu về View
- Chịu trách nhiệm hiển thị các thông tin lên cho người dùng thông qua giao diện
- Chứa các đối tượng GUI(Textbox, images )
- Các thông tin cần hiển thị được lấy từ thành phần Models
Ví dụ: Đối tượng Product có "Edit" view bao gồm các textboxes, các dropdowns và checkboxes
để chỉnh sửa các thuộc tính của sản phẩm
5 Giới thiệu về Models
- Lưu trữ thông tin, trạng thái của các đối tượng, là 1 lớp được ánh xạ từ 1 bảng trong CSDL
- Chứa tất cả các nghiệp vụ logic, phương thức xử lý, truy xuất database, các Class, hàm xử
Trang 9- User tương tác với View, bằng cách click vào button, gửi yêu cầu đi
- Controller nhận và điều hướng đến phương thức xử lý ở Model
- Model nhận thông tin và thực thi các yêu cầu, View sẽ nhận kết quả từ Model và hiển thị lại
cho người dùng
7 Ưu khuyết điểm của MVC
7.1 Ưu điểm
- Thể hiện tính chuyên nghiệp trong lập trình, PTTK
- Được chia thành các thành phần độc lập nên giúp phát triển ứng dụng nhanh, dễ nângcấp, bảo trì
- Ứng dụng tạo ra chạy ổn định trên Windows
- Đáp ứng nhiều loại thiết bị truy cập
- An toàn, dễ tích hợp
7.2 Khuyết điểm
- Đối với dự án nhỏ việc áp dụng mô hình MVC gây cồng kềnh, tốn thời gian trong quátrình phát triển
- Tốn thời gian trung chuyển dữ liệu của các thành phần
8 Sự khác biệt với WebForm
Trang 109 Lợi ích Web dựa trên mô hình MVC
- Dễ dàng quản lý sự phức tạp của ứng dụng bằng cách chia ứng dụng thành Model, View,Controller
- Không sử dụng view state hoặc server-based form Điều này tốt cho những lập trình viên muốnquản lý hết các khía cạnh của một ứng dụng
- Sử dụng mẫu Front Controller, mẫu này giúp quản lý các requests (yêu cầu) chỉ thông qua mộtController Hỗ trợ tốt hơn cho mô hình phát triển ứng dụng hướng kiểm thử (TDD)
- Hỗ trợ tốt cho các ứng dụng được xây dựng bởi những đội có nhiều lập trình viên và thiết kế
mà vẫn quản lý được tính năng của ứng dụng
Trang 11CHƯƠNG III: KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG
1 Khảo sát hệ thống
1.1 Mục đích yêu cầu của trang Web
Sau khi được học và tìm hiểu về ngôn ngữ ASP.NET và MVC 5, bằng khả năng thực tế vàkiến thức có được, nhóm em đã xây dựng Website Bán sách , đây là trang web sẽ giới thiệunhững quyển sách mới hàng ngày qua các mục được sắp xếp hợp lý
Qua nghiên cứu tìm hiểu về các Website có trên mạngnhóm chúng em đã rút ra được các yêucầu và mục đích mà trang Web cần đạt được…
1.2 Yêu cầu của hệ thống mới
- Hình thức thông tin đa dạng và sống động
- Giao diên thân thiện, dễ nhìn, màu sắc không đối lập
- Cung cấp thông tin và phát triển hoạt động
- Thông tin được cập nhật và sửa đổi thường xuyên
- Có khả năng cập nhật, sửa, xoá
- Có khả năng tra và tìm kiếm và đặt hàng một cách nhanh chóng
- An toàn dữ liệu
2 Phân tích hệ thống
2.1 Yêu cầu về chi tiết Website
- Hiển thị các danh mục
- Hiển thị chi tiết về thông tin có trong danh mục
- Hiển thị kết quả đăng kí, tìm kiếm, đăng nhập…
- Hiển thị được các thông tin mới, cập nhật hằng ngày
Đối với người truy cập Website với chức năng User
Cho phép đăng ký thành viên
Cho phép xem, tìm kiếm thông tin sản phẩm
Cho phép bình luận về các sản phẩm
Đối với người quản trị
Trang 12Quản lý các user: xoá, sửa, nhập thêm User, Admin
Cập nhật mới các thông tin liên quan, sửa thông tin , xoá thông tinKiểm tra, chỉnh sửa các bài Post lên của user và sau đó đăng bàiHiển thị thông tin lên theo nhóm sách, chuyên mục sách…
Biểu đồ phân cấp chức năng
Trang 13Sơ đồ luồng dữ liệu
CHƯƠNG IV: NGHIÊN CỨU VÀ XÂY DỰNG TRANG WEB
1 Thiết kế cơ sở dữ liệu
Trang 14- User: Đây là người sử dụng đăng nhập vào hệ thống để xem tin và gửi bài viết Thông tin
về User gồm Username, password, họ tên, mã nhóm, email…
- Loại thông tin: mỗi loại thông tin có một mã loại thông tin để phân biệt với các loại thôngtin khác.Cùng với mã loại thông tin còn có tiêu đề của loại thông tin
- Bản tin: mỗi bản tin có một mã bản tin để phân biệt với các bản tin khác Một bản tingồm các thông tin: title, shortcut, body, picture, creatdate, tags
- Xuất phát từ quá trình xác định các thực thể như trên ta có thể xây dựng một CSDL cótên là Database.mdf và CSDL gồm có các bảng sau:
a Bảng Quyền:
b Bảng Nhóm:
c Bảng Tb_DetailNews:
Trang 15d Bảng Tb_GroupNews:
1.2 Mô hình quan hệ
Trang 161.3 Chi tiết các bảng dữ liệu
Sach (MaSach, TenSach, GiaBan, MoTa, AnhBia, NgayCapNhat, SoLuongTon, MaNXB,
MaChuDe)
Tên bảng Mô tả bảng Tên thuộc tính Ý nghĩa Kiểu dữ liệu
Sach Mô tả thông tin
sách
Masach Mã sách (khóa
chính)
Int
AnhBia Hình minh họa
cho sách
Nvarchar(10)
NgayCapNhat Ngày cập nhật Datetime
MaChuDe Ngày cập nhật Smalldatetime
Chude (macd, tencd)
Tên bảng Mô tả bảng Tên thuộc tính Ý nghĩa Kiểu dữ liệu
Nhaxuatban (MaNXB, TenNXB, DiaChiNXB, DienThoaiNXB)
Tên bảng Mô tả bảng Tên thuộc tính Ý nghĩa Kiểu dữ liệu
Nhaxuatban Mô tả nhà xuất
bản
(khóa chính)
Int
DienThoaiNXB Điện thoại Vachar(11)
Trang 17Khachhang (MaKH, HoTen, TaiKhoan, MatKhau, Email, DiaChiKH, DienThoaiKH,
GioiTinh, NgaySinh)
Tên bảng Mô tả bảng Tên thuộc tính Ý nghĩa Kiểu dữ liệu
Khachhang Mô tả thông tin
TaiKhoan Tài khoản KH Nvarchar(50)
Email Email (thư điện
tử)
Nvarchar(50)
TacGia (MaTacGia, TenTacGia, DiaChiTacGia, TieuSu, DienThoaiTG)
Tên bảng Mô tả bảng Tên thuộc tính Ý nghĩa Kiểu dữ liệu
TacGia Mô tả chi tiết tác
DienThoaiTG Điện thoại varchar(11)
ChiTietDonHang (MaDonHang, Masach, SoLuong, DonGia)
Tên bảng Mô tả bảng Tên thuộc tính Ý nghĩa Kiểu dữ liệu
Quangcao Mô tả quảng cáo MaDonHang Mã đơn hàng
(khóa chính)
Int
Mã sách Mã sách (khóa Int
Trang 18chính)SoLuong Số lượng sách varchar(100)
ThamGia (MaSach,MaTacGia, VaiTro, ViTri)
Tên bảng Mô tả bảng Tên thuộc tính Ý nghĩa Kiểu dữ liệu
DonHang (MaDonHang, DaThanhToan, TinhTrangGiaoHang, NgayDat, NgayGiao, MaKH)
Tên bảng Mô tả bảng Tên thuộc tính Ý nghĩa Kiểu dữ liệu
DonHang Mô tả đơn hàng
UserRole (UserRoleID, RoleID, MaKH, CreateDate)
Tên bảng Mô tả bảng Tên thuộc tính Ý nghĩa Kiểu dữ liệu
Trang 19Tên bảng Mô tả bảng Tên thuộc tính Ý nghĩa Kiểu dữ liệu
2 Cài đặt chương trình
2.1 Yêu cầu hệ thống
Phần cứng: CPU: 2.5 Ghz trở lên
RAM: 1.5 GB trở lênCard đồ họa: 128 MB trở lên
60 GB HHD
Phần mềm: Hệ điều hành window 7, window 8, window 10
Visual studio 2013, 2015Sql server 2008, 2014Trình duyệt Firefox, Google Chrome
2.2 Cài đặt hệ thống
B1: Đầu tiên đa cài đặt sql server 2008 hoặc sql server 2014 sau đó cài đặt visual studio
2013 hoặc visual 2015
B2: Kế đến cài đặt trình duyệt Google Chrome, FireFox hoặc CocCoc v.v…
2.3 Hướng dẫn cài đặt chương trình
Đầu tiên ta copy tòan bộ đĩa và thư mục và ổ đĩa cục bộ trên máy tính:
Trang 20Sau đó ta khởi động visual studio 2013 sau đó trên menu chọn file -> open -> website -> chỉ đến thu mục lưu website bán sách ở ổ đĩa cứng (lưu ý là lưu website trên ổ đĩa cục bộ local) rồi nhấn open:
Trang 223 Thiết kế giao diện trang web
3.1 Phần dành cho User
Trang chủ là trang đầu tiên mà người sử dụng sẽ gặp khi ghé thăm trang web Tại trang chủ
khách viếng thăm sẽ thấy được những sách mới nhất mà cửa hàng cung cấp
Trang 23Trang sách theo chủ đề (Sach_theo_chu_de.aspx)
Trang 24Đây là trang hiển thị các chủ đề sách tương ứng khi bạn click vào menu chủ đề sách bên trái,tất cả các sách thuộc chủ đề sẽ hiển thị tương ứng ở phần giữa trang web, phần trên sách là chủ đề sách mà bạn chọn, tiếp theo là tổng số sách tương ứng.
Trang sách theo nhà xuất bản (Sach_theo_NXB.aspx)
Đây là trang hiển thị các nhà xuất bản tương ứng khi bạn click vào menu nhà xuất bản bên trái, tất cả các sách thuộc nhà xuất bản sẽ hiển thị tương ứng ở phần giữa trang web, phần trên sách là chủ đề sách mà bạn chọn, tiếp theo là tổng số sách tương ứng
Trang 25Trang giới thiệu (Gioi_Thieu.aspx)
Đây là trang giới thiệu về cửa hang sách
Trang đăng ký tài khoản mới (Dang_Ky.aspx)
Trang này dùng để người dùng đăng ký tài khoản mới để mua sách trực tuyến
Trang 26Trang đăng nhập tài khoản (Dang_Nhap_KH.aspx)
Trang này dùng để đăng nhập vào trang web, khi click vào checkbox “ghi nhớ mật khẩu cho lần đăng nhập sau” trang sẽ tự động đăng nhập khi bạn truy cập vào trang một lần nữa
Trang liên hệ (Lien_He.aspx)
Trang 27Trang này cung cấp thông tin cho người dùng địa chỉ, số điện thoại, email để họ có thể liên lạc với nhà sách.
Trang chi tiết sách (Chi_tiet_sach.aspx)
Trang hiển thi chi tiết cuốn sách khi bạn click vào tựa cuốn sách mà bạn quan tâm
Trang 28Sau khi đăng nhập bằng tài khoản user đây là trang sau khi đăng nhập
Bên phải là “menu người dùng” gồm có các lựa chọn: “thông tin các nhân”, “đổi mật khẩu”,
“thoát” đây là những menu quen thuộc đã được giới thiệu bên phần admin
Ngay phía dưới menu người dùng là menu giỏ hàng bên dưới là đường link liên kết đến trang giỏ hàng, phía dưới nữa là thông báo về tổng tiền đã mua sách
Để đến với trang giỏ hàng bạn nhấp vào nút chọn mua ở mỗi cuốn sách được hiển thị Sau khi nhấp vào nút “chọn mua”, bạn sẽ được đưa đến trang giỏ hàng với cuốn sách vừa chọn đây là giao diện: Tổng số sách và tổng tiền sẽ được cập nhật, nếu như bạn muốn xóa cuốn sách ra khỏi giỏ hàng chỉ việc nhấn vào “xóa sách”
Trang 29Sau khi đã chọn được những cuốn sách ưng ý, bạn nhấn vào nút thanh toán, sau khi nhấn ta
Trang 30CHƯƠNG V: KẾT LUẬN
1 Ưu điểm
- Thêm xóa sửa trong cơ sở dữ liệu, hiển thị số người đã ghé thăm trang web, số người đangonline, hiển thị quảng cáo động, tìm kiếm sách
- Hình thức thông tin đa dạng và sống động
- Giao diên thân thiện, dễ nhìn, màu sắc không đối lập
- Thông tin được cập nhật và sửa đổi thường xuyên
2 Hạn chế
- Kinh nghiệm thiết kế chưa nhiều
- Tuy đã thực hiện được hầu hết các yêu cầu, mục tiêu đề ra nhưng chương trình vẫn chưa đượctối ưu, chưa thực sự chuyên nghiệp
- Chủ đề sách và nhà xuất chưa phong phú
3 Hướng phát triển
-Kết nối report khi thanh toán
- Xây dựng hệ thống gửi mail cho khách hàng về những sách mới nhất
- Kết nối webservice thanh toán trực tuyến qua paypal
- Tìm hiểu thêm về ASP.NET để mở rộng thêm nhiều chức năng , sao cho màn hình trở nên tiện dụng hơn
- Thêm một số chức năng mới
- Thêm chức năng bảo mật
Tài liệu tham khảo
http://dinhanhvn.com
http://blogloi.com/huong-dan-hoc-html-can-ban-toan-tap/
http://hocwebchuan.com/