


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程基礎部分知識點總結知識點一軟件工程的基本概念1、軟件定義 :是計算機系統中與硬件相互依存的另一部分,是包括程序、數據以及相關文檔 的完整集合。1)程序是軟件開發人員根據用戶需求開發的、用程序設計語言描述的、適合計算機執行的指令(語句)序列。2)數據是使程序能夠正常操作信息的數據結構。3)文檔是與程序開發、維護和使用有關的圖文資料。國標( GB)計算機軟件的定義:與計算機系統的操作相關的計算機程序、規程、規則以及可能有的文件、文檔及數據。2、軟件特點 :1)軟件是一種邏輯實體,而不是物理實體,具有抽象性,是計算機的無形部分;2)軟件的生產與硬件不同,它沒有明顯的制作過程;3)軟件在運行、
2、使用期間不存在磨損、老化問題;4)軟件的開發、運行對計算機系統具有依賴性,受計算機系統的限制,這導致了軟件移植的問題;5)軟件復雜性高,成本昂貴;6)軟件開發涉及諸多的社會因素3、軟件的分類 :按照功能可以分為:應用軟件、系統軟件、支撐軟件(或工具軟件)1)應用軟件是為解決特定領域的應用而開發的軟件。2)系統軟件是計算機管理自身資源,提高計算機使用效率并為計算機用戶提供各種服務的軟件。3)支撐軟件是介于系統軟件和應用軟件之間,協助用戶開發軟件的工具軟件。4、軟件危機 :是指在軟件的開發和維護過程中所遇到的一系列嚴重問題。 軟件危機主要體現在以下幾個方面: 軟件開發的實際成本和進度估計不準確 開
3、發出來的軟件常常不能使用戶滿意 軟件產品的質量不高,存在漏洞,需要經常打補丁 大量已有的軟件難以維護 軟件缺少有關的文檔資料 開發和維護成本不斷提高,直接威脅計算機應用的擴大 軟件生產技術進步緩慢,跟不上硬件的發展和人們需求增長5、軟件工程 :此概念的出現源自軟件危機。軟件工程是指應用計算機科學、數學及管理科學等原理, 以工程化的原則和方法來開發與維護軟件的學科。1)研究軟件工程的主要目的就是在規定的時間、規定的開發費用內開發出滿足用戶需求的高質量的軟件系統 (高質量是指錯誤率低、好用、易用、可移植、易維護等 )。2)軟件工程的三個要素:方法、工具和過程。方法:完成軟件工程項目的技術手段;工具
4、:支持軟件的開發、管理、文檔生成;過程:支持軟件開發的各個環節的控制、管理。3)軟件工程的核心思想:把軟件產品看作是一個工程產品來處理。知識點二軟件的生命周期1、軟件生命周期概念 :將軟件產品從提出、實現、使用維護到停止使用退役的過程稱為軟件生命周期。2、軟件生命周期一般劃分為定義、開發和維護 3 個階段:1)定義階段 :可行性研究、需求分析2 個階段;軟件定義階段:包括制定計劃和需求分析。制定計劃:確定總目標;可行性研究;探討解決方案;制定開發計劃。需求分析:對待開發軟件提出的需求進行分析并給出詳細的定義。方法: 1)結構化需求分析方法;2)面向對象的分析方法。任務:導出目標系統的邏輯模型,
5、解決“做什么”的問題。步驟:需求分析一般分為需求獲取、需求分析、編寫需求規格說明書和需求評審四個步驟進行。2)開發階段 :概要設計、詳細設計、編碼實現和測試4 個階段;軟件設計:分為概要設計和詳細設計兩個部分。軟件實現:把軟件設計轉換成計算機可以接受的程序代碼。軟件測試:在設計測試用例的基礎上檢驗軟件的各個組成部分。3)維護階段 :使用、維護、退役階段。軟件運行維護階段:軟件投入運行,并在使用中不斷地維護,進行必要的擴充和刪改。軟件生命周期中所花費最多的階段是軟件運維護階段。4)軟件工程原則 :抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。5)軟件工具 就是幫助開發軟件的軟
6、件。它們對提高軟件生產率,促進軟件生產的自動化都有重要的作用。6)軟件開發環境 (或稱軟件工程環境 )是全面支持軟件開發全過程的軟件工具的集合, 這些軟件工具按照一定的方法和模式組合起來,共同支持軟件生命周期內的各個階段和各項任務的完成。知識點三軟件設計基本概念1、軟件工程過程 : 問題定義可行性研究需求分析軟件設計軟件編碼軟件測試軟件維護2、軟件設計分為總體設計和詳細設計1)總體設計目的:要解決的問題是 “怎樣實現目標系統 ”任務:確定軟件的總體結構, 進行模塊劃分,確定每個模塊的功能、接口及模塊之間的調用關系, 并對全局數據結構進行設計, 同時產生概要設計說明書2)詳細設計目的:要解決的問
7、題是 “應該怎樣具體實現目標系統”任務:在概要設計的基礎上, 設計每個模塊實現的細節及對局部數據進行設計 (包括模塊的數據結構和所需的算法 ),同時產生詳細設計說明書3、軟件編碼目的:產生能在計算機上執行的程序任務:根據系統的要求和開發環境,選用合適的程序設計語言,把詳細設計的結果翻譯成用該程序設計語言編寫的程序代碼 (源程序 )4、軟件測試 是為了發現程序中的錯誤而執行程序的過程目的和任務:通過在計算機上執行程序來盡可能多地發現軟件產品中的錯誤和缺陷,并改正程序中的錯誤,以保證程序的可靠運行5、軟件維護階段 是長期的過程,因為, 經過測試的軟件還可能有錯,用戶的要求還會發生變化,軟件運行的環
8、境也可能變化等等。因此,交付使用的軟件仍然需要繼續排錯、修改和擴充,這就是軟件維護。軟件維護的 目的是滿足用戶對已開發產品的性能與運行環境不斷提高的需要,進而達到延長軟件的壽命軟件維護就是在軟件交付使用之后, 為了改正錯誤或滿足新的需要而修改軟件的過程。軟件維護的 類型有如下幾種:1)改正性維護:診斷和改進錯誤的過程。2)適應性維護:為與變化的環境適當配合而進行的修改軟件的活動。3)完善性維護:為了滿足用戶提出的增加新功能或修改已有功能的建議而進行維護。4)預防性維護:為了改進未來的可維護性和可靠性。軟件開發時期要完成設計和實現兩大任務,其中設計任務用需求分析和軟件設計兩個階段完成,實現任務用
9、編碼和測試兩個階段完成。開發任務完成的好與壞, 關系到軟件產品的質量, 完成開發任務的關鍵是選擇好的軟件開發方法。目前,軟件開發方法主要有結構化開發方法和面向對象開發方法知識點 4 軟件設計的基本原理軟件設計的基本原理包括:抽象、模塊化、信息隱蔽和模塊獨立性。1、模塊化: 指解決問題時自頂向下的方法逐層把軟件系統劃分成若干個模塊的過程2、抽象:認識復雜過程中使用的思維工具,即抽出事務的本質的共同的特性而暫不考慮它的細節和其他因素。3、信息隱蔽: 旨在設計和確定模塊式的時候,是的一個模塊內包含的信息,對于不需要這些信息的其他模塊來說不可訪問4、模塊獨立性: 指每個模塊只完成系統要求的獨立的功能,
10、并且與其他模塊聯系最少且接口簡單模塊的耦合性和內聚性是衡量軟件的模塊獨立性的兩個定性指標。1)內聚性:是對模塊功能強度的度量,即對一個模塊內部各個元素(語句之間、程序段)間彼此結合的緊密程度的度量。2)耦合性:是模塊間互相連接的緊密程度的度量。模塊之間聯系越緊密,其耦合性就越強,模塊的獨立性則越差。一個設計良好的軟件系統應具有高內聚、低耦合 的特征。在結構化程序設計中, 模塊劃分的原則是: 模塊內具有高內聚度, 模塊間具有低耦合度。軟件設計有兩個步驟:( 1)概要設計(又稱結構設計)是將軟件需求轉化為軟件體系結構、確定系統級接口、全局數據結構或數據庫模式;( 2)詳細設計是確定每個模塊的實現算
11、法和局部數據結構,通過對結構表示進行細化,得到軟件的詳細數據結構和算法。知識點 5 結構化分析方法結構化方法的軟件開發過程軟件計劃后編碼并測試結構化分析結構化設計結構化程序設計面向對象方法的軟件開發過程軟件計劃后軟件測試面向對象分面向對象設計面向對象編程析1、結構化分析 ( 簡稱 SA)方法是面向數據流進行需求分析的方法。2、結構化分析方法的 常用工具 :數據流圖、數據字典、結構化語言、判定樹、判定表3、SA的基本步驟 如下: 自頂向下對系統進行功能分解,畫出分層的數據流圖 由后向前定義系統的數據和加工,編制數據字典和加工說明 寫出需求規格說明書 (SRS)4、數據流圖 是以圖形的方式描繪數據
12、在軟件系統中流動和處理的過程,由于它只反映系統必須完成的邏輯功能, 所以它是一種功能模型。數據流圖由數據流、加工 ( 又稱數據處理 ) 、數據存儲 ( 又稱文件 ) 、數據源點或終點四種基本成分組成。數據流圖 ( 簡稱 DFD)圖形元素: 數據流:是數據在系統內傳播的路徑。 使用箭頭代表數據的流向,數據名稱標在箭頭的邊上 加工:輸入數據經過加工變換產生輸出。使用圓框代表加工 數據存儲: 指處理過程中存放各種數據。使用雙杠 ( 或單杠 ) 表示數據文件或數據庫。文件與加工之間用箭頭線連接,單向表示只讀或只寫,雙向表示可讀可寫 數據源點或終點 :指軟件系統外部環境中的實體( 包括人員、組織或其他軟
13、件系統, 統稱為外部實體 ) 。使用方框表示數據的源點和終點5、建立數據流圖的步驟:第一步:由外向里:先畫系統的輸入輸出,然后畫系統的內部。第二步:自頂向下:順序完成頂層、中間層、底層數據流圖。第三步:逐層分解。6、DFD圖的數據流可分為兩種類型:變換流和事務流變換流:信息沿著輸入通路進入系統,同時將信息的外部形式轉換成內部形式,通過變換中心處理之后,再沿著輸出通路轉換成外部形式輸出事務流:信息沿著輸入通路到達一個事務中心,事務中心根據輸入信息的類型在若干個動作序列中選擇一個來執行,這種信息流稱為事務流7、數據字典 就是用來定義數據流圖中的各個成分的具體含義和詳細的描述。它和數據流圖共同構成了
14、系統的邏輯模型, 是需求規格說明書的主要組成部分。是結構化分析方法的核心。 數據字典是為分析人員查找數據流圖中有關名字的詳細定義而服務的。數據字典有四類條目:數據流、數據項、數據存儲和基本加工。8、SD方法的中心任務 就是把用 DFD圖表示的系統分析模型方便地轉換為軟件結構的設計模型。識點 6 軟件測試的目的和準則1、軟件測試是保證軟件質量的重要手段,其主要過程涵蓋了整個軟件生命周期的過程, 包括需求定義階段的需求測試、 編碼階段的單元測試、集成測試以及后期的確認測試、 系統測試、驗證軟件是否合格、能否交付給用戶使用。 軟件測試就是使用人工或自動手段來運行或測定某個系統的過程, 其目的在于檢驗
15、它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別。2、軟件測試的 原則:1) 所有測試都應追溯到需求2) 嚴格執行測試計劃,排除測試的隨意性3) 避免由軟件開發人員測試自己的程序4) 充分注意測試中的群集性現象5) 除了很小的程序外,“徹底”的窮舉測試是不可能的6) 妥善保存測試計劃、測試用例、出錯統計和最終的分析報告,為維護提供方便軟件測試的每一次測試都需要準備好一些測試數據,與被測程序一起輸入到計算機中執行;知識點 7 軟件測試的方法和實施1、測試是對軟件規格說明、設計和編碼的最后的復審,所以軟件測試貫穿在整個軟件開發期的全過程。對于軟件測試方法和技術,可以從不同的角度加以分類。從
16、是否需要執行被測軟件的角度,軟件測試分為靜態分析和動態測試按照功能劃分,動態測試又分為白盒測試和黑盒測試2、靜態測試 一般是指人工評審軟件文檔或程序,借以發現其中的錯誤,由于被評審的文檔或程序不必運行,所以稱為靜態的。靜態測試包括代碼檢查、靜態結構分析、代碼質量度量等。3、動態測試 是指通過運行軟件來檢查軟件中的動態行為和運行結果的正確性,也就是常說的上機測試。動態測試一般包括兩個基本要素:被測程序和測試數據4、測試能否發現錯誤取決于測試用例的設計。動態測試的設計測試用例的方法一般分為黑盒測試和白盒測試。白盒測試也稱結構測試, 它與程序內部結構相關, 要利用程序結構的實現細節設計測試用例,它涉
17、及程序風格、控制方法、源程序、數據庫設計和編碼細節。黑盒測試是測試者已經知道被測程序的功能,而對程序內部的邏輯結構和處理過程完全不用考慮,只是對它的每一個功能進行測試,將測試后的結果與期望的結果進行分析比較,檢查程序的功能是否符合規格說明書的要求。黑盒測試是在程序接口進行的測試5、測試用例 是由測試數據和期望結果組成。設計測試用例的目的就是用盡可能少的測試數據, 達到盡可能大的程序覆蓋面, 發現盡可能多的軟件錯誤和問題6、用白盒法設計測試用例常用以下幾種技術: 語句覆蓋 判定覆蓋 條件覆蓋 判定條件覆蓋 條件組合覆蓋 路徑覆蓋7、用黑盒法設計測試用例常用以下幾種技術: 等價類劃分法 邊界值分析
18、法 錯誤推測法 因果圖法8、軟件測試的 實施 單元測試:是對每一個編制好的模塊進行測試, 其目的在于發現和排除各模塊內部可能存在的差錯及詳細設計中產生的錯誤。進行單元測試時,根據程序的內部結構設計測試用例,主要采用白盒測試法集成測試。是在單元測試的基礎上,將所有模塊按照設計要求組裝成為系統而進行的測試,它的任務是檢查模塊間的接口和通信、各子功能的組合能否達到預期要求的功能、全程數據結構是否有問題等。集成測試主要發現設計階段產生的錯誤,通常采用黑盒測試法。集成測試時,將各個模塊組裝成系統的方法有:非增量組裝方式是先分別對每個模塊進行單元測試,再把所有模塊按設計要求組裝在一起進行測試,最終得到所要求的軟件增量組裝方式是把下一個要測試的模塊同已經測試好的那些模塊結合起來進行測試,測試完以后再把下一個應該測試的模塊結合進來測試 確認測試。確認測試是在集成測試通過后,在用戶的參與下進行確認測試。這時通常使用實際數據進行測試,以驗證系統是否能滿足用戶的實際需要。它的任務就是以需求規格說明書作為依據來驗證軟件的性能、功能及其他特征是否與用戶的要求一致,通常采用黑盒測試 系統測試。系統測試是在更大范圍內進行的測試。系統測試是把通過確認測試
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CHTS 10130-2024高韌超薄瀝青磨耗層技術指南
- T/CHINABICYCLE 19-2023可持續時尚企業指南自行車與電動自行車
- T/CHES 65-2022生態護坡預制混凝土裝配式護岸技術規程
- T/CFDCC 0203-2018實木定制家居產品
- T/CECS 10340-2023超高性能減水劑
- T/CCMA 0086-2020塔式起重機起升鋼絲繩
- T/CCAS 028-2023水泥行業數字化智能礦山建設規范
- T/CCAAS 001-2019新時代企業文化績效測評標準
- T/CASMES 146-2023公共防疫保障服務規范
- T/CAQI 87-2019洗碗機保管功能技術要求及評價方法
- 【高考真題(含答案)】安徽省新高考2024年化學試卷(含答案)
- 頂層鋼結構合同
- 中國硬筆書法等級考試試卷(三級)
- 2025年江蘇省啟東市文化廣電和旅游局招聘編外1人歷年高頻重點提升(共500題)附帶答案詳解
- 《普通生物學》課程期末考試復習題庫及答案
- dlt-5161-2018電氣裝置安裝工程質量檢驗及評定規程
- 用戶生命周期管理策略-洞察分析
- 第三屆中國長三角地區融資擔保職業技能競賽選拔賽試題庫500題(含答案)
- 2025屆安徽省A10聯盟高三第二次調研數學試卷含解析
- 項目管理與工程經濟決策知到智慧樹章節測試課后答案2024年秋哈爾濱工程大學
- 【MOOC】生命的教育-浙江大學 中國大學慕課MOOC答案
評論
0/150
提交評論