Từ những kết quả chỉ được bảo lưu trên giấy hầu như hiện nay kết quả học tập của học sinh trong trường đã lưu trên máy tính, đơn giản hóa hơn công tác lưu trữ, thuận tiện cho người sử dụ
Trang 1KHOA TIN HỌC
LUẬN VĂN TỐT NGHIỆP CỬ NHÂN
NGÀNH CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI
XÂY DỰNG WEBSITE SỔ LIÊN LẠC ĐIỆN TỬ DÀNH
CHO HỌC SINH TRUNG HỌC PHỔ THÔNG
Trang 2Em chân thành cảm ơn các thầy cô giáo khoa Tin học - Trường Đại học
sư phạm, là những người đã hết lòng dạy dỗ và truyền đạt những kiến thức quý báu trong suốt thời gian học tập
Xin chân thành cảm ơn tất cả các bạn đã ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu có được cho em trong quá trình nghiên cứu và thực hiện
Trang 3Em xin cam đoan :
1 Những nội dung trong luận văn này là do em thực hiện dưới
sự hướng dẫn trực tiếp của thầy: Ths Lê Viết Chung
2 Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá
em xin chịu hoàn toàn trách nhiệm
Sinh viên Mai Thị Mỹ Lệ
Trang 4Lý do chọn đề tài 1
Mục đích và ý nghĩa của đề tài 1
Mục tiêu đề tài 2
Đối tượng sử dụng 2
Phạm vi nghiên cứu 2
Phương pháp triển khai 2
CHƯƠNG 1 3
CƠ SỞ NGHIÊN CỨU LÝ THUYẾT 3
1 Các cơ sở nghiên cứu lý thuyết 3
1.1 HTML 3
1.2 PHP 3
1.3 Navicat Lite for MySQL 7
1.4 Các ứng dụng web 8
1.5 XAMPP 9
1.6 Dreamweaver 10
CHƯƠNG 2 12
PHÂN TÍCH THIẾT KẾ HỆ THỐNG 12
2.1 Bài toán thực tế 12
2.2 Phân tích hệ thống 12
2.2.1 Yêu cầu chức năng 12
2.2.2 Yêu cầu phi chức năng 13
2.3 Xây dựng kịch bản cho các UseCase (chức năng hệ thống) 13
2.4 Phụ huynh học sinh, học sinh, giáo viên, giáo viên chủ nhiệm và quản trị 15
2.4.1 Phụ huynh học sinh 16
2.4.2 Học sinh 17
2.4.3 Giáo viên 19
2.4.4 Giáo viên chủ nhiệm 22
2.5 Quản trị hệ thống 26
2.5.1 Đăng nhập 27
2.5.2 Thêm học sinh 27
2.5.3 Xóa học sinh 28
2.5.4 Thêm giáo viên 28
2.5.5 Xóa giáo viên 29
2.5.6 Thêm lớp 29
2.5.7 Xóa lớp 30
2.5.8 Cập nhật thông tin học sinh 30
2.5.9 Cập nhật thông tin giáo viên 31
2.5.10 Đăng xuất 31
2.6 Biểu đồ hoạt động 32
2.6.1 Đăng nhập 32
2.6.2 Thêm lớp mới vào hệ thống 33
2.6.3 Cập nhật thông tin lớp 34
2.6.4 Thêm học sinh mới vào hệ thống 35
2.6 5 Cập nhật thông tin học sinh 36
2.6.6 Thêm giáo viên mới vào hệ thống 37
2.6.7 Cập nhật thông tin giáo viên 38
2.6.8 Thêm điểm mới của học sinhvào hệ thống 39
2.6.9 Cập nhật điểm học sinh 40
Trang 52.7 Biểu đồ tuần tự 42
2.7.1 Đăng nhập 42
2.7.2 Cập nhật thông tin giáo viên 43
2.7.3 Thêm mới một ý kiến PHHS 44
2.7.4 Thêm mới một ý kiến GV 45
2.7.5 Thêm mới một lớp 46
2.7.6 Thêm mới một học sinh 47
2.7.7 Thêm mới một giáo viên 48
2.7.8 Cập nhật thông tin lớp 49
2.7.9 Cập nhật thông tin học sinh 50
2.7.10 Cập nhật thông tin điểm 51
2.7.11 Thêm mới điểm 52
2.8 Xác định mối quan hệ giữa các lớp 53
CHƯƠNG 3 58
XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG 58
3.1 Người sử dụng 58
3.1.1 Đối tượng người sử dụng 58
3.1.2 Mục đích sử dụng 58
3.1.3 Kho dữ liệu 59
3.2 Cấu trúc và mô hình 60
3.3 Một số trang chính của chương trình 63
KẾT LUẬN 70
TÀI LIỆU THAM KHẢO 71
TÓM TẮT LUẬN VĂN TỐT NGHIỆP 72
Trang 6Hình 1 1 Giao diện phầm mềm Navicat 8
Hình 1 2 Sơ đồ minh họa mô hình ứng dụng Web 9
Hình 1 3: Giao diện của Xampp 10
Hình 2 1: Sơ đồ Use-Case tổng quát về hệ thống[mức1]……… 14
Hình 2 2: Sơ đồ use_case phụ huynh học sinh và giáo viên [mức2] 15
Hình 2 3: Sơ đồ use-case của Actor quản trị hệ thống [Mức 2] 26
Hình 2 4: Đăng nhập 32
Hình 2 5: Thêm mới lớp 33
Hình 2 6: Cập nhật thông tin lớp 34
Hình 2 7: Thêm mới học sinh 35
Hình 2 8: Cập nhật thông tin học sinh 36
Hình 2 9: Thêm mới giáo viên 37
Hình 2 10: Cập nhật thông tin giáo viên 38
Hình 2 11: Thêm điểm vào hệ thống 39
Hình 2 12: Cập nhật điểm học sinh 40
Hình 2 13: Mục nhận xét của PHHS 41
Hình 2 14: Mục nhận xét của GVCN 41
Hình 2 15: Đăng nhập 42
Hình 2 16: Cập nhật thông tin giáo viên 43
Hình 2 17: Thêm mới ý kiến PHHS 44
Hình 2 18: Thêm mới ý kiến giáo viên 45
Hình 2 19: Thêm mới lớp 46
Hình 2 20: Thêm mới học sinh 47
Hình 2 21: Thêm mới giáo viên 48
Hình 2 22: Cập nhật thông tin lớp 49
Hình 2 23: Cập nhật thông tin học sinh 50
Hình 2 24: Cập nhật điểm 51
Hình 2 25: Thêm mới điểm 52
Hình 2 26: Mô hình quan hệ thực thể kết hợp 54
Hình 3 1: Trang đăng nhập của hệ thống……… 63
Hình 3 2: Chi tiết điểm của học sinh 63
Hình 3 3: Đăng nhập với quyền quản trị 64
Hình 3 4: Quản trị xem danh sách giáo viên 64
Hình 3 5: Danh sách lớp 65
Hình 3 6: Giáo viên nhập điểm cho học sinh 65
Hình 3 7: Xem danh sách giáo viên chủ nhiệm các lớp 66
Hình 3 8: Xem danh sách học sinh theo lớp 66
Hình 3 9: Danh sách môn học ở trường 67
Hình 3 10: Danh sách môn dạy của giáo viên 67
Hình 3 11: Thêm mới 68
Hình 3 12: Thêm mới một giáo viên 68
Hình 3 13: Cập nhật thông tin học sinh 69
Hình 3 14: Xóa thông tin học sinh 69
Trang 7Bảng 2 1: Thiết kế cơ sở dữ liệu 55
Bảng 2 2: Thiết kế cơ sở dữ liệu bảng giáo viên 56
Bảng 2 3: Thiết kế cơ sở dữ liệu bảng học sinh 56
Bảng 2 4: Thiết kế cơ sở dữ liệu bảng kết quả 57
Bảng 2 5: Thiết kế cơ sở dữ liệu bảng môn học 57
Trang 8TỪ
Trang 9
MỞ ĐẦU
Hiện nay, cùng với sự phát triển của công nghệ thông tin, ngành giáo dục
đã có nhiều cải cách, thay đổi Từ những kết quả chỉ được bảo lưu trên giấy hầu như hiện nay kết quả học tập của học sinh trong trường đã lưu trên máy tính, đơn giản hóa hơn công tác lưu trữ, thuận tiện cho người sử dụng, thời gian xử lý nhanh chóng và một số nghiệp vụ được tự động hóa cao
Lý do chọn đề tài
Cuộc sống bận rộn với quá nhiều công việc, nhiều bậc phụ huynh ít có thời gian rãnh rỗi để có thể quan tâm chu đáo được tất cả mọi việc kể cả tình hình học tập của con, bên cạnh đó công tác liên lạc giữa phụ huynh học sinh và nhà trường đa phần vẫn còn liên lạc qua hệ thống giấy tờ, chính vì vậy, phụ huynh chỉ biết được kết quả học tập của con em mình ở cuối mỗi học kỳ thông qua các cuộc họp phụ huynh học sinh và như thế sẽ có rất nhiều tình trạng học sinh học giảm sút một phần chính do sự thiếu liên kết giữa nhà trường và gia đình học sinh.Như vậy, ta thấy rằng cần phải có một chương trình làm cầu nối giữa nhà trường và phụ huynh học sinh để quản lý được tình hình học tập của học sinh ở bất cứ thời điểm nào nhằm kịp thời có những biện pháp giúp học sinh học tập tốt hơn
Xuất phát từ những nhu cầu thực tế đó, em đã chọn đề tài “ Xây dựng website sổ liên lạc điện tử dành cho học sinh trung học phổ thông ” để có thể
một phần giúp giải quyết vấn đề trên
Mục đích và ý nghĩa của đề tài
Xuất phát từ nhu cầu thực tế, các bậc phụ huynh học sinh cần có một
chương trình để theo dõi tình hình học tập của con em mình tại bất cứ thời điểm nào để cùng với nhà trường động viên và giúp đỡ kịp thời cho học sinh học tập tốt hơn
Trang 10 Giáo viên chủ nhiệm từng lớp có nhiệm vụ đưa ra nhận xét cho từng học sinh trong mục “ Nhận xét của giáo viên ”
Hệ thống tự động tính điểm trung bình môn, trung bình học kỳ và trung bình cả năm cho học sinh
Đưa ra xếp loại hạnh kiểm và học lực cho từng học sinh
Hệ thống có khả năng thêm, sửa, xóa các đối tượng trong chương trình
Đối tượng sử dụng
Phụ huynh học sinh
Học sinh
Giáo viên bộ môn
Giáo viên chủ nhiệm
Quản trị hệ thống
Phạm vi nghiên cứu
Phạm vi nghiên cứu được triển khai trong phạm vi trường học dựa vào các nhu cầu
và yêu cầu của phụ huynh học sinh ở trường trung học phổ thông
Phương pháp triển khai
Tìm hiểu những nhu cầu chính của phụ huynh khi sử dụng sổ liên lạc điện tử
Tham khảo các website về lĩnh vực dạy học
Trang 11CHƯƠNG 1
CƠ SỞ NGHIÊN CỨU LÝ THUYẾT
1 Các cơ sở nghiên cứu lý thuyết
1.1 HTML
HTML (tiếng Anh, viết tắt cho HyperText Markup Language, hay là "Ngôn
ngữ đánh dấu siêu văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web với các mẫu thông tin được trình bày trên World Wide Web HTML được định nghĩa như là một ứng dụng đơn giản của SGML và được sử dụng trong các tổ chức cần đến các yêu cầu xuất bản phức tạp HTML đã trở thành một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì Phiên bản chính thức mới nhất của HTML là HTML 4.01 (1999) Sau đó, các nhà phát triển đã thay thế nó bằng XHTML Hiện nay, HTML đang được phát triển tiếp với phiên bản HTML5 hứa hẹn mang lại diện mạo mới cho Web Bằng cách dùng HTML động hoặc Ajax, lập trình viên có thể được tạo ra và
xử lý bởi số lượng lớn các công cụ, từ một chương trình soạn thảo văn bản đơn giản – có thể gõ vào ngay từ những dòng đầu tiên – cho đến những công cụ xuất bản phức tạp
HTML không phải là ngôn ngữ lập trình, nó là ngôn ngữ trình bày
1.2 PHP
PHP được phát triển từ một sản phẩm do Rasmus Lerdorf tạo ra năm 1995,
ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools' Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng web đơn giản Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn
Trang 12PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một
số các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay Nó có các biến kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng Cú pháp này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và
có phần thiếu nhất quán
Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh
mã nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một người
PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời gian khá dài chỉ được công bố dưới dạng các bản beta Nhưng không lâu sau đó, nó
đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0
PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta được biết ngày nay Nó đã được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó Lý do chính mà họ đã tạo ra phiên bản này là do họ nhận thấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứng dụng thương mại điện
tử mà họ đang xúc tiến trong một dự án của trường đại học Trong một nỗ lực hợp tác và bắt đầu xây dựng dựa trên cơ sở người dùng đã có của PHP/FI, Andi, Rasmus và Zeev đã quyết định hợp tác và công bố PHP 3.0 như là phiên bản thế
hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0
Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh mẽ của nó Ngoài khả năng cung cấp cho người dùng cuối một cơ sở
hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và
đề xuất các mô đun mở rộng mới Hoàn toàn có thể kết luận được rằng đây
Trang 13chính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.0 Các tính năng khác được giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất quán khác
Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa bỏ mối liên hệ với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tên PHP/FI 2.0 gợi nhắc Nó đã được đặt tên ngắn gọn là 'PHP', một kiểu viết tắt hồi quy của
"PHP: Hypertext Preprocessor"
Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tới hàng chục ngàn người sử dụng và hàng chục ngàn Website báo cáo là đã cài nó Vào thời kì đỉnh cao, PHP 3.0 đã được cài đặt cho xấp xỉ 10% số máy chủ Web có trên mạng Internet
PHP 3.0: đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9 tháng được cộng đồng kiểm nghiệm
PHP 4 0: vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô đun của cơ sở mã PHP Những ứng dụng như vậy đã chạy được trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng dụng phức tạp như thế này một cách có hiệu quả
Một động cơ mới, có tên 'Zend Engine' (ghép từ các chữ đầu trong tên của Zeev và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thành công, và lần đầu tiên đ ược giới thiệu vào giữa năm 1999 PHP 4.0, dựa trên động cơ này, và đi kèm với hàng loạt các tính năng mới bổ sung, đã chính thức được công bố vào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc
Trang 14HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới
Với PHP 4.0: số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn người khác tham gia vào các dự án có liên quan đến PHP
PHP 5: sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát triển PHP tự mãn Cộng đồng PHP đã nhanh chóng giúp họ nhận ra những yếu kém của PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng xử
lý XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu Những điểm này chính là mục đích để Zeev và Andi viết Zend Engine 2.0, lõi của PHP 5.0 Một thảo luận trên Slashdot đã cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12 năm 2002 nhưng những bài phỏng vấn Zeev liên quan đến phiên bản này thì đã có mặt trên mạng Internet vào khoảng tháng 7 năm 2002 Ngày 29 tháng 6 năm 2003, PHP 5 Beta 1 đã chính thức được công bố để cộng đồng kiểm nghiệm Đó cũng là phiên bản đầu tiên của Zend Engine 2.0 Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất được mới: Iterators, Reflection nhưng namespaces một tính năng gây tranh cãi khác
đã bị loại khỏi mã nguồn Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã được công bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi các hàm PHP, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới PHP
5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ra một hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiện các câu truy vấn Ngoài ra, trong PHP 5.1, các nhà phát triển
Trang 15PHP tiếp tục có những cải tiến trong nhân Zend Engine 2, nâng cấp mô đun PCRE lên bản PCRE 5.0 cùng những tính năng và cải tiến mới trong SOAP PHP 6 hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP 6
bản sử dùng thử đã có thể được download tại địa chỉ http://snaps.php.net Phiên
bản PHP 6 được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, ví dụ: hỗ trợ namespace (hiện tại các nhà phát triển vẫn chưa công bố
rõ ràng về vấn đề này), hỗ trợ Unicode, sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu
PHP có thể chứa các file văn bản, thẻ HTML và các script File PHP được trả lại cho trình duyệt như đồng bằng HTML PHP tập tin có phần mở rộng tập tin của "php" " Php3", hoặc " Phtml"
1.3 Navicat Lite for MySQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế
giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng
dụng Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên Internet MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32cho các hệ điều hành dòng Windows, Linux, MacOS, Unix…
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ
liệu quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ
khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl
Trang 16Navicat 9.0.7 (MySQL GUI) là một công cụ quản lý cơ sở dữ liệu MySQL
Phần mềm này cho phép bạn chuyển đổi các file và các định dạng dữ liệu phổ biến sang cơ sở dữ liệu MySQL nhanh và chính xác
Navicat (MySQL GUI) 9.0.7 giao diện có thể được nhanh hơn và dễ dàng hơn Hình ảnh thao tác có thể được làm nhanh hơn thông qua một giao diện đồ họa hơn bằng cách gõ lệnh Ngoài ra các dòng lệnh đôi khi có thể là các lệnh có liên quan nhận được ridiculously dài và cú pháp khó hiểu Như một lập trình, tốc
độ và hiệu quả là cần thiết và các dòng lệnh thường là thời gian của một gánh nặng hơn bất cứ điều gì khác Có thể nói rằng, sau khi đã sử dụng các MySQL GUI khác nhau, bao gồm cả những trang web, và đã tìm thấy Navicat là cách dễ nhất, nhanh nhất và đầy đủ nhất tính năng
Hình 1 1 Giao diện phầm mềm Navicat
1.4 Các ứng dụng web
Trong dạng tính toán chủ-khách trước đây, mỗi ứng dụng có chương
trình khách riêng của nó sẽ phục vụ như giao diện người dùng và phải được cài đặt riêng rẽ trên mỗi máy tính cá nhân của người dùng Sự nâng cấp phần máy chủ của ứng dụng sẽ cần nâng cấp tất cả máy khách đã được cài trên mỗi máy
trạm người dùng, thêm vào đó là chi phí hỗ trợ và giảm năng suất
Trang 17Ngược lại, ứng dụng web linh hoạt tạo ra một loạt các tài liệu Web ở định dạng như HTML/XHTML Ngôn ngữ kịch bản phía người dùng ở dạng ngôn ngữ chuẩn như JavaScript thường được thêm vào để có thêm những yếu tố động trong giao diện người dùng Nói chung, mỗi trang Web đơn lẻ được gửi tới người dùng như một tài liệu ổn định, nhưng thứ tự các trang có thể cung cấp cảm giác trực quan, khi những gì người dùng nhập vào sẽ được trả về thông qua thành phần mẫu Web được nhúng vào trong đánh dấu trang Trong quá trình giao dịch đó, trình duyệt Web sẽ thông dịch và hiển thị trang, và hoạt động như một người dùng chung cho bất kỳ ứng dụng Web nào
1.5 XAMPP
Xampp là chương trình tạo máy chủ Web (Web Server) được tích hợp
sẵn Apache, PHP, MySQL, FTPServer, Mail Server và các công cụ như php MyAdmin Không như Appserv, Xampp có chương trình quản lý khá tiện lợi, cho phép chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc này
Web Server
Hình 1 2 Sơ đồ minh họa mô hình ứng dụng Web
Trang 18Hình 1 3: Giao diện của Xampp
1.6 Dreamweaver
Dreamweaver là một phần mềm được tạo ra bởi hãng Macromedia, hãng
này hiện nay đã được hãng Adobe mua lại Macromedia Dreamweaver là trình
biên soạn HTML chuyên nghiệp dùng để thiết kế, viết mã và phát triển
website cùng các trang web và các ứng dụng web Cho dù bạn có thích thú với công việc viết mã HTML thủ công hoặc bạn thích làm việc trong môi trường biên soạn trực quan, Dreamweaver cung cấp cho bạn những công cụ hữu ích để nâng cao kinh nghiệm thiết kế website của bạn Các tính năng biên soạn trực quan trọng Dreamweaver cho phép tạo nhanh các trang web mà không cần các dòng mã Ta có thể xem tất các thành phần trong website của bạn và kéo chúng trực tiếp từ một panel dễ sử dụng vào một văn bản Bạn có thể nâng cao sản phẩm của bạn bằng cách tạo và sửa các ảnh trong Macromedia Fireworks hoặc trong ứng dụng ảnh khác, rồi sau đó chèn trực tiếp vào Dreamweaver Dreamweaver cũng cung cấp những công cụ giúp đơn giản hóa việc chèn Flash vào trang web Bên cạnh những tính năng kéo và thả giúp xây dựng trang web của bạn, Dreamweaver còn cung cấp một môi trường viết mã đầy đủ chức năng bao gồm các công cụ viết mã (như tô màu mã, bổ sung thẻ tag, thanh công cụ
Trang 19mã và thu bớt mã) và nguyên liệu tham chiếu ngôn ngữ trong Cascading Style Sheets (CSS), JavaScript, ColdFusion Markup Language (CFML) và các ngôn ngữ khác Công nghệ Macromedia Roundtrip HTML nhập các văn bản HTML viết mã thủ công mà không định dạng lại mã, khi đó bạn có thể định dạng lại mã với phong cách định dạng của riêng bạn Dreamweaver cũng cho phép bạn xây dựng các ứng dụng web động dựa theo dữ liệu sử dụng công nghệ máy chủ như CFML, ASP.NET, ASP, JSP, và PHP Nếu sở thích của bạn là làm việc với dữ liệu XML, Dreamweaver cung cấp những công cụ cho phép bạn dễ dàng tạo các trang XSLT, chèn file XML và hiển thị file XML
Dreamweaver có thể tùy biến hoàn toàn Bạn có thể tạo cho riêng mình những đối tượng và yêu cầu, chỉnh sửa shortcut bàn phím và thậm chí viết mã JavaScript để mở rộng những khả năng của Dreamweaver với những hành vi
mới, những chuyên gia giám định Property mới và những báo cáo site mới
Trang 20CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
- Xem điểm của con em mình
- Xem học lực, hạnh kiểm và có ý kiến nhận xét
- Xem điểm học sinh
- Xem danh sách: lớp, học sinh, giáo viên, môn
- Đăng nhập _xuất hệ thống
- Nhập điểm cho học sinh
- Sửa điểm cho học sinh
- Xem danh sách: lớp, học sinh, giáo viên, môn
- Nhận xét học sinh
- Đăng nhập_xuất hệ thống
- Thêm giáo viên mới
- Thêm học sinh mới
Trang 21- Thêm lớp mới
- Thêm giáo viên giảng dạy trong từng bộ môn
2.2.2 Yêu cầu phi chức năng
Tính thân thiện và dễ sử dụng: đa số người giáo viên (ít có chuyên môn),
phụ huynh và học sinh ít có chuyên môn cao về tin học, vì thế, giao diện phải trực quan, dễ hiểu, dễ thao tác, không sử dụng các thuật ngữ chuyên ngành, thuật ngữ nước ngoài
Tính bảo mật: thông tin cá nhân của phụ huynh phải được giữ kín, chỉ
thành viên quản trị mới được biết và chỉ được xem khi thực sự cần thiết
Tính an toàn: thông tin điểm khi được đăng phải thông qua sự kiểm duyệt
của ban quản trị
2.3 Xây dựng kịch bản cho các UseCase (chức năng hệ thống)
UML có năm hướng nhìn đối với hệ thống (hướng nhìn chức năng, hướng nhìn thiết kế, hướng nhìn xử lý, hướng nhìn thành phần và hướng nhìn bố trí), chúng hỗ trợ tương quan lẫn nhau Tuy nhiên, hướng nhìn use-case đóng vai trò quan trọng đặc biệt đối với kiến trúc hệ thống, nó ảnh hưởng xuyên suốt đối với bốn hướng nhìn còn lại và trong cả quá trình xây dựng hệ thống
Với Actor (tác nhân) và các đặc tả về chức năng của mỗi người dùng đối với hệ thống trong phần trên, chúng ta đã có cái nhìn tổng thể về hệ thống, nắm được những chức năng cơ bản và gần như là đầy đủ của những người dùng này Tuy nhiên , ở trên chúng ta chỉ thấy được chức năng riêng lẻ mà chưa thấy được mối quan hệ giữa chúng-một việc rất quan trọng giúp người đọc dễ dàng nắm bắt được hệ thống mà ta đang cần xây dựng Vì vậy, chúng ta cần bổ sung những mối quan hệ giữa các use này và cách tốt nhất và rõ ràng nhất là chúng ta sẽ sử dụng các sơ đồ use-case để trình bày mối quan hệ giữa các Actor với hệ thống cũng như giữa các use-case với nhau
Nhóm người dùng chung có ba quyền khi tương tác với hệ thống, các nhóm người dùng giáo viên, phụ huynh học sinh, học sinh, quản trị, giáo viên
Trang 22chủ nhiệm cũng có ba quyền như trên, và ngoài ra họ sẽ có thêm những quyền riêng tùy thuộc vào chức năng của mỗi nhóm người như đã phân tích ở trên Vì vậy các nhóm người này sẽ kế thừa từ nhóm người dùng chung hay quan hệ giữa nhóm người dùng chung với các nhóm người dùng chung còn lại là quan hệ khác
Trang 232.4 Phụ huynh học sinh, học sinh, giáo viên, giáo viên chủ nhiệm và quản trị
Nhận xét
Xem danh sách GV
Xem Danh sách học sinh
Xem danh sách môn
Xem danh sách Lớp Vào điểm
Trang 24Thông tin vào:
- Các thông tin hệ thống yêu cầu (tên và pass)
Kiểm tra hợp lệ:
- Kiểm tra tài khoản đăng nhập vào đã có trùng với cơ sở dữ liệu chưa
Thông tin ra:
- Trả về trang bảng điểm sổ liên lạc điện tử, kèm theo một số thông tin
(tên học sinh, lớp, năm học, học kỳ)
Trang 25Thông tin ra:
- Trả về trang bảng điểm sổ liên lạc điện tử, kèm theo một số thông tin (tên học sinh, lớp, năm học, học kỳ)
- Click vào mục “bảng điểm”
Thông tin ra:
- Đến trang tổng kết tổng hợp điểm trung bình của học sinh
- Click vào mục “bảng điểm”
Thông tin vào:
- Nhận xét đánh giá thông qua kết quả học tập
Thông tin ra:
- Hiển thị thông tin nhận xét
2.4.2 Học sinh
2.4.2.1 Đăng nhập
Mục đích:
- Đăng nhập hệ thống
Trang 26Thông tin vào:
- Các thông tin hệ thống yêu cầu (tên và pass)
- Click vào mục “ bảng điểm”
Thông tin ra:
- Trả về trang bảng điểm sổ liên lạc điện tử, kèm theo một số thông tin
(tên học sinh, lớp, năm học, học kỳ )
Trang 27Thông tin vào:
- Các thông tin hệ thống yêu cầu (tên và pass)
- Click vào mục “xem danh sách lớp” ( tương ứng với lớp cần xem)
- Click vào học sinh muốn xem điểm
Trang 28Thông tin ra:
- Trả về trang bảng điểm sổ liên lạc điện tử, kèm theo một số thông tin của học sinh cần xem
- Kiểm tra một số ràng buộc về công tác vào điểm
Thông tin ra:
- Xuất danh sách giáo viên đang giảng dạy trong trường kèm với các thông tin đi kèm
Thông tin ra:
- Xuất trang giáo viên có kèm theo môn dạy
Tên UseCase:
- Môn
Trang 292.4.3.5 Xem danh sách học sinh
Mục đích:
- Xem danh sách học sinh hiện tại
Hoạt động:
- Click vào mục “lớp học”
- Click “xem danh sách học sinh”
Thông tin ra:
- Trả về trang danh sách học sinh
Thông tin ra:
- Xuất ra danh sách học sinh với lớp cần xem
- Xem được một số thông tin cần thiết của học sinh
Trang 30Thông tin ra:
Thông tin vào:
- Các thông tin hệ thống yêu cầu (tên và pass)
Trang 31Hoạt động:
Thông tin vào:
- Chi tiết điểm cho từng học sinh
Kiểm tra hợp lệ:
Thông tin ra:
- Trả về trang giáo viên
Thông tin vào:
- Nhận xét đánh giá thông qua kết quả học tập
Thông tin ra:
- Hiển thị thông tin nhận xét
Trang 322.4.4.4 Xem danh sách giáo viên
- Kiểm tra một số ràng buộc về công tác vào điểm
Thông tin ra:
- Xuất danh sách giáo viên đang giảng dạy trong trường kèm với các thông tin đi kèm
Thông tin ra:
- Xuất trang giáo viên có kèm theo môn dạy
Trang 33Thông tin ra:
- Trả về trang danh sách học sinh
Thông tin ra:
- Xuất ra danh sách học sinh với lớp cần xem
- Xem được một số thông tin cần thiết của học sinh
Thông tin ra:
Tên UseCase:
- Môn học
Trang 34Cập nhật học sinh
Xóa học sinh
Xóa giáo viên
Cập nhật giáo viên
Xem giáo viên Xóa lớp
Cập
nhật lớp
Đăng xuất
Đăng nhập Xem
lớp
Trang 35Thông tin vào:
- Các thông tin hệ thống yêu cầu (tên và pass)
Thông tin vào:
Trang 36Thông tin ra:
- Cập nhật cơ sở dữ liệu hoặc thông báo lỗi trong quá trình thao tác
Thông tin ra:
Thông tin ra:
Tên UseCase:
Trang 372.5.5 Xóa giáo viên
Thông tin vào:
Thông tin ra:
Thông tin vào:
Thông tin ra:
Tên UseCase:
Trang 38Thông tin ra:
Thông tin vào:
yêu cầu)
Thông tin ra:
Tên Use-Case
Trang 392.5.9 Cập nhật thông tin giáo viên
Thông tin vào:
yêu cầu)
Thông tin ra: