Tải bản đầy đủ (.doc) (82 trang)

LUẬN VĂN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN ĐỀ TÀI :TÌM HIỂU YII FRAMEWORK:ỨNG DỤNG XÂY DỰNG WEBSITE BÁN VÉ XE KHÁCH TRỰC TUYẾN

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.41 MB, 82 trang )

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.ud.edu.vn, E-mail:

LUẬN VĂN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 05115

ĐỀ TÀI :

TÌM HIỂU YII FRAMEWORK:
ỨNG DỤNG XÂY DỰNG WEBSITE
BÁN VÉ XE KHÁCH TRỰC TUYẾN
Mã số : 06T4 – 046
Ngày bảo vệ : 15/06/2011 – 16/06/2011

SINH VIÊN : NGUYỄN THỊ MỸ TÂM
LỚP
: 06T4
CBHD
: PGS.TS. VÕ TRUNG HÙNG

ĐÀ NẴNG, 06/2011


LỜI CẢM ƠN
Tôi xin chân thành cảm ơn các thầy cơ giáo trong khoa Cơng Nghệ


Thơng Tin cùng tồn thể thầy cô của trường Đại Học Bách Khoa Đà Nẵng
đã truyền đạt cho tôi những kiến thức quý giá trong suốt những năm học
vừa qua.
Xin chân thành cảm ơn thầy Võ Trung Hùng đã tận tình chỉ bảo và giúp
đỡ cho tơi hồn thành luận văn này.
Cuối cùng, tơi cũng xin bày tỏ lòng biết ơn đến đối với các bạn trong
khoa công nghệ thông tin, những người đã giúp đỡ, chia sẻ những kiến thức,
kinh nghiệm, tài liệu…trong suốt quá trình nghiên cứu thực hiện đề tài.

Đà Nẵng, ngày 04 tháng 06 năm 2011
Sinh viên
Nguyễn Thị Mỹ Tâm


LỜI CAM ĐOAN
Tôi xin cam đoan:
1 Những nội dung trong báo cáo này là do tôi thực hiện dưới sự
hướng dẫn trực tiếp của thầy Võ Trung Hùng.
2 Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ
ràng tên tác giả, tên cơng trình, thời gian, địa điểm công bố.
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian
trá, tôi xin chịu hoàn toàn trách nhiệm.

Sinh viên thực hiện
Nguyễn Thị Mỹ Tâm


NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
........................................................................................................................................................................
........................................................................................................................................................................

........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................

Đà Nẵng ngày … tháng … năm 2011
Cán bộ hướng dẫn

PGS. TS. Võ Trung Hùng



NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................
........................................................................................................................................................................

Đà Nẵng, ngày … tháng … năm 2011
TM. Hội đồng phản biện



TĨM TẮT NHIỆM VỤ LUẬN VĂN
1. Tên đề tài :
Tìm hiểu Yii Framework:
Xây dựng website bán vé xe khách trực tuyến
2. Các u cầu đặt ra:
2.1.1 Tìm hiểu các cơng cụ phát triển phần mềm có liên quan: UML, hệ
quản trị cơ sở dữ liệu MySQL, ngôn ngữ thiết kế web PHP.
2.1.2 Tìm hiểu Yii Framework và cách xây dựng ứng dụng với Yii.
2.1.3 Phân tích và thiết kế hệ thống bán vé xe khách.
2.1.4 Xây dựng website bán vé xe khách trên nền Yii Framework với các
chức năng cơ bản:
o
Tìm và đặt vé xe khách có hỗ trợ các phương thức thanh toán
của thương mại điện tử.
o
Kiểm tra hiện trạng vé đã đặt.
o
Hiển thị danh sách các đại lý bán vé xe khách trên địa bàn
thành phố Đà Nẵng.
o
Hiển thị các thơng tin, thơng báo từ phía ban quản trị.
o
Hỗ trợ người dùng ìm kiếm các nội dung thơng tin đã đăng.
o
Cung cấp giao diện quản lý cho những người được phân
quyền.
o
Có chức năng tương tác với người dùng như: nhận xét bài viết,

liên lạc phản hồi thông tin.


MỤC LỤC
MỞ ĐẦU...........................................................................................................1
TỔNG QUAN VỀ ĐỀ TÀI...............................................................................3
1.1. Bối cảnh thực hiện đề tài....................................................................................3
1.2. Mục tiêu, ý nghĩa của đề tài................................................................................3
1.3. Công cụ và môi trường thực hiện đề tài.............................................................4

CƠ SỞ LÝ THUYẾT........................................................................................5
2.1. Sơ lược về UML và StarUML.............................................................................5
2.1.1. Giới thiệu UML........................................................................................5
2.1.2. Quá trình phát triển của UML.................................................................6
2.1.3. Các thành phần của UML........................................................................6
2.1.4. Sơ lược về StarUML...............................................................................12
2.2. Ngôn ngữ PHP và hệ quản trị MySQL..............................................................13
2.2.1. Ngôn ngữ PHP.......................................................................................13
2.2.2. Hệ quản trị MySQL................................................................................15
2.3. Tìm hiểu Yii Framework...................................................................................16
2.3.1. Giới thiệu Yii Framework.......................................................................16
2.4.2. Các tính năng của Yii.............................................................................18

ĐẶC TẢ CHỨC NĂNG HỆ THỐNG............................................................27
3.1. Khảo sát hiện trạng............................................................................................27
3.2. Chức năng các Actor tham gia vào hệ thống....................................................28
3.2.1. Người dùng chung (User)......................................................................28
3.2.2. Nhân viên chuyên trách (Agent)............................................................29
3.2.3. Quản trị hệ thống (Admin)....................................................................30
3.3. Xây dựng kịch cảnh cho các usecase...............................................................31

3.3.1. Người dùng chung.................................................................................31
3.3.2. Nhân viên chuyên trách..........................................................................36
3.3.3. Người quản trị hệ thống.........................................................................39
3.4. Sơ đồ use-case..................................................................................................44

PHÂN TÍCH THIẾT KẾ HỆ THỐNG............................................................48
4.1. Mơ hình hóa các lớp ứng dụng.........................................................................48
4.2. Mơ hình hóa hành vi..........................................................................................50
4.2.1. Biểu đồ hoạt động..................................................................................51
4.2.2. Biểu đồ tuần tự.......................................................................................53
4.3. Thiết kế hệ thống...............................................................................................55
4.4.1. Thiết kế cơ sở dữ liệu.............................................................................55
4.4.2. Lược đồ cơ sở dữ liệu quan hệ...............................................................63

XÂY DỰNG VÀ TRIỂN KHAI HỆ THỐNG................................................65
5.1. Phần front-end................................................................................................65
5.1.1. Trang chủ................................................................................................65
5.1.2. Tìm kiếm chuyến xe................................................................................65
5.1.3. Giao diện quá trình đặt vé.....................................................................67
5.1.4. Giao diện liên hệ - phản hồi...................................................................68
5.2. Phần giao diện back-end...................................................................................69


5.2.1. User menu...............................................................................................69
5.2.2. Nhân viên chuyên trách quản lý tin tức..................................................69
5.3. Thử nghiệm và đánh giá....................................................................................71
5.3.1. Thử nghiệm.............................................................................................71
5.3.2. Đánh giá.................................................................................................71

KẾT LUẬN.....................................................................................................73



Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến

MỞ ĐẦU
Từ xưa đến nay, giao thông đi lại đã trở thành nhu cầu thiết yếu của con
người. Thực tế đã chứng minh rằng nhu cầu ấy khơng chỉ giải quyết nhu cầu cá
nhân mà cịn góp phần thúc đẩy và cải thiện các lĩnh vực khác của đời sống xã hội.
Ngày nay, cùng với sự phát triển không ngừng của xã hội, con người ngày
càng mở rộng phạm vi hoạt động của mình. Ở các thành phố lớn của nước ta hiện
nay, kéo theo nhu cầu đi lại tăng cao (đặc biệt là vào dịp lễ, tết) thường xuất hiện
sự bất cập và khó khăn cho hành khách khi muốn đặt vé xe, vé tàu. Nhiều khi chỉ vì
một chuyến đi mà hành khách phải chạy vạy, liên lạc với rất nhiều công ty lữ hành vận tải nhưng kết quả vẫn không đặt được vé hoặc đặt được vé nhưng phải ngồi
tuyến xe với những điều kiện không ưng ý, chưa kể là phải tốn nhiều thời gian và
công sức. Mặt khác, tâm lý một bộ phận người dân vẫn có thói quen khơng đến
đúng bến xe để đi mà lại đón xe dọc đường gây nên cảnh mất trật tự và kém mỹ
quan.
Về phía các cơng ty vận tải vẫn thường thấy hiện tượng đậu đỗ khơng đúng
nơi đúng bến, đón bắt khách dọc đường, chở nhồi nhét quá số người quy định, chèn
ép giá cả, xuất bến không đúng giờ, … Với cách hoạt động như vậy, ngay bản thân
công ty cũng không dự trù được số khách trên mỗi tuyến xe và chi phí khi thực
hiện một cuộc hành trình.
Trước sự lớn mạnh, tiện dụng và phổ cập của các ứng dụng công nghệ thông
tin đối với nhiều lĩnh vực quản lý và thương mại, một số công ty vận tải đã dùng
Internet làm phương tiện quảng bá và tiếp cận cộng đồng. Tuy nhiên, số lượng cũng
như chất lượng những phần mềm này vẫn còn khá hạn chế và vẫn chưa được phát
huy hết sức mạnh của nó. Hơn nữa, hầu hết các công ty lữ hành chỉ tập trung vào
việc chỉ quản lý dữ liệu và cung cấp thông tin chỉ riêng cho cơng ty mình, dẫn đến
việc để tìm thơng tin về một chuyến xe nào đó, người dùng phải truy cập lần lượt
nhiều trang web của các công ty lữ hành khác nhau, thao tác lặp lại nhiều lần gây

mất thời gian, chưa kể đến việc sẽ bất tiện khi người dùng muốn so sánh, chọn lọc.
Với suy nghĩ như vậy, bản thân em muốn đưa ra một giải pháp ứng dụng công
nghệ thông tin trong tầm hiểu biết của mình với nội dụng chính là xây dựng

Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4

1


Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến
website bán vé xe trực tuyến, nhằm cung cấp thêm một giải pháp hỗ trợ người dùng
trong việc truy cập và tìm kiếm thơng tin về các tuyến xe khách và tiến hành đặt vé
xe qua mạng.
Chương trình được thiết kế dựa trên những tìm tịi về Yii Framework – là một
framework rất mới của PHP- một ngôn ngữ rất thịnh hàng trong việc thiết kế web
nhất là các trang thương mại điện tử.
Bố cục đồ án được chia thành các phần:
Chương 1: Tổng quan đề tài
Nêu tổng quan đề tài, mục đích của đề tài, công cụ và môi trường thực hiện.
Chương 2: Cơ sở lý thuyết
Giới thiệu các lý thuyết liên quan đến đề tài
Chương 3: Đặc tả chức năng của hệ thống
Đặc tả các chức năng chính của website cần xây dựng
Chương 4: Phân tích thiết kế hệ thống
Trình bày cách giải quyết yêu cầu đề tài
Chương 5: Xây dựng triển khai hệ thống
Trình bày bố cục của hệ thống, các module của chương trình.

Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4


2


Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến

CHƯƠNG 1

TỔNG QUAN VỀ ĐỀ TÀI
1.1. Bối cảnh thực hiện đề tài
Trong mấy thập nên gần đây, thương mại điện tử đang là lĩnh vực rất phát
triển và chiếm nhiều ưu thế do tính tiện dụng, nhanh chóng và có tính phổ cập cao.
Do đó, lĩnh vực kinh doanh vận tải hành khách cũng sẽ dần chuyển sang hình thức
thương mại điện tử cũng là điều tất yếu.
Hơn nữa, xu hướng phát triển của các phần mềm cho các công ty hiện nay đều
tập trung vào việc phát triển các ứng dụng hỗ trợ chạy trên nền web nhằm tận dụng
tối đa những lợi ích mà Internet mang lại: quảng bá tốt hình ảnh cơng ty, có thể truy
cập được mọi lúc mọi nơi, …
Với sự trợ giúp của công nghệ web động với ngôn ngữ PHP, rất nhiều PHP
Framework ra đời đã tạo ra một cơng cụ mới trong giới lập trình web làm cho các
website mang tính mềm dẻo, linh hoạt và có tính kế thừa cao đang là lựa chọn của
rất nhiều nhà phát triển các ứng dụng web. Các PHP Framework nổi trội có thể kể
đến là: Zend Framework, CakePHP, Symfony, Codelgniter … Và gần đây, Yii
Framework ra đời đang là một sự tìm tịi và thử nghiệm mới cho giới lập trình web
nói chung và những người u thích phát triển cơng nghệ web với PHP nói riêng.

1.2. Mục tiêu, ý nghĩa của đề tài
Mục đích của đồ án tốt nghiệp này là muốn tạo ra một website giải quyết
việc hỗ trợ bán vé xe khách trực tuyến dựa trên những kiến thức về quy trình phát
triển phần mềm, kết hợp với sự tiếp cận và tìm hiểu Yii Framework.
Website được xây dựng với những chức năng hỗ trợ cho cả người mua (hành

khách đi xe) và người bán (công ty xe khách):
Về phía hành khách:
- Có thể tìm hiểu thơng tin về các tuyến xe: giá cả, nơi xuất phát, địa điểm
đưa đón, giờ đi – giờ đến, các dịch vụ kèm theo... mà không cần phải đến trực tiếp
công ty hoặc các địa điểm bán vé.

Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4

3


Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến

- Cập nhật được các chương trình quảng cáo, khuyến mãi của cơng ty, tận
dụng những điều kiện và thời điểm tốt để mua vé.
- Tìm được địa điểm của các đại lý bán vé nếu muốn liên hệ trực tiếp các đại
ly này.
Về phía cơng ty xe khách:
- Quản lý có hiệu quả các tuyến xe.
- Quản lý việc mua và bán vé, xem thông tin về các giao dịch với khách hàng.
- Quảng bá được hình ảnh của cơng ty và các chương trình khuyến mãi, tạo
nên ấn tượng tốt cho hành khách.
Ngoài ra, mục đích của đề tài cịn mong muốn tạo ra một kênh liên lạc
chung, một đầu mối thông tin với sự tham gia và phối hợp của các công ty xe
khách, tạo nên một cổng thông tin đầy đủ và tồn diện về mạng lưới xe khách, một
mơi trường cạnh tranh bình đẳng giữa các cơng ty xe khách và có thể hỗ trợ cho
nhau trong việc phục vụ hành khách một cách tốt nhất.

