Tải bản đầy đủ (.doc) (39 trang)

Bài toán quản lý học sinh cấp 3

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 (648.41 KB, 39 trang )

BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
TỔNG QUAN VỀ ĐỀ TÀI
1. Bối cảnh và lý do thực hiện đề tài
Cùng với sự phát triển nhanh chóng về phần cứng máy tính, các phần mềm
ngày càng trở nên đa dạng, phong phú, hoàn thiện hơn và hỗ trợ hiệu quả cho con
người. Các phần mềm hiện nay ngày càng mô phỏng được rất nhiều nghiệp vụ khó
khăn, hỗ trợ cho người dùng thuận tiện sử dụng, thời gian xử lý nhanh chóng, và
một số nghiệp vụ được tự động hoá cao.
Do vậy mà trong việc phát triển phần mềm, sự đòi hỏi không chỉ là sự chính
xác, xử lý được nhiều nghiệp vụ thực tế mà còn phải đáp ứng các yêu cầu khác như
về tốc độ, giao diện thân thiện, mô hình hoá được thực tế vào máy tính để người sử
dụng tiện lợi, quen thuộc, tính tương thích cao, bảo mật cao (đối với các dữ liệu
nhạy cảm), Các phần mềm giúp tiết kiệm một lượng lớn thời gian, công sức của con
người, và tăng độ chính xác và hiệu quả trong công việc (nhất là việc sửa lỗi và tự
động đồng bộ hoá).
Nhằm mục đích tổng hợp các kiến thức đã học, môn học thực tập công nhân
tạo điều kiện cho sinh viên có cơ hội phát huy khả năng lập trình., khả năng phát
triển các ứng dụng phần mềm vào thực tế. Trong môn học này, nhóm đã chọn đề tài
quản lý học sinh cấp 3.
Thực tế, việc quản lý học vụ trong trường trung học phổ thông. Nếu không
có sự hỗ trợ của tin học, việc quản lý này phải cần khá nhiều người, chia thành
nhiều khâu, mới có thể quản lý được toàn bộ hồ sơ, học sinh (thông tin, điểm số, kỷ
luật, học bạ, ), lớp học (sỉ số, GVCN, thời khoá biểu, ), giáo viên (thông tin, lịch
dạy, ) cũng như các nghiệp vụ sắp thời khoá biểu, tính điểm trung bình, xếp loại học
lực cho học sinh toàn trường (số lượng học sinh có thể lên đến hai ba ngàn học
sinh). Các công việc này đòi hỏi nhiều thời gian và công sức, mà sự chính xác và
hiệu quả không cao, vì đa số đều làm bằng thủ công rất ít tự động. Một số nghiệp vụ
như tra cứu, thống kê, và hiệu chỉnh thông tin khá vất vả. Ngoài ra còn có một số
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG -1-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM


THPT
khó khăn về vấn đề lưu trữ khá đồ sộ, dễ bị thất lạc, tốn kém, Trong khi đó, các
nghiệp vụ này hoàn toàn có thể tin học hoá một cách dễ dàng. Với sự giúp đỡ của
tin học, việc quản lý học vụ sẽ trở nên đơn giản, thuận tiện, nhanh chóng và hiệu
quả hơn rất nhiều.
Cuối cùng, chúng em xin chân thành cảm ơn thầy đã nhiệt tình hướng dẫn
nhóm thực hiện đề tài này.
2. Phương pháp triển khai đề tài
Từ những yêu cầu, đề cương chi tiết đối với đề tài của giáo viên hướng dẫn,
nhóm đề ra các công việc cụ thể :
- Giai đoạn 1: Thu thập yêu cầu, xác định các chức năng của hệ thống.
- Giai đoạn 2: Thiết kế cơ sỡ dữ liệu.
- Giai đoạn 3: Mã hóa.
- Giai đoạn 4: Kiểm thử.
- Giai đoạn 5: Cài đặt .
3. Môi trường phát triển và triễn khai
 Yêu cầu môi trường phát triển
- Hệ điều hành windows XP trở lên
- .net framework 2.0 +
- Hệ quản trị cơ sơ dữ liệu cơ sở dữ liệu SQL Server 2005
- Ngôn ngữ lập trình: C#
- IDE hổ trợ: Visual studio 2005
 Môi trường triển khai
- Hệ thống mạng LAN
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG -2-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
Chương 1. PHÂN TÍCH YÊU CẦU NGHIỆP VỤ
BÀI TOÁN
1.1 Giới thiệu

