Tải bản đầy đủ (.docx) (66 trang)

Báo cáo thực tập tốt nghiệp ngành kỹ thuật phần mềm

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.38 MB, 66 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
----------

BÁO CÁO THỰC TẬP TỐT
NGHIỆP
Đề tài: Xây dựng hệ thống học bạ điện tử
Sinh viên thực hiện:

Lê Tuấn Anh

Mã sinh viên:

0841360107

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

Th.S Hoàng Quang Huy

Hà Nội – tháng 12 năm 2016


MỤC LỤC

2


DANH MỤC BẢNG

3



DANH MỤC HÌNH ẢNH

4


LỜI CẢM ƠN

Sau một thời gian nghiên cứu và triển khai đề tài, em đã hoàn thành những phân
tích và đánh giá ban đầu đề tài của mình. Lời đầu tiên em xin gửi lời cảm ơn tới các
thầy cô trong khoa Công nghệ thông tin đã trang bị những kiến thức quý báu cho em
trong suốt quá trình học tập và làm đề tài tại Trường Đại học Công nghiệp Hà Nội.
Đặc biệt em xin chân thành cảm ơn sự tận tình hướng dẫn của thầy Hoàng Quang Huy,
thầy là giáo viên hướng dẫn, là người theo sát tiến độ làm việc của em. Chính vì vậy
mà thầy luôn đưa ra những ý kiến, những góp ý giúp em nhận ra vấn đề còn tồn tại và
kịp thời sửa chữa.
Mặc dù đã cố gắng lỗ lực thực hiện đề tài nhưng chắc hẳn không thể tránh khỏi
những thiếu sót. Em rất mong nhận được những ý kiến đóng góp ý kiến của các thầy
cô và các bạn để đề tài này hoàn thiện và hướng tới áp dụng thực tế hơn.
Em xin chân thành cảm ơn!

Hà Nội, tháng 3 năm 2017.

5


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

...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
Hà Nội, ngày … tháng … năm 2017
Giáo viên hướng dẫn

6


LỜI NÓI ĐẦU
Cùng với các thành tựu khoa học của nhân loại, ngành công nghệ thông tin
ngày càng phát triển mạnh mẽ. Ở các nước phát triển, các hệ thống lưu trữ và xử lý
thông tin đã đựơc xây dựng và sử dụng rất hiệu quả. Một trong những ứng dụng của

công nghệ thông tin là nâng cao hiệu quả trong công tác quản lý, điều hành các hoạt
động sản xuất kinh doanh trong các cơ quan hành chính sự nghiệp, trong các doanh
nghiệp, trường học. Các ứng dụng này, đã giúp cho công việc quản lý, kinh doanh hiệu
quả hơn, nó giảm bớt công sức, nhân lực, giúp việc tiếp cận và trao đổi thông tin
nhanh chóng.
Ở nước ta, máy tính đã được các cơ quan quản lý, các doanh nghiệp quan quan
tâm trang bị trong những năm gần đây, song chủ yếu dùng soạn thảo văn bản và một số
ứng dụng khác nhưng còn hạn chế, chủ yếu là các đơn vị có nhân lực, am hiểu về công
nghệ. Tuy nhiên với tốc độ phát triển và hội nhập kinh tế hiện nay, vấn đề sử dụng tin
học để xử lý thông tin trong công tác quản lý đã trở thành nhu cầu bức thiết.
Việc áp dụng các thành tựu tin học vào quản lý, nó tiết kiệm rất nhiều thời gian, công
sức của con người. Thay vì phải tự ghi chép, tính toán, xử lý các thông tin một cách
thủ công, nó có thể:
• Cập nhật và khai thác thông tin nhanh chóng tại mọi thời điểm.
• Lưu trữ thông tin với khối lượng lớn.
• Tìm kiếm, thống kê thông tin nhanh chóng theo các tiêu chí khác nhau.
• Thông tin đảm bảo chính xác, an toàn.
Trong công tác quản lý của trường cũng vậy, với một số lượng lớn các học sinh,
giáo viên và cán bộ của trường, công tác quản lý là khá vất vả và tốn nhiều nhân lực
do khối lượng lưu trữ và xử lý thông tin quá nhiều đối với đội ngũ các cán bộ còn
nhiều hạn chế, rất khó kiểm soát chặt chẽ. Vấn đề đặt ra là làm sao giải quyết bài toán
với chi phí về thời gian, nhân lực thấp nhất nhưng vẫn đảm bảo các yếu tố như tính an
toàn dữ liệu, thuận tiện cho người sử dụng... Thực tế cho thấy hiện nay một số trường
cũng đã sử dụng công nghệ thông tin trong việc quản lý học bạ từ lâu, từ việc quản lý

