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

BAO CAO BAI TAP LON NHOM 2 QUAN LI DIEM

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.73 MB, 50 trang )

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO BÀI TẬP LỚN
ĐỀ TÀI: CHƯƠNG TRÌNH QUẢN LÝ ĐIỂM
HỌC TẬP CHO HỌC SINH TRUNG HỌC CƠ SỞ
MƠN: LẬP TRÌNH HƯỚNG SỰ KIỆN

Họ và tên các thành viên:
1. Phan Đức Hoan
2. Phạm Xuân Minh
3. Nguyễn Minh Thuý
4. Nguyễn Hoàng Long
5. Đỗ Hữu Thương

Năm 2020 – 2021

Trang

1


TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO BÀI TẬP LỚN
ĐỀ TÀI: CHƯƠNG TRÌNH QUẢN LÝ ĐIỂM
HỌC TẬP CHO HỌC SINH TRUNG HỌC CƠ SỞ
MƠN: LẬP TRÌNH HƯỚNG SỰ KIỆN

Họ và tên các thành viên:


1. Phan Đức Hoan
2. Phạm Xuân Minh
3. Nguyễn Minh Thuý
4. Nguyễn Hoàng Long
5. Đỗ Hữu Thương

Năm 2020 – 2021

Trang

2


NHIỆM VỤ ĐỒ ÁN
Đề 02: Chương trình quản lý điểm học tập cho học sinh trung học cơ sở
1.
Mô tả:
Với học sinh trung học cơ sở (cấp 2), mỗi lớp trong mỗi học kỳ được
học một số môn học. Các lớp trong cùng khối thì học cùng số đầu mơn học
như nhau. Danh sách mơn học mỗi năm có thể có một số thay đổi (thêm hoặc
bớt một số mơn)
Việc cho điểm học sinh có thể theo các hình thức: kiểm tra miệng, kiểm
tra 15 phút, kiểm tra 1 tiết, thi học kỳ … mỗi hình thức có hệ số điểm như
sau:
o
Hệ số 1: kiểm tra miệng, kiểm tra 15 phút o Hệ số 2: kiểm tra 1 tiết
o
Hệ số 3: điểm thi học kỳ
Cuối học kỳ có xếp loại học sinh giỏi, khá, trung bình …. dựa trên học
lực và hạnh kiểm

2.
Để giải quyết bài toán trên, người ta có thể dùng CSDL với các
bảng như sau:
tblLophoc: chứa thơng tin về các lớp học. Chú ý rằng ở PTCS một lớp
bắt đầu từ 6x, sau một năm thì tăng lên 7x, 8x, 9x (x là số hiệu lớp).
tblHocsinh: chứa thông tin về học sinh của mỗi lớp học, mỗi lớp học có
thể có nhiều học sinh, hết năm học một học sinh có thể xin chuyển sang lớp
khác.
tblNhommonhoc: chứa thơng tin về nhóm mơn học (VD: nhóm Tốn,
nhóm Văn, nhóm Ngoại ngữ ….)
tblMonhoc: chứa thơng tin về mơn học (VD: Toán lớp 6, Toán lớp 7,
Toán lớp 8)
5. tblLoaidiem: chứa thông tin về loại điểm và hệ số của mỗi loại (VD: Điểm
miệng – hệ số 1, điểm 15 phút – hệ số 1, điểm 1 tiết- hệ số 2 ….).
tblDiem: chứa thông tin về điểm kiểm tra, điểm thi của từng học sinh ở
từng môn trong từng năm học.
3.
Yêu cầu: Xây dựng phần mềm nhằm giải quyết bài tốn trên.
3.1. CSDL:
Thiết kế trên SQL Server.
Trong CSDL có các bảng trên với các trường, các bảng phục vụ cho
yêu cầu của
chương trình. (sinh viên có thể thêm bảng/trường nếu cần thiết)

Trang

1


Các trường trong các bảng khi thiết kế phải thiết lập đầy đủ các thuộc

tính
Các bảng phải có quan hệ với nhau
Thiết kế các truy vấn cập nhật (thêm, sửa, xóa) thành các Stored
Procedure lưu trữ trong csdl.
3.2. Phần mềm:
Viết trên VB.NET/C#.NET, giao tiếp các chức năng thông qua hệ thống
menu/toolbar.
Hạn chế các thao tác sử dụng chuột, hỗ trợ người dùng thao tác bằng
bàn phím để tăng tốc độ sử dụng chương trình. Các chức năng cập nhật dữ
liệu (thêm, sửa, xóa) có sử dụng các query/Stored Procedure đã thiết kế trong
csdl.
Dữ liệu của chương trình phải được kiểm tra chặt chẽ để tránh lỗi.
Các báo cáo viết trên Crystal Report và được gọi qua chương trình

Trang

2


LỜI MỞ ĐẦU
Đất nước ta đang bước sang một giai đoạn mới đó là giai đoạn tăng tốc nền
kinh tế, đưa nền kinh tế đất nước đuổi kịp các nước trong khu vực và trên thế
giới. Một nhân tố vô cùng quan trọng trong quá trình đổi mới đất nước là ứng
dụng các thành tựu khoa học vào quản lý ngày nay, nền khoa học thế giới
đang trải qua những biến đổi sâu sắc. Cuộc cánh mạng tự động hoá và tin học
hoá đang làm thay đổi mọi hoạt động của con người.
Hệ thống thông tin ngày càng phát triển với qui mô rộng lớn và chất lượng
ngày càng cao. Tin học phát triển thì những ứng dụng của nó được mở rộng ở
mức độ cao hơn, tối ưu hơn, hiện đại hơn. Nó giúp cho con người học tập,
làm việc, vui chơi giải trí khoa học, trí tuệ và hiệu quả cao hơn. Công nghệ

thông tin được sử dụng rầt nhiều vào các ngành khoa học kỹ thuật. Một trong
những ứng dụng của nó là việc áp dụng vào công tác quản lý các hoạt động
đời sống kinh tế xã hội. Thông tin được biểu diễn, lưu dữ dưới dạng thuật
tốn và chương trình trên một hệ cơ sở dữ liệu đã giúp quản lý một khối
lượng đáng kể các công việc liên quan đến công tác quản lý.
Do nhu cầu phát triển đất nước, GD & ĐT của nước ta hiện nay không đơn
thuần là phúc lợi xã hội mà đã trở thành động lực thúc đẩy nền kinh tế phát
triển, được Đảng và Nhà nước coi là: ”quốc sách hàng đầu ” để đảm bảo chất
lượng giáo dục ngay trong mỗi nhà trường phải tổ chức một cơ cấu làm việc
nghiêm túc, hiệu quả, ổn định. Và cơng tác quản lý điểm cũng khơng nằm
ngồi u cầu đó, việc quản lý điểm đảm bảo chính xác, an toàn sẽ giúp phần
đảm bảo quyền lợi của học sinh, bảo đảm cơng bằng trong học tập.việc tin
học hố cơng tác quản lý điểm góp phần đáng kể thực hiện mục tiêu đó.
Qua q trình học tập, với mong muốn được áp dụng kiến thức học được
trong trường để giảm được phần nào trong công việc của hệ thống quản lý
điểm của các trường đại học cao đẳng hiện nay. Em đã chọn đề tài “ Quản lý
điểm ” của trường đại học Mở để làm báo cáo môn học.

Trang

3


Trong báo cáo mơn học này em xin trình bày về hệ thống thông tin của ứng
dụng quản lý điểm. Dự án này dựng trên mơ hình quản lý điểm tại trường đại
học Mở Hà Nội. Nó có nghĩa thực tế rất lớn đáp ứng yêu cầu cấp thiết của
việc cập nhật, lưu trữ và tổng kết điểm của giáo vụ nhà trường mà từ trước tới
nay phải thực hiện thủ công bằng tay tốn rất nhiều thời gian, công sức và
không đáp ứng kịp thời yêu cầu nghiệp vụ. Báo cáo này có nhiệm vụ tạo ra
một phần ứng dụng trong công tác quản lý điểm sẽ được tiến hành theo qui

mơ nhanh chóng đảm bảo chính xác.
Do điều kiện và thời gian có hạn và khả năng cịn hạn chế nên bài viết của
em sẽ không tránh khỏi những thiếu sót. Em rất mong nhận được sự giúp đỡ
của quý thầy cô và các bạn cho em những lời khuyên và kinh nghiệm quý báu
để em phần nào có được vốn kiến thức nâng cao trình độ cho công việc sau
này khi đi làm thực tế.
Em xin chân thành cám ơn!

Trang

4


MỤC LỤC
DANH SÁCH HÌNH VẼ.........................................................................................6
DANH SÁCH BẢNG BIỂU...................................................................................8
CHƯƠNG 1: GIỚI THIỆU CÁC THÀNH PHẦN CHÍNH CỦA CHƯƠNG
TRÌNH.....................................................................................................................9
1.1Cấu trúc đối tượng quản lý.............................................................................9
1.1.1 Mơ hình 3 lớp.......................................................................................9
1.1.2 Ngơn Ngữ C#........................................................................................12
1.1.3 Đặc chưng C#........................................................................................12
1.1.4 Hệ quản trị cơ sở dữ liệu Sql Sever.......................................................13
1.2Các thuật toán...............................................................................................14
CHƯƠNG 2: GIỚI THIỆU CÁC CHỨC NĂNG TRONG CHƯƠNG TRÌNH
...............................................................................................................................18
2.1 Mơ tả các Use case.......................................................................................18
2.1.1 Xác định các tác nhân của hệ thống......................................................18
2.1.2 Xác đinh Use case của hệ thống............................................................18
2.1.3 Chi tiết của từng Use case.....................................................................19

2.2 Thiết kế cơ sở dữ liệu...................................................................................39
CHƯƠNG 3: KẾT QUẢ CHẠY CHƯƠNG TRÌNH............................................40
3.1 Form đăng nhập...........................................................................................40
3.2 From thông tin điểm học sinh......................................................................40
3.3 From Quản lý giáo viên...............................................................................41
3.4 From quản lý học sinh.................................................................................41
3.5 From quản lý khối........................................................................................42
3.6 From danh sách môn học.............................................................................42
3.7 From :quản lý lớp.........................................................................................43
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN......................................44
4.1 Kết luận........................................................................................................44
4.2 Hướng phát triển..........................................................................................44
TÀI LIỆU THAM KHẢO.....................................................................................45

Trang

5


DANH SÁCH HÌNH VẼ

Hình 2. 1 Biểu đồ tham gia ca sử dụng xem điểm..........................................20
Hình 2. 2 Biểu đồ trình tự ca sử dụng xem điểm............................................20
Hình 2. 3 Biểu đồ tham gia ca sử dụng đăng nhập..........................................21
Hình 2. 4 Biểu đồ tuần tự ca sử dụng xem điểm.............................................21
Hình 2. 5 Biểu đồ tham gia ca sử dụng kiểm tra tài khoản.............................22
Hình 2. 6 Biểu đồ trình tự ca sử dụng kiểm tra tài khoản...............................23
Hình 2. 7 Biểu đồ tham gia ca sử dụng quản lý học sinh................................24
Hình 2. 8 Biểu đồ trình tự ca sử dụng quản lý học sinh..................................26
Hình 2. 9 Biểu đồ tham gia ca sử dụng quản lý mơn học...............................28

Hình 2. 10 Biểu đồ trình tự ca sử dụng quản lý mơn học...............................28
Hình 2. 11 Biểu đồ tham gia ca sử dụng quản lý điểm...................................29
Hình 2. 12 Biểu đồ trình tự ca sử dụng quản lý điểm.....................................30
Hình 2. 13 Biểu đồ tham gia ca sử dụng thống kê..........................................31
Hình 2. 14 Biểu đồ trình tự ca sử dụng thống kê............................................32
Hình 2. 15 Biểu đồ tham gia ca sử dụng quản lý khố học.............................33
Hình 2. 16 Biểu đồ trình tự ca sử dụng quản lý khố học...............................34
Hình 2. 17 Biểu đồ tham gia ca sử dụng quản lý người dùng.........................35
Hình 2. 18 Biểu đồ trình tự ca sử dụng quản lý người dùng...........................36
Hình 2. 19 Biểu đồ tham gia ca sử dụng quản lý lớp học...............................37
Hình 2. 20 Biểu đồ trình tự ca sử dụng quản lý lớp học.................................38
Trang

6


Hình 2. 21 Biểu đồ quan hệ cơ sở dữ liệu

3

Hình 3. 1 Giao diện form đăng nhập...............................................................49
Hình 3. 2 Giao diện form tìm kiếm.................................................................50
Hình 3. 3 Giao diện form quản lý giáo viên....................................................50
Hình 3. 4 Giao diện form quản lý học sinh.....................................................51
Hình 3. 5 Giao diện form quản lý khối...........................................................52
Hình 3. 6 Giao diện form quản lý mơn học.....................................................53
Hình 3. 7 Giao diện form quản lý lớp.............................................................53

Trang


7


DANH SÁCH BẢNG BIỂU
Bảng 2. 1 Đặc tả ca sử dụng xem điểm...........................................................19
Bảng 2. 2 Đặc tả ca sử dụng đăng nhập..........................................................21
Bảng 2. 3 Đặc tả ca sử dụng kiểm tra tài khoản..............................................22
Bảng 2. 4 Đặc tả ca sử dụng quản lý học sinh.................................................24
Bảng 2. 5 Đặc tả ca sử dụng quản lý môn học................................................26
Bảng 2. 6 Đặc tả ca sử dụng quản lý điểm......................................................29
Bảng 2. 7 Đặc tả ca sử dụng thống kê.............................................................31
Bảng 2. 8 Đặc tả ca sử dụng quản lý khoá học...............................................33
Bảng 2. 9 Đặc tả ca sử dụng quản lý người dùng............................................35
Bảng 2. 10 Đặc tả ca sử dụng quản lý lớp học................................................37

Trang

8


CHƯƠNG 1: GIỚI THIỆU CÁC THÀNH PHẦN CHÍNH CỦA
CHƯƠNG TRÌNH
1.1 Cấu trúc đối tượng quản lý
1.1.1 Mơ hình 3 lớp
Mơ hình 3 lớp hay cịn được gọi là mơ hình Three Layer (3-Layer), mơ hình
này ra đời nhằm phân chia các thành phần trong hệ thống, các thành phần
cùng chức năng sẽ được nhóm lại với nhau và phân chia cơng việc cho từng
nhóm để dữ liệu khơng bị chồng chéo và chạy lộn xộn.
Mơ hình này phát huy hiệu quả nhất khi bạn xây dựng một dự án(project) lớn,
việc quản lý code và xử lý dữ liệu lỗi dễ dàng hơn.

Ưu điểm:


Phân loại rõ ràng các lớp có các nhiệm vụ khác nhau. Từ đó ta có thể




quản lý và duy trì project tốt hơn.
Dễ dàng phân loại các hành động tại Business.
Dễ dàng phân loại các hàm truy xuất tại Database, phân loại hàm theo



table,…
Ứng dụng được cho các project lớn ở bên ngoài.

Một số lưu ý khi xây dựng mơ hình 3 lớp:







Cần một solution riêng cho project
Cần 3 project khác nhau để làm nên 3 lớp, tên project đặt như sau:
Lớp GUI: (VD: QuanLy_GUI)
Lớp Business: (VD: QuanLy_BUS)
Lớp Data Access: (VD: QuanLy_DAL)

Lớp DTO: (VD: QuanLy_DTO)

Mơ hình 3-layer gồm có 3 phần chính:
Presentation Layer (GUI)

Trang

9




Lớp này có nhiệm vụ chính là giao tiếp với người dùng. Nó gồm các
thành phần giao diện ( winform, webform, …) và thực hiện các công
việc như nhập liệu, hiển thị dữ liệu, kiểm tra tính đúng đắn dữ liệu
trước khi gọi lớp Business Logic Layer (BLL).

Business Logic Layer (BLL): Lớp này phân ra 2 thành nhiệm vụ:


Đây là nơi đáp ứng các yêu cầu thao tác dữ liệu của GUI layer, xử lý
chính nguồn dữ liệu từ Presentation Layer trước khi truyền xuống Data
Access Layer và lưu xuống hệ quản trị CSDL.



Đây còn là nơi kiểm tra các ràng buộc, tính tồn vẹn và hợp lệ dữ liệu,
thực hiện tính tốn và xử lý các u cầu nghiệp vụ, trước khi trả kết quả
về Presentation Layer.


Data Access Layer (DAL)


Lớp này có chức năng giao tiếp với hệ quản trị CSDL như thực hiện
các công việc liên quan đến lưu trữ và truy vấn dữ liệu ( tìm kiếm,
thêm, xóa, sửa,…).

Các thành phần của từng lớp
Presentation Layer (GUI)
Có hai thành phần chính sau đây với những tác vụ cụ thể :


UI Components : gồm các thành phần tạo nên giao diện của ứng dụng
(GUI). Chúng chịu trách nhiệm thu nhận và hiển thị dữ liệu cho người
dùng… Ví dụ : textbox, button, combobox, …



UI Process Components : là thành phần chịu trách nhiệm quản lý các
quá trình chuyển đổi giữa các UI.

Trang

10


Ví dụ : Sắp xếp q trình kiểm tra thơng tin khách hàng:
1. Hiển thị màn hình tra cứu ID.
2. Hiển thị màn hình thơng tin chi tiết khách hàng tương ứng.
3. Hiển thị màn hình liên lạc với khách hàng.

Business Layer (BLL)
Lớp này gồm 4 thành phần:
 Service Interface : là thành phần giao diện lập trình mà lớp này cung
cấp cho lớp Presentation sử dụng.
 Business Workflows : chịu trách nhiệm xác định và điều phối các quy
trình nghiệp vụ gồm nhiều bước và kéo dài. Những quy trình này phải
được sắp xếp và thực hiện theo một thứ tự chính xác.
 Business Components : chịu trách nhiệm kiểm tra các quy tắc nghiệp
vụ, ràng buộc logic và thực hiện các công việc . Các thành phần này
cũng thực hiện các dịch vụ mà Service Interface cung cấp và Business
Workflows sẽ sử dụng nó.
 Business Entities : thường được sử dụng như Data Transfer Objects
( DTO ) . Bạn có thể sử dụng để truyền dữ liệu giữa các lớp
(Presentation và Data Layer). Chúng thường là cấu trúc dữ liệu
( DataSets, XML,… ) hay các lớp đối tượng đã được tùy chỉnh.
Ví dụ : tạo 1 class Student lưu trữ các dữ liệu về tên, ngày sinh, ID,
lớp.
Data Layer (DAL)

Trang 11


Data Access Logic Components : chịu trách nhiệm chính lưu trữ và truy xuất dữ liệu từ các
nguồn dữ liệu (Data Sources) như XML, file system,… Hơn nữa còn tạo thuận lợi cho việc
dễ cấu hình và bảo trì.


Service Agents : giúp bạn gọi và tương tác với các dịch vụ từ bên ngoài
một cách dễ dàng và đơn giản.


1.1.2 Ngôn Ngữ C#
C# (hay C sharp) là một ngôn ngữ lập trình đơn giản, được phát triển bởi
đội ngũ kỹ sư của Microsoft vào năm 2000, trong đó người dẫn đầu là Anders
Hejlsberg và Scott Wiltamuth.
C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và nó được xây dựng trên
nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java.
C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm
Executable Code và Runtime Environment, cho phép chúng ta sử dụng các
ngôn ngữ high-level đa dạng trên các nền tảng và cấu trúc máy tính khác
nhau.
C# với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho việc tạo một ứng
dụng Windows Forms hay WPF (Windows Presentation Foundation), . . . trở
nên rất dễ dàng.
1.1.3 Đặc chưng C#
Các đặc điểm để làm cho C# là ngôn ngữ lập trình chun nghiệp được sử
dụng rộng rãi:
C# là ngơn ngữ đơn giản
Như ta đã biết thì ngơn ngữ C# dựng trên nền tảng C++ và Java nên ngôn ngữ
C# khá đơn giản. Nếu chúng ta thân thiện với C và C++ hoậc thậm chí là
Java, chúng ta sẽ thấy C# khá giống về diện mạo, cú pháp, biểu thức, toán tử
và những chức năng khác được lấy trực tiếp từ ngơn ngữ C và C++, nhưng nó
Trang

12


đã được cải tiến để làm cho ngôn ngữ đơn giản hơn. Một vài trong các sự cải
tiến là loại bỏ các dư thừa, hay là thêm vào những cú pháp thay đổi.
C# là ngôn ngữ hiện đại
Một vài khái niệm khá mới mẻ khá mơ hồ với các bạn vừa mới học lập trình,

như xử lý ngoại lệ, những kiểu dữ liệu mở rộng, bảo mật mã nguồn..v..v...
Đây là những đặc tính được cho là của một ngơn ngữ hiện đại cần có. Và C#
chứa tất cả các đặt tính ta vừa nêu trên. Các bạn sẽ dần tìm hiểu được các đặt
tính trên qua các bài học trong series này.
C# là một ngơn ngữ lập trình thuần hướng đối tượng
Lập trình hướng đối tượng(tiếng Anh: Object-oriented programming, viết tắt:
OOP) là một phương pháp lập trình có 4 tính chất. Đó là tính trừu tượng
(abstraction), tính đóng gói (encapsulation), tính đa hình (polymorphism) và
tính kế thừa (inheritance). C# hỗ trợ cho chúng ta tất cả những đặc tính trên.
Và để hiểu rõ hơn thì chúng ta sẽ có một chương trình bày về phần này.
1.1.4 Hệ quản trị cơ sở dữ liệu Sql Sever
SQL Server chính là một hệ quản trị dữ liệu quan hệ sử dụng câu lệnh SQL để
trao đổi dữ liệu giữa máy cài SQL Server và máy Client. Một Relational
Database Management System – RDBMS gồm có: databases, datase engine
và các chương trình ứng dụng dùng để quản lý các bộ phận trong RDBMS và
những dữ liệu khác.
Các thành cơ bản trong SQL Server gồm có: Reporting Services, Database
Engine, Integration Services, Notification Services, Full Text Search Service,
… Tất cả kết hợp với nhau tạo thành một giải pháp hồn chỉnh giúp cho việc
phân tích và lưu trữ dữ liệu trở nên dễ dàng hơn.
+ Database Engine: Đây là một engine có khả năng chứa dữ liệu ở các
quy mơ dưới dạng support và table. Ngồi ra, nó cịn có khả năng tự điều

Trang

13


chỉnh ví dụ: trả lại tài nguyên cho ệ điều hành khi một user log off và sử dụng
thêm các tài nguyên của máy khi cần.

+ Integration Services: là tập hợp các đối tượng lập trình và các
cơng cụ đồ họa cho việc sao chép, di chuyển và chuyển đổi dữ liệu. Khi bạn
làm việc trong một công ty lớn thì dữ liệu được lưu trữ ở nhiều nơi khác nhau
như được chứa trong: Oracle, SQL Server, DB2, Microsoft Access,… và bạn
chắc chắn sẽ có nhu cầu di chuyển dữ liệu giữa các server này. Ngồi ra, bạn
cịn muốn định dạng dữ liệu trước khi lưu vào database. Chắc chắn
Integration Services sẽ giúp bạn giải quyết được công việc này dễ dàng.
+ Analysis Services: Đây là một dịch vụ phân tích dữ liệu rất hay của
Microsoft. Dữ liệu khi được lưu trữ vào trong database mà bạn không thể lấy
được những thơng tin bổ ích thì coi như khơng có ý nghĩa gì. Chính vì thế,
cơng cụ này ra đời giúp bạn trong việc phân tích dữ liệu một cách hiệu quả và
dễ dàng bằng cách dùng kỹ thuật khai thác dữ liệu – datamining và khái niệm
hình khối nhiều chiều – multi dimendion cubes.
+ Notification Services: Dịch vụ thông báo này là nền tảng cho sự
phát triển và triển khai các ứng dụng soạn và gửi thơng báo. Ngồi ra, dịch vụ
này cịn có chức năng gửi thơng báo theo dịch thời đến hàng ngàn người dăng
ký sử dụng trên nhiều loại thiết bị khác nhau.
+ Reporting Services: là một công cụ tạo, quản lý và triển khai báo
cáo bao gồm: server và client. Ngồi ra, nó cịn 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: là một thành phần đặc biệt trong việc
truy vấn và đánh chỉ mục dữ liệu văn bản không cấu trúc được lưu trữ trong
các cơ sở dữ liệu SQL Server.
+ Service Broker: là một mơi trường lập trình cho việc tạo ra các ứng
dụng trong việc nhảy qua các Instance.
Trang

