BÁO CÁO MÔN LẬP TRÌNH WINDOWS NÂNG CAO: CHƯƠNG TRÌNH THI TRẮC NGHIỆM TIẾNG ANH
Trang 2MỤC LỤC
I Giới Thiệu Sơ Lược Đề Tài 3
1 Mục đích của đề tài: 3
2 Yêu cầu đặt ra: 3
II Thực hiện 4
1 Phân tích Cơ Sở Dữ Liệu: 4
2 Diễn Giải Cơ Sở Dữ Liệu 4
a Bảng TB_CAUHOI 4
b Bảng TB_DAPAN 5
c Bảng TB_KETQUA 5
d Bảng TB_MONTHI 6
e Bảng TB_NHANVIEN 6
f Bảng TB_THISINH 7
3 Cài đặt chương trình 7
Giới thiệu các Source: 20
III Kết luận: 22
1 Nhận xét đề tài: 22
Trang 3I Giới Thiệu Sơ Lược Đề Tài
- Đề đưa ra hoàn toàn không theo ý của
- Tìm hiểu sâu hơn về mô hình 3 – tier, kết nối cơ sở dữ liệu, các chức năng thêm,cập nhật, xóa, lưu trữ, tìm kiếm, … trong Microsoft Visual Studio 2010
2 Yêu cầu đặt ra:
- Thiết kế đề tài theo mô hình 3 –tier
- Kết nối thành công với cơ sở dữ liệu
- Chương trình có chức năng thêm mới, lưu trữ
- Chương trình có chức năng cập nhật
- Chương trình có chức năng xóa
- Chương trình có chức năng tìm kiếm
Trang 4II Thực hiện
1 Phân tích Cơ Sở Dữ Liệu:
2 Diễn Giải Cở Sở Dữ Liệu
a Bảng TB_CAUHOI
Chứa thông tin về các kết quả của bài thi thí sinh gồm: MACAUHOI, NOIDUNG, MAMON, MANHANVIEN
1 MACAUHOI (not null – nchar Quy định thông tin mã
Trang 53 NOIDUNG nvarchar Quy định thông tin nội
dung của câu hỏi
4 MANHANVIEN (not null
– khóa chính, khóa ngoại TB_NHANVIEN
nchar Quy định thông tin mã
Nhân Viên, giúp tìm dễ dàng tìm thông tin nhân viên
b Bảng TB_DAPAN
Chứa thông tin về các kết quả của bài thi thí sinh gồm: MACAUHOI, MADAPAN, NOIDUNGDAPAN, KIEUDAPAN
1 MACAUHOI (not null –
khóa chính, Khóa ngoại TB_CAUHOI )
nchar Quy định thông tin mã
c Bảng TB_KETQUA
Chứa thông tin về các kết quả của bài thi thí sinh gồm: MAKQ, MATHISINH,
TENTHISINH, MAMON, DIEM, NGAYTHI
1 MAKQ(not null – khóa
chính)
Int (not null – khóa chính)
Quy định mã kết quả để CSDL dễ lưu lại kết quả
2 MATHISINH (not null –
khóa chính, Khóa ngoại TB_THISINH )
nchar Quy định mã thí sinh, để
lấy thông tin thí sinh trong bảng
TB_THISINH
3 TENTHISINH nvarchar Quy định thông tin tên
của thí sinh làm bài
4 MAMON (not null – khóa
chính, Khóa ngoại TB_MONTHI )
nchar Quy định mã moonthis
sinh đang thi, cũng như giúp chương trình lấy thông tin cần thiết từ
Trang 6bảng TB_MONTHI.
thí sinh thi được
dự thi
d Bảng TB_MONTHI
Chứa thông tin về các kết quả của bài thi thí sinh gồm: MAMON, TENMON
1 MAMON (not null – khóa
chính)
nchar Quy định mã môn
e Bảng TB_NHANVIEN
Chứa thông tin về các kết quả của bài thi thí sinh gồm: MANHANVIEN, HOTEN, TENDN, MATKHAU, CHUCVU, DIACHI, SODIENTHOAI
1 MANHANVIEN (not null –
khóa chính)
nchar Quy định mã nhân viên
viên
đăng nhập của nhân viên
nhân viên có thể đăng nhập, và mỗi nhân viên
sẽ có một tên đăng nhập
và một mật khẩu quy định
vụ của nhân viên ấy
chỉ nơi sinh sống của nhân viên ấy
Trang 7f Bảng TB_THISINH
Chứa thông tin về các kết quả của bài thi thí sinh gồm: MATHISINH, HOTEN, TENDN, MATKHAU, DIACHI
1 MATHISINH (not null –
khóa chính)
nchar Quy định mã nhân viên
sinh
đăng nhập của thí sinh
để thí sinh dự thi
thí sinh có thể đăng nhập, và mỗi thí sinh sẽ
có một tên đăng nhập và một mật khẩu quy định
chỉ nơi sinh sống của nhân viên ấy
3 Cài đặt chương trình
Màn hình khi chạy chương trình, tại đây cho biết thông tin Giáo Viên Hướng Dẫn,cũng như các thành viên thực hiện
Trang 8Màn hình giao diện đăng nhập chính: có chức năng đăng nhập vào hệ thống của chương trình và hệ thống tự động nhận biết user đăng nhập là thí sinh hay nhân viên
1 Chọn quyền Group Giúp người dùng truy cập vào chương trình
với vai trò là gì
+ Tại đây có 2radio nếu nhấn vào radio thí sinh, người dùng có thể đăng nhập vào hệ thống, hay đổi mật khẩu Nhưng nếu đây là lần đầu sử dụng thì người dùng có thể tạo cho mình một tài khoản để sử dụng
+ Còn nếu nhấn vào radio nhân viên thì tại đây form chỉ cho người dùng đăng nhập và đổi mật khẩu, không có button đăng ký
2 Thông tin
đăng nhập thí
sinh (nhân
viên)
Group Tại đây người dùng đăng nhập tên và mật
khẩu tại đây
3 Đăng nhập Butto
n
Sau khi nhập thông tin đầy đủ trong bảng thông tin, người dùng có thể nhấn phím Enter để đăng nhập, hoặc nhấn nút Đăng nhập để vào chương trình
+ Nếu đăng nhập sai thì chương trình sẽ xuất ra thông tin báo lỗi chưa nhập dữ liệu, hoặc nhập thông tin không đúng
4 Đăng Ký Butto
n
Nếu đây là lần đầu sử dụng thì người dùng
có thể tạo cho mình một tài khoản để sử dụng bằng cách nhấn vào nút đăng ký Khi
đó chương trình sẽ đưa người dùng đến với giao diện khác để người dùng đăng ký
n
Người dùng chuẩn bị sử dụng chương trình nhưng đột xuất bận việc khác muốn thoát chương trình thì nhấn nút Thoát để thoát hẳn chương trình Sau khi nhấn nút thoát chương trình sẽ xuất hiện thông tin để hỏi người dùng có chắc chắn thoát hay không
Trang 9Kết quả đăng nhập đúng
Trang 10Form sẽ bắt lỗi nếu đăng nhập sai:
Form đăng ký người dùng sẽ nhìn thấy các thí sinh dự thi khác Tuy nhiên password đãđược mã hóa nên người dùng ko thể đăng nhập với tài khoản khác được Sau khi nhậpđầy đủ thông tin người dùng nhấn nút để đồng ý Tiếp theo người dùng nhấnnút để có thể đăng nhập lại với tên vừa đăng ký
Trang 11Sử dụng thời gian đã lâu, hay bạn thích đổi password và nhiều lý do (vd: cho bạn mượn nick
để học, ) thì thay vì bạn đăng nhập thì bạn điền thông tin password và tên người dùng sau đóchọn nút “đổi mật khẩu” Tiếp đó chương trình sẽ đưa người dùng vào giao diện khác Tạiđây người dùng sẽ nhập lại mật khẩu cũ,và để đổi mật khẩu thành công thì người dùng cầnnhập mật khẩu mới sau đó nhấn nút nút để đồng ý Tiếp theo người dùng nhấn nút
để có thể đăng nhập lại với mật khẩu vừa đổi
Trang 12Nếu thí sinh hay nhân viên muốn thi thử thìnhấn nút thi trắc nghiệm để chương trìnhđưa người dùng vào giao diện thi trắcnghiệm
2 Quản Lý Tài
Khoản
Butto
n Nếu là thí sinh đăng nhập thì chương trình
không cấp quyền xem tài khoản Ở phầngiao diện này giúp bảo mật câu hỏi cũngnhư, tài khoản của người dùng khác
Còn nếu là nhân Viên nếu đăng nhập sẽ chophép xem tài khoản của các nhân viên khác,cũng như của thí sinh Nhằm giúp ngườidùng có thể lấy lại mật khẩu bằng cách gọicho nhân viên
3 Quản Lý Câu
Hỏi
Butto
n Nếu là thí sinh đăng nhập thì chương trình
không cấp quyền quản lý câu Ở phần giaodiện này giúp bảo mật câu hỏi cũng như,tài khoản của người dùng khác
Còn nếu là nhân Viên nếu đăng nhập sẽ chophép chỉnh sửa câu hỏi, hay nhập thêm câuhỏi
4 Xem Điểm Butto
n
Nếu là thí sinh đăng nhập lần đầu thìchương trình không cấp quyền xem điểm,tại thí sinh ấy chưa thi nên không có điểmbảo lưu
Nhưng nếu thí sinh đã từng sử dụngchương trình thì form sẽ load lên điểm củathí sinh ấy
5 Đăng Nhập Lại Butto
n
Tại đây người dùng có thể quay lại giaodiện đăng nhập như trên, để có thể đăngnhập với cái tên khác, hoặc để người dùngkhác thi thử
6 Đăng Xuất Butto
n
Người dùng đang chạy chương trình nhưngđột xuất bận việc khác muốn thoát chương
Trang 13Nếu thí sinh đã thi và có kết quả, thì kết quả ấy sẽ được lưu trong CSDL SQL khi đóthí sinh có thể xem điểm của mình và có thể in điểm của mình Bằng cách nhấn nút
để in kết quả Trong phần này có cửa sổ cho phép thí sinh xem điểm của các thísinh khác, bằng cách Click vào nút “xem điểm tất cả thí sinh khác” Sau khi xem điểmthí sinh muốn thi trắc nghiệm tiếp thì nhấn vào nút để trở về form chính, sau
đó có thể thoát chương trình tại form chính này
Trang 14Màn hình form thi trắc nghiệm
1 Thông Tin
người dùng
Group Trong group này thí sinh dự thi sẽ thấy
họ và tên của mình, môn thi, ngày thi
Ngoài ra còn có Combobox số câu hỏi
để người chọn gói câu hỏi mà thi
2 Quay về đầu Button Quay về câu hỏi đầu tiên của đề thi
3 Trở về câu hỏi
trước
Button Trở về câu hỏi trước đó
4 Tiếp tục Button Tiếp tục câu hỏi kế tiếp
5 Trở về câu hỏi
cuối cùng
Button Quay về câu hỏi cuối cùng của đề thi
6 Thời gian Progressbar Quy định thời gian làm bài thi
7 Câu hỏi và
đáp án
Label và Radio
Nội dung câu hỏi và đáp án
8 Bắt đầu làm
bài thi
Button Nút bắt đầu bài thi, sau khi nhấn nút
chương trình sẽ load câu hỏi và đáp án
và đưa lên label
9 Nộp bài thi Button Nút nộp bài thi khi làm xong
Trang 15Màn hình thi trắc nghiệm, khi vừa load lên
Tại form này thí sinh sẽ tự chọn móc câu hỏi để thi có 3 móc câu hỏi chính: móc 10câu, 20 câu và 30 câu Sau khi chọn móc câu hỏi thí sinh nhấn nút Start (nút màu xanh)
để bắt đầu thi
Trang 16Với móc 10 câu hỏi thí sinh có 500 giây để hoàn thành nó, tương tụ như vậy 20 câu thì
có 10000 giây thực hiện, 30 câu thì có 45000 giây để thực hiện bài thi đó Sau hết giờ.Nhưng ngược lại nếu thí sinh làm bài xong và muốn nộp bài sớm thì nhấn nút nộp bàithi (nút nàu đỏ) Sau khi nhấn nút chương trình sẽ xuất ra tên người dùng và điểm thicủa họ
Sau khi nhấn nút ok thí sinh muốn thi tiếp sẽ nhấn nút bắt đầu thi để nhận đề thi khác
để thi
Quay lại giao diện chính, sau khi đăng nhập thành công nhưng người dùng chưa chọnquyền thì form sẽ tự động bắt lỗi và xuất ra câu lệnh:
Trang 17Sau khi chọn quyền quản lý, sau đó người dùng click vào button Quản Lý Tài Khoản
để xem thông tin các tài khoản:
1 Tài khoản
nhân viên
DataGridView
Sau khi nhân viên đăng nhập với tênnhân viên và chon quyền Nhân Viên
Tiếp đó nhân viên nhấn nút “Quản LýTài khoản” thì chương trình sẽ xuấthiện form quản lý nhân viên Tại nơiđây DataGridView sẽ hiển thị thông tintất cả các nhân viên
2 Tài khoản Thí
Sinh
DataGridView
Sau khi nhân viên đăng nhập với tênnhân viên và chon quyền Thí Sinh
Tiếp đó nhân viên nhấn nút “Quản LýTài khoản” thì chương trình sẽ xuấthiện form quản lý thí sinh Tại nơi đâyDataGridView sẽ hiển thị thông tin tất
cả các thí sinh
3 Thông tin cụ
thể
Group Người dùng nhấn vào bất cứ nơi đâu
trong bảng tài khoản thí sinh cũng như nhân viên Khi ấy dữ liệu sẽ được load lên và cập nhập vào các textbox
4 Thêm Button Cho phép người quản lý thêm nhân
viên hoặc thí sinh
5 Sửa Button Cho phép người quản lý sửa thông tin
của nhân viên hoặc thí sinh
Trang 186 Xóa Button Cho phép người quản lý xóa thông tin
của nhân viên hoặc thí sinh
7 Lưu Button Cho phép người quản lý lưu thông tin
nhân viên hoặc thí sinh
8 In Button Cho phép người quản lý in thông tin
Còn đây là tài khoản của các thí sinh
Trang 19STT Tên Kiểu Ý Nghĩa Ghi Chú
1 Nội dung câu
hỏi
Textbox Nhập nội dung câu hỏi
2 Mã câu hỏi Textbox Nhập mã câu hỏi
3 Danh sách
câu hỏi
Listview Liệt kê danh sách tát cả các câu
hỏi có trong cơ sở dữ liệu
4 Mã đáp án Textbox Nhập mã đáp án
5 Nội dung đáp
án
Textbox Cho phép nhập các đáp án
6 Kiểu đáp án Radio Lick chọn vào radio nào thì bên
textbox kia sẽ là câu trả lời đúng
5 Thêm Button Thêm câu hỏi và đáp án vào cở dữ
liệu và xóa rỗng các textbox
6 Sửa Button Cho phép sửa thông tin thành
công Tại đây ko cho phép sửa mã câu hỏi cũng như mã đáp án
7 Xóa câu hỏi Button Xóa nội dung câu hỏi và đáp án
8 Trở về Button Thoát chương trình này để trở về
form menu chính
9 Xem hết Button Cho phép người dùng xem ngân
hàng câu hỏi của chương trình
10 Mã Nhân
Viên
Textbox Cho phép nhân viên nhập mã cảu
mình để CSDL nhận ra nhân viên nào chỉnh sửa, hay thêm mới câu hỏi
11 Môn Thi Combobo
x
Cho phép người quản lý chọn mônthi để tạo đề thi
Trang 20Tại đây người dùng chỉ có thể đổi password chứ không thể đổi tên người dùng được mộtđiều nữa là giao diện cho phép người dùng là nhân viên được in kết quả thi của thí sinh
Trang 21Chương trên dựa vào mô hình 3 lớp để thực thi:
Để có thể lấy dữ liệu vào trong mảng một cách ngẫu nhiên ta sử dụng hàm random
Trang 23- Chưa đưa ra những màn gợi ý, hay diễn giải đáp án đó tại sao đúng.
- Cần có nơi để người dùng có thể thay đổi tên đăng nhập của mình, hay là thôngtin cá nhân của nguời dùng đó
- Vẫn xuất điểm cho thí sinh dù thí sinh chỉ làm 1 câu hỏi hoặc thời gian còn sớm
c) Hướng phát triễn
- Giao diện đạt cách tốt nhất để giúp các sinh viên có nơi tập thi thử
- Đưa vào thực hiện trong các kỳ thi chứng chỉ B của trường Đại Học CôngNghiệp Tp.HCM Vì tất cả gói câu hỏi ở đây đều lấy từ các đề thi chứng chỉ củatrường
- Tạo setup một cách chuyên nghiệp hơn