軟件工程基礎(chǔ)知識(shí)_第1頁(yè)
軟件工程基礎(chǔ)知識(shí)_第2頁(yè)
軟件工程基礎(chǔ)知識(shí)_第3頁(yè)
軟件工程基礎(chǔ)知識(shí)_第4頁(yè)
軟件工程基礎(chǔ)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、軟件工程基礎(chǔ)知識(shí)一.什么是軟件?1.滿足功能要求和性能的指令或計(jì)算機(jī)程序集合;2.處理信息的數(shù)據(jù)結(jié)構(gòu);3.描述程序功能以及程序如何操作和使用所要求的文檔; 二.軟件危機(jī)以及產(chǎn)生軟件危機(jī)的原因?1.軟件開(kāi)發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)迅速普及的趨勢(shì)。軟件產(chǎn)品“供不應(yīng)求”。2.軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。3.軟件開(kāi)發(fā)人員和用戶之間的信息交流往往很不充分,用戶對(duì)“已完成的”的軟件系統(tǒng)不滿足的現(xiàn)象經(jīng)常發(fā)生。4.軟件產(chǎn)品的質(zhì)量不容易保證。5.軟件產(chǎn)品常常是不可維護(hù)的。6.軟件產(chǎn)品的重用性差,同樣的軟件多次重復(fù)開(kāi) 發(fā)。7.軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料。產(chǎn)生軟件危機(jī)的原因可歸結(jié)為兩個(gè)

2、重要的方面: 軟件生產(chǎn)本身存在的復(fù)雜性; 軟件開(kāi)發(fā)所使用的方法和技術(shù)。三.有哪些軟件工程方法學(xué)及其要素?1.使用最廣泛的軟件工程方法學(xué)是結(jié)構(gòu)化方法學(xué)和面向?qū)ο蟮姆椒▽W(xué)。2.要素:方法.工具和過(guò)程。四.什么是軟件生存周期?有哪些活動(dòng)?4.1軟件生存周期 一個(gè)軟件從提出開(kāi)發(fā)要求開(kāi)始到軟件廢棄不用的整個(gè)過(guò)程。4.2 開(kāi)發(fā)活動(dòng) 可行性分析和項(xiàng)目開(kāi)發(fā)計(jì)劃.需求分析和定義.軟件設(shè)計(jì)(先后細(xì)分為:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)).編碼.測(cè)試和運(yùn)行維護(hù)4.3 各活動(dòng)階段主要文檔4.3.1可行行分析和項(xiàng)目開(kāi)發(fā)計(jì)劃 可性行研究報(bào)告 項(xiàng)目開(kāi)發(fā)計(jì)劃4.3.2需求分析中的文檔 需求規(guī)格說(shuō)明書 初步用戶使用手冊(cè) 確認(rèn)測(cè)試計(jì)劃 修改完

3、善的軟件開(kāi)發(fā)計(jì)劃4.3.3 概要設(shè)計(jì)階段文檔 概要設(shè)計(jì)說(shuō)明書 數(shù)據(jù)庫(kù)說(shuō)明書 用戶手冊(cè) 修訂的測(cè)試計(jì)劃(測(cè)試的策略.方法.步驟)4.4.4 詳細(xì)設(shè)計(jì)階段 詳細(xì)設(shè)計(jì)說(shuō)明書4.4.5 系統(tǒng)測(cè)試階段 系統(tǒng)測(cè)試計(jì)劃文檔 五.有哪些主要生存期模型?瀑布模型.原型開(kāi)發(fā)模型(快速原型模型.演化模型.增量模型).螺旋模型.噴泉模型.5.1 瀑布模型 瀑布模型(傳統(tǒng)的軟件周期模型)嚴(yán)格遵循軟件生命周期各階段的固定順序:計(jì)劃.分析.設(shè)計(jì).編程.測(cè)試和維護(hù),上一階段完成后才能進(jìn)入到下一階段,整個(gè)模型就像一個(gè)飛流直下的瀑布。優(yōu)點(diǎn):可強(qiáng)迫開(kāi)發(fā)人員采用規(guī)范的方法,嚴(yán)格規(guī)定了各階段必須提交的文檔;要求每一階段結(jié)束后,都要進(jìn)行