14



1.2 Các thuật toán
 Sắp xếp chọn
Sắp xếp chọn là thuật toán sắp xếp đơn giản nhất. Nếu bạn chưa học bài bản
về cấu trúc dữ liệu và thuật toán, khi được yêu cầu sắp xếp mảng, tôi tin rằng
hầu hết các bạn sẽ tự xây dựng ra được một thuật toán rất gần với sắp xếp
chọn.
Giả sử chúng ta cần sắp xếp một mảng (một chiều) theo thứ tự tăng dần.
Thuật toán sắp xếp chọn hoạt động trên các mảng một chiều. Nó phân chia
mảng thành hai phần: (1) phần đã sắp xếp, và (2) phần chưa sắp xếp. Ở giai
đoạn khởi đầu, phần đã sắp xếp khơng có phần tử nào. Phần chưa sắp xếp
chứa toàn bộ các phần tử.
Trong mỗi lượt hoạt động, thuật tốn này tìm phần tử nhỏ nhất trong phần
chưa sắp xếp và đổi chỗ nó với phần tử đầu tiên của phần chưa sắp xếp.
Trong lượt đầu tiên, thuật toán dĩ nhiên sẽ tìm ra phần tử nhỏ nhất mảng và
đổi chỗ nó với phần tử đầu tiên của mảng (cũng là của phần chưa sắp xếp).
Do đó, phần tử đầu tiên của mảng sau lượt 1 sẽ là phần tử nhỏ nhất.
Cũng để ý rằng, với logic hoạt động như trên, phần tử nhỏ nhất của phần chưa
sắp xếp sẽ luôn luôn lớn hơn phần tử lớn nhất của phần đã sắp xếp. Khi này,
ta có thể đưa phần tử này vào phần đã sắp xếp. Hiểu theo cách khác, là ta đã
mở rộng phần đã sắp xếp đến phần tử đầu tiên của phần chưa sắp xếp (tức là
mở thêm một ô về phía chưa sắp xếp). Qua mỗi lượt, phần đã sắp xếp sẽ mở
rộng dần, phần chưa sắp xếp sẽ thu hẹp dần.
Quá trình sẽ tiếp diễn như vậy cho đến khi phần đã sắp xếp mở rộng ra chiếm
hết số phần tử của mảng.

Trang

15



 Sắp xếp chèn
Tương tự như sắp xếp chọn, sắp xếp chèn cũng hoạt động trên mảng một
chiều và là một thuật toán khá đơn giản. Thuật toán này cũng chia mảng
thành hai phần: (1) phần đã sắp xếp, (2) phần chưa sắp xếp. Sự khác biệt với
thuật toán sắp xếp chọn ở chỗ, phần đã sắp xếp ngay từ đầu đã chứa một
phần tử (là phần tử chỉ số 0 của mảng gốc).
Trong mỗi lượt, thuật toán này sẽ mở rộng phần sắp xếp ra phần tử đầu tiên
của phần chưa sắp xếp và tìm cách chèn phần tử mới này vào đúng thứ tự
nó cần có trong phần đã sắp xếp. Khi được chèn vào đúng thứ tự về giá trị,
vùng đã sắp xếp ln duy trì được đúng trật tự của các phần tử.
Việc chèn phần tử mới vào đúng thứ tự được thực hiện bằng cách lần lượt so
sánh nó với các phần tử của vùng đã sắp xếp. Nếu phần tử mới nhỏ hơn thì sẽ
đổi vị trí với phần tử đang so sánh.
Q trình tiếp diễn cho đến khi vùng đã sắp xếp mở rộng ra chiếm hết vùng
chưa sắp xếp.


Sắp xếp nổi bọt