1.3. Công cụ và môi trường thực hiện đề tài
- Hệ quản trị cơ sở dữ liệu MySQL.

- Cơng cụ mơ hình hóa StartUML.
- Ngơn ngữ lập trình web PHP trên Yii Framework.

Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4

4


Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến

CHƯƠNG 2

CƠ SỞ LÝ THUYẾT
2.1. Sơ lược về UML và StarUML
2.1.1. Giới thiệu UML
UML (viết tắt của Unifield Modeling Language - ngơn ngữ mơ hình hóa hợp
nhất) là một ngơn ngữ mơ hình hố thống nhất có phần chính bao gồm những ký
hiệu hình học, được các phương pháp hướng đối tượng sử dụng để thể hiện và miêu
tả các thiết kế của một hệ thống. Nó là một ngơn ngữ để đặc tả, trực quan hố, xây
dựng và làm sưu liệu cho nhiều khía cạnh khác nhau của một hệ thống có nồng độ
phần mềm cao. UML có thể được sử dụng làm cơng cụ giao tiếp giữa người dùng,
nhà phân tích, nhà thiết kế và nhà phát triển phần mềm.
Sự ra đời của UML được đánh dấu bằng sự ra đời các ngôn ngữ hướng đối
tượng như Simula, Smalltalk và C++ vào thập niên 1980. Do sự xuất hiện của các
ngơn ngữ lập trình hướng đối tượng đã nảy sinh nhu cầu mơ hình hoá các hệ thống
phần mềm theo hướng đối tượng. Và một vài trong số những ngơn ngữ mơ hình hố
xuất hiện những năm đầu thập kỷ 90 được nhiều người dùng là:
- Grady Booch’s Booch Modeling Methodology
- James Rambaugh’s Object Modeling Technique – OMT
- Ivar Jacobson’s OOSE Methodology

- Hewlett- Packard’s Fusion
- Coad and Yordon’s OOA and OOD
Mỗi phương pháp luận và ngơn ngữ trên đều có hệ thống ký hiệu riêng,
phương pháp xử lý riêng và công cụ hỗ trợ riêng, khiến nảy ra cuộc tranh luận
phương pháp nào là tốt nhất. Đây là cuộc tranh luận khó có câu trả lời, bởi tất cả
các phương pháp trên đều có những điểm mạnh và điểm yếu riêng.
Trong bối cảnh trên, người ta nhận thấy cần thiết phải cung cấp một phương
pháp tiệm cận được chuẩn hoá và thống nhất cho việc mơ hình hố hướng đối

Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4

5


Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến
tượng. Đã có ba cơng trình tiên phong nhắm tới mục tiêu đó, chúng được thực hiện
dưới sự lãnh đạo của James Rumbaugh, Grady Booch và Ivar Jacobson. Chính
những cố gắng này dẫn đến kết quả là xây dựng được một ngơn ngữ mơ hình hố
thống nhất (Unifield Modeling Language – UML).

2.1.2. Quá trình phát triển của UML
Từ khi ra đời cho đến nay, UML đã phát triển qua các giai đoạn, và sau mỗi
giai đoạn các chức năng, thành phần cũng như mục đích của nó ngày càng được
củng cố và hồn thiện hơn.
Các phiên bản cụ thể của UML được thể hiện dưới đây.
10/1995

6/1996

1/1997


14/11/1997

6/1998

10/1998

5/2001

2003

UML
phiên bản 0

UML
0.9

UML
1.1

UML
1.1

UML
1.2

UML
1.3

UML

1.4

UML
2.0

IBM & Softeam & UML
đưa ra phiên bản 1.1

OMG cơng nhận chuẩn cho
các ngơn ngữ mơ hình hóa và
trao đặc quyền xét lại cho
UML

Hình 1 - Các giai đoạn phát triển UML

2.1.3. 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 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:
2.1.3.1. 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. Một hướng nhìn khơng phải là một bản vẽ, mà là một sự trừu tượng

Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4

6


Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến

hóa bao gồm một loạt các biểu đồ khác nhau. 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 hồ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.

Hình 2 - Các View trong UML
- Hướng nhìn Use case (use case view) : đây là hướng nhìn chỉ ra khía cạnh
chức năng của một hệ thống, nhìn từ hướng tác nhân bên ngồi.
- Hướng nhìn logic (logical view): chỉ ra chức năng sẽ được thiết kế bên
trong hệ thống như thế nào, qua các khái niệm về cấu trúc tĩnh cũng như ứng xử
động của hệ thống.
- Hướng nhìn thành phần (component view): chỉ ra khía cạnh tổ chức của
các thành phần code.
- Hướng nhìn song song (concurrency view): chỉ ra sự tồn tại song song,
trùng hợp trong hệ thống, hướng đến vấn đề giao tiếp và đồng bộ hóa trong hệ
thống.
- Hướng nhìn triển khai (deployment view): chỉ ra khía cạnh triển khai hệ
thống vào các kiến trúc vật lý (các máy tính hay trang thiết bị được coi là trạm
công tác).
2.1.3.2. Biểu đồ (Diagram)

Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4

