* 軟件的概念:程序+ 數(shù)據(jù)+ 文檔
* 軟件開發(fā)的六個(gè)階段:制定計(jì)劃、需求分析、軟件設(shè)計(jì) 、程序編寫 、軟件測(cè)試 、運(yùn)行/維護(hù),其中,需求分析階段對(duì)項(xiàng)目的影響最大,決定做什么,軟件設(shè)計(jì)是解決怎么做,程序編碼:軟件實(shí)現(xiàn),測(cè)試查找軟件的錯(cuò)誤、維護(hù)不屬于軟件開發(fā)階段,周期最長(zhǎng),消耗軟件費(fèi)用最多。
* 軟件工程:方法(軟件開發(fā)方法)+工具(CASE工具,軟件開發(fā)工具+集成環(huán)境)+過(guò)程 (軟件生命期)
* 軟件項(xiàng)目管理:進(jìn)度管理、成本管理、質(zhì)量管理、人員管理、資源管理、標(biāo)準(zhǔn)化管理。管理的對(duì)象是進(jìn)度、系統(tǒng)規(guī)模及工作量估算、經(jīng)費(fèi)、組織機(jī)構(gòu)和人員、風(fēng)險(xiǎn)、質(zhì)量、作業(yè)和環(huán)境配置,其中,進(jìn)度管理管理主要采用甘特圖、PERT技術(shù)叫做計(jì)劃評(píng)審技術(shù)、CPM方法叫做關(guān)鍵路徑法;成本估算主要模型有普特南(Putnam),COCOMO(結(jié)構(gòu)性成本) 、配置管理主要管理軟件的項(xiàng)目文檔、開發(fā)技術(shù)文檔、源代碼版本、發(fā)布程序版本等。
* CMM(軟件能力成熟度模型)CMM1:初始級(jí)(沒有計(jì)劃,只有編碼和測(cè)試);CMM2: 可重復(fù)級(jí)(基于過(guò)往的項(xiàng)目的經(jīng)驗(yàn)來(lái)計(jì)劃與管理新的項(xiàng)目);CMM3定義級(jí)(軟件開發(fā)過(guò)程文件將被制訂出來(lái),標(biāo)準(zhǔn)化過(guò)程);CMM4定量管理級(jí) (所有項(xiàng)目的重要的過(guò)程活動(dòng)進(jìn)行生產(chǎn)率和質(zhì)量的度量,質(zhì)量目標(biāo));CMM5優(yōu)化級(jí) (重點(diǎn)放在對(duì)過(guò)程進(jìn)行不斷的優(yōu)化)
* 軟件開發(fā)方法: 瀑布模型(自上而下逐次進(jìn)行,需求明確的項(xiàng)目,傳統(tǒng)的模型);原型模型(演化模型,需求不明確,原型逐步演進(jìn));螺旋模型(大型項(xiàng)目,減低風(fēng)險(xiǎn)采用制定計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施工程、客戶評(píng)估四象限的方式對(duì)原型逐步螺旋演進(jìn));噴泉模型 (適用于面向?qū)ο箝_發(fā)方法,分析、設(shè)計(jì)和編碼之間不存在明顯的邊界,所謂無(wú)間隙)
* 需求分析:識(shí)別問(wèn)題、分析問(wèn)題、編寫文檔、需求分析評(píng)審四個(gè)階段,解決系統(tǒng)做什么的問(wèn)題。結(jié)構(gòu)化分析(SA)采用數(shù)據(jù)流的方式分析需求,自上而下,逐步分解,基本思想使分解與抽象,常用數(shù)據(jù)流圖、數(shù)據(jù)字典進(jìn)行表示,數(shù)據(jù)流圖主要有數(shù)據(jù)流、加工、數(shù)據(jù)存儲(chǔ)、外部實(shí)體組成;數(shù)據(jù)字典描述流程圖中所有元素的定義。加工邏輯采用結(jié)構(gòu)化語(yǔ)言、判定樹、判定表構(gòu)成。快速原型法分析思想主要針對(duì)需求不明確的項(xiàng)目進(jìn)行開發(fā),可以采用拋棄型原型(從需求不明確的開始,主要目標(biāo)在于了解系統(tǒng)需求,之后拋棄原型,大項(xiàng)目使用)和進(jìn)化型(需求明確的開始,逐步進(jìn)化為目標(biāo)系統(tǒng))
* 軟件設(shè)計(jì)階段主要解決怎么做的問(wèn)題。分概要設(shè)計(jì)(軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu),并建立接口)與詳細(xì)設(shè)計(jì)(過(guò)程設(shè)計(jì)。通過(guò)對(duì)結(jié)構(gòu)表示進(jìn)行細(xì)化,得到軟件的詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和算法 )兩個(gè)階段。體系結(jié)構(gòu)設(shè)計(jì)、接口設(shè)計(jì) 、數(shù)據(jù)設(shè)計(jì)和過(guò)程設(shè)計(jì)四個(gè)活動(dòng) 。
* 軟件設(shè)計(jì)的原則:抽象化(過(guò)程、數(shù)據(jù)、控制)、自頂向下,逐步細(xì)化 、 模塊化、控制層數(shù)、數(shù)據(jù)結(jié)構(gòu)、軟件工程、信息隱藏
* 內(nèi)聚:低內(nèi)聚:偶然內(nèi)聚、邏輯內(nèi)聚、時(shí)間內(nèi)聚;中等程度內(nèi)聚:過(guò)程內(nèi)聚、通訊內(nèi)聚;高內(nèi)聚:順序內(nèi)聚、功能內(nèi)聚
* 耦合:低耦合:非直接耦合、數(shù)據(jù)耦合、標(biāo)記耦合。中耦合:控制耦合、外部耦合。高耦合:公共耦合、內(nèi)容耦合。
* 模塊設(shè)計(jì)原則:高內(nèi)聚、低耦合;規(guī)模適中;深度、寬度、扇出和扇入應(yīng)適當(dāng);模塊的作用域應(yīng)該在控制域內(nèi);設(shè)計(jì)單入口單出口的模塊;力爭(zhēng)降低模塊接口的復(fù)雜程度
* 結(jié)構(gòu)化設(shè)計(jì):分析數(shù)據(jù)流圖為出發(fā)點(diǎn),主要變換型和事務(wù)型。面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),以數(shù)據(jù)結(jié)構(gòu)為基礎(chǔ),以數(shù)據(jù)結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu),服從“程序結(jié)構(gòu)必須適應(yīng)問(wèn)題結(jié)構(gòu)”的基本原則。代表jackson方法(又稱面向數(shù)據(jù)結(jié)構(gòu)的分析與設(shè)計(jì)方法),信息 → 數(shù)據(jù)結(jié)構(gòu) → 程序結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)映射為程序結(jié)構(gòu)。
* 軟件測(cè)試:為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程,根據(jù)軟件開發(fā)各階段的規(guī)格說(shuō)明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批測(cè)試用例(即輸入數(shù)據(jù)及其預(yù)期的輸出結(jié)果)。分單元測(cè)試(測(cè)試程序內(nèi)部工作過(guò)程,通常采用白盒測(cè)試方法,如邏輯覆蓋、循環(huán)覆蓋、基本路徑覆蓋。測(cè)試依據(jù),詳細(xì)設(shè)計(jì)文檔與程序源代碼)、集成測(cè)試(又稱功能測(cè)試黑盒測(cè)試,方法:等價(jià)類劃分、邊界值劃分、錯(cuò)誤推測(cè)、因果圖 。測(cè)試依據(jù)概要說(shuō)明文檔與詳細(xì)設(shè)計(jì)文檔)、確認(rèn)測(cè)試(分α測(cè)試<公司內(nèi)部的用戶在模擬環(huán)境下測(cè)試>和β測(cè)試<用戶在實(shí)際環(huán)境下測(cè)試> ,主要參考需求分析文檔)、系統(tǒng)測(cè)試(組裝測(cè)試和確認(rèn)測(cè)試,測(cè)試方向系統(tǒng)其他元素)。
* 測(cè)試計(jì)劃:描述了要進(jìn)行的測(cè)試活動(dòng)的范圍、方法、資源和進(jìn)度的文檔。它確定測(cè)試項(xiàng)、被測(cè)特性、測(cè)試任務(wù)、誰(shuí)執(zhí)行任務(wù)、各種可能的風(fēng)險(xiǎn)(需求分析階段進(jìn)行)。
* 測(cè)試計(jì)劃與測(cè)試大綱:測(cè)試大綱只是簡(jiǎn)單的描述如何開展測(cè)試,而測(cè)試計(jì)劃是針對(duì)測(cè)試中的每個(gè)環(huán)節(jié)的。大綱相當(dāng)于書的目錄,計(jì)劃相當(dāng)于書的章節(jié)內(nèi)容。
* 軟件調(diào)試:診斷和改正程序中潛在的錯(cuò)誤
* 軟件維護(hù):軟件運(yùn)行∕維護(hù)階段對(duì)軟件產(chǎn)品所進(jìn)行的修改;主要由改正性維護(hù) (在特定的使用條件下暴露出來(lái)的一些潛在程序錯(cuò)誤或設(shè)計(jì)缺陷)、適應(yīng)性維護(hù)(環(huán)境變化所做的修改)、完善性維護(hù)(需求變化、功能改進(jìn),性能完善)、預(yù)防性(提前預(yù)防問(wèn)題),其中,完善性維護(hù)所在比例最多
* 修改程序副作用:修改代碼的副作用、 修改數(shù)據(jù)的副作用、 修改文檔的副作用
* 可理解性:外來(lái)讀者理解軟件的結(jié)構(gòu)、接口、功能和內(nèi)部過(guò)程的難易程度
* 可靠性:程序按照用戶的要求和設(shè)計(jì)目標(biāo),在給定的一段時(shí)間內(nèi)正確執(zhí)行的概率
* 可測(cè)試性:診斷和測(cè)試的難易程度主要取決于軟件容易理解的程度
* 可修改性:軟件容易修改的程度,
* 可移植性:可移植性表明程序轉(zhuǎn)移到一個(gè)新的計(jì)算環(huán)境的可能性大小
* 效率:效率表明一個(gè)程序執(zhí)行預(yù)定功能而又不浪費(fèi)機(jī)器資源的程度
* 可使用性:從用戶觀點(diǎn)出發(fā),把可使用性定義為程序方便、實(shí)用、及易于使用的程度
* 軟件質(zhì)量模型,產(chǎn)品修正(可維護(hù)性,可測(cè)試、靈活性),產(chǎn)品移植(可移植性、可復(fù)用性、互連性),產(chǎn)品運(yùn)行(正確、可靠、效率、可使用性、完整性)
* 面向?qū)ο蠓椒?面向?qū)ο蠓治?OOA)->面向?qū)ο笤O(shè)計(jì)(OOD)->面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP)
* 面向?qū)ο蠼? 面向?qū)ο蠼<夹g(shù)所建立的三種模型——對(duì)象模型、動(dòng)態(tài)模型和功能模型,分別從三個(gè)不同側(cè)面描述了所要開發(fā)的系統(tǒng)。對(duì)象模型定義了“做什么”的實(shí)體,功能模型指明了系統(tǒng)應(yīng)該“做什么”,動(dòng)態(tài)模型明確規(guī)定在何種狀態(tài)下,接受什么事件的觸發(fā)而“做什么”
* UML:統(tǒng)一建模語(yǔ)言,靜態(tài)圖包括用例圖、類圖、對(duì)象圖、構(gòu)件圖和部署圖; 動(dòng)態(tài)圖包括狀態(tài)圖、時(shí)序圖、協(xié)作圖和活動(dòng)圖。用例圖:需求導(dǎo)出技術(shù),識(shí)別用例與角色; 類圖包括類、類之間的關(guān)聯(lián)、類關(guān)聯(lián)重?cái)?shù)和繼承等基本元素。對(duì)象圖是系統(tǒng)運(yùn)行某個(gè)時(shí)刻對(duì)象之間的關(guān)聯(lián)關(guān)系。對(duì)象圖是類圖的一個(gè)實(shí)例. 時(shí)序圖描述對(duì)象間的事件序列的交換和相互關(guān)系; 協(xié)作圖注重對(duì)象的空間協(xié)作關(guān)系; 狀態(tài)圖描述系統(tǒng)中對(duì)象的狀態(tài)變化
相關(guān)鏈接:
2011年軟考網(wǎng)絡(luò)工程師(中級(jí)資格/工程師)簡(jiǎn)介
軟考網(wǎng)絡(luò)工程師歷年真題匯總(2007年-2010年)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |