Phân tích thiết kế hệ thống Lời mở đầu Việc quản lý giảng viên và công tác giảng dạy là vấn đề vô cùng quan trọng trong các trường đại học và cao đẳng hiện nay của nước ta.. Xuất phát t
Trang 1Trường Đại Học Công Nghiệp Hà Nội Khoa Công Nghệ Thông Tin
Trang 2Mục lục
I Phân tích thiết kế hệ thống .3
Lời mở đầu .3
1 Mô hình phân cấp chức năng của hệ thống. .6
2 Mô hình luồng dữ liệu mức khung cảnh. .7
3 Mô hình luồng dữ liệu mức đỉnh. .8
4 Xây dựng mô hình thực thể liên kết .9
4.1 Xác định các thực thể, định danh tương ứng 9
4.2 Xác định liên kết giữa cá thực thể 10
4.3 Xác định các thuộc tính 11
5 Chuyển mô hình thực thể thành các bản ghi logic. 12
6 Thiết kế CSDL vật lý 13
6.1 Lập từ điển dữ liệu 13
6.2 Mô hình dữ liệu vật lý 18
7 Thiết kế giao diện 20
7.1 Giao diện chương trình 20
7.2 Hệ thống 22
7.3 Nhập dữ liệu 23
7.4 Thống kê 26
7.5 Tìm kiếm 29
II Lập trình Winform 31
Phần I Cơ sở dữ liệu 31
1 Tạo cơ sở dữ liêu 31
2 Mô hình diagrams 32
Phần II Chương trình quản lý giảng dạy 33
1 Tạo giao diện chương trình 33
2 Đăng nhập, phân quyền cho người dùng 35
3 Kết nối tới Cơ sở dữ liệu 42
4 Nhập, sửa, xóa thêm dữ liệu 43
5 Thống kê, báo cáo 76
6 Tìm kiếm 86
Trang 3I Phân tích thiết kế hệ thống
Lời mở đầu
Việc quản lý giảng viên và công tác giảng dạy là vấn đề vô cùng quan trọng trong các trường đại học và cao đẳng hiện nay của nước ta Áp dụng công nghệ thông tin vào quản lý giảng dạy tốt sẽ giúp cho việc tổ chức điều hành công việc được hợp lý hơn,
có hiệu quả cao và đồng thời giúp cho giảng viên có thể chủ động về thời gian giảng dạy Đặc biệt là các nước phát triển có điều kiện nghiên cứu triển khai các ngành công nghệ cao, cả về giáo dục và ứng dụng kinh tế Công nghệ thông tin đã và đang xuấ hiện ở khắp nơi như trong các trường học, trong công ty và trong ngân hàng
Yêu cầu lớn nhất hiện nay của nước ta đối với cán bộ tin học ở mọi cơ quan là phải có khả năng phân tích, hiểu được tình trạng nghiệp vụ của cơ quan và từ đó thiết kế, xây dựng lên các hệ thống tin học sử dụng máy tính là phương tiên truyền thông đáp ứng cho công tác quản lý, có nhiều nguyên nhân song nguyên nhân vô cùng quan trọng đó
là các nhà xây dựng hệ thống thông tin không được trangh bị cơ bản về phân tích thiết
kế hệ thống, thiếu kinh nghiệm tham gia vào quá trình phân tích và dẫn đến giai đoạn cìa đặt thay đổi nhiều
Để đáp ứng được nhu cầu này thì môn phân tích thiết kế hệ thống đã trở thành một môn quan trọng không thể thiếu được trong ngành công nghệ thông tin
Việc ứng dụng tin học trong công tác quản lý đã phát triển hợp lý, nó đã giúp cho việc quản lý ngày càng trở nên hiệu quả và dễ dàng xử lý các tình huống, các yêu cầu, đưa
ra các con số và báo cáo một cách chính xác và nhanh chóng nhất, bên cạnh đó nó còn giảm thiểu thời gian và công sức hoàn thành công việc, nó giảm nhẹ bộ máy quản lý vốn rất phức tạp từ trước Xuất phát từ vấn đề trên, trong thời gian làm báo cáo thưc hành cơ sở dữ liệu nhóm em đã nghiên cứu và thực hiện bài “Xây dựng hệ thống quản
lý giảng dạy của giảng viên tại Trường Đại Học Công Nghiệp Hà Nội”
Trong quá trình làm bài do trình độ hiểu biết chưa được sâu rộng, kinh nghiệm còn hạn chế, nên báo cáo còn nhiều thiếu xót Nhóm em kính mong nhận được ý kiến đóng góp của thầy, cô để bản báo cáo của em được hoàn thiện hơn
Cơ cấu hoạt động của hệ thống:
Trang 4thông tin của giáo viên đó như học hàm, học vị, quá trình phấn đấu Hồ sơ giáo viên bao gồm: Họ và tên, ngày sinh, giớ tính, quê quán, cấp bậc, ngành học, học hàm, học vị…
- Quản lí môn học: Khi vào năm học mới bộ phận quản lí môn học sẽ lập danh sách các môn học trong học kì theo từng khoa Danh sách môn học sẽ được sắp xếp và điều chỉnh cho phù hợp với yêu cầu của Bộ Giáo Dục và Đào Tạo Cập nhập danh sách môn học mới và xóa những môn học không còn phù hợp với chương trình giảng dạy, thông tin về môn học sẽ được lưu trữ theo từng khoa
Bộ phận quản lí môn học có nhiệm vụ gửi thong tin về môn học cho bộ phận quản lí phân công giảng dạy để lập thời khóa biểu trong năm học mới
- Quản lí lớp học: Các tân sinh viên khi đỗ vào trường sẽ được phân vào học theo đúng nghành và nguyện vọng đã đăng kí, các sinh viên trong cùng một nghành
sẽ được sắp xếp vào các lớp, số sinh viên trong lớp sẽ được chia theo đúng quy định của bộ giáo dục và đào tạo.Danh sách lớp học mới được cập nhật vào danh mục quản lí lớp học Khi các sinh viên tốt nghiệp ra trường, bộ phận quản lí lớp học sẽ xóa danh sách và những thông tin liên quan đến lớp học đó
- Quản lí phòng học: Mỗi lớp học sẽ được phân một phòng học, phân theo số tiết
và ca học để không có sự trùng lặp giữa các lớp với nhau Bộ phận quản lí
phòng học sẽ quản lí các trang thiết bị trong phòng, tu sửa khi các thiết bị xảy
ra sự cố hay hỏng hóc, lắp đặt trang thiết bị mới phục vu cho việc giảng dạy của giảng viên và nhu cầu học tập của sinh viên Phòng học được chia thành phòng học lí thuyết và phòng học thực hành, bộ phận này sẽ phân công phòng theo yêu cầu của chương trình học(số tiết lí thuyêt và số tiết thực hành)
- Bộ phận lập phân công giảng dạy: Trước ki bắt đầu kì học tiếp theo ít nhất 30 ngày, bộ phận phân công giảng dạy thống nhất với các bộ môn về kế hoach đào tạo và yêu cầu bộ môn dự kiến phân công giảng dạy Trên cơ sở kế hoạch đào tạo của khoa , trưởng bộ môn tổ chức họp để phân công giảng dạy và gửi danh sách phân công dự kiến cho ban chủ nhiệm khoa(Mỗi học phần phải dự kiến một GV chính thức và một GV dự phòng) Trưởng bộ môn có nhiệm vụ thông báo cho các GV có tên trong danh sách phân công giảng dạy chuẩn bị đề cương dựa trên cơ sở đề cương chung của học phần Sau khi thông qua đề cương giảng dạy lich phân công giảng dạy đã được hoàn thành Lịch phân công giảng dạy sau khi được duyệt sẽ được thông báo lại cho các giảng viên có trong danh sách
- Quản lí tiết dạy: Sau hi nhận được thới khóa biểu cho học kì mới, các giảng viên trong bộ môn phải thực hiên việc giảng dạy theo đúng thời gian quy định,
Trang 5địa điểm lớp học và tổng số tiết như trên thời khóa biểu quy định Để đóng góp một phần vào việc đánh giá quá trình phấn đấu của giảng viên bộ phận quản lí tiết dạy có nhiệm vụ mỗi tuần, tháng, kì học sẽ thực hiện thống kê giờ lên lớp,
số giờ vượt tải, số giờ nghỉ dạy của giáo viên trong từng bộ môn Bộ phận này
có nhiệm vụ báo cáo lên khoa về tình hình nhân sự, chất lượng giảng dạy của giảng viên trong bộ môn Tình hình giảng dạy và quá trình hoạt động phấn đấu của các cán bộ trong suốt kì học đó Xem xét đối chiếu khối lượng giảng dạy của giảng viên với thời khóa biểu
- Bộ phận thống kê và báo cáo: Bộ phận này lấy thông tin từ bộ phận quản lí tiết dạy có nhiệm vụ thống kê khối lượng giảng dạy của từng giảng viên trong bộ môn căn cứ vào lịch phân công giảng dạy Báo cáo khối lượng giảng dạy của giảng viên lên phòng đào tạo và khoa để kiểm tra chất lượng giảng dạy của giảng viên, có năng lực hay không, mức độ hoàn thành với nhiệm vụ được giao
Để đưa ra quyết định khen thưởng khi giảng viên đó có khả năng hoặc phê bình kiểm điểm khi năng lực và trách nhiệm với công việc của giảng viên có thể nói
là yếu kếm
Trang 61 Mô hình phân cấp chức năng của hệ thống.
Hình 1: Mô hình phân cấp chức năng của hệ thống
Trang 72 Mô hình luồng dữ liệu mức khung cảnh
Hình2 : Mô hình dữ liệu mức khung cảnh
Trang 83 Mô hình luồng dữ liệu mức đỉnh
Hình 3: Mô hình dữ liệu mức đỉnh
Trang 94 Xây dựng mô hình thực thể liên kết
4.1 Xác định các thực thể, định danh tương ứng
KHOA: Mã khoa, NGÀNH: Mã ngành,
TỔ MÔN: Mã tổ môn, KHÓA ĐÀO TẠO: Mã khóa đào tạo, LỚP: Mã lớp,
HỒ SƠ GIẢNG VIÊN: Mã giáo viên, PHÂN CÔNG GIẢNG DẠY: Mã phân công, CHƯƠNG TRÌNH ĐÀO TẠO: Mã học phần, PHÒNG HỌC: Mã phòng
GIÁM SÁT GIẢNG DẠY:
Trang 10đào tạo
Môn học
Phân công giảng dạy
Có
Trang 114.3 Xác định các thuộc tính
KHOA mãKhoa
tênKhoa
TỔMÔN mãTổMôn
tênTổMôn sốGV mãKhoa
tênLớp mãKhóaĐT sốSV
PCGD mãPCGD
mãGV mãHọcPhần mãLớp sốTC
HSGV mãGV
họGV tênGV chuyênMôn chứcVụ ngàySinh giớiTính điệnThoại mãTổMôn
tênPhòng
giámsátgiảngday mãGV
sốtiếtnghỉ ngàynghỉ sốtiếtbù
Có
Có
Trang 125 Chuyển mô hình thực thể thành các bản ghi logic
Chương trình quản lý
Khóa đào tạo( mãKhóaĐT, tênKhóaĐT, nămNhập, sốNămĐT,mãNgành)
Ngành( mãNgành, tênNgành, đàotạoDH, đàotạoCD, đàotạoTC, đàotạoNghề,
mãKhoa)
Khoa( mãKhoa, tênKhoa)
Tổ môn( mãTổmôn, tênTổmôn, sốGV, mãKhoa)
Lớp( mãLớp, tênLớp, mãKhóaĐT, sốSV)
Chương trình đào tạo(mãHọcPhần, mãKhóaĐT, mãMôn, sốTínChỉ, sốTCLT,
sốTCTH, họcKỳ)
Môn học(mãMôn, tênMôn)
Phân công giảng dạy( mãPCGD, mãGV, mãHọcPhần, mãLớp, ngàyBắtĐầu,
ngàyKếtThúc, mãPhòng)
Hồ sơ giảng viên(mãGV, họGV, tênGV, ngàySinh, giớiTính, địaChỉ, điện
Thoại, chứcDanh, chứcVụ, mãTổmôn)
Giám sát giảng dạy(mãGV, sốTiếtNghỉ, ngàyNghỉ, sốTiếtBù, ngàyBù)
Trang 13Ràng buộc
Khóa chính/khóa phụ(PK/FK)
Mô tả
1 maKhoaDT Varchar(30) Not null PK Mã Khoa đào tạo
2 tenKhoaDT Varchar(30) Not null Tên Khoa đào
tạo
5 maNganh Varchar(30) Not null FK Mã ngành
B Bảng NGANH
STT Tên thuộc
tính
Kiểu (Độ rộng)
Ràng buộc
Khóa chính/khóa phụ(PK/FK)
Mô tả
1 maNganh Varchar(30) Not null PK Mã ngành
2 maKhoa Varchar(30) Not null FK Mã khoa
3 tenNganh Varchar(30) Not null Tên ngành
Trang 14Ràng buộc
Khóa chính/khóa phụ(PK/FK)
Mô tả
1 maKhoa Varchar(30) Not null PK Mã khoa
D Bảng TOMON
STT Tên thuộc
tính
Kiểu (Độ rộng)
Ràng buộc
Khóa chính/khóa phụ(PK/FK)
Mô tả
1 maToMon Varchar(30) Not null PK Mã tổ môn
2 tenToMon Varchar(30) Not null Tên tổ môn
4 maKhoa Varchar(30) Not Null FK Mã Khoa
E Bảng LOP
STT Tên thuộc
tính
Kiểu (Độ rộng)
Ràng buộc
Khóa chính/khóa phụ(PK/FK)
Mô tả
3 maKhoaDT Varchar(30) Not null FK Mã khoa đào tạo
Trang 15F Bảng CTDT
STT Tên thuộc
tính
Kiểu (Độ rộng)
Ràng buộc
Khóa chính/khóa phụ(PK/FK)
Mô tả
1 maHocPhan Varchar(30) Not null PK Mã học phần
2 maKhoaDT Varchar(30) Not null FK Mã khoa đào tạo
Ràng buộc
Khóa chính/khóa phụ(PK/FK)
Mô tả
Trang 16Ràng buộc
Khóa chính/khóa phụ(PK/FK)
Mô tả
1 maPCGD Varchar(30) Not null PK Mã phân công
giảng dạy
4 maHocPhan Varchar(30) Null FK Mã học phần
8 maPhong Varchar(30) Not Null FK Mã phòng
I Bảng HSGV
STT Tên thuộc
tính
Kiểu (Độ rộng)
Ràng buộc
Khóa chính/khóa phụ(PK/FK)
Mô tả
1 maGV Nvarchar(30) Not null PK Mã Giảng viên
2 hoGV Nvarchar(30) Not null Họ Giảng viên
3 tenGV Nvarchar(30) Not null Tên Giảng viên
10 maToMon Nvarchar(30) Null FK Mã tổ môn
Trang 17J Bảng GIAMSATGANGDAY
STT Tên thuộc
tính
Kiểu (Độ rộng)
Ràng buộc
Khóa chính/khóa phụ(PK/FK)
Mô tả
1 maGV Varchar(30) Not Null PK Mã Giảng Viên
K Bảng PHONGHOC
STT Tên thuộc
tính
Kiểu (Độ rộng)
Ràng buộc
Khóa chính/khóa phụ(PK/FK)
Mô tả
1 maPhong Varchar(30) Not null PK Mã phòng
Trang 186.2 Mô hình dữ liệu vật lý
Hình 4: mô hình quản lý
Trang 19Hình 5: Mô hình phân quyền người dùng
Trang 207 Thiết kế giao diện
7.1 Giao diện chương trình
Mở Visual Studio: File -> New -> Project( Hoặc tổ hợp phím Clt+ Shift+ N) chọn nơi lưu Project, đặt tên cho Project : QLGD
Đổi tên File Program.cs thành Main.cs để tạo giao diện cho chương trình;
Trang 21Ta đƣợc form sau:
Dùng Toolbox, kéo thả các Button, MenuStrip, Textbox, GroupBox, Panel, Lable, axShokwaveFlash, sử dụng Icon đƣợc Form giao diện nhƣ sau:
Trang 22Người thực hiện: người quản trị hệ thống
Thời gian thực hiện: khi phân quyền truy nhập, thêm người dùng, xóa người dùng Csdl liên quan: bảng người dùng(NGUOIDUNG), bảng nhóm người
dùng(NHOMNGUOIDUNG)
Mẫu thiết kế:
Trang 237.3 Nhập dữ liệu
Menu Nhập liệu: Có các menu thả xuống chọn các bảng để nhập dữ liệu, sửa xóa dữ liệu.
Biểu mẫu hồ sơ Giảng Viên:
Người thực hiện: người quản trị hệ thống
Thời gian thực hiện: khi thêm, sửa, xóa Giảng Viên
Csdl liên quan: bảng hồ sơ giảng viên(HSGV)
Mẫu thiết kế:
Trang 24Biểu mẫu khoa:
Người thực hiện: người quản trị hệ thống
Thời gian thực hiện: khi thêm khoa mới, sửa, xóa khoa
Csdl liên quan: bảng khoa(KHOA)
Mẫu thiết kế:
Biểu mẫu ngành:
Người thực hiện: người quản trị hệ thống
Thời gian thực hiện: khi thêm mới, sửa, xóa ngành của các hệ đào tạo
Csdl liên quan: bảng ngành(NGANH)
Mẫu thiết kế:
Trang 25Biểu mẫu khóa đào tạo:
Người thực hiện: người quản trị hệ thống
Thời gian thực hiện: khi thêm khóa mới, sửa, xóa khóa đã đào tạo
Csdl liên quan: bảng khóa đào tạo(KHOADAOTAO)
Mẫu thiết kế:
Biểu mẫu chương trình đào tạo:
Người thực hiện: người quản trị hệ thống
Thời gian thực hiện: khi có chương trình đào tạo mới, sửa, xóa CT cũ
Csdl liên quan: bảng chương trình đào tạo(CTDT)
Mẫu thiết kế:
Trang 26Biểu mẫu phân công giảng dạy:
Người thực hiện: người quản trị hệ thống
Thời gian thực hiện: khi phân công mới giảng dạy, sửa, xóa phân công cũ
Csdl liên quan: bảng phân công giảng dạy(PCGD)
Mẫu thiết kế:
7.4 Thống kê
Menu Thống kê: Có các menu con phục vụ việc thống kê : Hồ sơ Giảng viên, Chương trình đào tạo, Phân công giảng dạy, Khối lượng giảng dạy
Trang 27Biểu mẫu thống kê hồ sơ Giảng Viên:
Người thực hiện: Giảng Viên, người quản trị hệ thống
Thời gian thực hiện: khi tìm hiểu lý lịch của giảng viên
Csdl liên quan: bảng hồ sơ giảng viên(HSGV)
Mẫu thiết kế:
Biểu mẫu thống kê chương trình đào tạo:
Người thực hiện: Giảng Viên, quản trị hệ thống
Thời gian thực hiện: khi tìm hiểu về chương trình đào tạo của nhà trường
Csdl liên quan: bảng chương trình đào tạo(CTDT)
Biểu mẫu thiết kế:
Trang 28Biểu mẫu thống kê phân công giảng dạy:
Người thực hiện: Giảng viên
Thời gian thực hiện: khi lấy phân công giảng dạy để giảng dạy
Csdl liên quan: bảng phân công giảng dạy(PCGD)
Mẫu thiết kế:
Biểu mẫu thống kê khối lượng giảng dạy:
Người thực hiện: Giảng Viên, cán bộ khoa
Thời gian thực hiện: khi tính lương cho giảng viên, cán bộ xem khối lượng giảng dạy theo tháng để tính lương
Mẫu thiết kế:
Trang 297.5 Tìm kiếm
Menu Tìm kiếm: Có các menu con: Tìm thông tin giảng viên, Thông tin về lớp, Thông tin về các chương trình đào tạo
Biểu mẫu tìm kiếm thông tin lớp:
Biểu mẫu tìm kiếm thông tin giảng viên:
Trang 30Biểu mẫu tìm kiếm thông tin chương trình đào tạo:
Trang 31II Lập trình Winform
Phần I Cơ sở dữ liệu
1 Tạo cơ sở dữ liêu
Trong SQL Server tạo 1 Database với tên: QLGD gồm các bảng sau:
- Chương trình quản lý:
PHONGHOC( maPhong, tenPhong, soBan, diaDiem)
KHOADAOTAO( maKhoaDT, tenKhoaDT, namNhap, soNamDT, maNganh) NGANH(maNganh, maKhoa, tenNganh, daotaoDH, daotaoCD, daotaoTC,
daotaoTrC, daotaoNghe)
KHOA( maKhoa, tenKhoa)
LOP( maLop, tenLop, maKhoaDT, soSV)
MONHOC( maMon, tenMon)
TOMON( maToMon, tenToMon, soGV, maKhoa)
GiamSatGiangDay( maGV, sotietnghi, ngaynghi, sotietbu, ngaybu)
PHONGHOC( maPhong, tenPhong, soBan, diaDiem)
PCGD( maPCGD, maLop, maGV, maHocPhan, ngayBatDau, ngayKetThuc, tietDay,
maPhong)
HSGV( maGV, hocGV, tenGV, ngaySinh, gioiTinh, diaChi, dienThoai, chucDanh,
chucVu, maToMon)
- Bảng phần quyền người dùng
NHOMNGUOIDUNG( maNhom, tenNhom)
NGUOIDUNG( taiKhoan, pass, maNhom)
Trang 322 Mô hình diagrams
Trang 33Phần II Chương trình quản lý giảng dạy
1 Tạo giao diện chương trình
+) Mở Visual Studio: File -> New -> Project( Hoặc tổ hợp phím Clt+ Shift+ N) chọn nơi lưu Project, đặt tên cho Project : QLGD
Đổi tên File Program.cs thành Main.cs để tạo giao diện cho chương trình;
Trang 34+) Ta được Form sau:
+) Dùng Toolbox, kéo thả các Button, MenuStrip, Textbox, GroupBox, Panel, Lable,
axShokwaveFlash, sử dụng Icon được Form giao diện như sau:
- Menu Hệ thống có các mục: Quản lý người dùng, Đăng nhập, Đổi mật khẩu, Đăng
xuất, Thoát
Trang 35- Menu Nhập liệu: Có các menu thả xuống chon các bảng để nhập dữ liệu, sửa xóa dữ liệu
- Menu Thống kê: Có các menu con phục vụ việc thống kê : Hồ sơ Giảng viên, Chương trình đào tạo, Phân công giảng dạy, Khối lượng giảng dạy
- Menu Tìm kiếm: Có các menu con: Tìm thông tin giảng viên, Thông tin về lớp, Thông tin về các chương trình đào tạo
- Menu Thông tin: Thông tin về nhóm
2 Đăng nhập, phân quyền cho người dùng
Trong cơ sở dữ liệu, tạo bảng Nhóm người dùng, Người dùng, với từng đối tượng người dùng có các quyền khác nhau với chương trình
Admin: có mọi quyền trong chương trình
Giảng viên, Quản lý chỉ sử dụng 1 số phần
Code cho button Đăng nhập:
private void btnDangnhap_Click(object sender, EventArgs e)
if (mainUser.user.pass != txtPass.Text)
labThongbao.Text="Mật khẩu không đúng!";
MessageBox.Show("Tài khoản và mật khẩu không được bỏ
trống!","Lỗi!",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
+ Đăng nhập với tài khoản: giangvien thì được sử dụng các chức năng danh cho gảng viên
Trang 36public void hienthimenu(bool ktr,string maNhom)
case "002": menuCanBoQL(); break;
case "003": menugiangvien(); break;
Trong Solution QLGD tạo folder BusinessLogicLayer, tạo form
BussinessLogicLayer.cs chứa các câu truy vấn tới cơ sở dữ liệu
- Dùng các Button, Textbox, GroupBox, Label tạo giao diện cho Form đổi mật khẩu:
Trang 37+) Double kick vào Button viết code:
public partial class doimatkhau : Form
BussinessLogic bslg = new BussinessLogic();
private void btnThoat_Click(object sender, EventArgs e)
mainUser.user = bslg.LaythongtinUser(Main.taikhoan);
if (mainUser.user.pass == txtMKbefore.Text && txtMKnew.Text
== txtMKreapeat.Text)
{
bslg.doiMatKhau(Main.taikhoan, txtMKnew.Text);
if (MessageBox.Show("Đổi mật khẩu thành công!") ==
Trang 39+) Double vào các Button, viết code cho các sự kiện:
public partial class QLnguoidung : Form
BussinessLogic bslg = new BussinessLogic();
private void QLnguoidung_Load(object sender, EventArgs e)