久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

軟件工程導(dǎo)論復(fù)習(xí)整理(最新)

時間:2019-05-15 12:50:32下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《軟件工程導(dǎo)論復(fù)習(xí)整理(最新)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《軟件工程導(dǎo)論復(fù)習(xí)整理(最新)》。

第一篇:軟件工程導(dǎo)論復(fù)習(xí)整理(最新)

第一章

1..軟件危機:在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。

2.軟件與硬件的區(qū)別:軟件不同于硬件,它是計算機系統(tǒng)中的邏輯部件而不是物理部件。

3.軟件:程序、數(shù)據(jù)及相關(guān)文檔的完整集合。

4.軟件工程是指導(dǎo)計算機軟件開發(fā)和維護的一門工程學(xué)科,采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到最好的技術(shù)方法結(jié)合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有校地維護它。

5.軟件工程方法學(xué)三要素:方法、工具和過程。

6.傳統(tǒng)方法學(xué)也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。它采用結(jié)構(gòu)化技術(shù)來完成軟件開發(fā)的各項任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來支持結(jié)構(gòu)化技術(shù)的運用。

7.面向?qū)ο蠓椒▽W(xué)把數(shù)據(jù)和行為看成同等重要的,它是一種以數(shù)據(jù)為主線,把數(shù)據(jù)和對數(shù)據(jù)的操作緊密地結(jié)合起來的方法。

8.軟件生命周期劃分為三個時期:1軟件定義(問題定義、可行性研究、需求分析),2軟件開發(fā)(總體設(shè)計、詳細設(shè)計、編碼和單元測試、綜合測試),3運行維護(軟件維護)。

9.4類軟件維護活動:改正性維護,也就是診斷和改正在使用過程中發(fā)現(xiàn)的軟件錯誤;適應(yīng)性維護,即修改軟件以適應(yīng)環(huán)境的變化;完善性維護,即根據(jù)用戶的要求改進或擴充軟件使它更完善;預(yù)防性維護,即修改軟件,為將來的維護活動預(yù)先做準(zhǔn)備。

10.“瀑布模型”的缺點:它是由文檔驅(qū)動的,僅僅通過寫在紙上的靜態(tài)的規(guī)格說明,很難全面正確地認識動態(tài)的軟件產(chǎn)品;瀑布模型幾乎完全依賴于書面的規(guī)格說明,很可能導(dǎo)致最終開發(fā)出的產(chǎn)品不能真正的滿足用戶的需要。

11.快速原型模型的優(yōu)點:原型系統(tǒng)已經(jīng)通過與用戶交互而得到驗證,據(jù)此產(chǎn)生的規(guī)格說明文檔正確地描述了用戶需求;開發(fā)人員通過建立原型系統(tǒng)已經(jīng)學(xué)到了很多東西,因此,在設(shè)計和編碼階段發(fā)生錯誤的可能性也比較小,這自然減少了在后續(xù)階段需要改正前面階段所犯錯誤的可能性。

第二章 1.可行性研究的三個方面:技術(shù)可行性:使用現(xiàn)有的技術(shù)能實現(xiàn)這個系統(tǒng)經(jīng)濟可行性:這個系統(tǒng)的經(jīng)濟效益能超過它的開發(fā)成本操作可行性:系統(tǒng)的操作方式在這個用戶組織內(nèi)行得通

2.數(shù)據(jù)流圖的4個基本符號及畫法P41

3.數(shù)據(jù)字典:是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。

4.符號含義:=表示“等價于”或“定義為”;+表示連接;[ ]表示“或”,用“|”分隔;{ }表示“重復(fù)”,()表示“可選”用“,”號隔開;1{A}5 表示上限和下限。

5.高校電話號碼數(shù)據(jù)的定義P54

第三章

1.需求分析3種模型:數(shù)據(jù)模型:實體-聯(lián)系圖,描繪數(shù)據(jù)對象及數(shù)據(jù)對象之間的關(guān)系;功能模型:數(shù)據(jù)流圖,描繪當(dāng)數(shù)據(jù)在軟件系統(tǒng)中移動時被變換的邏輯過程;行為模型:狀態(tài)轉(zhuǎn)換圖,指明了作為外部事件結(jié)果的系統(tǒng)行為,描繪了系統(tǒng)的各種行為模式。

2.ER圖3種基本成分:實體(數(shù)據(jù)對象),關(guān)系,屬性。P64

3.軟件需求驗證的四個方面:一致性,完整性,現(xiàn)實性,有效性。

第四章

1.總體設(shè)計2個主要階段:系統(tǒng)設(shè)計階段,確定系統(tǒng)的具體實現(xiàn)方案;結(jié)構(gòu)設(shè)計階段,確定軟件結(jié)構(gòu)。

2.信息隱藏:設(shè)計和確定模塊,使得一個模塊內(nèi)包含的特定信息,對于不需要這些信息的模塊來說,是不能訪問的。

3.模塊獨立2個度量標(biāo)準(zhǔn):內(nèi)聚和耦合。耦合衡量不同模塊彼此間互相依賴(連接)的緊密程度;內(nèi)聚衡量一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度。4.耦合與內(nèi)聚判定P98-99

5.深度:表示軟件結(jié)構(gòu)中控制的層數(shù),它往往粗略的標(biāo)志一個系統(tǒng)的大小和復(fù)雜程度,深度和程序長度之間應(yīng)該有粗略的對應(yīng)關(guān)系;寬度:是軟件結(jié)構(gòu)內(nèi)同一層次上的模塊總數(shù)的最大值;扇出:是一個模塊直接控制(調(diào)用)的模塊數(shù)目;扇入:表明一個模塊有多少上級模塊直接調(diào)用它

6.P100 模塊的作用域和模塊的控制域之間的關(guān)系:模塊的作用域定義為受該模塊內(nèi)一個判定影響的所有模塊的集合;模塊的控制域是這個模塊本身以及所有直接或間接從屬于它的模塊的集合;模塊的作用域應(yīng)該在控制域之內(nèi)(在設(shè)計的很好的系統(tǒng)中,所有受判定影響的模塊應(yīng)該都從屬于做出判定的那個模塊,最好局限于做出判定的那個模塊本身以及它的直屬下級模塊)。

6.層次圖,結(jié)構(gòu)圖P10

2第六章

1.結(jié)構(gòu)程序設(shè)計定義:如果一個程序的代碼塊僅僅通過順序、選擇和循環(huán)這3種基本控制結(jié)構(gòu)進行連接,并且每一個代碼塊只有一個入口和一個出口,則稱這個程序是結(jié)構(gòu)化的。

2.P124 過程設(shè)計的工具:程序流程圖、盒圖、PAD圖、判定表、判定樹、過程設(shè)計語言。

3.畫出偽碼程序的程序流程圖和盒圖 P1

41第七章

1.軟件測試在軟件生命周期中橫跨兩個階段:單元測試:模塊的編寫者和測試者是同一個人,編碼和單元測試屬于軟件生命周期的同一個階段;綜合測試:由專門的測試人員承擔(dān)這項工作。

2.為什么軟件測試不能由程序的編寫人員來做?

(1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。

(2)正確認識測試的目標(biāo)是十分重要的,測試目標(biāo)決定了測試力案的設(shè)計。如果為了表明程序是正確的而進行測試,就會設(shè)計一些不易暴露錯誤的測試方案;相反,如果測試是為了發(fā)現(xiàn)程序中的錯誤,就會力求設(shè)計出最能暴露錯誤的測試方案。

(3)由于測試的目標(biāo)是暴露程序中的錯誤,從心理學(xué)角度看,由程序的編寫者自己進行測試是不恰當(dāng)?shù)摹?/p>

3.測試方法:(1)黑盒測試 :把程序看作一個黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程 ;對程序接口進行測試,檢查程序功能是否能按規(guī)格說明書的規(guī)定正常使用; 程序是否能適當(dāng)?shù)亟邮茌斎霐?shù)據(jù)并產(chǎn)生正確的輸出信息; 程序運行過程中能否保持外部信息的完整性

(2)白盒測試 :把程序堪稱裝在一個透明的白盒子里,測試者完全知道程序的結(jié)構(gòu)處理算法 ;按照程序內(nèi)部的邏輯測試程序,檢測程序中的主要執(zhí)行通路是否都能按 預(yù)定要求正確工作。

4.測試步驟:模塊測試,子系統(tǒng)測試,系統(tǒng)測試,驗收測試,平行運行。P151

5.集成測試是測試和組裝軟件的系統(tǒng)化技術(shù),即是在把模塊按照設(shè)計要求組裝起來的同時進行測試,由模塊組裝成程序時兩種方法:非漸增式測試方法和漸增式測試方法。

6.P162 邏輯覆蓋標(biāo)準(zhǔn):語句覆蓋,判定覆蓋,條件覆蓋,判定條件覆蓋,條件組合覆蓋,(還有點覆蓋,邊覆蓋,路徑覆蓋)。

7.設(shè)計測試用例:P16

2第八章

1.軟件維護:在軟件已經(jīng)交付使用之后,為了改正錯誤或者滿足新的需要而修改軟件的過程。

2.維護工作量的一個模型: M = P + K × exp(c-d)其中: M是維護用的總工作量,P是生產(chǎn)性工作量,K是經(jīng)驗常數(shù),c是復(fù)雜程度d是維護人員對軟件的熟悉程度。exp,以自然對數(shù)e為底指數(shù)函數(shù),Exponential(指數(shù)曲線)。

3.軟件可維護性與哪些因素有關(guān)?在軟件開發(fā)過程中應(yīng)該采取哪些措施來提高軟件產(chǎn)品可維護性?

答:軟件的可理解性、可測試性、可修改性、可移植性 和可重用性是決定軟件可維護下的基本因素。

軟件生命周期每個階段的工作都和軟件可維護性有密切關(guān)系。良好的設(shè)計,完整準(zhǔn)確易讀易理解的文檔資料,以及一系列嚴格的復(fù)審和測試,使得一旦發(fā)現(xiàn)錯誤時比較容易診斷和糾正,當(dāng)用戶有新要求或外部環(huán)境變化時軟件能較容易地適應(yīng),并且能夠減少維護引入的錯誤。因此,在軟件生命周期的每個階段都必須充分考慮維護問題,并且為軟件維護預(yù)做準(zhǔn)備。

第九章

1.面向?qū)ο蟮母拍睿簩ο螅悾瑢嵗ⅲ椒ǎ瑢傩裕庋b,繼承,多態(tài)性P209-215 對象:是封裝了數(shù)據(jù)結(jié)構(gòu)及可以施加在這些數(shù)據(jù)結(jié)構(gòu)上的操作的封裝體(類的實例)類:是對具有相同屬性和行為的一個或多個對象的描述(支持繼承的抽象數(shù)據(jù)類型)實例:是由某個特定的類所描述的一個具體的對象

消息:就是要求某個對象執(zhí)行在定義它的那個類中所定義的某個操作的規(guī)格說明。由3部分組成:接收消息的對象,消息選擇符,零個或多個變元

方法:是對象所能執(zhí)行的操作,描述了對象執(zhí)行操作的算法,響應(yīng)消息的方法

屬性:類中所定義的數(shù)據(jù),對客觀世界實體所具有的性質(zhì)的抽象

封住:就是信息隱藏,通過封裝對外界隱藏了對象的實現(xiàn)細節(jié)

繼承:子類自動地共享基類中定義的數(shù)據(jù)和方法的機制

多態(tài)性:指子類對象可以像父類對象那樣使用,同樣的消息既可以發(fā)送給父類對象也可以發(fā)送給子類對象

2.面向?qū)ο蠼#好枋鱿到y(tǒng)數(shù)據(jù)結(jié)構(gòu)的對象模型,描述系統(tǒng)控制結(jié)構(gòu)的動態(tài)模型,描述系統(tǒng)功能的功能模型。類名

3.對象模型:P217 屬性類圖符號:服務(wù)

4.表示關(guān)系的符號:類與類之間通常有關(guān)聯(lián)、泛化(繼承)、依賴和細化等4種關(guān)系關(guān)聯(lián):表示倆個類的對象之間存在某種語義上的聯(lián)系

泛化:是通用元素和具體元素之間的一種分類關(guān)系

依賴:描述倆個模型元素(類,用例等)之間的語義連接關(guān)系

細化:用來協(xié)調(diào)不同階段模型之間的關(guān)系,表示各個開發(fā)階段不同抽象層次的模型之間的相關(guān)性,常常用于跟蹤模型的演變。

5.功能模型:用例圖包含的模型元素有系統(tǒng)、行為者、用例及用例之間的關(guān)系P224

第十章

1.面向?qū)ο蠓治觯褪浅槿『驼碛脩粜枨蟛⒔栴}域精確模型的過程

2.建立對象模型、動態(tài)模型、功能模型的基本方法P235-255

第二篇:軟件工程導(dǎo)論復(fù)習(xí)材料

1.軟件工程基本概念

1.()因素促使計算機系統(tǒng)越來越復(fù)雜。

A.計算機內(nèi)存和存儲容量上的巨大增長

B.外部輸入/輸出選項的更加多樣性

C.計算機體系結(jié)構(gòu)方面的深刻變化

D.以上所有選項

2.下面的()不再是現(xiàn)代軟件工程師關(guān)注的問題。

A.為什么不能在產(chǎn)品發(fā)布前去除軟件錯誤?

B.為什么軟件需要很長時間才能完成?

C.為什么開發(fā)一個軟件的成本這么高?

D.為什么計算機硬件的成本這么高?

3.軟件會逐漸退化而不會磨損,其原因在于()。

A.軟件備件很難訂購

B.軟件錯誤通常發(fā)生在使用之后

C.通常暴露在惡劣的環(huán)境下

D.不斷的變更使組件接口之間引起錯誤軟件

4.大多數(shù)軟件仍然是定制開發(fā)的,其原因在于()。

A.軟件組件重用是十分普遍的 B.可重用的組件太昂貴而無法使用

C.軟件在不使用其他組件的情況下很容易構(gòu)造出來

D.商業(yè)組件在很多應(yīng)用領(lǐng)域中可以得到

5.下面的()說法是正確的。

A.軟件危機在20世紀(jì)70年代末期全面爆發(fā)

B.當(dāng)前先進的軟件工程方法已經(jīng)解決了軟件危機的問題

C.軟件危機是指在計算機軟件的開發(fā)和維護過程中遇到的一系列嚴重問題

D.軟件危機是指在軟件產(chǎn)品中存在一系列的質(zhì)量問題 1.瀑布模型本質(zhì)上是一種()。

A、線性迭代模型

B、順序迭代模型C、線性順序模型

D、及早見產(chǎn)品模型 2.()是用戶和設(shè)計交換最頻繁的方法。

A、原型化方法

B、瀑布模型方法C、螺旋模型方法

D、構(gòu)件組裝模型 5.在軟件開發(fā)模型中,提出最早、應(yīng)用最廣泛的模型是()A.瀑布模型

B.噴泉模型

C.增量模型

D.螺旋模型

1.軟件工程的方法只適用于大型軟件的開發(fā),對小型軟件的開發(fā)沒有幫助。()1.什么是軟件危機?其主要表現(xiàn)有那些?

1.有人認為?軟件工程過于耗費時間,并且妨礙開發(fā)人員的編程效率。?你是否認同這種觀點?請闡述理由。

2.需求分析 需求規(guī)格說明描述了()。

A.計算機系統(tǒng)的功能、性能及其約束

B.每個指定系統(tǒng)的實現(xiàn)

C.軟件體系結(jié)構(gòu)的元素

D.系統(tǒng)仿真所需要的時間

7.軟件可行性研究實質(zhì)上是要進行一次()需求分析、設(shè)計過程。A.簡化、壓縮的B.詳細的 C.徹底的D.深入的 11.下面說法不正確的是()。

A.流程圖不易表示數(shù)據(jù)結(jié)構(gòu)

B.流程圖容易造成非結(jié)構(gòu)化的程序結(jié)構(gòu)

C.流程圖支持逐步求精

D.流程圖描述的是程序的邏輯結(jié)構(gòu) 1.需求分析中開發(fā)人員要從用戶那里了解()。

A、軟件做什么B、用戶使用界面C、輸入的信息D、軟件的規(guī)模

2.需求分析階段,分析人員要確定對問題的綜合需求,其中最主要的是()需求。A、功能 B、性能 C、數(shù)據(jù) D、環(huán)境 24.軟件可行性研究一般不考慮()

A.是否有足夠的人員和相關(guān)的技術(shù)來支持系統(tǒng)開發(fā) B.是否有足夠的工具和相關(guān)的技術(shù)來支持系統(tǒng)開發(fā) C.待開發(fā)軟件是否有市場、經(jīng)濟上是否合算 D.待開發(fā)的軟件是否會有質(zhì)量問題 25.需求規(guī)格說明描述了()

A.計算機系統(tǒng)的功能、性能及其約束 B.每個指定系統(tǒng)的實現(xiàn) C.軟件體系結(jié)構(gòu)的元素

D.系統(tǒng)仿真所需要的時間

26.需求分析階段,分析人員要確定對問題的綜合需求,其中最主要的是()需求 A.功能

B.性能

C.數(shù)據(jù)

D.環(huán)境

7.成本效益分析的目的是從

角度評價開發(fā)一個項目是否可行。

2.軟件需求規(guī)格說明書在軟件開發(fā)過程中具有重要的作用,它是軟件可行性分析的依據(jù)。3.()目前存在一個很普遍的現(xiàn)象,即不同的客戶提出的需求是相互矛盾的,但每個人都爭辯自己是正確的。

5.()在需求分析過程中,分析員要從用戶那里解決的最重要的問題是明確軟件做什么。2.可行性研究主要確定問題分析階段所確定的問題是否有可行的解。()6.在需求分析過程中,分析員要解決的最重要的問題是明確軟件做什么。()7.數(shù)據(jù)流圖的畫法?

3.軟件設(shè)計與編碼.概要設(shè)計階段產(chǎn)生的文檔不包括()。A.概要設(shè)計說明書

B.數(shù)據(jù)庫設(shè)計說明書 C.用戶手冊

D.開發(fā)進度月報.一個模塊把數(shù)值作為參數(shù)傳送給另一個模塊,這種耦合方式稱為()。A.數(shù)據(jù)耦合 B.公共耦合 C.控制耦合 D.標(biāo)記耦合

10.與詳細設(shè)計相對應(yīng)的是數(shù)據(jù)庫的()設(shè)計。A.概念

B.邏輯 C.物理

D.功能 19.序言性注釋主要內(nèi)容不包括()。

A.模塊的接口

B.數(shù)據(jù)的描述

C.模塊的功能

D.數(shù)據(jù)的狀態(tài) 11.模塊化的目的是:()

A、增加內(nèi)聚性 B、降低復(fù)雜性C、提高易讀性D、減少耦合性 12.軟件設(shè)計中劃分模塊的一個準(zhǔn)則是()。

A、低內(nèi)聚低耦合B、低內(nèi)聚高耦合C、高內(nèi)聚低耦合D、高內(nèi)聚高耦合 13.下列耦合中,耦合程度最高的是:()A、標(biāo)記耦合 B、控制耦合 C、內(nèi)容耦合 D、公共耦合 14.模塊間耦合程度越高,說明模塊之間彼此依賴的程度越()。A、松散 B、緊密 C、無法判斷 D、相等 15.程序的三種基本控制結(jié)構(gòu)是()。A、過程、子程序和分程序。B、順序、選擇和重復(fù)。C、遞歸、堆棧和隊列。D、調(diào)用、返回和轉(zhuǎn)移。

2.軟件設(shè)計階段一般分為

兩個階段。

3.軟件開發(fā)過程中,模塊化開發(fā)追求的目標(biāo)是:__________________。6.數(shù)據(jù)建模常用的模型是______________。任何程序都可由

、和

3種基本控制結(jié)構(gòu)構(gòu)造。這3種基本結(jié)構(gòu)的共同點是

、。

4.軟件人員的數(shù)量與軟件開發(fā)進度成正比。()

8.模塊化程序設(shè)計中,模塊越小,模塊化的優(yōu)點越明顯。一般來說,模塊的大小都在10行以下。()

9.模塊化,信息隱藏,抽象和逐步求精的軟件設(shè)計原則有助于得到高內(nèi)聚,低耦合度的軟件產(chǎn)品。()

10.程序設(shè)計風(fēng)格指導(dǎo)原則提出,盡量多使用臨時變量。()8.模塊化程序設(shè)計中,模塊越小,模塊化的優(yōu)點越明顯。()

4.軟件測試

13.()方法需要考察模塊間的接口和各模塊之間的聯(lián)系。A.單元測試

B.集成測試 C.確認測試

D.系統(tǒng)測試

16.在軟件生存周期中,時間最長、所花費的精力和費用也最多的階段是()。A.詳細設(shè)計

B.維護 C.概要設(shè)計

D.測試 16.軟件測試的目的是?()A、證明軟件的正確性

B、找出軟件系統(tǒng)中存在的所有錯誤 C、證明軟件系統(tǒng)中存在錯誤

D、盡可能多的發(fā)現(xiàn)軟件系統(tǒng)中的錯誤

17.()是以提高軟件質(zhì)量為目的的技術(shù)活動。A.技術(shù)創(chuàng)新

B.測試

C.技術(shù)創(chuàng)造

D.技術(shù)評審

18.軟件維護工作的最主要部分是()。A、校正性維護 B、適應(yīng)性維護 C、完善性維護 D、預(yù)防性維護

19.檢查軟件產(chǎn)品是否符合需求定義的過程稱為()。A、確認測試 B、集成測試 C、驗收測試 D、系統(tǒng)測試

20.軟件維護的副作用,是指()。A、開發(fā)時的錯誤 B、隱含的錯誤

C、因修改軟件而造成的錯誤 D、運行時誤操作

33.發(fā)現(xiàn)錯誤能力最弱的是()A.語句覆蓋

B.判定覆蓋

C.條件覆蓋

D.路徑覆蓋 34.()方法需要考察模塊間的接口和各模塊之間的聯(lián)系 A.單元測試

B.集成測試

C.確認測試

D.系統(tǒng)測試 1.軟件測試主要可分為________和________兩種類型。

4.軟件維護可分為四類,它們是改正性維護,________,________ 和________。8.軟件可維護性的因素是可理解性、可測試性、可修改性、可移植性和_____。

9. 軟件質(zhì)量保證應(yīng)從________開始,直到投入使用和售后服務(wù)的軟件生存期的每一階段中 4 的每一步驟。

3.為了加快軟件維護作業(yè)的進度,應(yīng)盡可能增加維護人員的數(shù)目。()

5.質(zhì)量保證是為了保證產(chǎn)品和服務(wù)充分滿足消費者要求的質(zhì)量而進行的有計劃,有組織的活動。()

6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。()7.測試只能證明程序有錯誤,不能證明程序沒有錯誤。()3.軟件維護就是改正軟件中的錯誤。()

10.用黑盒法測試時,測試用例是根據(jù)程序內(nèi)部邏輯設(shè)計的。(11.基本路徑測試的分析方法?)5

5.面向?qū)ο蟮能浖こ蹋║ML)..()意味著一個操作在不同的類中可以有不同的實現(xiàn)方式。

A.消息

B.多繼承

C.多態(tài)性

D.封裝.順序圖反映對象之間發(fā)送消息的時間順序,它與()是同構(gòu)的。A.用例圖

B.類圖

C.協(xié)作圖

D.狀態(tài)圖

28.在軟件工程學(xué)中,我們把一組具有相同數(shù)據(jù)結(jié)構(gòu)和操作的對象的集合定義為()A.類

B.屬性

C.對象

D.消息

29.順序圖反映對象之間發(fā)送消息的時間順序,它與()是同構(gòu)的 A.用例圖

B.類圖

C.協(xié)作圖

D.狀態(tài)圖 35.下列關(guān)于UML敘述不正確的是()A、UML是一種高級編程語言,且是可視化的B、UML是一種文檔化語言 C、UML是一種可用于詳細描述的語言

D、UML是一種構(gòu)造語言

36.表示一種一般事物(父類)和特殊事物(子類)之間的關(guān)系是()A、依賴

B、關(guān)聯(lián)

C、泛化

D、實現(xiàn) 1.()用例參與者總是人員而不是系統(tǒng)設(shè)備。

6.()面向?qū)ο笤O(shè)計是在分析模型的基礎(chǔ)上,運用面向?qū)ο蠹夹g(shù)生成軟件實現(xiàn)環(huán)境下的設(shè)計模型。

8.()關(guān)系數(shù)據(jù)庫可以完全支持面向?qū)ο蟮母拍睿嫦驅(qū)ο笤O(shè)計中的類可以直接對應(yīng)到關(guān)系數(shù)據(jù)庫中的表。

9.UML用例圖的畫法?

6.項目管理

38.CMMI體系中,第三級是()A、已管理級

B、已量化管理級 C、已定義級

D、持續(xù)優(yōu)化級 5.軟件配置管理中,基線是___________________________________。4.()軟件工作產(chǎn)品一旦成為基線就不能再更改了。4.什么是軟件配置管理?主要目標(biāo)和手段是什么? 4.什么是基線?

第三篇:軟件工程導(dǎo)論最全復(fù)習(xí)總結(jié)(精)

1、軟件危機是指在計算機開發(fā)過程中的開發(fā)和維護過程中所遇到的一系列的嚴重問題。

2、軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合,程序是能夠完成預(yù)定功能和性能的可執(zhí)行的

程序序列;數(shù)據(jù)是是使程序能夠適當(dāng)?shù)奶幚硇畔⒌臄?shù)據(jù)結(jié)構(gòu);文檔是開發(fā)、使用和維護程序所需要的圖文資料。

3、軟件工程學(xué)包含3個要素:方法、工具、過程。

4、目前使用最廣泛的軟件工程方法學(xué)是傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)。

5、軟件工程方法學(xué)的軟件過程基本上可以用瀑布模型來描述。

6、瀑布模型、快速原型模型、增量模型、螺旋模型、噴泉模型。

7、Rup把軟件生命周期劃為:初始、精化、構(gòu)建、移交階段。

8、可行性研究的三方面:技術(shù)可行性、經(jīng)濟可行性、操作可行性。

9、數(shù)據(jù)流圖(DFD是一種圖形化技術(shù),他描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中

所經(jīng)受的變化。

10、數(shù)據(jù)字典是關(guān)于數(shù)據(jù)信息的集合,也就是對數(shù)據(jù)流程圖中所包含的所有元素的定義 的集合。

11、數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)字典,數(shù)據(jù)如就不嚴格, 沒有流程圖,數(shù)據(jù)字典也難以發(fā)揮作用。

12、需求分析階段結(jié)束之前,系統(tǒng)分析員應(yīng)該寫出軟件需求規(guī)格說明書,以書面形式準(zhǔn)

確的描述軟件需求。13、9、結(jié)構(gòu)化分析方法就是面向數(shù)據(jù)流自頂向下逐步求精進行需求分析的方法。

14、ER圖中包含了實體、關(guān)系和屬性,矩形代表實體,菱形表示關(guān)系,橢圓或圓角矩

形表示屬性,用直線把實體和其屬性連接。

15、驗證軟件需求的正確性:一致性、完整性、現(xiàn)實性、有效性。

16、總體設(shè)計的基本目的是回答“概括地說,系統(tǒng)應(yīng)該如何實現(xiàn)?”,總體設(shè)計又稱為

概要設(shè)或初步設(shè)計。

17、模塊的獨立程度可以有兩個定性標(biāo)量度量:內(nèi)聚和耦合。

