1 3軟體工程基礎

2023-01-20 20:39:06 字數 4877 閱讀 4496

計算機軟體(software)是計算機系統中與硬體相互依存的另一部分,是包括程式、資料及相關文件的完整集合。

國標(gb)中對計算機軟體的定義為:與計算機系統的有關的電腦程式、規程、規則,以及可能有的檔案、文件及資料。

一軟體是程式、資料和文件的集合。

103_4)軟體是 【4】 、資料和文件的集合。

25.1.79_1軟體是指

a程式b程式和文件

c演算法加資料結構

d程式、資料與相關文件的完整集合

軟體的特點:

1、 軟體是一種邏輯實體,具有抽象性;

2、 軟體沒有明顯的製作過程,一旦研製開發成功,可以大量拷貝;

3、 軟體在開發和執行、使用期間不存在磨損、老化問題

4、 軟體的開發、執行對計算機系統具有依賴性,並受計算機系統的限制;

5、 軟體複雜性高,成本昂貴;

6、 軟體開發涉及到諸多的社會因素。

54_8下列描述中正確的是

a) 程式就是軟體

b) 軟體開發不受計算機系統的限制

c) 軟體既是邏輯實體,又是物理實體

d) 軟體是程式、資料與相關文件的集合

軟體按功能可以分為:應用軟體、系統軟體、支撐軟體(工具軟體)。

93_5)軟體按功能可以分為:應用軟體、系統軟體和支撐軟體(或工具軟體)。下面屬於應用軟體的是

a)編譯程式員 b)作業系統 c)教務管理系統 d)匯程式設計序

c99_8.資料庫管理系統是( )。

a. 作業系統的一部分 b.在作業系統支援下的系統軟體 c.一種編譯系統 d.一種作業系統

答案 b

103_3)軟體按功能可以分為:應用軟體、系統軟體和支撐軟體(或工具軟體)。下面屬於系統軟體的是

a)編輯軟體

b)作業系統

c)教務管理系統

d)瀏覽器

b軟體工程的概念的出現源自軟體危機。

所謂軟體危機是泛指計算機軟體的開發和維護過程中所遇到的一系列嚴重問題。

主要表現在:

(1)軟體需求的增長得不到滿足。使用者對系統不滿意的情況經常發生。

(2)軟體開發成本和進度無法控制。開發成本超出預算,開發周期大大超過規定日期的情況經常發生。

(3)軟體質量難以保證。

(4)軟體不可維護或維護程式非常低。

(5)軟體的成本不斷提高。

(6)軟體開發生產率的提高趕不上硬體的發展和應用需求的增長。

總之,可以將軟體危機歸結為成本、質量、生產率等問題。

軟體工程就是試圖用工程、科學和數學的原理和方法研製、維護計算機軟體的有關技術及管理方法。

國標(gb)中對軟體工程的定義為:軟體工程是應用於計算機軟體的定義、開發和維護的一整套方法、工具、文件、實踐標準和工序。

軟體工程3個要素:方法、工具和過程。方法是完成軟體工程專案的技術手段;工具支援軟體的開發、管理、文件生成;過程支援軟體開發的各個環節的控制、管理。

25.1.89_3)軟體工程三要素包括方法、工具和過程,其中支援軟體開發的各個環節的控制和管理。過程

2下列不屬於軟體工程的3個要素的是( d )

a)工具b)過程

c)方法d)環境

軟體工程的核心思想是把軟體產品看作是乙個工程產品來處理計畫、可行性研究、工程審核、質量監督等工程化的概念引入到軟體生產當中,以期達到工程專案的基本要素:進度、經費和質量的目標。

軟體工程過程(software engineering process)是把輸入轉化為輸出的一組彼此相關的資源和活動。

資源包括人員、硬軟體工具、時間等;通常包含4個基本活動:

1)p(plan)——軟體規格說明。規定軟體的功能及其執行時的限制。

2)d(do) ——軟體開發。產生滿足規格說明的軟體。

3)c(check)——軟體確認。確認軟體能夠滿足客戶提出的要求。

4)a(action)——軟體演進。為滿足客戶的變更要求,軟體必須在使用過程中演進。

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

一般包括可行性研究與需求分析、設計、實現、測試、交付使用以及維護等活動。這些活動可以重複,執行時也可以有迭代。

也可以將軟體生命週期分為軟體定義、軟體開發及軟體執行維護有乙個階段。如下圖所示。

上圖所示的軟體生命週期可以劃分為如下的幾個主要活動階段:

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

2)需求分析。對待開發軟體提出的需求進行分析並給出詳細定義。編寫軟體規格說明書及初步的使用者手冊,提交評審。

3)軟體設計。系統設計人員和程式設計人員應該在反覆理解軟體需求的基礎上,給出軟體的結構、模組的劃分、功能的分配以及處理流程。在系統比較複雜的情況下,設計階段可分解成概要設計和詳細設計兩個階段。

編寫概要設計說明書、詳細設計說明書和測試計畫初稿,提交評審。

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

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

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

25.1.74_4)軟體生命週期可分為多個階段,一般分為定義階段、開發階段和維護階段。編碼和測試屬於 【4】 階段。 開發

25.2.69_3)下列選項中不屬於軟體生命週期開發階段任務的是

a)軟體測試b)概要設計c)軟體維護d)詳細設計

103_6)軟體生命週期可分為定義階段,開發階段和維護階段。詳細設計屬於

a)定義階段

b)開發階段

c)維護階段

d)上述三個階段

b軟體工程的目標是在給定成本、進度的前提下,開發出具有有效性、可行性、可理解性、可維護性、可重用性、可移植性、可追蹤性和可互操作性且滿足使用者需求的產品。

軟體工程需要達到的基本目標是:付出較低的開發成本;達到要求的軟體功能;取得較好的軟體效能;開發的軟體易於移植;需要較低的維護費用;能按時完成開發,及時交付使用。

軟體工程的理論和技術性研究的內容主要包括:軟體開發技術和軟體工程管理。

4.軟體工程研究的內容主要包括: 軟體開發技術和軟體工程管理。

27.3.59_5下列描述中正確的是

a) 軟體工程只是解決軟體專案的管理問題

b) 軟體工程主要解決軟體產品的生產率問題

c) 軟體工程的主要思想是強調在軟體開發過程中需要應用工程化原則

d) 軟體工程只是解決軟體開發中的技術問題

為了達到軟體工程目標,在軟體開發過程中,必須遵循如下基本原則:p24

1)抽象。抽取事物最基本的特性和行為,忽略非本質細節。採用分層次抽象,自頂向下,逐步求精的方法控制軟體開發過程的複雜性。

2)資訊隱蔽。採用封裝技術,將程式模組的實現隱藏起來,使模組介面盡量簡單。

3)模組化。

4)區域性化。應保證模組間具有鬆散的耦合關係,模組內部有較強的內聚性。

5)確定性。軟體開發過程中所有概念的表達應是確定的、無歧義的,規範的。

6)一致性。程式內外部介面應保持一致,系統規格說明與系統行為應保持一致。

7)完備性。應實現系統所需的全部功能。

8)可驗證性。應容易檢查、測評、評審。

5.下面不屬於軟體設計原則的是( c )

a)抽象性 b)模組化

c)自底向上 d)資訊隱蔽

軟體開發環境或稱軟體工程環境是全面支援開發全過程的軟體工具集合。計算機輔助軟體工程(case,computer aided software engineering)是當前軟體開發環境中富有特色的研究工作和發展方向。

軟體開發方法是軟體開發過程所遵循的方法和步驟,包括分析方法、設計方法和程式設計方法。結構化方法是一種系統的、成熟的軟體開發方法,包括結構化分析、結構化設計方法和結構化程式設計方法,其核心和基礎是結構化程式設計理論。

軟體需求是指使用者對目標軟體系統在功能、行為、效能、設計約束等方面的期望。

需求分析的任務是發現需求、求精、建模和定義需求的過程。需求分析將建立所需的資料模型、功能模型和控制模型。

在物件導向方法學中,直接反映了使用者對目標系統的要求的模型是功能模型

需求分析階段的工作可概括為四個方面:1、需求獲取;2、需求分析;3、編寫需求規格說明書;4、需求評審。

紅62_12、軟體的需求分析階段的工作,可以概括為四個方面:______、需求分析、編寫需求規格說明書和需求評審。

答:需求獲取

2在軟體生命週期中,能準確地確定軟體系統必須做什麼和必須具備哪些功能的階段是( d )

a)概要設計 b)詳細設計

c)可行性分析 d)需求分析

10軟體需求分析階段的工具,可分為四個方面:需求獲取,需求分析,編寫需求規格說明書,以及( b )

a)階段性報告 b)需求評審

c)總結d)都不正確

常見的需求分析方法有:

1)結構化分析方法,包括:面向資料流的結構化分析方法(sa----structured analysis),面向資料結構的jackson方法(jsd----jackson system development method),面向資料結構的結構化資料系統開發方法(dssd----data structured system development method)。

3.jackson方法是一種面向資料結構的結構化分析方法。

2)物件導向的分析方法(ooa----object-oriented method)。

2.常用的需要分析方法有分析方法和物件導向的分析方法。

結構化分析方法是結構化程式設計理論在軟體需求分析階段的運用,其實質是著眼於資料流,自頂向下,逐層分解,建立系統的處理流程,以資料流圖和資料字典為主要工具,建立系統的邏輯模型。

3 軟體工程基礎

1.通常,將軟體產品從提出 實現 使用維護到停止使用退役的過程稱為軟體生命週期。也就是說,軟體產品從考慮其概念開始,到該軟體產品不能使用為止的整個時期都屬於軟體生命週期。軟體生命週期的主要活動階段為 可行性研究和計畫制定。確定待開發軟體系統的開發目標和總的要求,給出它的功能 效能 可靠性以及介面等方...

軟體工程導論1 3章總結

開發軟體的基本過程 否修改是否修改是否修改是修改是生命週期方法 生命週期法採用介於形式語言和自然語言之間的描述方式,通過一套分層的資料流程圖,附以資料字典 明等工具來描述系統。生命週期法的基本思想 為保證系統開發的順利進行,生命週期法強調遵循以下幾個基本原則 一 面向使用者的觀點 資訊系統的目的是為...

軟體工程基礎知識

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