Xây dựng phần mềm đảo để, chấm thi trắc nghiệm

34 1.7K 0
Xây dựng phần mềm đảo để, chấm thi trắc nghiệm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Viện Công nghệ Thông tin và Truyền thông BÀI TẬP LỚN Môn học: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG ĐỀ TÀI: Xây dựng chương trình Windows-based hỗ trợ tạo đề,đảo đề,thi và chấm thi trắc nghiệm Mã đề tài: De07A Số hiệu nhóm: Giảng viên hướng dẫn: TS Cao Tuấn Dũng Sinh viên thực hiện: Họ tên SHSV Lớp Nguyễn Bảo Chung 20090333 CNTT1-K54 Trần Quang Chiến 2009 CNTT1-K54 Đỗ Khắc Trụ 2009 CNTT1-K54 Sơn 2009 CNTT1-K54 MỤC LỤC Lời nói đầu Phần 1: TỔNG QUAN VỀ CÁC VẤN ĐỀ LIÊN QUAN 1.1.Đề tài 1.2.Giới thiệu về các kiến thức nền tảng và mô hình MVC 1.2.1.Kiến thức nền tảng 1.2.1.1.Xây dựng cơ sở dữ liệu 1.2.1.2.Thiết kế chương trình 1.2.2.Giới thiệu về mô hình mvc Phần 2:PHÂN TÍCH THIẾT KẾ MỨC KIẾN TRÚC 2.1.Thiết kế cơ sở dữ liệu 2.2. Biểu đồ Use Case 2.2.1 Các tác nhân của hệ thống 2.2.2.Các Use case với tác nhân Admin 2.2.2.Các Use case với tác nhân giáo viên 2.2.2.Các Use case với tác nhân thí sinh 2.3.Biểu đồ tuần tự 2.3.1.Các chức năng liên quan đến Admin 2.3.2.Các chức năng liên quan đến giáo viên 2.3.3.Các chức năng liên quan đến thí sinh 2.4.Biểu đồ lớp Phần 3:THIẾT KẾ CHI TIẾT Phần 4:KẾT LUẬN VÀ ĐÁNH GIÁ 4.1. Đánh giá chương trình 4.2. Kế hoạch thực hiện công việc của nhóm Tổng hợp hình vẽ trong báo cáo Tài liệu tham khảo LỜI NÓI ĐẦU Như chúng ta đã biết, thi trắc nghiệm hiện nay là một hình thức thi phổ biến trong các kỳ thi. Việc có một công cụ để giúp học sinh làm quen và thành thạo với hình thức thi này, cũng như để cho giáo viên thuận tiện trong việc soạn đề và chấm thi là hết sức cần thiết. Nhận thấy điều đó, cộng với những kiến thức học được từ môn “Lập trình hướng đối tượng”, chúng em đã cùng nhau thực hiện đề tài “Xây dựng chương trình Windows-based hỗ trợ tạo đề, đảo đề, thi và chấm thi trắc nghiệm”. Trong quá trình thực hiện đề tài, chúng em đã có cơ hội thực hành những kiến thức về phân tích, thiết kế đối tượng, về cách xây dựng một chương trình hướng đối tượng có tương tác với cơ sở dữ liệu theo mô hình MVC. Bên cạnh đó, chúng em cũng thu được những kĩ năng quý báu trong làm việc nhóm. Chúng em xin chân thành cảm ơn sự hướng dẫn tận tình của thầy Cao Tuấn Dũng, cả về chuyên môn cũng như định hướng trong quá trình chúng em thực hiện đề tài.Vì kiến thức còn hạn hẹp, nên chương trình của chúng em không thể tránh khỏi nhiều thiếu sót. Rất mong được sự góp ý của thầy giáo cũng như các bạn trong lớp để chúng em có thể cải tiến được chất lượng của chương trình. Phần 1: TỔNG QUAN VỀ CÁC VẤN ĐỀ LIÊN QUAN 1.1.Đề tài Xây dựng một công cụ Windows-based ( sử dụng Java/C#.NET… với một hệ quản trị CSDL nào đó) với các tính năng sau: - Cho phép quản lý các câu hỏi thi trắc nghiệm theo từng phần của một môn học (thêm mới, sửa xóa, tìm kiếm). - Cho phép tiến hành tạo đề thi cho một môn học nào đó, trong đó, cho phép chọn số lượng câu trắc nghiệm (cho phép chọn mức độ khó dễ, hoặc số điểm các câu) cho từng phần trong môn học đó. Hệ thống sẽ tự động lấy ngẫu nhiên trong ngân hàng câu hỏi. o Lưu đề thi trong CSDL để khi cần cho sinh viên thi o Cho phép xuất ra file .doc theo khuôn dạng một đề thi - Cung cấp chức năng thi cho sinh viên để sinh viên có thể tham gia thi trực tiếp (sinh các câu hỏi thi một cách ngẫu nhiên) sau đó đưa ra kết quả (theo từng phần và đưa ra kết quả cuối cùng) thi khi hết giờ thi hoặc thí sinh chọn kết thúc thi. Khi sinh viên tham gia thi, cần đăng nhập và chọn một đề thi đã được tạo ra trong phần trên. - Hỗ trợ việc chấm thi trắc nghiệm một đề thi nào đó, giáo viên chỉ cần chọn môn thi và nhập kết quả sinh viên đã chọn, sau đó hệ thống hiển thị kết quả tương ứng (theo từng phần và đưa ra kết quả cuối cùng) 1.2.Giới thiệu về các kiến thức nền tảng và công nghệ MVC framework 1.2.1.Kiến thức nền tảng 1.2.1.1.Xây dựng cơ sở dữ liệu - Cơ sở dữ liệu của bài toán được thiết kế theo mô hình cơ sở dữ liệu quan hệ. - Yêu cầu quan trọng nhất trong một bài toán thực tế là CSDL phải được thiết kế một cách tối ưu nhất.Ở đây chúng ta sẽ sử dụng các phương pháp chuẩn hóa,bảo toàn tập phụ thuộc hàm,tách không mất mát thông tin… để xây dựng CSDL. - Hệ quản trị cơ sở dữ liệu được sử dụng là MySQL. 1.2.1.2.Thiết kế chương trình - Đề tài được thực hiện với cách tiếp cận là hướng đối tượng - Việc thiết kế chương trình được dựa theo các lý thuyết cơ bản về thiết kế hướng đối tượng và ngôn ngữ mô hình hóa UML. - Quá trình thiết kế chương trình thực hiện theo các giai đoạn : Thiết kế biểu đồ Use Case, thiết kế biểu đồ tuần tự, thiết kế biểu đồ lớp. - Phần mềm thiết kế được sử dụng là Visio 2007. 1.2.2.Giới thiệu về mô hình MVC Phương pháp thiết kế MVC bắt nguồn từ việc phát triển giao diện người dùng trong ngôn ngữ lập trình Smalltalk, đây là một trong những phương pháp thiết kế thành công nhất trong các phương pháp thiết kế hướng đối tượng. Hiện nay, MVC được dùng rộng rãi trong nhiều hệ thống phần mềm hướng đối tượng, bất kể được viết bằng ngôn ngữ hướng đối tượng nào. Các thành phần của MVC: -Model (tạm dịch là phần “Mô hình” ): Là một đối tượng hoặc tập hợp các đối tượng biểu diễn cho phần dữ liệu của chương trình, ví dụ các dữ liệu được lưu trong cơ sở dữ liệu (CSDL) hay từ các hệ thống ứng dụng khác (như mail ) -View (tạm dịch là phần “Hiển thị”): Là phần giao diện với người dùng, bao gồm việc hiện dữ liệu ra màn hình, cung cấp các menu, nút bấm, hộp đối thoại, chọn lựa , để người dùng có thể thêm, xóa, sửa, tìm kiếm và làm các thao tác khác đối với dữ liệu trong hệ thống. -Controller (tạm dịch là phần “Điều khiển”): Là phần điều khiển toàn bộ logic về hoạt động của giao diện, tương tác với thao tác của người dùng (từ chuột, bàn phím và các thiết bị ngoại vi khác) và cập nhật, thao tác trên dữ liệu theo đầu vào nhận được và điều khiển việc chọn phần “Hiển thị” thích hợp để truyền dữ liệu tới người dùng. Ưu điểm của chương trình dựa theo mô hình MVC: -Tách biệt rõ ràng nhiệm vụ của từng phần: model-view-controller => giúp cho việc phân công công việc trong nhóm được dễ dàng. - Mang lại hiệu quả cao trong việc tổ chức và tái sử dụng lại code. Chẳng hạn như với kiến trúc tổ chức của model thì kết quả trả về là trung lập => có thể tái sử dụng lại cho các tầng View ở ứng dụng khác ). - Tính dễ thay đổi tầng View hay tầng Model nếu có nhu cầu vì mỗi tầng nay hoàn toàn tách biệt và không có mối ảnh hưởng ràng buộc với nhau. - Hỗ trợ kết hợp rất tốt giữa người lập trình và người thiết kế giao diện. Phần 2:PHÂN TÍCH THIẾT KẾ MỨC KIẾN TRÚC 2.1.Thiết kế cơ sở dữ liệu Sơ đồ thực thể liên kết: Chuyển sang sơ đồ quan hệ được các bảng: * Các mã số (MS ) của các bảng kiểu int, là khóa chính, được tạo ra tự động * Bảng cauhoi: - noidung: nội dung câu hỏi - sodapan: số đáp án của câu hỏi - dokho: độ khó câu hỏi (giá trị nguyên: 1 4) - msmonhoc: mã số môn học (khóa ngoài đến bảng monhoc) - mphanmonhoc: mã số phần môn học (khóa ngoài đến bảng phanmonhoc) - msnguoitao: MS người tạo câu hỏi (khóa ngoài đến bảng nguoidung) * Bảng dapan: - mscauhoi: mã số câu hỏi chứa đáp án (khóa ngoài đến bảng đáp án) - thutudapan: thứ tự đáp án (1, 2, ) - noidung: nội dung đáp án - dungsai: đúng hoặc sai (TRUE/FALSE) - giaithich: giải thích cho mỗi đáp án (tại sao đúng / sai) * Bảng monhoc - tenmonhoc: tên môn học * Bảng phanmonhoc: - ten: Tên của phần môn học (chương, phần ) * Bảng nguoidung: - taikhoan: nick name để đăng nhập - matkhau: mật khẩu đăng nhập (dộ dài >=6, đã mã hóa MD5) - ten: tên người dùng - quyendangnhap: quyền đăng nhập (Admin / GV /TS) * Bảng dethi: - made: mã đề do người ra đề đặt (phân biệt với msdethi) - msmonhoc: mã số môn học có kiến thức thuộc đề thi (khóa ngoài đền bảng monhoc) - socauhoi: số câu hỏi của đề thi - diemtoida: điểm tối đa -> Điểm 1 câu của đề = DiemToiDa / SoCauHoi - thoigian: thời gian làm đề thi (theo phút) - msnguoitao: mã số người ra đề (khóa ngoài đến bảng nguoidung) * Bảng đề thi gồm câu hỏi: - msdethi: mã số đề thi (khóa ngoài đến bảng dethi) - thutu: thứ tự câu hỏi (1,2 ), đảm bảo biết đúng thứ tự câu hỏi phòng khi các hàng câu hỏi của đề thi bị đảo lộn) - thutudapandung: thứ tự xếp đáp án (vd: 2*341, dấu * trước thứ tự của đáp án đúng) * Bảng bailam: - msthisinh: MS thí sinh làm bài thi (khóa ngoài đến bảng NguoiSuDung) - msdethi: MS đề thi của bài làm (khóa ngoài đến bảng DeThi) [...]... sinh làm bài thi msdethi Private int MS đề thi thuộc bài làm diem Phương thức Ý Nghĩa msthisinh Thuộc tính Kiểu truy cập Private int Điểm được chấm nhapdiem Public int Trả về điểm (-1 : chưa chấm) nhapthisinh Public ThiSinh Trả về đối tượng thí sinh làm bài thi này nhapdethi Public DeThi Trả về đối tượng đề thi của bài làm này CLASS PhanMonHoc Tên Phương thức Ý Nghĩa maso Private int Mã số phần môn học... thống chấm Giáo viên Môn thi, mã đề, mã thí sinh, thời gian thi So sánh đáp án với bài làm của thí sinh để đưa ra kết quả thi cho thí sinh Điểm thi của thí sinh Số câu sai đúng và vị trí của chúng 2.2.4.Các Use case với tác nhân sinh viên Use case thi trắc nghiệm: Mô tả Đối tượng Thông tin vào Hệ thống xử lý Trả về Thí sinh làm bài trực tiếp Thí sinh Mã số thí sinh, môn thi, thời gian, Tạo đề thi và... them(dethi) Public void Thêm đề thi vào ngân hàng đề thi sua(cauhoi) Public void Sửa câu hỏi trong ngân hàng câu hỏi sua(monhoc) Public void Sửa môn học trong ngân hàng môn học sua(dethi) Public void Sửa đề thi trong ngân hàng đề thi xoa(cauhoi) Public void Xóa câu hỏi trong ngân hàng câu hỏi xoa(monhoc) Public void Xóa môn học trong ngân hàng môn học xoa(dethi) Public void Xóa đề thi trong ngân hàng đề thi. .. quả thi khi hết giờ Kết quả thi, số lượng câu đúng sai, đáp án chi tiết từng câu hỏi 2.3 Biểu đồ tuần tự Chức năng quản lý người dùng: Các chức năng liên quan đến admin: 2.3.2.Các chức năng liên quan đến giáo viên Quản lý câu hỏi: Quản lý đề thi: Chấm thi: 2.3.3.Các chức năng liên quan đến thí sinh Thi trắc nghiệm nguoidung -maso -taikhoan -matkhau -ten bailam-quyendangnhap -msbailam +dangky() -msthisinh... Sửa thông tin câu hỏi xoa (cauhoi) Public static void Xóa câu hỏi Thuộc tính Phương thức INTERFACE QuanLyDeThi Tên Kiểu truy cập Ý Nghĩa them(dethi) Public static void Thêm đề thi sua(dethi) Public static void Sửa thông tin đề thi xoa(dethi) Public static void Xóa đề thi Thuộc tính Phương thức Phần 4:KẾT LUẬN VÀ ĐÁNH GIÁ I, Đánh giá chương trình Sau 2 tháng tìm hiểu và nghiên cứu, chúng em đã hoàn thành... sinh, giáo viên, admin, guest) xemketqua(bailam) Public int Xem kết quả bài thi CLASS thisinh : nguoidung Tên Kiểu truy cập Ý Nghĩa lambaithi(dethi) Public BaiLam Thực hiện thi trên máy Thuộc tính Phương thức CLASS GiaoVien: nguoidung QuanLyCauHoi, QuanLyDeThi, QuanLyMonHoc Tên Kiểu truy cập Ý Nghĩa chamdiem(bailam) Publiic int Chấm điểm bài làm của thí sinh them(cauhoi) Public void Thêm câu hỏi vào ngân... bailam-quyendangnhap -msbailam +dangky() -msthisinh +dangnhap() -msdethi +dangxuat() -diem +suahoso() +nhapten() +nhapquyendangnhap() +xemketqua(bailam) 2.4 Biểu đồ lớp admin Thisinh giaovien +chamdiem(bailam) +them(monhoc) +them(dethi) +them(cauhoi) +sua(monhoc) +sua(dethi) +sua(cauhoi) +xoa(dethi) +xoa(cauhoi) +xoa(monhoc) +duytri(CSDL) +lambaithi(dethi) monhoc -ten +nhapten() +them(phanmonhoc) +sua(phanmonhoc)... đối tượng phần môn học nhapnguoitao Public GiaoVien Trả về đối tượng giáo viên tạo đề them(dapan) Public void Thêm đáp án vào câu hỏi sua(dapan) Public void Sửa đáp án khỏi câu hỏi xoa(dapan) Public void Xóa đáp án trong câu hỏi CLASS DeThi Tên maso Private int Mã số đề thi Private int MS môn học của đề thi socauhoi Private int Số câu hỏi của đề thi diemtoida Private int Điểm tối đa thoigianthi Private... câu hỏi theo yêu cầu Nếu có lỗi hoặc không tìm thấy, đưa ra thông báo Use case quản lý đề thi: Mô tả Đối tượng Thông tin vào Hệ thống xử lý Trả về Use case chấm thi: Giáo viên quản lý đề thi trong ngân hàng đề thi Giáo viên Yêu cầu của giáo viên Tạo đề, tìm, sửa, xóa đề, lưu vào CSDL, xuất ra file doc Đưa ra đề thi được tạo, thông báo thành công nếu thực hiện xong yêu cầu hoặc thông báo lỗi nếu không... cập Public string Tên của phần môn học Nhapten() Public string Lấy mô tả phần môn học CLASS MonHoc Tên maso Private int Mã số môn học Private string Tên môn học nhapten() Public string Trả về tên môn học them(phanmonhoc) Public void Thêm một phần môn học vào môn học xoa(phanmonhoc) Public void Xóa một phần môn học ra khỏi môn học sua(phanmonhoc) Public void Chỉnh sửa một phần môn học trong môn học . trợ tạo đề, đảo đề, thi và chấm thi trắc nghiệm . Trong quá trình thực hiện đề tài, chúng em đã có cơ hội thực hành những kiến thức về phân tích, thi t kế đối tượng, về cách xây dựng một chương. thông BÀI TẬP LỚN Môn học: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG ĐỀ TÀI: Xây dựng chương trình Windows-based hỗ trợ tạo đề ,đảo đề ,thi và chấm thi trắc nghiệm Mã đề tài: De07A Số hiệu nhóm: Giảng viên hướng. gia thi, cần đăng nhập và chọn một đề thi đã được tạo ra trong phần trên. - Hỗ trợ việc chấm thi trắc nghiệm một đề thi nào đó, giáo viên chỉ cần chọn môn thi và nhập kết quả sinh viên đã chọn,

Ngày đăng: 11/08/2015, 18:52

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan