軟件工程-重點_第1頁
軟件工程-重點_第2頁
軟件工程-重點_第3頁
軟件工程-重點_第4頁
軟件工程-重點_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上1.軟件工程的基本原理: 用分階段的生命周期計劃嚴格管理;堅持進行階段評審;實行嚴格的產(chǎn)品控制;采用現(xiàn)代化程序設(shè)計技術(shù);結(jié)果應能清楚地審查;開發(fā)小組的人員應該少而精;承認不斷改進軟件工程實踐的必要性。2.面向?qū)ο蠓椒▽W的含義:把對象作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一的軟件構(gòu)件; 把所有對象都劃分成類; 按照父類(或稱為基類)與子類(或稱為派生類)的關(guān)系,把若干個相關(guān)類組成一個層次結(jié)構(gòu)的系統(tǒng)(也稱為類等級)。 對象彼此間僅能通過發(fā)消息互相聯(lián)系。3.軟件生命周期:問題定義;可行性研究;需求分析;總體設(shè)計;詳細設(shè)計; 編碼和單元測試;綜合測試;軟件維護4.軟件定義時期

2、的任務:確定軟件開發(fā)工程必須完成的總目標;確定工程的可行性;導出實現(xiàn)工程目標應該采用的策略及系統(tǒng)必須完成的功能;估計完成該項工程需要的資源和成本,并制定工程進度表。5.瀑布模型的特點:階段間具有順序性和依賴性;推遲實現(xiàn)的觀點;質(zhì)量保證的觀點;6.敏捷軟件開發(fā)宣言的組成:個體和交互勝過過程和工具;可以工作的軟件勝過面面俱到的文檔;客戶合作勝過合同談判;響應變化勝過遵循計劃。6.重構(gòu):所謂代碼重構(gòu)就是在不改變系統(tǒng)行為的前提下,重新調(diào)整和優(yōu)化系統(tǒng)的內(nèi)部結(jié)構(gòu),以降低復雜性,消除冗余,增加靈活性和提高性能。7.可行性研究的任務:技術(shù)可行性經(jīng)濟可行性操作可行性。8.數(shù)據(jù)字典的內(nèi)容;數(shù)據(jù)流數(shù)據(jù)流分量(即數(shù)據(jù)

3、元素);數(shù)據(jù)存儲;處理。9.成本估計的三種方法:代碼行技術(shù)任務分解技術(shù)自動估計成本技術(shù)。10.數(shù)據(jù)流圖符號的含義:或數(shù)據(jù)的源點/終點或 變換數(shù)據(jù)的處理 數(shù)據(jù)流11.第一范式:每個屬性值都必須是原子值,即僅僅是一個簡單值而不含內(nèi)部結(jié)構(gòu)。12.第二范式:滿足第一范式條件,而且每個非關(guān)鍵字屬性逗由整個關(guān)鍵字決定。(而不是由關(guān)鍵字的一部分來決定)。13.從哪些方面驗證軟件需求的正確性:一致性完整性現(xiàn)實性有效性14.驗證軟件需求的方法:驗證需求的一致性(人工技術(shù)審查,軟件工具)驗證需求的現(xiàn)實性(用現(xiàn)有的軟,硬件技術(shù)實現(xiàn)目標系統(tǒng)。仿真或性能模擬技術(shù)。)驗證需求的完整性和有效性(根據(jù)需求開發(fā)一個軟件系統(tǒng),請

4、用戶使用一段時間。使用原型系統(tǒng)。)15.耦合:是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。16.內(nèi)聚:標志著一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,它是信息隱藏和局部化概念的自然擴展。17.幾種啟發(fā)或規(guī)則:改進軟件結(jié)構(gòu)提高模塊獨立性模塊規(guī)模應該適中深度,完度,扇出和扇入都應適當模塊的作用域應該在控制域之內(nèi)力爭降低模塊接口的復雜程度設(shè)計單入口單出口的模塊模塊功能應該可以預測18.人機界面的四個設(shè)計問題:系統(tǒng)響應時間用戶幫助設(shè)施出錯信息處理命令交互19.流程圖的主要缺點:程序流程圖基本上不是逐步求精的好工具,它誘使程序員過早地考慮程序的控制流程,而不去考慮程序的全局結(jié)構(gòu)。程序流程圖中用箭頭代表控制

5、流,因此程序是不受任何約束,可以完全不顧結(jié)構(gòu)程序設(shè)計的精神,隨意轉(zhuǎn)移控制。程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)。20.判定表的組成:左上部列出所有條件,左下部是所有可能做的動作右上部是表示各種條件組合的一個矩陣右下部是和每種條件組合相對應的動作。21.環(huán)形復雜度的動作:程序的環(huán)形復雜度取決于程序控制流的復雜程度,即取決于程序結(jié)構(gòu)的復雜程度,當程序內(nèi)分支數(shù)或循環(huán)個數(shù)增加時,環(huán)形復雜度也隨之增加,因此它是對測試難度的一種定量度量,也能對軟件最終的可靠性作出某種預測。22.軟件測試的步驟:模塊測試子系統(tǒng)測試系統(tǒng)測試驗收測試平行運行23.單元測試的重點:模塊接口局部數(shù)據(jù)結(jié)構(gòu)重要的執(zhí)行通路出錯處理通路邊界條件24

6、.不同集成測試策略的比較:自頂向下測試方法的主要優(yōu)點是不需要測試驅(qū)動程序,能夠在測試階段的早期實現(xiàn)并驗證系統(tǒng)的主要功能,而且能在早期發(fā)現(xiàn)上層模塊的接口錯誤。缺點:需要存根程序,可能遇到與此相聯(lián)系的測試困難,低層關(guān)鍵模塊中的錯誤發(fā)現(xiàn)較晚,而且用著種方法在早期不能充分展開人力。兩種方法的優(yōu)缺點剛好相反。25.軟件配置交查的目的:是保證軟件配置的所有成分都齊全,質(zhì)量符合要求,文檔與程序完全一致,具有完成軟件維護所必須的細節(jié),而且已經(jīng)編號目錄。26.Alpha測試由用戶在開發(fā)者的場所進行,并且在開發(fā)者對用戶的“指導”下進行測試。Bata測試由軟件的最終用戶們在一個或多個各戶場所進行。27.循環(huán)測試的方

7、法;簡單循環(huán)嵌套循環(huán)串接循環(huán)。28.合法輸出的等價類有:在計算機能表示的最小負數(shù)和零之間的負整數(shù)零在零和計算機能表示的最大正整數(shù)還大的正整數(shù)。29.非法輸出的等價類有:比計算機能表示的最小負整數(shù)還小的負整數(shù)。比計算機能表示的最大正整數(shù)還大的正整數(shù)。30.調(diào)試的途徑:蠻干法回溯法原因排除法31.軟件的可靠性:是程序在給定的時間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功地運行的概率。32.軟件的可行性:是程序在給定的時間點,按照規(guī)格說明書的規(guī)定,成功地運行的概率。33.軟件維護過程的本質(zhì):是修改和壓縮了軟件定義和開發(fā)過程,而且事實上遠在提出一項要求之前,與軟件維護有關(guān)的工作已經(jīng)開始了。34.軟件的可維護性:

8、維護人員理解,改正,改動或改進這個軟件的難易程度。35.決定軟件可維護性的因素:可理解性可測試性可修改行可移動性可重用性。36文檔的分類:用戶文檔,系統(tǒng)文檔。37.軟件再工程過程:庫存目錄分析文檔重構(gòu)逆向工程代碼重構(gòu)數(shù)據(jù)重構(gòu)正向工程38.對象的定義:對象是具有相同狀態(tài)的一組操作的集合對象是對屬性值和操作值的封裝對象.=ID,MS,DS,MI,ID是對象的標識或名字,MS是對象中的操作集合,DS是對象的數(shù)據(jù)結(jié)構(gòu),MI是對象受理的消息名集合。39類:就是對具有相同數(shù)據(jù)和相同操作的一組相似對象的定義,也就是說,類是對具有相同屬性和行為的一個或多個對象的描述,通常在這種描述中也包括對怎樣創(chuàng)建該類的新對

9、象的說明。40.實例:是由某個特定的類所描述的一個具體的對象。41.消息:就是要求某個對象執(zhí)行在定義它的那個類中所定義的某個操作的規(guī)格說明。42方法:就是對象所能執(zhí)行的操作,也就是類中所定義的服務。43.屬性:就是類中所定義的數(shù)據(jù),它是對客觀世界實體所具有的性質(zhì)的抽象。44.封裝:把數(shù)據(jù)和現(xiàn)實操作的代碼集中起來,放在對象內(nèi)部。45.繼承;是指能夠直接獲得已有的性質(zhì)和特征,而不必重復定義它們。46.多態(tài)性:指子類對象可以像父類對象那樣使用,同樣的消息既可以發(fā)送給父類對象也可以發(fā)送給子類對象。47.重載:函數(shù)重載:是指在同一作用域內(nèi)的若干個參數(shù)特征不同的函數(shù)可以使用相同的函數(shù)名字。運算符重載是指同

10、一個運算符可以施加于不同類型的操作數(shù)上面。48.三種模型之間的關(guān)系:針對每個類建立的動態(tài)模型,描述了類實例的生命周期或運行周期。數(shù)據(jù)流圖中的數(shù)據(jù)流,往往是對象模型中對象的屬性值,也可能是整個對象。對象模型描述了數(shù)據(jù)流圖中的數(shù)據(jù)流數(shù)據(jù)存儲以及數(shù)據(jù)源點/終點的結(jié)構(gòu)。第一章五、1-5 根據(jù)歷史數(shù)據(jù)可以做出如下的假設(shè) :對計算機存儲容量的需求大致按下面公式描述的趨勢逐年增加:M=4080e0.28(Y-1960) 存儲器的價格按下面公式描述的趨勢逐年下降:P1=0.3×0.72Y-1974(美分/位)如果計算機字長為16位,則存儲器價格下降的趨勢為:P2=0.048×0.72Y-1

11、974(美元/字)在上列公式中Y代表年份,M是存儲容量(字數(shù)),P1和P2代表價格?;谏鲜黾僭O(shè)可以比較計算機硬件和軟件成本的變化趨勢。要求計算:(1) 在1985年對計算機存儲容量的需求估計是多少?如果字長為16位,這個存儲器的價格是多少?存儲容量需求M=4080e0.28(1985-1960)=(字)存儲器價格P=0.048*0.72(1985-1974)*=5789美元(2) 假設(shè)在1985年一名程序員每天可開發(fā)出10條指令,程序員的平均工資是每月4000美元。如果一條指令為一個字長,計算使存儲器裝滿程序所需用的成本。需要工作量/200=22371(人/月)指令成本22371*4000=

12、美元(3) 假設(shè)在1995年存儲器字長為32位,一名程序員每天可開發(fā)出30條指令,程序員的月平均工資為6000美元,重復(1)、(2)題。需求估計M=4080e0.28(1995-1960)=字存儲器價格0.003*32*0.72(1995-1974)*=7127美元工作量/600=(人/月)成本*6000=美元六、什么是軟件過程?它與軟件工程方法學有何關(guān)系?軟件過程是為了開發(fā)出高質(zhì)量的軟件產(chǎn)品所需完成的一系列任務的框架,它規(guī)定了完成各項任務的工作步驟。軟件工程方法學:通常把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學,也稱范型。軟件過程是軟件工程方法學的3個重要組成部分之一。第

13、二章4. 目前住院病人主要由護士護理,這樣做不僅需要大量護士,而且由于不能隨時觀察危重病人的病情變化,還可能會延誤搶救時機。某醫(yī)院打算開發(fā)一個以計算機為中心的患者監(jiān)護系統(tǒng),試寫出問題定義,并且分析開發(fā)這個系統(tǒng)的可行性可行性分析-原系統(tǒng)分析:護士檢查病患救治結(jié)束需要救治開始開始醫(yī)生輸出病患標準數(shù)據(jù)服務器采集病人生理數(shù)據(jù)對比大小警報結(jié)束在預測范圍內(nèi)不在預測范圍內(nèi)醫(yī)生病人端客戶機D1:標準數(shù)據(jù)服務器D2:實測數(shù)據(jù)D3:警報數(shù)據(jù)護士D4:指定打印數(shù)據(jù)技術(shù)可行性; 雖然生理數(shù)據(jù)的采集需要涉及大量的專業(yè)精密儀器,軟件工程師并不精通,但是可以在專業(yè)人士的幫助下完成。經(jīng)濟可行性: 支出方面由醫(yī)院方面承擔,是否

14、可行取決于醫(yī)院方面是否能支付所需的費用。操作可行性: 醫(yī)生并不具有軟件維護的能力,在數(shù)據(jù)庫的維護上需要專業(yè)人士來進行,因為病患數(shù)目并不會太多,所以只需一個人或者幾個人定期對數(shù)據(jù)庫進行管理和維護就行了。5北京某高??捎玫碾娫捥柎a有以下幾類:校內(nèi)電話號碼由4位數(shù)字組成,第一位數(shù)字不是0.校外電話又分為本市電話和外地電話兩類。撥校外電話需要先撥0,若是本市電話則接著撥8位數(shù)字(第一位不是0),若是外地電話則撥3位區(qū)碼后再撥8位電話號碼(第一位不是0)。答:電話號碼 校內(nèi)電話號碼校外電話號碼校內(nèi)電話號碼 非零數(shù)字 位數(shù)字校外電話號碼 本市號碼外地號碼本市號碼 數(shù)字零 位數(shù)字外地號碼 數(shù)字零 位數(shù)字 位

15、數(shù)字非零數(shù)字 數(shù)字零 位數(shù)字 數(shù)字位數(shù)字 非零數(shù)字 位數(shù)字位數(shù)字 數(shù)字數(shù)字 其中, 意思是或,從校內(nèi)電話號碼或校外電話號碼中選擇一個; 表示重復,兩邊的數(shù)字表示重復次數(shù)的下限和上限;=意思是定義為;+意思是和,連接兩個分量。 第三章3 銀行計算機儲蓄系統(tǒng)的工作過程大致如下:儲戶填寫的存款單或取款單由業(yè)務員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址、身份證號碼等存款信息,并打印出存款存單給儲戶;如果是取款且存款時留有密碼,則系統(tǒng)首先核對儲戶密碼,若密碼正確或存款時未留密碼,則系統(tǒng)計算利息并打印出利息清單給儲戶。 答案: 用ER圖描繪系統(tǒng)中的數(shù)據(jù)對象。6 )復印機的工作過程大致如下:未接到復印

16、命令時處于閑置狀態(tài),一旦接到復印命令則進入復印狀態(tài),完成一個復印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個復印命令;如果執(zhí)行復印命令時發(fā)現(xiàn)沒紙,則進入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進入閑置狀態(tài),準備接收復印命令;如果復印時發(fā)生卡紙故障,則進入卡紙狀態(tài),發(fā)出警告等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。 請用狀態(tài)轉(zhuǎn)換圖描繪復印機的行為。 答案: 從問題陳述可知,復印機的狀態(tài)主要有“閑置”、“復印”、“缺紙”和“卡紙”。引起狀態(tài)轉(zhuǎn)換的事件主要是“復印命令”、“完成復印命令”、“發(fā)現(xiàn)缺紙”、“裝滿紙”、“發(fā)生卡紙故障”和“排除了卡紙故障”。 閑置復印do /復印缺紙do /警告卡紙do

17、 /警告復印命令完成復印命令發(fā)生卡紙故障發(fā)現(xiàn)缺紙裝滿紙排除了卡紙故障第五章5.4 美國某大學有 200 名教師,校方與教師工會剛剛簽訂一項協(xié)議。按照協(xié)議,所有年工資超過$26000(含$26000 )的教師工資將保持不變,年工資少于$26000的教師將增加工資,所增加工資數(shù)額按下述方法計算:給每位教師所贍養(yǎng)的人(包括教師本人)每年補助$100,此外,教師有一年工齡每年再多補助¥50,但是,增加后的年工資總額不能多于$26000。教師工資檔案存儲在行政辦公室的磁帶上,檔案中有目前的年工資、贍養(yǎng)的人數(shù)、雇傭日期等信息。需要寫一個程序計算并印出每名教師的原工資和調(diào)整后的新工資。要求:(1)畫出此系統(tǒng)

18、的數(shù)據(jù)流圖;(2)寫出需求說明;(3)設(shè)計上述的工資調(diào)整程序(要求用 HIPO 圖描繪設(shè)計結(jié)果),設(shè)計時分別采用兩種算法,并比較兩種算法的優(yōu)缺點:(a)搜索工資檔案數(shù)據(jù),找出年工資少于$26000 的人,計算新工資,校核是否超過$26000,存儲新工資,印出新舊工資對照表;(b)把工資檔案數(shù)據(jù)按工資從最低到最高的次序排序,當工資數(shù)額超過$26000時即停止排序,計算新工資,校核是否超過限額,存儲新工資,印出結(jié)果。(4) 你所畫出的數(shù)據(jù)流圖適應用那種算法?解:(1)數(shù)據(jù)流圖:分解后:(2)需求說明: 1. 功能需求:可以輸入調(diào)資的標準,輸入教師檔案,經(jīng)調(diào)資給出新的教師檔案,需要存儲檔案 2 性能

19、需求:軟件的響應時間應小于0.5s,更新處理要快 3 靈活需求:當需求發(fā)生某些變化時,該軟件應該能夠適應這些變化 4 故障處理要求:出現(xiàn)錯誤時,應給予警告或提示 (3)(a)比較耗時,因為它要檢索所有的檔案,(b)從速度上看比較快,但是(b)需要排序算法,比較復雜,(a)對于設(shè)計來講比較簡單 .(4)畫出的數(shù)據(jù)流圖比較適合(A)的算法 第六章1、 畫出下列偽代碼程序的流程圖和盒圖:STARTIF p THEN WHILE q DO f END DOELSE BLOCK g n END BLOCKEND IFSTOP解:流程圖: 盒圖: 4、 圖6.18給出的程序流程圖代表一個非結(jié)構(gòu)化的程序,問

20、: (1) 為什么說它是非結(jié)構(gòu)化的?(2) 設(shè)計一個等價的結(jié)構(gòu)化程序。(3) 在(2)題的設(shè)計中使用附加的標識變量flag了嗎?若沒用,在設(shè)計一個使用flag的程序;若用了,在設(shè)計一個不用flag的程序。解:(1)通常所說的結(jié)構(gòu)化程序,是按照狹義的結(jié)構(gòu)程序的定義衡量,符合定義規(guī)定的程序,每個代碼塊只有一個入口和一個出口。圖示的程序的循環(huán)控制結(jié)構(gòu)有兩個出口,顯然不符合狹義的結(jié)構(gòu)程序的定義,因此是非結(jié)構(gòu)化的程序。(2)使用附加的標志變量flag,至少有兩種方法可以把該程序改造為等價的結(jié)構(gòu)化程序,圖示盒圖描繪了等價的結(jié)構(gòu)化程序。(3) 不使用flag把該程序改造為等價的結(jié)構(gòu)化程序的方法如圖所示。8、

21、畫出下列偽碼程序的流圖,計算它的環(huán)形復雜度。你覺得這個程序的邏輯有什么問題嗎?C EXAMPLELOOP:DO WHILE X>0 A=B+1 IF A>10 THEN X=A ELSE Y=Z END IFIF Y<5 THEN PRINT X,YELSE IF Y=2 THEN GOTO LOOPELSE C=3END IFEND IFG=H+REND DOIF F>0 THEN PRINT G ELSE PRINT KEND IFSTOP解:流程圖:環(huán)形復雜度:V(G)結(jié)點E弧數(shù)n1=17-11+1=7=判斷結(jié)點 1=6 17封閉的區(qū)域數(shù)邏輯有問題,當Z>0時,容易形成死循環(huán);條件Y<5包含條件Y=2。第七章4、(1)什么是模塊測試和集成測試?它們各有什么特點?答:模塊測試是對每個單獨的模塊,分別用黑盒和白盒測試技術(shù),測試它的功能是否正確,檢查模塊控制結(jié)構(gòu)中的特定路徑并發(fā)現(xiàn)最大數(shù)量的錯誤。其特點是:主要應

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論