You are on page 1of 50

KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG i

TRƯỜNG ĐẠI HỌC HẢI PHÒNG


KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO

ĐỒ ÁN TỐT NGHIỆP

Tên đề tài:

NGHIÊN CỨU XÂY DỰNG PHẦN MỀM QUẢN LÝ

THÔNG TIN TỐT NGHIỆP TRƯỜNG ĐẠI HỌC HẢI PHÒNG

Giảng viên hướng dẫn: Th.S Nguyễn Ngọc Khương


Sinh viên thực hiện : Bùi Thế Anh
Ngày sinh : 19/11/1995
Lớp : CNTT2 K17
Khoá : 2016 - 2020

Hải Phòng, tháng 06 năm 2018


KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG i

LỜI CẢM ƠN

Trước hết, em xin bày tỏ lòng biết ơn sâu sắc tới ThS.Nguyễn Ngọc Khương
người đã trực tiếp hướng dẫn và tận tình giúp đỡ em hoàn thành đồ án tốt nghiệp này.
Em xin chân thành cảm ơn sự giúp đỡ của toàn thể các giáo viên khoa công nghệ
thông tin của trường Đại học Hải Phòng đã dìu dắt, dạy dỗ em cả về kiến thức chuyên
môn và tinh thần học tập độc lập, sáng tạo để em có được kiến thức thực hiện đề tài đồ
án tốt nghiệp của mình.
Cuối cùng, em xin bày tỏ lòng biết ơn sâu đậm của mình tới gia đình, bạn bè
những người luôn sát cánh bên em, tạo mọi điều kiện tốt nhất để em có thể thực hiện đồ
án tốt nghiệp của mình.
Trong quá trình thực hiện đồ án tốt nghiệp, mặc dù đã cố gắng hết sức song do
thời gian và khả năng có hạn nên em không thể tránh khỏi những thiếu sót. Vì vậy, em
rất mong nhận được sự thông cảm, chỉ bảo và giúp đỡ của các thầy giáo, cô giáo và các
bạn.
Một lần nữa em xin chân thành cảm ơn!

Hải Phòng, ngày 15 tháng 04 năm 2020


Sinh viên

Bùi Thế Anh

GVHD: Th.S Nguyễn Ngọc Khương Lớp: CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG ii

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả
nêu trong báo cáo là trung thực và chưa từng được ai công bố trong bất kỳ công trình
nào khác. Tôi xin cam đoan rằng các thông tin trích dẫn trong báo cáo đều đã được chỉ
rõ nguồn gốc.

Hải Phòng, ngày tháng năm 2020


Sinh viên thực hiện

Bùi Thế Anh

GVHD: Th.S Nguyễn Ngọc Khương Lớp: CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG iii

NHẬN XÉT
(Của giảng viên hướng dẫn)
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………

GVHD: Th.S Nguyễn Ngọc Khương Lớp: CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG iv

MỤC LỤC
LỜI MỞ ĐẦU ................................................................................................................. 1
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI QUẢN LÝ ĐỒ HỒ SƠ TỐT NGHIỆP
TRƯỜNG ĐẠI HỌC HẢI PHÒNG ................................................................................ 2
1.1 Tổng quan về trường Đại học Hải Phòng. ................................................................. 2
1.1.1 Giới thiệu về trường đại học Hải Phòng. ................................................................ 2
1.1.2 Cơ cấu tổ chức ........................................................................................................ 2
1.2 Lý do chọn đề tài và nội dung báo cáo. ..................................................................... 4
1.2.1 Lý do chọn đề tài: ................................................................................................... 5
1.2.2 Nội dung của báo cáo: ............................................................................................ 5
1.3 Khảo sát quy trình Quản lý hồ sơ tốt nghiệp sinh viên Trường đại học Hải Phòng. 6
1.3.1 Quy trình nghiệp vụ đang được sử dụng ở Trường Đại học Hải Phòng. ............... 6
1.3.2 Những thuận lợi và khó khăn trong quá trình thực hiện. ....................................... 6
1.4 Bài toán nghiệp vụ Quản lý hồ sơ tốt nghiệp. ........................................................... 6
1.5 Kết luận chương 1. .................................................................................................... 7
CHƯƠNG 2: TÌM HIỂU NGÔN NGỮ LẬP TRÌNH SỬ DỤNG.................................. 8
2.1 Hệ quản trị cơ sở dữ liệu SQL Server 2012[1]. .......................................................... 8
2.2 LINQ[2]....................................................................................................................... 8
2.3 Mô hình lập trình ứng dụng ASP.Net MVC............................................................ 13
2.4 ADO.NET Entity Framework[3]. ............................................................................. 16
2.5 Kết luận chương 2. .................................................................................................. 17
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG QUẢN LÝ HỒ SƠ TỐT
NGHIỆP SINH VIÊN .................................................................................................... 18
3.1 Khảo sát và phân tích bài toán Quản lý tốt nghiệp sinh viên. ................................. 18
3.1.1 Khảo sát. ............................................................................................................... 18
3.1.2 Phân tích bài toán. ................................................................................................ 18
3.2 Đặc tả yêu cầu hệ thống........................................................................................... 19
3.3 Phân tích hệ thống. .................................................................................................. 19
3.3.1 Sơ đồ Use case dưới tác nhân quản lý. ................................................................. 20
3.3.2 Tác nhân là người dùng. ....................................................................................... 24
3.4. Xây dựng biểu đồ tuần tự. ...................................................................................... 24

GVHD: Th.S Nguyễn Ngọc Khương Lớp: CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG v

3.4.1 Sơ đồ tuần tự tìm kiếm văn bằng. ......................................................................... 24


3.4.2 Sơ đồ tuần tự thêm văn bằng ................................................................................ 26
3.4.3 Sơ đồ tuần tự sửa văn bằng................................................................................... 27
3.4.4 Sơ đồ tuần tự xóa văn bằng .................................................................................. 28
3.5. Thiết kế hệ thống. ................................................................................................... 29
3.5.1 Kiến trúc hệ thống. ............................................................................................... 29
3.5.2 Xây dựng hệ thống lớp. ........................................................................................ 30
3.5.3 Xây dựng biểu đồ cơ sở dữ liệu............................................................................ 31
CHƯƠNG 4: THỰC NGHIỆM..................................................................................... 35
4.1 Hướng dẫn sử dụng. ................................................................................................ 35
4.2 Một số giao diện phần mềm. ................................................................................... 35
4.2.1 Giao diện người dùng ........................................................................................... 35
4.2.2 Giao diện trang Admin. ........................................................................................ 36
KẾT LUẬN ................................................................................................................... 41
1. Kết quả đạt được. ....................................................................................................... 41
2. Hạn chế. ..................................................................................................................... 41
3. Hướng phát triển. ....................................................................................................... 41
TÀI LIỆU THAM KHẢO ............................................................................................. 42

GVHD: Th.S Nguyễn Ngọc Khương Lớp: CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG vi

DANH MỤC HÌNH ẢNH


Hình 2.1 Các thành phần chính SQL Server ................................................................. 10
Hình 2.2 Tìm hiểu LINQ ............................................................................................... 12
Hình 3.1 Use Case tổng quát ......................................................................................... 20
Hình 3.2 Sơ đồ tuần tự tìm kiếm văn bằng .................................................................... 25
Hình 3.3 Sơ đồ tuân tự thêm văn bằng .......................................................................... 26
Hình 3.4 Sơ đồ tuần tự sửa văn bằng............................................................................. 27
Hình 3.5 Sơ đồ tuần tự xóa văn bằng ............................................................................ 28
Hình 3.6 Kiến trúc hệ thống .......................................................................................... 29
Hình 3.7 Sơ đồ lớp......................................................................................................... 30
Hình 3.8 Biểu đồ cơ sở dữ liệu ...................................................................................... 31
Hình 4.1 Giao diện khi truy cập trang ........................................................................... 35
Hình 4.2 Giao diện khi tìm kiếm ................................................................................... 36
Hình 4.3 Giao diện đăng nhập hệ thống ........................................................................ 36
Hình 4.4 Giao diện trang chủ Admin ............................................................................ 37
Hình 4.5 Giao diện thêm mới văn bằng......................................................................... 37
Hình 4.6 Giao diện sửa thông tin văn bằng ................................................................... 38
Hình 4.7 Giao diện xác nhận xóa văn bằng ................................................................... 38
Hình 4.8 Giao diện chung một số trang danh mục ........................................................ 39
Hình 4.9 Giao diện khi chọn nhập file Excel ................................................................ 39
Hình 4.10 Giao diện khi chọn xuất file Excel. .............................................................. 40

GVHD: Th.S Nguyễn Ngọc Khương Lớp: CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG vii

DÁNH MỤC BẢNG

Bảng 3.1: Mô tả lớp thông tin sinh viên ........................................................................ 32


Bảng 3.2: Mô tả lớp danh mục khoa ............................................................................. 32
Bảng 3.3: Mô tả lớp danh mục loại bằng ...................................................................... 32
Bảng 3.4: Mô tả lớp thông tin văn bằng ........................................................................ 33
Bảng 3.5: Mô tả lớp danh mục hình thức đào tạo ......................................................... 34
Bảng 3.6: Mô tả lớp danh mục bậc đào tạo ................................................................... 34

GVHD: Th.S Nguyễn Ngọc Khương Lớp: CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 1

LỜI MỞ ĐẦU

