Báo cáo thực tập tốt nghiệp ngành kỹ thuật phần mềm đề tài quản lý hệ thống học bạ điện tử khoa công nghệ thông tin đại học công nghiệp hà nội. Đượ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
Trang 1TRƯỜ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
Trang 2MỤC LỤC
CHƯƠNG 1: GIỚI THIỆU SƠ BỘ VỀ ĐỀ TÀI 12
1 Tên đề tài 12
2 Lý do chọn đề tài 12
3 Mục tiêu – mục đích 12
4 Bố cục của báo cáo gồm các phần chính như sau: 13
5 Phương pháp thực hiện 13
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 14
2.1 Mô tả bài toán 14
2.1.1 Khả năng mở của hệ thống 14
2.1.2 Tính động của hệ thống 14
2.1.3 Tính bảo mật 14
2.1.4 Quản lý dễ dàng thông tin học sinh 14
2.1.5 Quản lý, đánh giá kết quả hoạt động 15
2.2 Mục đích của dự án 15
2.2.1 Đối với nhà trường 15
2.2.2 Đối với phụ huynh 15
2.2.3 Đối với học sinh 15
2.2.4 Đối với giáo viên 16
2.3 Các giải pháp công nghệ 16
2.3.1 Java 16
2.3.2 JDBC 16
2.3.3 Công nghệ Servlet 20
2.3.4 Công nghệ JSP 22
Trang 3CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 27
3.1 Xác định yêu cầu của chương trình 27
3.2 Tác nhân của hệ thống 27
3.3 Các ca sử dụng của hệ thống 28
3.4 Biểu đồ ca sử dụng 30
3.4.1 Biểu đồ ca sử dụng tổng quan 30
3.4.2 Biểu đồ ca sử dụng quản trị hệ thống 31
3.4.3 Biểu đồ ca sử dụng học sinh (Phụ huynh) 32
3.4.4 Biểu đồ ca sử dụng Giáo viên 33
3.4.5 Ca sử dụng Đăng nhập 35
3.4.6 Ca sử dụng quản lý Điểm 38
3.4.7 Ca sử dụng Quản Lý Môn Học 39
3.4.8 Ca sử dụng Quản Lý Lớp 42
3.4.9 Ca sử dụng quản lý Học Sinh 44
3.4.10 Ca sử dụng Quản Lý Học Kỳ 45
3.5 Lược đồ trình tự chi tiết 48
3.6 Lược đồ giao tiếp 50
3.7 Biểu đồ trình tự 54
CHƯƠNG 4: THIẾT KẾ XÂY DỰNG CHƯƠNG TRÌNH 58
4.1 Kiến trúc tổng quan 58
4.1.1 Phân tích hệ thống phía bên Người quản trị 59
4.1.2 Phân tích hệ thống phía Giáo viên 59
4.2 Xây dựng các Module 60
4.2.1 Module đăng nhập 60
Trang 44.2.2 Module tìm kiếm 61
4.3 Xây dựng chương trình 62
KẾT LUẬN 67
1 Kết quả đạt được 67
2 Một số đề xuất hướng phát triển 67
TÀI LIỆU THAM KHẢO 68
Trang 5DANH MỤC BẢNG
Bảng 3.1: Các ca sử dụng của hệ thống 28 Bảng 3.2: Đặc tả ca sử dụng Đăng nhập 34 Bảng 3.3: Các ca sử dụng của hệ thống 36
Trang 6DANH MỤC HÌNH ẢNH
Hình 2.1: JDBC kết nối dử dụng cầu nối ODBC 21
Hình 2.2: JDBC kết nối trực tiếp với trình điều khiển CSDL 21
Hình 2.3: JDBC kết nối qua ứng dụng trung gian 22
Hình 2.4: JDBC kết nối qua các trình điều khiển đặc thù ở xa 22
Hình 2.5: Biểu đồ cấu trúc của Servlet 24
Hình 2.6: Biểu đồ cấu trúc JSP 27
Hình 2.7: Biểu đồ cách thức hoạt động của JSP 28
Hình 3.1: Biểu đồ ca sử dụng tổng quan 33
Hình 3.5: Biểu đồ hoạt động của ca sử dụng Đăng nhập 39
Hình 3.6: Biểu đồ trình tự của ca sử dụng xem sản phẩm 40
Hình 3.7: Biểu đồ hoạt động của ca sử dụng nhập điểm 41
Hình 3.8: Biểu đồ hoạt động của ca sử dụng sửa điểm 42
Hình 3.9: Biểu đồ hoạt động của ca sử dụng thêm môn học 43
Hình 3.10: Biểu đồ hoạt động của ca sử dụng sửa thông tin môn học 44
Hình 3.11: Biểu đồ hoạt động của ca sử dụng xóa môn học 44
Hình 3.12: Biểu đồ trình tự chức năng đăng nhập 51
Hình 3.13: Biểu đồ trình tự nhập điểm 52
Hình 3.14: Biểu đồ các lớp thực thể 53
Hình 3.15: Biểu đồ giao tiếp chức năng đăng nhập 53
Hình 3.16: Biểu đồ giao tiếp chức năng in bảng biểu 54
Hình 3.16: Biểu đồ giao tiếp quản lý chức năng 54
Hình 4.1: Sơ đồ kiến trúc tổng quát 61
Hình 4.2: Module đăng nhập 63
Hình 4.3: Module tìm kiếm 64
Hình 4.4: Giao diện trang chủ 65
Hình 4.5: Giao diện đăng nhập 66
Hình 4.6: Giao diện cập nhật điểm cho giáo viên 67
Trang 7Hình 4.7: Giao diện xem điểm của học sinh 68
Hình 4.8: Giao diện cập nhật thông tin giáo viên 68
Hình 4.9: Giao diện cập nhật thông tinh học sinh 69
Hình 4.10: Giao diện xem thời khóa biểu 69
Trang 8LỜ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ântí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
Trang 9NHẬ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
Trang 10LỜ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ệuquả 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ý
Trang 11hồ 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áchthiế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!
Trang 12CHƯƠ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óichung 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ủacuộ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 đấtnướ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ớitruyề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ôngnghệ 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ư duycủ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úcmọ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ủanhà 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ọcsinh 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:
Trang 13- 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
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
Trang 14CHƯƠ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
• 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étduyệ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ụngcho 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
Trang 15• 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á
Trang 16• 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
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
Trang 17JDBC 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 ConnectorJJDBC 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:
Trang 18a) 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
Trang 19c) 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
Trang 202.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ặcmột Application server và thực hiện như là một tầng trung gian giữamột Yêu cầu từ một trình duyệt web hoặc HTTP client với cácDatabase 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ôngqua các form trên trang web, hiển thị các bản ghi (record) từ mộtDatabase 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ởiviệ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êucầ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ênServer) 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ầnmềm khác thông qua các Socket và kỹ thuật RMI mà bạn đã từngthấy
Trang 21b) 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ìnhduyệ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ầuDatabase, đang thực thi một triệu hồi tới RMI hoặc CORBA, triệu hồimộ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ìnhduyệ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
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
Trang 22Servlets 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áctrong Java Sau khi bạn cài đặt các gói servlet và thêm chúng vàoClasspath trong máy của bạn, bạn có thể biên dịch Servlet với bộ biêndị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àotrong các HTML page bằng việc sử dụng các JSP tag đặc biệt, hầu hếtbắ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, đượcthiết kế để thực hiện vai trò của một giao diện người dùng (UserInterface) cho một ứng dụng Java Web Lập trình viên Web viết JSPsnhư 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ácWebpage 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ácchươ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:
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êngbiệt
Trang 23 JSP luôn luôn được biên dịch trước khi nó được xử lý bởiServer, không giống như CGI/Perl mà yêu cầu Server tải mộttrì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 JavaServlet API, vì thế, giống Servlet, JSP cũng có quyền truy cậptớ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 độngnhư là một phần trong các ứng dụng đơn giản nhất cũng như các ứngdụng phức tạp
mẽ hơn và dễ dàng để sử dụng hơn Thứ hai, nó thích hợp chocá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ể đơngiản, không dành cho các chương trình “thực” mà sử dụng FormData, tạo kết nối Database
So với JavaScript: JavaScript có thể tạo HTML động trên Clientnhưng lại tương tác khó khan với Web Server để thực hiện cáctác vụ phức tạp như truy cập Database và xử lý hình ảnh, …
Với Static HTML: Tất nhiên, HTML thông thường không thểchứa thông tin động
Trang 24d) 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
Trang 25phần tử JSP được biến đổi thành Java code mà triển khai cáchà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ộtoutput trong định dạng HTML, mà Servlet engine truyền tớiWeb 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ộidung HTML tĩnh
Cuối cùng, trình duyệt web xử lý trang HTML đã được tạo mộtcách năng động bên trong HTTP response một cách chính xácnhư 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ộtJSP 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ìnhkhá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
Trang 26Trướ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ạnphiên dịch, một JSP page được xử lý chính xác giống như một Servlet thông thường.
Trang 27CHƯƠ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
• 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 – Tính điểm trung bình học kỳ của học sinh
Trang 28– Thống kê danh sách khen thưởng, kỷ luật của lớp
– 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
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
Trang 29Tác nhân Ca sử dụng
Giáo viên
Đăng nhậpTìm kiếm học sinhQuản lý lớp họcQuản lý môn họcQuản lý thông tin học sinhQuản lý điểm học sinhQuản lý học kỳ
Quản trị hệ thống
Đăng nhậpTìm kiếm học sinhQuản lý lớp họcQuản lý môn họcQuản lý thông tin học sinhQuản lý điểm học sinhQuản lý học kỳ
Quản lý hệ thống
Học sinh
Đăng nhậpXem điểmXem lịch thiXem thông tin cá nhân
Bảng 3.1: Các ca sử dụng của hệ thống
Trang 303.4 Biểu đồ ca sử dụng
3.4.1 Biểu đồ ca sử dụng tổng quan
Hình 3.1: Biểu đồ ca sử dụng tổng quan
Trang 313.4.2 Biểu đồ ca sử dụng quản trị hệ thống
Hình 3.2: Biểu đồ ca sử dụng quản trị hệ thốngĐặc tả use-case:
– Tóm tắt: Người quản trị hệ thống đăng nhập vào phần mềm với username là Admin
để quản lý danh sách người dùng, phân quyền người dùng (giáo viên, học sinh), phân công nhiệm vụ cho giáo viên, phân lớp học cho học sinh
– Dòng sự kiện chính:
∗ Admin mở giao diện đăng nhập
∗ Nhập username là admin và password được cấp
∗ Hệ thống kiểm tra mật khẩu và mở giao diện dành cho quản trị viên
∗ Admin chọn các chức năng gồm: quản lý giáo viên, quản lý học sinh, phân công giáoviên và phân công lớp cho học sinh ∗ Hệ thống mở giao diện tương ứng
∗ Admin chọn button Thêm mới, Update, Xóa để thêm, cập nhật dữ liệu tương ứng
∗ Admin chọn button In biểu để in bảng biểu tương ứng trong giao diện ra file docx Sau đó chọn Save as để lưu file
– Dòng sự kiện phụ:
∗ Admin chọn đăng xuất để thoát ra khỏi giao diện Quản lý
∗ Chọn đổi mật khẩu để thay đổi password của Admin
∗ Hệ thống sẽ báo lỗi khi Admin nhập sai mật khẩu
Trang 32∗ Hệ thống sẽ báo lỗi và yêu cầu Admin nhập lại nếu format của dữ liệu không chính xác
– Các yêu cầu đặc biệt: Admin phải đăng nhập thành công Dữ liệu nhập vào phải đúng format
– Điểm mở rộng: Không có
3.4.3 Biểu đồ ca sử dụng học sinh (Phụ huynh)
Hình 3.3: Biểu đồ ca sử dụng học sinh (phụ huynh)– Tóm tắt: Học sinh hoặc phụ huynh đăng nhập với tài khoản được cấp để theo dõi thông tin học tập, ý thức, quá trình rèn luyện của bản thân hoặc con em
– Dòng sự kiện chính:
∗ Học sinh vào màn hình đăng nhập chính
∗ Nhập username là mã học sinh, mật khẩu đã được cấp và chọn Student để xác nhận phân quyền
∗ Hệ thống kiểm tra mật khẩu, nếu đúng mở giao diện trang chủ dành cho học sinh
∗ Học sinh chọn các chức năng trên màn hình giao diện chính để xem các bảng biểu, thống kê dữ liệu về kết quả học tập, ý thức và quá trình rèn luyện
∗ Hệ thống mở giao diện chức năng tương ứng
Trang 33∗ Học sinh chọn button In biểu để in các bảng biểu tương ứng trong giao diện: xem thông tin cá nhân, danh sách lớp, sổ liên lạc, bảng ghi sự việc, bảng điểm danh, xét hạnh kiểm, tổng kết lớp
– Dòng sự kiện phụ:
∗ Hệ thống báo lỗi đăng nhập nếu username và password không chính xác
∗ Học sinh chọn button Đăng xuất để thoát khỏi phiên hoạt động
∗ Chọn Đổi mật khẩu để thay đổi password Nhập pass cũ và mới, hệ thống kiểm tra, nếu đúng thì xác nhận thành công, nếu sai, hệ thống báo lỗi
∗ Học sinh nhập từ khóa để tìm kiếm thông tin học sinh trong danh sách lớp học – Các yêu cầu đặc biệt: Người dùng bắt buộc nhập chính xác mã Học sinh và mật khẩu
để truy cập các chức năng
– Điểm mở rộng: Không có
3.4.4 Biểu đồ ca sử dụng Giáo viên
Hình 3.4: Biểu đồ ca sử dụng giáo viên
Đặc tả use-case:
– Tóm tắt: Giáo viên đăng nhập với username là mã giáo viên và mật khẩu đã được cấp Hệ thống sẽ mở màn hình giao diện chức năng dành cho giáo viên để thực hiện các chức năng cập nhật điểm, bảng ghi sự việc, bảng điểm danh và bảng hạnh kiểm hoặc xem danh sách lớp học, tổng kết lớp
Trang 35– Dòng sự kiện chính:
∗ Giáo viên vào màn hình đăng nhập
∗ Nhập username là mã giáo viên, mật khẩu được cấp, chọn Teacher để phân quyền Hệ thống kiểm tra dữ liệu, nếu chính xác thì mở màn hình chức năng dành cho giáo viên
∗ Giáo viên chọn chức năng Ghi điểm môn học để cập nhật kết quả học tập của lớp học phụ trách, chọn Bảng điểm danh và Bảng ghi sự việc để cập nhật quá trình rèn luyện ý thức của học sinh, chọn Danh sách lớp và Bảng tổng kết để xem thống kê của lớp mình chủ nhiệm (nếu có)
∗ Chọn button In biểu nếu muốn in nội dung các bảng ra file docx
– Dòng sự kiện phụ:
∗ Giáo viên chọn đăng xuất để thoát khỏi phiên làm việc
∗ Chọn đổi mật khẩu để thay đổi mật khẩu an toàn hoặc dễ nhớ, nhập mật khẩu cũ và mới, hệ thống kiểm tra, nếu đúng thì báo thành công, nếu sai hệ thống báo lỗi
∗ Hệ thống lấy danh sách lớp học phụ trách giảng dạy và lớp phụ trách chủ nhiệm của giáo viên để hiện thị
– Các yêu cầu đặc biệt: Giáo viên bắt buộc đăng nhập đúng mật khẩu, username và chọn phân quyền để vào phiên làm việc Những dữ liệu do giáo viên nhập vào phải chuẩn theo format của từng loại dữ liệu, nếu sai, hệ thống sẽ báo lỗi
– Điểm mở rộng : Không có.