2.2.1. Người sử dụng.
Cấu trúc của website đối với người sử dụng (Giáo viên, học sinh, phụ huynh). Được thiết kế với các thành phần chính như sau.
Hình 2.2.1: Cấu trúc của website đội với người dùng
Ngoài ra còn có một số thành phần khác như: Liên hệ, thống kê, thăm dò ý kiến, quảng cáo.
2.2.2. Người quản trị.
[SVTH: Võ Quang Huy] Trang 41
2.3.Xây dựng mô-đun tra cứu điểm.
Mô-đun này xây dựng nhằm để đáp ứng nhu cầu tra cứu điểm học tập của học sinh, cũng như của phụ huynh đối với con em mình.
Mô-đun sẽ đáp ứng một số yêu cầu như: Tra cứu điểm học tập các môn của học sinh. Chỉnh sửa điểm của học sinh.
Để xây dựng mô-đun này ở đây đã dựa trên nền tảng cấu trúc của các mô-đun mặc định trong Nukeviet, và quy trình hệ thống của Nukeviet để xây dựng thử nghiệm mô-đun này.
2.3.1. Phân tích hệ thống. 2.3.1.1. Sơ đồ chứng năng. 2.3.1.1. Sơ đồ chứng năng.
[SVTH: Võ Quang Huy] Trang 42
Việc quản trị hệ thống module bao gồm những công việc sau:
- Quản lí danh sách học sinh: Cập nhật, sửa, xóa một thông tin của học sinh theo lớp.
- Quản lý năm học: Cập nhật, sửa, xóa năm học. - Quản lý môn học: Cập nhật, sửa, xóa môn học. - Quản lý lớp: Cập nhật sửa xóa lớp.
- Quản lý điểm: Cập nhật, sửa điểm miệng, điểm kiểm tra 15 phút, điểm kiểm tra 1 tiết, điểm thi học kỳ và điểm trung bình của học sinh.
2.3.1.2. Sơ đồ ngữ cảnh.
Hình 2.3.2: Sơ đồ ngữ cảnh. 2.3.2. Thiết kế cơ sở dữ liệu.
Khi tiến hành cài đặt Nukeviet, hệ thống sẽ tự động tạo ra cơ sở dữ liệu của mình vào MySQL. Các bảng có tiền tố là nv3_, tiếp theo là tên bảng cơ sở dữ liệu.
Trong trường hợp cơ sở dữ liệu của module nào đó thì tên module sẽ đứng sau tiền tố nv3_, và cuối cùng là tên của bảng
[SVTH: Võ Quang Huy] Trang 43
Trong đó mô-đum tra điểm sẽ bao gồm các cơ sở dữ liệu: - nv3_vi_tradiem_diem
- nv3_vi_tradiem_dshs - nv3_vi_tradiem_lop
- nv3_vi_tradiem_monhoc - nv3_vi_tradiem_namhoc
Các bảng dữ liệu trên đã chứa các thông tin môn học, danh sách học sinh, điểm, năm học, lớp học.
2.3.2.1. Thiết kế các bảng dữ liệu.
Bảng dữ liệu môn học: nv3_vi_tradiem_monhoc Table: nv3_vi_tradiem_monhoc – Môn học
Tên Kiêu dữ liệu Khóa
chính Chú thích
monid int(2) PK Mã môn học
tenmon Varchar(20) Tên môn học
Bảng 2.3.1: Bảng dữ liệu môn học.
Bảng dữ liệu năm học: nv3_vi_tradiem_namhoc Table: nv3_vi_tradiem_namhoc – Măm học
Tên Kiêu dữ liệu Khóa
chính Chú thích
manamhoc int(2) PK Mã năm học
tennamhoc Varchar(12) Tên năm học
[SVTH: Võ Quang Huy] Trang 44
Bảng dữ liệu lớp học: nv3_vi_tradiem_lop Table: nv3_vi_tradiem_lop – Lớp học
Tên Kiêu dữ liệu Khóa
chính Chú thích
lopid int(2) PK Mã lớp học
tenlop Varchar(7) Tên lớp học
Bảng 2.3.3: Bảng dữ liệu lớp học.
Bảng dữ liệu danh sách học sinh: nv3_vi_tradiem_dshs Table: nv3_vi_tradiem_dshs – danh sách học sinh
Tên Kiêu dữ liệu Khóa
chính Chú thích
mahs int(7) PK Mã học sinh
hoten varchar(30) Tên học sinh
phai int(1) Giới tính
ngaysinh varchar(10) Ngày sinh
noisinh varchar(40) Nơi sinh
manamhoc int(2) Mã năm học
lopid int(2) Mã lớp học
[SVTH: Võ Quang Huy] Trang 45
Bảng dữ liệu điểm: nv3_vi_tradiem_diem Table: nv3_vi_tradiem_diem – Điểm
Tên Kiêu dữ liệu Khóa
chính Chú thích id int(20) PK Mã điểm
mahs varchar(30) Mã học sinh
manamhoc int(2) Mã năm học
mahocky int(1) Mã học kỳ
lopid int(2) Mã lớp
monid int(2) Mã môn học
m_1 varchar(5) Điểm miệng lần 1 m_2 varchar(5) Điểm miệng lần 2 m_3 varchar(5) Điểm miệng lần 3
15_1 varchar(5) Điểm 15 phút lần 1 15_2 varchar(5) Điểm 15 phút lần 2 15_3 varchar(5) Điểm 15 phút lần 3 45_1 varchar(5) Điểm 45 phút lần 1 45_2 varchar(5) Điểm 45 phút lần 2 45_3 varchar(5) Điểm 45 phút lần 3
Thi varchar(5) Điểm thi
tbm varchar(5) Điểm trung bình cộng Bảng 2.3.5: Bảng dữ liệu điểm
[SVTH: Võ Quang Huy] Trang 46
2.3.2.2. Sở đồ quan hệ.
Hình 2.3.3: Sơ đồ quan hệ dữ liệu. 2.3.3. Cài đặt
- Cấu trúc hệ thống mô-đun: Gồm có các thư mục và file .php
[SVTH: Võ Quang Huy] Trang 47
File version.php Có chức năng khai báo tiêu đề module, các funcs có khối, tác giả module, thông tin phiên bản, cấu trúc thư mục trong thư mục uploads.
File version.php có nội dung:
<?php
if ( ! defined( 'NV_ADMIN' ) or ! defined( 'NV_MAINFILE' ) ) die( 'Stop!!!' ); $module_version = array( "name" => "Tradiem", // "modfuncs" => "main", // "submenu" => "main", // "is_sysmod" => 0, // "virtual" => 1, // "version" => "1.0.0", // "date" => "", //
"author" => "Khóa luận tốt nghiệp (huykira@gmail.com)", // "note" => "", //
"uploads_dir" => array($module_name) );
?>
"modfuncs" => "main": Tên các funcs trong thư mục funcs có khối khi hoạt động bên ngoài site. Đối với các funcs không có khối ví dụ như để xử lý AJAX, gửi email (popup) thì không cần khai báo.
"is_sysmod" => 0, : Có phảo module hệ thông hay không 0: không 1: có. "virtual" => 1: Cho phép ảo hóa module không 0: không 1: có date,author, version: thông tin ngày, tác giả, phiên bản module. uploads_dir: Khai báo cấu trúc thư mục trong thư mục uploads. Với khai báo như trên thì khi kích hoạt module hệ thông sẽ
[SVTH: Võ Quang Huy] Trang 48
tạo một thư mục có tên là tên của module trong thư mục upload (biến $module_name được hiểu là tên module)
File admin.functions.php: tệp tin này thường chứa các function, hằng dùng trong admin.
File admin.functions.php có nội dung.
<?php
if ( ! defined( 'NV_ADMIN' ) or ! defined( 'NV_MAINFILE' ) or ! defined( 'NV_IS_MODADMIN' ) ) die( 'Stop!!!' ); $submenu['config'] = $lang_module['config']; $submenu['quanli_nam'] = $lang_module['quanli_nam']; $submenu['quanli_mon'] = $lang_module['quanli_mon']; $submenu['quanli_lop'] = $lang_module['quanli_lop']; $submenu['quanli_diem'] = $lang_module['quanli_diem']; $submenu['import'] = $lang_module['import']; $allow_func=array('config','addconfig','delconfig','main','quanli_nam','addnam','delnam','quanli_mon', 'addmon','delmon','quanli_lop','addlop','dellop','addhs','delhs','import','importgv','quanli_diem','adddiem','deldi em' , 'config', 'khoitaodl','khoitaoxl','change_ac');
define( 'NV_IS_FILE_ADMIN', true ); ?>
$submenu: Là menu con của module Tra điểm xuất hiện trong khu vực quản trị. Tương ứng như sau:
- $submenu['config'] = $lang_module['config'] : Cấu hình
[SVTH: Võ Quang Huy] Trang 49
- $submenu['quanli_mon'] = $lang_module['quanli_mon']: Quản lý môn học - $submenu['quanli_lop'] = $lang_module['quanli_lop']: Quản lý lớp
- $submenu['quanli_diem'] = $lang_module['quanli_diem']: Quản lý điểm - $submenu['import'] = $lang_module['import']: Inport dữ liệu
File action.php đây là file tạo lập cơ sở dữ liệu cho module.
Nội dung của file action.php
<?php
if ( ! defined( 'NV_IS_FILE_MODULES' ) ) die( 'Stop!!!' ); $sql_drop_module = array();
$sql_drop_module[] = "DROP TABLE IF EXISTS `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_diem`";
$sql_drop_module[] = "DROP TABLE IF EXISTS `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_dshs`";
$sql_drop_module[] = "DROP TABLE IF EXISTS `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_lop`";
$sql_drop_module[] = "DROP TABLE IF EXISTS `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_monhoc`";
$sql_drop_module[] = "DROP TABLE IF EXISTS `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_namhoc`";
$sql_drop_module[] = "DROP TABLE IF EXISTS `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_info`";
$sql_create_module = $sql_drop_module;
$sql_create_module[] = "CREATE TABLE `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_diem` (
`id` bigint(20) NOT NULL auto_increment, `mahs` varchar(15) NOT NULL,
[SVTH: Võ Quang Huy] Trang 50
`manamhoc` tinyint(2) NOT NULL, `mahocky` tinyint(1) NOT NULL, `monid` tinyint(2) NOT NULL, `m_1` varchar(5), `m_2` varchar(5), `m_3` varchar(5), `15_1` varchar(5), `15_2` varchar(5), `15_3` varchar(5), `45_1` varchar(5), `45_2` varchar(5), `45_3` varchar(5), `thi` varchar(5), `tbm` varchar(5),
`gvid` mediumint(3) DEFAULT '0' NOT NULL, PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8";
$sql_create_module[] = "CREATE TABLE `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_dshs` (
`id` int(11) NOT NULL auto_increment, `mahs` varchar(15) NOT NULL, `manamhoc` tinyint(2) NOT NULL, `lopid` tinyint(3) NOT NULL, `hoten` varchar(40) NOT NULL,
[SVTH: Võ Quang Huy] Trang 51
`phai` tinyint(1) DEFAULT '1' NOT NULL, `ngaysinh` varchar(10) NOT NULL, `noisinh` varchar(40) NOT NULL, PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8";
$sql_create_module[] = "CREATE TABLE `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_lop` (
`lopid` tinyint(3) NOT NULL, `tenlop` varchar(50) NOT NULL,
`manamhoc` tinyint(2) DEFAULT '0' NOT NULL, `id` int(9) NOT NULL auto_increment,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8";
$sql_create_module[] = "CREATE TABLE `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_monhoc` (
`monid` tinyint(2) NOT NULL, `tenmon` varchar(50) NOT NULL, PRIMARY KEY (`monid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8";
$sql_create_module[] = "CREATE TABLE `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_namhoc` (
`manamhoc` tinyint(2) NOT NULL, `tennamhoc` varchar(12) NOT NULL, PRIMARY KEY (`manamhoc`)
[SVTH: Võ Quang Huy] Trang 52
) ENGINE=MyISAM DEFAULT CHARSET=utf8";
$sql_create_module[] = "CREATE TABLE `" . $db_config['prefix'] . "_" . $lang . "_" . $module_data . "_info` (
`id` mediumint(3) NOT NULL, `info` varchar(255) NOT NULL, `ghichu` varchar(255),
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"; ?>
Trong file là các câu lên SQL để tạo các bảng dữ liệu: Học sinh, điểm, môn học, năm học, lớp học, info.
File functions.php chứa các hàm dùng ngoài site. Nội dùng của file functions.php
<?php
if (! defined ( 'NV_SYSTEM' )) die ( 'Stop!!!' );
define ( 'NV_IS_MOD_TRADIEM', true ); function creat_config($str) {
if (! file_exists ( NV_ROOTDIR . '/' . NV_DATADIR . '/tradiem/' . $str . ".txt" )) { $f = fopen ( NV_ROOTDIR . '/' . NV_DATADIR . '/tradiem/' . $str . ".txt", "w" ); if ($str == 'config') {
[SVTH: Võ Quang Huy] Trang 53
fwrite ( $f, 'Hệ thống tra điểm của trường THPT Phạm Phú Thứ Đà Nẵng' );} fclose ( $f );}}
function is_admin($nickname) { global $module_data, $db;
$sql = "SELECT a.userid FROM " . NV_USERS_GLOBALTABLE . " a INNER JOIN " .
NV_AUTHORS_GLOBALTABLE . " b ON a.userid=b.admin_id WHERE a.username=" . $db->dbescape ( $nickname ) . "";
list ( $userid ) = $db->sql_fetchrow ( $db->sql_query ( $sql ) ); return ($userid) ? 1 : 0;
} ?>
Ngoài các file này còn có các thư mục như:
- Thư mục “admin”: Chứa tất cả các hàm chạy trong khu vực quản trị. - Thư mục “func”: Chứa tất cả các file chạy ngoài site.
- Thư mục “js”: Chứa các đoạn java sử dụng trong module.
- Thư mục “language”: Chứa các file ngôn ngữ trong admin và bên ngoài site cho module.
[SVTH: Võ Quang Huy] Trang 54
CHƯƠNG 3: THỬ NGHIỆM CHƯƠNG TRÌNH 3.1.Một số mô-đun quản trị
3.1.1. Mô-đun giới thiệu (About).
Hình 3.1.1: Mô-đun giới thiêu (about)
Mô-đun này có nhiệm vụ hiển thị thông tin giới thiệu ra ngoài trang chủ. Chỉ có một chức năng chính là thêm bài giới thiệu mới. Có chức năng quản lý bài viết như xóa và sửa.
Việc thêm bài gới thiệu mới hoàn toàn tương tự như thêm một bài viết mới bên mô-đun “Tin Tức”.
[SVTH: Võ Quang Huy] Trang 55
3.1.2. Mô-đun Tài nguyên (download).
Đây là mô-đun có nhiệm vụ cung cấp cho người dùng khả năng download tài nguyên mà người quản trị chia sẽ trên website.
mô-đun gồm có chức năng:
- Quản lý chủ đề: Các loại tài nguyên được quản trị chia theo các chủ đề đề người sử dụng dễ dàng trong việc download tài nguyên đó. Ta có thể thực hiện các công việc như: Thêm, xóa, sửa, kích hoạt hoặc tam dừng học động của chủ đề.
Hình 3.1.3: Quản lý chủ đề
- Cấu hình mô-đun: Chức năng này cho phép chúng ta quản lý các loại file có thể được đưa lên hệ thống, cho hay không các nhóm người dùng download tài nguyên.
[SVTH: Võ Quang Huy] Trang 56
- Thêm file mới (thêm tài nguyên): Đây là chức năng ta thêm tài nguyên mới.
Hình 3.1.5: Thêm file mới (thêm tài nguyên)
Để thêm một tài nguyên mới ta di chuyên đến phần “Thêm file mới” sau đó điền đầy đủ thông tin.
Tiên file: Đây của tài nguyên mà chúng ta muốn upload.
Thuộc chủ đề: Chọn chủ đề của tài nguyên.
Tên tác gia: Tên tác giải cung cấp tài nguyên.
Email tác giả: Email của tác giả cung cấp tài nguyên.
File tải lên: Chọn file muốn tải lên.
Mô tả: Miêu ta gắng ngọn nội dung của tài nguyên
Sau khi đã điền đầy đủ thông tin chọn “Thực hiện” để uplaod tài nguyên lên hệ thống và trở lại khu vực quản lý tài nguyên đã được upload, tại khu vực này chúng ta sẽ có các chức năng như: Sửa, xóa, thêm tài nguyên. Đồng thời có thể quan sát được lượt xem, lượt download, lượt bình luận của tài nguyên.
[SVTH: Võ Quang Huy] Trang 57
Hình 3.1.6: Quản lý tài nguyên 3.1.3. Mô-đun Công văn.
Hình 3.1.7: Mô-đun Công văn.
Module này có nhiệm vụ hiển thị các công văn, văn bản cho người dùng xem hoặc download. Mô-đun bao gồm:
Quản lý loại văn bản: Ta ở chức năng này ta có thể “thêm”, “sửa”, “xóa” loại công văn.
[SVTH: Võ Quang Huy] Trang 58
Quản lý phòng ban: Ta ở chức năng này ta có thể “thêm”, “sửa”, “xóa” phòng ban, nơi ban hành công văn.
Quản lý lĩnh vực: Ta ở chức năng này ta có thể “thêm”, “sửa”, “xóa” lĩnh vực của công văn.
Để thêm một văn bản mới ta di chuyển đến Module công văn chọn “Thêm văn bản mới”, sau đó điền đầy đủ thông tin.
Hình 3.1.1: Thêm công văn mới
Tên/số/ký hiệu: Tên của văn bản.
Trích yếu: Chú thích cho văn bản.
Thuộc: Chọn loại văn bản, chọn phòng ban, chọn lĩnh vực, chọn cơ quan.
Chi tiết: Ghi nội dung chi tiết của văn bản.
File văn bản: Chọn file văn bản được upload.
Người ký: Người ký công văn.
Kích hoạt: Kích hoạt hoạt động của công văn.
Sau khi điền đầy đủ thông tin chọn “Lưu vào CSDL” để hoàn thành việc thêm một công văn mới.
[SVTH: Võ Quang Huy] Trang 59
3.1.4. Mô-đun Album ảnh.
Hình 3.1.9: Mô-đun Album ảnh.
Mô-đun Album ảnh là muôn mô-đun giúp quản trị quản lý ablum ảnh của website. Công việc quản lý “Album ảnh” gồm có:
- Quản lý Album: Việc quản lý album bao gồm các công việc thêm, xóa, sửa album ảnh. Để thêm 1 Album ảnh mới ta từ “mô-đun Album ảnh” chọn “Thêm Album mới”.
[SVTH: Võ Quang Huy] Trang 60
Điền đầy đủ thông tin như: Tên album ảnh, Ảnh đại diện, Mô tả.
- Quản lý ảnh: Việc quản lý ảnh gồm các công việc như: Thêm, xóa, sửa ảnh. Để thêm ảnh ta làm như sau: Click chọn “Thêm ảnh mới” trên “Module Album ảnh” và điền đầy đủ thông tin.
Hình 3.1.11: Thêm ảnh mới
Tên ảnh: Điền tên của hình ảnh.
Albums: Chọn album ảnh.
Đường dẫn của ảnh: Chọn ảnh từ máy tính lên hoặc có thể cho link của một ảnh bất kỳ.
Mô tả: Mô tả sơ lượt về tấm ảnh.
[SVTH: Võ Quang Huy] Trang 61
3.2.Giao diện chính và một số chức năng của website. 3.2.1. Giao diện chính. 3.2.1. Giao diện chính.
Giao diện chính của website gồm có 3 phần: Header, body, footer.
Hình 3.2.1: Giao diện chính của website. 3.2.2. Một số chức năng của website. 3.2.2. Một số chức năng của website.
Chức năng giới thiệu: Gồm 2 phần.
+ Phần giới thiệu vài về trường THPT Phạm Phú Thứ Đà Nẵng. + Phần giới thiệu vài nét về tiểu sử của Phạm Phú Thứ.
Chức năng tin tức: Gồm các phần.
+ Thông báo: Tợp hợp những thông báo của trường, Sở, Bộ giáo dục.
+ Hoạt động – Sự kiện: Tập hợp các bài viết về hoạt động và các sự kiện của trường tổ chức.
+ Tin tức nhà trường: Tập hợp các bài viết về trường, phong trào thua thi đua.. + Tin tức giáo dục: Cập nhật tin tức liên quan về giáo dục, các tấm gương, các vấn đề được xã hội quan tâm.
[SVTH: Võ Quang Huy] Trang 62
Sau đây là 1 số hình ảnh của chức năng này.
Hình 3.2.1: Chức năng tin tức
Chức năng tổ chuyên môn: Tương tự như chức năng “tin tức” chức năng tổ chuyên môn tập hợp các bài viết của tổ chuyên môn. Với trường THPT Phạm Phú Thứ, Trường có 9 tổ chuyên môn.
Hình 3.2.3: Chức năng tổ chuyên môn
Chức năng tài nguyên: Chức năng này cung cấp cho người dùng có thể download tài nguyên của website. Chức năng này gồm:
+ Thư viên giáo án: Tập hợp những giáo án chấn lượng của giáo viên.
+ Thư viên giáo án điện tử: Tập hợp những giáo án điện tử hay, được sử dụng nhiều, mang lại hiệu quả cho tiết dạy.
[SVTH: Võ Quang Huy] Trang 63
+ Thư viên phầm mềm: Tập hợp các phần mềm phục vụ việc dạy học như: Violet, Microsoft office....
+ Thư viên đề thi học kỳ, thi học sinh giỏi: Cung cấp cho giáo viên và học sinh những bộ đề hay tuyển chọn và những bộ đề giúp cho học sinh ôn luyện thi. + Thư viên đề tốt nghiệp, đại học: Cung cấp các bộ đề tốt nghiệp và đại học qua các năng, giúp học sinh nhận dạng được cấu trúc đề thi, để từ đó ôn luyện thi đạt kết quả tốt nhất.
Hình 3.2.4: Chức năng tài nguyên
Chức năng Công văn: Chức năng này giúp download các công văn mới nhất kiệp thời, đề thực hiện đúng theo yêu cầu của cấp trên. Có chức năng tìm kiếm công văn khi số lượng công văn nhiều.
[SVTH: Võ Quang Huy] Trang 64
Hình 3.2.6: Chức năng xem một công văn cụ thể
Chức năng album ảnh: Chức năng tập hợp những hình ảnh hoạt động của nhà trường, hình ảnh của giáo viên, hình ảnh của học sinh.