版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、精品文檔、填空題(每空1分,共25分)1 .軟件生存周期一般可以劃分為,問題定義、 、設計、 編碼、測試和。2 . 基于軟件的功能劃分, 軟件可以劃分成 、三種。3 . 可行性研究,應從 、技術可行性、運行可行性、 和開 放方案可行性等方面研究。4 .系統(tǒng)流程圖是描繪 的傳統(tǒng)工具。它的基本思想是用圖形符號以 描繪系統(tǒng)里面的每個部件。5 .數(shù)據(jù)流圖的基本四種成分:數(shù)據(jù)輸入的源點和數(shù)據(jù)輸出匯點、 、 和。6 .結構化分析方法是面向 進行需求分析的方法。結構化分析方法使 用 與 來描述。7 . 是自動地共享類、子類和對象中的方法和數(shù)據(jù)的機制。8 .軟件詳細設計工具可分為3類,即 、和9 .為了在軟件
2、開發(fā)過程中保證軟件的質量,主要采取下述措施: 、 復查和管理復審、。10 .大型軟件測試包括 、確認測試和 四個步驟。1、可行性研究 需求分析運行與維護2、系統(tǒng)軟件支撐軟件 應用軟件3、經(jīng)濟可行性法律可行性4、物理系統(tǒng)黑盒子形式5、加工數(shù)據(jù)流數(shù)據(jù)存儲文件6、數(shù)據(jù)流數(shù)據(jù)流圖DFD 數(shù)據(jù)字典DD7、繼承性8、圖示工具、設計語言表格工具9、審查測試10、單元測試集成測試系統(tǒng)測試、單項選擇題(每小題 2分,共20分)12345CCCAC678910DDACB1 .軟件設計中劃分模塊的一個準則是()。A、低內(nèi)聚低耦合B、低內(nèi)聚高耦合C、高內(nèi)聚低耦合D、tWj內(nèi)聚tWj耦合2 . Jackson設計方法是
3、由英國的 M. Jackson提出的,它是一種面向()的軟件設計方法。A、對象B、數(shù)據(jù)流C、數(shù)據(jù)結構D、控制結構3 .試判斷下列敘述中,哪 個(些)是正確的()。a、軟件系統(tǒng)中所有的信息流都可以認為是事務流b、軟件系統(tǒng)中所有的信息流都可以認為是變換流c、事務分析和變換分析的設計步驟是基本相似的A a B 、bC 、c D 、b和c4 .()是用戶和設計交換最頻繁的方法。A、原型化方法B、瀑布模型方法C、螺旋模型方法D、構件組裝模型5 .軟件工程方法學的目的是:使軟件生產(chǎn)規(guī)范化和工程化,而軟件工程方法得以實施的主要保證是()。A、硬件環(huán)境B、軟件開發(fā)的環(huán)境C、軟件開發(fā)工具和軟件開發(fā)的環(huán)境D、開發(fā)
4、人員的素質6 .20世紀50年代以來,出現(xiàn)了許多不同的程序設計語言,下列語言中哪個語言是低級語言()。A、 PASCALC C+B、VISUAL BASICD、 匯編語百7 .軟件測試的目的是?()A、證明軟件的正確性B、找出軟件系統(tǒng)中存在的所有錯誤C、證明軟件系統(tǒng)中存在錯誤D、盡可能多的發(fā)現(xiàn)軟件系統(tǒng)中的錯誤)和指定的覆蓋標準。B、程序的復雜程度D、程序的功能B、適應性維護D、預防性維護8 .使用白盒測試方法時,確定測試數(shù)據(jù)應根據(jù)A、程序的內(nèi)部邏輯C、該軟件的編輯人員9 .軟件維護工作的最主要部分是()A、校正性維護G完善性維護10 . PDL是()語言。、偽碼式、低級程序設計語言A、高級程序
5、設計語言BG中級程序設計語言D三、判斷題(正確的在括號內(nèi)打上,錯誤的打上“X” 。每題2分,共20分)1 .用黑盒法測試時,測試用例是根據(jù)程序內(nèi)部邏輯設計的。( X )2 .發(fā)現(xiàn)錯誤多的程序模塊,殘留在模塊中的錯誤也多。(V )3 .為了加快軟件維護作業(yè)的進度,應盡可能增加維護人員的數(shù)目。(X )4 .軟件維護就是改正軟件中的錯誤。(X )5 .質量保證是為了保證產(chǎn)品和服務充分滿足消費者要求的質量而進行的有計劃,有組織的活動。(V )6 .軟件開發(fā)的主要任務是寫程序。(X )7 .測試只能證明程序有錯誤,不能證明程序沒有錯誤。(V )8 .模塊化程序設計中,模塊越小,模塊化的優(yōu)點越明顯。一般來
6、說,模塊的大小都在10行以下。( X )9 .在編制程序時,首先應該對程序的結構充分考慮,不要急于開始編碼,而要像寫軟件文檔那樣,很好地琢磨程序具有什么樣的功能,這些功能如何安排,等等。( X )10 .程序設計風格指導原則提出,盡量多使用臨時變量。( X )四、簡答題(每題 5分,共20分)1 .什么是軟件工程?軟件工程是指導計算機軟件開發(fā)和維護的工程學科。采用工程的概念、原理、技術 和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術和當前能夠得到 的最好的技術方法結合起來。2 .耦合性和內(nèi)聚性有幾種類型 ?其耦合度、內(nèi)聚強度的順序如何?低:非直接耦合 T數(shù)據(jù)耦合T標記耦合T控制耦合
7、T外部耦合T 公共耦合T內(nèi) 容耦合:高強:功能內(nèi)聚T 信息內(nèi)聚T 通信內(nèi)聚T 過程內(nèi)聚T 時間內(nèi)聚T 邏輯內(nèi)聚T 巧合內(nèi)聚:弱3 .簡述需求分析工作可以分成哪四個方面?軟件需求分析的有哪三個基本原則?:需求分析階段分成四個方面:對問題的識別、分析與綜合、制定規(guī)格說明和評審。三個基本原則:必須能夠表達和理解問題的數(shù)據(jù)域和功能域;必須按自頂向下、逐 步分解的方式對問題進行分解和不斷細化;要給出系統(tǒng)的邏輯視圖和物理視圖。4 .什么是黑盒測試法?黑盒測試法把程序看成一個黑盒子,完全不考慮程序的內(nèi)部結構和處理過程,它只檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮蛰斎霐?shù)據(jù),產(chǎn)生正確
8、地輸出信息 。五、程序設計與算法描述題(共 15分)1.1 據(jù)下面的偽代碼程序,完成相應要求。(8分)STARTIF C1THENWHILE C2 DOENDDO ELSE BLOCK g PENDBLOCKENDIFREPEAT UNTIL C3q r ENDREP STOP1)畫出程序流程圖(4分)STOP2)用N- S圖描述(4分)STARTINPUT (M,N)IF M>=10THEN X=10ELSE X=lENDIFIF N>=20THEN Y=20ELSE Y=2ENDIFPRINT(X,Y)STOP設計該程序的語句覆蓋和路徑覆蓋測試用例。(7分)M=9(或<1
9、0),N=19(或<20);M=l0(或 >=10),N=20(或 >=20)路徑覆蓋的測試用例為M=9,N=19;M=9 N=20;M=l0,N=l9 ;M=10,N=20要目標是提高軟件質量,減少軟件維護代價。問題定義(確定題目)r軟件定義 ,可行性研究概要設計詳細設計編碼和單元測試綜合測試、需求分析系統(tǒng)設計T軟件生命周期: 軟件開發(fā)Y系統(tǒng)實現(xiàn)J運行維護:主要任務是使軟件持久地滿足用戶的需要軟件過程五個模型對比(瀑布模型、快速原型、增量、螺旋、噴泉模型)可行性研究:1、任務:用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。2、四個方面:技術、經(jīng)濟、操作可行性3、數(shù)據(jù)流
10、圖四種成分:1、源點/終點2、處理3、數(shù)據(jù)存儲4、數(shù)據(jù)流需求分析:1、任務:確定系統(tǒng)必須完成哪些工作,對目標系統(tǒng)提出完整、清晰、具體的要求。2、結構化方法就是面向數(shù)據(jù)流自頂向下逐步求精進行需求分析的方法。3、實體聯(lián)系圖:1、數(shù)據(jù)對象2、屬性3、聯(lián)系(1:1、1: N、M:N)總體設計:任務:回答“概括的說,系統(tǒng)應該如何實現(xiàn)",用比較抽象概括的方式確定系統(tǒng)如何完成預定的任務,也就是說應該確定系統(tǒng)的物理配置方案,并且進而確定組成系統(tǒng)的每個程序結構。系統(tǒng)設計階段(確定系統(tǒng)具體實施方案)、結構設計階段(確定軟件結構)模塊獨立:內(nèi)聚和耦合耦合表示一個軟件結構內(nèi)各個模塊之間的互連程度,應盡量選用
11、松散耦合的系統(tǒng)低耦合性高非直接羯合敝據(jù)耦合標記耦合控制耦合外部耦合公共耦合內(nèi)容耦合強模塊獨立性弱 內(nèi)聚(Cohesion): 一個模塊內(nèi)各元素結合的緊密程度高內(nèi)聚性功能內(nèi)聚信息內(nèi)聚逋信內(nèi)聚過程內(nèi)聚時間內(nèi)聚邏輯內(nèi)聚巧合內(nèi)聚強模塊獨立性弱功能單一功能分散 面向數(shù)據(jù)流的設計方法:變換流和事務流詳細設計:任務:確定應該怎樣具體的實現(xiàn)所要求的系統(tǒng),也就是說經(jīng)過這個階段的設計工作應該得出對目標系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設計語言書 寫的程序。過程設計的工具(程序流程圖、盒圖、PAD圖、判定表、判定樹)面向數(shù)據(jù)結構的設計方法(jackson方法):程序復雜程度的定量 (M
12、cCabe方法):1、V(G尸E-N+2 (E是流圖中邊的條數(shù),N是結點數(shù))2、V(G尸P+1 (P是流圖中判定結點的個數(shù))3、流圖中的區(qū)域數(shù)等于環(huán)形復雜度。編碼單元測試:又稱模塊測試。每個程序模塊完成一個相對獨立的子功能,所以可以對該模塊進行單獨的測試。由于每個模塊都有清晰定義的功能,所以通常比較容易設計相應的測試方案, 以檢驗每個模塊的正確性。集成測試:在單元測試完成后,要考慮將模塊集成為系統(tǒng)的過程中可能出現(xiàn)的問題,例如,模塊之間的通信和協(xié)調問題,所以在單元測試結束之后還要進行集成測試。這個步驟著重測試模塊間的接口,子功能的組合是否達到了預期要求的功能,全程數(shù)據(jù)結構是否有問題等。白盒測試技
13、術(邏輯覆蓋、基本路經(jīng)測試)白盒測試時將程序看作是一個透明的盒子,也就是說測試人員完全了解程序的內(nèi)部結構和處理過程。所以測試時按照程序內(nèi)部的邏輯測試程序、檢驗程序中的每條通路是否都能按預定的要求正確工作。白盒測試又稱為結構測試。語句覆蓋就是設計足夠的調試用例,使得程序中的每個語句至少執(zhí)行一次。判定覆蓋就是設計足夠的測試用例,使得程序中每個判定的取真”分支和取假”分支至少都執(zhí)行一次,判定覆蓋又稱分支覆蓋條件覆蓋就是設計足夠的測試用例,使得程序判定中的每個條件能獲得各種可能的結果。判定/條件覆蓋就是設計足夠的測試用例,使得判定中的每個條件都取到各種可能的值,而且每個判定表達式也都取到各種可能的結果
14、。條件組合覆蓋就是設計足夠的測試用例,使得每個判定中的條件的各種可能組合都至少出現(xiàn)一次。基本路經(jīng)測試:黑盒測試技術(等價劃分)黑盒測試時完全不考慮程序內(nèi)部的結構和處理過程,只按照規(guī)格說明書的規(guī)定來檢查程序是否符合它的功能要求。黑盒測試是在程序接口進行的測試,又稱為功能測試。1、黑盒測試檢查的主要方面有:程序的功能是否正確或完善;數(shù)據(jù)的輸入能否正確接收,輸出是否正確;是否能保證外部信息(如數(shù)據(jù)文件)的完整性等。用黑盒法設計測試用例時,必須用所有可能的輸入數(shù)據(jù)來檢查程序是否都能產(chǎn)生正確的輸出2、等價類劃分等價類的劃分在很大程度上依靠的是測試人員的經(jīng)驗,下面給出幾條基本原則:(1)如果輸入條件規(guī)定了
15、取值范圍,則可劃分出一個有效的等價類(輸入值在此范圍內(nèi))和兩個無效的等價類(輸入值小于最小值、輸入值大于最大值)。(2)如果輸入條件規(guī)定了輸入數(shù)據(jù)的個數(shù),則可相應地劃分出一個有效的等價類(輸入數(shù) 據(jù)的個數(shù)等于給定的個數(shù)要求)和兩個無效的等價類(輸入數(shù)據(jù)的個數(shù)少于給定的個數(shù)要求、 輸入數(shù)據(jù)的個數(shù)多于給定的個數(shù)要求)。(3)如果輸入條件規(guī)定了輸入數(shù)據(jù)的一組可能的值,而且程序對這組可能的值做相同的處理,則可將這組可能的值劃分為一個有效的等價類,而這些值以外的值劃分成無效的等價類。(4)如果輸入條件規(guī)定了輸入數(shù)據(jù)的一組可能的值,但是程序對不同的輸入值做不同的處理,則每個輸入值是一個有效的等價類,此外還
16、有一個無效的等價類 (所有不允許值的集合).(5)如果輸入條件規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,則可以劃分一個有效的等價類(符合規(guī)則)和若干個無效的等價類(從各種角度違反規(guī)則)。維護(改正性維護、適應性維護、完善性維護、預防性維護)決定軟件可維護性因素(可理解性、可測試性、可修改性、可移植性、可重用性)面向對象方法學優(yōu)點:1、與人類習慣的思維方法一致 2、穩(wěn)定性好3、可重用性好4、較易開發(fā)大型軟件產(chǎn)品 5、可維護性好對象*II型1、關聯(lián)2、聚集3、泛化4、依賴和細化軟件工程1.2 軟件危機1、軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。(熟記)2、了解軟件危機主要的一些典型表
17、現(xiàn)。(P2)3、出現(xiàn)軟件危機的原因:4、消除軟件危機的途徑:首先,我們要對計算機軟件有一個正確的認識;更重要的是,必須充分認識到軟件開發(fā)不是某種個體勞動的神秘技巧,而應該是一種組織良好、管理嚴格、各類人員協(xié)同配合、共同完成的工程項目;最后,應該開發(fā)和使用更好的軟件工具??傊瑸榱私鉀Q軟件危機,既要有技術措施(方法和工具),又要有必要的組織 管理措施。1.3 軟件工程1、軟件工程:采用工程的概念、原理、技術和方法來開發(fā)和維護軟件,把經(jīng)過 時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,以經(jīng)濟地開發(fā)出高質量的軟件并有效地維護它。(熟記)2、了解軟件工程的本質特征:1)、軟件工程
18、關注于大型程序的構造2)、軟件工程的中心課題是控制復雜性3)、軟件經(jīng)常變化4)、開發(fā)軟件的效率非常重要5)、和諧的合作是開發(fā)軟件的關鍵6)、軟件必須有效地支持它的用戶7)、在軟件工程的領域中通常由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品3、缺乏應用領域地相關知識,是軟件開發(fā)項目出現(xiàn)問題的常見原因。4、軟件工程的基本原理:1)、用分階段的生命周期計劃嚴格管理2)、堅持進行階段審評3)、實行嚴格的產(chǎn)品控制4)、采用現(xiàn)代程序設計技術5)、結果應能清楚地審查6)、開發(fā)小組的人員應該少而精7)、承認不斷改進軟件工程實踐的必要性5、方法學(范型):在軟件生命周期全過程中使用的一整套技術方法的集
19、合。6、軟件工程方法學3要素:方法、工具和過程。7、目前使用得最廣泛的軟件工程方法學,分別是 傳統(tǒng)方法學和面向對象方法學8、傳統(tǒng)方法學也成為生命周期方法學或結構化范型。9、面向對象方法學具有的4個要點。(P10)1.4 軟件生命周期1、概括地說,軟件生命周期由軟件定義、軟件開發(fā)和運行維護(也稱為軟件維 護)3個時期組成,每個時期又進一步劃分成若干個階段。2、軟件定義時期的任務3、軟件定義時期通常進一步劃分成 3個階段:問題定義、可行性研究、需求分析4、維護時期的主要任務是使軟件持久地滿足用戶的需要。5、軟件開發(fā)時期通常分成4個階段:總體設計、詳細設計、編碼和單元測試、綜合測試。前兩個階段又稱為
20、系統(tǒng)設計,后兩個階段又稱為系統(tǒng)實現(xiàn)。6、軟件生命周期每個階段的基本任務:問題定義、可行性研究、需求分析、總體設計、詳細設計、編碼和單元測試、綜合測試 。1.4 軟件工程生命周期模型(過程模型):瀑布模型、快速原型模型、增量模型、螺旋模型、 噴泉模型。(對各種模型要了解)1.5 小結(熟讀,對本章系統(tǒng)地了解)可行性分析可行性分析的目的:用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決2.1 可行性研究的任務研究解法的可行性的三個方面:技術可行性、經(jīng)濟可行性、操作可行性。可行性研究最根本的任務:對以后的行動方針提出建議。可行性研究需要的時間長短取決于工程的規(guī)模。2.2 可行性研究過程復查系統(tǒng)規(guī)模
21、和目標研究目前正在試用的系統(tǒng)導出新系統(tǒng)的高層邏輯模型進一步定義問題導出和評價供選擇的解法推薦行動方針草擬開發(fā)計劃書寫文檔提交審查2.3 系統(tǒng)流程圖1、系統(tǒng)流程圖:概括地描繪物理系統(tǒng)的工具。2、系統(tǒng)流程圖的基本思想:用圖形符號以黑盒子形式描繪組系統(tǒng)的每個部件(程 序、文檔、數(shù)據(jù)庫、人工過程等)。3、P39符號4、系統(tǒng)流程圖的習慣畫法:使信息在圖中從頂向下或從左向右流動。5、面對復雜的系統(tǒng)時,一個比較好的 方法時分層次地描繪這個系統(tǒng)。2.4 數(shù)據(jù)流圖數(shù)據(jù)流圖(DFD): 一種圖形化技術,它描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。數(shù)據(jù)流圖的四種基本符號P41數(shù)據(jù)存儲(靜止狀態(tài))和數(shù)據(jù)流
22、(運動)都是數(shù)據(jù)。數(shù)據(jù)流圖的基本要點是描繪“做什么”,而不是考慮“怎么做”。星號(*)是數(shù)據(jù)流之間的“與”關系;加號(+)表示“或"關系;號表示只能從中選一個(互斥關系)。畫數(shù)據(jù)流圖的基本目的是利用它作為交流信息的工具。2.5 數(shù)據(jù)字典數(shù)據(jù)字典應由對下列4類元素的定義組成:數(shù)據(jù)流、數(shù)據(jù)流分量(即數(shù)據(jù)元素)、 數(shù)據(jù)存儲、處理。由數(shù)據(jù)元素組成數(shù)據(jù)的方式的三種基本類型:順序、選擇、重復。+可選用以下符號描述由數(shù)據(jù)元素組成數(shù)據(jù)的關系:=意思是等價于(或定義為)、+意 思是和(即連接兩個分量)、意思是或(通常用“ |”號隔開供選擇的分量)、 意思是重復、()意思是可選。數(shù)據(jù)字典最重要的用途是作
23、為分析階段的工具。2.6 成本/效益分析成本/效益分析的目的:從經(jīng)濟角度分析開發(fā)一個特定的新系統(tǒng)是否劃算,從而 幫助客戶組織的負責人正確地作出是否投資于這項開發(fā)工程的決定。軟件開發(fā)成本:主要表現(xiàn)為人力消耗。成本估算技術:代碼行技術、任務分解技術、自動估計成本技術。貨幣的時間價值:用利率的形式。假設年利率為i ,如果現(xiàn)在存入P元,則n年后的價值:F=P (1+i)An衡量一項開發(fā)工程的價值:投資回收期。純收入投資回收率2.7 小結三需求分析需求分析是軟件定義時期的最后一個階段。基本任務:準確地回答“系統(tǒng)必須做什么?”這個問題。用于需求分析的結構化分析方法必須遵守下述準則:(1)、必須理解并描述問
24、題的信息域,根據(jù)這條準則應該應該建立數(shù)據(jù)模型。E-R圖(2)、必須定義軟件應完成的功能,這條準則要求建立功能模型。數(shù)據(jù)流圖(3)、必須描述作為外部事件結果的軟件行為, 這條準則要求建立行為模型c 狀態(tài)圖(4)、必須對描述信息、功能和行為的模型進行分解,用層次的方式展開細 節(jié)。3.1 需求分析的任務對軟件系統(tǒng)的綜合要求:功能需求、性能需求、可靠性和可用性需求、出錯處理 需求、接口需求、約束、逆向需求、將來可能提出的要求。需求分析的任務:確定對系統(tǒng)的綜合要求分析系統(tǒng)的數(shù)據(jù)要求導出系統(tǒng)的邏輯模型 修正系統(tǒng)開發(fā)計劃3.2 與用戶溝通獲取需求的方法訪談、面向數(shù)據(jù)流自頂向下求精、簡易地應用規(guī)格說明技術,快
25、速建立軟件原型 結構化分析方法就是面向數(shù)據(jù)流自頂向下求精進行需求分析的方法??焖俳④浖褪亲顪蚀_、最有效、最強大的需求分析技術。3.3 分析建模與規(guī)格說明需求分析過程應建立3種模型:數(shù)據(jù)模型、功能模型、行為模型數(shù)據(jù)流圖是建立功能模型的基礎。狀態(tài)轉換圖是行為建模的基礎。3.4 實體-聯(lián)系圖(E-R)E-R圖中包含著實體(即數(shù)據(jù)對象)、關系和屬性3種基本成分3.5 數(shù)據(jù)規(guī)范化第一范式:每個屬性值都必須是原子值,即僅僅是一個簡單值而不含內(nèi)部結構。第二范式:滿足第一范式的條件,而且每個非關鍵字都由整個關鍵字決定 (而不 是由關鍵字的一部分來決定)。第三范式:符合第二范式的條件,每個非關鍵字屬性都僅
26、由關鍵字決定, 而且一 個非關鍵字屬性不能僅僅是對另一個非關鍵字屬性的進一步描述 (即一個非關鍵 字屬性值不依賴于另一個非關鍵字屬性值)。3.6 狀態(tài)轉換圖狀態(tài)轉換圖(簡稱狀態(tài)圖):通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉換的事件, 來表示系統(tǒng)的行為。在狀態(tài)圖中定義的狀態(tài)主要有:初態(tài)(即初始狀態(tài))、終態(tài)(即最終狀態(tài))和中問狀態(tài)。在狀態(tài)圖中只能有一個初態(tài),而終態(tài)則可以有 0至多個。事件就是引起系統(tǒng)做動作或(和)轉換狀態(tài)的控制信息。在狀態(tài)圖中,初態(tài)用一對同心圓(內(nèi)圓為實心圓)表示。中間狀態(tài)用圓角矩形表狀態(tài)名狀態(tài)變量的名字和值 活動表活動表的語法格式:事件名(參數(shù)表)/動作表達式在活動表中通常使用的3種標
27、準事件:Entry事件指定進入該狀態(tài)的動作Exit事件指定退出該狀態(tài)的動作Do事件制定在該狀態(tài)下的動作狀態(tài)轉換:箭頭指明的轉換方向。事件表達式的語法:事件說明【守衛(wèi)條件】/動作表達式事件說明與守衛(wèi)條件同時使用時,則當且僅當事件發(fā)生且布爾表達式為真時,狀態(tài)轉換才發(fā)生;如果只有守衛(wèi)條件沒有事件說明則只要守衛(wèi)條件為真,狀態(tài)轉換就發(fā)生。守衛(wèi)條件是一個布爾表達式。動作表達式是一個過程表達式,當狀態(tài)表達式開始時執(zhí)行該表達式3.7 其他圖形層次方框圖、warnier圖、IPO圖(輸入、處理、輸出圖的簡稱)3.8 驗證軟件需求從四個方面進行驗證:一致性、完整新、現(xiàn)實性、有效性3.9 小結五總體設計5.1 設計
28、過程總體設計過程通常有兩個主要階段組成:系統(tǒng)設計階段,確定系統(tǒng)的具體實現(xiàn)方 案;結構設計階段,確定軟件的結構。典型的總體設計過程包括下述9個步驟:1)、設想宮選擇的方案需求分析階段得出的數(shù)據(jù)流程圖是總體設計的極好的出發(fā)點。2)、選擇合理的方案對每個合理的方案,分析員都應準備下列四份材料:A.系統(tǒng)流程圖B.組成系統(tǒng)的物理元素清單C.成本/效益分析D.實現(xiàn)各個系統(tǒng)的進度計劃3)、推薦最佳方案4)、功能分解5)、設計軟件結構軟件結構可以用層次圖或結構圖來描繪。6)、設計數(shù)據(jù)庫7)、制定測試計劃8)、書寫文檔這個階段完成的文檔有:系統(tǒng)說明、用戶手冊、測試計劃、詳細的實現(xiàn) 計劃、數(shù)據(jù)庫設計結果。9)、審
29、查和復查5.2 設計原理模塊化、抽象、逐步求精、信息隱藏和局部化、模塊獨立模塊是由邊界元素限定的相鄰程序元素的序列,而且有一個總體標識符代表它。模塊是構成程序的基本構件。模塊化就是把程序分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功 能,把這些模塊集成起來構成一個整體,可以完成指定的功能滿足用戶的需求。 抽象:把相似的方面集中和概括起來,暫時忽略它們之間的差異,或者說,抽出 事物的本質特性而暫時不考慮它們之間的細節(jié)。逐步求精是人類解決復雜問題時采用的基本方法,也是許多軟件工程技術的基 礎。定義:為了能集中精力解決主要問題而盡量推遲對問題細節(jié)的考慮。信息隱藏原理指出:應該這樣設計和確定模塊
30、,使得一個模塊內(nèi)包含的信息(過程和數(shù)據(jù))對于不需要這些信息的模塊來說,是不能訪問的。局部化:把一些關系密切的軟件元素物理地放得彼此靠近。模塊獨立的概念是模塊化,抽象,信息隱藏和局部化概念的直接結果。模塊獨立化重要性的原因:第一,有效地模塊化的軟件比較容易開發(fā)出來; 第二, 獨立的模塊化比較容易測試和維護。模塊的獨立程度可以由兩個定性標準度量,這兩個標準分別稱為內(nèi)聚和耦合。耦合是對一個軟件結構內(nèi)不同模塊之間互連程度的度量。耦合的強弱取決于 模塊間接口的復雜程度,進入或訪問一個模塊的點,以及通過 接口的數(shù)據(jù)。如果兩個模塊彼此間通過參數(shù)交換信息, 而且交換的信息僅僅是數(shù)據(jù),那么這種 耦合稱為數(shù)據(jù)耦合
31、。如果傳遞的信息中有控制信息(盡管有時這種控制信息以數(shù)據(jù)的形式出現(xiàn)),則這種耦合稱為控制耦合。數(shù)據(jù)耦合是低耦合。公共環(huán)境耦合、最高程度的耦合式內(nèi)容耦合。內(nèi)聚標志著一個模塊內(nèi)各個元素彼此結合的緊密程度,它是信息隱藏和局部化概念的自然擴展。偶然內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚低內(nèi)聚、中內(nèi)聚、高內(nèi)聚的分類。5.3 啟發(fā)規(guī)則/軟件結構提高模塊獨立性模塊規(guī)模應該適中深度、寬度、扇出和扇入都應適當模塊的應用域應該在控制域之內(nèi)力爭降低模塊接口的復雜程度設計單入口單出口的模塊模塊功能應該可以預測5.4 描繪軟件結構的圖形工具層次圖和HIPO圖結構圖5.5 面向數(shù)據(jù)流的設計方法面向數(shù)據(jù)流的設計方法把信息流映射成軟件結構
32、,信息流的類型決定了映射的方 法。信息流分成兩種類型:變化流、事物流(概念)變換分析是一系列設計步驟的總稱,經(jīng)過這些步驟吧具有變換流特點的數(shù)據(jù)流圖按預先確定的模式映射成軟件結構。變換分析的設計步驟。5.6 小結第6章 詳細設計目標:1.確定應該怎樣具體的實現(xiàn)所要求的系統(tǒng)2 .設計出程序的“藍圖”3 .詳細設計的結果基本決定了最終的程序代碼的質量6.1 結構程序設計1 .概念:結果程序設計是一種設計程序的技術,它采用自頂向 下逐步求精的的設計方法和單入口但出口的控制結構。2 .三種基本控制結構:1)順序結構:相當于“A、B”3 )選擇結構:相當于 “If exp then A else B en
33、dif;4 ) 循環(huán)結構:相當于“ While exp do A3 .擴充的兩種控制結構:1)多分支結構:相當于“Case I of I=1:C1;仁n:Cn; "2)UNTIL 循環(huán)結構:相當于 “Repeat A until exp:4 .結構程序設計的種類:1)經(jīng)典的結構程序設計: 只允許使用順序、IF_THEN_ELSE型分支和DO_WHILE型循環(huán);2)擴展的結構程序設計:除了三種基本控制結構,還使用DO_CASE型多分支結構和DO_WHILE型循環(huán)結構;3)修正的結構程序設計:除了三種基本控制結構和兩種擴 充結構,還使用LEAVE(或BREAK)結構。6.2 人機界面設計
34、6.2.1 設計問題1 .系統(tǒng)響應時間2 .用戶幫助設施3 .出錯信息處理4 .命令交互5 .2.2設計過程6 .2.3人機界面設計指南1 .一般交互指南2 .信息顯示指南3 .數(shù)據(jù)輸入指南6.3過程設計的工具6.3.1 程序流程圖程序流程圖:是一種描述程序的控制結構流程和指令執(zhí)行情況 的有向圖。程序流程圖的主要缺點:程序流程圖本質上不是逐步求精的好工具,它誘使程序員過早地考慮程序的控制流程,而不去考慮程序的全局結構。程序流程圖中用箭頭代表控制流,因此程序員不受任何約束,可以完 全不顧結構程序設計的精神,隨意轉移控制。程序流程圖不易表示數(shù)據(jù)結構。6.3.2 盒圖盒圖特點:功能域明確,可以從盒圖
35、上一眼就看出來。不可能任意轉移控制。很容易確定局部和全程數(shù)據(jù)的作用域。很容易表現(xiàn)嵌套關系,也可以表示模塊的層次結構。PAD圖是一種問題分析圖。PAD圖優(yōu)點:使用表示結構化控制結構的 PAD符號所設計出來的程序必然是結構 化程序PAD圖所描繪的程序結構十分清晰。圖中最左面的豎線是程序的主線,即第一層結構。隨著德程序層次的增加, PAD圖逐漸向右延伸, 每次增加一個層次,圖形向右擴展豎線。 PAD圖中豎線的總條數(shù)就 是程序的層次數(shù)。用PAD圖表現(xiàn)程序邏輯,易懂、易讀、易記。PAD圖是二維樹形結 構的圖形,程序從圖中最左豎線上端的結點開始執(zhí)行, 自上而下,從 左向右順序執(zhí)行,遍歷所有結點。容易將PA
36、D圖轉換成高級語言源程序,這種轉換可用軟件工具自動 完成,從而可省去人工編碼的工作,有利于提高軟件可靠性和軟件生產(chǎn)率。即可用于表示程序邏輯,也可用于描繪數(shù)據(jù)結構。PAD圖的符號支持自頂向下、逐步求精方法的使用。開始時設計者可以定義一個抽象的程序,隨著設計工作的深入而使用 def符號逐步 增加細節(jié),直至完成詳細設計。判定表判定表由四部分組成:左上部列出所有條件左下部是所有可能做的動作右上部是表示各種條件組合的一個矩陣右下部是和每種條件組合相對應的動作6.3.5 判定樹判定樹是判定表的變種。過程設計語言過程設計語言(PDL)也稱為偽碼。PDL的優(yōu)點:可以作為注釋的直接插在源程序中間可以使用普通的正
37、文編輯程序或文字處理系統(tǒng),很方便地完成PDl的書寫和編輯工作已經(jīng)有自動處理PDL的程序存在,而且可以自動由PDL生成程序代 碼。PDL缺點:不如圖形工具形象直觀。面向數(shù)據(jù)結構的設計方法Jackson圖順序結構選擇結構重復結構改進的Jackson圖Jackson 方法Jackson結構程序設計方法基本上由 5個步驟組成:分析并確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結構,并用Jackson圖描繪這 些數(shù)據(jù)結構。找出輸入數(shù)據(jù)結構和輸出數(shù)據(jù)結構中有對應關系的數(shù)據(jù)單元。用下述3條規(guī)則從描繪數(shù)據(jù)結構的 Jackson圖導出描繪程序結構的Jackson 圖。為每對有對應關系的數(shù)據(jù)單元,按照它們在數(shù)據(jù)結構圖中的層次在程
38、 序結構圖的相應層次畫一個處理框。根據(jù)輸入數(shù)據(jù)結構中剩余的每個數(shù)據(jù)單元所處的層次,在程序結構圖的相應層次分別為它們畫上對應的處理框。根據(jù)輸入數(shù)據(jù)結構中剩余的每個數(shù)據(jù)單元所處的層次,在程序結構圖的相應層次分別為它們畫上對應的處理框。列出所有操作和條件,并且把它們分配到程序結構圖的適當位置。用偽碼表示程序。程序復雜程度的定量度量McCabe方法1 .流圖“退化了的”程序流程圖,它僅僅描繪程序的控制流程,完全不表 現(xiàn)對數(shù)據(jù)的具體操作以及分支或循環(huán)的具體條件。2 .計算環(huán)形復雜度的方法環(huán)形復雜度等于流圖中的區(qū)域數(shù)。流圖G的環(huán)形復雜度V(G戶E-N+2 ,其中,E是流圖中邊的條數(shù)的, N是結點數(shù)。流圖G
39、的環(huán)形復雜度V(G戶P+1,其中,P是流圖中判定結點的數(shù)目。3 .環(huán)形復雜度的用途它是對測試難度的一種定量度量,也能對軟件最終的可靠性給出某 種預測。實踐表明,模塊規(guī)模以V(G)<=10為宜。4 .5.2 Halstead根據(jù)程序中運算符和操作數(shù)的總數(shù)來度量程序的復雜程度。N=N1+N2程序總長度:N運算符出現(xiàn)的總次數(shù):Ni操作數(shù)出現(xiàn)的總次數(shù):N2Halstead給出的預測程序長度的公式:H=n 110g2nl+n210g2 n2預測程序中包含錯誤的個數(shù)的公式:E=Nlog2m1+n2)/3000第七章實現(xiàn)概念:編碼和測試統(tǒng)稱為實現(xiàn)。編碼:把軟件設計結果翻譯成程序。測試:檢測程序并改正錯
40、誤的過程。編碼選擇程序設計語言1 .計算機程序設計語言基本上可以分為兩大類:1):匯編語言2):高級語言2 .選擇語言時應考慮的實用標準:系統(tǒng)用戶要求可以使用的編譯程序可以得到的軟件工具工程規(guī)模程序員的知識軟件可移植性要求軟件的應用領域編碼風格程序內(nèi)部的文檔數(shù)據(jù)說明語句構造輸入輸出效率軟件測試基礎7.2.1 軟件測試的目標1 .有關測試的一些規(guī)則:測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試成功的測試是發(fā)現(xiàn)多了至今為止尚未發(fā)現(xiàn)的錯誤的測試軟件測試準則所有測試都應該追溯到用戶要求應該遠在測試開始之前就制定出側是計劃把Pareto原理應用到軟件測試
41、中應該從“小規(guī)?!睖y試開始,并逐步進行“大規(guī)?!睖y試窮舉測試是不可能的為了達到最佳的測試效果,應該由獨立的第三方從事測試工作測試方法黑盒測試白盒測試測試步驟模塊測試子系統(tǒng)測試系統(tǒng)測試驗收測試平行運行測試階段的信息流單元測試測試重點:模塊接口局部數(shù)據(jù)結構重要的執(zhí)行通路出錯處理通路邊界條件代碼審查計算機測試集成測試自頂向下集成自頂向下集成是一種遞增的裝配軟件結構的方法,這種應用方法非常 廣泛。它需要存根程序,不需要驅動程序。自底向上集成自底向上集成是從軟件結構最底層模塊開始進行組裝和測試, 它與自 頂向下結合方法相反,需要驅動程序,但是不需要存根程序。不同集成測試策略的比較回歸測試包括3類不同的測試用例檢測軟件全部功能的代表性測試用例專門針對可能受修改影響的軟件功能的附加測試針對被修改過的軟件成分的測試確認測試7.5.1確認測試的范圍確認測試的兩種可能的結果:功能和性能與用戶要求一致,軟件是可以接受的功能和性能與用戶要求有差距軟件配置復查Alpha和Beta測試Alpha測試由用戶在開發(fā)者
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度臨時用電安全設施維護保養(yǎng)合同文本2篇
- 2025年度產(chǎn)品代理合同:智能家電全系列產(chǎn)品代理權轉讓
- 2025版內(nèi)蒙古自治區(qū)農(nóng)牧廳農(nóng)業(yè)產(chǎn)業(yè)鏈延伸與價值鏈提升合同4篇
- 二零二五年度臨時用電安全培訓服務合同范本
- 2025年度食品添加劑研發(fā)項目配料保密合同范本
- 2025年度苗木種植項目招投標合同4篇
- 二零二五年度家電品牌代言合同標準范本
- 二零二五年度某某學校校園內(nèi)電梯維修保養(yǎng)服務合同4篇
- 《短視頻編?。哼x題構想+腳本制作+劇本策劃+鏡頭拍攝》課件 第5、6章 了解劇本:創(chuàng)作優(yōu)劇本的基礎、劇本編寫:創(chuàng)作優(yōu)的故事情節(jié)
- 2025年度鋼材深加工項目運輸及安裝合同2篇
- 平安產(chǎn)險陜西省地方財政生豬價格保險條款
- 銅礦成礦作用與地質環(huán)境分析
- 30題紀檢監(jiān)察位崗位常見面試問題含HR問題考察點及參考回答
- 詢價函模板(非常詳盡)
- 《AI營銷畫布:數(shù)字化營銷的落地與實戰(zhàn)》
- 麻醉藥品、精神藥品、放射性藥品、醫(yī)療用毒性藥品及藥品類易制毒化學品等特殊管理藥品的使用與管理規(guī)章制度
- 一個28歲的漂亮小媳婦在某公司打工-被老板看上之后
- 乘務培訓4有限時間水上迫降
- 2023年低年級寫話教學評語方法(五篇)
- DB22T 1655-2012結直腸外科術前腸道準備技術要求
- GB/T 16474-2011變形鋁及鋁合金牌號表示方法
評論
0/150
提交評論