軟體工程期末複習 2019

2022-04-25 15:00:02 字數 5250 閱讀 4089

遼寧工業大學

《軟體工程導論(第5版)》

期末複習資料

指導教師: 鄂旭

複習時間: 2011.11.10-2011.12.01

第一章1.軟體危機的含義?

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

2.軟體危機有那些典型表現?

對軟體開發成本和進度的估計常常很不準確;使用者對「已完成的」軟體系統不滿意的現象經常發生;軟體產品的質量往往靠不住;軟體常常是不可維護的;軟體通常沒有適當的文件資料;軟體成本在計算機系統總成本中所佔的比列逐年上公升;軟體開發生產率提高的速度遠遠跟不上計算機應用迅速普及及深入的趨勢。

3.產生軟體危機的原因?

一方面與軟體本身特點有關,另一方面也和軟體開發與維護的方法不正確有關。

4.消除軟體危機的解決方法?

對計算機軟體有乙個正確的認識;推廣使用在時間中總結出來的開發軟體的成功的技術和方法,並且探索更有好更有效的技術和方法,盡快消除在計算機系統早期發展階段成型的一些錯誤的概念和做法;開發和使用更好的軟體工具;總之,為了解決軟體危機,既要有技術措施,也要有必要的組織管理措施。

5.軟體工程定義?

指導計算機軟體開發和維護的一門工程學科。

6.軟體工程的基本原理?

用分階段的生命週期計畫嚴格管理;堅持進行階段評;實行嚴格的產品控制;採用現代程式設計技術;結果應能清楚地審查;開發小組人員應該少而精;承認不斷改進軟體工程實踐的必要性。

7.軟體工程方法學包含三個要素:方法工具和過程。

8.目前使用最廣泛的的軟體工程方法學?

傳統方法學和物件導向方法學。

傳統方法學:傳統方法學也稱為生命週期方法學或結構化泛型。它採用結構化技術來完成軟體的開發的各項任務,並使用適當的軟體工具或軟體工程環境來支援結構化技術的運用。

這種方法學把軟體生命週期的全過程依次劃分為若干個階段,然後順序地完成每個階段的任務。採用這種方法學開發軟體的時候,從對問題的抽象邏輯分析開始,乙個階段乙個階段地順序進行開發。前乙個階段的任務的完成是開始進行後乙個階段工作的前提和基礎,而後一階段任務的完成通常是使前一階段提出的解法更進一步具體化,加近了更多的實現細節。

物件導向方法學:(1)把物件作為融合了資料及在資料上的操作行為統一的軟體構件。(2)把所有物件都劃分成類。

(3)按照父類與子類的關係,把若干個相關類組成乙個層次結構的系統。(4)物件彼此間僅能通過傳送訊息互相聯絡。

9.軟體生命週期分三個階段:問題定義、可行性研究和需求分析。

軟體生命週期每個階段的基本任務:問題定義、可行性研究、需求分析、總體設計、詳細設計、編碼和單元測試、綜合測試。

第二章1.可行性研究目的?

用最小的代價在盡可能短的時間內確定問題是否能夠解決。

2.可行性研究過程的步驟?

複查系統規模和目標;研究目前正在使用的系統;匯出新系統的高層邏輯模式;進一步定義問題;匯出和評價供選擇的解法;推薦行動方針;草擬開發計畫;書寫文件提交審查。

3.資料流圖定義?

一種圖形化技術,描繪資訊流和資料從輸入移動到輸出的過程中所經受的變換。

4.資料字典定義?

資料流;資料流分量;資料儲存;處理

5.資料元素組成資料的方式?

順序;選擇;重複

6.什麼是貨幣的時間價值?

通常用利率的形式表示貨幣的時間價值

第三章1.需求分析的本質是什麼?

它的基本任務是準確的回答「系統必須做什麼?」

2.通常對軟體系統有哪些要求?

功能需求;效能需求;可靠性和可用性需求;出錯處理需求;介面需求;約束;逆向需求;將來可能提出的要求

3.第一正規化:每個屬性值都必須是原子值,即僅僅是乙個簡單值而不含內部結構。

第二正規化:滿足第一正規化條件,而且每個非關鍵字屬性都由整個關鍵字決定

第三正規化:符合第二正規化條件,每個非關鍵字屬性都由關鍵字決定,而且乙個非關鍵字屬性不能僅僅是對另乙個非關鍵字屬性的進一步描述

第四章1.什麼是形式化方法?

所謂形式化方法,是描述系統性質的基於數學的技術,也就是說,如果一種方法有堅實的數學基礎,那麼他就是形式化方法。

2.非形式化方法的缺點?

用自然語言書寫的系統規格說明書,可能存在矛盾、二義性、含糊性、不完整性及抽象層次混亂等問題。

第五章1.總體設計的目的?

基本目的就是回答「改過的說,系統應該如何實現?」這個問題。

2.設計過程含那幾個步驟?

設想供選擇的方案;選取合理的方案;推薦最佳方案;功能分解;設計軟體結構;設計資料庫;制定測試計畫;書寫文件;神審查和複審

3.面向資料流的設計方法的目標?

給出設計軟體結構的乙個系統化的途徑。

4.什麼是變換流?

資訊沿輸入通路進入系統,同時由外部形式變換成內部形式,進入系統的資訊通過變換中心,經加工處理以後在沿輸出通路變換成外部形式離開軟體系統。當資料流圖具有這些特徵時,這種資訊流就叫做變換流。

5.什麼是事務流?

這種資料流是「以事務為中心的」,也就是說。資料沿輸入通路到達乙個處理t,這個處理根據輸入資料的型別在若干個動作序列中選出乙個來執行。這類資料流應該劃為一類特殊的資料流,稱為事務流。

第六章1.什麼是過程設計語言?

它是用正文形式表示資料和處理過程的設計工具。

2.什麼是流圖?

所謂流圖實質上是「退化了的」資料流程圖,它僅僅描繪程式的控制流程,完全不表現對資料的具體操作以及分支或迴圈的具體條件。

第七章1.什麼是實現?

通常把編碼和測試統稱為實現。

2.如何選擇程式語言?

按照以下幾點擊擇程式語言:

系統使用者的要求;可以使用的編譯程式;可以得到的軟體工具;工程規模;程式設計師的知識;軟體可移植性要求;軟體的應用領域。

3.什麼是單元測試?

集中檢測軟體設計的最小單元。

4.軟體測試的目標是什麼?

測試是為了發現程式中的錯誤而執行程式的過程;好的測試方案是極可能發現迄今為止尚未發現錯誤的測試方案;成功的測試是發現了至今為止尚未發現的錯誤的測試。

5.什麼是整合測試?

整合測試是測試和組裝軟體的系統化技術。

6.整合測試的方法:自頂向下整合和自底向上整合。

7.什麼是確認測試?

確認測試也稱驗收測試,它的目標是驗證軟體的有效性。

8.什麼是白盒測試技術?

白盒測試指把測試物件看成乙個開啟的盒子,測試人員需要了解程式內部結構和處理過程,以檢查處理過程的細節為基礎,對程式中盡可能多的邏輯路徑進行測試,檢驗內部控制結構和資料結構是否有錯,實際的執行狀態與預期的狀態是否一致。

9.什麼是黑盒測試技術?

黑盒法是在程式介面上進行測試。把測試看做乙個黑盒子測試人員完全不考慮程式內部的邏輯結構和內部特性。只依據程式的需求規格說明書,檢查程式的功能是否符合它的功能說明。

黑盒測試是依據程式外部特性進行的測試,又叫功能測試。

10.什麼是等價劃分?

等價劃分是一種黑盒測試技術,這種技術把程式的輸入域劃分成若干個資料類,據此匯出測試用例。

11.除錯的含義?

除錯作為成功測試的後果出現,也就是說,除錯是在測試發現錯誤之後排除錯誤的過程。

12.什麼是軟體的可靠性?

軟體的可靠性是程式在給定的時間間隔內,按照規格說明書的規定成功地執行的概率。

第八章1.軟體維護的定義?

所謂軟體維護就是在軟體已經交付使用之後,為了改正錯誤或滿足新的需要而修改軟體的過程。

2.軟體維護的分類?

完善性維護;改正性維護;適應性維護;其他維護。

第九章1.什麼是物件導向方法學?

