軟件工程試題_第1頁
軟件工程試題_第2頁
軟件工程試題_第3頁
軟件工程試題_第4頁
軟件工程試題_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1 .假設(shè)要求你開發(fā)一個(gè)軟件,該軟件的功能是把讀入的浮點(diǎn)數(shù)開平方,所得到的結(jié)果應(yīng)該精確到小數(shù)點(diǎn)后4位.一旦發(fā)現(xiàn)并測試完之后,該產(chǎn)品將被拋棄.你打算選用哪種軟件生命周期模型?請說明你做出選擇的理由.答:對這個(gè)軟件的需求很明確,實(shí)現(xiàn)開平方功能的算法也很成熟,因此,既無須通過原模型來分析需求也無須用原型來驗(yàn)證設(shè)計(jì)方案.止匕外,一旦實(shí)現(xiàn)并測試完之后,該產(chǎn)品將被拋棄,因此也無須使用有助于提升軟件可維護(hù)性的增量模型或螺旋模型來開發(fā)該軟件.綜上所述,為了開發(fā)這個(gè)簡單的軟件,使用大多數(shù)人所熟悉的瀑布模型就可以了.2 .假設(shè)你被任命為一家軟件公司的工程負(fù)責(zé)人,你的工作是治理該公司已被廣泛應(yīng)用的字處理軟件的新版本

2、開發(fā).由于市場競爭劇烈,公司規(guī)定了嚴(yán)格的完成期限并且已對公布.你打算采用哪種軟件生命周期模型?為什么?答:對這個(gè)工程的一個(gè)重要要求是,嚴(yán)格根據(jù)已對外公布了的日期完成產(chǎn)品開發(fā)工作,因此,選擇生命周期模型時(shí)應(yīng)該著重考慮哪種模型有助于加快產(chǎn)品開發(fā)的進(jìn)度.使用增量模型開發(fā)軟件時(shí)可以并行完成開發(fā)工作,因此能夠加快開發(fā)進(jìn)度.這個(gè)工程是開發(fā)該公司已被廣泛應(yīng)用的字處理軟件的新版本,從上述事實(shí)至少可以得到3點(diǎn)結(jié)論:第一,舊版本相當(dāng)于一個(gè)原型,通過收集用戶對舊版本的反映,較容易確定對新版本的需求,沒必要再專門建立一個(gè)原型系統(tǒng)來分析用戶的需求;第二,該公司的軟件工程師對字處理軟件很熟悉,有開發(fā)字處理軟件的豐富經(jīng)驗(yàn),

3、具有采用增量模型開發(fā)新版字處理軟件所需要的技術(shù)水平;第三,該軟件受到廣闊用戶的喜愛,今后很可能還要開發(fā)更新的版本,因此,應(yīng)該把該軟件的體系結(jié)構(gòu)設(shè)計(jì)成開發(fā)式的,以利于今后的改良和擴(kuò)充.綜上所述,采用增量模型來完成這個(gè)工程比擬恰當(dāng)開發(fā)模型特點(diǎn)適用場合傳統(tǒng)軟件過程瀑布模型線性模型需求明確中小型快速原型模型用戶介入早需求模糊小型軟件軟件演化模型易于維護(hù)增量模型迭代,OO開發(fā)螺旋模型不確定性大型構(gòu)件集成模型領(lǐng)域工程中型形式化方法WR模型形式化SRS理想化凈室模型形式化增量開發(fā)3 .請為某倉庫的治理設(shè)計(jì)一個(gè)ER實(shí)體聯(lián)系圖模型.該倉庫主要治理零件的訂購和供給等事項(xiàng).倉庫向工程工程提供零件,并且根據(jù)需要向供給

4、商提供零件.答:建立ER圖的大致過程如下所述.1確定實(shí)體模型本問題中共有三類實(shí)體,分別是“零件、“工程工程和“供給商.2確定聯(lián)系模型一種零件可供給多個(gè)工程工程,一個(gè)工程工程需要使用多種零件,因此,零件與工程工程之間的聯(lián)系“供給,是多對多M:N聯(lián)系;類似地,零件與供應(yīng)商之間的聯(lián)系“訂購,也是多對多M:N聯(lián)系.(3)確定實(shí)體類型和聯(lián)系類型的屬性實(shí)體類型“零件的主要屬性是零件編號(hào)、零件名稱、顏色和重量.實(shí)體類型“工程工程的屬性主要是工程編號(hào)、工程名稱和開個(gè)日期.實(shí)體類型“供給商的屬性主要有供給商編號(hào)、供給商名稱和地址.聯(lián)系類型“供給的屬性是向某工程工程供給的某種零件的數(shù)量.聯(lián)系類型“訂購的屬性是向某

5、供給商訂購的某種零件的數(shù)量.(4)把實(shí)體類型、聯(lián)系類型及屬性組合成ER圖注:橢圓、矩形、菱形,線段4.某高校可用的號(hào)有以下幾類:校內(nèi)號(hào)由4位數(shù)字組成,第一位數(shù)字不是0;校外又分為本市和外地兩類,撥校外需先撥0,如果是本地再接著撥8位號(hào)(第1位不是0),如果是外地那么先撥3位區(qū)碼,再撥8位號(hào)(第1位不是0).數(shù)據(jù)字典請用2.8節(jié)講述的符號(hào)定義上述的數(shù)據(jù)流圖.答:號(hào)=校內(nèi)號(hào)|校外號(hào)校內(nèi)號(hào)=非零數(shù)字+3位數(shù)字校外號(hào)=本市號(hào)|外地號(hào)本市號(hào)=數(shù)字零+8位數(shù)字外地號(hào)=數(shù)字零+3位數(shù)字+8位數(shù)字非零數(shù)字=1|2|3|4|5|6|7|8|9數(shù)字零=03位數(shù)字=3數(shù)字38位數(shù)字=非零數(shù)字+7位數(shù)字7位數(shù)字=7數(shù)

6、字7數(shù)字=0|1|2|3|4|5|6|7|8|9注::或關(guān)系,:重復(fù)關(guān)系,+:和關(guān)系,.:根本數(shù)據(jù)兀素,.:連接符5 .辦公室復(fù)印機(jī)的工作過程大致如下:未接收到復(fù)印命令時(shí)處于閑置狀態(tài),一旦接收到復(fù)印命令那么進(jìn)入復(fù)印狀態(tài),完成一個(gè)復(fù)印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個(gè)復(fù)印命令;如果執(zhí)行復(fù)印命令時(shí)發(fā)現(xiàn)缺紙,那么進(jìn)入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后處于閑置狀態(tài),準(zhǔn)備接受復(fù)印命令;如果復(fù)印時(shí)發(fā)生卡紙故障,那么進(jìn)入卡紙狀態(tài),發(fā)出警告等待維修人員來排除故障,故障排除后回到閑置狀態(tài).請用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機(jī)的行為.答:從問題陳述可知,復(fù)制機(jī)的狀態(tài)主要有閑置、復(fù)印、缺紙和卡紙.引起狀態(tài)轉(zhuǎn)換的事件

7、主要是復(fù)印命令、完成復(fù)印命令、發(fā)現(xiàn)缺紙、裝滿紙、發(fā)現(xiàn)卡紙故障和排除了卡紙故障.注:狀態(tài)、事件6 .如果一個(gè)程序有兩個(gè)輸入數(shù)據(jù),每個(gè)輸入都是一個(gè)32位的二進(jìn)制整數(shù),那么這個(gè)程序有多少種可能的輸入?如果每微秒可進(jìn)行一次測試,那么對所有可能的輸入進(jìn)行測試需要多長時(shí)間?32答:每個(gè)32位的二進(jìn)制整數(shù)具有2個(gè)可能的值,因此,具有兩個(gè)整數(shù)輸入的程序應(yīng)該具有264個(gè)可能的輸入.6,每微秒U(xiǎn)S可進(jìn)行一次測試,即每秒可進(jìn)行10個(gè)測試,因此,每天可進(jìn)行的測試數(shù)為6060X24X106=8.64X101013.這等于每年大約可進(jìn)行365*8.64*10exp10=3.139義0個(gè)測試.改:264133.319*10

8、16*10181053.319*1013._.5.所以做完全部測試將至少需要10年即10萬年.7 .對一個(gè)包含10000條機(jī)器指令的程序進(jìn)行一個(gè)月集成測試后,總共改正了15個(gè)錯(cuò)誤,此時(shí)MTTF=10h;經(jīng)過兩個(gè)月測試后,總共改正了25個(gè)錯(cuò)誤第二個(gè)月改正了10個(gè)錯(cuò)誤,MTTF=15h要求:(1)根據(jù)上述數(shù)據(jù)確定MTTF與測試時(shí)間之間的函數(shù)關(guān)系,畫出MTTF與測試時(shí)間的關(guān)系曲線.在畫這條曲線時(shí)你做了什么假設(shè)?(2)為做到MTTF=100h,必須進(jìn)行多長時(shí)間的集成測試?當(dāng)集成測試結(jié)束時(shí)總共改正了多少個(gè)錯(cuò)誤?還有多少個(gè)錯(cuò)誤潛伏在程序中?答:(1)假設(shè)在程序的平均無故障時(shí)間MTTF和測試時(shí)間之間存在線性

9、關(guān)系,即MTTF=a+bt根據(jù)題意可知,當(dāng)=1時(shí)MTTF=10,當(dāng)=2時(shí)MTTF=15,把這些的數(shù)據(jù)代入上列方程后得到以下的聯(lián)立方程式ab10a2b15解上列聯(lián)立方程得出a=5,b=5因此,MTTF與之間有以下關(guān)系MTTF=5+5t根據(jù)上列方程式畫出平均無故障時(shí)間MTTF與測試時(shí)間的關(guān)系曲線,如圖4.2所示(2)為使MTTF=100hMTTF=100h=5+5t,=t=l9,集成測試時(shí)間:19,需要的測試時(shí)間可由方程式得出MTTF10000K(EtEc()注:Ec(t):在0t時(shí)間內(nèi)糾錯(cuò)數(shù),Et:調(diào)試前錯(cuò)誤數(shù),MTTF:平均無故障時(shí)間根據(jù)題意可知,改正了15個(gè)錯(cuò)誤后MTTF=10,改正了25個(gè)

10、錯(cuò)誤后MTTF=15,把這些的數(shù)據(jù)代人上列方程之后,得到以下的聯(lián)立方程式1010000K(Et15)d廣1000015K(Et25)解上列聯(lián)立方程式得到Et=45,K=33.33.當(dāng)集成測試結(jié)束時(shí),t=191001000033.33(45Ec(19)所以Ec(19)42錯(cuò)誤總數(shù):45也就是說,當(dāng)集成測試結(jié)束時(shí)總共改正了42個(gè)錯(cuò)誤,還有45-42=3個(gè)錯(cuò)誤潛伏在程序中.8 .為什么在開發(fā)大型軟件時(shí),采用面向?qū)ο蠓缎捅炔捎媒Y(jié)構(gòu)化范型較易取得成功?答:結(jié)構(gòu)化技術(shù)要么面向處理例如面向數(shù)據(jù)流的設(shè)計(jì)方法,要么面向數(shù)據(jù)例如面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法,但卻沒有既面向處理又面向數(shù)據(jù)的結(jié)構(gòu)化技術(shù).用結(jié)構(gòu)化技術(shù)開發(fā)出的

11、軟件產(chǎn)品的根本成分是產(chǎn)品的行為即處理和這些行為所操作的數(shù)據(jù).由于數(shù)據(jù)和對數(shù)據(jù)的處理是別離的,盡管開發(fā)者把程序劃分成了許多模塊,但是這些模塊之間的聯(lián)系卻是比擬緊密的耦合性高,模塊獨(dú)立性低,因此,使用結(jié)構(gòu)化范型開發(fā)出的軟件產(chǎn)品本質(zhì)上是一個(gè)完整的單元.由此帶來的后果是軟件規(guī)模越大,用結(jié)構(gòu)化范型開發(fā)軟件的技術(shù)難度和治理難度就越大.與結(jié)構(gòu)化技術(shù)相反,面向?qū)ο蠹夹g(shù)是一種以數(shù)據(jù)為主線,把數(shù)據(jù)和處理相結(jié)合的方法.面向?qū)ο蠓缎桶褜ο笞鳛橛蓴?shù)據(jù)及可以施加在這些數(shù)據(jù)上的操作所構(gòu)成的統(tǒng)一體.用面向?qū)ο蠓缎烷_發(fā)軟件時(shí),構(gòu)成軟件系統(tǒng)的每個(gè)對象就好似一個(gè)微型程序,有自己的數(shù)據(jù)、操作、功能、和用途,因此,可以把一個(gè)大型軟件產(chǎn)

12、品分解成一系列本質(zhì)上相互獨(dú)立的小產(chǎn)品來處理分解、細(xì)化,模塊化,不僅降低了軟件開發(fā)的技術(shù)難度,而且也使得對軟件開發(fā)工作的治理變得相對容易了.9 .為什么說夏利牌汽車是小汽車類的特化繼承,而發(fā)動(dòng)機(jī)不是小汽車類的特化?答:夏利牌汽車具有小汽車的全部屬性和行為,它只不過是一種特定品牌的小汽車,因此,夏利牌汽車可以從基類小汽車派生出來,也就是說,夏利牌汽車是小汽車類的特化.發(fā)動(dòng)機(jī)是組成小汽車的一種零件.小汽車還是車身、車燈、輪子等許多種其他零件,小汽車所具有的許多屬性和行為發(fā)動(dòng)機(jī)都不具有,因此,發(fā)動(dòng)機(jī)不能從小汽車類派生出來,它不是小汽車類的特化.10 .什么是對象?它與傳統(tǒng)的數(shù)據(jù)有何異同?答:1對象是用

13、面向?qū)ο蠓椒▽W(xué)開發(fā)軟件時(shí)對客觀世界實(shí)體的抽象,它是由描述實(shí)體屬性的數(shù)據(jù)及可以對這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體.傳統(tǒng)的數(shù)據(jù)是用傳統(tǒng)方法學(xué)開發(fā)軟件時(shí)對客觀實(shí)體的抽象,但是,這種抽象是不全面的:數(shù)據(jù)只能描述實(shí)體的靜態(tài)屬性,不能描述實(shí)體的動(dòng)態(tài)行為.必須從外界對數(shù)據(jù)加操作,才能改變數(shù)據(jù)實(shí)現(xiàn)實(shí)體應(yīng)有的行為.2對象與傳統(tǒng)數(shù)據(jù)有本質(zhì)區(qū)別,它不是被動(dòng)地等待外界對它施加操作,相反,它是進(jìn)行處理的主體.必須發(fā)消息請求對象主動(dòng)地執(zhí)行它的某些操作,處理它的私有數(shù)據(jù),而不能直接從外界對它的私有數(shù)據(jù)進(jìn)行操作.11 .什么是模型?開發(fā)軟件時(shí)為什么要建立模型?1所謂模型,就是為了理解事物而對事物作出的一種抽象,是

14、對事物的一種無歧義的書面描述.通常,模型:由一組圖示符號(hào)和組織這些符號(hào)的規(guī)那么組成,利用它們來定義和描述問題域中的術(shù)語和概念.更進(jìn)一步講,模型是一種思維工具,利用這種工具可以把知識(shí)標(biāo)準(zhǔn)地表示出來.2眾所周知,在解決問題之前必須首先理解所要解決的問題.對問題理解得越透徹,就越容易解決它.在開發(fā)軟件的過程中,為了更好地理解客戶要求解決的問題,往往需要建立問題域的模型清楚/準(zhǔn)確性.為了開發(fā)復(fù)雜的軟件系統(tǒng),系統(tǒng)分析員應(yīng)該從不同角度抽象出目標(biāo)系統(tǒng)的特性,使用精確的表示方法構(gòu)造系統(tǒng)的模型,驗(yàn)證模型是否滿足客戶對目標(biāo)系統(tǒng)的要求,并在設(shè)計(jì)過程中逐漸把和實(shí)現(xiàn)有關(guān)的細(xì)節(jié)加進(jìn)模型中,直至最終用程序?qū)崿F(xiàn)這個(gè)模型.對于

15、那些因過分復(fù)雜而不能直接理解的系統(tǒng),特別需要建立模型,建立的目的主要是為了降低復(fù)雜性.人的頭腦每次只能處理少量信息,模型通過把系統(tǒng)的重要局部分解成人的頭腦一次能處理的假設(shè)干個(gè)子局部,從而減少了系統(tǒng)的復(fù)雜程度.12 .試建立下述訂貨系統(tǒng)的用例模型用例圖,數(shù)據(jù)流圖DFD.假設(shè)一家工廠的采購部每天需要一張訂貨報(bào)表,報(bào)表按零件編號(hào)排序,表中列出所有需要再次訂貨的零件.對于每個(gè)需要再次訂貨的零件應(yīng)該列出下述數(shù)據(jù):零件編號(hào),零件名稱,訂貨數(shù)量,目前價(jià)格,主要供給者,次要供給者.零件入庫或出庫稱為事務(wù),通過放在倉庫中的終端把事務(wù)報(bào)告給訂貨系統(tǒng).當(dāng)某種零件的庫存數(shù)量少于庫存量臨界值時(shí)就應(yīng)該再次訂貨.答:從對這

16、個(gè)訂貨系統(tǒng)的需要可以知道,倉庫治理員通過放在倉庫中的終端把零件入庫/出庫事務(wù)報(bào)告給訂貨系統(tǒng),系統(tǒng)接收到事務(wù)信息之后應(yīng)該處理事務(wù);采購員需要使用訂貨系統(tǒng)提供的產(chǎn)生報(bào)表功能,已獲取訂貨報(bào)表.用例模型:,.層數(shù)據(jù)流圖DFD耒購員IDI庫存青年庫存清單W尾治理地更新否存活單接收事務(wù)庫區(qū)信息訂貨訂貨信,Nj貨信息D22層注:用例圖:系統(tǒng)邊界:矩形,用例:橢圓,參與者:小人,關(guān)聯(lián):直線數(shù)據(jù)流圖:源/終點(diǎn):方框,加工:圓框,數(shù)據(jù)流向:箭頭,文件或數(shù)據(jù)庫:雙杠13.為什么說面向?qū)ο蠓椒ㄅc人類習(xí)慣的思維解題方法比擬一致一致性?答:人類熟悉客觀世界、解決現(xiàn)實(shí)問題的過程是一個(gè)漸進(jìn)的過程.人的熟悉需要在繼承以前的有關(guān)

17、知識(shí)上的根底上,既包括從一般到特殊的演繹思維過程,也包括從特殊到一般的歸納思維過程,面向?qū)ο蠓椒▽W(xué)中通過建立類等級(jí)而獲得的繼承特性支持從一般到特殊的演繹思維過程繼承.人在熟悉和解決復(fù)雜問題時(shí)使用的最強(qiáng)有力的思維工具是抽象,也就是在處理復(fù)雜對象時(shí),為了到達(dá)某個(gè)分析目的而集中研究對象的與此目的有關(guān)的是指特性,暫時(shí)忽略對象的那些于此目的無關(guān)的特性.面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和根本原那么就是分析、設(shè)計(jì)和實(shí)現(xiàn)一個(gè)軟件系統(tǒng)的方法和過程,盡可能接近人們熟悉世界、解決問題的方法和過程,也就是使描述問題的問題空間和描述解法的解空間在結(jié)構(gòu)上盡可能一致.也就是說,面向?qū)ο蠓椒▽W(xué)的根本原那么是根據(jù)人們習(xí)慣的思維方式建立問

18、題域的模型,開發(fā)出盡可能直觀、自然地表現(xiàn)求解方法的軟件系統(tǒng).面向?qū)ο蟮能浖到y(tǒng)中廣泛使用的對象是對客觀世界中實(shí)體的抽象,對象實(shí)際上是抽象數(shù)據(jù)類型的實(shí)例,提供了理想的數(shù)據(jù)抽象機(jī)制,同時(shí)又具有良好的過程抽象機(jī)制通過發(fā)消息使用公有成員函數(shù).對象類是對一組相似對象的抽象,類等級(jí)中上層的類是對下層類的抽象.因此,面向?qū)ο蟮沫h(huán)境提供了強(qiáng)有力的抽象機(jī)制,便于人們在利用計(jì)算機(jī)軟件系統(tǒng)解決復(fù)雜問題時(shí)使用習(xí)慣的抽象思維工具.抽象.面向?qū)ο蟮能浖夹g(shù)為開發(fā)者提供了隨著對某個(gè)應(yīng)用系統(tǒng)的熟悉逐步深入和具體化的過程,而逐步設(shè)計(jì)和實(shí)現(xiàn)該系統(tǒng)的可能性.由于可以先設(shè)計(jì)出由抽象類構(gòu)成的系統(tǒng)框架,隨著熟悉深入和具體化再逐步派生出更具體的派生類.這樣的開發(fā)過程符合人們熟悉客觀世界、解決復(fù)雜問題時(shí)逐步的漸進(jìn)過程可擴(kuò)展性C13.將以下各事物之間的關(guān)系繼承、聚集或一般關(guān)聯(lián)寫在括弧內(nèi).1小汽車富康牌小汽車.繼承2人員雇員.繼承3圖書館-期刊閱覽室.聚集4人一一圖書館館員.一一般關(guān)聯(lián)(5)小司機(jī).

溫馨提示

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

評論

0/150

提交評論