- 相關推薦
公共基礎知識復習資料(4)
第三章 軟件工程基礎
經(jīng)過對部分考生的調(diào)查以及對近年真題的總結(jié)分析,筆試部分經(jīng)?疾榈氖擒浖芷、軟件設計的基本原理,軟件測試的目的、軟件調(diào)試的基本概念,讀者應對此部分進行重點學習。
詳細重點學習知識點:
1.軟件的概念、軟件生命周期的概念及各階段所包含的活動
2.概要設計與詳細設計的概念、模塊獨立性及其度量的標準、詳細設計常用的工具
3.軟件測試的目的、軟件測試的4個步驟、
4.軟件調(diào)試的任務
3.1軟件工程基本概念
考點1 軟件定義與軟件特點
考試鏈接:
考點1在筆試考試中,是一個經(jīng)?疾榈膬(nèi)容,考核的幾率為70%,主要是以選擇題的形式出現(xiàn),分值為2分,此考點為識記內(nèi)容,讀者應該識記軟件的定義,特點及其分類。
軟件指的是計算機系統(tǒng)中與硬件相互依存的另一部分,包括程序、數(shù)據(jù)和相關文檔的完整集合。程序是軟件開發(fā)人員根據(jù)用戶需求開發(fā)的、用程序設計語言描述的、適合計算機執(zhí)行的指令序列。數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)。文檔是與程序的開發(fā)、維護和使用有關的圖文資料?梢,軟件由兩部分組成:
(1)機器可執(zhí)行的程序和數(shù)據(jù);
(2)機器不可執(zhí)行的,與軟件開發(fā)、運行、維護、使用等有關的文檔。
軟件的特點:
(1)軟件是邏輯實體,而不是物理實體,具有抽象性;
(2)沒有明顯的制作過程,可進行大量的復制;
(3)使用期間不存在磨損、老化問題;
(4)軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性;
(5)軟件復雜性高,成本昂貴;
(6)軟件開發(fā)涉及諸多社會因素。
根據(jù)應用目標的不同,軟件可分應用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。
小提示:應用軟件是為解決特定領域的應用而開發(fā)的軟件;系統(tǒng)軟件是計算機管理自身資源,提高計算機使用效率并為計算機用戶提供各種服務的軟件;支撐軟件是介于兩者之間,協(xié)助用戶開發(fā)軟件的工具性軟件。
考點2 軟件工程過程與軟件生命周期
考試鏈接:
考點2在筆試考試中,在筆試考試中出現(xiàn)的幾率為30%,主要是以選擇題的形式出現(xiàn),分值為2分,此考點為識記內(nèi)容,讀者應該識記軟件生命周期 的定義,主要活動階段及其任務。
軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。一般包括可行性分析研究與需求分析、設計、實現(xiàn)、測試、交付使用以及維護等活動,如圖3-1所示。
圖3-1軟件生命周期
還可以將軟件生命周期分為如上圖所示的軟件定義、軟件開發(fā)和軟件運行維護3個階段。
生命周期的主要活動階段是:可行性研究與計劃制定、需求分析、軟件設計、軟件實施、軟件測試及運行與維護。
3.2結(jié)構(gòu)化設計方法
考點3 軟件設計的基本概念
考試鏈接:
考點3在筆試考試中,是一個經(jīng)?疾榈膬(nèi)容,考核中幾率為70%,主要是以選擇題的形式出現(xiàn),分值為2分,此考點為重點掌握內(nèi)容,讀者應該識記模塊獨立性中的耦合性和內(nèi)聚性。
誤區(qū)警示:
在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強,則耦合性越弱。軟件設計應盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨立性。
1.軟件設計的基礎
從技術觀點上看,軟件設計包括軟件結(jié)構(gòu)設計、數(shù)據(jù)設計、接口設計、過程設計。
(1)結(jié)構(gòu)設計定義軟件系統(tǒng)各主要部件之間的關系;
(2)數(shù)據(jù)設計將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義;
(3)接口設計是描述軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信;
(4)過程設計則是把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換為軟件的過程性描述。
從工程管理角度來看,軟件設計分兩步完成:概要設計和詳細設計。
(1)概要設計將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級接口、全局數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式;
(2)詳細設計確立每個模塊的實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用適當方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細節(jié)。
2.軟件設計的基本原理
(1)抽象:軟件設計中考慮模塊化解決方案時,可以定出多個抽象級別。抽象的層次從概要設計到詳細設計逐步降低。
(2)模塊化:模塊是指把一個待開發(fā)的軟件分解成若干小的簡單的部分。模塊化是指解決一個復雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程。
(3)信息隱蔽:信息隱蔽是指在一個模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對于不需要這些信息的其他模塊來說是不能訪問的。
(4)模塊獨立性:模塊獨立性是指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。模塊的獨立程度是評價設計好壞的重要度量標準。衡量軟件的模塊獨立性使用耦合性和內(nèi)聚性兩個定性的度量標準。內(nèi)聚性是信息隱蔽和局部化概念的自然擴展。一個模塊的內(nèi)聚性越強則該模塊的模塊獨立性越強。一個模塊與其他模塊的耦合性越強則該模塊的模塊獨立性越弱。
內(nèi)聚性是度量一個模塊功能強度的一個相對指標。內(nèi)聚是從功能角度來衡量模塊的聯(lián)系,它描述的是模塊內(nèi)的功能聯(lián)系。內(nèi)聚有如下種類,它們之間的內(nèi)聚度由弱到強排列:偶然內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚、過程內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚、功能內(nèi)聚。
耦合性是模塊之間互相連接的緊密程度的度量。耦合性取決于各個模塊之間接口的復雜度、調(diào)用方式以及哪些信息通過接口。耦合可以分為下列幾種,它們之間的耦合度由高到低排列:內(nèi)容耦合、公共耦合、外部耦合、控制耦合、標記耦合、數(shù)據(jù)耦合、非直接耦合。
在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強,則耦合性越弱。一般較優(yōu)秀的軟件設計,應盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨立性。
小提示:上面僅是對耦合機制進行的一個分類?梢娨粋模塊與其他模塊的耦合性越強則該模塊獨立性越弱。原則上講,模塊化設計總是希望模塊之間的耦合表現(xiàn)為非直接耦合方式。但是,由于問題所固有的復雜性和結(jié)構(gòu)化設計的原則,非直接耦合是不存在的。
考點4 詳細設計
考試鏈接:
考點4在筆試考試中,在筆試考試中出現(xiàn)的幾率為30%,主要是以選擇題的形式出現(xiàn),分值為2分,此考點為識記內(nèi)容,讀者應該識記過程設計包括哪些常用工具。
詳細設計的任務是為軟件結(jié)構(gòu)圖中的每個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達表示工具算法和數(shù)據(jù)結(jié)構(gòu)的細節(jié)。
詳細過程設計的常用工具有:
(1)圖形工具:程序流程圖,N-S,PAD,HIPO。
(2)表格工具:判定表。
(3)語言工具:PDL(偽碼)。
程序流程圖的5種控制結(jié)構(gòu):順序型、選擇型、先判斷重復型、后判斷重復型和多分支選擇型。
方框圖中僅含5種基本的控制結(jié)構(gòu),即順序型、選擇型、多分支選擇型、WHILE重復型和UNTIL重復型。
PAD圖表示5種基本控制結(jié)構(gòu),即順序型、選擇型、多分支選擇型、WHILE重復型和UNTIL重復型。
過程設計語言(PDL)也稱為結(jié)構(gòu)化的語言和偽碼,它是一種混合語言,采用英語的詞匯和結(jié)構(gòu)化程序設計語言,類似編程語言。
PDL可以由編程語言轉(zhuǎn)換得到,也可以是專門為過程描述而設計的。
疑難解答:程序流程圖,N-S圖,PAD圖的控制結(jié)構(gòu)的異同點是什么?
相同點是三種圖都有順序結(jié)構(gòu),選擇結(jié)構(gòu)和多分支選擇,并且N-S圖和PAD圖還有相同的WHILE重復型、UNTIL重復型;不同點是程序流程圖沒有WHILE重復型、UNTIL重復型而有后判斷重復型和先判斷重復型。
3.3軟件測試
考點5 軟件測試的目的
考試鏈接:
考點5在筆試考試中,是一個經(jīng)?疾榈膬(nèi)容,在筆試考試中出現(xiàn)的幾率為70%,主要是以選擇題的形式出現(xiàn),分值為2分,此考點為理解內(nèi)容,讀者應該理解測試是為了發(fā)現(xiàn)錯誤。
軟件測試是在軟件投入運行前對軟件需求、設計、編碼的最后審核。其工作量、成本占總工作量、總成本的40%以上,而且具有較高的組織管理和技術難度。
(1)軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;
(2)一個好的測試用例是能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤的用例;
(3)一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。
【公共基礎知識復習資料4】相關文章:
電氣工程師公共基礎知識強化試題08-09
中考英語作文復習資料(4)07-16
計算機二級公共基礎知識考試大綱06-30
計算機二級公共基礎知識練習題(一)10-07
計算機二級公共基礎知識練習題及答案06-19
成考專升本英語詞組復習資料(4)09-20
小升初語文的復習資料07-22
中考成語復習資料10-09
小升初語文復習資料10-26