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

[Đồ án] Website hệ thống quản lý nghiên cứu khoa học có FULL code

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 (4.38 MB, 52 trang )

TRƯỜNG ĐẠI HỌC ĐỒNG THÁP
KHOA SƯ PHẠM TOÁN - TIN

0018413051 – DƯƠNG TẤN THÀNH
BÁO CÁO THỰC TẬP TỐT NGHIỆP

TÊN ĐỀ TÀI
HỆ THỐNG QUẢN LÝ NGHIÊN CỨU KHOA HỌC
CHO TRƯỜNG CAO ĐẲNG Y TẾ ĐỒNG THÁP

NGÀNH: KHOA HỌC MÁY TÍNH
LỚP: ĐHCNTT18A

Đồng Tháp, ngày 8 tháng 4 năm 2022


LỜI CẢM ƠN
Để hoàn thành báo cáo thực tập này, em xin trân trọng cảm ơn tới sự giúp đỡ của
các tập thể, các cá nhân trong và nhà trường đã tạo điều kiện cho em trong quá trình học
tập, rèn luyện tại trường.
Trước hết em xin chân thành cảm ơn các thầy cô trong bộ môn Công nghệ thông tin
đã giúp đỡ em trong quá trình học tập tại trường, đặc biệt là ThS. Lê Minh Thư và thầy
Trương Minh Tuấn đã tận tình hướng dẫn trong việc thực hiện bài báo cáo này.
Em xin chân thành cảm ơn các thầy trong Trường cao đẳng y tế Đồng Tháp đã giúp
đỡ em trong suốt thời gian học tập vừa qua đồng thời tạo điều kiện cho em học hỏi được
nhiều kiến thức mới để hoàn thành tốt bài thực tập.
Vì kiến thức bản thân còn hạn chế, trong quá trình thực tập, hoàn thiện chuyên đề
này em không tránh khỏi những lỗi sai sót, kính mong nhận được những ý kiến đóng
góp từ thầy, cơ cũng như q lãnh đạo của cơ quan nơi thực tập.
Xin chân thành cảm ơn!
TP. Cao Lãnh, ngày tháng năm 2022



Sinh viên thực tập

1


Mục lục
LỜI CẢM ƠN ..................................................................................................................1
PHẦN MỘT: MỞ ĐẦU .......................................................................................7

A.

1. Đặt vấn đề .................................................................................................................7
2. Ý nghĩa lý thuyết, thực tiễn của đề tài ......................................................................7
2.1.

Ý nghĩa lý thuyết .......................................................................................................................7

2.2.

Ý nghĩa thực tiễn ......................................................................................................................7

3. Mục tiêu đề tài ..........................................................................................................7
4. Phạm vi đề tài ...........................................................................................................8
5. Các phương pháp nghiên cứu. ..................................................................................8
6. Kế hoạch thực hiện đề tài .........................................................................................8
PHẦN HAI: NỘI DUNG ................................................................................................ 9
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ................................................................................9
1.1.


Giới thiệu ...............................................................................................................9

1.2.

.Net ........................................................................................................................9

1.2.1.

Giới thiệu .Net ......................................................................................................................9

1.2.2.

Điểm nổi bật của .Net 5+................................................................................................... 10

1.2.3.

Nền tảng và hỗ trợ của Microsoft ..................................................................................... 10

1.2.4.

Ngôn ngữ ........................................................................................................................... 11

1.3.

Bootstrap ............................................................................................................................... 11

1.3.1.

Giới thiệu Bootstrap ...................................................................................................... 11


1.3.2.

Lịch sử của Bootstrap .................................................................................................... 11

1.3.3.

Thành phần chính của Bootstrap .................................................................................. 12

1.3.4.

Lợi ích khi dùng Bootstrap............................................................................................. 13

1.3.5.

Cấu trúc và tính năng của Bootstrap ............................................................................. 13

1.3.6.

Bootstrap từ CDN .......................................................................................................... 14

1.3.7.

Giới thiệu Bootstrap 4 ................................................................................................... 14

1.4.

Giới thiệu Ajax ....................................................................................................................... 15

1.5.


Giới thiệu về WCF .................................................................................................................. 16

CHƯƠNG 2: XÂY DỰNG HỆ THỐNG QUẢN LÝ KHOA HỌC ............................. 19
2.1. Phân tích hiện trạng cơ cấu tổ chức bộ máy của trường Cao Đẳng Y Tế Đồng
Tháp 19
2.3.

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

2.3.1.

Qui ước đặt tên ................................................................................................................. 23

2


2.3.2.

Mơ hình Diagram SQL server............................................................................................. 24

2.3.3.

2.4.

Phân tích các thực thể ................................................................................................... 24

2.3.3.1.

Thực thể lý lịch nhà khoa học.................................................................................... 24


2.3.3.2.

Thực thể nơi sinh....................................................................................................... 25

2.3.3.3.

Thực thể trình độ ...................................................................................................... 26

2.3.3.4.

Thực thể lĩnh vực nghiên cứu.................................................................................... 26

2.3.3.5.

Thực thể ngoại ngữ ................................................................................................... 26

2.3.3.6.

Thực thể đơn vị làm việc ........................................................................................... 27

2.3.3.7.

Thực thể đề tài .......................................................................................................... 27

2.3.3.8.

Thực thể xếp loại đề tài ............................................................................................. 28

2.3.3.9.


Thực thể hội đồng nghiệm thu .................................................................................. 28

2.3.3.10.

Thực thể bài báo quốc tế .......................................................................................... 29

2.3.3.11.

Thực thể dạng bài báo............................................................................................... 29

2.3.3.12.

Thực thể quốc gia ...................................................................................................... 30

2.3.3.13.

Thực thể trạng thái .................................................................................................... 30

2.3.3.14.

Thực thể từ khoá ....................................................................................................... 30

2.3.3.15.

Thực thể thể loại ....................................................................................................... 31

2.3.3.16.

Thực thể tài khoản .................................................................................................... 31


2.3.3.17.

Thực thể quyền tài khoản ......................................................................................... 32

2.3.3.18.

Thực thể lịch sử thay đổi ........................................................................................... 32

Thiết kế và thi công các màn hình Entiny cho sản phẩm (Admin Website) .......33

2.4.1.

Giới thiệu ........................................................................................................................... 33

2.4.2.

