軟件工程導(dǎo)論(第6版)知識點總結(jié)、復(fù)習(xí)課-圖文_第1頁
軟件工程導(dǎo)論(第6版)知識點總結(jié)、復(fù)習(xí)課-圖文_第2頁
軟件工程導(dǎo)論(第6版)知識點總結(jié)、復(fù)習(xí)課-圖文_第3頁
軟件工程導(dǎo)論(第6版)知識點總結(jié)、復(fù)習(xí)課-圖文_第4頁
軟件工程導(dǎo)論(第6版)知識點總結(jié)、復(fù)習(xí)課-圖文_第5頁
免費預(yù)覽已結(jié)束,剩余33頁可下載查看

下載本文檔

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

文檔簡介

1、復(fù)習(xí)課酷愛YC第一章1、什么是軟件危機,什么是軟件工程軟件危機是指在計算機軟件開發(fā)、使用與維護過程中遇到的一系列嚴重問題和 難題。它包括兩方面:(1如何開發(fā)軟件,以滿足對軟件日益增長的需求;(2如何維護數(shù) 量不斷膨脹的已有軟件。軟件工程:采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件 ,把經(jīng)過時間 考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來 ,以經(jīng)濟地 開發(fā)出高質(zhì)量的軟件,并有效地維護它。2、完整的軟件配置由哪些內(nèi)容組成軟件配置主要包括程序,文檔和數(shù)據(jù)等成分。3、軟件生命周期分為哪3個時期和8個階段,每個階段的任務(wù)(工作分別是什么 重要性如何廠問題定義軟件定義可行性研究需

2、求分析總體設(shè)計詳細設(shè)計軟件生命周期軟件開發(fā)編碼與單元測試綜合測試運行維護一持續(xù)滿足用戶需求概括地說,軟件生命周期由軟件定義、軟件開發(fā)和運行維護3個時期組成1、軟件定義(系統(tǒng)分析。軟件定義時期的任務(wù)是:確定軟件開發(fā)工程必須完成的總目標;確定工程的可行性 ;導(dǎo)出實現(xiàn)工程目標應(yīng)該采用的策略及系統(tǒng)必須完成的功能;估計完成該項工程需要的資源和成本,并且制定工程進度表。這個時期的工作通常又稱為系統(tǒng)分析,由系統(tǒng)分析員負責(zé)完成。軟件定義時期通常進一步劃分成3 個階段,即問題定義、可行性研究和需求分析。(1 問題定義,確定系統(tǒng)要解決的問題是什么。成果:關(guān)于問題性質(zhì)、工程目標和工程規(guī)模的報告。(2 可行性研究,確

3、定問題是否有可用的、能行得通的解(包括:技術(shù)、經(jīng)濟、操作、社會等方面的可行性。這個階段的任務(wù)不是具體解決問題,而是研究問題的范圍 ,探索這個問題是否值得去解,是否有可行的解決辦法。成果:可行性研究報告。(3 需求分析,確定軟件系統(tǒng)的必須實現(xiàn)的功能、必須達到的性能、必須滿足的運行環(huán)境要求。系統(tǒng)分析員在需求分析階段必須和用戶密切配合,充分交流信息,以得出經(jīng)過用戶確認的系統(tǒng)邏輯模型。通常用數(shù)據(jù)流圖、數(shù)據(jù)字典和簡要的算法表示系統(tǒng)的邏輯模型。在需求分析階段確定的系統(tǒng)邏輯模型是以后設(shè)計和實現(xiàn)目標系統(tǒng)的基礎(chǔ),因此必須準確完整地體現(xiàn)用戶的要求。成果:軟件需求規(guī)格說明書(SRS,內(nèi)容包括:系統(tǒng)的邏輯模型;系統(tǒng)(

4、子系統(tǒng)的名稱、功能描述、接口、基本數(shù)據(jù)結(jié)構(gòu)、性能、設(shè)計需求、開發(fā)標準、驗收原則等。2、軟件開發(fā)。開發(fā)時期具體設(shè)計和實現(xiàn)在前一個時期定義的軟件,它通常由下述4個階段組成 :總體設(shè)計,詳細設(shè)計,編碼和單元測試,綜合測試。其中前兩個階段又稱為系統(tǒng)設(shè)計 ,后兩個階段又稱為系統(tǒng)實現(xiàn)。(1 總體設(shè)計(概要設(shè)計,回答“怎樣實現(xiàn)目標系統(tǒng)”。建立系統(tǒng)的總體結(jié)構(gòu),劃分子系統(tǒng);確定系統(tǒng)由哪些模塊組成,各子系統(tǒng)間、各模塊間的關(guān)系(包括定義各子系統(tǒng)接口界面和各功能模塊的接口,設(shè)計全局數(shù)據(jù)庫或數(shù)據(jù)結(jié)構(gòu),規(guī)定設(shè)計約束,制定組裝測試計劃。成果:概要設(shè)計說明書、數(shù)據(jù)庫或數(shù)據(jù)結(jié)構(gòu)說明書、系統(tǒng)的組裝(集成測試計劃等文檔。(2 詳細

5、設(shè)計任務(wù)就是把解法具體化,也就是回答: “應(yīng)該怎樣具體地實現(xiàn)這個系統(tǒng)呢?”, 設(shè)計每個程序模塊的內(nèi)部細節(jié),包括數(shù)據(jù)結(jié)構(gòu)、算法以及各程序模塊間的接口信息,并設(shè)計模塊的單元測試計劃。成果:詳細設(shè)計規(guī)格說明和單元測試計劃等詳細設(shè)計文檔。以上(1、 (2 又合稱為軟件設(shè)計。(3 編碼和單元測試這個階段的關(guān)鍵任務(wù)是寫出正確的容易理解、容易維護的程序模塊。根據(jù)詳細設(shè)計規(guī)格說明,選用某種程序設(shè)計語言把詳細設(shè)計的結(jié)果轉(zhuǎn)化為機器可運行的源程序模塊;運行和調(diào)試每一個程序模塊;每編寫出一個程序模塊的源程序,調(diào)試通過后,即對該模塊進行單元測試。成果:按一定規(guī)則存在盤上的通過了單元測試的各功能模塊的集合;詳細的單元測試

6、報告等文檔。(4 綜合測試通過各種類型的測試(及相應(yīng)的調(diào)試使軟件達到預(yù)定的要求。最基本的測試是集成測試和驗收測試。成果: 滿足概要設(shè)計要求、可運行軟件系統(tǒng)和源程序清單;組裝測試報告等文檔。 驗收測試報告、項目開發(fā)總結(jié)報告,向用戶提交的源程序清單、最終用戶手冊、操作手冊等文檔資料;由專家、用戶負責(zé)人、軟件開發(fā)和管理人員組成軟件評審小組對軟件驗收測試報告、測試結(jié)果和軟件進行評審 ,最終驗收軟件產(chǎn)品。以上(3、(4 又合稱為軟件實現(xiàn)。三種不同的軟件測試:單元測試、集成測試、驗收測試。3、軟件運行與維護軟件技術(shù)人員通過各種維護活動使軟件系統(tǒng)持久滿足用戶需要。通常有4類維護活動:改正性維護,也就是診斷和

7、改正在使用過程中發(fā)現(xiàn)的軟件 錯誤;適應(yīng)性維護,即修改軟件以適應(yīng)環(huán)境的變化;完善性維護,即根據(jù)用戶的要求改 進或擴充軟件使它更完善;預(yù)防性維護,即修改軟件為將來的維護活動預(yù)先做準備。成果:更新后的軟件產(chǎn)品:準確記錄維護活動的文檔。4、幾種傳統(tǒng)軟件工程生命周期模型:瀑布模型:基本思想、主要優(yōu)點傳統(tǒng)的瀑布模型基本思想:瀑布模型嚴格按照軟件生存周期各個階段來進行開發(fā),上一階段的輸 出即是下一階段的輸入,并強調(diào)每一階段的嚴格性。它規(guī)定了各階段的任務(wù)和應(yīng)提 交的成果及文檔,每一階段的任務(wù)完成后,都必須對其階段性產(chǎn)品(主要是文檔進行評 審,通過后才能開始下一階段的工作。因此,它是一種以文檔作為驅(qū)動的模型。優(yōu)

8、點:可強迫開發(fā)人員采用規(guī)范的方法;嚴格地規(guī)定了每個階段必須提交的文檔 要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細驗證??焖僭湍P停夯舅枷牖舅枷?軟件開發(fā)人員根據(jù)用戶提出的軟件基本需求快速開發(fā)一個原型,以便 向用戶展示軟件系統(tǒng)應(yīng)有的一部分或全部功能和性能,同時使用戶熟悉系統(tǒng)。在征 求用戶對原型的初步意見后,進一步使需求全面化、精確化,并據(jù)此改進、完善原 型。如此迭代,直到軟件開發(fā)人員和用戶都通過原型確認軟件系統(tǒng)的需求并達成一 致的理解為止。軟件需求確定后,便可進行設(shè)計,編碼、測試等以后的各個開發(fā)步 驟。增量模型:基本思想、主要優(yōu)點I需求分析I基本思想:把一個軟件產(chǎn)品劃分為一系列

9、的增量構(gòu)件來設(shè)計、編碼、集成和測 試,并逐個添加到軟件產(chǎn)品中去,逐步向用戶提交產(chǎn)品。每個構(gòu)件能夠完成特定的功 能優(yōu)點:(1軟件的實現(xiàn)和維護階段沒有明顯的分界線;(2用戶在很短時間內(nèi)就可以使用產(chǎn)品的部分功能(3用戶適應(yīng)新產(chǎn)品的時間較充裕(4構(gòu)件的分解要易于測試、規(guī)模適中(5軟件的體系結(jié)構(gòu)是開放的,易于擴充和維護螺旋模型:引入的原因,與瀑布模型、快速原型模型的聯(lián)系基本思想:軟件風(fēng)險是任何軟件開發(fā)項目中都普遍存在的實際問題 ,項目越大,軟 件越復(fù)雜,承擔(dān)該項目所冒的風(fēng)險也越大。軟件風(fēng)險可能在不同程度上損害軟件開 發(fā)過程和軟件產(chǎn)品質(zhì)量。構(gòu)建原型是一種能使某些類型的風(fēng)險降至最低的方法。螺 旋模型的基本思

10、想是,使用原型及其他方法來盡量降低風(fēng)險。聯(lián)系:簡化的螺旋模型是在快速原型模型的基礎(chǔ)上擴展而成的,把它看作在每個 階段之前都增加了風(fēng)險分析過程的快速原型模型。完整的螺旋模型,將瀑布模型與原型模型結(jié)合起來,并且加入前兩種模型均忽略 了的風(fēng)險分析安而藥T常制:宵聃于天空啊例黜唱學(xué)人只附用亂 管崖,的科于翎閉我方范 和工整潮片,枇江耀法方,弊我旺耳目M點即雖相巴車.嘉曝皇的塊點*11#歲上1嘎 基不機便怕r苦州出Wt火之)俎句的近蚪苴法需 “力模住禪聞行H3)看中按慳鼠嘴;修地崎凰斷豹的雷欣.而讀典曬.(4、cme*怪q必/軻0日開中的后哧離戶才悌看時,aetx.r網(wǎng)的中匕墨新幽使用題 (1 )聞戶的

11、吟E耳澧裝至面.且在開陽的沒有跖少安優(yōu).(2)并營人恥用nffi應(yīng)聞轅UM 乂 3 )第戶圖注電球攜非R由底X4)開盛工作 期周門裾與的e/用UL甑返貨貨磨軍F優(yōu)點(I)可前律愿比HR好硼&武S宜.Ufi庚913哪址,<1)靜0千開節(jié)與麻II舸同他;N J開打前用值fHfclgE目時用戶.缶悅法小原空瑛皇的副土 I 1U 上戶與同出者充原空好干同一 ? |君與 古生而計出k生 以小斗i -F率月產(chǎn)雙人情史曲*i.信叱WI*鼻口的燃冏外州I附脩開用的物呦附限制解梢快理的厚刺H靠I目I ? ) 用打給精即可11;;.帝邛梅聽情fOr料的開著用I f 3 |酒行產(chǎn)品得也計福勺,魄 ;:

12、Tk 親特中.用王善自前丁作輔 片母一后號才H,內(nèi)身才,修,碼缶匕(1)率用空,律藥比總是人詩修配力區(qū).制鼾哈不用酣人人人力直莪:12 夔M . (司皿人EQFf ” ;" J可骷速mt好天口.時串戶代用健門附附FE.陽像7千口口 1 1J鼻 開力怫西距命尊景手*曰匹,煙 立件5憑日缶FF液工II洋#鰭冷(!)郢3;£31戶子;戶出產(chǎn)I斗理州日祠,內(nèi)認人仙九.勺梅組KJ任淮國知勒;. , R|i.加京臬1g比川村竊由氣幡耳 4而!!:/坪.挈M卿M*才*就目.事播取雨肝用范fll f1唐柘回鏟層升單虞跖田季開苒.期中總莽修硼 12 ) 時定顯E產(chǎn)情求的產(chǎn)品.用R1把用電空X

13、 3】時制iH型)里址ttG城而旦巴 自血生雄朝:& 懵空色爬”中涉臺的.酶吃點11畸tH9性可在任面目曬巾命時跖安萱42)小岫驗 出量推通我曳泉嫩幽蜂計空駕值/容骷r( 5)容 F腐如與的的修的升直帛注下 *口千詛用正腐斤煙次所咽口的可12tl ,(4)情雷叫值看下!”*辜分圾口的帝恒 .出面性或小生鈣g?+f5T大用不kM碼靚點.(1)通國理具甚微駕車*O4¥牯鯉的U號0901電 K 咽收煙配日R電串,2"此忸昌川時4.3. 加星展步I上JH步的值 代洪酢需姐瓜河友感奉,回:!用交時外HSF收力朗履出我回 «K. T空向昌+ 飛工魄日段告 W.什么是:

14、經(jīng)濟可行性、技術(shù)可行性、運行與操作可行性、法律可行性(1 經(jīng)濟可行性:這個系統(tǒng)的經(jīng)濟效益能超過它的開發(fā)成本嗎?估算項目的開發(fā)成本和系統(tǒng)投入使用后可能帶來的利潤,進行成本/效益分析,從經(jīng)濟角度判斷系統(tǒng)開發(fā)是否“合算 ”。(2 技術(shù)可行性:使用現(xiàn)有的技術(shù)能實現(xiàn)這個系統(tǒng)嗎?根據(jù)客戶提出的系統(tǒng)功能、性能要求,從開發(fā)者的技術(shù)實力、以往工作基礎(chǔ)、問題的復(fù)雜性等出發(fā),判斷系統(tǒng)開發(fā)在時間、費用及其他各項約束條件限制下成功的可能性。(3 運行、操作可行性:系統(tǒng)的操作方式在這個用戶組織內(nèi)行得通嗎?主要研究系統(tǒng)的運行方式在用戶單位是否可以被有效地實施,是否與原有其他系統(tǒng)相矛盾;系統(tǒng)的操作規(guī)程在用戶單位內(nèi)是否可行,它

15、包括人事、科技政策、管理方法等等。(4 法律可行性:系統(tǒng)的開發(fā)使用,在當(dāng)國當(dāng)?shù)禺?dāng)時合法嗎?利用軟件工程的方法設(shè)計開發(fā)軟件系統(tǒng)的過程需求分析的基本任務(wù)1. 確定需求-確定對系統(tǒng)的綜合要求(1 功能需求(2性能需求(3可靠性和可用性需求(4出錯處理需求(5 接口需求(6 約束 (7 逆向需求 (8 將來可能提出的要求2. 建立數(shù)據(jù)模型-利用圖形工具描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)并將數(shù)據(jù)結(jié)構(gòu)規(guī)范化,建立數(shù)據(jù)模型3. 導(dǎo)出系統(tǒng)的邏輯模型-通常用數(shù)據(jù)流圖、實體-聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典和主要的處理算法描述整個邏輯模型4. 編寫需求規(guī)格說明書5. 修正系統(tǒng)開發(fā)計劃本階段結(jié)束形成的基本文檔軟件需求規(guī)格說明書結(jié)構(gòu)化分析

16、應(yīng)建立哪三大模型,分別用什么工具描述數(shù)據(jù)模型數(shù)據(jù)流圖功能模型實體-聯(lián)系圖(E-R 圖行為模型狀態(tài)圖數(shù)據(jù)流圖、E-R圖、狀態(tài)轉(zhuǎn)換圖的構(gòu)成數(shù)據(jù)流圖-系統(tǒng)邏輯功能的描述工具4種成分:源點和終點,處理,數(shù)據(jù)存儲,數(shù)據(jù)流E-R圖:實體(即數(shù)據(jù)對象-矩形框,關(guān)系-菱形框,屬性-橢圓形或圓角矩形狀 態(tài)轉(zhuǎn)換圖:狀態(tài),事件,狀態(tài)轉(zhuǎn)換數(shù)據(jù)字奧:數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素選 行定義的集合。它的作用正是在軟件分析和設(shè)計的過程中給人提供關(guān)于數(shù)據(jù)的描述信息. 數(shù)據(jù)流國和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)可行性研究階段的邏輯模型。數(shù)據(jù)字典的實現(xiàn)(1)用Case工具中的數(shù)據(jù)字典處理程序?qū)?shù)據(jù)字典進行生

17、威口舞盛,(2)通過手工制作卡片來制作數(shù)據(jù)字典.每張卡片上保存描述一個數(shù)據(jù)的信息,主要應(yīng)該 包含下述這樣一些信息:名字、別名、描述、定義、位置.第五章1、總體設(shè)計過程包含哪兩個工作階段,各完成什么任務(wù)第一階段:系統(tǒng)設(shè)計階段,確定系統(tǒng)的物理實現(xiàn)方案(1設(shè)想(完善供選擇的方案(2選取合理的方案(3推薦最佳方案第二階段:結(jié)構(gòu)設(shè)計階段,確定軟件的結(jié)構(gòu)(1功能分解從實現(xiàn)的角度細化邏輯模型(2設(shè)計軟件結(jié)構(gòu)(3設(shè)計數(shù)據(jù)庫(4制定測試計劃(5書寫文檔(6審查和復(fù)審2、軟件工程的中心課題是控制軟件的復(fù)雜度;在總體設(shè)計階段,軟件復(fù)雜度主 要體現(xiàn)為模塊獨立性(和全局數(shù)據(jù)結(jié)構(gòu)復(fù)雜度;描述模塊獨立性的兩個指標分別是耦

18、合和內(nèi)聚3、耦合的含義,1-8級耦合的具體含義,耦合級別的排列耦合(Coupling:是對軟件結(jié)構(gòu)內(nèi)不同模塊之間相互關(guān)聯(lián)程度的強弱的度量。它決于各個模塊之間接口的復(fù)雜程度、進入或訪問一個模塊的點以及哪些信息通 過接口傳遞。耦合度可以分為若干級別:無直接耦合強(低耦合)數(shù)據(jù)耦合特征耦合(中耦合)控制耦合伊卜部耦合(較強耦合以共耦合(1非直接耦合-兩個模塊沒有直接關(guān)系(如模塊1和模塊2,每一個都能獨立地 工作而不需要另一個模塊的存在。非直接耦合兩個模塊間的獨立性最強低耦合性(無直接耦合(低耦合),數(shù)據(jù)耦合、特征耦合(中耦合)控制耦合卜部耦合非直接耦合(2數(shù)據(jù)耦合-兩個模塊彼此間通過參數(shù)交換信息,而

19、且交換的信息僅僅是簡單的 數(shù)據(jù)信息。這屬于松散耦合。(3標記耦合-兩個模塊通過傳遞數(shù)據(jù)結(jié)構(gòu)參數(shù)加以聯(lián)系(不是簡單數(shù)據(jù),而是記 錄、數(shù)組等,則稱這兩個模塊間存在標記偶合。開發(fā)票單價數(shù)量金額計算電費計嵬水費計算水費計算水電費數(shù)據(jù)耦合特征耦合(標記耦合(4特征耦合-屬于標記耦合,把整個數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞,而被調(diào)用的模塊只需要使用其中一部分數(shù)據(jù)元素。P39開發(fā)票單價數(shù)量金額住戶情況計算電費控制耦合公共環(huán)境耦合(5控制耦合-一個模塊通過傳送開關(guān)、標志、名字等控制信息,明顯地控制選擇 另一模塊的某部分功能。控制耦合增加了理解和編程的復(fù)雜性,調(diào)用模塊必須知道被調(diào)模塊的內(nèi)部邏輯, 增加了相互依賴。去除模塊間

20、控制耦合的方法:a.將被調(diào)用模塊內(nèi)的判定上移到調(diào)用模塊中進行b.被調(diào)用模塊分解成若干單一功能模塊(6外部耦合-一組模塊都訪問同一全局簡單變量,而且不是通過參數(shù)傳遞該全局 變量的信息。(7公共環(huán)境耦合-兩個或多個模塊通過一個公共數(shù)據(jù)環(huán)境相互作用。公共環(huán)境 可以是全程變量、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)、任何存儲介質(zhì)上的文件、物理設(shè)備等等。公共環(huán)境耦合的復(fù)雜程度隨耦合的模塊個數(shù)而變化,當(dāng)耦合的模塊個 數(shù)增加時復(fù)雜程度顯著增加。公共環(huán)境偶合必不可少,但耦合模塊的數(shù)目應(yīng)盡量少。(8內(nèi)容耦合一P41Entry!Entry2不正孝梏人另一模塊多人口模塊一模塊直相 訪問另一康 塊的內(nèi)部信 息(程序代 玲或數(shù)

21、據(jù)J內(nèi)容耦合4、內(nèi)聚的含義,1-7級內(nèi)聚的具體含義,內(nèi)聚級別的排列內(nèi)聚(Cohesion標志同一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度 ,它是信息隱藏和局部化概念的自然擴展。高內(nèi)聚:模塊內(nèi)部完成單一的處理;低內(nèi)聚:模塊內(nèi)部各部分關(guān)聯(lián)不緊密,完成分 散的多個處理任務(wù);設(shè)計時應(yīng)該力爭做到高內(nèi)聚。內(nèi)聚度也可以分為若干級別低內(nèi) 聚性,偉白匕甬偶然內(nèi)聚。分 邏輯內(nèi)聚1分 時間內(nèi)聚3分 過程內(nèi)聚5分 通信內(nèi)聚7分 順序內(nèi)聚9分(1偶然內(nèi)聚-當(dāng)模塊內(nèi)各部分之間沒有聯(lián)系,或者即使有聯(lián)系,這種聯(lián)也很松散, 則稱這種模塊為偶然內(nèi)聚模塊,它的內(nèi)聚程度最低(2邏輯內(nèi)聚-把幾種相關(guān)功能或邏輯上相似的功能組合在一個模塊內(nèi),每

22、次調(diào)用 由傳給模塊的參數(shù)確定執(zhí)行哪種功能。低 偶然內(nèi)聚0分 弱(功能分散)邏輯內(nèi)聚1分I模內(nèi)時間內(nèi)聚3分 塊聚過程內(nèi)聚5分 ”偶然類聚邏輯類聚(3時間內(nèi)聚-一個模塊包含若干必須在同一段時間內(nèi)執(zhí)行的任務(wù)例如系統(tǒng)初始化模塊、系統(tǒng)結(jié)束模塊、緊急故障處理模塊等均是時間性聚合模 塊。(4過程內(nèi)聚-一個模塊內(nèi)的處理元素是相關(guān)的且僅有控制聯(lián)系,各處理元素必 須以特定次序執(zhí)行。(5通信內(nèi)聚-模塊中所有元素都使用同一個輸入數(shù)據(jù)和(或產(chǎn)生同一個輸出數(shù) 據(jù)。加工記錄新文件 > 改件一 修文一(6順序內(nèi)聚-一個模塊內(nèi)的處理元素既包含數(shù)據(jù)聯(lián)系也包含控制聯(lián)系,而且這些 處理必須順序執(zhí)行(通常一個處理元素的輸出數(shù)據(jù)作

23、為下一個處理元素的輸入數(shù) 據(jù)。* 1 2 3 - 3 4(7功能內(nèi)聚-一個模塊中各個部分都是完成某單一功能必不可少的組成部分,或 者說該模塊中所有部分都是為了完成同一項具體功能而協(xié)同工作,緊密聯(lián)系,不可分 割的,則稱該模塊為功能內(nèi)聚模塊。功能內(nèi)聚是最高程度的內(nèi)聚。信息內(nèi)聚一這種模塊完成多個筒單功能,包個功能都在同一數(shù)據(jù)結(jié)梅上撰作,科圓功能 有一個唯一的入口點.這個模塊將根據(jù)不同的要求,躇定該執(zhí)行哪一個功能由于這個 橫塊的所有功能都是基于同一個數(shù)據(jù)結(jié)肉因此,它是一個信息內(nèi)聚日猴塊,L;總內(nèi)聚信息內(nèi)聚模塊可以看成是多個功能內(nèi)霰橫塊的組管.并且達到信息的BS蔽.即杷某個蜘E結(jié)構(gòu), 資源戢設(shè)備隱蔽在塊

24、內(nèi),不為別的模塊所知曉.5、如何將數(shù)據(jù)流圖轉(zhuǎn)換為初始的軟件結(jié)構(gòu)圖/層次圖通過變換分析的方法第1步復(fù)查基本系統(tǒng)模型第2步復(fù)查并精化數(shù)據(jù)流圖。第3步確定數(shù)據(jù)流圖具有變換特性還是事務(wù)特性。第4步確定輸入流和輸出流的邊界,從而孤立出變換中心。第5步完成第一級分解”。第6步完成第二級分解”。第7步使用設(shè)計度量和啟發(fā)式規(guī)則對第一次分割得到的軟件結(jié)構(gòu)進一步精化6、關(guān)于模塊設(shè)計的啟發(fā)規(guī)則啟發(fā)式規(guī)則(模塊化設(shè)計的經(jīng)驗寬度1 .改進軟件結(jié)構(gòu)提高模塊獨立性2 .模塊規(guī)模應(yīng)該適中3 .深度、寬度、扇出和扇入都應(yīng)適當(dāng)4 .模塊的作用域應(yīng)該在控制域之內(nèi)5 .力爭降低模塊接口的復(fù)雜程度6 .設(shè)計單入口單出口的模塊7 .模塊

25、功能應(yīng)該可以預(yù)測第六章8 、詳細設(shè)計的目的(主要任務(wù)目的:為軟件系統(tǒng)的H圖/SC圖中的每一個模塊確定采用的算法(處理流程和模 塊內(nèi)數(shù)據(jù)結(jié)構(gòu),選定某種表達工具給出精確的描述。任務(wù):用一定的工具精確描述目標系統(tǒng),從而方便在編碼階段可以把這種描述直接翻譯成用某種程序設(shè)計語言書寫的程序。(1 確定每一模塊的算法(處理流程(2 確定每一模塊使用的局部數(shù)據(jù)結(jié)構(gòu)(3 確定本模塊的接口和用戶界面(4 為每一模塊設(shè)計一組測試用例(單元測試計劃2、結(jié)構(gòu)化程序設(shè)計1、什么是結(jié)構(gòu)化程序設(shè)計(1 如果一個程序的代碼塊僅僅是通過順序、選擇和循環(huán)這3 種基本控制結(jié)構(gòu)進行連接,并且每個代碼塊是單入口、單出口的,則稱這個程序是

26、結(jié)構(gòu)化的。(2結(jié)構(gòu)化程序設(shè)計是盡可能少用 GO TO語句的程序設(shè)計方法。最好僅在檢測 出錯誤時才使用GO TO語句,而且應(yīng)該總是使用前向GO TO語句。(3如果允許使用LEAVE(或BREAK結(jié)構(gòu),則不僅方便而且會使效率提高很多。LEAVE或BREAK結(jié)構(gòu)實質(zhì)上是受限制的GO TO語句,用于轉(zhuǎn)移到循環(huán)結(jié)構(gòu) 外面的語句。(4如果只允許使用順序、IF-THEN-ELSE型分支和DO-WHILE型循 環(huán)這3種基本控制結(jié)構(gòu),則稱為經(jīng)典的結(jié)構(gòu)程序設(shè)計;如果除了上述3種基本控制結(jié) 構(gòu)之外,還允許使用DO-CASE型多分支結(jié)構(gòu)和DO-UNTIL型循環(huán)結(jié)構(gòu),則稱為擴展 的結(jié)構(gòu)程序設(shè)計;如果再加上允許使用LEA

27、VE(或BREAK結(jié)構(gòu),則稱為修正的結(jié)構(gòu) 化程序設(shè)計。2、結(jié)構(gòu)化程序設(shè)計中基本的控制流程順序型選擇型多情況選擇型(CASE 型)先判定型循環(huán)(DO-WHILE)后判定型循環(huán)(D0-IMIL)3、詳細設(shè)計的描述-程序流程圖、盒圖、PAD圖:什么是,基本符號和含義,畫1、程序流程圖-又稱為程序框圖,廣泛描述過程設(shè)計的方法?;痉枺▏覙藴薯樞蛐?選擇型可表示的控制結(jié)構(gòu)見前圖(結(jié)構(gòu)化程序設(shè)計中基本的控制流程2、盒圖(N-S圖出于要有一種不允許違背結(jié)構(gòu)程序設(shè)計精神的圖形工具的考慮,Nassi和Shneiderman提出了盒圖,又稱為N-S圖?;痉柡捅硎镜慕Y(jié)構(gòu)第一個任務(wù)第二個任務(wù)第三個任務(wù)FX條件

28、/ELSE 部分THEN 部分(b)CASE條件/值值2* , 值kCASE 1 部分CASE 2 部分*CASE n 部分1c)循環(huán)條件DO-WHIM- 部分U)DO-UNTJL部分循*下條件|(e)舉例第一個任務(wù)第二個任務(wù)第三個任務(wù)循環(huán)條件3、PAD 圖條件/TELSE 部分THEN 部分(b)DO-UN 11L部分CASE條件/值1E2» '« 0CASE 1部分CASE 2 部分t « 1CASE w部分(c)PAD是問題分析圖(problem analysis diagram用二維樹形結(jié)構(gòu)的圖來表示程序 的控制流,將這種圖翻譯成程序代碼比較容易(

29、a順序(先執(zhí)行P1后執(zhí)行P2;(b選擇(IF C THEN P1 ELSE P2;(cCASE 型多分支;(dWHILE 型循環(huán)(WHILE C DO P;(eUNTIL 型循環(huán)(REPEA PUNTIL C;(f語句標號;(gg定義ij|WHILE C PP2| (d)(a) UNTIL C P 丁 PlJ P2(b) _使用PAD圖提供的定義功能來逐步求精的例子4、在詳細設(shè)計階段,軟件復(fù)雜度主要體現(xiàn)為程序的復(fù)雜程度,可用程序模塊的環(huán) 形復(fù)雜度(McCabe方法來度量,或用Halstead方法來度量5、環(huán)形復(fù)雜度(McCabe方法來度量計算工具:流圖-退化了的程序流程圖McCabe方法根據(jù)程

30、序控制流的復(fù)雜程度定量度量程序的復(fù)雜程度,這樣度量出 的結(jié)果稱為程序的環(huán)形復(fù)雜度。為了突出表示程序的控制流,人們通常使用流圖(也稱為程序圖。所謂流圖實質(zhì) 上是退化了的”程序流程圖,它僅僅描繪程序的控制流程,完全不表現(xiàn)對數(shù)據(jù)的具體 操作以及分支或循環(huán)的具體條件。計算方法:3種方法(1 流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度區(qū)域:由邊和結(jié)點圍成的面積稱為區(qū)域。當(dāng)計算區(qū)域數(shù)時應(yīng)該包括圖外部未被圍起來的那個區(qū)域。即流圖的封閉區(qū)域數(shù)加1。(2流圖的環(huán)形復(fù)雜度V(G=E-N+2,其中,E是流圖中邊的條數(shù),N是結(jié)點數(shù)。(3流圖的環(huán)形復(fù)雜度V(G=P+1,其中,P是流圖中判定結(jié)點的數(shù)目。6、Halstead方法來度量-

31、計算方法Halstead方法是另一個著名的方法,它根據(jù)程序中運算符和操作數(shù)的總數(shù)來度量 程序的復(fù)雜程度。計算復(fù)雜度的方法:在圖形界面(或Web界面環(huán)境下,尤其是在交互系統(tǒng)的中j 個模塊的頁面數(shù)以及每個頁面上的項目數(shù),也是模塊復(fù)雜程度度量的依據(jù)。第七章1、編碼風(fēng)格涉及的一系列內(nèi)容源程序?qū)嶋H上也是一種供人閱讀的文檔,有一個文檔的風(fēng)格問題。應(yīng)該使程序具有良好的風(fēng)格。源程序代碼的邏輯簡明清晰、易讀易懂是好程序的一個重要標 準。 源程序文檔化(程序內(nèi)部的文檔 數(shù)據(jù)說明 語句構(gòu)造 輸入輸出設(shè)計 程序的效率2、單元測試、集成測試、確認/驗收測試,測試計劃(包括用例在什么時候書寫 形成單元測試:-模塊測試模塊

32、測試的目的是保證每個模塊作為一個單元能正確運行,所以模塊測試通常又稱為單元測試。在這個測試步驟中所發(fā)現(xiàn)的往往是詳細設(shè)計和編碼的錯誤。集成測試 :子系統(tǒng)測試局部(模塊子系統(tǒng)子系統(tǒng)測試是按軟件結(jié)構(gòu)把經(jīng)過單元測試的若干模塊放在一起形成一個子系統(tǒng)來測試。模塊相互間的協(xié)調(diào)和通信是這個測試過程中的主要問題,因此,這個步驟著重測試模塊間的接口。系統(tǒng)測試 全局(子系統(tǒng)完整系統(tǒng)系統(tǒng)測試是,按軟件結(jié)構(gòu),把經(jīng)過測試的若干子系統(tǒng)裝配成一個完整的系統(tǒng)來測試。在這個過程中不僅應(yīng)該發(fā)現(xiàn)設(shè)計和編碼的錯誤,還應(yīng)該驗證系統(tǒng)確實能提供需求說明書中指定的功能,而且系統(tǒng)的動態(tài)特性也符合預(yù)定要求。在這個測試步驟中發(fā)現(xiàn)的往往是軟件設(shè)計中的

33、錯誤,也可能發(fā)現(xiàn)需求說明中的錯誤。不論是子系統(tǒng)測試還是系統(tǒng)測試,都兼有檢測和組裝兩重含義,通常合稱為集成測試。驗收測試-用戶參與驗收測試把軟件系統(tǒng)作為單一的實體進行測試,測試內(nèi)容與系統(tǒng)測試基本類似但是它是在用戶積極參與下進行的,而且可能主要使用實際數(shù)據(jù)(系統(tǒng)將來要處理的信息進行測試。驗收測試的目的是驗證系統(tǒng)確實能夠滿足用戶的需要,在這個測試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說明書中的錯誤。驗收測試也稱為確認測試。3、軟件測試與調(diào)試的目的軟件測試的目的就是在軟彳投入生產(chǎn)性運行之前,盡可能多地發(fā)現(xiàn)軟件中的錯 誤。測試橫跨兩個階段:(1編寫出每個模塊之后就對它做必要的測試(稱為單元測試。(2在上一階段結(jié)束之

34、后,對軟件系統(tǒng)還應(yīng)該進行各種綜合測試通常由專門的測 試人員承擔(dān)這項工作。上 軟件測試的直接目的是要衡量軟件產(chǎn)品是否符合預(yù)期;U軟件測試的根本目的是確保軟件滿足用戶需求;調(diào)試就是通過測試發(fā)現(xiàn)軟件的錯誤之后改正錯誤并進行再診斷。調(diào)試是測試階 段最困難的工作。調(diào)試是在測試發(fā)現(xiàn)錯誤之后排除錯誤的過程。調(diào)試的任務(wù)是進一 步診斷和改正程序中潛在的錯誤。4、軟件錯誤主要包括什么軟件錯誤指軟件產(chǎn)品中存在的導(dǎo)致期望的運行結(jié)果和實際運行結(jié)果間出現(xiàn)差異 的一系歹I問題,這些問題包括故障、失效、缺陷。1 .軟件故障是指軟件運行過程中出現(xiàn)的一種不希望或不可接受的內(nèi)部狀態(tài)。2 .軟件失效是指軟件運行時產(chǎn)生的一種不可接受的

35、外部行為結(jié)果。3 .軟件缺陷是存在于軟件之中的那些不希望或不可接受的偏差。5、測試用例由什么組成IEEE對于測試用例給出的定義是:測試用例是一組測試輸入、執(zhí)行條件和預(yù)期 結(jié)果,目的是要滿足一個特定的目標,例如執(zhí)行一條特定的程序路徑或檢驗是否符合 一個特定的需求。測試用例可表示成:測試用例=輸入+輸出+測試環(huán)境其中,輸入是指測試數(shù)據(jù)和操作步驟;輸出是指系統(tǒng)的預(yù)期執(zhí)行結(jié)果;測試環(huán)境是 指進行軟件測試所必須的工作平臺和前提條件。6、軟件測試的方法C 人工測試方法(靜態(tài)測試方法I 計算機輔助靜軟件測試的J態(tài)分析方法策略和方法f白盒測試方法 I動態(tài)測試方法(1靜態(tài)測試-什么是靜態(tài)測試-對軟件(文檔進行分

36、析、檢查和審閱,不實際運行被測試的軟件。靜態(tài)測試名可找出3070%的邏輯設(shè)計錯誤,主要工作是對需求規(guī)格說明書、軟 件設(shè)計說明書、源程序做檢查和審閱(主要是閱讀文檔 包括:(1通過結(jié)構(gòu)分析、流圖分析、代碼審查,指出軟件缺陷 (2是否符合標準和規(guī)范;(2動態(tài)測試-什么是白盒測試-什么是黑盒測試-什么是動態(tài)測試-通過運行軟件來檢驗軟件的運行結(jié)果和動態(tài)行為的正確性。動態(tài)測試的兩個基本要素:被測試程序、測試用例。動態(tài)測試有兩種典型的方法:黑盒測試和白盒測試。 (1黑盒測試被測對象輸入條件1* * «輸入條件制定義 :已經(jīng)知道了產(chǎn)品應(yīng)該具有的功能,可以針對產(chǎn)品的每個(或主要功能點設(shè)計一組用例(包括輸入數(shù)據(jù)和預(yù)期輸出數(shù)據(jù),通過測試來檢驗是否每個功能都能正常使用;黑盒測試主要在以下方面進行:(1 a /洲t:(2菜單/幫助測試:(3發(fā)行測試:(4回歸測試黑盒測試的優(yōu)勢:a.黑盒測試方法對測試人員的技術(shù)要求相對較低;b.不需要了解程序?qū)崿F(xiàn)的細節(jié),測試團隊與開發(fā)團隊可以并行完成各自的任務(wù)。黑盒測試的局限性:測試結(jié)果的覆蓋度不容易度量,測試的潛在風(fēng)險較高。(2 白盒測試知道產(chǎn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論