Tải bản đầy đủ (.pdf) (42 trang)

ĐỒ án tốt NGHIỆP đại học NGÀNH CÔNG NGHỆ THÔNG TIN xây DỰNG ỨNG DỤNG QUẢN lý TRƯỜNG học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.16 MB, 42 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────

ĐỒ ÁN

TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN

XÂY DỰNG ỨNG DỤNG QUẢN LÝ
TRƯỜNG HỌC

Giáo viên hướng dẫn : TS. Phạm Ngọc Hưng
Sinh viên thực hiện : Phan Văn Luân
Lớp CN2-04- K59

HÀ NỘI 01-2020


PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1. Thông tin về sinh viên
Họ và tên sinh viên: Phan Văn Luân
Điện thoại liên lạc: 0867501258
Lớp: CN2-04-K59

Email:
Hệ đào tạo: Đại học chính quy

Đồ án tốt nghiệp được thực hiện tại: Trường Đại học Bách Khoa Hà Nội
Thời gian làm ĐATN: Từ ngày ….


2. Mục đích nội dung của ĐATN
Xây dựng ứng dụng quản lý trường học
3. Các nhiệm vụ cụ thể của ĐATN
-

Tìm hiểu mơ hình quản lý trong trường học.

-

Ứng dụng xây dựng website quản lý trường học.

-

Tìm hiểu cơng nghệ sử dụng như ngôn ngữ PHP, Framework Laravel

4. Lời cam đoan của sinh viên:
Tôi – Phan Văn Luân - cam kết ĐATN là cơng trình nghiên cứu của bản thân tôi dưới sự
hướng dẫn của TS. Phạm Ngọc Hưng.
Các kết quả có trong ĐATN là chính xác, trung thực, khơng phải sao chép tồn văn của
bất kỳ cơng trình của cá nhân, tập thể nào khác.
Hà Nội, ngày 07 tháng 01 năm 2020
Tác giả ĐATN

Phan Văn Luân
5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho
phép bảo vệ:
Hà Nội, ngày 01 tháng 12 năm 2020
Giáo viên hướng dẫn

TS. Phạm Ngọc Hưng



LỜI CẢM ƠN
Trước tiên, tơi xin bày tỏ lịng biết ơn chân thành và sâu sắc của mình tới
người đã trực tiếp hướng dẫn đồ án là TS. Phạm Ngọc Hưng. Thầy đã tạo điều
kiện và gợi mở cho tôi nhiều ý tưởng, ln tận tình hướng dẫn trong suốt thời
gian tôi nghiên cứu và thực hiện đồ án.
Đồng thời tôi cũng xin được gửi lời cảm ơn đến các thầy cơ trong bộ mơn
Kỹ thuật Máy tính – Viện Công nghệ thông tin và truyền thông – Trường Đại học
Bách khoa Hà Nội đã nhiệt tình có những góp ý xây dựng để tơi hồn thành đồ
án của mình.
Tơi cũng xin được trân trọng cảm ơn tới Ban giám hiệu, các thầy cô giáo
đang công tác tại Viện Công nghệ thông tin và truyền thông - Trường Đại học
Bách khoa Hà Nội đã tạo điều kiện thuận lợi cho tơi trong q trình học tập và
nghiên cứu để có thể hồn thành luận văn này.
Tơi xin chân thành cảm ơn!

Hà Nội, ngày

tháng 01 năm 2021

Tác giả

Phan Văn Luân


MỤC LỤC
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI

1


1.1

Đặt vấn đề

1

1.2

Mục tiêu đồ án

1

1.3

Đối tượng, thành phần sử dụng

1

1.4

Mơ hình, phạm vi nghiên cứu

1

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT VÀ MƠ HÌNH BÀI TỐN

3

2.1


Ngơn ngữ lập trình và cơ sở dữ liệu

3

2.1.1

Laravel framework

3

2.1.2

PHP

3

2.1.3

Cơ sở dữ liệu - mysql

4

2.1.4

Mơ hình MVC

6

2.1.5


Boostrap

7

2.1.6

Thiết kế cơ sở dữ liệu

7

2.1.7

Use case

8

2.2

Cơ sở hình thành mơ hình bài toán cho phần mềm quản lý giáo dục

9

2.2.1

Tiêu chuẩn đánh giá học lực:

9

2.2.2


Quản lý:

10

2.2.3

Hệ thống báo cáo:

11

2.2.4

Quản lý hệ thống

12

CHƯƠNG 3. PHÂN TÍCH HỆ THỐNG

13

3.1

Sơ đồ use-case tổng quát

13

3.2

Thiết kế cơ sở dữ liệu


14

3.3

Thiết kế quản lý cấp cao

15

3.4

Thiết kế quản lý hệ thống

19

3.5

Thiết kế giáo viên

20

3.6

Học sinh

20

CHƯƠNG 4. THỰC NGHIỆM VÀ HƯỚNG DẪN SỬ DỤNG

22


4.1

Hướng dẫn sử dụng

22

4.1.1

Tạo thời khóa biểu:

23

4.1.2

Quản lý học phí

24

4.1.3

Quản lý học sinh

26


4.1.4

Quản lý người dùng


26

4.1.5

Quản lý lớp học

26

4.1.6

Quản lý môn học:

27

CHƯƠNG 5. KẾT LUẬN

27

5.1

Kết luận

27

5.2

Hướng phát triển của đồ án trong tương lai

27


TÀI LIỆU THAM KHẢO

29

PHỤ LỤC

30


DANH MỤC HÌNH VẼ
Hình 2.1 Phương thức hoạt động của PHP
Hình 2.2: phpmyadmin
Hình 2.3: Mẫu model – view - controller
Hình 2.4: Cấu trúc bootstrap
Hình 3.1 Hệ thống quản lý trường học
Hình 3.2 Sơ đồ chung của hệ thống.
Hình 3.3 Mối quan hệ giữa các bảng trong cơ sở dữ liệu
Hình 3.4 Sơ đồ use-case actor “Quản lý cấp cao"
Hình 3.5 Sơ đồ use-case actor “Quản lý hệ thống"
Hình 3.6 Sơ đồ use-case actor “Giáo viên"
Hình 3.7 Sơ đồ use-case actor “Học sinh"
Hình 4.1 Hình ảnh sau khi truy cập vào trang web
Hình 4.2 Trang chủ của phần mềm Quản lý trường học
Hình 4.3 Tạo ra một khóa biểu
Hình 4.4 Quản lý thời gian biểu
Hình 4.5 Danh sách các thời khố biểu của lớp
Hình 4.6 Thời khóa biểu chi tiết
Hình 4.7 Phương thức thanh tốn học phí
Hình 4.8 Cách xem số tiền học phí
Hình 4.9 Cách nộp tiền học phí

Hình 4.10 Phần quản lý học sinh
Hình 4.11 Phần quản lý người dung
Hình 4.12 Phần quản lý lớp học
Hình 4.13 Phần quản lý môn học

4
6
6
7
13
14
15
16
19
20
21
22
22
23
23
24
24
24
25
25
26
26
27
27



DANH MỤC HÌNH VẼ
Bảng 3.1 Bảng chú thích cho sơ đồ hệ thống
Bảng 3.2 Các ca sử dụng
Bảng 3.3 Đăng xuất use-case
Bảng 3.4 Bảng thiết kế quản lý môn học

14
16
17
17


CHƯƠNG 1.

GIỚI THIỆU ĐỀ TÀI

1.1 Đặt vấn đề
Giờ đây, giáo dục hàng ngày đóng một vai trị to lớn trong sự phát triển của
bất kỳ quốc gia nào.
Vấn đề hiện nay nhiều trường đang gặp phải là việc quản lý lượng thơng tin
khổng lồ liên quan đến các khóa học, thơng tin học tập của học viên, hay tạo thời
khóa biểu, lưu trữ điểm cịn thủ cơng…
Chính vì vậy bài toán quản lý đào tạo trong trường học đang là một bài tốn
lớn cần giải quyết. Cơng việc quản lý đào tạo trong trường học rất phức tạp, trải
qua nhiều khâu với các nghiệp vụ khác nhau: Quản lý hồ sơ học sinh, Phân lớp
cho học sinh, Tạo thời khóa biểu, Quản lý điểm thi, Quản lý học phí...
Tuy nhiên hầu hết các trường học hiện nay còn lưu trữ thông tin một cách
thủ công - lưu trữ thông tin trên giấy tờ. Điều này khiến việc chỉnh sửa, tìm kiếm
thơng tin một cách rất khó khăn, cũng như việc lưu trữ dữ liệu cồng kềnh, tiềm

