




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件工程第三版答案
【篇一:軟件工程課后答案】
>1.1什么是計算機軟件?軟件的特點是什么?
答:計算機軟件指計算機系統中的程序及其文檔。
軟件的特點是:
a軟件是一種邏輯實體,而不是有形的系統元件,其開發成本和進
度難以準確得估算;
b軟件是被開發的或被設計的,沒有明顯的制造過程,一旦開發成
功,只需復制即可,但其維護的工作量大;
c軟件的使用沒有硬件那樣的機械磨損和老化問題。
1.2簡述軟件的分類,并舉例說明。
答:在《計算機科學技術百科全書》中,將軟件分為系統軟件、支
撐軟件和應用軟件3類。
a系統軟件:系統軟件居于計算機系統中最靠近硬件的一層,其他
軟件一般都通過系統軟件發揮作用。系統軟件與具體的應用領域無
關。例如:編譯程序、操作系統等。
b支撐軟件:支撐軟件是支撐軟件的開發和維護的軟件。例如:數
據庫管理系統、網絡軟件、軟件工具、軟件開發環境等。
c應用軟件:應用軟件是特定應用領域專用的軟件。例如:工程/科
學計算軟件、嵌入式軟件、產品線軟件、web應用軟件、人工智能
軟件。
1.44么是軟件工程?
答:在《計算機科學技術百科全書》中軟件工程是應用計算機科學、
數學及管理科學等原理,開發軟件的工程。
1.5簡述軟件工程的基本原則。
答:軟件工程原則包括圍繞工程設計、工程支持和工程管理提出的
以下4條基本原則:
第一條:圍繞適宜的開發模型;
第二條:采用合適的設計方法;
第三條:提供高質量的工程支撐;
第四條:重視軟件工程的管理。
1.6軟件生存周期分哪幾個階段?分別簡述各個階段的任務。
答:軟件生存周期有計算機系統工程、需求分析、設計、編碼、測
試、運行和維護6個階段n
a計算機系統工程的任務是確定待開發軟件的總體要求和范圍,以
及該軟件與其他計算機系統元素之間的關系,進行成本估算,做出
進度安排,并進行可行性分析,即從經濟、技術、法律等方面分析
待開發的軟件是否有可行的解決方案,并在若干個可行的解決方案
中做出選擇。
b需求分析主要解決待開發軟件要“做什么”的問題,確定軟件的功
能、性能、數據、界面等要求,生成軟件需求規約。
c軟件設計只要解決待開發軟件“怎么做”的問題。軟件設計通常可
分為系統設計和詳細設計。系統設計的任務是設計軟件系統的體系
結構,包括軟件系統的組成成分、各成分的功能和接口、成分間的
連接和通信,同時設計全局數據結構。詳細設計的任務是設計各個
組成成分的實現細節,包括局部數據結構和算法等。
d編碼階段的任務是用某種程序設計語言,將設計的結果轉換為可
執行的程序代碼。
e測試階段的任務是發現并糾正軟件中的錯誤和缺陷。測試主要包
括單元測試、集成測試、確認測試和系統測試。
f軟件完成各種測試后就可交付使用,在軟件運行期間,需對投入運
行的軟件進行維護,即可發現了軟件中潛藏的錯誤或需要增加新的
功能或使軟件適應外界環境的變化等情況出現時,對軟件進行修改。
1.9簡述各類軟件過程模型的特點。
答:典型的軟件過程模型有:瀑布模型、演化模型(增量模型、原
型模型、螺旋模型)、噴泉模型、基于構件的開發模型和形式方法
模型等。
a瀑布模型中,上一階段的活動完成并經過評審后才能開始下一階
段的活動,其特征是:
接受上一階段活動的結果作為本階段活動的輸入;
依據上一階段活動的結果實施本階段應完成的活動;
對本階段的活動進行評審;
將本階段活動的結果作為輸出。
b增量模型將軟件的開發過程分成若干個日程時間交錯的線性序列,
每個線性序列產生軟件的一個可發布的增量版本,后一個版本是對
前一個版本的修改和補充,重復增量發布的過程,直至產生最終的
完善產品。
c原型模型從軟件工程師與客戶的交流開始,其目的是定義軟件的
總體目標,標識需求。然后快速制定原型開發的計劃,確定原型的
目標和范圍,采用快速設計的方式對其建模,并構建模型。被開發
的原型應交付給客戶使用,并收集客戶的反饋意見,這些反饋意見
可在下一輪迭代中對原型進行改進。在前一個原型需要改進,或者
需要擴展其范圍的時候,進入下一輪原型的迭代開發。
d螺旋模型將原型模型實現的迭代特征與瀑布模型中控制的和系統
化的方面結合起來,不僅體現了這兩種模型的優點而且還增加了風
險分析。
e噴泉模型是一種支持面向對象開發的過程模型。類及對象是面向
對象方法中的基本成分。在分析階段,標識類及對象,定義類之間
的關系,建立對象?關系模型和對象?行為模型。在設計階段,從實現
的角度對分析模型進行調整和擴充。在編碼階段,用面向對象語言
實現類及對象,通過消息機制實現對象之間的通信,完成軟件的功
能。在面向對象方法中,分析模型和設計模型采用相同的符號表示
體系,開發的各個活動沒有明顯的邊界,各個活動經常重復,迭代
地交替進行。
f基于構件的開發模型,基于構件的開發是指利用預先包裝的構建來
構造應用系統。構件可以是組織內部開發的構建,也可以是商業化
的、現存的軟件構件。
g形式化方法是建立在嚴格數學基礎上的一種軟件開發方法。軟件
開發的全過程中,從需求分析、規約、設計、編程、系統集成、測
試、文檔生成,直至維護等各個階段,凡是采用嚴格的數學語言,
具有精確的數學語義的方法,都稱為形式化方法。形式化方法用嚴
格的數學語言和語義描述功能和設計規約,通過數學的分析和推導,
易于發現需求的歧義性、不完整性和不一致性,易于對分析模型、
設計模型和程序進行驗證。通過數學的演算,使得從形式化功能規
約到形式化設計規約,以及從形式化設計規約到程序代碼轉換成為
可能。
1.10敏捷軟件開發的特點是什么?
答:敏捷軟件開發的特點有4個:
a個人和交互高于過程和工具;
b可運行軟件高于詳盡的文檔;
c與客戶協作高于合同談判;
d對變更及時做出反應高于遵循計劃。
1.12簡述敏捷軟件開發的原則。
答:敏捷軟件開發必須遵循的12條原則如下;
a最優先的是通過盡早地和不斷地提交有價值的軟件來使客戶滿意;
【篇二:軟件工程課后習題答案】
1、軟件產品的特性是什么?答:軟件產品特性:
⑴是一種邏輯產品,與物質產品有很大的區別。
(2)軟件產品的生產主要是研制,生產成本主要在開發和研制,開發
研制完成后,通過復制就產生了大量軟件產品。(3)軟件產品不會用
壞,不存在磨損,消耗。
⑷生產主要是腦力勞動,還末完全擺脫手工開發方式,大部分產品
是定做的
⑸開發軟件的費用不斷增加,致使生產成本相當昂貴。2、軟件生
產有幾個階段?各有何特征?
答:⑴程序設計時代:這個階段生產方式是個體勞動,使用的生產
工具是機器語言,匯編語言。
⑵程序系統時代:這個階段生產方式是小集團合作生產,使用的生
產工具是高級語言,開發方法仍依靠個人技巧,但開始提出結構化
方法。
(3)軟件工程時代:這個階段生產方式是工程化的生產,使用數據庫
、開發工具、開發環境、網絡、分布式、面向對象技術來開發軟件。
3、什么是軟件危機?產生原因是什么?答:軟件開發技術的進步未
能滿足發展的要求。在軟件開發中遇到的問題找不到解決的辦法,
問題積累起來,形態尖銳的矛盾,導致了軟件危機。產生原因:(1)
軟件規模越來越大,結構越來越復雜。⑵軟件開發管理困難而復雜。
(3)軟件包開發費用不斷增加。⑷軟件開發技術落后。⑸生產方式落
后,仍采用手工方式。⑹開發工具落后,生產率提高緩慢。
4、什么是軟件工程?它目標和內容是什么?
答:軟件工程就是用科學的知識程和技術原理來定義,開發,維護
軟件的一門學科。軟件工程目標:付出較低開發成本;達到要求的
功能;取得較好的性能;開發的軟件易于移植;只需較低的維護費
用;能按時完成開發任務,及時交付使用;開發的軟件可靠性高。
軟件工程內容:研究內容包括開發技術和開發管理兩個方面。開發
技術主要研究:軟件開發方法,開發過程,開發工具和環境。開發
管理主要研究:軟件管理學,軟件經濟學,軟件心理學。
5、軟件工程面臨的問題是什么?
答:軟件工程需要解決的問題:軟件的費用,可靠性,可維護性,
軟件生產率和軟件的重用。
6、什么是軟件生存周期?它有哪幾個活動?
答:軟件生存周期:一個軟件從提出開發要求開始直到該軟件報廢
為止的整個時期。包括:可行性分析和項目開發計劃,需求分析,
概要設計,詳細設計,編碼,測試,維護。7、什么是軟件生存周期
模型?有哪些主要模型?
答:生存周期模型:描述軟件開發過程中各種活動如何執行的模型。
對軟件開發提供強有力的支持,為開發過程中的活動提供統一的政
策保證,為參與開發的人員提供幫助和指導,是軟件生存周期模型
化技術的基礎,也是建立軟件開發環境的核心。主要有:瀑布模型,
增量模型,螺旋模型,噴泉模型,基于知識的模型,變換模型。
8、什么是軟件開發方法?有哪些主要方法?
答:使用早已定義好的技術集及符號表示習慣來組織軟件生產的過
程。通過使用成功的軟件開發方法,在規定的投資和時間內,開發
出符合用戶需求的高質量的軟件。軟件開發方法是克服軟件危機的
重要方面之一,對軟件工程及軟件包產業的發展起了不可估量的作
用。
主要有:結構化方法,jackson方法,維也納開發方法(vdm),
面向對象開發方法。第二章習題參考答案
1.可行性研究的任務是什么?
答:可行研究的任務:首先需要進行概要的分析研究,初步確定項
目的規模,目標,約束和限制。分析員再進行簡要的需求分析,抽
象出項目的邏輯結構,建立邏輯模型。從邏輯模型出發,經過壓縮
的設計,探索出若干種可供選擇的解決方法,對每種解決方法都要
研究它的可行性。
主要從三個方面考慮:⑴技術可行性:一般要考慮的情況包括開發
的風險即設計出的系統能否達到要求的功能和性能;資源的有效性;
相關技術的發展是否支持;⑵經濟可行性:進行開發成本的估算以
及了解取得效益的評估,確定要開發的項目是否值得投資。③社會可
行性:要開發的項目是否存在任何侵權問題,運行方式在用戶組織內
是否可行,現有管理制度、人員素質、操作方式是否可行。2.可行
性研究有哪些步驟?
答:⑴確定項目規模和目標;⑵研究正在運行的系統;收集、研究
、分析現有系統的文檔資料,實地考察系統訪問有關人員,然后描
繪現有系統的高層系統流程圖。⑶建立新系統的高層邏輯模型;使
用數據流圖和數據字典描述數據在系統中的流動和處理情況。⑷導
出和評價各種方案;導出若干較高層次的物理解決方法,根據技術
可行性、經濟可行性、社會可行性進行評估,得到可行的解決方法。
(5)推薦可行方案;進行成本?效益分析,決定該項目是否值得開發,
若值得開發那么解決方案是什么,并且說明該方案可行的原因和理
由。⑹編寫可行性研究報告;將上述可行性過程的結果寫成相應文
檔,即可行性研究報告。
3.可行性研究報告有哪些主要內容?
答:(工)引言:編寫本文檔的目的;項目名稱、背景;本文檔用到的
專門術語和參考資料。⑵可行性研究前提:說明開發項目的功能、
性能和基本要求;達到的目標;各種限制條件;可行性研究方法和
決定可行性的主要因素。⑶對現有系統的分析:說明現有系統的處
理流程和數據流程;工作負荷;各項費用支出;所需各類專業技術
人吧和數量;所需各種設備;向有系統存在什么問題。⑷所建議的
技術可行性分析:所建議系統的簡要說明;處理流程和數據流程;
與現有系統比較的優越性;采用所建議系統對用戶的影響;對各種
設備、現有軟件、開發環境、運行環境的影響;對經費支出的影響;
對技術可行性的評價。⑸所建議系統的經濟可行性分析:說明建議
系統的確良各種支出,各種效益;收益投資比;投資順收周期。⑹
社會因素可行性分析:說明法律因素,對合同責任、侵犯專利權、
侵犯版權等問題的分析;說明用戶使用可行性,是否滿足用戶行政
管理、工作制度、人吧素質的要求。⑺其它可供選擇方案:逐一說
明其他可供選擇的方案,并說明未被推薦的理由。⑻結論意見:說
明項目是否能開發;還需什么條件才能開發;對項目目標有何變動
等。
4.成本“效益分析可用哪些指標進行度量?
答:⑴投資回收率:通常把建立系統若干年后能取得的收益折算成
現在的價值和開發系統所需的費用進行比較得出投資回收率。⑵投
資回收期:就是使累計的經濟效益等于最初的投資費用所需的時間。
⑶純收入:整個生存周期之內的累計經濟效益(折成現在值)與投
資之差。5.項目開發計劃有哪些內容?
答:⑴項目概述:說明項目的各項主要工作;說明軟件的功能、性
能;為完成項目應具有的條件;用戶及合同承包者承擔的工作完成
的期限及其他條件限制;應交付的程序名稱;所使用的語言及程儲
形式;應交付的文檔。⑵實施計劃:說明任務的劃分,各任務責任
人,項目開發進度,項目的預算,各階段的費用支出,各階段應完
成的任務,用圖表說明每項任務的開始和完成時間。⑶人員組織及
分工:所需人員類型、數量、組成結構。⑷交付期限:最后完工日
期。
第三章習題參考答案
L不么是需求分析?需求分析階段的基本任務是什么?
答:需求分析:開發人員準確地理解用戶的要求,進行細致的調查
分析,將用戶非形式的需求陳述轉化為完整的需求定義,再由需求
定義轉換到相應的需求規格說明的過程。
基本任務:⑴問題識別:雙方確定對問題的綜合需求,這些需求包
括功能需求,性能需求,環境需求,用戶界面需求。⑵分析與綜合,
導出軟件的邏輯模型③編寫文檔:包括編寫需求規格說明書,初步用
戶使用手冊,確認測試計劃,修改完善軟件開發計劃
2.什么是結構分析方法?該方法使用什么描述工具?
答:結構化分析:簡稱sa,面向數據流進行數據分析的方法。采用
自頂向下逐層分解的分析策略。頂層抽象地描述整個系統,底層具
體地畫出系統工程的每個細節。中間層則是從抽象到具體的過渡。
使用數據流圖,數據字典,作為描述工具,使用結構化語言,判定
表,判定樹描述加工邏輯。3.結構化分析方法通過哪些步驟來實現?
答:⑴了解當前系統的工作流程,獲得當前系統的物理模型。⑶抽
象出當前系統的邏輯模型。⑶建立目標系統的邏輯模型。⑷作進一
步補充和優化。
5.畫數據流圖應注意什么事項?
答:命名:不能使用缺乏具體含義的名字,加工名應能反映出處理
的功能。1.畫數據流而不是控制流。數據流名稱只能是名詞或名詞
短語,整個圖中不反映加工的執行順序。
一般不畫物質流。2,每個加工至少有一個輸入數據流和一個輸出數
據流,反映出此加工數據的來源與加工的結果。
編號:某個加工分解成加一張數據流圖時,上層圖為父圖,下
層圖為子圖。子圖應編號子圖上的所有加工也應編號,子圖的編號
應與父圖的編號相對應。3,父圖與子圖的平衡:子圖的輸入輸出數
據流同父圖相應加工的輸入輸出數據流必須一致⑵抽象:認識復雜
現象過程所使用權的工具,只考慮事物本質的共同特性,忽略細節
和其它因素。通過抽象確定組成軟件的過程實體。⑶信息隱蔽:將
模塊實現自身功能的細節與數據局部數據存儲:當某慨數據流圖中
的數據存儲不是父圖中相應加工的外部接口,而只是本圖中某些加
工之間的數據接口,則稱這些數據存儲為局部數據存儲。注意數據
流圖的易理解性。
6.什么是數據字典?其作用是什么?共有哪些條目?
答:數據字典(dd)用來定義數據庫流圖中的各個成分的具體含義。
有以下四類條目:數據流,數據項,數據存儲,基本加工。
7.描述加工邏輯有哪些工具?
答:加工邏輯的描述:一般用結構化語言,判定表,判定樹結構化
語言是介于自然語言和形式語言之間的一種半形式化語言。它的結
構可分里層和內層
⑴外層:用來描述控制結構,采用順序,選擇,重復三種基本結構。
順序結構:是一組祈使語句,選擇語句,重復語句的順序排列②選
擇結構:——般用if?then-elase-endif,case?of?endcase等關鍵詞。
③重復結構:一般用do?while?enddo,repeat?until等關鍵詞。(2)
內層:一般采用祈使語句的自然語言短語,使用數據字典中的名詞
和有限的自定義詞,其動詞含義要具體,盡量不使用形容詞和副詞
來修飾O
包奈:idefO描述系統的功能活動及聯系,建立系統的功能模型。
即反映系統做什么折功能。idefl描述系統的信息及聯系,建立系統
的信息模型。idef2進行系統模擬,建立系統的動態模型。idefO特
4采用方框和箭頭等簡單圖形符號描述系統的活動和數據流,描述
活動所受的約束條件及實現機制。
如下圖描述,其中輸入為完成某活動時所需的數據,輸出指執行活
動產生時的數據,控制活動指所受到的約束條件,機制是指活動由
誰來完成。⑵采用嚴格的自頂向下、逐層分解的方式建立系統功能
模型。
9.簡述sa方法的優缺點。答:sa方法是軟件需求分析中公認的,
有成效的,技術成熟,使用廣泛的一種結構化分析方法。較適用于
開發數據處理類型軟件的需求分析。利用圖形等半形式化工具表達
需求,簡明,易讀,也易于使用。但也存在一些弱點,表現如下:
⑴sa方法僅是一個靜態模型,沒有反映處理的順序,即控制流程。
(2)sa方法使用dfd在分析與描述數據要求方面是有局限的,只有與
數據庫技術中的實體聯系圖(er圖)結合起來,才能較完整地描述
用戶對系統的需求。(3)dfd不適合描述人機界面系統的要求,一些人
機交互較頻繁的軟件系統。⑷sa方法要與形式化方法結合起來,才
能更精確地描述軟件需求。⑸要借助需求分析工具,提高需求分析
的質量及效率。
第四章習題參考答案
1、什么是軟件概要設計?該階段的基本任務是什么?
答:把一個軟件需求轉換為軟件表示時,首先設計出軟件總的體系
結構。稱為概要設計或結構設計。基本任務:(1)設計軟件系統結構,
具體為:1.采用某種設計方法,將一個復雜的系統按功能劃分為模塊。
2.確定每個模塊的功能。3.確定模塊之間的調用關系。4.確定模塊之
間的接口(模塊之間傳遞的信息)評價模塊的結構質量⑶進行數據
結構及數據庫的設計⑶編寫概要設計的文檔主要內容有:概要設計
說明書,數據庫說明書(dbms的簡介,概念模型,邏輯設計,結果)
用戶手冊,修訂測試計劃(測試的策略、方法、步驟)⑷評審:是
否完整地實現了規定的功能、性能要求。設計方案是否可行。關鍵
的處理及內部接口定義的正確性,有效性,各部分的一致性。2、軟
件設計的基本原理包括哪些內容?
答:(1)模塊化:模塊是軟件的組成部分,是具有獨立功能且可命名
的一段程序,所有模塊組成整體,可以滿足問題的要求。模塊化即
按照一定的原則,將軟件劃分成若干個模塊,每個模塊完成一個特
定的功能,然后把這些模塊按照某種方法組裝成一個軟件系統。
(可降低復雜度、減少工作量)
模塊具有以下幾種特性:接口:模塊的輸入輸出。功能:指模塊實
現什么功能。邏輯:描述模塊內部如何實現要求及所需的數據。狀
態:該模塊的運行環境,模塊間調用與被調用關系。
隱蔽起來。模塊間僅交換為完成系統功能所必須的信息。⑷模塊獨
立性:每個模塊只完成系統要求的獨立的子功能。3、衡量模塊獨立
性的兩個標準是什么?各表示什么含義?答:內聚:又稱為塊內聯
系,指模塊內部各成分之間相互關聯的程度,以高內聚為設計目標。
耦合:也稱塊間聯系,模塊之間相互聯系程度的度量,聯系越緊密,
耦合性越強,獨立性越差,以低耦合為設計目標。
4、模塊的耦合性有哪幾種?各表示什么含義?
答:⑴內容耦合:一個模塊直接操作或修改另一模塊的數據,或者
不通過正常入口直接轉入另一模塊⑶公共耦合:兩個或多個模塊通
過共同引用一個全局數據環境相互作用⑶控制耦合:模塊之間通過
傳遞控制信息相互作用⑷標記耦合:兩個模塊之間通過傳遞公共指
針或地址相互作用的耦合⑸數據耦合:模塊之間通過傳遞數據交換
信息⑹無耦合:模塊間無任何關系,獨立工作
5、模塊的內聚性有哪幾種?各表示什么含義?答:⑴偶然內聚:一
個模塊各個成分之間毫無關系⑵邏輯內聚:將幾個邏輯上相關的功
能放在同一個模塊中(3)時間內聚:一個模塊完成的功能在同一時間
執行(4)過程內聚:一個模塊內部的處理成分是相關的,而且必須以
特定的次序執行⑸通信內聚:一個模塊的所有成分都集中在同一個
數據結構上⑹順序內聚:一個模塊的各個成分同一個功能密切相關,
而且一個成分的輸出,作為另外一個成分的輸入⑺功能內聚:模塊
內的所有成分屬于一個整體,完成單一的功能。(內聚最高)
6、什么是軟件結構?簡述軟件結構設計的優化準則。
答:⑴改進軟件結構,提高模塊獨立性首先設計出軟件初始結構,
評價該結構,通過模塊分解或合并,力求降低耦合提高內聚。⑵模
塊的規模應該適中(3)模塊結構的深度、寬度、扇出和扇入應適中。
深度:軟件結構中控制的層數寬度:軟件結構中同一層次上最大模
塊總數扇入:某一模塊有多少直接調用它的上級模塊數目(越大越
好)扇出:一個模塊直接控制(調用)下級模塊的數目。(越少越
好,3,4個為宜,不超過9個,頂層扇出較高,中間扇出較少,底
層模塊高扇入多⑷一個模塊的作用域(范圍),應處在這個模塊的
控制域(范圍)之內模塊的作用域:受該模塊內一個判定影響的所
有模塊的集合模塊的控制域:這個模塊本身以及所有直接或間接從
屬于它的模塊的集合一個模塊的影響范圍(作用域),應處在這個
模塊的模塊的控制范圍(控制域)內。
8、什么樣是事物流?什么是變換流?試將相應形式的數據流圖轉換
為軟件結構圖
答:數據流圖(dfd)一般可分為變換流,事物流兩種。變換流:由
輸入、輸出、變換(或稱處理)三部分組成,是一順序結構。事物
流:它的某個加工,分離成許多發散的數據流,形成許多加工路徑,
并且根據輸入值選擇其中一個路徑來執行。(這人加工稱為事務處
理中心)
9.試述變換分析、事務分析設計步驟。
答:變換分析設計步驟:⑴確定變換中心,邏輯輸入和輸出。⑵設
計軟件結構的頂層和第一層“變換結構:頂層的功能是完成所有模塊
的控制(名稱應是系統名,以體現完成整個系統功能)第一層至少
有三種功能模塊:輸入、輸出和變換模塊(3)設計中、下層模塊,對
第一層的模塊自頂向下分解。輸入模塊由兩部分組成:接收數據、
轉換成調用模塊所需信息。輸出模塊由兩部分組成:將數據轉換成
下屬模塊所需的形式、發送數據變換模塊:對每個基本加工建立一
功能模塊、⑷設計的優化:輸入部分求精,每個物理輸入設置專門
模塊,以體現系統的外部接口。其它輸入模塊與轉換數據模塊都很
簡單時,可將它們合并。輸出部分求精:每個物理輸出設置專門模
塊,其它也可適當合并。變換部分求精:根據設計準則,對模塊適
當合并。事務分析的設計步驟:(1)確定事務中心和加工路徑⑵設計
頂層(事務機構)和第一層頂層模塊有兩個功能:接收數據和根據
事務類型調動相應處理模塊。③中下層模塊的設計、優化工作與變
換結構相同。事務型軟件結構包括兩部分:接收分支發送分支出通
常包括一調度模塊,當事務類型不多時,可與主模塊合并。
第五章習題參考答案
1、詳細設計的基本任務是什么,有哪幾種描述方法?答:詳細設計
的基本任務包括:(1)為每個模塊進行詳細的算法設計(2)為模
塊內的數據結構進行設計(3)對數據庫進行物理設計(4)其他設
計(5)編寫詳細設計說明書(6)評審詳細設計的描述
方法有圖形、表格和語言,其中圖形常用結構化程序流程圖、盒圖
和pad(問題分析圖)為描述工具,語言常用過程設計語言(pdl)來作為
工具。
2、結構化程序設計的基本要點是什么?答:主要有三個:(1)采用
自頂向下、逐步求精的程序設計方法(2)使用三種基本控制結構構
造程序。任何程序都可以由順序、選擇、重復(循環)三種基本控制結
構構造,這三種基本結構的共同點是單入口、單出口。(3)主程序
員組的組織形式。
3、簡述jackson方法的設計步驟。答:jackson方法的設計步驟
如下:1,分析并確定輸入數據和輸出數據的邏輯結構,并用jackson
結構圖表示這些數據結構。(2)找出輸入數據結構和輸出數據結構中
有對應關系的數據單兀。3.按一定的規則由輸入、輸出的數據結構導
出程序結構。4,列出基本操作與條件,并把它們分配到程序結構圖
的適當位置。(5)用偽碼寫出程序。比較?
答:白盒法測試法把測試對象看作一個打開的盒子,測試人員須了
解程序內部結構和處理過程,以檢查處理過程的細節為基礎,對程
序中盡可能多的邏輯路徑進行測試,檢驗內部控制結構和數據結構
是否有錯,實際的運行狀態與預期的狀態是否一致。
白盒法有下列幾種覆蓋標準:語句覆蓋、判定覆蓋、條件覆蓋、判
定/條件覆蓋、條件組合覆蓋、路徑覆蓋
從上到下的覆蓋標準其檢錯能力也從弱到強,其中條件組合發現錯
誤的能力較強,凡滿足其標準的測試用例,也必然滿足前四種覆蓋
標準。在實際的邏輯測試中,一般以條件組合覆蓋為主設計測試用
例,然后再補充部分用例來達到路徑覆蓋的測試標準。
什么是黑盒測試法?采用黑盒技術測試用例有哪幾種方法?這些第六
章習題參考答案
程序語言有哪些共同特征?
答:程序語言的共同特征(似為特性更符合題意)是指程序設計語言的
語言特性,包括心理特性、工程特性和技術特性三個方面。語言的
心理特性對人機通信的質量有主要的影響;語言的工程特性對軟件
開發成功一否有重要的影響,此外,語言的技術特性也會影響軟件
設計的質量。
在項目開發時選擇程序設計語言通常考慮哪些因素?
答:通常要考慮的因素有:項目的應用領域、軟件開發的方法、軟
件執行的環境、算法和數據結構的復雜性以及軟件開發人員的知識
等。
第4代語言(4gl)有哪些主要特征?答:4gl的主要特征是:1.友好的
用戶界面2.兼有過程性和非過程性雙重特性3.高效的程序代碼4.完
備的數據庫(5)應用程序生成器舉例說明各種程序設計語言的特點
及適用范圍?
答:以常見的一些編程語言為例:fortran語言,它不僅面向科學計
算,數據處理能力也極強。適用于科學工程計算;pascal語言,具
有很強的數據和過程結構化能力,它語言簡明,數據類型豐富,程
序結構嚴謹。它是第一個體現結構化編程思想的語言。用于描述結
構化算法和科學計算,操作系統的編寫;c語言:功能強大,支持復
雜的數據結構,可大量運用指針,具有豐富靈活的操作運算符及數
據處理操作符,它還具有匯編語言的某些特征,使程序運行效率高。
可用于許多領域,特別是在操作系統等方面有較大優勢。coble語
言,它具有極強的數據定義能力,程序說明與硬件環境說明分開、
數據描述與算法描述分開。結構嚴謹層次分明,廣泛用于商業數據
處理。sql:結構化查詢語言,用于對數據庫進行存取管理。
匯編語言和ada語言,主要用于實時處理和編寫系統軟件。prolog,
lisp語言。lisp是一種函數型語言,特別適用于組合問題中符號運算
和表處理,用于定理證明、樹的搜索和其他問題的求解。prolog是
一種邏輯型語言,它提供了支持知識表示的特性,每一個程序由一
組表示事實、規則和推理的句子組成,比較接近與自然語言。這兩
種語言主要用于人工智能系統開發。C++、java語言,是面向對象的
設計語言,用于面向對象的方開發軟件。
什么是程序設計風格?為了具有良好的設計風格,應注意哪些方面的
問題?
答:.程序設計風格是指一個人編制程序時所表現出來的特點、習慣、
邏輯思路等。
要形成良好的程序設計風格,應從源程序文檔化、數據說明、語句
構造、輸入輸出和追求效率幾個方面加以注意。第七章習題參考答
案
軟件測試的目的是什么?軟件測試中,應注意哪些原則?
答:軟件測試的目的是為了發現軟件的錯誤。軟件測試中應注意的
原則有:
測試用例應由輸入數據和預期的輸出數據兩部分組成。這樣便于對
照檢查,做到有的放矢。測試且例不僅選用合理輸入數據,還要選
擇不合理的輸入數據。這樣能更多地發現錯誤,提高程序的可靠性。
對于不合理的輸入數據,程序應拒絕接受,并給出相應的提示。
除了檢查程序是否做了它應該做的事,還應該檢查程序是否做了它
不應該做的事。
應制定測試計劃并嚴格執行,排除隨意性。長期保留測試用例。
對發現錯誤較多的程序段,應進行更深入的測試。(7)程序員應避
免測試自己的程序。測試是一種挑剔性的行為,心理狀態是測試自
己程序的障礙。
什么是白盒測試法?有哪些覆蓋標準?試對他們的檢錯能力進行
方法各有什么特點?
答:黑盒測試法把被測試對象看成是一相黑盒子,測試人員完全不
考慮程序的內部結構和處理過程,只在軟件接口處進行測試,依據
需求規格說明書,檢查程序是否滿足功能要求。
采用黑盒技術測試用例的方法有:等價類的劃分、邊界值分析、錯
誤推測和因果圖。
軟件測試要經過哪些步驟?這些測試與軟件開發各階段之間有什么關
系?
答:軟件測試要經過的步驟是:單元測試一集成測試一確認測試一
系統測試。
單元測試對源程序中每一個程序單元進行測試,檢查各個模塊是否
正確實現規定的功能,從而發現模塊在編碼中或算法中的錯誤。該
階段涉及編碼和詳細設計文檔。
集成測試是為了檢查與設計相關的軟件體系結構的有關問題,也就
是檢查概要設計是否合理有效。
確認測試主要是檢查已實現的軟件是否滿足需求規格說明書中確定
了的各種需求。
系統測試是把已確認的軟件與其他系統元素(如硬件、其他支持軟件、
數據、人工等)結合在一起進行測試。以確定軟件是否可以支付使用。
單元測試有哪些內容?測試中采用什么方法?答:單元測試主要針對
模塊的以下五個基本特征進行測試:1.模塊接口2.局部數據結構3.
重要的執行路徑4.錯誤處理5.邊界條件6.測試的方法是為被測試模
塊編寫驅動模塊和樁模塊來實現被測試單元的可運行。通過驅動模
塊來模擬被測試模塊的上級調用模塊,以上級模塊調用被測模塊的
格式驅動被測模塊,接收被測模塊的測試結構并輸出。樁模塊則用
來代替被測試模塊所調用的模塊。它的作用是返回被測模塊所需的
信息。
才么是集成測試?非漸增式測試與漸增式測試有什么區別?漸增式測
試如何組裝模塊?
答:集成測試是指在單元測試的基礎上,將所有模塊按照設計要求
組裝成一個完整的系統進行的測試。
非漸增式測試是指首先對每個模塊分別進行單元測試,再把所有模
塊組裝成一個完整的系統進行的測試。而漸增式測試就是逐個把未
經測試的模塊組裝到已經過測試的模塊上去進行集成測試,每加入
一個新模塊進行一次集成測試,重復此過程直到程序組裝完畢。漸
增式測試有兩種不同的組裝方法:自頂向下和自底向上結合。兩者
區別是:(1)非漸增式方法把單兀測試和集成測試分成兩個不同的
階段,前一階段完成模塊的單元測試,后一階段完成集成測試。而
漸增式測試往往把單元測試和集成測試合在一起,同時完成。(2)
非漸增式需要更多的工作量,因為每個模塊都需要驅動模塊和樁模
塊,而漸增式利用已測試過的模塊作為驅動模塊或樁模塊,因此工
作量少。漸增式可以較早地發現接口之間的錯誤,非漸增式最后組
裝時才發現。(3)漸增式有利于排錯,發生錯誤往往和最近新加入的
模塊有關,而非漸增式發現接口錯誤推遲到最后,很難判斷是哪一
部分接口出錯。(4)漸增式比較徹底,已測試的模塊和新的模塊再測
試。(5)漸增式點用時間較多,但非漸增式所需更多的驅動模塊和樁
模塊也占用一些時間。(6)非漸增式開始可并行測試所有模塊,能充
分利用人力,對測試大型軟件很有意義。什么是確認測試?該階段有
哪些工作?
答:確認測試又稱有效性測試。它的任務是檢查軟件的功能與性能
是否與需求規格說明書中確定的指標相符合。因而需求說明是確認
測試的基礎。確認測試階段有兩項工作:進行確認測試與軟件配置
審查。
調試的目的是什么?調試有哪些技術手段?
答:調試則是在進行了成功的測試之后才開始的工作。調試的目的
是確定錯誤的原因和位置,并改正錯誤,因此調試也稱為
糾錯(debug)。調試的技術手段有簡單的調試方法、歸納法、演繹法
和回溯法等。第八章習題參考答案軟件維護有哪些內容?答:(1)
校正性維護。在軟件交付使用后,一些隱含的錯誤在某些特定的使
用環境下會暴露出來。為了識別和糾正錯誤,修改軟件性能上的缺
陷,應進行確定和修改錯誤的過程,這個過程就稱為校正性維護。
(2)適應性維護。為了使應用軟件適應計算機硬件、軟件環境及數
據環境的不斷發生的變化而修改軟件的過程稱為適應性維護。
(3)完善性維護。為增加軟件功能、增強軟件性能、提高軟件運行
效率而進行的維護活動稱為完善性維護。
(4)預防性維護。為了提高軟件的可維護性和可靠性而對軟件進行
的修改稱為預防性維護。軟件維護的特點是什么?答:主要體現在
三個方面:
(1)非結構化維護和結構化維護。軟件的開發過程對軟件的維護有
很大的影響。若不采用軟件工程的方法開發軟件,則軟件只有程序
而無文檔,維護工作非常困難,這是一種非結構化的維護。若采用
軟件工程的方法開發軟件,則各階段都有相應的文檔,容易進行維
護工作,這是一種結構化的維護。
(2)維護的困難性。軟件維護的困難性是由于軟件需求分析和開發
方法的缺陷。軟件生存周期中的開發階段沒有嚴格而又科學的管理
和規劃,就會引起軟件運行時的維護困難。
(3)軟件維護的費用。軟件維護的費用在總費用中的比重是在不斷
增加的,這是軟件維護有形的代價。另外還有無形的代價,即要占
有更多的資源。軟件維護費用增加的占有原因是軟件維護的生產率
非常低。軟件維護的流程是什么?
答:軟件維護的流程如下:知道維護申請報告、審查申請報告并批
準、運行維護并做詳細記錄、復審。軟件維護的副作用有哪些?答:
維護的副作用有以下三種:
(1)編碼副作用。在使用程序設計語言修改源代碼時可能引入的錯
誤。
(2)數據副作用。在修改數據結構時,有可能造成軟件設計與數據
結構不匹配,因而導致軟件錯誤。數據副作用是修改軟件信息結構
導致的結果。但它可以通過詳細的設計文檔加以控制。(3)文檔副
作用。如果對可執行軟件的修改沒有反映在文檔中,就會產生文檔
副作用。
什么是軟件可維護性?可維護性度量的特性是什么?
答:軟件可維護性的定義:軟件能夠被理解、校正、適應及增強功
能的容易程度。軟件的可維護性可用以下七個質量特性來衡量,即
可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和
效率。
提高可維護性的方法有哪些?答:(1)建立明確的軟件質量目標。
(2)使用先進的軟件開發技術和工具。(3)建立明確的質量保證。
(4)選擇可維護性的程序設計語言。(5)改進程序的文檔。第九
章習題參考答案
漸增模型有幾種?各有何特點?
答:漸增模型有兩種類型,一是增量構造模型,二是演化提交模型。
增量構造模型是在瀑布模型基礎上,對一些階段進行整體開發,對
另一些階段進行增量開發。演化提交模型則是在瀑布模型的基礎上,
所有階段都進行增量開發,不僅是增量開發,也是增量提交。
2、快速原型模型有幾種,各有什么特點?
答:快速原形模型根據原型的不同作用,有三類原型模型:探索型
原型:把原型用于開發的需求分析階段,目的是要弄清用戶的需求,
確定所期望的特性,并探索各種方案的可行性。它主要針對開發目
標模糊,用戶與開發者對項目都缺乏經驗的情況,通過對原型的開
發來明確用戶的需求。
實驗型原型:主要用于設計階段,考核實現方安是否合適,能否實
現。對于一個大型系統,若對設計方案心中沒有把握時,可通過這
種原型的開發來證實設計方案的正確性。
(3)演化型原型:它將原型思想擴展到軟件開發的全過程,就是及早
向用戶提交一個原型系統,在得到用戶認可后,將原型系統不斷擴
充演化為最終的軟件系統。快速原型的開發步驟是什么?答:快速
原型的開發步驟是:(1)快速分析:在分析人員與用戶的配合下,
迅速確定系統基本需求并開始構造原型。(2)構
造原型:在快速分析的基礎上,根據基本需求說明盡快實現一
個可運行的系統。(3)運行原型:通過運行快速原型,發現問題,
消除誤解,達到開發者也用戶的充分協調。(4)評價原型:在運行
的基礎上,評價原型的特性,分析運行效果是否滿足用戶的需求,
提出全面的修改意見。(5)修改:根據評價原型的活動結果進行修
改,修改過程代替初始的快速分析,從而實現原型開發的循環過程。
用戶與開發者在這種循環過程中不斷接近系統的最終要求。上述步
驟在軟件工具的支持下往往是互相交融在一起的,而不再象瀑布模
型那樣嚴格的階段劃分,線性推進。
評價快速原型模型的優缺點。答:快速原型的優點是:(1)可及
早為用戶提供有用的產品。(2)可及早發現問題,隨時糾正錯誤。
(3)減少技術、應用風險,縮短開發時間,減少費用、提高生產率。
(4)通過實際運行原型,提供直接評價系統的方法,促使用戶主動
參與開發活動,加強了信息反饋,促進各類人員的協調,減少誤解,
適應需求變化,能有效提高系統質量。快速原型的缺點是:1.缺乏豐
富而強有力的軟件工具和開發環境。2.缺乏有效的管理機制,還未
建立起自己的開發標準。3.對設計開發環境要求較高。(4)在多次重
復改變原型的過程中,程序員會感到厭倦。(5)系統的易變性對測試
有一定影響,難于做到徹底測試,更新文檔較為困難。
4、比瀑布模型與增量模型,指出增量模型的新思路。答:瀑布模型
屬于整體開發模型,它規定在開始下一個階段的工作之前,必須完
成前一階段的所有細節。瀑布模型很難適應需求可變、模糊不定的
軟件系統的開發,而且在開發過程中用戶很難參與進去,只有到開
發結束才能看到整個軟件系統。這種理想的、線性的開發過程缺乏
靈活性,不適應實際的開發過程。增量模型是在瀑布模型的基礎上
加以修改而形成的。屬于非整體開發模型。
它的基本思路是為了使開發過程具有一定的靈活性和可修改性,在
開發過程中推遲某些階段或所有階段中的細節,從而較早的產生工
作軟件。第十章習題參考答案
說明對象、類、類結構、消息的基本概念。
答:(1)對象:對象是人們要進行研究的任何事物,它不僅能表示具
體的事物,還能表示抽象的規則、計劃或事件。對象包括有形實體、
作用、事件、性能說明等類型。對象具有狀態和行為。一個對象用
數據值來描述它的狀態,對象的操作則用于改變狀態,對象及其操
作就是對象的行為。對象實現了數據和操作的結合,使數據和操作
封裝于對象的統一體中。對象內的數據具有自己的操作,從而可靈
活地專門描述對象的獨特行為,具有較強的獨立性和自治性,其內
部狀態不受或很少受外界的影響,具有很好的模塊化特點。為軟件
重用奠定了堅實的基礎。(2)類:具有相同或相似性質的對象的抽象
就是類。因此,對象的抽象就是類,類的具體化就是對象,也可以
說類的實例是對象。(3)類結構:類與類之間的結構關系,包括一般?
具體結構關系和整體?部分結構關系。一般?具體關系結構稱為分類結
構,也可以說是或關系或isa關系,類的這種層次結構可用來描述
現實世界中的一般化的抽象關系,通常越在上層的類越具有一般性
和共性,越在下層的類越具體、越細化。整體?部分結構稱為組裝結
構,它們之間的關系是一種與關系,或者是hasa關系。類的這種
層次關系可用來描述現實世界中的類的組成的抽象關系。上層的類
具有整體性,下層的類具有成員性。在類的層次結構中,通常上層
的類稱為父類或超類,下層類稱為子類。(4)消息:對象之間進行通
信的構造叫做消息。在對旬的操作中,當一個消息發送給某個對象
時,消息包含接收對象去執行某種操作的信息。接收消息的對象經
過解釋,然后給予響應。這種通信機制稱為消息傳遞。發送一條消
息的格式是對象名.方法名(參數)o
說明面向對象的特征和要素。答:面向對象的特征是:(1)對象
唯一性。每個對象都有自身唯一的標識,在對象生存期中,其標識
不變,不同的對象不能有不同的標識。(2)分類性。是指將具有一
致的數據結構(屬性)和行為(操作)的對象抽象成類(3)繼承性。是子
類自動共享父類數據結構和方法的機制,這是類之間的一種關系。
(4)多態性。是指相同的操作或函數過程可以作用于多種類型的對
象上并獲得不同的結果。面向對象的要素是:1.抽象。2.封裝性(信
息隱蔽)(3)共享性。說明動態模型的特征,說明事件,腳本、狀態
的含義。
答:動態模型是與時間和變化有關的系統性質,該模型描述了系統
的控制結構,它表示了瞬時的、行為化的系統控制性質,
它關心的是系統的控制,操作的執行順序,它從對象的事件和狀態
的角度出發,表現了相互行為。事件是指特定時刻發生的某件事情,
它是某事情發生的信號,它沒有持續時間,它是一種相對性的快速
事件。腳本是完成系統某個功能事件序列,側重于表達說明發生于
系統執行過程中的一個特定場景,用事件跟蹤圖表達。狀態是對象
屬性值的抽象。狀態指明了對象對輸入事件的響應。
說明功能模型的特征,比較功能模型的dfd和結構化方法的dfd異
同。
答:功能模型描述了系統的所有計算。功能模型指出發生了什么,
動態模型確定什么時候發生,而對象模型確定發生的客體。功能模
型表明一個計算如何從輸入值得到輸出值,它不考慮所計算的次序。
功能模型由多張數據流圖組成。數據流圖說明數據流是如何從外部
輸入、經過操作和內部存儲輸出到外部的。功能模型也包括對象模
型中值的約束條件。
說明三種分析模型的關系。答:三種分析模型之間關系是這樣的:
功能模型指出發生了什么,動態模型確定什么時候發生,而對象模
型確定發生的客體。說明對象建模的過程。
答:對象建模的過程如下:首先標識類和關聯,因為它們影響了整
體結構和解決問題的方法,其次是增加屬性,進一步描述類和關聯
的基本網絡,使用繼承合并和組織類,最后將操作增加到類中去作
為構造動態模型和功能模型的副產品。(1)確定類。構造對象模型的
第一步是標出來自問題域的相關對象類,包括物理實體和概念。所
有類在應用中都必須有意義。檢查問題陳述中的所有名詞,產生暫
定類。然后去掉不必要的類和不正確的類。(2)準備數據字典。為所
有建模實體準備一個數據詞典。準確描述各個類的精確含義,描述
當前問題中的類的范圍,包括對類的成員、用法方面的假設或限制。
1.確定關聯。兩個或多個類之間的相互依賴就是關聯。從問題中抽取
所有可能的關聯表示,把它們記下來,但不要過早去細化這些表述。
2.確定屬性。屬性是個體對象的性質,通常用修飾性的名詞詞組來表
示。只考慮與具體應用直接相關的屬性,不考慮那些超出問題范圍
的屬性,首先找出重要屬性,避免那些只用于實現的屬性,要為各
個屬性取有意義的名字。3使用繼承來細化類。4,完善對象模型。
說明功能建模的過程。答:功能建模的過程如下:(1)確定輸入、
輸出值(2)建立數據流圖
10、說明對象設計的步驟。
答:對象設計要確定實現用到的類、關聯的完整定義,接口的形式
以及實現操作方法的算法,可以增加實現必須的內部對象,對數據
結構和算法進行優化。1.獲得操作2確定操作的目標對象3.算法設
計4.優化設計5.控制的實現6調整繼承⑺關聯的設計
第H—章習題參考答案
軟件質量與軟烝質量保證的含義是什么?
答:從實際應用來說,軟件質量定義包括三個一致性:1.與所確定
的功能和性能需求的一致性;(2)與所成文的開發標準的一致性;3.
與所有專業開發的軟件所期望的隱含特性的一致性。4.軟件質量保證
是指確定、達到和維護所需要的軟件質量而進行的所有有計劃、有
系統的管理活動。影響軟件質量的因素有哪些?答:影響軟件質量
的因素分為可以直接度量的因素(如單位時間內千行代碼中所產生的
錯誤)和只能間接度量的因素(如可用性和可維護性)。
什么是軟件質量保證策略?軟件質量保證的主要任務是什么?答:軟
件質量保證策略是指軟件質量保證工作的過程和側重點。質量保證
的主要任務包括以下幾點:1.正確定義用戶的要求。2,技術方法的應
用。3,提高軟件開發的工程能力。4.軟件的復用。5.發揮每個開發
者的能力。6.組織外部力量協作。7.排除無效勞動。(8)提高計劃和
管理質量。程序復雜性的度量方法有哪些?
答:軟件復雜性的度量方法有:1.代碼行度量法:以源代碼行數作
為程序復雜性的度量。2、mccabe度量法:一種基于程序控制流的
復雜性度量方法。
能是軟件的可靠性?它們能否定量計算?
答:軟件可靠性是指在給定的時間內,在規定的環境條件下系統完
成所指定功能的概率。衡量軟件可靠性的兩個常用指標是平均失效
等待時間mttf和平均失效間隔時間mtbfo就是說可以定量計算。
7、說明容錯軟件的定義與容錯的一般方法。
答:容錯軟件的定義有四種,指規定功能的軟件,(1)在一定程度上
對自身錯誤的作用具有屏蔽能力的軟件。(2)在一定程度上能從錯誤
狀態自動恢復到正常狀態的軟件。(3)在因錯誤而發生錯誤時,仍然
能在一定程度上完成預期的功能的軟件。(4)在一定程度上具有容錯
能力的軟件。
實現容錯技術的主要手段是冗余。冗余通常分為四類:1.結構冗余,
又分為靜態、動態和混合冗余三種。2.信息冗余3.時間冗余(4)冗余
附加技術第十二章習題參考答案
軟件工程管理包括哪些內容?
答:軟件工程管理的具體內容包括對開發人員、組織機構、用戶、
文檔資料等方面的管理。
2、軟件項目計劃中包括哪些內容?
答:軟件項目計劃內容包括:1.范圍2.資源3.進度安排4成本估算
(5)培訓計劃
3、軟件開發成本估算方法有哪幾種?答:軟件開發成本估算的方法
主要有:(1)自頂向下估算方法(2)自底向上估算方法(3)差別
估算方法
以及專家估算法、類推估算法、算式估算法等幾類方法。4、什么
是軟件配置管理?什么是基線?
答:軟件配置管理,簡稱scm(softwareconfiguration
management),是指一組管理整個軟件生存期各階段中變更的活動。
軟件配置管理技術可以使軟件變更所產生的錯誤達到最小并最有效
地提高生產率。
基線:是軟件生存期中各開發階段的一個特定點,它的作用是把開
發各階段工作的劃分更加明確化,使本來連續的工作在這些點上斷
開,以便于檢查與肯定階段成果。
5、軟件工程標準化的意義是什么?都有哪些軟件工程標準?答:軟
件工程標準化可以為軟件工程各個階段的活動提供統一的行動規范
和衡量準則,使得各種工作都能有章可循。軟件工程標準根據其制
定機構與適用范圍,可分為:1?國際標準2.國家標準3.行業標準4.
企業規范5、項目(課題)規范6、請說明軟件文檔的作用?
答:軟件文檔的作用是:1,提高軟件開發過程的能見度;2.提高開發
效率;3,作為開發人員階段工作成果和結束標志;4.記錄開發過程的
有關信息便于使用與維護;5.提供軟件運行、維護和培訓有關資料;
6.便于用戶了解軟件功能、性能。第十三章習題參考答案
1、什么是軟件開發環境?請列出其發展情況。
答:軟件開發環境是指在計算機的基本軟件的基礎上,為支持軟件
的開發而提供的一組工具軟件系統。具體地說,軟件開發環境是一
組相關工具的集合。這些相關工具按一定的開發方法或一定開發處
理模型組織起來的,這些相關工具支持整個軟件生存期的各階段或
部分階段。軟件開發環境的發展階段:
(1)70年代,軟件開發與設計方法出現了結構化分析技術的一整套相
互銜接的sa-sd的方法學。與此相適應的計算機輔助軟件工程技術
則主要由開發孤立的軟件工具而逐步向程序設計環境的開發和使用
方向發展,出現了第一代的基于正文的case工具。
(2)80年代中期與后期,主要是實時系統設計方法,以及面向對象的
分析和設計方法的發展,它克服了結構化技術的缺點。在這期間開
發了第二代的case工具,其特點是支持使用圖形表示的結構化方法,
如數據流圖與結構圖。其開發環境表現在提高環境中工具的集成性
方面,如集成的項目支持環境。(3)80年代后期和90年代初期出現
了基于信息工程case技術,這種環境集成了用于項目計劃、分析、
設計、編程、測試和維護的一個工具箱的集合。
(4)90年代出現一系列集成的case軟件產品,用以實現需求管理、
應用程序分析設計和建模、編碼、軟件質量保證和測試、過程和項
目管理及文檔生成管理等軟件開發工作的規范化、工程化和自動化。
2、請敘述軟件開發環境的分類。答:軟件開發環境可按解決的問題、
軟件開發環境的演變趨向和集成化程度進行分類:(1)按解決的問題
可分為:程序設計環境、系統合成環境、項目管理環境三類。(2)按
軟件開發環境的演變趨向可分為:以語言為中心的環境、工具箱環
境和基于方法的環境三類。(3)按集成化程度有第一代、第二代、第
三代的開發環境。
3、何謂軟件工具?通常包含哪幾部分?答:軟件工具的定義是:可
用來幫助和支持軟件需求分析、軟件開發、測試、維護、模擬、移
植或管理而編制的計算機程序或軟件。軟件工具是一個程序系統。
軟件工具通常由工具、工具接口和工具用戶接口三
【篇三:軟件工程課后題答案】
說明軟件工程研究的內容。
軟件工程研究的內容包括軟件開發方法、軟件開發模型、軟件支持
過程和軟件管理過程。其中軟件開發方法的內容又涵蓋市場調研、
正式立項、需求分析、項目策劃、概要設計、詳細設計、編程、測
試、試運行、產品發布、用戶培訓、產品復制、銷售、實施、系統
維護、版本升級。常用的軟件開發模型有瀑布模型、迭代模型、增
量模型和原型模型。軟件支持過程由所支持的case工具組成,常用
的case工具有
powerdesigner和rationalrose。軟件管理過程主要有cmmi>
iso9000、微軟企業文化和敏捷文化
現象。
1-3請讀者詳細解釋軟件的定義和程序的定義。
軟件的定義:軟件=程序+數據+文檔,這里的程序是指程序系統。
這里的數據不僅包括初始化數據、測試數據,而且包括研發數據、
運行數據、維護數據,也包括軟件企業積累的項目工程數據和項目
管理數據中的大量決策原始記錄數據。這里的文檔指的是軟件開發
過程中的分析、設計、實現、測試、維護文檔、管理文檔。
現在有一種新提法正在引起關注,這種提法是:軟件=知識+程序
+數據+文檔。程序是計算機為完成特定任務而執行的指令的有序
集合。從應用的角度可理解為:面向過程的程序=算法+數據結構
面向對象的程序=對象+信息面向構件的程序=構件+構架。
1?5.讀者同意“四種開發方法”和“五個面向理論”的提法嗎?為什么?
“四種開發方法”是指“面向過程的方法、面向對象的方法、面向數據
的方法、形式化方法,面向過程的方法來源于面向過程的程序設計,
面向對象的方法來源于面向對象的程序設計,面向數據的方法就是
面向元數據的方法,它來源于關系數據庫程序設計,形式化方法來
源于離散數學中的集合運算和邏輯運算。四種方法各適用于不同的
場合,各有優缺點,互相促進,構成一個開發方法論的多極化世界。
“五個面向理論”是指“面向流程分析、面向數據設計、面向對象實現、
面向功能測試、面向過程管理力它是在綜合“四種開發方法”各自的
優點之后提出的軟件工程實施理論,是對前者的繼承與發展。總之,
上述提法既精彩又實用。
1-6怎樣理解軟件工程的支持過程?
軟件工程的支持過程是由支持軟件生存周期各個階段的生產工具所
組成。就是說將一個軟件的生存周期劃分為市場調研、立項、需求
分析、策劃、概要設計、詳細設計、編程、單位測試、集成測試、
運行、維護這幾個過程中,在這些過程中需要配套的工具來支持,
比如需求分析工具、設計工具、實現工具、測試工具、維護工具、
配置工具,開發環境等。
第二章:
2-1.為什么要選擇軟件開發模型?軟件開發模型與軟件生存周期有
什么關系?
因為軟件開發模型是軟件工程研究的四大內容之一,它雖然不是軟
件工程研究的重點,但是在宏觀上特別重要。軟件公司的項目組在
開發一個大項目或產品時,首先在技術上必須選擇一個開發模型,
使開發模型非常適合這個項目或產品的生存周期;隨后通過對生存
周期的裁減,來給出適合與本項目或產品的軟件生存周期定義。
軟件的開發模型與軟件生存周期有關:不同的開發模型,可能對應
著不同的生存周期。生存周期不同,該軟件的開發階段劃分、評審
次數、基線標準都有所不同,甚至維護方法都有所區別。
2-2.簡述瀑布模型、增量模型、迭代模型、原型模型的優缺點。
答案如表8-2所示:
表8-2開發模型優缺點
3-2立項的具體表現形式是什么?
企業的市場銷售部門在市場調研的基礎上,分析該產品是否有市場
前景,以及企業是否有能力開發出該產品,并具體列出系統的功能、
性能、接口和運行環境等方面的需求情況,當前客戶群和潛在客戶
群情況,以及投入產出分析,然后寫出立項建議書,召開立項論證
會,決定是否立項。
3-3立項書的編制者為什么主要是軟件公司的市場銷售人員,而不是
開發人員?
軟件開發出來終歸要推向市場的,軟件能不能被市場接受是軟件開
發成功的標準。市場銷售人員長期和市場客戶打交道,他們最了解
客戶和市場的需求,最知道什么樣的產品具有巨大商機。
第四章:
4-2.需求分析的目的是什么?需求分析的難點在哪里?
軟件需求分析,其目的是用于說明軟件產品或軟件項目需要滿足的
條件和限制。在軟件工程項目中首先要獲取用戶的需求,通過對軟
件需要的提取、分析、文檔化以及驗證,為進一步的設計和實現提
供
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能駕駛技術與自動化交通系統考核試卷
- 空調器安裝適應性設計考核試卷
- 纖維板制造中的清潔生產技術與實施考核試卷
- 煙草制品零售法律法規變動影響考核試卷
- 行業發展趨勢考核試卷
- 租賃圖書的物流配送管理考核試卷
- 美術活動:動物的外衣
- 婚姻忠誠協議附件清單與效力保障合同
- 藝人彩妝品牌代言合作協議
- 兒童監護權變更后探視安排調整合同
- 事業單位公開招聘分類考試公共科目筆試考試大綱(2025版)
- 汽車路試協議書
- 2023年甘肅省榆中縣事業單位公開招聘筆試題帶答案
- 2025全員安全培訓考試試題及完整答案(考點梳理)
- 高考考務人員培訓系統試題答案
- 【MOOC】設計的力量-湖南大學 中國大學慕課MOOC答案
- 2019譯林版高中英語全七冊單詞總表
- 人工智能導論智慧樹知到課后章節答案2023年下哈爾濱工程大學
- 2018年江蘇省揚州市中考英語試題(含答案)
- 投標書(--總醫院護理保障服務)
- 2019年上海市中考地理試題卷附答案詳析
評論
0/150
提交評論