Bảng phân công nhiệm vụMSSV/Họ Tên/Lớp Nội dung công việc thực hiện Tự đánh giá, Làm form_QLCategory quản lý loại câu hỏiLàm form_main giao diện chính phần mềm bằng Dev Làm form_help gi
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
BÁO CÁO ĐỒ ÁN HỌC PHẦN
Học phần: LẬP TRÌNH TRÊN MÔI TRƯỜNG WINDOW
Đề tài: Xây dựng phần mềm tạo đề thi trắc nghiệm Quiz Master
CÔNG NGHỆ THÔNG TIN
Sinh viên thực hiện:
TP Hồ Chí Minh,
Trang 2Bảng phân công nhiệm vụ
MSSV/Họ Tên/Lớp Nội dung công việc thực hiện Tự đánh giá,
Làm form_QLCategory (quản
lý loại câu hỏi)Làm form_main (giao diện chính phần mềm) bằng Dev Làm form_help (giao diện trợ Làm chức năng tìm kiếm câu hỏi, đáp án theo tên câu hỏi, đáp Viết báo cáo
Đinh Cao Toàn
Làm form_Exam(quản lý kì Form_ExamQuestions(Quản lý Câu hỏi trong các kì thi)
Chức năng trộn đề thi
Chức năng thêm,xóa câu hỏi Viết báo cáo
Lê Dương Chí Bảo khoản)Làm Form_QLTK (quản lý tài
Chức năng đổi mật khẩu sau khi đăng nhập
Làm Form_DangKy (Đăng ký tài khoản)
Làm chức năng tìm kiếm tài
Trang 3khoản theo tên đăng nhập, email,
mã tài khoản, họ tên, quyềnLàm chức năng phân quyềnViết báo cáo
Phạm Tuấn Kiệt
Làm chức năng in đề (chưa Viết báo cáo
Trang 41.5 Phân loại yêu cầu:
1.5.1 Yêu cầu lưu trữ
1.5.2 Yêu cầu tra cứu
Yêu cầu in ấn
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Phân tích thiết kế hệ thống
2.1.1 Sơ đồ usecase tổng quát phần mềm tạo đề thi trắc nghiệm
2.3 Thiết kế cơ sở dữ liệu
CHƯƠNG 3: TIẾN HÀNH THỰC NGHIỆM
3.1 Danh sách các giao diện:
3.2 Mô tả chi tiết giao diện
3.2.1 Giao diện Form đăng nhập
Trang 53.2.2 Giao diện Form đăng ký tài khoản
3.2.6.1 Giao diện danh mục hệ thống
3.2.6.2 Giao diện danh mục chức năng
3.2.6.3 Giao diện khác
3.2.7 Giao diện quản lý kỳ thi(Exam)
3.2.8 Giao diện quản lý chi tiết câu hỏi trong kì thi (ExamQuestions) 3.2.9 Giao diện quản lý thể loại câu hỏi(QLCategory)
3.2.10 Giao diện tạo câu hỏi và đáp án (CreateQuestionAndAnswer) 3.2.11 Giao diện quản lý câu hỏi(QLQuestion)
3.2.12 Giao diện xem câu hỏi đề và in đề (ExamQuestions_User) 3.2.13 Giao diện quản lý đáp án(QLAnswer)
3.2.14 Giao diện trợ giúp (Form_Help)
CHƯƠNG 4: KẾT LUẬN
TÀI LIỆU THAM KHẢO
Trang 6LỜI NÓI ĐẦU
thời đại hiện đại, công nghệ thông tin đã và đang thay đổi cách chúng
ta làm việc và quản lý nhiều khía cạnh trong cuộc sống, bao gồm lĩnh vực giáo dục
và đào tạo Việc tạo ra các bài kiểm tra và đề thi trắc nghiệm trước đây thường đòi hỏi nhiều thời gian và công sức, tuy nhiên, nhờ sự phát triển của phần mềm, chúng
ta có thể tận dụng các công cụ mạnh mẽ để tạo ra các đề thi văn bản một cách hiệu quả và tiết kiệm thời gian
Phần mềm tạo đề thi trắc nghiệm đã trở thành một công cụ quan trọng đối với các trường học, trung tâm giáo dục, doanh nghiệp và cá nhân đang tham gia vào quá trình đào tạo và kiểm tra Chúng ta không thể phủ nhận rằng tính hiệu quả của phần mềm này đã giúp tối ưu hóa quá trình soạn thảo và quản lý đề thi, giúp giảng viên
và người quản lý dành thời gian nhiều hơn cho các công việc khác
Thành công của một chương trình kiểm tra thường dựa vào chất lượng của đề thi trắc nghiệm Việc tạo ra các câu hỏi đa dạng, có tính khảo sát, và đảm bảo sự công bằng trong kiểm tra là rất quan trọng Phần mềm tạo đề thi trắc nghiệm không chỉ giúp tạo ra các đề thi một cách nhanh chóng mà còn giúp kiểm tra và điều chỉnh câu hỏi một cách dễ dàng để đảm bảo tính chất lượng và khảo sát
Ngoài ra, phần mềm này cũng giúp tự động hóa quá trình lưu trữ và quản lý
đề thi, từ việc lập kế hoạch sử dụng đến theo dõi sự thay đổi trong nội dung đề thi theo thời gian Điều này giúp tiết kiệm thời gian và giảm thiểu lỗi sót trong quá trình quản lý đề
Trong bối cảnh này, chúng em giới thiệu phần mềm "Tạo đề thi trắc nghiệm Quiz Master" Đây là một công cụ thực tế và hiệu quả, được thiết kế để đáp ứng nhu cầu trong công tác soạn thảo và quản lý đề thi trắc nghiệm Chúng em hi vọng rằng phần mềm này sẽ đem lại giá trị và tiện ích cho các giáo viên, người quản lý, và những ai đang hoạt động trong lĩnh vực giáo dục và đào tạo
Trang 7CHƯƠNG 1: TỔNG QUÁT
1.1 Lý do thực hiện đề tài:
Các trường học và các trung tâm giáo dục ường xuyên phải biên soạn giáo trình cũng như đề thi phục vụ việc giảng dạy
Tuy nhiên việc quản lý một lượng lớn thông tin đề thi, phân loại đề thi
người soạn đề, phân quyền người dùng, quản lý tài khoản người quản lý các kỳ ,…Những công việc trên sẽ sinh ra một một kho dữ liệu khổng lồ, điều đó vượt qua ngoài khả năng ghi chép, lưu trữ trên sổ sách Với tình hình trên, các đơn vị trên cần đưa
ra một số phương án nhằm tiết kiệm thời gian và công sức, mang lại qua cao hơn
Ý thức được điều đó, nhóm em đã quyết chọn đề tài “Xây dựng phần mềm tạo đề thi trắc nghiệm” và áp dụng thí điểm mô hình quản lý đó vào các trường học, trung tâm giáo dục
Phân tích dữ liệu và bảo mật: Mục tiêu này bao gồm việc tích hợp các tiện ích phân tích
dữ liệu và bảo mật để đảm bảo tính bảo mật của đề thi và dữ liệu liên quan
1.3 Quy trình thực hiện:
Gồm giai đoạn:
Giai đoạn 1: Phân tích yêu cầu
Giai đoạn 2: Thiết kế cơ sở dữ liệu, giao diện phần mềm
Giai đoạn 3: Lựa chọn công nghệ, triển khai lập trình
Giai đoạn 4: Kiểm thử phần mềm
Trang 81.4 Môi trường phát triển:
Môi trường phát triển Windows Forms (WinForms) là một nền tảng phát triển ứng dụng trên hệ điều hành Windows được tích hợp mạnh mẽ trong Microsoft Visual Studio, công cụ phát triển phổ biến cho ngôn ngữ lập trình C# và Visual Basic NET Với WinForms, bạn có khả năng tạo ra các ứng dụng máy tính đồ họa với giao diện người dùng thân thiện và tương tác
WinForms cung cấp một bộ công cụ đồ họa dễ sử dụng, cho phép bạn thiết kế giao diện bằng cách kéo và thả các điều khiển như nút, hộp văn bản và danh sách vào cửa sổ thiết kế của ứng dụng Bạn có thể tùy chỉnh giao diện theo ý muốn và xử lý sự kiện người
ng bằng cách gắn mã xử lý với các tương tác như nhấn nút hoặc nhập dữ liệu.WinForms cũng hỗ trợ lập trình đa luồng, giúp bạn xử lý các tác vụ đồng thời một cách hiệu quả và tăng hiệu suất của ứng dụng Nó tích hợp một trình giám sát mạnh mẽ để
gỡ lỗi và theo dõi quá trình thực thi của ứng dụng
Ngoài ra, WinForms cung cấp tích hợp với cơ sở dữ liệu thông qua ADO.NET hoặc Entity Framework, cho phép bạn kết nối, truy vấn và cập nhật dữ liệu một cách dễ dàng
.NET framework là một nền tảng phát triển phần mềm do Microsoft phát triển Framework này tạo ra các ứng dụng chạy trên nền tảng Windows Phiên bản đầu tiên của NET framework được phát hành vào năm 2002 Phiên bản đó được gọi là Net framework 1.0 .NET framework đã đi một chặng đường dài kể từ đó, và phiên bản hiện tại là 4.7.1 .NET framework có thể được sử dụng để tạo cả những ứng dụng dựa trên biểu mẫu (Formbased) và dựa trên Web (Web based) Các web service cũng có thể được phát triển bằng cách sử dụng NET framework Framework cũng hỗ trợ các ngôn ngữ lập trình khác nhau như Visual Basic và C# Vì vậy, các nhà phát triển có thể lựa chọn ngôn ngữ để phát triển ứng dụng cần thiết
Đối với những lập trình viên NET thì DevEpress là một công cụ hết sức hữu dụng, cung cấp rất nhiều control trong Visual Studio DevExpress không chỉ giúp thiết kế winform hay website đẹp hơn mà còn giúp cho việc lập trình được dễ dàng hơn, ta có thể thấy rõ nhất là trong việc tương tác với cơ sở dữ liệu DevExpress được ra mắt lần đầu tiên vào năm 2011 và được đông đảo lập trình viên NET sử dụng Từ đó đến này đã trải qua rất nhiều phiên bản với nhiều nâng cấp đáng kể Phiên bản mới nhấtt hiện nay là v18.Với DevExpress ta có thể tự tạo cho mình một bộ Office riêng chỉ trong vòng một vài tiếng
SQL Server Management Studio (SSMS) là một ứng dụng quản lý cơ sở dữ liệu của Microsoft, được tạo ra để giúp quản trị viên cơ sở dữ liệu, nhà phát triển ứng dụng và chuyên gia dữ liệu tương tác dễ dàng và hiệu quả với cơ sở dữ liệu SQL Server Với giao
Trang 9diện đồ họa thân thiện, SSMS cung cấp một loạt công cụ quản lý cơ sở dữ liệu mạnh mẽ, cho phép bạn tạo, sửa đổi và quản lý cơ sở dữ liệu, bảng, thủ tục lưu trữ và quyền truy cập một cách dễ dàng.
Trình duyệt đối tượng trong SSMS cho phép bạn tìm hiểu về cấu trúc cơ sở dữ liệu, xem và sửa đổi dữ liệu dễ dàng Bạn cũng có thể sử dụng trình biên tập truy vấn SQL tích hợp để tạo và chỉnh sửa các truy vấn SQL một cách thuận tiện
Một trong những ưu điểm lớn của SSMS là tích hợp với nhiều phiên bản của SQL Server, giúp bạn quản lý cơ sở dữ liệu trên nhiều phiên bản SQL Server một cách linh hoạt Bên cạnh đó, công cụ tối ưu hóa và theo dõi hiệu suất giúp bạn cải thiện sự ổn định và hiệu suất của cơ sở dữ liệu
1.4.5 Mô hình 3 lớp
Mô hình 3 lớp là mô hình thiết kế phần mềm phần tách ứng dụng thành ba lớp chính:Lớp trình bày (Presentation Layer): Lớp này chịu trách nhiệm giao tiếp với người dùng, bao gồm các thành phần giao diện người dùng (GUI) và các thành phần xử lý giao diện người dùng (UI)
Lớp nghiệp vụ (Business Logic Layer): Lớp này chịu trách nhiệm xử lý dữ liệu và logic nghiệp vụ của ứng dụng
Lớp truy cập dữ liệu (Data Access Layer): Lớp này chịu trách nhiệm truy cập và thao tác
dữ liệu từ cơ sở dữ liệu
Mô hình 3 lớp được sử dụng phổ biến trong lập trình Winform C# vì mang lại nhiều lợi ích như:
Tăng tính bảo trì và mở rộng: Mỗi lớp có chức năng riêng biệt, độc lập với nhau, giúp cho việc bảo trì và mở rộng ứng dụng dễ dàng hơn
Tăng độ an toàn: Việc tách biệt giữa lớp trình bày và lớp nghiệp vụ giúp cho ứng dụng
an toàn hơn, tránh được các cuộc tấn công từ bên ngoài
Tăng hiệu năng: Việc tách biệt giữa lớp trình bày và lớp nghiệp vụ giúp cho ứng dụng chạy hiệu quả hơn, giảm thiểu việc truy cập dữ liệu từ cơ sở dữ liệu
1.5 Phân loại yêu cầu:
1.5.1 Yêu cầu lưu trữ
+ Lưu trữ thông tin người dùng phần mềm: vì cơ sở dữ liệu là rất quan trọng, mọi việc sửa xóa dữ liệu sẽ có ảnh hưởng rất lớn trong quá trình tạo đề thi trắc nghiệm, nhằm đảm bảo tính bảo mật, người dùng sẽ phải nhập tên đăng nhập và mật khẩu để đăng nhập vào sử dụng phần mềm
+ Lưu trữ thông tin người dùng người dùng ên đăng nhập, mật khẩu, họ tên, g
Trang 10+ Lưu trữ thông tin câu hỏi câu hỏi câu hỏi oại câu hỏi+ Lưu trữ thông tin đáp án: mã đáp án, câu hỏi, tên đáp án+ Lưu trữ thông tin ã kì thi, tên kì thi, thời gian, mô tả.+ Lưu trữ thông tin ã bài thi, kì thi, câu hỏi.
1.5.2 Yêu cầu tra cứu
+ Tra cứu câu hỏi theo tên câu hỏi
+ Tra cứu thông tin câu đáp án theo tên đáp án
+ Tra cứu thông tin kỳ thi tên kỳ thi
+ Tra cứu thông tin người dùng theo tên người dùng
Yêu cầu in ấn
đề thi
Trang 11CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Phân tích thiết kế hệ thống
2.1.1 Sơ đồ usecase tổng quát phần mềm tạo đề thi trắc nghiệm
Trang 12hực hiện chức năng đăng nhập
Trang 13Activity Diagram: Thực hiện chức năng đổi mật khẩu
Trang 14Activity Diagram: Thực hiện chức năng tạo câu hỏi và đáp án
Trang 15Activity Diagram: Thực hiện chức năng quản lý câu hỏi
Trang 16Activity Diagram: Thực hiện chức năng quản lý đáp án
Trang 17Sequence Diagram: Thực hiện chức năng lưu
Sequence Diagram: Thực hiện chức năng quên mật khẩu
2.3 Thiết kế cơ sở dữ liệu
Trang 18Phân biệt các users
Tối thiểu 1 ký tự Tên tài khoảnTối thiểu 1 ký tự Mật khẩu tài khoảnTối thiểu 1 ký tự Họ tên người dùngĐúng định dạng Email người dùng
đăng ký tài khoản
Đã có trong bản Phân quyền của
người dùng ( User
Bảng:
Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
Trang 19Khóa chính, lớn hơn Phân quyền của
Tối thiểu 1 ký tự Mô tả kì thi
Bảng:
Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
Khóa chính, lớn hơn Phân biệt m đề thi
và câu hỏi tương ứng
bản Categories
Loại câu hỏi
Trang 200, tự động tăng Phân biệt các trả lời
có trong bảng Phân biệt các
hỏiTối thiểu 1 ký tự Đáp án cho câu hỏi
Có thể null Cho biết đáp án có
đúng hay không
Trang 21CHƯƠNG 3: TIẾN HÀNH THỰC NGHIỆM
3.1 Danh sách các giao diện:
Giao diện đăng nhập
Giao diện chính
Giao diện tạo kỳ thi
diện tạo bộ câu hỏi đề và in đề
Giao diện xem câu hỏi đề và in đề
Giao diện tạo câu hỏi và đáp án
Giao diện quản lý câu hỏi
Giao diện quản lý câu trả lời
Giao diện quản lý loại câu hỏi
Giao diện đổi mật khẩu
Giao diện đăng kí tài khoản
Giao diện quản lý tài khoản
Giao diện quên mật khẩu
Giao diện trợ giúp
3.2 Mô tả chi tiết giao diện
3.2.1 Giao diện Form đăng nhập
Giao diện
Trang 22Mô tả: Người dùng nhập tên tài khoản và mật khẩu để truy cập phần mềm.
3.2.2 Giao diện Form đăng ký tài khoản
Giao diện
Trang 23Mô tả: Người dùng nhập thông tin tài khoản muốn đăng ký, hệ thống sẽ gửi một mã xác nhận gồm 6 số đến địa chỉ email đăng ký Người dùng cần kiểm tra hòm thư để nhập mã xác nhận để hoàn tất đăng ký tài khoản.
3.2.3 Giao diện Form quên mật khẩu
Giao diện
Trang 24Mô tả: Người dùng cần nhập đúng tên tài khoảnđã đăng ký, hệ thống sẽ gửi một mã xác nhận gồm 6 chữ số đến địa chỉ email của tài khoản Sau khi nhập mã xác nhận thành công, người dùng sẽ nhập mật khẩu mới và xác nhận mật khẩu mới Việc nhập khẩu mới sẽ thực hiện trên form sau:
3.2.4 Giao diện Form đổi mật khẩu
Giao diện
Trang 25Mô tả: Cho phép người dùng thực hiện chức năng đổi mật khẩu sau khi đăng nhập gồm: nhập mật khẩu hiện tại, nhập mật khẩu mới và nhập lại mật khẩu m.
3.2.5 Giao diện quản lý người dùng (User)
Giao diện:
Mô tả: Giao diện quản lý tài khoản người dùng thực hiện thêm,sửa,xóa,tra cứu thông tin tài khoản
3.2.6 Giao diện chính
Trang 26Giao diện:
Trang 27Mô tả: Giao diện chính cho phép user thực hiện các chức năng trong các danh mục.
3.2.6.1 Giao diện danh mục hệ thống
Giao diện:
Mô tả: Giao diện danh mục hệ thống cho phép truy cập đổi mật khẩu, đăng xuất, thoát.
3.2.6.2 Giao diện danh mục chức năng
Giao diện:
Mô tả: Giao diện danh mục chức năng cho phép thực hiện các chức năng tạo câu hỏi, quản lý câu hỏi,đáp án, đề thi,loại câu hỏi,người dùng, xem câu hỏi và in đề thi
Trang 28Mô tả: Danh mục kì thi cho phép user thực hiện xem thông tin, thêm, sửa, xóa , tìm kiếm
kì thi , Xem bộ câu hỏi của kì thi đang được chọn
3.2.8 Giao diện quản lý chi tiết câu hỏi trong kì thi (ExamQuestions)
Giao diện:
Trang 29Mô tả: Giao diện quản lý thông tin chi tiết hóa câu hỏi trong đề thi
thực hiện tra cứu thông tin kỳ thi và trộn câu hỏi trong kì thi,in đề
3.2.9 Giao diện quản lý thể loại câu hỏi(QLCategory)
Giao diện:
thêm,sửa,xóa,lưu, không lưu thông tin loại câu hỏi
Trang 303.2.10 Giao diện tạo câu hỏi và đáp án (CreateQuestionAndAnswer)
Giao diện:
hiện chức năng thêm câu hỏi và đáp án, đặc biệt có thêm chức năng nhập số câu trả lời (với điều kiện số câu trả lời nằm trong khoảng từ 2 đến 4) Nếu số câu trả lời là 2 thì sẽ hiển thị 2 textbox và 2 radioButton để thực hiện nhập câu trả lời và chỉ chọn 1 đáp án đúng Nếu số câu trả lời là 3 thì sẽ hiển thị 3 textbox và 3 radioButton để thực hiện nhập câu trả lời và chỉ chọn 1 đáp án đúng Nếu số câu trả lời là 4 thì sẽ hiển thị 4 textbox và 4 radioButton để thực hiện nhập câu trả lời và chỉ chọn 1 đáp án đúng Cuối cùng, chức năng lưu sẽ lưu câu hỏi và đáp án trong database
3.2.11 Giao diện quản lý câu hỏi(QLQuestion)
Giao diện:
Trang 31Mô tả: Giao diện quản lý thông tin câu hỏi thực hiện chức năng sửa,xóa, lưu, không lưu, tìm kiếm thông tin câu hỏi và có hiển thị số kết quả tìm kiếm câu hỏi.
3.2.12 Giao diện xem câu hỏi đề và in đề (ExamQuestions_User)
Giao diện:
Mô tả: Giao diện xem và in đề cho phép user thực hiện tra cứu thông tin kỳ thi và trộn câu hỏi trong kì thi,in đề
Trang 323.2.13 Giao diện quản lý đáp án(QLAnswer)
Giao diện:
chức năng sửa,xóa, lưu, không lưu, tìm kiếm thông tin câu trả lời và có hiển thị số kết quả tìm kiếm câu trả lời
3.2.14 Giao diện trợ giúp
Giao diện:
Mô tả: Giao diện trợ giúp cho phép xem thông tin về phần mềm và người dùng có thể liên hệ nếu có ý kiến hay thắc mắc gì về phần mềm tạo đề thi trắc nghiệm