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

XÂY DỰNG CÔNG CỤ HỖ TRỢ CÔNG TÁC GIAO ĐỀ TÀI BÁO CÁO TỐT NGHIỆP

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.02 MB, 80 trang )

ĐỒ ÁN TỐT NGHIỆP

XÂY DỰNG CÔNG CỤ HỖ TRỢ CÔNG TÁC
GIAO ĐỀ TÀI BÁO CÁO TỐT NGHIỆP

Ngành: An toàn thông tin
Mã số: 7.48.02.02

Hà Nội, 2018



MỤC LỤC
Danh mục kí hiệu và viết tắt..................................................................iv
Danh mục hình vẽ..........................................................................................v
Danh mục bảng.......................................................................................................vi
Lời cảm ơn.............................................................................................................vii
Lời nói đầu.......................................................................................................viii
Chương 1. Khảo sát quy trình đăng ký và giao đề
tài báo cáo tốt nghiệp.................................................................................1
1.1. Quy trình đăng ký và giao đề tài báo cáo tốt nghiệp
hiện hành.......................................................................................................1
1.1.1. Thông báo kêu gọi đề xuất đề tài..........................................1
1.1.2. Phê duyệt danh sách đề tài......................................................2
1.1.3. Công bố danh sách đề tài và danh sách sinh
viên đủ điều kiện làm đồ án tốt nghiệp..................................2
1.1.4. Đăng ký đề tài đồ án tốt nghiệp.............................................2
1.1.5. Công bố kết quả đăng ký..........................................................3
1.1.6. Sau khi đăng ký đề tài................................................................3
1.2. Một số hạn chế của quy trình hiện hành...........................................3
1.3. Bài toán xây dựng công cụ hỗ trợ giao đề tài báo cáo


tốt nghiệp......................................................................................................4
1.3.1. Yêu cầu chung........................................................................................4
1.3.2. Yêu cầu về chức năng cho người quản trị.............................................4
1.3.3. Yêu cầu về chức năng cho người hướng dẫn.........................................4
1.3.4. Yêu cầu về chức năng cho sinh viên......................................................5
1.4. Dự kiến những lợi ích đem lại từ công cụ hỗ trợ công
tác giao đề tài báo cáo tốt nghiệp.......................................................5
Chương 2. Phân tích thiết kế công cụ hỗ trợ công
tác giao đề tài báo cáo tốt nghiệp.......................................................6
2.1. Xây dựng biểu đồ Use-case....................................................................6
2.1.1. Biểu đồ Use-case Thành viên...................................................6
2.1.2. Biểu đồ Use-case Admin............................................................7
2.1.3. Biểu đồ Use-case Người hướng dẫn.......................................9
2.1.4. Biểu đồ Use-case Sinh viên....................................................10
2.2. Kịch bản cho các Use-case....................................................................12
2.2.1. Kịch bản chức năng Đăng nhập............................................12
3


2.2.2. Kịch bản chức năng Đăng xuất.............................................13
2.2.3. Kịch bản chức năng Cập nhật thông tin............................13
2.2.4. Kịch bản chức năng Quản lý niên khóa..............................14
2.2.5. Kịch bản chức năng Quản lý đợt đồ án..............................15
2.2.6. Kịch bản chức năng Quản lý quyền hạn............................17
2.2.7. Kịch bản chức năng Quản lý thành viên............................18
2.2.8. Kịch bản chức năng Quản lý đề tài người hướng
dẫn......................................................................................................20
2.2.9. Kịch bản chức năng Phê duyệt/hủy duyệt đề tài
người hướng dẫn đề xuất...........................................................21
2.2.10. Kịch bản chức năng Quản lý nhóm...................................23

2.2.11. Kịch bản chức năng đăng ký/hủy đăng ký đề
tài sinh viên.....................................................................................25
2.2.12. Kịch bản chức năng phê duyệt/hủy duyệt đơn
đăng ký đề tài sinh viên.............................................................26
Chương 3. Xây dựng ứng dụng công cụ hỗ trợ công
tác giao đề tái báo cáo tốt nghiệp.....................................................28
3.1. Lựa chọn ngôn ngữ lập trình................................................................28
3.1.1. Giới thiệu ngôn ngữ lập trình PHP và hệ quản trị CSDL
MySQL.................................................................................................28
3.1.2. Đặc điểm nổi bật của PHP và hệ quản trị CSDL MySQL...................29
3.1.3. Mô hình MVC và HMVC.....................................................................30
3.1.4. Lý do lựa chọn Framework.................................................................32
3.1.5. Framework CodeIgniter......................................................................32
3.2. Phân tích thiết kế cơ sở dữ liệu...........................................................34
3.2.1.
3.2.2.
3.2.3.
3.2.4.
3.2.5.
3.2.6.
3.2.7.
3.2.8.

Cơ sở dữ liệu tổng quát.......................................................................34
Bảng thành viên...................................................................................34
Bảng niên khóa....................................................................................35
Bảng đợt đồ án....................................................................................36
Bảng quyền hạn...................................................................................36
Bảng đề tài...........................................................................................37
Bảng nhóm...........................................................................................37

Bảng đơn đăng ký đề tài......................................................................38

4


3.3. Phân tích các mối hiểm họa đối với một ứng dụng web
và phương pháp phòng chống.............................................................38
3.3.1. Cross Site Scripting (XSS)...................................................................38
3.3.2. SQL Injection.......................................................................................39
3.3.3. Cross Site Request Forgeries (CSRF).................................................40
3.4. Lập trình cài đặt ứng dụng....................................................................42
3.4.1.
3.4.2.
3.4.3.
3.4.4.
3.4.5.

Cấu trúc tổng quan ứng dụng..............................................................42
Module quản lý niên khóa...................................................................43
Module quản lý đợt đồ án....................................................................43
Module quản lý nhóm..........................................................................44
Module template trang chủ và template truy cập không được
phép.....................................................................................................44
3.4.6. Module quản lý quyền hạn...................................................................45
3.4.7. Module tempalte header, footer, sidebar.............................................45
3.4.8. Module quản lý đề tài quản trị viên.....................................................46
3.4.9. Module quản lý đề tài người hướng dẫn.............................................47
3.4.10.Module quản lý đề tài sinh viên...........................................................47
3.4.11. Module quản lý thành viên..................................................................48
3.5. Giao diện ứng dụng..................................................................................49

Kết luận..............................................................................................................51
Tài liệu tham khảo.......................................................................................52
Phụ lục................................................................................................................53

5


DANH MỤC KÍ HIỆU VÀ VIẾT TẮT
CSDL

Cơ sở dữ liệu

CSRF

Cross Site Request Forgery

HTML

HyperText Markup Language

HTTP

HyperText Transfer Protocol

HMVC

Hierarchical Model-View-Controller

MVC


Model-View-Controller

PHP

Hypertext Preprocessor

SQL

Structured Query Language

XSS

Cross Site Scripting

6


DANH MỤC HÌNH VẼ
Hình 2.1 Biểu đồ Use-case Thành viên.....................................................................6
Hình 2.2 Biểu đồ Use-case Admin............................................................................7
Hình 2.3 Biểu đồ Use-case Người hướng dẫn...........................................................9
Hình 2.4 Biểu đồ Use-case Sinh viên......................................................................10
Hình 3.1 Mô hình MVC (Model-View-Controller).................................................30
Hình 3.2 Mô hình HMVC (Hierarchical Model-View-Controller).........................31
Hình 3.3 Cơ sở dữ liệu tổng quát............................................................................34
Hình 3.4 Mô tả phương pháp sử dụng Token ngăn chặn tấn công CSRF...............41
Hình 3.5 Cấu trúc ứng dụng theo mô hình HMVC.................................................42
Hình 3.6 Module quản lý niên khóa........................................................................43
Hình 3.7 Module quản lý đợt đồ án.........................................................................43
Hình 3.8 Module quản lý nhóm...............................................................................44

Hình 3.9 Module template trang chủ và template truy cập không được phép........44
Hình 3.10 Module quản lý quyền hạn.....................................................................45
Hình 3.11 Module template header, footer, sidebar................................................45
Hình 3.12 Module quản lý đề tài quản trị viên........................................................46
Hình 3.13 Module quản lý đề tài người hướng dẫn................................................47
Hình 3.14 Module quản lý đề tài sinh viên.............................................................47
Hình 3.15 Module quản lý thành viên.....................................................................48
Hình 3.16 Giao diện danh sách thành viên hệ thống...............................................49
Hình 3.17 Giao diện danh sách đề tài ngưới hướng dẫn.........................................49
Hình 3.18 Giao diện quản lý nhóm.........................................................................50
Hình 3.19 Giao diện danh sách đề tài khả dụng......................................................50

7


DANH MỤC BẢNG
Bảng 2.1 Kịch bản chức năng đăng nhập................................................................12
Bảng 2.2 Kịch bản chức năng đăng xuất.................................................................13
Bảng 2.3 Kịch bản chức năng cập nhật thông tin....................................................13
Bảng 2.4 Kịch bản chức năng quản lý niên khóa....................................................14
Bảng 2.5 Kịch bản chức năng quản lý đợt đồ án.....................................................15
Bảng 2.6 Kịch bản chức năng quản lý quyền hạn...................................................17
Bảng 2.7 Kịch bản chức năng quản lý thành viên...................................................18
Bảng 2.8 Kịch bản chức năng quản lý đề tài người hướng dẫn..............................20
Bảng 2.9 Kịch bản chức năng phê duyệt/hủy duyệt đề tài người hướng dẫn..........21
Bảng 2.10 Kịch bản chức năng quản lý nhóm.........................................................23
Bảng 2.11 Kịch bản chức năng đăng ký/hủy đăng ký đề tài sinh viên....................25
Bảng 2.12 Kịch bản chức năng phê duyệt/hủy duyệt đơn đăng ký đề tài sinh viên26
Bảng 3.1 Bảng thành viên (tbl_user).......................................................................34
Bảng 3.2 Bảng niên khóa (tbl_academic_year).......................................................35

Bảng 3.3 Bảng đợt đồ án (tbl_topic_batch).............................................................36
Bảng 3.4 Bảng quyền hạn (tbl_role).......................................................................36
Bảng 3.5 Bảng đề tài (tbl_topic).............................................................................37
Bảng 3.6 Bảng nhóm (tbl_group)............................................................................38
Bảng 3.7 Bảng đơn đăng ký đề tài (tbl_reg)...........................................................38

8


LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành và sâu sắc đến các thầy cô trong Khoa An
toàn thông tin, cũng như tất cả các thầy cô Học viện Kỹ thuật mật mã đã truyền đạt
kiến thức, kinh nghiệm quý báu của mình cho em trong suốt quá trình học tập và
nghiên cứu tại Học viện.
Em xin gửi lời cảm ơn đặc biệt đến TS. Nguyễn Tuấn Anh, người đã truyền
niềm đam mê nghiên cứu, sáng tạo cho em. Thầy là người đã tận tình hướng dẫn,
hỗ trợ và tạo điều kiện tốt nhất để em hoàn thành đồ án này.
Mặc dù đã nỗ lực cố gắng song đồ án này chắc chắn không thể tránh khỏi
những hạn chế, thiếu sót. Em mong nhận được sự góp ý của quý thầy cô và các
bạn.

SINH VIÊN THỰC HIỆN ĐỒ ÁN

Bùi Xuân Trường

9


LỜI NÓI ĐẦU
Ngày nay, với sự phát triển mạnh mẽ của khoa học công nghệ nói chung và

công nghệ thông tin nói riêng, với những tính năng ưu việt, sự tiên dụng và được
ứng dụng rộng rãi. Công nghệ thông tin đã trở thành nhân tố quan trọng, là một
phần không thể thiếu được của nhiều ngành nghề, nó giúp tối ưu hóa hiệu quả công
việc, tăng năng suất lao động. Cùng với sự phát triển của công nghệ, con người đã
xây dựng lên rất nhiều ứng dụng để phục vụ cho nhu cầu và lợi ích của xã hội.
Trong đó, phần mềm ứng dụng phục vụ cho công việc luôn là một
trong những vấn đề cấp thiết mà các nhà lập trình viên luôn quan
tâm.
Dưới sự gợi ý của thầy giáo hướng dẫn TS. Nguyễn Tuấn Anh về một phần
mềm ứng dụng có thể hỗ trợ công tác đăng ký và giao đề tài báo cáo tốt nghiệp tại
Khoa An toàn thông tin. Yêu cầu của bài toán ứng dụng mới đáp ứng được công
tác nghiệp vụ của các bên liên quan, giúp tối ưu hóa hiệu quả công việc, giải quyết
được những bất cập, hạn chế của quy trình giao đồ án hiện hành,… Giờ đây, chỉ
cần một chiếc máy tính nhỏ gọn có kết nối với internet có thể
giúp quản lý và lưu trữ dữ liệu trong quá trình đăng ký đề tài báo
cáo tốt nghiệp.
Mục tiêu đặt ra khi thực hiện đồ án là:
1. Khảo sát quy trình đăng ký và giao đề tài báo cáo tốt
nghiệp hiện hành.
2. Phân tích thiết kế và xây dựng ứng dụng công cụ hỗ trợ
công tác giao đề tài báo cáo tốt nghiệp tại Khoa An toàn
thông tin.
Sau khoảng thời gian thực hiện đồ án, cơ bản các mục tiêu
về chức năng đã đáp ứng được, tuy nhiên sẽ không thể tránh khỏi
những hạn chế, thiếu sót. Rất mong nhận được sự góp ý của quý
thầy cô cũng như các bạn học viên để đề tài báo cáo này được
hoàn thiện hơn.
Em xin chân thành cảm ơn!

10



CHƯƠNG 1. KHẢO SÁT QUY TRÌNH ĐĂNG KÝ VÀ GIAO ĐỀ TÀI
BÁO CÁO TỐT NGHIỆP
Hàng năm, Học viện Kỹ thuật mật mã tổ chức các đợt đồ án tốt nghiệp cho
sinh viên, trước mỗi đợt đồ án Học viện sẽ ra yêu cầu kêu gọi đề xuất đề tài và gửi
tới các chuyên gia, người có chuyên môn có thể hướng dẫn sinh viên làm đồ án tốt
nghiệp trong và ngoài Học viện. Sau khi hết thời hạn nhận đề xuất đề tài, Khoa An
toàn thông tin sẽ tổng hợp danh sách đề tài từ người hướng dẫn và được thông qua
bởi Hội đồng xét duyệt của Học viện trước khi công bố cho sinh viên đăng ký.
Điều này nảy sinh bất cập khi người hướng dẫn muốn chỉnh sửa thông tin đề tài
của mình khi danh sách đề tài đã được gửi về Khoa, quá trình chỉnh sửa sẽ trải qua
nhiều công đoạn gây khó khăn cho các bên.
Sau khi danh sách đề tài được công bố trên website của Học viện, sinh viên có
thể tìm hiểu thông tin đề tài, yêu cầu đặt ra của người hướng để quyết định lựa
chọn đề tài. Sinh viên đăng ký nên chọn nhiều hơn 1 phương án đề tài vì có thể đề
tài mong muốn đăng ký đã có sinh viên khác đăng ký sớm hơn mình. Do sinh viên
không nắm được đề tài nào còn khả dụng, đề tài nào đã có sinh viên đăng ký dẫn
đến việc trao đổi thông tin giữa người hướng dẫn và sinh viên phải thực hiện nhiều
lần gây mất thời gian, hiệu quả công việc không cao.
Chuyên ngành An toàn thông tin được mở từ năm 2004 cho tới nay đã có 9
khóa sinh viên tốt nghiệp ra trường và hiện tại khóa An toàn thông tin 10 đang
trong quá trình làm đồ án tốt nghiệp. Năm 2018, Học viện tổ chức tuyển sinh
chuyên ngành An toàn thông tin với 420 chỉ tiêu. Số lượng sinh viên ngày càng
tăng qua các năm dẫn đến nguy cơ nhầm lẫn, sai sót trong quá trình vận hành thống
kê, lưu trữ, sửa đổi.
Việc xây dựng và phát triển một ứng dụng có thể giúp hỗ trợ công tác quản lý
và đăng ký đồ án tốt nghiệp tại Khoa An toàn thông tin trở nên rất cần thiết. Nó
giúp tối ưu hóa thời gian, tăng hiệu quả công việc, khắc phục được những hạn và
bất cập trong quy trình hiện hành.

