Tải bản đầy đủ

Xây dựng website trung tâm gia sư

ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KINH TẾ
KHOA HỆ THỐNG THÔNG TIN KINH TẾ

tế

H

uế

--------------------

Ki
nh

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Đ

ại


họ

c

XÂY DỰNG WEBSITE TRUNG TÂM GIA SƯ

Giảng viên hướng dẫn

Lớp: K47 Tin học kinh tế

ThS. Nguyễn Hữu Hoàng Thọ

Sinh viên thực hiện: Trình Nguyễn Cẩm Tú
Niên khóa: 2013 – 2017

Huế, tháng 5 năm 2017


LỜI CẢM ƠN
Lời đầu tiên, em xin chân thành gửi lời cảm ơn đến các thầy cô Khoa Hệ thống
Thông tin Kinh tế đã truyền đạt những kiến thức quý báu cho em trong những năm học
vừa qua và nhất là đã tạo điều kiện cho em có thể hoàn thành đề tài một cách thuận
lợi nhất.
Đặc biệt em xin cảm ơn thầy ThS. Nguyễn Hữu Hoàng Thọ đã hướng dẫn tận
tình, giúp em có những điều chỉnh kịp thời và phù hợp trong quá trình làm luận văn tốt
nghiệp.
Tiếp theo em xin cảm ơn các anh chị trong công ty FPT Software Đà Nẵng đã

uế

tạo điều kiện tốt nhất để em có thể thực tập tại công ty, giúp em hiểu biết thêm được

H

nhiều kiến thức chuyên ngành cũng như các kỹ năng cần thiết cho công việc sau này
của mình.

tế

Mặc dù đã cố gắng nhưng do trình độ và kinh nghiệm thực tế còn hạn chế nên



Ki
nh

trong quá trình thực hiện đề tài không tránh khỏi những thiếu sót. Em rất mong nhận
được những nhận xét, đóng góp từ thầy cô và các bạn để đề tài thực tập cuối khóa này
được hoàn thiện hơn.

Đ

ại

họ

c

Em xin chân thành cảm ơn!


LỜI CAM ĐOAN
Em xin cam đoan:
1. Những kiến thức trong bài báo cáo này là do em thực hiện dưới sự
hướng dẫn trực tiếp của ThS. Nguyễn Hữu Hoàng Thọ và các anh chị ở công ty
FPT Software Đà Nẵng.
2. Mọi tham khảo dùng trong bài báo cáo đều được trích dẫn rõ ràng tên
tác giả, tên công trình, thời gian và đị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á, em

uế

xin chịu hoàn toàn trách nhiệm.

Đ

ại

họ

c

Ki
nh

tế

H

Huế, tháng 5 năm 2017
Sinh viên

Trình Nguyễn Cẩm Tú


NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................

uế

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

H

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

tế

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

Ki
nh

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

c

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

họ

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

ại

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

Đ

......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
Huế, ngày …… tháng …… năm 2017
Giáo viên hướng dẫn


NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................

uế

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

H

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

tế

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

Ki
nh

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

c

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

họ

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

ại

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

Đ

..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
Huế, ngày …… tháng …… năm 2017
Giáo viên phản biện


MỤC LỤC
MỞ ĐẦU .................................................................................................................... 1
1. Lý do chọn đề tài .............................................................................................. 1
2. Mục tiêu của đề tài ........................................................................................... 1
3. Đối tượng và phạm vi nghiên cứu ................................................................... 2
3.1

Đối tượng nghiên cứu ................................................................................ 2

3.2

Phạm vi nghiên cứu ................................................................................... 2

4. Phương pháp nghiên cứu ................................................................................. 2
5. Nội dung khóa luận .......................................................................................... 2

Giới thiệu về ngôn ngữ lập trình Java ......................................................... 4

H

1.1

uế

CHƯƠNG 1: CƠ SỞ LÝ LUẬN ............................................................................... 4

1.9.1 Java là gì? .................................................................................................. 4

tế

1.9.2 Lịch sử phát triển của ngôn ngữ lập trình Java ....................................... 4

Ki
nh

1.9.3 Một số đặc điểm nổi bật của ngôn ngữ lập trình Java ............................. 4
Mô hình MVC ............................................................................................... 6

1.3

Struts framework .......................................................................................... 7

1.4

HTML ........................................................................................................... 9

1.5

JQUERY ....................................................................................................... 9

họ

c

1.2

ại

1.9.1 Giới thiệu ................................................................................................... 9
1.9.2 Cú pháp.................................................................................................... 10
AJAX ........................................................................................................... 10

Đ

1.6

1.9.1 Giới thiệu ................................................................................................. 10
1.9.2 Cú pháp.................................................................................................... 11
1.7

JSP và Servlet ............................................................................................. 12

1.9.1 Servlet ...................................................................................................... 12
1.9.2 JSP ........................................................................................................... 12
1.8

Môi trường phát triển tích hợp Eclipse ..................................................... 13

1.9

Giới thiệu hệ quản trị cơ sở dữ liệu SQL Server ....................................... 13

1.9.1 SQL là ngôn ngữ cơ sở dữ liệu quan hệ .................................................. 14
1.9.2 Hệ quản trị cơ sở dữ liệu SQL Server .................................................... 14

i


CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ WEBSITE TRUNG TÂM GIA SƯ ........ 15
2.1

Mô tả website Trung tâm gia sư................................................................. 15

2.1.1 Tác nhân .................................................................................................. 15
2.1.2 Mô hình Use Case của hệ thống .............................................................. 16
2.2

Thiết kế các bảng dữ liệu vật lý.................................................................. 20

