Tùy theo tài khoản ñăng nhập mà chương trình sẽ cung cấp cho người dùng các chức năng sau : •Nếu giáo viên thực hiện ñăng nhập không phải là giáo viên quản trị thì chỉ dùng ñược các chức
Trang 1NTTULIB
TRƯỜNG CAO ðẲNG NGUYỄN TẤT THÀNH
KHOA CÔNG NGHỆ THÔNG TIN
LƯU CÔNG MINH – NGUYỄN HỮU MẠNH
XÂY DỰNG WEBSITE THI CÁC CHỨNG CHỈ TIN HỌC QUA MẠNG
KHÓA LUẬN TỐT NGHIỆP
TP HCM, 2008
Trang 2NTTULIB
TRƯỜNG CAO ðẲNG NGUYỄN TẤT THÀNH
KHOA CÔNG NGHỆ THÔNG TIN
LƯU CÔNG MINH – 306305048 NGUYỄN HỮU MẠNH – 306305047
XÂY DỰNG WEBSITE THI CÁC CHỨNG CHỈ TIN HỌC QUA MẠNG
KHÓA LUẬN TỐT NGHIỆP
GIÁO VIÊN HƯỚNG DẪN
THẦY NGUYỄN KIM QUỐC
KHÓA 2006 - 2008
Trang 4NTTULIB
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Tp.HCM, Ngày……tháng……năm Giáo viên hướng dẫn [ Ký tên và ghi rõ họ tên ]
Trang 5NTTULIB
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Tp.HCM, Ngày……tháng……năm
Giáo viên hướng dẫn [ Ký tên và ghi rõ họ tên ]
Trang 6Em xin chân thành cảm ơn khoa Công Nghệ Thông Tin, trường Cao ðẳngNguyễn Tất Thành ñã tạo ñiều kiện thuận lợi trong học tập
Em cảm ơn các thầy cô trong khoa ñã tận tình giảng dạy, trang bị cho chúng em những kinh nghiệm, những kiến thức quý báu trong những năm học vừa qua
Do giới hạn về thời gian và thiếu kinh nghiệm chuyên môn cũng như kinh nghiệm thực tiễn nên ñề tài không tránh khỏi những thiếu sót ngoài ý muốn Chúng em rất mong nhận ñược sự thông cảm của Quý Thầy cô và mong nhận ñược sự ñóng góp ý kiến của Thầy cô và các bạn
LƯU CÔNG MINH NGUYỄN HỮU MẠNH
Trang 7NTTULIB
ðỀ CƯƠNG CHI TIẾT
Tên ðề Tài : Xây dựng Website thi các chứng chỉ tin học qua mạng Giáo viên hướng dẫn : Thầy Nguyễn Kim Quốc
Thời gian thực hiện : từ 4/2008 ñến 8/2008 Sinh viên thực hiện :
Nguyễn Hữu Mạnh MSSV : 306305047 Lưu Công Minh MSSV : 306305048 Loại ñề tài :ðề tài ứng dụng
Nội Dung ðề Tài : Xây dựng Website cho phép :
• Thí sinh ñăng ký , ñóng phí , dự thi, xem kết quả các chứng chỉ tin học (A,B, C, chuyên ñề …) qua mạng
• Người quản lý có thể quản lý các ñối tượng liên quan (ñề thi , thí sinh, kết quả ….) Nội dung thực hiện :
1 Phân tích thiết kế hệ thống (chương trình, cơ sở dữ liệu)
2 Xây dựng web tĩnh, cơ sỡ dữ liệu và lập trình Web
Xuất bản Web, chạy và thử
Kế Hoạch Thực Hiện : Chia làm 3 giai ñoạn :
• Giai ñoạn 1 :( từ 16/4 ñến 16/5) Phân tich, tìm hiểu nội dung ñề tài
Thiết kế giao diện Xây dựng cơ sở dữ liệu
• Giai ñoạn 2 :(từ 17/5 ñến 17/6) Xây dưng trang web gồm có :
Thí sinh : cho phép thí sinh ñăng ký dự thi, xem lịch thi, dự thi và xem kết quả Giáo vụ : cho phép giáo vụ lập danh sách dự thi, ra ñề thi, chấm ñiểm, và ñưa ra kết quả Quản trị : quản trị server, thí sinh và giáo vụ
Báo cáo tiến ñộ thực hiện ñề tài Lập trình Web
• Giai ñoạn 3 : (từ 18/6 ñến 19/7) Xuất bản Web
Chạy thử
• Giai ñoạn 4 : (từ 20/7 ñến 1/8)
Tổng hợp báo cáo : Thiết kế giao diên trên Macromedia Dreamweaver 8( web tĩnh) và ASP.net(web ñộng) kết nối dữ liệu với Microsoft Office Access,xuất bản web ra file setup
Xây dựng 1 trang web thi các chứng chỉ tin học qua mạng , cho phép thí sinh ñăng ký
dự thi, xem lịch thi, dự thi và xem kết quả , bài thi gồm 50 câu làm trong 30’
Trang 82.Cài ñăt và thiết kế Macromedia Dreamweaver và ASP.NET kết nối với Microsoft Office Access 4.(5/5 – 12/5) 1 Kiểm tra và thiết kế lai kết quả của tuần 3
2.Phân tích và tìm hiểu Macromedia Dreamweaver , ASP.NET kết nối với Microsoft Office Access 5.(12/5 – 19/5) 1 Kiểm tra và phân tích lai kết quả của tuần 4
2 Phân tích và tìm hiểu code 6.(19/5 – 26/5) Thi hoc kì
7.(26/5 – 2/6) 1 Kiểm tra và phân tích lai kết quả của tuần 5
2 Phân tích và tìm hiểu code và triển khai thiết kế , chỉnh sửa
8.(2/6 – 9/6) 1 Kiểm tra và phân tích lai kết quả của tuần 7
2 Phân tích và triển khai kết quả ñạt ñược 9.(9/6 – 16/6) Kiểm tra và ñiều chỉnh kết quả ñể nộp báo cáo 1 10.(16/6 – 23/6) Tìm hiểu các lệnh, thao tác trên Macromedia
Dreamweaver và ASP.NET kết nối với Microsoft Office Access
11.(23/6 – 30/6) Thử nghiệm chạy thử trên máy 12.(30/6 – 7/7) Kiểm tra và phân tích chạy thử trên máy ảo 13.(7/7 – 14/7) 1.Viết và kiểm tra website
2 Chạy thử trên máy 14.(14/7 – 21/7) Kiểm tra lại và sửa lỗi 15.(21/7 – 28/7) Kiểm tra ,Hoàn chỉnh website 16.(30/7 – 8/2008) 1.Nộp báo cáo cho khoa
2.Bảo vệ chính thức Xác nhận của GVHD
Nguyễn Kim Quốc
Ngày 23 tháng 4 năm 2008
SV Thực hiện
Nguyễn Hữu Mạnh Lưu Công Minh
Trang 9NTTULIB
Mục lục
Phần 1 Phân tích hệ thống
1 Tổng quan
2 Tìm hiểu hệ thống thi trắc nghiệm
3 Yêu cầu của từng người dùng
4 Yêu cầu của hệ thống
Phần 2 Thiết kế hệ thống
1 Mô hình Diagram
2.1.1 Mô hình hệ thống
2.1.2 Mô hình chi tiết
2 Cơ sở dữ liệu Access
Phần 3 Hiện thực hệ thống
3.1 Xây dựng cơ sở dữ liệu
3.1.1 Cấu trúc các bảng
3.1.2 Dữ liệu mẫu
3.2 Xây dựng trang web
3.2.1 Thiết kế các trang web tĩnh
3.2.2 Nội dung trang web asp
3.3 Xây dựng Website
3.3.1 Cài web server IIS
3.3.2 Cấu hình trang web asp
Phần 4 Vận hành, kiểm tra hệ thống
4.1Vận hành hệ thống
4.2 Kiểm tra hệ thống
4.2.1 Dữ liệu
4.2.2 Xử lý
Phần 5 Tổng kết
Trang 102/ Các hướng tiếp cận
- Nhận ñề tài và xác ñịnh rõ thời gian làm ñề tài
- Xác ñinh rõ ñề tài trên các vấn ñề sau : Nội dung ñề tài : “ Xây dựng website thi các chứng chỉ tin học qua mạng :
ðề tài thuộc loại “ xây dựng chương trình ứng dụng”
Ngôn ngũ dùng ñể xây dựng chương trình : asp.net, tìm kiếm những tài liệu cần thiết cho ñề tài
3/ Cách giải quyết Từng bước thực hiện theo ñề cương chi tiết mà giáo viên hướng dẫn
ñã ñề ra
4/ Kết quả dạt ñược Quá trình làm dề tài thuận lợi nhưng cũng gặp không ít khó khăn nhưng nhóm em vẫn cố gắng thực hiện ñúng tiến ñộ ñã ñề ra, và cơ bản ñã hoàn chỉnh khóa luận tốt nghiệp
Tổng quan của ñề tài sẽ ñược phân chia thực hiện theo trình tự như sau: gồm có
5 phần :
Phần 1/ Phân tích hệ thống Phần 2/ Thiết kế hệ thống Phần 3/ Hiện thực hệ thống Phần 4/ Vận hành, kiểm tra hệ thống Phần 5/ Tổng kết
Trang 12NTTULIB
Sự kết hợp giữa phương pháp thi trắc nghiệm và tin hoc không những ñáp ứng ñược các yếu tố mà còn giúp tiết kiệm chi phí tổ chức thi, thời gian công sức của giáo viên ñồng thời kết quả lại nhanh chóng và ñộ chính xác cao Với các ưu ñiểm trên, Bộ Giáo dục nước ta ñang tiến hành ñưa phương pháp thi trắc nghiệm vào
kỳ thi tuyển sinh ñai học Còn ở các trường từ trung hoc cơ sở ñến ñại học, hình thức thi trắc nghiệm ñã và ñang ñược sử dung trong hầu hết các môn thi Nhìn chung phương pháp thi trắc nghiệm ñang là một xu hướng trong ñào tạo
2/Tìm hiểu Hệ thống thi trắc nghiệm
Qua quá trình tìm hiểu phương pháp thi trắc nghiệm và dùng thử một số phần mềm thi trắc nghiệm trên máy tính cho một số lĩnh vực khác nhau, chúng em rút ra một số ñặc ñiểm chung như sau Các hệ thống hỗ trợ thi trắc nghiệm thường có 3 phần chính :
- Soạn, hiệu chỉnh, lưu trữ câu hỏi
- Soạn, hiệu chỉnh, lưu trữ ñề thi
- Tổ chức thi, báo cáo kết quả
3/ Yêu cầu từng người dùng
a) Người quản trị:
• Theo dõi tiến trình phát triển của dự án và theo dõi tình hình hoạt ñộng của website
• Quản lý thông tin của giáo vụ, thi sinh
• Quản trị dùng chức năng kiểm duyệt ñể xét duyệt câu hỏi
• Nhiệm vụ : bảo vệ và quản trị hệ thống , lấy dữ liệu và ñỗ dữ liệu xuống
b) Giáo vụ:
Trang 13NTTULIB
Giáo vụ trước khi sử dụng hệ thống phải thông qua chức năng dăng nhập Tùy theo tài khoản ñăng nhập mà chương trình sẽ cung cấp cho người dùng các chức năng sau :
•Nếu giáo viên thực hiện ñăng nhập không phải là giáo viên quản trị thì chỉ dùng ñược các chức năng : soạn thảo, hiệu chỉnh câu hỏi, và ñề thi
• Nếu là giáo viên quản trị thì sẽ ñược quyền kiểm duyệt câu hỏi và ñề thi
Hệ thống phải ñảm báo tính bảo mật, an toàn thông tin một cách tuyệt ñối
Yêu cầu của chương trình
Các yêu cầu của chương trình bao gồm
ðể chương trình có thể quản lý ñược ñiểm thi của thí sinh, chương trình cần phải có chức năng cập nhật và lưu trữ thông tin về danh sách thí sinh Ngân hàng
ñề thi ñược ñưa vào chương trình trước ñó và các câu hỏi ñược chọn ngẫu nhiên Mỗi người sẽ có một ñề khác nhau
Các chức năng cập nhật dữ liệu cho chương trình phải thông qua các user có ñủ quyền hạn.Các ñề thi ñược lưu lại trong các cơ sở dữ liệu ñể có thể kiểm tra lại sau
Sau khi thi xong sẽ có thể biết ñiểm ngay hoặc sẽ công bố sau tùy vào ñặc ñiểm của từng kì thi
Các chức năng chính trong chương trình
Trang 14NTTULIB
Cập nhật danh sách thí sinh: chức năng cập nhật danh sách thí sinh cho phép người sử dụng chương trình có thể cập nhật, xóa hoặc sửa thông tin về thí sinh ðể thực hiện việc này người cập nhật phải có những quyền hạn nhất ñịnh
Cập nhật danh sách bộ ñề thi và câu hỏi trắc nghiệm: tương tự như chức năng cập nhật danh sách thí sinh, chức năng này cho phép người có quyền hạn có thể cập nhật, xóa và thay ñổi các thông tin về bộ ñề cũng như các câu hỏi
Cập nhật các thông tin về bộ ñề và câu hỏi thi trắc nghiệm Chức năng này cho phép người sử dụng có thể sử dụng chương trình ñể soạn lịch các kỳ thi, bộ ñề cho các kỳ thi
Chức năng thi trắc nghiệm trên mạng Chức năng này là chức năng quan trọng, thí sinh sử dụng chức năng này ñể làm bài thi và khai báo các thông tin ñăng kí thi tuyển Trong ki ñăng kí các thí sinh sẽ khai báo các thông tin như họ tên, ngày sinh, ñịa chỉ, mật khẩu … Các thông tin này sẽ ñược cập nhật và ñược kiểm chứng trước khi ñược gửi lên Web server
Xem ñiểm thi của thí sinh
Phần 2 Thiết kế hệ thống
1/ Mô hình Diagram
1 Mô hình hệ thống
Trang 15NTTULIBHình 1 : Mô hình quản lý hệ thống
Trang 16NTTULIBHình 2 : Mô hình User Case của Thí sinh
Trang 17NTTULIB
Hình 3 : Mô hình User Case của Quản trị
Hình 4 :Mô hình User Case của Giáo vụ
o ðặc tả User case : ðăng ký :
Người dùng chọn link “ ðăng ký “ trong phần ñăng nhập ñể liên kết ñến trang ñăng ký Người dùng phải ñiền một số thông tin cá nhân Click nút “ðăng ký”
ñể xác nhận
Hệ thống sẽ kiểm tra tồn tại tên ñăng nhập mà người dùng ñăng ký chưa Nếu
ñã tồn tại, hệ thống sẽ thông báo ñể người dùng chọn lại Nếu chưa : ñăng ký thành công
ðăng nhập : Người dùng nhập tên ñăng nhập và mật khẩu, click nút “ ðăng nhập “ ñể xác nhận
Trang 18Soạn câu hỏi : Sau khi ñăng nhập vào giáo vụ vào chức năng soạn câu hỏi trên menu “ Soạn câu hỏi “ Câu hỏi sẽ ñược lưu xuống cơ sở sở dữ liệu trong bảng ðề thi
2 Mô hình chi tiết
Trang 19NTTULIBHình 4 : Lược ñồ tuần tự ñăng nhập
Trang 20NTTULIB
Hình 5 : Lược ñồ cộng tác ñăng ký
ðặc tả : User case này bắt ñầu khi có một người dùng muốn ñăng ký làm thành viên trên trang Web :
Hệ thống yêu cầu người dùng phải nhập một số thông tin cá nhân bắt buộc : tên ñăng nhập, họ tên, ngày, tháng năm sinh, mật khẩu và ñịa chỉ emai
Người dùng nhập vào những textbox tương ứng Nếu người dùng không nhập
gì cả hoặc nhập thiếu thông tin bắt buộc thì hệ thống sẽ thông báo nhắc nhỡ và trở lại màn hình ñăng nhập như cũ
Người dùng nhấn nút “ ðăng ký “ ñể xác nhận thông tin cá nhân
Hệ thống sẽ truy cập cơ sở dữ liệu ñể kiểm tra tên ñăng nhập ñã tồn tại chưa Nếu chưa tồn tại hệ thống sẽ cập nhật thông tin mới cho thành viên
Trang 22NTTULIB
Hình 7 : Lược ñồ cộng tác ñăng nhập ðặc tả :
User case bắt ñầu khi người dùng nhấn vào menu ñăng nhập hoặc ñăng nhập trưc tiếp trên menu :
Hệ thống yêu cầu người dùng nhập tên ñăng nhập và mật khẩu Người dùng nhập vào những Textbox tương ứng Nếu người dùng không nhập
gì cả hoặc nhập thiếu thông tin thì hệ thống sẽ thông báo nhắc nhở và trở lại màn hình ñăng nhập như cũ
Người dùng nhấn nút “ ñăng nhập “ ñể xác nhận thông tin cá nhân
Hệ thống sẽ truy cập cơ sở dữ liệu ñể kiểm tra tồn tại tên ñăng nhập và mật khẩu hay chưa Nếu tồn tại , hệ thống thông báo ñăng nhập thành công cho người dùng, link tói trang ñăng nhập thành công
Nếu không tồn tại, hệ thống thông báo lỗi và trở về màn hình ñăng nhập như
cũ
Trang 24NTTULIB
Hình 9 : Lược ñồ cộng tác Thi ðặc tả :
User case bắt ñầu khi người dùng nhấn vào link “ Thi “ trên menu :
Hệ thống sẽ yêu cầu nhập mã thí sinh : Sau khi nhập mã thí sinh , người dùng nhấn nút ñăng nhập ñể bắt ñầu thi
Hệ thống sẽ truy cập cơ sở dữ liệu ñể kiểm tra mã thí sinh này thi rồi hay chưa Nếu ñã thi rồi hệ thống sẽ thông báo lỗi và trở về màn hình ñăng nhập
Nếu thi sinh chưa thi hệ thống sẽ chuyển sang trang thi, lấy cơ sở dữ liệu lấy
ñề thi ra thể hiện cho người dùng thi kiểm tra
Trang 25NTTULIBHình 10 : Lược ñồ tuần Xem kết quả
Trang 26Hình 12 : Lược ñồ tuần tự Soạn câu hỏi
Trang 27NTTULIB
Hình 13 : Lược ñồ cộng tác Soạn câu hỏi
ðặc tả : User case bắt ñầu khi giáo vụ ñăng nhập thành công và thực hiện chức năng soạn câu hỏi trên menu Soạn câu hỏi
auk hi soạn câu hỏi xong hệ thống sẽ tự ñộng lưu câu hỏi vào bảng ðề thi trong co sở dữ liệu
2/ Cơ sở dữ liệu Access
Trang 28NTTULIBHình 14 : Mô hình cơ sỡ dữ liệu
Phần 3 Hiện thực hệ thống
Trang 29Giá trị ngầm ñịnh
Ràng buộc
Giá trị ngầm
Ràng buộc
Trang 30Giá trị ngầm ñịnh
Ràng buộc
Giá trị ngầm ñịnh
Ràng buộc
chính
Trang 32NTTULIB
Hình 17 : Dữ liệu bảng Kết quả
Hình 18 : Dữ liệu bảng Username
2/ Xây dựng trang web
1 Thiết kế các trang web tĩnh :
• Trang Chủ
Trang 33NTTULIBHình 19: Màn hình trang chủ
• Trang ñăng ký
Trang 35NTTULIBHình 22: Màn hình trang thi
• Trang kết quả
Trang 36NTTULIBHình 23 : Màn hình trang kết quả
• Trang tin tức
Trang 37NTTULIB
Hình 24 : Màn hình trang tin tức
Hình 25: Màn hình trang ñiểm thi
• Trang thông tin chứng chỉ
Trang 38NTTULIBHình 26 : Màn hình Web trang thông tin chứng chỉ
Trang 39<form method="POST" action="kiemtra.asp">
<p><font size="4">Nhap ma hoc vien :
<input type="text" name="ma" size="20">
<input type="submit" value=" Dang nhap " name="B1"></font></p>
<p> </p>
</form>
b/ Nội dung trang Kiểm tra
<% ma=request.form("ma") set con=server.createobject("ADODB.connection") str="provider=microsoft.jet.OLEDB.4.0;data source="
Trang 40NTTULIB
con.open str set R1=server.createobject("ADODB.RecordSet") sql1="select * from hocvien where "
sql1=sql1 & "mahv='" & ma & "'"
sql2=sql2 & "mahv='" & ma & "'"
R2.open sql2,con
if R2.eof then
session("mahv")=R1("mahv") session("hoten")=R1("hoten") session("ngaysinh")=R1("ngaysinh") session("noisinh")=R1("noisinh") server.transfer("batdau.asp") else
response.write("Hoc vien nay da thi roi") end if
R2.close set R2=nothing end if
R1.close set R1=nothing con.close set con=nothing
%>
Trang 41for i=0 to 15
chon(i)=false next
con.open str
set RS=server.createobject("ADODB.recordset") sql="select * from dethi "
RS.open sql,con
do
randomize x=int(15*rnd)
Trang 42NTTULIB
chon(x)=true session("chon")=chon
RS.move x session("macau")=RS("macau") session("dapan")=RS("dapan")
%>
Cau : <%=session("socau")%> Diem : <%=session("sodiem")%><br> Hoi : <%=RS("cauhoi")%> <br>
<form method=post action=tiep.asp>
<input type=radio name=dap value=a><%=RS("cauA")%> <br>
<input type=radio name=dap value=b><%=RS("cauB")%> <br>
<input type=radio name=dap value=c><%=RS("cauC")%> <br>
<input type=radio name=dap value=d><%=RS("cauD")%> <br>
<input type=submit value=" Tiep ">
</form>
<% RS.close
set RS=nothing con.close set con=nothing
sql="insert into baithi(mahv,macau,traloi) values("
sql=sql & "'" & session("mahv") & "',"
sql=sql & "'" & session("macau") & "',"