




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2011年軟考系統(tǒng)架構(gòu)設(shè)計(jì)師學(xué)習(xí)筆記第一章現(xiàn)代信息系統(tǒng)“架構(gòu)”三要素:構(gòu)件、模式、規(guī)劃;規(guī)劃是架構(gòu)的基石,也是這三個(gè)貢獻(xiàn)中最重要的。架構(gòu)本質(zhì)上存在兩個(gè)層次:概念層,物理層。負(fù)責(zé)理解、管理并最終確認(rèn)和評(píng)估非功能性系統(tǒng)需求,給出開發(fā)規(guī)范,搭建系統(tǒng)實(shí)現(xiàn)的核心架構(gòu),對(duì)整個(gè)軟件架構(gòu)、關(guān)鍵構(gòu)建、接口進(jìn)行總體設(shè)計(jì)并澄清關(guān)鍵技術(shù)細(xì)節(jié)。主要著眼于系統(tǒng)的“技術(shù)實(shí)現(xiàn)”,同時(shí)還要考慮系統(tǒng)的“組織協(xié)調(diào)”。要對(duì)所屬的開發(fā)團(tuán)隊(duì)有足夠的了解,能夠評(píng)估該開發(fā)團(tuán)隊(duì)實(shí)現(xiàn)特定的功能需求目標(biāo)和資源代價(jià)。對(duì)軟件工程標(biāo)準(zhǔn)規(guī)范有良好的把握。系統(tǒng)架構(gòu)師是一個(gè)高效工作團(tuán)隊(duì)的創(chuàng)建者,必須盡可能使所有團(tuán)隊(duì)成員的想法一致,為一個(gè)項(xiàng)目訂制清晰的、強(qiáng)制性的、有元件的目標(biāo)作為整個(gè)團(tuán)隊(duì)的動(dòng)力;必須提供特定的方法和模型作為理想的技術(shù)解決方案;必須避免猶豫,必須具備及時(shí)解決技術(shù)問題的緊迫感和自信心。系統(tǒng)分析師,需求分析,技術(shù)實(shí)現(xiàn)系統(tǒng)架構(gòu)師,系統(tǒng)設(shè)計(jì),基于環(huán)境和資源的系統(tǒng)技術(shù)實(shí)現(xiàn)項(xiàng)目管理師,資源組織,資源實(shí)現(xiàn)由于職位角度出發(fā)產(chǎn)生沖突制約,不可能很好地給出開發(fā)規(guī)范,搭建系統(tǒng)實(shí)現(xiàn)的核心架構(gòu),并澄清技術(shù)細(xì)節(jié),掃清主要難點(diǎn)。所以把架構(gòu)師定位在項(xiàng)目管理師與系統(tǒng)分析師之間,為團(tuán)隊(duì)規(guī)劃清晰的目標(biāo)。對(duì)于大型企業(yè)或項(xiàng)目,如果一人承擔(dān)多個(gè)角色,往往容易發(fā)生顧此失彼的現(xiàn)象。1.3系統(tǒng)架構(gòu)師知識(shí)結(jié)構(gòu)需要從大量互相沖突的系統(tǒng)方法和工具中區(qū)分出哪些是有效的,那些是無(wú)效的。1.4從開發(fā)人員到架構(gòu)師總結(jié)自己的架構(gòu)模式,深入行業(yè)總結(jié)規(guī)律。幾天的培訓(xùn)不太可能培養(yǎng)出合格的軟件架構(gòu)師,廠商的培訓(xùn)和認(rèn)證,最終目的是培養(yǎng)自己的市場(chǎng),培養(yǎng)一批忠誠(chéng)的用戶或產(chǎn)品代言人,而不是為中國(guó)培養(yǎng)軟件架構(gòu)師。2011年軟考系統(tǒng)架構(gòu)設(shè)計(jì)師學(xué)習(xí)筆記第二章《計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識(shí)》計(jì)算機(jī)系統(tǒng)由硬件和軟件組成,軟件通常分為系統(tǒng)軟件和應(yīng)用軟件。系統(tǒng)軟件支持應(yīng)用軟件的運(yùn)行,為用戶開發(fā)應(yīng)用軟件提供平臺(tái),用戶可以使用它,但不能隨意修改它。常用的系統(tǒng)軟件有操作系統(tǒng)、語(yǔ)言處理程序、連接程序、診斷程序、數(shù)據(jù)庫(kù)等。應(yīng)用軟件指計(jì)算機(jī)用戶利用軟硬件資源為某一專門的應(yīng)用目的而開發(fā)的軟件。2.1操作系統(tǒng)基礎(chǔ)知識(shí)操作系統(tǒng)OperatingSystem,是計(jì)算機(jī)系統(tǒng)的核心系統(tǒng)軟件。1、操作系統(tǒng)定義硬件資源包括中央處理器、存儲(chǔ)器、輸入輸出設(shè)備。軟件資源是以文件形式保存在存儲(chǔ)器上的程序和數(shù)據(jù)。操作系統(tǒng)既有效組織和管理系統(tǒng)中各種軟硬件資源,合理地組織計(jì)算機(jī)系統(tǒng)的工作流程,又控制程序的執(zhí)行,為用戶使用計(jì)算機(jī)提供了一個(gè)良好的環(huán)境和友好的接口。2、操作系統(tǒng)分類按功能不同分:單用戶操作系統(tǒng)、批處理操作系統(tǒng);分時(shí)操作系統(tǒng)、實(shí)時(shí)操作系統(tǒng);網(wǎng)絡(luò)操作系統(tǒng)、分布式操作系統(tǒng);嵌入式操作系統(tǒng)。3、操作系統(tǒng)的特征并發(fā)性、共享性、虛擬性、不確定性。4、操作系統(tǒng)的功能進(jìn)程管理、文件管理、存儲(chǔ)管理、設(shè)備管理、作業(yè)管理。1、進(jìn)程的定義及其分類進(jìn)程通常由程序、數(shù)據(jù)、進(jìn)程控制塊PCB組成。2、進(jìn)程的狀態(tài)轉(zhuǎn)換與控制就緒、運(yùn)行、阻塞。進(jìn)程控制是通過進(jìn)程控制原語(yǔ)實(shí)現(xiàn)的,進(jìn)程控制原語(yǔ)主要有:創(chuàng)建原語(yǔ)、撤銷原語(yǔ)、掛起原語(yǔ)、激活原語(yǔ)、阻塞原語(yǔ)、喚醒原語(yǔ)。注:原語(yǔ)不可分割,不允許中斷。3、進(jìn)程互斥與同步以及P/V操作同步是使在異步環(huán)境下的各進(jìn)程按一定的順序和速度執(zhí)行?;コ庖WC臨界資源一次只能提供一個(gè)進(jìn)程使用,稱為臨界資源CR。PV操作是低級(jí)通信原語(yǔ),在執(zhí)行期間不可分割,P表示申請(qǐng)一個(gè)資源,V表示釋放一個(gè)資源。P操作定義:S:=S-1,若S>=0,則執(zhí)行P操作的進(jìn)程繼續(xù)執(zhí)行,否則若S<0,則置該進(jìn)程為阻塞狀態(tài)(因?yàn)闊o(wú)可用資源,并將其插入阻塞隊(duì)列。V操作定義:S:=S+1,若S>0,則執(zhí)行V操作的進(jìn)程繼續(xù)執(zhí)行,否則若S<=0,則從阻塞狀態(tài)喚醒一個(gè)進(jìn)程,并將其插入就緒隊(duì)列,然后執(zhí)行V操作的進(jìn)程繼續(xù)執(zhí)行。4、進(jìn)程通信與管程控制信息的交換稱為低級(jí)通信,數(shù)據(jù)的交換稱為高級(jí)通信。高級(jí)通信的類型有共享存儲(chǔ)系統(tǒng)、消息傳遞系統(tǒng)、管道通信。在任一時(shí)刻最多只有一個(gè)進(jìn)程能夠真正地進(jìn)入管程,其他的只能等待。5、進(jìn)程調(diào)度與死鎖產(chǎn)生死鎖的四個(gè)必要條件:互斥條件、請(qǐng)求保持條件、不可剝奪條件、環(huán)路條件。預(yù)防策略,破壞死鎖的四個(gè)必要條件之一。6、線程線程是進(jìn)程中的一個(gè)實(shí)體,是被系統(tǒng)獨(dú)立分配和調(diào)度的基本單位。線程只擁有一些運(yùn)行中必不可少的資源。同一個(gè)進(jìn)程中的多個(gè)線程可以并發(fā)執(zhí)行,線程具有:就緒、運(yùn)行、阻塞,三個(gè)基本狀態(tài)。存儲(chǔ)器的發(fā)展方向是:高速、大容量、小體積。存儲(chǔ)管理的主要任務(wù)是:如何提高主存的利用率、擴(kuò)充主存以及對(duì)主存信息實(shí)現(xiàn)有效保護(hù)。設(shè)備管理的目標(biāo)是:提高設(shè)備的利用率,為用戶提供方便統(tǒng)一的界面。磁盤調(diào)度算法:先來(lái)先服務(wù)FCFS、最短尋道時(shí)間優(yōu)先SSTF、掃描算法SCAN。隨機(jī)訪問是指對(duì)文件中的信息可以按任意次序隨機(jī)讀寫文件中的信息。文件控制塊FCB,描述和控制文件的數(shù)據(jù)結(jié)構(gòu)。常用的作業(yè)調(diào)度算法有:先來(lái)先服務(wù)、短作業(yè)優(yōu)先、相應(yīng)比高優(yōu)先、優(yōu)先級(jí)調(diào)度算法、均衡調(diào)度算法。網(wǎng)絡(luò)操作系統(tǒng)分為:集中模式、客戶機(jī)/服務(wù)器模式、對(duì)等模式。現(xiàn)代操作系統(tǒng)已經(jīng)把網(wǎng)絡(luò)功能包含到操作系統(tǒng)的內(nèi)核中,作為操作系統(tǒng)核心功能的一個(gè)組成部分。數(shù)據(jù)庫(kù)的三要素:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)約束條件。特別需要指出的是,E-R模型強(qiáng)調(diào)的是語(yǔ)義。關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論的核心是數(shù)據(jù)間的函數(shù)依賴,衡量的標(biāo)準(zhǔn)是關(guān)系規(guī)范化的程度及分解的無(wú)損連接和保持函數(shù)依賴性。數(shù)據(jù)依賴包括:函數(shù)依賴、非平凡的函數(shù)依賴、平凡的函數(shù)依賴、完全函數(shù)依賴、部分函數(shù)依賴、傳遞依賴、碼、主屬性、非主屬性、外碼、值依賴定義、函數(shù)依賴的公理系統(tǒng)。事務(wù)是數(shù)據(jù)庫(kù)環(huán)境中不可分割的邏輯工作單位。四個(gè)特性:原子性、一致性、隔離性、持久性,ACID。SQL語(yǔ)言中事務(wù)定義語(yǔ)句有三條:BEGINTRANSACTION事務(wù)開始、COMMIT事務(wù)提交、ROLLBAK事務(wù)回滾。并發(fā)操作是指:在多用戶共享系統(tǒng)中,用戶可能同時(shí)對(duì)同一數(shù)據(jù)庫(kù)進(jìn)行操作。帶來(lái)的問題主要有:丟失更新、不可重復(fù)讀、讀臟數(shù)據(jù)。并發(fā)控制主要技術(shù)是封鎖:排他鎖(簡(jiǎn)稱X鎖、寫鎖、共享鎖(簡(jiǎn)稱S鎖、讀鎖。保護(hù)數(shù)據(jù)庫(kù)的關(guān)鍵技術(shù)在于建立冗余數(shù)據(jù)、即備份數(shù)據(jù)。方法是:數(shù)據(jù)轉(zhuǎn)儲(chǔ)、建立日志。需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、應(yīng)用程序設(shè)計(jì)、運(yùn)行維護(hù)。E-R方法的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)可分三步:設(shè)計(jì)局部E-R模型、設(shè)計(jì)全局E-R模型、全局E-R模型優(yōu)化。滿足分布性、邏輯相關(guān)性、場(chǎng)地透明性、場(chǎng)地自治性的數(shù)據(jù)庫(kù)系統(tǒng)被稱為完全分布式數(shù)據(jù)庫(kù)系統(tǒng)。分布式數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn):數(shù)據(jù)的集中控制性、數(shù)據(jù)獨(dú)立性、數(shù)據(jù)冗余可控性、場(chǎng)地自治性、存取有效性。4層模式劃分為:全局外層、全局概念層、局部概念、局部?jī)?nèi)層,各層還有相應(yīng)的層間映射。一般認(rèn)為:數(shù)據(jù)倉(cāng)庫(kù)、連機(jī)分析處理、數(shù)據(jù)挖掘技術(shù)是商業(yè)智能BI的三大組成部分。數(shù)據(jù)倉(cāng)庫(kù)的關(guān)鍵特征:面向主題、集成的、非易失的、時(shí)變的。三層結(jié)構(gòu):數(shù)據(jù)倉(cāng)庫(kù)服務(wù)器、OLAP服務(wù)器(連機(jī)分析處理服務(wù)器、前端工具。數(shù)據(jù)倉(cāng)庫(kù)的實(shí)現(xiàn)步驟:規(guī)劃、需求研究、問題分析、數(shù)據(jù)的抽取清洗集成裝載、數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì)、數(shù)據(jù)倉(cāng)庫(kù)管理、分析報(bào)表查詢、數(shù)據(jù)倉(cāng)庫(kù)性能優(yōu)化、數(shù)據(jù)倉(cāng)庫(kù)部署發(fā)布。切片、切塊、下鉆、上卷、旋轉(zhuǎn)等多維度分析與跨維度分析。OLAP系統(tǒng)架構(gòu)主要分為:基于關(guān)系數(shù)據(jù)庫(kù)的ROLAP、基于多維數(shù)據(jù)庫(kù)的MOLAP、基于混合數(shù)據(jù)組織的HOLAP。數(shù)據(jù)挖掘是在沒有明確架設(shè)的前提下去挖掘信息、發(fā)現(xiàn)知識(shí)。所得的信息應(yīng)具有先知、有效、實(shí)用,三個(gè)特征。主要功能有5類:自動(dòng)預(yù)測(cè)趨勢(shì)和行為、關(guān)聯(lián)分析、聚類、概念描述、偏差檢測(cè)。2.3計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識(shí)計(jì)算機(jī)網(wǎng)絡(luò)按通信距離分廣域網(wǎng)、局域網(wǎng)、城域網(wǎng);按信息交換方式分電路交換網(wǎng)、分組交換網(wǎng)、綜合交換網(wǎng);按拓?fù)浣Y(jié)構(gòu)分星型網(wǎng)、樹形網(wǎng)、環(huán)形網(wǎng)、總線型網(wǎng);按傳輸帶寬分基帶網(wǎng)、寬帶網(wǎng);按使用范圍分公用網(wǎng)、專用網(wǎng);按通信傳播方式分廣播式、點(diǎn)到點(diǎn)式……OSI/RM:把復(fù)雜的問題分解開,保持了層次之間的獨(dú)立性。物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層、應(yīng)用層。1、廣域網(wǎng)、局域網(wǎng)、城域網(wǎng)廣域網(wǎng)又稱遠(yuǎn)程網(wǎng),覆蓋范圍廣,傳輸速率相對(duì)低,以數(shù)據(jù)通信為主要目的的數(shù)據(jù)通信網(wǎng)。數(shù)據(jù)傳輸可靠性隨著傳輸介質(zhì)不同而不同、拓?fù)浣Y(jié)構(gòu)復(fù)雜。有公共交換電話網(wǎng)、各種公用數(shù)據(jù)網(wǎng)。局域網(wǎng)是指?jìng)鬏斁嚯x有限,傳輸速度較高,以共享網(wǎng)絡(luò)資源為目的的網(wǎng)絡(luò)系統(tǒng),數(shù)據(jù)傳輸可靠誤碼率低,網(wǎng)絡(luò)控制一般為分布式,總線拓?fù)?、環(huán)形拓?fù)?、星型拓?fù)?、混合型。城域網(wǎng)是一種較大范圍的高速網(wǎng)絡(luò)。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu):網(wǎng)絡(luò)中通信線路和節(jié)點(diǎn)的幾何排序,反映各節(jié)點(diǎn)之間的結(jié)構(gòu)關(guān)系,影響著整個(gè)網(wǎng)絡(luò)的設(shè)計(jì)、功能、可靠性、通信費(fèi)用等重要方面。局域網(wǎng)和城域網(wǎng)都是IEEE802標(biāo)準(zhǔn),決定局域網(wǎng)主要技術(shù)有:傳輸介質(zhì)、拓?fù)浣Y(jié)構(gòu)、介質(zhì)訪問控制方法。決定了傳數(shù)據(jù)的類型、網(wǎng)絡(luò)響應(yīng)時(shí)間、吞吐率、利用率,以及網(wǎng)絡(luò)應(yīng)用。最重要的是介質(zhì)控制訪問方法。(CSMA/CD2、網(wǎng)絡(luò)互聯(lián)網(wǎng)絡(luò)互聯(lián)目的是使一個(gè)網(wǎng)絡(luò)的用戶能訪問其他網(wǎng)絡(luò)的資源,使不同網(wǎng)絡(luò)上的用戶能夠互相通信、交換信息。網(wǎng)絡(luò)互聯(lián)設(shè)備的作用是連接不同網(wǎng)絡(luò)。傳輸介質(zhì)是信號(hào)傳輸?shù)拿襟w,常用的介質(zhì)分為有限介質(zhì)和無(wú)線介質(zhì)。局域網(wǎng)中,其基本組成部件為服務(wù)器、客戶機(jī)、網(wǎng)絡(luò)設(shè)備、通信介質(zhì)、網(wǎng)絡(luò)軟件等。3、Internet及應(yīng)用世界上規(guī)模最大、覆蓋面最廣且最具影響力的計(jì)算機(jī)互聯(lián)網(wǎng)絡(luò),它將分布在世界各地的計(jì)算機(jī)利用開放系統(tǒng)互連協(xié)議連接在一起,用來(lái)進(jìn)行數(shù)據(jù)傳輸、信息交換、資源共享。TCP/IP作為Internet的核心協(xié)議,已被廣泛應(yīng)用于局域網(wǎng)和廣域網(wǎng)中,主要特性為:邏輯編址、路由選擇、域名解析、錯(cuò)誤檢測(cè)、流量控制、對(duì)應(yīng)用程序的支持等。TCP/IP是一個(gè)協(xié)議族,網(wǎng)際層除了IP協(xié)議外,還有ICMP、ARP、RARP等幾個(gè)重要協(xié)議……Internet的地址主要有兩種書寫形式:域名格式、IP地址格式。www也成萬(wàn)維網(wǎng)/全球網(wǎng),是指在Internet上以超文本為基礎(chǔ)形成的信息網(wǎng)。采用統(tǒng)一的資源定位器URL和圖文聲并茂的用戶界面。1、網(wǎng)絡(luò)管理網(wǎng)絡(luò)管理是對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的配置、運(yùn)行狀態(tài)、計(jì)費(fèi)等進(jìn)行管理。它提供了監(jiān)控、協(xié)調(diào)、測(cè)試各種網(wǎng)絡(luò)資源以及網(wǎng)絡(luò)運(yùn)行狀況的手段,還可以提供安全處理和積分等功能。OSI網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)中定義了網(wǎng)絡(luò)管理的5大基本功能:配置管理、性能管理、故障管理、安全管理、計(jì)費(fèi)管理。實(shí)際上還應(yīng)該包括網(wǎng)絡(luò)規(guī)劃、網(wǎng)絡(luò)操作人員管理等。2、計(jì)算機(jī)網(wǎng)絡(luò)安全計(jì)算機(jī)網(wǎng)絡(luò)安全是指計(jì)算機(jī)、網(wǎng)絡(luò)系統(tǒng)的硬件、軟件、數(shù)據(jù)收到保護(hù),不因偶然或惡意的原因而遭到破壞、更改、泄漏,確保系統(tǒng)能連續(xù)、可靠地運(yùn)行,使網(wǎng)絡(luò)服務(wù)不中斷。網(wǎng)絡(luò)安全從本質(zhì)上講就是網(wǎng)絡(luò)上的信息安全。信息的傳輸、存儲(chǔ)、訪問提供安全保護(hù),以防止信息被竊取、篡改、非法操作。信息安全的基本要素是保密性、完整性、可用性、真實(shí)性、可控性。完整的信息安全保障體系應(yīng)包括:保護(hù)、檢測(cè)、響應(yīng)、恢復(fù)。信息安全術(shù)語(yǔ):密碼學(xué)、鑒別、Kerberos鑒別、公鑰基礎(chǔ)設(shè)施、數(shù)字簽名、訪問控制3、VPN所謂虛擬專用網(wǎng),是建立在公用網(wǎng)上,沒有專用物理連接,而通過ISP提供的公共網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)通信,VPN內(nèi)部用戶可以實(shí)現(xiàn)安全通信。關(guān)鍵技術(shù):隧道技術(shù)、加密技術(shù)、密鑰管理技術(shù)、身份認(rèn)證技術(shù)。解決方案:內(nèi)聯(lián)網(wǎng)VPN、外連網(wǎng)VPN、遠(yuǎn)程接入VPN。網(wǎng)絡(luò)規(guī)劃、網(wǎng)絡(luò)設(shè)計(jì)階段、工程組織、實(shí)施階段、維護(hù)階段。RAID磁盤陣列,目的是建立數(shù)據(jù)冗余、增強(qiáng)容錯(cuò)、提高容量、增進(jìn)性能。網(wǎng)絡(luò)存儲(chǔ)體系結(jié)構(gòu)大致分為三種:直接式存儲(chǔ)DAS、網(wǎng)絡(luò)連接存儲(chǔ)NAS、存儲(chǔ)區(qū)域存儲(chǔ)SAN。負(fù)載均衡LoadBalance從結(jié)構(gòu)上分為:本地負(fù)載均衡、全局負(fù)載均衡。一般情況下從傳輸鏈路聚合、采用更高層網(wǎng)絡(luò)交換技術(shù)、設(shè)置服務(wù)器集群策略三個(gè)角度實(shí)現(xiàn)。集群Cluster,大多數(shù)模式下,集群中所有的計(jì)算機(jī)擁有一個(gè)共同的名稱,各節(jié)點(diǎn)服務(wù)器通過一個(gè)內(nèi)部局域網(wǎng)相互通訊,集群內(nèi)任一系統(tǒng)上運(yùn)行的服務(wù)都可被所有的網(wǎng)絡(luò)客戶所使用,當(dāng)一臺(tái)節(jié)點(diǎn)服務(wù)器發(fā)生故障時(shí),這臺(tái)服務(wù)器上所運(yùn)行的應(yīng)用程序?qū)⒃诹硪还?jié)點(diǎn)服務(wù)器上被自動(dòng)接管,客戶也能很快自動(dòng)地連接到新的應(yīng)用服務(wù)器上。2.4多媒體技術(shù)及其應(yīng)用媒體有兩種含義:信息的載體、存儲(chǔ)信息的實(shí)體。根據(jù)ITU-T(原CCITT建議,媒體有5種:感覺媒體、表示媒體、顯示媒體、存儲(chǔ)媒體、傳輸媒體。InternationalConsultativeCommitteOnTelecommunicationAndTelegraphy,CCITT,國(guó)際電報(bào)電話咨詢委員會(huì)。多媒體技術(shù)是指:以數(shù)字化為基礎(chǔ),對(duì)多種媒體信息進(jìn)行采集、編碼、存儲(chǔ)、傳輸、處理、表現(xiàn),使之建立有機(jī)的邏輯聯(lián)系,具有良好的交互性的技術(shù)。多媒體的特征:多樣性、集成性、交互性、實(shí)時(shí)性。JPEG,JointPhotographicExpertsGroup,聯(lián)合圖像專家小組,是一種對(duì)靜態(tài)圖像壓縮的編碼算法?!奥?lián)合”的含義是:CCITT和ISO聯(lián)合組成的圖像專家小組。MPEG,MovingPictureExpertsGroup,運(yùn)動(dòng)圖像專家小組,是作為一個(gè)國(guó)際標(biāo)準(zhǔn)來(lái)研究制訂的,具有很好的兼容性。其次,比其它算法提供更好的壓縮比,最高可達(dá)200:1。更重要的是對(duì)數(shù)據(jù)損失很小。不存在專利問題,適合大力推廣。數(shù)據(jù)壓縮編碼兩大類:無(wú)損壓縮編碼法(也稱冗余壓縮法、熵編碼法,有損壓縮編碼法(也稱熵壓縮法。對(duì)數(shù)據(jù)進(jìn)行有效壓縮將是多媒體發(fā)展中必須要解決的最關(guān)鍵的技術(shù)之一。數(shù)據(jù)量大、種類繁多、關(guān)系復(fù)雜,是多媒體數(shù)據(jù)的基本特征。虛擬現(xiàn)實(shí)首先,“逼真”就是要達(dá)到三維視覺、聽覺、觸覺等效果;其次,通過人的感官與這個(gè)環(huán)境進(jìn)行交互;最后,為用戶提供一個(gè)逼真的操作環(huán)境。虛擬現(xiàn)實(shí)是一種多技術(shù)多科學(xué)相互滲透集成的技術(shù)。只能多媒體技術(shù)將具有推理功能的知識(shí)庫(kù)與多媒體數(shù)據(jù)庫(kù)結(jié)合起來(lái),形成智能多媒體數(shù)據(jù)庫(kù)。發(fā)展趨勢(shì):把多媒體和通信功能集成到CPU芯片中。其一,專用設(shè)備、家電及寬帶通信設(shè)備,可以取代這些設(shè)備中的CPU及大量Asic和其他新品。其二,與現(xiàn)有的計(jì)算機(jī)系列兼容,同事具有多媒體和通訊功能。2.5系統(tǒng)性能系統(tǒng)性能是一個(gè)系統(tǒng)提供給用戶的眾多性能指標(biāo)的集合。既包括硬件性能,也包括軟件性能;既包括部件性能指標(biāo),也包括綜合性能指標(biāo)。系統(tǒng)性能包含性能指標(biāo)、性能計(jì)算、性能設(shè)計(jì)、性能評(píng)估,四個(gè)方面內(nèi)容。是一系列重復(fù)的受控的性能試驗(yàn),循環(huán)的調(diào)整過程為收集、分析、配置、測(cè)試。阿姆達(dá)爾定律Amdahl:系統(tǒng)中對(duì)某一部件采用某種更快的執(zhí)行方式所獲得的系統(tǒng)性能改變程度,取決于這種方式被利用的頻率,或所占總執(zhí)行時(shí)間的比例。被改進(jìn)并增強(qiáng)的部分在總時(shí)間中所占的比例,增強(qiáng)比例,永遠(yuǎn)小于等于1.對(duì)測(cè)試結(jié)果做出解釋,并形成一分文檔的技術(shù)。目的是為了性能的優(yōu)化提供參考。用得最多、最頻繁的那部分核心程序作為評(píng)價(jià)計(jì)算機(jī)性能的標(biāo)準(zhǔn)程序,稱為基準(zhǔn)測(cè)試程序Benchmark。2011年軟考系統(tǒng)架構(gòu)設(shè)計(jì)師學(xué)習(xí)筆記第三章3.1信息的特征1、客觀性:反映了事物的運(yùn)動(dòng)狀態(tài)和方式,既事實(shí)性。2、普遍性:信息無(wú)所不在。3、無(wú)限性:事物及其變化是無(wú)限多樣的。4、動(dòng)態(tài)性:隨著時(shí)間變化而變化。5、依附性:不能完全脫離物質(zhì)而獨(dú)立存在。6、變換性:可以用不同的載體以不同的方法來(lái)負(fù)載。7、傳遞性:時(shí)間上的傳遞即存儲(chǔ);空間上的傳遞即轉(zhuǎn)移或擴(kuò)散。8、層次性:信息可以分為戰(zhàn)略級(jí)、管理級(jí)、操作級(jí)。9、系統(tǒng)性:可以形成與現(xiàn)實(shí)世界相對(duì)應(yīng)的信息系統(tǒng)。信息化Informationalization,是以信息資源開發(fā)利用為核心,以網(wǎng)絡(luò)技術(shù)、通訊技術(shù)等高科技技術(shù)為依托的一種新技術(shù)擴(kuò)散的過程。3.2信息化的內(nèi)容1、信息資源的開發(fā)利用2、信息網(wǎng)絡(luò)的全面覆蓋,計(jì)算機(jī)網(wǎng)絡(luò)、電信網(wǎng)、電視網(wǎng)等,逐步實(shí)現(xiàn)三網(wǎng)合一。3、信息技術(shù)的廣泛應(yīng)用,這是信息化的基礎(chǔ)。4、信息產(chǎn)業(yè)的大力發(fā)展5、信息化人才的培養(yǎng)6、信息化政策和標(biāo)準(zhǔn)規(guī)范建設(shè)基于web的架構(gòu)是松散耦合的,優(yōu)勢(shì)在于能夠在不同的網(wǎng)絡(luò)及操作系統(tǒng)中運(yùn)行;以服務(wù)器為中心,客戶端瘦小、簡(jiǎn)單,容易在運(yùn)行時(shí)實(shí)現(xiàn)自動(dòng)升級(jí)。3.3信息化的典型應(yīng)用電子政務(wù)的內(nèi)容1、政府與政府G2G2、政府對(duì)企事業(yè)G2B3、政府對(duì)居民G2C4、企業(yè)對(duì)政府B2G5、居民對(duì)政府C2G物料需求計(jì)劃MRP,物料單系統(tǒng)BOM,制造資源計(jì)劃MRPII。1、ERP的概念企業(yè)的所有資源包括三大流:物流、資金流、信息流。ERP是建立在信息技術(shù)基礎(chǔ)上,全面地集成了企業(yè)的所有資源信息,并為企業(yè)提供決策、計(jì)劃、控制、經(jīng)營(yíng)業(yè)績(jī)?cè)u(píng)估的全方位和系統(tǒng)化的管理平臺(tái)。ERP是一種管理理論和管理思想,不僅僅是信息系統(tǒng)。1.生產(chǎn)預(yù)測(cè)市場(chǎng)需求是企業(yè)生存的基礎(chǔ),ERP中首先需要對(duì)市場(chǎng)進(jìn)行較準(zhǔn)確的預(yù)測(cè),預(yù)測(cè)主要用于計(jì)劃。常用的預(yù)測(cè)方法有:德爾菲方法、移動(dòng)平移法、指數(shù)平滑法、非線性最小二乘曲線擬合法。2.銷售管理(計(jì)劃銷售管理從其計(jì)劃角度來(lái)看,屬于最高層計(jì)劃的范疇,是企業(yè)最重要的決策層計(jì)劃之一。3.經(jīng)營(yíng)計(jì)劃(生產(chǎn)計(jì)劃大綱4.主生產(chǎn)計(jì)劃5.物料需求計(jì)劃根據(jù)主生產(chǎn)計(jì)劃對(duì)最終產(chǎn)品的需求數(shù)量和交貨期,推導(dǎo)出構(gòu)成產(chǎn)品的零部件及材料的需求數(shù)量和需求時(shí)期,再導(dǎo)出自制零部件的制作訂單下達(dá)日期和采購(gòu)件的采購(gòu)訂單發(fā)送日期。6.能力需求計(jì)劃CRP通過分析比較MRP的需求和企業(yè)現(xiàn)有生產(chǎn)力,及早發(fā)現(xiàn)能力瓶頸所在。7.車間作業(yè)計(jì)劃PAC將零部件的生產(chǎn)計(jì)劃以訂單的形式下達(dá)給適當(dāng)?shù)能囬g,屬于ERP執(zhí)行層計(jì)劃。當(dāng)前主流的車間作業(yè)計(jì)劃模式是JIT模式。8.采購(gòu)與庫(kù)存管理是ERP的基本模塊,從采購(gòu)訂單產(chǎn)生至貨物受到的全過程進(jìn)行組織、實(shí)施、控制,庫(kù)存管理IM對(duì)企業(yè)物料的進(jìn)、出、存進(jìn)行管理。9.質(zhì)量與設(shè)備管理全面質(zhì)量管理TQM,對(duì)企業(yè)的全過程進(jìn)行質(zhì)量管理,而且明確指出執(zhí)行質(zhì)量職能是企業(yè)全體人員的責(zé)任。設(shè)備管理對(duì)設(shè)備壽命周期內(nèi)的所有設(shè)備物資運(yùn)動(dòng)形態(tài)和價(jià)值運(yùn)動(dòng)形態(tài)進(jìn)行綜合管理。10.財(cái)務(wù)管理以貨幣的形式反映和監(jiān)督企業(yè)的日常經(jīng)濟(jì)活動(dòng),并對(duì)數(shù)據(jù)進(jìn)行分類、匯總,為企業(yè)管理和決策提供必要的信息支持。11.ERP有關(guān)擴(kuò)展應(yīng)用模塊客戶關(guān)系管理、分銷資源管理、供應(yīng)鏈管理、電子商務(wù)等。3、ERP的功能ERP為企業(yè)提供的功能是多層面的全方位的。1、CRM的概念提供的信息要有利于更好地理解客戶;流程管理要為客戶提供高效、適當(dāng)?shù)捏w驗(yàn);提供那些構(gòu)件強(qiáng)有力關(guān)系、提高客戶忠誠(chéng)度的體驗(yàn)。CRM的核心思想就是以客戶為中心,從傳統(tǒng)的“以產(chǎn)品為中心”的經(jīng)營(yíng)理念解放出來(lái),通過富有意義的交流溝通,理解并影響客戶行為,最終實(shí)現(xiàn)客戶保留、客戶忠誠(chéng)、客戶創(chuàng)利的目的。將客戶信息轉(zhuǎn)化為積極的客戶關(guān)系的反復(fù)循環(huán)過程。市場(chǎng)競(jìng)爭(zhēng),客戶資源逐漸減少,市場(chǎng)主動(dòng)權(quán)讓給客戶,了解市場(chǎng)和客戶真實(shí)需要的基礎(chǔ)上提供令其滿意的產(chǎn)品和服務(wù)。客戶能根據(jù)自己的需求量身定做合適自己需要的產(chǎn)品和服務(wù)。客戶信息是客戶關(guān)系管理的基礎(chǔ)。更低成本、更高效率地滿足客戶的需求,與客戶建立起基于學(xué)習(xí)性關(guān)系基礎(chǔ),最大程度提高客戶滿意度、忠誠(chéng)度。功能:日歷和日程安排、聯(lián)系和客戶管理、傭金管理、商業(yè)機(jī)會(huì)、傳遞渠道管理、銷售管理、建議的生產(chǎn)和管理、定價(jià)、區(qū)域劃分、費(fèi)用報(bào)告等。產(chǎn)品目錄和價(jià)格、購(gòu)買記錄、服務(wù)記錄、存貨情況、促銷文本資料、信用記錄。SFA應(yīng)用往往集成電子郵件、辦公軟件等其它各種標(biāo)準(zhǔn)應(yīng)用。集成客戶商業(yè)智能信息、產(chǎn)品信息、“營(yíng)銷百科全書”等信息資源。CRM中,客戶服務(wù)與支持主要是通過呼叫中心和互聯(lián)網(wǎng)來(lái)實(shí)現(xiàn),在滿足客戶的個(gè)性化要求方面,高速度、準(zhǔn)確性、高效率來(lái)完成客戶服務(wù)人員的各種要求。當(dāng)把客戶服務(wù)與支持功能同銷售、營(yíng)銷功能比較好地結(jié)合起來(lái)時(shí),就能為企業(yè)提供很多機(jī)會(huì)??蛻舴?wù)與支持的內(nèi)容應(yīng)包括:客戶關(guān)懷;糾紛、訂貨、訂單跟蹤;現(xiàn)場(chǎng)服務(wù);問題及解決方法數(shù)據(jù)庫(kù);維修行為安排調(diào)度;服務(wù)協(xié)議合同;服務(wù)請(qǐng)求管理等。商業(yè)智能是指利用數(shù)據(jù)挖掘、知識(shí)發(fā)現(xiàn)等技術(shù)分析和挖掘結(jié)構(gòu)化的、面向特定領(lǐng)域的存儲(chǔ)與數(shù)據(jù)倉(cāng)庫(kù)的信息,幫用戶認(rèn)清發(fā)展趨勢(shì)、識(shí)別數(shù)據(jù)模式、獲取職能決策支持、得出結(jié)論。智能的范圍:客戶、產(chǎn)品、服務(wù)、競(jìng)爭(zhēng)者等。收集和分析市場(chǎng)、銷售、服務(wù)和整個(gè)企業(yè)的各類信息,對(duì)客戶進(jìn)行全方位的了解,從而理順企業(yè)資源與客戶需求之間的關(guān)系。CRM尚未有成型的理論出現(xiàn)對(duì)市場(chǎng)的設(shè)定、跟蹤、分析總結(jié)。呼叫中心支持由合作的硬件廠商參與并提供全套設(shè)備,而不僅僅是提供支持呼叫中心的應(yīng)用軟件。對(duì)移動(dòng)設(shè)備的支持。決策者所掌握的信息完全,能更及時(shí)地做出決策。不管客戶由何種渠道與企業(yè)聯(lián)系,與客戶的互動(dòng)都應(yīng)該是無(wú)縫的、統(tǒng)一的、高效的。需要任命一名來(lái)自企業(yè)的系統(tǒng)管理員,作為內(nèi)部系統(tǒng)專家。經(jīng)特殊調(diào)整的系統(tǒng)必須伴隨技術(shù)培訓(xùn)。由于數(shù)據(jù)轉(zhuǎn)換過程工作量極大,因此要精確預(yù)測(cè)該過程的時(shí)間表幾乎是不可能的?!芭嘤?xùn)者”必須接受由軟件供應(yīng)商進(jìn)行的培訓(xùn),稱為新系統(tǒng)專家。對(duì)所有用戶的正規(guī)培訓(xùn),用戶必須認(rèn)識(shí)到使用新系統(tǒng)的即時(shí)和明顯好處。對(duì)系統(tǒng)的持續(xù)支持要求公司配備至少一名全職的內(nèi)部系統(tǒng)管理員,可保證技術(shù)上自給自足的靈活性,CRM系統(tǒng)的支持是艱巨的工作。為保證系統(tǒng)帶來(lái)所希望的益處,在將其推廣到所有用戶之前一定要加以測(cè)試。間接電子商務(wù),商品是有形貨物。直接電子商務(wù),商品是無(wú)形的貨物或服務(wù),雙方越過地理界限直接進(jìn)行交易。供應(yīng)鏈?zhǔn)瞧髽I(yè)賴以生存的商業(yè)循環(huán)系統(tǒng),企業(yè)供應(yīng)鏈可以耗費(fèi)企業(yè)高達(dá)25%的運(yùn)營(yíng)成本。從供應(yīng)商開始,經(jīng)由制造商、分銷商、零售商,直到最終客戶的全要素、全過程的集成化管理模式。正向推動(dòng)式運(yùn)作模式是以生產(chǎn)為中心;逆向拉動(dòng)式運(yùn)作模式是以用戶為中心;兩種不同的運(yùn)作模式適用于不同市場(chǎng)環(huán)境。2011年軟考系統(tǒng)架構(gòu)設(shè)計(jì)師學(xué)習(xí)筆記第四章4.1軟件開發(fā)方法傳統(tǒng)的軟件生命期是指軟件產(chǎn)品從形成概念(構(gòu)思開始,經(jīng)過定義、開發(fā)、使用、維護(hù)、廢棄,的全過程??梢园衍浖趧澐譃檐浖x、軟件開發(fā)、軟件運(yùn)行與維護(hù),三個(gè)階段。1、軟件定義時(shí)期1.問題定義,目標(biāo)系統(tǒng)“是什么”,系統(tǒng)的定位以及范圍。2.可行性研究,技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性、社會(huì)可行性。3.需求分析,確定軟件系統(tǒng)的功能需求、性能需求、運(yùn)行環(huán)境的約束,寫出需求規(guī)格說明書、軟件系統(tǒng)測(cè)試大綱、用戶手冊(cè)概要。充分理解用戶的需求,并以書面形式寫出規(guī)格說明書,這是以后軟件設(shè)計(jì)和驗(yàn)收的依據(jù);用戶也許很難一次性說清楚系統(tǒng)應(yīng)該做什么。系統(tǒng)分析員、軟件開發(fā)人員、用戶,共同完成,逐步細(xì)化、一致化、完全化等。軟件需求規(guī)格說明SRS,內(nèi)容可以有系統(tǒng)(或子系統(tǒng)名稱、功能描述、接口、基本數(shù)據(jù)結(jié)構(gòu)、性能、設(shè)計(jì)需求、開發(fā)標(biāo)準(zhǔn)、驗(yàn)收原則等。2、軟件開發(fā)時(shí)期軟件開發(fā)時(shí)期就是軟件的設(shè)計(jì)與實(shí)現(xiàn),概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試等。概要設(shè)計(jì)是在軟件需求規(guī)格說明的基礎(chǔ)上,建立系統(tǒng)的總體結(jié)構(gòu)(含子系統(tǒng)的劃分和模塊間的關(guān)系,定義功能模塊及各功能模塊之間的關(guān)系。詳細(xì)設(shè)計(jì)對(duì)概要設(shè)計(jì)產(chǎn)生的功能模塊逐步細(xì)化,包括算法與結(jié)構(gòu)、數(shù)據(jù)分布、數(shù)據(jù)組織、模塊間接口信息、用戶界面等,寫出詳細(xì)設(shè)計(jì)報(bào)告。測(cè)試可分成單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試、系統(tǒng)測(cè)試等。通常把編碼和測(cè)試稱為系統(tǒng)的實(shí)現(xiàn)。3、軟件運(yùn)行和維護(hù)軟件維護(hù)就是盡可能地延長(zhǎng)軟件的壽命,沒有維護(hù)的價(jià)值時(shí),宣告退役,軟件的生命結(jié)束。軟件生存周期模型又稱軟件開發(fā)模型或軟件過程模型,模型的特點(diǎn)是簡(jiǎn)單化,是軟件開發(fā)實(shí)際過程的抽象與概括。為軟件工程管理提供里程碑和進(jìn)度表,為軟件開發(fā)過程提供原則和方法。軟件過程有各種各樣的模型。1、瀑布型瀑布型的特點(diǎn)是因果關(guān)系緊密相連,前一個(gè)階段工作的結(jié)果是后一個(gè)階段工作的輸入,前一個(gè)階段的錯(cuò)漏會(huì)隱蔽地帶到后一個(gè)階段,每一個(gè)階段工作完成后,都要進(jìn)行審查和確認(rèn),它的出現(xiàn)有利于人員的組織管理,有利于軟件開發(fā)方法和工具的研究。2、原型模型根據(jù)用戶提出的軟件系統(tǒng)的定義,快速地開發(fā)一個(gè)原型,包含目標(biāo)系統(tǒng)的關(guān)鍵問題和反映目標(biāo)系統(tǒng)的大致面貌。三種途徑:利用模擬軟件系統(tǒng)的人機(jī)界面和人機(jī)交互方式。真正開發(fā)一個(gè)原型。找來(lái)一個(gè)或幾個(gè)正在運(yùn)行的類似軟件進(jìn)行比較。實(shí)際工作中,由于各種原因,大多數(shù)原型都廢棄不用,僅僅把建立原型的過程當(dāng)作幫助定義軟件需要的一種手段。用戶對(duì)系統(tǒng)模糊不清,無(wú)法準(zhǔn)確回答目標(biāo)系統(tǒng)的需求。經(jīng)過對(duì)原型若干次修改,應(yīng)該收斂到目標(biāo)范圍內(nèi),否則可能會(huì)失敗。對(duì)大型軟件來(lái)說,如果沒有現(xiàn)成的,就不應(yīng)該考慮用原型法。3、螺旋模型是生命周期模型與原型模型的一個(gè)結(jié)合,分成多個(gè)階段,每一個(gè)階段都由4部分組成:1.目標(biāo)設(shè)定,指定對(duì)過程和產(chǎn)品的約束,并且制訂詳細(xì)的管理計(jì)劃。2.風(fēng)險(xiǎn)分析,制訂解決辦法。3.開發(fā)和有效性驗(yàn)證,即開發(fā)軟件產(chǎn)品。4.評(píng)審,確定是否需要進(jìn)入螺線的下一次回路。增加一周,軟件系統(tǒng)就生成一個(gè)新版本,系統(tǒng)應(yīng)該盡快地收斂到用戶允許或可以接受的目標(biāo)范圍內(nèi)。該模型支持大型軟件開發(fā),適用于面向規(guī)格說明、面向過程、面向?qū)ο蟮能浖_發(fā)方法,也適用于幾種開發(fā)方法的組合。4、基于可重用構(gòu)件的模型把軟件工程項(xiàng)目所創(chuàng)建的構(gòu)件不斷地積累和存儲(chǔ)在一個(gè)構(gòu)件庫(kù)中,系統(tǒng)將依賴構(gòu)件的健壯性。5、基于面向?qū)ο蟮哪P蜆?gòu)件重用是非常重要的技術(shù)之一。一方面進(jìn)行構(gòu)件開發(fā),另一方面進(jìn)行需求開發(fā),快速建立OOA、OOD原型,由重用構(gòu)件組裝而成,甚至通過組裝可重用的子系統(tǒng)而創(chuàng)建更大的系統(tǒng)。6、基于四代技術(shù)的原型四代語(yǔ)言完全不用變成方式來(lái)構(gòu)造應(yīng)用系統(tǒng),而是利用一些生成器。與通常的軟件工程環(huán)境或計(jì)算機(jī)輔助軟件工程不同,只側(cè)重于支持應(yīng)用軟件開發(fā)過程中的設(shè)計(jì)階段和實(shí)現(xiàn)階段,特別是支持界面以及與界面有關(guān)的處理過程1、敏捷方法的特點(diǎn)敏捷方法是“適應(yīng)性”而非“預(yù)設(shè)性”的,重型方法在計(jì)劃制定完成后拒絕變化,而敏捷方法則歡迎變化?!懊嫦蛉说摹倍恰懊嫦蜻^程的”傳統(tǒng)的軟件開發(fā)方法的基本思路一般是只要圖紙?jiān)O(shè)計(jì)得合理并考慮充分,施工隊(duì)伍可以完全遵照?qǐng)D紙順利構(gòu)造。但是,一些設(shè)計(jì)錯(cuò)誤只能在編碼和測(cè)試時(shí)才能發(fā)現(xiàn)。傳統(tǒng)正規(guī)開發(fā)方法是個(gè)體不重要,角色才是重要的,盡量減少人的因素對(duì)開發(fā)過程的影響,但是敏捷方法正好相反。管理人員已經(jīng)脫離實(shí)際開發(fā)活動(dòng)相當(dāng)長(zhǎng)的時(shí)間了,如此設(shè)計(jì)出來(lái)的開發(fā)過程是難以為開發(fā)人員所接受的。只有在第一線的開發(fā)人員才能真正掌握和理解開發(fā)過程中的技術(shù)細(xì)節(jié),所以技術(shù)方面的決定必須由他們來(lái)做出。敏捷方法特別強(qiáng)調(diào)相關(guān)人員之間的信息交流。因?yàn)轫?xiàng)目失敗的原因最終都可以追溯到信息沒有及時(shí)準(zhǔn)確地傳遞到應(yīng)該接受它的人。特別提倡直接的面對(duì)面交流,交流成本遠(yuǎn)遠(yuǎn)低于文檔的交流。按照高內(nèi)聚、松散耦合的原則將項(xiàng)目劃分為若干個(gè)小組,以增加溝通。2、敏捷方法的核心思想1.適應(yīng)性型,利用變化來(lái)發(fā)展。2.以人為本,在無(wú)過程控制和過于嚴(yán)格繁瑣的過程控制中取得一種平衡,以保證軟件的質(zhì)量。3.迭代增量式的開發(fā)過程,發(fā)行版本小型化,根據(jù)客戶需求的優(yōu)先級(jí)和開發(fā)風(fēng)險(xiǎn),制訂版本發(fā)行計(jì)劃。3、敏捷方法的含義及其特征重型方法注重開發(fā)文檔的完備和充分性;而敏捷方法認(rèn)為最根本的文檔應(yīng)該是源碼。4、敏捷方法的適用范圍實(shí)際上,滿足工程設(shè)計(jì)標(biāo)準(zhǔn)的唯一文檔是源代碼清單。敏捷方法比較適合需求變化比較大或者開發(fā)前期對(duì)需求不是很清晰的項(xiàng)目。敏捷方法對(duì)設(shè)計(jì)者、開發(fā)者、客戶之間的有效溝通和及時(shí)反饋要求比較高,不易在開發(fā)團(tuán)隊(duì)比較龐大的項(xiàng)目中實(shí)施。5、敏捷方法的主要內(nèi)容四個(gè)核心價(jià)值觀:溝通、簡(jiǎn)單、反饋、勇氣。簡(jiǎn)單:只要滿足當(dāng)前功能需求,不做假象設(shè)計(jì)。勇氣:用于抉擇,用于實(shí)踐,用于重構(gòu)。12條實(shí)踐規(guī)則:簡(jiǎn)單設(shè)計(jì)、測(cè)試驅(qū)動(dòng)、代碼重構(gòu)、結(jié)對(duì)編程、繼續(xù)集成、現(xiàn)場(chǎng)客戶、開發(fā)版本小型化、系統(tǒng)隱喻、代碼集體所有制、規(guī)劃策略、規(guī)范代碼、40小時(shí)工作機(jī)制。6、主要敏捷方法簡(jiǎn)介極限編程水晶系列方法開放式源碼,任何人發(fā)現(xiàn)Bug都可以將補(bǔ)丁發(fā)給維護(hù)者。SCRUMCoad的功用驅(qū)動(dòng)開發(fā)方法:短時(shí)迭代階段和可見可用的功能,一個(gè)迭代周期一般為兩周,編程人員分為類程序員、首席程序員。ASD方法,猜測(cè)、合作、學(xué)習(xí)。RUP把軟件開發(fā)生命周期劃分為多個(gè)循環(huán)(cycle,每個(gè)cycle生成產(chǎn)品的一個(gè)新版本,每個(gè)cycle依次由4個(gè)連續(xù)階段(phase組成:初始:定義最終產(chǎn)品視圖和業(yè)務(wù)模型,并確定系統(tǒng)范圍。細(xì)化:制定工作計(jì)劃及資源要求。構(gòu)造。移交。迭代并不是重復(fù)地做相同的事,而是針對(duì)不同用例細(xì)化和實(shí)現(xiàn),每一個(gè)迭代都是一個(gè)完整的開發(fā)過程。每個(gè)階段結(jié)束前有一個(gè)里程碑(milestone評(píng)估該階段的工作。如果未能通過該里程碑的評(píng)估,則決策者應(yīng)該做出決定,是取消該項(xiàng)目還是繼續(xù)做該階段的工作。RUP中的核心概念角色(Role,who的問題,某個(gè)人或一個(gè)小組的行為與職責(zé)?;顒?dòng)(Activity,how的問題,是一個(gè)有明確目的的獨(dú)立工作單元。制品(Artifact,what的問題,是活動(dòng)生成、創(chuàng)建、修改第一段信息。工作流(Workflow,when的問題,每個(gè)工作流產(chǎn)生一些有價(jià)值的產(chǎn)品,并顯示了角色之間的關(guān)系。RUP的特點(diǎn)RUP是用例驅(qū)動(dòng)的、以體系結(jié)構(gòu)為中心的、迭代和增量的軟件開發(fā)過程。用例驅(qū)動(dòng):需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試,都是用例驅(qū)動(dòng)的。以體系結(jié)構(gòu)為中心:刻畫了系統(tǒng)的整體設(shè)計(jì),去掉了細(xì)節(jié)部分,突出了系統(tǒng)的重要特征。不依賴于具體語(yǔ)言,是軟件設(shè)計(jì)過程的一個(gè)層次。體系結(jié)構(gòu)層次的設(shè)計(jì)問題包括:總體組織和全局控制、通訊協(xié)議、同步、數(shù)據(jù)存取、給設(shè)計(jì)元素分配特定功能、設(shè)計(jì)元素的組織、物理分布、系統(tǒng)的伸縮性、性能等。一個(gè)系統(tǒng)不可能在所有特性上都達(dá)到最優(yōu),對(duì)于一個(gè)系統(tǒng),不同人員所關(guān)心的內(nèi)容也是不一樣的,對(duì)于不同類型的人員,只需提供這類人員關(guān)心的視圖即可。分析和測(cè)試人員關(guān)心用例圖,最終用戶關(guān)心邏輯視圖,程序員關(guān)心實(shí)現(xiàn)視圖,系統(tǒng)工程師關(guān)心部署視圖。RUB強(qiáng)調(diào)采用迭代和增量的方法來(lái)開發(fā)軟件,每次迭代中,之考慮系統(tǒng)的一部分需求,每次增加一些新的功能實(shí)現(xiàn)。好處:早期就可以對(duì)關(guān)鍵的、影響大的風(fēng)險(xiǎn)進(jìn)行處理??梢蕴岢鲆粋€(gè)軟件體系結(jié)構(gòu)來(lái)指導(dǎo)開發(fā)。處理不可避免的需求變更??梢暂^早地得到一個(gè)可運(yùn)行的系統(tǒng),鼓舞開發(fā)團(tuán)隊(duì)的士氣,增強(qiáng)項(xiàng)目成功的信心。更有效工作的開發(fā)過程。沒有一個(gè)項(xiàng)目會(huì)使用RUP中所有的東西,用用RUP時(shí)要裁剪,裁剪步驟:1.確定本項(xiàng)目需要哪些工作流。2.確定每個(gè)工作流要產(chǎn)出哪些制品。3.確定四個(gè)階段之間(初始階段、細(xì)化階段、構(gòu)造階段、移交階段如何演進(jìn)。4.確定每個(gè)階段內(nèi)迭代計(jì)劃。5.規(guī)劃工作流內(nèi)部結(jié)構(gòu)。按軟件過程活動(dòng)將軟件工具分為軟件開發(fā)工具、軟件維護(hù)工具、軟件管理和軟件支持工具。軟件開發(fā)工具有:需求分析工具、設(shè)計(jì)工具、編碼與排錯(cuò)工具、測(cè)試工具等。需求分析工具,生成完整的、清晰的、一致的功能規(guī)范。功能規(guī)范是軟件開發(fā)者和用戶間的契約,也是軟件設(shè)計(jì)者的和實(shí)現(xiàn)者的依據(jù)。正確、完整表達(dá)清晰的、無(wú)歧義的。需求分析工具分為基于自然語(yǔ)言或圖形描述的工具,基于形式化需求定義語(yǔ)言的工具。項(xiàng)目管理工具:項(xiàng)目的計(jì)劃、調(diào)度、通信、成本估算、資源分配、質(zhì)量控制等。4.2需求管理需求最終文檔經(jīng)過評(píng)審批準(zhǔn)后,則定義了需求基線Baseline;構(gòu)筑了功能需求和非功能需求的一個(gè)約定Agreement。約定是需求開發(fā)和需求管理之間的橋梁。需求管理是一個(gè)對(duì)系統(tǒng)需求變更、了解和控制的過程,初始需求導(dǎo)出的同時(shí)就啟動(dòng)了需求管理規(guī)劃。過程能力成熟度模型CMM,指導(dǎo)軟件過程改進(jìn),5個(gè)成熟級(jí)別,6個(gè)關(guān)鍵過程域KPA。一旦需求文檔化了,開發(fā)組和有關(guān)團(tuán)隊(duì)需要評(píng)審文檔。發(fā)現(xiàn)問題應(yīng)與客戶或者其他需求源協(xié)商解決。軟件開發(fā)計(jì)劃是基于已確認(rèn)的需求。絕不要承諾任何無(wú)法實(shí)現(xiàn)的事。關(guān)鍵處理領(lǐng)域通過版本控制和變更控制來(lái)管理需求文檔。確保與新的需求保持一致。版本控制是管理需求的一個(gè)必要方面,必須統(tǒng)一確定需求文檔的每一個(gè)版本,當(dāng)需求發(fā)生變更時(shí),及時(shí)通知所有涉及人員。為了盡量減少困惑、沖突、誤傳,應(yīng)該僅允許指定的人員來(lái)更新需求。清楚地區(qū)分草稿和文檔定稿版本。遲到的需求變更會(huì)對(duì)已進(jìn)行的工作產(chǎn)生非常大的影響。如果每一個(gè)建議的需求變更都采用,該項(xiàng)目將可能永遠(yuǎn)無(wú)法完成。需求文檔應(yīng)該精確描述要交付的產(chǎn)品。項(xiàng)目負(fù)責(zé)人在信息充分的條件下做出決策。變更成本計(jì)算應(yīng)該包括需求文檔的修改、系統(tǒng)修改的設(shè)計(jì)、實(shí)現(xiàn)的成本。變更控制過程并不是給變更設(shè)置障礙,相反,它是一個(gè)渠道和過濾器,確保采納最合適的變更,使變更產(chǎn)生的負(fù)面影響降到最低,變更過程應(yīng)該做成文檔。絕不能刪除或者修改變更請(qǐng)求的原始文檔。變更控制委員會(huì)只要能決定合適的人做正確的事就足夠了,在保證權(quán)威性的前提下應(yīng)盡可能精簡(jiǎn)人員。對(duì)每個(gè)變更權(quán)衡利弊做出決定?!袄卑ü?jié)省資金或額外收入、客戶滿意度、競(jìng)爭(zhēng)優(yōu)勢(shì)、減少上市時(shí)間;“弊”是指增加開發(fā)費(fèi)用、推遲交付日期、產(chǎn)品質(zhì)量下降、減少功能、用戶不滿意。變更總是有代價(jià)的,即使拒絕的變更也因?yàn)闆Q策行為而耗費(fèi)資源。接受了重要的需求變更時(shí),為了適應(yīng)變更情況要與管理部門和客戶重新協(xié)商約定。推遲交貨時(shí)間、增加人手、推遲實(shí)現(xiàn)尚未實(shí)現(xiàn)的較低優(yōu)先級(jí)的需求,或質(zhì)量上進(jìn)行折中。要是不能獲得一些約定的調(diào)整,應(yīng)該把面臨的風(fēng)險(xiǎn)寫進(jìn)風(fēng)險(xiǎn)計(jì)劃中。需求、體系結(jié)構(gòu)、其他設(shè)計(jì)部件、源代碼模塊、測(cè)試、幫助文件、文檔等。跟蹤能力(聯(lián)系鏈(traceabilitylink是優(yōu)秀需求規(guī)格說明書的一個(gè)特征,確保軟件需求規(guī)格說明包括所有客戶需求。跟蹤能力聯(lián)系鏈記錄了單個(gè)需求之間的父層、互連、依賴的關(guān)系。不必?fù)碛兴蟹N類的跟蹤能力聯(lián)系鏈,要根據(jù)具體情況調(diào)整。只有在知道變更成本后才能做出理智的選擇,一個(gè)表面上很簡(jiǎn)單的變更也可能轉(zhuǎn)變成很復(fù)雜的局面。影響分析確定對(duì)現(xiàn)有系統(tǒng)做出是修改或者拋棄的決定,創(chuàng)建新系統(tǒng)以及評(píng)估每個(gè)任務(wù)的工作量,進(jìn)行影響分析的能力依賴于跟蹤能力、數(shù)據(jù)的質(zhì)量、完整性。4.3開發(fā)管理1、范圍可交付物、架設(shè)、約束條件的基礎(chǔ)上準(zhǔn)備詳細(xì)的項(xiàng)目范圍說明書,是項(xiàng)目成功的關(guān)鍵。2、時(shí)間進(jìn)度安排的準(zhǔn)確程度可能比成本估計(jì)的準(zhǔn)確程度更重要。對(duì)于成本估計(jì)的偏差,可以靠重新定價(jià)或大量的銷售來(lái)彌補(bǔ)成本的增加,如果進(jìn)度計(jì)劃不能得到實(shí)施,則會(huì)導(dǎo)致市場(chǎng)機(jī)會(huì)的喪失或用戶不滿意,而且會(huì)使成本增加。工作分解結(jié)構(gòu)WorkBreakdownStructureWBS1、配置管理配置項(xiàng)ConfigurationItemCI,屬于產(chǎn)品組成部分的工作成果,如需求文檔、設(shè)計(jì)文檔、源代碼、測(cè)試用例等。屬于項(xiàng)目管理和機(jī)構(gòu)支撐過程域產(chǎn)生的文檔,如工作計(jì)劃、項(xiàng)目質(zhì)量報(bào)告、項(xiàng)目跟蹤報(bào)告等。每個(gè)配置項(xiàng)的主要屬性有名稱、標(biāo)識(shí)符、文件狀態(tài)、版本、作者、日期等。2、文檔管理文檔是影響軟件可維護(hù)性的決定因素,使用過程中必然會(huì)經(jīng)受多次修改,所以文檔比程序代碼更重要。用戶文檔:主要描述系統(tǒng)功能和使用方法。系統(tǒng)文檔:描述系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試等各方面內(nèi)容。軟件文檔應(yīng)該滿足下述要求:1.如何使用2.怎樣安裝和管理3.需求和設(shè)計(jì)4.實(shí)現(xiàn)和測(cè)試說明用戶操作錯(cuò)誤時(shí)應(yīng)該怎樣恢復(fù)和重新啟動(dòng)。1、軟件質(zhì)量IOS9000對(duì)項(xiàng)目質(zhì)量的定義:一組固有特性滿足需求的程度。質(zhì)量與范圍、成本和時(shí)間,是項(xiàng)目成功的關(guān)鍵因素,通過范圍管理轉(zhuǎn)換隱含需求為項(xiàng)目需求。質(zhì)量低說明產(chǎn)品或服務(wù)存在問題,而低等級(jí)的產(chǎn)品或服務(wù)不一定存在問題,二者概念不同。2、軟件開發(fā)風(fēng)險(xiǎn)認(rèn)識(shí)不足或者沒有足夠的力量加以控制。了解、掌握風(fēng)險(xiǎn)的來(lái)源、性質(zhì)、發(fā)生規(guī)律,進(jìn)而施行有效的管理?;蛉恍浴⒉淮_定性、涉及到某種選擇時(shí),才成為有風(fēng)險(xiǎn),以上三個(gè)是風(fēng)險(xiǎn)定義的必要條件,不是充分條件,具有不確定性的事件不一定是風(fēng)險(xiǎn)。結(jié)構(gòu)程序設(shè)計(jì)較流行的定義為:采用自頂向下逐步求精的設(shè)計(jì)方法和單入口單出口的控制構(gòu)件。自頂向下逐步求精的方法是:先整體后局部,先抽象后具體,一般具有較清晰的層次。僅使用單入口單出口的控制構(gòu)件,具有良好的結(jié)構(gòu)特征。采用結(jié)構(gòu)程序設(shè)計(jì),可能會(huì)多占用一些時(shí)間和空間資源,這也是那些反對(duì)從高級(jí)語(yǔ)言中排除GOTO語(yǔ)句者的主要依據(jù)。實(shí)際上,硬件飛速發(fā)展,這點(diǎn)耗費(fèi),不再是重要的因素。面向?qū)ο蟮姆治瞿P椭饕身攲蛹軜?gòu)圖、用例與用例圖、領(lǐng)域概念模型構(gòu)成;設(shè)計(jì)模型包含:以包圖表示的軟件體系結(jié)構(gòu)圖、以交互圖表示的用例實(shí)現(xiàn)圖、完整精確的類圖、針對(duì)復(fù)雜對(duì)象的狀態(tài)圖、描述流程化處理過程的活動(dòng)圖等。4.4軟件的重用重復(fù)使用相同或相似軟件元素。軟件元素:需求分析文檔、設(shè)計(jì)過程、設(shè)計(jì)文檔、程序代碼、測(cè)試用例、領(lǐng)域知識(shí)等,通產(chǎn)這些軟件元素稱為軟部件。不斷地進(jìn)行軟部件的積累,并將它們組織成軟部件庫(kù)。橫向重用(horizontalreuse:重用不同應(yīng)用領(lǐng)域中的軟件元素。標(biāo)準(zhǔn)函數(shù)庫(kù)是一種典型的、原始的橫向重用機(jī)制??v向重用廣受矚目,并稱為軟件重用技術(shù)的真正希望所在,關(guān)鍵點(diǎn)是域分析,根據(jù)應(yīng)用領(lǐng)域的特征以及相似性預(yù)測(cè)軟部件的可重用性。庫(kù)的組織結(jié)構(gòu)直接影響軟部件的檢索效率。由于軟部件大都經(jīng)過嚴(yán)格的質(zhì)量認(rèn)證,并在實(shí)際運(yùn)行環(huán)境中得到檢驗(yàn),因此重用軟部件有助于改善軟件質(zhì)量。4.5逆向工程與重構(gòu)工程逆向工程就是分析已有的程序,尋找比源代碼更高級(jí)的抽象表現(xiàn)形式。相關(guān)概念:重構(gòu)Restructuring,在同一抽象級(jí)別上轉(zhuǎn)換系統(tǒng)描述形式;設(shè)計(jì)恢復(fù)designrecovery,重構(gòu)工程re-engineering,也稱修復(fù)和改造工程。1、恢復(fù)信息的級(jí)別逆向工程導(dǎo)出的信息,4個(gè)抽象層次1.實(shí)現(xiàn)級(jí)2.結(jié)構(gòu)級(jí)3.功能級(jí)4.領(lǐng)域級(jí)2、恢復(fù)信息的方法,4類:1.用戶指導(dǎo)下搜索與變換2.變換式方法3.基于領(lǐng)域知識(shí)的4.鉛板恢復(fù)法2011年軟考系統(tǒng)架構(gòu)設(shè)計(jì)師學(xué)習(xí)筆記第五章軟件架構(gòu)設(shè)計(jì)SoftwareArchitecture簡(jiǎn)稱SA1、需求分析階段需求和SA設(shè)計(jì)面臨的是不同的對(duì)象:一個(gè)是問題空間;另一個(gè)是解空間。保持二者的可跟蹤性和轉(zhuǎn)換。2、設(shè)計(jì)階段1.傳統(tǒng)的設(shè)計(jì)概念只包括構(gòu)件,隨著研究的深入,構(gòu)件間的互聯(lián)機(jī)制逐漸獨(dú)立出來(lái),成為與構(gòu)件同等級(jí)別的實(shí)體,稱為連接子。2.體系結(jié)構(gòu)描述語(yǔ)言(ArchitectureDescriptionLanguageADL對(duì)連接子的重視成為區(qū)分ADL和其他建模語(yǔ)言的重要特征之一。3.不同的視角得到多個(gè)視圖,組織起來(lái)以描述整體的SA模型;不同側(cè)面的視圖反映所關(guān)注的系統(tǒng)的特定方面,體現(xiàn)了關(guān)注點(diǎn)分離的思想。3、實(shí)現(xiàn)階段團(tuán)隊(duì)的結(jié)構(gòu)應(yīng)該和體系結(jié)構(gòu)模型有一定的對(duì)應(yīng)關(guān)系,提高軟件開發(fā)效率和質(zhì)量。分析和記錄不同版本構(gòu)件和連接子之間的演化。填補(bǔ)高層SA模型和底層實(shí)現(xiàn)之間的鴻溝,典型的方法如下:1.引入實(shí)現(xiàn)階段的概念。2.SA模型逐步精化。3.封裝底層稱為較大粒度構(gòu)件。4、構(gòu)件組裝階段可復(fù)用構(gòu)件組裝可以在較高層次上實(shí)現(xiàn)系統(tǒng),研究?jī)?nèi)容包括:1.如何互聯(lián)。2.如何檢測(cè)并消除體系結(jié)構(gòu)失配問題。中間件跨平臺(tái)交互。產(chǎn)品化的中間件更好地保證最終系統(tǒng)的質(zhì)量,中間件導(dǎo)向的體系結(jié)構(gòu)風(fēng)格。失配是指復(fù)用過程中,待復(fù)用構(gòu)件對(duì)最終系統(tǒng)的體系結(jié)構(gòu)和環(huán)境的架設(shè)(Assumption與實(shí)際狀況下不同而導(dǎo)致的沖突。5、部署階段軟件構(gòu)件的互聯(lián)性、硬件的拓?fù)浣Y(jié)構(gòu)、硬件資源占用。6、后開發(fā)階段實(shí)現(xiàn)中的軟件往往具有動(dòng)態(tài)性,一類是軟件內(nèi)部執(zhí)行所導(dǎo)致的體系結(jié)構(gòu)改變,另一類變化是軟件系統(tǒng)外部的請(qǐng)求對(duì)軟件進(jìn)行的重配置。升級(jí)或進(jìn)行其他修改時(shí)不能停機(jī)。SA重建是指從已實(shí)現(xiàn)的系統(tǒng)中獲取體系結(jié)構(gòu)的過程。5.2基于架構(gòu)的軟件開發(fā)方法基于體系結(jié)構(gòu)的軟件設(shè)計(jì)(Architecture-BasedSoftwareDesignABSD方法。體系結(jié)構(gòu)驅(qū)動(dòng),指構(gòu)成體系結(jié)構(gòu)的商業(yè)、質(zhì)量、功能需求的組合驅(qū)動(dòng)。設(shè)計(jì)活動(dòng)的開始并不意味著需求抽取和分析活動(dòng)就可以終止,而應(yīng)該并行,快速開始設(shè)計(jì)至關(guān)重要。ABSD方法有三個(gè)基礎(chǔ),功能分解、選擇體系結(jié)構(gòu)風(fēng)格、軟件模板的使用。1、設(shè)計(jì)元素ABSD方法是一個(gè)自頂向下,遞歸細(xì)化的方法。2、視角與視圖重要的是從不同的視角(perspective來(lái)檢查,考慮體系結(jié)構(gòu)的不同屬性。3、用例和質(zhì)量場(chǎng)景在使用用例捕獲功能需求時(shí),通過定義特定場(chǎng)景來(lái)捕獲質(zhì)量需求,稱為質(zhì)量場(chǎng)景。捕獲變更、性能、可靠性、交互性,質(zhì)量場(chǎng)景必須包括預(yù)期的和非預(yù)期的??梢詮男枨髱?kù)中取出,加以利用和修改。獲取需求,體系結(jié)構(gòu)需求一般來(lái)自三個(gè)方面:系統(tǒng)的質(zhì)量目標(biāo)、系統(tǒng)的商業(yè)目標(biāo)、開發(fā)人員的商業(yè)目標(biāo)。體系結(jié)構(gòu)規(guī)格說明和測(cè)試體系結(jié)構(gòu)需求的質(zhì)量設(shè)計(jì)說明書。需求模型構(gòu)件的精確形式化描述,作為用戶和開發(fā)者之間的一個(gè)協(xié)約。從使用者的角度進(jìn)行編寫,必須保證開發(fā)者手上的文檔是最新的。根據(jù)架構(gòu)設(shè)計(jì),搭建一個(gè)可運(yùn)行的最小化系統(tǒng)用于評(píng)估和測(cè)試體系架構(gòu)是否滿足需要。是否存在可識(shí)別的技術(shù)和協(xié)作風(fēng)險(xiǎn)。復(fù)審的目的是標(biāo)識(shí)潛在風(fēng)險(xiǎn),及早發(fā)現(xiàn)缺陷和錯(cuò)誤。分割成規(guī)定的構(gòu)件,按規(guī)定方式互相交互。5.3軟件架構(gòu)風(fēng)格體系結(jié)構(gòu)設(shè)計(jì)核心目標(biāo)是重復(fù)的體系結(jié)構(gòu)模式,體系結(jié)構(gòu)級(jí)的軟件重用。一個(gè)體系結(jié)構(gòu)定義一個(gè)詞匯表和一組約束。詞匯表中包含構(gòu)件和連接件類型約束指出如何組合起來(lái)。體系結(jié)構(gòu)風(fēng)格反映了共有的結(jié)構(gòu)和語(yǔ)義特性,并指導(dǎo)如何組織成一個(gè)完整的系統(tǒng)。每個(gè)構(gòu)件都有一組輸入和輸出,數(shù)據(jù)輸入構(gòu)件,經(jīng)過內(nèi)部處理,然后產(chǎn)生數(shù)據(jù)輸出。這里的構(gòu)件稱為過濾器。構(gòu)件是對(duì)象。分層系統(tǒng),每一層為上層提供服務(wù),并作為下層的客戶。除一些精心挑選的輸出函數(shù)外,內(nèi)部的層接口只對(duì)相鄰層可見。由于一層最多只影響兩層,為軟件重用提供了強(qiáng)大的支持。倉(cāng)庫(kù)風(fēng)格中,兩種不同的構(gòu)件:中央數(shù)據(jù)結(jié)構(gòu)、獨(dú)立構(gòu)件。若構(gòu)件控制共享數(shù)據(jù),則倉(cāng)庫(kù)是一傳統(tǒng)型數(shù)據(jù)庫(kù);若中央數(shù)據(jù)結(jié)構(gòu)的當(dāng)前狀態(tài)觸發(fā)進(jìn)程執(zhí)行的選擇,則倉(cāng)庫(kù)是一黑板系統(tǒng)。C2體系結(jié)構(gòu)通過連接件綁定在一起按照一組規(guī)則運(yùn)作的并行構(gòu)件網(wǎng)絡(luò)。構(gòu)件與構(gòu)件之間的連接是不允許的。宿主機(jī)應(yīng)用程序既負(fù)責(zé)與用戶的交互(前端,又負(fù)責(zé)對(duì)數(shù)據(jù)的管理(后端。C/S體系結(jié)構(gòu)定義了工作站如何與服務(wù)器相連,實(shí)現(xiàn)部分?jǐn)?shù)據(jù)和應(yīng)用分布到多個(gè)處理機(jī)上。C/S三個(gè)主要組成部分:服務(wù)器、客戶機(jī)、網(wǎng)絡(luò)。易于對(duì)系統(tǒng)進(jìn)行擴(kuò)充和縮小。功能構(gòu)件充分隔離,客戶應(yīng)用程序的開發(fā)集中于數(shù)據(jù)的顯示和分析,數(shù)據(jù)庫(kù)服務(wù)器的開發(fā)集中于數(shù)據(jù)的管理,將大應(yīng)用處理任務(wù)分布到許多通過網(wǎng)絡(luò)連接的低成本計(jì)算機(jī)上,模型思想簡(jiǎn)單。開發(fā)成本高,尤其是軟件不斷升級(jí),客戶端變得越來(lái)越臃腫。信息內(nèi)容和形式單一,用戶獲得的只是單純的字符和數(shù)字。軟件移植困難,維護(hù)升級(jí)困難。三層C/S體系結(jié)構(gòu)中,可以將整個(gè)應(yīng)用邏輯駐留在應(yīng)用服務(wù)器上,只有表示層存在于客戶機(jī)上,稱為“瘦客戶機(jī)”。表示層、功能層、數(shù)據(jù)層。表示層一般要使用圖形用戶界面GUI。功能層之間的數(shù)據(jù)交互要盡可能簡(jiǎn)潔,一次性傳輸。數(shù)據(jù)層不同層構(gòu)件相互獨(dú)立,層間接口簡(jiǎn)潔,適合復(fù)雜事務(wù)處理一個(gè)體系結(jié)構(gòu)定義一個(gè)詞匯表和一組約束。詞匯表中包含構(gòu)件和連接件類型約束指出如何組合起來(lái)。體系結(jié)構(gòu)風(fēng)格反映了共有的結(jié)構(gòu)和語(yǔ)義特性,并指導(dǎo)如何組織成一個(gè)完整的系統(tǒng)。每個(gè)構(gòu)件都有一組輸入和輸出,數(shù)據(jù)輸入構(gòu)件,經(jīng)過內(nèi)部處理,然后產(chǎn)生數(shù)據(jù)輸出。這里的構(gòu)件稱為過濾器。構(gòu)件是對(duì)象。分層系統(tǒng),每一層為上層提供服務(wù),并作為下層的客戶。除一些精心挑選的輸出函數(shù)外,內(nèi)部的層接口只對(duì)相鄰層可見。由于一層最多只影響兩層,為軟件重用提供了強(qiáng)大的支持。倉(cāng)庫(kù)風(fēng)格中,兩種不同的構(gòu)件:中央數(shù)據(jù)結(jié)構(gòu)、獨(dú)立構(gòu)件。若構(gòu)件控制共享數(shù)據(jù),則倉(cāng)庫(kù)是一傳統(tǒng)型數(shù)據(jù)庫(kù);若中央數(shù)據(jù)結(jié)構(gòu)的當(dāng)前狀態(tài)觸發(fā)進(jìn)程執(zhí)行的選擇,則倉(cāng)庫(kù)是一黑板系統(tǒng)。C2體系結(jié)構(gòu)通過連接件綁定在一起按照一組規(guī)則運(yùn)作的并行構(gòu)件網(wǎng)絡(luò)。構(gòu)件與構(gòu)件之間的連接是不允許的。宿主機(jī)應(yīng)用程序既負(fù)責(zé)與用戶的交互(前端,又負(fù)責(zé)對(duì)數(shù)據(jù)的管理(后端。C/S體系結(jié)構(gòu)定義了工作站如何與服務(wù)器相連,實(shí)現(xiàn)部分?jǐn)?shù)據(jù)和應(yīng)用分布到多個(gè)處理機(jī)上。C/S三個(gè)主要組成部分:服務(wù)器、客戶機(jī)、網(wǎng)絡(luò)。易于對(duì)系統(tǒng)進(jìn)行擴(kuò)充和縮小。功能構(gòu)件充分隔離,客戶應(yīng)用程序的開發(fā)集中于數(shù)據(jù)的顯示和分析,數(shù)據(jù)庫(kù)服務(wù)器的開發(fā)集中于數(shù)據(jù)的管理,將大應(yīng)用處理任務(wù)分布到許多通過網(wǎng)絡(luò)連接的低成本計(jì)算機(jī)上,模型思想簡(jiǎn)單。開發(fā)成本高,尤其是軟件不斷升級(jí),客戶端變得越來(lái)越臃腫。信息內(nèi)容和形式單一,用戶獲得的只是單純的字符和數(shù)字。軟件移植困難,維護(hù)升級(jí)困難。三層C/S體系結(jié)構(gòu)中,可以將整個(gè)應(yīng)用邏輯駐留在應(yīng)用服務(wù)器上,只有表示層存在于客戶機(jī)上,稱為“瘦客戶機(jī)”。表示層、功能層、數(shù)據(jù)層。表示層一般要使用圖形用戶界面GUI。功能層之間的數(shù)據(jù)交互要盡可能簡(jiǎn)潔,一次性傳輸。數(shù)據(jù)層不同層構(gòu)件相互獨(dú)立,層間接口簡(jiǎn)潔,適合復(fù)雜事務(wù)處理一般情況下,需要用開發(fā)者習(xí)慣使用的工具和方法建立DSSA模型。DSSA建立過程分為5個(gè)階段,過程是并發(fā)的、遞歸的、反復(fù)的,可能每個(gè)階段經(jīng)歷幾遍,每次增加更多的細(xì)節(jié)。1、定義領(lǐng)域范圍,一系列用戶的需求。2、定義領(lǐng)域特定的元素,編譯領(lǐng)域字典、領(lǐng)馭屬于的同義詞詞典。3、定義特定的設(shè)計(jì)和實(shí)現(xiàn)需求約束,不僅要識(shí)別出約束,并且要記錄約束對(duì)設(shè)計(jì)和實(shí)現(xiàn)造成的后果,還要記錄對(duì)處理這些問題時(shí)所產(chǎn)生的所有問題的討論。4、定義領(lǐng)域模型和體系結(jié)構(gòu),產(chǎn)生一般的體系結(jié)構(gòu),并說明構(gòu)成它們的模塊或構(gòu)件的語(yǔ)法、語(yǔ)義。5、搜集可重用的產(chǎn)品單元,為DSSA增加構(gòu)件。評(píng)估可以只針對(duì)一個(gè)體系結(jié)構(gòu),也可以針對(duì)一對(duì)一組體系結(jié)構(gòu)。關(guān)注的是質(zhì)量屬性。1、性能,是指系統(tǒng)的響應(yīng)能力,多長(zhǎng)時(shí)間對(duì)某個(gè)事件做出響應(yīng),或者某段時(shí)間內(nèi)系統(tǒng)所能處理的事件的個(gè)數(shù)。2、可靠性,是最重要的軟件特性,平均失效等待時(shí)間MTTF,平均失效間隔時(shí)間MTBF1.容錯(cuò),內(nèi)部修復(fù)。2.健壯性,不受錯(cuò)誤使用和錯(cuò)誤輸入的影響。3、可用性,正常運(yùn)行的時(shí)間比例。經(jīng)常用兩次故障之間的時(shí)間長(zhǎng)度或恢復(fù)正常的速度來(lái)表示。4、安全性,阻止非授權(quán)用戶。分為機(jī)密性、完整性、不可否認(rèn)性、可控性等特性。5、可修改性,通過考察變更的代價(jià)衡量可修改性。1.可維護(hù)性,主要體現(xiàn)在問題修復(fù)上,做局部性的修改并能使對(duì)其他否見的負(fù)面影響最小化。2.可擴(kuò)展性,新特性來(lái)擴(kuò)展軟件系統(tǒng),改進(jìn)版本來(lái)替換構(gòu)件并刪除不需要的特性構(gòu)件,需要松散耦合的構(gòu)件。3.結(jié)構(gòu)重組,需要精心設(shè)計(jì)構(gòu)件之間的關(guān)系。4.可移植性。6、功能性,完成所期望的工作的能力。7、可變性。8、互操作性,精心設(shè)計(jì)的軟件入口。敏感點(diǎn)權(quán)衡點(diǎn),是關(guān)鍵的體系結(jié)構(gòu)決策。敏感點(diǎn)是構(gòu)件(和/或構(gòu)建之間的關(guān)系的特性。研究敏感點(diǎn)可使人員明確在實(shí)現(xiàn)質(zhì)量目標(biāo)時(shí)應(yīng)注意什么。權(quán)衡點(diǎn)是多個(gè)質(zhì)量屬性的敏感點(diǎn)。風(fēng)險(xiǎn)承擔(dān)著或稱為收益相關(guān)人。場(chǎng)景,首先要精確地得出具體的質(zhì)量目標(biāo),為得出這些目標(biāo)采用的機(jī)制叫做場(chǎng)景。從風(fēng)險(xiǎn)承擔(dān)者的角度與系統(tǒng)的交互的簡(jiǎn)短描述。刺激、環(huán)境、響應(yīng),三個(gè)方面描述場(chǎng)景。1、SAAM非功能質(zhì)量屬性的體系結(jié)構(gòu)分析方法,是最早形式成文檔并得到廣泛使用的分析方法。最初它用于比較不同的軟件體系結(jié)構(gòu),以分析SA的可修改性。1.特定目標(biāo),目標(biāo)是對(duì)描述應(yīng)用程序?qū)傩缘奈臋n,驗(yàn)證假設(shè)和原則,有利于評(píng)估固有的風(fēng)險(xiǎn)。2.評(píng)估技術(shù),使用場(chǎng)景技術(shù),描述了各種系統(tǒng)必須支持的活動(dòng)和將要發(fā)生的變化。3.質(zhì)量屬性,可修改性是SAAM分析的主要質(zhì)量屬性。4.風(fēng)險(xiǎn)承擔(dān)者,SAAM協(xié)調(diào)不同參與者所感興趣的方面,作為后續(xù)決策的基礎(chǔ),提供了對(duì)系統(tǒng)結(jié)構(gòu)的公共理解。5.體系結(jié)構(gòu)描述,描述形式應(yīng)該被所有參與者理解。功能、結(jié)構(gòu)、分配,三個(gè)主要方面。6.方法活動(dòng),SAAM的主要輸入問題是描述、需求聲明、體系結(jié)構(gòu)描述。SAAM分析評(píng)估體系結(jié)構(gòu)過程包括5個(gè)步驟:場(chǎng)景開發(fā)、體系結(jié)構(gòu)描述、單個(gè)場(chǎng)景評(píng)估、場(chǎng)景交互、總體評(píng)估。通過各類風(fēng)險(xiǎn)承擔(dān)者協(xié)商討論,開發(fā)一些任務(wù)場(chǎng)景,體現(xiàn)系統(tǒng)所支持的各種活動(dòng)。通過對(duì)場(chǎng)景交互的分析,得出系統(tǒng)中所有場(chǎng)景對(duì)系統(tǒng)中構(gòu)件所產(chǎn)生影響的列表。總體的權(quán)衡和評(píng)價(jià)。2、ATAM體系結(jié)構(gòu)權(quán)衡分析方法,主要針對(duì)性能、實(shí)用性、安全性、可修改性。確定多個(gè)質(zhì)量屬性之間這種的必要性。體系結(jié)構(gòu)空間受到歷史遺留系統(tǒng)、互操作性和以前失敗的項(xiàng)目約束。邏輯視圖被分為功能結(jié)構(gòu)和代碼結(jié)構(gòu)。這些結(jié)構(gòu)加上他們之間適當(dāng)?shù)挠成淇梢酝暾孛枋鲆粋€(gè)體系結(jié)構(gòu)。用一組消息順序圖顯示運(yùn)行時(shí)的交互和場(chǎng)景。從不同的體系結(jié)構(gòu)角度,有三種不同場(chǎng)景,用例、增長(zhǎng)場(chǎng)景、探測(cè)場(chǎng)景。ATAM使用定性的啟發(fā)式分析方法QAH,構(gòu)造精確分析模型時(shí)要進(jìn)行分析。4個(gè)主要的活動(dòng)領(lǐng)域(或階段,場(chǎng)景和需求收集、結(jié)構(gòu)視圖和場(chǎng)景實(shí)現(xiàn)、屬性模型構(gòu)造和分析、分析、折中。屬性分析是互相依賴的。獲得屬性交互的方法有兩種,敏感度分析來(lái)發(fā)現(xiàn)折中點(diǎn)、通過檢查假設(shè)。迭代的改進(jìn)。除了通常從場(chǎng)景派生而來(lái)的需求,還有很多對(duì)行為模式和執(zhí)行環(huán)境的假設(shè)。由于屬性之間存在折中,每一個(gè)架設(shè)都要被檢查、驗(yàn)證、提問,完成所有操作后,把分析的結(jié)果和需求進(jìn)行對(duì)比。領(lǐng)馭知識(shí)庫(kù)通過基于屬性的體系結(jié)構(gòu)風(fēng)格ABAS維護(hù),變得更為慣例化、更可預(yù)測(cè),得到一個(gè)標(biāo)準(zhǔn)問題集合。2011年軟考系統(tǒng)架構(gòu)設(shè)計(jì)師學(xué)習(xí)筆記第六章6.1UML建模與架構(gòu)文檔化方法種類的膨脹,極大地妨礙了用戶的使用和交流。UML通過統(tǒng)一的表示法,使不同知識(shí)背景的領(lǐng)域?qū)<?、系統(tǒng)分析、開發(fā)人員、用戶可以方便地交流。UML是用元模型描述的,元模型是4層元模型體系結(jié)構(gòu)模式中的一層,其他層次分別是元-元模型、模型層、用戶對(duì)象曾。其中元模型層由元-元模型層導(dǎo)出。元模型的體系結(jié)構(gòu)模式可以用來(lái)定義復(fù)雜模型所要求的精確定義,這種復(fù)雜模型通常需要被可靠地保存、共享、操作以及在工具之間進(jìn)行交換。它的特點(diǎn)如下:1、在每一層都遞歸地定義語(yǔ)義結(jié)構(gòu)。2、可用來(lái)定義重量級(jí)和輕量級(jí)擴(kuò)展機(jī)制。3、在體系結(jié)構(gòu)上將其他體系結(jié)構(gòu)的標(biāo)準(zhǔn)統(tǒng)一起來(lái)。UML元模型又被分解為三個(gè)邏輯子包:基礎(chǔ)包、行為元素包、模型管理包。6.2UML基礎(chǔ)UML通過圖形化的表示機(jī)制從多個(gè)側(cè)面對(duì)系統(tǒng)的分析和設(shè)計(jì)模型進(jìn)行刻畫。10種視圖,四類:1、用例圖2、靜態(tài)圖,包括類圖、對(duì)象圖、包圖。類圖的邊表示類之間的聯(lián)系,包括繼承、關(guān)聯(lián)、依賴、聚合等。對(duì)象圖描述在某種狀態(tài)下或某一時(shí)間段,系統(tǒng)中活躍的對(duì)象及其關(guān)系。包由子包、類組成。3、行為圖,包括交互圖、狀態(tài)圖、活動(dòng)圖,他們從不同的側(cè)面刻畫系統(tǒng)的動(dòng)態(tài)行為。交互圖分為順序圖、合作圖。順序圖強(qiáng)調(diào)對(duì)象之間消息發(fā)送的時(shí)序。合作圖更強(qiáng)調(diào)對(duì)象間的動(dòng)態(tài)協(xié)作關(guān)系。狀態(tài)圖描述對(duì)象的動(dòng)態(tài)行為?;顒?dòng)圖描述操作序列,這些操作序列可以并發(fā)、同步,包含控制流、信息流。4、實(shí)現(xiàn)圖,包括構(gòu)件圖、部署圖。描述組成和分布情況。部署圖節(jié)點(diǎn)表示實(shí)際的計(jì)算機(jī)和設(shè)備,邊表示節(jié)點(diǎn)之間的物理連接,也可以顯示連接的類型及節(jié)點(diǎn)之間的依賴性。用例圖也翻譯為用況、用按等,在UML中,用例用一個(gè)橢圓表示,往往用動(dòng)賓結(jié)構(gòu)或主謂結(jié)構(gòu)命名??蛇x的動(dòng)作序列和會(huì)出現(xiàn)異常的動(dòng)作序列。用例是代表系統(tǒng)中各種相關(guān)人員之間就系統(tǒng)的行為所達(dá)成的契約。需求階段用例是分析人員與客戶溝通的工具項(xiàng)目規(guī)模估算的依據(jù);設(shè)計(jì)階段用例是系統(tǒng)功能設(shè)計(jì)的主要輸入;實(shí)現(xiàn)階段用例是檢測(cè)類型為正確性的文檔。本質(zhì)上,用力分析是一種功能分解的技術(shù)。1、參與者角色,參與者實(shí)際上并不是系統(tǒng)的一部分。2、用例間的關(guān)系,泛化、包含、擴(kuò)展等。包含是比較特殊的依賴關(guān)系。擴(kuò)展,基本用例必須聲明若干“擴(kuò)展點(diǎn)”,而這些擴(kuò)展用例只能在這些擴(kuò)展點(diǎn)上增加新的行為和含義。3、用例圖建模人員可以在途中給某些圖符加上填充色,在語(yǔ)義上,使用填充顏色和不使用填充顏色的模型是一樣的。描述對(duì)象之間對(duì)象與參與者之間動(dòng)態(tài)協(xié)作關(guān)系協(xié)作過程中行為次序。通常描述用例的行為,顯示該用例中所涉及的對(duì)象對(duì)象之間的消息傳遞。順序圖、協(xié)作圖之間可以互相轉(zhuǎn)化,一個(gè)用例需要多個(gè)順序圖或協(xié)作圖。交互圖可以幫助分析人員對(duì)照檢查每個(gè)用例中所描述的用戶需求,提醒分析人員去補(bǔ)充遺漏的類或方法。水平方向?yàn)閷?duì)象維,一般主要參與者放在最左邊,次要參與者放在最右邊。垂直方向?yàn)闀r(shí)間維。一般而言,類的名字是名詞。類之間的關(guān)系有關(guān)聯(lián)、聚集、組合、泛化、依賴等。1、關(guān)聯(lián),鏈?zhǔn)顷P(guān)聯(lián)的實(shí)例,關(guān)聯(lián)表示類與類之間的關(guān)系,鏈表示對(duì)象與對(duì)象之間的關(guān)系。關(guān)聯(lián)用實(shí)線表示,角色還具有多重性。關(guān)聯(lián)類描述關(guān)聯(lián)的屬性、操作、以及其他信息。關(guān)聯(lián)類通過一條虛線與關(guān)聯(lián)連接。自返關(guān)聯(lián)又稱遞歸關(guān)聯(lián),同一個(gè)類的兩個(gè)對(duì)象間的關(guān)系。兩個(gè)關(guān)聯(lián)端,每個(gè)關(guān)聯(lián)端的角色不同。2、聚集和組合聚集是一種特殊形式的關(guān)聯(lián),類之間整體與部分的關(guān)系。組合整體與部分具有同樣的生存期,是一種特殊形式的聚集。3、泛化關(guān)系,一般和特殊元素之間的關(guān)系,就是平常所說的繼承關(guān)系。1、狀態(tài)圖描述對(duì)象生存期間的動(dòng)態(tài)行為,所經(jīng)歷的狀態(tài)序列,引起狀態(tài)轉(zhuǎn)移的事件、動(dòng)作。是UML動(dòng)態(tài)行為建模的5個(gè)圖之一,用狀態(tài)機(jī)對(duì)一個(gè)對(duì)象的生命周期建模,狀態(tài)圖用于顯示狀態(tài)機(jī),重點(diǎn)在于狀態(tài)之間的控制流。除了初態(tài)和終態(tài),還有Idle和Running兩個(gè)狀態(tài),keyPress、finished、shutDown是事件。2、活動(dòng)圖是UML動(dòng)態(tài)行為建模的5個(gè)圖之一,描述系統(tǒng)的工作流程和并發(fā)行為。狀態(tài)圖的特殊形式,一個(gè)活動(dòng)結(jié)束后將立即進(jìn)入下一個(gè)活動(dòng)?;靖拍?活動(dòng)、泳道、分支、分叉、匯合、對(duì)象流。1.活動(dòng),注意區(qū)分動(dòng)作狀態(tài)和活動(dòng)狀態(tài),動(dòng)作狀態(tài)是原子的,沒有內(nèi)部轉(zhuǎn)移,沒有內(nèi)部活動(dòng),所占用的時(shí)間可以忽略,目的是執(zhí)行進(jìn)入動(dòng)作,然后轉(zhuǎn)向另一個(gè)狀態(tài)。活動(dòng)狀態(tài)是可分解的,工作完成需要一定的時(shí)間。2.泳道,是活動(dòng)圖中區(qū)域劃分,每個(gè)泳道代表一個(gè)責(zé)任區(qū),知道和類并不是一一對(duì)應(yīng)的關(guān)系。3.分支,同一個(gè)觸發(fā)事件,可以根據(jù)不同的警戒條件轉(zhuǎn)向不同的活動(dòng),每個(gè)可能的轉(zhuǎn)移是一個(gè)分支。4.分叉和匯合,如果要表示系統(tǒng)或?qū)ο笾械牟l(fā)行為,使用分叉fork和匯合join,匯合正好與分叉相反。5.對(duì)象流,活動(dòng)圖中可以出現(xiàn)對(duì)象,對(duì)象可用作為活動(dòng)的輸入輸出。活動(dòng)圖中的對(duì)象流表示活動(dòng)和對(duì)象之間的關(guān)系。構(gòu)件是系統(tǒng)中遵從一組接口且提供其實(shí)現(xiàn)的物理的、可替換的部分。構(gòu)件圖顯示一組構(gòu)件以及它們之間的相互關(guān)系,包括編譯、連接、執(zhí)行時(shí)構(gòu)建之間的依賴關(guān)系。構(gòu)件就是一個(gè)實(shí)際文件,以下幾種類型:1、部署構(gòu)建2、工作產(chǎn)品構(gòu)件3、執(zhí)行構(gòu)件構(gòu)件圖可以對(duì)以下幾個(gè)方面建模:1、對(duì)源代碼文件之間的相互關(guān)系建模。2、對(duì)可執(zhí)行文件之間的相互關(guān)系建模。部署圖也稱配置圖、實(shí)施圖,顯示系統(tǒng)中計(jì)算節(jié)點(diǎn)的拓?fù)浣Y(jié)構(gòu)、通信路徑、節(jié)點(diǎn)上運(yùn)行的軟構(gòu)件等。一個(gè)系統(tǒng)模型只有一個(gè)部署圖,常用語(yǔ)幫助理解分布式系統(tǒng)。部署圖由體系結(jié)構(gòu)設(shè)計(jì)師、網(wǎng)絡(luò)工程師、系統(tǒng)工程師等描述。6.3基于UML的軟件開發(fā)過程UML是獨(dú)立于軟件開發(fā)過程的,能夠在幾乎任何一種軟件開發(fā)過程中使用。迭代的漸進(jìn)式軟件開發(fā)過程包含四個(gè)階段:初啟、細(xì)化、構(gòu)件、部署。1、初啟項(xiàng)目的發(fā)起人確定項(xiàng)目的主要目標(biāo)和范圍,初步的可行性分析和經(jīng)濟(jì)效益分析。2、細(xì)化細(xì)化階段的開始標(biāo)志著項(xiàng)目的正式確立。1.初步的需求分析,比較重要、比較有風(fēng)險(xiǎn)的用例。2.初步的高層設(shè)計(jì),用例、用例圖、類、類圖將依據(jù)包的劃分方法分屬于不同包。3.部分的詳細(xì)設(shè)計(jì),根據(jù)軟件元素的重要性和風(fēng)險(xiǎn)程度確立優(yōu)先細(xì)化原則,不能將風(fēng)險(xiǎn)的識(shí)別和解決延遲到細(xì)化階段后。4.部分的原型構(gòu)造。3、構(gòu)建構(gòu)造階段,每次迭代中實(shí)現(xiàn)一部分用例,用戶可以及早參與對(duì)已實(shí)現(xiàn)用例的實(shí)際評(píng)價(jià)。原則:1.用戶認(rèn)為業(yè)務(wù)價(jià)值較大的用例應(yīng)優(yōu)先安排。2.開發(fā)人員評(píng)估后認(rèn)為開發(fā)風(fēng)險(xiǎn)較高的用例優(yōu)先安排。迭代計(jì)劃中,要確定迭代次數(shù)、每次迭代所需時(shí)間以及每次迭代中應(yīng)完成的用例。1、生成用例如果多個(gè)用戶扮演同一角色,這些用戶將由單一執(zhí)行者表示。如果一個(gè)用戶扮演多種角色,則需要多個(gè)執(zhí)行者來(lái)表示同一用戶。用例主要來(lái)源于分析人員對(duì)場(chǎng)景的分類和抽象,即將相似的場(chǎng)景進(jìn)行歸類,使一個(gè)用例可以通過實(shí)例化和參數(shù)調(diào)節(jié)而涵蓋多個(gè)場(chǎng)景。2、用活動(dòng)圖表示用例3、生成用例圖執(zhí)行者與用例之間的關(guān)系有兩種:觸發(fā)執(zhí)行、信息交換。執(zhí)行者指向用例表示觸發(fā)執(zhí)行和/或信息交換,用例指向執(zhí)行者表示用例將生成的信息傳遞給執(zhí)行者。4、建立頂層架構(gòu)頂層架構(gòu)便于開發(fā)人員聚焦于系統(tǒng)的不同部分。模型——視圖——控制器(Model、View、Controller,MVC模式。模型維護(hù)并保存數(shù)據(jù),視圖呈現(xiàn)數(shù)據(jù),控制器將動(dòng)作映射為處理功能并實(shí)際調(diào)用。MVC模式特別適合于分布式應(yīng)用軟件,尤其是web應(yīng)用系統(tǒng)。分層模式降低軟件系統(tǒng)的耦合度。確立頂層架構(gòu)的過程中需綜合考慮以下因素:包的數(shù)量,架構(gòu)過早地陷入細(xì)節(jié),返工的可能性很大,也不合理地限制了后續(xù)分析和設(shè)計(jì)活動(dòng)的自由空間。包之間的耦合度。將不穩(wěn)引起的軟件元素分類聚集于少數(shù)幾個(gè)包中,以提高軟件系統(tǒng)的可維護(hù)性。可選功能和必須實(shí)現(xiàn)的功能置于不同的包。根據(jù)開發(fā)人員專長(zhǎng)劃分,使每個(gè)包都能分配給最合適的開發(fā)人員,有利于并行開發(fā)。1、設(shè)計(jì)用例實(shí)現(xiàn)方案1.提取邊界類,實(shí)現(xiàn)類和控制類。邊界類用于描述系統(tǒng)與外部環(huán)境之間的交互。a.界面控制。b.外部接口。c.環(huán)境隔離。使目標(biāo)軟件系統(tǒng)的其余部分盡可能地獨(dú)立于環(huán)境軟件。邊界類,《boundary》。實(shí)體類“內(nèi)向收斂”特征,僅提供讀/寫信息的必要操作作接口,并不涉及業(yè)務(wù)邏輯處理,《entity》。控制類,《control》。邊界類的作用范圍可以超越單個(gè)用例2.構(gòu)造交互圖交互圖作為用力的精確實(shí)現(xiàn)方案。事件流中的事件直接對(duì)應(yīng)交互圖中的消息,事件間的先后關(guān)系體現(xiàn)為交互圖中的時(shí)序,對(duì)消息的響應(yīng)則構(gòu)成消息接收者的職責(zé),這種職責(zé)被確立為類的方法。不應(yīng)該出現(xiàn)穿越控制類生命線的消息。為易于理解,應(yīng)該用分離的UML交互圖分別表示事件流和每個(gè)備選事件流。原則上,每個(gè)類都應(yīng)該有一個(gè)操作來(lái)響應(yīng)交互圖中指向其對(duì)象的那條消息。2、設(shè)計(jì)技術(shù)支撐方案當(dāng)用戶需求發(fā)生變化時(shí),技術(shù)支撐方案應(yīng)具有良好的穩(wěn)定性。技術(shù)支撐方案應(yīng)該位于層次結(jié)構(gòu)中的較低層次。一方面取決于需求,另一方面取決于對(duì)軟件技術(shù)手段把我和選取。3、設(shè)計(jì)用戶界面1.熟悉用戶并對(duì)用戶分類,以便盡量照顧到所有用戶的合理要求,并優(yōu)先滿足某些特權(quán)用戶。2.按用戶類別分析用戶的工作流與習(xí)慣,從每類中選取一個(gè)用戶代表,建立調(diào)查表,判斷用戶對(duì)操作界面的需求和喜好。3.首先應(yīng)考慮命令的順序,一般常用命令居先,與用戶工作習(xí)慣保持一致;其次,根據(jù)外部服務(wù)之間的聚合關(guān)系組織相應(yīng)的命令;然后充分考慮人類記憶的局限性,最好組織為一顆兩層多叉樹;提供操作的快捷方式。5.利用快速原型演示,改進(jìn)界面設(shè)計(jì)。并評(píng)判系統(tǒng)是否齊全、方便、好用。4、精化設(shè)計(jì)模型對(duì)模型進(jìn)行改進(jìn)的活動(dòng)可以分為精化和合并兩種。一般先從精化開始。設(shè)計(jì)優(yōu)秀的粗粒度組件應(yīng)該只是完成一項(xiàng)功能,這一點(diǎn)是它與子系統(tǒng)的主要區(qū)分。粗粒度組件的范圍過于廣泛,難以發(fā)揮重用價(jià)值,粗粒度組件擁有持久化的行為,擁有業(yè)務(wù)邏輯,需要表示層的支持。將需求分成幾個(gè)功能組,基本上就可以得到相應(yīng)的粗粒度組件了。過小的范圍,將會(huì)造成粗粒度組件不容易使用,用戶需要理解不同的粗粒度組件之間的復(fù)雜關(guān)系。如果可能,在粗粒度組件之間定義單項(xiàng)關(guān)聯(lián)可以有效的減少組件之間的耦合。盡可能簡(jiǎn)化組件之間的關(guān)系。我們需要從軟件的目標(biāo)領(lǐng)域中識(shí)別出關(guān)鍵性的實(shí)體,或者說領(lǐng)域中的名詞。然后決定它們應(yīng)該歸屬于那些粗粒度組件。兩個(gè)組件之間存在重復(fù)的要素,可以從中抽取共性的部分,形成新的組件。6.4系統(tǒng)架構(gòu)文檔化以精心選擇的形式將若干結(jié)構(gòu)元素進(jìn)行裝配。軟件架構(gòu)={元素,形式,關(guān)系/約束}邏輯視圖(logicalview對(duì)象模型。過程視圖(processview并發(fā)和同步特征。物理視圖(physicalview分布式。開發(fā)視圖(developmentview靜態(tài)組織結(jié)構(gòu)。Rational4.1視圖模型。每個(gè)視圖上均獨(dú)立地應(yīng)用Perry&Wolf軟件架構(gòu)公式。對(duì)每種視圖選用特定的架構(gòu)風(fēng)格(architecturalstyle。邏輯架構(gòu)主要支持功能性需求,系統(tǒng)分解為一系列的關(guān)鍵抽象,(大多數(shù)來(lái)自于問題域,表現(xiàn)為對(duì)象或?qū)ο箢惖男问?。抽象、封裝、繼承。對(duì)于數(shù)據(jù)驅(qū)動(dòng)程度高的應(yīng)用程序,可以使用其他形式的邏輯視圖,如E-R圖代替面向?qū)ο蟮姆椒ā?、邏輯視圖的風(fēng)格采用面向?qū)ο蟮娘L(fēng)格,試圖在整個(gè)系統(tǒng)中保持單一的、一致的對(duì)象模型。進(jìn)程架構(gòu)考慮一些非功能性的需求,并發(fā)性、分布性、系統(tǒng)完整性、容錯(cuò)性,以及邏輯視圖的主要抽象如何與進(jìn)程結(jié)構(gòu)相配合在一起。進(jìn)程是構(gòu)成可執(zhí)行單元任務(wù)的分組。區(qū)分主要次要任務(wù):主要任務(wù)是可以唯一處理的架構(gòu)元素;次要任務(wù)是由于實(shí)施原因而引入的局部附加任務(wù)。開發(fā)架構(gòu)關(guān)注軟件開發(fā)環(huán)境下實(shí)際模塊的組織。開發(fā)架構(gòu)用模塊和子系統(tǒng)圖來(lái)表達(dá),顯示了“輸出”和“輸入”關(guān)系??紤]因素:開發(fā)難度、軟件管理、重用性、通用性、由工具集、語(yǔ)言所帶來(lái)的限制。開發(fā)視圖是建立產(chǎn)品線的基礎(chǔ)。推薦使用分層(layered的風(fēng)格,每層具有良好定義的職責(zé)。某層子系統(tǒng)依賴同一層或低一層的子系統(tǒng),最大程度地減少了具有復(fù)雜模塊依賴關(guān)系的網(wǎng)絡(luò)的開發(fā)量物理架構(gòu)主要關(guān)注系統(tǒng)非功能性的需求,可用性、可靠性(容錯(cuò)性,性能(吞吐量、可伸縮性。軟件至節(jié)點(diǎn)的映射需要高度的靈活性及對(duì)源代碼產(chǎn)生最小的影響。4種視圖的元素通過數(shù)量比較少的一組重要場(chǎng)景(更常見的是用例進(jìn)行無(wú)縫協(xié)同工作,我們?yōu)閳?chǎng)景描述相應(yīng)的腳本(對(duì)象之間和過程之間的交互序列。在某種意義上場(chǎng)景是最重要的需求抽象。4+1的+1起到了兩個(gè)作用:作為一項(xiàng)驅(qū)動(dòng)因素來(lái)發(fā)現(xiàn)架構(gòu)設(shè)計(jì)過程中的架構(gòu)元素。作為架構(gòu)原型測(cè)試的出發(fā)點(diǎn)。場(chǎng)景表示法與組件邏輯視圖非常相似,但它使用過程視圖的連接符來(lái)表示對(duì)象之間的交互。在進(jìn)行文檔化時(shí),提倡一種更具有迭代性質(zhì)的方法——架構(gòu)先被原型化、測(cè)試、估量、分析,然后在一系列的迭代過程中被細(xì)化。除了減少風(fēng)險(xiǎn)之外,還有其他優(yōu)點(diǎn):團(tuán)隊(duì)合作、培訓(xùn)、加深對(duì)架構(gòu)的理解、深入程序和工具等。使需求被細(xì)化、成熟化。系統(tǒng)大多數(shù)關(guān)鍵的功能以場(chǎng)景的形式被捕獲,關(guān)鍵意味著:最重要的功能、系統(tǒng)存在的理由、使用頻率最高的功能、必須減輕的一些重要技術(shù)風(fēng)險(xiǎn)。2011年軟考系統(tǒng)架構(gòu)設(shè)計(jì)師學(xué)習(xí)筆記第七章7.1設(shè)計(jì)模式概述重復(fù)遇到的典型問題,描述這些共同問題和解決這些問題的方案就形成了所謂的模式。模式分為幾個(gè)部分:特定的情景(Context,指模式在何種情況下發(fā)生作用;動(dòng)機(jī)(SystemofForce,指問題或預(yù)期的目標(biāo);解決方案(Solution,平衡各動(dòng)機(jī)或解決所闡述問題的構(gòu)造或配置。每個(gè)模式描述了一個(gè)在某種特定情境下不斷重復(fù)發(fā)生的問題,以及解決該問題解決方案的核心所在。面向?qū)ο笤O(shè)計(jì)時(shí)需要考慮封裝性、力度大小、依賴關(guān)系、靈活性、可重用性等。1、簡(jiǎn)化并加快快設(shè)計(jì)無(wú)需從底層做起,重用成功的設(shè)計(jì),節(jié)約開發(fā)時(shí)間,提高軟件質(zhì)量。2、方便開發(fā)人員之間的通信可以更準(zhǔn)確地描述問題及問題的解決方案,使解決方案具有一致性。3、降低風(fēng)險(xiǎn)4、有助于轉(zhuǎn)到面向?qū)ο蠹夹g(shù)開發(fā)人員對(duì)新技術(shù)往往會(huì)有抵觸或排斥心理,對(duì)成熟的設(shè)計(jì)模式具有以下特性:1.巧妙。2.通用,不依賴于系統(tǒng)、語(yǔ)言、領(lǐng)域。3.不僅僅停留在理論上。4.簡(jiǎn)單。5.可重用。6.面向?qū)ο蟆?、模式名,簡(jiǎn)潔地描述了模式的本質(zhì),可以幫助我們思考。2、問題或意圖,解釋了設(shè)計(jì)問題和問題存在的前因后果,可能描述了特定的設(shè)計(jì)問題。3、情景,告訴我們?cè)撃J降倪m用性。4、動(dòng)機(jī),描述相關(guān)的動(dòng)機(jī)和約束,通常需要對(duì)各期望的目標(biāo)進(jìn)行有限排序,動(dòng)機(jī)闡明了問題的復(fù)雜性,定義了在相互沖突時(shí)所采取的各種權(quán)衡手段。5、解決方案,因?yàn)槟J骄拖褚粋€(gè)模板,所以解決方案并不描述一個(gè)特定而具體的設(shè)計(jì)或?qū)崿F(xiàn),而是提供設(shè)計(jì)問題的抽象描述和怎樣用一個(gè)具有一般意義的元素組合。6、示例,幫助讀者理解模式的具體使用方法。7、結(jié)果情景,闡述了模式后續(xù)狀態(tài)和副作用。8、基本原理,解釋該模式如何、為何能解決當(dāng)前問題。9、相關(guān)模式,包括靜態(tài)的和動(dòng)態(tài)的,遷到模式、后續(xù)模式、替代模式。10、已知應(yīng)用,通常好的模式前面都有一個(gè)摘要,提供簡(jiǎn)短的總結(jié)和概述,為模式描繪出一個(gè)清晰的圖畫,提供有關(guān)該模式能夠解決問題的快速信息。新技術(shù)可能帶來(lái)的效果持懷疑態(tài)度。模式應(yīng)該說明它的目標(biāo)讀者,以及對(duì)讀者有哪些知識(shí)要求。軟件模式主要可分為設(shè)計(jì)模式、分析模式、組織和過程模式等。設(shè)計(jì)模式主要用于得到簡(jiǎn)潔靈活的系統(tǒng)設(shè)計(jì)。按設(shè)計(jì)模式的目的劃分,創(chuàng)建型、結(jié)構(gòu)型、行為型;按設(shè)計(jì)模式范圍劃分,類設(shè)計(jì)模式、對(duì)象設(shè)計(jì)模式。1、創(chuàng)建型模式,對(duì)對(duì)象實(shí)例化過程的抽象,采用抽象類所定義的接口,封裝了對(duì)象如何創(chuàng)建、組合等信息。2、結(jié)構(gòu)型模式,如何組合已有的類和對(duì)象以及獲得更大的結(jié)構(gòu)。3、行為型模式,不僅描述對(duì)象或類的模式,還描述它們之間的通信模式,特別是描述一組對(duì)等的對(duì)象怎樣互相協(xié)作完成其中任一對(duì)象無(wú)法單獨(dú)完成的任務(wù)。7.2設(shè)計(jì)模式實(shí)例通過該了的子類來(lái)創(chuàng)建對(duì)象的。但是,這可能會(huì)限制在系統(tǒng)內(nèi)創(chuàng)建對(duì)象的類型或數(shù)目。1、AbstractFactory模式在不指定具體類的情況下,為創(chuàng)建一些列相關(guān)或相互依賴的對(duì)象提供了接口。提供了一個(gè)可以確定合適的具體類的抽象類。優(yōu)點(diǎn):可以與具體類分開。更容易在產(chǎn)品系列中轉(zhuǎn)換。提高了產(chǎn)品間的一致性。以下情況應(yīng)該使用AbstractFactory模式:系統(tǒng)獨(dú)立于產(chǎn)品的創(chuàng)建、組成、表示。系統(tǒng)配置成具有多個(gè)產(chǎn)品的系列。相關(guān)產(chǎn)品對(duì)象系列是共同使用的,而且必須確保這一點(diǎn)。你希望提供產(chǎn)品的類庫(kù),只開放其接口。2、Builder模式將復(fù)雜對(duì)象的構(gòu)件與表示相分離,相同的構(gòu)造過程可以創(chuàng)建不同的對(duì)象,通過只指定對(duì)象的類型和內(nèi)容。一次就可以創(chuàng)建所有的復(fù)雜對(duì)象,而其他模式一次就只能創(chuàng)建一個(gè)對(duì)象。優(yōu)點(diǎn):可以對(duì)產(chǎn)品內(nèi)部表示進(jìn)行改變。將構(gòu)造代碼與表示代碼相分離。以下情況應(yīng)該使用Builder模式:算法獨(dú)立于組成對(duì)象。構(gòu)造過程必須允許已構(gòu)件對(duì)象有不同表示。3、FactoryMethod模式實(shí)例化工作交給其子類,可以在不修改代碼的情況下引入新類,因?yàn)樾骂愔粚?shí)現(xiàn)了接口。優(yōu)點(diǎn):代碼只處理接口,因此可以使用任何實(shí)現(xiàn)了接口的類。在類中創(chuàng)建對(duì)象比直接在客戶端創(chuàng)建要更加靈活。以下情況中,應(yīng)該使用FactoryMethod模式:類不能預(yù)料它必須創(chuàng)建的對(duì)象的類。類希望其子類指定要?jiǎng)?chuàng)建的對(duì)象。類將責(zé)任轉(zhuǎn)給某個(gè)幫助子類,而用戶希望定位那個(gè)被授權(quán)的幫助子類。4、Prototype模式只要將對(duì)象類定義成能夠復(fù)制自身就可以實(shí)現(xiàn)。優(yōu)點(diǎn)如下:可以在運(yùn)行時(shí)添加或刪除產(chǎn)品。通過改變值指定新對(duì)象。通過改變結(jié)構(gòu)制定新對(duì)象。減少子類的生成和使用。可以用類動(dòng)態(tài)地配置應(yīng)用程序。以下情況中,應(yīng)該使用Prototype模式:運(yùn)行時(shí),指定需要實(shí)例化的類,例如動(dòng)態(tài)載入。避免構(gòu)建與產(chǎn)品的類層次結(jié)構(gòu)相似的工廠類層次結(jié)構(gòu)。5、Singleton模式確保一個(gè)類只有一個(gè)實(shí)例,并且提供全局訪問入口,確保使用這個(gè)實(shí)例所有的對(duì)象使用相同的實(shí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 加強(qiáng)城市公共設(shè)施安全管理計(jì)劃
- 2025年智能馬桶蓋合作協(xié)議書
- 2025年高模量玻璃纖維紗項(xiàng)目發(fā)展計(jì)劃
- 移動(dòng)支付系統(tǒng)研發(fā)合作協(xié)議
- 從寓言故事看中華傳統(tǒng)美德的傳承與教育
- 公司信息化安全規(guī)章制度及操作手冊(cè)
- racemic-Nornicotine-Standard-生命科學(xué)試劑-MCE
- 班主任與學(xué)生家長(zhǎng)安全協(xié)議書
- Cholesterol-n-Octanoate-Standard-生命科學(xué)試劑-MCE
- 5-Bromo-6-chloropyrazin-2-amine-生命科學(xué)試劑-MCE
- 高數(shù)(大一上)期末試題及答案
- 工作場(chǎng)所職業(yè)病危害因素監(jiān)督監(jiān)測(cè)技術(shù)規(guī)范
- 北方春節(jié)的十大風(fēng)俗
- 姓丁的研究報(bào)告作文
- 醫(yī)院審計(jì)科長(zhǎng)述職報(bào)告
- 2024年國(guó)家電投招聘筆試參考題庫(kù)含答案解析
- 統(tǒng)編版高中語(yǔ)文必修下冊(cè) 第一單元單元學(xué)習(xí)任務(wù) 課件
- JCT796-2013 回彈儀評(píng)定燒結(jié)普通磚強(qiáng)度等級(jí)的方法
- 懸挑腳手架搭設(shè)要求
- 新版出口報(bào)關(guān)單模板
- 幼兒園衛(wèi)生保健十三種表格
評(píng)論
0/150
提交評(píng)論