信息系統(tǒng)集成專業(yè)技術(shù)知識_第1頁
信息系統(tǒng)集成專業(yè)技術(shù)知識_第2頁
信息系統(tǒng)集成專業(yè)技術(shù)知識_第3頁
信息系統(tǒng)集成專業(yè)技術(shù)知識_第4頁
信息系統(tǒng)集成專業(yè)技術(shù)知識_第5頁
已閱讀5頁,還剩351頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

信息系統(tǒng)集成

專業(yè)技術(shù)知識

1整理ppt主要內(nèi)容第一節(jié)信息系統(tǒng)建設(shè)第二節(jié)軟件工程第三節(jié)面向?qū)ο笙到y(tǒng)分析與設(shè)計第四節(jié)軟件體系結(jié)構(gòu)第五節(jié)典型應(yīng)用集成技術(shù)第六節(jié)計算機(jī)網(wǎng)絡(luò)知識2整理ppt信息系統(tǒng)開發(fā)流程系統(tǒng)實施50%系統(tǒng)設(shè)計20%系統(tǒng)分析15%總體規(guī)劃9%系統(tǒng)運(yùn)行和評價6%總體規(guī)劃系統(tǒng)分析系統(tǒng)設(shè)計系統(tǒng)實施系統(tǒng)運(yùn)行和評價可行性研究報告系統(tǒng)方案說明書系統(tǒng)設(shè)計說明書用戶說明書第一節(jié)信息系統(tǒng)建設(shè)信息系統(tǒng)開發(fā)生命周期3整理ppt總體規(guī)劃內(nèi)容信息系統(tǒng)開發(fā)范圍、目標(biāo)約束條件系統(tǒng)結(jié)構(gòu)建設(shè)計劃總體規(guī)劃階段4整理ppt系統(tǒng)分析階段的目標(biāo)為系統(tǒng)設(shè)計階段提供系統(tǒng)邏輯模型系統(tǒng)分析階段的內(nèi)容組織結(jié)構(gòu)和功能分析業(yè)務(wù)流程分析數(shù)據(jù)及數(shù)據(jù)流程分析用戶需求分析系統(tǒng)新方案系統(tǒng)分析階段5整理ppt系統(tǒng)設(shè)計階段的目標(biāo)為系統(tǒng)設(shè)施階段的編程、測試提供依據(jù)系統(tǒng)設(shè)計階段的內(nèi)容新系統(tǒng)總體結(jié)構(gòu)設(shè)計代碼設(shè)計數(shù)據(jù)庫設(shè)計輸入/輸出設(shè)計處理流程及模塊功能設(shè)計安全控制點設(shè)計系統(tǒng)設(shè)計階段6整理ppt系統(tǒng)實施階段的目標(biāo)將設(shè)計方案轉(zhuǎn)換為可執(zhí)行系統(tǒng)系統(tǒng)運(yùn)行和評價階段維護(hù)類型:糾錯性維護(hù)-診斷、修正原先遺留錯誤適應(yīng)性維護(hù)-使系統(tǒng)適應(yīng)環(huán)境變化完善性維護(hù)-擴(kuò)充、提升系統(tǒng)性能預(yù)防性維護(hù)系統(tǒng)評價類型性能指標(biāo)技術(shù)指標(biāo)糾錯性維護(hù)21%適應(yīng)性維護(hù)25%完善性維護(hù)50%預(yù)防性維護(hù)4%系統(tǒng)實施階段7整理ppt信息系統(tǒng)建設(shè)的原則1.高層管理人員介入原則2.用戶參與開發(fā)原則3.自上而下的規(guī)劃原則4.工程化原則8整理ppt第二節(jié)軟件工程2.1軟件生存周期(1)計劃制定階段(2)軟件需求分析階段(3)軟件設(shè)計階段(4)編碼階段(5)測試階段(6)軟件運(yùn)維9整理ppt(1)計劃制定階段軟件項目計劃內(nèi)容確定系統(tǒng)總目標(biāo)項目可行性分析資源分配進(jìn)度計劃參加人員用戶、項目經(jīng)理、系統(tǒng)分析師計劃制定階段成果可行性研究報告項目計劃書10整理ppt軟件需求分析內(nèi)容系統(tǒng)功能性能數(shù)據(jù)界面要求系統(tǒng)邏輯模型參加人員用戶、項目經(jīng)理、系統(tǒng)分析師需求分析階段成果需求規(guī)格說明書(2)軟件需求分析階段11整理ppt需求分析步驟當(dāng)前系統(tǒng)目標(biāo)系統(tǒng)物理模型邏輯模型邏輯模型物理模型模型化抽象化具體化實例化怎么做做什么當(dāng)前系統(tǒng)目標(biāo)系統(tǒng)需求定義整理ppt

準(zhǔn)確地定義未來系統(tǒng)的目標(biāo),確定為了滿足用戶的需求,系統(tǒng)必須做什么,用《需求規(guī)格說明書》(SoftwareRequirementSpecificationSRS)表達(dá)用戶需求。

需求分析階段要完成的文檔。SRS的作用:開發(fā)者與用戶間事實上的技術(shù)合同書開發(fā)者下一步設(shè)計和編碼的基礎(chǔ)測試驗收目標(biāo)系統(tǒng)的依據(jù)整理ppt軟件需求分析常用方法面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA)面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(JSD)面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD)面向?qū)ο蟮姆治龇椒?OOA)等14整理ppt結(jié)構(gòu)化分析方法

面向數(shù)據(jù)流進(jìn)行需求分析的方法結(jié)構(gòu)化分析方法適合于數(shù)據(jù)處理類型軟件的需求分析具體來說,結(jié)構(gòu)化分析方法就是用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足功能要求的所有可實現(xiàn)的軟件為止15整理ppt結(jié)構(gòu)化分析方法使用工具:

數(shù)據(jù)流圖數(shù)據(jù)詞典結(jié)構(gòu)化英語判定表與判定樹16整理ppt數(shù)據(jù)流圖的層次結(jié)構(gòu)為了表達(dá)數(shù)據(jù)處理過程的數(shù)據(jù)加工情況,需要采用層次結(jié)構(gòu)的數(shù)據(jù)流圖。按照系統(tǒng)的層次結(jié)構(gòu)進(jìn)行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系,能清楚地表達(dá)和容易理解整個系統(tǒng)17整理ppt分層的數(shù)據(jù)流圖18整理ppt在多層數(shù)據(jù)流圖中,頂層流圖僅包含一個加工,它代表被開發(fā)系統(tǒng)。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù)底層流圖是指其加工不需再做分解的數(shù)據(jù)流圖,它處在最底層中間層流圖則表示對其上層父圖的細(xì)化。它的每一加工可能繼續(xù)細(xì)化,形成子圖。19整理ppt數(shù)據(jù)詞典數(shù)據(jù)詞典與數(shù)據(jù)流圖配合,能清楚地表達(dá)數(shù)據(jù)處理的要求詞條描述——對于在數(shù)據(jù)流圖中每一個被命名的圖形元素,均加以定義,其內(nèi)容有:

名字,別名或編號,分類,描述,定義,位置,其它等20整理ppt

對數(shù)據(jù)流圖的每一個基本加工,必須有一個基本加工邏輯說明基本加工邏輯說明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則加工邏輯說明必須描述實現(xiàn)加工的策略而不是實現(xiàn)加工的細(xì)節(jié)加工邏輯說明中包含的信息應(yīng)是充足的,完備的,有用的,無冗余的基本加工邏輯說明21整理ppt用于寫加工邏輯說明的工具

結(jié)構(gòu)化英語判定表判定樹22整理ppt系統(tǒng)動態(tài)分析系統(tǒng)的需求規(guī)格說明通常是用自然語言來敘述的,但是用自然語言描述往往會出現(xiàn)歧義性。為了直觀地分析系統(tǒng)的動作,從特定的視點出發(fā)描述系統(tǒng)的行為,需要采用動態(tài)分析的方法。23整理ppt最常用的動態(tài)分析方法狀態(tài)遷移圖狀態(tài)遷移圖是描述系統(tǒng)的狀態(tài)如何相應(yīng)外部的信號進(jìn)行推移的一種圖形表示。

時序圖在系統(tǒng)分析中,用時序圖于對比在系統(tǒng)中處理事件的時序和相應(yīng)的處理時間。Petri網(wǎng)Petri網(wǎng)已廣泛地應(yīng)用于硬件與軟件系統(tǒng)的開發(fā)中,它適用于描述與分析相互獨立、協(xié)同操作的處理系統(tǒng),也就是并發(fā)執(zhí)行的處理系統(tǒng)。24整理pptE-R方法

(Entity-RelationshipApproach)和實體模型在需求分析階段進(jìn)行數(shù)據(jù)庫邏輯設(shè)計過程中,使用E-R圖,可定義一個實體模型。實體模型是現(xiàn)實世界的純表示,它不涉及數(shù)據(jù)世界的數(shù)據(jù)結(jié)構(gòu)、存取路徑、存取效率等問題。因此,它可以轉(zhuǎn)換成數(shù)據(jù)庫中的數(shù)據(jù)模型。25整理ppt設(shè)計階段內(nèi)容:概要設(shè)計任務(wù)模塊分解、確定軟件結(jié)構(gòu)、模塊的功能,模塊之間的接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)詳細(xì)設(shè)計的任務(wù)模塊的實現(xiàn),模塊局部數(shù)據(jù)結(jié)構(gòu)參加人員:分析師、程序員設(shè)計階段成果:設(shè)計規(guī)格說明書(概要設(shè)計說明書,詳細(xì)設(shè)計說明書數(shù)據(jù)說明書,模塊開發(fā)卷宗(3)設(shè)計階段(概要設(shè)計、詳細(xì)設(shè)計)26整理ppt軟件設(shè)計分為兩個階段:(1)概要設(shè)計(總體設(shè)計)確定軟件的結(jié)構(gòu)以及各組成成分(子系統(tǒng)或模塊)之間的相互關(guān)系(2)詳細(xì)設(shè)計確定模塊內(nèi)部的算法和數(shù)據(jù)結(jié)構(gòu),產(chǎn)生描述各模塊程序過程的詳細(xì)文檔。27整理ppt模塊的獨立性模塊獨立性指軟件系統(tǒng)中每個模塊只涉及軟件要求的具體的子功能,而和軟件系統(tǒng)中其它的模塊的接口是簡單的。模塊獨立的含義:模塊完成獨立的功能符合信息隱蔽和信息局部化原則模塊間關(guān)連和依賴程度盡量小模塊設(shè)計目標(biāo):強(qiáng)內(nèi)聚、弱耦合28整理ppt模塊獨立性的度量

SD方法提出的定性的度量標(biāo)準(zhǔn):模塊之間的耦合性耦合性用來度量程序之間聯(lián)系的次數(shù)和強(qiáng)度模塊自身的內(nèi)聚性內(nèi)聚是指度量一個給定的程序內(nèi)的多行代碼的單一功能性,以確定是否達(dá)到該程序所要實現(xiàn)的目的。內(nèi)聚與耦合密切相關(guān),同其它模塊強(qiáng)耦合的模塊意味者弱內(nèi)聚,強(qiáng)內(nèi)聚模塊意味著與其它模塊間松散耦合。29整理ppt模塊間耦合30整理ppt(1)非直接耦合兩個模塊沒有直接關(guān)系(模塊1和模塊2),模塊獨立性最強(qiáng)。(2)數(shù)據(jù)耦合一模塊調(diào)用另一模塊時,被調(diào)用模塊的輸入、輸出都是簡單的數(shù)據(jù)(若干參數(shù))。屬松散耦合。(3)標(biāo)記耦合(特征耦合)如兩個模塊通過傳遞數(shù)據(jù)結(jié)構(gòu)(不是簡單數(shù)據(jù),而是記錄、數(shù)組等)加以聯(lián)系,或都與一個數(shù)據(jù)結(jié)構(gòu)有關(guān)系,則稱這兩個模塊間存在標(biāo)記偶合。(4)控制耦合一模塊向下屬模塊傳遞的信息(開關(guān)量、標(biāo)志等控制被調(diào)用模塊決策的變量)控制了被調(diào)用模塊的內(nèi)部邏輯31整理ppt(5)外部耦合一組模塊均與同一外部環(huán)境關(guān)聯(lián),它們之間便存在外部耦合。(6)公共耦合(公共數(shù)據(jù)區(qū)耦合)一組模塊引用同一個公用數(shù)據(jù)區(qū)(也稱全局?jǐn)?shù)據(jù)區(qū)、公共數(shù)據(jù)環(huán)境)。公共數(shù)據(jù)區(qū)指:全局?jǐn)?shù)據(jù)結(jié)構(gòu)共享通訊區(qū)內(nèi)存公共覆蓋區(qū)等(7)內(nèi)容耦合一模塊直接訪問另一模塊的內(nèi)部信息(程序代碼或數(shù)據(jù))模塊代碼重疊多入口模塊整理ppt模塊內(nèi)聚性

