第3章軟件工程基礎(chǔ)_第1頁
第3章軟件工程基礎(chǔ)_第2頁
第3章軟件工程基礎(chǔ)_第3頁
第3章軟件工程基礎(chǔ)_第4頁
第3章軟件工程基礎(chǔ)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、考點(diǎn)1 軟件工程基本概念【考點(diǎn)精講】1軟件定義與軟件特點(diǎn)軟件指的是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,包括程序、數(shù)據(jù)和相關(guān)文檔的完整集合。程序是軟件開發(fā)人員根據(jù)用戶需求開發(fā)的、用程序設(shè)計語言描述的、適合計算機(jī)執(zhí)行的指令序列。數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)。文檔是與程序的開發(fā)、維護(hù)和使用有關(guān)的圖文資料。可見,軟件由兩部分組成:(1)機(jī)器可執(zhí)行的程序和數(shù)據(jù);(2)機(jī)器不可執(zhí)行的,與軟件開發(fā)、運(yùn)行、維護(hù)、使用等有關(guān)的文檔。根據(jù)應(yīng)用目標(biāo)的不同,軟件可分應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。名稱描述應(yīng)用軟件為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件系統(tǒng)軟件計算機(jī)管理自身資源,提高計算機(jī)使用效率并為計

2、算機(jī)用戶提供各種服務(wù)的軟件支撐軟件(或工具軟件)支撐軟件是介于兩者之間,協(xié)助用戶開發(fā)軟件的工具性軟件2軟件工程為了擺脫軟件危機(jī),提出了軟件工程的概念。軟件工程學(xué)是研究軟件開發(fā)和維護(hù)的普遍原理與技術(shù)的一門工程學(xué)科。所謂軟件工程是指,采用工程的概念、原理、技術(shù)和方法指導(dǎo)軟件的開發(fā)與維護(hù)。軟件工程學(xué)的主要研究對象包括軟件開發(fā)與維護(hù)的技術(shù)、方法、工具和管理等方面。軟件工程包括3個要素:方法、工具和過程。名稱描述方法方法是完成軟件工程項(xiàng)目的技術(shù)手段工具工具支持軟件的開發(fā)、管理、文檔生成過程過程支持軟件開發(fā)的各個環(huán)節(jié)的控制、管理考點(diǎn)2 軟件生命周期【考點(diǎn)精講】1軟件生命周期概念軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維

3、護(hù)到停止使用退役的過程稱為軟件生命周期。一般包括可行性分析研究與需求分析、設(shè)計、實(shí)現(xiàn)、測試、交付使用以及維護(hù)等活動,如圖31所示。軟件生命周期分為3個時期共8個階段,(1)軟件定義期:包括問題定義、可行性研究和需求分析3個階段;(2)軟件開發(fā)期:包括概要設(shè)計、詳細(xì)設(shè)計、實(shí)現(xiàn)和測試4個階段;(3)運(yùn)行維護(hù)期:即運(yùn)行維護(hù)階段。圖3-1 軟件生命周期軟件生命周期各個階段的活動可以有重復(fù),執(zhí)行時也可以有迭代,如圖3-1所示。2軟件生命周期各階段的主要任務(wù) 在圖3-1中的軟件生命周期各階段的主要任務(wù)是:任務(wù)描述問題定義確定要求解決的問題是什么可行性研究與計劃制定決定該問題是否存在一個可行的解決辦法,指定

4、完成開發(fā)任務(wù)的實(shí)施計劃需求分析對待開發(fā)軟件提出需求進(jìn)行分析并給出詳細(xì)定義。編寫軟件規(guī)格說明書及初步的用戶手冊,提交評審軟件設(shè)計通常又分為概要設(shè)計和詳細(xì)設(shè)計兩個階段,給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程。這階段提交評審的文檔有概要設(shè)計說明書、詳細(xì)設(shè)計說明書和測試計劃初稿軟件實(shí)現(xiàn)在軟件設(shè)計的基礎(chǔ)上編寫程序。這階段完成的文檔有用戶手冊、操作手冊等面向用戶的文檔,以及為下一步作準(zhǔn)備而編寫的單元測試計劃軟件測試在設(shè)計測試用例的基礎(chǔ)上,檢驗(yàn)軟件的各個組成部分。編寫測試分析報告運(yùn)行維護(hù)將已交付的軟件投入運(yùn)行,同時不斷的維護(hù),進(jìn)行必要而且可行的擴(kuò)充和刪改考點(diǎn)3 軟件設(shè)計基本概念【考點(diǎn)精講】從技術(shù)

5、觀點(diǎn)上看,軟件設(shè)計包括軟件結(jié)構(gòu)設(shè)計、數(shù)據(jù)設(shè)計、接口設(shè)計、過程設(shè)計。(1)結(jié)構(gòu)設(shè)計定義軟件系統(tǒng)各主要部件之間的關(guān)系;(2)數(shù)據(jù)設(shè)計將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義;(3)接口設(shè)計是描述軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信;(4)過程設(shè)計則是把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換為軟件的過程性描述。從工程管理角度來看,軟件設(shè)計分兩步完成:概要設(shè)計和詳細(xì)設(shè)計。(1)概要設(shè)計將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式;(2)詳細(xì)設(shè)計確立每個模塊的實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用適當(dāng)方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。考點(diǎn)4 軟件設(shè)計的基本原理【考點(diǎn)精講】1、軟件設(shè)計中應(yīng)該遵循的基本原

6、理和與軟件設(shè)計有關(guān)的概念(1)抽象:軟件設(shè)計中考慮模塊化解決方案時,可以定出多個抽象級別。抽象的層次從概要設(shè)計到詳細(xì)設(shè)計逐步降低。(2)模塊化:模塊是指把一個待開發(fā)的軟件分解成若干小的簡單的部分。模塊化是指解決一個復(fù)雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程。(3)信息隱蔽:信息隱蔽是指在一個模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對于不需要這些信息的其他模塊來說是不能訪問的。(4)模塊獨(dú)立性:模塊獨(dú)立性是指每個模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。模塊的獨(dú)立程度是評價設(shè)計好壞的重要度量標(biāo)準(zhǔn)。衡量軟件的模塊獨(dú)立性使用耦合性和內(nèi)聚性兩個定性的度量標(biāo)準(zhǔn)。內(nèi)聚性是信息

7、隱蔽和局部化概念的自然擴(kuò)展。一個模塊的內(nèi)聚性越強(qiáng)則該模塊的模塊獨(dú)立性越強(qiáng)。一個模塊與其他模塊的耦合性越強(qiáng)則該模塊的模塊獨(dú)立性越弱。2、衡量軟件模塊獨(dú)立性使用耦合性和內(nèi)聚性兩個定性的度量標(biāo)準(zhǔn)內(nèi)聚性是度量一個模塊功能強(qiáng)度的一個相對指標(biāo)。內(nèi)聚是從功能角度來衡量模塊的聯(lián)系,它描述的是模塊內(nèi)的功能聯(lián)系。內(nèi)聚有如下種類,它們之間的內(nèi)聚度由弱到強(qiáng)排列:偶然內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚、過程內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚、功能內(nèi)聚。耦合性是模塊之間互相連接的緊密程度的度量。耦合性取決于各個模塊之間接口的復(fù)雜度、調(diào)用方式以及哪些信息通過接口。耦合可以分為下列幾種,它們之間的耦合度由高到低排列:內(nèi)容耦合、公共耦合、外部耦合

8、、控制耦合、標(biāo)記耦合、數(shù)據(jù)耦合、非直接耦合。在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計,應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。考點(diǎn)5 結(jié)構(gòu)化分析方法【考點(diǎn)精講】1、結(jié)構(gòu)化分析方法的定義結(jié)構(gòu)化分析方法就是使用數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、結(jié)構(gòu)化英語、判定表和判定樹的工具,來建立一種新的、稱為結(jié)構(gòu)化規(guī)格說明的目標(biāo)文檔。結(jié)構(gòu)化分析方法的實(shí)質(zhì)是著眼于數(shù)據(jù)流、自頂向下、對系統(tǒng)的功能進(jìn)行逐層分解、以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。2、結(jié)構(gòu)化分析方法常用工具(1)數(shù)據(jù)流圖(DFD)數(shù)據(jù)流圖是系統(tǒng)邏輯模

9、型的圖形表示,即使不是專業(yè)的計算機(jī)技術(shù)人員也容易理解它,因此它是分析員與用戶之間極好的通信工具。(2)數(shù)據(jù)字典(DD)數(shù)據(jù)字典是對數(shù)據(jù)流圖中所有元素的定義的集合,是結(jié)構(gòu)化分析的核心。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)字典數(shù)據(jù)流圖就不嚴(yán)格,若沒有數(shù)據(jù)流圖,數(shù)據(jù)字典也難于發(fā)揮作用。數(shù)據(jù)字典中有4種類型的條目:數(shù)據(jù)流、數(shù)據(jù)項(xiàng)、數(shù)據(jù)存儲和加工。(3)判定表有些加工的邏輯用語言形式不容易表達(dá)清楚,而用表的形式則一目了然。如果一個加工邏輯有多個條件、多個操作,并且在不同的條件組合下執(zhí)行不同的操作,那么可以使用判定表來描述。(4)判定樹判定樹和判定表沒有本質(zhì)的區(qū)別,可以用判定表表示的加工邏輯

