TẠP CHÍ KHOA HỌC ĐẠI HỌC SÀI GÒN
Số 23 (48) - Tháng 12/2016
Xây dựng module quản trị hệ thống của hệ thống
phần mềm hỗ trợ cơng nhận đạt tiêu chuẩn chức danh
Giáo sư, Phó Giáo sư
Building system-management module for software supporting the recognization of
Professors and associate Professors
ThS. NCS. Nguyễn Đức Huy
Hội đồng Chức danh Giáo sư Nhà nước
Nguyen Duc Huy, M.A. Ph.D. student
The State Council for Professor Title of Vietnam
Tóm tắt
Nhằm nâng cao chất lượng đội ngũ GS, PGS và tằng cường hội nhập quốc tế, việc xây dựng hệ thống
phần mền hỗ trợ cơng nhận đạt tiêu chuẩn trực tuyến là rất cần thiết. Bài viết này đi vào xây dựng
Module quản trị hệ thống cho hệ thống phần mềm hỗ trợ cơng tác xét cơng nhận đạt tiêu chuẩn chức
danh GS, PGS của Việt Nam. Đây là module hết sức quan trọng và là cơ sở để xây dựng các module
chức năng của hệ thống.
Từ khóa: Giáo sư, phần mềm, quản trị.
Abstract
In order to improve the quality of professors and associate professors in Vietnam and enhance
international integration, it is necessary to construct a software supporting the application and
regconization of those titles. This artcile proposes to build a system-management module for the
software supporting those procedures in Vietnam. This is a very important module and a foundation on
which functional modules will be constructed.
Keywords: Professor, software, administration.
cường hội nhập quốc tế, xây dựng hệ thống
phần mền hỗ trợ cơng nhận đạt tiêu chuẩn
trực tuyến là rất cần thiết.
Hệ thống phần mềm hỗ trợ cơng tác
xét cơng nhận đạt tiêu chuẩn chức danh
GS, PGS là hệ thống phần mềm có nhiều
người dụng cùng sử dụng hệ thống cùng
một thời gian. Hệ thống có nhiều quyền
sử dụng phù hợp với những quy trình
đăng kí xét duyệt GS, PGS. Hệ thống
1. Giới thiệu
Phát triển các lĩnh vực Giáo dục, Khoa
học - Cơng nghệ để xây dựng đất nước là
trách nhiệm của tồn Đảng, tồn dân và
của tồn xã hội, trong đó đội ngũ Giáo sư
(GS) và Phó giáo sư (PGS) là lực lượng
nòng cốt, giữ vai trò quyết định và dẫn dắt
việc phát triển sự nghiệp đào tạo và nghiên
cứu khoa học của Việt Nam. Nhằm nâng
cao chất lượng đội ngũ GS, PGS và tằng
79
gồm có nhiều quyền sử dụng, nhiều danh
mục quản lý. Mục tiêu của bài báo này
nhằm xây một module quản trị hệ thống
quản lý các danh mục cũng như người
dùng là điều rất cần thiết giúp hệ thống
được vận hành một cách thông suốt và
chính xác.
2. Tổng quan module quản trị hệ thống
Module quản trị hệ thống bao gồm các
chứ năng:
Quản lý người dùng
o Thêm người dùng mới
o Thay đổi thông tin người dùng
o Xóa người dùng khỏi CSDL
Quản lý phân quyền người dùng
o Thêm các vai trò mới
Module
quản trị hệ
thống
o Thay đổi thông tin vai trò
o Gán người dùng cho các vai trò
của hệ thống
o Gán các vai trò với các hội đồng
Quản lý hệ thống danh mục sử
dụng trong hệ thống
o Danh mục tỉnh thành
o Danh mục ngành/lĩnh vực
o Danh mục chuyên ngành
o Danh mục dân tộc
o Danh mục hội đồng ngành/cơ sở
o Danh mục các loại công bố
o Danh mục các đợt xét duyệt
Đóng mở hệ thống
o Đóng hệ thống
o Mở hệ thống
Phân
quyền
người
dùng
Quản lý
người
dùng
Đóng mở
hệ thống
Quản lý hệ
thống danh
mục
Hình 1: Sơ đồ tổng quan module quản trị hệ thống
3. Xây dựng chi tiết về module quản trị hệ thống
3.1. Quản lý người dùng
Quản lý
người
dùng
Thay đổi
thông tin
người
dùng
Thêm
người
dùng
Xóa người
dùng
Hình 2. Hệ thống quản lý người dùng
o Người quản trị: thêm, sửa, xóa các
tài khoản không phải là ứng viên
o Các ứng viên: đăng ký tài khoản
online
- Tên bảng: tbl_user
Cơ sở dữ liệu quản lý người dùng
a. Thông tin chức năng
- Lưu các thông tin về tài khoản của
người dùng hệ thống
- Tác nhân tác động:
80
b. Luồng sự kiện chính
Hành động của tác nhân
Khi nhấn nút Thêm mới
Phản ứng của hệ thống
Sinh ra 1 bản ghi người dùng mới
Nhập thông tin chung với các trường dữ liệu
Hiển thị nút ‘Lưu thay đổi’
Chọn nút ‘Lưu thay đổi’
Ghi bản ghi vào CSDL
Xóa
Xóa bản ghi khỏi CSDL.
c. Các trường dữ liệu của bảng tbl_user
Trường dữ liệu
Tên trên DB
Kiểu dữ liệu
Ghi chú
ID *
INT
Auto inscrease
Tên truy cập *
User_ID
UserName
Mật khẩu *
Password
Varchar(16)
Mô tả
Description
Varchar(256)
Varchar(16)
Có đang Active không * IsActive
TINYINT(1)
Tên đầy đủ
FullName
Varchar(64)
Email *
Email
Varchar(64)
Vai trò
Role_ID
INT
Mã hóa
Lúc đầu khi người dùng mới
đăng ký mà chưa activate qua
mail IsActive = 0
=NULL nếu chưa phân quyền
Triển khai xây dựng chức năng quản lý người dùng
Chức năng thêm, sửa, xóa người dùng tại AdminController
public function add_user(){
$role_lst = [];
$role_lst[]="Chưa phân quyền";
foreach (Role::all() as $role) {
$role_lst[$role->Role_ID] = $role->Name;
}
return view('admin.add_user', compact('role_lst'));
}
public function edit_user($id){
$user = User::findorFail($id);
$role_lst = [];
$role_lst['0']="Chưa phân quyền";
foreach (Role::all() as $role) {
$role_lst[$role->Role_ID] = $role->Name;
}
return view('admin.edit_user', compact('user','role_lst'));
}
81
3.2. Phân quyền người dùng
Tổng quan phần phân quyền người dùng của module quản trị hệ thống
Thêm vai
trò người
dùng
Phân
quyền
người
dùng
Thay đổi
thông tin
vai trò
Gán người
dùng cho các
vai trò HT
Gán các
vai trò với
các hội
đồng
Hình 3. Hệ thống phân quyền người dùng
Quản trị viên nhập thông tin để thêm vai trò người dùng hoặc thêm vai trò người dùng
thuộc hội đồng cơ sở. Quản trị viên nhập đủ thông tin và nhấn nút Thêm.
người dùng hệ thống
- Tác nhân tác động:
o Người quản trị: thêm, sửa, xóa
- Tên bảng: tbl_role
Cơ sở dữ liệu phân quyền người dùng
Quản lý vai trò người dùng
a, Thông tin chức năng
- Lưu các thông tin về vai trò của
b, Luồng sự kiện chính
Hành động của tác nhân
Phản ứng của hệ thống
Khi nhấn nút Thêm mới
Sinh ra 1 bản ghi vai trò mới
Nhập thông tin chung với các trường dữ liệu
Hiển thị nút ‘Lưu thay đổi’
Chọn nút ‘Lưu thay đổi’
Ghi bản ghi vào CSDL
Xóa
Xóa bản ghi khỏi CSDL.
c, Các trường trong bảng tbl_role
Trường dữ liệu
ID *
Mã vai trò *
Tên vai trò *
Mô tả
Loại vai trò *
Kiểu dữ liệu
TINYINT
Varchar(16)
Varchar(64)
Varchar(256)
TINYINT
Tên trên DB
Role_ID
Value
Name
Description
RoleType
82
Ghi chú
Auto inscrease
=0: quản trị viên
=1: hội đồng nhà nước
=2: hội đồng chuyên
ngành
=3: hội đồng cơ sở
=4: ủy viên
=5: ứng viên
- Bảng dữ liệu này đảm bảo rằng khi
một ủy viên thuộc hội đồng A đăng nhập
hệ thống sẽ chỉ nhìn thấy dữ liệu của hội
đồng mình, mà không nhìn được dữ liệu
của các hội đồng khác.
- Tác nhân tác động:
o Người quản trị: thêm, sửa, xóa các
phân quyền
- Tên bảng: tbl_role_council
Quản lý vai trò người dùng thuộc các
hội đồng
a, Thông tin chức năng
- Phân vai trò cho các hội đồng:
một hội đồng có nhiều vai trò như chủ
tịch, thư ký, ủy viên. Một vai trò cũng có
thể thuộc về nhiều hội đồng. Do đó mối
quan hệ giữa vai trò và hội đồng là nhiều
– nhiều.
b, Luồng sự kiện chính
Hành động của tác nhân
Phản ứng của hệ thống
Người quản trị chọn vai trò, và chọn hội
đồng tương ứng
Khi nhấn nút Thêm mới
Sinh ra 1 bản ghi mới trong vào danh sách
Nhập thông tin chung với các trường dữ liệu Hiển thị nút ‘Lưu thay đổi’
Chọn nút ‘Lưu thay đổi’
Ghi bản ghi vào CSDL
Xóa
Xóa bản ghi khỏi CSDL.
c, Các trường trong CSDL của bảng tbl_role_council
Trường dữ liệu
ID *
Vai trò *
Hội đồng *
Mô tả
Tên trên DB
ID
Role_ID
Council_ID
Description
Kiểu dữ liệu
TINYINT
TINYINT
TINYINT
Varchar(256)
Ghi chú
Auto inscrease
d, Triển khai phân quyền người dùng
Sau khi đăng nhập, hệ thống sẽ kiểm tra ($role_type == && $is_active == ) để phân
quyền cho người dùng ở tác nhân nào của hệ thống
if($authdata)
{
$user = User::where('Email', $user);
$user = $user->first();
$is_active = $user->IsActive;
$id = $user->User_ID;
$role_id = $user->Role_ID;
$role = Role::where('Role_ID', $role_id);
$role = $role->first();
$role_type = $role->RoleType;
Session::put('user_ID', $id);
if($role_type == 5 && $is_active == 1)
................................
83
3.3. Quản lý hệ thống danh mục
Quản lý
hệ thống
danh
mục
Danh
mục lĩnh
vực
Danh
mục
chuyên
ngành
Danh mục
hội đồng
ngành/ cơ
sở
Danh
mục loại
công bố
Danh
mục đợt
sét duyệt
Hình 41. Hệ thống quản lý danh mục
o Người quản trị: thêm sửa xóa
o Người dùng khác: chỉ xem thông tin
- Tên bảng: tbl_topic
Danh mục các lĩnh vực (ngành)
a, Thông tin chức năng
- Tác nhân tác động:
b, Luồng sự kiện chính
Hành động của tác nhân
Phản ứng của hệ thống
Khi nhấn nút Thêm mới
Sinh ra 1 bản ghi lĩnh vực mới
Nhập thông tin chung với các trường dữ liệu
Hiển thị nút ‘Lưu thay đổi’
Chọn nút ‘Lưu thay đổi’
Ghi bản ghi vào CSDL
Xóa
Chỉ xóa khi bản ghi chưa được chọn ở
các mục khác.
c, Các trường dữ liệu trong bảng tbl_topic
Trường dữ liệu
Tên trên DB
Kiểu dữ liệu
Ghi chú
ID *
Topic_ID
TINYINT
Auto inscrease
Mã ngành *
Value
Varchar(16)
Tên ngành *
Name
Varchar(64)
Tên tiếng Anh
Eng_Name
Varchar(64)
Mô tả
Description
Varchar(256)
Định dạng hiển thị:
tên ngành tiếng Việt (Tên tiếng
anh)
o Người quản trị: thêm, sửa, xóa
o Người dùng khác: chỉ xem thông tin
- Tên bảng: tbl_major
Danh mục các chuyên ngành khoa học
a, Thông tin chức năng
- Tác nhân tác động:
84
b, Luồng sự kiện chính
Hành động của tác nhân
Khi nhấn nút Thêm mới
Phản ứng của hệ thống
Sinh ra 1 bản ghi chuyên ngành mới
Nhập thông tin chung với các Hiển thị nút ‘Lưu thay đổi’
trường dữ liệu
Chọn nút ‘Lưu thay đổi’
Ghi bản ghi vào CSDL
Xóa
Chỉ xóa khi bản ghi chưa được chọn ở các mục khác.
c, Các trường dữ liệu trong bảng tbl_major
Trường dữ liệu
Tên trên DB
Kiểu dữ liệu
Ghi chú
ID *
Major_ID
TINYINT
Auto inscrease
Mã chuyên ngành * Value
Varchar(16)
Tên chuyên ngành * Name
Varchar(64)
Tên tiếng Anh
Eng_Name
Varchar(64)
Mô tả
Description
Varchar(256)
Thuộc ngành *
Topic_ID
TINYINT
Khi hiển thị: tên chuyên
ngành tiếng Việt (Tên
tiếng anh)
o Người quản trị: thêm sửa xóa
o Người dùng khác: chỉ xem thông tin
- Tên bảng: tbl_council
Danh mục các hội đồng ngành/cơ sở
a, Thông tin chức năng
- Tác nhân tác động:
b, Luồng sự kiện chính
Hành động của tác nhân
Phản ứng của hệ thống
Khi nhấn nút Thêm mới
Sinh ra 1 bản ghi hội đồng cơ sở/ ngành
mới
Nhập thông tin chung với các trường dữ liệu
Hiển thị nút ‘Lưu thay đổi’
Chọn nút ‘Lưu thay đổi’
Ghi bản ghi vào CSDL
Xóa
Chỉ xóa khi bản ghi chưa được chọn ở
các mục khác.
c, Các trường dữ liệu trong bảng tbl_council
Trường dữ liệu
Tên trên DB
Kiểu dữ liệu
Ghi chú
ID *
Council_ID
TINYINT
Auto inscrease
Mã hội đồng *
Value
Varchar(16)
85
Tên hội đồng *
Name
Varchar(64)
Mô tả
Description
Varchar(256)
Chủ tịch hội đồng
Chairman
Varchar(64)
Là hội đồng
ngành/cơ sở *
IsSubCouncil
TINYINT(1)
= 0: hội đồng cơ sở
= 1: hội đồng ngành
o Người quản trị: thêm, sửa, xóa
o Người dùng khác: chỉ xem thông tin
- Tên bảng: tbl_publication_type
Danh mục các loại công bố
a, Thông tin chức năng
- Tác nhân tác động:
b, Luồng sự kiện chính
Hành động của tác nhân
Phản ứng của hệ thống
Khi nhấn nút Thêm mới
Sinh ra 1 bản ghi loại công bố mới
Nhập thông tin chung với các trường dữ liệu
Hiển thị nút ‘Lưu thay đổi’
Chọn nút ‘Lưu thay đổi’
Ghi bản ghi vào CSDL
Xóa
Chỉ xóa khi bản ghi chưa được chọn
ở các mục khác.
c, Các trường dữ liệu trong bảng tbl_publication_type
Trường dữ liệu
Tên trên DB
Kiểu dữ liệu
Ghi chú
ID *
PublicationType_ID
TINYINT
Auto inscrease
Mã loại công bố *
Value
Varchar(16)
Tên loại công bố *
Name
Varchar(64)
Mô tả
Description
Varchar(256)
o Người quản trị: thêm, sửa, xóa
o Người dùng khác: chỉ xem thông tin
- Tên bảng: tbl_period
Danh mục đợt xét duyệt (năm xét duyệt)
a, Thông tin chức năng
- Tác nhân tác động:
b, Luồng sự kiện chính
Hành động của tác nhân
Phản ứng của hệ thống
Khi nhấn nút Thêm mới
Sinh ra 1 bản ghi đợt xét duyệt mới
Nhập thông tin chung với các trường dữ liệu
Hiển thị nút ‘Lưu thay đổi’
Chọn nút ‘Lưu thay đổi’
Ghi bản ghi vào CSDL
Xóa
Chỉ xóa khi bản ghi chưa được chọn
ở các mục khác.
86
c, Các trường trong CSDL của bảng tbl_period
Trường dữ liệu
Tên trên DB
Kiểu dữ liệu
Ghi chú
ID *
Period_ID
INT
Auto inscrease
Mã đợt xét duyệt *
Value
Varchar(16)
Mặc định = năm đang xét
Tên đợt xét duyệt *
Name
Varchar(16)
Mặc định = năm đang xét
Mô tả
Description
Varchar(256)
Mở đợt xét duyệt *
IsOpen
TINYINT(1)
=0: đóng đợt xét duyệt
=1: mở kỳ xét duyệt
Sau khi khai xong, hệ thống sẽ đóng để các ủy
viên hội đồng chấm và thực hiện quá trình xét
duyệt. Quản trị viên sẽ đóng, mở hệ thống vào
ngày chỉ định theo lịch của hội đồng chức
danh giáo sư nhà nước.
3.4. Đóng mở hệ thống
Hệ thống xét duyệt được mở và đóng vào
ngày chỉ định do đó, vào thời gian cho phép
ứng viên vào hệ thống khai thông tin để tham
gia vào quá trình xét duyệt ứng viên GS, PGS.
Quá trình đóng hệ thống cho từng quyền người sử dụng.
public function getIsOpen(){
$isopen = Period::where('Name', 2016)->first();
return view('admin.is-open')->with([
'isopen' => $isopen,
]);
}
public function changeOpenCandidate()
{
$isopencandidate = Period::where('Name', 2016)->first();
if($isopencandidate->IsOpenCandidate){
$isopencandidate->IsOpenCandidate = 0;
$isopencandidate->update();
return Redirect::route('getIsOpen');
}
Khi quản trị viên đóng hệ thống ở role
nào thì role đó sẽ chỉ có thể xem mà không
được sửa, xóa bất kì thao tác nào đã thực
hiện trước đó. Quản lý đóng mở hệ thống
đã bảo tính pháp lý, trung thực của hệ
thống xét duyệt.
4. Kết luận
Vai trò của module quản trị hệ thống
là rất quan trọng trong hệ thống hỗ trợ xét
duyệt chức danh GS, PGS. Module giúp
quản trị viên quản lý các danh mục trong
hệ thống giúp hệ thống hoạt động chính
xác, tối ưu nhất.
Bài viết trên đã trình bày chi tiết từng
phần trong module quản trị hệ thống. Từ
góc nhìn người sử dụng, đến góc nhìn cơ
87
sở dữ liệu và triển khai. Từ đó, góp phần
tối ưu cũng như cải tiến cho hệ thống ngày
càng thuận tiện và chính xác hơn. Đồng
thời, bài viết cũng đưa ra hướng nghiên
cứu tiếp theo đối với tác giả, đó là hoàn
thiện các module chức năng trực thuộc
module quản trị hệ thống nhằm hoàn thiện
hệ thống phần mền và đưa hệ thống phần
mềm vào triển khai hỗ trợ công tác xét
công nhận đạt tiêu chuẩn chức danh GS,
PGS của Việt Nam.
Ngày nhận bài: 26/11/2016
TÀI LIỆU THAM KHẢO
1. />2. />ublications/authors/author_submission.html
3. o/doc/authors.html
4. Biểu mẫu đăng ký xét duyệt chức danh
PGS/GS năm 2015, Hội đồng Chức danh
Giáo sư Nhà nước.
5. />6. Thạc Bình Cường (2002), Giáo trình phân
tích và thiết kế hệ thống thông tin, Nxb Khoa
học và Kỹ thuật.
Biên tập xong: 15/12/2016
88
Duyệt đăng: 20/12/2016