3 軟體工程基礎

2022-12-29 05:03:04 字數 3389 閱讀 7628

1.通常,將軟體產品從提出、實現、使用維護到停止使用退役的過程稱為軟體生命週期。也就是說,軟體產品從考慮其概念開始,到該軟體產品不能使用為止的整個時期都屬於軟體生命週期。

軟體生命週期的主要活動階段為:

①可行性研究和計畫制定。確定待開發軟體系統的開發目標和總的要求,給出它的功能、效能、可靠性以及介面等方面的可能方案,制定完成開發任務的實施計畫。

②需求分析。對待開發軟體提出的需求進行分析並給出詳細定義,即準確地確定軟體系統的功能。編寫軟體規格說明書及初步的使用者手冊,提交評審。

③軟體設計。系統設計人員和程式設計人員應該在反覆理解軟體需求的基礎上,給出軟體的結構、模組的劃分、功能的分配以及處理流程。

④軟體實現。把軟體設計轉換成計算機可以接受的程式**。即完成源程式的編碼,編寫使用者手冊、操作手冊等面向使用者的文件,編寫單元測試計畫。

⑤軟體測試。在設計測試用例的基礎上,檢驗軟體的各個組成部分。編寫測試分析報告。

⑥執行和維護。將已交付的軟體投入執行,並在執行使用中不斷地維護,根據新提出的需求進行必要而且可能的擴充和刪改。

2.模組之間的耦合程度反映了模組的獨立性,也反映了系統分解後的複雜程度。按照耦合程度從強到弱分別是:

內容耦合、公共耦合、外部耦合、控制耦合、標記耦合、資料耦合和非直接耦合,沒有異構耦合這種方式。

3.使用人工或自動手段來執行或測定某個系統的過程,目的在於檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別。軟體測試是為了發現錯誤而執行程式的過程。

測試以查詢錯誤為目的,而不是為了演示軟體的正確功能。

4.在結構化程式設計中,一般較優秀的軟體設計盡量做到高內聚、低耦合,這樣有利於提高軟體模組的獨立性,也是模組劃分的原則。

5.因為測試的目的在於發現錯誤,從心理學角度講,由程式的編寫者自己進行測試是不合適的,為了達到最好的測試效果,應該由獨立的第三方進行測試工作,所以選項a)錯誤;程式除錯,修改乙個錯誤的同時可能引入了新的錯誤,解決的辦法是在修改了錯誤之後,必須進行回歸測試,所以選項b)錯誤;所謂軟體維護,就是在軟體已經交付使用之後,為了改正錯誤或滿足新的需要而修改軟體的過程,可見選項c)也是錯誤的。

6.軟體需求規格說明書(softwarerequirementspecification,srs)是需求分析階段的最後成果,是軟體開發中的重要文件之一。它具有以下幾個方面的作用:

①便於使用者、開發人員進行理解和交流;②反映出使用者問題的結構,可以作為軟體開發工作的基礎和依據;③作為確認測試和驗收的依據。

7.軟體開發階段包括需求分析、總體設計、詳細設計、編碼和測試五個階段。其中需求分析階段常用的工具是資料流圖和資料字典。

8.確認測試的任務是驗證軟體的功能和效能,以及其他特性是否滿足需求規格說明中確定的各種需求;整合測試的主要目的是發現與介面有關的錯誤。

9.維護是軟體生命週期的最後乙個階段,也是持續時間最長、付出代價最大的階段,軟體工程學的乙個目的就是提高軟體的可維護性,降低維護的代價。在軟體交付使用後,還需要進行維護。

軟體維護通常有以下四類:為糾正使用**現的錯誤而進行的改正性維護;為適應環境變化而進行的適應性維護;為改進原有軟體而進行的完善性維護;為將來的可維護和可靠而進行的預防性維護。軟體維護不僅包括程式**的維護,還包括文件的維護。

10.利用資訊隱蔽,可以確保每乙個模組的獨立性。

11.常見的需求分析方法有:結構化分析方法和物件導向的分析方法。

結構化分析就是使用資料流圖(dfd)、資料字典(dd)、結構化英語、判定表和判定樹等工具,來建立一種新的、稱為結構化規格說明的目標文件。

12.模組的獨立程式是評價設計好壞的重要度量標準。衡量軟體的模組獨立性使用耦合性和內聚性兩個定性的度量標準。一般較優秀的軟體設計,應盡量做到高內聚,低耦合。

13.軟體工程學是研究軟體開發和維護的普遍原理與技術的一門工程學科。所謂軟體工程是指,採用工程的概念、原理、技術和方法指導軟體的開發與維護。

軟體工程學的主要研究物件包括軟體開發與維護的技術、方法、工具和管理等方面。

14.需求分析是軟體定義時期的最後乙個階段,它的基本任務就是詳細調查現實世界要處理的物件(組織、部門、企業等),充分了解原系統的工作概況,明確使用者的各種需求,然後在此基礎上確定新系統的功能。

圖是由nassi和shneiderman提出的一種符合程式化結構設計原則的圖形描述工具。它的提出是為了改進流程圖在描述程式邏輯時的不靈活性。、

16.軟體生命週期由軟體定義、軟體開發和軟體維護三個時期組成。軟體開發時期是具體設計和實現在前一時期定義的軟體,它通常由下面五個階段組成:

概要設計、詳細設計、編寫**、組裝測試和確認測試。

17.軟體設計包括軟體結構設計、資料設計、介面設計和過程設計。其中,結構設計是定義軟體系統各主要部件之間的關係;資料設計是將分析時建立的模型轉化為資料結構的定義;介面設計是描述軟體內部、軟體和作業系統之間及軟體與人之間如何通訊;過程設計則是把系統結構部件轉換成軟體的過程性描述。

18.程式流程圖是人們對解決問題的方法、思路或演算法的一種圖形方式的描述。其中,圖框表示各種操作的型別,圖框中的文字和符號表示操作的內容;流程線表示操作的先後次序。

帶箭頭的線段在資料流程圖中表示資料流;帶箭頭的線段在程式流程圖中表示控制流。題中給出的選項中,在圖元之間用帶有箭頭的線段表示圖元關係。在模組之間用帶有箭頭的線段表示呼叫關係

19.軟體測試過程中,輔助資源包括測試用例(測試資料)、測試計畫、出錯統計和最終分析報告等。

20.除錯與測試是兩個不同的過程,有著根本的區別:除錯是乙個隨機的、不可重複的過程,它用於隔離和確認問題發生的原因,然後修改軟體來糾正問題;測試是乙個有計畫的、可以重複的過程,它的目的是為了發現軟體中的問題。

因此,軟體除錯的目的是為了改正軟體中的錯誤。

21.總體設計過程通常由兩個主要階段組成:系統設計,確定系統的具體實現方案;結構設計,確定軟體結構。

為確定軟體結構,首先需要從實現角度把複雜的功能進一步分解。分析員結合演算法描述仔細分析資料流圖中的每個處理,如果乙個處理的功能過分複雜,必須把它的功能適當地分解成一系列比較簡單的功能。

22.資料流圖dfd是結構化分析方法最主要的一種圖形工具,不屬於過程設計工具

23.軟體設計遵循軟體工程的基本目標和原則,建立了適用於在軟體設計中應該遵循的基本原理和與軟體設計有關的概念,它們具有抽象、模組化、資訊隱蔽和資料獨立性。自底向上是整合測試中增量測試的一種。

24.資料流圖中的主要圖形元素有加工、資料流、儲存檔案、源和潭。

25.軟體是計算機系統中與硬體相互依存的另一部分,它包括程式、相關資料及其說明文件的總和。

26.系統設計的質量主要反映在模組的獨立性上。評價模組獨立性的主要標準有兩個:

一是模組之間的耦合,它表明兩個模組之間互相獨立的程度;二是模組內部之間的關係是否緊密,稱為內聚。一般來說,要求模組之間的耦合盡可能地弱,即模組盡可能獨立,而要求模組的內聚程度盡量地高。

27.軟體工程包括3個要素,即方法、工具和過程。

28.軟體工程概念的出現源自於軟體危機。為了消除軟體危機,通過認真研究解決軟體危機的方法,認識到軟體工程是使計算機軟體走向工程科學的途徑,逐步形成了軟體工程的概念。

1 3軟體工程基礎

計算機軟體 software 是計算機系統中與硬體相互依存的另一部分,是包括程式 資料及相關文件的完整集合。國標 gb 中對計算機軟體的定義為 與計算機系統的有關的電腦程式 規程 規則,以及可能有的檔案 文件及資料。一軟體是程式 資料和文件的集合。103 4 軟體是 4 資料和文件的集合。25.1....

軟體工程基礎知識

課程2 軟體工程基礎知識 91過軟考教育學院 class txt 小馬老師qq 858301448 tel 180 2013年1月2013年上半年資訊系統專案管理師軟體需求定義必須掌握。p15 3種需求 功能 非功能 設計約束,要會判斷和區分。需求工程,包含需求開發和需求管理p16 需求開發 需求捕...

軟體工程基礎知識

2.4.1 主要知識點 軟體工程是計算機軟體的乙個重要分支,主要應掌握軟體工程的基本原理以及軟體設計與測試方法。2.4.1.1軟體生存週期各階段的任務 軟體生存週期指出由軟體定義 軟體開發和軟體維護等階段組成的全過程。1 軟體定義階段 軟體定義階段主要解決軟體要 做什麼 的問題,也就是要確定軟體的處...