1.1. Quy trình đăng ký và giao đề tài báo cáo tốt nghiệp
hiện hành
1.1.1.

Thông báo kêu gọi đề xuất đề tài

Hàng năm, Học viện Kỹ thuật mật mã kêu gọi đề xuất đề tài và gửi tới các
chuyên gia, người có chuyên môn có thể hướng dẫn sinh viên làm đồ án tốt nghiệp
1


trong và ngoài Học viện. Đây là quá trình đầu tiên trong quy trình giao đồ án tốt
nghiệp cho sinh viên. Trước mỗi đợt đăng ký đồ án, Khoa An toàn thông tin của Học
viện sẽ ra thông báo kêu gọi đề xuất đề tài. Từ đó, các chuyên gia, người có chuyên
môn,… sẽ tìm hiểu và đăng ký danh sách đề tài gửi về Khoa An toàn thông tin.
Người hướng dẫn nếu có đề tài đề xuất có thể biên soạn và gửi nội dung đề
tài qua thư điện tử hoặc gửi trực tiếp đến Khoa An toàn thông tin.
1.1.2.

Phê duyệt danh sách đề tài

Sau khi hết thời hạn nhận đề xuất đề tài từ người hướng dẫn, Khoa An toàn
thông tin sẽ tổng hợp các đề tài được đăng ký. Để xét duyệt đề tài thông thường
gồm 2 bước:
 Bước 1: Do khoa An toàn thông tin đảm nhiệm loại bỏ các đề tài trùng
lặp, đề tài không phù hợp với sinh viên, đề tài đã làm của năm trước,...
 Bước 2: Sau khi duyệt sơ bộ thì danh sách đề tài sẽ được duyệt lại một
lần nữa bởi Hội đồng xét duyệt đề tài của Học viện.
1.1.3.


Công bố danh sách đề tài và danh sách sinh viên đủ

điều kiện làm đồ án tốt nghiệp
Sinh viên phải hoàn thành số lượng học phần quy định và điểm tĩnh lũy phải
đạt đủ mới có thể nhận đồ án. Những sinh viên chưa đủ điều kiện làm đồ án sẽ phải
đăng ký học bổ sung và học cải thiện cho đến khi đáp ứng đủ điều kiện mới được
đăng ký.
Đối với những sinh viên khóa trước, muốn thực hiện đồ án phải làm đơn
trình lên Khoa An toàn thông tin từ đó khoa sẽ xem xét về đơn yêu cầu của sinh
viên trước khi cho phép sinh viên được tham gia đợt đồ án.
Danh sách đề tài và danh sách sinh viên đủ kiểu kiện làm đồ án tốt nghiệp
sau khi được thông qua bởi Hội đồng xét duyệt của Học viện sẽ được công bố trên
website của Học viện.
1.1.4.

Đăng ký đề tài đồ án tốt nghiệp

Sinh viên tìm hiểu danh sách đề tài và lựa chọn đề tài phù hợp với bản thân.
Nếu có vấn đề liên quan đến đề tài nào đó, muốn được làm rõ thì có thể liên hệ trực
tiếp với người hướng dẫn (Có thông tin liên hệ kèm theo mỗi đề tài).
Mỗi đề tài đều có phần mô tả, phần yêu cầu về kiến thức và kỹ năng để có
thể thực hiện đề tài. Sinh viên cần tìm đọc kỹ những thông tin này để cân nhắc về
việc đăng ký.
2


Sinh viên nên lựa chọn nhiều hơn 1 phương án đề tài, bởi có thể có sinh viên
khác cũng muốn đăng ký và kịp đăng ký sớm hơn mình.
1.1.5.


Công bố kết quả đăng ký

Việc công bố được thực hiện qua thông báo trên website chính thức của Học
viện Kỹ thuật mật mã. Kết quả đăng ký đề tài cũng được công bố trên website của
Học viện.
1.1.6.

Sau khi đăng ký đề tài

