xây dựng website đấu giá trực tuyến
Trang 1LỜI CẢM ƠN
Chúng em xin chân thành cám ơn các thầy cô hướng dẫn đã tận tình giúp
đỡ và truyền đạt kiến thức để chúng em có thể hoàn thành luận văn này
Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc nhất đến thầy Trần VănHùng – người đã giúp đỡ nhiệt tình trong quá trình thực hiện luận văn này Chúng
em cũng xin gửi lời cảm ơn đến tất cả các thầy cô khoa Công nghệ thông tin đãtruyền đạt đầy đủ kiến thức để chúng em có thể hoàn thành bài luận văn này
Cám ơn các bạn cùng khóa đã chia sẻ kinh nghiệm và kiến thức quý báu,giúp chúng tôi có thể hoàn thành tốt công việc của mình
Dù đã hoàn thành luận văn với tất cả nỗ lực của mình, nhưng chắc chắnsản phẩm đạt được sẽ còn gặp nhiều lỗi không mong muốn, kính mong thầy cô tậntình chỉ bảo Một lần nữa xin gửi lời cảm ơn chân thành nhất đến mọi người
Trang 2TÓM TẮT ĐỀ TÀI XÂY DỰNG WEBSITE ĐẤU GIÁ ONLINE
Yêu cầu của đề tài:
- Tìm hiểu về quy trình đấu giá trên website online
- Tìm hiểu về ngôn ngữ lập trình: javascript, xml, php
- Xây dựng cơ sở dữ liệu
- Xây dựng website có các chức năng sau:
Chức năng cơ bản:
Phần người dùng:
Xem các sản phẩm đấu giá
Xem tin tức
Đăng ký tài khoản
Tham gia phiên đấu giá
Tìm kiếm phiên đấu giá
Quản lý tài khoản
Quản lý phiên đấu giá: đăng một phiên mới, xóa, sửa một phiên do mìnhđưa lên website
Gửi thư, tin nhắn giữa các thành viên trong website
Liên hệ hổ trợ
Phần quản trị:
Có sự phân quyền chức năng giữa các thành viên quản trị
Quản trị cao cấp: toàn quyền cấu hình website, quản lý tài khoản thành
viên, quản lý tài khoản nhân viên, liên hệ chứng thực thông tin của thành viên khi
họ đang ký, báo cáo các thông tin thống kê của website
Quản trị phiên đấu giá: theo dõi các phiên đấu giá do thành viên
website up lên, duyệt phiên đấu giá, liên hệ chứng thực sản phẩm do thành viên uplên
Quản trị kinh doanh: lập và thực hiện hợp đồng quảng cáo với các
doanh nghiệp cần đăng quảng cáo trên website, báo cáo các số liệu thống kê liênquan đến quảng cáo
Quản trị tin tức: Đăng các tin tức nổi bật liên quan đến trang web và
các tin khác trên mạng lên website
Trang 3Mục lục
Chöông 1: QUY TRÌNH ĐẤU GIÁ TRÊN WEBSITE 10
1 - Đấu giá là gì? 10
2 - Các hình thức đấu giá 10
2.1 - Đấu giá kiểu Anh 10
2.2 - Đấu giá kiểu Hà Lan 10
2.3 - Đấu giá kín theo giá thứ nhất 11
2.4 - Đấu giá kín theo giá thứ hai (đấu giá Vickrey) 11
2.5 - Đấu giá câm 11
2.6 - Đấu giá kiểu thầu (đấu thầu) 11
2.7 - Đấu giá nhượng quyền 11
2.8 - Đấu giá ra giá duy nhất 11
2.9 - Đấu giá mở 12
2.10 - Đấu giá trần 12
2.11 - Đấu giá tổ hợp 12
3 - Đấu giá trực tuyến 13
Chöông 2: Tìm hiểu các ngôn ngữ lập trình web 15
1 - TÌM HIỂU PHP 15
1.1 - Giới thiệu về PHP 15
1.2 - Giới thiệu về Mysql 15
2 - TÌM HIỂU XML 16
2.1 - XML là gì? 16
2.2 - Sơ lược về XML 17
3 - TÌM HIỂU JAVASCRIPT 20
3.1 - Giới thiệu javascript 20
3.2 - Công nghệ Ajax 21
Chöông 3: PHÂN TÍCH HỆ THỐNG ĐẤU GIÁ ONLINE 25
1 - MÔ TẢ NGHIỆP VỤ 25
1.1 - Giới thiệu sơ bộ về trang web 25
1.2 - Nghiệp vụ ban quản trị 25
2 - Sơ đồ Usecase 29
Trang 42.1 - Usecase tổng quát 29
2.2 - Đặc tả use case 30
3 - Sơ đồ lớp 50
3.1 - Phần khách hàng 50
3.2 - Phần quản trị 53
4 - Sơ đồ tuần tự 56
4.1 - Phần khách hàng 56
4.2 - Phần quản trị 60
5 - Sơ đồ cộng tác 68
5.1 - Phần khách hàng 68
5.2 - Phần quản trị 72
6 - Sơ đồ hoạt động 79
6.1 - Phần quản trị 79
6.2 - Phần khách hàng 80
7 - Sơ đồ thực thể kết hợp (ERD) 81
Chöông 4: THIẾT KẾ WEBSITE ĐẤU GIÁ 84
1 - Phần dành cho khách hàng 84
1.1 - Đăng ký 84
1.2 - Đăng nhập 85
1.3 - Quên mật khẩu 86
1.4 - Quản lý tài khoản 87
1.5 - Gửi mail, tin nhắn 87
1.6 - Các phiên đấu giá 88
1.7 - Giao diện chi tiết một phiên đấu giá 89
1.8 - Tìm kiếm phiên đấu giá 90
1.9 - Lập một phiên đấu giá mới 91
1.10 - Quản lý phiên đấu giá 92
1.11 - Đấu giá 92
2 - Phần dành cho quản trị 94
2.1 - Thống kê dạng biểu đồ 94
2.2 - Quản lý thông tin tài khoản 94
2.3 - Cấu hình website 95
Trang 52.4 - Quản trị tài khoản 96
2.5 - Quản trị phiên đấu giá 96
2.6 - Quản trị quảng cáo 97
2.7 - Quản trị tin tức 98
Chöông 5: ƯU KHUYẾT ĐIỂM CỦA ĐỀ TÀI 99
1 - Ưu điểm 99
2 - Khuyết điểm 99
Chöông 6: HƯỚNG PHÁT TRIỂN ĐỀ TÀI 100
Chöông 7: HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG 101
1 - Danh sách phần mềm sử dụng 101
2 - Cách cài đặt và cấu hình hệ thống 101
3 - Chạy thử (DEMO) 112
Chöông 8: TÀI LIỆU VÀ NGUỒN THAM KHẢO 115
Trang 6Mục lục hình ảnh
Hình 2-1 So sánh ứng dụng web truyền thống (trái) với AJAX 22
Hình 2-2 Sơ đồ miêu tả hoạt động của Ajax 23
Hình 3-1 Đăng nhập - Đăng xuất - Thay đổi thông tin tài khoản 30
Hình 3-2 Xem thống kê 31
Hình 3-3Quản trị quảng cáo 31
Hình 3-4 Quản trị hợp đồng quảng cáo 33
Hình 3-5Quản trị tin tức 35
Hình 3-6 Quản trị loại sản phẩm 37
Hình 3-7Quản trị phiên đấu giá 39
Hình 3-8 Quản trị khách hàng 40
Hình 3-9 Quản trị tài khoản quản trị 42
Hình 3-10 Đấu giá 44
Hình 3-11 Đăng ký tài khoản 46
Hình 3-12 Mail - Tin nhắn 46
Hình 3-13Quản trị phiên đấu giá của khách hàng 48
Hình 3-14 Đặt giá 56
Hình 3-15 Tự động đặt giá 57
Hình 3-16 Đăng nhập 57
Hình 3-17 Đăng ký 58
Hình 3-18 Thay đổi thông tin cá nhân 58
Hình 3-19 Xóa mail 59
Hình 3-20 Gửi mail 59
Hình 3-21 Liệt kê phiên đấu giá 60
Hình 3-22 Kích hoạt phiên đấu giá 60
Hình 3-23 Xóa phiên đấu giá 61
Hình 3-24 Thêm tài khoản khách hàng 61
Hình 3-25 Sửa tài khoản khách hàng 62
Hình 3-26 Thêm tài khoản quản trị 62
Hình 3-27 Sửa tài khoản quản trị 63
Hình 3-28 Xóa tài khoản quản trị 63
Hình 3-29 Thêm quảng cáo 64
Trang 7Hình 3-30 Xóa quảng cáo 64
Hình 3-31 Sửa quảng cáo 65
Hình 3-32 Thêm hợp đồng quảng cáo 65
Hình 3-33 Sửa hợp đồng quảng cáo 66
Hình 3-34 Xóa hợp đồng quảng cáo 66
Hình 3-35Thêm tin tức 67
Hình 3-36 Xóa tin tức 67
Hình 3-37 Sửa tin tức 68
Hình 3-38 Đặt giá 68
Hình 3-39 Tự động đặt giá 69
Hình 3-40 Đăng nhập 69
Hình 3-41 Đăng ký 70
Hình 3-42 Thay đổi thông tin cá nhân 70
Hình 3-43 Xóa mail 71
Hình 3-44 Gửi mail 71
Hình 3-45 Liệt kê phiên đấu giá 72
Hình 3-46 Kích hoạt phiên đấu giá 72
Hình 3-47 Xóa phiên đấu giá 73
Hình 3-48 Thêm tài khoản khách hàng 73
Hình 3-49 Sửa tài khoản khách hàng 74
Hình 3-50 Thêm tài khoản quản trị 74
Hình 3-51 Sửa tài khoản quản trị 75
Hình 3-52 Xóa tài khoản quản trị 75
Hình 3-53 Thêm quảng cáo 76
Hình 3-54 Xóa quảng cáo 76
Hình 3-55 Sửa quảng cáo 77
Hình 3-56 Thêm hợp đồng quảng cáo 77
Hình 3-57 Sửa hợp đồng quảng cáo 78
Hình 3-58 Xóa hợp đồng quảng cáo 78
Hình 3-59 activity phần quản trị 79
Hình 3-60 activity phần khách hàng 80
Hình 4-1 Form đăng ký 84
Trang 8Hình 4-2 Lựa chọn gói đặt giá 84
Hình 4-3 Hoàn tất đăng ký 85
Hình 4-4 Form đăng nhập 85
Hình 4-5 Form sau khi đăng nhập thành công 85
Hình 4-6 Thông báoxác nhận đã đổi mật khẩu 86
Hình 4-7 mail lấy lại mật khẩu 86
Hình 4-8 Giao diện thay đổi thông tin tài khoản 87
Hình 4-9 Liệt kê mail 87
Hình 4-10 giao diện gửi mail 87
Hình 4-11 Giao diện liệt kê các phiên đấu giá 88
Hình 4-12 Chi tiết một phiên đấu giá 89
Hình 4-13 Quá trình load nội dung của 1 phiên đấu giá 90
Hình 4-14 Giao diện tìm kiếm phiên đấu giá 90
Hình 4-15 giao diện một tạo một phiên đấu giá mới 91
Hình 4-16 Giao diện quản lý phiên đấu giá của bạn 92
Hình 4-17 thông tin phiên đấu giá rút gọn 92
Hình 4-18 Giao diện chi tiết một sản phẩm của phiên đấu giá 93
Hình 4-19 Biểu đồ thống kê khi login vào phần quản trị 94
Hình 4-20 Chức năng đổi mật khẩu của quản trị viên 94
Hình 4-21 thay đổi logo website 95
Hình 4-22 Thông báo của website 95
Hình 4-23 thay đổi footer của website 95
Hình 4-24 Thay đổi giao diện bằng file css 95
Hình 4-25 Giao diện quản trị tài khoản quản trị 96
Hình 4-26 Quản trị tài khoản khách hàng 96
Hình 4-27 Giao diện kích hoạt phiên đấu giá 97
Hình 4-28 Giao diện quản lý quảng cáo 97
Hình 4-29 Giao diện quản trị hợp đồng quảng cáo 98
Hình 4-30 Giao diện quản trị tin tức 98
Hình 7-1 Hình 1 102
Hình 7-2 Hình 2 103
Hình 7-3 Hình 3 103
Trang 9Hình 7-4 Hình 4 104
Hình 7-5 Hình 5 104
Hình 7-6 Hình 6 105
Hình 7-7 Hình 7 105
Hình 7-8 Hình 8 106
Hình 7-9 Hình 9 106
Hình 7-10 Hình 10 107
Hình 7-11 Hình 11 107
Hình 7-12 Hình 12 108
Hình 7-13 Hình 13 109
Hình 7-14 chép soucre vào folder www 112
Hình 7-15 tạo database 113
Hình 7-16 import file sql 113
Hình 7-17 Giao diện trang chủ 114
Hình 7-18 trang đăng nhập quản trị 114
Trang 10Chöông 1: QUY TRÌNH ĐẤU GIÁ TRÊN WEBSITE
vựng tiếng Anh thường được dùng là bid hay auction, nghĩa là “giá đề nghị” Đấu
giá có thể áp dụng cho nhiều loại mặt hàng khác nhau
2 - Các hình thức đấu giá
2.1 - Đấu giá kiểu Anh
Đây là hình thức được nhiều người biết đến nhất Người tham gia trả giácông khai với nhau, giá đưa ra sau bao giờ cũng cao hơn giá đưa ra trước đó Cuộcđấu giá kết thúc khi không ai đưa ra giá cao hơn hoặc khi đạt tới giá trần, khi đóngười ra giá cao nhất sẽ được mua món hàng đó với giá mình đã trả Người bán cóthể đặt ra giá sàn, nếu người điều khiển không thể nâng giá cao hơn mức sàn thìviệc đấu giá có thể thất bại
2.2 - Đấu giá kiểu Hà Lan
Trong một sàn đấu giá kiểu Hà Lan truyền thống, người điều khiển banđầu sẽ hô giá cao, rồi thấp dần cho tới khi có người mua chấp nhận mức giá đó hoặcchạm đến mức sàn dự định bán ra Người mua đó sẽ mua món hàng với giá đưa racuối cùng Hình thức này đặc biệt hiệu quả khi cần đấu giá nhanh món hàng nào đó,
vì có những cuộc mua bán không cần đến lần trả giá thứ hai, một ví dụ tiêu biểu làviệc bán hoa tulip Kiểu đấu giá này còn được sử dụng để mô tả đấu giá trực tuyếnkhi một số món hàng đồng nhất được bán đồng thời cho một số người cùng ra giácao nhất
Trang 112.3 - Đấu giá kín theo giá thứ nhất
Tất cả mọi người cùng đặt giá đồng thời, không ai biết giá của ai, người
ra giá cao nhất là người được mua món hàng
2.4 - Đấu giá kín theo giá thứ hai (đấu giá Vickrey)
Tương tự như đấu giá kín theo giá thứ nhất, tuy nhiên người thắng chỉphải mua món hàng với mức giá cao thứ hai chứ không phải giá cao nhất mình đặtra
2.5 - Đấu giá câm
Đây là một biến thể của đấu giá kín, thường dùng trong các cuộc đấu giá
từ thiện, liên quan đến việc mua một tập các món hàng giống nhau, người tham gia
sẽ đặt giá vào một tờ giấy đặt kế món hàng, họ có thể được biết hoặc không đượcbiết có bao nhiêu người tham gia và giá mà họ đưa ra Người trả cao nhất sẽ muamón hàng với giá mình đã đặt
2.6 - Đấu giá kiểu thầu (đấu thầu)
Hình thức này tráo đổi vai trò người bán và người mua Người mua đưa
ra bản yêu cầu báo giá cho một loại hàng nào đó và các nhà cung cấp sẽ đưa ra giáthấp dần với mong muốn dành lấy gói thầu đó Vào cuối buổi đấu giá, người ra gáithấp nhất sẽ thắng cuộc
2.7 - Đấu giá nhượng quyền
Đây là hình thứ đấu giá dài vô hạn định, dành cho những sản phẩm cóthể được tái bản (bản thu âm, phần mềm, công thức làm thuốc), người đấu giá đặtcông khai giá lớn nhất của họ (có thể điều chỉnh hoặc rút lại), người bán có thể xemxét kết thúc cuộc đấu giá bất cứ lúc nào khi chọn được mức giá vừa ý Những ngườithắng cuộc là những người đặt giá bằng hoặc cao hơn giá được chọn, và sẽ nhậnđược phiên bản của sản phẩm
2.8 - Đấu giá ra giá duy nhất
Trong hình thức này, người đấu giá sẽ đưa ra giá không rõ ràng, và đượccung cấp một phạm vi giá mà họ có thể đặt Một mức giá duy nhất có thể cao nhấthoặc thấp nhất từ các mức giá được ra giá sẽ thắng cuộc Ví dụ, nếu một cuộc đấu
Trang 12giá quy định mức giá là 10, năm giá cao nhất là 10, 10, 9, 8, 8 thì 9 sẽ là giá thắngcuộc vì là người ra giá duy nhất đạt cao nhất Hình thức này phổ biến trong các cuộcđấu giá trực tuyến.
2.9 - Đấu giá mở
Đây là hình thức được sử dụng trong thị trường chứng khoán và trao đổihàng hóa Việc mua bán diễn ra trên sàn giao dịch và người giao dịch đưa ra giábằng lời ngay tức thì Những giao dịch có thể đồng thời diễn ra ở nơi khác trong sànmua bán Hình thức này dần được thay thế bởi hình thức thương mại điện tư
2.10 - Đấu giá trần
Hình thức đấu giá này có gái bán ra định trước, người tham gia có thểkết thúc cuộc đấu giá bằng cách đơn giãn chấp nhận mức giá này Mức giá này dongười bán định ra Người đấu giá có thề chọn để ra giá hoặc sử dụng luôn mức giátrần Nếu không có người chọn giá trần thì cuộc đấu giá sẽ kết thúc với người trảmức cao nhất
Trang 133 - Đấu giá trực tuyến
Đấu giá trực tuyến là cách cho phép người tham gia đấu giá các sảnphẩm hoặc các dịch vụ thông qua internet
Khi nói đến đấu giá trực tuyến là chúng ta nghĩ ngay đến eBay, websiteđấu giá trực tuyến lớn nhất trên thế giới hiện nay Giống như hầu hết các công tyđấu giá, eBay không trực tiếp bán hàng của chính mình mà chỉ giúp cho các thànhviên liệt kê và trưng bày sản phẩm của họ, đấu giá các sản phẩm và thanh toánchúng Nó hoạt động giống như một nơi họp chợ cho các thành viên hoặc các doanhnghiệp sử dụng để đấu giá các sản phẩm và dịch vụ Có một vài loại hình thức đấugiá trên mạng đang hiện hữu như đấu giá kiểu Anh (đã nêu ở trên), đấu giá kiểu HàLan (đã nêu ở trên), hầu hết các sàn đấu giá trực tuyến điều sử dụng đấu giá kiểuAnh
*Ưu điểm của mô hình thương mại này là:
Không ràng buộc thời gian Việc đặt giá có thể thực hiện bất kỳ lúc nào.Các sản phẩm được liệt kê trong một vài ngày (thường từ 1 đến 10 ngày, tùy theongười bán) để người mua có thời gian tìm kiếm, quyết định và đặt giá Giá trị củamón hàng sẽ được nâng lên theo số lượng người tham gia đấu giá
Không ràng buộc địa lý: những người bán hàng và những ngườimd9a61u giá có thể tham gia đấu giá từ bất kỳ nơi nào có truy cập internet Điềunày làm cuộc đấu giá thêm gần gũi và giãm chi phí tham dự một cuộc đấu giá Điềunày đồng thời làm tăng số lượng các sản phẩm (có càng nhiều người bán hàng) và
số lượng đặt giá (có càng nhiều người đặt giá) Những món hàng không cần phảiđưa đến sàn đấu giá mà còn giảm được chi phí, giảm được giá khởi điểm được chấpnhận của người bán
Sức mạnh tương tác xã hội: Tương tác xã hội mà liên quan đến quá trìnhđấu giá thì giống như việc đánh bạc Những người đấu giá chờ đợi trong hy vọng là
họ sẽ thắng (eBay gọi những người đặt giá thành công là những người chiến thắng).Cũng giống như sự ham mê cờ bạc, nhiề người tham gia đặt giá chủ yếu để “chơitrò chơi” chứ không muốn dành được món hàng Và điều này tạo ra một sự phânchia lớn các khách hàng tiềm năng của eBay
Số người đấu giá lớn: bởi vì chi phí thấp, số lượng hàng hóa và dịch vụ
đa dạng, dễ dàng tham gia quá trình đấu giá
Trang 14Số lượng người bán hàng lớn: Bởi vì có nhiều người tham gia đặt giá, cóthể đạt được giá cao, giảm chi phí bán hàng, dễ buôn bán.
Mạng lưới kinh doanh: số lượng người tham gia đấu giá sẽ kích thíchnhiều người bán và ngược lại Càng có nhiều hoạt động thì hệ thống càng lớn mạnh,
và mô hình kinh doanh càng trở nên có giá trị cap cho những người tham gia
*Nhược điểm của mô hình thương mại này là:
Vì nhiều người tham gia, trao đổi, giao dịch với nhau ở mọi nơi nên sẽ có hiệntượng một vài người lợi dụng lừa đảo, chiếm đoạt tài sản, bán hàng không đảm bảochất lượng……
Trang 15Chöông 2: Tìm hiểu các ngôn ngữ lập trình web
1 - TÌM HIỂU PHP
1.1 - Giới thiệu về PHP
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữlập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứngdụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thíchhợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho cácứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gianxây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đãnhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới
Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễdàng như thế nào:
1.2 - Giới thiệu về Mysql
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới
và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì
Trang 16MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạtđộng trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rấtmạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng cótruy cập CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn có thể tải vềMySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiênbản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix,FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữliệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làmnơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,
2 - TÌM HIỂU XML
2.1 - XML là gì?
XML cung cấp một phương tiện dùng văn bản (text) để mô tả thông tin
và áp dụng một cấu trúc kiểu cây cho thông tin đó Tại mức căn bản, mọi thông tinđều thể hiện dưới dạng text, chen giữa là các thẻ đánh dấu (markup) với nhiệm vụ
ký hiệu sự phân chia thông tin thành một cấu trúc có thứ bậc của các dữ liệu ký tự,các phần tử dùng để chứa dữ liệu, và các thuộc tính của các phần tử đó Về mặt đó,XML tương tự với các biểu thức S (S-expression) của ngôn ngữ lập trình LISP ởchỗ chúng đều mô tả các cấu trúc cây mà trong đó mỗi nút có thể có một danh sáchtính chất của riêng mình
Đơn vị cơ sở của XML là các ký tự theo định nghĩa của UniversalCharacter Set (Bộ ký tự toàn cầu) Các ký tự được kết hợp theo các tổ hợp chuỗihợp lệ để tạo thành một tài liệu XML Tài liệu này gồm một hoặc nhiều thực thể,mỗi thực thể thường là một phần nào đó của các ký tự thuộc tài liệu, được mã hóadưới dạng một chuỗi các bit và lưu trữ trong một tệp văn bản (text file)
Các tệp XML có thể dùng cho nhiều loại dữ liệu đa phương tiện RFC3023 địnhnghĩa các loại "application/xml" và "text/xml", với ý rằng dữ liệu được biểu diễnbằng XML mà không nói gì đến ngữ nghĩa của dữ liệu
Trang 172.2 - Sơ lược về XML
Cú pháp XML cơ bản cho một phần tử là
<tên thuộc_tính="giá trị">nội dung</tên>
Dưới đây là ví dụ về một công thức nấu ăn viết bằng XML:
<?xml version="1.0" encoding="UTF-8"?>
<công_thức_nấu_ăn tên="bánh mì" thời_gian_chuẩn_bị="5 phút"thời_gian_nấu="3 tiếng">
<title>Bánh mì cơ bản</title>
<nguyên_liệu lượng="3" đơn_vị="ca">Bột mì</nguyên_liệu>
<nguyên_liệu lượng="7" đơn_vị="gram">Men</nguyên_liệu>
<nguyên_liệu lượng="1.5" đơn_vị="ca" trạng_thái="ấm">Nước</nguyên_liệu> <nguyên_liệu lượng="1" đơn_vị="thìa cà phê">Muối</nguyên_liệu>
<chỉ_dẫn>
<bước>Trộn tất cả các nguyên liệu với nhau và nhào kĩ</bước>
<bước>Phủ một mảnh vải, ủ một tiếng đồng hồ trong phòng ấm.</bước>
<bước>Nhào lại, đổ vào khuôn, cho vào lò nướng.</bước>
</chỉ_dẫn>
</công_thức_nấu_ăn>
Dòng đầu tiên là Khai báo XML (XML declaration): đó là một dòngkhông bắt buộc, với nhiệm vụ thông báo phiên bản XML đang được sử dụng(thường là phiên bản 1.0), và còn có thể chứa thông tin về mã hóa ký tự và các phụthuộc bên ngoài
Phần còn lại của tài liệu này chứa các phần tử lồng nhau, một số phần tửtrong đó có các thuộc tính và nội dung Một phần tử thường bao gồm hai thẻ (tag),một thẻ bắt đầu và một thẻ kết thúc, có thể bao quanh văn bản và các phần tử khác.Thẻ bắt đầu bao gồm một cái tên đặt trong một cặp ngoặc nhọn, như "<bước>"; thẻkết thúc bao gồm chính cái tên đó đặt trong một cặp ngoặc nhọn, với một dấu gạchchéo đứng trước, như "</bước>" Nội dung của phần tử là tất cả những gì nằm giữathẻ bắt đầu và thẻ kết thúc, bao gồm văn bản và các phần tử (con) khác Dưới đây làmột phần tử XML hoàn chỉnh, với thẻ bắt đầu, nội dung văn bản, và thẻ kết thúc: <bước>Nhào lại, đổ vào khuôn, cho vào lò nướng.</bước>
Trang 18Bên cạnh nội dung, một phần tử có thể chứa các thuộc tính — các cặptên - giá trị được đặt trong thẻ bắt đầu, ngay sau tên phần tử Giá trị của thuộc tínhphải được đặt trong cặp nháy đơn hoặc nháy kép, mỗi tên thuộc tính chỉ được xuấthiện một lần trong mỗi phần tử.
<nguyên_liệu lượng="3" đơn_vị="ca">Bột mì</nguyên_liệu>
Trong ví dụ này, phần tử nguyên_liệu có hai thuộc tính: lượng với giá trị
"3", và đơn vị với giá trị "ca" Trong cả hai trường hợp, cũng như tên và nội dungcủa các phần tử, tại cấp độ đánh dấu, tên và giá trị của các thuộc tính cũng chỉ là dữliệu text — các giá trị "3" và "ca" không phải một số lượng và một đơn vị đo lường
mà chỉ là các chuỗi ký tự mà tác giả tài liệu có thể dùng để biểu diễn những thứ đó
Ngoài văn bản, các phần tử còn có thể chứa các phần tử khác:
<chỉ_dẫn>
<bước>Trộn tất cả các nguyên liệu với nhau và nhào kĩ</bước>
<bước>Phủ một mảnh vải, ủ một tiếng đồng hồ trong phòng ấm.</bước>
<bước>Nhào lại, đổ vào khuôn, cho vào lò nướng.</bước>
</chỉ_dẫn>
Trong đó, phần tử chỉ_dẫn chứa ba phần tử bước XML đòi hỏi rằng cácphần tử phải được lồng nhau một cách đúng đắn — các phần tử không được có phầnxen vào nhau Ví dụ, đoạn dưới đây không phải XML định dạng đúng (well-formedXML) vì các phần từ em và strong xen vào nhau:
Trang 19chứa thẻ phần tử rỗng mà trong đó dấu gạch chéo đứng ngay sau tên phần tử Hai ví
dụ sau là tương đương về chức năng:
Trong XML, một thực thể (entity) là một thân dữ liệu được đặt tên với
dữ liệu thường là text, chẳng hạn một ký tự đặc biệt
Một tham chiếu thực thể là một ký hiệu đại diện cho thực thể đó Nó baogồm tên của thực thể với dấu ("&") đứng trước và một dấu chấm phảy (";") đứngsau XML có năm thực thể đã được khai báo trước:
Trang 20</root>
Khi xem tại một trình duyệt thích hợp, tài liệu XML trên sẽ hiện ra nhưsau:
<root> Copyright © 2006, XYZ Enterprises </root>
Các tham chiếu ký tự số trông giống như các thực thể Nhưng thay chomột cái tên, chúng gồm một ký tự "#" và theo sau là một con số Con số (theo hệthập phân hoặc hệ cơ số 16 với tiền tố "x") đại diện cho một mã hiệu Unicode(Unicode code point), và thường được dùng để đại diện cho các ký tự không dễ gõtrên máy tính, chẳng hạn một chữ cái Ả-rập trong một tài liệu được soạn trên mộtmáy tính châu Âu Dấu & trong ví dụ "AT&T" có thể được biểu diễn như sau (số 38thập phân và 26 trong hệ cơ số 16 đều đại diện cho giá trị Unicode của dấu &):
<tên-công-ty>AT&T</tên-công-ty>
<tên-công-ty>AT&T</tên-công-ty>
Còn có nhiều quy tắc khác cần thiết cho việc viết các tài liệu XML địnhdạng đúng, chẳng hạn một tên XML có thể chứa các ký tự nào, nhưng phần giớithiệu ngắn này chỉ cung cấp các kiến thức căn bản để đọc và hiểu được nhiều tàiliệu XML
3 - TÌM HIỂU JAVASCRIPT
3.1 - Giới thiệu javascript
JavaScript, theo phiên bản hiện hành, là một ngôn ngữ lập trình kịch bảndựa trên đối tượng được phát triển từ các ý niệm nguyên mẫu Ngôn ngữ này đượcdùng rộng rãi cho các trang web, nhưng cũng được dùng để tạo khả năng viết script
sử dụng các đối tượng nằm sẵn trong các ứng dụng Nó vốn được phát triển bởiBrendan Eich tại Hãng truyền thông Netscape với cái tên đầu tiên Mocha, rồi sau đóđổi tên thành LiveScript, và cuối cùng thành JavaScript Giống Java, JavaScript có
cú pháp tương tự C, nhưng nó gần với Self hơn Java .js là phần mở rộng thườngđược dùng cho tập tin mã nguồn JavaScript
Trên trình duyệt, rất nhiều trang web sử dụng JavaScript để thiết kế trang web động
và một số hiệu ứng hình ảnh thông qua DOM JavaScript được dùng để thực hiệnmột số tác vụ không thể thực hiện được với chỉ HTML như kiểm tra thông tin nhập
Trang 21vào, tự động thay đổi hình ảnh, Ở Việt Nam, JavaScript còn được ứng dụng đểlàm bộ gõ tiếng Việt giống như bộ gõ hiện đang sử dụng trên trang Wikipedia tiếngViệt Tuy nhiên, mỗi trình duyệt áp dụng JavaScript khác nhau và không tuân theochuẩn W3C DOM, do đó trong rất nhiều trường hợp lập trình viên phải viết nhiềuphiên bản của cùng một đoạn mã nguồn để có thể hoạt động trên nhiều trình duyệt.Một số công nghệ nổi bật dòng JavaScript để tương tác với DOM bao gồmDHTML, Ajax và SPA
3.2 - Công nghệ Ajax
Ajax là gì?
Hiện nay kỹ thuật Ajax được ứng dụng rất nhiều trên các trang webnhằm tăng tính thân thiện và tiện lợi hơn cho trang web Khái niệm này đang dầnquen thuộc với những người lập trình web Nếu bạn quan tâm tới kỷ thuật này vàđang có ý định học thì nên đọc bài viết này để xem bạn có quyết định sáng suốtkhông nhé
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ôngqua js để cung cấp một công nghệ phía client-script để gọi ngầm một lệnhbackground để phía server thực hiện và nhận thông tin trả về, update thông tin củatrang 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áikhông cần update
Trang 22Hình 2-1 So sánh ứng dụng web truyền thống (trái) với AJAX
Ví dụ: Để kiểm tra nickname đã tồn tại trong cơ sở dữ liệu hay chưa thìkhi thành viên vừa nhập xong nick name, thông tin trên form lập tức javascript nắmthông tin rồi thực hiện gọi một hàm bằng PHP bên phía server để kiểm tra thông tinsau đó trả kết quả html về cho javascript xuất ra cho người dùng biết tính hợp lệ củanickname, lúc đó ngươid ùng có thể thay đổi ngay chớ không cần đợi submit rồikiểm tra và nhập lại như dùng PHP truyền thống
Trang 23Hình 2-2 Sơ đồ miêu tả hoạt động của Ajax
Cũng như bất kỳ công nghệ khác, AJAX có thể bị sử dụng quá nhiềutrong một website, vì họ chỉ thấy những ưu điểm mà AJAX mang lại chớ khôngquan tâm đến những khuyết điểm của AJAX, để tránh tình trạng trên, có thể liệt kêmột số đặc điểm của AJAX như sau:
* Không thể hiện thị nội dung trên các trang tìm kiếm vì các trang tìmkiếm hiện nay vẫn chưa hỗ trợ tìm vì rất khó tìm và gần như không thể tìm được
* Không thể sử dụng nút back vì back cũng là chính nó
Trang 24* 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ựchiện javascript nên ajax không thể chạy, hay trong một vài host, không hỗ trợ vàosâu cấu hình server nên hay bị lỗi "Access denied".
Nhưng với những điểm hạn chế nói trên thì AJAX vẫn đang được cáclập trình viên sử dụng rộng rãi và đang nghiên cứu để cải thiện nó, ví dụ như vừaupdate thông tin trên web, vừa thay đổi trên thanh address để có thể sử dụng một sốchức năng liên quan tới địa chỉ tuyệt đối này
Trang 25Chöông 3: PHÂN TÍCH HỆ THỐNG ĐẤU GIÁ ONLINE
1 - MÔ TẢ NGHIỆP VỤ
1.1 - Giới thiệu sơ bộ về trang web
Đây là website được xây dựng theo mô hình C2C Có nghĩa là kháchhàng có thể đăng sản phẩm của mình lên để trao đổi, mua bán với các thành viênkhác trong website
Hình thức đấu giá của website là hình thức đấu giá mở, tức là không cógiá sàn và giá trần Mức giá khởi điểm của bất kỳ sản phẩm nào cũng bằng 0 vnđ vàmỗi lần đặt giá thì sản phẩm đó sẽ tăng thêm 1 mức giá do website quy định theogiá đề nghị của sản phẩm đó Hình thức đấu giá này sẽ thu hút được nhiều kháchhàng tham gia hơn vì họ có thể mua những sản phẩm rẻ hơn hoặc bán được nhữngsản phẩm có giá hơn
Quy trình đấu giá:
Khi khách hàng đến với website thì họ phải đăng ký một tài khoản mới,tài khoản đó sẽ được ban quản trị website gọi điện thoại chứng thực thông tin kháchhàng xem có chính xác không, nếu thông tin hợp lệ thì tài khoản sẽ được kích hoạt
và khách hàng có thể sử dụng tài khoản đó để tham gia giao dịch trên website
Khi một phiên được khách hàng đăng lên thì nó sẽ có thời gian bắt đầu
và thời gian kết thúc Khi tới thời gian bắt đầu thì phiên sẽ liệt kê lên trang chủ, ta
có thể nhìn thấy được đồng hồ đếm ngược đến thời gian kết thúc Khi đến thời giankết thúc, sản phẩm đó sẽ được đem ra đấu giá 15s - có nghĩa đây là cơ hội thứ chokhách hàng quyết định mua sản phẩm hay không Nếu kết thúc 15s đó mà không ai
đặt giá tiếp thì sản phẩm sẽ thuộc về người đặt giá cuối cùng
1.2 - Nghiệp vụ ban quản trị
ĐangNhap QuantriTaikhoan
QuantriPĐG QuantriTintuc
QuantriQuảngcao1
Trang 261.2.1 - Quản lý tài khoản khách hàng
Người quản trị có nhiệm vụ xác nhận thông tin khách hàng khi họ mớiđăng ký Quản lý thông tin khách hàng, thêm, xóa, sửa thông tin khách hàng
1.2.2 - Quản lý phiên đấu giá
Khi khách hàng đăng 1 phiên mới thì mặc định phiên đấu giá này chưakích hoạt, quản trị phải xác nhận thông tin của sản phẩm đó và kích hoạt phiên đấugiá cho khách hàng
1.2.3 - Quản lý quảng cáo
Người quản trị về cái này sẽ lập các hợp đồng quảng cáo của các doanhnghiệp, up các hình ảnh quảng cáo và thực hiện hợp đồng quảng cáo đó
Trang 271.2.7 - Đăng ký, Đăng nhập
Muốn tham gia một phiên đấu gi thì điều đầu tiên bạn phải có một tàikhoản ở trang web chúng tôi Để đảm bảo thông tin đăng ký đúng sự thật, chúng tôi
sẽ liên lạc với bạn để xác minh
Sau khi xác minh thông tin tài khoản thì bạn có thể đăng nhập vàowebsite và tham gia các phiên đấu giá với các khách hàng khác
1.2.8 - Quản lý tài khoản
Khi tham gia phiên mua bán trên mạng thì điều đầu tiên là thông tin củamình phải rõ ràng, xác thực, nên khách hàng phải liệt kê đầy đủ thông tin của mình
1.2.9 - Quản lý phiên đấu giá
Khi bạn có nhu cầu bán sản phẩm tại website thì bạn cần phải điền đầy
đủ thông tin sản phẩm theo mẫu có sẵn và ban quản trị sẽ xác thực, nếu hợp lệ, sảnphẩm của bạn sẽ được lên phiên đấu giá
Nếu sản phẩm đó chưa tới thời gian lên phiên thì bạn có thể sữa hoặcxóa sản phẩm trong phiên đấu giá đó
1.2.10 - Tham gia phiên đấu giá
Khi đã có tài khoản thì khách hàng có thể tham gia đặt giá trong bất kỳphiên nào có sản phẩm mà họ quan tâm
1.2.11 - Tìm kiếm phiên đấu giá
Bạn có thể tìm phiên theo tên sản phẩm, giá đề nghị, thời gian bắt đầu,thời gian kết thúc, người up sản phẩm ………
1.2.12 - Gửi tin nhắn cho các thành viên khác
Khi muốn liên lạc với các thành viên khác để trao đổi hay thỏa thuậnđiều gì đó thì bạn dùng chức năng này để liên lạc với họ
Trang 281.2.13 - Quên mật khẩu
Khi bạn quên mật khẩu thì bạn có thể sử dụng chức năng này để khổiphục lại mật khẩu đã quên mất
Trang 292 - Sơ đồ Usecase
2.1 - Usecase tổng quát
Trang 302.2 - Đặc tả use case
2.2.1 - Đăng nhập – Đăng xuất – Thay đổi thông tin cá nhân
Hình 3-3 Đăng nhập - Đăng xuất - Thay đổi thông tin tài khoản
Mô tả Đăng nhập và đăng xuất khỏi hệ thống, thay đổi thông
tin tài khoản
Luồng sự kiện
chính
1/ Người dùng truy cập vào trang chủ
2/ Hệ thống hiển thị form đăng nhập
3/ Người dùng nhập tài khoản và mật khẩu và bấm nút
đăng nhập.
5/ Include Use Case đăng xuất
6/ Include Use Case thay đổi thông tin cá nhân
< Include Use Case> Thay đổi thông tin cá nhân
1/ Actor chọn nút thay đổi thông tin cá nhân
2/ Hệ thống hiện form thông tin cá nhân
3/ Actor cập nhật lại thông tin và bấm nút cập nhật.4/ Hệ thống kiểm tra thông tin nhập và cập nhật vào cơ
sở dữ liệu
5/ Actor bấm nút thoát
6/ Hệ thống quay trở lại trang chủ
Trang 31Rẽ nhánh 1:
4.1/ Kiểm tra thông tin không hợp lệ
4.2/ Xuất thông báo và quay lại bước 2 của Include Use
Case Thay đổi thông tin cá nhân
2.2.2 - Xem thống kê
Hình 3-4 Xem thống kê
Mô tả Xem thống kê của website theo năm
Luồng sự kiện
chính
1/ Quản trị đang nhập vào website2/ Hệ thống hiển thị thống kê theo năm cho quản trịxem
Luồng sự kiện phụ 3/ Actor bấm nút thoát
4/ Hệ thống quay lại trang đăng nhập
2.2.3 - Quản trị quảng cáo
Hình 3-5Quản trị quảng cáo
Tên usecase Quản lý quảng cáo
Mô tả Upload hình ảnh quảng cáo và đường dẫn đến các trang
Trang 322/ Hệ thống hiển thị danh sách hình ảnh quảng cáo vàform thêm quảng cáo trên cùng một trang web.
3/ Extend Use Case thêm quảng cáo
4/ Extend Use Case xóa quảng cáo
5/ Extend Use Case sửa quảng cáo
Luồng sự kiện phụ 3/ Actor bấm nút thoát
4/ Hệ thống quay lại màn hình đăng nhập của quản trị
<Extend Use Case> Thêm quảng cáo
1/ Actor bấm nút reset form và nhập thông tin hình ảnh,
link quảng cáo Nhâp xong bấm nút Cập nhật.
2/ Hệ thống kiểm tra thông tin quảng cáo và cập nhậtvào cơ sở dữ liệu
3/ Actor bấm nút thoát
4/ Hệ thống quay trở lại màn hình đăng nhập
Rẽ nhánh 1:
2.1/ Kiểm tra thông tin không hợp lệ
2.2/ Xuất thông báo và quay lại bước 2 của luồng sự kiện chính
<Extend Use Case> Sửa quảng cáo
1/ Actor click chuột vào hình quảng cáo cần sửa
2/ Hệ thống hiện thông tin quảng cáo đó lên form.3/ Actor cập nhật lại thông tin quảng cáo và bấm nútcập nhật
4/ Hệ thống kiểm tra thông tin quảng cáo và cập nhậtvào cơ sở dữ liệu
5/ Actor bấm nút thoát
6/ Hệ thống quay trở lại màn hình đăng nhập
Rẽ nhánh 1:
4.1/ Kiểm tra thông tin không hợp lệ
4.2/ Xuất thông báo và quay lại bước 2 của luồng sự kiện chính
<Extend Use Case> Xóa quảng cáo
1/ Actor check vào các quảng cáo cần xóa và bấm nútxóa
Trang 332/ Hệ thống kiểm tra thông tin quảng cáo cần xóa vàcập nhật vào cơ sở dữ liệu.
3/ Actor bấm nút thoát
4/ Hệ thống quay trở lại màn hình đăng nhập
Rẽ nhánh 1:
2.1/ Kiểm tra thông tin không hợp lệ
2.2/ Xuất thông báo và quay lại bước 2 của luồng sự kiện chính
2.2.4 - Quản trị hợp đồng quảng cáo
Hình 3-6 Quản trị hợp đồng quảng cáo
Tên usecase Quản lý hợp đồng quảng cáo
Mô tả Thêm, xóa, sửa hợp đồng quảng cáo
4/ Extend Use Case xóa hợp đồng quảng cáo
5/ Extend Use Case sửa hợp đồng quảng cáo
Luồng sự kiện phụ 3/ Actor bấm nút thoát
4/ Hệ thống quay lại màn hình đăng nhập của quản trị
Trang 34<Extend Use Case> Thêm hợp đồng quảng cáo
1/ Actor bấm nút reset form và nhập thông của hợp
đồng quảng cáo Nhâp xong bấm nút Cập nhật.
2/ Hệ thống kiểm tra thông tin quảng cáo và cập nhậtvào cơ sở dữ liệu
3/ Actor bấm nút thoát
4/ Hệ thống quay trở lại màn hình đăng nhập
Rẽ nhánh 1:
2.1/ Kiểm tra thông tin không hợp lệ
2.2/ Xuất thông báo và quay lại bước 2 của luồng sự kiện chính
<Extend Use Case> Sửa hợp đồng quảng cáo
1/ Actor click chuột vào hợp đồng quảng cáo cần sửa.2/ Hệ thống hiện thông tin hợp đồng quảng cáo đó lênform
3/ Actor cập nhật lại thông tin hợp đồng quảng cáo vàbấm nút cập nhật
4/ Hệ thống kiểm tra thông tin hợp đồng quảng cáo vàcập nhật vào cơ sở dữ liệu
5/ Actor bấm nút thoát
6/ Hệ thống quay trở lại màn hình đăng nhập
Rẽ nhánh 1:
4.1/ Kiểm tra thông tin không hợp lệ
4.2/ Xuất thông báo và quay lại bước 2 của luồng sự kiện chính
<Extend Use Case> Xóa hợp đồng quảng cáo
1/ Actor check vào các hợp đồng quảng cáo cần xóa vàbấm nút xóa
2/ Hệ thống kiểm tra thông tin hợp đồng quảng cáo cầnxóa và cập nhật vào cơ sở dữ liệu
3/ Actor bấm nút thoát
4/ Hệ thống quay trở lại màn hình đăng nhập
Rẽ nhánh 1:
Trang 352.1/ Kiểm tra thông tin không hợp lệ.
2.2/ Xuất thông báo và quay lại bước 2 của luồng sự kiện chính
2.2.5 - Quản trị tin tức
Hình 3-7Quản trị tin tức
Tên usecase Quản lý tin tức
Mô tả Upload tin tức lên website
Luồng sự kiện
chính
1/ Quản trị kinh doanh đăng nhập vào và chọn chứcnăng quản lý tin tức
2/ Hệ thống hiển thị danh tin tức
3/ Extend Use Case thêm tin tức
4/ Extend Use Case xóa tin tức
5/ Extend Use Case sửa tin tức
Luồng sự kiện phụ 3/ Actor bấm nút thoát
4/ Hệ thống quay lại màn hình đăng nhập của quản trị
<Extend Use Case> Thêm tin tức
1/ Actor bấm nút thêm tin tức
2/ Hệ thống hiện form thêm tin tức
3/ Actor nhập thông tin vào form và bấm nút thêm.
4/ Hệ thống kiểm tra thông tin và cập nhật vào CSDL5/ Actor bấm nút thoát
6/ Hệ thống quay trở lại màn hình đăng nhập
Rẽ nhánh 1:
4.1/ Kiểm tra thông tin không hợp lệ
Trang 364.2/ Xuất thông báo và quay lại bước 2 của Extend Use Case Thêm tin tức.
<Extend Use Case> Sửa tin tức
1/ Actor click chuột vào tin tức cần sửa
2/ Hệ thống hiện tin tức đó lên form sửa
3/ Actor cập nhật lại tin tức và bấm nút cập nhật
4/ Hệ thống kiểm tra thông tin và cập nhật vào cơ sở dữliệu
5/ Actor bấm nút thoát
6/ Hệ thống quay trở lại màn hình đăng nhập
Rẽ nhánh 1:
4.1/ Kiểm tra thông tin không hợp lệ
4.2/ Xuất thông báo và quay lại bước 2 của luồng sự kiện chính
<Extend Use Case> Xóa tin tức
1/ Actor check vào các tin tức cần xóa và bấm nút xóa.2/ Hệ thống kiểm tra tin tức cần xóa và cập nhật vào cơ
sở dữ liệu
3/ Actor bấm nút thoát
4/ Hệ thống quay trở lại màn hình đăng nhập
Rẽ nhánh 1:
2.1/ Kiểm tra thông tin không hợp lệ
2.2/ Xuất thông báo và quay lại bước 2 của luồng sự kiện chính
Trang 372.2.6 - Quản trị loại sản phẩm
Hình 3-8 Quản trị loại sản phẩm
Tên usecase Quản lý loại sản phẩm
Actor Quản trị phiên đấu giá
Mô tả Thêm, xóa, sửa loại sản phẩm
Luồng sự kiện phụ 3/ Actor bấm nút thoát
4/ Hệ thống quay lại màn hình đăng nhập của quản trị
<Extend Use Case> Thêm loại sản phẩm
1/ Actor nhập tên loại sản phẩm và bấm nút thêm2/ Hệ thống kiểm tra thông tin nhập vào và truy vấn
vào CSDL Quay lại bước 2 của Luồng sự kiện chính.
3/ Actor bấm nút thoát
4/ Hệ thống quay trở lại màn hình đăng nhập
Rẽ nhánh 1:
2.1/ Kiểm tra thông tin không hợp lệ
2.2/ Xuất thông báo và quay lại bước 2 của Luồng sự kiện chính.
<Extend Use Case> Sửa loại sản phẩm
1/ Actor chọn loại sản phẩm cần sửa2/ Hệ thống hiện tên loại và mã loại lên form chi tiết
Trang 383/ Actor nhập thông tin cần sửa vào form và bấm nútsửa.
4/ Hệ thống kiểm tra thông tin nhập của actor
5/ Actor bấm nút thoát
6/ Hệ thống quay trở lại màn hình đăng nhập
Rẽ nhánh 1:
4.1/ Kiểm tra thông tin không hợp lệ
4.2/ Xuất thông báo và quay lại bước 2 của Extend Use Case Sửa loại sản phẩm
<Extend Use Case> Xóa loại sản phẩm
1/ Actor check các loại sản phẩm cần xóa và bấm nútxóa
2/ Hệ thống kiểm tra loại sản phẩm đó có chứa sảnphẩm nào không và truy vấn vào CSDL
3/ Actor bấm nút thoát
4/ Hệ thống quay trở lại màn hình đăng nhập
Rẽ nhánh 1:
2.1/ Kiểm tra thông tin không hợp lệ
2.2/ Xuất thông báo và quay lại bước 2 của luồng sự kiện chính.
2.2.7 - Quản trị phiên đấu giá
Hình 3-9Quản trị phiên đấu giá
Tên usecase Quản lý phiên đấu giá
Actor Quản trị phiên đấu giá
Trang 39Mô tả Xem thông tin phiên đấu giá mà khách hàng up, sửa
chữa và kích hoạt phiên đấu giá
Luồng sự kiện phụ 3/ Actor bấm nút thoát
4/ Hệ thống quay lại màn hình đăng nhập của quản trị
<Extend Use Case> Sửa phiên đấu giá
1/ Actor chọn phiên đấu giá cần sửa
2/ Hệ thống hiển thị thông tin chi tiết của phiên đấu giálên trang web
3/ Actor thay đổi thông tin cần sửa chữa và bấm nútsửa
4/ Hệ thống kiểm tra thông tin actor nhập vào và cậpnhật cơ sở dữ liệu
5/ Actor bấm nút thoát
6/ Hệ thống quay trở lại màn hình đăng nhập
Rẽ nhánh 1:
4.1/ Kiểm tra thông tin không hợp lệ
4.2/ Xuất thông báo và quay lại bước 2 của Extend sửa phiên đấu giá.
<Extend Use Case> Xóa phiên đấu giá
1/ Actor chọn phiên đấu giá cần xóa và bấm nút xóa.2/ Hệ thống kiểm tra thông tin của phiên đấu giá màactor xóa, và cập nhật vào cơ sở dữ liệu
3/ Actor bấm nút thoát
4/ Hệ thống quay trở lại màn hình đăng nhập
Rẽ nhánh 1:
2.1/ Kiểm tra thông tin không hợp lệ
2.2/ Xuất thông báo và quay lại bước 2 của luồng sự kiện chính.
Trang 40<Extend Use Case> Kích hoạt phiên đấu giá
1/ Actor chọn phiên đấu giá cần kích hoạt
2/ Hệ thống hiển thị thông tin chi tiết của phiên đấu giálên trang web
3/ Actor check vào nút kích hoạt và bấm nút sửa
4/ Hệ thống cập nhật cơ sở dữ liệu
5/ Actor bấm nút thoát
6/ Hệ thống quay trở lại màn hình đăng nhập
2.2.8 - Quản trị tài khoản khách hàng
Hình 3-10 Quản trị khách hàng
Tên usecase Quản lý khách hàng
Mô tả Xem thông tin khách hàng và chứng thực thông tin
bằng cách liên lạc trực tiếp với khách hàng
Luồng sự kiện phụ 3/ Actor bấm nút thoát
4/ Hệ thống quay lại màn hình đăng nhập của quản trị
<Extend Use Case> Thêm Khách hàng
1/ Actor nhập thông tin khách hàng và bấm nút thêm2/ Hệ thống kiểm tra thông tin nhập vào và truy vấn
vào CSDL Quay lại bước 2 của Luồng sự kiện chính.
3/ Actor bấm nút thoát