freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于艾賓浩斯記憶曲線的單詞記憶系統(tǒng)的設計與實現(xiàn)(編輯修改稿)

2025-03-12 03:28 本頁面
 

【文章內容簡介】 分內容為核心模塊 , 其內容及流程 , 將在 第 5 章“ 核心業(yè)務邏輯介紹 ”中詳細闡述 。 第 4 章 系統(tǒng)概要設計 9 第 4 章 系統(tǒng)概要設計 系統(tǒng)設計思想 采用 敏捷 迭代式開發(fā),使得該系統(tǒng)的開發(fā)是一個逐步求精的過程 [9], 即開發(fā)隨著需求和新的業(yè)務變化而不斷完善。由于該項目是以學術學習為目的,將不考慮商用因素,在合理的情況下 將選擇當前最新的技術(項目所有引用的第三方組件框架等,皆是官網下載的最新版本),目的是以便成文后,可為他人在開發(fā)類似項目時提供綿薄的幫助與借鑒。所以整個項目的設計過程中,貫徹如下的設計思想: 創(chuàng)新:將選用時下最新的技術、工具、框架、組件,使得該系統(tǒng)在一定時間內有一定的學術討論價值。 求精:一個好的方法和流程設計,比無數(shù)個 ();要更有價值。將更多的精力投入到代碼的設計上去而不是功能的簡單堆砌、重復。 系統(tǒng)總體設計 本系統(tǒng)采用時下非常流行的三層架構( MVC)設計 , 可以這樣 說幾乎所有的 Web應用開發(fā)都是基于 MVC設計模式的 [10]。在 MVC設計模式中 C( Controller)即控制器負責接收(監(jiān)聽)所有的請求(消息), M(Model)模型,用于表示要被顯示的數(shù)據和操作, V( View)視圖,就是頁面可以是 html 也可以是 jsp 等等,它負責將 Model 以某種形式呈現(xiàn)給用戶。 在本次項目中的 MVC 三層架構設計中, struts2 扮演著 Controller 的角色,service 層和其調用的數(shù)據模型,數(shù)據庫操作類都屬于 Model。前臺頁面就是 View層 。 系統(tǒng)工程分離 本次系統(tǒng)采 用前后臺系統(tǒng)分離的開發(fā)方式,將前后臺分離成兩個工程,WordMemory 是后臺工程, WordMemoryUI 是前臺工程。 前臺工程通過引用后臺工程來處理數(shù)據,它只提供頁面流轉控制和業(yè)務邏輯調用,所有數(shù)據的具體實現(xiàn)及操作將在后臺工程中實現(xiàn)。 系統(tǒng)工程分離的 好處:這意味著在實現(xiàn)前臺的時候不需要關心后臺的實現(xiàn),若是多人開發(fā),將大有裨益。必要時,更換前臺工程就可以以另一種方式呈現(xiàn)UI 及前臺頁面流轉方式。 此外,將前后臺分離后,出現(xiàn) BUG 時易定位出錯位置。 前后臺 工程 分離結果如圖 所示 : 第 4 章 系統(tǒng)概要設計 10 圖 工程目錄圖 系統(tǒng)類結構設計 數(shù)據模型 本次項目將所有需要操作的實體抽象成數(shù)據對象,也稱之為數(shù)據模型。 該包存 在 于 后臺工程中 ,該包中存放著系統(tǒng)中所有數(shù)據模型, 為其他層提供抽象過后的類。將該包中的類實例化后便可以 操作 對象的方式進行數(shù)據操作。每個 model類中都提供了屬性的 get(), set()方法(接口) 供程序訪問 。 Model 包 內容如圖 所示 : 圖 model包 DAO 層 本次項目中將所有與數(shù)據庫操作相關的方法都集成在 該包 的類中, DAO 層將與數(shù)據庫的交互集中管理,方便業(yè)務邏輯層 的調用。 該包存 在 于 后臺工程中 ,包含針對不同數(shù)據模型的數(shù)據庫操作類,提供了諸如: 增刪查改等相關的與數(shù)據庫操作有關的方法。將其獨立分包有利于厘清層次結構,將 DAO 層完成后,將不需要再操心底層數(shù)據庫操作的方法。調用即可。 DAO 層 中的類 如圖 所示 : 圖 Dao層 考慮到每次對數(shù)據庫的操作都需要創(chuàng)建與數(shù)據庫的連接,為了降低系統(tǒng)負擔及遵循代碼復用的原則,將建立、使用、釋放數(shù)據庫連接的方法集成成一個數(shù)據第 4 章 系統(tǒng)概要設計 11 輔助類,它為 DAO 層 各 類提供數(shù)據庫連接和 獲取 Statement、 PreparedStatment對象 , 關閉連接等方法。 DAO 層訪問數(shù)據庫輔助類 方法如圖 所示 : 圖 數(shù)據庫輔助類 業(yè)務邏輯層 本次項目將系統(tǒng)涉及的業(yè)務邏輯集成在一個層次中,稱之為業(yè)務邏輯層。該層存 在 于 后臺工程中,包含了 系統(tǒng) 所有業(yè)務流程 , 每個類中的方法均代表了 該 業(yè)務邏輯的 各項 操作 , 將其組合就可以完成需求中要求的功能,如:提供單詞復習的 TestProcessService 類中調用了 MissionService 中的 Init()方法用于在單詞復習前對任務列表初始化 等等 。 業(yè)務邏輯層 中的類 如圖 所示 : 圖 業(yè)務 邏輯層 控制層 控制層的主要實現(xiàn)依托于 Struts2 提供的方法,它的主要功能是控制頁面的流轉及根據用戶操作選擇相應的業(yè)務邏輯層中的方法處理數(shù)據,并將 處理結果 返回給 預習定義好的返回頁面,完成人機交互過程。 該包在前臺工程中,利用 Struts2框架控制頁面流轉,調用業(yè)務邏輯層中的方法處理數(shù)據。 控制層 中的類如圖 所示 : 第 4 章 系統(tǒng)概要設計 12 圖 控制層 數(shù)據庫設計 ER模型 根據前文對系統(tǒng)需求和業(yè)務邏輯的分析,可以了解單詞記憶系統(tǒng)中實體與實體之間的關系。而 實體聯(lián)系圖( ER 圖) 正是直觀表現(xiàn)這種關系的好方法 [12]。本系統(tǒng)中的實體聯(lián)系圖,如 圖 所示。 圖 單詞記憶系統(tǒng)實體 聯(lián)系圖 實體圖 可以展示 各個實體中所包含的屬性 [12]。為開發(fā)數(shù)據庫提供依據。下面將利用實體圖一一介紹系統(tǒng)中的各個實體,不再用文字贅述 : 用戶實體圖如圖 所示。 第 4 章 系統(tǒng)概要設計 13 圖 用戶實體圖 詞庫中的單詞 實體圖 如圖 所示: 圖 詞庫中單詞實體圖 用戶單詞實體圖 如圖 所示: 圖 用戶單詞實體圖 任務單詞實體圖 如圖 所示: 第 4 章 系統(tǒng)概要設計 14 圖 任務單詞實體圖 記憶級別實體圖 如圖 所示 : 圖 記憶級別實體圖 物理模型 經過上述的分析和設計,結合數(shù)據庫設計的相關原則,設計出如下幾張表結構: 用戶表( _user) 主要用于存放用戶信息及基本參數(shù),主要結構如表 所示。 表 用戶表 字段名 字段類型 字段大小 是否可為空 關鍵字 說明 id int 11 否 是 用戶編號 name Varchar 45 否 是 用戶姓名 password Varchar 45 否 用戶密碼 hasinit datetime 最近一次更新任務時間 newwordnum int 11 每天新增單詞數(shù) 單詞表 (_word)主要用于存放單詞最基本的信息,其中包括了單詞、翻譯、音標。系統(tǒng)中所有可使用的單詞都必須存在其中。使用單詞時根據單詞的 id 到該表中查詢單詞的相關內容,其主要結構如表 所示 第 4 章 系統(tǒng)概要設計 15 表 單詞表 字段名 字段類型 字段大小 是否可為空 關 鍵字 說明 id int 11 否 是 單詞編號 word Varchar 45 否 是 單詞內容 trans Varchar 500 單詞翻譯 phoic Varchar 10 單詞音標 用戶單詞表 (_userword)如表 所示,用于存放與用戶相關的單詞,該表中的單詞相當于進入了用戶的復習計劃,它通過 wordid 與單詞表連接,以便獲取單詞的內容。 表 用戶單詞表 字段名 字段類型 字段大小 是否可為空 關鍵字 說明 id int 11 否 是 用戶單詞 userid int 11 否 用戶編號 wordid int 11 否 單詞編號 testtimes int 11 復習次數(shù) righttimes int 11 正確次數(shù) level int 11 記憶等級 startdate datetime 進入復習計劃的時間 nextdate datetime 下次復習的時間 任務單詞表 (_mission)如表 所示,用戶存放當天復習任務。 表 任務單詞表 字段名 字段類型 字段大小 是否可為空 關鍵字 說明 userwordid int 11 否 是 用戶單詞編號 userid int 11 否 用戶編號 priority int 11 否 任務推送次序 sort Varchar 45 新舊單詞標識 firsttime int 1 是否是當天第一次出現(xiàn) 記憶級別表( _level)如表 所示,用于存放用戶記憶級別的相關信息。 表 記憶級別表 字段名 字段類型 字段大小 是否可為空 關鍵字 說明 id int 11 否 是 用戶單詞編號 userid int 11 否 用戶編號 level int 11 否 記憶等級 第 4 章 系統(tǒng)概要設計 16 字段名 字段類型 字段大小 是否可為空 關鍵字 說明 testtimes Varchar 45 測試次數(shù) righttimes int 11 答對次數(shù) count int 11 該級別下次出現(xiàn)時間的偏移量 第 5 章 核心業(yè)務邏輯介紹 17 第 5 章 核心業(yè)務邏輯介紹 核心業(yè)務邏輯層 簡述 涉及的核心業(yè)務邏輯的類有: LevelService、 MissionService、 TestProcessService、 UserwordService。 (記憶曲線 的 業(yè)務 邏輯 ):該業(yè)務邏輯提供所有對用戶記憶曲線的參數(shù)調整,曲線更新等業(yè)務需求的操作方法 和流程 ,這些方法通過調用Dao 層相應的實現(xiàn)完成業(yè)務邏輯內容。 圖 展示了 LevelService 中的方法: 圖 LevelService 中的方法 (任務列表 的 業(yè)務邏輯):該業(yè)務邏輯集成了任務列表 的業(yè)務需求 。 提供了相應的實現(xiàn)方法 , 系統(tǒng) 只需要調用相應的方法即可實現(xiàn)想要的業(yè)務邏輯 。 圖 展示了 MissionService 中的方法: 第 5 章 核心業(yè)務邏輯介紹 18 圖 MissionService中的方法 (單詞復習行為的業(yè)務邏輯):該業(yè)務邏輯實現(xiàn)了復習單詞的業(yè)務需求 , 它其中的許多方法是通過調用 MissionService 中的方法實現(xiàn)的 ??刂茖釉趫?zhí)行復習單詞的業(yè)務需求時不需要直接調用 MissionService 層中的方法 , 該業(yè)務邏輯相當于對 MissionService 做了業(yè)務流程上的二次封裝,從而簡化了控制層 Action 中繁瑣的調用。它 還 實現(xiàn)了復習過程中動態(tài)調整推送順序的主要業(yè)務邏輯。 圖 展示了 TestProcessService 中的方法: 第 5 章 核心業(yè)務邏輯介紹 19 圖 TestProcessService 中的方法 (復習列表操作邏輯):該業(yè)務邏輯是 MissionService、TestProcessService 中涉及復習計劃操作的 基礎。所有涉及更新到復習計劃的操作都是通過調用該業(yè)務邏輯實現(xiàn)。 圖 展示了 UserwordService 中的方法: 圖 UserwordService 中的方法 第 5 章 核心業(yè)務邏輯介紹 20 記憶曲線 的 相關 業(yè)務邏輯詳解 記憶曲線 初始化 當添加用戶的時候,系統(tǒng)自動為用戶初始化記憶曲線。原始記憶曲 線數(shù)據來源于艾賓浩斯記憶曲線。 采用表驅動法實現(xiàn)下標獲取指定信息 [11]。 (特別說明,由于涉及到記憶曲線更新策略,程序中插入代碼不包含各個級別的測試次數(shù)和回答正確次數(shù),此部分交由數(shù)據庫默認插
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1