7


hồ sơ, quản lý điểm, xử lý học tập, xếp lịch thi, xếp thời gian biểu...song số đó là
không nhiều và hầu như chỉ tồn tại tại các trường lớn.

Được các thầy cô trong khoa công nghệ thông tin trường Đại học Công Nghiệp
Hà Nội trang bị cho những kiến thức về tin học và được giúp đỡ tận tình của thầy
Hoàng Quang Huy, em đã cố gắng học tập, nghiên cứu và bước đầu làm quen với cách
thiết kế xây dựng phần mềm hỗ trợ một phần cho công tác quản lý học bạ của học sinh
Trong thời gian làm đề tài, bằng những kiến thức đã học được nhà trường trang
bị đã vận dụng triệt để kiến thức đó kết hợp với những kinh nghiệp tích luỹ được từ
thực tế công việc nơi mình đang công tác để hoàn thành đề tài một cách tốt nhất.
Nhưng do kinh nghiệm trong lĩnh vực thiết kế, lập trình và trình độ còn nhiều hạn chế
nên không thể tránh khỏi những thiếu sót vì vậy chúng em rất mong nhận được những
phản hồi, giúp đỡ, ý kiến đánh giá từ thầy để có được kết quả tốt nhất cho đề tài này!

8


CHƯƠNG 1: GIỚI THIỆU SƠ BỘ VỀ ĐỀ TÀI
1. Tên đề tài
Xây dựng hệ thống học bạ điện tử.

2. Lý do chọn đề tài
Hiện nay, ngành Công nghệ thông tin đã có những bước phát triển nhanh chóng
về ứng dụng của nó trong mọi lĩnh vực trong cuộc sống trên phạm vi toàn thế giới nói
chung và việt nam nói riêng. Công nghệ thông tin là một phần không thể thiếu của
cuộc sống văn minh, góp phần đẩy mạnh công cuộc công nghiệp hóa hiện đại hóa đất
nước. Việc ứng dụng những thành quả của khoa học công nghệ vào trong đời sống,
trong công tác là hết sức thiết yếu. Ứng dụng của công nghệ thông tin kết hợp với
truyền thông hóa được xem là một trong những yếu tố mang tính quyết định trong hoạt
động của công ty, các tổ chức… nó đóng vai trò quan trọng và không thể thiếu. Công
nghệ thông tin và truyền thông hóa góp phần làm thay đổi suy nghĩ, lối mòn tư duy
của mỗi con người, nó giúp con người năng động hơn, kết nối nhanh hơn ở mọi lúc
mọi nơi làm tăng mức độ hiệu quả, năng suất của công việc.

Trước đây để có thể quản lý kết quản học tập của học sinh phòng quản lý của
nhà trường phải in rất nhiều học bạ, mất rất nhiều thời gian và chi phí chưa kể một số
trường học đông học sinh. Để phục vụ cho nhu cầu quản lý tốt kết quả học tập của học
sinh vừa đáp ứng được yêu cầu của nhà trường. Em đã quyết định thực hiện đề tài:
“Xây dựng hệ thống học bạ điện tử. ”