2.2.1 Mô hình thực thể mối quan hệ ERD ....................................................... 20
2.2.2 Chuẩn hóa cơ sở dữ liệu .......................................................................... 20
2.2.3 Sơ đồ dữ liệu quan hệ .............................................................................. 24
Sơ đồ lớp (Class Diagram).......................................................................... 25

2.4

Sơ đồ tuần tự (Sequence Diagram) ............................................................ 29

uế

2.3

CHƯƠNG 3: XÂY DỰNG WEBSITE TRUNG TÂM GIA SƯ ............................ 38
Môi trường xây dựng .................................................................................. 38

3.2

Kết quả ........................................................................................................ 38

tế

H

3.1

Ki
nh

KẾT LUẬN .............................................................................................................. 49
1. Các kết quả đạt được ..................................................................................... 49
2. Hạn chế ........................................................................................................... 49

c

3. Hướng phát triển ........................................................................................... 49

Đ

ại

họ

TÀI LIỆU THAM KHẢO ....................................................................................... 50

ii


DANH MỤC CÁC HÌNH VẼ, SƠ ĐỒ, BIỂU ĐỒ
Hình 1: Cơ chế hoạt động của Struts ............................................................................ 8
Hình 2: Mô hình Use Case của hệ thống .................................................................... 16
Hình 3: Mô hình Use Case - Chức năng xem trang chủ .............................................. 17
Hình 4: Mô hình Use Case - Chức năng thống kê ...................................................... 17
Hình 5: Mô hình Use Case - Chức năng đăng ký dạy ................................................. 18
Hình 6: Mô hình Use Case - Chức năng xem thông tin .............................................. 18
Hình 7: Mô hình Use Case - Chức năng đăng ký học ................................................. 19
Hình 8: Mô hình Use Case - Chức năng quản lý tài khoản ......................................... 19

uế

Hình 9: Mô hình Use Case - Chức năng quản lý đơn đăng ký dạy, đơn đăng ký học .. 19

H

Hình 10: Mô hình ERD .............................................................................................. 20
Hình 11: Sơ đồ dữ liệu quan hệ .................................................................................. 24

tế

Hình 12: Sơ đồ lớp quản lý tài khoản ......................................................................... 25

Ki
nh

Hình 13: Sơ đồ lớp quản lý đăng ký dạy .................................................................... 26
Hình 14: Sơ đồ lớp quản lý đăng ký học .................................................................... 27
Hình 15: Sơ đồ lớp quản lý dạy học ........................................................................... 28

c

Hình 16: Sơ đồ tuần tự chức năng đăng nhập ............................................................. 29

họ

Hình 17: Sơ đồ tuần tự chức năng đăng xuất .............................................................. 29
Hình 18: Sơ đồ tuần tự chức năng đăng ký học viên .................................................. 30

ại

Hình 19: Sơ đồ tuần tự chức năng đăng ký học .......................................................... 30

Đ

Hình 20: Sơ đồ tuần tự chức năng đăng ký dạy .......................................................... 31
Hình 21: Sơ đồ tuần tự chức năng xem danh sách đơn đăng ký học ........................... 31
Hình 22: Sơ đồ tuần tự chức năng chọn xuất học ....................................................... 32
Hình 23: Sơ đồ tuần tự chức năng tìm gia sư theo môn .............................................. 33
Hình 24: Sơ đồ tuần tự chức năng chọn xuất dạy ....................................................... 33
Hình 25: Sơ đồ tuần tự chức năng xem thông tin chi tiết xuất dạy.............................. 34
Hình 26: Sơ đồ tuần tự chức năng cập nhật thông tin cá nhân học viên ...................... 34
Hình 27: Sơ đồ tuần tự chức năng cập nhật thông tin cá nhân gia sư .......................... 35
Hình 28: Sơ đồ tuần tự chức năng xem danh sách gia sư ............................................ 35
Hình 29: Sơ đồ tuần tự chức năng xóa đơn đăng ký học ............................................. 36

iii


Hình 30: Sơ đồ tuần tự chức năng xóa đơn đăng ký dạy ............................................. 37
Hình 31: Màn hình trang chủ ..................................................................................... 39
Hình 32: Màn hình đăng nhập .................................................................................... 40
Hình 33: Màn hình đăng ký học viên ......................................................................... 40
Hình 34: Màn hình đăng ký học kèm ......................................................................... 41
Hình 35: Màn hình đăng ký dạy kèm ......................................................................... 41
Hình 36: Màn hình thông tin cá nhân giáo viên .......................................................... 42
Hình 37: Màn hình danh sách gia sư .......................................................................... 43
Hình 38: Màn hình danh sách đơn đăng ký học .......................................................... 44

uế

Hình 39: Màn hình danh sách đơn đăng ký dạy theo môn .......................................... 45
Hình 40: Màn hình quản lý đơn đăng ký học ............................................................. 46

H

Hình 41: Màn hình quản lý đơn đăng ký dạy ............................................................. 47

Đ

ại

họ

c

Ki
nh

tế

Hình 42: Màn hình admin .......................................................................................... 48

iv


DANH MỤC CÁC BẢNG

Đ

ại

họ

c

Ki
nh

tế

H

uế

Bảng 1: Bảng TaiKhoan (Tài khoản) ......................................................................... 20
Bảng 2: Bảng PhuHuynh (Phụ huynh) ....................................................................... 20
Bảng 3: Bảng HocVien (Học viên) ............................................................................ 21
Bảng 4: Bảng GiaoVien (Giáo viên) .......................................................................... 21
Bảng 5: Bảng DonDKHoc (Đơn đăng ký học) ........................................................... 22
Bảng 6: Bảng ThoiKhoaBieu (Thời khóa biểu) .......................................................... 22
Bảng 7: Bảng DangKyHoc (Đăng ký học) ................................................................. 22
Bảng 8: Bảng DonDKDay (Đơn đăng ký dạy) ........................................................... 23
Bảng 9: Bảng ThoiGianDay (Thời gian dạy) .............................................................. 23
Bảng 10: Bảng DayHoc (Dạy học) ............................................................................. 23
Bảng 11: Bảng MonHoc (Môn học) ........................................................................... 23
Bảng 12: Bảng DangKyDay (Đăng ký dạy) ............................................................... 24

