軟件工程期末考試簡答題匯總_第1頁
軟件工程期末考試簡答題匯總_第2頁
軟件工程期末考試簡答題匯總_第3頁
軟件工程期末考試簡答題匯總_第4頁
軟件工程期末考試簡答題匯總_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余30頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1什么是軟件工程?根本原理有哪些?2本錢效益分析可用哪些指標(biāo)進(jìn)行度量?寫出公式63什么是數(shù)據(jù)流圖?其中的根本符號各表示什么含義?畫出定貨系統(tǒng)根本數(shù)據(jù)流圖.64非漸增式測試與漸增式測試有什么區(qū)別?65試從根本符號和設(shè)計方法分析HC圖與JACKSO陽異同點66軟件測試的目的是什么?77結(jié)構(gòu)化程序設(shè)計的思想是什么?78請解釋極限編程和自適應(yīng)軟件開發(fā),并說明其異同?79需求工程的起始階段,需求工程師的主要工作是?710請畫出“在餐廳使用信用卡付費(fèi)這一活動的完整用例圖?811分析說明結(jié)構(gòu)化分析和面向?qū)ο蠓治龅膮^(qū)別?812請簡要給出評價軟件設(shè)計質(zhì)量的標(biāo)準(zhǔn)?813一個良好的設(shè)計類需要滿足四個特點,請詳細(xì)描述

2、這四個特點?.814軟件工程估算內(nèi)容與步驟915面向?qū)ο笤O(shè)計的準(zhǔn)那么是什么?有哪5個層次和4個局部?916簡述軟件工程目標(biāo)和面臨的主要問題17簡述軟件工程過程.918簡述模塊獨(dú)立性的原那么.1019簡述結(jié)構(gòu)化程序設(shè)計方法的根本要點1020簡述軟件生命周期開發(fā)方法的根本過程及每個階段的任務(wù).1021復(fù)印機(jī)的工作流程大致如下:1122簡述文檔在軟件工程中的作用.1223簡述軟件工程治理過程.1224簡述系統(tǒng)分析員應(yīng)該具備的主要知識結(jié)構(gòu)和根本素質(zhì).1225簡述何謂軟件開發(fā)方法?請列舉四種主要方法.1226簡述單元測試的根本內(nèi)容.1327什么是軟件生存周期模型?請至少列舉四種主要模型?1328衡量模塊

3、獨(dú)立的兩個標(biāo)準(zhǔn)是什么?它們各表示什么含義?網(wǎng)上.1429簡述白盒測試的思想,并列舉兩種典型的測試技術(shù).1430簡述CMM軟件水平成熟度模型5個等級的含義1431簡述軟件維護(hù)的定義1532簡述軟件測試的定義151533UML建模中主要包括哪九種圖?并說明類圖的定義及其中常見的關(guān)系有哪些?34什么是字據(jù)字典?其作用是什么?它有哪些條目?1535軟件工程的兩大范型分別是什么?它們有什么不同?1636如何畫分層數(shù)據(jù)流圖?1637面向?qū)ο蟪绦蛟O(shè)計有哪些優(yōu)點?1638在軟件測試中,應(yīng)注意哪些原那么?1739程序設(shè)計風(fēng)格是指一個人編制程序時所表現(xiàn)出來的特點、習(xí)慣、邏輯思路等.1740面向?qū)ο蠓治雠c面向?qū)ο笤O(shè)

4、計的關(guān)系?1741本錢-效益分析的目的是什么?可用哪些指標(biāo)進(jìn)行度量?1742軟件設(shè)計分哪幾個階段,它們的主要任務(wù)是什么?1843用戶需求和系統(tǒng)需求各有什么特點?1844面向?qū)ο笤O(shè)計的準(zhǔn)那么?1845需求分析過程主要有哪幾個步驟?1946軟件設(shè)計分哪幾個階段,它們的主要任務(wù)是什么?191947什么是軟件結(jié)構(gòu)圖?它有哪些主要元素?1948面向?qū)ο蠓椒ǖ奶攸c是什么?為什么要用面向?qū)ο蠓椒ㄩ_發(fā)軟件?49什么是編碼風(fēng)格?請根據(jù)自己的編程經(jīng)驗編寫一個編程考前須知.2050軟件生命期各階段的任務(wù)是什么?2151非漸增式測試與漸增式測試有什么區(qū)別?2152面向?qū)ο蟪绦蛟O(shè)計有哪些優(yōu)點?2253模塊間的耦合性有哪

5、幾種?2254軟件開發(fā)步驟包括哪些過程?2255數(shù)據(jù)字典有哪幾類元素構(gòu)成?2356大型軟件系統(tǒng)的設(shè)計思想是什么?2357、數(shù)據(jù)庫設(shè)計一般分為哪幾個階段?形成哪三種模式?P101.2358什么是軟件危機(jī)?其產(chǎn)生的原因是什么?P72359、概要設(shè)計的原那么?P722460闡述結(jié)構(gòu)化設(shè)計的主要思想?P792461軟件工程主要研究哪些領(lǐng)域?P162562 .以G.J.Myers的觀點,簡述對軟件測試的目的.2563 .就程序設(shè)計語言的工程特性而言,對程序編碼有哪些要求?2564模塊的內(nèi)聚性包括哪些類型?2665可行性研究報告的主要內(nèi)容有哪些?2666系統(tǒng)設(shè)計的內(nèi)容是什么?2767什么是軟件危機(jī)?軟件危

6、機(jī)的表現(xiàn)是什么?其產(chǎn)生的原因是什么?一.2868.軟件質(zhì)量保證應(yīng)做好哪幾方面的工作?3069軟件復(fù)用3170、Case技術(shù)3171請說明軟件文檔的作用?軟件開發(fā)工程生存期各階段都包含哪些文檔?.3172什么是數(shù)據(jù)字典?其作用是什么?它有哪些條目?3173采用黑盒技術(shù)設(shè)計測試用例有哪幾種方法?這些方法各有什么特點?.3274何謂軟件生存周期?其可以劃分為幾個時期?每個時期又可分為幾個階段?每個階段的主要任務(wù)是什么?3275如何做好軟件質(zhì)量保證工作?3376什么是軟件工程?什么是軟件危機(jī)?3477軟件的可行性研究主要研究哪些問題?并對此進(jìn)行說明.3478什么是黑盒測試,適用的方法有哪些?什么是白盒

7、測試,適用的方法有哪些?3479什么是軟件維護(hù)?軟件維護(hù)包括哪四類活動?3580有人說:軟件開發(fā)時、一個錯誤發(fā)現(xiàn)得越晚、為改正它所付出的代價就越大.請問這句話對否?請解釋你的答復(fù).3581請將下述有關(guān)模塊獨(dú)立性的各種模塊內(nèi)聚,按其內(nèi)聚度強(qiáng)度從高到低排列起來.351什么是軟件工程?根本原理有哪些?軟件工程是指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科.用分階段的生命周期方案治理、堅持階段評審、實行嚴(yán)格產(chǎn)品限制、采用現(xiàn)代設(shè)計技術(shù)、結(jié)果審查、開發(fā)小組人員少而精、并不斷改良方法.2本錢_效益分析可用哪些指標(biāo)進(jìn)行度量?寫出公式可用投資回收期、純收入、投資回收率指標(biāo),通過P=F/1+in計算求得.3什么是數(shù)據(jù)流圖?

8、其中的根本符號各表示什么含義?畫出定貨系統(tǒng)根本數(shù)據(jù)流圖.用符號描繪信息在系統(tǒng)中流動的情況,源點、終點、處理、數(shù)據(jù)存儲、數(shù)據(jù)流.4非漸增式測試與漸增式測試有什么區(qū)別?兩種都用于集成測試.漸增式是把下一個要測試的摸塊同已經(jīng)測試好的模塊結(jié)合起來進(jìn)行測試,每次增加一個模塊.非漸增式先分別測每個模塊,再把所有模塊按設(shè)計要求放在一起結(jié)合成所要的程序.5試從根本符號和設(shè)計方法分析HC圖與JACKSO陽異同點答:HC圖是面向DFD而JACKSON是面向數(shù)據(jù)結(jié)構(gòu)的.符號省略.6軟件測試的目的是什么?測試的目的是為了發(fā)現(xiàn)錯誤.7結(jié)構(gòu)化程序設(shè)計的思想是什么?答:自上而下,逐步求精8請解釋極限編程和自適應(yīng)軟件開發(fā),并

9、說明其異同?答:極限編程和自適應(yīng)軟件開發(fā)都屬于敏捷過程模型.極限編程是應(yīng)用最廣泛的敏捷過程2分.根據(jù)方案、設(shè)計、編碼和測試四個框架活動組織.極限編程建議一系列新奇和有力的技術(shù),保證敏捷團(tuán)隊創(chuàng)立水平表達(dá)客戶指定優(yōu)先級特征和功能的頻繁軟件開發(fā)2分.自適應(yīng)軟件開發(fā)強(qiáng)調(diào)人的合作和團(tuán)隊的組織,按思考、協(xié)作和學(xué)習(xí)的三個框架活動組織,其使用迭代過程.該過程由自適應(yīng)循環(huán)方案、相對嚴(yán)格的需求收集方法和一個迭代開發(fā)循環(huán)構(gòu)成2分.9需求工程的起始階段,需求工程師的主要工作是?答:需求工程的起始階段,工程師的主要工作為:1建立根本的問題需求2分2定義最重要的工程約束以及陳述主要的特征和功能2分10請畫出“在餐廳使用信

10、用卡付費(fèi)這一活動的完整用例圖?11分析說明結(jié)構(gòu)化分析和面向?qū)ο蠓治龅膮^(qū)別?答:分析建模的目標(biāo)是創(chuàng)立各種表現(xiàn)形式,以描述軟件信息、功能和行為的需求2分.為實現(xiàn)這一目標(biāo),可采用結(jié)構(gòu)化分析和面向?qū)ο蠓治龇椒?分.結(jié)構(gòu)化分析把軟件看作信息裝換器,輔助軟件工程師識別數(shù)據(jù)對象、對象間的聯(lián)系以及這些數(shù)據(jù)對象流經(jīng)軟件處理功能時轉(zhuǎn)換的方式2分.面向?qū)ο蠓治鼍褪菣z查定義為一組用例的問題域,盡量提取定義問題的類1分.12請簡要給出評價軟件設(shè)計質(zhì)量的標(biāo)準(zhǔn)?答:評價軟件設(shè)計質(zhì)量的標(biāo)準(zhǔn)如下:1設(shè)計必須實現(xiàn)所有包含在分析模型中的明確需求,以及用戶期望的所有隱含需求2分2對于那些生成代碼的人和那些進(jìn)行代碼測試以及隨后維護(hù)軟件

11、的人而言,設(shè)計必須是可讀、可理解的指南2分3設(shè)計必須提供軟件的全貌,從實現(xiàn)的角度水明數(shù)據(jù)域、功能域和行為域2分13一個良好的設(shè)計類需要滿足四個特點,請詳細(xì)描述這四個特點?答:一個良好的設(shè)計類需要滿足:1完整性和充分性1分2原始性2分3高內(nèi)聚性2分4)低耦合性(1分)14軟件工程估算內(nèi)容與步驟15面向?qū)ο笤O(shè)計的準(zhǔn)那么是什么?有哪5個層次和4個局部?準(zhǔn)那么:模塊化、抽象、信息隱蔽、高內(nèi)聚、低耦合、可重用16簡述軟件工程目標(biāo)和面臨的主要問題.目標(biāo):支付較低的開發(fā)本錢、到達(dá)要求的軟件功能、獲取較好的軟件性能、開發(fā)的軟件易于移植、需要較低的維護(hù)費(fèi)用、能按時完成開發(fā)任務(wù),幾時交付使用、開發(fā)的軟件可靠性高面

12、臨的主要問題是:軟件費(fèi)用軟件可靠性軟件維護(hù)軟件生產(chǎn)率軟件重用.17簡述軟件工程過程.軟件工程過程是為獲得軟件產(chǎn)品,在軟件工具支持下由軟件工程師完成的一系列軟件工程活動.軟件工程過程通常包含四種根本的過程活動:P(Plan):軟件規(guī)格說明.規(guī)定軟件的功能及其運(yùn)行的限制;D(Do):軟件開發(fā).產(chǎn)生滿足規(guī)格說明的軟件;C(Check):軟件確認(rèn).確認(rèn)軟件能夠完成客戶提出的要求;A(Action):軟件演進(jìn).為滿足客戶的變更要求,軟件必須在使用的過程中演進(jìn).事實上,軟件工程過程是一個軟件開發(fā)機(jī)構(gòu)針對某一類軟件產(chǎn)品為自己規(guī)定的工作步驟,它應(yīng)當(dāng)是科學(xué)的、合理的,否那么必將影響到軟件產(chǎn)品的質(zhì)量.18簡述模塊

13、獨(dú)立性的原那么.模塊獨(dú)立性是指軟件系統(tǒng)中每個模塊只涉及軟件要求的具體子功能,而和軟件系統(tǒng)中其他的模塊接口是簡單的模塊獨(dú)立性的概念是模塊化、抽象、信息隱蔽和局部話概念的直接結(jié)果由耦合和內(nèi)聚2個標(biāo)準(zhǔn)度量19簡述結(jié)構(gòu)化程序設(shè)計方法的根本要點1 .采用自頂向下,逐步求精的程序設(shè)計方法在需求分析,概要設(shè)計中,都采用了自頂向下,逐層細(xì)化的方法.2 .使用三種根本限制結(jié)構(gòu)構(gòu)造程序任何程序都可由順序、選擇、重復(fù)三種根本限制結(jié)構(gòu)構(gòu)造.1用順序方式對過程分解,確定各局部的執(zhí)行順序.2用選擇方式對過程分解,確定某個局部的執(zhí)行條件.3用循環(huán)方式對過程分解,確定某個局部進(jìn)行重復(fù)的開始和結(jié)束的條件.4對處理過程仍然模糊的

