OJ系統的需求說明文檔算法
1.引言數據結構
通過一週的修改及完善,咱們基本完善了對OJ系統的需求分析,繪製了思惟導圖並撰寫了用戶故事,並設計出了與之相應的原型圖。學習
2.思惟導圖測試
如上圖所示,咱們從新繪製了思惟導圖。通過從新分析與討論,咱們認爲在整個OJ系統中還應加上管理員這一角色,以用來管理帳號,以及管理考試等功能;除此以外,在教師端與學生端,咱們引入了「題庫」等概念,並新增了老師及學生之間關於題目的簡單互動等功能,這些在以後的具體介紹中都會說起。設計
3.用戶故事及原型圖blog
咱們設計了管理員,教師,學生的用戶故事及原型圖,在以後的介紹中咱們會在原型圖的旁邊附上對應的用戶故事。ip
3.1 管理員角色文檔
3.1.1 登錄界面及主界面get
管理員角色是設定用來進行管理老師及的學生帳號,還有處理考試的。原型
首先是管理員的登陸界面,在登陸界面能夠在學生,教師及管理員三個身份之間切換。需先正確選擇身份再輸入帳戶密碼。
若用戶名及密碼正確,則管理員進入管理員界面,以下所示:
界面右上角分爲帳號管理、課程管理及學生考試三部分。
3.1.2 帳號管理
在帳號管理界面,管理員可點擊「管理教師帳號」或「管理學生帳號」,若點擊「管理教師帳號」,則進入教師帳號的管理界面:
如圖所示,在界面中列出了教師列表及他們的一些信息,教師帳號可經過翻頁查找或搜索框查找,可對教師帳戶進行建立、註銷、重置密碼等操做。
教師帳號的編輯。管理員可在這裏對教師信息進行編輯,如重置密碼等。修改信息需通過確認。
若點擊「學生帳號管理」,則進入學生帳號管理界面。二者過程基本相似,所以不做特殊聲明:
學生帳號的註銷及查找
3.1.3 課程管理
管理員點擊右上角的課程管理,能夠進入課程管理界面
如上圖所示,在課程管理界面能夠查看課程信息,並對課程進行增刪改查操做。
在這裏咱們引入了母課程與子課程的概念,以方便不一樣年份的某一課程的管理。母課程就是例如上圖中「算法」,「數據結構」這些課程,而母課程所屬的子課程與母課程所屬同一門課,但子課程還會加上子課程開放的年份。
管理員建立母課程,母課程的建立不能與已有的母課程重名。
管理員刪除課程。
管理員編輯課程。
當管理員在母課程界面點擊任一母課程,便可進入到該母課程下屬的子課程界面。
子課程的建立
子課程的修改
3.1.4 考試管理
管理員點擊右上角「學生考試」,可進入考試管理界面。
在這裏,咱們其實是把考試當成一門母課程來處理。如下爲與考試相關的原型圖及用戶故事:
管理員查詢考試信息
管理員修改考試信息
以上爲管理員端的相關功能
3.2教師角色
3.2.1 登陸界面及我的信息
在輸入正確的用戶名及密碼以後,即進入到教師的主界面:
教師界面分爲三大板塊:題庫,課程及我的信息(個人)。點擊「個人」可進入教師我的信息界面:
教師我的資料的修改
3.2.2 題庫管理
當教師登陸後,他所教的課程的題庫便會出如今題庫列表中,如上圖所示。其中這裏出現的都是母題庫,母題庫與母課程相綁定。點擊任意一門課程下的「進入題庫」,便可進入該門課程對應的母題庫。
上圖即爲母題庫界面,如圖所示能夠在這裏進行對題目的增刪查改以及能夠查看題目的具體信息。
添加題目界面。需輸入題目的ID,標題,具體描述及測試用例等信息。
查看題庫界面。中間上方的位置顯示了題目的名稱及編號,在下方教師可在題目描述及測試用例之間切換以分別查看題目的具體描述與測試用例。
題庫的修改界面。修改界面與建立界面基本類似,不一樣的是修改界面的輸入框及測試用例表格裏保存着已有的信息。
3.2.3 課程管理
教師點擊右上方的「課程」,便可進入子課程列表。
這裏列出的就是教師所教的子課程。子課程列出了子課程的題目名稱以及開始及結束的時間。點擊任意子課程中的「查看詳情」,便可進入該子課程的管理界面。
子課程管理界面如上,子課程裏主要包含的是該子課程下屬的題庫,題庫包含對題目的增刪查改;以及能夠上傳學習資料;回答學生問題。
子課程題庫添加題目。點擊添加題目後,能夠直接在子課程所屬的母課程的母題庫中進行勾選進行添加。勾選完成後點擊下一步,設置被添加題目的開始以及截止日期。
點擊「學習資料」,能夠進行學習資料的上傳。
教師點擊任意題目後的「問號」圖標,可查看學生對該題目提出的問題,並給予解答
【 題目描述界面 】
在課程中點擊任意題目,便可進入該題目的題目描述界面
點擊「提交結果」,可查看該題下全部學生最近一次的提交結果。除此以外還可點擊右上角「查看統計圖」。
【 統計圖界面 】
在統計圖界面,可查看當前提交的整體狀況。
教師點擊任意一次提交結果,能夠在這裏對學生的提交結果進行評價。
以上爲教師端相關的功能
3.3學生角色
3.3.1登陸界面與我的信息
學生的登陸界面,登陸成功後進入學生界面
學生界面中的我的信息界面,能夠在這裏進行我的信息的修改,並獲取關於課程的重要提醒等。
學生修改密碼,修改密碼須要輸入原始密碼,新密碼以及確認新密碼。
學生獲取信息提醒。
3.3.2學生題庫
學生點擊右上角「題庫」可進入題庫界面,在這裏列出了本學期的包含題庫的課程。題庫中的題是老師開放給學生供練習使用的題。
學生點擊「查看詳情」,便可進入該門課程的題庫。題庫界面如上,顯示了題目的基本信息及經過率、提交次數等。
學生點擊任意題目,即進入該題目的代碼提交界面。如圖所示,在提交界面可提交代碼,及報告題目問題(即向老師提問)
題目問題提交界面
而共享區如上圖所示。共享區是指學生之間可互相查看並交流某一道題的代碼的區域,可是若是想進入該題的代碼共享區,需先AC後方有權限進入。在代碼共享區裏能夠對別人的代碼進行點贊評論等。
3.3.3學生課程
學生點擊右上角「課程」,進入學生課程界面。
點擊任意課程,進入該課程的題目列表,這裏與學生題庫中不一樣的是課程裏的題目列出了當前的題目的開放、截止時間、提交狀態及得分,如上所示。然後點擊任意題目即進入該題目的提交代碼界面。此後的提交代碼及查看提交結果等界面與學生題庫中展現的界面同樣。
以上爲學生端的相關功能