Khóa luận Xây dựng phần mềm hỗ trợ quy trình soạn thảo đề thi trắc nghiệm khách quan

Phương pháp trắc nghiệm khách quan là một phương pháp đánh giả kết quả học tập có tính khoa học, hiện đại, khách quan, mang lại một phương phương pháp đánh giá tối ưu. Nắm bắt được những lợi thế của phương pháp, tác giả đã “Xây dựng phần mềm hỗ trợ quy trình soạn thảo đề thi trắc nghiệm khách quan” và đạt được một số kết quả nhất định như: Đánh giá được thực trạng các phần mềm hỗ trợ tạo đề thi hiện nay; hiểu được cách kiểm tra, đánh giá thành quả học tập,phân loại được các mục tiêu giáo dục và các mức độ của lĩnh vực nhận thức; nắm bắt được các lý thuyết về trắc nghiệm cũng như xác định được quy trình hỗ trợ tạo đề thi trắc nghiệm khách quan. Tìm hiểu và áp dụng một số công nghệ, công cụ vào việc “Xây dựng phần mềm hỗ trợ quy trình soạn thảo đề thi trắc nghiệm khách quan”. Qua quá trình phân tích, thiết kế và xây dựng, tác giả nhận thấy “Phần mềm hỗ trợ quy trình soạn thảo đề thi trắc nghiệm khách quan” của khóa luận có nhiều sự khác biệt cũng như ưu điểm so với các sản phẩm khác như tuân thủ quy trình của một phần mềm hỗ trợ tạo đề thi; quản lý, phân định rõ ràng quyền hạn trong hệ thống; soạn câu hỏi với nhiều dạng câu hỏi khác nhau; hỗ trợ các kí tự đặc biệt, hình ảnh, bảng biểu; giao diện trực quan, dễ sử dụng bởi sự hỗ trợ của Devexpress, quản lý hiệu quả ngân hàng câu hỏi trắc nghiệm sơ bộ lẫn chính thức, đồng thời trang bị chức năng thảo luận, kiểm duyệt khá mới mẻ vào hệ thống. Tuy nhiên, bên cạnh những ưu điểm nổi trội vẫn còn tồn tại một số hạn chế như chưa soạn thảo câu hỏi theo mẫu quy định từ MS Word, chưa kết xuất ngân hàng câu hỏi kèm theo đáp án ra tệp MS Word để lưu trữ, việc lưu trữ nội dung câu hỏi, đáp án, giả thiết chung dưới dạng file Rtf làm cho dung lượng lưu trữ lớn, phình CSDL. Do đó, trong thời gian tới, đề tài sẽ tiếp tục nghiên cứu và hỗ trợ thêm nhiều dạng câu hỏi trắc nghiệm theo chuẩn IMS; phát triển thêm chức năng soạn câu hỏi theo mẫu định và kết xuất nội dung câu hỏi, đáp án ra MS Word để lưu trữ; xây dựng cách lưu trữ mới cho dữ liệu dưới dạng XML đồng thời hướng đến một phần mềm mở đa nền tảng, có thể quản lý trên web lẫn di động. Trường Đại học Kin