14、局部反復(fù)使用以上分解方法,最終可將所有細(xì)節(jié)確定下來.3 .主程序員組的組織形式20簡述軟件生命周期開發(fā)方法的根本過程及每個階段的任務(wù).1問題定義階段,盡可能清楚地描述問題,搞清楚要解決的問題是什么;(2)可行性研究階段,主要是確定待解的問題是否有可行的解決方法.需要做經(jīng)濟(jì)可行性分析、技術(shù)可行性分析、操作可行性分析和法律可行性分析;(3)需求分析階段,主要是確定目標(biāo)系統(tǒng)必須具備的功能.通常用數(shù)據(jù)流圖、數(shù)據(jù)字典和簡要的算法表示系統(tǒng)的邏輯模型.(4)總體設(shè)計階段,從總體上解決問題,確定可實現(xiàn)的方案,并設(shè)計出軟件的層次結(jié)構(gòu)圖;(5)詳細(xì)設(shè)計,把解法具體化,確定如何具體地實現(xiàn)這個系統(tǒng).針對每個模塊設(shè)計相

15、應(yīng)的算法;(6)編碼和單元測試階段,把詳細(xì)設(shè)計的結(jié)果譯成選定的語言所寫的程序,并對每個模塊進(jìn)行單元測試.(7)測試階段,系統(tǒng)地設(shè)計測試用例,盡可能多地發(fā)現(xiàn)軟件中的錯誤,并調(diào)試改正軟件中的錯誤;(8)軟件維護(hù)階段,主要目的是通過修改軟件使所開發(fā)的軟件能夠持久地滿足用戶的需要.21復(fù)印機(jī)的工作流程大致如下:未接到復(fù)印命令時處于閑置狀態(tài),一旦接到復(fù)印命令那么進(jìn)入復(fù)印狀態(tài),完成一個復(fù)印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個復(fù)印命令:如果執(zhí)行復(fù)印命令時發(fā)現(xiàn)沒紙,那么進(jìn)入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進(jìn)入閑置狀態(tài),準(zhǔn)備接收復(fù)印命令;如果復(fù)印時發(fā)生卡紙故障,那么進(jìn)入卡紙狀態(tài),發(fā)出警告,等待維修人

16、員來排除故障,故障排除后回到閑置狀態(tài).試用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機(jī)的行為.從問題陳述可知,復(fù)印機(jī)的狀態(tài)主要有閑置、復(fù)印、缺紙和卡紙.引起狀態(tài)轉(zhuǎn)換的事件主要是復(fù)印命令、完成復(fù)印命令、發(fā)現(xiàn)缺紙、裝滿紙、發(fā)生卡紙故障和排除了卡紙故障22簡述文檔在軟件工程中的作用1、提升軟件開發(fā)過程的能見度2、實現(xiàn)對軟件開發(fā)的工程治理3、提升開發(fā)效率4、作為開發(fā)人員在一定階段的工作成果和結(jié)束標(biāo)志5、提供軟件運(yùn)行、維護(hù)和培訓(xùn)有關(guān)資料6、記錄開發(fā)過程中有關(guān)信息便于協(xié)調(diào)以后的軟件開發(fā)使用和維護(hù)7、便于用戶了解軟件功能、性能.23簡述軟件工程治理過程.24簡述系統(tǒng)分析員應(yīng)該具備的主要知識結(jié)構(gòu)和根本素質(zhì).系統(tǒng)分析員應(yīng)該既是信息系統(tǒng)

17、專家,又是企業(yè)治理專家,同時還應(yīng)該是優(yōu)秀的領(lǐng)導(dǎo)者.系統(tǒng)分析員應(yīng)該具有的知識結(jié)構(gòu)為:首先應(yīng)該具有深入扎實的信息系統(tǒng)方面的專業(yè)知識和實踐經(jīng)驗,即他們必須具有計算機(jī)軟硬件的知識和開發(fā)應(yīng)用的實踐經(jīng)驗,以及信息處理,包括MIS、網(wǎng)絡(luò)、通訊、數(shù)據(jù)庫等方面的知識和實踐經(jīng)驗;其次,應(yīng)該具有經(jīng)濟(jì)治理或企業(yè)治理方面較豐富的理論知識和實踐經(jīng)驗;同時應(yīng)該具有優(yōu)秀領(lǐng)導(dǎo)者的素質(zhì)、才能和領(lǐng)導(dǎo)藝術(shù),在信息系統(tǒng)開發(fā)的實踐中不斷豐富自己、提升自己,使自己的知識結(jié)構(gòu)更趨于合理.25簡述何謂軟件開發(fā)方法?請列舉四種主要方法.軟件開發(fā)方法是一中使用定義好的技術(shù)集和符號表示組織軟件生產(chǎn)的過程.結(jié)構(gòu)化方法jackson方法維也納開發(fā)方法面

18、向?qū)ο箝_發(fā)方法26簡述單元測試的根本內(nèi)容.測試構(gòu)造軟件系統(tǒng)的模塊對象和子系統(tǒng)模塊接口主要檢查數(shù)據(jù)能否正確通過模塊;屬性及對應(yīng)關(guān)系是否一致局部數(shù)據(jù)結(jié)構(gòu)說明不正確或不一致;初始化或缺省值錯誤;變量名未定義或拼寫錯誤;數(shù)據(jù)類型不相容;上溢下溢或地址錯誤等重要的執(zhí)行路徑重要模塊要進(jìn)行根本路徑測試,仔細(xì)地選擇測試路徑是單元測試的一項根本任務(wù)錯誤處理主要測試程序?qū)﹀e誤處理的水平,應(yīng)檢查是否不能正確處理外部輸入錯誤或內(nèi)部處理引起的錯誤;對發(fā)生的錯誤不能正確描述的內(nèi)容,難以理解;在錯誤處理之前,系統(tǒng)已經(jīng)進(jìn)行干預(yù)等邊界條件程序最容易在邊界上出錯,如輸入輸出數(shù)據(jù)的等價類邊界,選擇條件和循環(huán)條件的邊界,復(fù)雜數(shù)據(jù)結(jié)構(gòu)

19、的邊界等都應(yīng)進(jìn)行測試27什么是軟件生存周期模型?請至少列舉四種主要模型?軟件生存周期模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型.軟件生存周期模型確立了軟件開發(fā)和演繹中各階段的次序限制以及各階段或機(jī)動的準(zhǔn)那么,確立開發(fā)過程所遵守的規(guī)定和限制,便于各種活動的協(xié)調(diào),便于各種人員的有效通信,有利于活動重用,有利于活動治理.常見的軟件生存周期模型有瀑布模型、演化模型、螺旋模型、噴泉模型等.28衡量模塊獨(dú)立的兩個標(biāo)準(zhǔn)是什么?它們各表示什么含義?網(wǎng)上兩個定性的度量標(biāo)準(zhǔn):耦合與內(nèi)聚性耦合性:也稱塊間聯(lián)系.指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量.模塊之間聯(lián)系越緊密,其耦合性就越強(qiáng),模塊的獨(dú)立性那

20、么越差.內(nèi)聚性:也稱塊內(nèi)聯(lián)系.指模塊的功能強(qiáng)度的度量,即一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量.模塊內(nèi)元素聯(lián)系越緊密,內(nèi)聚性越高.29簡述白盒測試的思想,并列舉兩種典型的測試技術(shù).白盒測試又稱結(jié)構(gòu)測試,它把測試對象看作一個透明的盒子.測試人員須了解程序的內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細(xì)節(jié)為根底,對程序中盡可能多的邏輯路徑進(jìn)行測試,檢查內(nèi)部限制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯,實際的運(yùn)行狀態(tài)和預(yù)期的狀態(tài)是否一致典型測試技術(shù):邏輯驅(qū)動、根本路徑測試等30簡述CMM軟件水平成熟度模型5個等級的含義第一級根本集軟件工程是混亂無序的,對工程幾乎沒有定義,成功依靠的是個人的才能和經(jīng)驗,治理方式屬于反響式