CRUD màn hình Entiny quản lý mục giới thiệu ............................................................. 33

2.4.3.

CRUD màn hình Entiny quản lý ảnh bìa ......................................................................... 35

2.4.4.

CRUD màn hình Entiny quản lý danh sách đề tài ......................................................... 36

2.4.5.

CRUD màn hình Entiny quản lý danh sách xếp loại ....................................................... 37


2.4.6.

CRUD màn hình Entiny quản lý lĩnh vực nghiên cứu ..................................................... 37

2.4.7.

CRUD màn hình Entiny quản lý trạng thái đề tài ........................................................... 38

2.4.8.

CRUD màn hình Entiny quản lý danh sách nhà khoa học .............................................. 38

2.4.9.

CRUD màn hình Entiny quản lý trình độ........................................................................ 39

2.4.10.

CRUD màn hình Entiny quản lý đơn vị làm việc ............................................................ 39

2.4.11.

CRUD màn hình Entiny quản lý trình độ ngoại ngữ....................................................... 40

2.4.12.

CRUD màn hình Entiny quản lý nơi sinh ........................................................................ 40

2.4.13.


CRUD màn hình Entiny quản lý bài báo quốc tế............................................................ 41

2.4.14.

CRUD màn hình Entiny lưu danh sách quốc gia ............................................................ 41

2.4.15.

CRUD màn hình Entiny quản lý hội nghị bài viết ........................................................... 42

2.4.16.

CRUD màn hình Entiny quản lý từ khoá ........................................................................ 42

3


2.4.17.

2.5.

CRUD màn hình Entiny quản lý thể loại bài viết ............................................................ 43

Thi cơng các màn hình của thực thể User ...........................................................44

2.5.1.

Giao diện trang chủ ........................................................................................................... 44

2.5.2.


Giao diện mục giới thiệu ................................................................................................... 45

2.5.3.

Giao diện mục phạm vi áp dụng ........................................................................................ 45

2.5.4.

Giao diện chân trang ......................................................................................................... 46

2.5.5.

Giao diện phần đầu danh sách đề tài nghiên cứu ............................................................. 46

2.5.6.

Giao diện thông tin đề tài.................................................................................................. 47

2.5.7.

Giao diện danh sách nhà khoa học.................................................................................... 48

2.5.8.

Giao diện thông tin nhà khoa học ..................................................................................... 48

2.5.9.

Giao diện danh sách bài báo quốc tế ................................................................................ 49


2.5.10.

Giao diện thông tin chi tiết bài báo quốc tế ...................................................................... 49

PHẦN BA: KẾT LUẬN ................................................................................................ 50
3.1.

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

3.2.

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

4


Danh sách hình ảnh
Hình ảnh 1 Hoạt đợng của Ajax ....................................................................................15
Hình ảnh 2 Cấu trúc Web Services................................................................................17
Hình ảnh 3 Sơ đồ tổ chức .............................................................................................. 19
Hình ảnh 4 Sơ đồ Usecase tổng quát .............................................................................20
Hình ảnh 5 Usecase chi tiết User ...................................................................................21
Hình ảnh 6 Usecase cán bợ nhân viên ...........................................................................22
Hình ảnh 7 Usecase Administrator - người quản trị......................................................22
Hình ảnh 8 Cơ sở dữ liệu Diagram ................................................................................24
Hình ảnh 9 Quản lý giới thiệu .......................................................................................34
Hình ảnh 10 Popup quản lý giới thiệu ...........................................................................34
Hình ảnh 11 Quản lý ảnh bìa .........................................................................................35
Hình ảnh 12 Popup quản lý ảnh bìa...............................................................................35

Hình ảnh 13 Quản lý danh sách đề tài ...........................................................................36
Hình ảnh 14 Popup quản lý danh sách đề tài ................................................................ 36
Hình ảnh 15 Quản lý xếp loại ........................................................................................37
Hình ảnh 16 Quản lý lĩnh vực nghiên cứu.....................................................................37
Hình ảnh 17 Quản lý trạng thái .....................................................................................38
Hình ảnh 18 Quản lý danh sách nhà khoa học .............................................................. 38
Hình ảnh 19 Quản lý trình đợ ........................................................................................39
Hình ảnh 20 Quản lý đơn vị làm việc ............................................................................39
Hình ảnh 21 Quản lý ngoại ngữ ....................................................................................40
Hình ảnh 22 Quản lý nơi sinh ........................................................................................40
Hình ảnh 23 Quản lý bài báo q́c tế ............................................................................41
Hình ảnh 24 Quản lý danh sách q́c gia ......................................................................41
Hình ảnh 25 Quản lý hợi nghị bài viết ..........................................................................42
Hình ảnh 26 Quản lý từ khố.........................................................................................42
Hình ảnh 27 Quản lý thể loại .........................................................................................43
Hình ảnh 28 Giao diện trang chủ ...................................................................................44
Hình ảnh 29 Danh mục giới thiệu .................................................................................45
Hình ảnh 30 Phạm vi áp dụng .......................................................................................45
Hình ảnh 31 Chân trang .................................................................................................46
Hình ảnh 32 Đầu danh sách nghiên cứu ........................................................................46
Hình ảnh 33 Thân danh sách nghiên cứu ......................................................................47
Hình ảnh 34 Thơng tin đề tài .........................................................................................47
Hình ảnh 35 Danh sách nhà khoa học ...........................................................................48
Hình ảnh 36 Thơng tin nhà khoa học ............................................................................48
Hình ảnh 37 Danh sách bài báo q́c tế ........................................................................49
Hình ảnh 38 Thông tin bài báo quốc tế .........................................................................49

5



Danh sách bảng biểu

Bảng biểu 1 Kế hoạch thực hiện đề tài ............................................................................8
Bảng biểu 2 Bảng dbo.Scientist.....................................................................................25
Bảng biểu 3 Bảng dbo.Degree .......................................................................................26
Bảng biểu 4 Bảng lĩnh vực nghiên cứu .........................................................................26
Bảng biểu 5 Bảng ngoại ngữ .........................................................................................26
Bảng biểu 6 Đơn vị làm việc .........................................................................................27
Bảng biểu 7 Bảng danh sách đề tài ................................................................................27
Bảng biểu 8 Xếp loại .....................................................................................................28
Bảng biểu 9 Hội đồng nghiệm thu .................................................................................28
Bảng biểu 10 Bài báo quốc tế ........................................................................................29
Bảng biểu 11 Bài báo ....................................................................................................29
Bảng biểu 12 Quốc gia ..................................................................................................30
Bảng biểu 13 Trạng thái ................................................................................................ 30
Bảng biểu 14 Từ khoá ...................................................................................................30
Bảng biểu 15 Bài báo ....................................................................................................31
Bảng biểu 16 Thể loại....................................................................................................31
Bảng biểu 17 Quyền tài khoản ......................................................................................32
Bảng biểu 18 Lịch sử thay đổi .......................................................................................32

6


A. PHẦN MỘT: MỞ ĐẦU
1. Đặt vấn đề
Hiện nay, nghiên cứu khoa học là một phần không thể thiếu trong quá trình hoạt
động của các trường Đại học – Cao đẳng. Tuy nhiên, công việc quản lý thông tin của
các đề tài nghiên cứu khoa học ở các phòng quản lý vẫn được thực hiện trên giấy tờ,
sổ sách hay những bảng tính đơn giản. Việc quản lý như vậy sẽ mất rất nhiều thời

gian mà lại không quản lý được hết và chính xác, việc lãng quên các đề tài sẽ có thể
bị xảy ra.
Căn cứ trên thực tiễn của hoạt động nghiên cứu khoa học của nhà trường, để hoạt
động nghiên cứu khoa học đạt được như đúng vị trí và vai trị của nó đới với việc
nâng cao chất lượng đào tạo, cần thiết phải có mợt hệ thống quản lý đề tài nghiên cứu
khoa học.
2. Ý nghĩa lý thuyết, thực tiễn của đề tài
2.1. Ý nghĩa lý thuyết
Trong đề tài này, em sẽ nghiên cứu về các thành phần lý thuyết có liên quan để
xây dựng mợt hệ thớng cụ thể. Phân tích các thành phần liên quan như các bản vẽ,
phát thảo hệ thống phần mềm, cơ sở dữ liệu, giao diện, cách thức truyền dữ liệu,
bảo mật,... Mà qua đó, em có thể đóng góp những kinh nghiệm cho bản thân, nhà
trường và ngay tại cơ sở thực tập.
2.2. Ý nghĩa thực tiễn
Đề tài này nếu thành công sẽ mang lại giá trị như sau:
-

Đảm bảo thực hiện hoạt động nghiên cứu khoa học đúng qui định và kiểm sốt
chất lượng nghiên cứu mợt cách hiệu quả.
Nâng cao trách nhiệm của các đơn vị trong việc phối hợp thực hiện qui định về
quản lý đề tài nghiên cứu khoa học của Trường Cao Đẳng Y Tế Đồng Tháp.
Mục tiêu đề tài

3.

Dự án “Hệ thống quản lý nghiên cứu khoa học cho trường Cao Đẳng Y Tế Đồng
Tháp” bao gồm các tính năng:
-

Thơng tin nhà khoa học, nhà nghiên cứu (sơ yếu lý lịch, trình đợ chun mơn,

q trình cơng tác, kết quả nghiên cứu,…)

-

Kê khai các công nghiên cứu: Bài báo quốc tế, nghiên cứu khoa học tại cơ sở, bài
viết hội thảo,…

-

Quản lý đề tài nghiên cứu khoa học: thông tin thành viên xét duyệt đề tài, hội
đồng, kết quả phân loại đề tài, đánh giá, nghiệm thu.

-

Báo cáo, thống kê: lý lịch khoa học, kết quả nghiệm thu, công bố trên Website,…

-

In ấn các biểu mẫu, văn bản theo qui định.

-

Các chức năng bổ sung (được bổ sung trong quá trình thực hiện dự án).
Yêu cầu hoàn thành khoảng 70% các chức năng nêu trên.

7


4. Phạm vi đề tài
Nghiên cứu và triển khai thực tế cho Trường Cao Đẳng Y Tế Đồng Tháp.

5. Các phương pháp nghiên cứu.
Đọc tài liệu
- Nghiên cứu những tài liệu có liên quan đến những gì cần thực hiện.
- Chạy thử để tìm hiểu cách vận hành mợt sớ công cụ trước khi thực hiện thực tế
(Restfull API, WCF Service)
Học hỏi thầy cô, bạn bè.
- Học cách định hướng
- Sắp xếp thời gian
- Phương pháp giải quyết vấn đề
6. Kế hoạch thực hiện đề tài
STT Thời gian
1
17/01/2022
21/01/2022
2
24/01/2022
28/01/2022
3
07/02/2022
11/02/2022

4

14/02/2022
21/03/2022

5

21/03/2022
25/03/202

28/03/2022
01/04/2022
28/03/2022
8/04/2022
9/4/2022

6
7
8

Nội dung thực hiện
Task 1: Tìm hiểu về dự án
phần mềm
Task 2: Thiết kế cơ sở dữ
liệu
Task 3: Thiết kế và thi
công UI Admin với
Bootstrap, tổ chức mã
nguồn cho dự án
Task 4: Xây dựng chức
năng cho dự án phần mềm
(code backend): thi công
các màn hình Entiny cho
sản phẩm (CRUD/API)
Task 5: Xây dựng chức
năng cho User
Task 6: Xây dựng chức
năng Login, Restfull API
Task 7: Viết báo cáo, tài
liệu hướng dẫn cho dự án

Task 8: Bảo vệ dự án

Người thực hiện

Dương Tấn Thành

Bảng biểu 1 Kế hoạch thực hiện đề tài

8

Ghi chú


