基于新信息技術(shù)的軟件工程與UML教程(第二版) 課件 項(xiàng)目1-3 軟件工程基礎(chǔ)、問題定義及可行性研究、需求分析_第1頁
基于新信息技術(shù)的軟件工程與UML教程(第二版) 課件 項(xiàng)目1-3 軟件工程基礎(chǔ)、問題定義及可行性研究、需求分析_第2頁
基于新信息技術(shù)的軟件工程與UML教程(第二版) 課件 項(xiàng)目1-3 軟件工程基礎(chǔ)、問題定義及可行性研究、需求分析_第3頁
基于新信息技術(shù)的軟件工程與UML教程(第二版) 課件 項(xiàng)目1-3 軟件工程基礎(chǔ)、問題定義及可行性研究、需求分析_第4頁
基于新信息技術(shù)的軟件工程與UML教程(第二版) 課件 項(xiàng)目1-3 軟件工程基礎(chǔ)、問題定義及可行性研究、需求分析_第5頁
已閱讀5頁,還剩149頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目一軟件工程基礎(chǔ)任務(wù)一理解軟件及軟件工程任務(wù)二熟悉軟件開發(fā)流程任務(wù)三認(rèn)識(shí)軟件質(zhì)量模型與CMMI模型

任務(wù)一理解軟件及軟件工程

一、軟件及分類1.軟件的定義國(guó)家標(biāo)準(zhǔn)(GB/T11457—2006)中對(duì)軟件的定義為:與計(jì)算機(jī)系統(tǒng)的操作有關(guān)的計(jì)算機(jī)程序、規(guī)程、規(guī)則,以及可能有的文件、文檔及數(shù)據(jù)。

其他定義:

(1)運(yùn)行時(shí),能夠提供所要求功能和性能的指令或計(jì)算機(jī)程序集合。

(2)程序能夠滿意地處理信息的數(shù)據(jù)結(jié)構(gòu)。

(3)描述程序功能需求以及程序如何操作和使用所要求的文檔。

以開發(fā)語言作為描述語言,可以認(rèn)為:軟件?=?程序?+?數(shù)據(jù)?+?文檔。

軟件按照功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件),見表1-1。

2.軟件的特點(diǎn)

軟件產(chǎn)品不同于其他硬件產(chǎn)品,有其自身的特點(diǎn):

(1)軟件是無形的,沒有物理形態(tài),只能通過運(yùn)行狀況來了解功能、特性和質(zhì)量。

(2)軟件滲透了大量的腦力勞動(dòng),人的邏輯思維、智能活動(dòng)和技術(shù)水平是軟件產(chǎn)品的關(guān)鍵。

(3)軟件具有可復(fù)用性,軟件開發(fā)出來很容易被復(fù)制,從而形成多個(gè)副本。

(4)軟件不會(huì)像硬件一樣老化磨損,但需進(jìn)行缺陷維護(hù)和技術(shù)更新。

(5)軟件的開發(fā)和運(yùn)行必須依賴于特定的計(jì)算機(jī)系統(tǒng)環(huán)境,對(duì)于硬件有依賴性,為了減少依賴,開發(fā)中提出了軟件的可移植性。

二、軟件危機(jī)

1.軟件的發(fā)展歷程

1)程序設(shè)計(jì)階段

2)程序系統(tǒng)階段

3)軟件工程階段

“軟件工程”自產(chǎn)生以來,人們就寄希望于它去沖破“軟件危機(jī)”這朵烏云。但是,軟件危機(jī)現(xiàn)象并沒有得到徹底排除,特別是,一些老的危機(jī)問題可能解決了,但接著又出現(xiàn)了許多新的危機(jī)問題,于是不得不去尋找一些更新的工程方法。應(yīng)該說,正是危機(jī)問題的不斷出現(xiàn),推動(dòng)著軟件工程方法學(xué)的快速發(fā)展。

2.軟件危機(jī)(SoftwareCrisis)

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

軟件危機(jī)是指落后的軟件生產(chǎn)方式無法滿足迅速增長(zhǎng)的計(jì)算機(jī)軟件需求,從而導(dǎo)致軟件開發(fā)與維護(hù)過程中出現(xiàn)一系列嚴(yán)重問題的現(xiàn)象,例如軟件的開發(fā)成本、進(jìn)度、軟件質(zhì)量等。這些問題絕不僅僅是不能正常運(yùn)行的軟件才具有的,實(shí)際上,幾乎所有軟件都不同程度地存在這些問題。

具體來說,軟件危機(jī)主要有以下幾方面的典型表現(xiàn):

(1)軟件開發(fā)成本、進(jìn)度的估計(jì)很不準(zhǔn)確。

(2)軟件產(chǎn)品常常與用戶的要求不一致。

(3)軟件產(chǎn)品質(zhì)量可靠性差。

(4)軟件文檔不完整、不一致。

(5)軟件產(chǎn)品可維護(hù)性差。

(6)軟件生產(chǎn)率低。

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

通過對(duì)一系列危機(jī)現(xiàn)象的研究,人們總結(jié)發(fā)現(xiàn),產(chǎn)生軟件危機(jī)的原因主要體現(xiàn)在以下幾個(gè)方面:

(1)軟件的不可見特性。

(2)軟件系統(tǒng)規(guī)模龐大。

(3)軟件生產(chǎn)工程化管理程度低。

(4)對(duì)用戶需求關(guān)心程度不夠。

(5)對(duì)軟件維護(hù)重視程度不夠,軟件開發(fā)缺乏統(tǒng)一的規(guī)范。

(6)軟件開發(fā)工具自動(dòng)化程度低。

三、軟件工程

1.軟件工程的定義

軟件工程是一門研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科。它涉及程序設(shè)計(jì)語言、數(shù)據(jù)庫(kù)、軟件開發(fā)工具、系統(tǒng)平臺(tái)、標(biāo)準(zhǔn)、設(shè)計(jì)模式等方面。

1983年美國(guó)《IEEE軟件工程標(biāo)準(zhǔn)術(shù)語》對(duì)軟件工程下的定義為:軟件工程是開發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法。其中對(duì)“軟件”的定義為:計(jì)算機(jī)程序、方法、規(guī)則、相關(guān)的文檔資料以及在計(jì)算機(jī)上運(yùn)行時(shí)所必需的數(shù)據(jù)。

軟件工程是指應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,以工程化的原則和方法來開發(fā)與維護(hù)軟件的學(xué)科。研究軟件工程的主要目的就是可在規(guī)定的時(shí)間、規(guī)定的開發(fā)費(fèi)用內(nèi)開發(fā)出滿足用戶需求的高質(zhì)量的軟件系統(tǒng)(高質(zhì)量是指錯(cuò)誤率低、好用、易用、可移植、易維護(hù)等)。

2.軟件工程的目標(biāo)

軟件工程的目標(biāo)是指在給定成本、進(jìn)度的前提下,開發(fā)出具有適用性、有效性、可修改性、可靠性、可理解性、可維護(hù)性、可重用性、可移植性、可追蹤性、可互操作性和滿足用戶需求的軟件產(chǎn)品。追求這些目標(biāo)有助于提高軟件產(chǎn)品的質(zhì)量和開發(fā)效率,減少維護(hù)的困難。

(1)適用性:軟件在不同的系統(tǒng)約束條件下,使用戶需求得到滿足的難易程度。

(2)有效性:軟件系統(tǒng)能最有效地利用計(jì)算機(jī)的時(shí)間和空間資源。

(3)可修改性:允許對(duì)系統(tǒng)進(jìn)行修改而不增加原系統(tǒng)的復(fù)雜性。

(4)可靠性:能防止因概念、設(shè)計(jì)和結(jié)構(gòu)等方面的不完善造成的軟件系統(tǒng)失效,具有挽回因操作不當(dāng)造成軟件系統(tǒng)失效的能力。

(5)可理解性:系統(tǒng)具有清晰的結(jié)構(gòu),能直接反映問題的所在。

(6)可維護(hù)性:軟件交付使用后,能夠?qū)λM(jìn)行修改,以改正潛伏的錯(cuò)誤,改進(jìn)性能和其他屬性,使軟件產(chǎn)品適應(yīng)環(huán)境的變化等。

(7)可重用性:把概念或功能相對(duì)獨(dú)立的一個(gè)或一組相關(guān)模塊定義為一個(gè)軟部件,可組裝在系統(tǒng)的任何位置,降低工作量。

(8)可移植性:軟件從某一環(huán)境搬到另一個(gè)環(huán)境的難易程度。

(9)可追蹤性:根據(jù)軟件需求對(duì)軟件設(shè)計(jì)、程序進(jìn)行正向追蹤,或根據(jù)軟件設(shè)計(jì)、程序?qū)浖枨筮M(jìn)行逆向追蹤的能力。

(10)可互操作性:多個(gè)軟件元素相互通信并協(xié)同完成任務(wù)的能力。

3.軟件工程的三要素

軟件工程技術(shù)是指軟件工程所具有的技術(shù)要素。作為軟件開發(fā)與維護(hù)的工程方法學(xué),軟件工程具有三個(gè)方面的技術(shù)要素,即軟件工程方法、軟件工具和軟件工程過程。

軟件工程方法是指完成軟件開發(fā)與維護(hù)任務(wù)時(shí),應(yīng)該“如何做”的技術(shù)方法。它所涉及的任務(wù)貫穿于軟件開發(fā)、維護(hù)的整個(gè)過程之中,包括軟件需求分析、軟件結(jié)構(gòu)設(shè)計(jì)、程序算法設(shè)計(jì)等諸多任務(wù)。

主要的軟件工程方法有結(jié)構(gòu)化方法和面向?qū)ο蠓椒ā?/p>

1)結(jié)構(gòu)化方法

結(jié)構(gòu)化方法(StructuredApproach)也稱新生命周期法,是生命周期法的繼承與發(fā)展,也是生命周期法與結(jié)構(gòu)化程序設(shè)計(jì)思想的結(jié)合。結(jié)構(gòu)化概念最早是描述結(jié)構(gòu)化程序設(shè)計(jì)方法的,它用三種基本邏輯結(jié)構(gòu)來編程,使之標(biāo)準(zhǔn)化、線性化。結(jié)構(gòu)化方法不僅提高了編程效率和程序清晰度,而且大大提高了程序的可讀性、可測(cè)試性、可修改性和可維護(hù)性。后來,把結(jié)構(gòu)化程序設(shè)計(jì)思想引入MIS(ManagementInformationSystem,管理信息系統(tǒng))開發(fā)領(lǐng)域,逐步發(fā)展成結(jié)構(gòu)化系統(tǒng)分析與設(shè)計(jì)的方法。

2)面向?qū)ο蠓椒?/p>

面向?qū)ο蠓椒?Object-OrientedMethod)是一種把面向?qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過程中,指導(dǎo)開發(fā)活動(dòng)的系統(tǒng)方法,是建立在“對(duì)象”概念基礎(chǔ)上的方法學(xué)。對(duì)象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實(shí)體有直接對(duì)應(yīng)關(guān)系,一個(gè)對(duì)象類定義了具有相似性質(zhì)的一組對(duì)象。而繼承性是對(duì)具有層次關(guān)系的類的屬性和操作進(jìn)行共享的一種方式。所謂面向?qū)ο缶褪腔趯?duì)象概念,以對(duì)象為中心,以類和繼承為構(gòu)造機(jī)制,來認(rèn)識(shí)、理解、刻畫客觀世界,設(shè)計(jì)、構(gòu)建相應(yīng)的軟件系統(tǒng)。

軟件工具是為了方便軟件工程方法的運(yùn)用而提供的具有自動(dòng)化特征的軟件支撐環(huán)境。軟件工具通常也稱為CASE,它是計(jì)算機(jī)輔助軟件工程(ComputerAidedSoftwareEngineering)的英文縮寫。CASE工具覆蓋面很廣,包括分析建模、設(shè)計(jì)建模、源代碼編輯生成、軟件測(cè)試工具等。表1-2所列是一些常用的CASE工具類型。

4.軟件工程的基本原則

軟件工程是關(guān)于軟件項(xiàng)目的工程方法學(xué),其價(jià)值只能通過具體的軟件項(xiàng)目才能真正體現(xiàn)出來。為保證在軟件項(xiàng)目中能夠有效地貫徹并正確地使用軟件工程規(guī)程,需要有一定的軟件工程的原則來對(duì)軟件項(xiàng)目加以約束。一些研究軟件工程的專家學(xué)者分別從不同的角度陸續(xù)提出過許多關(guān)于軟件工程的原則或“信條”,其中,著名的軟件工程專家B.W.Boehm經(jīng)過總結(jié),提出了以下七條基本原則。

1)采用分階段的生命周期計(jì)劃,以實(shí)現(xiàn)對(duì)項(xiàng)目的嚴(yán)格管理

2)堅(jiān)持階段評(píng)審制度,以確保軟件產(chǎn)品質(zhì)量

3)實(shí)行嚴(yán)格的產(chǎn)品控制,以適應(yīng)軟件規(guī)格的變更

4)采用先進(jìn)的程序設(shè)計(jì)技術(shù)

5)軟件成果應(yīng)該能夠清楚地被審查

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

這條基本原則具有以下兩點(diǎn)含義:

其一,軟件開發(fā)小組的組成人員的素質(zhì)應(yīng)該較高。

其二,軟件開發(fā)小組的成員人數(shù)不宜過多。

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

上述七條基本原則是實(shí)現(xiàn)軟件開發(fā)工程化這個(gè)目標(biāo)的必要前提。但是,僅有這七條原則,還不足以保證軟件開發(fā)工程化進(jìn)程能夠持久地進(jìn)行下去,因此,Boehm提出了“承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性”,這表明:軟件工程在實(shí)際應(yīng)用中,應(yīng)該積極主動(dòng)地采納新的軟件技術(shù),并不斷總結(jié)新的工程經(jīng)驗(yàn)。

任務(wù)二熟悉軟件開發(fā)流程

一、軟件生命周期正如任何事物一樣,軟件也有其孕育、誕生、成長(zhǎng)、成熟和衰亡的生存過程,一般稱其為“軟件生命周期”(SoftwareLifeCycle,SLC)。

軟件生命周期是軟件從產(chǎn)生直到報(bào)廢或停止使用的生命周期。軟件生命周期又稱為軟件生存周期或系統(tǒng)開發(fā)生命周期,周期內(nèi)有問題定義、可行性分析、總體描述、系統(tǒng)設(shè)計(jì)、編碼、調(diào)試和測(cè)試、驗(yàn)收與運(yùn)行、維護(hù)升級(jí)、廢棄等階段,這種按時(shí)間分程的思想方法是軟件工程中的一種思想原則,即按部就班、逐步推進(jìn),每個(gè)階段都要有定義、工作、審查并形成文檔以供交流或備查,從而提高軟件的質(zhì)量。

軟件生命周期一般分為六個(gè)階段,即制訂計(jì)劃、需求分析、設(shè)計(jì)、編碼、測(cè)試、運(yùn)行和維護(hù)。軟件開發(fā)的各個(gè)階段之間的關(guān)系不可能是順序且線性的,而應(yīng)該是帶有反饋的迭代過程。在軟件工程中,這個(gè)復(fù)雜的過程用軟件開發(fā)模型來描述和表示。

軟件生命周期由軟件定義、軟件開發(fā)和軟件維護(hù)三個(gè)時(shí)期組成,每個(gè)時(shí)期又可進(jìn)一步劃分成若干個(gè)階段。

1)問題定義

要求系統(tǒng)分析員與用戶進(jìn)行交流,弄清“用戶需要計(jì)算機(jī)解決什么問題”,然后提出關(guān)于“系統(tǒng)目標(biāo)與范圍的說明”,提交用戶審查和確認(rèn)。

2)可行性研究

一方面在于把待開發(fā)的系統(tǒng)目標(biāo)以明確的語言描述出來,另一方面從經(jīng)濟(jì)、技術(shù)、法律等多方面進(jìn)行可行性分析。

3)需求分析

弄清用戶對(duì)軟件系統(tǒng)的全部需求,編寫需求規(guī)格說明書和初步的用戶手冊(cè),提交評(píng)審。

4)開發(fā)階段

開發(fā)階段由設(shè)計(jì)、實(shí)現(xiàn)(根據(jù)選定的程序設(shè)計(jì)語言完成源程序的編碼)和測(cè)試三個(gè)階段組成。

5)維護(hù)

維護(hù)包括以下四個(gè)方面:

(1)改正性維護(hù):在軟件交付使用后,由于開發(fā)測(cè)試時(shí)的不徹底、不完全,必然會(huì)有一部分隱藏的錯(cuò)誤被帶到運(yùn)行階段,這些隱藏的錯(cuò)誤在某些特定的使用環(huán)境下就會(huì)暴露

出來,這些錯(cuò)誤需要改正。

(2)適應(yīng)性維護(hù):為適應(yīng)環(huán)境的變化而修改軟件的活動(dòng)。

(3)完善性維護(hù):根據(jù)用戶在使用過程中提出的一些建設(shè)性意見而進(jìn)行的維護(hù)活動(dòng)。

(4)預(yù)防性維護(hù):進(jìn)一步改善軟件系統(tǒng)的可維護(hù)性和可靠性,為以后的改進(jìn)奠定基礎(chǔ)。

二、軟件生命周期模型

軟件生命周期模型是指人們?yōu)殚_發(fā)更好的軟件而歸納總結(jié)的軟件生命周期的典型實(shí)踐參考。

1.瀑布模型