7


Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến
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.
Các loại sơ đồ:
Sơ đồ

Sơ đồ
cấu trúc

Sơ đồ
hành vi

Sơ đồ Sơ đồ Sơ đồ Sơ đồ Sơ đồ Sơ đồ
đối bố trí cấu trúc gói
lớp thành
phần tượng
đa hợp

Sơ đồ
bao quát
tương tác

Sơ đồ
Sơ đồ
tương tác use-case

Sơ đồ
trình tự

Sơ đồ
giao tiếp


Sơ đồ
Sơ đồ
máy
hoạt
trạng thái động

Sơ đồ
thời khắc

Hình 3- Phân loại các biểu đồ trong UML 2.0
2.1.3.3. Phần tử mơ hình hóa (model elemens)
Các khái niệm được sử dụng trong các sơ đồ được gọi là các phần tử mơ
hình, ví dụ như lớp, đối tượng, thơng điệp, liên kết, phụ thuộc,…Mỗi phần tử mơ
hình được định nghĩa với ngữ nghĩa, đó là một định nghĩa về bản chất phần tử, hay
là một xác định ý nghĩa chính xác xem nó sẽ thể hiện điều gì trong những lời khẳng
định rõ ràng. Mỗi một phần tử mơ hình cịn có một sự miêu tả trực quan, một kí
hiệu hình học được sử dụng để miêu tả phần tử này trong sơ đồ.
Mỗi phần tử mơ hình được sử dụng trong nhiều sơ đồ khác nhau, nhưng nó
ln chỉ có một ý nghĩa và một kí hiệu.

STT

Phần tử mơ hình

Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4

Mô tả

8



Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến

1

Component

2

Actor

3

Note

4
Use case

5

6

Package

Class
Attributes
Operation()

7


Object
Attributes
Operation()

Thành phần: có thể là một thành phần
chứa đựng bằng cách đặt các thành phần
khác vào trong nó.
Tác nhân: là một người hoặc một vật,
hoặc một hệ thống khác, tương tác với hệ
thống, sử dụng hệ thống, bằng cách, tác
nhân gởi thông điệp đến hệ thống, hoặc
nhận thông điệp xuất phát từ hệ thống,
hoặc thay đổi các thơng tin cùng với hệ
thống. Ngồi cách biểu diễn này, phần tử
mơ hình tác nhân cịn có thể được biểu
diễn dưới dạng một hình chữ nhật như một
lớp và khuôn mẫu <<Actor>> cũng phải
được xác định cùng với lớp đó.
Ghi chú: được sử dụng khi một phần của
sơ đồ khơng thể hiện hết ý đồ của nó, và
được xem như là lời giải thích, nó có thể
chứa bất kỳ loại thông tin nào, và sẽ không
được UML diễn giải.
Use-case: biểu thị cho một chức năng
nguyên vẹn mà một tác nhân nhận được,
nó là một chuỗi hành động mà hệ thống
thực hiện để tạo ra một kết quả có thể quan
sát được, tức là một giá trị đến với một tác
nhân cụ thể.
Gói: dùng để chứa đựng và tổ chức các

phần tử của sơ đồ. Chẳng hạn như tập các
lớp hay các thành phần tạo thành một hệ
thống con thì nên đưa vào trong một gói.
Lớp: mang ý nghĩa của hướng đối tượng,
các thuộc tính và phương thức cũng được
thể hiện ở đây.
Đối tượng: chỉ cái cụ thể của một lớp các
đối tượng. Tuy nhiên, nó phải phân biệt
với các thuộc tính cũng như các phương

Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4

9


Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến

8

9

Node

State

thức đều cụ thể, và có đường gạch dưới để
phân biệt với lớp
Nút: đại diện cho các tài nguyên xử lý hệ
thống như các máy tính có bộ xử lý và bộ
nhớ, v.v…

Trạng thái: biểu thị một trạng thái của một
đối tượng nào đó tại một thời điểm nào đó.

11

Giao diên: biểu thị cho một tập các hoạt
động về cách hành xử của các lớp và mức
độ hiển thị giữa các lớp với nhau. Nó cịn
dùng để biểu thị cho một tập các dữ liệu
liên quan nào đó.
Trạng thái bắt đầu

12

Trạng thái kết thúc

13

Hoạt động: đặc trưng cho khả năng hoạt
động của một quá trình nào đó.

10
Interface

14

15

16


17

Activity

Quan hệ liên kết: biểu diễn liên hệ giữa
một tác nhân và một use-case, hoặc giữa
các lớp.
Quan hệ phụ thuộc: cho biết sự phụ thuộc
của một phần tử trong một phương thức
nào đó với một phần tử khác.
Quan hệ kết tập: cho biết một lớp bao gồm
các lớp thành phần khác, khơng bắt buộc
phải đầy đủ.
Quan hệ khái qt hóa: biểu thị cho khả
năng thừa kế, tức một lớp có thể thừa kế từ
một lớp khác về cả thuộc tính và phương

Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4