v


Xây dựng website Trung tâm gia sư

MỞ ĐẦU
1.

Lý do chọn đề tài
Hiện nay, trong sự phát triển của xã hội, giáo dục là vấn đề được quan tâm và

đặt lên hàng đầu. Các bậc phụ huynh cũng như mỗi gia đình luôn muốn tạo điều kiện
học tập tốt nhất cho con em mình. Chính vì vậy bên cạnh việc cho con tham gia vào
các lớp học văn hóa tại trung tâm thì việc tìm gia sư học tập là điều cần thiết.
Bên cạnh đó, nhiều sinh viên từ năm nhất đã bắt đầu đi làm thêm để có thu nhập
trang trải chi phí học tập và sinh hoạt. Phần lớn sinh viên lựa chọn công việc bán thời
gian để có thể vừa đi làm vừa đi học. Trong số các công việc bán thời gian đó thì dạy

uế

kèm tại nhà cho học sinh là một trong những lựa chọn hàng đầu của sinh viên. Bởi lẽ

H

gia sư là công việc ít vất vả hơn các công việc bán thời gian khác như phục vụ, bán
hàng,…

tế

Trước thực tế đó, hàng loạt các trung tâm gia sư ra đời và phát triển nhanh

Ki
nh

chóng, với đủ quy mô, đủ loại chất lượng tràn ngập trên thị trường. Cùng với sự phát
triển mạnh mẽ của công nghệ thông tin như hiện nay, vấn đề tìm kiếm dịch vụ gia sư
và dạy kèm đều được thực hiện thông qua mạng Internet và công cụ website.

c

Chính vì những lí do trên, tôi chọn “Xây dựng website Trung tâm gia sư”

2.

họ

làm hướng nghiên cứu cho đề tài.
Mục tiêu của đề tài

ại

Xây dựng được một website Trung tâm gia sư với các mục tiêu sau:

Đ

- Đầy đủ tính năng cơ bản, phù hợp với nhu cầu sử dụng của người quản lý cũng
như tiện dụng cho việc đăng kí học.
- Giao diện trực quan, tiện dụng.
- Có khả năng bảo mật, phân quyền truy cập, mỗi loại người dùng chỉ có thể truy
cập những chức năng riêng.
- Các chức năng đúng với mục đích và nhu cầu sử dụng của người dùng cũng
như thuận lợi trong việc quản lý của admin.
Thông qua đó:
- Hiểu được cách thức triển khai một dự án theo quy trình chung nhất.

Sinh viên thực hiện: Trình Nguyễn Cẩm Tú

1


Xây dựng website Trung tâm gia sư

- Nghiên cứu các công cụ, nền tảng lập trình được sử dụng: Microsoft SQL
Server, Java, HTML/CSS, Javascript, Struts 1.x Framework, mô hình MVC…
3.

Đối tượng và phạm vi nghiên cứu

3.1

Đối tượng nghiên cứu
- Các nghiệp vụ, cách thức hoạt động của các trung tâm gia sư.
- Cách xây dựng website.
- Lập trình Java với mô hình MVC sử dụng Struts 1.x Framework.

3.2

Phạm vi nghiên cứu
- Không gian: Các trung tâm gia sư tại Đà Nẵng.

4.

uế

- Thời gian: Từ ngày 03/01/2017 đến hết ngày 29/04/2017
Phương pháp nghiên cứu

H

- Phương pháp nghiên cứu tài liệu: chủ động tìm kiếm, nghiên cứu các tài liệu

tế

liên quan đến đề tài, các website tương tự để đánh giá ưu nhược điểm, học hỏi cách

Ki
nh

thức hoạt động của website. Từ đó xây dựng một website Trung tâm gia sư phù hợp
với mục đích đặt ra.

- Phương pháp điều tra trực tiếp: hỏi đáp các đối tượng có liên quan đến đề tài

c

nhằm thu thập các tài liệu bổ sung, tìm hiểu về các đối tượng nghiên cứu.

họ

- Phương pháp chuyên gia: khai thác ý kiến đánh giá của các anh/chị hướng dẫn
để xem xét, nhận định một vấn đề để tìm ra giải pháp tối ưu cho vấn đề đó.

ại

- Phương pháp phân tích, thiết kế hệ thống: tiến hành tổng hợp, phân loại thông

Đ

tin. Dựa trên những thông tin thu thập được, kiến thức và nển tảng công nghệ có sẵn,
tiến hành xây dựng website Trung tâm gia sư.
- Phương pháp lập trình hướng đối tượng: sau khi tiến hành phân tích, thiết kế
website sẽ lựa chọn ngôn ngữ lập trình Java, HTML/CSS, Javascript với hệ quản trị cơ
sở dữ liệu Microsoft SQL Server.
5.

Nội dung khóa luận
Ngoài phần mở đầu và kết thúc, khóa luận này gồm 3 chương:
Chương 1: Cơ sở lý luận

Sinh viên thực hiện: Trình Nguyễn Cẩm Tú

2


Xây dựng website Trung tâm gia sư

Phần này sẽ trình bày sơ lược các kiến thức cơ bản mà đề tài sử dụng để thiết kế
website trung tâm gia sư như: Java, mô hình MVC, Struts Framework, HTML, Jquery,
Ajax, Servlet, SQL Server cũng như môi trường sử dụng Eclipse.
Chương 2: Phân tích thiết kế website Trung tâm gia sư
Phần này sẽ trình bày chi tiết quá trình phân tích thiết kế hệ thống từ bước tìm
hiểu, phân tích yêu cầu người dùng, tạo tài liệu cho quá trình xây dựng như:
Requirement outline, SRS, vẽ Usecase, sơ đồ lớp (Class Diagram), sơ đồ tuần tự
(Sequence Diagram), và tiến hành thiết kế cơ sở dữ liệu cho ứng dụng.
Chương 3: Xây dựng website Trung tâm gia sư

Đ

ại

họ

c

Ki
nh

tế

H

uế

Trình bày kết quả đạt được sau quá trình xây dựng website Trung tâm gia sư.

Sinh viên thực hiện: Trình Nguyễn Cẩm Tú

3


Xây dựng website Trung tâm gia sư

CHƯƠNG 1: CƠ SỞ LÝ LUẬN
1.1

Giới thiệu về ngôn ngữ lập trình Java

1.9.1 Java là gì?
Java là ngôn ngữ lập trình hướng đối tượng (tựa C++) do Sun Microsystem đưa
ra vào giữa thập niên 90.
Chương trình viết bằng ngôn ngữ lập trình java có thể chạy trên bất kì hệ thống
nào có cài máy ảo java (Java Virtual Machine).
1.9.2 Lịch sử phát triển của ngôn ngữ lập trình Java
Ngôn ngữ lập trình Java do James Gosling và các cộng sự của Công ty Sun

uế

Microsystem phát triển.

H

Đầu thập niên 90, Sun Microsystem tập hợp các nhà nghiên cứu thành lập nên
nhóm đặt tên là Green Team. Nhóm Green Team có trách nhiệm xây dựng công nghệ

tế

mới cho ngành điện tử tiêu dùng. Để giải quyết vấn đề này nhóm nghiên cứu phát triển

Ki
nh

đã xây dựng một ngôn ngữ lập trình mới đặt tên là Oak tương tự như C++ nhưng loại
bỏ một số tính năng nguy hiểm của C++ và có khả năng chạy trên nhiều nền phần
cứng khác nhau. Cùng lúc đó word wide web bắt đầu phát triển và Sun đã thấy được

c

tiềm năng của ngôn ngữ Oak nên đã đầu tư cải tiến và phát triển. Sau đó không lâu

họ

ngôn ngữ mới với tên gọi là Java ra đời và được giới thiệu năm 1995.
Java là tên gọi của một hòn đảo ở Indonexia. Đây là nơi nhóm nghiên cứu phát

ại

triển đã chọn để đặt tên cho ngôn ngữ lập trình Java trong một chuyến đi tham quan và

Đ

làm việc trên hòn đảo này. Hòn đảo Java này là nơi rất nổi tiếng với nhiều khu vườn
trồng cafe, đó là lý do chúng ta thường thấy biểu tượng ly café trong nhiều sản phẩm
phần mềm, công cụ lập trình Java của Sun cũng như một số hãng phần mềm khác đưa
ra.
1.9.3 Một số đặc điểm nổi bật của ngôn ngữ lập trình Java
Máy ảo Java (JVM - Java Virtual Machine): Tất cả các chương trình muốn
thực thi được thì phải được biên dịch ra mã máy. Mã máy của từng kiến trúc CPU của
mỗi máy tính là khác nhau (tập lệnh mã máy của CPU Intel, CPU Solarix, CPU
Macintosh… là khác nhau), vì vậy trước đây một chương trình sau khi được biên dịch
xong chỉ có thể chạy được trên một kiến trúc CPU cụ thể nào đó. Đối với CPU Intel

Sinh viên thực hiện: Trình Nguyễn Cẩm Tú

4


Xây dựng website Trung tâm gia sư

chúng ta có thể chạy các hệ điều hành như Microsoft Windows, Unix, Linux, OS/2,…
Chương trình thực thi được trên Windows được biên dịch dưới dạng file có đuôi .EXE
còn trên Linux thì được biên dịch dưới dạng file có đuôi .ELF, vì vậy trước đây một
chương trình chạy được trên Windows muốn chạy được trên hệ điều hành khác như
Linux chẳng hạn thì phải chỉnh sửa và biên dịch lại. Ngôn ngữ lập trình Java ra đời,
nhờ vào máy ảo Java mà khó khăn nêu trên đã được khắc phục. Một chương trình viết
bằng ngôn ngữ lập trình Java sẽ được biên dịch ra mã của máy ảo java (mã java
bytecode). Sau đó máy ảo Java chịu trách nhiệm chuyển mã java bytecode thành mã
máy tương ứng. Sun Microsystem chịu trách nhiệm phát triển các máy ảo Java chạy

uế

trên các hệ điều hành trên các kiến trúc CPU khác nhau.
Thông dịch: Java là một ngôn ngữ lập trình vừa biên dịch vừa thông dịch.

H

Chương trình nguồn viết bằng ngôn ngữ lập trình Java có đuôi *.java đầu tiên được

tế

biên dịch thành tập tin có đuôi *.class và sau đó sẽ được trình thông dịch thông dịch

Ki
nh

thành mã máy.

Độc lập nền: Một chương trình viết bằng ngôn ngữ Java có thể chạy trên nhiều
máy tính có hệ điều hành khác nhau (Windows, Unix, Linux,…) miễn sao ở đó có cài

họ

anywhere).

c

