




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程習題解答第一章 概述1.軟件產(chǎn)品的特性是什么? a.軟件產(chǎn)品是一種邏輯產(chǎn)品。 b.軟件產(chǎn)品的生產(chǎn)主是研制,軟件產(chǎn)品的成本主要體現(xiàn)在軟件的開發(fā)和研制上,軟件開發(fā)完成后,復制就產(chǎn)生了大量軟件產(chǎn)品。 c.軟件產(chǎn)品不會用壞,不存在磨損、消耗問題。 d.軟件產(chǎn)品的生產(chǎn)主要是腦力勞動,還未完全擺脫手工開發(fā)方式,而且碰分是"定做"的。 e.軟件費用不斷增加,成本相當昂貴。2.軟件產(chǎn)品有幾個階段?各有何特征?階段A.程序設計時代(1946-1956)B.程序系統(tǒng)時代(1956-1968)C.軟件工程時代(1968-今)生產(chǎn)方式個體手工勞動小集團合作生產(chǎn)工程化的生產(chǎn)工具機器語言、匯編
2、高級語言數(shù)據(jù)庫、開發(fā)工具、開發(fā)環(huán)境、網(wǎng)絡、 分布式、面向?qū)ο蠹夹g開發(fā)方法追求編和技巧,追求程序運行效率個人技巧,開始提出結構化方法硬件特征價格貴、存儲容量小、運行可靠性差速度、容量、工作可靠性有明顯提高,價格降低,銷售有爆炸性增長向超高速、大容量、微型化以及網(wǎng)絡化方軟件特征只有程序、程序設計概念,不重視程序設計方法程序員數(shù)量猛增,已意識到軟件開發(fā)的重要性,開發(fā)技術沒有新的突破,大量軟件開發(fā)的需求已提出,開發(fā)人員的素質(zhì)和工程兵的開發(fā)技術不適應規(guī)模大、結構復雜的軟件開發(fā),產(chǎn)生了尖銳矛盾,導致軟件危機的產(chǎn)生開發(fā)技術有很大進步,但未能獲得突破性進展,軟件價格不斷上升,沒有完全擺脫軟件危機3.
3、什么是軟件危機?其產(chǎn)生的原因是什么? 軟件危機:軟件發(fā)展第二階段的末期,由于計算機硬件技術的進步。一些復雜的、大型的軟件開發(fā)項目提出來了,但,軟件開發(fā)技術的進步一直未能滿足發(fā)展的要求。在軟件開發(fā)中遇到的問題找不到解決的辦法,使問題積累起來,形成了尖銳的矛盾,因而導致了軟件危機。主要表現(xiàn)在以下幾個方面: a.經(jīng)費預算經(jīng)常突破,完成時間一再拖延。 b.開發(fā)的軟件不通滿足用戶要求。 c.開發(fā)的軟件可維護性差。 d. 開發(fā)的軟件可靠性差。軟件危機產(chǎn)生的原因是由于軟件產(chǎn)品本身的特點以及開發(fā)軟件的方式、方法、技術和人員引起的:a.軟件的規(guī)模越來越大,結構越來越復雜。b.軟件開發(fā)管理困難而復雜。c.軟件開發(fā)
4、費用不斷增加。d.軟件開發(fā)技術落后。e.生產(chǎn)方式落后。f.開發(fā)工具落后,生產(chǎn)率提高緩慢。4.什么是軟件工程?它的目標和內(nèi)容是什么?軟件工程:用科學知識和技術原理來定義、開發(fā)、維護軟件的一門學科。軟件工程的目標是成功的建造一個大型軟件系統(tǒng),所謂成功是要達到以下幾個目標:a.付出較低的開發(fā)成本;b.面到要求的軟件功能;c.取得較好的軟件性能;d.開發(fā)的軟件易于移植;e.需要較低的維護費用;f.能按時完成開發(fā)任務,及時交付使用;g.開發(fā)的軟件可靠性高;軟件工程的內(nèi)容:) 軟件開發(fā)技術:軟件開發(fā)方法、軟件開發(fā)過程、軟件開發(fā)工具和環(huán)境。) 軟件開發(fā)管理:軟件管理學、軟件經(jīng)濟學、軟件心理學。5.軟件工程面
5、臨的問題是什么?軟件工程面臨的問題: a.軟件費用。b.軟件可靠性。c.軟件維護。d.軟件生產(chǎn)率。e.軟件重用。6.什么是軟件生存周期?它有哪幾個活動? 軟件生存周期:一個軟件從提出開發(fā)要求開始直到該軟件報廢為止的整個時期。軟件生存周期包括:可行性分析和項目開發(fā)計劃、需求分析、概要設計、詳細設計、編碼、測試、維護等.7.什么是軟件生存周期模型?有哪些主要模型?軟件生存周期模型:是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。(模型:是為了理解事物而對事物做出一種抽象,它忽略不必要的細節(jié),它也是事物的一種抽象形式、一個規(guī)劃、一個程式。)軟件生存周期主要模型:瀑布模型、增量模型、螺旋模型、噴泉模型、變
6、換模型和基于知識的模型等9.什么是軟件開發(fā)的方法?有哪些主要方法?軟件開發(fā)的方法:是一種使用早已定義好的技術集及符號表示習慣來組織軟件生產(chǎn)的過程。主要方法:結構方法、Jackson方法、維也納開發(fā)方法()、面向?qū)ο蟮拈_發(fā)方法。第二章 可行性研究1.可行性研究的任務是什么?a.技術可行性: 考慮的因素(1).開發(fā)的風險(2)資源的有效性(3)技術(4)開發(fā)人員在主段技術可行性時,一旦估計錯誤,將會出現(xiàn)災難性后果。b.經(jīng)濟可行性。c.社會可行性。2、可行性研究有哪些步驟?a.確定項目規(guī)模和目標b.研究正在運行的系統(tǒng)c.建立新系統(tǒng)的高層邏輯模型d.導出和評價各種方案e.推薦可行的方案f.編寫可行性研
7、究報告3、可行性研究報告有哪些就要內(nèi)容?a.引言b.可行性研究前提c.對現(xiàn)有系統(tǒng)的分析d.所建議系統(tǒng)的技術可行性分析e.所建議系統(tǒng)的經(jīng)濟可行性分析 f.社會因素可行性分析g.其他可供選擇方案h.結論意見4.成本-效益分析可用哪些指標進行度量? 有形效益度量: a.貨幣的時間價值 b.投資回收期 c.純收入 無形效益:主要從性質(zhì)上、心理上進行衡量,很難直接進行量的比較。通常以有形效益度量作為成本-效益分析的度量。5.項目開發(fā)計劃有哪些內(nèi)容?a.項目概述 b.實施計劃c.人員組織及分工d.交付期限第三章 需求分析1.什么是需求分析?需求分析階段的基本任務是什么?需求分析是指:開發(fā)人員要準確理解用戶
8、的要求,進行細致的調(diào)查分析,將用戶非形式的需求陳述轉(zhuǎn)化為完整的需求定義,再由需求定義轉(zhuǎn)換到相應的形式主義功能規(guī)約(需求規(guī)格說明)的過程。需求分析階段的基本任務是: (1) 問題識別:雙方對問題的綜合需求:a.功能需求b.性能需求c.環(huán)境需求d.用戶界面需求. (2) 分析與綜合,導出軟件的邏輯模型. (3) 編寫文檔2.什么是結構化分析方法?該方法使用什么描述工具? 結構化分析方法:是面向數(shù)據(jù)漢進行需求分析的方法。 描述工具:a、數(shù)據(jù)流圖b、數(shù)據(jù)字典c、描述加工邏輯的結構化語言、判定表、判定樹。3.結構化分析方法通過哪些步驟來實現(xiàn)?結構化分析方法步驟: a.了解當前系統(tǒng)的工作流程,獲得當前系統(tǒng)
9、的物理模型. b.抽象出當前系統(tǒng)的邏輯模型. c.建立上標系統(tǒng)的邏輯模型. d.作進一步補充和優(yōu)化.4.什么是數(shù)據(jù)流圖?其作用是什么?其中的基本符號各表示什么含義?數(shù)據(jù)流圖:簡稱DFD,是SA(結構化分析)方法中用于表示系統(tǒng)邏輯模型的一種工具,是一種功能模型。作 用:它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,反映系統(tǒng)必須完成的邏輯功能.基本符號有四種: ,箭頭,表示數(shù)據(jù)流; ,圓或橢圓,表示加工; =,雙杠,表示數(shù)據(jù)存儲;,方框,表示數(shù)據(jù)的源點或終點.5.畫數(shù)據(jù)流圖應該注意什么事項?畫數(shù)據(jù)流圖注意事項: a.命名.不論是數(shù)據(jù)流數(shù)據(jù)存儲還是加工,合適的命名使人們易于理解基含義 b.畫數(shù)據(jù)流
10、而不是控制流 c.一般不畫物質(zhì)流 d.每個加工到少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流,反映出此加工數(shù)據(jù)的來源與加工的結果 e.編號 f.父圖與子圖的平衡 g.局部數(shù)據(jù)存儲 h.提高數(shù)據(jù)流圖的易理解性6.什么是字據(jù)字典?其作用是什么?它有哪些條目?字據(jù)字典:簡稱,就是用來定義數(shù)據(jù)流圖中的各個成分具體含義的,它以一種準確的無二義 性的說明方式為系統(tǒng)的分析設計及維護提供了有關元素的一致的定義和詳細的描述.作 用:1)為系統(tǒng)的分析設計及維護提供了有關元素的一致的定義和詳細的描述. 2)為分析人員查找數(shù)據(jù)流圖中有關名字的詳細定義而服務的. 3)它和數(shù)據(jù)流圖共同構成了系統(tǒng)的邏輯模型,是需求規(guī)格說明書的主要組
11、成部分. 條 目:數(shù)據(jù)流、數(shù)據(jù)項、數(shù)據(jù)存儲、基本加工。7.描述加工邏輯有哪些工具?a,結構化語言b,判定表c.判定樹8.什么是IDEF方法?IDEF0方法有什么特點? IDEF方法:是美國空軍在1981年針對集成化計算機輔助制造(Integrated Computer Aided Manufacturing,簡稱ICAM)工程項目中用于進行復雜系統(tǒng)分析和設計的方法,是在結構化分析與設計技術的基礎上提出來的。 IDEF是ICAM Definition的縮寫。 IDEF0方法特點: a.采用方框和箭頭等簡單的圖形符號描述系統(tǒng)的活動和數(shù)據(jù)流,描述活動所受到的約束及實現(xiàn)機制。b.采用嚴格的自頂向下、逐
12、層分解的方式建立系統(tǒng)功能模型。9、簡述SA方法的優(yōu)缺點。優(yōu)點:1)公認的、有成效的、技術成熟、使用廣泛的一種方法,比較適合于開發(fā)數(shù)據(jù)處理類型軟件的需求分析。 2)該方法利用圖形等半形式化工具表達需求,簡明、易讀,也易于使用,為后一階段的設計、測試、 評價提供了有利條件。 缺點:1)傳統(tǒng)的SA方法主要用于數(shù)據(jù)處理方面的問題,主要工具DFD體現(xiàn)了系統(tǒng)"做什么"的功能,但它僅是一個靜態(tài)模型,沒有反映處理的順序,即控制流程。因此,不適合描述實時控制系統(tǒng)。2)SA方法在使用DFD在分析與描述"數(shù)據(jù)要求"方面是有局限的。3) DFD不適合描述人機界面系統(tǒng)的要求。4)
13、為了更精確地描述軟件包需求,提高軟件系統(tǒng)的可靠性、安全性,也便于實現(xiàn)自動化,SA方法可與形式方法結合起來。10.某銀行的計算機儲蓄系統(tǒng)功能是:將儲戶填寫的存款單或取款單輸入系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名、住址、存款類型、存款日期、利率等信息,并打印出存款單給儲戶;如果是取款,系統(tǒng)計算清單儲戶。請用DFD和IDEF0描繪該功能的需求,并建立相應的數(shù)據(jù)字典。 (1)數(shù)據(jù)流條目:數(shù)據(jù)流名稱:存款單別 名:無簡 述:儲戶存款時填寫的項目來 源:儲戶去 向:記帳數(shù)據(jù) 流 量:未知組 成:姓名+住址+存款類型+存款日期+利率數(shù)據(jù)流名稱:取款單別 名:無簡 述:儲戶取款時填寫的項目來 源:儲戶去 向:
14、統(tǒng)計數(shù)據(jù) 流 量:未知組 成:姓名+住址+取款類型+取款日期+利率數(shù)據(jù)流名稱:清單別 名:無簡 述:儲戶取款后得到的項目來 源:記錄去 向:儲戶數(shù)據(jù) 流 量:未知組 成:姓名+住址+取款類型+取款日期+利率+余額 (2)數(shù)據(jù)存儲條目:數(shù)據(jù)存儲名稱:賬單別 名:無簡 述:存放儲戶信息及其賬目組 成:姓名+住址+余額+存款類型+最后修改日期+利率組 織 方 式:未知查 詢 要 求:能立即查詢 (3)數(shù)據(jù)項條目: 未知 (4)加工條目:加工 名:分類檢查編 號:無激發(fā)條件:接收到存/取款單優(yōu) 先 級:優(yōu)先輸 入:存/取款單輸 出:存/取款單加工邏輯:IF 存款單 THEN 把存款單輸出到統(tǒng)計 ELS
15、E 把取款單輸出到統(tǒng)計 ENDIF加工 名:統(tǒng)計編 號:無激發(fā)條件:取款單優(yōu) 先 級:無輸 入:取款單輸 出:清單加工邏輯:根據(jù)賬單檢查此儲戶是否存在,不存在輸出錯誤 IF 取款數(shù)<余額 THEN 余額=余額-取款數(shù) 輸出清單到儲戶,輸出現(xiàn)金到儲戶 ELSE 輸出錯誤清單到儲戶 ENDIF加工 名:記錄編 號:無激發(fā)條件:存款單優(yōu) 先 級:無輸 入:存款單輸 出:存款單加工邏輯:根據(jù)賬單檢查此儲戶是否存在,不存在則建立此儲戶 余額=余額+存款數(shù) 輸出存款單到儲戶 11.某圖書管理系統(tǒng)工程有以下功能:(1)借書:輸入讀者借書證。系統(tǒng)首先檢查借書證是否有效,對于第一次借書的讀者,在借書文件建
16、立檔案。否則,查閱借書文件,檢查該讀者所借圖書是否超過10本,若已達10本,拒借,未達10本,辦理借書(檢查庫存、修改庫存目錄并將讀者借書情況登入借書文件).(2)還書:從借書文件中讀出與讀者有關的記錄,查閱所借日期,如果超期(3個月)作罰款處理。否則,修改庫存目錄與借書文件。(3)查詢:可通過借書文件、庫存目錄文件查詢讀者情況、圖書借閱情況及庫存情況,打印各種統(tǒng)計表。請就以上系統(tǒng)功能畫出分層的DFD圖,并建立重要條目的數(shù)據(jù)字典。12.某廠對部分職工重新分配工作的政策是:年齡在伙歲以下者,初中文化程度脫產(chǎn)學習。高中文化程度當電工;年齡在20歲到40歲之間者,中學中學文化程度男性當鉗工,女性當車
17、工,大學文化程度都當技術員。年齡在40歲以上者,中學文化程度當材料員,大學文化程序當技術員。請用結構化語言、判定表或判定樹描述上述問題的加工邏輯。(1)結構化語言: 根據(jù)職工年齡和文化程序: REPEATIf 年齡<=20 If 初中文化 Then 脫產(chǎn)學習 endifelse if 高中文化 Then 電工 endifendifIf 20<年齡<40If 中學文化 If 男性
18、60;Then 鉗工 Else車工Endifelse if 大學文化 Then 技術員 endifendifendifIf 年齡>=40If 中學文化 Then 材料員else if 大學文化 Then 技術員 endifendifendifUntil 沒有剩余未分配員工判定表1234567891011年齡CCDDDDDEEE文化GHHGGHIGHI性別-MMFF-脫產(chǎn)學習電工鉗工車工技術員材料員條件取值表條件名取值符號取值數(shù)年齡<=
19、20CM1=3>20,<40D>=40E文化程度中學GM2=3高中H大學I性別男MM3=2女F附加題:1、自學考試報名過程中有個“記錄報名單”的加工。該加工主要是根據(jù)報名表(姓名、 性別、身份證號、課程名)和開考課程(課程名、開考時間)、經(jīng)校核,編號、填寫、輸出準考證給報名者,同時記錄到考生名冊中(準考證號、姓名、課程)。請繪制該加工的DFD圖,并寫出數(shù)據(jù)詞典中的數(shù)據(jù)流條目。 答:數(shù)據(jù)流詞典 數(shù)據(jù)流條目: 報名單 = 姓名 + 性別 + 身份證號 + 課程名 開考課程 = 課程名 + 開考時間 考生名冊 = 準考證號 + 姓名 + 課程2、“決定比賽名單”這個加工,根據(jù)“運動
20、員名單”和“比賽項目”產(chǎn)生 “項目參加者”,如下圖所示,運動員名單要包括所在隊名,運動員編號號,運動員姓名,及參加的所有項目。請寫出這三個數(shù)據(jù)流條目。答:運動員名單隊名運動員號姓名項目 項目項目名 項目參加者項目名運動員號3、某旅館的電話服務如下: 可以撥分機號和外線號碼。分機號是從7201至7299。外線號碼先撥9,然后是市話號碼或長話號碼。長話號碼是以區(qū)號和市話號碼組成。區(qū)號是從100到300中任意的數(shù)字串。市話號碼是以局號和分局號組成。局號可以是455,466,888,552中任意一個號碼。分局號是任意長度為4的數(shù)字串。 要求:寫出在數(shù)據(jù)字典中,電話號碼的數(shù)據(jù)條目的定義(即組成)。答:電
21、話號碼=分機號外線號碼 分機號=7201.7299 外線號碼=9+市話號碼長話號碼 長話號碼=區(qū)號+市話號碼 區(qū)號=100.300 市話號碼=局號+分局號 局號=455466888552 分局號=4數(shù)字4 第四章 概要設計1.什么是軟件概要設計?該階段的基本任務是什么?軟件概要設計:在需求分析的基礎上通過抽象和分解將系統(tǒng)分解成模塊,確定系統(tǒng)功能是實現(xiàn),即把軟件需求轉(zhuǎn)換為軟件包表示的過程?;救蝿眨?(1)設計軟件系統(tǒng)結構(簡稱軟件結構) a.采用某種設計方法,將一個復雜的系統(tǒng)按功能劃分成模塊(劃分) b.確定模塊的功能。 (功能) c.確定模塊之間的調(diào)用關系。 (調(diào)用) d.確定模塊之間的接口
22、,即模塊之間傳遞的信息。 (接口) e.評價模塊結構的質(zhì)量。 (質(zhì)量) (2)數(shù)據(jù)結構及數(shù)據(jù)庫設計 a.數(shù)據(jù)結構設計 b.數(shù)據(jù)庫設計:(概念設計、邏輯設計、物理設計) (3)編寫概要設計文檔(文檔主要有:概要設計說明書、數(shù)據(jù)庫設計說明書、用戶手冊、修訂測試計劃) (4)評審2.軟件設計的基本原理包括哪些內(nèi)容?軟件設計的基本原理: (1)模塊化(四個屬性:接口、功能、邏輯、狀態(tài)) (2)抽象 (3)信息隱蔽 (4)模塊獨立性(兩個定性的度量標準:耦合性與內(nèi)聚性)3.衡量模塊獨立性的兩個標準是什么?它們各表示什么含義?兩個定性的度量標準:耦合與內(nèi)聚性耦合性:也稱塊間聯(lián)系。指軟件系統(tǒng)結構中各模塊間相
23、互聯(lián)系緊密程度的一種度量。模塊之間聯(lián)系越緊密,其耦合性就越強,模塊的獨立性則越差。內(nèi)聚性:也稱塊內(nèi)聯(lián)系。指模塊的功能強度的度量,即一個模塊內(nèi)部各個元素彼此結合的緊密程度的度量。模塊內(nèi)元素聯(lián)系越緊密,內(nèi)聚性越高。4.模塊間的耦合性有哪幾種?它們各表示什么含義? 耦合性有六種:無直接耦合、數(shù)據(jù)耦合、標記耦合、控制耦合、公共耦合、內(nèi)容耦合 無直接耦合:兩個模塊之間沒有直接的關系,它們分別從屬于不同模塊的控制與調(diào)用,它們之間不傳遞任何信息。 (無直接關系) 數(shù)據(jù)耦合:指兩個模塊之間有調(diào)用關系,傳遞的是簡單的數(shù)據(jù)值,相當于高級語言中的值傳遞。 (數(shù)據(jù)值 ) 標記耦合:指兩個模塊之間傳遞的是數(shù)據(jù)結構。 (
24、數(shù)據(jù)結構 ) 控制耦合:指控制模塊調(diào)用另一個模塊時,傳遞的是控制變量,被調(diào)用塊通過該控制變量的值有選擇地執(zhí)行塊內(nèi)某一功能(控制變量 ) 公共耦合:指通過一個公共數(shù)據(jù)環(huán)境相互作用的那些模塊間的耦合。 (一個公式數(shù)據(jù)環(huán)境) 內(nèi)容耦合:一個模塊直接使用另一個模塊的內(nèi)部數(shù)據(jù),或通過非正常入口而轉(zhuǎn)入另一個模塊內(nèi)部 (內(nèi)部數(shù)據(jù) )5.模塊的內(nèi)聚性有哪幾種?各表示什么含義?模塊間的內(nèi)聚性有6種:偶然內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚、功能內(nèi)聚。偶然內(nèi)聚:一個模塊內(nèi)的各處理元素之間沒有任何聯(lián)系。 邏輯內(nèi)聚:模塊內(nèi)執(zhí)行幾個邏輯上相似的功能,通過參數(shù)確定該模塊完成哪一個功能。時間內(nèi)聚:把需要同時執(zhí)行的動
25、作組合在一起。通信內(nèi)聚:指模塊內(nèi)所有處理元素都在同一個數(shù)據(jù)結構上操作,或者指各處理使用相同的輸入數(shù)據(jù)或產(chǎn)生相同的輸出數(shù)據(jù)。順序內(nèi)聚:一個模塊中各處理元素都密切相關于同一功能且必須順序執(zhí)行,前一功能元素的輸出是下一功能元素的輸入。功能內(nèi)聚:最強的內(nèi)聚,指模塊內(nèi)所有元素共同完成一個功能,缺一不可。6.什么是軟件結構?簡述軟件結構設計優(yōu)化準則。 軟件結構:軟件系統(tǒng)的模塊層次結構,反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制體系。 軟件結構設計優(yōu)化準則:a.劃分模塊時,盡量做到高內(nèi)聚,低耦合,保持模塊相對獨立性,以此為原則優(yōu)化初始的軟件結構。b.一個模塊的作用范圍應在其控制范圍之內(nèi),且判定所在的模塊應與
26、受其影響的模塊在層次上盡量靠近c.軟件的深度、寬度、扇入、扇出應適當。D.模塊的大小要適中。E.模塊的控制范圍模塊的接口要簡單、清晰、含義明確,便于理解,易于實現(xiàn)、測試與維護。 7.什么是模塊的影響范圍?什么是模塊的控制范圍?它們之間應該建立什么關系? 模塊的影響范圍:受該模塊內(nèi)的一個判定影響的所有模塊的集合。 模塊的控制范圍:模塊本身及其所有下屬模塊(直接或間接從屬于它的模塊)的集合。 一個模塊的影響范圍應在其控制范圍之內(nèi),且判定所在的模塊應與受其影響的模塊在層次上盡量靠近。8.什么是"變換流"?什么是"事務流"?試將相應形式的數(shù)據(jù)流圖轉(zhuǎn)換成軟件結構圖
27、。 變換流由輸入、變換(或處理)、輸出三部分組成。某個加工將它的輸入流分離成許多發(fā)散的數(shù)據(jù)流,形成許多加工路徑,并根據(jù)輸入選擇其中一個路徑來執(zhí)行這種特征的DFD稱為事物流。9.試述"變換分析","事務分析"的設計步驟。 變換分析:a.確定DFD中的變換中心。b.設計軟件結構的頂層和第一層-變換結構。c.設計中下層模塊。(輸入模塊下屬模塊的設計,輸出模塊下屬模塊的設計,變換模塊下屬模塊的設計,設計的優(yōu)化) 事務分析:a.確定DFD中的事務中心和加工路徑。b.設計軟件結構的頂層和第一層-事務結構。(接收、發(fā)送給支)c.事務結構中、下層模塊的設計、優(yōu)化工作同變
28、換結構。附加:2、已知模塊C中的一個判定影響到模塊B,如圖所示,它違反了SD的設計原則。試問: 可以采用哪些手段對結構圖作改進,請說明改進辦法并畫出改進的結構圖。 3、已知有一抽象的DFD圖如下所示,請用SD方法畫出相應的結構圖。答:4、高考錄取統(tǒng)分子系統(tǒng)有如下功能:(1) 計算標準分:根據(jù)考生原始分計算,得到標準分,存入考生分數(shù)文件;(2) 計算錄取線分:根據(jù)標準分、招生計劃文件中的招生人數(shù),計算錄取線,存入錄取線文件。試根據(jù)要求畫出該系統(tǒng)的數(shù)據(jù)流程圖,并將其轉(zhuǎn)換為軟件結構圖。答:(1) 數(shù)據(jù)流圖:(2) 軟件結構圖: 原始分 標準分 招生計劃 錄取線5、圖書館的預定圖書子系統(tǒng)有如下功能:(
29、1) 由供書部門提供書目給訂購組。(2) 訂書組從各單位取得要訂的書目。(3) 根據(jù)供書目錄和訂書書目產(chǎn)生訂書文檔留底。(4) 將訂書信息(包括數(shù)目,數(shù)量等)反饋給供書單位。(5) 將未訂書目通知訂書者。(6) 對于重復訂購的書目由系統(tǒng)自動檢查,并把結果反饋給訂書者。試根據(jù)要求畫出該問題的數(shù)據(jù)流程圖,并把其轉(zhuǎn)換為軟件結構圖。答: (1) 數(shù)據(jù)流圖:(2) 軟件結構圖:6、在結構化設計過程中,要將數(shù)據(jù)流圖(DFD)映射成系統(tǒng)結構圖(SC),分別畫出變換型數(shù)據(jù)流和事物型數(shù)據(jù)流的映射方式。答:變換型事務型第五章 詳細設計1.詳細設計的基本任務是什么?有哪幾種描述方法? 詳細設計的基本任務:(1)為每
30、個模塊進行詳細的算法設計。(2)為每個模塊內(nèi)的數(shù)據(jù)結構進行設計。(3)對數(shù)據(jù)庫進行設計,即確定數(shù)據(jù)庫的物理結構。(4)其他設計: a.代碼設計 b.輸入/輸出格式設計。 c.人機對話設計。(5)編寫詳細設計說明書。(6)評審。 描述方法(三種):a.程序流程圖b.PAD圖C.過程設計語言2.結構化程序設計基本要求要點是什么? a.采用自頂向下、逐步求精的程序設計方法 b.使用三種基本程序控制結構構造程序 1).用順序方式對過程分解,確定各部分的執(zhí)行順序。 2).用選擇方式對過程分解,確定某個部分的執(zhí)行條件。 3).用循環(huán)方式對過程分解,確定某個部分重復的開始和結束的條件。 c.主程序員組的組織
31、形式。3.簡述Jackson 方法的設計步驟。 Jsp 方法一般通過以下5個步驟來完成設計:a.分析并確定輸入/出數(shù)據(jù)的邏輯結構,并用Jackson 結構圖表示這些數(shù)據(jù)結構。b.找出輸入數(shù)據(jù)結構和輸出數(shù)據(jù)結構中有對應關系的數(shù)據(jù)單元。c.按一定的規(guī)則由輸入、輸出的數(shù)據(jù)結構導出程序結構。d.列出基本操作與條件,并把它們分配到程序結構圖的適當位置。e.用偽碼寫出程序。4.請使用流程圖、PAD圖各PDL語言描述下列程序的算法。 (1)在數(shù)據(jù)A(1)-A(10)中求最大數(shù)和次大數(shù)。 (2)輸入三個正整數(shù)作為邊長、判斷該三條邊構成的三角形是等邊、等腰或一般三角形。 答: (1) 1)流程圖: 2)PAD圖
32、 3)PDL語言 定義 n1=n2=0 輸入A(1).A(10) n1=n2=A(1) while i>10 if A(i)>=n1 n2=n1 n1=A(i) end while5.用PAD圖描述下面問題的控制結構。 有一個表A(1)、A(2)、.A(n),按遞增順序排列。給定一個Keyw值,在表中用折半查找。若找到將表位置i送入x,否則將零送到x,同時將Key值插入表中。算法: 1)置初值H=1(表頭),T=N(表尾)。 2)置i=(H+T)/2(取整). 3)若Key=A(i),則找到,i送到x;若Key>A(i),則Key在表的后半部分,i+1送入H;若Key<
33、A(i),則能Key在表的前半部分,i-1送入T,重復第三世界國家步查找直到H>T為止。 4)查不到時,將A(i),.,A(N)移到A(i+1),.A(N+1),Key 值送入A(i)中。 6.一個正文文件由若干記錄組成,每個記錄是一個字符串,要求統(tǒng)計每個記錄中空格字符的個數(shù)及文件中空格字符的總個數(shù)。要求輸出數(shù)據(jù)格式是每復制一行這符串后,另起一行打印出這個字符中的空格數(shù),最后打印出文件空格的總個數(shù),用Jackson方法設計該程序結構。 附加題:1、假設對顧客的訂貨單按如下原則處理:將顧客的信用度分三個檔次: 欠款時間不超過30天; 欠款時間超過30天但不超過100天; 欠款時間超過100
34、天。 對于上述三種情況,分別根據(jù)庫存情況來決定對顧客訂貨的態(tài)度。情況之一(欠款時間30天),如果需求數(shù)庫存量,則立即發(fā)貨,如果需求數(shù)>庫存量,則只發(fā)現(xiàn)有庫存,不足部分待進貨后補發(fā)。情況之二(30天<欠款時間100天),如果需求數(shù)庫存量,則要求先付款再發(fā)貨,如果需求數(shù)>庫存量,則不發(fā)貨。情況之三(欠款時間>100天),則通知先付欠款,再考慮是否發(fā)貨。 試用判定樹的形式予以描述(設欠款時間D,需求數(shù)N,庫存量Q)。答:2、用Jackson圖表示下圖所示的二維表格:答:3、有一過程,其流程如下圖所示。其中b1 、b2、 b3為判定的邏輯條件,s1、 s2為加工處理。試用判定表
35、給予描述。 答:4、1、有一過程如下圖所示的流程,試用判定表予以描述。 1234條件b1FTTTb2FFTb3FT結果s1s2第六章 實現(xiàn)1、程序語言有哪些共同特征? 答:程序語言的共同特征(似為特性更符合題意)是指程序設計語言的語言特性,包括心理特性、工程特性和技術特性三個方面。語言的心理特性對人機通信的質(zhì)量有主要的影響;語言的工程特性對軟件開發(fā)成功一否有重要的影響,此外,語言的技術特性也會影響軟件設計的質(zhì)量。2、在項目開發(fā)時選擇程序設計語言通??紤]哪些因素?答:通常要考慮的因素有:項目的應用領域、軟件開發(fā)的方法、軟件執(zhí)行的環(huán)境、算法和數(shù)據(jù)結構的復雜性以及軟件開發(fā)人員的知識等。3、第4代語言
36、(4GL)有哪些主要特征?答:4GL的主要特征是:(1)友好的用戶界面 (2)兼有過程性和非過程性雙重特性 (3)高效的程序代碼 (4)完備的數(shù)據(jù)庫 (5)應用程序生成器4、舉例說明各種程序設計語言的特點及適用范圍?答:以常見的一些編程語言為例:FORTRAN語言,它不僅面向科學計算,數(shù)據(jù)處理能力也極強。適用于科學工程計算 Pascal語言,具有很強的數(shù)據(jù)和過程結構化能力,它語言簡明,數(shù)據(jù)類型豐富,程序結構嚴謹。它是第一個體現(xiàn)結構化編程思想的語言。用于描述結構化算法和科學計算,操作系統(tǒng)的編寫 C語言:功能強大,支持復雜的數(shù)據(jù)結構,可大量運用指針,具有豐富靈活的操作運算符及數(shù)據(jù)處理操作符,它還具
37、有匯編語言的某些特征,使程序運行效率高??捎糜谠S多領域,特別是在操作系統(tǒng)等方面有較大優(yōu)勢。 Coble語言,它具有極強的數(shù)據(jù)定義能力,程序說明與硬件環(huán)境說明分開、數(shù)據(jù)描述與算法描述分開。結構嚴謹層次分明,廣泛用于商業(yè)數(shù)據(jù)處理。 SQL:結構化查詢語言,用于對數(shù)據(jù)庫進行存取管理。 匯編語言和Ada語言,主要用于實時處理和編寫系統(tǒng)軟件。 Prolog、Lisp語言。Lisp是一種函數(shù)型語言,特別適用于組合問題中符號運算和表處理,用于定理證明、樹的搜索和其他問題的求解。Prolog是一種邏輯型語言,它提供了支持知識表示的特性,每一個程序由一組表示事實、規(guī)則和推理的句子組成,比較接近與自然語言。這兩種
38、語言主要用于人工智能系統(tǒng)開發(fā)。 C+、Java語言,是面向?qū)ο蟮脑O計語言,用于面向?qū)ο蟮姆介_發(fā)軟件。5、什么是程序設計風格?為了具有良好的設計風格,應注意哪些方面的問題?答:程序設計風格是指一個人編制程序時所表現(xiàn)出來的特點、習慣、邏輯思路等。要形成良好的程序設計風格,應從源程序文檔化、數(shù)據(jù)說明、語句構造、輸入輸出和追求效率幾個方面加以注意。第七章 軟件測試1、軟件測試的目的是?測試中要注意那些原則? 軟件測試答:軟件測試的目的是的發(fā)現(xiàn)軟件中存在錯誤的活動。好的測試用例可以發(fā)現(xiàn)至今沒有發(fā)現(xiàn)的錯誤、好的測試用例可以發(fā)現(xiàn)至今沒有發(fā)現(xiàn)的錯誤測試。要提供輸入數(shù)據(jù)還要提供輸出數(shù)據(jù)、保留測試用例、檢查它是否
39、做了應該做的還要檢查它是否做了不該做的、避免自己測試自己的程序、多錯誤多的地方要更嚴格的測試。2、什么是白盒法?有那些覆蓋標準?比較他們的檢錯能力。答:將程序看成是白盒子,認真的分析程序的結構和功能制定測試用例來測試。有邏輯覆蓋(語句覆蓋、判斷覆蓋、條件覆蓋、判斷/條件覆蓋、條件組合覆蓋、路徑覆蓋)3、什么是黑盒法?有那些測試方法?特點?答:將程序當成是黑盒子以設計中的功能為標準在程序的接口出進行測試看它能否達到功能要求。等價類劃分、邊界值分析、因果圖、錯誤推測。4、軟件測試要經(jīng)過那些步驟?這些步驟和開發(fā)那些階段對應?答:單元測試對應詳細設計和編碼、集成測試對應概要設計、確認測試對應需求分析。
40、5、單元測試有那些內(nèi)容?答:測試模塊的接口、數(shù)據(jù)結構、重要的執(zhí)行路徑、錯誤處理、邊界條件。6、什么是集成測試?非漸增式和漸增式有什么區(qū)別?漸增式如何組裝模塊?答:將模塊組合起來成為一個完整的系統(tǒng)對其進行測試。非漸增式是將模塊先進行單元測試然后組裝在一起進行測試。漸增式是逐個將未測試的模塊組裝到已經(jīng)測試過的模塊上去進行集成測試,每加入一個就測試一次。非漸增式需要樁模塊和驅(qū)動模塊、非漸增式開始可以并行測試、漸增式可以及時的發(fā)現(xiàn)接口錯誤,非漸增式很難發(fā)現(xiàn)接口發(fā)現(xiàn)錯誤、漸增式開始不能并行測試、漸增式測試比較徹底。漸增式組裝模塊有自頂向下和自底向上兩種組裝方式。7、什么是確認測試?該階段有那些工作?答:
41、按照需求規(guī)格說明書中的確定指標對系統(tǒng)進行功能與性能的測試。進行確認測試(對照需求規(guī)格說明書用黑盒法進行測試)、軟件配置檢查。(文檔的完整性、正確性,發(fā)現(xiàn)遺漏和錯誤及時補充和修改)8、 調(diào)試的目的是什么?調(diào)試的技術有那些?答:調(diào)試的目的是發(fā)現(xiàn)錯誤的位置并改正錯誤。簡單調(diào)試、演繹調(diào)試、遞歸調(diào)試、回溯調(diào)試。附加題:1、對下列子程序進行調(diào)試:procedure example(y,z: real; var x: real)beginif(y>1) and (z=0) then x:=x/y;if(y=2) or (x=l) then x:=x+l;end.該子程序接受x, y, z的值
42、,并將計算結果x的值返回給調(diào)用程序。答題要求:(1)畫出流程圖。(2)用白盒法設計測試用例,并寫出它所滿足的是何種覆蓋標準、預期結果以及路徑。答:(1)流程圖(2)用白盒法中條件組合覆蓋設計測試用例: y=2, z=0, x=4; y=2, z=1, x=1; y=1, z=0, x=2; y=1, z=1, x=1. 2、某報表處理系統(tǒng)要求用戶輸入處理報表的日期,日期限制在2003年1月至2008年12月,即系統(tǒng)只能對該段期間內(nèi)的報表進行處理,如日期不在此范圍內(nèi),則顯示輸入錯誤信息。系統(tǒng)日期規(guī)定由年、月的6位數(shù)字字符組成,前四位代表年,后兩位代表月?,F(xiàn)要求用黑盒測試法中的邊界值法寫出測試用例
43、。答:輸入條件測試用例說明測試數(shù)據(jù)報表日期的 1個數(shù)字字符 5 類型及長度 5個數(shù)字字符 20035 7個數(shù)字字符 2003005 有1個非數(shù)字字符 2003.5 全部是非數(shù)字字符 MAY- 6個數(shù)字字符 200305 日期范圍在有效范圍 200301 邊界上選取 200812 數(shù)據(jù) 200300 200813 月份范圍 月份為1月 200301 月份為12月 200312 月份<1 200300 月份>12 200313 3、對以下程序進行測試: PROCEDURE EX(A,B:REAL;VAR X:REAL); BEGIN IF(A=3)OR(B> 1)THEN X:=
44、A×B IF(A>2)AND(B=0)THEN X:=A3 END 先畫出程序流程圖。 再按不同邏輯覆蓋法設計一種(寫出名稱)測試數(shù)據(jù)。答:語句覆蓋A=3 B=04、程序功能說明書指出,某程序的輸入條件為:每個學生可以選修1至3門課程,試用黑盒法設計測試用例。 (1)按等價分類法設計測試用例(要求列出設計過程) (2)按邊緣值分析法設計測試用例。答:1)合理等價類 選修1門 選修2門 選修3門 不合理等價類 沒選課 選3門以上 測試用例 選修2 選修0 選修>3 2) 邊緣值法 0,1,3,4 5、設被測試的程序段為: begin s1 ; if (x=0) and (y
45、>2) then s2;if (x<1) or (y=1) then s3 ; s4 ; end 可供選擇的測試數(shù)據(jù)組為: x y 0 3 1 2 -1 2 3 1找出實現(xiàn)(1)語句覆蓋;(2)條件覆蓋;(3)判定覆蓋至少要選擇的數(shù)據(jù)組。答:(1)(2) ,(3) ,第八章 軟件維護1、軟件維護有哪些內(nèi)容?a、校正性維護b、適應性維護c、完善性維護d、預防性維護2.軟件維護的特點是什么?a、非結構化維護和結構化維護b、維護的困難性c、軟件強維護的費用3.軟件維護的流程是什么? a、制定申請維護報告b、審查申請報告并批準c、進行維護并作詳細記錄d、覆審 4.軟件維護的副作用
46、有哪些? 編碼、數(shù)據(jù)、文檔副作用5.什么是軟件的可維護性?可維護性的度量的特性是什么?軟件的可維護性:軟件能夠被理解、校正、適應及增強功能的容易程度??删S護性的度量的特性是:可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。6.提高可維護性的方法有哪些?A、建立明確的軟件質(zhì)量目標。B、利用先進的軟件開發(fā)技術和工具。C、建立明確的質(zhì)量保證工作。D、選擇可維護的程序設計語言。E、改進程序文檔。第九章 1、 漸增模型有那幾種?特點?答:增量構造和演化提交。增量構造是瀑布模型的基礎上在一些的階段中采用增量開發(fā)一些階段整體開發(fā)。演化提交是在瀑布模型的基礎上所有階段都使用
47、增量開發(fā)也就是不緊使用增量開發(fā)也使用增量提交。2、 快速原形有那幾種?特點?答:探索型、試驗型、演化型。探索型:在需求階段幫助明確理解需求用完拋棄。試驗型:在設計階段考核現(xiàn)行方案是否合適用完拋棄。演化型:及早的向用戶展示一個系統(tǒng)的原形包含主要的功能得到用戶的認可后將原形不斷的擴充直到系統(tǒng)完成。3、 快速原形開發(fā)的步驟?答:快速開發(fā)、需求、構造原形、原形、運行原形、評價原形、修改意見。4、 評價快速原形的優(yōu)缺點?答:可以更清楚的理解用戶的需求、開發(fā)階段可以用原形解決局部的困難,通過原形的開發(fā)可以讓用戶看見系統(tǒng)的初步功能的實現(xiàn)有利與用戶的開發(fā)人員更好的交流,及早的解決
48、存在的問題減少開發(fā)的風險。缺乏好的管理工具和開發(fā)環(huán)境、缺乏管理機制、對開發(fā)人員的技術要求高、更新文檔比較困難。5、 對比瀑布模型和增量模型,指出增量模型的新思路。答:瀑布模型是一種整體的開發(fā)模型,開發(fā)的每一階段必須按線性的順序來進行,前一階段的工作沒有完成后一階段的工作就不能開始。由于需求分析的易變性使的軟件開發(fā)工作不順利,同時瀑布模型的每個階段有不可避免的錯誤出現(xiàn),那么延伸到以下的各個階段錯誤就會放大。增量模型是非整體開發(fā)的模型它采用漸增模型和原形模型,軟件的開發(fā)是用增量開發(fā)和增量提交。 第十章 面向?qū)ο蠹夹g1、 說明對象、類、類結構、消息的基本概念?答:對象:是客觀實體在問題域中的抽象。類:具有相似或相同性質(zhì)的對象的抽象就是類。類結構:類的結構通常有一般-具體(分類結構)整體-抽象(組裝結構)消息:對象之間通信的構造。2、 面向?qū)ο蟮奶卣骱鸵兀看穑禾卣鳎阂恢滦?、多態(tài)性、分類性、繼承性。要素:共享、封裝、抽象。3、 說明對象模型的特征?答:對象模型表示了靜態(tài)的、結構化的、系統(tǒng)數(shù)據(jù)性質(zhì),描述了系統(tǒng)的靜態(tài)結構,表現(xiàn)了對象間的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會展攤位服務合同范例
- 代賣水泥合同范例
- 信訪保安合同范本
- 農(nóng)村蝦塘補償合同范例
- 喬木補充合同范例
- 養(yǎng)殖廠土地租賃合同范例
- 人保勞動合同范例
- 人工草坪安裝合同范例
- 產(chǎn)品外包合同范例
- 住房出租協(xié)議合同范例
- 2025年合肥共達職業(yè)技術學院單招職業(yè)技能測試題庫附答案
- 2025美國急性冠脈綜合征(ACS)患者管理指南解讀課件
- 足球迷互動活動策劃與執(zhí)行策略
- 2025年寧夏工商職業(yè)技術學院單招職業(yè)適應性測試題庫帶答案
- ESC+2024+心房顫動(房顫)管理指南解讀
- 2019地質(zhì)災害防治工程工程量清單計價規(guī)范
- 2022-2024年江蘇中考英語試題匯編:任務型閱讀填空和閱讀回答問題(教師)
- 三級機動車駕駛教練員職業(yè)資格理論題庫(匯總版)
- EXCEL函數(shù)公式培訓PPT(共39張)
- A4標簽打印模板
- 矛盾糾紛排查調(diào)處記錄表
評論
0/150
提交評論