ẩn những rủi ro cao. Việc cần thiết có một phần mềm quản lý là điều cần thiết,
ứng dụng sẽ đơn giản hoá các quy trình cũng như giải quyết các nhu cầu của các
bên liên quan giúp họ hoạt động hiệu quả hơn trong các vai trị tương ứng của
mình.
Hiện nay có một số ứng dụng đã và đang giải quyết bài toán quản lý giáo
dục có thể kể đến như phần mềm OpenSIS ( - Đây là một
nền tảng quản lý đào tạo dành cho trường học từ tiểu học đến trung học phổ
thơng. Ứng dụng có rất nhiều các chức năng để giải quyết bài tốn quản lý thơng
tin của một trường học. Tuy nhiên, hệ thống OpenSIS là một hệ thống lớn, và
đang giải quyết các nghiệp vụ của các trường học tại nước ngoài, chưa phù hợp
với các trường học tại Việt Nam. Dựa trên cơ sở đó em chọn đề tài “Xây dựng
ứng dụng quản lý đào tạo cho trường học” có dựa trên phần mềm OpenSIS để
phù hợp với nghiệp vụ, bài toán đào tạo của các trường học tại Việt Nam.
1.2 Mục tiêu đồ án
Tập trung tìm hiểu, làm rõ cơ chế và cách thức hoạt động quản lý giáo dục của
các trường học. Trên cơ sở đó xây dựng website quản lý đào tạo với các mục tiêu
sau:

u cầu về phía người sử dụng:
o
Giao diện rõ ràng, dễ sử dụng, thuận tiện trong quản trị, bảo trì.
o
Thơng tin hiển thị rõ ràng, đầy đủ, chi tiết.
o
Chạy ổn định, hạn chế phát sinh lỗi.
o
Hoàn thành sản phẩm đúng thời gian quy định.

Yêu cầu về chức năng: dựa trên nhu cầu của các công việc trong nhà
trường, ta sẽ thiết kế ứng dụng để đáp ứng nhu cầu của trường học như sau:

o
Quản lý người dùng
1


o
o
o

Quản lý môn học
Quản lý học sinh
Quản lý lớp học

1.3 Đối tượng, thành phần sử dụng
Đối tượng: Phần mềm được thiết kế và phát triển dành cho trường học.
Thành phần sử dụng: Những người được cấp quyền sử dụng như: giáo
viên, học sinh, phụ huynh, …
1.4 Mơ hình, phạm vi nghiên cứu
Mơ hình quản lý đào tạo trong nhà trường.
Phân tích chun sâu, tìm hiểu cấu trúc hoạt động, thiết kế hệ thống quản
lý đào tạo trong trường học
Ứng dụng được xây dựng trên nền tảng ngôn ngữ php sử dụng framework
laravel.

2


CHƯƠNG 2.

CƠ SỞ LÝ THUYẾT VÀ MƠ HÌNH BÀI TỐN


2.1 Ngơn ngữ lập trình và cơ sở dữ liệu
2.1.1 Laravel framework
Framework là một thư viện các lớp đã được xây dựng hoàn chỉnh, bộ
khung để phát triển các Phần mềm ứng dụng. Có thể ví Framework như tập các “
Vật liệu” ở từng lĩnh vực cho người lập trình viên, thay vì họ phải mất nhiều thời
gian để tự thiết kế trước khi dùng. Do vậy, người lập trình viên chỉ cần tìm hiểu
và khai thác các vật liệu này rồi thực hiện để gắn kết chúng lại với nhau, tạo ra
sản phẩm.
Laravel là một PHP Framework mã nguồn mở và miễn phí, được phát
triển bởi Taylor Otwell và nhắm mục tiêu hỗ trợ phát triển các ứng dụng web
theo cấu trúc model- view- controller (MVC). Những tính năng nổi bật của
Laravel bao gồm cú pháp dễ hiểu- rõ ràng, một hệ thống đóng gói Modular và
quản lý gói phụ thuộc, nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu
quan hệ, nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng.
2.1.2 PHP
PHP - viết tắt hồi quy của "Hypertext Preprocessor", là một ngơn ngữ lập trình
kịch bản được chạy ở phía server nhằm sinh ra mã html trên client. PHP đã trải
qua rất nhiều phiên bản và được tối ưu hóa cho các ứng dụng web, với cách viết
mã rõ rãng, tốc độ nhanh, dễ học nên PHP đã trở thành một ngơn ngữ lập trình
web rất phổ biến và được ưa chuộng.
PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ
sở dữ liệu nên PHP thường đi kèm với Apache, mysql và hệ điều hành Linux
(LAMP).
Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình
duyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình
duyệt.
Mysql cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress, Oracle,
SQL server...) Dóng vai trò là nơi lưu trữ và truy vấn dữ liệu.
Linux: Hệ điều hành mã nguồn mở được sử dụng rất rộng rãi cho các webserver.

Thông thường các phiên bản được sử dụng nhiều nhất là redhat Enterprise Linux,
Ubuntu...
Phương thức hoạt động : Khi người sử dụng gọi trang PHP, Web Server sẽ triệu
gọi PHP Engine để thông dịch dịch trang PHP và trả kết quả cho người dùng như
hình 2.1.

3


Hình 2.1 Phương thức hoạt động của PHP

2.1.3 Cơ sở dữ liệu - mysql
Mysql là một hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở
(RDBMS) dựa trên ngơn ngữ truy vấn có cấu trúc (SQL) được phát triển, phân
phối và hỗ trợ bởi tập đoàn Oracle. Mysql chạy trên hầu hết tất cả các nền tảng,
bao gồm cả Linux, UNIX và Windows. Mysql thường được kết hợp với các ứng
dụng web.
SQL là ngôn ngữ phổ biến nhất để thêm, truy cập và quản lý nội dung
trong cơ sở dữ liệu. Nó được chú ý nhất vì khả năng xử lý nhanh, độ tin cậy đã
được chứng minh, dễ sử dụng và linh hoạt. Mysql là một phần thiết yếu của hầu
hết mọi ứng dụng PHP mã nguồn mở. Các ví dụ điển hình cho các tập lệnh dựa
trên PHP và mysql là wordpress, Joomla, Magento và Drupal. Mysql đang trở
nên phổ biến vì nhiều lý do tốt:
- Mysql được phát hành theo giấy phép nguồn mở. Vì vậy, bạn khơng phải
trả tiền để sử dụng nó.
- Mysql là một chương trình rất mạnh theo đúng nghĩa của nó. Nó xử lý
một tập hợp lớn các chức năng của các gói cơ sở dữ liệu mạnh mẽ và đắt
tiền nhất.- mysql sử dụng một dạng chuẩn của ngôn ngữ dữ liệu SQL nổi
tiếng.
- Mysql hoạt động trên nhiều hệ điều hành và với nhiều ngôn ngữ bao gồm

PHP, PERL, C, C ++, JAVA, v.v.
- Mysql hoạt động rất nhanh và hoạt động tốt ngay cả với các tập dữ liệu
lớn.
- Mysql rất thân thiện với PHP, ngôn ngữ được đánh giá cao nhất để phát
triển web.
- Mysql hỗ trợ cơ sở dữ liệu lớn, lên tới 50 triệu hàng hoặc nhiều hơn trong
một bảng. Giới hạn kích thước tệp mặc định cho một bảng là 4GB, nhưng
4


