《軟件工程導(dǎo)論》第五版-張海藩-編著-總結(jié)_第1頁(yè)
《軟件工程導(dǎo)論》第五版-張海藩-編著-總結(jié)_第2頁(yè)
《軟件工程導(dǎo)論》第五版-張海藩-編著-總結(jié)_第3頁(yè)
《軟件工程導(dǎo)論》第五版-張海藩-編著-總結(jié)_第4頁(yè)
《軟件工程導(dǎo)論》第五版-張海藩-編著-總結(jié)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《軟件工程導(dǎo)論》第五版張海藩編著總結(jié)

分類(lèi):ComputerSys:em2011-01-0410:146417人閱讀評(píng)論(10)收藏舉報(bào)

測(cè)試數(shù)據(jù)結(jié)構(gòu)工具任務(wù)文檔軟件測(cè)試

總結(jié)重點(diǎn):

??Unitl

。?軟件危機(jī)包含兩方面(7)問(wèn)題:一是如何開(kāi)發(fā)軟件,怎樣滿(mǎn)足人們對(duì)軟件日益增長(zhǎng)(7)需求?二是如何維護(hù)軟件.

使它們持久地滿(mǎn)足人們要求。

。?軟件工程學(xué)定義:把軟件當(dāng)作一種工業(yè)產(chǎn)品,采用工程學(xué)。1原理來(lái)管理和組織軟件開(kāi)發(fā)和維護(hù),稱(chēng)為軟件

工程。

?:??軟件是指程序、數(shù)據(jù)和文檔三者共同構(gòu)成(Z)配置。

?:??包含與數(shù)據(jù)處理系統(tǒng)操作有關(guān)(7)程序、規(guī)程、規(guī)則以及相關(guān)文檔(Z)智力創(chuàng)作稱(chēng)為軟件。文檔是描述程序開(kāi)發(fā)

過(guò)程(Z),是智力創(chuàng)作真實(shí)記錄:是創(chuàng)作活動(dòng)內(nèi)歷史檔案和結(jié)晶。

。?軟件內(nèi)描述性定義:軟件由計(jì)算機(jī)程序,數(shù)據(jù)結(jié)構(gòu)和文檔組成。

?:?■軟件質(zhì)量定義為“與軟件產(chǎn)品滿(mǎn)足規(guī)定內(nèi)和隱含需求能力有關(guān)內(nèi)特征和特性0)全體”

具體來(lái)說(shuō):1)軟件產(chǎn)品中能滿(mǎn)足給定需求(7)性質(zhì)和特性O(shè)1總體;

2)軟件具有所期望0)各種屬性(7)組合程度。

?>將軟件質(zhì)量屬性劃分為六個(gè)特性(功能性、可靠性、易用性、效率、維護(hù)性和可移植性),這六個(gè)屬性是面向

用戶(hù)內(nèi)觀點(diǎn)一面向管理。)觀點(diǎn):且是定性描述內(nèi)。

。?軟件質(zhì)量度量體系:內(nèi)部度量可用于開(kāi)發(fā)階段O非執(zhí)行軟件產(chǎn)品,外部度量只能在生存周期過(guò)程中O測(cè)試階

段和任何運(yùn)行階段使用。

?:?■軟件工程項(xiàng)目。海本目標(biāo):(I)低成本;(2)滿(mǎn)足功能要求;(3)高性能;(4)易移植;(5)易維護(hù)。

如軟件工程方法學(xué)就是要從技術(shù)和管理上提供如何去設(shè)計(jì)和維護(hù)軟件。

?:??軟件開(kāi)發(fā)方法:面向數(shù)據(jù)流(約旦)方法、面向數(shù)據(jù)結(jié)構(gòu)方法、面向?qū)ο蠓椒ā?/p>

?:??結(jié)構(gòu)程序設(shè)計(jì)是進(jìn)行以模塊功能和處理過(guò)程設(shè)計(jì)為主(Z)詳細(xì)設(shè)計(jì)基本原則。它(Z)主要觀點(diǎn)是采用自頂向下、

逐步求精0)程序設(shè)計(jì)方法;使用三種基本控制結(jié)構(gòu)構(gòu)造程序,任何程序都可由順序、選擇、循環(huán)三種基本控制

結(jié)構(gòu)構(gòu)造。

。?用來(lái)輔助軟件開(kāi)發(fā)、運(yùn)行、維護(hù)、管理、支持等過(guò)程中活動(dòng)CD軟件稱(chēng)為軟件工具(CASE)。

軟件生存周期定義:軟件產(chǎn)品從形成概念開(kāi)始,經(jīng)過(guò)開(kāi)發(fā)、使用和維護(hù),直到最后不再使用0)整個(gè)過(guò)程。各

階段O任務(wù)彼此間盡可能相對(duì)獨(dú)立,同一階段內(nèi)各項(xiàng)任務(wù)0)性質(zhì)盡可能(Z)相同。軟件0)開(kāi)發(fā)就是“按軟件順

時(shí)間發(fā)展過(guò)程分階段進(jìn)行"00

?:??軟件生存周期模型:

瀑布模型(階段間具有順序型和依賴(lài)性,清楚地區(qū)分邏輯設(shè)計(jì)與物理設(shè)計(jì)、盡可能推遲程序內(nèi)物理實(shí)

現(xiàn),是文檔驅(qū)動(dòng)模型,遵循結(jié)構(gòu)化設(shè)計(jì));

原型模型(軟件產(chǎn)品(Z)開(kāi)發(fā)是線(xiàn)性順序進(jìn)行本質(zhì)是快速,用途是獲知用戶(hù)真正需求,一旦需求

確定,原型將被拋棄)。

其核心都是將軟件開(kāi)發(fā)劃分為:分析、設(shè)計(jì)、編碼、都試和維護(hù)。

。?軟件生存周期劃分為以下幾個(gè)階段:可行性研究與計(jì)劃、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)、組裝測(cè)試、

確認(rèn)測(cè)試、使用和維護(hù)。

如軟件過(guò)程:是為了獲得高質(zhì)量軟件所需要完成(Z)一系列任務(wù)CD框架,它規(guī)定了完成各項(xiàng)任務(wù)工作步驟

?:?,軟件工程方法學(xué):通常把在軟件生命周期全過(guò)程中使用整套技術(shù)方法(Z)集合稱(chēng)為方法學(xué),也稱(chēng)范型

如軟件工程過(guò)程是軟件生存周期中各個(gè)可能(Z)過(guò)程,這些過(guò)程可進(jìn)一步劃分成為了提供或獲得軟件產(chǎn)品或服務(wù),

或是為了完成軟件工程項(xiàng)目需要完成有關(guān)軟件工程活動(dòng),每一項(xiàng)活動(dòng)又可分解為一些軟件工程任務(wù)。標(biāo)準(zhǔn)定

義了21個(gè)過(guò)程分屬三類(lèi):基本過(guò)程(include獲取、供應(yīng)、開(kāi)發(fā)、運(yùn)作、維護(hù)過(guò)程)、支持過(guò)程和組織過(guò)程。

?:??軟件工程三要素:方法、工具和過(guò)程。

如軟件工程管理

目。?:為了按照進(jìn)度及預(yù)算完成軟件計(jì)劃,實(shí)現(xiàn)預(yù)期G經(jīng)濟(jì)和社會(huì)效益。

內(nèi)容:成本估算、進(jìn)度安排、人員組織、質(zhì)量保證、配置管理等等。

怎么強(qiáng)調(diào)軟件工程管理極其重要性都不會(huì)過(guò)分

>-Unit2

A?可行性研究

任務(wù)和目用最小代價(jià)在盡可能短(7)時(shí)間內(nèi)確定問(wèn)題是否能夠在一定規(guī)模之內(nèi)解決。(確定這一問(wèn)題

是否存在值得去做(Z)解)

過(guò)程和步驟:

同?

確定系統(tǒng)規(guī)模和目標(biāo)HUM和妁束

一做什么

物理橫型

包(WIHDD)

研究現(xiàn)行系統(tǒng)<快第

費(fèi)用

一接口

rMFD

建立新系統(tǒng)的高層邏輯模型

《初步)DD

評(píng)價(jià)新系統(tǒng)評(píng)價(jià)新系統(tǒng)的遺羯模型

建立新系統(tǒng)的?瞠模型從技術(shù)角度栩端決同■的不同方巢

研究可行性

「推特?住力?案

給H避議性建議L成本/效做分析

「項(xiàng)目先曲度的電X

翎項(xiàng)目開(kāi)

一列月各階段的藤本

可行注酬先報(bào)皆

原目開(kāi)發(fā)計(jì)劃

就件版?保俄計(jì)劃

實(shí)質(zhì):進(jìn)行一次大大壓縮簡(jiǎn)化了0)系統(tǒng)分析和設(shè)計(jì)過(guò)程,也就是在較高層次上以抽象方式進(jìn)行(Z)系統(tǒng)分析

和設(shè)計(jì)過(guò)程。

技術(shù)和工具:DFD+DD

??主要內(nèi)容

(1)澄清問(wèn)題定義——規(guī)模、約束和限制

(2)導(dǎo)出新系統(tǒng)O邏輯模型

(3)導(dǎo)出若干個(gè)供選擇(7)物理解法(物理模型),并分別研究它們(7)可能行:

A?數(shù)據(jù)流圖符號(hào)

數(shù)據(jù)的讖點(diǎn)/終點(diǎn)

變換數(shù)樹(shù)的處理

或數(shù)據(jù)少儲(chǔ)

數(shù)據(jù)流

Example:

D1庫(kù)存清單

庫(kù)存清單

》?數(shù)據(jù)流圖0)基本目(Z)是利用它作為交流信息。?工具,另一個(gè)主要目是作為分析和設(shè)計(jì)內(nèi)工具,

A?數(shù)據(jù)字典是關(guān)于數(shù)據(jù)信息集合,也就是對(duì)數(shù)據(jù)流圖中包含O所有元素定義集合,它是通過(guò)對(duì)數(shù)據(jù)元素和數(shù)

據(jù)結(jié)構(gòu)O定義,來(lái)描述數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)0)邏輯內(nèi)容

A?數(shù)據(jù)流和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)。>1輯攜型。

》?數(shù)據(jù)字典CZ)內(nèi)容:

數(shù)據(jù)流、數(shù)據(jù)元素、數(shù)據(jù)存儲(chǔ)、處理

A?數(shù)據(jù)字典最重要用途是作為分析階段工具。

??Unit3

?:??需求分析:

目?jī)?nèi):精確地定義系統(tǒng)必須做什么,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體內(nèi)要求。一一為目標(biāo)系統(tǒng)提出

精確(D邏輯模型。

任務(wù):潴定對(duì)系統(tǒng)O綜合要求,包括功能需求、性能需求、可靠性和可用性需求、運(yùn)行要求、將來(lái)可能提出要求。

過(guò)程:處理邏輯(Z)分解:自頂向下逐步分解直到每個(gè)處理邏輯已是不可再分(Z)“功能單元”為止。

書(shū)寫(xiě)文檔:軟件需求規(guī)格說(shuō)明

工具:狀態(tài)圖、IPO圖、層次方框圖、Womiei?圖

?:?■結(jié)構(gòu)化分析設(shè)計(jì)技術(shù)是70年代中期由E.Yourdon等人提出來(lái)內(nèi)一種面向數(shù)據(jù)流內(nèi)方法;要求系統(tǒng)O開(kāi)發(fā)工作在

結(jié)構(gòu)化和模塊化0)基礎(chǔ)上進(jìn)行,它系統(tǒng)(7)運(yùn)用了描述模型內(nèi)概念,按照軟件內(nèi)部數(shù)據(jù)傳遞和變換(Z)關(guān)系,自頂

向下逐層分解,直到找出滿(mǎn)足要求可實(shí)現(xiàn)內(nèi)軟件。

在這個(gè)方法里,“抽象”,“分解”,“模塊化”,“結(jié)構(gòu)化”是它O主要手段;面向數(shù)據(jù)傳遞、變換所形成內(nèi)數(shù)

據(jù)流(Dotoflow)和數(shù)據(jù)流程圖(DFD)是它O主要依據(jù)。

這個(gè)方法O關(guān)鍵工作是:畫(huà)分層DFD和確定數(shù)據(jù)定義與加工策略。

??You^don方法(對(duì)應(yīng)O瀑布模型)0:缺陷:

其實(shí)Yourdon方法是建立在三個(gè)假設(shè)之上(D:

假設(shè)1:所有需求都是可以預(yù)先定義0);

假設(shè)2:需求在較長(zhǎng)一段時(shí)間內(nèi)是不變G(相對(duì)穩(wěn)定G);

假設(shè)3:運(yùn)用所提供工具可以做到項(xiàng)目參與者之間清晰、準(zhǔn)確、有效溝通。

這三個(gè)假設(shè)往往是很難成立CD

“邏輯模型”精確描述依賴(lài)于“自頂向下內(nèi)求精過(guò)程”,而“自頂向下(7)求精過(guò)程”O(jiān)順利進(jìn)行又依賴(lài)于精確

0“邏輯模型”,這二個(gè)問(wèn)題互相纏繞依賴(lài)而構(gòu)成方法學(xué)上內(nèi)“死鎖”。

?:?■原型法(原型模型):

原型就是模型(Z)意思(原型=模型),它指0)是模擬某種產(chǎn)品(D原始模型。

運(yùn)用原型(D策略:拋棄策略&附加策略

對(duì)原型(Z)逐步求精過(guò)程是一個(gè)迭代過(guò)程

相對(duì)于Yourdon方法來(lái)說(shuō)原型法是一個(gè)非線(xiàn)性系統(tǒng)開(kāi)發(fā)方法。

不再?gòu)?qiáng)調(diào)高質(zhì)量CD階段性文檔。

?:??螺旋模型:沿螺線(xiàn)自?xún)?nèi)向外每旋轉(zhuǎn)一圈便開(kāi)發(fā)出一個(gè)更為完善(7)軟件版本

?■Yourdon方法適合于“預(yù)先指定(7)系統(tǒng)”;

如原型法適合于“用戶(hù)驅(qū)動(dòng)系統(tǒng)”。

?:??通常用“范式”定義消除數(shù)據(jù)冗余程度。第一范式數(shù)據(jù)冗余程度最大,第五范式數(shù)據(jù)冗余程度最小。

?:?■狀態(tài)轉(zhuǎn)換圖:

狀態(tài)時(shí)可以被現(xiàn)察到(7)系統(tǒng)行為模式,一個(gè)狀態(tài)代表系統(tǒng)(7)一種行為模式,它規(guī)宇了系統(tǒng)對(duì)事件(7)響應(yīng)方

式,一張狀態(tài)圖有一個(gè)初態(tài)和0至多個(gè)終態(tài)。

事件:在某個(gè)特定時(shí)刻引起系統(tǒng)做動(dòng)作和(或)狀態(tài)轉(zhuǎn)換G控制信息。

?:?■驗(yàn)證軟件需求(7)正確性:

一致性、完整性、現(xiàn)實(shí)性、有效性

>-Unit4

A?總體設(shè)計(jì):

目O:確定系統(tǒng)具體物理實(shí)現(xiàn)方案(系統(tǒng)結(jié)構(gòu)設(shè)計(jì)),確定組成每一個(gè)程序O模塊,以及模塊間(Z)關(guān)系(軟件結(jié)

構(gòu)設(shè)計(jì))o

任務(wù):軟件結(jié)構(gòu)設(shè)計(jì)(過(guò)程設(shè)計(jì)是詳細(xì)設(shè)計(jì)階段內(nèi)任務(wù))

過(guò)程:

設(shè)想供選擇O方案

選取合理方案(每份方案有系統(tǒng)流程圖、組成系統(tǒng)(7)物理元素清單、成本/效益分析、實(shí)現(xiàn)這個(gè)系統(tǒng)(7)進(jìn)

度計(jì)劃4份資料)等9步(P92)

》?在軟件開(kāi)發(fā)早期階段考慮測(cè)試問(wèn)題,能促使軟件設(shè)計(jì)人員在設(shè)計(jì)時(shí)注意提高軟件(Z)可測(cè)試性。

》?總體設(shè)計(jì)階段書(shū)寫(xiě)內(nèi)文檔:系統(tǒng)說(shuō)明、用戶(hù)手冊(cè)、測(cè)試計(jì)劃、詳細(xì)實(shí)現(xiàn)計(jì)劃、數(shù)據(jù)庫(kù)設(shè)計(jì)結(jié)果。

A?總體設(shè)計(jì)過(guò)程中,推薦最佳方案后進(jìn)入“軟件結(jié)構(gòu)”設(shè)計(jì):設(shè)計(jì)已組成這個(gè)系統(tǒng)所有程序、文件和數(shù)據(jù)庫(kù),以

及它們之間(7)聯(lián)系。軟件結(jié)構(gòu):由模塊組成層次系統(tǒng)。模塊:數(shù)據(jù)說(shuō)明、可執(zhí)行語(yǔ)句等程序。

X/S(Client/server)結(jié)構(gòu)是軟件系統(tǒng)體系結(jié)構(gòu)

>?“結(jié)構(gòu)化設(shè)計(jì)”概括地說(shuō)就是:用一組標(biāo)準(zhǔn)工具和準(zhǔn)則來(lái)確定系統(tǒng)應(yīng)該由哪些模塊、用什么方式聯(lián)結(jié)在一起,

才能構(gòu)成一個(gè)最好O軟件結(jié)構(gòu)。

A?模塊化就是把程序劃分成若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集成起來(lái)構(gòu)成一個(gè)整體,可以完成

指定(7)功能滿(mǎn)足用戶(hù)需求。

A?模塊:具有四種屬性0)一組程序語(yǔ)句稱(chēng)為一個(gè)模塊,這四種屬性分別是:輸入和輸出、邏輯功能、運(yùn)行程序、內(nèi)

部數(shù)據(jù)。(前兩個(gè)是模塊外部屬性,后兩個(gè)是內(nèi)部屬性,總體設(shè)計(jì)完成外部屬性設(shè)計(jì)、詳細(xì)設(shè)計(jì)完成內(nèi)部屬性

設(shè)計(jì))

軟件結(jié)構(gòu)圖中,模塊用一矩形表示。

》?模塊問(wèn)調(diào)用:用一連接

A?開(kāi)發(fā)具有獨(dú)立功能而且和其它模塊之間沒(méi)有過(guò)多相互作用(Z)模塊,可以做到模塊獨(dú)立。

、?影響模塊獨(dú)立(Z)因素:

耦合(不同模塊間互聯(lián)程度:

內(nèi)聚(同一模塊內(nèi)各元素緊密程度)

力爭(zhēng)高內(nèi)聚、低耦合。

>5種耦合形式:

數(shù)據(jù)耦合、控制耦合、特征耦合、公共耦合、內(nèi)容耦合(從左到右耦合程度詫增)

最弱內(nèi)耦合是非直接耦合

上7種內(nèi)聚形式:

功能內(nèi)聚、順序內(nèi)聚、通信內(nèi)聚、過(guò)程內(nèi)聚、時(shí)間內(nèi)聚、邏輯內(nèi)聚、偶然內(nèi)聚(從左到右程度依次遞減)

??模塊扇出與扇入:

模塊內(nèi)扇出是指一個(gè)模塊擁有(Z)直接下級(jí)模塊個(gè)數(shù)。

模塊內(nèi)扇人是指一個(gè)模塊直接上級(jí)模塊內(nèi)個(gè)數(shù)。

模塊扇出系數(shù)應(yīng)控制在7以?xún)?nèi),盡可能加大模塊。)扇入系數(shù)。

A?作用域應(yīng)該是控制域子集;

A?模塊控制域和作用域:

模塊唾制域(控制范圍):是指這個(gè)模塊本身以及所有直接或間接從屬于它模塊內(nèi)集合。

模塊(7)作用域(判斷作用范圍):是指受該模塊內(nèi)一個(gè)判斷影響0)所有模塊0)集合。(也就是該模塊內(nèi)存在著判斷

調(diào)用語(yǔ)句,而所有受到該判斷邏輯影響內(nèi)模塊,就是該模塊作用域。)

作用域應(yīng)該是控制域(7)子集;理想(Z)是作用域都是直接下屬模塊。

》?數(shù)據(jù)流類(lèi)型——數(shù)據(jù)在DFD中流徑特征

變換流:進(jìn)入系統(tǒng)中O數(shù)據(jù)所流經(jīng)路徑幾乎是一樣內(nèi)。

事務(wù)流:進(jìn)入系統(tǒng)中0)數(shù)據(jù)所流經(jīng)(Z)路徑不完全是一樣0)。

》?事務(wù)中心往往包含多個(gè)處理邏輯。

>?“事務(wù)”是指一組輸入數(shù)據(jù)。

跟蹤

反跟蹤

閉環(huán)——變換中心

「交換中心找一

本多

最高層模塊L速一個(gè)

第二層模塊一三部分[黎念簽爰

L輸出處理

優(yōu)化:軟件結(jié)杓設(shè)計(jì)的基樣造

蝴:按二叉樹(shù)形式分解

??Unit5

?:??詳細(xì)設(shè)計(jì):

目(D:完成模塊(Z)過(guò)程設(shè)計(jì)(為SC中每個(gè)模塊確定采用算法和塊內(nèi)數(shù)據(jù)結(jié)構(gòu),用某種選定O>表達(dá)工具給

出詳細(xì)清晰(D描述。)

模塊(Z)邏輯設(shè)計(jì)(模塊S>過(guò)程描述)

主要內(nèi)容:

1)為每個(gè)模塊確定采用算法

2)確定每個(gè)模塊使用(Z)內(nèi)部數(shù)據(jù)結(jié)構(gòu)

3)確定模塊(Z)接口細(xì)節(jié)

4)制定模塊(Z)測(cè)試計(jì)劃

完成模塊“內(nèi)部屬性”設(shè)計(jì),即給出系統(tǒng)中各個(gè)模塊(Z)“運(yùn)行程序”和“內(nèi)部數(shù)據(jù)”;由此可見(jiàn)詳細(xì)設(shè)

計(jì)7)結(jié)果基本上決定了最終軟件(D質(zhì)量。

詳細(xì)設(shè)計(jì)目標(biāo)更重要(Z)是便于維護(hù)。

工具:

1.程序流程圖(流程圖)

2.N-S圖(盒圖)

3FAD圖(問(wèn)題分析圖)

4.偽代碼和PDL語(yǔ)言

?:??邏輯設(shè)計(jì)應(yīng)遵循內(nèi)理念:

1.從效率第一到清晰第一

2.結(jié)構(gòu)化(7)控制結(jié)構(gòu):結(jié)構(gòu)化程序設(shè)計(jì)=僅使用單入口單出口三種基本控制結(jié)構(gòu)

3.逐步細(xì)化實(shí)現(xiàn)方法

[例]在一組數(shù)中找出其中最大數(shù)分別用程序流程圖、N-S圖和PAD圖描述

用“結(jié)構(gòu)化”保證程序(7)清晰易讀,用“逐步細(xì)化”實(shí)現(xiàn)程序(Z)正確可靠,它們導(dǎo)致了一條自然0)結(jié)論:

模塊內(nèi)邏輯設(shè)計(jì)必須用結(jié)構(gòu)化程序設(shè)計(jì)原理來(lái)指導(dǎo)。(結(jié)構(gòu)化分析設(shè)計(jì)在詳細(xì)設(shè)計(jì)階段)

??Yourdon方法嫩術(shù)途徑:DFD-DFD+DD-SC-PDL

?:??Yocrdon方法在分析階段,我們用DFD來(lái)表示軟件邏輯模型;在設(shè)計(jì)階段,又按照數(shù)據(jù)流類(lèi)型,分別用變換

分析或事務(wù)分析將它們轉(zhuǎn)換成相應(yīng)(Z)軟件結(jié)構(gòu)。

?:??面向數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)方法根據(jù)和基本思想:

算法和數(shù)據(jù)結(jié)構(gòu)是程序設(shè)計(jì)中不可分割(Z)側(cè)面,算法(Z)結(jié)構(gòu)依賴(lài)于它要處理(D數(shù)據(jù)結(jié)構(gòu)。只要事先知道一

個(gè)問(wèn)題數(shù)據(jù)結(jié)構(gòu),就可以由此導(dǎo)出它(Z)程序結(jié)構(gòu)。

?:?■基于數(shù)據(jù)流還是基于數(shù)據(jù)結(jié)構(gòu)0)出發(fā)點(diǎn)不同,最終目標(biāo)也不同。SADT(結(jié)構(gòu)化分析設(shè)計(jì)工具)方法(7)目標(biāo)是得

出軟件0)最終SC圖,它把注意力集中在模塊內(nèi)合理劃分上;面向數(shù)據(jù)結(jié)構(gòu)(?)設(shè)計(jì)則要求得出程序過(guò)程性描

述,并不明確也提出軟件應(yīng)該先分成模塊等概念。

?:「SADT方法:DFD->SC(軟件結(jié)構(gòu)圖)->模塊(Z)過(guò)程性描述(PDL等)

I<——總體設(shè)計(jì)——>II<——詳細(xì)設(shè)計(jì)——>I

Jackson方法(面向數(shù)據(jù)結(jié)構(gòu)):數(shù)據(jù)結(jié)構(gòu),程序結(jié)構(gòu)->程序過(guò)程性描述(偽代碼等)

1<一一總體設(shè)計(jì)一I1<----------詳細(xì)設(shè)計(jì)------>I

?:?■程序復(fù)雜程度(Z)定量度量:

1.程序圖(流圖)(用任何方法表示G詳細(xì)設(shè)計(jì)結(jié)果都可以變換成程序圖)

流程圖中各種處理框均簡(jiǎn)化成一個(gè)結(jié)點(diǎn)

2.環(huán)域復(fù)雜度

程序結(jié)構(gòu)復(fù)雜度可用強(qiáng)連通內(nèi)有向圖中線(xiàn)性無(wú)關(guān)環(huán)G個(gè)數(shù)來(lái)度量

V(G)=判定結(jié)點(diǎn)數(shù)+1

>-Unit6

編碼(也稱(chēng)實(shí)現(xiàn))

任務(wù):把模塊過(guò)程性描述翻譯為用該語(yǔ)言書(shū)寫(xiě)源程序(或源代碼)。

》?編碼O風(fēng)格

1.程序要清晰直觀,不要過(guò)于巧妙

2.用一定(Z)原則指導(dǎo)控制結(jié)構(gòu)內(nèi)使用(避免使用容易引起混淆(Z)結(jié)構(gòu)和語(yǔ)句)

3.有規(guī)律地使用GOTO語(yǔ)句

不得不把效率考慮放在首位0)時(shí)候,而結(jié)構(gòu)化程序又不能滿(mǎn)足時(shí)間要求時(shí),就可用GOT。語(yǔ)句來(lái)減少重復(fù)

(Z)代碼段;

4.實(shí)現(xiàn)源程序(Z)文檔化(軟件:程序+文檔)〈有意義CD變量名稱(chēng)、適當(dāng)注釋、標(biāo)準(zhǔn)(Z)書(shū)寫(xiě)格式,

?-Unit7:

?:??軟件測(cè)試:

定義:程序測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序(Z)過(guò)程。

糾錯(cuò)(調(diào)試)是為了確定錯(cuò)誤(Z)性質(zhì),并且加以糾正。

?:??軟件測(cè)試包括機(jī)器測(cè)試(動(dòng)態(tài)測(cè)試)(黑盒測(cè)試&白盒測(cè)試)和人工測(cè)試(代碼復(fù)審)(代碼走查+會(huì)審+辦公桌檢查)

程序編譯通過(guò)后,應(yīng)該先人工測(cè)試(發(fā)現(xiàn)邏輯錯(cuò)誤)后機(jī)器測(cè)試(在設(shè)定測(cè)試數(shù)據(jù)上執(zhí)行被測(cè)程序).

?:??動(dòng)態(tài)測(cè)試是一個(gè)包括:①設(shè)計(jì)“測(cè)試用例”f②執(zhí)行被測(cè)程序f③分析測(cè)試結(jié)果并發(fā)現(xiàn)錯(cuò)誤過(guò)程。(①設(shè)計(jì)“測(cè)

試用例”是最關(guān)鍵)

測(cè)試用例={輸入數(shù)據(jù)+期望結(jié)果}

按照在設(shè)計(jì)“測(cè)試用例”時(shí),是否涉及程序(Z)內(nèi)部結(jié)構(gòu),把動(dòng)態(tài)測(cè)試分為:

白盒測(cè)試:從程序(Z)內(nèi)部邏輯入手,按照一定原則設(shè)計(jì)測(cè)試用例。

黑盒測(cè)試:僅以程序外部功能為依據(jù)來(lái)設(shè)計(jì)測(cè)試用例。檢查程序是否完成應(yīng)做和是否做了不該做(按規(guī)

格說(shuō)明書(shū)內(nèi)規(guī)定)

?:??軟件測(cè)試步驟:[見(jiàn)筆記木上圖]

單元測(cè)試:在編碼階段完成;以模塊為單位,(主要白盒)發(fā)現(xiàn)(Z)往往是編碼和詳細(xì)設(shè)計(jì)(Z)錯(cuò)誤

綜合測(cè)試:(模塊組裝測(cè)試、集成測(cè)試)以軟件(Z)設(shè)計(jì)信息為依據(jù),主要用黑盒,發(fā)現(xiàn)設(shè)計(jì)錯(cuò)誤,也可能發(fā)現(xiàn)

需求說(shuō)明錯(cuò)誤。

確認(rèn)測(cè)試(驗(yàn)收測(cè)試):以軟件需求信息為依據(jù),用黑盒,發(fā)現(xiàn)需求說(shuō)明書(shū)中(D錯(cuò)誤,驗(yàn)證軟件(Z)有效性

系統(tǒng)測(cè)試:指整個(gè)計(jì)算機(jī)系統(tǒng)(包括軟件與硬件)測(cè)試。

。?代碼復(fù)審

1.代碼會(huì)審:開(kāi)會(huì)逐句朗讀和講解程序,精力集中于發(fā)現(xiàn)錯(cuò)誤,會(huì)后改正錯(cuò)誤

2.走查:與會(huì)者扮演“計(jì)算機(jī)”O(jiān)角色

3.辦公桌檢查:一個(gè)人參加內(nèi)代碼會(huì)審

?!龊诤袦y(cè)試方法:

?:??等價(jià)分類(lèi)法:

按測(cè)試結(jié)果“等價(jià)”把被測(cè)程序(7)輸入域劃分為若干個(gè)等價(jià)類(lèi),每一個(gè)等價(jià)類(lèi)都選擇一例“測(cè)法用例”,與“應(yīng)

做(7)事情”相對(duì)應(yīng)內(nèi)是“有效等價(jià)類(lèi)',而與“不應(yīng)該做(Z)事情”相對(duì)應(yīng)(Z)稱(chēng)之為“無(wú)效等價(jià)類(lèi)”。

設(shè)計(jì)等價(jià)類(lèi)。?測(cè)試用例分為兩步:

1.劃分等價(jià)類(lèi)并給出定義;

2.選擇測(cè)試用例0)原則:有效等價(jià)類(lèi)(Z)測(cè)試用例盡量公用;無(wú)效等價(jià)類(lèi)必須每類(lèi)一例。

[例]某城市0)電話(huà)號(hào)碼……【看筆汜】

?:??邊界值分析法(邊值法)

如錯(cuò)誤猜測(cè)法(猜錯(cuò)法)

。?因果圖法

?:??白盒測(cè)試方法:[見(jiàn)筆記]

合理O白盒測(cè)試,就是要選取足夠測(cè)試用例,以實(shí)現(xiàn)對(duì)源程序比較充分覆蓋。

如邏輯覆蓋法:(按照由低到高對(duì)程序邏輯覆蓋程度內(nèi)順序)

語(yǔ)句覆蓋:每條語(yǔ)句至少執(zhí)行一次;

判定覆蓋:不僅每條語(yǔ)句至少執(zhí)行一次,而且每一分支至少執(zhí)行一次;

條件覆蓋:不僅語(yǔ)句覆蓋,而且每個(gè)條件均按“真”、“假”兩種結(jié)果至少執(zhí)行一次;

條件組合覆蓋:不僅語(yǔ)句覆蓋,而且每個(gè)條件(Z)所有可能組合都至少執(zhí)行一次。

如路徑覆蓋法:(按照由低到高對(duì)程序邏輯覆蓋程度)

結(jié)點(diǎn)覆蓋:每個(gè)結(jié)點(diǎn)走一次;相當(dāng)于語(yǔ)句覆蓋

邊覆蓋:每條邊走一次;相當(dāng)于判定覆蓋

路徑覆蓋:每條路徑走一次;(不需要考慮程序循環(huán))

>-Unit8

A?面向?qū)ο蠡驹恚菏姑枋鰡?wèn)題(Z)詞題空間和在計(jì)算機(jī)上解決問(wèn)題(Z)解空間在結(jié)構(gòu)上盡可能一致。

》?基木概念:

(1)對(duì)象:由數(shù)據(jù)以及可以施加在這些數(shù)據(jù)上礴作(或服務(wù)、方法、處理)所構(gòu)成統(tǒng)一體,它是面向?qū)?/p>

象軟件④基本模塊。

(2)類(lèi):對(duì)具有相同數(shù)據(jù)和相同操作(Z)一組相似對(duì)象G定義(抽象)。

(3)不同G對(duì)象彼此之間只能通過(guò)消息相互作用、相互聯(lián)系

(4)繼承:處于下一層次上內(nèi)派生類(lèi)自動(dòng)繼承了位于上一層次基類(lèi)屬性(數(shù)據(jù))和行為(操作)

A?面向?qū)ο缶褪羌仁褂脤?duì)象又使用類(lèi)和繼承等機(jī)制,而對(duì)象之間僅能通過(guò)傳遞消息實(shí)現(xiàn)彼此間通信。

>-UML用視圖來(lái)表示被建模系統(tǒng)(7)各個(gè)方面,它把軟件模型分成5個(gè)視圖,每一個(gè)視圖代表完整系統(tǒng)(7)一個(gè)特東

方面。每一個(gè)視圖又由一種或多種模型圖構(gòu)成。

1.用例視圖:用來(lái)支持需求分析,也就是說(shuō)系統(tǒng)將提供(Z)功能是在用例視圖中描述內(nèi)。

2.邏輯視圖:定義系統(tǒng)O實(shí)現(xiàn)邏輯,重點(diǎn)關(guān)注(Z)是系統(tǒng)內(nèi)靜態(tài)結(jié)構(gòu)(類(lèi)、對(duì)象及它們之間關(guān)系),也描述系

統(tǒng)內(nèi)部0)動(dòng)態(tài)協(xié)作關(guān)系。它G模型圖包括類(lèi)圖、對(duì)象圖、狀態(tài)圖、順序圖、協(xié)作圖及活動(dòng)圖等。

3.組件視圖:描述系統(tǒng)(7)實(shí)現(xiàn)模塊及它們之間(Z)依賴(lài)關(guān)系。組件是不同類(lèi)型00代碼模塊,通過(guò)代碼模塊CD結(jié)

構(gòu)和依賴(lài)關(guān)系來(lái)表示。

4.部署視圖:描述軟件系統(tǒng)在計(jì)算機(jī)硬件系統(tǒng)和網(wǎng)絡(luò)上內(nèi)安裝、分發(fā)和分布情況。

5.實(shí)現(xiàn)視圖:描述組成軟件系統(tǒng)0)各個(gè)物理部件。

AUML由三部分組成:基本構(gòu)造塊、規(guī)則和公用機(jī)制

AUML定義了二類(lèi)模型元素(;)圖形表示:一類(lèi)模型元素用于表示模型中(Z)某個(gè)概念,一類(lèi)模型元素用于表示模型

元素之間(Z)關(guān)系