PHẦN HAI: NỘI DUNG
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1. Giới thiệu
Phần mềm quản lý hoạt động nghiên cứu khoa học bao gồm các nhóm chức năng
chính như quản lý các đề tài nghiên cứu khoa học: thông tin thành viên xét duyệt đề tài,
hội đồng, kết quả phân loại, đánh giá, nghiệm thu. Quản lý thông tin nhà khoa học: sơ
́u lý lịch, trình đợ chun mơn, q trình cơng tác, kết quả nghiên cứu,… Kê khai các
cơng trình của nghiên cứu: Bài báo quốc tế, nghiên cứu khoa học tại cơ sở, bài viết hội
thảo,… Báo cáo thống kê: lý lịch khoa học, kết quả nghiệm thu, công bố trên Website,…
In ấn các biểu mẫu, văn bản theo qui định.
Phần mềm quản lý nghiên cứu khoa học là một giải pháp giúp trường học theo dõi,
quản lý được quá trình thực hiện đề tài từ lúc bắt đầu gửi đề xuất đến khi nghiệm thu
hồn thành và các thơng tin liên quan. Hệ thớng giúp các đơn vị có thẩm quyền quản lý
đề xuất đề tài khoa học một cách hiệu quả, giảm chi phí, thời gian, cơng sức, tḥn tiện
trong việc tra cứu, tìm kiếm, quản lý thơng tin đề tài, nhiệm vụ khoa học một cách hiệu
quả. Hệ thớng phần mềm có các chức năng phân qùn đến từng phịng, ban, cán bợ,
nhân viên nào được phép xem, sửa, xoá,… đảm bảo tính bảo mật của đề tài, nhiệm vụ

khoa học.
Môi trường cài đặt và phát triển:
-

Nền tảng Web. Chỉ cần đặt một nơi, tất cả các nơi khác có thể truy xuất Online
Hệ quản trị cơ sở dữ liệu : Chạy trên nền tảng Microsoft SQL Server 2014
Webserver: Có khả năng tích hợp với các Webserver Microsoft IIS 7 trở lên
Ngôn ngữ phát triển phần mềm: C# Asp.net MVC 5, .Net Framework 4.5
Về phía người dùng: Hỗ trợ trình duyệt Web (Browser) như Microsoft Edge,
FireFox, Chrome, Netscape Navigator,…

Tính mở và tính khả dụng:
-

Hệ thớng được thiết kế xây dựng theo các chuẩn công nghệ, đảm bảo khả năng
nâng cấp, thay đổi và bổ sung thêm các thành phần khi cần thiết.
Tuân thủ các qui ước đặt tên biến, hàm theo mợt chuẩn trong tồn dự án.

Giao diện:
-

Giao diện sử dụng Bootstrap.
Ngôn ngữ Tiếng Việt bảng mã chuẩn Quốc tế UNICODE để mã hoá và lưu trữ
dữ liệu dạng văn bản
1.2. .Net
1.2.1. Giới thiệu .Net
.NET Microsoft công bố tại hội nghị Build 2019. NET dựa trên Net Standard, tuy
nhiên khơng phải mọi tính năng của framework sẽ xuất hiện trong .NET 5. Nền tảng
.NET sẽ là sự hợp nhất của tất cả các nền tảng .NET hiện tại, khơng cịn các “biệt danh”
9



đi kèm để phân biệt như hiện nay như Core hay Framework. Tất cả thống nhất về một
tên gọi chung: .NET.
Để khẳng định đây không phải là một nền tảng xây dựng mới (như khi .NET Core
ra đời), nhưng cũng không phải đơn giản chỉ là một sự phát triển từ mợt nền tảng đang
có sẵn, nhóm lựa chọn tên gọi đơn giản là .NET, và định chỉ số phiên bản là 5. Nó thể
hiện sự kế thừa và hợp nhất.
Theo đó, sẽ khơng có .NET Core 4 nữa. Phiên bản 3 là phiên bản cuối cùng của
.NET Core. Cũng sẽ khơng có các phiên bản. NET Framework kế tiếp nữa. 4.8 là phiên
bản ći cùng của .NET Framework.
Sau đó sẽ chỉ cịn mợt .NET và bắt đầu từ phiên bản 5.
1.2.2. Điểm nổi bật của .Net 5+
Có nhiều cải tiến quan trọng trong .NET 5.0
-

Hỗ trợ Windows ARM64.
Cải tiến phát triển máy tính để bàn Windows.

-

Các API trình tuần tự JSON được cải tiến.
Chú thích kiểu tham chiếu khơng thể xóa.
Đầu tư web và đám mây(cloud).
Các ứng dụng tệp tin đơn và hình ảnh vùng chứa nhỏ hơn.
Cải thiện hiệu suất, với hiệu suất gRPC được cho là vượt qua Go, C++.
Các ứng dụng .NET đầy đủ với framework giao diện người dùng web Blazor,

-


hỗ trợ Blazor Server và Blazor WebAssembly, hỗ trợ các thư viện khung
.NET Core và đã được thực hiện nhanh hơn trong .NET 5.
Một mô hình mới được đặc trưng để hỗ trợ các API WinRT, bao gồm gọi các

-

API, Hệ thống tương tác WinRT hiện có đã bị xóa khỏi thời gian chạy .NET.
C# 8 và F# 5 cung cấp các cải tiến ngôn ngữ mới như các chương trình và
bản ghi cấp cao nhất cho C# 9, trong khi F# 5 cung cấp lập trình tương tác và
tăng hiệu suất cho lập trình chức năng trên .NET.

Thư viện .NET đã nâng cao hiệu suất cho t̀n tự hóa Json, biểu thức chính
quy (regular expression) và HTTP (HTTP 1.1, HTTP /2). Hiện tại chúng cũng
được chú thích hoàn toàn về tính vơ hiệu.
- Đợ trễ P95 đã giảm.
- Các tùy chọn triển khai ứng dụng tốt hơn.
1.2.3. Nền tảng và hỗ trợ của Microsoft
-

.NET 5.0 hỗ trợ đa nền tảng gần giống như .NET Core 3.1, dành cho Windows,
macOS và Linux. Nếu đang sử dụng .NET Core 3.1 trên hệ điều hành được hỗ trợ, có
thể sử dụng .NET 5.0 trên cùng phiên bản hệ điều hành đó. Bổ sung quan trọng nhất cho
.NET 5.0 là Windows Arm64.
10


.NET 5.0 là bản phát hành hiện tại. Điều đó có nghĩa là nó sẽ được hỗ trợ cho đến
khi .NET 6.0 được phát hành, .NET 6.0 sẽ được phát hành LTS và sẽ được hỗ trợ giống
như .NET Core 3.1.
1.2.4. Ngôn ngữ