瀑布模型(WaterfallModel)是一個(gè)項(xiàng)目開發(fā)架構(gòu),開發(fā)過程是通過一系列階段順序展開的,從系統(tǒng)需求分析開始直到產(chǎn)品發(fā)布和維護(hù),每個(gè)階段都會(huì)產(chǎn)生循環(huán)反饋,因此,如果有信息未被覆蓋或者發(fā)現(xiàn)了問題,那么最好返回上一個(gè)階段并進(jìn)行適當(dāng)?shù)男薷?,如果上一階段被確認(rèn)沒有問題,則項(xiàng)目開發(fā)進(jìn)程從一個(gè)階段“流動(dòng)”到下一個(gè)階段。

瀑布模型如圖1-1所示。圖1-1瀑布模型

瀑布模型有利于大型軟件開發(fā)過程中人員的組織及管理,有利于軟件開發(fā)方法和工具的研究與使用,從而提高了大型軟件項(xiàng)目開發(fā)的質(zhì)量和效率。然而軟件開發(fā)的實(shí)踐表明,上述各項(xiàng)活動(dòng)之間并非完全是自上而下且呈線性圖式的,因此瀑布模型存在如下嚴(yán)重的缺陷:

(1)由于開發(fā)模型呈線性,所以當(dāng)開發(fā)成果尚未經(jīng)過測(cè)試時(shí),用戶無法看到軟件的效果。這樣軟件與用戶見面的時(shí)間間隔較長(zhǎng),也增加了一定的風(fēng)險(xiǎn)。

(2)在軟件開發(fā)前期未發(fā)現(xiàn)的錯(cuò)誤傳到后面的開發(fā)活動(dòng)中時(shí),可能會(huì)擴(kuò)散,進(jìn)而可能會(huì)造成整個(gè)軟件項(xiàng)目開發(fā)失敗。

(3)在軟件需求分析階段,完全確定用戶的所有需求是比較困難的,甚至可以說是不太可能的。

2.迭代式模型

迭代式模型是RUP(RationalUnifiedProcess,統(tǒng)一軟件開發(fā)過程)推薦的周期模型。在RUP中,迭代被定義為包括產(chǎn)生產(chǎn)品發(fā)布(穩(wěn)定、可執(zhí)行的產(chǎn)品版本)的全部開發(fā)活動(dòng)和要使用該發(fā)布必需的所有其他外圍元素。所以,在某種程度上,開發(fā)迭代是一次完整地經(jīng)過所有工作流程的過程,至少包括需求工作流程、分析設(shè)計(jì)工作流程、實(shí)施工作流程和測(cè)試工作流程。實(shí)質(zhì)上,它類似小型的瀑布式項(xiàng)目。RUP認(rèn)為,所有的階段(需求及其他)都可以細(xì)分為迭代。每一次的迭代都會(huì)產(chǎn)生一個(gè)可以發(fā)布的產(chǎn)品,這個(gè)產(chǎn)品是最終產(chǎn)品的一個(gè)子集。迭代式模型如圖1-2所示。

圖1-2迭代式模型

3.螺旋模型

螺旋模型是一種演化軟件開發(fā)過程模型,它兼顧了快速原型的迭代特征及瀑布模型的系統(tǒng)化與嚴(yán)格監(jiān)控。螺旋模型最大的特點(diǎn)在于引入了其他模型不具備的風(fēng)險(xiǎn)分析,使軟件在無法排除重大風(fēng)險(xiǎn)時(shí)有機(jī)會(huì)停止,以減小損失。同時(shí),在每個(gè)迭代階段構(gòu)建原型是螺旋模型用以減小風(fēng)險(xiǎn)的途徑。螺旋模型更適合大型的、昂貴的系統(tǒng)級(jí)的軟件應(yīng)用。這種模型的每一個(gè)周期都包括需求定義、風(fēng)險(xiǎn)分析、工程實(shí)現(xiàn)和評(píng)審四個(gè)階段,由這四個(gè)階段進(jìn)行迭代。軟件開發(fā)過程每迭代一次,軟件開發(fā)又前進(jìn)一個(gè)層次。螺旋模型如圖1-3所示。

圖1-3螺旋模型

螺旋模型強(qiáng)調(diào)風(fēng)險(xiǎn)分析,使得開發(fā)人員和用戶對(duì)每個(gè)演化層出現(xiàn)的風(fēng)險(xiǎn)有所了解,繼而作出應(yīng)有的反應(yīng),因此特別適用于龐大、復(fù)雜并具有高風(fēng)險(xiǎn)的系統(tǒng)。對(duì)于這些系統(tǒng),風(fēng)險(xiǎn)是軟件開發(fā)不可忽視且潛在的不利因素,它可能在不同程度上損害軟件開發(fā)過程,影響軟件產(chǎn)品的質(zhì)量。減小軟件風(fēng)險(xiǎn)的目標(biāo)是在造成危害之前,及時(shí)對(duì)風(fēng)險(xiǎn)進(jìn)行識(shí)別及分析,決定采取何種對(duì)策,進(jìn)而消除或減少風(fēng)險(xiǎn)的損害。

與瀑布模型相比,螺旋模型支持用戶需求的動(dòng)態(tài)變化,為用戶參與軟件開發(fā)的所有關(guān)鍵決策提供了方便,有助于提高目標(biāo)軟件的適應(yīng)能力,并且為項(xiàng)目管理人員及時(shí)調(diào)整管理決策提供了便利,從而降低了軟件開發(fā)風(fēng)險(xiǎn)。

但是,我們不能說螺旋模型絕對(duì)比其他模型優(yōu)越,事實(shí)上,這種模型也有其自身的缺點(diǎn):

(1)采用螺旋模型需要具有相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專業(yè)知識(shí),在風(fēng)險(xiǎn)較大的項(xiàng)目開發(fā)中,如果未能及時(shí)標(biāo)識(shí)風(fēng)險(xiǎn),勢(shì)必造成重大損失。

(2)過多的迭代次數(shù)會(huì)增加開發(fā)成本,延遲提交時(shí)間。

4.快速原型模型

快速原型模型又稱原型模型,它是在開發(fā)真實(shí)系統(tǒng)之前,構(gòu)造一個(gè)原型,在該原型的基礎(chǔ)上,逐漸完成整個(gè)系統(tǒng)的開發(fā)工作。從需求收集開始,開發(fā)者和客戶在一起定義軟件的總體目標(biāo),標(biāo)識(shí)出已知的需求,并規(guī)劃出需要進(jìn)一步定義的區(qū)域。然后進(jìn)行“快速設(shè)計(jì)”,即集中于軟件中那些對(duì)用戶/客戶可見的部分的表示,原型由用戶/客戶評(píng)估,并進(jìn)一步精化待開發(fā)軟件的需求。

隨后逐步調(diào)整原型使其滿足客戶的要求,同時(shí)也使開發(fā)者對(duì)將要做的事情有更好的理解。這個(gè)過程是迭代的,其流程從聽取客戶意見開始,隨后是建造/修改原型、客戶測(cè)試運(yùn)行原型,然后往復(fù)循環(huán),直到客戶對(duì)原型滿意為止??焖僭腿鐖D1-4所示。

圖1-4快速原型模型

快速原型模型的最大特點(diǎn)是能夠快速實(shí)現(xiàn)一個(gè)可實(shí)際運(yùn)行的系統(tǒng)初步模型,供開發(fā)人員和用戶進(jìn)行交流和評(píng)審,以便較準(zhǔn)確地獲得用戶的需求。該模型采用逐步求精的方法使原型逐步完善,即每次經(jīng)用戶評(píng)審后修改、運(yùn)行,不斷重復(fù)最終得到雙方認(rèn)可。這個(gè)過程是迭代過程,它可以避免在瀑布模型冗長(zhǎng)的開發(fā)過程中看不見產(chǎn)品雛形的現(xiàn)象。其優(yōu)點(diǎn)一是開發(fā)工具先進(jìn),開發(fā)效率高,使總的開發(fā)費(fèi)用降低,時(shí)間縮短;二是開發(fā)人員與用戶交流直觀,可以澄清模糊需求,調(diào)動(dòng)用戶積極參與,能及早暴露系統(tǒng)實(shí)施后潛在的一些問題;三是原型系統(tǒng)可作為培訓(xùn)環(huán)境,有利于用戶培訓(xùn)和開發(fā)同步,開發(fā)過程也是學(xué)習(xí)過程。

5.噴泉模型

噴泉模型(FountainModel)是一種以用戶需求為動(dòng)力,以對(duì)象為驅(qū)動(dòng)的模型,主要用于描述面向?qū)ο蟮能浖_發(fā)過程。該模型認(rèn)為軟件開發(fā)過程自下而上,各階段是周期性的并且是相互迭代和無間隙的,就像水噴上去又可以落下來,類似一個(gè)噴泉。各個(gè)開發(fā)階段沒有特定的次序要求,并且可以交互進(jìn)行,可以在某個(gè)開發(fā)階段中隨時(shí)補(bǔ)充其他任何開發(fā)階段中的遺漏。噴泉模型如圖1-5所示。

圖1-5噴泉模型

噴泉模型不像瀑布模型那樣,需要分析活動(dòng)結(jié)束后才開始設(shè)計(jì)活動(dòng),設(shè)計(jì)活動(dòng)結(jié)束后才開始編碼活動(dòng)。該模型的各個(gè)階段沒有明顯的界限,開發(fā)人員可以同步進(jìn)行開發(fā)。其優(yōu)點(diǎn)是可以提高軟件項(xiàng)目開發(fā)效率,節(jié)省開發(fā)時(shí)間,適應(yīng)于面向?qū)ο蟮能浖_發(fā)過程。由于噴泉模型在各個(gè)開發(fā)階段是重疊的,因此在開發(fā)過程中需要大量的開發(fā)人員,這樣就不利于項(xiàng)目的管理。此外,這種模型要求嚴(yán)格管理文檔,使得審核的難度加大,尤其是面對(duì)可能隨時(shí)加入各種信息、需求與資料的情況。

任務(wù)三認(rèn)識(shí)軟件質(zhì)量模型與CMMI模型

一、軟件質(zhì)量模型軟件質(zhì)量是指與軟件產(chǎn)品滿足規(guī)定的和隱含的需要的能力有關(guān)的特征或特性的組合。軟件質(zhì)量的特性是多方面的,但必須包括:與明確確定的功能和性能需求的一致性,能滿足給定需要的全部特性;與明確成文的開發(fā)標(biāo)準(zhǔn)的一致性;與所有專業(yè)開發(fā)的軟件所期望的隱含特性的一致性;顧客或用戶認(rèn)為能滿足其綜合期望的程度,即軟件的組合特性;確定軟件在使用中將滿足顧客預(yù)期要求的程度。

目前已有很多質(zhì)量模型,它們分別定義了不同的軟件質(zhì)量屬性。比較常見的三個(gè)質(zhì)量模型是McCall模型(1977年)、Boehm模型(1978年)和ISO9126模型(1993年)。McCall等認(rèn)為,特性是軟件質(zhì)量的反映,軟件屬性可用作評(píng)價(jià)準(zhǔn)則,定量化地度量軟件屬性可知軟件質(zhì)量的優(yōu)劣。圖1-6給出了McCall模型的組成部分。

圖1-6McCall質(zhì)量模型

軟件質(zhì)量保證的主要活動(dòng)內(nèi)容歸納如下:

(1)質(zhì)量方針的制定與展開;

(2)質(zhì)量保證方針和質(zhì)量保證標(biāo)準(zhǔn)的制定;

(3)質(zhì)量保證體系的建立與管理;

(4)各階段的質(zhì)量評(píng)審,確保設(shè)計(jì)質(zhì)量;

(5)重要質(zhì)量問題的提出與分析;

(6)總結(jié)實(shí)現(xiàn)階段的質(zhì)量保證活動(dòng);

(7)整理面向用戶的文檔資料和說明書等;

(8)產(chǎn)品質(zhì)量鑒定、質(zhì)量保證系統(tǒng)鑒定;

(9)質(zhì)量信息的收集、分析和使用。

二、CMMI模型

能力成熟度模型集成(CapabilityMaturityModelIntegration,CMMI)為改進(jìn)一個(gè)組織的各種過程提供了一個(gè)單一的集成化框架,該框架消除了各個(gè)模型的不一致性,減少了模型間的重復(fù),增加了透明度和理解,建立了一個(gè)自動(dòng)的、可擴(kuò)展的框架,因而能夠從總體上改進(jìn)組織的質(zhì)量和效率。CMMI主要關(guān)注點(diǎn)包括成本效益、明確重點(diǎn)、過程集中和靈活性四個(gè)方面?;贑MMI系統(tǒng)的信息化系統(tǒng)對(duì)公司的規(guī)范化管理、提高管理和運(yùn)行效率、控制物料成本、降低經(jīng)營(yíng)風(fēng)險(xiǎn)等起到重要作用。

CMMI的五個(gè)臺(tái)階(五個(gè)等級(jí))如下:

臺(tái)階一:CMMI一級(jí),完成級(jí)。

臺(tái)階二:CMMI二級(jí),管理級(jí)。

臺(tái)階三:CMMI三級(jí),定義級(jí)。

臺(tái)階四:CMMI四級(jí),量化管理級(jí)。

臺(tái)階五:CMMI五級(jí),優(yōu)化級(jí)。

由上述五個(gè)臺(tái)階可以看出,每一個(gè)臺(tái)階都是上面一層臺(tái)階的基石。要上高層臺(tái)階必須首先踏上較低一層臺(tái)階。企業(yè)在實(shí)施CMMI的時(shí)候,路要一步一步地走,一般先從二級(jí)入手。要在管理上下功夫,爭(zhēng)取最終實(shí)現(xiàn)CMMI的第五級(jí)。項(xiàng)目二問題定義及可行性研究任務(wù)一問題定義任務(wù)二可行性研究

任務(wù)一問題定義一、問題定義概述問題定義是軟件定義時(shí)期的第一個(gè)階段。作為軟件的開發(fā)者,在這個(gè)階段必須弄清用戶“需要計(jì)算機(jī)解決什么問題”。如果在問題尚未明確的情況下就試圖解決這個(gè)問題,那么就會(huì)白白浪費(fèi)時(shí)間和精力,結(jié)果也毫無意義。因此,問題定義在軟件生命周期中占有重要的位置。問題定義階段的基本任務(wù)就是分析要解決的問題,提交問題定義報(bào)告。經(jīng)用戶同意后,就可作為下一步工作——可行性研究的依據(jù)。

二、教務(wù)管理信息系統(tǒng)概述

下面以希望中學(xué)的教務(wù)管理信息系統(tǒng)為案例,具體闡述教務(wù)管理信息系統(tǒng)要解決的問題是什么。系統(tǒng)分析員需要與用戶就教務(wù)管理信息系統(tǒng)要解決的問題達(dá)成一致。此過程中,應(yīng)該形成初步的系統(tǒng)方案,包括項(xiàng)目組織機(jī)構(gòu)概況、項(xiàng)目開發(fā)背景、項(xiàng)目開發(fā)意義、初步的軟件計(jì)劃等內(nèi)容。

任務(wù)二可?行?性?研?究

一、可行性研究概述在問題定義階段,分析員和用戶確定待開發(fā)軟件所能夠解決的問題。然而,在現(xiàn)實(shí)中這些問題并不一定可以在預(yù)定的系統(tǒng)規(guī)模之內(nèi)解決。如果問題受到當(dāng)前條件的約束,沒有可行的解,那么花費(fèi)在這個(gè)項(xiàng)目上的時(shí)間、資源、人力和經(jīng)費(fèi)都將被浪費(fèi)。因此,從軟件項(xiàng)目的多個(gè)角度全面地分析問題是否有可行的解,對(duì)軟件項(xiàng)目進(jìn)行可行性研究是非常必要的。

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

可行性研究主要論證以下三個(gè)方面的內(nèi)容:

(1)經(jīng)濟(jì)可行性。

(2)技術(shù)可行性。

(3)操作可行性。判斷系統(tǒng)的操作方式在該用戶組織內(nèi)是否有可行性。

除以上三種可行性,必要時(shí)還應(yīng)從法律、社會(huì)效益等方面進(jìn)一步研究分析。

2.可行性研究的步驟

典型的可行性研究過程具體步驟如下:

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

分析員對(duì)問題定義階段書寫的關(guān)于規(guī)模和目標(biāo)的報(bào)告書進(jìn)一步復(fù)查確認(rèn),改正含糊或不確切的敘述,清晰地描述對(duì)目標(biāo)系統(tǒng)的一切限制和約束。

2.可行性研究的步驟

典型的可行性研究過程具體步驟如下:

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

分析員對(duì)問題定義階段書寫的關(guān)于規(guī)模和目標(biāo)的報(bào)告書進(jìn)一步復(fù)查確認(rèn),改正含糊或不確切的敘述,清晰地描述對(duì)目標(biāo)系統(tǒng)的一切限制和約束。

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

如果目前有系統(tǒng)在運(yùn)行,則必須對(duì)現(xiàn)有的系統(tǒng)進(jìn)行分析,不但要閱讀現(xiàn)有系統(tǒng)的文檔資料和使用手冊(cè),也要實(shí)地考察,找出其缺陷,使新系統(tǒng)能解決舊系統(tǒng)中存在的問題。

常見的錯(cuò)誤做法是花費(fèi)過多時(shí)間去分析現(xiàn)有的系統(tǒng)。

3)導(dǎo)出新系統(tǒng)的高層邏輯模型

從現(xiàn)有的物理系統(tǒng)出發(fā),根據(jù)現(xiàn)有系統(tǒng)的邏輯模型,導(dǎo)出新系統(tǒng)的邏輯模型,最后構(gòu)造出新的物理系統(tǒng)。為了把新系統(tǒng)描繪得更加清晰準(zhǔn)確,分析員通常利用數(shù)據(jù)流圖和數(shù)據(jù)字典等工具,對(duì)系統(tǒng)中的數(shù)據(jù)進(jìn)行描述和定義。

4)進(jìn)一步定義問題

新系統(tǒng)的邏輯模型實(shí)質(zhì)上表達(dá)了分析員對(duì)新系統(tǒng)必須做什么的看法。分析員應(yīng)該和用戶一起再次復(fù)查問題定義、工程規(guī)模和目標(biāo),這次復(fù)查應(yīng)該把數(shù)據(jù)流圖和數(shù)據(jù)字典作為討論的基礎(chǔ)。

5)導(dǎo)出和評(píng)價(jià)供選擇的解法

分析員應(yīng)該從其建議的系統(tǒng)邏輯模型出發(fā),導(dǎo)出若干個(gè)較高層次的(較抽象的)物理解法供比較和選擇。

6)推薦行動(dòng)方針

根據(jù)可行性研究結(jié)果,分析員應(yīng)該做出是否進(jìn)行這項(xiàng)工程的開發(fā)決定。如可行,分析員還應(yīng)該選擇一種最好的解法,說明選擇這個(gè)解決方案的理由,并對(duì)所推薦的系統(tǒng)進(jìn)行比較仔細(xì)的成本/效益分析。

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

分析員為所推薦的方案草擬一份開發(fā)計(jì)劃,除了制訂工程進(jìn)度表之外,還應(yīng)該估計(jì)對(duì)各類開發(fā)人員和各種資源的需要情況,此外還應(yīng)該估計(jì)系統(tǒng)生命周期每個(gè)階段的成本。

8)書寫文檔提交審查

分析員應(yīng)該把可行性研究結(jié)果寫成清晰的文檔,請(qǐng)用戶、客戶組織的負(fù)責(zé)人及評(píng)審組審查,以決定是否繼續(xù)這項(xiàng)工程及是否接受分析員推薦的方案。

二、系統(tǒng)流程圖

系統(tǒng)流程圖(SystemFlowchart)是描繪軟件系統(tǒng)物理模型的圖形工具。它的基本思想是用圖形符號(hào)以黑盒子的形式描繪系統(tǒng)里面的每個(gè)部件(程序、文件、數(shù)據(jù)庫(kù)、表格、人工過程等),表達(dá)信息在各個(gè)部件之間流動(dòng)的情況,系統(tǒng)分析員繪制該圖的過程有助于全面了解系統(tǒng)業(yè)務(wù)處理的概況,同時(shí)也有助于系統(tǒng)分析員與用戶更好地相互交流。

1.系統(tǒng)流程圖的符號(hào)

系統(tǒng)流程圖被用來描述系統(tǒng)的工作流程,以系統(tǒng)中的物理組件為單元說明系統(tǒng)的基本構(gòu)造,并由此說明系統(tǒng)對(duì)數(shù)據(jù)的加工步驟。表2-1所列是系統(tǒng)流程圖中常用的圖形符號(hào)。顯然,系統(tǒng)流程圖中的符號(hào)是一些可以從系統(tǒng)中分離出來的物理元素,例如設(shè)備、程序模塊、報(bào)表等。

2.實(shí)例

圖2-1所示系統(tǒng)流程圖表明了該學(xué)校系統(tǒng)內(nèi)外之間、內(nèi)部各部門之間、人員之間的業(yè)務(wù)關(guān)系及作業(yè)順序、管理信息流動(dòng)的流程。圖2-1希望中學(xué)教務(wù)管理信息系統(tǒng)流程圖

三、成本效益分析

經(jīng)濟(jì)可行性研究是對(duì)項(xiàng)目實(shí)施成本和所能帶來的經(jīng)濟(jì)效益的分析,以確定等待實(shí)施的項(xiàng)目是否值得投資。

1.成本估算

在項(xiàng)目初期,無論是進(jìn)行可行性分析,還是制訂項(xiàng)目預(yù)算,或是向客戶提供軟件報(bào)價(jià),都需要針對(duì)軟件項(xiàng)目進(jìn)行成本的初步估算。下面將要介紹的是一些常用的軟件項(xiàng)目成本估算方法。

1)基于軟件規(guī)模的成本估算

傳統(tǒng)的軟件規(guī)模是通過代碼行數(shù)計(jì)算的。也就是說,通過估算軟件代碼總行數(shù),可以計(jì)算出創(chuàng)建軟件的總工作量和軟件總成本。

基于軟件代碼行數(shù)的人力成本估算公式是

2)基于任務(wù)分解的成本估算

這是一種以項(xiàng)目任務(wù)的人力消耗為依據(jù)的成本估算方法。可以把項(xiàng)目任務(wù)分解成諸多活動(dòng),例如,按照工程過程將項(xiàng)目任務(wù)分解成需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)等若干個(gè)階段,然后根據(jù)每個(gè)階段的人員配備、周期長(zhǎng)短和階段任務(wù)參加人員平均工資情況,估算出每個(gè)階段的人力成本,由此累計(jì)出項(xiàng)目總成本。示例如表2-2所示。

2.效益分析

無論是開發(fā)機(jī)構(gòu)或是用戶,都會(huì)關(guān)心項(xiàng)目效益,但值得注意的是,開發(fā)機(jī)構(gòu)的效益直接來源于軟件產(chǎn)品,而用戶的效益則來自于對(duì)軟件的應(yīng)用,并且不同的軟件產(chǎn)品會(huì)有不同的效益來源,例如,軟件機(jī)構(gòu)自主開發(fā)的通用軟件和用戶委托開發(fā)的定制軟件,它們?cè)谛б鎭碓瓷暇头謩e有各自不同的途徑。

在計(jì)算項(xiàng)目的經(jīng)濟(jì)效益時(shí),還不得不注意到,軟件的經(jīng)濟(jì)效益是在軟件投入使用之后的若干年里逐漸產(chǎn)生出來的,而資金投入則是當(dāng)前之事。為了更加合理地計(jì)算資金效益,未來效益中產(chǎn)生的資金需要折算為現(xiàn)值進(jìn)行計(jì)算。

資金折現(xiàn)公式是

其中,k是銀行利率;n是年份。

可以使用一些經(jīng)濟(jì)指標(biāo)來衡量項(xiàng)目的經(jīng)濟(jì)效益,其主要經(jīng)濟(jì)指標(biāo)有:

(1)純收入:指軟件在估算的正常使用期內(nèi)產(chǎn)生的資金收益被折算為現(xiàn)值之后,再減去項(xiàng)目的成本投入。

(2)投資回收期:指軟件投入使用后產(chǎn)生的資金收益折算為現(xiàn)值,到項(xiàng)目資金收益等于項(xiàng)目的成本投入時(shí)所需要的時(shí)間。

(3)投資回收率:指根據(jù)軟件的資金收益進(jìn)行利息折算,可以將其與銀行利率作比較。

以某“企業(yè)資源綜合管理系統(tǒng)”的開發(fā)為例,假設(shè)開發(fā)過程中人力、設(shè)備、支撐軟件等各項(xiàng)成本總計(jì)預(yù)算是20萬,計(jì)劃一年開發(fā)完成并投入使用。表2-3所列為預(yù)計(jì)有效5年生命期內(nèi)的逐年經(jīng)濟(jì)收益與折現(xiàn)計(jì)算。其中,銀行年利率按6%計(jì)算。

由表2-3可以推算出以下結(jié)果:

四、教務(wù)管理信息系統(tǒng)可行性研究

可行性分析是確定項(xiàng)目的開發(fā)是否必要和可行,進(jìn)一步明確系統(tǒng)的目標(biāo)、規(guī)模與功能,提出系統(tǒng)開發(fā)的初步方案與計(jì)劃,其關(guān)鍵問題是系統(tǒng)開發(fā)的技術(shù)可行性研究、經(jīng)濟(jì)可行性研究、營(yíng)運(yùn)可行性研究,以及系統(tǒng)開發(fā)初步方案與開發(fā)計(jì)劃的制訂。項(xiàng)目三需求分析任務(wù)一認(rèn)識(shí)需求分析任務(wù)二熟悉需求分析圖形工具任務(wù)三掌握結(jié)構(gòu)化分析技術(shù)任務(wù)四編寫文檔

任務(wù)一認(rèn)識(shí)需求分析

需求分析也稱為軟件需求分析、系統(tǒng)需求分析或需求分析工程等,是開發(fā)人員經(jīng)過深入細(xì)致的調(diào)研和分析,準(zhǔn)確理解用戶和項(xiàng)目的功能、性能、可靠性等具體要求,將用戶非形式的需求表述轉(zhuǎn)化為完整的需求定義,從而確定系統(tǒng)必須做什么的過程。它的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么?”這個(gè)問題。在需求分析階段產(chǎn)生的文檔是軟件需求規(guī)格說明書,它以書面形式準(zhǔn)確地描述軟件需求。

目前,有很多用于需求分析的結(jié)構(gòu)化分析方法,所有這些分析方法都遵守下述準(zhǔn)則:

(1)必須理解并描述問題的信息域(建立數(shù)據(jù)模型)。

(2)必須定義軟件應(yīng)完成的功能(建立功能模型)。

(3)必須描述作為外部事件結(jié)果的軟件行為(建立行為模型)。

(4)必須對(duì)描述信息、功能和行為的模型進(jìn)行分解,用層次的方式展示細(xì)節(jié)。

一、需求分析概述

需求分析是指開發(fā)人員要準(zhǔn)確理解用戶的要求,進(jìn)行細(xì)致的調(diào)查分析,將用戶非形式的需求陳述轉(zhuǎn)化為完整的需求定義,再由需求定義轉(zhuǎn)換到相應(yīng)的形式功能規(guī)約(需求規(guī)格說明)的過程。需求分析雖處于軟件開發(fā)過程的開始階段,但它對(duì)于整個(gè)軟件開發(fā)過程以及軟件產(chǎn)品質(zhì)量是至關(guān)重要的。在計(jì)算機(jī)發(fā)展的早期,所求解問題的規(guī)模小,需求分析容易被忽視。

1.需求分析的難點(diǎn)

難點(diǎn)主要體現(xiàn)在以下幾個(gè)方面:

(1)問題的復(fù)雜性。

(2)交流障礙。

(3)不完備性和不一致性。

(4)需求易變性。

2.需求分析的基本原則

(1)必須能夠表達(dá)和理解問題的數(shù)據(jù)域和功能域。數(shù)據(jù)域包括數(shù)據(jù)流(即數(shù)據(jù)通過一個(gè)系統(tǒng)時(shí)的變化方式)數(shù)據(jù)內(nèi)容和數(shù)據(jù)結(jié)構(gòu),而功能域反映上述三方面的控制信息。

(2)可以把一個(gè)復(fù)雜問題按功能進(jìn)行分解并可逐層細(xì)化。

(3)建模。模型可以幫助分析人員更好地理解軟件系統(tǒng)的信息、功能和行為,這些模型也是軟件設(shè)計(jì)的基礎(chǔ)。

結(jié)構(gòu)化分析方法和面向?qū)ο蠓治龇椒ǘ甲裱陨显瓌t。

3.需求分析的任務(wù)

軟件需求分析的任務(wù)是:深入描述軟件的功能和性能,確定軟件設(shè)計(jì)的約束和軟件同其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求,借助當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)邏輯模型,解決目標(biāo)系統(tǒng)“做什么”的問題。在可行性研究和項(xiàng)目開發(fā)計(jì)劃階段對(duì)這個(gè)問題的回答是概括的、粗略的。

1)確定系統(tǒng)的綜合需求

系統(tǒng)分析員和用戶共同確定對(duì)問題綜合需求。表3-1給出了綜合需求的類別、定義和相關(guān)舉例,其中最重要的是功能需求,其應(yīng)確定系統(tǒng)必須完成的所有功能。在確定功能需求的基礎(chǔ)上,還應(yīng)根據(jù)組織機(jī)構(gòu)和使用用戶的具體情況,確定系統(tǒng)在性能、運(yùn)行等方面的一系列需求。

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

任何一個(gè)軟件系統(tǒng)本質(zhì)上都是信息處理系統(tǒng),系統(tǒng)必須處理的信息和系統(tǒng)應(yīng)該產(chǎn)生的信息在很大程度上決定了系統(tǒng)的面貌,對(duì)軟件設(shè)計(jì)有深遠(yuǎn)影響,因此,必須分析系統(tǒng)的數(shù)據(jù)要求,這是軟件需求分析的一個(gè)重要任務(wù)。分析系統(tǒng)的數(shù)據(jù)要求通常采用建立數(shù)據(jù)模型的方法。

軟件系統(tǒng)復(fù)雜的數(shù)據(jù)由許多基本的數(shù)據(jù)元素組成,數(shù)據(jù)元素之間的邏輯關(guān)系用數(shù)據(jù)結(jié)構(gòu)來表示。利用數(shù)據(jù)字典可以全面準(zhǔn)確地定義數(shù)據(jù),但是數(shù)據(jù)字典的缺點(diǎn)是不夠直觀。為了提高可理解性,常常利用圖形工具輔助描繪數(shù)據(jù)結(jié)構(gòu)。常用的圖形工具有層次方框圖和Warnier圖。

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

綜合上述兩項(xiàng)分析結(jié)果可以導(dǎo)出系統(tǒng)詳細(xì)的邏輯模型,通常用數(shù)據(jù)流圖、實(shí)體-聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典和主要的處理算法描述這個(gè)邏輯模型。

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

根據(jù)在分析過程中獲得的對(duì)系統(tǒng)的更深入更具體的了解,可以比較準(zhǔn)確地估計(jì)系統(tǒng)開發(fā)的成本和進(jìn)度,修正以前制定的開發(fā)計(jì)劃。

5)開發(fā)原型系統(tǒng)

快速原型系統(tǒng)核心思想是:在軟件開發(fā)的早期快速建立目標(biāo)軟件的原型,讓用戶對(duì)原型進(jìn)行評(píng)估并提出修改意見,當(dāng)原型幾經(jīng)改進(jìn)最終確定后,它將由軟件設(shè)計(jì)和編碼階段進(jìn)化成軟件產(chǎn)品;或者設(shè)計(jì)和編碼人員遵循原型所確立的外部特征實(shí)現(xiàn)軟件產(chǎn)品。

4.需求分析的步驟

1)問題識(shí)別

問題識(shí)別是指從系統(tǒng)的角度來理解軟件并評(píng)審軟件范圍是否恰當(dāng),確定對(duì)目標(biāo)系統(tǒng)的綜合要求,即軟件的需求,提出這些需求實(shí)現(xiàn)條件,以及需求應(yīng)達(dá)到的標(biāo)準(zhǔn)。問題識(shí)別的另一項(xiàng)工作是建立分析所需要的通信途徑(如圖3-1所示),以保證能順利地對(duì)問題進(jìn)行分析。

圖3-1問題識(shí)別的通信途徑

2)分析與綜合,導(dǎo)出軟件的邏輯模型

分析人員對(duì)獲取的需求,進(jìn)行一致性的分析檢查,在分析、綜合中逐步細(xì)分軟件功能,劃分成各個(gè)子功能。

3)編寫文檔

編寫文檔的步驟如下:

(1)編寫“需求說明書”,把雙方共同的理解與分析結(jié)果用規(guī)范的方式描述出來,作為今后各項(xiàng)工作的基礎(chǔ)。

(2)編寫初步用戶使用手冊(cè),著重反映被開發(fā)軟件的用戶功能界面和用戶使用的具體要求,用戶手冊(cè)能強(qiáng)制分析人員從用戶使用的角度考慮軟件。

(3)編寫確認(rèn)測(cè)試計(jì)劃,作為今后確認(rèn)和驗(yàn)收的依據(jù)。

(4)修改完善項(xiàng)目開發(fā)計(jì)劃。在需求分析階段對(duì)開發(fā)的系統(tǒng)有了更進(jìn)一步的了解,所以能更準(zhǔn)確地估計(jì)開發(fā)成本、進(jìn)度及資源要求,因此對(duì)原計(jì)劃要進(jìn)行適當(dāng)修正。

4)需求評(píng)審

需求評(píng)審的內(nèi)容包括:系統(tǒng)定義的目標(biāo)是否與用戶的要求一致;系統(tǒng)需求分析階段提供的文檔資料是否齊全;文檔中的所有描述是否完整、清晰、準(zhǔn)確反映用戶要求;與所有其他系統(tǒng)成分的重要接口是否都已經(jīng)描述;被開發(fā)項(xiàng)目的數(shù)據(jù)流與數(shù)據(jù)結(jié)構(gòu)是否足夠確定;所有圖表是否清楚,在不補(bǔ)充說明時(shí)能否被理解;主要功能是否已包括在規(guī)定的軟件范圍之內(nèi),是否都已充分說明;設(shè)計(jì)的約束條件或限制條件是否符合實(shí)際;開發(fā)的技術(shù)風(fēng)險(xiǎn)是什么;是否考慮過軟件需求的其他方案;是否考慮過將來可能會(huì)提出的軟件需求;是否詳細(xì)制定了檢驗(yàn)標(biāo)準(zhǔn),它們能否對(duì)系統(tǒng)定義是否成功進(jìn)行確認(rèn)。

二、需求分析方法

需求分析的過程如圖3-2所示。需求分析方法有功能分解方法、結(jié)構(gòu)化分析方法、信息建模方法和面向?qū)ο蠓治龇椒ǖ取?/p>

圖3-2需求分析的過程

1.功能分解方法

功能分解方法是將一個(gè)系統(tǒng)看成是由若干功能構(gòu)成的一個(gè)集合,每個(gè)功能又可劃分成若干個(gè)加工(即子功能),一個(gè)加工又進(jìn)一步分解成若干加工步驟(即子加工)。因此,功能分解方法有功能、子功能和功能接口三個(gè)組成要素。它的關(guān)鍵策略是利用已有的經(jīng)驗(yàn),對(duì)一個(gè)新系統(tǒng)預(yù)先設(shè)定加工和加工步驟,著眼點(diǎn)放在這個(gè)新系統(tǒng)需要進(jìn)行什么樣的加工上。

這種方法存在一些問題,它需要人工來完成從問題空間到功能和子功能的映射,即沒有顯式地將問題空間表現(xiàn)出來,也無法對(duì)表現(xiàn)的準(zhǔn)確程度進(jìn)行驗(yàn)證,而問題空間中的一些重要細(xì)節(jié)更是無法提示出來??梢钥闯?,功能分解方法缺乏對(duì)客觀世界中相對(duì)穩(wěn)定的實(shí)體結(jié)構(gòu)進(jìn)行描述,而將基點(diǎn)放在相對(duì)不穩(wěn)定的實(shí)體行為上,因此,基點(diǎn)是不穩(wěn)定的,難以適應(yīng)需求的變化。

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

結(jié)構(gòu)化分析方法(StructuredMethod)是一種軟件開發(fā)方法,一般利用圖形表達(dá)用戶需求,強(qiáng)調(diào)開發(fā)方法的結(jié)構(gòu)合理性以及所開發(fā)軟件的結(jié)構(gòu)合理性。結(jié)構(gòu)化分析方法是一種從問題空間到某種表示的映射方法,它由數(shù)據(jù)流圖表示,是結(jié)構(gòu)化重要的、被普遍接受的表示系統(tǒng),它由數(shù)據(jù)流圖和數(shù)據(jù)詞典構(gòu)成。這種方法簡(jiǎn)單實(shí)用,適于數(shù)據(jù)處理領(lǐng)域。

該方法的一個(gè)難點(diǎn)是確定數(shù)據(jù)流之間的變換,而且數(shù)據(jù)詞典的規(guī)模也是一個(gè)問題,它會(huì)引起所謂的“數(shù)據(jù)詞典爆炸”,同時(shí)對(duì)數(shù)據(jù)結(jié)構(gòu)的強(qiáng)調(diào)很少。

3.信息建模方法

信息建模方法是從數(shù)據(jù)的角度來對(duì)現(xiàn)實(shí)世界建立模型的,它對(duì)問題空間的認(rèn)識(shí)是很有幫助的。該方法的基本工具是ER圖(實(shí)體關(guān)系圖),其基本要素由實(shí)體、屬性和關(guān)系構(gòu)成。該方法的基本策略是從現(xiàn)實(shí)世界中找出實(shí)體,然后再用屬性來描述這些實(shí)體。

4.面向?qū)ο蠓治龇椒?/p>

面向?qū)ο蠓治龇椒ㄊ前袳R圖中的概念與面向?qū)ο蟪绦蛟O(shè)計(jì)語言中的主要概念結(jié)合在一起而形成的一種分析方法。

三、需求獲取方法

1.訪談

訪談是最早開始使用的獲取用戶需求的技術(shù),也是迄今為止仍然廣泛使用的需求分析技術(shù)。

訪談?dòng)袃煞N基本形式,分別是正式的和非正式的訪談。正式訪談時(shí),系統(tǒng)分析員將提出一些事先準(zhǔn)備好的具體問題。在非正式訪談中,分析員將提出一些用戶可以自由回答的開放性問題,以鼓勵(lì)被訪問人員說出自己的想法。

在訪問用戶的過程中往往使用情景分析技術(shù)。所謂情景分析就是對(duì)用戶將來使用目標(biāo)系統(tǒng)解決某個(gè)具體問題的方法和結(jié)果進(jìn)行分析。該技術(shù)非常有效,主要體現(xiàn)在下述兩個(gè)方面:

(1)它能在某種程度上演示目標(biāo)系統(tǒng)的行為,從而便于用戶理解,而且還可能進(jìn)一步揭示出一些分析員目前還不知道的需求。

(2)情景分析較易為用戶所理解,使用戶在需求分析過程中始終扮演一個(gè)積極主動(dòng)的角色,以獲得更多的用戶需求。

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

軟件系統(tǒng)的基本功能都是把輸入數(shù)據(jù)轉(zhuǎn)變成需要的輸出數(shù)據(jù),從本質(zhì)看,數(shù)據(jù)決定了系統(tǒng)的處理和算法,因而,數(shù)據(jù)是需求分析的出發(fā)點(diǎn)。

需求分析的目標(biāo)之一就是把可行性研究得到的數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)定義到元素級(jí)(足夠小數(shù)據(jù))。

通常把自頂向下逐步求精分析過程中得到的相關(guān)數(shù)據(jù)元素的信息記錄在數(shù)據(jù)字典中,把對(duì)算法的簡(jiǎn)明描述記錄在IPO(輸入—處理—輸出)圖中。經(jīng)過分析而補(bǔ)充的數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理,也應(yīng)該添加到數(shù)據(jù)流圖的適當(dāng)位置上。

通過用戶對(duì)數(shù)據(jù)流的復(fù)查與驗(yàn)證,可補(bǔ)充未知的數(shù)據(jù)元素,或修正原有的數(shù)據(jù)元素。

通過自頂向下逐步求精的功能分解,可以完成數(shù)據(jù)流圖的細(xì)化。

反復(fù)進(jìn)行上述分析過程,分析員將越來越深入具體地定義目標(biāo)系統(tǒng),最終達(dá)到對(duì)系統(tǒng)數(shù)據(jù)和功能要求的充分了解。圖3-3粗略地概括了上述分析過程。

圖3-3自頂向下逐步求精分析過程

3.快速建立軟件原型

快速建立軟件原型是最準(zhǔn)確、最有效和最強(qiáng)大的需求分析技術(shù)。

快速原型就是根據(jù)用戶需求,快速建立起可運(yùn)行的目標(biāo)系統(tǒng)。其要點(diǎn)是:它應(yīng)該實(shí)現(xiàn)用戶看得見的功能(如屏幕顯示或打印報(bào)表),省略“隱含”的功能(如修改文件)。

快速原型應(yīng)該具備以下特性:

(1)快速。

(2)容易修改。

為了快速地構(gòu)建和修改原型,通常使用下述三種方法和工具:

(1)第四代技術(shù)。第四代技術(shù)包括眾多數(shù)據(jù)庫(kù)查詢和報(bào)表語言、程序和應(yīng)用系統(tǒng)生成器以及其他非常高級(jí)的非過程語言。

(2)可重用的軟件構(gòu)件??焖贅?gòu)建原型的另一種方法,是使用一組已有的軟件構(gòu)件(也稱為組件)來裝配(而不是從頭構(gòu)造)原型。軟件構(gòu)件可以是數(shù)據(jù)結(jié)構(gòu)(或數(shù)據(jù)庫(kù))或軟件體系結(jié)構(gòu)構(gòu)件(即程序)或過程構(gòu)件(即模塊)。

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

任務(wù)二熟悉需求分析圖形工具

一、數(shù)據(jù)流圖數(shù)據(jù)流圖(DataFlowDiagram,DFD)從數(shù)據(jù)傳遞和加工角度,以圖形方式來表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達(dá)工具及用于表示軟件模型的一種圖示方法。數(shù)據(jù)流圖是一種圖形化技術(shù),它對(duì)系統(tǒng)的邏輯功能進(jìn)行描繪,圖中沒有任何具體的物理元素,只是描繪數(shù)據(jù)在軟件中流動(dòng)和被處理的邏輯過程。

1.基本概念和符號(hào)

數(shù)據(jù)流圖有四種基本符號(hào),如表3-2所示。

2.繪制數(shù)據(jù)流圖的步驟

繪制數(shù)據(jù)流圖有以下兩步:

(1)繪制系統(tǒng)的輸入/輸出(即頂層)數(shù)據(jù)流圖。

(2)繪制系統(tǒng)內(nèi)部(即下層)數(shù)據(jù)流圖。一般將層號(hào)從0開始編號(hào),遵循自頂向下、由外向內(nèi)的原則

3.繪制數(shù)據(jù)流圖的注意事項(xiàng)

(1)命名。

(2)編號(hào)。

(3)每個(gè)處理(加工)至少有一個(gè)輸入和輸出數(shù)據(jù)流。

(4)畫數(shù)據(jù)流而不是控制流。

(5)父圖與子圖的平衡。

(6)局部數(shù)據(jù)存儲(chǔ)。

(7)可理解性。

二、數(shù)據(jù)字典

數(shù)據(jù)字典(Datadictionary)是指對(duì)數(shù)據(jù)的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理邏輯、外部實(shí)體等進(jìn)行定義和描述,其目的是對(duì)數(shù)據(jù)流圖中的各個(gè)元素作出詳細(xì)的說明,使用數(shù)據(jù)字典為簡(jiǎn)單的建模項(xiàng)目。簡(jiǎn)而言之,數(shù)據(jù)字典是描述數(shù)據(jù)信息的集合,是對(duì)系統(tǒng)中使用的所有數(shù)據(jù)元素定義的集合。