3. Mục tiêu – mục đích
• Mục tiêu
+ Xây dựng được bộ cơ sở dữ liệu chính xác, cập nhật, ổn định
+ Giao diện chương trình: bắt mắt với người dùng, thiết kế đầy đủ 1 số chức năng:
- Quản lý lớp học
9


- Quản lý môn học
- Quản lý học kỳ
- Quản lý thông tin học sinh
- Quản lý điểm cho học sinh
- Quản lý hệ thống
+ Đơn giản hóa cách thức tính điểm trung bình học kỳ và trung bình tích lũy của học
sinh.

• Mục đích
Xây dựng chương trình hoàn thiện về mặt nội dung cũng như giao diện, góp
phần nâng cao về chất lượng, giúp bộ phận quản lý chất lượng dễ dàng quản lý hơn.

4. Bố cục của báo cáo gồm các phần chính như sau:
• CHƯƠNG I : Giới thiệu sơ bộ về đề tài
• CHƯƠNG II: Cơ sở lý thuyết
• CHƯƠNG III: Phân tích thiết kế hệ thống

• CHƯƠNG IV: Thiết kế xây dựng hệ thống
5. Phương pháp thực hiện
- Hệ quản trị cơ sở dữ liệu: My SQL
- Ngôn ngữ : Java
- Công nghệ : Servlet + JSP

10


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1.Mô tả bài toán
Hệ thống Quản lý học bạ điện tử cho phép quản lý quá trình học tập của học
sinh một cách toàn diện, là cầu nối liên lạc giữa gia đình và nhà trường.

2.1.1. Khả năng mở của hệ thống
• Hệ thống được thiết kế với khả năng mở cao, cho phép người sử dụng dễ dàng
chỉnh sửa và bổ sung các báo cáo tùy theo nhu cầu .
• Hỗ trợ công cụ hỗ trợ chuyển đổi dữ liệu từ các nguồn khác nhau, chuyển đổi
các bảng mã.
• Hệ thống được xây dựng trên Quy chế chuẩn của Bộ Giáo dục và Đào tạo.
• Dễ dàng kết xuất số liệu ra các định dạng dữ liệu khác nhau (Excel, Word,
FoxPro, Xml...)
• Cơ sở Dữ liệu phân tán và tập trung về tại Sở Giáo Dục... trong tương lai.

2.1.2. Tính động của hệ thống
• Hệ thống cho phép người sử dụng dễ dàng tùy biến, thay đổi các công thức xét
duyệt học sinh, học sinh cho phù hợp với yêu cầu sử dụng hoặc khi có sự thay đổi về
quy chế, quy định, chương trình đào tạo.

2.1.3. Tính bảo mật

• Để đảm bảo an toàn thông tin, dữ liệu, hệ thống thực hiện phân quyền sử dụng
cho từng đối tượng tham gia chi tiết đến từng chức năng, báo cáo. Đồng thời, việc
quản lý và truy xuất dữ cũng được phân quyền theo từng đối tượng thông tin và các
phòng ban.

2.1.4. Quản lý dễ dàng thông tin học sinh
• Hỗ trợ quản lý thông tin học sinh từ giai đoạn nhập học, chuyển trường.
• Hỗ trợ phân lớp học, đánh mã học sinh tự động...
• Cho phép theo dõi thông tin cơ bản, quan hệ gia đình, ảnh học sinh...
• Quản lý thông tin các đối tượng ưu tiên, diện chính sách, đối tượng trợ cấp xã
hội.

11


• Quản lý các thông tin khen thưởng, kỷ luật của học sinh.
• In thẻ từ (hỗ trợ in và quản lý mã vạch ).
• Theo dõi và quản lý các đối tượng ngừng học, thôi học. • Tra cứu và thống kê
học sinh học sinh.