10、都能用判定樹表示。3、軟件需求規(guī)格說明書軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)的重要文檔之一。它的特點(diǎn)是具有正確性、無歧義性、完整性、可驗(yàn)證性、一致性、可理解性、可修改性和可追蹤性??键c(diǎn)6 軟件測試的目的和準(zhǔn)則【考點(diǎn)精講】1軟件測試的目的 Grenford.J.Myers給出了軟件測試的目的:(1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。(2)好的測試用例(test case)能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤。(3)一次成功的測試是能發(fā)現(xiàn)至今為止尚未發(fā)現(xiàn)的錯誤。測試的目的是發(fā)現(xiàn)軟件中的錯誤,但是,暴露錯誤并不是軟件測試的最終目的,測試的根本目的是盡可能多地發(fā)現(xiàn)并排除軟件中隱藏的

11、錯誤。2軟件測試的準(zhǔn)則 根據(jù)上述軟件測試的目的,為了能設(shè)計出有效的測試方案,以及好的測試用例,軟件測試人員必須深入理解,并正確運(yùn)用以下軟件測試的基本準(zhǔn)則。(1)所有測試都應(yīng)追溯到用戶需求(2)在測試之前制定測試計劃,并嚴(yán)格執(zhí)行(3)充分注意測試中的群集現(xiàn)象(4)避免由程序的編寫者測試自己的程序(5)不可能進(jìn)行窮舉測試(6)妥善保存測試計劃、測試用例、出錯統(tǒng)計和最終分析報告,為維護(hù)提供方便??键c(diǎn)7 軟件測試的方法和實(shí)施【考點(diǎn)精講】1、軟件測試方法軟件測試具有多種方法,依據(jù)軟件是否需要被執(zhí)行,可以分為靜態(tài)測試和動態(tài)測試方法。如果依照功能劃分,可以分為白盒測試和黑盒測試方法。1靜態(tài)測試和動態(tài)測試 (

12、1)靜態(tài)測試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量等。其中代碼檢查分為代碼審查、代碼走查、桌面檢查、靜態(tài)分析等具體形式。(2)動態(tài)測試靜態(tài)測試不實(shí)際運(yùn)行軟件,主要通過人工進(jìn)行分析。動態(tài)測試就是通常所說的上機(jī)測試,是通過運(yùn)行軟件來檢驗(yàn)軟件中的動態(tài)行為和運(yùn)行結(jié)果的正確性。動態(tài)測試的關(guān)鍵是使用設(shè)計高效、合理的測試用例。測試用例就是為測試設(shè)計的數(shù)據(jù),由測試輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩部份組成。測試用例的設(shè)計方法一般分為兩類:黑盒測試方法和白盒測試方法。2黑盒測試和白盒測試 (1)白盒測試白盒測試是把程序看成裝在一只透明的白盒子里,測試者完全了解程序的結(jié)構(gòu)和處理過程。它根據(jù)程序的內(nèi)部邏輯來設(shè)計測試用例,

13、檢查程序中的邏輯通路是否都按預(yù)定的要求正確地工作。(2)黑盒測試黑盒測試是把程序看成一只黑盒子,測試者完全不了解,或不考慮程序的結(jié)構(gòu)和處理過程。它根據(jù)規(guī)格說明書的功能來設(shè)計測試用例,檢查程序的功能是否符合規(guī)格說明的要求。2、軟件測試的實(shí)施軟件測試過程分4個步驟,即單元測試、集成測試、驗(yàn)收測試和系統(tǒng)測試。單元測試是對軟件設(shè)計的最小單位模塊(程序單元)進(jìn)行正確性檢驗(yàn)測試。單元測試的技術(shù)可以采用靜態(tài)分析和動態(tài)測試。集成測試是測試和組裝軟件的過程,主要目的是發(fā)現(xiàn)與接口有關(guān)的錯誤,主要依據(jù)是概要設(shè)計說明書。集成測試所設(shè)計的內(nèi)容包括:軟件單元的接口測試、全局?jǐn)?shù)據(jù)結(jié)構(gòu)測試、邊界條件和非法輸入的測試等。集成測

14、試時將模塊組裝成程序,通常采用兩種方式:非增量方式組裝和增量方式組裝。確認(rèn)測試的任務(wù)是驗(yàn)證軟件的功能和性能,以及其他特性是否滿足了需求規(guī)格說明中確定的各種需求,包括軟件配置是否完全、正確。確認(rèn)測試的實(shí)施首先運(yùn)用黑盒測試方法,對軟件進(jìn)行有效性測試,即驗(yàn)證被測軟件是否滿足需求規(guī)格說明確認(rèn)的標(biāo)準(zhǔn)。系統(tǒng)測試是通過測試確認(rèn)的軟件,作為整個基于計算機(jī)系統(tǒng)的一個元素,與計算機(jī)硬件、外設(shè)、支撐軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素組合在一起,在實(shí)際運(yùn)行(使用)環(huán)境下對計算機(jī)系統(tǒng)進(jìn)行一系列的集成測試和確認(rèn)測試。系統(tǒng)測試的具體實(shí)施一般包括:功能測試、性能測試、操作測試、配置測試、外部接口測試、安全性測試等??键c(diǎn)8 程序的調(diào)試【考點(diǎn)精講】在對程序進(jìn)行了成功的測試之后將進(jìn)入程序調(diào)試(通常稱Debug,即排錯)。程序的調(diào)試任務(wù)是診斷和改正程序中的錯誤。調(diào)試主要在開發(fā)階段進(jìn)行。程序調(diào)試活動由兩部分組成,一是根據(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

提交評論