bạn có thể tăng mức này (nếu hệ điều hành của bạn có thể xử lý nó) đến
giới hạn lý thuyết là 8 triệu terabyte (TB).
- Mysql là tùy biến. Giấy phép GPL mã nguồn mở cho phép các lập trình
viên sửa đổi phần mềm mysql để phù hợp với môi trường cụ thể của riêng
họ.
Cách thức hoạt động của mysql
Mysql dựa trên mơ hình client-server. Cốt lõi của mysql là máy chủ
mysql, xử lý tất cả các hướng dẫn cơ sở dữ liệu (hoặc các lệnh). Máy chủ mysql
có sẵn như là một chương trình riêng biệt để sử dụng trong môi trường mạng
client-server và như một thư viện có thể được nhúng (hoặc liên kết) vào các ứng
dụng riêng biệt.
Mysql hoạt động cùng với một số chương trình tiện ích hỗ trợ quản trị cơ
sở dữ liệu mysql. Các lệnh được gửi đến mysqlserver thông qua máy khách
mysql, được cài đặt trên máy tính.
Mysql ban đầu được phát triển để xử lý cơ sở dữ liệu lớn một cách nhanh
chóng. Mặc dù mysql thường chỉ được cài đặt trên một máy, nhưng nó có thể gửi
cơ sở dữ liệu đến nhiều vị trí, vì người dùng có thể truy cập thông qua các giao
diện máy khách mysql khác nhau. Các giao diện này gửi các câu lệnh SQL đến
máy chủ và sau đó hiển thị kết quả.
Các tính năng cốt lõi của mysql

Mysql cho phép dữ liệu được lưu trữ và truy cập trên nhiều công cụ lưu
trữ, bao gồm innodb, CSV và NDB. Mysql cũng có khả năng sao chép dữ liệu và
phân vùng bảng để có hiệu suất và độ bền tốt hơn. Người dùng mysql khơng bắt
buộc phải học các lệnh mới; họ có thể truy cập dữ liệu của mình bằng các lệnh
SQL tiêu chuẩn.
Mysql được viết bằng C và C++ và có thể truy cập và có sẵn trên hơn 20
nền tảng, bao gồm Mac, Windows, Linux và Unix. RDBMS hỗ trợ cơ sở dữ liệu
lớn với hàng triệu bản ghi và hỗ trợ nhiều loại dữ liệu bao gồm các số nguyên có
chữ ký hoặc khơng dấu có độ dài 1, 2, 3, 4 và 8 byte(s); FLOAT; DOUBLE;
CHAR; VARCHAR; BINARY; VARBINARY; TEXT; BLOB; DATE; TIME;
DATETIME; TIMESTAMP; YEAR; SET; ENUM; và các kiểu opengis. Các loại
chuỗi có độ dài cố định và biến đổi cũng được hỗ trợ.
Để bảo mật, mysql sử dụng một đặc quyền truy cập và hệ thống mật khẩu
được mã hóa cho phép xác minh dựa trên máy chủ. Các máy khách mysql có thể
kết nối với Máy chủ mysql bằng một số giao thức, bao gồm cả giao thức TCP/IP
trên bất kỳ nền tảng nào. Mysql cũng hỗ trợ một số chương trình máy khách và
tiện ích, chương trình dịng lệnh và cơng cụ quản trị như mysql Workbench.
Các nhánh của mysql
Các nhánh của mysql bao gồm:
Drijection: một hệ thống quản lý cơ sở dữ liệu nguồn mở nhẹ được phát triển dựa
trên mysql 6.0.
5


Mariadb: một sự thay thế phổ biến do cộng đồng phát triển cho mysql sử dụng
các lệnh và API của mysql.
Percona Server với xtradb: một phiên bản nâng cao của mysql được biết đến với
khả năng mở rộng theo chiều ngang.

Hình 2.2: phpmyadmin


2.1.4 Mơ hình MVC
Mơ hình MVC là một mơ hình lập trình web được sử dụng rộng rãi hiện nay,
được viết tắt bởi ba từ Model – View – Controller, tương ứng với ba bộ phận tạo
nên cấu trúc của ứng dụng này. Mỗi thành phần kiến trúc được xây dựng để xử lý
khía cạnh phát triển cụ thể của một ứng dụng. Hình …… là chi tiết về các chức
năng tạo nên kiến trúc này:

Hình 2.3: Mẫu model – view - controller

Trong đó:
- Model : có nhiệm vụ thao tác với cơ sở dữ liệu, nghĩa là nó sẽ chứa tất cả
các hàm, các phương thức truy vấn trực tiếp với dữ liệu và controller sẽ
thông qua các hàm, phương thức đó để lấy dữ liệu rồi gửi qua view.
6


-

-

View : có nhiệm vụ tiếp nhận dữ liệu từ controller và hiển thị nội dung
sang các đoạn mã html, bạn có thể hiểu nơm na đây người ta cịn gọi là
thành phần giao diện.
Controller : đóng vài trị trung gian giữa model và view. Nó có nhiệm vụ
tiếp nhận yêu cầu từ client sau đó xử lý request, load model tương ứng và
gửi data qua view tương ứng rồi trả kết quả về cho client.

2.1.5 Boostrap
Bootstrap là nền tảng framework HTML, CSS hay JavaScript cho phép

lập trình viên có thể thiết được được website dựa trên responsive web mobile.
Cài đặt Bootstrap:
Có hai cách tải Bootstrap về web hosting.
● Cách 1: Tải trực tiếp tại trang Bootstrap.
Truy cập vào trang để tải Bootstrap. Sau khi hoàn tất
tải, bạn nhận được cấu trúc có 2 thư mục JS và CSS. Kế đến, bạn tiến hành giải
nén, rồi cài đặt Bootstrap vào hosting bằng giao thức FTP.
● Cách 2: Thông qua CDN Bootstrap.
Cấu trúc của bootstrap:

Hình 2.4: Cấu trúc bootstrap

2.1.6 Thiết kế cơ sở dữ liệu
a. Cơ sở dữ liệu(database)
Cơ sở dữ liệu (CSDL) là một tập hợp các dữ liệu có liên quan với nhau
được lưu trữ trong máy tính theo một quy định nhất định nham phục vụ cho một
mục đích quản lý nào đó.
Ví dụ : CSDL phục vụ cho việc quản lý các chuyến bay của một hãng hàn không
cung cấp các thông tin về số hiệu chuyến bay , nơi xuất phát , nơi đến , số chỗ
ngồi , ngày bay của tất cả các chuyến bay trong năm ; CSDL phục vụ cho công
tác quản lý đào tạo trong trường chứa các dữ liệu phản ánh thông tin về học sinh ,
giáo viên môn học, phòng học ,…
7


b. Hệ quản trị cơ sở dữ liệu (DataBase Management System)
Hệ quản trị CSDL (HQTCSDL) là phần mềm cho phép người dùng giao tiếp với
cơ sở dữ liệu, và thông qua đó cung cấp một mơi trường thuận lợi và hiệu quả để
tìm kiếm và lưu trữ thơng tin của cơ sơ dữ liệu. Ví dụ: Hệ quản trị cơ sở dữ liệu
FOXPRO hệ quản trị cơ sở dữ liệu SQL SERNER ...

c. Hệ cơ sở dữ liệu
Hệ Cơ sở dữ liệu là một hệ thống phần mềm nhằm quản lý cơ sở dữ liệu
của một hệ thống thông tin cụ thể nào đó. Như vậy các thành phần bên trong một
hệ cơ sở dữ liệu gồm có trương trình, cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu,
người sử dụng.
2.1.7 Use case
Khái niệm về Use case
Use case là kỹ thuật được dùng trong kỹ thuật phần mềm và hệ thống
nhằm nắm bắt những yêu cầu chức năng của hệ thống. Use case mô tả sự tương
tác đặc trưng giữa người dùng bên ngoài (actor) và hệ thống. Use case cũng mô
tả các yêu cầu đối với hệ thống.
Mỗi Use case sẽ mô tả cách thức người dùng bên ngoài tương tác với hệ
thống để đạt được mục tiêu nào đó. Một hoặc nhiều kịch bản (scenario) có thể
được tạo ra từ mỗi use case, tương ứng với chi tiết về mỗi cách thức đạt được
mục tiêu nào đó. Khi mơ tả Use case, người ta thường tránh dùng thuật ngữ kỹ
thuật, thay vào đó họ sử dụng ngôn ngữ của người dùng cuối hoặc chuyên gia về
lĩnh vực đó. Để tạo ra use case, cần phải có sự hợp tác chặt chẽ giữa người phân
tích hệ thống và người dùng cuối. Một trong những cách biểu diễn trực quan phổ
biến hiện nay là lược đồ use case của UML.
Use case thường được đặt tên giống động từ hoặc động từ + cụm danh từ.
Đặc điểm của tên Use case là ngắn gọn, cụ thể và miêu tả đầy đủ nghĩa của đối
tượng người dùng. Những động từ như “do”, “perform”, các danh từ như ”data”,
“information” nên tránh nếu có thể.
Người dùng sử dụng Use case để đại diện cho các nghiệp vụ trong hệ
thống.
Các thành phần của use case
Actor: để chỉ người sử dụng hoặc một đối tượng nào đó bên ngồi tương tác với
hệ thống.
Các quan hệ trong Use case:
- Use case «include»: Một Use case (gọi là base Use case) có thể chứa

(«include») chức năng của một Use case khác (gọi là inclusion Use case) như
một phần xử lý của nó. Nói chung, nó giả sử rằng mọi Use case «include» sẽ
được gọi mỗi khi tuyến Use case chính chạy. Quan hệ này cịn gọi là quan hệ sử
dụng «uses». Ví dụ, việc thực thi Use case Card Identification (Xác nhận thẻ) là
một phần của Use case Withdraw (Rút tiền). Khi thực thi Use case Withdraw,
Use case Card Identification sẽ được gọi.
8


- Use case «extend»: Một Use case mở rộng (gọi là extension Use case) có thể
được mở rộng («extend») hành vi từ một Use case khác (gọi là base Use case);
điều này thường dùng cho các trường hợp tùy chọn, ngoại lệ, chèn thêm vào …
Ví dụ, nếu trước khi thay đổi một kiểu đặt hàng cụ thể (Modify Order), người
dùng có thể phải nhận được sự chấp thuận (Get Approval) từ cấp phân quyền cao
hơn, thì Use case Get Approval có thể tùy chọn mở rộng («extend») Use case
Modify Order thông thường.
- Use case Generalizations: Một quan hệ generalization có giữa một Use case cụ
thể hơn (specifilized) đến với một Use case tổng quát hơn (generalized). Một
generalized có thể cụ thể hóa thành nhiều specifilized, một specifilized cũng có
thể được cụ thể hóa từ nhiều generalized. Một quan hệ generalization giữa các
Use case trình bày thành một đường đặc từ specifilized đến generalized, với đầu
mũi tên là một tam giác rỗng chỉ generalized. Tránh nhằm lẫn với quan hệ phụ
thuộc «extend».
Mơ hình hóa Use case
Khái niệm: Một mơ hình Use case là một loại của ngơn ngữ mơ hình hóa
thống nhất (UML) được định nghĩa bởi Object Management Group (OMG). Mơ
hình Use case cung cấp cái nhìn trực quan đồ họa về nghiệp vụ của hệ thống(đại
diện là Use case), người dùng hệ thống.
Mục đích: Mơ hình hóa nhằm tạo ra một tài liệu mô tả tổng thể về hệ
thống bằng cách xác định mục đích của người dùng.

Các Use case trong mơ hình Use case có thể được tổ chức, sắp xếp theo
logic nghiệp vụ trong hệ thống và mức độ trìu tượng, ảnh hưởng đến người dùng.
Chúng có thể được kết nối để hiển thị những tác động, những quan hệ phụ thuộc
và mở rộng.
Mục đích chính của việc mơ hình hóa Use case là để tạo ra một tài liệu mô
tả tổng thể về hệ thống bằng cách xác định mục đích người dùng.
2.2 Cơ sở hình thành mơ hình bài tốn cho phần mềm quản lý giáo dục
Phần mềm giáo dục là phầm mềm hỗ trợ người sử dụng trong việc xếp
loại học lực, quản lý hồ sơ học sinh sinh viên, hệ thống lại kết quả học tập, và
cho phép người dùng một số quyền thay đổi dữ liệu dựa trên một số tiêu chuẩn
sau (tiêu chuẩn thay đổi tùy theo cấp, trường, lớp,…):
2.2.1 Tiêu chuẩn đánh giá học lực:
Tiêu chuẩn đánh giá học lực cho một học sinh viên dựa trên một só tiêu
chuẩn sau:
- Tiêu chuẩn phân loại học lực sẽ dựa theo điểm trung bình các mơn
của một kỳ:
● Loại GIỎI: ĐTB các mơn từ 8.0 trở lên, khơng có mơn nào dưới 6.
● Loại TB: ĐTB các môn từ 5.0 đến 6.4, khơng có mơn nào dưới 3.5.
● Loại YẾU: ĐTB các mơn từ 3.5 đến 4.9, khơng có mơn nào dưới 2.0.
● Loại KÉM: Những trường hơp còn lại.
- Tiêu chuẩn phân loại hạnh kiểm:
9


● Loại TỐT: Có nhận thức đúng và thực hiện khá đầy đủ nhiệm vụ học sinh,
có ý thức trách nhiệm cao đối với học tập, rèn luyện đạo đức , nếp sống và
rèn luyện thân thể. Đồng thời, học sinh có tiến bộ khơng ngừng, đạt kết
quả cao trong học tập về tất cả các mặt.
● Loại KHÁ: Những học sinh đạt mức trên trung bình nhưng chưa đạt mức
tốt trong việc thực hiện các nhiệm vụ học sinh, thể hiện qua các mặt rèn

luyện đạo đức, học tập, lao động, rèn luyện thân thể cũng như hoạt động
xã hội.. hay trong các mặt trên có mặt đạt loại tốt song có mặt chỉ đạt mức
trung bình đều được xếp loại hạnh kiểm khá.
● Loại TB: Những học sinh có ý thức thực hiện nhiệm vụ học sinh, có tiến
bộ nhất định về hạnh kiểm nhưng cịn chậm, khơng đều, chưa vững chắc
và có kết quả học tập ở mức trung bình. Bên cạnh đó, học sinh cịn mắc
một số khuyết điểm song ít nghiêm trọng, chưa thành hệ thống, khi được
đóng góp ý kiến biết nhận ra khuyết điểm nhưng sửa chữa còn chậm.
● Loại YẾU: Những học sinh khơng đạt mức trung bình theo tiêu chuẩn
trên, có biểu hiện yếu kém, chậm tiến bộ trong những điểm đã quy định
trong loại trung bình.
● Loại KÉM: Học sinh có biểu hiện sai trái, nghiêm trọng và bị kỷ luật ở
mức đuổi học một năm đều xếp hạnh kiểm kém.
- Tiêu chuẩn xét kết quả cuối năm:
● Lên lớp: Học lực và hạnh kiểm từ TB trở lên.
● Thi lại: Phải thi lại mơn có điểm trung bình dưới 3.5.
● Rèn luyện trong hè: Học lực từ TB trở lên, hạnh kiểm YẾU
● Lưu ban: Học sinh bị xét ở lại lớp nếu vi phạm một trong các kết quả: Học
lực KÉM; Học lực YẾU, hạnh kiểm YẾU; Điểm một môn thi lại thi lại
dưới 3.5; Kết quả rèn luyện trong hè không đạt; Tổng số ngày nghỉ cả năm
vượt quá 45 ngày.
2.2.2 Quản lý:
Ta có thể quản lý dựa trên cấp bậc như năm, học kỳ, khối, lớp, ….
- Năm học: Một năm học có 9 tháng (từ tháng 9 năm này đến hết tháng 5 năm
sau). Thông tin cần lưu trữ: Mã năm học, Tên năm học.
- Học kỳ: Một năm học thường có 2 học kỳ, học kỳ 1 hệ số 1, học kỳ 2 hệ số 2.
Thông tin cần lưu trữ: Mã học kỳ, Tên học kỳ, Hệ số.
- Khối lớp: Có 3 khối lớp 10, 11, 12. Thông tin cần lưu trữ: Mã khối, Tên khối.
- Lớp: Một lớp có 1 giáo viên chủ nhiệm, sĩ số của lớp không vượt quá quy định.
Thông tin cần lưu trữ: Mã lớp, Tên lớp, Mã khối, Mã năm học, Sĩ số, Mã giáo

viên chủ nhiệm.
- Môn học: Mơn Văn và mơn Tốn hệ số 2, các mơn cịn lại hệ số 1. Thơng tin
cần lưu trữ: Mã môn học, Tên môn, Số tiết, Hệ số.
- Điểm: Có các loại điểm cần lưu trữ: Điểm kiểm tra miệng(M), kiểm tra 15
phút(KT15), kiểm tra 1 tiết (KT1), điểm học kì (HK).
Cách tính điểm trung bình 1 mơn học:
10


Trong đó:
● TBM: điểm trung bình của kiểm tra miệng
● TBKT15: điểm trung bình của kiểm tra 15 phút
● TBKT1: điểm trung bình của kiểm tra 1 tiết
● HK: điểm thi học kì
● Ths: tổng hệ số của các mơn
Cách tính điểm trung bình một kì:

Trong đó:
● TBK: điểm trung bình của 1 kỳ
● TBT: điểm trung bình của mơn tốn
● TBV: điểm trung bình của mơn văn
● a: là tổng số mơn cộng 2
Cách tính điểm trung bình cả năm:

Trong đó:
● TBK1, TBK2: điểm trung bình của kì 1 và kì 2
● TB: điểm trung bình năm
- Kết quả: Dựa theo tiêu chuẩn đánh giá, ta có bảng kết quả cuối năm học dành
cho học sinh. Thông tin cần lưu trữ: Mã kết quả, Tên kết quả.
- Học lực: Dựa theo tiêu chuẩn xếp loại học lực. Thông tin cần lưu trữ: Mã học

lực, Tên học lực, Điểm cận trên, Điểm cận dưới.
- Hạnh kiểm: Dựa theo tiêu chuẩn xếp loại hạnh kiểm. Thông tin cần lưu trữ: Mã
hạnh kiểm, Tên hạnh kiểm.
- Học sinh: Thông tin học sinh gồm có: Mã học sinh, Tên học sinh, Giới tính,
Ngày sinh, Nơi sinh, Họ tên cha, Số điện thoại cha, Họ tên mẹ, Số điện thoại của
mẹ.
- Giáo viên: Thông tin cần lưu trữ: Mã giáo viên, Tên giáo viên, Địa chỉ, Điện
thoại, Chuyên môn giảng dạy.
- Người dùng: Những người có tên trong bảng người dùng mới có thể đăng nhập
vào hệ thống. Thông tin cần lưu trữ: Mã người dùng, Tên người dùng, Loại
người dùng, Chức vụ, Tên đăng nhập, Mật khẩu.
2.2.3 Hệ thống báo cáo:
- Kết quả học kỳ theo lớp học.
11


- Kết quả học kỳ theo môn học.
- Kết quả cuối năm theo lớp học.
- Kết quả cuối năm theo môn học.
2.2.4 Quản lý hệ thống
Người quản lý hệ thống là người có quyền truy cập tất cả hệ thống và thay đổi
chúng. Cụ thể là Ban giám hiệu có quyền:
- Phân quyền người dùng.
- Thiết lập đường dẫn tới CSDL.
- Sao lưu và phục hồi dữ liệu.

12


CHƯƠNG 3.


PHÂN TÍCH HỆ THỐNG

3.1 Sơ đồ use-case tổng quát
Sơ đồ use-case tổng qt này là một hình ảnh mơ tả tương tác giữa các
yếu tố của Hệ thống Quản lý trường học. Nó đại diện cho phương pháp luận
được sử dụng trong phân tích hệ thống để xác định, làm rõ và tổ chức các yêu
cầu hệ thống của Hệ thống quản lý trường học. Các tác nhân chính của Hệ thống
quản lý trường học trong Sơ đồ use-case này là: Quản lý cấp cao, Quản lý hệ
thống (Người dùng hệ thống), Giáo viên, Học sinh, những người thực hiện các
loại ca sử dụng khác nhau như Quản lý học sinh, Quản lý lớp học, Quản lý giáo
viên, Quản lý môn học, Quản lý Người dùng và Hoạt động Hệ thống Quản lý
Tồn trường. Các yếu tố chính của sơ đồ ca sử dụng UML của Hệ thống quản lý
trường học được thể hiện trên hình 3.1 dưới đây.

Hình 3.1 Hệ thống quản lý trường học

Mối quan hệ giữa và giữa các tác nhân và các trường hợp sử dụng của Hệ
thống quản lý trường học:
- Thực thể Quản lý cấp cao: Các trường hợp sử dụng của Quản lý cấp cao là
Quản lý học sinh, Quản lý lớp học, Quản lý giáo viên, Quản lý môn học, Quản lý
người dùng và Toàn bộ hoạt động của hệ thống quản lý trường học.
- Thực thể Quản lý hệ thống: Các trường hợp sử dụng của Quản lý hệ thống là
Quản lý học sinh, Quản lý lớp học,
- Thực thể Giáo viên: Các trường hợp sử dụng của Giáo viên là Tạo thời khóa
biểu, Quản lý kỳ thi, Thêm kết quả(điểm thi)

13



- Đối tượng Sinh viên: Các trường hợp sử dụng của Sinh viên là Xem Học phí,
Thanh tốn Phí, Xem Thời khóa biểu
3.2 Thiết kế cơ sở dữ liệu
Các bảng có trong cơ sở dữ liệu

Hình 3.2 Sơ đồ chung của hệ thống.
Bảng 3.1Bảng chú thích cho sơ đồ hệ thống
ST
T

Tên bảng 

Chú thích

1

users

Lưu trữ thơng tin người dùng

2

payments

Lưu trữ thơng tin thanh tốn học phí

3

user_type


Lưu trữ thơng tin loại người dùng

4

my_class

Lưu trữ thông tin lớp học 

