版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
[6]。非功能性需求分析當(dāng)然除了功能性需求之外,我們還需要對(duì)非功能性需求進(jìn)行全面地考慮,本次課題會(huì)議室管理系統(tǒng)所需要滿足的非功能性需求有以下幾點(diǎn):穩(wěn)定性需求,由于學(xué)校師生對(duì)于會(huì)議室的使用需求量非常大且頻率非常高,所以整個(gè)系統(tǒng)的需要能夠保證時(shí)刻可用,且不允許出現(xiàn)故障,否則容易出現(xiàn)會(huì)議室使用秩序混亂的情況,如果影響到大型重要會(huì)議則后果不堪設(shè)想。易用性需求,整個(gè)系統(tǒng)中不存在管理員角色,所有內(nèi)容都是用戶自主來完成,所以對(duì)應(yīng)用的上手即可使用的要求非常高,整體的界面需要十分簡潔,使用流程需要清晰易懂??删S護(hù)性需求,任何一個(gè)系統(tǒng)都會(huì)有很強(qiáng)的可維護(hù)性需求,所以編碼方面需要注意未來可能需要維護(hù)的地方,做到代碼盡量簡潔,多寫注釋;除了編碼以外還需要有完整的系統(tǒng)設(shè)計(jì)文檔以及相應(yīng)的交接文檔,方便后續(xù)的開發(fā)者進(jìn)行維護(hù)。擴(kuò)展性需求,目前校內(nèi)的會(huì)議室管理系統(tǒng)很多都和刷卡機(jī)有極度緊密的聯(lián)系,偶合在了一起,會(huì)導(dǎo)致如果需要擴(kuò)展新的會(huì)議室,比如將一個(gè)小教室改為會(huì)議,則需要安裝刷卡機(jī)并和整個(gè)系統(tǒng)連接起來,整個(gè)流程所耗費(fèi)的擴(kuò)展成本是比較高的,所以需要在滿足擴(kuò)展性需求的同時(shí),將擴(kuò)展成本盡量降低。以上是一些主要的非功能性需求,在整個(gè)編碼過程中,也會(huì)盡量保證在滿足以上主要需求的同時(shí)能夠滿足其他的非功能性需求,盡量保證本系統(tǒng)能夠較為完善。可行性分析本節(jié)主要對(duì)于整個(gè)系統(tǒng)的實(shí)現(xiàn)進(jìn)行可行性分析,分別從經(jīng)濟(jì)和技術(shù)兩個(gè)方面入手,盡量以最為簡潔的語言描述出來。經(jīng)濟(jì)可行性分析開發(fā)系統(tǒng)成本上,整個(gè)會(huì)議室管理系統(tǒng)摘除了傳統(tǒng)的刷卡打卡機(jī)制,整體擴(kuò)展成本降到了最低。開發(fā)人員成本上,本次的開發(fā)從前端到后端到數(shù)據(jù)庫等工作,均由我一人完成,故沒有其他交流成本,代碼版本控制等等。后續(xù)的管理上,最簡化整個(gè)會(huì)議室管理系統(tǒng)的操作,完善所有報(bào)錯(cuò)邏輯,去掉了傳統(tǒng)的管理員管理,由此后續(xù)投入使用之后的整個(gè)管理成本也會(huì)降至最低,最多由開發(fā)者做答疑,并定時(shí)檢查報(bào)錯(cuò)日志即可。用戶使用上,由于我們整體采用了B/S的架構(gòu),故用戶無需下載app,只需要有瀏覽器即可,且所有的操作包括打卡都是可以直接線上進(jìn)行的,大大降低了用戶的使用成本,提高用戶流量。所以總的來說,整個(gè)應(yīng)用在經(jīng)濟(jì)方面的可行性是非常高的。技術(shù)可行性分析在計(jì)算機(jī)科學(xué)與技術(shù)迅速發(fā)展的今天,很多技術(shù)都經(jīng)歷了更新?lián)Q代,應(yīng)用的開發(fā)也不像以前那樣只是簡單的頁面和數(shù)據(jù)交互的,出現(xiàn)了很多新的技術(shù)架構(gòu),開源社區(qū)也出現(xiàn)了很多技術(shù)沉淀供我們選擇,謹(jǐn)慎選擇技術(shù)架構(gòu)能夠幫助我們緊跟時(shí)代潮流,向國內(nèi)外各大互聯(lián)網(wǎng)公司看齊。本次會(huì)議室管理系統(tǒng)所采用的技術(shù),從整體架構(gòu)、前后端技術(shù)到數(shù)據(jù)庫技術(shù),都遵循著穩(wěn)定性第一、創(chuàng)新性第二的原則,其成熟性和先進(jìn)性都是能夠經(jīng)得起業(yè)界各個(gè)需求場景的考驗(yàn),同時(shí)也非常適合我們本次的需求。整個(gè)技術(shù)架構(gòu)中的每個(gè)細(xì)節(jié)都選擇了在業(yè)界使用非常多的技術(shù),保持穩(wěn)定的同時(shí)也能夠?qū)W習(xí)新技術(shù)的思想,亦能夠?yàn)槲磥磉M(jìn)入公司做好鋪墊。本章小結(jié)本章主要描述了整個(gè)會(huì)議室管理系統(tǒng)的需求分析和可行性分析,對(duì)于這兩個(gè)方面進(jìn)行了比較細(xì)節(jié)的整理和分析,整體進(jìn)行分析之后,整個(gè)應(yīng)用的開發(fā)內(nèi)容更加明確了,也為后續(xù)的系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)打好了基礎(chǔ)。系統(tǒng)概要設(shè)計(jì)本章主要介紹會(huì)議室管理系統(tǒng)的整體設(shè)計(jì),包括整體流程、數(shù)據(jù)結(jié)構(gòu)以及功能架構(gòu)三個(gè)方面,好的設(shè)計(jì)可以為開發(fā)工作做好鋪墊,使后續(xù)的開發(fā)能夠事半功倍。總體流程設(shè)計(jì)本節(jié)將描述整個(gè)應(yīng)用的使用流程設(shè)計(jì),會(huì)將用戶行為的每個(gè)細(xì)節(jié)都體現(xiàn)出來。為了能夠更加直觀清晰地表現(xiàn)出每一個(gè)用戶的操作流程,我將使用流程圖來描述不同的操作流程。圖4-1會(huì)議室管理系統(tǒng)流程圖通過圖4-1可知,當(dāng)用戶作為會(huì)議室組織者時(shí),可以通過注冊(cè)或者登錄進(jìn)入到系統(tǒng),系統(tǒng)默認(rèn)展示所有的會(huì)議室,可以自行選擇需要的會(huì)議室,進(jìn)入會(huì)議室詳情頁,根據(jù)頁面展示的預(yù)覽信息選擇需要預(yù)定的時(shí)間,進(jìn)入到會(huì)議室預(yù)定界面,填寫與會(huì)人員信息,并點(diǎn)擊確認(rèn)即可成功預(yù)定會(huì)議室。當(dāng)然也可以進(jìn)入個(gè)人會(huì)議列表去查看自己的會(huì)議信息。當(dāng)用戶作為會(huì)議參與者時(shí),同樣是通過注冊(cè)或者登錄進(jìn)入系統(tǒng)后,可以進(jìn)入個(gè)人會(huì)議列表查看自己即將參與的所有會(huì)議,當(dāng)然也可以查看會(huì)議邀請(qǐng)郵件,點(diǎn)擊進(jìn)入系統(tǒng)之后,選擇接受會(huì)議或者拒絕會(huì)議。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫表的設(shè)計(jì)是整個(gè)會(huì)議室管理系統(tǒng)最重要的部分,也是整個(gè)項(xiàng)目的基礎(chǔ),根據(jù)上面的需求,整個(gè)數(shù)據(jù)庫表的設(shè)計(jì)過程我經(jīng)歷了無數(shù)次的推翻重建,最后得出的表一共有五張,分別是用戶表、會(huì)議室表、會(huì)議預(yù)定記錄表、會(huì)議與會(huì)人員表、打卡表。圖4-2會(huì)議室管理系統(tǒng)E-R圖由圖4-2可知五張數(shù)據(jù)表之間的關(guān)系,用戶表和會(huì)議室表互相獨(dú)立,每次的預(yù)定都會(huì)在會(huì)議室預(yù)定表中增加一個(gè)預(yù)定記錄,后續(xù)如果對(duì)其進(jìn)行取消等都是重新操作這個(gè)記錄。預(yù)定會(huì)議室時(shí)可以添加與會(huì)人員,預(yù)定成功后,則會(huì)將與會(huì)人員相關(guān)數(shù)據(jù)加到與會(huì)人員表中。與會(huì)人員對(duì)于會(huì)議邀請(qǐng)無論是同意還是拒絕都會(huì)操作與會(huì)人員表,到達(dá)預(yù)定時(shí)間后,會(huì)議組織者則需要進(jìn)行打卡,打卡的信息會(huì)在打卡記錄表中做記錄。根據(jù)上面的E-R圖,會(huì)議室管理系統(tǒng)的數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)如下:Users(用戶ID,密碼,姓名,性別,郵箱,用戶類別,身份證號(hào))ConferenceRooms(會(huì)議室ID,會(huì)議室名稱,可容納人數(shù),是否有投影儀,是否支持遠(yuǎn)程)ConferenceRoomsReserveLogs(預(yù)定記錄ID,開始時(shí)間,結(jié)束時(shí)間,會(huì)議室ID,預(yù)定狀態(tài))Conferees(與會(huì)人員記錄ID,會(huì)議預(yù)定記錄ID,用戶ID,與會(huì)狀態(tài))PunchingCardLogs(打卡記錄ID,會(huì)議預(yù)定記錄ID,打卡時(shí)間)根據(jù)上面的E-R圖和數(shù)據(jù)庫邏輯結(jié)構(gòu)的設(shè)計(jì),對(duì)于數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計(jì)如下:表4-2-1Users表FieldTypeNullKeyDefaultCommentIdUsernamePasswordEmailGenderIdcarduserTypeintvarchar(50)varchar(50)varchar(50)varchar(5)varchar(50)varchar(50)NONONONONONONOPRI自動(dòng)遞增NULLNULLNULLNULLNULLNULL可選項(xiàng)為Student、teacher表4-2-2ConferenceRooms表FieldTypeNullKeyDefaultCommentIdintNOPRI自動(dòng)遞增houseNumbervarchar(50)NONULL會(huì)議室名稱containNumhasProjectorsupportRemoteinit(11)int(11)int(11)NONONONULL000為有,1為無表4-2-3ConferenceRoomsReserveLogs表FieldTypeNullKeyDefaultCommentIdstartTimeendTimeuserIdconfeRoomIdstatusintdatetimedatetimeintintint(11)NONONONONONOPRI自動(dòng)遞增NULLNULLNULLNULLNULL用戶ID會(huì)議室ID0為已預(yù)定,1為已取消,2為已打卡表4-2-4Conferees表FieldTypeNullKeyDefaultCommentIdintNOPRI自動(dòng)遞增reserveLogIdintNONULL會(huì)議預(yù)定記錄IDUseridStatusinitint(11)NONONULL0用戶ID0為未反饋,1為同意,2為不同意表4-2-5PunchingCardLogs表FieldTypeNullKeyDefaultCommentIdreserveLogIdintintNONOPRI自動(dòng)遞增NULL會(huì)議預(yù)定記錄ID功能架構(gòu)設(shè)計(jì)通過將會(huì)議室管理系統(tǒng)做整體分析,我整理出了系統(tǒng)所需要的功能,其主要功能分為:用戶管理、會(huì)議預(yù)定、與會(huì)人員交互、個(gè)人會(huì)議列表,會(huì)議室列表等模塊。具體的功能架構(gòu)如圖4-3所示:圖4-3會(huì)議室管理系統(tǒng)功能架構(gòu)圖上圖展示了會(huì)議室管理系統(tǒng)的五個(gè)功能模塊,這些模塊相互之間相輔相成,最終構(gòu)成了我們的整個(gè)會(huì)議室管理系統(tǒng)。在用戶管理模塊中,主要包括了用戶登錄和注冊(cè),摒棄了以前的cookiesession鑒權(quán)模式,采用JWT鑒權(quán)。在會(huì)議室預(yù)定模塊,包括了預(yù)定會(huì)議室、取消會(huì)議室、搶占會(huì)議室、通知與會(huì)人員以及會(huì)議室打卡等功能,這里面的整體交互邏輯要稍微復(fù)雜一些,對(duì)于預(yù)定記錄的狀態(tài)轉(zhuǎn)換、通知與會(huì)人員等功能的交互都需要深入思考。與會(huì)人員操作的部分,主要是對(duì)于發(fā)來的會(huì)議邀請(qǐng)進(jìn)行接受或者拒絕。同時(shí)用戶還可以查看自己未來一段時(shí)間的會(huì)議列表,其中包括自己組織的會(huì)議、已接受的會(huì)議以及未處理的會(huì)議邀請(qǐng)。會(huì)議室列表部分,用戶可以直接查看所有的會(huì)議室,也可以進(jìn)行關(guān)鍵字檢索,查找自己需要的會(huì)議室。本章小結(jié)本章主要描述了總體流程設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和功能架構(gòu)設(shè)計(jì)這三部分的內(nèi)容,首先通過使用流程圖將整體的流程設(shè)計(jì)以最簡潔的方式描述出來,再利用E-R圖將整個(gè)數(shù)據(jù)庫的結(jié)構(gòu)理順理清晰,搭建出可用的數(shù)據(jù)庫物理結(jié)構(gòu)。最后再利用會(huì)議室管理系統(tǒng)的功能架構(gòu)圖將整個(gè)系統(tǒng)的功能分為五大部分,并對(duì)每個(gè)部分進(jìn)行細(xì)化,最終整個(gè)系統(tǒng)的概要設(shè)計(jì)就形成了。經(jīng)過系統(tǒng)設(shè)計(jì)之后,整體思路會(huì)更加清晰,為開發(fā)賦能。系統(tǒng)實(shí)現(xiàn)開發(fā)環(huán)境本文中實(shí)現(xiàn)的會(huì)議室管理系統(tǒng)前端采用JavaScript作為開發(fā)語言,后端采用Nodejs作為開發(fā)語言,數(shù)據(jù)庫采用MySQL5.7。整個(gè)開發(fā)過程以VScode作為開發(fā)工具,Navicat作為數(shù)據(jù)庫圖形化管理工具。其中VScode是一個(gè)非常輕量的文本編輯器,好好利用它可以大大提高我們的開發(fā)效率。它的使用特點(diǎn)是:編輯器+插件,它擁有雄厚的插件資源,多個(gè)插件一起使用就能有意想不到的奇特效果。本次開發(fā)過程中所采用的VScode插件有:HTMLSnippets(擁有HTML5代碼片段的提示)、HTMLCSSSupport(CSS的智能提示)、PathIntellisense(各種文件路徑補(bǔ)全)、ESlint(代碼格式檢查,這是最為常用的插件,在團(tuán)隊(duì)開發(fā)中可以統(tǒng)一代碼風(fēng)格)、AtuoRenameTag(HTML會(huì)有開閉兩個(gè)標(biāo)簽,使用這個(gè)插件,改動(dòng)開標(biāo)簽,閉標(biāo)簽也會(huì)自動(dòng)修改)??偟膩碚f,本次開發(fā)環(huán)境的整個(gè)搭建過程還是比較繁瑣的,特別是VScode整個(gè)環(huán)境的搭建,對(duì)比WebStorm這種開箱即用的IDE,需要耗費(fèi)更多的時(shí)間和精力,但是最終依舊選擇VScode的原因是它的輕量和靈活性,使用VScode我不需要因?yàn)椴煌捻?xiàng)目要去下載不同的IDE,只需要根據(jù)項(xiàng)目的類型不同,配置不同的插件套餐即可。系統(tǒng)功能實(shí)現(xiàn)用戶管理模塊用戶管理模塊主要包括用戶注冊(cè)、用戶登錄、退出登錄、修改密碼等,是整個(gè)應(yīng)用的基礎(chǔ)。由于登錄注冊(cè)功能是后續(xù)所有用戶鑒權(quán)的基礎(chǔ),所以在實(shí)現(xiàn)本模塊功能之前,我需要去調(diào)研過目前比較通用的用戶鑒權(quán)方式,調(diào)研結(jié)果發(fā)現(xiàn)業(yè)界的用戶鑒權(quán)主要有兩種模式:Cookie-Session模式和JWT模式REF_Ref40882032\r\h[8]。Cookie-Session模式的工作流程是:用戶在前端輸入用戶名和密碼,點(diǎn)擊登錄發(fā)送請(qǐng)求給服務(wù)器。服務(wù)器收到請(qǐng)求后驗(yàn)證用戶名和密碼的正確性,如果驗(yàn)證通過則會(huì)創(chuàng)建一個(gè)會(huì)話也就是常說的session,同時(shí)生成這個(gè)session的sessionID返回給前端。前端收到返回?cái)?shù)據(jù)后,將返回的sessionID存儲(chǔ)在cookie中,后續(xù)的所有請(qǐng)求只需要把cookie帶上,服務(wù)端檢查是否有sessionID所帶的session即可,檢查通過則用戶鑒權(quán)成功。如果用戶退出登錄,服務(wù)端和客戶端的會(huì)話(session)都會(huì)被銷毀。由此可以看出它的弊端非常多,首先是服務(wù)端需要保存用戶信息,當(dāng)用戶數(shù)增多,服務(wù)器壓力也會(huì)不斷增大。其次是現(xiàn)在服務(wù)端為了做負(fù)載均衡會(huì)使用多個(gè)服務(wù)器,需要定時(shí)通信來保證用戶信息在每個(gè)服務(wù)端一致。最后就是退出登錄時(shí)前端和服務(wù)端都需要處理其中的邏輯。而JWT鑒權(quán)的工作模式和思想完全不同:用戶輸入用戶名和密碼,點(diǎn)擊登錄,發(fā)送請(qǐng)求給服務(wù)端。服務(wù)端收到請(qǐng)求后,驗(yàn)證用戶名和密碼,驗(yàn)證通過則計(jì)算出一個(gè)token(token在上文中JWT鑒權(quán)部分有介紹過),返回給前端。前端將token存儲(chǔ)在localstorage里面,后續(xù)的請(qǐng)求只需要將在httpheader中帶上token發(fā)送給服務(wù)器,服務(wù)器通過重新計(jì)算一遍token來驗(yàn)證其正確性,如果對(duì)比簽名相同則鑒權(quán)成功。退出登錄只需要將前端localstorage里面存儲(chǔ)的token刪除掉即可,后端無需做其他操作。JWT鑒權(quán)可以解決上述Cookie-Session模式存在的問題,但是由于JWT是無狀態(tài)的,所以無法暫存用戶的一些狀態(tài),不過對(duì)于我們的系統(tǒng)來說,沒有很多需要存儲(chǔ)用戶狀態(tài)的地方,所以本次會(huì)議室管理系統(tǒng)鑒權(quán)最終還是決定采用JWT鑒權(quán)模式。下面將正式開始介紹用戶管理模塊的實(shí)現(xiàn):首先是登錄功能:圖5-1會(huì)議室管理系統(tǒng)登錄界面進(jìn)入登陸頁面有兩種情況,一種是用戶進(jìn)入直接進(jìn)入login頁面進(jìn)行登錄,另一種就是在沒有登錄的情況下進(jìn)入到了其他頁面,則會(huì)自動(dòng)跳轉(zhuǎn)到登陸頁面。前端使用antdesign的Form表單組件搭建登陸頁面,用戶輸入用戶名密碼后,點(diǎn)擊登錄發(fā)送請(qǐng)求給后端,后端使用express框架來處理請(qǐng)求,并利用npm包jwt-simple來生成JWT,返回token值,前端將token值存入localstorage中,為后面頁面的權(quán)限處理打好基礎(chǔ)。其次是注冊(cè)功能:注冊(cè)功能和登錄功能的JWT處理邏輯是一樣的,注冊(cè)功能主要包括創(chuàng)建用戶和生成JWT自動(dòng)登錄,前端頁面同樣使用AntDesign的Form組件,用戶填寫的注冊(cè)信息并點(diǎn)擊注冊(cè),后端進(jìn)行用戶創(chuàng)建,將用戶信息存入用戶表,同時(shí)為用戶生成token,返回給前端存儲(chǔ),注冊(cè)完成。然后是退出登錄功能:圖5-2退出登錄按鈕前端頁面采用了AntDesign的Menu下拉菜單組件,退出登錄按鈕作為下拉菜單的一部分,由于采用了JWT鑒權(quán)模式,所以退出登錄功能的實(shí)現(xiàn)會(huì)更加簡單,只需要在用戶點(diǎn)擊退出登錄時(shí),將localstorage里面的token清理掉就行,這樣再次進(jìn)入這個(gè)頁面就會(huì)因?yàn)闆]有登錄態(tài)而強(qiáng)制跳轉(zhuǎn)到登陸頁面。最后還提供了一個(gè)修改密碼的功能,在做這個(gè)功能之前我有調(diào)研很多系統(tǒng),有的可以直接修改所有的用戶信息,有的只能修改部分信息,考慮到本系統(tǒng)中的數(shù)據(jù)結(jié)構(gòu)很多內(nèi)容比如姓名,身份證號(hào)等等都是固定不變的,提供修改所有用戶信息其實(shí)是沒有必要的,于是選擇了一個(gè)折中的方案,只提供修改密碼功能。圖5-3修改密碼功能示意整個(gè)使用流程如圖5-2和圖5-3所示,點(diǎn)擊圖5-2中的個(gè)人詳情按鈕,跳轉(zhuǎn)到個(gè)人信息頁面,頁面會(huì)展示用戶的相關(guān)信息,同時(shí)提供修改密碼的功能,用戶可以點(diǎn)擊修改密碼按鈕,則右邊會(huì)劃出修改密碼的表單,表單中做了一些校驗(yàn)處理,比如新密碼和確認(rèn)密碼是否相同等等,點(diǎn)擊確認(rèn)修改則會(huì)自動(dòng)關(guān)閉表單,并彈出修改成功的提示,整個(gè)實(shí)現(xiàn)過程前端主要采用AntDesign的Description和Form組件實(shí)現(xiàn)整個(gè)交互,后端主要是密碼的檢查以及密碼的更新等邏輯處理。這樣整個(gè)用戶模塊就實(shí)現(xiàn)完成了,用戶模塊將會(huì)在應(yīng)用的整個(gè)生命周期中起作用,主要是存儲(chǔ)在localStorage里面的token和userId起作用,token主要是負(fù)責(zé)登錄態(tài)管理,后端的請(qǐng)求中除了登錄和注冊(cè)功能,其他的請(qǐng)求都需要登錄態(tài),所以每次請(qǐng)求都需要將token作為http頭部自定義字段Authorization傳遞給后端,后端采用檢測(cè)是否有登錄態(tài)的中間件來判斷,如果有Authorization頭部并且經(jīng)計(jì)算JWT合法,則可以進(jìn)行后續(xù)操作,如果非合法則返回401,并提示重新登錄;userId則主要是為了方便在其他頁面查詢用戶信息。會(huì)議室列表查詢用戶完成登錄之后,會(huì)直接跳轉(zhuǎn)到會(huì)議室列表頁,用戶可以直接在此頁面選擇需要的會(huì)議室。整個(gè)會(huì)議室列表頁分為兩大功能,一個(gè)是搜索會(huì)議室的功能,另一個(gè)是會(huì)議室分頁列表展示的功能。搜索功能的前端樣式主要如下圖所示,可以輸入關(guān)鍵字進(jìn)行模糊搜索相應(yīng)的會(huì)議室,點(diǎn)擊搜索后,搜索結(jié)果會(huì)顯示到列表展示部分。圖5-4搜索框示意圖搜索功能的實(shí)現(xiàn)方式:前端采用AntDesign的Input組件,配置出搜索樣式,用戶輸入關(guān)鍵字并點(diǎn)擊搜索后,發(fā)送搜索請(qǐng)求給后端,后端根據(jù)獲取到的關(guān)鍵字在數(shù)據(jù)庫進(jìn)行模糊查詢,查詢結(jié)果返回給前端,前端頁面重新渲染展示出來。其中由于本次會(huì)議室管理系統(tǒng)的后端DAO層采用了Sequelize這個(gè)ORM框架,所以可以直接利用它提供的操作符來進(jìn)行操作,會(huì)使操作更加整潔,整個(gè)代碼如下圖所示:圖5-5Sequeliz模糊查詢代碼圖會(huì)議室列表展示模塊,由于傳統(tǒng)方式直接展示一個(gè)表格會(huì)使得整個(gè)界面有一些單調(diào),用戶體驗(yàn)感不太好,于是決定重新設(shè)計(jì)一下會(huì)議室列表的界面,列表中的每個(gè)內(nèi)容都采用卡片的形式展示,使得整體看起來更加清晰,如下圖所示,一行展示4組數(shù)據(jù),在列表頁能夠很直觀地預(yù)覽會(huì)議室的信息,比如容納人數(shù)、是否有投影儀,是否由電話支持遠(yuǎn)程連線等。根據(jù)這些信息用戶可以初步篩選所需要的會(huì)議室。圖5-6會(huì)議室列表示意圖如果全量一次性拉出所有的會(huì)議室數(shù)據(jù)展示在頁面上,在數(shù)據(jù)量較少的情況下是可以的,但是一旦數(shù)據(jù)量增多,可能會(huì)導(dǎo)致整個(gè)頁面的交互變卡頓,因?yàn)橐淮涡岳『弯秩镜臄?shù)據(jù)太多了,數(shù)據(jù)查詢、數(shù)據(jù)傳輸、數(shù)據(jù)渲染需要耗費(fèi)的時(shí)間都大大增加,整體的等待時(shí)間可能會(huì)延長至之前的兩倍甚至三倍,用戶體驗(yàn)感會(huì)大大降低,會(huì)使得系統(tǒng)損失很多用戶。此時(shí)分頁功能就十分重要了,設(shè)置默認(rèn)頁面大小為12,默認(rèn)頁碼為0,每次拉取12份數(shù)據(jù),并返回總頁數(shù),這樣需要查看更多數(shù)據(jù)的時(shí)候就可以直接采用翻頁拉去新數(shù)據(jù)進(jìn)行實(shí)現(xiàn)。分頁組件的樣式如下圖所示:圖5-7分頁功能示意圖分頁列表功能的實(shí)現(xiàn)方式:列表利用AntDesign的Card組件進(jìn)行數(shù)據(jù)渲染,分頁功能前端采用AntDesign的Pagination分頁組件,定義好pageSize(頁面大?。┖蚦urrent(當(dāng)前頁數(shù)),首先進(jìn)行默認(rèn)查詢,發(fā)送請(qǐng)求給后端,后端查詢第一頁的數(shù)據(jù),以及數(shù)據(jù)總量,返回給前端,前端接收到數(shù)據(jù)后設(shè)置好Pagination的參數(shù),分頁組件就設(shè)置完成了,將每次返回的數(shù)據(jù),在會(huì)議室列表中渲染出來,且在切換頁碼時(shí),要重新請(qǐng)求數(shù)據(jù)源,并重新渲染列表。這樣整個(gè)分頁列表的功能就實(shí)現(xiàn)了。總的來說,會(huì)議室列表頁是整個(gè)會(huì)議室管理系統(tǒng)登錄后進(jìn)入到的第一個(gè)頁面,頁是給用戶一個(gè)預(yù)覽所有會(huì)議室的地方,所以需要有較好的視覺和流暢的體驗(yàn)才能留住用戶。會(huì)議室預(yù)訂模塊會(huì)議室預(yù)定模塊是整個(gè)會(huì)議室管理系統(tǒng)的核心模塊,所有的其他模塊都是在為它打基礎(chǔ)以及進(jìn)行擴(kuò)展。整個(gè)會(huì)議室預(yù)訂模塊的使用流程如下:用戶進(jìn)入系統(tǒng)后點(diǎn)擊了某一個(gè)會(huì)議室,則會(huì)進(jìn)入到會(huì)議室詳情頁,會(huì)議室詳情頁為一個(gè)全屏的日歷頁,如圖5-8所示。圖5-8會(huì)議室詳情頁預(yù)定信息示意圖 整個(gè)日歷中會(huì)粗略展示每天的會(huì)議安排,如果需要了解詳情可以點(diǎn)擊進(jìn)入到預(yù)定頁,會(huì)有一個(gè)完整的時(shí)間線,清晰地可以看到會(huì)議室在哪些時(shí)間是空閑的,如圖5-9所示。圖5-9會(huì)議室預(yù)定界面時(shí)間線示意圖當(dāng)用戶選定了某個(gè)時(shí)間段,且該會(huì)議室在該時(shí)間段剛好是空閑的,則可以點(diǎn)擊可預(yù)訂按鈕,彈出如圖5-10所示的會(huì)議室預(yù)定表單,可以在里面填入一些會(huì)議描述以及添加與會(huì)人員,點(diǎn)擊提交且預(yù)定成功后,系統(tǒng)會(huì)自動(dòng)為所有與會(huì)人員發(fā)送會(huì)議邀請(qǐng)郵件。圖5-10會(huì)議室預(yù)定表單到達(dá)時(shí)間之后,進(jìn)入系統(tǒng)會(huì)提示會(huì)議已經(jīng)開始,需要進(jìn)行打卡,若會(huì)議開始15分鐘后還未打卡,系統(tǒng)會(huì)將本會(huì)議室資源重新開放,這時(shí)其他同學(xué)便可以搶占這個(gè)時(shí)間段的會(huì)議室。以上便是用戶的正常使用流程,當(dāng)然還會(huì)有很多其他的使用流程分支,比如臨時(shí)取消會(huì)議室、搶占會(huì)議室等等。整個(gè)模塊功能的實(shí)現(xiàn)方式:前端采用了AntDesign的Calendar、Timeline、Form等組件,后端使用了moment、Sequelize、Nodemailer等等NPM包,出于學(xué)校安全管理以及學(xué)生人身安全的考慮,會(huì)議室管理系統(tǒng)的可預(yù)定時(shí)間為早上八點(diǎn)到晚上六點(diǎn),所有會(huì)議室最多只能提前一個(gè)星期預(yù)定,最小預(yù)定時(shí)間粒度為一小時(shí),會(huì)議室預(yù)定模塊被拆分為預(yù)定會(huì)議室、取消會(huì)議室、搶占會(huì)議室、通知與會(huì)人員等功能。其實(shí)在這個(gè)模塊的實(shí)現(xiàn)過程中我遇到過很多的問題,比如數(shù)據(jù)庫默認(rèn)采用UTC時(shí)區(qū)和Nodejs默認(rèn)采用本地時(shí)區(qū)造成了沖突、時(shí)間段之間的復(fù)雜邏輯處理、用戶狀態(tài)和會(huì)議室預(yù)訂狀態(tài)的復(fù)雜轉(zhuǎn)換邏輯等,經(jīng)過了我一次次地修改和重新設(shè)計(jì),最終確定了以上的操作流程作為折中的方案。與會(huì)人員交互模塊前文有講到當(dāng)會(huì)議組織者預(yù)定會(huì)議后,會(huì)給所有與會(huì)人員發(fā)送郵件,與會(huì)人員收到郵件后,需要對(duì)與本次會(huì)議邀請(qǐng)做出反饋,可以點(diǎn)擊郵件中的立即處理按鈕,則會(huì)跳轉(zhuǎn)到系統(tǒng)中的個(gè)人會(huì)議列表頁,與會(huì)人員在系統(tǒng)內(nèi)點(diǎn)擊是否同意接受本次會(huì)議邀請(qǐng)即可完成整個(gè)交互,本次會(huì)議也會(huì)添加到個(gè)人會(huì)議列表中的已接受會(huì)議列表中。整個(gè)交互通過郵件發(fā)送和跳轉(zhuǎn)頁面來完成,那么郵件的發(fā)送和格式就需要自行定制,符合整個(gè)會(huì)議室管理系統(tǒng)的整體風(fēng)格,整個(gè)定制內(nèi)容需要注意兩大點(diǎn),首先是用戶信息,由于需要給所有與會(huì)人員批量發(fā)送郵件,則需要查詢所有與會(huì)用戶的郵件信息,再將所有與會(huì)人員的郵件信息整合在郵件接收者列表中。其次是郵件格式,因?yàn)橛脩粜枰卩]件中進(jìn)行交互操作,所以普通的文本郵件是肯定達(dá)不到交互要求的,此時(shí)則需要發(fā)送HTML格式的郵件,需要定制對(duì)應(yīng)的HTML,并嵌入到郵件中。圖5-11郵件HTML最終效果整個(gè)郵件的交互功能主要利用NPM包NodeMailer來進(jìn)行實(shí)現(xiàn)。據(jù)調(diào)研NodeMailer是專門為Nodejs項(xiàng)目打造的,使郵件發(fā)送更加簡單方便的開源庫,這個(gè)項(xiàng)目從2010年就開始研發(fā)了,目前已經(jīng)是很多Nodejs開發(fā)者默認(rèn)使用的郵件功能庫。所以它是集創(chuàng)新性和穩(wěn)定性為一體的,既能體驗(yàn)到較新的技術(shù)氛圍,同時(shí)也有強(qiáng)大的團(tuán)隊(duì)為我們維護(hù)其穩(wěn)定性和正確性,非常適合我們的個(gè)人項(xiàng)目以及企業(yè)項(xiàng)目進(jìn)行開發(fā)。添加與會(huì)人員交互模塊之后,會(huì)議組織者就不再需要逐個(gè)給與會(huì)人員發(fā)送會(huì)議邀請(qǐng),并且手動(dòng)收集與會(huì)人員的會(huì)議邀請(qǐng)反饋信息了;與會(huì)人員也不需要在不同的渠道分散地進(jìn)行會(huì)議邀請(qǐng)反饋了,有統(tǒng)一的地方可以統(tǒng)一處理這些請(qǐng)求。大大節(jié)約了人力成本,用戶體驗(yàn)呈直線上升。個(gè)人會(huì)議列表查詢用戶除了可以進(jìn)行以上的預(yù)定會(huì)議室和接受會(huì)議等交互之外,還可以在個(gè)人會(huì)議列表里面查看與自己相關(guān)的未來一周內(nèi)的會(huì)議信息,這里面所有的列表查詢也和上文中的會(huì)議室列表一樣做了分頁處理,但是由于二者的展示方式不同,所以分頁的實(shí)現(xiàn)也有所不同。整個(gè)個(gè)人會(huì)議列表的內(nèi)容主要包括三個(gè)部分:自己組織的會(huì)議、已接受會(huì)議邀請(qǐng)的會(huì)議、未處理會(huì)議邀請(qǐng)的會(huì)議,前端頁面通過AntDesign中的Tabs組件將這些內(nèi)容進(jìn)行了分隔,點(diǎn)擊Tab按鈕即可在三部分內(nèi)容之間隨意切換,如下圖所示。圖5-12個(gè)人會(huì)議列表Tab分隔示意圖每個(gè)模塊之間的展示內(nèi)容不相同,可進(jìn)行的操作也不一樣:自己組織的會(huì)議列表會(huì)默認(rèn)列出未來一周本人組織的所有會(huì)議,可以在這里進(jìn)行查看詳情、取消預(yù)定以及查看詳情,點(diǎn)擊數(shù)據(jù)項(xiàng)詳情都可以進(jìn)入到詳情頁查看里面的具體信息,包括會(huì)議室的具體信息、會(huì)議組織者、會(huì)議描述、所有的與會(huì)人員以及與會(huì)人員的會(huì)議邀請(qǐng)接受情況。已接受會(huì)議邀請(qǐng)的會(huì)議列表模塊將會(huì)列出未來一周所有接受了會(huì)議邀請(qǐng)的會(huì)議列表,具體的交互行為僅有查看詳情,在這個(gè)列表里面的會(huì)議都是自己手動(dòng)接受會(huì)議邀請(qǐng)了的,必須按時(shí)參與,可以點(diǎn)擊會(huì)議詳情進(jìn)入詳情頁,其主要內(nèi)容和自己組織的會(huì)議詳情相同。未處理會(huì)議邀請(qǐng)的會(huì)議列表模塊會(huì)列出所有未處理的未來一周的會(huì)議邀請(qǐng)信息,前端主要表現(xiàn)為一個(gè)列表,可以點(diǎn)擊任意數(shù)據(jù)項(xiàng)進(jìn)入會(huì)議詳情,會(huì)議詳情頁的內(nèi)容主要包括會(huì)議室的具體信息、會(huì)議組織者、會(huì)議描述以及會(huì)議邀請(qǐng)的與會(huì)人員。在這個(gè)頁面用戶可以進(jìn)行的主要交互操作為與會(huì)人員對(duì)于會(huì)議邀請(qǐng)的接受或者拒絕,用戶進(jìn)入本頁面主要有兩種途徑,可以自行在系統(tǒng)中進(jìn)入這個(gè)頁面進(jìn)行操作,也可以點(diǎn)擊會(huì)議邀請(qǐng)郵件中的處理會(huì)議邀請(qǐng)?zhí)D(zhuǎn)到這個(gè)頁面。會(huì)議邀請(qǐng)的處理可以直接在列表外部進(jìn)行操作,也可以在點(diǎn)擊詳情進(jìn)入詳情頁,查看會(huì)議詳細(xì)信息之后再進(jìn)行操作。上述的所有列表頁前端部分都是采用AntDesign的Table組件來進(jìn)行開發(fā),此組件是整個(gè)UI組件庫里面非常強(qiáng)大的組件之一,它可以根據(jù)文檔中的示例。自行配置表格的分頁行為,避免了我們自行操作受控?cái)?shù)據(jù)而導(dǎo)致的不可預(yù)知的漏洞,大大提升了開發(fā)效率。后端處理上則和上文會(huì)議室列表中的邏輯類似,在數(shù)據(jù)庫層面進(jìn)行分頁查詢,并注意區(qū)分會(huì)議狀態(tài)即可。本章小結(jié)結(jié)合前面幾章為應(yīng)用開發(fā)做出的鋪墊,本次的系統(tǒng)實(shí)現(xiàn)整個(gè)過程變得更加地順利且有條理性。本章主要將整個(gè)會(huì)議室管理系統(tǒng)的實(shí)現(xiàn)過程描述出來,從開發(fā)環(huán)境,到用戶操作流程,到實(shí)現(xiàn)方式,到細(xì)節(jié)代碼都進(jìn)行了詳細(xì)的說明,經(jīng)歷了整個(gè)應(yīng)用從無到有的過程,在此過程中對(duì)應(yīng)用進(jìn)行了不斷的整理和優(yōu)化,最終實(shí)現(xiàn)了一個(gè)質(zhì)量較好的會(huì)議室管理系統(tǒng)。總結(jié)與展望本章主要對(duì)于本次課題會(huì)議室管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)中所作的工作進(jìn)行簡要總結(jié),并對(duì)本次工作中的創(chuàng)新點(diǎn)進(jìn)行闡述,同時(shí)提出仍需進(jìn)一步深入研究和改進(jìn)的地方,最后對(duì)未來會(huì)議室管理行業(yè)的發(fā)展做出展望。本文總結(jié)本文針對(duì)傳統(tǒng)會(huì)議室管理系統(tǒng)的一些弊端進(jìn)行梳理,調(diào)研國內(nèi)外相關(guān)產(chǎn)品的現(xiàn)狀,整理出目前存在的一系列問題,并對(duì)這些問題提出解決方案,產(chǎn)生更符合我們需求場景的會(huì)議室管理系統(tǒng)設(shè)計(jì),同時(shí)調(diào)研國內(nèi)外基于B/S架構(gòu)的系統(tǒng)技術(shù),整理出了適合我們目前項(xiàng)目的全新的技術(shù)架構(gòu),對(duì)于整體需求和可行性進(jìn)行分析,并從總體流程、數(shù)據(jù)結(jié)構(gòu)、功能架構(gòu)三個(gè)方面對(duì)系統(tǒng)進(jìn)行設(shè)計(jì),并根據(jù)以上的設(shè)計(jì)方案完成會(huì)議室管理系統(tǒng)的開發(fā)工作,最后對(duì)于整個(gè)工作過程進(jìn)行總結(jié)和梳理。本文的主要工作本文主要研究會(huì)議室管理系統(tǒng)的設(shè)計(jì)與開發(fā),進(jìn)行的工作主要包括了以下幾個(gè)方面:會(huì)議室管理系統(tǒng)的調(diào)研與研究:在研究最開始的時(shí)候調(diào)研了國內(nèi)外的會(huì)議室管理系統(tǒng)產(chǎn)品,并對(duì)其進(jìn)行對(duì)比研究,整理出目前校園級(jí)會(huì)議室管理系統(tǒng)的痛點(diǎn),并提出相應(yīng)的解決方案。技術(shù)架構(gòu)的設(shè)計(jì):調(diào)研目前國內(nèi)外比較流行的技術(shù)體系,并結(jié)合本系統(tǒng)的需求,整理出最合適的技術(shù)架構(gòu)。需求和可行性分析:綜合考慮上文中的解決方案和技術(shù)架構(gòu),針對(duì)會(huì)議室管理系統(tǒng)進(jìn)行功能性和非功能性的需求分析以及經(jīng)濟(jì)上和技術(shù)上的可行性分析。系統(tǒng)設(shè)計(jì):進(jìn)行系統(tǒng)的整體設(shè)計(jì),包括流程設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、功能設(shè)計(jì),以及交互設(shè)計(jì)和視覺設(shè)計(jì)。由于以前沒有過做交互和視覺的經(jīng)驗(yàn),所以本次的設(shè)計(jì)調(diào)研并參考了很多網(wǎng)站的優(yōu)秀交互與視覺設(shè)計(jì)。系統(tǒng)實(shí)現(xiàn):根據(jù)上述技術(shù)設(shè)計(jì)和功能設(shè)計(jì),搭建開發(fā)環(huán)境,進(jìn)行編碼研發(fā),實(shí)現(xiàn)系統(tǒng)功能,整體流程走通,測(cè)試完成。系統(tǒng)優(yōu)化:將實(shí)現(xiàn)出來的會(huì)議室管理系統(tǒng)一遍遍運(yùn)行,推敲可優(yōu)化點(diǎn)并優(yōu)化各處細(xì)節(jié)。本文的主要?jiǎng)?chuàng)新點(diǎn)在本次課題的開發(fā)過程中,我遇到了很多問題,也攻克了很多難點(diǎn),整個(gè)系統(tǒng)主要有以下創(chuàng)新點(diǎn):技術(shù)架構(gòu)上采用了國內(nèi)外非常新穎的技術(shù)架構(gòu),和很多大型互聯(lián)網(wǎng)公司的技術(shù)體系保持一致,并跟據(jù)我們的場景進(jìn)行架構(gòu)優(yōu)化。交互功能添加了和與會(huì)人員的交互,傳統(tǒng)會(huì)議室管理系統(tǒng)只是操作會(huì)議室相關(guān)內(nèi)容,本次課題研發(fā)的會(huì)議室管理系統(tǒng)除了預(yù)定會(huì)議室等功能之外,還添加了通知與會(huì)人員和與會(huì)人員選擇是否接受會(huì)議邀請(qǐng)等功能,會(huì)議組織者不再需要在系統(tǒng)外的地方通知與會(huì)人員參與會(huì)議,極大地提升了用戶體驗(yàn)。視覺設(shè)計(jì)上添加了日歷和時(shí)間軸樣式,用戶能夠更加直觀地了解到各會(huì)議室的當(dāng)前狀態(tài)以及可預(yù)訂時(shí)間段,方便用戶即時(shí)獲取信息,使用流暢感增強(qiáng)。展望總的來說,雖然本課題會(huì)議室管理系統(tǒng)目前已經(jīng)到了結(jié)束階段,但是仍然還有很多可以改進(jìn)以及優(yōu)化的地方,希望未來再次參與到類似項(xiàng)目的時(shí)候能夠考慮進(jìn)去:增加預(yù)定時(shí)間粒度種類,目前整個(gè)系統(tǒng)支持的最小時(shí)間粒度為1小時(shí),主要為了是操作簡單和防止出現(xiàn)資源浪費(fèi)的情況,但是后續(xù)可以考慮分多種時(shí)間粒度進(jìn)行預(yù)定,比如適合大家上課時(shí)長的45分鐘等等。線上會(huì)議,由于此次新型冠狀病毒疫情的影響,無法返工和返校,在這期間我們進(jìn)行了很多的線上教學(xué),線上會(huì)議等等,我發(fā)現(xiàn)其實(shí)線上會(huì)議也是會(huì)給我們帶來很多便利的,比如如果不是非得去現(xiàn)場頭腦風(fēng)暴的工作交接會(huì)等等就可以直接在線上完成,能夠大大節(jié)約會(huì)議室資源,所以校園的會(huì)議室管理系統(tǒng)推出線上功能也是非常的必要的,當(dāng)然這是一把雙刃劍,完全依賴線上會(huì)議,有些事情的效率可能會(huì)降低,使用時(shí)還是需要進(jìn)行謹(jǐn)慎考慮。增加炫酷的動(dòng)效,本次開發(fā)更加側(cè)重于業(yè)務(wù)邏輯,所以前端界面主要以簡潔大氣為主,其實(shí)可以加入一些更加炫酷的CSS動(dòng)效,根據(jù)很多公司首頁的經(jīng)驗(yàn),炫酷的動(dòng)效更加能夠吸引用戶來使用產(chǎn)品。增加權(quán)限控制和配置化內(nèi)容,目前研發(fā)出的會(huì)議室管理系統(tǒng)主要是給上海大學(xué)的師生使用,其他學(xué)校的會(huì)議室還不能引進(jìn)。但是由于我們目前的系統(tǒng)是不依賴于任何的特定硬件設(shè)備的,所以如果增加配置內(nèi)容功能,每個(gè)學(xué)校的負(fù)責(zé)人只需要配置上所有的會(huì)議室信息,系統(tǒng)將每個(gè)學(xué)校的用戶數(shù)據(jù)和會(huì)議室數(shù)據(jù)進(jìn)行隔離,并進(jìn)行權(quán)限控制,就可以適用于所有的學(xué)校。除了以上內(nèi)容以外,其實(shí)還有很多小細(xì)節(jié)也是可以優(yōu)化的,當(dāng)然一個(gè)完美的系統(tǒng)是需要長時(shí)間慢慢推敲打磨出來的,短時(shí)間想要達(dá)到完美的效果是不太可能的,需要不斷地重構(gòu)優(yōu)化,最終才能產(chǎn)出用戶們都接受并喜歡的產(chǎn)品。希望本系統(tǒng)能夠?qū)鴥?nèi)會(huì)議室管理系統(tǒng)的發(fā)展,特別是學(xué)校級(jí)別的會(huì)議室管理系統(tǒng),能夠起到一定的促進(jìn)作用,也希望未來的工作生活中能夠有機(jī)會(huì)參與到類似系統(tǒng)的研發(fā)中去。致謝首先我想要感謝我的指導(dǎo)老師—XX老師,感謝老師的關(guān)懷和悉心指導(dǎo),他擁有科學(xué)嚴(yán)謹(jǐn)?shù)霓k學(xué)態(tài)度,一絲不茍的辦事風(fēng)格,在跟隨老師完成畢業(yè)設(shè)計(jì)的這段時(shí)間,老師的一舉一動(dòng)都對(duì)我產(chǎn)生著非常深刻的影響,在完成工作的同時(shí)學(xué)到了應(yīng)該有雷厲風(fēng)行的辦事風(fēng)格,精益求精的工作態(tài)度。當(dāng)然最感謝的還是老師在這段時(shí)間給我的悉心指導(dǎo)和鼓勵(lì),讓我能夠在這段時(shí)間將課題研究完成的同時(shí),盡量少走彎路,并且時(shí)刻保持積極向上的心態(tài)。當(dāng)然我也非常感謝大學(xué)期間為我授課的所有老師,感謝他們不辭辛苦地為我們傳授知識(shí),因?yàn)橛辛舜髮W(xué)期間所學(xué)到的內(nèi)容,形成了自己的知識(shí)儲(chǔ)備,才能夠讓我順利找到自己的發(fā)展方向,規(guī)劃好未來的道路,并最后能進(jìn)入國內(nèi)互聯(lián)網(wǎng)頂尖的公司。同時(shí)老師們的人格魅力也深深吸引了我,我希望我也能成為一個(gè)不卑不亢,永遠(yuǎn)虔誠待人的人。我也非常感謝我的家人,他們不遠(yuǎn)萬里送我來XX求學(xué),在經(jīng)濟(jì)和精神上都給了我最大的支持,在我遇到壓力時(shí)為我排憂解難,使得我更加有信心去克服生活中的重重困難。同時(shí)也非常謝謝大學(xué)期間的所有同學(xué),在學(xué)習(xí)上,我們互相交流專業(yè)知識(shí),提高雙方的學(xué)習(xí)效率,生活上,大家都經(jīng)常幫助我這個(gè)生活經(jīng)驗(yàn)不太豐富的同學(xué)。因?yàn)橛辛舜蠹?,我的大學(xué)生活變得更加豐富多彩。最后再次感謝所有幫助過我的人,未來也許我們做不一樣的方向,走不一樣的人生道路,但是無論如何,希望大家都能夠事事順心、前程似錦。參考文獻(xiàn)李曉芬,于志偉,樸紅波,羅賽,朱江.企業(yè)會(huì)議管理系統(tǒng)解決方案研究[J].信息技術(shù)與信息化,2019,No.11:13-15.范曉玲.基于J2EE的會(huì)議室管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦與電信,2016,No.10:22-23.張貴強(qiáng),王美玲.基于NodeJS的企業(yè)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)[J].信息技術(shù)與信息化,2019,No.12:58-60.鄭智方,魏愷樂,李彬,謝易壯.MySQL得到廣泛使用的原因以及它的嵌入應(yīng)用[J].科技風(fēng),2020,No.5:114.支馨悅.基于B/S的項(xiàng)目管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].信息系統(tǒng)工程,2020,No.2:48-49.郝梅,閆華,張東湖,王力華,黃鋒.淺談醫(yī)院會(huì)議管理系統(tǒng)的設(shè)計(jì)與應(yīng)用[J].醫(yī)院管理論壇,2017,No.10:58-61.ZhouF,ChushoT.Awebapplicationframeworkforreservationsystemsanditsreusabilityevaluation[C].ProceedingsoftheInternationalMultiConferenceofEngineersandComputerScientists,March.2009:18-20.BadawiUA,AlshabanahM,AlrajhiD.Developingandimplementingweb-basedonlineuniversityfacilitiesreservationsystem[J].InternationalJournalOfAppliedEngineeringResearch,2018,No.13:6700-6708.附錄:部分源程序清單//登陸注冊(cè)部分//jwt鑒權(quán)處理//會(huì)議室列表展示部分//會(huì)議室搜索功能//會(huì)議取消預(yù)訂//會(huì)議打卡//搶占會(huì)議室//與會(huì)人員接受或者拒絕邀請(qǐng)//添加與會(huì)人員功能//預(yù)定會(huì)議室
HYPERLINK如何給電腦重做系統(tǒng)給電腦重做系統(tǒng),自己學(xué)學(xué),可少花錢,哈哈[圖]
一、準(zhǔn)備工作:
如何重裝電腦系統(tǒng)
首先,在啟動(dòng)電腦的時(shí)候按住DELETE鍵進(jìn)入BIOS,選擇AdvancedBIOSFeatures選項(xiàng),按Enter鍵進(jìn)入設(shè)置程序。選擇FirstBootDevice選項(xiàng),然后按鍵盤上的PageUp或PageDown鍵將該項(xiàng)設(shè)置為CD-ROM,這樣就可以把系統(tǒng)改為光盤啟動(dòng)。
其次,退回到主菜單,保存BIOS設(shè)置。(保存方法是按下F10,然后再按Y鍵即可)
1.準(zhǔn)備好WindowsXPProfessional簡體中文版安裝光盤,并檢查光驅(qū)是否支持自啟動(dòng)。
2.可能的情況下,在運(yùn)行安裝程序前用磁盤掃描程序掃描所有硬盤檢查硬盤錯(cuò)誤并進(jìn)行修復(fù),否則安裝程序運(yùn)行時(shí)如檢查到有硬盤錯(cuò)誤即會(huì)很麻煩。
3.用紙張記錄安裝文件的產(chǎn)品密匙(安裝序列號(hào))。
4.可能的情況下,用驅(qū)動(dòng)程序備份工具(如:驅(qū)動(dòng)精靈2004V1.9Beta.exe)將原WindowsXP下的所有驅(qū)動(dòng)程序備份到硬盤上(如∶F:Drive)。最好能記下主板、網(wǎng)卡、顯卡等主要硬件的型號(hào)及生產(chǎn)廠家,預(yù)先下載驅(qū)動(dòng)程序備用。
5.如果你想在安裝過程中格式化C盤或D盤(建議安裝過程中格式化C盤),請(qǐng)備份C盤或D盤有用的數(shù)據(jù)。
二、用光盤啟動(dòng)系統(tǒng):
(如果你已經(jīng)知道方法請(qǐng)轉(zhuǎn)到下一步),重新啟動(dòng)系統(tǒng)并把光驅(qū)設(shè)為第一啟動(dòng)盤,保存設(shè)置并重啟。將XP安裝光盤放入光驅(qū),重新啟動(dòng)電腦。剛啟動(dòng)時(shí),當(dāng)出現(xiàn)如下圖所示時(shí)快速按下回車鍵,否則不能啟動(dòng)XP系統(tǒng)光盤安裝。如果你不知道具體做法請(qǐng)參考與這相同的-->如何進(jìn)入純DOS系統(tǒng):
光盤自啟動(dòng)后,如無意外即可見到安裝界面,將出現(xiàn)如下圖1所示
查看原圖
全中文提示,“要現(xiàn)在安裝WindowsXP,請(qǐng)按ENTER”,按回車鍵后,出現(xiàn)如下圖2所示
查看原圖
許可協(xié)議,這里沒有選擇的余地,按“F8”后如下圖3
HYPERLINK
查看原圖
這里用“向下或向上”方向鍵選擇安裝系統(tǒng)所用的分區(qū),如果你已格式化C盤請(qǐng)選擇C分區(qū),選擇好分區(qū)后按“Enter”鍵回車,出現(xiàn)下圖4所示
查看原圖
這里對(duì)所選分區(qū)可以進(jìn)行格式化,從而轉(zhuǎn)換文件系統(tǒng)格,或保存現(xiàn)有文件系統(tǒng),有多種選擇的余地,但要注意的是NTFS格式可節(jié)約磁盤空間提高安全性和減小磁盤碎片但同時(shí)存在很多問題MacOS和98/Me下看不到NTFS格式的分區(qū),在這里選“用FAT文件系統(tǒng)格式化磁盤分區(qū)(快),按“Enter”鍵回車,出現(xiàn)下圖5所示
查看原圖
格式化C盤的警告,按F鍵將準(zhǔn)備格式化c盤,出現(xiàn)下圖6所示
HYPERLINK
查看原圖
由于所選分區(qū)C的空間大于2048M(即2G),FAT文件系統(tǒng)不支持大于2048M的磁盤分區(qū),所以安裝程序會(huì)用FAT32文件系統(tǒng)格式對(duì)C盤進(jìn)行格式化,按“Enter”鍵回車,出現(xiàn)下圖7所示
查看原圖圖7中正在格式化C分區(qū);只有用光盤啟動(dòng)或安裝啟動(dòng)軟盤啟動(dòng)XP安裝程序,才能在安裝過程中提供格式化分區(qū)選項(xiàng);如果用MS-DOS啟動(dòng)盤啟動(dòng)進(jìn)入DOS下,運(yùn)行i386\winnt進(jìn)行安裝XP時(shí),安裝XP時(shí)沒有格式化分區(qū)選項(xiàng)。格式化C分區(qū)完成后,出現(xiàn)下圖8所示
被過濾廣告
查看原圖
圖8中開始復(fù)制文件,文件復(fù)制完后,安裝程序開始初始化Windows配置。然后系統(tǒng)將會(huì)自動(dòng)在15秒后重新啟動(dòng)。重新啟動(dòng)后,出現(xiàn)下圖9所示
HYPERLINK
查看原圖
9
查看原圖
過5分鐘后,當(dāng)提示還需33分鐘時(shí)將出現(xiàn)如下圖10
HYPERLINK
查看原圖
區(qū)域和語言設(shè)置選用默認(rèn)值就可以了,直接點(diǎn)“下一步”按鈕,出現(xiàn)如下圖11
查看原圖
這里輸入你想好的姓名和單位,這里的姓名是你以后注冊(cè)的用戶名,點(diǎn)“下一步”按鈕,出現(xiàn)如下圖12
HYPERLINK
查看原圖
如果你沒有預(yù)先記下產(chǎn)品密鑰(安裝序列號(hào))就大件事啦!這里輸入安裝序列號(hào),點(diǎn)“下一步”按鈕,出現(xiàn)如下圖13
HYPERLINK
查看原圖
安裝程序自動(dòng)為你創(chuàng)建又長又難看的計(jì)算機(jī)名稱,自己可任意更改,輸入兩次系統(tǒng)管理員密碼,請(qǐng)記住這個(gè)密碼,Administrator系統(tǒng)管理員在系統(tǒng)中具有最高權(quán)限,平時(shí)登陸系統(tǒng)不需要這個(gè)帳號(hào)。接著點(diǎn)“下一步”出現(xiàn)如下圖14
查看原圖
日期和時(shí)間設(shè)置不用講,選北京時(shí)間,點(diǎn)“下一步”出現(xiàn)如下圖15
HYPERLINK
查看原圖
開始安裝,復(fù)制系統(tǒng)文件、安裝網(wǎng)絡(luò)系統(tǒng),很快出現(xiàn)如下圖16
查看原圖
讓你選擇網(wǎng)絡(luò)安裝所用的方式,選典型設(shè)置點(diǎn)“下一步”出現(xiàn)如下圖17
HYPERLINK
查看原圖
點(diǎn)“下一步”出現(xiàn)如下圖18
HYPERLINK
查看原圖
繼續(xù)安裝,到這里后就不用你參與了,安裝程序會(huì)自動(dòng)完成全過程。安裝完成后自動(dòng)重新啟動(dòng),出現(xiàn)啟動(dòng)畫面,如下圖19
HYPERLINK
查看原圖
第一次啟動(dòng)需要較長時(shí)間,請(qǐng)耐心等候,接下來是歡迎使用畫面,提示設(shè)置系統(tǒng),如下圖20
查看原圖
點(diǎn)擊右下角的“下一步”按鈕,出現(xiàn)設(shè)置上網(wǎng)連接畫面,如下圖21所示
HYPERLINK
查看原圖
點(diǎn)擊右下角的“下一步”按鈕,出現(xiàn)設(shè)置上網(wǎng)連接畫面,如下圖21所示
查看原圖
這里建立的寬帶撥號(hào)連接,不會(huì)在桌面上建立撥號(hào)連接快捷方式,且默認(rèn)的撥號(hào)連接名稱為“我的ISP”(自定義除外);進(jìn)入桌面后通過連接向?qū)Ы⒌膶拵芴?hào)連接,在桌面上會(huì)建立撥號(hào)連接快捷方式,且默認(rèn)的撥號(hào)連接名稱為“寬帶連接”(自定義除外)。如果你不想在這里建立寬帶撥號(hào)連接,請(qǐng)點(diǎn)擊“跳過”按鈕。
在這里我先創(chuàng)建一個(gè)寬帶連接,選第一項(xiàng)“數(shù)字用戶線(ADSL)或電纜調(diào)制解調(diào)器”,點(diǎn)擊“下一步”按鈕,如下圖22所示
HYPERLINK
查看原圖
目前使用的電信或聯(lián)通(ADSL)住宅用戶都有帳號(hào)和密碼的,所以我選“是,我使用用戶名和密碼連接”,點(diǎn)擊“下一步”按鈕,如下圖23所示
查看原圖
輸入電信或聯(lián)通提供的帳號(hào)和密碼,在“你的ISP的服務(wù)名”處輸入你喜歡的名稱,該名稱作為撥號(hào)連接快捷菜單的名稱,如果留空系統(tǒng)會(huì)自動(dòng)創(chuàng)建名為“我的ISP”作為該連接的名稱,點(diǎn)擊“下一步”按鈕,如下圖24所示
查看原圖
已經(jīng)建立了撥號(hào)連接,微軟當(dāng)然想你現(xiàn)在就激活XP啦,不過即使不激活也有30天的試用期,又何必急呢?選擇“否,請(qǐng)等候幾天提醒我”,點(diǎn)擊“下一步”按鈕,如下圖25所示
HYPERLINK
查看原圖
輸入一個(gè)你平時(shí)用來登陸計(jì)算機(jī)的用戶名,點(diǎn)下一步出現(xiàn)如下圖26
HYPERLINK
查看原圖
點(diǎn)擊完成,就結(jié)束安裝。系統(tǒng)將注銷并重新以新用戶身份登陸。登陸桌面后如下圖27
HYPERLINK
查看原圖
六、找回常見的圖標(biāo)
在桌面上點(diǎn)開始-->連接到-->寬帶連接,如下圖32
查看原圖
左鍵點(diǎn)“寬帶連接”不放手,將其拖到桌面空白處,可見到桌面上多了一個(gè)“寬帶連接”快捷方式。結(jié)果如下圖33
HYPERLINK
查看原圖
然后,右鍵在桌面空白處點(diǎn)擊,在彈出的菜單中選“屬性”,即打開顯示“屬性窗口”如下圖34
查看原圖
在圖中單擊“桌面”選項(xiàng)卡,出現(xiàn)如下圖35
HYPERLINK
查看原圖
在圖中的左下部點(diǎn)擊“自定義桌面”按鈕,出現(xiàn)如下圖36
查看原圖
在圖中的上部,將“我的文檔”、“我的電腦”、“網(wǎng)上鄰居”和“InternetExplorer”四個(gè)項(xiàng)目前面的空格上打鉤,然后點(diǎn)“確定”,再“確定”,你將會(huì)看到桌面上多了你想要的圖標(biāo)。如下圖37
鍵盤上每個(gè)鍵作用!!!
F1幫助
F2改名
F3搜索
F4地址
F5刷新
F6切換
F10菜單
CTRL+A全選
CTRL+C復(fù)制
CTRL+X剪切
CTRL+V粘貼
CTRL+Z撤消
CTRL+O打開
SHIFT+DELETE永久刪除
DELETE刪除
ALT+ENTER屬性
ALT+F4關(guān)閉
CTRL+F4關(guān)閉
ALT+TAB切換
ALT+ESC切換
ALT+空格鍵窗口菜單
CTRL+ESC開始菜單
拖動(dòng)某一項(xiàng)時(shí)按CTRL復(fù)制所選項(xiàng)目
拖動(dòng)某一項(xiàng)時(shí)按CTRL+SHIFT創(chuàng)建快捷方式
將光盤插入到CD-ROM驅(qū)動(dòng)器時(shí)按SHIFT鍵阻止光盤自動(dòng)播放
Ctrl+1,2,3...切換到從左邊數(shù)起第1,2,3...個(gè)標(biāo)簽
Ctrl+A全部選中當(dāng)前頁面內(nèi)容
Ctrl+C復(fù)制當(dāng)前選中內(nèi)容
Ctrl+D打開“添加收藏”面版(把當(dāng)前頁面添加到收藏夾中)
Ctrl+E打開或關(guān)閉“搜索”側(cè)邊欄(各種搜索引擎可選)
Ctrl+F打開“查找”面版
Ctrl+G打開或關(guān)閉“簡易收集”面板
Ctrl+H打開“歷史”側(cè)邊欄
Ctrl+I打開“收藏夾”側(cè)邊欄/另:將所有垂直平鋪或水平平鋪或?qū)盈B的窗口恢復(fù)
Ctrl+K關(guān)閉除當(dāng)前和鎖定標(biāo)簽外的所有標(biāo)簽
Ctrl+L打開“打開”面版(可以在當(dāng)前頁面打開Iternet地址或其他文件...)
Ctrl+N新建一個(gè)空白窗口(可更改,Maxthon選項(xiàng)→標(biāo)簽→新建)
Ctrl+O打開“打開”面版(可以在當(dāng)前頁面打開Iternet地址或其他文件...)
Ctrl+P打開“打印”面板(可以打印網(wǎng)頁,圖片什么的...)
Ctrl+Q打開“添加到過濾列表”面板(將當(dāng)前頁面地址發(fā)送到過濾列表)
Ctrl+R刷新當(dāng)前頁面
Ctrl+S打開“保存網(wǎng)頁”面板(可以將當(dāng)前頁面所有內(nèi)容保存下來)
Ctrl+T垂直平鋪所有窗口
Ctrl+V粘貼當(dāng)前剪貼板內(nèi)的內(nèi)容
Ctrl+W關(guān)閉當(dāng)前標(biāo)簽(窗口)
Ctrl+X剪切當(dāng)前選中內(nèi)容(一般只用于文本操作)
Ctrl+Y重做剛才動(dòng)作(一般只用于文本操作)
Ctrl+Z撤消剛才動(dòng)作(一般只用于文本操作)
Ctrl+F4關(guān)閉當(dāng)前標(biāo)簽(窗口)
Ctrl+F5刷新當(dāng)前頁面
Ctrl+F6按頁面打開的先后時(shí)間順序向前切換標(biāo)簽(窗口)
Ctrl+F11隱藏或顯示菜單欄
Ctrl+Tab以小菜單方式向下切換標(biāo)簽(窗口)
Ctrl+Enter域名自動(dòng)完成[url=].**.com[/url](內(nèi)容可更改,Maxthon選項(xiàng)→地址欄→常規(guī))/另:當(dāng)輸入焦點(diǎn)在搜索欄中時(shí),為高亮關(guān)鍵字
Ctrl+拖曳保存該鏈接的地址或已選中的文本或指定的圖片到一個(gè)文件夾中(保存目錄可更改,Maxthon選項(xiàng)→保存)
Ctrl+小鍵盤'+'當(dāng)前頁面放大20%
Ctrl+小鍵盤'-'當(dāng)前頁面縮小20%
Ctrl+小鍵盤'*'恢復(fù)當(dāng)前頁面的縮放為原始大小
Ctrl+Alt+S自動(dòng)保存當(dāng)前頁面所有內(nèi)容到指定文件夾(保存路徑可更改,Maxthon選項(xiàng)→保存)
Ctrl+Shift+小鍵盤'+'所有頁面放大20%
Ctrl+Shift+小鍵盤'-'所有頁面縮小20%
Ctrl+Shift+F輸入焦點(diǎn)移到搜索欄
Ctrl+Shift+G關(guān)閉“簡易收集”面板
Ctrl+Shift+H打開并激活到你設(shè)置的主頁
Ctrl+Shift+N在新窗口中打開剪貼板中的地址,如果剪貼板中為文字,則調(diào)用搜索引擎搜索該文字(搜索引擎可選擇,Maxthon選項(xiàng)→搜索)
Ctrl+Shift+S打開“保存網(wǎng)頁”面板(可以將當(dāng)前頁面所有內(nèi)容保存下來,等同于Ctrl+S)
Ctrl+Shift+W關(guān)閉除鎖定標(biāo)簽外的全部標(biāo)簽(窗口)
Ctrl+Shift+F6按頁面打開的先后時(shí)間順序向后切換標(biāo)簽(窗口)
Ctrl+Shift+Tab以小菜單方式向上切換標(biāo)簽(窗口)
Ctrl+Shift+Enter域名自動(dòng)完成
Alt+1保存當(dāng)前表單
Alt+2保存為通用表單
Alt+A展開收藏夾列表
資源管理器
END顯示當(dāng)前窗口的底端
HOME顯示當(dāng)前窗口的頂端
NUMLOCK+數(shù)字鍵盤的減號(hào)(-)折疊所選的文件夾
NUMLOCK+數(shù)字鍵盤的加號(hào)(+)顯示所選文件夾的內(nèi)容
NUMLOCK+數(shù)字鍵盤的星號(hào)(*)顯示所選文件夾的所有子文件夾
向左鍵當(dāng)前所選項(xiàng)處于展開狀態(tài)時(shí)折疊該項(xiàng),或選定其父文件夾
向右鍵當(dāng)前所選項(xiàng)處于折疊狀態(tài)時(shí)展開該項(xiàng),或選定第一個(gè)子文件夾
自然鍵盤
【窗口】顯示或隱藏“開始”菜單
【窗口】+F1幫助
【窗口】+D顯示桌面
【窗口】+R打開“運(yùn)行”
【窗口】+E打開“我的電腦”
【窗口】+F搜索文件或文件夾
【窗口】+U打開“工具管理器”
【窗口】+BREAK顯示“系統(tǒng)屬性”
【窗口】+TAB在打開的項(xiàng)目之間切換
輔助功能
按右邊的SHIFT鍵八秒鐘切換篩選鍵的開和關(guān)
按SHIFT五次切換粘滯鍵的開和關(guān)
按NUMLOCK五秒鐘切換切換鍵的開和關(guān)
左邊的ALT+左邊的SHIFT+NUMLOCK切換鼠標(biāo)鍵
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版企業(yè)借款擔(dān)保合同范本
- 2025年度云計(jì)算數(shù)據(jù)中心建設(shè)與運(yùn)營合同3篇
- 渭南職業(yè)技術(shù)學(xué)院《學(xué)科綜合訓(xùn)練》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五版反擔(dān)保合同編制與合同履行規(guī)范3篇
- 2024年適用各類借款協(xié)議標(biāo)準(zhǔn)格式三例版
- 濰坊工商職業(yè)學(xué)院《嵌入式系統(tǒng)與開發(fā)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024版電梯施工安全協(xié)議書范本
- 二零二五年度環(huán)保產(chǎn)業(yè)股票質(zhì)押管理合同3篇
- 2024版環(huán)保新材料研發(fā)與生產(chǎn)合作協(xié)議
- 二零二五版建筑材料居間代理合同規(guī)范文本2篇
- 分期還款協(xié)議書
- 小區(qū)住戶手冊(cè)范本
- 《鄭伯克段于鄢》-完整版課件
- 土壤肥料全套課件
- 畢業(yè)生延期畢業(yè)申請(qǐng)表
- 學(xué)校6S管理制度
- 肽的健康作用及應(yīng)用課件
- T.C--M-ONE效果器使用手冊(cè)
- 8小時(shí)等效A聲級(jí)計(jì)算工具
- 人教版七年級(jí)下冊(cè)數(shù)學(xué)計(jì)算題300道
- 社會(huì)實(shí)踐登記表
評(píng)論
0/150
提交評(píng)論