Xây dựng chương trình quản lí điểm của khoa CNTT-Trường ĐHCN Hà Nội”MỤC LỤCMục lục TrangLời nói đầu …………………………………………………………….1Mục lục........................................................................................ 3Chương I:khảo sát nghiệp vụ đề tài …………………………….........4Chương II.Phân tích hệ thống …………………………………………10Mô tả bài toán ”Quản lý điểm”...................................................... .101.Lập biểu đồ phân cấp chức năng …………………………………… .132.Biểu đồ luồng data...................................................................... .14a. Biểu đồ luồng data mức khung cảnh..............................................14b.Biểu đồ luồng data mức đỉnh...................................................... ..153.Mô hình liên kết thực thể................................................................. ……. 16Chương 2: các hàm,thủ tục ,trigger chính trong chương trình …………….19Chương 3: kết nối giao diện với JAVAChương I. Khảo sát nghiệp vụ đề tàiI.KHẢO SÁT HỆ THỐNG VÀ PHÂN TÍCH HIỆN TRẠNG(hệ thống cũ)Khoa CNTT-Trường ĐHCN Hà Nội quản lí khoảng 4000 sinh viên việc quản lí điểm của sinh viên được phân theo từng bộ phận như sau:1: Sinh viênTiến hành thi theo đúng quy chế của nhà trường theo từng loại hình đào tạoVí Dụ:Thi lần 1 không qua thì thi lần 2Thi lần 2 không qua thì học lại2:Giáo vụ khoa:khi điểm của 1 môn được đưa đến giáo vụ khoa thì điểm đó cần được cập nhật vào bảng điểm theo từng sinh viên của từng lớp để lưu trữ ,kiểm tra sai sót thì sửa đổi và bổ sung .Trong quá trình học có một số thay đổi từ sinh viên như:•Bảo lưu•Lưu ban.•Thi lần 2•Thi hành nghĩa vụ quân sự•Chuyển lớpThông tin về điểm của sinh viên cần được cập nhật một cách kịp thời và chính xác .
Trang 1LỜI NÓI ĐẦU Chúng ta đang sống trong những năm đầu của thế kỉ 21,chứng kiến những
tiến bộ vượt bậc của khoa học kĩ thuật ,thế kỉ của sự bùng nổ CNTT trên toàn cầu
vì vậy máy tính đã trở thành người bạn đồng hành tốt nhất trong công tác chuyênmôn nghiệp vụ Trong công việc máy tính làm giảm bớt công sức lao động về chântay cũng như vể trí óc bên cạnh đó nó còn giúp con người làm được những khảnăng mà trước đây chưa bao giờ biết đến tin học hoá các lĩnh vực đã góp phần thúcđẩy sự tiến bộ của xã hội Nó đáp ứng một cách nhanh chóng,chính xác và hiệu quảnhững yêu cầu do chúng ta đặt ra trong công tác quản lý ,nghiên cứu các công việcphức tạp Nhanh,bảo mật,thân thiện! là nhũng tính năng rất lớn của CNTT Nếochỉ dùng các công cụ cũ tính toán và lưu trữ dữ liệu như trước thì rất khó khăn vàtốn nhiều thời gian quản lý Đó là các phần mềm hỗ trợ giúp quản lí thay cho việcghi chép và tính toán bằng thủ công mất nhiều thời gian và không đảm bảo chínhxác
Trên thế giơi nói chung và ở Việt Nam nói riêng CNTT đã và đang trở thànhmũi nhọn và CNTT đã khẳng định là ngành không thể thiếu trong các hoạt độngquản lí như quản lí điểm,Ql nhân sự,quản lí sinh viên …
Mặc dù hiện nay có khá nhiều ngôn ngữ và hệ quản trị cơ sở dữ liệu cũng như cácphần mềm chuyên dụng dùng cho quản lý.Song đối với một hệ thống quản lí lớn thìviệc vận dụng các phần mếm đó gặp rất nhiều khó khăn.Nhận thức được tầm quan
trọng của việc áp dụng hệ quản trị cơ sở dữ liệu vào nghiên cứu đề tài:”Xây dựng chương trình quản lí điểm của khoa CNTT-Trường ĐHCN Hà Nội” bằng hệ
quản trị cơ sở dữ liệu SQL mặc dù chỉ là một khía cạch nhỏ trong công tác quản lýnhưng cũng góp phần cho việc quản chính xác hơn nhanh chóng và thuận tiện hơn
Trang 2Xuất phát từ yêu cầu thực tế trong khoa chúng em đã đăng ký chương trìnhxây dựng chương trình hệ thống quản lý điểm trong khoa CNTT trường đại họcCông Nghiệp Hà Nội bằng hệ quản trị cơ sở dữ liệu với mong muốn vận dụngnhững kiến thức đã được trang bị có thể xây dựng được một chương trình hoànchỉnh có tính thực tế và ứng dụng cao
Mặc dù các thành viên trong nhóm đã cố gắng và nỗ lực hết sức, nhưng dothời gian có hạn, kiến thức và kinh nghiệm thực tế còn nhiều hạn chế nên chắc chắn
chương trình “Quản lý điểm trong khoa CNTT-Trường ĐH Công Nghiệp Hà Nội
” còn nhiều điểm cần khắc phục Rất mong nhận được sự đóng góp ý kiến và chỉ
bảo của thầy cô và các bạn
Xin chân thành cảm ơn!
Trang 3MỤC LỤC
Lời nói đầu ……….1
Mục lục 3
Chương I:khảo sát nghiệp vụ đề tài ……… 4
Chương II.Phân tích hệ thống ………10
Mô tả bài toán ”Quản lý điểm” 10
1.Lập biểu đồ phân cấp chức năng ……… 13
2.Biểu đồ luồng data .14
a Biểu đồ luồng data mức khung cảnh 14
b.Biểu đồ luồng data mức đỉnh 15
3.Mô hình liên kết thực thể …… 16
Chương 2: các hàm,thủ tục ,trigger chính trong chương trình ……….19
Chương 3: kết nối giao diện với JAVA
Trang 4Chương I Khảo sát nghiệp vụ đề tài
I.KHẢO SÁT HỆ THỐNG VÀ PHÂN TÍCH HIỆN TRẠNG(hệ thống cũ)
Khoa CNTT-Trường ĐHCN Hà Nội quản lí khoảng 4000 sinh viên việc quản líđiểm của sinh viên được phân theo từng bộ phận như sau:
1: Sinh viên
Tiến hành thi theo đúng quy chế của nhà trường theo từng loại hình đào tạo
Ví Dụ:
Thi lần 1 không qua thì thi lần 2
Thi lần 2 không qua thì học lại
2:Giáo vụ khoa:
khi điểm của 1 môn được đưa đến giáo vụ khoa thì điểm đó cần được cậpnhật vào bảng điểm theo từng sinh viên của từng lớp để lưu trữ ,kiểm tra saisót thì sửa đổi và bổ sung
Trong quá trình học có một số thay đổi từ sinh viên như:
Trang 5Một điều thực tế là trường ta đang tồn tại 2 hình thức đào tạo : Tín Chỉ và Niên Chế
Khi chuyển từ hình thức Niên chế sang Tín chỉ cẩn đáp ứng theo đúng yêu cầu củaloại hình đạo tạo tương ứng
3.Trưởng khoa
Nhận thông tin từ giáo vụ khoa ,xem xét và sửa đổi những phần chưa chính xác
Và gửi điểm lên phòng đào tạo.Kiểm tra xem sinh viên đó đã hoàn thành cáckhoản đóng góp trong nhà trường chưa :học phí … xét các đối tượng ưutiên
Xét chế độ cấp học bổng cho các sinh viên trong từng khoa
Nếo chưa hoàn thành số trình trong kì thì đưa kết quả tụt Ka tới giáo viênchủ nhiệm và giáo viên chủ nhiệm trực tiếp đưa thông tới sinh viên
Tổng hợp và thống kê điểm của sinh viên sau đó rút ra đánh giá và nhận xétđồng thời có phương pháp tổ chức cho học kì sau sao cho phù hợp
điều hành các quá trình quản lí điểm các cấp
B-Từ đó ta tìm được thế mạnh và điểm yếu của hệ thống cũ :
Điểm mạnh:
kinh phí hạn chế
không phải thay đổi hệ thống máy móc và cơ sở hạ tầng
Điểm yếu:
Trang 6việc quản lí thư viện vẫn đang tiến hành thủ công và gặp rất nhiều khó khăn cụ thểlà:
Hầu hết công việc làm bằng phương pháp thủ công kém hiệ quả tốn nhiềuthời gian …
Mất rất nhiều thời gian trong công tác cập nhật điểm
Các hình thức sửa chữa,sao chép … đềo tiến hành thủ công.nên nhiều khikhông đảm bảo được tiến độ và độ chính xác của hệ thống điểm
Tại bất kì thời điểm khi cần thông tin về điểm của sinh viên : Nguyễn Văn
A phải dò tìm trong một tập sổ sách dày Khoá,Lớp,Điểm…
Công tác bảo quản tài liệu cũng gặp rất nhiều khó khăn
Do vậy việc tin học hoá trong lĩnh vực quản lí điểm là rất hợp lí
II.ĐỀ XUẤT MỤC TIÊU CỦA HỆ THỐNG MỚI
1 Yêu cầu của hệ thống mới
Theo tiến trình phát triển ,và đặc thù của công việc thì CNTT cần được ápdụng để giải quyết các vấn đề phức tạp trong công tác quản lí và lưu trữ,các báocáo điểm theo từng kì,
Ngoài việc xử lý nhanh chóng, dễ dàng hơn, hệ thống tin học mới sẽ giúp thầy côquản lý điểm chặt chẽ và chính xác hơn việc lưu trữ số liệu cũng trở nên gọn nhẹhơn
Thiết kế một hệ thống quản lí điểm của khoa CNTT,hệ thống phải được ứng dụngthực tế và hiệu quả bổ sung được các yêu cầu đặt ra trong thời kì mới
Trang 7 cập nhật thông tin nhanh chóng và chính xác
Xem,sửa,xoá một cách dễ dàng và khoa học
Tìm kiếm thông tin nhanh chóng và chính xác
Thông tin có thể xuất ra màn hình theo hai hướng : in ra màn hình và
in ra máy in…
Cách tính điểm tổng kết nhanh chóng và chính xác ,kiểm tra dễ dàng
Tự động hóa các công tác mà từ trước tới nay làm bằng tay
Thực hiện các chức năng hỏi đáp nhanh
Tìm kiếm và truy xuất các thông tin một cách nhanh chóng
Tiết kiệm được nhiều thời gian cho người làm công tác quản lý
Lĩnh vực mà hệ thống mới sẽ làm :
Xây dựng hệ thống quản lí điểm của sinh viên trong khoa nhằm đáp ứng nhu cầuquản lí trong khoa và đặc biệt hệ thống này có thể ứng dụng rộng rãi trên nhiều lĩnhvực quản lí khác …
Yêu cầu chức năng :
hệ thống mới cần có các nhóm chức năng sau :
Quản lí sinh viênQuản lí danh mục điểmBáo cáo thống kê
Quản trị hệ thống
Trang 8Đưa ra các bảng báo cáo thống kê theo yêu cầu của ban lãnhđạo
Đưa ra phương pháp tìm kiếm thông tin về điểm nhanh vàchính xác
1.Quản lí sinh viên:
Các thông tin cần nhập của thông tin khi quản lí điểm:
Trang 93.Báo cáo thống kê:
thống kê số sinh viên đạt học bổng,sinh viên đạt loại G,K,TB ,
thống kê sinh viên tụt K…học lại,thi lại………
4.Quản trị hệ thống:
- Lưu trữ và phục hồi dữ liệu: Cất các dữ liệu cập nhật hàng ngày, tháng năm
ra đĩa mềm
- Cho phép những ai có quyền thay đổi và sửa chữa thông tin
Thuận lợi và khó khăn khi cải tiến hệ thống :
Khó khăn:
Xây dựng cơ sở hạ tầng và trang thiết bị máy móc mới
Làm quen với phương thức làm việc mới
Thuận lợi:
Ngày nay khi khoa học kĩ thuật đang phát triển rất mạnh thì xu hướng tin học hoácông tác quản lí là rất cần thiết và rất thiết thực,hệ thống mới có một số ưu điểmnhư:
cập nhật thông tin nhanh chóng và chính xác
Xem,sửa,xoá một cách dễ dàng và khoa học
Tìm kiếm thông tin nhanh chóng và chính xác
Trang 10 Thông tin có thể xuất ra màn hình theo hai hướng : in ra màn hình và
in ra máy in…
Chương II Phân tích hệ thống
Mô tả chi tiết bài toán
Điểm được nhập vào cơ sở dữ liệu khi kết thúc mỗi học kì, khi mỗi giáo viên bộmôn gửi điểm cho Giáo vụ khoa Giáo vụ khoa bên cạnh việc nhập điểm vào cơ sở
dữ liệu còn phải gửi 1 bảng điểm cho lớp tương ứng Thông tin về lớp gồm có: Mãlớp, tên lớp, hệ đào tạo, Khóa học
Khi bảng điểm về lớp, mọi sinh viên trong lớp đều phải được biết thông tin về mônhọc đó, khi thấy sai sót trong điểm của mình sinh viên đó lên gặp giáo viên bộ môntương ứng để xem xét lại, khi giáo viên bộ môn xác nhận sai sót về điểm của sinhviên đó thì giáo viên bộ môn sẽ gửi điểm đã chỉnh sửa về cho giáo vụ khoa
Khi kết thúc mỗi năm học, giáo vụ khoa sẽ tổng kết điểm của năm học đó và gửi vềlớp bảng điểm tổng kết của tất cả các môn của năm học đó Trong bảng điểm đó cótất các thông tin về điểm tổng kết lần 1, lần 2, những môn học còn nợ, số Đơn vịhọc trình còn nợ
Một sinh viên mà vẫn còn có học phần bị nợ thì phải có nhiệm vụ trả nợ học phần
đó Việc trả nợ không phải lúc nào cũng được Mỗi môn sẽ thuộc một khoa và do
Trang 11một giáo viên dạy, khi đến có kế hoạch trả nợ cho sinh viên giáo vụ của khoa đó sẽthông báo cho lớp đó biết lịch trả nợ Và những sinh viên còn nợ học phần nào thìlên khoa tương ứng để đăng kí trả nợ Khi một sinh viên trả nợ xong một học phần,thì điểm tổng kết khi trả nợ sẽ được thông báo lên khoa CNTT, và giáo vụ khoaCNTT làm nhiệm vụ cập nhật lại điểm và số học phần còn nợ Khi một sinh viênchưa trả nợ xong học phần trong lần trả nợ đầu tiên thì sẽ tiếp tục trả nợ đến khinào trả xong thì thôi và điểm khi trả nợ vẫn được update lên khoa Nếu trong nămhọc đó sinh viên đã trả nợ xong học phần của mình còn nợ của năm đó thì điểm trả
nợ không được tính cho điểm tổng kết của năm đó, điểm trả nợ được tính cho điểmtổng kết Toàn khóa khi chúng ta hoàn thành khóa học Kết thúc mỗi năm học giáo
Vụ khoa tổng kết về kết quả học tập của khoa và gửi lên cấp trên
Một sinh viên sau một năm có điểm tổng kết của năm học đó < 5.0 sẽ bị lưu banxuống lớp tương ứng Và mọi thông tin về sinh viên đó cũng phải được chuyểnxuống lớp tương ứng Thông tin về một sinh viên gồm có: mã Sinh viên, Họ tên,Ngày sinh, quê quán,… Và điều quan trọng khi một sinh viên lưu ban đó là nhữngđiểm những học phần đã hoàn thành phải được bảo lưu, và chúng ta nhận thấy thực
tế là khoa trường Công Nghiệp đang tồn tại hai hình thức đào tạo: Niên chế và Tínchỉ Khi sinh viên bị lưu ban từ hình thức đào tạo từ Niên chế sang Tín chỉ thì mọiloại điểm của sinh viên đó cũng phải được thay đổi tương ứng: 8.5 – 10 = loại A,7.0 – 8.4: loại B, 5.5 – 6.9: loại C, 4.0 – 5.4: loại D, 2.5 – 3.9: loại E còn lại là loạiF
Một sinh viên có điểm tổng kết trên 7.0 sẽ được xét học bổng Việc xét học bổng sẽ
có một bộ phận làm việc đó, việc xét học bổng được thực hiện như sau: xét từ điểmcao trở xuống, xuống đến khi nào đủ chỉ tiêu hoặc sinh viên có điểm tổng kết = 7.0thì thôi Một sinh viên được nhận học bổng là sinh viên không phải thi lại môn nàotương ứng với học kì đó
Trang 12Khi hoàn thành xong khóa học theo thời gian, thì hệ thống xét Tốt nghiệp sẽ xétđiều kiện được dự thi tốt nghiệp của từng sinh viên Một sinh viên không còn nợhọc phần nào đã đủ ĐK được dự thi Tốt nghiệp Những sinh viên chưa được thi Tốtnghiệp sẽ hoàn thành những học phần còn nợ trong năm tiếp theo và sẽ được dự thiTốt nghiệp với khóa tiếp theo khi trả nợ xong.
Mỗi sinh viên có một mã Sinh viên, khi có yêu cầu về điểm của mỗi sinh viên vớimỗi mã sinh viên sẽ cho ra một thông báo điểm về từng kì, từng năm, cả năm, cảkhóa của sinh viên đó, bên cạnh đó mã sinh viên còn cho biết mọi thông tin củasinh viên đó: về lớp học, khóa học, ngành học, quê quán…
Vì đây là chương trình quản lý điểm nên với những điều kiện xét dự thi tốt nghiệp
và xét học bổng chỉ dự trên nguyên tắc điểm
Các form và báo cáo cần lập: Chương trình phải cho biết được khoa CNTT có baonhiêu sinh viên, giáo viên chủ nhiệm của từng lớp, tất cả các thông tin cần thiết vềsinh viên, cho biết điểm tổng kết của từng môn học, tổng kết từng kì từng năm, cảkhóa, thêm sinh viên mới, và bảng điểm phải đáp ứng kịp thời khi cần Báo cáotheo từng năm, từng kì về tất cả các mặt: học lực, khen thưởng, kỷ luật
1.Vẽ mô hình phân rã chức năng
Biểu đồ phân rã chức năng sẽ phân ra các chức năng lớn của hệ thông thànhcác chức năng nhỏ Qua đó để thấy rõ nhiệm vụ của từng bộ phận trong cơquan, bao gồm các chức năng chính :
2.Phân tích hệ thống
Theo sơ đồ phân rã chức năng ta có
Chức năng chính của chương trình là “quản lý điểm “ có các chức năng con :
Trang 13 Chức năng Quản lý sinh viên :quản lý sinh viên bao gồm nhập thông tinsinh viên và cập nhật thông tin sinh viên( Mã HSSV,họ tên ,quê quán … )
Chức năng Quản lý lớp :nhập thông tin lớp (Mã lớp,tên lớp…) và cập nhậtthông tin lớp
Chức năng Quản lý môn học: nhập thông tin môn học sửa thông tin mônhọc,xóa thông tin môn học …
Chức năng Làm điểm : Nhập điểm ,sửa thông tin điểm ,tính điểm …
Chức năng Báo cáo thống kê: lập phiếu điểm ,lập danh sách lên lớp ,lậpdanh sách lưu ban, lập danh sách học lại thi lại ,lập danh sách tốtnghiệp ,lập danh sách thi lại tốt nghiệp,làm báo cáo tổng kết năm và làmbáo cáo tổng kết kỳ…
Trang 14Mô hình phân rã chức năng
Trang 15Mô hình luồng dữ liệu mức khung cảnh
Trang 16MÔ HÌNH LUỒNG DỮ LIỆU MỨC DƯỚI ĐỈNH
Trang 17Mô hình thực thể liên kết của hệ thống
Trang 18Chuẩn hóa dữ liệu về dạng 3NF
Trang 19B.Dùng hệ quản trị cơ sở dữ liệu SQL thực hiện các chức năng của hệ thống
1.Bảng ảo VIEW
tạo ra các bảng ảo để lưu trữ các thông tin cho các báo các cơ bản như các báo cáo thống kê : thống kê số lượng sinh viên trong từng lớp, báo cáo thống kê số sinh viên của từng lớp ,báo cáo thống kê các sinh viên được học bổng của từng lớp hoặc dữ liệu của các màn hình nhập liệu phức tạp có liên kết dữ liệu với nhiều bảngkhác hoặc các màm hình tra cứu thông tin cho người sử dụng
việc sử dụng các khung nhìn trong cơ sở dữ liệu đem lại các lợi ích như:
bảo mật dữ liệu
đơn giản các thao tác truy vấn dữ liệu
tập trung và đơn giản dữ liệu
độc lập
Các VIEW chính sử dụng trong bài :
VIEW1 chọn ra 3 sinh viên có điểm cao nhất sắp xếp theo chiều tăng dần
CREATE VIEW VIEW1
AS
SELECT TOP 3 MASV,DIEML1,DIEML2 FROM KETQUAHOCTAP WHERE MASV IN
(SELECT MASV FROM KETQUAHOCTAP)
ORDER BY DIEML1 DESC
Trang 20VIEW2 Đưa ra danh sách các sinh viên thuộc lớp KHOA HỌC MÁY TÍNH 1CREATE VIEW VIEW2
AS
SELECT MASV,HOSV,TENSV,NGAYSINH,DATEDIFF(YY,NGAYSINH,GETDATE())
AS TUOI FROM SINHVIEN
VIEW 4: hiển thị các sinh viên có ngày sinh trùng nhau :
CREATE VIEW VIEW4
VIEW 5 -hiển thị những sinh viên phải thi lại và tên môn học phải thi lại:
CREATE VIEW VIEW5
AS
SELECT S.MASV,HOSV,TENSV,DIEML1,TENMH FROM (SINHVIEN S JOIN KETQUAHOCTAP K ON S.MASV=K.MASV)
Trang 21JOIN MONHOC M ON M.MAMH=K.MAMH
WHERE DIEML1<5
VIEW 6 Đưa ra danh sách các sinh viên thi trượt tốt nghiệp
CREATE VIEW VIEW6
AS
SELECT S.MASV,HOSV,TENSV,DIEM FROM SINHVIEN S JOIN DIEMTN D ON S.MASV=D.MASV
WHERE DIEM<5
VIEW 7 Đưa ra số sinh viên của từng lớp
CREATE VIEW VIEW7
Trang 22GROUP BY LOAIHEDT
2.PROCEDURE
Các thủ tục chính của hệ thống Procedure 1: Tìm điểm thi lần 1 theo mã sinh viên
CREATE PROC PROC1 @MASINHVIEN CHAR(10),@DIEML1 INT OUTAS
SELECT @DIEML1=DIEML1
FROM KETQUAHOCTAP K
WHERE K.MASV=@MASINHVIEN
GO
Procedure 2: Tìm thông tin sinh viên theo mã sv
CREATE PROC PROC2 @MASV CHAR(10),@HO_SV CHAR(10)
OUT,@TEN_SV CHAR(10) OUT,@NGAY_SINH SMALLDATETIME OUT, @QUE_QUAN CHAR(10) OUT
AS
SELECT
@HO_SV=HOSV,@TEN_SV=TENSV,@NGAY_SINH=NGAYSINH,@QUE_QUAN=QUEQUAN
FROM SINHVIEN
WHERE MASV=@MASV