軟件工程期末復習題_第1頁
軟件工程期末復習題_第2頁
軟件工程期末復習題_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、1、軟件定義:問題定義、可行性研究,需求分析2、軟件開發(fā):總體設(shè)計,詳細設(shè)計,編碼和單元測試,綜合測試3、軟件維護:改正性維護、適應(yīng)性維護、完善性維護、預(yù)防性維護4、軟件過程:瀑布模型,快速原型模型,增量模型,螺旋模型,噴泉模型,Rational統(tǒng)一過程,敏捷過程與極限編程,微軟過程5、從3個方面研究每種解決的可行性:技術(shù)可行性、經(jīng)濟可行性、操作可行性6、軟件需求分析階段的工作:可以分為以下4個方面:對問題的識別、分析與綜合、編寫需求分析文檔以及需求分析評審7、設(shè)計原理:模塊化、抽象、逐步求精、信息隱藏和局部化、模塊獨立性(耦合、內(nèi)聚)8、決定軟件可維護性的因素:可理解性、可測試性、可修改性、

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

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

4、的豐富經(jīng)驗,具有采用增量模型開發(fā)新版字處理軟件所需要的技術(shù)水平;第三,該軟件受到廣大用戶的喜愛,今后很可能還要開發(fā)更新的版本,因此,應(yīng)該把該軟件的體系結(jié)構(gòu)設(shè)計成開放式的,以利于今后的改進和擴充。綜上所述,采用增量模型來完成這個項目比較恰當。三、考慮一個修改磁帶上主文件的系統(tǒng)。文件管理員把修改信息穿孔在卡片上,系統(tǒng)讀入穿孔卡片上的信息并按照記錄號把修改信息順序排列好。然后系統(tǒng)逐個讀入主文件上的記錄,根據(jù)記錄上的校驗碼校核每個讀入的記錄,丟掉出錯的記錄,按照修改信息修改余下的記錄,產(chǎn)生的新文件存儲在磁盤上。最后,系統(tǒng)輸出一份修改報告供文件管理員參閱。請分層次地畫出上述主文件修改系統(tǒng)的數(shù)據(jù)流圖。答:

5、本系統(tǒng)的數(shù)據(jù)源點和終點都是文件管理員,他既向系統(tǒng)提供修改信息,又接收系統(tǒng)生成的修改報告。系統(tǒng)功能主要有:接收修改信息,讀主文件,校核記錄,修改原始記錄和產(chǎn)生報告。注意,問題陳述中所描述的“系統(tǒng)安裝記錄號把修改信息順序排列好”,是具體的實現(xiàn)方法。在數(shù)據(jù)流圖中無須描述具體實現(xiàn)方法,因此,在本系統(tǒng)的數(shù)據(jù)流圖中不需要包含“排序”功能。類似地,“文件管理員把修改信息穿孔在卡片上,系統(tǒng)讀入穿孔卡片上的信息”,是系統(tǒng)接收修改信息的具體方法。在數(shù)據(jù)流圖中無須描繪這個具體的實現(xiàn)方案,因此,在本系統(tǒng)的數(shù)據(jù)流圖中不需要包含“穿卡片”和“讀卡片”的功能。本系統(tǒng)包含的數(shù)據(jù)存儲是:修改信息,主文件和修改后的主文件。圖2.

6、6是本系統(tǒng)的基本系統(tǒng)模型,圖2.7是功能級數(shù)據(jù)流圖。四、用Jackson圖描繪下述的一列火車的構(gòu)成:一列火車最多有兩個火車頭。只有一個火車頭時則位于列車最前面,若還有第二個火車頭時,則第二個火車頭位于列車最后面?;疖囶^既可能是內(nèi)燃機車也可能是電氣機車。車廂分為硬座車廂、硬臥車廂和軟臥車廂等3種。硬座車廂在車內(nèi)所有車廂的前面部分,軟臥車廂在所有車廂的后面部分。此外,在硬臥車廂和軟臥車廂之間還有一節(jié)餐車。答:Jackson圖善于描繪復雜事物的組成。用Jackson圖描繪一列火車的構(gòu)成的方法至少有兩種,一種方法是把火車分為一個車頭和兩個車頭兩類,另一種方法是把后車頭作為可選的。圖3.29給出了描繪一

7、列火車的構(gòu)成的Jackson圖。解法1(b)解法2五、為方便出乎,某銀行擬開發(fā)計算機儲蓄系統(tǒng),儲戶填寫的存款單或取款單由業(yè)務(wù)員輸入系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名、住址、存款類型、存款日期、利率等信息,并印出存款單給儲戶,如果是取款,系統(tǒng)計算利息并印出利息清單給儲戶。寫出問題定義并分析系統(tǒng)的可行性。答:技術(shù)上的可行性:開發(fā)系統(tǒng)的計算機硬件已經(jīng)非常普及,完全沒有問題;現(xiàn)在的計算機各方面的技術(shù)都非常成熟,相對來說開發(fā)此系統(tǒng)的技術(shù)也要求比較簡單,因此在技術(shù)方面是可行的;同時銀行還必須有一定量的系統(tǒng)管理和維護的專業(yè)人員,在這方面可以通過培訓原來的技術(shù)人員成為新的需要的技術(shù)人員,也可以雇用所需這方面

8、的專業(yè)技術(shù)員;若按計劃,在規(guī)定的期限內(nèi),本系統(tǒng)的開發(fā)是可以完成的。操作可行性:開發(fā)的系統(tǒng)操作要非常簡單,以便適合大人小孩老人各類人們都可以很方便操作使用。還有,要有經(jīng)過培訓的專業(yè)人員在指導,以便當儲戶有什么疑難問題時能及時得到正確的答復社會、政策允許的可行性:全部軟件購買正版,機器設(shè)置通過正當途徑購得六、 分析圖3.1所示的層次圖,確定每個模塊的內(nèi)聚類型。分析圖3.2,確定模塊之間的耦合類型圖3.1 計算多地點日平均溫度的程序答:從圖3.1所示的層次圖可以看出,這個程序的功能是計算若干個指定地點的每日平均溫度。變量sum保存某地一天之內(nèi)在指定的時間取樣點的溫度之和。程序運行時首先初始化變量su

9、m并打開文件,然后讀取地點、時間和溫度等原始數(shù)據(jù),創(chuàng)建用于保存這些數(shù)據(jù)的溫度記錄,接下來計算特定地點的日平均溫度,存儲溫度記錄。重復調(diào)用“讀取地點、時間和溫度”、“創(chuàng)建新的溫度記錄”、“計算特定地點的日平均溫度”和“存儲溫度記錄”等模塊,直至計算出并保存好所有指定地點的日平均溫度。最后,打印平均溫度并關(guān)閉文件。從上述敘述可知,“計算多個地點的日平均溫度”、“讀取地點、時間和溫度”、“創(chuàng)建新的溫度記錄”、“計算特定地點的日平均溫度”和“存儲溫度記錄”等5個模塊,每個都完成一個單一的功能,模塊內(nèi)所有元素都為完成同一個功能服務(wù),彼此結(jié)合的十分緊密,因此,這5個模塊的內(nèi)聚類型都是功能內(nèi)聚。初看起來,由

10、于初始化變量sum和打開文件這兩個操作都是在程序運行的初始階段完成的,“初始化變量sum和打開文件” 這個模塊的內(nèi)聚類型似乎是時間內(nèi)聚。但是,初始化變量sum是本程序特有的操作,而打開文件是硬件要求的操作,是任何使用文件的程序都包含的一個操作,并非本程序特有的操作。當可以分配兩個或更多個不同級別的內(nèi)聚類型給一個模塊時,規(guī)則是分配最低級別的內(nèi)聚類型給該模塊。因此,“初始化變量sum和打開文件”這個模塊的內(nèi)聚類型都是偶然內(nèi)聚。同理,“關(guān)閉文件并打印平均溫度” 這個模塊的內(nèi)聚類型也是偶然內(nèi)聚。 分析圖3.2,確定模塊之間的耦合類型。圖3.2 一個程序的模塊互連圖在圖3.2中已經(jīng)給模塊之間的接口編了號

11、碼,表3.1描述了模塊間的接口。表3.1 模塊接口描述 綜合分析圖3.2和表3.1所提供的信息可知各個模塊之間的耦合情況。例如,當模塊p調(diào)用模塊 q時(接口1),它傳遞一個參數(shù)-飛機類型。當模塊q把控制返還給模塊p時,它傳回一個狀態(tài)標志。某些模塊之間的耦合類型是明顯的,例如,模塊p和q之間(接口1)、模塊r和t之間(接口5)及模塊s和u之間(接口6)都是數(shù)據(jù)耦合,因為它們傳遞的都是一個簡單變量。如果兩個模塊中的一個模塊給另一個模塊傳遞控制元素,也就是說,如果一個模塊明顯地控制另一個模塊的邏輯,則它們之間具有控制耦合。例如,當給具有邏輯內(nèi)聚的模塊傳遞功能代碼時就傳遞了控制元素。另一個控制耦合的例子是把控制開關(guān)作為一個參數(shù)傳遞。圖3.2中模塊q調(diào)用模塊r時(接口3)傳遞一個功能代碼,因此,這兩個模塊之間是控制耦合。圖3.2右側(cè)文字說明,模塊p、t和u更新同一個數(shù)據(jù)庫,因此,它們之間具有公共環(huán)境耦合。當模塊p調(diào)用

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論