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

下載本文檔

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

文檔簡(jiǎn)介

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

2、字處理軟件的 新版本開發(fā)。由于市場(chǎng)競(jìng)爭(zhēng)激烈, 公司規(guī)定了嚴(yán)格的 完成期限并且已對(duì)公布。你打算采用哪種軟件生命周期模型?為什么?答:對(duì)這個(gè)項(xiàng)目的一個(gè)重要要求是, 嚴(yán)格按照已對(duì)外公布了的日期完成產(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è)原型, 通過收集用戶對(duì)舊版本的反映,較容易確定對(duì)新版本的需求, 沒必要再專門建立一個(gè)原型系統(tǒng)來分析用戶的需求;第二,該公司的軟件工程師對(duì)字處理軟

3、件很熟悉, 有開發(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)適用場(chǎng)合傳統(tǒng)軟件過程瀑布模型線性模型需求明確中小型快速原型模型用戶介入早需求模糊小型軟件軟件演化模型增量模型迭代 ,開發(fā)(易于維護(hù) )螺旋模型不確定性大型構(gòu)件集成模型領(lǐng)域工程中型形式化方法轉(zhuǎn)換模型形式化理想化凈室模型形式化增量開發(fā)3.請(qǐng)為某倉庫的管理設(shè)計(jì)一個(gè)ER(實(shí)體聯(lián)系圖)模型 。該倉庫主要管理零件的訂購和供應(yīng)

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

5、有供應(yīng)商編號(hào)、供應(yīng)商名稱和地址。聯(lián)系類型“供應(yīng)”的屬性是向某工程項(xiàng)目供應(yīng)的某種零件的數(shù)量。聯(lián)系類型“訂購”的屬性是向某供應(yīng)商訂購的某種零件的數(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ù)字典請(qǐng)用 2.8 節(jié)講述的符號(hào)定義上述的數(shù)據(jù)流圖。答:電話號(hào)碼 =校內(nèi)電話號(hào)碼 |校外電話號(hào)碼 校

6、內(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ù)字 7數(shù)字 =0|1|2|3|4|5|6|7|8|9注:或關(guān)系,:重復(fù)關(guān)系,:和關(guān)系, . :基本數(shù)據(jù)元素, .連接符,閑置狀態(tài) 辦公室復(fù)印機(jī)的工作過程大致如下:未接收到復(fù)印命令時(shí)處于5.:一旦接收到 復(fù)印命令 則進(jìn)入復(fù)印狀態(tài) ,完成一個(gè)復(fù)印命令 規(guī)定的工作后又回到閑置狀態(tài),等待下一個(gè)復(fù)印命令;如果執(zhí)行復(fù)印命令

7、時(shí) 發(fā)現(xiàn)缺紙 ,則進(jìn)入缺紙狀態(tài) ,發(fā)出警告,等待裝紙, 裝滿紙后處于閑置狀態(tài),準(zhǔn)備接受復(fù)印命令;如果復(fù)印時(shí)發(fā)生卡紙 故障,則進(jìn)入卡紙狀態(tài) ,發(fā)出警告等待維修人員來排除故障, 故障排除后回到閑置狀態(tài)。請(qǐng)用狀態(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)、事件6.如果一個(gè)程序有兩個(gè)輸入數(shù)據(jù),每個(gè)輸入都是一個(gè)32 位的二進(jìn)制整數(shù),那么這個(gè)程序有多少種可能的輸入?如果每微秒可進(jìn)行一次測(cè)試,那么對(duì)所有可能的輸入進(jìn)行 測(cè)試需要多長(zhǎng)時(shí)間?322 個(gè)可能的值,因此

8、,具有兩個(gè)整數(shù)輸入位的二進(jìn)制整數(shù)具有答:每個(gè)32642 的程序應(yīng)該具有可能的輸入。個(gè) 6 10 個(gè)測(cè)試,因此,每天可)可進(jìn)行一次測(cè)試,即每秒可進(jìn)行每微秒(進(jìn)行的測(cè)試數(shù)為 1061010 =8.6460× 24××60×1310 個(gè)這等于每年大約可進(jìn)行() 3.139 ×測(cè)試。641810162*5 10改:1313 510萬年)所以做完全部測(cè)試將至少需要。年(即 10 總共改正了后,條機(jī)器指令的程序進(jìn)行 一個(gè)月集成測(cè)試 對(duì)一個(gè)包含 7.10 000 個(gè)錯(cuò)誤(第二 25 測(cè)試后,總共改正了個(gè)錯(cuò)誤,此時(shí) 15MTTF=10h ;經(jīng)過兩個(gè)月 。,10

9、 個(gè)月改正了個(gè)錯(cuò)誤) MTTF=15h 要求:與測(cè)試 MTTF 與測(cè)試時(shí)間之間的函數(shù)關(guān)系, 畫出 MTTF( 1)根據(jù)上述數(shù)據(jù)確定時(shí)間的關(guān)系曲線。在畫這條曲線時(shí)你做了什么假設(shè)?必須進(jìn)行多長(zhǎng)時(shí)間的集成測(cè)試?當(dāng)集成測(cè)試結(jié)束時(shí)總為做到 MTTF=100h ,( 2) 共改正了多少個(gè)錯(cuò)誤?還有多少個(gè)錯(cuò)誤潛伏在程序中? 之間存在線性關(guān)假設(shè)在程序的平均無故障時(shí)間 MTTF 和測(cè)試時(shí)間答:(1) 系,即 MTTF=,把這些已知的MTTF=15=2=1 時(shí)MTTF=10 ,當(dāng)根據(jù)題意可知,當(dāng)時(shí)數(shù)據(jù)代入上列方程后得到下列的聯(lián)立方程式10ba15b 2aa=5,b=5解上列聯(lián)立方程得出 之間有下列關(guān)系因此, MT

10、TF 與如圖的關(guān)系曲線,根據(jù)上列方程式畫出平均無故障時(shí)間MTTF= MTTF 與測(cè)試時(shí)間4.2 所示MTTF=100h( 2)為使 MTTF=100h ,集成測(cè)試時(shí)間:,需要的測(cè)試時(shí)間可由方程式得出 10000 MTTF)EK( E(CT 注:():在時(shí)間內(nèi)糾錯(cuò)數(shù),:調(diào)試前錯(cuò)誤數(shù), MTTF :平均無故障時(shí)間根據(jù)題意可知,改正了15 個(gè)錯(cuò)誤后 MTTF=10 ,改正了 25 個(gè)錯(cuò)誤后 MTTF=15 ,把這些已知的數(shù)據(jù)代人上列方程之后,得到下列的聯(lián)立方程式10000 10K(E 15) T 10000 15K(E 25)TE=45,K=33.33.解上列聯(lián)立方程式得到T 已知當(dāng)集成測(cè)試結(jié)束時(shí),

11、10000 10033.33(45 E(19)c4219(E)所以 C錯(cuò)誤總數(shù): 也就是說,當(dāng)集成測(cè)試結(jié)束時(shí)總共改正了 個(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ā)出的軟件產(chǎn)品的基本成分是產(chǎn)品的行為 (即處理)和這些行為所操作的數(shù)據(jù)。 由于數(shù)據(jù)和對(duì)數(shù)據(jù)的處理是分離的 ,盡管開發(fā)者把程序劃分成了許多模塊,但是這些模塊之間的聯(lián)系卻是比較緊密的 (耦合性高,模

12、塊獨(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ū)ο蠓缎桶褜?duì)象作為由數(shù)據(jù)及可以施加在這些數(shù)據(jù)上的操作所構(gòu)成的統(tǒng)一體。用面向?qū)ο蠓缎?開發(fā)軟件時(shí),構(gòu)成軟件系統(tǒng)的每個(gè)對(duì)象就好像一個(gè)微型程序,有自己的數(shù)據(jù)、操作、功能、和用途,因此,可以把一個(gè)大型軟件產(chǎn)品 分解成一系列本質(zhì)上相互獨(dú)立的小產(chǎn)品來處理( 分解、細(xì)化,模塊化 ),不僅降低了軟件開發(fā)的技術(shù)難度,而且也使得對(duì)軟件開發(fā)工作的管理變得相對(duì)容易了。9.為什么說

13、夏利牌汽車是小汽車類的 特化(繼承),而發(fā)動(dòng)機(jī)不是小汽車類的特化?答:夏利牌汽車具有小汽車的全部屬性和行為, 它只不過是一種特定品牌的小汽車,因此,夏利牌汽車可以從基類(小汽車)派生出來,也就是說,夏利牌汽車是小汽車類的特化。發(fā)動(dòng)機(jī)是組成小汽車的一種零件。小汽車還是車身、 車燈、輪子等許多種其他零件,小汽車所具有的許多屬性和行為發(fā)動(dòng)機(jī)都不具有, 因此,發(fā)動(dòng)機(jī)不能從小汽車類派生出來,它不是小汽車類的特化。10.什么是對(duì)象?它與傳統(tǒng)的數(shù)據(jù)有何異同?答:()對(duì)象是用面向?qū)ο蠓椒▽W(xué)開發(fā)軟件時(shí)對(duì) 客觀世界實(shí)體的抽象 ,它是由描述實(shí)體屬性的數(shù)據(jù)及可以對(duì)這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體。傳統(tǒng)的數(shù)

14、據(jù)是用傳統(tǒng)方法學(xué)開發(fā)軟件時(shí)對(duì)客觀實(shí)體的抽象, 但是,這種抽象是不全面的: 數(shù)據(jù)只能描述實(shí)體的靜態(tài)屬性, 不能描述實(shí)體的動(dòng)態(tài)行為。 必須從外界對(duì)數(shù)據(jù)加操作,才能改變數(shù)據(jù)實(shí)現(xiàn)實(shí)體應(yīng)有的行為。()對(duì)象與傳統(tǒng)數(shù)據(jù)有本質(zhì)區(qū)別, 它不是被動(dòng)地等待外界對(duì)它施加操作, 相反,它是進(jìn)行處理的 主體。必須 發(fā)消息請(qǐng)求對(duì)象主動(dòng)地執(zhí)行它的某些操作, 處理它的私有數(shù)據(jù),而不能直接從外界對(duì)它的私有數(shù)據(jù)進(jìn)行操作 。11.什么是模型?開發(fā)軟件時(shí)為什么要建立模型?()所謂模型,就是為了理解事物而對(duì)事物作出的 一種抽象 ,是對(duì)事物的一種無歧義的書面描述。通常,模型: 由一組圖示符號(hào)和組織這些符號(hào)的規(guī)則組成,利用它們來定義和描述問

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

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

17、庫中的終端把零件入庫 /出庫事務(wù)報(bào)告給訂貨系統(tǒng),系統(tǒng)接收到事務(wù)信息之后應(yīng)該處理事務(wù);采購員需要使用訂貨系統(tǒng)提供的產(chǎn)生報(bào)表功能,已獲取訂貨報(bào)表。用例模型:,數(shù)據(jù)流圖():2 層注:用例圖:系統(tǒng)邊界:矩形,用例:橢圓,參與者:小人,關(guān)聯(lián):直線數(shù)據(jù)流圖:源 /終點(diǎn):方框,加工:圓框,數(shù)據(jù)流向:箭頭,文件或數(shù)據(jù)庫:雙杠13.為什么說面向?qū)ο蠓椒ㄅc人類習(xí)慣的思維解題方法比較一致(一致性) ?答:人類認(rèn)識(shí)客觀世界、 解決現(xiàn)實(shí)問題的過程是一個(gè) 漸進(jìn)的過程 。人的認(rèn)識(shí)需要在繼承以前的有關(guān)知識(shí)上 的基礎(chǔ)上,既包括從一般到特殊的演繹思維過程, 也包括從特殊到一般的歸納思維過程, 面向?qū)ο蠓椒▽W(xué)中通過建立類等級(jí)而獲

18、得的繼承特性支持從一般到特殊的演繹思維過程( 繼承)。人在認(rèn)識(shí)和解決復(fù)雜問題時(shí)使用的 最強(qiáng)有力的思維工具是抽象 ,也就是在處理復(fù)雜對(duì)象時(shí),為了達(dá)到某個(gè)分析目的而集中研究對(duì)象的與此目的有關(guān)的是指特性,暫時(shí)忽略對(duì)象的那些于此目的無關(guān)的特性。面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和基本原則就是分析、 設(shè)計(jì)和實(shí)現(xiàn)一個(gè)軟件系統(tǒng)的方法和過程,盡可能接近人們認(rèn)識(shí)世界、 解決問題的方法和過程, 也就是使描述問題的問題空間和描述解法的解空間在結(jié)構(gòu)上盡可能一致。 也就是說,面向?qū)ο蠓椒▽W(xué)的基本原則是按照人們習(xí)慣的思維方式建立問題域的模型 ,開發(fā)出盡可能直觀、自然地表現(xiàn)求解方法的軟件系統(tǒng)。 面向?qū)ο蟮能浖到y(tǒng)中廣泛使用的對(duì)象提供了理想的, 對(duì)象實(shí)際上是抽象數(shù)據(jù)類型的實(shí)例 是對(duì)客觀世界中實(shí)體的抽象,數(shù)據(jù)抽象機(jī)制,同時(shí)又具有良好的過程抽象機(jī)制 (通過發(fā)消息使用公有成員函數(shù)) 。對(duì)象類是對(duì)一組相似對(duì)象的抽象,類等級(jí)中上層的類是對(duì)下層類的抽象。因此,面向?qū)ο蟮沫h(huán)境提供了強(qiáng)有力的抽象機(jī)制, 便于人們?cè)诶糜?jì)算機(jī)軟件系統(tǒng)解決復(fù)雜問題時(shí)使用習(xí)慣的抽象思維工具。 (抽象)。面向?qū)?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論