軟件工程的基礎知識_第1頁
軟件工程的基礎知識_第2頁
軟件工程的基礎知識_第3頁
軟件工程的基礎知識_第4頁
軟件工程的基礎知識_第5頁
已閱讀5頁,還剩46頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件工程基礎知識

一.什么是軟件?

1.滿足功能規定和性能的指令或計算機程序集合;

2.處理信息的數據構造:

3.描述程序功能以及程序怎樣操作和使用所規定的文檔;

二.軟件危機以及產生軟件危機的原因?

1.軟件開發生產率提高的速度,遠遠跟不上計算機迅速普及的趨勢。軟件產品“供不應求工

2.軟件成本在計算機系統總成本中所占的比例逐年上升。

3.軟件開發人員和顧客之間的信息交流往往很不充足,顧客對“已完畢的”內軟件系統不滿足的現象常常發生。

4.軟件產品口勺質量不輕易保證。

5.軟件產品常常是不可維護的。

6.軟件產品口勺重用性差,同樣的軟件多次反復開

發。

7.軟件一般沒有合適的文檔資料。

產生軟件危機的原因可歸結為兩個重要的方面:

軟件生產自身存在H勺復雜性:

軟件開發所使用的措施和技術。

三.有哪些軟件工程措施學及其要素?

L使用最廣泛的軟件工程措施學是構造化措施學和面向對象的措施學。

2.要素:指施、工具和過程。

四.什么是軟件生存周期?有哪些活動?

4.1軟件生存周期

一種軟件從提出開發規定開始到軟件廢棄不用的整個過程。

4.2開發活動

可行性分析和項目開發計劃、需求分析和定義、軟件設計(先后細分為:概要設計和詳細設計)、編碼、測試和運行維

4.3各活動階段重要文檔

可行行分析和項目開發計劃

可性行研究匯報

項目開發計劃

需求分析中的文檔

需求規格閩明書

初步顧客使用手冊

確認測試計劃

修改完善的軟件開發計劃

概要設計階段文檔

概要設計閩明書

數據庫闡明書

顧客手冊

修訂的測試計劃(測試的方略、措施、環節)

詳細設計階段

詳細設計闡明書

系統測試階段

系統測試計劃文檔

五.有哪些重要生存期模型?

瀑布模型、原型開發模型(迅速原型模型、演化模型、增量模型)、螺旋模型、噴泉模型、

5.1瀑布模型

瀑布模型(老式的軟件周期模型)嚴格遵照軟件生命周期各階段的固定次序:計劃、分析、設計、編程、測試和維護,上

一階段完畢后才能進入到下一階段,整個模型就像一種飛流直下H勺瀑布。

長處:可強迫開發人員采用規范的措施,嚴格規定了各階段必須提交的文檔:規定每一階段結束后,都要進行嚴格的

評審。與它最相適應的開發措施是構造化措施。

缺陷:不適應顧客需求的改動。

5.2原型模型

迅速原型模型

迅速原型的用途是獲知顧客日勺真正需求,一旦需求確定了,原型即被拋棄。重要用于需求分析階段。

不追求也不也許規定對需求H勺嚴格定義,而是采用了動態定義需求的I措施,因此不能定義完善的文檔。

特性:簡化項目管理、盡快建立初步需求、加強顧客參與和決策。

具有廣泛技能水平的原型化人員是原型實行的一重要保證。原型化人員應當是具有經驗與才能、訓練有素的專業人員。

衡量原型化人員能力的重要原則是他與否可以從顧客的模糊描述中迅速獲取需求。

演化模型

在迅速原型模型中,原型的用途是獲知顧客的真正需求,一旦需求確定了,原型即被拋棄。而演化模型應用于整個軟

件開發過程,是從初始模型逐漸演化為最終軟件產品的漸進過程。也就是說,迅速原型模型是一種“拋棄式”的原型

化措施,而演化模型則是一種“漸進式”口勺原型化措施。

增量模型

增量模型重要用于設計階段,把軟件產品劃分為一系列的增量構件,分別進行設計、編程、集成和測試。新的增量構

件不得破壞已經開發出來日勺產品。

原型模型小結

從卜面的有關原型化措施。勺論述中,選擇出對的的論述:

(1)迅速原型措施是一種企圖克服老式軟件周期模型缺陷H勺開發措施。

(2)在顧客II勺數據資源沒有得到很好地組織和管理口勺時候,應當使用原型化措施。

(3)在顧客沒有明確地肯定其需求H勺時候,應當使用原型化措施。

(4)在顧客不但愿把自己口勺時間花在軟件開發過程中的時候,應當使用原型化措施。

(5)使用原型化措施時應當使用第三代編程語言。

(6)原型化加強了開發過程中顧客的參與和決策。

(7)原型化措施大體可分為三類:拋棄式、演化式和遞增式。

(8)原型化措施大體可分為演化式和遞增式。

(9)采用原型化措施時,軟件的開發成本較高。

(10)采用原型化措施時,關鍵的原因是建立原形H勺速度,而不是原形運行的效率。

5.3螺旋模型

螺旋模型綜合/瀑布模型和原型模型中的演化模型H勺長處,還增長了風險分析。螺旋線第一圈的開始點也許是一種概

念項目。從第二圈開始,一種新產品開發項目開始了,新產品口勺演化沿著螺旋線進行若干次迭代,一直轉到軟件生命

期結束。

5.4噴泉模型

噴泉模型重要用于描述而向對象的開發過程。噴泉一詞體現了而向對象開發過程口勺迭代和無間隙特性。

六.軟件過程基礎知識

6.1軟件過程

軟件過程是指人們用于開發和維護軟件及有關產品口勺一系列活動,包括軟件工程過程和軟件管理過程。

6.2評估工具

軟件過程向評估,一般采用軟件能力成熟度

模型(CapabililyMaiurilyModel,CMM)。

CMM1.1的5個等級(由低級到高級);

初始級

軟件過程是無序的,有時甚至是混亂的,對過程幾乎沒有定義,成功取決于個人努力,管理是反應式(消防式)

可反復級

建立了基本的項目管理過程來跟蹤費用、進度和功能特性。制定了必要的過程紀律,能反復早先類似應用項目獲

得日勺成功。

已定義級

已將軟件管理和工程兩方面的過程文檔化、原則化,并綜合成該組織日勺原則化軟件過程。所有項目均使用經原則、

淘汰的原則軟件過程來開發和維護軟件。

已管理級

搜集對軟件過程和產品質量的詳細度量,對軟件過程和產品均有定量H勺理解與控制。

優化級

加強了定量分析,通過來自過程質量反饋和來自新觀念、新技術的反饋使過程能持續不停地改善“

七.軟件工程項目管理基本知識

軟件項目管理開始于任何技術活動之前,并且貫穿于?整個口勺軟件生命周期。

軟件工程項目管理一般分為時間管理、成本管理、人力資源管理.、風險管理。

7.1時間管理

Gantt圖

是一種簡樸的水平條形圖,它以水平線段表達子任務的工作階段,線段的起點和終點分別對應著子任務的起始時間,

線段長度指示完畢該任務所需要的時間。

甘特圖H勺長處:直觀簡要、易學易繪、可從圖上清晰地標出子任務間H勺時間對比,但它也有

缺陷:

(a)不能顯示地描繪各項彼此間的依賴關系:

(b)進度計劃的關鍵部分不明顯,難以判斷哪些部分應當是主攻和主控的對象;

<c)計劃中有潛力H勺部分以及潛力口勺大小不明確,往往導致潛力H勺揮霍。

7.1.2PERT網圖與關鍵途徑

PERT對圖是一種由箭頭(標識任務)和結點(標識事件)構成的有向圖。將網絡措施用于工作計劃安排的評審和

檢查。

PERT國不僅給出了每個任務H勺開始時間、結束時間和完畢該任務所需的時間,還給出了任務之間的依賴關系,即

哪些任務完畢后才能開始另某些任務,以及準期完畢整個工程的“關鍵途徑”。

關鍵途徑(CriticalPath)是由一連串的任務所構成的鏈,距離最大的一條途徑。

軟件項目的管理人員應當親密注視關鍵任務的進展狀況。假如但愿縮短工期,只有往關鍵任務中增長資源才會有效

果。

八.模塊化基本知識

模塊是指執行某一特定任務日勺數據和可執行i"句程序元素的集合,一般是指可通過名字來訪問口勺過程、函數、子程序

或宏調用等。

模塊化就是將一種待開發的軟件劃提成若干個可完畢某一子功能的模塊,每個模塊可獨立地開發、測試,最終組裝成

完整的程序。

8.1模塊特性

可分解性

假如?種設計措施提供了將問題分解成子問題的系統化機制,它就能減少整個系統口勺復雜性,從而實現?種有效的模

塊化處理方案。

可組裝性

假如一種設計措施使現存的(可復用口勺)設”?構件能被組裝成新系統,它就能提供一種不需要一切從頭開始口勺模塊化

處理方案。

可理解性

假如一種模塊可以作為一種獨立的單位(不用參照其他模塊)被理解,那么它就易于構造和修改。

持續性

假如對系統需求的微小修改只導致對單個棧塊,而不是整個系統H勺修改,則修改引起副作用就會被最小化。

保護性

假如模塊內部出現異常狀況,并且它的影響限制在模塊內部,不會影響其他膜塊,則錯誤引起的副作用就會被最小化。

8.2模塊與模塊的耦合性

耦合是對一種軟件構造內不一樣模塊之間互連程序H勺度量。

耦合可以提成下列幾種,它們之間的耦合度由高到低排列。

內容耦合

直接操作或修改另一模塊的數據,或不通過正常人口轉入另一?種模塊。

軟件設計時應堅決嚴禁內容耦合,應設計成單入口、單出口的模塊,防止病態連接。

公共耦合

多種模塊引用同一全局數據區。

外部耦合

模塊與軟件以外的環境有關聯。例如,輸入輸出把?種模塊與特定的設備、格式、通信協議耦合在?起。

控制耦合

一模塊明顯把開關量、名字等信息送入另一模塊,控制另一模塊的功能。

標識耦合

兩個模塊之間通過傳遞公共指針或地址互相作用的耦合。

數據耦合

模塊間通過傳遞數據互換信息。

非直接耦合(無耦合)

模塊間無任何關系,獨立工作

原則上講,模塊化設計總是但愿模塊之間的耦合體現為非直接耦合方式。

在以上耦合中,耦合度從高到低,內容耦合度艮"I—明%1

8.3模塊的內聚性

內聚是指一種模塊內各個元素彼此結合的緊密程序,它是信息隱蔽和局部的蹴念的自然擴展。設計時應當力爭高內聚,

理想內聚的模塊應當恰好做件事情。

1).偶爾內聚:一種模塊日勺各成分之間亳無關系。例如:一組語句在程序的多處出現,為了節省內存空間,這些語句放

在一種模塊中,該楨塊的內聚是偶爾內聚的c

2)邏輯內聚:把幾種邏輯上有關的功能組放在同一模塊中。

3)瞬時內聚(時間內聚):一種模塊所包括的任務必須在同一時間間隔內執行,例如初始化模塊。

4)過程內聚:一種模塊的處理元素是有關口勺,并且必須按特定的次序執行。

5)通信內聚:一種模塊的所有成分都結合再同一種數據構造上。

6)次序內聚:模塊的成分同?種功能親密有關,且輸出,作為此外?種成分的輸入。

7)功能內聚:模塊內I內所有成分屬于一種整體,完畢單一口勺功能。

在以上的內聚中,內聚度從低到高,偶爾內聚度最低,功能內聚度最高。

模塊打勺高內聚、低耦合的原則稱為模塊獨立原則,也稱為模塊設計日勺原則。

8.4模塊的深度、寬度、扇出與扇入

深度:表達軟件構造中控制H勺層數。

寬度是軟件構造中同一種層次上的模塊總數的最大值

一種模塊的扇入是指直接調用該模塊的上級模塊的個數。

一種模塊的嗣出是指該模塊直接調用的下級模塊H勺個數。

設計原則:低扇出、高扇入。

8.5模塊作用域和控制域

軟件設計時,模塊口勺作用域應在控制域之內。

8.6模塊化基礎知識小結

通過模塊向合并和分解,減少模塊口勺耦合度。

模塊H勺扇人應盡量大,厘出應盡量小。一和模塊H勺嗣入是指直接調用該模塊的上級模塊的個數。一種模塊H勺期出是指

該模塊直接調用的下級模塊口勺個數。扇入大表達模塊的重用性高,運用率高。扇出大表達模塊口勺復雜度高。因此要高

扇入,低扇出。

要將模塊f、J作用范圍限制在模塊的控制范圍之內。

減少模塊之間的J更雜性,防止“病態連接”。

九.什么是軟件開發措施?有哪些重要措施?

軟件開發措施:使用已定義好的技術集及符號表達習慣組織軟件生產的過程。

構造化措施、面向對象措施、JACKSON措施。

9.1構造化措施學

構造化措施學也稱為生命周期措施學(瀑布模型措施),是一種面向數據流的需求分析措施。它的基本思想是自頂向下

逐層分解。

為r在需求變化時對軟件H勺影響較小,構造化分析時應當使程序構造與問題構造相對應。

常用工具:

數據流圖(DFD)、數據字典(DD)、實例一關系圖(E—R圖)及描述加工處理的構造化語言、鑒定表、鑒定樹。

數據流圖(DFD圖)

DFD的基本成分

數據流圖重要由4種成分構成:

數據流(dataflow):由一組固定成分的數據構成,表達數據的流向。它可以從源、文獻流向加工,也可以從加工流向

文獻和宿,還可以從一種加工流向另一種加工。一般每個數據流必須有一種合適的名字,首先是為了區別,另首先也

給人一種直觀H勺印象,使人輕易理解這個數據流H勺含義。但流向文獻或從文獻流出H勺數據流不必命名,由于這種數據

流口勺構成部分就是對應文獻的構成部分。

加工(process):描述了輸入數據流到輸出數據流之間的變換,也就是輸入數據流做了什么處理后變成了輸出數據流。

每個加_E有一種名字和一種編號。編號反應了該加工位于分層DFD的哪個層次和哪張圖中以及它是哪個加工分解出來

的子加工。

文獻(file):可以表達數據文獻,也可以表達一種數據記錄。流向文獻的數據流表達寫文獻,流出文獻的數據流表達

讀文獻,雙向箭頭表達對文獻既讀又寫。每個文獻均有一種文獻名。

源/宿(sourcc/sink):源是指系統所需數據的發源地,宿(也稱數據池)是指系統所產生的數據的歸宿地。無論源或宿,

均對應于外部實體,在框內應加注實體的名字,在一種軟件各級軟件系統中,有些源和宿可以是一種外部實體,外部

實體是指存在于軟件系統之外的人員或組織,它指出系統所需數據H勺發源地和系統所產生數據的歸宿地。

分層數據流圖

一套分層的口勺數據流圖由頂層、底層、和中間層構成。

畫分層數據流圖基本原則與注意事項

a.自外向內,自頂向下,逐層細化,完善求精。

b.保持父圖與子圖的平衡。也就是說,父圖口某加工的輸入數據流中的數據必須與它的子圖的輸入數據流在數量和名字

上相似。

c.保持數據守恒。也就是說,一種加工所有輸出數據流中的數據必須能從該加工的輸入數據流中直接獲得,或者是通過

該加工能產生的數據。

d.加工細節隱藏。根據抽象原則,在畫父圖時,只需畫出加工和加工之間H勺關系,而不必畫出各個加工內部的細節。

e.簡化加工間關系。在數據流圖中,加工

間H勺數據流越少,各加工就越相對獨立,因此應盡量減少加工間輸入輸出數據流H勺數目。

f.均勻分解。應當使一種數據流中的各個加工分解層次大體相似。

g.合適地為數據流、加工、文獻、源/宿命名,名字應反應當成分的實際意義,防止空洞的名字。

h.忽視枝節。應集中精力于重要的數據流,

而暫不考慮某些例外狀況、出借處理等枝個性問題。

i.體現的是數據流而不是控制流。

j.每個加工必須既有輸入數據流,又有輸

出數據流在整套數據流圖中,每個文獻必須既有讀文獻的數據流又有寫文獻H勺數據流,但在某一張子圖中也許只有讀

沒有寫或者只有寫沒有讀。

小結:一種軟件系統,其數據流圖往往有多層。假如父圖有N個加工(Process),則父圖容許有。?N張子圖,不過每張

子圖只能對應一張父圖。在一張DFD圖中,任意兩個加工之間可以有。條或多條名字互不相似的數據流:在畫數據流

圖時,應當注意父圖和子圖的平衡,即父圖中某加工的輸入輸出數據流必須與其輸入輸出流在數量和名字上相似。DFD

信息流大體可分為兩類:互換流和事務流。

數據字典

數據字典是有關數據的信息日勺集合也就是對

數據流圖中包括的所有元素H勺定義的集合。

構成部分:

a.數據項條目

b.數據流條目

c.文獻條目

d.加工條目

加工條目是對數據流圖中每一種不能再分

解的基本加工的精確闡明。

對于加工的描述是數據字典的構成內容之一,常用的加工描述措施有構造化語言、鑒定樹和鑒定表。

構造化語言

構造化語言實際上是一種半形式化語言,

它口勺構造一般可分為內外兩層。外層靠近于形式化語言,而內層近似于自然語言口勺描述。

實體一一關系圖(E—R圖)

實體----關系圖(Entity-Relabionship

Diagram),簡稱E-R圖,包括實體、關系和屬性等3種基本成分。一般用矩形框代表實體,并用直線把實體i或關系)

與其屬性連接起來。

E-R圖一般用于數據庫應用系統。

9.2構造化設計

構迨化設計一般可分為概要設計和詳細設計,不過重要用于概要設計階段。概要設計的任務是確定軟件系統的

構造,進行模塊劃分,確定每個模塊H勺功能、接口以及模塊間H勺調用關系。詳細設計的任務是為每個模塊設計實現的

細節。

概要設計

通過需求分析階段的工作,系統必須“做什么”已經清晰了,概要設計的基本目的就是I可答”概括地說,系統應

當如實現?”這個問題。

概要設計時重要任務:

將一種復雜的系統按功能化分為模塊、確定每個模塊的功能、確定模塊之間的調用關系、確定模塊之間的接口(模塊

之間傳遞的信息)、評價模塊的構造質量。

1.軟件構造圖形工具

構造化設計措施(SD)措施采用構造圖(StructureChart)、層次圖和HIPO圖描述軟件構造。

構造圖的重要成分有模塊、調用和數據,構造圖中的模塊用矩形表達,在矩形框內可標上模塊的名字。模塊間如

有箭頭或直線相連,表明它們之間有調用關系。

層次圖用來描繪軟件的層次構造.層次圖中一種矩形框代表一種模塊,方框間口勺連線表達模塊間的調用關系.

HIPO圖實際上就是層次圖加輸入/處理/輸出圖.HIPO圖是美國IBM企業發明日勺”層次圖加輸入/處理/輸出圖”,是

在層次圖里出了最頂層的方框之外,每個方框都加了編號。編號規則和數據流圖的編號規則同樣。

詳細設計

概要設計已經確定了每個模塊的功能和接口,詳細設計的任務就是為每個模塊設計其實現的細節。

詳細設計階段的主線目的是確定應當怎樣詳細地實現所規定的系統,得出對目的系統的精確描述。

1.詳細設計階段的內容

為每個模塊進行詳細的算法設計。

為模塊內部的數據構造進行設計。

對數據庫進行物理設計。

其他

詳細設計工具重要包括程序流程圖(系統流程圖)、盒圖(N-S圖)、PAD圖和偽碼(PDL)。

2.人機界面設計

人機界面的設計質量,直接影響顧客對軟件產品口勺評價。界面的美觀、靈活和風格都很重要,但人機界面設計中最

重要H勺也是最基本H勺目的是軟件的易操作性。

人機界面設計重要包括系統響應時間、顧客協助設計、出錯信息處理和命令交互設計等兒種方面。

9.3Jackson措施

上面講的構造化設計措施是面向數據流的,此外尚有一種面向數據構造的設計措施,

Jackson措施是最著名由J面向數據構造的設計措施,而不是面向數據流口勺設計措施。

Jackson措施H勺基本環節是:建立系統的數據構造:以數據構造為基礎,對應地建立程序構造;列出程序中要用到

的多種基本操作,再將這些操作分派到程序構造合適的模塊中。

9.4面向對象分析措施(00A)

k軟件工具

軟件工具是指用于輔助軟件開發、運行、維護、管理、支持等過程中的活動的軟件?。一般也稱為CASE(ComputerAided

SoftwareEngineering,計算機輔助軟件工程)工具。

按軟件過程H勺活動分為軟件開發工具、軟件維護工具和軟件管理工具等。

十一.軟件開發環境

集成型開發環境一般可由工具集和環境集成機制兩部分構成。這種環境應具有開放性和可淘汰性。環境集成機制重要

有數據集成機制、控制集成機制和界面集成機制。

十二.軟件質量管理基礎知識

12.1軟件質量

軟件質量模型可從軟件功能性、可靠性、可用性、效率、可維護性、可移植性6個方面來衡量。

(1)功能性

與功能及其指定的性質的一組軟件屬性。

(2)可靠性

軟件在規定的?段時間內和規定的條件下保持其性能水平有關的?組軟件屬性。也可以稱為在規定的條件下和

規定的時間間隔內,軟件實現其規定功能H勺概率。

(3)可用性

與使用的難易程序及規定或隱含顧客對使用

方式所做的評價有關的軟件屬性。

(4)效率

與在規定條件的性能水平與所用資源量之間H勺關系有關的一組軟件屬性。

(5)可維護性

與軟件維護的難易程序有關的一組軟件屬性。

(6)可移植性

軟件可從某一環境轉移到另一環境的能力有關的一組屬性。即軟件從一種計算機系統轉換到另一種計算機系統

運行日勺難易程度是指軟件H勺可移植性。為了提高可移植性,應注意提高軟件的設備獨立性.采用表格驅動程序有助于

提高設備獨立性。為了提高可移植性,還應有完備H勺文檔資料。使用C語言開發的系統軟件具有很好的可移植性。

12.2軟件質量保證

軟件質量保證的重要困難表目前如下幾種方面:

1)軟件開發口勺管理人員往往關懷項目開發的成本與進度。由于成本和進度是顯而易見的,而軟件質量則難以度量。

假如軟件開發的管理人員對交付的軟件具有多少隱患并不必負什么責任,他們必然沒有太高的熱情去控制開發H勺質量,

更不必說保證質量并不輕易且代價昂貴。

開發人員的習慣一旦形成難以變化,他們H勺形為也難于控制,而高質量的軟件產品,又重要取決于參與開發的人員。

復雜的軟件項目需要許多技術人員和管理人員參與,對問題的不?樣認識和誤解如不能及時消除必然影響軟件質量。

軟件開發人員的頻繁流動,尤其是骨干開發人員的流失,也會使軟件質量受到一定的影響。

軟件質量的保證手段:

開發初期制定質量保證計劃,并在開發中堅持實行。

開發前選定或制定開發原則或開發規范,并遵照實行。

從開始就迷擇分析設計措施和工具,形成高質量的分析模型和設計模型。

嚴格執行階段評審,以便及時發現問題。

各個開發階段的測試。

對軟件的每次“變動”都要通過申請、評估、同意、實行等環節。

軟件質量特性的度量化。

軟件生存期H勺各階段都要完整的文檔。

十三.軟件測試

軟件測試的費用已經超過軟件開發費用的30%左右?!案弋a”測試是指用少許的測試用例,發現被測試程序盡量多的錯

誤。

13.1軟件測試通過日勺環節

單元測試一〉集成測試一〉確認測試一>系統測試

13.2測試與軟件開發各階段H勺關系

單元測試對程序中每一種程序單元進行測試,檢查各個模塊與否爭取實現規定的功能,從而發現模塊在編碼中或算法

中H勺錯誤,該階段波及編碼和詳細設計文檔。

集成測試是為了檢查與設計有關的軟件體系構造的有?關問題,也就是檢查概要設計與否合理有效.

確認測試重要是檢查已實現H勺軟件與否滿足需求規格闡明書中已確定了的多種需求。

系統測試是把已確認的軟件與其他系統元素(如硬件,其他支持軟件、數據、人工等)結合在一起進行測試,以確定

軟件與否可以支付使用。

13.3白盒測試

白盒測試又稱為構造測試??梢园殉绦虍斪餮b在一種透明盒子里,測試者(一般為編程者)完全懂得程序口勺構造和處

理算法。

按照程序內部邏輯設計測試用例,檢測程序中的重要執行通路與否能按預定規定正常工作。

白盒測試多用于單元測試階段。邏輯覆蓋是重要口勺白盒測試技術。白盒測試時,確定測試數據應根據程序口勺內部邏輯

和指定的覆蓋方式。采用一下幾種邏輯蒞蓋原則:

語句覆蓋

鑒定覆盆

條件覆蓋

鑒定/條件覆蓋

條件組合覆蓋

途徑覆蓋

滿足條件狙合覆蓋測試用例,也一定滿足鑒定條件覆蓋。因此,條件組合覆蓋是上述五種覆蓋原則中最強H勺一種。

13.4黑盒測試

黑盒測試,又稱為功能測試。把軟件看做是一種不透明口勺黑盒子,完全不考慮(或不理解)軟件內部構造和公理算法,

它只檢測軟件功能與否能按照軟件需求闡明書的規定正常使用,軟件與否能合適時接受輸入數據并產生對H勺的輸出信

息,軟件運行過程中能否保持外部信息(例如文獻和數據庫)的完整性等。

常用H勺黑盒測試技術包括等價類劃分,邊值分析、錯誤推測和因果圖等。其中等價類劃分和邊界值分析法措施最常用。

假如兩者結合使用,更有也許發現軟件中的錯誤。

13.4灰盒測試

灰盒測試介于白盒測試和黑盒測試之間,它把軟件看做是一種半透明的灰盒子,結合考慮軟件日勺內部構造和外部功能

設計測試用例

13.5回歸測試

糾正了程序中口勺錯誤之后,選擇部分或所有原先已測試過的測試用例,對修改后程序重新測試以驗證對軟件修改后有

無引出新的錯誤,稱為回歸測試。

13.6單元惻試

單元測試(Unittesting)也稱為模塊測試或構造測試,一般可放在編程階段(實現階段),重要采用邏輯覆蓋技術,由

程序員對自己編寫H勺模塊自行測試,檢查模塊與否能實現「詳細設計闡明書中規定H勺功能和算法。

單元測試重要發現編程和詳細設計中產生口勺錯誤。

測試一種模塊時需要為該模塊編寫一種驅動模塊和若干個樁(stub)模塊。頂層模塊測試時不需要驅動模塊,底層模塊

測試時不需要樁模塊。

在進行單元測試時,常用的措施是白盒測試(采用邏輯覆蓋日勺測試技術),輔之以黑盒測試。

13.7集成測試

集成測試(iniegraiiontesting)也稱為組裝測試,在單元測試的基礎之上,把所有的模塊組裝成一種系統進行測試。重

要測試設計階段產生的錯誤,集成測試計劃應當在概要設計階段制定。

非漸增式集成測試

首先將每個模塊分別進行單元測試,再把所有的模塊組裝成一種完整的系統進行測試。目前在進行集成測試時已普遍

采用漸增式集成。

漸增式集成測試

又可以分為自頂向下集成和自底向上集成。自頂向下集成先測試上層模塊,再測試下層模塊,由于測試下層模塊時上

層模塊已經測試過,因此不必要此外編寫驅動模塊。自底向上集成,先測試下層模塊,再測試上層模塊。

頂層模塊測試時不需要驅動模塊,底層模塊測試時不需要樁模塊。

軟件H勺集成測試最佳由不屬于該軟件開發組H勺軟件設計人員承擔,以提高集成測試H勺效果。

13.8確認測試

在系統驗收測試中,驗證測試是在模擬的環境中進行強度測試的基礎上進行,重要根據軟件需求闡明書檢測軟件的功

能,性能及其他特性與否與顧客的規定一致,而確認測試是在一種實際環境中使用真實數據運行系統。

確認測試計劃應當在需求分析階段制定。

a測試

由顧客在開發者H勺場所進行,并且在開發者的指導下進行測試。開發者負責紀錄發現的錯誤和使用中碰到日勺'可題,也

就是說a測試是在受控的環境中進行的。

8測試是在一種或多種顧客口勺現場由該軟件的最終顧客實行打勺,開發者一般不在現場,顧客負責記錄發現口勺錯誤和使

用中碰到的問題并把這些問題匯報給開發者。也就是說,B測試是在受控H勺環境中進行的。通過確認測試之后的軟件

一般就可以交付使用了。

13.9系統測試

系統測試是將?已經確認的軟件、計算機硬件、外設和網絡等其他原因結合在?起,進行信息系統的多種組裝測試

和確認測試,其目H勺是通過與系統H勺需求相比較,發現所開發的系統與顧客需求不符或矛盾的地方。

包括如下的測試:

恢復測試:監測系統的容錯能力

安全性測試:監:測系統的安全機制、保密措施與否完善等防備能力。

強度測試:測試軟件的異常狀況的處理能力。

性能測試:監測系統與否滿足系統設計方案闡明書對性能H勺規定。

可靠性測試:從平均失效間隔與否超過了規定的時限,因故障而停機的時間在一年中不應超過的時間來進行檢測。

安裝測試:監測軟件在安裝過程中與否有錯誤、與否輕易操作等。

系統測試計劃在系統測試階段初期制定,

問答題

I、可行性研究的任務是什么?

首先需要進行概要的分析研究,初步確定項目的規模和目的,確定項目的約束和限制,把他們清晰地列舉出來。然后,分析員進行簡

要的需求分析,抽象出該項目的邏輯構造,建立邏輯模型。從邏輯模型出發,通過壓縮的設計,探索出若干種可供選擇的重要處理措施,

對每種處理措施都要研究它口勺可行性,可從如下三個方面分析研究母種處理措施的可行性。()技術可行性:對要開發項目口勺功能、性能、

限制條件進行分析,確定在既有的資源條件下,技術風險有多大,項目與否能實現。㈡經濟可行性:進行開發成木的估算以及理解獲得效

益口勺評估,確定要開發的項目與否值得投資開發。㈢社會可行性:要開發的項目與否存在任何侵犯、阻礙等責任問題,要開發項目的運行

方式在顧客組織內與否行得通,既有管理制度、人員素質、操作方式與否可行。

2、需求分析階段的基本任務是什么?

需求分析階段的基本任務是要精確的定義新系統的目的,為了滿足顧客需要,回答系統必須“做什么”的問題。本階段要進行如下幾方面

的工作:㈠問題識別。雙方確定對問題的綜合需求,這些需求包括:功能需求、性能需求、環境需求、顧客界面需求,此外尚有可靠性、

安全性、保密性、可移植性、可維護性等方面的需求。仁)分析與綜合,導出軟件的邏輯模型。分析人員對獲取的需求,進行一致性的分析檢

查,在分析、綜合中逐漸細化軟件功能,劃提成各個子功能。這里也包括對數據域進行分解,并分派到各個子功能上,以確定系統的構成

