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

下載本文檔

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

文檔簡介

假設(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ù)人所熟悉的瀑布模型就可以了。假設(shè)你被任命為一家軟件公司的項(xiàng)目負(fù)責(zé)人,你的工作是管理該公司已被廣泛應(yīng)用的字處理軟件的新版本開發(fā)。由于市場競爭激烈,公司規(guī)定了嚴(yán)格的完成期限并且已對公布。你打算采用哪種軟件生命周期模型?為什么?答:對這個(gè)項(xiàng)目的一個(gè)重要要求是,嚴(yán)格按照已對外公布了的日期完成產(chǎn)品開發(fā)工作,因此,選擇生命周期模型時(shí)應(yīng)該著重考慮哪種模型有助于加快產(chǎn)品開發(fā)的進(jìn)度。使用增量模型開發(fā)軟件時(shí)可以并行完成開發(fā)工作,因此能夠加快開發(fā)進(jìn)度。這個(gè)項(xiàng)目是開發(fā)該公司已被廣泛應(yīng)用的字處理軟件的新版本,從上述事實(shí)至少可以得到3點(diǎn)結(jié)論:第一,舊版本相當(dāng)于一個(gè)原型,通過收集用戶對舊版本的反映,較容易確定對新版本的需求,沒必要再專門建立一個(gè)原型系統(tǒng)來分析用戶的需求;第二,該公司的軟件工程師對字處理軟件很熟悉,有開發(fā)字處理軟件的豐富經(jīng)驗(yàn),具有采用增量模型開發(fā)新版字處理軟件所需要的技術(shù)水平;第三,該軟件受到廣大用戶的喜愛,今后很可能還要開發(fā)更新的版本,因此,應(yīng)該把該軟件的體系結(jié)構(gòu)設(shè)計(jì)成開發(fā)式的,以利于今后的改進(jìn)和擴(kuò)充。綜上所述,采用增量模型來完成這個(gè)項(xiàng)目比較恰當(dāng)。開發(fā)模型特點(diǎn)適用場合傳統(tǒng)軟件過程瀑布模型線性模型需求明確中小型快速原型模型用戶介入早需求模糊小型軟件軟件演化模型(易于維護(hù))增量模型迭代,OO開發(fā)螺旋模型不確定性大型構(gòu)件集成模型領(lǐng)域工程中型形式化方法轉(zhuǎn)換模型形式化SRS理想化凈室模型形式化增量開發(fā)請為某倉庫的管理設(shè)計(jì)一個(gè)ER(實(shí)體聯(lián)系圖)模型。該倉庫主要管理零件的訂購和供應(yīng)等事項(xiàng)。倉庫向工程項(xiàng)目提供零件,并且根據(jù)需要向供應(yīng)商提供零件。答:建立ER圖的大致過程如下所述。確定實(shí)體模型本問題中共有三類實(shí)體,分別是“零件”、“工程項(xiàng)目”和“供應(yīng)商”。確定聯(lián)系模型一種零件可供應(yīng)多個(gè)工程項(xiàng)目,一個(gè)工程項(xiàng)目需要使用多種零件,因此,零件與工程項(xiàng)目之間的聯(lián)系“供應(yīng)”,是多對多(M:N)聯(lián)系;類似地,零件與供應(yīng)商之間的聯(lián)系“訂購”,也是多對多(M:N)聯(lián)系。確定實(shí)體類型和聯(lián)系類型的屬性實(shí)體類型“零件”的主要屬性是零件編號、零件名稱、顏色和重量。實(shí)體類型“工程項(xiàng)目”的屬性主要是項(xiàng)目編號、項(xiàng)目名稱和開個(gè)日期。實(shí)體類型“供應(yīng)商”的屬性主要有供應(yīng)商編號、供應(yīng)商名稱和地址。聯(lián)系類型“供應(yīng)”的屬性是向某工程項(xiàng)目供應(yīng)的某種零件的數(shù)量。聯(lián)系類型“訂購”的屬性是向某供應(yīng)商訂購的某種零件的數(shù)量。把實(shí)體類型、聯(lián)系類型及屬性組合成ER圖注:橢圓、矩形、菱形,線段某高??捎玫碾娫捥柎a有以下幾類:校內(nèi)電話號碼由4位數(shù)字組成,第一位數(shù)字不是0;校外電話又分為本市電話和外地電話兩類,撥校外電話需先撥0,如果是本地電話再接著撥8位電話號碼(第1位不是0),如果是外地電話則先撥3位區(qū)碼,再撥8位電話號碼(第1位不是0)。數(shù)據(jù)字典請用2.8節(jié)講述的符號定義上述的數(shù)據(jù)流圖。答:電話號碼=[校內(nèi)電話號碼|校外電話號碼]校內(nèi)電話號碼=非零數(shù)字+3位數(shù)字校外電話號碼=[本市號碼|外地號碼]本市號碼=數(shù)字零+8位數(shù)字外地號碼=數(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ù)字}7數(shù)字=[0|1|2|3|4|5|6|7|8|9]注:[|]:或關(guān)系,{}:重復(fù)關(guān)系,+:和關(guān)系,...:基本數(shù)據(jù)元素,..:連接符辦公室復(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)換的事件主要是復(fù)印命令、完成復(fù)印命令、發(fā)現(xiàn)缺紙、裝滿紙、發(fā)現(xiàn)卡紙故障和排除了卡紙故障。注:狀態(tài)、事件如果一個(gè)程序有兩個(gè)輸入數(shù)據(jù),每個(gè)輸入都是一個(gè)32位的二進(jìn)制整數(shù),那么這個(gè)程序有多少種可能的輸入?如果每微秒可進(jìn)行一次測試,那么對所有可能的輸入進(jìn)行測試需要多長時(shí)間?答:每個(gè)32位的二進(jìn)制整數(shù)具有個(gè)可能的值,因此,具有兩個(gè)整數(shù)輸入的程序應(yīng)該具有個(gè)可能的輸入。每微秒(us)可進(jìn)行一次測試,即每秒可進(jìn)行個(gè)測試,因此,每天可進(jìn)行的測試數(shù)為60×60×24×=8.64×這等于每年大約可進(jìn)行365*8.64*10exp(10)=3.139×個(gè)測試。改:所以做完全部測試將至少需要年(即10萬年)。對一個(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í)間之間存在線性關(guān)系,即MTTF=a+bt根據(jù)題意可知,當(dāng)=1時(shí)MTTF=10,當(dāng)=2時(shí)MTTF=15,把這些已知的數(shù)據(jù)代入上列方程后得到下列的聯(lián)立方程式解上列聯(lián)立方程得出a=5,b=5因此,MTTF與之間有下列關(guān)系MTTF=5+5t根據(jù)上列方程式畫出平均無故障時(shí)間MTTF與測試時(shí)間的關(guān)系曲線,如圖4.2所示為使MTTF=100hMTTF=100h=5+5t,==>t=19,集成測試時(shí)間:19,需要的測試時(shí)間可由方程式得出注:Ec(t):在0-t時(shí)間內(nèi)糾錯(cuò)數(shù),Et:調(diào)試前錯(cuò)誤數(shù),MTTF:平均無故障時(shí)間根據(jù)題意可知,改正了15個(gè)錯(cuò)誤后MTTF=10,改正了25個(gè)錯(cuò)誤后MTTF=15,把這些已知的數(shù)據(jù)代人上列方程之后,得到下列的聯(lián)立方程式解上列聯(lián)立方程式得到=45,K=33.33.已知當(dāng)集成測試結(jié)束時(shí),t=19所以錯(cuò)誤總數(shù):45也就是說,當(dāng)集成測試結(jié)束時(shí)總共改正了42個(gè)錯(cuò)誤,還有45-42=3個(gè)錯(cuò)誤潛伏在程序中。為什么在開發(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ā)出的軟件產(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)品分解成一系列本質(zhì)上相互獨(dú)立的小產(chǎn)品來處理(分解、細(xì)化,模塊化),不僅降低了軟件開發(fā)的技術(shù)難度,而且也使得對軟件開發(fā)工作的管理變得相對容易了。為什么說夏利牌汽車是小汽車類的特化(繼承),而發(fā)動(dòng)機(jī)不是小汽車類的特化?答:夏利牌汽車具有小汽車的全部屬性和行為,它只不過是一種特定品牌的小汽車,因此,夏利牌汽車可以從基類(小汽車)派生出來,也就是說,夏利牌汽車是小汽車類的特化。發(fā)動(dòng)機(jī)是組成小汽車的一種零件。小汽車還是車身、車燈、輪子等許多種其他零件,小汽車所具有的許多屬性和行為發(fā)動(dòng)機(jī)都不具有,因此,發(fā)動(dòng)機(jī)不能從小汽車類派生出來,它不是小汽車類的特化。什么是對象?它與傳統(tǒng)的數(shù)據(jù)有何異同?答:(1)對象是用面向?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)行操作。什么是模型?開發(fā)軟件時(shí)為什么要建立模型?(1)所謂模型,就是為了理解事物而對事物作出的一種抽象,是對事物的一種無歧義的書面描述。通常,模型:由一組圖示符號和組織這些符號的規(guī)則組成,利用它們來定義和描述問題域中的術(shù)語和概念。更進(jìn)一步講,模型是一種思維工具,利用這種工具可以把知識規(guī)范地表示出來。(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è)模型。對于那些因過分復(fù)雜而不能直接理解的系統(tǒng),特別需要建立模型,建立的目的主要是為了降低復(fù)雜性。人的頭腦每次只能處理少量信息,模型通過把系統(tǒng)的重要部分分解成人的頭腦一次能處理的若干個(gè)子部分,從而減少了系統(tǒng)的復(fù)雜程度。試建立下述訂貨系統(tǒng)的用例模型(用例圖),數(shù)據(jù)流圖(DFD)。假設(shè)一家工廠的采購部每天需要一張訂貨報(bào)表,報(bào)表按零件編號排序,表中列出所有需要再次訂貨的零件。對于每個(gè)需要再次訂貨的零件應(yīng)該列出下述數(shù)據(jù):零件編號,零件名稱,訂貨數(shù)量,目前價(jià)格,主要供應(yīng)者,次要供應(yīng)者。零件入庫或出庫稱為事務(wù),通過放在倉庫中的終端把事務(wù)報(bào)告給訂貨系統(tǒng)。當(dāng)某種零件的庫存數(shù)量少于庫存量臨界值時(shí)就應(yīng)該再次訂貨。答:從對這個(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):2層注:用例圖:系統(tǒng)邊界:矩形,用例:橢圓,參與者:小人,關(guān)聯(lián):直線數(shù)據(jù)流圖:源/終點(diǎn):方框,加工:圓框,數(shù)據(jù)流向:箭頭,文件或數(shù)據(jù)庫:雙杠13.為什么說面向?qū)ο蠓椒ㄅc人類習(xí)慣的思維解題方法比較一致(一致性)?答:人類認(rèn)識客觀世界、解決現(xiàn)實(shí)問題的過程是一個(gè)漸進(jìn)的過程。人的認(rèn)識需要在繼承以前的有關(guān)知識上的基礎(chǔ)上,既包括從一般到特殊的演繹思維過程,也包括從特殊到一般的歸納思維過程,面向?qū)ο蠓椒▽W(xué)中通過建立類等級而獲得的繼承特性支持從一般到特殊的演繹思維過程(繼承)。人在認(rèn)識和解決復(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)的方法和過程,盡可能接近人們認(rèn)識世界、解決問題的方法和過程,也就是使描述問題的問題空間和描述解法的解空間在結(jié)構(gòu)上盡可能一致。也就是說,面向?qū)ο蠓椒▽W(xué)的基本原則是按照人們習(xí)慣的思維方式建立問題域的模型,開發(fā)出盡可能直觀、自然地表現(xiàn)求解方法的軟件系統(tǒng)。面向?qū)ο蟮能浖到y(tǒng)中廣泛使用的對象是對客觀世界中實(shí)體的抽象,對象實(shí)際上是抽象數(shù)據(jù)類型的實(shí)例,提供了理想的數(shù)據(jù)抽象機(jī)制,同時(shí)又具有良好的過程抽象機(jī)制(通過發(fā)消息使用公有成員函數(shù))。對象類是對一組相似對象的抽象,類等級中上層的類是對下層類的抽象。因此,面向?qū)ο蟮沫h(huán)境提供了強(qiáng)有力的抽象機(jī)制,便于人們在利用計(jì)算機(jī)軟件系統(tǒng)解決復(fù)雜問題時(shí)使用習(xí)慣的抽象思維工具。(抽象)。面向?qū)ο蟮能浖夹g(shù)為開發(fā)者提供了隨著對某個(gè)應(yīng)用系統(tǒng)的認(rèn)識逐步深入和具體化的過程,而逐步設(shè)計(jì)和實(shí)現(xiàn)該系統(tǒng)的可能性。因?yàn)榭梢韵仍O(shè)計(jì)出由抽象類構(gòu)成的系統(tǒng)框架,隨著認(rèn)識深入和具體化再逐步派生出更具體的派生類。這樣的開發(fā)過程符合人們認(rèn)識客觀世界、解決復(fù)雜問題時(shí)逐步的漸進(jìn)過程(可擴(kuò)展性)。將下列各事物之間的關(guān)系(繼承、聚集或一般關(guān)聯(lián))寫在括弧內(nèi)。(1)小汽車——富康牌小汽車。(繼承)(2)人員——雇員。(繼承)(3)圖書館——期刊閱覽室。(聚集)(4)書——圖書館館員。(一般關(guān)聯(lián))(5)小汽車——司機(jī)。(一般關(guān)聯(lián))(6)讀者——借出的書。(一般關(guān)聯(lián))(7)班級——學(xué)生。(聚集)(8)教師——教授。(繼承)(9)丈夫——妻子。(一般關(guān)聯(lián))(10)列車——餐車。(聚集)15.判斷下列各項(xiàng)是類還是類的實(shí)例,答案寫在括弧內(nèi)。(1)我的小汽車。(實(shí)例)(2)人員。(類)(3)王曉明。(實(shí)例)(4)交通工具。(類)(5)教授。(類)(6)計(jì)算機(jī)系。(實(shí)例)(7)中國工人。(類)(8)清華大學(xué)學(xué)生。(類)(9)日本國。(實(shí)例)(10)噴氣式戰(zhàn)機(jī)。(類)16.請建立下述雜貨店問題的對象模型。一家雜貨店想使其庫存管理自動(dòng)化。這家雜貨店擁有能記錄顧客購買的所有商品的名稱和數(shù)量的銷售終端。顧客服務(wù)臺也有類似的終端,以處理顧客的退貨。它在碼頭有另一個(gè)終端用于處理供應(yīng)商發(fā)貨。肉食部和農(nóng)產(chǎn)品部終端用于輸入由于損耗導(dǎo)致的損失和折扣。一、填空1.結(jié)構(gòu)化分析方法的分析策略是___自頂向下逐步求精_______。2.衡量模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn)是_耦合性與內(nèi)聚性________。3.軟件集成測試的方法主要有兩種,它們是___漸增式與非漸增式測試_______。4.可行性研究的目的是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定該軟件項(xiàng)目_是否值得開發(fā)_。5.需求分析階段,分析人員要確定對問題的綜合需求,其中最主要的是__功能需求_。6.軟件生存周期中時(shí)間最長、花費(fèi)的精力和費(fèi)用最多的一個(gè)階段是__維護(hù)_____階段。7.計(jì)算機(jī)輔助軟件工程這一術(shù)語的英文縮寫為_CASE_______。8.McCall提出的軟件質(zhì)量模型包括______11_____個(gè)軟件質(zhì)量特性。9.軟件結(jié)構(gòu)是以____模塊_______為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。10.軟件概要設(shè)計(jì)的主要任務(wù)就是__軟件結(jié)構(gòu)的設(shè)計(jì)______。11.結(jié)構(gòu)化程序設(shè)計(jì)方法是使用___三種基本控制結(jié)構(gòu)(條件\控制\循環(huán))____構(gòu)造程序。12.在建立對象的功能模型時(shí),使用的數(shù)據(jù)流圖中包含有處理、數(shù)據(jù)流、動(dòng)作對象和__數(shù)據(jù)存儲對象_二、選擇1.UML是軟件開發(fā)中的一個(gè)重要工具,它主要應(yīng)用于哪種軟件開發(fā)方法(C)A、基于瀑布模型的結(jié)構(gòu)化方法B、基于需求動(dòng)態(tài)定義的原型化方法C、基于對象的面向?qū)ο蟮姆椒―、基于數(shù)據(jù)的數(shù)據(jù)流開發(fā)方法2、面向?qū)ο蟮拈_發(fā)方法中,(B)將是面向?qū)ο蠹夹g(shù)領(lǐng)域內(nèi)占主導(dǎo)地位的標(biāo)準(zhǔn)建模語言。A、Booch方法B、UML語言C、OMT方法D、Coad方法3、功能模型中所有的(A)往往形成一個(gè)層次結(jié)構(gòu)。在這個(gè)層次結(jié)構(gòu)中一個(gè)數(shù)據(jù)流圖的過程可以由下一層的數(shù)據(jù)流圖作進(jìn)一步的說明。A、數(shù)據(jù)流圖B、概念模型圖C、狀態(tài)遷移圖D、事件追蹤圖4、(A)應(yīng)當(dāng)在應(yīng)用分析之前進(jìn)行,因?yàn)槲覀冊诹私鈫栴}之前應(yīng)當(dāng)對問題敞開思想考慮,不應(yīng)加以限制。A、問題域分析B、高層分析C、實(shí)例的建立D、類的開發(fā)5、通過執(zhí)行對象的操作改變對象的屬性,但它必須通過(B)的傳遞。A、接口B、消息C、信息D、操作6、所有的對象可以成為各種對象類,每個(gè)對象類都定義了一組(B)A、說明B、方法C、過程D、類型9、面向?qū)ο蟮闹饕卣鞒龑ο笪ㄒ恍?、封裝、繼承外,還有(A)A、多態(tài)性B、完整性C、可移植性D、兼容10、在面向?qū)ο蟮脑O(shè)計(jì)中,我們應(yīng)遵循的設(shè)計(jì)準(zhǔn)則除了模塊化、抽象、低耦合、高內(nèi)聚以外,還有(B)A、隱藏復(fù)雜性B、信息隱藏C、即存類的重用D、類的開發(fā)13、在考察系統(tǒng)的一些涉及時(shí)序和改變的狀況時(shí),要用動(dòng)態(tài)模型來表示。動(dòng)態(tài)模型著重于系統(tǒng)的控制邏輯,它包括兩個(gè)圖:一個(gè)是事件追蹤圖,另一個(gè)是(B)A、數(shù)據(jù)流圖B、狀態(tài)圖C、系統(tǒng)結(jié)構(gòu)圖D、時(shí)序圖14、人們常用的評價(jià)軟件質(zhì)量的4個(gè)因素是(B)A.可維護(hù)性、可靠性、健壯性、效率B.可維護(hù)性、可靠性、可理解性、效率C.可維護(hù)性、可靠性、完整性、效率D.可維護(hù)性、可靠性、移植性、效率15、軟件可移植性是用來衡量軟件的(C)重要尺度之一。A.通用性B.效率C.質(zhì)量D.人機(jī)界面16、為了提高軟件的可移植性,應(yīng)注意提高軟件的(D)A.使用的方便性B.簡潔性C.可靠性D.設(shè)備獨(dú)立性20.在軟件質(zhì)量因素中,軟件在異常條件下仍能運(yùn)行的能力稱之為軟件的(B)A.可靠性B.健壯性C.可用性D.安全性21.在軟件設(shè)計(jì)中,設(shè)計(jì)復(fù)審是和軟件設(shè)計(jì)本身一樣重要的環(huán)節(jié),其主要的目的和作用是為了能夠(B)A.減少測試工作量B.避免后期付出高代價(jià)C.保證軟件質(zhì)量D.縮短軟件開發(fā)周期22.在軟件危機(jī)中表現(xiàn)出來的軟件質(zhì)量差的問題,其原因是(B)A.用戶經(jīng)常干預(yù)軟件系統(tǒng)的研發(fā)工作B.沒有軟件質(zhì)量標(biāo)準(zhǔn)C.軟件研發(fā)人員不愿意遵守軟件質(zhì)量標(biāo)準(zhǔn)D.軟件研發(fā)人員素質(zhì)太差23.軟件工程管理是(D)一切活動(dòng)的管理。A.需求分析B.軟件設(shè)計(jì)過程C.模塊設(shè)計(jì)D.軟件生命期24.軟件管理的主要職能包括(D)A.人員管理、計(jì)劃管理B.標(biāo)準(zhǔn)化管理、配置管理C.成本管理、進(jìn)度管理D.(A)和(B)26.結(jié)構(gòu)化設(shè)計(jì)方法在軟件開發(fā)中用于(A)。A、概要設(shè)計(jì)B、詳細(xì)設(shè)計(jì)C、程序設(shè)計(jì)D、測試用例設(shè)計(jì)28.軟件測試中,白盒法是通過分析程序的(B)來設(shè)計(jì)測試用例的。A、應(yīng)用范圍B、內(nèi)部邏輯C、功能D、輸入數(shù)據(jù)29.軟件維護(hù)費(fèi)用高的主要原因是(C)。A、人員少B、人員多C、生產(chǎn)率低D、生產(chǎn)率高30.軟件質(zhì)量必須在(D)加以保證。A、開發(fā)之前B、開發(fā)之后C、可行性研究過程中D、設(shè)計(jì)與實(shí)現(xiàn)過程中31.確認(rèn)測試主要涉及的文檔是(A)。A、需求規(guī)格說明書B、概要設(shè)計(jì)說明書C、詳細(xì)設(shè)計(jì)說明書D、源程序33.為了適應(yīng)軟硬件環(huán)境變化而修改軟件的過程是(C)。A、校正性維護(hù)B、完善性維護(hù)C、適應(yīng)性維護(hù)D、預(yù)防性維護(hù)35.軟件質(zhì)量保證應(yīng)在(A)階段開始。A.需求分析B.設(shè)計(jì)C.編碼D.投入使用36.在McCall軟件質(zhì)量度量模型中,(C)屬于面向軟件產(chǎn)品修改。A.可靠性B.可重用性C.適應(yīng)性D.可移植性37.對象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作(C)于對象的統(tǒng)一體中。A.結(jié)合B.隱藏C.封裝D.抽象39.瀑布模型的存在問題是(B)A.用戶容易參與開發(fā)B.缺乏靈活性C.用戶與開發(fā)者易溝通D.適用可變需求40.軟件測試方法中的靜態(tài)測試方法之一為(A)A.計(jì)算機(jī)輔助靜態(tài)分析B.黑盒法C.路徑覆蓋D.邊界值分析41.程序的三種基本控制結(jié)構(gòu)是(B)A.過程、子程序和分程序B.順序、選擇和重復(fù)C.遞歸、堆棧和隊(duì)列D.調(diào)用、返回和轉(zhuǎn)移43.詳細(xì)設(shè)計(jì)的結(jié)果基本決定了最終程序的(C)A.代碼的規(guī)模B.運(yùn)行速度C.質(zhì)量D.可維護(hù)性44.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是(D)A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語言的先進(jìn)性D.程序易讀性46.黑盒測試在設(shè)計(jì)測試用例時(shí),主要研究(A)A.需求規(guī)格說明與概要設(shè)計(jì)說明B.詳細(xì)設(shè)計(jì)說明C.項(xiàng)目開發(fā)計(jì)劃D.概要設(shè)計(jì)說明與詳細(xì)設(shè)計(jì)說明47.若有一個(gè)計(jì)算類型的程序,它的輸入量只有一個(gè),其范圍是從輸入的角度考慮一組測試用例,設(shè)計(jì)這組測試用例的方法是(C)A.條件覆蓋法B.等價(jià)分類法C.邊界值分析法D.錯(cuò)誤推測法48.下列屬于維護(hù)階段的文檔是(C)A.軟件規(guī)格說明B.用戶操作手冊C.軟件問題報(bào)告D.軟件測試分析報(bào)告49.快速原型模型的主要特點(diǎn)之一是(D)A.開發(fā)完畢才見到產(chǎn)品B.及早提供全部完整的軟件產(chǎn)品C.開發(fā)完畢后才見到工作軟件D.及早提供工作軟件52.下列模型屬于成本估算方法的有(A)A.COCOMO模型B.McCall模型C.McCabe度量法D.時(shí)間估算法53.能力成熟度模型可以(A)A、使軟件組織建立一個(gè)有規(guī)律的成熟的軟件過程B、使用軟件沒有錯(cuò)誤C、使軟件開發(fā)人員掌握更多的技術(shù)D、避免開發(fā)人員跳槽55.?dāng)?shù)據(jù)字典是對數(shù)據(jù)定義信息的集合,它所定義的對象都包含于(A)A.?dāng)?shù)據(jù)流圖B.程序框圖C.軟件結(jié)構(gòu)D.方框圖56.需求分析階段的任務(wù)是確定(D)。A.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件開發(fā)費(fèi)D.軟件系統(tǒng)的功能58.軟件詳細(xì)設(shè)計(jì)的主要任務(wù)是確定每個(gè)模塊的A。A.算法和使用的數(shù)據(jù)結(jié)構(gòu)B.外部接口C.功能D.編程59.程序的三種基本控制結(jié)構(gòu)是(B)。A.過程、子程序積分程序B.順序、選擇和重復(fù)C.遞歸、堆棧和隊(duì)列D.調(diào)用、返回和轉(zhuǎn)移60.軟件測試方法中,黑盒測試方法和白盒測試方法是常用的方法,其中黑盒測試方法主要用于測試(B)。A.結(jié)構(gòu)合理性B.軟件外部功能C.程序正確性D.程序內(nèi)部邏輯61.在軟件開發(fā)和維護(hù)的過程中,為了定量地評價(jià)軟件質(zhì)量,必須對軟件特性進(jìn)行(B)A.測試B.度量C.評審D.維護(hù)64.對象是OO方法的核心,對象的類型有多種,通常把例如飛行、事故、演出、開會等等,稱之為(C)A.有形實(shí)體B.作用C.事件D.性能說明65.在面向?qū)ο筌浖_發(fā)方法中,類與類之間主要有以下結(jié)構(gòu)關(guān)系(A)A.繼承和聚集B繼承和一般C聚集和消息傳遞D繼承和方法調(diào)用66.以下哪一項(xiàng)不是軟件危機(jī)的表現(xiàn)形式(C)A成本高B生產(chǎn)率低C技術(shù)發(fā)展快D質(zhì)量得不到保證67.以下哪一項(xiàng)不是面向?qū)ο蟮奶卣鳎―)A)多態(tài)性B)繼承性C封裝性D過程調(diào)用68.面向?qū)ο竽P椭饕梢韵履男┠P徒M成(A)A對象模型、動(dòng)態(tài)模型、功能模型B對象模型、數(shù)據(jù)模型、功能模型C數(shù)據(jù)模型、動(dòng)態(tài)模型、功能模型D對象模型、動(dòng)態(tài)模型、數(shù)據(jù)模型69.軟件項(xiàng)目計(jì)劃一般不包括以下哪項(xiàng)內(nèi)容(D)A培訓(xùn)計(jì)劃B人員安排C進(jìn)度安排D軟件開發(fā)標(biāo)準(zhǔn)的選擇和制定三、簡答1.簡述軟件工程方法學(xué)所包含的內(nèi)容。軟件工程方法學(xué)包括三個(gè)要素,這就是方法、工具和過程。其中,方法是完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,回答“如何做”的問題;工具是為方法的運(yùn)用提供自動(dòng)的或半自動(dòng)的軟件支撐,過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。2.什么是軟件過程?它與軟件工程方法學(xué)有何關(guān)系?(1)軟件過程是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。(2)軟件過程是軟件工程方法學(xué)的3個(gè)重要組成部分之一。(3)軟件工程方法學(xué)包含三個(gè)要素:方法、工具和過程。3.分析軟件危機(jī)產(chǎn)生的主要原因有哪些?答:導(dǎo)致軟件危機(jī)的主要原因有:(1)軟件日益復(fù)雜和龐大(2)軟件開發(fā)管理困難和復(fù)雜(3)軟件開發(fā)技術(shù)落后(4)生產(chǎn)方式落后(5)開發(fā)工具落后(6)軟件開發(fā)費(fèi)用不斷增加4、說明結(jié)構(gòu)化程序設(shè)計(jì)的主要思想是什么?答:(1)自頂向下、逐步求精的程序設(shè)計(jì)方法(2)使用3種基本控制結(jié)構(gòu)、單入口、單出口來構(gòu)造程序。5、軟件測試包括哪些步驟?說明這些步驟的測試對象是什么?答:(1)單元測試:測試對象對單元模塊(2)集成測試:測試對象為組裝后的程序模塊(3)確認(rèn)測試:測試對象為可運(yùn)行的目標(biāo)軟件系統(tǒng)(4)系統(tǒng)測試:測試對象為計(jì)算機(jī)系統(tǒng)的各組成部分6、需求分析與軟件設(shè)計(jì)二個(gè)階段任務(wù)的主要區(qū)別是什么?答:需求分析定義軟件的用戶需求,即定義待開發(fā)軟件能做什么軟件設(shè)計(jì)定義軟件的實(shí)現(xiàn)細(xì)節(jié)以滿足用戶需求,即研究如何實(shí)現(xiàn)軟件。7、說明軟件測試和調(diào)試的目的有何區(qū)別?答:測試的目的是判斷和發(fā)現(xiàn)軟件是否有錯(cuò)誤調(diào)試的目的是定位軟件錯(cuò)誤并糾正錯(cuò)誤。四、綜合應(yīng)用1、某“調(diào)整工資”處理模塊接受一個(gè)“職稱”的變量,根據(jù)職稱的不同(助教,講師,副教授,教授)作不同的處理,其中若是助教還必須輸入工齡,只有工齡超過兩年才能調(diào)整工資。請用等價(jià)類劃分法設(shè)計(jì)測試用例。輸入條件合理等價(jià)類不合理等價(jià)類職稱①教授②副教授③講師⑤四種職稱之外任意一種職稱兼工齡④助教兼工齡大于2年⑥助教兼工齡等于兩年⑦助教兼工齡小于兩年二、填空(20分)

1.增量模型適合于___軟件需求_____不明確、設(shè)計(jì)方案有一定風(fēng)險(xiǎn)的軟件項(xiàng)目。2.結(jié)構(gòu)化分析方法的分析策略是____自頂向下逐步求精______。3.可行性研究實(shí)質(zhì)上是要在較高層次上以較抽象的方式進(jìn)行_____需求分析和設(shè)計(jì)______的過程。4.衡量模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn)是____耦合性和內(nèi)聚性_____。5.Jackson方法是一種面向_____數(shù)據(jù)結(jié)構(gòu)_________的設(shè)計(jì)方法。6.軟件集成測試的方法主要有兩種,它們是____漸增式和非漸增式測試______。7.維護(hù)階段是軟件生存周期中花費(fèi)精力和費(fèi)用_____最多________的階段。8.繼承性是子類自動(dòng)共享其父類的________數(shù)據(jù)結(jié)構(gòu)和方法______機(jī)制。9.在面向?qū)ο蠓椒ㄖ?,人們常用狀態(tài)圖描述類中對象的_______動(dòng)態(tài)行為____。10.規(guī)定功能的軟件,在一定程度上能從錯(cuò)誤狀態(tài)自動(dòng)恢復(fù)到正常狀態(tài),則稱該軟件為_____容錯(cuò)____軟件。三、選擇(20分)1.需求分析中,開發(fā)人員要從用戶那里解決的最重要的問題是(

A)。A、要讓軟件做什么B、要給該軟件提供哪些信息C、要求軟件工作效率怎樣D、要讓該軟件具有何種結(jié)構(gòu)2.DFD中的每個(gè)加工至少有(

B)。A、一個(gè)輸入流或一個(gè)輸出流B、一個(gè)輸入流和一個(gè)輸出流C、一個(gè)輸入流D、一個(gè)輸出流3.詳細(xì)設(shè)計(jì)與概要設(shè)計(jì)銜接的圖形工具是(

B)。A、DFD圖B、SC圖C、PAD圖D、程序流程圖4.下列幾種類型中,耦合性最弱的是(

D)。A、內(nèi)容型B、控制型C、公共型D、數(shù)據(jù)型5.確認(rèn)測試中,作為測試依據(jù)的文檔是(

A)。A、需求規(guī)格說明書B、設(shè)計(jì)說明書C、源程序D、開發(fā)計(jì)劃6.為了適應(yīng)軟硬件環(huán)境變化而修改軟件的過程是(

C)。A、校正性維護(hù)B、完善性維護(hù)C、適應(yīng)性維護(hù)D、預(yù)防性維護(hù)7.瀑布模型是一種(

A)。A、整體開發(fā)模型B、非整體開發(fā)模型C、風(fēng)險(xiǎn)驅(qū)動(dòng)模型D、對象驅(qū)動(dòng)模型8.用于描述對象模型的工具是(

D)。A、數(shù)據(jù)流圖B、結(jié)構(gòu)圖C、狀態(tài)圖D、對象圖9.基線可作為軟件生存期中各開發(fā)階段的一個(gè)檢查點(diǎn)。當(dāng)采用的基線發(fā)生錯(cuò)誤時(shí),可以返回到最近和最恰當(dāng)?shù)?

C)上A.配置項(xiàng)B.程序C.基線D.過程10.軟件質(zhì)量保證應(yīng)在(A

)階段開始。A.需求分析B.設(shè)計(jì)C.編碼D.投入使用四.簡答題(20分)1.為了提高設(shè)計(jì)質(zhì)量,應(yīng)從哪幾方面優(yōu)化軟件結(jié)構(gòu)?2.集成測試階段,漸增式與非漸增式測試有哪些區(qū)別?3.說明瀑布模型的局限性。4.說明面向?qū)ο蟮奶卣鳌?.軟件工程管理包括哪些內(nèi)容?五.綜合應(yīng)用(25分)1.某“調(diào)整工資”處理模塊接受一個(gè)“職稱”的變量,根據(jù)職稱的不同(助教,講師,副教授,教授)作

不同的處理,其中若是助教還必須輸入工齡,只有工齡超過兩年才能調(diào)整工資。請用等價(jià)類劃分法設(shè)計(jì)測試用例。(7分)〔答案〕2.某圖書館借閱系統(tǒng)有以下功能:(1)借書:根據(jù)讀者的借書證查詢讀者檔案,若借書數(shù)目未超過規(guī)定數(shù)量,則辦理借閱手續(xù)(修改庫存記錄及讀者檔案),超過規(guī)定數(shù)量者不予借閱。對于第一次借閱者則直接辦理借閱手續(xù)。(2)還書:根據(jù)讀者書中的條形碼,修改庫存記錄及讀者檔案,若借閱時(shí)間超過規(guī)定期限則罰款。

請對以上問題,畫出分層數(shù)據(jù)流圖。(8分)3.某報(bào)社采用面向?qū)ο蠹夹g(shù)實(shí)現(xiàn)報(bào)刊征訂的計(jì)算機(jī)管理系統(tǒng),該系統(tǒng)基本需求如下:

(1)報(bào)社發(fā)行多種刊物,每種刊物通過訂單來征訂,訂單中有代碼,名稱,訂期,單價(jià),份數(shù)等項(xiàng)目,訂戶通過填寫訂單來訂閱報(bào)刊。

(2)報(bào)社下屬多個(gè)發(fā)行站,每個(gè)站負(fù)責(zé)收集登陸訂單、打印收款憑證等事務(wù)。(3)報(bào)社負(fù)責(zé)分類并統(tǒng)計(jì)各個(gè)發(fā)行站送來的報(bào)刊訂閱信息。

請就此需求建立對象模型。(10分)參考答案

一、(略)

二、填空

1.軟件需求

2.自頂向下逐步求精

3.需求分析和設(shè)計(jì)

4.耦合性與內(nèi)聚性5.數(shù)據(jù)結(jié)構(gòu)

6.漸增式與非漸增式測試

7.最多

8.數(shù)據(jù)結(jié)構(gòu)和方法9.動(dòng)態(tài)行為

10.容錯(cuò)三、選擇

1.A

2.B3.B

4.D5.A

6.C

7.A

8.D9.C

10.A四、(略)

五、綜合應(yīng)用

1.劃分等價(jià)類:輸入條件合理等價(jià)類不合理等價(jià)類職稱①教授②副教授③講師⑤四種職稱之外任意一種職稱兼工齡④助教兼工齡大于2年⑥助教兼工齡等于兩年⑦助教兼工齡小于兩年設(shè)計(jì)測試用例:輸入數(shù)據(jù)預(yù)期結(jié)果覆蓋范圍教授輸入有效,進(jìn)行調(diào)整工資處理①副教授輸入有效,進(jìn)行調(diào)整工資處理②講師輸入有效,進(jìn)行調(diào)整工資處理③助教

3輸入有效,進(jìn)行調(diào)整工資處理⑤助教

2輸入有效,不調(diào)整工資處理⑥助教

1輸入有效,不調(diào)整工資處理⑦工程師輸入無效④2.3.軟件工程一、單向選擇題(四選一、每小題3分,共18分)1、軟件的發(fā)展經(jīng)歷了(D)個(gè)發(fā)展階段。0102一二三四2、需求分析的任務(wù)不包括(B)。0401問題分析系統(tǒng)設(shè)計(jì)需求描述需求評審。4、當(dāng)模塊中包含復(fù)雜的條件組合,只有(A)能夠清晰地表達(dá)出各種動(dòng)作之間的對應(yīng)關(guān)系。判定表和判定樹盒圖流程圖關(guān)系圖5、以下不屬于邏輯覆蓋的是(D)。1402語句覆蓋判定覆蓋條件覆蓋基本路徑6、為適應(yīng)軟件運(yùn)行環(huán)境的變化而修改軟件的活動(dòng)稱為(B)。1501糾錯(cuò)性維護(hù)適應(yīng)性維護(hù)改善性維護(hù)預(yù)防性維護(hù)二、填空題(每空2分,共18分)軟件項(xiàng)目管理的范圍主要集中于3個(gè)P上,即:People人員、Problem問題和(過程process項(xiàng)目project三、判斷題(每小題2分,共24分,錯(cuò)誤打X、正確打√)用戶對軟件需求的描述不精確,往往是產(chǎn)生軟件危機(jī)的原因之一。(√)目前,軟件項(xiàng)目的進(jìn)度安排的兩種比較常用的方法是程序評估與審查技術(shù)(PERT)和關(guān)鍵路徑法(CPM)。(√)一個(gè)好的開發(fā)人員應(yīng)具備的素質(zhì)和能力包括善于與周圍人員團(tuán)結(jié)協(xié)作,建立良好的人際關(guān)系,善于聽取別人的意見。(√)0206目前的絕大多數(shù)軟件都不適合于快速原型技術(shù)。(X)0402面向數(shù)據(jù)的設(shè)計(jì)方法適用場合是具有明顯的層次信息結(jié)構(gòu)的應(yīng)用如:企事業(yè)的信息管理系統(tǒng);系統(tǒng)軟件(如操作系統(tǒng))等。(√)10001缺乏處理大型軟件項(xiàng)目的經(jīng)驗(yàn)。是產(chǎn)生軟件危機(jī)的唯一原因。(X)0102測試計(jì)劃、測試用例、出錯(cuò)統(tǒng)計(jì)和有關(guān)的分析報(bào)告一般不用長期保存。(X)1401軟件也會磨損和老化。(X)0101完善性維護(hù)是提高或完善軟件的性能。(√)0101四、簡答題(每小題4分,共20分)1、軟件危機(jī)是指在計(jì)算機(jī)軟件開發(fā)、使用與維護(hù)過程中遇到的一系列嚴(yán)重問題和難題。3、軟件項(xiàng)目的質(zhì)量管理制定軟件質(zhì)量保證計(jì)劃,按照質(zhì)量評價(jià)體系控制軟件質(zhì)量要素,對階段性的軟件產(chǎn)品進(jìn)行評審,對最終軟件產(chǎn)品進(jìn)行確認(rèn),確保軟件質(zhì)量。4、好的編程風(fēng)格應(yīng)遵循哪四條規(guī)則?13041)節(jié)簡化2)模塊化3)簡單化4)文檔化《軟件工程》試題及參考答案一、單向選擇題(四選一、每小題3分,共18分)1、對在數(shù)據(jù)流圖中每一個(gè)命令的圖形元素均給以定義是(B)0501A、條目定義B、數(shù)據(jù)字典C、數(shù)據(jù)定義D、數(shù)據(jù)說明2、軟件的可行性研究中不包括(D)0302A、法律可行性B、技術(shù)可行性C、經(jīng)濟(jì)可行性D、政治可行性3、根據(jù)用戶在軟件使用過程中提出的建設(shè)性意見而進(jìn)行的維護(hù)活動(dòng)稱為(C)。1501糾錯(cuò)性維護(hù)適應(yīng)性維護(hù)改善性維護(hù)預(yù)防性維護(hù)4、人機(jī)界面的風(fēng)格大致經(jīng)過了(B)代的演變。1202A三B四C五D六5、以下不屬于白盒測試技術(shù)的是(D)1402A邏輯覆蓋B基本路徑測試C循環(huán)覆蓋測試D等價(jià)類劃分6、為改正軟件系統(tǒng)中潛藏的錯(cuò)誤而進(jìn)行的維護(hù)活動(dòng)稱為(A)。1501A糾錯(cuò)性維護(hù)B適應(yīng)性維護(hù)C改善性維護(hù)D預(yù)防性維護(hù)二、填空題(每空2分,共18分)文檔(document)—一種數(shù)據(jù)媒體和其上所記錄的(數(shù)據(jù))。0101機(jī)器語言、匯編語言:依賴于機(jī)器,面向(機(jī)器)0101軟件有效性(efficiency),指軟件系統(tǒng)的時(shí)間和(空間)效率。0103軟件定義過程可通過軟件系統(tǒng)的可行性研究和需求分析兩個(gè)階段來完成。0103軟件定義的基本任務(wù)是確定軟件系統(tǒng)的工程(需求),也就是要搞清“做什么”。0103為了使用戶需求逐步精細(xì)化、完全化、一致化,通常采用(需求建模技術(shù))。0402一個(gè)軟件的深度是指其控制的(層數(shù))。0801以詳細(xì)設(shè)計(jì)說明書為輸入,將該輸入用某種程序設(shè)計(jì)語言翻譯成計(jì)算機(jī)可以理解并最終可運(yùn)行的代碼的過程叫(編碼)過程。1301軟件維護(hù)是軟件生命周期的(最后)一個(gè)階段。1501三、判斷題(每小題2分,共24分,錯(cuò)誤打X、正確打√)缺乏有力的方法學(xué)的指導(dǎo)和有效的開發(fā)工具的支持,這往往是產(chǎn)生軟件危機(jī)的原因之一。(√)0102一個(gè)好的開發(fā)人員應(yīng)具備的素質(zhì)和能力不包括具有良好的書面和口頭表達(dá)能力。(X)0206在用戶需求分析時(shí)觀察用戶手工操作過程不是為了模擬手工操作過程,而是為了獲取第一手資料,并從中提取出有價(jià)值的需求。(√)0402快速原型技術(shù)適用于軟件產(chǎn)品要求大量的用戶交互、或產(chǎn)生大量的可視輸出、或設(shè)計(jì)一些復(fù)雜的算法等場合。(√)0402流程圖也稱為程序(框圖)是最常用的一種表示法。(√)0802面向數(shù)據(jù)設(shè)計(jì)方法一般都包括下列任務(wù):確定數(shù)據(jù)結(jié)構(gòu)特征;用順序、選擇和重復(fù)三種基本形式表示數(shù)據(jù)等步驟。(√)1001理想的人機(jī)界面應(yīng)針對具有典型個(gè)性的特定的一類用戶設(shè)計(jì)。(√)1201數(shù)據(jù)輸入的一般準(zhǔn)則中包括盡量(增加)用戶輸入的動(dòng)作。(X)1204用窮舉測試是較現(xiàn)實(shí)的測試方法。(X)140110、編碼時(shí)應(yīng)盡可能使用全局變量(X)130211、重視程序結(jié)構(gòu)的設(shè)計(jì),能使程序具有較好的層次結(jié)構(gòu)(√)130112、程序中的注解越少越好(X)。1302四、簡答題(每小題4分,共20分)1、計(jì)算機(jī)軟件與計(jì)算機(jī)系統(tǒng)操作有關(guān)的程序、規(guī)程、規(guī)則及任何與之有關(guān)的文檔和數(shù)據(jù)。01012、需求分析的任務(wù)是什么?0103需求分析的任務(wù)是確定待開發(fā)的軟件系統(tǒng)“做什么”。具體任務(wù)包括確定軟件系統(tǒng)的功能需求、性能需求和運(yùn)行環(huán)境約束,編制軟件需求規(guī)格說明書、軟件系統(tǒng)的驗(yàn)收測試準(zhǔn)則和初步的用戶手冊。4、快速原型技術(shù)的基本思想是什么?0402在軟件開發(fā)的早期,快速開發(fā)一個(gè)目標(biāo)軟件系統(tǒng)的原型,讓用戶對其進(jìn)行評價(jià)并提出修改意見,然后開發(fā)人員根據(jù)用戶的意見對原型進(jìn)行改進(jìn)?!盾浖こ獭吩囶}及參考答案一、單向選擇題(四選一、每小題3分,共18分)1、在設(shè)計(jì)測試用例時(shí),應(yīng)當(dāng)包括(C)1401A、合理的輸入條件B、不合理的輸入條件C、合理的和不合理的輸入條件D、部分條件2、下列各項(xiàng)中不屬于邏輯覆蓋的是(D)1402A、語句覆蓋B、判定覆蓋C、判定——條件覆蓋D、全部覆蓋5、實(shí)踐表明,確定發(fā)生錯(cuò)誤的位置和內(nèi)在原因所需的工作量幾乎占整個(gè)調(diào)試工作量的(D)%。140430507090二、填空題(每空2分,共18分)黑盒測試主要是測試軟件是否滿足(功能)需求。1402(調(diào)試)的目的是確定錯(cuò)誤的位置和引起錯(cuò)誤的原因,并加以改正。因此,又稱為排錯(cuò)或糾錯(cuò)。1404軟件工程由方法、工具和(過程)三部分組成,稱軟件工程的三要素。0101三、判斷題(每小題2分,共24分,錯(cuò)誤打X、正確打√)文檔可用于專業(yè)人員和用戶之間的通信和交流;軟件開發(fā)過程的管理;運(yùn)行階段的維護(hù)。(√)0101軟件開發(fā)、設(shè)計(jì)幾乎都是從頭開始,成本和進(jìn)度很難估計(jì)。(√)0101適應(yīng)性維護(hù)是改進(jìn)軟件未來的可維護(hù)性和可靠性。(X)0101由于軟件是邏輯產(chǎn)品,軟件質(zhì)量較容易直接度量。(X)0203按照功能,軟部件可劃分為系統(tǒng)軟件和應(yīng)用軟件兩類。(√)0301如果某子功能可以用一段簡潔、精確的文字描述清楚,就無需進(jìn)一步分解,是創(chuàng)建用戶需求的數(shù)據(jù)流模型應(yīng)遵循的規(guī)則。(√)0502耦合度是對軟件結(jié)構(gòu)中模塊間關(guān)聯(lián)程度的一種度量。在設(shè)計(jì)軟件時(shí)應(yīng)追求盡可能緊密的耦合的系統(tǒng)。(X)0803在面向?qū)ο笤O(shè)計(jì)階段則著重完成“如何做”的問題,也就是著重考慮對象的實(shí)現(xiàn)細(xì)節(jié)。(√)1101隨著軟件復(fù)雜性的不斷提高,軟件的維護(hù)難度越來越大。(√)1501軟件的可維護(hù)性差是軟件維護(hù)工作量和費(fèi)用激增的直接原因。(√)1505《軟件工程》試題及參考答案一、單向選擇題(四選一、每小題3分,共18分)1、從事物的組成部件及每個(gè)部件的屬性、功能來認(rèn)識事物。這種方法被稱為(A)的方法。0701A、面向?qū)ο驜、面向數(shù)據(jù)C、面向過程D、面向?qū)傩?、判定表由四部分組成:左上部列出(B)。0802條件組合與動(dòng)作之間的對應(yīng)關(guān)系

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論