軟件工程總結--背誦_第1頁
軟件工程總結--背誦_第2頁
軟件工程總結--背誦_第3頁
軟件工程總結--背誦_第4頁
軟件工程總結--背誦_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) 第一章 軟件工程概論1什么是軟件危機?軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。這些問題表現(xiàn)在以下幾個方面:(1)用戶對開發(fā)出的軟件很難滿意。(2)軟件產(chǎn)品的質(zhì)量往往靠不住。(3)一般軟件很難維護。(4)軟件生產(chǎn)效率很低。(5)軟件開發(fā)成本越來越大。(6)軟件成本與開發(fā)進度難以估計。(7)軟件技術的發(fā)展遠遠滿足不了計算機應用的普及與深入的需要。2產(chǎn)生軟件危機的原因?1.軟件本身的特點:邏輯部件,不具有直觀可見性;規(guī)模日趨龐大,開發(fā)與管理十分復雜

2、性2.錯誤的軟件開發(fā)與維護方法:忽視軟件需求分析;輕視文檔的重要性;忽略軟件維護等3怎樣克服軟件危機?(1) 充分吸收和借鑒人類長期以來從事各種工程項目中積累的行之有效的有效原理、概念、技術與方法,特別是吸取幾十年來人類從事計算機硬件研究和開發(fā)的經(jīng)驗教訓。在開發(fā)軟件的過程中努力作到良好的組織,嚴格的管理,相互友好的協(xié)作。(2) 推廣在實踐中總結出來的開發(fā)軟件的成功的技術和方法,并研究更好、更有效的技術和方法,盡快克服在計算機系統(tǒng)早期發(fā)展階段形成的一些錯誤概念和作法。(3) 根據(jù)不同的應用領域,開發(fā)更好的軟件工具并使用這些工具。將軟件開發(fā)各個階段使用的軟件工具集合成一個整體,形成一個很好的軟件開

3、發(fā)支環(huán)環(huán)境??傊疄榱私鉀Q軟件危機,既要有技術措施(方法和工具),又要有必要的組織管理措施。2假設自己是一家軟件公司的總工程師,當把圖1.1給手下的軟件工程師們觀看,告訴他們及早發(fā)現(xiàn)并改正錯誤的重要性時,有人不同意這個觀點,認為要求在錯誤進入軟件之前就清除它們是不現(xiàn)實的,并舉例說:“如果一個故障是編碼錯誤造成的,那么,一個人怎么能在設計階段清楚他呢?”應該怎樣反駁他? 反駁:發(fā)生在編碼時期的故障極有可能是需求分析階段由于操作不當產(chǎn)生的,所以必須及時消除錯誤,否則,到了后期軟件運行和維護階段再回過頭來修改,將會付出更大的代價。4、什么是軟件工程?有哪些本質(zhì)特性怎樣用軟件工程消除軟件危機?軟件工程是

4、指導計算機軟件開發(fā)和維護的工程學科。(1) 它采用工程的概念、原理、技術和方法來開發(fā)和維護軟件;(2) 它將管理技術與當前經(jīng)過時間考驗的而證明是正確的技術方法結合起來;(3) 它強調(diào)使用生存周期方法學和結構分析和結構技術;(4) 經(jīng)過人們長期的努力和探索,圍繞著實現(xiàn)軟件優(yōu)質(zhì)高產(chǎn)這個目標,從技術到管理兩個方面做了大量的努力,逐漸形成了軟件工程學這一新的學科。消除軟件危機的措施:(1)對計算機軟件有一個正確的認識(軟件程序)(2)必須充分認識到軟件開發(fā)不是某種個體勞動的神秘技巧,而應該是一種組織良好、管理嚴密、各類人員協(xié)同配合、共同完成的工程項目。(3)推廣使用在實踐中總結出來的開發(fā)軟件的成功技術

5、和方法。(4)開發(fā)和使用更好的軟件工具5什么是軟件生命周期,各階段的任務?軟件生命周期是指從軟件定義、軟件開發(fā)、軟件維護的全過程。 定義時期:問題定義 可行性研究 需求分析開發(fā)時期:總體設計 詳細設計 編碼和單元測試 綜合測試維護時期:綜合測試(1)問題定義:通過對系統(tǒng)實際用戶和使用部門負責人的訪問調(diào)查,明確要解決問題性質(zhì)、工程目標和規(guī)模。(2) 可行性研究:導出系統(tǒng)的高層邏輯模型(數(shù)據(jù)流圖),并在此基礎上更準確、更具體的確定工程的規(guī)模和目標;更準確的估計系統(tǒng)的成本和效益。(3) 需求分析:和用戶密切配合,充分交流信息,以得到用戶確認的系統(tǒng)邏輯模型(數(shù)據(jù)流圖、數(shù)據(jù)字典及簡要的算法表示的系統(tǒng)邏輯

6、模型)。(4) 總體設計: 1)提出幾種可能的解決方案,權衡各種方案的利弊,并推薦出最佳方案; 2)設計軟件的結構,確定軟件的模塊構成及模塊之間的關系。(5) 詳細設計:把解決問題的方案具體化,設計出程序的詳細規(guī)格說明,并包含必要的細節(jié)信息。 (6) 編碼和單元測試:將詳細設計的結果翻譯成高級程序設計語言的源程序,并仔細測試編寫的每一個模塊。(7)綜合測試:通過各類型的嚴格測試與調(diào)試,使軟件達到預定的要求。1)集成測試:各模塊裝配后測試;2)驗收測試:按規(guī)格說明書。(8) 軟件維護:通過必要的維護工作使得系統(tǒng)持久的滿足用戶的需要: 1)改正性維護;2)適應性維護; 3)完善性維護;4)預防性維

7、護6、 軟件過程的定義? 為了獲得高質(zhì)量軟件所需要完成的一系列任務框架,他規(guī)定了完成各項任務的工作步驟。 7、軟件工程的定義: 采用工程的概念、原理、技術和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術和當前能夠得到的技術方法結合起來,來指導軟件的開發(fā)與維護8、軟件工程的基本原理:(1) 用分階段的生命周期計劃嚴格管理 項目概要計劃,里程碑計劃,項目控制計劃,產(chǎn)品控制計劃,驗證計劃,運行維護計劃。(2)堅持進行階段評審(評審過程) 每個階段都進行嚴格的評審,以便盡早發(fā)現(xiàn)錯誤。(3)實行嚴格的產(chǎn)品控制 實行基準配置(經(jīng)過階段評審后的軟件配置成份,包括文檔和程序代碼)對軟件的修改進行嚴格

8、管理。(4)采用現(xiàn)代的程序設計技術 結構化分析(SA)與設計(SD) ;面向?qū)ο蟮姆治?OOA)與設計 (OOD)。(5) 結果能清楚的審查 規(guī)定開發(fā)組織的責任和產(chǎn)品標準。(6) 開發(fā)小組的人員應該少而精 成員素質(zhì)要好,人數(shù)不宜過多。(7)承認不斷改進軟件工程實踐必要性9、軟件工程方法學定義及三要素? 通常把在軟件生命周期全過程中使用的一整套技術方法的集合成為(亦為范: 方法、工具、過程型)10. 軟件工程方法學的包括: 簡述結構化范型和面向?qū)ο蠓缎偷囊c,并分析它們的優(yōu)缺點 傳統(tǒng)方法學(生命周期方法學/結構化范型)(1)仍然是使用十分廣泛的軟件工程方法學。(2)采用結構化技術來完成軟件開發(fā)的

9、各項任務,并使用適當?shù)能浖ぞ呋蜍浖こ汰h(huán)境來支持結構化技術的運用。(3)從上而下,順序地完成軟件開發(fā)的各階段任務面向?qū)ο蟮姆椒▽W(1)出發(fā)點和基本原則是盡量模擬人類習慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認識實踐解決問題的方法與過程,從而使描述問題的問題空間與實現(xiàn)解法的解空間在結構上盡可能一致(2)把對象作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一軟件構件;(3)把所有對象都劃分成類;(4)按照父類與子類的關系,把若干個相關類組成一個層次結構的系統(tǒng);(5)對象彼此間僅能通過發(fā)送消息互相聯(lián)系11 什么是軟件生命周期模型? 模型分類? 軟件開發(fā)過程模型是軟件開發(fā)全部過程、活動和任務的結構

10、框架。它能直觀表達軟件開發(fā)全過程,明確規(guī)定要完成的主要活動、任務和開發(fā)策略。 亦稱為: 軟件開發(fā)模型軟件生存期模型 分類(1)瀑布模型 (2)快速原型模型 (3)增量模型 (4)螺旋模型(5)噴泉模型12、軟件過程的模型瀑布模型:【適用領域】:用戶需求清楚的表達優(yōu)點:1.可強迫開發(fā)員采用規(guī)范的方法 2.嚴格地規(guī)定了每個階段必須提交的文件 3.要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細驗證。缺點:傳統(tǒng)的瀑布模型過于理想化,是由文檔驅(qū)動的??焖僭湍P停阂话阌糜谧罱K系統(tǒng)的早期用戶評價,開發(fā)工期短,質(zhì)量有保證(2)軟件產(chǎn)品的開發(fā)基本是線性順序進行的,加速軟件開發(fā),節(jié)省軟件開發(fā)成本【適用領

11、域】:事先不能完整定義需求的領域增量模型:【適用領域】:用戶逐步需求提交產(chǎn)品 (1)先完成一個系統(tǒng)子集的開發(fā),再按同樣的開發(fā)步驟增加功能 (系統(tǒng)子集),如此遞增下去直至滿足全部系統(tǒng)需求。(2)系統(tǒng)的總體設計在初始子集設計階段就應作出設想13軟件開發(fā)方法:軟件開發(fā)過程所遵循的方法和步驟開發(fā)過程一般包括:需求、設計、實現(xiàn)、確認等活動主要針對需求和設計的典型方法: 結構化方法 (SASD) 面向數(shù)據(jù)結構方法(OSD) 面向?qū)ο蠓椒?OO)第二章可行性研究 1.可行性研究目的?確定在問題定義中所提出的問題是否值得去解,在限制條件下,問題能否解決。2可行性研究的任務?(1) 進一步分析和澄清問題的定義,

12、在澄清問題的基礎上,導出系統(tǒng)的邏輯模型;(2) 從系統(tǒng)邏輯模型中,選擇問題的若干種主要解法,研究每一種解法的可行性,為以后的行動提出建議;(3) 如果問題沒有可行的解,建議停止系統(tǒng)開發(fā);如果問題有可行的解,應該推薦一個較好的解決方案,并為工程制定一個初步的計劃。3可行性研究包括哪幾方面的內(nèi)容?(1)技術可行性:現(xiàn)有技術能否實現(xiàn)本系統(tǒng),現(xiàn)有技術人員能否勝任,開發(fā)系統(tǒng)的資源能否滿足;(2)經(jīng)濟可行性:經(jīng)濟效益是否超出開發(fā)成本;(3)操作可行性:系統(tǒng)操作在用戶內(nèi)部行得通嗎?(4)法律可行性:新系統(tǒng)開發(fā)是否會侵犯他人、集體或國家利益,是否違反國家法律。4可行性研究的步驟?(1)復查系統(tǒng)的規(guī)模和目標;(

13、2)研究目前正在使用的系統(tǒng) (3)導出新系統(tǒng)的高層邏輯模型;(4)進一步定義問題; (5)導出和評價供選擇的解法;(6)推薦行動方針; (7)草擬開發(fā)計劃; (8)書寫文檔提交審查。 5、數(shù)據(jù)流圖(DFD):是一種圖形化技術,他描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。 有四種成分:源點或終點,處理,數(shù)據(jù)存儲,數(shù)據(jù)流。 6、數(shù)據(jù)字典 數(shù)據(jù)字典是關于數(shù)據(jù)的信息的集合,也是對數(shù)據(jù)流圖中包含所有的所有元素的定義的集合。組成:數(shù)據(jù)流、數(shù)據(jù)元素、數(shù)據(jù)存儲、處理。作用:對用戶來講,數(shù)據(jù)字典為他們提供了數(shù)據(jù)的明確定義;對系統(tǒng)分析員來講,數(shù)據(jù)字典幫助他們比較容易修改已建立的系統(tǒng)邏輯模型。 用途:a

