簡體   English   中英

在線調查問卷/考試申請的設計幫助

[英]Design help for a Online Questionnaire /Exam Application

我正在開發一個處理在線檢查的網絡應用程序。 要求是:

  1. 考試中可以有n個部分,管理員用戶應該能夠創建問題/答案並添加到考試中。
  2. 這些問題應該在瀏覽器中顯示一段時間並帶有時鍾,它應該自動轉到下一個問題。
  3. 如果考試正在進行,則不允許用戶打開瀏覽器的任何其他實例或從其他IP登錄。

我正在尋求社區投票,有人會如何設計應用程序以滿足所有這些標准? 應該使用哪些模式? 哪些組件可以幫助減少開發時間等。

我的技術堆棧是C#,ASP.NET MVC或帶有SQL Server的ASP.NET。

提前致謝!!!

您應該查看一個解決方案,例如開源DotNetNuke,並購買/構建特定於您的方案的部分的擴展,而不是重新發明輪子。

我認為對於用戶應用程序,您應該考慮使用Silverlight應用程序,因為這將為您提供對體驗的精確和安全控制。

總的來說,解決方案是這樣的:

  • DotNetNuke提供基礎門戶/內容管理,因此您可以圍繞考試體驗創建高度自定義的體驗包括對用戶管理等的支持。
  • DotNetNuke擴展將使授權管理員能夠管理考試和考試問題。
  • Web服務包裝器將提供對DotNetNuke擴展使用的業務控制器的訪問。
  • Silverlight應用程序將與Web服務進行交互,以使經過身份驗證的用戶能夠參加考試

總的來說,這樣的解決方案可以讓您高度控制用戶體驗,同時使您能夠專注於特定於您的情況的時間/資源,同時利用現有的,強大且流行的解決方案來構建您的解決方案。

(完全披露:我是管理DotNetNuke公司的聯合創始人之一。公平地說,你可以用Orchard或Umbraco取代我對DotNetNuke的建議,解決方案同樣有效。)

對於數據庫方面你需要的東西:

Table Exams (ExamID, ExamName) //to hold all exams
Table Users(UserID, Username, Login, Password) //to hold all users
Table OpenExams(Exam_ID, User_ID) //to hold open exams
Table ExamSections(SectionID, Exam_ID, SectionName) //to hold sections of exams
Table Questions(QuestionID, Section_ID, QuestionName, Question, Answer) //to hold questions

這當然是最基本的,只有很多方法。 您需要在需要時添加字段。

對於第2項,我可能會在應用程序層(或VS)中執行此操作。 我在web開發方面沒有太多經驗,但我認為ASP可以解決這個問題。 對於第3項,如果嘗試訪問考試的用戶當前正在參加考試,您可以運行一個簡單的SQl語句。

讓我們也開始映射進程:用戶:1。用戶登錄(以防止一個用戶進行多次檢查)。 2.用戶“開始”檢查 - >在服務器端記錄時間,在客戶端觸發定時器。 用戶獲得動態考試頁面1. 3.用戶完成第1頁,點擊下一步 - > Ajax-重新加載頁面內容(問題部分)。 啟動第2頁的計時器(服務器和客戶端)3.a)檢測到來自不同IP的登錄 - 會話中斷,用戶標記為騙子:)或者只是拒絕登錄。

  1. 用戶超時第2頁 - >頁面內容(答案)將自動提交。 定時器設置為第3頁。用戶獲取第3頁。
  2. 用戶點擊完成 - >考試結束。 管理員:
  3. 登錄 - >顯示“添加考試”選項和現有考試表
  4. 添加考試 - 打開“考試頁面”,添加一個新的“考試”實體
  5. 添加一個頁面 - >新“頁面”實體添加到此考試中,問題表加載到gui中
  6. 添加一個問題 - >添加到頁面的新“問題”對象
  7. 結束頁面 - >頁面已保存。 最終考試或添加頁面的選項在這里。
  8. 添加頁面 - >轉到第3步
  9. 完成考試 - >保存考試
  10. 可選擇將考試標記為“活動/非活動”
  11. 添加“學生”表及其結果和類似的東西。

這需要大量的工作,但是當你擁有它時,你就會知道你需要在設計中加入什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM