第1章:軟件工程學(xué)概述_第1頁(yè)
第1章:軟件工程學(xué)概述_第2頁(yè)
第1章:軟件工程學(xué)概述_第3頁(yè)
第1章:軟件工程學(xué)概述_第4頁(yè)
第1章:軟件工程學(xué)概述_第5頁(yè)
已閱讀5頁(yè),還剩121頁(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章:軟件工程學(xué)概述

1.1軟件危機(jī)

60年代中期以前:通用硬件相當(dāng)普遍,軟件卻是為某個(gè)具體的應(yīng)用而編寫(xiě)的。

60年代中到70年代中:軟件作坊。

軟件危機(jī):計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。(正常、不正常運(yùn)行軟件都具有這

種問(wèn)題)

1.1.1軟件危機(jī)的表現(xiàn)

1)對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確:

2)用戶對(duì)完成的軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生;

3)軟件產(chǎn)品的質(zhì)量往往靠不住;

軟件危機(jī)的典型表現(xiàn):

4)軟件常常是不可維護(hù)的;

5)軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料;

6)軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升;

7)軟件開(kāi)發(fā)生產(chǎn)率提高的速度跟不上計(jì)算機(jī)應(yīng)用的發(fā)展趨勢(shì)。

1.1.2產(chǎn)生軟件危機(jī)的原因

1)軟件本身特點(diǎn)造成;

2)軟件開(kāi)發(fā)與維護(hù)的方法不正確。

主要表現(xiàn):

(a)忽視軟件需求分析;

<b)認(rèn)為軟件開(kāi)發(fā)就是寫(xiě)程序并使之運(yùn)行;

(c)輕視軟件維護(hù);

在軟件開(kāi)發(fā)的不同階段進(jìn)行修改需要付出的代價(jià)很不相同:

1)推廣使用在實(shí)踐中總結(jié)出來(lái)的開(kāi)發(fā)軟件的成功技術(shù)和方法,并研究探索更有效的技術(shù)和方法;

2)開(kāi)發(fā)和使用更好的軟件工具;

3)良好的組織管理措施。

1.1.3解決軟件危機(jī)的途徑

為了解決軟件危機(jī)產(chǎn)生的問(wèn)題,軟件工程與方法學(xué)逐漸形成,然后出現(xiàn)了兩個(gè)相互相承又各有側(cè)重的學(xué)科:

1)軟件工程學(xué):主要應(yīng)用工程的方法和技術(shù)研究軟件開(kāi)發(fā)與維護(hù)的方法、工具和管理的一門(mén)交叉學(xué)

科。

2)程序設(shè)計(jì)方法學(xué):主要應(yīng)用數(shù)學(xué)的方法研究程序的性質(zhì)以及程序設(shè)計(jì)的理論和方法的學(xué)科。

1.2軟件工程

1.2.1軟件工程的介紹

1968年NATO會(huì)議:軟件工程就是為了經(jīng)濟(jì)地獲得可靠的且能在實(shí)際機(jī)器上有效地運(yùn)行的軟件,而

建立和使用完善的工程原理。

1993年IEEE:軟件工程是(1)把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開(kāi)發(fā)、運(yùn)行和維護(hù)過(guò)程;

(2)研究(1)中提到的途徑。

軟件工程的本質(zhì)特性:

1.軟件工程關(guān)注于大型程序的構(gòu)造;

2.軟件工程的中心課題是控制復(fù)雜性;

3.軟件經(jīng)常變化;

4.開(kāi)發(fā)軟件的效率非常重要;

5.和諧地合作是軟件開(kāi)發(fā)的關(guān)鍵;

6.軟件必須有效地支持它的用戶;

7.在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品。

1.2.2軟件工程的基本原理

1.用分階段的生命周期計(jì)劃嚴(yán)格管理;

2.堅(jiān)持進(jìn)行階段評(píng)審;

3.實(shí)行嚴(yán)格的產(chǎn)品控制;

4.采用現(xiàn)代程序設(shè)計(jì)技術(shù);

5.結(jié)果能清楚地審查;

6.開(kāi)發(fā)小組的人員應(yīng)該少而精;

7.承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。

1.2.3軟件工程方法學(xué)

通常把在軟件生命周期全過(guò)程中使用的-整套技術(shù)方法的集合稱為方法學(xué)(Methodology),也稱為范

型(Paradigm)(,

軟件工程方法學(xué)的3要素:方法、工具和過(guò)程

1.傳統(tǒng)方法學(xué)

也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。

結(jié)構(gòu)化方法(StructureMethod)有:

1)結(jié)構(gòu)化設(shè)計(jì)方法(SD);

2)結(jié)構(gòu)化分析方法(SA);

3)結(jié)構(gòu)化分析與設(shè)計(jì)技術(shù)(SADT)

4)JACKSON方法

5)WARNIER方法

2.面向?qū)ο蠓椒▽W(xué)

把數(shù)據(jù)和對(duì)數(shù)據(jù)的操作緊密結(jié)合起來(lái)的方法,模擬人類認(rèn)識(shí)世界解決問(wèn)題的方法和過(guò)程。

面向?qū)ο蟮姆椒?/p>

=對(duì)象(屬性與服務(wù)的封裝)

+分類

+繼承

+通過(guò)消息的通訊

3.其他開(kāi)發(fā)方法

1)適用于實(shí)時(shí)事物處理系統(tǒng)的有限狀態(tài)機(jī)方法(FSM);

2)適用于并發(fā)軟件系統(tǒng)的PETRI網(wǎng)方法;

3)以數(shù)學(xué)概念和理論為基礎(chǔ)的形式化方法,如

SDC公司的形式化開(kāi)發(fā)方法FDM:

(FormalDevelopmentMethodology)

IBM公司的維也納開(kāi)發(fā)方法VDM:

(ViennaDevelopmentMethod)

1.3軟件生命周期

軟件生命周期:指軟件從提出到最終被淘汰的這個(gè)存在期O

軟件生命周期組成:

1)軟件定義;

A.問(wèn)題定義B.可行性研究C.需求分析

2)軟件開(kāi)發(fā);

D.總體設(shè)計(jì)E.詳細(xì)設(shè)計(jì)F.編碼和單元測(cè)試G綜合測(cè)試

3)運(yùn)行維護(hù)。

軟件生命周期各個(gè)階段:

1.問(wèn)題定義;

2.可行性研究;

3.需求分析:

4.總體設(shè)計(jì)(概要設(shè)計(jì));

5.詳細(xì)設(shè)計(jì);

6.編碼與單元測(cè)試;

7.綜合測(cè)試;

8維.護(hù)。需求分析

購(gòu)證

1.4軟件過(guò)程規(guī)格說(shuō)明

臉證

軟件過(guò)程:為了獲得高質(zhì)量軟件所需

設(shè)計(jì)

要完成的一系列任務(wù)的框架,它規(guī)定

驗(yàn)證

了完成各項(xiàng)任務(wù)的工作步驟。

軟件過(guò)程(IS09000):使用資源將輸

編碼

入轉(zhuǎn)化為輸出的活動(dòng)所構(gòu)成的系統(tǒng)。涌試

輸入:如軟件需求

輸出:如軟件產(chǎn)品[綜合測(cè)試

維護(hù)

圖1.2傳統(tǒng)的瀑布模型

圖L3實(shí)際的瀑布模型

1.4.1瀑布模型

1.階段間具有順序性和依賴性

2.推遲實(shí)現(xiàn)的觀點(diǎn)

3.質(zhì)量保證的觀點(diǎn)

優(yōu)點(diǎn):采用規(guī)范的方法;嚴(yán)格規(guī)定每個(gè)階段提交的文檔;要求每個(gè)階段交出的產(chǎn)品必須經(jīng)過(guò)驗(yàn)證。

1.4.2快速原型模型

優(yōu)點(diǎn):不帶反饋環(huán),基本上是線性順序進(jìn)行。圖1.4快速原型模型

1.4.3增量模型

優(yōu)點(diǎn):能較短時(shí)間內(nèi)提交可完成部分工作的產(chǎn)品;可以使用戶有充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品。

圖1.5增量模型

1.4.4螺旋模型

可把它看作在每個(gè)階段之前都增加風(fēng)險(xiǎn)分析的快速原型模型。

風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析

快速原改變化的需求

驗(yàn)證

風(fēng)險(xiǎn)分析

規(guī)格說(shuō)由

風(fēng)險(xiǎn)分析

設(shè)計(jì)

驗(yàn)證

風(fēng)險(xiǎn)分析

一閑一

冽試

風(fēng)險(xiǎn)分析

綜合測(cè)試

圖1.7簡(jiǎn)化的螺旋模型

累計(jì)費(fèi)用

與一'-各步驟的進(jìn)度

碓定目標(biāo),

選擇方案,

設(shè)定約束條件

風(fēng)險(xiǎn)分析

評(píng)估力案,

風(fēng)險(xiǎn)分析識(shí)別并排除

風(fēng)險(xiǎn)

風(fēng)險(xiǎn)分析

風(fēng)險(xiǎn)

可運(yùn)行

原型I、原型2原型3的原型

需求計(jì)劃一

與壬命一

操作概念軟件件

詳細(xì)

產(chǎn)

周期計(jì)劃品

設(shè)

計(jì)

計(jì)

設(shè)

開(kāi)發(fā)計(jì)劃需求

確認(rèn)_r一

-編

集成與元

計(jì)劃下?階段設(shè)計(jì)驗(yàn)證/

測(cè)試計(jì)劃與確認(rèn)元/

集成

試J開(kāi)發(fā)、驗(yàn)證

測(cè)試

]晚收I下一級(jí)產(chǎn)品

實(shí)現(xiàn)?麗瓜I

圖1.8完整的螺旋模型

1.4.5噴泉模型

典型的面向?qū)ο筌浖_(kāi)發(fā)過(guò)程模型之■?

1.4.6Rational統(tǒng)一過(guò)程

1.RUP軟件開(kāi)發(fā)經(jīng)驗(yàn)

(1)迭代式開(kāi)發(fā)

(2)管理需求

(3)使用基于構(gòu)件的體系結(jié)構(gòu)

(4)可視化建模

(5)貫穿于開(kāi)發(fā)過(guò)程的軟件質(zhì)量驗(yàn)證

(6)控制軟件變更

1.4.7敏捷過(guò)程與極限編程

1.敏捷過(guò)程

具有高效、快速響應(yīng)變化的開(kāi)發(fā)過(guò)程。

(1)個(gè)體和交互勝過(guò)過(guò)程和工具;

(2)可以工作的軟件勝過(guò)面面俱到的文檔;

(3)客戶合作勝過(guò)合同談判;

(4)響應(yīng)變化勝過(guò)遵循計(jì)劃。

2.極限編程

敏捷過(guò)程中最著名的一種,指把好的開(kāi)發(fā)實(shí)踐運(yùn)用到極致,多應(yīng)用于軟件需求模糊的場(chǎng)合。

1.4.8微軟過(guò)程

1.微軟過(guò)程準(zhǔn)則

2.微軟軟件生命周期

(1)規(guī)劃階段

(2)設(shè)計(jì)階段

(3)開(kāi)發(fā)階段

(4)穩(wěn)定階段

(5)發(fā)布階段

3.微軟過(guò)程模型

問(wèn)題定義就是要確定為用戶建立什么樣的軟件系統(tǒng),軟件叫什么樣的名稱等等。“問(wèn)題”是指軟件最

基本的問(wèn)題,如:

軟件的總體目標(biāo)什么?

有什么用途?

為那些用戶設(shè)計(jì)?

1.5問(wèn)題定義階段

問(wèn)題定義報(bào)告的內(nèi)容包括:

1)軟件項(xiàng)目標(biāo)題;

2)軟件目標(biāo);

3)軟件用戶對(duì)象;

4)軟件規(guī)模。

問(wèn)題定義是軟件生命周期中時(shí)間最短的階段,一般都比較簡(jiǎn)單,因此在實(shí)際開(kāi)發(fā)中它是最容易被忽視的一

個(gè)階段。

這一階段工作主要由系統(tǒng)分析員來(lái)完成,系統(tǒng)分析員要盡可能從較高的角度概括軟件所要做的工作,而