14、.作為分析階段的工具,與數(shù)據(jù)流圖共同來完整的描述一個系統(tǒng)。數(shù)據(jù)流圖只描述了系統(tǒng)的邏輯模型,但是沒有給出數(shù)據(jù)及各個加工處理過程的具體含義;而數(shù)據(jù)字典則是其有益的補充。b.數(shù)據(jù)字典中包含的每個數(shù)據(jù)元素的控制信息是很有價值的。c.開發(fā)數(shù)據(jù)庫的基礎。8. 數(shù)據(jù)流圖的用途: (1)作為交流信息的工具(2)作為分析和設計的工具第三章需求分析為什么要進行需求分析?對軟件系統(tǒng)有哪些需求? 為了開發(fā)出真正滿足用戶需求的產(chǎn)品,首先必須知道用戶的需求。 對系統(tǒng)的要求:功能需求、性能需求、可靠性和可用性需求、出錯性處理需求、接口需求、約束、逆向需求、將來可能提出的需求。邏輯模型 用數(shù)據(jù)流圖、實體-聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖、

15、數(shù)據(jù)字典、主要的處理算法來描述。 訪談 在訪談的過程中使用情景分析技術非常有效,情景分析就是對用戶將來使用目標系統(tǒng)解決具體的問題的方法和結果進行分析。 3.與用戶溝通獲取需求的方法:(1)訪談、分發(fā)調(diào)查表、情景分析技術(2)面向數(shù)據(jù)流自頂下下求精(3)簡易的應用規(guī)格說明書(4)快速建立軟件原型4訪談分類:正式的訪談、非正式的訪談5情景分析技術的用處主要體現(xiàn)在以下兩個方面: (1)它能在某種程度上演示目標系統(tǒng)的行為,從而便于用戶解釋,而且還可以進一步揭示出一些分析員目前還不知道的需求。(2)由于情景分析較易為用戶所理解,使用這種技術能保證用戶在需求分析的過程中始終扮演一個積極主動的角色。6(1)

16、結構化分析方法:就是面向數(shù)據(jù)流自頂向下逐步求精進行需求分析的方法。(2)結構化分析實質(zhì)上是一種創(chuàng)建模型的活動。(3)根據(jù)結構化分析準則,需求分析過程應該建立3種模型:數(shù)據(jù)模型、功能模型、行為模型(4)實體-聯(lián)系圖(ERD)描繪數(shù)據(jù)對象及數(shù)據(jù)對象之間的關系,用于建立數(shù)據(jù)模型的圖形。(5)數(shù)據(jù)流圖描繪數(shù)據(jù)在軟件中移動時被變換的邏輯過程,指明系統(tǒng)具有的變換數(shù)據(jù)的功能,數(shù)據(jù)流圖是建立功能模型的基礎。(6)狀態(tài)轉(zhuǎn)換圖(狀態(tài)圖STD)指明作為外部事件結果的系統(tǒng)行為。狀態(tài)轉(zhuǎn)換圖描繪系統(tǒng)的各種行為模式和在不同狀態(tài)間轉(zhuǎn)換的方式。狀態(tài)轉(zhuǎn)換圖是行為建模的基礎。7從哪些方面驗證軟件需求的正確性? 一致性、完整性、現(xiàn)實

17、性、有效性8. 驗證軟件需求的的方法: (1)驗證需求的一致性:軟件工具(2)驗證需求的現(xiàn)實性:仿真或性能模擬技術(3)驗證需求的完整性和有效性:只有在用戶的密切合作下才能完成9.需求分析的描述工具有哪些?有數(shù)據(jù)流圖、數(shù)據(jù)字典、判定表、判定樹、結構化自然語言、層次方框圖、Warnier圖、IPO圖和需求描述語言等 E-R圖包含:實體、關系、屬性。層次方框圖:用樹形結構的、一系列多層次的矩形框描繪數(shù)據(jù)的層次結構。 7.系統(tǒng)流程圖與數(shù)據(jù)流程圖有什么區(qū)別?系統(tǒng)流程圖描述系統(tǒng)物理模型的工具,數(shù)據(jù)流程圖描述系統(tǒng)邏輯模型的工具。系統(tǒng)流程圖從系統(tǒng)功能的角度抽象的描述系統(tǒng)的各個部分及其相互之間信息流動的情況。

18、數(shù)據(jù)流程圖從數(shù)據(jù)傳送和加工的角度抽象的描述信息在系統(tǒng)中的流動和數(shù)據(jù)處理的工作狀況。4(1)設計原理: 模塊化、抽象、逐步求精、信息隱藏和局部化、模塊獨立抽象(Abstraction):解決問題時只考慮與問題有關的方面,不考慮與問題無關的方面。即抽出事物的本質(zhì)特性而不考慮細節(jié)(3)逐步求精定義:為了能集中精力解決主要問題而盡量推遲對問題細節(jié)的考慮。人類解決復雜問題時采用的基本方法,也是許多軟件工程技術(例如,規(guī)格說明技術,設計和實現(xiàn)技術)的基礎作用:幫助軟件工程師把精力集中在與當前開發(fā)階段最相關的那些方面上忽略那些對整體解決方案來說雖然是必要的,然而目前還不需要考慮的細節(jié),這些細節(jié)將留到以后再考

19、慮(4)信息隱蔽的含義: 有效的模塊化可以通過定義一組獨立模塊來實現(xiàn),這些模塊相互之間只交流軟件功能必需的信息。目的: 提高模塊的獨立性,減少修改或維護時的影響面。(5)信息局部化:把關系密切的軟件元素物理地放得彼此靠近。優(yōu)點:可維護性好、可靠性好、可理解性好5模塊化(Modularity) ?模塊設計的準則?是按規(guī)定的原則將一個大型軟件劃分為一個個較小的、相對獨立但又相關的模塊。準則:(1) 改進軟件結構, 提高模塊獨立性:在對初步模塊進行合并、分解和移動的分析、精化過程中力求提高模塊的內(nèi)聚,降低藕合。(2) 模塊大小要適中:大約50行語句的代碼,過大的模塊應分解以提高理解性和可維護性;過小

20、的模塊,合并到上級模塊中。(3) 軟件結構圖的深度、寬度、扇入和扇出要適當。一般模塊的調(diào)用個數(shù)不要超過5個。(4) 盡量降低模塊接口的復雜程度;(5) 設計單入口、單出口的模塊。(6) 模塊的作用域應在控制域之內(nèi):6模塊?特征?總體設計主要考慮什么特征?(1)模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?,可以單獨命名且可通過名字來訪問。(2)模塊具有輸入和輸出(參數(shù)傳遞)、功能、內(nèi)部數(shù)據(jù)結構(局部變量)和程序代碼四個特性。(3)概要設計主要考慮輸入、輸出(參數(shù)傳遞)和功能兩個特性7.模塊獨立:的概念是模塊化、抽象、信息隱藏、局部化概念的直接結果特點:具有特定子功能、接口簡單 耦合強度依賴的因素:

