Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 48 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
48
Dung lượng
3,34 MB
Nội dung
Hệ thống luyện tập và thi lập trình trực tuyến Lời mở đầu Ngày nay,cùng với những bước đột phá mới của thời đại, đáp ứng cho những như cầu phát triển chung của thế giới đặc biệt là đối với Việt Nam. Những ứng dụng mới của công nghệ thông tin vào cuộc sống đã phần nào làm giảm đi những cực khổ trong công việc của con người.Để tạo nên những sàn phẩm điện tử tốt thì đòi hỏi những lập trình viên phải luôn nâng cao kỹ năng lập trình của mình. Bên cạnh việc tự mình đi tìm cho mình những kiến thức mới để bổ xung vào lượng kiến thức mình đang có thì việc học hỏi kinh nghiệm hay kiến thức,cách suy nghĩ của những người có niềm say mê tin học khác, hay luyện tập với nguồn bài tập phong phú là một cách để phát huy hiệu quả nhất tính năng động và sáng tạo của một lập trình viên, của một người say mê tin học. Qua những cuộc thi lập trình sinh viên toàn cầu, kể từ khi bắt đầu đã trở thành một sân chơi bổ ích cho các sinh viên ngành tin học . Ở đó các sinh viên có thể thư thách , cùng nhau tư duy giải những bài toán kỹ năng lập trình. Không dừng lại ở phạm vi cuộc thi với số lượng có hạn các đội tham gia, một số trường Đại Học trên thế giới đã xây dựng một hệ thống bài tập trên mạng để sinh viên trường có thể luyện tập , thi đấu với nhau .Rồi từ đó, nhờ sự phát triển của Internet, việc giao lưu trở nên cần thiết …các hệ thống này trở thành một website để các sinh viên yêu thích tin học có thể truy cập và cùng luyện tập, thảo luận, thi đấu với nhau qua các cuộc thi của website tổ chức…Nhưng riêng đối với sinh viên Việt Nam thì chưa có một hệ thống luyện tập tin học trực tuyến cho chính mình Qua môn học Phân Tích Thiết Kế Hệ Thống Thông Tin của thầy Nguyễn Gia Tuấn Anh , chúng em đã có một kiến thức nền tảng phân tích thiết kế một hệ thống.Trước như cầu thực tiễn trên đồng thời muốn tìm hiểu sâu sắc hơn về môn học này, chúng em đã thực hiện đồ án “ Hệ thống luyện tập lập trình trực truyến “ những mong sẽ tạo nên một hệ thống luyện tập trực tuyến cho sinh viên Việt Nam . Để hoàn thành đồ án này , chúng em xin chân thành cảm ơn thầy Nguyễn Gia Tuấn Anh , thầy đã truyền đạt cho chúng em các kiến thức cơ bản về Hệ Thống Thông Tin, cách thiết kế một hệ thống, thầy đã hỗ trợ rất nhiêu cho chúng em. Đồng thời nhóm xin cảm ơn khoa Công Nghệ Thông Tin trường Đại Học Khoa Học Tự NHiên đã tạo điều kiện cho chúng em học hỏi , tìm hiểu kỹ hơn về hệ thống này Hy vọng đồ án này sẽ được một số nhóm nghiên cứu tiếp thu và hoàn thiện nó.Và trong giới hạn thời gian học môn chúng em tìm hiều về vấn dề này sẽ có những thiếu sót trong đồ án.Nhóm chúng em rất mong nhận được sự đóng góp ý kiến để dố án được hoàn thành tốt hơn.Chúng em chân thành cảm ơn. Thành phố HCM, ngày 24 tháng 5 năm 2009 Nhóm làm đồ án Trần Thượng Khanh – Nguyễn Thị Hoài Vân 1 Hệ thống luyện tập và thi lập trình trực tuyến Mục Lục I.Khảo sát hệ thống và phân tích hiện trạng hệ thống 3 1. Khảo sát hệ thống 3 2. Phân tích hiện trạng hệ thống 5 II. Phân tích yêu cầu 5 1. Yêu cầu chức năng 5 2. Yêu cầu phi chức năng 5 III. Phân tích hệ thống 6 1. Mô hình thực thể ERD 6 a. Các thực thể ERD 6 b. Mô hình ERD 8 2. Chuyển mô hình ERD sang mô hình quan hệ 8 3. Mô tả chi tiết cho các quan hệ 9 4. Mô tả bảng tổng kết 18 a. Tổng kết quan hệ 18 b. Tổng kết thuộc tính 19 IV. Thiết kế giao diện 21 1. Sơ đồ các trang 21 2. Thiết kế giao diện 24 3. Mô tả form 25 V . Thiết kế các ô xử ký 40 VI. Đánh giá ưu khuyết điểm 47 VII. Phân công công việc 48 2 Hệ thống luyện tập và thi lập trình trực tuyến I Khảo sát và phân tích hiện trạng hệ thống 1. Khảo sát : Tình hình trên Internet hiện nay , các website lập trình trực tuyến hiện thu hút rất lớn một lượng sinh viên , người dùng tham gia. Các website này có số lượng trên 1000 thành viên . Chúng ta có thể liệt kê một số hệ thống như vậy : http://acm.uva.es : trang luyện tập của Đại Học Valladodid – Tây Ban Nha http://acm.timus.ru : trang luyện tập của Đại Học Liên Bang Nga http://spoj.pl : trang luyện tập của Hội Đồng Tin Học Ba Lan Trang timus Tình hình tại Việt Nam ,trước 2002 các sinh viên Việt Nam đa phần giải bài trên các website hệ thống nước ngoài như đã nói ở trên. Hoặc một số sinh viên có tâm huyết đã thành lập một website : Vietnamese Online Programming Contest tại địa chỉ website của thành viên mg9h , một thành viên của diễn đàn www.ddth.com : http://www.mg9h.net/contest/index.php?more=amazing& . Nhưng website này không có chức năng chấm tự động như hệ thống nước ngoài nên việc tổ chức thi thường ít diễn ra, dẫn đến việc luyện tập của các thành viên chỉ là làm và tự chấm với nhau . Năm 2003 : Ioicamp có địa chỉ là www.ioicamp.net của Khối Chuyên Toán Tin Đại Học Khoa Học Tự Nhiên ĐHQG Hà Nội tạo ra một hệ thống luyện tập trên mạng do chính người Việt Nam tạo ra. Và đây là hệ thống đầu tiên được ứng dụng cho sinh viên học sinh Việt Nam trong việc luyện tập và thi tin học trực tuyến. Hệ thống này có thể cho phép người dùng đăng bài, gửi bài và được chấm trực tiếp bằng máy, do đó hệ thống này có thể được xem là tương đông với các hệ thống nước ngoài. Hệ thống được đặt tại khối chuyên ĐH Khoa Học Tự Nhiên ĐHQG Hà Nội, ký túc xá Mễ Trì. Trong quá trình hoạt động hệ thống Ioicamp đã là nơi giao lưu, luyện tập của 3 Hệ thống luyện tập và thi lập trình trực tuyến các sinh viên học sinh chuyên tin Việt Nam trên Internet. Hệ thống đã nhiều lần tổ chức thi trực tuyến thành công với nhiều kết quả khả quan tạo ra một sân chơi hữu ích cho các sinh viên học sinh chuyên tin. Tuy nhiên năm 2007, sau một thời gian thử nghiệm, hệ thống đã được các thầy Đại Học Khoa Tự Nhiên Hà Nội nghiệm thu thành đề tài nghiên cứu khoa học dẫn đến hệ thống không còn tồn tạii chức năng chấm bài trực tuyến và tù đó hệ thống không còn hoạt động trên Internet nữa . Trang chủ Ioicamp Năm 2007 : Sau khi hệ thống Ioicamp không còn hoạt động , một số thành viên kỳ cựu của website đã họp lại và tạo nên hệ thống VNSPOJ đặt tại địa chỉ http://vn.spoj.pl . Hệ thống này đã thực sự thay thế cho hệ thống Ioicamp . Tuy nhiên hệ thống VNSPOJ chỉ là một hệ thống con được phát triển dựa trên hệ thống SPOJ của Ba Lan. Vì vậy, dữ liệu, chương trình chấm trực tuyến vẫn đặt tại nước ngoài và hoàn toàn phụ thuộc vào website SPOJ . 4 Hệ thống luyện tập và thi lập trình trực tuyến Trang chủ VNSPOJ Ngoài ra , chương trình PC^2 đã được một số trường Đại Học trên thế giới đưa ra cho mọi người tải về sử dụng . Chính vì vậy, khi bắt đầu tham gia vào các kỳ thi lập trình mang tầm vóc thế giới, trường Đại Học Khoa Học Tự Nhiên – ĐHQG TPHCM muốn tạo ra một hệ thống luyện tập trực tuyến như vậy, để sinh viên có thể luyện tập, thi đấu ,giao lưu học hỏi với nhau . 2. Phân tích hiện trạng : - Hệ thống được đặt trên máy chủ của khoa Toán Tin , Trường Đại Học Khoa Học Tự NHiên với cấu hình : • Chương trình PC^2 là chương tình chấm bài trực tuyến bằng máy.Tại đây khi thành viên tham gia giải bài tập,nộp bài cho hệ thống thì ngay sau đó hệ thống sẽ trả ra kết quả bài của thành viên đó là đúng hay sai và sai vì lỗi gì… • Tên miền : www.acm.hcmuns.edu.vn đã được đặt . - Bên cạnh để luôn có bài cho thành viên luyện tập thì các thành viên như tác giả có thể cung cấp bài cho hệ thống,các bài được cung cấp đó sẽ được quản trị đem kiểm tra lại về tính đúng đắng của bài toán và kết quả sau đó mới được đưa vào ứng dụng. II/ Phân tích yêu cầu 1.Yêu cầu chức năng • Quản lý danh sách các bài tập( thêm, sửa, xóa các bài tập) • Quản lý thành viên trong hệ thống . 5 Hệ thống luyện tập và thi lập trình trực tuyến • Quản lý các cuộc thi do hệ thống tổ chức( quản lý các thành viên tham gia , tìm người đạt giải) . • Cho thành viên tìm kiếm các dạng bài theo ý muốn • Tổ chức lưu trữ bài tập thành từng danh sách . 2.Yêu cầu phi chức năng Hệ thống có khả năng bảo mật và phân quyền . • Người dùng: đăng kí,được cấp quyền,phân quyền cho mỗi nhóm người được truy cập và sử dụng những chứa năng nhất định của hệ thống. • Đổi mật khẩu: Người dùng có thể đổi mật khẩu để truy cập vào trang dữ liệu và sử dụng thuộc phạm quy của người dùng đó được cho phép. Cách phân quyền cho người dùng rất cần thiết khi truy cập, để tiện cho việc kiểm soát và theo dõi người dung và chương trình của người quản trị,đồng thời trách đi việc mất đi hay lộ dữ liệu trong cuộc thi. III/ Phân tích hệ thống 1. Mô hình thực thể ERD a. Các thực thể 1/ Thực thể : THANHVIEN Miêu tả thành viên của hệ thống . Các thuộc tính : - Mã thành viên (MaTV) : đây là thuộc tính khóa, dùng để phân biệt với các thành viên khác . - Tên đăng nhập ( TenDN ) - Mật khẩu (Matkhau ) - Tên thành viên ( TenTV) - Địa chỉ thành viên (DiachiTV) - Trường ( Truong) - Emai thành viên (EmailTV) - Năm sinh (namsinh) 2/ Thực thể : BAITAP Miêu tả bài dùng cho thành viên luyện tập trực tuyến Các thuộc tính : - Mã số bài tập (MasoBT): đây là thuộc tính khóa, phân biệt bài tập này với bài tập khác . - Mã bài tập (MaBT) - Tên bài tập (TenBT) 6 Hệ thống luyện tập và thi lập trình trực tuyến - Địa chỉ tải (Diachitai ): đây là đường dẫn đến địa chỉ chứa tập tin của bài dùng cho thành viên muốn lưu trữ . - Nội dung (Noidung ): nội dung của bài tập . 3/ Thực thể : DANHSACH Miêu tả danh sách 100 bài tập ra định kỳ . Các thuộc tính : - Mã danh sách (MaDS) : Đây là thuộc tính khóa,phân biệt các danh sách(100 bài) với nhau - Tên danh sách (TenDS) 4/ Thực thể DANGBAI Miêu tả các dạng bài tập như : Hình học , đồ thị , quy hoạch động Các thuộc tính : - Mã dạng bài (Madang) : đây là thuộc tính khóa - Tên dạng bài (Tendang) 5/ Thực thể : TACGIA Miêu tả tác giả của các bài tập và bài thi . Các thuộc tính : - Mã tác giả ( MaTG) - Tên tác giả (TenTG) - Số bài (Sobai ) - Địa chỉ email ( EmailTG) 6/ Thực thể CUOCTHI Miêu tả cuộc thi được tổ chức trên hệ thống Các thuộc tính : - Mã cuộc thi ( MaCT) : đây là thuộc tính khóa - Tên cuộc thi ( TenCT) - Thời gian bắt đầu ( ThoigianBD) - Thời gian kết thúc ( ThoigianKT) 7/ Thực thể BAITHI Miêu tả ngân hàng bài thi được dùng cho các cuộc thi . Các thuộc tính : - Mã bài thi (MaBThi ): đây là thuộc tính khóa,để phân biệt các bài thi với nhau - Tên bài thi (TenBThi ) - Nội dung bài thi (NoidungThi) 8/ Thực thể : QUANTRI Miêu tả quản trị viên của hệ thống Các thuộc tính : 7 Hệ thống luyện tập và thi lập trình trực tuyến - Mã quản trị (MaQT) : Đây là khóa chính - Mật khẩu quản trị ( MatkhauQT) - Tên quản trị ( TenQT) 9/ Thực thể : TINTUC Miêu tả tin tức của hệ thống Các thuộc tính - Mã tin tức ( MaTT) - Nội dung tin tức ( NoidungTT) - Ngày đăng tin tức ( Ngaydang ) - Nguồn đăng tin tức ( Nguondang ) b.Mô hình ERD : 8 Hệ thống luyện tập và thi lập trình trực tuyến 2. Chuyển mô hình ERD sang mô hình quan hệ THANHVIEN(MaTV, TenDN, Matkhau, TenTV, DiachiTV, Truong EmailTV, Namsinh ) BAITAP( MasoBT, MaDS, Madang, MaBT, TenBT, Noidung, Diachitai, Gioihanthoigian, Gioihanbonho, Dulieunhap, Dulieura ) BANGGIAIBAITAP ( MasoBT, MaTV, Lan , Ketqua ). CUOCTHI ( MaCT , MaDT ,TenCT , ThoigianBD , ThoigianKT) BANGTHAMGIATHI ( MaTV , MaCT ) QUANTRI ( MaQT, MatkhauQT,TenQT ) QUANHEHIEUCHINH ( MaQT ,MaBthi ) TACGIA ( MaTG , TenTG , EmailTG , Sobai) QUANHERADE ( MasoBT , MaTG ) DANGBAI ( Madang , Tendang ) DANHSACH ( MaDS, TenDS)BAITHI ( MaBthi , MaCT, TenBthi, NoidungBT, Ketquathi, Ghthoigian,Ghbonho,DLnhap, DLra ) QUANHERABAITHI (MaTG ,MaBthi ) TINTUC ( MaTT, NoidungTT, Ngaydang, Nguondang ) QUANHEHIEUCHINHTT( MaQT, MaTT ) 3. Mô tả chi tiết các quan hệ . 3.1 Quan hệ Thành Viên : THANHVIEN (MaTV , MaQT, TenDN, Matkhau ,TenTV, DiachiTV,Truong, EmailTV , Namsinh) . Tên quan hệ : THANHVIEN STT Tên thuộc tính Diển giải Kiểu DL Chiều dài Loại DL Ràng buộc 1 MaTV Mã thành viên C 10 B Khóa chính MaQT Mã đăng nhập cảu quản trị C 20 B Khóa ngoại 2 TenDN Tên đăng nhập của thành viên C 30 B 3 Matkhau Mật khẩu của thành viên C 30 B 9 Hệ thống luyện tập và thi lập trình trực tuyến 4 TenTV Tên thật của thành viên CU 50 K 5 DiachiTV Địa chỉ thành viên CU 120 K 6 Truong Tên trường của thành viên C 10 K 7 EmailTV Email của thành viên C 50 B Tổng 325 • Khối lượng : Số dòng tối thiểu :500 Số dòng tối da : 10000 Kích thước tối thiểu : 500 x 325 = 162.5 KB Kích thước tối đa : 10000 x 325 = 3250 KB 3.2 Quan hệ Bài tập BAITAP( MasoBT, MaDS, Madang, MaBT, TenBT, Noidung, Diachitai , Gioihanthoigian, Gioihanbonho, Dulieunhap, Dulieura ) Tên quan hệ : BAITAP STT Tên thuộc tính Diễn giải Kiểu DL Chiều dài Loại DL Ràng buộc 1 MasoBT Mã số của bài tập C 8 B Khóa chính MaDS Mã số của danh sách mà bài tập thuộc SN 10 B Khóa ngoại Madang Mã số của dạng bài tập SN 6 B Khóa ngoại 2 MaBT Mã của bài tập và chương trình C 8 B 3 TenBT Tên bài tập CU 40 B 4 Diachitai Địa chỉ tải bài tập C 40 B 10 [...]... trang của Quản Trị 22 BANGGIAIBAITAP Hệ thống luyện tập và thi lập trình trực tuyến - 1.2 Sơ đồ trang của Khách 23 Hệ thống luyện tập và thi lập trình trực tuyến - 1.3 Sơ đồ trang wcủa Thành viên 2 .Thiết Kế Giao Diện 24 Hệ thống luyện tập và thi lập trình trực tuyến ... quan Giá trị default Hệ thống luyện tập và thi lập trình trực tuyến - Tên đối tượng Tài Khoản Kiểu đối tượng Ràng buộc Dữ liệu TextBox Mật Khẩu TextBox Đồng Ý Button Làm Lại Button 27 Mục đích Hàm liên quan Giá trị default Hệ thống luyện tập và thi lập trình trực tuyến - 2.2 Trang Bài Tập Tên đối tượng... bài tập 30 Hàm liên quan Giá trị default Hệ thống luyện tập và thi lập trình trực tuyến - 2.5 Trang Cuộc Thi Tên đối tượng Kiểu đối tượng Ràng buộc Dữ liệu Mục đích Thanh menu Linkbutton Chọn từ chuột Mở các trang theo tên Các liên kết cuộc thi Link Chọn từ chuột Mở trang cuộc thi 31 Hàm liên quan Giá trị default Hệ thống luyện tập và thi lập trình trực. .. Ngôn ngữ Dropdownlis lập trình t Ràng buộc Dữ liệu Mục đích Nhập từ bàn phím Cho biết tên mã bài Trắng Chọn Chọn ngôn ngữ lập trình C++ Bài làm Textarea Nhập từ bàn phím Cho biết bài làm và nội dung bài Chọn tập tin Fileupload Chọn bằng chuột Lấy tập tin bài làm Chấm Button Hàm liên quan Chấm bài 33 Mở chương trình PC^2 Giá trị default Hệ thống luyện tập và thi lập trình trực tuyến ... 41 Ngaydang Ngày đăng của một tin tức TINTUC 42 Nguondang Nguồn đăng của một tin tức TINTUC 43 Ketqua Kết quả bài làm BANGGIAIBAITAP 44 Bonho Bộ nhớ của bài BANGGIAIBAITAP 45 Thoigian Kết quả thời gian của bài BANGGIAIBAITAP 21 Hệ thống luyện tập và thi lập trình trực tuyến - 46 Thoigianlam Thờigian làm bài IV/ Thiết kế giao diện : 1 Sơ đồ các trang... menu Linkbutton Chọn từ chuột Mở các trang theo tiêu đề Các link bài tập Link Chọn từ chuột Mở trang bài tập tương ứng Quay lại hệ thống Linkbutton Chọn từ chuột Quay lại thệ thống bài tập 29 Hàm liên quan Giá trị default Hệ thống luyện tập và thi lập trình trực tuyến - 2.4 Trang một Bài Tập Tên đối tượng Kiểu đối tượng Ràng buộc Dữ liệu Mục đích thanh... bài tập 19 BAITAP Hệ thống luyện tập và thi lập trình trực tuyến - BANGGIAIBAITAP QUANHERADE 9 MaBT Mã của bài tập và chương trình BAITAP 10 TenBT Tên bài tập BAITAP 11 Diachitai Địa chỉ tải bài lam BAITAP 12 Noidung Nội dung của bài tập BAITAP Gioihanthoigian Giới hạn thời gian chạy của bài tập BAITAP 13 14 Gioihanbonho Giới hạn bộ nhớ của bài tập. . .Hệ thống luyện tập và thi lập trình trực tuyến - 5 Noidung Nội dung của bài tập CU 5000 B 6 Gioihanthoigia n Giới hạn thời gian chạy của bài tập NT 20 B 5 7 Gioihanbonho Giới hạn bộ nhớ của bài tập SN 20 B 6 8 Dulieunhap Dữ liệu đưa vào của bài tập C 30 B 7 9 Dulieura Dữ liệu ra của bài tập C 30 B 8 Tổng 5212 • Khối lượng... tối thiểu :100 Số dòng tối đa : 20000 Kích thước tối thiểu : 100 x 20 = 2 KB Kích thước tối đa : 20000 x 20 = 400 KB 4 Mô tả bảng tổng kết a) Tổng kết quan hệ SST Tên quan hệ Số Byte Kích thước tối đa (KB) 1 THANHVIEN 335 3350 18 Hệ thống luyện tập và thi lập trình trực tuyến - 2 BAITAP 5212 104240 3 BANGGIAIBAITAP 136208 272416000 4 BANGTHAMGIATHI 16... Khóa ngoại 12 Hệ thống luyện tập và thi lập trình trực tuyến - mà bài tập thuộc 2 TênDS Tên của danh sách bài tập CU 40 B Khóa ngoại Tổng 50 • Khối lượng : Số dòng tối thiểu :50 Số dòng tối đa : 2000 Kích thước tối thiểu : 50 x 50 = 2.5 KB Kích thước tối đa : 2000 x 50= 100 KB 3.6 Quan hệ Dang Bài : DANGBAI ( Madang , Tendang ) Tên quan hệ :DANGBAI STT . Vân 1 Hệ thống luyện tập và thi lập trình trực tuyến Mục Lục I.Khảo sát hệ thống và phân tích hiện trạng hệ thống 3 1. Khảo sát hệ thống 3 2. Phân tích hiện trạng hệ thống 5 II. Phân tích yêu. 47 VII. Phân công công việc 48 2 Hệ thống luyện tập và thi lập trình trực tuyến I Khảo sát và phân tích hiện trạng hệ thống 1. Khảo sát : Tình hình trên Internet hiện nay , các website lập trình. tuyến cho chính mình Qua môn học Phân Tích Thiết Kế Hệ Thống Thông Tin của thầy Nguyễn Gia Tuấn Anh , chúng em đã có một kiến thức nền tảng phân tích thiết kế một hệ thống. Trước như cầu thực tiễn