A?面向?qū)ο蠼#?/p>

對(duì)象模型一“誰(shuí)做?”(類(lèi)圖)

動(dòng)態(tài)模型——“什么時(shí)候做?”(狀態(tài)圖)

功能模型——“做什么?”(用例圖)

這三種模型都是必不可少對(duì)象模型是最核心0)。

在面向?qū)ο蠓治鲋?,?gòu)造出完全獨(dú)立于實(shí)現(xiàn)應(yīng)用域模型;在面向?qū)ο笤O(shè)計(jì)中,把求解域(Z)結(jié)構(gòu)逐漸加入

到模型中;在實(shí)現(xiàn)階段,把應(yīng)用域和求解域內(nèi)結(jié)構(gòu)進(jìn)行編碼和驗(yàn)證。

方法:OOAfOODfOOPTOOT是一個(gè)逐漸擴(kuò)充模型(;)過(guò)程,其間無(wú)需轉(zhuǎn)換概念和表示,開(kāi)發(fā)活動(dòng)之間

基本做到了平滑無(wú)縫過(guò)渡;

A?對(duì)象槿型:

類(lèi)與類(lèi)之間一般有四種關(guān)系:關(guān)聯(lián)、泛化(繼承)、依賴(lài)和細(xì)化。

1.關(guān)聯(lián):表示兩個(gè)類(lèi)“對(duì)象”之間存在某種語(yǔ)義上(7)聯(lián)系。

2.聚集:聚集是關(guān)聯(lián)內(nèi)特例,它表示類(lèi)與類(lèi)之間(Z)關(guān)系是整體與部分(Z)關(guān)系。

3.泛化(繼承):泛化關(guān)系指(Z)是類(lèi)與類(lèi)之間是“一般一特殊”(Z)關(guān)系。

4.依賴(lài)和細(xì)化:依賴(lài)關(guān)系是指一個(gè)模型元素依賴(lài)于另一個(gè)獨(dú)立(Z)模型元素,細(xì)化關(guān)系是指一個(gè)模型元素細(xì)化成了另

一個(gè)模型元素。

》?動(dòng)態(tài)模型:

描述了對(duì)象模型中對(duì)象(Z)生命周期過(guò)程,即對(duì)象狀態(tài),我們把一個(gè)觸發(fā)行為稱(chēng)為一個(gè)事件。動(dòng)態(tài)模型就是通

過(guò)描述對(duì)象狀態(tài)觸發(fā)狀態(tài)轉(zhuǎn)換事件、以及對(duì)象。)行為來(lái)描述軟件系統(tǒng)動(dòng)態(tài)行為(行為模型)。

A?功能模型:

UML提供用例圖來(lái)表示功能模型,并稱(chēng)之為用例模型。

功能模型也可用SADT中。)一組DFD來(lái)表示。(也是需求分析階段)

一幅用例圖包含內(nèi)模型元素有:系統(tǒng)、行為者、用例和用例之間。)關(guān)系。

一個(gè)用例是系統(tǒng)?!芬粋€(gè)完整功能,通過(guò)關(guān)聯(lián)與行為者連接,關(guān)聯(lián)指出一個(gè)用例與哪些行為者交互,這種交互

是雙向7)。

用例是一個(gè)類(lèi),用例O實(shí)例是系統(tǒng)(7)一種實(shí)際使用方法,我們稱(chēng)自為腳本。

用例之間內(nèi)關(guān)系主要有二種:擴(kuò)展關(guān)系和使用關(guān)系。

創(chuàng)建用例模型內(nèi)工作包括:定義系統(tǒng)、尋找行為者和用例、描述用例、定義用例之間(Z)關(guān)系,并確認(rèn)用例模型。

??Unit?:

。?面向?qū)ο蠓治觯∣bject-OrientedAnalysis,簡(jiǎn)稱(chēng)OOA)內(nèi)關(guān)鍵就是識(shí)別出對(duì)象與類(lèi),并分析之們之間內(nèi)關(guān)系,

最突建立對(duì)象模型、動(dòng)態(tài)模型和功能模型。

表達(dá)需求

圖:參照當(dāng)前系統(tǒng)建立目標(biāo)系統(tǒng)

。?通過(guò)劃分“主題”把一個(gè)復(fù)雜系統(tǒng)G對(duì)象模型分解成幾個(gè)不同G概念范疇。

A?軟件維護(hù)就是在軟件已經(jīng)交付使用之后,為了改正錯(cuò)誤或滿(mǎn)足新(Z)需要而修改軟件。?過(guò)程。

》?維護(hù)過(guò)程本質(zhì)上是修改和壓縮了(D軟件定義和開(kāi)發(fā)過(guò)程,而且事實(shí)上遠(yuǎn)在提出一項(xiàng)維護(hù)要求之前,與軟件維護(hù)有

關(guān)7)工作已經(jīng)開(kāi)始了。

進(jìn)行維護(hù)內(nèi)原因:改正程序中內(nèi)錯(cuò)誤和缺陷;改進(jìn)設(shè)計(jì)以適應(yīng)新(Z)軟、硬件環(huán)境;增加新應(yīng)用范圍;為了將來(lái)

維護(hù)工作。

》?維護(hù)分為以下幾類(lèi):改正性維護(hù);適應(yīng)性維護(hù);完善性維護(hù);預(yù)防性維護(hù)

》?未涵蓋講來(lái)(D內(nèi)容:

》?需求分析目?jī)?nèi):確定目標(biāo)系統(tǒng)必須具備哪些功能

》?總體設(shè)計(jì)內(nèi)主要任務(wù):一.制定幾種可能CD實(shí)現(xiàn)方案;二.設(shè)計(jì)程序體系結(jié)構(gòu)

A?詳細(xì)設(shè)計(jì)(模塊設(shè)計(jì))任務(wù):設(shè)計(jì)出程序(Z)詳細(xì)規(guī)格說(shuō)明

??集成測(cè)試和驗(yàn)收測(cè)試:

集成測(cè)試(組裝測(cè)試):根據(jù)設(shè)計(jì)(Z)軟件結(jié)構(gòu)

驗(yàn)收測(cè)試:按照規(guī)格說(shuō)明書(shū)內(nèi)規(guī)定,由用戶(hù)參與下對(duì)目標(biāo)系統(tǒng)進(jìn)行驗(yàn)收內(nèi)測(cè)試

》?通過(guò)對(duì)軟件測(cè)試結(jié)果內(nèi)分析可以預(yù)測(cè)軟件0)可靠性。

、?傳統(tǒng)軟件工程方法學(xué)(7)軟件過(guò)程,可以用瀑布模型來(lái)描述

》?瀑布模型0)特點(diǎn):階段間具有順序性和依賴(lài)性、推遲實(shí)現(xiàn)(Z)觀點(diǎn)

清楚地區(qū)分邏輯設(shè)計(jì)與物理設(shè)計(jì),盡可能推遲程序物理實(shí)現(xiàn)。

瀑布模型帶反饋環(huán),發(fā)現(xiàn)前面階段?力錯(cuò)誤時(shí),沿反饋線(xiàn)回頭修改

快速原型模型不帶反饋環(huán),軟件產(chǎn)品開(kāi)發(fā)是線(xiàn)性順序進(jìn)行內(nèi),用途是獲知用戶(hù)。1需求

A?增量模型(漸增模型):把軟件產(chǎn)品分解成增量構(gòu)件。原則:當(dāng)把新構(gòu)件集成到原有構(gòu)件時(shí),所形成G產(chǎn)品必須

是可測(cè)試(D。它能在較短時(shí)間內(nèi)向用戶(hù)提交可完成部分工作產(chǎn)品。

要求開(kāi)始實(shí)現(xiàn)各個(gè)構(gòu)件前就全部完成(7)需求分析、規(guī)格說(shuō)明、總體設(shè)計(jì)。

A螺旋模型內(nèi)基本思想:使用原形及其他方法來(lái)盡量降低風(fēng)險(xiǎn)??梢钥醋髅總€(gè)階段前都加了風(fēng)險(xiǎn)分析內(nèi)快速原型模

型,螺旋模型是風(fēng)險(xiǎn)驅(qū)動(dòng)型0>。

A?噴泉模型體現(xiàn)了面向?qū)ο箝_(kāi)發(fā)過(guò)程迭代和無(wú)縫(Z)特性。

》?采用先行順序(Z)開(kāi)發(fā)方法不可能開(kāi)發(fā)出當(dāng)今客戶(hù)需要大型復(fù)雜系統(tǒng)。

構(gòu)件:功能清晰。)模塊或子系統(tǒng)。

模型:對(duì)事物(Z)無(wú)歧義內(nèi)書(shū)面描述。

RUP強(qiáng)調(diào)采用迭代和漸增方式來(lái)開(kāi)發(fā)軟件,重復(fù)一系列組成軟件生命周期(Z)循環(huán)。

??面向?qū)ο蠓椒?對(duì)象+類(lèi)+繼承+用消息通信

》?可行性分析中導(dǎo)出供選擇解法內(nèi)最簡(jiǎn)單途徑,是從技術(shù)角度出發(fā)考慮解決問(wèn)題CD不同方案。

》?系統(tǒng)流程圖是概括地描繪物理系統(tǒng),力工具,表達(dá)數(shù)據(jù)在系統(tǒng)各部件之間流動(dòng)情況,而非對(duì)數(shù)據(jù)加工處理。

》?數(shù)據(jù)流圖(DFD)描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出O過(guò)程中所經(jīng)受變換。(描繪數(shù)據(jù)在軟件中流動(dòng)和被處

理7)邏輯過(guò)程),設(shè)計(jì)時(shí)只考慮系統(tǒng)必須完成(D基本邏輯功能。

畫(huà)數(shù)據(jù)流圖。?基本目利用它作為交流信息0)工具;作為分析和設(shè)計(jì)工具。

符號(hào):數(shù)據(jù)源點(diǎn)/終點(diǎn),變換數(shù)據(jù)(Z)處理,數(shù)據(jù)存儲(chǔ),數(shù)據(jù)流

》?數(shù)據(jù)存儲(chǔ)是處于靜止?fàn)顟B(tài)數(shù)據(jù)流,數(shù)據(jù)流是處于運(yùn)動(dòng)中。?數(shù)據(jù),

》?數(shù)據(jù)字典是關(guān)于數(shù)據(jù)O信息(7)集合,即對(duì)數(shù)據(jù)流圖中包含O所有元素定義O1集合。

數(shù)據(jù)字典包含內(nèi)容:數(shù)據(jù)流,數(shù)據(jù)流分量,數(shù)據(jù)存儲(chǔ),處理

數(shù)據(jù)字典用途:分析階段0)工具。

A逆向需求說(shuō)明軟件系統(tǒng)不應(yīng)該做什么

A分析系統(tǒng)常用圖形工具:層次方框圖、Womier圖

A?需求分析時(shí)要把數(shù)據(jù)結(jié)構(gòu)規(guī)范化。

A?結(jié)構(gòu)化分析方法就是面向數(shù)據(jù)流自頂向下逐步求精講行需求分析G方法。

把分析過(guò)程中得到(Z)有關(guān)數(shù)據(jù)元素記錄在數(shù)據(jù)字典中,對(duì)算法(Z)簡(jiǎn)明描述記錄在IPO圖中c

快速建立軟件原型是最好內(nèi)需求分析技術(shù)。為快速構(gòu)建和修改原型,使用三種工具和方法:

第四代技術(shù)

可重用(D軟件構(gòu)件

形式化規(guī)格說(shuō)明和原型環(huán)境

A?概念性數(shù)據(jù)模型是一種面向問(wèn)題。?數(shù)據(jù)模型,是按照用戶(hù)O觀點(diǎn)對(duì)數(shù)據(jù)建立模型。

A?數(shù)據(jù)對(duì)象是軟件必須理解內(nèi)復(fù)合信息內(nèi)抽象。

》?用“范式”定義消除數(shù)據(jù)冗余程度,第一范式冗余最大。

》?狀態(tài)是任何可被觀察到(Z)系統(tǒng)行為模式,一個(gè)狀態(tài)代表系統(tǒng)(Z)一種行為模式。

A?狀態(tài)圖(Z)活動(dòng)表中經(jīng)常使用entry,exit,do三種標(biāo)準(zhǔn)事件。

AIP。圖是輸入、處理、輸出圖,處理框中列出處理次序暗示了執(zhí)行(Z)順序。

A?驗(yàn)證軟件需求(Z)正確性:一致性、完整性、現(xiàn)實(shí)性、有效性

》?結(jié)構(gòu)設(shè)計(jì)是總體設(shè)計(jì)階段(Z)任務(wù),過(guò)程設(shè)計(jì)是詳細(xì)設(shè)計(jì)階段O任務(wù)

A?軟件結(jié)構(gòu)(即由模塊組成(Z)層次系統(tǒng))可以用層次圖或結(jié)構(gòu)圖描繪。

》?在軟件開(kāi)發(fā)(Z)早期階段考慮測(cè)試問(wèn)題,可以促使軟件開(kāi)發(fā)者設(shè)計(jì)時(shí)注意提高軟件內(nèi)可測(cè)試性。

>?隨著模塊數(shù)增加,設(shè)計(jì)模塊間接口所需工作量也增加。

》?逐步求精是規(guī)格說(shuō)明技術(shù)、設(shè)計(jì)和實(shí)現(xiàn)技術(shù)(Z)基礎(chǔ)。

逐步求精定義:為了能集中精力解決主要問(wèn)題而盡量推遲對(duì)問(wèn)題細(xì)節(jié)2)考慮。

》?模塊獨(dú)立概念是模塊化、抽象、信息隱藏和局部化概念CD直接結(jié)果。

A耦合強(qiáng)弱取決于模塊接口0)復(fù)雜程度,進(jìn)入或訪(fǎng)問(wèn)一個(gè)模塊點(diǎn),以及通過(guò)接口CD數(shù)據(jù)。

下模塊間(7)耦合程度影響系統(tǒng)O可理解性、可測(cè)試性、可靠性和可維護(hù)性

》?內(nèi)聚比耦合更重要。

A?深度表示軟件結(jié)構(gòu)中控制(7)層數(shù),能粗略標(biāo)識(shí)系統(tǒng)大小。

寬度是軟件結(jié)構(gòu)內(nèi)同一層次上內(nèi)模塊總數(shù)G最大值。

扇出過(guò)大意味著模塊過(guò)分復(fù)雜,扇入越大則共享該模塊。)上級(jí)模塊越多(好)。

好7)軟件結(jié)構(gòu)通常頂層扇出高,中層扇出較少,底層模塊有高扇入。

》?面向數(shù)據(jù)流(Z)設(shè)計(jì)方法把信息流映射成軟件結(jié)構(gòu),信息流(Z)類(lèi)型(變換流、事務(wù)流)決定映射萬(wàn)法。

A?經(jīng)典程序設(shè)計(jì):只允許使用順序、IF_THEN_ELSE、DO_WHILE

擴(kuò)展(Z)結(jié)構(gòu)程序設(shè)計(jì):外力口DCLCASE、DO_UNTIL

修改結(jié)構(gòu)程序設(shè)計(jì):外加BREAK

》?系統(tǒng)響應(yīng)時(shí)間(Z)兩個(gè)屬性:長(zhǎng)度、易變性

》?用戶(hù)界面設(shè)計(jì)是一個(gè)迭代過(guò)程。

》?過(guò)程涉及工具:程序流程圖、盒圖、PAD圖、判定表、判定樹(shù)、過(guò)程設(shè)計(jì)語(yǔ)言PDL

A程序復(fù)雜度定量度量:

l.McCQbe方法(流圖,也叫程序圖):流圖中(Z)區(qū)域數(shù)二環(huán)形復(fù)雜度二判定節(jié)點(diǎn)數(shù)+1

程序環(huán)形復(fù)雜度取決于程序控制流O復(fù)雜程度,即取決于程序結(jié)構(gòu)(7)復(fù)雜程度。所以它是對(duì)測(cè)試難度定量

度量.也能對(duì)軟件可靠性檢測(cè)。

2.Halstead方法(根據(jù)程序中運(yùn)算符和操作數(shù)總數(shù)來(lái)度量)

》?編碼和測(cè)試統(tǒng)稱(chēng)為實(shí)現(xiàn)。

》?程序(7)質(zhì)量主要取決于軟件設(shè)計(jì)O質(zhì)量。

A?測(cè)試(Z)目O:發(fā)現(xiàn)軟件中(Z)錯(cuò)誤,根本任務(wù):保證軟件質(zhì)量

A?調(diào)試目(7):診斷并改正測(cè)試中發(fā)現(xiàn)CD錯(cuò)誤

A?效率主要指處理機(jī)時(shí)間和存儲(chǔ)器容量?jī)煞矫妗?/p>

A用戶(hù)角度:最嚴(yán)重。?錯(cuò)誤是導(dǎo)致程序不能滿(mǎn)足用戶(hù)需求錯(cuò)誤。

》?一旦完成了需求模型就可以著手制定測(cè)試計(jì)劃,建立了設(shè)計(jì)模型之后就可以立即開(kāi)始設(shè)計(jì)詳細(xì)測(cè)試方案。

A?最佳測(cè)試效果:有最大可能性發(fā)現(xiàn)錯(cuò)誤(7)測(cè)試

A?模塊組裝測(cè)試兩種方法:非漸增式測(cè)試(分別測(cè)試每個(gè)模塊)&漸增式測(cè)試(把下一個(gè)要測(cè)試0)同已經(jīng)測(cè)好(Z)結(jié)

合起來(lái)測(cè)試)

A?漸增方式分自頂向下集成和自底向上集成

》?為了保證加入模塊沒(méi)有引進(jìn)新內(nèi)錯(cuò)誤,可能需要進(jìn)行回歸測(cè)試

沁自頂向下測(cè)試方法主要優(yōu)點(diǎn):不需要測(cè)試驅(qū)動(dòng)程序,能夠在測(cè)試階段早期發(fā)現(xiàn)接口錯(cuò)誤。

》?回歸測(cè)試:重新執(zhí)行已經(jīng)做過(guò)測(cè)試內(nèi)某個(gè)子集。它用于保證由二調(diào)試或其他原因引起內(nèi)變化,不會(huì)導(dǎo)致非預(yù)期

(Z)軟件行為或額外錯(cuò)誤。

》?確認(rèn)測(cè)試目(Z):驗(yàn)證軟件。)有效性。

A?如果軟件O功能和性能如同用戶(hù)期望CD,就是有效O

》?確認(rèn)測(cè)試以用戶(hù)為主,重要內(nèi)容是復(fù)查軟件配置。

》?條件測(cè)試0)目?jī)?nèi)不僅是檢測(cè)程序條件中(?)錯(cuò)誤,而且是檢測(cè)程序中(Z)其他錯(cuò)誤。

》?在一段程序中已經(jīng)發(fā)現(xiàn)(Z)錯(cuò)誤數(shù)往往和尚未發(fā)現(xiàn)錯(cuò)誤數(shù)成正比,

A等價(jià)劃分法和邊界值分析法都只孤立地考慮各個(gè)輸入數(shù)據(jù)O測(cè)試功效,而未考慮多個(gè)輸入數(shù)據(jù)。?組合效應(yīng)。

》?軟件可靠性:程序在給定時(shí)間間隔內(nèi),按照規(guī)格說(shuō)明書(shū)<?>規(guī)定成功運(yùn)行概率

》?錯(cuò)誤:由開(kāi)發(fā)人員造成(7)bug;故障:由錯(cuò)誤引起(Z)軟件內(nèi)不正確行為

》?軟件可用性:程序在給定時(shí)間點(diǎn),按照規(guī)格說(shuō)明書(shū)上。?規(guī)定,成功地運(yùn)行概率。

》?預(yù)防性維護(hù):為了改進(jìn)未來(lái)可維護(hù)性或可靠性……

》?軟件維護(hù)分為非結(jié)構(gòu)化維護(hù)和結(jié)構(gòu)化維護(hù)

》?維護(hù)事件流(Z)最后一個(gè)事件是復(fù)審,它再次檢驗(yàn)軟件配置有效性,并保證事實(shí)上滿(mǎn)足了維護(hù)要求表中(Z)要求。

A?軟件可維護(hù)性:維護(hù)人員理解、改正、改動(dòng)或改進(jìn)這個(gè)軟件內(nèi)難易程度。提高軟件維護(hù)性是支配軟件工程方法

學(xué)所有步驟G關(guān)鍵目標(biāo)。

》?決定軟件可維護(hù)性因素:可理解性、可測(cè)試性、可修改性、可移植性、可重用性

》?用戶(hù)文檔包括:功能描述、安裝文檔、使用手冊(cè)、參考手冊(cè)、操作員指南

》?面向?qū)ο蠓椒ㄓ脤?duì)象分解取代了傳統(tǒng)方法(Z)功能分解。

A對(duì)象彼此之間僅通過(guò)消息傳遞相互聯(lián)系。

》?面向?qū)ο蠖?duì)象+類(lèi)+繼承+消息傳遞通信

如果僅用對(duì)象和消息,則稱(chēng)為基于對(duì)象方法,而非面向?qū)ο驩方法。

如果講一步要求把所有對(duì)象都劃分成類(lèi),則稱(chēng)為基于類(lèi)(7)方法,仍非面向?qū)ο螅?)方法。

只有同時(shí)使用以上4點(diǎn),才是面向?qū)ο螅?)。

AOOD不同于面向過(guò)程設(shè)計(jì),其思想是:使用現(xiàn)實(shí)世界O概念抽象地思考問(wèn)題而自然G解決問(wèn)題。(重要O是應(yīng)

用模型)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論