10


Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến
thức.
Quan hệ nhận thức: biểu thị cho khả năng
nhận biết qua một sự kiện hay thông điệp
nào đó. Nó biểu thị liên hệ giữa một lớp và
một giao diện.
Quan hệ cấu thành: biểu thị cho một lớp
được cấu thành từ các lớp thành phần khác


18

19

Bảng 1: Các thành phần mơ hình thường dùng

2.1.2.4. Lý do chọn UML
Trong dự án phát triển hệ thống hướng đối tượng, UML là ngơn ngữ mơ
hình được ưu tiên cho việc phân tích và thiết kế một sản phẩm.
Lý do mạnh mẽ nhất để sử dụng UML bởi vì nó đã trở thành chuẩn mực đối
với mơ hình hướng đối tượng. Nếu cần thu hút một nhóm các nhà phát triển hoặc
cần chuyển thơng tin trong mơ hình cho những người khác, thì UML là sự chọn lựa
vì nó dễ dàng giao tiếp giữa các bên tham gia.
Lý do thứ hai UML là ngơn ngữ mơ hình hợp nhất. Nó là sản phẩm kết hợp
từ các ý tưởng của ba nhà dẫn đầu trong việc lập mơ hình hướng đối tượng và kết
hợp chúng thành một ký hiệu duy nhất. Từ các phiên bản đầu tiên, một số tổ chức
liên quan đến việc phát triển UML cũng cố gắng hợp tác đặc điểm tốt nhất của các
ngơn ngữ lập mơ hình khác, vì thế UML có thể được xem là ngơ ngữ tốt nhất trong
lĩnh vực này.

2.1.4. Sơ lược về StarUML
2.1.4.1. Giới thiệu
StarUML là một dự án mã nguồn mở, ra đời nhăm phát triển nhanh chóng,
linh hoạt, mở rộng, với đầy đủ tính năng dựa trên nền UML / MDA. Mục tiêu của
dự án StarUML là xây dựng một công cụ mơ hình hóa phần mềm, tương tự như các
cơng cụ UML như Rational Rose, Borland's Together. nhưng với tính cạnh tranh và
thu hút người dùng.

Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4


11


Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến
Các phiên bản của StarUML bắt đầu xuất hiện từ năm 1996 (phiên bản 0.9).
Sau đó, từ năm 1997 đến 2005, các version tiếp theo đều được nâng cao và cải
thiện, nhiều tính năng mới cũng dần được cập nhật. Cho đến nay, phiên bản mới
nhất hiện dùng là StarUML 5.0.
2.1.4.2. Các chức năng chính
- UML liên tục mở rộng các tiêu chuẩn quản lý bởi OMG (Object
Management Group). StarUML được phát hành với khả năng hỗ trợ tốt UML 2.0,
với đầy đủ các tính năng để người phát triển phần mềm có thể thiết kế các loại biểu
đồ trong q trình phân tích và thiết kế hệ thống.
- Có thể import được từ các file XML và các file định dạng của Rational
Rose. Đồng thời kết quả mơ hình hóa có thể dễ dàng export ra các file ảnh *.JPEG
hoặc định dạng Windows Metafiles.
- Hỗ trợ công cụ Code Generator để người dùng dễ dàng tạo code mẫu theo
mơ hình thiết kế tương ứng đã tạo. Hiện StarUMl đang hỗ trợ tốt ngôn ngữ Java,
C# và C++.
- Giao diện StarUMl được thiết kế tương thích với người dùng, bộ công cụ
được cài đặt tương đối nhẹ và miễn phí bản quyền nên StarUMl là lựa chọn rất tốt
cho việc phát triển các phần mềm ứng dụng vừa và nhỏ.

2.2. Ngôn ngữ PHP và hệ quản trị MySQL
2.2.1. Ngơn ngữ PHP
2.2.1.1. PHP là gì?
PHP là cụm từ viết tắt của cụm từ Personal Home Page được phát triển từ
năm 1994 bởi Rasmus Lerdorf.
Lúc đầu chỉ là một bộ đặc tả Perl, được sử dụng để lưu dấu vết người dùng

trên các trang web. Sau đó, Rasmus Lerdorf đã phát triển PHP như một máy đặc tả
(Scripting Engine). Vào giữa năm 1997, PHP đã khơng cịn là dự án cá nhân
Rasmus Lerdorf nữa mà đã phát triển nhanh chóng với sự u thích của nhiều
người và trở thành một công nghệ web quan trọng.
Zeev Suraski và Andi Gutman đã hồn thiện việc phân tích cú pháp cho PHP.
Đến tháng 6 -1998, PHP3 ra đời (với phần mở rộng là *.php3). Sau đó, yêu cầu viết

Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4

12


Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến
lại bộ đặc tả cho PHP đã được đặt ra dẫn đến sự ra đời của PHP4 (với phần mở
rộng là *.php). PHP bây giờ được gọi là PHP Hypertext Preprocessor.
PHP4 nhanh hơn PHP3 rất nhiều đã làm cho số nhà phát triển dùng PHP đã
lên đến hàng trăm nghìn và hàng triệu site đã cơng bố cài đặt PHP, chiếm khoảng
20% số tên miền trên mạng Internet. Cùng với sự thành công vang dội ấy, cộng
đồng PHP rộng lớn đã nhanh chóng giúp các nhà phát triển nhận ra những yếu kém
của PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý
XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch
vụ web yếu. Những điểm này chính là mục đích để Zeev và Andi viết Zend Engine
2.0, lõi của PHP 5.0. PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004.
Hiện nay phiên bản tiếp theo của PHP đang được phát triển và kỳ vọng sẽ lấp
đầy những khuyết điểm của PHP ở phiên bản hiện tại .
2.2.1.2. Tại sao phải sử dụng PHP?
Ta hãy xem xét cách hoạt động của một trang web được viết bằng ngôn ngữ
PHP:
Khi một trang PHP được yêu cầu, web server phân tích và thi hành các đoạn
mã PHP để tạo ra trang HTML. Điều đó được thực hiện qua 4 bước sau:


Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4

13


Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến
Hình 4- Cách thức hoạt động của trang web viết bằng PHP
Do các trang *.php được viết bằng các đoạn mã PHP được thực hiện trên
máy chủ Web server nên sẽ tạo cho trang web tính linh động và mềm dẻo.
Ngồi ra, PHP cịn có rất nhiều điểm mạnh như:
- PHP thực hiện với tốc độ rất nhanh và hiệu quả. Một server bình thường có
thể đáp ứng được hàng triệu truy cập tới trong một ngày.
- PHP hỗ trợ kết nối tới nhiều cơ sở dữ liệu khác nhau: PostgreSQL, MySQL,
Oracle, DBM, filePro, Hyperware, Informix, InterBase, SyBase,… Ngồi ra cịn hỗ
trợ kết nối với ODBC, thơng qua đó có thể kết nối với nhiều ngơn ngữ khác mà
ODBC hỗ trợ.
- PHP cung cấp một hệ thống thư viện phong phú: do PHP ngay từ đầu được
thiết kế nhằm mục đích xây dựng và phát triển các ứng dụng trên web nên PHP
cung cấp rất nhiều hàm xây dựng sẵn giúp thực hiện các công việc một cách dễ
dàng: gửi – nhận mail, làm việc với các cookies, …
- PHP có thể sử dụng được trên nhiều hệ điều hành, chúng ta có thể viết
chúng trên Unix, Lunix và các phiên bản của Windows, ta có thể đem mã PHP này
chạy trên các hệ điều hành khách mà không phải sửa đổi lại mã.
- Trên hết, PHP là một ngơn ngữ mã nguồn mở. Do đó, nó có một cộng đồng
phát triển và hỗ trợ đơng đảo. Từ đó, ta có thể tận dụng tối ưu những tính năng hữu
ích bổ trợ cho ứng dụng của chính mình.

2.2.2. Hệ quản trị MySQL
2.2.2.1. Giới thiệu MySQL

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và
được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì
MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển,
hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất
mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có
truy cập CSDL trên internet. MySQL miễn phí hồn tồn cho nên bạn có thể tải về
MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên

Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4

14


Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến
bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix,
FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS, ...
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu
quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL). MySQL được sử dụng cho
việc bổ trợ PHP, Perl, và nhiều ngơn ngữ khác, nó làm nơi lưu trữ những thông tin
trên các trang web viết bằng PHP hay Perl, ...

2.2.2.2. Các ưu điểm của MySQL
- MySQL là một hệ quản trị nhỏ, bảo mật và rất dễ sử dụng, thường được sử
dụng cho các ứng dụng cỡ nhỏ và trung bình. Nó được sử dụng cho các ứng dụng
client/server với máy chủ mạnh.
- Ngôn ngữ lập trình sử dụng viết các hàm API để truy cập cơ sở dữ liệu
MySQL có thể là C, Perl, PHP …
- Các bảng (table) trong cơ sở dữ liệu MySQL có kích thước rất lớn và được
lưu ở thư mục Datas. Kích thước lớn nhất của một bảng tối thiểu là 4GB và nó cịn
phụ thuộc vào kích thước lớn nhất của một file do hệ điều hành quy định.

- Cơ sở dữ liệu MySQL rất dễ quản lý và tốc độ xử lý cao hơn tới ba, bốn lần
so với các hệ quản trị cơ sở dữ liệu khác.
- MySQL là hệ quản trị cơ sở dữ liệu mơ hình quan hệ mã nguồn mở. Được
cung cấp miễn phí trên các máy chủ UNIX, OS/2 và cả trên Windows.

