Cài đặt chương trình

Một phần của tài liệu Xây dựng một ứng dụng Quản lý phân công giảng dạy cho Khoa CNTT, Đại học Sài Gòn (Trang 92 - 121)

7. Ý nghĩa đề tài

4.2.Cài đặt chương trình

Ứng dụng được cài đặt sử dụng Zend Framework phiên bản 1.11.1 và PHP phiên bản 5.3.3.

Trong ứng dụng của mình, tôi sẽ kết hợp mô hình MVC và mô hình phân lớp để chia nhỏ các thành phần của ứng dụng ra, tiện lợi cho việc phân tích, thiết kế, cài đặt, nâng cấp…

Cụ thể các thành phần trong ứng dụng của tôi sẽ như sau

- Controller : sử dụng Zend_Controller : giúp lấy các request từ phía Client và thực thi nó bằng các Action.

- View : sử dụng Zend_View : giúp chúng ta hiển thị những kết quả trong

xử lý Controller và Models ra bên ngoài.

- Model : được chia nhỏ ra thành hai phần :

o BLL

o DAL : sử dụng Zend_Db_Table.

hơn để phù hợp với yêu cầu và qui mô của việc quản lý phân công của Khoa, đồng thời cũng có khả năng mở rộng để sử dụng cho các khoa khác trong trường.

Ứng dụng bao gồm các chức năng sau :

- Chức năng quản lý người dùng : thêm, sửa, xóa người dùng.

- Chức năng quản lý giảng viên : thêm, sửa, xóa giảng viên, lọc giảng viên theo yêu cầu của người dùng.

- Chức năng quản lý ngạch : thêm, sửa, xóa ngạch.

- Chức năng quản lý chức danh – học vị : thêm, sửa, xóa chức danh – học

vị.

- Chức năng quản lý đơn vị công tác : thêm, sửa, xóa đơn vị công tác.

- Chức năng quản lý học phần : thêm, sửa, xóa học phần lọc học phần theo yêu cầu của người dùng.

- Chức năng quản lý khối lớp : thêm, sửa, xóa khối lớp.

- Chức năng quản lý nhóm lớp : thêm, sửa, xóa nhóm lớp, lọc nhóm lớp

theo yêu cầu của người dùng.

- Chức năng tự động phát sinh nhóm lớp : tự động phát sinh nhiều nhóm

lớp cùng lúc theo khối lớp và học phần được chọn.

- Chức năng phân công giảng dạy : phân công giảng viên giảng dạy cho

các khối lớp, lọc nhóm lớp theo yêu cầu của người dùng.

- Chức năng xem phân công : thống kê số tiết được phân công của từng

giảng viên theo học kỳ và theo năm học.

- Chức năng phân công công tác khác : phân công công tác khác cho giảng viên cơ hữu.

- Chức năng quản lý công tác khác : thêm, sửa, xóa công tác khác.

- Chức năng báo cáo phân công giảng dạy : xuất các mẫu báo cáo theo quy định của nhà trường (Kế hoạch Phân công giảng dạy cho giáo viên cơ hữu, Kế hoạch thỉnh giảng, Kế hoạch mời giảng khoa khác, Kế hoạch phân công mời giảng cho khoa khác, Kế hoạch mở nhóm mỗi học kì).

KẾT LUẬN

1. Kết quả đạt được

- Nghiên cứu và áp dụng những công nghệ mới, được sử dụng phổ biến về xây dựng website như Zend Framework, jQuery, Ajax…

- Xây dựng được một ứng dụng web tương đối hoàn chỉnh, hỗ trợ người dùng

nhập liệu, tự động phát sinh nhóm lớp, xuất report…

• Chương trình có khả năng tái sử dụng, có khả năng mở rộng, có khả

năng thay đổi giao diện không ảnh hưởng đến xử lý và dữ liệu.

• Ứng dụng được xây dựng theo mô hình phân lớp rõ ràng.

• Hỗ trợ việc quản lý phân công giảng viên.

• Cho phép quản lý, điều hành việc phân công mọi lúc mọi nơi.

• Nhiều chức năng mới hỗ trợ cho việc quản lý.

• Giảm thiểu các thao tác, chức năng thừa.

• Dễ sử dụng, dễ điều chỉnh phù hợp yêu cầu thực tế của việc quản lý

phân công.

• Có thể xuất report dạng excel giống như file excel trước khi có ứng

dụng.

- Có tài liệu hướng dẫn sử dụng ứng dụng.

2. Hạn chế và hướng phát triển

2.1. Hạn chế

- Kinh nghiệm thiết kế chưa nhiều.

- Vì thời gian có hạn nên chưa hoàn thành chức năng tính thù lao giảng dạy.

2.2. Hướng phát triển

DANH MỤC TÀI LIỆU THAM KHẢO