盡可能模擬人類習慣的思維方式,使用開發軟體的方法與過程盡可能接近人類認識世界解決問題的方法與過程,也就是使描述問題的問題空間與實現解法的解空間在結構上盡可能一致。

2.物件導向方法學的要點:

(1)認為客觀世界是由各種物件組成的,任何事務都是物件,複雜的物件可以由比較簡單的物件以某種方式組合而成。(2)把所有物件都劃分成各種物件類,每個物件類都定義一組資料和一組方法。(3)按照子類與父類的關係,把若干個物件類組成乙個層次結構的系統。

(4)物件彼此之間僅能通過傳遞訊息互相聯絡。

3.什麼是類?

類就是對具有相同資料和相同操作的一組相似物件的定義,也就是說,類是對具有相同屬性和行為的乙個或多個物件的描述,通常在這種描述中也包括對怎樣建立該類的新物件說明。

4.什麼是例項?

例項就是由某個特定的類所描述的乙個具體的物件。

5.什麼是訊息?

訊息就是要求某個物件執行在定義它的那個類中所定義的某個操作的規格說明。

6.什麼是方法?

方法就是物件所能執行的操作,也就是類中所定義的服務、

7.什麼是屬性?

屬性就是類中所定義的資料,它是對客觀世界實體所具有的性質的抽象。

8.什麼式封裝?

所謂封裝就是把某個事物包起來,使外界不知道該事物的具體內容。

9.什麼是繼承?

繼承是指能夠直接獲得已有的性質和特徵,而不必重複定義它們。

畫圖題傳統瀑布模型

快速原型模型

增量模型

簡化的螺旋模型

系統流程圖基本符號

資料流圖的符號

p42例子中的圖

定貨系統的基本系統模型

定貨系統的功能級資料流圖

處理事務的功能進一步分解後的資料流圖

warnier圖的例子

ipo圖

保險箱的狀態轉換圖

petri網的組成

帶標記的petri網

petri網在轉換t1被激發後的情況

petri網在轉換t2被激發後的情況

含禁止線的petri網

模組的作用域和控制域(深度、寬度、扇出、扇入)

面向資料流的設計方法

變換流事物流

※p106例子

數字儀表板系統的資料流圖

數字儀表板系統的第一級分解

未經精化的輸入結構

未經精化的變換結構

未經精化的輸出結構

精化後的數字儀表板系統的軟體結構

3種基本的控制結構

盒圖的基本符號

pad圖的基本符號

用判定樹表示計算行李費的演算法

由b、c、d 3個元素順序組成

根據條件a是b或c或d中的某乙個

改進的jackson圖

※jackson方法

表示輸入輸出資料結構的jackson圖

a是輸入資料結構 b是輸出資料結構

描繪統計空格程式結構的jackson圖

把操作和條件分配到程式結構圖適當位置

把程式流程圖對映成流圖(計算環形複雜度) a是程式流程圖 b是流圖

被測試模組的流程圖(填寫執行路徑)

物件的形象表示

用自動機模擬物件

杭電期末軟體工程複習

系統流程圖是做什麼用的?系統流程圖是描繪物理系統的傳統工具。它的基本思想是用圖形符號以黑盒子形式描述系統裡面的每個部件 程式,檔案,資料庫,人工過程等等 系統流程圖表達的是資訊在系統各部件之間流動的情況,而不是對資訊進行加工處理的控制過程,因此儘管系統流程圖使用的某些符號和程式流程圖中使用的符號相同...

軟體工程複習

一 考試複習範圍 1 軟體工程基本概念 基本原理 2 需求分析,結構化分析 物件導向分析,結構化分析建模 物件導向分析建模 3 軟體設計,結構化程式設計,概要設計 詳細設計 4 軟體測試 二 考試題型 單項選擇題 簡答題 綜合應用題 要求會畫 資料流圖 軟體結構圖 用例圖 類圖 n s盒圖 pad圖...

軟體工程複習

第1章軟體工程概述 1 軟體危機的典型表現 軟體危機是指在計算機軟體的開發和維護過程中所遇到的一系列嚴重問題。概括地說,軟體危機包含下述兩方面的問題 如何開發軟體,以滿足對軟體日益增長的需求 如何維護數量不斷膨脹的已有軟體。軟體危機典型表現 對軟體開發成本和進度的估計常常很不準確。使用者對 已完成的...