軟件工程簡答題答案_第1頁
軟件工程簡答題答案_第2頁
軟件工程簡答題答案_第3頁
軟件工程簡答題答案_第4頁
軟件工程簡答題答案_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

簡答題

1.什么是軟件工程?請分析軟件工程的目標是什么?

答案:軟件工程是:①將系統化的、規范的、可度量的方法應用于軟件的開發、運行

和維護過程,也就是說將工程化應用于軟件開發和管理之中:②對①中所選方法的研究”。

軟件工程旨在開發滿足用戶需要、及時交付、不超過預算和無故障的軟件,其主要目標

如下:

a)實現預期的軟件功能,達到較好的軟件性能,滿足用戶的需求。

b)增強軟件過程的可見性和可控性,保證軟件的質量。

c)提高所開發軟件的可維護性,降低維護費用。

d)提高軟件開發生產率,及時交付使用。

e)合理預算開發成本,付出較低的開發費用。

2.什么是軟件危機?軟件危機表現在哪幾個方面?

由于軟件特點和長期以來一直沒有發明一種高效的開發方法,導致軟件生產效率非常

低,交付期一拖再拖,最終交付的軟件產品在質量上很難保障。這種現象早在20世紀G0

年代被定義為“軟件危機”。它的具體表現如下:

a)“已完成”的軟件不滿足用戶的需求。

b)開發進度不能保障,交付時間一再拖延。

c)軟件開發成本難以準確估算,開發過程控制困難造成開發成本超出預算。

d)軟件產品的質量沒有保證,運算結果出錯、操作死機等現象屢屢出現。

c)軟件通常沒有適當的文檔資料,或文檔與最終交付的軟件產品不符,軟件的可維護

程度非常低。

3.根據相關的法律,對于侵犯軟件著作權的行為,根據情節應當給予什么處罰?

答案:

對于侵犯軟件著作權的行為,要根據情況承擔停止侵害、消除影響、賠禮道歉、賠償損

失等民事責任;損害社會公共利益的,由著作權行政管理部門責令停止侵權行為,沒收違法

所得,沒收、銷毀侵權復制品,并處罰款;情節嚴重的,著作權行政管理部門可以沒收用于

制作侵權復制品的材料、工具、設備等;觸犯刑律的,依法追究刑事責任。

4.根據你的理解,列舉出職業化軟件工程師要注意的三個主要問題,請給出理由。

答案:沒有唯一答案。

a)不遵守標準和規范:職業化的重要特征是遵守行業標準,不能肆意按照自己

的想象來發揮。自從人們認識到軟件危機以來,總結軟件開發的失敗教訓和

成功經驗,并把它們總結成為最佳實踐,進而形成標準,要充分利用這些最

佳實踐和標準來指導軟件過程。任何閉門造車、想當然的行為都是不被提倡

的,注定要走彎路。

b)對待計劃不嚴肅:軟件工程強調計劃性,計劃的內容包括:設備資源、進度

安排、人力資源、任務分配等等。在項FI的進行中要跟蹤計劃執行情況,記

錄計劃執行過程中的偏差,對任何變更都要經過評審和批準才能付諸行動。

c)不主動與人溝通:軟件不可見的特性,需要軟件工程師進行大量書面的、口

頭的或面對面的溝通,溝通的目的是為了使相關的人員了解項目的進展、遇

到的問題、應用的技術、采用的方法。

5.軟件工程為什么要強調規范化和文檔化?

答案:

軟件工程強調規范化和文檔化。規范化的目的是使眾多的開發者遵守相同的規范,使軟

件生產擺脫個人生產方式,進入標準化、工程化的生產方式。文檔化是將軟件的設計思想、

設計過程和實現過程完整地記錄下來,以便于后人的使月和維護,在開發過程中各類相關人

員借助于文檔進行交流和溝通。另外,在開發過程中產生的各類文檔使得軟件的生產過程由

不可見變為可見,便于管理者對軟件生產進度和開發過程進行管理。在用戶最終驗收時可以

通過對提交的文檔進行技術審查和管理審查,保證軟件的質量。

6.請簡單說明結構化分析的主要步驟。

答案:根據用戶的需求畫出初始的數據流程圖,寫出數據字典和初始的加工處理說明(IPO

圖),實體關系圖。以初始數據流程圖為基礎,從數據流程圖的輸出端開始回溯。在對數據

流程圖進行回溯的過程中可能會發現丟失的處理和數據,應將數據流程圖補充完善。對軟件

性能指標、接口定義、設計和實現的約束條件等逐一進行分析。系統分析人員與用戶一起對

需求分析的結果進行復查,根據細化的需求修訂開發計劃。編寫需求規格說明書和初始的用

戶手冊,測試人員開始編寫功能測試用的測試數據。