đặt máy ảo java (Java Virtual Machine). Viết một lần chạy mọi nơi (write once run
Hướng đối tượng: Hướng đối tượng trong Java tương tự như C++ nhưng Java

ại

là một ngôn ngữ lập trình hướng đối tượng hoàn toàn. Tất cả mọi thứ đề cập đến trong

Đ

Java đều liên quan đến các đối tượng được định nghĩa trước, thậm chí hàm chính của
một chương trình viết bằng Java cũng phải đặt bên trong một lớp. Hướng đối tượng
trong Java không có tính đa kế thừa như trong C++ mà thay vào đó Java đưa ra khái
niệm interface để hỗ trợ tính đa kế thừa.
Đa nhiệm - đa luồng (MultiTasking - Multithreading): Java hỗ trợ lập trình
đa nhiệm, đa luồng cho phép nhiều tiến trình, tiểu trình có thể chạy song song cùng
một thời điểm và tương tác với nhau.
Khả chuyển (portable): Chương trình ứng dụng viết bằng ngôn ngữ Java chỉ
cần chạy được trên máy ảo Java là có thể chạy được trên bất kỳ máy tính, hệ điều hành
nào có máy ảo Java. “Viết một lần, chạy mọi nơi” (Write Once, Run Anywhere).

Sinh viên thực hiện: Trình Nguyễn Cẩm Tú

5


Xây dựng website Trung tâm gia sư

Hỗ trợ mạnh cho việc phát triển ứng dụng: Công nghệ Java phát triển mạnh
mẽ nhờ vào “đại gia Sun Microsystem” cung cấp nhiều công cụ, thư viện lập trình
phong phú hỗ trợ cho việc phát triển nhiều loại hình ứng dụng khác nhau cụ thể như:
J2SE (Java 2 Standard Edition) hỗ trợ phát triển những ứng dụng đơn, ứng dụng
client-server; J2EE (Java 2 Enterprise Edition) hỗ trợ phát triển các ứng dụng thương
mại, J2ME (Java 2 Micro Edition) hỗ trợ phát triển các ứng dụng trên các thiết bị di
động, không dây,…
1.2

Mô hình MVC
MVC là mô hình thiết kế mang tính tổng thể để giải quyết vấn đề có tính nghiệp

uế

vụ cao, thường áp dụng cho những dự án lớn và có tính thương mại cao. Mô hình
MVC được tạo ra bởi Krasner và Pope năm 1988 cho Smalltalk, hiện tại được IBM và

H

Apache ứng dụng trong các dự án của họ rất thành công. Đây là một giải pháp cho

tế

phép xây dựng các ứng dụng phân tầng một cách rất hiệu quả, bằng cách tạo ra những

Ki
nh

phương thức quản lý từng tầng một cách riêng rẽ. Trong J2EE, thì MVC cũng được
xây dựng dựa trên những tính năng mạnh của công nghệ JSP và Servlet.
MVC có 3 thành phần chính:

c

Model : Trong mô hình kiến trúc MVC, đây là thành phần quan trọng nhất

họ

trong ứng dụng. Thành phần Model cung cấp một giao diện cho dữ liệu và các dịch vụ
được sử dụng trong ứng dụng. Theo cách này, thành phần Controller sẽ không cần

ại

phải nhúng mã lệnh để thao tác trực tiếp với các dữ liệu trong ứng dụng. Thay vào đó,

Đ

chúng sẽ trao đổi với thành phần Model để thực hiện thao tác và truy xuất dữ liệu.
Thành phần Model có rất nhiều dạng khác nhau, nó có thể đơn giản là các JavaBean
hoặc phức tạp hơn là Enterprise JavaBean hoặc Web Service.
View: Thành phần View trong mô hình MVC dùng để hiển thị dữ liệu ở phía
người dùng của ứng dụng. Đó có thể là các dạng dữ liệu hiển thị cho việc nhập liệu
đầu vào của người dùng cung cấp cho thành phần Controller hoặc cũng có thể là dữ
liệu trả về từ Controller sau quá trình xử lý để hiển thị kết quả. Thông thường, thành
phần View này có thể là các trang HTML, JSP hoặc một số dạng templete như
Velocity hoặc FreeMarker …

Sinh viên thực hiện: Trình Nguyễn Cẩm Tú

6


Xây dựng website Trung tâm gia sư

Controller: Đây là thành phần điều khiển các luồng dữ liệu giữa các thành
phần View và Model, phụ thuộc vào tác động của người sử dụng và chỉ ra các hành
động và chuyển hướng hành động theo các yêu cầu của người dùng.
1.3

Struts framework
Struts nguồn gốc được tạo ra bởi Craig R.McClanahan và sau đó được chuyển

giao cho dự án Jakarta của Apache Software Foundation (AFS) vào năm 2000. Vào
tháng 6 năm 2001, Struts đã phát hành phiên bản 1.0. Sau đó, có rất nhiều người đã
tham gia đóng góp cả về mã nguồn và tài liệu cho dự án và Struts ngày càng trở nên
hoàn thiện hơn.

uế

Struts là một framework mã nguồn mở được phát triển trên nền tảng của ngôn
ngữ Java, JSP nhằm mục đích tạo ra một thành phần chuẩn trong việc thiết kế ở tầng

H

Web sử dụng MVC dựa trên nền tảng của J2EE. Với Struts, người lập trình sẽ không

tế

phải quan tâm đến việc xây dựng mô hình MVC như thế nào mà chỉ cần cấu hình và

Ki
nh

chạy tầng hiển thị của dự án, điều này cho phép giảm thiểu chi phí đào tạo, thời gian
phát triển dự án nhanh hơn và cho phép hệ thống chạy ổn định trên các nền và hoặc
module tích hợp khác nhau. Với Struts ta có thể tách làm 3 tầng làm việc riêng biệt

c

một cách dễ dàng, thích hợp cho một dự án lớn, không bị nhập nhằng giữa việc tạo

họ

giao diện, xử lý và truy xuất cơ sở dữ liệu.
Struts hiện có hai phiên bản chính, đó là Struts 1.xx và 2.0x. Struts 1.xx được

ại

công nhận như một framework phổ biến nhất trong Java, Struts 1.xx đủ chín muồi và

Đ

là một giải pháp tốt cho nhóm phát triển để giải quyết các vấn đề chung nhất. Struts
2.0x, kế thừa nền tảng của webwork framework, được tổ chức như một nền làm việc
chuyên nghiệp với web, nhằm giải quyết các vấn đề phức tạp, mang tính nghiệp vụ
cao.
Cơ chế hoạt động của Struts Framework:

Sinh viên thực hiện: Trình Nguyễn Cẩm Tú

7


uế

Xây dựng website Trung tâm gia sư

H

Hình 1: Cơ chế hoạt động của Struts

Khi user gửi yêu cầu truy xuất ứng dụng web, request được chuyển đến



ActionServlet, đây là Servlet được tạo sẵn trong Framework để làm chức năng

tế





Ki
nh

như Controller.

Action Server trích xuất thành phần request nhận được để so sánh với nội dung
được mapping trong tập tin cấu hình struts-config.xml để tìm ra các thành phần



họ

c

tương ứng cấn xử lý.

Nếu không tìm thấy sẽ báo lỗi 404 hay lỗi tương ứng. Ngược lại, nếu tìm thấy

ại

sẽ xác định action và View tương ứng của phần xử lý. View ở đây bao gồm


Đ

form đón giá trị nhập và kết xuất để trả về người dùng.
Giá trị tương ứng của form nhập được lưu trữ vào Form Bean, thực tế là một
Java Object có chứa các thuộc tính – state và các phương thức truy cập get, set.
Tại đây, nếu có áp dụng validation thì dữ liệu được checking, checking thành
công thì mới được lưu trữ vào form bean và kích hoạt chuyển dữ liệu của
FormBean đến Action tương ứng để xử lý.


Action khi đón nhận FormBean sẽ gọi thành phần xử lý tương ứng tư Java Bean
hay Java Object tương ứng hay kết nối lấy dữ liệu từ DB về nếu có để xử lý.

Sinh viên thực hiện: Trình Nguyễn Cẩm Tú

8


Xây dựng website Trung tâm gia sư



Sau khi xử lý hoàn tất, Action sẽ phải trả kết quả trở về Action Servlet đồng
thời mapping trong struts-config.xml để xác định view kết xuất cho người dùng
dựa trên kết quả xử lý trên struts-config.



Khi xác định xong, dữ liệu từ kết quả xử lý Action và Form Bean sẽ được đổ
vào trang JSP kết xuất tương ứng và kết quả thành công chuyển về Action
Servlet.



1.4

Action Servlet response kết quả về client – hoàn tất quá trình xử lý.
HTML
HTML là chữ viết tắt của HyperText Markup Language, có nghĩa là ngôn ngữ

uế

đánh dấu siêu văn bản. Nó dùng để định dạng bố cục, các thuộc tính liên quan đến
cách hiển thị của một đoạn text và được hiển thị trên một chương trình đặc biệt ta gọi

H

là Browser. Hiện nay có khá nhiều Browser như Firefox, Chrome, Cốc Cốc,... Tất cả

tế

Browser đều có điểm chung là giúp người dùng thao tác với website và nó đều có khả

Ki
nh

năng biên dịch những đoạn mã HTML, CSS và Javascript.
Bố cục HTML của một trang web:


họ



c



Page Title

ại



Đ



My First Heading


My first paragraph.





1.5

JQUERY

1.9.1 Giới thiệu
Hướng tới các thành phần trong tài liệu HTML. Nếu không sử dụng thư viện
JavaScript này, bạn phải viết rất nhiều dòng code mới có thể đạt được mục tiêu là di
chuyển trong cấu trúc cây (hay còn gọi là DOM - Document Object Model) của một tài

Sinh viên thực hiện: Trình Nguyễn Cẩm Tú

9


Xây dựng website Trung tâm gia sư

liệu HTML và chọn ra các thành phần liên quan. Jquery cho phép bạn chọn bất cứ
thành phần nào của tài liệu để “vọc” một cách dễ dàng như sử dụng CSS.
Thay đổi giao diện của một trang web. CSS là công cụ rất mạnh để định dạng
một trang web nhưng nó có một nhược điểm là không phải tất cả các trình duyệt đều
hiển thị giống nhau. Cho nên jQuery ra đời để lấp chỗ trống này, vì vậy các bạn có thể
sử dụng nó để giúp trang web có thể hiển thị tốt trên hầu hết các trình duyệt. Hơn nữa
jQuery cũng có thể thay đổi class hoặc những định dạng CSS đã được áp dụng lên bất
cứ thành phần nào của tài liệu HTML ngay cả khi trang web đó đã được trình duyệt
load thành công.

uế

Tương tác với người dùng. Cho dù công cụ bạn dùng có mạnh mẽ đến mấy,
nhưng nếu bạn không có quyền quyết định khi nào nó được sử dụng thì công cụ đó

H

cũng coi như bỏ. Với thư viện JavaScript như JQuery, nó cho bạn nhiều cách để tương

tế

tác với người dùng ví dụ như khi người dùng nhấp chuột vào đường link thì sẽ có gì
là nhờ các Event Handlers.
1.9.2 Cú pháp

họ

Trong đó:

c

$(selector).action()

Ki
nh

xảy ra. Nhưng cái hay của nó là không làm cho code HTML của bạn rối tung lên chính

 Dấu $ để định nghĩa jQuery.

ại

 Phần (selector) là phần tìm các thẻ HTML thông qua tên, thuộc tính, lớp.

1.6

Đ

 Phần action() là hành vi cần thực hiện cho thẻ HTML sau khi tìm được.

AJAX

1.9.1 Giới thiệu
AJAX viết tắt là Asynchronous JavaScript and XML (JavaScript và XML
không đồng bộ có nghĩa là nó có thể làm tất cả điều này mà không cần phải làm mới
trang).
Là công cụ cho phép tăng tốc độ ứng dụng web bằng cách cắt nhỏ dữ liệu và chỉ
hiển thị những gì cần thiết, thay vì tải đi tải lại toàn bộ trang web.

Sinh viên thực hiện: Trình Nguyễn Cẩm Tú

10


Xây dựng website Trung tâm gia sư

Hay theo Jesse James Garrett-người đưa ra ý tưởng về công nghệ Ajax là Ajax
không phải là một công nghệ, mà nó là là tập hợp của nhiều công nghệ với thế mạnh
của riêng mình để tạo thành một sức mạnh mới:


HTML hoặc XHTML với CSS trong việc hiển thị thông tin.



Mô hình DOM (Document Object Model) được thực hiện thông qua JavaScript
Model) được thực hiện thông qua JavaScript, nhằm hiển thị thông tin động và
tương tác với những thông tin được hiển thị.



