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ư

Tài liệu 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ư: TAÏP CHÍ KHOA HOÏC ÑAÏI HOÏC SAØI GOØN Soá 23 (48) - Thaùng 12/2016 79 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 ...

pdf10 trang | Chia sẻ: quangot475 | Lượt xem: 390 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu 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ư, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
TAÏP CHÍ KHOA HOÏC ÑAÏI HOÏC SAØI GOØN Soá 23 (48) - Thaùng 12/2016 79 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. 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 toàn Đảng, toàn dân và của toà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 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 80 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 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 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 Hình 2. Hệ thống quản lý người dùng 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: 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 Module quản trị hệ thống Quản lý người dùng Phân quyền người dùng Quản lý hệ thống danh mục Đóng mở hệ thống Quản lý người dùng Thêm người dùng Thay đổi thông tin người dùng Xóa người dùng 81 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 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 * User_ID INT Auto inscrease Tên truy cập * UserName Varchar(16) Mật khẩu * Password Varchar(16) Mã hóa Mô tả Description Varchar(256) Có đang Active không * IsActive TINYINT(1) Lúc đầu khi người dùng mới đăng ký mà chưa activate qua mail IsActive = 0 Tên đầy đủ FullName Varchar(64) Email * Email Varchar(64) Vai trò Role_ID INT =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')); } 82 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 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. 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 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 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 Tên trên DB Kiểu dữ liệu Ghi chú ID * Role_ID TINYINT Auto inscrease Mã vai trò * Value Varchar(16) Tên vai trò * Name Varchar(64) Mô tả Description Varchar(256) Loại vai trò * RoleType TINYINT =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 Phân quyền người dùng Thêm vai trò 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 83 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ả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 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 Tên trên DB Kiểu dữ liệu Ghi chú ID * ID TINYINT Auto inscrease Vai trò * Role_ID TINYINT Hội đồng * Council_ID TINYINT Mô tả Description Varchar(256) 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) ................................ 84 3.3. Quản lý hệ thống danh mục Hình 41. Hệ thống quản lý danh mục 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: 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 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) Định dạng hiển thị: tên ngành tiếng Việt (Tên tiếng anh) Mô tả Description Varchar(256) 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: 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 lĩnh vực Quản lý hệ thống danh mụ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 85 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 chuyên 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_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) Khi hiển thị: tên chuyên ngành tiếng Việt (Tên tiếng anh) Mô tả Description Varchar(256) Thuộc ngành * Topic_ID TINYINT 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: 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 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) 86 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 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: 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 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) 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: 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 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. 87 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 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. 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. 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ơ 88 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. TÀI LIỆU THAM KHẢO 1. 2. ublications/authors/author_submission.html 3. https://edas.info/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. https://laravel.com/ 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. Ngày nhận bài: 26/11/2016 Biên tập xong: 15/12/2016 Duyệt đăng: 20/12/2016

Các file đính kèm theo tài liệu này:

  • pdf149_3037_2215201.pdf
Tài liệu liên quan