Dòng sự kiện chính - Cập nhật: + Nhập vào tất cả các thông tin muốn cập nhật của tài khoản+ Xử lý kiểm tra các thông tin cần thiết được nhập vào là hợp lệ+ Nếu tất cả thông tin là hợp lệ
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỒ HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM
Báo Cáo Đồ Án Cuối Kỳ
Đề Tài: Ứng Dụng Kỹ Thuật Phân tán
EJB, JAX-WS Vào Hệ thống Website Bán Băng Đĩa
(-Bổ sung-)
Giáo viên hướng dẫn : ThS Nguyễn Trác Thức
Sinh viên thực hiện :
Lớp: SE213.D22
Trang 3LỜI MỞ ĐẦU
Các chương trình ứng dụng mang tính tập trung, không linh hoạt dần được thay thế bằng những chương trình khác dễ dàng lắp ghép từng modun hơn với những công nghệ cao hơn, việc xử lý phân tán cho các hệ thống cũng được đòi hỏi nhiều hơn Những công nghệ , kỹ thuật để triển khai một mô hình phân tán cũng trở nên đa đạng hơn,EJB là công nghệ nhóm em sẽ ứng dụng vào đồ án
Một enterprise bean là một component phía server (server-side component) dùng để thực hiện business logic của một enterprise application và luôn gán liền với các quy luật của kiến trúc enterprise bean.(server component model)
Kiến trúc các enterprise javabean là một kiến trúc component (component
architecture) cho việc phát triển và triển khai các ứng dụng phân tán dựa vào component Kiến trúc này làm cho việc viết các ứng dụng dễ dàng hơn: người phát triển ứng dụng không cần phải hiểu các giao dịch ở mức thấp, chi tiết quản lý trạng thái, đa luồng,
connection pooling, và nhiều API ở mức thấp phức tạp khác
Chân thành cảm ơn thầy và các bạn đã giúp đỡ để nhóm em hoàn thành tốt bản báo cáo này
Trang 4MỤC LỤC
Page 4
Trang 5I Tổng quan
I.1 Khái niệm xử lý phân tán
Việc liên lạc, truy xuất, trao đổi thông điệp giữa 2 bộ nhớ khác nhau( trên 2 máy ảo java khác nhau) hay gọi một đối tường từ xa được gọi là xử lý phân tán
I.2 Phát biểu bài toán
Ngày nay khi đời sống xã hội ngày càng nâng cao, con người ngày càng nâng cao chất lượng cuộc sống, vấn đề nghe nhạc , xem phim muốn nâng cao chất lượng cần thu phí , do đó hệ thống website bán đĩa CD,DVD qua mạng ra đời , đây là một trang bán sản phẩm băng đĩa có uy tín ,chất lượng toàn cầu được đông đảo mọi người khắp nơi trên thế giới đón nhận , trang web ngày càng gia tăng nhanh lượng truy cập,cần nâng cao chất lượng đường truyền truy cập , xử lý,website ngày càng mang tính đa quốc gia Nhưng các xử lý yêu cầu nghiệp vụ đòi hỏi quá tải server , hơn nữa nó rất thường xuyên sửa đổi nâng cấp
Để đáp ứng yêu cầu trên công nghệ xử lý phân tán được lựa chọn
I.3 Giới thiệu hệ thống
I.3.1 Các yêu cầu chức năng hệ thống
Sơ lược các chức năng hệ thống
+Client
Trang web cho phép người dùng xem qua các thể loại âm nhạc, trò chơi và phim ảnh khác nhau trong nước hay quốc tế Người dùng có thể nghe nhạc, xem cái trailer phim , trò chơi và có thể tải chúng về nhưng không đầy đủ Bình chọn cho một album nhạc, trò chơi hoặc bộ phim và gửi phản hồi trên web, N Và trang web cũng cung cấp chức năng tìm kiếm
Khi người dùng cần phải biết thông tin về các phiên bản gần đây của âm nhạc, trò chơi, bộ phim họ có thể mở trang web này để xem hoặc tìm kiếm một số thông tin, và dĩ nhiên, họ có thể mua một số đĩa DVD nếu họ muốn.Nếu người dùng muốn mua một đĩa DVD mới, họ không cần phải đi trực tiếp đến cửa hàng Thay vào đó họ có thể truy cập vào trang web để tham khảo thông tin về sản phẩm và đặt hàng
Tóm lại chức năng client:
• Hiển thị tất cả các sản phẩm
• Cho phép Người dùng đăng ký và quản lý tài khoản của họ
• Cho phép người sử dụng đọc tin tức
• Cho phép người dùng duyệt theo thể loại như Artists, Album,
• Cho phép người dùng đặt hàng và xem các đơn hàng lịch sử của họ
eProject ONLINESHOP4DVDS
Trang 6• Cho phép tỷ lệ người sử dụng đánh giá sản phẩm và ghi ý kiến của mình
• Cho phép người sử dụng thêm các sản phẩm có thể mua
• Cho phép người sử dụng chơi nhạc, movie trailer hay game Trailer
• Cho phép người dùng download các bài hát hay phim hoặc game miễn phí nếu họ muốn
• Cho phép người dùng gửi thông tin phản hồi để cải thiện trang web tốt hơn
• Cho phép người sử dụng tạo ra album bộ sưu tập của bạn để lưu một danh sách một vài bài nhạc miễn phí
Cụ thể:
GUEST
Khách là một người dùng không đăng ký tại trang web Anh ta có thể sử dụng các dưới đây:
o Đọc tin tức về âm nhạc, trò chơi, phim trên trang web
o Duyệt hoặc tìm kiếm thông tin về một nghệ sĩ, album, bài hát hoặc một lyric, hoặc xem đoạn trailer bộ phim hay game, nội dung thông tin về họ
o Xem movie trailer và trực tuyến miễn phí, một số âm nhạc (nhưng không đầy đủ DVD)
o Artist là một nhà soạn nhạc, một ca sĩ hoặc cả hai
o Chức năng này có thể xem, thêm một nghệ sĩ mới, xóa, chỉnh sửa, tìm kiếm
Quản lý Albums: Chức năng này bao gồm xem, thêm một album mới, xóa, chỉnh sửa, tìm kiếm
Quản lý bài hát, trò chơi, phim ảnh: Chức năng này bao gồm xem, thêm mới, xóa, chỉnh sửa, tìm kiếm
Quản lý người dùng:
o Người sử dụng có thể là một khách mời hoặc một thành viên hoặc một khách hàng
o Một người dùng không đăng ký tại trang web là một khách
o Một người sử dụng đã đăng ký tại trang web là một thành viên
o Thành viên được gọi là một khách hàng nếu anh ta mua album từ các trang web hoặc ông đã có một tài khoản tại Website
eProject ONLINESHOP4DVDS
Trang 7o Chức năng này bao gồm xem, thêm người dùng mới, xóa, chỉnh sửa, tìm kiếm và phục hồi
o Quản lý Thông tin phản hồi: Chức năng này bao gồm xem, xóa, trả lời và tìm kiếm thông tin phản hồi của người dùng
Quản lý nhà cung cấp:
o Nhà cung cấp là công ty cung cấp đĩa nhạc cho trang web
o Chức năng này bao gồm xem, thêm một nhà cung cấp mới, xóa, chỉnh sửa, tìm kiếm và nhà cung cấp
Quản lý nhà sản xuất:
o Nhà sản xuất là một công ty xuất bản
o Chức năng này bao gồm xem, thêm một nhà sản xuất mới, xóa, chỉnh sửa, tìm kiếm…
o Một sản phẩm là một album được bán trên trang web
o Chức năng này bao gồm các sản phẩm xem, thêm một sản phẩm mới, xóa, chỉnh sửa, tìm kiếm
Quản lý mua hoá đơn: Chức năng này bao gồm xem các hoá đơn mua, thêm một hóa đơn mua mới, xóa, chỉnh sửa, tìm kiếm
Quản lý đơn đặt hàng: Chức năng này bao gồm các đơn đặt hàng xem, xóa, chỉnh sửa, tìm kiếm
Quản lý báo cáo: Chức năng này giúp quản trị có thể xem các báo cáo
Quản lý Quảng cáo: Chức năng này có thay đổi biểu ngữ của trang web, và thay đổi tất
cả các quảng cáo của trang web Quảng cáo có thể được đặt ở bất kì vị trí nào
Quản lý Tin tức: Chức năng này bao gồm xem, thêm, xóa, chỉnh sửa, tìm kiếm và phục hồi tin tức về âm nhạc, phim, game Quốc gia và tin tức quốc tế
Quản lý Quản trị viên:
o Admin quản lý trang web và quản lý quản trị viên khác
o Chức năng này bao gồm xem, thêm một quản trị viên mới, xóa, chỉnh sửa, tìm kiếm
và phục hồi quản trị viên
Quản lý đánh gía Album:
o Admin quản lý tất cả đánh giá về album của người sử dụng
o Chức năng này bao gồm thêm, xóa, chỉnh sửa và đánh giá, tìm kiếm album
Quản lý Khuyến mãi:
o Admin quản lý quảng cáo trên trang web
o Chức năng này có xem tất cả các chương trình khuyến mãi và thêm chương trình khuyến mại mới
eProject ONLINESHOP4DVDS
Trang 8I.3.2 Hệ thống và kiến trúc hiện tại
Webserver hiện tại là Tomcat
Framework hiện tại StrutFrameWork
Tầng View:Xử lý trình bày giao diên , thực hiện các yêu cầu, request
Tầng Controller :Nhận xử lý tất cả request từ tất cả khách hàng ở khắp mọi nơi Tầng Model: xử lý database
Hiện tại với số lượng request quá ngưỡng dự định đồng thời đến từ đa quốc giaChỉ có một Server Tomcat xử lý , kiến trúc hiện tại không đáp ứng được yêu cầu
Nó mắc các nhược điểm sau:
- Hạn chế trong công tác triển khai và bảo hành bảo trì hệ thống
Trang 9I.3.3 Hệ thống, mô hình mới cần xây dựng
-Tách biệt tầng xử lý (BU)sang một server mới sử dụng công nghệ EJB , với EJB phần xử lý nghiệp vụ sẽ dễ dàng xây dựng nâng cấp sửa chữa
Hình 1.1 Kiến trúc hệ thông mớiVới kiến trúc này thì trong action của Strut không xử lý BL(Business Logic) nữa mà nhường phần này cho EJB ở một server khác.(Jboss 5.0.1GA)
II Kĩ thuật xử lý phân tán
II.1 Khái niệm xử lý phân tán
Em xin được nhắc lại khái niệm quan trọng này:
Việc liên lạc, truy xuất, trao đổi thông điệp giữa 2 bộ nhớ khác nhau( trên 2 máy ảo java khác nhau) hay gọi một đối tường từ xa được gọi là xử lý phân tán
II.2 Kiến trúc ứng dụng phân tán chung (kiến trúc nhiều tầng )
Kiến trúc phân tán (distributed applications) hay kiến trúc đa tầng (multi-tiers) giải quyết được các vấn đề kể trên Khái niêm “phân tán” hay “nhiều tầng” được sử dụng để chỉ ra sự phân
bổ logic của chương trình trên các máy Kiến trúc này là một bước kế tiếp của mô hình 2 tầng ở
eProject ONLINESHOP4DVDS
Trang 10chỗ: nó phát triển tiếp ý tưởng chuyển logic chương trình lên xử lý tập trung ở máy chủ Điểm khác biệt là ở chỗ, nếu như trong kiến trúc 2 tầng, phần xử lý nghiệp vụ chủ yếu nằm ở máy chủ thì trong kiến trúc phân tán, phần xử lý nghiệp vụ được chuyển lên xử lý ở các máy chủ Máy trạm lúc này chỉ đóng vai trò thiết bị đầu cuối để nhập dữ liệu.
Lớp hiển thị (Máy trạm)Lớp nghiệp vụ (Máy chủ ứng dụng)Lớp cơ sở dữ liệu (Máy chủ cơ sở dữ liệu)
Hình 4 : Kiến trúc nhiều tầng
Hình 4 biểu diễn kiến trúc đơn giản của mô hình nhiều lớp Trong mô hình này, người ta thường sử dụng một hay nhiều lớp trung gian giữa máy trạm (có thể là các trình duyệt web hoặc ứng dụng) và các máy chủ khác (thường là hệ thống máy chủ cơ sở dữ liệu Enterprise Information System EIS ) Các lớp ở giữa này đóng vai trò máy chủ ứng dụng, trên đó các ứng dụng sẽ được triển khai Các mã nguồn cần để trao đổi thông tin hoặc để có thể tái sử dụng sẽ được lưu giữ trên máy chủ ứng dụng này Mô hình máy trạm/ máy chủ ứng dụng/ máy chủ cơ sở
dữ liệu sẽ giải quyết tất cả các yếu tố hạn chế trông mô hình client/server thuần tuý
• Vấn đề triển khai và bảo hành bảo trì hệ thống.
eProject ONLINESHOP4DVDS
Trang 11- Trong phần lớn các hệ thống, phần logic xử lý nghiệp vụ chiếm thành phần rất lớn Với mô hình nhiều lớp, phần xử lý nghiệp vụ được triển khai tập trung tại một số ít máy chủ có cấu hình mạnh Còn lại phần xử lý giao diện chiếm tỷ trọng nhỏ có thể được chạy theo 2 dạng: trình duyệt web đối với các ứng dụng thin client và Chương trình giao diện đối với các ứng dụng thick client Đối với dạng thứ nhất, hoàn toàn không cần triển khai gì trên máy trạm Với dạng thứ hai, Chương trình xử lý giao diện thường ít phải thay đổi và nâng cấp, trong trường hợp phải thay đổi thì khối lượng cũng không nhiều Vì vậy việc triển khai, bảo trì hệ thống sẽ tập trung ở phần
xử lý nghiệp vụ tại các máy chủ, khiến cho công việc cài đặt, sửa chữa, nâng cấp có thể tiến hành dễ dàng
• Vấn đề năng lực xử lý của hệ thống.
- Trong mô hình nhiều tầng, phần xử lý nghiệp vụ được chạy trên máy chủ ứng dụng
Vì vậy máy chủ ứng dụng mới là phần giao tiếp trực tiếp với máy chủ cơ sở dữ liệu, chứ không phải là các máy trạm như trong mô hình 2 tầng Kết nối giữa máy chủ cơ
sở dữ liệu và máy chủ ứng dụng không nhiều và phân bố rộng như giữa máy trạm và máy chủ ứng dụng trong mô hình 2 tầng Vì vậy các kết nối này thường được sử dụng với chế độ dành riêng và có tốc độ cao
- Trên các kết nối giữa máy trạm và máy chủ ứng dụng, thông tin truyền đi thường là các thông tin đã được xử lý để hiển thị hay là các thông tin nhập liệu đầu vào, vì vậy lưu lượng trên các kết nối này rất thấp so với mô hình 2 tầng
• Vấn đề cung cấp dịch vụ cho khách hàng.
- Giải quyết được vấn đề tích hợp, việc các nhà sản xuất ứng dụng phối hợp với nhau
để xây dựng nên những hệ thống lớn trở nên khả thi Vì vậy, các ứng dụng cung cấp cho khách hàng cũng trở nên đơn giản, thuận tiện và chính xác hơn
• Vấn đề tính mềm dẻo và khả chuyển của hệ thống.
- Các quy trình nghiệp vụ được xử lý tập trung tại các máy chủ Vì vậy, khi cần thay đổi quy trình nghiệp vụ, nói chung chỉ cần xử lý tập trung tại máy chủ mà người sử dụng ở máy trạm vẫn có thể sử dụng giao diện cũ quen thuộc
eProject ONLINESHOP4DVDS
Trang 12• Vấn đề chi phí cấu hình hệ thống.
- Trong mô hình nhiều tầng, các thiết bị đầu cuối chỉ cần sử dụng để thực hiện công việc xử lý giao diện, vì vậy không cần đòi hỏi cấu hình mạnh Khi triển khai các hệ thống, khối lượng các thiết bị đầu cuối là lớn hơn rất nhiều so với số lượng máy chủ,
có thể tới vài trăm hoặc vài ngàn Vì vậy, mặc dù chi phí cho các máy chủ tăng lên, chi phí cho toàn bộ hệ thống vẫn được giảm đi đáng kể
II.3 Kiến trúc ứng dụng phân tán cho hệ thống mới cần xây dựng
Tách biệt tầng xử lý (BU)sang một server mới sử dụng công nghệ EJB , với EJB phần xử lý nghiệp vụ sẽ dễ dàng xây dựng nâng cấp sửa chữa
Hình 1.1 Kiến trúc hệ thông mớiVới kiến trúc này thì trong action của Strut không xử lý BL(Business Logic) nữa mà nhường phần này cho EJB ở một server khác.(Jboss 5.0.1GA)
Lợi ích EJB mang lại : kiến trúc EJB giúp cho việc phát triển các ứng dụng doanh nghiệp dễ dàng hơn vì chúng không cần quan tâm đến các dịch vụ mức hệ thống như là quản lý giao dịch, quản
lý bảo mật, quản lý đa luồng, và các vấn đề quản lý chung khác Kiến trúc EJB hỗ trợ
WORA và các giải pháp di động Một EJB thành phần có thể được phát triển một lần sau
đó có thể sử dụng lại trong nhiều ứng dụng và triển khai trên nhiều nền tảng khác nhau
eProject ONLINESHOP4DVDS
Trang 13mà không phải biên dịch và sửa lại mã nguồn của Thành phần EJB Một Thành phần EJB
là một thành phần phía server cung cấp các dịch vụ cho điều khiển từ xa hoặc client cục bộ
Chức năng Xử lý business qua
các Bean , trả về kết quả cho View của Strut ở Tomcat
Webtier gọi xử lý business ở Jboss ở tầng Action
của strut thông qua địa chỉ JNDI của Bean trên
Jboss lấy về đối
tượng Remote
eProject ONLINESHOP4DVDS
Trang 14II.4 Các kĩ thuật phân tán áp dụng vào đồ án
II.4.1 Session Bean EJB 3.0
Kĩ thuật chính của SessionBean trong EJB có thể mô tả ngắn gọn như sau:
Các SessionBean sẽ có một địa chỉ JNDI tương ứng
SessionBean(SB) chứa các hàm xử lý logic mà client mong muốn có được
Từ một client trên một địa chỉ bộ nhớ tách biệt khác nhau client muôn có được hàm này phải thông qua địa chỉ JNDI của đối tượng SB chứa hàm đó
Remote=Lookup(JNDI) trả về một tham chiếu tới đối tượng cần lấy.tạm đặt là remote
Có được remomte của đối tượng sẽ dễ dạng truy cập các hàm của đối tượng
II.4.2 MDB
MDB dùng Queue để gửi thông điệp chính xác và bất đồng bộ
Hình minh họa các thức hoạt động của JMS MDB
Chức năng SendMail() của đồ án sẽ sử dụng kĩ thuật này
Client sẽ gửi nội dung email cần gửi tới Destination ,MDB đóng vai trò là bộ tiêu thụ thông điệp
nó cũng sẽ chờ đợi bất kỳ thông điệp ObjectMesage nào gửi tới Destination
eProject ONLINESHOP4DVDS
Trang 15Khi bắt gặp một thông điệp gởi tới nó sẽ kích hoạt phương thức CallBack OnMessage() để xử lý Message.
Chú ý Message cần xử lý là Object SendMail có các thuộc tính …v v
Để server biết được Object mà client gửi lên có cấu trúc như thế nào thì trong thư mục
Deploy JBOSS phải có file jar chứa thực thể ( ví dụ sendmail.jar)
Lý do áp dụng MDB:
=>Việc sendmail đòi hỏi tốn thời gian không là yếu tố phụ thuộc của các chức năng khác,
Các chức năng khác có thể xử lý song song mặc cho send mail diễn ra trong bao lâu và có thành công hay không
II.4.3 Webserice
Khái niệm Webservice:
FrameWork Webserice sử dụng JAX-WS
Lý thuyết: http://www.slideshare.net/wwwestech/jaxws-basics
Cài đặt: s-dng-web-server-tomcat-va-s-dng-service-ap-dng-mvc-pattern-tren-web
http://www.kieutrongkhanh.net/index.php/java-web-service-x/56-xay-dng-web-service-eProject ONLINESHOP4DVDS
Trang 16Lý thuyết công nghệ này còn nhiều khái niệm liên quan về file Wsdl –ngôn ngữ đinh nghĩa một webservice cho các nền tảng khác hiểu nó làm gì là gì ,serviceEndpoint v v
Nhưng để xây dưng một webserice thì khá đơn giản em xin trích dẫn 2 link trên
Webservice được viết ra để đáp ứng nhu cầu chung của các dự án ứng dụng khác nhau ví dụ cần xem dự báo thời tiết , tính toán (+-*/),Lấy tên các quốc gia trên thế giới, độc lập nền tảng
Trong đồ án tính năng upload ảnh sử dụng công nghệ này
II.4.4 Java Persistence API hay JPA
là một đặc tả Java cho việc ánh xạ giữa các đối tượng Java tới cơ sở dữ liệu quan hệ sử dụng cộng nghệ phổ biến là ORM( Object Relational Mapping) JPA API cung cấp đầy đủ các công
cụ cho phép người lập trình có thể tạo cơ sở dữ liệu một cách đơn giản và nhanh chóng JPA API có thể dùng để persist một đối tượng business (POJO) vào trong cơ sở dữ liệu hoặc lấy dữ liệu từ cơ sở dữ liệu và ánh xạ ra các đối tượng business một cách đơn giản
Đồ án sử dụng JPA để thực hiện phần xử lý Model DAO
eProject ONLINESHOP4DVDS
Trang 17III Phân tích thiết kế
III.1 Use case admineProject ONLINESHOP4DVDS
Trang 18eProject ONLINESHOP4DVDS
Trang 19III.1.1 Quản lý admin
Tên use case Quản lý admin
Mô tả Use case này cho phép cập nhật, xóa và tìm kiếm một tài khoản
đóng vai trò là admin trong cơ sở dữ liệu
Điều kiện Admin phải đăng nhập vào hệ thống và nhấp vào nút tương ứng
trên web
Bảo đảm tối thiểu Hệ thống đảm bảo rằng tất cả các thông tin của bảng Tài khoản đã
được thêm vào trong cơ sở dữ liệu
Bảo đảm thành công Hệ thống đảm bảo rằng tất cả thông tin đã được thêm vào trong cơ
sở dữ liệu
Dòng sự kiện chính - Cập nhật:
+ Nhập vào tất cả các thông tin muốn cập nhật của tài khoản+ Xử lý kiểm tra các thông tin cần thiết được nhập vào là hợp lệ+ Nếu tất cả thông tin là hợp lệ, bắt đầu xử lý cập nhật thông tin trong cơ sở dữ liệu Ngược lại xử lý sẽ hiển thị thông báo lỗi và yêu cầu nhập lại
lý sẽ hiển thị kết quả là null
III.1.2 Quản lý tài khoản
Tên use case Quản lý tài khoản
Mô tả Use case này cho phép cập nhật, xóa và tìm kiếm một tài khoản
đóng vai trò là thành viên trong cơ sở dữ liệueProject ONLINESHOP4DVDS
Trang 20Điều kiện Admin phải đăng nhập vào hệ thống và nhấp vào nút tương ứng
trên web
Bảo đảm tối thiểu Hệ thống đảm bảo rằng tất cả các thông tin của bảng Tài khoản đã
được thêm vào trong cơ sở dữ liệu
Bảo đảm thành công Hệ thống đảm bảo rằng tất cả thông tin đã được thêm vào trong cơ
sở dữ liệu
Dòng sự kiện chính - Cập nhật:
+ Nhập vào tất cả các thông tin muốn cập nhật của tài khoản+ Xử lý kiểm tra các thông tin cần thiết được nhập vào là hợp lệ+ Nếu tất cả thông tin là hợp lệ, bắt đầu xử lý cập nhật thông tin trong cơ sở dữ liệu Ngược lại, xử lý sẽ hiển thị thông báo lỗi và yêu cầu nhập lại
lý sẽ hiển thị kết quả là null
III.1.3 Quản lý nhà sản xuất
Tên use case Quản lý nhà sản xuất
Mô tả Use case này cho phép thêm, cập nhật, xóa và tìm kiếm một nhà
sản xuất trong cơ sở dữ liệu
Điều kiện Admin phải đăng nhập vào hệ thống và nhấp vào nút tương ứng
trên web
Bảo đảm tối thiểu Hệ thống đảm bảo rằng tất cả các thông tin của bảng Nhà Sản Xuất
đã được thêm vào trong cơ sở dữ liệu
Bảo đảm thành công Hệ thống đảm bảo rằng tất cả thông tin đã được thêm vào trong cơ
sở dữ liệu
Dòng sự kiện chính - Thêm vào:
+ Nhập vào tất cả các thông tin muốn thêm vào nhà sản xuất+ Xử lý kiểm tra các thông tin cần thiết được nhập vào là hợp lệ+ Nếu tất cả thông tin là hợp lệ, bắt đầu xử lý thêm vào dữ liệu trong cơ sở dữ liệu Ngược lại, xử lý sẽ hiển thị thông báo lỗi và yêu cầu nhập lại
- Cập nhật:
+ Nhập vào tất cả các thông tin muốn cập nhật của nhà sản xuất+ Xử lý kiểm tra các thông tin cần thiết được nhập vào là hợp lệ+ Nếu tất cả thông tin là hợp lệ, bắt đầu xử lý cập nhật dữ liệu trong
cơ sở dữ liệu Ngược lại, xử lý sẽ hiển thị thông báo lỗi và yêu cầu eProject ONLINESHOP4DVDS
Trang 21nhập lại-Xóa:
+ Chọn nhà sản xuất muốn xóa+ Nếu dữ liệu hợp lệ, bắt đầu xử lý xóa dữ liệu của nhà sản xuất trong cơ sở dữ liệu Ngược lại, xử lý sẽ hiển thị thông báo lỗi
- Tìm kiếm+Nhập thông tin muốn tìm kiếm về nhà sản xuất+ Xử lý kiểm tra các thông tin cần thiết được nhập vào là hợp lệ+ Nếu tất cả thông tin đều hợp lệ, bắt đầu xử lý tìm kiếm dữ liệu của nhà sản xuất trong cơ sở dữ liệu và hiển thị kết quả Ngược lại,
xử lý sẽ hiển thị kết quả là null
III.1.4 Quản lý sản phẩm
Tên use case Quản lý sản phẩm
Mô tả Use case này cho phép thêm, cập nhật, xóa và tìm kiếm một sản
phẩm trong cơ sở dữ liệu
Điều kiện Admin phải đăng nhập vào hệ thống và nhấp vào nút tương ứng
trên web
Bảo đảm tối thiểu Hệ thống đảm bảo rằng tất cả các thông tin của bảng Sản Phẩm đã
được thêm vào trong cơ sở dữ liệu
Bảo đảm thành công Hệ thống đảm bảo rằng tất cả thông tin đã được thêm vào trong cơ
sở dữ liệu
Dòng sự kiện chính - Thêm vào:
+ Nhập vào tất cả các thông tin muốn thêm vào sản phẩm+ Xử lý kiểm tra các thông tin cần thiết được nhập vào là hợp lệ+ Nếu tất cả thông tin là hợp lệ, bắt đầu xử lý thêm vào dữ liệu trong cơ sở dữ liệu Ngược lại, xử lý sẽ hiển thị thông báo lỗi và yêu cầu nhập lại
- Cập nhật:
+ Nhập vào tất cả các thông tin muốn cập nhật của sản phẩm+ Xử lý kiểm tra các thông tin cần thiết được nhập vào là hợp lệ+ Nếu tất cả thông tin là hợp lệ, bắt đầu xử lý cập nhật dữ liệu trong
cơ sở dữ liệu Ngược lại, xử lý sẽ hiển thị thông báo lỗi và yêu cầu nhập lại
-Xóa:
+ Chọn sản phẩm muốn xóa+ Nếu dữ liệu hợp lệ, bắt đầu xử lý xóa dữ liệu của sản phẩm trong
cơ sở dữ liệu Ngược lại, xử lý sẽ hiển thị thông báo lỗi
- Tìm kiếm+Nhập thông tin muốn tìm kiếm về sản phẩm+ Xử lý kiểm tra các thông tin cần thiết được nhập vào là hợp lệ+ Nếu tất cả thông tin đều hợp lệ, bắt đầu xử lý tìm kiếm dữ liệu của sản phẩm trong cơ sở dữ liệu và hiển thị kết quả Ngược lại, xử
lý sẽ hiển thị kết quả là null
eProject ONLINESHOP4DVDS
Trang 22III.1.5 Quản lí quảng cáo:
Trang 23+Nếu tất cả các thông tin hợp lệ thì bắt đầu chèn
dữ liệu vào cơ sở dữ liệu Nếu không hợp lệ, quá trình hiển thị thông báo lỗi và yêu cầu nhập lại.-Update: + Nhập tất cả thông tin muốn cập nhật quảng cáo
+ Quy trình kiểm tra các thông tin cần thiết đưa vào có hợp lệ không
+ Nếu tất cả các thông tin hợp lệ thì bắt đầu cập nhật dữ liệu vào cơ sở dữ liệu Nếu không hợp
lệ, quá trình hiển thị thông báo lỗi và yêu cầu nhập lại
-Delete: +Chọn quảng cáo muốn xóa
+ Nếu thông tin hợp lệ thì bắt đầu xóa dữ liệu trong cơ sở dữ liệu Nếu không hợp lệ, quá trình hiển thị thông báo lỗi
-Search: + Nhập thông tin quảng cáo muốn tìm.+ Quá trình kiểm tra các thông tin cần thiết đưa vào có hợp lệ không
+ Nếu thông tin hợp lệ thì bắt đầu tìm dữ liệu trong cơ sở dữ liệu và hiển thị Nếu không, quá trình hiển thị không có dữ liệu đó
I I I 1 6 Quản lí đơn hàng:
Tên Case Name Quản lí đơn hàng
Người tác động Admin
Mô tả Use case cho phép update, delete, search một đơn hàng trong cơ sở dữ liệu
Điều kiện Admin phải đăng nhập vào hệ thống và nhấn vào nút tương ứng trên web
Đảm bảo tối thiểu Hệ thống đảm bảo tất cả thông tin bảng đơn hàng đã đưa vào trong cơ dữ lệu
Đảm bảo thành công Hệ thống đảm bảo tất cả các thông tin được đưa vào cơ sở dữ liệu
Người tác động Tác động
eProject ONLINESHOP4DVDS
Trang 24+ Nếu tất cả các thông tin hợp lệ thì bắt đầu cập nhật
dữ liệu vào cơ sở dữ liệu Nếu không hợp lệ, quá trình hiển thị thông báo lỗi và yêu cầu nhập lại
-Delete: +Chọn đơn hàng muốn xóa
+ Nếu thông tin hợp lệ thì bắt đầu xóa dữ liệu trong cơ sở dữ liệu Nếu không hợp lệ, quá trình hiển thị thông báo lỗi
-Search: + Nhập thông tin đơn hàng muốn tìm
+ Quá trình kiểm tra các thông tin cần thiết đưa vào có hợp lệ không
+ Nếu thông tin hợp lệ thì bắt đầu tìm dữ liệu trong cơ sở dữ liệu và hiển thị Nếu không, quá trình hiển thị không có dữ liệu đó
I I I 1 7 Quản lí chi tiết đơn hàng
Tên Case Name Invoice manage
Người tác động Admin
Mô tả Use case cho phép update, delete, search chi tiết đơn hàng trong cơ sơ dữ liệu
Điều kiện Admin phải đăng nhập vào hệ thống và nhấn vào nút tương ứng trên web
Đảm bảo tối thiểu Hệ thống đảm bảo tất cả thông tin bảng chi tiết đơn hàng đã đưa vào trong cơ dữ lệu
Đảm bảo thành công Hệ thống đảm bảo tất cả các thông tin được đưa vào cơ sở dữ liệu
Người tác động
Tác động
eProject ONLINESHOP4DVDS
Trang 25+Nếu tất cả các thông tin hợp lệ thì bắt đầu cập nhật dữ liệu vào
cơ sở dữ liệu Nếu không hợp lệ, quá trình hiển thị thông báo lỗi và yêu cầu nhập lại
-Delete: + Chọn chi tiết đơn hàng muốn xóa
+ Nếu thông tin hợp lệ thì bắt đầu xóa dữ liệu trong cơ sở
dữ liệu Nếu không hợp lệ, quá trình hiển thị thông báo lỗi
-Search: + Nhập thông tin chi tiết đơn hàng muốn tìm
+ Quá trình kiểm tra các thông tin cần thiết đưa vào có hợp lệ không
+ Nếu thông tin hợp lệ thì bắt đầu tìm dữ liệu trong cơ sở dữ liệu và hiển thị Nếu không, quá trình hiển thị không có dữ liệu đó
III.1.8 Quản lí hóa đơn
Tên Case Name Quản lí hóa đơn
Người tác động Admin
Mô tả Use case cho phép insert, update, delete, search một hóa đơn trong trong cơ sở dữ
liệu
Điều kiện Admin phải đăng nhập vào hệ thống và nhấn vào nút tương ứng trên web
Đảm bảo tối thiểu Hệ thống đảm bảo tất cả thông tin bảng hóa đơn đã đưa vào trong cơ dữ lệu
Đảm bảo thành công Hệ thống đảm bảo tất cả các thông tin được đưa vào cơ sở dữ liệu
Người tác động
Tác động
eProject ONLINESHOP4DVDS
Trang 26Dòng sự kiện chính
Admin
-Insert: +Nhập tất cả thông tin muốn chèn hóa đơn+ Quy trình kiểm tra các thông tin cần thiết đưa vào có hợp lệ không
+Nếu tất cả các thông tin hợp lệ thì bắt đầu chèn dữ liệu vào cơ
sở dữ liệu Nếu không hợp lệ, quá trình hiển thị thông báo lỗi và yêu cầu nhập lại
-Update: + Nhập tất cả thông tin muốn cập nhật hóa đơn
+ Quy trình kiểm tra các thông tin cần thiết đưa vào có hợp lệ không
+ Nếu tất cả các thông tin hợp lệ thì bắt đầu cập nhật dữ liệu vào cơ sở dữ liệu Nếu không hợp lệ, quá trình hiển thị thông báo lỗi và yêu cầu nhập lại
-Delete: +Chọn hóa đơn muốn xóa
+ Nếu thông tin hợp lệ thì bắt đầu xóa dữ liệu trong cơ sở dữ liệu Nếu không hợp lệ, xử lý hiển thị thông báo lỗi
-Search: + Nhập thông tin hóa đơn muốn tìm
+ Quá trình kiểm tra các thông tin cần thiết đưa vào có hợp lệ không
+ Nếu thông tin hợp lệ thì bắt đầu tìm dữ liệu trong cơ sở dữ liệu và hiển thị Nếu không, quá trình hiển thị không có dữ liệu đó
III.1.9 Quản lí khuyến mãi:
Tên Case Name Quản lí khuyến mãi
Người tác động Admin
Mô tả Use case cho phép insert, update, delete, search một khuyến mãi trong trong cơ sở
dữ liệu
Điều kiện Admin phải đăng nhập vào hệ thống và nhấn vào nút tương ứng trên web
Đảm bảo tối thiểu Hệ thống đảm bảo tất cả thông tin bảng khuyến mãi đã đưa vào trong cơ dữ lệu
Đảm bảo thành công Hệ thống đảm bảo tất cả các thông tin được đưa vào cơ sở dữ liệu
Người tác động
Tác động
eProject ONLINESHOP4DVDS
Trang 27Dòng sự kiện chính
Admin
-Insert: +Nhập tất cả thông tin muốn chèn khuyến mãi+ Quy trình kiểm tra các thông tin cần thiết đưa vào có hợp lệ không
+Nếu tất cả các thông tin hợp lệ thì bắt đầu chèn dữ liệu vào cơ
sở dữ liệu Nếu không hợp lệ, quá trình hiển thị thông báo lỗi và yêu cầu nhập lại
-Update: + Nhập tất cả thông tin muốn cập nhật khuyến mãi.+ Quy trình kiểm tra các thông tin cần thiết đưa vào có hợp lệ không
+ Nếu tất cả các thông tin hợp lệ thì bắt đầu cập nhật dữ liệu vào cơ sở dữ liệu Nếu không hợp lệ, quá trình hiển thị thông báo lỗi và yêu cầu nhập lại
-Delete: +Chọn khuyến mãi muốn xóa
+ Nếu thông tin hợp lệ thì bắt đầu xóa dữ liệu trong cơ sở dữ liệu Nếu không hợp lệ, quá trình hiển thị thông báo lỗi
-Search: + Nhập thông tin khuyến mãi muốn tìm
+ Quá trình kiểm tra các thông tin cần thiết đưa vào có hợp lệ không
+ Nếu thông tin hợp lệ thì bắt đầu tìm dữ liệu trong cơ sở dữ liệu và hiển thị Nếu không, quá trình hiển thị không có dữ liệu đó
III.1.10 Quản lí chi tiết khuyến mãi:
Tên Case Name Quản lí chi tiết khuyến mãi
Người tác động Admin
Mô tả Use case cho phép insert, update, delete, search một chi tiết khuyến mãi trong trong
cơ sở dữ liệu
Điều kiện Admin phải đăng nhập vào hệ thống và nhấn vào nút tương ứng trên web
Đảm bảo tối thiểu Hệ thống đảm bảo tất cả thông tin bảng chi tiết khuyến mãi đã đưa vào trong cơ dữ
lệu
Đảm bảo thành công Hệ thống đảm bảo tất cả các thông tin được đưa vào cơ sở dữ liệu
Người tác động
Tác động
eProject ONLINESHOP4DVDS
Trang 28Dòng sự kiện chính
Admin
-Insert: +Nhập tất cả thông tin muốn chèn chi tiết khuyến mãi+ Quy trình kiểm tra các thông tin cần thiết đưa vào có hợp lệ không
+Nếu tất cả các thông tin hợp lệ thì bắt đầu chèn dữ liệu vào cơ
sở dữ liệu Nếu không hợp lệ, quá trình hiển thị thông báo lỗi và yêu cầu nhập lại
-Update: + Nhập tất cả thông tin muốn cập nhật chi tiết khuyến mãi
+ Quy trình kiểm tra các thông tin cần thiết đưa vào có hợp lệ không
+ Nếu tất cả các thông tin hợp lệ thì bắt đầu cập nhật dữ liệu vào cơ sở dữ liệu Nếu không hợp lệ, quá trình hiển thị thông báo lỗi và yêu cầu nhập lại
-Delete: +Chọn chi tiết khuyến mãi muốn xóa
+ Nếu thông tin hợp lệ thì bắt đầu xóa dữ liệu trong cơ sở dữ liệu Nếu không hợp lệ, quá trình hiển thị thông báo lỗi
-Search: + Nhập thông tin chi tiết khuyến mãi muốn tìm
+ Quá trình kiểm tra các thông tin cần thiết đưa vào có hợp lệ không
+ Nếu thông tin hợp lệ thì bắt đầu tìm dữ liệu trong cơ sở dữ liệu và hiển thị Nếu không, quá trình hiển thị không có dữ liệu đó
eProject ONLINESHOP4DVDS
Trang 29III.2 Use case thành viên
III.2.1 Quản lý danh sách sản phẩm yêu thích
Tên use case Quản lý danh sách sản phẩm yêu thích
Mô tả Use case này cho phép thêm, cập nhật, xóa và tìm kiếm một danh
sách trong cơ sở dữ liệu
Điều kiện Thành viên phải đăng nhập vào hệ thống và nhấp vào nút tương
ứng trên web
Bảo đảm tối thiểu Hệ thống đảm bảo rằng tất cả các thông tin của bảng Danh Sách
Sản phẩm Yêu Thích đã được thêm vào trong cơ sở dữ liệu
Bảo đảm thành công Hệ thống đảm bảo rằng tất cả thông tin đã được thêm vào trong cơ
sở dữ liệu
Dòng sự kiện chính - Thêm vào:
+ Nhập vào tên của danh sách muốn thêm vào+ Nếu tất cả thông tin là hợp lệ, bắt đầu xử lý thêm vào dữ liệu trong cơ sở dữ liệu Ngược lại, xử lý sẽ hiển thị thông báo lỗi và yêu cầu nhập lại
- Cập nhật:
+ Nhập vào tên danh sách muốn cập nhật+ Xử lý kiểm tra các thông tin cần thiết được nhập vào là hợp lệ+ Nếu tất cả thông tin là hợp lệ, bắt đầu xử lý cập nhật dữ liệu trong
cơ sở dữ liệu Ngược lại, xử lý sẽ hiển thị thông báo lỗi và yêu cầu nhập lại
-Xóa:
+ Chọn danh sách muốn xóa+ Nếu dữ liệu hợp lệ, bắt đầu xử lý xóa dữ liệu của danh sách trong eProject ONLINESHOP4DVDS
Trang 30cơ sở dữ liệu Ngược lại, xử lý sẽ hiển thị thông báo lỗi
- Tìm kiếm+Nhập thông tin muốn tìm kiếm về danh sách+ Xử lý kiểm tra các thông tin cần thiết được nhập vào là hợp lệ+ Nếu tất cả thông tin đều hợp lệ, bắt đầu xử lý tìm kiếm dữ liệu của danh sách trong cơ sở dữ liệu và hiển thị kết quả Ngược lại, xử
lý sẽ hiển thị kết quả là null
III.2.2 Quản lý tiêu đề
Tên use case Quản lý tiêu đề
Mô tả Use case này cho phép thêm, cập nhật, xóa và tìm kiếm một tiêu đề
trong cơ sở dữ liệu
Điều kiện Thành viên phải đăng nhập vào hệ thống và nhấp vào nút tương
ứng trên web
Bảo đảm tối thiểu Hệ thống đảm bảo rằng tất cả các thông tin của bảng Tiêu Đề đã
được thêm vào trong cơ sở dữ liệu
Bảo đảm thành công Hệ thống đảm bảo rằng tất cả thông tin đã được thêm vào trong cơ
sở dữ liệu
Dòng sự kiện chính - Thêm vào:
+ Nhập vào tên tiêu đề muốn thêm vào+ Nếu tất cả thông tin là hợp lệ, bắt đầu xử lý thêm vào dữ liệu trong cơ sở dữ liệu Ngược lại, xử lý sẽ hiển thị thông báo lỗi và yêu cầu nhập lại
sẽ hiển thị kết quả là null
III.2.3 Quản lý bài viết
Tên use case Quản lý bài viết
Mô tả Use case này cho phép thêm, cập nhật, xóa và tìm kiếm một sản
phẩm trong cơ sở dữ liệu
Điều kiện Thành viên phải đăng nhập vào hệ thống và nhấp vào nút tương
ứng trên webeProject ONLINESHOP4DVDS
Trang 31Bảo đảm tối thiểu Hệ thống đảm bảo rằng tất cả các thông tin của bảng Bài Viết đã
được thêm vào trong cơ sở dữ liệu
Bảo đảm thành công Hệ thống đảm bảo rằng tất cả thông tin đã được thêm vào trong cơ
sở dữ liệu
Dòng sự kiện chính - Thêm vào:
+ Nhập tên của bài viết muốn thêm vào+ Nếu tất cả thông tin là hợp lệ, bắt đầu xử lý thêm vào dữ liệu trong cơ sở dữ liệu Ngược lại, xử lý sẽ hiển thị thông báo lỗi và yêu cầu nhập lại
- Cập nhật:
+ Nhập tên bài viết muốn cập nhật+ Xử lý kiểm tra các thông tin cần thiết được nhập vào là hợp lệ+ Nếu tất cả thông tin là hợp lệ, bắt đầu xử lý cập nhật dữ liệu trong
cơ sở dữ liệu Ngược lại, xử lý sẽ hiển thị thông báo lỗi và yêu cầu nhập lại
-Xóa:
+ Chọn bài viết muốn xóa+ Nếu dữ liệu hợp lệ, bắt đầu xử lý xóa dữ liệu của bài viết đó trong cơ sở dữ liệu Ngược lại, xử lý sẽ hiển thị thông báo lỗi
- Tìm kiếm+Nhập thông tin muốn tìm kiếm về bài viết+ Xử lý kiểm tra các thông tin cần thiết được nhập vào là hợp lệ+ Nếu tất cả thông tin đều hợp lệ, bắt đầu xử lý tìm kiếm dữ liệu của bài viết trong cơ sở dữ liệu và hiển thị kết quả Ngược lại, xử lý
sẽ hiển thị kết quả là null
III.2.4 Quản lí thông tin phản hồi:
Tên Case Name Quản lí thông tin phản hồi
Người tác động Khách hàng
Mô tả Use case cho phép gửi thông tin phản hồi cho admin
Điều kiện Khách hàng phải đăng nhập vào hệ thống và nhấn vào nút tương ứng trên web
Đảm bảo tối thiểu Hệ thống đảm bảo tất cả thông tin bảng thông tin phản hồi đã đưa vào trong cơ dữ
lệu
Đảm bảo thành công Hệ thống đảm bảo tất cả các thông tin được đưa vào cơ sở dữ liệu
Dòng sự kiện chính
Người tác động
Tác động
Trang 32III.2.5 Quản lí bình luận:
Tên Case Name Quản lí bình luận
Người tác động Khách hàng
Mô tả Use case cho phép bình luận chủ đề mà khách hàng quan tâm
Điều kiện Khách hàng phải đăng nhập vào hệ thống và nhấn vào nút tương ứng trên web
Đảm bảo tối thiểu Hệ thống đảm bảo tất cả thông tin bảng thông tin bình luận đã đưa vào trong cơ dữ
lệu
Đảm bảo thành công Hệ thống đảm bảo tất cả các thông tin được đưa vào cơ sở dữ liệu
Dòng sự kiện chính
Người tác động
Tác động
III.2.6 Quản lí đánh giá:
Tên Case Name Quản lí đánh giá
Người tác động Khách hàng
Mô tả Use case cho phép đánh giá chất lượng một trò chơi, âm nhác hoặc videos
Điều kiện Khách hàng phải đăng nhập vào hệ thống và nhấn vào nút tương ứng trên web
Đảm bảo tối thiểu Hệ thống đảm bảo tất cả thông tin bảng thông tin đánh giá đã đưa vào trong cơ dữ
liệu
Đảm bảo thành công Hệ thống đảm bảo tất cả các thông tin được đưa vào cơ sở dữ liệu
Dòng sự kiện chính
Người tác động
Tác động
Admin
Khách hàng nhập đánh giá chất lượng một trò chơi, âm nhạc hoặc videos mà khách hàng quan tâm
eProject ONLINESHOP4DVDS
Trang 33III.3 Cơ sở dữ liệu
III.4 Diagram
Account diagram:
eProject ONLINESHOP4DVDS
Trang 3410.2 Permission diagram:
eProject ONLINESHOP4DVDS
Trang 3510.3 Member diagram:
10.4 Product diagram: