系統(tǒng)需求分析與定義_第1頁
已閱讀1頁,還剩206頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1,系統(tǒng)需求分析與定義,一、計算機(jī)系統(tǒng)分析二、軟件需求分析三、結(jié)構(gòu)化分析方法四、快速原型化方法五、面向?qū)ο蠓治龇椒?、需求分析文檔的原則和評審,2,一、計算機(jī)系統(tǒng)分析,基于計算機(jī)的系統(tǒng)基于計算機(jī)的系統(tǒng)的系統(tǒng)元素包括硬件、軟件、人、數(shù)據(jù)庫、文檔和過程。軟件 計算機(jī)程序、數(shù)據(jù)結(jié)構(gòu)、相關(guān)文檔;硬件 電子計算設(shè)備(如CPU,存儲器)和外部機(jī)電設(shè)備(如傳感器、馬達(dá)等);人 硬件和軟件的用戶;數(shù)據(jù)庫 一個

2、大型的有組織的信息集合;,3,基于計算機(jī)系統(tǒng)的系統(tǒng)元素,4,文檔 手冊、表格和其它用以描述系統(tǒng)使用和操作的信息;過程 定義每一種系統(tǒng)元素的特定使用步驟,或系統(tǒng)駐留的過程性環(huán)境。,系統(tǒng)的層次結(jié)構(gòu),基于計算機(jī)的系統(tǒng)本身可以成為一個更大的基于計算機(jī)系統(tǒng)中的一個元素,并稱為那個更大系統(tǒng)的宏元素。,5,工廠自動化系統(tǒng),6,2. 系統(tǒng)分析,系統(tǒng)分析是一個問題求解活動,目的是揭示、分析所期望的功能,并把它們分配到各個單獨(dú)的系統(tǒng)元素中去。

3、與用戶合作確認(rèn)用戶的目標(biāo)和約束;導(dǎo)出功能、性能、接口、設(shè)計約束和信息結(jié)構(gòu)的表示;將它們分配到每一個系統(tǒng)元素中。,7,系統(tǒng)分析的任務(wù),識別用戶要求評價系統(tǒng)的可行性進(jìn)行經(jīng)濟(jì)分析和技術(shù)分析把功能分配給硬件、軟件、人、數(shù)據(jù)庫和其他系統(tǒng)元素建立成本和進(jìn)度限制生成系統(tǒng)規(guī)格說明,形成所有后續(xù)工程的基礎(chǔ)。,8,1)識別用戶要求,分析員必須考慮以下問題:,功能和性能 可靠性和質(zhì)量 總的系統(tǒng)目標(biāo) 成本與進(jìn)度限制,制造需求 市場與競爭

4、情況 有效的技術(shù) 將來可能的擴(kuò)充,識別希望的功能和性能范圍; 確定系統(tǒng)的功能、性能、約束和接口;,9,2) 可行性研究,可行性研究經(jīng)濟(jì)可行性技術(shù)可行性法律可行性用戶操作可行性可行性研究的步驟確定項目的規(guī)模和目標(biāo)研究當(dāng)前正在運(yùn)行的系統(tǒng)建立新系統(tǒng)的高層邏輯模型,10,導(dǎo)出和評價各種方案推薦可行的方案編寫可行性研究報告,經(jīng)濟(jì)可行性 成本–效益分析,成本估算專家估算技術(shù)(Delphi技術(shù))成本估算模型(COCOMO

5、)效益估算投資回收期,11,純收入投資回收率,技術(shù)可行性 技術(shù)風(fēng)險分析,技術(shù)解決方案的實用性使用的技術(shù)實用化程度技術(shù)解決方案合理程度技術(shù)資源的可用性參與人員的工作基礎(chǔ)基礎(chǔ)硬件/軟件的可用性軟件工具實用性,12,法律可行性 侵權(quán)和責(zé)任問題,專利法著作權(quán)法軟件保護(hù)條例,用戶操作可行性,用戶類型:外行型/熟練型/專家型操作習(xí)慣使用單位的計算機(jī)使用情況使用單位的規(guī)章制度,13,3)功能分配給系統(tǒng)元素的原則,對同一

6、功能,可以分配不同的系統(tǒng)元素。為選取最有效的分配方案,使用一組權(quán)衡準(zhǔn)則進(jìn)行評價項目考慮 在預(yù)估的成本與進(jìn)度范圍內(nèi)所選的系統(tǒng)配置能否實現(xiàn)?與成本與進(jìn)度估算相關(guān)的風(fēng)險有哪些?商業(yè)考慮所選的系統(tǒng)配置是最可能有效益的解決方案嗎?,14,能否成功地占領(lǐng)市場?最終的報償是否能表明所冒的開發(fā)風(fēng)險是值得的?技術(shù)分析是否具備開發(fā)所有系統(tǒng)元素的技術(shù)實力?能否確保功能和性能得到滿足?能否對系統(tǒng)配置進(jìn)行充分的維護(hù)?是否具備技術(shù)資源?

7、與技術(shù)相關(guān)的風(fēng)險有哪些?生產(chǎn)評估,15,生產(chǎn)工具與設(shè)備是否有效?必需的過程是否短缺?是否充分地實施了質(zhì)量保證?人員問題開發(fā)人員是否得到培訓(xùn)?用戶是否了解這個系統(tǒng)將要做什么?環(huán)境接口所提交的系統(tǒng)配置與系統(tǒng)的外部環(huán)境的接口是否合適?,16,機(jī)器與機(jī)器、人與機(jī)器之間的通信是否以智能方式處理?法律考慮這種配置是否會引入違法的責(zé)任風(fēng)險?對責(zé)任問題是否給予了足夠的保護(hù)?是否存在潛在的破壞問題?,,17,二、軟件需求分析,需求

8、分析是一項軟件工程活動,其目的是:清楚地理解所要解決的問題,完整地獲取用戶要求;刻劃出軟件的功能和性能;指明軟件與其他系統(tǒng)元素的接口;建立軟件必須滿足的約束。,1. 軟件需求分析的目的,18,需求分析是一項軟件工程活動,它包括:需求獲取刻劃出軟件的功能和性能;指明軟件與其他系統(tǒng)元素的接口;建立軟件必須滿足的約束。需求建模需求分析建立起來的模型為日后軟件設(shè)計人員提供了可被翻譯成數(shù)據(jù)、體系結(jié)構(gòu)、接口和處理過程設(shè)計的模

9、型。,2. 需求分析的任務(wù),19,需求規(guī)格說明需求規(guī)格說明為開發(fā)人員和用戶提供軟件開發(fā)完成時質(zhì)量評價的依據(jù)。需求評審需求分析研究的對象是用戶的要求。必須全面理解用戶的各項要求,準(zhǔn)確表達(dá)被接受的用戶要求。只有經(jīng)過確切描述的軟件需求才能成為軟件設(shè)計的基礎(chǔ)。,20,軟件開發(fā)是要實現(xiàn)目標(biāo)系統(tǒng)的物理模型。需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng) “做什么” 的問題。,21,,22,需求分析的過程可

10、以分成四個階段:需求獲取研究系統(tǒng)的可行性分析報告和軟件項目實施計劃。從系統(tǒng)角度來理解軟件并評審用于產(chǎn)生計劃估算的軟件范圍是否恰當(dāng);通過調(diào)研確定對目標(biāo)系統(tǒng)的需求;提出這些需求實現(xiàn)條件,以及需求應(yīng)達(dá)到的標(biāo)準(zhǔn)。,3. 需求分析的過程,23,,,,,,建立分析所需要的溝通途徑,以保證能順利地對問題進(jìn)行分析。,管理人員,用戶,分析人員,軟件開發(fā)組,,,,,軟件需求說明,軟件實施計劃,原型,,,軟件實施計劃,軟件實施計劃,軟件需求說明,軟

11、件需求說明,原型,原型,,24,需求建模 進(jìn)行各種要求的一致性檢查;逐步細(xì)化所有的軟件功能;分解數(shù)據(jù)域,分配給各個子功能;找出系統(tǒng)各成分之間的聯(lián)系、接口特性和設(shè)計限制。判斷是否存在不合理的用戶要求或用戶尚未提出的潛在要求。綜合成系統(tǒng)的解決方案,給出目標(biāo)系統(tǒng)的詳細(xì)邏輯模型。,25,常用的分析方法,面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法 (SA)面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法 (JSD)面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法 (DSSD

12、)面向?qū)ο蟮姆治龇椒?(OOA) 等,26,編制需求分析階段的文檔軟件需求規(guī)格說明;初步的用戶手冊;確認(rèn)測試計劃;修改和完善軟件開發(fā)計劃。需求評審(確認(rèn))作為需求分析階段工作的復(fù)查手段,應(yīng)該對功能的正確性、文檔的一致性、完備性、準(zhǔn)確性和清晰性,以及其他需求給予評價。,27,需要能夠表達(dá)和理解問題的信息域和功能域信息流:數(shù)據(jù)和控制通過一個系統(tǒng)時的變化方式。兩個功能之間的數(shù)據(jù)/控制傳遞就確定了功能間的接口。 信息內(nèi)容:單個

13、數(shù)據(jù)或控制對象,它們構(gòu)成了某個更大的由軟件變換生成的信息的集合。信息結(jié)構(gòu):各種數(shù)據(jù)和控制項的內(nèi)部組織。,4. 需求分析的原則,28,以層次化的方式對問題進(jìn)行分解和不斷細(xì)化,29,給出系統(tǒng)的邏輯視圖和物理視圖軟件需求的邏輯視圖給出的是軟件要達(dá)到的功能和要處理的數(shù)據(jù)之間的關(guān)系,而不是實現(xiàn)的細(xì)節(jié)。軟件需求的邏輯描述是軟件設(shè)計的基礎(chǔ)。軟件需求的物理視圖給出的是處理功能和數(shù)據(jù)結(jié)構(gòu)的實際表現(xiàn)形式,這往往是由設(shè)備本身決定的,因此推遲到設(shè)計階段

14、考慮。,30,5. 需求獲取,需求獲取是在問題及其最終解決方案之間架設(shè)橋梁的第一步。獲取需求的一個必不可少的結(jié)果是對項目中描述的客戶需求的普遍理解。一旦理解了需求,分析人員、開發(fā)人員和客戶就能探索出描述這些需求的多種解決方案。需求獲取技術(shù)包括兩方面的工作:建立獲取用戶要求的方法的框架;支持和監(jiān)控需求獲取的過程的機(jī)制。,31,1)軟件需求的層次,業(yè)務(wù)需求反映了組織或客戶開展相關(guān)業(yè)務(wù)的工作流和業(yè)務(wù)規(guī)則,是對系統(tǒng)、產(chǎn)品高層次的目標(biāo)

15、要求,與該組織或客戶的業(yè)務(wù)領(lǐng)域有關(guān)。用戶需求 描述用戶使用軟件需要完成哪些任務(wù),可通過用例 (use case) 圖或場景說明加以闡明。功能―非功能需求 定義了開發(fā)人員必須實現(xiàn)的軟件功能,而非功能需求如表所示:,32,33,2)需求獲取技術(shù)的基本特征,一種好的需求獲取技術(shù),對于規(guī)范需求獲取活動,高效準(zhǔn)確地獲取需求定義,是十分重要的。好的需求獲取技術(shù),應(yīng)具有如下基本特征:提供便于溝通的工具,如易于理解的

16、語言;提供定義系統(tǒng)邊界的方法;提供支持抽象的機(jī)制,如“分解”、“映射”等;,34,鼓勵分析員使用面向問題的術(shù)語思考問題,編寫文檔;為分析員提供多種可供選擇的解決方案;適應(yīng)需求的變化。適于以上特征的需求獲取方法:基于數(shù)據(jù)流圖的結(jié)構(gòu)化分析方法;基于用例(use case)的建模方法。需求獲取技術(shù)的關(guān)鍵點(diǎn)在于:深入淺出 需求獲取要盡可能全面、細(xì)致。,35,獲取的需求是個全集,系統(tǒng)真正實現(xiàn)的是個子集。細(xì)致地調(diào)研并不

17、表明在分析時將調(diào)研內(nèi)容都納入到新系統(tǒng)中, 但有利于以后的擴(kuò)充。以流程為主線 在與用戶交流的過程中,應(yīng)該用流程將所有的內(nèi)容串起來。如信息、組織結(jié)構(gòu)、處理規(guī)則等。這樣便于交流溝通。流程的描述既要有宏觀,又要有微觀。即要強(qiáng)調(diào)總體的業(yè)務(wù)流程、全生存期的業(yè)務(wù)流程,又要對流程細(xì)化,有分支的業(yè)務(wù)流程。,36,3)需求獲取應(yīng)遵循的原則,抽象和分解是在人們認(rèn)識世界和改造世界的長期實踐中總結(jié)出來的行之有效的原則,在需求獲取的過程中需遵循的

18、三個原則:分解:捕獲問題空間的整體–部分關(guān)系。如問題/子問題分解;抽象:捕獲問題空間的一般化–特殊化關(guān)系。如問題的不同變型;投影:捕獲問題空間的多維視圖。即從不同角度考察。,37,4)需求獲取的步驟,軟件開發(fā)項目和組織文化的不同,對于需求開發(fā)沒有一個簡單的、公式化的途徑。下面列出9個步驟,用以指導(dǎo)需求獲取活動。定義項目的視圖和范圍 包括組織結(jié)構(gòu)圖、各部門的崗位/角色列表。確定用戶類 包括人員/責(zé)任矩陣。確定目標(biāo)

19、系統(tǒng)的業(yè)務(wù)工作流 包括物流、資金流、信息流,建立業(yè)務(wù)工作流模型。,38,運(yùn)用需求獲取技術(shù)開發(fā)用例(或數(shù)據(jù)流圖)并設(shè)置優(yōu)先級 用以掌握主要業(yè)務(wù)規(guī)則。 收集來自用戶的質(zhì)量特性信息和其他非功能需求 將性能、安全性、可靠性等需求和其他設(shè)計約束結(jié)合業(yè)務(wù)規(guī)則,形成功能需求。分類在用例(或數(shù)據(jù)流圖)中涉及的數(shù)據(jù) 包括數(shù)據(jù)的組成和數(shù)據(jù)之間的關(guān)系。詳細(xì)擬訂用例(或數(shù)據(jù)流圖) 建立功能模型,并進(jìn)行審查,用以澄清需求獲取的

20、參與者對需求的理解。,39,開發(fā)并評估界面原型 設(shè)想輸入設(shè)備、輸出設(shè)備、顯示風(fēng)格、顯示方式、輸出格式等,建立接口規(guī)范和信息流傳輸規(guī)則。從功能描述中開發(fā)概念測試用例 用測試用例來驗證用例(或數(shù)據(jù)流圖)、功能需求和原型。,40,需求獲取可能是軟件開發(fā)中最困難、最關(guān)鍵、最易出錯及最需要交流的方面。表現(xiàn)在:需求的不穩(wěn)定性:在整個軟件生存周期內(nèi)軟件需求會隨著時間的推移發(fā)生變化;需求的不準(zhǔn)確性:用戶和開發(fā)人員的認(rèn)識會隨著使用系統(tǒng)實

21、現(xiàn)業(yè)務(wù)流程的實踐逐步提高,一開始不可能設(shè)想得面面俱到。需求獲取只有通過有效的客戶/開發(fā)者的合作才能成功。,41,5)針對信息系統(tǒng)的需求調(diào)研方法,調(diào)研用戶的組織結(jié)構(gòu)、崗位設(shè)置、職責(zé)定義,從功能上區(qū)分有多少個子系統(tǒng),劃分系統(tǒng)的大致范圍,明確系統(tǒng)的目標(biāo)。調(diào)研每個子系統(tǒng)的工作流程、功能與處理規(guī)則,收集原始信息資料,用數(shù)據(jù)流來表示物流、資金流、信息流三者的關(guān)系。 對調(diào)研內(nèi)容事先準(zhǔn)備,針對不同管理層次的用戶詢問不同的問題,列出問題清單。將操作

22、層、管理層、決策層的需求既聯(lián)系又區(qū)分開來,形成一個需求的層次。,42,對與用戶溝通的情況及時總結(jié)歸納,整理調(diào)研結(jié)果,初步構(gòu)成需求基線。若基線符合要求,則需求獲取完成。需求調(diào)研的主要手段:發(fā)調(diào)查表;召開調(diào)查會;向用戶領(lǐng)域的專家個別咨詢;實地考察,跟蹤現(xiàn)場業(yè)務(wù)流程;查閱與待開發(fā)系統(tǒng)有關(guān)的資料;使用各種調(diào)查工具等。,43,6)需求整理與表達(dá)的方法,采用窮舉方法可以避免遺漏。采用歸納方法,通過對各種情況進(jìn)行綜合分類可以使問題條

23、理化。采用抽象方法,可以發(fā)現(xiàn)問題的實質(zhì),抓住問題的主要矛盾,忽略其次要矛盾。需求整理可以多種手段共用,如組織結(jié)構(gòu)圖、業(yè)務(wù)流程圖、多叉樹、關(guān)系矩陣、文字?jǐn)⑹?、表格、圖形等。需求描述包括組織結(jié)構(gòu)與崗位定義、業(yè)務(wù)流程、處理規(guī)則、數(shù)據(jù)項、功能以及上述 5 個方面的關(guān)系。,,44,結(jié)構(gòu)化分析方法最初只是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。擴(kuò)充后,將建模技術(shù)擴(kuò)展到數(shù)據(jù)建模、

24、功能建模和行為建模,以實體-關(guān)系圖、數(shù)據(jù)流圖和控制流圖、狀態(tài)-遷移圖為工具,數(shù)據(jù)字典為核心,從不同視點(diǎn)建立系統(tǒng)的分析模型。,三、結(jié)構(gòu)化分析方法,45,結(jié)構(gòu)化分析的分析模型,46,1. 數(shù)據(jù)建模,數(shù)據(jù)模型包括三種互相關(guān)聯(lián)的信息:數(shù)據(jù)對象,描述對象的屬性,描述對象間相互連接的關(guān)系。在需求分析階段描述數(shù)據(jù)對象和它們之間的關(guān)系,使用了E-R圖。例如,在教學(xué)管理中,一個教師可以教授零門、一門或多門課程,每位學(xué)生也需要學(xué)習(xí)幾門課程。因此,教學(xué)

25、管理中涉及的對象(實體型)有學(xué)生、教師和課程。,47,48,實例的關(guān)聯(lián)有三種:一對一 (1:1); 一對多(1:m);多對多(n:m)。這種實例的關(guān)聯(lián)稱為“基數(shù)”?;鶖?shù)表明了“重復(fù)性”。,49,E-R圖中表示實體關(guān)聯(lián)的符號如下:,一個X與一個Y相關(guān)聯(lián),一個X與一個或多個Y相關(guān)聯(lián),一個X與零個或一個Y相關(guān)聯(lián),一個X與零個, 一個或多個Y相關(guān)聯(lián),一個X與一個Y或Z相關(guān)聯(lián),一個X與一個Y與Z相關(guān)聯(lián),50,2. 功能建模和數(shù)據(jù)流圖,最初, 結(jié)

26、構(gòu)化分析方法僅討論數(shù)據(jù)流建模。目標(biāo)系統(tǒng)被表示成如圖所示的數(shù)據(jù)變換流程圖。系統(tǒng)的功能體現(xiàn)在核心的數(shù)據(jù)變換中。,51,1)功能建模的思想,功能建模就是用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足功能要求的所有可實現(xiàn)的軟件為止。根據(jù)DeMarco的論述,功能模型使用了數(shù)據(jù)流圖來表達(dá)系統(tǒng)內(nèi)數(shù)據(jù)的運(yùn)動情況,而數(shù)據(jù)流的變換則用結(jié)構(gòu)化英語、判定表與判定樹來描述。,52,2)數(shù)據(jù)流圖中的主要圖形元素,53,分層的

27、數(shù)據(jù)流圖,54,3)數(shù)據(jù)流圖的層次結(jié)構(gòu),為了表達(dá)數(shù)據(jù)處理過程,需要采用層次結(jié)構(gòu)的數(shù)據(jù)流圖。按照系統(tǒng)的層次結(jié)構(gòu)進(jìn)行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系。頂層流圖僅包含一個加工,它代表被開發(fā)系統(tǒng)。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù)底層流圖是指其加工不需再做分解的數(shù)據(jù)流圖,它處在最底層中間層流圖則表示對其上層父圖的細(xì)化。它的每一加工可能繼續(xù)細(xì)化,形成子圖。,55,4)功能建模的步驟,對考生送來的報名單進(jìn)行檢查;

28、對合格的報名單編好準(zhǔn)考證號后將準(zhǔn)考證送給考生,并將匯總后的考生名單送給閱卷站;對閱卷站送來的成績單進(jìn)行檢查,并根據(jù)考試中心制定的合格標(biāo)準(zhǔn)審定合格者;制作考生通知單(含成績及合格/不合格標(biāo)志)送給考生;按地區(qū)進(jìn)行成績分類統(tǒng)計和試題難度分析,產(chǎn)生統(tǒng)計分析表。,實例 考務(wù)處理系統(tǒng)的功能,56,頂層圖封閉在外部實體之間,反映系統(tǒng)與外部的交互。,57,這個數(shù)據(jù)流圖只是一個高層的系統(tǒng)邏輯模型,它反映了目標(biāo)系統(tǒng)要實現(xiàn)的功能以及系統(tǒng)與外界

29、的關(guān)系。該圖或稱為上下文環(huán)境圖或語境圖(Context Diagram)數(shù)據(jù)流圖繪制步驟首先確定系統(tǒng)的輸入和輸出根據(jù)考務(wù)處理業(yè)務(wù),畫出頂層數(shù)據(jù)流圖,以反映最主要業(yè)務(wù)處理流程經(jīng)過分析,考務(wù)業(yè)務(wù)處理的主要功能應(yīng)當(dāng),58,有登記報名單、統(tǒng)計成績兩大項。主要數(shù)據(jù)流輸入的源點(diǎn)和輸出終點(diǎn)是考生、考試中心和閱卷站。然后從輸入端開始,根據(jù)考務(wù)業(yè)務(wù)工作流,畫出數(shù)據(jù)流流經(jīng)的各加工框,逐步畫到輸出端,得到第1層數(shù)據(jù)流圖。畫加工的內(nèi)部:用畫第1層

30、圖同樣的方法畫出每個加工的DFD子圖。重復(fù)第 5 步,直至圖中的尚未分解的加工都足夠簡單。至此得到分層數(shù)據(jù)流圖。,59,60,61,62,5)繪制數(shù)據(jù)流圖的原則,數(shù)據(jù)流圖上所有圖形符號只限于前述四種基本圖形元素,它們的命名應(yīng)反映其實際含義;數(shù)據(jù)流圖的頂層圖上的數(shù)據(jù)流必須封閉在外部實體之間;每個加工至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流;允許一個加工有多條數(shù)據(jù)流流向另一個加工,也允許一個加工有兩個相同的輸出數(shù)據(jù)流流向兩個不同的加工。

31、,63,在數(shù)據(jù)流圖中,需按層給加工框編號。編號表明該加工所處層次及上下層的親子關(guān)系;規(guī)定任何一個數(shù)據(jù)流子圖必須與它上一層的一個加工對應(yīng),兩者的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流必須一致。此即父圖與子圖的平衡;如果一個數(shù)據(jù)文件僅在展開的數(shù)據(jù)流子圖中使用,可以在父圖中不畫出;可以在數(shù)據(jù)流圖中加入物質(zhì)流,幫助用戶理解數(shù)據(jù)流圖;數(shù)據(jù)流圖中不可夾帶控制流,但針對實時系統(tǒng)可以加入控制流,成為數(shù)據(jù)流圖的擴(kuò)展形式。,64,65,66,3. 行為建模,行為建

32、模給出需求分析方法的所有操作原則,但只有結(jié)構(gòu)化分析方法的擴(kuò)充版本才提供這種建模的符號。狀態(tài)遷移圖Petri網(wǎng),67,1)狀態(tài)遷移圖,例如, 有關(guān)CPU分配的進(jìn)程的狀態(tài)遷移。,68,狀態(tài)遷移圖是描述系統(tǒng)的狀態(tài)如何響應(yīng)外部的事件進(jìn)行推移的一種圖形表示。 “○”表示可得到的系統(tǒng)狀態(tài) “→”表示從一種狀態(tài)向另一種狀態(tài)的遷移。,69,2)Petri網(wǎng),Petri網(wǎng)已廣泛地應(yīng)用于硬件與軟件系統(tǒng)的開發(fā)中,它適用于描述與分析相互獨(dú)立、協(xié)同操作

33、的處理系統(tǒng),也就是并發(fā)執(zhí)行的處理系統(tǒng)。Petri網(wǎng)簡稱PNG (Petri Net Graph),它有兩種結(jié)點(diǎn): 位置:符號“○”,表示系統(tǒng)狀態(tài)。 轉(zhuǎn)移:符號 “|”, 表示系統(tǒng)中的事件。 有向邊“?”表示向轉(zhuǎn)移的輸入,或從轉(zhuǎn)移的輸出。,70,標(biāo)記,或稱令牌 (token),是表明系統(tǒng)當(dāng)前處于什么狀態(tài)的標(biāo)志。Petri網(wǎng)可能的變化有:,71,例如,處理兩個進(jìn)程PR1和PR2的同步問題(此時兩個進(jìn)程共用一個資源R):,72,73

34、,4. 數(shù)據(jù)字典,,數(shù)據(jù)字典是結(jié)構(gòu)化分析方法的核心。與各模型的圖形表示配合,能清楚地表達(dá)數(shù)據(jù)處理的要求詞條描述 —— 對于在模型中每一個被命名的圖形元素,均加以定義,其內(nèi)容有: 名字,別名或編號,分類,描述,定義,位置,其它,等。,74,(1)數(shù)據(jù)流詞條描述數(shù)據(jù)流名:說明:簡要介紹它產(chǎn)生的原因和結(jié)果數(shù)據(jù)流來源:來自何方數(shù)據(jù)流去向:去向何處數(shù)據(jù)流組成:數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)量流通量:數(shù)據(jù)量,流通量,1)詞條描述,75,(2)數(shù)據(jù)

35、元素詞條描述類型:數(shù)字(離散值,連續(xù)值),文字(編碼類型)長度:取值范圍:相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu):(3)數(shù)據(jù)文件詞條描述數(shù)據(jù)文件名:簡述:存放的是什么數(shù)據(jù)輸入數(shù)據(jù):輸出數(shù)據(jù):,76,數(shù)據(jù)文件組成:數(shù)據(jù)結(jié)構(gòu)存儲方式:順序,直接,關(guān)鍵碼存取頻率: (4)加工邏輯詞條描述加工名:加工編號:反映該加工的層次簡要描述:加工邏輯及功能簡述輸入數(shù)據(jù)流:輸出數(shù)據(jù)流:加工邏輯:簡述加工程序,加工順序,77,(5)數(shù)據(jù)源

36、及數(shù)據(jù)譚詞條描述名稱:外部實體名簡要描述:什么外部實體有關(guān)數(shù)據(jù)流:數(shù)目:,78,2)數(shù)據(jù)結(jié)構(gòu)的描述,符 號 含 義 舉 例= 被定義為+ 與 x = a+b[...,...] 或 [...|...] 或

37、 x = [a , b],x = [a | b]{ ... }或 m{...}n 重復(fù) x = {a}, x = 3{a}8(...) 可選 x = (a)“...” 基本數(shù)據(jù)元素 x = “a” .. 連結(jié)符

38、 x = 1..9,79,存折格式,80,存折=戶名+所號+帳號+開戶日+性質(zhì)+(印密)+1{存取行}50戶名=2{字母}24所號=“001”..“999” 帳號=“00000001”..“99999999”開戶日=年+月+日性質(zhì)=“1”..“6” 注:“1”表示普通戶,“5”表示工資戶等印密=“0” 注:印密在存折上不顯示存取行=日期+(摘要)+支出+存入+余額+操作+復(fù)核,81,3)基本加工邏

39、輯說明,,對數(shù)據(jù)流圖的每一個基本加工,必須有一個基本加工邏輯說明?;炯庸み壿嬚f明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則。加工邏輯說明必須描述實現(xiàn)加工的策略而不是實現(xiàn)加工的細(xì)節(jié)。加工邏輯說明中包含的信息應(yīng)是充足的,完備的,有用的,無冗余的。描述加工邏輯說明的工具:結(jié)構(gòu)化語言、決策表、決策樹。,82,(1) 結(jié)構(gòu)化語言,結(jié)構(gòu)化語言是一種偽碼,它的詞匯表由命令動詞數(shù)據(jù)字典中定義的名字有限的自定義詞邏輯關(guān)

40、系詞 IF_THEN_ELSE、SWITCH、WHILE_DO、FOR、DO_WHILE等組成。它是一種介于自然語言和形式化語言之間的語言。用以消除在語法上的歧義性。,83,,語言的正文用基本控制結(jié)構(gòu)進(jìn)行分割,加工中的操作用自然語言短語來表示。其基本控制結(jié)構(gòu)有三種:簡單陳述句結(jié)構(gòu):避免復(fù)合語句;重復(fù)結(jié)構(gòu):while_do、for_do或do_while結(jié)構(gòu)。判定結(jié)構(gòu):if_then_else 或switch_do 結(jié)構(gòu);用結(jié)

41、構(gòu)化語言描述的規(guī)格說明的正文可以在計算機(jī)上編輯,不必過多地考慮語言的在語法上的限制,使得分析員可以集中考慮加工的策略或規(guī)則。,84,商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”,if 發(fā)貨單金額超過$500 then if 欠款超過了60天 then 在償還欠款前不予批準(zhǔn) else (欠款未超期) 發(fā)批準(zhǔn)書,發(fā)貨單 else (發(fā)貨單金額未超過$500)

42、 if 欠款超過60天 then 發(fā)批準(zhǔn)書,發(fā)貨單及賒欠報告 else (欠款未超期) 發(fā)批準(zhǔn)書,發(fā)貨單,85,(2) 決策表,如果數(shù)據(jù)流圖的加工需要依賴于多個邏輯條件的取值,使用決策表來描述比較合適。,,規(guī)則,單個條件,單個動作,86,以“檢查發(fā)貨單”為例,,87,(3) 判定樹,判定樹也是用來表達(dá)加工邏輯的一種工具。有時侯它比判定表更直觀。,,88,這是一種

43、有效駕馭風(fēng)險的技術(shù)。通過原型可以增進(jìn)軟件者和用戶對系統(tǒng)服務(wù)需求的理解,使比較含糊的具有不確定性的軟件需求(主要是功能)明確化??梢匀菀椎卮_定系統(tǒng)的性能,確認(rèn)各項主要系統(tǒng)服務(wù)的可應(yīng)用性,確認(rèn)系統(tǒng)設(shè)計的可行性,確認(rèn)系統(tǒng)作為產(chǎn)品的結(jié)果。有的原型可以直接成為產(chǎn)品,有的略加修改就可成為最終系統(tǒng)的一個組成部分。,四、快速原型化方法,89,探索型: 目的是要弄清對目標(biāo)系統(tǒng)的要求,確定所希望的特性,并探討多種方案的可行性。實驗型:

44、這種原型用于大規(guī)模開發(fā)和實現(xiàn)之前,考核方案是否合適,規(guī)格說明是否可靠。進(jìn)化型: 這種原型的目的不在于改進(jìn)規(guī)格說明,而是將系統(tǒng)建造得易于變化,在改進(jìn)原型的過程中,逐步將原型進(jìn)化成最終系統(tǒng)。,1. 原型分類,90,2. 原型使用策略,軟件原型支持需求工程的兩項活動:需求獲取需求有效性驗證其他用途:用戶培訓(xùn)系統(tǒng)測試原型開發(fā)主要分類:進(jìn)化式原型開發(fā)拋棄式原型開發(fā),91,1)進(jìn)化式原型開發(fā),基本思路是:先給出一個系統(tǒng)的最初

45、實現(xiàn),讓用戶去使用和評價,不斷進(jìn)行細(xì)化和改善,經(jīng)過多次這樣的反復(fù)過程后形成最終的完善的系統(tǒng)。,92,2)拋棄式原型開發(fā),基本思路是:原型的根本作用是弄清楚需求和為風(fēng)險評估提供補(bǔ)充信息。通過評估后,原型被拋棄,重新規(guī)劃和實施系統(tǒng)的開發(fā)。,93,3. 原型開發(fā)技術(shù),可執(zhí)行規(guī)格說明基于場景 (scenario) 的設(shè)計自動程序設(shè)計專用語言可復(fù)用(reusable)的軟件簡化假設(shè),94,1)可執(zhí)行規(guī)格說明,可執(zhí)行規(guī)格說明是用于需求規(guī)格

46、說明的一種自動化技術(shù)。使用這種方法,人們可以直接觀察他們用語言規(guī)定的任何系統(tǒng)性行為。包括代數(shù)規(guī)格說明有限狀態(tài)模型可執(zhí)行的數(shù)據(jù)流圖,95,代數(shù)規(guī)格說明,使用集合、定義于這些集合上的函數(shù)和定義于這些函數(shù)上的方程來描述對象。規(guī)格說明的操作語義用這些方程表示。舉例:定義一個無界的棧及其操作,NEW_STACK:? StackPUSH:Stack,Element ? StackPOP: Stack ? (Element | Undef

47、ined)POP( NEW_STACK ( ) ) = UndefinedPOP( PUSH( Stack,elem) ) = elem,96,有限狀態(tài)模型,parnas提出的使用最廣泛的一種可執(zhí)行規(guī)格說明形式。從一個初始狀態(tài)開始接收輸入,到產(chǎn)生輸出,狀態(tài)在推移變化。施加在狀態(tài)元素上的約束確定了有效狀態(tài)的推移。舉例:建立用戶/程序?qū)υ?97,98,可執(zhí)行的數(shù)據(jù)流圖,數(shù)據(jù)流圖是基于結(jié)構(gòu)化開發(fā)方法的結(jié)構(gòu)化規(guī)格說明。用一種可執(zhí)行的語言

48、程序代替定義處理邏輯的結(jié)構(gòu)化英語,數(shù)據(jù)流圖就成為由可執(zhí)行語言程序模塊組成的網(wǎng)絡(luò),在一定環(huán)境或工具的支持下就可成為一個可以執(zhí)行的原型系統(tǒng)。,99,2)基于場景的設(shè)計,場景是指用戶界面的原型。一個場景用以模擬在系統(tǒng)運(yùn)行期間用戶經(jīng)歷的事件。它提供了輸入─處理─輸出的屏幕格式和有關(guān)對話的模型。因此,軟件開發(fā)人員能夠給用戶顯示系統(tǒng)的逼真的視圖,使用戶得以判斷是否符合他的意圖。分析員與用戶的溝通往往通過演示場景??稍谌我粓鼍爸惺褂靡惶卓蓮?fù)用的

49、軟件模塊,以表達(dá)某一方面的要求。,100,可使用一種原型語言來描述原型系統(tǒng)。原型開發(fā)過程中用這種語言來定義屏幕數(shù)據(jù)項相關(guān)的操作從系統(tǒng)的外部描述開始,開發(fā)與數(shù)據(jù)庫的接口錯誤處理和恢復(fù)過程等系統(tǒng)的與外部視圖一致的細(xì)節(jié)。,101,3)自動程序設(shè)計,在程序自動生成環(huán)境的支持下,利用計算機(jī)實現(xiàn)軟件的開發(fā)??梢宰詣踊虬胱詣拥匕延脩舻姆沁^程式問題規(guī)格說明轉(zhuǎn)換為某種高級語言程序:演繹綜合手段:基于數(shù)學(xué)推理的構(gòu)造式證明。程序變換手段

50、:將一程序轉(zhuǎn)換成另一功能等價的程序,并保持其正確性不變。,102,實例推廣手段:從實例特征出發(fā),將它推廣為待編程序的特征,最后得到程序。過程化手段:研究甚高級語言的編譯和知識的過程化。,103,4)專用語言,專用語言是應(yīng)用領(lǐng)域的模型化語言。在原型開發(fā)中使用專用語言,可方便用戶和軟件開發(fā)者在計劃中的系統(tǒng)特性方面的交流。,104,5)軟件復(fù)用技術(shù),利用可復(fù)用的模塊,做出適當(dāng)?shù)慕M合,就可得到快速構(gòu)造的原型系統(tǒng)。為了快速地構(gòu)造原型,

51、這些模塊必須有簡單而清晰的界面;應(yīng)當(dāng)盡量不依賴其它的模塊或數(shù)據(jù)結(jié)構(gòu);應(yīng)具有一些通用的功能。,105,6)簡化假設(shè),在開發(fā)過程中為使設(shè)計者迅速得到一個簡化的系統(tǒng),可以預(yù)設(shè)一些使得問題簡化的假設(shè)。盡管這些假設(shè)可能實際上并不能成立,但它們在原型開發(fā)過程中可以使開發(fā)者的注意力集中在一些主要的方面。,,106,1. 為什么要采用面向?qū)ο蠹夹g(shù),五、面向?qū)ο蠓治龇椒?系統(tǒng)可維護(hù)性的要求在系統(tǒng)中,功能往往是未來可能變化的因素,而問題領(lǐng)域的實體

