Tải bản đầy đủ (.pdf) (79 trang)

báo cáo đồ án tốt nghiệp quản lý và tra cứu shop thời trang

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.77 MB, 79 trang )



BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CNTT
WX







BÁO CÁO ĐỒ ÁN TỐT NGHIỆP
QUẢN LÝ VÀ TRA CỨU SHOP THỜI TRANG

Giảng viên hướng dẫn: Th.S HOÀNG QUANG HUY
Sinh viên thực hiện: VŨ THỊ LÝ
Lớp: KHMT2

Khóa: 3





HÀ NỘI 6/2012


MỤ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

2.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

DANH 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

DANH MỤC TỪ VIẾT TẮT TIẾNG ANH

Từ viết tắt Từ tiếng anh
J2EE Java 2 Enterprise Edition
JSP Java Server Pages
MVC Model View Controller
UML Unifield Modeling Language
DB Database
1

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:
2

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.

3

CHƯƠNG 1 - NGHIÊN CỨU SƠ BỘ VỀ HỆ THỐNG
1.1. TỔNG QUAN ĐỀ TÀI
Đề 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, được thực hiện trong quá trình
thực tập tốt nghiệp của tôi tại trường Đại học công nghiệp Hà Nội.
• Mục tiêu.
- Xây dựng hoàn thiện website quản lý và tra cứu shop thời trang
• Nhiệm vụ:

- Khảo sát các shop thời trang, ghi địa chỉ cụ thể, người quản lý, số điện
thoại,chụp ảnh các shop thời trang.
• Đối tượng:
- 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.
• Phương án kỹ thuật
- Thu thập dữ liệu về các shop thời trang gồm các nội dung : tên shop, địa chỉ,
người quản lý, ảnh về shop…
- Xây dựng website trực tuyến giúp người quản lý shop có thể cập nhật địa
chỉ, thông tin shop đến người tiêu dùng.
- 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.
4

• 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.
1.2. CÁC GIẢI PHÁP CÔNG NGHỆ

1.2.1. Ngôn ngữ lập trình
a. Các ngôn ngữ lập trình
Chúng ta đã quá quen thuộc với những khái niệm ngôn ngữ như: PHP, JAVA ,
ASP , PERL, PYTHON, RUBY ON RAILS…mỗi ngôn ngữ đều có những ưu và
khuyết điểm riêng. Ở đây tôi xét đến 3 loại ngôn ngữ lập trình phổ biến và rất thông
dụng trong giới thiết kế web hiện nay là PHP, JAVA và ASP. Bây giờ chúng ta hãy
xét đến những ưu nhược điểm của chúng ra sao?
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
5

ứ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.
6

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.
7

¾ 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
Database Database
Application
Client
Dynamic
HTML Page
Client
Tier
Web
tier
Business
tier
EIS
Tie

r
Client
Machine
J2EE
Server
Machine
Database
Server
Machine
8

dụng 3 tầng này chạy bằng cách mở rộng tiêu chuẩn mô hình 2 tầng máy khách
hàng và máy chủ bằng cách đặt 1 máy chủ ứng dụng đa luồng giữa máy khách hàng
và các lưu trữ phía sau.
¾ Các thành phần của J2EE
Ứng dụng J2EE được tạo thành từ các thành phần. Một thành phần J2EE là một
đơn vị chức năng phần mềm khép kín được lắp ghép vào một ứng dụng J2EE, nó có
liên quan đến các lớp, các tập tin và nó giao tiếp với các thành phần khác. Các J2EE
đặc tả định nghĩa các thành phần J2EE sau đây:
• Ứ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.
9

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>
Res
p
onse
Servlet
10

• 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.
Uninstanti

ated
Instantiati
on
Unload
unavailable
Initializati
on
Meet
request
Destroy

Meet make
re
q
uest
failure
failure
11


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,
Browser
Servlet
Respone
Request
HTTP
Request
Res
p
one
Web Server
Servlet Container
12

Để chạy được một trang JSP thì tất cả các code của JSP phải được biên dịch
sang Servlet sau đó tùy vào nội dung mà Servlet sẽ cho ra trang HTML với nội dung
có được từ xử lý của các đoạn code JSP để trả lời yêu cầu của client.
+ Chu kỳ sống của JSP

Hình 1.5: Chu kỳ sống của JSP.
¾ Khi có một yêu cầu từ client đến server, container xác định
trang jsp được yêu cầu
¾ Trang JSP được đưa qua JSP Engine để xử lý. JSP Engine thực

hiện các bước sau
• Đọc cấu trúc file của JSP File từ trên xuống dưới, từ trái qua phải để
chuyên đổi (Parsing) sang Java code tương ứng
• Phát sinh Servlet từ nội dung parsing ở bước trên để cấu tạo thành
servlet
• 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.
Client

WEB
SERVER
JSP File
JSP
ENGINE
Databas
HTT
13


Hình 1.6: Mô hình MVC.
Dựa trên cách tiếp cận như trên chúng ta định nghĩa các thành phần trong mô
hình MVC như sau:
¾ Model (Tầng dữ liệu):
• Là các thành phần hỗ trợ ánh xạ dữ liệu vật lý lên bộ nhớ, lưu trữ dữ
liệu tạm thời trên bộ nhớ, hỗ trợ các cách thức xử lý dữ liệu, hỗ trợ

khả năng giao tiếp và trao đổi dữ liệu giữa các đối tượng khác trong
bộ nhớ và cơ sở dữ liệu
• Cụ thể là một đối tượng Object trong khái niệm của lập trình hướng
đối tượng OOP và mang đầy đủ khái niệm và tính chất của một Object
• Trong ứng dụng Web của Java, Model sẽ là JavaBean hay Enterprise
JavaBean hay Web Service
¾ 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
MySQL
Model
Controller
View
Dis
p
atcher
Routes
Web Server
Browser
14

• 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.



BROWER


JSP
J
a
v
a B
e
an
XML
File
Web Serve
r
1
5
2 4

3
Re
q
uest
Response
15

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
(Model)
Java Bean
XML
File
Web Server
1
8
2 4
3
Re
q
uest
Respons
(Controller)
Servle
t
5
7
6
(
EIS
)
16

• 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
17

- 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.
18

- 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
mô hình hoá.
• Giải quyết vấn đề về mức độ thừa kế trong các hệ thống phức tạp, có
nhiều ràng buộc khác nhau;
• Tạo một ngôn ngữ mô hình hoá có thể sử dụng được bởi người và
máy.
1.2.4.2. Các thành phần của UML
Ngôn ngữ UML bao gồm một loạt các phần tử đồ họa (graphic element) có thể
được kếp hợp với nhau để tạo ra các biểu đồ. Bởi đây là một ngôn ngữ, nên UML
19

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 đó.
20


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
Biểu đồ lớp
Biểu đồ trạng thái
Biểu đồ cộng tác
Biểu đồ tuần tự
Biểu đồ hoạt động
Biểu đồ thành phần
Biểu đồ triển khai HT
Pha
Phân
tích
Pha
thiết
kế

×