




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一章課后參考答案1 .什么是軟件危機?它們有哪些典型表現?為什么會出現軟件危機?“軟件危機”是指計算機軟件的“開發”和“維護”過程中所遇到的一系列“嚴重問題”。這些問題決不僅僅是不能正常運行的軟件才具有的,實際上,幾乎“所有軟件”都不同程度地存在這些問題。它們有以下表現:( 1)對軟件開發成本和進度的估計常常很不準確;( 2)用戶對“已完成的”軟件系統不滿意的現象經常發生;( 3)軟件產品的質量往往靠不住;( 4)軟件常常是不可維護的;( 5)軟件通常沒有適當的文檔資料;( 6)軟件成本在計算機系統總成本中所占的比例逐年上升;( 7)軟件開發生產率提高的速度,遠遠跟不上計算機應用普及深入的趨
2、勢。出現軟件危機的主要原因( 1)與軟件本身的特點有關( 2)與軟件開發和維護過程中使用的方法不正確有關2 .假設自己是一家軟件公司的總工程師,當把圖1.1給手下的軟件工程師們觀看,告訴他們及時發現并改正錯誤的重要性時,有人不同意這個觀點,認為要求在錯誤進入軟件之前就清楚它們是不現實的,并舉例說:“如果一個故障是編碼錯誤造成的,那么,一個人怎么能在設計階段清除它呢?”應該怎么反駁他?答:在軟件開發的不同階段進行修改付出的代價是很不相同的,在早期引入變動,涉及的面較少,因而代價也比較低;在開發的中期,軟件配置的許多成分已經完成,引入一個變動要對所有已完成的配置成分都做相應的修改,不僅工作量大,而
3、且邏輯上也更復雜,因此付出的代價劇增;在軟件“已經完成”時在引入變動,當然付出的代價更高。一個故障是代碼錯誤造成的,有時這種錯誤是不可避免的,但要修改的成本是很小的,因為這不是整體構架的錯誤。3 .什么是軟件工程?它有哪些本質特征?怎么用軟件工程消除軟件危機?軟件工程是指導知道計算機軟件開發和維護的一門工程學科。采用工程的概念、原理、技術和方法來開發與維護軟件,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好技術方法結合起來,以經濟地開發出高質量的軟件并有效地維護它,這就是軟件工程。本質特征:( 1) 軟件工程關注于大型軟件的構造( 2) 軟件工程的中心課題是控制復雜性( 3) 軟件經常
4、變化4)開發軟件的效率非常重要( 5) 和諧地合作是開發軟件的關鍵( 6) 軟件必須有效支持它的用戶( 7) 在軟件工程領域通常由一種文化背景的人替代具有另一種文化背景的人創造產品消除軟件危機的原理:( 1) 用分階段的生命周期計劃嚴格管理( 2) 堅持進行階段評審( 3) 實行嚴格的產品控制( 4) 采用現代程序設計技術( 5) 結果應能清楚地審查( 6) 開發小組的人員應該少而精( 7) 承認不斷改進軟件工程實踐的必要性5根據歷史數據可以做出如下的假設:對計算機存儲容量的需求大致按下面公式描述的趨勢逐年增加:M=4080e0.28(Y-1960),存儲器的價格按下面公式描述的趨勢逐年下降:
5、P1=0.3X0.72M974(美分/位),如果計算機字長為16位,則存儲器價格下降的趨勢為:P2=0.048X0.7冬1974(美元/字),在上列公式中Y代表年份,M是存儲容量(字數),P1和P2代表價格。基于上述假設可以比較計算機硬件和軟件成本的變化趨勢。要求計算:1) 在1985年對計算機存儲容量的需求估計是多少?如果字長為16位,這個存儲器的價格是多少?(2) 假設在1985年一名程序員每天可開發出10條指令,程序員的平均工資是每月4000美元。如果一條指令為一個字長,計算使存儲器裝滿程序所需用的成本。(3) 假設在1995年存儲器字長為32位,一名程序員每天可開發出30條指令,程序員
6、的月平均工資為6000美元,重復(1)、(2)題。6什么是軟件過程?它與軟件工程方法學有何關系?軟件過程是為了開發出高質量的軟件產品所需完成的一系列任務的框架,它規定了完成各項任務的工作步驟。軟件工程方法學:通常把在軟件生命周期全過程中使用的一整套技術方法的集合稱為方法學,也稱范型。軟件過程是軟件工程方法學的3個重要組成部分之一。7.什么是軟件生命周期模型?試比較瀑布模型、快速模型、增量模型和螺旋模型的優缺點,說明每種模型的適用范圍。通俗的說,簡潔地描述軟件過程的模型叫做軟件生命周期模型,生命周期模型規定了把生命周期花費成哪些階段及各個階段執行的順序。瀑布模型的優點:有利于大型軟件開發過程中人
7、員的組織、管理,有利于軟件開發方法和工具的研究,從而提高了大型軟件項目開發的質量和效率。瀑布模型的缺點:( 1)開發過程一般不能逆轉,否則代價太大;( 2)實際的項目開發很難嚴格按該模型進行;( 3)客戶往往很難清楚地給出所有的需求,而該模型卻要求如此。( 4)軟件的實際情況必須到項目開發的后期客戶才能看到,這要求客戶有足夠的耐心。瀑布模型的使用范圍:( 1)用戶的需求非常清楚全面,且在開發過程中沒有或很少變化;( 2)開發人員對軟件的應用領域很熟悉;( 3)用戶的使用環境非常穩定;( 4)開發工作對用戶參與的要求很低。快速原型模型的優點:( 1)可以得到比較良好的需求定義,容易適應需求的變化
8、;( 2)有利于開發與培訓的同步;( 3)開發費用低、開發周期短且對用戶更友好。快速原型模型的缺點:( 1)客戶與開發者對原型理解不同;( 2)準確的原型設計比較困難;( 3)不利于開發人員的創新。快速原型模型的使用范圍:( 1)對所開發的領域比較熟悉而且有快速的原型開發工具;( 2)項目招投標時,可以以原型模型作為軟件的開發模型;( 3)進行產品移植或升級時,或對已有產品原型進行客戶化工作時,原型模型是非常適合的。增量模型的優點:( 1)采用增量模型的優點是人員分配靈活,剛開始不用投入大量人力資源;(2)如果核心產品很受歡迎,則可增加人力實現下一個增( ;(3)可先發布部分功能給客戶,對客戶
9、起到鎮靜劑的作用。增量模型的缺點:( 1)并行開發構件有可能遇到不能集成的風險,軟件必須具備開放式的體系結構;( 2)增量模型的靈活性可以使其適應這種變化的能力大大優于瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而是軟件過程的控制失去整體性。增量模型的使用范圍:( 1)進行已有產品升級或新版本開發,增量模型是非常適合的;(2)對完成期限嚴格要求的產品,可以使用增量模型;( 3)對所開發的領域比較熟悉而且已有原型系統,增量模型也是非常適合的。螺旋模型的優點:(1)設計上的靈活性,可以在項目的各個階段進行變更;(2)以小的分段來構建大型系統,使成本計算變得簡單容易;(3)客戶始終參與每
10、個階段的開發,保證了項目不偏離正確方向以及項目的可控性;(4)隨著項目推進,客戶始終掌握項目的最新信息,從而他或她能夠和管理層有效地交互。螺旋模型的缺點:(1)采用螺旋模型需要具有相當豐富的風險評估經驗和專門知識,在風險較大的項目開發中,如果未能夠及時標識風險,勢必造成重大損失;(2)過多的迭代次數會增加開發成本,延遲提交時間。螺旋模型的使用范圍:螺旋模型只適合于大規模的軟件項目。8.為什么說噴泉模型較好地體現了面向對象軟件開發過程無縫和迭代的特性?由于在整個開發過程中都使用統一的軟件概念“對象”,所有其他概念(例如功能、關系、事件等)都是圍繞對象組成的,目的是保證分析工作中得到的信息不會丟失
11、或改變,因此,對生命周期各個階段的區分自然也就不重要了,不明顯了。分析階段的得到的對象模型也適用于設計階段和實現階段。由于各階段都使用統一的概念和表示符號,因此,整個開發過程都是吻合一致的,或者說是“無縫”連接的,這自然也就很容易實現各個開發步驟的多次反復迭代,達到認識的逐步深化。所以說噴泉模型較好的體現了面向對象軟件開發過程無縫和迭代的特性。可編輯范本第二章課后習題參考答案1、在軟件開發的早期階段為什么要進行可行性研究?應從哪些方面研究目標系統的可行性?(1)開發一個軟件時,需要判斷原定的系統模型和目標是否現實,系統完成后所能帶來的效益是否大到值得投資開發這個系統的程度,如果做不到這些,那么
12、花費在這些工程上的任何時間、人力、軟硬件資源和經費,都是無謂的浪費。可行性研究的目的就是用最小的代價在盡可能短的時間內確定問題是否能夠解決。(2)一般說來,至少應該從以下三個方面研究每種解法的可行性:a技術可行性b.經濟可行性c.操作可行性。2、為方便儲戶,某銀行擬開發計算機儲蓄系統。儲戶填寫的存款單或取款單由業務員鍵入系統,如果是存款,系統記錄存款人姓名、住址、存款類型、存款日期、利率等信息,并印出存款單給儲戶;如果是取款,系統計算利息并打印出利息清單給儲戶。寫出問題定義病畫出此系統的數據流圖。問題定義如下:如果是存款,儲戶填寫存款單,然后交給業務員鍵入系統,同時系統還要記錄存款人姓名、住址
13、(或電話號碼)、身份證號碼、存款類型、存款日期、利率等信息,完成后由系統打印存款單給儲戶。如果是取款,儲戶填寫取款單,然后交給業務員,業務員把取款金額輸入系統并要求儲戶輸入密碼以確認身份,核對密碼正確無誤后系統計算利息并印出利息清單給儲戶。為了滿足儲戶的需求,該系統需要迅速的對用戶的要求做出反饋,要對用戶輸入的信息作出最快的處理,所以就需要很大的主存容量,以及強大的數據庫支持。由于是所面向的用戶是廣泛的儲蓄用戶群,所以需要系統強大的安全性能支持。系統的分層數據流圖如下:1、頂層數據流圖3、底層數據流圖2、3、某航空公司擬開發一個機票預定系統。旅行社把預訂機票的旅客信息(姓名、性別等)輸入進該系
14、統,系統為旅客安排航班,印出取票通知和賬單,旅客在飛機起飛的前一天憑取票通知和賬單交款取票,系統核對無誤即印出機票給旅客。寫出問題定義病畫出此系統的數據流圖。問題定義:某航空公司,售票工作人員每天手工處理旅客預訂票、安排航班、取票和收款業務,工作量較大,需要工作人員多等,總之人工不易管理,手續繁瑣。數據流圖如下:1、頂層數據流圖可編輯范本2、中間層數據流圖3、底層數據流圖可編輯范本4、住院病人主要由護士護理,這樣做不僅需要大量護士,而且由于不能隨時觀察危重病人的病情變化,還會延誤搶救時機。某醫院打算開發一個以計算機為中心的患者監護系統,請分層次地畫出描述本系統功能的數據流圖。問題定義:本題要開
15、發一個病人監護系統,實現對病人癥狀的自動監護,形成病人日志記錄,減少人力的浪費。在監控過程中,隨時接受病人的生理信息(脈搏、體溫、血壓、心電圖),對病人的不正常生理信息(超出醫生規定的安全范圍的信息)發出警告,并向護士發出警告信息。護士還可以根據需要打印病人的病情報告符號說明如下:F1要求報告F2-生理信號F3-日期、時間F4-警告信息、F5-安全范圍F6-日志P1報收信號P2-分析信號P3-產生警告P4企時取樣生理信號P5-更新日志P6-產生病情報告D1-患者日志D2-患者安全范圍D3-生理信息E1在士E2-病人E3-時鐘方法方法二5、北京某高校可用的電話號碼有以下幾類:校內電話號碼由4位數
16、字組成,第1位數字不是0;校外電話又分為本市電話和外地電話兩類,撥校外電話需先撥0,若是本市電話則再接著撥8位數字(第1 位不是0),若是外地電話則撥3位區碼再撥8位電話號碼(第1位不是0)。請用定義數據字典的方法,定義上述的電話號碼。電話號碼=校內電話號碼|校外電話號碼校內電話號碼=非零數字+3位數字/后面繼續定義校外電話號碼=本市號碼|外地號碼本市號碼=數字零+8位數字外地號碼=數字零+3位數字+8位數字非零數字=1|2|3|4|5|6|7|8|9數字零=03位數字=3數字3/3至3個數字8位數字=非零數字+7位數字7位數字=7數字7數字=0|1|2|3|4|5|6|7|8|9可編輯范本第
17、三章課后參考答案1、為什么要進行需求分析?通常對軟件系統有哪些需求?答:為了開發出真正滿足用戶需求的軟件產品,首先必須知道用戶的需求,不論軟件工程師把設計和編碼工作做得如何出色,不能真正滿足用戶需求的程序只會令用戶失望。需求分析的任務不是確定系統怎樣完成它的工作,而是確定系統必須完成哪些工作,對目標系統提出完整、清晰、準確、具體的要求。只有這樣深入理解了用戶的需求,我們的工作才會有意義。對軟件通常有以下需求:功能需求、性能需求、可靠性和可用性需求、出錯處理需求、接口需求、逆向需求、將來可能提出的要求。2、怎樣與用戶有效地溝通以獲取用戶的真實需求?答:( 1)訪談,訪談有兩種基本形式,分別是正式
18、的和非正式的訪談。( 2)面向數據流自頂向下求精( 3)簡易的應用規格說明技術( 4)快速建立軟件原型3、銀行計算機儲蓄系統的工作過程大致如下:儲戶填寫的存款單或取款單由業務員鍵入系統,如果是存款則系統記錄存款人姓名、住址(或電話號碼)、身份證號碼、存款類型、存款日期、到期日期、利率及密碼(可選)等信息,并印出存單給儲戶;如果是取款而且存款時留有密碼,則系統首先核對儲戶密碼,若密碼正確或存款時未留密碼,則系統計算利息并印出利息清單給儲戶。用實體-聯系圖描繪系統中的數據對象。實體-聯系圖如下:本問題中共有三類實體,分別是“儲戶”和“儲蓄所”及業務員,在它們之間存在“存取款”關系。因為一位儲戶可以
19、在多家儲蓄所存取款,一家儲蓄所擁有多位儲戶,所以“存取款”是多對多(M:N)關系。儲戶的屬性主要有姓名、住址、電話號碼和身份證號碼,儲蓄所的屬性主要是名稱、地址和電話號碼,存取款是聯系,但它也有屬性主要有數額、類型、到期日期、利率和密碼。業務員的屬性主要有編號,姓名,性別和電話號碼。(住址)Qi而癥耳宿)C地址)C類型】I科率)業努曷4、分析習題2第3題所述的機票預訂系統,試用實體-聯系圖描述本系統中的數據對象。實體-聯系圖如下:-本問題中主要有三類實體,分別是“顧客”、“旅行社”、“飛機航班”-在它們之間存在的關系有:“顧客”和、“旅行社”有“代理”關系;因為一位顧客可以讓多家旅行社代理,一
20、家旅行社擁有多位顧客,所以“代理”是多對多(M:N)關系。“顧客”和“飛機航班”有“預定機票”關系,是一對一(1:1)關系。-顧客的屬性主要有身份證號碼、姓名、性別、工作單位、旅行時間、旅行目的地、聯系電話-旅行社的屬性主要有編號,名稱,地址,負責人,聯系電話。-飛機航班的屬性主要是航班號、起飛時間、目的地、到達時間-“預定機票”關系的屬性有票額(即票價)5、分析習題2第4題所述的患者監護系統,試用實體-聯系圖描述本系統中的數據對象,畫出本系統的頂層IPO圖實體-聯系圖如下:姓名 住址 電話 編號 姓名 科室住垸號時間本系統的頂層IPO圖如下:輸入處理輸出病人生理信號1.接受病人生 理信號入記
21、錄病人情 況(更新建 者日志)3、驗證病人生 理信號是否 超出安全范 圍明發出髻告5.查詢病人情 況有效病人生理信 a顯示警告信息打印指定病人情況6、復印機的工作過程大致如下:未接到復印命令時處于閑置狀態,一旦接到復印命令則進入復印狀態,完成一個復印命令規定的工作后又回到閑置狀態,等待下一個復印命令;如果執行復印命令時發現沒紙,則進入缺紙狀態,發出警告,等待裝紙,裝滿紙后進入閑置狀態,準備接收復印命令;如果復印時發生卡紙故障,則進入卡紙狀態,發出警告等待維修人員來排除故障,故障排除后回到閑置狀態。請用狀態轉換圖描繪復印機的行為。從問題陳述可知,復印機的狀態主要有“閑置”、“復印”、“缺紙”和“
22、卡紙”。引起狀態轉換的事件主要是“復印命令”、“完成復印命令”、“發現缺紙”、“裝滿紙”、“發生卡紙故障”和“排除了卡紙故障”第五章課后參考答案3、設計下列系統的軟件結構(1)儲蓄系統2-2(2)機票預定系統2-3(3)患者監護系統2-4參考答案:使用結構圖表示1、可編輯范本1、儲蓄系統可編輯范本2、機票預定系統3、患者監護系統患者監護系統患者生理信號扶取日4機信息心rJ、Ai我言里主制定生理信號安全范圍定時取樣生理信號定時生理信I91V一;幾信息分析信號更新日志取得時間息信機危報警Jrk病情報告4、 美國某大學有200名教師,校方與教師工會剛剛簽訂一項協議。按照協議,所有年工資超過$2600
23、0(含$26000)的教師工資將保持不變,年工資少于$26000的教師將增加工資,所增加工資數額按下述方法計算:給每位教師所贍養的人(包括教師本人)每年補助$100,止匕外,教師有一年工齡每年再多補助50,但是,增加后的年工資總額不能多于$26000。教師工資檔案存儲在行政辦公室的磁帶上,檔案中有目前的年工資、贍養的人數、雇傭日期等信息。需要寫一個程序計算并印出每名教師的原工資和調整后的新工資。要求:( 1)畫出此系統的數據流圖;( 2)寫出需求說明;( 3)設計上述的工資調整程序(要求用HIPO圖描繪設計結果),設計時分別采用兩種算法,并比較兩種算法的優缺點:(a)搜索工資檔案數據,找出年工
24、資少于$26000的人,計算新工資,校核是否超過$26000,存儲新工資,印出新舊工資對照表;(b)把工資檔案數據按工資從最低到最高的次序排序,當工資數額超過$26000時即停止排序,計算新工資,校核是否超過限額,存儲新工資,印出結果。(4)你所畫出的數據流圖適應用那種算法?(1)系統的數據流圖原工資檔案工資調資系統.)調資后工資檔案E1行政辦公室P1 一原工資檔案A導入原工、資檔案/-P5-輸出工資,對照表7調資后工資檔案調資標準/ P2、 輸入調資 (標準)工資檔案調資后工資檔案P4核對工資, JP3調整工資一調資標準 1調資標準E1行政辦公室工資檔案可編輯范本工資標準調資標準(2)需求說
25、明;經分析可知:本系統必須包括如下7個功能:導入原工資檔案、輸入調資標準、檢索需調資工資數據、計算新工資、校核新工資、更新新工資數據、輸出工資對照表包含數據:教師工資檔案、工資標準(3)工資調資系統調資2.0打印工資對照表3.0導入調資檔案1.0計算新工資2.1校核新工資2.2奧而河工資數據2.3IPO表(b)工資調資系統導入調資檔案1.0調資2.0打印工資對照表3.0導入工資檔案1.1輸入調資標準1.2工資數據整 理排序1.3計算新工資2.1校核新工資-22-工初兩工資 數據2.3系統:工資調資系統作者:王毅模塊:導入調資檔案日期:2014-2-1編寫:1.0被調用:工資調資系統調用:1.1和1.2輸入:原工資檔案輸出:工資檔案處理:把原工資檔案導入工資調資系統的數據庫中局部數據元素:注釋:4)你所畫出的數據流圖適應用那種算法(a)6-4 答:第六章參考答案可編輯范本6-4答:不用flag(NOTP)or(NOTq)6-5 答:TTTTT可編輯范本flag=0START=FINISHANDflg=0I=(START+FINISH)/2F
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 護理風險與患者安全管理
- 人教版數學六年級下冊全優達標訓練之解決問題(試題)
- 2025年江蘇省徐州市豐縣中學高三3月第一次模擬考試數學試題文試題含解析
- 福建省三明市永安市重點中學2024-2025學年初三化學試題下學期4月模擬訓練試題(二)含解析
- 浙江工商職業技術學院《中國文化概要》2023-2024學年第一學期期末試卷
- 廣西民族大學相思湖學院《城市濱水景觀規劃設計》2023-2024學年第一學期期末試卷
- 東陽市2025年小升初復習數學模擬試卷含解析
- 2025年黑龍江省齊齊哈爾市物理試題高考沖刺卷(七)含解析
- 株洲師范高等專科學校《多媒體出版》2023-2024學年第二學期期末試卷
- 安徽省定遠縣2024-2025學年初三一模(期末)英語試題含答案
- 檢驗員基礎知識培訓.ppt
- 心理治療師復習
- 液壓常用元件符號
- 重慶某高速公路合同段分離式隧道實施性施工組織設計(低瓦斯隧道)
- 消防設施維護保養記錄
- 呼吸囊檢測(課堂PPT)
- 無機化學第4版下冊(吉大宋天佑)2019
- 藥店聘書樣板
- 虛偽的人yy頻道設計 第三者圖案模版頻道設計
- 中石化職稱英語考試試卷(中級)
- PMMA合成方案PPT課件
評論
0/150
提交評論