21、第二級重復(fù)級建立了根本的工程治理來跟蹤進(jìn)度.費(fèi)用和功能特征,制定了必要的工程治理,能夠利用以前類似的工程應(yīng)用取得成功第三級確定級已經(jīng)將軟件治理和過程文檔化,標(biāo)準(zhǔn)化,同時綜合成該組織的標(biāo)準(zhǔn)軟件過程,所有的軟件開發(fā)都使用該標(biāo)準(zhǔn)軟件第四級治理級收集軟件過程和產(chǎn)品質(zhì)量的詳細(xì)度量,對軟件過程和產(chǎn)品質(zhì)量有定量的理解和限制第五級優(yōu)化級軟件過程的量化反響和新的思想和技術(shù)促進(jìn)過程的不斷改良31簡述軟件維護(hù)的定義在軟件運(yùn)行或維護(hù)階段對軟件產(chǎn)品所進(jìn)行的修改,這些修改可能是改正軟件中的錯誤,也可能是增加新的功能以適應(yīng)新的需求,但一般不包括軟件系統(tǒng)結(jié)構(gòu)上的重大改變32簡述軟件測試的定義廣義:軟件產(chǎn)品生存周期內(nèi)所有的檢查

22、評審和確認(rèn)活動狹義:對軟件產(chǎn)品質(zhì)量的檢驗和評價,一方面檢查軟件產(chǎn)品質(zhì)量中存在的質(zhì)量問題同時對產(chǎn)品質(zhì)量進(jìn)行客觀的評價.33UML®模中主要包括哪九種圖?并說明類圖的定義及其中常見的關(guān)系有哪些?用例圖類圖對象圖狀態(tài)圖順序圖協(xié)作圖活動圖組件圖分布圖類圖描述系統(tǒng)的的靜態(tài)結(jié)構(gòu).表示系統(tǒng)中類、類與類之間的關(guān)系以及類的屬性和操作.常見關(guān)系:關(guān)聯(lián)分為聚合和組合、范化、依賴、實現(xiàn)34什么是字據(jù)字典?其作用是什么?它有哪些條目?數(shù)據(jù)字典是用于定義數(shù)據(jù)流圖中的各個成分的具體含義.它以一種準(zhǔn)確的無二義的說明方式為系統(tǒng)的分析設(shè)計及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述有4類條目:數(shù)據(jù)流、數(shù)據(jù)存儲、數(shù)據(jù)項和

23、加工35軟件工程的兩大范型分別是什么?它們有什么不同?分別是傳統(tǒng)的結(jié)構(gòu)化范型和面向?qū)ο蠓缎?結(jié)構(gòu)化范型要么面向行為要么面向數(shù)據(jù),但沒有既面向數(shù)據(jù)又面向行為的;而面向?qū)ο蠓缎桶褦?shù)據(jù)和行為看成同等重要,即將對象視作一個融合了數(shù)據(jù)及在其上操作的行為的統(tǒng)一的軟件組件.面向?qū)ο笙鄬τ诮Y(jié)構(gòu)化技術(shù),無論對象的內(nèi)部細(xì)節(jié)如何變化,只要對象提供的方法即接口保持不變,那么整個軟件產(chǎn)品的其他局部就不會受到影響,不需要了解對象內(nèi)部的變化.36如何畫分層數(shù)據(jù)流圖?第一步,畫子系統(tǒng)的輸入輸出:把整個系統(tǒng)視為一個大的加工,然后根據(jù)數(shù)據(jù)系統(tǒng)從哪些外部實體接收數(shù)據(jù)流,以及系統(tǒng)發(fā)送數(shù)據(jù)流到那些外部實體,就可以畫出輸入輸出圖.這張圖

24、稱為頂層圖.第二步,畫子系統(tǒng)的內(nèi)部:把頂層圖的加工分解成假設(shè)干個加工,并用數(shù)據(jù)流將這些加工連接起來,使得頂層圖的輸入數(shù)據(jù)經(jīng)過假設(shè)干加工處理后,變成頂層圖的輸出數(shù)據(jù)流.這張圖稱為0層圖.從一個加工畫出一張數(shù)據(jù)流圖的過程就是對加工的分解.37面向?qū)ο蟪绦蛟O(shè)計有哪些優(yōu)點?1易維護(hù)采用面向?qū)ο笏枷朐O(shè)計的結(jié)構(gòu),可讀性高,由于繼承的存在,即使改變需求,那么維護(hù)也只是在局部模塊,所以維護(hù)起來是非常方便和較低本錢的.2質(zhì)量高在設(shè)計時,可重用現(xiàn)有的,在以前的工程的領(lǐng)域中已被測試過的類使系統(tǒng)滿足業(yè)務(wù)需求并具有較高的質(zhì)量.3效率高在軟件開發(fā)時,根據(jù)設(shè)計的需要對現(xiàn)實世界的事物進(jìn)行抽象,產(chǎn)生類.使用這樣的方法解決問題,

25、接近于日常生活和自然的思考方式,勢必提升軟件開發(fā)的效率和質(zhì)量.4易擴(kuò)展由于繼承、封裝、多態(tài)的特性,自然設(shè)計出高內(nèi)聚、低耦合的系統(tǒng)結(jié)構(gòu),使得系統(tǒng)更靈活、更容易擴(kuò)展,而且本錢較低.38在軟件測試中,應(yīng)注意哪些原那么?1認(rèn)真執(zhí)行測試方案2“盡早和不斷地進(jìn)行軟件測試/評審3優(yōu)選測試工具、技術(shù)和方法4精心設(shè)計測試用例5交叉進(jìn)行軟件檢測6重點測試群集現(xiàn)象7全面檢查并分析測試結(jié)果8妥善保管測試文檔39程序設(shè)計風(fēng)格是指一個人編制程序時所表現(xiàn)出來的特點、習(xí)慣、邏輯思路等.要形成良好的程序設(shè)計風(fēng)格,應(yīng)從源程序文檔化、數(shù)據(jù)說明、語句構(gòu)造、輸入輸出和追求效率幾個方面加以注意.40面向?qū)ο蠓治雠c面向?qū)ο笤O(shè)計的關(guān)系?面向

26、對象分析與面向?qū)ο笤O(shè)計的任務(wù)相同,面向?qū)ο蠓治龅慕Y(jié)果可以作為開始面向?qū)ο笤O(shè)計的模型,面向?qū)ο蟮脑O(shè)計結(jié)果可以作為藍(lán)圖,利用面向?qū)ο缶幊谭椒ㄗ罱K實現(xiàn)一個系統(tǒng).41本錢-效益分析的目的是什么?可用哪些指標(biāo)進(jìn)行度量?本錢/效益分析的目的是從經(jīng)濟(jì)角度論證開發(fā)一個特定的新系統(tǒng)開發(fā)是否劃算,是決定是否投資開發(fā)新系統(tǒng)的依據(jù).1貨幣的時間價值:貨幣的價值本身隨時間的增加而產(chǎn)生增值2投資回收期:累計的經(jīng)濟(jì)效益等于最初的投資所需的時間.3純收入:在整個生存周期內(nèi)系統(tǒng)的累計經(jīng)濟(jì)效益折合現(xiàn)在的錢與投資之差.4投資回收率-投資的年利率42軟件設(shè)計分哪幾個階段,它們的主要任務(wù)是什么?軟件設(shè)計可以分為概要設(shè)計和詳細(xì)設(shè)計兩個階

