第一章 概述
- 軟件的定義和特性
- 定義:
Software
=Instruction
(指令/程序) +Data Structure
(數(shù)據(jù)) +Document
(文檔) - 軟件特性:
1)復(fù)雜性(Complexity) 2)不可見性(Invisibility) 3)易變性(Changeability) 4)服從性(Conformity) 5)非連續(xù)性(Discontinuity)
- 軟件工程的定義
將
系統(tǒng)化的窟蓝、規(guī)范的疮跑、可度量
的方法應(yīng)用于軟件開發(fā)、運(yùn)行和可維護(hù)
的過程烛恤,即將工程化應(yīng)用于軟件中
- 軟件質(zhì)量定義及質(zhì)量指標(biāo)
- 軟件質(zhì)量的定義:
反映實(shí)體滿足明確的和隱含的需求的能力的特性的總和
- 5 個常用的軟件質(zhì)量指標(biāo)
-
質(zhì)量指標(biāo):
1)功能性指標(biāo) a.完備性 b.正確性
2)可靠性指標(biāo) a.成熟性 b. 穩(wěn)定性 c.易恢復(fù)性 等
3)易用性指標(biāo) a.易理解性 b.易學(xué)習(xí)性 c.易操作性
- 軟件質(zhì)量的McCall模型
- CMM(Capability Maturity Model for software)軟件能力成熟度模型
ROI( Return On Investment)投資回報(bào)率:
通過投資而應(yīng)返回的價值廓潜,即企業(yè)從一項(xiàng)投資活動中得到的經(jīng)濟(jì)回報(bào)抵皱。-
Customers - User - Developer
第二章 過程和生命周期
- 過程善榛、模型、生命周期
- 軟件過程模式(瀑布呻畸、V移盆、螺旋、原型)的異同點(diǎn)
- 瀑布模型是將軟件生存周期的各項(xiàng)活動規(guī)定為按固定順序而連接的若干階段工作伤为,形如瀑布流水味滞,最終得到軟件產(chǎn)品.瀑布模型是由文檔驅(qū)動的,對于經(jīng)常變化的項(xiàng)目而言,瀑布模型毫無價值.
優(yōu)點(diǎn):
1)可強(qiáng)迫開發(fā)人員采用規(guī)范化的方法
2)嚴(yán)格地規(guī)定了每個階段必須提交的文檔
3)要求每個階段交出的所有產(chǎn)品都必須是經(jīng)過驗(yàn)證的
缺點(diǎn):
1)由于瀑布模型幾乎完全依賴于書面的規(guī)格說明钮呀,很可能導(dǎo)致最終開發(fā)出來的軟件產(chǎn)品不能真正滿足用戶的需求
2)只適用于項(xiàng)目開始時需求已經(jīng)確定的情況
螺旋模型 將瀑布模型和快速原型模型結(jié)合起來,強(qiáng)調(diào)了其他模型中所忽視的風(fēng)險(xiǎn)分析昨凡,特別適合于開發(fā)大型復(fù)雜的軟件系統(tǒng)
原型模型 基本思想是確定需求策略爽醋,對用戶需求進(jìn)行抽取、描述和求精便脊。它快速地蚂四、選代地建立最終系統(tǒng)工作模型,對問題定義采用啟發(fā)的方式哪痰,由用戶作出響應(yīng)遂赠。
增量模型
優(yōu)點(diǎn):
1)能在較短的時間內(nèi)向用戶提交可完成一些有用功能的產(chǎn)品
2)逐步增加產(chǎn)品功能可以使用戶有充裕的時間學(xué)習(xí)和適應(yīng)新產(chǎn)品
3)項(xiàng)目失敗的風(fēng)險(xiǎn)較低
4)優(yōu)先級最高的服務(wù)首先交付,然后再將其他增量構(gòu)件逐次集成進(jìn)來晌杰,這意味著最重要的部分將接受最多的測試
缺點(diǎn):
1)與其他模型相比跷睦,需要更精心的設(shè)計(jì)
第三章 項(xiàng)目管理
- 項(xiàng)目范圍的WBS表示
- 項(xiàng)目進(jìn)度的GATT圖表示
- 關(guān)鍵路徑的定義及其求解方法
第四章 需求分析
- 需求的定義
- 需求的類型
- 需求的特征
- 需求的表示方法及其應(yīng)用
1)用例圖
2)實(shí)體關(guān)系圖
3) 數(shù)據(jù)流圖
4)代數(shù)規(guī)格說明
5) 判定表(不作為考試內(nèi)容) - 需求文檔
第五章 系統(tǒng)設(shè)計(jì)
- 設(shè)計(jì)的定義
- 軟件體系結(jié)構(gòu)的定義和要素
- 體系結(jié)構(gòu)風(fēng)格和策略(7種)
- 設(shè)計(jì)特性
1)獨(dú)立性
2)內(nèi)聚component cohesive(7種)
- 構(gòu)件內(nèi)聚:一個構(gòu)建功能強(qiáng)度的度量
- 類型:巧合內(nèi)聚 邏輯內(nèi)聚 時態(tài)內(nèi)聚 過程內(nèi)聚 通信內(nèi)聚 順序內(nèi)聚 功能內(nèi)聚
3)耦合component coupling(6種) - 構(gòu)件耦合:兩個構(gòu)建之間相互依賴或者相互作用的程度的度量.
- 類型:非耦合、數(shù)據(jù)耦合肋演、標(biāo)記耦合抑诸、控制耦合、公共耦合爹殊、內(nèi)容耦合
第七章 軟件實(shí)現(xiàn)
- 標(biāo)準(zhǔn)文檔
2蜕乡、文檔化方法(內(nèi)部文檔、外部文檔) 內(nèi)部文檔是指在代碼中書寫的注釋,其余的為外部文檔.
- 內(nèi)部文檔
內(nèi)部文檔包含的信息直接面向讀程序源代碼的人梗夸。 因此提供概述信息描述數(shù)據(jù)結(jié)構(gòu)算法和控制流层玲。通常,這些信息被放在部件開始部分的名為頭注釋區(qū)注釋內(nèi)反症。
- Head Comment Block
- Other Program Comment
- Meaningful Variable Names and Statement Labels
- Formatting to Enhance Understanding
- Documenting Data
- 外部文檔
鑒于內(nèi)部文檔是簡潔而且是為相應(yīng)水平的程序員寫的辛块, 所以外部文檔是為那些甚至是沒有讀過代碼的讀者而寫的。
- Describing The Problem
- Describing The Algorithm
- Describing The Data
第八章 單元測試
- 黑盒法與白盒法的適用范圍
- 集成測試的兩種策略(自底向上惰帽、自頂向下)
- 語句測試憨降、分支測試、路徑測試方法及其應(yīng)用
第九章 系統(tǒng)測試
軟件配置的定義
系統(tǒng)測試過程
1) 功能測試:檢查集成的系統(tǒng)是否按照需求中指定的那樣執(zhí)行它的功能
2) 性能測試:將集成的構(gòu)件與非功能需求進(jìn)行比較
3) 驗(yàn)收測試:客戶參與的測試该酗,目標(biāo)是確保系統(tǒng)符合他們對需求的理解
4)安裝測試:在實(shí)際運(yùn)行環(huán)境中進(jìn)行的測試功能測試的主要方法(因果圖法)
性能測試(13種測試及舉例)
1)回歸測試(Regression Test):用于新的版本或發(fā)布的一種測試授药,以驗(yàn)證與舊版本或發(fā)布相比士嚎,它是否仍然以同樣的方式執(zhí)行相同的功能.由于在測試過程中可能在修復(fù)已有故障的同時引入新的故障,故需要進(jìn)行回歸測試
2)悔叽。莱衩。。可靠性娇澎、可用性笨蚁、可維護(hù)性的定義及度量方法(*)
- 可靠性是指一個系統(tǒng)對于給定的時間間隔內(nèi)、在給定條件下無失效運(yùn)作的概率
- 可維護(hù)性是指在給定的使用條件下趟庄,在規(guī)定的時間間隔內(nèi)括细,使用規(guī)定的過程和資源完成維護(hù)活動的概率
- 可用性是指在給定的時間點(diǎn)上,一個系統(tǒng)能夠按照規(guī)格說明正確運(yùn)作的概率
- 驗(yàn)收測試的基本方法
第十章 系統(tǒng)交付
1.文檔的定義和類型
- 定義:某種媒體(載體)上存貯取信息 永久性戚啥;人機(jī)可讀性
- 類型:需求文檔奋单,設(shè)計(jì)文檔,測試文檔猫十,用戶手冊等 (*)
2.培訓(xùn)對象和類型
3.培訓(xùn)輔助方法
第十一章 系統(tǒng)維護(hù)
- 維護(hù)的四種基本類型
- 可維護(hù)的兩種度量方法(外部方法:記錄時間览濒;內(nèi)部方法:環(huán)路數(shù))