2.3. Tìm hiểu Yii Framework
2.3.1. Giới thiệu Yii Framework
2.3.1.1. Yii Framework là gì?
Yii là một PHP framework được xây dựng để phát triển các ứng dụng web
quy mô lớn dựa trên nền tảng component (thành phần sử dụng lại) nó cho phép việc
tái sử dụng tối đa trong lập trình web để có thể tăng tốc đáng kể tiến trình phát
triển web.

Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4

15


Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến
Yii được viết bằng PHP5, chủ yếu tập trung vào high-performance,
component-based cho phép bạn dễ dàng tạo cũng như bảo trị các ứng dụng web,
giúp bạn làm việc hiệu quả hơn.
Yii có khả năng cung cấp cho người lập trình nền tảng chung để lập trình và
phát triển hầu như tất cả các loại ứng dựng web. Bởi vì Yii rất nhẹ và trang bị bộ
nhớ đệm cho các giải pháp phức tạp nên nó đặ biệt thích hợp cho việc phát triển
các ứng dụng có lưu lượng cao, chẳng hạn như các cổng thông tin, diễn đàn, các hệ
thống quản lý nội dung (CMS), hệ thống thương mại điện tử, v.v…
Yii bắt đầu do một nhóm các nhà phát triển do Qiang Xue đứng đầu sáng lập
từ năm 2008 trên nền tảng kế thừa các đặc tính của PRADO (cũng là một PHP
Framework). Yii 1.0 chính thức được phát hành vào ngày 14 tháng 3 năm 2010.

Hiện nay, nó đang có một nhóm phát triển ngày càng tăng và đang dần phổ biến
trong cộng đồng những người sử dụng mã nguồn mở nói chung và các nhà phát
triển web trên ngơn ngữ PHP nói riêng.
2.3.1.2. Các đặc tính cơ bản của Yii
Các đặc tính của Yii, được thể hiện qua tên gọi của nó (Yii có phiên âm /i:/
viết tắt của các chữ cái Easy – Efficient – Extensible).
- Easy (dễ dàng): để phát triển ứng dụng trên Yii bạn cần biết PHP và OOP,
ứng dụng được viết và bảo trì dựa trên các PHP class được thừa kế từ core Yii
Framework
- Efficient (hiệu quả cao): ứng dụng Yii được viết theo mơ hình MVC (ModelView-Controller) điều này giúp tăng khả năng tái sử dụng code, dễ dàng bảo trì
cũng như nâng cấp sau này mà không ảnh hưởng nhiều đến hệ thống hiện tại. Việc
tách biệt giữa business logic và presentation tăng khả năng tùy biến cho các site
khác nhau.
- Extensible (có khả năng mở rộng): hệ thống hỗ trợ sẵn ajax, web service,
ADO, Active Record, cache, i18n, RBAC, theme… Ngoài các thư viện được cung
cấp kèm theo, chúng ta có thể dễ dàng phát triển các extension theo nhu cầu hoặc
sử dụng các thư viện khác như Zend chẳng hạn.

Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4

16


Tìm hiểu Yii Framework: Ứng dụng xây dựng website bán vé xe khách trực tuyến
Ngồi ra, Yii cịn cung cấp các tính năng bảo mật như: tăng cường khả năng
bảo mật, tránh các kiểu tấn công như SQL injection, cross-site scripting (XSS),
cross-site request forgery (CSRF), and cookie tampering, …
2.3.1.3. Cài đặt và tạo ứng dụng với Yii
a) Những công cụ cần thiết:
Muốn chạy một ứng dụng Yii tối thiểu ta cần một Web server có hỗ trợ PHP

5.1.0 trở lên. Yii được test với Apache HTTP server trên hệ điều hành Windows và
Linux.
b) Cài đặt:
- Download phiên bản mới nhất của Yii từ
- Giải nén gói cài đặt vào thư mục web gốc
Tạo ứng dựng Yii:
- Ta chạy lệnh hệ thống tới thư thư mục hiện hành là WebRoot
- Gọi lệnh: YiiRoot\framework\yicc webapp thumuc_ud
Trong đó: WebRoot là thư mục web gốc, YiiRoot là thư mục chứa Yii framework
thumuc_ud là thư mục chứa mã nguồn mà ta muốn tạo ra.
- Để kiểm tra cài đặt, truy cập: http://hostname/thumuc_ud/index.php

2.4.2. Các tính năng của Yii
2.4.2.1. Mơ hình MVC trong Yii Framework
Yii thừa kế mẫu thiết kế model-view-controller (MVC) –là mẫu thiết kế
đang được ứng dụng rộng rãi nhất trong lập trình web. Mục đích của mơ hình
MVC là chia phần xử lý logic tách biệt với giao diện người dùng để người phát
triển có thể dễ dàng thay đổi các phần mà khơng ảnh hưởng đến các phần cịn lại.
Một ứng dụng Yii được phát triển dựa trên mơ hình MVC tổng quát được
mô tả như sau:

Sinh viên thực hiện: Nguyễn Thị Mỹ Tâm – Lớp 06T4

17


×