4、嚴(yán)格的評(píng)審。與它最相適應(yīng)的開(kāi)發(fā)方法是結(jié)構(gòu)化方法。缺點(diǎn):不適應(yīng)用戶需求的改動(dòng)。5.2 原型模型5.2.1 快速原型模型 快速原型的用途是獲知用戶的真正需求,一旦需求確定了,原型即被拋棄。主要用于需求分析階段。不追求也不可能要求對(duì)需求的嚴(yán)格定義,而是采用了動(dòng)態(tài)定義需求的方法,所以不能定義完善的文檔。特征:簡(jiǎn)化項(xiàng)目管理.盡快建立初步需求.加強(qiáng)用戶參與和決策。具有廣泛技能水平的原型化人員是原型實(shí)施的重要保證。原型化人員應(yīng)該是具有經(jīng)驗(yàn)與才干.訓(xùn)練有素的專業(yè)人員。衡量原型化人員能力的重要標(biāo)準(zhǔn)是他是否能夠從用戶的模糊描述中快速獲取需求。5.2.2 演化模型 在快速原型模型中,原型的用途是獲知用戶的真正需求,

5、一旦需求確定了,原型即被拋棄。而演化模型應(yīng)用于整個(gè)軟件開(kāi)發(fā)過(guò)程,是從初始模型逐步演化為最終軟件產(chǎn)品的漸進(jìn)過(guò)程。也就是說(shuō),快速原型模型是一種“拋棄式”的原型化方法,而演化模型則是一種“漸進(jìn)式”的原型化方法。5.2.3增量模型 增量模型主要用于設(shè)計(jì)階段,把軟件產(chǎn)品劃分為一系列的增量構(gòu)件,分別進(jìn)行設(shè)計(jì).編程.集成和測(cè)試。新的增量構(gòu)件不得破壞已經(jīng)開(kāi)發(fā)出來(lái)的產(chǎn)品。5.2.4 原型模型小結(jié) 從下面的有關(guān)原型化方法的敘述中,選擇出正確的敘述: (1)快速原型方法是一種企圖克服傳統(tǒng)軟件周期模型缺點(diǎn)的開(kāi)發(fā)方法。(2)在用戶的數(shù)據(jù)資源沒(méi)有得到很好地組織和管理的時(shí)候,應(yīng)該使用原型化方法。(3)在用戶沒(méi)有明確地肯定其

6、需求的時(shí)候,應(yīng)該使用原型化方法。(4)在用戶不希望把自己的時(shí)間花在軟件開(kāi)發(fā)過(guò)程中的時(shí)候,應(yīng)該使用原型化方法。(5)使用原型化方法時(shí)應(yīng)該使用第三代編程語(yǔ)言。(6)原型化加強(qiáng)了開(kāi)發(fā)過(guò)程中用戶的參與和決策。(7)原型化方法大致可分為三類:拋棄式.演化式和遞增式。(8)原型化方法大致可分為演化式和遞增式。(9)采用原型化方法時(shí),軟件的開(kāi)發(fā)成本較高。(10)采用原型化方法時(shí),關(guān)鍵的因素是建立原形的速度,而不是原形運(yùn)行的效率。5.3 螺旋模型 螺旋模型綜合了瀑布模型和原型模型中的演化模型的優(yōu)點(diǎn),還增加了風(fēng)險(xiǎn)分析。螺旋線第一圈的開(kāi)始點(diǎn)可能是一個(gè)概念項(xiàng)目。從第二圈開(kāi)始,一個(gè)新產(chǎn)品開(kāi)發(fā)項(xiàng)目開(kāi)始了,新產(chǎn)品的演化沿

7、著螺旋線進(jìn)行若干次迭代,一直轉(zhuǎn)到軟件生命期結(jié)束。5.4 噴泉模型 噴泉模型主要用于描述面向?qū)ο蟮拈_(kāi)發(fā)過(guò)程。噴泉一詞體現(xiàn)了面向?qū)ο箝_(kāi)發(fā)過(guò)程的迭代和無(wú)間隙特征。六.軟件過(guò)程基礎(chǔ)知識(shí)6.1 軟件過(guò)程 軟件過(guò)程是指人們用于開(kāi)發(fā)和維護(hù)軟件及相關(guān)產(chǎn)品的一系列活動(dòng),包括軟件工程過(guò)程和軟件管理過(guò)程。6.2 評(píng)估工具 軟件過(guò)程的評(píng)估,通常采用軟件能力成熟度 模型(Capability Maturity Model,CMM)。C MM1.1的5個(gè)等級(jí)(由低級(jí)到高級(jí)): 初始級(jí) 軟件過(guò)程是無(wú)序的,有時(shí)甚至是混亂的,對(duì)過(guò)程幾乎沒(méi)有定義,成功取決于個(gè)人努力,管理是反應(yīng)式(消防式)的??芍貜?fù)級(jí) 建立了基本的項(xiàng)目管理過(guò)程來(lái)

8、跟蹤費(fèi)用.進(jìn)度和功能特性。制定了必要的過(guò)程紀(jì)律,能重復(fù)早先類似應(yīng)用項(xiàng)目取得的成功。已定義級(jí) 已將軟件管理和工程兩方面的過(guò)程文檔化.標(biāo)準(zhǔn)化,并綜合成該組織的標(biāo)準(zhǔn)化軟件過(guò)程。所有項(xiàng)目均使用經(jīng)標(biāo)準(zhǔn).裁減的標(biāo)準(zhǔn)軟件過(guò)程來(lái)開(kāi)發(fā)和維護(hù)軟件。已管理級(jí) 收集對(duì)軟件過(guò)程和產(chǎn)品質(zhì)量的詳細(xì)度量,對(duì)軟件過(guò)程和產(chǎn)品都有定量的理解與控制。優(yōu)化級(jí) 加強(qiáng)了定量分析,通過(guò)來(lái)自過(guò)程質(zhì)量反饋和來(lái)自新觀念.新技術(shù)的反饋使過(guò)程能持續(xù)不斷地改進(jìn)。七.軟件工程項(xiàng)目管理基本知識(shí) 軟件項(xiàng)目管理開(kāi)始于任何技術(shù)活動(dòng)之前,并且貫穿于整個(gè)的軟件生命周期。軟件工程項(xiàng)目管理一般分為時(shí)間管理.成本管理.人力資源管理.風(fēng)險(xiǎn)管理。7.1時(shí)間管理7.1.1 Ga

9、ntt圖 是一種簡(jiǎn)單的水平條形圖,它以水平線段表示子任務(wù)的工作階段,線段的起點(diǎn)和終點(diǎn)分別對(duì)應(yīng)著子任務(wù)的起始時(shí)間,線段長(zhǎng)度指示完成該任務(wù)所需要的時(shí)間。甘特圖的優(yōu)點(diǎn):直觀簡(jiǎn)明.易學(xué)易繪.可從圖上清楚地標(biāo)出子任務(wù)間的時(shí)間對(duì)比,但它也有 缺點(diǎn): (a)不能顯示地描繪各項(xiàng)彼此間的依賴關(guān)系; (b)進(jìn)度計(jì)劃的關(guān)鍵部分不明顯,難以判斷哪些部分應(yīng)當(dāng)是主攻和主控的對(duì)象; (c)計(jì)劃中有潛力的部分以及潛力的大小不明確,往往造成潛力的浪費(fèi)。7.1.2 PERT網(wǎng)圖與關(guān)鍵路徑 PERT網(wǎng)圖是一個(gè)由箭頭(標(biāo)識(shí)任務(wù))和結(jié)點(diǎn)(標(biāo)識(shí)事件)組成的有向圖。將網(wǎng)絡(luò)方法用于工作計(jì)劃安排的評(píng)審和檢查。P ERT圖不僅給出了每個(gè)任務(wù)的開(kāi)

10、始時(shí)間.結(jié)束時(shí)間和完成該任務(wù)所需的時(shí)間,還給出了任務(wù)之間的依賴關(guān)系,即哪些任務(wù)完成后才能開(kāi)始另一些任務(wù),以及如期完成整個(gè)工程的“關(guān)鍵路徑”。關(guān)鍵路徑(Critical Path)是由一連串的任務(wù)所組成的鏈,距離最大的一條路徑。軟件項(xiàng)目的管理人員應(yīng)該密切注視關(guān)鍵任務(wù)的進(jìn)展情況。如果希望縮短工期,只有往關(guān)鍵任務(wù)中增加資源才會(huì)有效果。八.模塊化基本知識(shí) 模塊是指執(zhí)行某一特定任務(wù)的數(shù)據(jù)和可執(zhí)行語(yǔ)句程序元素的集合,通常是指可通過(guò)名字來(lái)訪問(wèn)的過(guò)程.函數(shù).子程序或宏調(diào)用等。模塊化就是將一個(gè)待開(kāi)發(fā)的軟件劃分成若干個(gè)可完成某一子功能的模塊,每個(gè)模塊可獨(dú)立地開(kāi)發(fā).測(cè)試,最后組裝成完整的程序。8.1模塊特性8.1.

11、1 可分解性 如果一種設(shè)計(jì)方法提供了將問(wèn)題分解成子問(wèn)題的系統(tǒng)化機(jī)制,它就能降低整個(gè)系統(tǒng)的復(fù)雜性,從而實(shí)現(xiàn)一種有效的模塊化解決方案。8.1.2 可組裝性 如果一種設(shè)計(jì)方法使現(xiàn)存的(可復(fù)用的)設(shè)計(jì)構(gòu)件能被組裝成新系統(tǒng),它就能提供一種不需要一切從頭開(kāi)始的模塊化解決方案。8.1.3 可理解性 如果一個(gè)模塊可以作為一個(gè)獨(dú)立的單位(不用參考其他模塊)被理解,那么它就易于構(gòu)造和修改。8.1.4 連續(xù)性 如果對(duì)系統(tǒng)需求的微小修改只導(dǎo)致對(duì)單個(gè)模塊,而不是整個(gè)系統(tǒng)的修改,則修改引起副作用就會(huì)被最小化。8.1.5 保護(hù)性 如果模塊內(nèi)部出現(xiàn)異常情況,并且它的影響限制在模塊內(nèi)部,不會(huì)影響其他模塊,則錯(cuò)誤引起的副作用就會(huì)

12、被最小化。8.2 模塊與模塊的耦合性 耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程序的度量。耦合可以分成下列幾種,它們之間的耦合度由高到低排列。8.2.1 內(nèi)容耦合 直接操作或修改另一模塊的數(shù)據(jù),或不通過(guò)正常入口轉(zhuǎn)入另一個(gè)模塊。軟件設(shè)計(jì)時(shí)應(yīng)堅(jiān)決禁止內(nèi)容耦合,應(yīng)設(shè)計(jì)成單入口.單出口的模塊,避免病態(tài)連接。8.2.2 公共耦合 多個(gè)模塊引用同一全局?jǐn)?shù)據(jù)區(qū)。8.2.3 外部耦合 模塊與軟件以外的環(huán)境有關(guān)聯(lián)。例如,輸入輸出把一個(gè)模塊與特定的設(shè)備.格式.通信協(xié)議耦合在一起。8.2.4 控制耦合 一模塊明顯把開(kāi)關(guān)量.名字等信息送入另一模塊,控制另一模塊的功能。8.2.5 標(biāo)記耦合 兩個(gè)模塊之間通過(guò)傳遞公共指針或

13、地址相互作用的耦合。8.2.6 數(shù)據(jù)耦合 模塊間通過(guò)傳遞數(shù)據(jù)交換信息。8.2.7 非直接耦合(無(wú)耦合) 模塊間無(wú)任何關(guān)系,獨(dú)立工作 原則上講,模塊化設(shè)計(jì)總是希望模塊之間的耦合表現(xiàn)為非直接耦合方式。在以上耦合中,耦合度從高到低,內(nèi)容耦合度最高,非直接耦合度最低。8.3 模塊的內(nèi)聚性 內(nèi)聚是指一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程序,它是信息隱蔽和局部的概念的自然擴(kuò)展。設(shè)計(jì)時(shí)應(yīng)該力求高內(nèi)聚,理想內(nèi)聚的模塊應(yīng)當(dāng)恰好做一件事情。1).偶然內(nèi)聚:一個(gè)模塊的各成分之間毫無(wú)關(guān)系。比如:一組語(yǔ)句在程序的多處出現(xiàn),為了節(jié)省內(nèi)存空間,這些語(yǔ)句放在一個(gè)模塊中,該模塊的內(nèi)聚是偶然內(nèi)聚的。2)邏輯內(nèi)聚:把幾種邏輯上相關(guān)的功

