Bằng việc lựa chọn và thực hiện đề tài “Xây dựng hệ thống quản lý và tra cứu shop thời trang” - Nhóm các hệ thống tìm kiếm trên môi trường internet và mobile, tôi muốn tìm hiểu và đưa ra
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Trang 2MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG 1 - NGHIÊN CỨU SƠ BỘ VỀ HỆ THỐNG 3
1.1 TỔNG QUAN ĐỀ TÀI 3
1.2 CÁC GIẢI PHÁP CÔNG NGHỆ 4
1.2.1 Ngôn ngữ lập trình 4
1.2.2 Mô hình MVC 12
1.2.3 Tổng quan kiến trúc Web 2.0 16
1.2.3.1 Đặc điểm của Web 2.0 16
1.2.3.2 Phân loại các ứng dụng Web 2.0 17
1.2.3.3 Những ứng dụng web 2.0 trong dịch vụ tra cứu 18
1.2.4 Ngôn ngữ đặc tả UML (Unifield Modeling Language) 18
1.2.4.1 UML (Unifield Modeling Language) là gì? 18
1.2.4.2 Các thành phần của UML 18
1.2.4.3 Các bước phát triển hệ thống hướng đối tượng 19
1.2.5 Lý thuyết tìm kiếm 21
1.2.5.1 Phương thức tìm kiếm 21
1.2.5.2 Tìm kiếm nâng cao 21
1.2.6 Hệ quản trị cơ sở dữ liệu 22
CHƯƠNG II - PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 25
2.1 PHA PHÂN TÍCH 25
2.1.1 Xây dựng biểu đồ Usecase 25
2.1.1.1 Biểu đồ Usecase mức tổng quát 25
2.1.1.3 Biểu diễn các uscase bằng kịch bản 30
2.1.2 Xây dựng mô hình lớp lĩnh vực 37
2.2 PHA THIẾT KẾ 38
Trang 32.2.1 Các biểu đồ tuần tự 38
2.2.2 Biểu đồ lớp chi tiết 41
2.2.3 Thiết kế cơ sở dữ liệu 41
2.2.4 Biểu đồ hoạt động 44
2.2.5 Biểu đồ thành phần 48
2.2.6 Biểu đồ triển khai 49
CHƯƠNG III - XÂY DỰNG VÀ THỰC THI HỆ THỐNG 51
3.1 KIẾN TRÚC HỆ THỐNG 51
3.2 XÂY DỰNG CÁC MODULE 51
3.2.1 Module đăng nhập 51
3.2.2 Module đăng ký thành viên mới 52
3.2.3 Module tìm kiếm 53
3.3 THIẾT KẾ NGUYÊN MẪU GIAO DIỆN 54
3.3.1 Giao diện đăng ký thành viên 54
3.3.2 Giao diện đăng nhập 54
3.3.3 Giao diện xem tin tức 55
3.3.4 Giao diện tìm kiếm địa chỉ shop 56
3.3.5 Giao diện tìm kiếm tin tức 56
3.3.6 Giao diện quản lý người dùng 56
3.3.7 Giao diện thêm mới bài viết 57
3.3.8 Giao diện thêm mới chuyên mục 58
3.3.9 Giao diện thêm mới thể loại 58
3.3.10 Giao diện gửi góp ý 59
CHƯƠNG IV - ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 60
KẾT LUẬN 61
PHỤ LỤC: Hướng dẫn cài đặt MySQL………i
Trang 4DANH MỤC HÌNH VẼ
Hình 1.1:Trình bày 2 ứng dụng phân tầng J2EE 7
Hình 1.2: Cơ chế hoạt động của servlet 9
Hình 1.3: Chu kỳ tồn tại của servlet 10
Hình1 4: Mô hình Servlet Request & Response 11
Hình 1.5: Chu kỳ sống của JSP 12
Hình 1.6: Mô hình MVC 13
Hình 1.7: Mô hình MVC 1 14
Hình 1.8: Mô hình MVC 2 15
Hình 1.9: Các bước phát triển hệ thống hướng đối tượng 20
Hình 2.1: Biểu đồ Usecase tổng quát hệ thống 25
Hình 2 2: Phân rã usecase tìm kiếm 27
Hình 2.3 : Phân rã UC quản lý người dùng 28
Hình 2.4: Phân rã UC quản lý tin tức 29
Hình 2.5: Phân rã UC quản lý địa chỉ 29
Hình 2.6: Mô hình lớp lĩnh vực 37
Hình 2.7: Biểu đồ lớp chi tiết 41
Hình 2.8: Biểu đồ thành phần hệ thống 49
Hình 2.9:biểu đồ triển khai hệ thống 49
Hình 3.1: Kiến trúc hệ thống 51
Hình 3.2: Mô hình xây dựng cho module đăng nhập 51
Hình 3.3: Mô hình xây dựng cho module đăng ký thành viên mới 52
Hình 3.4: Mô hình xây dựng cho module tìm kiếm 53
Hình 3.5: Thiết kế giao diện đăng ký thành viên 54
Hình 3.6: Thiết kế giao diện đăng nhập 55
Hình 3.7: Thiết kế giao diện xem tin tức 55
Hình 3.8: Thiết kế giao diện tìm kiếm địa chỉ shop 56
Hình 3.9: Thiết kế giao diện tìm kiếm tin tức 56
Hình 3.10: Thiết kế giao diện quản lý người dùng 57
Hình 3.11: Thiết kế giao diện thêm bài viết mới 57
Hình 3.12: Thiết kế giao diện thêm mới chuyên mục 58
Hình 3.13: Thiết kế giao diện thêm mới thể loại 58
Hình 3.14: Thiết kế giao diện gửi góp ý 59
Trang 5DANH MỤC TỪ VIẾT TẮT TIẾNG ANH
Trang 61
MỞ ĐẦU
Trong thời đại ngày nay, thông tin là nhu cầu thiết yếu đối với mọi người trên mọi lĩnh vực Mỗi phút trôi qua hàng triệu triệu trang web được đẩy lên nhằm làm giàu nguồn tài nguyên vô tận này Tuy nhiên tồn tại một nghịch lý là dù được ví như thư viện toàn cầu, internet vẫn không thoả mãn nhu cầu thông tin của con người Xung quanh vấn đề này có nhiều nguyên nhân nhưng quan trọng nhất là sự thông hiểu giữa con người và công cụ tìm kiếm trên mạng – search engine – chưa đạt đến mức có thể giao tiếp tốt với nhau
Và một câu hỏi luôn luôn đặt ra cho những người quản lý kinh doanh là làm sao cho người tiêu dùng biết đến sản phẩm và dịch vụ, tăng doanh số nâng cao hiệu quả kinh doanh Quảng cáo là việc nghĩ đến đầu tiên và xem nó là công việc không thể thiếu trong kế hoạch tung sản phẩm ra thị trường
Tuy nhiên làm sao để tiết kiệm chi phí vừa mang lại hiệu quả cao? Đòi hỏi người làm kế hoạch phải hiểu được sản phẩm và dịch vụ, hiểu được khách hàng mục tiêu, hiểu được thị trường và các kênh truyền thông Một trong các vấn đề khiến các nhà kinh doanh lo lắng đó là ngân sách dành cho quảng cáo là bao nhiêu
để mang lại hiệu quả bán hàng cao nhất
Bằng việc lựa chọn và thực hiện đề tài “Xây dựng hệ thống quản lý và tra cứu shop thời trang” - Nhóm các hệ thống tìm kiếm trên môi trường internet và mobile, tôi muốn tìm hiểu và đưa ra một giải pháp tốt nhằm đưa đến cho các doanh nghiệp, các chủ kinh doanh một hình thức quảng cáo nhanh chóng, hiệu quả và đưa đến cho người tiêu dùng một trang thông tin, tra cứu về các shop thời trang một cách nhanh chóng
Trong nội dung báo cáo này tôi muốn đưa ra cho các bạn một kế hoạch quảng cáo và Pr Phân tích kênh truyền thông internet dành cho các cửa hàng thời trang, thông tin địa chỉ các cửa hàng thời trang trên internet được chúng tôi cập nhật nhanh nhất để người dùng có thể dễ dàng tìm kiếm các shop thời trang gần nhất nơi bạn sinh sống mà không tốn nhiều thời gian và chi phí đi lại
Báo cáo “Xây dựng hệ thống quản lý và tra cứu shop thời trang” được tôi trình bày gồm có 4 chương theo cấu trúc sau:
Trang 72
CHƯƠNG 1 - NGHIÊN CỨU SƠ BỘ VỀ HỆ THỐNG
Giới thiệu tổng quan về đề tài, các giải pháp công nghệ, kiến trúc , mô hình liên quan
CHƯƠNG 2 - PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Sử dụng ngôn ngữ UML và công cụ Rational Rose để thiết kế các chức năng hệ thống theo hướng đối tượng, thiết kế các kiến trúc hệ thống và quy trình vận hành CHƯƠNG 3 - XÂY DỰNG VÀ THỰC THI HỆ THỐNG
Xây dựng các module , các mô hình triển khai
CHƯƠNG 4 - ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN
Trang 8- Xây dựng thử nghiệm trên thành phố Hà Nội
• Hiện trạng các shop thời trang hiện nay
- Các shop thời trang và các nhãn hàng mới ngày càng nhiều và có ở nhiều nơi
- Địa chỉ shop có thể thay đổi theo thời gian
- Các nhãn hàng hay các shop muốn quảng cáo sản phẩm của mình đến người tiêu dùng thông qua internet ngày càng nhiều
- Xây dựng website trực tuyến giúp người tiêu dùng dễ dàng tìm thấy địa chỉ
và thông tin các shop thời trang
Trang 94
• Yêu cầu chung
- Đảm bảo các thông tin về các shop thời trang trên website là chính xác và hợp pháp
- Website có tính thẩm mỹ, dễ sử dụng , người dùng dễ dàng tìm thấy thông tin mình tìm kiếm
- Website phải đảm bảo khả năng làm việc trên internet,thông tin được cập nhật thường xuyên
- Đảm bảo tính hiện đại và không bị lạc hậu trong thời gian dài
- Đáp ứng được yêu cầu của người sử dụng, thuận tiện trong vận hành và nâng cấp sau này
Với PHP, bạn có thể viết ra nhiều kiểu ứng dụng có mô hình tương tác khác nhau như thông qua website (HTTP Request – Response), thông qua Command Line Interface – CLI (Shell, Batch processing…), Web Service (SOAP, REST…)… Giống như các công nghệ web khác, PHP là một ngôn ngữ phía Server, có nghĩa là code của bạn sẽ được triển khai và thực thi trên Server
Ưu điểm của PHP là một sản phẩm mã nguồn mở (Open-source) nên việc cài đặt và tùy biến PHP là miễn phí và tự do, có thể được cài đặt trên hầu hết các Web Server thông dụng hiện nay như Apache, IIS… Ngày càng có nhiều Framework và ứng dụng PHP viết bằng mô hình OOP nên lập trình viên tiếp cận và mở rộng các
Trang 105
ứng dụng này trở nên dễ dàng và nhanh chóng Một số hệ cơ sở dữ liệu thông dụng
mà PHP có thể làm việc là: MySQL, MS SQL, Oracle…
Java là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP) Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy Bằng cách này, Java thường chạy chậm hơn những ngôn ngữ lập trình thông dịch khác như C++, Python, Perl, PHP, C#
Java được tạo ra với tiêu chí "Viết (code) một lần, thực thi khắp nơi" ("Write Once, Run Anywhere" (WORA)) Chương trình viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó Tuy Java miễn phí nhưng các công cụ phát triển Java và phần mềm máy chủ Java khá đắt
Công nghệ Microsoft Active Server pages (ASP) đi cùng với Microsoft Intemet Information Server (IIS) ASP hỗ trợ nhiều ngôn ngữ kịch bản như PerlScript, JScript và VBScript PerlScript dựa trên ngôn ngữ Perl, JScript dựa trên ngôn ngữ JavaScript, nhưng ngôn ngữ mặc định của ASP là VBScript, một ngôn ngữ kịch bản
dễ học, là tập con của ngôn ngữ Visual Basic - một trong những ngôn ngữ lập trình phổ biến nhất hiện nay
Ưu điểm nổi bật nhất của ASP là khả năng dùng thành phần COM và ADO (Activex Data Object), nhưng cũng chính khả năng này làm cho chương trình ASP phức tạp và khó viết hơn Khi cần phát triển, bạn có thể tạo thành phần COM riêng Trở ngại lớn nhất của ASP là chỉ dùng trên IIS chạy trên máy chủ Win32
Nếu để so sánh xem ngôn ngữ lập trình nào là tốt hơn, có nhiều ưu điểm hơn thì không thể so sánh được vì mỗi ngôn ngữ đều có thế mạnh riêng Trong đề tài này tôi đã chọn ngôn ngữ lập trình JAVA và cụ thể là nghiên cứu về công nghệ J2EE (Java 2 Platform, Enterprise Edition), gồm các đặc tả, công cụ, API mở rộng J2SE để phát triển các ứng dụng qui mô xí nghiệp, chủ yếu để chạy trên máy chủ (server) Bộ phận hay được nhắc đến nhất của công nghệ này là công nghệ Servlet/JSP: sử dụng Java để làm các ứng dụng web
Trang 116
b Lý thuyết về JAVA
Hiện nay công nghệ Java được chia làm ba bộ phận:
J2SE : Gồm các đặc tả, công cụ, API của nhân Java giúp phát triển các ứng dụng trên desktop và định nghĩa các phần thuộc nhân của Java
J2EE: Gồm các đặc tả, công cụ, API mở rộng J2SE để phát triển các ứng dụng qui mô xí nghiệp, chủ yếu để chạy trên máy chủ (server) Bộ phận hay được nhắc đến nhất của công nghệ này là công nghệ Servlet/JSP: sử dụng Java để làm các ứng dụng web
J2ME: Gồm các đặc tả, công cụ, API mở rộng để phát triển các ứng dụng Java
chạy trên điện thoại di động, thẻ thông minh, thiết bị điện tử cầm tay, robo và những ứng dụng điện tử khác
Trong đề tài này tôi nghiên cứu về J2EE , Servlet/JSP để làm ứng dụng web
¾ Tổng quan về J2EE
J2EE (Java 2 Enterprise Edition) có thể xem là các đặc tả hướng dẫn các qui tắc
để tiêu chuẩn hóa việc coding trong quá trình phát triển phần mềm Các đặc tả của J2EE bao gồm các qui tắc hay các tiêu chuẩn để:
• Thiết kế các ứng dụng doanh nghiệp
• Phân phối các qui tắc cho mọi người được triệu gọi trong quá trình phát triển phần mềm (Project/product)
• Đóng gói các tập tin cho các khách hàng
• Tiêu chuẩn hóa các công nghệ có thể sử dụng trong J2EE
• Tiêu chuẩn hoác các tương tác giữa các công nghệ khác nhau
• Cung cấp một tiêu chuẩn cho các ứng dụng server của java
Hệ nền J2EE cung cấp một mô hình ứng dụng theo kiểu đa tầng, tái sử dụng các thành phần, bảo mật thống nhất, linh hoạt trong việc kiểm soát các giao dịch và các dịch vụ web được hỗ trợ thông qua trao đổi dữ liệu tích hợp trên Extensible Markup Language (XML) – theo các tiêu chuẩn mở và các giao thức
Trang 127
¾ Các ứng dụng phân tán đa tầng
Hệ nền J2EE sử dụng một mô hình ứng dụng theo kiểu đa tầng cho các ứng dụng doanh nghiệp Về mặt logic ứng dụng được chia theo các thành phần theo chức năng, và các thành phần ứng dụng khác nhau tạo nên một ứng dụng J2EE được cài đặt trên các máy khác nhau tùy thuộc vào các tầng trong môi trường phân tầng của J2EE nơi mà các thành phần ứng dụng thuộc về
Hình 1.1:Trình bày 2 ứng dụng phân tầng J2EE được chia thành các lớp được mô
tả trong danh sách sau đây
• Các thành phần tầng khách hành chạy trên máy khách hàng
• Các thành phần tầng web chạy trên máy chủ J2EE
• Các thành phần nghiệp vụ kinh doanh chạy trên máy chủ J2EE
• Phần mềm hệ thống thông tin doanh nghiệp(EIS) chạy trên EIS Server
Mặc dù 1 ứng dụng J2EE có thể bao gồm 3 hay 4 tầng như trong hình 1.1 nhưng các ứng dụng phân tầng J2EE thường được coi như là 3 tầng bởi vì chúng được phân chia theo địa điểm : máy khách hàng, máy chủ J2EE, và database Ứng
J2EE Application 1
J2EE Application 2
JSP Pages
Enterprise Beans
Enterprise Beans
Application Client
Dynamic HTML Page
Client Tier
Web tier
Business tier
EIS Tier
Client Machine
J2EE Server Machine
Database Server Machine
Trang 13• Ứng dụng khách hàng và các applet là những thành phần chạy trên máy khách
• Thành phần công nghệ Java Servlet và JavaServer Pages ™ (JSP ™)
là các thành phần web chạy trên máy chủ
• Enterprise JavaBeans ™ (EJB ™) là thành phần nghiệp vụ kinh doanh chạy trên máy chủ
J2EE được viết bằng ngôn ngữ lập trình Java và được biên dịch trong cùng một cách như bất kỳ chương trình cùng ngôn ngữ Sự khác biệt giữa J2EE và các lớp Java “tiêu chuẩn” là các thành phần J2EE lắp ráp thành một ứng dụng J2EE, được xác minh và tuân thủ với các đặc tả J2EE, và được triển khai tại nơi mà chúng chạy
và được quản lý bởi máy chủ J2EE
c Tổng quan về JSP / Servlet
¾ Servlet
Servlet là đoạn chương trình java thực thi trên Web Server hỗ trợ người lập trình Java xây dựng trang web động mà không cần học ngôn ngữ lập trình web mới
Servlets nhận request – yêu cầu từ client, sao đó thực hiện các yêu cầu xử
lý để gửi response – phản hồi đến người dùng sử dụng HTTP
Servlet được load sẵn ở Web Server duy nhất lần đầu tiên khi ứng dụng được deploy và đáp ứng tức thời yêu cầu của người dùng thông qua Web Container
Trang 149
Servlet được server hỗ trợ cơ chế multithread giúp giảm tài nguyên và quá tải trong việc xử lý của server hay container
+ Cơ chế hoạt động
Hình 1.2: Cơ chế hoạt động của servlet
• Khi có request từ client gửi đến Server hay Web Container
• Container sẽ lựa chọn một instance Servlet tương ứng để đáp ứng request đó (người dùng sẽ không bao giờ biết instance nào được lựa chọn, nó lựa chọn khi nào, servlet xử lý khi nào)
• Servlet lựa chọn sẽ thực hiện xử lý và kết nối DB nếu cần
• Sau khi servlet thực hiện xong, sẽ gửi kết quả ra container để gửi response về cho người dùng
• Browser đón nhận kết quả và trình bày ra màn hình dữ liệu
+ Chu tồn tại của servlet trong server hay container
• Khi một ứng dụng chưa được deploy vào trong server thì servlet chưa được khởi tạo
• Khi ứng dụng được deploy vào server thì container sẽ thực hiện khởi tạo instance cho servlet, trong lúc khới tạo kích hoạt hàm init
Database
Browser
Client
Web Server Request
<HTTP>
Trang 1510
• Khi có một request đến servlet của người dùng, container đón nhận request và chọn instance bean bất kỳ tương ứng với yêu cầu để đáp ứng
• Sau khi chọn được bean, container sẽ kích hoạt hàm service tương ứng
• Khi servlet được cập nhật mới hay server bị crash hay undeploy ứng dụng ra khỏi server – container, thì hàm destroy của servlet được kích hoạt
Hình 1.3: Chu kỳ tồn tại của servlet
+ Mô hình Servlet Request & Response
Request là thông tin được gửi từ client tới 1 server
Response là thông tin được gửi đến client tới 1 server
Nhiệm vụ của Servlet :
• Nhận client request (hầu hết ở dạng http request)
• Trích xuất 1 số thông tin từ request
• Xử lý nghiệp vụ (truy cập DB, gọi EJBs,…)
• Tạo và gửi trả response cho client (hầu hết ở dạng HTTP response) hoặc forward request cho servlet khác/ cho trang JSP
Initializati
on
Meet request
Destroy
Meet make request
failure
failure
Trang 1611
Hình1 4: Mô hình Servlet Request & Response
¾ JSP (Java Server Pages)
JSP viết tắt của Java Server Pages
• Đây là ngôn ngữ scripting được dùng ở server để hỗ trợ ứng dụng trong việc trình bày trang web động – cập nhật dữ liệu
• JSP tích hợp bao gồm HTML, XML, Java Code, và kể cả Servlet
• Nó tạo thuận lợi cho người dùng trong việc xây dựng giao diện – khắc phục nhược điểm của servlet về giao diện
• Ngoài ra, nó cho người dùng mở rộng khả năng sử dụng JSP qua việc định nghĩa các tag mới như XML – khắc phục nhược điểm của HTML
• Đặc biệt cho phép người dùng sử dụng nhúng trưc tiếp code Java vào trong JSP thông qua Declaration – khai báo biến và hàm, Scriptlets – chứa code trực tiếp của Java và Expression – tính toán biểu thức và in kết quả ra màn hình
• Bản chất của JSP là Servlet, do vậy các thành phần của Servlet sẽ có tồn tại hết trên JSP
• Ngoài ra, JSP không cần phải biên dịch mà nó được biên dịch khi có request lần đầu tiên yêu cầu đến server,
Trang 17• Thực hiện biên dịch code Servlet
• Sau khi biên dịch thành công thì quá trình hoạt động sẽ thực hiện
đúng theo chu kỳ sống của Servlet như đã nêu trong các phần trên
1.2.2 Mô hình MVC
MCV (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
Trang 18¾ View (Tầng giao diện) :
• Là thành phần hỗ trợ trình bày dữ liệu hay kết quả ra màn hình, hỗ trợ nhập thông tin từ phía người dùng
Trang 1914
• Các thành phần này có khả năng truy cập Model, truy xuất Model thông qua những hành vi mà Model cho phép nhưng View không thể thay đổi các thành phần trong Model
• Trong mô hình ứng dụng Web thì html, servlet, jsp … là những thành phần đại diện cho View
¾ Controller (Tầng điều khiển):
• Là các thành phần hỗ trợ kết nối người dùng server, đón nhận yêu cầu người dùng, thực hiện chuyển xử lý, lựa chọn và cập nhật model và view tương ứng để trình bày về phía người dùng
• Hỗ trợ kết nối giữa người model và view, giúp model xác định được view trình bày
• Trong mô hình ứng dụng Web thì Servlet đóng vai trò của Controller
a Mô hình MVC1:
Hình 1.7: Mô hình MVC 1
Là mô hình tương tự như html nhưng các trang web ở dạng động có thể đón nhận và trình bày dữ liệu từ server nhưng tất cả các trang liên kết đều là các đường dẫn tĩnh và các cách thức xử lý đều thực hiện trực tiếp trên trang Ngoài ra, các trang thực hiện gọi trực tiếp lẫn nhau
Trang 2015
Mô hình này chỉ phù hợp với ứng dụng nhỏ vì các đường dẫn rất khó để tìm kiếm và sửa đổi, đặc biệt trên trang đang trộn lẫn giữa code html, javascript, xml, javacode …
b Mô hình MVC2:
Đây là mô hình thực tế áp dụng tiếp cận theo đúng khái niệm đã nêu ra ở trên, tách biệt riêng biệt thành từng thành phần, tạo nên sự uyển chuyển khi vận dụng và cài đặt, đặc biệt là bảo trì nâng cấp
Hình 1.8: Mô hình MVC 2
¾ Cơ chế thực hiện
• Web Browser gửi request đến server thông qua các control trên form HTML hay JSP, hay query string url hay qua cookies
• Servlet – Controller đón nhận request và xác định Model tương ứng
để tạo ra instance của JavaBean để đón nhận các giá trị nhập từ request để lưu trữ và xử lý
• Model thực hiện xử lý, kết nối dữ liệu vật lý dưới DBMS (nếu có) và trả kết quả trả về cho Controller
BROWER
(view) JSP
6
(EIS)
Trang 2116
• Kết quả xử lý được chuyển vào Servlet – Controller, Servlet Controller thực hiện tạo hay lựa chọn View để từ đó đưa kết quả xử lý hay
dữ liệu lấy từ Model để cập nhật lại trang kết quả View
• Controller gửi View qua response cho người dùng để browser có thể trình bày dữ liệu trong Web Browser
1.2.3 Tổng quan kiến trúc Web 2.0
Web 2.0 là gì?
Về mặt công nghệ, việc xây dựng những khối của Web 2.0 là những đối mới được giới thiệu trong những năm qua để gia tăng khả năng sử dụng, tích hợp và sử dụng lại các ứng dụng web Đó là các công nghệ: Ajax, XML, Open API, Microformats, Flash/Flex
1.2.3.1 Đặc điểm của Web 2.0
- Công nghệ Web 2.0 đang sử dụng web như nền tảng: không yêu cầu cài đặt nhiều phần mềm trên phía người sử dụng- đó là mô hình lập trình nhẹ Một vài ứng dụng Web 2.0 là phát triển bên dưới và không theo các chu kỳ sản xuất phần mềm chuẩn
- Tập trung vào việc kết nối con người chứ không phải máy tính
- Làm giàu kinh nghiệm người sử dụng: Một trong những hứa hẹn và công nghệ sử dụng rộng rãi là AJAX (Asynchronous JavaScript and XML)
- Khai thác trí thông minh tập thể: các giải thuật, công nghệ parsers và
‘mash up’ được yêu cầu – Giải pháp thông minh thương mại được phát triển đồng
thời với hệ thống thông minh để giám sát, bắt video, nhận dạng mẫu và phân giải
mẫu Mashup hay là kết hợp lại dữ liệu và/hoặc chức năng từ hai hay nhiều nguồn
bên ngoài để tạo dịch vụ mới
- Dữ liệu có vai trò then chốt
- Phần mềm được cung cấp ở dạng dịch vụ web và được cập nhật không ngừng
Trang 2217
- Phát triển ứng dụng dễ dàng và nhanh chóng
- Phần mềm có thể chạy trên nhiều thiết bị
- Giao diện ứng dụng phong phú
1.2.3.2 Phân loại các ứng dụng Web 2.0
Các ứng dụng Web 2.0 có thể được phân loại theo những đặc điểm:
- Chung chung và cụ thể: các ứng dụng của Web 2.0 có thể có tính chất chung chung như là Google Earch hoặc cụ thể như là các website tương tác của quận trong một thành phố
- Tĩnh và động: các ứng dụng Web 2.0 có đặc tính tĩnh như là Youtube và đặc tính động như những live chats, các hình ảnh hoặc các tài liệu có thể trao đổi như MSN, Yahoo
- Đóng và mở: các ứng dụng Web 2.0 có thể hoạt động trong môi trường đóng như tạo các trang web cá nhân và mở như Google Maps, cho phép người sử dùng tìm kiếm thông tin trong vị trí địa lý xác định
- Cá nhân và số đông: một số ứng dụng chỉ dành có các cá nhân để chia sẻ kinh nghiệm với những người quan tâm khác như là weblogs, hoặc cũng có thể phục vụ
sự quan tâm của một đám đông Ví dụ như diễn đàn để bàn luận về các vấn đề xã hội
Hoặc chúng được phân loại dựa vào chức năng:
- Chia sẻ thông tin như hình ảnh, phim, tin tức và âm nhạc
- Tham gia: việc tham gia đánh giá những bộ phim được đặt trên Youtube hay
là đánh giá những bài viết trên các tạp chí điện tử
- Hội họp: Web 2.0 có thể được dùng để chia sẻ mối quan tâm trong cùng một cộng đồng, giảm những hạn chế về liên lạc như là MySpace, Twitter, Facebook
- Hỗ trợ giám sát dịch vụ: các ứng dụng Web 2.0 cung cấp vị trí của những bệnh viện, thư viện, trường mẫu giáo, trường học
Trang 2318
- Giao dịch như là eBay, nghĩa là cung cấp các dịch vụ thương mại theo những cách đổi mới, các Web 2.0 như là những cửa hàng trực tuyến mà người ghé thăm có thể mua những thứ cần thiết qua mạng
1.2.3.3 Những ứng dụng web 2.0 trong dịch vụ tra cứu
Có nhiều ứng dụng Web 2.0 có thể sử dụng trong dịch vụ tra cứu và được người dùng đón nhận tích cực Các ứng dụng Web 2.0 cung cấp vị trí của những bệnh viện, thư viện, shop thời trang, tiệm café
Do mỗi shop thời trang có những mục tiêu khác nhau, việc ứng dụng công nghệ này tuỳ thuộc vào từng shop thời trang cho phù hợp với nhu cầu của shop mình Đối với nhiều shop, dịch vụ tra cứu địa điểm các shop thời trang , các bài giới thiệu về shop, lĩnh vực hoạt động, cập nhật và thông báo shop thời trang mới, liên lạc với người quản lý shop, …
1.2.4 Ngôn ngữ đặc tả UML (Unifield Modeling Language)
1.2.4.1 UML (Unifield Modeling Language) là gì?
Ngôn ngữ mô hình hóa thống nhất (Unifield Modeling Language – UML) là một ngôn ngữ để biểu diễn mô hình theo hướng đối tượng được xây dựng với chủ đích là:
• Mô hình hoá các hệ thống sử dụng các khái niệm hướng đối tượng;
• Thiết lập một kết nối từ nhận thức của con người đến các sự kiện cần
Trang 2419
cũng có các nguyên tắc để kết hợp các phần tử đó Một số những thành phần chủ yếu của ngôn ngữ UML:
• Hướng nhìn (vieW): Hướng nhìn chỉ ra những khía cạnh khác nhau của hệ thống cần phải được mô hình hóa Chỉ qua việc định nghĩa của một loạt các hướng nhìn khác nhau, mỗi hướng nhìn chỉ ra một khía cạnh riêng biệt của hệ thống, người
ta mới có thể tạo dựng nên một bức tranh hoàn thiện về hệ thống Cũng chính các hướng nhìn này nối kết ngôn ngữ mô hình hóa với quy trình được chọn cho giai đoạn phát triển
• Biểu đồ (diagram): Biểu đồ là các hình vẽ miêu tả nội dung trong một hướng nhìn UML có tất cả 9 loại biểu đồ khác nhau được sử dụng trong những sự kết hợp khác nhau để cung cấp tất cả các hướng nhìn của một hệ thống
• Phần tử mô hình hóa (model element): Các khái niệm được sử dụng trong các biểu đồ được gọi là các phần tử mô hình, thể hiện các khái niệm hướng đối tượng quen thuộc Một phần tử mô hình thường được sử dụng trong nhiều biểu đồ khác nhau, nhưng nó luôn luôn có chỉ một ý nghĩa và một kí hiệu
• Cơ chế chung: Cơ chế chung cung cấp thêm những lời nhận xét bổ sung, các thông tin cũng như các quy tắc ngữ pháp chung về một phần tử mô hình; chúng còn cung cấp thêm các cơ chế để có thể mở rộng ngôn ngữ UML cho phù hợp với một phương pháp xác định (một quy trình, một tổ chức hoặc một người dùng)
1.2.4.3 Các bước phát triển hệ thống hướng đối tượng
Pha phân tích
Xây dựng Biểu đồ use case: Dựa trên tập yêu cầu ban đầu, người phân tích tiến
hành xác định các tác nhân, use case và các quan hệ giữa các use case để mô tả lại các chức năng của hệ thống Một thành phần quan trọng trong biểu đồ usecase là các kịch bản mô tả hoạt động của hệ thống trong mỗi use case cụ thể
Xây dựng Biểu đồ lớp: Xác định tên các lớp, các thuộc tính của lớp, một số
phương thức và mối quan hệ cơ bản trong sơ đồ lớp
Xây dựng biểu đồ trạng thái: Mô tả các trạng thái và chuyển tiếp trạng thái
trong hoạt động của một đối tượng thuộc một lớp nào đó
Trang 2520
Hình 1.9: Các bước phát triển hệ thống hướng đối tượng
Pha thiết kế
Xây dựng các biểu đồ tương tác (gồm biểu đồ cộng tác và biểu đồ tuần tự): mô
tả chi tiết hoạt động của các use case dựa trên các scenario đã có và các lớp đã xác định trong pha phân tích
Xây dựng biểu đồ lớp chi tiết: tiếp tục hoàn thiện biểu đồ lớp bao gồm bổ sung
các lớp còn thiếu, dựa trên biểu đồ trạng thái để bổ sung các thuộc tính, dựa trên biểu đồ tương tác để xác định các phương thức và mối quan hệ giữa các lớp
Xây dựng biểu đồ hoạt động: mô tả hoạt động của các phương thức phức tạp
trong mỗi lớp hoặc các hoạt động hệ thống có sự liên quan của nhiều lớp Biểu
đồ hoạt động là cơ sở để cài đặt các phương thức trong các lớp
Xây dựng biểu đồ thành phần: xác định các gói, các thành phần và tổ chức
Biểu đồ use case
Pha thiết
kế
Trang 2621
phần mềm theo các thành phần đó
Xây dựng biểu đồ triển khai hệ thống: xác định các thành phần và các thiết bị
cần thiết để triển khai hệ thống, các giao thức và dịch vụ hỗ trợ
1.2.5 Lý thuyết tìm kiếm
1.2.5.1 Phương thức tìm kiếm
Việc xây dựng một website ‘quản lý và tìm kiếm shop thời trang’ chú trọng đến khâu tìm kiếm, vậy làm thế nào để tìm kiếm một cách chính xác và nhanh nhất có thể Nếu tìm kiếm theo cách thông thường, người dùng tự gõ địa chỉ hay tên shop vào thanh tìm kiếm, điều này gây khó khăn cho nhiều người vì không phải ai cũng nhớ tên shop… Ở đây chúng ta sẽ xây dựng hai phương thức tìm kiếm: tìm kiếm shop thời trang và tìm kiếm nội dung trong trang web
Để tìm kiếm shop thời trang chúng ta sẽ xây dựng dữ liệu ghi lại tất cả các thành phố trong cả nước, các quận/ huyện, đường/phố… Khi người dùng muốn tìm kiếm các shop thời trang ở tỉnh thành nào thì chọn vào tỉnh thành ấy và các quận huyện tương ứng với tỉnh thành ấy sẽ được hiện ra để người dùng chọn, tương tự khi chọn quận/ huyện các tuyến phố/ con đường sẽ được liệt kê bên cạnh và người dùng chỉ việc chọn ra tuyến phố/ con đường mình muốn tìm Máy tính sẽ truy cập vào CSDL để đưa ra các địa điểm tương ứng với lựa chọn của người dùng dựa trên một số tiêu chí:
+) Đưa ra 10 địa chỉ mới nhất
+) Đưa ra các địa chỉ có nhiều người xem nhất
+) Hay đưa ra các địa chỉ ngẫu nhiên
Tìm kiếm nội dung trong các bài viết , buộc người dùng phải nhập thông tin mình muốn tìm kiếm, máy tính sẽ kiểm tra trong dữ liệu để liệt kê tất cả các bài viết
có nội dung thông tin giống hoặc gần giống với thông tin người dùng tìm kiếm
1.2.5.2 Tìm kiếm nâng cao
Tìm kiếm nâng cao giúp bạn tìm các địa chỉ phù hợp với các tiêu chí rất cụ thể Các tùy chọn bạn chọn chỉ áp dụng cho việc tìm kiếm hiện hành Để có các kết quả
Trang 2722
chính xác hơn, các ô chữ này sẽ hướng dẫn thanh tìm kiếm cụ thể về các từ ngữ bạn nhập Phần lớn đều có các biểu tượng tương ứng mà bạn có thể sử dụng trong ô tìm kiếm cơ bản
• Tất cả các từ này: Bao gồm tất cả các từ bạn đã nhập vào ô tìm kiếm
Điều này cũng tương tự như việc chèn từ "AND" vào giữa các từ hoặc biểu tượng "+" trước một từ
• Ít nhất một trong các từ này: Các nội dung tìm kiếm có kết quả phù
hợp với một hoặc nhiều từ tìm kiếm Điều này cũng tương tự như việc chèn
từ "OR" vào giữa các từ
• Cụm từ chính xác: Tìm kiếm các từ theo đúng thứ tự bạn đã nhập
Thao tác này cũng tương tự như việc đưa các cụm từ tìm kiếm vào dấu ngoặc kép (" ")
• Không có từ nào trong số các từ này: Loại bỏ các từ khỏi nội dung
tìm kiếm của bạn Điều này cũng tương tự như việc chèn từ "NOT" giữa các
từ hoặc biểu tượng "-" trước một từ
1.2.6 Hệ quản trị cơ sở dữ liệu
Hệ cơ sở dữ liệu quan hệ là phần mềm hay hệ thống được thiết kế để quản lý cơ
sở dữ liệu Các chương trình thuộc loại này hỗ trợ khả năng lưu trữ, sửa chữa, xóa các thông tin trong một cơ sở dữ liệu (CSDL) Có rất nhiều loại hệ cơ sở dữ liệu khác nhau từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến những hệ quản trị phức tạp chạy trên nhiều siêu máy tính
Tuy nhiên, đa số hệ quản trị cơ sở dữ liệu trên thị trường đều có một đặc điểm chung là sử dụng ngôn ngữ theo cấu trúc Các hệ cơ sở dữ liệu (CSDL) được nhiều người biết đến như: MySQL, Oracle, SQL server…
Ta đi so sánh MySQL với hệ quản trị CSDL SQL server để thấy được ưu nhược điểm của của các hệ cơ sở dữ liệu
¾ Tính năng
Tôi cho rằng MySql hơn MSSQL ở tính năng cung cấp nhiều loại storage engine Tuy nhiên tính về mặt integration chặt chẽ cho trọn bộ hệ thống và công cụ
Trang 2823
phát triển software thì MSSQL integrate tốt hơn MySql, đặc biệt ở mảng NET MSSQL còn hỗ trợ XML trực tiếp trong DB, trong khi đó thì MySQL chưa làm được chuyện này Các chức năng cần thiết như View, StoreProcedure, Trigger thì cả hai tương đương nhau
¾ Hiệu suất
Tính về mặt hiệu suất, có rất nhiều thử nghiệm và tường trình cho rằng MSSQL perform kém hơn MySQL nhiều mặt MSSQL đòi hỏi tài nguyên rất lớn (CPU mạnh, nhiều RAM ), nếu không nó rất ì ạch MySQL không đòi hỏi nhiều như MSSQL MySQL có thể chạy trên các UNIX highend system và perform tốt hơn MSSQL trên Windows highend server trong nhiều trường hợp
¾ Bảo mật:
MSSQL qua mặt MySQL về tính bảo mật ở column level MySQL chỉ có thể set access đến row level là hết Hệ thống xác thực người dùng của MSSQL cũng qua mặt MySQL Tuy vậy, trên bình diện "để hở cổng" thì MSSQL dễ bị exploit hơn MySQL bởi MSSQL tích hợp quá chặt vào hệ điều hành Lỗi của hệ điều hành hoặc một bộ phận nào đó dẫn đến việc nhân nhượng MSSQL nhanh chóng hơn MySQL
¾ Khả năng nhân bản (replication):
Cả hai đều có khả năng replicate hoặc cung cấp phương tiện để làm việc này Tuy nhiên, MySQL nhanh hơn và ít sự cố hơn MSSQL vì tất cả các SQL statements dùng để thay đổi, cập nhật dữ liệu được lưu giữ trong binary log MSSQL cung cấp nhiều phương pháp replicate cao cấp hơn, chi tiết hơn bởi thế nó phức tạp hơn và chậm hơn
¾ Khả năng phục hồi (recovery):
Nếu MySQL chạy thuần túy với MyISAM storage engine thì khả năng phục hồi (sau khi bị crash) không cách gì so sánh với MSSQL Tuy nhiên nếu MySQL chạy với Innodb engine thì khả năng phục hồi không thua kém gì MSSQL Ngoài
ra, khả năng phục hồi còn được xét ở biên độ liên quan đến khả năng nhân bản (replication) ở trên Bởi vì MSSQL cung cấp nhiều phương thức nhân bản nên việc phục hồi dữ liệu trên MSSQL dễ dàng hơn
¾ Phí tổn:
MySQL bản community miễn phí cho hầu hết các việc sử dụng Cài đặt, sử dụng và tối ưu MySQL không khó vì tài liệu của nó rất đầy đủ, thông tin về MySQL
Trang 2924
tràn ngập trên web So với MSSQL, bạn phải trả gần một ngàn rưỡi đô cho một license MSSQL standard và khi cần support, bạn phải trả thêm tiền support (tùy case) Microsoft vẫn cung cấp bản MSSQL không thu phí dành cho mục đích development Tài liệu về MSSQL cũng rất nhiều trên mạng Bản MySQL enterprise thì phải trả tiền (khoảng 400 đô) nhưng bạn được support đầy đủ
Với mỗi hệ quản trị cơ sở dữ liệu đều có ưu và nhược điểm riêng, tuy nhiên trong đề tài này tôi sử dụng hệ quản trị cơ sở dữ liệu MySQL để thực hiện lưu trữ
dữ liệu và truy vấn
¾ Các công cụ trong MySql
+ MySQL Migration Toolkit : MySQL Migration Toolkit là một công cụ đồ họa được cung cấp bởi MySQL cho di chuyển dữ liệu từ hệ thống cơ sở dữ liệu quan hệ khác nhau để MySQL MySQL Migration Toolkit được thiết kế để làm việc
với MySQL phiên bản 5.0 và cao hơn
+ MySQL Administrator : MySQL Administrator là một chương trình để thực hiện hoạt động quản trị, chẳng hạn như cấu hình máy chủ MySQL của bạn, theo dõi tình trạng và hiệu quả của nó, bắt đầu và dừng nó, quản lý người dùng và
các kết nối, thực hiện sao lưu, và một số công việc quản trị khác
+ MySQL Query Browser : MySQL Query Browser là một công cụ đồ họa được cung cấp bởi MySQL cho việc tạo và tối ưu hóa các truy vấn trong một môi trường đồ họa Trường hợp MySQL Administrator được thiết kế để quản lý một máy chủ MySQL, MySQL Query Browser được thiết kế để giúp bạn truy vấn và phân tích dữ liệu được lưu trữ trong cơ sở dữ liệu MySQL
Trang 3025
CHƯƠNG II - PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Trong chương II ta dùng công cụ Rational Rose để phân tích thiết kế hệ thống theo hướng đối tượng Ở đây ta coi hệ thống là một đối tượng lớn được bóc tách thành các đối tượng nhỏ độc lập về các thuộc tính
2.1 PHA PHÂN TÍCH
2.1.1 Xây dựng biểu đồ Usecase
Biểu đồ Usecase : được sử dụng để xác định các chức năng cũng như các tác nhân (người sử dụng hay hệ thống khác) liên quan đến hệ thống đó
2.1.1.1 Biểu đồ Usecase mức tổng quát
Các tác nhân hệ thống:
Hình 2.1: Biểu đồ Usecase tổng quát hệ thống
Dang ky
Tim kiem Xem quang cao
Xem tin tuc
Dang dia diem
Trang 31Tìm kiếm: Người dùng có thể tìm kiếm địa chỉ các shop thời trang trên Internet
mà không cần đăng nhập vào hệ thống
Xem quảng cáo: Người dùng có thể xem các quảng cáo trên Internet mà không cần đăng nhập vào hệ thống
Đăng địa điểm: sau khi đăng kí làm thành viên , người dùng đăng nhập vào hệ thống để thực hiện chức năng đăng địa điểm Địa điểm được đăng lên sẽ được người quản lý hệ thống kiểm tra và cho hiển thị lên website
Sửa thông tin người dùng: sau khi đăng kí làm thành viên , người dùng đăng nhập vào hệ thống để thực hiện chức sửa thông tin người dùng
Quản lý danh mục: Admin sau khi đăng nhập vào hệ thống quản trị sẽ thực hiện công việc quản lý danh mục Có thể thêm , cập nhật, xóa danh mục
Quản lý tin tức: Admin sau khi đăng nhập vào hệ thống quản trị sẽ thực hiện công việc quản lý tin tức Thêm bài tin tức mới , xóa tin tức , cho hiển thị tin tức lên website
Trang 3227
Quản lý người dùng: Admin sau khi đăng nhập vào hệ thống quản trị sẽ thực hiện công việc quản lý người dùng Có thể thêm người dùng , xóa thông tin người dùng , cập nhật thông tin người dùng , phân quyền người dùng
Quản lý địa chỉ: Admin sau khi đăng nhập vào hệ thống quản trị sẽ thực hiện công việc quản lý địa chỉ
Phản hồi: Phản hồi của ban quản trị hệ thống với người dùng hệ thống
2.1.1.2 Phân rã các Usecase mức cao
• Phân rã Usecase Tìm kiếm
Usecase Tìm kiếm có thể phân rã thành các usecase nhỏ hơn gồm: Tìm kiếm theo thành phố, tìm kiếm theo quận huyện, tìm kiếm theo tên đường, tìm kiếm theo thương hiệu
Hình 2 2: Phân rã usecase tìm kiếm
• Phân rã Usecase Quản lý người dùng
Usecase quản lý người dùng có thể được phân rã thành các usecase nhỏ hơn gồm:
- Tạo tài khoản: Mỗi người dùng khi đăng ký sẽ có một tài khoản riêng;
UC Search
Xem DS quan huyen theo muc
Xem ten duong theo muc
Tim theo quan huyen
Tim theo ten duong Tim theo thuong hieu
Xem DS tinh thanh theo muc Tim theo tinh thanh
Tim kiem
<<extend>>
<<extend>>
<<extend>>
Trang 3328
- Cập nhật thông tin người dùng: Admin thêm các chú ý hoặc thay đổi một số thông tin phụ đối với khách hàng mà không làm mất đi thông tin chính;
- Xóa người dùng: Bao gồm xóa hết thông tin liên quan trong CSDL;
- Kích hoạt tài khoản người dùng: Admin kiểm tra đăng ký của khách hàng,nếu chấp thuận sẽ kích hoạt tài khoản đó để khách hàng trở thành Member của hệ thống;
- Gửi thư cho người dùng: Admin có thể gửi thư trực tiếp tới các Member trong hệ thống
Hình 2.3 : Phân rã UC quản lý người dùng
• Phân rã Usecase Quản lý tin tức
Usecase quản lý tin tức có thể được phân rã thành các usecase nhỏ hơn gồm: Thêm tin tức, xóa tin tức, cập nhật tin tức, xem tin tức theo nhóm danh mục sách
Tim kiem User
Phan quyen User
Trang 3429
Hình 2.4: Phân rã UC quản lý tin tức
• Phân rã Usecase Quản lý địa chỉ
Hình 2.5: Phân rã UC quản lý địa chỉ
Usecase quản lý tin tức có thể được phân rã thành các usecase nhỏ hơn gồm:
Thêm địa chỉ, xóa địa chỉ, cập địa chỉ, hiển thị địa chỉ
UC Manage
News
Xoa hinh anh/ video/ van ban
Hien thi tren giao dien web
Them tin tuc
Xoa tin tuc
Cap nhat tin tuc
Xoa hinh anh/ video/ van ban
Hien thi tren giao dien web
Them tin tuc
Xoa tin tuc
Cap nhat tin tuc
QL tin tuc
Hien thi
UC Manage Address
Xoa hinh anh/ van ban
Hien thi len giao dien web
Them dia chi
Xoa dia chi
Cap nhat dia chi
QL dia chi
Hien thi dia chi
<<include>>
<<include>>
Trang 35Người chịu trách nhiệm User
Tiền điều kiện Khách hàng ghé thăm trang web và chọn đăng ký
Đảm bảo tối thiểu Khách hàng điền đầy đủ thông tin của mình sau đó
Chuỗi sự kiện chính:
1 Hệ thống hiển thị form đăng ký và yêu cầu khách hàng nhập thông tin của mình
2 Khách hàng nhập thông tin cá nhân và tài khoản mật khẩu và nhấn Đăng ký
3 Hệ thống kiểm tra thông tin nhập và xác nhận đăng ký thành công
4 Hệ thống lưu thông tin khách hàng mới vào cơ sở dữ liệu
5 Hệ thống thông báo đăng ký thành công
6 Khách hàng thoát khỏi form đăng ký
Ngoại lệ :
1 Hệ thống thông báo tài khoản khách hàng đăng ký đã tồn tại
2 Hệ thống thông báo thông tin khách hàng nhập không hợp lệ
Trang 3631
3 Hệ thống yêu cầu khách hàng nhập lại thôngtin
4 Khách hàng nhập lại thông tin của mình và đăng ký lại
¾ Chức năng đăng nhập
Người chịu trách nhiệm User
Tiền điều kiện Người dùng ghé thăm trang web và chọn đăng
Kích hoạt Người sử dụng chọn chức năng đăng nhập trong menu
Tóm tắt Ca sử dụng này cho phép người sử dụng nhập tên đăng
nhập và mật khẩu để đăng nhập vào hệ thống
Chuỗi sự kiện chính:
1 Hệ thống hiển thị form đăng nhập và yêu cầu người dùng nhập thông tin tài khoản và mật khẩu
2 Khách hàng nhập thông tin tài khoản và mật khâủ
3 Hệ thống kiểm tra tài khoản và mật khẩu
4 Hệ thống thông báo thành công
Ngoại lệ :
1 Hệ thống thông báo tài khoản không tồn tại
2 Hệ thống thông báo tài khoản và mật khẩu không hợp lệ
3 Hệ thống yêu cầu người dùng nhập lại tài khoản và mật khẩu
Trang 3732
¾ Chức năng quản lý địa chỉ:
Người chịu trách nhiệm Admin
Tiền điều kiện Người quản lý phải đăng nhập vào hệ thống trước
khi ca sử dụng bắt đầu
Đảm bảo tối thiểu
Nếu ca sử dụng thành công thì chức năng thêm,cập nhật, xóa được thực hiện, ngược lại thì trạng thái của
hệ thống không thay đổi
Đảm bảo thành công Thông tin về địa chỉ mới được bổ sung vào CSDL
Kích hoạt Người quản lý chọn chức năng quản lý địa chỉ trong
menu
Tóm tắt
Ca sử dụng này cho phép người quản lý duy trì thông tin địa chỉ cửa hang máy tính linh kiện Bao gồm các thao tác: thêm địa chỉ mới,cập nhật,xóa thông tin địa chỉ cửa hàng
Chuỗi sự kiện chính:
Ca sử dụng này bắt đầu khi người quản lý muốn hiệu chỉnh thông tin của địa chỉ cửa hàng:thêm, sửa, xóa
+ Hệ thống hiển thị danh sách của địa chỉ trong trang quản trị
+ Hệ thống yêu cầu người quản lý chọn chức năng thực hiện
+ Sau khi người quản lý chọn chức năng xong thì một trong các luồng phụ sau được thực hiện
+ Nếu chọn chức năng thêm:luồng phụ “thêm” được thực hiện
+ Nếu chọn chức năng cập nhật:luồng phụ “cập nhật” được thực hiện
+ Nếu chọn chức năng xóa:luồng phụ “xóa” được thực hiện
¾ Thêm địa chỉ cửa hàng
+ Hệ thống yêu cầu người quản lý nhập các thông tin về địa chỉ:mã địa chỉ,tên cửa hang, địa chỉ ,tên tỉnh thành phố, quận huyện, phường xã, số đường,
Trang 3833
mã cửa hàng
+ Sau khi điền đầy đủ các thông tin người quản lý chọn chức năng thêm
+ Hệ thống kiểm tra tính hợp lệ của thông tin
+ Thông tin được thêm vào hệ thống
+ Danh sách địa chỉ được cập nhật lại và hiển thị ra màn hình
¾ Cập nhật thông tin địa chỉ cửa hàng
+ Hệ thống hiển thị danh sách địa chỉ và người quản lý sẽ chọn một địa chỉ + Người quản lý thực hiện thay đổi thông tin Bao gồm các thông tin đã chỉ ra
ở luồng thêm
+ Sau khi điền đầy đủ các thông tin người quản lý chọn chức năng cập
nhật
+ Hệ thống kiểm tra tính hợp lệ của thông tin
+ Thông tin được cập nhật vào hệ thống
+ Danh sách địa chỉ được cập nhật lại và hiển thị ra màn hình
¾ Xóa địa chỉ cửa hàng
+ Người quản lý chọn địa chỉ muốn xóa
+ Người quản lý chọn chức năng xóa
+Hệ thống yêu cầu xác nhận lại địa chỉ muốn xóa
Thông tin không hợp lệ: Nếu người quản lý nhập các thông tin về địa chỉ đúng thì hệ thống hiển thị thông báo lỗi , người quản lý có thể nhập lại hoặc hủy bỏ thao tác này và ca sử dụng kết thúc
¾ Chức năng quản lý tin tức:
Trang 3934
Người chịu trách nhiệm Admin
Tiền điều kiện Người quản lý phải đăng nhập vào hệ thống trước
khi ca sử dụng bắt đầu
Đảm bảo tối thiểu
Nếu ca sử dụng thành công thì chức năng thêm,cập nhật, xóa được thực hiện, ngược lại thì trạng thái của
hệ thống không thay đổi
Đảm bảo thành công Các tin tức mới được bổ sung vào CSDL
Kích hoạt Admin chọn chức năng quản lý tin tức trong menu
Tóm tắt
Chức năng quản lý tin tức: Luôn cập nhật những thông tin mới nhất liên quan đến công ty, những chính sách khuyến mãi, những thông tin xoay quanh thời trang
Chuỗi sự kiện chính :
Ca sử dụng này bắt đầu khi người quản lý muốn hiệu chỉnh thông tin:thêm, sửa, xóa
+ Hệ thống hiển thị danh sách của tin tức trong trang quản trị
+ Hệ thống yêu cầu người quản lý chọn chức năng thực hiện
+ Sau khi người quản lý chọn chức năng xong thì một trong các luồng phụ sau được thực hiện
+ Nếu chọn chức năng thêm:luồng phụ “thêm” được thực hiện
+ Nếu chọn chức năng cập nhật:luồng phụ “cập nhật” được thực hiện
+ Nếu chọn chức năng xóa:luồng phụ “xóa” được thực hiện
Ngoại lệ:
+ Thông tin địa chỉ không đầy đủ: Nếu người quản lý nhập các thông tin về địa chỉ không đầy đủ trong luồng “thêm”, “cập nhật” thì hệ thống hiển thị thông báo lỗi , người quản lý có thể nhập bổ xung hoặc hủy bỏ thao tác này và ca sử dụng kết thúc
+ Thông tin không hợp lệ: Nếu người quản lý nhập các thông tin về tin tức đúng thì hệ thống hiển thị thông báo lỗi , người quản lý có thể nhập lại hoặc hủy bỏ thao tác này và ca sử dụng kết thúc
¾ Chức năng quản lý người dùng