C# 9 và F# 5 là một phần của bản phát hành .NET 5.0 và được bao gồm trong
.NET 5.0 SDK. Visual Basic cũng được bao gồm trong SDK 5.0. Nó khơng bao gồm
các thay đổi về ngơn ngữ, nhưng có các cải tiến để hỗ trợ khung ứng dụng Visual Basic
trên .NET Core.
Trình tạo nguồn (C# Source Generators) là mợt tính năng trình biên dịch C# mới
quan trọng. Về mặt kỹ thuật, chúng không phải là một phần của C# 9 vì nó khơng có bất
kỳ cú pháp ngôn ngữ nào.
1.3.

Bootstrap
1.3.1. Giới thiệu Bootstrap

Bootstrap là một framework bao gồm các HTML, CSS và JavaScript template
dùng để phát triển website chuẩn responsive.
Bootstrap cho phép quá trình thiết kế website diễn ra nhanh chóng và dễ dàng
hơn dựa trên những thành tớ cơ bản sẵn có như typography, forms, buttons, tables, grids,
navigation, image carousels…
Bootstrap là một bộ sưu tập miễn phí của các mã nguồn mở và cơng cụ dùng để
tạo ra mợt mẫu webiste hồn chỉnh. Với các tḥc tính về giao diện được quy định sẵn
như kích thước, màu sắc, đợ cao, đợ rợng…, các designer có thể sáng tạo nhiều sản phẩm
mới mẻ nhưng vẫn tiết kiệm thời gian khi làm việc với framework này trong quá trình
thiết kế giao diện website.
1.3.2. Lịch sử của Bootstrap
+ Bootstrap là sản phẩm của Mark Otto và Jacob Thornton tại Twitter. Nó được
xuất bản như là mợt mã nguồn mở vào ngày 19/8/2011 trên GitHub. Tên gọi ban đầu là
Twitter Blueprint. Đến ngày 31/1/2012, Bootstrap phiên bản 2 đã được phát hành.
Bootstrap 2 được bổ sung bố cục lưới 12 cột với thiết kế tùy chỉnh đáp ứng cho nhiều
màn hình kích thước. Tiếp nới sự thành cơng của phiên bản 2, Bootstrap 3 ra đời vào
ngày 19/8/2013 với giao diện tương thích với smartphone.
+ Chỉ 3 năm sau ngày ra mắt, Bootstrap đã trở thành No.1 project trên GitHub.

Vào tháng 10/2014, Mark Otto công bố phiên bản Bootstrap 4 đang được phát triển.
Phiên bản alpha đầu tiên của Bootstrap 4 đã được triển khai vào tháng 8/2015. Phiên
bản mới nhất của Bootstrap được giới thiệu đến người dùng là Bootstrap 4.3.1. Cho đến
nay, Bootstrap vẫn là một trong những Framework thiết kế Website có lượng người
dùng “khủng” nhất.

11


1.3.3. Thành phần chính của Bootstrap
Trong q trình tìm hiểu về thiết kế giao diện, dưới đây là 3 File chính giúp quản
lý các chức năng của Website và giao diện người dùng: Bootstrap.CSS, Bootstrap.JS,
Glyphicons.
Bootstrap.CSS
CSS có chức năng quản lý và sắp xếp bố cục của các trang Web. HTML có nhiệm
vụ quản lý cấu trúc và nợi dung thì CSS sẽ xử lý bớ cục của Website. Vì vậy mà hai cấu
trúc này phải tồn tại cùng nhau để thực hiện được hành động cụ thể.
Giờ ta sẽ không phải tốn thời gian để chỉnh sửa thủ công chỉ để thay đổi mợt thiết
kế nhỏ. Thay vào đó, ta có thể dùng CSS để tạo giao diện thớng nhất trên nhiều Website
mà không bị giới hạn.
Hàm CSS không chỉ giới hạn ở kiểu văn bản mà còn dùng định dạng như bảng,
bớ cục hình. Nên mất mợt ít thời gian để CSS ghi nhớ hết tất cả các khai báo và bợ chọn.
Bootstrap.JS
Đây là phần cớt lõi vì chứa các File JavaScript, nó chịu trách nhiệm cho việc
tương tác của Website. Để tiết kiệm thời gian viết cú pháp JavaScript mà nhiều nhà phát
triển sẽ sử dụng jQuery. Đây là thư viện JavaScript mã nguồn mở, đa nền tảng giúp ta
thêm nhiều chức năng vào trang Web.
Theo kinh nghiệm của bản thân, jQuery sẽ thực hiện một số chức năng như:
Thực hiện các yêu cầu của Ajax như: hỗ trợ làm CRUD (thêm, xem, sửa, xố),
phân trang, tìm kiếm, sắp xếp,… một cách nhanh chống, chuyên nghiệp nhờ không phải

Load lại trang mỗi khi thao tác. Mặc khác, ta dễ dàng tuỳ biến riêng nhờ thay đổi vào
trong File Jquery.
Giúp tạo các tiện ích bằng bợ sưu tập Plugin JavaScript. jQuery sẽ tạo hình động
tùy chỉnh bằng các thuộc tính của CSS.
Tuy Bootstrap với các tḥc tính Element HTML và CSS có thể hoạt đợng tớt,
nhưng vẫn cần jQuery để tạo thiết kế Responsive. Nếu thiếu đi phần này, ta chỉ có thể
dùng các phần tĩnh của CSS mà thơi.
Glyphicons
Trong giao diện trang Web, phần khơng thể thiếu chính là Icons. Chúng thường
được liên kết với các dữ liệu nhất định và các hành động trong giao diện người dùng.
Bootstrap dùng Glyphicons để đáp ứng nhu cầu trên và nó đã mở khóa bợ
Halflings Glyphicons để bạn sử dụng miễn phí. Tại bản miễn phí, tuy chỉ có giao diện
chuẩn nhưng phù hợp với các chức năng thiết yếu.
Nếu như bạn ḿn có các Icon phong cách hơn thì có thể mua bợ bợ Icon
Premium khác nhau. Chắc chắn các Icon tại Glyphicons sẽ giúp cho trang Web của bạn
12


trơng đẹp và nổi bật hơn. Ở đây, em có bổ sung thêm Icon từ Website Fontawesome
nhằm có thêm nhiều biểu tượng phong phú hơn.
1.3.4. Lợi ích khi dùng Bootstrap
Giữa mn vàn ứng dụng thiết kế website hiện nay, có thể kể đến như
VueJS/ReactJS/Angular,… Bootstrap vẫn có khả năng cạnh tranh cao là nhờ những đặc
điểm nổi bật sau:
-

Dễ dàng thao tác
Dễ dàng tiếp cận khi nắm vững HTML/CSS
Tùy chỉnh dễ dàng
Chất lượng sản phẩm đầu ra hồn hảo

Đợ tương thích cao

Dễ dàng thao tác: Cơ chế hoạt đợng của Bootstrap là dựa trên xu hướng mã nguồn
mở HTML, CSS và Javascript. Người dùng cần trang bị kiến thức cơ bản 3 mã này mới
có thể sử dụng Bootstrap hiệu quả. Bên cạnh đó, các mã nguồn này cũng có thể dễ dàng
thay đổi và chỉnh sửa tùy ý.
Dễ dàng tiếp cận khi nắm vững HTML/CSS: Khi so sánh với ReactJS, Angular
hay VueJS. Theo bản thân, khi không phải người làm Front End chuyên ta thấy làm
Bootstrap sẽ dễ dàng và ít tớn thời gian hơn.
Tùy chỉnh dễ dàng: Bootstrap được tạo ra từ các mã nguồn mở cho phép Designer
linh hoạt hơn. Giờ đây có thể lựa chọn những tḥc tính, phần tử phù hợp với dự án
đang làm. CDN Boostrap cịn giúp ta tiết kiệm dung lượng vì không cần tải mã nguồn
về máy.
Chất lượng sản phẩm đầu ra hoàn hảo: Bootstrap là sáng tạo của các lập trình
viên giỏi trên khắp thế giới. Bootstrap đã được nghiên cứu và thử nghiệm trên các thiết
bị. Được kiểm tra nhiều lần trước khi đưa vào sử dụng. Do đó, khi chọn Bootstrap, bạn
có thể tin rằng mình sẽ tạo nên những sản phẩm với chất lượng tốt nhất.
Độ tương thích cao: Điểm cợng lớn nhất của Bootstrap là khả năng tương thích
với mọi trình dụt và nền tảng. Đây là mợt điều cực kì quan trọng và cần thiết trong
trải nghiệm người dùng. Sử dụng Grid System cùng với hai bộ tiền xử lý Less và Sass,
Bootstrap mặc định hỗ trợ Responsive và ưu tiên cho các giao diện trên thiết bị di đợng
hơn. Bootstrap có khả năng tự đợng điều chỉnh kích thước Website theo khung Browser.
Mục đích để phù hợp với màn hình của máy tính để bàn, Tablet hay Laptop.
1.3.5. Cấu trúc và tính năng của Bootstrap
Bootstrap chứa các tập tin JavaScript, CSS và fonts đã được biên dịch và nén lại.
Ngoài ra, Bootstrap được thiết kế dưới dạng các mơ-đun. Do đó, dễ dàng tích hợp với
hầu hết các mã nguồn mở như WordPress, Joomla, Magento, …Trong đó, Bootstrap
mang đến nhiều chức năng nổi bật.

13



Bootstrap cho phép người dùng truy cập vào thư viện “khổng lồ” các thành tố
dùng để tạo nên giao diện của mợt website hồn chỉnh như font, typography, form, table,
grid…
Bootstrap cho phép bạn tùy chỉnh framework của website trước khi tải x́ng và
sử dụng nó tại trang web của khung.
Tái sử dụng các thành phần lặp đi lặp lại trên trang web.
Bootstrap được tích hợp jQuery. Bạn chỉ cần khai báo chính xác các tính năng
trong q trình lập trình web của bạn.
Định nghĩa Glyphicons nhằm giảm thiểu việc sử dụng hình ảnh làm biểu tượng
và tăng tớc đợ tải trang.
1.3.6. Bootstrap từ CDN
Có thể nhúng Bootstrap thơng qua CDN (Content Delivery Network – mạng phân
phối nội dung). Đây là cách mà đa sớ lập trình viên sử dụng để nhúng Bootstrap vì tiết
kiệm băng thơng cũng như tích hợp JavaScript, CSS, thư viện jQuerry mang đến nhiều
tính năng cho website và nâng cao trải nghiệm người dùng hơn. Tuy nhiên, là ta không
thể tuỳ biến riêng trong dữ liệu Bootstrap sử dụng thông qua CDN được.
1.3.7. Giới thiệu Bootstrap 4
Bootstrap 4 ứng dụng các phần tử HTML và các tḥc tính CSS. Bootstrap địi
hỏi người dùng bổ sung thẻ HTML5 doctype. Để sử dụng Bootstrap, bạn cần đảm bảo
Bootstrap được cài đặt đã bao gồm HTML5 doctype ở đầu trang, cùng với tḥc tính
lang và bợ ký tự chính xác.
Bootstrap 4 được thiết kế để đáp ứng cho các thiết bị di động. Mobile-first Index
là một phần cốt lõi của Bootstrap 4. Để đảm bảo hiển thị đúng và thu phóng khung của
website linh hoạt với khung browser, hãy thêm thẻ <meta> sau vào bên trong phần tử
<head>:
<meta name="viewport" content="width=device-width, initial-scale=1">

-


Width = device-width thiết lập chiều rộng của trang theo chiều rợng màn
hình của thiết bị hay browser.
Initial-scale = 1 phần đặt mức thu phóng ban đầu khi trang được trình
duyệt tải ban đầu.

Khi sử dụng trên Webiste của riêng mình, người dùng cần bọc tồn bợ nợi dung
trong Webiste bằng thẻ container (class container hoặc container-fluid). Trong đó:
-

Container class cung cấp mợt container với chiều rợng tương thích
(responsive fixed width container)
Container-fluid class cung cấp mợt container có chiều rợng đầy đủ, trải
rợng tồn bợ chiều rợng của khung nhìn (full width container)

14


1.4.

Giới thiệu Ajax

AJAX là chữ viết tắt của cụm từ Asynchronous Javascript and XML. AJAX là
phương thức trao đổi dữ liệu với máy chủ và cập nhật một hay nhiều phần của trang
web, hồn tồn khơng reload lại tồn bợ trang.
Ajax được viết bằng Javascript chạy trên client, tức là mỗi browser sẽ chạy đợc lập
hồn tồn khơng ảnh hưởng lẫn nhau. Về mặt kỹ thuật, nó đề cập đến việc sử dụng các
đối tượng XmlHttpRequest để tương tác với một máy chủ web thông qua Javascript.
Tại sao lại sử dụng AJAX?
AJAX là một trong những công cụ giúp chúng ta đem lại cho người dùng trải nghiệm

tốt hơn. Khi cần mợt thay đổi nhỏ thì sẽ khơng cần load lại cả trang web, làm trang web
phải tải lại nhiều thứ khơng cần thiết.
Những lợi ích mà AJAX mang lại:
AJAX được sử dụng để thực hiện một callback. Được dùng để thực hiện việc truy xuất
dữ liệu hoặc lưu trữ dữ liệu mà khơng cần phải reload lại tồn bợ trang web. Với những
server nhỏ thì việc này cũng tiết kiệm được băng thơng cho chúng ta hơn.
Cần gì thì chỉ gửi dữ liệu phần đó, load lại 1 phần nhỏ để cập nhật thông tin chứ không
load cả trang. Bằng cách này thì có thể giảm thiểu được tớc đợ tải trang giúp người dùng
có trải nghiệm tớt hơn.
Trang web bạn tạo ra cũng sẽ đa dạng và động hơn.
Cách thức hoạt đợng của Ajax:

Hình ảnh 1 Hoạt động của Ajax

15


Từ trình dụt của client, ta có mợt sự kiện để gọi ajax. Khi đó javascript sẽ tạo nên mợt
đới tượng XMLHttpRequest. Và đối tượng này sẽ được gửi một request đến server
ví dụ: Khi người dùng click vào ơ input và chọn skill tìm việc làm của người dùng. Khi
đó ta sẽ lấy thơng tin đó và gửi đến server và cần trả về các việc làm tương ứng phù hợp
với người dùng.
Khi server nhận được HttpRequest từ đó sẽ xử lý request và trả về response cho web.
Server xử lí lấy ra các việc làm javascript chẳng hạn thuộc skill mà người dùng cần và
trả về dữ liệu của các việc làm.
Sau khi nhận được một response từ server, Javascript sẽ xử lý và cập nhật vào trang web
cho chúng ta.

Đây là một số ví dụ khác của AJAX đang được dùng hằng ngày:
Hệ thống đánh giá và xếp hạng

Bạn đã từng bao giờ đưa đánh giá về sản phẩm bạn mua online chưa? Đã bao giờ thử
điền form bầu chọn online chưa? Cả 2 hoạt động này chắc hẳn đều sử dụng AJAX. Khi
bạn click vào nút đánh giá hay bình chọn, website sẽ nhận kết quả nhưng toàn trang web
vẫn không đổi.
- Chat rooms
Một số website thiết lập chat room tích hợp này trên trang chính của họ, để bạn có thể
nói chuyện trực tiếp với nhân viên hỗ trợ. Nhưng bạn không phải lo việc bạn cần tải
trang mỗi lần chat. AJAX không tải lại trang mỗi khi bạn gửi và nhận một tin nhắn mới.
Bất đồng bộ thật lợi hại phải không!
Thông báo trending của Twitter
Twitter đã từng sử dụng AJAX cho các cập nhật mới. Mỗi lần có tweet mới trong các
chủ đề nóng, Twitter sẽ cập nhật thơng tin mới mà khơng ảnh hưởng đến trang chính.
Tóm lại, AJAX hoạt đợng đa nhiệm. Nếu bạn từng gặp trường hợp 2 tác vụ hoạt động
đồng thời, một cái chạy và một cái tĩnh, có thể đó chính là sản phẩm của AJAX.
1.5.

Giới thiệu về WCF

WCF là công nghệ nền tảng nhằm thống nhất nhiều mô hình lập trình giao tiếp
được hỗ trợ trong .NET 2.0 thành một mô hình duy nhất. Vào tháng 11 năm 2005, .NET
2.0 được Microsoft phát hành trong đó có cung cấp các hàm API riêng biệt cho các liên
lạc dựa trên SOAP để tối đa hoá sự làm việc giữa các nền tảng sử dụng Web Services,
đồng thời .NET 2.0 cịn cung cấp các API để tới ưu việc liên lạc dựa trên mã nhị phân
giữa các ứng dụng chạy trên hệ thống Windows gọi là .NET Remoting, các API cho các
giao dịch phân tán, và API cho liên lạc dị bộ. WCF thống nhất các API này thành một
mô hình duy nhất nhằm đáp ứng mô hình lập trình hướng dịch vụ.

16



WCF có thể sử dụng các bản tin SOAP giữa hai tiến trình, do đó làm cho các ứng
dụng dựa trên WCF có thể làm việc với các tiến trình khác thông qua việc giao tiếp sử
dụng bản tin SOAP. Khi một tiến trình WCF liên lạc với một tiến trình không là WCF,
các bản tin SOAP được mã hoá trên cơ sở XML, nhưng khi nó liên lạc với mợt tiến trình
WCF khác, bản tin SOAP có thể được tối ưu hoá dựa trên mã hoá nhị phân.
WCF là mô hình phát triển ứng dụng hướng dịch vụ (SOA) trên nền tảng của
Microsoft, có khả năng thích ứng cao với những thay đổi thực tế của doanh nghiệp.
WCF (Windows Communication Foundations) kết hợp các đặc điểm từ công nghệ phân
tán của ASP.NET Web Services, .NET Remoting, Message Queuing và Enterprise
Services cho phép xây dựng ứng dụng linh động, tin cậy, an toàn, bảo mật cao.

Hình ảnh 2 Cấu trúc Web Services

Hosting linh đợng: Dịch vụ WCF có thể được hosting lên nhiều “môi trường” khác
nhau, bao gồm IIS, Windows service, Self-hosting,..
Giao tiếp dữ liệu dễ dàng: Tương tự như .NET Remoting,dịch vụ WCF cung cấp
rất nhiều kênh để giao tiếp như HTTP, TCP , IPC.An toànLinh động, dễ dàng mở rộng,
nâng cấp
Tại sao sử dụng WCF?
Như phần trên đã trình bày, .NET 2.0 hỗ trợ rất nhiều phương pháp liên lạc giữa
các ứng dụng khác nhau nhằm vào các mục tiêu khác nhau. Các phương pháp liên lạc
này khá phức tạp và phải mất nhiều thời gian để làm chủ được công nghệ. Tuy nhiên
kiến thức thu được từ việc triển khai mợt phương pháp ít có khả năng dùng được khi
làm việc với phương pháp khác.
Với việc ra đời của WCF, mọi phương pháp liên lạc trước kia đều có thể thực hiện
trên WCF. Do vậy nhà phát triển chỉ cần làm chủ được công nghệ WCF là có thể xây
dựng các ứng dụng mợt cách nhanh chóng.
WCF là một mô hình lập trình cho phép nhà phát triển xây dựng các giải pháp dịch
vụ đảm bảo tính ổn định, và bảo mật và thậm chí là đảm bảo giao dịch. Nó làm đơn giản
hoá việc phát triển các ứng dụng nối kết và đưa ra cho nhà phát triển những giá trị mà

có thể họ chưa nhận ra ngay, đó là cách tiếp cận phát triển hệ thống phân tán thống nhất,
đơn giản, và quản lý được.
17


Do WCF được xây dựng trên cơ sở của .NET Framework 2.0 CLR, nó là tập các
lớp cho phép các nhà phát triển xây dựng các ứng dụng hướng dịch vụ bằng môi trường
lập trình quen thuộc của họ như VB.NET hay C#

18


CHƯƠNG 2: XÂY DỰNG HỆ THỐNG QUẢN LÝ KHOA HỌC
2.1.

Phân tích hiện trạng cơ cấu tổ chức bộ máy của trường Cao Đẳng Y Tế
Đồng Tháp

Hình ảnh 3 Sơ đồ tổ chức

19


Từ việc phân tích hiện trạng tại cơ quan, tổ chức. Giúp người lập trình hiểu rõ cơ
cấu, cũng như tổ chức sử dụng hệ thống. Nhằm thiết kế một cách tới ưu chức năng đến
từng phịng ban, cá nhân. Cụ thể là dự án sẽ xây dựng cho phòng đào tạo, quản lý khoa
học tại trường Cao Đẳng Y Tế Đồng Tháp
2.2. Sơ đồ Usecase
2.2.1. Sơ đồ Usecase tổng quát
Sơ đồ Usecase tổng quát giúp khái quát chức năng chính của hệ thớng. Các chức

năng có tính tổng qt dễ dàng nhìn thấy được trên quan điểm của các tác nhân. Dựa
vào u cầu bài tốn ta có Usecase tổng quát như sau:

Hình ảnh 4 Sơ đồ Usecase tổng quát

2.2.2. Sơ đồ Usecase thành phần
a) Usecase User
Tác nhân: Người dùng truy cập Website
Mô tả: Sau khi người dùng truy cập vào trang chủ. Có thể tuỳ chọn xem, tìm
kiếm thông tin của đề tài, nhà khoa học, bài báo quốc tế.