及重要成分.并用圖文結合的形式,建立起新系統的邏輯模型。㈢編寫文檔。編寫“需求規格闡明書”、編寫初步顧客使用手冊、編寫確

認測試計劃,修改完善軟件開發計劃。

3、什么是模塊的影響范圍?什么是模塊fl勺控制范隔?他們之間應當建立什么關系?

一種模決的作用范圍(或稱影響范圍)指受該模塊內?種鑒定影響的所有模塊的集合。?種模塊的控制范圍指模塊自身以及其所有卜.

屬模塊(直姿或間接附屬于它(1勺模塊)的集合。一種模塊的作用范用應在其控制范圍之內,且鑒定所在的模塊應在其影響的模塊在層次上

盡量靠近。假如再設計過程中,發現模塊作用范圍不在其控制范圍之內,可以用“上移判點”或“下移受判斷影響的模塊,將它下移到判

斷所在模塊小J控制范困內”的措施加以改善。

4、非漸增式測試與漸增式測試有什么區別?漸增式測試怎樣組裝模塊?

非漸增式測試與漸增式測試的測試措施有如下區別:(一)非漸增式測試措施把單.元測試和集成測試提成兩個不一樣的階段,前一階段完

華模塊的單元測試,后一階段完畢集成測試,而漸增式測試往往把單元測試與集成測試和在一起,同步完畢。㈡非漸增式需要更多的工作

量,由于每個模塊都需要驅動模塊和樁模塊,而漸增式運用已測試過的模塊作為驅動模塊或樁模塊,因此匚作量較少。㈢漸增式可以較早

的發現接I」之間的錯誤,非漸增式最終組裝是才發現。㈣漸用式有助「?排錯,發生錯誤往往和近來加進來的模塊有關,而非漸增式發現接

口錯誤推遲到最終,很難判斷是哪一部分接口出錯。㈤漸增式比較徹底,已測試的模塊和新的模塊再朝!試。因漸增式占用的時間較多,但

非漸增式須更多的驅動模塊、樁模塊也占用某些時間。⑴非漸增式開始可并行測試所有模塊,能充足運用人力,對測試大型軟件很故意義。

漸增式測試行如下兩種不?樣的組裝模塊的措施:()自頂向下組合。該措施只需編寫樁模塊,其環節是從頂層模塊開始,沿被測程序的軟

件構造圖的控制途徑逐漸向下測試,從而把各個模塊都結合起來,它又有兩種組合方略:①深度有先方略:先從軟件構造中選擇一條主控

制途徑,把該途徑上的模塊一種個結合進來進行測試,以便完畢一種特定的子功能,接若再結合其他需要優先考慮的途徑。②寬度有先方

略:逐層結合直接下屬的所有模塊。㈡自低向上結合。該措施僅需編寫驅動模塊。其環羊為:①把底層模塊組合成實現一種個特定子功能

的族。②為每一種族編寫一種驅動模塊,以協調測試用例的輸入和測試成果的輸出。③對模塊族進行測試。④按軟件構造圖依次向上擴展,

用實際模塊皆代驅動模塊,形成一種個更大的族。⑤反更②至④步,直至軟件系統所有冽試完畢。

5、軟件質量與軟件質量保證的含義是什么?

從實際應用來說,軟件質量定義為:㈠與所確定的功能和性能需求的一致性。。與所成文的開發原則一致性。㈢與所有專業開發的軟

件所期望的隱含特性的?致性。軟件質后保證就是向顧客及社會提供滿意的高質51邯J產品,保證軟件產品從誕生到消滅為止的所有階段的

質量的活動.即確定、到達和維護需要的軟件質量而進行IKJ所有有計劃、有系統的管理活動。5、軟件工程原則化的意義是什么?均有哪

些軟件工程京則?積極推進軟件工程原則化,其道理是顯而易見的。僅就一種軟件開發項目來說,有許多層次,不一樣分工的人員互相配

合.在開發預目的各個部分以及各開發階段之間也都存在許多聯絡和銜接問題.怎樣把這些錯綜曳雜的關系協調好,需要有一系列統一的

約束和規定,在軟件開發項U獲得階段成果或最終完畢是時,需要進行階段評價和驗收測試。投入運行的軟件,其維護工作中碰到問題乂

與開發T.作者有著親密的關系。軟件II勺管理工作則滲透到軟件生存期的每一種環節。所有這些都要規定提供統一的行動規范和的量準則,

使得多種工車均有章可循。軟件工程的原則重要有如下三個:㈠FIPS135是美國國標局公布的《軟件文檔管理指南》(4NSAC一一39是美

國核子安全分析中心公布的《安全參數顯示系統的驗證與確認》.(HJISO5807是國際原則化組織公布(現已成為中國的國標)的《信息處

理一數據流程圖、程序流程圖、程序網絡圖和系統資源圖的文獻編制符號及約定》。

6、采用黑盒技術設計測試用例有哪幾種措施?這些措施各有什么特點?

㈠等價類劃分。等價類劃分是將輸入數據域按有效口勺或無效的(也稱合理的或不合理的)劃提成若干個等價類,測試每個等價類的代表值

就等于對該類其他值的測試。仁)邊界值分析。該措施是將測試邊界狀況作為重點目的,選用恰好等于,剛剛不小于或剛剛不不小于邊界值

的狀況,根據這些狀況選擇測試用例。㈢錯誤推測。錯誤推測法沒有確定的環節,憑檢查進行。它的基木思想是列出程序中也許發生錯誤

的狀況,根用這些狀況選擇測試用例。㈣因果圖。因果圖能有效的檢測輸入條件的多種組合也許會引起的錯誤。因果圖的基本原理是通過

畫因果圖,把用自然語言描述的功能闡明轉換為鑒定表,最終為鑒定表的每一列設計一種測試用例。

7、軟件生產經歷了幾種階段?各有何特性?

軟件生產至今已經歷了三個階段:㈠程序設計時代(1946-1956):這個階段的生產方式是個體手工勞動,使用的工具實際其語言、匯編語

吉。開發措施是追求編程技巧,追求程序運行效率。硬件特性是價格貴、存儲容量小,運行可靠性差。軟件特性是只有程序、程序設計概

念,不重視程序設計措施。C程序系統時代(1956/968):這個階段的生產方式是作坊式的小集團合作生產,生產工具是高級譜言,開發

措施仍就靠個人技巧,但開始提出構造化措施。硬件特性是速度、容旱、工作可靠性有明顯提高。軟件特性是程序員數量猛增,但開發技

術沒有新的突破,開發人員的素質和落后的開發技術不適應規模大、構造豆雜的軟件開發,導致軟件危機的產生。㈢軟件工程時代(1968

至今):這個階段的生產方式是工程化的生產,使用數據庫、開發工具、開發環境、網絡、分布式、面向對象技術來開發軟件。硬件特性

是向超高速.大容量、微型化以及網絡化方向發展.軟件特性是開發技術有很大進步.不過未能獲得突破性進展,軟件價格不停上升,沒

有完全掙脫秋件危機。

8、簡述Ganil圖的功能及局限性。

Ganll圖常用水平線段來描述把任務分解成子任務,以及每個子任務的進度安排,動態反應軟件開發進度狀況,該圖可以:表達任務

分解成子任務狀況:表達每個任務的開始時間和完畢時間,線段的長度表達子任務完畢所需要的時間:表達子任務之間的并行和串行關系。

Gunlt圖只能表達任務之間的并行與串行的關系,難以反應多種任務之間存在H勺豆雜關系,不能宜觀表達任務之間互相依賴制約關系,以

及哪些任務是關鍵字任務等信息,因此僅僅用Gantt圖作為進度的安排是不夠的.

9、什么是數據字典?其作用是什么?它有哪些條目?數據字典(簡稱DD)是用來定義數據流圖中的各個成分I向詳細含義I向,它以一種精

確的、無二義性的闡明方式為系統的分析、設計及維護提供了市?關元案的一致的定義和詳細的描述。他和數據流圖共同構成了系統的邏輯

模型,是需求規格闡明書的重要構成部分。數據字典是為分析人員查找數據流圖中有關名字的詳細定義而服務口勺,因此也像一般字典同樣,

要把所有條目按一定的次序排列起來,以便杳閱。數據字典有如下四類條目:數據流、數據項、數據存儲、基本加工。數據項是構成數據

流和數據存諸的最小元素。源點、終點不在系統之內,故一般不在字典中闡明。

10、調試的小向是什么?調試有哪些技術手段?調試的目的是確定錯誤的原因和位省,并改正錯誤,因此調試也成為糾錯。調試技術重要

有:簡樸的倜試措施,重要有在程序中插入打印語句、運行部分程序等:歸納法調試,他從測試成果發現的線索(錯誤跡象、征兆)入手、

分析他們之間的聯絡,導處錯誤原因的假設,然后再證明或否認這個假設:演繹法調試,該措施列出所有也許的錯誤原因的假設,然后運

用測試數據琲除不合適的假設,最終再測試數據驗證余下的假設確實是出錯的原因:回測法調試,該措施從程序產生錯誤的地方出發,人

工沿程序的笈輯途徑反向搜索,直到找到錯誤的原由于止。

II、怎樣做好軟件質量保證工作?

軟件質量保證工作是軟件工程管理的重要內容,軟件質量保證應做好如下幾種方面的工作:<|>采用技術手段和工具。質量保證活動要貫

徹開發過程一直,必須從采用技術手段和工具,尤其是使用軟件開發環境來進行軟件開發。<2>組織正式技術評審,在軟件開發的第一種

階段結束時.都要組織正式的技術評審。國標規定單位必須采用審查、文檔評審、設計評審、審計和測試等詳細手段來保證質量。<3>加

強軟件測試,軟件測試是質量保證的重要手段,由于測試可發現軟件可發現軟件中大多數潛在錯誤。<4>推選軟件工程規范(原則)。顧

客可以自己指定軟件工程規范(原則),但原則一旦確認就應貫徹執行。<5>時軟件的變更進行控制。軟件的修改和變更常常會引起潛伏

的錯誤,因此必須嚴格控制軟件的修改和變更。<6>對軟件質量進行度量。即對軟件質量進行跟蹤,及時記錄和匯報軟件質量狀況。

12、什么是數據流圖?其作用是什么?

其中的基本符號各表達什么含義?數據流圖簡稱DFD,是SA措施中用于表達系統邏輯模型的一種工具。它以圖形的方式描述數據在系統

中流動和處理的過程,山于它只反應系統必須完畢的邏輯功能,因此它是一種功能模型。數據流圖有四種基本圖形符號:“一”箭頭表達

數據流;“Q”網或橢圓表述加工:“=”雙杠表達數據存儲:””方框表達數據的源點或終點。

13什么是確認測試?該階段有哪些工作?

確認測試又稱有效性測試。它的任務是檢查軟件的功能與性能與否與需求規格闡明書中確定的指標相符合。確認測試階段有兩項工作,進

行確認測試與軟件配置審查。<1>確認測試一般是在模擬壞境中運用黑盒測試措施,由專||測試人員和顧客參與的測試。<2>軟件配置審查

的任務是檢查軟件的所有文檔資料的完整性、對的性.假如發現遺漏和錯誤,應補充和改正,同步要編排好目錄,為后來的軟件維護工作

奧定基礎。

14、詳細設計的基本任務是什么?有哪幾種描述措施?

詳細設計是軟件設計的第二階段,其法本任務有:為每個模塊進行詳細的.算法設計;為模塊內的數據構造進行設計;對數據庫進行物理設

計,即確定數據庫時物理構造:其他設計,根據軟件系統類型,還也許要進行代碼設計、輸入/輸出格式設計、人機對話設計:編寫詳細設

計闡明書:評審。詳細描述處理過程常用三種工具:圖形、表格和語言。如構造化程序流程圖、盒圖和問題分析圖。1P0圖也走詳細設計

的重要匚具之一。表格工具如鑒定表可作為詳細設計?中描述邏輯條件豆雜的算法。過程設計語言(PDL)是一種用于描述模塊算法設”?和

處理細H的君言工具。

15、什么是軟件危機?其產生的原因是什么?當軟件開發技術內進步不能跟上硬件技術的進步,未能滿足發展的規定,致軟件開發中碰到

的問題找不到處理的措施,使問題積累起來,形成了鋒利的矛盾,因而導致了軟件危機。幣要體現為:<1>經費預算常常突破,完畢時間

一再遲延:<2>開發的軟件不能滿足顧客規定:<3>開發的軟件可維護性差:<4>開發的軟件可匏性差。導致軟件危機的原因是日于軟件產

品自身的特點以及開發軟件的方式、措施、技術和人員引起的。共產生原因重要有如下幾方面:<1>軟件的規模越來越大,構造越來越旦

如<2>軟件開發管理困難而更雜:<3>軟件開發費用不停增長:<4>軟件開發技術落后;<5>生產方式落后;<6>開發工具落后,生產率提

高緩慢。

16、CASE工作臺有哪些分類??種CASE工作臺是?組工具集,支持像設計、實現或i則試等特定的軟件開發階段。工作臺工具能通過共

享文獻、共享倉庫或共享數據構造來集成。它能支持大多數的軟件過程活動。工作臺有:<>程序設計工作臺:<2>分析利設計工作臺:<3>

測試工作臺:<4>交叉開發工作臺:<5>配置管理1CM)工作臺;<6>文檔工作臺<7>項II管理工作臺。

18、什么是CASE?CASE1具有哪些分類?

CASE是一組工具和措施的集合,可以輔助軟件開發生命周期各階段進行軟件開發。從學術研究角度講,CASE是數年來在軟件開發管理、

軟件開發措施、軟件開發環境和軟件工具等方面研究和發展的產物。CASE把軟件開發技術、軟件工具和軟件開發措施集成到一種統一而

一致的框架中,并且吸引J'CAD(計算機輔助設計)、軟件工程、操作系統、數據庫、IW絡和許多其他計算機領域向原理和技術。因而,

CASE領域站?種應用集成和綜合的領域。從產業角度講,CASE是種類繁多的軟件開發和系統集成的產品及軟件工具的集合。CASE分

類:<I>CASE技術種類CASE系統所波及到的技術有兩類:一類是支持軟件開發過程自身II勺技術:另一類是支持軟件開發過程管理的技

術。從CASE系統產生方式來看,尚有一種特殊的CASE技術,即元一一CASE技術。他是生成CASE系統的牛.成器所采用的技術。該生

成器可用來創立支持軟件開發過程活動及過程管理叫CASE系統“<2>CASEI:1MH<J分類對CASE匚具分類的原則可分為,①功能.功能

是對軟件進行分類的最常用H勺原則。②支持的過程。根據支持的過程,工具可分為設計工具、編程工具、維護工具等。③支持的范圍。根

據支持的范圍,可分為窄支持、較寬支持和一般支持T具。窄支持指支持過程中特定的任務,較寬支持是指支持特定過程階段:一般支持

是指支持覆蓋軟件過程的所有階段或大多數階段。1993年,Fuggeiia根據CASE系統對軟件過程的支持范圍,提出CASE系統可分為三類:

①支持單個日程任務的工具。工具也許是通用的,或者也也許歸組到工作臺。②工作臺支持某一過程所有活動或某些活動。他們一般以或

多或少1向集成度構成工具集。③環境支持軟件過程所有活動或至少大部分。他們一般包括幾種不一樣的工作臺,將這些工作臺以某種方式

集成起來。

19軟件維護的特點是什么?

重要體目前三個方面:<1>非構造化維護和構造化維護。軟件的開發過程對軟件的維護有很大的影響。若不采用軟件工程的措施開發軟件,

則軟件只有程序而無文檔,維護工作非常困難,這是一種非構造化的維護。若采用軟件工程的措施開發軟件,則各階段均有對應的文檔,

輕易進行維護工作,這是一種構造化的維護。<2>維護的困難性。軟件維護的困難性是由于軟件需求分析和開發措施的缺陷。軟件生存周

期中的開發階段沒有嚴格而有科學的管理和規劃,就會引起軟件運行時的維護困難。<3>軟件維護的費用。軟件維護的費用在總費用中的

比重是在不呼增長的,這是軟件維護有形的代價。此外尚有無形的代價,即要占用更多的資源。軟件維護費用增長小J重要原因是軟件維護

的生產率非常低。

20、軟件概要設計階段的基本任務是什么?

⑴設計軟件系統構造(簡稱軟件構造),詳細為:①采用某種設計措施,將一種復雜#'J系統按功能劃提成模塊。②確定每個模塊的功能。

③確定模塊之間的調用關系。④確定模塊之間的接口,即模塊之間傳遞的信息。⑤評價模塊構造的質質。⑵數據構造及數據庫設計,漢數

據構造的設汁及數據庫的設計。⑶編寫概要設計文檔。重要有:概要設計闡明電:數據庫設計闡明書:顧客手冊:修訂測試計劃。⑷評審。

21、迅速原型模型有幾種?各有何特點?根據原型的不一樣作用,有三類原型模型:⑴探索型原型。這種類型的原型模型是把原型用廣開

發的需求分析階段,目的是要弄清顧客的需求,確定所期望的特性,并探索多種方案的兀行性.它重要針對開發目的模糊,顧客與開發告

對項目都缺乏經驗的狀況,通過對原型的開發來明確顧客的需求。⑵試驗型原型。這種原型重要用r設計階段,考核算現方案與否合適,

能否實現,對于一種大型系統,若對設計方案心中沒有把握時,可通過這種原型來i正明設計方案的對的性。⑶演化型原型。這種原型重要

用于及早向顧客提交一種原型系統,該原型系統或者包括系統的框或者包括系統的重耍功能。在得到顧客的承認后,將原型系統不停獷充

演變為最終I向軟件系統,它將原型的思緒擴展到軟件開發I向全過程。

22、在劃分就件生存周期階段時,應遵照的基本原則是什么?

軟件生存周期的各個階段有不一樣的劃分。軟件規模、種類、開發方式、開發環境以及開發使用措施都影響軟件生存周期的劃分。在劃分

軟件生存周期階段時,應遵照的一條基本原則是各階段I陽任務應盡玨相對獨立,同一階段各項目任務的性質盡量相似,從而減少每個階段

任務的笈雜程度,簡化不一樣階段之間的聯絡,有助于軟件項目開發的組織管理。

23、請闡明軟件文檔時作用?

軟件開發項目生存期各階段都包括哪些文檔?軟件文檔的作用是:提高軟件開發過程的能見度;提高開發效率;作為開發人員階段工作成

果和結束標志:記錄開發過程R勺有關信息便于使用與維護:提供軟件運行、維護和培訓有關資料:便于顧客理解軟件功能、性能。軟件開

發項目生存期各階段應包括得文檔以及與各類人員的關系如下:可行性研究匯報、項目開發計劃、軟件需求闡明書、數據規定閩明書、測

試計劃、概要設計闡明書、詳細設計闡明書、顧客手冊、操作手冊、測試分析匯報、開發進度月報、項目開發總結、程序維護手冊(維護

修改提議).

24、簡述SA措施II勺優缺陷?

構造化分析措施是軟件需求分析中公認的、有成效的、技術成熟、使用廣泛的?種措施,它較適合于開發數據處理類型軟件的需求分析。

該措施運用圖形等半形式化工詳細現需求,簡要、易讀,也易于使用,為后一階段附設A、測試、評價提供了有利的條件。但SA措施也

存在有局限性之處:(I)老式『JSA措施重要用于數據處理方面的問題,事.要工具DFD體現了系統“做什么”的功能,但它僅是一種靜態模

型,沒有反應處理口勺次序,即控制流程。因此,不適合描述實時控制系統。(2)SA措施使用DFD在分析與描述“數據規定”方面是有限口勺,

DFD應與數據庫技術中的實體聯絡圖(ER圖)結合起來。(3)DFD不是和描述人機界面系統的需求。SA措施則對這一部分用自然語言作

補充,對此類系統可采用其他的分析措施。⑷為了更精確地描述軟件需求,提高軟件系統的可靠性、安全性,也便于實現自動化,SA措

施可與形式化措施結合起來。

25、什么是軟件工程?它的目的和內容是什么?

軟件工程是一種用科學知識和技術原理來定義、開發、維護軟件的一門學科。軟件工程是一門工程性學科,目的是成功的建造一種大型軟

件系統,所渭成功是要到達如下幾種目I向:付出較低的開發成本,到達規定的軟件功能:獲得很好的軟件性能:開發的軟件易二移植:需

要較低口勺維護贄用:能準忖完畢開發任務,及時交付使用:開發I向軟件可靠性高。軟件工程研究的重要內容是軟件開發技術和軟件開發管

理兩方面,在軟件開發技術中,重要研究軟件開發措施、軟件開發過程、軟件開發工R和環境.在軟件開發管理中,重要研究軟件管理學、

軟件經濟學、軟件心理學等。

26、試述系統開發的生命周期。

系統開發是管理信息系統建設中最重要的一種階段,從項目開發開始到結束的整個過程,稱為系統開發的生命周期。系統開發時生命

周期一般分為如下階段:⑴系統分析。這一階段的市.要任務是明確顧客的信息需求,提出新系統的邏輯方案。需要進行的工作有系統的初

步調查,可,亍性研究,現行系統的詳細調臺及新系統邏輯模型的提出等。⑵系統設計。這一階段的重要任務是根據新系統的邏輯方案進行

軟、硬件系統(KJ設計,其中包括總體構造設計、輸出設計、輸入設計、處理過程設計、數據存儲設計和計算機系統方案的選擇等。(3)系統

實行。這?階段將設計的系統付諸實行,重要工作有軟件內程序編制與軟件包的購置.、計算機與通訊設備的購置.、系統的安裝、調試與測

試、新舊系統的轉換等。

27、什么是基本加工?

描述體現基本加工邏輯功能的構造化工具"勺特點?數據流圖中所有不深入分解的加工,稱為基本加工。描述體現基本加工邏輯功能的構造

化工具重要有:⑴自然語言的文字論述。⑵構造化語言。⑶決策樹。⑷決策表。⑸數學公式。⑹上述各工具的聯合使用。其特點如卜所述:

⑴自然語言.吾義豐富,語法靈活,可描述十分廣泛而且雜的問題,體現人們豐富的感情和智慧。(2)構造化語言沒有嚴格的語法規定,使用

的詞匯比形式化的計算機語言廣泛,但使用的語句類型很少,構造規范,體現的內容清晰、精確、易理解,不易產生歧義。⑶決策樹清晰

的體現了在什么狀況下應采用什么方略,不易產生邏輯上的混亂。是描述基本加T的邏輯功能的有效工具。⑷決策表將比較過柒的決策問

題簡潔、明確、一目了然的描述出來。它是描述條件比較多的決策問題的有效工具。

28、增量模型I向基本思想是什么?

為了克服瀑布模型I內局限性,使開發過程具有一定的靈活性和可修改性,于是產生了增量模型。它是在瀑布模型的基礎上加以修改而

形成的。增量模型和瀑布模型之間的本質區別是:瀑布模型屬于整體開發模型,它規定在開始下一種階段的工作之附,必須完此前一階段

的所有細節。而增量模型屬于非整體開發模型,它推遲某些階段或所有階段中的細節,從而較早的產生工作軟件。增量模型是在項目的開

發過程中以?系列的增最方式開發系統。增定方式包括增最開發和增量提交。增信開發是指在項目開發周期內,以?定時時間間隔開發部

分工作軟件:增量:提交是指在項目開發周期內,以一定的時間間隔煙量方式向顧客提交工作軟件及對應文檔。增量:開發和增量提交可以同

步使用,也可以單獨使用。

29、對軟件開發環境的基本規定有哪些?

⑴軟件開發環境應是高度集成的一體化的系統。⑵軟件開發環境應具有高度的通用性。⑶軟件開發環境應易于定制、裁剪或擴充以符

合顧客規定.即軟件開發環境應具有高度的適應性和靈活性。⑷軟件開發環境不僅可應用性要好,并且是易使用的、經濟高效的系統。⑸

軟件開發環境應有輔助開發向半自動開發和自動開發逐漸過渡的系統

30、項目開發計劃有哪些內容?

項目開發計劃是一種管理性IKJ文檔,它II勺重要內容如下:⑴項目概述:闡明項目的各項重要工作:闡明軟件的功能、性能:為完畢項

目應具有的條件:顧客及協議承包者承擔的工作、完畢期限及其他條件限制:應交付的程序名稱,所使用的語言及存儲形式;應交付的文

檔。⑵實行計劃:闡明任務的劃分,各項任務的負賁人:闡明項目開發進度,按階段應完畢的任務,用圖表闡明每項任務的開始時間和完

華時間;闡明項目的預算,各階段的費用支出預算。⑶人員組織及分工:闡明開發該項目所需人員的類型、構成構造、數量等。⑷交付期

限:闡明項目最終竣工交付II勺日期。

31、軟件設計的基本原理包括哪些內容?

模塊化。是指處理一種復雜問題時自頂向下逐層把軟件系統化提成若干模塊的過程。每個模塊完畢一種特定的子功能,所有的模塊按

某種措施組裝起來,成為一種整體,完畢整個系統所規定I向功能。模塊化是軟件處理兜泉問題所具有的手段。抽象。抽象是認識豆雜現象

過程中使用的思維工具即抽出事物本質的共同的特性而暫不考慮它的細節,不考慮其他原因。軟件工程過程中的每一部都可以看作是對軟

件處理措施rJ抽象層次的一次細化。信息隱蔽。是指在設計和確定模塊時,使得一種模塊內包括的信息(過程或數據),對于木需要這些

信息的其他噢塊來說,是不能訪問的。通過信息除蔽,可以定義和實行對模塊的過程細節和局部數據構造的存取限制。數據獨立性。指每

個模塊只完華系統規定的獨立的子功能,并且與其他模塊的聯絡至少且接口簡樸。

32、白盒測試法有哪些覆蓋原則?試對他們的檢錯能力進行比較。

白盒測式法的覆蓋原則有:語句覆蓋、鑒定覆蓋、條件覆蓋、鑒定/條件覆蓋、條件組合覆蓋、途徑覆蓋。語句覆蓋發現錯誤能力最弱。

鑒定覆蓋包括了語句覆蓋,但它也許會使某些條件均不到測試。條件覆蓋對每一條件進行單獨檢查,?般狀況它的檢錯能力較鑒定而蓋強,

但有時達不到鑒定覆蓋的規定。鑒定/條件覆蓋包括r鑒定覆蓋和條件覆蓋的規定,但由于計算機系統軟件實現方式的限制,實際上不一定

到達條件覆蓋的原則。條件組合覆蓋發現錯誤能力較強,凡滿足其原則的測試用例,也必須滿足前四種覆蓋原則。前五?種覆蓋原則把注意

力集中在單個鑒定或鑒定的各個條件上,也許會使程序某些途徑沒有執行到“途徑覆蓋楸據各鑒定體現式取值的組合,使程序沿著不一樣

的途徑執行.查錯能力強。但由「?它是從各鑒定的整體組合出發設計測試用例的,也許便測試用例達不到條件組合覆蓋的規定。

知識點

I、可行性研究的目的是用最小的代價,在盡量短的時間內,確定該項目與否可以開發。

2、程序設計時代的生產方式是個體手工,程序系統時代的生產方式是作坊式小團體,軟件工程時代的生聲方式是

工程化。

3、噴泉模型是一種以需求分析為動力,以對象為驅動的模型。

4、需求分析階段,分析人員要確定對問題的綜合需求,其中最里要的是功能需求。

5、可行性研究需要從如下三個方面分析研究每種處理措施的可行性:技術可行性、經濟可行性、社會可行性。

6、可行性研究的目的不是去開發一種軟件項目,而是研究這個軟件項目與否值得開發,其中的問題能否處理。

7、鑒定樹較鑒定表直觀易讀.鑒定表進行邏輯驗證較嚴格,能把所有的也許性所有都考慮到??蓪煞N工具結合

起來,先用鑒定表做底稿,在此基礎上產生鑒定樹。

8、軟件工具的發展特點是軟件工具有單一工具向多種工具集成化方向發展。重視顧客界面的設計,不停的采用新

理論和新技術。軟件工具口勺商品化推進了軟件產業口勺發展,而軟件產業的發展,又增長了對軟件工具的需求,增進了

軟件工具的商品化進程。

9、環境集成重要有數據集成、界面集成、控制集成、平臺集成、過程集成。

10、可行性研究實質上是進行一項簡化、壓縮了的需求分析、設計過程。

II、構造化措施有構造化分析、構造化設計、構造化程序設計構成,它是?種面向數據流的開發措施。

12、投資回收期就是合計的經濟效益等于最初的項目投資所需的時間。

13、詳細描述處理過程常用三種描述工具:圖形、表格和語言。

14、數據流圖中,每個加工至少有一種輸入流和一種輸出流。

15、構造化設計以數據流為基礎映射成軟件構造。

16、當數據流圖中某個加工H勺一組動作存在著多種條件復雜組合的判斷時,使用鑒定表或鑒定樹很好。

17、由于運用原型的目的和方式不一樣,在使用原型時也采用不一樣口勺方略,有拋棄方略和附加方略。

18、有兩類維護技術:在開發階段是用來減少錯誤、提高軟件可維護性面向維護的技術,在維護階段用來提高維

護的效率和質量的維護支援技術。

19、軟件開發中原型是軟件H勺一種初期可運行的版本,它反應了最終系統的重要特性。

20、產品管理包括版本管理和配置管理。

21、任何程序都可由次序、選擇、反復三種基本控制構造構造。

22、測試用例應有輸入數據和預期的輸出數據兩部分構成。這樣便于對照檢查。

23、需求分析階段產生的最重要的文檔之一是需求規格闡明書。

24、項目開發計劃是一種管理性文檔,

25、軟件配置管理,簡稱SCM,軟件配置項簡稱SCI。

26、在算法描述工具中,PAD圖可自動生成程序。由機器自動通過走樹的措施生成對應的源代碼,大大提高軟件

的生產率。

27、在CASE集成中,控制集成支持工作臺或環境中一種工具對系統中其他工具的訪問。過程集成是指CASE系

統嵌入了有關過程活動、階段、約束和支持這些活動所需口勺工具口勺知識。

28、處理一種復雜問題,往往采用的方略是分解。

29、效益分析有有形效益和無形效益兩種。

30、兩個模塊都是用同一張表,這種耦合稱為公共耦合。

31、一種模塊把數值作為參數傳送給另一種模塊,這種耦合方式稱為教據耦合。

32、一種模塊內部各程序段都在同一張表上操作,這個模塊H勺內聚性稱為通信內聚。

33、在SA措施的需求描述工具中,數據流圖描述系統的分解,即描述系統有哪幾部分構成,各部分之間有什么聯

絡等等。數據字典定義了數據流圖中每一種圖形元素:構造化語言、鑒定表或鑒定樹則詳細描述數據流圖中不能被再

分解的每一種加工。

34、數據庫的設計指數據存儲文獻的設計,重要進行口勺設計方面有:概念設計、邏輯設計、物理設計。

35、軟件項目計劃是可行性研究階段H勺成果產品。但由于可行性研究是在高層次進行系統分析,未能考慮軟件系

統開發的纖節情節,因此軟件項目計劃一般在需求分析階段完畢后才定稿H勺。

36、信息隱蔽指在設計和確定模塊時,使得一種模塊內包括

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論