


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件工程基礎(chǔ)部分知識點總結(jié)軟件工程的基本概念知識點一、軟件定義 :是計算機系統(tǒng)中與硬件相互依存的另一部分,是包括 程序、數(shù)據(jù)以及相關(guān)文檔 的完整集合。)程序是軟件開發(fā)人員根據(jù)用戶需求開發(fā)的、用程序設(shè)計語言描述 的、適合計算機執(zhí)行的指令(語句)序列。)數(shù)據(jù) 是使程序能夠正常操作信息的數(shù)據(jù)結(jié)構(gòu)。 2GB)文檔 是與程序開發(fā)、維護和使用有關(guān)的圖文資料。 3 國標(biāo)()計算機軟件的定義:與計算機系統(tǒng)的操作相關(guān)的計算機 程序、規(guī)程、規(guī)則以及可能有的文件、文檔及數(shù)據(jù)。、軟件特點 : 2)軟件是一種邏輯實體,而不是物理實體,具有抽象性是計算機 ,1的無形部分;)軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程; 2
2、)軟件在運行、使用期間不存在磨損、老化問題; 3)軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性,受計算機系統(tǒng)的限 4 制,這導(dǎo)致了軟件移植的問題;)軟件復(fù)雜性高,成本昂貴; 5)軟件開發(fā)涉及諸多的社會因素 6、軟件的分類 :3 按照功能可以分為:應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件)系統(tǒng)軟件是計算機管理自身資源,提高計算機使用效率并為計算 2 機用戶提供各種服務(wù)的軟件。)支撐軟件是介于系統(tǒng)軟件和應(yīng)用軟件之間,協(xié)助用戶開發(fā)軟件的 3 工具軟件。、軟件危機 :是指在軟件的開發(fā)和維護過程中所遇到的一系列嚴(yán)重 4 問題。 軟件危機主要體現(xiàn)在以下幾個方面: 軟件
3、開發(fā)的實際成本和進(jìn)度估計不準(zhǔn)確 開發(fā)出來的軟件常常不能使用戶滿意 軟件產(chǎn)品的質(zhì)量不高,存在漏洞,需要經(jīng)常打補丁 大量已有的軟件難以維護 軟件缺少有關(guān)的文檔資料 開發(fā)和維護成本不斷提高,直接威脅計算機應(yīng)用的擴大 軟件生產(chǎn)技術(shù)進(jìn)步緩慢,跟不上硬件的發(fā)展和人們需求增長、軟件工程 :此概念的出現(xiàn)源自軟件危機。軟件工程是指應(yīng)用計算 5 機科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,以工程化的原則和方法來開發(fā)與 維護軟件的學(xué)科。)研究軟件工程的主要目的就是在規(guī)定的時間、規(guī)定的開發(fā)費用內(nèi) 1 開發(fā)出滿足用戶需求的高質(zhì)量的軟件系統(tǒng)高質(zhì)量是指錯誤率低、好 ( 用、易用、可移植、易維護等。 )軟件工程的三個要素:方法、工具和過程
4、。 2 方法:完成軟件工程項目的技術(shù)手段; 工具:支持軟件的開發(fā)、管理、文檔生成; 過程:支持軟件開發(fā)的各個環(huán)節(jié)的控制、管理。)軟件工程的核心思想:把軟件產(chǎn)品看作是一個工程產(chǎn)品來處理。 3知識點二軟件的生命周期、軟件生命周期概念 :將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止 1使用退役的過程稱為軟件生命周期。、軟件生命周期一般劃分為 定義、開發(fā)和維護個階段: 23) 定義階段 : 可行性研究、需求分析個階段; 12軟件定義階段:包括制定計劃和需求分析。 制定計劃:確定總目標(biāo);可行性研究;探討解決方案;制定開發(fā)計劃。 需求分析:對待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)的定義方法:)結(jié)構(gòu)化需求分析方法
5、; )面向?qū)ο蟮姆治龇椒ā?21 任務(wù):導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決“做什么”的問題。 步驟:需求分析一般分為需求獲取、需求分析、編寫需求規(guī)格說 明書和需求評審四個步驟進(jìn)行。42)開發(fā)階段 :概要設(shè)計、詳細(xì)設(shè)計、編碼實現(xiàn)和測試個階段; 軟件設(shè)計:分為概要設(shè)計和詳細(xì)設(shè)計兩個部分。 軟件實現(xiàn):把軟件設(shè)計轉(zhuǎn)換成計算機可以接受的程序代碼。 軟件測試:在設(shè)計測試用例的基礎(chǔ)上檢驗軟件的各個組成部分。)維護階段 :使用、維護、退役階段。 3 軟件運行維護階段:軟件投入運行,并在使用中不斷地維護,進(jìn)行 必要的擴充和刪改。軟件生命周期中所花費最多的階段是軟件運維護階段。)軟件工程原則 :抽象、信息隱蔽、模塊化、
6、局部化、確定性、一 4 致性、完備性和可驗證性。)軟件工具 就是幫助開發(fā)軟件的軟件。它們對提高軟件生產(chǎn)率,促 5 進(jìn)軟件生產(chǎn)的自動化都有重要的作用。)軟件開發(fā)環(huán)境 或稱軟件工程環(huán)境是全面支持軟件開發(fā)全過程的 )6( 軟件工具的集合,這些軟件工具按照一定的方法和模式組合起來, 共同支持軟件生命周期內(nèi)的各個階段和各項任務(wù)的完成。知識點三 軟件設(shè)計基本概念1、 軟件工程過程 : 問題定義可行性研究需求分析軟件設(shè)計軟件編碼軟件測試軟件維護、軟件設(shè)計分為總體設(shè)計和詳細(xì)設(shè)計 2總體設(shè)計 1)目的:要解決的問題是怎樣實現(xiàn)目標(biāo)系統(tǒng)” “任務(wù):確定軟件的總體結(jié)構(gòu),進(jìn)行模塊劃分,確定每個模塊的功能、接口及模塊之間
7、的調(diào)用關(guān)系,并對全局?jǐn)?shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計, 同 時產(chǎn)生概要設(shè)計說明書詳細(xì)設(shè)計 2)目的:要解決的問題是應(yīng)該怎樣具體實現(xiàn)目標(biāo)系統(tǒng)” “ 任務(wù):在概要設(shè)計的基礎(chǔ)上,設(shè)計每個模塊實現(xiàn)的細(xì)節(jié)及對局部 數(shù)據(jù)進(jìn)行設(shè)計包括模塊的數(shù)據(jù)結(jié)構(gòu)和所需的算法, 同時產(chǎn)生詳細(xì) )(設(shè)計說明書、 軟件編碼 3 目的:產(chǎn)生能在計算機上執(zhí)行的程序 任務(wù):根據(jù)系統(tǒng)的要求和開發(fā)環(huán)境,選用合適的程序設(shè)計語言, 把詳細(xì)設(shè)計的結(jié)果翻譯成用該程序設(shè)計語言編寫的程序代碼源程序)(、軟件測試 是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程 4 目的和任務(wù):通過在計算機上執(zhí)行程序來盡可能多地發(fā)現(xiàn)軟件產(chǎn) 品中的錯誤和缺陷,并改正程序中的錯誤,以保證程序的可
8、靠運行 、軟件維護階段 是長期的過程,因為,經(jīng)過測試的軟件還可能有錯,5 用戶的要求還會發(fā)生變化,軟件運行的環(huán)境也可能變化等等。因此,交付使用的軟件仍然需要繼續(xù)排錯、修改和擴充,這就是軟件維護軟件維護的 目的 是滿足用戶對已開發(fā)產(chǎn)品的性能與運行環(huán)境不斷提 高的需要,進(jìn)而達(dá)到延長軟件的壽命 軟件維護就是在軟件交付使用之后,為了改正錯誤或滿足新的需 要而修改軟件的過程。 軟件維護的 類型 有如下幾種: )改正性維護:診斷和改進(jìn)錯誤的過程。 1 )適應(yīng)性維護:為與變化的環(huán)境適當(dāng)配合而進(jìn)行的修改軟件的活動。2)完善性維護:為了滿足用戶提出的增加新功能或修改已有功能的 3 建議而進(jìn)行維護。)預(yù)防性維護:
9、為了改進(jìn)未來的可維護性和可靠性。 4軟件開發(fā)時期要完成設(shè)計和實現(xiàn)兩大任務(wù),其中設(shè)計任務(wù)用需求分析和軟件設(shè)計兩個階段完成,實現(xiàn)任務(wù)用編碼和測試兩個階段完成。開發(fā)任務(wù)完成的好與壞,關(guān)系到軟件產(chǎn)品的質(zhì)量,完成開發(fā)任務(wù)的關(guān)鍵是選擇好的軟件開發(fā)方法。目前,軟件開發(fā)方法主要有結(jié)構(gòu)化開發(fā)方法和面向?qū)ο箝_發(fā)方法知識點 4 軟件設(shè)計的基本原理軟件設(shè)計的基本原理包括:抽象、模塊化、信息隱蔽和模塊獨立性。1、模塊化: 指解決問題時自頂向下的方法逐層把軟件系統(tǒng)劃分成若干個模塊的過程2、抽象:認(rèn)識復(fù)雜過程中使用的思維工具,即抽出事務(wù)的本質(zhì)的共同的特性而暫不考慮它的細(xì)節(jié)和其他因素。旨在設(shè)計和確定模塊式的時候,是的一個模塊
10、內(nèi)包含、 信息隱蔽: 3 的信息,對于不需要這些信息的其他模塊來說不可訪問 指每個模塊只完成系統(tǒng)要求的獨立的功能,并且與、 模塊獨立性: 4 其他模塊聯(lián)系最少且接口簡單 模塊的耦合性和內(nèi)聚性是衡量軟件的模塊獨立性的兩個定性指標(biāo)。 )內(nèi)聚性:是對模塊功能強度的度量,即對一個模塊內(nèi)部各個元素 1 (語句之間、程序段)間彼此結(jié)合的緊密程度的度量。 )耦合性:是模塊間互相連接的緊密程度的度量。模塊之間聯(lián)系越 2 緊密,其耦合性就越強,模塊的獨立性則越差。 的特征。一個設(shè)計良好的軟件系統(tǒng)應(yīng)具有 高內(nèi)聚、低耦合模塊內(nèi)具有高內(nèi)聚度,在結(jié)構(gòu)化程序設(shè)計中,模塊劃分的原則是:模塊間具有低耦合度。軟件設(shè)計有兩個步驟
11、:)概要設(shè)計(又稱結(jié)構(gòu)設(shè)計)是將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、(1確定系統(tǒng)級接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式;)詳細(xì)設(shè)計是確定每個模塊的實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),通過對 2( 結(jié)構(gòu)表示進(jìn)行細(xì)化,得到軟件的詳細(xì)數(shù)據(jù)結(jié)構(gòu)和算法。結(jié)構(gòu)化分析方法知識點5結(jié)構(gòu)化方法的軟件開發(fā)過程編碼并測試軟件計劃后.結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化設(shè)計結(jié)構(gòu)化分析面向?qū)ο蠓椒ǖ能浖_發(fā)過程軟件計劃后軟件測試,面向?qū)ο缶幊堂嫦驅(qū)ο蠓置嫦驅(qū)ο笤O(shè)計析1、結(jié)構(gòu)化分析(簡稱SA)方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法。2、結(jié)構(gòu)化分析方法的 常用工具:數(shù)據(jù)流圖、數(shù)據(jù)字典、結(jié)構(gòu)化語言、 判定樹、判定表3、SA的基本步驟如下: 自頂向下對系統(tǒng)進(jìn)行功能分解,畫
12、出分層的數(shù)據(jù)流圖 由后向前定義系統(tǒng)的數(shù)據(jù)和加工,編制數(shù)據(jù)字典和加工說明 寫出需求規(guī)格說明書(SRS)4、數(shù)據(jù)流圖是以圖形的方式描繪數(shù)據(jù)在軟件系統(tǒng)中流動和處理的過 程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模 型。數(shù)據(jù)流圖由數(shù)據(jù)流、加工(又稱數(shù)據(jù)處理)、數(shù)據(jù)存儲(又 稱文件)、數(shù)據(jù)源點或終點四種基本成分組成。學(xué)資學(xué)習(xí)網(wǎng)提供考研資料數(shù)據(jù)流圖(簡稱DFD圖形元素: 數(shù)據(jù)流:是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑。使用箭頭代表數(shù)據(jù)的流向,數(shù)據(jù)名稱標(biāo)在箭頭的邊上 加工:輸入數(shù)據(jù)經(jīng)過加工變換產(chǎn)生輸出。使用圓框代表加工 數(shù)據(jù)存儲:指處理過程中存放各種數(shù)據(jù)。使用雙杠(或單杠)表示數(shù)據(jù)文件或數(shù)據(jù)庫。文件與加工之
13、間用箭頭線連接,單向表 示只讀或只寫,雙向表示可讀可寫 數(shù)據(jù)源點或終點:指軟件系統(tǒng)外部環(huán)境中的實體(包括人員、 組織或其他軟件系統(tǒng),統(tǒng)稱為外部實體)。使用方框表示數(shù)據(jù)的 源點和終點5、建立數(shù)據(jù)流圖的步驟: 第一步:由外向里:先畫系統(tǒng)的輸入輸出,然后畫系統(tǒng)的內(nèi)部。 第二步:自頂向下:順序完成頂層、中間層、底層數(shù)據(jù)流圖。 第三步:逐層分解。6、DFD圖的數(shù)據(jù)流可分為兩種類型:變換流和事務(wù)流變換流:信息沿著輸入通路進(jìn)入系統(tǒng),同時將信息的外部形式轉(zhuǎn) 換成內(nèi)部形式,通過變換中心處理之后,再沿著輸出通路轉(zhuǎn)換成 外部形式輸出事務(wù)流:信息沿著輸入通路到達(dá)一個事務(wù)中心,事務(wù)中心根據(jù)輸 入信息的類型在若干個動作序
14、列中選擇一個來執(zhí)行,這種信息流 稱為事務(wù)流學(xué)資學(xué)習(xí)網(wǎng) 提供考研資料 7、數(shù)據(jù)字典 就是用來定義數(shù)據(jù)流圖中的各個成分的具體含義和詳細(xì)的描述。它和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型,是需求規(guī)格說 明書的主要組成部分。是結(jié)構(gòu)化分析方法的核心。 數(shù)據(jù)字典是為分 析人員查找數(shù)據(jù)流圖中有關(guān)名字的詳細(xì)定義而服務(wù)的。 數(shù)據(jù)字典有四類條目:數(shù)據(jù)流、數(shù)據(jù)項、數(shù)據(jù)存儲和基本加工。 &SD方法的中心任務(wù)就是把用DFD圖表示的系統(tǒng)分析模型方便地轉(zhuǎn) 換為軟件結(jié)構(gòu)的設(shè)計模型。識點 6 軟件測試的目的和準(zhǔn)則1、軟件測試是保證軟件質(zhì)量的重要手段,其主要過程涵蓋了整個軟 件生命周期的過程,包括需求定義階段的需求測試、編碼階
15、段的單 元測試、集成測試以及后期的確認(rèn)測試、系統(tǒng)測試、驗證軟件是否合格、能否交付給用戶使用。軟件測試就是使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其 目的在于檢驗它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實際結(jié)果之間的差別。2、軟件測試的 原則 :1) 所有測試都應(yīng)追溯到需求2) 嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性3) 避免由軟件開發(fā)人員測試自己的程序4) 充分注意測試中的群集性現(xiàn)象5) 除了很小的程序外,“徹底”的窮舉測試是不可能的6) 妥善保存測試計劃、測試用例、出錯統(tǒng)計和最終的分析報告,為維護提供方便軟件測試的每一次測試都需要準(zhǔn)備好一些測試數(shù)據(jù),與被測程序一起輸入到計算機中執(zhí)行;知識點
16、7 軟件測試的方法和實施1、測試是對軟件規(guī)格說明、設(shè)計和編碼的最后的復(fù)審,所以軟件測 試貫穿在整個軟件開發(fā)期的全過程。對于軟件測試方法和技術(shù),可 以從不同的角度加以分類。 從是否需要執(zhí)行被測軟件的角度,軟件測試分為靜態(tài)分析和動態(tài)測試 按照功能劃分,動態(tài)測試又分為白盒測試和黑盒測試2、靜態(tài)測試 一般是指人工評審軟件文檔或程序,借以發(fā)現(xiàn)其中的錯 誤,由于被評審的文檔或程序不必運行,所以稱為靜態(tài)的。靜態(tài)測試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量等。3、動態(tài)測試 是指通過運行軟件來檢查軟件中的動態(tài)行為和運行結(jié)果 的正確性,也就是常說的上機測試。動態(tài)測試一般包括兩個基本要素:被測程序和測試數(shù)據(jù)4、測試
17、能否發(fā)現(xiàn)錯誤取決于測試用例的設(shè)計。 動態(tài)測試的設(shè)計測試用例的方法一般分為黑盒測試和白盒測試。 白盒測試也稱結(jié)構(gòu)測試,它與程序內(nèi)部結(jié)構(gòu)相關(guān),要利用程序結(jié) 構(gòu)的實現(xiàn)細(xì)節(jié)設(shè)計測試用例,它涉及程序風(fēng)格、控制方法、源程序、 數(shù)據(jù)庫設(shè)計和編碼細(xì)節(jié)。 黑盒測試是測試者已經(jīng)知道被測程序的功能,而對程序內(nèi)部的邏輯結(jié)構(gòu)和處理過程完全不用考慮,只是對它的每一個功能進(jìn)行測試,將測試后的結(jié)果與期望的結(jié)果進(jìn)行分析比較,檢查程序的功能是否 符合規(guī)格說明書的要求。黑盒測試是在程序接口進(jìn)行的測試5、測試用例 是由測試數(shù)據(jù)和期望結(jié)果組成。設(shè)計測試用例的目的就是用盡可能少的測試數(shù)據(jù),達(dá)到盡可能大的程序覆蓋面,發(fā)現(xiàn)盡可能多的軟件錯誤
18、和問題6、用白盒法設(shè)計測試用例常用以下幾種技術(shù): 語句覆蓋 判定覆蓋 條件覆蓋路徑覆蓋判定/條件覆蓋條件組合覆蓋7、用黑盒法設(shè)計測試用例常用以下幾種技術(shù): 等價類劃分法 邊界值分析法 因果圖法 錯誤推測法8、軟件測試的 實施 單元測試:是對每一個編制好的模塊進(jìn)行測試,其目的在于發(fā)現(xiàn)和排除各模塊內(nèi)部可能存在的差錯及詳細(xì)設(shè)計中產(chǎn)生的錯誤。進(jìn)行單元測試時,根據(jù)程序的內(nèi)部結(jié)構(gòu)設(shè)計測試用例,主要采用 白盒測試法集成測試。是在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計要求組裝成為系統(tǒng)而進(jìn)行的測試,它的任務(wù)是檢查模塊間的接口和通信、各子功能的組合能否達(dá)到預(yù)期要求的功能、全程數(shù)據(jù)結(jié)構(gòu)是否有問題等。集成測試主要發(fā)現(xiàn)設(shè)計階段產(chǎ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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年 二手房產(chǎn)買賣合同
- 2025年4個兄弟分家協(xié)議書模板
- 三年級上冊數(shù)學(xué)教案-8.1 分?jǐn)?shù)的初步認(rèn)識 ︳西師大版
- 2025年固始縣再就業(yè)小額擔(dān)保貸款協(xié)議
- 2025年廣東理工職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫及答案一套
- 2025年河南機電職業(yè)學(xué)院單招職業(yè)傾向性測試題庫必考題
- 2025云南省建筑安全員-C證考試題庫
- 健身中心鏈家居間服務(wù)合同
- 2025年度中小企業(yè)擔(dān)保合同解除協(xié)議書
- 2025年度文化創(chuàng)意產(chǎn)品采購合同甲方責(zé)任與市場推廣
- 2025造價咨詢工作計劃范本
- 關(guān)于谷愛凌的課件
- 2024-2030年中國ORC低溫余熱發(fā)電系統(tǒng)行業(yè)商業(yè)模式創(chuàng)新規(guī)劃分析報告
- 婦幼健康信息平臺共享數(shù)據(jù)集應(yīng)用規(guī)范第1部分孕產(chǎn)婦保健
- 《學(xué)寫文學(xué)短評》課件 高中語文統(tǒng)編版必修上冊
- 《中藥的性能》課件
- 大型商業(yè)綜合體消防安全管理規(guī)則培訓(xùn)
- GB/T 44569.1-2024土工合成材料內(nèi)部節(jié)點強度的測定第1部分:土工格室
- 2024年基金應(yīng)知應(yīng)會考試題庫
- 《傳承非遺手藝》 教案 2024-2025學(xué)年湘美版(2024)初中美術(shù)七年級上冊
- 2024年河北省公務(wù)員錄用考試《行測》試題及答案解析
評論
0/150
提交評論