2.1.5. Quản lý, đánh giá kết quả hoạt động
• Quản lý kết quả học tập của học sinh trong từng học kỳ (Điểm quá trình và
điểm tổng kết môn học).
• Quản lý điểm thi, kiểm tra học kỳ (Bao gồm cả các điểm thi lại) , Điểm rèn
luyện.
• Hỗ trợ mô hình phân quyền quản lý thông tin theo nhiều cấp (Các điểm chi
tiết Giáo vụ khoa quản lý, Điểm tổng kết và thi Phòng đào tạo quản lý).
• Tự động tính và quản lý điểm tổng kết môn học, Điểm TBC học kỳ, Cả năm
học. Xếp loại và đánh giá học học học sinh cuối kỳ, cuối năm.
• Công cụ xét duyệt lên lớp, Xét tư cách dự thi tốt nghiệp, khen thưởng học tập,

xét duyệt học bổng, khuyến khích học tập.
• Thống kê, báo cáo chất lượng đào tạo.
• Quản lý và bảo lưu kết quả học tập của học sinh-học sinh lưu ban, ngừng học,
đình chỉ.
• Quản lý các điểm thi tốt nghiệp .... Đánh giá và xét duyệt tốt nghiệp.

2.2. Mục đích của dự án
2.2.1. Đối với nhà trường
• Quản lý học sinh bằng CNTT hiệu quả, giảm thiểu chi phí và nhân lực.

2.2.2. Đối với phụ huynh
• Kiểm tra điểm môn học, ý thức đạo đức, chuyên cần của con em.
• Xem được tổng thể lớp học nơi con đang theo học từng ngày, từng tuần.
• Xem thông báo bất thường của nhà trường.

2.2.3. Đối với học sinh
• Nhận thông báo lịch thi, điểm thi, thông báo ôn tập, ngoại khoá...

12


• Tra cứu điểm thi, điểm quá trình, hạnh kiểm, đạo đức mồi tuần, mỗi kỳ...
• Cập nhật thông tin nhanh, tiện lợi...

2.2.4. Đối với giáo viên
• Quản lý học sinh bất cứ thời điểm nào.
• Được quản lý tổng thể từng cá nhân, từng lớp, khối theo tiêu chí từng tuần,
từng tháng, từng học kỳ.
• So sánh được tổng quan về tình hình học tập, đạo đức của lớp.
• Liên lạc được ngay với phụ huynh khi có thông tin đặc biệt.


2.3. Các giải pháp công nghệ
2.3.1. Java
Java là một ngôn ngữ lập trình được lập trình viên (nhà phát triển) sử
dụng để viết ứng dụng dành cho máy tính mà chúng ta sử dụng hàng ngày. Nếu
chỉ đơn thuần là một ngôn ngữ lập trình thì chúng ta không cần quan tâm tới nó
nhưng vấn đề là đôi khi chúng ta tải một ứng dụng, một phần mềm nào đó mà
máy tính yêu cầu thực thi Java, như vậy bắt buộc bạn sẽ phải cài nó trên máy
tính. Ngoài ra, Java cũng có plug-in cho trình duyệt web để một số ứng dụng có
thể hiển thị ngay trong trình duyệt.
Java có hai phần: phần thực thi (runtime) chạy trên máy tính (và cho
phép bạn chạy ứng dụng Java) và phần plug-in của trình duyệt web. Khi người
ta nói Java có độ bảo mật không cao đồng nghĩa người ta đang nói về plug-in
của trình duyệt web. Bản thân ứng dụng Java rất an toàn nhưng plug-in của
trình duyệt khiến vấn đề rắc rối hơn.

2.3.2. JDBC
JDBC là viết tắt của “Java DataBase Connectivity”. Nó là một API
(Application Programming Interface) có chứa một tập hợp các lớp, các giao diện
Java và các thông báo lỗi ngoại lệ nằm trong cùng một đặc tả mà theo đó cả các
công ty sản xuất JDBC driver cũng như các nhà phát triển JDBC đều phải tuân
thủ chặt chẽ khi phát triển ứng dụng.

13


JDBC là một chuẩn truy xuất cơ sở dữ liệu rất phổ biến. Các RDBMS
(Relational Database Management Systems – Hệ quản trị cơ sở dữ liệu quan hệ)
hay các nhà sản xuất phần mềm bên thứ ba phát triển các driver cho Java đều cần
tuân thủ chặt chẽ đặc tả JDBC. Các nhà phát triển khác sử dụng các driver này để

phát triển nên các ứng dụng có truy cập cơ sở dữ liệu: ví dụ, bạn dùng ConnectorJ
JDBC driver để truy cập cơ sở dữ liệu MySQL. Vì các driver này tuân thủ chặt
chẽ đặc tả JDBC nên các nhà phát triển ứng dụng JDBC có thể thay thế driver
trong ứng dụng của họ bằng một cái tốt hơn mà không cần phải viết lại ứng dụng
của họ. Nếu họ đã sử dụng một số API độc quyền do một số nhà sản xuất
RDBMS nào đó cung cấp thì họ sẽ không thể nào thay đổi driver và/hoặc cơ sở
dữ liệu mà không viết lại ứng dụng hoàn toàn.
JDBC tồn tại là để giúp các nhà phát triển Java tạo nên các ứng dụng truy
xuất cơ sở dữ liệu mà không cần phải học và sử dụng các API độc quyền do các
công ty sản xuất phần mềm khác nhau bên thứ ba cung cấp. Bạn chỉ cần học
JDBC và sau đó bạn sẽ được đảm bảo rằngbạn sẽ có thể phát triển nên các ứng
dụng truy cập cơ sở dữ liệu có khả năng truy cập đến các RDBMS khác nhau
bằng cách sử dụng các JDBC driver khác nhau.
Các kiểu kết nối JDBC:

14


a) JDBC sử dụng cầu nối ODBC

Hình 2.1: JDBC kết nối dử dụng cầu nối ODBC

b) JDBC kết nối trực tiếp với trình điều khiển CSDL

Hình 2.2: JDBC kết nối trực tiếp với trình điều khiển CSDL

15


c) JDBC kếi nối qua ứng dụng trung gian


Hình 2.3: JDBC kết nối qua ứng dụng trung gian

d) JDBC kết nối qua các trình điều khiển đặc thù ở xa

Hình 2.4: JDBC kết nối qua các trình điều khiển đặc thù ở xa

16


2.3.3. Công nghệ Servlet
a) Servlet là gì?
Java Servlets là các chương trình chạy trên một Web server hoặc
một Application server và thực hiện như là một tầng trung gian giữa
một Yêu cầu từ một trình duyệt web hoặc HTTP client với các
Database hoặc các ứng dụng trên HTTP server.
Sử dụng Servlets, bạn có thể thu thập Input từ người sử dụng thông
qua các form trên trang web, hiển thị các bản ghi (record) từ một
Database hoặc từ nguồn khác, và tạo các trang web động.
Java Servlets thường có chung mục đích: là các chương trình độc lập bởi
việc sử dụng Common Gateway Interface (CGI). Nhưng so với CGI, thì
Servlets có các lợi thế sau:


Hiệu năng tốt hơn đáng kể.



Servlets thực thi bên trong không gian địa chỉ của một Web server, không cần
thiết phải tạo một tiến trình riêng biệt để xử lý mỗi yêu cầu từ Client.




Servlets là độc lập trên nền tảng bởi vì chúng được viết bằng Java.



Bởi vì viết bằng Java (mà Java cung cấp tình bảo mật cao trên Server) nên
Servlets là đáng tin cậy.



Tính năng đầy đủ của thư viện của các lớp trong Java là luôn luôn có sẵn cho
Servlets. Nó có thể giao tiếp với Applet, Database hoặc phần mềm khác thông
qua các Socket và kỹ thuật RMI mà bạn đã từng thấy.

17


b) Cấu trúc của Servlet

Hình 2.5: Biểu đồ cấu trúc của Servlet

c) Nhiệm vụ của Servlet
Servlets thực hiện các tác vụ chủ yếu sau:


Đọc dữ liệu hiển thị (explicit) được gửi bởi Client (hoặc trình
duyệt) bao gồm một HTML Form trên một trang web hoặc
nó cũng có thể từ một Applet hoặc một chương trình Custom

từ HTTP Client.



Đọc dữ liệu yêu cầu HTTP ẩn (implicit) được gửi bởi Client
(hoặc trình duyệt) bao gồm cookie, các loại media.



Xử lý dữ liệu và cho ra kết quả. Tiến trình này có thể yêu cầu
Database, đang thực thi một triệu hồi tới RMI hoặc CORBA,
triệu hồi một Web Service, hoặc tính toán phản hồi một cách
trực tiếp.



Gửi dữ liệu hiển thị (ví dụ: tài liệu) tới các Client (hoặc trình
duyệt). Tài liệu này có thể được gửi theo nhiều định dạng
khác nhau, gồm text (HTML hoặc XML), nhị phân (hình ảnh
GIF), Excel, .v.v.



Gửi phản hồi HTTP ẩn tới các Client (hoặc trình duyệt),
thông báo cho trình duyệt hoặc Client về kiểu của tài liệu
được trả về (ví dụ: HTML), thiết lập các Cookie và Caching
các tham số, cùng các tác vụ khác.

d) Package trong Servlet
18



Java Servlets là các lớp trong Java chạy bởi một Web Server mà có một
trình thông dịch hỗ trợ Java Servlets.
Servlets có thể được tạo bởi sử dụng các gói javax.servlet và
javax.servlet.http là một phiên bản mở rộng của thư viện lớp java để hỗ
trợ các dự án phát triển có phạn vi lớn. Các lớp này triển khai Java
Servlet và JSP.
Java Servlet đã được tạo và được biên dịch giống như các lớp khác
trong Java. Sau khi bạn cài đặt các gói servlet và thêm chúng vào
Classpath trong máy của bạn, bạn có thể biên dịch Servlet với bộ biên
dịch JDK hoặc bất kỳ bộ biên dịch nào khác.

2.3.4.

Công nghệ JSP
a) JSP là gì?
JavaServer Pages (JSP) là một công nghệ để phát triển các Webpage
mà hỗ trợ nội dung động, giúp các lập trình viên chèn java code vào
trong các HTML page bằng việc sử dụng các JSP tag đặc biệt, hầu hết
bắt đầu với <% và kết thúc với %>.
Một thành phần JavaServer Pages (JSP) là một loại Java Servlet, được
thiết kế để thực hiện vai trò của một giao diện người dùng (User
Interface) cho một ứng dụng Java Web. Lập trình viên Web viết JSPs
như là các text file mà kết nối HTML code hoặc XHTML code, phần
tử XHTML, và các JSP actions và câu lệnh JSP được nhúng.
Sử dụng JSP, bạn có thể thu thập input từ người dùng thông qua các
Webpage Form, trình bày các record từ một Database hoặc đăng ký
quyền ưu tiên của người dùng, truy cập các thành phần JavaBeans,
truyền điều khiển giữa các page và chia sẻ thông tin giữa các Request,

page, …

b) Tại sao sử dụng JSP?
JavaServer Pages (JSP) thường hoạt động với cùng mục đích như các
chương trình độc lập bởi sử dụng Common Gateway Interface (CGI).
Nhưng JSP thường có một số lợi thế trong khi so sánh với CGI:

19


Hiệu năng tốt hơn đáng kể bởi vì JSP cho phép nhúng các phần tử
động trong chính các HTML page thay vì phải có một CGI file riêng
biệt.


JSP luôn luôn được biên dịch trước khi nó được xử lý bởi Server, không giống
như CGI/Perl mà yêu cầu Server tải một trình thông dịch (Interpreter) và Target
Script mỗi khi trang được yêu cầu.



JavaServer Pages (JSP) được xây dựng ở trên cùng của Java Servlet API, vì
thế, giống Servlet, JSP cũng có quyền truy cập tới tất cả Enterprise Java APIs
mạnh mẽ, bao gồm JDBC, EJB, JAXP, …