Trong xu hướng của thời đại hiện nay, việc áp dụng khoa học công nghệ vào tất cả
các ngành nghề, các lĩnh vực là một trong những công việc thiết thực và cần làm để đạt
được hiệu quả làm việc cũng như chất lượng hàng hóa. Các ứng dụng của công nghệ thông
tin đang ngày càng mở rộng và phát triển không ngừng. Công nghệ cao đang là mục tiêu
của hầu hết các quốc gia, các ngành nghề và từng con người trên thế giới.
Phần mềm quản lý thông tin tốt nghiệp là giải pháp tổng thể được xây dựng và áp
dụng cho phòng Đào tạo tại Trường Đại học Hải Phòng. Qua đó giúp cho các đơn vị
trong và ngoài trường, quản lý được thông tin tốt nghiệp của các sinh viên đã hoàn thành
khóa học tại trường. Hệ thống giúp các đơn vị có thẩm quyền quản lý các thông tin hiệu
quả, giảm chi phí, thời gian, công sức, thuận tiện trọng việc tra cứu tìm kiếm, quản lý
thông tin thuận tiện, dễ dàng. Hệ thống phần mềm có các chức năng phân quyền để đảm
bảo thông tin đầu vào.
Với mong muốn xây dựng một hệ thống có chức năng quản lý thông tin tốt nghiệp,
em đã thực hiện đề tài “Nghiên cứu xây dựng phần mềm quản lý thông tin tốt nghiệp
trường Đại Học Hải Phòng” và đưa ra chương trình áp dụng trực tiếp cho phòng Đào
tạo trường Đại học Hải Phòng.
Hệ thống được triển khai thành công cho phép:
- Quản lý các bộ thông tin tốt nghiệp một các thông minh, nhanh chóng và tiện lợi.
- Cập nhật lại các thông tin văn bằng.
- Tăng cường khả năng lưu trữ và tìm kiếm các thông tin tốt nghiệp.
- Tra cứu thông tin văn bằng dựa vào các thông tin trên văn bằng.
- Nhập thông tin văn bằng bằng file Excel.
- Xuất thông tin văn bằng ra file Excel.

GVHD: Th.S Nguyễn Ngọc Khương Lớp: CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 2

CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN QUẢN LÝ ĐỒ HỒ SƠ TỐT


NGHIỆP TRƯỜNG ĐẠI HỌC HẢI PHÒNG

Trong chương này, em trình bày tổng quan về đề tài: Mục đích và yêu cầu đặt ra
khi xây dựng phần mềm quản lý hồ sơ tốt nghiệp sinh viên cho Trường đại học Hải
Phòng. Quá trình khảo sát quy trình quản lý hồ sơ hiện nay, từ đó đưa ra phương pháp
giải quyết bài toán Quản lý hồ sơ tốt nghiệp sinh viên.
1.1 Tổng quan về trường Đại học Hải Phòng.
1.1.1 Giới thiệu về trường đại học Hải Phòng.
Trường Đại học Hải Phòng (tiếng Anh: Hai Phong University, mã trường
là THP) là trường đại học đa ngành, được thành lập tại Hải Phòng năm 1968 với tên cũ
là Phân hiệu Trường Đại học Tại chức Hải Phòng. Năm 2000, Trường Đại học Tại chức
Hải Phòng sát nhập với một số cơ sở đào tạo chuyên nghiệp khác của Hải Phòng thành
Trường Đại học Sư phạm Hải Phòng. Ngày 9 tháng 4 năm 2004, Thủ tướng chính phủ
đã ký quyết định số 60/2004/QĐ-TTg, đổi tên Trường Đại học Sư phạm Hải Phòng
thành Trường Đại học Hải Phòng.
Sứ mạng của Trường khẳng định: Trường Đại học Hải Phòng là một trong những
trung tâm đào tạo đại học đa ngành và lĩnh vực; là cơ sở nghiên cứu khoa học, ứng dụng
và chuyển giao công nghệ, cung cấp nguồn nhân lực có chất lượng theo tiêu chuẩn quốc
gia và khu vực, phục vụ nhu cầu phát triển kinh tế – xã hội của thành phố Hải Phòng,
các tỉnh duyên hải Bắc bộ và cả nước.
Cơ sở vật chất
1. Số 171 đường Phan Đăng Lưu, Quận Kiến An, Hải Phòng: Cơ sở trung tâm. Đây
là khu vực gồm văn phòng nhà trường: Ban giám hiệu, các phòng, ban, trạm, văn
phòng các khoa khoa học cơ bản, các khoa sư phạm, ngoại ngữ, giảng đường, thư
viện trung tâm và ký túc xá sinh viên. Diện tích quy hoạch 28 ha.
2. Số 246A đường Ðà Nẵng, Quận Ngô Quyền, Hải Phòng: Trung tâm đào tạo bồi
dưỡng cán bộ Trường Đại học Hải Phòng.
3. Số 10 đường Trần Phú, Quận Ngô Quyền, Hải Phòng: Trung tâm đào tạo ngoại
ngữ Trường Đại học Hải Phòng.
1.1.2 Cơ cấu tổ chức
Nhà trường gồm:

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 3

16 Khoa, viện đào tạo văn hóa.


+ Khoa Toán
+ Khoa Đào tạo tại chức
+ Khoa Công nghệ thông tin
+ Khoa Ngữ văn và Địa lý
+ Khoa Khoa học Tự nhiên
+ Khoa Du lịch
+ Khoa Ngoại ngữ
+ Khoa Thể dục Thể thao
+ Khoa Giáo dục Tiểu học và Mầm non
+ Khoa Giáo dục chính trị
+ Khoa Tâm lý – Giáo dục học
+ Khoa Kinh tế và Quản trị kinh doanh
+ Khoa Kế toán – Tài chính
+ Khoa Xây dựng
+ Khoa Điện-Cơ
+ Viện Sinh – Nông
9 Trung tâm.
+ Trung tâm Ngoại ngữ
+ Trung tâm Đào tạo Bồi dưỡng cán bộ
+ Trung tâm Giáo dục Quốc phòng – An ninh sinh viên
+ Trung tâm Thực hành Kĩ thuật
+ Trung tâm Bồi dưỡng kiến thức bách khoa
+ Trung tâm Giáo dục quốc tế và Đào tạo Hán ngữ
+ Trung tâm Tư vấn đào tạo và xúc tiến việc làm
+ Trung tâm Ứng dụng và chuyển giao công nghệ
+ Trung tâm Phát triển đào tạo
- 3 trường thực hành sư phạm
+ Trường Mầm non Thực hành
+ Trường Tiểu học Thực hành
+ Trường Phổ thông Phan Đăng Lưu

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 4

15 phòng ban.
+ Phòng Tổ chức Cán bộ
+ Phòng Chính trị – Công tác học sinh, sinh viên
+ Phòng Đào tạo
+ Phòng Quản lý khoa học
+ Phòng Hợp tác và Đào tạo quốc tế
+ Phòng Hành chính – Quản trị
+ Phòng Kế hoạch-Tài chính
+ Phòng Quản lý Thiết bị
+ Phòng Khảo thí và Đảm bảo chất lượng
+ Phòng Bảo vệ
+ Phòng Thanh tra Pháp chế
+ Thư viện trung tâm
+ Ban Quản lý dự án xây dựng
+ Ban Quản lý Ký túc xá
+ Phòng Đào tạo Sau đại học.
1.2 Lý do chọn đề tài và nội dung báo cáo.
Việc công khai hồ sơ tốt nghiệp của sinh viên giúp việc kiểm định của cơ sở đào
tạo hoặc các công ty tuyển dụng dễ dàng tìm kiếm. Việc quản lý hồ sơ tốt nghiệp sinh
viên là một yêu cầu thiết yếu của mỗi trường đại học. Để quản lý hồ sơ và lưu trữ có
hiệu quả thì không đơn giản bởi đòi hỏi kỹ năng của người quản lý. Làm sao để vừa có
thể kiểm soát được số lượng hồ sơ của các khóa, các hệ đào tạo khác nhau vừa có thể
lưu trữ tìm kiếm lại thông tin hồ sơ khi cần thiết. Việc quản lý và lưu trữ hồ sơ trước
đây chủ yếu sử dụng phương pháp thủ công và lưu trữ bằng Excel. Do đó, khi quản lý
tìm kiếm mất rất nhiều thời gian và công sức mà hiệu quả công việc đem lại không cao
đôi khi còn xảy ra sai sót mất mát dữ liệu không đáng có. Hiện nay công tác quản lý hồ
sơ tốt nghiệp sinh viên của một số trường đại học nói chung và Trường đại học Hải
Phòng nói riêng còn chưa đạt hiệu quả cao. Do đó việc đòi hỏi có một phần mềm chuyên
dụng trợ giúp cho công việc quản lý và lưu trữ hồ sơ tốt nghiệp sinh viên là một nhu cầu
tất yếu để đảm bảo hiệu quả và tiết kiệm thời gian trong công việc.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 5

1.2.1 Lý do chọn đề tài:


Trong những năm gần đây, nền công nghệ thông tin của nước ta cũng đã có phát
triển trên mọi lĩnh vực trong cuộc sống cũng như trong lĩnh vực quản lý xã hội khác.
Một trong những lĩnh vực mà máy tính được sử dụng nhiều nhất là các hệ thống thông
tin quản lý nói chung. Tuy nhiên, hiện nay do quy mô, tính phức tạp của công việc ngày
càng cao nên việc xây dựng hệ thống thông tin quản lý không chỉ là việc lập trình đơn
giản mà phải xây dựng một cách có hệ thống. Đồng thời công tác quản lý hồ sơ và tra
cứu hồ sơ của các sinh viên đã tốt nghiệp cũng là vấn đề đang được đề cập đến trong xã
hội hiện nay.
Trong thời gian học tập tại trường đại học Hải Phòng nhận biết được sự khó khăn
trong việc quản lý và lưu trữ thông tin hồ sơ tốt nghiệp sinh viên của Trường đại học
Hải Phòng và nhu cầu tìm kiếm thông tin văn bằng của sinh viên đã tốt nghiệp của các
công ty khi có sinh viên đến ứng tuyển nhân viên, em đã thực hiện đề tài: “Nghiên cứu
xây dựng phần mềm quản lý thông tin tốt nghiệp trường Đại học Hải Phòng” với mong
muốn đưa lĩnh vực công nghệ thông tin trở nên thiết thực với cuộc sống và hỗ trợ công
tác quản lý và lưu trữ hồ sơ tốt nghiệp sinh viên Trường đại học Hải Phòng được dễ
dàng và chính xác hơn, đồng thời sẽ là tài liệu tham khảo cho các bạn sinh viên khóa
sau.
Trong báo cáo này em sẽ trình bày quá trình tìm hiểu cách quản lý hồ sơ tốt nghiệp
sinh viên của Trường đại học Hải Phòng, miêu tả tổng thể bài toán quản lý, các yêu cầu
về hệ thống, tài liệu phân tích thiết kế hệ thống. Cập nhật, lưu trữ thông tin hồ sơ sinh
viên trường.
1.2.2 Nội dung của báo cáo:
Báo cáo trình bày quy trình xây dựng một bài toán quản lý hồ sơ tốt nghiệp sinh
viên bao gồm tìm hiểu thực trạng quản lý hồ sơ tốt nghiệp sinh viên Trường đại học Hải
Phòng, từ đó đi vào phân tích thiết kế hệ thống để đưa ra một sản phẩm phần mềm có
các chức năng cần thiết, cấu trúc báo cáo này gồm bốn chương chính:
Chương 1: Tổng quan về đề tài Quản lý thông tin hồ sơ tốt nghiệp sinh viên
Trường Đại học Hải Phòng.
Chương 2: Tìm hiểu ngôn ngữ lập trình sử dụng.
Chương 3: Phân tích và thiết kế hệ thống Quản lý thông tin hồ sơ tốt nghiệp.
Chương 4: Thực nghiệm.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 6

