軟件工程-概念_第1頁(yè)
軟件工程-概念_第2頁(yè)
軟件工程-概念_第3頁(yè)
軟件工程-概念_第4頁(yè)
軟件工程-概念_第5頁(yè)
已閱讀5頁(yè),還剩5頁(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.生命周期:軟件經(jīng)歷的從定義、開發(fā)、使用和維護(hù),直到最終被廢棄這個(gè)漫長(zhǎng)的時(shí)期稱為生命周期?!?.問題定義:確定計(jì)劃開發(fā)的系統(tǒng)要求解決的問題是什么?!?.可行性研究:決定該問題是否存在一個(gè)可行的解決辦法。4.需求分析:深入具體地了解用戶的要求,在所要開發(fā)的系統(tǒng)必須做什么和用戶取得完全一致的看法。5.軟件:是程序、數(shù)據(jù)及相關(guān)文檔的完整集合。IEEE:計(jì)算機(jī)程序、方法、規(guī)則、相關(guān)的文檔資料以及在計(jì)算機(jī)上運(yùn)行程序時(shí)所必需的數(shù)據(jù)。軟件工程:軟件工程就是為了經(jīng)濟(jì)地獲得可靠的且能在實(shí)際機(jī)器上有效地運(yùn)行的軟件,而建立和使用完善的工程原理。IEEE定義:①把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)過程,也就是把工程應(yīng)用于軟件;②研究①中提到的途徑。管理:通過計(jì)劃、組織和控制等一系列活動(dòng),合理地配置和使用各種資源,以達(dá)到既定目標(biāo)的過程。方法學(xué):把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué)(methodology),也稱為范型(paradigm)。9.軟件工程方法學(xué)三要素:方法、工具和過程。其中,方法是完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,回答“怎樣做”的問題;工具是為運(yùn)用方法而提供的自動(dòng)的或半自動(dòng)的軟件工程支撐環(huán)境;過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。10.傳統(tǒng)方法學(xué):傳統(tǒng)方法學(xué)也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。它采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)現(xiàn))來(lái)完成軟件開發(fā)的各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來(lái)支持結(jié)構(gòu)化技術(shù)的運(yùn)用。這種方法學(xué)把軟件生命周期的全過程依次劃分為若干個(gè)階段,然后順序地完成每個(gè)階段的任務(wù)?!?1.面向?qū)ο蠓椒▽W(xué)特點(diǎn):把對(duì)象(object)作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一的軟件構(gòu)件。用對(duì)象分解取代了傳統(tǒng)方法的功能分解。⑵把所有對(duì)象都劃分成類(class)。每個(gè)類都定義了一組數(shù)據(jù)和一組操作,類是對(duì)具有相同數(shù)據(jù)和相同操作的一組相似對(duì)象的定義。數(shù)據(jù)用于表示對(duì)象的靜態(tài)屬性,是對(duì)象的狀態(tài)信息,而施加于數(shù)據(jù)之上的操作用于實(shí)現(xiàn)對(duì)象的動(dòng)態(tài)行為。按照父類(或稱為基類)與子類(或稱為派生類)的關(guān)系,把若干個(gè)相關(guān)類組成一個(gè)層次結(jié)構(gòu)的系統(tǒng)(也稱為類等級(jí))。在類等級(jí)中,下層派生類自動(dòng)擁有上層基類中定義的數(shù)據(jù)和操作,這種現(xiàn)象稱為繼承。對(duì)象彼此間僅能通過發(fā)送消息互相聯(lián)系。對(duì)象與傳統(tǒng)數(shù)據(jù)有本質(zhì)區(qū)別,它不是被動(dòng)地等待外界對(duì)它施加操作,相反,它是數(shù)據(jù)處理的主體,必須向它發(fā)消息請(qǐng)求它執(zhí)行它的某個(gè)操作以處理它的數(shù)據(jù),而不能從外界直接對(duì)它的數(shù)據(jù)進(jìn)行處理。對(duì)象的所有私有信息都被封裝在該對(duì)象內(nèi),不能從外界直接訪問,這就是通常所說(shuō)的封裝性。12?軟件工程的7條基本原理:①用分階段的生命周期計(jì)劃嚴(yán)格管理,②堅(jiān)持進(jìn)行階段評(píng)審,③實(shí)行嚴(yán)格的產(chǎn)品控制,④采用現(xiàn)代程序設(shè)計(jì)技術(shù),⑤結(jié)果應(yīng)能清楚地審査,⑥開發(fā)小組的人員應(yīng)該少而精,⑦承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。13.軟件工程傳統(tǒng)方法學(xué)是:采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)現(xiàn))來(lái)完成軟件開發(fā)的各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來(lái)支持結(jié)構(gòu)化技術(shù)的運(yùn)用。14.軟件生命周期包括:軟件定義(即系統(tǒng)分析),軟件開發(fā)(系統(tǒng)設(shè)計(jì),系統(tǒng)實(shí)現(xiàn))和軟件維護(hù)。系統(tǒng)分析由問題定義、可行性研究和需求分析三個(gè)階段組成??傮w設(shè)計(jì):應(yīng)該設(shè)計(jì)出實(shí)現(xiàn)目標(biāo)系統(tǒng)的幾種可能的方案。通常至少應(yīng)該設(shè)計(jì)出低成本、中等成本和高成本等3種方案。詳細(xì)設(shè)計(jì):應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng),設(shè)計(jì)出程序的詳細(xì)規(guī)格說(shuō)明。編碼和單元測(cè)試:寫出正確的容易理解、容易維護(hù)的程序模塊綜合測(cè)試:集成測(cè)試是根據(jù)設(shè)計(jì)的軟件結(jié)構(gòu),把經(jīng)過單元測(cè)試檢驗(yàn)的模塊按某種選定的策略裝配起來(lái),在裝配過程中對(duì)程序進(jìn)行必要的測(cè)試。軟件維護(hù):改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)?!?5.瀑布模型:傳統(tǒng)軟件工程方法學(xué)的軟件過程,基本上可以用瀑布模型來(lái)描述。階段間具有順序性和依賴性,盡可能推遲實(shí)現(xiàn)的觀點(diǎn),質(zhì)量保證的觀點(diǎn)※16.快速原型模型:快速原型是快速建立起來(lái)的可以在計(jì)算機(jī)上運(yùn)行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個(gè)子集?!?7.增量模型:使用增量模型開發(fā)軟件時(shí),把軟件產(chǎn)品作為一系列的增量構(gòu)件來(lái)設(shè)計(jì)、編碼、集成和測(cè)試。每個(gè)構(gòu)件由多個(gè)相互作用的模塊構(gòu)成,并且能夠完成特定的功能?!?8.螺旋模型:使用原型及其他方法來(lái)盡量降低風(fēng)險(xiǎn)。理解這種模型的一個(gè)簡(jiǎn)便方法,是把它看作在每個(gè)階段之前都增加了風(fēng)險(xiǎn)分析過程的快速原型模型第二章:19.可行性研究的目的不是解決問題,而是確定問題是否值得去解決。20.可行性研究實(shí)質(zhì)上是要進(jìn)行一次大大壓縮簡(jiǎn)化了的系統(tǒng)分析和設(shè)計(jì)的過程,也就是在較高層次上以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計(jì)的過程。21.可行性研究過程:1)復(fù)查系統(tǒng)規(guī)模和目標(biāo),2)研究目前正在使用的系統(tǒng)3)導(dǎo)出新系統(tǒng)的高層邏輯模型,4)進(jìn)一步定義問題,5.)導(dǎo)出和評(píng)價(jià)供選擇的解法,6)推薦行動(dòng)方針,7)草擬開發(fā)計(jì)劃,8)書寫文檔提交審查※22.?dāng)?shù)據(jù)流圖的四種基本符號(hào):正方形(或立方體)表示數(shù)據(jù)的源點(diǎn)或終點(diǎn);圓角矩形(或圓形)代表變換數(shù)據(jù)的處理;開口矩形(或兩條平行橫線)代表數(shù)據(jù)存儲(chǔ);箭頭表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動(dòng)方向。在數(shù)據(jù)流圖中應(yīng)該描繪所有可能的數(shù)據(jù)流向,而不應(yīng)該描繪出現(xiàn)某個(gè)數(shù)據(jù)流的條件。23.?dāng)?shù)據(jù)字典:是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合?!?4.?dāng)?shù)據(jù)字典由對(duì)下列4類元素的定義組成:(1)數(shù)據(jù)流(2)數(shù)據(jù)流分量(即數(shù)據(jù)元素)(3)數(shù)據(jù)存儲(chǔ)(4)處理※24.?dāng)?shù)據(jù)字典記錄數(shù)據(jù)元素:①一般信息(名字,別名,描述等等),②定義(數(shù)據(jù)類型,長(zhǎng)度,結(jié)構(gòu)等等),③使用特點(diǎn)(值的范圍,④使用頻率,⑤使用方式一輸入、輸出、本地,條件值等等),⑥控制信息(來(lái)源,用戶,使用它的程序,改變權(quán),使用權(quán)等等)⑦分組信息(父結(jié)構(gòu),從屬結(jié)構(gòu),物理位置一記錄、文件和數(shù)據(jù)庫(kù)等等)。25.由數(shù)據(jù)元素組成數(shù)據(jù)的方式有三種基本類型:順序即以確定次序連接兩個(gè)或多個(gè)分量;選擇即從兩個(gè)或多個(gè)可能的元素中選取一個(gè);重復(fù)即把指定的分量重復(fù)零次或多次。可選即一個(gè)分量是可有可無(wú)的(重復(fù)零次或一次)26.軟件開發(fā)成本使用代碼行技術(shù)、任務(wù)分解技術(shù)、自動(dòng)估計(jì)成本技術(shù)。27.運(yùn)行費(fèi)用取決于系統(tǒng)的操作費(fèi)用(操作員人數(shù),工作時(shí)間,消耗的物資等等)和維護(hù)費(fèi)用。28.系統(tǒng)的經(jīng)濟(jì)效益等于因使用新系統(tǒng)而增加的收入加上使用新系統(tǒng)可以節(jié)省的運(yùn)行費(fèi)用。29.貨幣的時(shí)間價(jià)值:通常用利率的形式表示貨幣的時(shí)間價(jià)值。假設(shè)年利率為i,如果現(xiàn)在存入P元,則n年后可以得到的錢數(shù)為:F=P(1+i)n30.投資回收期:是使累計(jì)的經(jīng)濟(jì)效益等于最初投資所需要的時(shí)間。31.純收入:是在整個(gè)生命周期之內(nèi)系統(tǒng)的累計(jì)經(jīng)濟(jì)效益(折合成現(xiàn)在值)與投資之差。第三章32.系統(tǒng)分析的準(zhǔn)則:必須理解并描述問題的信息域,根據(jù)這條準(zhǔn)則應(yīng)該建立數(shù)據(jù)模型。必須定義軟件應(yīng)完成的功能,這條準(zhǔn)則要求建立功能模型。必須描述作為外部事件結(jié)果的軟件行為,這條準(zhǔn)則要求建立行為模型。必須對(duì)描述信息、功能和行為的模型進(jìn)行分解,用層次的方式展示細(xì)節(jié)。33.確定對(duì)系統(tǒng)的綜合要求功能需求:指定系統(tǒng)必須提供的服務(wù)。通過需求分析應(yīng)該劃分出系統(tǒng)必須完成的所有功能。性能需求:指定系統(tǒng)必須滿足的定時(shí)約束或容量約束,通常包括速度(響應(yīng)時(shí)間)、信息量速率、主存容量、磁盤容量、安全性等方面的需求??煽啃院涂捎眯孕枨螅嚎煽啃孕枨蠖康刂付ㄏ到y(tǒng)的可靠性。可用性與可靠性密切相關(guān),它量化了用戶可以使用系統(tǒng)的程度。4)出錯(cuò)處理需求:說(shuō)明系統(tǒng)對(duì)環(huán)境錯(cuò)誤應(yīng)該怎樣響應(yīng)。5)接口需求:接口需求描述應(yīng)用系統(tǒng)與它的環(huán)境通信的格式。常見的接口需求有:用戶接口需求;硬件接口需求;軟件接口需求;通信接口需求。6)約束:設(shè)計(jì)約束或?qū)崿F(xiàn)約束描述在設(shè)計(jì)或?qū)崿F(xiàn)應(yīng)用系統(tǒng)時(shí)應(yīng)遵守的限制條件。7) 逆向需求:逆向需求說(shuō)明軟件系統(tǒng)不應(yīng)該做什么。8)將來(lái)可能提出的要求:應(yīng)該明確地列出那些雖然不屬于當(dāng)前系統(tǒng)開發(fā)范疇,但是據(jù)分析將來(lái)很可能會(huì)提出來(lái)的要求。34.?dāng)?shù)據(jù)對(duì)象可以是外部實(shí)體(例如,產(chǎn)生或使用信息的任何事物)、事物(例如,報(bào)表)、行為(例如,打電話)、事件(例如,響警報(bào))、角色(例如,教師、學(xué)生)、單位(例如,會(huì)計(jì)科)、地點(diǎn)(例如,倉(cāng)庫(kù))或結(jié)構(gòu)(例如,文件)等??傊?,可以由一組屬性來(lái)定義的實(shí)體都可以被認(rèn)為是數(shù)據(jù)對(duì)象。35.聯(lián)系:數(shù)據(jù)對(duì)象彼此之間相互連接的方式稱為聯(lián)系,也稱為關(guān)系。聯(lián)系可分為以下3種類型:⑴一對(duì)一聯(lián)系(1:1)⑵一對(duì)多聯(lián)系(1:N)⑶多對(duì)多聯(lián)系(M:N)ER圖中包含了實(shí)體(即數(shù)據(jù)對(duì)象)、關(guān)系和屬性3種基本成分,通常用矩形框代表實(shí)體,用連接相關(guān)實(shí)體的菱形框表示關(guān)系,用橢圓形或圓角矩形表示實(shí)體(或關(guān)系)的屬性,并用直線把實(shí)體(或關(guān)系)與其屬性連接起來(lái)。第一、第二和第三范式的定義:(1) 第一范式每個(gè)屬性值都必須是原子值,即僅僅是一個(gè)簡(jiǎn)單值而不含內(nèi)部結(jié)構(gòu)。(2) 第二范式滿足第一范式條件,而且每個(gè)非關(guān)鍵字屬性都由整個(gè)關(guān)鍵字決定(而不是由關(guān)鍵字的一部分來(lái)決定)。(3) 第三范式符合第二范式的條件,每個(gè)非關(guān)鍵字屬性都僅由關(guān)鍵字決定,而且一個(gè)非關(guān)鍵字屬性不能僅僅是對(duì)另一個(gè)非關(guān)鍵字屬性的進(jìn)一步描述(即一個(gè)非關(guān)鍵字屬性值不依賴于另一個(gè)非關(guān)鍵字屬性值)。第五章典型的總體設(shè)計(jì)過程包括下述9個(gè)步驟:1) 設(shè)想供選擇的方案2) 選取合理的方案3) 推薦最佳方案4) 功能分解5) 設(shè)計(jì)軟件結(jié)構(gòu)6) 設(shè)計(jì)數(shù)據(jù)庫(kù)7) 制定測(cè)試計(jì)劃8) 書寫文檔9) 審查和復(fù)審39.模塊化就是把程序劃分成獨(dú)立命名且可獨(dú)立訪問的模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集成起來(lái)構(gòu)成一個(gè)整體,可以完成指定的功能滿足用戶的需求。40.抽象就是抽出事物的本質(zhì)特性而暫時(shí)不考慮它們的細(xì)節(jié)。41.逐步求精:通過逐步分解對(duì)功能的宏觀陳述而開發(fā)出層次結(jié)構(gòu),直至最終得出用程序設(shè)計(jì)語(yǔ)言表達(dá)的程序。42.信息隱藏原理指出:應(yīng)該這樣設(shè)計(jì)和確定模塊,使得一個(gè)模塊內(nèi)包含的信息(過程和數(shù)據(jù))對(duì)于不需要這些信息的模塊來(lái)說(shuō),是不能訪問的。43.所謂局部化是指把一些關(guān)系密切的軟件元素物理地放得彼此靠近。44.模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)度量,這兩個(gè)標(biāo)準(zhǔn)分別稱為內(nèi)聚和耦合。45.耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。46.?dāng)?shù)據(jù)耦合:如果兩個(gè)模塊彼此間通過參數(shù)交換信息,而且交換的信息僅僅是數(shù)據(jù)控制耦合:如果傳遞的信息中有控制信息特征耦合:當(dāng)把整個(gè)數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞而被調(diào)用的模塊只需要使用其中一部分?jǐn)?shù)據(jù)元素.公共環(huán)境耦合:當(dāng)兩個(gè)或多個(gè)模塊通過一個(gè)公共數(shù)據(jù)環(huán)境相互作用時(shí)內(nèi)容耦合:一個(gè)模塊訪問另一個(gè)模塊的內(nèi)部數(shù)據(jù);一個(gè)模塊不通過正常入口而轉(zhuǎn)到另一個(gè)模塊的內(nèi)部;兩個(gè)模塊有一部分程序代碼重疊(只可能出現(xiàn)在匯編程序中);一個(gè)模塊有多個(gè)入口(這意味著一個(gè)模塊有幾種功能)。盡量使用數(shù)據(jù)耦合,少用控制耦合和特征耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合。47.內(nèi)聚:標(biāo)志一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度48.偶然內(nèi)聚:如果一個(gè)模塊完成一組任務(wù),這些任務(wù)彼此間即使有關(guān)系,關(guān)系也是很松散的,邏輯內(nèi)聚:如果一個(gè)模塊完成的任務(wù)在邏輯上屬于相同或相似的一類,時(shí)間內(nèi)聚:如果一個(gè)模塊包含的任務(wù)必須在同一段時(shí)間內(nèi)執(zhí)行過程內(nèi)聚:如果一個(gè)模塊內(nèi)的處理元素是相關(guān)的,而且必須以特定次序執(zhí)行通信內(nèi)聚:如果模塊中所有元素都使用同一個(gè)輸入數(shù)據(jù)和(或)產(chǎn)生同一個(gè)輸出數(shù)據(jù)順序內(nèi)聚:如果一個(gè)模塊內(nèi)的處理元素和同一個(gè)功能密切相關(guān),而且這些處理必須順序執(zhí)行功能內(nèi)聚:如果模塊內(nèi)所有處理元素屬于一個(gè)整體,完成一個(gè)單一的功能第六章49.結(jié)構(gòu)化程序:如果一個(gè)程序的代碼塊僅僅通過順序、選擇和循環(huán)這3種基本控制結(jié)構(gòu)進(jìn)行連接,并且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口,則稱這個(gè)程序是結(jié)構(gòu)化的。經(jīng)典結(jié)構(gòu)程序設(shè)計(jì):如果只允許使用順序、IF-THEN-ELSE型分支和DO-WHILE型循環(huán)這3種基本控制結(jié)構(gòu),則稱為經(jīng)典的結(jié)構(gòu)程序設(shè)計(jì);擴(kuò)展的結(jié)構(gòu)程序設(shè)計(jì):如果除了3種基本控制結(jié)構(gòu)之外,還允許使用DO-CASE型多分支結(jié)構(gòu)和DO-UNTIL型循環(huán)結(jié)構(gòu),則稱為擴(kuò)展的結(jié)構(gòu)程序設(shè)計(jì);修正的結(jié)構(gòu)程序設(shè)計(jì):如果再加上允許使用LEAVE(或BREAK)結(jié)構(gòu),則稱為修正的結(jié)構(gòu)程序設(shè)計(jì)。50?人機(jī)界面設(shè)計(jì)應(yīng)考慮的問題:①系統(tǒng)響應(yīng)時(shí)間②用戶幫助設(shè)施③出錯(cuò)信息處理④命令交互。51.用戶界面設(shè)計(jì)過程:是一個(gè)迭代的過程。通常先創(chuàng)建設(shè)計(jì)模型,再用原型實(shí)現(xiàn)這個(gè)設(shè)計(jì)模型,并由用戶試用和評(píng)估,然后根據(jù)用戶意見進(jìn)行修改。52.各種用于界面設(shè)計(jì)和原型開發(fā)的軟件工具為簡(jiǎn)化窗口、菜單、設(shè)備交互、出錯(cuò)信息、命令及交互環(huán)境的許多其他元素的創(chuàng)建,提供了各種例程或?qū)ο?。既可以用基于語(yǔ)言的方式也可以用基于圖形的方式來(lái)實(shí)現(xiàn)。53.人機(jī)界面設(shè)計(jì)一般交互指南(1)保持一致性;(2)應(yīng)向用戶提供視覺的和聽覺的反饋;(3)在執(zhí)行有較大破壞性的動(dòng)作之前要求用戶確認(rèn);(4)允許取消絕大多數(shù)操作;減少在兩次操作之間必須記憶的信息量;(6)提高對(duì)話、移動(dòng)和思考的效率;(7)允許犯錯(cuò)誤;(8)按功能對(duì)動(dòng)作分類;(9)提供對(duì)用戶工作內(nèi)容敏感的幫助設(shè)施;(10)用簡(jiǎn)單動(dòng)詞或動(dòng)詞短語(yǔ)作為命令名。54.人機(jī)界面設(shè)計(jì)信息顯示指南(1)只顯示與當(dāng)前工作內(nèi)容有關(guān)的信息;(2)不要用數(shù)據(jù)淹沒用戶;(3)使用一致的標(biāo)記、標(biāo)準(zhǔn)的縮寫和可預(yù)知的顏色;(4)允許用戶保持可視化的語(yǔ)境;(5)產(chǎn)生有意義的出錯(cuò)信息;(6)使用大小寫、縮進(jìn)和文本分組以幫助理解;(7)使用窗口分隔不同類型的信息;(8)使用“模擬”顯示方式表示信息,以使信息更容易被用戶提??;(9)高效率地使用顯示屏。55?盒圖(N-S圖)的特點(diǎn)(1)功能域(即,一個(gè)特定控制結(jié)構(gòu)的作用域)明確;(2)不可能任意轉(zhuǎn)移控制;(3)很容易確定局部和全程數(shù)據(jù)的作用域;(4)很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。56?PAD是問題分析圖(problemanalysisdiagram)用二維樹形結(jié)構(gòu)的圖來(lái)表示程序的控制流,主要優(yōu)點(diǎn)(1)使用表示結(jié)構(gòu)化控制結(jié)構(gòu)的PAD符號(hào)所設(shè)計(jì)出來(lái)的程序必然是結(jié)構(gòu)化程序;(2)PAD圖所描繪的程序結(jié)構(gòu)十分清晰;(3)用PAD圖表現(xiàn)程序邏輯,易讀、易懂、易記;(4)容易將PAD圖轉(zhuǎn)換成高級(jí)語(yǔ)言源程序,這種轉(zhuǎn)換可用軟件工具自動(dòng)完成;(5)即可用于表示程序邏輯,也可用于描繪數(shù)據(jù)結(jié)構(gòu);(6)PAD圖的符號(hào)支持自頂向下、逐步求精方法的使用57?判定表一張判定表由4部分組成,左上部列出所有條件,左下部是所有可能做的動(dòng)作,右上部是表示各種條件組合的一個(gè)矩陣,右下部是和每種條件組合相對(duì)應(yīng)的動(dòng)作。判定表右半部的每一列實(shí)質(zhì)上是一條規(guī)則,規(guī)定了與特定的條件組合相對(duì)應(yīng)的動(dòng)作。

58.59606162636465666768697071.判定樹是判定表的變種,它能清晰地表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系。判定樹的優(yōu)點(diǎn)在于,它的形式簡(jiǎn)單到不需任何說(shuō)明,一眼就可以看出其含義,因此易于掌握和使用。過程設(shè)計(jì)語(yǔ)言(PDL)也稱為偽碼,具有嚴(yán)格的關(guān)鍵字外部語(yǔ)法,用于定義控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu);另一方面,PDL表示實(shí)際操作和條件的內(nèi)部語(yǔ)法通常又是靈活自由的,可以適應(yīng)各種工程項(xiàng)目的需要。PDL的優(yōu)點(diǎn):(1)可以作為注釋直接插在源程序中間;(2)可以使用普通的正文編輯程序或文字處理系統(tǒng);(3)已經(jīng)有自動(dòng)處理程序存在,可以自動(dòng)由PDL生成程序代碼。McCabe方法根據(jù)程序控制流的復(fù)雜程度定量度量程序的復(fù)雜程度,這樣度量出的結(jié)果稱為程序的環(huán)形復(fù)雜度。流圖:實(shí)質(zhì)上是“退化了的”程序流程圖,它僅僅描繪程序的控制流程,完全不表現(xiàn)對(duì)數(shù)據(jù)的具體操作以及分支或循環(huán)的具體條件。在流圖中用圓表示結(jié)點(diǎn),一個(gè)圓代表一條或多條語(yǔ)句。程序流程圖中的一個(gè)順序的處理框序列和一個(gè)菱形判定框,可以映射成流圖中的一個(gè)結(jié)點(diǎn)。流圖中的箭頭線稱為邊,它和程序流程圖中的箭頭線類似,代表控制流。在流圖中一條邊必須終止于一個(gè)結(jié)點(diǎn),即使這個(gè)結(jié)點(diǎn)并不代表任何語(yǔ)句(實(shí)際上相當(dāng)于一個(gè)空語(yǔ)句)。由邊和結(jié)點(diǎn)圍成的面積稱為區(qū)域,當(dāng)計(jì)算區(qū)域數(shù)時(shí)應(yīng)該包括圖外部未被圍起來(lái)的那個(gè)區(qū)域。第七章黑盒測(cè)試:如果已經(jīng)知道了產(chǎn)品應(yīng)該具有的功能,可以通過測(cè)試來(lái)檢驗(yàn)是否每個(gè)功能都能正常使用。白盒測(cè)試:如果知道產(chǎn)品的內(nèi)部工作過程,可以通過測(cè)試來(lái)檢驗(yàn)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說(shuō)明書的規(guī)定正常進(jìn)行。模塊測(cè)試:是保證每個(gè)模塊作為一個(gè)單元能正確運(yùn)行,所以模塊測(cè)試通常又稱為單元測(cè)試。子系統(tǒng)測(cè)試:是把經(jīng)過單元測(cè)試的模塊放在一起形成一個(gè)子系統(tǒng)來(lái)測(cè)試。系統(tǒng)測(cè)試:是把經(jīng)過測(cè)試的子系統(tǒng)裝配成一個(gè)完整的系統(tǒng)來(lái)測(cè)試。驗(yàn)收測(cè)試:目的是驗(yàn)證系統(tǒng)確實(shí)能夠滿足用戶的需要,在這個(gè)測(cè)試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說(shuō)明書中的錯(cuò)誤。驗(yàn)收測(cè)試也稱為確認(rèn)測(cè)試.單元測(cè)試測(cè)試重點(diǎn):模塊接口,局部數(shù)據(jù)結(jié)構(gòu),重要的執(zhí)行通路,出錯(cuò)處理通路和邊界條件。漸增式測(cè)試方法:每次增加一個(gè)模塊的方法稱為漸增式測(cè)試。自頂向下集成方法:從主控制模塊開始,沿著程序的控制層次向下移動(dòng),逐漸把各個(gè)模塊結(jié)合起來(lái)。自底向上測(cè)試:從“原子”模塊開始組裝和測(cè)試。回歸測(cè)試:是指重新執(zhí)行已經(jīng)做過的測(cè)試的某個(gè)子集,以保證上述這些變化沒有帶來(lái)非預(yù)期的副作用。Alpha測(cè)試:由用戶在開發(fā)者的場(chǎng)所進(jìn)行,并且在開發(fā)者對(duì)用戶的“指導(dǎo)”

下進(jìn)行測(cè)試。72.Beta測(cè)試:由軟件的最終用戶們?cè)谝粋€(gè)或多個(gè)客戶場(chǎng)所進(jìn)行,用戶記錄在Beta測(cè)試過程中遇到的一切問題,并且定期把這些問題報(bào)告給開發(fā)者。73.邏輯覆蓋包括:語(yǔ)句覆蓋,判定覆蓋,條件覆蓋,判定/條件覆蓋,條件組合覆蓋,點(diǎn)覆蓋,邊覆蓋和路徑覆蓋。74.控制結(jié)構(gòu)測(cè)試包括:基本路徑測(cè)試,條件測(cè)試和循環(huán)測(cè)試。75.黑盒測(cè)試:采用等價(jià)劃分,邊界值分析和錯(cuò)誤推測(cè)技術(shù)。76.調(diào)試:就是把錯(cuò)誤癥狀和原因聯(lián)系起來(lái)的尚未被人深入認(rèn)識(shí)的智力過程。77.軟件可靠性:程序在給定的時(shí)間間隔內(nèi),按照規(guī)格說(shuō)明書的規(guī)定成功地運(yùn)行的概率。78.軟件可用性:是程序在給定的時(shí)間點(diǎn),按照規(guī)格說(shuō)明書的規(guī)定,成功地運(yùn)行的概率。79.平均無(wú)故障時(shí)間MTTF(meantimetofailure,平均失效前時(shí)間):系統(tǒng)按規(guī)格說(shuō)明書規(guī)定成功地運(yùn)行的平均時(shí)間。80.平均維修時(shí)間MTTR(meantimetorestoration,平均恢復(fù)前時(shí)間):是修復(fù)一個(gè)故障平均需要用的時(shí)間。第九章81.面向?qū)ο蠓椒ǖ?個(gè)要點(diǎn):客觀世界是由各種對(duì)象組成的;把所有對(duì)象都劃分成各種對(duì)象類(簡(jiǎn)稱為類,class),每個(gè)對(duì)象類都定義了一組數(shù)據(jù)和一組方法;在層次結(jié)構(gòu)中,通常下層的派生類具有和上層的基類相同的特性(包括數(shù)據(jù)和方法),這種現(xiàn)象稱為繼承(inheritance);對(duì)象彼此之間僅能通過傳遞消息互相聯(lián)系。82.面向?qū)ο蠓椒▽W(xué)的優(yōu)點(diǎn):是按照人類習(xí)慣的思維方法建立問題域的模型;穩(wěn)定性好,軟件系統(tǒng)的結(jié)構(gòu)是根據(jù)問題領(lǐng)域的模型建立起來(lái)的,而不是基于對(duì)系統(tǒng)應(yīng)完成的功能的分解;可重用性好,因?yàn)閷?duì)象具有很強(qiáng)的自含性,固有的封裝性和信息隱藏機(jī)制,具有較強(qiáng)的獨(dú)立性;較易開發(fā)大型軟件產(chǎn)品,可以把一個(gè)大型軟件產(chǎn)品分解成一系列本質(zhì)上相互獨(dú)立的小產(chǎn)品來(lái)處理;可維護(hù)性好:面向?qū)ο蟮能浖€(wěn)定性比較好,比較容易修改,比較容易理解,易于測(cè)試和調(diào)試。83

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論