




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一章軟件工程學(xué)概述
1.1軟件危機
1.1.1軟件危機的介紹
1.軟件危機定義:軟件危機是指在軟件的開發(fā)和維護過程中,所遇到的一系列嚴
重問題。
2.軟件危機主要有以下一些典型表現(xiàn)(也是軟件二程面臨的問題):
(1)對軟件開發(fā)成本和進度的估計常常很不準(zhǔn)確。
(2)用戶對“已經(jīng)完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。
(3)軟件產(chǎn)品的質(zhì)量往往靠不住。
(4)軟件常常是不可維護的。
(5)軟件通常沒有適當(dāng)?shù)奈臋n資料。
(6)軟件成本在計算機系統(tǒng)總成本所占的比例逐年上升。
(7)軟件開發(fā)生產(chǎn)率提高的速度,遠遠跟不上計算機應(yīng)用迅速普及深入的趨勢。
1.1.3消除軟件危機的途徑
1.軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合。
其中,程序是能夠完成預(yù)定功能和性能的可執(zhí)行的指令序列;
數(shù)據(jù)是使程序能夠適當(dāng)?shù)靥幚硇畔⒌臄?shù)據(jù)結(jié)構(gòu):
文檔是開發(fā)、使用和維護程序所需要的圖文資料。
2.總之,為了解決軟件危機,既要有技術(shù)措施(方法和工具),又要有必要的組
織管理措施。
軟件工程正是從管理和技術(shù)兩方面研究如何更好的開發(fā)和維護計算機軟件的一
門新學(xué)科。
1.2軟件工程
1.2.1軟件工程的介紹
軟件工程的定義:軟件工程是指導(dǎo)計算機軟件開發(fā)和維護的一門工程學(xué)科。
采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明
正確的管理技術(shù)和
當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟的開發(fā)出高質(zhì)量的軟件并有效
地維護它,這就是軟件工程。
1.2.2軟件工程的基本原理(簡答)
七條原理:他認為這7條原理是確保軟件產(chǎn)品質(zhì)量和開發(fā)效率的原理的最小集
&口0
這7條原理是互相獨立的,其中任意6條原理的組合都不能代替另一條原理,因
此,它們是缺一不可的最小集合。
軟件工程的七條基本原理:
(1)用分階段的生命周期計劃嚴格管理。
(2)堅持進行階段評審。
(3)實行嚴格的產(chǎn)品控制。
(4)采用現(xiàn)代程序設(shè)計技術(shù)。
(5)結(jié)果應(yīng)能清楚地審查。
(6)開發(fā)小組的成員應(yīng)該少而精。
(7)承認不斷改進軟件工程實踐的必要性。
]23軟件匚程方法學(xué)
1.軟件工程包括技術(shù)和管理兩方面的內(nèi)容,是技術(shù)和管理緊密結(jié)合所形成的工程
學(xué)科。
所謂管理就是通過計劃、組織和控制等一系列活動,合理地配置和使用各種資源,
以達到既定目標(biāo)的過程。
2.軟件工程方法學(xué)包含3個要素:方法、工具和過程。
其中,方法是完成軟件開發(fā)的各項任務(wù)的技術(shù)方法,回答“怎么做”的問題;
工具是為運用方法而提供的自動的或半自動的軟件工程支撐環(huán)境;
過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各
項任務(wù)的工作步驟。
1.3軟件生命周期
1.概括地說,軟件生命周期由軟件定義、軟件開發(fā)和運行維護(也稱軟件維護)
3個時期組成,
每個時期又進一步劃分成若干個階段。
2.軟件定義時期的任務(wù)是:確定軟件開發(fā)工程必須完成的總目標(biāo);確定工程的可
行性;
導(dǎo)出實現(xiàn)工程目標(biāo)應(yīng)該采用的策略及系統(tǒng)必須完成的功能:估計完成該項工程需
要的資源和成本,并且制定工程進度表。
軟件定義時期通常進一步劃分成3個階段,即問題定義、可行性研究和需求分析。
3.開發(fā)時期具體設(shè)計和實現(xiàn)在前一時期定義的軟件,它通常由下述4個階段組成:
總體設(shè)計,詳細設(shè)計,編碼和單元測試,綜合測試。
其中前兩個階段乂稱為系統(tǒng)設(shè)計,后兩個階段乂稱為系統(tǒng)實現(xiàn)。
4.維護時期的主要任務(wù)是使軟件持久的滿足用戶的需求。具體地說,當(dāng)軟件在使
用過程中發(fā)現(xiàn)錯誤時應(yīng)該加以改正;
當(dāng)環(huán)境改變時,應(yīng)該修改軟件以適應(yīng)新的環(huán)境;當(dāng)用戶有新要求時應(yīng)該及時改進
軟件以滿足用戶的新需要。
通常對維護時期不在進一步的劃分階段,但是每一次維護活動本質(zhì)上都是一次壓
縮和簡化了的定義和開發(fā)過程。
5.軟件生命周期每個階段的基本任務(wù)(8個階段)
(1)問題定義(2)可行性研究(3)需求分析(4)總體設(shè)計
(5)詳細設(shè)計(6)編碼和單元測試(7)綜合測試(8)軟件維護
1.4軟件過程
1.4.1瀑布模型
特點:(1)階段間具有順序性和依賴性
(2)推遲實現(xiàn)的觀點(3)質(zhì)量保證的觀點
優(yōu)點:
(1)可強迫開發(fā)人員采用規(guī)范的方法
(2)嚴格的規(guī)定了每個階段必須提交的文檔
(3)要求每個階段的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細驗證
缺點:
(1)無法解決軟件需求不明確或不準(zhǔn)確的問題
(2)可能導(dǎo)致最終開發(fā)的產(chǎn)品不能真正滿足用戶的需要
(3)瀑布模型比較適合開發(fā)需求明確的軟件
1.4.2快速原型模型(過渡產(chǎn)品)
快速原型:是快速建立起來的可以在計算機上運行的程序,它所能完成的功能往
往是最終產(chǎn)品能完成的功能的一個子集。
原型:是快速實現(xiàn)和運行的早期版本,反映最終系統(tǒng)部分重要特性。
優(yōu)點:
(1)通常能反映用戶真實需求;
(2)軟件產(chǎn)品的開發(fā)基本上是線性順序進行的。
144螺旋模型(改進了原型模型,在每個階段都加入風(fēng)險分析)
螺旋模型的基本思想是,使用原型及其他方法來盡量降低風(fēng)險。
理解這種模型的一個簡便方法,是把它看作在每個階段之前都增加了風(fēng)險分析過
程的快速原型模型。
螺旋模型主要適用于內(nèi)部開發(fā)的大規(guī)模軟件項目。
1.4.5噴泉模型(P22)
第二章可行性研究
2.1可行性研究的任務(wù)
1.可行性研究的目的不是解決問題,而是確定問題是否值得去解決。
2.可行性研究的基本內(nèi)容
(1)技術(shù)可行性(2)經(jīng)濟可行性(3)操作可行性
2.2可行性研究過程
典型的可行性研究過程有下述一些步驟:
(1)復(fù)查系統(tǒng)規(guī)模和目標(biāo)(2)研究目前正在使用的系統(tǒng)
(3)導(dǎo)出新系統(tǒng)的高層邏輯模型(4)進一步定義問題
(5)導(dǎo)出和評價供選擇的解法(6)推薦行動方針
(7)草擬開發(fā)計劃(8)書寫文檔提交審查
2.4數(shù)據(jù)流圖
數(shù)據(jù)流圖(DFD)是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動到輸出的
過程中所經(jīng)受的交換。
4個元素圖形表示(P41)
2.5數(shù)據(jù)字典(理解)
數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義
的集合。
任后字典最主要的用途都是供人查閱對不了解的條目的解釋,數(shù)據(jù)字典的作用也
正是在軟件分析和設(shè)計的過程中給人
提供關(guān)于數(shù)據(jù)的描述信息。
數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)字典,數(shù)據(jù)流圖就不嚴
格,然而沒有數(shù)據(jù)流圖,
數(shù)據(jù)字典也難以發(fā)揮作用。只有數(shù)據(jù)流圖和對數(shù)據(jù)流圖中每個元素的精確定義放
在一起,
才能共同構(gòu)成系統(tǒng)的規(guī)格說明書。
第三章需求分析
3.1需求分析的任務(wù)
3.1.1確定系統(tǒng)的綜合要求
通常對軟件系統(tǒng)有下述幾方面的綜合要求
(1)功能需求(2)性能需求
(3)可靠性和可用性需求(4)出錯處理需求
(5)接口需求(6)約束
(7)逆向需求(8)將來可能提出的要求
3.3.2軟件規(guī)格說明書的作用?(自己查)
(1)軟件設(shè)計和實現(xiàn)的基礎(chǔ)
(2)軟件開發(fā)項目的規(guī)劃、軟件價格的估算等
(3)測試和用戶驗收軟件系統(tǒng)的重要依據(jù)
(4)為軟件維護提供重要的信息
例.下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是_Do
A.便于用戶、開發(fā)人員進行理解和交流
B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認測試和驗收的依據(jù)
D.便于開發(fā)人員進行需求分析任何
3.8驗證軟件需求
3.8.1從哪些方面驗證軟件需求的正確性
1.一般說來,應(yīng)該從下述4個方面進行驗證。
(1)一致性:所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。
(2)完整性:需求必須是完整的,規(guī)格說明書應(yīng)該包括用戶需要的每一個功能
或性能。
(3)現(xiàn)實性:指定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實現(xiàn)
的。
(4)有效性:必須證明需求是正確有效的,確實能解決用戶面對的問題。
第五章總體設(shè)計
5.1設(shè)計工程
1.總體設(shè)計過程通常由兩個主要階段組成:
(1)系統(tǒng)設(shè)計階段,確定系統(tǒng)的具體實現(xiàn)方案(2)結(jié)構(gòu)設(shè)計階段:確定軟件結(jié)
構(gòu)
2.典型的總體設(shè)計包括下屬9個步驟:
(1)設(shè)想供選擇的方案(2)選取合理的方案
(3)推薦最佳方案(4)功能分解
(5)設(shè)計軟件結(jié)構(gòu)(6)設(shè)計數(shù)據(jù)庫
(7)制定測試計劃(8)書寫文檔。
(應(yīng)該完成的文檔通常有下述幾種:系統(tǒng)說明、用戶手冊、測試計劃、詳細的實
現(xiàn)計劃、數(shù)據(jù)庫設(shè)計結(jié)構(gòu))(9)審查和復(fù)查
5.2設(shè)計原理
5.2.1模塊化(P94)
1.模塊:是由邊界元素限定的相鄰程序元素的序列,而且有一個總體標(biāo)示符代表
它。
面向?qū)ο蠓椒▽W(xué)中的定象是模塊,對象內(nèi)的方法也是模塊。模塊是構(gòu)成程序的基
本構(gòu)件。
2.模塊化:就是把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個
子功能,把這些模塊集成起來構(gòu)成一個整體,
可以完成指定的功能滿足用戶的需求。
5.2.4信息隱藏(隱蔽)和局部化
信息隱藏(隱蔽):在設(shè)計和確定模塊時,是的一個模塊內(nèi)包含的信息(過程和
數(shù)據(jù)),
不允許其他不需要這些信息的模塊訪問,獨立的模塊間僅僅交換為完成系統(tǒng)功能
而必須交換的信息。
局部化:將一些關(guān)系密切的軟件元素物理的放得彼此靠近。
5.2.5模塊獨立
1.衡量模塊獨立性的兩個準(zhǔn)則:(1)耦合性(2)內(nèi)聚性
2.耦合定義:耦合是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。
耦合強弱取決于模塊間接口的反正程度,進入或訪問一個模塊的點,以及通過接
口的數(shù)據(jù)。
3.耦合分類:
(1)無直接耦合:兩個模塊沒有直接關(guān)系,模塊獨立性最強。
(2)數(shù)據(jù)耦合:一個噗塊訪問另一個模塊時,僅僅通過數(shù)據(jù)參數(shù)交換輸入、輸
出信息。
(數(shù)據(jù)耦合是低耦合)
(3)控制耦合:模塊之間傳遞的是控制信息(盡管有時這種控制信息以數(shù)據(jù)的
形式出現(xiàn)),如開關(guān)、
標(biāo)志、名字等,控制被調(diào)用模塊的內(nèi)部邏輯。
(4)特征耦合:兩個模塊通過傳遞數(shù)據(jù)結(jié)構(gòu)加以聯(lián)系,或都與一個數(shù)據(jù)結(jié)構(gòu)有
關(guān)系,則稱這兩個模塊間存在特征耦合。
可能出現(xiàn)的情況:當(dāng)把整個數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞時,被調(diào)用的模塊雖然只需要
使用其中的一部分數(shù)據(jù)元素,
但實際可以使用的數(shù)據(jù)多于它真正需要的數(shù)據(jù),這將導(dǎo)致對數(shù)據(jù)訪問失去控制。
(5)公共環(huán)境耦合:一組模塊引用一個公用數(shù)據(jù)區(qū)(也稱全局數(shù)據(jù)區(qū),公共數(shù)
據(jù)環(huán)境)
公共數(shù)據(jù)區(qū)指:全局數(shù)據(jù)結(jié)構(gòu)、共享通訊區(qū)、內(nèi)存公共覆蓋區(qū)等。
(6)內(nèi)容耦合:(是最不好的耦合形式)有下列情況之一的。
A.一個模塊直接訪問另一個模塊的內(nèi)部信息。
B.一個模塊不通過正常入口轉(zhuǎn)換到另一個模塊內(nèi)部。
C.兩個模塊有一部分代碼重疊。
D.一個模塊有多個入匚模塊。
(注:盡量使用數(shù)據(jù)耦合,少用控制耦合和特征耦合,限制公共環(huán)境耦合的范圍,
完全不用內(nèi)容耦合。)
4.內(nèi)聚定義:又條質(zhì)內(nèi)聯(lián)系。指一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度
量。
若一個模塊內(nèi)各元素聯(lián)系的越緊密,則它的內(nèi)聚性就越高。設(shè)計目標(biāo):高內(nèi)聚。
5.內(nèi)聚有哪些?(P99)
7種內(nèi)聚及評分:功能內(nèi)聚(10分)、順序內(nèi)聚(9分)、通信內(nèi)聚(7分)、
過程內(nèi)聚(5分)、時間內(nèi)聚(3分)、邏輯內(nèi)聚3分)、偶然內(nèi)聚(0分)
5.3啟發(fā)規(guī)則(P100)
改進原則:高內(nèi)聚、低耦合
啟發(fā)性規(guī)則以下幾條:
(1)改進軟件結(jié)構(gòu),提高模塊獨立性
(2)模塊規(guī)模應(yīng)該適中(重點)
(3)深度、寬度、扇出和扇入都應(yīng)適當(dāng)(計算題)
(4)模塊的作用域應(yīng)該在控制域之內(nèi)
(5)力爭降低模塊接口的復(fù)雜程度
(6)設(shè)計單入口單出口的模塊
(7)模塊功能應(yīng)該可以預(yù)測
5.4描述軟件結(jié)構(gòu)的圖形工具5.4.2結(jié)構(gòu)圖(P103)
主要成分說明:
(1)一個方框代表一個模塊,框內(nèi)注明模塊的名字或者主要功能。
(2)方框之間的箭頭(或直線)表示模塊的調(diào)用關(guān)系,表示前一模塊對后一模
塊的調(diào)用。
(3)調(diào)用直線邊的小箭頭,表示調(diào)用時從一個模塊傳給另一個模塊的數(shù)據(jù),也
指出了傳送方向.
5.5面向數(shù)據(jù)流的設(shè)計方法(P104)
數(shù)據(jù)流可分為兩種類型:(1)變換型數(shù)據(jù)流(2)事務(wù)性數(shù)據(jù)流
第六章詳細設(shè)計
6.1結(jié)構(gòu)程序設(shè)計
1.什么是結(jié)構(gòu)程序設(shè)計?
經(jīng)典定義:如果一個程序的代碼塊僅僅通過順序、選擇和循環(huán)這3種基本控制結(jié)
構(gòu)進行連接,
而且每個代碼塊只有一個入口和一個出口,則稱這個程序是結(jié)構(gòu)化的。
比較全面的定義:結(jié)構(gòu)程序設(shè)計是盡可能少用GOTO語句的程序設(shè)計方法,最
好僅僅在檢測出錯誤時才使用
GOTO語句,而且一個總是使用前向的GOTO語句。
6.2人機界面設(shè)計(理解PU9-P設(shè)4)
6.3過程設(shè)計的工具(出大題)(結(jié)合課件)
1.要求:會畫程序流程圖、盒圖、PAD圖等圖形工具。
2.表格工具
(1)判定表:能夠清晰地表示復(fù)雜的條件組合和應(yīng)做的動作之間的對應(yīng)關(guān)系。
(2)判定樹:是判定表的變種,它也能夠清晰地表示復(fù)雜的條件組合和應(yīng)做的
動作之間的對應(yīng)關(guān)系。
3語言工具
過程%計語言(PDL):也稱偽碼,是一種介于自然語言和形式化語言之間的語
言,
用于描述功能模塊的算法設(shè)計和處理細節(jié)的語言。
特點:易編寫,易理解,容易轉(zhuǎn)化成源程序。
6.4面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法
Jackson方法和Warnier方法。
6.4.1Jackson圖(會畫)(P133例題)
邏輯數(shù)據(jù)結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、重復(fù)結(jié)構(gòu)
Jackson圖的優(yōu)點:(1)形象直觀可讀性好(2)既能表示數(shù)據(jù)結(jié)構(gòu)也能表示程
序結(jié)構(gòu)
6.5程序復(fù)雜程度的定量度量
1.計算環(huán)形復(fù)雜度的3種方■法
(1)數(shù)圖上的區(qū)域個數(shù)(2)等于判定結(jié)點數(shù)+1(最優(yōu))(3)邊數(shù)一結(jié)點數(shù)+2
2.環(huán)形復(fù)雜度的用途(P138)
第七章實現(xiàn)
7.1編碼/7.1.2編碼風(fēng)格(理解),重點看(P148/5.效果)
7.2軟件測試基礎(chǔ)
7.2.1軟件測試的目標(biāo)
Myers給出的軟件測試的目的
(1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。
(2)好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案。
(3)成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試
總之,測試的目的是以最少的時間和人力,系統(tǒng)地找出軟件中潛在的各種錯誤和
缺陷;
測試附帶的收獲是它能證明軟件的功能和性能與需求說明相符合.
說明:測試不能表明軟件中不存在錯誤,它只能說明軟件中存在錯誤。
7.2.3測試方法
軟件測試方法一般分為:靜態(tài)測試盒動態(tài)測試。
靜態(tài)測試:是指被測程序不在機器上運行,采用人工測試和計算機輔助靜態(tài)分析
的手段對程序進行檢測。
動態(tài)測試:是指通過運行程序發(fā)現(xiàn)錯誤,又分白盒測試和黑盒測試。
(1)已知產(chǎn)品應(yīng)該具有的功能,可以通過“黑盒測試”來檢驗每個功能是否符
合設(shè)計要求。
(2)己知產(chǎn)品的內(nèi)在工作過程,可以通過“白盒測試”來檢驗每種內(nèi)部操作是
否按要求的規(guī)定正常進行。
73單元測試
7.3.1測試重點
單元測試方法有哪些?(5個)
(1)模塊接口測試(2)局部數(shù)據(jù)結(jié)構(gòu)測試
(3)路徑測試(重要的執(zhí)行通路)(4)出錯處理測試(5)邊界測試
7.3.2代碼審查(屬于靜態(tài)測試)(P154)
7.4集成測試
7.4.4回歸測試
回歸測試定義:指集成測試中,重新執(zhí)行已經(jīng)做過測試的某個子集,
以保證上述這些變化沒有帶來非預(yù)期的副作用。
先采取自頂向下的方式測試被修改的模塊及其子模塊;然后將這一部分視為子系
統(tǒng),再自低向上測試。
7.5確認測試
1.確認測試的依據(jù)?
需求分析階段產(chǎn)生的軟件需求規(guī)格說明書,準(zhǔn)確的描述了用戶對軟件的合理期
望,
因此是軟件有效性的標(biāo)準(zhǔn),也是進行確認測試的基礎(chǔ)。
753人舊1^和8戊2測試(適應(yīng):為多個用戶開發(fā)的軟件)
Alpha測試:由用戶在開發(fā)環(huán)境下進行的測試。
Bela測試:由最終用戶在實際使用環(huán)境下進行的測試,這些用戶定期返回有關(guān)錯
誤信息給開發(fā)者。
注意:只有當(dāng)Alpha測試達到一定的可靠程度時,才開始Beta測試。
7.6白盒測試技術(shù)
所謂測試方案包括具體的測試目的(例如,預(yù)定要測試的具體功能),應(yīng)該輸入
的測試數(shù)據(jù)和預(yù)期的結(jié)果。
通常又把測試數(shù)據(jù)和預(yù)期的輸出結(jié)果稱為測試用例。
7.6.1邏輯覆蓋
邏輯覆蓋有幾種(出題)
邏輯覆蓋是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)設(shè)計測試用例的技術(shù)。
包括:語句覆蓋、判定覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋、
點覆蓋、邊覆蓋、路徑覆蓋
7.6.2控制結(jié)構(gòu)測試
1.基本路徑測試(P166例題)
以環(huán)形復(fù)雜度為基礎(chǔ),導(dǎo)出基木可執(zhí)行路徑集合,設(shè)計測試用例的方法。測試用
例要保證程序的可執(zhí)行語句執(zhí)行一-次。
使用基本路徑測試技術(shù)設(shè)計測試用例的步驟:
(1)根據(jù)過程設(shè)計結(jié)果畫出相應(yīng)的流圖。
(2)計算流圖的環(huán)形復(fù)雜度。
(3)確定線性獨立路經(jīng)的基本集合。
(4)設(shè)計可強制執(zhí)行基本集合中每條路徑的測試用例。(包括路徑1-6的測試用
例)
7.7黑盒測試技術(shù)
7.7.1等價劃分(P172)/7.7.2邊界值分析(P175)
7.9軟件可靠性
軟件可靠性的定義:
程序在給定的時間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功地運行的概率。
隨著運行時間的增加,運行時出現(xiàn)程序故障的概率也將增加,即可靠性隨著給定
的時間間隔的加大而減少。
第八章維護
軟件維護需要的工作量很大,平均來說,大型軟件的維護成本高達開發(fā)成本的四
倍左右。
8.1軟件維護的定義
軟件維護的定義:就是在軟件已經(jīng)交付使用之后,為了改正錯誤或者滿足新的需
求而修改軟件的過程。
分為4類:改正性維護、適應(yīng)性維護、完善性維十、預(yù)防性維護。
各種維護類型及維護工作量的比例:
完善性維護(50%-66%)、改正性維護(17%?21%)、
適應(yīng)性維護(18%-25%)、其他維護活動(4%左右)
8.4軟件的可維護性
8.4.1決定軟件可維護性的因素
決定軟件可維護性的因素:(5個)
(I)可理解性(2)互測試性(3)可修改性(4)可移植性(5)可重用性
8.4.2文檔(包括系統(tǒng)文檔和用戶文檔)
文檔作用:文檔是影響軟件可維護性的決定因素。
用戶文檔:主要描述系統(tǒng)功能和使用方法,并不關(guān)心這些功能是怎樣實現(xiàn)的。
系統(tǒng)文檔:描述系統(tǒng)設(shè)計、實現(xiàn)和測試等各種方面的內(nèi)容。
總體來說,軟件文檔應(yīng)該滿足下述要求:
(1)必須描述如何使用這個系統(tǒng),沒有這種描述時即使是最簡單的系統(tǒng)也無法
使用。
(2)必須描述怎樣安裝和管理這個系統(tǒng)。
(3)必須描述系統(tǒng)需求和設(shè)計。
(4)必須描述系統(tǒng)的實現(xiàn)和測試,以便使系統(tǒng)成為可維護的。
第九章面向?qū)ο蠓椒▽W(xué)引論
9.2面向?qū)ο蟮母拍?/p>
9.2.2其他概念
7.繼承(P213)
單繼承:一個類只允許有一個父類,即類等級為樹形結(jié)構(gòu)。
多繼承:一個類允許有多個父類。
9.3面向?qū)ο蠼?/p>
用面向?qū)ο蠓椒ㄩ_發(fā)軟件,通常需要建立三種形式的模型,它們分別是:
描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的市象模型、描述系統(tǒng)控制結(jié)構(gòu)的動態(tài)模型、描述系統(tǒng)功能的
功能模型。
9.4對象模型
9.4.1類圖的基本符號(P217)類圖描述類及類與類之間的靜態(tài)關(guān)系。
9.6功能模型
功能模型表示變化的系統(tǒng)的“功能”性質(zhì),它指明了系統(tǒng)應(yīng)該“做什么”,
因此更直接的反映了用戶對目標(biāo)系統(tǒng)的需求。
使用“用例圖”描述(P224)
9.3種模型之間的關(guān)系
3種模型分別是:對象模型、功能模型、動態(tài)模型
3種模型之間的關(guān)系:
(1)對象模型描述了動態(tài)模型、功能模型所操作的數(shù)據(jù)結(jié)構(gòu)。
對象模型中的操作對應(yīng)于動態(tài)模型中事件和功能中的函數(shù)。
(2)動態(tài)模型描述了實現(xiàn)的控制結(jié)構(gòu),告訴我們哪些結(jié)構(gòu)是依賴于對象值,
哪些引起對象的變化,并激活了函數(shù)。
(3)功能模型由數(shù)據(jù)流圖和用例圖組成,描述了對象模型中操作的含義、
動態(tài)模型中動作的意義以及對象模型中的約束的意義。
第十一章面向?qū)ο笤O(shè)計
11.2啟發(fā)規(guī)則
6個啟發(fā)規(guī)則:
(1)設(shè)計結(jié)果應(yīng)該清晰易懂。(2)一般.特殊結(jié)構(gòu)的深度應(yīng)適當(dāng)。
(3)設(shè)計簡單的類。(4)使用簡單的協(xié)議。
(5)使用簡單的服務(wù)。(6)把設(shè)計變動減至最小。
11.3軟件重用
11.3.1概述
1.重用的定義:
重用也叫再用或復(fù)用,是指同一事物不作修改或稍加改動就多次重復(fù)使用。
2.軟件成分的重用級別
軟件成分的重用可以進一步劃分成3個級別,級別由低到高分別是:
(1)代碼重用(2)設(shè)計結(jié)果重用(3)分析結(jié)果重用
第十二章面向?qū)ο髮崿F(xiàn)
12.2程序設(shè)計風(fēng)格
12.2.1提高可重用性
提高可重用性的主要規(guī)則(7條):
(1)提高方法的內(nèi)聚(2)減小方法的規(guī)模
(3)保持方法的一致性(4)把策略與實現(xiàn)分開
(5)全面覆蓋(6)盡量不使用全局信息
(7)利用繼承機制
第十三章軟件項目管理
13.3進度計劃
13.3.2Gantt圖(Gantt圖的優(yōu)缺點)
優(yōu)點:直觀簡明,容易掌握,容易繪制。
缺點:(1)不能顯式地描繪各項作業(yè)彼此間的依賴關(guān)系。
(2)進度計劃的關(guān)鍵部分不明確,難于判定哪些部分應(yīng)當(dāng)是主攻和主控的對象。
(3)計劃中有潛力的部分及潛力的大小不明確,往往造成潛力的浪費。
13.3.2工程網(wǎng)絡(luò)(工程網(wǎng)絡(luò)的優(yōu)缺點)(P315)
工程網(wǎng)絡(luò)是制定進度計劃時另一種常用的圖形工具,它同樣能描繪任務(wù)分解情況
以及
每項作業(yè)的開始時間和結(jié)束時間,此外,它還顯式的描繪了各個作業(yè)彼此間的依
賴關(guān)系。
因此,工程網(wǎng)絡(luò)是系統(tǒng)分析和系統(tǒng)設(shè)計的強有力的工具。
13.4人員組織
人員組織的3種方式:
民主程序員組、主程序員組、現(xiàn)代程序員組
13.5質(zhì)量保證
13.5.1軟件質(zhì)量
1.軟件質(zhì)量的定義:軟件質(zhì)量就是“軟件與明確地和隱含地定義的需求相一致的
程度
更具體的說,軟件質(zhì)量是軟件與明確地敘述的功能和性能需求、文檔中明確描述
的開發(fā)標(biāo)準(zhǔn)
以及任何專業(yè)開發(fā)的軟件產(chǎn)品都應(yīng)該具有的隱含恃征相一致的程度。
上述定義強調(diào)了下述的3個要點:
(1)軟件需求是度量軟件質(zhì)量的基礎(chǔ),與需求不一致就是質(zhì)量不高。
(2)指定的開發(fā)標(biāo)準(zhǔn)定義了一組指導(dǎo)軟件開發(fā)的準(zhǔn)則,如果沒有遵守這些準(zhǔn)則,
肯定會導(dǎo)致軟件質(zhì)量不高。
(標(biāo)準(zhǔn)有:國家標(biāo)準(zhǔn)、國際標(biāo)準(zhǔn)、行'也標(biāo)準(zhǔn)、企業(yè)標(biāo)準(zhǔn))
(3)通常,有一組沒有顯式描述的隱含需求(例如,軟件應(yīng)該是容易維護的)。
如果軟件滿足明確描述的需求,當(dāng)卻不滿足隱含的需求,那么軟件的質(zhì)量仍然是
值得懷疑的。
2.軟件質(zhì)量因素的定義(P325表)
裳13.7軟件質(zhì)■因素的定義
質(zhì)?因索_______定義
系統(tǒng)滿足規(guī)格說明和用戶目標(biāo)的程度.即,在定環(huán)境下儺正確地完成預(yù)期功能
正確性
的程度
在硬件發(fā)生故障、輸入的數(shù)據(jù)無效或操祚錯設(shè)等意外環(huán)境下?系統(tǒng)能做出適當(dāng)響
健壯性
應(yīng)的曾度
為了完成預(yù)定的功能,系統(tǒng)需要的計算資源的多少
完整性
對未經(jīng)授權(quán)的人使用軟件或數(shù)據(jù)的企圖,系統(tǒng)能修控制(禁止)的程度
(安全性)
可用性系統(tǒng)在完成預(yù)定應(yīng)該完成的功能時令人清意的程度
風(fēng)般按預(yù)定的成本和進度把系統(tǒng)開發(fā)出來?并且為用戶所滿意的慨率
可理解性理解和使用該系統(tǒng)的容易程度
可維修性診斷和改正在運行現(xiàn)場發(fā)現(xiàn)的錯誤所需要的工作量的大小
靈活性
溫馨提示
- 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- CQJTG/T E02-2021重慶市高速公路施工標(biāo)準(zhǔn)化指南
- 2024年金屬絡(luò)合染料資金籌措計劃書代可行性研究報告
- 電信行業(yè)變革與創(chuàng)新發(fā)展考核試卷
- 2024年3-〔(4-氨基-3-甲氧苯基)偶氮〕苯磺酸資金申請報告代可行性研究報告
- 初三教師會議上校長講話保證中考獎勵制度一定兌現(xiàn)
- 2024年鈹銅帶、線、管、棒材項目投資申請報告代可行性研究報告
- 武漢市硚口區(qū)2025年八年級《語文》上學(xué)期期末試題與參考答案
- 2024年冷陰極材料項目資金需求報告代可行性研究報告
- 新媒體廣告內(nèi)容審核規(guī)范協(xié)議
- 電商用戶復(fù)購行為優(yōu)化與轉(zhuǎn)化率提升協(xié)議
- 人教版九年級數(shù)學(xué)下冊《特殊角的三角函數(shù)值及用計算器求角的三角函數(shù)值》評課稿
- 摸球游戲北師大版小學(xué)數(shù)學(xué)四年級上冊省市級一等獎優(yōu)質(zhì)課程
- 制冷工藝設(shè)計手冊
- 2023年福建省莆田市城廂區(qū)數(shù)學(xué)六年級第二學(xué)期期末統(tǒng)考試題含解析
- 2023年綜合基礎(chǔ)知識試題及解析
- T-ISEAA 001-2020 網(wǎng)絡(luò)安全等級保護測評高風(fēng)險判定指引
- 護理查房慢性腎臟病5期護理查房
- 安徽省合肥一中、六中、八中2021學(xué)年上學(xué)期高一年級期末考試化學(xué)試卷
- 生活用紙生產(chǎn)工藝流程
- 礦用提升機電控說明書
- 軋制乳化液應(yīng)用與維護課件
評論
0/150
提交評論