Sắp xếp nổi bọt (Bubble sort) cũng là một thuật toán sắp xếp rất đơn giản. Ý
tưởng của thuật toán này là duyệt qua tất cả các cặp phần tử liền kề. Nếu phát
hiện cặp phần tử nào sắp xếp sai trật tự thì sẽ đổi chỗ chúng. Với cách thức
đó, qua mỗi lượt, phần tử có giá trị lớn nhất trong mảng sẽ được đẩy vào đúng
vị trí chúng cần có. Qua đó có thể tưởng tượng là các phần tử, theo giá trị, sẽ
lần lượt được đẩy dần lên đầu mảng vào đúng vị trí nó cần có.
Tìm kiếm tuần tự

Trang

16



Tìm kiếm tuần tự (Sequential Search) là thuật tốn tìm kiếm “tự nhiên” và
đơn giản nhất mà ai cũng nghĩ ra ngay và dễ dàng cài đặt bằng code.
Trong tìm kiếm tuần tự bạn xuất phát từ đầu hoặc cuối của mảng dữ liệu và
lần lượt duyệt qua từng phần tử. Trong quá trình duyệt, bạn so sánh giá trị cần
tìm với giá trị của phần tử. Nếu tìm thấy phần tử có giá trị mình cần thì dừng
q trình tìm kiếm. Quá trình tìm cũng dừng lại nếu đã duyệt hết danh sách.
Khi này giá trị cần tìm khơng có trong mảng dữ liệu.
Chúng ta cũng thường gặp hai loại kết quả tìm kiếm. Loại thứ nhất chỉ trả lời
câu hỏi “có giá trị này trong mảng hay khơng”. Loại thứ hai trả lời thêm cho
câu hỏi “phần tử đó nằm ở vị trí nào”.
 Tìm giá trị lớn nhất / nhỏ nhất
Một bài tốn khác của tìm kiếm tuần tự là xác định giá trị nhỏ nhất/lớn nhất
trong một danh sách (khơng sắp xếp).
Thuật tốn tìm giá trị lớn nhất kiểu tuần tự rất đơn giản:
1. Chọn phần tử ở đầu (hoặc cuối) danh sách và tạm coi giá trị của nó
là lớn nhất. Gán giá trị này cho một biến tạm max.
2. Lần lượt duyệt qua các phần tử cịn lại. Nếu gặp phần tử nào có giá
trị lớn hơn max thì cho max nhận ln giá trị đó.
3. Khi kết thúc duyệt mảng, giá trị lưu trong biến tạm max chính là giá
trị lớn nhất của danh sách.
 Tìm kiếm nhị phân
 Tìm kiếm nhị phân (binary search) là một thuật tốn tìm kiếm rất nhanh
nếu so với tìm kiếm tuần tự, đặc biệt trên danh sách lớn.
Trang

17



CHƯƠNG 2: GIỚI THIỆU CÁC CHỨC NĂNG TRONG
CHƯƠNG TRÌNH
2.1 Mơ tả các Use case
2.1.1 Xác định các tác nhân của hệ thống
- Học sinh: là những học sinh trong nhà trường có nhu cầu xem kết quả học
tập của mình được lưu trên hệ thống. Có thể gọi chung là khách.
- Giáo viên (quản lý): là nhưng giáo viên phụ trách mơn học, có quyền đăng
nhập vào hệ thống để thực hiện các chức năng như quản lý môn học, quản lý
điểm của học sinh (nhập điểm, chỉnh sửa…), thống kê, báo cáo.
- Quản trị viên: là nhân viên quản trị hệ thống, được quyền đăng nhập vào hệ
thống để thực hiện các chức năng như quản lý khóa học, lớp học, quản lý
người dùng. Ngoài ra quản trị viên còn sử dụng được các chức năng của giáo
viên.
2.1.2 Xác đinh Use case của hệ thống
- Xem điểm: Hệ thống cho học sinh xem bảng điểm của mình khi nhập đúng
mã học sinh và mật khẩu để đăng nhập vào hệ thống.
- Đăng nhập: Người dùng cần nhập đúng tài khoản và mật khẩu của mình để
có thể thực hiện các thao tác cập nhật thông tin cho hệ thống.
- Kiểm tra tài khoản: Hệ thống kiểm tra tài khoản và mật khẩu vừa nhập có
chính xác với tài khoản, mật khẩu từ cơ sở dữ liệu hay không.
- Quản lý học sinh: Chức năng được người dùng sử dụng để cập nhật thông
tin cá nhân của học sinh mới hay xóa những thơng tin của học sinh hay sửa
thơng tin cá nhân.
- Quản lý môn học: Chức năng này được người dùng sử dụng để cập nhật
thông tin của môn học như thêm thông tin môn học mới hay xóa mơn học hay
sửa thơng tin mơn học hay chọn môn học cho lớp.
- Quản lý điểm: Chức năng này được người dùng sử dụng để cập nhật kết quả
học tập cho học sinh như thêm mới điểm hay sửa điểm.
Trang


18


- Thống kê: Chức năng này được người dùng sử dụng để thống danh sách học
sinh bao gồm cả thông tin học sinh và bảng điểm của học sinh.
- Quản lý khóa học: Chức năng này được người dùng sử dụng để cập nhật
thơng tin của khóa học như thêm thơng tin khóa học mới hay xóa khóa học hay
sửa thơng tin khóa học.
- Quản lý lớp học: Chức năng này được người dùng sử dụng để cập nhật thông
tin của lớp học như thêm thông tin lớp học mới hay xóa lớp học hay sửa thơng
tin lớp học.
- Quản lý người dùng: Chức năng này được người dùng sử dụng để cập nhật
thông tin cho người dùng như thêm người dùng mới, xóa hay sửa thơng tin
người dùng.
2.1.3 Chi tiết của từng Use case
* Ca sử dụng Xem điểm
- Đặc tả ca sử dụng
Tên
usercase
Tác nhân
Mục đích

Xem điểm
Người dùng( học sinh, giáo viên, quản trị viên).
Học sinh nhập đúng mã học sinh mà mật khẩu để tra cứu điểm
tổng kết của học sinh muốn tra cứu.
Khi muốn tra cứu điểm của học sinh người dùng cần nhập
đúng mã học sinh và mật khẩu.
Sau khi nhận được yêu cầu, hệ thống sẽ tự động kiểm tả xem


Mơ tả

mã học sinh có chính xác và mật khẩu có chính xác, phù hợp
với , mã học sinh hay không. Neus chưa đúng sẽ yêu cầu xác
minh và nhập lại và ngược lại đúng hệ thống sẽ hiển thị điểm
tổng kết của học sinh ứng với mã vừa nhập.
Bảng 2. 1 Đặc tả ca sử dụng xem điểm

- Biểu đồ tham gia

Trang

19


Hình 2. 1 Biểu đồ tham gia ca sử dụng xem điểm
- Biểu đồ trình tự

Hình 2. 2 Biểu đồ trình tự ca sử dụng xem điểm
* Ca sử dụng Đăng nhập
- Đặc tả ca sử dụng
Tên usercase
Tác nhân

Đăng nhập
Người dùng(quản trị viên, giáo viên và học sinh)
Người dùng đăng nhập vào hệ thống bằng tài khoản riêng

Mục đích
Mơ tả


của mình để thực hiện các cơng cụ, chức năng của hệ
thống.
Khi người dùng muốn sử dụng hệ thống để thực hiện các
cơng việc của mình, phải cần đăng nhập vào hệ thống. Màn
hình đăng nhập sẽ cho phép người dùng nhập tài khoản của
Trang

20


mình gồm tên đăng kí và mật khẩu.
Hệ thống tiến hành kiểm tra tài khỏa người dùng nhập
đúng hay chưa. Nếu đúng, hệ thống kiểm tra quyền truy
cập, trong trường hợp người dùng có quyền, hệ thống sẽ
thiết lập trạng thái người dùng. Ngược lại trong trường hợp
nhập sai tài khooản hoặc mật khẩu, hệ thống sẽ thông báo
lại cho người dùng.
Bảng 2. 2 Đặc tả ca sử dụng đăng nhập
- Biểu đồ tham gia

Hình 2. 3 Biểu đồ tham gia ca sử dụng đăng nhập
- Biểu đồ trình tự

Hình 2. 4 Biểu đồ tuần tự ca sử dụng xem điểm
* Ca sử dụng Kiểm tra tài khoản
- Đặc tả ca sử dụng

Trang


21


Tên usercase
Tác nhân
Mục đích

Kiểm tra tài khoản
Quản trị viên, giáo viên
Kiểm tra thơng tin tài khoản có chính xác hay không để
xét duyệt việc đăng nhập
Mỗi học sinh, giáo viên được cung cấp một tài khoản
riêng để đăng nhập và sử dụng các chức năng riêng biệt

Mô tả

của hệ thống tương ứng với quyền hạn của tài khoản.
Quản trị viên sẽ dựa vào thông tin tài khoản để cấp quyền
đăng nhập cũng như sử dụng các chức năng trong hệ
thống đối với mỗi loại tài khoản.
Bảng 2. 3 Đặc tả ca sử dụng kiểm tra tài khoản

- Biểu đồ tham gia

Hình 2. 5 Biểu đồ tham gia ca sử dụng kiểm tra tài khoản
- Biểu đồ trình tự

Trang

22



Hình 2. 6 Biểu đồ trình tự ca sử dụng kiểm tra tài khoản
* Ca sử dụng quản lý học sinh
- Đặc tả ca sử dụng
Tên usercase
Tác nhân
Mục đích
Mơ tả

Quản lý học sinh
Quản trị viên, giáo viên
Cập nhật, sửa thông tin về học sinh, thêm học sinh, xóa học
sinh.
Kiểm tra học sinh thuộc trường nào, thuộc khối nào để quản
lý , phải có trong danh sách của hệ của nhà trường. Thông

Trang

23


×