Bên cạnh những lợi ích to lớn mà thương mại điện tử mang lại cho xã hội như: các nướcnghèo có thể tiếp cận với các sản phẩm và dịch vụ từ các nước phát triển hơn, dịch vụ cộngđồng được c
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
Tel (84-511) 736 949, Fax (84-511) 842 771
Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn
LUẬN VĂN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH: 05115
ĐỀ TÀI:
XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ
MUA SẮM THỜI TRANG
Mã số: 09TLT-032
09TLT-040 Ngày bảo vệ: 15-16/06/2011
SINH VIÊN : NGUYỄN TIẾN HOÀI NAM
PHẠM THỊ HỒNG PHƯỚC
ĐÀ NẴNG, 06/2011
Trang 2Đặc biệt chúng em xin chân thành cảm ơn PGS TS Võ Trung Hùng đã tận tình hướng dẫn, động viên và giúp đỡ chúng em trong suốt thời gian thực hiện
đề tài.
Cuối cùng, chúng tôi xin chân thành cảm ơn bạn bè gần xa, bạn bè trong bộ môn Công nghệ đã giúp đỡ, chia sẻ kiến thức cũng như kinh nghiệm và tài liệu cho chúng tôi trong quá trình nghiên cứu thực hiện đề tài này.
Một lần nữa, xin chân thành cảm ơn!
Đà Nẵng, ngày 15 tháng 06 năm 2011
Nhóm sinh viên thực hiện Nguyễn Tiến Hoài Nam Phạm Thị Hồng Phước
Trang 3Chúng tôi xin cam đoan:
1 Những nội dung trong luận văn này là do chúng tôi thực hiện dưới sự hướng dẫn trực tiếp của PGS TS Võ Trung Hùng.
2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố.
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá,
chúng tôi xin chịu hoàn toàn trách nhiệm.
Nhóm sinh viên, Nguyễn Tiến Hoài Nam Phạm Thị Hồng Phước
Trang 4NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Đà Nẵng, ngày … tháng …… năm 2011
Giáo viên hướng dẫn
PGS.TS Võ Trung Hùng
Trang 5
.
Trang 6
Trang 7
Trang 8
Trang 9
TỔNG QUAN VỀ THƯƠNG MẠI ĐIỆN TỬ 2
I Các mô hình thương mại điện tử hiện có 2
II Các nguyên tắc đối với hệ thống thương mại điện tử 2
III Đặc điểm và phân loại thương mại điện tử 3
III.1 Đặc điểm 3
III.2 Phân loại 3
IV Lợi ích và hạn chế của thương mại điện tử 4
IV.1 Lợi ích: 4
IV.2 Hạn chế: 6
CƠ SỞ LÝ THUYẾT 7
I Tổng quan về công nghệ JSP 7
I.1 Khái niệm 7
I.2 Chu trình sống của JSP 7
II Tổng quan về Servlet 8
II.1 Khái niệm 8
II.2 Chu trình sống của Servlet 9
III Giới thiệu mô hình MVC 10
IV Tổng quan về công nghệ AJAX 11
V Tổng quan về cấu trúc MySQL 12
PHÂN TÍCH THIẾT KẾ HỆ THỐNG 15
I Khảo sát bài toán 15
I.1 Mô tả bài toán 15
I.2 Xác định các người dùng 16
I.3 Yêu cầu của từng người dùng 16
II Phân tích thiết kế hệ thống 16
II.1 Xác định các Actor 16
II.2 Xác định các Use Case 17
II.3 Xây dựng biểu đồ Use Case tổng quát 17
II.4 Xây dựng biểu đồ hoạt động 19
II.5 Biểu đồ trình tự ứng với từng Use Case chi tiết 21
II.6 Xây dựng biểu đồ lớp 37
XÂY DỰNG CHƯƠNG TRÌNH 39
I Thiết kế cơ sở dữ liệu 39
I.1 Định nghĩa thực thể 39
I.2 Sơ đồ liên kết các thực thể 44
II Demo ứng dụng 45
II.1 Giao diện module khách hàng 45
II.2 Giao diện module quản lý 52
III Kiểm thử 58
DANH MỤC HÌNH VẼ
Trang 10Hình 1: Cách làm việc của JSP 8
Hình 2: Chu trình hoạt động của Servlet 9
Hình 3: Mô hình MVC 10
Hình 4: Các actor 16
Hình 5: Biểu đồ Use Case tổng quát dành cho khách hàng 17
Hình 6: Biểu đồ Use Case tổng quát dành cho nhà quản lý 18
Hình 7: Biểu đồ Use Case tổng quát dành cho Admin 18
Hình 8: Biểu đồ hoạt động của việc mua hàng 19
Hình 9: Biểu đồ hoạt động của việc quản lý 20
Hình 10: Use Case đăng ký 21
Hình 11: Biểu đồ trình tự đăng ký 21
Hình 12: Use Case đăng nhập 22
Hình 13: Biểu đồ trình tự đăng nhập 22
Hình 14: Use Case khách hàng xem thông tin 23
Hình 15: Biểu đồ trình tự khách hàng xem thông tin 23
Hình 16: Use Case khách hàng sửa thông tin tài khoản 24
Hình 17: Biểu đồ trình tự khách hàng sửa thông tin tài khoản 24
Hình 18: Use Case khách hàng liên hệ 25
Hình 19: Biểu đồ trình tự khách hàng liên hệ 25
Hình 20: Use Case mua hàng 26
Hình 21: Biểu đồ tuần tự mua hàng 26
Hình 22: Use Case khách hàng thay đổi vật phẩm 27
Hình 23: Biểu đồ trình tự khách hàng thay đổi vật phẩm 27
Hình 24: Use Case người quản lý xem đơn hàng 28
Hình 25: Use Case người quản lý xem đơn hàng 28
Hình 26: Use Case thống kê 29
Hình 27: Biểu đồ trình tự thống kê 29
Hình 28: Use Case người quản lý xem thông tin 30
Hình 29: Biểu đồ trình tự người quản lý xem thông tin 30
Hình 30: Use Case người quản lý sửa thông tin 31
Hình 31: Biểu đồ trình tự người quản lý sửa thông tin 31
Hình 32: Use Case người quản lý xóa thông tin 32
Hình 33: Biểu đồ trình tự người quản lý xóa thông tin 32
Hình 34: Use Case Admin tạo user 33
Hình 35: Biểu đồ trình tự Admin tạo user 33
Hình 36: Use Case Admin xem thông tin tài khoản user 34
Hình 37: Biểu đồ trình tự Admin xem thông tin tài khoản user 34
Hình 38: Use Case Admin sửa thông tin tài khoản user 35
Hình 39: Biểu đồ trình tự Admin sửa thông tin tài khoản user 35
Hình 40: Use Case Admin xóa thông tin tài khoản user 36
Hình 41: Biểu đồ trình tự Admin xóa thông tin tài khoản user 36
Hình 42: Biểu đồ lớp biên(giao diện) 37
Hình 43: Biểu đồ lớp thực thể 38
Hình 44: Sơ đồ liên kết các thực thể 44
Hình 45: Phần trên của giao diện trang chủ 45
Hình 46: Phần dưới của giao diện chính 46
Hình 47: Giao diện sản phẩm chi tiết 47
Hình 48: Giao diện trang giỏ hàng 48
Trang 11Hình 51: Giao diện trang ngân lượng 51
Hình 52: Giao diện trang đăng nhập phần quản lý 52
Hình 53: Trang quản lý hệ thống 53
Hình 54: Giao diện trang sản phẩm 54
Hình 55: Giao diện trang thêm sản phẩm 55
Hình 56: Giao diện trang quản lý đơn hàng 56
Hình 57: Giao diện trang thống kê hóa đơn 57
Trang 12DANH MỤC BẢNG
Bảng 1: Các hình thức thương mại phổ biến 3
Bảng 2: Bảng các Use Case 17
Bảng 3: Thực thể tbl_account 39
Bảng 4: Thực thể tbl_dtz 40
Bảng 5: Thực thể tbl_order 40
Bảng 6: Thực thể tbl_orderdetail 41
Bảng 7: Thực thể tbl_product 41
Bảng 8: Thực thể tbl_productcategory 42
Bảng 9: Thực thể tbl_makeup 42
Bảng 10: Thực thể tbl_news 43
Bảng 11: Thực thể tbl_brand 43
Bảng 12: Bảng kết quả kiểm thử chức năng 59
Trang 13Công nghệ thông tin là một cuộc cách mạng khoa học kỹ thuật to lớn của thế giới Nó đã
và đang giúp thay đổi toàn diện và hiệu quả tất cả mọi lĩnh vực: quân sự, y tế, giáo dục, kinhdoanh… Ở Việt Nam, lĩnh vực công nghệ thông tin đã trở thành một phần quan trọng củacuộc sống: nó góp phần thúc đẩy kinh tế, gắn kết các quốc gia trên thế giới, nâng cao hiểubiết và khả năng tìm tòi của con người… Cùng với sự phát triển vượt bậc của công nghệthông tin, thương mại điện tử đã ra đời và phát triển Nó không chỉ làm thay đổi cách thứckinh doanh, giao dịch truyền thống, mà còn mang lại các cơ hội trong kinh doanh và đáp ứngcác nhu cầu của người tiêu dùng qua Internet
Bên cạnh những lợi ích to lớn mà thương mại điện tử mang lại cho xã hội như: các nướcnghèo có thể tiếp cận với các sản phẩm và dịch vụ từ các nước phát triển hơn, dịch vụ cộngđồng được cung cấp thuận tiện hơn, nâng cao mức sống cho mọi người Thương mại điện tửcòn giúp cho việc kinh doanh của các doanh nghiệp và việc mua sắm của người tiêu dùngthuận lợi hơn Do đó, qua quá trình nghiên cứu và tìm hiểu nhu cầu thực tế về thương mạiđiện tử, chúng tôi đã chọn đề tài “Xây dựng website thương mại điện tử mua sắm thời trang”làm đề tài cho khóa luận tốt nghiệp của mình
Trong khoảng thời gian cho phép thực hiện đề tài thì chúng tôi đã giới hạn nội dungnghiên cứu trong phạm vi: tìm hiểu thương mại điện tử; lý thuyết công nghệ; xây dựngwebsite thương mại điện tử nhằm giới thiệu, quảng bá sản phẩm, thương hiệu, hệ thống bánhàng và thanh toán trực tuyến
Suốt quá trình thực hiện đề tài này chúng tôi đã chọn phương pháp: nghiên cứu lý thuyết
về công nghệ và bài toán thực tế để đi đến xây dựng ứng dụng Nội dung chính của đề tài baogồm 4 chương:
Chương 1: Giới thiệu cái nhìn tổng quan về thương mại điện tử, các mô hình kinh doanh
trong thương mại điện tử, lợi ích, hạn chế
Chương 2: Tổng quan công nghệ JSP, tìm hiểu cách thức hoạt động của SERVLET;
Giới thiệu mô hình MVC, ưu điểm và nhược điểm của mô hình MVC; Tổng quan công nghệAJAX; Tổng quan về cấu trúc MySQL
Chương 3: Khảo sát bài toán để xác định yêu cầu của người dùng; Phân tích thiết kế hệ
thống, xác định các actor và use case để xây dựng biểu đồ use case, xây dựng biểu đồ hoạtđộng, và từ biểu đồ use case ta có thể xây dựng biểu đồ trình tự, xây dựng biểu đồ lớp
Chương 4: Xây dựng chương trình, thiết kế cơ sở dữ liệu, demo ứng dụng, kiểm thử.
Trang 14CHƯƠNG 1
TỔNG QUAN VỀ THƯƠNG MẠI ĐIỆN TỬ
Thương mại điện tử(E-commerce) chỉ việc thực hiện những giao dịch thương mại dựa
trên các công cụ điện tử mà cụ thể là mạng Internet và WWW(World Wide Web)
Thương mại điện tử là một loại hình thương mại có sự trợ giúp của các phương tiện điện
tử và mạng công nghệ thông tin, đặc biệt là máy tính và công nghệ máy Những mặt hàngcủa thương mại điện tử ngoài những mặt hàng thông thường còn có những mặt hàng mangtính đặc thù(các sản phẩm số hay phần mềm)
I Các mô hình thương mại điện tử hiện có
Cửa hàng trực tuyến(E-Shop): bạn có thể bán hàng hóa, dịch vụ hay thông tin trên mạng
theo mô hình này Tại “cửa hiệu” của bạn, khách hàng có thể đọc và xem các thông tin chitiết về sản phẩm, dịch vụ và thông tin về doanh nghiệp của bạn một cách thuận tiện nhất,việc tạo điều kiện cho khách hàng thanh toán qua mạng khi mua lẻ sẽ là lợi thế cạnh tranhcho bạn Đây là mô hình mà hầu hết các doanh nghiệp vừa và nhỏ ở Việt Nam đều có thể ápdụng, đơn giản nhất là đưa thông tin về doanh nghiệp, sản phẩm, hay dịch vụ lên mạng đểtạo điều kiện cho khách hàng thu nhập thông tin dễ dàng nhất Để lợi thế hơn, nên tạo điềukiện cho khách hàng thanh toán qua mạng để phục vụ khách hàng tốt hơn
Sàn giao dịch trực tuyến(E-Auction): sàn đấu giá mới xuất hiện trở lại ở Việt Nam gần
đây Đấu thầu cũng là một hình thức đấu giá Nói chung, có rất nhiều loại đấu giá vàeBay(http://www.ebay.com) là một nhà tiên phong trong lĩnh vực E-Auction này Với thựctrạng của Việt Nam thì đây chưa phải là thời điểm để quan tâm nhiều đến đấu giá trực tuyến
Cổng thông tin(Portals): cổng thông tin là một nơi sắp xếp, sàng lọc thông tin(chủ yếu là
các địa chỉ web) nhằm tạo ra điều kiện tìm kiếm dễ dàng cho người sử dụng trong một khốithông tin khổng lồ và cho phép doanh nghiệp tạo cửa hàng trên cổng thông tin chung
II Các nguyên tắc đối với hệ thống thương mại điện tử
Tính rõ ràng(Transparency): mọi thông tin về các điều khoản mua bán cần phải được
đăng tải rõ ràng trên các website thương mại điện tử và khách hàng khi muốn thực hiện giaodịch cũng nên đọc kỹ những thông tin này trước khi quyết định mua
Tính tin cậy(Reliability): đòi hỏi phải có tính tin cậy trong thông tin được đăng tải(người
bán phải nỗ lực trong việc đưa tin trung thực và cập nhật những thông tin này một cáchthường xuyên), tính tin cậy trong giao dịch điện tử(người bán phải đảm bảo sử dụng côngnghệ truyền tin an toàn), tính tin cậy về hệ thống hoạt động để đảm bảo không gây ra sai sótnghiêm trọng và tính tin cậy trong các vấn đề xác thực(như chữ ký điện tử, các hợp đồngđiện tử)
Trang 15Tính bảo mật và riêng tư(Confidentiality and Privacy): những thông tin về cá nhân
khách hàng, đặc biệt là những thông tin quan trọng như thẻ tín dụng, email, điện thoại phảiđược
Trang 16Xây dựng website thương mại điện tử mua sắm thời trang
bảo mật và tôn trọng, có nghĩa là người bán không được tự ý lưu trữ hay sử dụng trái phép
những thông tin này
III Đặc điểm và phân loại thương mại điện tử
III.1 Đặc điểm
điện tử khác
xuất, kinh doanh hoạt động của hầu hết các tổ chức
lịch, tư vấn)
kết và chia sẻ thông tin giữa doanh nghiệp, nhà cung cấp, nhà phân phối, và khách
hàng góp phần nâng cao hiệu quả kinh doanh
mại điện tử tập trung vào mua bán và trao đổi hàng hóa, dịch vụ, thông tin qua các
mạng, các phương tiện điện tử và Internet Kinh doanh điện tử tập trung vào phối hợp
các doanh nghiệp, đối tác, khách hàng và tổ chức các hoạt động trong nội bộ doanh
nghiệp dựa trên mạng nội bộ
của ICT Nhờ sự phát triển của ICT mà thương mại điện tử ra đời, tuy nhiên, sự phát
triển của Thương mại điện tử cũng thúc đẩy và gợi mở nhiều lĩnh vực của ICT như
phần cứng và phần mềm chuyên dụng cho các ứng dụng thương mại điện tử, dịch vụ
thanh toán cho thương mại điện tử
III.2 Phân loại
nghiệp(B), người tiêu dùng(C), ta có các hình thức như sau:
G(Government) B(Business) C(Consumer) G(Government
Trang 17o B2C (Business to consumer - doanh nghiệp với người tiêu dùng): mối quan hệgiữa doanh nghiệp với người tiêu dùng Đây là loại hình điển hình cho các websitebán lẻ sản phẩm, ở đó người bán là doanh nghiệp và người mua là người tiêu dùng.
o C2C (Consumer to consumer - người tiêu dùng với người tiêu dùng): để chỉ vềhoạt động mua bán được tiến hành giữa 2 cá nhân thông qua mạng Internet Loạihình này phổ biến trong các website đầu giá, mua bán, rao vặt ở đó người bán vàngười mua có thể rao bán, chọn mua sản phẩm và tiến hành các giao dịch mua bántrực tiếp
o C2G (Consumer to government - chính phủ với người tiêu dùng): để chỉ các hoạtđộng trao đổi thông tin giữa người tiêu dùng với chính phủ
o C2B (Consumer to business - người tiêu dùng với doanh nghiệp): mối quan hệgiữa người tiêu dùng với các doanh nghiệp Ví dụ: người tiêu dùng so sánh giá cảsản phẩm giữa các doanh nghiệp
Phân loại theo công nghệ kết nối mạng: thương mại di động(không dây)
Phân loại theo hình thức dịch vụ: siêu thị, cửa hàng, đấu giá, giá động, chínhphủ điện tử, đào tạo trực tuyến, test online
Phân loại theo mức độ phối hợp, chia sẻ và sử dụng thông tin qua mạng:thương mại thông tin, thương mại giao dịch, thương mại cộng tác
IV Lợi ích và hạn chế của thương mại điện tử
IV.1 Lợi ích:
Lợi ích đối với các tổ chức:
Mở rộng thị trường: với chi phí đầu tư nhỏ hơn nhiều so với thương mạitruyền thống, các công ty có thể mở rộng thị trường, tìm kiếm, tiếp cận người cung
Trang 18Xây dựng website thương mại điện tử mua sắm thời trang
cấp, khách hàng và đối tác trên khắp thế giới Việc mở rộng mạng lười nhà cung cấp,khách hàng cũng cho phép các tổ chức có thể mua với giá thấp hơn và bán được nhiềusản phẩm hơn
Giảm chi phí sản xuất: giảm chi phí giấy tờ, giảm chi phí chia xẻ thông tin,chi phí in ấn, gửi văn bản truyền thông
Cải thiện hệ thống phân phối: giảm lượng hàng lưu kho và độ trể trong phânphối hàng Hệ thống cửa hàng giới thiệu sản phẩm được thay thế hoặc hỗ trợ bởi cácShowroom trên mạng
Vượt giới hạn về thời gian: việc tự động hóa các giao dịch thông qua Web vàInternet giúp hoạt động kinh doanh được thực hiện liên tục mà không mất nhiều chiphí biến đổi
Sản xuất theo yêu cầu: còn được biết đến với tên gọi “chiến lược kéo”, lôi kéokhách hàng đến với doanh nghiệp bằng khả năng đáp ứng mọi nhu cầu khách hàng
Mô hình kinh doanh mới: các mô hình kinh doanh mới với những lợi thế vàgiá trị mới cho khách hàng
Tăng tốc độ tung sản phẩm ra thị trường: với lợi thế về thông tin và khả năngphối hợp giữa các doanh nghiệp làm tăng hiệu quả sản xuất và giảm thời gian tungsản phẩm ra thị trường
Giảm chí phí thông tin liên lạc và giảm chi phí mua sắm
Củng cố quan hệ khách hàng: thông qua việc giao tiếp thuận tiện qua mạng,quan hệ với trung gian và khách hàng được củng cố dễ dàng hơn Đồng thời việc cábiệt hóa sản phẩm và dịch vụ cũng góp phần thắt chặt quan hệ với khách hàng vàcủng cố lòng trung thành
Thông tin cập nhật: mọi thông tin trên web như sản phẩm, dịch vụ, giá cả đều có thể được cập nhật nhanh chóng và kịp thời
Chi phí đăng ký và kinh doanh: một số nước và khu vực khuyến khích bằngcách giảm hoặc khi thu phí đăng ký kinh doanh qua mạng Thực tế, việc thu nếu triểnkhai cũng gặp nhiều khó khăn do đặc thù của Internet
Các lợi ích khác: nâng cao uy tín, hình ảnh doanh nghiệp, cải thiện chất lượngdịch vụ khách hàng, đơn giản hóa và chuẩn hóa các quy trình giao dịch, tăng năngsuất, tăng khả năng tiếp cận thông tin và giảm chi phí vận chuyển, tăng sự linh hoạttrong giao dịch và hoạt động kinh doanh
Lợi ích đối với người tiêu dùng:
Vượt giới hạn không gian và thời gian: thương mại điện tử cho phép kháchhàng mua sắm mọi nơi, mọi lúc đối với các cửa hàng trên khắp thế giới
Nhiều lựa chọn về sản phẩm và dịch vụ: thương mại điện tử cho phép ngườimua có nhiều lựa chọn hơn vì tiếp cận được nhiều nhà cung cấp hơn
Giá thấp hơn: do thông tin thuận tiện, dễ dàng và phong phú hơn nên kháchhàng có thể so sánh giá cả giữa các nhà cung cấp thuận tiện hơn và từ đó tìm đượcmức giá phù hợp
Trang 19 Giao hàng nhanh hơn với các loại hàng hóa có thể số hóa được: đối với các
sản phẩm số hóa được như phim, nhạc, sách, phần mềm việc giao hàng được thực
hiện dễ dàng thông qua Internet
Thông tin phong phú, thuận tiện và chất lượng cao hơn: khách hàng có thể dễ
dàng tìm được thông tin nhanh chóng thông qua các công cụ tìm kiếm hay thông qua
các thông tin đa phương tiện(âm thanh, hình ảnh)
Cộng đồng thương mại điện tử: môi trường kinh doanh thương mại điện tử
cho phép mọi người tham gia có thể phối hợp, chia sẻ thông tin và kinh nghiệm hiệu
quả nhanh chóng
Đáp ứng mọi nhu cầu: khả năng tự động hóa cho phép chấp nhận các đơn đặt
hàng khác nhau từ mọi khách hàng
Trong giai đoạn đầu của thương mại điện tử nhiều nước khuyến khích bằng
cách miễn thuế đối với các giao dịch trên mạng
Lợi ích đối với xã hội:
Hoạt động trực tuyến: thương mại điện tử tạo ra môi trường để làm việc, mua
sắm, giao dịch từ xa nên giảm tải đi lại, ô nhiễm và tai nạn
Nâng cao mức sống: nhiều hàng hóa, nhiều nhà cung cấp tạo áp lực giảm giá
do đó khả năng mua sắm của khách hàng cao hơn, nâng cao mức sống cho mọi người
Lợi ích cho các nước nghèo: những nước nghèo có thể tiếp cận với các sản
phẩm, dịch vụ từ các nước phát triển hơn thông qua Internet và thương mại điện tử
Đồng thời có thể học tập được kinh nghiệm, kỹ năng được đào tạo qua mạng
Dịch vụ được cung cấp thuận tiện hơn: các dịch vụ cộng đồng như ý tế giáo
dục, các dịch vụ công của chính phủ được thực hiện qua mạng với chí phí thấp hơn,
thuận tiện hơn Cấp các loại giấy phép qua mạng, tư vấn y tế là các ví dụ thành
công điển hình
IV.2 Hạn chế:
tử
không được gặp trực tiếp
thiện
giao dịch điện tử cần thời gian
Trang 20CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
I Tổng quan về công nghệ JSP
JSP (viết tắt của tiếng Anh JavaServer Pages) còn được biết đến với một cái tên khác là
Java Scripting Preprocessor- tạm dịch là "Bộ tiền xử lý văn lệnh Java"- là một công nghệ
Java cho phép các nhà phát triển tạo nội dung HTML, XML hay một số định dạng khác củatrang web một cách năng động, trong khi hồi âm yêu cầu của trình khách Công nghệ này cho
phép người ta nhúng mã Java và một số hành động xử lý đã được định trước(pre-defined
actions) vào trong nội dung tĩnh của trang.
Cú pháp của JSP cho thêm các thẻ XML mới, gọi là JSP actions - hành động JSP Những
"hành động JSP" này được dùng để khởi động chức năng sẵn có, là những chức năng đã đượcxây dựng trước Cộng thêm vào đó, công nghệ còn cho phép chúng ta tạo ra các thư viện thẻ
JSP (JSP tag libraries), là những cái đóng vai trò vào việc mở rộng các thẻ HTML hay XML tiêu chuẩn Thư viện thẻ (Tag libraries) là phương pháp mở rộng khả năng của một máy chủ
web trong khi những mở rộng đó không phụ thuộc vào hệ nền (về cả cấu trúc máy cũng như
hệ điều hành được dùng)
Trước khi hiển thị ra trình duyệt, tập tin JSP phải được biên dịch thành Servlet, dùng bộ
biên dịch JSP (JSP compiler) Bộ biên dịch JSP có thể tạo servlet thành mã nguồn Java trước, rồi biên dịch mã nguồn ra tập tin class dùng bộ biên dịch Java, hoặc có thể trực tiếp tạo mã byte code cho servlet từ trang JSP.
Chu trình sống của JSP trải qua các giai đoạn:
Biên dịch trang JSP: Khi trình duyệt yêu cầu trang JSP ví dụ như triệu gọi trang JSP
bằng URL http://localhost:8080/helloWord.jsp Web server sẽ kiểm tra trang JSP đã đượcbiên dịch hay chưa Nếu chưa biên dịch hoặc đã biên dịch nhưng trang JSP mới vừa thay đổitrong mã nguồn thì Web server sẽ thực hiện biên dịch trang JSP.Quá trình biên dịch trangJSP thực tế là chuyển trang JSP thành servlet
Nạp trang: Kể từ giai đoạn này quá trình nạp trang tương tự như servlet Chỉ có điều
khác biệt đó là servlet chỉ được nạp một lần trong khi mã trang JSP mặc dù đã biên dịchnhưng phải nạp lại nhiều lần mỗi khi Web server nhận được yêu cầu từ trình duyệt
Khởi tạo: Khi nạp mã trang thành công Web server sẽ gọi đến phương thức khởi tạo
trang.Và mặc dù JSP được biên dịch ra servlet nhưng phương thức khởi tạo cho trang JSP lạimang tên jspInit() chứ không phải là init() như servlet
Trang 21Thực thi: Sau quá trình khởi tạo Web server sẽ gọi đến phương thức jspService(khác với
servlet gọi đến phương thức dopost(), doget() hoặc service()) Phương thức jspService sẽchuyển cho hai lớp đố tượng HttpServletRequest và HttpServletResponse để đọc và ghi kếtquả trả về trình khách
Dọn dẹp: Khi trang JSP đã thực hiện xong, trình chủ Webserver sẽ gọi phương thức
jspDestroy() để giải phóng mã trang khỏi bộ nhớ
Mô tả cách làm việc của JSP:
II Tổng quan về Servlet
II.1 Khái niệm
Công nghệ Servlet phát triển ứng dụng web được thành lập dựa trên ngôn ngữ Java Bởivậy sự hiểu biết về công nghệ servlet và kiến trúc của nó là rất quan trọng nếu bạn muốn trởthành một nhà phát triển servlet Nếu ứng dụng web của bạn được viết bằng JSP Thì bạn nêntìm hiểu về servlet và kết hợp cả hai: JSP và Servlet Vì vốn hiểu biết về công nghệ Servletgiúp bạn xây dựng một ứng dụng bằng JSP hiệu quả hơn
Trang 22Xây dựng website thương mại điện tử mua sắm thời trang
II.2 Chu trình sống của Servlet
Mô tả chu trình hoạt động của Servlet:
Hình 2: Chu trình hoạt động của Servlet.
Nạp Servlet: Chu trình sống tính từ khi servlet bắt đầu được hệ thống lưu tâm đến(như
gọi nạp vào bộ nhớ) cho đến khi nó bị loại khỏi trình chủ Web server vì không còn cần đếnnữa Quá trình sống của Servlet trải qua các giai đoạn sau:
Tùy theo điều kiện một servlet có thể nạp vào bộ nhớ ở 3 thời điểm khác nhau: khi serverkhởi động, khi người quản trị yêu cầu hoặc khi trình duyệt triệu gọi servlet từ máy khách.Hầu hết các Web server đều cho phép bạn chọn danh sách servlet sẽ được ưu tiên nạp lúcWeb server khởi động
Tuy tốn ít thời gian nhưng sau đó servlet đã trong trạng thái sẵn sàng có thể phục vụ trìnhkhách bất cứ lúc nào
Khi một yêu cầu triệu gọi servlet, trình chủ Web server sẽ xem servlet đã được nạp haychưa? nếu chưa nó sẽ nạp servlet vào bộ nhớ Một khi servlet đã nạp Web server sẽ tiến đếngiai đoạn khởi tạo servlet
Trang 23Khởi tạo Servlet: Trình chủ Web server khởi tạo servlet bằng cách gọi phương thức init()
mà servlet cài đặt Phương thức này chỉ gọi một lần duy nhất Bạn có thể lơi dụng cơ hội này
để khởi tạo các biến toàn cục mà servlet sẽ sử dụng sau này
Thực thi Servlet: Khi trình duyệt hoặc các trang JSP triệu gọi servlet thông qua đia chỉ
URL, trình chủ Web server sẽ chính thức gọi servlet thực thi thông qua phương thức nhưdoget(), dopost() hoặc service()
Dọn dẹp Servlet: Servlet không giữ lại tổng bộ nhớ vĩnh viễn, sẽ đến lúc cần loại servlet
khỏi bộ nhớ Ví dụ như khi nhà quản trị muốn dừng hệ thống, muốn Web server khởi độnglại để giải phóng rác trong bộ nhớ tăng hiệu xuất thực hiện… Trước khi chấm dứt, Webserver sẽ gọi đến phương thức hủy destroy() của servlet Đây là cơ hội để servlet thực hiệnmột số thao tác dọn dẹp cần thiết như lưu dữ liệu xuống đĩa, ghi nhớ tạng thái của servlet đểphục vụ cho lần khởi động sau, đóng kết nối cơ sở dữ liệu…
III Giới thiệu mô hình MVC
MVC (Model View Controller) là tên một phương pháp chia nhỏ một ứng dụng thành ba
thành phần để cài đặt, mỗi thành phần đóng một vai trò khác nhau và ảnh hưởng lẫn nhau, đó
là models, views, và controllers
Hình 3: Mô hình MVC.
Trong đó:
Models (Tầng dữ liệu): là một đối tượng hoặc một tập hợp các đối tượng biểu diễn cho
phần dữ liệu của chương trình, ví dụ như các dữ liệu được lưu trong database, dữ liệu từ một
hệ thống các ứng dụng khác như legacy system, file system, mail system…
Trang 24Xây dựng website thương mại điện tử mua sắm thời trang
Views (Tầng giao diện): là phần giao diện với người dùng, bao gồm việc hiển thị dữ liệu
ra màn hình, cung cấp các menu, nút bấm, hộp đối thoại, chọn lựa…, để người dùng có thểthêm, xóa, sửa, tìm kiếm và làm các thao tác khác đối với dữ liệu trong hệ thống Thôngthường, các thông tin cần hiển thị được lấy từ thành phần Models
Controllers (Tầng điều khiển): chịu trách nhiệm xử lý các tác động về mặt giao diện, các
thao tác đối với models, và cuối cùng là chọn một view thích hợp để hiển thị ra màn hình.Trong kiến trúc MVC, view chỉ có tác dụng hiển thị giao diện mà thôi, còn điều khiển dòngnhập xuất của người dùng vẫn do Controllers đảm trách
Ưu điểm và nhược điểm của mô hình MVC:
Ưu điểm:
Phát triển phần mềm: Có tính chuyên nghiệp hóa, có thể chia cho nhiều nhómđược đào tạo nhiều kỹ năng khác nhau, từ thiết kế mỹ thuật cho đến lập trình đến tổchức database
Bảo trì: Với các lớp được phân chia theo như đã nói, thì các thành phần củamột hệ thống dễ được thay đổi, nhưng sự thay đổi có thể được cô lập trong từng lớp,hoặc chỉ ảnh hưởng đến lớp ngay gần kề của nó, chứ không phát tán náo loạn trong cảchương trình
Mở rộng: Với các lớp được chia theo ba lớp như đã nói, việc thêm chức năngvào cho từng lớp sẽ dễ dàng hơn là phân chia theo cách khác
Tiện về bug lỗi, kiểm soát code, workflow dễ dàng hơn và nhiều người có thểtham gia phát triển cùng trên 1 module
Nhược điểm:
Đối với dự án nhỏ: Cồng kềnh, tốn thời gian phát triển
Trade-off là performance, do tốn thời gian trung chuyển DTO (Data TransferObject) giữa các layers
IV Tổng quan về công nghệ AJAX
Hiện nay kỹ thuật Ajax được ứng dụng rất nhiều trên các trang web nhằm tăng tính thânthiện và tiện lợi hơn cho trang web Khái niệm này đang dần quen thuộc với những người lậptrình web
AJAX là thuật ngữ viết tắt của Asynchronous Javascript and XML ( JS và XML không
đồng bộ) AJAX có thể đọc là "trao quyền cho javascript" và thông qua JS để cung cấp mộtcông nghệ phía client-script để gọi ngầm một lệnh background để phía server thực hiện vànhận thông tin trả về, update thông tin của trang nhanh mà không cần phải load lại cả trang,rất mất thời gian load lại những cái không cần update
Cũng như bất kỳ công nghệ khác, AJAX có thể bị sử dụng quá nhiều trong một website,
vì hầu hết những người phát triển ứng dụng chỉ thấy những ưu điểm mà AJAX mang lại chứkhông quan tâm đến những khuyết điểm của AJAX, để tránh tình trạng trên, ta có thể liệt kêmột số đặc điểm của AJAX như sau:
Trang 25 Không thể sử dụng nút back vì back cũng là chính nó.
Với một số trình duyệt, do nhu cầu bảo mật, sẽ tắt chức năng thực hiệnjavascript nên ajax không thể chạy, hay trong một vài host, không hỗ trợ vào sâu cấuhình server nên hay bị lỗi "Access denied"
V Tổng quan về cấu trúc MySQL
MySQL là hệ quản trị cơ sở dữ liệu quan hệ Ý nghĩa cơ bản của MySQL là nó có thể lưu
trữ thông tin ở những vùng khác nhau và liên kết chúng lại với nhau Chúng ta có thể chứabất cứ thứ gì trong một cơ sở dữ liệu Ví dụ như những thông tin liên quan đến một người:chẳng hạn như first name, last name, address, phone…
MySQL cho phép bạn tạo những thông tin riêng lẻ trên bảng hoặc những khu vực chứathông tin thích hợp Trong MySQL mỗi bảng bao gồm những trường dữ liệu(field) riêng lẻ.Bởi vì MySQL là hệ quản trị cơ sở dữ liệu quan hệ, nên nó cho phép chúng ta tạo nhữngbảng thông tin riêng, hoặc những vùng thông tin thích hợp Trong hệ thống cơ sở dữ liệukhông quan hệ, tất cả những thông tin được lưu trữ trong một bảng lớn tạo nên những khókhăn trong việc sắp xếp và chỉ có thể chép dữ liệu mà bạn muốn.Trong MySQL, mỗi bảngbao gồm những phần riêng biệt, biễu diễn mỗi thông tin
Bạn có thể tạo ra cơ sở dựa trên những loại thông tin mà bạn lưu trữ Những bảng riêngbiệt của MySQL liên kết với nhau nơi mà giá trị của vùng phổ biến là như nhau
Ví dụ: Cho rằng bảng bao gồm tên khách hàng, địa chỉ và số ID, bảng khác bao gồm số
ID, nơi ở, ….Vùng chung là số ID, thông tin được lưu trữ trong hai bảng riêng biệt sẽ liênkết với nhau nơi mà số ID là như nhau Điều này cho chúng ta thông tin về khách hàng cùnglúc
Store procedure trong hệ quản trị cơ sở dữ liệu MySQL:
Trang 26Xây dựng website thương mại điện tử mua sắm thời trang
Store procedure là một đối tượng cơ sở dữ liệu bao gồm nhiều câu lệnh SQL được nhómlại với nhau thành một nhóm với những khả năng: cấu trúc điều khiển, dùng biến để lưu trữ
và tính toán trong thủ tục, một tập lệnh kết hợp thành một khối lệnh bên trong một thủ tục.Một thủ tục có thể nhận một tham số truyền vào cũng như có thể trả về các giá trị thông quacác tham số Khi một thủ tục lưu trữ đã được định nghĩa, nó có thể được gọi thông qua tênthủ tục, nhận các tham số truyền vào, thực thi các câu lệnh SQL bên trong thủ tục và có thểtrả về các giá trị sau khi thực hiện xong
Phân loại Store procedure: có thể chia thành 3 nhóm như sau:
System store procedure: Là những Stored procedure chứa trong Matster database và
thường bắt đầu bằng tiếp đầu ngữ sp_ Các Stored procedure này thuộc loại built-in và chủyếu dùng trong việc quản lý database và security Ví dụ: bạn có thể kiểm tra tất cả cácprocesses đang được sử dụng bởi user DomainName\Administrators bạn có thể dùng:Sp_who @loginame=’DomainName\Administrator’
Local Stored procedure: Đây là loại thường dùng nhất Chúng được chứa trong user
database và thường được viết để thực hiện một công việc nào đó Thông thường người ta nóiđến Stored procedure là nói tới loại này Loại này thường được viết bởi DBA hoặcprogrammer
Extended Stored procedure: Đây là một loại Stored procedure sử dụng một chương
trình ngoại vi vốn được compiled thành một DLL để mở rộng chức năng hoạt động của SQLServer Loại này thương được bắt đầu bằng tiếp ngữ xp_ Ví dụ: xp_sendmail dung để gửimail cho một người nào đó
Lợi ích khi sử dụng Store procedure:
Khả năng module hóa: tạo 1 store procedure 1 lần và tái sử dụng nhiều lần
Đơn giản hóa các thao tác trên cơ sở dữ liệu nhờ vào khả năng module hóa
Thủ tục lưu trữ được phân tích, tối ưu khi tạo ra, nên việc thực thi nhanh hơnnhiều so với việc phải thực thi 1 tập rời rạc các câu lệnh SQL tương thích
Thực thi thủ tục bằng 1 câu lệnh đơn giản thay vì phải sử dụng nhiều dònglệnh SQL Điều này giảm thiểu lưu thông trên mạng
Thay vì cấp phát quyền trực tiếp cho người sử dụng trên các câu lệnh SQL vàtrên các đối tượng cơ sở dữ liệu ta có thể cấp phát quyền cho người sử dụng thôngqua Store procedure, nhờ đó tăng khả năng bảo mật đối với hệ thống
Store procedure có thể được gọi từ các chương trình phía client hoặc từ cácstore procedure khác Do đó, store procedure được ưu chuộng trong lập trình cơ sở dữliệu, đặc biệt là trong ứng dụng theo mô hình N-tier và Webservices
Cú pháp tạo một Store procedure:
Thủ tục lưu trữ được tạo bởi câu lệnh CREATE PROCEDURE với cú pháp như sau:CREATE PROCEDURE Tên_thủ_tục [(Danh_sách_tham_số)]
[WITH RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION]
Trang 27 RECOMPILE: Thông thường, thủ tục sẽ được phân tích, tối ưu và dịch sẵn ởlần gọi đầu tiên Nếu tuỳ chọn WITH RECOMPILE được chỉ định, thủ tục sẽ đượcdịch lại mỗi khi được gọi.
ENCRYPTION: Thủ tục sẽ được mã hoá nếu tuỳ chọn WITH ENCRYPTIONđược chỉ định Nếu thủ tục đã được mã hoá, ta không thể xem được nội dung của thủtục
Các_câu_lệnh_của_thủ_tục: Tập hợp các câu lệnh sử dụng trong nội dung thủtục Các câu lệnh này có thể đặt trong cặp từ khoá BEGIN END hoặc có thể không
Ví dụ: Tạo Store Procedure không có tham số Trong định nghĩa chúng ta có
[(Danh_sách_tham_số)] nhưng đôi khi store procedure có thể không có danh sách tham số.CREATE PROCEDURE spCategories_GetCate_ViDu
AS
BEGIN
SELECT c.CategoryID,
c.CategoryName, c.Description FROM Categories c
END
Trong ví dụ trên ta đã tạo một SP là spCategories_GetCate để truy vấn các trườngCategoryID, CategoryName, Description của bảng Categories
Trang 28CHƯƠNG 3
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
I Khảo sát bài toán
I.1 Mô tả bài toán
I.1.1 Giới thiệu
Ngày nay, cùng với sự hội nhập và phát triển kinh tế, việc tìm mua những bộ đồ hàng hiệukhông còn là điều quá khó khăn với một bộ phận người tiêu dùng người Việt, rất nhiềuthương hiệu thời trang nổi tiếng đã có mặt tại Việt Nam Tuy nhiên đối với những người yêuthời trang và muốn tìm tòi những cái mới thì dường như thị trường thời trang trong nước vẫncòn quá nhỏ bé đối với họ Hiện nay, khi xu hướng mua sắm online tăng mạnh, thì cũng làlúc người tiêu dùng có thể thỏa sức chiêm ngưỡng, cập nhật những thông tin mới nhất cũngnhư mua sắm một cách thuận lợi tại các website thời trang uy tín Khó có thể đánh giá đượchết những ưu điểm của việc mua sắm tại các website thương mại điện tử - mà cụ thể là cácwebsite mua sắm thời trang: bởi ngoài vấn đề phong phú về kiểu dáng, chất liệu thì ngườitiêu dùng còn có khả năng tránh được việc mua hàng giả, hàng kém chất lượng Do đó,
“Website mua sắm thời trang” được nhóm chúng tôi xây dựng với mong muốn cải thiện tốthơn chất lượng của việc mua sắm trực tuyến
I.1.3 Yêu cầu hệ thống
Hệ thống thương mại điện tử mua sắm thời trang phải đáp ứng được các yêu cầu sau:
Cho phép người tiêu dùng đăng ký tài khoản và đăng nhập để thực hiện việcmua hàng
Người tiêu dùng có thể nắm bắt được mọi thông tin của hàng hóa và dịch vụcủa việc mua sắm thời trang
Người tiêu dùng có thể thực hiện được việc mua sắm, kiểm soát được thôngtin cá nhân và thông tin giỏ hàng, thanh toán trực tuyến do hệ thống cung cấp
Người quản lý có thể kiểm soát và cập nhật mọi thông tin của hàng hóa
Trang 29I.2 Xác định các người dùng
Căn cứ vào yêu cầu của bài toán ta có thể xác định các người dùng như sau:
Customer (Khách hàng): Viếng thăm website, xem tin tức sản phẩm các vấn
đề liên quan, đặt hàng online…
Manager (Quản lý): Quản lí website, đơn hàng, nâng cấp bảo trì, nhập liệu,thống kê…
Admin (Quản trị): Tạo user, phân quyền quản lí cho các user
I.3.1 Yêu cầu chức năng
trực tuyến, website sẽ cập nhật dữ liệu và xuất ra đơn đặt hàng cho người mua, ngườidùng có thể chọn mua hoặc hủy bỏ Có nhiều kiểu thanh toán cho người dùng lựachọn
hợp lệ
phân quyền cho user
I.3.2 Yêu cầu phi chức năng
Trang 30Xây dựng website thương mại điện tử mua sắm thời trang
II.2 Xác định các Use Case
Từ yêu cầu chức năng ứng với từng actor ta có thể xác định được các use case như sau:
Khách hàng Đăng ký, đăng nhập, quản lý, xem thông tin, sửa thông tin, xóa thông
tin, chọn hàng, mua hàng, giỏ hàng, xem, sửa xóa, thanh toán, liên hệ,xem hàng, xem sản phẩm, xem tin tức, xem giới thiệu, làm đẹp
Người quản lý Đăng nhập, quản lý, xem đơn hàng, hỏi đáp, thống kê(ngày, tháng,
năm), sản phẩm(xem, sửa, xóa), tin tức(xem, sửa, xóa), làm đẹp(xem,sửa, xóa), giới thiệu(xem, sửa, xóa)
Admin Đăng nhập, tạo tài khoản người dùng, thông tin tài khoản(xem, sửa,
xóa)
Bảng 2: Bảng các Use Case.
II.3 Xây dựng biểu đồ Use Case tổng quát
Biểu đồ Use Case tổng quát dành cho khách hàng
Hình 5: Biểu đồ Use Case tổng quát dành cho khách hàng.
Trang 31Biểu đồ Use Case tổng quát dành cho quản lý
Hình 6: Biểu đồ Use Case tổng quát dành cho nhà quản lý.
Biểu đồ Use Case tổng quát dành cho Admin
Hình 7: Biểu đồ Use Case tổng quát dành cho Admin.
Trang 32Xây dựng website thương mại điện tử mua sắm thời trang
II.4 Xây dựng biểu đồ hoạt động
Biểu đồ hoạt động của việc mua hàng
Hình 8: Biểu đồ hoạt động của việc mua hàng.
Biểu đồ hoạt động của việc quản lý
Trang 33Hình 9: Biểu đồ hoạt động của việc quản lý.
Trang 34Xây dựng website thương mại điện tử mua sắm thời trang
II.5 Biểu đồ trình tự ứng với từng Use Case chi tiết
Use Case đăng ký
Hình 10: Use Case đăng ký
Biểu đồ trình tự đăng ký
Hình 11: Biểu đồ trình tự đăng ký.
Trang 35Use Case đăng nhập
Hình 12: Use Case đăng nhập.
Biểu đồ trình tự đăng nhập
Hình 13: Biểu đồ trình tự đăng nhập.
Trang 36Xây dựng website thương mại điện tử mua sắm thời trang
Use Case khách hàng xem thông tin
Hình 14: Use Case khách hàng xem thông tin.
Biểu đồ trình tự khách hàng xem thông tin
Hình 15: Biểu đồ trình tự khách hàng xem thông tin.
Trang 37Use Case khách hàng sửa thông tin tài khoản.
Hình 16: Use Case khách hàng sửa thông tin tài khoản.
Biểu đồ trình tự khách hàng sửa thông tin tài khoản
Hình 17: Biểu đồ trình tự khách hàng sửa thông tin tài khoản.