Kể từ khi đăng ký đề tài thành công, sinh viên cần liên hệ trực tiếp với người
hướng dẫn để bắt đầu nhận các chỉ thị cần thiết cho việc làm đồ án, bao gồm việc xây
dựng đề cương đồ án tốt nghiệp để nộp về Khoa An toàn thông tin theo kế hoạch.
1.2. Một số hạn chế của quy trình hiện hành
Đối với người hướng dẫn:
 Người hướng dẫn sau khi gửi danh sách đề xuất đề tài về Khoa An toàn
thông tin, nếu muốn chỉnh sửa hoặc thay đổi thông tin về đề tài nào đó sẽ
phải biên soạn lại nội dung và thực hiện gửi lại. Việc này trải qua nhiều
công đoạn, nhiều bước dẫn đến khó khăn cho các bên.
 Không kiểm tra trực tiếp được những đề tài nào đề xuất đã được Khoa An
toàn thông tin phê duyệt, những đề tài nào đã bị loại bỏ. Phải chờ danh
sách đề tài công bố chính thức trên website của Học viện.
 Một số đề tài có nhiều hơn 1 sinh viên mong muốn đăng ký. Dẫn đến việc
số lượng sinh viên đăng ký hẹn gặp người hướng dẫn để trao đổi về đề tài
gây mất nhiều thời gian.
 Không kiểm tra trực tiếp được những đề tài nào đã được Khoa An toàn
thông tin phê duyệt nhưng chưa có sinh viên đăng ký.
Đối với sinh viên:
 Không nắm được những đề tài nào khả dụng, những đề tài nào sinh viên
đăng ký đã được người hướng dẫn phê duyệt nên việc hẹn gặp người
hướng dẫn diễn ra nhiều lần gây mất thời gian cho các bên.

 Không kiểm tra được những đề tài nào có sinh viên khác cùng đăng ký.
 Việc đăng ký đề tài theo nhóm không khả dụng.
Đối với khoa An toàn thông tin:
 Việc tổng hợp đề tài đề xuất từ người hướng dẫn và phê duyệt vẫn thực
hiện thực hiện thủ công.

3


 Số lượng sinh viên ngày càng tăng qua các năm nên nguy cơ nhầm lẫn, sai
sót không thể tránh khỏi.
 Khả năng lưu trữ, tìm kiếm, sửa đổi còn gặp nhiều khó khăn, hạn chế.
1.3. Bài toán xây dựng công cụ hỗ trợ giao đề tài báo cáo
tốt nghiệp
Qua phân tích, làm rõ những khó khăn mà các bên liên quan gặp phải trong
quy trình đăng ký và giao đồ án tốt nghiệp tại Khoa An toàn thông tin có thể nhận
thấy rằng cần phải có một giải pháp thích hợp, giúp giải quyết những khó khăn đó
cho các bên. Hiện nay, ứng dụng web là một giải pháp được sử dụng phổ biến
trong các hệ thống quản lý. Vì vậy, bài toán được đặt ra ở đây là phát triển một ứng
dụng web hỗ trợ quy trình đăng ký và giao đề tài đồ án tốt nghiệp tại Khoa An toàn
thông tin với định hướng có thể mở rộng để áp dụng cho cả các đơn vị khác.
Cụ thể các yêu cầu như sau
1.3.1. Yêu cầu chung
Sản phẩm phải hướng đến đối tượng sử dụng là 3 bên chính liên quan đến
quy trình đăng ký và giao đồ án tốt nghiệp: người quản trị, người hướng dẫn, và
sinh viên.
Sản phẩm phải phù hợp với quy trình đăng ký, giao đồ án hiện được áp dụng
và dự kiến được áp dụng tại Khoa An toàn thông tin, bao gồm việc đăng ký đồ án
theo nhóm sinh viên.
Sản phẩm phải có giao diện thân thiện, dễ tiếp cận cho từng đối tượng sử dụng.

Sản phẩm phải được đảm bảo an toàn, chống lại các tấn công phổ biến.
Sản phẩm phải được thiết kế với khả năng nâng cấp, mở rộng.
1.3.2. Yêu cầu về chức năng cho người quản trị
Người quản trị được cung cấp khả năng:
 Quản lý quyền hạn, phân vùng làm việc của các thành viên trong hệ
thống.
 Thêm, bớt, chỉnh sửa thông tin về người hướng dẫn và sinh viên trong hệ
thống.
 Quản lý phê duyệt/hủy duyệt đề tài người hướng dẫn đề xuất.
 Quản lý việc đăng ký đề tài theo từng đợt đồ án, niên khóa.
 Tổng hợp thông tin, xuất thông tin về đề tài, sinh viên, người hướng dẫn
thành báo cáo.

4


1.3.3. Yêu cầu về chức năng cho người hướng dẫn
Người hướng dẫn được cũng cấp khả năng:
 Cập nhật thông tin cá nhân, thay đổi mật khẩu tài khoản.
 Thêm, bớt, chỉnh sửa thông tin về danh sách đề tài đề xuất.
 Quản lý đề tài sinh viên đăng ký, phê duyệt/hủy duyệt, loại bỏ đơn đăng
ký đề tài của sinh viên trong hệ thống.
1.3.4. Yêu cầu về chức năng cho sinh viên
Sinh viên được cung cấp khả năng:
 Cập nhật thông tin cá nhân, thay đổi mật khẩu tài khoản.
 Thêm, bớt, chỉnh sửa, quản lý thông tin nhóm.
 Quản lý đăng ký đề tài, đăng ký/hủy đăng ký đề tài trong hệ thống.
 Xem danh sách các sinh viên cùng đăng ký 1 đề tài.