Các JSP page có thể được sử dụng để kết nối với Servlet mà xử lý Business
logic, mô hình được hỗ trợ bởi Java Servlet.
Cuối cùng, JSP là một phần toàn bộ của Java EE, một Platform đầy

đủ cho các ứng dụng lớp Enterprise. Nghĩa là, JSP có thể hoạt động
như là một phần trong các ứng dụng đơn giản nhất cũng như các ứng
dụng phức tạp.

c) Lợi thế của JSP
Dưới đây là các lợi thế của việc sử dụng JSP khi so sánh với các
công nghệ khác:


So với Active Server Pages (ASP): Lợi thế của JSP có thể coi là gấp đôi. Đầu
tiên, các phần động được viết bằng Java, không phải bằng Visual Basic hoặc
ngôn ngữ MS khác, vì thế nó mạnh mẽ hơn và dễ dàng để sử dụng hơn. Thứ
hai, nó thích hợp cho các Hệ điều hành khác, không chỉ là Microsoft Web
Server.



So với Pure Servlets: Nó tiện lợi hơn khi viết (và sửa đổi) HTML, vì có nhiều
lệnh printIn hơn.



So với Server-Side Includes (SSI): SSI chỉ dành cho các thể đơn giản, không
dành cho các chương trình “thực” mà sử dụng Form Data, tạo kết nối Database.



So với JavaScript: JavaScript có thể tạo HTML động trên Client nhưng lại
tương tác khó khan với Web Server để thực hiện các tác vụ phức tạp như truy
cập Database và xử lý hình ảnh, …


20




Với Static HTML: Tất nhiên, HTML thông thường không thể chứa thông tin
động.

d) Cấu trúc của JSP
Web Server cần một JSP engine ví dụ: Container) để xử lý các JSP page.
JSP container có nhiệm vụ chặn các Request cho các JSP page. Bài hướng
dẫn này sử dụng Apache, mà có JSP container có sẵn, để hỗ trợ phát triển
các JSP page.
Một JSP container làm việc với Web Server để cung cấp môi trường
runtime và các dịch vụ khác mà một JSP cần đến. Nó biết cách để hiểu các
phần tử đặc biệt mà là một phần của JSP.
Sơ đồ sau minh họa vị trí của JSP container và JSP file trong một Web
Application.

Hình 2.6: Biểu đồ cấu trúc JSP

e) Cấu trúc của JSP
Dưới đây là các bước giải thích cách Web Server tạo các Webpage
bởi sử dụng JSP:


Với một trang thông thường, trình duyệt gửi một HTTP request tới Web server.




Web server nhận ra rằng HTTP request là cho một JSP page và chuyển nó tới
một JSP engine. Điều này được thực hiện bởi sử dụng một URL hoặc một JSP
page mà kết thúc với .jsp thay vì .html.



JSP engine tải JSP page từ đĩa và biến đổi nó thành một nội dung Servlet. Sự
biến đổi này là rất đơn giản, trong đó tất cả Template Text được biến đổi thành

21


các lệnh printIn() và tất cả phần tử JSP được biến đổi thành Java code mà triển
khai các hành vi động tương ứng của trang.


JSP engine biên dịch Servlet thành một lớp có thể thực thi và chuyển Request
ban đầu tới một Servlet engine.



Một phần của Web server triệu hồi Servlet engine tải lớp Servlet và thực thi nó.
Trong quá trình thực thi, Servlet này tạo một output trong định dạng HTML,
mà Servlet engine truyền tới Web server bên trong một HTTP response.



Web server chuyển HTTP Response tới trình duyệt của bạn nội dung HTML
tĩnh.




Cuối cùng, trình duyệt web xử lý trang HTML đã được tạo một cách năng động
bên trong HTTP response một cách chính xác như kiểu nó là một trang tĩnh.
Tất cả các bước trên có thể được minh họa trong sơ đồ sau:

Hình 2.7: Biểu đồ cách thức hoạt động của JSP
Nét đặc trưng là, JSP engine kiểm tra để biết có hay không một Servlet cho một
JSP file là đã tồn tại và có hay không ngày sửa đổi JSP là cũ hơn Servlet đó. Nếu JSP
là cũ hơn Servlet đã tạo của nó, thì JSP engine giả sử rằng JSP đã không thay đổi và
Servlet đã được tạo đó vẫn kết nối với nội dung của JSP. Điều này làm cho tiến trình
khác biệt hơn khi so với các ngôn ngữ Scripting khác (ví dụ như PHP) và vì thế nó
nhanh hơn.

22


Trước khi hiển thị ra trình duyệt, tập tin JSP phải được biên dịch thành Servlet,
dùng bộ biên dịch JSP (JSP compiler). Bộ biên dịch JSP có thể tạo servlet thành mã
nguồn Java trước, rồi biên dịch mã nguồn ra tập tin .class dùng bộ biên dịch Java,
hoặc có thể trực tiếp tạo mã byte code cho servlet từ trang JSP. Ngoại trừ giai đoạn
phiên dịch, một JSP page được xử lý chính xác giống như một Servlet thông thường.

23


CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH QUẢN
LÝ HỌC BẠ ĐIỆN TỬ TRỰC TUYẾN
3.1.Xác định yêu cầu của chương trình

Chương trình cần đạt đạt được những yêu cầu sau:

 Giao diện thân thiện dễ sử dụng
 Nhập thông tin học sinh khi mới vào.
 Phân lớp học sinh vào đầu khóa học.
 Nhập điểm cho học sinh.
 Tính điểm trung bình môn, trung bình năm.
 Thống kê danh sách học sinh theo từng môn học,từng lớp học.
 Tìm kiếm học sinh.
 Xếp loại cho từng học sinh.
3.2.Tác nhân của hệ thống
Hệ thống chia làm 3 tác nhân chính:
• Học sinh (phụ huynh).
– Đăng nhập.
– Xem danh sách lớp học.
– Xem hồ sơ cá nhân.
– Xem sổ liên lạc.
– Xem danh sách ghi nhận sự việc (giống như sổ đầu bài).
– In bảng biểu
• Giáo viên : Giáo viên chủ nhiệm, Giáo viên bộ môn
Giáo viên chủ nhiệm:
– Đăng nhập
– Tra cứu danh sách học sinh, danh sách lớp học.
– Cập nhật thông tin hồ sơ học sinh.
– Cập nhật, thêm, xóa bảng hạnh kiểm của lớp.
– Thêm, cập nhật đánh giá, xếp loại sổ liên lạc của học sinh.

24



– Tính điểm trung bình học kỳ của học sinh.
– Thống kê danh sách khen thưởng, kỷ luật của lớp.
– In bảng biểu.
Giáo viên môn học:
– Đăng nhập.
– Cập nhật, thêm, xóa bảng ghi nhận sự việc từng tiết học (ghi sổ
đầu bài).
– Cập nhật, thêm, xóa bảng điểm môn học của từng lớp.
– Tính điểm trung bình môn học của mỗi học sinh.
– Thống kê, xếp loại điểm môn học của lớp.
– Tra cứu danh sách lớp học, danh sách học sinh.
– In bảng biểu.
• Người quản lý hệ thống.
– Đăng nhập.
– Thêm, cập nhật, xóa danh sách lớp.
– Thêm, cập nhật, xóa danh sách học sinh của mỗi lớp.
– Thêm, cập nhật, xóa danh sách giáo viên.
– Phân công lớp cho học sinh, phân công chuyên môn cho giáo viên.

3.3.Các ca sử dụng của hệ thống









Đăng nhập

Tìm kiếm học sinh
Quản lý lớp học
Quản lý môn học
Quản lý thông tin học sinh
Quản lý điểm học sinh
Quản lý học kỳ
Quản lý hệ thống

25


×