pdf81 trang | Chia sẻ: phamthachthat | Lượt xem: 1725 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Khóa luận Xây dựng phần mềm hỗ trợ quy trình soạn thảo đề thi trắc nghiệm khách quan, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
c thi an toàn mã nguồn, bao gồm cả việc mã nguồn được tạo bởi các hãng nào mà tuân thủ theo kiến trúc .NET. - Cung cấp một môi trường thực thi mã nguồn mà loại bỏ được những lỗi thực hiện các script hay môi trường thông dịch. - Làm cho những người phát triển có kinh nghiệm vững chắc có thể nắm vững nhiều kiểu ứng dụng khác nhau. Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 37 - Xây dựng tất cả các thông tin dựa trên tiêu chuẩn công nghiệp để đảm bảo rằng mã nguồn trên .NET có thể thích hợp với bất cứ mã nguồn khác. .NET Framework có hai thành phần chính: Common Language Runtime (CLR - Khối thức thi ngôn ngữ chung) và Framework Class Library (FCL - thư viện lớp .NET Framework). - Common Language Runtime (CLR) CLR thực hiện quản lý bộ nhớ, quản lý thực thi tiểu trình, thực thi mã nguồn, xác nhận mã nguồn an toàn, biên dịch và các dịch vụ hệ thống khác. CLR thúc đẩy việc mã nguồn thực hiện việc truy cập được bảo mật, cho phép phần mềm đóng gói trên Internet có nhiều đặc tính mà không ảnh hưởng đến việc bảo mật hệ thống. CLR còn thúc đẩy cho mã nguồn được thực thi mạnh mẽ hơn bằng việc thực thi mã nguồn chính xác và sự xác nhận mã nguồn. Thêm vào đó, môi trường được quản lý của runtime sẽ thực hiện việc tự động xử lý layout của đối tượng và quản lý những tham chiếu đến đối tượng, giải phóng đối tượng khi chúng không còn được sử dụng nữa. Runtime được thiết kế để cải tiến hiệu suất thực hiện. - Thư viện lớp .NET Framework Thư viện lớp .NET Framework là một tập hợp những kiểu dữ liệu được dùng lại và được kết hợp chặt chẽ với CLR. Thư viện lớp là hướng đối tượng cung cấp những kiểu dữ liệu mà mã nguồn được quản lý có thể dẫn xuất, khi đó những kiểu dữ liệu của .NET Framework dễ sử dụng hơn và làm giảm thời gian học những cái mới. Thư viện lớp còn đưa vào những kiểu dữ liệu để hỗ trợ cho những dự án phát triển chuyên biệt, phát triển các kiểu ứng dụng và dịch vụ như: Ứng dụng Console, ứng dụng giao diện GUI trên Windows (windows forms), ứng dụng ASP.NET, dịch vụ XML Web, dịch vụ Windows,... 2.3. Sử dụng ADO.NET để lập trình WINFORM 2.3.1. Giới thiệu khái quát ADO.NET ADO.NET là một tập hợp hướng đối tượng các thư viện cho phép bạn tương tác với nguồn dữ liệu (data sources). Thường thì nguồn dữ liệu là một cơ sở dữ liệu, nhưng có thể cũng là 1 tập tin Text, bảng tính Excel hoặc 1 tập tin XML. Trư ờ Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 38 Data Providers Ứng với mỗi cơ sở dữ liệu khác nhau thì ADO.NET cho phép chúng ta tương tác cũng khác nhau. Một Data Provider được sử dụng cho việc kết nối đến cơ sở dữ liệu, đọc, nhận, cập nhật,trong DataSet và trong cơ sở dữ liệu. Tuy nhiên do có khá nhiều nguồn dữ liệu nên nảy sinh ra các giao thức cũng khác nhau, vì thế để giao tiếp được với cơ sở dữ liệu chúng ta phải sử dụng giao thức phù hợp với nguồn dữ liệu đó. Các giao thức như ODBC, OleDb, hay khác hơn là các giao thức khác thông qua thư viện .NET của lớp ADO.NET. Hình 2.2: Mô hình hướng đối tượng của ADO.NET Một số giao thức thường dùng như: Bảng 2.1: Một số giao thức thường dùng Provider Name Tiền tố API Data Source ODBC Data Provider Odbc Dùng cho cơ sở dữ liệu cũ OleDb Data Provider OleDb Dùng cho cơ sở dữ liệu như Access, Excel Oracle Data Provider Oracle Dùng cho cơ sở dữ liệu Oracle SQL Data Provider Sql Dùng cho cơ sở dữ liệu SQL Server Borland Data Provider Bdp Dùng cho cơ sở dữ liệu Interbase, SQL Server, IBM DB2, Oracle Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 39 ADO.NET Objects ADO.NET bao gồm nhiều đối tượng giúp chúng ta làm việc với dữ liệu. Một số đối tượng đó là: SqlConnection Object: Là đối tượng kết nối với cơ sở dữ liệu. Kết nối này nhằm xác định máy chủ database server, tên cơ sở dữ liệu Database name, tên người dùng user name, mật khẩu password, và các thông số khác được yêu cầu để kết nối với cơ sở dữ liệu. Bảng sau đây hiển thị những thuộc tính và phương thức hay sử dụng nhất của một đối tượng kết nối Bảng 2.2: Thuộc tính và phương thức của đối tượng SqlConnection Tên Mô tả ConnectionString Cung cấp thông tin như datasource, tên cơ sở dữ liệu, được sử dụng để thiết lập kết nối với một cơ sở dữ liệu Open() Mở một kết nói với datasource được khai báo tại ConnectionString Close() Được sử dụng để đóng kết nối với data source State Được sử dụng để kiểm tra trạng thái của một kết nối. 0: kết nối đang đóng, 1: kết nối đang mở. Để kết nối với SQL Server, chuỗi kết nối có cấu trúc như sau: Server=myServerAddress;Database=myDataBase;UserId=myUsername; Password=myPassword; SqlCommand Object Quá trình tương tác với cơ sở dữ liệu nghĩa là phải có các hành động cho nó, tương ứng với thực hiện một đối tượng lệnh. Đối tượng này thực thi các câu truy vấn SQL , Store Procedure, hoặc chỉ định tham chiếu đến một đối tượng SqlDataAdapter. SqlDataReader Object: Nhiều thao tác dữ liệu đòi hỏi chỉ lấy một luồng dữ liệu để đọc. Đối tượng Data Reader cho phép lấy được kết quả của một câu lệnh SELECT từ một đối tượng command. Để tăng hiệu suất, dữ liệu trả về từ một data reader là một luồng Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 40 dữ liệu fast forward-only. Có nghĩa là chỉ có thể lấy dữ liệu từ luồng theo một thứ tự nhất định. Mặc dù điều này có lợi về mặt tốc độ, nhưng nếu cần phải thao tác dữ liệu, thì một DataSet sẽ là một đối tượng tốt hơn để làm việc. Các thuộc tính và phương thức của đối tượng DataReader: Bảng 2.3: Thuộc tính và phương thức của đối tượng DataReader Tên Mô tả Read() Phương thức được sử dụng để đọc một dòng. Close() Được sử dụng để đóng đối tượng DataReader. NextResult Được sử dụng để di chuyển đến hàng dữ liệu tiếp theo trong trường hợp câu lệnh truy vấn trả lại nhiều dòng kết quả DataSet Object Đối tượng DataSet là một thể hiện của dữ liệu trong bộ nhớ. Chúng chứa nhiều đối tượng DataTable, bên trong DataTable lại có nhiều column và row, giống như các database table thông thường. Thậm chí có thể định nghĩa dữ liệu giữa các table để tạo các quan hệ parent-child. DataSet được thiết kế đặc biệt để giúp quản lý dữ liệu trong bộ nhớ và để hỗ trợ các thao tác không cần kết nối trên dữ liệu. DataSet là một đối tượng được dùng bởi tất cả Data Provider, đó là lý do tại sao nó không có một Data Provider prefix trong tên gọi. SqlDataAdapter: Đôi lúc dữ liệu làm việc là read-only và chúng ta ít khi cần thay đổi dữ liệu nguồn. Vài trường hợp cần lưu trữ tạm dữ liệu trong bộ nhớ để hạn chế truy xuất đến cơ sở dữ liệu. DataAdapter giúp quản lý dữ liệu trong chế độ ngắt kết nối disconnect. DataAdapter sẽ đẩy vào DataSet khi đọc dữ liệu và thực hiện thay đổi tất cả dữ liệu vào Database. DataAdapter chứa một tham chiếu đến đối tượng connection và mở/đóng kết nối tự động khi đọc và ghi dữ liệu vào database. Hơn nữa, DataAdapter chứa đối tượng command cho những thao tác SELECT, INSERT, UPDATE và DELETE. STORE PROCEDURE trên dữ liệu. Chúng ta sẽ có một DataAdapter được định nghĩa cho mỗi Trư ờng ạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 41 table trong một DataSet và nó sẽ quản lý các giao tiếp với database. Tất cả những gì chúng ta cần làm là chỉ cho DataAdapter khi nào nạp hoặc ghi vào cơ sở dữ liệu. 2.3.2. Sử dụng công cụ Visual studio 2010 để lập trình WINFORM Visual Studio 2010 và .NET Framework 4 đánh dấu thế hệ kế tiếp của các công cụ phát triển từ Microsoft. Đây là phiên bản tập trung vào những cốt lõi trong trải nghiệm phát triển phần mềm, cung cấp những nền tảng mới nhất, những trải nghiệm nhắm tới các loại ứng dụng nhất định, cùng nhiều cải thiện về kiến trúc lõi. Một vài điểm mới trong Visual Studio 2010: - Đơn giản hóa quá trình phát triển giải pháp, giảm thiểu nguy cơ cũng như tăng cường kết quả trả về; - Cung cấp môi trường tích hợp các công cụ và kiến trúc máy chủ nhằm đơn giản hóa toàn bộ tiến trình phát triển ứng dụng, dễ dàng tùy biến mà không gây lỗi - Mở rộng tiến trình phát triển liên tục (continuous build) đã được giới thiệu trong phiên bản 2008 nhằm giúp các nhà phát triển tránh nguy cơ phá hỏng mã nguồn. - Làm việc nhóm hiệu quả bằng cách khai thác tính năng cộng tác tiên tiến cũng như sử dụng các công cụ kiểm định và dò lỗi tích hợp nhằm đảm bảo chất lượng giải pháp vừa giảm thiểu chi phí tổn thất phát triển - Được phân phối dưới dạng file ISO và có thể ghi ra đĩa trống sử dụng cho việc cài đặt 2.3.3. Ngôn ngữ lập trình C# 1. Giới thiệu C# là ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ. Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theo ECMA (European Computer Manufactures Association) là C#, chỉ bao gồm dấu số thường. Microsoft phát triển C# dựa trên C++ và Java. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java. C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng, và Scott Wiltamuth với các sản phẩm Turbo Pascal, Delphi, J++, WFT. C# là một trong rất nhiều ngôn ngữ lập trình được hỗ trở bởi .NET Framework (như C++, Java, VB, ). Có thể hiểu đơn giản đây là một trung tâm biên dịch trong đó Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 42 tất cả các ngôn ngữ được hỗ trợ bởi .NET Framework sẽ được chuyển đổi ra MSIL (một dạng mã trung gian) rồi từ đó mới đươc biên dịch tức thời (Just in time Compiler – JIT Compiler) thành các file thực thi như exe. Một thành tố quan trọng nữa trong kiến trúc .NET Framework chính là CLR (.NET Common Language Runtime), khối chức năng cung cấp tất cả dịch vụ mà chương trình cần giao tiếp với phần cứng, với hệ điều hành. 2. Tại sao phải sử dụng ngôn ngữ C# - C# là ngôn ngữ đơn giản: C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và C++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở ảo (virtual base class). C# khá giống C, C++ và Java về diện mạo, cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đãđược cải tiến để làm cho ngôn ngữ đơn giản hơn. Một vài trong các sự cải tiến là loại bỏ các dư thừa, hay là thêm vào những cú pháp thay đổi. - C# là ngôn ngữ hiện đại: Những đặc tính như là xử lý ngoại lệ, thu gom bộ nhớ tự động, những kiểu dữ liệu mở rộng, và bảo mật mã nguồn là những đặc tính được mong đợi trong một ngôn ngữ hiện đại. C# chứa tất cả những đặc tính trên - C# là ngôn ngữ hướng đối tượng: Những đặc điểm chính của ngôn ngữ hướng đối tượng (Object-oriented language) là sự đóng gói (encapsulation), sự kế thừa (inheritance), và đa hình (polymorphism). C# hỗ trợ tất cả những đặc tính trên. - C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo: Ngôn ngữ này không đặt những ràng buộc lên những việc có thể làm. C# được sử dụng cho nhiều các dự án khác nhau như là tạo ra ứng dụng xử lý văn bản, ứng dụng đồ họa, bản tính, hay thậm chí những trình biên dịch cho các ngôn ngữ khác. - C# là ngôn ngữ ít từ khóa : C# là ngôn ngữ sử dụng giới hạn những từ khóa. Phần lớn các từ khóa được sử dụng để mô tả thông tin. Chúng ta có thể nghĩ rằng một ngôn ngữ có nhiều từ khóa thì sẽ mạnh hơn. Điều này không phải sự thật, ít nhất là trong trường hợp ngôn ngữ C#, chúng ta có thể tìm thấy rằng ngôn ngữ này có thể được sử dụng để làm bất cứ nhiệm vụ nào. - C# là ngôn ngữ hướng module : Mã nguồn C# có thể được viết trong những phần được gọi là những lớp, những lớp này chứa các phương thức thành viên của nó. Những lớp và những phương thức có thể được sử dụng lại trong ứng dụng hay các chương T ư ờng Đạ i họ c K inh ế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 43 trình khác. Bằng cách truyền các mẫu thông tin đến những lớp hay phương thức chúng ta có thể tạo ra những mã nguồn dùng lại có hiệu quả. - C# sẽ là một ngôn ngữ phổ biến : C# là một trong những ngôn ngữ lập trình mới nhất. Nhưng ngôn ngữ này có một số lý do để trở thành một ngôn ngữ phổ biến. Một trong những lý do chính là Microsoft và sự cam kết của .NET. Ngoài hai lý do trên ngôn ngữ C# cũng sẽ trở nên phổ biến do những đặc tính của ngôn ngữ này được đề cập trong mục trước như: đơn giản, hướng đối tượng, mạnh mẽ 2.4. Sử dụng hệ quản trị cơ sở dữ liệu SQL Server để lưu trữ và thao tác dữ liệu 2.4.1. Giới thiệu chung Microsoft SQL Server là hệ quản trị cơ sở dữ liệu quan hệ (Relational DataBase Management System – RDBMS) sử dụng các câu lệnh Transaction – SQL để trao đổi dữ liệu giữa máy khách (Client Computer) và máy chủ (Server Computer). Người dùng truy cập dữ liệu trên máy chủ thông qua ứng dụng. Người quản trị CSDL truy cập máy chủ trực tiếp để thực hiện các chức năng cấu hình, quản trị và thực hiện các thao tác bảo trì CSDL. SQL Server là một hệ quản trị CSDL có khả năng mở rộng, chúng có thể lưu một lượng lớn dữ liệu và hỗ trợ tính năng cho phép nhiều người dùng truy cập đồng thời. Các phiên bản của SQL Server phổ biến hiện này là SQL Server 7.0, SQL Server 2000, SQL Server 2005, SQL Server 2008. Các đặc tính của SQL Server: - Cho phép quản trị một hệ CSDL lớn (lên đến vài tega byte), có tốc độ xử lý dữ liệu nhanh đáp ứng yêu cầu về thời gian. - Cho phép nhiều người cùng khai thác trong một thời điểm đối với một CSDL và toàn bộ quản trị CSDL (lên đến vài chục ngày user). - Có hệ thống phân quyền bảo mật tương thích với hệ thống bảo mật của công nghệ NT (Network Technology), tích hợp với hệ thống bảo mật của Windows NT hoặc sử dụng hệ thống bảo về độc lập của SQL Server. - Hỗ trợ trong việc triển khai CSDL phân tán và phát triển ứng dụng trên Internet. - Cho phép lập trình kết nối với nhiều ngôn ngữ lập trình khác dùng xây dựng các ứng dụng đặc thù (Visual Basic, C, C++, ASP...). Trư ờn Đạ i họ Kin h tế Hu ế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 44 - Sử dụng câu lệnh truy vấn dữ liệu Transaction – SQL (ví dụ như trong Access là SQL, trong Oracle là PL/SQL). 2.4.2. Các thành phần của SQL Server SQL Server được cấu thành bởi nhiều thành phần khác nhau, các thành phần này có mối quan hệ trong một hệ thống, phối hợp với nhau tạo thành một giải pháp hoàn chỉnh, nâng cáo hiệu quả quản trị, phân tích, lưu trữ dữ liệu. Mô hình các thành phần của SQL Server được thể hiện như sau: Hình 2.3: Các thành phần của SQL Server - Replication: Là công cụ dùng nhân bản dữ liệu, người dùng có thể tạo một Server khác với bộ dữ liệu giống bộ dữ liệu trên server chính. Công cụ tạo cơ chế tự đồng bộ dữ liệu giữa Server chính và Server nhân vản. Mục đích của việc tạo Server nhân bản là giảm tải cho Server chính, nâng cao hiệu quả phục vụ với số lượng người, phiên giao dịch lớn. - Data Transformation Service – DTS: Là công cụ giúp người dùng chuyển dữ liệu giữa các Server quản trị CSDL khác nhau, DTS có thể chuyển dữ liệu từ SQL Server Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 45 sang Oracle, Access, DB,... trước khi chuyển dữ liệu DTS định dạng kiểu dữ liệu để chuyển sang hệ quản trị CSDL khác. - Analysis service: Là công cụ giúp khai thác phân tích dữ liệu, hay khai phá dữ liệu theo phương thức đa chiều. Từ một tập dữ liệu sẵn có, người dùng có thể khai phá rồi từ đó đưa ra những nhận định, phân tích, đánh giá và dự đoán theo lĩnh vực nào đó, mỗi chiều trong ngữ cảnh này được coi là một tiêu chí xem xét của dữ liệu. - English query: Là công cụ tra cứu dữ liệu bằng tiếng Anh, cú pháp có thể sử dụng theo văn phạm tiếng Anh thông thường. - SQL Server tools: Là bộ công cụ cung cấp giao diện cho người quản trị như: Enterprise manager, Query Analyzer,... 2.4.3. Microsoft SQL Server 2008 SQL Server 2008 cho phép các nhà phát triển giảm được sự phức tạp của cơ sở hạ tầng trong khi đó vẫn đảm bảo cung cấp một nền tảng dữ liệu doanh nghiệp có khả năng bảo mật, khả năng mở rộng và quản lý tốt hơn, cùng với thời gian chết của ứng dụng giảm. Những điểm mới của SQL Server 2008 - Nền tảng cho các nhiệm vụ then chốt: + SQL Server 2008 cho phép các tổ chức có thể chạy hầu hết các ứng dụng phức tạp của họ trên một nền tảng an toàn, tin cậy và có khả năng mở rộng. Bên cạnh đó còn giảm được sự phức tạp trong việc quản lý cơ sở hạ tầng dữ liệu. + SQL Server 2008 cung cấp một nền tảng tin cậy và an toàn bằng cách đảm bảo những thông tin có giá trị trong các ứng dụng đang tồn tại và nâng cao khả năng sẵn có của dữ liệu. + SQL Server 2008 giới thiệu một cơ chế quản lý cách tân dựa trên chính sách, cơ chế này cho phép các chính sách có thể được định nghĩa quản trị tự động cho các thực thể máy chủ trên một hoặc nhiều máy chủ. Thêm vào đó, SQL Server 2008 cho phép thi hành truy vấn dự báo với một nền tảng tối ưu. - Sự phát triển động: SQL Server 2008 cùng với .Net Framwork đã giảm được sự phức tạp trong việc phát triển các ứng dụng mới. - Dữ liệu quan hệ mở rộng: T ư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 46 SQL Server 2008 cho phép các chuyên gia phát triển khai thác triệt để và quản lý bất kỳ kiểu dữ liệu nào từ các kiểu dữ liệu truyền thống đến dữ liệu không gian địa lý mới. - Thông tin trong toàn bộ doanh nghiệp: + SQL Server 2008 cung cấp một cơ sở hạ tầng có thể mở rộng, cho phép quản lý các báo cáo, phân tích với bất kỳ kích thước và sự phức tạp nào, bên cạnh đó nó cho phép người sử dụng dễ dàng hơn trong việc truy cập thông tin qua sự tích hợp sâu hơn với Microsoft Office. Điều này cho phép đưa được thông tin của doanh nghiệp rộng khắp trong tổ chức. + SQL Server 2008 cho phép người dùng hợp nhất trong các trung tâm dữ liệu vào một nơi lưu trữ dữ liệu tập trung của toàn doanh nghiệp. - Bộ đếm hiệu suất được mở rộng. - Tài nguyên chủ có thể được bảo đảm an toàn: Với tính năng quản lý tài nguyên (Resource Governor) trong SQL Server 2008. Governor được sử dụng hạn chế người dùng hoặc nhóm người dùng chi phôi các lớp tài nguyên mức cao. - Việc cài đặt đã được đơn giản hóa và khả năng gỡ bỏ cài đặt các gói dịch vụ cũng thực hiện một cách dễ dàng hơn. - Mã hóa dữ liệu: Cho phép cơ sở dữ liệu, các bảng và dữ liệu có thể được mã hóa mà không cần phải lập trình ứng dụng, ở SQL Server 2008 toàn bộ cơ sở dữ liệu đều có thể được mã hóa bằng SQL Engine. SQL Server 2008 có các phiên bản: Enterprise (x86,X64,IA64), Standard (x86,x64), Small Business (x86,x64), Developer (x86,X64,IA64), Workgroup (x86,x64), Web (x86,x64), Express (x86,x64), 2.5. Tạo giao diện bằng bộ công cụ hỗ trợ Devexpress 13.2.5 DevExpress là một Framework được viết cho nền tảng .NET Framework. Nó cung cấp các control và công nghệ để phục vụ cho quá trình phát triển phần mềm. Thành phần của DevExpress bao gồm: Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 47 WinForm Controls: Cung cấp các control cho WinForms. ASP.NET Controls: Cung cấp các control cho WebForms. WPF Controls: Cung cấp các control cho WPF Silverlight Controls: Cung cấp các control cho Silverlight XtraCharts: Control cung cấp các loại biểu đồ. XtraReports: Cung cấp các control tạo báo cáo XPO: Cung cấp môi trường làm việc với database XAF: Một công nghệ mới giúp việc phát triển phần mềm một cách nhanh chóng Trải qua nhiều phiên bản, DevExpress đã từng bước nâng cấp, hoàn thiện và thêm mới rất nhiều chức năng. Với phiên bản DevExpress 13.2.5 được cung cấp những công cụ, môi trường tuyệt vời để biến những ý tưởng thành hiện thực một cách nhanh chóng, dễ dàng, mang tính thẩm mỹ cao. Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 48 CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM HỖ TRỢ QUY TRÌNH SOẠN THẢO ĐỀ THI TRẮC NGHIỆM KHÁCH QUAN Từ việc tìm hiểu lý thuyết về kiểm tra, đánh giá thành quả học tập, quy trình xây dựng phần mềm hỗ trợ soạn thảo đề thi trắc nghiệm khách quan ở Chương 1và các công nghệ được sử dụng ở Chương 2, Chương này sẽ trình bày phân tích và thiết kế hệ thống mới của khóa luận phù hợp với các mục tiêu đã đề ra. 3.1. Tổng quan về phần mềm hỗ trợ soạn thảo đề thi trắc nghiệm 3.1.1. Giới thiệu về hệ thống hỗ trợ thi trắc nghiệm Hệ thống hỗ trợ thi trắc nghiệm được mô hình hóa như sau: Hình 3.1: Mô hình hệ thống thi trắc nghiệm Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 49 Hệ thống này bao gồm: Ngân hàng trắc nghiệm: bao gồm ngân hàng trắc nghiệm, ngân hàng bố cục đề, ngân hàng đề trắc nghiệm của tất cả các môn học được phân theo từng bộ môn, từng khoa. Chức năng Bộ soạn thảo đề thi trắc nghiệm, là chương trình giúp cho giáo viên soạn thảo câu hỏi trắc nghiệm, soạn thảo bố cục đề và soạn thảo đề trắc nghiệm. Ngoài ra, chương trình còn nhiều chức năng khác sẽ được mô tả trong phần tiếp theo. Chức năng Thống kê và Đánh giá trắc nghiệm, là chương trình dùng để Thống kê và Đánh giá thi trắc nghiệm, là chương trình dùng để thống kê và đánh giá câu trắc nghiệm và đề trắc nghiệm. Dữ liệu tính toán được sẽ lưu theo từng câu trắc nghiệm và từng đề trắc nghiệm giúp cho giáo viên sữa chữa hoặc giúp cho bộ bóc đề chọn câu trắc nghiệm phù hợp. Chức năng Thi trắc nghiệm, đây là chương trình dành cho các thí sinh. Chương trình này sẽ lấy đề thi từ ngân hàng đề, thí sinh sẽ làm bài ngay trong chương trình (bằng cách nhấn các nút trên màn hình). Sau khi kết thúc, điểm hiển thị ra màn hình báo cho thí sinh biết và đồng thời điểm đó cũng sẽ được ghi nhận vào CSDL điểm. Cuối cùng, là chức năng Quản trị hệ thống, đây là chương trình nhằm để quản lý toàn bộ hệ thống. Người quản trị có thể phân quyền, bãi bỏ quyền, quản lý truy xuất ngân hàng trắc nghiệm, cập nhật, duy tu ngân hàng trắc nghiệm, Và đề tài “Xây dựng phần mềm hỗ trợ quy trình soạn thảo đề thi trắc nghiệm khách quan” của khóa luận nhằm nghiên cứu, lựa chọn các giải pháp phù hợp với mục tiêu đề ra bằng việc mô tả hệ thống mới như sau: 3.1.2. Mô tả hệ thống Phần mềm hỗ trợ soạn thảo đề thi trắc nghiệm nên khóa luận này đã xây dựng hệ thống bao gồm: Chương trình soạn thảo câu hỏi và quản lý ngân hàng câu hỏi trắc nghiệm: Chương trình soạn thảo: là chương trình cho phép người soạn được phân quyền soạn thảo ở phần kiến thức cụ thể của một môn học nào đó, ngoài ra nó còn cho phép chỉnh lý lại câu hỏi đã soạn trong trường hợp câu hỏi đó chưa được công khai để người khác (người trong tổ bộ môn) có thể xem, thảo luận và duyệt câu hỏi. Nội dung của câu hỏi soạn thảo bao gồm Nội dung câu hỏi, các lựa chọn và đáp án, nội dung giả thiết chung (nếu có). Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 50 Quản lý ngân hàng trắc nghiệm: ngân hàng trắc nghiệm là thành phần cốt lõi và quan trọng nhất, bao gồm ngân hàng câu trắc nghiệm sơ bộ, ngân hàng câu hỏi chính thức của tất cả môn học theo từng bộ môn, tổ bộ môn. Ở ngân hàng sơ bộ sẽ thực hiện quản lý các câu hỏi đã công khai duyệt, cho phép xem tỉ lệ duyệt của câu hỏi và chương trình sẽ tự động chuyển câu hỏi khi tỉ lệ duyệt vượt quá 50% số người trong tổ bộ môn hoặc trường hợp tỉ lệ duyệt chưa quá 50% mà trưởng tổ bộ môn hoặc quản lý hệ thống muốn chuyển câu hỏi nào đó sang ngân hàng chính thức thì có thể tự thực hiện bằng chức năng “Chuyển câu hỏi sang ngân hàng chính thức” được trang bị trong hệ thống. Ở ngân hàng chính thức sẽ thực hiện quản lý các câu hỏi được dùng cho việc bốc đề thi, tại đây người sử dụng có thể xem độ khó và tình trạng câu hỏi là cần sửa, cần xem xét lại làm căn cứ để quản lý hệ thống hoặc trưởng bộ môn thực hiện việc chuyển câu hỏi về lại ngân hàng sơ bộ để thảo luận, duyệt và chỉnh sửa lại cho phù hợp. Chức năng quản lý môn học: là chương trình cho phép quản lý môn học, kiến thức của môn học bao gồm chương, chủ đề, mục kiến thức và mức trí năng và quản lý ma trận kiến thức, phân quyền soạn thảo cụ thể dựa vào ma trận. Chức năng quản lý người sử dụng: bao gồm quản lý thông tin cá nhân và thông tin tài khoản. Chức năng quản lý hệ thống: bao gồm quản lý các danh mục như độ khó, khoa, tổ bộ môn, chức danh, giáo viên, quản lý cây phân cấp môn học, cho phép tạo tài khoản người dùng, phân quyền sử dụng hệ thống theo thứ tự từ thấp đến cao bao gồm quyền giáo viên ra đề, quyền trưởng tổ bộ môn và quyền quản lý hệ thống, sao lưu cơ sở dữ liệu, cuối cùng là theo dõi thông tin truy nhập hệ thống của người dùng. Chức năng in đề: là chương trình cho phép chọn đề có sẵn trong ngân hàng đề của một môn học cụ thể và xuất đề ra dạng file pdf. 3.2. Phân tích hệ thống 3.2.1. Phân tích hệ thống về chức năng Phân tích hệ thống về chức nhằm xác định một cách chính xác và cụ thể các chức năng chính của hệ thống thông tin. Trong giai đoạn này cần phải xác định rõ ràng những gì mà hệ thống cần phải thực hiện mà chưa quan tâm đến phương pháp thực hiện chức năng đó. Trư ờ g Đạ i họ c K inh tế H ế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 51 1. Sơ đồ phân rã chức năng (BFD - Business Function Diagram) Sơ đồ phân rã chức năng là: - Công cụ biểu diễn việc phân rã có thứ bậc đơn giản các công việc cần thực hiện. - Mỗi công việc được chia ra làm các công việc con. - Số mức chia ra phụ thuộc vào kích cỡ và độ phức tạp của hệ thống. Sơ đồ chức năng của hệ thống bao gồm 5 chức năng: Quản lý người dùng, quản lý hệ thống, soạn câu hỏi, quản lý môn học và in đề. Hình 3.2: Sơ đồ chức năng 2. Mô tả chức năng a. Chức năng “Quản lý người dùng” Bao gồm 3 chức năng con: - Đăng nhập - Đăng xuất Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 52 - Quản lý thống thông tin người dùng (thông tin cá nhân và thông tin đăng nhập) Hình 3.3: Chức năng quản lý người dùng b. Chức năng “Quản lý hệ thống” Bao gồm 6 chức năng con: - Quản lý danh mục - Quản lý cây phân cấp môn học - Tạo tài khoản người dùng - Phân quyền hệ thống - Sao lưu cơ sở dữ liệu - Quản lý thông tin truy nhập hệ thống Hình 3.4: Chức năng quản lý hệ thống c. Chức năng “Soạn câu hỏi” Hình 3.5: Chức năng soạn câu hỏi Bao gồm 6 chức năng con: - Nhập câu hỏi - Hiệu chỉnh câu hỏi - Thảo luận - Duyệt câu hỏi Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 53 - Chuyển câu hỏi đến ngân hàng chính thức - Chuyển câu hỏi về ngân hàng sơ bộ d. Chức năng “Quản lý môn học” Bao gồm 6 chức năng con: - Quản lý chương - Quản lý chủ đề - Quản lý mục kiến thức - Quản lý mức trí năng - Quản lý ma trận kiến thức - Phân quyền soạn câu hỏi Hình 3.6: Chức năng quản lý môn học e. Chức năng “In đề” Bao gồm 2 chức năng con: - Chọn đề - In đề Hình 3.7: Chức năng in đề 3. Sơ đồ ngữ cảnh (CD - Context Diagram) Sơ đồ ngữ cảnh là một dạng sơ đồ được dùng để hỗ trợ cho quá trình xây dựng sơ đồ dòng dữ liệu. Việc sử dụng sơ đồ ngữ cảnh nhằm làm rõ biên giới của hệ thống và hỗ trợ việc nghiên cứu các mối quan hệ của hệ thống với thế giới bên ngoài, từ đó cũng có thể làm rõ các hoạt động của hệ thống, các thông tin vào ra của hệ thống. Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 54 Đối với phạm vi khóa luận này, sơ đồ ngữ cảnh sau thể hiện khái quát nội dung chính của hệ thống hỗ trợ soạn thảo đề thi trắc nghiệm khách quan. Hình 3.8: Sơ đồ ngữ cảnh Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 55 4. Sơ đồ luồng dữ liệu (DFD – Data Flow Diagram) Sơ đồ luồng dữ liệu một công cụ mô tả mối quan hệ thông tin giữa các công việc. a. Sơ đồ luồng dữ liệu mức 0 Hình 3.9: Sơ đồ luồng dữ liệu mức 0 Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 56 b. Sơ đồ phân rã chức năng 1.0 Hình 3.10: Sơ đồ phân rã chức năng 1.0 Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 57 c. Sơ đồ phân rã chức năng 2.0 Hình 3.11: Sơ đồ phân chức năng 2.0 Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 58 d. Sơ đồ phân rã chức năng 3.0 Hình 3.12: Sơ đồ phân rã chức năng 3.0 Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 59 e. Sơ đồ phân rã chức năng 4.0 Hình 3.13: Sơ đồ phân rã chức năng 4.0 Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 60 f. Sơ đồ phân rã chức năng 5.0 Hình 3.14: Sơ đồ phân rã chức năng 5.0 3.2.2. Phân tích hệ thống về dữ liệu 1. Các tập thức thể và thuộc tính tương ứng Từ việc phân tích hiện trạng, sơ đồ chức năng BFD và sơ đồ phân rã các mức, ta xác định được thực thể và các thuộc tính tương ứng như sau: - Tập thực thể “Câu hỏi”: Lưu trữ thông tin câu hỏi CAUHOI(IdCauHoi, NoiDung, DoPhanCach, NgayTao, NgayCapNhat, TyLeDuyet, CongKhai) - Tập thực thể “Câu trả lời”: Lưu trữ thông tin các lựa chọn và đáp án CAUTRALOI(IdCauTraLoi, NoiDung1,NoiDung2,DapAn,CoDinh) - Tập thực thể “Câu hỏi chính thức”: Lưu trữ thông tin câu hỏi được dùng để bốc đề CAUHOICHINHTHUC(IdCauHoiChinhThuc, NoiDung, NgayTao, NgayCapNhat, TyLeDuyet, NgayDanhGiaGanNhat, SoLuongTraLoiDung,TongSoTraLoi, DoPhanCach, TinhTrang, CongKhai, Khoa) Trư ờng Đạ i ọ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 61 - Tập thực thể “Câu trả lời chính thức”: Lưu trữ thông tin các lựa chọn và đáp án của câu hỏi chính thức CAUTRALOICHINHTHUC(IdCauTraLoiChinhThuc,NoiDung1, NoiDung2, DapAn, CoDinh) - Tập thực thể “Chức danh”: Lưu trữ thông tin chức danh của người dùng CHUCDANH(IdChucDanh, TenChucDanh, MoTa) - Tập thực thể “Chủ đề”: Lưu trữ thông tin chủ đề của môn học CHUDE(IdChuDe, TenChuDe, MoTa) - Tập thực thể “Chương”: Lưu trữ thông tin chương của môn học CHUONG(IdChuong, TenChuong, MoTa) - Tập thực thể “Độ khó”: Lưu trữ thông tin các độ khó của câu hỏi DOKHO(IdDoKho, TenDoKho) - Tập thực thể “Giáo viên”: Lưu trữ thông tin tất cả người dùng của hệ thống bao gồm quản lý, trưởng tổ bộ môn và quản lý hệ thống GIAOVIEN(IdGiaoVien, TenGiaoVien, TaiKhoan, MatKhau, NgaySinh, DiaChi, SoDienThoai, TrangThai, GhiChu, HinhAnh, Email) - Tập thực thể “Giả thiết chung”: Lưu trữ nội dung giả thiết chung của câu hỏi GIATHIETCHUNG(IdGiaThietChung, NoiDung) - Tập thực thể “Khoa”: Lưu trữ thông tin các khoa KHOA(IdKhoa, TenKhoa, MoTa) - Tập thực thể “Loại câu hỏi”: Lưu trữ thông tin các loại câu hỏi khác nhau LOAICAUHOI(IdLoaiCauHoi, TenLoaiCauHoi, MoTa) - Tập thực thể “Môn học”: Lưu trữ thông tin các môn học MONHOC(IdMonHoc, TenMonHoc, MoTa) - Tập thực thể “Mục kiến thức”: Lưu trữ thông tin mục kiến thức của môn học MUCKIENTHUC(IdMucKienThuc, TenMucKienThuc, MoTa) - Tập thực thể “Mức trí năng”: Lưu trữ thông tin các mức trí năng của môn học MUCTRINANG(IdMucTriNang, TenMucTriNang) - Tập thực thể “Quyền”: Lưu trữ thông tin quyền hạn đăng nhập hệ thống QUYEN(IdQuyen, TenQuyen) Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 62 - Tập thực thể “Tổ bộ môn”: Lưu trữ các tổ bộ môn TOBOMON(IdToBoMon, TenToBoMon, MoTa) 2. Mối quan hệ giữa các tập thực thể - Giữa 2 tập thực thể “Câu hỏi” và “Giả thiết chung” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì mỗi câu hỏi có 0 hoặc một giả thiết chung duy nhất và mỗi giả thiết chung có thể có nhiều câu hỏi. - Giữa 2 tập thực thể “Câu trả lời” và “Câu hỏi” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì mỗi câu hỏi có thể có nhiều câu trả lời và mỗi câu trả lời chỉ thuộc một câu hỏi duy nhất. - Giữa 2 tập thực thể “Câu hỏi” và “Độ khó” có mối quan hệ “Có”. Đây là mối quan hệ 1-n vì mỗi câu hỏi chỉ có một độ khó duy nhất và mỗi độ khó có thể có nhiều câu hỏi. - Giữa 2 tập thực thể “Câu hỏi” và “Loại câu hỏi” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì mỗi câu hỏi chỉ có 1 độ khó và mỗi độ khó lại có nhiều câu hỏi. - Giữa 2 tập thực thể “Câu hỏi” và “Giáo viên” có mối quan hệ “Thảo luận”. Đây là mối quan hệ n – n vì mỗi câu hỏi được nhiều giáo viên thảo luận và mỗi giáo viên có thể thảo luận nhiều câu hỏi. Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 63 - Giữa 2 tập thực thể “Câu hỏi” và “Giáo viên” cũng có mối quan hệ “Duyệt”. Đây là mối quan hệ n – n vì mỗi câu hỏi được duyệt bởi nhiều giáo viên và mỗi giáo viên có thể duyệt nhiều câu hỏi. - Giữa 2 tập thể “Mức trí năng” và “Mục kiến thức” có mối quan hệ “Có”. Đây là mối quan hệ n – n vì mỗi mục kiến thức có thể có nhiều mức trí năng và ngược lại mỗi mức trí năng có thể có trong nhiều mục kiến thức. - Giữa 2 tập thực thể “Khoa” và “Tổ bộ môn” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì mỗi khoa có nhiều tổ bộ môn và mỗi tổ bộ môn chỉ thuộc một khoa. - Giữa 2 tập thực thể “Môn học” và “Tổ bộ môn” có mối quan hệ “Có”.Đây là mối quan hệ 1 – n vì mỗi tổ bộ môn có thể có nhiều môn học và mỗi môn học thì chỉ thuộc một tổ bộ môn. - Giữa 2 tập thực thể “Giáo viên” và “Tổ bộ môn” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì một tổ bộ môn có thể có nhiều giáo viên và mỗi giáo viên chỉ thuộc một tổ bộ môn. Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 64 - Giữa 2 tập thực thể “Câu hỏi” và “Môn học” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì một môn học có thể có nhiều câu hỏi và một câu hỏi chỉ thuộc một môn. - Giữa 2 tập thực thể “Chương” và “Môn học” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì một môn học có thể có nhiều chương và mỗi chương chỉ thuộc một môn. - Giữa 2 tập thực thể “Mục kiến thức” và “Chủ đề” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì mỗi chủ đề có thể có nhiều mục kiến thức và mỗi mục kiến thức chỉ thuộc một chủ đề. - Giữa 2 tập thực thể “Chủ đề” và “Chương” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì mỗi chương có thể có nhiều chủ đề và mỗi chủ đề chỉ thuộc một chương. - Giữa 2 tập thực thể “Quyền” và “Giáo viên” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì mỗi quyền có thể có cho nhiều giáo viên và mỗi giáo viên chỉ có một quyền duy nhất. - Giữa 2 tập thực thể “Chức danh” và “Giáo viên” có mối quan hệ “Có”. Đây là mối quan hệ n – n vì mỗi giáo viên có thể có nhiều chức danh tùy mỗi thời điểm và mỗi chức danh có thể có trong nhiều giáo viên. - Giữa 2 tập thực thể “Câu hỏi chính thức” và “Câu trả lời chính thức” có mối quan hệ “Có”. Đây là mối quan hệ 1 – n vì mỗi câu hỏi chính thức có thể có nhiều câu trả lời chính thức và mỗi câu trả lời chính thức chỉ thuộc một câu hỏi. Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 65 3. Sơ đồ thực thể - mối quan hệ Từ việc phân tích mối quan hệ của các tập thực thể, ta có sơ đồ thực thể - mối quan hệ như sau: Hình 3.15: Sơ đồ thực thể - mối quan hệ 4. Chuyển các mối quan hệ thành lược đồ quan hệ Mỗi mối quan hệ giữa các tập thực thể sẽ được chuyển thành một lược đồ quan hệ có tên là tên của mối quan hệ và nhận các thuộc tính là khóa của các tập thực thể tham gia vào mối quan hệ và có thể thêm vào thuộc tính riêng (nếu có). - Giữa hai tập thực thể có mối quan hệ n-1 thì khóa chính của tập thực thể bên 1 sẽ làm khóa phụ của tập thực thể bên n. - Giữa hai tập thực thể có mối quan hệ n-n thì tập thực thể mới được xây dựng nên sẽ lấy khóa chính của hai tập thực thể tham gia vào mối quan hệ n-n làm khóa chính. Như vậy, từ sơ đồ thực thể - mối quan hệ, ta nhận thấy có 3 mối quan hệ n – n. Do đó sẽ tạo ra thêm 4 lược đồ quan hệ mới có tên và thuộc tính như sau: - Lược đồ CHITIETCHUCDANH(IdChucDanh, IdGiaoVien, ThoiDiem) - Lược đồ MATRANKIENTHUC(IdMaTranKienThuc, IdMucKienThuc, IdMucTriNang, SoCauNhap, SoCauQuyDinh) Trư ờng Đạ i ọ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 66 - Lược đồ THONGTINDUYET(IdGiaoVien, IdCauHoi, ThoiDiem) - Lược đồ THAOLUAN(IdThaoLuan, IdGiaoVien, IdCauHoi, NoiDung, ThoiDiem) 5. Mô hình dữ liệu quan hệ Sau khi thực hiện các bước chuẩn hóa các tập thực thể và các mối quan hệ ta có các bảng CSDL sau: Bảng CAUHOI (Câu hỏi) Bảng 3.1: Bảng câu hỏi Thuộc tính Kiểu dữ liệu Diễn giải IdCauHoiChinhThuc int Mã câu hỏi chính thức NoiDung nvarchar(max) Nội dung DoPhanCach real Độ phân cách NgayTao datetime Ngày tạo NgayCapNhat datetime Ngày cập nhất IdGiaThietChung int Mã giả thiết chung IdLoaiCauHoi int Mã loại câu hỏi IdMaTranKienThuc int Mã ma trận kiến thức IdGiaoVien int Mã giáo viên IdDoKho int Mã độ khó IdMonHoc int Mã môn học TyLeDuyet float Tỷ lệ duyệt TinhTrang nvarchar(50) Tình trạng cần sửa hay không CongKhai bit Công khai duyệt hay không Khoa bit Khóa câu hỏi Bảng CAUTRALOI (Câu trả lời) Bảng 3.2: Bảng câu trả lời Thuộc tính Kiểu dữ liệu Diễn giải IdCauTraLoi int Mã câu trả lời IdCauHoi int Mã câu hỏi NoiDung1 nvarchar(max) Nội dung l NoiDung2 nvarchar(max) Nội dung 2 DapAn bit Đáp án CoDinh bit Cố định Trư ờng Đạ i họ c K in tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 67 Bảng CHITIETCHUCDANH (Chi tiết chức danh) Bảng 3.3: Bảng chi tiết chức danh Thuộc tính Kiểu dữ liệu Diễn giải IdChucDanh int Mã chức danh IdGiaoVien int Mã giáo viên Thời điểm datetime Thời điểm Bảng CHUCDANH (Chức danh) Bảng 3.4: Bảng chức danh Thuộc tính Kiểu dữ liệu Diễn giải IdChucDanh int Mã chức danh TenChucDanh nvarchar(50) Tên chức danh MoTa nvarchar(50) Mô tả Bảng CHUDE (Chủ đề) Bảng 3.5: Bảng chủ đề Thuộc tính Kiểu dữ liệu Diễn giải IdChuDe int Mã chủ đề TenChuDe nvarchar(50) Tên chủ đề IdChuong int Mã chương MoTa Nvarchar(50) Mô tả Bảng CHUONG (Chương) Bảng 3.6: Bảng chương Thuộc tính Kiểu dữ liệu Diễn giải IdChuong int Mã chương TenChuong nvarchar(50) Tên chương IdMonHoc nvarchar(50) Mã môn học MoTa nvarchar(50) Mô tả Bảng DOKHO (Độ khó) Bảng 3.7: Bảng độ khó Thuộc tính Kiểu dữ liệu Diễn giải IdDoKho int Mã độ khó TenDoKho nvarchar(50) Tên độ khó Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 68 Bảng GIAOVIEN (Giáo viên) Bảng 3.8: Bảng giáo viên Thuộc tính Kiểu dữ liệu Diễn giải IdGiaoVien int Mã giáo viên TenGiaoVien nvarchar(50) Tên giáo viên TaiKhoan nvarchar(50) Tài khoản MatKhau nvarchar(50) Mật khẩu NgaySinh datetime Ngày sinh DiaChi nvarchar(50) Địa chỉ SoDienThoai varchar(50) Số điện thoại TrangThai bit Trạng thái IdToBoMon int Mã tổ bộ môn GhiChu nvarchar(50) Ghi chú HinhAnh image Hình ảnh IdQuyen int Mã quyền Email varchar(50) Địa chỉ Email Bảng GIATHIETCHUNG (Giả thiết chung) Bảng 3.9: Bảng giả thiết chung Thuộc tính Kiểu dữ liệu Diễn giải IdGiaThietChung int Mã giả thiết chung NoiDung nvarchar(max) Nội dung Bảng KHOA (Khoa) Bảng 3.10: Bảng khoa Thuộc tính Kiểu dữ liệu Diễn giải IdKhoa int Mã khoa TenKhoa nvarchar(50) Tên khoa MoTa nvarchar(50) Mô tả Bảng LOAICAUHOI (Loại câu hỏi) Bảng 3.11: Bảng loại câu hỏi Thuộc tính Kiểu dữ liệu Diễn giải IdLoaiCauHoi int Mã loại câu hỏi TenLoaiCauHoi nvarchar(50) Tên loại câu hỏi MoTa nvarchar(50) Mô tả Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 69 Bảng MATRANKIENTHUC (Ma trận kiến thức) Bảng 3.12: Bảng ma trận kiến thức Thuộc tính Kiểu dữ liệu Diễn giải IdMaTranKienThuc int Mã ma trận kiến thức SoCauNhap int Số câu nhập SoCauQuyDinh int Số câu quy định IdMucKienThuc int Mã mục kiến thức IdMucTriNang int Mã mức trí năng Bảng MONHOC (Môn học) Bảng 3.13: Bảng môn học Thuộc tính Kiểu dữ liệu Diễn giải IdMonHoc int Mã môn TenMonHoc int Tên môn học Mô tả nvarchar(50) Mô tả IdToBoMon int Mã tổ bộ môn Bảng MUCKIENTHUC (Mục kiến thức) Bảng 3.14: Bảng mục kiến thức Thuộc tính Kiểu dữ liệu Diễn giải IdMucKienThuc int Mã mục kiến thức TenMucKienThuc nvarchar(250) Tên mục kiến thức IdChuDe int Mã chủ đề MoTa nvarchar(50) Mô tả Bảng MUCTRINANG (Mức trí năng) Bảng 3.15: Bảng mức trí năng Thuộc tính Kiểu dữ liệu Diễn giải IdMucTriNang int Mã mức trí năng TenMucTriNang nvarchar(50) Tên mức trí năng Bảng PHANQUYENNHAPCAUHOI (Phân quyền nhập câu hỏi) Bảng 3.16: Bảng phân quyền nhập câu hỏi Thuộc tính Kiểu dữ liệu Diễn giải IdMaTranKienThuc int Mã ma trận kiến thức IdGiaoVien int Mã giáo viên SoCauPhaiNhap int Số câu phải nhập Số câu đã nhập int Số câu đã nhập Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 70 Bảng QUYEN (Quyền) Bảng 3.17: Bảng quyền Thuộc tính Kiểu dữ liệu Diễn giải IdQuyen int Mã quyền TenQuyen nvarchar(5) Tên quyền Bảng THAOLUAN (Thảo luận) Bảng 3.18: Bảng thảo luận Thuộc tính Kiểu dữ liệu Diễn giải IdThaoLuan int Mã thảo luận NoiDung nvarchar(max) Nội dung ThoiDiem datetime Thời điểm IdCauHoi int Mã câu hỏi Bảng THONGTINDUYET (Thông tin duyệt) Bảng 3.19: Bảng thông tin duyệt Thuộc tính Kiểu dữ liệu Diễn giải IdCauHoi int Mã câu hỏi IdGiaoVien int Mã giáo viên Thời điểm datetime Thời điểm Bảng TOBOMON (Tổ bộ môn) Bảng 3.20: Bảng tổ bộ môn Thuộc tính Kiểu dữ liệu Diễn giải IdToBoMon int Mã tổ bộ môn TenToBoMon nvarchar(50) Tên tổ bộ môn MoTa int Mô tả IdKhoa int Mã khoa Ngoài ra còn có thêm 2 bảng CAUHOICHINHTHUC (Câu hỏi chính thức) và bảng CAUTRALOICHINHTHUC (Câu trả lời chính thức) có cấu trúc giống với bảng CAUHOI (Câu hỏi) và bảng CAUTRALOI (Câu trả lời). Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 71 Từ các lược đồ quan hệ trên, ta có mô hình quan hệ dữ liệu sau: Hình 3.16: Mô hình quan hệ dữ liệu Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 72 3.3. Lưu đồ thuật toán một số quy trình chính 3.3.1. Lưu đồ quy trình tạo câu hỏi Hình 3.17: Lưu đồ quy trình tạo câu hỏi Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 73 3.3.2. Lưu đồ duyệt câu hỏi Hình 3.18: Lưu đồ duyệt câu hỏi 3.4. Thiết kế giao diện Một sản phẩm phần mềm muốn thành công ngoài việc đảm bảo thực hiện được các chức năng, nghiệp vụ đặt ra ban đầu, còn có một yếu tố khác ảnh hưởng không nhỏ đến quyết định lựa chọn của khách hàng đó là giao diện của sản phẩm. Các giao diện của chương trình được thiết kế phải đảm bảo tính đơn giản, đồng nhất, dễ sử dụng và thân thiện cho người dùng. Và sau đây là một số giao diện chính được xây dựng trong chương trình: Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 74 3.4.1. Giao diện form đăng nhập hệ thống Để sử dụng được phần mềm hỗ trợ quy trình xây dựng đề thi trắc nghiệm, người dùng phải tiến hành đăng nhập hệ thống với tài khoản được cấp bao gồm tên tài khoản và mật khẩu. Hình 3.19: Giao diện đăng nhập hệ thống 3.4.2. Giao diện thay đổi thông tin đăng nhập Hình 3.20: Giao diện thay đổi thông tin đăng nhập Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 75 3.4.3. Giao diện chính của phần mềm Giao diện chính của phần mềm cho phép người dùng nhìn thấy và sử dụng đầy đủ các chức năng của chương trình. Hình 3.21: Giao diện chính của phần mềm 3.3.4. Giao diện soạn câu hỏi Hình 3.22: Giao diện soạn câu hỏi Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 76 3.4.5. Giao diện duyệt câu hỏi Hình 3.23: Giao diện duyệt câu hỏi 3.4.6. Giao diện quản lý ngân hàng câu hỏi chính thức Hình 3.24: Giao diện quản lý ngân hàng câu hỏi chính thức Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 77 3.4.7. Giao diện thông tin người dùng Hình 3.25: Giao diện thông tin người dùng 3.4.8. Giao diện ma trận kiến thức và phân quyền soạn thảo Hình 3.26: Giao diện ma trận kiến thức và phân quyền soạn thảo Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ 78 PHẦN 2: KẾT LUẬN Phương pháp trắc nghiệm khách quan là một phương pháp đánh giả kết quả học tập có tính khoa học, hiện đại, khách quan, mang lại một phương phương pháp đánh giá tối ưu. Nắm bắt được những lợi thế của phương pháp, tác giả đã “Xây dựng phần mềm hỗ trợ quy trình soạn thảo đề thi trắc nghiệm khách quan” và đạt được một số kết quả nhất định như: Đánh giá được thực trạng các phần mềm hỗ trợ tạo đề thi hiện nay; hiểu được cách kiểm tra, đánh giá thành quả học tập,phân loại được các mục tiêu giáo dục và các mức độ của lĩnh vực nhận thức; nắm bắt được các lý thuyết về trắc nghiệm cũng như xác định được quy trình hỗ trợ tạo đề thi trắc nghiệm khách quan. Tìm hiểu và áp dụng một số công nghệ, công cụ vào việc “Xây dựng phần mềm hỗ trợ quy trình soạn thảo đề thi trắc nghiệm khách quan”. Qua quá trình phân tích, thiết kế và xây dựng, tác giả nhận thấy “Phần mềm hỗ trợ quy trình soạn thảo đề thi trắc nghiệm khách quan” của khóa luận có nhiều sự khác biệt cũng như ưu điểm so với các sản phẩm khác như tuân thủ quy trình của một phần mềm hỗ trợ tạo đề thi; quản lý, phân định rõ ràng quyền hạn trong hệ thống; soạn câu hỏi với nhiều dạng câu hỏi khác nhau; hỗ trợ các kí tự đặc biệt, hình ảnh, bảng biểu; giao diện trực quan, dễ sử dụng bởi sự hỗ trợ của Devexpress,quản lý hiệu quả ngân hàng câu hỏi trắc nghiệm sơ bộ lẫn chính thức, đồng thời trang bị chức năng thảo luận, kiểm duyệt khá mới mẻ vào hệ thống. Tuy nhiên, bên cạnh những ưu điểm nổi trội vẫn còn tồn tại một số hạn chế như chưa soạn thảo câu hỏi theo mẫu quy định từ MS Word, chưa kết xuất ngân hàng câu hỏi kèm theo đáp án ra tệp MS Word để lưu trữ, việc lưu trữ nội dung câu hỏi, đáp án, giả thiết chung dưới dạng file Rtf làm cho dung lượng lưu trữ lớn, phình CSDL. Do đó, trong thời gian tới, đề tài sẽ tiếp tục nghiên cứu và hỗ trợ thêm nhiều dạng câu hỏi trắc nghiệm theo chuẩn IMS; phát triển thêm chức năng soạn câu hỏi theo mẫu định và kết xuất nội dung câu hỏi, đáp án ra MS Word để lưu trữ; xây dựng cách lưu trữ mới cho dữ liệu dưới dạng XML đồng thời hướng đến một phần mềm mở đa nền tảng, có thể quản lý trên web lẫn di động. Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ DANH MỤC TÀI LIỆU THAM KHẢO 1. Dương Thiệu Tống, Trắc nghiệm và đo lường thành quả học tập (Tập 1), Trường ĐHTH TP.HCM, xuất bản năm 1995. 2. Dương Thiệu Tống, Trắc nghiệm và đo lường thành quả học tập (Tập 2), Trường ĐHTH TP.HCM, xuất bản năm 1998. 3. Dương Quang Thiện, Lập trình Visual C# như thế nào? Toàn tập, Nhà xuất bản Tổng hợp TP.HCM, năm 2005. 4. GS.TSKH Lâm Quang Thiệp, bài báo Đo lường và đánh giá thành quả học tập trong các trường Cao Đẳng và Đại học. 5. Mai Hải Thanh; Đào Phương Thúy, Tìm hiểu và xây dựng hệ thống Framework hỗ trợ các hình thức trắc nghiệm, Luận văn cử nhân tin học Khoa Công nghệ Thông tin – Trường Đại học Khoa học Tự nhiên, năm 2005. Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ PHỤ LỤC Code lớp DataProvider: lớp thực hiện việc kết nối và truy vấn dữ liệu static SqlConnection cn; public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } protected virtual void Dispose(bool disposing) { if (disposing) if (cn != null) { cn.Dispose(); cn = null; } } ~DataProvider() { Dispose(false); } public void KetnoiCSDL() { if ((cn == null) || (cn.State == ConnectionState.Closed)) { try { cn = new SqlConnection(@"Data Source=112.213.91.246;Initial Catalog=qm_test;Persist Security Info=True;User ID=qmtest;Password=25292"); cn.Open(); } catch (SqlException se) { XtraMessageBox.Show("Lỗi kết nối - Xem hổ trợ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); XtraMessageBox.Show(se.Message); } } } public void Ngatketnoi() { cn.Close(); cn = null; } public DataTable SQL_Laydulieu(string tenSP) { Trư ờng Đạ i họ c K inh tế H uế Khóa luận tốt nghiệp Sinh viên thực hiện: Trần Tuấn Mỹ SqlCommand cmd = new SqlCommand(tenSP, cn) { CommandType = CommandType.StoredProcedure }; SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); cmd.Dispose(); da.Dispose(); dt.Dispose(); return dt; } public DataTable SQL_Laydulieu(string tenSP, string[] name, object[] value, int Npara) { SqlCommand cmd = new SqlCommand(tenSP, cn) { CommandType = CommandType.StoredProcedure }; for (int i = 0; i < Npara; i++) { cmd.Parameters.AddWithValue(name[i], value[i]); } SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); cmd.Dispose(); da.Dispose(); dt.Dispose(); return dt; } public int SQL_Thuchien(string tenSP, string[] name, object[] value, int Npara) { SqlCommand cmd = new SqlCommand(tenSP, cn) { CommandType = CommandType.StoredProcedure }; for (int i = 0; i < Npara; i++) { cmd.Parameters.AddWithValue(name[i], value[i]); } cmd.Dispose(); return cmd.ExecuteNonQuery(); } Trư ờng Đạ i họ c K inh tế H uế

Các file đính kèm theo tài liệu này:

  • pdftran-tuan-my-8589.pdf
Luận văn liên quan