




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
主講:龍亞第3章需求分析1/31/20231信息工程學(xué)院一、教學(xué)目的掌握需求分析的任務(wù),需求獲取的方法、分析建模與需求規(guī)格說明,掌握數(shù)據(jù)建模的實(shí)體聯(lián)系圖、數(shù)據(jù)規(guī)范化,掌握描述系統(tǒng)行為模型的狀態(tài)轉(zhuǎn)換圖,掌握層次方框圖、Warnier圖、IPO(HIPO)圖。掌握驗(yàn)證軟件需求的必要性、方法。1/31/20232信息工程學(xué)院二、教學(xué)重點(diǎn)1.需求分析的任務(wù),需求獲取、分析建模與需求規(guī)格說明;2.實(shí)體聯(lián)系圖以及其他圖形工具三、教學(xué)難點(diǎn)1.實(shí)體聯(lián)系圖2.需求分析建模1/31/20233信息工程學(xué)院3.1需求分析的任務(wù)3.2需求分析的步驟3.3結(jié)構(gòu)化分析方法3.4需求分析圖形工具3.5軟件需求規(guī)格說明書3.6圖書管理系統(tǒng)需求分析1/31/20234信息工程學(xué)院IEEE(國際電子電器工程)軟件工程標(biāo)準(zhǔn)詞匯表(1997年)中定義需求為:(1)用戶解決問題或達(dá)到目標(biāo)所需的條件或權(quán)能(Capability)。(2)系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或其它正式規(guī)定文檔所需具有的條件或權(quán)能。(3)一種反映上面(1)或(2)所描述的條件或權(quán)能的文檔說明。準(zhǔn)確、完整和規(guī)范化的軟件需求是軟件開發(fā)成功的關(guān)鍵。軟件項(xiàng)目中40%-60%的問題都是在需求階段埋下的禍根主要障礙:用戶對應(yīng)用問題的理解、描述以及他們對目標(biāo)軟件的需求往往具有片面性、模糊性,甚至不一致性什么是需求?1/31/20235信息工程學(xué)院不適當(dāng)?shù)男枨筮^程所引起的一些風(fēng)險(xiǎn):調(diào)研的用戶不多,導(dǎo)致產(chǎn)品無法被接受用戶需求的增加帶來過度的耗費(fèi)和降低產(chǎn)品的質(zhì)量模棱兩可的需求說明可能導(dǎo)致時(shí)間的浪費(fèi)和返工用戶增加一些不必要的特性和開發(fā)人員畫蛇添足(gold-plating)過分簡略的需求說明以致遺漏某些關(guān)鍵需求忽略某類用戶的需求將導(dǎo)致眾多客戶的不滿不完善的需求說明使得項(xiàng)目計(jì)劃和跟蹤無法準(zhǔn)確進(jìn)行1/31/20236信息工程學(xué)院軟件需求是指用戶對軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。通過對應(yīng)用問題及其環(huán)境的理解與分析,為問題涉及的信息、功能及系統(tǒng)行為建立模型,將用戶需求精確化、完全化,最終形成需求規(guī)格說明書。需求分析是介于系統(tǒng)分析和軟件設(shè)計(jì)階段之間的重要橋梁。1/31/20237信息工程學(xué)院為什么要需求分析
需求分析就是分析軟件用戶的需求是什么.如果投入大量的人力,物力,財(cái)力,時(shí)間,開發(fā)出的軟件卻沒人要,那所有的投入都是徒勞.如果費(fèi)了很大的精力,開發(fā)一個(gè)軟件,最后卻不滿足用戶的要求,從而要重新開發(fā)過,這種返工是讓人痛心疾首的需求分析之所以重要,就因?yàn)樗哂袥Q策性,方向性,策略性的作用,他在軟件開發(fā)的過程中具有舉足輕重的地位.在一個(gè)大型軟件系統(tǒng)的開發(fā)中,他的作用要遠(yuǎn)遠(yuǎn)大于程序設(shè)計(jì).1/31/20238信息工程學(xué)院需求分析是指理解用戶需求,就軟件功能與客戶達(dá)成一致,估計(jì)軟件風(fēng)險(xiǎn)和評估項(xiàng)目代價(jià),最終形成開發(fā)計(jì)劃的一個(gè)復(fù)雜過程。(微軟的需求分析大多是市場人員和用戶協(xié)助小組的人去評估用戶的接受程度)在軟件工程中,需求分析指的是在建立一個(gè)新的或改變一個(gè)現(xiàn)存的電腦系統(tǒng)時(shí)描寫新系統(tǒng)的目的、范圍、定義和功能時(shí)所要做的所有的工作。需求分析是軟件工程中的一個(gè)關(guān)鍵過程。在這個(gè)過程中,系統(tǒng)分析員和軟件工程師確定顧客的需要。只有在確定了這些需要后他們才能夠分析和尋求新系統(tǒng)的解決方法。需求分析階段的任務(wù)是確定軟件系統(tǒng)功能。1/31/20239信息工程學(xué)院需求分析的特點(diǎn)
需求分析是一項(xiàng)重要的工作,也是最困難的工作。該階段工作有以下特點(diǎn):(1)用戶與開發(fā)人員很難進(jìn)行交流在軟件生存周期中,其它四個(gè)階段都是面向軟件技術(shù)問題,只有本階段是面向用戶的。需求分析是對用戶的業(yè)務(wù)活動(dòng)進(jìn)行分析,明確在用戶的業(yè)務(wù)環(huán)境中軟件系統(tǒng)應(yīng)該“做什么”。但是在開始時(shí),開發(fā)人員和用戶雙方都不能準(zhǔn)確地提出系統(tǒng)要“做什么?”。因?yàn)檐浖_發(fā)人員不是用戶問題領(lǐng)域的專家,不熟悉用戶的業(yè)務(wù)活動(dòng)和業(yè)務(wù)環(huán)境,又不可能在短期內(nèi)搞清楚;而用戶不熟悉計(jì)算機(jī)應(yīng)用的有關(guān)問題。由于雙方互相不了解對方的工作,又缺乏共同語言,所以在交流時(shí)存在著隔閡。1/31/202310信息工程學(xué)院(2)用戶的需求是動(dòng)態(tài)變化的對于一個(gè)大型而復(fù)雜的軟件系統(tǒng),用戶很難精確完整地提出它的功能和性能要求。一開始只能提出一個(gè)大概、模糊的功能,只有經(jīng)過長時(shí)間的反復(fù)認(rèn)識(shí)才逐步明確。有時(shí)進(jìn)入到設(shè)計(jì)、編程階段才能明確,更有甚者,到開發(fā)后期還在提新的要求。這無疑給軟件開發(fā)帶來困難。(3)系統(tǒng)變更的代價(jià)呈非線性增長需求分析是軟件開發(fā)的基礎(chǔ)。假定在該階段發(fā)現(xiàn)一個(gè)錯(cuò)誤,解決它需要用一小時(shí)的時(shí)間,到設(shè)計(jì)、編程、測試和維護(hù)階段解決,則要花2.5、5、25、100倍的時(shí)間。1/31/202311信息工程學(xué)院需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么?”這個(gè)問題。需求分析的任務(wù)還不是確定系統(tǒng)怎樣完成它的工作,而僅僅是確定系統(tǒng)必須完成哪些工作,也就是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。在需求分析階段結(jié)束之前,系統(tǒng)分析員應(yīng)該寫出軟件需求規(guī)格說明書,以書面形式準(zhǔn)確地描述軟件需求。1/31/202312信息工程學(xué)院需求分析可分為問題分析、需求描述及需求評審三個(gè)階段在問題分析階段:分析人員通過對問題及其環(huán)境的理解、分析、綜合,清除用戶需求的模糊性、歧義性和不一致性,并在用戶的幫助下對相互沖突的要求進(jìn)行折衷。需求描述階段的主要任務(wù)是,以需求模型為基礎(chǔ),考慮到問題的軟件可解性,生成需求規(guī)格說明書和初步的用戶手冊。在需求評審階段:分析人員要在用戶和軟件設(shè)計(jì)人員的配合下對自己生成的需求規(guī)格說明書和初步的用戶手冊進(jìn)行復(fù)核,以確保軟件需求的全面性、精確性和一致性,并使用戶和軟件設(shè)計(jì)人員對需求規(guī)格說明及用戶手冊的理解達(dá)成一致,一旦發(fā)現(xiàn)遺漏或模糊點(diǎn),必須盡快更正,再行檢查。1/31/202313信息工程學(xué)院所有這些分析方法都遵守下述準(zhǔn)則:(1)必須理解并描述問題的信息域,根據(jù)這條準(zhǔn)則應(yīng)該建立數(shù)據(jù)模型。(2)必須定義軟件應(yīng)完成的功能,這條準(zhǔn)則要求建立功能模型。(3)必須描述作為外部事件結(jié)果的軟件行為,這條準(zhǔn)則要求建立行為模型。(4)必須對描述信息、功能和行為的模型進(jìn)行分解,用層次的方式展示細(xì)節(jié)。1/31/202314信息工程學(xué)院3.1需求分析的任務(wù)3.1.1確定對系統(tǒng)的綜合要求3.1.2分析系統(tǒng)的數(shù)據(jù)要求3.1.3導(dǎo)出系統(tǒng)的邏輯模型3.1.4修正系統(tǒng)開發(fā)計(jì)劃1/31/202315信息工程學(xué)院軟件需求分析:對應(yīng)用問題及環(huán)境的理解和分析,為問題涉及的信息、功能及系統(tǒng)行為建立模型。將用戶需求精確化、完全化,最終形成需求規(guī)格說明書分析目標(biāo):準(zhǔn)確理解用戶的要求,進(jìn)行細(xì)致的調(diào)查分析,將用戶的非形式的要求轉(zhuǎn)化為完整的需求定義,再將需求定義轉(zhuǎn)換為相應(yīng)的形式化的規(guī)格說明1/31/202316信息工程學(xué)院深入描述軟件的功能和性能,確定軟件的設(shè)計(jì)約束、軟件同其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求一方面必須全部理解用戶的各項(xiàng)要求但又不能全盤接受;另一方面要準(zhǔn)確表達(dá)被接受的要求。只有經(jīng)過確切描述的軟件需求才能成為軟件設(shè)計(jì)的基礎(chǔ)1/31/202317信息工程學(xué)院需求分析階段要解決的問題,是讓用戶和開發(fā)者共同明確將要開發(fā)的是一個(gè)什么樣的系統(tǒng)。主要兩個(gè)任務(wù)(1)通過對問題及其環(huán)境的理解、分析和綜合,建立分析模型(AnalysisModel)。(2)在完全地弄清用戶對軟件系統(tǒng)的確切要求的基礎(chǔ)上,用“軟件需求規(guī)格說明書把用戶的需求表達(dá)出來。1/31/202318信息工程學(xué)院3.1.1確定對系統(tǒng)的綜合要求功能需求性能需求可靠性和可用性需求出錯(cuò)處理需求接口需求約束逆向需求將來可能提出的要求1/31/202319信息工程學(xué)院3.1.2分析系統(tǒng)的數(shù)據(jù)要求任何一個(gè)軟件系統(tǒng)本質(zhì)上都是信息處理系統(tǒng),系統(tǒng)必須處理的信息和系統(tǒng)應(yīng)該產(chǎn)生的信息在很大程度上決定了系統(tǒng)的面貌,對軟件設(shè)計(jì)有深遠(yuǎn)影響,因此,必須分析系統(tǒng)的數(shù)據(jù)要求,這是軟件需求分析的一個(gè)重要任務(wù)。分析系統(tǒng)的數(shù)據(jù)要求通常采用建立數(shù)據(jù)模型的方法。為了提高可理解性,常常利用圖形工具輔助描繪數(shù)據(jù)結(jié)構(gòu)。常用的圖形工具有層次方框圖和Warnier圖。1/31/202320信息工程學(xué)院導(dǎo)出系統(tǒng)的詳細(xì)的邏輯模型,通常用數(shù)據(jù)流圖、實(shí)體-聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典和主要的處理算法描述這個(gè)邏輯模型。建模的基本目標(biāo)如下:描述用戶需求;為軟件的設(shè)計(jì)奠定基礎(chǔ)定義一組需求,用于驗(yàn)收軟件產(chǎn)品3.1.3導(dǎo)出系統(tǒng)的邏輯模型1/31/202321信息工程學(xué)院比較準(zhǔn)確地估計(jì)系統(tǒng)的成本和進(jìn)度,修正以前制定的開發(fā)計(jì)劃。3.1.4修正系統(tǒng)開發(fā)計(jì)劃1/31/202322信息工程學(xué)院3.2需求分析的步驟需求分析階段的工作,可以分為四個(gè)方面:問題識(shí)別,分析與綜合,制訂規(guī)格說明,評審.1/31/202323信息工程學(xué)院獲取需求,識(shí)別問題就是從系統(tǒng)角度來理解軟件,確定對所開發(fā)系統(tǒng)的綜合要求,并提出這些需求的實(shí)現(xiàn)條件,以及需求應(yīng)該達(dá)到的標(biāo)準(zhǔn)。這些需求包括:功能需求(做什么),性能需求(要達(dá)到什么指標(biāo)),環(huán)境需求(如機(jī)型,操作系統(tǒng)等),可靠性需求(不發(fā)生故障的概率),安全保密需求,用戶界面需求,資源使用需求(軟件運(yùn)行是所需的內(nèi)存,CPU等),軟件成本消耗與開發(fā)進(jìn)度需求,預(yù)先估計(jì)以后系統(tǒng)可能達(dá)到的目標(biāo)。1/31/202324信息工程學(xué)院對質(zhì)量的要求,包括性能、有效性、可靠性、可用性和設(shè)計(jì)約束等,提高用戶對軟件的滿足程度如果客戶的要求和已有產(chǎn)品很相似,則需要考慮可否復(fù)用一些已有的軟件組件1/31/202325信息工程學(xué)院分析與綜合(需求提煉:分析建模)分析人員應(yīng)了解問題及環(huán)境,應(yīng)與用戶合作清除用戶需求的模糊性、岐義性和不一致性,并對相互沖突的需求進(jìn)行折衷分析人員與用戶合作對問題進(jìn)行分析、綜合,結(jié)合軟件的特點(diǎn)及開發(fā)經(jīng)驗(yàn),尋求軟件需求1/31/202326信息工程學(xué)院為用戶的問題及準(zhǔn)備開發(fā)的軟件建立模型,從不同的角度、不同的抽象級(jí)別精確地說明對問題的理解、對目標(biāo)軟件的需求更好地理解復(fù)雜事物,人們常常采用建立事物模型的方法。所謂模型,就是為了理解事物而對事物做出的一種抽象,是對事物的一種無歧義的書面描述。通常,模型由一組圖形符號(hào)和組織這些符號(hào)的規(guī)則組成。結(jié)構(gòu)化分析實(shí)質(zhì)上是一種創(chuàng)建模型的活動(dòng)。圖形化的分析模型是說明軟件需求極好的手段,常用的模型包括數(shù)據(jù)流圖、實(shí)體關(guān)系圖、控制流圖、狀態(tài)轉(zhuǎn)換圖、用例圖、類對象關(guān)系及其行為圖文圖等。有些軟件還需要繪制系統(tǒng)關(guān)聯(lián)圖、創(chuàng)建用戶接口原型、確定需求優(yōu)先級(jí)別1/31/202327信息工程學(xué)院建立分析模型由于用戶群體的各個(gè)用戶往往會(huì)從不同的角度闡述他們對原始問題的理解和對目標(biāo)軟件的需求,分析模型是描述軟件需求的一組模型。一方面用于精確地記錄用戶對原始問題和目標(biāo)軟件的描述另一方面,它也將幫助分析人員發(fā)現(xiàn)用戶需求中的不一致性,排除不合理的部分,挖掘潛在的用戶需求這種模型往往包含問題及其環(huán)境所涉及的信息流、處理功能、用戶界面、行為模型及設(shè)計(jì)約束等。是形成需求說明、進(jìn)行軟件設(shè)計(jì)與實(shí)現(xiàn)的基礎(chǔ)1/31/202328信息工程學(xué)院建立軟件模型是分析活動(dòng)的關(guān)鍵目標(biāo)軟件系統(tǒng)的模型用來刻劃系統(tǒng)所涉及的信息、處理功能及系統(tǒng)運(yùn)行時(shí)的外部行為模型不應(yīng)涉及軟件實(shí)現(xiàn)細(xì)節(jié),這樣會(huì)分散分析人員的注意力,限制軟件設(shè)計(jì)人員的聰明才智分析人員應(yīng)以簡潔、準(zhǔn)確、清晰的方式,系統(tǒng)地描述軟件需求模型,如選擇圖形符號(hào)表示信息流、處理功能及系統(tǒng)行為,利用受限的自然語言給出用戶需求描述為了處理大型問題,模型表示機(jī)制應(yīng)具備良好的結(jié)構(gòu)化能力1/31/202329信息工程學(xué)院需求分析過程應(yīng)該建立3種模型,它們分別是數(shù)據(jù)模型、功能模型和行為模型。實(shí)體-聯(lián)系圖:描繪數(shù)據(jù)對象及數(shù)據(jù)對象之間的關(guān)系,是用于建立數(shù)據(jù)模型的圖形。數(shù)據(jù)流圖:描繪當(dāng)數(shù)據(jù)在軟件系統(tǒng)中移動(dòng)時(shí)被變換的邏輯過程,指明系統(tǒng)具有的變換數(shù)據(jù)的功能,是建立功能模型的基礎(chǔ)。狀態(tài)轉(zhuǎn)換圖(簡稱為狀態(tài)圖),指明了作為外部事件結(jié)果的系統(tǒng)行為,是行為建模的基礎(chǔ)。1/31/202330信息工程學(xué)院編寫SRS(需求描述)以需求模型為基礎(chǔ),考慮到軟件問題的可解性,生成需求規(guī)格說明和初步的用戶手冊(需求規(guī)格說明)。需求規(guī)格說明包含對目標(biāo)軟件系統(tǒng)的外部行為的完整描述、需求驗(yàn)證標(biāo)準(zhǔn)以及用戶在性能、質(zhì)量、可維護(hù)性等方面的要求。初步用戶手冊包括用戶界面描述以及有關(guān)目標(biāo)軟件使用方法的初步構(gòu)想。1/31/202331信息工程學(xué)院軟件需求規(guī)格說明(數(shù)據(jù)要求、功能需求、性能需求、可靠性和可用性要求、出錯(cuò)處理需求、接口需求、約束、逆向需求以及將來可能提出的要求)通過需求分析除了創(chuàng)建分析模型之外,還應(yīng)該寫出軟件需求規(guī)格說明書,它是需求分析階段得出的最主要的文檔。軟件需求規(guī)格說明1/31/202332信息工程學(xué)院編寫需求說明應(yīng)該具有準(zhǔn)確性和一致性。它是連接計(jì)劃時(shí)期和開發(fā)時(shí)期的橋梁,也是軟件設(shè)計(jì)的依據(jù)。應(yīng)該具有清晰性和無二義性。它是溝通用戶和系統(tǒng)分析員思想的媒介,雙方要用它來表達(dá)對于需要計(jì)算機(jī)解決的問題的共同理解。應(yīng)該直觀、易讀和易于修改。應(yīng)盡量采用標(biāo)準(zhǔn)的圖形、表格和簡單的符號(hào)來表示,使不熟悉計(jì)算機(jī)的用戶也能一目了然。1/31/202333信息工程學(xué)院文檔遵循規(guī)范,內(nèi)容全面、結(jié)構(gòu)清晰、措辭準(zhǔn)確、格式嚴(yán)謹(jǐn)將初步用戶手冊作為分析文檔,有助于分析人員從用戶角度考慮軟件需求,并鼓勵(lì)用戶盡早參予軟件開發(fā)活動(dòng)
必須使用統(tǒng)一格式的文檔進(jìn)行描述。為了使需求描述具有統(tǒng)一的風(fēng)格,可以采用已有的且可滿足項(xiàng)目需要的模板,如IEEE標(biāo)準(zhǔn)830-1998和GB9385中描述的SRS模板1/31/202334信息工程學(xué)院需求評審分析人員在用戶和軟件設(shè)計(jì)人員的配合下,對自己生成的需求規(guī)格說明和初步的用戶手冊進(jìn)行評審,確保軟件需求的完全性、精確性和一致性,并使用戶和軟件設(shè)計(jì)人員對需求規(guī)格說明及用戶手冊的理解達(dá)成一致。需求規(guī)格說明得到用戶和軟件開發(fā)方的確認(rèn)后,應(yīng)成為用戶方與軟件開發(fā)方合同的一部分。1/31/202335信息工程學(xué)院需求分析的原則和方法原則能夠表達(dá)和理解問題的信息域和功能域能夠?qū)栴}進(jìn)行分解和不斷細(xì)化,建立問題的層次結(jié)構(gòu)需要給出系統(tǒng)的邏輯視圖和物理視圖1/31/202336信息工程學(xué)院方法步驟⑴首先調(diào)查組織機(jī)構(gòu)情況包括了解該組織的部門組成情況,各部門的職能等,為分析信息流程作準(zhǔn)備。⑵然后調(diào)查各部門的業(yè)務(wù)活動(dòng)情況包括了解各個(gè)部門輸入和使用什么數(shù)據(jù),如何加工處理這些數(shù)據(jù),輸出什么信息,輸出到什么部門,輸出結(jié)果的格式是什么。⑶協(xié)助用戶明確對新系統(tǒng)的各種要求包括信息要求、處理要求、完全性與完整性要求。⑷確定新系統(tǒng)的邊界確定哪些功能由計(jì)算機(jī)完成或?qū)頊?zhǔn)備讓計(jì)算機(jī)完成,哪些活動(dòng)由人工完成。由計(jì)算機(jī)完成的功能就是新系統(tǒng)應(yīng)該實(shí)現(xiàn)的功能。1/31/202337信息工程學(xué)院需求分析的20條法則
(摘自軟件工程專家網(wǎng))客戶與開發(fā)人員交流需要好的方法。下面建議20條法則,客戶和開發(fā)人員可以通過評審以下內(nèi)容并達(dá)成共識(shí)。如果遇到分歧,將通過協(xié)商達(dá)成對各自義務(wù)的相互理解,以便減少以后的磨擦(如一方要求而另一方不愿意或不能夠滿足要求)。1、分析人員要使用符合客戶語言習(xí)慣的表達(dá)需求討論集中于業(yè)務(wù)需求和任務(wù),因此要使用術(shù)語??蛻魬?yīng)將有關(guān)術(shù)語(例如:采價(jià)、印花商品等采購術(shù)語)教給分析人員,而客戶不一定要懂得計(jì)算機(jī)行業(yè)的術(shù)語。1/31/202338信息工程學(xué)院2、分析人員要了解客戶的業(yè)務(wù)及目標(biāo)只有分析人員更好地了解客戶的業(yè)務(wù),才能使產(chǎn)品更好地滿足需要。這將有助于開發(fā)人員設(shè)計(jì)出真正滿足客戶需要并達(dá)到期望的優(yōu)秀軟件。為幫助開發(fā)和分析人員,客戶可以考慮邀請他們觀察自己的工作流程。如果是切換新系統(tǒng),那么開發(fā)和分析人員應(yīng)使用一下目前的舊系統(tǒng),有利于他們明白目前系統(tǒng)是怎樣工作的,其流程情況以及可供改進(jìn)之處。1/31/202339信息工程學(xué)院3、分析人員必須編寫軟件需求報(bào)告分析人員應(yīng)將從客戶那里獲得的所有信息進(jìn)行整理,以區(qū)分業(yè)務(wù)需求及規(guī)范、功能需求、質(zhì)量目標(biāo)、解決方法和其他信息。通過這些分析,客戶就能得到一份“需求分析報(bào)告”,此份報(bào)告使開發(fā)人員和客戶之間針對要開發(fā)的產(chǎn)品內(nèi)容達(dá)成協(xié)議。報(bào)告應(yīng)以一種客戶認(rèn)為易于翻閱和理解的方式組織編寫??蛻粢u審此報(bào)告,以確保報(bào)告內(nèi)容準(zhǔn)確完整地表達(dá)其需求。一份高質(zhì)量的“需求分析報(bào)告”有助于開發(fā)人員開發(fā)出真正需要的產(chǎn)品。1/31/202340信息工程學(xué)院4、要求得到需求工作結(jié)果的解釋說明分析人員可能采用了多種圖表作為文字性“需求分析報(bào)告”的補(bǔ)充說明,因?yàn)楣ぷ鲌D表能很清晰地描述出系統(tǒng)行為的某些方面,所以報(bào)告中各種圖表有著極高的價(jià)值;雖然它們不太難于理解,但是客戶可能對此并不熟悉,因此客戶可以要求分析人員解釋說明每個(gè)圖表的作用、符號(hào)的意義和需求開發(fā)工作的結(jié)果,以及怎樣檢查圖表有無錯(cuò)誤及不一致等。1/31/202341信息工程學(xué)院5、開發(fā)人員要尊重客戶的意見如果用戶與開發(fā)人員之間不能相互理解,那關(guān)于需求的討論將會(huì)有障礙。共同合作能使大家“兼聽則明”。參與需求開發(fā)過程的客戶有權(quán)要求開發(fā)人員尊重他們并珍惜他們?yōu)轫?xiàng)目成功所付出的時(shí)間,同樣,客戶也應(yīng)對開發(fā)人員為項(xiàng)目成功這一共同目標(biāo)所做出的努力表示尊重。1/31/202342信息工程學(xué)院6、開發(fā)人員要對需求及產(chǎn)品實(shí)施提出建議和解決方案通??蛻羲f的“需求”已經(jīng)是一種實(shí)際可行的實(shí)施方案,分析人員應(yīng)盡力從這些解決方法中了解真正的業(yè)務(wù)需求,同時(shí)還應(yīng)找出已有系統(tǒng)與當(dāng)前業(yè)務(wù)不符之處,以確保產(chǎn)品不會(huì)無效或低效;在徹底弄清業(yè)務(wù)領(lǐng)域內(nèi)的事情后,分析人員就能提出相當(dāng)好的改進(jìn)方法,有經(jīng)驗(yàn)且有創(chuàng)造力的分析人員還能提出增加一些用戶沒有發(fā)現(xiàn)的很有價(jià)值的系統(tǒng)特性。1/31/202343信息工程學(xué)院7、描述產(chǎn)品使用特性客戶可以要求分析人員在實(shí)現(xiàn)功能需求的同時(shí)還注意軟件的易用性,因?yàn)檫@些易用特性或質(zhì)量屬性能使客戶更準(zhǔn)確、高效地完成任務(wù)。例如:客戶有時(shí)要求產(chǎn)品要“界面友好”或“健壯”或“高效率”,但對于開發(fā)人員來講,太主觀了并無實(shí)用價(jià)值。正確的做法是,分析人員通過詢問和調(diào)查了解客戶所要的“友好、健壯、高效所包含的具體特性,具體分析哪些特性對哪些特性有負(fù)面影響,在性能代價(jià)和所提出解決方案的預(yù)期利益之間做出權(quán)衡,以確保做出合理的取舍。1/31/202344信息工程學(xué)院8、允許重用已有的軟件組件需求通常有一定靈活性,分析人員可能發(fā)現(xiàn)已有的某個(gè)軟件組件與客戶描述的需求很相符,在這種情況下,分析人員應(yīng)提供一些修改需求的選擇以便開發(fā)人員能夠降低新系統(tǒng)的開發(fā)成本和節(jié)省時(shí)間,而不必嚴(yán)格按原有的需求說明開發(fā)。所以說,如果想在產(chǎn)品中使用一些已有的商業(yè)常用組件,而它們并不完全適合您所需的特性,這時(shí)一定程度上的需求靈活性就顯得極為重要了。1/31/202345信息工程學(xué)院9、要求對變更的代價(jià)提供真實(shí)可靠的評估有不同的選擇。而這時(shí),對需求變更的影響進(jìn)行評估從而對業(yè)務(wù)決策提供幫助,是十分必要的。所以,客戶有權(quán)利要求開發(fā)人員通過分析給出一個(gè)真實(shí)可信的評估,包括影響、成本和得失等。開發(fā)人員不能由于不想實(shí)施變更而隨意夸大評估成本。10、獲得滿足客戶功能和質(zhì)量要求的系統(tǒng)每個(gè)人都希望項(xiàng)目成功,但這不僅要求客戶要清晰地告知開發(fā)人員關(guān)于系統(tǒng)“做什么”所需的所有信息,而且還要求開發(fā)人員能通過交流了解清楚取舍與限制,一定要明確說明您的假設(shè)和潛在的期望,否則,開發(fā)人員開發(fā)出的產(chǎn)品很可能無法讓您滿意。1/31/202346信息工程學(xué)院11、給分析人員講解您的業(yè)務(wù)分析人員要依靠客戶講解業(yè)務(wù)概念及術(shù)語,但客戶不能指望分析人員會(huì)成為該領(lǐng)域的專家,而只能讓他們明白您的問題和目標(biāo);不要期望分析人員能把握客戶業(yè)務(wù)的細(xì)微潛在之處,他們可能不知道那些對于客戶來說理所當(dāng)然的“常識(shí)”。12、抽出時(shí)間清楚地說明并完善需求客戶很忙,但無論如何客戶有必要抽出時(shí)間參與“頭腦高峰會(huì)議”的討論,接受采訪或其他獲取需求的活動(dòng)。有些分析人員可能先明白了您的觀點(diǎn),而過后發(fā)現(xiàn)還需要您的講解,這時(shí)請耐心對待一些需求和需求的精化工作過程中的反復(fù),因?yàn)樗侨藗兘涣髦泻茏匀坏默F(xiàn)象,何況這對軟件產(chǎn)品的成功極為重要。1/31/202347信息工程學(xué)院13、準(zhǔn)確而詳細(xì)地說明需求編寫一份清晰、準(zhǔn)確的需求文檔是很困難的。由于處理細(xì)節(jié)問題不但煩人而且耗時(shí),因此很容易留下模糊不清的需求。但是在開發(fā)過程中,必須解決這種模糊性和不準(zhǔn)確性,而客戶恰恰是為解決這些問題作出決定的最佳人選,否則,就只好靠開發(fā)人員去正確猜測了。在需求分析中暫時(shí)加上“待定”標(biāo)志是個(gè)方法。用該標(biāo)志可指明哪些是需要進(jìn)一步討論、分析或增加信息的地方,有時(shí)也可能因?yàn)槟硞€(gè)特殊需求難以解決或沒有人愿意處理它而標(biāo)注上“待定”??蛻粢M量將每項(xiàng)需求的內(nèi)容都闡述清楚,以便分析人員能準(zhǔn)確地將它們寫進(jìn)“軟件需求報(bào)告”中去。如果客戶一時(shí)不能準(zhǔn)確表達(dá),通常就要求用原型技術(shù),通過原型開發(fā),客戶可以同開發(fā)人員一起反復(fù)修改,不斷完善需求定義。1/31/202348信息工程學(xué)院14、及時(shí)作出決定分析人員會(huì)要求客戶作出一些選擇和決定,這些決定包括來自多個(gè)用戶提出的處理方法或在質(zhì)量特性沖突和信息準(zhǔn)確度中選擇折衷方案等。有權(quán)作出決定的客戶必須積極地對待這一切,盡快做處理,做決定,因?yàn)殚_發(fā)人員通常只有等客戶做出決定才能行動(dòng),而這種等待會(huì)延誤項(xiàng)目的進(jìn)展。15、尊重開發(fā)人員的需求可行性及成本評估所有的軟件功能都有其成本??蛻羲M哪承┊a(chǎn)品特性可能在技術(shù)上行不通,或者實(shí)現(xiàn)它要付出極高的代價(jià),而某些需求試圖達(dá)到在操作環(huán)境中不可能達(dá)到的性能,或試圖得到一些根本得不到的數(shù)據(jù)。開發(fā)人員會(huì)對此作出負(fù)面的評價(jià),客戶應(yīng)該尊重他們的意見1/31/202349信息工程學(xué)院16、劃分需求的優(yōu)先級(jí)絕大多數(shù)項(xiàng)目沒有足夠的時(shí)間或資源實(shí)現(xiàn)功能性的每個(gè)細(xì)節(jié)。決定哪些特性是必要的,哪些是重要的,是需求開發(fā)的主要部分,這只能由客戶負(fù)責(zé)設(shè)定需求優(yōu)先級(jí),因?yàn)殚_發(fā)者不可能按照客戶的觀點(diǎn)決定需求優(yōu)先級(jí);開發(fā)人員將為您確定優(yōu)先級(jí)提供有關(guān)每個(gè)需求的花費(fèi)和風(fēng)險(xiǎn)的信息。在時(shí)間和資源限制下,關(guān)于所需特性能否完成或完成多少應(yīng)尊重開發(fā)人員的意見。盡管沒有人愿意看到自己所希望的需求在項(xiàng)目中未被實(shí)現(xiàn),但畢竟是要面對現(xiàn)實(shí),業(yè)務(wù)決策有時(shí)不得不依據(jù)優(yōu)先級(jí)來縮小項(xiàng)目范圍或延長工期,或增加資源,或在質(zhì)量上尋找折衷。1/31/202350信息工程學(xué)院17、評審需求文檔和原型客戶評審需求文檔,是給分析人員帶來反饋信息的一個(gè)機(jī)會(huì)。如果客戶認(rèn)為編寫的“需求分析報(bào)告”不夠準(zhǔn)確,就有必要盡早告知分析人員并為改進(jìn)提供建議。更好的辦法是先為產(chǎn)品開發(fā)一個(gè)原型。這樣客戶就能提供更有價(jià)值的反饋信息給開發(fā)人員,使他們更好地理解您的需求;原型并非是一個(gè)實(shí)際應(yīng)用產(chǎn)品,但開發(fā)人員能將其轉(zhuǎn)化、擴(kuò)充成功能齊全的系統(tǒng)。18、需求變更要立即聯(lián)系不斷的需求變更,會(huì)給在預(yù)定計(jì)劃內(nèi)完成的質(zhì)量產(chǎn)品帶來嚴(yán)重的不利影響。變更是不可避免的,但在開發(fā)周期中,變更越在晚期出現(xiàn),其影響越大;變更不僅會(huì)導(dǎo)致代價(jià)極高的返工,而且工期將被延誤,特別是在大體結(jié)構(gòu)已完成后又需要增加新特性時(shí)。所以,一旦客戶發(fā)現(xiàn)需要變更需求時(shí),請立即通知分析人員。1/31/202351信息工程學(xué)院19、遵照開發(fā)小組處理需求變更的過程為將變更帶來的負(fù)面影響減少到最低限度,所有參與者必須遵照項(xiàng)目變更控制過程。這要求不放棄所有提出的變更,對每項(xiàng)要求的變更進(jìn)行分析、綜合考慮,最后做出合適的決策,以確定應(yīng)將哪些變更引入項(xiàng)目中。20、尊重開發(fā)人員采用的需求分析過程軟件開發(fā)中最具挑戰(zhàn)性的莫過于收集需求并確定其正確性,分析人員采用的方法有其合理性。也許客戶認(rèn)為收集需求的過程不太劃算,但請相信花在需求開發(fā)上的時(shí)間是非常有價(jià)值的;如果您理解并支持分析人員為收集、編寫需求文檔和確保其質(zhì)量所采用的技術(shù),那么整個(gè)過程將會(huì)更為順利。1/31/202352信息工程學(xué)院需求分析誤區(qū)
(1)創(chuàng)意和求實(shí)毋庸質(zhì)疑的,每個(gè)人都會(huì)為自己的一個(gè)新的Idea而激動(dòng)萬分,特別是當(dāng)這個(gè)Idea受到一些根本不知道你原本要干嘛的人的驚贊時(shí)。但是請注意,當(dāng)你激動(dòng)得意的時(shí)候,你可能已經(jīng)忘了你原本是在描述一個(gè)需求,而不是在策劃一個(gè)創(chuàng)意、創(chuàng)造一個(gè)概念。很多剛開始做需求分析的人員都或多或少的會(huì)犯這樣的錯(cuò)誤,陶醉在自己的新想法和新思路中,卻違背了需求的原始客觀性和真實(shí)性原則。永遠(yuǎn)別忘了:需求不是空中樓閣,是實(shí)實(shí)在在的一磚一瓦。1/31/202353信息工程學(xué)院(2)解剖的快感幾乎所有搞軟件的人,做需求分析的時(shí)候,一上來就會(huì)把用戶告訴你的要求,完完整整的作個(gè)解剖,切開分成幾個(gè)塊,再細(xì)分成幾個(gè)子塊,然后再條分縷析??墒钱?dāng)用戶迷惑的看著你辛辛苦苦做出來的分析結(jié)果問你:我想作一個(gè)數(shù)據(jù)備份的任務(wù),怎么做?這時(shí),你會(huì)發(fā)現(xiàn),需要先后打開三個(gè)窗口才能完成這個(gè)任務(wù)。永遠(yuǎn)別忘了:分解是必需的,但最終的目的是為了更好的組合,而不是為了分解。1/31/202354信息工程學(xué)院(3)角度和思維經(jīng)常聽到這樣的抱怨:“用戶怎么可以提出這樣苛刻的要求呢?”。細(xì)細(xì)一了解,你會(huì)發(fā)現(xiàn),用戶只不過是要求把一個(gè)需要兩次點(diǎn)擊的功能,改成只有一次點(diǎn)擊。這樣會(huì)導(dǎo)致需要改變需求、改變編碼、甚至重新測試,增加工作量。可是,如果換個(gè)角度來想想,這個(gè)功能,開發(fā)的時(shí)候只用了幾次、幾十次,可是用戶每天都要用幾百次甚至幾千次幾萬次,改動(dòng)一下就減少了一半的工作量,對他來說,這樣的需求難道會(huì)苛刻嗎?永遠(yuǎn)別忘了:沒有任何需求是不對的,不對的只是你的需求分析。試著站在用戶的思維角度想想,你的需求分析就會(huì)更加的貼近用戶,更加的合理。軟件應(yīng)該是以人為本的。1/31/202355信息工程學(xué)院(4)程序員邏輯:從程序員成長為系統(tǒng)分析員是一個(gè)普遍的軌跡,但并不是一個(gè)好的程序員就必然能成為一個(gè)好的系統(tǒng)分析員。一些程序員的固化邏輯,使得他們在做需求分析的時(shí)候往往鉆進(jìn)了一些牛角里面。比如說1/0邏輯(或者是說黑白邏輯),認(rèn)為不是這樣就是那樣,沒有第三種情況??蓪?shí)際情況往往是,在一定的時(shí)候是這樣,其它時(shí)候是那樣。又比如窮舉邏輯,喜歡上來就把所有一二三可能的情況列舉出來,然后一個(gè)一個(gè)分別處理,每個(gè)占用三分之一的時(shí)間;可是實(shí)際的情況往往是,三分之一的情況占了99%的比例,其它兩種情況一年都不會(huì)遇到一次。實(shí)際中還有很多這樣的例子,不一一列舉了。永遠(yuǎn)別忘了:需求分析和程序設(shè)計(jì)不盡相同,合理、可行是才是重要的。跳出程序設(shè)計(jì)的圈子,站在系統(tǒng)的角度上來看問題,你的結(jié)論會(huì)截然不同。1/31/202356信息工程學(xué)院與用戶溝通獲取需求的方法1.訪談2.面向數(shù)據(jù)流自頂向下求精3.簡易的應(yīng)用規(guī)格說明技術(shù)4.快速建立軟件原型1/31/202357信息工程學(xué)院1.訪談訪談是最早開始使用的獲取用戶需求的技術(shù)。訪談?dòng)袃煞N基本形式,分別是正式的和非正式的訪談。向被調(diào)查人分發(fā)調(diào)查表是一個(gè)十分有效的做法。在訪問用戶的過程中使用情景分析技術(shù)(所謂情景分析就是對用戶將來使用目標(biāo)系統(tǒng)解決某個(gè)具體問題的方法和結(jié)果進(jìn)行分析)。
1/31/202358信息工程學(xué)院其用處主要體現(xiàn)在(1)它能在某種程度上演示目標(biāo)系統(tǒng)的行為,從而便于用戶理解。而且還可能進(jìn)上步揭示出一些析析員目前還不知道的需求(2)較易被用戶理解,使用這種技術(shù)能保證用戶在需求分析近程中始終扮演一個(gè)積極主動(dòng)的角色。1/31/202359信息工程學(xué)院個(gè)別訪談或小組會(huì)議 分析人員應(yīng)精心準(zhǔn)備問題,通過用戶對問題的回答,逐步理解用戶對目標(biāo)軟件的要求(1)循序漸進(jìn)首先關(guān)心一般性、整體性問題,然后再討論細(xì)節(jié)問題。(2)客觀、公正不應(yīng)限制用戶在回答問題過程中自由發(fā)揮。(3)總結(jié)問題匯總后應(yīng)能反映軟件或其子系統(tǒng)的全貌,能覆蓋用戶對目標(biāo)軟件或其子系統(tǒng)在功能、行為、性能諸方面的要求。細(xì)節(jié)問題留待以后解決。1/31/202360信息工程學(xué)院深入調(diào)查研究調(diào)查研究考察用戶軟件或其子系統(tǒng)業(yè)務(wù)流程學(xué)習(xí)用戶的有關(guān)業(yè)務(wù)知識(shí),在用戶幫助下了解用戶的軟件或子系統(tǒng)業(yè)務(wù)流程,結(jié)合軟件開發(fā)和應(yīng)用的經(jīng)驗(yàn)提出新的用戶需求注意:開發(fā)軟件系統(tǒng)不僅是為了模擬手工操作過程,還必須將最好的經(jīng)濟(jì)效益、最快的處理速度、最合理的操作流程、最友好的用戶界面作為軟件的目標(biāo)1/31/202361信息工程學(xué)院聯(lián)合小組建立軟件開發(fā)方和用戶方共同組成的聯(lián)合小組,小組成員對分析負(fù)有相同的責(zé)任聯(lián)合小組要制定自己的工作制度和計(jì)劃,確定專門的記錄員,另設(shè)專人負(fù)責(zé)會(huì)議的議程和資料的綜合、整理選擇易于理解、比較簡潔、精確的表示機(jī)制作為描述語言,如輔以文字說明的流程圖1/31/202362信息工程學(xué)院需求獲取一般過程1、識(shí)別系統(tǒng)用戶分析客戶方的所有用戶類型以及潛在的類型,然后根據(jù)他們的要求來確定系統(tǒng)的整體目標(biāo)和系統(tǒng)的工作范圍。如有領(lǐng)導(dǎo)使用,則應(yīng)該有領(lǐng)導(dǎo)查詢系統(tǒng);如果是單機(jī)系統(tǒng),則對安全性可以少考慮。2、用戶調(diào)研與訪談會(huì)議、電話、Email、小組討論、模擬演示等,每次都要有記錄,確定功能需求、非功能需求(響應(yīng)時(shí)間、自動(dòng)恢復(fù)時(shí)間)、環(huán)境限制、設(shè)計(jì)約束等。1/31/202363信息工程學(xué)院3、訪談結(jié)果整理
①對于用戶提出的每個(gè)需求都要知道“為什么”,并判斷這種需求是否有充足的理由。
②將那種以“如何實(shí)現(xiàn)”的表達(dá)方式轉(zhuǎn)換為“實(shí)現(xiàn)什么”。
③分析由用戶需求衍生出的隱含需求,并識(shí)別用戶沒有明確提出來的隱含需求。如工時(shí)統(tǒng)計(jì)→計(jì)算工資,生產(chǎn)系統(tǒng)←→工資系統(tǒng)。4、訪談結(jié)果呈現(xiàn)
①明確標(biāo)識(shí)出那些未確定的需求項(xiàng)。
②使需求符合系統(tǒng)的整體目標(biāo)。
③保證需求項(xiàng)之間的一致性,解決需求項(xiàng)之間可能存在的沖突。1/31/202364信息工程學(xué)院出版社管理信息系統(tǒng)調(diào)查表編號(hào)提出問題1您在哪個(gè)部門工作?2出版業(yè)務(wù)流程是什么?3您每日都處理那些文件、數(shù)據(jù)、報(bào)表?4工作中手工處理特別麻煩的事情是什么?5工作中手工處理什么問題解決不了?影響效率的問題有哪些?6您認(rèn)為提高工作效率,節(jié)省工作時(shí)間,減輕工作強(qiáng)度可采取哪些辦法?7您的部門需要成本核算和統(tǒng)計(jì)的內(nèi)容有哪些?8您的部門采用計(jì)算機(jī)管理工作情況如何?9如何改進(jìn)業(yè)務(wù)流程使之更合理?10哪些問題是目前傳統(tǒng)手工方法根本無法解決的?11出版社管理信息系統(tǒng)需要解決什么問題?1/31/202365信息工程學(xué)院實(shí)例分析家庭保安系統(tǒng)家庭保安市場正以每年40%的速度增長。我們希望建立一種基于微處理器的家庭保安系統(tǒng),它能夠識(shí)別異常事件并采取相應(yīng)的防護(hù)措施。這些異常事件包括:非法入侵、火災(zāi)、水淹,等等。一旦異常情況被相應(yīng)的傳感器探測出來,系統(tǒng)應(yīng)自動(dòng)用電話向監(jiān)控中心報(bào)警。此外,系統(tǒng)應(yīng)允許戶主對其行為實(shí)施程序式控制。1/31/202366信息工程學(xué)院分析初期聯(lián)合小組的工作程序聯(lián)合小組首先制定工作制度:每次會(huì)議開始前必須有確定的議程,參加者必須針對各項(xiàng)議程進(jìn)行充分的準(zhǔn)備,并用文字表示。經(jīng)過數(shù)次會(huì)議討論,明確問題的范圍、問題與環(huán)境的關(guān)系,并就開發(fā)軟件產(chǎn)品的必要性達(dá)成共識(shí)后,小組負(fù)責(zé)人要求每位參加人列出應(yīng)用問題及環(huán)境中有關(guān)的對象、這些對象所實(shí)施的操作以及對象間的互相作用1/31/202367信息工程學(xué)院小組負(fù)責(zé)人要求每位參加者列出問題及環(huán)境中的有關(guān)對象,對這些對象施行的操作以及對象間的相互作用。列出的操作和對象盡可能完全,如,控制面板、電話機(jī)、監(jiān)控中心、煙霧傳感器、門窗監(jiān)視器、警報(bào)器等對象,以及用戶編程控制、電話拔號(hào)、報(bào)警等操作。1/31/202368信息工程學(xué)院實(shí)例分析負(fù)責(zé)人應(yīng)要求小組成員對接收傳感器事件、用戶編程控制、電話報(bào)警等操作進(jìn)行更詳細(xì)的描述,必要時(shí)可用流程圖表示。用戶可能提出約束條件,如造價(jià)不能超過3,000元,對傳感器事件必須在1秒內(nèi)作出響應(yīng),事件必須按優(yōu)先級(jí)進(jìn)行處理等。1/31/202369信息工程學(xué)院聯(lián)合小組分成兩個(gè)小組,分別處理用戶編程控制和傳感器監(jiān)測兩個(gè)子系統(tǒng)。目的是對子系統(tǒng)的軟件需求進(jìn)行細(xì)化。對出現(xiàn)的新對象、新操作、新約束應(yīng)及時(shí)添加到相應(yīng)的子系統(tǒng).確定子系統(tǒng)需求并形成文檔.聯(lián)合小組討論子系統(tǒng)的集成及需求驗(yàn)證標(biāo)準(zhǔn)。子系統(tǒng)集成包括子系統(tǒng)接口的一致性檢查、系統(tǒng)功能和行為的完整性檢查。需求驗(yàn)證標(biāo)準(zhǔn)應(yīng)該是可測試的,以便開發(fā)人員在代碼生成后能夠通過測試結(jié)果向用戶表明軟件系統(tǒng)已完整地實(shí)現(xiàn)了用戶需求。初步分析活動(dòng)應(yīng)形成結(jié)論性文檔,該文檔將作為后續(xù)分析活動(dòng)的基礎(chǔ)。1/31/202370信息工程學(xué)院初步分析生成的“家庭保安系統(tǒng)”部分需求文檔(不包括約束條件和測試標(biāo)準(zhǔn))“家庭保安系統(tǒng)”的軟件允許用戶在安裝時(shí)進(jìn)行系統(tǒng)配置,實(shí)施對傳感器的監(jiān)控并通過控制面板與用戶進(jìn)行信息交互。1/31/202371信息工程學(xué)院實(shí)例分析配置操作包括:(1)指定每一傳感器的種類和編號(hào);(2)設(shè)置開、關(guān)機(jī)密碼;(3)指定報(bào)警電話號(hào)碼;(4)指定報(bào)警延遲和電話重?fù)苎舆t時(shí)間(以秒為單位)。1/31/202372信息工程學(xué)院當(dāng)軟件系統(tǒng)接收到傳感器發(fā)出的數(shù)據(jù)后,判別是否出現(xiàn)異常事件。如果是,則在指定的延遲時(shí)間內(nèi)撥報(bào)警電話號(hào)碼,撥號(hào)操作將按照重?fù)苎舆t反復(fù)進(jìn)行,直到電話接通。然后軟件系統(tǒng)負(fù)責(zé)報(bào)告時(shí)間、地點(diǎn)和異常事件的性質(zhì)。開機(jī)后,軟件系統(tǒng)負(fù)責(zé)顯示當(dāng)前工作狀態(tài),接收并處理用戶指令。1/31/202373信息工程學(xué)院軟件系統(tǒng)本質(zhì)上是信息處理系統(tǒng),而任何信息處理系統(tǒng)的基本功能都是把輸入數(shù)據(jù)轉(zhuǎn)變成需要的輸出信息。數(shù)據(jù)決定了需要的處理和算法,看來數(shù)據(jù)顯然是需求分析的出發(fā)點(diǎn)。結(jié)構(gòu)化分析方法就是面向數(shù)據(jù)流自頂向下逐步求精進(jìn)行需求分析的方法。通過可行性研究已經(jīng)得出了目標(biāo)系統(tǒng)的高層數(shù)據(jù)流圖,需求分析的目標(biāo)之一就是把數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)定義到元素級(jí)。為了達(dá)到這個(gè)目標(biāo),通常從數(shù)據(jù)流圖的輸出端著手分析,這是因?yàn)橄到y(tǒng)的基本功能是產(chǎn)生這些輸出,輸出數(shù)據(jù)決定了系統(tǒng)必須具有的最基本的組成元素。2.面向數(shù)據(jù)流自頂向下求精1/31/202374信息工程學(xué)院輸出數(shù)據(jù)是由哪些元素組成的呢?通過調(diào)查訪問不難搞清這個(gè)問題。那么,每個(gè)輸出數(shù)據(jù)元素又是從哪里來的呢?既然它們是系統(tǒng)的輸出,顯然它們或者是從外面輸入到系統(tǒng)中來的,或者是通過計(jì)算由系統(tǒng)中產(chǎn)生出來的。沿?cái)?shù)據(jù)流圖從輸出端往輸入端回溯,應(yīng)該能夠確定每個(gè)數(shù)據(jù)元素的來源,與此同時(shí)也就初步定義了有關(guān)的算法。為了解決這些問題,往往需要向用戶和其他有關(guān)人員請教,他們的回答使分析員對目標(biāo)系統(tǒng)的認(rèn)識(shí)更深入更具體了,系統(tǒng)中更多的數(shù)據(jù)元素被劃分出來了,更多的算法被搞清楚了。1/31/202375信息工程學(xué)院必須請用戶對上述分析過程中得出的結(jié)果仔細(xì)地復(fù)查,數(shù)據(jù)流圖是幫助復(fù)查的極好工具。從輸入端開始,分析員借助數(shù)據(jù)流圖、數(shù)據(jù)字典和IPO圖向用戶解釋輸入數(shù)據(jù)是怎樣一步一步地轉(zhuǎn)變成輸出數(shù)據(jù)的。1/31/202376信息工程學(xué)院3.簡易的應(yīng)用規(guī)格說明技術(shù)人們研究出一種面向團(tuán)隊(duì)的需求收集法,稱為簡易的應(yīng)用規(guī)格說明技術(shù)。這種方法提倡用戶與開發(fā)者密切合作,共同標(biāo)識(shí)問題,提出解決方案要素,商討不同方案并指定基本需求其過程如下:1、進(jìn)行初步的言談,通過用戶對基本問題的回答,初步確定待解決的問題的范圍和解決方案2、開發(fā)者和用戶分別寫出“產(chǎn)品需求”。并組織會(huì)議討論。1/31/202377信息工程學(xué)院4.快速建立軟件原型快速建立軟件原型是最準(zhǔn)確、最有效、最強(qiáng)大的需求分析技術(shù)??焖僭途褪强焖俳⑵饋淼闹荚谘菔灸繕?biāo)系統(tǒng)主要功能的可運(yùn)行的程序。構(gòu)建快速原型的要點(diǎn)是,它應(yīng)該實(shí)現(xiàn)用戶看得見的功能,省略目標(biāo)系統(tǒng)的“隱含”功能??焖僭偷牡谝粋€(gè)特性是“快速”目的是盡快向用戶提供一個(gè)可以計(jì)算機(jī)上運(yùn)行的目標(biāo)系統(tǒng)的模型,以便使用戶和開發(fā)者在目標(biāo)系統(tǒng)應(yīng)該“做什么”這個(gè)總是上盡可能快地達(dá)成共識(shí)。第二個(gè)特性是“容易修改”。1/31/202378信息工程學(xué)院按照傳統(tǒng)的軟件開發(fā)方法,目標(biāo)軟件要等到木已成舟才能交用戶認(rèn)可。分析、設(shè)計(jì)及編碼積累的各種問題,導(dǎo)致用戶對目標(biāo)軟件提出諸多修改,甚至全盤否決,造成人力、物力的巨大浪費(fèi)。軟件開發(fā)早期,快速建立目標(biāo)軟件系統(tǒng)原型,讓用戶對原型進(jìn)行評估并提出意見。原型幾經(jīng)改進(jìn)最終確定,它將進(jìn)化成軟件產(chǎn)品。設(shè)計(jì)和編碼人員遵循原型確立的外部特征實(shí)現(xiàn)軟件產(chǎn)品。如果軟件產(chǎn)品含有大量人機(jī)交互、可視輸出、或者涉及復(fù)雜的算法,應(yīng)采用快速原型技術(shù)。1/31/202379信息工程學(xué)院支持需求分析的快速原型技術(shù)分析階段使用快速原型技術(shù)與問題本身的復(fù)雜度以及可用的開發(fā)工具、環(huán)境有關(guān)。如果問題非常復(fù)雜,在當(dāng)前工具、環(huán)境的支持下開發(fā)可運(yùn)行的原型需要投入太多人力或占用太多時(shí)間,那么可對某些子問題,尤其是用戶界面,使用快速原型技術(shù)進(jìn)行部分分析。某些軟件項(xiàng)目,雖不能構(gòu)造實(shí)際可運(yùn)行的快速原型,但可以采用幻燈片演示等方法,向用戶直觀描述目標(biāo)軟件系統(tǒng)的外部行為。1/31/202380信息工程學(xué)院快速建造原型過程(1)利用需求分析技術(shù)、方法,生成簡化的需求規(guī)格說明(2)對簡化的需求規(guī)格說明進(jìn)行檢查、修訂,生成設(shè)計(jì)規(guī)格說明。為了快速生成原型,只關(guān)心軟件的總體結(jié)構(gòu)、用戶界面和數(shù)據(jù)設(shè)計(jì),而不注重過程內(nèi)部的控制流。(3)在快速原型工具或環(huán)境的幫助下,快速生成可運(yùn)行的軟件原型并進(jìn)行測試、改進(jìn)。主要工具有:可重用軟部件庫、用戶界面自動(dòng)生成器等。1/31/202381信息工程學(xué)院快速建造原型過程(4)將原型提交用戶評估并征求改進(jìn)意見。(5)迭代上述過程,直到用戶滿意。通過評審的原型應(yīng)全面、準(zhǔn)確地反映用戶對目標(biāo)軟件在外部行為方面的需求,可以作為需求規(guī)格說明的一部分并成為軟件設(shè)計(jì)和編碼的基礎(chǔ)。1/31/202382信息工程學(xué)院軟件原型的分類探索型:目的是要弄清對目標(biāo)系統(tǒng)的要求,確定所希望的特性,并探討多種方案的可行性。實(shí)驗(yàn)型:這種原型用于大規(guī)模開發(fā)和實(shí)現(xiàn)之前,考核方案是否合適,規(guī)格說明是否可靠。進(jìn)化型:這種原型的目的不在于改進(jìn)規(guī)格說明,而是將系統(tǒng)建造得易于變化,在改進(jìn)原型的過程中,逐步將原型進(jìn)化成最終系統(tǒng)。1/31/202383信息工程學(xué)院3.3結(jié)構(gòu)化分析方法3.3.1結(jié)構(gòu)化分析方法概述系統(tǒng)流程圖(補(bǔ)充)3.3.2數(shù)據(jù)流圖3.3.3數(shù)據(jù)字典3.3.4實(shí)體-聯(lián)系圖1/31/202384信息工程學(xué)院3.3.1結(jié)構(gòu)化分析方法概述結(jié)構(gòu)化分析方法:是一種面向數(shù)據(jù)流的需求分析方法適用于分析大型的數(shù)據(jù)處理系統(tǒng).發(fā)展歷史:提出:20世紀(jì)60年代末到70年代初成熟:20世紀(jì)70年代末到80年代中期1/31/202385信息工程學(xué)院主要思想:抽象與自頂向下的逐層分解(控制復(fù)雜性的兩個(gè)基本手段)抽象:在每個(gè)抽象層次上忽略問題的內(nèi)部復(fù)雜性,只關(guān)注整個(gè)問題與外界的聯(lián)系分解:將問題不斷分解為較小的問題,直到每個(gè)最底層的問題都足夠簡單為止抽象:從作為整體的軟件系統(tǒng)開始(第一層),每一抽象層次上只關(guān)注于系統(tǒng)的輸入輸出分解:將系統(tǒng)不斷分解為子系統(tǒng)、模塊……隨著分解層次的增加,抽象的級(jí)別越來越低,也越接近問題的解(算法和數(shù)據(jù)結(jié)構(gòu))1/31/202386信息工程學(xué)院結(jié)構(gòu)化分析過程理解當(dāng)前的現(xiàn)實(shí)環(huán)境,獲得當(dāng)前系統(tǒng)的具體模型(物理模型)從當(dāng)前系統(tǒng)的具體模型抽象出當(dāng)前系統(tǒng)邏輯模型分析目標(biāo)系統(tǒng)與當(dāng)前系統(tǒng)邏輯上的差別,建立目標(biāo)系統(tǒng)的邏輯模型為目標(biāo)系統(tǒng)的邏輯模型作補(bǔ)充1/31/202387信息工程學(xué)院結(jié)構(gòu)化分析方法的優(yōu)點(diǎn):由于利用圖形來表達(dá)需求,使得文檔清晰、簡明,易于學(xué)習(xí)和掌握,是一種傳統(tǒng)的、軟件分析人員仍在廣泛使用的分析方法。結(jié)構(gòu)化分析方法的主要工具有數(shù)據(jù)流圖、數(shù)據(jù)字典、IPO圖等1/31/202388信息工程學(xué)院系統(tǒng)流程圖(SystemFlowchart)系統(tǒng)流程圖又叫事務(wù)流程圖,是在計(jì)算機(jī)事務(wù)處理應(yīng)用進(jìn)行系統(tǒng)分析時(shí)常用的一種描述方法,是描繪系統(tǒng)物理模型的傳統(tǒng)工具。它描述了計(jì)算機(jī)事務(wù)處理中從數(shù)據(jù)輸入開始到獲得輸出為止,各個(gè)處理工序的邏輯過程。它的基本思想是用圖形符號(hào)以黑盒子形式描繪系統(tǒng)里面的每個(gè)部件(程序、文件、數(shù)據(jù)庫、表格、人工過程等),表達(dá)信息在各個(gè)部件之間流動(dòng)的情況.系統(tǒng)流程圖(補(bǔ)充)1/31/202389信息工程學(xué)院說明系統(tǒng)流程圖表達(dá)的是數(shù)據(jù)在系統(tǒng)各部件之間流動(dòng)的情況,而不是對數(shù)據(jù)進(jìn)行加工處理的控制過程,因此盡管系統(tǒng)流程圖的某些符號(hào)和程序流程圖的符號(hào)形式相同,但是它卻是物理數(shù)據(jù)流圖而不是程序流程圖。系統(tǒng)流程圖的作用表現(xiàn)在以下幾個(gè)方面:1.制作系統(tǒng)流程圖的過程是系統(tǒng)分析員全面了解系統(tǒng)業(yè)務(wù)處理概況的過程,它是系統(tǒng)分析員做進(jìn)一步分析的依據(jù)。2.系統(tǒng)流程圖是系統(tǒng)分析員、管理員、業(yè)務(wù)操作員相互交流的工具。3.系統(tǒng)分析員可直接在系統(tǒng)流程圖上畫出可以有計(jì)算機(jī)處理的部分。4.可利用系統(tǒng)流程圖來分析業(yè)務(wù)流程的合理性。1/31/202390信息工程學(xué)院基本符號(hào)1/31/202391信息工程學(xué)院系統(tǒng)符號(hào)1/31/202392信息工程學(xué)院系統(tǒng)流程圖1/31/202393信息工程學(xué)院庫存清單系統(tǒng)的系統(tǒng)流程圖1/31/202394信息工程學(xué)院分層,面對復(fù)雜的系統(tǒng)時(shí),一個(gè)比較好的方法是分層次地描繪這個(gè)系統(tǒng)。首先用一張高層次的系統(tǒng)流程圖描繪系統(tǒng)總體概貌,表明系統(tǒng)的關(guān)鍵功能。然后分別把每個(gè)關(guān)鍵功能擴(kuò)展到適當(dāng)?shù)脑敿?xì)程度,畫在單獨(dú)的一頁紙上。1/31/202395信息工程學(xué)院3.3.2數(shù)據(jù)流圖數(shù)據(jù)流圖(DataFlowDiagram):簡稱DFD,它從數(shù)據(jù)傳遞和加工角度,以圖形方式來表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達(dá)工具及用于表示軟件模型的一種圖示方法。是描述系統(tǒng)中數(shù)據(jù)流程的圖形工具,它標(biāo)識(shí)了一個(gè)系統(tǒng)的邏輯輸入和邏輯輸出,以及把邏輯輸入轉(zhuǎn)換為邏輯輸出所需的加工處理。它是描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過程中所經(jīng)受的變換。1/31/202396信息工程學(xué)院一個(gè)基于計(jì)算機(jī)的信息系統(tǒng)由數(shù)據(jù)流和一系列的轉(zhuǎn)換構(gòu)成,這些轉(zhuǎn)換將輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流。數(shù)據(jù)流圖是用來刻畫數(shù)據(jù)流和轉(zhuǎn)換的信息系統(tǒng)建模技術(shù)的。它用簡單的圖形記號(hào)分別表示數(shù)據(jù)流、轉(zhuǎn)換、數(shù)據(jù)源以及外部實(shí)體。它提供層次結(jié)構(gòu)讓分析人員能夠方便地表示任意級(jí)別上的信息系統(tǒng)或其子部分,并支持問題分解、逐步求精的分析方法。1/31/202397信息工程學(xué)院數(shù)據(jù)流程圖包括:a.指明數(shù)據(jù)存在的數(shù)據(jù)符號(hào),這些數(shù)據(jù)符號(hào)也可指明該數(shù)據(jù)所使用的媒體;b.指明對數(shù)據(jù)執(zhí)行的處理的處理符號(hào),這些符號(hào)也可指明該處理所用到的機(jī)器功能;c.指明幾個(gè)處理和(或)數(shù)據(jù)媒體之間的數(shù)據(jù)流的流線符號(hào);d.便于讀、寫數(shù)據(jù)流程圖的特殊符號(hào)。1/31/202398信息工程學(xué)院數(shù)據(jù)流:數(shù)據(jù)流是一組數(shù)據(jù)。在數(shù)據(jù)流圖中數(shù)據(jù)流用帶箭頭的線表示,在其線旁標(biāo)注數(shù)據(jù)流名。在數(shù)據(jù)流圖中應(yīng)該描繪所有可能的數(shù)據(jù)流向,而不應(yīng)該描繪出現(xiàn)某個(gè)數(shù)據(jù)流的條件。加工(處理)在數(shù)據(jù)流圖中加工用圓圈表示,在圓圈內(nèi)寫上加工名。一個(gè)處理框可以代表一系列程序、單個(gè)程序或者程序的一個(gè)模塊。1/31/202399信息工程學(xué)院數(shù)據(jù)流程圖中有以下幾種主要元素:→:數(shù)據(jù)流。數(shù)據(jù)流是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑,因此由一組成分固定的數(shù)據(jù)組成。如訂票單由旅客姓名、年齡、單位、身份證號(hào)、日期、目的地等數(shù)據(jù)項(xiàng)組成。由于數(shù)據(jù)流是流動(dòng)中的數(shù)據(jù),所以必須有流向,除了與數(shù)據(jù)存儲(chǔ)之間的數(shù)據(jù)流不用命名外,數(shù)據(jù)流應(yīng)該用名詞或名詞短語命名?!酰簲?shù)據(jù)源(終點(diǎn))。代表系統(tǒng)之外的實(shí)體,可以是人、物或其他軟件系統(tǒng)?!穑簩?shù)據(jù)的加工(處理)。加工是對數(shù)據(jù)進(jìn)行處理的單元,它接收一定的數(shù)據(jù)輸入,對其進(jìn)行處理,并產(chǎn)生輸出。〓:數(shù)據(jù)存儲(chǔ)。表示信息的靜態(tài)存儲(chǔ),可以代表文件、文件的一部分、數(shù)據(jù)庫的元素等。1/31/2023100信息工程學(xué)院1.符號(hào)數(shù)據(jù)流圖的符號(hào)1/31/2023101信息工程學(xué)院根據(jù)層級(jí)數(shù)據(jù)流圖分為頂層數(shù)據(jù)流圖、中層數(shù)據(jù)流圖和底層數(shù)據(jù)流圖。除頂層數(shù)據(jù)流圖外,其他數(shù)據(jù)流圖從零開始編號(hào)。頂層數(shù)據(jù)流圖只含有一個(gè)加工表示整個(gè)系統(tǒng);輸出數(shù)據(jù)流和輸入數(shù)據(jù)流為系統(tǒng)的輸入數(shù)據(jù)和輸出數(shù)據(jù),表明系統(tǒng)的范圍,以及與外部環(huán)境的數(shù)據(jù)交換關(guān)系。中層數(shù)據(jù)流圖是對父層數(shù)據(jù)流圖中某個(gè)加工進(jìn)行細(xì)化,而它的某個(gè)加工也可以再次細(xì)化,形成子圖;中間層次的多少,一般視系統(tǒng)的復(fù)雜程度而定。底層數(shù)據(jù)流圖是指其加工不能再分解的數(shù)據(jù)流圖,其加工成為“原子加工”。分層數(shù)據(jù)流圖
1/31/2023102信息工程學(xué)院原則:在單張數(shù)據(jù)流圖時(shí),必須注意以下原則:1.一個(gè)加工的輸出數(shù)據(jù)流不應(yīng)與輸入數(shù)據(jù)流同名,即使它們的組成成分相同。2.保持?jǐn)?shù)據(jù)守恒。也就是說,一個(gè)加工所有輸出數(shù)據(jù)流中的數(shù)據(jù)必須能從該加工的輸入數(shù)據(jù)流中直接獲得,或者說是通過該加工能產(chǎn)生的數(shù)據(jù)。3.每個(gè)加工必須既有輸入數(shù)據(jù)流,又有輸出數(shù)據(jù)流。4.所有的數(shù)據(jù)流必須以一個(gè)外部實(shí)體開始,并以一個(gè)外部實(shí)體結(jié)束。5.外部實(shí)體之間不應(yīng)該存在數(shù)據(jù)流1/31/2023103信息工程學(xué)院頂層數(shù)據(jù)流圖隨著需求分析活動(dòng)的深入,較高抽象級(jí)別的復(fù)雜加工逐步精化為一系列相互關(guān)聯(lián)的數(shù)據(jù)流和子加工。1/31/2023104信息工程學(xué)院數(shù)據(jù)流圖的精化與平衡逐層精化必須保持?jǐn)?shù)據(jù)流圖的平衡數(shù)據(jù)流與加工精化必須保持一致需求分析活動(dòng)只求對問題全面、清晰的理解,不考慮軟件設(shè)計(jì)細(xì)節(jié)
1/31/2023105信息工程學(xué)院2.例子數(shù)據(jù)流圖是系統(tǒng)的邏輯模型,計(jì)算機(jī)系統(tǒng)本質(zhì)上都是把輸入數(shù)據(jù)變換成輸出數(shù)據(jù)。任何系統(tǒng)的基本模型都由若干個(gè)數(shù)據(jù)源點(diǎn)/終點(diǎn)以及一個(gè)處理組成。首先生成基本系統(tǒng)模型。下一步應(yīng)該把基本系統(tǒng)模型細(xì)化,描繪系統(tǒng)的主要功能。從一個(gè)數(shù)據(jù)存儲(chǔ)中取出來的或放進(jìn)去的數(shù)據(jù)通常和原來存儲(chǔ)的數(shù)據(jù)相同。給處理和數(shù)據(jù)存儲(chǔ)都加了編號(hào),目的是便于引用和追蹤。1/31/2023106信息工程學(xué)院接下來應(yīng)該對功能級(jí)數(shù)據(jù)流圖中描繪的系統(tǒng)主要功能進(jìn)一步細(xì)化。當(dāng)對數(shù)據(jù)流圖分層細(xì)化時(shí)必須保持信息連續(xù)性,也就是說,當(dāng)把一個(gè)處理分解為一系列處理時(shí),分解前和分解后的輸入輸出數(shù)據(jù)流必須相同。1/31/2023107信息工程學(xué)院DFD的畫法(一)確定系統(tǒng)的輸入輸出由于系統(tǒng)究竟包括哪些功能可能一時(shí)難于弄清楚,可使范圍盡量大一些,把可能有的內(nèi)容全部都包括進(jìn)去。此時(shí),應(yīng)該向用戶了解“系統(tǒng)從外界接受什么數(shù)據(jù)”、“系統(tǒng)向外界送出什么數(shù)據(jù)”等信息,然后,根據(jù)用戶的答復(fù)畫出數(shù)據(jù)流圖的外圍。1/31/2023108信息工程學(xué)院(二)由外向里畫系統(tǒng)的頂層數(shù)據(jù)流圖首先,將系統(tǒng)的輸人數(shù)據(jù)和輸出數(shù)據(jù)用一連串的加工連接起來。在數(shù)據(jù)流的值發(fā)生變化的地方就是一個(gè)加工。接著,給各個(gè)加工命名。然后,給加工之間的數(shù)據(jù)命名。最后,給文件命名。(三)自頂向下逐層分解,繪出分層數(shù)據(jù)流圖對于大型的系統(tǒng),為了控制復(fù)雜性,便于理解,需要采用自頂向下逐層分解的方法進(jìn)行,即用分層的方法將一個(gè)數(shù)據(jù)流圖分解成幾個(gè)數(shù)據(jù)流圖來分別表示。1/31/2023109信息工程學(xué)院畫分層DFD的方法“先全局后局部,先整體后細(xì)節(jié),先抽象后具體”通常可將這種分層的DFD圖,分為頂層、中間層、底層。具體步驟:1.先確定系統(tǒng)范圍,畫出頂層的DFD圖。2.逐層分解頂層DFD圖,獲得若干中間層DFD圖。3.畫出底層的DFD圖。1/31/2023110信息工程學(xué)院頂層圖說明了系統(tǒng)的邊界,即系統(tǒng)的輸入和輸出數(shù)據(jù)流,頂層圖只有一張。底層圖由一些不能再分解的加工組成,這些加工都已足夠簡單,稱為基本加工。在頂層和底層之間的是中間層。中間層的數(shù)據(jù)流圖描述了某個(gè)加工的分解,而它的組成部分又要進(jìn)一步分解。畫各層DFD圖時(shí),“由外向內(nèi)”。1/31/2023111信息工程學(xué)院分層DFD的實(shí)例X1321.11.21.41.32.12.21.1.11.1.22.1.32.1.22.1.12.2.22.2.32.2.1頂層中間層底層先全局后局部,先整體后細(xì)節(jié),先抽象后具體.0圖1圖2圖1.1圖2.1圖2.2圖1/31/2023112信息工程學(xué)院DFD的例子加工名編號(hào)加工名編號(hào)文件名文件名顧客出版社驗(yàn)證訂單匯總訂單訂單出版社訂單圖書目錄文件顧客檔案待處理訂單文件正確訂單一批訂單出版社檔案文件訂貨存根文件1/31/2023113信息工程學(xué)院圖書預(yù)定系統(tǒng)(頂層DFD圖)顧客出版社驗(yàn)證訂單匯總訂單訂單出版社訂單圖書目錄文件顧客檔案待處理訂單文件正確訂單一批訂單出版社檔案文件訂貨存根文件畫圖步驟:1.確定外部實(shí)體及輸入、輸出數(shù)據(jù)流。2.確定分解頂層的加工。3.確定使用的文件。4.用數(shù)據(jù)流將各部分連接起來,形成數(shù)據(jù)封閉。注意:標(biāo)注各加工框及數(shù)據(jù)流名稱。1/31/2023114信息工程學(xué)院經(jīng)過初步的需求分析,得到系統(tǒng)功能要求:1、監(jiān)視病員的病癥(血壓、體溫、脈搏等)。2、定時(shí)更新病歷。3、病員出現(xiàn)異常情況時(shí)報(bào)警。4、隨機(jī)地產(chǎn)生某一病員的病情報(bào)告。產(chǎn)生病情報(bào)告監(jiān)視病情更新病歷醫(yī)院病房監(jiān)護(hù)系統(tǒng)1/31/2023115信息工程學(xué)院醫(yī)院病房監(jiān)護(hù)系統(tǒng)系統(tǒng)功能要求:1、監(jiān)視病員的病癥(血壓、體溫、脈搏等)2、定時(shí)更新病歷3、病員出現(xiàn)異常情況時(shí)報(bào)警。4、隨機(jī)地產(chǎn)生某一病員的病情報(bào)告。頂層:病員護(hù)士護(hù)士病員監(jiān)護(hù)系統(tǒng)病員日志病癥信號(hào)要求報(bào)告病癥報(bào)告報(bào)警1/31/2023116信息工程學(xué)院第一層DFD病員護(hù)士護(hù)士中央監(jiān)視病員日志病癥信號(hào)要求報(bào)告病癥報(bào)告報(bào)警局部監(jiān)視生成報(bào)告病員極限更新日志病員數(shù)據(jù)格式化病員數(shù)據(jù)生理信號(hào)極限值1324日志數(shù)據(jù)日志數(shù)據(jù)1/31/2023117信息工程學(xué)院第二層:加工“中央監(jiān)視”分解計(jì)算超過極限值否病員數(shù)據(jù)超過極限值報(bào)警開解信號(hào)產(chǎn)生報(bào)警信息病員極限格式化病員數(shù)據(jù)體溫血壓、體溫脈搏生理信號(hào)極限值時(shí)間脈搏血壓日期時(shí)鐘格式化病員數(shù)據(jù)1/31/2023118信息工程學(xué)院醫(yī)院病房監(jiān)護(hù)系統(tǒng)分層DFD圖計(jì)算超過極限值否病員數(shù)據(jù)超過極限值報(bào)警開解信號(hào)產(chǎn)生報(bào)警信息病員極限格式化病員數(shù)據(jù)體溫血壓、體溫、脈搏生理信號(hào)極限值時(shí)間脈搏血壓日期時(shí)鐘格式化病員數(shù)據(jù)3.13.23.33.4第二層:加工“中央監(jiān)視”分解第一層格式化病員數(shù)據(jù)生理信號(hào)極限值病員護(hù)士護(hù)士中央監(jiān)視病員日志病癥信號(hào)要求報(bào)告病癥報(bào)告報(bào)警局部監(jiān)視生成報(bào)告病員極限更新日志病員數(shù)據(jù)1324日志數(shù)據(jù)1/31/2023119信息工程學(xué)院實(shí)例:教材購銷系統(tǒng)的數(shù)據(jù)流圖學(xué)生開購書證明購書證明開購書發(fā)票發(fā)票收書費(fèi)領(lǐng)書單發(fā)書學(xué)生人工銷售教材的系統(tǒng)流程圖1/31/2023120信息工程學(xué)院實(shí)例:教材購銷系統(tǒng)的數(shù)據(jù)流圖學(xué)生教材購銷系統(tǒng)購書單領(lǐng)書單缺書單進(jìn)書通知進(jìn)書通知保管員1銷售購書單領(lǐng)書單學(xué)生缺書單進(jìn)書通知2采購保管員第1層第2層教材存量表F1缺書登記表F2外部實(shí)體外部實(shí)體1/31/2023121信息工程學(xué)院實(shí)例:教材購銷系統(tǒng)的數(shù)據(jù)流圖1銷售購書單領(lǐng)書單缺書單進(jìn)書通知2采購進(jìn)書通知缺書登記表教材存量表學(xué)生保管員第2層1/31/2023122信息工程學(xué)院教材銷售子系統(tǒng)無效書單購書單1.3登記并開領(lǐng)書單1.2開發(fā)票1.1審查有效性1.4登記缺書1.5補(bǔ)售教材采購學(xué)生學(xué)生進(jìn)書通知有效書單發(fā)票領(lǐng)書單暫缺書單補(bǔ)售書單第3層教材存量表F1缺書登記表F2F1書號(hào)單價(jià)數(shù)量各班用書表F3售書登記表F4外部項(xiàng)1/31/2023123信息工程學(xué)院實(shí)例:教材購銷系統(tǒng)的數(shù)據(jù)流圖1銷售購書單領(lǐng)書單缺書單進(jìn)書通知2采購進(jìn)書通知缺書登記表教材存量表學(xué)生保管員第2層1/31/2023124信息工程學(xué)院采購子系統(tǒng)
第3層缺書單2.3修改教材庫存和待購量銷售進(jìn)書通知進(jìn)書通知2.1按書號(hào)匯總?cè)睍?.2按出版社統(tǒng)計(jì)缺書保管員教材存量表F1待購教材表F5教材一覽表F6缺書登記表F21/31/2023125信息工程學(xué)院分層數(shù)據(jù)流圖的優(yōu)點(diǎn)便于實(shí)現(xiàn)
采用逐步細(xì)化的擴(kuò)展方法,可避免一次引入過多的細(xì)節(jié),有利于控制問題的復(fù)雜度。
直觀,一目了然便于使用
用一組圖代替一張總圖,方便用戶及軟件開發(fā)人員閱讀。1/31/2023126信息工程學(xué)院數(shù)據(jù)流程圖的繪制方法(1)由外向內(nèi),先外部后內(nèi)部,先粗后細(xì);(2)由頂向下,先父圖后子圖;(3)由左向右,從輸入到處理到輸出;(4)由主到次,先處理一般情況,再處理特例、出錯(cuò)等特殊情況;1/31/2023127信息工程學(xué)院(5)合理命名,唯一標(biāo)識(shí),反映層次,例如P5表示第5個(gè)子系統(tǒng)的處理邏輯;P3.5表示第一層第3個(gè)處理中對應(yīng)的第二層第5個(gè)處理邏輯;(6)父子圖平衡(一致),下面將詳細(xì)介紹;(7)以層次不超過4,每層處理不超過7為宜,最終畫到功能模塊處理邏輯和數(shù)據(jù)庫設(shè)計(jì);(8)盡量避免數(shù)據(jù)流的線條交叉。1/31/2023128信息工程學(xué)院畫分層DFD圖的基本原則數(shù)據(jù)守恒與數(shù)據(jù)流封閉原則所謂數(shù)據(jù)守恒是指加工的輸入/輸出數(shù)據(jù)流是否匹配,即每一個(gè)加工既有輸入數(shù)據(jù)流又有輸出數(shù)據(jù)流?;蛘哒f一個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流,一個(gè)輸出數(shù)據(jù)流。數(shù)據(jù)封閉是對整個(gè)系統(tǒng)而言。1/31/2023129信息工程學(xué)院加工分解的原則自然性:概念上合理、清晰;均勻性:理想的分解是將一個(gè)問題分解成大小均勻的幾個(gè)部分;分解度:一般每一個(gè)加工每次分解最多不要超過7個(gè)子加工,分解應(yīng)分解到基本加工為止。每一個(gè)加工每次可分為2-4個(gè)子加工,最多不得超過7個(gè)。1/31/2023130信息工程學(xué)院畫分層DFD圖的基本原則子圖與父圖的“平衡”——數(shù)據(jù)、功能完備性
父圖中某個(gè)加工的輸入輸出數(shù)據(jù)流應(yīng)該同相應(yīng)的子圖的輸入輸出相同(相對應(yīng)),分層數(shù)據(jù)流圖的這種特點(diǎn)稱為子圖與父圖“平衡”。發(fā)票1.3開領(lǐng)書單領(lǐng)書單(a)父圖1.3.1學(xué)生領(lǐng)書單1.3.21.3.3教材(b)子圖1/31/2023131信息工程學(xué)院畫分層DFD圖的基本原則遵守加工編號(hào)規(guī)則
頂層加工不編號(hào)。第二層的加工編號(hào)為1,2,3,…,n號(hào)。第三層編號(hào)為1.1,1.2,1.3…n.1,n.2…等,依此類推。區(qū)分局部文件和局部外部項(xiàng)采購子系統(tǒng)
缺書單2.3修改教材庫存和待購量銷售進(jìn)書通知進(jìn)書通知2.1按書號(hào)匯總?cè)睍?.2按出版社統(tǒng)計(jì)缺書保管員教材存量表F1待購教材表F5教材一覽表F6缺書登記表F2局部外部項(xiàng)局部文件1/31/2023132信息工程學(xué)院分層DFD的改進(jìn)DFD圖必須經(jīng)過反復(fù)修改,才能獲得最終的目標(biāo)系統(tǒng)的邏輯模型(目標(biāo)系統(tǒng)的DFD圖)??蓮囊韵路矫婵紤]DFD圖的改進(jìn):1.檢查數(shù)據(jù)流的正確性①數(shù)據(jù)守恒②子圖、父圖的平衡③文件使用是否合理。特別注意輸入/出文件的數(shù)據(jù)流。1/31/2023133信息工程學(xué)院2.改進(jìn)DFD圖的易理解性①簡化加工之間的聯(lián)系(加工間的數(shù)據(jù)流越少,獨(dú)立性越強(qiáng),易理解性越好)。②改進(jìn)分解的均勻性。③適當(dāng)命名(各成分名稱無二義性,準(zhǔn)確、具體)。1/31/2023134信息工程學(xué)院1/31/2023135信息工程學(xué)院定貨系統(tǒng)的基本系統(tǒng)模型定貨系統(tǒng)的功能級(jí)數(shù)據(jù)流圖1/31/2023136信息工程學(xué)院把處理事務(wù)的功能進(jìn)一步分解后的數(shù)據(jù)流圖1/31/2023137信息工程學(xué)院3.命名數(shù)據(jù)流圖中每個(gè)成分的命名是否恰當(dāng),直接影響數(shù)據(jù)流圖的可理解性。在命名時(shí)應(yīng)注意的問題:1.為數(shù)據(jù)流(或數(shù)據(jù)存儲(chǔ))命名:(1)名字應(yīng)代表整個(gè)數(shù)據(jù)流(或數(shù)據(jù)存儲(chǔ))的內(nèi)容,而不是僅僅反映它的某些成分(2)不要使用空洞的、缺乏具體含義的名字(3)如果在為某個(gè)數(shù)據(jù)流(或數(shù)據(jù)存儲(chǔ))起名字時(shí)遇到了困難,則很可能是因?yàn)閷?shù)據(jù)流圖分解不恰當(dāng)造成的,應(yīng)該試試重新分界,看是否能克服這個(gè)困難。1/31/2023138信息工程學(xué)院2、為處理命名(1)通常先為數(shù)據(jù)流命名,然后再為與之相關(guān)聯(lián)的處理命名。(2)名字應(yīng)該反映整個(gè)處理的功能,而不是它的一部分功能。(3)名字最好由一個(gè)具體的及物動(dòng)詞加上一個(gè)具體的賓語組成。1/31/2023139信息工程學(xué)院(4)通常名字中僅包括一個(gè)動(dòng)詞,如果必須用兩個(gè)動(dòng)詞才能描述整個(gè)處理的功能,則把這個(gè)處理再分解成兩個(gè)處理可能更恰當(dāng)些。(5)如果在為某個(gè)處理命名時(shí)遇到困難,則很可能是發(fā)現(xiàn)了分解不當(dāng)?shù)嫩E象,應(yīng)考慮重新分解。1/31/2023140信息工程學(xué)院4.用途數(shù)據(jù)流圖的用途:1、畫數(shù)據(jù)流圖的基本目的是利用它作為交流信息的工具。分析員把他對現(xiàn)有系統(tǒng)的認(rèn)識(shí)或?qū)δ繕?biāo)系統(tǒng)的設(shè)想用數(shù)據(jù)流圖描繪出來,供有關(guān)人員審查確認(rèn)。由于在數(shù)據(jù)流圖中只用4種基本符號(hào),因些用戶很好理解和評價(jià)。1/31/2023141信息工程學(xué)院2、數(shù)據(jù)流圖的另一個(gè)目的是作為分析和設(shè)計(jì)的工具。當(dāng)用數(shù)據(jù)流圖輔助物理系統(tǒng)的設(shè)計(jì)時(shí),以圖中不同處理的定時(shí)要求為指南,能夠在數(shù)據(jù)流圖上畫出許多組自動(dòng)化邊界,每組自動(dòng)化邊界可能意味著一個(gè)不同的物理系統(tǒng)。1/31/2023142信息工程學(xué)院這種劃分自動(dòng)化邊界的方法暗示以批量方式更新庫存清單另一種劃分自動(dòng)化邊界的方法建議以聯(lián)機(jī)方式更新庫存清單1/31/2023143信息工程學(xué)院3.3.3數(shù)據(jù)字典1.數(shù)據(jù)字典的內(nèi)容2.定義數(shù)據(jù)的方法3.數(shù)據(jù)字典的用途4.數(shù)據(jù)字典的實(shí)現(xiàn)1/31/2023144信息工程學(xué)院數(shù)據(jù)字典是指對數(shù)據(jù)的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理邏輯、外部實(shí)體等進(jìn)行定義和描述,其目的是對數(shù)據(jù)流程圖中的各個(gè)元素做出詳細(xì)的說明。數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小組成單位,不可再分,數(shù)據(jù)項(xiàng)可以是字母、數(shù)字或兩者的組合,數(shù)據(jù)項(xiàng)用來描述實(shí)體的某種屬性。數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)存儲(chǔ)、組織數(shù)據(jù)的方式。數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。數(shù)據(jù)字典的定義1/31/2023145信息工程學(xué)院數(shù)據(jù)流是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑,因此由一組成分固定的數(shù)據(jù)組成。數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)流在加工過程中產(chǎn)生的臨時(shí)文件或加工過程中需要查找的信息。數(shù)據(jù)以某種格式記錄在計(jì)算機(jī)內(nèi)部或外部存儲(chǔ)介質(zhì)上。數(shù)據(jù)存儲(chǔ)要命名,這種命名要反映信息特征的組成含義。數(shù)據(jù)流反映了系統(tǒng)中流動(dòng)的數(shù)據(jù),表現(xiàn)出動(dòng)態(tài)數(shù)據(jù)的特征;數(shù)據(jù)存儲(chǔ)反映系統(tǒng)中靜止的數(shù)據(jù),表現(xiàn)出靜態(tài)數(shù)據(jù)的特征。1/31/2023146信息工程學(xué)院數(shù)據(jù)字典(Datadictionary)是一種用戶可以訪問的記錄數(shù)據(jù)庫和應(yīng)用程序源數(shù)據(jù)的目錄。主動(dòng)數(shù)據(jù)字典是指在對數(shù)據(jù)庫或應(yīng)用程序結(jié)構(gòu)進(jìn)行修改時(shí),其內(nèi)容可以由DBMS(是一種操縱和管理數(shù)據(jù)庫的大型軟件,用于建立、使用和維護(hù)數(shù)據(jù)庫,簡稱DBMS)自動(dòng)更新的數(shù)據(jù)字典。被動(dòng)數(shù)據(jù)字典是指修改時(shí)必須手工更新其內(nèi)容的數(shù)據(jù)字典。1/31/2023147信息工程學(xué)院1.數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)字典由數(shù)據(jù)條目組成,數(shù)據(jù)字典描述、組織和管理數(shù)據(jù)流圖的數(shù)據(jù)流、加工、數(shù)據(jù)源及外部實(shí)體。數(shù)據(jù)字典用簡潔、清晰、易理解的文字描述條目,說明數(shù)據(jù)流圖的加工功能、性能、要求及設(shè)計(jì)約束等。數(shù)據(jù)流圖與數(shù)據(jù)字典配套使用,完整地描述軟件需求。1/31/2023148信息工程學(xué)院數(shù)據(jù)字典對數(shù)據(jù)流圖中出現(xiàn)的所有元素給出定義數(shù)據(jù)流的名稱,由哪些數(shù)據(jù)項(xiàng)組成,數(shù)據(jù)流的來源與去處,流通量(產(chǎn)生頻率:多長時(shí)間傳送多少次)及高峰流通量。數(shù)據(jù)存儲(chǔ)(數(shù)據(jù)庫)的名稱與結(jié)構(gòu),流入與流出的數(shù)據(jù)流名稱;處理邏輯的名稱、編號(hào)、主要功能,流入與流出的數(shù)據(jù)流名稱;數(shù)據(jù)項(xiàng)的名稱、編號(hào)、類型、長度、取值范圍外部實(shí)體名稱,流入與流出的數(shù)據(jù)流名稱1/31/2023149信息工程學(xué)院數(shù)據(jù)字典的每一個(gè)詞條一般包含下列具體內(nèi)容:一般信息—名字、描述等;定義—數(shù)據(jù)類型、長度、結(jié)構(gòu)等;使用特點(diǎn)—值的范圍、使用頻率、使用方式等;控制信息—來源、用戶、調(diào)用程序、權(quán)限等;分組信息—所在位置、從屬結(jié)構(gòu)等。數(shù)據(jù)字典與數(shù)據(jù)流圖密切配合,能清楚、無二義性地表達(dá)數(shù)據(jù)處理的要求1/31/2023150信息工程學(xué)院數(shù)據(jù)字典中還應(yīng)該包含關(guān)于數(shù)據(jù)的一些其他信息:一般信息、定義、使用特點(diǎn)、控制信息和分組信息。在數(shù)據(jù)字典中記錄數(shù)據(jù)元素的下列信息:一般信息(名字,別名,描述等),定義(數(shù)據(jù)類型,長度,結(jié)構(gòu)等),使用特點(diǎn)(值的范圍,使用頻率,使用方式—輸入、輸出、本地,條件值等),控制信息(來源,用戶,使用它的程序,改變權(quán),使用權(quán)等)和分組信息(父結(jié)構(gòu),從屬結(jié)構(gòu),物理位置—記錄、文件和數(shù)據(jù)庫等)。1/31/2023151信息工程學(xué)院數(shù)據(jù)元素的別名就是該元素的其他等價(jià)的名字,出現(xiàn)別名主要有下述三個(gè)原因:(1)對于同樣的數(shù)據(jù),不同的用戶使用了不同的名字。(2)一個(gè)分析員在不同時(shí)期對同一個(gè)數(shù)據(jù)使用權(quán)了不同的名字。(3)兩個(gè)分析員分別分析同一個(gè)數(shù)據(jù)流時(shí),使用了不同的名字使用時(shí)盡量減少出現(xiàn)別名。但不能完全消除。1/31/2023152信息工程學(xué)院大型軟件項(xiàng)目的數(shù)據(jù)字典規(guī)模龐大,利用數(shù)據(jù)流分析的CASE工具對數(shù)據(jù)字典實(shí)施管理(1)對新數(shù)據(jù)條目進(jìn)行重名檢查。(2)維護(hù)數(shù)據(jù)字典和數(shù)據(jù)流圖的一致性。(3)自動(dòng)完成數(shù)據(jù)條目查詢。如:該條目在何處使用?修改數(shù)據(jù)流圖會(huì)對哪些數(shù)據(jù)條目產(chǎn)生影響?修改某個(gè)數(shù)據(jù)條目又會(huì)造成哪些影響?1/31/2023153信息工程學(xué)院2.定義數(shù)據(jù)的方法定義絕大多數(shù)復(fù)雜事物的方法,都是用被定義的事物的成分的某種組合表示這個(gè)事物,這些級(jí)成成分又由更低層的組合來定義。因此數(shù)據(jù)字典中的定義就是對數(shù)據(jù)自頂向下的分解。一般說來,當(dāng)分解到不需要進(jìn)一步定義,每個(gè)和工程有關(guān)的人也都清楚其含義的元素時(shí),這種分解過程就完成了。1/31/2023154信息工程學(xué)院由數(shù)據(jù)元素組成數(shù)據(jù)的方式只有下述幾種基本類型:(1)順序:即以確定次序連接兩個(gè)或多個(gè)分量。(2)選擇:即從兩個(gè)或多個(gè)可能的元素中選取一個(gè)。(3)重復(fù):即把指定的分量重復(fù)零次或多次。(4)可選:即一個(gè)分量是可有可無的(重復(fù)零次或一次)1/31/2023155信息工程學(xué)院為了更加清晰簡潔,建議采用下列符號(hào):=意思是等價(jià)于(或定義為);+意思是和(即,連接兩個(gè)分量);[]意思是或(即,從方括弧內(nèi)列出的若干個(gè)分量中選擇一個(gè))
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子版CFA考試試題及答案資源
- 2024特許金融分析師課程內(nèi)容透視與試題及答案
- 2024年CFA復(fù)習(xí)計(jì)劃試題及答案
- 針對性備考2024年特許金融分析師考試試題及答案
- CFA考試復(fù)習(xí)計(jì)劃試題及答案分析
- 2025年江西省六校高考英語第二次聯(lián)考試卷
- 2024年CFA復(fù)習(xí)必考試題及答案
- 2024年特許金融分析師學(xué)習(xí)交流試題及答案
- CFA考試策略試題及答案解讀
- 企業(yè)價(jià)值評估的方法與案例試題及答案
- 1、工貿(mào)行業(yè)重大事故隱患重點(diǎn)排查事項(xiàng)清單
- 2025年青島平度市人民檢察院招考編外書記員高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 中小學(xué)學(xué)三年發(fā)展規(guī)劃(2025-2028)
- 2025年紀(jì)檢工作要點(diǎn)
- 醫(yī)院工程材料采購合同范本
- 2025年安徽中醫(yī)藥高等??茖W(xué)校單招職業(yè)適應(yīng)性測試題庫有答案
- DeepSeek+DeepResearch-讓科研像聊天一樣簡單(內(nèi)含AI學(xué)術(shù)工具公測版)
- 宋代農(nóng)書研究出版對宋代農(nóng)業(yè)研究的價(jià)值4篇
- 5.2《稻》教案-【中職專用】高二語文同步教學(xué)(高教版2023·拓展模塊下冊)
- 2025年超長期特別國債申報(bào)工作及成功案例
- 電梯困人培訓(xùn)課件
評論
0/150
提交評論