版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
系統(tǒng)需求分析與定義一、計(jì)算機(jī)系統(tǒng)分析二、軟件需求分析三、結(jié)構(gòu)化分析方法四、快速原型化方法五、面向?qū)ο蠓治龇椒?、需求分析文檔的原則和評(píng)審1軟件工程系統(tǒng)需求分析與定義一、計(jì)算機(jī)系統(tǒng)分析1軟件工程一、計(jì)算機(jī)系統(tǒng)分析基于計(jì)算機(jī)的系統(tǒng)基于計(jì)算機(jī)的系統(tǒng)的系統(tǒng)元素包括硬件、軟件、人、數(shù)據(jù)庫(kù)、文檔和過(guò)程。軟件計(jì)算機(jī)程序、數(shù)據(jù)結(jié)構(gòu)、相關(guān)文檔;硬件電子計(jì)算設(shè)備(如CPU,存儲(chǔ)器)和外部機(jī)電設(shè)備(如傳感器、馬達(dá)等);人硬件和軟件的用戶(hù);數(shù)據(jù)庫(kù)一個(gè)大型的有組織的信息集合;2軟件工程一、計(jì)算機(jī)系統(tǒng)分析基于計(jì)算機(jī)的系統(tǒng)2軟件工程基于計(jì)算機(jī)系統(tǒng)的系統(tǒng)元素輸入系統(tǒng)過(guò)程硬件軟件文檔人數(shù)據(jù)庫(kù)輸出3軟件工程基于計(jì)算機(jī)系統(tǒng)的系統(tǒng)元素輸入系統(tǒng)過(guò)程硬件軟件文檔人數(shù)據(jù)庫(kù)輸出文檔手冊(cè)、表格和其它用以描述系統(tǒng)使用和操作的信息;過(guò)程定義每一種系統(tǒng)元素的特定使用步驟,或系統(tǒng)駐留的過(guò)程性環(huán)境。系統(tǒng)的層次結(jié)構(gòu)基于計(jì)算機(jī)的系統(tǒng)本身可以成為一個(gè)更大的基于計(jì)算機(jī)系統(tǒng)中的一個(gè)元素,并稱(chēng)為那個(gè)更大系統(tǒng)的宏元素。4軟件工程文檔手冊(cè)、表格和其它用以描述系統(tǒng)使用和操作的信息;系工廠自動(dòng)化系統(tǒng)工廠自動(dòng)化系統(tǒng)庫(kù)存系統(tǒng)制造系統(tǒng)信息系統(tǒng)材料傳輸系統(tǒng)制造單元機(jī)器人數(shù)據(jù)輸入設(shè)備數(shù)控機(jī)床5軟件工程工廠自動(dòng)化系統(tǒng)工廠自動(dòng)化系統(tǒng)庫(kù)存系統(tǒng)制造系統(tǒng)信息系統(tǒng)材料傳輸2.系統(tǒng)分析系統(tǒng)分析是一個(gè)問(wèn)題求解活動(dòng),目的是揭示、分析所期望的功能,并把它們分配到各個(gè)單獨(dú)的系統(tǒng)元素中去。與用戶(hù)合作確認(rèn)用戶(hù)的目標(biāo)和約束;導(dǎo)出功能、性能、接口、設(shè)計(jì)約束和信息結(jié)構(gòu)的表示;將它們分配到每一個(gè)系統(tǒng)元素中。6軟件工程2.系統(tǒng)分析系統(tǒng)分析是一個(gè)問(wèn)題求解活動(dòng),目的是揭示、分析所系統(tǒng)分析的任務(wù)識(shí)別用戶(hù)要求評(píng)價(jià)系統(tǒng)的可行性進(jìn)行經(jīng)濟(jì)分析和技術(shù)分析把功能分配給硬件、軟件、人、數(shù)據(jù)庫(kù)和其他系統(tǒng)元素建立成本和進(jìn)度限制生成系統(tǒng)規(guī)格說(shuō)明,形成所有后續(xù)工程的基礎(chǔ)。7軟件工程系統(tǒng)分析的任務(wù)識(shí)別用戶(hù)要求7軟件工程1)識(shí)別用戶(hù)要求分析員必須考慮以下問(wèn)題:功能和性能可靠性和質(zhì)量總的系統(tǒng)目標(biāo)成本與進(jìn)度限制制造需求
市場(chǎng)與競(jìng)爭(zhēng)情況有效的技術(shù)將來(lái)可能的擴(kuò)充識(shí)別希望的功能和性能范圍;確定系統(tǒng)的功能、性能、約束和接口;8軟件工程1)識(shí)別用戶(hù)要求分析員必須考慮以下問(wèn)題:功能和性能制造需2)可行性研究可行性研究經(jīng)濟(jì)可行性技術(shù)可行性法律可行性用戶(hù)操作可行性可行性研究的步驟確定項(xiàng)目的規(guī)模和目標(biāo)研究當(dāng)前正在運(yùn)行的系統(tǒng)建立新系統(tǒng)的高層邏輯模型9軟件工程2)可行性研究可行性研究9軟件工程導(dǎo)出和評(píng)價(jià)各種方案推薦可行的方案編寫(xiě)可行性研究報(bào)告經(jīng)濟(jì)可行性
成本–效益分析成本估算專(zhuān)家估算技術(shù)(Delphi技術(shù))成本估算模型(COCOMO)效益估算投資回收期10軟件工程導(dǎo)出和評(píng)價(jià)各種方案經(jīng)濟(jì)可行性成本–效益分析成本估算10軟件純收入投資回收率技術(shù)可行性技術(shù)風(fēng)險(xiǎn)分析技術(shù)解決方案的實(shí)用性使用的技術(shù)實(shí)用化程度技術(shù)解決方案合理程度技術(shù)資源的可用性參與人員的工作基礎(chǔ)基礎(chǔ)硬件/軟件的可用性軟件工具實(shí)用性11軟件工程純收入技術(shù)可行性技術(shù)風(fēng)險(xiǎn)分析技術(shù)解決方案的實(shí)用性11軟件法律可行性侵權(quán)和責(zé)任問(wèn)題專(zhuān)利法著作權(quán)法軟件保護(hù)條例用戶(hù)操作可行性用戶(hù)類(lèi)型:外行型/熟練型/專(zhuān)家型操作習(xí)慣使用單位的計(jì)算機(jī)使用情況使用單位的規(guī)章制度12軟件工程法律可行性侵權(quán)和責(zé)任問(wèn)題專(zhuān)利法用戶(hù)操作可行性用戶(hù)類(lèi)型:外3)功能分配給系統(tǒng)元素的原則對(duì)同一功能,可以分配不同的系統(tǒng)元素。為選取最有效的分配方案,使用一組權(quán)衡準(zhǔn)則進(jìn)行評(píng)價(jià)項(xiàng)目考慮
在預(yù)估的成本與進(jìn)度范圍內(nèi)所選的系統(tǒng)配置能否實(shí)現(xiàn)?與成本與進(jìn)度估算相關(guān)的風(fēng)險(xiǎn)有哪些?商業(yè)考慮所選的系統(tǒng)配置是最可能有效益的解決方案嗎?13軟件工程3)功能分配給系統(tǒng)元素的原則對(duì)同一功能,可以分配不同的系統(tǒng)元能否成功地占領(lǐng)市場(chǎng)?最終的報(bào)償是否能表明所冒的開(kāi)發(fā)風(fēng)險(xiǎn)是值得的?技術(shù)分析是否具備開(kāi)發(fā)所有系統(tǒng)元素的技術(shù)實(shí)力?能否確保功能和性能得到滿(mǎn)足?能否對(duì)系統(tǒng)配置進(jìn)行充分的維護(hù)?是否具備技術(shù)資源?與技術(shù)相關(guān)的風(fēng)險(xiǎn)有哪些?生產(chǎn)評(píng)估14軟件工程能否成功地占領(lǐng)市場(chǎng)?14軟件工程生產(chǎn)工具與設(shè)備是否有效?必需的過(guò)程是否短缺?是否充分地實(shí)施了質(zhì)量保證?人員問(wèn)題開(kāi)發(fā)人員是否得到培訓(xùn)?用戶(hù)是否了解這個(gè)系統(tǒng)將要做什么?環(huán)境接口所提交的系統(tǒng)配置與系統(tǒng)的外部環(huán)境的接口是否合適?15軟件工程生產(chǎn)工具與設(shè)備是否有效?15軟件工程機(jī)器與機(jī)器、人與機(jī)器之間的通信是否以智能方式處理?法律考慮這種配置是否會(huì)引入違法的責(zé)任風(fēng)險(xiǎn)?對(duì)責(zé)任問(wèn)題是否給予了足夠的保護(hù)?是否存在潛在的破壞問(wèn)題?16軟件工程機(jī)器與機(jī)器、人與機(jī)器之間的通信是否以智能方式處理?16軟件工二、軟件需求分析需求分析是一項(xiàng)軟件工程活動(dòng),其目的是:清楚地理解所要解決的問(wèn)題,完整地獲取用戶(hù)要求;刻劃出軟件的功能和性能;指明軟件與其他系統(tǒng)元素的接口;建立軟件必須滿(mǎn)足的約束。1.軟件需求分析的目的
17軟件工程二、軟件需求分析需求分析是一項(xiàng)軟件工程活動(dòng),其目的是:1.需求分析是一項(xiàng)軟件工程活動(dòng),它包括:需求獲取刻劃出軟件的功能和性能;指明軟件與其他系統(tǒng)元素的接口;建立軟件必須滿(mǎn)足的約束。需求建模 需求分析建立起來(lái)的模型為日后軟件設(shè)計(jì)人員提供了可被翻譯成數(shù)據(jù)、體系結(jié)構(gòu)、接口和處理過(guò)程設(shè)計(jì)的模型。2.需求分析的任務(wù)18軟件工程需求分析是一項(xiàng)軟件工程活動(dòng),它包括:2.需求分析的任務(wù)18需求規(guī)格說(shuō)明 需求規(guī)格說(shuō)明為開(kāi)發(fā)人員和用戶(hù)提供軟件開(kāi)發(fā)完成時(shí)質(zhì)量評(píng)價(jià)的依據(jù)。需求評(píng)審需求分析研究的對(duì)象是用戶(hù)的要求。必須全面理解用戶(hù)的各項(xiàng)要求,準(zhǔn)確表達(dá)被接受的用戶(hù)要求。只有經(jīng)過(guò)確切描述的軟件需求才能成為軟件設(shè)計(jì)的基礎(chǔ)。
19軟件工程需求規(guī)格說(shuō)明19軟件工程軟件開(kāi)發(fā)是要實(shí)現(xiàn)目標(biāo)系統(tǒng)的物理模型。需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng)“做什么”的問(wèn)題。目標(biāo)系統(tǒng)當(dāng)前系統(tǒng)物理模型邏輯模型模型化抽象化物理模型邏輯模型具體化實(shí)例化理解需求導(dǎo)出怎么做做什么20軟件工程軟件開(kāi)發(fā)是要實(shí)現(xiàn)目標(biāo)系統(tǒng)的物理模型。需求分析的任務(wù)就是借助于物理模型(實(shí)施模型、技術(shù)模型)邏輯模型(本質(zhì)模型、概念模型)當(dāng)前系統(tǒng)描述現(xiàn)實(shí)系統(tǒng)是如何在物理上實(shí)現(xiàn)的。描述重要的業(yè)務(wù)功能,不考慮系統(tǒng)是如何實(shí)施的。目標(biāo)系統(tǒng)描述新系統(tǒng)是如何實(shí)施的(包括技術(shù))。描述新系統(tǒng)的主要業(yè)務(wù)功能和用戶(hù)新的需求,不考慮系統(tǒng)應(yīng)如何實(shí)施。21軟件工程物理模型邏輯模型當(dāng)前描述現(xiàn)實(shí)系統(tǒng)是如何在物理上實(shí)現(xiàn)的。描述重需求分析的過(guò)程可以分成四個(gè)階段:需求獲取研究系統(tǒng)的可行性分析報(bào)告和軟件項(xiàng)目實(shí)施計(jì)劃。從系統(tǒng)角度來(lái)理解軟件并評(píng)審用于產(chǎn)生計(jì)劃估算的軟件范圍是否恰當(dāng);通過(guò)調(diào)研確定對(duì)目標(biāo)系統(tǒng)的需求;提出這些需求實(shí)現(xiàn)條件,以及需求應(yīng)達(dá)到的標(biāo)準(zhǔn)。3.需求分析的過(guò)程22軟件工程需求分析的過(guò)程可以分成四個(gè)階段:3.需求分析的過(guò)程22軟件建立分析所需要的溝通途徑,以保證能順利地對(duì)問(wèn)題進(jìn)行分析。管理人員用戶(hù)分析人員軟件開(kāi)發(fā)組軟件需求說(shuō)明軟件實(shí)施計(jì)劃原型軟件實(shí)施計(jì)劃軟件實(shí)施計(jì)劃軟件需求說(shuō)明軟件需求說(shuō)明原型原型23軟件工程建立分析所需要的溝通途徑,以保證能順利地對(duì)問(wèn)題進(jìn)行分析。管理需求建模
進(jìn)行各種要求的一致性檢查;逐步細(xì)化所有的軟件功能;分解數(shù)據(jù)域,分配給各個(gè)子功能;找出系統(tǒng)各成分之間的聯(lián)系、接口特性和設(shè)計(jì)限制。判斷是否存在不合理的用戶(hù)要求或用戶(hù)尚未提出的潛在要求。綜合成系統(tǒng)的解決方案,給出目標(biāo)系統(tǒng)的詳細(xì)邏輯模型。24軟件工程需求建模24軟件工程常用的分析方法面向數(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)開(kāi)發(fā)方法(DSSD)面向?qū)ο蟮姆治龇椒?OOA)等25軟件工程常用的分析方法面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA)25軟件工編制需求分析階段的文檔軟件需求規(guī)格說(shuō)明;初步的用戶(hù)手冊(cè);確認(rèn)測(cè)試計(jì)劃;修改和完善軟件開(kāi)發(fā)計(jì)劃。需求評(píng)審(確認(rèn))作為需求分析階段工作的復(fù)查手段,應(yīng)該對(duì)功能的正確性、文檔的一致性、完備性、準(zhǔn)確性和清晰性,以及其他需求給予評(píng)價(jià)。26軟件工程編制需求分析階段的文檔26軟件工程需要能夠表達(dá)和理解問(wèn)題的信息域和功能域信息流:數(shù)據(jù)和控制通過(guò)一個(gè)系統(tǒng)時(shí)的變化方式。兩個(gè)功能之間的數(shù)據(jù)/控制傳遞就確定了功能間的接口。信息內(nèi)容:?jiǎn)蝹€(gè)數(shù)據(jù)或控制對(duì)象,它們構(gòu)成了某個(gè)更大的由軟件變換生成的信息的集合。信息結(jié)構(gòu):各種數(shù)據(jù)和控制項(xiàng)的內(nèi)部組織。4.需求分析的原則27軟件工程需要能夠表達(dá)和理解問(wèn)題的信息域和功能域4.需求分析的原則2以層次化的方式對(duì)問(wèn)題進(jìn)行分解和不斷細(xì)化縱向分解橫向分解28軟件工程以層次化的方式對(duì)問(wèn)題進(jìn)行分解和不斷細(xì)化縱橫向分解28軟件工程給出系統(tǒng)的邏輯視圖和物理視圖軟件需求的邏輯視圖給出的是軟件要達(dá)到的功能和要處理的數(shù)據(jù)之間的關(guān)系,而不是實(shí)現(xiàn)的細(xì)節(jié)。軟件需求的邏輯描述是軟件設(shè)計(jì)的基礎(chǔ)。軟件需求的物理視圖給出的是處理功能和數(shù)據(jù)結(jié)構(gòu)的實(shí)際表現(xiàn)形式,這往往是由設(shè)備本身決定的,因此推遲到設(shè)計(jì)階段考慮。29軟件工程給出系統(tǒng)的邏輯視圖和物理視圖29軟件工程5.需求獲取需求獲取是在問(wèn)題及其最終解決方案之間架設(shè)橋梁的第一步。獲取需求的一個(gè)必不可少的結(jié)果是對(duì)項(xiàng)目中描述的客戶(hù)需求的普遍理解。一旦理解了需求,分析人員、開(kāi)發(fā)人員和客戶(hù)就能探索出描述這些需求的多種解決方案。需求獲取技術(shù)包括兩方面的工作:建立獲取用戶(hù)要求的方法的框架;支持和監(jiān)控需求獲取的過(guò)程的機(jī)制。30軟件工程5.需求獲取需求獲取是在問(wèn)題及其最終解決方案之間架設(shè)橋梁的1)軟件需求的層次業(yè)務(wù)需求
反映了組織或客戶(hù)開(kāi)展相關(guān)業(yè)務(wù)的工作流和業(yè)務(wù)規(guī)則,是對(duì)系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,與該組織或客戶(hù)的業(yè)務(wù)領(lǐng)域有關(guān)。用戶(hù)需求
描述用戶(hù)使用軟件需要完成哪些任務(wù),可通過(guò)用例(usecase)圖或場(chǎng)景說(shuō)明加以闡明。功能―非功能需求
定義了開(kāi)發(fā)人員必須實(shí)現(xiàn)的軟件功能,而非功能需求如表所示:31軟件工程1)軟件需求的層次業(yè)務(wù)需求31軟件工程32軟件工程32軟件工程2)需求獲取技術(shù)的基本特征一種好的需求獲取技術(shù),對(duì)于規(guī)范需求獲取活動(dòng),高效準(zhǔn)確地獲取需求定義,是十分重要的。好的需求獲取技術(shù),應(yīng)具有如下基本特征:提供便于溝通的工具,如易于理解的語(yǔ)言;提供定義系統(tǒng)邊界的方法;提供支持抽象的機(jī)制,如“分解”、“映射”等;33軟件工程2)需求獲取技術(shù)的基本特征一種好的需求獲取技術(shù),對(duì)于規(guī)范需求鼓勵(lì)分析員使用面向問(wèn)題的術(shù)語(yǔ)思考問(wèn)題,編寫(xiě)文檔;為分析員提供多種可供選擇的解決方案;適應(yīng)需求的變化。適于以上特征的需求獲取方法:基于數(shù)據(jù)流圖的結(jié)構(gòu)化分析方法;基于用例(usecase)的建模方法。需求獲取技術(shù)的關(guān)鍵點(diǎn)在于:深入淺出
需求獲取要盡可能全面、細(xì)致。34軟件工程鼓勵(lì)分析員使用面向問(wèn)題的術(shù)語(yǔ)思考問(wèn)題,編寫(xiě)文檔;34軟件工程
獲取的需求是個(gè)全集,系統(tǒng)真正實(shí)現(xiàn)的是個(gè)子集。細(xì)致地調(diào)研并不表明在分析時(shí)將調(diào)研內(nèi)容都納入到新系統(tǒng)中,但有利于以后的擴(kuò)充。以流程為主線
在與用戶(hù)交流的過(guò)程中,應(yīng)該用流程將所有的內(nèi)容串起來(lái)。如信息、組織結(jié)構(gòu)、處理規(guī)則等。這樣便于交流溝通。 流程的描述既要有宏觀,又要有微觀。即要強(qiáng)調(diào)總體的業(yè)務(wù)流程、全生存期的業(yè)務(wù)流程,又要對(duì)流程細(xì)化,有分支的業(yè)務(wù)流程。35軟件工程 獲取的需求是個(gè)全集,系統(tǒng)真正實(shí)現(xiàn)的是個(gè)子集。細(xì)致地調(diào)研并不3)需求獲取應(yīng)遵循的原則抽象和分解是在人們認(rèn)識(shí)世界和改造世界的長(zhǎng)期實(shí)踐中總結(jié)出來(lái)的行之有效的原則,在需求獲取的過(guò)程中需遵循的三個(gè)原則:分解:捕獲問(wèn)題空間的整體–部分關(guān)系。如問(wèn)題/子問(wèn)題分解;抽象:捕獲問(wèn)題空間的一般化–特殊化關(guān)系。如問(wèn)題的不同變型;投影:捕獲問(wèn)題空間的多維視圖。即從不同角度考察。36軟件工程3)需求獲取應(yīng)遵循的原則抽象和分解是在人們認(rèn)識(shí)世界和改造世界4)需求獲取的步驟軟件開(kāi)發(fā)項(xiàng)目和組織文化的不同,對(duì)于需求開(kāi)發(fā)沒(méi)有一個(gè)簡(jiǎn)單的、公式化的途徑。下面列出9個(gè)步驟,用以指導(dǎo)需求獲取活動(dòng)。定義項(xiàng)目的視圖和范圍包括組織結(jié)構(gòu)圖、各部門(mén)的崗位/角色列表。確定用戶(hù)類(lèi)包括人員/責(zé)任矩陣。確定目標(biāo)系統(tǒng)的業(yè)務(wù)工作流包括物流、資金流、信息流,建立業(yè)務(wù)工作流模型。37軟件工程4)需求獲取的步驟軟件開(kāi)發(fā)項(xiàng)目和組織文化的不同,對(duì)于需求開(kāi)發(fā)運(yùn)用需求獲取技術(shù)開(kāi)發(fā)用例(或數(shù)據(jù)流圖)并設(shè)置優(yōu)先級(jí)
用以掌握主要業(yè)務(wù)規(guī)則。收集來(lái)自用戶(hù)的質(zhì)量特性信息和其他非功能需求
將性能、安全性、可靠性等需求和其他設(shè)計(jì)約束結(jié)合業(yè)務(wù)規(guī)則,形成功能需求。分類(lèi)在用例(或數(shù)據(jù)流圖)中涉及的數(shù)據(jù)包括數(shù)據(jù)的組成和數(shù)據(jù)之間的關(guān)系。詳細(xì)擬訂用例(或數(shù)據(jù)流圖)
建立功能模型,并進(jìn)行審查,用以澄清需求獲取的參與者對(duì)需求的理解。38軟件工程運(yùn)用需求獲取技術(shù)開(kāi)發(fā)用例(或數(shù)據(jù)流圖)并設(shè)置優(yōu)先級(jí)用開(kāi)發(fā)并評(píng)估界面原型
設(shè)想輸入設(shè)備、輸出設(shè)備、顯示風(fēng)格、顯示方式、輸出格式等,建立接口規(guī)范和信息流傳輸規(guī)則。從功能描述中開(kāi)發(fā)概念測(cè)試用例
用測(cè)試用例來(lái)驗(yàn)證用例(或數(shù)據(jù)流圖)、功能需求和原型。39軟件工程開(kāi)發(fā)并評(píng)估界面原型設(shè)想輸入設(shè)備、輸出設(shè)備、顯示風(fēng)格、需求獲取可能是軟件開(kāi)發(fā)中最困難、最關(guān)鍵、最易出錯(cuò)及最需要交流的方面。表現(xiàn)在:需求的不穩(wěn)定性:在整個(gè)軟件生存周期內(nèi)軟件需求會(huì)隨著時(shí)間的推移發(fā)生變化;需求的不準(zhǔn)確性:用戶(hù)和開(kāi)發(fā)人員的認(rèn)識(shí)會(huì)隨著使用系統(tǒng)實(shí)現(xiàn)業(yè)務(wù)流程的實(shí)踐逐步提高,一開(kāi)始不可能設(shè)想得面面俱到。需求獲取只有通過(guò)有效的客戶(hù)/開(kāi)發(fā)者的合作才能成功。40軟件工程需求獲取可能是軟件開(kāi)發(fā)中最困難、最關(guān)鍵、最易出錯(cuò)及最需要交流5)針對(duì)信息系統(tǒng)的需求調(diào)研方法調(diào)研用戶(hù)的組織結(jié)構(gòu)、崗位設(shè)置、職責(zé)定義,從功能上區(qū)分有多少個(gè)子系統(tǒng),劃分系統(tǒng)的大致范圍,明確系統(tǒng)的目標(biāo)。調(diào)研每個(gè)子系統(tǒng)的工作流程、功能與處理規(guī)則,收集原始信息資料,用數(shù)據(jù)流來(lái)表示物流、資金流、信息流三者的關(guān)系。對(duì)調(diào)研內(nèi)容事先準(zhǔn)備,針對(duì)不同管理層次的用戶(hù)詢(xún)問(wèn)不同的問(wèn)題,列出問(wèn)題清單。將操作層、管理層、決策層的需求既聯(lián)系又區(qū)分開(kāi)來(lái),形成一個(gè)需求的層次。41軟件工程5)針對(duì)信息系統(tǒng)的需求調(diào)研方法調(diào)研用戶(hù)的組織結(jié)構(gòu)、崗位設(shè)置、對(duì)與用戶(hù)溝通的情況及時(shí)總結(jié)歸納,整理調(diào)研結(jié)果,初步構(gòu)成需求基線。若基線符合要求,則需求獲取完成。需求調(diào)研的主要手段:發(fā)調(diào)查表;召開(kāi)調(diào)查會(huì);向用戶(hù)領(lǐng)域的專(zhuān)家個(gè)別咨詢(xún);實(shí)地考察,跟蹤現(xiàn)場(chǎng)業(yè)務(wù)流程;查閱與待開(kāi)發(fā)系統(tǒng)有關(guān)的資料;使用各種調(diào)查工具等。42軟件工程對(duì)與用戶(hù)溝通的情況及時(shí)總結(jié)歸納,整理調(diào)研結(jié)果,初步構(gòu)成需求基6)需求整理與表達(dá)的方法采用窮舉方法可以避免遺漏。采用歸納方法,通過(guò)對(duì)各種情況進(jìn)行綜合分類(lèi)可以使問(wèn)題條理化。采用抽象方法,可以發(fā)現(xiàn)問(wèn)題的實(shí)質(zhì),抓住問(wèn)題的主要矛盾,忽略其次要矛盾。需求整理可以多種手段共用,如組織結(jié)構(gòu)圖、業(yè)務(wù)流程圖、多叉樹(shù)、關(guān)系矩陣、文字?jǐn)⑹?、表格、圖形等。需求描述包括組織結(jié)構(gòu)與崗位定義、業(yè)務(wù)流程、處理規(guī)則、數(shù)據(jù)項(xiàng)、功能以及上述5個(gè)方面的關(guān)系。43軟件工程6)需求整理與表達(dá)的方法采用窮舉方法可以避免遺漏。43軟件工結(jié)構(gòu)化分析方法最初只是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。擴(kuò)充后,將建模技術(shù)擴(kuò)展到數(shù)據(jù)建模、功能建模和行為建模,以實(shí)體-關(guān)系圖、數(shù)據(jù)流圖和控制流圖、狀態(tài)-遷移圖為工具,數(shù)據(jù)字典為核心,從不同視點(diǎn)建立系統(tǒng)的分析模型。三、結(jié)構(gòu)化分析方法44軟件工程結(jié)構(gòu)化分析方法最初只是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立結(jié)構(gòu)化分析的分析模型實(shí)體—關(guān)系圖狀態(tài)—遷移圖數(shù)據(jù)流圖數(shù)據(jù)對(duì)象描述加工規(guī)格說(shuō)明數(shù)據(jù)字典控制規(guī)格說(shuō)明45軟件工程結(jié)構(gòu)化分析的分析模型實(shí)體—狀態(tài)—遷移圖數(shù)據(jù)流圖數(shù)據(jù)對(duì)象描述加1.數(shù)據(jù)建模數(shù)據(jù)模型包括三種互相關(guān)聯(lián)的信息:數(shù)據(jù)對(duì)象,描述對(duì)象的屬性,描述對(duì)象間相互連接的關(guān)系。在需求分析階段描述數(shù)據(jù)對(duì)象和它們之間的關(guān)系,使用了E-R圖。例如,在教學(xué)管理中,一個(gè)教師可以教授零門(mén)、一門(mén)或多門(mén)課程,每位學(xué)生也需要學(xué)習(xí)幾門(mén)課程。因此,教學(xué)管理中涉及的對(duì)象(實(shí)體型)有學(xué)生、教師和課程。46軟件工程1.數(shù)據(jù)建模數(shù)據(jù)模型包括三種互相關(guān)聯(lián)的信息:數(shù)據(jù)對(duì)象,描教學(xué)數(shù)據(jù)模型學(xué)號(hào)姓名專(zhuān)業(yè)性別……學(xué)生職工號(hào)姓名專(zhuān)業(yè)職稱(chēng)年齡教師課程號(hào)課程名學(xué)分學(xué)時(shí)……課程學(xué)號(hào)課程號(hào)成績(jī)選課47軟件工程教學(xué)數(shù)據(jù)模型學(xué)號(hào)姓名專(zhuān)業(yè)性別……學(xué)生實(shí)例的關(guān)聯(lián)有三種:一對(duì)一(1:1);一對(duì)多(1:m);多對(duì)多(n:m)。這種實(shí)例的關(guān)聯(lián)稱(chēng)為“基數(shù)”?;鶖?shù)表明了“重復(fù)性”。教師學(xué)生教授基數(shù):一位教師基數(shù):多位學(xué)生參與度:必須參與度:可選48軟件工程實(shí)例的關(guān)聯(lián)有三種:一對(duì)一(1:1);一對(duì)多(1:m);多E-R圖中表示實(shí)體關(guān)聯(lián)的符號(hào)如下: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)XYZ49軟件工程E-R圖中表示實(shí)體關(guān)聯(lián)的符號(hào)如下:XY一個(gè)X與一個(gè)Y相關(guān)聯(lián)一2.功能建模和數(shù)據(jù)流圖最初,結(jié)構(gòu)化分析方法僅討論數(shù)據(jù)流建模。目標(biāo)系統(tǒng)被表示成如圖所示的數(shù)據(jù)變換流程圖。系統(tǒng)的功能體現(xiàn)在核心的數(shù)據(jù)變換中。外部實(shí)體外部實(shí)體外部實(shí)體外部實(shí)體目標(biāo)系統(tǒng)輸入信息輸入信息輸出信息輸出信息50軟件工程2.功能建模和數(shù)據(jù)流圖最初,結(jié)構(gòu)化分析方法僅討論數(shù)據(jù)流建1)功能建模的思想功能建模就是用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿(mǎn)足功能要求的所有可實(shí)現(xiàn)的軟件為止。根據(jù)DeMarco的論述,功能模型使用了數(shù)據(jù)流圖來(lái)表達(dá)系統(tǒng)內(nèi)數(shù)據(jù)的運(yùn)動(dòng)情況,而數(shù)據(jù)流的變換則用結(jié)構(gòu)化英語(yǔ)、判定表與判定樹(shù)來(lái)描述。51軟件工程1)功能建模的思想功能建模就是用抽象模型的概念,按照軟件內(nèi)部2)數(shù)據(jù)流圖中的主要圖形元素?cái)?shù)據(jù)加工(數(shù)據(jù)變換)數(shù)據(jù)源或數(shù)據(jù)潭(外部實(shí)體)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)文件或或52軟件工程2)數(shù)據(jù)流圖中的主要圖形元素?cái)?shù)據(jù)加工(數(shù)據(jù)變換)數(shù)據(jù)源或數(shù)分層的數(shù)據(jù)流圖53軟件工程分層的數(shù)據(jù)流圖53軟件工程3)數(shù)據(jù)流圖的層次結(jié)構(gòu)為了表達(dá)數(shù)據(jù)處理過(guò)程,需要采用層次結(jié)構(gòu)的數(shù)據(jù)流圖。按照系統(tǒng)的層次結(jié)構(gòu)進(jìn)行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系。頂層流圖僅包含一個(gè)加工,它代表被開(kāi)發(fā)系統(tǒng)。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù)底層流圖是指其加工不需再做分解的數(shù)據(jù)流圖,它處在最底層中間層流圖則表示對(duì)其上層父圖的細(xì)化。它的每一加工可能繼續(xù)細(xì)化,形成子圖。54軟件工程3)數(shù)據(jù)流圖的層次結(jié)構(gòu)為了表達(dá)數(shù)據(jù)處理過(guò)程,需要采用層次結(jié)構(gòu)4)功能建模的步驟對(duì)考生送來(lái)的報(bào)名單進(jìn)行檢查;對(duì)合格的報(bào)名單編好準(zhǔn)考證號(hào)后將準(zhǔn)考證送給考生,并將匯總后的考生名單送給閱卷站;對(duì)閱卷站送來(lái)的成績(jī)單進(jìn)行檢查,并根據(jù)考試中心制定的合格標(biāo)準(zhǔn)審定合格者;制作考生通知單(含成績(jī)及合格/不合格標(biāo)志)送給考生;按地區(qū)進(jìn)行成績(jī)分類(lèi)統(tǒng)計(jì)和試題難度分析,產(chǎn)生統(tǒng)計(jì)分析表。實(shí)例考務(wù)處理系統(tǒng)的功能55軟件工程4)功能建模的步驟對(duì)考生送來(lái)的報(bào)名單進(jìn)行檢查;實(shí)例考務(wù)處頂層數(shù)據(jù)流圖考生考務(wù)處理系統(tǒng)考試中心閱卷站不合格報(bào)名表報(bào)名表準(zhǔn)考證考生通知單成績(jī)單合格標(biāo)準(zhǔn)錯(cuò)誤成績(jī)單考生名單統(tǒng)計(jì)分析表頂層圖封閉在外部實(shí)體之間,反映系統(tǒng)與外部的交互。56軟件工程頂層數(shù)據(jù)流圖考考務(wù)考閱卷站不合格報(bào)名表報(bào)名表準(zhǔn)考證考生通知單這個(gè)數(shù)據(jù)流圖只是一個(gè)高層的系統(tǒng)邏輯模型,它反映了目標(biāo)系統(tǒng)要實(shí)現(xiàn)的功能以及系統(tǒng)與外界的關(guān)系。該圖或稱(chēng)為上下文環(huán)境圖或語(yǔ)境圖(ContextDiagram)數(shù)據(jù)流圖繪制步驟首先確定系統(tǒng)的輸入和輸出根據(jù)考務(wù)處理業(yè)務(wù),畫(huà)出頂層數(shù)據(jù)流圖,以反映最主要業(yè)務(wù)處理流程經(jīng)過(guò)分析,考務(wù)業(yè)務(wù)處理的主要功能應(yīng)當(dāng)57軟件工程這個(gè)數(shù)據(jù)流圖只是一個(gè)高層的系統(tǒng)邏輯模型,它反映了目標(biāo)系統(tǒng)要實(shí) 有登記報(bào)名單、統(tǒng)計(jì)成績(jī)兩大項(xiàng)。主要數(shù)據(jù)流輸入的源點(diǎn)和輸出終點(diǎn)是考生、考試中心和閱卷站。然后從輸入端開(kāi)始,根據(jù)考務(wù)業(yè)務(wù)工作流,畫(huà)出數(shù)據(jù)流流經(jīng)的各加工框,逐步畫(huà)到輸出端,得到第1層數(shù)據(jù)流圖。畫(huà)加工的內(nèi)部:用畫(huà)第1層圖同樣的方法畫(huà)出每個(gè)加工的DFD子圖。重復(fù)第5步,直至圖中的尚未分解的加工都足夠簡(jiǎn)單。至此得到分層數(shù)據(jù)流圖。58軟件工程 有登記報(bào)名單、統(tǒng)計(jì)成績(jī)兩大項(xiàng)。主要數(shù)據(jù)流輸入的源點(diǎn)和輸出終報(bào)名表準(zhǔn)考證1登記報(bào)名表2統(tǒng)計(jì)成績(jī)不合格報(bào)名表考生通知單成績(jī)單統(tǒng)計(jì)分析表第1層數(shù)據(jù)流圖考生名冊(cè)合格標(biāo)準(zhǔn)考生名單錯(cuò)誤成績(jī)單59軟件工程報(bào)名表準(zhǔn)考證12不合格考生通知單成績(jī)單統(tǒng)計(jì)分析表第1層數(shù)據(jù)流第2層數(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)名表60軟件工程第2層數(shù)據(jù)流圖(a)1.1報(bào)名表準(zhǔn)考證1.2不合格考生名第2層數(shù)據(jù)流圖(b)2.1檢查成績(jī)單2.2審定合格者考生名冊(cè)正確成績(jī)單2.3制作通知單2.4分析統(tǒng)計(jì)成績(jī)2.5分析試題難度試題得分表考生通知單難度分析表合格標(biāo)準(zhǔn)分類(lèi)統(tǒng)計(jì)表成績(jī)單錯(cuò)誤成績(jī)單經(jīng)審定的成績(jī)單61軟件工程第2層數(shù)據(jù)流圖(b)2.12.2考生名冊(cè)正確2.32.425)繪制數(shù)據(jù)流圖的原則數(shù)據(jù)流圖上所有圖形符號(hào)只限于前述四種基本圖形元素,它們的命名應(yīng)反映其實(shí)際含義;數(shù)據(jù)流圖的頂層圖上的數(shù)據(jù)流必須封閉在外部實(shí)體之間;每個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流;允許一個(gè)加工有多條數(shù)據(jù)流流向另一個(gè)加工,也允許一個(gè)加工有兩個(gè)相同的輸出數(shù)據(jù)流流向兩個(gè)不同的加工。62軟件工程5)繪制數(shù)據(jù)流圖的原則數(shù)據(jù)流圖上所有圖形符號(hào)只限于前述四種基在數(shù)據(jù)流圖中,需按層給加工框編號(hào)。編號(hào)表明該加工所處層次及上下層的親子關(guān)系;規(guī)定任何一個(gè)數(shù)據(jù)流子圖必須與它上一層的一個(gè)加工對(duì)應(yīng),兩者的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流必須一致。此即父圖與子圖的平衡;如果一個(gè)數(shù)據(jù)文件僅在展開(kāi)的數(shù)據(jù)流子圖中使用,可以在父圖中不畫(huà)出;可以在數(shù)據(jù)流圖中加入物質(zhì)流,幫助用戶(hù)理解數(shù)據(jù)流圖;數(shù)據(jù)流圖中不可夾帶控制流,但針對(duì)實(shí)時(shí)系統(tǒng)可以加入控制流,成為數(shù)據(jù)流圖的擴(kuò)展形式。63軟件工程在數(shù)據(jù)流圖中,需按層給加工框編號(hào)。編號(hào)表明該加工所處層次及上
數(shù)據(jù)流和控制流舉例(使用Ward和mellor符號(hào))監(jiān)控固件和操作接口每個(gè)固件狀態(tài)動(dòng)作警告機(jī)器人初始化控制操作命令部件狀態(tài)緩沖器位置命令開(kāi)始/停止處理機(jī)器人命令機(jī)器人命令文件操作設(shè)置處理活動(dòng)記錄機(jī)器人動(dòng)作位串64軟件工程數(shù)據(jù)流和控制流舉例監(jiān)控固每個(gè)固件狀態(tài)動(dòng)作機(jī)器人初始數(shù)據(jù)和控制模型的關(guān)系
DFD加工規(guī)格說(shuō)明加工模型DFD控制規(guī)格說(shuō)明控制模型數(shù)據(jù)輸出數(shù)據(jù)條件數(shù)據(jù)輸入控制輸入控制輸出加工激活者65軟件工程數(shù)據(jù)和控制模型的關(guān)系DFD加工規(guī)格說(shuō)明加工模型DFD控制規(guī)3.行為建模行為建模給出需求分析方法的所有操作原則,但只有結(jié)構(gòu)化分析方法的擴(kuò)充版本才提供這種建模的符號(hào)。狀態(tài)遷移圖Petri網(wǎng)66軟件工程3.行為建模行為建模給出需求分析方法的所有操作原則,但只有1)狀態(tài)遷移圖例如,有關(guān)CPU分配的進(jìn)程的狀態(tài)遷移。t2t3t4t1運(yùn)行就緒等待67軟件工程1)狀態(tài)遷移圖例如,有關(guān)CPU分配的進(jìn)程的狀態(tài)遷移。t2狀態(tài)遷移圖是描述系統(tǒng)的狀態(tài)如何響應(yīng)外部的事件進(jìn)行推移的一種圖形表示?!啊稹北硎究傻玫降南到y(tǒng)狀態(tài)“→”表示從一種狀態(tài)向另一種狀態(tài)的遷移。S2S1S3t1t2t3t4t4t3t2t1事件狀態(tài)S1S2S3S3S2S3S168軟件工程狀態(tài)遷移圖是描述系統(tǒng)的狀態(tài)如何響應(yīng)外部的事件進(jìn)行推移的一種圖2)Petri網(wǎng)Petri網(wǎng)已廣泛地應(yīng)用于硬件與軟件系統(tǒng)的開(kāi)發(fā)中,它適用于描述與分析相互獨(dú)立、協(xié)同操作的處理系統(tǒng),也就是并發(fā)執(zhí)行的處理系統(tǒng)。Petri網(wǎng)簡(jiǎn)稱(chēng)PNG(PetriNetGraph),它有兩種結(jié)點(diǎn):位置:符號(hào)“○”,表示系統(tǒng)狀態(tài)。轉(zhuǎn)移:符號(hào)“|”,表示系統(tǒng)中的事件。有向邊“
”表示向轉(zhuǎn)移的輸入,或從轉(zhuǎn)移的輸出。69軟件工程2)Petri網(wǎng)Petri網(wǎng)已廣泛地應(yīng)用于硬件與軟件系統(tǒng)的開(kāi)標(biāo)記,或稱(chēng)令牌(token),是表明系統(tǒng)當(dāng)前處于什么狀態(tài)的標(biāo)志。Petri網(wǎng)可能的變化有:70軟件工程標(biāo)記,或稱(chēng)令牌(token),是表明系統(tǒng)當(dāng)前處于什么狀態(tài)的進(jìn)程得到資源占用資源運(yùn)行釋放資源不用資源運(yùn)行PR1LOCKR處理11UNLOCKR處理12PR2LOCKR處理21UNLOCKR處理22例如,處理兩個(gè)進(jìn)程PR1和PR2的同步問(wèn)題(此時(shí)兩個(gè)進(jìn)程共用一個(gè)資源R):71軟件工程進(jìn)程得到資源占用資源運(yùn)行釋放資源不用資源運(yùn)行PR172軟件工程72軟件工程4.數(shù)據(jù)字典數(shù)據(jù)字典是結(jié)構(gòu)化分析方法的核心。與各模型的圖形表示配合,能清楚地表達(dá)數(shù)據(jù)處理的要求詞條描述——對(duì)于在模型中每一個(gè)被命名的圖形元素,均加以定義,其內(nèi)容有:
名字,別名或編號(hào),分類(lèi),描述,定義,位置,其它,等。73軟件工程4.數(shù)據(jù)字典數(shù)據(jù)字典是結(jié)構(gòu)化分析方法的核心。與各模型的圖(1)數(shù)據(jù)流詞條描述數(shù)據(jù)流名:說(shuō)明:簡(jiǎn)要介紹它產(chǎn)生的原因和結(jié)果數(shù)據(jù)流來(lái)源:來(lái)自何方數(shù)據(jù)流去向:去向何處數(shù)據(jù)流組成:數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)量流通量:數(shù)據(jù)量,流通量1)詞條描述74軟件工程(1)數(shù)據(jù)流詞條描述1)詞條描述74軟件工程(2)數(shù)據(jù)元素詞條描述類(lèi)型:數(shù)字(離散值,連續(xù)值),文字(編碼類(lèi)型)長(zhǎng)度:取值范圍:相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu):(3)數(shù)據(jù)文件詞條描述數(shù)據(jù)文件名:簡(jiǎn)述:存放的是什么數(shù)據(jù)輸入數(shù)據(jù):輸出數(shù)據(jù):
75軟件工程(2)數(shù)據(jù)元素詞條描述75軟件工程數(shù)據(jù)文件組成:數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)方式:順序,直接,關(guān)鍵碼存取頻率:
(4)加工邏輯詞條描述加工名:加工編號(hào):反映該加工的層次簡(jiǎn)要描述:加工邏輯及功能簡(jiǎn)述輸入數(shù)據(jù)流:輸出數(shù)據(jù)流:加工邏輯:簡(jiǎn)述加工程序,加工順序76軟件工程數(shù)據(jù)文件組成:數(shù)據(jù)結(jié)構(gòu)76軟件工程(5)數(shù)據(jù)源及數(shù)據(jù)譚詞條描述名稱(chēng):外部實(shí)體名簡(jiǎn)要描述:什么外部實(shí)體有關(guān)數(shù)據(jù)流:數(shù)目:77軟件工程(5)數(shù)據(jù)源及數(shù)據(jù)譚詞條描述77軟件工程2)數(shù)據(jù)結(jié)構(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ù)元素
x=“a”.. 連結(jié)符
x=1..978軟件工程2)數(shù)據(jù)結(jié)構(gòu)的描述符號(hào) 含存折格式79軟件工程存折格式79軟件工程存折=戶(hù)名+所號(hào)+帳號(hào)+開(kāi)戶(hù)日+性質(zhì)+(印密)+1{存取行}50戶(hù)名=2{字母}24所號(hào)=“001”..“999”帳號(hào)=“00000001”..“99999999”開(kāi)戶(hù)日=年+月+日性質(zhì)=“1”..“6”
注:“1”表示普通戶(hù),“5”表示工資戶(hù)等印密=“0”
注:印密在存折上不顯示存取行=日期+(摘要)+支出+存入+余額+操作+復(fù)核80軟件工程存折=戶(hù)名+所號(hào)+帳號(hào)+開(kāi)戶(hù)日+性質(zhì)+(印密)+1{存取行}3)基本加工邏輯說(shuō)明
對(duì)數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)基本加工邏輯說(shuō)明?;炯庸み壿嬚f(shuō)明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則。加工邏輯說(shuō)明必須描述實(shí)現(xiàn)加工的策略而不是實(shí)現(xiàn)加工的細(xì)節(jié)。加工邏輯說(shuō)明中包含的信息應(yīng)是充足的,完備的,有用的,無(wú)冗余的。描述加工邏輯說(shuō)明的工具:結(jié)構(gòu)化語(yǔ)言、決策表、決策樹(shù)。81軟件工程3)基本加工邏輯說(shuō)明對(duì)數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)(1)結(jié)構(gòu)化語(yǔ)言結(jié)構(gòu)化語(yǔ)言是一種偽碼,它的詞匯表由命令動(dòng)詞數(shù)據(jù)字典中定義的名字有限的自定義詞邏輯關(guān)系詞
IF_THEN_ELSE、SWITCH、WHILE_DO、FOR、DO_WHILE等組成。它是一種介于自然語(yǔ)言和形式化語(yǔ)言之間的語(yǔ)言。用以消除在語(yǔ)法上的歧義性。82軟件工程(1)結(jié)構(gòu)化語(yǔ)言結(jié)構(gòu)化語(yǔ)言是一種偽碼,它的詞匯表由82軟語(yǔ)言的正文用基本控制結(jié)構(gòu)進(jìn)行分割,加工中的操作用自然語(yǔ)言短語(yǔ)來(lái)表示。其基本控制結(jié)構(gòu)有三種:簡(jiǎn)單陳述句結(jié)構(gòu):避免復(fù)合語(yǔ)句;重復(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é)構(gòu)化語(yǔ)言描述的規(guī)格說(shuō)明的正文可以在計(jì)算機(jī)上編輯,不必過(guò)多地考慮語(yǔ)言的在語(yǔ)法上的限制,使得分析員可以集中考慮加工的策略或規(guī)則。83軟件工程語(yǔ)言的正文用基本控制結(jié)構(gòu)進(jìn)行分割,加工中的操作用自然語(yǔ)言短語(yǔ)商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”if發(fā)貨單金額超過(guò)$500then
if欠款超過(guò)了60天then在償還欠款前不予批準(zhǔn)
else
(欠款未超期)發(fā)批準(zhǔn)書(shū),發(fā)貨單
else
(發(fā)貨單金額未超過(guò)$500)
if欠款超過(guò)60天then發(fā)批準(zhǔn)書(shū),發(fā)貨單及賒欠報(bào)告else
(欠款未超期)發(fā)批準(zhǔn)書(shū),發(fā)貨單
84軟件工程商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”if發(fā)貨單金額超過(guò)$500(2)決策表如果數(shù)據(jù)流圖的加工需要依賴(lài)于多個(gè)邏輯條件的取值,使用決策表來(lái)描述比較合適。條件茬條件項(xiàng)動(dòng)作茬動(dòng)作項(xiàng)規(guī)則單個(gè)條件單個(gè)動(dòng)作85軟件工程(2)決策表如果數(shù)據(jù)流圖的加工需要依賴(lài)于多個(gè)邏輯條件的取值以“檢查發(fā)貨單”為例操在償還欠款前不予批準(zhǔn)
作發(fā)出批準(zhǔn)書(shū)
發(fā)出發(fā)貨單
發(fā)出賒欠報(bào)告
1234條發(fā)貨單金額>
$500>$500≤
$500≤
$500件賒欠情況>60天≤60天>60天≤60天86軟件工程以“檢查發(fā)貨單”為例在償還欠款前不予批準(zhǔn)作發(fā)出批準(zhǔn)書(shū)(3)判定樹(shù)判定樹(shù)也是用來(lái)表達(dá)加工邏輯的一種工具。有時(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ā)貨單87軟件工程(3)判定樹(shù)判定樹(shù)也是用來(lái)表達(dá)加工邏輯的一種工具。有時(shí)侯它這是一種有效駕馭風(fēng)險(xiǎn)的技術(shù)。通過(guò)原型可以增進(jìn)軟件者和用戶(hù)對(duì)系統(tǒng)服務(wù)需求的理解,使比較含糊的具有不確定性的軟件需求(主要是功能)明確化。可以容易地確定系統(tǒng)的性能,確認(rèn)各項(xiàng)主要系統(tǒng)服務(wù)的可應(yīng)用性,確認(rèn)系統(tǒng)設(shè)計(jì)的可行性,確認(rèn)系統(tǒng)作為產(chǎn)品的結(jié)果。有的原型可以直接成為產(chǎn)品,有的略加修改就可成為最終系統(tǒng)的一個(gè)組成部分。四、快速原型化方法88軟件工程這是一種有效駕馭風(fēng)險(xiǎn)的技術(shù)。通過(guò)原型四、快速原型化方法88軟探索型: 目的是要弄清對(duì)目標(biāo)系統(tǒng)的要求,確定所希望的特性,并探討多種方案的可行性。實(shí)驗(yàn)型: 這種原型用于大規(guī)模開(kāi)發(fā)和實(shí)現(xiàn)之前,考核方案是否合適,規(guī)格說(shuō)明是否可靠。進(jìn)化型: 這種原型的目的不在于改進(jìn)規(guī)格說(shuō)明,而是將系統(tǒng)建造得易于變化,在改進(jìn)原型的過(guò)程中,逐步將原型進(jìn)化成最終系統(tǒng)。1.原型分類(lèi)89軟件工程探索型:1.原型分類(lèi)89軟件工程2.原型使用策略軟件原型支持需求工程的兩項(xiàng)活動(dòng):需求獲取需求有效性驗(yàn)證其他用途:用戶(hù)培訓(xùn)系統(tǒng)測(cè)試原型開(kāi)發(fā)主要分類(lèi):進(jìn)化式原型開(kāi)發(fā)拋棄式原型開(kāi)發(fā)90軟件工程2.原型使用策略軟件原型支持需求工程的兩項(xiàng)活動(dòng):90軟件工1)進(jìn)化式原型開(kāi)發(fā)基本思路是:先給出一個(gè)系統(tǒng)的最初實(shí)現(xiàn),讓用戶(hù)去使用和評(píng)價(jià),不斷進(jìn)行細(xì)化和改善,經(jīng)過(guò)多次這樣的反復(fù)過(guò)程后形成最終的完善的系統(tǒng)。開(kāi)發(fā)抽象描述建立原型系統(tǒng)使用原型系統(tǒng)系統(tǒng)充分嗎?交付系統(tǒng)否是91軟件工程1)進(jìn)化式原型開(kāi)發(fā)基本思路是:先給出一個(gè)系統(tǒng)的最初實(shí)現(xiàn),讓用2)拋棄式原型開(kāi)發(fā)基本思路是:原型的根本作用是弄清楚需求和為風(fēng)險(xiǎn)評(píng)估提供補(bǔ)充信息。通過(guò)評(píng)估后,原型被拋棄,重新規(guī)劃和實(shí)施系統(tǒng)的開(kāi)發(fā)。框架需求開(kāi)發(fā)原型確定系統(tǒng)評(píng)估原型開(kāi)發(fā)軟件問(wèn)題可驗(yàn)證系統(tǒng)問(wèn)題可交付的軟件系統(tǒng)可復(fù)用構(gòu)件92軟件工程2)拋棄式原型開(kāi)發(fā)基本思路是:原型的根本作用是弄清楚需求和為3.原型開(kāi)發(fā)技術(shù)可執(zhí)行規(guī)格說(shuō)明基于場(chǎng)景(scenario)的設(shè)計(jì)自動(dòng)程序設(shè)計(jì)專(zhuān)用語(yǔ)言可復(fù)用(reusable)的軟件簡(jiǎn)化假設(shè)93軟件工程3.原型開(kāi)發(fā)技術(shù)可執(zhí)行規(guī)格說(shuō)明93軟件工程1)可執(zhí)行規(guī)格說(shuō)明可執(zhí)行規(guī)格說(shuō)明是用于需求規(guī)格說(shuō)明的一種自動(dòng)化技術(shù)。使用這種方法,人們可以直接觀察他們用語(yǔ)言規(guī)定的任何系統(tǒng)性行為。包括代數(shù)規(guī)格說(shuō)明有限狀態(tài)模型可執(zhí)行的數(shù)據(jù)流圖94軟件工程1)可執(zhí)行規(guī)格說(shuō)明可執(zhí)行規(guī)格說(shuō)明是用于需求規(guī)格說(shuō)明的一種自動(dòng)代數(shù)規(guī)格說(shuō)明使用集合、定義于這些集合上的函數(shù)和定義于這些函數(shù)上的方程來(lái)描述對(duì)象。規(guī)格說(shuō)明的操作語(yǔ)義用這些方程表示。舉例:定義一個(gè)無(wú)界的棧及其操作NEW_STACK:
StackPUSH:Stack,Element
StackPOP:Stack
(Element|Undefined)POP(NEW_STACK())=UndefinedPOP(PUSH(Stack,elem))=elem95軟件工程代數(shù)規(guī)格說(shuō)明使用集合、定義于這些集合上的函數(shù)和定義于這些函數(shù)有限狀態(tài)模型parnas提出的使用最廣泛的一種可執(zhí)行規(guī)格說(shuō)明形式。從一個(gè)初始狀態(tài)開(kāi)始接收輸入,到產(chǎn)生輸出,狀態(tài)在推移變化。施加在狀態(tài)元素上的約束確定了有效狀態(tài)的推移。舉例:建立用戶(hù)/程序?qū)υ?huà)96軟件工程有限狀態(tài)模型parnas提出的使用最廣泛的一種可執(zhí)行規(guī)格說(shuō)明startgoofinfobyenewentryreport‘enter’‘quit’‘help’‘print’97軟件工程startgoofinfobyenewentryrepor可執(zhí)行的數(shù)據(jù)流圖數(shù)據(jù)流圖是基于結(jié)構(gòu)化開(kāi)發(fā)方法的結(jié)構(gòu)化規(guī)格說(shuō)明。用一種可執(zhí)行的語(yǔ)言程序代替定義處理邏輯的結(jié)構(gòu)化英語(yǔ),數(shù)據(jù)流圖就成為由可執(zhí)行語(yǔ)言程序模塊組成的網(wǎng)絡(luò),在一定環(huán)境或工具的支持下就可成為一個(gè)可以執(zhí)行的原型系統(tǒng)。98軟件工程可執(zhí)行的數(shù)據(jù)流圖數(shù)據(jù)流圖是基于結(jié)構(gòu)化開(kāi)發(fā)方法的結(jié)構(gòu)化規(guī)格說(shuō)明2)基于場(chǎng)景的設(shè)計(jì)場(chǎng)景是指用戶(hù)界面的原型。一個(gè)場(chǎng)景用以模擬在系統(tǒng)運(yùn)行期間用戶(hù)經(jīng)歷的事件。它提供了輸入─處理─輸出的屏幕格式和有關(guān)對(duì)話(huà)的模型。因此,軟件開(kāi)發(fā)人員能夠給用戶(hù)顯示系統(tǒng)的逼真的視圖,使用戶(hù)得以判斷是否符合他的意圖。分析員與用戶(hù)的溝通往往通過(guò)演示場(chǎng)景。可在任一場(chǎng)景中使用一套可復(fù)用的軟件模塊,以表達(dá)某一方面的要求。99軟件工程2)基于場(chǎng)景的設(shè)計(jì)場(chǎng)景是指用戶(hù)界面的原型。99軟件工程可使用一種原型語(yǔ)言來(lái)描述原型系統(tǒng)。原型開(kāi)發(fā)過(guò)程中用這種語(yǔ)言來(lái)定義屏幕數(shù)據(jù)項(xiàng)相關(guān)的操作從系統(tǒng)的外部描述開(kāi)始,開(kāi)發(fā)與數(shù)據(jù)庫(kù)的接口錯(cuò)誤處理和恢復(fù)過(guò)程 等系統(tǒng)的與外部視圖一致的細(xì)節(jié)。100軟件工程可使用一種原型語(yǔ)言來(lái)描述原型系統(tǒng)。原型開(kāi)發(fā)過(guò)程中用這種語(yǔ)言來(lái)3)自動(dòng)程序設(shè)計(jì)在程序自動(dòng)生成環(huán)境的支持下,利用計(jì)算機(jī)實(shí)現(xiàn)軟件的開(kāi)發(fā)。可以自動(dòng)或半自動(dòng)地把用戶(hù)的非過(guò)程式問(wèn)題規(guī)格說(shuō)明轉(zhuǎn)換為某種高級(jí)語(yǔ)言程序:演繹綜合手段:基于數(shù)學(xué)推理的構(gòu)造式證明。程序變換手段:將一程序轉(zhuǎn)換成另一功能等價(jià)的程序,并保持其正確性不變。101軟件工程3)自動(dòng)程序設(shè)計(jì)在程序自動(dòng)生成環(huán)境的支持下,利用計(jì)算機(jī)實(shí)現(xiàn)軟實(shí)例推廣手段:從實(shí)例特征出發(fā),將它推廣為待編程序的特征,最后得到程序。過(guò)程化手段:研究甚高級(jí)語(yǔ)言的編譯和知識(shí)的過(guò)程化。102軟件工程實(shí)例推廣手段:102軟件工程4)專(zhuān)用語(yǔ)言專(zhuān)用語(yǔ)言是應(yīng)用領(lǐng)域的模型化語(yǔ)言。在原型開(kāi)發(fā)中使用專(zhuān)用語(yǔ)言,可方便用戶(hù)和軟件開(kāi)發(fā)者在計(jì)劃中的系統(tǒng)特性方面的交流。103軟件工程4)專(zhuān)用語(yǔ)言專(zhuān)用語(yǔ)言是應(yīng)用領(lǐng)域的模型化語(yǔ)言。103軟件工程5)軟件復(fù)用技術(shù)利用可復(fù)用的模塊,做出適當(dāng)?shù)慕M合,就可得到快速構(gòu)造的原型系統(tǒng)。為了快速地構(gòu)造原型,這些模塊必須有簡(jiǎn)單而清晰的界面;應(yīng)當(dāng)盡量不依賴(lài)其它的模塊或數(shù)據(jù)結(jié)構(gòu);應(yīng)具有一些通用的功能。104軟件工程5)軟件復(fù)用技術(shù)利用可復(fù)用的模塊,做出適當(dāng)?shù)慕M合,就可得到快6)簡(jiǎn)化假設(shè)在開(kāi)發(fā)過(guò)程中為使設(shè)計(jì)者迅速得到一個(gè)簡(jiǎn)化的系統(tǒng),可以預(yù)設(shè)一些使得問(wèn)題簡(jiǎn)化的假設(shè)。盡管這些假設(shè)可能實(shí)際上并不能成立,但它們?cè)谠烷_(kāi)發(fā)過(guò)程中可以使開(kāi)發(fā)者的注意力集中在一些主要的方面。105軟件工程6)簡(jiǎn)化假設(shè)在開(kāi)發(fā)過(guò)程中為使設(shè)計(jì)者迅速得到一個(gè)簡(jiǎn)化的系統(tǒng),可1.為什么要采用面向?qū)ο蠹夹g(shù)五、面向?qū)ο蠓治龇椒ㄏ到y(tǒng)可維護(hù)性的要求 在系統(tǒng)中,功能往往是未來(lái)可能變化的因素,而問(wèn)題領(lǐng)域的實(shí)體則不會(huì)有太多的變化。將這些實(shí)體作為對(duì)象構(gòu)建系統(tǒng),可以構(gòu)造一個(gè)穩(wěn)定的系統(tǒng)。因?yàn)槲磥?lái)的功能變化只需改變對(duì)象內(nèi)部的操作的實(shí)現(xiàn),修改是局部的。系統(tǒng)可復(fù)用性的需要
代碼級(jí)的復(fù)用使得開(kāi)發(fā)者得以利用已有的程序106軟件工程1.為什么要采用面向?qū)ο蠹夹g(shù)五、面向?qū)ο蠓治龇椒ㄏ到y(tǒng)可維護(hù) 實(shí)現(xiàn)新的程序。軟件開(kāi)發(fā)實(shí)踐期望不僅在代碼級(jí),而且在設(shè)計(jì)級(jí)、框架級(jí),甚至系統(tǒng)級(jí)都能夠復(fù)用。面向?qū)ο蠹夹g(shù)中的封裝性、繼承性、類(lèi)屬性等支持各種級(jí)別的復(fù)用。同一類(lèi)中所有實(shí)例共享數(shù)據(jù)結(jié)構(gòu)和行為特征;同一應(yīng)用中所有實(shí)例通過(guò)繼承共享數(shù)據(jù)結(jié)構(gòu)和行為特征;不同應(yīng)用中所有實(shí)例通過(guò)復(fù)用共享數(shù)據(jù)結(jié)構(gòu)和行為特征。程序無(wú)關(guān)性的期望107軟件工程 實(shí)現(xiàn)新的程序。軟件開(kāi)發(fā)實(shí)踐期望不僅在代碼級(jí),而且在設(shè)計(jì)級(jí)、
任何機(jī)器環(huán)境下,使用任意程序語(yǔ)言所編的程序,希望都能夠通用。與機(jī)器相關(guān)的成分應(yīng)該與處理邏輯無(wú)關(guān)。 面向?qū)ο蠓椒ú捎脤?duì)象(類(lèi)的實(shí)例)作為系統(tǒng)的基本構(gòu)造單位。類(lèi)的多態(tài)性以及動(dòng)態(tài)綁定技術(shù),是面向?qū)ο蠓椒ㄓ袆e于結(jié)構(gòu)化方法的實(shí)質(zhì)性突破。它提倡接口和實(shí)現(xiàn)分開(kāi)的設(shè)計(jì)理念并提供程序機(jī)制,為程序無(wú)關(guān)性的理想奠定了基礎(chǔ)。108軟件工程 任何機(jī)器環(huán)境下,使用任意程序語(yǔ)言所編的程序,希望都能夠通用2.什么是面向?qū)ο驪eterCoad和EdwardYourdon提出面向?qū)ο蠓椒ǖ母拍睿好嫦驅(qū)ο?對(duì)象+分類(lèi) +繼承(inheritance) +消息通信(communicationwithmessages)采用這四個(gè)概念開(kāi)發(fā)的軟件系統(tǒng)是面向?qū)ο蟮摹?/p>
。一個(gè)面向?qū)ο蟮某绦虻拿恳怀煞輵?yīng)是對(duì)象,計(jì)算是通過(guò)新的對(duì)象的建立和對(duì)象之間的通信來(lái)執(zhí)行的。109軟件工程2.什么是面向?qū)ο驪eterCoad和Edward1)對(duì)象(object)對(duì)象是系統(tǒng)中用來(lái)描述客觀事物的一個(gè)實(shí)體,是構(gòu)成系統(tǒng)的一個(gè)基本單位,由一組屬性和一組對(duì)屬性進(jìn)行操作的服務(wù)組成。
對(duì)象=對(duì)象名+數(shù)據(jù)(屬性)+操作(行為)屬性一般只能通過(guò)執(zhí)行對(duì)象的操作來(lái)改變。操作又稱(chēng)為方法或服務(wù),它描述了對(duì)象執(zhí)行的功能,若通過(guò)消息傳遞,還可以為其他對(duì)象使用。110軟件工程1)對(duì)象(object)對(duì)象是系統(tǒng)中用來(lái)描述客觀事物的一個(gè)實(shí)(50,60)(50,85)(35,60)(35,85)(50,45)(60,35)(56,10)(46,37)(10,50)(20,20)(23,30)計(jì)算機(jī)窗口中的三個(gè)多邊形111軟件工程(50,60)(50,85)(35,60)(35,8drawmove(x,y)contains?(aPoint)(10,50)(20,20)(23,30)triangledrawmove(x,y)contains?(aPoint)(46,37)(50,45)(60,35)(56,10)quadrilateral1drawmove(x,y)contains?(aPoint)(35,60)(35,85)(50,85)(50,60)quadrilateral2表示多邊形的三個(gè)對(duì)象112軟件工程draw(10,50)triangledraw(46,32)類(lèi)(classification)把具有相同特征(屬性)和行為(操作)的對(duì)象歸在一起就形成了類(lèi)(class)。類(lèi)的定義包括一組數(shù)據(jù)屬性和在數(shù)據(jù)上的一組合法操作。在一個(gè)類(lèi)中,每個(gè)對(duì)象都是類(lèi)的實(shí)例(Instance),它們都可使用類(lèi)中的函數(shù)。類(lèi)定義了各個(gè)實(shí)例所共有的結(jié)構(gòu),使用類(lèi)的構(gòu)造函數(shù),可以在創(chuàng)建該類(lèi)的實(shí)例時(shí)初始化這個(gè)實(shí)例的狀態(tài)(實(shí)例變量)。113軟件工程2)類(lèi)(classification)把具有相同特征(屬性)由兩個(gè)四邊形對(duì)象導(dǎo)出一個(gè)類(lèi)drawmove(x,y)contains?(aPoint)(46,37)(50,45)(60,35)(56,10)quadrilateral1drawmove(x,y)contains?(aPoint)(35,60)(35,85)(50,85)(50,60)quadrilateral2drawmove(x,y)contains?(aPoint)point1point2point3point4quadrilateral114軟件工程由兩個(gè)四邊形對(duì)象導(dǎo)出一個(gè)類(lèi)draw(46,37)quadr3)消息(messages)消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息,要求該實(shí)例執(zhí)行類(lèi)中定義的某個(gè)操作。消息的使用類(lèi)似于函數(shù)調(diào)用,消息中指定了某一個(gè)實(shí)例,一個(gè)操作名和一個(gè)參數(shù)表(可能是空的)。接收消息的實(shí)例執(zhí)行消息中指定的操作,并將形式參數(shù)與參數(shù)表中相應(yīng)的實(shí)參值結(jié)合起來(lái)。消息有4類(lèi):發(fā)送對(duì)象激活接收對(duì)象;發(fā)送對(duì)象傳送信息給接收對(duì)象;發(fā)送對(duì)象詢(xún)問(wèn)接收對(duì)象;發(fā)送對(duì)象請(qǐng)求接收對(duì)象提供服務(wù)。115軟件工程3)消息(messages)消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳4)繼承(inheritance)類(lèi)與類(lèi)之間可能具有的一般化和特殊化關(guān)系:即“is-a”關(guān)系,特殊化類(lèi)是一般化類(lèi)的子類(lèi),一般化類(lèi)是特殊化類(lèi)的父類(lèi)。在這種關(guān)系下形成一種層次的關(guān)聯(lián)。這就是繼承關(guān)系。交通工具輪船汽車(chē)飛機(jī)116軟件工程4)繼承(inheritance)類(lèi)與類(lèi)之間可能具有的一般化繼承是父類(lèi)和子類(lèi)之間共享數(shù)據(jù)和方法的機(jī)制。在定義和實(shí)現(xiàn)一個(gè)類(lèi)時(shí),可以在一個(gè)現(xiàn)成的類(lèi)的基礎(chǔ)上來(lái)進(jìn)行,把這個(gè)現(xiàn)成類(lèi)所定義的內(nèi)容作為自己的內(nèi)容,并加入若干新的內(nèi)容。父類(lèi)A和它的子類(lèi)B之間的繼承關(guān)系繼承部分增加部分從A繼承父類(lèi)A子類(lèi)B117軟件工程繼承是父類(lèi)和子類(lèi)之間共享數(shù)據(jù)和方法的機(jī)制。在定義和實(shí)現(xiàn)一個(gè)類(lèi)分類(lèi)只從一個(gè)父類(lèi)得到繼承,叫做“單重繼承”。一個(gè)子類(lèi)有兩個(gè)或更多個(gè)父類(lèi),則稱(chēng)“多重繼承”。汽車(chē)大客車(chē)載重車(chē)油罐車(chē)汽車(chē)起重機(jī)起重車(chē)多(重)繼承單(重)繼承118軟件工程分類(lèi)汽車(chē)大客車(chē)載重車(chē)油罐車(chē)汽車(chē)起重機(jī)起重車(chē)多(重)繼承單(重5)多態(tài)不同的對(duì)象對(duì)同一消息有不同的實(shí)現(xiàn)。多態(tài)的實(shí)現(xiàn)受到繼承的支持:利用類(lèi)的繼承的層次關(guān)系,把具有通用功能的消息存放在高層次,而不同的實(shí)現(xiàn)這一功能的行為放在較低層次,在這些低層次上生成的對(duì)象能夠給通用消息以不同的響應(yīng)。參數(shù)多態(tài):即模板化的多態(tài),通過(guò)參數(shù)代換確定所用的數(shù)據(jù)類(lèi)型。包含多態(tài):常見(jiàn)的例子就是子類(lèi)型化,即一個(gè)類(lèi)型是另一個(gè)類(lèi)型的子類(lèi)型。119軟件工程5)多態(tài)不同的對(duì)象對(duì)同一消息有不同的實(shí)現(xiàn)。119軟件工程3.面向?qū)ο蠓治觯∣OA)面向?qū)ο蠓治觯∣bject-OrientedAnalysis),簡(jiǎn)稱(chēng)OOA。OOA的目的:理解應(yīng)用問(wèn)題;確定系統(tǒng)的功能、性能要求。面向?qū)ο蠓治龇ㄅc結(jié)構(gòu)化分析法之間的差別:結(jié)構(gòu)化分析方法中的E-R圖,關(guān)注實(shí)體的屬性和相互間的關(guān)系;而面向?qū)ο蟮姆治?,除此之外還要關(guān)注實(shí)體的行為。120軟件工程3.面向?qū)ο蠓治觯∣OA)面向?qū)ο蠓治觯∣bject-Or結(jié)構(gòu)化分析的數(shù)據(jù)流圖,將數(shù)據(jù)和加工處理分開(kāi);而面向?qū)ο蟮姆治鍪菍?shù)據(jù)實(shí)體和他們的處理動(dòng)作視為不可分割的整體來(lái)考慮的。結(jié)構(gòu)化分析方法建造系統(tǒng)的元素是基于功能,或加工處理的;而面向?qū)ο蠓治龇椒ńㄔ煜到y(tǒng)的基本元素是封裝了操作的對(duì)象類(lèi)。因此,面向?qū)ο蟮慕Y(jié)果比較容易理解和管理,便于修改,早期階段的修改容易提高軟件的可靠性。121軟件工程結(jié)構(gòu)化分析的數(shù)據(jù)流圖,將數(shù)據(jù)和加工處理分開(kāi);而面向?qū)ο蟮姆治?.面向?qū)ο蠓治龅幕顒?dòng)發(fā)現(xiàn)合適的對(duì)象類(lèi)和對(duì)象的標(biāo)識(shí)類(lèi)和對(duì)象的細(xì)化標(biāo)識(shí)結(jié)構(gòu)標(biāo)識(shí)主題標(biāo)識(shí)屬性標(biāo)識(shí)實(shí)例連接標(biāo)識(shí)服務(wù)和消息122軟件工程4.面向?qū)ο蠓治龅幕顒?dòng)發(fā)現(xiàn)合適的對(duì)象122軟件工程1)發(fā)現(xiàn)合適的對(duì)象面向?qū)ο蠹夹g(shù)應(yīng)能顯著提高軟件開(kāi)發(fā)的質(zhì)量和生產(chǎn)率,但這種好處只有在正確標(biāo)識(shí)了對(duì)象集合的基礎(chǔ)上才能得以實(shí)現(xiàn)。沒(méi)有一個(gè)規(guī)范的建立對(duì)象的方法,軟件開(kāi)發(fā)人員只能盲目地建立對(duì)象。發(fā)現(xiàn)對(duì)象的方法對(duì)象存儲(chǔ)數(shù)據(jù)并具有職能(即服務(wù))。傳統(tǒng)的系統(tǒng)分析工具的主要功能是定義數(shù)據(jù)或說(shuō)明處理,對(duì)發(fā)現(xiàn)對(duì)象具有非常重要的作用。123軟件工程1)發(fā)現(xiàn)合適的對(duì)象面向?qū)ο蠹夹g(shù)應(yīng)能顯著提高軟件開(kāi)發(fā)的質(zhì)量和生有3種非常有用的傳統(tǒng)系統(tǒng)分析工具:數(shù)據(jù)流圖、實(shí)體關(guān)系圖以及狀態(tài)遷移圖,涉及了系統(tǒng)的3個(gè)不同的、相互獨(dú)立的方面(處理過(guò)程、數(shù)據(jù)和控制),稱(chēng)為三視圖模型3VM(3-ViewModeling)。對(duì)象是與應(yīng)用領(lǐng)域的有關(guān)概念緊密結(jié)合在一起的。概念的處理主要是基于自然語(yǔ)言:書(shū)面語(yǔ)或口語(yǔ)。
將語(yǔ)言規(guī)則應(yīng)用到軟件系統(tǒng)分析中的處理方法稱(chēng)為基于語(yǔ)言的信息分析(Linguistic-basedInformationAnalysis,簡(jiǎn)稱(chēng)LIA)。
124軟件工程有3種非常有用的傳統(tǒng)系統(tǒng)分析工具:數(shù)據(jù)流圖、實(shí)體關(guān)系圖以3VM和LIA有別于且獨(dú)立于面向?qū)ο蠓治觯@些技術(shù)的應(yīng)用是一個(gè)不斷反復(fù)的過(guò)程。目的就是在實(shí)際應(yīng)用中最大限度地降低對(duì)象標(biāo)識(shí)的主觀性。將3VM和LIA應(yīng)用于發(fā)現(xiàn)對(duì)象的過(guò)程見(jiàn)圖。客戶(hù)執(zhí)行LIA建立3VM建立OOA模型設(shè)計(jì)處理資源庫(kù)資源工作表格用戶(hù)對(duì)話(huà)OOA模型3VM125軟件工程3VM和LIA有別于且獨(dú)立于面向?qū)ο蠓治?,這些技術(shù)的應(yīng)用是一(1)三視圖模型(3VM)實(shí)體關(guān)系模型
實(shí)體關(guān)系圖(ERD)是OOA的一個(gè)有力的前哨。實(shí)體很有可能成為對(duì)象;實(shí)體的屬性則表示成最終要由對(duì)象進(jìn)行存儲(chǔ)的數(shù)據(jù);實(shí)體之間的關(guān)系有可能將建立“關(guān)聯(lián)對(duì)象”。表示關(guān)系(連接)的基數(shù),以及因果條件可能成為維持這些關(guān)系的服務(wù)。
ERD的問(wèn)題:標(biāo)識(shí)的實(shí)體可能與應(yīng)用領(lǐng)域概念無(wú)關(guān);對(duì)于那些不存儲(chǔ)數(shù)據(jù)的對(duì)象顯得無(wú)能為力。126軟件工程(1)三視圖模型(3VM)實(shí)體關(guān)系模型126軟件工程數(shù)據(jù)流模型 有兩種形式的數(shù)據(jù)流模型上下文圖
確定一個(gè)全局的系統(tǒng)邊界;外部實(shí)體就是候選對(duì)象;對(duì)象集合都必須闡明這些上下文圖中的數(shù)據(jù)流是如何被接收、處理及生成的。分層的數(shù)據(jù)流圖待開(kāi)發(fā)系統(tǒng)的功能可分解成為一些基本單元,這些基本單元可看成是基本處理規(guī)格說(shuō)明(PPSs)。PPSs最后必須對(duì)應(yīng)于對(duì)象的方法或服務(wù)。127軟件工程數(shù)據(jù)流模型127軟件工程狀態(tài)遷移模型
有兩種形式的狀態(tài)遷移模型:事件響應(yīng)模型標(biāo)識(shí)出系統(tǒng)必須識(shí)別的所發(fā)生的每一個(gè)事件,以及系統(tǒng)必須作出的預(yù)期響應(yīng)的事件;標(biāo)識(shí)一系列的識(shí)別事件的對(duì)象、產(chǎn)生響應(yīng)的對(duì)象。狀態(tài)遷移圖能標(biāo)識(shí)事件識(shí)別對(duì)象和對(duì)事件產(chǎn)生響應(yīng)的對(duì)象;有助于標(biāo)識(shí)保存狀態(tài)信息的屬性。注意:并非所有3VM工具對(duì)每個(gè)系統(tǒng)都是有用的。128軟件工程狀態(tài)遷移模型128軟件工程(2)基于語(yǔ)言的信息分析(LIA)3VM技術(shù)并不能專(zhuān)門(mén)用于指導(dǎo)正確地標(biāo)識(shí)出新系統(tǒng)的對(duì)象集合?;谡Z(yǔ)言的信息分析(LIA)在發(fā)現(xiàn)對(duì)象方面給出了大量的指導(dǎo)。LIA的目的是標(biāo)識(shí)出應(yīng)用領(lǐng)域的概念空間及這些概念之間的關(guān)系。有兩種十分有效的LIA技術(shù):短語(yǔ)頻率分析(PhraseFrequencyAnalysis,簡(jiǎn)稱(chēng)PFA)矩陣分析(MatrixAnalysis,簡(jiǎn)稱(chēng)MA)129軟件工程(2)基于語(yǔ)言的信息分析(LIA)3VM技術(shù)并不能專(zhuān)門(mén)用a.短語(yǔ)頻率分析(PFA)短語(yǔ)頻率分析搜索選定的問(wèn)題陳述(資源文本),標(biāo)識(shí)可以表示問(wèn)題領(lǐng)域概念的術(shù)語(yǔ)。PFA是標(biāo)識(shí)概念而不是標(biāo)識(shí)語(yǔ)法單元。PFA清單的建立基本上是一個(gè)客觀的過(guò)程,甚至可以自動(dòng)處理。但可能大多數(shù)標(biāo)識(shí)出來(lái)的概念是與目標(biāo)系統(tǒng)無(wú)關(guān)的。PFA的優(yōu)點(diǎn)就在于能廣泛地標(biāo)識(shí)問(wèn)題領(lǐng)域的概念集合,并對(duì)它們進(jìn)行評(píng)估,判定哪些與目標(biāo)軟件無(wú)關(guān)。130軟件工程a.短語(yǔ)頻率分析(PFA)短語(yǔ)頻率分析搜索選定的問(wèn)題陳述acceptedsubscriptionboardofadvisorscorrespondenceaddressaccompaniedpaymentbrownwrapper,plaincost,shippingaccountingdepartmentbulkshipmentcountryactualexpirationdatebureau,subscriptionservicecountry,foreignadditionalsubscriptioncheckpaymentcreditcardorderaddress,corporatecommision,subscriptioncreditcardpaymentaddress,correspondence
servicecurrentauthoraddress,homecompanysubscriptioncustomeraddress,subscriptioncomplimentarysubscriptiondatabaseadvisors,boardofcomplimentarysubscriptiondate,actualexpirationagency,subscriptionservice
querydate,expirationagreement,complimentarysubscriptiondate,expireddistributor-publisher
reviewdaleted,complimentaryannualsubscriptionpricecomplimentarysubscription
subscriptionarticle
deleteddepartment,accountingassociatedsiteconstituentcopiesdepartment,corporateauthorcontinuedsubscriptiondirectsubscriptionauthor,contributingcontributingauthordiscount,subscription
…
…131軟件工程acceptedsubscriptionboardofPFA將名詞和動(dòng)詞標(biāo)識(shí)為候選實(shí)體和屬性。但由于名詞/動(dòng)詞的標(biāo)識(shí)是非常主觀的,可根據(jù)什么是名詞或動(dòng)詞,以及根據(jù)分析員的理解,才能確定哪些名詞或動(dòng)詞是要找的。對(duì)于任一有用的應(yīng)用領(lǐng)域資源,PFA可能會(huì)產(chǎn)生一個(gè)長(zhǎng)長(zhǎng)的概念的清單。許多被標(biāo)識(shí)出的概念因與目標(biāo)軟件無(wú)關(guān)而被丟棄,但其它的則會(huì)成為OOA模型的成份。將PFA清單轉(zhuǎn)換為OOA/OOD工作表格。列出對(duì)各個(gè)概念的理解和選擇,這將有助于對(duì)象的選出。132軟件工程PFA將名詞和動(dòng)詞標(biāo)識(shí)為候選實(shí)體和屬性。但由于名詞/動(dòng)詞的標(biāo)
SmallBytes
訂閱系統(tǒng)
OOA/OOD
工作表格
條
目(0)(1)(2)(3)(4)(5)(6)(7)(8)
注
釋ACCEPTIONSUBSCRIPTION
×SUBSCRIPTION的屬性ACCOMPANIEDPAYMENT
×
對(duì)payment的不同類(lèi)型不加
以區(qū)分ACCOUNTINGDEPARTMENT
×
已超出SBSS的應(yīng)用領(lǐng)域ACTUALEXPIRATIONDATE
×SUBSCRIPTION的屬性ADDITIONALSUBSCRIPTION
×
×SUBSCRIPTION的可能屬
性,或可能是派生類(lèi)型-基
類(lèi)型結(jié)構(gòu)ARTICLE
×ASSOCIATEDSITE
×SITE的屬性AUTHOR
×
.....................(0)不適用,可能無(wú)關(guān),超出指定系統(tǒng)的環(huán)境(4)可能描述對(duì)象的服務(wù)(1)可能的對(duì)象-類(lèi)(5)與實(shí)現(xiàn)相關(guān),可能是屬于問(wèn)題領(lǐng)域部分的條目(2)可能是派生類(lèi)型-基類(lèi)型結(jié)構(gòu)的一部分(6)可能是屬于人機(jī)交互部分的條目包括泛化-特化結(jié)構(gòu)和整體-部分結(jié)構(gòu)(7)可能是屬于任務(wù)管理部分的條目(3)可能描述對(duì)象-類(lèi)的屬性或?qū)嵗P(guān)系(8)可能是屬于數(shù)據(jù)管理部分的條目
133軟件工程SmallBytes訂閱系統(tǒng)OOA/OODb.矩陣分析(MA)通常是在初始對(duì)象標(biāo)識(shí)出來(lái)后再使用。矩陣的行和列是應(yīng)用領(lǐng)域的概念。矩陣中的元素表示了相對(duì)應(yīng)的行與列上的概念之間的關(guān)聯(lián)關(guān)系。分析員標(biāo)識(shí)出應(yīng)用領(lǐng)域的關(guān)系(事務(wù)規(guī)則);而且還可能會(huì)發(fā)現(xiàn)新的在初始的PFA中沒(méi)有產(chǎn)生的對(duì)象。134軟件工程b.矩陣分析(MA)通常是在初始對(duì)象標(biāo)識(shí)出來(lái)后再使用。1SBSS應(yīng)用領(lǐng)域部分二維MA表135軟件工程SBSS應(yīng)用領(lǐng)域部分二維MA表135軟件工程發(fā)現(xiàn)對(duì)象過(guò)程用OOA/OOD工作表格為指南,對(duì)照3VM標(biāo)識(shí)的各種成份檢查應(yīng)用領(lǐng)域的各種概念。例如,查閱部分事件表,有一個(gè)事件,叫做“評(píng)審贈(zèng)閱清單的時(shí)間”。翻查SBSS的OOA/OOD工作表格,查找與這個(gè)事件相關(guān)聯(lián)的應(yīng)用領(lǐng)域的概念,發(fā)現(xiàn)“贈(zèng)閱評(píng)審”最合適。最后決定把“贈(zèng)閱評(píng)審”作為SBSS的一個(gè)對(duì)象。136軟件工程發(fā)現(xiàn)對(duì)象過(guò)程用OOA/OOD工作表格為指南,對(duì)照3VM標(biāo)識(shí)的這個(gè)對(duì)象是一個(gè)“事件識(shí)別者”對(duì)象,它不存儲(chǔ)任何數(shù)據(jù),所以用實(shí)體關(guān)系模型不能發(fā)現(xiàn)這樣的對(duì)象。任何一個(gè)系統(tǒng)中的對(duì)象必須是事件的識(shí)別者或事件的響應(yīng)者。如果一個(gè)對(duì)象既不能識(shí)別事件的發(fā)生,也不能響應(yīng)任一事件,它就不是屬于這個(gè)系統(tǒng)的對(duì)象。這也是一個(gè)反復(fù)迭代的過(guò)程。對(duì)這個(gè)模型所進(jìn)行的不斷細(xì)化的過(guò)程中,可能會(huì)刪除一些已存在的對(duì)象或建立一些新的對(duì)象。137軟件工程這個(gè)對(duì)象是一個(gè)“事件識(shí)別者”對(duì)象,它不存儲(chǔ)任何數(shù)據(jù),所以用實(shí)2)類(lèi)和對(duì)象的標(biāo)識(shí)對(duì)象應(yīng)該具有記憶其自身狀態(tài)的能力。而且對(duì)象的屬性應(yīng)當(dāng)是系統(tǒng)所關(guān)心的,或是系統(tǒng)正常運(yùn)行所必需的。對(duì)象應(yīng)當(dāng)具有有意義的服務(wù)(操作),可用以修改對(duì)象本身的狀態(tài)(屬性值)。而且對(duì)象可以利用其服務(wù)為系統(tǒng)中的其它對(duì)象提供外部服務(wù)。對(duì)象應(yīng)當(dāng)具有多個(gè)有意義的屬性。僅有一個(gè)屬性的對(duì)象最好表示為其他對(duì)象的屬性。138軟件工程2)類(lèi)和對(duì)象的標(biāo)識(shí)對(duì)象應(yīng)該具有記憶其自身狀態(tài)的能力。而且對(duì)象為對(duì)象定義的屬性應(yīng)適合于對(duì)象的所有實(shí)例。如果對(duì)象的某一個(gè)實(shí)例不具備某屬性,則意味著應(yīng)用領(lǐng)域中存在尚未發(fā)現(xiàn)的繼承關(guān)系。應(yīng)該利用繼承關(guān)系將原來(lái)的對(duì)象和特殊的實(shí)例區(qū)分為兩個(gè)對(duì)象。為對(duì)象定義的有關(guān)服務(wù)應(yīng)適合于對(duì)象的所有實(shí)例。對(duì)象應(yīng)是軟件分析模型的必要成分,與設(shè)計(jì)和實(shí)現(xiàn)方法無(wú)關(guān)。在面向?qū)ο蟮姆治龌顒?dòng)中,對(duì)對(duì)象的識(shí)別和篩選取決于應(yīng)用問(wèn)題及其背景。也取決于分析員的主觀思維。139軟件工程為對(duì)象定義的屬性應(yīng)適合于對(duì)象的所有實(shí)例。如果對(duì)象的某一個(gè)實(shí)例例如,ECS的應(yīng)用領(lǐng)域概念需要注意的是:必須區(qū)分一個(gè)概念是屬于應(yīng)用問(wèn)題的范疇,還是實(shí)現(xiàn)的范疇??紤]與電梯有關(guān)的所有事務(wù)的清單??梢詣h去其中一些很明顯是關(guān)于ECS如何實(shí)現(xiàn)的而不是用于說(shuō)明它干什么的條目。例如電梯線路、電梯中斷和電梯輪等。清單中有些東西顯然很重要,會(huì)成為對(duì)象、屬性、結(jié)構(gòu)或服務(wù)。如電梯容量、電梯號(hào)和電梯位置等,就可以成為電梯的屬性。分析時(shí)需注意理解詞匯用法上的問(wèn)題。140軟件工程例如,ECS的應(yīng)用領(lǐng)域概念需要注意的是:必須區(qū)分一個(gè)概念是屬例如,電梯控制系統(tǒng),電梯控制程序和電梯控制器有什么不同?它們是一回事嗎?考慮是否需要在ECS中設(shè)置一個(gè)基本對(duì)象,由它提供一些控制和智能協(xié)調(diào)?是否要為每一部電梯配置管理程序?是否這些功能由電梯調(diào)度程序來(lái)實(shí)現(xiàn)?又例如,在列出的所有與電梯按鈕有關(guān)的條目,考慮所有的單詞在應(yīng)用領(lǐng)域是否有意義?是否有些單詞是用戶(hù)隨便用來(lái)描述問(wèn)題的?
(press和push真的有區(qū)別嗎?)141軟件工程例如,電梯控制系統(tǒng),電梯控制程序和電梯控制器有什么不同?它們哪些單詞是與實(shí)現(xiàn)有關(guān)的?一個(gè)對(duì)象BUTTON是否僅具有屬性u(píng)p和down,是否還有別的想法?可能對(duì)清單的其它部分還需要討論。例如,是否區(qū)分乘客和即將上電梯的乘客。目前可以不去考慮將來(lái)可能會(huì)增添的功能,例如安置紅外線檢測(cè)器。142軟件工程哪些單詞是與實(shí)現(xiàn)有關(guān)的?142軟件工程3)類(lèi)和對(duì)象的細(xì)化標(biāo)識(shí)了OOA模型候選對(duì)象的初始清單和其他結(jié)構(gòu)后,可以通過(guò)建立初始的OOA模型的對(duì)象類(lèi)來(lái)細(xì)化這個(gè)清單。將PFA表轉(zhuǎn)換成OOA/OOD工作表格非常有效。它可以將每一個(gè)被標(biāo)識(shí)的應(yīng)用領(lǐng)域的概念歸于某一特定的面向?qū)ο竽P偷某煞?。在發(fā)現(xiàn)和細(xì)化對(duì)象過(guò)程中仍使用三視圖模型。事件響應(yīng)圖標(biāo)識(shí)出系統(tǒng)必須對(duì)其響應(yīng)的事件,及由誰(shuí)來(lái)識(shí)別這個(gè)事件,誰(shuí)來(lái)響應(yīng)這個(gè)事件。143軟件工程3)類(lèi)和對(duì)象的細(xì)化標(biāo)識(shí)了OOA模型候選對(duì)象的初始清單和其他結(jié)實(shí)體關(guān)系圖對(duì)于實(shí)現(xiàn)事務(wù)數(shù)據(jù)處理的應(yīng)用來(lái)說(shuō),可以幫助人們發(fā)現(xiàn)在初步的評(píng)審中忽略了的對(duì)象。如果系統(tǒng)中有許多看起來(lái)相互無(wú)關(guān)聯(lián)的事情在進(jìn)行,那么這個(gè)系統(tǒng)應(yīng)可以劃分成多個(gè)子系統(tǒng),用上下文圖來(lái)幫助確定要選擇的對(duì)象和類(lèi)。在細(xì)化過(guò)程中可能會(huì)發(fā)現(xiàn)一些在初步分析中沒(méi)有被用戶(hù)標(biāo)識(shí)出來(lái)的概念,這些新的概念有可能成為對(duì)象。對(duì)于每一個(gè)最終得到的對(duì)象,可寫(xiě)一個(gè)簡(jiǎn)短的描述,說(shuō)明類(lèi)的成員關(guān)系。144軟件工程實(shí)體關(guān)系圖對(duì)于實(shí)現(xiàn)事務(wù)數(shù)據(jù)處理的應(yīng)用來(lái)說(shuō),可以幫助人們發(fā)現(xiàn)在ECS的三視圖模型使用上下文圖可以直接幫助我們確定ECS系統(tǒng)被封閉在那些外部實(shí)體的范圍內(nèi)。目的地按鈕面板召喚按鈕面板電梯樓層傳感器超載傳感器目的地按鈕面板到達(dá)按鈕面板召喚按鈕面板馬達(dá)電梯控制系統(tǒng)目的地請(qǐng)求召喚請(qǐng)求電梯狀態(tài)樓層消息超載狀況修改到達(dá)修改目的地修改召喚馬達(dá)命令145軟件工程ECS的三視圖模型使用上下文圖可以直接幫助我們確定ECS系統(tǒng)因?yàn)镋CS不需要存儲(chǔ)重要的或復(fù)雜的數(shù)據(jù),只需儲(chǔ)存電梯到達(dá)樓層、當(dāng)前召喚、要到達(dá)的目的地等信息,所以ERD不是很重要。樓層電梯召喚目的地聯(lián)系聯(lián)系聯(lián)系聯(lián)系ECS的ERD146軟件工程因?yàn)镋CS不需要存儲(chǔ)重要的或復(fù)雜的數(shù)據(jù),只需儲(chǔ)存電梯到達(dá)樓層
ECS的事件響應(yīng)模型最有用。它說(shuō)明了所有可能發(fā)生的事件以及系統(tǒng)對(duì)這些事件應(yīng)作出什么響應(yīng)。 這些事件包括:某一確定時(shí)刻發(fā)生的事件。系統(tǒng)能夠識(shí)別的事件。
事件的描述應(yīng)詳細(xì)到與應(yīng)用領(lǐng)域和用戶(hù)的陳述一致。并由用戶(hù)來(lái)評(píng)價(jià)。 ECS的事件響應(yīng)模型147軟件工程ECS的事件響應(yīng)模型最有用。它說(shuō)明了所有可能發(fā)生的事件以及148軟件工程148軟件工程標(biāo)識(shí)事件的三個(gè)準(zhǔn)則:發(fā)生在某一確定的時(shí)刻;能夠檢測(cè)出事件的發(fā)生;能夠找到事先定制好的響應(yīng)。如果具備這三個(gè)條件,就可以納入事件響應(yīng)模型中。在上下文中使用事務(wù)分離原則:分析模型與設(shè)計(jì)模型分開(kāi)建立。例如,在事件響應(yīng)模型中沒(méi)有對(duì)按鈕和指示燈進(jìn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版小區(qū)商業(yè)街物業(yè)社區(qū)環(huán)境美化服務(wù)合同3篇
- 2025版挖掘機(jī)產(chǎn)品售后服務(wù)與技術(shù)升級(jí)合同范本3篇
- 二零二五年度農(nóng)產(chǎn)品展銷(xiāo)中心攤位租賃合同
- 2024項(xiàng)目代建協(xié)議合同
- 二零二五個(gè)人權(quán)利質(zhì)押貸款合同范本3篇
- 2025年度旅游行業(yè)納稅擔(dān)保服務(wù)協(xié)議
- 2025版二手房買(mǎi)賣(mài)合同風(fēng)險(xiǎn)評(píng)估協(xié)議3篇
- 2025年苗圃租賃合同及苗木種植與科研合作協(xié)議
- 二零二五寵物醫(yī)院獸醫(yī)職務(wù)聘任與培訓(xùn)合同4篇
- 二零二五年度出院患者出院前評(píng)估協(xié)議書(shū)范本4篇
- 寒潮雨雪應(yīng)急預(yù)案范文(2篇)
- 2024人教新目標(biāo)(Go for it)八年級(jí)英語(yǔ)下冊(cè)【第1-10單元】全冊(cè) 知識(shí)點(diǎn)總結(jié)
- 垃圾車(chē)駕駛員聘用合同
- 2024年大宗貿(mào)易合作共贏協(xié)議書(shū)模板
- 變壓器搬遷施工方案
- 單位轉(zhuǎn)賬個(gè)人合同模板
- 八年級(jí)語(yǔ)文下冊(cè) 成語(yǔ)故事 第十五課 諱疾忌醫(yī) 第六課時(shí) 口語(yǔ)交際教案 新教版(漢語(yǔ))
- 中考語(yǔ)文二輪復(fù)習(xí):記敘文閱讀物象的作用(含練習(xí)題及答案)
- 2024年1月高考適應(yīng)性測(cè)試“九省聯(lián)考”數(shù)學(xué) 試題(學(xué)生版+解析版)
- (正式版)JBT 11270-2024 立體倉(cāng)庫(kù)組合式鋼結(jié)構(gòu)貨架技術(shù)規(guī)范
- EPC項(xiàng)目采購(gòu)階段質(zhì)量保證措施
評(píng)論
0/150
提交評(píng)論