一個模塊內(nèi)部元素在功能上相互關(guān)聯(lián)的強(qiáng)度模塊內(nèi)聚整理ppt(1)偶然內(nèi)聚(巧合內(nèi)聚)模塊內(nèi)各部分間無聯(lián)系(2)邏輯內(nèi)聚把幾種相關(guān)功能(邏輯上相似的功能)組合在一模塊內(nèi),每次調(diào)用由傳給模塊的參數(shù)確定執(zhí)行哪種功能。(3)時間內(nèi)聚(經(jīng)典內(nèi)聚)模塊完成的功能必須在同一時間內(nèi)執(zhí)行,這些功能只因時間因素關(guān)聯(lián)在一起。例如:初始化系統(tǒng)模塊、系統(tǒng)結(jié)束模塊、緊急故障處理模塊等均是時間性聚合模塊.(4)過程內(nèi)聚(順序性組合)模塊內(nèi)各處理成分相關(guān),且必須以特定次序執(zhí)行整理ppt(5)通信內(nèi)聚模塊內(nèi)各部分使用相同的輸入數(shù)據(jù),或產(chǎn)生相同的輸出結(jié)果(6)信息內(nèi)聚模塊完成多個功能,各功能都在同一數(shù)據(jù)結(jié)構(gòu)上操作,每一功能有唯一入口。(7)功能內(nèi)聚模塊僅包括為完成某個功能所必須的所有成分。(模塊所有成分共同完成一個功能,缺一不可)內(nèi)聚性最強(qiáng)整理ppt軟件模塊結(jié)構(gòu)的改進(jìn)模塊功能的完善化

消除重復(fù)功能,改善軟件結(jié)構(gòu)

模塊的作用范圍應(yīng)在控制范圍之內(nèi)盡可能減少高扇出結(jié)構(gòu),隨著深度增大扇入避免或減少使用病態(tài)聯(lián)接模塊的大小要適中設(shè)計功能可預(yù)測的模塊,但要避免過分受限制的模塊軟件包應(yīng)滿足設(shè)計約束和可移植性36整理ppt概要設(shè)計(總體設(shè)計)概要設(shè)計確定:軟件系統(tǒng)的結(jié)構(gòu)各模塊功能及模塊間聯(lián)系(接口)表示軟件結(jié)構(gòu)的圖形工具結(jié)構(gòu)圖層次圖HIPO圖37整理ppt

1.面向數(shù)據(jù)流設(shè)計方法的基本概念

SD以數(shù)據(jù)流圖為基礎(chǔ),它定義了把DFD變換成軟件結(jié)構(gòu)的不同映射方法映射DFD(問題結(jié)構(gòu))軟件系統(tǒng)的結(jié)構(gòu)(程序結(jié)構(gòu))38整理ppt系統(tǒng)結(jié)構(gòu)特征可歸納為兩種典型形式:變換型結(jié)構(gòu)事務(wù)型結(jié)構(gòu)數(shù)據(jù)流圖可分為兩種類型:

變換型數(shù)據(jù)流事務(wù)型數(shù)據(jù)流39整理ppt正文加工系統(tǒng)輸入1.0輸出2.0編輯3.0加標(biāo)題4.0存儲5.0檢索6.0編目錄7.0添加3.1刪除3.2插入3.3修改3.4合并3.5列表3.6層次圖(H圖)40整理pptHIPO圖H圖中每一方框(模塊)均有一張IPO圖對應(yīng)HIPO圖:層次圖

+

輸入/處理/輸出圖(H圖)(IPO圖)(HierachyInputProcessOutput)41整理ppt輸入處理輸出讀口令請求口令文件1取得輸入2口令確認(rèn)3請求確認(rèn)請求記錄權(quán)限文件4更新處理權(quán)限記錄狀態(tài)報告響應(yīng)命令監(jiān)控器(1.0)的IPO圖命令監(jiān)控器1.0取得輸入1.1輸入確認(rèn)1.2請求確認(rèn)1.3更新處理1.4航線調(diào)度系統(tǒng)HIPO圖舉例42整理ppt詳細(xì)設(shè)計(過程設(shè)計、模塊設(shè)計)主要任務(wù):編寫詳細(xì)設(shè)計說明書為此,設(shè)計人員應(yīng):(1)確定每個模塊的算法,用工具表達(dá)算法的過程,寫出模塊的詳細(xì)過程性描述。(2)確定每一模塊的數(shù)據(jù)結(jié)構(gòu)。(3)確定模塊接口細(xì)節(jié)。詳細(xì)設(shè)計是編碼的先導(dǎo)。43整理ppt2.盒圖(N-S圖)用方框圖代替?zhèn)鹘y(tǒng)的流程圖3.問題分析圖(PAD)4.決策樹詳細(xì)設(shè)計工具44整理pptN-S圖N-S圖也叫做盒圖。五種基本控制結(jié)構(gòu)由五種圖形構(gòu)件表示。45整理ppt

PAD也設(shè)置了五種基本控制結(jié)構(gòu)的圖式,并允許遞歸使用。問題分析圖(PAD)46整理ppt判定表判定表用于表示程序的靜態(tài)邏輯在判定表中的條件部分給出所有的兩分支判斷的列表,動作部分給出相應(yīng)的處理要求將程序流程圖中的多分支判斷都改成兩分支判斷47整理ppt內(nèi)容模塊程序編寫人員:程序員階段成果:程序清單(4)編碼階段48整理ppt

設(shè)計測試用例測試軟件人員另一部門的分析員或程序員階段成果軟件測試計劃軟件測試報告(5)測試階段49整理ppt

測試是為了尋找錯誤而運(yùn)行程序的過程軟件產(chǎn)品最大的成本是檢測軟件錯誤、修正軟件錯誤的成本。在整個軟件開發(fā)中,測試工作量一般占30%~40%,甚至≥50%。測試的目的是發(fā)現(xiàn)程序中的錯誤,是為了證明程序有錯,而不是證明程序無錯.

程序測試能證明錯誤的存在,但不能證明錯誤不存在”一個好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯誤的測試。軟件測試的認(rèn)識50整理ppt軟件測試是有風(fēng)險的行為軟件缺陷數(shù)量遺漏軟件缺陷數(shù)目測試費(fèi)用測試中測試后測試工作量每一個軟件項目都有一個最優(yōu)的測量量最優(yōu)測量量軟件測試不可能發(fā)現(xiàn)程序中存在的所有錯誤,因此需精心設(shè)計測試方案51整理ppt

測試原則(1)所有的測試都應(yīng)追溯到用戶需求(2)概要設(shè)計時應(yīng)完成測試計劃,詳細(xì)的測試用例定義可在設(shè)計模型確定后開始,所有測試可在任何代碼被產(chǎn)生之前進(jìn)行計劃和設(shè)計。(3)pareto原則:測試發(fā)現(xiàn)的錯誤中80%很可能起源于20%的模塊中。應(yīng)孤立這些疑點模塊重點測試。(4)窮舉測試是不可能的。(5)應(yīng)由獨立的第三方來構(gòu)造測試。(6)測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩部分組成.(7)兼顧合理的輸入和不合理的輸入數(shù)據(jù)(8)程序修改后要回歸測試(9)應(yīng)長期保留測試用例,直至系統(tǒng)廢棄。52整理ppt測試與開發(fā)前期工作的關(guān)系決定軟件與系統(tǒng)的配合關(guān)系需求分析概要設(shè)計詳細(xì)設(shè)計

編碼單元測試集成測試確認(rèn)測試系統(tǒng)測試53整理ppt軟件測試的策略和方法靜態(tài)測試方法動態(tài)測試方法人工測試方法計算機(jī)輔助靜態(tài)分析方法白盒測試方法黑盒測試方法軟件測試方法與技術(shù)54整理ppt靜態(tài)測試:對軟件進(jìn)行分析、檢查和審閱,不實際運(yùn)行被測試的軟件。靜態(tài)測試約可找出30~70%的邏輯設(shè)計錯誤.對需求規(guī)格說明書、軟件設(shè)計說明書、源程序做檢查和審閱,包括:是否符合標(biāo)準(zhǔn)和規(guī)范;通過結(jié)構(gòu)分析、流圖分析、符號執(zhí)行指出軟件缺陷

動態(tài)測試:通過運(yùn)行軟件來檢驗軟件的動態(tài)行為和運(yùn)行結(jié)果的正確性動態(tài)測試的兩個基本要素:被測試程序測試數(shù)據(jù)(測試用例)55整理ppt測試(test)

