Tải bản đầy đủ (.docx) (37 trang)

Xây dựng phần mềm quản lý giáo dục với quy mô vừa và nhỏ

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 (351.13 KB, 37 trang )

PHIẾU GIAO NHIỆM VỤ

CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI

1.1
1.2
1.3
1.4

1.1

Mục tiêu nghiên cứu của đề tài
Đối tượng và phạm vi nghiên cứu
Phương pháp nghiên cứu
Bố cục đề tài

Mục tiêu nghiên cứu
Vận dụng tổng hợp các kiến thức đã học được để tiến hành xây dựng phần





mềm quản lý giáo dục với quy mô vừa và nhỏ.
Tìm hiểu thực trạng về việc áp dụng CNTT vào quản lý giáo dục hiện nay từ



đó nêu bất được tính cấp thiết của đề tài.
Tận dụng lợi thế của mạng Internet để xây dựng hệ thống quản lý giữa các
chi nhánh khác nhau của hệ thống một cách mềm mại, tiện lợi và dễ dàng sử


dụng nhất.

1.2

Đối tượng và phạm vi nghiên cứu
 Tìm hiểu thực trạng của việc áp dụng CNTT vào lĩnh vực giáo dục nhất là






trong công tác quản lý của nước ta.
Tìm hiểu một số công cụ, phần mềm, ngôn ngữ hỗ trợ thiết kế và xây dựng
website.
Tìm hiểu các chức năng của hệ thống quản lý giáo dục quy mô vừa và nhỏ.
Quy trình để xây dựng một website.
Một số kỹ thuật trong công tác quản lý giáo dục.


1.3

Phương pháp nghiên cứu
Tiến hành thu thập và phân tích những thông tin, tài liệu liên quan đến đề tài



để hình thành ý tưởng tổng quan (Mục đích cần đạt đến của phần mềm? Đối




1.4

tượng hướng đến của phần mềm? Tài liệu đã có và cách sử dụng chúng?).
Xác định các yêu cầu để phân tích và thiết kế hệ thống cho phù hợp.
Xây dựng phần mềm theo các yêu cầu đã đề ra.
Triển khai phần mềm và đánh giá kết quả đạt được.

Ý nghĩa khoa học và thực tiễn của đề tài
Đề tài là một phần mềm thực tiễn nhằm thúc đẩy các nhà phát triển phần



mềm tập trung nhiều hơn vào lĩnh vực giáo dục, hiện là một trong những lĩnh


vực kém nhất về áp dụng CNTT vào công tác quản lý cũng như giảng dạy.
Đề tài sẽ giải quyết một phần trong công tác quản lý của các trung tâm giảng



dạy giáo dục với quy mô vừa và nhỏ.
Thông qua website quản lý, trung tâm giáo dục có thể dễ dàng kiểm soát
được học viên, giáo viên, tư vấn viên cũng như thuận tiện trong việc sắp xếp



lịch giảng dạy, khai giảng các khóa học của trung tâm.
Website quản lý sẽ là một sản phẩm giúp cho trung tâm tối ưu được chi phí
quản lý, sẽ không còn những ghi chép thủ công tốn nhân lực nữa mà thay

vào đó là sự tự động hóa, hiển thị trực quan của website.

1.5

Bố cục của đề tài
Nội dung đồ án gồm các phần sau:
 Phần mở đầu
 Chương 1. Giới thiệu tổng quan về đề tài
 Chương 2. Giới thiệu về công nghệ sử dụng
 Chương 3. Phần tích và thiết kế hệ thống
 Chương 4. Kết quả nghiên cứu và hướng phát triển đề tài


CHƯƠNG 2: GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG

2.1 Ngôn ngữ lập trình frontend
2.1.1 HTML
2.1.2 CSS
2.1.3 Javascript
2.1.4 Bootstrap
2.2 Ngôn ngữ lập trình backend
2.2.1 Ngôn ngữ lập trình PHP
2.2.2 Hệ quản trị CSDL MySQL
2.3 Kiến trúc Client/Server
2.4 Mô hình MVC
2.5 Framework Codeigniter
2.5.1 Tổng quan
2.5.2 Những đặc điểm nổi bật
2.5.3 Cấu trúc thư mục của framework
2.5.4 Các thư viện

2.6 Phần mềm hỗ trợ lập trình


2.1 Ngôn ngữ lập trình frontend


Trước tiên để đi vào tìm hiểu về các ngôn ngữ lập trình frontend thì chúng ta



sẽ tìm hiểu qua về khái niệm frontend.
Frontend là một phần của hệ thống phần mềm, tương tác trực tiếp với người
sử dụng. Cụ thể, đó là hệ thống các giao diện người dùng (GUI)

