báo cáo chi tiết nhất về xây dựng phần mềm quản lý trung tâm tin học bằng ngôn ngữ lập trình C. cho sinh viên tham khảo xây dựng với phân tích thiết kế chi tiết nhất. đảm bảo chương trình vừa chạy tốt, giao diện đẹp. - Báo cáo phân tích thiết kế vô cùng chi tiết - Demo đẹp, đầu tư cao - slide ngắn gọn, chính xác
Trang 1MỤC LỤC
LỜI MỞ ĐẦU vi
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG 1
I Giới thiệu về hệ thống 1
1.Mục đích 1
2 Phạm vi ứng dụng 1
II Mục tiêu dự án phần mềm 1
1.Mục tiêu của dự án phát triển phần mềm 1
2.Phạm vi phần mềm 1
3.Các giả định ràng buộc 2
4 Môi trường hoạt động của phần mềm thiết kế 2
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG VÀ CƠ SỞ DỮ LIỆU 3
I Phân tích thiết kế hệ thống 3
1 Xây dựng các đối tượng và các thông tin cần lưu trữ 3
2 Sơ đồ use case 4
3 Một số sơ đồ tuần tự 8
4.Một số sơ hoạt động 12
5.Biểu đồ lớp 16
II Thiết kế cơ sở dữ liệu 17
1.Bảng giáo viên (tblGiaovien) 17
2.Bảng học viên (tblHocvien) 17
3.Bảng lớp(tblLop) 18
4.Bảng môn học (tblMonhoc) 18
5.Bảng điểm ( tblDiem) 18
6.Bảng thời khóa biểu(tblThoikhoabieu) 19
7.Bảng phân công coi thi (tblPhancong) 19
8.Bảng phòng học (tblPhong) 19
9.Bảng người dùng ( tblUser) 20
10 Sơ đồ quan hệ giữa các bảng 21
CHƯƠNG 3 XÂY DỰNG VÀ KIỂM THỬ 22
Trang 21 Hệ quản trị cơ sở dữ liệu 22
2 Công cụ lập trình 22
3 Giới thiệu và chọn lựa mô hình Layer 3 lớp 22
II Giao diện 25
1 Các Form quản lý hệ thống 25
2 Thiết kế Form chính 27
3 Nhóm Form quản lý cập nhật thông tin 28
4 Nhóm Form quản lý các hoạt động nghiệp vụ 31
5 Nhóm form báo cáo thống kê 33
III Kiểm thử đánh giá 35
CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 36
I Kết luận 36
1 Ưu điểm 36
2 Khuyết điểm 36
II Hướng phát triển 36
TÀI LIỆU THAM KHẢO 37
Trang 3DANH MỤC CÁC HÌNH VẼ
Hình 2.1 Sơ đồ use case tổng quát của hệ thống 4
Hình 2.2 Sơ đồ use case cập nhật thông tin giáo viên 4
Hình 2.3 Sơ đồ use case cập nhật thông tin học viên 5
Hình 2.4 Sơ đồ use case mức chi tiết cho use case cập nhật môn học 5
Hình 2.5 Sơ đồ use case cập nhật thông tin lớp học 6
Hình 2.6 Sơ đồ use case cập nhật điểm thi 6
Hình 2.7 Sơ đồ use case phân công coi thi 7
Hình 2.8 Sơ đồ use case xếp thời khóa biểu 7
Hình 2.9 Sơ đồ use case báo cáo thống kê 8
Hình 2.10 Sơ đồ tuần tự đăng nhập 9
Hình 2.11 Sơ đồ tuần tự cho chưc năng thêm học viên 9
Hình 2.12 Sơ đồ tuần tự cho chức năng sửa học viên 10
Hình 2.13 Sơ đồ tuần tự cho chức năng xóa học viên 10
Hình 2.14 Sơ đồ tuần tự cho chức năng tìm kiếm học viên 11
Hình 2.15 Sơ đồ hoạt động đăng nhập 12
Hình 2.16 Sơ đồ hoạt động thêm giáo viên 13
Hình 2.17 Sơ đồ hoạt động sửa giáo viên 14
Hình 2.18 Sơ đồ hoạt động xóa giáo viên 15
Hình 2.19 Sơ đồ hoạt động tìm kiếm giáo viên 15
Hình 2.20 Sơ đồ lớp của hệ thống 16
Hình 2.21 Mối liên hệ giữa các bảng 21
Hình 3.1 Mô hình Layer 3 lớp 23
Hình 3.2 Form đăng nhập 25
Hình 3.3 Form đổi mật khẩu 26
Hình 3.4 Form đăng ký tài khoản người dùng 26
Hình 3.5 Giao diện form chính 27
Hình 3.6 Giao diện Tab cập nhật thông tin 27
Hình 3.7 Giao diện Tab quản lý nghiệp vụ 28
Hình 3.8 Giao diện tab Báo cáo thống kê 28
Trang 4Hình 3.10 Form cập nhật thông tin học viên 29
Hình 3.11 Giao diện form cập nhật thông tin lớp học 30
Hình 3.12 Giao diện form cập nhật thông tin môn học 30
Hình 3.13 Giao diện form cập nhật điểm thi 31
Hình 3.14 Giao diện form xếp lớp 31
Hình 3.15 Giao diện form phân công coi thi 32
Hình 3.16 Giao diện form xếp thời khóa biểu 32
Hình 3.17 Giao diện form báo cáo giáo viên 33
Hình 3.18 Giao diện form báo cáo học viên 34
Hình 3.19 Giao diện form báo cáo lịch coi thi theo lớp 34
Hình 3.20 Giao diện form báo cáo thời khóa biểu 35
Trang 5DANH MỤC CÁC BẢN
Bảng 2.1 Bảng giáo viên 17
Bảng 2.2 Bảng học viên 17
Bảng 2.3 Bảng lớp học 18
Bảng 2.5 Bảng điểm 18
Bảng 2.6 Bảng thời khóa biểu 19
Bảng 2.7 Bảng phân công coi thi 19
Bảng 2.8 Bảng phòng học 19
Bảng 2.9 Bảng người dùng 20
Trang 6tạp điều đó dẫn tới việc quản lý bằng các hoạt động thủ công
ngày càng khó khăn và không hiệu quả gây mất thời gian, côngsức và an toàn dữ liệu Vì vậy thực tế đặt ra là cần có một phầnmềm hỗ trợ công tác quản lý con người, cũng như các hoạtđộng nghiệp vụ khác của trung tâm để đạt hiệu quả cao
Với ý tưởng giúp các nhà quản lý quản lý tốt các trung tâmtin học nhóm chúng em lựa chọn đề tài “Quản lý trung tâm tinhọc” nhằm phát triển một phần mềm có nhiều chức năng hỗ trợhữu hiệu các hoạt động của trung tâm
Đề tài của chúng em gồm 4 chương:
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG VÀ CƠ SỞ DỮLIỆU
CHƯƠNG 3 XÂY DỰNG VÀ KIỂM THỬ
CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Trong quá trình thực hiện đề tài do thời gian hạn hẹp nênviệc phát triển một hệ thống như mong muốn gặp nhiều khókhăn, công tác khảo sát thực tế chủ yếu thực hiện qua internetnên nhiều hạn chế vì vậy hệ thống không tránh khỏi các sai sót
và nhiều chức năng cần thiết cho các trung tâm tin học chưađược phát triển hết Do vậy nhóm chúng em rất hi vọng các quýthầy cô đóng góp ý kiến, hướng dẫn chúng em để phát triển đềtài này trong tương lai
Chúng em xin chân thành cảm ơn!
Trang 7CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG
I Giới thiệu về hệ thống
1.Mục đích
Hiện nay, việc ứng dụng công nghệ thông tin vào việc quản
lý đào tạo giáo dục trong cả nước nói chung, và các trung tâmtin học, ngoại ngữ nói riêng vẫn chưa được thực hiện một cáchđồng bộ Trong đó, việc quản lý hệ thống đào tạo của Trungtâm tin học vẫn đang nằm trong nhóm đó, quản lý một cách cơbản vẫn thực hiện thủ công gây lãng phí công sức, thời gian,tiền của Vậy yêu cầu đặt ra là cần một hệ thống đào tạo hoànchỉnh giúp quản lý mọi hoạt động đào tạo, nhằm nâng cao hiệusuất quản lý Bên cạnh đó, việc quản lý rất phức tạp, với sốlượng thông tin cần lưu giữ lớn, nhiều, mà yêu cầu về việc truysuất nhanh dữ liệu từng phút, từng giây, nên cần có một phầnmềm quản lý có khả năng thực hiện tất cả những yêu cầu củamột trung tâm giáo dục
Tạo ra phần mềm để ứng dụng cho việc quản lý mỗi một
hệ thống đào tạo giáo dục trong nước ta nói chung và các trungtâm giáo dục nói riêng Phần mềm này phải đáp ứng đượckhông những là quản lý về học viên, giáo viên, mà còn cả tổchức thi, kết quả thi, và một số hoạt động như xếp lớp, xếp thờikhóa biểu, báo cáo thống kê rõ ràng, hỗ trợ tìm kiếm, phânquyền hợp lý
2 Phạm vi ứng dụng
Chương trình được ứng dụng trong các trung tâm tin họcquy mô nhỏ Ví dụ như các trung tâm tin học của các trường Đạihọc đào tạo các chứng chỉ về tin học văn phòng Đào tạo cáclớp học ngắn hạn với số lượng giáo viên và học viên không quálớn và mô hình quản lý không quá phức tạp
II Mục tiêu dự án phần mềm
1 Mục tiêu của dự án phát triển phần mềm
Hiện tại một số trung tâm tin học đang quản lý học viên,giáo viên và một số nghiệp vụ khác một cách thủ công nên vấn
đề quản lý gặp nhiều khó khăn Mỗi khi có nhu cầu cần kiểm trathông tin giáo viên, hoặc tìm kiếm về học viên đã học ở trungtâm là rất vất vả Cho nên vấn đề đưa tin học vào quản lý làviệc rất cần thiết và có ý nghĩa Nên mục tiêu của chương trìnhnày là cung cấp phần mềm nhằm hỗ trợ nâng cao hiệu quả hoạtđộng của trung tâm nói chung và giảm bớt công việc cho người
Trang 82 Phạm vi phần mềm
Phần mền tập trung thực hiện các chức năng sau đây:
Cập nhật thông tin giáo viên
Cập nhật thông tin học viên
Cập nhật kết quả thi
Cập nhật thông tin các môn học
Cập nhật thông tin các lớp học
Xếp lớp
Phân công coi thi
Xếp thời khóa biểu
Báo cáo thống kê
Hỗ trợ tìm kiếm và phân quyền bảo mật
3 Các giả định ràng buộc
Hệ thống vận hành trên một số máy tính kết nối mạng LANvới nhau trong trung tâm tin học Ban quản lý (các admin) làngười quản trị các chức năng của phần mềm, học viên chỉ thamgia vào quá trình tìm kiếm thông tin học viên, lớp học, mônhọc, thời khóa biểu ngoài ra học viên không được thêm, sửa,xóa hay tham gia các hoạt động khác của phần mềm Chỉ có tàikhoản Admin mới có quyền đăng ký tài khoản người dùng vàphân quyền cho họ Ban giám đốc là người đưa ra các quyếtđịnh nhưng không thực hiện trực tiếp các nghiệp vụ quản lýphần mềm
Giả sử trung tâm này mới đi vào hoạt động nên chỉ đào tạocấp một loại chứng chỉ là Tin học văn phòng trình độ B, yêu cầuđạt chứng chỉ là học viên phải tham gia học tập đảm bảo yêucầu về số tiết của trung tâm, tham gia thi và có điểm ở 04 mônthi là: Microsoft Word, Microsoft Powerpoint, Microsoft Excel vàmôn thi Lý thuyết, các môn thi này đều có điểm thi đạt từ 5điểm trở lên, tổng của 04 môn thi phải đạt từ 20 điểm trở lên sẽđược trung tâm cấp chứng chỉ
4 Môi trường hoạt động của phần mềm thiết kế
Phần mềm tương thích với các hệ điều hành phổ biến hiệnnay như Windows 7, Windows 8, Windows 10,…
Trang 9CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG VÀ CƠ SỞ DỮ
Đối tượng là giáo viên: là những người trực tiếp tham giagiảng dạy theo sự phân công của trung tâm và thông tin củagiáo viên bao gồm: Mã giáo viên, họ giáo viên, tên giáo viên,giới tính, ngày sinh, quê quán
Đối tượng là lớp học: Dùng xếp lớp cho học viên bao gồm
Mã lớp, tên lớp , giáo viên chủ nhiệm, khóa học giúp giáo viên
và học viên cũng như nhân viên trung tâm có thể quản lý vànắm bắt được danh sách học viên theo lớp và xếp lớp
Phòng học : Là đối tượng dùng để xác định địa điểm phònghọc thông qua các thông tin của phòng học như: Mã phòng, tênphòng
Đối tượng điểm: Là đối tượng dùng để xác định điều kiện đểcấp chứng chỉ cho mỗi học viên dựa vào các trường thông tincủa bảng điểm: Mã học viên, mã môn học, mã lớp, điểm
Đối tượng là môn học: là đối tượng dùng để cung cấp thôngtin về môn học, số tiết học giúp giáo viên và học viên biết đượccác thông tin về môn học
Đối tượng thời khóa biểu: là đối tượng dùng để xếp phònghọc, thời gian học cho các lớp và các môn học
Đối tượng phân công coi thi: là đối tượng phân công cho cácgiáo viên coi thi các lớp và các môn học, giúp giáo viên trungtâm biết được thời gian, địa điểm, môn học để coi thi
Admin: được dùng để phân quyền sử dụng có toàn quyền
Trang 102 Sơ đồ use case
a Sơ đồ use case tổng quát
Hình 2.1 Sơ đồ use case tổng quát của hệ thống
Trang 11b Sơ đồ use case cập nhật thông tin giáo viên
Hình 2.2 Sơ đồ use case cập nhật thông tin giáo viên
c Sơ đồ use case cập nhật thông tin học viên
Hình 2.3 Sơ đồ use case cập nhật thông tin học viên
Trang 12d Sơ đồ use case cập nhật thông tin môn học
Hình 2.4 Sơ đồ use case cập nhật môn học
e Sơ đồ use case cập nhật thông tin lớp học
Hình 2.5 Sơ đồ use case cập nhật thông tin lớp học
Trang 13f Sơ đồ use case cập nhật điểm thi
Hình 2.6 Sơ đồ use case cập nhật điểm thi
g Sơ đồ use case phân công coi thi
Hình 2.7 Sơ đồ use case phân công coi thi
h Sơ đồ use case xếp thời khóa biểu
Trang 14Hình 2.8 Sơ đồ use case xếp thời khóa biểu
i Sơ đồ use case chi tiết cho use case báo cáo thống kê
Trang 15Hình 2.9 Sơ đồ use case báo cáo thống kê
Trang 16a Sơ đồ tuần tự cho chức năng đăng nhập
Hình 2.10 Sơ đồ tuần tự đăng nhập
b Sơ đồ tuần tự cho chức năng thêm mới học viên
Hình 2.11 Sơ đồ tuần tự cho chưc năng thêm học viên
Trang 17c Sơ đồ tuần tự cho chức năng sửa học viên
Hình 2.12 Sơ đồ tuần tự cho chức năng sửa học viên
d Sơ đồ tuần tự cho chức năng xóa
Hình 2.13 Sơ đồ tuần tự cho chức năng xóa học viên
Trang 18e Sơ đồ tuần tự cho chức năng tìm kiếm học viên
Hình 2.14 Sơ đồ tuần tự cho chức năng tìm kiếm học viên
Trang 194 Một số sơ hoạt động
Sơ đồ hoạt động cho biết trình tự các hoạt động nghiệp vụthực hiện trên một chức năng của phần mềm, nó thể hiện cảtrạng thái của hệ thống đối với các thao tác nghiệp vụ ấy
a Sơ đồ hoạt động đăng nhập
Hình 2.15 Sơ đồ hoạt động đăng nhập
Trang 20b Sơ đồ hoạt động cho chức năng thêm giáo viên
Hình 2.16 Sơ đồ hoạt động thêm giáo viên
Trang 21c Sơ đồ hoạt động chức năng sửa giáo viên
Hình 2.17 Sơ đồ hoạt động sửa giáo viên
Trang 22d Sơ đồ hoạt động xóa giáo viên
Hình 2.18 Sơ đồ hoạt động xóa giáo viên
e Sơ đồ hoạt động tìm kiếm giáo viên
Trang 235 Biểu đồ lớp
Xây dựng biểu đồ lớp mô tả mối quan hệ giữa các lớp nhưsau:
Trang 24II Thiết kế cơ sở dữ liệu
1 Bảng giáo viên (tblGiaovien)
Bảng 2.1 Bảng giáo viên
Tên cột Kiểu dữ
liệu
Kích thước Ràng buộc Diễn giải
liệu thước Kích Ràng buộc Diễn giải
Trang 253 Bảng lớp(tblLop)
Bảng 2.3 Bảng lớp học
Tên cột Kiểu dữ
liệu thước Kích Ràng buộc Diễn giải
chính
Mã lớp
ngoại
Mã giáo viên chủ nhiệm
Ràng buộc
Diễn giải
Trang 26khóa ngoại
chính, khóa ngoại
Mã mônhọc
6 Bảng thời khóa biểu(tblThoikhoabieu)
Bảng 2.6 Bảng thời khóa biểu
Tên cột Kiểu dữ liệu Kích thước Ràng buộc Diễn giải
MaPhon
Khóa chínhKhóa ngoại
Mã phòng
7 Bảng phân công coi thi (tblPhancong)
Bảng 2.7 Bảng phân công coi thi
Tên
cột
Kiểu dữ liệu
buộc
Diễn giải
Trang 27chính, Khóa ngoại
học
NgayTh
Khóa chính Khóa ngoại
Ngày thi
Khóa chính Khóa ngoại
Tên cột Kiểu dữ liệu thước Kích Ràng buộc Diễn giải
Usernam
Tên đăng nhập
Trang 28Phân
Trang 2910 Sơ đồ quan hệ giữa các bảng
tblGiaovien
MaGV HoGV TenGV GioiTinh NgaySinh QueQuan
tblthoikhoabieu
MaLop MaPhong MaMH MaGV Ngay CaHoc
Hình 2.21 Mối liên hệ giữa các bảng
Trang 30CHƯƠNG 3 XÂY DỰNG VÀ KIỂM THỬ
I Công cụ xây dựng phần mềm
Phần mềm được viết bằng ngôn ngữ lập trình C# với nềnVisual Studio 2013, yêu cầu môi trường Net Framwork 4.5, hệquản trị cơ sở dữ liệu SQL 2008, lập trình dựa trên mô hình 3lớp
1 Hệ quản trị cơ sở dữ liệu
Chương trình quản lý sử dụng hệ quản trị cơ sở dữ liệuMicrosoft SQL Server 2008 bởi tính đa dụng và phổ biến của nó.Khả năng quản lý dữ liệu mạnh Đặc biệt nó còn là một họcphần của ngành công nghệ thông tin Lựa chọn Microsoft SQLServer 2008 trong chương trình giúp tăng lượng kiến thức cần
có trong các học phần sau này
Ngôn ngữ lập trình C# được đánh giá là dễ học và kết hợpđược nhiều ưu điểm của các ngôn ngữ lập trình hướng đối tượngJava và C++ Do đó ngôn ngữ C# đựơc sử dụng rộng rãi nhất.C# có thể được viết với bất kỳ trình soạn thảo văn bản nào nhưNotepad của Windows, và sau đó biên dịch với trình biên dịchdòng lệnh của C#, csc.exe luôn đi kèm với Net framework Do
đó mà ngày nay, C# được rất nhiều các coder trên thế giới ưuchuộng và tìm hiều
Ngoài ra ngôn ngữ lập trình C# là ngôn ngữ được sử dụngtrong học phần “Ngôn ngữ lập trình C# và công nghệ Dotnet”
Vì vậy nhóm chúng em đã lựa chọn ngôn ngữ lập trình C# đểtiền hành lập trình, tạo nên chương trình quản lý trung tâm tinhọc
3 Giới thiệu và chọn lựa mô hình Layer 3 lớp
a Mô hình
Chương trình quản lý trung tâm tin học được áp dụng theo
Trang 31thống, cũng như không bị ảnh hưởng bởi các thay đổi, dễ dàngnhóm các thành phần có cùng chức năng lại với nhau và phânchia trách nhiệm cho từng thành viên trong nhóm để công việckhông bị chồng chéo và ảnh hưởng lẫn nhau.
Mô hình 3 lớp được cấu thành từ các thành phần chính là:Presentation Layers, Business Layers và Data Layer Các lớpnày sẽ giao tiếp với nhau thông qua các dịch vụ mà mỗi lớpcung cấp để tạo nên ứng dụng, lớp này cũng không cần biếtbên trong lớp kia làm gì mà chỉ cần biết lớp kia cung cấp dịch
vụ do lớp Business Logic cung cấp Trong NET chúng ta thườngdùng Windows Forms, ASP.NET hay Mobile Forms để hiện thựclớp này
Trong lớp này có 2 thành phần chính là User InterfaceComponents và User Interface Process Components:
- UI Components là những phần tử chịu trách nhiệm thuthập và hiển thị thông tin cho người dùng cuối Trong ASP.NETthì những thành phần này có thể là các TextBox, các Button,DataGrid…
Trang 32- UI Process Components: là thành phần chịu trách nhiệmquản lý các quy trình chuyển đổi giữa các UI Components Ví dụchịu trách nhiệm quản lý các màn hình nhập dữ liệu trong mộtloạt các thao tác định trước như các bước trong một Wizard…
Chúng ta không nên sử dụng trực tiếp các dịch vụ của lớpData Access mà nên sử dụng thông qua các dịch vụ của lớpBusiness Logic vì khi sử dụng trực tiếp như vậy, có thể ta đã bỏqua các ràng buộc, các logic nghiệp vụ mà ứng dụng cần phảicó
c Business Logic Layer
Lớp này thực hiện các nghiệp vụ chính của hệ thống, sửdụng các dịch vụ do lớp Data Access cung cấp, và cung cấp cácdịch vụ cho lớp Presentation Lớp này cũng có thể sử dụng cácdịch vụ của các nhà cung cấp thứ 3 (3rd parties) để thực hiệncông việc của mình
Trong lớp này có các thành phần chính là BusinessComponents, Business Entities và Service Interface
- Service Interface là giao diện lập trình mà lớp này cungcấp cho lớp Presentation sử dụng Lớp Presentation chỉ cần biếtcác dịch vụ thông qua giao diện này mà không cần phải quantâm đến bên trong lớp này được hiện thực như thế nào
- Business Entities là những thực thể mô tả những đối tượngthông tin mà hệ thống xử lý.Trong ứng dụng chúng ta các đốitượng này là các chuyên mục(Category) và bản tin(News) Cácbusiness entities này cũng được dùng để trao đổi thông tin giữalớp Presentation và lớp Data Access
- Business Components là những thành phần chính thựchiện các dịch vụ mà Service Interface cung cấp, chịu tráchnhiệm kiểm tra các ràng buộc logic(constraints), các qui tắcnghiệp vụ(business rules), sử dụng các dịch vụ bên ngoài khác
để thực hiện các yêu cầu của ứng dụng
Trong ứng dụng của chúng ta, lớp này sẽ chứa các thànhphần là CategoryService và NewsService làm nhiệm vụ cungcấp các dịch vụ quản lý chuyên mục và các bản tin (thêm, xóa,sửa, xem chi tiết, lấy danh sách…)
d Data Layers
Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ vàtruy xuất dữ liệu của ứng dụng Thường lớp này sẽ sử dụng các