20


Hình ảnh 5 Usecase chi tiết User

b) Usecase cán bợ nhân viên
Tác nhân: Người quản trị
Điều kiện: Phải đăng nhập vào hệ thống
Mô tả: Sau khi người quản trị đăng nhập vào thành cơng. Có thể thao tác thêm
sửa xoá các thông tin đề tài, nhà khoa học, bài báo quốc tế.

21


Hình ảnh 6 Usecase cán bộ nhân viên

c) Usecase Administrator
Tác nhân: Administrator – quản trị hệ thống
Điều kiện: Phải đăng nhập dưới quyền quản trị viên

Mô tả: Người quản trị sau khi đăng nhập, có qùn CRUD, khoá tài khoản.

Hình ảnh 7 Usecase Administrator - người quản trị

22


2.3. Thiết kế cơ sở dữ liệu
2.3.1. Qui ước đặt tên
Qui tắc đặt tên bảng: Theo kiểu Pascal, tức là viết hoa chữ cái đầu tiên cho mỗi
từ VD: dbo.ForeignLanguage
Ngoại trừ khố chính ra thì hầu hết các trường cịn lại đều cho phép rỗng. Nhằm
khắc phục được lỗi khi xố hết dữ liệu trong bảng.
Đặt tên khố chính sẽ có hậu tớ ID thì cơng thức chung sẽ là tên bảng + ID
VD: TopicID
Đới với khố ngoại thì có tên giống với khố chính mà nó tham chiếu tới. Ví
dụ khóa chính của bảng Staff là "staffID" và bảng [Class] có khóa ngoại đến bảng Staff
thì nó có tên là "staffID". Vì thế mà khố ngoại sẽ khơng ghi tên bảng (vì giớng tên nhau
nên dễ dàng nới bảng khi lập trình)
Qui ước đặt tên trường:
Tóm tắt bảng + khố hoặc mơ tả (ID, Name) + Hành động(CreaDate, ModiData,
DeleteDate, …)
Đôi khi một bộ phận trong tên đã mô tả cho bợ phận khác, hoặc khơng tồn tại nên
ta có thể lượt bỏ bớt như sau:
VD1: classifiName

(Tên bảng + mô tả)

VD2: tpcSummary (Tên bảng + mô tả)
VD3: tpcDeleteUser


(Tên bảng + hành động)

Không sử dụng các tiền tố trước tên cột/tên trường.
Chỉ hiển thị tóm tắt bảng + hậu tố khác.

23


2.3.2. Mơ hình Diagram SQL server
Sơ đồ tổ chức CSDL ban đầu

Hình ảnh 8 Cơ sở dữ liệu Diagram

Dựa vào thực tế hiện nay trong việc phát triển phần mềm thương mại, việc kết
nới các bảng đã dần khơng cịn được sử dụng ở rất nhiều công ty. Do dễ dẫn đến sự cớ
khi xố mất dữ liệu từ mợt bảng hoặc có sự thay đổi, nâng cấp cơ sở dữ liệu sau này.
Do sự phức tạp của nó đới với lập trình viên, nhưng không mang lại quá nhiều
giá trị nên khi lập trình cơ sở dữ liệu sẽ khơng nới bảng.
2.3.3. Phân tích các thực thể
2.3.3.1. Thực thể lý lịch nhà khoa học
Bảng dùng để lưu trữ thông tin và lý lịch của nhà nghiên cứu, nhà khoa học.
Mợt sớ dịng tơ sáng chỉ khóa ngoại.
Tên bảng: dbo.Scientist

STT

Tên thuộc tính

Kiểu dữ liệu


Ràng buộc

Mơ tả

1

scientistID

Smallint

Khóa chính

Mã sớ nhà nghiên cứu –
nhà khoa học

2

firstName

Nvarchar(255)

Không null

Họ và tên đệm

24



×