1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

60 611 10

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 60
Dung lượng 7,36 MB

Nội dung

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 c

Trang 1

KHOA HỆ THỐNG THÔNG TIN KINH TẾ

- -

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

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

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

Trang 2

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 đã 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 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

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

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

Đạ i h

ọc Kinh

tế Hu

ế

Trang 3

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

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

Huế, tháng 5 năm 2017 Sinh viên Trình Nguyễn Cẩm Tú

Đạ i h

ọc Kinh

tế Hu

ế

Trang 4

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

Huế, ngày …… tháng …… năm 2017

Giáo viên hướng dẫn

Đạ i h

ọc Kinh

tế Hu

ế

Trang 5

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

Huế, ngày …… tháng …… năm 2017

Giáo viên phản biện

Đạ i h

ọc Kinh

tế Hu

ế

Trang 6

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

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

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

1.9.1 Java là gì? 4

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

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

1.2 Mô hình MVC 6

1.3 Struts framework 7

1.4 HTML 9

1.5 JQUERY 9

1.9.1 Giới thiệu 9

1.9.2 Cú pháp 10

1.6 AJAX 10

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

Đạ i h

ọc Kinh

tế Hu

ế

Trang 7

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

2.3 Sơ đồ lớp (Class Diagram) 25

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

CHƯƠNG 3: XÂY DỰNG WEBSITE TRUNG TÂM GIA SƯ 38

3.1 Môi trường xây dựng 38

3.2 Kết quả 38

KẾT LUẬN 49

1 Các kết quả đạt được 49

2 Hạn chế 49

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

TÀI LIỆU THAM KHẢO 50

Đạ i h

ọc Kinh

tế Hu

ế

Trang 8

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

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ình 10: Mô hình ERD 20

Hình 11: Sơ đồ dữ liệu quan hệ 24

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

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

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

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

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

Đạ i h

ọc Kinh

tế Hu

ế

Trang 9

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

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ình 41: Màn hình quản lý đơn đăng ký dạy 47

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

Đạ i h

ọc Kinh

tế Hu

ế

Trang 10

DANH MỤC CÁC BẢNG

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

Đạ i h

ọc Kinh

tế Hu

ế

Trang 11

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 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ẽ 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,…

Trước thực tế đó, hàng loạt các trung tâm gia sư ra đời và phát triển nhanh 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

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

làm hướng nghiên cứu cho đề tài

2 Mục tiêu của đề tà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

Trang 12

- 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

- Thời gian: Từ ngày 03/01/2017 đến hết ngày 29/04/2017

4 Phương pháp nghiên cứu

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

- 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 đề đó

- 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

Đạ i h

ọc Kinh

tế Hu

ế

Trang 13

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ư

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

Đạ i h

ọc Kinh

tế Hu

ế

Trang 14

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 Microsystem phát triển

Đầ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ệ 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

đã 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 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 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 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

Đạ i h

ọc Kinh

tế Hu

ế

Trang 15

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

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 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 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 đặt máy ảo java (Java Virtual Machine) Viết một lần chạy mọi nơi (write once run anywhere)

Hướng đối tượng: Hướng đối tượng trong Java tương tự như C++ nhưng Java

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)

Đạ i h

ọc Kinh

tế Hu

ế

Trang 16

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

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

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

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

Đạ i h

ọc Kinh

tế Hu

ế

Trang 17

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

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

Đạ i h

ọc Kinh

tế Hu

ế

Trang 18

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

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ý

Đạ i h

ọc Kinh

tế Hu

ế

Trang 19

 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

 Action Servlet response kết quả về client – hoàn tất quá trình xử lý

1.4 HTML

HTML là chữ viết tắt của HyperText Markup Language, có nghĩa là ngôn ngữ đá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

là Browser Hiện nay có khá nhiều Browser như Firefox, Chrome, Cốc Cốc, Tất cả Browser đều có điểm chung là giúp người dùng thao tác với website và nó đều có khả 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:

<h1>My First Heading</h1>

<p>My first paragraph.</p>

Đạ i h

ọc Kinh

tế Hu

ế

Trang 20

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

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ụ đó cũng coi như bỏ Với thư viện JavaScript như JQuery, nó cho bạn nhiều cách để tương 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ì 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

là nhờ các Event Handlers

1.9.2 Cú pháp

$(selector).action()

Trong đó:

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

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

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

1.6 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

Đạ i h

ọc Kinh

tế Hu

ế

Trang 21

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 cũng có thể dùng, bao gồm HTML định dạng trước, văn bản thuần (plain text), JSON và ngay cả EBML

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

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 1.0/Netscape 6 sau đó (đương nhiên toàn bộ các version sau này của Firefox đều có XMLHttpRequest) và hiện nay đã có trong trình duyệt Safari 1.2 (Apple) và Opera 7 trở lên

1.9.2 Cú pháp

$.ajax({

type: ‘POST’, url: ‘vidu.do’,

data: {

test: “1”

dataType: ‘html’, success: function(data) {

//code here },

Đạ i h

ọc Kinh

tế Hu

ế

Trang 22

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

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

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

1.7 JSP và Servlet

1.9.1 Servlet

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, 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 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 ứ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

Đạ i h

ọc Kinh

tế Hu

ế

Trang 23

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

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

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 (PDE- Plug-in Development Environment) Mặc dù Eclipse được viết bằng ngôn ngữ lập 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ỗ trợ phát triển phần mềm

Ví dụ: Eclipse hỗ trợ sẵn hoặc có thể cài thêm các plugins để hỗ trợ cho các 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

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

 Có nhiều plugins quá nên thiếu tính nhất quán

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

Đạ i h

ọc Kinh

tế Hu

ế

Trang 24

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

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

Đ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

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

Đả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

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 độ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ử 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

Đạ i h

ọc Kinh

tế Hu

ế

Trang 25

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

2.1 Mô tả website Trung tâm gia sư

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 mượt, ổn định, tốc độ tải trang nhanh, tính an toàn, bảo mật cao

- 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ệ 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 đã đă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

Trang 26

2.1.2 Mô hình Use Case của hệ thống

Hình 2: Mô hình Use Case của hệ thống

Đạ i h

ọc Kinh

tế Hu

ế

Trang 27

2.1.2.1 Mô hình Use Case – Chức năng xem trang chủ

Hình 3: Mô hình Use Case - Chức năng xem trang chủ

2.1.2.1 Mô hình Use Case – Chức năng thống kê

Hình 4: Mô hình Use Case - Chức năng thống kê

Đạ i h

ọc Kinh

tế Hu

ế

Trang 28

2.1.2.2 Mô hình Use Case – Chức năng đăng ký dạy

Hình 5: Mô hình Use Case - Chức năng đăng ký dạy

2.1.2.3 Mô hình Use Case – Chức năng xem thông tin

Hình 6: Mô hình Use Case - Chức năng xem thông tin

Đạ i h

ọc Kinh

tế Hu

ế

Trang 29

2.1.2.2 Mô hình Use Case – Chức năng đăng ký học

Hình 7: Mô hình Use Case - Chức năng đăng ký học

2.1.2.3 Mô hình Use Case – Chức năng quản lý tài khoản

Hình 8: Mô hình Use Case - Chức năng quản lý tài khoản

2.1.2.4 Mô hình Use Case – Chức năng quản lý đơn đăng ký dạy, đơn đăng ký

Trang 30

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

2.2.1 Mô hình thực thể mối quan hệ ERD

Hình 10: Mô hình ERD

2.2.2 Chuẩn hóa cơ sở dữ liệu

Bảng 1: Bảng TaiKhoan (Tài khoản)

Bảng 2: Bảng PhuHuynh (Phụ huynh)

Đạ i h

ọc Kinh

tế Hu

ế

Ngày đăng: 10/07/2018, 23:50

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w