2.1.1 HTML
 HTML là chữ viết tắt của Hypertext Markup Language, là ngôn ngữ được

sử dụng rộng rãi nhất để viết các trang Web.
 Hypertext là cách mà các trang Web (các tài liệu HTML) được kết nối với

nhau. Và như thế, đường link có trên trang Web được gọi là Hypertext.
 Như tên gọi đã gợi ý, HTML là ngôn ngữ đánh dấu bằng thẻ (Markup

Language), nghĩa là bạn sử dụng HTML để đánh dấu một tài liệu text bằng
các thẻ (tag) để nói cho trình duyệt Web cách để cấu trúc nó để hiển thị ra
màn hình.


Một trang web được bắt đầu bằng thẻ mở <html> và kết thúc bằng thẻ đóng
</html>. Bên trong cặp thẻ mở/đóng html thường bao gồm 2 cặp thẻ chính






là <head></head> và <body></body>.
Nội dung trong cặp thẻ <head></head> thường bao gồm:
• Tiêu đề trang (title)
• Phần mô tả trang (description)
• Tên tác giả (author)
• Từ khóa liên quan đến nội dung website.
• Khai báo các tập tin css sử dụng trong website.
Nội dung trong cặp thẻ <body></body> bao gồm tất cả các đoạn mã để hiển
thị nội dung chính của website. Chúng ta cả thể kể đến một số thẻ hay dùng
nhất như là

, <div></div>, <a></a>, <img>, <span></span>,
,
<table></table>,

,

,

, <form></form>….

2.1.2 CSS




CSS (Cascading Style Sheet). Website được cấu tạo từ các thẻ HTML nhưng
chỉ với các thẻ HTML thì mới chỉ thể hiện được bộ khung của website. Để
căn chỉnh, trình bày cho đẹp mắt thì ta cần sử dụng ngôn ngữ CSS. Đây là
ngôn ngữ được sử dụng rất nhiều trong lập trình website, thường đi cùng với






ngôn ngữ HTML.
Chúng ta có 3 cách để chèn CSS vào trang HTML:
• Cách 1: Chèn nội dung CSS vào cặp thẻ <style></style> trong phần


<head></head> của website.
Cách 2: Chèn trực tiếp vào bên trong thẻ HTML thông qua thuộc tính



style.
Cách 3: Liên kết với một file có đuôi .css ở bên ngoài thông qua thẻ

<link>.
Trên thực tế cách thứ 3 được các lập trình viên sử dụng nhiều nhất do tính
tiện dụng và linh hoạt, dễ kiểm soát của nó.

2.1.3 Javascript


Javascript là một ngôn ngữ thông dịch, chương trình nguồn của nó được
nhúng hoặc tích hợp vào tập tin HTML. Khi trang web được tải trong trình
duyệt hỗ trợ javascript, Trình duyệt sẽ thông dịch và thực hiện các lệnh












Javascipt.
JavaScript là một trong những ngôn ngữ lập trình phổ biến nhất thể giới, nó
là ngôn ngữ cho HTML, web, server, PC, laptop, tablet, smart phone
JavaScript là một ngôn ngữ kịch bản
Ngôn ngữ kịch bản là một ngôn ngữ lập trình nhỏ.
JavaScript là mã lập trình có thể được chèn vào các trang HTML.
JavaScript được chèn vào các trang web có thể được chạy bởi tất cả các
trình duyệt web hiện đại.
JavaScript là một ngôn ngữ lập trình dễ học.
Javascript là một ngôn ngữ có đặc tính : đơn giản, động, hướng đối tượng.

2.1.4 Bootstrap


Bootstrap là một trong những CSS Framework phổ biến nhất hiện nay do
twitter phát triển. CSS Framework này có ưu điểm là hỗ trợ khả năng
responsive ( Tức là website sẽ tự động có giãn cho phù hợp với màn hình
hiển thị của từng thiết bị).




Với sự phổ biến của smartphone, máy tính bảng như hiện nay, responsive là
một công nghệ rất quan trọng giúp các nhà thiết kế và phát triển website
không phải xây dựng các phiên bản riêng cho từ thiết bị PC/Mobile mà chỉ

cần Xây dựng một bản duy nhất cho mọi thiết bị. Việc này giúp tiết kiệm rất
nhiều chi phí cho các nhà phát triển, chính vì vậy mà bootstrap vẫn đang và
sẽ là một framework mạnh mẽ.



Được viết bởi những người có óc thẩm mỹ và tài năng trên khắp thế giới. Sự
tương thích của trình duyệt với thiết bị đã được kiểm tra nhiều lần nên có thể
tin tưởng kết quả mình làm ra và nhiều khi không cần kiểm tra lại. Vì
vậy, giúp cho dự án của bạn tiết kiệm được thời gian và tiền bạc.



Chỉ cần biết sơ qua HTML, CSS, Javascript, Jquery là bạn có thể sử dụng
Bootstrap để tạo nên một trang web sang trọng và đầy đủ. Nhưng lại không
cần code quá nhiều CSS.



Với giao diện mặc định là màu xám bạc sang trọng, hỗ trợ các component
thông dụng mà các website hiện nay cần có. Vì nó là opensource nên bạn có
thể vào mã nguồn của nó để thay đổi theo ý thích của bản thân.



Do có sử dụng Grid System nên Bootstrap mặc định hỗ trợ Responsive.
Bootstrap được viết theo xu hướng Mobile First tức là ưu tiên giao diện trên
Mobile trước. Nên việc sử dụng Bootstrap cho website của bạn sẽ phù hợp
với tất cả kích thước màn hình. Nhờ đó mà chúng ta không cần xây dựng
thêm một trang web riêng biệt cho mobile.




Đội ngũ phát triển Bootstrap đã bổ sung thêm tính năng Customizer. Giúp
cho designer có thể lựa chọn những thuộc tính, component phù hợp với
project của họ. Chức năng này giúp ta không cần phải tải toàn bộ mã nguồn
về máy.


2.2 Ngôn ngữ lập trình backend


Trước tiên khi bắt đầu vào tìm hiểu các ngôn ngữ lập trình phía backend,
cũng giống như frontend chúng ta sẽ tìm hiểu qua khái niệm backend. Đây là



phần quan trọng, cốt lõi nhất củng một ứng dụng website.
Backend gồm có các thành phần để xử lý các thông tin từ Frontend. Thông
thường ám chỉ tới việc tương tác với DBMS (hệ quản trị dữ liệu)

2.2.1 Ngôn ngữ lập trình PHP


PHP (Hypertext Preprocessor) là ngôn ngữ lập trình chủ yếu được dùng để
phát triển các ứng dụng viết cho máy chủ, dễ dàng nhúng vào trang HTML.
Đấy là ngôn ngữ lập trình website phổ biến nhất thế giới do tính mở và dễ




tiếp cận với các lập trình viên của nó.
PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do
Rasmus Lerdoft tạo ra năm 1995, ban đầu được xem như là một tập con đơn
giản của các mà kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu
lý lịch của ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là
“Personal Home Page Tools”. Khi cần đến các chức năng rộng hơn,
Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các
cơ sở dữ liệu và giúp cho người sử dụng phát triển được các ứng dụng
website đơn giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI cho
mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến



mã nguồn.
PHP/FI viết tắt của “Personal Home Page/ Form Interpreter” bao gồm
một số chức năng cơ bản của PHP như chúng ta đã biết đến ngày nay. Nó có
các biến kiểu Perl , thông dịch tự động các biển của form và cú pháp HTML
nhúng. Cú pháp này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản



và có phần thiếu nhất quán.
Vào năm 1997, PHP/FI 2.0 là lần viết lại thứ hai của phiên bản C đã thu hút
được hàng ngàn người sử dụng trên thế giới với xấp xỉ 50.000 tên miền đã
được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng
Internet. Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu
chỉnh mã nguồn của dự án này thì vào thời đó nó vẫn chủ yếu là dự án của
một người.





PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời
gian khá dài chỉ được công bố dưới bản beta. Nhưng không lâu sau đó, nó đã



được thay thế bởi các bản alpha đầu tiên của PHP 3.0.
Thẻ mở <?php và thẻ đóng ?> sẽ đánh dấu sự bắt đầu và kết thúc của phần
mã PHP, qua đó máy chủ biết để xử lý và dịch mã cho đúng. Đây là một
điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan
và dễ dàng trong việc xây dựng phần mềm giao điện ứng dụng website.

2.2.2 Hệ quản trị CSDL MySQL


Giới thiệu về MySQL
o Một Database (Cơ sở dữ liệu) là một ứng dụng riêng rẽ mà lưu trữ
một tập hợp dữ liệu. Mỗi cơ sở dữ liệu có một hoặc nhiều API riêng
o

biệt để tạo, truy cập, quản lý, tìm kiếm và tái tạo dữ liệu nó đang giữ.
Một số loại kho lưu dữ liệu khác có thể được sử dụng, chẳng hạn như
file trên hệ thống file hoặc các Hash Table lớn, nhưng việc lấy và ghi
dữ liệu không thể nhanh và dễ dàng với các loại kho lưu dữ liệu này

o

của các hệ thống.
Vì thế, ngày nay, chúng ta sử dụng các Hệ thống quản lý cơ sở dữ liệu

quan hệ (RDBMS) lưu giữ và quản lý khối lượng lớn dữ liệu. Nó
được gọi là cơ sở dữ liệu quan hệ, bởi vì tất cả dữ liệu được lưu giữ
trong các bảng dữ liệu khác nhau và các mối quan hệ được thành lập
bởi sử dụng các Primary Key (khóa chính) và một số khóa khác được

o

biết đến như là Foreign Key.
MySQL là một RDBMS nhanh và dễ dàng để sử dụng. MySQL đang
được sử dụng cho nhiều công việc kinh doanh từ lớn tới nhỏ. MySQL
được phát triển, được công bố, được hỗ trợ bởi MySQL AB, là một



công ty của Thụy Điển.
Một số ưu điểm của MySQL
o MySQL là mã ngồn mở. Vì thế, để sử dụng nó, bạn chẳng phải mất
o
o
o

o
o

một xu nào.
MySQL là một chương trình rất mạnh mẽ.
MySQL là một chương trình rất mạnh mẽ.
MySQL làm việc trên nhiều Hệ điều hành và với nhiều ngôn ngữ như
PHP, PERL, C, C++, Java, …
MySQL làm việc nhanh và khỏe ngay cả với các tập dữ liệu lớn.

MySQL rất thân thiện với PHP, một ngôn ngữ rất đáng giá để tìm hiểu
để phát triển Web.


o

MySQL hỗ trợ các cơ sở dữ liệu lớn, lên tới 50 triệu hàng hoặc nhiều
hơn nữa trong một bảng. Kích cỡ file mặc định được giới hạn cho một
bảng là 4 GB, nhưng bạn có thể tăng kích cỡ này (nếu hệ điều hành

o

của bạn có thể xử lý nó) để đạt tới giới hạn lý thuyết là 8 TB.
MySQL là có thể điều chỉnh. Giấy phép GPL mã nguồn mở cho phép
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 họ.

2.3 Kiến trúc Client/Server


Mô hình client-server là một mô hình nổi tiếng trong mạng máy tính, được
áp dụng rất rộng rãi và là mô hình của mọi trang web hiện có. Ý tưởng của
mô hình này là máy con (đóng vài trò là máy khách) gửi một yêu cầu
(request) để máy chủ (đóng vai trò người cung ứng dịch vụ), máy chủ sẽ xử



lý và trả kết quả về cho máy khách.
Thuật ngữ server được dùng cho những chương trình thi hành như một dịch
vụ trên toàn mạng. Các chương trình server này chấp nhận tất cả các yêu cầu

hợp lệ đến từ mọi nơi trên mạng, sau đó nó thi hành dịch vụ và trả kết quả về



máy yêu cầu.
Một chương trình được coi là client khi nó gửi các yêu cầu tới máy có



chương trình server và chờ đợi câu trả lời từ server.
Chương trình server và client nói chuyện với nhau bằng các thông điệp
(messages) thông qua một cổng truyền thông liên tác IPC (Interprocess



Communication).
Để một chương trình server và một chương trình client có thể giao tiếp được
với nhau thì giữa chúng phải có một chuẩn để nói chuyện, chuẩn này được
gọi là giao thức.

2.4 Mô hình MVC


MVC là viết tắt của Model – View – Controller. Là một kiến trúc phần mềm
hay mô hình thiết kế được sử dụng trong kỹ thuật phần mềm. Nói cho dễ
hiểu, nó là mô hình phân bố source code thành 3 phần, mỗi thành phần có



một nhiệm vụ riêng biệt và độc lập với các thành phần khác.

Các thành phần trong MVC


o

Controller Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng
và gọi đúng những phương thức xử lý chúng… Chẳng hạn thành phần

o

này sẽ nhận request từ url và form để thao tác trực tiếp với Model.
Model là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử
lý, truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử

o

lý…
View đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi
chứa tất cả các đối tượng GUI như textbox, images… Hiểu một cách



đơn giản, nó là tập hợp các form hoặc các file HTML.
Luồng dữ liệu trong mô hình MVC được thể hiện trong hình ảnh dưới đây:




Ưu điểm: Thể hiện tính chuyên nghiệp trong lập trình, phân tích thiết kế. Do
được chia thành các thành phần độc lập nên giúp phát triển ứng dụng nhanh,




đơn giản, dễ nâng cấp, bảo trì..
Nhược điểm: Đối với dự án nhỏ việc áp dụng mô hình MC gây cồng kềnh,
tốn thời gian trong quá trình phát triển. Tốn thời gian trung chuyển dữ liệu



của các thành phần.
Tóm lại: Để lập trình chuyên nghiệp, làm việc trọng một nhóm nhiều người,
việc áp dụng mô hình trong thiết kế là điều bắt buộc. MVC là một mô hình
khá đơn giản và thích hợp cho những người chưa nhiều kinh nghiệm. Hy
vọng qua bài giới thiệu này các bạn có những kiến thức cơ bản về mô hình
thiết kế trong làm phần mềm.


2.5 Framework Codeigniter
2.5.1 Tổng quan


CodeIgniter là một nền tảng ứng dụng web (web
application framework) nguồn mở được dùng để xây dựng các ứng dụng web



động tương tác với PHP.
Nó cho phép các nhà phát triển xây dựng một ứng dụng web nhanh hơn - so
với việc viết mã hỗn tạp - bằng cách cung cấp 1 bộ thư viện đầy đủ cho các
tác vụ thông thường, cũng như cung cấp một mô hình tương tác đơn giản và




dễ hiểu cho việc kết nối tới những bộ thư viện đó.
Phiên bản chính thức đầu tiên của CodeIgniter được công bố vào 28 tháng 2
năm 2006. Phiên bản mới nhất cho tới bây giờ là 2.1.4 được công bố chính
thúc vào ngày 07 tháng 08 năm 2013.

2.5.2 Những đặc điểm nổi bật


CodeIgniter khuyến khích các lập trình viên sử dụng mô hình model-view-



controller architectural pattern cho các ứng dụng web của mình.
CodeIgniter cũng mang một số các khái niệm đặc thù và các tính năng cơ
bản của các mô hình MVC khác như Ruby on Rails:
o Hỗ trợ kết nối và tương tác đa nền tảng cơ sở dữ liệu
o Tương tác với cơ sở dữ liệu thông qua active records
o Session Management (quản lý Session)
o Định dạng và chuẩn hóa form và dữ liệu đầu vào
o Hỗ trợ Caching toàn trang để tăng tốc độ thực thi và giảm tải tối thiểu
o

cho máy chủ.
Scaffolding (Bị phản đối từ cộng đồng nên đã được lược bỏ trong

o


phiên bản 2.0 trở về sau)
Hỗ trợ Template Engine hoặc sử dụng chính PHP tags để điều hướng

o

trong Views
Hỗ trợ Hooks, các lớp ngoại (Class Extensions), và các Plugins




Trong số các mô hình framework MVC khác, CodeIgniter có các ưu điểm
sau:
o

Tương thích hoàn toàn với PHP 4. Nếu sử dụng PHP 5 sẽ dùng được
các tính năng hữu ích khác như khả năng gọi phương thức dây chuyền

o
o
o
o

(method chaining ability).
Mô hình code nhẹ cho hệ thống, cải thiện tốc độ thực thi.
Đơn giản trong việc cài đặt, cấu hình và cấu trúc thư mục.
Error Logging
Mêm dẻo trong việc định tuyến URI (URI Routing)



2.5.3 Cấu trúc thư mục của framework
Cấu trúc thư mục của Codeigniter framework được giải thích rất rõ trong ảnh dưới
đây:

2.5.4 Các thư viện


Framework này tích hợp thêm vào một số lớp thư viện khác mà các
framework khác chưa mặc định tích hợp:
o Bảo mật và XSS Filtering
o Gửi Email, hỗ trợ đính kèm, HTML/Text email, đa giao
o

o
o
o

thức(sendmail, SMTP, and Mail) và các thứ khác.
Thư viện chỉnh sửa ảnh (cắt ảnh, thay đổi kích thước, xoay ảnh, v.v..).
Hỗ trợ GD, ImageMagick, và NetPBM
Upload file
FTP Class - Tương tác với máy chủ thông qua giao thức FTP
Localization


o
o
o
o
o

o
o
o
o
o
o
o

Phân trang tự động
Mã hóa dữ liệu - Data Encryption
Đo lường tốc độ thực thi - Benchmarking
Application Profiling
Lịch - Calendaring Class
User Agent Class
Nén - Zip Encoding Class
Trackback Class
XML-RPC Library
Unit Testing Class
Search-engine Friendly URLs
Một lượng lớn các hàm hỗ trợ (helpers)

2.6 Phần mềm hỗ trợ lập trình


Phần mềm sublime text là một code editor mạnh mẽ và được đông đảo các
web developer, coder, programmer sử dụng và yêu thích. Sublime Text do
Jon Skinner tạo ra vào tháng 1 năm 2008, được viết dựa trên ngôn ngữ lập




trình Python và C++.
Phần mềm Xampp là chương trình tạo máy chủ Web (Web Server) được tích
hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như
phpMyAdmin.


CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

3.1 Phân tích hệ thống về chức năng
3.1.1 Mô tả hệ thống về chức năng
3.1.2 Yêu cầu đặt ra cho hệ thống
3.1.3 Yêu cầu chức năng
3.1.4 Yêu cầu phi chức năng
3.1.5 Phân tích yêu cầu chức năng
3.1.6 Mô hình hóa chức năng
3.1.7 Các biểu đồ luồng dữ liệu
3.2 Mô hình hóa dữ liệu
3.2.1 Biểu đồ thực thể quan hệ (ERD)
3.2.2 Mô hình dữ liệu quan hệ
3.2.3 Mô tả cơ sở dữ liệu

3.1 Phân tích hệ thống về chức năng
3.1.1 Mô tả hệ thống về chức năng
Đây là một ứng dụng website để phục vụ công tác quản lý của trung tâm giáo dục
một cách dễ dàng và hiệu quả nhất. Website có những chức năng sau:







Cho phép tiếp nhận các học viên mới đăng ký tham gia.
Quản lý danh sách học viên, giáo viên, tư vấn viên.
Quản lý lớp học, khóa học, lịch học và dạy của giáo viên.
Cho phép ghi lại giao dịch của học viên.
Quản lý các cấp độ của quản trị viên.


3.1.2 Yêu cầu đặt ra cho hệ thống
Về mặt thiết bị và phần mềm
Một máy chủ làm webserver
Hệ điều hành Windows 2000 trở lên
Hệ cơ sở dữ liệu sử dụng là MYSQL
Các phầm mềm khác dùng để lập trình và thiết kế website như xampp, sublime


-

-

text3…
 Về mặt Website
Về mặt giao diện phải trực quan, dễ nhìn, dễ sử dụng. Có sử dụng công nghệ

-

responsive.
Có giao điện đăng nhập để phân chia quyền hạn cho từng nhóm quản trị.
Có đầy đủ các chức năng đã đặt ra ở phần trước.
Website có hỗ trợ các tính năng để dễ dàng nâng cấp , bảo trì và sửa chữa khi


-

cần bổ sung , cập nhật những tính năng mới.
Đảm bảo an toàn thông tin lưu trữ trên website.

3.1.3 Yêu cầu chức năng


Website hỗ trợ người dùng trong việc tìm kiếm, tra cứu theo nhiều tiêu chí.
Quản lý học viên với dánh sách hiển thị trực quan, đầy đủ các chức năng



thêm sửa xóa.
Quản lý giáo viên với dánh sách hiển thị trực quan, đầy đủ các chức năng



thêm sửa xóa.
Quản lý tư vấn viên với dánh sách hiển thị trực quan, đầy đủ các chức năng



thêm sửa xóa.
Quản lý lớp học với dánh sách hiển thị trực quan, đầy đủ các chức năng thêm



sửa xóa.

Quản lý khóa học với dánh sách hiển thị trực quan, đầy đủ các chức năng





thêm sửa xóa.
Chức năng giao dịch để ghi lại giao dịch của học viên đã đăng ký.
Chức năng chuyển lớp để chuyển học viên từ lớp này sang lớp khác theo yêu



cầu.
Chức năng bảo lưu giúp đưa học viên vào dánh sách bảo lưu đối với môn học



hiện tại khi học viên chưa đủ yêu cầu học tiếp.
Chức năng quản trị theo nhiều level giúp hệ thống thêm an toàn và tường



minh.
3.1.4 Yêu cầu phi chức năng





Website đáp ứng được khả năng truy cập nhanh, thông tin tin cậy, chính xác.

Giao diện thân thiện dễ sử dụng, tính thẩm mỹ và tính ổn định cao.
Website đảm bảo tính bảo mật cao và phân quyền một cách hợp lý.
Website có thể hoạt động 24/24 tất cả các ngày.




Website có khả năng lưu trữ, xử lý khối lượng lớn thông tin nhưng lại chiếm
dụng lượng nhỏ trong máy tính.

3.1.5 Phân tích yêu cầu chức năng
Chức năng tiếp nhận học viên
-

Chức năng tiếp nhận thông tin của học viên đăng ký
học tại trung tâm và lưu và cơ sở dữ liệu.

-

Thông tin của học viên đăng ký như họ và tên, năm
sinh, số điện thoai, chứng minh thư, địa chỉ, nghề
nghiệp…

-

Kiểm tra tính đúng đắn của dữ liệu nhập vào
Kết nối đến cơ sở dữ liệu
Thêm học viên vào cơ sở dữ liệu

-


Hiển thị học viên ra trang danh sách học viên

Mô tả

Đầu vào

Quá trình xử lý

Đầu ra

Bảng 3-1 Chức năng tiếp nhận học viên


Chức năng hiển thị danh sách học viên
-