1.4. Dự kiến những lợi ích đem lại từ công cụ hỗ trợ công
tác giao đề tài báo cáo tốt nghiệp

Dựa vào mô tả bài toàn ở trên, có thể thấy việc xây dựng công cụ hỗ trợ công
tác giao đề tài báo cáo tốt nghiệp là cần thiết, cụ thể đem lại một số lợi ích sau
Đối với người quản trị:
 Quản lý quyền hạn hệ thống, từ đó quyết định phân vùng làm việc của
từng nhóm đối tượng trong hệ thống.
 Quản lý thành viên hệ thống, thêm, bớt, chỉnh sửa thông tin thành viên.
 Quản lý đề tài phê duyệt/hủy duyệt của người hướng dẫn đề xuất.
 Tổng hợp thông tin, xuất thông tin về đề tài, sinh viên, người hướng dẫn
thành báo cáo một cách đơn giản và dễ sử dụng.
Đối với người hướng dẫn:
 Cập nhật thông tin cá nhân, đổi mật khẩu tài khoản.
 Thêm, bớt, chỉnh sửa thông tin danh sách đề tài đề xuất.
 Phê duyệt/hủy duyệt, loại bỏ đơn đăng ký đề tài của sinh viên trong hệ
thống một cách tối ưu và linh hoạt.
Đối với sinh viên:
 Cập nhật thông tin cá nhân, đổi mật khẩu tài khoản.
 Sinh viên có thể dễ dàng tìm kiếm thông tin đề tài, người hướng dẫn, giúp
tối ưu hóa thời gian (Danh sách đề tài đã được công bố rõ ràng trên hệ
thống).
 Sinh viên có thể đăng ký đề tài theo nhóm.
 Việc đăng ký/hủy đăng ký đề tài trở nên dễ dàng và thuận tiện. Sinh viên
có thể kiểm tra những đề tài nào khả dụng, những đề tài nào có cùng sinh
5


viên mong muốn đăng ký trên hệ thống sau đó sẽ đưa ra quyết định về việc
đăng ký đề tài và liên hệ với người hướng dẫn.

6



CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ CÔNG CỤ HỖ TRỢ CÔNG
TÁC GIAO ĐỀ TÀI BÁO CÁO TỐT NGHIỆP
Trong ứng dụng này, do quy mô về giới hạn và tầm hoạt động của hệ thống ở
mức trung bình, nên em sẽ lựa chọn phân tích thiết kế và mô tả các kịch bản hoạt
động thông qua biểu đồ Use-case (Use Case Diagram). Biểu đồ Use-case chỉ ra
một số lượng các tác nhân ngoại cảnh và mối liên kết của chúng đối với Use-case
mà hệ thống cung cấp. Một Use-case là một lời miêu tả của một chức năng mà hệ
thống cung cấp. Lời miêu tả này được trình bày dưới dạng các kịch bản hoạt động
và thể kèm theo biểu đồ hoạt động.
2.1. Xây dựng biểu đồ Use-case
2.1.1.

Biểu đồ Use-case Thành viên

Hình 2.1 Biểu đồ Use-case Thành viên
Tóm tắt:
 Tên ca sử dụng: Thành viên.
 Tác nhân: Thành viên.
 Mục đích: Quản lý đăng nhập, đăng xuất, cập nhật thông tin.
Mô tả chức năng:
 Hệ thống có 3 đối tượng chính: người quản trị, người hướng dẫn, và sinh
viên. Cả 3 đối tượng đều có chức năng đăng nhập, đăng xuất, cập nhật
thông tin tài khoản trên hệ thống.
7


2.1.2.

Biểu đồ Use-case Admin


Hình 2.2 Biểu đồ Use-case Admin
Tóm tắt:
 Tên ca sử dụng: Admin.
 Tác nhân: Admin.
 Mục đích: quản lý quyền hạn, quản lý niên khóa, quản lý đợt đồ án, quản
lý thành viên, quản lý đề tài người hướng dẫn đề xuất, quản lý đề tài sinh
viên đăng ký đã được người hướng dẫn phê duyệt.

8


Mô tả chức năng:
 Quản lý quyền hạn: thêm, bớt, chỉnh sửa quyền hạn, xem danh sách
quyền hạn, chức năng tìm kiếm theo từ khóa.
 Quản lý niên khóa: thêm, bớt, chỉnh sửa niên khóa, xem danh sách niên khóa.
 Quản lý đợt đồ án: thêm, bớt, chỉnh sửa đợt đồ án, xem danh sách đợt đồ án.
 Quản lý thành viên: thêm, bớt, chỉnh sửa thành viên, xem danh sách
thành viên, chi tiết thành viên, chức năng tìm kiếm và lọc theo từ khóa
(Thành viên bao gồm: người quản trị, người hướng dẫn, sinh viên).
 Quản lý đề tài người hướng dẫn đề xuất: xem danh sách đề tài người
hướng dẫn đề xuất, chi tiết đề tài người hướng dẫn đề xuất, chức năng
phê duyệt/hủy duyệt đề tài của người hướng dẫn đề xuất, tìm kiếm và lọc
theo từ khóa.
 Quản lý đề tài sinh viên đăng ký đã được người hướng dẫn phê duyệt:
xem danh sách đề tài sinh viên đăng ký đã được người hướng dẫn phê
duyệt, chi tiết đề tài sinh viên đăng ký đã được người hướng dẫn phê
duyệt, chức năng tìm kiếm và lọc theo từ khóa, xuất thông tin dữ liệu
thành báo cáo.


9


2.1.3.

Biểu đồ Use-case Người hướng dẫn

Hình 2.3 Biểu đồ Use-case Người hướng dẫn
Tóm tắt:
 Tên ca sửa dụng: Người hướng dẫn
 Tác nhân: Người hướng dẫn
 Mục đích: Quản lý danh sách đề tài, quản lý danh sách đề tài sinh viên
đăng ký.
Mô tả chức năng:
 Quản lý danh sách đề tài của tôi: thêm, bớt, chỉnh sửa danh sách đề tài;
xem danh sách đề tài, chi tiết đề tài, chức năng tìm kiếm theo từ khóa.
 Quản lý danh sách đề tài sinh viên đăng ký: xem danh sách đề tài sinh
viên đăng ký, chi tiết đề tài sinh viên đăng ký, chức năng tìm kiếm theo
từ khóa. Chức năng phê duyệt/hủy duyệt, xóa bỏ đề tài sinh viên đăng ký.

10


2.1.4.

Biểu đồ Use-case Sinh viên

Hình 2.4 Biểu đồ Use-case Sinh viên
11



Tóm tắt:
 Tên ca sử dụng: Sinh viên
 Tác nhân: Sinh viên
 Mục đích: Quản lý nhóm, quản lý đề tài khả dụng, quản lý đề tài nhóm
đăng ký, quản lý đề tài được phê duyệt.
Mô tả chức năng:
 Quản lý nhóm: tạo nhóm, tham gia nhóm, rời nhóm, xem thông tin nhóm.
 Quản lý đề tài khả dụng: xem danh sách đề tài khả dụng, chi tiết đề tài
khả dụng, danh sách nhóm cùng đăng ký đề tài, chức năng đăng ký đề tài,
tìm kiếm đề tài theo từ khóa.
 Quản lý đề tài nhóm đăng ký: xem danh sách đề tài nhóm đăng ký, chi
tiết đề tài nhóm đăng ký, chức năng hủy đề tài đăng ký.
 Quản lý đề tài được phê duyệt: xem danh sách đề tài được phê duyệt, chi
tiết đề tài được phê duyệt.

12


2.2. Kịch bản cho các Use-case
2.2.1.

Kịch bản chức năng Đăng nhập
Bảng 2.1 Kịch bản chức năng đăng nhập

Tên Use-case

Đăng nhập

Mục đích

Tác nhân
Tiền điều kiện

Mô tả cách thành viên đăng nhập vào hệ thống.
Người quản trị, Người hướng dẫn, Sinh viên.
Là thành viên của hệ thống và được cấp tài khoản.
Nếu đăng nhập thành công, tác nhân sẽ được truy cập
vào hệ thống.
Tác nhân chọn chức năng đăng nhập.

Hậu điều kiện

Kích hoạt
Luồng sự kiện chính:
Ca này được sử dụng khi tác nhân muốn đăng nhập vào hệ thống.
1. Hệ thống yêu cầu tác nhân nhập “Username” và “Password”.
2. Tác nhân nhập “Username” và “Password” và click nút “Đăng nhập”.
3. Hệ thống xác nhận tài khoản có hợp lệ không, nếu không hợp lệ thì thực hiện
luồng A1, nếu hợp lệ thì chuyển thành viên vào hệ thống (Mặc định là trang
chủ).
Luồng sự kiện rẽ nhánh:
Luồng A1:
- Nhập sai “Username” hoặc “Password”, “Username” không tồn tại trên hệ
thống, tài khoản bị vô hiệu hóa.
- Hệ thống trở lại giao diện đăng nhập và hiển thị thông báo lỗi.
Mối hiểm họa có thể xảy ra:
- Nguy cơ từ các cuộc tấn công XSS, SQL Injection từ form đăng nhập nếu như
dữ liệu đầu vào không được chuẩn hóa.
- Nguy cơ từ các cuộc tấn công CSRF bằng cách sử dụng dụng quyền chứng
thực của người dùng đối với một ứng dụng website. Dựa vào đó hacker có thể

thực hiện chèn mã độc hay link đến website mà người dùng chứng thực.
Cách phòng chống:
- Thực hiện chuẩn hóa dữ liệu đầu vào thông qua các bộ lọc.
- Lựa chọn phương thức POST thay cho phương thức GET đối với những form
truyền dữ liệu quan trọng cần được bảo mật.
- Sử dụng Capcha, Token, kiểm tra địa chỉ IP, vv…

13


2.2.2.

Kịch bản chức năng Đăng xuất
Bảng 2.2 Kịch bản chức năng đăng xuất

Tên Use-case
Mục đích
Tác nhân
Tiền điều kiện
Hậu điều khiện

Đăng xuất
Mô tả cách thành viên đăng xuất hệ thống.
Người quản trị, Người hướng dẫn, Sinh viên.
Đã đăng nhập vào hệ thống.
Nếu ca sử dụng này thành công, tác nhân sẽ thoát
khỏi hệ thống.
Tác nhân chọn chức năng đăng xuất.

Kích hoạt

Luồng sự kiện chính:
Ca này được sử dụng khi tác nhân muốn đăng xuất khỏi hệ thống.
1. Tác nhân click “Thoát” trên hệ thống.
2. Hệ thống xác nhận tác vụ đăng xuất và chuyển tác nhân đến trang đăng nhập.
2.2.3.

Kịch bản chức năng Cập nhật thông tin
Bảng 2.3 Kịch bản chức năng cập nhật thông tin

Tên Use-case
Mục đích
Tác nhân chính
Tiền điều kiện
Hậu điều khiện

Cập nhật thông tin
Mô tả cách thành viên cập nhật thông tin cá nhân.
Người quản trị, Người hướng dẫn, Sinh viên.
Đã đăng nhập vào hệ thống.
Nếu ca sử dụng này thành công, dữ liệu thông tin
tác nhân sẽ được thay đổi.
Tác nhân chọn chức năng “Thông tin cá nhân”.

Kích hoạt
Luồng sự kiện chính:
Ca này được sử dụng khi tác nhân muốn cập nhật thông tin cá nhân.
1. Tác nhân click chọn “Cập nhật thông tin” trên hệ thống. Hệ thống chuyển tác
nhân tới trang “Cập nhật thông tin”.
2. Tác nhân bổ sung thông tin cá nhân hoặc chỉnh sửa thông tin cá nhân và click
“Cập nhật”.

3. Hệ thống cập nhật thông tin cá nhân, chuyển tác nhân về trang “Thông tin cá
nhân” và hiển thị thông báo thành công.
Mối hiểm họa có thể xảy ra:
- Dữ liệu được nhập vào từ tác nhân có thể do vô tình hoặc cố ý dẫn đến phát
sinh lỗi thay đổi cấu trúc lưu trữ dữ liệu trong hệ thống.
- Dữ liệu được GET xuống từ URL không được chuẩn hóa trước khi thực hiện
truy vấn.
Cách phòng chống:
- Thực hiện chuẩn hóa dữ liệu đầu vào thông qua các bộ lọc.
14


- Dữ liệu được GET xuống từ URL cần được chuẩn hóa và ép kiểu trước khi
thực hiện truy truy vấn.
2.2.4.

Kịch bản chức năng Quản lý niên khóa
Bảng 2.4 Kịch bản chức năng quản lý niên khóa

Tên Use-case
Mục đích
Tác nhân chính
Tiền điều kiện
Hậu điều khiện

Quản lý niên khóa
Mô tả quản lý niên khóa của người quản trị.
Người quản trị.
Đã đăng nhập hệ thống và có quyền hạn Admin.
Nếu ca sử dụng này thành công, dữ liệu về niên

khóa sẽ được thêm vào, sửa đổi hay xóa khỏi hệ
thống. Trong các trường hợp khác, hệ thống ở
trạng thái không thay đổi.
Tác nhân chọn mục “Danh sách niên khóa”.

Kích hoạt
Luồng sự kiện chính:
Ca này được sử dụng khi tác nhân muốn quản lý niên khóa.
1. Tác nhân click chọn “Niên khóa”, hệ thống sẽ hiển thị mục “Danh sách niên khóa”.
2. Tác nhân click chọn “Danh sách niên khóa”, hệ thống chuyển tác nhân đến
trang “Quản lý niên khóa”.
3. Tác nhân chọn hành động muốn thực hiện:
3.1. Thêm:
- Tác nhân chọn chức năng “Thêm mới niên khóa”, hệ thống sẽ chuyển
tác nhân đến trang “Thêm mới niên khóa”.
- Tác nhân nhập mới dữ liệu trong form và click “Thêm mới”.
- Hệ thống sẽ kiểm tra xem dữ liệu có hợp lệ không, nếu không hợp lệ thực
hiện luồng A1, nếu hợp lệ sẽ thêm mới niên khóa, chuyển tác nhân đến
trang “Danh sách niên khóa” và hiển thị thông báo thành công.
3.2. Sửa:
- Tác nhân chọn chức năng “Chỉnh sửa niên khóa”, hệ thống sẽ chuyển
tác nhân đến trang “Chỉnh sửa niên khóa”.
- Tác nhân tiến hành chỉnh sửa dữ liệu trong form và click “Cập nhật”.
- Hệ thống sẽ kiểm tra dữ liệu có hợp lệ không, nếu không hợp lệ sẽ thực
hiện luồng A1, nếu hợp lệ sẽ chỉnh sửa niên khóa, chuyển tác nhân đến
trang “Danh sách niên khóa” và hiển thị ra thông báo thành công.
3.3. Xóa:
- Tác nhân chọn chức năng “Xóa”, hệ thống sẽ hiển thị thông báo để xác
minh xem tác nhân có muốn xóa thật sự hay không? Nếu tác nhân
chấp nhận xóa, hệ thống sẽ tiến hành xóa niên khóa, chuyển tác nhân

đến trang “Danh sách niên khóa” và hiển thị thông báo thành công.
15


×