27、段.概要設(shè)計就是結(jié)構(gòu)設(shè)計,其主要目標(biāo)就是給出軟件的模塊結(jié)構(gòu),用軟件結(jié)構(gòu)圖表示.詳細(xì)設(shè)計的首要任務(wù)就是設(shè)計模塊的程序流程、算法和數(shù)據(jù)結(jié)構(gòu),次要任務(wù)就是設(shè)計數(shù)據(jù)庫,常用方法還是結(jié)構(gòu)化程序設(shè)計方法.43用戶需求和系統(tǒng)需求各有什么特點?用戶需求是從用戶角度來描述系統(tǒng)功能和非功能需求,以便讓不具備專業(yè)技術(shù)方面知識的用戶能看懂.用戶需求是描述系統(tǒng)的外部行為,用自然語言、圖表和直觀的圖形來表達(dá).系統(tǒng)需求是比用戶需求更詳細(xì)的需求描述,是系統(tǒng)實現(xiàn)的根本依據(jù),因此,是一個完全的、一致的系統(tǒng)描述,是軟件工程人員系統(tǒng)設(shè)計的起點.系統(tǒng)需求描述可能包括許多不同的模型,如對象模型和數(shù)據(jù)流模型.44面向?qū)ο笤O(shè)計的準(zhǔn)那么?1模

28、塊化2抽象3信息隱藏4弱耦合5強(qiáng)內(nèi)聚6可重用45需求分析過程主要有哪幾個步驟?需求分析過程主要有溝通、導(dǎo)出需求、分析與精化、可行性研究、協(xié)商與溝通、規(guī)格說明、需求驗證、變更治理等步驟.46軟件設(shè)計分哪幾個階段,它們的主要任務(wù)是什么?總體設(shè)計一一概要設(shè)計、軟件結(jié)構(gòu)設(shè)計、高層設(shè)計,仔細(xì)地分析需求規(guī)格說明,研究開發(fā)產(chǎn)品的模塊劃分.詳細(xì)設(shè)計一一模塊過程設(shè)計、低層設(shè)計,為結(jié)構(gòu)設(shè)計中的各個模塊設(shè)計過程細(xì)節(jié),確定模塊所需的算法和數(shù)據(jù)結(jié)構(gòu)等.設(shè)計測試一一測試和復(fù)審,保證設(shè)計的正確和優(yōu)化.47什么是軟件結(jié)構(gòu)圖?它有哪些主要元素?軟件結(jié)構(gòu)圖是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制層次體

29、系.主要元素有:48面向?qū)ο蠓椒ǖ奶攸c是什么?為什么要用面向?qū)ο蠓椒ㄩ_發(fā)軟件?面向?qū)ο蠓椒ǖ奶攸c是:方法的唯一性,即方法是對軟件開發(fā)過程所有階段進(jìn)行綜合考慮而得到的.從生存期的一個階段到下一個階段的高度連續(xù)性,即生存期后一階段的成果只是在前一階段成果的補(bǔ)充和修改.把面向?qū)ο蠓治鯫OA、面向?qū)ο笤O(shè)計OOD劑面向?qū)ο蟪绦蛟O(shè)計OOP樂成到生存期的相應(yīng)階段.使用面向?qū)ο蠓椒ㄩ_發(fā)軟件的好處是:開發(fā)方法的唯一性,開發(fā)階段的高度連續(xù)性,表示方式的一致性;問題空間實體的自然表示,減輕了設(shè)計者的負(fù)擔(dān),在設(shè)計系統(tǒng)之初不必考慮一個很完整的解決方案.建立穩(wěn)定的系統(tǒng)結(jié)構(gòu),可促進(jìn)復(fù)用性,易于維護(hù),易于修改,可合理利用共同

30、性,減少復(fù)雜性.49什么是編碼風(fēng)格?請根據(jù)自己的編程經(jīng)驗編寫一個編程考前須知.是指一個人編制程序時所表現(xiàn)出來的特點、習(xí)慣和邏輯思路等.?考前須知:源程序文檔化、數(shù)據(jù)說明、語句構(gòu)造、輸入輸出、追求效率等.1)源程序文檔化(1)標(biāo)識符應(yīng)按意取名.(2)程序應(yīng)加注釋.2)數(shù)據(jù)說明原那么(1)數(shù)據(jù)說明順序應(yīng)標(biāo)準(zhǔn),使數(shù)據(jù)的屬性更易于查找,從而有利于測試、糾錯與維護(hù).例如按以下順序:常量壽命、類型說明、全程量說明、局部量說明.(2)一個語句說明多個變量時,各變量名按字典序排列.(3)對于復(fù)雜的數(shù)據(jù)結(jié)構(gòu),要加注釋,說明在程序?qū)崿F(xiàn)時的特點.3)語句構(gòu)造原那么:簡單直接,不能為了追求效率而使代碼復(fù)雜化4)輸入輸

31、出原那么(1)輸入操作步驟和輸入格式盡量簡單.(2)應(yīng)檢查輸入數(shù)據(jù)的合法性、有效性,報告必要的輸入狀態(tài)信息及錯誤信息.(3)輸入一批數(shù)據(jù)時,使用數(shù)據(jù)或文件結(jié)束標(biāo)志,而不要用計數(shù)來限制(4)交互式輸入時,提供可用的選擇和邊界值.(5)當(dāng)程序設(shè)計語言有嚴(yán)格的格式要求時,應(yīng)保持輸入格式的一致性.(6)輸出數(shù)據(jù)表格化、圖形化.5)追求效率原那么(1)效率是一個性能要求,目標(biāo)在需求分析給出.(2)追求效率建立在不損害程序可讀性或可靠性根底上,要先使程序正確,再提升程序效率,先使程序清楚,再提升程序效率.50軟件生命期各階段的任務(wù)是什么?答:軟件生命期分為7個階段:1、問題定義:要解決的問題是什么?2、可

32、行性研究:確定問題是否值得解,技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性3、需求分析:系統(tǒng)必須做什么4、總體設(shè)計:系統(tǒng)如何實現(xiàn),包括系統(tǒng)設(shè)計和結(jié)構(gòu)設(shè)計5、詳細(xì)設(shè)計:具體實現(xiàn)設(shè)計的系統(tǒng)6、實現(xiàn):編碼和測試7、運(yùn)行維護(hù):保證軟件正常運(yùn)行.51非漸增式測試與漸增式測試有什么區(qū)別?非漸增式測試方法把單元測試和集成測試分成兩個不同的階段,前一階段完成模塊的單元測試,后一階段完成集成測試.而漸增式測試往往把單元測試與集成測試和在一起,同時完成.非漸增式需要更多的工作量,由于每個模塊都需要驅(qū)動模塊和樁模塊,而漸增式利用已測試過的模塊作為驅(qū)動模塊或樁模塊,因此工作量較少.漸增式可以較早的發(fā)現(xiàn)接口之間的錯誤,非漸增式最

33、后組裝是才發(fā)現(xiàn).漸增式有利于排錯,發(fā)生錯誤往往和最近加進(jìn)來的模塊有關(guān),而非漸增式發(fā)現(xiàn)接口錯誤推遲到最后,很難判斷是哪一局部接口出錯.漸增式比擬徹底,已測試的模塊和新的模塊再測試.六漸增式占用的時間較多,但非漸增式須更多的驅(qū)動模塊、樁模塊也占用一些時間.出非漸增式開始可并行測試所有模塊,能充分利用人力,對測試大型軟件很有意義.52面向?qū)ο蟪绦蛟O(shè)計有哪些優(yōu)點?53模塊間的耦合性有哪幾種?耦合度由高到低1內(nèi)容耦合2公共耦合3外部耦合4限制耦合5標(biāo)記耦合6數(shù)據(jù)耦合7非直接耦合54軟件開發(fā)步驟包括哪些過程?需求分析解決系統(tǒng)做什么的問題概要設(shè)計解決系統(tǒng)怎么做詳細(xì)設(shè)計每個模塊內(nèi)部過程的描述具體化設(shè)計軟件詳細(xì)

34、規(guī)格說明書編碼設(shè)計根據(jù)詳細(xì)設(shè)計說明書寫出程序模塊系統(tǒng)測試發(fā)現(xiàn)和排除錯誤寫出軟件測試報告55數(shù)據(jù)字典有哪幾類元素構(gòu)成?數(shù)據(jù)流,在一個數(shù)據(jù)流中數(shù)據(jù)以數(shù)據(jù)流為單位進(jìn)行傳輸數(shù)據(jù)元素,也稱數(shù)據(jù)項,數(shù)據(jù)的最小單位數(shù)據(jù)存儲,數(shù)據(jù)保存或保存的地方處理,一段程序外部實體,系統(tǒng)的人機(jī)界面,數(shù)據(jù)流從外部實體流入,又從系統(tǒng)向外部實體流出56大型軟件系統(tǒng)的設(shè)計思想是什么?一個大型的軟件系統(tǒng)是變換型結(jié)構(gòu)和事務(wù)型結(jié)構(gòu)的混合結(jié)構(gòu),通常采用變幻設(shè)計為主,事物設(shè)計為輔的方式進(jìn)行軟件結(jié)構(gòu)設(shè)計,以到達(dá)高內(nèi)聚低耦合,具有獨(dú)立性,便于修改的目的.57、數(shù)據(jù)庫設(shè)計一般分為哪幾個階段?形成哪三種模式?P101數(shù)據(jù)庫的設(shè)計分為四個階段,需求分

35、析,概念設(shè)計,邏輯設(shè)計,物理設(shè)計.形成概念模式,內(nèi)模式,外模式三種模式.58什么是軟件危機(jī)?其產(chǎn)生的原因是什么?P7當(dāng)軟件開發(fā)技術(shù)跟不上硬件技術(shù)的進(jìn)步,不能滿足開發(fā)的要求時,導(dǎo)致軟件開發(fā)中遇到的問題找不到解決的方法,使問題積累起來,形成了鋒利的矛盾,從而導(dǎo)致了軟件危機(jī)原因:1軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜2軟件開發(fā)治理困難且復(fù)雜5軟件開發(fā)費(fèi)用不斷增加.4軟件開發(fā)技術(shù)落后.5生產(chǎn)方式落后.6開發(fā)工具落后,生產(chǎn)效率緩慢.59、概要設(shè)計的原那么?P72概要設(shè)計的原那么的根本思想是:模塊化設(shè)計,自頂向下逐步求精,模塊獨(dú)立性,信息隱蔽性.模塊化就是將程序劃分成假設(shè)干模塊,每個模塊完成某個子功能,然后

36、吧這些模塊集合起來組成一個整體,可以完成指定的功能來解決問題的要求.自頂向下逐步求精是先設(shè)計頂層結(jié)構(gòu),在逐層向下設(shè)計.模塊獨(dú)立性是指每個模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系少且接口簡單,獨(dú)立性較強(qiáng)的模塊應(yīng)該是高內(nèi)聚低耦合的模塊.信息隱蔽是指在設(shè)計和確定模塊時,使得一個模塊內(nèi)包含的信息,對于不需要這些信息的其他模塊來說是不能訪問的,60闡述結(jié)構(gòu)化設(shè)計的主要思想?P79結(jié)構(gòu)化設(shè)計方法是基于模塊化,自頂向下逐步求精,結(jié)構(gòu)化程序設(shè)計等程序設(shè)計技術(shù)發(fā)展起來的.結(jié)構(gòu)化設(shè)計可以非常方便的進(jìn)行數(shù)據(jù)流框圖到軟件架構(gòu)的轉(zhuǎn)換.在結(jié)構(gòu)化設(shè)計中,模塊結(jié)構(gòu)圖能夠表示出一個軟件系統(tǒng)的層次分解關(guān)系,模塊調(diào)用

37、關(guān)系,模塊之間數(shù)據(jù)流和限制信息流的傳遞關(guān)系,是結(jié)構(gòu)化設(shè)計的主要工具.模塊結(jié)構(gòu)圖是有數(shù)據(jù)流圖轉(zhuǎn)換而得到的.在將數(shù)據(jù)流圖轉(zhuǎn)換成軟件結(jié)構(gòu)之前,首先要進(jìn)一步細(xì)化數(shù)據(jù)流圖,然后對數(shù)據(jù)流圖分類,確認(rèn)是事務(wù)型還是變換型,不同的數(shù)據(jù)流圖采用不同的設(shè)計過程.61軟件工程主要研究哪些領(lǐng)域?P161軟件工程方法學(xué).在軟件開發(fā)生存周期全過程使用的一套技術(shù)的集合2軟件工具和軟件支撐環(huán)境,軟件工具是用來幫助開發(fā),測試,分析維護(hù)其他計算機(jī)程序及其文檔資料的一類程序.3軟件治理是軟件工程中的一項非常重要的工作,許多軟件工程的開發(fā)失敗的主要原因就是治理不善.4軟件的標(biāo)準(zhǔn)與標(biāo)準(zhǔn)指軟件開發(fā)過程中的作業(yè)標(biāo)準(zhǔn)化.簡述容錯技術(shù)的四種主要

38、手段,并解釋.結(jié)構(gòu)冗余:包括靜態(tài)冗余、動態(tài)冗余和混合冗余.信息冗余:為檢測或糾正信息在運(yùn)算或傳輸中的錯誤,須外加一局部信息.時間冗余:指重復(fù)執(zhí)行指令或程序來消除瞬時錯誤帶來的影響.冗余附加技術(shù):指為實現(xiàn)上述冗余技術(shù)所需的資源和技術(shù).62 .以G.J.Myers的觀點,簡述對軟件測試的目的.軟件測試是1為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;2一個好的用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤的測試.3一個成功的測試是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤的測試.63 .就程序設(shè)計語言的工程特性而言,對程序編碼有哪些要求?就程序設(shè)計語言的工程特性而言,對程序編碼有如下要求:1可移植性2開發(fā)工具的可利用性3軟件的可重用性4可維護(hù)性64