Chức năng hiển thị danh sách học viên, chương trình
sẽ lấy tất cả danh sách học viên trong CSDL và hiển
thị ra dưới dạng bảng rất trực quan.

-

Không có

-

Kết nối đến cơ sở dữ liệu
Lấy ra tất cả học viên lưu trong CSDL


-

Hiển thị tất cả học viên ra dưới dạng bảng.

Mô tả

Đầu vào

Quá trình xử lý

Đầu ra

Bảng 3-2 Chức năng hiển thị danh sách học viên
Chức năng tiếp nhận giao dịch của học viên
Mô tả

-

Chức năng tiếp nhận thông tin về giao dịch của học
viên và lưu vào CSDL. Chức năng có tính năng tính
tiền còn thiếu so với khóa học đã đăng ký của học
viên.

Đầu vào

-

Thông tin của phiên giao dịch như mã học viên, tên
học viên, số tiền nộp, số tiền khuyến mãi…


Quá trình xử lý

-

Kiểm tra tính đúng đắn của dữ liệu nhập vào
Kết nối đến cơ sở dữ liệu
Thêm dữ liệu vào bảng giao dịch trong CSDL

Đầu ra

-

Hiển thị dánh sách các phiên giao dịch đã hoàn thành.

Bảng 3-3 Chức năng tiếp nhận giao dịch của học viên.


Chức năng quản lý bảo lưu học viên
Mô tả

-

Chức năng bảo lưu học viên cho phép bảo lưu một
học viên có thời hạn và hiển thị danh sách các học
viên đã bảo lưu theo dạng bảng.

Đầu vào

-


Thông tin của học viên bảo lưu như mã học viên, họ
và tên, lớp học, khóa học, thời gian bắt đầu bảo lưu,
thời gian kết thúc…

Quá trình xử lý

-

Kiểm tra tính đúng đắn của dữ liệu nhập vào
Kết nối đến cơ sở dữ liệu
Thêm học viên bảo lưu vào cơ sở dữ liệu

Đầu ra

-

Hiển thị học viên bảo lưu ra trang danh sách học viên
bảo lưu.

Bảng 3-4 Chức năng quản lý bảo lưu học viên
Chức năng quản lý chuyển lớp của học viên
Mô tả

-

Chức năng chuyển lớp sẽ giúp người quản trị có thể
chuyển học viên từ lớp này qua lớp khác một cách dễ
dàng.

Đầu vào


-

Thông tin của học viên cần chuyền như mã học viên,
tên học viên, lớp đang học, lớp cần chuyển…

Quá trình xử lý

-

Kiểm tra tính đúng đắn của dữ liệu nhập vào
Kết nối đến cơ sở dữ liệu
Chuyển lớp hiện tại của học viên sang lớp mới cần
chuyển
Lưu dữ liệu chuyển lớp vào bảng chuyển lớp
Hiển thị học viên đã chuyển lớp ra danh sách dạng
bảng.

-

Đầu ra

-

Bảng 3-5 Chức năng quản lý chuyển lớp của học viên


Chức năng quản lý sinh nhật học viên
Mô tả


-

Chức năng quản lý sinh nhật của các học viên đã
đăng ký.

Đầu vào

-

Ngày tháng năm cần tra cứu sinh nhật của học viên

Quá trình xử lý

-

Kiểm tra tính đúng đắn của dữ liệu nhập vào
Kết nối đến cơ sở dữ liệu
Truy vấn lấy ra các học viên có cùng ngày tháng sinh
như đầu vào.

Đầu ra

-

Hiển thị danh sách học viên có cùng ngày tháng sinh
theo yêu cầu.

Bảng 3-6 Chức năng quảng lý sinh nhật của học viên
Chức năng quản lý giáo viên
Mô tả


-

Chức năng quản lý giao viên sẽ hiển thị ra danh sách
giáo viên của trung tâm cùng với các chức năng
thêm, sửa , xóa.

Đầu vào

-

Thông tin về giáo viên như mã giáo viên, tên giáo
viên, năm sinh, giới tính, số điện thoại, địa chỉ…

Quá trình xử lý

-

Kiểm tra tính đúng dắn của dữ liệu
Kết nối đến cơ sở dữ liệu
Truy vấn thêm giáo viên vào bảng giáo viên
Truy vấn lấy ra tất cả giáo viên có trong CSDL

Đầu ra

-

Hiển thị danh sách giáo viên dưới dạng bảng.

Bảng 3-7 Chức năng quản lý giáo viên



Chức năng quản lý lịch dạy của giáo viên
Mô tả

-

Chức năng quản lý lịch dạy của giáo viên gồm các tác
vụ thêm lịch dạy, hiển thị lịch dạy của giáo viên.