5

subject

Lưu trữ thông tin môn học

6

student_record

Lưu trữ thông tin học sinh

7

class_type 

Lưu trữ thông tin loại lớp học

8

time_table 


Lưu trữ thơng tin thời khố biểu

9

exams

Lưu trữ thơng tin bài thi

10

grades

Lưu trữ thông tin loại điểm

11

exam_record

Lưu trữ hồ sơ kỳ thi của học sinh

14


12

staff_record

Lưu trữ hồ sơ nhân viên

13


payment_record

Lưu trữ hồ sơ đóng học phí

14

marks

Lưu trữ điểm thi

15

time_slots

Lưu trữ giờ học

16

receipts

Lưu trữ thơng tin biên lai khi nộp học phí

17

time_table_record
s

Lưu trữ thơng tin thời gian học


18

states

Lưu trữ thông tin trạng thái học tập của học sinh

19

settings

Lưu trữ thơng tin cài đặt hệ thống

Hình 3.3 Mối quan hệ giữa các bảng trong cơ sở dữ liệu

3.3 Thiết kế quản lý cấp cao
Yêu cầu chức năng:
Quản lý cấp cao là đối tượng có quyền hạn cao nhất trong hệ thống. Quản
lý cấp cao có thể thực hiện các hành động sau khi đăng nhập thành cơng:
- Quản lý người dùng: Thêm, sửa, xóa tồn bộ người dùng trong hệ thống
- Quản lý giáo viên: Thêm, sửa, xóa, giáo viên
- Quản lý mơn học: Thêm,sửa xóa mơn học
- Quản lý học sinh: Thêm, sửa, xóa học sinh
- Quản lý lớp học: Thêm, sửa, xóa lớp học
Ngồi ra người quản lý cấp cao có thể sử dụng tất cả các chức năng toàn bộ hệ
thống.
15


Hình 3.4 Sơ đồ use-case actor “Quản lý cấp cao"


Thiết kế đặc tả các ca sử dụng
Bảng 3.2 Các ca sử dụng

Use-Case

Nội dung

Mô tả

Use-Case cho phép actor đăng nhập vào hệ thống để thực hiện
các chức năng của mình

Actor

Quản lý cấp cao

Điều kiện
kích hoạt

Khi người dùng truy cập vào hệ thống

Tiền điều kiện Người dùng cần có tài khoản trên hệ thống
Hậu điều kiện Người dùng đăng nhập thành công
1. Người dùng chọn đăng nhập.
2. Hệ thống yêu cầu nhập tên tài khoản và mật khẩu.
Luồng sự kiện 3. Người dùng nhập thơng tin đăng nhập.
chính
4. Người dùng nhấn nút Đăng Nhập.
5. Hệ thống thông báo đăng nhập thành công.
6. Use-case kết thúc.

A1. Thông tin đăng nhập không hợp lệ: Khi người dùng
Luồng sự kiện nhập tài khoản hoặc mật khẩu khơng chính xác.
phụ
1. Hệ thống hiển thị thơng báo thơng tin tài khoản khơng chính
xác.
16


2. Quay lại bước 2 trong luồng sự kiện chính.
Đăng xuất
Bảng 3.3 Đăng xuất use-case

Use-Case

Nội dung

Mô tả

Use-Case cho phép actor đăng xuất ra khỏi hệ
thống

Actor

Quản lý cấp cao

Điều kiện kích hoạt Khi người đã truy cập vào hệ thống
Tiền điều kiện

Người dùng Đăng nhập thành cơng


Luồng sự kiện
chính

1. Người dùng chọn Đăng xuất.
2. Hệ thống chuyển đến trang Đăng nhập.
3. Use-case kết thúc.

Thiết kế quản lý môn học:
Bảng 3.4 Bảng thiết kế quản lý môn học

Use-Case

Nội dung

Mô tả

Use-Case cho phép actor thực hiện các thao tác thêm, sửa, xoá
người dùng.

Actor

Quản lý cấp cao

Điều
kiện Khi người dùng chọn chức năng Quản lý Người dùng từ trang
kích hoạt
quản trị của hệ thống.
Tiền điều kiện Người dùng phải đăng nhập vào hệ thống.
Hậu điều kiện


Người dùng phải có quyền của Quản lý cấp cao

17


1. Từ menu trang quản trị chọn Quản lý Người dùng.
2. Hệ thống hiển thị trang quản trị người dùng.
a. Thêm mới người dùng:  muốn tạo mới người dùng.
a.3. Chọn Thêm mới.
a.4. Hệ thống yêu cầu điền thông tin người dùng.
a.5. Điền đầy đủ các thông tin cần thiết.
a.6. Chọn Thêm
a.7. Hệ thống kiểm tra thông tin người dùng.
a.8. Thêm mới thành cơng, kết thúc use-case
b. Xố người dùng: muốn xoá một người dùng.
Luồng sự kiện b.3. Chọn người dùng muốn xố.
chính
b.4. Chọn nút Xố.
b.5. Hệ thống gửi confirm xác nhận xố người dùng.
b.6. Chọn OK để xác nhận xóa.
b.7. Xố thành cơng, kết thúc use-case.
c. Cập nhật thơng tin người dùng
c.3. Chọn người dùng muốn cập nhật thông tin.
c.4. Chọn Sửa.
c.5. Hệ thống hiển thị thông tin người được chọn.
c.6. Điền thông tin muốn cập nhật.
c.7. Chọn Cập nhật.
c.8. Cập nhật thành công, kết thúc use-case

18



×