Kết luận và hướng phát triển đề tài.


Đối tượng nghiên cứu: Các quá trình quản lý hồ sơ, lưu trữ, thống kê, tìm kiếm
hồ sơ, qua đó xây dựng chương trình quản lý hồ sơ tốt nghiệp sinh viên.
Phạm vi nghiên cứu: Chương trình được áp dụng quản lý hồ sơ tốt nghiệp sinh
viên Trường đại học Hải Phòng.
1.3 Khảo sát quy trình Quản lý hồ sơ tốt nghiệp sinh viên Trường đại học Hải
Phòng.
1.3.1 Quy trình nghiệp vụ đang được sử dụng ở Trường Đại học Hải Phòng.
Hàng năm, sau mỗi kỳ làm và bảo vệ đề tài tốt nghiệp của sinh viên, người quản
lý hồ sơ tốt nghiệp sinh viên phải lập thông tin văn bằng mới cho sinh viên đủ điều kiện
tốt nghiệp và lưu lại hồ sơ tốt nghiệp của sinh viên.
Quy trình quản lý các thông tin.
Sau khi các sinh viên hoàn thành khóa học người quản lý hồ sơ phải lưu lại thông
tin hồ sơ của mỗi sinh viên. Thông tin được lưu lại bao gồm: Họ tên sinh viên, giới tính,
ngày sinh, lớp, mã sinh viên, loại văn bằng, số hiệu văn bằng, số vào sổ, hình thức đào
tạo và năm tốt nghiệp.
1.3.2 Những thuận lợi và khó khăn trong quá trình thực hiện.
Trường Đại học Hải Phòng có bề dày kinh nghiệm trong công tác quản lý và cộng
với đội ngũ cán bộ trẻ nhiệt huyết, có trình độ cao, chuyên môn sâu, nhiệt tình trong
công việc và được chia ra thành các khoa viện rõ ràng, đây là những yếu tố thuận lợi
giúp cho việc quản lý hồ sơ tốt nghiệp sinh viên trở lên dễ dàng hơn.
Tuy nhiên, do nhu cầu mở rộng mạng lưới đào tạo mà trường có nhiều bậc đào tạo,
hệ đào tạo với rất nhiều khoa, lớp khác nhau. Mặt khác, mỗi năm trường có gần 3000
sinh viên tốt nghiệp. Cho nên việc quản lý và lưu trữ thông tin từng khóa, từng hệ đào
tạo đôi lúc có sự nhầm lẫn làm ảnh hưởng thông tin về sau.
1.4 Nghiệp vụ Quản lý hồ sơ tốt nghiệp.
Từ việc khảo sát hiện trạng Quản lý hồ sơ tốt nghiệp trường đại học Hải Phòng
như trên, chúng ta cần thấy đưa ra một bài toán về quản lý hồ sơ tốt nghiệp phù hợp hơn
với:
Lưu trữ thông tin hồ sơ tốt nghiệp
Là các quy trình đáp ứng yêu cầu nghiệp vụ Quản lý hồ sơ tốt nghiệp sinh viên:
- Thông tin về thông tin cá nhân sinh viên.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 7

- Thông tin văn bằng của sinh viên.


- Thông tin tra cứu, tìm kiếm dữ liệu phục vụ cho công tác quản lý.
Thao tác trên dữ liệu toàn văn
- Quy trình cập nhật, truy nhập dữ liệu trên mỗi hồ sơ sinh viên.
- Thao tác tìm kiếm thông tin hồ sơ sinh viên theo tên, lớp.
Phân quyền người dùng.
Hiện tại hệ thống được phân một quyền duy nhất là admin để phụ vụ cho việc kiểm
soát hồ sơ. Hệ thống có giao diện dễ sử dụng, thân thiện với người dùng. Hệ thống cho
phép người dùng truy cập thường xuyên, đòi hỏi chương trình tổ chức cơ sở dữ liệu lưu
trữ các thông tin sao cho tối ưu hiệu quả nhất, giảm thiểu tối đa sai sót và mất mát dữ
liệu.
Mục tiêu xây dựng phần mềm Quản lý hồ sớ tốt nghiệp sinh viên:
- Tổ chức thống nhất một hệ thống cơ sở dữ liệu nhằm lưu trữ thống nhất toàn bộ
dữ liệu.
- Cập nhật, tìm kiếm, thống kê, lưu trữ hồ sơ sinh viên đã tốt nghiệp.
- Nhập/ xuất file Excel để tiện dụng hơn với người dùng.
1.5 Kết luận chương 1.
Trong chương này, em đã trình bày những khảo sát về quy trình quản lý hồ sơ tốt
nghiệp tại Trường Đại học Hải Phòng. Dựa trên quy trình này, em đã phân tích bài toán
và xây dựng chương trình quản lý hồ sơ tốt nghiệp sinh viên của trường bằng công nghệ
web (được trình bày chi tiết ở các chương sau).

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 8

CHƯƠNG 2: TÌM HIỂU NGÔN NGỮ LẬP TRÌNH SỬ DỤNG

Trong chương này em sẽ trình bày lý thuyết và ngôn ngữ lập trình sử dụng để cài
đặt và xây dựng chương trình cho bài toán Quản lý hồ sơ tốt nghiệp sinh viên.
Cụ thể, hệ thống được cài đặt trên nền Web, sử dụng ngôn ngữ ASP.Net MVC với
hệ quản trị cơ sở dữ liệu SQL server 2012.
2.1 Hệ quản trị cơ sở dữ liệu SQL Server 2012[1].
SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database
Management System (RDBMS) ) sử dụng câu lệnh SQL (Transact-SQL) để trao đổi
dữ liệu giữa máy Client và máy cài SQL Server. Một RDBMS bao gồm databases,
database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau
trong RDBMS.
SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very
Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng
ngàn user. SQL Server có thể kết hợp “ăn ý” với các server khác như Microsoft Internet
Information Server (IIS), E-Commerce Server, Proxy Server….
Một vài ấn bản SQL Server:
▪ Enterprise : chứa tất cả cá đặc điểm nổi bật của SQL Server, bao gồm nhân bộ
máy cơ sở dữ liệu và các dịch vụ đi kèm cùng với các công cụ cho tạo và quản lý phân
cụm SQL Server. Nó có thể quản lý các CSDL lớn tới 524 petabytes và đánh địa chỉ
12 terabytes bộ nhớ và hỗ trợ tới 640 bộ vi xử lý(các core của cpu).
▪ Standard : Rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ hơn nhiều
so với Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao cấp (advanced
features) khác, edition này có thể chạy tốt trên hệ thống lên đến 4 CPU và 2 GB RAM.
▪ Developer : Có đầy đủ các tính năng của Enterprise Edition nhưng được chế tạo
đặc biệt như giới hạn số lượng người kết nối vào Server cùng một lúc…. Ðây là phiên
bản sử dụng cho phát triển và kiểm tra ứng dụng. Phiên bản này phù hợp cho các cá
nhân, tổ chức xây dựng và kiểm tra ứng dụng.
▪ Workgroup: ấn bản SQL Server Workgroup bao gồm chức năng lõi cơ sở dữ
liệu nhưng không có các dịch vụ đi kèm. Chú ý phiên bản này không còn tồn tại ở SQL
Server 2012.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 9

▪ Express : SQL Server Express dễ sử dụng và quản trị cơ sở dữ liệu đơn giản.
Được tích hợp với Microsoft Visual Studio, nên dễ dàng để phát triển các ứng dụng dữ
liệu, an toàn trong lưu trữ, và nhanh chóng triển khai. SQL Server Express là phiên bản
miễn phí, không giới hạn về số cơ ở dữ liệu hoặc người sử dụng, nhưng nó chỉ dùng
cho 1 bộ vi xử lý với 1 GB bộ nhớ và 10 GB file cơ sở dữ liệu. SQL Server Express là
lựa chọn tốt cho những người dùng chỉ cần một phiên bản SQL Server 2005 nhỏ gọn,
dùng trên máy chủ có cấu hình thấp, những nhà phát triển ứng dụng không chuyên hay
những người yêu thích xây dựng các ứng dụng nhỏ.
2.2.1 Lịch sử ra đời SQL và các phiên bản
Phiên bản đầu tiên của Microsoft SQL Server ra đời đầu tiên vào năm 1989 cho
các hệ điều hành chạy 16 bít với SQL Server phiên bản 1.0 và tiếp tục phát triển cho tới
ngày nay.
SQL Server của Microsoft được thị trường chấp nhận rộng rãi kể từ version 6.5.
Sau đó Microsoft đã cải tiến và hầu như viết lại một engine mới cho SQL Server 7.0.
Cho nên có thể nói từ version 6.5 lên version 7.0 là một bước nhảy vọt. Có một số đặc
tính của SQL Server 7.0 không tương thích với version 6.5. Trong khi đó từ Version 7.0
lên version 8.0 (SQL Server 2000) thì những cải tiến chủ yếu là mở rộng các tính năng
về web và làm cho SQL Server 2000 đáng tin cậy hơn.
Một điểm đặc biệt đáng lưu ý ở phiên bản 2000 là Multiple-Instance. Tức là bạn
có thể cài dặt phiên bản 2000 chung với các phiên bản trước mà không cần phải gỡ
chúng. Nghĩa là bạn có thể chạy song song version 6.5 hoặc 7.0 với phiên bản 2000 trên
cùng một máy (điều này không thể xảy ra với các phiên bản trước đây). Khi đó phiên
bản cũ trên máy bạn là Default Instance còn phiên bản 2000 mới vừa cài sẽ là Named
Instance.
Từ tháng 10 năm 2016, các phiên bản sau được Microsoft hỗ trợ:
▪ SQL Server 2008 R2
▪ SQL Server 2012
▪ SQL Server 2014
▪ SQL Server 2016
Phiên bản hiện tại là Microsoft SQL Server 2016, xuất bản vào ngày 1/6/2016.
SQL Server 2016 chỉ hỗ trợ cho các bộ vi xử lý 64 bit.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 10

2.2.2 Các thành cơ bản trong SQL Server


SQL Server được cấu tạo bởi nhiều thành phần như Database Engine, Reporting
Services, Notification Services, Integration Services, Full Text Search Service…. Các
thành phần này khi phối hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc
lưu trữ và phân tích dữ liệu một cách dễ dàng.

Hình 2.1 Các thành phần chính SQL Server

Database Engine
– Cái lõi của SQL Server:
Ðây là một engine có khả năng chứa data ở các quy mô khác nhau dưới dạng table
và support tất cả các kiểu kết nối (data connection) thông dụng của Microsoft như
ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity
(ODBC).
Ngoài ra nó còn có khả năng tự điều chỉnh (tune up) ví dụ như sử dụng thêm các
tài nguyên (resource) của máy khi cần và trả lại tài nguyên cho hệ điều hành khi một
user log off.
Replication
– Cơ chế tạo bản sao (Replica):
Giả sử bạn có một database dùng để chứa dữ liệu được các ứng dụng thường xuyên
cập nhật. Một ngày đẹp trời bạn muốn có một cái database giống y hệt như thế trên một
server khác để chạy báo cáo (report database) (cách làm này thường dùng để tránh ảnh
hưởng đến performance của server chính). Vấn đề là report server của bạn cũng cần phải
được cập nhật thường xuyên để đảm bảo tính chính xác của các báo cáo. Bạn không thể

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 11

dùng cơ chế back up and restore trong trường hợp này. Thế thì bạn phải làm sao? Lúc
đó cơ chế replication của SQL Server sẽ được sử dụng để bảo đảm cho dữ liệu ở 2
database được đồng bộ (synchronized). Replication sẽ được bàn kỹ trong bài 12
Integration Services (DTS)
– Integration Services là một tập hợp các công cụ đồ họa và các đối tượng lập trình
cho việc di chuyển, sao chép và chuyển đổi dữ liệu.
Nếu bạn làm việc trong một công ty lớn trong đó data được chứa trong nhiều nơi
khác nhau và ở các dạng khác nhau cụ thể như chứa trong Oracle, DB2 (của IBM), SQL
Server, Microsoft Access….Bạn chắc chắn sẽ có nhu cầu di chuyển data giữa các server
này (migrate hay transfer) và không chỉ di chuyển bạn còn muốn định dạng (format) nó
trước khi lưu vào database khác, khi đó bạn sẽ thấy DTS giúp bạn giải quyết công việc
trên dễ dàng.
Analysis Services
– Một dịch vụ phân tích dữ liệu rất hay của Microsoft
Dữ liệu (Data) chứa trong database sẽ chẳng có ý nghĩa gì nhiều nếu như bạn không
thể lấy được những thông tin (Information) bổ ích từ đó. Do đó Microsoft cung cấp cho
bạn một công cụ rất mạnh giúp cho việc phân tích dữ liệu trở nên dễ dàng và hiệu quả
bằng cách dùng khái niệm hình khối nhiều chiều (multi-dimension cubes) và kỹ thuật
“khai phá dữ liệu” (data mining).
Notification Services
Dịch vụ thông báo Notification Services là nền tảng cho sự phát triển và triển khai
các ứng dụng tạo và gửi thông báo. Notification Services có thể gửi thông báo theo địch
thời đến hàng ngàn người đăng ký sử dụng nhiều loại thiết bị khác nhau.
Reporting Services
Reporting Services bao gồm các thành phần server và client cho việc tạo, quản lý
và triển khai các báo cáo. Reporting Services cũng là nền tảng cho việc phát triển và xây
dựng các ứng dụng báo cáo.
Full Text Search Service
Dịch vụ SQL Server Full Text Search là một dịch vụ đặc biệt cho đánh chỉ mục và
truy vấn cho dữ liệu văn bản không cấu trúc được lưu trữ trong các CSDL SQL Server.
Đánh chỉ mục với Full Text Search có thể dduwowcj tạo trên bất kỳ cột dựa trên dữ liệu

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 12

văn bản. Nó sẽ rất hiệu quả cho việc tìm các sử dụng toán tử LIKE trong SQL với trường
hợp tìm văn bản.
Service Broker
Được sử dụng bên trong mỗi Instance, là môi trường lập trình cho việc các ứng
dụng nhảy qua các Instance. Service Broker giao tiếp qua giao thức TCP/IP và cho phép
các component khác nhau có thể được đồng bộ cùng nhau theo hướng trao đổi các
message. Service Broker chạy như một phần của bộ máy cơ sở dữ liệu, cung cấp một
nền tảng truyền message tin cậy và theo hàng đợi cho các ứng dụng SQL Server.
2.2 LINQ[2].
LINQ là viết tắt của từ Language – Integrated Query tạm dịch là ngôn ngữ tích
hợp truy vấn là một sự đổi mới từ Visual Studio 2008 và .NET Framework 3.5 là cầu
nối khoảng cách giữa thế giới của các đối tượng với thế giới của dữ liệu.
LINQ là thư viện mở rộng cho các ngôn ngữ lập trình C# và Visual Basic.NET (có
thể mở rộng cho các ngôn ngữ khác) cung cấp khả năng truy vấn trực tiếp dữ liệu đối
tượng, CSDL và XML.
LINQ định nghĩa 1 tập tin các tên phương thức (được gọi các toán tử truy vấn
chuẩn, hoặc các toán tử trình tự chuẩn), cùng với các luật dịch được dùng bởi trình biên
dịch để dịch các diễn giải truy vấn thông thạo thành các diễn giải dùng các tên phương
thức, diễn giải lambda và các dạng không xác định.

Hình 2.2 Tìm hiểu LINQ


LINQ có đủ các toán tử truy vấn trên dữ liệu đối tượng tương tự như SQL trên
CSDL, chẳng hạn như xếp thứ tự (order), điều kiện (where) hay móc nối (join)...

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 13

2.3 Mô hình lập trình ứng dụng ASP.Net MVC.


ASP.NET MVC là một nền tảng lập trình web mới của Microsoft (dựa trên nền
tảng của ASP.NET) được Microsoft giới thiệu phiên bản chính thức vào tháng 4-2009.
Hiện nay ASP.NET MVC được giới lập trình .NET toàn cầu ưu tiên lựa chọn để sử dụng
xây dựng những ứng dụng, dịch vụ web cho doanh nghiệp của mình. Có được điều đó
là bởi vì MVC (Model – View – Controller) là một mô hình phát triển ứng dụng web ưu
việt và giải quyết nhiều nhược điểm của ASP.NET Webform.
MVC là viết tắt chữ cái đầu của Models, Views, Controllers. MVC chia giao diện
UI (User Interface) thành 3 phần tương ứng, đầu vào của các controller là các điều khiển
thông qua HTTP request, model chứa các miền logic, view là những thứ được sinh ra
trả về cho trình duyệt. Sau đây là một vài chi tiết trong ba thành phần của MVC:
- Model: Được giao nhiệm vụ cung cấp dữ liệu cho cơ sở dữ liệu và lưu dữ liệu
vào các kho chứa dữ liệu. Tất cả các nghiệp vụ logic được thực thi ở Model. Dữ liệu vào
từ người dùng sẽ thông qua View để kiểm tra ở Model trước khi lưu vào cơ sở dữ liệu.
Việc truy xuất, xác nhận và lưu dữ liệu là một phần của Model.
- View: Hiển thị các thông tin cho người dùng của ứng dụng và được giao nhiệm
vụ cho việc nhận các dữ liệu vào từ người dùng, gởi đi các yêu cầu đến bộ điều khiển,
sau đó là nhận lại các phản hồi từ bộ điều khiển và hiển thị kết quả cho người dùng. Các
trang HTML, JSP, các thư viện thẻ và các file nguồn là một phần của View.
- Controller: Là tầng trung gian giữa Model và View. Controller được giao nhiệm
vụ nhận các yêu cầu từ phía máy khách. Một yêu cầu được nhận từ máy khách được
thực hiện bởi một chức năng logic thích hợp từ thành phần Model và sau đó sinh ra các
kết quả cho người dùng và được thành phần View hiển thị. ActionServlet, Action,
ActionForm, struts-config.xml là các thành phần của Controller.
Mẫu MVC giúp bạn tạo được các ứng dụng mà chúng phân tách rạch ròi các khía
cạnh của ứng dụng (logic về nhập liệu, logic xử lý tác vụ và logic về giao diện). Mẫu
MVC chỉ ra mỗi loại logic kể trên nên được thiếp lập ở đâu trên ứng dụng. Logic giao
diện (UI logic) thuộc về views. Logic nhập liệu (input logic) thuộc về controller. Và
logic tác vụ (Business logic – là logic xử lý thông tin, mục đích chính của ứng dụng)
thuộc về model. Sự phân chia này giúp bạn giảm bớt được sự phức tạp của ứng dụng và
chỉ tập trung vào mỗi khía cạnh cần được cài đặt ở mỗi thời điểm. Ví dụ như bạn chỉ
cần tập trung vào giao diện (views) mà không phải quan tâm đến logic xử lý thông tin

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 14

của ứng dụng.