18、軟件測試的目標(biāo):(1測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;(2好的

測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案;(3成功的測試是發(fā)現(xiàn)可至今為止尚未發(fā)現(xiàn)的錯誤的測試。

19、軟件測試步驟:模塊測試、子系統(tǒng)測試、系統(tǒng)測試、驗收測試、平行運行。

20、軟件可靠性是程序在給定的時間點,按照規(guī)格說明書的規(guī)定,成功的運行的概率。

21、用面向?qū)ο蠓椒ㄩ_發(fā)軟件,通常需要建立3種形式的模型:描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的對

象模型,描述系統(tǒng)控制結(jié)構(gòu)的動態(tài)模型和描述系統(tǒng)功能的功能模型。

22、用面向?qū)ο蠓椒ㄩ_發(fā)軟件,在任何情況下,對象模型始終都是最重要、最基本的、最核心的。

23、通常,使用UML提供的類圖來建立對象模型。

24、類與類之間通常有關(guān)聯(lián)、泛化(繼承、依賴和細化等4種關(guān)系。

25、在UML中,在一段為空心的三角形的連線表示泛化關(guān)系。

26、復(fù)雜問題的對象模型通常由:主題層、類與對象層、結(jié)構(gòu)層、屬性層和服務(wù)層。

27、廣義的說,軟件重用可分為知識重用、方法和標(biāo)準(zhǔn)的重用、軟件成分的重用。

28、工程網(wǎng)絡(luò)和Gantt圖同樣是安排進度和管理工程進度情況的強有力的工具。29、3種典型人員組織方式:民主制程序員組、住程序員組、現(xiàn)代程序員組。30、軟件過程的輸出信息可以分為3類計算機程序、描述計算機程序的文檔、數(shù)據(jù),這

些項組成了軟件過程中產(chǎn)生的全部信息,人們把他們統(tǒng)稱為軟件配置,而這些項就是軟件配置項。

31、Cmm把軟件過程從無序到有序的進化過程分成5個階段,并把這些階段排序,形

成五個逐層提高的等級。能力的成熟度的5個等級從低到高依次是:初始級(1級、可重復(fù)級(2級、已定義級(3級已管理級(4級和優(yōu)化級(5級。

15、編碼風(fēng)格:持續(xù)內(nèi)部文檔、數(shù)據(jù)說明、語句構(gòu)造、輸入輸出、效率、32、軟件危機的典型表現(xiàn):對軟件開發(fā)成本和進度的估計常常很不準(zhǔn)確;用戶對“已完

成”的軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生;軟件產(chǎn)品質(zhì)量往往靠不住;軟件常常是不可維護的;軟件通常沒有適當(dāng)?shù)奈臋n資料;軟件成本在計算機總成本中所占的比例逐年上升;軟件開發(fā)生產(chǎn)效率提高的速度,遠遠跟不上計算機應(yīng)用迅速普及深入的趨勢。

33、軟件不同于硬件,他是計算機系統(tǒng)的邏輯部件而不是物理部件。

34、軟件不同于一般程序,它的一個顯著特點就是規(guī)模龐大。簡單題

1、軟件工程基本原理(1用分階段的生存周期嚴格管理。(2堅持進行階段評審。(3實行嚴格的產(chǎn)品控制。(4采用現(xiàn)代程序設(shè)計技術(shù)。(5結(jié)果應(yīng)能清楚地審查。(6開發(fā)小組人員應(yīng)該少而精。(7承認不斷改進軟件工程實踐的必要性。

2、軟件生命周期各階段的基本任務(wù)軟件生命周期由軟件定義、軟件開發(fā)和運行維護3個時期組成,每個時期又進一步劃分成若干個階段。(1問題定義(2可行性研究(3需求分析(4總體設(shè)計(5詳細設(shè)計(6編碼和單元測試(7綜合測試(8軟件維護

3、需求分析的任務(wù)

一、確定對系統(tǒng)的綜合要求(1功能需求(2性能需求(3可靠性和可用性需求(4出錯處理需求(5接口需求(6約束(7逆向需求(8將來可能提出的需求

二、分析系統(tǒng)的數(shù)據(jù)要求

三、導(dǎo)出系統(tǒng)的邏輯模型

四、修正系統(tǒng)開發(fā)計劃

4、改進軟件設(shè)計的啟發(fā)式規(guī)則(1改進軟件結(jié)構(gòu)提高模塊獨立性(2模塊規(guī)模應(yīng)該適中(3深度、寬度、扇出和扇入都應(yīng)適當(dāng)(4模塊的作用域應(yīng)該在控制域之(5力爭降低模塊接口的復(fù)雜程度(6設(shè)計單入口單出口的模塊(7模塊功能應(yīng)該可以預(yù)測

5、面向?qū)ο笤O(shè)計準(zhǔn)則和啟發(fā)式原則

(1模塊化(2抽象(3信息隱藏(4弱耦合(5強內(nèi)聚(6可重用

(1設(shè)計結(jié)果應(yīng)該清晰易懂(2一般-特殊結(jié)構(gòu)的深度應(yīng)適當(dāng)(3設(shè)計簡單的類(4使用簡單的協(xié)議(5使用簡單的服務(wù)(6把設(shè)計變動減至最小

6、軟件維護的幾種類型

(1改正性維護(2適應(yīng)性維護(3完善性維護(4預(yù)防性維護

7、決定軟件可維護性因素

(1可理解性(2可測試性(3可修改性(4可移植性(5可重用性

8、軟件配置項

軟件配置的主要任務(wù)就是控制變化,同時也負責(zé)各個軟件配置項和軟件各種版本的標(biāo)志、軟件配置審計以及軟件配置發(fā)生的任何變化的報告。(1標(biāo)識軟件配置中的對象(2版本控制(3變化控制(4配置審計(5狀態(tài)報告

設(shè)計題

1、等價類有效/無效數(shù)據(jù)邊界值測試

2、UML類圖的描述

3、N-S圖、PAD圖 論述題

(1軟件工程(2可行性研究問題定義階段必須回答的關(guān)鍵問題是:“要解決的問題是

什么”。如果不知道問題是什么就試圖解決這個問題,顯然是盲目的,只會自白浪費

時間和金錢,最終得出的結(jié)果很可能是毫無意義的。盡管確切地定義問題的必要性是十分明顯的,但是在實踐中它卻可能是最容易被忽視的一個步驟。(3需求分析這個階段的任務(wù)仍然不是具體地解決客戶的問題,而是準(zhǔn)確地回答“目標(biāo)系統(tǒng)必須做什么”這個問題。(4總體設(shè)計這個階段的基本任務(wù)是,概括地回答“怎樣實現(xiàn)目標(biāo)系統(tǒng)?”這個問題。概要設(shè)計又稱為初步設(shè)計、邏輯設(shè)計、高層設(shè)計或總體設(shè)計。(5詳細設(shè)計這個階段的任務(wù)還不是編寫程序,而是設(shè)計出程序的詳細規(guī)格說明。這種規(guī)格說明的作用很類似于其他工程領(lǐng)域中工程師經(jīng)常使用的工程藍圖,它們應(yīng)該包含必要的細節(jié),程序員可以根據(jù)它們寫出實際的程序代碼。(6編碼實現(xiàn)(語言,測試這個階段的關(guān)鍵任務(wù)是寫出正確的容易理解、容易維護的程序模塊。(7維護維護階段的關(guān)鍵任務(wù)是,通過各種必要的維護活動使系統(tǒng)持久地滿足用戶的需要。

(8面向?qū)ο蠹夹g(shù)(9項目管理

1.軟件工程學(xué):為了更有效地開發(fā)與維護軟件,軟件工作者早20世紀(jì)60年代后期開始認真

研究消除軟件危機的途徑,從而逐漸形成了一門新興的工程學(xué)科。2.軟件危機典型變現(xiàn):(1.對軟件發(fā)開成本和進度的估計常常不準(zhǔn)確.(2.用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生.(3.軟件產(chǎn)品的質(zhì)量往往靠不住.(4.軟件常常是不可維護的.(5.軟件通常沒有適當(dāng)?shù)奈臋n資料.(6.軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升.(7.軟件開發(fā)產(chǎn)生率提高的速度,遠遠跟不上計算機應(yīng)用迅速普及深入的趨勢.3.產(chǎn)生軟件危機的原因:(1.軟件不同于硬件,它是計算機系統(tǒng)中的邏輯部件而不是物理部件.(2.軟件不同于一般程序,它的一個顯著特點是規(guī)模龐大,而且程序復(fù)雜性將隨著程序規(guī)模 的增加而呈指數(shù)上升.(3.軟件本身獨有的特點確實給開發(fā)和維護帶來一些客觀困難.(4與軟件開發(fā)和維護有關(guān)的許多錯誤認識和做法形成,可以歸因于在計算機系統(tǒng)發(fā)展的早

期階段軟件開發(fā)的個體特點.4.消除軟件危機的途徑:(1.應(yīng)該對計算機軟件有一個正確的認識.(2.充分認識到軟件開發(fā)不是某種個體勞動的神秘技巧,而應(yīng)該是組織良好、管理嚴密、各

類人員協(xié)同配合、共同完成的工程項目.(3.在使用要總結(jié)出成功的技術(shù)和方法,盡快消除錯誤概念和做法.(4.開發(fā)和使用更好的軟件工具 5.軟件工程的本質(zhì)特性:(1.軟件工程關(guān)注于大型程序的構(gòu)造.(2.軟件工程的中心課題是控制復(fù)雜性.(3.軟件經(jīng)常變化.(4.開發(fā)軟件的效率非常重要.(5.和諧地合作是開發(fā)軟件的關(guān)鍵.(6.軟件必須有效地支持它的用戶.(7.在軟件工程領(lǐng)域中通常由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)

品.6.軟件工程的原理:(1.用分段的生命周期計劃嚴格管理.(2.堅持進行階段評審.(3.實行嚴格的產(chǎn)品控制.(4.采用現(xiàn)代程序設(shè)計技術(shù).(5.結(jié)果應(yīng)能清楚地審查.(6.開發(fā)小組的人員應(yīng)該少而精.(7.承認不斷改進軟件工程實踐的必要性.7.軟件生命周期:由軟件定義、軟件開發(fā)和運行維護3個時期組成,每個時期又進一步劃分成若干個階段.8.軟件開發(fā)時期4個階段:總體設(shè)計,詳細設(shè)計,編碼和單元測試,綜合測試.9.軟件維護,維護階段的關(guān)鍵任務(wù)是,通過各種必要的維護活動使系統(tǒng)持久地滿足用戶的需要.10.瀑布模型的特點:(1.階段間具有順序性和依賴性.(2.推遲實現(xiàn)的觀點.(3.質(zhì)量保證的觀點.11.快速原型模型:是快速建立起來的可以在計算機運行的程序,它所能完成的功能往往是最

終產(chǎn)品能完成的功能的一個子集.12.快速模型的主要優(yōu)點是不帶饋環(huán)的,軟件產(chǎn)品基本上是線性順序進行的.13.可行性研究的目的:用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決.14.可行性的解法:(1技術(shù)可行性.(2經(jīng)濟可行性.(3操作可行性.15.可行性研究過程步驟:(1.復(fù)查系統(tǒng)規(guī)模和目標(biāo).(2.研究目前正在使用的系統(tǒng).(3.導(dǎo)出新系統(tǒng)的高層邏輯模型.(4.進一步定義問題.(5.導(dǎo)出和評價供選擇的解法.(6.推薦行動方針.(7.草擬開發(fā)計劃.(8.書寫文檔提交審查.16.系統(tǒng)流程圖:是概括地描繪物理系統(tǒng)的傳統(tǒng)工具.它的基本思想是用圖形符號以黑盒子形

式描繪組成系統(tǒng)的每個部件.17.數(shù)據(jù)流圖(DFD:是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)

受的變換.18.數(shù)據(jù)字典:是關(guān)于數(shù)據(jù)的信息的集合,就是對數(shù)據(jù)流圖中包括的所有元素的定義的集合.19.數(shù)據(jù)字典組成元素:(1數(shù)據(jù)流.(2數(shù)據(jù)流分量.(3數(shù)據(jù)存儲.(4處理.20.定義數(shù)據(jù)的方法:定義絕大多數(shù)復(fù)雜事物的方法,都是用被定義的事物的成分的某種組合

表示這個事物,這些組成成分又由更底層的成分的組合來定義.21.數(shù)據(jù)字典最重要用途:作為分析階段的工具。

22.為什么要進行需求分析:因為它的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么?”這個問

題。可行性研究階段只是粗略了解用戶的需求,許多細節(jié)被忽略,然而最終的系統(tǒng)中卻不能遺漏任何細節(jié)。所以可行性研究并不能代替需求分析。

23.軟件系統(tǒng)綜合要求:(1功能需求.(2性能需求.(3可靠性和可行性需求.(4出錯處理需求.(5 接口需求.(6約束.(7逆向需求.(8將來可能提出的要求.24.訪談:是最早開始使用的獲取用戶需求的技術(shù),是迄今為止仍然廣泛使用的需求分析技術(shù).25.需求分析過程3種模型:數(shù)據(jù)模型、功能模型和行為模型.26.數(shù)據(jù)模型包含3種相互關(guān)聯(lián)信息:數(shù)據(jù)對象、數(shù)據(jù)對象的屬性及數(shù)據(jù)對象彼此間相互連接的關(guān)系.27.總體設(shè)計的目的:就是回答“概括地說,系統(tǒng)應(yīng)該如何實現(xiàn)?”這個問題.28.總體設(shè)計兩個過程:系統(tǒng)設(shè)計階段,確定系統(tǒng)的具體實現(xiàn)方案;結(jié)構(gòu)設(shè)計階段,確定軟件結(jié)

構(gòu).29.總體設(shè)計過程步驟:(1設(shè)想供選擇的方案.(2選取合理的方案.(3推薦最佳方案.(4功能分

解.(5設(shè)計軟件結(jié)構(gòu).(6設(shè)計數(shù)據(jù)庫.(7制定測試計劃.(8書寫文檔.(9審查和復(fù)查.30.模塊化:就是把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能,把這

些模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求.31.怎做到模塊獨立:開發(fā)具有獨立功能而且和其他模塊之間沒有過多的相互作用的模塊.32模塊獨立兩個定性標(biāo)準(zhǔn)度量:內(nèi)聚和耦合.33.耦合:對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量.34.內(nèi)聚:標(biāo)志著一個模塊各個元素彼此結(jié)合的緊密程度,它是信息隱藏和局部化概念的自然

擴展.35.功能內(nèi)聚10分順序內(nèi)聚9分通信內(nèi)聚7分過程內(nèi)聚5分時間內(nèi)聚3分邏輯內(nèi)聚1 分偶然內(nèi)聚0分

36.設(shè)計時要力爭做到高內(nèi)聚,低耦合.37.啟發(fā)式規(guī)則介紹:(1.改進軟件結(jié)構(gòu)提高模塊獨立性.(2.模塊規(guī)模應(yīng)該適中.(3.深度、寬度、扇出和扇入都應(yīng)適當(dāng).(4.模塊的作用域應(yīng)該在控制域之內(nèi).(5.力爭降低模塊接口的復(fù)雜程度.(6.設(shè)計單入口單出口的模塊.(7.模塊功能應(yīng)該可以預(yù)測

38.交換流:信息沿輸入通信路進入系統(tǒng),同時由外部形式變換成內(nèi)部形式,進入系統(tǒng)的信息通

過變換中心,經(jīng)加工處理以后再沿輸出路變成外部形式離開軟件系統(tǒng).39.事務(wù)流:數(shù)據(jù)沿輸入通路到達一個處理T,這個處理根據(jù)輸入數(shù)據(jù)的類型在若干個動作序列

中選出一個來執(zhí)行.40.詳細設(shè)計目標(biāo):確定應(yīng)該怎樣具體地實現(xiàn)所要求的系統(tǒng).41.結(jié)構(gòu)程序設(shè)計:如果一個程序的代碼塊僅僅通過順序、選擇和循環(huán)這3種基本控制結(jié)構(gòu)進

行連接,并且每個代碼只有一個入口和一個出口.42.實現(xiàn):通常把編碼和測試統(tǒng)稱.43.編碼:就是那軟件設(shè)計結(jié)果翻譯成用某種程序設(shè)計語言書寫的程序.44.測試方法:黑盒測試(知產(chǎn)品的功能可測試和白盒測試(知產(chǎn)品內(nèi)部工作過程可測試

45.測試步驟:(1模塊測試.(2子系統(tǒng)測試.(3系統(tǒng)測試.(4驗收測試.(5平行運行.46.測試重點:(1模塊接口(2局部數(shù)據(jù)結(jié)構(gòu)(3重要的執(zhí)行通路(4出錯處理通路(5邊界條件.47.確認測試:也稱驗收測試,它的目標(biāo)是驗收軟件的有效性.48.Alpha測試:由用戶在開發(fā)者的場所進行,并且在開發(fā)者對用戶的“指導(dǎo)”下進行測試.開發(fā)者

負責(zé)記錄發(fā)現(xiàn)的錯誤和使用中遇到的問題.49.Beta測試:由軟件的最終用戶在一個或多個客戶場所進行.與Alpha測試不同,開發(fā)者通常

不在Beta測試的現(xiàn)場,因此,Bate測試時軟件在開發(fā)者不能控制的環(huán)境中的“真實”應(yīng)用.50.調(diào)試:是在測試發(fā)現(xiàn)錯誤之后排除錯誤的過程.51.軟件維護:就是在軟件已經(jīng)交付使用之后,為了改正錯誤或滿足新的需要而修改的過程.52.改正性維護:診斷和改正錯誤的過程.53.決定軟件維護性的因素:(1可理解性.(2可測試性.(3可修改性.(4可移植性.(5可重用性.54.用戶文檔:是用戶了解系統(tǒng)的第一步,它應(yīng)該能使用戶獲得對系統(tǒng)的準(zhǔn)確的初步印象.55.用戶文檔包括的內(nèi)容:(1功能描述(2安裝文檔(3使用手冊(4參考手冊(5操作員指南.56.系統(tǒng)文檔:指從問題定義、需求說明到驗收測試計劃這樣一系列和系統(tǒng)實現(xiàn)有關(guān)的文檔.

第四篇:《軟件工程導(dǎo)論》講稿

《軟件工程導(dǎo)論》講稿

主講教師:楊懷洲 郵箱:hzyang@xsyu.edu.cn

電話:***

第1章 軟件工程學(xué)概述

1.1軟件危機

1.1.1軟件危機的介紹 1.1.2產(chǎn)生軟件危機的原因

圖1.1引入同一變動付出的代價隨時間變化的趨勢

1.1.3消除軟件危機的途徑

1.2軟件工程

1.2.1軟件工程的介紹

1.軟件工程關(guān)注于大型程序的構(gòu)造 2.軟件工程的中心課題是控制復(fù)雜性 3.軟件經(jīng)常變化

4.開發(fā)軟件的效率非常重要 5.和諧地合作是開發(fā)軟件的關(guān)鍵 6.軟件必須有效地支持它的用戶

7.在軟件工程領(lǐng)域中通常由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品

1.2.2軟件工程的基本原理

1.用分階段的生命周期計劃嚴格管理 2.堅持進行階段評審 3.實行嚴格的產(chǎn)品控制 4.采用現(xiàn)代程序設(shè)計技術(shù) 5.結(jié)果應(yīng)能清楚地審查

6.開發(fā)小組的人員應(yīng)該少而精

7.承認不斷改進軟件工程實踐的必要性

1.2.3軟件工程方法學(xué)

1.傳統(tǒng)方法學(xué) 2.面向?qū)ο蠓椒▽W(xué)

1.3軟件生命周期

1.問題定義 2.可行性研究 3.需求分析 4.總體設(shè)計 5.詳細設(shè)計

6.編碼和單元測試 7.綜合測試 8.軟件維護

1.4軟件過程

1.4.1瀑布模型

圖1.2傳統(tǒng)的瀑布模型

1.階段間具有順序性和依賴性 2.推遲實現(xiàn)的觀點 3.質(zhì)量保證的觀點

圖1.3實際的瀑布模型

1.4.2快速原型模型

圖1.4快速原型模型 1.4.3增量模型

圖1.5增量模型

圖1.6風(fēng)險更大的增量模型

1.4.4螺旋模型

圖1.7簡化的螺旋模型

圖1.8完整的螺旋模型

1.4.5噴泉模型

圖1.9噴泉模型 1.4.6 Rational統(tǒng)一過程

1.最佳實踐

2.RUP軟件開發(fā)生命周期

圖1.10 RUP軟件開發(fā)生命周期

1.4.7敏捷過程與極限編程

1.敏捷過程 2.極限編程

圖1.11 XP項目的整體開發(fā)過程

圖1.12 XP迭代開發(fā)過程

1.4.8微軟過程

1.微軟過程準(zhǔn)則 2.微軟軟件生命周期

圖1.13微軟軟件生命周期階段劃分和主要里程碑

3.微軟過程模型

圖1.14微軟過程的生命周期模型

第2章 可行性研究

2.1可行性研究的任務(wù) 2.2可行性研究過程

1.復(fù)查系統(tǒng)規(guī)模和目標(biāo) 2.研究目前正在使用的系統(tǒng) 3.導(dǎo)出新系統(tǒng)的高層邏輯模型 4.進一步定義問題

5.導(dǎo)出和評價供選擇的解法 6.推薦行動方針 7.草擬開發(fā)計劃 8.書寫文檔提交審查

2.3系統(tǒng)流程圖

2.3.1符號 2.3.2例子

圖2.1基本符號

圖2.2系統(tǒng)符號

圖2.3庫存清單系統(tǒng)的系統(tǒng)流程圖 2.3.3分層

2.4數(shù)據(jù)流圖

2.4.1符號

圖2.4數(shù)據(jù)流圖的符號 2.4.2例子

圖2.5定貨系統(tǒng)的基本系統(tǒng)模型

圖2.6定貨系統(tǒng)的功能級數(shù)據(jù)流圖

圖2.7把處理事務(wù)的功能進一步分解后的數(shù)據(jù)流圖 2.4.3命名

1.為數(shù)據(jù)流(或數(shù)據(jù)存儲)命名 2.為處理命名

2.4.4用途

圖2.8這種劃分自動化邊界的方法暗示以

圖2.9另一種劃分自動化邊界的方法建議 2.5數(shù)據(jù)字典

2.5.1數(shù)據(jù)字典的內(nèi)容

2.5.2定義數(shù)據(jù)的方法 2.5.3數(shù)據(jù)字典的用途

2.5.4數(shù)據(jù)字典的實現(xiàn)

2.6成本/效益分析

2.6.1成本估計

1.代碼行技術(shù) 2.任務(wù)分解技術(shù)

3.自動估計成本技術(shù)

2.6.2成本/效益分析的方法

1.貨幣的時間價值

2.投資回收期 3.純收入 4.投資回收率

第3章 需求分析

3.1需求分析的任務(wù)

3.1.1確定對系統(tǒng)的綜合要求

1.功能需求 2.性能需求

3.可靠性和可用性需求 4.出錯處理需求 5.接口需求 6.約束 7.逆向需求

8.將來可能提出的要求

3.1.2分析系統(tǒng)的數(shù)據(jù)要求 3.1.3導(dǎo)出系統(tǒng)的邏輯模型 3.1.4修正系統(tǒng)開發(fā)計劃

3.2與用戶溝通獲取需求的方法

3.2.1訪談

3.2.2面向數(shù)據(jù)流自頂向下求精

圖3.1面向數(shù)據(jù)流自頂向下求精過程 3.2.3簡易的應(yīng)用規(guī)格說明技術(shù) 3.2.4快速建立軟件原型

3.3分析建模與規(guī)格說明

3.3.1分析建模 3.3.2軟件需求規(guī)格說明

3.4實體聯(lián)系圖

3.4.1數(shù)據(jù)對象 3.4.2屬性 3.4.3聯(lián)系

圖3.2某校教學(xué)管理ER圖 3.4.4實體聯(lián)系圖的符號

3.5數(shù)據(jù)規(guī)范化

3.6狀態(tài)轉(zhuǎn)換圖

3.6.1狀態(tài)

3.6.2事件

3.6.3符號

圖3.3狀態(tài)圖中使用的主要符號

3.6.4例子

圖3.4電話系統(tǒng)的狀態(tài)圖 3.7其他圖形工具

3.7.1層次方框圖

圖3.5層次方框圖的一個例子

3.7.2 Warnier圖

圖3.6 Warnier圖的一個例子

3.7.3 IPO圖

圖3.7 IPO圖的一個例子

圖3.8改進的IPO圖的形式

3.8驗證軟件需求

3.8.1從哪些方面驗證軟件需求的正確性 3.8.2驗證軟件需求的方法

1.驗證需求的一致性 2.驗證需求的現(xiàn)實性

3.驗證需求的完整性和有效性

3.8.3用于需求分析的軟件工具 第4章 形式化說明技術(shù)

4.1概述

4.1.1非形式化方法的缺點 4.1.2形式化方法的優(yōu)點 4.1.3應(yīng)用形式化方法的準(zhǔn)則

4.2有窮狀態(tài)機

4.2.1概念

圖4.1保險箱的狀態(tài)轉(zhuǎn)換圖

4.2.2例子

圖4.2電梯按鈕的狀態(tài)轉(zhuǎn)換圖

圖4.3樓層按鈕的狀態(tài)轉(zhuǎn)換圖

圖4.4電梯的狀態(tài)轉(zhuǎn)換圖

4.2.3評價

4.3 Petri網(wǎng)

4.3.1概念

圖4.5 Petri網(wǎng)的組成

圖4.6帶標(biāo)記的Petri網(wǎng)

4.3.2例子

1.電梯按鈕

2.樓層按鈕

圖4.7圖4.6的Petri網(wǎng)在轉(zhuǎn)換t1被激發(fā)后的情況

圖4.8圖4.7的Petri網(wǎng)在轉(zhuǎn)換t2被激發(fā)后的情況

圖4.9含禁止線的Petri網(wǎng)

圖4.10 Petri網(wǎng)表示的電梯按鈕

4.4 Z語言4.4.1簡介

1.給定的集合 2.狀態(tài)定義

3.初始狀態(tài) 4.操作

圖4.11Petri網(wǎng)表示樓層按鈕

圖4.12Z格S的格式

圖4.13Z格Button_State

圖4.14操作Push_Button的Z規(guī)格說明

圖4.15操作Floor_Arrival的Z規(guī)格說明

4.4.2評價

第5章 總體設(shè)計

5.1設(shè)計過程

1.設(shè)想供選擇的方案 2.選取合理的方案 3.推薦最佳方案 4.功能分解 5.設(shè)計軟件結(jié)構(gòu) 6.設(shè)計數(shù)據(jù)庫 7.制定測試計劃 8.書寫文檔 9.審查和復(fù)審

5.2設(shè)計原理

5.2.1模塊化

圖5.1模塊化和軟件成本

5.2.2抽象 5.2.3逐步求精 5.2.4信息隱藏和局部化 5.2.5模塊獨立

1.耦合 2.內(nèi)聚

5.3啟發(fā)規(guī)則

1.改進軟件結(jié)構(gòu)提高模塊獨立性 2.模塊規(guī)模應(yīng)該適中

3.深度、寬度、扇出和扇入都應(yīng)適當(dāng) 4.模塊的作用域應(yīng)該在控制域之內(nèi)

圖5.2模塊的作用域和控制域

5.力爭降低模塊接口的復(fù)雜程度 6.設(shè)計單入口單出口的模塊 7.模塊功能應(yīng)該可以預(yù)測

5.4描繪軟件結(jié)構(gòu)的圖形工具

5.4.1層次圖和HIPO圖

圖5.3正文加工系統(tǒng)的層次圖

圖5.4帶編號的層次圖(H圖)5.4.2結(jié)構(gòu)圖

圖5.5結(jié)構(gòu)圖的例子——產(chǎn)生最佳解的一般結(jié)構(gòu)

圖5.6判定為真時調(diào)用A,為假時調(diào)用B

圖5.7模塊M循環(huán)調(diào)用模塊A、B、C 5.5面向數(shù)據(jù)流的設(shè)計方法

5.5.1概念

1.變換流 2.事務(wù)流

3.設(shè)計過程

圖5.8變換流

圖5.9事務(wù)流

圖5.10面向數(shù)據(jù)流方法的設(shè)計過程

5.5.2變換分析

1.例子 2.設(shè)計步驟

圖5.11數(shù)字儀表板系統(tǒng)的數(shù)據(jù)流圖

圖5.12具有邊界的數(shù)據(jù)流圖

圖5.13第一級分解的方法

圖5.14數(shù)字儀表板系統(tǒng)的第一級分解

圖5.15第二級分解的方法

圖5.16未經(jīng)精化的輸入結(jié)構(gòu)

圖5.17未經(jīng)精化的變換結(jié)構(gòu)

圖5.18未經(jīng)精化的輸出結(jié)構(gòu)

圖5.19精化后的數(shù)字儀表板系統(tǒng)的軟件結(jié)構(gòu)

5.5.3事務(wù)分析

圖5.20事務(wù)分析的映射方法

5.5.4設(shè)計優(yōu)化

第6章 詳細設(shè)計

6.1結(jié)構(gòu)程序設(shè)計

圖6.1 3種基本的控制結(jié)構(gòu)

圖6.2其他常用的控制結(jié)構(gòu)

6.2人機界面設(shè)計

6.2.1設(shè)計問題

1.系統(tǒng)響應(yīng)時間 2.用戶幫助設(shè)施 3.出錯信息處理 4.命令交互 6.2.2設(shè)計過程 6.2.3人機界面設(shè)計指南

1.一般交互指南 2.信息顯示指南 3.數(shù)據(jù)輸入指南

6.3過程設(shè)計的工具

6.3.1程序流程圖 6.3.2盒圖

圖6.3程序流程圖中使用的符號

圖6.4盒圖的基本符號

6.3.3PAD圖

圖6.5PAD圖的基本符號

圖6.6使用PAD圖提供的定義功能來逐步求精的例子 6.3.4判定表

6.3.5判定樹 6.3.6過程設(shè)計語言

圖6.7用判定樹表示計算行李費的算法 6.4面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法

6.4.1Jackson圖

1.順序結(jié)構(gòu) 2.選擇結(jié)構(gòu)

圖6.8A由B、C、D 3個元素順序組成

圖6.9根據(jù)條件A是B或C或D中的某一個

3.重復(fù)結(jié)構(gòu)

圖6.10A由B出現(xiàn)N次(N≥0)組成

6.4.2改進的Jackson圖

圖6.11改進的Jackson圖 6.4.3Jackson方法

圖6.12表示輸入輸出數(shù)據(jù)結(jié)構(gòu)的Jackson圖

圖6.13描繪統(tǒng)計空格程序結(jié)構(gòu)的Jackson圖

圖6.14把操作和條件分配到程序結(jié)構(gòu)圖的適當(dāng)位置

6.5程序復(fù)雜程度的定量度量

6.5.1McCabe方法

1.流圖

圖6.15把程序流程圖映射成流圖

圖6.16由PDL翻譯成的流圖

圖6.17由包含復(fù)合條件的PDL映射成的流圖

2.計算環(huán)形復(fù)雜度的方法 3.環(huán)形復(fù)雜度的用途

6.5.2 Halstead方法

6.6小結(jié)

第7章 實現(xiàn)

7.1編碼

7.1.1選擇程序設(shè)計語言 7.1.2編碼風(fēng)格

1.程序內(nèi)部的文檔 2.數(shù)據(jù)說明 3.語句構(gòu)造 4.輸入輸出 5.效率

7.2軟件測試基礎(chǔ)

7.2.1軟件測試的目標(biāo) 7.2.2軟件測試準(zhǔn)則 7.2.3測試方法 7.2.4測試步驟

1.模塊測試 2.子系統(tǒng)測試 3.系統(tǒng)測試 4.驗收測試 5.平行運行 7.2.5測試階段的信息流

圖7.1測試階段的信息流

7.3單元測試

7.3.1測試重點

1.模塊接口 2.局部數(shù)據(jù)結(jié)構(gòu) 3.重要的執(zhí)行通路 4.出錯處理通路 5.邊界條件

7.3.2代碼審查 7.3.3計算機測試

圖7.2正文加工系統(tǒng)的層次圖 7.4集成測試

7.4.1自頂向下集成

圖7.3自頂向下結(jié)合

7.4.2自底向上集成

圖7.4自底向上結(jié)合 7.4.3不同集成測試策略的比較 7.4.4回歸測試

7.5確認測試

7.5.1確認測試的范圍 7.5.2軟件配置復(fù)查 7.5.3Alpha和Beta測試

7.6白盒測試技術(shù)

7.6.1邏輯覆蓋

1.語句覆蓋

圖7.5被測試模塊的流程圖

2.判定覆蓋 3.條件覆蓋

4.判定/條件覆蓋 5.條件組合覆蓋 6.點覆蓋 7.邊覆蓋 8.路徑覆蓋 7.6.2控制結(jié)構(gòu)測試

1.基本路徑測試

圖7.6求平均值過程的流圖

2.條件測試 3.循環(huán)測試

圖7.73種循環(huán) 7.7黑盒測試技術(shù)

7.7.1等價劃分

7.7.2邊界值分析 7.7.3錯誤推測

7.8調(diào)試 7.8.1調(diào)試過程

圖7.8調(diào)試過程

7.8.2調(diào)試途徑

1.蠻干法 2.回溯法 3.原因排除法

7.9軟件可靠性

7.9.1基本概念

1.軟件可靠性的定義 2.軟件的可用性

7.9.2估算平均無故障時間的方法

1.符號 2.基本假定

3.估算平均無故障時間 4.估計錯誤總數(shù)的方法

第8章 維護

8.1軟件維護的定義 8.2軟件維護的特點

8.2.1結(jié)構(gòu)化維護與非結(jié)構(gòu)化維護差別巨大

1.非結(jié)構(gòu)化維護 2.結(jié)構(gòu)化維護

8.2.2維護的代價高昂 8.2.3維護的問題很多

8.3軟件維護過程

1.維護組織 2.維護報告 3.維護的事件流

圖8.1維護階段的事件流

4.保存維護記錄 5.評價維護活動

8.4軟件的可維護性

8.4.1決定軟件可維護性的因素

1.可理解性

2.可測試性

3.可修改性

4.可移植性

5.可重用性

8.4.2文檔

1.用戶文檔 2.系統(tǒng)文檔

8.4.3可維護性復(fù)審

8.5預(yù)防性維護 8.6軟件再工程過程

圖8.2軟件再工程過程模型

1.庫存目錄分析 2.文檔重構(gòu) 3.逆向工程 4.代碼重構(gòu) 5.數(shù)據(jù)重構(gòu) 6.正向工程 第9章 面向?qū)ο蠓椒▽W(xué)引論

9.1面向?qū)ο蠓椒▽W(xué)概述

9.1.1面向?qū)ο蠓椒▽W(xué)的要點 9.1.2面向?qū)ο蠓椒▽W(xué)的優(yōu)點

1.與人類習(xí)慣的思維方法一致 2.穩(wěn)定性好 3.可重用性好

4.較易開發(fā)大型軟件產(chǎn)品 5.可維護性好

9.2面向?qū)ο蟮母拍?/p>

9.2.1對象

1.對象的形象表示

圖9.1對象的形象表示

2.對象的定義

圖9.2用自動機模擬對象

3.對象的特點 9.2.2其他概念

1.類(class)2.實例(instance)3.消息(message)4.方法(method)5.屬性(attribute)6.封裝(encapsulation)7.繼承(inheritance)

圖9.3實現(xiàn)繼承機制的原理

8.多態(tài)性(polymorphism)9.重載(overloading)9.3面向?qū)ο蠼?9.4對象模型

9.4.1類圖的基本符號

1.定義類

圖9.4表示類的圖形符號

2.定義屬性 3.定義服務(wù)

9.4.2表示關(guān)系的符號

1.關(guān)聯(lián)

圖9.5普通關(guān)聯(lián)示例

第五篇:卷-軟件工程導(dǎo)論

21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達了系統(tǒng)中各種元素之間的(信息流動)情況。

[解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中的各個元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫、文件、設(shè)備等,表達了元素之間的信息流動的情況。22.成本效益分析的目的是從(經(jīng)濟)角度評價開發(fā)一個項目是否可行。[解析]成本效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本,然后與可能取得的效益進行比較和權(quán)衡,其目的是從經(jīng)濟角度評價開發(fā)一個新的軟件項目是否可行。

23.自頂向下結(jié)合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略)。

[解析]漸增式測試法有自頂向下結(jié)合和自底向上結(jié)合兩種組裝模塊的方法,其中自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,不需要編寫驅(qū)動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或?qū)挾葍?yōu)先的策略,逐步把各個模塊集成在一起。

24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑中未有過)的邊的路徑。[解析]在基本路徑測試中,以詳細設(shè)計或源程序為基礎(chǔ),導(dǎo)出控制流程圖的拓撲結(jié)構(gòu)——程序圖,在計算了程序圖的環(huán)路復(fù)雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。

25.匯編語言是面向(機器)的,可以完成高級語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。

[解析]匯編語言屬于低級語言,是一種面向機器的語言,它與高級語言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設(shè)備的接口工作等,是能夠利用計算機硬件特性直接控制硬件設(shè)備的唯一語言。

26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是(中間數(shù)據(jù)結(jié)構(gòu)或中間文件)。

[解析]JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法。它定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件,將沖突部分分隔開來,建立多個程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。

27.詳細設(shè)計的任務(wù)是確定每個模塊的內(nèi)部特性,即模塊的算法、(使用的數(shù)據(jù))。[解析]詳細設(shè)計的基本任務(wù)是為每個模塊進行詳細的算法設(shè)計,為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進行設(shè)計,確定每個模塊的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對數(shù)據(jù)庫進行物理設(shè)計等。28.所有軟件維護申請報告要按規(guī)定方式提出,該報告也稱(軟件問題)報告。[解析]在軟件維護的流程中,第一步就是制定維護申請報告,也稱為軟件問題報告,它是維護階段的一種文檔,由申請維護的用戶填寫。

29.有兩類維護技術(shù):在開發(fā)階段使用來減少錯誤、提高軟件可維護性的面向維護的技術(shù);在維護階段用來提高維護的效率和質(zhì)量的(維護支援)技術(shù)。[解析]面向維護的技術(shù)涉及軟件開發(fā)的所有階段,能夠減少軟件錯誤,提高軟件的可維護性。而維護支援技術(shù)則包含信息收集,錯誤原因分析,維護方案評價等項,是在軟件維護階段用來提高維護效率和質(zhì)量的技術(shù)。

30.科學(xué)工程計算需要大量的標(biāo)準(zhǔn)庫函數(shù),以便處理復(fù)雜的數(shù)值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。

[解析]計算機語言根據(jù)不同行業(yè)的需求,使用的側(cè)重點也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫語言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計算機語言的科學(xué)計算能力就顯得格外重要,如MATLAB、PL/

1、FORTRAN語言都是工程計算中常用的語言。

解:投資回收期就是使累計的經(jīng)濟效益等于最初的投資費用所需的時間。[解析]通常我們用投資回收期來衡量一個開發(fā)項目的價值,投資回收期越短,就越快獲得利潤。34.對應(yīng)關(guān)系

解:即有直接因果關(guān)系在程序中可以同時處理。[解析]對應(yīng)關(guān)系是指數(shù)據(jù)單元在數(shù)據(jù)內(nèi)容上、數(shù)量上和順序上有直接的因果關(guān)系,對于重復(fù)的數(shù)據(jù)單元,重復(fù)的次序和次數(shù)都相同才有對應(yīng)關(guān)系。35.結(jié)構(gòu)沖突

解:輸入數(shù)據(jù)與輸出數(shù)據(jù)結(jié)構(gòu)找不到對應(yīng)關(guān)系的情況,稱為結(jié)構(gòu)沖突。

[解析]使用JSP方法時會遇到此類結(jié)構(gòu)沖突問題,對此,Jackson提出了引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件的辦法,將沖突部分分隔開來,建立多個程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。

40.請使用PAD圖和PDL語言描述在數(shù)組A(1)~A(10)中找最大數(shù)的算法。解:PDL語言: N=1 WHILE N<=10 DO IF A(N)<=A(N+1)MAX =A(N+1);ELSE MAX =A(N)ENDIF;N=N+1;ENDWHILE;PAD圖:

42.某電器集團公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位。現(xiàn)在想建立一個計算機輔助企業(yè)管理系統(tǒng),其中: 生產(chǎn)科的任務(wù)是:

(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計劃。

(2)根據(jù)車間實際生產(chǎn)日報表、周報表調(diào)整月生產(chǎn)計劃

(3)以月生產(chǎn)計劃為以及,制定產(chǎn)品設(shè)計(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計劃。(4)將產(chǎn)品的組裝計劃傳達到各科,將組裝月計劃分解為周計劃,下達給車間 技術(shù)科的任務(wù)是:

(1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計劃進行產(chǎn)品結(jié)構(gòu)設(shè)計,產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。

(2)根據(jù)組裝計劃進行產(chǎn)品工藝設(shè)計,根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。解

[解析]軟件結(jié)構(gòu)圖是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制層次體系,軟件結(jié)構(gòu)往往用樹狀或網(wǎng)狀結(jié)構(gòu)的圖形來表示,其主要內(nèi)容有模塊及模塊的控制關(guān)系,根據(jù)題意,可繪制出生產(chǎn)科和技術(shù)科的軟件結(jié)構(gòu)圖,其中生產(chǎn)科的結(jié)構(gòu)圖深度和寬度均為4,技術(shù)科的結(jié)構(gòu)圖的深度和寬度均為3

填空題

1.在信息處理和計算機領(lǐng)域內(nèi),一般認為軟件是 _程序、_文檔____ 和_數(shù)據(jù)

2.數(shù)據(jù)流圖的基本組成部分有 數(shù)據(jù)的源點與終點、數(shù)據(jù)流_、加工、數(shù)據(jù)文件。3.數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成了系統(tǒng)的邏輯模型,是需求規(guī)格說明書的主要組成部分。4.劃分模塊時盡量做到__高內(nèi)聚、低耦合,保持模塊的獨立性,盡量使用公共模塊。5.類的實例化是_對象_______。

6.人們常用硬件可靠性的定量度量方法來度量軟件的可靠性和可用性,常用的度量軟件可靠性的兩個指標(biāo)是_成功地運行的概率_______和_平均故障時間_______。8.將待開發(fā)的軟件細化,分別估算每一個子任務(wù)所需要的開發(fā)工作量,然后將它們加起來,將得到軟件的總開發(fā)量。這種成本估算方法稱為_自底向上_______。

9.如果一個模塊被 n 個模塊調(diào)用,其中直接的上級模塊的個數(shù)是 m 個(m<=n)那么該模塊的扇入數(shù)是 ____N_______ 個。

10.結(jié)構(gòu)化設(shè)計以 __數(shù)據(jù)流圖_________ 為基礎(chǔ),按一定的步驟映射成軟件結(jié)構(gòu)。

11.軟件的風(fēng)險分析可包括風(fēng)險識別、風(fēng)險預(yù)測 和風(fēng)險駕馭(或風(fēng)險管理)等3項活動。12.軟件著作權(quán)登記的3種主要類型:(1)著作權(quán)登記;(2)著作權(quán)延續(xù)登記;(3)權(quán)利轉(zhuǎn)移備案登記。

13.軟件工程管理的主要內(nèi)容有:項目經(jīng)費管理,軟件質(zhì)量管理,項目進度管理和人員管理。15.面向?qū)ο蠓治龅哪康氖菍陀^世界的系統(tǒng)進行 ___建模_______________。16.軟件維護工作的生產(chǎn)性活動包括分析評價、修改設(shè)計和 ____編寫程序代碼等。17.為了使應(yīng)用軟件適應(yīng)計算機環(huán)境的變化而 ___修改軟件的過程稱為適應(yīng)性維護。18.一個進行學(xué)生成績統(tǒng)計的模塊其功能是先對學(xué)生的成績進行累加,然后求平均值,則該模塊的內(nèi)聚性是 __________順序內(nèi)聚________。

19.投資回收期就是使累計的經(jīng)濟效益等于 __最初的投資費用_所需的時間。

20.軟件生存周期是指一個軟件從提出開發(fā)要求開始直到 _軟件廢棄_為止的整個時期。21.曾被譽為“程序設(shè)計方法的革命”的 結(jié)構(gòu)化 程序設(shè)計,使程序設(shè)計從主要依賴于程序員個人的自由活動變成為有章可循的一門科學(xué)。

22.從結(jié)構(gòu)化程序設(shè)計到 面向?qū)ο蟪绦蛟O(shè)計,是程序設(shè)計方法的又一次飛躍。23.在單元測試時,需要為被測模塊設(shè)計___測試用例_______。

三、應(yīng)用題

1.商店業(yè)務(wù)處理系統(tǒng)的業(yè)務(wù)描述及數(shù)據(jù)流圖如下:

顧客到商店購物時,在經(jīng)過挑選之后填寫了一張訂單,詳細列出了想要購買的物品名稱、規(guī)格和數(shù)量等。商店接到訂單后首先查商品庫存,看是否有足夠的存貨。若有,則出庫且修改商品庫存文件,然后給顧客開發(fā)貨票,讓顧客交款、給顧客開收據(jù)并取貨,最后登記銷售歷史。若存貨不足,則暫存顧客訂單并向采購部門發(fā)出訂貨通知。采購部門根據(jù)商品庫存和暫存訂單信息向供應(yīng)商訂貨。待接到供應(yīng)商發(fā)來的相應(yīng)商品時,通知財務(wù)部門向供應(yīng)商付款,并向銷售部門發(fā)出到貨通知,同時,采購部門要修改商品庫存和暫存訂單信息。當(dāng)銷售部門接到到貨通知時,應(yīng)通知顧客來付款取貨。財務(wù)部門依據(jù)供應(yīng)商送來的收據(jù)記賬。

試求解下列問題: 1).針對處理1,給出該處理的一級細化的DFD(要求給出合適的數(shù)據(jù)流與數(shù)據(jù)存儲說明); 2).針對處理2,給出該處理的一級細化的DFD(要求給出合適的數(shù)據(jù)流與數(shù)據(jù)存儲說明); 3).給出“發(fā)貨單”的DD定義; 4).給出“訂貨單”的DD定義; 5).根據(jù)你對問題的理解,給出“商品庫存”這個數(shù)據(jù)存儲的數(shù)據(jù)結(jié)構(gòu)描述。6).根據(jù)你對問題的理解,給出“銷售歷史”這個數(shù)據(jù)存儲的數(shù)據(jù)結(jié)構(gòu)描述。

第一章:軟件工程學(xué)概述 一.填空題

1.計算機科學(xué)中的研究成果均可用于軟件工程,但計算機科學(xué)更側(cè)重于_____________、而 軟件工程側(cè)重于_____________。

2.計算機程序及其說明程序的各種文檔稱為_____________。計算任務(wù)的處理圖像對象和處 理規(guī)則的描述稱為_____________。有關(guān)計算機程序功能、設(shè)計、編制、使用的文字或圖形資

料稱為_____________。

3.軟件開發(fā)環(huán)境是相關(guān)一組_____________的集合,它支持一定的軟件開發(fā)方法或按照一定 的軟件開發(fā)模型組織而成的。

4.CASE這一術(shù)語的英文是_____________。

5._____________是指工具運行在相同的硬件/操作系統(tǒng)平臺上。_____________是指工具使 用共享數(shù)據(jù)模型來操作。_____________是指工具提供相同的用戶界面。

6.根據(jù)支持的范圍,CASE工具可分為_____________、_____________和_____________工具。

7.軟件危機的主要原因有_____________和_____________。8._____________模型是一種非整體開發(fā)的模型。軟件在該模型中是“逐漸”開發(fā)處理的,開發(fā)出一部分,向用戶展示一部分,可讓用戶及早看到部分軟件,及早發(fā)現(xiàn)問題。或者先開 發(fā)一個“原型”軟件,完成部分主要功能,展示給用戶并征求意見,然后逐步完善,最終獲 得滿意的軟件產(chǎn)品。

9.結(jié)構(gòu)化方法總得指導(dǎo)思想是_____________。它的基本原則是功能的_____________與___ __________。它是軟件工程中最早出現(xiàn)的開發(fā)方法,特別適用于數(shù)據(jù)處理領(lǐng)域的問題。10.面向?qū)ο箝_發(fā)方法包括_____________、_____________、_____________、三部分。11.瀑布模型是將軟件生存周期各個活動規(guī)定為依線性順序連接的若干階段的模型。它包括_____________、項目開發(fā)計劃、_____________、_____________、_____________、_ ____________、_____________、_____________,它規(guī)定了由前至后、相互銜接的固定次序,如同瀑布流水,逐級下落。12.瀑布模型本質(zhì)上是一種_____________順序模型。

13.構(gòu)造原型時,必須注意_____________取舍,忽略一切暫時不關(guān)心的部分。

14.屬性指的是類中對象所具有的_____________。不同對象的同一屬性可以具有相同或不同 的_____________。

15.結(jié)構(gòu)化方法和原型化方法是軟件開發(fā)中常使用的兩種方法,在實際的應(yīng)用中,它們之間 的關(guān)系表現(xiàn)為_____________。解答: 1.原理和理論、如何建造一個軟件系統(tǒng) 2.文件、程序、文檔; 3.軟件工具; 4.Computer Aided Software Engineering;5.平臺集成、數(shù)據(jù)集成、表示集成; 6.窄支持、較寬支持、一般支持; 7.軟件本身的特點、缺乏好的開發(fā)方法和手段; 8.增量; 9.自頂而下逐步求精、分解、抽象; 10.面向?qū)ο蠓治觥⒚嫦驅(qū)ο笤O(shè)計、面向?qū)ο髮崿F(xiàn); 11.可行性分析、需求分析、概要設(shè)計、詳細設(shè)計、編碼、測試、維護; 12.線性; 13.功能性能; 14.性質(zhì)(數(shù)據(jù)值)、屬性值; 15.相互補充;第二章: 可行性研究 一.填空題

1.數(shù)據(jù)詞典中四種類型的條目是_____________、_____________、_____________和加工。2._____________的目的就是用最小的代價在盡可能短的時間內(nèi)確定該軟件項目是否能夠開 發(fā),是否值得開發(fā)。

3.可行性研究的目的不是去開發(fā)一個軟件項目,而是研究這個軟件項目是否_____________。

4.可行性研究實質(zhì)上是要進行一次簡化、壓縮了的_____________和_____________過程,要在較高層次上以較抽象的方式進行需求分析和設(shè)計過程。

5.可行性研究需要從_____________可行性、_____________可行性、_____________可行性 三個方面分析研究每種解決方法的可行性。

6.成本-效益分析首先是估算將要開發(fā)的系統(tǒng)的_____________,然后與可能取得的效益進 行_____________。

7.投資回收期就是使累計的經(jīng)濟效益等于最初的投資費用所需要的時間。項目的_________ ____是指在整個生命周期之內(nèi)的累計經(jīng)濟效益(折合成現(xiàn)在值)與投資之差。8.軟件工程有兩種效益,它們是_____________和_____________。

9.成本-效益分析的目的是從_____________評價開發(fā)一個新的軟件項目是否可行。10.研究開發(fā)資源的有效性是進行_____________可行性研究的一方面。

11.在軟件的可行性研究中,可以從不同的角度對軟件進行研究,其中是從軟件的功能可行 性角度考慮的是_____________。12.制定軟件計劃的目的在于盡早對欲開發(fā)的軟件進行合理估價,軟件計劃的任務(wù)是_______ ______。

13.數(shù)據(jù)流圖是常用的進行軟件需求分析的圖形工具,其基本符合是_____________、______ _______、_____________和_____________。

14.決定大型程序模型組織基本原則的兩種交替設(shè)計策略為_____________和_____________。

15.軟件系統(tǒng)可行性分析應(yīng)考慮_____________、_____________、_____________和________ _____等方面因素。解答: 1.數(shù)據(jù)流、數(shù)據(jù)存儲、數(shù)據(jù)項、加工2.軟件可行性研究 3.值得去開發(fā)且其中的問題能否解決; 4.需求分析、設(shè)計 5.技術(shù)、經(jīng)濟、社會 6.開發(fā)成本、比較和權(quán)衡 7.純收入 8.無形效益、有形效益 9.經(jīng)濟角度 10.技術(shù) 11.技術(shù)可行性 12.規(guī)劃與調(diào)度 13.加工、數(shù)據(jù)流、數(shù)據(jù)存儲、外部實體 14.數(shù)據(jù)分解、算法分解 15.經(jīng)濟、技術(shù)、社會環(huán)境和人。第三章: 需求分析 一.填空題

1.軟件需求分析過程應(yīng)該建立_____________、_____________和_____________ 三種模型。2.需求分析的基本任務(wù)是要準(zhǔn)確地定義_____________,為了滿足用戶需要,回答系統(tǒng)必須 做什么的問題。

3.數(shù)據(jù)流圖有4個基本成分:_____________、_____________、_____________和_________ ____。

4.流向數(shù)據(jù)存儲的數(shù)據(jù)流可理解為_____________文件或_____________文件,從數(shù)據(jù)存儲 流出的數(shù)據(jù)可理解為從文件_____________數(shù)據(jù)或得到_____________結(jié)果。

5.需求分析的困難主要體現(xiàn)在4個方面:問題的復(fù)雜性、_____________、_____________需

求易變性。

6.由于數(shù)據(jù)流是流動中的數(shù)據(jù),所以必須有_____________。除了與_____________之間的 數(shù)據(jù)流不用命名外,數(shù)據(jù)流應(yīng)該用名詞或名詞短語命名。

7.結(jié)構(gòu)化分析方法是面向_____________進行需求分析的方法。8.經(jīng)過需求分析,開發(fā)人員已經(jīng)基本上理解了用戶的要求,確定了目標(biāo)系統(tǒng)的功能,定義 了系統(tǒng)數(shù)據(jù),描述了處理這些數(shù)據(jù)的基本策略。將這些共同的理解進行了整理,最后形成文 檔_____________。

9.在數(shù)據(jù)流圖中,有名字及方向的成分是_____________。

10.在軟件需求分析中,開發(fā)人員要從用戶那里解決的最重要的問題是_____________。11.需求分析的最終結(jié)果是產(chǎn)生_____________。12.SA方法用DFD描述_____________。13.SA方法的基本思想是_____________。

14.常用的需求分析方法有面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法,_____________,面向數(shù)據(jù)結(jié)構(gòu) 的

分析方法等。

15.通過_____________可以完成數(shù)據(jù)流圖的細化。解答: 1.數(shù)據(jù)模型、功能模型、行為模型 2.新系統(tǒng)的目標(biāo) 3.數(shù)據(jù)流、加工(又稱數(shù)據(jù)處理)、數(shù)據(jù)存儲、數(shù)據(jù)源點和終點 4.寫入、查詢、讀、查詢 5.交流障礙、不完備性和不一致性 6.流向、數(shù)據(jù)存儲 7.數(shù)據(jù)流 8.需求說明書 9.數(shù)據(jù)流 10.要讓軟件做什么 11.需求規(guī)格說明書 12.系統(tǒng)的功能 13.自頂向下逐步分解 14.面向?qū)ο蟮姆治龇椒?15.功能分解 第五章: 總體設(shè)計 一.填空題

1.過程設(shè)計語言的重復(fù)結(jié)構(gòu)有_____________結(jié)構(gòu)、_____________結(jié)構(gòu)_____________、結(jié) 構(gòu)三種。

2.結(jié)構(gòu)化程序設(shè)計方法的基本要點是:(1)采用_____________、_____________、的程序 設(shè)計方法;(2)使用_____________構(gòu)造程序;(3)主程序員組的組織形式。

3.在詳細設(shè)計階段,為了提高數(shù)據(jù)的輸入、存儲、檢索等操作的效率并節(jié)約存儲空間,對 某些數(shù)據(jù)項的值要進行_____________設(shè)計。

4.任何程序都可由_____________、_____________和_____________三種基本控制結(jié)構(gòu)構(gòu)造。這三種基本結(jié)構(gòu)的共同點是_____________、_____________。

5.在詳細設(shè)計階段,除了對模塊內(nèi)的算法進行設(shè)計,還應(yīng)對模塊內(nèi)的_____________進行設(shè) 計。

6.在詳細設(shè)計階段,經(jīng)常采用的工具有_____________、PDL、PAD等。7.在單元測試中,測試一個模塊時,需要設(shè)計_____________。

8.軟件產(chǎn)品在交付使用之前一般要經(jīng)過以下4步測試_____________、_____________、____ _________、_____________。

9.軟件測試用例由_____________和_____________組成。10.用黑盒技術(shù)設(shè)計測試用例的方法有_____________、_____________、_____________和__ ___________。

11.源程序中加注釋是幫助理解程序的重要手段,注釋分為_____________、_____________ 兩類。

12.近年來,推出了許多面向?qū)ο蟮恼Z言,如_____________、_____________等。

13.匯編語言是面向_____________的,可以完成_____________語言無法滿足要求的特殊功 能,如與外部設(shè)備之間的一些接口操作。

14.語句構(gòu)造的原則是簡單直接,不能為了追求效率而使代碼_____________ 15._____________是指程序從一個計算機環(huán)境移植到另一個計算機環(huán)境的容易程度 解答: 1.for、while、until 2.自頂向下、逐步求精、三種基本控制結(jié)構(gòu) 3.代碼 4.順序、選擇、重復(fù)、單入口、單出口 5.數(shù)據(jù)結(jié)構(gòu) 6.程序流程圖 7.驅(qū)動模塊和樁模塊 8.單元測試、集成測試、確認測試、系統(tǒng)測試 9.測試輸入數(shù)據(jù)和對應(yīng)的預(yù)期輸出 10.等價類劃分、邊界值分析、錯誤推斷、因果圖 11.序言行注釋、功能性注釋 12.C++、JAVA 13.機器、高級 14.復(fù)雜化; 15.可移植性。

下載軟件工程導(dǎo)論復(fù)習(xí)整理(最新)word格式文檔
下載軟件工程導(dǎo)論復(fù)習(xí)整理(最新).doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    軟件工程導(dǎo)論試題

    軟件工程導(dǎo)論試題 一.選擇 1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計、詳細設(shè)計、編碼、測試和運行、維護。八個階段又......

    教案軟件工程導(dǎo)論

    授課日期: 11月13日課程名稱: 軟件工程導(dǎo)論教學(xué)目的:讓學(xué)生了解軟件以及軟件危機的概念 了解軟件危機出現(xiàn)的原因以及解決途徑 熟悉軟件工程產(chǎn)生的原因以及其生命周期各個階段的......

    軟件工程導(dǎo)論教案

    計算機系統(tǒng)發(fā)展迅速,但是人們?nèi)匀粵]有徹底擺脫“軟件危機”的困擾,軟件已經(jīng)成為限制計算機系統(tǒng)發(fā)展的瓶頸。計算機軟件工程學(xué)就是為了研究如何消除軟件危機而發(fā)展起來的。那么......

    軟件工程導(dǎo)論課程報告

    軟件工程導(dǎo)論課程報告 學(xué)習(xí)軟件工程導(dǎo)論將近一個學(xué)期了,期間學(xué)習(xí)讓我認識和了解到軟件工程專業(yè)的各種相關(guān)知識,為我能學(xué)習(xí)好軟件工程這個專業(yè)打下了專業(yè)背景知識的基礎(chǔ)。自己......

    軟件工程導(dǎo)論填空題總結(jié)

    1.軟件生存周期一般可分為問題定義、可行性研究、需求分析、設(shè)計編碼、測試、運行與維護階段。 2.按軟件的功能進行劃分,軟件可以劃分為系統(tǒng)軟件、支撐軟件 和應(yīng)用軟件。 3.......

    軟件工程導(dǎo)論試題(打印)

    軟件工程導(dǎo)論試題(老師給的) 一.選擇 1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計、詳細設(shè)計、編碼、測試和運行、維護。八......

    軟件工程導(dǎo)論期末試題

    軟件工程導(dǎo)論期末考試試題 一.選擇(20分) 1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計、詳細設(shè)計、編碼、測試和運行、維護......

    軟件工程導(dǎo)論試題(打印)

    軟件工程導(dǎo)論試題(老師給的) 一.選擇 1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計、詳細設(shè)計、編碼、測試和運行、維護。八......

主站蜘蛛池模板: 天堂v亚洲国产v第一次| 人妻少妇88久久中文字幕| 熟女人妻av五十路六十路| 漂亮人妻洗澡被公强 日日躁| 一区二区三区四区在线 | 网站| 18禁黄网站禁片免费观看国产| 午夜性无码专区| 五月综合缴情婷婷六月| 丁香五月综合久久激情| 久久这里只有精品青草| 麻豆一二三区精品蜜桃| 夜夜爽日日澡人人添| 欧美综合自拍亚洲综合区| 亚洲欧美在线观看品| 国产欧美日韩va另类在线播放| 久久伊人精品青青草原vr| 国精品人妻无码一区二区三区性色| av无码国产在线观看岛国| 黑人强伦姧人妻日韩那庞大的| 午夜成人爽爽爽视频在线观看| 97人洗澡从澡人人爽人人模| 天天躁日日躁狠狠躁超碰97| 色欲精品国产一区二区三区av| 亚洲欧洲精品a片久久99| 最新亚洲伦理中文字幕| 亚洲日韩成人无码| 亚洲偷自拍另类图片二区| 亚洲av日韩综合一区在线观看| 6080亚洲人久久精品| 首页 动漫 亚洲 欧美 日韩| 久久人人爽人人爽人人片av东京热| 亚洲av无码一区东京热| 四虎国产精品一区二区| 无码人妻丰满熟妇区毛片18| 少妇内射兰兰久久| 亚洲欧美日韩久久一区二区| 精品无码成人久久久久久| 亚洲欧美尹人综合网站| 免费看撕开奶罩揉吮奶头视频| 亚洲综合av永久无码精品一区二区| 狠狠色噜噜狠狠狠狠色综合网|