軟考系統(tǒng)架構(gòu)設(shè)計師(高級)學(xué)習(xí)筆記_第1頁
軟考系統(tǒng)架構(gòu)設(shè)計師(高級)學(xué)習(xí)筆記_第2頁
軟考系統(tǒng)架構(gòu)設(shè)計師(高級)學(xué)習(xí)筆記_第3頁
軟考系統(tǒng)架構(gòu)設(shè)計師(高級)學(xué)習(xí)筆記_第4頁
軟考系統(tǒng)架構(gòu)設(shè)計師(高級)學(xué)習(xí)筆記_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論