Đối tượng XMLHttpRequest để trao đổi dữ liệu một cách không đồng bộ với
máy chủ web.
XML thường là định dạng cho dữ liệu truyền, mặc dù bất cứ định dạng nào

uế



cũng có thể dùng, bao gồm HTML định dạng trước, văn bản thuần (plain text),

H

JSON và ngay cả EBML.

tế

Và tất cả các kỹ thuật trên được liên kết lại với nhau bằng JavaScript.

Ki
nh

Trong các thành phần cấu thành trên, điểm mấu chốt Ajax nằm ở
XMLHttpRequest. Đây là một kỹ thuật do Microsoft khởi xướng và tích hợp lần đầu
tiên vào IE5 dưới dạng một ActiveX. Mozilla tích hợp công nghệ này vào Mozilla

c

1.0/Netscape 6 sau đó (đương nhiên toàn bộ các version sau này của Firefox đều có

họ

XMLHttpRequest) và hiện nay đã có trong trình duyệt Safari 1.2 (Apple) và Opera 7
trở lên.

ại

1.9.2 Cú pháp

Đ

$.ajax({

type: ‘POST’,
url: ‘vidu.do’,
data: {
test: “1”

},
dataType: ‘html’,
success: function(data) {
//code here
},

Sinh viên thực hiện: Trình Nguyễn Cẩm Tú

11


Xây dựng website Trung tâm gia sư

error: function() {
//code here
}
});
Trong đó:
 type là kiểu dữ liệu, có thể là POST hoặc GET.
 url là đường dẫn xử lý dữ liệu.
 data là tập hợp các biến dữ liệu gửi lên server.
 dataType là kiểu dữ liệu, có thể là html, text, json, xml.

1.7

H

 error là hàm chạy khi có lỗi xảy ra.

uế

 success là hàm chạy khi nhận dữ liệu thành công.

JSP và Servlet

tế

1.9.1 Servlet

Ki
nh

Servlet là các thành phần máy chủ nhúng trên trình chủ Web server thực hiện
lệnh xử lý yêu cầu và phát sinh ra các trang Web động trả về máy khách. Để sử dụng
được Servlet cần có các trình chỉ Java và hỗ trợ triệu gọi Servlet như Apache, Jrun,

c

Web Logic… Mặc dù vậy biên dịch và tạo Servlet chúng ta chỉ cần đến trình biên dịch

họ

JDK mà không cần đến các trình chủ.
Servlet là trung tâm của công nghệ Web trong Java. Servlet thay thế cho các

Đ

ại

ứng dụng CGI truyền thống.
1.9.2 JSP

JSP (Java Servlet Pages) còn được biết đến với một cái tên khác là Java
Scripting Preprocessor - tạm dịch là "Bộ tiền xử lý văn lệnh Java" - là một công nghệ
Java cho phép các nhà phát triển tạo nội dung HTML, XML hay một số định dạng
khác của trang web một cách năng động, trong khi hồi âm yêu cầu của trình khách.
Công nghệ này cho phép người ta nhúng mã Java và một số hành động xử lý đã được
định trước (pre-defined actions) vào trong nội dung tĩnh của trang.
JSP là cách đơn giản hóa hơn cho Servlet. Nếu như đối với Servlet phải viết mã
Java và biên dịch bằng tay trước khi sử dụng với trình chủ Web server thì JSP không

Sinh viên thực hiện: Trình Nguyễn Cẩm Tú

12


Xây dựng website Trung tâm gia sư

cần điều này. JSP viết mã Java tương tự Servet nhưng cho phép trộn lẫn Java với các
thẻ HTML để tạo ra Servlet xử lý các yêu cầu mà trình khác gửi đến trang.
JSP đơn giản và dễ sử dụng hơn Servlet mặc dù sau khi biên dịch và thực thi
chúng chỉ là một.
Môi trường phát triển tích hợp Eclipse

1.8

Eclipse là "công cụ hỗ trợ lập trình mã nguồn mở" được phát triển bởi IBM.
Eclipse như một môi trường phát triển Java tích hợp (IDE), với Eclipse chúng ta
có thể mở rộng hơn mã nguồn bằng cách chèn thêm các plugins cho project (PDEPlug-in Development Environment). Mặc dù Eclipse được viết bằng ngôn ngữ lập

uế