Đầu vào

-

Thông tin của học viên cần chuyền như mã giáo viên,
tên giáo viên, ngày dạy, ca dạy, lớp dạy, phòng dạy…

Quá trình xử lý

-

Kiểm tra tính đúng đắn của dữ liệu nhập vào
Kết nối đến cơ sở dữ liệu
Truy vấn thêm lịch dạy của giáo viên và bảng lịch
dạy
Truy vấn lấy ra dánh sách lịch dạy của giáo viên
Hiển thị danh sách lịch dạy của giáo viên.

-


Đầu ra

-

Bảng 3-8 Chức năng quản lý lịch dạy của giáo viên

Chức năng quản lý lớp học
Mô tả

-

Chức năng quản lớp học cho phép thêm lớp học mới
và hiển thị danh sách các lớp học hiện tại

Đầu vào

-

Thông tin của lớp học như mã lớp học, tên lớp học,
khóa học, lịch khai giảng, giáo viên, cơ sở…

Quá trình xử lý

-

Kiểm tra tính đúng đắn của dữ liệu nhập vào
Kết nối đến cơ sở dữ liệu
Truy vấn thêm lớp học vào bảng lớp học
Truy vấn lấy ra dánh sách lớp học hiện tại


Đầu ra

-

Hiển thị danh lớp học hiện tại

Bảng 3-9 Chức năng quản lý lớp học


Chức năng quản lý khóa học
Mô tả

-

Chức năng quản lý khóa học thêm khóa học mới và
hiển thị danh sách khóa học hiện tại

Đầu vào

-

Thông tin của khóa học như mã khóa học, tên khóa
học, học phí, mô tả…

Quá trình xử lý

-

Kiểm tra tính đúng đắn của dữ liệu nhập vào
Kết nối đến cơ sở dữ liệu

Truy vấn thêm khóa học và bảng khóa học
Truy vấn lấy ra danh sách khóa học hiện tại.

Đầu ra

-

Hiển thị danh sách khóa học hiện tại.

Bảng 3-10 Chức năng quản lý khóa học

Chức năng quản lý tư vấn viên
Mô tả

-

Chức năng quản lý tư vấn viên cho phép thêm mới tư
vấn viên và hiển thị danh sách tư vấn viên.

Đầu vào

-

Thông tin của tư vấn viên như họ và tên, mã tư vấn
viên, tài khoản, mật khẩu,…

Quá trình xử lý

-


Kiểm tra tính đúng đắn của dữ liệu nhập vào
Kết nối đến cơ sở dữ liệu
Truy vấn thêm tư vấn viên vào bảng tư vấn viên
Truy vấn lấy ra danh sách tư vấn viên.

Đầu ra

-

Hiển thị danh sách tư vấn viên.

Bảng 3-11 Chức năng quản lý tư vấn viên

Chức năng quản lý quản trị viên


Mô tả

-

Chức năng quản lý quản trị viên cho phép quản lý
thành viên trong ban quản trị và quản lý từng nhóm
quản trị với quyền khác nhau.

Đầu vào

-

Thông tin của thành viên trong ban quản trị như họ
và tên, mật khẩu, mã thành viên, email…


Quá trình xử lý

-

Kiểm tra tính đúng đắn của dữ liệu nhập vào
Kết nối đến cơ sở dữ liệu
Truy vấn cập nhật thành viên quản trị và nhóm thành
viên quản trị
Truy vấn lấy ra dánh sách thành viên quản trị và
nhóm thành viên quản trị hiện có.
Hiển thị danh sách thành viên quản trị và nhóm thành
viên quản trị.

-

Đầu ra

-

Bảng 3-12 Chức năng quản lý quản trị viên.


3.1.6 Mô hình hóa chức năng
Biểu đồ phân rã chức năng (Bussiness Functional Diagram – BFD)

WEBSITE QUẢN LÝ TRUNG TÂM GIÁO DỤC

Chức
năng

quản lý
học viên

3.1.7 Các
biểu đồ luồngChức
dữ liệu
Chức
năng quản
năng
lý giáo
quản lý
viên
lớp học

Chức
năng
quản lý
khóa học

Chức
năng
quản lý
tư vấn

Chức
năng
quản lý
quản trị

Tiếp

nhận

QL Giáo
viên

Danh
sách

Danh
sách

Danh
sách

QL
Thành
viên

Hiển thị
danh
sách

QL Lịch
dạy

Thêm
Lớp học

Thêm
Khóa

học

Thêm
TVV

QL
Nhóm

Giao
dịch

Chuyển
lớp

Bảo lưu

Sinh
nhật

Bảng 3-13 Biểu đồ phân rã chức năng.


×