14、能組放在同一模塊中。3)瞬時(shí)內(nèi)聚(時(shí)間內(nèi)聚):一個(gè)模塊所包含的任務(wù)必須在同一時(shí)間間隔內(nèi)執(zhí)行,例如初始化模塊。4)過(guò)程內(nèi)聚:一個(gè)模塊的處理元素是相關(guān)的,而且必須按特定的次序執(zhí)行。5)通信內(nèi)聚:一個(gè)模塊的所有成分都結(jié)合再同一個(gè)數(shù)據(jù)結(jié)構(gòu)上。6)順序內(nèi)聚:模塊的成分同一個(gè)功能密切相關(guān),且輸出,作為另外一個(gè)成分的輸入。7)功能內(nèi)聚:模塊內(nèi)的所有成分屬于一個(gè)整體,完成單一的功能。在以上的內(nèi)聚中,內(nèi)聚度從低到高,偶然內(nèi)聚度最低,功能內(nèi)聚度最高。模塊的高內(nèi)聚.低耦合的原則稱為模塊獨(dú)立原則,也稱為模塊設(shè)計(jì)的原則。8.4 模塊的深度.寬度.扇出與扇入 深度:表示軟件結(jié)構(gòu)中控制的層數(shù)。寬度是軟件結(jié)構(gòu)中同一個(gè)層次上的

15、模塊總數(shù)的最大值 一個(gè)模塊的扇入是指直接調(diào)用該模塊的上級(jí)模塊的個(gè)數(shù)。一個(gè)模塊的扇出是指該模塊直接調(diào)用的下級(jí)模塊的個(gè)數(shù)。設(shè)計(jì)原則:低扇出.高扇入。8.5 模塊作用域和控制域 軟件設(shè)計(jì)時(shí),模塊的作用域應(yīng)在控制域之內(nèi)。8.6 模塊化基礎(chǔ)知識(shí)小結(jié) 通過(guò)模塊的合并和分解,降低模塊的耦合度。模塊的扇入應(yīng)盡量大,扇出應(yīng)盡量小。一個(gè)模塊的扇入是指直接調(diào)用該模塊的上級(jí)模塊的個(gè)數(shù)。一個(gè)模塊的扇出是指該模塊直接調(diào)用的下級(jí)模塊的個(gè)數(shù)。扇入大表示模塊的重用性高,利用率高。扇出大表示模塊的復(fù)雜度高。所以要高扇入,低扇出。要將模塊的作用范圍限制在模塊的控制范圍之內(nèi)。降低模塊之間的復(fù)雜性,避免“病態(tài)連接”。九.什么是軟件開(kāi)發(fā)

16、方法?有哪些主要方法?軟件開(kāi)發(fā)方法:使用已定義好的技術(shù)集及符號(hào)表示習(xí)慣組織軟件生產(chǎn)的過(guò)程。結(jié)構(gòu)化方法.面向?qū)ο蠓椒?JACKSON方法。9.1 結(jié)構(gòu)化方法學(xué) 結(jié)構(gòu)化方法學(xué)也稱為生命周期方法學(xué)(瀑布模型方法),是一種面向數(shù)據(jù)流的需求分析方法。它的基本思想是自頂向下逐層分解。為了在需求改變時(shí)對(duì)軟件的影響較小,結(jié)構(gòu)化分析時(shí)應(yīng)該使程序結(jié)構(gòu)與問(wèn)題結(jié)構(gòu)相對(duì)應(yīng)。常用工具: 數(shù)據(jù)流圖(DFD).數(shù)據(jù)字典(DD).實(shí)例R圖)及描述加工處理的結(jié)構(gòu)化語(yǔ)言.判定表.判定樹(shù)。9.1.1數(shù)據(jù)流圖(DFD圖)DFD的基本成分 數(shù)據(jù)流圖主要由4種成分組成: 數(shù)據(jù)流(data flow):由一組固定成分的數(shù)據(jù)組成,表示數(shù)據(jù)的流

17、向。它可以從源.文件流向加工,也可以從加工流向文件和宿,還可以從一個(gè)加工流向另一個(gè)加工。通常每個(gè)數(shù)據(jù)流必須有一個(gè)合適的名字,一方面是為了區(qū)別,另一方面也給人一個(gè)直觀的印象,使人容易理解這個(gè)數(shù)據(jù)流的含義。但流向文件或從文件流出的數(shù)據(jù)流不必命名,因?yàn)檫@種數(shù)據(jù)流的組成部分就是相應(yīng)文件的組成部分。加工(process):描述了輸入數(shù)據(jù)流到輸出數(shù)據(jù)流之間的變換,也就是輸入數(shù)據(jù)流做了什么處理后變成了輸出數(shù)據(jù)流。每個(gè)加工有一個(gè)名字和一個(gè)編號(hào)。編號(hào)反映了該加工位于分層DFD的哪個(gè)層次和哪張圖中以及它是哪個(gè)加工分解出來(lái)的子加工。文件(file):可以表示數(shù)據(jù)文件,也可以表示一個(gè)數(shù)據(jù)記錄。流向文件的數(shù)據(jù)流表示寫文

18、件,流出文件的數(shù)據(jù)流表示讀文件,雙向箭頭表示對(duì)文件既讀又寫。每個(gè)文件都有一個(gè)文件名。源/宿(source/sink):源是指系統(tǒng)所需數(shù)據(jù)的發(fā)源地,宿(也稱數(shù)據(jù)池)是指系統(tǒng)所產(chǎn)生的數(shù)據(jù)的歸宿地。無(wú)論源或宿,均對(duì)應(yīng)于外部實(shí)體,在框內(nèi)應(yīng)加注實(shí)體的名字,在一個(gè)軟件各級(jí)軟件系統(tǒng)中,有些源和宿可以是一個(gè)外部實(shí)體,外部實(shí)體是指存在于軟件系統(tǒng)之外的人員或組織,它指出系統(tǒng)所需數(shù)據(jù)的發(fā)源地和系統(tǒng)所產(chǎn)生數(shù)據(jù)的歸宿地。分層數(shù)據(jù)流圖 一套分層的的數(shù)據(jù)流圖由頂層.底層.和中間層組成。畫分層數(shù)據(jù)流圖基本原則與注意事項(xiàng) a.自外向內(nèi),自頂向下,逐層細(xì)化,完善求精。b .保持父圖與子圖的平衡。也就是說(shuō),父圖中某加工的輸入數(shù)據(jù)流

19、中的數(shù)據(jù)必須與它的子圖的輸入數(shù)據(jù)流在數(shù)量和名字上相同。c .保持?jǐn)?shù)據(jù)守恒。也就是說(shuō),一個(gè)加工所有輸出數(shù)據(jù)流中的數(shù)據(jù)必須能從該加工的輸入數(shù)據(jù)流中直接獲得,或者是通過(guò)該加工能產(chǎn)生的數(shù)據(jù)。d .加工細(xì)節(jié)隱藏。根據(jù)抽象原則,在畫父圖時(shí),只需畫出加工和加工之間的關(guān)系,而不必畫出各個(gè)加工內(nèi)部的細(xì)節(jié)。e .簡(jiǎn)化加工間關(guān)系。在數(shù)據(jù)流圖中,加工 間的數(shù)據(jù)流越少,各加工就越相對(duì)獨(dú)立,所以應(yīng)盡量減少加工間輸入輸出數(shù)據(jù)流的數(shù)目。f .均勻分解。應(yīng)該使一個(gè)數(shù)據(jù)流中的各個(gè)加工分解層次大致相同。g .適當(dāng)?shù)貫閿?shù)據(jù)流.加工.文件.源/宿命名,名字應(yīng)反映該成分的實(shí)際意義,避免空洞的名字。h .忽略枝節(jié)。應(yīng)集中精力于主要的數(shù)據(jù)流