52、則不會有太多的變化。將這些實體作為對象構(gòu)建系統(tǒng),可以構(gòu)造一個穩(wěn)定的系統(tǒng)。因為未來的功能變化只需改變對象內(nèi)部的操作的實現(xiàn),修改是局部的。系統(tǒng)可復(fù)用性的需要代碼級的復(fù)用使得開發(fā)者得以利用已有的程序,107,實現(xiàn)新的程序。軟件開發(fā)實踐期望不僅在代碼級,而且在設(shè)計級、框架級,甚至系統(tǒng)級都能夠復(fù)用。面向?qū)ο蠹夹g(shù)中的封裝性、繼承性、類屬性等支持各種級別的復(fù)用。同一類中所有實例共享數(shù)據(jù)結(jié)構(gòu)和行為特征;同一應(yīng)用中所有實例通過繼承共享數(shù)據(jù)結(jié)構(gòu)和

53、行為特征;不同應(yīng)用中所有實例通過復(fù)用共享數(shù)據(jù)結(jié)構(gòu)和行為特征。程序無關(guān)性的期望,108,任何機(jī)器環(huán)境下,使用任意程序語言所編的程序,希望都能夠通用。與機(jī)器相關(guān)的成分應(yīng)該與處理邏輯無關(guān)。面向?qū)ο蠓椒ú捎脤ο螅惖膶嵗┳鳛橄到y(tǒng)的基本構(gòu)造單位。類的多態(tài)性以及動態(tài)綁定技術(shù),是面向?qū)ο蠓椒ㄓ袆e于結(jié)構(gòu)化方法的實質(zhì)性突破。它提倡接口和實現(xiàn)分開的設(shè)計理念并提供程序機(jī)制,為程序無關(guān)性的理想奠定了基礎(chǔ)。,109,2. 什么是面向?qū)ο?Peter

54、Coad 和 Edward Yourdon 提出面向?qū)ο蠓椒ǖ母拍睿?面向?qū)ο?= 對象 + 分類 + 繼承(inheritance) + 消息通信(communication with messages)采用這四個概念開發(fā)的軟件系統(tǒng)是面向?qū)ο蟮摹?。一個面向?qū)ο蟮某绦虻拿恳怀煞輵?yīng)是對象,計算是通過新的對象的建立和對象之間的通信來執(zhí)行的。,110,1)對象(object),對象是

55、系統(tǒng)中用來描述客觀事物的一個實體,是構(gòu)成系統(tǒng)的一個基本單位,由一組屬性和一組對屬性進(jìn)行操作的服務(wù)組成。對象 = 對象名+數(shù)據(jù)(屬性)+操作(行為)屬性一般只能通過執(zhí)行對象的操作來改變。操作又稱為方法或服務(wù),它描述了對象執(zhí)行的功能,若通過消息傳遞,還可以為其他對象使用。,111,計算機(jī)窗口中的三個多邊形,112,表示多邊形的三個對象,113,2)類(classification),把具有相同特征(屬性)和行為(操作)的對象歸在一

56、起就形成了類 (class) 。類的定義包括一組數(shù)據(jù)屬性和在數(shù)據(jù)上的一組合法操作。在一個類中,每個對象都是類的實例(Instance),它們都可使用類中的函數(shù)。類定義了各個實例所共有的結(jié)構(gòu),使用類的構(gòu)造函數(shù),可以在創(chuàng)建該類的實例時初始化這個實例的狀態(tài)(實例變量)。,114,由兩個四邊形對象導(dǎo)出一個類,115,3)消息(messages),消息是一個實例與另一個實例之間傳遞的信息,要求該實例執(zhí)行類中定義的某個操作。消息的使用類似于

57、函數(shù)調(diào)用,消息中指定了某一個實例,一個操作名和一個參數(shù)表 (可能是空的)。接收消息的實例執(zhí)行消息中指定的操作,并將形式參數(shù)與參數(shù)表中相應(yīng)的實參值結(jié)合起來。消息有 4 類:發(fā)送對象激活接收對象;發(fā)送對象傳送信息給接收對象;發(fā)送對象詢問接收對象;發(fā)送對象請求接收對象提供服務(wù)。,116,4)繼承(inheritance),類與類之間可能具有的一般化和特殊化關(guān)系:即 “is-a”關(guān)系,特殊化類是一般化類的子類,一般化類是特殊化類的父類。在這

58、種關(guān)系下形成一種層次的關(guān)聯(lián)。這就是繼承關(guān)系。,117,繼承是父類和子類之間共享數(shù)據(jù)和方法的機(jī)制。在定義和實現(xiàn)一個類時,可以在一個現(xiàn)成的類的基礎(chǔ)上來進(jìn)行,把這個現(xiàn)成類所定義的內(nèi)容作為自己的內(nèi)容,并加入若干新的內(nèi)容。,118,分類只從一個父類得到繼承,叫做“單重繼承”。一個子類有兩個或更多個父類,則稱“多重繼承”。,多(重)繼承,單(重)繼承,119,5)多態(tài),不同的對象對同一消息有不同的實現(xiàn)。多態(tài)的實現(xiàn)受到繼承的支持:利用類的繼承的

59、層次關(guān)系,把具有通用功能的消息存放在高層次,而不同的實現(xiàn)這一功能的行為放在較低層次,在這些低層次上生成的對象能夠給通用消息以不同的響應(yīng)。參數(shù)多態(tài):即模板化的多態(tài),通過參數(shù)代換確定所用的數(shù)據(jù)類型。包含多態(tài):常見的例子就是子類型化,即一個類型是另一個類型的子類型。,120,3. 面向?qū)ο蠓治觯∣OA),面向?qū)ο蠓治觯∣bject-Oriented Analysis),簡稱OOA。OOA的目的:理解應(yīng)用問題;確定系統(tǒng)的功能、性能要求