調(diào)試(debug)以已知條件開始,使用預(yù)先定義的程序,有預(yù)知的結(jié)果以不可知內(nèi)部條件開始,結(jié)果一般不可預(yù)見有計劃被動的由獨立的測試組,在不了解軟件設(shè)計的條件下完成由程序作者進(jìn)行發(fā)現(xiàn)錯誤找出錯誤位置,排除測試與調(diào)試(排錯)56整理ppt邏輯覆蓋法(1)語句覆蓋-使程序中每個語句至少執(zhí)行一次(2)判定覆蓋-使每個判定的真假分支都至少執(zhí)行一次(3)條件覆蓋-使每個判定的每個條件的可能取值至少執(zhí)行一次(4)判定/條件覆蓋-使判斷中的每個條件的所有可能取值至少執(zhí)行一次,同時每個判斷本身的所有可能判斷結(jié)果至少執(zhí)行一次(5)條件組合覆蓋-所有可能的條件取值組合至少執(zhí)行一次(6)路徑覆蓋-覆蓋每一個可能的路徑測試用例設(shè)計57整理ppt1、黑盒測試2、白盒測試3、單元測試4、累計綜合測試5、集成測試6、功能測試7、系統(tǒng)測試8、端到端測試9、健全測試10、衰竭測試11、接受測試12、負(fù)載測試13、強(qiáng)迫測試14、性能測試15、可用性測試16、安裝/卸載測試17、恢復(fù)測試18、兼容測試19、安全測試20、比較測試21、Alpha測試22、Beta測試測試類型58整理ppt黑盒測試

又稱:功能測試

數(shù)據(jù)驅(qū)動測試基于規(guī)格說明書的測試白盒測試又稱:開盒測試結(jié)構(gòu)測試玻璃盒測試基于覆蓋的測試黑盒測試是從用戶觀點,按規(guī)格說明書要求的輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應(yīng)關(guān)系設(shè)計測試用例,是根據(jù)程序外部特征進(jìn)行測試。

白盒測試是根據(jù)程序內(nèi)部邏輯結(jié)構(gòu)進(jìn)行測試。59整理ppt黑盒測試與白盒測試優(yōu)缺點比較

黑盒測試

白盒測試

優(yōu)點缺點性質(zhì)①適用于各階段測試②從產(chǎn)品功能角度測試③容易入手生成測試數(shù)據(jù)①可構(gòu)成測試數(shù)據(jù)使特定程序部分得到測試②有一定的充分性度量手段③可或較多工具支持①某些代碼得不到測試②如果規(guī)格說明有誤,則無法發(fā)現(xiàn)③不易進(jìn)行充分性測試①不易生成測試數(shù)據(jù)(通常)②無法對未實現(xiàn)規(guī)格說明的部分進(jìn)行測試③工作量大,通常只用于單元測試,有應(yīng)用局限是一種確認(rèn)技術(shù),回答“我們在構(gòu)造一個正確的系統(tǒng)嗎?”是一種驗證技術(shù),回答“我們在正確地構(gòu)造一個系統(tǒng)嗎?”60整理ppt功能測試 功能測試是在規(guī)定的一段時間內(nèi)運(yùn)行軟件系統(tǒng)的所有功能,以驗證這個軟件系統(tǒng)有無嚴(yán)重錯誤??煽啃詼y試

①平均失效間隔時間MTBF(MeanTimeBetweenFailures)是否超過規(guī)定時限?

②因故障而停機(jī)的時間MTTR(MeanTimeToRepairs)在一年中應(yīng)不超過多少時間。61整理ppt強(qiáng)度測試 強(qiáng)度測試是要檢查在系統(tǒng)運(yùn)行環(huán)境不正常乃至發(fā)生故障的情況下,系統(tǒng)可以運(yùn)行到何種程度的測試。例如:

把輸入數(shù)據(jù)速率提高一個數(shù)量級,確定輸入功能將如何響應(yīng)。設(shè)計需要占用最大存儲量或其它資源的測試用例進(jìn)行測試。設(shè)計出在虛擬存儲管理機(jī)制中引起“顛簸”的測試用例進(jìn)行測試。設(shè)計出會對磁盤常駐內(nèi)存的數(shù)據(jù)過度訪問的測試用例進(jìn)行測試。強(qiáng)度測試的一個變種就是敏感性測試。在程序有效數(shù)據(jù)界限內(nèi)一個小范圍內(nèi)的一組數(shù)據(jù)可能引起極端的或不平穩(wěn)的錯誤處理出現(xiàn),或者導(dǎo)致極度的性能下降的情況發(fā)生。62整理ppt性能測試性能測試是要檢查系統(tǒng)是否滿足在需求說明書中規(guī)定的性能。特別是對于實時系統(tǒng)或嵌入式系統(tǒng)。性能測試常常需要與強(qiáng)度測試結(jié)合起來進(jìn)行,并常常要求同時進(jìn)行硬件和軟件檢測。通常,對軟件性能的檢測表現(xiàn)在以下幾個方面:響應(yīng)時間、吞吐量、輔助存儲區(qū),例如緩沖區(qū),工作區(qū)的大小等、處理精度等。啟動/停止測試 目的是驗證在機(jī)器啟動及關(guān)機(jī)階段,軟件系統(tǒng)正確處理的能力。 63整理ppt恢復(fù)測試

恢復(fù)測試是要證實在克服硬件故障(包括掉電、硬件或網(wǎng)絡(luò)出錯等)后,系統(tǒng)能否正常地繼續(xù)進(jìn)行工作,并不對系統(tǒng)造成任何損害。容量測試檢驗系統(tǒng)的能力最高能達(dá)到什么程度。例如,對于編譯程序,讓它處理特別長的源程序;對于操作系統(tǒng),讓它的作業(yè)隊列“滿員”;對于信息檢索系統(tǒng),讓它使用頻率達(dá)到最大。 在使系統(tǒng)的全部資源達(dá)到“滿負(fù)荷”的情形下,測試系統(tǒng)的承受能力。

64整理ppt配置測試是要檢查計算機(jī)系統(tǒng)內(nèi)各個設(shè)備或各種資源之間的相互聯(lián)結(jié)和功能分配中的錯誤。主要包括:配置命令測試:驗證全部配置命令的可操作性(有效性)。循環(huán)配置測試:證明對每個設(shè)備物理與邏輯的,邏輯與功能的每次循環(huán)置換配置都能正常工作。

修復(fù)測試:檢查每種配置狀態(tài)及哪個設(shè)備是壞的,并用自動的或手工的方式進(jìn)行配置狀態(tài)間的轉(zhuǎn)換。65整理ppt安全性測試 檢驗在系統(tǒng)中已經(jīng)存在的系統(tǒng)安全性、保密性措施是否發(fā)揮作用,有無漏洞??墒褂眯詼y試從使用的合理性和方便性等角度對軟件系統(tǒng)進(jìn)行檢查,發(fā)現(xiàn)人為因素或使用上的問題。可支持性測試 驗證系統(tǒng)的支持策略對于公司與用戶方面是否切實可行。安裝測試

安裝測試是要找出在安裝過程中出現(xiàn)的錯誤。66整理ppt過程測試在一些大型的系統(tǒng)中,部分工作需由各種人員按一定規(guī)程同計算機(jī)配合,靠人工來完成。指定由人工完成的過程也需經(jīng)過仔細(xì)的檢查,這就是所謂的過程測試?;ミB測試驗證兩個或多個不同的系統(tǒng)之間的互連性。兼容性測試驗證軟件產(chǎn)品在不同版本之間的兼容性。包括:向下兼容和交錯兼容文檔測試 檢查用戶文檔(如用戶手冊)的清晰性和精確性。67整理ppt調(diào)試(Debug)方法強(qiáng)行排錯回溯法調(diào)試

先分析錯誤征兆,確定最先發(fā)現(xiàn)“癥狀”的位置。然后沿程序的控制流程,向回追蹤源程序代碼。歸納法調(diào)試

歸納法是一種從特殊推斷一般的系統(tǒng)化思考方法。從一些線索(錯誤征兆)著手,通過分析它們之間的關(guān)系來找出錯誤。演繹法調(diào)試

演繹法是一種從一般原理出發(fā),經(jīng)過排除來推導(dǎo)結(jié)論的思考方法。首先根據(jù)已有的測試用例,設(shè)想所有可能出錯的原因;然后再用原始測試數(shù)據(jù),逐個排除不可能正確的假設(shè);最后驗證余下的假設(shè)確是出錯的原因。68整理ppt軟件測試過程被測模塊單元測試設(shè)計信息集成測試被測模塊單元測試被測模塊單元測試測試過的模塊確認(rèn)測試系統(tǒng)測試軟件需求其它系統(tǒng)元素裝配好的軟件

確認(rèn)的軟件可運(yùn)行的軟件軟件測試步驟69整理ppt單元測試單元測試檢驗每個模塊能否單獨工作集成測試(組裝測試)集成測試:檢驗概要設(shè)計中模塊接口設(shè)計問題集成測試方法通常采用黑盒測試技術(shù)實施策略:非漸增式測試一次就把所有通過了單元測試的模塊組合在一起進(jìn)行全程序的測試.漸增式測試從一個模塊開始,測一次添加一個模塊,邊組裝邊測試,以發(fā)現(xiàn)與接口相聯(lián)系的問題。

70整理ppt運(yùn)用黑盒測試的方法,通過實施預(yù)定的測試計劃和測試步驟,證實軟件功能與用戶需求是否一致.確認(rèn)測試軟件配置審查主管部門批準(zhǔn)集成的軟件軟件需求用戶文檔設(shè)計文檔源程序測試文檔交付的軟件確認(rèn)的軟件確認(rèn)的配置確認(rèn)測試(有效性測試、驗收測試)71整理pptα測試和β測試α測試(Alpha)

在開發(fā)者的場所由用戶進(jìn)行,在開發(fā)者關(guān)注和控制的環(huán)境下進(jìn)行。α測試的目的是評價軟件產(chǎn)品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)。尤其注重產(chǎn)品的界面和特色。

β測試(Beta)

最終用戶在自己的場所進(jìn)行。β測試是由軟件的多個用戶在實際使用環(huán)境下進(jìn)行的測試。這些用戶返回有關(guān)錯誤信息給開發(fā)者。測試時,開發(fā)者通常不在測試現(xiàn)場。因而,β測試是在開發(fā)者無法控制的環(huán)境下進(jìn)行的軟件現(xiàn)場應(yīng)用。在β測試中,由用戶記下遇到的所有問題,包括真實的以及主觀認(rèn)定的,定期向開發(fā)者報告。72整理ppt(1)恢復(fù)測試以不同的方式強(qiáng)使軟件出現(xiàn)故障,檢測軟件能否恰當(dāng)?shù)赝瓿苫謴?fù)。(2)安全性測試設(shè)計測試用例,突破軟件安全保護(hù)機(jī)構(gòu)的安全保密措施,檢驗系統(tǒng)預(yù)防機(jī)制的漏洞.

(3)強(qiáng)度測試是一種敏感性測試技術(shù),設(shè)計測試用例,讓系統(tǒng)處于資源的異常數(shù)量、異常頻率、異常批量的條件下測試系統(tǒng)的承受能力。(4)性能測試設(shè)計測試用例,并記錄軟件運(yùn)行性能,與性能要求比較,檢驗是否達(dá)到性能要求規(guī)格。系統(tǒng)測試73整理ppt(6)軟件維護(hù)在軟件運(yùn)行/維護(hù)階段對軟件產(chǎn)品進(jìn)行的修改就是所謂的維護(hù)。維護(hù)的類型有三種:改正性維護(hù)適應(yīng)性維護(hù)完善性維護(hù)74整理ppt改正性維護(hù)在軟件交付使用后,因開發(fā)時測試的不徹底、不完全,必然會有部分隱藏的錯誤遺留到運(yùn)行階段。為了識別和糾正軟件錯誤、改正軟件性能上的缺陷、排除實施中的誤使用,應(yīng)當(dāng)進(jìn)行的診斷和改正錯誤的過程就叫做改正性維護(hù)。75整理ppt適應(yīng)性維護(hù)在使用過程中,外部環(huán)境(新的硬、軟件配置)

數(shù)據(jù)環(huán)境(數(shù)據(jù)庫、數(shù)據(jù)格式、數(shù)據(jù)輸入/輸出方式、數(shù)據(jù)存儲介質(zhì))可能發(fā)生變化。為使軟件適應(yīng)這種變化,而去修改軟件的過程就叫做適應(yīng)性維護(hù)。

76整理ppt完善性維護(hù)在軟件的使用過程中,用戶往往會對軟件提出新的功能與性能要求。為了滿足這些要求,需要修改或再開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。這種情況下進(jìn)行的維護(hù)活動叫做完善性維護(hù)。77整理ppt預(yù)防性維護(hù)預(yù)防性維護(hù)是為了提高軟件的可維護(hù)性、可靠性等,為以后進(jìn)一步改進(jìn)軟件打下良好基礎(chǔ)。預(yù)防性維護(hù)定義為:采用先進(jìn)的軟件工程方法對需要維護(hù)的軟件或軟件中的某一部分(重新)進(jìn)行設(shè)計、編制和測試。在整個軟件維護(hù)階段所花費(fèi)的全部工作量中,完善性維護(hù)占了幾乎一半的工作量。軟件維護(hù)活動所花費(fèi)的工作占整個生存期工作量的70%以上,78整理ppt維護(hù)在軟件生存期所占比例三類維護(hù)占總維護(hù)比例79整理ppt

軟件可維護(hù)性的定義

軟件可維護(hù)性是指糾正軟件系統(tǒng)出現(xiàn)的錯誤和缺陷,以及為滿足新的要求進(jìn)行修改、擴(kuò)充或壓縮的容易程度??删S護(hù)性、可使用性、可靠性是衡量軟件質(zhì)量的主要質(zhì)量特性,也是用戶十分關(guān)心的幾個方面。軟件的可維護(hù)性是軟件開發(fā)階段各個時期的關(guān)鍵目標(biāo)。80整理ppt目前廣泛使用的是用如下的七個特性來衡量程序的可維護(hù)性。

可理解性 可使用性 可測試性 可移植性 可修改性 效率 可靠性81整理ppt可理解性可理解性表明人們通過閱讀源代碼和相關(guān)文檔,了解程序功能及其如何運(yùn)行的容易程度。一個可理解的程序應(yīng)具備以下一些特性:模塊化,風(fēng)格一致性,不使用令人捉摸不定或含糊不清的代碼,使用有意義的數(shù)據(jù)名和過程名,結(jié)構(gòu)化,完整性等。82整理ppt可靠性可靠性表明一個程序按照用戶的要求和設(shè)計目標(biāo),在給定的一段時間內(nèi)正確執(zhí)行的概率。關(guān)于可靠性,度量的標(biāo)準(zhǔn)主要有: 平均失效間隔時間MTTF平均修復(fù)時間MTTR有效性A=MTBD/(MTBD+MDT)83整理ppt可測試性可測試性表明論證程序正確性的容易程度。程序越簡單,證明其正確性就越容易。而且設(shè)計合用的測試用例,取決于對程序的全面理解。一個可測試的程序應(yīng)當(dāng)是可理解的,可靠的,簡單的。4.可修改性可修改性表明程序容易修改的程度。一個可修改的程序應(yīng)當(dāng)是可理解的、通用的、靈活的、簡單的。通用性是指程序適用于各種功能變化而無需修改靈活性是指能夠容易地對程序進(jìn)行修改。84整理ppt可移植性可移植性表明程序轉(zhuǎn)移到一個新的計算環(huán)境的可能性的大小。或者它表明程序可以容易地、有效地在各種各樣的計算環(huán)境中運(yùn)行的容易程度。一個可移植的程序應(yīng)具有結(jié)構(gòu)良好、靈活、不依賴于某一具體計算機(jī)或操作系統(tǒng)的性能。85整理ppt效率效率表明一個程序能執(zhí)行預(yù)定功能而又不浪費(fèi)機(jī)器資源的程度。這些機(jī)器資源包括內(nèi)存容量、外存容量、通道容量和執(zhí)行時間。7.可使用性從用戶觀點出發(fā),可使用性定義為程序方便、實用、及易于使用的程度。一個可使用的程序應(yīng)是易于使用的、能允許用戶出錯和改變,并盡可能不使用戶陷入混亂狀態(tài)的程序。86整理ppt2.2軟件質(zhì)量保證軟件質(zhì)量保證活動:應(yīng)用技術(shù)方法正式的技術(shù)評審軟件測試標(biāo)準(zhǔn)的實施控制變更量度記錄與報告87整理ppt軟件質(zhì)量特性ISO/IEC9126軟件質(zhì)量模型的三個層次質(zhì)量特性質(zhì)量子特性質(zhì)量量度指標(biāo)88整理ppt1.功能性適合性-匹配相應(yīng)的功能要求準(zhǔn)確性-得到正確的結(jié)果或效果互用性-能與其他系統(tǒng)交互操作依從性-復(fù)合有關(guān)標(biāo)準(zhǔn)、法規(guī)安全性-避免非法訪問89整理ppt成熟性-軟件失效頻度容錯性-措施使用下的維持軟件水平程度易恢復(fù)性-恢復(fù)原有水平的難易程度易理解性-理解軟件邏輯的難易易學(xué)性-為了應(yīng)用付出的努力易操作性-為了操作所付出的努力90整理ppt時間特性-軟件響應(yīng)快慢資源特性-軟件使用資源量和占用資源時間易分析性-為找出問題原因付出的努力易改變性-為修改或排錯付出的努力穩(wěn)定性-因修改帶來的風(fēng)險大小易測試性-確認(rèn)已修改軟件的努力91整理ppt適應(yīng)性-適應(yīng)不同環(huán)境的能力易安裝性-規(guī)定環(huán)境下的安裝難易一致性-與可移植性有關(guān)標(biāo)準(zhǔn)的復(fù)合程度易替換性-替換其他軟件的難易92整理pptMcCall軟件質(zhì)量模型93整理ppt過程的定義SEI-CMM定義過程是用于軟件開發(fā)及維護(hù)的一系列活動、方法及實踐。2.3軟件過程管理94整理ppt關(guān)鍵概念CMM強(qiáng)調(diào)機(jī)構(gòu)一致地、可預(yù)測地生產(chǎn)高質(zhì)量軟件產(chǎn)品的能力。過程(Process):為了達(dá)到給定目標(biāo)所實施的一序列步驟?!踩藛T利用規(guī)程、方法、工具和設(shè)備將輸入轉(zhuǎn)化成產(chǎn)品〕

軟件過程(SoftwareProcess):軟件開發(fā)人員開發(fā)和維護(hù)軟件及其相關(guān)產(chǎn)品(如項目計劃、設(shè)計文檔、代碼等等)的一套行為、方法、實踐及變換過程。

軟件產(chǎn)品的質(zhì)量取決于軟件過程質(zhì)量軟件過程能力(SoftwareProcessCapability):遵循某軟件過程可能達(dá)到的預(yù)期結(jié)果的范圍。95整理ppt軟件過程效能(SoftwareProcessPerformance):遵循一個軟件過程所達(dá)到的實際結(jié)果。軟件過程成熟度(SoftwareProcessMaturity):針對具體的軟件過程進(jìn)行明確定義、管理、測量、控制以及有效的程度。 軟件過程成熟度要求機(jī)構(gòu)改進(jìn)軟件過程基礎(chǔ)設(shè)施(Infrastructure):機(jī)構(gòu)或系統(tǒng)的基本框架,包括正在執(zhí)行的軟件過程的機(jī)構(gòu)機(jī)構(gòu)、策略、標(biāo)準(zhǔn)、培訓(xùn)、設(shè)備和工具。機(jī)構(gòu)文化(corporateculture):做事情的方式。制度化(Institutionalization):建立起支持方法、實踐和規(guī)程的基礎(chǔ)設(shè)施和企業(yè)文化。96整理ppt實現(xiàn)、管理和支持過程之間的關(guān)系97整理ppt軟件過程的分類和組成軟件基本過程:軟件獲取、供應(yīng)、開發(fā)、運(yùn)行和維護(hù)的過程,包括需求分析、軟件設(shè)計、編碼等過程。軟件支持過程:對軟件主要過程提供支持的過程,包括文檔編制過程、配置管理過程、質(zhì)量保證過程、驗證和確認(rèn)過程(測試過程)、評審過程等。軟件組織過程:對軟件主要過程和支持過程的組織保證過程,包括管理過程、基礎(chǔ)設(shè)施過程、改進(jìn)過程和培訓(xùn)過程。98整理pptIEC12207軟件生存周期過程99整理pptISO/IEC15504軟件生存周期過程100整理ppt軟件過程規(guī)范的建立軟件能力成熟度模型(CMM/CMMI)個體軟件過程(PSP)團(tuán)隊軟件過程(TSP)IBM-Raional

統(tǒng)一過程(RUP)極限編程(eXtremeProgramming,XP)微軟軟件框架(MSF)101整理ppt軟件工程過程工程過程是軟件系統(tǒng)、產(chǎn)品的定義、設(shè)計、實現(xiàn)以及維護(hù)的過程。開發(fā)過程:定義并開發(fā)軟件產(chǎn)品的活動過程,包括需求分析、軟件設(shè)計和編程等。運(yùn)行過程:在規(guī)定的環(huán)境中為其用戶提供運(yùn)行計算機(jī)系統(tǒng)服務(wù)的活動過程,包括軟件部署維護(hù)過程:提供維護(hù)軟件產(chǎn)品服務(wù)的活動過程,也就是通過軟件的修改、變更,使軟件系統(tǒng)保持合適的運(yùn)行狀態(tài),這一過程包括軟件產(chǎn)品的移植和退役。102整理ppt軟件支持過程文檔編制配置管理質(zhì)量保證驗證確認(rèn)聯(lián)合評審審核問題解決

明確并定義文檔開發(fā)中所采用的標(biāo)準(zhǔn)、軟件過程中所需要的各類文檔。詳細(xì)說明所有文檔的內(nèi)容、目的及相關(guān)的輸出產(chǎn)品。根據(jù)定義的標(biāo)準(zhǔn)與已確定的計劃來編寫、審查、修改和發(fā)布所有文檔。按已定義的標(biāo)準(zhǔn)和具體的規(guī)則維護(hù)文檔。軟件過程或項目中的配置項(如程序、文件和數(shù)據(jù)等有關(guān)內(nèi)容)被標(biāo)識、定義。根據(jù)已定義的配置項建立基線,以便對更改與發(fā)布進(jìn)行有效的控制,并控制配置項的存儲、處理與分發(fā),確保配置項的完全性與一致性。記錄并報告配置項的狀態(tài)以及已發(fā)生變更的需求。針對過程或項目確定質(zhì)量保證活動、制定出相應(yīng)的計劃與進(jìn)度表。確定質(zhì)量保證活動的有關(guān)標(biāo)準(zhǔn)、方法、規(guī)程與工具。確定進(jìn)行質(zhì)量保證活動所需的資源、組織及其組織成員的職責(zé)。有足夠的能力確保必要的質(zhì)量保證活動獨立于管理者以及過程實際執(zhí)行者之外進(jìn)行開展和實施。在與各類相關(guān)的計劃進(jìn)度保持一致的前提下,實施所制定的質(zhì)量保證活動。根據(jù)需要驗證的工作產(chǎn)品所制定的規(guī)范(如產(chǎn)品規(guī)格說明書)實施必要的檢驗活動:有效地發(fā)現(xiàn)各類階段性產(chǎn)品所存在的缺陷,并跟蹤和消除缺陷。根據(jù)客戶實際需求,確認(rèn)所有工作產(chǎn)品相應(yīng)的質(zhì)量準(zhǔn)則,并實施必需的確認(rèn)活動。提供有關(guān)證據(jù),以證明開發(fā)出的工作產(chǎn)品滿足或適合指定的需求。與客戶、供應(yīng)商以及其他利益相關(guān)方(或獨立的第三方)對開發(fā)的活動和產(chǎn)品進(jìn)行評估。為聯(lián)合評審的實施制定相應(yīng)的計劃與進(jìn)度,跟蹤評審活動,直至結(jié)束。判斷是否與指定的需求、計劃以及合同相一致。由合適的、獨立的一方來安排對產(chǎn)品或過程的審核工作。以確定其是否符合特定需求

提供及時的、有明確職責(zé)的以及文檔化的方式,以確保所有發(fā)現(xiàn)的問題都經(jīng)過相應(yīng)的分析并得到解決。提供一種相應(yīng)的機(jī)制,以識別所發(fā)現(xiàn)的問題并根據(jù)相應(yīng)的趨勢采取行動。103整理ppt軟件管理過程104整理ppt軟件的管理過程項目管理過程是計劃、跟蹤和協(xié)調(diào)項目執(zhí)行及生產(chǎn)所需資源的管理過程。項目管理過程的活動,包括軟件基本過程的范圍確定、策劃、執(zhí)行和控制、評審和評價等。質(zhì)量管理過程是對項目產(chǎn)品和服務(wù)的質(zhì)量加以管理,從而獲得最大的客戶滿意度。此過程包括在項目以及組織層次上建立對產(chǎn)品和過程質(zhì)量管理的關(guān)注風(fēng)險管理過程,在整個項目的生命周期中對風(fēng)險不斷的識別、診斷和分析,回避風(fēng)險、降低風(fēng)險或消除風(fēng)險,并在項目以及組織層次上建立有效的風(fēng)險管理機(jī)制子合同商管理過程,選擇合格的子合同商并對其進(jìn)行管理的過程105整理ppt軟件組織過程業(yè)務(wù)規(guī)劃過程是為組織與項目成員提供對愿景的描述以及企業(yè)文化的介紹,從而使項目成員能更有效地工作。定義過程是建立一個可重復(fù)使用的過程定義庫,從而對其它過程等提供指導(dǎo)、約束和支持改進(jìn)過程是為了滿足業(yè)務(wù)變化的需要,提高過程的效率與有效性,而對軟件過程進(jìn)行持續(xù)的評估、度量、控制和改善的過程人力資源和培訓(xùn)過程,為項目或其它組織過程提供培訓(xùn)合格的人員所需的活動

基礎(chǔ)設(shè)施過程是建立生存周期過程基礎(chǔ)結(jié)構(gòu)、為其他過程建立和維護(hù)所需基礎(chǔ)設(shè)施的過程106整理ppt軟件客戶-供應(yīng)商的過程客戶-供應(yīng)商過程是內(nèi)部直接影響到客戶、外部直接影響開發(fā)、向客戶交付軟件以及軟件正確操作與使用的過程,包括軟件獲得、客戶需求管理、提供軟件、操作軟件以及提供客戶服務(wù)等5個子過程獲取過程從確定需要獲取的軟件系統(tǒng)、產(chǎn)品或服務(wù)開始,然后制定和發(fā)布標(biāo)書、選擇供方和管理獲取過程,直到驗收軟件系統(tǒng)、產(chǎn)品或服務(wù)。該過程的成功實施會導(dǎo)致最終生成一個明確的合同或條約,清楚地描述出客戶與供應(yīng)方的期望、職責(zé)與義務(wù)。在整個軟件生命周期中,針對不斷變化的客戶需求加以收集、處理和跟蹤,并建立軟件需求的基準(zhǔn)線,以作為項目中軟件開發(fā)活動過程和產(chǎn)品度量和變更管理的基礎(chǔ)按客戶、事先規(guī)定的要求對軟件進(jìn)行包裝、發(fā)布與安裝的活動過程確定包裝、發(fā)布以及安裝軟件的有關(guān)要求。軟件有效地被安裝與使用。軟件達(dá)到需求定義中所規(guī)定的質(zhì)量水平。確定和管理由于引人并發(fā)操作軟件而帶來的操作上的風(fēng)險。按要求的步驟和在要求的操作環(huán)境中運(yùn)行軟件。提供操作上的技術(shù)支持,以便解決操作過程個出現(xiàn)的問題.確保軟件(或主機(jī)系統(tǒng))有足夠的能力滿足用戶的需求。基于實施情況,確定客戶所需要的支持服務(wù)。通過提供適當(dāng)?shù)姆?wù)來滿足客戶的需求。針對客戶對產(chǎn)品本身及其相應(yīng)的支持服務(wù)的滿意程度進(jìn)行持續(xù)的評估107整理ppt基于SOA的軟件過程模型面向服務(wù)架構(gòu)(Service-OrientedArchitecture,SOA)是企業(yè)級的、按需連接資源的新型架構(gòu),它描述了一系列模式和指導(dǎo)方針來創(chuàng)建松耦合、依賴業(yè)務(wù)的服務(wù)。108整理ppt109整理ppt2.4軟件復(fù)用軟件復(fù)用的定義軟件復(fù)用是使用已有的軟件產(chǎn)品(如設(shè)計、代碼、文檔等)來開發(fā)新的軟件系統(tǒng)的過程。按照可復(fù)用的粒度,軟件制品從小到大分為以下幾類:源代碼復(fù)用軟件體系結(jié)構(gòu)復(fù)用應(yīng)用程序生成器領(lǐng)域特定的軟件體系結(jié)構(gòu)的復(fù)用軟件復(fù)用的粒度

110整理ppt橫向復(fù)用和縱向復(fù)用

橫向復(fù)用是指復(fù)用不同應(yīng)用領(lǐng)域中的軟件元素??v向復(fù)用是指在一類具有較多公共性的應(yīng)用領(lǐng)域之間進(jìn)行軟部品復(fù)用。領(lǐng)域分析用戶需求軟件開發(fā)與構(gòu)件開發(fā)目標(biāo)軟件確認(rèn)可復(fù)用構(gòu)件庫檢索理解111整理ppt

構(gòu)件模型及實現(xiàn)

◎構(gòu)件的定義

構(gòu)件是指語義完整、語法正確和有可重用價值的單位軟件,是軟件重用過程中可以明確辨識的系統(tǒng);結(jié)構(gòu)上,它是語義描述、通訊接口和實現(xiàn)代碼的復(fù)合體。112整理ppt◎構(gòu)件模型的三個主要流派OMG(ObjectManagementGroup,對象管理集團(tuán))的CORBA(CommonObjectRequestBrokerArchitecture,通用對象請求代理結(jié)構(gòu))Sun的EJB(EnterpriseJavaBean)Microsoft的DCOM(DistributedComponentObjectModel,分布式構(gòu)件對象模型)。113整理ppt

構(gòu)件獲取

從現(xiàn)有構(gòu)件中獲得符合要求的構(gòu)件,直接使用或作適應(yīng)性修改,得到可重用的構(gòu)件;通過遺留工程,將具有潛在重用價值的構(gòu)件提取出來,得到可重用的構(gòu)件;從市場上購買現(xiàn)成的商業(yè)構(gòu)件,即COTS(CommercialOff-The-Shell)構(gòu)件;開發(fā)新的符合要求的構(gòu)件。114整理ppt(1)構(gòu)件描述構(gòu)件模型是對構(gòu)件本質(zhì)的抽象描述,主要是為構(gòu)件的制作與構(gòu)件的重用提供依據(jù);從管理角度出發(fā),也需要對構(gòu)件進(jìn)行描述,例如:實現(xiàn)方式、實現(xiàn)體、注釋、生產(chǎn)者、生產(chǎn)日期、大小、價格、版本和關(guān)聯(lián)構(gòu)件等信息,它們與構(gòu)件模型共同組成了對構(gòu)件的完整描述。構(gòu)件管理

115整理ppt(2)構(gòu)件分類與組織

關(guān)鍵字分類法

刻面分類法

超文本組織方法(3)人員及權(quán)限管理一般來講,構(gòu)件庫系統(tǒng)可包括五類用戶,即注冊用戶、公共用戶、構(gòu)件提交者、一般系統(tǒng)管理員和超級系統(tǒng)管理員。116整理ppt◎關(guān)鍵字分類法117整理ppt◎刻面分類法

使用環(huán)境

應(yīng)用領(lǐng)域

功能

層次

表示方法118整理ppt構(gòu)件重用

◎檢索與提取構(gòu)件

基于關(guān)鍵字的檢索

刻面檢索法

超文本檢索法

其他檢索方法◎理解與評價構(gòu)件

構(gòu)件的功能與行為

相關(guān)的領(lǐng)域知識

可適應(yīng)性約束條件與例外情形

可以預(yù)見的修改部分及修改方法◎修改構(gòu)件◎構(gòu)件組裝

基于功能的組裝技術(shù)

基于數(shù)據(jù)的組裝技術(shù)

面向?qū)ο蟮慕M裝技術(shù)119整理ppt構(gòu)件標(biāo)準(zhǔn)規(guī)范