39、模塊的內(nèi)聚性包括哪些類型?模塊的內(nèi)聚性包括:1偶然內(nèi)聚2邏輯內(nèi)聚3時間內(nèi)聚4通信內(nèi)聚5順序內(nèi)聚6功能內(nèi)聚65可行性研究報告的主要內(nèi)容有哪些?解:一個可行性研究報告的主要內(nèi)容如下:1引言:說明編寫本文檔的目的;工程的名稱、背景;本文檔用到的專門術(shù)語和參考資料.2可行性研究前提:說明開發(fā)工程的功能、性能和根本要求;到達(dá)的目標(biāo);各種限制條件;可行性研究方法和決定可行性的主要因素.3對現(xiàn)有系統(tǒng)的分析:說明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負(fù)荷;各項費(fèi)用支出;所需要各類專業(yè)技術(shù)人員的數(shù)量;所需要各種設(shè)備;現(xiàn)有系統(tǒng)存在什么問題.4所建議系統(tǒng)的技術(shù)可行性分析:所建議系統(tǒng)的簡要說明;處理流程和數(shù)據(jù)流程;與現(xiàn)有

40、的系統(tǒng)比擬的優(yōu)越性;采用所建議系統(tǒng)對用戶的影響;對各種設(shè)備、現(xiàn)有軟件、開發(fā)環(huán)境、運(yùn)行環(huán)境的影響;對經(jīng)費(fèi)支出的影響;對技術(shù)可行性的評價.5所建議系統(tǒng)的經(jīng)濟(jì)可行性分析:說明所建議系統(tǒng)的各種支出,各種效益;收益投資比;投資回收周期.(6)社會因素可行性分析:說明法律因素,對合同責(zé)任、侵犯專利權(quán)、侵犯版權(quán)等問題的分析;說明用戶使用可行性,是否滿足用戶行政治理、工作制度、人員素質(zhì)的要求.(7)其他可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由(8)結(jié)論意見:說明工程是否能開發(fā);還需要什么條件才能開發(fā);對工程目標(biāo)有什么變動等.解析做軟件的可行性研究的目的就是用最小的代價在盡可能短的時間內(nèi)確

41、定該軟件工程是否能夠開發(fā),是否值得去開發(fā),其中的問題能否解決,報告共分為八個根本內(nèi)容.66系統(tǒng)設(shè)計的內(nèi)容是什么?解:系統(tǒng)設(shè)計階段先從高層入手,然后細(xì)化.系統(tǒng)設(shè)計要決定整個結(jié)構(gòu)及風(fēng)格,這種結(jié)構(gòu)為后面設(shè)計階段的更詳細(xì)策略的設(shè)計提供了根底.(1)系統(tǒng)分解.系統(tǒng)中主要的組成局部稱為子系統(tǒng),子系統(tǒng)既不是一個對象也不是一個功能,而是類、關(guān)聯(lián)、操作、時間和約束的集合.每次分解的各子系統(tǒng)數(shù)目不能太多,最底層子系統(tǒng)稱為模塊.(2)確定并發(fā)性.分析模型、現(xiàn)實世界及硬件中不少對象均是并發(fā)的.系統(tǒng)設(shè)計的一個重要目標(biāo)就是確定哪些是必須同時動作的對象,哪些不是同時動作的對象.后者可以放在一起,而綜合成單個限制線或任務(wù).(

42、3)處理器及任務(wù)分配.各并發(fā)子系統(tǒng)必須分配給單個硬件單元,要么是一個一般的處理器,要么是一個具體的功能單元,必須完成下面的工作:估計性能要求和資源需求,選擇實現(xiàn)子系統(tǒng)的硬軟件,將軟件子系統(tǒng)分配給各處理器以滿足性能要求和極小化處理器之間的通信,決定實現(xiàn)各子系統(tǒng)的各物理單元的連接.(4)數(shù)據(jù)存儲治理.系統(tǒng)中的內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)的存儲治理是一項重要的任務(wù).通常各數(shù)據(jù)存儲可以將數(shù)據(jù)結(jié)構(gòu)、文件、數(shù)據(jù)庫組合在一起,不同數(shù)據(jù)存儲要在費(fèi)用、訪問時間、容量以及可靠性之間做折中考慮.(5)全局資源的處理.必須確定全局資源,并且制定訪問全局資源的策略.全局資源包括:物理資源,如處理器、驅(qū)動器等;空間,如盤空間、工作

43、站屏等;邏輯名字,如對象標(biāo)識符、類名、文件名等.如果資源是物理對象,那么可以通過建立協(xié)議實現(xiàn)對并發(fā)系統(tǒng)的訪問,以到達(dá)自身控制;如果資源是邏輯實體,如對象標(biāo)識符,那么在共享環(huán)境中有沖突訪問的可能,如獨(dú)立的事務(wù)可能同時使用同一個對象標(biāo)識符,那么各個全局資源都必須有一個保護(hù)對象,由保護(hù)對象來限制對該資源的訪問.(6)選擇軟件限制機(jī)制.分析模型中所有交互行為都表示為對象之間的事件.系統(tǒng)設(shè)計必須從多種方法中選擇某種方法來實現(xiàn)軟件的限制.(7)人機(jī)交互接口設(shè)計.設(shè)計中的大局部工作都與穩(wěn)定的狀態(tài)行為有關(guān),但必須考慮用戶使用系統(tǒng)的交互接口.67什么是軟件危機(jī)?軟件危機(jī)的表現(xiàn)是什么?其產(chǎn)生的原因是什么?解:軟件

44、開展第二階段的末期,由于計算機(jī)硬件技術(shù)的進(jìn)步,計算機(jī)運(yùn)行速度、容量、可靠性有顯著的提升,生產(chǎn)本錢顯著下降,這為計算機(jī)的廣泛應(yīng)用創(chuàng)造了條件.一些復(fù)雜的、大型的軟件開發(fā)工程提出來了,但是,軟件開發(fā)技術(shù)的進(jìn)步一直未能滿足開展的需要.在軟件開發(fā)中遇到的問題找不到解決方法,使問題積累起來,形成了鋒利的矛盾,因而導(dǎo)致了軟件危機(jī).軟件危機(jī)表現(xiàn)在以下四個方面:(1)經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時間一再拖延.由于缺乏軟件開發(fā)的經(jīng)驗和軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作的方案很難制定.主觀盲目制定方案,執(zhí)行起來與實際情況有很大差距,使得開發(fā)經(jīng)費(fèi)一再突破.由于對工作量估計缺乏,對開發(fā)難度估計缺乏,進(jìn)度方案無法按時完成,開發(fā)時

45、間一再拖延.(2)開發(fā)的軟件不能滿足用戶要求.開發(fā)初期對用戶的要求了解不夠明確,未能得到明確的表達(dá).開發(fā)工作開始后,軟件人員和用戶又未能及時交換意見,使得一些問題不能及時解決,導(dǎo)致開發(fā)的軟件不能滿足用戶的要求,因而導(dǎo)致開發(fā)失敗.(3)開發(fā)的軟件可維護(hù)性差.開發(fā)過程中沒有同意的、公認(rèn)的標(biāo)準(zhǔn),軟件開發(fā)人員按各自的風(fēng)格工作,各行其是,開發(fā)過程無完整、標(biāo)準(zhǔn)的文檔,發(fā)現(xiàn)問題后進(jìn)行雜亂無章的修改.程序結(jié)構(gòu)不好,運(yùn)行時發(fā)現(xiàn)錯誤也很難修改,導(dǎo)致維護(hù)性差.(4)開發(fā)的軟件可靠性差.由于在開發(fā)過程中,沒有保證軟件質(zhì)量的體系和舉措,在軟件測試時,又沒有嚴(yán)格的、充分的、完全的測試,提交給用戶的軟件質(zhì)量差,在運(yùn)行中暴露