20、, 而暫不考慮一些例外情況.出錯(cuò)處理等枝節(jié)性問(wèn)題。i .表現(xiàn)的是數(shù)據(jù)流而不是控制流。j .每個(gè)加工必須既有輸入數(shù)據(jù)流,又有輸 出數(shù)據(jù)流.在整套數(shù)據(jù)流圖中,每個(gè)文件必須既有讀文件的數(shù)據(jù)流又有寫文件的數(shù)據(jù)流,但在某一張子圖中可能只有讀沒(méi)有寫或者只有寫沒(méi)有讀。小結(jié):一個(gè)軟件系統(tǒng),其數(shù)據(jù)流圖往往有多層。如果父圖有N個(gè)加工(Process),則父圖允許有0N張子圖,但是每張子圖只能對(duì)應(yīng)一張父圖。在一張DFD圖中,任意兩個(gè)加工之間可以有0條或多條名字互不相同的數(shù)據(jù)流;在畫數(shù)據(jù)流圖時(shí),應(yīng)該注意父圖和子圖的平衡,即父圖中某加工的輸入輸出數(shù)據(jù)流必須與其輸入輸出流在數(shù)量和名字上相同。DFD信息流大致可分為兩類:交

21、換流和事務(wù)流。9.1.2 數(shù)據(jù)字典 數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合也就是對(duì) 數(shù)據(jù)流圖中包含的所有元素的定義的集合。組成部分: a.數(shù)據(jù)項(xiàng)條目 b.數(shù)據(jù)流條目 c.文件條目 d.加工條目 加工條目是對(duì)數(shù)據(jù)流圖中每一個(gè)不能再分 解的基本加工的精確說(shuō)明。對(duì)于加工的描述是數(shù)據(jù)字典的組成內(nèi)容之一,常用的加工描述方法有結(jié)構(gòu)化語(yǔ)言.判定樹(shù)和判定表。9.1.3 結(jié)構(gòu)化語(yǔ)言 結(jié)構(gòu)化語(yǔ)言實(shí)際上是一種半形式化語(yǔ)言, 它的結(jié)構(gòu)通??煞譃閮?nèi)外兩層。外層接近于形式化語(yǔ)言,而內(nèi)層近似于自然語(yǔ)言的描述。9.1.4 實(shí)體關(guān)系圖(E數(shù)據(jù)流程圖.程序流程圖.程序網(wǎng)絡(luò)圖和系統(tǒng)資源圖的文件編制符號(hào)及約定。6.采用黑盒技術(shù)設(shè)計(jì)測(cè)試用例有

22、哪幾種方法?這些方法各有什么特點(diǎn)?等價(jià)類劃分。等價(jià)類劃分是將輸入數(shù)據(jù)域按有效的或無(wú)效的(也稱合理的或不合理的)劃分成若干個(gè)等價(jià)類,測(cè)試每個(gè)等價(jià)類的代表值就等于對(duì)該類其它值的測(cè)試。邊界值分析。該方法是將測(cè)試邊界情況作為重點(diǎn)目標(biāo),選取正好等于,剛剛大于或剛剛小于邊界值的情況,根據(jù)這些情況選擇測(cè)試用例。錯(cuò)誤推測(cè)。錯(cuò)誤推測(cè)法沒(méi)有確定的步驟,憑檢驗(yàn)進(jìn)行。它的基本思想是列出程序中可能發(fā)生錯(cuò)誤的情況,根據(jù)這些情況選擇測(cè)試用例。因果圖。因果圖能有效的檢測(cè)輸入條件的各種組合可能會(huì)引起的錯(cuò)誤。因果圖的基本原理是通過(guò)畫因果圖,把用自然語(yǔ)言描述的功能說(shuō)明轉(zhuǎn)換為判定表,最后為判定表的每一列設(shè)計(jì)一個(gè)測(cè)試用例。7.軟件生產(chǎn)經(jīng)歷了幾個(gè)階段?各有何特征?軟件生產(chǎn)至今已經(jīng)歷了三個(gè)階段:程序設(shè)計(jì)時(shí)代(1946-1956):這個(gè)階段的生產(chǎn)方式是個(gè)體手工勞動(dòng),使用的工具實(shí)際其語(yǔ)言.匯編語(yǔ)言。開(kāi)發(fā)方法是追求編程技巧,追求程序運(yùn)行效率。硬件特征是價(jià)格貴.存儲(chǔ)容量小,運(yùn)行可靠性差。軟件特征是只有程序.程序設(shè)計(jì)概念,不重視程序設(shè)計(jì)方法。程序系統(tǒng)時(shí)代

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論