




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程基礎知識點整理20124192014 李杰 12植科一. 軟件工程基本概念:1.軟件定義:是計算機系統中與硬件相互依存的另一部分,是包括程序、數據以及相關文檔的完整集合。(1)程序是軟件開發人員根據用戶需求開發的、用程序設計語言描述的、適合計算機執行的指令(語句)序列。(2)數據是使程序能夠正常操作信息的數據結構。(3)文檔是與程序開發、維護和使用有關的圖文資料。注:國標(GB)計算機軟件的定義:與計算機系統的操作相關的計算機程序、規程、規則以及可能有的文件、文檔及數據。2軟件特點:(1)軟件是一種邏輯實體,而不是物理實體,具有抽象性,是計算機的無形部分;(2)軟件的生產與硬件不同,它
2、沒有明顯的制作過程;(3)軟件在運行、使用期間不存在磨損、老化問題;(4)軟件的開發、運行對計算機系統具有依賴性,受計算機系統的限制,這導致了軟件移植的問題;(5)軟件復雜性高,成本昂貴;(6)軟件開發涉及諸多的社會因素3.軟件分類:按照功能可以分為:應用軟件、系統軟件、支撐軟件(或工具軟件)(1)應用軟件是為解決特定領域的應用而開發的軟件。如:教務管理系統、財務管理系統等。(2)系統軟件是計算機管理自身資源,提高計算機使用效率并為計算機用戶提供各種服務的軟件。如:操作系統、數據庫管理系統等。(3)支撐軟件是介于系統軟件和應用軟件之間,協助用戶開發軟件的工具軟件。比如:編碼工具軟件、測試工具軟
3、件。4.軟件危機:軟件危機是指在軟件的開發和維護過程中所遇到的一系列嚴重問題。 軟件危機主要體現在以下幾個方面: 軟件開發的實際成本和進度估計不準確 開發出來的軟件常常不能使用戶滿意 軟件產品的質量不高,存在漏洞,需要經常打補丁 大量已有的軟件難以維護 軟件缺少有關的文檔資料 開發和維護成本不斷提高,直接威脅計算機應用的擴大 軟件生產技術進步緩慢,跟不上硬件的發展和人們需求增長5.軟件工程的定義和目的:(1)定義:軟件工程是指應用計算機科學、數學及管理科學等原理,以工程化的原則和方法來開發與維護軟件的學科。(2)目的:研究軟件工程的主要目的就是在規定的時間、規定的開發費用內開發出滿足用戶需求的
4、高質量的軟件系統(高質量是指錯誤率低、好用、易用、可移植、易維護等)。(3)軟件工程的三個要素:方法、工具和過程。方法:完成軟件工程項目的技術手段;工具:支持軟件的開發、管理、文檔生成;過程:支持軟件開發的各個環節的控制、管理。(4)核心思想:把軟件產品看作是一個工程產品來處理。二.軟件工程概述:1.軟件生命周期:(1)定義:將軟件產品從提出、實現、使用維護到停止使用退役的過程稱為軟件生命周期。(2)軟件生命周期一般劃分為定義、開發和維護3個階段:定義階段:可行性研究、需求分析2個階段;開發階段:概要設計、詳細設計、編碼實現和測試4個階段;維護階段:使用、維護、退役階段。 詳解:a. 軟件定義
5、階段:包括制定計劃和需求分析。制定計劃:確定總目標;可行性研究;探討解決方案;制定開發計劃。需求分析:對待開發軟件提出的需求進行分析并給出詳細的定義。需求分析方法有:1)結構化需求分析方法;2)面向對象的分析方法。需求分析的任務就是導出目標系統的邏輯模型,解決“做什么”的問題。需求分析一般分為需求獲取、需求分析、編寫需求規格說明書和需求評審四個步驟進行。b. 軟件開發階段:軟件設計:分為概要設計和詳細設計兩個部分。軟件實現:把軟件設計轉換成計算機可以接受的程序代碼。軟件測試:在設計測試用例的基礎上檢驗軟件的各個組成部分。c. 軟件運行維護階段:軟件投入運行,并在使用中不斷地維護,進行必要的擴充
6、和刪改。注:軟件生命周期中所花費最多的階段是軟件運行維護階段。2.軟件工程原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。3.軟件工具與軟件開發環境:(1)軟件工具就是幫助開發軟件的軟件。它們對提高軟件生產率,促進軟件生產的自動化都有重要的作用。 (2)軟件開發環境(或稱軟件工程環境)是全面支持軟件開發全過程的軟件工具的集合,這些軟件工具按照一定的方法和模式組合起來,共同支持軟件生命周期內的各個階段和各項任務的完成。 三.軟件設計基本概念:軟件工程過程軟件設計 目的:確定軟件的總體結構、數據結構、用戶界面和算法細節 任務:將需求階段產生的軟件需求說明轉換為用適當手段表示
7、的軟件設計文檔軟件設計分為總體設計和詳細設計 四軟件設計的基本原理:1總體設計 目的:要解決的問題是“怎樣實現目標系統” 任務:確定軟件的總體結構,進行模塊劃分,確定每個模塊的功能、接口及模塊之間的調用關系,并對全局數據結構進行設計,同時產生概要設計說明書 2詳細設計 目的:要解決的問題是“應該怎樣具體實現目標系統” 任務:在概要設計的基礎上,設計每個模塊實現的細節及對局部數據進行設計(包括模塊的數據結構和所需的算法),同時產生詳細設計說明書3軟件編碼 目的:產生能在計算機上執行的程序任務:根據系統的要求和開發環境,選用合適的程序設計語言,把詳細設計的結果翻譯成用該程序設計語言編寫的程序代碼(
8、源程序)4軟件測試軟件測試是為了發現程序中的錯誤而執行程序的過程目的和任務:通過在計算機上執行程序來盡可能多地發現軟件產品中的錯誤和缺陷,并改正程序中的錯誤,以保證程序的可靠運行。5軟件維護 軟件維護階段是長期的過程,因為,經過測試的軟件還可能有錯,用戶的要求還會發生變化,軟件運行的環境也可能變化等等。因此,交付使用的軟件仍然需要繼續排錯、修改和擴充,這就是軟件維護。注:(1)軟件維護的目的是滿足用戶對已開發產品的性能與運行環境不斷提高的需要,進而達到延長軟件的壽命 。軟件維護就是在軟件交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程。(2)軟件維護的類型有如下幾種:1)改正性維護:診
9、斷和改進錯誤的過程(。2)適應性維護:為與變化的環境適當地配合而進行的修改軟件的活動。3)完善性維護:為了滿足用戶提出的增加新功能或修改已有功能的建議而進行維護。4)預防性維護:為了改進未來的可維護性和可靠性。 軟件開發時期要完成設計和實現兩大任務,其中設計任務用需求分析和軟件設計兩個階段完成,實現任務用編碼和測試兩個階段完成。開發任務完成的好與壞,關系到軟件產品的質量,完成開發任務的關鍵是選擇好的軟件開發方法。目前,軟件開發方法主要有結構化開發方法和面向對象開發方法。 五結構化分析方法1結構化分析(簡稱SA)方法是面向數據流進行需求分析的方法。該方法使用簡單易讀的符號,運用抽象的概念模型,根
10、據軟件內部數據傳遞、變換的關系,自頂向下逐層分解,描繪出滿足功能要求的軟件模型 2結構化分析方法的常用工具:數據流圖、數據字典、結構化語言、判定樹、判定表3SA的基本步驟如下: 自頂向下對系統進行功能分解,畫出分層的數據流圖 由后向前定義系統的數據和加工,編制數據字典和加工說明 寫出需求規格說明書(SRS) 4數據流圖(1)數據流圖是以圖形的方式描繪數據在軟件系統中流動和處理的過程,由于它只反映系統必須完成的邏輯功能,所以它是一種功能模型。(2)數據流圖由數據流、加工(又稱數據處理)、數據存儲(又稱文件)、數據源點或終點四種基本成分組成。(3)數據流圖(簡稱DFD)圖形元素: 數據流:是數據在
11、系統內傳播的路徑。使用箭頭代表數據的流向,數據名稱標在箭頭的邊上 加工:輸入數據經過加工變換產生輸出。使用圓框代表加工 數據存儲:指處理過程中存放各種數據。使用雙杠(或單杠)表示數據文件或數據庫。文件與加工之間用箭頭線連接,單向表示只讀或只寫,雙向表示可讀可寫 數據源點或終點:指軟件系統外部環境中的實體(包括人員、組織或其他軟件系統,統稱為外部實體)。使用方框表示數據的源點和終點(4)建立數據流圖的步驟第一步:由外向里:先畫系統的輸入輸出,然后畫系統的內部。第二步:自頂向下:順序完成頂層、中間層、底層數據流圖。第三步:逐層分解。5DFD圖的數據流可分為兩種類型:變換流和事務流(1)變換流:信息
12、沿著輸入通路進入系統,同時將信息的外部形式轉換成內部形式,通過變換中心處理之后,再沿著輸出通路轉換成外部形式輸出(2)事務流:信息沿著輸入通路到達一個事務中心,事務中心根據輸入信息的類型在若干個動作序列中選擇一個來執行,這種信息流稱為事務流 6數據字典數據字典就是用來定義數據流圖中的各個成分的具體含義和詳細的描述。它和數據流圖共同構成了系統的邏輯模型,是需求規格說明書的主要組成部分。是結構化分析方法的核心。 數據字典是為分析人員查找數據流圖中有關名字的詳細定義而服務的。數據字典有四類條目:數據流、數據項、數據存儲和基本加工。7判定表舉例(1)年交易額在5萬或5萬以下,則不給予折扣;(2)對于年
13、交易額在5萬以上時: 如果無欠款,則給予15%的折扣; 如果有欠款,而且與本公司的交易關系在20年以上,則折扣為10%; 如果有欠款,而且與本公司交易關系在20年以下,則折扣為5%。8軟件需求規格說明書:是需求分析階段的最后成果,是軟件開發中的重要文檔之一。作用:1)作為用和開發人員之間的合同;2)作為開發人員進行設計和編程的根據;3)作為軟件開發完成后驗收的依據9結構化設計方法(簡稱SD)是實現軟件概要設計的關鍵技術之一, SD方法是一種面向數據流的設計方法,它與SA方法銜接。SD方法的中心任務就是把用DFD圖表示的系統分析模型方便地轉換為軟件結構的設計模型。SD方法采用結構圖(簡稱SC)來
14、描述程序的結構。結構圖的基本成分有模塊、調用和數據。10軟件設計的基本原理包括:抽象、模塊化、信息隱蔽和模塊獨立性。1)抽象。抽象是一種思維工具,就是把事物本質的共同特性提取出來而不考慮其他細節。2)模塊化。解決一個復雜問題時自頂向下逐步把軟件系統劃分成一個個較小的、相對獨立但又不相互關聯的模塊的過程。注:模塊是在程序中數據說明、可執行語句等程序對象的集合。3)信息隱蔽。每個模塊的實施細節對于其他模塊來說是隱蔽的。4)模塊獨立性。軟件系統中每個模塊只涉及軟件要求的具體的子功能,而和軟件系統中其他的模塊的接口是簡單的模塊的耦合性和內聚性是衡量軟件的模塊獨立性的兩個定性指標。a.內聚性:是對模塊功
15、能強度的度量,即對一個模塊內部各個元素(語句之間、程序段)間彼此結合的緊密程度的度量。b.耦合性:是模塊間互相連接的緊密程度的度量。模塊之間聯系越緊密,其耦合性就越強,模塊的獨立性則越差。注:一個設計良好的軟件系統應具有高內聚、低耦合的特征。在結構化程序設計中,模塊劃分的原則是:模塊內具有高內聚度,模塊間具有低耦合度。 軟件設計有兩個步驟:概要設計(總體設計)和詳細設計(過程設計)。(1)概要設計(又稱結構設計)是將軟件需求轉化為軟件體系結構、確定系統級接口、全局數據結構或數據庫模式;(2)詳細設計是確定每個模塊的實現算法和局部數據結構,通過對結構表示進行細化,得到軟件的詳細數據結構和算法。1
16、1軟件概要設計的基本任務是:1)設計軟件系統結構;2)數據結構及數據庫設計;3)編寫概要設計文檔;4)概要設計文檔評審。 概要設計的圖形工具:層次圖、HIPO圖和結構圖 12結構圖是常用的軟件結構設計工具,相關術語如下:1深度:表示控制的層數。2上級模塊、從屬模塊:上、下兩層模塊a和b,且有a調用b,則a是上級模塊,b是從屬模塊。3寬度:整體控制跨度(最大模塊數的層)的表示。4扇入:調用一個給定模塊的模塊個數。5扇出:一個模塊直接調用的其他模塊數。6原子模塊:樹中位于葉子結點的模塊。 13詳細設計的常用工具:1.程序流程圖(程序框圖)2.N-S圖,也稱盒圖3.PAD問題分析圖4、PDL過程設計
17、語言六了里軟件測試的目的和準則1軟件測試就是保證軟件質量的重要手段,其主要過程涵蓋了整個軟件生命周期的過程,包括需求定義階段的需求測試、編碼階段的單元測試、集成測試以及后期的確認測試、系統測試、驗證軟件是否合格、能否交付給用戶使用。軟件測試就是使用人工或自動手段來運行或測定某個系統的過程,其目的在于檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別。2軟件測試的原則:1)所有測試都應追溯到需求2)嚴格執行測試計劃,排除測試的隨意性3)避免由軟件開發人員測試自己的程序,充分注意測試中的群集性現象4)除了很小的程序外,“徹底”的窮舉測試是不可能的5)妥善保存測試計劃、測試用例、出錯統計和
18、最終的分析報告,為維護提供方便軟件測試的每一次測試都需要準備好一些測試數據,與被測程序一起輸入到計算機中執行;一般把程序執行一次需要的一組測試數據和該組測試數據可以得出怎樣的輸出結果(期望結果)稱為一個“測試用例”,每一個測試用例產生一個相應的“測試結果”,如果它與“期望結果”不相符合,說明程序中存在錯誤,需要改正錯誤。 測試是對軟件規格說明、設計和編碼的最后的復審,所以軟件測試貫穿在整個軟件開發期的全過程。七軟件測試的方法和實施對于軟件測試方法和技術,可以從不同的角度加以分類。從是否需要執行被測軟件的角度,軟件測試分為靜態分析和動態測試按照功能劃分,動態測試又分為白盒測試和黑盒測試 靜態測試
19、一般是指人工評審軟件文檔或程序,借以發現其中的錯誤,由于被評審的文檔或程序不必運行,所以稱為靜態的。靜態測試包括代碼檢查、靜態結構分析、代碼質量度量等。動態測試是指通過運行軟件來檢查軟件中的動態行為和運行結果的正確性,也就是常說的上機測試。動態測試一般包括兩個基本要素:被測程序和測試數據測試能否發現錯誤取決于測試用例的設計。動態測試的設計測試用例的方法一般分為黑盒測試和白盒測試。白盒測試也稱結構測試,它與程序內部結構相關,要利用程序結構的實現細節設計測試用例,它涉及程序風格、控制方法、源程序、數據庫設計和編碼細節。黑盒測試 是測試者已經知道被測程序的功能,而對程序內部的邏輯結構和處理過程完全不
20、用考慮,只是對它的每一個功能進行測試,將測試后的結果與期望的結果進行分析比較,檢查程序的功能是否符合規格說明書的要求。黑盒測試是在程序接口進行的測試測試用例設計 測試用例是由測試數據和期望結果組成。設計測試用例的目的就是用盡可能少的測試數據,達到盡可能大的程序覆蓋面,發現盡可能多的軟件錯誤和問題 用白盒法設計測試用例常用以下幾種技術: 語句覆蓋 判定覆蓋 條件覆蓋 判定條件覆蓋 條件組合覆蓋 路徑覆蓋用黑盒法設計測試用例常用以下幾種技術: 等價類劃分法 邊界值分析法 錯誤推測法 因果圖法 軟件測試的實施 單元測試:是對每一個編制好的模塊進行測試,其目的在于發現和排除各模塊內部可能存在的差錯及詳細設計中產生的錯誤。進行單元測試時,根據程序的內部結構設計測試用例,主要采用白盒測試法軟件測試的實施 集成測試。是在單元測試的基礎上,將所有模塊按照設計要求組裝成為系
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年部編版二年級上冊語文分層教學計劃
- 半導體廠重要環境因素控制措施
- 機場跑道施工進度計劃和進度保證措施
- 四年級健康與安全教育方案計劃
- 2024-2025學年度網絡安全保護計劃
- 2025年小學五年級科學教學信息化發展計劃
- 小學科學教研計劃課外拓展
- 口腔診所前臺接待話術及工作流程
- 五年級下冊體育課程安全保障計劃
- 以建模教學為翼展數學應用之翅:探索數學教育新路徑
- 【課件超聲】常見的超聲效應與圖象偽差
- 2023高中學業水平合格性考試歷史重點知識點歸納總結(復習必背)
- 外墻保溫、真石漆工程施工方案
- 自然指數NatureIndex(NI)收錄的68種自然科學類期刊
- 建立良好的同伴關系-課件-高二心理健康
- 老年人健康管理隨訪表
- 高一物理競賽試題和答案
- 物理學與現代高科技課件
- 一畝茶園認養合同
- 2022年鎮海中學提前招生模擬卷科學試卷
- 變電站新建工程土方開挖專項施工方案
評論
0/150
提交評論