Để phù hợp với thực tế, phần mềm tạo ra phải than thiện, dễ sử dụng đối với
người dùng, bước khảo sát hiện trạng, tìm hiểu và phân tích các yêu cầu về mặt
nghiệp vụ là rất cần thiết đối với một phần mềm.
Bài toán quản lý học sinh cấp 3 được thiết kế nhằm ứng dụng cho việc quản
lý hệ thống một trường trung học phổ thông. Bài toán được cài đặt trên hệ thống
mạng Lan. Mỗi người dùng khi sử dụng hệ thống cần phải thiết lập cấu hình kết nối
đến máy chủ của trường. Sau đó, đăng nhập vào hệ thống với username và
password của mình. Tại mỗi vai trò của người dùng, hệ thống sẽ tự động giới hạn
các chức năng tương ứng với vai trò đó.
1.2. Các yêu cầu nghiệp vụ
Bài toán quản lý học sinh cấp 3 gồm các yêu cầu sau:
- Chức năng cấu hình hệ thống: trước khi đăng nhập vào hệ thống, người
dùng cần phải cấu hinh tên máy chủ, mật khẩu và tài khoản máy chủ, chọn cơ sở dữ
liệu cần thao tác.
- Quản lý học sinh: Việc quản lý học sinh bao gồm các thao tác như thêm
học sinh mới, sửa đổi thông tin học sinh, xếp lớp…
- Quản lý cán bộ giáo viên trong trường: Việc quản lý này cũng bao gồm:
Thêm mới giáo viên, sửa đổi thông tin, phân công nhiệm vụ giảng dạy, nhiệm vụ
chủ nhiệm lớp…
- Quản lý điểm học sinh: nhập điểm, thống kê kết quả học tập của từng học
sinh, từng lớp học.
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG -3-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
- Ngoài ra đối với vai trò admin, người dùng còn có các tác vụ như thay đổi
mật khẩu, thiết lập lại mật khẩu, thiết lập quyền cho người dùng…. Đối với vai trò
người dùng User còn có các chức năng : thay đổi mật khẩu của chính người dùng
hiện tại.
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG -4-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM

THPT
Chương 2. THIẾT KẾ CƠ SỞ DỮ LIỆU
2.1. Sơ đồ ERD
2.2. Danh sách các bảng
STT Tên Ý nghĩa
1. HocSinh Lưu trữ thông tin học sinh
2. GiaoVien Lưu trữ thông tin giáo viên
3. HocKy Lưu trữ thông tin về các học kỳ trong một năm học
4. NamHoc Lưu trữ thông tin về các năm học
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG -5-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
5. LopHoc Lưu trữ thông tin về tất cả lớp học
6. KhoiHoc Lưu trữ thông tin về các khối học, vd: 10,11,12
7. BanHoc Lưu trữ thông tin về các ban học, vd: ban A, B, cơ sở
8. MonHoc Lưu trữ thông tin phân các môn học
9. XepLop Lưu trữ thông tin phân công học sinh vào một lớp cụ thể
10. PhanCong Lưu trữ thông tin về phân công dạy học cho giáo viên
11. Diem Lưu trữ điểm số của học sinh
2.3. Miêu tả chi tiết các bảng
2.3.1. Bảng học sinh
HocSinh
Tên trường Kiểu dữ liệu Miêu tả
Ghi chú
Mahs int Mã học sinh
Khóa chính
Ho nvarchar Họ và tên đệm
Ten nvarchar Tên học sinh
GioiTinh nvarchar Giới tính học sinh
NgaySinh datetime Ngày sinh học sinh

DiaChi nvarchar Địa chỉ học sinh
DienThoai Varchar Điện thoại liên hệ
CMDN Varchar Số CMND
2.3.2. Bảng giáo viên
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG -6-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
GiaoVien
Tên trường Kiểu dữ liệu Miêu tả Ghi chú
MaGV int Mã giáo viên Khóa chính
Ho nvarchar Họ và tên đệm
Ten nvarchar Tên giáo viên
GioiTinh nvarchar Giới tính giáo viên
NgaySinh datetime Ngày sinh giáo viên
DiaChi nvarchar Địa chỉ giáo viên
DienThoai Varchar Điện thoại liên hệ
CMDN Varchar Số CMND
MatKhau Varchar Mật khẩu đăng nhập hệ thống
Role Varchar Vai trò đăng nhập User, admin
2.3.3. Bảng năm học
Namhoc
Tên trường Kiểu dữ liệu Miêu tả Ghi chú
MaNH int Mã năm học Khóa chính, tăng tự động
TenNH Nvarchar Tên năm học
NamBatDau Int Năm bắt đầu
NamKetThuc Int Năm kết thúc
2.3.4. Bảng học kỳ
HocKy
Tên trường Kiểu dữ liệu Miêu tả Ghi chú
MaHK Int Mã học kỳ Khóa chính, tăng tự động

TenHK Nvarchar Tên học kỳ
ThangBatDau Int Tháng bắt đầu học
kỳ
NgayBatDau Int Ngày bắt đầu học kỳ
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG -7-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
ThangKetThuc Int Tháng kết thúc học
kỳ
NgayKetThuc Int Ngày kết thúc học
kỳ
2.3.5. Bảng lớp học
LopHoc
Tên trường Kiểu dữ liệu Miêu tả Ghi chú
MaLH Int Mã lớp học Khóa chính, tăng tự động
TenLH Nvarchar Tên lớp học
MaKH Int Mã khối học Khóa ngoại
MaBH Int Mã ban học Khóa ngoại
MaNH Int Mã năm học Khóa ngoại
MaGV Varchar Mã giáo viên chủ nhiệm Khóa ngoại
2.3.6. Bảng ban học
BanHoc
Tên
trường
Kiểu dữ liệu Miêu tả Ghi chú
MaBH Int Mã ban học Khóa chính, tăng tự
động
TenBH Nvarchar Tên ban học
2.3.7. Bảng môn học
MonHoc

Tên
trường
Kiểu dữ liệu Miêu tả Ghi chú
MaMH Int Mã môn học Khóa chính, tăng tự
động
TenMH Nvarchar Tên môn học
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG -8-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
2.3.8. Bảng khối học
KhoiHoc
Tên trường Kiểu dữ liệu Miêu tả Ghi chú
MaKH Int Mã khóa học Khóa chính
TenKH Nvarchar Tên khóa học Khóa chính
2.3.9. Bảng phân công
PhanCong
Tên trường Kiểu dữ liệu Miêu tả Ghi chú
MaPC int Mã phân công Khóa chính, tăng tự động
MaGV Int Mã giáo viên Khóa ngoại
MaLH Int Mã lớp học Khóa ngoại
MaHK Int Mã học kỳ Khóa ngoại
MaMH Int Mã môn học Khóa ngoại
2.3.10. Bảng xếp lớp
XepLop
Tên trường Kiểu dữ liệu Miêu tả Ghi chú
MaHS Varchar Mã học sinh Khóa chính, khóa ngoại
MaLH Int Mã lớp học Khóa chính, khóa ngoại
2.3.11. Bảng điểm
Diem
Tên trường Kiểu dữ liệu Miêu tả Ghi chú

MaHS Varchar Mã học sinh Khóa chính, khóa ngoại
MaPC int Mã phân công Khóa chính, khóa ngoại
DiemHS1 Varchar Điểm hệ số 1 Các điểm được ngăn cách
bởi dấu phẩy
DiemHS2 Varchar Điểm hệ số 2 Các điểm được ngăn cách
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG -9-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
bởi dấu phẩy
DiemThi Decimal(3,1) Điểm thi Số thập phân, 1 chữ số ở
phần thập phân
TBM Decimal(3,2) Điểm trung bình môn Số thập phân, 2 chữ số ở
phần thập phân
Chương 3. XÂY DỰNG CHỨC NĂNG CỦA
CHƯƠNG TRÌNH
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG
-10-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
3.1. Chức năng cấu hình máy chủ
Bài toán được cài đặt trong môi trường mạng LAN nên sẽ có một máy chủ
lưu trữ cơ sở dữ liệu. Mỗi máy khách khi đăng nhập vào hệ thống cần phải cấu hình
các thông số để đăng nhập vào.
Ở bài toán này, với chức năng cấu hình máy chủ, các thông số cần thiết phải
được cung cấp là tên máy chủ, tài khoản và mật khẩu đăng nhập vào hệ quản trị cơ
sở dữ liệu của máy chủ, tên cơ sở dữ liệu mà tại máy khách cần thao tác đến.
Để tạo kết nối đến máy chủ ta sử dụng đoạn mã:
SqlConnection cn = new SqlConnection("Data Source=" + Server
+ ";Initial Catalog=" + database +
";Integrated Security=True");

if (cn != null)
{
cn.Open();
}
Hoặc đoạn mã sau nếu đăng nhập với tài khoản và mật khẩu :
cn = new SqlConnection("Data Source=" + Server +
";database=" + database + ";uid="
+ user + ";pwd=" + pass);
if (cn != null)
{
cn.Open();

}
3.2. Chức năng đăng nhập
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG
-11-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
Nhằm đảm bảo tính bảo mật trong hệ thống, với mỗi người dùng được cấp môt
tài khoản cùng với quyền của mình. Khi vào hệ thống, người dùng cần phải thực hiện
tác vụ đăng nhập với username và password. Hệ thống sẽ đưa ra các chức năng tương
ứng với quyền của người đăng nhập.
Khi người dùng cung cấp user name và password, chương trình sẽ gửi chúng
đến hệ thống và kiểm tra xem tài khoản có hợp lệ hay không: việc kiểm tra này sẽ gọi
thủ tục hàm được cài đặt trong hệ thống:
create proc [dbo].[usp_checkLogin]
@user varchar(10),
@pass varchar(50),
@flag bit output,
@role varchar(10) output,

@name nvarchar(100)output
as
begin
select @role= [Role],@name = TenGV from giaovien where
[MaGV]=@user and MatKhau=@pass
if (count(@role)=1)
set @flag = 1
else set @flag = 0
end
3.3. Chức năng quản lý học sinh
 Thêm danh sách học sinh: chọn năm học, chọn học kỳ, chọn ban học và
lớp học, điền đầy đủ thông tin của học sinh và chọn nút thêm mới học sinh. Hoặc có
thể chọn từ file excel:
Thủ tục chèn dữ liệu vào bảng học sinh:
CREATE proc usp_InsertHS
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG
-12-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
@Ho [nvarchar](50),
@Ten [nvarchar](100) ,
@Gioitinh [nvarchar](10),
@Ngaysinh [datetime] ,
@Diachi [nvarchar](Max),
@Dienthoai [varchar](50) ,
@CMND [varchar](50),
@MaHS [varchar](50) output
as
begin
INSERT INTO HocSinh VALUES ('',@Ho,@Ten, @Gioitinh

,@Ngaysinh,@Diachi,@Dienthoai,@CMND)
select @MaHS=max([MaHS]) from HocSinh
end
Trong chương trình sẽ gọi thủ tục này và truyền vào các thông số
trên.
 Sửa đổi thông tin học sinh: chọn lớp học. dùng datagridview để load tất
cả các học sinh thuộc lớp đó. Để sửa đổi thông tin học sinh, cần chọn một hàng ,
các thông tin cụ thể sẽ được set lên các textbox nhằm cho chúng ta sửa đổi.
Thủ tục cập nhật lại dữ liệu của học sinh
create proc usp_UpdateHocSinh
@MaHS [varchar](50) ,
@Ho [nvarchar](50),
@Ten [nvarchar](100) ,
@Gioitinh [nvarchar](10),
@Ngaysinh [datetime] ,
@Diachi [nvarchar](Max),
@Dienthoai [varchar](50) ,
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG
-13-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
@CMND [varchar](50)

as
update HocSinh
set
Ho=@Ho,Ten=@Ten,Gioitinh=@Gioitinh,Ngaysinh=@Ngaysinh,Diachi=@Diachi,
Dienthoai=@Dienthoai,CMND=@CMND
where MaHS=@MaHS
 Tìm kiếm học sinh: Người dùng cần nhập vào mã học sinh. Thông tin

học sinh này sẽ được load về datagridview. Đối với học sinh vừa tìm được, chúng ta
có thể sửa đổi thông tin.
 Xếp lớp: chọn các học sinh cần xếp lớp mới, chọn lớp.
3.4. Chức năng quản lý điểm học sinh
 Đối tượng sử dụng:
Giáo viên bộ môn đã đăng nhập vào hệ thống. Giáo viên chỉ có quyền cập
nhật điểm của bọ môn mình phụ trách
 Chức năng ghi điểm
Mở bảng điểm phù hợp với mã phân công của giáo viên bộ môn:
ALTER PROC [dbo].[usp_GETBANGDIEMBYMAPC]
@MAPC INT
AS
SELECT HS.MAHS,(HO+TEN)AS HOTEN,
DIEMHS1,DIEMHS2,DIEMTHI,TBM
FROM HOCSINH AS HS,DIEM, PHANCONG AS PC
WHERE DIEM.MAPC = PC.MAPC
AND PC.MAPC = @MAPC
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG
-14-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
AND DIEM.MAHS = HS.MAHS
Cập nhật điểm
ALTER PROC [dbo].[usp_UPDATEDIEM]
@MAHS VARCHAR(50),
@MAPC INT,
@DIEMHS1 VARCHAR(50),
@DIEMHS2 VARCHAR(50),
@DIEMTHI DECIMAL(3,1)
AS

UPDATE DIEM SET DIEMHS1=@DIEMHS1,DIEMHS2 =
@DIEMHS2,DIEMTHI=@DIEMTHI
WHERE MAHS = @MAHS AND MAPC = @MAPC
 Chức năng tính điểm trung bình
ALTER PROC [dbo].[usp_UPDATETBM]
@MAHS VARCHAR(50),
@MAPC INT,
@DIEMHS1 VARCHAR(50),
@DIEMHS2 VARCHAR(50),
@DIEMTHI DECIMAL(3,1),
@TBM DECIMAL(3,2)
AS
UPDATE DIEM SET DIEMHS1=@DIEMHS1,DIEMHS2 =
@DIEMHS2,DIEMTHI=@DIEMTHI,TBM = @TBM
WHERE MAHS = @MAHS AND MAPC = @MAPC
 Chức năng tổng kết điểm từng môn của một lớp
ALTER PROC [dbo].[USP_GETBANGDIEMTONGKETMON]
@MALH INT,
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG
-15-

×