báo cáo đồ án phân tích thiết kế hệ thống -quản lý điểm thpt - Pdf 10

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
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

Để 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

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

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ự
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
động
TenMH Nvarchar Tên môn học
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

THPT
Chương 3. XÂY DỰNG CHỨC NĂNG CỦA
CHƯƠNG TRÌNH
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)
{
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
cn.Open();


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
@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),
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

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
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
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG
-15-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT

BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
ALTER PROC [dbo].[USP_TKCUOINAM]
@MALH INT,
@LUACHON INT 1:KY 1, 2:KY 2 , 3: CA NAM
AS
SELECT HS.MAHS AS MAHS,(HO+TEN)AS
HOTEN,PC.MAPC,MH.TENMH AS MON,TBM AS HKI,MAHK
INTO #BANGTAM3
FROM PHANCONG AS PC,DIEM,HOCSINH AS HS,MONHOC
AS MH
WHERE MAHK = 1
AND MALH = @MALH
AND PC.MAPC = DIEM.MAPC
AND HS.MAHS = DIEM.MAHS
AND MH.MAMH = PC.MAMH
SELECT HS.MAHS AS MAHS,(HO+TEN)AS
HOTEN,PC.MAPC,MH.TENMH AS MON,TBM AS HKII,MAHK
INTO #BANGTAM4
FROM PHANCONG AS PC,DIEM,HOCSINH AS HS,MONHOC
AS MH
WHERE MAHK = 2
AND MALH = @MALH
AND PC.MAPC = DIEM.MAPC
AND HS.MAHS = DIEM.MAHS
AND MH.MAMH = PC.MAMH
SELECT
BT3.MAHS,BT3.HOTEN,BT3.MON,BT3.HKI,BT4.HKII,
(BT3.HKI+BT4.HKII*2)/3 AS CANAM
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG

BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
PIVOT (SUM (HKII) FOR MON IN ([Toán],[Vật Lý],[Hóa
Học],[Sinh Học],[Tin Học],[Ngữ Văn],[Lịch Sử],[Địa Lý],[Ngoại Ngữ],[Giáo dục
công dân],[Công nghệ],[Thể dục])) AS pv
ELSE IF @LUACHON = 3
SELECT MAHS,HOTEN,[Toán],[Vật Lý],[Hóa Học],[Sinh
Học],[Tin Học],[Ngữ Văn],[Lịch Sử],[Địa Lý],[Ngoại Ngữ],[Giáo dục công dân],
[Công nghệ],[Thể dục],
([Toán]*2+[Vật Lý]+[Hóa Học]+[Sinh Học]+[Tin Học]+
[Ngữ Văn]*2+[Lịch Sử]+[Địa Lý]+[Ngoại Ngữ]+[Giáo dục công dân]+[Công
nghệ]+[Thể dục])/14 AS [ĐIỂM TK NĂM HỌC]
FROM (SELECT MAHS,HOTEN,MON,CANAM FROM
#BANGTAM5) o
PIVOT (SUM (CANAM) FOR MON IN ([Toán],[Vật Lý],
[Hóa Học],[Sinh Học],[Tin Học],[Ngữ Văn],[Lịch Sử],[Địa Lý],[Ngoại Ngữ],
[Giáo dục công dân],[Công nghệ],[Thể dục])) AS pv
3.5. Chức năng quản lý cán bộ giáo viên trong trường
 Tạo mới giáo viên
Nhập các thông tin cần thiết vào các textbox. Các thông tin này sẽ được
chèn vào bảng giáo viên, mã giáo viên sẽ được trả về.
alter proc usp_InsertGV
@Tengv [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
-19-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM

-20-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
Mỗi giáo viên sẽ có nhiều lịch phân công, nhiều lớp, chọn môn học, lớp
học, học kỳ, năm học và chọn nút phân công. Trong bảng phân công sẽ chèn dữ
liệu vào.
Để lấy dữ liệu của giáo viên ta dùng storeprocudure
create proc getDataGV
as
select MaGV,TenGV as [Tên giáo viên],Gioitinh as[Giới tính],Ngaysinh
as[Ngày sinh],diachi as [Địa chỉ],dienthoai as [điện thoại],CMND
from giaovien
Phân công dùng storeproc:
create proc usp_insertphancong
@Magv varchar(10),
@MaMH int,
@MaLH int,
@MaHK int,
@MaPC int output
as
begin
insert into phancong(MaGV,MaMH,MaLH,MaHK)
values(@Magv,@MaMH,@MaLH,@MaHK)
select @MaPC=max(MaPC) from phancong
end
 Phân công lớp chủ nhiệm
Chọn lớp, chọn giáo viên. Lịch phân công chủ nhiệm sẽ được cập nhật trên
mỗi lớp được chọn
create proc usp_UpdateChunhiem
@MaLH int,

groupBox1.Enabled = false;
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG
-22-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
if (dal.CheckData("update giaovien set Matkhau= '123456' where
MaGV='" + comboBox1.SelectedValue.ToString().Trim() + "'",
CommandType.Text, null))
{
MessageBox.Show("Bạn đã reset mật khẩu thành công. Mật
khẩu mặc định là 123456");
}
else
{
MessageBox.Show("Bạn đã reset mật khẩu không thành
công.");
}
}
else
{
if (radioButton2.Checked == true)
{
groupBox1.Enabled = true;
if (radioButton3.Checked == true)
{
radioButton4.Checked = false;
if (dal.CheckData("update giaovien set [Role]= 'Admin'
where MaGV='" + comboBox1.SelectedValue.ToString().Trim() + "'",
CommandType.Text, null))
{

hệ thống. chức năng này cũng là update lại mật khẩu trên bảng giáo viên. Khi
người dùng đăng nhập lại hệ thống thì phải nhập mật khẩu mới.
alter proc usp_checkMatkhau
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG
-24-
BÁO CÁO ĐỒ ÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG -QUẢN LÝ ĐIỂM
THPT
@user varchar(10),
@pass varchar(50),
@flag bit output,
@passmoi varchar(50)
as
begin
declare @Mgv varchar(10)
select @Mgv=MaGV from giaovien where [MaGV]=@user and
MatKhau=@pass
if (count(@Mgv)=1)
begin
update giaovien set Matkhau=@passmoi where MaGV=@user
set @flag = 1
end
else set @flag = 0
end
3.8. Chức năng thoát khỏi hệ thống
Để thoát khỏi ứng dụng ta dùng lệnh: Environment.exit(0); hoặc
Application.exit(0); hoặc form.close(); lúc này hệ thống sẽ bị thoát nếu chọn chức
năng này.
SV:NGUYỄN THỊ HOÀI NHÂN-NGUYỄN VĂN LINH-TRẦN VĂN THẮNG
-25-


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status