Để quản lý sự phức tạp của ứng dụng, mẫu MVC giúp cho chúng ta có thể kiểm
thử ứng dụng dễ dàng hơn hẳn so với khi áp dụng mẫu Web Forms. Ví dụ, trong một
ứng dụng ASP.NET Web Forms, một lớp thường được sử dụng để hiển thị thông tin
xuất ra cho người dùng và đồng thời xử lý thông tin người dùng nhập. Việc xây dựng
các bộ test tự động cho ứng dụng Web Forms là rất phức tạp, bởi để kiểm thử mỗi trang
web, bạn phải khởi tạo đối tượng trang, khởi tạo tất cả các control được sử dụng trong
trang và các lớp phụ thuộc trong ứng dụng. Và bởi vì có quá nhiều lớp cần được khởi
tạo để chạy được trang, thật khó để có thể viết các test chỉ tập trung vào một khía cạnh
nào đó của ứng dụng. Và vì thế, kiểm thử đối với các ứng dụng dứa trên nền tảng Web
Forms sẽ khó khăn hơn nhiều so với khi áp dụng trên ứng dụng MVC. Hơn thế nữa, việc
kiểm thử trên nền tảng Web Forms yêu cầu phải sử dụng đến web server. Nền tảng MVC
phân tách các thành phần và sử dụng các interface (khái niệm giao diện trong lập trình
hướng đối tượng), và nhờ đó có thể kiểm thử các thành phần riêng biệt trong tình trạng
phân lập với các yếu tố còn lại của ứng dụng.
Sự phân tách rạch ròi ba thành phần của ứng dụng MVC còn giúp cho việc lập
trình diễn ra song song. Ví dụ như một lập trình viên làm việc với view, lập trình viên
thứ hai lo cài đặt logic của controller và lập trình viên thứ ba có thể tập trung vào logic
tác vụ của model tại cùng một thời điểm.
Lựa chọn áp dụng MVC trong xây dựng ứng dụng
- Bạn cần phải xem xét kỹ càng việc áp dụng mô hình ASP.NET MVC hay mô
hình ASP.NET Web Forms khi xây dựng một ứng dụng. Mô hình MVC không phải là
mô hình thay thế cho Web Forms, bạn có thể dùng một trong hai mô hình.
- Trước khi quyết định sử dụng MVC hay Web Forms cho một web site cụ thể,
bạn cần phải phân tích lợi ích khi chọn một trong hai hướng.
Lợi ích của ứng dụng web dựa trên mô hình MVC
Nền tảng ASP.NET MVC mang lại những lợi ích sau:
• Dễ dàng quản lý sự phức tạp của ứng dụng bằng cách chia ứng dụng thành ba
thành phần model, view, controller
• Nó không sử dụng view state hoặc server-based form. Điều này tốt cho những
lập trình viên muốn quản lý hết các khía cạnh của một ứng dụng.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 15

• Nó sử dụng mẫu Front Controller, mẫu này giúp quản lý các requests (yêu cầu)
chỉ thông qua một Controller. Nhờ đó bạn có thể thiết kế một hạ tầng quản lý định tuyến.
Để có nhiều thông tin hơn, bạn nên xem phần Front Controller trên web site MSDN
• Hỗ trợ tốt hơn cho mô hình phát triển ứng dụng hướng kiểm thử (TDD)
• Nó hỗ trợ tốt cho các ứng dụng được xây dựng bởi những đội có nhiều lập trình
viên và thiết kế mà vẫn quản lý được tính năng của ứng dụng
Lợi ích của ứng dụng được xây dựng trên nền tảng Web Forms
• Nó hỗ trợ cách lập trình hướng sự kiện, quản lý trạng thái trên giao thức HTTP,
tiện dụng cho việc phát triển các ứng dụng Web phục vụ kinh doanh. Các ứng dụng trên
nền tảng Web Forms cung cấp hàng tá các sự kiện được hỗ trợ bởi hàng trăm các server
controls.
• Sử dụng mẫu Page Controller. Xem thêm ở mục Page Controller trên MSDN
• Mô hình này sử dụng view state hoặc server-based form, nhờ đó sẽ giúp cho việc
quản lý trạng thái các trang web dễ dàng.
• Nó rất phù hợp với các nhóm lập trình viên quy mô nhỏ và các thiết kế, những
người muốn tận dụng các thành phần giúp xây dựng ứng dụng một cách nhanh chóng.
• Nói tóm lại, áp dụng Web Forms giúp giảm bớt sự phức tạp trong xây dựng ứng
dụng, bởi vì các thành phần (lớp Page, controls,…) được tích hợp chặc chẽ và thường
thì giúp bạn viết ít code hơn là áp dụng theo mô hình MVC.
Các tính năng của nền tảng ASP.NET MVC
• Tách bạch các tác vụ của ứng dụng (logic nhập liệu, business logic, và logic giao
diện), dễ dàng kiểm thử và mặc định áp dụng hướng phát triển TDD. Tất cả các tính
năng chính của mô hình MVC được cài đặt dựa trên interface và được kiểm thử bằng
cách sử dụng các đối tượng mocks, mock object là các đối tượng mô phỏng các tính
năng của những đối tượng thực sự trong ứng dụng. Bạn có thể kiểm thử unit-test cho
ứng dụng mà không cần chạy controller trong tiến trình ASP.NET, và điều đó giúp unit
test được áp dụng nhanh chóng và tiện dụng. Bạn có thể sử dụng bất kỳ nền tảng unit-
testing nào tương thích với nền tảng .NET.
• MVC là một nền tảng khả mở rộng (extensible) & khả nhúng (pluggable). Các
thành phần của ASP.NET MVC được thiết kể để chúng có thể được thay thế một cách
dễ dàng hoặc dễ dàng tùy chỉnh. Bạn có thể nhúng thêm view engine, cơ chế định tuyến
cho URL, cách kết xuất tham số của action-method và các thành phần khác. ASP.NET

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 16

MVC cũng hỗ trợ việc sử dụng Dependency Injection (DI) và Inversion of Control (IoC).
DI cho phép bạn gắn các đối tượng vào một lớp cho lớp đó sử dụng thay vì buộc lớp đó
phải tự mình khởi tạo các đối tượng. IoC quy định rằng, nếu một đối tượng yêu cầu một
đối tượng khác, đối tượng đầu sẽ lấy đối tượng thứ hai từ một nguồn bên ngoài, ví dụ
như từ tập tin cấu hình. Và nhờ vậy, việc sử dụng DI và IoC sẽ giúp kiểm thử dễ dàng
hơn.
• ASP.NET MVC có thành phần ánh xạ URL mạnh mẽ cho phép bạn xây dựng
những ứng dụng có các địa chỉ URL xúc tích và dễ tìm kiếm. Các địa chỉ URL không
cần phải có phần mở rộng của tên tập tin và được thiết kế để hỗ trợ các mẫu định dạng
tên phù hợp với việc tối ưu hóa tìm kiếm (URL) và phù hợp với lập địa chỉ theo kiểu
REST.
• Hỗ trợ sử dụng đặc tả (các thẻ) của các trang ASP.NET(.aspx), điều khiển người
dùng (.ascx) và trang master page (.marter). Bạn có thể sử dụng các tính năng có sẵn
của ASP.NET như là sử dụng lồng các trang master page, sử dụng in-line expression
(<%= %>), sử dụng server controls, mẫu, data-binding, địa phương hóa (localization)
và hơn thế nữa.
• Hỗ trợ các tính năng có sẵn của ASP.NET như cơ chế xác thực người dùng, quản
lý thành viên, quyền, output caching và data caching, seession và profile, quản lý tình
trạng ứng dụng, hệ thống cấu hình…
• ASP.NET MVC 3 còn bổ sung một view engine mới là Razor View Engine cho
phép thiết lập các view nhanh chóng, dễ dàng và tốn ít công sức hơn so với việc sử dụng
Web Forms view engine.-
2.4 ADO.NET Entity Framework[3].
Thao tác với cơ sở dữ liệu là một công việc gần như không thể thiếu với hầu hết
các ứng dụng. Vì vậy tập đoàn Microsoft cũng đầu tư rất nhiều cho vấn đề này với hàng
loạt các kỹ thuật DAO, ADO, ADO.NET, sau đó là LINQ và gần đây nhất là ADO.NET
Entity Framework.
ADO.NET Entity Framework là một Object/Relational Mapping (ORM)
framework (là một phương pháp lập trình để chuyển đổi từ mô hình database sang mô
hình đối tượng) và là một bộ công nghệ thuộc ADO.NET dành cho việc phát triển các
ứng dụng tương tác với dữ liệu.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 17

- Cho phép làm việc với dữ liệu quan hệ như là các objects, loại bỏ hầu hết các
code cho data access phải viết. Sử dụng Entity Framework, có thể sử dụng và khai thác
sức mạnh của LINQ trong việc khai thác dữ liệu.
- ADO.NET Entity Framework như giản đồ của các dữ liệu được lưu trữ trong cơ
sở dữ liệu và trình bày giản đồ khái niệm ứng dụng của nó. Giản đồ này được ánh xạ từ
cơ sỡ dữ liệu.
- Entity là một đối tượng được ánh xạ từ một bảng trong cơ sở dữ liệu lên bộ nhớ.
2.5 Kết luận chương 2.
Qua quá trình tìm hiểu lý thuyết và ngôn ngữ lập trình sử dụng, chúng ta thấy được
những ưu điểm của ngôn ngữ lập trình ASP.Net MVC và hệ quản trị cơ sở dữ liệu SQL
2012 trên đây giúp việc cài đặt chương trình được thuận lợi hơn. Do vậy rất phù hợp để
xây dựng và phát triển hệ thống.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 18

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG QUẢN LÝ HỒ SƠ


TỐT NGHIỆP SINH VIÊN

Trong chương này, em sẽ trình bày bản phân tích và thiết kế hệ thống Quản lý hồ
sơ tốt nghiệp sinh viên Trường Đại học Hải Phòng. Các nội dung chi tiết được trình bày
bao gồm: khảo sát bài toán Quản lý hồ sơ tốt nghiệp sinh viên, phân tích bài toán Quản
lý hồ sơ tốt nghiệp sinh viên, đặc tả yêu cầu hệ thống, phân tích các chức năng hệ thống,
thiết kế hệ thống.
3.1 Khảo sát và phân tích bài toán Quản lý tốt nghiệp sinh viên.
3.1.1 Khảo sát.
Quản lý hồ sơ tốt nghiệp sinh viên là một công việc rất quan trọng và không thể
thiếu trong các trường đại học mà điển hình là trường Đại học Hải Phòng.
Hàng năm, sau mỗi kỳ làm bảo vệ đề tài tốt nghiệp của sinh viên, người quản lý
hồ sơ tốt nghiệp sinh viên phải lưu lại các tài liệu liên quan và các thông tin của mỗi
sinh viên được lưu theo lớp trên các file Excel. Vì vậy, khi lưu trữ thông tin số lượng
lớn hay có sự nhầm lẫn vì số lượng file Excel quá lớn. Thậm chí, đôi khi còn bị mất mát
thông tin do mất file.
Trong quá trình quản lý, khi người quản lý muốn tìm kiếm thông tin văn bằng theo
họ tên, năm tốt nghiệp, hệ đào tạo… thì họ phải tìm kiếm rất thủ công, mất nhiều thời
gian và công sức. Ngoài ra, nếu không may bị nhầm lẫn hồ sơ thì có thể mất rất nhiều
thời gian mà vẫn chưa tìm được thông tin như mong muốn.
Cùng với sự quản lý hồ sơ của trường các doanh nghiệp cũng mong muốn có một
phần mềm để kiểm tra văn bằng của các sinh viên khi ra trường mà đến xin việc tại các
công ty xí nghiệp.
Từ những thực tế trên, đặt ra một bài toán Quản lý hồ sơ tốt nghiệp sinh viên cho
trường như sau: Xây dựng cơ sở dữ liệu để lưu các thông tin liên quan đến hồ sơ sinh
viên, sau đó xây dựng phần mềm Quản lý hồ sơ tốt nghiệp sinh viên thực hiện các thao
tác cập nhật các thông tin liên quan đến thông tin cá nhân, thông tin văn bằng …
3.1.2 Phân tích bài toán.
Quản lý hồ sơ tốt nghiệp sinh viên trường Đại học Hải Phòng nhằm mục đích quản
lý và lưu trữ thông tin về hồ sơ của từng sinh viên dễ dàng và chính xác hơn, cho phép
người sử dụng cập nhật, thống kê, tìm kiếm các thông tin nhanh chóng.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 19

Từ những phân tích trên, có thể đưa ra các mục tiêu của hệ thống như sau:
Người quản lý:
- Cập nhật dữ liệu và tìm kiếm thông tin hồ sơ một cách nhanh chóng, chính xác.
- Thống kê, tìm kiếm các thông tin hồ sơ theo các tiêu chí khác nhau.
- Lưu trữ được thông tin văn bằng sinh viên đã tốt nghiệp.
Người dùng khác:
- Xem các thông tin về hồ sơ cá nhân sinh viên.
- Xem thông tin văn bằng của sinh viên.
3.2 Đặc tả yêu cầu hệ thống.
Yêu cầu về chức năng của hệ thống.
Hệ thống cho phép lưu trữ, cập nhật, tìm kiếm, thống kê các thông tin liên quan
đến hồ sơ tốt nghiệp sinh viên.
Các chức năng cần đạt được:
Chức năng quản lý hồ sơ:
- Quản lý hồ sơ văn bằng: Chức năng này cho phép người quản lý thêm, sửa, xóa
các thông tin văn bằng của sinh viên đã tốt nghiệp.
- Quản lý danh mục: Chức năng này cho phép người quản lý thêm, sửa, xóa các
danh mục.
- Chức năng nhập/ xuất file Excel: Cho phép người quản lý có thể nhập mới dữ
liệu từ file Excel hoặc xuất dữ liệu ra file Excel.
Chức năng tìm kiếm:
- Chức năng tìm kiếm sinh viên: Chức năng này cho phép người quản lý/ người
dùng có thể tìm kiếm các thông tin về văn bằng sinh viên đã tốt nghiệp.
3.3 Phân tích hệ thống.
Hệ thống gồm hai nhóm chức năng chính: nhóm chức năng quản trị hệ thống, nhóm
chức năng của người dùng. Tương ứng với hai nhóm chức năng trên hệ thống gồm hai
nhóm tác nhân chính.
Tác nhân chính của hệ thống:
- Người quản lý: Tác nhân này được cung cấp tài khoản và mật khẩu để đăng nhập
vào quản trị hệ thống. Sau khi đăng nhập thành công, người dùng có thể sử dụng các
chức năng để cập nhật (thêm, sửa, xóa) dữ liệu, tìm kiếm các thông tin văn bằng đã có
trong hệ thống.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 20

- Người dung: Nhóm tác nhân này được phép truy cập vào trang chủ để tìm kiếm,
xem và đối chiếu thông tin văn bằng đã có.
3.3.1 Sơ đồ Use case dưới tác nhân quản lý.
Người quản lý là người có cấp quyền cao nhất trong hệ thống, có quyền chỉnh
sửa hồ sơ của từng bộ hồ sơ khác nhau như thông tin sinh viên hay thông tin về văn bằng
của sinh viên. Để thuận lợi cho việc phân tích, em đưa ra một sơ đồ use case phân quyền
tổng quát cho người quản lý như sau:

Hình 3.1 Use Case tổng quát


Tên: Đăng nhập
Mã: UC1
Mô tả: Tóm tắt Chức năng “đăng nhập” dùng để đăng nhập vào hệ thống.
Tác nhân: Người quản lý hệ thống - nhân viên phòng Đào tạo.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 21

Tiền điều kiện: Người dùng chưa đăng nhập vào hệ thống.
Dòng sự kiện chính
B1. Khi người dùng bắt đầu sử dụng chương trình, đầu tiên truy cập vào trang
tìm kiếm thông tin.
B2. Nhấn chọn nút “Đăng Nhập” để truy cập vào trang đăng nhập.
B3. Nhập dữ liệu đầy đủ vào các trường “Tên tài khoản”, “Mật khẩu”.
B4. Kiểm tra thông tin đăng nhập trong cơ sở dữ liệu.
B5. Nếu tồn tại tên tài khoản người dùng thì:
B5.1. Lấy mật khẩu tương ứng với tên tài khoản.
B5.2. Mã hóa mật khẩu nhập vào.
B5.3. So sánh mật khẩu tại bước B4.1 và B4.2 nếu trùng nhau thì cho người dùng
đăng nhập và truy cập vào hệ thống, nếu không thì chuyển sang [dòng sự kiện 1].
Dòng sự kiện 1
Tên và mật khẩu sai: Nếu trong dòng sự kiện chính người dùng nhập sai tên và
mật khẩu thì hệ thống sẽ báo lỗi. Người dùng có thể quay về dòng sự kiên kiện
chính hoặc hủy bỏ đăng nhập.
B6. Báo sai thông tin đăng nhập và yêu cầu nhập lại mật khẩu.
Các dòng sự kiện khác
B5. Nếu không tồn tại tên tài khoản hoặc tên tài khoản đăng nhập bị sai thì hệ
thống sẽ thông báo đến người dùng là “Tài khoản hoặc mật khẩu không đúng”
và thực hiện B6.
Các yêu cầu đặc biệt
Tài khoản người dùng đã tồn tại trong hệ thống.
Trạng thái hệ thống khi bắt đầu thực hiện use –case
Chưa đăng nhập hệ thống.
Trạng thái hệ thống sai khi thực hiện use-case
Sẵn sàng cho người sử dụng.
Hậu điều kiện: Người dùng đăng nhập thành công và truy cập vào trang quản lý.
Tên: Đăng xuất.
Mã: UC2.
Tác nhân: Người quản lý hệ thống - nhân viên phòng Đào tạo.
Tiền điều kiện: Người dùng đang sử dụng hệ thống với quyền hạn của mình.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 22

Mô tả: Chức năng “Đăng xuất” giúp người dùng đăng xuất ra khỏi hệ thống.
Dòng sự kiện
B1. Từ màn hình hiện tại của chương trình nhấn vào chức năng “Đăng xuất” từ
menu “hệ thống”. Chương trình sẽ tự động sao lưu dữ liệu, ngắt kết nối với cơ sở
dữ liệu hiện tại và đăng xuất.
Trạng thái hệ thống sau khi thực hiện use case
Hệ thống ngắt kết nối cơ sở dữ liệu
Hậu điều kiện: Người dùng đăng xuất hoàn toàn ra khỏi hệ thống.
Tên: Thêm Văn Bằng
Mã: UC3.1
Mô tả: Thêm mới thông tin văn bằng.
Tác nhân: Người quản lý hệ thống - nhân viên phòng Đào tạo.
Tiền điều kiện: Chưa có thông tin văn bằng.
Dòng sự kiện chính
B1. Từ trang chủ của Admin (IndexAdmin), người quản lý nhấn nút chọn “Thêm
Văn Bằng” để truy cập vào trang.
B2. Nhập dữ liệu đầy đủ vào các trường.
B3. Đồng ý chọn ‘Thêm”.
B4. Kiểm tra dữ liệu thông tin sinh viên đầu vào.
B4.1 Nếu chưa có thông tin sinh viên với MSSV đầu vào thì khởi tạo thông tin
sinh viên mới.
B4.2 Nếu đã có thông tin sinh viên với MSSV đầu vào thì cập nhật lại thông tin
sinh viên.
B5. Thêm mới thông tin văn bằng.
B6. Thêm mới thành công, đưa người quản lý trở lại trang chủ Admin.
Hậu điều kiện: Thêm mới thông tin sinh viên và thông tin văn bằng thành công.
Tên: Sửa Văn Bằng
Mã: UC3.2
Mô tả: Cập nhật lại thông tin văn bằng.
Tác nhân: Người quản lý hệ thống - nhân viên phòng Đào tạo.
Tiền điều kiện: Đã có thông tin văn bằng.
Dòng sự kiện chính

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 23

