




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一節(jié)、項(xiàng)目需求理解 101.系統(tǒng)功能性需求分析 10(1)功能劃分 10(2)功能描述 101、注冊(cè)登錄業(yè)務(wù)流程重構(gòu) 101、用戶注冊(cè)時(shí)選擇第三方登錄,進(jìn)入綁定手機(jī)號(hào)頁(yè)面; 112、歷史登錄賬號(hào) 123、游客賬號(hào)取消 144、根據(jù)登錄設(shè)備查找歷史賬號(hào) 155、注銷賬號(hào)驗(yàn)證 166、VIP相關(guān)調(diào)整 177、關(guān)于我們 218、兼容性問題 239、買錯(cuò)課本優(yōu)化 2310、支付優(yōu)化 2311、包月會(huì)員策略調(diào)整 2412、視頻音頻課下架開關(guān) 2413、單詞增加關(guān)聯(lián)詞組 2414、教輔綁定改版 252.系統(tǒng)非功能性需求分析 27(1)質(zhì)量需求 27(2) App崩潰率低于0.5% 27(2)性能需求 28(3)安全需求 28(4)兼容性需求 29(5)其他需求 29(6)技術(shù)服務(wù)需求 291、產(chǎn)品交付 292、產(chǎn)品驗(yàn)收 303、項(xiàng)目進(jìn)度管理 304、運(yùn)營(yíng)維護(hù) 305、系統(tǒng)維護(hù) 30(7)業(yè)務(wù)運(yùn)營(yíng)及維護(hù)工作 30(8)項(xiàng)目安全、合規(guī)相關(guān)工作 31(9)目標(biāo)前景 313.項(xiàng)目重點(diǎn)難點(diǎn)分析 31(1)系統(tǒng)功能對(duì)接 32資源(Resources) 32(2)接口規(guī)范性設(shè)計(jì) 40(3)接口定義約定 40(4)業(yè)務(wù)消息約定 41(5)響應(yīng)碼規(guī)則約定 43(6)數(shù)據(jù)管理 44業(yè)務(wù)數(shù)據(jù)檢查 44(7)接口的可擴(kuò)展性規(guī)劃與設(shè)計(jì) 45(8)系統(tǒng)性能優(yōu)化 46一、影響Linux性能的各種因素 461、系統(tǒng)硬件資源 46(1)CPU 46(2)內(nèi)存 46(3)磁盤IO 46(4)網(wǎng)絡(luò)帶寬 472、操作系統(tǒng)相關(guān)資源 47(1)系統(tǒng)安裝優(yōu)化 47(2)內(nèi)核參數(shù)優(yōu)化 47(3)文件系統(tǒng)優(yōu)化 473、程序問題 47二、Linux性能優(yōu)化工具 471、cpu性能評(píng)估工具 48(3)uptime命令 502、內(nèi)存性能評(píng)估 51(1)free命令 51free命令是監(jiān)控linux內(nèi)存使用狀況最常用的指令 51(2)sar/pidstat 513、磁盤性能評(píng)估 514、網(wǎng)絡(luò)性能評(píng)估 51三、系統(tǒng)性能分析標(biāo)準(zhǔn) 52第二節(jié)、方案整體設(shè)計(jì) 531.項(xiàng)目概述 532.項(xiàng)目總體實(shí)施原則 532.采用“兩手抓”的方針,一手抓開發(fā)、一手抓使用 543.?dāng)?shù)據(jù)同程序同等重要 543.項(xiàng)目總體推進(jìn)計(jì)劃 554.項(xiàng)目總體設(shè)計(jì)原則 55(1)建立規(guī)范 55(2)字體規(guī)范 56(3)設(shè)計(jì)原則 57(4)組建規(guī)范 595.項(xiàng)目建設(shè)思路 606.項(xiàng)目實(shí)施策略 61第三節(jié)、系統(tǒng)功能 631.平臺(tái)整體架構(gòu)圖 632.平臺(tái)總體功能圖 643.功能設(shè)計(jì)原則 66(1)單一職責(zé)原則(LSP) 66(2)里氏替換原則(LSP) 66(3)依賴倒置原則(DIP) 67(4)接口隔離原則(ISP) 67(5)迪米特法則(LOD) 68(6)開閉原則(OCP) 684.功能安全性設(shè)計(jì) 70(1)“嚴(yán)禁”原則 70嚴(yán)禁使用明文或在程序/腳本文件中寫死密碼 70(2)必須原則 71必須提供應(yīng)用系統(tǒng)用戶的身份識(shí)別功能 71(3)盡可能原則 73盡可能實(shí)現(xiàn)用戶的權(quán)限最小化 735.總體設(shè)計(jì)階段 756.詳細(xì)設(shè)計(jì)階段 757.系統(tǒng)開發(fā)階段 768.系統(tǒng)實(shí)施和試運(yùn)行階段 769.項(xiàng)目驗(yàn)收階段 76(1)功能驗(yàn)收標(biāo)準(zhǔn) 77(2)非功能驗(yàn)收標(biāo)準(zhǔn) 77(3)分類標(biāo)準(zhǔn) 78功能錯(cuò)誤級(jí)別分類 793.易用性測(cè)試:軟件中各個(gè)模塊的界面風(fēng)格保持一致。 80第四節(jié)、系統(tǒng)性能 821.核心設(shè)計(jì)原則 82(1)功能性 82(2)可靠性 83(3)可操作性 84(4)高效性 85(5)可維護(hù)性 85(6)可擴(kuò)展性 86(7)標(biāo)準(zhǔn)化 87(8)規(guī)范性 88(9)先進(jìn)性 88(10)前瞻性 89(11)安全性 89(12)高效性 90(13)實(shí)用性 90(14)健壯性 91(15)靈活性 912.系統(tǒng)開發(fā)工具 92(1)Java 921.簡(jiǎn)單性 922.面向?qū)ο?933.分布性 934.編譯和解釋性 945.穩(wěn)健性 946.安全性 957.可移植性 968.高性能 969.多線程性 9710.動(dòng)態(tài)性 97(2)Objective-C 98關(guān)于helloworld的更多擴(kuò)展內(nèi)容 100(3)JS 101(4)MySQL 1033.技術(shù)實(shí)施安全性 104(1)輸入驗(yàn)證和數(shù)據(jù)合法性校驗(yàn) 105避免SQL注入 105(2)聲明和初始化 107避免類初始化的相互依賴 107(3)表達(dá)式 109不可忽略方法的返回值 109(4)數(shù)字類型和操作 110//handleerror 111(5)類和方法操作 111數(shù)據(jù)成員聲明為私有,提供可訪問的包裝方法 111(6)異常處理 117//此處InterruptedException被忽略 117(7)多線程編程 120確保共享變量的可見性 120(8)輸入輸出 124程序終止前刪除臨時(shí)文件 124(9)序列化 125不要序列化未加密的敏感數(shù)據(jù) 1254.系統(tǒng)安全方案 127(3)操作系統(tǒng)安全:在平臺(tái)操作系統(tǒng)安全上可以采取的措施有: 128選擇安全等級(jí)高的操作系統(tǒng) 1285.網(wǎng)絡(luò)安全方案 1296.應(yīng)用安全方案 130(1)口令機(jī)制,即通過用戶輸入口令進(jìn)行身份認(rèn)證。 130(4)使用數(shù)字證書來進(jìn)行用戶的身份認(rèn)證。 1307.密鑰管理 132第一節(jié)、項(xiàng)目需求理解1.系統(tǒng)功能性需求分析(1)功能劃分本次開發(fā)任務(wù)對(duì)如下功能模塊進(jìn)行功能的新增和調(diào)整:注冊(cè)登錄業(yè)務(wù)流程重構(gòu)、賬號(hào)的數(shù)據(jù)操作權(quán)限調(diào)整、頁(yè)面的優(yōu)化和兼容性調(diào)整、支付優(yōu)化、會(huì)員策略調(diào)整、視頻音頻課下架開關(guān)、單詞增加關(guān)聯(lián)詞組、教輔綁定改版。(2)功能描述1、注冊(cè)登錄業(yè)務(wù)流程重構(gòu)應(yīng)用場(chǎng)景針對(duì)新用戶,用戶在進(jìn)行賬號(hào)注冊(cè)時(shí),強(qiáng)制綁定手機(jī)號(hào);針對(duì)老用戶,如果沒有綁定過手機(jī)號(hào)的用戶,進(jìn)入APP時(shí),需要彈窗提示用戶去進(jìn)行手機(jī)號(hào)綁定,才可以使用APP功能;需求分析需求實(shí)現(xiàn)用戶注冊(cè)時(shí)選擇第三方登錄,進(jìn)入綁定手機(jī)號(hào)頁(yè)面;2、綁定手機(jī)號(hào)頁(yè)面,“跳過”按鈕去掉,強(qiáng)制用戶進(jìn)行手機(jī)號(hào)綁定;歷史登錄賬號(hào)應(yīng)用場(chǎng)景用戶可以通過歷史登錄賬號(hào),查看登錄過人教口語(yǔ)APP的全部賬號(hào);需求分析在“我的”頁(yè)面新增歷史登錄賬號(hào)功能;需求實(shí)現(xiàn)在“我的”頁(yè)面新增“歷史登錄賬號(hào)”功能欄,點(diǎn)擊進(jìn)入歷史登錄賬號(hào)頁(yè)面,可查看歷史登錄賬號(hào)列表,顯示歷史登錄賬號(hào)和對(duì)應(yīng)登錄設(shè)備;游客賬號(hào)取消應(yīng)用場(chǎng)景針對(duì)新用戶進(jìn)入APP的賬號(hào)必須要先走注冊(cè)登錄流程,APP不在支持游客賬號(hào);針對(duì)存在注冊(cè)賬號(hào)和游客賬號(hào)兩種權(quán)限的老用戶,進(jìn)行賬號(hào)數(shù)據(jù)的合并;需求分析游客賬號(hào)取消;需求實(shí)現(xiàn)不提供游客查看功能,關(guān)閉游客賬號(hào)權(quán)限,進(jìn)入APP必須注冊(cè);根據(jù)登錄設(shè)備查找歷史賬號(hào)應(yīng)用場(chǎng)景根據(jù)用戶登錄端口的不同,管理后臺(tái)需實(shí)現(xiàn)可查看登錄賬號(hào)所使用的設(shè)備,并且通過用戶的登錄設(shè)備可查詢,此設(shè)備歷史登錄過的賬號(hào);需求分析需求實(shí)現(xiàn)實(shí)現(xiàn)賬號(hào)、設(shè)備雙向查找;注銷賬號(hào)驗(yàn)證應(yīng)用場(chǎng)景在用戶注銷賬號(hào)時(shí),增加手機(jī)驗(yàn)證功能,需要用戶發(fā)送并正確填寫驗(yàn)證碼,才可以注銷賬號(hào);需求分析注銷賬號(hào),增加手機(jī)驗(yàn)證功能;需求實(shí)現(xiàn)用戶進(jìn)入注銷賬號(hào)頁(yè),點(diǎn)擊“確認(rèn)注銷”按鈕后,增加手機(jī)驗(yàn)證功能;VIP相關(guān)調(diào)整應(yīng)用場(chǎng)景我的頁(yè)面,非會(huì)員不顯示VIP標(biāo)識(shí);VIP頁(yè)面,調(diào)整非會(huì)員的VIP卡片;需求分析頁(yè)面樣式調(diào)整;需求實(shí)現(xiàn)我的頁(yè)面,非會(huì)員不顯示VIP標(biāo)識(shí);VIP頁(yè)面,調(diào)整非會(huì)員的VIP卡片;關(guān)于我們應(yīng)用場(chǎng)景刪除客服相關(guān)文案;需求分析頁(yè)面樣式調(diào)整;需求實(shí)現(xiàn)刪除客服相關(guān)文案;兼容性問題ipad13單詞展示的兼容問題,android首頁(yè)和我的頁(yè)面兼容問題,大字體兼容問題;買錯(cuò)課本優(yōu)化在購(gòu)買課本時(shí),新增新手引導(dǎo)的引導(dǎo)頁(yè),降低用戶買錯(cuò)課本的操作,同時(shí)考慮到用戶交互的友好性,允許用戶跳過;針對(duì)買錯(cuò)課本的用戶,通過后臺(tái)配置支持策略,用戶可查看買錯(cuò)課本后,APP支持的對(duì)應(yīng)策略,進(jìn)行對(duì)應(yīng)操作;支付優(yōu)化單科、會(huì)員、包月會(huì)員鑒權(quán)流程與權(quán)限時(shí)間調(diào)整,優(yōu)化前后端校驗(yàn)機(jī)制;帳號(hào)歷史權(quán)限、歷史訂單記錄;定時(shí)任務(wù)新增報(bào)警機(jī)制,增加執(zhí)行日志,代碼優(yōu)化;客戶端訂單與權(quán)限合并,前后端權(quán)限一致。增強(qiáng)客戶端訂單可讀性,增加兌換碼、激活碼訂單、管理員授權(quán)內(nèi)容;訂單權(quán)限校驗(yàn)優(yōu)化,異常訂單處理流程(自動(dòng)續(xù)費(fèi)、訂單期間無權(quán)限情況);11、包月會(huì)員策略調(diào)整到期短信提示功能,微信續(xù)費(fèi)簽約,1天內(nèi)未完成支付發(fā)送短息提醒,超X天未完成支付則解約;微信續(xù)費(fèi)權(quán)限延時(shí)2天(不疊加),蘋果續(xù)費(fèi)新增過渡期;增加解約策略:注銷賬號(hào)自動(dòng)解約,包月會(huì)員購(gòu)買會(huì)員產(chǎn)品時(shí)詢問是否解約。新增解約入口;客戶端新增簽約狀態(tài),后臺(tái)優(yōu)化簽約狀態(tài)和記錄;鑒權(quán)流程及權(quán)限時(shí)間調(diào)整;12、視頻音頻課下架開關(guān)新用戶無法看到入口;老用戶可査看入口,不可購(gòu)買;13、單詞增加關(guān)聯(lián)詞組客戶端增加關(guān)聯(lián)詞組模塊、如近義詞、反義詞、相關(guān)短語(yǔ)等。后臺(tái)對(duì)單詞內(nèi)容增加詞組字段及相關(guān)編輯功能。例句支持多個(gè)展示;14、教輔綁定改版教輔首次綁定、更換改版;教輔分冊(cè)次統(tǒng)計(jì)埋點(diǎn),記錄綁定數(shù)據(jù);針對(duì)上述需求,首先需要經(jīng)雙方協(xié)調(diào),形成《需求調(diào)研計(jì)劃》及《需求調(diào)研大綱》,確定準(zhǔn)備工作、需求調(diào)研的內(nèi)容、方法方式以及人員和日程安排等內(nèi)容,經(jīng)雙方同意后按此計(jì)劃開始調(diào)研。調(diào)研正式開始前項(xiàng)目開發(fā)組應(yīng)檢查所有必要的準(zhǔn)備工作已經(jīng)圓滿完成。項(xiàng)目開發(fā)組根據(jù)調(diào)研中系統(tǒng)實(shí)際技術(shù)需求和各個(gè)子系統(tǒng)的業(yè)務(wù)需求,編寫并向工程領(lǐng)導(dǎo)小組提交符合CMMILEVEL3規(guī)范要求的《系統(tǒng)需求分析報(bào)告》,并由項(xiàng)目組評(píng)審,不合格的部分進(jìn)一步完善調(diào)研;評(píng)審?fù)ㄟ^后由雙方共同簽署評(píng)審意見,并正式生效。對(duì)于軟件生產(chǎn)過程而言,需求階段是整個(gè)過程中最重要的階段,需求分析成果的好壞將直接導(dǎo)致項(xiàng)目的成功與否,因此合作雙方在此階段多投入是值得的。而且一旦評(píng)審?fù)ㄟ^并生效,則需求報(bào)告將成為系統(tǒng)的設(shè)計(jì)、開發(fā)、測(cè)試、實(shí)施試運(yùn)行和項(xiàng)目驗(yàn)收的基本依據(jù)之一,因此原則上用戶需求將不再因?yàn)槠渌蛩氐母淖兌兏?,如需進(jìn)行此種變更,需經(jīng)雙方項(xiàng)目負(fù)責(zé)人協(xié)商確定。
2.系統(tǒng)非功能性需求分析(1)質(zhì)量需求代碼質(zhì)量需求(1) 對(duì)于重構(gòu)或新功能開發(fā),要求使用行業(yè)內(nèi)通用的編碼規(guī)范進(jìn)行約束。(2) 代碼應(yīng)具有良好可讀性、可擴(kuò)展性、可維護(hù)性以及可重用性和可測(cè)試性。(3) 要求以自動(dòng)化代碼質(zhì)量檢查和團(tuán)隊(duì)成員共同代碼走查相結(jié)合的方式,保證所有上線的代碼都經(jīng)過機(jī)器與人工多個(gè)環(huán)節(jié)的檢查。(4) 基于git進(jìn)行代碼版本管理,代碼分支劃分科學(xué)、合理,確保代碼安全、穩(wěn)定。服務(wù)質(zhì)量需求(1) 本期開發(fā)內(nèi)容無功能問題,項(xiàng)目整體功能測(cè)試用例通過率高于95%(2) App崩潰率低于0.5%(3) 故障修復(fù)需在1小時(shí)內(nèi)做出明確響應(yīng)和安排,在4小時(shí)內(nèi)為甲方提供維修服務(wù),故障修復(fù)時(shí)間不得超過36小時(shí)。若需要現(xiàn)場(chǎng)服務(wù)才能解決問題,應(yīng)在8小時(shí)內(nèi)到達(dá)用戶現(xiàn)場(chǎng)。(2)性能需求(1) 7期開發(fā)期間,需要對(duì)人教口語(yǔ)app分階段優(yōu)化產(chǎn)品系統(tǒng)架構(gòu)、技術(shù)架構(gòu)、應(yīng)用架構(gòu),以降低用戶增長(zhǎng)對(duì)原系統(tǒng)帶來的性能和安全風(fēng)險(xiǎn)以及資源成本。(2) 為保證口語(yǔ)系統(tǒng)在開學(xué)季高并發(fā)下的用戶體驗(yàn),滿足在現(xiàn)有2臺(tái)8cl6g應(yīng)用服務(wù)器3臺(tái)8cl6g數(shù)據(jù)庫(kù)(讀寫分離一寫兩讀)條件下接口達(dá)到lOOOqps并且響應(yīng)時(shí)間在1s。(3)安全需求漏洞修復(fù)應(yīng)按照甲方需求按時(shí)完成人教口語(yǔ)App的漏洞修復(fù)工作,并配合完成漏洞修復(fù)驗(yàn)證工作。等保測(cè)評(píng)應(yīng)按照甲方要求按時(shí)配合完成人教口語(yǔ)App以及后臺(tái)服務(wù)的年度等保測(cè)評(píng)工作,包括但不限于安全內(nèi)容整改、資料撰寫、人員配合等。App安全認(rèn)證應(yīng)按照甲方要求按時(shí)配合完成App安全認(rèn)證相關(guān)工作,包括但不限于安全內(nèi)容整改、資料撰寫、人員配合等。(4)兼容性需求乙方應(yīng)在七期開發(fā)期間,確保應(yīng)用軟件在實(shí)際用戶toplO的機(jī)型、分辨率、操作系統(tǒng)、新出設(shè)備和操作系統(tǒng)上,功能測(cè)試用例通過率高于95%,app崩潰率低于0.5%,兼容測(cè)試用例通過率高于90%;(5)其他需求數(shù)據(jù)支撐需求,包括但不限于財(cái)務(wù)系統(tǒng)、賬號(hào)中心、大數(shù)據(jù)平臺(tái)等。維保服務(wù)需求,軟件驗(yàn)收合格之日起向甲方提供12個(gè)月的維保服務(wù)。在維保期間,乙方承諾向甲方提供免費(fèi)的應(yīng)用軟件的答疑、修復(fù)、技術(shù)支持及免費(fèi)版本升級(jí),以保證甲方的正常使用及整個(gè)系統(tǒng)正常運(yùn)行。(6)技術(shù)服務(wù)需求1、產(chǎn)品交付人教口語(yǔ)存在多個(gè)版本交付情況,在每個(gè)版本交付前需要交付人充分測(cè)試,包含單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試,要求制定測(cè)試計(jì)劃、編寫測(cè)試用例、出具相應(yīng)的測(cè)試報(bào)告,確保交付物質(zhì)量。2、產(chǎn)品驗(yàn)收開發(fā)完成后,需要在驗(yàn)收時(shí)提供第三方測(cè)試公司出具的測(cè)試報(bào)告,測(cè)試報(bào)告相關(guān)指標(biāo)需要滿足招標(biāo)文件技術(shù)需求的各項(xiàng)要求。3、項(xiàng)目進(jìn)度管理項(xiàng)目在開發(fā)階段,每個(gè)開發(fā)任務(wù)有明確的版本計(jì)劃和上線時(shí)間點(diǎn),進(jìn)度落實(shí)到個(gè)人。以周會(huì)或雙周會(huì)對(duì)項(xiàng)目進(jìn)度進(jìn)行校準(zhǔn)。4、運(yùn)營(yíng)維護(hù)支持產(chǎn)品的運(yùn)營(yíng)需求,如財(cái)務(wù)對(duì)賬、運(yùn)營(yíng)活動(dòng)等相關(guān)產(chǎn)品數(shù)據(jù)的提供。支持客服反饋的技術(shù)答疑。5、系統(tǒng)維護(hù)開發(fā)完成后,交付方需要在維保期內(nèi)提供bug修改、運(yùn)營(yíng)維護(hù)等相關(guān)服務(wù)。(7)業(yè)務(wù)運(yùn)營(yíng)及維護(hù)工作日常功能改進(jìn)、bug修復(fù);運(yùn)營(yíng)活動(dòng)支持;對(duì)賬報(bào)表、數(shù)據(jù)統(tǒng)計(jì)、埋點(diǎn)管理等日常維護(hù)工作;配合數(shù)字公司要求,進(jìn)行相關(guān)系統(tǒng)測(cè)試、代碼及漏洞修復(fù)工作;(8)項(xiàng)目安全、合規(guī)相關(guān)工作配合等保、安全認(rèn)證相關(guān)合規(guī)工作的資料編撰,功能開發(fā)、修復(fù)和升級(jí)。(9)目標(biāo)前景1.能夠如期完成約定的委托開發(fā)任務(wù),確保人教口語(yǔ)業(yè)務(wù)穩(wěn)定運(yùn)行的持續(xù)性和連貫性。2.提供成熟可行的移動(dòng)端產(chǎn)品運(yùn)營(yíng)咨詢服務(wù)。3.提供業(yè)務(wù)相關(guān)的數(shù)據(jù)支持、技術(shù)咨詢支持。3.項(xiàng)目重點(diǎn)難點(diǎn)分析本次開發(fā)任務(wù)中,主要包含對(duì)現(xiàn)有系統(tǒng)的升級(jí)優(yōu)化和新功能的開發(fā),重點(diǎn)難點(diǎn)如下:(1)系統(tǒng)功能對(duì)接要求開發(fā)團(tuán)隊(duì)在對(duì)現(xiàn)有系統(tǒng)進(jìn)行需求理解的基礎(chǔ)上進(jìn)行系統(tǒng)優(yōu)化,并在此基礎(chǔ)上開發(fā)新功能,開發(fā)團(tuán)隊(duì)必須具備新老系統(tǒng)對(duì)接的開發(fā)能力;系統(tǒng)接口標(biāo)準(zhǔn):RESTful架構(gòu),就是目前最流行的一種互聯(lián)網(wǎng)軟件架構(gòu)。它結(jié)構(gòu)清晰、符合標(biāo)準(zhǔn)、易于理解、擴(kuò)展方便,所以正得到越來越多網(wǎng)站的采用。REST(RepresentationalStateTransfer),REST的名稱"表現(xiàn)層狀態(tài)轉(zhuǎn)化"中,省略了主語(yǔ)。“表現(xiàn)層"其實(shí)指的是"資源”(Resources)的"表現(xiàn)層"。資源(Resources)所謂"資源",就是網(wǎng)絡(luò)上的一個(gè)實(shí)體,或者說是網(wǎng)絡(luò)上的一個(gè)具體信息。它可以是一段文本、一張圖片、一首歌曲、一種服務(wù),總之就是一個(gè)具體的實(shí)在。你可以用一個(gè)URI(統(tǒng)一資源定位符)指向它,每種資源對(duì)應(yīng)一個(gè)特定的URI。要獲取這個(gè)資源,訪問它的URI就可以,因此URI就成了每一個(gè)資源的地址或獨(dú)一無二的識(shí)別符。所謂"上網(wǎng)",就是與互聯(lián)網(wǎng)上一系列的"資源"互動(dòng),調(diào)用它的URI。表現(xiàn)層(Representation)"資源"是一種信息實(shí)體,它可以有多種外在表現(xiàn)形式。我們把"資源"具體呈現(xiàn)出來的形式,叫做它的"表現(xiàn)層"(Representation)。比如,文本可以用txt格式表現(xiàn),也可以用HTML格式、XML格式、JSON格式表現(xiàn),甚至可以采用二進(jìn)制格式;圖片可以用JPG格式表現(xiàn),也可以用PNG格式表現(xiàn)。URL只代表資源的實(shí)體,不代表它的形式。嚴(yán)格地說,有些網(wǎng)址最后的".html"后綴名是不必要的,因?yàn)檫@個(gè)后綴名表示格式,屬于"表現(xiàn)層"范疇,而URI應(yīng)該只代表"資源"的位置。它的具體表現(xiàn)形式,應(yīng)該在HTTP請(qǐng)求的頭信息中用Accept和Content-Type字段指定,這兩個(gè)字段才是對(duì)"表現(xiàn)層"的描述。狀態(tài)轉(zhuǎn)化(StateTransfer)訪問一個(gè)網(wǎng)站,就代表了客戶端和服務(wù)器的一個(gè)互動(dòng)過程。在這個(gè)過程中,勢(shì)必涉及到數(shù)據(jù)和狀態(tài)的變化?;ヂ?lián)網(wǎng)通信協(xié)議HTTP協(xié)議,是一個(gè)無狀態(tài)協(xié)議。這意味著,所有的狀態(tài)都保存在服務(wù)器端。因此,如果客戶端想要操作服務(wù)器,必須通過某種手段,讓服務(wù)器端發(fā)生"狀態(tài)轉(zhuǎn)化"(StateTransfer)。而這種轉(zhuǎn)化是建立在表現(xiàn)層之上的,所以就是"表現(xiàn)層狀態(tài)轉(zhuǎn)化"??蛻舳擞玫降氖侄危荒苁荋TTP協(xié)議。具體來說,就是HTTP協(xié)議里面,四個(gè)表示操作方式的動(dòng)詞:GET、POST、PUT、DELETE。四個(gè)表示操作方式對(duì)應(yīng)對(duì)應(yīng)四種基本操作GET獲取資源POST新建資源PUT更新資源DELETE刪除資源綜合上面,RESTful架構(gòu)的內(nèi)容:每一個(gè)URI代表一種資源;客戶端和服務(wù)器之間,傳遞這種資源的某種表現(xiàn)層;客戶端通過四個(gè)HTTP動(dòng)詞,對(duì)服務(wù)器端資源進(jìn)行操作,實(shí)現(xiàn)"表現(xiàn)層狀態(tài)轉(zhuǎn)化"。RESTfulAPI設(shè)計(jì)API與用戶的通信協(xié)議采用HTTPs協(xié)議域名用api關(guān)鍵字標(biāo)識(shí)接口url示例:#應(yīng)該盡量將API部署在專用域名之下。#表示前后端數(shù)據(jù)交互#應(yīng)該盡量將API部署在專用域名之下。/api/路徑路徑又稱"終點(diǎn)"(endpoint),表示API的具體網(wǎng)址。在RESTful架構(gòu)中,每個(gè)網(wǎng)址代表一種資源(resource),所以網(wǎng)址中不能有動(dòng)詞,只能有名詞,而且所用的名詞往往與數(shù)據(jù)庫(kù)的表格名對(duì)應(yīng)。HTTP動(dòng)詞對(duì)于資源的具體操作類型,由HTTP動(dòng)詞表示。示例:GET(SELECT):從服務(wù)器取出資源(一項(xiàng)或多項(xiàng))。POST(CREATE):在服務(wù)器新建一個(gè)資源。PUT(UPDATE):在服務(wù)器更新資源(客戶端提供改變后的完整資源)。PATCH(UPDATE):在服務(wù)器更新資源(客戶端提供改變的屬性)。DELETE(DELETE):從服務(wù)器刪除資源。不常用HEAD:獲取資源的元數(shù)據(jù)。OPTIONS:獲取信息,關(guān)于資源的哪些屬性是客戶端可以改變的。狀態(tài)碼示例:200OK-[GET]:服務(wù)器成功返回用戶請(qǐng)求的數(shù)據(jù),該操作是冪等的(Idempotent)。201CREATED-[POST/PUT/PATCH]:用戶新建或修改數(shù)據(jù)成功。202Accepted-[*]:表示一個(gè)請(qǐng)求已經(jīng)進(jìn)入后臺(tái)排隊(duì)(異步任務(wù))204NOCONTENT-[DELETE]:用戶刪除數(shù)據(jù)成功。301:永久重定向302:暫時(shí)重定向400INVALIDREQUEST-[POST/PUT/PATCH]:用戶發(fā)出的請(qǐng)求有錯(cuò)誤,服務(wù)器沒有進(jìn)行新建或修改數(shù)據(jù)的操作,該操作是冪等的。401Unauthorized-[*]:表示用戶沒有權(quán)限(令牌、用戶名、密碼錯(cuò)誤)。403Forbidden-[*]表示用戶得到授權(quán)(與401錯(cuò)誤相對(duì)),但是訪問是被禁止的。404NOTFOUND-[*]:用戶發(fā)出的請(qǐng)求針對(duì)的是不存在的記錄,服務(wù)器沒有進(jìn)行操作,該操作是冪等的。406NotAcceptable-[GET]:用戶請(qǐng)求的格式不可得(比如用戶請(qǐng)求JSON格式,但是只有XML格式)。410Gone-[GET]:用戶請(qǐng)求的資源被永久刪除,且不會(huì)再得到的。422Unprocesableentity-[POST/PUT/PATCH]當(dāng)創(chuàng)建一個(gè)對(duì)象時(shí),發(fā)生一個(gè)驗(yàn)證錯(cuò)誤。500INTERNALSERVERERROR-[*]:服務(wù)器發(fā)生錯(cuò)誤,用戶將無法判斷發(fā)出的請(qǐng)求是否成功。錯(cuò)誤處理狀態(tài)碼是4xx時(shí),應(yīng)返回錯(cuò)誤信息,error當(dāng)做key。示例:{error:"InvalidAPIkey"}返回結(jié)果格式盡量采用json格式避免XML格式示例:GET/collection:返回資源對(duì)象的列表(數(shù)組)GET/collection/resource:返回單個(gè)資源對(duì)象POST/collection:返回新生成的資源對(duì)象PUT/collection/resource:返回完整的資源對(duì)象PATCH/collection/resource:返回完整的資源對(duì)象DELETE/collection/resource:返回一個(gè)空文檔(2)接口規(guī)范性設(shè)計(jì)系統(tǒng)平臺(tái)中的接口眾多,依賴關(guān)系復(fù)雜,通過接口交換的數(shù)據(jù)與接口調(diào)用必須遵循統(tǒng)一的接口模型進(jìn)行設(shè)計(jì)。接口模型除了遵循工程統(tǒng)一的數(shù)據(jù)標(biāo)準(zhǔn)和接口規(guī)范標(biāo)準(zhǔn),實(shí)現(xiàn)接口規(guī)范定義的功能外,需要從數(shù)據(jù)管理、完整性管理、接口安全、接口的訪問效率、性能以及可擴(kuò)展性多個(gè)方面設(shè)計(jì)接口規(guī)格。(3)接口定義約定客戶端與系統(tǒng)平臺(tái)以及系統(tǒng)平臺(tái)間的接口消息協(xié)議采用基于HTTP協(xié)議的REST風(fēng)格接口實(shí)現(xiàn),協(xié)議棧如圖所示。業(yè)務(wù)消息會(huì)話數(shù)據(jù)HTTP/HTTPSTCP/IP底層承載系統(tǒng)在http協(xié)議中傳輸?shù)膽?yīng)用數(shù)據(jù)采用具有自解釋、自包含特征的JSON數(shù)據(jù)格式,通過配置數(shù)據(jù)對(duì)象的序列化和反序列化的實(shí)現(xiàn)組件來實(shí)現(xiàn)通信數(shù)據(jù)包的編碼和解碼。在接口協(xié)議中,包含接口的版本信息,通過協(xié)議版本約束服務(wù)功能規(guī)范,支持服務(wù)平臺(tái)間接口協(xié)作的升級(jí)和擴(kuò)展。一個(gè)服務(wù)提供者可通過版本區(qū)別同時(shí)支持多個(gè)版本的客戶端,從而使得組件服務(wù)的提供者和使用者根據(jù)實(shí)際的需要,獨(dú)立演進(jìn),降低系統(tǒng)升級(jí)的復(fù)雜度,保證系統(tǒng)具備靈活的擴(kuò)展和持續(xù)演進(jìn)的能力。(4)業(yè)務(wù)消息約定請(qǐng)求消息URI中的參數(shù)采用UTF-8編碼并經(jīng)過URLEncode編碼。請(qǐng)求接口URL格式:{http|https}://{host}:{port}/{appname}/{businesscomponentname}/{action};其中:協(xié)議:HTTPREST形式接口host:應(yīng)用支撐平臺(tái)交互通信服務(wù)的IP地址或域名port:應(yīng)用支撐平臺(tái)交互通信服務(wù)的端口appname:應(yīng)用支撐平臺(tái)交互通信服務(wù)部署的應(yīng)用名稱businesscomponentname:業(yè)務(wù)組件名稱action:業(yè)務(wù)操作請(qǐng)求的接口名稱,接口名字可配置應(yīng)答的消息體采用JSON數(shù)據(jù)格式編碼,字符編碼采用UTF-8。應(yīng)答消息根節(jié)點(diǎn)為“response”,每個(gè)響應(yīng)包含固定的兩個(gè)屬性節(jié)點(diǎn):“status”和“message”。它們分別表示操作的返回值和返回消息描述,其他的同級(jí)子節(jié)點(diǎn)為業(yè)務(wù)返回對(duì)象屬性,根據(jù)業(yè)務(wù)類型的不同,有不同的屬性名稱。當(dāng)客戶端支持?jǐn)?shù)據(jù)壓縮傳輸時(shí),需要在請(qǐng)求的消息頭的“Accept-Encoding”字段中指定壓縮方式(gzip),如消息可以被壓縮傳輸則平臺(tái)將應(yīng)答的數(shù)據(jù)報(bào)文進(jìn)行壓縮作為應(yīng)答數(shù)據(jù)返回,Content-Length為壓縮后的數(shù)據(jù)長(zhǎng)度。詳細(xì)參見HTTP/1.1RFC2616。(5)響應(yīng)碼規(guī)則約定響應(yīng)結(jié)果碼在響應(yīng)消息的“status”屬性中,相應(yīng)的解釋信息在響應(yīng)消息的“message”屬性中。解釋消息為終端用戶可讀的消息,終端應(yīng)用不需要解析可直接呈現(xiàn)給最終用戶。響應(yīng)結(jié)果碼為6位數(shù)字串。根據(jù)響應(yīng)類型,包括以下幾類響應(yīng)碼。如表中的定義。響應(yīng)碼描述0成功1XXXXX系統(tǒng)錯(cuò)誤2XXXXX輸入?yún)?shù)不合法錯(cuò)誤3XXXXX應(yīng)用級(jí)返回碼,定義應(yīng)用級(jí)的異常返回。4XXXXX正常的應(yīng)用級(jí)返回碼,定義特定場(chǎng)景的應(yīng)用級(jí)返回說明。(6)數(shù)據(jù)管理業(yè)務(wù)數(shù)據(jù)檢查接口應(yīng)提供業(yè)務(wù)數(shù)據(jù)檢查功能,即對(duì)接收的數(shù)據(jù)進(jìn)行合法性檢查,對(duì)非法數(shù)據(jù)和錯(cuò)誤數(shù)據(jù)則拒絕接收,以防止外來數(shù)據(jù)非法入侵,減輕應(yīng)用支撐平臺(tái)系統(tǒng)主機(jī)處理負(fù)荷。對(duì)于接口,其業(yè)務(wù)數(shù)據(jù)檢查的主要內(nèi)容有以下幾個(gè)方面:數(shù)據(jù)格式的合法性:如接收到非預(yù)期格式的數(shù)據(jù)。包括接收的數(shù)據(jù)長(zhǎng)度,類型,開始結(jié)束標(biāo)志等。數(shù)據(jù)來源的合法性:如接收到非授權(quán)接口的數(shù)據(jù)。業(yè)務(wù)類型的合法性:如接收到接口指定業(yè)務(wù)類型外的接入請(qǐng)求。對(duì)于業(yè)務(wù)數(shù)據(jù)檢查中解析出非法數(shù)據(jù)應(yīng)提供以下幾種處理方式:事件報(bào)警:在出現(xiàn)異常情況時(shí)自動(dòng)報(bào)警,以便系統(tǒng)管理員及時(shí)進(jìn)行處理。分析原因:在出現(xiàn)異常情況時(shí),可自動(dòng)分析其出錯(cuò)原因。如是數(shù)據(jù)來源非法和業(yè)務(wù)類型非法,本地記錄并做后續(xù)管理,如是數(shù)據(jù)格式非法,分析網(wǎng)絡(luò)傳輸原因或?qū)Χ藬?shù)據(jù)處理原因,并做相應(yīng)處理。統(tǒng)計(jì)分析:定期對(duì)所有的非法記錄做統(tǒng)計(jì)分析,分析非法數(shù)據(jù)的各種來源是否具有惡意,并做相應(yīng)處理。(7)接口的可擴(kuò)展性規(guī)劃與設(shè)計(jì)各個(gè)端間的通信接口版本信息限定了各個(gè)系統(tǒng)平臺(tái)間交互的數(shù)據(jù)協(xié)議類型、特定版本發(fā)布的系統(tǒng)接口功能特征、特定功能的訪問參數(shù)等接口規(guī)格。通過接口協(xié)議的版本劃分,為客戶端升級(jí)、其他被集成系統(tǒng)的升級(jí)、以及系統(tǒng)的部署提供了較高的自由度和靈活性。系統(tǒng)可根據(jù)接口請(qǐng)求中包含的接口協(xié)議版本實(shí)現(xiàn)對(duì)接口的向下兼容。系統(tǒng)平臺(tái)可根據(jù)系統(tǒng)的集群策略,按協(xié)議版本分別部署,也可多版本并存部署。由于系統(tǒng)平臺(tái)可同時(shí)支持多版本的外部系統(tǒng)及客戶端應(yīng)用訪問系統(tǒng),特別是新版本客戶端發(fā)布時(shí),不要求用戶強(qiáng)制升級(jí),也可降低強(qiáng)制升級(jí)安裝包發(fā)布的幾率。從而支持系統(tǒng)的客戶端與系統(tǒng)平臺(tái)分離的持續(xù)演進(jìn)。(8)系統(tǒng)性能優(yōu)化由于系統(tǒng)用戶數(shù)較大,覆蓋面廣,要求開發(fā)團(tuán)隊(duì)具備豐富的Linux系統(tǒng)性能優(yōu)化經(jīng)驗(yàn),以保證系統(tǒng)的流暢性和穩(wěn)定性:一、影響Linux性能的各種因素1、系統(tǒng)硬件資源(1)CPU判斷多核CPU不超線程,消耗CPU的業(yè)務(wù)(2)內(nèi)存消耗內(nèi)存的業(yè)務(wù):內(nèi)存數(shù)據(jù)庫(kù)(redis/hbase/mongodb)(3)磁盤IO消耗磁盤的業(yè)務(wù):數(shù)據(jù)庫(kù)服務(wù)器(4)網(wǎng)絡(luò)帶寬消耗帶寬的業(yè)務(wù):hadoop平臺(tái)、視頻業(yè)務(wù)平臺(tái)2、操作系統(tǒng)相關(guān)資源(1)系統(tǒng)安裝優(yōu)化磁盤分區(qū)、RAID設(shè)置、swap設(shè)置(2)內(nèi)核參數(shù)優(yōu)化ulimit-n(最大打開文件數(shù))ulimit-u(最大用戶數(shù))(3)文件系統(tǒng)優(yōu)化讀操作頻繁,同時(shí)小文件眾多的應(yīng)用:首選ext4文件系統(tǒng),接下來依次是xfs、ext3。寫操作頻繁的應(yīng)用,首選是xfs,接下來依次是ext4和ext3對(duì)性能要求不高、數(shù)據(jù)安全要求不高的業(yè)務(wù),ext3是比較好的選擇。3、程序問題此類問題需要開發(fā)人員查看代碼,介入處理。但作為運(yùn)維人員需要給出程序問題的有力證據(jù)。二、Linux性能優(yōu)化工具1、cpu性能評(píng)估工具利用vmstat命令可以對(duì)操作系統(tǒng)的內(nèi)存信息、進(jìn)程狀態(tài)、CPU活勱等進(jìn)行監(jiān)視。對(duì)上面每項(xiàng)的輸出解釋如下:●procsr列表示運(yùn)行和等待cpu時(shí)間片的進(jìn)程數(shù),這個(gè)值如果長(zhǎng)期大于系統(tǒng)CPU的個(gè)數(shù),說明CPU不足,需要增加CPU。b列表示在等待資源的進(jìn)程數(shù),比如正在等待I/O、或者內(nèi)存交換等?!駇emoryswpd列表示切換到內(nèi)存交換區(qū)的內(nèi)存數(shù)量(以k為單位)。如果swpd的值不為0,或者比較大,只要si、so的值長(zhǎng)期為0,這種情況下一般不用擔(dān)心,不會(huì)影響系統(tǒng)性能。free列表示當(dāng)前空閑的物理內(nèi)存數(shù)量(以k為單位)buff列表示bufferscache的內(nèi)存數(shù)量,一般對(duì)塊設(shè)備的讀寫才需要緩沖。cache列表示pagecached的內(nèi)存數(shù)量,一般作為文件系統(tǒng)cached,頻繁訪問的文件都會(huì)被cached,如果cache值較大,說明cached的文件數(shù)較多,如果此時(shí)IO中bi比較小,說明文件系統(tǒng)效率比較好?!駍wapsi列表示由磁盤調(diào)入內(nèi)存,也就是內(nèi)存進(jìn)入內(nèi)存交換區(qū)的數(shù)量。so列表示由內(nèi)存調(diào)入磁盤,也就是內(nèi)存交換區(qū)進(jìn)入內(nèi)存的數(shù)量。一般情況下,si、so的值都為0,如果si、so的值長(zhǎng)期不為0,則表示系統(tǒng)內(nèi)存不足。需要增加系統(tǒng)內(nèi)存?!馡O項(xiàng)顯示磁盤讀寫狀況Bi列表示從塊設(shè)備讀入數(shù)據(jù)的總量(即讀磁盤)(每秒kb)。Bo列表示寫入到塊設(shè)備的數(shù)據(jù)總量(即寫磁盤)(每秒kb)這里我們?cè)O(shè)置的bi+bo參考值為1000,如果超過1000,而且wa值較大,則表示系統(tǒng)磁盤IO有問題,應(yīng)該考慮提高磁盤的讀寫性能。●system顯示采集間隔內(nèi)發(fā)生的中斷數(shù)in列表示在某一時(shí)間間隔中觀測(cè)到的每秒設(shè)備中斷數(shù)。cs列表示每秒產(chǎn)生的上下文切換次數(shù)。上面這2個(gè)值越大,會(huì)看到由內(nèi)核消耗的CPU時(shí)間會(huì)越多?!馛PU項(xiàng)顯示了CPU的使用狀態(tài)us列顯示了用戶進(jìn)程消耗的CPU時(shí)間百分比。us的值比較高時(shí),說明用戶進(jìn)程消耗的cpu時(shí)間多,但是如果長(zhǎng)期大于50%,就需要考慮優(yōu)化程序或算法。(3)uptime命令uptime是監(jiān)控系統(tǒng)性能最常用的一個(gè)命令,主要用來統(tǒng)計(jì)系統(tǒng)當(dāng)前的運(yùn)行狀況,輸出的信息依次為:系統(tǒng)現(xiàn)在的時(shí)間、系統(tǒng)從上次開機(jī)到現(xiàn)在運(yùn)行了多長(zhǎng)時(shí)間、系統(tǒng)目前有多少登陸用戶、系統(tǒng)在一分鐘內(nèi)、五分鐘內(nèi)、十五分鐘內(nèi)的平均負(fù)載。2、內(nèi)存性能評(píng)估(1)free命令free命令是監(jiān)控linux內(nèi)存使用狀況最常用的指令一般有這樣一個(gè)經(jīng)驗(yàn)公式:應(yīng)用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存>70%時(shí),表示系統(tǒng)內(nèi)存資源非常充足,不影響系統(tǒng)性能,應(yīng)用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存<20%時(shí),表示系統(tǒng)內(nèi)存資源緊缺,需要增加系統(tǒng)內(nèi)存,20%<應(yīng)用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存<70%時(shí),表示系統(tǒng)內(nèi)存資源基本能滿足應(yīng)用需求,暫時(shí)不影響系統(tǒng)性能。(2)sar/pidstat此兩個(gè)命令主要用于監(jiān)控全部或指定進(jìn)程占用系統(tǒng)資源的情況,如CPU,內(nèi)存、設(shè)備。3、磁盤性能評(píng)估通過“iostat–d”命令組合也可以查看系統(tǒng)磁盤的使用狀況,并分析輸出。4、網(wǎng)絡(luò)性能評(píng)估(1)ping命令(2)netstat命令(3)mtr/traceroute命令跟蹤網(wǎng)絡(luò)路由狀態(tài),推薦使用mtr,勱態(tài)跟蹤網(wǎng)絡(luò)路由,用于排除網(wǎng)絡(luò)問題非常方便。三、系統(tǒng)性能分析標(biāo)準(zhǔn)
第二節(jié)、方案整體設(shè)計(jì)1.項(xiàng)目概述為了更好地踐行教育信息化、教育資源數(shù)字化建設(shè),人教數(shù)字出版有限公司(以下簡(jiǎn)稱數(shù)字公司)依托人民教育出版社深耕數(shù)字教材市場(chǎng),按照“服務(wù)至上、示范引領(lǐng)、安全運(yùn)行”的工作要求和思路推出“人教口語(yǔ)”這款面向中小學(xué)英語(yǔ)垂直學(xué)科的數(shù)字化資源應(yīng)用。應(yīng)不斷增長(zhǎng)的用戶人數(shù)和使用需求,數(shù)字公司需要對(duì)人教口語(yǔ)app及相關(guān)業(yè)務(wù)系統(tǒng)進(jìn)行升級(jí)維護(hù)和部分產(chǎn)品功能開發(fā),因此開展人教口語(yǔ)app七期技術(shù)委托開發(fā)的招標(biāo)工作。人教口語(yǔ)app的開發(fā)范圍涉及iOS、android、鴻蒙系統(tǒng)的移動(dòng)設(shè)備(包含手機(jī)和平板電腦),以及PC端的人教口語(yǔ)運(yùn)營(yíng)管理系統(tǒng)。2.項(xiàng)目總體實(shí)施原則1.承建方成立領(lǐng)導(dǎo)親自掛帥的項(xiàng)目小組,在調(diào)研、設(shè)計(jì)、編碼、安裝調(diào)試、測(cè)試、培訓(xùn)、運(yùn)行、驗(yàn)收、售后服務(wù)等項(xiàng)目的各個(gè)階段,配合系統(tǒng)開發(fā)方的工作,一方面可以培訓(xùn)自己的技術(shù)維護(hù)隊(duì)伍,為系統(tǒng)的使用保駕護(hù)航;另一方面,在開發(fā)過程中,協(xié)調(diào)用戶方和承建方的關(guān)系,保證項(xiàng)目的順利進(jìn)行,及時(shí)發(fā)現(xiàn)問題,并對(duì)項(xiàng)目進(jìn)度和質(zhì)量進(jìn)行監(jiān)督。2.采用“兩手抓”的方針,一手抓開發(fā)、一手抓使用對(duì)于軟件項(xiàng)目,之所以稱為一個(gè)工程,很大程度上是因?yàn)檐浖?xiàng)目的建設(shè),除了技術(shù)因素外,還有很多的非技術(shù)因素需要考慮,并且必須被得到重視。衡量一個(gè)軟件項(xiàng)目是否成功,很大程度上不是看這個(gè)軟件項(xiàng)目采用了多么先進(jìn)的技術(shù),而是軟件對(duì)用戶來說是否實(shí)用,是否能夠幫助用戶解決許多預(yù)期的問題。國(guó)內(nèi)很多軟件項(xiàng)目的失敗,很大程度上是使用抓得不夠。建議在項(xiàng)目的試運(yùn)行過程中,在抓系統(tǒng)維護(hù)的同時(shí),也要狠抓系統(tǒng)的使用,開發(fā)方和用戶方齊心協(xié)力幫助業(yè)務(wù)人員從原來的手工處理轉(zhuǎn)到計(jì)算機(jī)輔助處理上來,在業(yè)務(wù)人員適應(yīng)計(jì)算機(jī)輔助業(yè)務(wù)處理的過程中,盡可能早發(fā)現(xiàn)系統(tǒng)中存在的問題,從而最大可能地使系統(tǒng)保質(zhì)保量的按時(shí)完成。3.?dāng)?shù)據(jù)同程序同等重要該系統(tǒng)的建設(shè),數(shù)據(jù)位于首要的地位,程序的編寫完成,僅僅意味著系統(tǒng)完成了一半,數(shù)據(jù)的收集、整理、錄入,對(duì)系統(tǒng)的建設(shè)來說同等重要。在項(xiàng)目實(shí)施過程中,一定要重視系統(tǒng)中數(shù)據(jù)的錄入工作,充分估計(jì)數(shù)據(jù)處理的難度,在系統(tǒng)建設(shè)之初,就將數(shù)據(jù)工作提到議事日程上來,安排相應(yīng)的資金、時(shí)間等,將數(shù)據(jù)工作落到實(shí)處,只有這樣才能爭(zhēng)取系統(tǒng)早日達(dá)到實(shí)用化。3.項(xiàng)目總體推進(jìn)計(jì)劃為了有效地保證系統(tǒng)開發(fā)的質(zhì)量,整個(gè)系統(tǒng)建設(shè)的全過程劃分為準(zhǔn)備、設(shè)計(jì)、開發(fā)、實(shí)施和運(yùn)行階段,每個(gè)階段完成相應(yīng)的任務(wù),確保信息系統(tǒng)的建設(shè)。軟件安裝完成并確認(rèn)可在系統(tǒng)正常運(yùn)行后,開始相關(guān)業(yè)務(wù)人員的培訓(xùn);在培訓(xùn)開始之前需要由雙方協(xié)商形成《培訓(xùn)計(jì)劃》,明確培訓(xùn)環(huán)境、條件及方式,參加人員,課程課時(shí)等詳細(xì)內(nèi)容,由雙方現(xiàn)場(chǎng)實(shí)施負(fù)責(zé)人簽字后生效,并分別開始著手準(zhǔn)備,在既定時(shí)間內(nèi)完成。4.項(xiàng)目總體設(shè)計(jì)原則(1)建立規(guī)范保證設(shè)計(jì)的一致性對(duì)內(nèi)部:多個(gè)設(shè)計(jì)師合作,依然能保證設(shè)計(jì)風(fēng)格的統(tǒng)一。對(duì)用戶:提高用戶體驗(yàn),提高操作效率,加深對(duì)產(chǎn)品的記憶。提高開發(fā)效率與前端有效溝通的工具,提高設(shè)計(jì)還原度,降低對(duì)接成本。開發(fā)可以建立公共組件庫(kù),極大的提高了開發(fā)效率。方便產(chǎn)品迭代隨著產(chǎn)品的業(yè)務(wù)變化,發(fā)現(xiàn)一些問題或者需要優(yōu)化用戶體驗(yàn)的時(shí)候,針對(duì)單個(gè)控件進(jìn)行調(diào)整,就可以影響全局,十分便捷。(2)字體規(guī)范文字是App中最核心的元素之一,產(chǎn)品傳達(dá)給用戶的內(nèi)容。字體有無襯線字體和襯線字體。無論iOS還是Android系統(tǒng),它們都有內(nèi)置的默認(rèn)字體可供設(shè)計(jì)師使用。用心處理好字號(hào)大小、字體顏色與字體間距的處理上。用戶界面設(shè)計(jì)中,字體是界面設(shè)計(jì)中的基本元素。設(shè)計(jì)師要設(shè)計(jì)好界面中的字體顏色、字體間距、字號(hào)的大小、字重等思考。蘋果系統(tǒng)中默認(rèn)的字體是:蘋方字體。英文字體和數(shù)字字體是:舊金山字體,SanFrancisco字體。其中數(shù)字字體比較好的字體可以用:Dinner字體。安卓系統(tǒng)默認(rèn)的中文字體是:思源黑體。
英文字體是:Roboto字體。界面設(shè)計(jì)中的字體設(shè)計(jì)規(guī)范,如下圖所示。(3)設(shè)計(jì)原則為了最大限度地提高影響力和影響范圍,請(qǐng)?jiān)谙胂髴?yīng)用程序的身份時(shí)牢記以下原則。審美完整性審美完整性表示應(yīng)用程序的外觀和行為與其功能的集成程度。例如,一個(gè)可以幫助人們執(zhí)行重要任務(wù)的應(yīng)用程序可以通過使用微妙,醒目的圖形,標(biāo)準(zhǔn)控件和可預(yù)測(cè)的行為來使他們專注。另一方面,沉浸式應(yīng)用程序(例如游戲)可以提供引人入勝的外觀,帶來樂趣和刺激,同時(shí)鼓勵(lì)發(fā)現(xiàn)。一致性一致的應(yīng)用程序通過使用系統(tǒng)提供的界面元素,知名的圖標(biāo),標(biāo)準(zhǔn)的文本樣式和統(tǒng)一的術(shù)語(yǔ)來實(shí)現(xiàn)熟悉的標(biāo)準(zhǔn)和范例。該應(yīng)用程序以人們期望的方式結(jié)合了功能和行為。直接操縱屏幕內(nèi)容的直接操作可以吸引人們并促進(jìn)理解。用戶在旋轉(zhuǎn)設(shè)備或使用手勢(shì)來影響屏幕內(nèi)容時(shí)會(huì)經(jīng)歷直接的操縱。通過直接操作,他們可以看到其操作的直接可見結(jié)果。反饋反饋確認(rèn)行動(dòng)并顯示結(jié)果,以使人們了解情況。內(nèi)置的iOS應(yīng)用程序可響應(yīng)每個(gè)用戶操作提供可感知的反饋。輕觸時(shí),交互元素將突出顯示,進(jìn)度指示器傳達(dá)長(zhǎng)時(shí)間運(yùn)行的操作的狀態(tài),動(dòng)畫和聲音有助于闡明操作的結(jié)果。隱喻當(dāng)應(yīng)用程序的虛擬對(duì)象和動(dòng)作是扎根于現(xiàn)實(shí)世界或數(shù)字世界的隱喻時(shí),人們會(huì)更快地學(xué)習(xí)。隱喻在iOS中可以很好地工作,因?yàn)槿藗兛梢耘c屏幕進(jìn)行物理交互。他們將視圖移開以隱藏下面的內(nèi)容。他們拖動(dòng)和滑動(dòng)內(nèi)容。他們切換開關(guān),移動(dòng)滑塊并滾動(dòng)選擇器值。他們甚至瀏覽書籍和雜志的頁(yè)面。
(4)組建規(guī)范ios系統(tǒng)和安卓系統(tǒng)都提供了一些固定的官方組件規(guī)范。遵循其官方組件規(guī)范,可以極大提高設(shè)計(jì)和開發(fā)效率,同時(shí)降低用戶的學(xué)習(xí)成本。其中最常見的規(guī)范化組件包括頂部的狀態(tài)欄、導(dǎo)航欄、底部標(biāo)簽欄和工具欄。狀態(tài)欄ios是20pt,安卓是24dp.導(dǎo)航欄ios是44pt,安卓是56dp.標(biāo)簽欄ios的高度是49pt,安卓標(biāo)簽欄的高度是48dp.工具欄工具欄的高度是44pt,安卓是48dp.字體是蘋方字體;英文是SF英文字體。思源黑體,roboto英文字體。ios設(shè)計(jì)是11pt到29pt左右,一級(jí)主題是24pt以上,二級(jí)標(biāo)題是20pt左右。內(nèi)容,導(dǎo)航欄標(biāo)題是18pt。三級(jí)標(biāo)題是16pt。文字內(nèi)容一般是14pt品類區(qū)圖標(biāo)內(nèi)容:12pt。底部TAB圖標(biāo)文字:10pt到11pt5.項(xiàng)目建設(shè)思路在保證基礎(chǔ)的業(yè)務(wù)流程合規(guī),數(shù)據(jù)安全的前提下,根據(jù)業(yè)務(wù)需求及客戶群體特征,盡量簡(jiǎn)化操作流程。根據(jù)項(xiàng)目要求該平臺(tái)系統(tǒng)須以源碼方式部署到項(xiàng)目服務(wù)器上,通過已部署成功的后臺(tái)系統(tǒng),配置iOS、Android、鴻蒙系統(tǒng)移動(dòng)設(shè)備(包含手機(jī)和平板電腦)相關(guān)參數(shù)實(shí)現(xiàn)與前端聯(lián)通調(diào)用。6.項(xiàng)目實(shí)施策略通過業(yè)務(wù)咨詢、產(chǎn)品培訓(xùn)、系統(tǒng)操作的形式分析本次招標(biāo)范圍內(nèi)的需求,分析差異性需求,根據(jù)差異化需求的情況,我們采取產(chǎn)品功能升級(jí)與個(gè)性化需求開發(fā)的模式進(jìn)行處理,既確保了產(chǎn)品的成熟度和穩(wěn)定性,有兼顧了個(gè)性化需求,通過敏捷開發(fā)模式,快速迭代保障項(xiàng)目按時(shí)、高質(zhì)量的上線運(yùn)行。在項(xiàng)目中,需要多方共同努力,發(fā)起方和實(shí)施方作為一個(gè)整體,確定共同的項(xiàng)目目標(biāo),同時(shí)需要良好的溝通和配合,相互協(xié)調(diào),才可能及時(shí)發(fā)現(xiàn)問題,及時(shí)糾偏,逐步實(shí)現(xiàn)確立的項(xiàng)目目標(biāo)。為此,必須制定確實(shí)可行的、清晰的實(shí)施策略,以及各階段的實(shí)施方法,用于指導(dǎo)項(xiàng)目計(jì)劃的制定、資源的搭配。項(xiàng)目成功實(shí)施的關(guān)鍵因素:明確的項(xiàng)目關(guān)系界定,包括:項(xiàng)目實(shí)施中的授權(quán)和職責(zé)。項(xiàng)目管理機(jī)構(gòu)項(xiàng)目管理辦公室ProjectManagementOffice(PMO)作為本項(xiàng)目的管理機(jī)構(gòu),管理項(xiàng)目的日?;顒?dòng),保證本項(xiàng)目的有效實(shí)施和最終成功上線,由項(xiàng)目發(fā)起方和實(shí)施方共同組成,負(fù)責(zé)整個(gè)項(xiàng)目的目標(biāo)確定、計(jì)劃、控制和實(shí)施,制定文檔、問題管理、風(fēng)險(xiǎn)控制、質(zhì)量控制、評(píng)審和報(bào)告的標(biāo)準(zhǔn)和過程,同時(shí)還需要一個(gè)項(xiàng)目指導(dǎo)委員會(huì)ProjectSteeringCommittee(PSC),負(fù)責(zé)需求管理、系統(tǒng)架構(gòu)、技術(shù)設(shè)計(jì)、接口設(shè)計(jì)規(guī)范、技術(shù)開發(fā)規(guī)范、系統(tǒng)性能和可靠性設(shè)計(jì)、問題解決、系統(tǒng)支持等。完善有效的項(xiàng)目管理架構(gòu),成立項(xiàng)目指導(dǎo)委員會(huì)ProjectSteeringCommittee(PSC),主要由項(xiàng)目總監(jiān)、項(xiàng)目經(jīng)理、咨詢顧問、項(xiàng)目管理辦公室成員(PMO)組成,PSC將擁有最終決定項(xiàng)目范圍、實(shí)施優(yōu)先級(jí)、資源分配、重要決策,以及處理項(xiàng)目間關(guān)系的權(quán)力;任何問題和沖突必須通過項(xiàng)目執(zhí)行委員會(huì)ProjectWorkingCommittee(PWC)提交PSC統(tǒng)一決策,PWC主要包括項(xiàng)目總監(jiān)、項(xiàng)目顧問和所有項(xiàng)目經(jīng)理;PWC在PMO的領(lǐng)導(dǎo)下、在PSC的指導(dǎo)下,負(fù)責(zé)整個(gè)項(xiàng)目的實(shí)施過程。
第三節(jié)、系統(tǒng)功能1.平臺(tái)整體架構(gòu)圖2.平臺(tái)總體功能圖
3.功能設(shè)計(jì)原則(1)單一職責(zé)原則(LSP)單一職責(zé)原則的含義是:只能讓一個(gè)類有且只有一個(gè)職責(zé),因?yàn)槿绻袃蓚€(gè)職責(zé),當(dāng)職責(zé)1發(fā)生改變,需要修改這個(gè)類的代碼時(shí),這個(gè)修改有可能會(huì)導(dǎo)致職責(zé)2的運(yùn)行發(fā)生問題。單一職責(zé)的優(yōu)點(diǎn)是分類清晰,適用于接口、類、方法,一個(gè)類一個(gè)方法只完成一件事情,避免了代碼耦合出現(xiàn)的問題。但是分得太細(xì)又會(huì)人為地增加系統(tǒng)的復(fù)雜性,為開發(fā)制造了麻煩。(2)里氏替換原則(LSP)里氏替換原則針對(duì)的是有繼承關(guān)系的子類和父類,為了減少繼承的弊端而生,含義是只要有父親出現(xiàn)的地方子類就可以出現(xiàn),并且替換為子類也不會(huì)有任何錯(cuò)誤(相反父親未必就能完美替換子類)。為了達(dá)成這個(gè)目的,子類就必須要實(shí)現(xiàn)父類的所有方法,即父類的方法必須是子類全部需要的、在調(diào)用時(shí),必須使用父親/接口、子類可以有自己的個(gè)性、實(shí)現(xiàn)父類的方法時(shí)輸入?yún)?shù)可以被放大、實(shí)現(xiàn)父類的輸出結(jié)果時(shí)結(jié)果可以縮小。里氏替換的優(yōu)點(diǎn)是讓繼承得到最大作用發(fā)揮,并減少繼承的弊端,缺點(diǎn)是不太靈活。(3)依賴倒置原則(DIP)依賴倒置原則的定義是,實(shí)現(xiàn)類之間不發(fā)生直接的依賴關(guān)系,其依賴關(guān)系是通過接口或抽象類產(chǎn)生的,也就是面向接口編程。依賴倒置原則的優(yōu)點(diǎn)是,通過接口使各個(gè)類或模塊彼此間獨(dú)立,不相互影響,實(shí)現(xiàn)模塊之間的松耦合。缺點(diǎn)是增加了額外維護(hù)接口和類的工作量。(4)接口隔離原則(ISP)接口隔離的原則是,建立單一的接口,不要建立龐大臃腫的接口,盡量細(xì)化接口,接口中的方法盡量少。每個(gè)模塊都應(yīng)該是單一的接口,提供給幾個(gè)模塊就應(yīng)該有幾個(gè)接口,也就是接口模塊化、獨(dú)立化。與單一職責(zé)原則不一樣,單一職責(zé)原則中,一個(gè)接口可以有多個(gè)方法,這多個(gè)方法提供給多個(gè)模塊訪問,而接口隔離原則則是倡導(dǎo)一個(gè)模塊使用一個(gè)一個(gè)接口,而不是所有的方法都放在同一個(gè)接口中。這樣的設(shè)計(jì)原則雖然可以讓系統(tǒng)內(nèi)聚提高,但是也增加了結(jié)構(gòu)的復(fù)雜化,導(dǎo)致開發(fā)難度增加。(5)迪米特法則(LOD)迪米特法則又稱最少知道法則,也就是一個(gè)對(duì)象應(yīng)該對(duì)其他對(duì)象有最少的理解,即一個(gè)類應(yīng)該對(duì)自己需要耦合或需要調(diào)用的類知道的最少??梢越档拖到y(tǒng)之間的耦合,提高系統(tǒng)的健壯性。在下面這個(gè)例子中,明星類和粉絲類要發(fā)生通信,就需要一個(gè)經(jīng)紀(jì)人的中間類,從而達(dá)到了最少知道法則。這樣雖然能降低耦合度,但是也大大提高了系統(tǒng)復(fù)雜性。(6)開閉原則(OCP)開閉原則也就是,軟件實(shí)體(類、模塊、方法)應(yīng)該對(duì)擴(kuò)展開發(fā),對(duì)修改關(guān)閉,也就是軟件需要變化時(shí),盡量通過拓展軟件實(shí)體的行為來實(shí)現(xiàn),而不是修改已有的代碼。開閉原則是面向?qū)ο笤O(shè)計(jì)的終極目標(biāo),其他原則可以看做是開閉原則的實(shí)現(xiàn)方法。
4.功能安全性設(shè)計(jì)(1)“嚴(yán)禁”原則嚴(yán)禁使用明文或在程序/腳本文件中寫死密碼應(yīng)用系統(tǒng)中涉及的任何密碼,均嚴(yán)禁使用明文,并嚴(yán)禁將密碼寫在代碼/腳本文件中。嚴(yán)禁在網(wǎng)頁(yè)源碼中暴露應(yīng)用處理邏輯嚴(yán)禁在網(wǎng)頁(yè)源代碼中出現(xiàn)類似SQL、腳本、條件判斷等應(yīng)用處理邏輯。嚴(yán)禁在超鏈接中出現(xiàn)參數(shù)信息嚴(yán)禁基于Web的應(yīng)用將數(shù)據(jù)庫(kù)連接用戶、密碼等重要參數(shù)信息放在超鏈接中,超鏈接中參數(shù)信息、服務(wù)調(diào)用信息應(yīng)進(jìn)行變形(亂碼)或者隱藏,以防止SQL注入攻擊,避免黑客猜測(cè)數(shù)據(jù)庫(kù)表結(jié)構(gòu)、數(shù)據(jù)庫(kù)連接用戶和密碼。嚴(yán)禁應(yīng)用系統(tǒng)設(shè)計(jì)留有“后門”嚴(yán)禁以維護(hù)、技術(shù)支持或者特殊操作為由,設(shè)計(jì)違反或者繞過安全規(guī)則的任何類型的入口和設(shè)計(jì)文檔中未說明的任何模式的隱藏入口。(2)必須原則必須提供應(yīng)用系統(tǒng)用戶的身份識(shí)別功能身份識(shí)別是信息安全服務(wù)的基礎(chǔ),基本原則是要做到用戶區(qū)分的唯一性,認(rèn)證是基于身份識(shí)別的,身份識(shí)別最常見的形式就是用戶ID,與密碼組合標(biāo)識(shí)一個(gè)用戶身份。必須對(duì)密碼加密密碼分為交易密碼和用戶登錄密碼等。應(yīng)用系統(tǒng)應(yīng)對(duì)交易密碼的全部使用環(huán)節(jié)進(jìn)行硬加密,包括密碼的產(chǎn)生、密碼錄入、密碼修改、密碼的傳輸、密碼的保存。應(yīng)用系統(tǒng)應(yīng)支持聯(lián)機(jī)密鑰修改,避免加密設(shè)備密鑰變更對(duì)應(yīng)用系統(tǒng)正常運(yùn)行的影響。應(yīng)用系統(tǒng)應(yīng)對(duì)系統(tǒng)的使用用戶密碼進(jìn)行加密(可以是軟加密),包括密碼的產(chǎn)生、密碼錄入、密碼修改、密碼的傳輸、密碼的保存。軟加密時(shí)應(yīng)確保軟加密算法具有足夠的強(qiáng)度,并且確保密鑰存儲(chǔ)安全,對(duì)密鑰的訪問應(yīng)嚴(yán)格控制。同時(shí),還應(yīng)采取必要的措施,確保軟加密算法的安全。必須保證密碼安全傳遞應(yīng)用系統(tǒng)應(yīng)建立完善的密碼傳遞機(jī)制,如采用硬件轉(zhuǎn)加密、密碼信封等方式,確保密碼在系統(tǒng)和使用用戶(人)之間的安全傳遞。必須保證密碼強(qiáng)度應(yīng)用系統(tǒng)必須設(shè)計(jì)密碼強(qiáng)度檢查機(jī)制,密碼錯(cuò)誤次數(shù)限制等措施,避免用戶使用簡(jiǎn)單密碼,防止黑客對(duì)密碼進(jìn)行暴力破解。必須提供用戶賬戶鎖定功能當(dāng)用戶帳戶幾次登錄嘗試失敗后,必須禁用該帳戶并將事件寫入日志。同時(shí)必須提供用戶帳戶解鎖功能。必須在設(shè)計(jì)階段將這些策略明確下來。必須支持密碼有效期密碼不應(yīng)固定不變。作為常規(guī)密碼維護(hù)的一部分,通過設(shè)置密碼有效期強(qiáng)制應(yīng)用系統(tǒng)用戶對(duì)密碼進(jìn)行定期更改。在應(yīng)用程序設(shè)計(jì)階段,必須考慮提供這種類型的功能。必須對(duì)前端輸入信息進(jìn)行驗(yàn)證將輸入驗(yàn)證策略作為應(yīng)用程序設(shè)計(jì)的核心要素。應(yīng)假定所有的輸入都是惡意的,不要依賴于客戶端的驗(yàn)證,雖然使用客戶端驗(yàn)證可以減少客戶端和服務(wù)器之間的信息傳遞次數(shù)。要做到限制、拒絕或者凈化輸入,輸入驗(yàn)證的首選方法是從開始就限制允許輸入的內(nèi)容。按照已知的有效類型、模式和范圍驗(yàn)證數(shù)據(jù)要比通過查找已知有害字符的數(shù)據(jù)驗(yàn)證方法容易。設(shè)計(jì)應(yīng)用程序時(shí),應(yīng)了解應(yīng)用程序需要輸入什么內(nèi)容。與潛在的惡意輸入相比,有效數(shù)據(jù)的范圍通常是更為有限的集合。為了使防御更為徹底,可能還需要拒絕已知的有害輸入,達(dá)到凈化輸入的效果。(3)盡可能原則盡可能實(shí)現(xiàn)用戶的權(quán)限最小化應(yīng)用用戶的權(quán)限最小化,控制應(yīng)用用戶對(duì)文件、數(shù)據(jù)的訪問,記錄并統(tǒng)計(jì)登錄歷史;對(duì)重要信息資源設(shè)置敏感標(biāo)記并控制對(duì)設(shè)置敏感標(biāo)記資源的操作。盡可能具有防木馬程序設(shè)計(jì)應(yīng)用系統(tǒng)盡可能設(shè)計(jì)必要的措施防止木馬程序?qū)γ艽a的截取。盡可能使用成熟穩(wěn)定版本的軟件或者工具軟件產(chǎn)品或者工具升級(jí)換代非常的迅速,雖然新的版本會(huì)帶來很多功能上的提升,但是也可能隱藏著新的缺陷。所以盡可能在功能滿足的情況下使用經(jīng)過驗(yàn)證的成熟穩(wěn)定的版本。盡可能保證關(guān)鍵信息安全傳遞應(yīng)用系統(tǒng)盡可能完善各種關(guān)鍵信息(例如:磁道信息、卡片校驗(yàn)碼、制卡文件等)傳遞機(jī)制,如采用硬件轉(zhuǎn)加密、密碼信封等方式,確保關(guān)鍵信息在系統(tǒng)和使用用戶(人)之間的安全傳遞。盡可能提供安全審計(jì)功能在應(yīng)用系統(tǒng)中發(fā)生的各種與安全相關(guān)的事件,應(yīng)盡可能記錄下來。審計(jì)記錄應(yīng)包括安全事件的主體、客體、時(shí)間、事件類型、事件內(nèi)容、事件結(jié)果等內(nèi)容。應(yīng)提供審計(jì)記錄查詢、分類、分析和存儲(chǔ)保護(hù);能對(duì)特定安全事件進(jìn)行報(bào)警;確保審計(jì)記錄不被破壞或非授權(quán)訪問。應(yīng)為安全管理中心提供接口;對(duì)不能由系統(tǒng)獨(dú)立處理的安全事件,提供由授權(quán)主體調(diào)用的接口。并提供審計(jì)功能的啟動(dòng)和關(guān)閉功能。
5.總體設(shè)計(jì)階段項(xiàng)目開發(fā)組通過對(duì)系統(tǒng)的功能、運(yùn)行和性能要求加以分析,產(chǎn)生一個(gè)高層次的系統(tǒng)結(jié)構(gòu)、軟件結(jié)構(gòu)、接口和數(shù)據(jù)格式的設(shè)計(jì),并向工程領(lǐng)導(dǎo)小組提交《系統(tǒng)設(shè)計(jì)報(bào)告》(其中包括數(shù)據(jù)庫(kù)設(shè)計(jì)),組織評(píng)審并簽署評(píng)審意見。對(duì)其中評(píng)審不合格的部分進(jìn)一步完善和重新策劃,評(píng)審?fù)ㄟ^后由雙方共同簽署評(píng)審意見,并正式生效,作為后續(xù)軟件開發(fā)和測(cè)試的基礎(chǔ)。該報(bào)告內(nèi)容的變更由雙方的現(xiàn)場(chǎng)實(shí)施負(fù)責(zé)人、技術(shù)負(fù)責(zé)人進(jìn)行交流即可確定,并需向工程領(lǐng)導(dǎo)小組匯報(bào)。6.詳細(xì)設(shè)計(jì)階段項(xiàng)目開發(fā)組在系統(tǒng)設(shè)計(jì)報(bào)告的基礎(chǔ)上,對(duì)功能和性能要求進(jìn)一步加以分析和細(xì)化并且把軟件的詳細(xì)設(shè)計(jì)文檔化,向工程領(lǐng)導(dǎo)小組提交系統(tǒng)詳細(xì)設(shè)計(jì)報(bào)告,并由項(xiàng)目組組織評(píng)審并簽署評(píng)審意見。對(duì)其中評(píng)審不合格的部分進(jìn)一步完善和重新策劃,評(píng)審?fù)ㄟ^后由雙方共同簽署評(píng)審意見,并正式生效,作為后續(xù)軟件開發(fā)和測(cè)試的基礎(chǔ)。該報(bào)告內(nèi)容的變更由雙方的現(xiàn)場(chǎng)實(shí)施負(fù)責(zé)人、技術(shù)負(fù)責(zé)人進(jìn)行交流即可確定,并需向工程領(lǐng)導(dǎo)小組匯報(bào)。7.系統(tǒng)開發(fā)階段為了使用戶能夠及時(shí)獲知項(xiàng)目的進(jìn)展情況,開發(fā)小組需要每周向用戶相關(guān)領(lǐng)導(dǎo)提交《項(xiàng)目客戶周報(bào)》,用戶項(xiàng)目組可以隨時(shí)對(duì)項(xiàng)目的工作情況進(jìn)行檢查。8.系統(tǒng)實(shí)施和試運(yùn)行階段首先需要經(jīng)雙方交流協(xié)調(diào),形成《項(xiàng)目實(shí)施計(jì)劃》,確定現(xiàn)場(chǎng)實(shí)施的準(zhǔn)備工作、人員和日程安排、培訓(xùn)計(jì)劃、階段目標(biāo)等內(nèi)容,經(jīng)雙方負(fù)責(zé)人簽字后生效,按此計(jì)劃開始現(xiàn)場(chǎng)實(shí)施。正式開始現(xiàn)場(chǎng)實(shí)施前項(xiàng)目開發(fā)組應(yīng)檢查所有必要的準(zhǔn)備工作是否已經(jīng)完成。9.項(xiàng)目驗(yàn)收階段在試運(yùn)行期內(nèi)系統(tǒng)存在一定的細(xì)節(jié)性問題是工程項(xiàng)目不可避免的問題,特別是隨著用戶應(yīng)用的逐漸深入,此類需求會(huì)逐級(jí)提出,此類問題不屬于系統(tǒng)的致命性錯(cuò)誤;因此當(dāng)試運(yùn)行期內(nèi)所發(fā)現(xiàn)的真正的“問題和錯(cuò)誤”收斂到一定數(shù)目以下時(shí),各業(yè)務(wù)子系統(tǒng)經(jīng)過一段時(shí)間的并行工作新系統(tǒng)已基本可靠,就可以切換到正式運(yùn)行階段,開始正式運(yùn)行。正式運(yùn)行后,由用戶提出驗(yàn)收要求,雙方共同制定《項(xiàng)目驗(yàn)收計(jì)劃》,組成項(xiàng)目驗(yàn)收小組,共同進(jìn)行項(xiàng)目驗(yàn)收。維護(hù)期的具體工作方式請(qǐng)見售后服務(wù)承諾部分,所有維護(hù)工作,包括軟件出現(xiàn)問題修改、細(xì)節(jié)性功能的增強(qiáng),用戶都要以《問題及修改記錄》的書面形式提交給公司,修改完成后用戶應(yīng)組織相關(guān)的業(yè)務(wù)負(fù)責(zé)人進(jìn)行確認(rèn),并在《功能清單》中說明;如遇緊急情況可事后補(bǔ)齊。項(xiàng)目驗(yàn)收分為功能驗(yàn)收和非功能驗(yàn)收,具體如下:(1)功能驗(yàn)收標(biāo)準(zhǔn)系統(tǒng)各項(xiàng)功能運(yùn)行穩(wěn)定,數(shù)據(jù)處理正確。確保應(yīng)用軟件和開發(fā)工具符合知識(shí)產(chǎn)權(quán)相關(guān)政策法規(guī)的要求,數(shù)據(jù)處理符合信息安全的要求。(2)非功能驗(yàn)收標(biāo)準(zhǔn)參照需求規(guī)格說明書中的要求,系統(tǒng)各項(xiàng)功能運(yùn)行穩(wěn)定,數(shù)據(jù)處理正確。
(3)分類標(biāo)準(zhǔn)錯(cuò)誤級(jí)別描述A系統(tǒng)的主要功能模塊無法正常工作系統(tǒng)與外圍系統(tǒng)的數(shù)據(jù)傳輸接口無法正常工作,或數(shù)據(jù)不正確系統(tǒng)的重要數(shù)據(jù)處理結(jié)果不正確系統(tǒng)整體運(yùn)行不穩(wěn)定系統(tǒng)主要功能模塊或渠道缺失,但雙方達(dá)成一致協(xié)議的除外系統(tǒng)不符監(jiān)管、內(nèi)控、保安需求B系統(tǒng)主要功能模塊或渠道功能不完善系統(tǒng)部分非主要交易無法正常工作系統(tǒng)與外圍系統(tǒng)的數(shù)據(jù)傳輸接口工作不穩(wěn)定C系統(tǒng)個(gè)別交易無法正常工作或處理結(jié)果錯(cuò)誤,但可通過其他替代辦法進(jìn)行處理,不影響業(yè)務(wù)的正常進(jìn)行因系統(tǒng)設(shè)計(jì)原因造成系統(tǒng)個(gè)別交易運(yùn)行效率低D系統(tǒng)在某種情況下才出現(xiàn)的錯(cuò)誤,且不影響正常的業(yè)務(wù)操作功能錯(cuò)誤級(jí)別分類功能驗(yàn)收標(biāo)準(zhǔn)驗(yàn)收結(jié)果功能驗(yàn)收錯(cuò)誤情況描述(允許錯(cuò)誤個(gè)數(shù))ABCD合格0000基本合格性能測(cè)試驗(yàn)收(錯(cuò)誤可進(jìn)行后續(xù)解決和完善)0<=3<=20<=30最終驗(yàn)收00<=10<=20不合格除以上兩種情況外的其他情況(一)驗(yàn)收標(biāo)準(zhǔn)1.功能測(cè)試:對(duì)招標(biāo)文件中的服務(wù)內(nèi)容進(jìn)行測(cè)試,所有功能均可正常使用;2.業(yè)務(wù)流程測(cè)試:針對(duì)該平臺(tái)典型的業(yè)務(wù)(優(yōu)惠劵的領(lǐng)取、查詢、核銷)進(jìn)行測(cè)試;3.易用性測(cè)試:軟件中各個(gè)模塊的界面風(fēng)格保持一致。(二)驗(yàn)收資料1.項(xiàng)目驗(yàn)收申請(qǐng)報(bào)告;2.操作手冊(cè)及使用手冊(cè);3.源代碼及安裝說明。在服務(wù)過程中供應(yīng)商須對(duì)行方的一切有關(guān)信息進(jìn)行保密。
第四節(jié)、系統(tǒng)性能1.核心設(shè)計(jì)原則核心設(shè)計(jì)原則:系統(tǒng)各功能模塊化程度高,獨(dú)立性強(qiáng),能夠方便快捷地進(jìn)行功能擴(kuò)展;系統(tǒng)界面全部符合招標(biāo)文件技術(shù)文件的要求;系統(tǒng)能夠穩(wěn)定、快速的運(yùn)行;體現(xiàn)系統(tǒng)健壯性強(qiáng),數(shù)據(jù)安全性高,符合教育部安全等保要求;系統(tǒng)具備完善的數(shù)字版權(quán)保護(hù)能力;開發(fā)技術(shù)能夠兼容各種操作系統(tǒng)和多種硬件設(shè)備,具備新老系統(tǒng)和設(shè)備的兼容能力等。建設(shè)后的系統(tǒng)應(yīng)具備合理性、規(guī)范性、先進(jìn)性、前瞻性、安全性、高效性、實(shí)用性、可靠性、靈活性、擴(kuò)展性、穩(wěn)定性、可維護(hù)性等性能。(1)功能性與一組功能及其指定的性質(zhì)有關(guān)的一組屬性,具體包括:適合性:與規(guī)定任務(wù)能否提供一組功能以及這組功能的適合程度有關(guān)的軟件屬性。準(zhǔn)確性:與能否得到正確或相符的結(jié)果或效果有關(guān)的軟件屬性。互用性:與同其他指定系統(tǒng)進(jìn)行交互的能力有關(guān)的軟件屬性。依從性:使軟件遵循有關(guān)的標(biāo)準(zhǔn),約定,法規(guī)及類似規(guī)定的軟件屬性。安全性:與防止對(duì)程序及數(shù)據(jù)的非授權(quán)的故意或意外訪問的能力有關(guān)的軟件屬性.充分考慮系統(tǒng)的安全防護(hù),具備較強(qiáng)的數(shù)據(jù)管理機(jī)制和控制能力。系統(tǒng)充分考慮與外部系統(tǒng)之間的接口,實(shí)現(xiàn)系統(tǒng)的集成應(yīng)用。同時(shí),系統(tǒng)采用開放型的應(yīng)用接口,具有靈活的擴(kuò)充性,滿足業(yè)務(wù)系統(tǒng)的整合需要。(2)可靠性與在規(guī)定的一段時(shí)間和條件下,軟件維持其性能水平的能力有關(guān)的一組屬性,具體包括:成熟性:與由軟件故障引起失效的頻度有關(guān)的軟件屬性。容錯(cuò)性:與在軟件故障或違反指定接口的情況下,維持規(guī)定的性能水平的能力有關(guān)的軟件屬性。易恢復(fù)性:與在失效發(fā)生后,重建其性能水平并恢復(fù)直接受影響數(shù)據(jù)的能力以及為達(dá)此目的所需的時(shí)間和能力有關(guān)的軟件屬性充分考慮性價(jià)比。系統(tǒng)采用具有平臺(tái)無關(guān)性、安全性、網(wǎng)絡(luò)移動(dòng)性好的基于JAVA語(yǔ)言,有嚴(yán)格的安全控制機(jī)制,可以確保系統(tǒng)的健壯、安全可靠;在網(wǎng)絡(luò)上,保證內(nèi)部系統(tǒng)的數(shù)據(jù)不被非法用戶所獲取。在應(yīng)用軟件的設(shè)計(jì)上,強(qiáng)化權(quán)限管理功能,具有多級(jí)安全機(jī)制。通過對(duì)各級(jí)部門、人員的權(quán)限分配,做到所有人員只能查看與自己相關(guān)的數(shù)據(jù),并建立完善的日志管理,做到所有操作都有據(jù)可查。(3)可操作性與一組規(guī)定或潛在的用戶為使用軟件所需作的努力和對(duì)這樣的使用所作用的評(píng)價(jià)有關(guān)的一組屬性,具體包括:易理解性:與用戶為認(rèn)識(shí)邏輯概念及其應(yīng)用范圍所花的努力有關(guān)的軟件屬性。易學(xué)性:與用戶為學(xué)習(xí)軟件應(yīng)用所花的努力有關(guān)的軟件屬性。易操作性:與用戶為操作和運(yùn)行控制所花努力有關(guān)的軟件屬性。軟件設(shè)計(jì)功能合理、應(yīng)用合理、操作性合理。在操作上,結(jié)合使用人員業(yè)務(wù)操作習(xí)慣,界面友好、方便使用。保證各級(jí)操作人員能夠迅速掌握、簡(jiǎn)單易用。(4)高效性與在規(guī)定的條件下,軟件的性能水平與所使用的資源量之間關(guān)系有關(guān)的一組屬性,具體包括:時(shí)間特性:與軟件執(zhí)行其功能時(shí)響應(yīng)和處理時(shí)間以及吞吐量有關(guān)的軟件屬性.資源特性:與在軟件執(zhí)行其功能時(shí)所使用的資源數(shù)量及其使用時(shí)間有關(guān)的軟件屬性。(5)可維護(hù)性與進(jìn)行指定的修改所需的努力有關(guān)的一組屬性,具體包括:易分析性:與為診斷缺陷或失效原因急為判定待修改的部分所需努力有關(guān)的軟件屬性.易改變性:與進(jìn)行修改,排除錯(cuò)誤或適應(yīng)環(huán)境變化所需努力有關(guān)的軟件屬性。穩(wěn)定性:與修改所造成的未預(yù)料結(jié)果的風(fēng)險(xiǎn)有關(guān)的軟件屬性。易測(cè)試性:與確認(rèn)已修改軟件所需的努力有關(guān)的軟件屬性。系統(tǒng)應(yīng)用軟件統(tǒng)一安裝在組織機(jī)構(gòu)管理服務(wù)器上,當(dāng)發(fā)生系統(tǒng)的重安裝、升級(jí)等情況時(shí),只需維護(hù)根服務(wù)器的軟件系統(tǒng),客戶端實(shí)現(xiàn)零維護(hù),大大降低維護(hù)成本。同時(shí),如果下屬部門、人員出現(xiàn)不懂的業(yè)務(wù)處理、軟件操作等情況時(shí),無須到現(xiàn)場(chǎng)處理,只需在系統(tǒng)中授權(quán),就可以在服務(wù)器完成相應(yīng)的操作。(6)可擴(kuò)展性與軟件可從某一環(huán)境轉(zhuǎn)移到另一個(gè)環(huán)境的能力有關(guān)的一組屬性,具體包括:適應(yīng)性:與軟件無需采用有別于為該軟件準(zhǔn)備的活動(dòng)或手段就可能適應(yīng)不同的規(guī)定環(huán)境有關(guān)的軟件屬性。易安裝性:與在指定環(huán)境下安裝軟件所需努力有關(guān)的軟件屬性。遵循性:使軟件遵循與可移植性有關(guān)的標(biāo)準(zhǔn)或約定的軟件屬性。易替換性:與軟件在該軟件環(huán)境中用來替代指定的其他軟件的機(jī)會(huì)和努力有關(guān)的軟件屬性.應(yīng)考慮未來業(yè)務(wù)的發(fā)展和管理的變化,根據(jù)業(yè)務(wù)量和業(yè)務(wù)擴(kuò)展情況能夠靈活部署主機(jī)設(shè)備,以支持冗余和負(fù)載均衡,滿足未來風(fēng)險(xiǎn)預(yù)警管理系統(tǒng)變化的需要。(7)標(biāo)準(zhǔn)化本項(xiàng)目涉及到的各個(gè)系統(tǒng)模塊設(shè)計(jì)、系統(tǒng)性能、代碼編寫等應(yīng)符合中國(guó)有關(guān)軟件項(xiàng)目的標(biāo)準(zhǔn)化的要求:1.軟件開發(fā)過程中作業(yè)標(biāo)準(zhǔn)化;2.確定每個(gè)作業(yè)的表示形式;3.確定每個(gè)文檔資料的格式;4.規(guī)定組符號(hào);5.根據(jù)軟件開發(fā)經(jīng)驗(yàn),制定出大家能夠接受的開發(fā)原則和進(jìn)度。整個(gè)系統(tǒng)的應(yīng)用設(shè)計(jì)需符合業(yè)界標(biāo)準(zhǔn),業(yè)務(wù)、功能、界面、內(nèi)容需保持高度統(tǒng)一性和標(biāo)準(zhǔn)性,從而達(dá)到服務(wù)的規(guī)范化和管理的高效性。(8)規(guī)范性代碼命名風(fēng)格、常量定義、代碼格式、控制語(yǔ)言、注釋規(guī)范符合業(yè)界標(biāo)準(zhǔn)。采用成熟的軟硬件平臺(tái)和技術(shù),并符合IT設(shè)計(jì)原則。采用行業(yè)標(biāo)準(zhǔn)技術(shù),采用可擴(kuò)展的系統(tǒng)架構(gòu),開放式語(yǔ)言。按照客戶信息化規(guī)劃統(tǒng)一設(shè)計(jì)系統(tǒng)結(jié)構(gòu),特別是應(yīng)用系統(tǒng)建設(shè)結(jié)構(gòu)、數(shù)據(jù)模型結(jié)構(gòu)、數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)以及系統(tǒng)擴(kuò)展規(guī)劃等內(nèi)容,從規(guī)劃的全局出發(fā)、從長(zhǎng)遠(yuǎn)的角度考慮。(9)先進(jìn)性技術(shù)水平要保證先進(jìn)性,符合當(dāng)代信息技術(shù)發(fā)展形勢(shì),代表當(dāng)前計(jì)算機(jī)科學(xué)的發(fā)展方向。所選擇的各平臺(tái)供應(yīng)商應(yīng)有能力對(duì)該項(xiàng)進(jìn)行持續(xù)開發(fā),可以保證該項(xiàng)技術(shù)不斷地更新并可順利升級(jí)而維持系統(tǒng)的先進(jìn)性。提供良好的技術(shù)支持和技術(shù)服務(wù),以滿足當(dāng)前的業(yè)務(wù)需求,使業(yè)務(wù)或生產(chǎn)系統(tǒng)具有較強(qiáng)的運(yùn)作能力。技術(shù)上采用網(wǎng)絡(luò)計(jì)算技術(shù)和分布處理模式,保證技術(shù)上的先進(jìn)性和前瞻性。采用國(guó)際最新的科技成果,從而保證整個(gè)系統(tǒng)在整體技術(shù)架構(gòu)上處于領(lǐng)先地位,系統(tǒng)在建成后幾年內(nèi)不應(yīng)由于技術(shù)原因而進(jìn)行較大的調(diào)整,可通過升級(jí)保持系統(tǒng)的先進(jìn)性,延長(zhǎng)其生命周期,同時(shí)又要保證先進(jìn)的技術(shù)是穩(wěn)定的、成熟的。考慮在大量用戶并行的情況下,系統(tǒng)整體運(yùn)行穩(wěn)定、快速、高效。(10)前瞻性整體設(shè)計(jì)應(yīng)具有創(chuàng)新性,考慮未來業(yè)務(wù)發(fā)展的要求,對(duì)于法規(guī)政策的變動(dòng)對(duì)業(yè)務(wù)的影響有充分的認(rèn)知和考慮。便于支持行內(nèi)科技系統(tǒng)建設(shè)和發(fā)展;便于通過更換設(shè)備、參數(shù)修改、外加模塊等實(shí)現(xiàn)小成本UI組件升級(jí)。項(xiàng)目建設(shè)既充分考慮未來新業(yè)務(wù)和新需求擴(kuò)展和支持,又要充分考慮軟件體系結(jié)構(gòu)與IT規(guī)劃中其他平臺(tái)和系統(tǒng)有效銜接,滿足未來客戶業(yè)務(wù)發(fā)展及管理的需要。(11)安全性保證系統(tǒng)的安全,從多個(gè)層面提供安全保障措施;主要采用安全文件傳輸協(xié)議,保證數(shù)據(jù)的安全,包括數(shù)據(jù)傳送的安全、數(shù)據(jù)存儲(chǔ)的安全、數(shù)據(jù)操作的安全;提供健全的安全控管機(jī)制,系統(tǒng)運(yùn)行中不安全、異常因素能提出預(yù)警,可有效防范外部及內(nèi)部的操作風(fēng)險(xiǎn)。具有完善的監(jiān)控功能,對(duì)異常能提出預(yù)警,并記錄下錯(cuò)誤日志,提供錯(cuò)誤原因的分析,便于異地維護(hù)。既要采用完善的身份認(rèn)證機(jī)制、分級(jí)權(quán)限管理機(jī)制、數(shù)據(jù)加密機(jī)制保證統(tǒng)計(jì)數(shù)據(jù)真實(shí)性和完整性以及防止統(tǒng)計(jì)數(shù)據(jù)的不實(shí)和泄露,又要從網(wǎng)絡(luò)、系統(tǒng)、軟件、數(shù)據(jù)庫(kù)等方面充分考慮系統(tǒng)的安全,并具備容災(zāi)措施和監(jiān)控手段,保證信息統(tǒng)計(jì)系統(tǒng)安全運(yùn)行。(12)高效性可以及時(shí)響應(yīng)用戶請(qǐng)求。能保證高效、穩(wěn)定的運(yùn)行設(shè)計(jì)合理的業(yè)務(wù)處理流程,采取必要的技術(shù)手段增強(qiáng)系統(tǒng)的處理能力,最大限度地發(fā)揮系統(tǒng)潛能,確保系統(tǒng)對(duì)各類信息的高效處理。(13)實(shí)用性充分利用成熟的先進(jìn)技術(shù),采用性能/價(jià)格比比較高的產(chǎn)品。應(yīng)用設(shè)計(jì)符合實(shí)際,適用于信息系統(tǒng)建設(shè)。同時(shí),系統(tǒng)利于故障跟蹤、檢查和排除,具備完善的異常處理機(jī)制。(14)健壯性成熟性:由軟件故障引起系統(tǒng)失效的頻度低。容錯(cuò)性:與在軟件故障或違反指定接口的情況下,維持規(guī)定的性能水平的能力。易恢復(fù)性:與在失效發(fā)生后,重建其性能水平并恢復(fù)直接受影響數(shù)據(jù)的能力以及為達(dá)此目的所需的時(shí)間和能力有關(guān)的軟件屬性充分考慮性價(jià)比。系統(tǒng)應(yīng)能自動(dòng)地或人工地進(jìn)行每天的數(shù)據(jù)備份、支持全部和增量數(shù)據(jù)備份,且系統(tǒng)應(yīng)具有遠(yuǎn)程備份的實(shí)現(xiàn)方案;系統(tǒng)日常運(yùn)行人為干預(yù)程度應(yīng)較低。(15)靈活性可通過參數(shù)化配置選擇,靈活對(duì)業(yè)務(wù)進(jìn)行開關(guān)控制、權(quán)限控制、流程控制等等,而不需要進(jìn)行程序編譯及服務(wù)重啟。2.系統(tǒng)開發(fā)工具(1)JavaJava是一門\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"面向?qū)ο蟮木幊陶Z(yǔ)言,不僅吸收了\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"指針等概念,因此Java語(yǔ)言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征。Java語(yǔ)言作為靜態(tài)面向?qū)ο缶幊陶Z(yǔ)言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程
。Java具有簡(jiǎn)單性、面向?qū)ο?、\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"分布式、\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"健壯性、\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"安全性、平臺(tái)獨(dú)立與可移植性、\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"多線程、動(dòng)態(tài)性等特點(diǎn)
。Java可以編寫\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"桌面應(yīng)用程序、Web應(yīng)用程序、\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"分布式系統(tǒng)和\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"嵌入式系統(tǒng)應(yīng)用程序等。1.簡(jiǎn)單性Java看起來設(shè)計(jì)得很像\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"C++,但是為了使語(yǔ)言小和容易熟悉,設(shè)計(jì)者們把C++語(yǔ)言中許多可用的特征去掉了,這些特征是一般程序員很少使用的。例如,Java不支持\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"goto語(yǔ)句,代之以提供\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"break和\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"continue語(yǔ)句以及異常處理。Java還剔除了C++的操作符過載(\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"overload)和多繼承特征,并且不使用主文件,免去了預(yù)處理程序。因?yàn)镴ava沒有結(jié)構(gòu),數(shù)組和串都是對(duì)象,所以不需要指針。Java能夠自動(dòng)處理對(duì)象的引用和間接引用,實(shí)現(xiàn)自動(dòng)的無用單元收集,使用戶不必為存儲(chǔ)管理問題煩惱,能更多的時(shí)間和精力花在研發(fā)上。2.面向?qū)ο驤ava是一個(gè)面向?qū)ο蟮恼Z(yǔ)言。對(duì)程序員來說,這意味著要注意其中的數(shù)據(jù)和操縱數(shù)據(jù)的方法(method),而不是嚴(yán)格地用過程來思考。在一個(gè)面向?qū)ο蟮南到y(tǒng)中,類(\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"class)是數(shù)據(jù)和操作數(shù)據(jù)的方法的集合。數(shù)據(jù)和方法一起描述對(duì)象(object)的狀態(tài)和行為。每一對(duì)象是其狀態(tài)和行為的封裝。類是按一定體系和層次安排的,使得子類可以從超類繼承行為。在這個(gè)類層次體系中有一個(gè)根類,它是具有一般行為的類。Java程序是用類來組織的。Java還包括一個(gè)類的擴(kuò)展集合,分別組成各種程序包(\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"Package),用戶可以在自己的程序中使用。例如,Java提供產(chǎn)生圖形用戶接口部件的類(\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"java.awt包),這里awt是抽象窗口工具集(abstractwindowingtoolkit)的縮寫,處理輸入輸出的類(\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"java.io包)和支持網(wǎng)絡(luò)功能的類(\t"/private/var/folders/6v/f4ny_z_n527228lm61gf5yn80000gn/T/com.kingsoft.wpsoffice.mac/wps-yinzhijuan/x/_blank"包)。3.分布性Java設(shè)計(jì)成支持在網(wǎng)絡(luò)上應(yīng)用,它是分布式語(yǔ)言。Java既支持各種層次的網(wǎng)絡(luò)連接,又以Socket類支持可靠的流(\t"/priva
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度汽車銷售折扣及售后服務(wù)合同
- 2025年度環(huán)保主題紀(jì)錄片制作及授權(quán)使用合同
- 中學(xué)生社會(huì)實(shí)踐感悟之旅的讀后感
- 施工總承包合同
- 農(nóng)產(chǎn)品品牌國(guó)際化與差異化發(fā)展戰(zhàn)略方案
- 人工智能輔助教育產(chǎn)品開發(fā)流程
- 企業(yè)員工福利管理信息系統(tǒng)采購(gòu)合同
- 物聯(lián)網(wǎng)設(shè)備安全監(jiān)測(cè)協(xié)議
- 古詩(shī)文觀止的教學(xué)教案與文學(xué)評(píng)析
- 食品營(yíng)養(yǎng)與健康管理試題集
- 供配電10kv變配電所畢業(yè)設(shè)計(jì)
- 風(fēng)電場(chǎng)110kV升壓站日常巡檢路線示意圖
- 樁基計(jì)算表格大全(自動(dòng)版)
- 《帶狀皰疹治療學(xué)》牛德興教授專業(yè)研究治療病毒性皰疹50年心血
- 《材料工程基礎(chǔ)》教學(xué)大綱
- 國(guó)內(nèi)外材料牌號(hào)對(duì)照
- 建設(shè)工程施工合同培訓(xùn)PPT(49頁(yè))
- LY∕T 2780-2016 松皰銹病菌檢疫技術(shù)規(guī)程
- 航空服務(wù)形體訓(xùn)練課程標(biāo)準(zhǔn)
- 項(xiàng)目部安全管理組織機(jī)構(gòu)網(wǎng)絡(luò)圖GDAQ20102
- 蘇科版四年級(jí)勞動(dòng)技術(shù)下冊(cè)教學(xué)計(jì)劃
評(píng)論
0/150
提交評(píng)論