




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廣東南方職業(yè)學(xué)院高職單招語(yǔ)文2019-2024歷年真題考點(diǎn)試卷含答案解析
- 2025年山東鋁業(yè)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年(2019-2024年)真題考點(diǎn)試卷含答案解析
- 2025年山東職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年(2019-2024年)真題考點(diǎn)試卷含答案解析
- 2025年安徽郵電職業(yè)技術(shù)學(xué)院高職單招高職單招英語(yǔ)2016-2024歷年頻考點(diǎn)試題含答案解析
- 2025年安徽揚(yáng)子職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年(2019-2024年)真題考點(diǎn)試卷含答案解析
- 2025年安慶職業(yè)技術(shù)學(xué)院高職單招(數(shù)學(xué))歷年真題考點(diǎn)含答案解析
- 高端石材裝修工程承包合同模板
- CNC基礎(chǔ)知識(shí)培訓(xùn)課件
- 教師說(shuō)課計(jì)劃教學(xué)匯報(bào)
- 右肩胛區(qū)皮膚鱗癌護(hù)理查房
- 華為財(cái)務(wù)管理(6版)-華為經(jīng)營(yíng)管理叢書(shū)
- 化工工藝有機(jī)廢氣處理裝置技術(shù)規(guī)范
- 超聲技術(shù)學(xué)智慧樹(shù)知到課后章節(jié)答案2023年下杭州醫(yī)學(xué)院
- 鹽酸乙醇標(biāo)準(zhǔn)溶液配制方法
- 廠區(qū)動(dòng)火作業(yè)安全規(guī)程
- 急診科運(yùn)用PDCA對(duì)急診患者預(yù)檢分診登記系統(tǒng)使用率低原因分析品管圈魚(yú)骨圖柏拉圖對(duì)策擬定
- 網(wǎng)絡(luò)安全知識(shí)競(jìng)賽題庫(kù)及答案 1000題
- 拉薩租房合同房屋租賃合同租房合同書(shū)
- 癌癥疼痛三階梯止痛療法幻燈片
- 大象版科學(xué)(2017)六年級(jí)下冊(cè)第一單元《生物的家園》單元測(cè)試卷及答案
- GB/T 4857.19-1992包裝運(yùn)輸包裝件流通試驗(yàn)信息記錄
評(píng)論
0/150
提交評(píng)論