




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四章軟件需求工程軟件工程課件1第四章軟軟件需求工程4.1軟件需求求工程基基礎(chǔ)4.2軟件需求求獲取4.3傳統(tǒng)的需需求分析析方法4.4面向?qū)ο笙蟮男枨笄蠓治?.5快速原型型化方法法4.6軟件需求求規(guī)格說(shuō)說(shuō)明4.7軟件需求求評(píng)審4.8軟件需求求管理2軟件工程程4.1軟件需求求工程基基礎(chǔ)軟件需求求工程的的基本任任務(wù)是準(zhǔn)準(zhǔn)確地回回答“軟軟件系統(tǒng)統(tǒng)必須做做什么??”這個(gè)個(gè)問(wèn)題。。它在系系統(tǒng)工程程和軟件件設(shè)計(jì)之之間起到到橋梁的的作用。。軟件需求求工程是是軟件生生存周期期中重要要的一步步,也是是決定性性的一步步。只有有通過(guò)軟軟件需求求工程的的活動(dòng)才才能把軟軟件功能能和性能能的總體體概念描描述為具具體的軟軟件需求求規(guī)格說(shuō)說(shuō)明,從從而奠定定軟件開(kāi)開(kāi)發(fā)的基基礎(chǔ)。系統(tǒng)工程軟件需求工程軟件設(shè)計(jì)工程3軟件工程程軟件需求求的定義義和層次次1997年IEEE在《軟件工程程標(biāo)準(zhǔn)詞匯表》對(duì)需求((requirement)所作出出的定義義為:用戶為解解決某一一問(wèn)題或或?yàn)檫_(dá)到到某個(gè)目目標(biāo)所需需要的條條件或能能力。(需方))系統(tǒng)或系系統(tǒng)部件件為滿足足合同、、標(biāo)準(zhǔn)、、規(guī)格說(shuō)說(shuō)明或其其他正式式的強(qiáng)制制性文檔檔所必須須具有的的條件或或能力。。(供方))對(duì)在a)和b)中所描述述的條件件或能力力的文檔檔化說(shuō)明明。4軟件工程程GB/T11457―2006《《信息技術(shù)術(shù)軟件件工程術(shù)術(shù)語(yǔ)》等同采用用了這個(gè)個(gè)定義。。它從兩兩個(gè)方面面闡述了了需求的的含義::從用戶角角度要求求系統(tǒng)應(yīng)應(yīng)具有的的外部行行為從開(kāi)發(fā)者者角度要要求系統(tǒng)統(tǒng)應(yīng)具有有的內(nèi)部部特性最后強(qiáng)調(diào)調(diào)了需求求一定要要文檔化化。軟件需求求包括3個(gè)不同的的層次::業(yè)務(wù)需求求、用戶需求求、功能需求求和非功功能需求求。不同層次次是從不不同角度度與不同同程度反反映著細(xì)細(xì)節(jié)問(wèn)題題。5軟件工程程業(yè)務(wù)需求求(BusinessRequirement)業(yè)務(wù)需求求反映了了組織或或客戶高高層次的的目標(biāo)要要求。業(yè)務(wù)需求求主要來(lái)來(lái)自于項(xiàng)項(xiàng)目的投投資人、、購(gòu)買(mǎi)產(chǎn)產(chǎn)品的客客戶、實(shí)實(shí)際用戶戶的管理理者、市市場(chǎng)營(yíng)銷銷部門(mén)或或產(chǎn)品策策劃部門(mén)門(mén)。業(yè)務(wù)需求求描述了了組織的的愿景,,即為什么要要開(kāi)發(fā)一一個(gè)系統(tǒng)統(tǒng);系統(tǒng)的業(yè)業(yè)務(wù)范圍圍、業(yè)務(wù)對(duì)象象、客戶、特性、價(jià)值和各種特特性的優(yōu)優(yōu)先級(jí)別別等。6軟件工程程用戶需求求描述了了要求系系統(tǒng)必須須完成的的任務(wù),,即用戶戶對(duì)系統(tǒng)統(tǒng)的目標(biāo)標(biāo)要求。。用戶需求求通常只只涉及系系統(tǒng)的外外部可見(jiàn)見(jiàn)行為,,不涉及及系統(tǒng)的的內(nèi)部特特性。用戶需要要是用戶真真正需要要的東西西,用戶需求求是用戶對(duì)對(duì)其需要要的一種種陳述,,但這種種陳述可可能與它它們的需需要不一一致。用戶需求求一般采采用自然然語(yǔ)言和和直觀圖圖形相結(jié)結(jié)合的方方式描述述,例如如采用用用例(UseCase)文檔或或場(chǎng)景((Scenario)等方式式說(shuō)明。。用戶需求求(userRequirement)7軟件工程程功能需求求和非功功能需求求功能需求求定義了了開(kāi)發(fā)者者應(yīng)提供供的軟件件功能或或服務(wù),,但不涉涉及這些些功能或或服務(wù)的的實(shí)現(xiàn)。。非功能需需求則是是對(duì)功能能需求的的補(bǔ)充,,包括了了對(duì)系統(tǒng)統(tǒng)的各種種限制和和用戶對(duì)對(duì)系統(tǒng)的的質(zhì)量要要求。特性是指指邏輯上上相關(guān)的的功能需需求的集集合以滿滿足業(yè)務(wù)務(wù)需求。。功能需求求記錄在在軟件需需求規(guī)格格說(shuō)明((SRS)中。非功能需需求的描描述如下下:8軟件工程程產(chǎn)品需求性能實(shí)時(shí)性;其他時(shí)間限制,包括響應(yīng)時(shí)間、處理時(shí)間、包傳送時(shí)間等;資源配置需求,包括內(nèi)存容量、磁盤(pán)容量、緩存容量、硬軟件支持等;處理精度、單位時(shí)間處理量、網(wǎng)絡(luò)流通量等。接口相關(guān)硬件接口、軟件接口、人機(jī)接口可靠性可用性(系統(tǒng)無(wú)故障運(yùn)行時(shí)間所占總運(yùn)行時(shí)間的百分比)完整性(系統(tǒng)的行為遵從用戶需求所期望行為的百分比)安全性系統(tǒng)一旦發(fā)生故障降低損失防止嚴(yán)重危害的能力保密性防止非法訪問(wèn)保證信息不泄露的能力9軟件工程程產(chǎn)品需求運(yùn)行限制使用頻度、運(yùn)行期限;控制方式(如本地控制還是遠(yuǎn)程控制);對(duì)操作員的需求;物理限制對(duì)系統(tǒng)的規(guī)模等限制。過(guò)程需求開(kāi)發(fā)類型(實(shí)用型開(kāi)發(fā)還是試驗(yàn)型開(kāi)發(fā)?是有機(jī)型、嵌入型還是半獨(dú)立型項(xiàng)目?)開(kāi)發(fā)工作量估計(jì)對(duì)資源、開(kāi)發(fā)時(shí)間及交付的安排開(kāi)發(fā)方法應(yīng)遵循的規(guī)范和標(biāo)準(zhǔn)(如開(kāi)發(fā)規(guī)范、文檔規(guī)范、專業(yè)標(biāo)準(zhǔn)等)里程碑和評(píng)審(如對(duì)階段制品設(shè)置檢查點(diǎn)和評(píng)審內(nèi)容)質(zhì)量控制標(biāo)準(zhǔn)及驗(yàn)收標(biāo)準(zhǔn)(如質(zhì)量檢驗(yàn)指標(biāo))10軟件工程程系統(tǒng)需求求來(lái)自于于系統(tǒng)分分析和結(jié)結(jié)構(gòu)設(shè)計(jì)計(jì)。例如,有有一個(gè)電電信計(jì)費(fèi)費(fèi)系統(tǒng),,它包括括許多業(yè)業(yè)務(wù)規(guī)則則,這些些業(yè)務(wù)規(guī)規(guī)則與企企業(yè)方針針、政府府條例、、會(huì)計(jì)準(zhǔn)準(zhǔn)則、計(jì)計(jì)算方法法有關(guān),,它們本本身并非非軟件需需求,因因?yàn)樗鼈儌儾粚儆谟谌魏翁靥囟ǖ能涇浖到y(tǒng)統(tǒng)的范圍圍,它們們屬于系系統(tǒng)需求求。過(guò)程需求建立可理解性、可修改性、可移植性、可測(cè)試性、效率等質(zhì)量需求并設(shè)置優(yōu)先級(jí)可維護(hù)性系統(tǒng)需求求11軟件工程程功能需求非功能需求系統(tǒng)需求軟件需求規(guī)格說(shuō)明質(zhì)量屬性外部接口約束業(yè)務(wù)需求愿景和范圍文檔用戶需求用例文檔功能需求業(yè)務(wù)需求12軟件工程程所有的用用戶需求求必須與與業(yè)務(wù)需需求一致致。功能需求求必須從從用戶需需求中提提取,以以滿足用用戶對(duì)產(chǎn)產(chǎn)品的要要求從而而完成其其任務(wù)。。開(kāi)發(fā)人員員應(yīng)根據(jù)據(jù)功能需需求來(lái)設(shè)設(shè)計(jì)軟件件以實(shí)現(xiàn)現(xiàn)必須的的功能。。功能需求求從外部部(用戶戶角度))描述了了軟件系系統(tǒng)所應(yīng)應(yīng)具有的的行為。。對(duì)一個(gè)復(fù)復(fù)雜產(chǎn)品品來(lái)說(shuō),,軟件功功能需求求也許只只是系統(tǒng)統(tǒng)需求的的一個(gè)子子集。各種需求求的關(guān)系系13軟件工程程非功能需需求作為為功能需需求的補(bǔ)補(bǔ)充,包包括產(chǎn)品必須須遵從的的標(biāo)準(zhǔn)、、規(guī)范和和合約;;外部接口口的具體體細(xì)節(jié);;性能要求求;設(shè)計(jì)或?qū)崒?shí)現(xiàn)的約約束條件件及質(zhì)量量屬性。。約束是指指在軟件件產(chǎn)品設(shè)設(shè)計(jì)和構(gòu)構(gòu)造上的的限制。。質(zhì)量屬性性是通過(guò)過(guò)多種角角度對(duì)產(chǎn)產(chǎn)品的特特點(diǎn)進(jìn)行行描述,,從而反反映產(chǎn)品品功能。。多角度描描述產(chǎn)品品對(duì)用戶戶和開(kāi)發(fā)發(fā)者都極極為重要要。14軟件工程程軟件需求求工程過(guò)過(guò)程軟件需求求工程階階段研究究的對(duì)象象是軟件件項(xiàng)目的的用戶需需要。需需要注意意的是,,必須全面地理理解用戶的各各種需求求分析和澄澄清模糊的用用戶需求求準(zhǔn)確地表表達(dá)被接受的的用戶需需求只有經(jīng)過(guò)過(guò)確切描描述的軟軟件需求求才能成成為軟件件設(shè)計(jì)的的基礎(chǔ)。。軟件需求求工程需需要執(zhí)行行的活動(dòng)動(dòng)包括::15軟件工程程1)確定目標(biāo)標(biāo)系統(tǒng)將將要面對(duì)對(duì)的各類類用戶;;2)從各類用用戶的代代表那里里收集需需求;3)了解用戶戶的任務(wù)務(wù)和目標(biāo)標(biāo),以及及這些任任務(wù)要實(shí)實(shí)現(xiàn)的業(yè)業(yè)務(wù)目標(biāo)標(biāo);4)分析從用用戶那里里得到的的信息,,將用戶戶的任務(wù)務(wù)和目標(biāo)標(biāo)與軟件件的功能能需求、、非功能能需求、、業(yè)務(wù)規(guī)規(guī)則、解解決方案案建議及及其他無(wú)無(wú)關(guān)信息息區(qū)分開(kāi)開(kāi)來(lái);5)將頂層的的需求分分配到軟軟件系統(tǒng)統(tǒng)構(gòu)架內(nèi)內(nèi)定義好好的軟件件成分中中;6)了解各個(gè)個(gè)質(zhì)量屬屬性的相相對(duì)重要要性;16軟件工程程8)協(xié)商需求求的實(shí)現(xiàn)現(xiàn)優(yōu)先級(jí)級(jí);9)將收集的的用戶需需求表述述為書(shū)面面的需求求規(guī)格說(shuō)說(shuō)明和模模型;10)審閱需求求文檔,,以確保保在認(rèn)識(shí)識(shí)上與用用戶需求求相一致致。應(yīng)在在開(kāi)發(fā)組組接受需需求之前前解決所所有分岐岐。軟件開(kāi)發(fā)發(fā)的目標(biāo)標(biāo)是實(shí)現(xiàn)現(xiàn)目標(biāo)系統(tǒng)統(tǒng)的物理理模型,即確定定待開(kāi)發(fā)發(fā)系統(tǒng)的的各種軟軟件成分分,并將將功能和和信息結(jié)結(jié)構(gòu)分配配到這些些軟件成成分中。。但是目目標(biāo)系統(tǒng)統(tǒng)的具體體物理模模型是由由當(dāng)前系統(tǒng)統(tǒng)的具體體物理模模型經(jīng)過(guò)過(guò)一系列列的轉(zhuǎn)換換得到的。。17軟件工程程軟件需求求工程的的任務(wù)就就是借助助于當(dāng)前系統(tǒng)統(tǒng)的邏輯輯模型導(dǎo)導(dǎo)出目標(biāo)標(biāo)系統(tǒng)的的邏輯模模型,解決目目標(biāo)系統(tǒng)統(tǒng)“做什么”的問(wèn)問(wèn)題。目標(biāo)系統(tǒng)當(dāng)前系統(tǒng)物理模型邏輯模型模型化抽象化物理模型邏輯模型具體化實(shí)例化理解需求導(dǎo)出怎么做做什么18軟件工程程Abran和Moore的軟件需需求工程程過(guò)程模模型(未未包括需需求管理理)用戶需求和系統(tǒng)需求需求規(guī)格說(shuō)明用戶需求草稿分析模型可行性研究分析建模需求獲取需求描述需求有效性驗(yàn)證19軟件工程程需求獲取取1)定義需求求開(kāi)發(fā)過(guò)過(guò)程2)定義項(xiàng)目目愿景和和范圍3)確定用戶戶群4)選擇用戶戶代理人人5)確定用例例6)確定系統(tǒng)統(tǒng)事件和和響應(yīng)7)描述軟件件的功能和性能8)指明軟件件與其他他系統(tǒng)元元素的接口9)建立軟件件必須滿滿足的約束20軟件工程程分析建模模分析可行行性確定需求求優(yōu)先級(jí)級(jí)為需求建建模創(chuàng)建數(shù)據(jù)據(jù)字典將需求分分配至各各子系統(tǒng)統(tǒng)應(yīng)用質(zhì)量量功能進(jìn)進(jìn)行調(diào)整整分析模型型為日后后軟件設(shè)設(shè)計(jì)提供供了可被被翻譯成成數(shù)據(jù)、體系結(jié)構(gòu)構(gòu)、接口和處理過(guò)程程設(shè)計(jì)的模模型。21軟件工程程需求描述述需求規(guī)格格說(shuō)明為為開(kāi)發(fā)人人員和用用戶提供供軟件開(kāi)開(kāi)發(fā)完成成時(shí)質(zhì)量量評(píng)價(jià)的的依據(jù)。。采用SRS模板確定需求求來(lái)源唯一標(biāo)識(shí)識(shí)每項(xiàng)需需求記錄業(yè)務(wù)務(wù)規(guī)范定義質(zhì)量量屬性需求有效效性驗(yàn)證證審查需求求文檔,,確定合合格標(biāo)準(zhǔn)準(zhǔn)22軟件工程程4.2軟件需求求獲取需求獲取取的目標(biāo)標(biāo)是確定定用戶“需要”什么樣的的軟件產(chǎn)產(chǎn)品,即即新的軟件件必須能能夠做什什么。沒(méi)有專業(yè)業(yè)的系統(tǒng)統(tǒng)分析人人員,用用戶很難難了解到到需要開(kāi)開(kāi)發(fā)什么么相關(guān)信信息和功功能;另另一方面面,沒(méi)有有與用戶戶的交流流,系統(tǒng)統(tǒng)分析人人員也很很難弄清清客戶真真正需要要什么。。發(fā)現(xiàn)用戶戶需求的的過(guò)程稱稱為需求獲取取。一旦提提出了最最初的需需求,進(jìn)進(jìn)一步推推敲、細(xì)細(xì)化和擴(kuò)擴(kuò)充的過(guò)過(guò)程稱為為分析建模模。23軟件工程程需求獲取取過(guò)程需求獲取取包括以以下活動(dòng)動(dòng):發(fā)現(xiàn)和分分析問(wèn)題題發(fā)現(xiàn)問(wèn)題題癥結(jié),,并分析析問(wèn)題的的原因/結(jié)果關(guān)系系。獲取需求根據(jù)對(duì)問(wèn)問(wèn)題的理理解定義義需求。。使用調(diào)查查研究方方法收集集信息;;遵循需求求獲取框框架,按按照三個(gè)個(gè)成分觀觀察:即即數(shù)據(jù)、過(guò)程和接口。需求歸檔檔以草稿形形式歸檔檔調(diào)查結(jié)結(jié)果。形形式有用用例、決決策表、、需求表表等。24軟件工程程需求獲取取技術(shù)的的基本特特征好的需求求獲取技技術(shù),對(duì)對(duì)于規(guī)范范需求獲獲取活動(dòng)動(dòng),高效效準(zhǔn)確地地獲取需需求定義義,是十十分重要要的。好的需求求獲取技技術(shù),應(yīng)應(yīng)具有如如下基本本特征::提供便于于溝通的的工具,,如易于于理解的的語(yǔ)言和和直觀的的圖表;;提供定義義系統(tǒng)邊邊界(交交互)的的方法;;提供支持持抽象的的機(jī)制,,如“分分解”、、“映射射”等;;25軟件工程程鼓勵(lì)分析析員使用用面向問(wèn)問(wèn)題的術(shù)術(shù)語(yǔ)思考考問(wèn)題,,編寫(xiě)文文檔;為分析員員提供多多種可供供選擇的的解決方方案;適應(yīng)需求求的變化化。適于以上上特征的的需求獲獲取方法法:基于數(shù)據(jù)據(jù)流圖的的結(jié)構(gòu)化化分析方方法;基于用例例(usecase)的建模方法法。需求獲取取技術(shù)的的關(guān)鍵點(diǎn)點(diǎn)在于::深入淺出出需求獲取取要盡可可能全面面、細(xì)致致。26軟件工程程獲取的需需求是個(gè)個(gè)全集,系統(tǒng)真真正實(shí)現(xiàn)現(xiàn)的是個(gè)個(gè)子集。分析時(shí)時(shí)的調(diào)研研內(nèi)容并并不都納納入到新新系統(tǒng)中中,目的的在于以以后的擴(kuò)擴(kuò)充。以流程為為主線在與用戶戶交流的的過(guò)程中中,應(yīng)該該用流程程將所有有的內(nèi)容容串起來(lái)來(lái)。如信信息、組組織結(jié)構(gòu)構(gòu)、處理理規(guī)則等等。這樣樣便于交交流溝通通。流程描述述有宏觀觀,也有有微觀。。既要強(qiáng)強(qiáng)調(diào)總體體的業(yè)務(wù)務(wù)流程、、全生存存周期的的業(yè)務(wù)流流程,又又要對(duì)流流程細(xì)化化,有分分支的業(yè)業(yè)務(wù)流程程。27軟件工程程需求獲取取的主要要步驟開(kāi)發(fā)高層層的業(yè)務(wù)務(wù)模型理解應(yīng)用用領(lǐng)域,即目標(biāo)標(biāo)軟件的的應(yīng)用環(huán)環(huán)境。如如銀行、、電信公公司、書(shū)書(shū)店等。。一旦系統(tǒng)統(tǒng)分析人人員對(duì)該該領(lǐng)域有有了充分分了解,,就可以以建立一個(gè)個(gè)業(yè)務(wù)模模型,描述用用戶的業(yè)業(yè)務(wù)過(guò)程程,確定定用戶的的初始需需求。分析出企企業(yè)的業(yè)業(yè)務(wù)實(shí)體體,開(kāi)發(fā)發(fā)或選取取必需的的構(gòu)件,,建立穩(wěn)穩(wěn)定的軟軟件體系系結(jié)構(gòu)。。通過(guò)迭代代,更深深入了解解應(yīng)用領(lǐng)領(lǐng)域,再再回過(guò)頭頭來(lái)推敲敲業(yè)務(wù)模模型。28軟件工程程定義項(xiàng)目目的視圖圖和范圍圍在項(xiàng)目開(kāi)開(kāi)始之前前,在所所有干系系人中豎豎立一個(gè)個(gè)共同的的愿景,,明確供供需各方方的權(quán)利利和義務(wù)務(wù),并發(fā)發(fā)布得到到共識(shí)的的、對(duì)項(xiàng)項(xiàng)目目標(biāo)標(biāo)的理解解。在共同愿愿景的確確立過(guò)程程中要做做兩件事事情:定義項(xiàng)目目范圍:項(xiàng)目范范圍描述述項(xiàng)目該該做什么么,不該該做什么么,可通通過(guò)陳述述和圖表表(如用用例圖或或數(shù)據(jù)流流圖)來(lái)來(lái)表達(dá);;定義高層層需求:高層需需求不涉涉及過(guò)多多的細(xì)節(jié)節(jié),主要要通過(guò)它它表示系系統(tǒng)的概概貌,從從而建立立需求模模型。29軟件工程程尋求需求求的來(lái)源源軟件需求求的來(lái)源源取決于于目標(biāo)系系統(tǒng)的性性質(zhì)和開(kāi)開(kāi)發(fā)環(huán)境境。典型型的需求求來(lái)源是是:與潛在用用戶進(jìn)行行交談和和討論描述現(xiàn)有有產(chǎn)品或或競(jìng)爭(zhēng)產(chǎn)產(chǎn)品的文文檔系統(tǒng)需求求規(guī)格說(shuō)說(shuō)明當(dāng)前系統(tǒng)統(tǒng)的問(wèn)題題報(bào)告和和改進(jìn)要要求市場(chǎng)調(diào)查查和用戶戶問(wèn)卷調(diào)調(diào)查觀察用戶戶如何工工作用戶工作作的場(chǎng)景景分析事件和響響應(yīng)30軟件工程程根據(jù)所受受限制不不同,不不同類型型的應(yīng)用用系統(tǒng)能能夠從用用戶那里里獲取需需求的比比例也不不同。所謂限制制,是指指受客觀觀物理規(guī)規(guī)律的限限制。相對(duì)低的相對(duì)高的從人群獲取需求的大概百分比應(yīng)用的類型高度受限的不受限制的導(dǎo)彈制導(dǎo)系統(tǒng)航班控制系統(tǒng)公司財(cái)務(wù)系統(tǒng)增強(qiáng)版制造控制系統(tǒng)公司財(cái)務(wù)系統(tǒng)視頻游戲軍事戰(zhàn)略決策支持系統(tǒng)31軟件工程程如導(dǎo)彈制制導(dǎo)系統(tǒng)統(tǒng)更多地地受物理理運(yùn)動(dòng)定定律的限限制,而而非人的的決策。。視頻游游戲的大大部分需需求依賴賴人,因因?yàn)樗鞘且粋€(gè)想想象出來(lái)來(lái)的產(chǎn)品品。應(yīng)用受到到的限制制越少,,能從人人們那里里獲得的的需求比比例越大大。識(shí)別用戶戶類和用用戶代表表確定目標(biāo)標(biāo)系統(tǒng)的的不同用用戶類型型;挑選出每每一類用用戶和其其他項(xiàng)目目相關(guān)者者的代表表并與他他們一起起工作;商定誰(shuí)是是項(xiàng)目需需求的決決策者。。32軟件工程程不同用戶戶類可能能還有不不同的非非功能需需求。不同用戶戶類的需需求甚至至可能發(fā)發(fā)生沖突突,導(dǎo)致致需求不不一致。。即使所有有利益相相關(guān)者的的需求一一致,也也可能由由于實(shí)現(xiàn)現(xiàn)代價(jià)高高昂,需需求不能能得到完完全滿足足。用戶類可可以是人人,也可可以是與與系統(tǒng)打打交道的的其他應(yīng)應(yīng)用程序序或硬件件部件。。分析員必必須在項(xiàng)項(xiàng)目初期期便確定定產(chǎn)品有有哪些不不同的用用戶類,,并描述述它們的的特點(diǎn),,這樣就就能從每每個(gè)重要要用戶類類的代表表那里獲獲取用戶戶需求。。33軟件工程程每一個(gè)項(xiàng)項(xiàng)目,包包括企業(yè)業(yè)信息系系統(tǒng)、商商業(yè)應(yīng)用用軟件、、數(shù)據(jù)包包、集成成系統(tǒng)、、嵌入式式系統(tǒng)、、互聯(lián)網(wǎng)網(wǎng)Internet應(yīng)用程序序等,都都需要有有合適的的用戶來(lái)來(lái)提供用用戶需求求。確定目標(biāo)標(biāo)系統(tǒng)的的業(yè)務(wù)工工作流具體到當(dāng)當(dāng)前待開(kāi)開(kāi)發(fā)的應(yīng)應(yīng)用系統(tǒng)統(tǒng),確定定系統(tǒng)的的業(yè)務(wù)工作作流和主要的的業(yè)務(wù)規(guī)則則。例如,針針對(duì)信息息系統(tǒng)的的需求調(diào)調(diào)研方法法如下::1)調(diào)研用戶戶組織結(jié)結(jié)構(gòu)、崗崗位設(shè)置置、職責(zé)責(zé)定義,,從功能能上區(qū)分分子系統(tǒng)統(tǒng),明確確系統(tǒng)范范圍和目目標(biāo)。34軟件工程程調(diào)研每個(gè)個(gè)子系統(tǒng)的處理流程程、功能與處處理規(guī)則則,收集原原始信息息資料,,用數(shù)據(jù)流來(lái)表示物物流、資資金流、、信息流流三者的的關(guān)系。。對(duì)調(diào)研內(nèi)內(nèi)容事先先準(zhǔn)備,,針對(duì)不同同管理層層次的用用戶詢問(wèn)問(wèn)不同的的問(wèn)題,列出問(wèn)問(wèn)題清單單。將操作層、管理層、決策層的需求既既聯(lián)系又又區(qū)分開(kāi)開(kāi)來(lái),形形成一個(gè)個(gè)需求的的層次。。對(duì)與用戶戶溝通的的情況及及時(shí)總結(jié)結(jié)歸納,,整理調(diào)調(diào)研結(jié)果果,初步步構(gòu)成需需求基線線。需求調(diào)研研的形式式可根據(jù)據(jù)需求的的來(lái)源來(lái)來(lái)確定。。35軟件工程程訪談和文文檔記錄錄大部分需需求獲取取是人與與人溝通通的活動(dòng)動(dòng),這些些活動(dòng)經(jīng)經(jīng)過(guò)精心心組織,,以準(zhǔn)確確獲得最最好的效效果。準(zhǔn)備和訪訪談客戶戶的過(guò)程程如下::訪談之前前策劃訪談?wù)劦哪繕?biāo)標(biāo)和內(nèi)容容:通過(guò)查閱閱組織的的組織結(jié)結(jié)構(gòu)圖,,搞清業(yè)業(yè)務(wù)部門(mén)門(mén)的各種種角色,,選擇訪訪談的主主要對(duì)象象預(yù)約訪談?wù)剷r(shí)間準(zhǔn)備訪談?wù)剝?nèi)容,,擬定一一些具體體問(wèn)題36軟件工程程訪談過(guò)程程中引導(dǎo)訪談?wù)剬?duì)象。。發(fā)現(xiàn)業(yè)業(yè)務(wù)流程程背后的的用戶需需求:What:系統(tǒng)要要處理的的業(yè)務(wù)內(nèi)內(nèi)容是什什么。When:系統(tǒng)業(yè)業(yè)務(wù)過(guò)程程的主要要活動(dòng)什什么時(shí)候候發(fā)生,,持續(xù)時(shí)時(shí)間有多多長(zhǎng)。Who:系統(tǒng)業(yè)業(yè)務(wù)過(guò)程程的各個(gè)個(gè)活動(dòng)中中會(huì)有哪哪些相關(guān)關(guān)的人、、物、事事(系統(tǒng)統(tǒng))。Why:為什么么會(huì)出現(xiàn)現(xiàn)這樣的的問(wèn)題。。How:為完成成系統(tǒng)的的業(yè)務(wù)目目標(biāo)所采采用的方方法。37軟件工程程不管用戶戶說(shuō)什么么,分析析員首先先要分析析,然后后置疑,,從而引引導(dǎo)用戶戶說(shuō)出他他們真正正的需求求所在。。訪談之后后根據(jù)標(biāo)準(zhǔn)準(zhǔn)模版撰撰寫(xiě)軟件件需求規(guī)規(guī)格說(shuō)明明SRS,打客戶戶需求草草稿通過(guò)電子子郵件征征求客戶戶意見(jiàn)需求的整整理與描描述開(kāi)發(fā)反映映主要業(yè)業(yè)務(wù)規(guī)則則的用例例(或數(shù)數(shù)據(jù)流圖圖或狀態(tài)態(tài)圖),,與用戶戶溝通。。38軟件工程程收集用戶戶的質(zhì)量量屬性信信息和其其他非功功能需求求,將性能能、安全全性、可可靠性等等需求和和其他設(shè)設(shè)計(jì)約束束結(jié)合業(yè)業(yè)務(wù)規(guī)則則,形成成功能需需求。分類在用用例(或或數(shù)據(jù)流流圖)中中涉及的的數(shù)據(jù),包括數(shù)數(shù)據(jù)的組組成和數(shù)數(shù)據(jù)之間間的關(guān)系系。詳細(xì)擬訂訂用例((或數(shù)據(jù)據(jù)流圖))的規(guī)格格說(shuō)明,建立功功能模型型,并進(jìn)進(jìn)行審查查。開(kāi)發(fā)并評(píng)評(píng)估界面面原型,建立接接口規(guī)范范和信息息流傳輸輸規(guī)則。。從功能描描述中開(kāi)開(kāi)發(fā)概念念測(cè)試用用例,驗(yàn)證用用例(或或數(shù)據(jù)流流圖)、、功能需需求和原原型。39軟件工程程描述用戶戶需求需求可以以看成是是應(yīng)用與與應(yīng)用的的外部代代理(如如用戶))之間的的交互。??衫糜糜美髯鳛楸磉_(dá)達(dá)工具。。用例描述述了系統(tǒng)統(tǒng)外的參參與者((Actor)與應(yīng)用用之間的的交互情情況。主主要注重重用戶對(duì)對(duì)系統(tǒng)的的看法。。描述客戶戶需求的的過(guò)程如如下:1)標(biāo)識(shí)參與與者標(biāo)識(shí)目標(biāo)標(biāo)系統(tǒng)將將支持的的不同類類型的用用戶,可可以是人人、事件件或其他他系統(tǒng)。。2)標(biāo)識(shí)場(chǎng)景景用場(chǎng)景描描述目標(biāo)標(biāo)系統(tǒng)典典型功能能的活動(dòng)動(dòng)細(xì)節(jié),,并與用用戶溝通通,加深深開(kāi)發(fā)人人員對(duì)應(yīng)應(yīng)用領(lǐng)域域的理解解。40軟件工程程3)標(biāo)識(shí)用例例當(dāng)雙方確確定了一一組場(chǎng)景景后,開(kāi)開(kāi)發(fā)人員員從該場(chǎng)場(chǎng)景抽象象出一組組用例,,描述所所有可能能的情況況。用例例表達(dá)了了系統(tǒng)的的范圍。。4)求精用例例細(xì)化每一一個(gè)用例例。引入入帶有出出錯(cuò)處理理或帶有有異常處處理的用用例,描描述系統(tǒng)統(tǒng)的行為為,保證證需求的的描述是是完全的的。5)標(biāo)識(shí)用例例之間的的關(guān)系描述用例例之間的的依賴關(guān)關(guān)系,提提取相同同功能,,建立用用例模型型。6)標(biāo)識(shí)非功功能需求求包括系統(tǒng)統(tǒng)性能上上的約束束、文檔檔、使用用資源、、安全性性和質(zhì)量量等需求求。41軟件工程程需求獲取取期間,,開(kāi)發(fā)人人員需要要訪問(wèn)一一些不同同的信息息資源::客戶提供供的與應(yīng)應(yīng)用領(lǐng)域域相關(guān)的的文檔和和手冊(cè)。。將被目標(biāo)標(biāo)系統(tǒng)替替代的遺遺留系統(tǒng)統(tǒng)的技術(shù)術(shù)文檔。。最終用戶戶和客戶戶本人。。以“圖書(shū)書(shū)管理系系統(tǒng)”為為例,首首先標(biāo)識(shí)識(shí)參與者者:Librarian圖書(shū)管理理員:創(chuàng)建、、修改、、刪除讀讀者信息息;添加加、編輯輯、刪除除書(shū)目信信息;添添加、編編輯、刪刪除圖書(shū)書(shū)信息。。Borrower讀者:借閱、、預(yù)約、、歸還圖圖書(shū),以以及取消消書(shū)目預(yù)預(yù)約。42軟件工程程圖書(shū)(Book)是指某某種書(shū)目目(Title)的某一一流通中中的復(fù)本本。例如如“數(shù)學(xué)學(xué)分析教教程第二二冊(cè)”的的5本館藏復(fù)復(fù)本中的的第3本。識(shí)別用例例:BorrowBook:借閱圖圖書(shū)ReturnBook:返還圖圖書(shū)RecerveTitle:預(yù)約某某種書(shū)目目CancelReservation:取消預(yù)預(yù)約MaintainBorrowerInfo:維護(hù)讀讀者信息息,包括括創(chuàng)建、、修改、、取消讀讀者賬戶戶MaintainTitleInfo:維護(hù)書(shū)書(shū)目信息息,包括括添加43軟件工程程修改、刪刪除書(shū)目目信息MaintainBookInfo:維護(hù)圖圖書(shū)信息息,包括括添加、、修改、、刪除圖圖書(shū)信息息Login:登錄識(shí)別參與與者與用用例之間間的關(guān)系系(場(chǎng)景景)Borrower執(zhí)行BorrowBook、ReturnBook、ReserveTitle、CancelReservation等用例。。Borrower是通過(guò)Librarian完成上述述用例的的工作。。則Borrower與Librarian存在依賴賴關(guān)系。。Librarian還與MaintainBorrowerInfo、Main-tainTitleInfo、MaintainBookInfo交互。44軟件工程程Librarian還需要與與用例Login交互。畫(huà)出用例例圖BorrowerLibrarianBorrowBookReturnBookReserveTitleCancelReservation<<uses>>45軟件工程程用例BorrowBook的規(guī)格說(shuō)說(shuō)明1.1前置條件件:在此此用例開(kāi)開(kāi)始之前前,Librarian必須登錄錄到系統(tǒng)統(tǒng)中。LibrarianLoginMaintainTitleInfoMaintainBookInfoMaintainBorrowerInfo46軟件工程程1.2后置條件件:如果果此用例例執(zhí)行成成功,在在系統(tǒng)中中建立并并存儲(chǔ)一一條借閱閱記錄,,必須時(shí)時(shí)需要?jiǎng)h刪除預(yù)約約記錄。。如果執(zhí)執(zhí)行不成成功,系系統(tǒng)狀態(tài)態(tài)不變。。1.3事件流基本流當(dāng)Borrower借閱某種種書(shū)目,,且Librarian選擇“借借書(shū)”,,則此用用例啟動(dòng)動(dòng)。提供書(shū)目目和讀者者信息。。檢索書(shū)目目(E-1)。確定該書(shū)書(shū)目的物物理復(fù)本本(圖書(shū)書(shū))是否否在架上上(E-2)。47軟件工程程檢索讀者者(E-3)。將圖書(shū)交交給讀者者。創(chuàng)建并存存儲(chǔ)借閱閱記錄。。刪除預(yù)約約記錄。。候補(bǔ)流E-1:若該種種書(shū)目不不存在,,系統(tǒng)顯顯示提示示信息,,用例終終止。E-2:若該種種圖書(shū)都都已借出出,系統(tǒng)統(tǒng)顯示提提示信息息,用例例終止。。E-3:系統(tǒng)中中不存在在該讀者者,系統(tǒng)統(tǒng)顯示提提示信息息,用例例終止。。48軟件工程程與用戶溝溝通的其其他工具具1)數(shù)據(jù)流圖圖某些需求求可以很很自然地地表述為為處理元元素之間間的數(shù)據(jù)據(jù)流。頂層圖即即為系統(tǒng)統(tǒng)與外部部實(shí)體的的交互。。2)狀態(tài)圖有時(shí)把應(yīng)應(yīng)用看作作是幾個(gè)個(gè)狀態(tài)下下的應(yīng)用用,而在在某一確確定時(shí)刻刻的應(yīng)用用始終明明確地處處于某個(gè)個(gè)狀態(tài)中中。這種種狀態(tài)劃劃分對(duì)理理解系統(tǒng)統(tǒng)比較有有益。狀態(tài)的具具體內(nèi)容容到實(shí)現(xiàn)現(xiàn)階段會(huì)會(huì)有確切切的定義義。49軟件工程程借書(shū)過(guò)程程的數(shù)據(jù)據(jù)流圖外部實(shí)體體、數(shù)據(jù)據(jù)流和數(shù)數(shù)據(jù)存儲(chǔ)儲(chǔ)都為候候選對(duì)象象管理員
1借書(shū)檢驗(yàn)2借書(shū)登記索書(shū)單借書(shū)證檢驗(yàn)錯(cuò)誤借書(shū)信息日歷
借閱記錄
讀者信息
圖書(shū)信息
借書(shū)證圖書(shū)50軟件工程程還書(shū)過(guò)程程的數(shù)據(jù)據(jù)流圖系統(tǒng)與外外部實(shí)體體、系統(tǒng)統(tǒng)與數(shù)據(jù)據(jù)存儲(chǔ)的的交互,,構(gòu)成系系統(tǒng)的接接口。相相應(yīng)數(shù)據(jù)據(jù)流構(gòu)成成接口數(shù)數(shù)據(jù)。讀者
3還書(shū)檢驗(yàn)4還書(shū)登記檢驗(yàn)錯(cuò)誤誤還書(shū)信息息日歷
借閱記錄
圖書(shū)51軟件工程程圖書(shū)(對(duì)對(duì)象)的的狀態(tài)圖圖借出在架丟失修補(bǔ)報(bào)廢出借返還丟失丟失注銷損壞上架52軟件工程程圖書(shū)管理理員借書(shū)書(shū)操作的的狀態(tài)圖圖登記讀者信息登記借書(shū)信息findTitle(檢索圖書(shū))login(登錄)findBorrower(查找讀者)reserve(預(yù)約)借書(shū)預(yù)約圖書(shū)手續(xù)完成檢驗(yàn)圖書(shū)borrow(借閱)檢查圖書(shū)狀態(tài)取消findBook(檢索復(fù)本)setLoan(設(shè)借閱狀態(tài))cancel(取消)close(關(guān)閉)檢驗(yàn)讀者借書(shū)53軟件工程程草擬用戶戶界面和和其他接接口建立初始始用戶界界面,是是原型方方法的一一種,目目的是快快速與客客戶溝通通。客戶通常常在看到到應(yīng)用的的圖形用用戶界面(GUI)才能相像到這這個(gè)應(yīng)用用未來(lái)的的樣子。。開(kāi)發(fā)用戶戶界面的的步驟如如下:1)了解客戶戶深入了解解最終用用戶的想想法。根根據(jù)用戶戶的層次次,提供供多種用用戶界面面。知識(shí)和經(jīng)經(jīng)驗(yàn)層次次:計(jì)算機(jī)機(jī)素養(yǎng)、、系統(tǒng)經(jīng)經(jīng)驗(yàn)、使使用類似似應(yīng)用的的經(jīng)驗(yàn)、、教育水水平、閱閱讀水平平、打字字技能等等。54軟件工程程用戶的生生理特征征:年齡、、性別、、左右手手習(xí)慣、、生理障障礙等。。2)理解業(yè)務(wù)務(wù)功能根據(jù)應(yīng)用用的整體體意圖來(lái)來(lái)理解特特定用戶戶界面的的目的。。功能界界面出現(xiàn)現(xiàn)的順序序通??梢砸苑从秤糜脩籼幚砝砣粘I(yè)業(yè)務(wù)的方方式。用戶的任任務(wù)和工工作特征征:應(yīng)用的的使用方方式、使使用頻率率、雇員員的流動(dòng)動(dòng)率、任任務(wù)的重重要性、、任務(wù)的的重復(fù)性性、對(duì)培培訓(xùn)的期期望、工工作類型型等。用戶的心心理特征征:工作態(tài)態(tài)度、能能動(dòng)性、、認(rèn)知方方式等。。55軟件工程程3)理解優(yōu)秀秀界面設(shè)設(shè)計(jì)的原原則目的是加加強(qiáng)視覺(jué)覺(jué)效果。。確保應(yīng)用用的各個(gè)個(gè)界面之之間風(fēng)格格的一致致性:習(xí)慣、、步驟、、視覺(jué)和和感覺(jué)、、位置等等。揣測(cè)用戶戶通常開(kāi)開(kāi)始操作作的地點(diǎn)點(diǎn)導(dǎo)航系統(tǒng)統(tǒng)盡量簡(jiǎn)簡(jiǎn)捷使用分組組和分層層來(lái)強(qiáng)調(diào)調(diào)重要性性級(jí)別4)選擇合適適的窗口口類型五類窗口口:屬性窗口口:展示實(shí)實(shí)體的屬屬性對(duì)話窗口口:完成特特定任務(wù)務(wù)或命令令的信息息56軟件工程程消息窗口口:提供信信息面板窗口口:展示一一組控件件彈出窗口口:突出顯顯示信息息5)制作系統(tǒng)統(tǒng)菜單為用戶提提供一個(gè)個(gè)穩(wěn)定的的、易于于理解的的使用環(huán)環(huán)境,可可以方便便地搜尋尋需要的的選項(xiàng)。。提供一個(gè)個(gè)主菜單單顯示所有有相關(guān)選選擇(僅僅局限于于此)將菜單結(jié)結(jié)構(gòu)與應(yīng)應(yīng)用要完完成的任任務(wù)對(duì)應(yīng)應(yīng)起來(lái)盡量減少少菜單的的級(jí)數(shù)57軟件工程程6)選擇合適適的基于于設(shè)備的的控件提供給用用戶,向向系統(tǒng)發(fā)發(fā)送指示示的實(shí)際際手段,,包括鼠標(biāo)、鍵盤(pán)、觸摸屏、繪圖板、軌跡球、麥克風(fēng)等。7)選擇合適適的基于于界面的的控件即出現(xiàn)在在屏幕上上的符號(hào)號(hào)。用戶戶通過(guò)這這些符號(hào)號(hào)向系統(tǒng)統(tǒng)提出他他的輸入入和操作作意圖,,包括圖標(biāo)、按鈕、復(fù)選框、單選框等。8)組織和安安排窗口口布局多窗口的的排列規(guī)規(guī)則,如如平鋪、、層疊等等。9)選擇合適適的顏色色盡量保持持簡(jiǎn)捷和和低調(diào)。。顏色需需要和諧諧。58軟件工程程需求獲取取可能是是軟件開(kāi)開(kāi)發(fā)中最最困難、、最關(guān)鍵鍵、最易易出錯(cuò)及及最需要要交流的的方面。。表現(xiàn)在在:需求的不不穩(wěn)定性性:在整個(gè)個(gè)軟件生生存周期期內(nèi)軟件件需求會(huì)會(huì)隨著時(shí)時(shí)間的推推移發(fā)生生變化;;需求的不不準(zhǔn)確性性:用戶和和開(kāi)發(fā)人人員的認(rèn)認(rèn)識(shí)會(huì)隨隨著使用用系統(tǒng)實(shí)實(shí)現(xiàn)業(yè)務(wù)務(wù)流程的的實(shí)踐逐逐步提高高,一開(kāi)開(kāi)始不可可能設(shè)想想得面面面俱到。。需求獲取取只有通通過(guò)有效效的客戶戶/開(kāi)發(fā)者的的合作才才能成功功。59軟件工程程分析建模模分析建模模是為了了分析需需求,以以確定項(xiàng)項(xiàng)目的確確切需求求。常用用的分析析模型有有數(shù)據(jù)建建模、功功能建模模和過(guò)程程建模,,從不同同視角描描述目標(biāo)標(biāo)系統(tǒng)。。常用的分分析方法法面向數(shù)據(jù)據(jù)流的結(jié)結(jié)構(gòu)化分分析方法法(SA))面向數(shù)據(jù)據(jù)結(jié)構(gòu)的的Jackson方法(JSD)面向數(shù)據(jù)據(jù)結(jié)構(gòu)的的結(jié)構(gòu)化化數(shù)據(jù)系系統(tǒng)開(kāi)發(fā)發(fā)方法(DSSD)面向?qū)ο笙蟮姆治鑫龇椒?OOA)等60軟件工程程結(jié)構(gòu)化分分析方法法最初只只是著眼眼于數(shù)據(jù)據(jù)流,自頂向下下,逐層層分解,建立系系統(tǒng)的處處理流程程,以數(shù)據(jù)流圖圖和數(shù)據(jù)字典典為主要工工具,建建立系統(tǒng)統(tǒng)的邏輯輯模型。。擴(kuò)充后,,將建模模技術(shù)擴(kuò)擴(kuò)展到數(shù)據(jù)建模模、功能建模模和行為建模模,以實(shí)體體-關(guān)系圖、、數(shù)據(jù)流流圖和控控制流圖圖、狀態(tài)態(tài)-遷移圖為為工具,,數(shù)據(jù)字字典為核核心,從從不同視視點(diǎn)建立立系統(tǒng)的的分析模模型。結(jié)構(gòu)化分分析方法法61軟件工程程結(jié)構(gòu)化分分析的分分析模型型實(shí)體—關(guān)系圖狀態(tài)—遷移圖數(shù)據(jù)流圖圖數(shù)據(jù)對(duì)象象描述加工規(guī)格格說(shuō)明數(shù)據(jù)字典控制規(guī)格格說(shuō)明62軟件工程程數(shù)據(jù)建模模數(shù)據(jù)模型型包括三三種互相相關(guān)聯(lián)的的信息::數(shù)據(jù)對(duì)對(duì)象,描描述對(duì)象象的屬性性,描述述對(duì)象間間相互連連接的關(guān)關(guān)系。在需求分分析階段段描述數(shù)數(shù)據(jù)對(duì)象象和它們們之間的的關(guān)系,,使用了了E-R圖。例如,在在教學(xué)管管理中,,一個(gè)教教師可以以教授零零門(mén)、一一門(mén)或多多門(mén)課程程,每位位學(xué)生也也需要學(xué)學(xué)習(xí)幾門(mén)門(mén)課程。。因此,,教學(xué)管管理中涉涉及的對(duì)對(duì)象有學(xué)學(xué)生、教教師和課課程。63軟件工程程教學(xué)數(shù)據(jù)據(jù)模型學(xué)號(hào)姓名專業(yè)性別……學(xué)生職工號(hào)姓名專業(yè)職稱年齡教師課程號(hào)課程名學(xué)分學(xué)時(shí)……課程學(xué)號(hào)課程號(hào)成績(jī)選課64軟件工程程實(shí)例的關(guān)關(guān)聯(lián)有三三種:一一對(duì)一(1:1);一對(duì)多多(1:m);多對(duì)多(n:m)。這種實(shí)例例的關(guān)聯(lián)聯(lián)稱為““基數(shù)””,基數(shù)數(shù)表明了了“重復(fù)復(fù)性”。。教師學(xué)生教授基數(shù):一位教師基數(shù):多位學(xué)生參與度:必須參與度:可選65軟件工程程XY一個(gè)X與一個(gè)Y相關(guān)聯(lián)一個(gè)X與一個(gè)或多個(gè)Y相關(guān)聯(lián)XY一個(gè)X與零個(gè)或一個(gè)Y相關(guān)聯(lián)XY一個(gè)X與零個(gè),一個(gè)或多個(gè)Y相關(guān)聯(lián)XY一個(gè)X與一個(gè)Y或Z相關(guān)聯(lián)XYZ一個(gè)X與一個(gè)Y與Z相關(guān)聯(lián)XYZ66軟件工程程功能建模模和數(shù)據(jù)據(jù)流最初,結(jié)構(gòu)化分分析方法法僅討論論數(shù)據(jù)流流建模,,目標(biāo)系系統(tǒng)被表表示成如如圖所示示的數(shù)據(jù)據(jù)變換流流程圖。。系統(tǒng)的的功能體體現(xiàn)在核核心的數(shù)數(shù)據(jù)變換換中。外部實(shí)體外部實(shí)體外部實(shí)體外部實(shí)體目標(biāo)系統(tǒng)輸入信息輸入信息輸出信息輸出信息頂層數(shù)據(jù)據(jù)流圖((上下文文環(huán)境圖圖)67軟件工程程數(shù)據(jù)流圖圖中的主主要圖形形元素?cái)?shù)據(jù)加工(數(shù)據(jù)變換)數(shù)據(jù)源或數(shù)據(jù)潭(外部實(shí)體)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)文件或或68軟件工程程分層的數(shù)數(shù)據(jù)流圖圖69軟件工程程實(shí)例:考考務(wù)處理理系統(tǒng)的的功能問(wèn)題陳述述對(duì)考生送送來(lái)的報(bào)報(bào)名單進(jìn)進(jìn)行檢查查;對(duì)合格的的報(bào)名單單編好準(zhǔn)準(zhǔn)考證號(hào)號(hào)后將準(zhǔn)準(zhǔn)考證送送給考生生,并將將匯總后后的考生生名單送送給閱卷卷站;對(duì)閱卷站站送來(lái)的的成績(jī)單單進(jìn)行檢檢查,并并根據(jù)考考試中心心制定的的合格標(biāo)標(biāo)準(zhǔn)審定定合格者者;制作考生生通知單單(含成成績(jī)及合合格/不合格標(biāo)標(biāo)志)送給考生生;按地區(qū)進(jìn)進(jìn)行成績(jī)績(jī)分類統(tǒng)統(tǒng)計(jì)和試試題難度度分析,,產(chǎn)生統(tǒng)統(tǒng)計(jì)分析析表。70軟件工程程功能建模模的步驟驟首先確定定與系統(tǒng)統(tǒng)有交互互關(guān)系的的外部實(shí)實(shí)體。這這些外部部實(shí)體即即為系統(tǒng)統(tǒng)的數(shù)據(jù)據(jù)源和數(shù)數(shù)據(jù)潭,,它們與與系統(tǒng)的的交互構(gòu)構(gòu)成系統(tǒng)統(tǒng)的輸入入和輸出出。外部實(shí)體體有考生生、閱卷卷站和考考試中心心考生:填填交報(bào)名名表,退退還不合合規(guī)定的的報(bào)名表表,得到到準(zhǔn)考證證,得到到考試通通知單。。閱卷站::得到考考生名單單,提交交考試成成績(jī)單,,退還有有誤成績(jī)績(jī)單??荚囍行男模禾峁┕┖细駱?biāo)標(biāo)準(zhǔn),得得到成績(jī)績(jī)分類統(tǒng)統(tǒng)計(jì)表和和試題難難度分析析表。畫(huà)出頂層層數(shù)據(jù)流流圖。頂頂層數(shù)據(jù)據(jù)流圖描描述了系系統(tǒng)與外外部實(shí)體體的交互互,反映映了最主主要業(yè)務(wù)務(wù)處理流流程。上例的頂頂層數(shù)據(jù)據(jù)流圖如如圖4.19所示。其其中的加加工只有有一個(gè),,它代表表了系統(tǒng)統(tǒng)本身。。它的輸輸入數(shù)據(jù)據(jù)流和輸輸出數(shù)據(jù)據(jù)流就是是系統(tǒng)的的輸入和和輸出。。71軟件工程程功能建模模的步驟驟確定與系系統(tǒng)有交交互關(guān)系系的外部實(shí)體體。這些外外部實(shí)體體即為系系統(tǒng)的數(shù)數(shù)據(jù)源和和數(shù)據(jù)潭潭,它們們與系統(tǒng)統(tǒng)的交互互構(gòu)成系系統(tǒng)的輸輸入和輸輸出。本本例外部部實(shí)體有有:考生:填交報(bào)報(bào)名表,,退還不不合規(guī)定定的報(bào)名名表,得得到準(zhǔn)考考證,得得到考試試通知單單。閱卷站:得到考考生名單單,提交交考試成成績(jī)單,,退還有有誤成績(jī)績(jī)單。考試中心:提提供合格格標(biāo)準(zhǔn),,得到成成績(jī)分類類統(tǒng)計(jì)表表和試題題難度分分析表。。畫(huà)出頂層數(shù)據(jù)據(jù)流圖。72軟件工程程考生考務(wù)處理系統(tǒng)考試中心閱卷站不合格報(bào)名表報(bào)名表準(zhǔn)考證考生通知單成績(jī)單合格標(biāo)準(zhǔn)錯(cuò)誤成績(jī)單考生名單統(tǒng)計(jì)分析表頂層數(shù)據(jù)據(jù)流圖描描述了系系統(tǒng)與外外部實(shí)體體的交互互,界定定了系統(tǒng)統(tǒng)的邊界界。73軟件工程程分析考試試業(yè)務(wù)處處理的主主要功能能,建立立第0層數(shù)據(jù)流流圖。第第0層數(shù)據(jù)流流圖細(xì)化化了頂層層數(shù)據(jù)流流圖。它從輸入入端開(kāi)始始,根據(jù)據(jù)考試業(yè)業(yè)務(wù)工作作流程,,畫(huà)出數(shù)數(shù)據(jù)流流流經(jīng)的各各個(gè)加工工,逐步步畫(huà)到輸輸出端,,以反映映數(shù)據(jù)的的實(shí)際處處理過(guò)程程。本例有兩兩個(gè)加工工“登記報(bào)名名表”和“統(tǒng)計(jì)成績(jī)績(jī)”是系統(tǒng)統(tǒng)的主要要功能。。對(duì)每一個(gè)個(gè)加工繼繼續(xù)細(xì)化化。如果果加工內(nèi)內(nèi)還有數(shù)數(shù)據(jù)流,,可將該該加工再再細(xì)分成成幾個(gè)子子加工,,并在各各子加工工之間畫(huà)畫(huà)出數(shù)據(jù)據(jù)流,形形成第1層數(shù)據(jù)流流圖。74軟件工程程報(bào)名表準(zhǔn)考證1登記報(bào)名表2統(tǒng)計(jì)成績(jī)不合格報(bào)名表考生通知單成績(jī)單統(tǒng)計(jì)分析表第0層數(shù)據(jù)流圖考生名冊(cè)合格標(biāo)準(zhǔn)考生名單錯(cuò)誤成績(jī)單75軟件工程程第1層數(shù)據(jù)流圖(a)1.1
檢查報(bào)名表報(bào)名表準(zhǔn)考證1.2編準(zhǔn)考證號(hào)碼不合格報(bào)名表考生名冊(cè)考生名單合格報(bào)名表1.3登記考生合格報(bào)名表76軟件工程程第1層數(shù)據(jù)流圖(b)2.1檢查成績(jī)單2.2審定合格者考生名冊(cè)正確成績(jī)單2.3制作通知單2.4分析統(tǒng)計(jì)成績(jī)2.5分析試題難度試題得分表考生通知單難度分析表合格標(biāo)準(zhǔn)分類統(tǒng)計(jì)表成績(jī)單錯(cuò)誤成績(jī)單經(jīng)審定的成績(jī)單77軟件工程程繪制分層層數(shù)據(jù)流流圖的原原則數(shù)據(jù)流圖圖上所有有圖形符符號(hào)只限限于前述述四種基基本圖形形元素,,它們的的命名應(yīng)應(yīng)反映其其實(shí)際含含義;數(shù)據(jù)流圖圖的頂層層圖上的的數(shù)據(jù)流流必須封封閉在外外部實(shí)體體之間;;每個(gè)加工工至少有有一個(gè)輸輸入數(shù)據(jù)據(jù)流和一一個(gè)輸出出數(shù)據(jù)流流;允許一個(gè)個(gè)加工有有多條數(shù)數(shù)據(jù)流流流向另一一個(gè)加工工,也允允許一個(gè)個(gè)加工有有兩個(gè)相相同的輸輸出數(shù)據(jù)據(jù)流流向向兩個(gè)不不同的加加工;78軟件工程程在數(shù)據(jù)流流圖中須須按層給給加工框框編號(hào),,編號(hào)表表明該加加工所處處層次及及上下層層的親子子關(guān)系;;規(guī)定任何何一個(gè)數(shù)數(shù)據(jù)流子子圖必須須與它上上一層的的一個(gè)加加工對(duì)應(yīng)應(yīng),兩者者的輸入入數(shù)據(jù)流流和輸出出數(shù)據(jù)流流必須一一致,此此即父圖圖與子圖圖的平衡衡;如果一個(gè)個(gè)數(shù)據(jù)存存儲(chǔ)僅在在展開(kāi)的的數(shù)據(jù)流流子圖中中使用,,可以在在父圖中中不畫(huà)出出;可以在數(shù)數(shù)據(jù)流圖圖中加入入物質(zhì)流流,幫助助用戶理理解數(shù)據(jù)據(jù)流圖;;數(shù)據(jù)流圖圖中不可可夾帶控控制流,,但針對(duì)對(duì)實(shí)時(shí)系系統(tǒng)可以以加入控控制流,,成為數(shù)數(shù)據(jù)流圖圖的擴(kuò)展展形式。。79軟件工程程行為建模模行為建模模給出需需求分析析方法的的所有操操作原則則,但只只有結(jié)構(gòu)構(gòu)化分析析方法的的擴(kuò)充版版本才提提供這種種建模的的符號(hào)。。數(shù)據(jù)流圖圖不描述述時(shí)序關(guān)關(guān)系,控控制和事事件流通通過(guò)行為為模型描描述。在描述系系統(tǒng)或各各個(gè)數(shù)據(jù)據(jù)對(duì)象的的行為時(shí)時(shí),采用用狀態(tài)遷遷移圖。。通過(guò)描描述系統(tǒng)統(tǒng)或?qū)ο笙蟮臓顟B(tài),以及引引起系統(tǒng)統(tǒng)或?qū)ο笙鬆顟B(tài)轉(zhuǎn)轉(zhuǎn)換的事件來(lái)表示系系統(tǒng)或?qū)?duì)象的行行為。80軟件工程程狀態(tài)遷移移圖狀態(tài)遷移移圖是描描述系統(tǒng)統(tǒng)的狀態(tài)態(tài)如何相相應(yīng)外部部的信號(hào)號(hào)進(jìn)行推推移的一一種圖形形表示。。例如,有有關(guān)處理理器分配配的進(jìn)程程狀態(tài)遷遷移。t2t3t4t1運(yùn)行就緒等待81軟件工程程在狀態(tài)遷遷移圖中中,“○”表示可得得到的系系統(tǒng)狀態(tài)“→”表示從一一種狀態(tài)態(tài)向另一一種狀態(tài)態(tài)的遷移。在箭頭上上要寫(xiě)上上導(dǎo)致遷遷移的信信號(hào)或事事件的名名字。S2S1S3t1t2t3t4t4t3t2t1事件狀態(tài)S1S2S3S3S2S3S182軟件工程程Petri網(wǎng)Petri網(wǎng)已廣泛泛地應(yīng)用用于硬件件與軟件件系統(tǒng)的的開(kāi)發(fā)中中,它適適用于描描述相互互獨(dú)立、、協(xié)同操操作的處處理系統(tǒng)統(tǒng),也就就是并發(fā)發(fā)執(zhí)行的的處理系系統(tǒng)。Petri網(wǎng)簡(jiǎn)稱PNG(PetriNetGraph),它有兩種種結(jié)點(diǎn)::庫(kù)所:符號(hào)““○”,表示系系統(tǒng)狀態(tài)。變遷:符號(hào)““|”,表示系統(tǒng)統(tǒng)中的事件。有向邊““”表示向變遷的的輸入,或從變遷的的輸出。83軟件工程程令牌(token),是表明系系統(tǒng)當(dāng)前前處于什什么狀態(tài)態(tài)的標(biāo)志志。Petri網(wǎng)可能的變變化有::84軟件工程程例如,處處理兩個(gè)個(gè)進(jìn)程PR1和PR2的同步問(wèn)問(wèn)題(此此時(shí)兩個(gè)個(gè)進(jìn)程共共用一個(gè)個(gè)資源R):該資源R在系統(tǒng)運(yùn)運(yùn)行的某某一時(shí)刻刻只能為為一個(gè)進(jìn)進(jìn)程所占占用。為為了解決決兩個(gè)進(jìn)進(jìn)程在運(yùn)運(yùn)行中可可能會(huì)同同時(shí)申請(qǐng)請(qǐng)資源的的矛盾,,要用原原語(yǔ)LOCK和UNLOCK控制R的使用,,保證進(jìn)進(jìn)程間的的同步。。進(jìn)程得到資源占用資源運(yùn)行釋放資源不用資源運(yùn)行PR1LOCKR處理11UNLOCKR處理12PR2LOCKR處理21UNLOCKR處理2285軟件工程程p1p2p3p4p5p7p6t1t2t3t4t5t6等待R等待RR空閑處理11處理12處理21處理22進(jìn)程1進(jìn)程286軟件工程程數(shù)據(jù)字典典數(shù)據(jù)字典典是結(jié)構(gòu)構(gòu)化分析析方法的的核心,,與各模模型的圖圖形表示示配合,,能清楚楚地表達(dá)達(dá)數(shù)據(jù)處處理的要要求。詞條描述述——對(duì)于在模模型中每每一個(gè)被被命名的的圖形元元素,均均加以定定義,其其內(nèi)容有有:名字,別別名或編編號(hào),分分類,描描述,定定義,位位置,其其它,等等。數(shù)據(jù)流詞詞條描述述數(shù)據(jù)流名名:說(shuō)明:簡(jiǎn)簡(jiǎn)要介紹紹它產(chǎn)生生的原因因和結(jié)果果87軟件工程程數(shù)據(jù)流來(lái)來(lái)源:來(lái)來(lái)自何方方數(shù)據(jù)流去去向:去去向何處處數(shù)據(jù)流組組成:數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)數(shù)據(jù)量流流通量::數(shù)據(jù)量量,流通通量數(shù)據(jù)元素素詞條描描述類型:數(shù)數(shù)字(離散值,,連續(xù)值值),文字(編碼類型型)長(zhǎng)度取值范圍圍相關(guān)的數(shù)數(shù)據(jù)元素素及數(shù)據(jù)據(jù)結(jié)構(gòu)3)數(shù)據(jù)文件件詞條描描述88軟件工程程數(shù)據(jù)文件件名:簡(jiǎn)述:存存放的是是什么數(shù)數(shù)據(jù)輸入/輸輸出數(shù)據(jù)據(jù):數(shù)據(jù)文件件組成::數(shù)據(jù)結(jié)結(jié)構(gòu)存儲(chǔ)方式式:順序序,直接接,關(guān)鍵鍵碼存取頻率率:加工邏輯輯詞條描描述加工名::加工編號(hào)號(hào):反映映該加工工的層次次簡(jiǎn)要描述述:加工工邏輯及及功能簡(jiǎn)簡(jiǎn)述89軟件工程程輸入/輸輸出數(shù)據(jù)據(jù)流:加工邏輯輯:簡(jiǎn)述述加工程程序,加加工順序序數(shù)據(jù)源及及數(shù)據(jù)譚譚詞條描描述名稱:外外部實(shí)體體名簡(jiǎn)要描述述:什么么外部實(shí)實(shí)體有關(guān)數(shù)據(jù)據(jù)流:數(shù)目:90軟件工程程數(shù)據(jù)結(jié)構(gòu)構(gòu)的描述述符號(hào)含義舉例例=被定義為為+與x=a+b[....,....]或[....|....]或x=[[a,,b]],x=[[a||b]{....}或m{....}n重復(fù)x={{a}},x=3{a}8(....)可選x=((a))“....”基本數(shù)據(jù)據(jù)元素x=""a""..連結(jié)符x=1...991軟件工程程存折=戶戶名+所所號(hào)+帳帳號(hào)+開(kāi)開(kāi)戶日++性質(zhì)++(印密)+1{存取行}50戶名=2{字母}24所號(hào)=001...999帳號(hào)=00000001...99999999開(kāi)戶日==年+月月+日性質(zhì)=““1”...“6””注:“1”表示普通通戶,““5”表示工資資戶等印密=““0”注:印密密在存折折上不顯顯示存取行==日期++(摘要要)+支支出+存存入+余余額+操操作+復(fù)復(fù)核92軟件工程程基本加工工邏輯說(shuō)說(shuō)明
對(duì)數(shù)據(jù)流流圖的每每一個(gè)基基本加工工,必須須有一個(gè)個(gè)基本加加工邏輯輯說(shuō)明。?;炯庸すみ壿嬚f(shuō)說(shuō)明必須須描述基基本加工工如何把把輸入數(shù)據(jù)據(jù)流變換換為輸出出數(shù)據(jù)流流的加工規(guī)規(guī)則。加工邏輯輯說(shuō)明必必須描述述實(shí)現(xiàn)加加工的策策略而不不是實(shí)現(xiàn)現(xiàn)加工的的細(xì)節(jié)。。加工邏輯輯說(shuō)明中中包含的的信息應(yīng)應(yīng)是充足足的,完完備的,,有用的的,無(wú)冗冗余的。。描述加工工邏輯說(shuō)說(shuō)明的工工具:結(jié)結(jié)構(gòu)化語(yǔ)語(yǔ)言、決決策表、、決策樹(shù)樹(shù)。93軟件工程程結(jié)構(gòu)化語(yǔ)語(yǔ)言結(jié)構(gòu)化語(yǔ)語(yǔ)言是一一種偽碼碼,它的的詞匯表表由原形動(dòng)詞詞數(shù)據(jù)字典典中定義義的名字字有限的自自定義詞詞邏輯關(guān)系系詞if_then_else、switch__case、for、while_do、do_while等組成。。它是一種種介于自自然語(yǔ)言言和形式式化語(yǔ)言言之間的的語(yǔ)言。。用以消消除在語(yǔ)語(yǔ)法上的的歧義性性。94軟件工程程語(yǔ)言的正文用基基本控制制結(jié)構(gòu)進(jìn)進(jìn)行分割割,加工中中的操作用自自然語(yǔ)言言短語(yǔ)來(lái)來(lái)表示。其基本控控制結(jié)構(gòu)構(gòu)有三種種:簡(jiǎn)單陳述述句結(jié)構(gòu)構(gòu):避免復(fù)合合語(yǔ)句;;重復(fù)結(jié)構(gòu)構(gòu):while_do、for__do或do_while結(jié)構(gòu)。判定結(jié)構(gòu)構(gòu):if_then_else或switch__do結(jié)構(gòu);用結(jié)構(gòu)化化語(yǔ)言描描述的規(guī)規(guī)格說(shuō)明明的正文文可以在在計(jì)算機(jī)機(jī)上編輯輯,不必必過(guò)多地地考慮語(yǔ)語(yǔ)言的在在語(yǔ)法上上的限制制,使得得分析員員可以集集中考慮慮加工的的策略或或規(guī)則。。95軟件工程程if發(fā)貨單金金額超過(guò)過(guò)$500thenif欠款超過(guò)過(guò)了60天then在償還欠欠款前不不予批準(zhǔn)準(zhǔn)else(欠款未超超期)發(fā)批準(zhǔn)書(shū)書(shū),發(fā)貨貨單else(發(fā)貨單金金額未超超過(guò)$500)if欠款超過(guò)過(guò)60天then發(fā)批準(zhǔn)書(shū)書(shū),發(fā)貨貨單及賒賒欠報(bào)告告else(欠款未超超期)發(fā)批準(zhǔn)書(shū)書(shū),發(fā)貨貨單商店業(yè)務(wù)務(wù)處理系系統(tǒng)中“檢查發(fā)發(fā)貨單””96軟件工程程條件茬條件項(xiàng)動(dòng)作茬動(dòng)作項(xiàng)規(guī)則單個(gè)條件件單個(gè)動(dòng)作作判定表如果數(shù)據(jù)據(jù)流圖的的加工需需要依賴賴于多個(gè)邏輯輯條件的的取值,使用判判定表來(lái)來(lái)描述比比較合適適。97軟件工程程以“檢查發(fā)發(fā)貨單””為例操在償還欠款前不予批準(zhǔn)作發(fā)出批準(zhǔn)書(shū)發(fā)出發(fā)貨單發(fā)出賒欠報(bào)告1234條發(fā)貨單金額>$500>$500≤$500≤$500件賒欠情況>60天≤60天>60天≤60天98軟件工程程判定樹(shù)檢查發(fā)貨單金額>$500金額$500
欠款>60天不發(fā)出批準(zhǔn)書(shū)
欠款60天發(fā)貨單發(fā)出批準(zhǔn)書(shū)、
欠款>60天發(fā)出批準(zhǔn)書(shū)、發(fā)貨單及賒欠報(bào)告
欠款60天發(fā)出批準(zhǔn)書(shū)、發(fā)貨單判定樹(shù)也也是用來(lái)來(lái)表達(dá)加加工邏輯輯的一種種工具。。有時(shí)侯侯它比判判定表更更直觀。。99軟件工程程4.4面向?qū)ο笙蟮男枨笄蠓治龅湫偷拿婷嫦驅(qū)ο笙蠓治觯ǎ∣OA)建模方方法有以以下幾種種。每種種方法都都有各自的分分析過(guò)程程和符號(hào)體系系。Booch方法Booch方法包含含“微開(kāi)開(kāi)發(fā)過(guò)程程”和““宏開(kāi)發(fā)發(fā)過(guò)程””。微開(kāi)發(fā)過(guò)過(guò)程定義了一一組任務(wù)務(wù),并在在宏開(kāi)發(fā)過(guò)過(guò)程的每一步步驟中反反復(fù)使用用它們以以維持演演進(jìn)途徑徑。Booch的OOA宏開(kāi)發(fā)過(guò)過(guò)程的任務(wù)包包括標(biāo)識(shí)識(shí)類和對(duì)對(duì)象、標(biāo)標(biāo)識(shí)類和和對(duì)象的的語(yǔ)義、、定義類類與對(duì)象象間的關(guān)關(guān)系,以以及進(jìn)行行一系列列求精實(shí)實(shí)現(xiàn)分析析模型。。100軟件工程程Rumbaugh方法又稱為對(duì)對(duì)象模型型化技術(shù)術(shù)OMT,用于分分析、系系統(tǒng)設(shè)計(jì)計(jì)和對(duì)象象級(jí)設(shè)計(jì)計(jì)。分析析活動(dòng)建建立三個(gè)個(gè)模型::1)對(duì)象模型型描述對(duì)象象、類、、層次和和關(guān)系2)動(dòng)態(tài)模型型描述對(duì)象象和系統(tǒng)統(tǒng)的行為為3)功能模型型類似于高高層的DFD,描述穿穿越系統(tǒng)統(tǒng)的信息息流Coad和Yourdon方法其OOA過(guò)程概述述如下::1)使用“要要找什么么”準(zhǔn)則則標(biāo)識(shí)對(duì)對(duì)象;101軟件工程程2)定義對(duì)象象之間的的一般化化∕特殊殊化結(jié)構(gòu)構(gòu)(又稱稱為分類類結(jié)構(gòu)));3)定義對(duì)象象之間的的整體∕∕部分結(jié)結(jié)構(gòu)(又又稱為組組裝結(jié)構(gòu)構(gòu));4)標(biāo)識(shí)主題題(系統(tǒng)統(tǒng)構(gòu)件的的表示));5)定義對(duì)象象的屬性性及對(duì)象象之間的的實(shí)例連連接;6)定義服務(wù)務(wù)及對(duì)象象之間的的消息連接。Jacobson方法又稱為OOSE(面向?qū)?duì)象軟件件工程))。特色是強(qiáng)強(qiáng)調(diào)用例例(UseCase)。102軟件工程程Jacobson方法概述述如下::標(biāo)識(shí)系統(tǒng)統(tǒng)的用戶戶和它們們的整體體責(zé)任;;通過(guò)定義義參與者者及其職職責(zé)、用用例、對(duì)對(duì)象和關(guān)關(guān)系的初初步視圖圖,建立立需求模模型;通過(guò)標(biāo)識(shí)識(shí)界面對(duì)對(duì)象、建建立界面面對(duì)象的的結(jié)構(gòu)視視圖、表表示對(duì)象象行為、、分離出出每個(gè)對(duì)對(duì)象的子子系統(tǒng)和和模型,,建立分分析模型型。Wirfs―Brock方法不明確地地區(qū)分分分析和設(shè)設(shè)計(jì)任務(wù)務(wù)。從評(píng)評(píng)估客戶戶規(guī)格說(shuō)說(shuō)明到設(shè)設(shè)計(jì)完成成,是一一個(gè)連續(xù)續(xù)的過(guò)程程。103軟件工程程與Wirfs―Brock分析有關(guān)關(guān)的任務(wù)務(wù)如下::1)評(píng)估客戶戶規(guī)格說(shuō)說(shuō)明;2)使用語(yǔ)法法分析從從規(guī)格說(shuō)說(shuō)明中提提取候選選類;3)將類分組組以標(biāo)識(shí)識(shí)超類;;4)定義每一一個(gè)類的的職責(zé);;5)將職責(zé)賦賦予每個(gè)個(gè)類;6)標(biāo)識(shí)類之之間的關(guān)關(guān)系;7)基于職責(zé)責(zé)定義類類之間的的協(xié)作;;8)建立類的的層次表表示;9)構(gòu)造系統(tǒng)統(tǒng)的協(xié)作作圖。104軟件工程程UML的OOA方法用5種不同的的視圖,,從不同同的側(cè)面面來(lái)描述述系統(tǒng)。。這些視視圖概述述如下::1)用戶模型型視圖:從用戶戶(參與與者)角角度來(lái)表表示系統(tǒng)統(tǒng)。它通通過(guò)用例例(UseCase)來(lái)建立立模型,,并用它它來(lái)描述述來(lái)自終終端用戶戶方面的的可用場(chǎng)場(chǎng)景。2)結(jié)構(gòu)模型型視圖:從系統(tǒng)統(tǒng)內(nèi)部來(lái)來(lái)看數(shù)據(jù)據(jù)和功能能性。即即對(duì)系統(tǒng)統(tǒng)的靜態(tài)態(tài)結(jié)構(gòu)((類、對(duì)對(duì)象和關(guān)關(guān)系)建建模。105軟件工程程3)行為模型型視圖:描述系系統(tǒng)的動(dòng)動(dòng)態(tài)和行行為。以以及在用用戶模型型視圖和和結(jié)構(gòu)模模型視圖圖中所描描述的各各種結(jié)構(gòu)構(gòu)元素之之間的交交互和協(xié)協(xié)作。4)實(shí)現(xiàn)模型型視圖:將系統(tǒng)統(tǒng)的結(jié)構(gòu)構(gòu)和行為為表達(dá)成成為易于于轉(zhuǎn)換為為實(shí)現(xiàn)的的方式。。5)環(huán)境模型型視圖:描述系系統(tǒng)實(shí)現(xiàn)現(xiàn)環(huán)境的的結(jié)構(gòu)和和行為。。通常,UML分析建模模的注意意力放在在系統(tǒng)的的用戶模模型和結(jié)結(jié)構(gòu)模型型視圖,,而UML設(shè)計(jì)建模模則定位位在行為為模型、、實(shí)現(xiàn)模模型和環(huán)環(huán)境模型型。106軟件工程程面向?qū)ο笙蠓治瞿DP陀扇齻€(gè)獨(dú)立立的模型型構(gòu)成::由用例和和場(chǎng)景表表示的功能模型型;用類和對(duì)對(duì)象表示示的分析對(duì)象象模型;由狀態(tài)圖圖和順序序圖表示示的動(dòng)態(tài)模型型。在需求獲獲取階段段得到的的用例模模型就是是功能模模型。據(jù)據(jù)此可導(dǎo)導(dǎo)出分析析對(duì)象模模型和動(dòng)動(dòng)態(tài)模型型。需要注意意,這些些模型代代表的是是來(lái)自客戶戶的概念念,而非實(shí)實(shí)際軟件件類或?qū)崒?shí)際構(gòu)件件。分析中的的類可以以看作是是高層抽象象。識(shí)別類或或?qū)ο?07軟件工程程在分析對(duì)對(duì)象模型型中的對(duì)對(duì)象類分分為有實(shí)體對(duì)象象、邊界對(duì)象象和控制對(duì)象象等三種類類型。實(shí)體對(duì)象象表示系統(tǒng)統(tǒng)將跟蹤蹤的持久久信息;;邊界對(duì)象象表示參與與者與系系統(tǒng)之間間的交互互(接口口);控制對(duì)象象負(fù)責(zé)用例例的實(shí)現(xiàn)現(xiàn)??捎肬ML提供的衍衍型機(jī)制制,區(qū)分分不同類類型對(duì)象象。ControlEntityActorBoundary參與者邊界對(duì)象控制對(duì)象實(shí)體對(duì)象圖示108軟件工程程具有兩個(gè)個(gè)按鈕的的手表的的分析對(duì)對(duì)象使用實(shí)體對(duì)象象、邊界對(duì)象象和控制對(duì)象象等對(duì)系統(tǒng)統(tǒng)建模時(shí)時(shí),常常常需要提提供一些些簡(jiǎn)單的的啟發(fā)式式規(guī)則來(lái)來(lái)指導(dǎo)開(kāi)開(kāi)發(fā)人員員使用這這些概念念,可以以使用相相應(yīng)的類類來(lái)跟蹤蹤。<<entity>>Day<<entity>>Month<<entity>>Year<<control>>ChangeDateControl<<boundary>>ButtonBoundary<<boundary>>LCDDisplayBoundary109軟件工程程分析建模模活動(dòng)包包括以下下步驟。。標(biāo)識(shí)實(shí)體體對(duì)象自然語(yǔ)言言分析法法利用Abbott啟發(fā)式準(zhǔn)準(zhǔn)則,將將語(yǔ)言成成分映射射為模型型成分。。語(yǔ)言成分模型成分示例專有名詞實(shí)例李未普通名詞類院士Doing動(dòng)詞操作創(chuàng)建、提交、選擇Being動(dòng)詞繼承是…的一種,是…中的一個(gè)Having動(dòng)詞聚合有…,由…組成,包括…情態(tài)動(dòng)詞約束必須是形容詞屬性事件描述110軟件工程程自然語(yǔ)言言分析法法主要關(guān)關(guān)注用戶戶術(shù)語(yǔ)。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度房產(chǎn)凈身出戶離婚協(xié)議及共同債權(quán)處理
- 2025年度環(huán)保設(shè)備安裝與環(huán)保技術(shù)咨詢合同
- 2025年度智能工程項(xiàng)目經(jīng)理聘用勞務(wù)合同
- 2025年度林業(yè)砍樹(shù)與生態(tài)補(bǔ)償項(xiàng)目實(shí)施協(xié)議
- 2025年度特色民宿股權(quán)轉(zhuǎn)讓及運(yùn)營(yíng)管理合同
- 2025年廣東省潮州市單招職業(yè)適應(yīng)性測(cè)試題庫(kù)附答案
- 二零二五年度雙人儲(chǔ)蓄互助計(jì)劃及風(fēng)險(xiǎn)管理協(xié)議
- 二零二五沈陽(yáng)正規(guī)入職勞動(dòng)合同法律風(fēng)險(xiǎn)防范手冊(cè)
- 2025年河南應(yīng)用技術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)學(xué)生專用
- 2025年度食堂搭伙品牌推廣合作合同
- 最專業(yè)的企業(yè)介紹模板課件
- 異位妊娠護(hù)理查房版本
- 人教版 八年級(jí)數(shù)學(xué)下冊(cè) 第19章 單元綜合測(cè)試卷(2025年春)
- 2025年湖南中醫(yī)藥高等專科學(xué)校高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2024年美發(fā)師(高級(jí)技師)職業(yè)鑒定考試題庫(kù)(含答案)
- 2025年山東藥品食品職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2024年05月湖南招商銀行長(zhǎng)沙分行長(zhǎng)期社會(huì)招考筆試歷年參考題庫(kù)附帶答案詳解
- 滬科版(2024新版)數(shù)學(xué)七年級(jí)下冊(cè)第6章 實(shí)數(shù) 單元測(cè)試卷(含答案)
- 2025新人教版英語(yǔ)七年級(jí)下單詞英譯漢默寫(xiě)表(小學(xué)部分)
- 電子物料基礎(chǔ)知識(shí)
- 外科疝氣的個(gè)案護(hù)理
評(píng)論
0/150
提交評(píng)論