1、需求分析node
1. 功能需求linux
功能需求應當分爲兩部分:mongodb
①做者端:shell
做者能夠編排圖書的目錄結構、章節內容,章節內容中包括圖片、視頻、文字、和集成第三方軟件邊學邊練,能定義常見練習題好比問答題、選擇題;數據庫
做者編輯時能夠預覽讀者端的效果,手機效果、Web和桌面軟件效果,做者能夠限制只在某一種或幾種終端上使用。後端
②讀者端:瀏覽器
讀者端能夠經過手機、瀏覽器或桌面軟件使用交互式多媒體圖書,能夠搜索圖書,查看圖書目錄,根據做者設定能夠順序解鎖閱讀,或隨意跳躍閱讀,或部分章節內部必須順序閱讀。app
軟件能集成或調用第三方軟件,好比閱讀過程當中能直接調出vscode或linux shell等第三方軟件進行實際操做,並對操做作基本正誤判斷,而後回到圖書繼續閱讀。性能
2. 質量要求測試
①性能:系統性能要好,效率快,對用戶操做的處理要及時
②可靠性:在絕大部分時間內,系統應當正常運行
③易用性:系統操做應當簡單,使讀者或做者都能快速上手使用
④可修改性:當系統須要更新或添加功能時,可以在必定時間內實現
3. 設計約束與過程約束
軟件能集成或調用第三方軟件,好比閱讀過程當中能直接調出vscode或linux shell等第三方軟件進行實際操做,並對操做作基本正誤判斷,而後回到圖書繼續閱讀。
調出第三方軟件應該經過統一的插件模型調用,第三方軟件與圖書之間的相互轉換要自動流暢完成,不須要讀者操做。
讀者端的手機App、Web或桌面軟件使用統一的代碼實現,優先考慮先後端爲js+nodejs+mongodb;
做者端獨立部署,只有在做者發佈圖書時纔將數據導入到讀者端系統,以免做者端的操做對讀者端系統的影響。
2、概念原型設計
做者端:
讀者端:
3、數據類型
關鍵用例分析:
讀者進入app,首先登錄,app經過讀者輸入的用戶名與密碼與數據庫中信息比對,若符合則登錄成功
登錄成功後,會返回讀者的閱讀列表,讀者能夠選擇其中一個進行閱讀
讀者閱讀過程當中,能夠進行測試,測試完,app會返回給讀者一個分數,同時會將讀者本次測驗的分數返回數據庫保存