60、。面向?qū)ο蠓治龇ㄅc結(jié)構(gòu)化分析法之間的差別:結(jié)構(gòu)化分析方法中的E-R圖,關(guān)注實體的屬性和相互間的關(guān)系;而面向?qū)ο蟮姆治?,除此之外還要關(guān)注實體的行為。,121,結(jié)構(gòu)化分析的數(shù)據(jù)流圖,將數(shù)據(jù)和加工處理分開;而面向?qū)ο蟮姆治鍪菍?shù)據(jù)實體和他們的處理動作視為不可分割的整體來考慮的。結(jié)構(gòu)化分析方法建造系統(tǒng)的元素是基于功能,或加工處理的;而面向?qū)ο蠓治龇椒ńㄔ煜到y(tǒng)的基本元素是封裝了操作的對象類。因此,面向?qū)ο蟮慕Y(jié)果比較容易理解和管理,便于修改

61、,早期階段的修改容易提高軟件的可靠性。,122,4. 面向?qū)ο蠓治龅幕顒?發(fā)現(xiàn)合適的對象類和對象的標(biāo)識類和對象的細(xì)化標(biāo)識結(jié)構(gòu)標(biāo)識主題標(biāo)識屬性標(biāo)識實例連接標(biāo)識服務(wù)和消息,123,1)發(fā)現(xiàn)合適的對象,面向?qū)ο蠹夹g(shù)應(yīng)能顯著提高軟件開發(fā)的質(zhì)量和生產(chǎn)率,但這種好處只有在正確標(biāo)識了對象集合的基礎(chǔ)上才能得以實現(xiàn)。沒有一個規(guī)范的建立對象的方法,軟件開發(fā)人員只能盲目地建立對象。,發(fā)現(xiàn)對象的方法,對象存儲數(shù)據(jù)并具有職能(即服務(wù))。傳統(tǒng)的系統(tǒng)

62、分析工具的主要功能是定義數(shù)據(jù)或說明處理,對發(fā)現(xiàn)對象具有非常重要的作用。,124,有 3 種非常有用的傳統(tǒng)系統(tǒng)分析工具:數(shù)據(jù)流圖、實體關(guān)系圖以及狀態(tài)遷移圖,涉及了系統(tǒng)的 3 個不同的、相互獨(dú)立的方面(處理過程、數(shù)據(jù)和控制),稱為三視圖模型 3VM (3-View Modeling)。對象是與應(yīng)用領(lǐng)域的有關(guān)概念緊密結(jié)合在一起的。概念的處理主要是基于自然語言:書面語或口語。 將語言規(guī)則應(yīng)用到軟件系統(tǒng)分析中的處理方法稱為基于語言的信息分

63、析(Linguistic-based Information Analysis,簡稱LIA)。,125,3VM和LIA有別于且獨(dú)立于面向?qū)ο蠓治?,這些技術(shù)的應(yīng)用是一個不斷反復(fù)的過程。目的就是在實際應(yīng)用中最大限度地降低對象標(biāo)識的主觀性。將3VM和LIA應(yīng)用于發(fā)現(xiàn)對象的過程見圖。,126,(1) 三視圖模型(3VM),實體關(guān)系模型實體關(guān)系圖(ERD)是OOA的一個有力的前哨。實體很有可能成為對象;實體的屬性則表示成最終要由對象進(jìn)行存

64、儲的數(shù)據(jù);實體之間的關(guān)系有可能將建立“關(guān)聯(lián)對象”。表示關(guān)系(連接)的基數(shù),以及因果條件可能成為維持這些關(guān)系的服務(wù)。ERD的問題:標(biāo)識的實體可能與應(yīng)用領(lǐng)域概念無關(guān);對于那些不存儲數(shù)據(jù)的對象顯得無能為力。,127,數(shù)據(jù)流模型 有兩種形式的數(shù)據(jù)流模型上下文圖 確定一個全局的系統(tǒng)邊界;外部實體就是候選對象;對象集合都必須闡明這些上下文圖中的數(shù)據(jù)流是如何被接收、處理及生成的。分層的數(shù)據(jù)流圖待開發(fā)系統(tǒng)的功能可分解成

65、為一些基本單元,這些基本單元可看成是基本處理規(guī)格說明(PPSs) 。PPSs最后必須對應(yīng)于對象的方法或服務(wù)。,128,狀態(tài)遷移模型 有兩種形式的狀態(tài)遷移模型:事件響應(yīng)模型標(biāo)識出系統(tǒng)必須識別的所發(fā)生的每一個 事件,以及系統(tǒng)必須作出的預(yù)期響應(yīng)的事件;標(biāo)識一系列的識別事件的對象、產(chǎn)生響應(yīng)的對象。 狀態(tài)遷移圖能標(biāo)識事件識別對象和對事件產(chǎn)生響應(yīng)的對象;有助于標(biāo)識保存狀態(tài)信息的屬性。注意:并非所有3VM工具對每個系統(tǒng)都是有用

66、的。,129,(2) 基于語言的信息分析(LIA),3VM技術(shù)并不能專門用于指導(dǎo)正確地標(biāo)識出新系統(tǒng)的對象集合?;谡Z言的信息分析(LIA)在發(fā)現(xiàn)對象方面給出了大量的指導(dǎo)。LIA的目的是標(biāo)識出應(yīng)用領(lǐng)域的概念空間及這些概念之間的關(guān)系。有兩種十分有效的LIA技術(shù):短語頻率分析 (Phrase Frequency Analysis,簡稱PFA)矩陣分析 (Matrix Analysis,簡稱MA ),130,a. 短語頻率分析(P

67、FA),短語頻率分析搜索選定的問題陳述(資源文本),標(biāo)識可以表示問題領(lǐng)域概念的術(shù)語。PFA是標(biāo)識概念而不是標(biāo)識語法單元。PFA清單的建立基本上是一個客觀的過程,甚至可以自動處理。但可能大多數(shù)標(biāo)識出來的概念是與目標(biāo)系統(tǒng)無關(guān)的。PFA的優(yōu)點(diǎn)就在于能廣泛地標(biāo)識問題領(lǐng)域的概念集合,并對它們進(jìn)行評估,判定哪些與目標(biāo)軟件無關(guān)。,131,,,,,,,,,,,,,,,,,,,associated site,constituent copies,d

68、epartment, corporate,,,,,,,,,,,,,,,,,,,,,,,,,author,continued subscription,direct subscription,,,,,,,,,,,,,,,,,,,,,,,,,author, contributing,contributing author,discount, subscription,,,,,,,,,,,,,,,,,,,,,,,,,,…,,…,,,,,,,,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論