不用寫(xiě)明問(wèn)題的實(shí)現(xiàn)細(xì)節(jié)。

第2章:可行性研究

可行性研究就是要回答“所定義的問(wèn)題有可行的解決辦法嗎?

可行性研究的目的是:用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否有解,以及是否值得去解。

2.1可行性研究的任務(wù)

可行性研究所需的時(shí)間取決于工程的規(guī)模,所需要的成本要占工程總成本的5%~10%。

可行性研究的內(nèi)容:

1)技術(shù)可行性

技術(shù)可行性要分析各種技術(shù)因素,例如:

使用現(xiàn)有的技術(shù)能否實(shí)現(xiàn)這個(gè)系統(tǒng)?

是否有勝任開(kāi)發(fā)該項(xiàng)目的熟練技術(shù)人員?

能否按期得到開(kāi)發(fā)該項(xiàng)目所需的軟件、硬件資源?

2)經(jīng)濟(jì)可行性

對(duì)經(jīng)濟(jì)合理性進(jìn)行評(píng)價(jià),所要考慮的問(wèn)題是:

這個(gè)系統(tǒng)的經(jīng)濟(jì)效益能否超過(guò)它的開(kāi)發(fā)成本?

這就需要對(duì)項(xiàng)目進(jìn)行價(jià)格/利益分析,即“投入/產(chǎn)出”分析。

由于利益分析取決于軟件系統(tǒng)的特點(diǎn),因此在軟件開(kāi)發(fā)之前,很難對(duì)新系統(tǒng)產(chǎn)生的效益作出精確的定

量描述,所以往往采用?些估算方法。

3)操作可行性

操作可行性評(píng)價(jià)系統(tǒng)運(yùn)行后會(huì)引起的各方面變化,如:對(duì)組織機(jī)構(gòu)管理模式、用戶工作環(huán)境等產(chǎn)生的

影響。

4)社會(huì)可行性

社會(huì)可行性主要討論法律方面和使用方面的可行性。

例如,被開(kāi)發(fā)軟件的權(quán)利歸屬問(wèn)題、軟件所使用的技術(shù)是否會(huì)造成侵權(quán)等問(wèn)題。

2.2可行性研究的步驟

1)復(fù)查系統(tǒng)規(guī)模和目標(biāo);

2)研究目前正在使用的系統(tǒng);

3)導(dǎo)出新系統(tǒng)的高層邏輯模型(數(shù)據(jù)流圖、數(shù)據(jù)字典);

4)重新定義問(wèn)題;

5)導(dǎo)出和評(píng)價(jià)供選擇的解法(物理解決方案);

6)推薦行動(dòng)方案;

7)草擬開(kāi)發(fā)計(jì)劃;

8)書(shū)寫(xiě)文檔提交審查。

2.3系統(tǒng)流程圖(描繪物理系統(tǒng)的工具)

2.3

說(shuō)明

處理如:程序,處理機(jī),人工加工

口輸入/輸出表不輸入或輸出

O連接同一頁(yè)上圖的連接

□換頁(yè)連接不同爽上圖的連接

<—數(shù)據(jù)流指明數(shù)據(jù)流動(dòng)方向

圖2.1基本符號(hào)

存昌說(shuō)明

UO穿孔卡片空在卡片輸入/椅由.或穿在卡片寸件

口十檔打印揄由.或打印線端蛉入和抿

Q磁帶磁帶輸入隔山.或天示磁帶十件

CT睬機(jī)在儲(chǔ)在何種舉磁毋存儲(chǔ).加磁母、磁骷等

0磁痛磁懸揄入/鐲由.成磁母卜寸件、和抿龐

CD磁熱磁熱輸F入/愉由?或磁第卜點(diǎn)件、和抿龍

GD顯示顯示黑制件

口人丁輸入人丁輸入拗r據(jù).如埴空表格

D人丁想作人丁堯虎的々卜理

鋪臥堤作神田輔時(shí)錯(cuò)名講行的盹機(jī)攝作

誦信密盛誦討沅程通信續(xù)盛傳次和抿

圖2.2條繡符號(hào)

報(bào)告生成程序

定貨報(bào)告

圖2.3庫(kù)存清單系統(tǒng)的系統(tǒng)流程圖

2.4數(shù)據(jù)流圖(描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)的邏輯過(guò)程)

或□數(shù)據(jù)源點(diǎn)或終點(diǎn)

或Q變換數(shù)據(jù)的處理

或=數(shù)據(jù)存儲(chǔ)

數(shù)據(jù)流

圖2.4基本符號(hào)的含義

注意:

“處理”可表示:?jiǎn)蝹€(gè)程序、一系列程序、程序的一個(gè)模塊、人工處理過(guò)程等等;

“數(shù)據(jù)存儲(chǔ)”可表示:一個(gè)文件、文件的一部分、數(shù)據(jù)庫(kù)記錄等等;

數(shù)據(jù)流圖忽略出錯(cuò)處理、打開(kāi)文件、關(guān)閉文件。

2.4.2繪制數(shù)據(jù)流圖的例子

倉(cāng)庫(kù)定貨報(bào)受

事務(wù)

管理員J采購(gòu)員

〔統(tǒng)Jin

圖2.5定貨系統(tǒng)的基本系統(tǒng)模型

組成該例子的數(shù)據(jù)流圖的元素

源點(diǎn)/終點(diǎn)處理

采購(gòu)員產(chǎn)生報(bào)表

倉(cāng)庫(kù)管理員處理事務(wù)

數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)

訂貨報(bào)表訂貨信息

零件編號(hào)(見(jiàn)訂貨報(bào)表)

零件名稱庫(kù)存清單

訂貨數(shù)量零件編號(hào)

目前價(jià)格庫(kù)存量

主要供應(yīng)商庫(kù)存量臨界值

次要供應(yīng)商

事務(wù)

零件編號(hào)

事務(wù)類型

數(shù)量

上述數(shù)據(jù)流圖所描述的功能夠詳細(xì)了嗎?

2.4.2繪制數(shù)據(jù)流圖的例子

2.4.3命名

1)為數(shù)據(jù)流(或數(shù)據(jù)存儲(chǔ))命名

A.名字應(yīng)該代表整個(gè)數(shù)據(jù)流(或數(shù)據(jù)存儲(chǔ))的內(nèi)容;

B.不要使用空洞的、缺乏具體含義的名字(如“數(shù)據(jù)”、“輸入”);

C.如果為某個(gè)數(shù)據(jù)流(或數(shù)據(jù)存儲(chǔ))起名字時(shí)遇到困難,則很可能是因?yàn)閷?duì)數(shù)據(jù)流圖的分解不恰

當(dāng)造成的,應(yīng)該試試重新分解數(shù)據(jù)流圖;

2)為處理命名

A.通常先為數(shù)據(jù)流命名,然后再為與之相關(guān)聯(lián)的處理命名;

B.名字應(yīng)該反映整個(gè)處理的功能;

C.應(yīng)該盡量避免空洞籠統(tǒng)的動(dòng)詞做名字,如“處理”、“加工”;

D.通常用一個(gè)動(dòng)詞命名,如果必須用兩個(gè)動(dòng)詞才能描述整個(gè)處理的功能,則可能要把這個(gè)處理分

解成兩個(gè)處理更恰當(dāng);

E.如果在為某個(gè)處理命名時(shí)遇到困難,則很可能是發(fā)現(xiàn)了分解不當(dāng)?shù)那闆r,應(yīng)考慮重新分解。

通常,為“數(shù)據(jù)源點(diǎn)/終點(diǎn)”命名時(shí),采用它們?cè)趩?wèn)題域中習(xí)慣使用的名字(如“倉(cāng)庫(kù)管理員”、“采購(gòu)員

2.4.4數(shù)據(jù)流圖的用途

1)利用它作為交流信息的工具;

2)作為軟件分析和設(shè)計(jì)的工具。

圖2.8這種自動(dòng)化邊界建議以聯(lián)機(jī)方式更新庫(kù)存清單

圖2.8對(duì)應(yīng)的物理實(shí)現(xiàn)硬件方案

2.4.2數(shù)據(jù)流圖的用途

圖2.9這種自動(dòng)化邊界暗示以批量方式更新庫(kù)存清單

圖2.9對(duì)應(yīng)的物理實(shí)現(xiàn)硬件方案

2.5數(shù)據(jù)字典

數(shù)據(jù)字典:對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合;

可行性研究階段,數(shù)據(jù)流圖與數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型。

2.5.1數(shù)據(jù)字典的內(nèi)容

數(shù)據(jù)字典應(yīng)該對(duì)下列元素進(jìn)行定義:

1)數(shù)據(jù)流;

2)數(shù)據(jù)元素(數(shù)據(jù)流分量);

3)數(shù)據(jù)存儲(chǔ);

4)處理。

2.5.2定義數(shù)據(jù)的數(shù)據(jù)元素字典定義實(shí)例:

1)數(shù)據(jù)元素字典定義

其定義的基本內(nèi)容有:

A.數(shù)據(jù)元素編號(hào)、名稱及其含義;

B.數(shù)據(jù)類型和長(zhǎng)度;

C.合理取值;

D.其他內(nèi)容,如它與其它數(shù)據(jù)的邏輯關(guān)系等。

2)數(shù)據(jù)流字典定義

其定義的基本內(nèi)容有:

A.數(shù)據(jù)流編號(hào)及名稱;

B.數(shù)據(jù)流來(lái)源;

C.數(shù)據(jù)流去處;

D.數(shù)據(jù)流的組成;

E.流通量;

F.峰值。

3)數(shù)據(jù)存儲(chǔ)字典定義

其定義的基本內(nèi)容有:

A.數(shù)據(jù)存儲(chǔ)編號(hào)及名稱;

B.數(shù)據(jù)存儲(chǔ)的組成;

C.其它要求。

4)數(shù)據(jù)處理字典定義

其定義的基本內(nèi)容有:

A.數(shù)據(jù)處理編號(hào)及名稱;

B.簡(jiǎn)單描述;

C.輸入/輸出;

D.功能描述;

E.有關(guān)數(shù)據(jù)存儲(chǔ)。

5)組成數(shù)據(jù)項(xiàng)的表示方法

=表示“等價(jià)于”或“定義為”

+表示“與”

口與|表示“或”

{)表示重復(fù)

()表示可選項(xiàng)

通訊錄={通訊地址}

通訊地址=姓名+郵編+[省I直轄市I自治區(qū)]+[布I縣]+街道+門(mén)牌號(hào)+(電話)

2.5.3數(shù)據(jù)字典的用途

1.作為分析階段的重要工具;

2.數(shù)據(jù)元素的控制信息非常有用;

3.有助于開(kāi)發(fā)數(shù)據(jù)庫(kù)。

2.5.4數(shù)據(jù)字典的實(shí)現(xiàn)

實(shí)現(xiàn)數(shù)據(jù)字典:

1)程序處理;

2)卡片式人工書(shū)寫(xiě);

2.6成本/效益分析

2.6.1成本估計(jì)

1)代碼行技術(shù)

軟件成本=每行代碼的平均成本x估計(jì)的源代碼總行數(shù)

2)任務(wù)分解技術(shù)

軟件開(kāi)發(fā)項(xiàng)目分解為若干個(gè)相對(duì)獨(dú)立的任務(wù),分別估計(jì)每個(gè)單獨(dú)任務(wù)的成本:

單獨(dú)任務(wù)成本=任務(wù)所需人力估計(jì)值X每人每月平均工資;

軟件開(kāi)發(fā)項(xiàng)目總成本估計(jì)=各個(gè)單獨(dú)任務(wù)成本估計(jì)值之和。

常用的辦法是按開(kāi)發(fā)階段劃分任務(wù),典型環(huán)境下各個(gè)開(kāi)發(fā)階段需要使用的人力百分比大致如下:

任務(wù)人力(%)

可行性研究5

需求分析10

設(shè)計(jì)25

編碼與單元測(cè)試20

綜合測(cè)試40

總計(jì)100

3)自動(dòng)估計(jì)成本技術(shù)

采用自動(dòng)估計(jì)成本的軟件工具估計(jì)。

軟件開(kāi)發(fā)成本估算的經(jīng)驗(yàn)?zāi)P停?/p>

1)Putnam模型

1978年P(guān)utnam提出的,一種動(dòng)態(tài)多變量模型:

L是源代碼行數(shù)(以LOC計(jì))

K是軟件開(kāi)發(fā)與維護(hù)在內(nèi)

的整個(gè)生存期所花費(fèi)的工

作量(以人年計(jì))

Ck為技術(shù)狀態(tài)常數(shù),它反映“妨礙開(kāi)發(fā)進(jìn)展的限制”,取值因開(kāi)發(fā)環(huán)境而異,見(jiàn)卜表:

Ck的典型開(kāi)發(fā)環(huán)開(kāi)發(fā)環(huán)境舉例

「值;

―2000—差沒(méi)有系統(tǒng)的開(kāi)發(fā)方法,缺乏文檔和復(fù)審

8000好有合適的系統(tǒng)的開(kāi)發(fā)方法,有充分的文

檔和復(fù)審

11000優(yōu)有自動(dòng)的開(kāi)發(fā)工具和技術(shù)

2)COCOMO模型(constructivecostmodel)

這是由TRW公司開(kāi)發(fā),Boehm提出的結(jié)構(gòu)化成本估算模型,是一種精確的、易于使用的成本估算方

法。

基本COCOMO模型估算工作量和進(jìn)度的公式如下:

工作量:MM=rX(KDSI)c(人月)

開(kāi)發(fā)時(shí)間:TDKV=aX(MM)b(月)

DSI:源指令條數(shù),不包括注釋,1KDSI=1OOODSI

MM:開(kāi)發(fā)工作量(以人月計(jì)),1MM=19人II=152人時(shí)=1/12人年

經(jīng)驗(yàn)常數(shù)r,c,a,b取決于項(xiàng)目的總體類型

COCOMO模型中,考慮開(kāi)發(fā)環(huán)境,軟件開(kāi)發(fā)項(xiàng)目的類型可以分為3種:

1)組織型(organic)

相對(duì)較小、較簡(jiǎn)單的軟件項(xiàng)目。開(kāi)發(fā)人員對(duì)開(kāi)發(fā)目標(biāo)理解比較充分,與軟件系統(tǒng)相關(guān)的工作經(jīng)驗(yàn)

豐富,對(duì)軟件的使用環(huán)境很熟悉,受硬件的約束較小,程序的規(guī)模不是很大(<50000行)

2)嵌入型(embedded)

要求在緊密聯(lián)系的硬件、軟件和操作的限制條件下運(yùn)行,通常與某種復(fù)雜的硬件設(shè)備緊密結(jié)合在

一起。對(duì)接口,數(shù)據(jù)結(jié)構(gòu),算法的要求高。軟件規(guī)模任意。

如大而復(fù)雜的事務(wù)處理系統(tǒng),大型/超大型操作系統(tǒng),航天用控制系統(tǒng),大型指揮系統(tǒng)等。

3)半獨(dú)立型(semidetached)

介于上述兩種軟件之間。規(guī)模和復(fù)雜度都屬于中等或更高。最大可達(dá)30萬(wàn)行。

COCOMO模型按其詳細(xì)程度可以分為三級(jí):

1)基本COCOMO模型

是一個(gè)靜態(tài)單變量模型,它用一個(gè)以已估算出來(lái)的原代碼行數(shù)(LOC)為自變量的經(jīng)驗(yàn)函數(shù)計(jì)

算軟件開(kāi)發(fā)工作量。

基本COCOMO模型

通過(guò)統(tǒng)計(jì)63個(gè)歷史項(xiàng)目的歷史數(shù)據(jù),得到如下計(jì)算公式:

總體類型工作量所需開(kāi)發(fā)時(shí)間

組織型MM=2.4xTDKV=2.5x

(KDSI)105(MM)0-38

半獨(dú)立型MM=3.0xTDKV=2.5x

(KDSI)112(MM)035

嵌入型MM=3.0xTDKV=2.5x

(KDSI)120(MM)032

2)中級(jí)COCOMO模型

在基本COCOMO模型的基礎(chǔ)上,再用涉及產(chǎn)品、硬件、人員、項(xiàng)目等方面的影響因素調(diào)整

工作量的估算。

3)詳細(xì)COCOMO模型

包括中級(jí)COCOMO模型的所有特性,但更進(jìn)一步考慮了軟件工程中每一步驟(如分析、設(shè)計(jì))

的影響。

2.6.2成本/效益

1)貨幣的時(shí)間價(jià)值

假設(shè)年利率為i,如果現(xiàn)在存入P元錢(qián),則n年以后可以得到的錢(qián)數(shù)為:

反之,如果n年后能收入F元錢(qián),那么這些錢(qián)現(xiàn)在的價(jià)值是:

例:修改一個(gè)已有的庫(kù)存管理系統(tǒng),估計(jì)需要5000元,系統(tǒng)修改后使用5年,每年可節(jié)省2500元。請(qǐng)

進(jìn)行成本/效益分析。

表1:將來(lái)的收入折算成現(xiàn)在值

年將來(lái)值現(xiàn)在值累計(jì)的現(xiàn)在

(左八nj,n1”(彳八宿(開(kāi)八

125001.122232.142232.14

225001.251992.984225.12

\325001.401779.456004.57

425001.571588.807593.37

525001.761418.579011.94

2)投資回收期

第一、第二年回收:4225元

第三年用于回收投資要:

(5000-4225)/1779=0.44年

總的投資回收期=2.44年

3)純收入

9011.94-5000=4011.94(

4)投資回收率

其中:P是現(xiàn)在的投資額;

Fi是第i年年底的效益(i=l,2,3,-,n);

n是系統(tǒng)的使用壽命(一般假設(shè)n=5);

j是投資回收率。

上述修改系統(tǒng)的工程的投資回收率是41%-42%

第2章小結(jié)

?可行性分析報(bào)告

說(shuō)明該軟件開(kāi)發(fā)項(xiàng)目的實(shí)現(xiàn)在技術(shù)上、經(jīng)濟(jì)上和社會(huì)因素上的可行性,評(píng)述為了合理地達(dá)到開(kāi)發(fā)目標(biāo)

可供選擇的各種可能實(shí)施方案,說(shuō)明并論證所選定實(shí)施方案的理由。

?項(xiàng)目開(kāi)發(fā)計(jì)劃

為軟件項(xiàng)目實(shí)施方案制訂出具體計(jì)劃,應(yīng)該包括各部分工作的負(fù)責(zé)人員、開(kāi)發(fā)的進(jìn)度、開(kāi)發(fā)經(jīng)費(fèi)的預(yù)

算、所需的硬件及軟件資源等。

第3章:需求分析

3.1需求分析的任務(wù)

3.1.1確定對(duì)系統(tǒng)的綜合要求

1.功能需求

2.性能需求

如:相應(yīng)時(shí)間(速度)、主存容量、磁盤(pán)容量、安全性、等。

3.可靠性和可用性需求

4.出錯(cuò)處理需求

系統(tǒng)發(fā)現(xiàn)錯(cuò)誤時(shí)采取的行動(dòng),主要在系統(tǒng)關(guān)鍵部分設(shè)置。

5.接口需求

用戶接口、硬件接口、軟件接口、通信接口、等。

6.約束

精度、工具和語(yǔ)言、設(shè)計(jì)約束、硬件約束、標(biāo)準(zhǔn),等。

7.逆向需求

8.將來(lái)可能提出的要求

3.1.2分析系統(tǒng)的數(shù)據(jù)要求

通過(guò)建立數(shù)據(jù)模型來(lái)分析,如數(shù)據(jù)字典、層次方框圖、Wamier圖,并將數(shù)據(jù)結(jié)構(gòu)規(guī)范化。

3.1.3導(dǎo)出系統(tǒng)的邏輯模型

包括完善的數(shù)據(jù)流圖、實(shí)體一聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典、主要的處理算法(IPO圖)等。

3.1.4修正系統(tǒng)開(kāi)發(fā)計(jì)劃

修訂前期制定的開(kāi)發(fā)進(jìn)度計(jì)劃、等。

3.2與用戶溝通獲取需求的方法

3.2.1訪談

正式訪談:系統(tǒng)分析員提出事先準(zhǔn)備好的問(wèn)題。

非正式訪談:提出一些用戶可以自由回答的開(kāi)放性問(wèn)題,鼓勵(lì)被訪者說(shuō)出自己的想法。

需要訪問(wèn)大量人員時(shí),利用調(diào)查表訪問(wèn)較佳。

3.2.2面向數(shù)據(jù)流自頂向下求精

借助數(shù)據(jù)流圖、數(shù)據(jù)字典、IPO圖等,細(xì)化、完善詳細(xì)的數(shù)據(jù)流圖,等到各處理環(huán)節(jié)對(duì)應(yīng)的功能。

例:

3.2.3簡(jiǎn)易的應(yīng)用規(guī)格說(shuō)明技術(shù)

面向團(tuán)隊(duì)的需求收集法:(用戶與開(kāi)發(fā)者配合)

1)初步訪談;

2)開(kāi)發(fā)者和用戶分別寫(xiě)出“產(chǎn)品需求”;

3)開(kāi)會(huì)討論,各自展示需求列表;

4)得出一致意見(jiàn),為需求列表制定小型規(guī)格說(shuō)明;

5)根據(jù)會(huì)議成果,起草完整的軟件需求規(guī)格說(shuō)明。

3.2.4快速建立軟件原型

快速建立能演示目標(biāo)系統(tǒng)主要功能的程序。

(1)第四代技術(shù)

(2)可重用的軟件構(gòu)件

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

3.3分析建模與規(guī)格說(shuō)明

3.3.1分析建模

為了開(kāi)發(fā)復(fù)雜的系統(tǒng),應(yīng)從不同角度(模型)抽象出目標(biāo)系統(tǒng)的特性(數(shù)據(jù)模型、功能模型、行為模

型)。

1)實(shí)體聯(lián)系圖:建立數(shù)據(jù)模型,描述數(shù)據(jù)對(duì)象及數(shù)據(jù)對(duì)象之間的關(guān)系;

2)數(shù)據(jù)流圖:建立功能模型的基礎(chǔ):

3)狀態(tài)轉(zhuǎn)換圖:描繪系統(tǒng)的狀態(tài)和狀態(tài)間轉(zhuǎn)換的方式。

3.3.2軟件需求規(guī)格說(shuō)明

3.4實(shí)體一聯(lián)系圖

數(shù)據(jù)對(duì)象可以是外部實(shí)體、事物、行為、事件、角色、單位、地點(diǎn)、結(jié)構(gòu)等。

3.4.1數(shù)據(jù)對(duì)象

3.4.2屬性

屬性定義了數(shù)據(jù)對(duì)象的性質(zhì)。

3.4.3聯(lián)系

(1)一對(duì)一聯(lián)系(1:1)

(2)一對(duì)多聯(lián)系(1:N)

(3)多對(duì)多聯(lián)系(M:N)

在ER圖中,用菱形框表示聯(lián)系。

聯(lián)系

例子:

3.5數(shù)據(jù)規(guī)范化

通常用范式定義消除數(shù)據(jù)冗余的程度。

1)第一范式

2)第二范式

3)第三范式

3.6狀態(tài)轉(zhuǎn)換圖

3.6.1狀態(tài)

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

3.6.2事件

事件是某個(gè)特定時(shí)刻發(fā)生的事情,它是引起系統(tǒng)做動(dòng)作或狀態(tài)轉(zhuǎn)換的控制信息。

3.6.3符號(hào)

狀態(tài)1狀態(tài)2

?初始-事件-狀態(tài)變量1事件表達(dá)式_狀態(tài)變量2結(jié)束事件

活動(dòng)表1活動(dòng)表2

1J

<___________/

■圖3.3狀態(tài)圖中使用的主要符號(hào)

3.6.4例子

掛斷電話掛斷電話

閑置

拿起聽(tīng)筒

'撥號(hào)音、

timer=O超時(shí)