[1]. Armando Padilla (2009) , Beginning Zend Framework, Apress.

[2]. Cal Evans (2007), Guide to Programming with Zend Framework, Marco Tabini

& Associates, Inc.

[3]. Forrest Lyman (2009), Pro Zend Framework Techniques, Apress.

[4]. Nick Lo, Rob Allen (2007), Zend Framework in Action, Manning Publications. [5]. Vikram Vaswani (2010), Zend Framework: A Beginner's Guide, McGraw-Hill

Professional.

[6]. W.J. Gilmore (2009), Easy PHP Websites with the Zend Framework, W.J. Gilmore, LLC.

[7]. http://framework.zend.com/ [8]. http://devzone.zend.com [9]. http://www.zend.vn/

PHỤ LỤC Phụ lục A : Hướng dẫn sử dụng

1. Đăng nhập hệ thống

- Vào ứng dụng theo link http://localhost/QLPC/public/index.php/

- Nhập username, password, khoa và năm học hiện tại sau đó nhấn nút

“đăng nhập”.

Hình A.1 : Màn hình đăng nhập

2. Quản lý giảng viên

Lưu ý :

• Các chức năng quản lý user, ngạch, đơn vị, chức danh – học vị, học

phần, khối lớp, nhóm lớp, công tác khác làm tương tự.

• Trước khi thêm giảng viên, cần phải thêm ngạch, chức danh – học vị

và đơn vị công tác của giảng viên đó.

• Trước khi thêm nhóm lớp, cần phải thêm khối lớp và học phần của

nhóm lớp đó.

2.1. Thêm giảng viên

- Chọn chức năng “Quản lý giảng viên” , hệ thống sẽ hiển thị trang quản lý giảng viên như sau

Hình A.2 : Màn hình quản lý giảng viên

- Nhấn vào nút “Thêm Giảng viên Mới” ở góc trên bên trái, hệ thống sẽ chuyển sang trang thêm giảng viên :

- Nhập thông tin giảng viên cần thêm, những chữ màu đỏ là thông tin bắt buộc phải điền.

- Nhấn nút “Thêm Giảng Viên” để thêm giảng viên mới.

2.2. Sửa giảng viên

- Vào tab “Giảng viên”.

- Chọn chức năng “Quản lý giảng viên” , hệ thống sẽ hiển thị trang quản lý giảng viên như sau

Hình A.4 : Màn hình quản lý giảng viên

- Nhấn vào hình cây bút chì kế bên giảng viên cần sửa, hệ thống sẽ chuyển sang trang sửa giảng viên :

Hình A.5 : Màn hình sửa giảng viên

- Chỉnh sửa những thông tin cần sửa, những chữ màu đỏ là thông

tin bắt buộc phải điền.

- Nhấn nút “Sửa” để lưu thông tin vừa sửa.

2.3. Xóa giảng viên

- Vào tab “Giảng viên”.

- Chọn chức năng “Quản lý giảng viên” , hệ thống sẽ hiển thị trang quản lý giảng viên như sau

- Nhấn vào hình dấu X kế bên giảng viên cần xóa, hệ thống sẽ chuyển sang trang xóa giảng viên :

Hình A.7: Màn hình sửa giảng viên

- Chọn “Có” nếu muốn xóa giảng viên đó, chọn “Không” để quay

lại trang quản lý giảng viên.

3. Tự động phát sinh nhóm lớp

- Vào tab “Kế hoạch đào tạo”

- Chọn chức năng “Tự động phát sinh nhóm lớp” , hệ thống sẽ hiển thị trang

- Chọn năm học.

- Chọn học kỳ.

- Chọn khối lớp.

- Hệ thống sẽ tự động phát sinh mã học phần dành cho khối lớp được chọn

theo học kỳ và năm học được chọn.

Hình A.9 : Màn hình tự động phát sinh nhóm lớp (đã phát sinh mã học phần)

- Nhập số sinh viên dự kiến cho mỗi nhóm lớp hoặc số nhóm lớp.

- Có thể thêm, sửa, xóa mã học phần trực tiếp trong phần mã học phần.

- Nhấn “Phát sinh nhóm lớp ”, hệ thống sẽ tự động phát sinh nhóm lớp theo

những gì người dùng đã yêu cầu.

Lưu ý : Nếu học phần người dùng nhập vào (trong phần mã học phần) không có

trong danh mục học phần, hệ thống sẽ bỏ qua không phát sinh nhóm lớp cho học phần đó.

4. Phân công

- Vào tab “Phân công”.

- Chọn chức năng “Phân công giảng dạy” , hệ thống load tất cả các nhóm

Hình A.10 : Màn hình phân công

- Cột phân công là tên giảng viên giảng dạy nhóm lớp đó, nếu để trống là nhóm lớp đó chưa được phân công giảng viên giảng dạy.