trình Java, nhưng việc sử dụng nó không hạn chế chỉ cho ngôn ngữ Java. Eclipse còn
hỗ trợ cho lập trình viên code theo các mô hình phát triển như MVC, tạo thêm các lib

H

hỗ trợ phát triển phần mềm.

tế

Ví dụ: Eclipse hỗ trợ sẵn hoặc có thể cài thêm các plugins để hỗ trợ cho các

Ki
nh

ngôn ngữ lập trình như C/C++ và COBOL. Ngoài ra, còn rất nhiều ngôn ngữ khác như
PHP, Groovy.
Ưu điểm:

Tích hợp liền mạch các công cụ bên trong.



Hỗ trợ các công cụ như : HTML, C, Java, XML, JSP, GIF, EJB.



Hỗ trợ môi trường phát triển GUI.



Có thể chạy trên nhiều hệ điều hành : Windows, Linux.



Hỗ trợ xây dựng nhiều công cụ lập trình.



Không hạn chế các nhà cung cấp công cụ.



Load nhanh hơn nhờ việc sử dụng SWT/JFace.



Viết được nhiều các công cụ nhờ tính phổ biến Java.

Đ

ại

họ

c



Nhược điểm:


Cài đặt phức tạp.



Tốn bộ nhớ máy để cài đặt nên hiện nay eclipse đã khắc phục bằng phiên bản
Eclipse Luna, không cần cái đặt.



1.9

Có nhiều plugins quá nên thiếu tính nhất quán.
Giới thiệu hệ quản trị cơ sở dữ liệu SQL Server

Sinh viên thực hiện: Trình Nguyễn Cẩm Tú

13


Xây dựng website Trung tâm gia sư

1.9.1 SQL là ngôn ngữ cơ sở dữ liệu quan hệ
SQL (Structured Query Language) – ngôn ngữ hỏi có cấu trúc, là công cụ sử
dụng để tổ chức, quản lý và truy xuất dữ liệu được lưu trữ trong các cơ sở dữ liệu.
SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử dụng để tương tác với cơ
sở dữ liệu quan hệ.
SQL được sử dụng để điều khiển tất cả các chức năng mà một hệ quản trị cơ sở
dữ liệu cung cấp cho người dùng bao gồm:
Định nghĩa dữ liệu: SQL cung cấp trả năng định nghĩa các cơ sở dữ liệu, các
cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ liệu.

uế

Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng thực hiện
các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các cơ sở dữ liệu.

H

Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các

tế

thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu.

Ki
nh

Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong cơ sở
dữ liệu nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao tác cập
nhật cũng cũng như các lỗi của hệ thống.

c

Bản thân SQL không phải là một hệ quản trị cơ sở dữ liệu, nó không thể tồn tại

họ

độc lập. SQL thực sự là một phần của hệ quản trị cơ sở dữ liệu, nó xuất hiện trong các
hệ quản trị cơ sở dữ liệu với vai trò ngôn ngữ và là công cụ giao tiếp giữa người sử

ại

dụng và hệ quản trị cơ sở dữ liệu.

Đ

1.9.2 Hệ quản trị cơ sở dữ liệu SQL Server
Hệ quản trị cơ sở dữ liệu (Database Management System – DBMS): Là một hệ
thống phần mềm cho phép tạo lập cơ sở dữ liệu và điều khiển mọi truy nhập đối với cơ
sở dữ liệu đó.
SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ hoạt động theo mô hình
khách chủ cho phép đồng thời nhiều người dùng cùng truy xuất đến dữ liệu, quản lý
việc truy nhập hợp lệ và các quyền của từng người dùng trên mạng.

Sinh viên thực hiện: Trình Nguyễn Cẩm Tú

14


Xây dựng website Trung tâm gia sư

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ
WEBSITE TRUNG TÂM GIA SƯ
Mô tả website Trung tâm gia sư

2.1

Website Trung tâm gia sư là website giúp phụ huynh, học sinh, sinh viên, giáo
viên, những người có nhu cầu trong việc tìm người dạy và học kèm một cách thuận lợi
và nhanh chóng nhất.
Website được thiết kế đảm bảo các yêu cầu sau:
- Thiết kế một website có giao diện thân thiện với người dùng. Website chạy

uế

mượt, ổn định, tốc độ tải trang nhanh, tính an toàn, bảo mật cao.

H

- Thiết kế một website cho phép người dùng tạo tài khoản, đăng nhập vào hệ

tế

thống, đăng ký dạy/học theo yêu cầu.

- Đưa ra gợi ý cho học sinh và gia sư các xuất dạy/học phù hợp với yêu cầu đã

Ki
nh

đăng ký.

- Cung cấp đầy đủ thông tin về các xuất đăng ký dạy/học để người dùng lựa
chọn.

c

2.1.1 Tác nhân

họ

Các biểu đồ bên dưới mô tả tất cả các tác nhân của hệ thống website Trung tâm

ại

gia sư. Hiện tại hệ thống có Admin, Gia sư, Học viên và Khách vãng lai.

Đ

- Admin: Là người quản trị hệ thống, chủ Trung tâm gia sư hoặc quản lý. Họ có
thể xem, thêm, sửa, xóa dữ liệu đơn đăng ký dạy, đơn đăng ký học, tài khoản.
- Gia sư: Là một thành viên của hệ thống. Họ có thể xem thông tin, đăng ký dạy
kèm.
- Học viên: Là một thành viên của hệ thống. Họ có thể xem thông tin, đăng ký
học kèm.
- Khách vãng lai: Là người dùng truy cập vào website nhưng không phải là thành
viên. Họ có thể xem các lớp hiện có, thông tin chi tiết của các gia sư.

Sinh viên thực hiện: Trình Nguyễn Cẩm Tú

15


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×