為了將不同軟件生產(chǎn)商在不同軟硬件平臺上開發(fā)的構(gòu)件組裝成一個系統(tǒng),必須解決異構(gòu)平臺的各構(gòu)件間的互操作問題。目前國際上已出現(xiàn)了一些支持互操作的構(gòu)件標(biāo)準(zhǔn),典型的有國際對象管理組織OMG推薦的CORBA、Microsoft公司推出的DCOM/COM/COM+和Sun的EJB。120整理ppt面向?qū)ο笏枷?.1面向?qū)ο蠡靖拍畹谌?jié)面向?qū)ο笙到y(tǒng)分析與設(shè)計121整理ppt每個對象都扮演了一個角色,并為其它成員提供特定的服務(wù)或執(zhí)行特定的行為。在面向?qū)ο笫澜缰校袨榈膯邮峭ㄟ^將“消息”傳遞給對此行為負(fù)責(zé)的對象來完成的;同時還將伴隨著執(zhí)行要求附上相關(guān)的信息(參數(shù));而收到該消息的對象則會執(zhí)行相應(yīng)的“方法”來實現(xiàn)需求用類和對象表示現(xiàn)實世界,用消息和方法來模擬現(xiàn)實世界的核心思想122整理ppt

面向?qū)ο蠓椒ㄊ抢贸橄?、封裝等機(jī)制,運(yùn)用對象、類、繼承、封裝、聚合、消息傳遞、多態(tài)性等概念來構(gòu)造系統(tǒng)的軟件開發(fā)方法。面向?qū)ο蠓椒ú捎玫淖钪饕獧C(jī)制是抽象。面向?qū)ο?對象+類+繼承+消息通信面向?qū)ο蟮闹饕卣鳎悍庋b性(Encapsulation)

繼承性(Inheritance)

多態(tài)性(Polymorphism)123整理ppt1.對象是以面向?qū)ο蠓椒?gòu)造的系統(tǒng)的基本單位。對象是對問題域中客觀存在的事物的抽象,對象具有描述其特征和狀態(tài)的屬性,還可以響應(yīng)外界的消息,進(jìn)行一定的操作。2.對象的屬性和操作組成了一個完整的對象,對象只對外開放其屬性和操作的一部份,大部份實現(xiàn)細(xì)節(jié)將對其它對象隱藏,這種機(jī)制稱為封裝,對象的對外接口稱為服務(wù)。抽象,形成對這些對象的抽象描述—類,每個對象就成為該類的一個實例。對象124整理ppt4.對形成的對象類進(jìn)一步抽象,抽取這些類的共同特征,形成基本的類和派生的類。5.一個系統(tǒng)就是由各個對象組成,對象和對象之間存在靜態(tài)關(guān)系和動態(tài)關(guān)系,靜態(tài)關(guān)系體現(xiàn)了對象之間固有的聯(lián)系。動態(tài)關(guān)系是對象之間通過發(fā)送消息進(jìn)行通信,相互協(xié)作,完成系統(tǒng)功能。復(fù)雜對象可以由簡單對象構(gòu)成,這種關(guān)系稱做聚合。125整理ppt在軟件系統(tǒng)開發(fā)的各個階段,對象有其不同的表現(xiàn)形式。在程序設(shè)計語言中,用類來定義對象,類相當(dāng)于一種用戶自定義的數(shù)據(jù)類型,這種數(shù)據(jù)類型是一個由數(shù)據(jù)和作用在這些數(shù)據(jù)之上的操作所組成的整體。對象相當(dāng)于具有該類型的一個變量。126整理ppt消息軟件系統(tǒng)中的對象之間也存在著依存關(guān)系,一個對象除了通過對外提供服務(wù)來發(fā)揮自己的作用外,還需要請求其它對象為它服務(wù)。消息是向?qū)ο蟀l(fā)出的服務(wù)請求。是面向?qū)ο笙到y(tǒng)中對象之間交互的途徑。127整理ppt在具體的程序設(shè)計語言中,消息表現(xiàn)為對象在其操作過程中對另一個對象的服務(wù)程序的調(diào)用,也就是函數(shù)(或過程、例程)調(diào)用。對于純粹的面向?qū)ο笳Z言,所有的函數(shù)調(diào)用都可以看成是一種消息,所有的消息發(fā)送者都是對象。128整理ppt消息

對象之間相互請求或相互協(xié)作的途徑,是要求某個對象執(zhí)行某個功能操作的規(guī)格說明消息內(nèi)容

通常包含接收方及請求接收方完成的功能信息發(fā)送方

發(fā)出消息,請求接收方響應(yīng)接收方

收到消息后,經(jīng)過解釋,激活方法,予以響應(yīng)129整理ppt類類是人類抽象思維的產(chǎn)物。在面向?qū)ο蠓椒ㄖ校瑢栴}域中與當(dāng)前相關(guān)的對象進(jìn)行分析,找出事物的共性,并對具有共同特征的對象進(jìn)行劃分,就得到了類。類是具有相同屬性和操作的一組對象的集合,它為屬于該類的全部對象提供了統(tǒng)一的抽象描述。130整理ppt類是一個獨立的程序單位,它具有一個類名來唯一標(biāo)識這個類,類的定義體包括屬性和操作。屬性和操作還有公有、私有之分,公有的屬性和操作可以為其它對象所訪問,而私有的屬性和操作是在類對象內(nèi)部實現(xiàn),體現(xiàn)了封裝和信息隱藏的操作思想。公有的操作就體現(xiàn)為對象的服務(wù)。131整理ppt具有共同屬性和行為的對象的抽象類與對象的關(guān)系類是對象的抽象對象是類的實例132整理ppt繼承特殊類的對象擁有其一般類的全部屬性和操作,稱做特殊類對一般類的繼承。一般類是對各種特殊類的共同特性的抽象。特殊類通過繼承自動獲得一般類所具有的特性,因而特殊類只需要再定義屬于它自己特定的屬性和操作就可以了,特殊類的對象不僅包含它自己類中定義的屬性和操作,也包含了在一般類中定義的所有屬性和服務(wù)。繼承關(guān)系中的一般類稱為基類,特殊類稱為派生類。133整理ppt繼承性是父類和子類之間共享數(shù)據(jù)和方法的機(jī)制繼承性具有傳遞性繼承性包括單繼承和多重繼承

子類繼承部分增加部分父類共性部分134整理ppt封裝對象是一個數(shù)據(jù)和操作的封裝體,這個封裝體對外僅呈現(xiàn)少量的接口,大多數(shù)實現(xiàn)細(xì)節(jié)都對外隱藏。封裝的含義一是包裝,二是信息隱藏,對外只公布一個有限的界面,通過這個界面和外界交互。封裝和繼承是面向?qū)ο蠓椒ㄖ谢パa(bǔ)的兩種技術(shù)。封裝使對象成為一個相對獨立的整體,而繼承給了對象類另一個發(fā)展的空間,派生類通過繼承得到了基類的屬性和操作。封裝使用其它對象的服務(wù)實現(xiàn)動態(tài)共享,而繼承則是對代碼的靜態(tài)共享。135整理ppt封裝是面向?qū)ο蟪绦蛟O(shè)計語言必須提供的機(jī)制。嚴(yán)格的封裝要求對象的所有屬性和操作都對外隱藏,外界只能通過那些公共的操作(即服務(wù))才能訪問這些屬性。封裝是軟件開發(fā)方法的重要原則,有兩個涵義:把對象的全部屬性和全部服務(wù)結(jié)合在一起,形成一個不可分割的獨立單位(對象)。盡可能隱蔽對象的內(nèi)部細(xì)節(jié)(信息隱蔽)136整理ppt傳統(tǒng)方法數(shù)據(jù)與過程是分離的過程1輸入輸出過程2過程3數(shù)據(jù)實體屬于該對象的數(shù)據(jù)對象處理數(shù)據(jù)的方法消息消息對象把數(shù)據(jù)和處理數(shù)據(jù)的方法封狀成一個單元137整理ppt多態(tài)性不同的對象收到同一消息可產(chǎn)生完全不同的結(jié)果,這一現(xiàn)象叫做多態(tài)多態(tài)的效果用戶發(fā)送一個通用的消息,而實現(xiàn)的細(xì)節(jié)則由接收對象自行決定138整理pptUML是一種統(tǒng)一的、標(biāo)準(zhǔn)化的建模語言UML是一種應(yīng)用面很廣泛的建模語言3.2UMLUseCaseDiagramsUseCaseDiagrams用例圖ScenarioDiagramsScenarioDiagrams協(xié)作圖StateDiagramsStateDiagrams構(gòu)件圖ComponentDiagramsComponentDiagrams部署圖StateDiagramsStateDiagrams對象圖ScenarioDiagramsScenarioDiagrams狀態(tài)圖UseCaseDiagramsUseCaseDiagrams序列圖StateDiagramsStateDiagrams類圖活動圖UML139整理pptUML模型關(guān)系的種類種類變種表示法種類變種表示法抽象派生依賴關(guān)系導(dǎo)入私有依賴關(guān)系顯現(xiàn)公有實現(xiàn)實現(xiàn)關(guān)系信息流精化依賴關(guān)系包含并跟蹤許可關(guān)聯(lián)關(guān)聯(lián)關(guān)系協(xié)議符合綁定依賴關(guān)系替換依賴關(guān)系部署使用調(diào)用擴(kuò)展Extend創(chuàng)建擴(kuò)展extension擴(kuò)展關(guān)系實例化泛化泛化關(guān)系職責(zé)包含依賴關(guān)系發(fā)送140整理ppt關(guān)聯(lián)關(guān)系關(guān)聯(lián)(Association)表示兩個類之間存在某種語義上的聯(lián)系。關(guān)聯(lián)關(guān)系提供了通信的路徑,它是所有關(guān)系中最通用、語義最弱的。在UML中,使用一條實線來表示關(guān)聯(lián)關(guān)系PersonCompanyworksforemployee*

1employer141整理ppt泛化、實現(xiàn)與依賴泛化關(guān)系描述了一般事物與該事物中的特殊種類之間的關(guān)系,也就是父類與子類之間的關(guān)系。142整理ppt實現(xiàn)關(guān)系是用來規(guī)定接口和實現(xiàn)接口的類或組件之間的關(guān)系。接口是操作的集合,這些操作用于規(guī)定類或組件的服務(wù)。143整理ppt有兩個元素X、Y,如果修改元素X的定義可能會引起對另一個元素Y的定義的修改,則稱元素Y依賴(Dependency)于元素X。144整理pptUML定義的圖圖名功能備注類圖描述類、類的特性以及類之間的關(guān)系UML1原有對象圖描述一個時間點上系統(tǒng)中各個對象的一個快照UML1非正式圖復(fù)合結(jié)構(gòu)圖描述類的運(yùn)行時刻的分解UML2.0新增構(gòu)件圖描述構(gòu)件的結(jié)構(gòu)與連接UML1原有部署圖描述在各個節(jié)點上的部署UML1原有包圖描述編譯時的層次結(jié)構(gòu)UML中非正式圖用例圖描述用戶與系統(tǒng)如何交互UML1原有活動圖描述過程行為與并行行為UML1原有狀態(tài)機(jī)圖描述事件如何改變對象生命周期UML1原有順序圖描述對象之間的交互,重點在強(qiáng)調(diào)順序UML1原有通信圖描述對象之間的交互,重點在于連接UML1中的協(xié)作圖定時圖描述對象之間的交互,重點在于定時UML2.0新增交互概觀圖是一種順序圖與活動圖的混合UML2.0新增145整理pptUML視圖和圖主要領(lǐng)域視圖圖結(jié)構(gòu)靜態(tài)視圖類圖設(shè)計視圖復(fù)合結(jié)構(gòu)圖、協(xié)作圖、構(gòu)件圖用例視圖用例圖動態(tài)狀態(tài)視圖狀態(tài)機(jī)圖活動視圖活動圖交互視圖順序圖、通信圖物理部署視圖部署圖模型管理模型管理視圖包圖特性描述包圖146整理ppt147整理ppt

