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

正文內(nèi)容

web單詞記憶軟件的開發(fā)自考計(jì)算機(jī)及應(yīng)用專業(yè)畢業(yè)論文(編輯修改稿)

2024-09-24 17:10 本頁面
 

【文章內(nèi)容簡介】 相同等特點(diǎn),方便和計(jì)劃了程序設(shè)計(jì)。,以配合本軟件所需要的在線功能。(3) ,也賦予了本軟件足夠的擴(kuò)展能力以適應(yīng)以后業(yè)務(wù)的發(fā)展。 NoSQL技術(shù)簡介 引言NoSQL(Not Only SQL)指非關(guān)系型數(shù)據(jù)庫。,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫在應(yīng)對(duì)新型網(wǎng)站或網(wǎng)站應(yīng)用,尤其是超大規(guī)模和高并發(fā)類網(wǎng)站應(yīng)用時(shí),已經(jīng)顯得力不從心。暴露出了很多難以克服的問題,非關(guān)系型數(shù)據(jù)庫則因?yàn)槠浔旧淼奶攸c(diǎn),得到了迅速的發(fā)展。 NoSQL的特點(diǎn)(1) 可以處理超大量的數(shù)據(jù)。傳統(tǒng)SQL數(shù)據(jù)庫在針對(duì)每秒上萬次的查詢操作時(shí),還勉強(qiáng)可以應(yīng)付,但是對(duì)于每秒上萬次的寫入操作所要求的磁盤IO性能來說,就力不從心了。而對(duì)于新興的社交網(wǎng)絡(luò),或者搜索引擎,要求的往往是數(shù)十萬次的高要求。(2) NoSQL可以很方便的運(yùn)行在廉價(jià)PC集群或者云服務(wù)器上。因?yàn)镹oSql的松散組織特點(diǎn),更利于分布式應(yīng)用。而利用廉價(jià)PC集群更能降低企業(yè)成本。(3) 沒有過多的操作。NoSql支持者也承認(rèn)關(guān)系數(shù)據(jù)庫提供了無可比擬的功能集合,而且在數(shù)據(jù)完整性上也發(fā)揮了穩(wěn)定,但是很多情況下企業(yè)對(duì)于這些的要求可能沒那么多。(4) NoSql的項(xiàng)目大多數(shù)是開源的,缺乏供應(yīng)商的正式支持,一般從社區(qū)尋求支持。. NoSQL和本課題的聯(lián)系(1) 因?yàn)楸菊n題軟件采用JavaScript實(shí)現(xiàn),而JavaScript的內(nèi)部存儲(chǔ)的最好方法就是使用JSON對(duì)象。JSON作為一個(gè)離散的弱類型數(shù)據(jù)結(jié)構(gòu),或者說集合類型的對(duì)象格式,本身的結(jié)構(gòu)和NoSQL的存儲(chǔ)結(jié)構(gòu)大同小異。故選擇NoSQL作為主要數(shù)據(jù)庫技術(shù)可以更方便的配合JavaScript的技術(shù)特點(diǎn)。(2) 本程序的主要數(shù)據(jù)庫內(nèi)容并非是安全保密的用戶私人文件,而更多是單詞信息和單詞記憶信息這種對(duì)安全性和數(shù)據(jù)完整性要求不高的數(shù)據(jù)。如果使用SQL數(shù)據(jù)庫保存,反而會(huì)使得程序代碼冗長,查詢效率降低。(3) 本程序的主要存儲(chǔ)需求是客戶端的,而主流瀏覽器中有部分并未皆實(shí)現(xiàn)WebSQL技術(shù)和IndexDB技術(shù)。但因主流桌面瀏覽器和手機(jī)瀏覽器中已經(jīng)都實(shí)現(xiàn)對(duì)LocalStorage技術(shù)的支持,故只能選擇其作為數(shù)據(jù)存儲(chǔ)的主要手段。而LocalStorage要存儲(chǔ)數(shù)據(jù)最好的方法就是使用NoSQL風(fēng)格的JSON數(shù)據(jù)庫。 MVP設(shè)計(jì)模式簡介在面向?qū)ο筌浖脑O(shè)計(jì)里,對(duì)象,或者說類是軟件組成最基本的部分。采用設(shè)計(jì)方法組合這些元素,得到構(gòu)成面向?qū)ο笙到y(tǒng)的部件,同時(shí)這些部件的設(shè)計(jì)方法和組成方法在不斷的完善,為了得到軟件工程中關(guān)于分工的“高內(nèi)聚”、“低耦合”的特征,最終這些設(shè)計(jì)方法逐漸演變發(fā)展,統(tǒng)稱為設(shè)計(jì)模式(Design Pattern)。本節(jié)介紹本課題軟件所使用的MVP設(shè)計(jì)模式。 引言MVP(ModelViewPresenter)即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Presenter的方法進(jìn)行分離,這樣就分成了三個(gè)層:模型層,視圖層,業(yè)務(wù)邏輯層(提供者層)。MVP是從經(jīng)典的MVC(ModelViewController)模式中演變來的,他們的基本思想相通,Presenter層類似于Controller層,最主要的區(qū)別在于MVP模式中的Model和View層不能直接通信,必須通過Presenter層作為中介;而MVC模式中是可以直接通信的。 視圖(View)代表用戶交互界面,對(duì)于Web應(yīng)用來說,最主要的是指需要顯示的HTML界面。隨著應(yīng)用的規(guī)模不斷壯大,界面處理的難度也加大了。MVP的視圖層主要工作是視圖層面的數(shù)據(jù)采集和處理,對(duì)用戶的請(qǐng)求進(jìn)行響應(yīng),然后將響應(yīng)信息傳遞給業(yè)務(wù)邏輯層進(jìn)行處理。 模型(Model)的作用是保存軟件所需要的數(shù)據(jù)模型,對(duì)于業(yè)務(wù)處理層指提供一些接口,而對(duì)視圖層來說是透明的。模型層的所有的操作都在內(nèi)部完成,只需要在接口上返回處理結(jié)果即可。業(yè)務(wù)邏輯層(Presenter)是介于視圖層和模型層之間的一個(gè)層,用來接收來自視圖層的用戶請(qǐng)求,或者是將模型層的結(jié)果發(fā)送給視圖層來顯示,充當(dāng)它們兩者之間的一個(gè)橋梁。在MVP設(shè)計(jì)模式中,應(yīng)用程序的邏輯主要在業(yè)務(wù)邏輯層實(shí)現(xiàn)()。 MVP結(jié)構(gòu)流程圖 JavaScript下MVP的運(yùn)行機(jī)制 如何在JavaScript下實(shí)現(xiàn)MVP構(gòu)架,是一個(gè)技術(shù)難點(diǎn),在這里,本課題的主要實(shí)現(xiàn)采取了參考文獻(xiàn)[6]中提供的方法,配合作者綜合參考其他方法而綜合完善的一種獨(dú)特方法。主要的信號(hào)傳遞由作者編寫的Event類實(shí)現(xiàn)的。Event類的主要實(shí)現(xiàn)目的是為了讓一個(gè)類中實(shí)現(xiàn)一個(gè)或多個(gè)可以綁定的接口,而其他類可以注冊(cè)這些接口,當(dāng)事件產(chǎn)生時(shí),就通知這些接口,簡介通知對(duì)這些接口進(jìn)行注冊(cè)的類。在MVP模式下,JavaScript對(duì)應(yīng)三個(gè)層首先要用三個(gè)對(duì)象(Object)分別表示。在JavaScript中,沒有C++/Java等語言中常見的類(Class)的定義,一種普遍看法是,JavaScript并不是一個(gè)傳統(tǒng)的“面向?qū)ο蟆闭Z言,而是一個(gè)“基于對(duì)象”的語言,總體更類似Lambda算子延伸之后的函數(shù)式編程語言。也就是語言中的所有變量、函數(shù)、或者任何類型,都是一個(gè)對(duì)象。當(dāng)然JavaScript是可以使用面向?qū)ο蠓椒ㄟM(jìn)行編程。 首先的每個(gè)操作都表現(xiàn)在視圖層的,如點(diǎn)擊按鈕,或者輸入信息。首先的一個(gè)技術(shù)難題是怎么樣保證信息從視圖層傳遞到業(yè)務(wù)邏輯層。本軟件使用了一個(gè)事件方法,首先定義一個(gè)事件類Event,由視圖層定義多個(gè)事件,例如某個(gè)按鈕的單擊事件是ButtonEvent。在業(yè)務(wù)邏輯層初始化時(shí),對(duì)視圖層的這個(gè)事件進(jìn)行一次或多次注冊(cè),也就是說,注冊(cè)之后,當(dāng)視圖類產(chǎn)生這個(gè)按鈕單擊事件之后,會(huì)通過事件類Event傳遞到業(yè)務(wù)邏輯層之中,業(yè)務(wù)邏輯層再根據(jù)這個(gè)事件類型進(jìn)行數(shù)據(jù)處理或者調(diào)用Model的數(shù)據(jù)接口然后將返回的數(shù)據(jù)更新到視圖層。 MVP設(shè)計(jì)模式的優(yōu)點(diǎn)(1) 模型與視圖完全分離,可以修改視圖而不影響模型(2) 可以更高效地使用模型,因?yàn)樗械慕换ザ及l(fā)生在業(yè)務(wù)邏輯層(3) 可以將一個(gè)業(yè)務(wù)邏輯層用于多個(gè)視圖,而不需要改變業(yè)務(wù)邏輯層的邏輯,因?yàn)橐晥D的變化總是比模型的變化頻繁。(4) 如果把邏輯放到業(yè)務(wù)邏輯層中,就可以脫離用戶接口來測(cè)試這些邏輯。 MVP設(shè)計(jì)模式與本課題的聯(lián)系 MVP設(shè)計(jì)模式是并不是單純?yōu)槟撤N語言或者某種構(gòu)架服務(wù)的,而是針對(duì)任何需要分層結(jié)構(gòu)、有顯示界面的程序設(shè)計(jì)都可以使用的。MVP也正是從傳統(tǒng)的三層結(jié)構(gòu),發(fā)展到MVC結(jié)構(gòu),再從MVC結(jié)構(gòu)中發(fā)展進(jìn)步而來的。 眾所周知JavaScript語言是一種事件驅(qū)動(dòng)語言。而MVP設(shè)計(jì)模式的層次分明的思想,也可以很好的用事件驅(qū)動(dòng)來描述,這正符合了本課題軟件的基本編程思想。 MVP設(shè)計(jì)模式在實(shí)現(xiàn)上是比較難以掌握的,即便經(jīng)驗(yàn)豐富的軟件工程師也很難做到針對(duì)MVP設(shè)計(jì)模式的完美分層和調(diào)用,作者自知自己的經(jīng)驗(yàn)與設(shè)計(jì)水平可能并沒達(dá)到MVP設(shè)計(jì)模式所要求的地步,只是盡量實(shí)現(xiàn)了MVP設(shè)計(jì)模式。但是從代碼和測(cè)試的成果來看,已經(jīng)凸顯了MVP設(shè)計(jì)模式的優(yōu)勢(shì),極大的降低了程序模塊間的耦合性,已經(jīng)基本完成了設(shè)計(jì)目的。 本章小結(jié) 第二章主要介紹了本課題軟件在實(shí)現(xiàn)時(shí)所用到的各種技術(shù)簡介、它們與本課題的聯(lián)系。本課題軟件之所以使用這些技術(shù)正是因?yàn)檫@些技術(shù)的統(tǒng)一性,也就是說這些技術(shù)實(shí)際上每個(gè)之間都是有所聯(lián)系的,共同組成了一個(gè)完整的技術(shù)鏈,為本課題軟件服務(wù)。具體這些技術(shù)的使用和實(shí)現(xiàn)細(xì)節(jié)等問題,將會(huì)在第六章的詳細(xì)設(shè)計(jì)中更深入的探討。在這之前,本文首先在第三章介紹本課題軟件作為一個(gè)單詞記憶軟件的總體軟件需求分析。 第三章 軟件需求分析本章介紹本課題軟件的軟件需求分析,為軟件的實(shí)現(xiàn)做好基礎(chǔ)準(zhǔn)備。 本地應(yīng)用程序功能 單詞記憶軟件的功能模塊,代表著用戶對(duì)單詞進(jìn)行記憶時(shí)所需要的功能,這些功能粗略的可以分為:管理單詞書、管理生詞本,對(duì)單詞的初次記憶、對(duì)單詞的復(fù)習(xí)、單詞游戲。這些部分可以分成獨(dú)立的功能進(jìn)行需求分析,而對(duì)這些模塊進(jìn)行初始化和總體調(diào)用的是“主程序”功能,還有對(duì)其他模塊功能進(jìn)行設(shè)置與修改的“選項(xiàng)設(shè)置”功能。下面分別對(duì)于程序的這些部分進(jìn)行需求上的詳細(xì)說明。 主程序 主程序是軟件初始化后的第一個(gè)主要功能模塊,對(duì)其設(shè)計(jì)的主要需求包括:(1) 顯示載入窗口,用來提醒用戶何時(shí)完成了程序的初始化。(2) 顯示主界面,要求各種功能簡單明了,一目了然,方便用戶進(jìn)行功能上的選擇。(3) 對(duì)各其他功能模塊要有按鈕或者其他方式連接,而連接處要有彈出式氣泡窗的描述性提示,輔助用戶對(duì)功能進(jìn)行選擇。(4) 主界面在顯示后,應(yīng)有一個(gè)針對(duì)本程序功能的介紹性動(dòng)畫,對(duì)文字進(jìn)行滾動(dòng)以介紹本程序的特點(diǎn)和最簡單的使用方式。(5) 因?yàn)楸菊n題軟件是單詞記憶軟件,故在主界面上模仿其他一些單詞記憶軟件或者單詞網(wǎng)站,顯示一些關(guān)于記憶的小信息、小竅門,或者成語、例句來提高用戶對(duì)單詞記憶的興趣,擴(kuò)展用戶的語言知識(shí)。 初記功能 初記功能,是單詞記憶軟件最主要的功能之一,其設(shè)計(jì)的主要目的是幫助用戶進(jìn)行初記,對(duì)其設(shè)計(jì)的主要需求包括:(1) 能讀取單詞庫,優(yōu)先讀取生詞本中的單詞,如果不足一次單詞記憶或者單詞本中無單詞,就讀取當(dāng)前用戶選擇的單詞書中的單詞,并按照用戶要求是否打亂記憶順序。(2) 能顯示要學(xué)習(xí)的單詞信息,包括單詞的詞義、音標(biāo)、例句、聯(lián)想圖片等信息,將單詞的部分主要信息顯示為紅色,提高記憶率。(3) 能按照用戶要求跳過某個(gè)單詞的學(xué)習(xí)。(4) 如果用戶對(duì)初記效果不滿意,可以選擇重新初記,或者停止初記。(5) 在用戶初記完成之后,可以把已經(jīng)初記的單詞寫入數(shù)據(jù)庫,提醒用戶復(fù)習(xí),為了符合Ebbinghaus記憶曲線,初記后的單詞應(yīng)該立即復(fù)習(xí)。可以提醒用戶是否進(jìn)行立即復(fù)習(xí)。 復(fù)習(xí)功能 復(fù)習(xí)功能,是單詞記憶軟件最主要的功能之一,其設(shè)計(jì)的主要目的是幫助用戶對(duì)單詞進(jìn)行回憶,記憶某樣?xùn)|西的唯一方法就是不斷的重復(fù)記憶,這樣才能保證記憶存儲(chǔ)到大腦的遠(yuǎn)期記憶區(qū)域并不容易忘記。單詞復(fù)習(xí)功能的主要需求有:(1) 能判斷出當(dāng)前數(shù)據(jù)庫中哪些單詞需要復(fù)習(xí),哪些單詞現(xiàn)在還不需要復(fù)習(xí)。(2) 取出需要復(fù)習(xí)的單詞,并取出相應(yīng)的單詞信息,顯示在屏幕上。(3) 對(duì)每個(gè)單詞的復(fù)習(xí)進(jìn)行自動(dòng)計(jì)分。每個(gè)單詞初始按照單詞以前的錯(cuò)誤次數(shù)不同分別計(jì)為0~10分,而一次拼寫正確,就對(duì)當(dāng)前單詞增加相應(yīng)的分?jǐn)?shù);如果錯(cuò)誤,就顯示出正確單詞,但是此次正確后并不計(jì)分。(4) 在復(fù)習(xí)結(jié)束時(shí),能按照Ebbinghus記憶曲線自動(dòng)計(jì)算下一次復(fù)習(xí)時(shí)間。 單詞書管理功能 單詞書管理功能,是單詞記憶軟件最主要的功能之一,其設(shè)計(jì)的主要目的是整理用戶需要記憶的單詞書,其主要的功能需求有:(1) 能添加單詞書。可以用戶從本地導(dǎo)入單詞書,也可以在線下載本課題軟件自帶的單詞書??梢杂枚喾N方式從本地導(dǎo)入單詞書,可以用選擇框進(jìn)行選擇,也可以將單詞書拖拽到本程序中,而導(dǎo)入時(shí)要提醒用戶導(dǎo)入了多少個(gè)單詞,有哪些單詞因?yàn)樵诒境绦蛑袥]有單詞信息而無法導(dǎo)入,因?yàn)楸境绦蛞呀?jīng)自帶了5萬個(gè)單詞和詞組的信息,已經(jīng)足夠任何目的的單詞記憶要求,所以沒有單詞信息的幾率是極小的。(2) 能選擇某個(gè)單詞書為當(dāng)前單詞書,也就是說單詞的初記會(huì)從此單詞中獲取單詞。(3) 因?yàn)閺膯卧~書中獲取單詞,會(huì)使得單詞書中某些單詞變?yōu)椤耙殉跤洝钡臓顟B(tài),故要顯示單詞書中有多少單詞,其中又有多少單詞是已經(jīng)記憶的。(4) 可以重置當(dāng)前單詞書中“已記憶”的單詞數(shù)量,讓用戶能重新記憶某個(gè)單詞書。(5) 能對(duì)某個(gè)單詞書進(jìn)行刪除操作,讓用戶去掉已經(jīng)不用的單詞書。 生詞本功能 生詞本功能,是單詞記憶軟件的重要功能,主要的目的是為了讓用戶能手動(dòng)錄入一些希望馬上記憶的單詞。同時(shí)在本軟件中,生詞本也是一個(gè)迷你的簡明詞典,可以在這里查看單詞的音標(biāo)、詞義和讀音。生詞本功能主要的功能需求有:(1) 能在用戶輸入單詞的同時(shí)顯示單詞信息,并可以對(duì)單詞進(jìn)行發(fā)音。而在本程序的詞庫中沒有信息的單詞就無法添加到生詞本。(2) 當(dāng)找到單詞信息后,用戶可以選擇將當(dāng)前單詞添加到生詞本中,這樣在下一次初記時(shí),就會(huì)優(yōu)先記憶生詞本中的單詞。(3) 用戶可以選擇單獨(dú)刪除某個(gè)生詞本中的單詞。但是如果這個(gè)單詞已經(jīng)初記,并不會(huì)在背誦中的詞庫一并刪除。(4) 用戶可以選擇批量選擇并刪除生詞本中的單詞。(5) 如果生詞本中的單詞較多,用戶可以按頁瀏覽所有生詞本中的單詞。 選項(xiàng)設(shè)置與存檔讀檔功能 選項(xiàng)設(shè)置功能的存在是為了用戶能控制本軟件的各種參數(shù),針對(duì)不同的用戶進(jìn)行不同的優(yōu)化,而更好的幫助其記憶單詞。存檔讀檔的功能是當(dāng)用戶不希望,或者無法進(jìn)行在線的進(jìn)度備份時(shí),而采取的一種備用手段;即用戶可以選擇將單詞信息備份在本地,或者從本地的備份信息恢復(fù)。這樣可以方式用戶的背誦信息丟失或者當(dāng)用戶想遷移備份信息到其他終端。選項(xiàng)設(shè)置與存檔讀檔功能的主要功能需求有:(1) 顯示能調(diào)節(jié)的各種軟件設(shè)置信息,給予每個(gè)信息以一定提示,幫助用戶選擇。(2) 在用戶選擇某個(gè)選項(xiàng)之后,能對(duì)用戶設(shè)置了的信息進(jìn)行存檔。(3) 能讓用戶進(jìn)行手動(dòng)的在線存檔和讀檔功能。(4) 能讓用戶將當(dāng)前的背誦信息保存在本地,提醒用戶將這些信息復(fù)制并存儲(chǔ)在其他地方。(5) 能讓用戶將將本地的存檔信息恢復(fù)到程序中。 單詞游戲功能 單詞游戲功能的存在是為了用戶在學(xué)習(xí)過程中方法,或者說以寓教于樂的方式幫助用戶更好的記憶或者回憶單詞。單詞游戲功能的主要需求如下:(1) 管理現(xiàn)有的所有單詞游戲(2) 能讓用戶進(jìn)行某些單詞游戲,即初始化某些單詞游戲并讓用戶可以進(jìn)行游戲。(3) 當(dāng)用戶退出單詞游戲時(shí),優(yōu)先退出到單詞游戲功能頁面中,使用戶可以選擇其他游戲。(4) 記錄游戲的得分,提醒用戶獲得的得分并可以記錄。 服務(wù)器功能需求服務(wù)器主要提供給本地客戶端以聯(lián)網(wǎng)支持,其基本功能應(yīng)該有讓客戶端訪問的功能、允許用戶進(jìn)行注冊(cè)的功能,使用戶能在線備份與恢復(fù)的功能,讓用戶下載單詞語音的功能。下面分別針對(duì)這些功能進(jìn)行需求上的詳細(xì)說明: Web訪問服務(wù) Web訪問服務(wù)是服務(wù)器提供的一般性服務(wù),如同其他例如Apache,Nginx,Ligd這樣軟件提供的服務(wù),可以讓用戶來訪問服務(wù)器。 用戶注冊(cè)登錄服務(wù) 用戶注冊(cè)登錄服務(wù)是服務(wù)端要響應(yīng)客戶端傳送過來的注冊(cè)和登錄請(qǐng)求,完成注冊(cè)并將用戶數(shù)據(jù)保存在服務(wù)器。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1