數(shù)據(jù)字典的作用是給數(shù)據(jù)流圖上每個(gè)成分加以定義和說明。換句話說,數(shù)據(jù)流圖只能給出系統(tǒng)邏輯功能的一個(gè)總框架,而缺乏詳細(xì)、具體的內(nèi)容。數(shù)據(jù)字典對(duì)數(shù)據(jù)流圖的各種成分起注解、說明作用,給這些成分賦予實(shí)際的內(nèi)容。除此之外,數(shù)據(jù)字典還要對(duì)系統(tǒng)分析中其他需要說明的問題進(jìn)行定義和說明。

1.?dāng)?shù)據(jù)字典的內(nèi)容

數(shù)據(jù)字典的內(nèi)容包括五個(gè)方面:數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)元素、外部項(xiàng)、加工。其中,數(shù)據(jù)元素是組成數(shù)據(jù)流的基本成分。

數(shù)據(jù)流由一個(gè)或一組固定的數(shù)據(jù)元素組成。定義數(shù)據(jù)流時(shí),不僅要說明數(shù)據(jù)流的名稱、組成等,還應(yīng)指明它的來源、去向和流通量等。

數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)結(jié)構(gòu)停留的場(chǎng)所。數(shù)據(jù)存儲(chǔ)只是描述數(shù)據(jù)的邏輯存儲(chǔ)的結(jié)構(gòu),不涉及物理組織。通常包括編號(hào)、名稱、簡(jiǎn)述、組成、關(guān)鍵字和相關(guān)聯(lián)的處理等。

數(shù)據(jù)元素又稱為數(shù)據(jù)項(xiàng),是數(shù)據(jù)的最小單位。數(shù)據(jù)應(yīng)從靜態(tài)及動(dòng)態(tài)兩個(gè)方面去分析。在數(shù)據(jù)字典中,主要是對(duì)數(shù)據(jù)的靜態(tài)特性加以定義。

外部項(xiàng)包括外部項(xiàng)名稱、編號(hào)、簡(jiǎn)述及有關(guān)數(shù)據(jù)流的輸入和輸出。

加工是對(duì)數(shù)據(jù)流圖中最底層的處理邏輯加以說明,內(nèi)容包括加工名稱、簡(jiǎn)述、輸入、處理過程、輸出和處理頻率。

2.定義數(shù)據(jù)的方法

數(shù)據(jù)字典中的定義就是對(duì)數(shù)據(jù)自頂向下的分解,應(yīng)把數(shù)據(jù)分解到什么程度,一般以其含義清楚作為標(biāo)準(zhǔn)。

由數(shù)據(jù)項(xiàng)(元素)組成數(shù)據(jù)的方式有四種類型:

(1)順序:以確定次序連接兩個(gè)或多個(gè)分量;

(2)選擇:從兩個(gè)或多個(gè)可能的元素中選擇一個(gè);

(3)重復(fù):指定的分量重復(fù)零次或多次;

(4)可選:一個(gè)分量是可有可無的。

數(shù)據(jù)字典中常用的一些符號(hào)如下:

“=”:等價(jià)于(定義為);

“+”:和(連接兩個(gè)分量);

“[?]”:或(選其中之一);

“{?}”:重復(fù);

“(?)”:可選(可有可無)。

3.實(shí)例

以下列出本系統(tǒng)部分主要數(shù)據(jù)流、數(shù)據(jù)元素、數(shù)據(jù)存儲(chǔ)及加工的數(shù)據(jù)字典。

數(shù)據(jù)流的數(shù)據(jù)字典如表3-3所示。

數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)字典如表3-4所示。

數(shù)據(jù)元素的數(shù)據(jù)字典如表3-5所示。

外部項(xiàng)的數(shù)據(jù)字典如表3-6所示。

加工的數(shù)據(jù)字典如表3-7所示。

三、實(shí)體-關(guān)系圖

為了清楚、準(zhǔn)確地描述用戶對(duì)數(shù)據(jù)的要求,分析員通常建立一個(gè)概念性的數(shù)據(jù)模型(也稱信息模型)——實(shí)體-關(guān)系模型(Entity-RelationshipModel,E-R模型),它是一種面向問題的數(shù)據(jù)模型,是按用戶的觀點(diǎn)對(duì)數(shù)據(jù)建立的模型。

1.基本概念和符號(hào)

數(shù)據(jù)模型包含3種信息:數(shù)據(jù)對(duì)象、數(shù)據(jù)對(duì)象的屬性及數(shù)據(jù)對(duì)象彼此間相互連接的關(guān)系。

1)數(shù)據(jù)對(duì)象(實(shí)體)

數(shù)據(jù)對(duì)象是對(duì)軟件的復(fù)合信息的抽象,它是指具有一系列不同性質(zhì)或?qū)傩缘氖挛?,僅有單個(gè)值的事物(如寬度)不是數(shù)據(jù)對(duì)象。

數(shù)據(jù)對(duì)象可以是外部實(shí)體(產(chǎn)生或使用信息的任何事物)、事物(如報(bào)表)、行為(如打電話)、事件(如響警報(bào))、角色(如教師、學(xué)生)、單位(如會(huì)計(jì)科)、地點(diǎn)(如倉(cāng)庫(kù))或結(jié)構(gòu)(如文件)等。

2)屬性

屬性是數(shù)據(jù)對(duì)象或聯(lián)系所具有的性質(zhì)。一個(gè)數(shù)據(jù)對(duì)象通常由若干個(gè)屬性來刻畫,如:學(xué)生有學(xué)號(hào)、姓名、性別、系、年級(jí)等。聯(lián)系也可能有屬性,如學(xué)生“學(xué)”某門課程。

3)關(guān)系

關(guān)系是數(shù)據(jù)對(duì)象彼此之間相互連接的方式。關(guān)系分為3種類型:

(1)一對(duì)一關(guān)系(1∶1),如:一個(gè)部門有一個(gè)經(jīng)理。

(2)一對(duì)多關(guān)系(1∶N),如:教師與課程。

(3)多對(duì)多關(guān)系(M∶N),如:學(xué)生與課程。

4)實(shí)體-關(guān)系圖(Entity-Relationshipdiagram,E-R圖)的符號(hào)

通常用矩形框代表實(shí)體,菱形框表示聯(lián)系,用橢圓形或圓角矩形表示實(shí)體(或關(guān)系)的屬性,如圖3-4所示。圖3-4實(shí)體-關(guān)系圖的符號(hào)

2.E-R圖實(shí)例

數(shù)據(jù)庫(kù)設(shè)計(jì)中十分重視數(shù)據(jù)分析、抽象與概念結(jié)構(gòu)的設(shè)計(jì),概念結(jié)構(gòu)的設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵。用于描述概念結(jié)構(gòu)模型的工具是E-R模型。需求分析采用自頂向下的結(jié)構(gòu)設(shè)計(jì)方法,而概念結(jié)構(gòu)設(shè)計(jì)通常采用自底向上的設(shè)計(jì)方法,這種方法是首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成,得到全局的概念結(jié)構(gòu),即從需求分析的數(shù)據(jù)流(DFD)、數(shù)據(jù)字典DD概念結(jié)構(gòu)設(shè)計(jì)中的分E-R圖總E-R圖。

概念模型的特點(diǎn):是對(duì)現(xiàn)實(shí)世界的抽象和概括;簡(jiǎn)潔、明晰、獨(dú)立于機(jī)器,很容易理解;易于更動(dòng);容易向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。

概念模型最常用的表示方法是實(shí)體-關(guān)系方法。以某中學(xué)的教務(wù)管理信息系統(tǒng)為例,按照數(shù)據(jù)庫(kù)的概念設(shè)計(jì)本系統(tǒng)的E-R圖(見圖3-5)。

圖3-5教務(wù)管理信息系統(tǒng)的實(shí)體-關(guān)系圖

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

狀態(tài)轉(zhuǎn)換圖簡(jiǎn)稱狀態(tài)圖,是描述行為模型的常用工具。它通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來表示系統(tǒng)的行為。此外,狀態(tài)圖還指明了事件將做的動(dòng)作(如處理數(shù)據(jù))。因此,狀態(tài)圖提供了在需求分析過程中建立軟件系統(tǒng)的行為模型的機(jī)制。

1.狀態(tài)

狀態(tài)是系統(tǒng)行為模式,一個(gè)狀態(tài)代表系統(tǒng)的一種行為模式。

狀態(tài)規(guī)定了系統(tǒng)對(duì)事件的響應(yīng)方式。系統(tǒng)對(duì)事件的響應(yīng)既可以是做一個(gè)(或一系列)動(dòng)作,也可以是僅僅改變系統(tǒng)本身的狀態(tài),還可以是既改變狀態(tài)又做動(dòng)作。

在狀態(tài)圖中定義的狀態(tài)主要有初態(tài)(即初始狀態(tài))、終態(tài)(即最終狀態(tài))和中間狀態(tài)。在一張狀態(tài)圖中只能有一個(gè)初態(tài),而終態(tài)則可以有0至多個(gè)。

2.事件

事件是在某個(gè)特定時(shí)刻發(fā)生的事情,它是對(duì)引

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論