- Nhấn vào combobox phân công kế bên nhóm lớp cần phân công.

- Lựa chọn giảng viên giảng dạy cho nhóm lớp.

- Nhấn nút “lưu phân công” để lưu những gì mình vừa phân công.

- Lọc nhóm lớp theo Khoa phụ trách, Khoa dạy, Học kỳ, Năm học, Khối

lớp, Tên Học phần bằng cách chọn những thông tin cần lọc dưới chữ “Danh sách phân công” sau đó nhấn nút “Lọc”.

5. Xem phân công

- Vào tab “Phân công”.

- Chọn chức năng “Xem phân công” , hệ thống sẽ hiển thị họ tên tất cả các giảng viên, số tiết giảng viên đó giảng dạy trong học kỳ I, học kỳ II và cả năm.

- Nhấn vào biểu tượng kính lúp trước tên giảng viên để xem các lớp giảng

Hình A.11 : Màn hình xem phân công

- Lọc giảng viên theo Tên giảng viên, Loại hình, Năm học bằng cách chọn

những thông tin cần lọc dưới chữ “Thống kê số tiết của từng giảng viên” sau đó nhấn nút “Lọc”.

6. Thống kê báo cáo

- Vào tab “Thống kê báo cáo” , hệ thống sẽ hiển thị trang tạo báo cáo.

- Chọn khoa phụ trách, năm học, và mẫu báo cáo cần phát sinh, sau đó nhấn

vào nút “Phát sinh báo cáo”, hệ thống sẽ tự phát sinh báo cáo theo yêu cầu dưới dạng file excel 2007.

Phụ lục B : Ví dụ chi tiết về code Zend Framework

1. Hướng dẫn cài đặt ứng dụng quản lý phân công

Bước 1 : Chạy file ZendServer.exe trong thư mục Soft. Sau khi màn hình cài đặt

Zend Server hiện ra, bấm next 2 lần.

Hình B.1 : Màn hình cài đặt zend lúc khởi động

Bước 3 :Ở màn hình tiếp theo, click chọn phpMyAdmin rồi bấm next

Hình B.3 : Màn hình chọn phpMyAdmin khi cài đặt zend

Bước 5 : Tiến hành cài đặt Zend Server trên web như sau

Hình B.5 : Đồng ý điều khoản

Màn hình cuối cùng khi hoàn tất cài đặt như sau

Hình B.7 : Màn hình hoàn tất cài đặt

Bước 6 :Vào phpMyAdmin theo link http://localhost/phpMyadmin .

Bước 7 :Đặt password là “123456” cho user root của localhost .

Bước 8 :Trong phpMyAdmin tạo cơ sở dữ liệu tên là “qlpc” với Collation là

utf8_unicode_ci. Sau đó import file qlpc.sql trong thư mục Data vào.

Bước 9 :Chép thư mục QLPC trong thư mục Code vào C:\Program

Files\Zend\Apache2\htdocs (với C:\Program Files là ổ đĩa cài đặt Zend ở bước 4).

Bước 10 : Vào ứng dụng theo link http://localhost/QLPC/public/index.php/ với

username và password là “admin”.

2. Hướng dẫn code

Trong phần này, chúng ta sẽ tìm hiểu cách code Zend Frameword thông qua việc code chức năng Quản lý ngạch.

2.1. Yêu cầu :

2.2. Sơ lược chức năng

Chức năng quản lý ngạch là chức năng khá đơn giản, chức năng này sẽ cần bốn trang giao diện là trang quản lý, trang thêm, trang sửa và trang xóa. Công dụng của từng trang như sau :

- Trang quản lý : hiển thị danh sách ngạch cho phép người dùng sửa và xóa. Đồng thời cũng cho phép người dùng thêm một ngạch mới.

- Trang thêm : cung cấp một form cho người dùng thêm ngạch mới.

- Trang sửa : cung cấp một form cho người dùng sửa ngạch cũ.

- Trang xóa : xác nhận người dùng có muốn xóa ngạch hay không, sau đó xóa

ngạch đó nếu được người dùng xác nhận.

2.3. Cơ sở dữ liệu

Chúng ta chỉ cần tạo một bảng cơ sở dữ liệu để chứa dữ liệu cho chức năng này, các thành phần của bảng đó như sau :

Bảng B.1 : Bảng cơ sở dữ liệu cho chức năng quản lý ngạch

Cách tạo bằng lệnh SQL :

CREATE TABLE ngach (

id int(11) NOT NULL auto_increment, MaNgach varchar(30) NOT NULL, TenNgach varchar(100) NOT NULL, GhiChu longtext NULL,

2.4. Xây dựng ứng dụng

Bước 1 : Mở Zend Studio.

Bước 2 : Vào New Zend Framework Project để tạo một project mới, ở đây

tôi đặt tên project là QLNGACH. Vậy trong Project name tôi sẽ điền “QLNGACH” sau đó bấm Finish. Zend sẽ tạo cho ta thư mục QLNGACH với cấu trúc cây thư mục như sau

Hình B.8 : Cấu trúc cây thư mục

Ở đây chúng ta kết hợp mô hình MVC và mô hình phân lớp, nên trong thư mục models chúng ta sẽ thêm hai thư mục mới là BLL và DAL bằng cách click phải vào thư

Bước 3 : Ở đây tôi mặc định trang index là trang quản lý. Chúng ta cần tạo ra ba action mới cho ứng dụng của chúng ta là thêm, sửa, xóa bằng cách từ Zend Studio nhấn Ctrl + 2 để hiện ra bảng như sau

Hình B.9 : Zend Tool

Lần lượt nhập các dòng sau đây để tạo ba action thêm, sửa, xóa : zf create action them Index

zf create action sua Index zf create action xoa Index

Bước 4 :Kết nối cơ sở dữ liệu bằng cách từ cấu trúc cây thư mục QLNGACH

vừa tạo, ta vào application/configs/application.ini sau đó thêm những dòng sau vào cuối phần [production] :

resources.db.adapter = PDO_MYSQL resources.db.params.host = localhost

resources.db.params.username = Tên để đăng nhập vào phpMyadmin. resources.db.params.password = Password để đăng nhập vào phpMyadmin. resources.db.params.dbname = Tên cơ sở dữ liệu ngạch vừa tạo ở trên.

Bước 5 :Click phải vào thư mục BLL (trong application/model/BLL) chọn

New Class, đặt tên Class như sau Application_Model_BLL_BLLNgach.

Đầu tiên ta sẽ khai báo các thuộc tính của ngạch và các phương thức get và set các thuộc tính này

Bước 6 :Tươngtự, ta tạo class mới trong application/model/DAL với tên class như sau Application_Model_DAL_DALNGACH. Class này sẽ thừa kế từ

Zend_Db_Table_Abstract.

Ta khai báo tên table trong cơ sở dữ liệu để DAL kết nối như sau :

Bước 7 : Tạo trang quản lý.

Trang quản lý sẽ hiển thị tất cả dữ liệu trong cơ sở dữ liệu. Vì lớp DAL đã thừa kế từ Zend_Db_Table cũng đã thừa kế phương thức fetchAll để lấy tất cả dữ liệu.

Ở BLL, ta sẽ lấy dữ liệu từ DAL và truyền vào một mảng

Sau khi đã set dữ liệu ở BLL, ở Controller (/application/ controllers/ IndexController.php) ta chỉ việc gọi lại BLL và xuất thông tin ra view để hiển thị

function indexAction() {

$ngach = Application_Model_BLL_BLLNgach::getAll(); $this->view->ngach= $ngach;

Chúng ta đưa dữ liệu vào view như sau

Màn hình hiển thị

Bước 8 : Tạo form để thêm và sửa ngạch.

Chúng ta tạo form để giúp người dùng thêm và sửa ngạch bằng cách từ Zend Studio nhấn Ctrl + 2 để hiển thị bảng zf command, sau đó gõ lệnh sau vào bảng zf command

zf create form Ngach

Với lệnh trên, Zend Framework sẽ tự động tạo ra class

Application_Form_Ngach thừa kế từ Zend_Form trong thư mục application/forms. Để tạo form gồm 2 textbox, 1 text area và 1 button submit để thêm hoặc sửa ngạch ta code như sau

Bước 9 : Tạo trang thêm ngạch

Để thêm ngạch, trong Controller ta gọi form vừa tạo. Sau đó khi người dùng nhấn submit ta sẽ kiểm tra và gửi dữ liệu về model

Ở view, ta sẽ hiển thị form

Ở BLL, ta truyền dữ liệu từ controller về DAL

Cuối cùng, ở DAL ta thêm dữ liệu được truyền về xuống cơ sở dữ liệu

Bước 10 : Tạo trang sửa ngạch

Để sửa ngạch, trong Controller ta sẽ load dữ liệu lên form vừa tạo. Sau khi người dùng nhấn submit ta sẽ kiểm tra và gửi dữ liệu về model

Ở view, ta sẽ hiển thị form

Ở BLL, ta lấy dữ liệu để load lên form bằng cách lấy toàn bộ dữ liệu theo khóa chính và truyền vào một mảng, từ mảng đó ta đưa về controller để xuất ra view

Sau khi người dùng bấm submit, ta truyền dữ liệu từ controller về DAL để sửa

Một phần của tài liệu Xây dựng một ứng dụng Quản lý phân công giảng dạy cho Khoa CNTT, Đại học Sài Gòn (Trang 92 - 121)