21、 一模塊對另一模塊的引用一模塊向另一模塊傳遞的數(shù)據(jù)量一模塊施加到另一模塊的控制的數(shù)量模塊間接口的復雜程度去除模塊間控制耦合的方法:(1)將被調(diào)用模塊內(nèi)的判定上移到調(diào)用模塊中進行(2)被調(diào)用模塊分解成若干單一功能模塊如何降低模塊間耦合度:如模塊必須存在耦合,選擇適當?shù)鸟詈项愋驮瓌t:盡量使用數(shù)據(jù)耦合少用控制耦合 限制公共耦合的范圍 堅決避免使用內(nèi)容耦合(2) 降低模塊間接口的復雜性 內(nèi)聚性: 一個模塊內(nèi)部各成分之間相互關聯(lián)的強度 耦合、內(nèi)聚與模塊獨立性關系 耦合與內(nèi)聚都是模塊獨立性的定性標準,都反映模塊獨立性的良好程度。但耦合是直接的主導因素,內(nèi)聚則輔助耦合共同對模塊獨立性進行衡量。 總體設計 1

22、. 總體設計包括哪兩個階段?系統(tǒng)設計階段與結構設計階段。總體設計的步驟 設想供選擇的方案、選取合理的方案、推薦最佳方案、功能分解、設計軟件結構、設計數(shù)據(jù)庫、制定測試計劃、書寫文檔、審查和復查總體設計的 目標 形成軟件的一種層次的可對底層結點交叉引用的模塊化模型設計原理 模塊化就是把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構成一個整體,可以完成指定的功能滿足用戶的需求。模塊的獨立程度用內(nèi)聚和耦合來衡量。 耦合:對一個軟件結構內(nèi)不同模塊之間互連程度的度量。 數(shù)據(jù)耦合是低耦合,內(nèi)容耦合是最高程度的。內(nèi)聚:表示一個模塊內(nèi)各個元素彼此結合的緊密程度。6、 變換型數(shù)

23、據(jù)流由哪幾部分組成,及步驟?變換型結構由三部分組成:傳入路徑、變換中心和傳出路徑。 步驟:(1) 區(qū)分傳入、傳出和變換中心三部分,劃分DFD圖的分界線;(2) 完成第一級分解:建立初始SC圖的框架;(3) 完成第二級分解:分解SC圖的各個分支;(4) 對初始結構圖按照設計準則進行精化與改進。7. 事務型數(shù)據(jù)流由哪幾部分組成?事務型結構由至少一條接受路徑、一個事務中心與若干條動作路徑組成。 步驟:(1) 在DFD圖中確定事務中心、接收部分(包含全部接收路徑)和發(fā)送部分(包含全部動作路徑);(2) 畫出SC圖框架,把DFD圖的三部分分?quot;映射為事務控制模塊,接收模塊和動作發(fā)送模塊.一般得到

24、SC圖的頂層和第一層(如果第一層簡單可以并入頂層);(3) 分解和細化接收分支和動作分支,完成初始的SC圖;(4) 對初始結構圖按照設計準則進行精化與改進。8、 比較層次方框圖與結構圖是的異同?(1) 層次方框圖描繪數(shù)據(jù)的層次結構, 結構圖描繪的是軟件結構。(2) 二者都采用多層次矩形框樹形結構。層次方框圖的頂層矩形框代表完整的數(shù)據(jù)結構, 下面各層矩形框依次代表上個框數(shù)據(jù)的子集;結構圖是在層次圖的每一個方框內(nèi)注明模塊的名字或主要功能,方框之間的直線表示模塊的調(diào)用關系,用帶注解的箭頭表示模塊調(diào)用過程中傳遞的信息。9、啟發(fā)規(guī)則:(1)改進軟件結構提高模塊獨立性(2)模塊規(guī)模應該適中(3)寬度、深度

25、、扇出、扇入都應適當(4)模塊的作用域應該在控制域之內(nèi)(5)力爭降低模塊接口的復雜程度(6)設計單入口單出口的模塊(7)模塊功能應該可以預測名稱解釋:深度:表示軟件結構中控制的層數(shù),粗略的標志了一個系統(tǒng)的大小和復雜程度寬度:軟件結構內(nèi)同一個層次上的模塊總數(shù)的最大值。一般來說,寬度越大系統(tǒng)越復雜。對寬度影響最大的因素是模塊的扇出。扇出:是一個模塊直接控制(調(diào)用)的模塊數(shù)模,扇出過大意味著模塊過分復雜,需要控制盒協(xié)調(diào)過多的下級模塊。9.描繪軟件結構的圖形工具:(1)層次圖(Hierarchy圖)和HIPO圖(帶編號)(2)結構圖(SC)10.(1) IPO圖是輸入、處理、輸出圖的簡稱,它是美國IB

26、M公司發(fā)展完善起來的一種圖形工具,能夠方便地描繪輸入數(shù)據(jù)、對數(shù)據(jù)的處理和輸出數(shù)據(jù)之間的關系。(2)IPO圖的基本形式是:A.在左邊的框中列出有關的輸入數(shù)據(jù),B.在中間的框內(nèi)列出主要的處理,C.在右邊的框內(nèi)列出產(chǎn)生的輸出數(shù)據(jù)。 12.面向數(shù)據(jù)流的設計方法 (1)面向數(shù)據(jù)流的設計方法是把信息流映射成軟體結構,信息流的類型決定了映射的方法。(2)信息流的兩種類型:變換流 事務流(3)事務流/事務中心完成的任務:接收輸入數(shù)據(jù) 分析每個事務以確定它的類型 根據(jù)事務類型選取一條活動通路面向數(shù)據(jù)流方法的設計過程:設計步驟: eq oac(,1)復查基本系統(tǒng)模型 eq oac(,2)復查并精華數(shù)據(jù)流圖 eq

27、oac(,3)確定數(shù)據(jù)流圖具有變換特性還是事務特性 eq oac(,4)確定輸入流和輸出流的邊界,從而孤立出變換中心 eq oac(,5)完成“第一級分解” eq oac(,6)完成“第二級分解” eq oac(,7)使用設計度量和啟發(fā)式規(guī)則對第一次分割得到的軟件結構進一步精化(6)設計步驟的目的:開發(fā)出軟件的整體表示。即一旦確定了軟件結構就可以把它作為一個整體來復查,從而能夠評價和精化軟件結構(7)概要設計與詳細設計的區(qū)別概要設計就是設計軟件的結構,包括組成模塊,模塊的層次結構,模塊的調(diào)用關系,每個模塊的功能等等。同時,還要設計該項目的應用系統(tǒng)的總體數(shù)據(jù)結構和數(shù)據(jù)庫結構,即應用系統(tǒng)要存儲什么

28、數(shù)據(jù),這些數(shù)據(jù)是什么樣的結構,它們之間有什么關系。詳細設計階段就是為每個模塊完成的功能進行具體的描述,要把功能描述轉(zhuǎn)變?yōu)榫_的、結構化的過程描述。第六章 詳細設計 1.詳細設計的目的?為軟件結構圖(SC圖或HC圖)中的每一個模塊確定采用的算法和塊內(nèi)數(shù)據(jù)結構,用某種選定的表達工具給出清晰的描述.2.詳細設計的主要任務?編寫軟件的“詳細設計說明書”.軟件人員要完成的工作:(1) 為每一個模塊確定采用的算法, 選擇某種適當?shù)墓ぞ弑磉_算法的過程,寫出模塊的詳細過程描述.(2) 確定每一模塊使用的數(shù)據(jù)結構.(3) 確定模塊結構的細節(jié),包括對系統(tǒng)外部的接口和用戶界面,對系統(tǒng)內(nèi)部其它模塊的接口,以及關于模塊

29、輸入數(shù)據(jù)、輸出數(shù)據(jù)及局部數(shù)據(jù)的全部細節(jié).(4) 為每一個模塊設計出一組測試用例,以便在編碼階段對模塊代碼(即程序)進行預定的測試.3、詳細設計工具:(1) 圖形工具 (2) 表格工具 (3) 語言工具4結構程序設計?(1)完成軟件模塊過程設計的一種重要技術(2)所有程序都可以建立在一組已有的邏輯構成元素上,這一組邏輯構成元素強調(diào)了“對功能域的維護”。(3)這些邏輯構成元素是結構化程序設計的基礎。6、程序(過程)設計工具程序流程圖 盒圖(N-S圖) 問題分析圖(PAD)設計語言(PDL)(偽碼) 判定表 程序流程圖/程序框圖 缺點:(1)誘使程序員過早的考慮程序的控制流程,而不去考慮程序的全局結

30、構(2)在程序流程圖中用箭頭表示控制流,因此控制員不受任何約束,可以完全不顧結構程序設計的精神,隨意轉(zhuǎn)移控制(3)程序流程圖不易表示數(shù)據(jù)結構 盒圖(N-S圖) 特點:(1)功能域明確,可以從盒圖上一眼就能看出來(2)不可能任意轉(zhuǎn)移控制(3)很容易確定局部和全程數(shù)據(jù)的作用域(4)很容易表現(xiàn)嵌套關系,也可表示模塊的層次結構 問題分析圖(PAD圖) 優(yōu)點:(1)使用表示結構化控制結構的PAD符號所設計出來的必然是結構化程序 (2)PAD圖所描繪的程序十分清晰 (3)用PAD圖變現(xiàn)程序邏輯,易讀,易懂,易記 (4)PAD圖的符號支持自頂向下、逐步求精方法的使用(5)容易將PAD圖轉(zhuǎn)換成高級語言源程序(

31、6)即可用于表示程序邏輯,也可用于描述數(shù)據(jù)結構 過程設計語言(PDL)(偽碼)特點: (1)關鍵字的固定語法,它提供了結構化控制結構、數(shù)據(jù)說明和模塊化的特點 (2)自然語言的自由語法,它描述出來特點 (3)數(shù)據(jù)說明的手段 (4)模塊定義和調(diào)用的技術,應該提供各種接口描述模式作為設計工具的優(yōu)點:可以作為注釋直接插在源程序中間可以使用普通的正文編輯程序或文字處理系統(tǒng),很方便的完成PDL的書寫和編輯工作已經(jīng)有自動處理PDL的程序存在,而且可以自動有PDL生產(chǎn)程序代碼缺點:不如圖形工具形象直觀,描述復雜的條件組合與動作之間的對應關系時,不如判斷表清晰簡單 判定表 組成:左上部列出所有條件、左下部是所有可能做的動作、右上部是表示各種條件組合的一個矩陣、右下部是和每種條件組合相對應的動作 判斷樹優(yōu)點:形式簡單到不需任何說明,一眼就可以看出其含 義,易于掌握和利用。 第七章 編碼 1.軟件測試的基本任務?軟件測試是按照特定的規(guī)則,發(fā)現(xiàn)軟件錯誤的過程;好的測試方案是盡可能發(fā)現(xiàn)迄今尚未發(fā)現(xiàn)錯誤的測試;成功的測試方案是發(fā)現(xiàn)迄今尚未發(fā)現(xiàn)錯誤的測試;2、.測試與調(diào)試的主要區(qū)別?測試從一個側面證明程序員的失??;調(diào)試證明程序員的正確;測試從

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論