類圖表示系統(tǒng)中的類和類與類之間的關(guān)系,它是對系統(tǒng)靜態(tài)結(jié)構(gòu)的描述

148整理ppt對象圖對象圖是類圖的變形,展示的是類的實例,是對類圖的實例化149整理ppt

協(xié)作圖描述對象間的協(xié)作關(guān)系,協(xié)作圖跟序列圖相似,顯示對象間的動態(tài)合作關(guān)系。如果強(qiáng)調(diào)時間和順序,則使用序列圖;如果強(qiáng)調(diào)上下級關(guān)系,則選擇協(xié)作圖。這兩種圖合稱為交互圖。150整理ppt

狀態(tài)圖描述類的對象所有可能的狀態(tài)以及事件發(fā)生時狀態(tài)的轉(zhuǎn)移條件。通常,狀態(tài)圖是對類圖的補(bǔ)充151整理ppt

構(gòu)件圖描述代碼構(gòu)件的物理結(jié)構(gòu)及各構(gòu)件之間的依賴關(guān)系

152整理ppt

部署圖部署圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu)

153整理ppt用例用例實例是在系統(tǒng)中執(zhí)行的一系列動作,這些動作將生成特定參與者可見的價值結(jié)果。一個用例定義一組用例實例用例是由一組用例實例組成的,用例實例也就是常說的“使用場景”,就是用戶使用系統(tǒng)的一個實際的、特定的場景用例應(yīng)該給參與者帶來可見的價值,這點十分關(guān)鍵

用例圖154整理ppt用于顯示若干角色以及這些角色與系統(tǒng)提供的用例之間的連接關(guān)系。用例是系統(tǒng)提供的功能的描述155整理ppt包在面向?qū)ο筌浖_發(fā)的視角中,類顯然是構(gòu)建整個系統(tǒng)的基本構(gòu)造塊。但是對于龐大的應(yīng)用系統(tǒng)而言,其包含的類將是成百上千,再加上其間“阡陌交縱”的關(guān)聯(lián)關(guān)系、多重性等,必然是大大超出了人們可以處理的復(fù)雜度。這也就是引入了“包”這種分組事物構(gòu)造塊。包的作用是:

1)對語義上相關(guān)的元素進(jìn)行分組;

2)定義模型中的“語義邊界”;

3)提供配置管理單元;

4)在設(shè)計時,提供并行工作的單元;

5)提供封裝的命名空間,其中所有名稱必須惟一156整理ppt157整理ppt交互的概念一次交互就是指在特定語境中,為了實現(xiàn)某一個目標(biāo),而在一組對象之間進(jìn)行交換的一組消息所表示的行為158整理pptUML中的4種交互圖序列圖:序列圖是一種強(qiáng)調(diào)消息時間順序的交互圖,為讀者提供了控制流隨著時間推移的清晰的可視化軌跡

通信圖:中的通信圖實際上就是UML1中的協(xié)作圖,它強(qiáng)調(diào)的是參加交互的對象的組織,為讀者提供了在協(xié)作對象結(jié)構(gòu)組織的語境中觀察控制流的一個清晰的可視化軌跡定時圖:采用了一種帶數(shù)字刻度的時間軸來精確地描述消息的順序交互概述圖:是交互圖和活動圖的混合物159整理ppt序列圖主要用于按照交互發(fā)生的一系列順序,顯示對象之間的這些交互。很象類圖,開發(fā)者一般認(rèn)為序列圖只對他們有意義。然而,一個組織的業(yè)務(wù)人員會發(fā)現(xiàn),序列圖顯示不同的業(yè)務(wù)對象如何交互,對于交流當(dāng)前業(yè)務(wù)如何進(jìn)行很有用。除記錄組織的當(dāng)前事件外,一個業(yè)務(wù)級的序列圖能被當(dāng)作一個需求文件使用,為實現(xiàn)一個未來系統(tǒng)傳遞需求。在項目的需求階段,分析師能通過提供一個更加正式層次的表達(dá),把用例帶入下一層次。那種情況下,用例常常被細(xì)化為一個或者更多的序列圖。160整理ppt序列圖用來反映若干個對象之間的動態(tài)協(xié)作關(guān)系,也就是隨著時間的推移,對象之間是如何交互的161整理ppt通信圖162整理ppt活動圖概述活動圖和交互圖是UML中對系統(tǒng)動態(tài)方面建模的兩種主要形式交互圖強(qiáng)調(diào)的是對象到對象的控制流,而活動圖則強(qiáng)調(diào)的是從活動到活動的控制流活動圖是一種表述過程基理、業(yè)務(wù)過程以及工作流的技術(shù)。它可以用來對業(yè)務(wù)過程、工作流建模,也可以對用例實現(xiàn)甚至是程序?qū)崿F(xiàn)來建模而言,去除了“活動圖是狀態(tài)圖

的一種特例”這一規(guī)定活動圖163整理ppt描述滿足用例要求所要進(jìn)行的活動以及活動間的約束關(guān)系,有利于識別并行活動164整理ppt3.3面向?qū)ο蟮姆治龊驮O(shè)計面向?qū)ο筌浖_發(fā)的生命周期可分為:分析、設(shè)計、實現(xiàn)三部份。OOA過程包含以下主要活動:1.發(fā)現(xiàn)對象,并對它們抽象分類,得到對象的類2.識別對象的內(nèi)部特征,包括對象的屬性和操作6.如需要時開發(fā)原型,輔助分析整理ppt面向?qū)ο蠓椒ㄩ_發(fā)軟件通常建立的三種形式的模型對象模型:描述靜態(tài)結(jié)構(gòu),定義做事情的實體功能模型:描述處理(數(shù)據(jù)變換),指明系統(tǒng)應(yīng)“做什么”動態(tài)模型:描述交互過程,規(guī)定什么時候做

三種模型從三個不同但由密切相關(guān)的角度模擬目標(biāo)系統(tǒng)。

對象模型是最重要、最基本、最核心的。166整理ppt

對象模型

描述系統(tǒng)內(nèi)部對象結(jié)構(gòu),包括對象本身的定義、對象的屬性、操作,以及對象與其它對象之間的關(guān)系。

對象模型是OMT方法論中最重要的部分,動態(tài)模型、功能模型都將依次而建立對象模型以對象圖形式呈現(xiàn),對象圖由類構(gòu)成。

建立數(shù)據(jù)字典為所有模型實體準(zhǔn)備一個數(shù)據(jù)字典,精確描述每一個對象類,包括:

成員約束關(guān)聯(lián)、屬性、操作167整理ppt動態(tài)模型

用來描述系統(tǒng)與時間相關(guān)的動態(tài)行為即系統(tǒng)的控制邏輯,表現(xiàn)對象彼此間經(jīng)過相互作用后,隨時間改變的不同運(yùn)算順序。動態(tài)模型以“事件”(Events)和“狀態(tài)”(States)為其模型的主要概念。動態(tài)模型以狀態(tài)圖形式呈現(xiàn)——狀態(tài)和事件的網(wǎng)絡(luò),側(cè)重描述每一類對象的動態(tài)行為。功能模型用來描述系統(tǒng)中數(shù)據(jù)的變換。

傳統(tǒng)DFD+控制流168整理ppt設(shè)計階段將針對以下四方面:1.問題域;2.人機(jī)交互;3.數(shù)據(jù)管理;4.系統(tǒng)交互。169整理ppt軟件體系結(jié)構(gòu)的定義

軟件體系結(jié)構(gòu)為軟件系統(tǒng)提供了一個結(jié)構(gòu)、行為和屬性的高級抽象,由構(gòu)成系統(tǒng)的元素的描述、這些元素的相互作用、指導(dǎo)元素集成的模式以及這些模式的約束組成。軟件體系結(jié)構(gòu)不僅指定了系統(tǒng)的組織結(jié)構(gòu)和拓?fù)浣Y(jié)構(gòu),并且顯示了系統(tǒng)需求和構(gòu)成系統(tǒng)的元素之間的對應(yīng)關(guān)系,提供了一些設(shè)計決策的基本原理。第四節(jié)軟件體系結(jié)構(gòu)170整理ppt4.1經(jīng)典的體系結(jié)構(gòu)風(fēng)格

◎數(shù)據(jù)流風(fēng)格:批處理序列;管道/過濾器。◎調(diào)用/返回風(fēng)格:主程序/子程序;面向?qū)ο箫L(fēng)格;層次結(jié)構(gòu)?!颡毩?gòu)件風(fēng)格:進(jìn)程通訊;事件系統(tǒng)?!蛱摂M機(jī)風(fēng)格:解釋器;基于規(guī)則的系統(tǒng)?!騻}庫風(fēng)格:數(shù)據(jù)庫系統(tǒng);超文本系統(tǒng);黑板系統(tǒng)。171整理ppt

管道和過濾器

每個構(gòu)件都有一組輸入和輸出,構(gòu)件讀輸入的數(shù)據(jù)流,經(jīng)過內(nèi)部處理,然后產(chǎn)生輸出數(shù)據(jù)流。這個過程通常通過對輸入流的變換及增量計算來完成,所以在輸入被完全消費(fèi)之前,輸出便產(chǎn)生了。這里的構(gòu)件被稱為過濾器,這種風(fēng)格的連接件就象是數(shù)據(jù)流傳輸?shù)墓艿?,將一個過濾器的輸出傳到另一過濾器的輸入。172整理ppt

管道和過濾器風(fēng)格的優(yōu)點

◎使得軟構(gòu)件具有良好的隱蔽性和高內(nèi)聚、低耦合的特點;◎允許設(shè)計者將整個系統(tǒng)的輸入/輸出行為看成是多個過濾器的行為的簡單合成;◎支持軟件重用。只要提供適合在兩個過濾器之間傳送的數(shù)據(jù),任何兩個過濾器都可被連接起來;◎系統(tǒng)維護(hù)和增強(qiáng)系統(tǒng)性能簡單。新的過濾器可以添加到現(xiàn)有系統(tǒng)中來;舊的可以被改進(jìn)的過濾器替換掉;◎允許對一些如吞吐量、死鎖等屬性的分析;◎支持并行執(zhí)行。每個過濾器是作為一個單獨的任務(wù)完成,因此可與其它任務(wù)并行執(zhí)行。173整理ppt

管道和過濾器的缺點

◎通常導(dǎo)致進(jìn)程成為批處理的結(jié)構(gòu)。這是因為雖然過濾器可增量式地處理數(shù)據(jù),但它們是獨立的,所以設(shè)計者必須將每個過濾器看成一個完整的從輸入到輸出的轉(zhuǎn)換;◎不適合處理交互的應(yīng)用。當(dāng)需要增量地顯示改變時,這個問題尤為嚴(yán)重;◎因為在數(shù)據(jù)傳輸上沒有通用的標(biāo)準(zhǔn),每個過濾器都增加了解析和合成數(shù)據(jù)的工作,這樣就導(dǎo)致了系統(tǒng)性能下降,并增加了編寫過濾器的復(fù)雜性。174整理ppt

數(shù)據(jù)抽象和面向?qū)ο蠼M織

這種風(fēng)格建立在數(shù)據(jù)抽象和面向?qū)ο蟮幕A(chǔ)上,數(shù)據(jù)的表示方法和它們的相應(yīng)操作封裝在一個抽象數(shù)據(jù)類型或?qū)ο笾?。這種風(fēng)格的構(gòu)件是對象,或者說是抽象數(shù)據(jù)類型的實例。對象是一種被稱作管理者的構(gòu)件,因為它負(fù)責(zé)保持資源的完整性。對象是通過函數(shù)和過程的調(diào)用來交互的。175整理ppt

面向?qū)ο笙到y(tǒng)的優(yōu)點、缺點◎因為對象對其它對象隱藏它的表示,所以可以改變一個對象的表示,而不影響其它的對象;◎設(shè)計者可將一些數(shù)據(jù)存取操作的問題分解成一些交互的代理程序的集合?!驗榱耸挂粋€對象和另一個對象通過過程調(diào)用等進(jìn)行交互,必須知道對象的標(biāo)識。只要一個對象的標(biāo)識改變了,就必須修改所有其他明確調(diào)用它的對象;◎必須修改所有顯式調(diào)用它的其它對象,并消除由此帶來的一些副作用。例如,如果A使用了對象B,C也使用了對象B,那么,C對B的使用所造成的對A的影響可能是料想不到的。176整理ppt

客戶/服務(wù)器風(fēng)格基本概念◎C/S軟件體系結(jié)構(gòu)是基于資源不對等,且為實現(xiàn)共享而提出來的,是20世紀(jì)90年代成熟起來的技術(shù),C/S體系結(jié)構(gòu)定義了工作站如何與服務(wù)器相連,以實現(xiàn)數(shù)據(jù)和應(yīng)用分布到多個處理機(jī)上?!?/p>

C/S體系結(jié)構(gòu)有三個主要組成部分:數(shù)據(jù)庫服務(wù)器、客戶應(yīng)用程序和網(wǎng)絡(luò)。177整理ppt

體系結(jié)構(gòu)178整理ppt

優(yōu)點◎

C/S體系結(jié)構(gòu)具有強(qiáng)大的數(shù)據(jù)操作和事務(wù)處理能力,模型思想簡單,易于人們理解和接受?!蛳到y(tǒng)的客戶應(yīng)用程序和服務(wù)器構(gòu)件分別運(yùn)行在不同的計算機(jī)上,系統(tǒng)中每臺服務(wù)器都可以適合各構(gòu)件的要求,這對于硬件和軟件的變化顯示出極大的適應(yīng)性和靈活性,而且易于對系統(tǒng)進(jìn)行擴(kuò)充和縮小?!蛟贑/S體系結(jié)構(gòu)中,系統(tǒng)中的功能構(gòu)件充分隔離,客戶應(yīng)用程序的開發(fā)集中于數(shù)據(jù)的顯示和分析,而數(shù)據(jù)庫服務(wù)器的開發(fā)則集中于數(shù)據(jù)的管理,不必在每一個新的應(yīng)用程序中都要對一個DBMS進(jìn)行編碼。將大的應(yīng)用處理任務(wù)分布到許多通過網(wǎng)絡(luò)連接的低成本計算機(jī)上,以節(jié)約大量費(fèi)用。179整理ppt

缺點◎開發(fā)成本較高◎客戶端程序設(shè)計復(fù)雜◎信息內(nèi)容和形式單一◎用戶界面風(fēng)格不一,使用繁雜,不利于推廣使用◎軟件移植困難◎軟件維護(hù)和升級困難◎新技術(shù)不能輕易應(yīng)用180整理ppt

瀏覽器/服務(wù)器風(fēng)格基本概念◎瀏覽器/服務(wù)器(B/S)風(fēng)格就是上述三層應(yīng)用結(jié)構(gòu)的一種實現(xiàn)方式,其具體結(jié)構(gòu)為:瀏覽器/Web服務(wù)器/數(shù)據(jù)庫服務(wù)器?!駼/S體系結(jié)構(gòu)主要是利用不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種腳本語言,用通用瀏覽器就實現(xiàn)了原來需要復(fù)雜的專用軟件才能實現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本。從某種程度上來說,B/S結(jié)構(gòu)是一種全新的軟件體系結(jié)構(gòu)。181整理ppt

體系結(jié)構(gòu)182整理ppt

優(yōu)點◎基于B/S體系結(jié)構(gòu)的軟件,系統(tǒng)安裝、修改和維護(hù)全在服務(wù)器端解決。用戶在使用系統(tǒng)時,僅僅需要一個瀏覽器就可運(yùn)行全部的模塊,真正達(dá)到了“零客戶端”的功能,很容易在運(yùn)行時自動升級?!駼/S體系結(jié)構(gòu)還提供了異種機(jī)、異種網(wǎng)、異種應(yīng)用服務(wù)的聯(lián)機(jī)、聯(lián)網(wǎng)、統(tǒng)一服務(wù)的最現(xiàn)實的開放性基礎(chǔ)。183整理ppt

缺點◎B/S體系結(jié)構(gòu)缺乏對動態(tài)頁面的支持能力,沒有集成有效的數(shù)據(jù)庫處理功能?!駼/S體系結(jié)構(gòu)的系統(tǒng)擴(kuò)展能力差,安全性難以控制?!虿捎肂/S體系結(jié)構(gòu)的應(yīng)用系統(tǒng),在數(shù)據(jù)查詢等響應(yīng)速度上,要遠(yuǎn)遠(yuǎn)地低于C/S體系結(jié)構(gòu)?!駼/S體系結(jié)構(gòu)的數(shù)據(jù)提交一般以頁面為單位,數(shù)據(jù)的動態(tài)交互性不強(qiáng),不利于在線事務(wù)處理(OLTP)應(yīng)用。184整理ppt

對象管理結(jié)構(gòu)公共對象請求代理體系結(jié)構(gòu)

185整理ppt

CORBA技術(shù)規(guī)范

◎接口定義語言(IDL)◎接口池(IR)◎動態(tài)調(diào)用接口(DII)◎?qū)ο筮m配器(OA)186整理ppt◎接口定義語言CORBA利用IDL統(tǒng)一地描述服務(wù)器對象(向調(diào)用者提供服務(wù)的對象)的接口。IDL本身也是面向?qū)ο蟮?。它雖然不是編程語言,但它為客戶對象(發(fā)出服務(wù)請求的對象)提供了語言的獨立性,因為客戶對象只需了解服務(wù)器對象的IDL接口,不必知道其編程語言。IDL語言是CORBA規(guī)范中定義的一種中性語言,它用來描述對象的接口,而不涉及對象的具體實現(xiàn)。

在CORBA中定義了IDL語言到C、C++、SmallTalk和Java語言的映射?!蚪涌诔谻ORBA的接口池包括了分布計算環(huán)境中所有可用的服務(wù)器對象的接口表示。它使動態(tài)搜索可用服務(wù)器的接口、動態(tài)構(gòu)造請求及參數(shù)成為可能。187整理ppt◎動態(tài)調(diào)用接口CORBA的動態(tài)調(diào)用接口提供了一些標(biāo)準(zhǔn)函數(shù)以供客戶對象動態(tài)創(chuàng)建請求、動態(tài)構(gòu)造請求參數(shù)??蛻魧ο髮討B(tài)調(diào)用接口與接口池配合使用可實現(xiàn)服務(wù)器對象接口的動態(tài)搜索、請求及參數(shù)的動態(tài)構(gòu)造與動態(tài)發(fā)送。當(dāng)然,只要客戶對象在編譯之前能夠確定服務(wù)器對象的IDL接口,CORBA也允許客戶對象使用靜態(tài)調(diào)用機(jī)制。顯然,靜態(tài)機(jī)制的靈活性雖不及動態(tài)機(jī)制,但執(zhí)行效率卻勝過動態(tài)機(jī)制?!騽討B(tài)調(diào)用接口

在CORBA中,對象適配器用于屏蔽ORB內(nèi)核的實現(xiàn)細(xì)節(jié),為服務(wù)器對象的實現(xiàn)者提供抽象接口,以便他們使用ORB內(nèi)部的某些功能。這些功能包括服務(wù)器對象的登錄與激活、客戶請求的認(rèn)證等。188整理ppt

特點

◎引入中間件作為事務(wù)代理,完成客戶機(jī)向服務(wù)對象方(Server)提出的業(yè)務(wù)請求?!?qū)崿F(xiàn)客戶與服務(wù)對象的完全分開,客戶不需要了解服務(wù)對象的實現(xiàn)過程以及具體位置?!蛱峁┸浛偩€機(jī)制,使得在任何環(huán)境下、采用任何語言開發(fā)的軟件只要符合接口規(guī)范的定義,均能夠集成到分布式系統(tǒng)中?!駽ORBA規(guī)范軟件系統(tǒng)采用面向?qū)ο蟮能浖崿F(xiàn)方法開發(fā)應(yīng)用系統(tǒng),實現(xiàn)對象內(nèi)部細(xì)節(jié)的完整封裝,保留對象方法的對外接口定義。189整理ppt常用的三個軟件體系結(jié)構(gòu)評估方法是:(1)體系結(jié)構(gòu)權(quán)衡分析方法(ATAM方法)(2)軟件體系結(jié)構(gòu)分析方法(SAAM方法)(3)中間設(shè)計的積極評審(ARID方法)4.2體系結(jié)構(gòu)評估190整理ppt4.3軟件中間件是指在分布式異構(gòu)環(huán)境中,位于硬件、操作系統(tǒng)等平臺和應(yīng)用之間的通用服務(wù)。中間件特點:是獨立的系統(tǒng)軟件或服務(wù)程序位于客戶機(jī)/服務(wù)器的操作系統(tǒng)之上實現(xiàn)應(yīng)用與平臺的無關(guān)性支持標(biāo)準(zhǔn)的協(xié)議與接口提供跨網(wǎng)絡(luò)/硬件/操作系統(tǒng)平臺的應(yīng)用或服務(wù)的透明交互191整理ppt中間件分類數(shù)據(jù)庫訪問中間

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論