超時(shí)

do/響蜂鳴音

do/響撥號(hào)音

且增加timer

數(shù)字

數(shù)字存儲(chǔ)的信息

無(wú)效號(hào)眄-

撥號(hào)

do/播放信息

有效號(hào)碼

(tE¥占線接通中

信息播完

do/響忙音do/試接通

已接通

do/振玲

X,_____________z

]受話人回話

C~~通話)

受話人掛斷電話

(斷線>--------

圖3.4電話系統(tǒng)的狀態(tài)圖

3.7其他圖形工具

3.7.1層次方框圖

層次方框圖用樹(shù)形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。

3.7.2Warnier

Warnier圖也用樹(shù)形結(jié)構(gòu)描繪信息,但是這種圖形工具比層次方框圖提供了更豐富的描繪手段。

3.7.3IPO

IPO圖是輸入/處理/輸出圖。

IPO表

系統(tǒng):-------作---------

模塊:-------日期:_________

編號(hào),_______

被調(diào)用:調(diào)用:

輸入:輸出:

處理:

局部數(shù)據(jù)兀素:

冬3S改講的IPO冬的形式

3.8驗(yàn)證軟件需求

3.8.1驗(yàn)證軟件需求的正確性

1)一致性

2)完整性

3)現(xiàn)實(shí)性

4)有效性

3.8.2驗(yàn)證軟件需求的方法

1)驗(yàn)證需求的一致性

2)驗(yàn)證需求的現(xiàn)實(shí)性

3)驗(yàn)證需求的完整性和有效性

3.8.3用于需求分析的軟件工具

用于需求分析的軟件應(yīng)該滿足下列要求:

1)必須有形式化的語(yǔ)法

2)使用這個(gè)軟件工具能夠?qū)С鲈敿?xì)的文檔

3)必須提供分析規(guī)格說(shuō)明書(shū)的不一致性和冗余性的手段

4)使用這個(gè)軟件工具后,應(yīng)該能夠改進(jìn)通信狀況

RSL(需求陳述語(yǔ)言):信息集ASSMPASCAL模擬程序

PSL/PSA(問(wèn)題陳述語(yǔ)言/問(wèn)題陳述分析程序)系統(tǒng)

第3章小結(jié)

O軟件需求說(shuō)明書(shū)(軟件規(guī)格說(shuō)明書(shū))

對(duì)所開(kāi)發(fā)軟件的功能、性能、用戶界面及運(yùn)行環(huán)境等作出詳細(xì)的說(shuō)明。

它是在用戶與開(kāi)發(fā)人員雙方對(duì)軟件需求取得共同理解并達(dá)成協(xié)議的條件下編寫(xiě)的,也是實(shí)施開(kāi)發(fā)工作

的基礎(chǔ)。該說(shuō)明書(shū)應(yīng)給出數(shù)據(jù)邏輯和數(shù)據(jù)采集的各項(xiàng)要求,為生成和維護(hù)系統(tǒng)數(shù)據(jù)文件做好準(zhǔn)備。

第4章:形式化說(shuō)明技術(shù)

1.非形式化方法:自然語(yǔ)言描述

2.半形式化方法:數(shù)據(jù)流圖或?qū)嶓w一聯(lián)系圖

3.形式化方法:基于數(shù)學(xué)技術(shù)描述

4.1

4.1.1非形式化方法的缺點(diǎn)

自然語(yǔ)言書(shū)寫(xiě)的系統(tǒng)規(guī)格說(shuō)明書(shū)可能存在:

1)矛盾;

2)二義性;

如:“操作員標(biāo)識(shí)山操作員姓名和密碼組成,密碼由6位數(shù)字構(gòu)成,當(dāng)操作員登陸系統(tǒng)時(shí)它被存儲(chǔ)在

注冊(cè)文件中

3)含糊性;

4)不完整性;

5)抽象層次混亂。

4.1.2形式化方法的優(yōu)點(diǎn)

(1)數(shù)學(xué)是理想的建模工具,適合于表示系統(tǒng)狀態(tài)和描述系統(tǒng)需求;

(2)用數(shù)學(xué)表達(dá)的需求可在不同開(kāi)發(fā)階段平滑過(guò)渡。

4.1.3應(yīng)用形式化方法的準(zhǔn)則

(1)選擇合適的形式化方法;

(2)需要形式化,但不能過(guò)渡形式化,不能放棄傳統(tǒng)的需求表達(dá)方法;

(3)應(yīng)該有形式化方法的專家提供指導(dǎo)。

4.2有窮狀態(tài)機(jī)法(FSM)

4.2.1概念

初始態(tài)終態(tài)

圖4.1保險(xiǎn)箱的狀態(tài)轉(zhuǎn)換圖

鎖的三個(gè)位置:1、2、3;轉(zhuǎn)盤(pán)可向左(L)或右(R);

鎖密碼:IL、3R、2L

表保險(xiǎn)箱的狀態(tài)轉(zhuǎn)換表

前狀態(tài)

保險(xiǎn)箱鎖定AB

轉(zhuǎn)盤(pán)動(dòng)作、、、

1LA報(bào)警報(bào)警

1R報(bào)警報(bào)警報(bào)警

2L報(bào)警報(bào)警保險(xiǎn)箱解鎖

2R報(bào)警報(bào)警報(bào)警

3L報(bào)警報(bào)警報(bào)警

3R報(bào)警B報(bào)警

一個(gè)有窮狀態(tài)機(jī)包括5部分:

1)狀態(tài)集J:{保險(xiǎn)箱鎖定,A,B,保險(xiǎn)箱解鎖,報(bào)警}

2)輸入集K:{1L,1R,2L,2R,3L,3R}

3)轉(zhuǎn)換函數(shù)T,如表4.1

4)初始狀態(tài)S:保險(xiǎn)箱鎖定

5)終態(tài)集F:{保險(xiǎn)箱解鎖,報(bào)警}

史形式化的術(shù)語(yǔ):

一個(gè)有窮狀態(tài)機(jī)可表示一個(gè)為5元組(J,K,T,S,F)

狀態(tài)轉(zhuǎn)換形式:

當(dāng)前狀態(tài)【菜單】+事件【所選擇的項(xiàng)】=>下個(gè)狀態(tài)

加入謂詞集P,把系統(tǒng)擴(kuò)展成一個(gè)6元組后:

當(dāng)前狀態(tài)【菜單】+事件【所選擇的項(xiàng)】+謂詞=>下個(gè)狀態(tài)

計(jì)算機(jī)系統(tǒng)中每個(gè)菜單驅(qū)動(dòng)的用戶界面都是一個(gè)有窮狀態(tài)機(jī)的實(shí)現(xiàn)。

4.2.2例子:電梯的狀態(tài)轉(zhuǎn)換

定義狀態(tài):

(1)電梯e正沿d方向移動(dòng),即將到達(dá)第f層樓。

(2)S(d,e,f):電梯e停在f層樓,將朝d方向移動(dòng)(未關(guān)門(mén))。

(3)W(e,f):電梯e在f層等待(已關(guān)門(mén))。

(4)DC(e,f):電梯e在樓層f關(guān)上門(mén)。

(5)ST(e,f):電梯e靠近f層時(shí)觸發(fā)傳感器,電梯控制器決定在當(dāng)前樓層是否停下。

(6)RL:電梯按鈕或樓層按鈕被按下進(jìn)入打開(kāi)狀態(tài)

圖4.4電梯的狀態(tài)轉(zhuǎn)換圖

電梯狀態(tài)轉(zhuǎn)換規(guī)則:?S(U,e,f)+DC(e,f)=>M(U,e,R1);

@S(D,e,f)+DC(e,f)=>M(D,c,f-l);③S(N,e,f)+DC(e,f)=>W(e,f)

4.2.3評(píng)價(jià)

有窮狀態(tài)機(jī)描述規(guī)格說(shuō)明:

當(dāng)前狀態(tài)+事件+謂詞=>下個(gè)狀態(tài)

易于書(shū)寫(xiě)、驗(yàn)證、轉(zhuǎn)變成設(shè)計(jì)或程序代碼。

有窮狀態(tài)機(jī)方法比數(shù)據(jù)流圖技術(shù)更精確,一樣易于理解。但不能處理定時(shí)需求。

4.3Petri網(wǎng)

圖4*5Petri網(wǎng)的組成

Petri網(wǎng)包含4種元素:

1)一組位置P,上例P={P1,P2,P3,P4}

2)一組轉(zhuǎn)換T,上例T={tl,t2}

3)輸入函數(shù)I,上例I(tl)={P2,P4}

I(t2)={P2}

4)輸出函數(shù)0,上例O(tl)={P1}

O(t2)={P3,P3}

更形式化的Petri網(wǎng)結(jié)構(gòu),是一個(gè)4元組(P,T,I,O)

圖4.6帶標(biāo)記的Petri網(wǎng)

權(quán)標(biāo)向量(1,2,0,1)

圖4.7圖4.6的Petri網(wǎng)在轉(zhuǎn)換

力被激發(fā)后的情況

權(quán)標(biāo)向量(2,1,0,0)

圖4.8圖4.7的Petri網(wǎng)在轉(zhuǎn)換

功被激發(fā)后的情況

權(quán)標(biāo)向量(2,0,2,0)

更形式化地:

標(biāo)記M:P—>{0,1,2,…}

Petri網(wǎng)成為一個(gè)5元組(P,T,I,O,M)

對(duì)Petri網(wǎng)的一個(gè)重要擴(kuò)充是加入禁止線:

圖4.9含禁止線的Petri網(wǎng)

4.3.2例子

圖4.10Petri網(wǎng)表示的電梯按鈕

EBf電梯中樓層f的按鈕;Fg樓層g;Ff樓層fo

2.樓層按鈕

圖4.11Petri網(wǎng)表示樓層按鈕

FBfu第f樓層向上按鈕;FBfd第f樓層向下按鈕;

小結(jié)

基于數(shù)學(xué)的形式化說(shuō)明技術(shù),目前還沒(méi)有在軟件產(chǎn)業(yè)界廣泛應(yīng)用;

應(yīng)該把形式化方法與傳統(tǒng)方法有機(jī)結(jié)合。

第5章:總體設(shè)計(jì)

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

1.設(shè)想供選擇的方案

2.選擇合理的方案

對(duì)每個(gè)合理的方案要提供:

A.系統(tǒng)流程圖

B.組成系統(tǒng)的物理元素清單

C.成本/效益分析

D.實(shí)現(xiàn)這個(gè)系統(tǒng)的進(jìn)度計(jì)劃

3.推薦最佳方案

4.功能分解

5.設(shè)計(jì)軟件結(jié)構(gòu)

6.數(shù)據(jù)庫(kù)設(shè)計(jì)

A.模式設(shè)計(jì)

B,子模式設(shè)計(jì)

C.完整性和安全性設(shè)計(jì)

D.優(yōu)化

7.制定測(cè)試計(jì)劃

8.書(shū)寫(xiě)文檔

A.系統(tǒng)說(shuō)明

B.用戶手冊(cè)

C.測(cè)試計(jì)劃

D.詳細(xì)的實(shí)現(xiàn)計(jì)劃

E.數(shù)據(jù)庫(kù)設(shè)計(jì)結(jié)果

9.審查和復(fù)審

5.2設(shè)計(jì)原理

5.2.1模塊化

設(shè)函數(shù)C(x)定義問(wèn)題x的復(fù)雜程度,函數(shù)E(x)定義解決問(wèn)題x需要的工作量(時(shí)間)。對(duì)于兩個(gè)問(wèn)題

P1和P2,如果:

C(P1)>C(P2)

那么E(P1)>E(P2)

根據(jù)解決問(wèn)題的經(jīng)驗(yàn),有一個(gè)規(guī)律是:

C(P1+P2)>C(P1)+C(P2)

于是有E(P1+P2)>E(P1)+E(P2)

圖5.1越塊化與軟件成太

5.2.2抽象

5.2.3逐步求精

5.2.4信息隱蔽和局部化

5.2.5模塊

模塊的獨(dú)立性很重要,因?yàn)椋?/p>

溫馨提示

  • 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)論