46、出大量的問題.造成軟件危機(jī)的原因是:(1)軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜.(2)軟件開發(fā)治理困難而復(fù)雜.(3)軟件開發(fā)費(fèi)用不斷增加.(4)軟件開發(fā)技術(shù)落后.(5)生產(chǎn)方式落后.6)開發(fā)工具落后,生產(chǎn)率提升緩慢.68.軟件質(zhì)量保證應(yīng)做好哪幾方面的工作?解:軟件質(zhì)量保證是軟件工程治理的重要內(nèi)容,軟件質(zhì)量保證應(yīng)做好以下幾方面的工作:(1)采用技術(shù)手段和工具.質(zhì)量保證活動要貫徹開發(fā)過程始終,必須采用技術(shù)手段和工具,尤其是使用軟件開發(fā)環(huán)境來進(jìn)行軟件開發(fā).(2)組織正式技術(shù)評審.在軟件開發(fā)的每一個階段結(jié)束時,都要組織正式的技術(shù)評審.國家標(biāo)準(zhǔn)要求單位必須采用審查、文檔評審、設(shè)計評審、審計和測試等具體手段

47、來保證質(zhì)量.(3)增強(qiáng)軟件測試.軟件測試是質(zhì)量保證的重要手段,由于測試可發(fā)現(xiàn)軟件中大多數(shù)潛在錯誤.(4)推行軟件工程標(biāo)準(zhǔn)(標(biāo)準(zhǔn)).用戶可以自己制定軟件工程標(biāo)準(zhǔn)(標(biāo)準(zhǔn)),但標(biāo)準(zhǔn)一旦確認(rèn)就應(yīng)貫徹執(zhí)行.(5)對軟件的變更進(jìn)行限制.軟件的修改和變更常常會引起潛伏的錯誤,因此必須嚴(yán)格限制軟件的修改和變更.(6)對軟件質(zhì)量進(jìn)行度量.即對軟件質(zhì)量進(jìn)行跟蹤,及時記錄和報告軟件質(zhì)量情況.解析軟件的質(zhì)量保證是向用戶及社會提供滿意的高質(zhì)量的產(chǎn)品,保證軟件產(chǎn)品從誕生到消亡為止的所有階段的質(zhì)量的活動,是軟件工程治理中的重要內(nèi)容.69軟件復(fù)用答:是指在兩次或?qū)掖尾煌能浖_發(fā)過程中重復(fù)使用相同或相似的軟件元素.包括軟件開

48、發(fā)中的文檔、設(shè)計過程、程序代碼、測試用例等.70、Case技術(shù)答:是一組工具和方法的集合,可以輔助軟件生命周期各個階段進(jìn)行軟件開發(fā).一個完整的CAS舔統(tǒng)支持所有的軟件系統(tǒng)開發(fā)工作,它可以駐留在多種硬件平臺上.71請說明軟件文檔的作用?軟件開發(fā)工程生存期各階段都包含哪些文檔?軟件文檔的作用是:提升軟件開發(fā)過程的能見度;提升開發(fā)效率;作為開發(fā)人員階段工作成果和結(jié)束標(biāo)志;記錄開發(fā)過程的有關(guān)信息便于使用與維護(hù);提供軟件運(yùn)行、維護(hù)和培訓(xùn)有關(guān)資料;便于用戶了解軟件功能、性能.軟件開發(fā)工程生存期各階段應(yīng)包括得文檔以及與各類人員的關(guān)系如下:可行性研究報告、工程開發(fā)方案、軟件需求說明書、數(shù)據(jù)要求說明書、測試方案

49、、概要設(shè)計說明書、詳細(xì)設(shè)計說明書、用戶手冊、操作手冊、測試分析報告、開發(fā)進(jìn)度月報、工程開發(fā)總結(jié)、程序維護(hù)手冊維護(hù)修改建議.72什么是數(shù)據(jù)字典?其作用是什么?它有哪些條目?數(shù)據(jù)字典簡稱DD是用來定義數(shù)據(jù)流圖中的各個成分的具體含義的,它以一種準(zhǔn)確的、無二義性的說明方式為系統(tǒng)的分析、設(shè)計及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述.他和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型,是需求規(guī)格說明書的主要組成局部.數(shù)據(jù)字典是為分析人員查找數(shù)據(jù)流圖中有關(guān)名字的詳細(xì)定義而效勞的,因此也像普通字典一樣,要把所有條目按一定的次序排列起來,以便查閱.數(shù)據(jù)字典有以下四類條目:數(shù)據(jù)流、數(shù)據(jù)項、數(shù)據(jù)存儲、根本加工.數(shù)據(jù)項是組成數(shù)

50、據(jù)流和數(shù)據(jù)存儲的最小元素.源點、終點不在系統(tǒng)之內(nèi),故一般不在字典中說明.73采用黑盒技術(shù)設(shè)計測試用例有哪幾種方法?這些方法各有什么特點?等價類劃分.等價類劃分是將輸入數(shù)據(jù)域按有效的或無效的也稱合理的或不合理的劃分成假設(shè)干個等價類,測試每個等價類的代表值就等于對該類其它值的測試.邊界值分析.該方法是將測試邊界情況作為重點目標(biāo),選取正好等于,剛剛大于或剛剛小于邊界值的情況,根據(jù)這些情況選擇測試用例.錯誤推測.錯誤推測法沒有確定的步驟,憑檢驗進(jìn)行.它的根本思想是列出程序中可能發(fā)生錯誤的情況,根據(jù)這些情況選擇測試用例.因果圖.因果圖能有效的檢測輸入條件的各種組合可能會引起的錯誤.因果圖的根本原理是通過

51、畫因果圖,把用自然語言描述的功能說明轉(zhuǎn)換為判定表,最后為判定表的每一列設(shè)計一個測試用例.74何謂軟件生存周期?其可以劃分為幾個時期?每個時期又可分為幾個階段?每個階段的主要任務(wù)是什么?一個軟件從定義到開發(fā)、使用和維護(hù),直到最終被棄用,要經(jīng)歷一個漫長的時期,通常把軟件經(jīng)歷的這個漫長的時期稱為生存周期.軟件生存期也可以分為三個時期:方案時期、開發(fā)時期和運(yùn)行時期.軟件生存周期一般可分為以下幾個階段:1問題定義問題定義階段必須答復(fù)的關(guān)鍵問題是“要解決的問題是什么?,正確理解用戶的真正需求.2可行性研究這個階段要答復(fù)的關(guān)鍵問題是:對于上一個階段所確定的問題“有行得通的解決方法嗎?",可行性研究階段應(yīng)該導(dǎo)出系統(tǒng)的高層邏輯模型通常用數(shù)據(jù)流圖表

溫馨提示

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

評論

0/150

提交評論