B1. Từ trang chủ của Admin (IndexAdmin), người quản lý nhấn nút chọn “Sửa
Văn Bằng” ở trên từng bộ thông tin văn bằng.
B2. Lấy toàn bộ thông tin của hồ sơ (gồm thông tin sinh viên và thông tin văn
bằng) gửi ra giao diện người dùng.
B3. Cập nhật dữ liệu các trường.
B3. Đồng ý chọn “Cập Nhật”.
B4. Kiểm tra dữ liệu thông tin sinh viên đầu vào.
B4.1 Nếu chưa có thông tin sinh viên với MSSV đầu vào thì khởi tạo thông tin
sinh viên mới.
B4.2 Nếu đã có thông tin sinh viên với MSSV đầu vào thì cập nhật lại thông tin
sinh viên.
B5. Cập nhật thông tin văn bằng.
B6. Kiểm tra lại hệ thống với MSSV cũ của văn bằng.
B6.1. Nếu còn thông tin văn bằng khác có MSSV cũ thì lưu trữ lại thông tin sinh
viên.
B6.2. Nếu không còn thông tin văn bằng nào khác thì thực hiện hành động xóa
thông tin sinh viên với MSSV cũ. Mục đính tránh xâm hại dung lượng bộ nhớ hệ
thống.
B7. Cập nhật thành công, đưa người quản lý trở lại trang chủ Admin.
Hậu điều kiện: Cập nhật thông tin sinh viên và thông tin văn bằng thành công.
Tên: Xóa thông tin Văn Bằng
Mã: UC3.3
Mô tả: Xóa thông tin văn bằng.
Tác nhân: Người quản lý hệ thống - nhân viên phòng Đào tạo.
Tiền điều kiện: Đã có thông tin văn bằng,
Dòng sự kiện chính
B1. Từ trang chủ của Admin (IndexAdmin), người quản lý nhấn nút chọn “Xóa
Văn Bằng” ở trên từng bộ thông tin văn bằng.
B2. Gửi thông báo xác nhận hành động xóa.
B3. Nếu đồng ý xác nhận thì xóa thông tin văn bằng, nếu không thì chuyển sang
[dòng sự kiện 1].
B4. Kiểm tra lại hệ thống với MSSV của văn bằng.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 24

B4.1. Nếu còn thông tin văn bằng khác có MSSV cũ thì lưu trữ lại thông tin sinh
viên.
B4.2. Nếu không còn thông tin văn bằng nào khác thì thực hiện hành động xóa
thông tin sinh viên với MSSV. Mục đính tránh xâm hại dung lượng bộ nhớ hệ
thống.
B7. Xóa thành công, đưa người quản lý trở lại trang chủ Admin.
Hậu điều kiện: Xóa thông tin sinh viên và thông tin văn bằng thành công.
3.3.2 Tác nhân là người dùng.
Dưới tác nhân là người sử dụng phần mềm, người dùng được phép truy cập trang
tìm kiếm thông tin đã có dựa trên thông tin trong văn bằng.
Hiện tại, yêu cầu tìm kiếm cần có đủ thông tin như: mã số sinh viên, số hiệu văn
bằng. Nếu như sai một trong hai thông số trên thì sẽ không thể tìm ra thông tin văn bằng
mong muốn.
Tên: Tra cứu.
Mã: UC4.
Tác nhân: Người dùng.
Tiền điều kiện: Người dùng phải truy cập vào trang.
Mô tả: Chức năng “Tra cứu” giúp người dùng tìm được thông tin sinh viên mong muốn.
Dòng sự kiện
B1. Từ màn hình hiện tại của chương trình người dùng có 3 lựa chọn tìm kiếm:
-Thứ nhất: Người dùng nhập mã số sinh viên có thể bằng máy quét hoặc nhập
tay.
-Thứ hai: Người dùng nhập số hiệu của sinh viên.
-Thứ ba: Người dùng có thể nhập cả mã số và số hiệu của sinh viên.
B2. Chọn nút tìm kiếm, hệ thống sẽ tự động tìm dữ liệu của sinh viên trong cơ sở
dữ liệu và trả về tại màn hình của chương trình xảy ra 2 trường hợp:
-Thứ nhất: Nếu tìm thấy chương trình sẽ hiển thị ra thông tin của sinh viên đó.
-Thứ hai: Nếu không tìm thấy chương trình sẽ trả về không có kết quả.
Hậu điều kiện: Người dùng tra cứu thành công.
3.4. Xây dựng biểu đồ tuần tự.
3.4.1 Sơ đồ tuần tự tìm kiếm văn bằng.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 25

Hình 3.2 Sơ đồ tuần tự tìm kiếm văn bằng


Giải trình:
- Người dùng khi đăng nhập vào trang chủ tìm kiếm thông tin văn bằng cần nhập
mã vạch của sinh viên bằng cách như: sử dụng máy quét mã vạch.
- Sau đó tất cả các thông tin đầu vào được chuyển đến Controller TraThongTin.
Controller thực hiện lệnh và tìm kiếm ra văn bằng có các thông số giống như cả ba thông
số đầu vào. Nếu như sai một trong ba thông số chúng ta cũng không thể tìm được thông
tin văn bằng mong muốn.
- Sau khi Controller lấy được thông tin văn bằng (VanBangID, MSSV,
LoaiBangID, SoHieu, SoVaoSo, HinhThucDaoTaoID, KhoaID, NamTN,
BacDaoTaoID) sẽ chuyển dữ liệu ra View.
- View sẽ nhận dữ liệu do Controller chuyển ra và lấy KhoaID,
HinhThucDaoTaoID, BacDaoTaoID cùng với MSSV để select thêm thông tin sinh viên
cũng như thông văn bằng để gửi ra interface.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 26

3.4.2 Sơ đồ tuần tự thêm văn bằng

Hình 3.3 Sơ đồ tuân tự thêm văn bằng

Giải trình:
- Ngay khi đăng nhập vào trang thêm văn bằng View đã gửi lệnh lấy toàn bộ
thông tin tất cả các khoa.
- Khi thực hiện thêm một văn bằng mới, thông tin đầu vào sẽ được gửi tới
Controller Creat_Edit_Inf.
- Controller sẽ kiểm tra lại thông tin của sinh viên vừa được nhập vào. Nếu đã có
trong dữ liệu thì sẽ được cập nhật lại thông tin. (Vì mỗi sinh viên có một mã số sinh viên
nhất định). Còn lại nếu hệ thống chưa có thông tin sinh viên đó thì sẽ cập nhật thêm mới
thông tin sinh viên.
- Sau khi thêm/cập nhật thông tin sinh viên, Controller sẽ lấy lại MSSV để tạo
mới một văn bằng cho sinh viên có MSSV đó.
- Sau khi thêm thành công văn bằng, chúng ta sẽ trở lại giao diện của trang chủ
Admin (IndexAdmin).

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 27

3.4.3 Sơ đồ tuần tự sửa văn bằng

Hình 3.4 Sơ đồ tuần tự sửa văn bằng

Giải trình:
- Khi người dùng chọn sửa thông tin văn bằng của văn bằng từ giao diện trang
chủ Admin (IndexAdmin), từ View sẽ gửi tới Controller Creat_Edit_Inf VanBangID
của văn bằng đó.
- Controller sẽ lấy thông tin văn bằng từ Data ThongTinVanBang và thông tin
sinh viên từ Data SinhVien để gửi ra View.
- Tại giao diện người dùng sẽ hiển thị các thông tin của văn bằng, người dùng sửa
và cập nhật thay đổi.
- Sau khi chấp nhận thay đổi thông tin được gửi lại Controller. Controller sẽ kiểm
tra lại thông tin sinh viên nếu chưa có sinh viên thì sẽ thêm mới, còn lại nếu đã có sinh
viên thì cập nhật thay đổi thông tin sinh viên, sau đó cập nhật thay đổi thông tin văn
bằng.
- Kiểm tra lại số lượng văn bằng có cùng MSSV cũ (nếu thay đổi MSSV). Nếu
có ít hơn hai văn bằng có MSSV cũ thì sẽ xóa thông tin sinh viên.
- Sau khi hoàn tất các bước cập nhật, chúng ta sẽ trở lại giao diện trang chủ Admin
(IndexAdmin).

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 28

3.4.4 Sơ đồ tuần tự xóa văn bằng

Hình 3.5 Sơ đồ tuần tự xóa văn bằng


Giải trình:
- Khi người dùng xác nhận xóa thông tin văn bằng tại giao diện trang chủ Admin
(IndexAdmin), từ giao diện sẽ gọi Controller Delete làm việc cùng với VanBangID.
- Controller sẽ gửi lệnh xóa thông tin văn bằng có VanBangID đó và kiểm tra trong
hệ thống xem có bao nhiêu văn bằng có MSSV giống như văn bằng muốn xóa.
- Nếu số lượng văn bằng nhiều hơn một thì ta sẽ chỉ cập nhật lệnh xóa thông tin
văn bằng đó mà không xóa thông tin sinh viên có văn bằng đó. Còn lại nếu số lượng văn
bằng nhỏ hơn hoặc bằng một thì sẽ xóa thông tin sinh viên (tránh tổn thất bộ nhớ).
- Sau khi hoàn tất việc xóa, chúng ta sẽ được trở lại giao diện trang chủ Admin
(IndexAdmin) để tiếp tục làm việc.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 29

3.5. Thiết kế hệ thống.


3.5.1 Kiến trúc hệ thống.

Hình 3.6 Kiến trúc hệ thống


- Tầng giao diện: là nới chứa những giao diện như một nút bấm, khung nhập,
menu, hình ảnh… nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương
tác với hệ thống.
- Tầng nghiệp vụ: là nới tiếp nhận những yêu cầu xử lý được gửi từ người dùng,
nó sẽ gồm những class/ function xử lý nhiều nghiệp vụ logic giúp lấy đúng dữ liệu thông
tin cần thiết nhờ các nghiệp vụ tầng dữ liệu cung cấp và hiển thị dữ liệu đó ra cho người
dùng nhờ lớp tầng giao diện.
- Tầng dữ liệu: là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ quản
trị cơ sở dữ liệu (mysql, mssql… ); nó sẽ bao gồm các class/function xử lý nhiều nghiệp
vụ như kết nối database, truy vấn dữ liệu, thêm – xóa – sửa dữ liệu…
- Cơ sở dữ liệu: lượng dữ liệu này được duy trì dưới dạng một tập hợp các được
lưu trữ trong các hệ quản trị cơ sở dữ liệu.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 30

3.5.2 Xây dựng hệ thống lớp.

Hình 3.7 Sơ đồ lớp

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 31

3.5.3 Xây dựng biểu đồ cơ sở dữ liệu


Dựa vào các use case đã phân tích và hướng chức năng của hệ thống, ta đưa ra
một sơ đồ lớp các thực thể như sau:

Hình 3.8 Biểu đồ cơ sở dữ liệu


Chi tiết các bảng dữ liệu:
- Thông tin sinh viên: SinhVien
- Danh mục khoa: DMKhoa
- Danh mục loại bằng: DMLoaiBang
- Thông tin văn bằng: ThongTinVanBang
- Danh mục hình thức đào tạo: DMHinhThucDaoTao
- Danh mục bậc đào tạo: DMBacDaotao

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 32

3.5.3.1 Bảng SinhVien: Quản lý chi tiết thông tin sinh viên.
Bảng 3.1: Mô tả lớp thông tin sinh viên
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 MSSV varchar(50) Khóa chính Khóa chính
2 HoSV Nvarchar(200) Null Họ sinh viên
3 TenSV Nvarchar(200) Null Tên sinh viên
4 HoSV_En Nvarchar(200) Null Họ sinh viên bằng
tiếng anh
5 TenSV_En Nvarchar(200) Null Tên sinh viên bằng
tiếng anh
6 NgaySinh date Null Ngày sinh sinh viên
7 GioiTinh bit Null Thông tin giới tính

3.5.3.2 Bảng DMKhoa: Quản lý chi tiết thông tin danh mục khoa.
Bảng 3.2: Mô tả lớp danh mục khoa
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 KhoaID uniqueidentifier Khóa chính Khóa chính
2 TênKhoa Nvarchar(200) Null Tên khoa
3 TenKhoa_En Nvarchar(200) Null Tên khoa tiếng anh

3.5.3.3 Bảng DMLoaiBang: Quản lý chi tiết thông tin danh mục loại bằng.
Bảng 3.3: Mô tả lớp danh mục loại bằng
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 LoaiBangID uniqueidentifier Khóa chính Khóa chính
2 TenLoaiBang Nvarchar(200) Null Tên loại bằng
3 TenLoaiBang_En Nvarchar(200) Null Tên loại bằng
tiếng anh

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 33

3.5.3.4 Bảng ThongTinVanBang: Quản lý chi tiết thông tin văn bằng.

Bảng 3.4: Mô tả lớp thông tin văn bằng


STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 VanBangId Guid Khóa chính Khóa chính
Khóa liên kết
2 MSSV Varchar(50) Null
SinhVien
3 KhoaID uniqueidentifier Null
Thông tin loại văn
4 LoaiBangID uniqueidentifier Null
bằng
Hình thức đào tạo
5 HinhThucDaoTaoID uniqueidentifier Null
sinh viên
6 SoHieu int Not null Số hiệu văn bằng
7 SoVaoSo int Not null Số vào sổ trong năm
Năm lập thông tin văn
9 NamTN int Not null
bằng
8 BacDaoTaoID uniqueidentifier Null Bậc đào tạo sinh viên
11 NgayCapBang Date Null Ngày cấp bằng
12 SoQD nvarchar(100) Null Số quyết định
13 Khoahoc nchar(10) Null Khóa học
14 MaSo nvarchar(250) Null Mã vạch
15 MaSo_Image nvarchar(MAX) Null Hình ảnh mã vạch
16 DotTotNghiep int Null Đợt tốt nghiệp
17 Diem nvarchar(50) Null Điểm

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 34

3.5.3.5 Bảng DMHinhThucDaoTao: Quản lý chi tiết thông tin danh mục hình thức đào tạo.
Bảng 3.5: Mô tả lớp danh mục hình thức đào tạo
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 HinhThucDaoTaoID uniqueidentifier Khóa chính Khóa chính
2 TenHinhThucDaoTao Nvarchar(200) Null Tên hình thức
đào tạo
3 TenHinhThucDaoTao_En Nvarchar(200) Null Tên hình thức
đào tạo bằng
tiếng anh

3.5.3.6 Bảng DMBacDaoTao: Quản lý chi tiết thông tin danh mục bậc đào tạo.
Bảng 3.6: Mô tả lớp danh mục bậc đào tạo
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 BacDaoTaoID uniqueidentifier Khóa chính Khóa chính
2 TenBacDaoTao Nvarchar(200) Null Tên bậc đào tạo
3 TenBacDaoTao_En Nvarchar(200) Null Tên bậc đào tạo
bằng tiếng anh

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 35

CHƯƠNG 4: THỰC NGHIỆM


4.1 Hướng dẫn sử dụng.
Hệ thống sau khi triển khai thành công, sẽ được public ra web client và được đưa
lên hosting của nhà trường. Sau đó phần mềm được cập nhật lại link cơ sở dữ liệu để
sẵn sang hoạt động.
Để khởi động phần mềm, người quản lý cần truy cập vào trang website sau khi
được public và đăng nhập vào hệ thống với tài khoản và mật khẩu đã được bàn giao
trước đó. Sau đăng nhập thành công, phần mềm sẽ sẵn sàng cho người sử dụng.
4.2 Một số giao diện phần mềm.
4.2.1: Giao diện người dùng
4.2.1.1: Giao diện khi truy cập trang.

Hình 4.1 Giao diện khi truy cập trang

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 36

4.2.1.2: Giao diện khi tìm kiếm thông tin.

Hình 4.2 Giao diện khi tìm kiếm


4.2.2: Giao diện trang Admin.
4.2.2.1: Giao diện trang đăng nhập Admin.

Hình 4.3 Giao diện đăng nhập hệ thống

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 37

4.2.2.2: Giao diện trang chủ Admin.

Hình 4.4 Giao diện trang chủ Admin


4.2.2.3: Giao diện trang thêm văn bằng.

Hình 4.5 Giao diện thêm mới văn bằng.


4.2.2.4: Giao diện trang sửa văn bằng.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 38

Hình 4.6 Giao diện sửa thông tin văn bằng

4.2.2.5: Giao diện trang Admin khi xác nhận xóa văn bằng.

Hình 4.7 Giao diện xác nhận xóa văn bằng

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 39

4.2.2.6: Giao diện chung một số trang danh mục.

Hình 4.8 Giao diện chung một số trang danh mục

4.2.2.7: Giao diện khi nhập file Excel.

Hình 4.9 Giao diện khi chọn nhập file Excel

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 40

4.2.2.8: Giao diện khi xuất file Excel.

Hình 4.10 Giao diện khi chọn xuất file Excel.

4.2.2.8: Giao diện khi chọn in mã QR, hoặc BarCode

Hình 4.10 Giao diện khi chọn in mã QR hoặc BarCode.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 41

KẾT LUẬN
1. Kết quả đạt được.
Bước đầu xây dựng được một hệ thống quản lý hồ sơ thông tin tốt nghiệp cho
Trường Đại Học Hải Phòng được triển khai tại phòng Đào tạo tại trang http:// tttn.
dhhp.edu.vn/ . Phần mềm được cập nhật tất cả các thông tin hồ sơ tốt nghiệp từ năm 2014.
Thu thập yêu cầu khá đầy đủ nên hệ thống quản lý thông tin hồ sơ tốt nghiệp và
cũng khá chi tiết và phù hợp với nhu cầu hiện nay.
Hệ thống cung cấp giao diện trực quan, thân thiện, mang tính hiện đại và tiện
dụng cho người dùng.
Hệ thống cập nhất các chức năng cho cả người dùng hệ thống và người dùng tra
cứu thông tin trên hệ thống sử dụng thuận tiện nhất có thể. Hệ thống cũng cung cấp
nhiều công cụ tiện ích, giúp quản lý thông tin văn bằng trong trường một cách nhanh
chóng và chính xác. Đặc biệt, hệ thống có cho phép bảo mật ở mức người dùng.
Hệ thống cung cấp chức năng nhập dữ liệu đầu vào từ file Excel giúp người sử
dụng thuận tiện hơn khi cập nhật số lượng lớn sinh viên.
Hệ thống cung cấp chức năng xuất thông tin ra file Excel theo năm chọn giúp
người sử dụng thuận tiện hơn khi làm báo cáo.
2. Hạn chế.
- Chưa có kinh nghiệm nhiều trong việc xây dựng một chương trình quản lý với
quy mô lớn.
- Tuy nhiên, với thời gian và khả năng còn nhiều hạn chế nên vẫn chưa thể xây
dựng một hệ thống quản lý hoàn chỉnh có khả năng tích hợp dữ liệu vào hệ thống quản
lý đào tạo của Nhà trường. Khả năng làm việc chưa mang tính chuyên nghiệp.
- Phần mềm vẫn còn hạn chế về tính năng xuất file Excel chưa mang lại mỹ quan.
3. Hướng phát triển.
- Điều chỉnh một số chức năng cho phù hợp với yêu cầu sử dụng của Trường.
- Cập nhật lại mỹ quan file Excel sau khi xuất ra.
- Phát triển hệ và cập nhật thêm các chức năng cho hệ thống hoàn thiện hơn và tiện
dụng với người dùng hơn.
- Tối ưu lại hệ thống để hệ thống có thể chạy nhanh hơn.
- Để có một hệ thống quản lý thật sự tốt, đảm bảo cho việc quản lý thông tin văn
bằng mọi nghiệp vụ phải được tin học hoá, mong rằng trong thời gian tới có thể xây
dựng hoàn thiện các hướng phát triển này.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh
KHOA CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC HẢI PHÒNG 42

TÀI LIỆU THAM KHẢO

[1] P. H. Khang, Lập trình Cơ sở dữ liệu, 2005. NXB Lao động – xã hội 2006.
[2] Tài liệu học LINQ Step By Step của tác giả Trương Minh Tuấn.
[3] D.Q. Thiện, Lập trình Căn cứ dữ liệu dùng ADO.Net và C#, Thành Phố Hồ Chí
Minh: Tổng Hợp, 2006.
[4] S.b.c.v.t.H. Nội, Giáo trình HTML và thiết kế website, Hà Nội, 2005.
[5] H. V. Đức, Giáo trình nhập môn UML, Thành Phố Hồ Chí Minh: Nhà Xuất Bản Lao
Động, 2004.
[6] D. Q. Thiện, Sổ tay kỹ thuật Visual C#, Thành Phố Hồ Chí Minh, 2006.
[7] N. D. Phương, Bài giảng Kỹ thuật lập trình, Hồ Chí Minh: Nhà xuất bản Điện Biên,
2003.
[8] T. j. Project, "JQuery: The write less, do more, JavaScript library," The jQuery
Project, 29 April 2010.

GVHD: Th.S Nguyễn Ngọc Khương Lớp CNTT2 K17 SVTH: Bùi Thế Anh

You might also like