7.設計類的屬性時必須要定義是哪兩項?

答案:

設計類的屬性時必須要定義的內容:

1)屬性的類型:設計屬性時必須要根據開發語言確定每個屬性的數據類型,如果數據

類型不夠,設計人員可以利用已有的數據類型定義新的數據類型。

2)屬性的可見性。在設計屬性時要確定公有屬性'私有屬性、受保護屬性。

8.請簡單分析順序圖和活動圖的區別。

答案:

活動圖反映系統中從一個活動到另一個活動的流程,強調對象間的控制流程。活動圖特

別適合描述工作流和并行處理過程。具體地說活動圖可以描述一個操作過程中需要完成的活

動;描述一個對象內部的工作;描述如何執行一組相關的動作,以及這些動作如何影響它們

周圍的對象;說明一個業務活動中角色、工作流、組織和對象是如何工作的。

順序圖用于描述一組交互對象間的交互方式,它表示完成某項行為的對象和這些對象之

間傳遞消息的時間順序。

9.根據你的理解,為下面的數據流程圖加上箭頭,并把下列數據流添加到合適的位置:用

戶名/密碼、用戶輸入預訂信息、保存預訂信息、查詢預訂信息、登錄確認、圖書信息、

查詢條件、查詢結果。

DSOI

10.請用判定表描述產品出庫量的計算方法:當庫存量大于等于提貨量時,以提貨量作為出

庫量;當庫存量小于提貨量,但是庫存量大于等于提貨量的50%時,以實際庫存量作為

出庫量;否則,出庫量為0,不能提貨。

答案:

條件123

庫存工提貨量TF

庫存工50%提貨量TF

按提貨量出庫T

按庫存量出庫T

不出庫T

11.公司為本科以上學歷的員工重新安排工作,原則如下:①如果年齡不滿23歲,學歷是

本科,一律考研生;②如果年齡在23歲至5()歲之間,學歷本科,任項目經理;③如果

年齡在50歲以下,學歷碩士,任命為中層領導;④如果年齡超過50歲,不做調整,要

求畫出判定表。

答案:

條件1234

<23T

[23,50]T

<50TF

本科TT

研究生T

報考研究生T

項目經理T

中層領導T

不變T

12.請舉例說明什么是變換型數據流程圖?什么是事務型數據流程圖?

答案:沒有唯一答案。

中心變換

初始數據

式化2

邏輯輸入邏輯愉出

變換型數據流程圖

DS02系統限九文件

F

事務型數據流程圖

13.下面程序代碼,編程人員誤把IF((A=2)OR(X>1))條件寫成了IF((A=2)OR(X<1)),

用A=2,B=0,X=3和A=2,B=l,X=1這兩組測試用例不能發現錯誤,請你添加足夠多的

測試用例,以發現程序中的錯誤。

BEGIN

If((A>1)AND(B=0))THENDO

X:=X/A;

IF((A=2)OR(X>1))THENDO

X:=X+1;

END

答案:用A=2,B=0,X=3測試用例可以發現錯誤,因為按照測試用例的預計的輸出X=4,

而錯誤的輸出是X=3。

14.面向對象的分析通常要建立三個模型,請問三個模型的作用?

答案:

a)功能模型:表達系統的詳細需求,為軟件的進一步分析和設計打下基礎。在面向對

象方法中,由用例圖和場景描述組成。

b)對象模型:表示靜態的、結構化的系統“數據”性質。描述現實世界中實體的對象

以及它們之間的關系,表示目標系統的靜態數據結構。在面向對象方法中,類圖是構件對象

模型的核心工具。

c)動態模型:描述系統的動態結構和對象之間的交互,表示瞬時的、行為化的系統的

“控制”特性。面向對象方法中,常用狀態圖、順序圖、合作圖、活動圖構件系統的動態模

型。

15.面向對象的設計活動中,有構架師、用例工程師和構件師參加,他們每個角色的職責是

什么?

答案:

構架設計的目的是要勾畫出系統的總體結構,這項工作由經驗豐富的構架設計師主持完

成。該活動以用例模型、分析模型為輸入,生成物理構架、子系統及其接口、概要的設計類

(即設計階段定義的類)。

根據分析階段產生的高層類圖和交互圖,由用例設計師研究已有的類,將它們分配到相

應的用例中。檢查每個用例的功能,這些功能依靠當前的類能否實現,同時檢查每個用例的

特殊需求是否有合適的類來實現。細化每個用例的類圖,描述實現用例的類及其類之間的相

互關系,其中的通用類和關鍵類可用粗線框區分,這些類將作為項目經理檢查項目時的重點。

經過前面兩個活動,構架設計師已經將系統的構架建立起來,用例設計師按照用例的功

能將每個類分配給相應的用例。現在要由構件工程師詳細設計每個類的屬性、方法和關系。

16.QQ軟件的用戶分為游客和登陸會員,登陸會員分為群成員和非群成員,群成員分為群

主和群普通成員、群管理員,請用類的繼承關系描述QQ用戶群。

17.先將卜.列代碼用規范的格式重寫,然后畫出對應的程序流程圖。

START

INPUTX,N

DIMENSIONA(N),F(N)

DO1=1TON

INPUTF(l)

ENDDO

K=0

DOWHILE(K<N)

A(K)=0

DOJ=1TON-K

A(K)=A(K)+F(J)*F(J+K)/(N-K+1)

ENDDO

PRINTK*X,A(K)

K=K+1

ENDDO

STOP

答案:

START

INPUTx,n

DIMENSIONa(n),f(n)

DOi=lTOn

INPUTf(i)

ENDDO

k=0

DOWHILE(k<n)

a(k)=0

DOj=lTOn-k

a(k)=a(k)+f(j)*f(j4-k)/(n-k+1)

ENDDO

PRINTk*x,a(k)

k=k+l

ENDDO

STOP

a)代碼的大小寫問題b)縮進c)畫程序流程圖

18.修改下面的程序片段的格式,使它的可閱讀性更好,并且畫出該程序段的程序流程圖。

WHILEPDO

IFA>0THENAlELSEA2ENDIF;

SI;

IFB>OTHENB1;

WHILECDOS2;S3ENDWHILE;

ELSEB2

ENDIF;

B3

ENDWHILE;

答案:

WHILEPDO

IFA>0THEN

Al

ELSE

A2

ENDIF;

SI;

IFB>OTHEN

Bl;

WHILECDO

S2;S3

ENDWHILE;

ELSE

B2

ENDIF;

B3

ENDWHILE;

19.提高程序可讀性有哪些招數?對你來講比較靈驗的是哪些?

答案:

a)源程序文件頭說明,函數應有函數頭說明,內容包括:程序標題;有關該模

塊功能和目的說明;主要算法說明;接口說明,包括調用形式、參數描述、

子程序清單、有關數據的說明。

b)主要變量1結構、聯合、類或對象)的定義能夠反映其內在含義。

C)變量定義最規范化,說明的先后次序固定。

d)處理過程的每個階段和典型算法前都有相關注釋說明。

e)用縮進來顯示程序的邏輯結構。

0嵌套的循環和分支程序層次不要超過五層。

二、應用題

1.學校每學期為品學兼優的學生發放獎學金,獎學金根據學生本人申請,班主任和同學評

議的結果,分為三個等級,一等獎5名,二等獎10名,三等獎50名,向全校公布。

開發一個軟件實現獎學金的評比和發布。每學期由學生本人填寫申請信息:學號、姓名、

班級、申請等級、申請理由:系統根據申請自動檢查學生成績文件,如果成績有不及格則不

能申請獎學金;如果平均成績在85分以上有資格申請一等獎學金;75分以上可以申請二等

獎學金;否則可以申請三等獎學金。系統保存申請信息和成績檢查結果。經過成績篩選后,

同學和班主任進行評議,同學可以給申請者加0—10分,教師可以給申請者0—10分,學習

成績占80%,同學評分占10%,班主任評分占10%,最后由學生管理科編制一張報表。請

設計這張報表的內容和格式,并畫出此系統的數據流程圖。

參考答案:

日期:XXXX學期學習獎學金獲得者

學號姓名班級申請成績學習總成績同學班主任評分總分實際獲獎情況

等級等級評分

2.

根據下面程序代碼,畫出程序流程圖,然后設計滿足條件組合覆蓋的測試用例。

BEGIN

T:=0

IE(X>=80ANDY>=80)THEN

T:=l

ELSEIF(X>=90ANDY>=75)THEN

T:=2

ENDIF

END.

答案:

經化簡后的測試用例:x=95y=95;x=95,y=70;x=70,y=95;x=70,y=70;

3.一個學生考試成績統計程序,小于60分為“不及格”;60-79為“中”;80-89為“良”;

90分以上為“優秀”,錄入其他成績均為“無效”。要求:設計語句覆蓋的測試用例。

答案:

假設變量A是讀入的成績,則設計的語句覆蓋測試用例有5個:

A=59不及格

A=79中

A=89良

A=99優

A二101無效

說明:此題的答案不唯一,只要符合語句覆蓋條件即可。

簡化的圖書館圖書信息管理系統有以下要求:(1)借書:輸入讀者借書證,系統檢查借

書證是否有效;查閱借還書文件,檢查該讀者所借圖書是否超過8本,若己達8本,顯示信

息“已經超出借書數量”,拒借,然后查詢是否有超過1個月,若有則顯示信息“有超期未

還圖書”:兩項檢查通過后,辦理借書(檢查庫存、修改庫存文件并將讀者借書信息登入借

還書文件)(2)還書:輸入書號和讀者號,從借書文件中讀出有關的借書記錄,查閱所借日

期,如果超過1個月,作罰款處理。否則,修改庫存文件與借還書文件。

請就以上系統功能畫出DFD圖,并給出借還書文件的數據字典。

答案:

畫數據流程圖:可以有不同的答案,基本流程正確即可。

數據字典:可以用表格的方式說明也可以按照傳統的數據字典格式,例如:

名稱:借還書信息

編號:DS03

簡述:保存讀者的借還書記錄

數據存儲的組成:編號+讀者號+圖書號+借書日期+還書日期+操作員編號

存儲方式:數據庫表

訪問頻率:每日大約300條記錄。

數據元素名稱:編號

簡稱:NO

類型:CHAR

長度:6

取值范圍:000000

初始值:系統自動產生

其他……

或者:

編號:DS03名稱:借還書信息

名稱簡稱鍵值類型長度值域初值備注

編號N0P字符6自動

讀者號ReadNO字符11

圖書號BookNO字符13

借書日期Bdate日期當前日期

還書日期Rdate日期當前日期

操作員編號OPNO字符

4.學校每學期為品學兼優的學生發放獎學金,獎學金根據學生本人申請,班主任和同學評議

的結果,分為三個等級,一等獎5名,二等獎10名,三等獎50名,向全校公布。

開發一個軟件實現獎學金的評比和發布。每學期由學生本人填寫申請信息:學號、姓名、

班級、申請等級、申請理由;系統根據申請自動檢查學生成績文件,如果成績有不及格則不

能申請獎學金:如果平均成績在85分以上有資格申請一等獎學金;75分以上可以申請二等

獎學金;否則可以申請三等獎學金。系統保存申請信息和成績檢查結果。經過成績篩選后,

同學和班主任進行評議,同學可以給申請者加0—10分,教師可以給申請者0—10分。學習

成績占80%,同學評分占10%,班主任評分占10%,最后由學生管理科編制一張報表。請

設計這張報表的內容和格式,并畫出此系統的數據流程圖。

參考答案:

日期:XXXX學期學習獎學金獲得者

學號姓名班級申請成績學習總成績同學班主任評分總分實際獲獎情況

等級等級評分

5.股票交易所給經紀人的手續費按下面方法計算:

總手續費=基本手續費+附加手續費

其中,

-8.4%*交易金額交易總額v1000元

基本手續費=J5%*交易金額+34

交易金額【1000,100001元

4%*交易金額+134交易金額>10000元

「5%*基本手續費每股價格<14元,股數是100的倍數

附件手續費=J2%*基本手續費

每股價格[14,25]元

1.5%*基本手續費每股價格>25元

請用判定表描述手續費的計算方法。

答案:

條件123456789

<1000TTTFTF

>10000TTTFTF

<14TFTFTF

>25TFTFTF

總手續費①②③④⑤⑥⑦⑧⑨

①總手續費=8.4%*交易金額(1+3%)

②總手續費=8.4%*交易金額(1+1.5%)

③總手續費=8.4%*交易金額(1+2%)

④總手續費=4%*交易金額+134(1+5%)

⑤總手續費=4%*交易金額+134(1+1.5%)

⑥總手續費=4%*交易金額+134(1+2%)

⑦總手續費=5%*交易金額+34(1+5%)

⑧總手續費=5%*交易金額+34(1+1.5%)

⑨總手續費=5%*交易金額+34(1+2%)

6.一個城市的公共事業部決定開發一個“計算機化的”坑洼跟蹤和修理系統c市民通過本

系統報告有坑洼時.,要說明街道地址、大小、影響程度,還要記錄報告者的姓名和電話,存

儲在坑洼報告信息中,被送到公共事業部,工作人員根據坑洼的地點和大小,修理隊標識號,

修理隊的人數,被分配的裝備,制定一份工單,送到維修隊。維修隊修理后,將坑洼修理結

果錄入后生成坑洼維修文件,并把維修報告上報公共事業部,包括:修理坑洼狀況,使用填

料的數量和修理的開銷(時間、人數、使用的材料、裝備)。請畫出數據流程圖,設計工單信

息的數據字典。

參考答案:

坑注信息

DSOI

IPOOI

市民坑洼信息

公共事

報告坑洼信息業部

DS04坑洼維掇信息

工單數據字典

數據項類型長度初始值備注

工單號字符8自動生成主鍵

坑洼編號字符8DS0I的主鍵

維修單位編號

溫馨提示

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

評論

0/150

提交評論