版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第3章 需求分析3.1 需求分析的任務(wù)3.2 與用戶溝通獲取需求的方法3.3 分析建模與規(guī)格說明3.4 實(shí)體-聯(lián)系圖 (?)3.5 數(shù)據(jù)規(guī)范化(?)3.6 狀態(tài)轉(zhuǎn)換圖+有窮狀態(tài)機(jī)3.7 其他圖形工具3.8 驗(yàn)證軟件需求3.9 小結(jié)需求分析的需求分析的意義意義 軟件需求的深入理解是軟件開發(fā)工作獲得成軟件需求的深入理解是軟件開發(fā)工作獲得成功的前提條件,不論我們把設(shè)計(jì)和編碼做得如何功的前提條件,不論我們把設(shè)計(jì)和編碼做得如何出色,不能真正滿足用戶需求的程序只會(huì)令用戶出色,不能真正滿足用戶需求的程序只會(huì)令用戶失望,給開發(fā)帶來煩惱。失望,給開發(fā)帶來煩惱。 需求分析是軟件定義時(shí)期的最后一個(gè)階段,需求分析是軟
2、件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)它的基本任務(wù)不是確定系統(tǒng)怎樣完成不是確定系統(tǒng)怎樣完成它的工作,它的工作,而是確定系統(tǒng)必須完成而是確定系統(tǒng)必須完成哪些工作,也就是對(duì)目標(biāo)哪些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。 并在在需求分析階段結(jié)束之前,由系統(tǒng)分析并在在需求分析階段結(jié)束之前,由系統(tǒng)分析員寫出軟件需求規(guī)格說明書,以書面形式準(zhǔn)確地員寫出軟件需求規(guī)格說明書,以書面形式準(zhǔn)確地描述軟件需求。即:描述軟件需求。即: - - 準(zhǔn)確地回答準(zhǔn)確地回答“系統(tǒng)必須做什么系統(tǒng)必須做什么?”?”。 在分析軟件需求和書寫軟件需求規(guī)格說明書的過程中,在分析軟件需
3、求和書寫軟件需求規(guī)格說明書的過程中,分析員和用戶都起著關(guān)鍵的、必不可少的作用。分析員和用戶都起著關(guān)鍵的、必不可少的作用。 業(yè)務(wù)需求業(yè)務(wù)需求項(xiàng)目范項(xiàng)目范圍文檔圍文檔用戶需求用戶需求文檔文檔功能需求功能需求質(zhì)量屬性質(zhì)量屬性其他非功其他非功能需求能需求設(shè)計(jì)約束設(shè)計(jì)約束需求規(guī)約需求規(guī)約(specification)非功能需求非功能需求系統(tǒng)需求系統(tǒng)需求需求組成的全景圖需求組成的全景圖軟件需求的組成軟件需求的組成 其中:其中: 業(yè)務(wù)需求業(yè)務(wù)需求:反映組織機(jī)構(gòu)和客戶對(duì)系統(tǒng)、產(chǎn)品高層次:反映組織機(jī)構(gòu)和客戶對(duì)系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求。的目標(biāo)要求。 用戶需求用戶需求:從用戶使用的角度給出需求的描述。從用戶使用的
4、角度給出需求的描述。 如一個(gè)小型超市需要一個(gè)商品的查詢系統(tǒng)。如一個(gè)小型超市需要一個(gè)商品的查詢系統(tǒng)。 業(yè)務(wù)需求:進(jìn)貨人員需要查詢商品庫存以便保業(yè)務(wù)需求:進(jìn)貨人員需要查詢商品庫存以便保證及時(shí)進(jìn)貨;收款員需要查詢商品的銷售價(jià)格以便結(jié)證及時(shí)進(jìn)貨;收款員需要查詢商品的銷售價(jià)格以便結(jié)賬;經(jīng)理需要查詢商品的銷售及盈利情況。賬;經(jīng)理需要查詢商品的銷售及盈利情況。 用戶需求用戶需求: :這三類用戶怎樣去查詢系統(tǒng),查詢哪這三類用戶怎樣去查詢系統(tǒng),查詢哪些信息,還需要哪些操作。些信息,還需要哪些操作。 系統(tǒng)需求系統(tǒng)需求:從:從系統(tǒng)的角度描述要提供的服務(wù)以及所受到的約系統(tǒng)的角度描述要提供的服務(wù)以及所受到的約束。束。
5、功能性需求功能性需求:描述系統(tǒng)應(yīng)該做什么,即為用戶和其它系統(tǒng)完:描述系統(tǒng)應(yīng)該做什么,即為用戶和其它系統(tǒng)完成的功能、提供的服務(wù)。成的功能、提供的服務(wù)。 非功能性需求非功能性需求:產(chǎn)品必須具備的屬性或品質(zhì)。:產(chǎn)品必須具備的屬性或品質(zhì)。 設(shè)計(jì)約束設(shè)計(jì)約束:設(shè)計(jì)與:設(shè)計(jì)與實(shí)現(xiàn)必須遵循的標(biāo)準(zhǔn)、約束條件。如運(yùn)行實(shí)現(xiàn)必須遵循的標(biāo)準(zhǔn)、約束條件。如運(yùn)行平臺(tái)、協(xié)議、選擇的技術(shù)、編程語言和工具等。平臺(tái)、協(xié)議、選擇的技術(shù)、編程語言和工具等。軟件需求的描述軟件需求的描述 結(jié)構(gòu)化語言、結(jié)構(gòu)化語言、PDLPDL 圖形化表示圖形化表示 數(shù)學(xué)描述(形式化語言描述)數(shù)學(xué)描述(形式化語言描述)1 1 確定對(duì)系統(tǒng)的綜合要求確定對(duì)系統(tǒng)
6、的綜合要求 -功能需求、性能需求、可靠性和可用性功能需求、性能需求、可靠性和可用性需求、出錯(cuò)處理需求、接口需求、約束、需求、出錯(cuò)處理需求、接口需求、約束、 逆向需求、將來可能提出的要求。逆向需求、將來可能提出的要求。3.1 3.1 需求分析的具體任務(wù)需求分析的具體任務(wù) 分析系統(tǒng)的數(shù)據(jù)要求分析系統(tǒng)的數(shù)據(jù)要求3 3 導(dǎo)出系統(tǒng)的邏輯模型導(dǎo)出系統(tǒng)的邏輯模型4 4 修正系統(tǒng)開發(fā)計(jì)劃修正系統(tǒng)開發(fā)計(jì)劃軟件需求獲取軟件需求獲取 需求分析是一個(gè)包括創(chuàng)建和維持系統(tǒng)需求文檔所必需的需求分析是一個(gè)包括創(chuàng)建和維持系統(tǒng)需求文檔所必需的一切活動(dòng)的過程。它包含了如下活動(dòng):一切活動(dòng)的過程。它包含了如下活動(dòng): 需求獲取和分析、需
7、求描述和文檔編寫、需求有效性驗(yàn)需求獲取和分析、需求描述和文檔編寫、需求有效性驗(yàn)證、需求管理(管理需求工程的變更)。證、需求管理(管理需求工程的變更)。需求獲取需求獲取和分析和分析需求描述需求描述需求有效需求有效性驗(yàn)證性驗(yàn)證系統(tǒng)模型系統(tǒng)模型用戶需求和系用戶需求和系統(tǒng)需求統(tǒng)需求需求規(guī)約需求規(guī)約軟件需求過程軟件需求過程需求管理需求管理需求獲取是開發(fā)人員與客戶或用戶一起對(duì)應(yīng)用領(lǐng)域需求獲取是開發(fā)人員與客戶或用戶一起對(duì)應(yīng)用領(lǐng)域進(jìn)行調(diào)查研究,收集系統(tǒng)需求的過程。進(jìn)行調(diào)查研究,收集系統(tǒng)需求的過程。需求分析是將獲取到的需求準(zhǔn)確的理解、求精,并需求分析是將獲取到的需求準(zhǔn)確的理解、求精,并將其轉(zhuǎn)化為完整的需求定義(
8、包括建模),進(jìn)而生將其轉(zhuǎn)化為完整的需求定義(包括建模),進(jìn)而生成需求規(guī)約的過程。成需求規(guī)約的過程。需求獲取和分析有一定的難度,因?yàn)椋盒枨螳@取和分析有一定的難度,因?yàn)椋?1)項(xiàng)目相關(guān)人員通常并不真正知道希望計(jì)算項(xiàng)目相關(guān)人員通常并不真正知道希望計(jì)算機(jī)做什么,讓他們清晰的表達(dá)出需要系統(tǒng)做什么是機(jī)做什么,讓他們清晰的表達(dá)出需要系統(tǒng)做什么是件困難的事,他們或許提出不切實(shí)際的要求。件困難的事,他們或許提出不切實(shí)際的要求。 2) 項(xiàng)目相關(guān)人員用自己的語言表達(dá)需求,這些項(xiàng)目相關(guān)人員用自己的語言表達(dá)需求,這些語言包含很多工作中的專業(yè)術(shù)語和專業(yè)知識(shí)。系統(tǒng)分語言包含很多工作中的專業(yè)術(shù)語和專業(yè)知識(shí)。系統(tǒng)分析員沒有這些
9、知識(shí)和經(jīng)驗(yàn),而他們又必須了解這些需析員沒有這些知識(shí)和經(jīng)驗(yàn),而他們又必須了解這些需求。求。 3 3)不同的項(xiàng)目相關(guān)人員有不同的需求,可能以)不同的項(xiàng)目相關(guān)人員有不同的需求,可能以不同的方式表達(dá),分析人員必須發(fā)現(xiàn)所有潛在的需求不同的方式表達(dá),分析人員必須發(fā)現(xiàn)所有潛在的需求資源,而且能發(fā)現(xiàn)這些需求的相容或沖突之處。資源,而且能發(fā)現(xiàn)這些需求的相容或沖突之處。 4 4)經(jīng)濟(jì)和業(yè)務(wù)環(huán)境決定了分析是動(dòng)態(tài)的,需求)經(jīng)濟(jì)和業(yè)務(wù)環(huán)境決定了分析是動(dòng)態(tài)的,需求在分析過程中會(huì)發(fā)生變更。個(gè)別需求的重要程度會(huì)改在分析過程中會(huì)發(fā)生變更。個(gè)別需求的重要程度會(huì)改變,新的需求會(huì)從新的項(xiàng)目相關(guān)人員那里得到。變,新的需求會(huì)從新的項(xiàng)目相
10、關(guān)人員那里得到。 需求獲取技術(shù)需求獲取技術(shù) 建立由客戶(用戶)、系統(tǒng)分析員、領(lǐng)域?qū)<覅⒓咏⒂煽蛻簦ㄓ脩簦?、系統(tǒng)分析員、領(lǐng)域?qū)<覅⒓拥穆?lián)合小組。的聯(lián)合小組。 需求獲取的方法:個(gè)別訪談、召集會(huì)議、文檔研究、需求獲取的方法:個(gè)別訪談、召集會(huì)議、文檔研究、問卷調(diào)查、觀察用戶工作流程、建立原型。問卷調(diào)查、觀察用戶工作流程、建立原型。 獲取的需求的表達(dá)方式:獲取的需求的表達(dá)方式: (1)需求列表 需求與系統(tǒng)的特殊視角或環(huán)境的關(guān)系 (2)業(yè)務(wù)流程圖(狀態(tài)/活動(dòng)圖) (3)數(shù)據(jù)流圖 (4)實(shí)體-聯(lián)系圖 3.2 與用戶溝通獲取需求的方法3.2.1 訪談3.2.2 面向數(shù)據(jù)流自頂向下求精3.2.3 簡(jiǎn)易的應(yīng)用規(guī)
11、格說明技術(shù)3.2.4 快速建立軟件原型面向數(shù)據(jù)流自頂向下求精面向數(shù)據(jù)流自頂向下求精提倡用戶與開發(fā)者密切合作,共同標(biāo)識(shí)問題,提出解決方案要素,商討不同方案并指定基本需求- 進(jìn)行初步的訪談- 開發(fā)者和用戶雙方組織的代表出席會(huì)議- 每個(gè)小組為每張列表中的項(xiàng)目制定小型規(guī)格說明- 根據(jù)會(huì)議成果起草完整的軟件需求規(guī)格說明書3.2.3 簡(jiǎn)易的應(yīng)用規(guī)格說明技術(shù)3.3 3.3 分析建模與規(guī)格說明分析建模與規(guī)格說明 1).1). 分析建模分析建模 模型模型 -就是為了理解事物而對(duì)事物做出的一種抽象,是對(duì)事物的一種無歧義的書面描述。通常,由一組圖形符號(hào)和組織這些符號(hào)的規(guī)則組成。 建模方法建模方法 在過去的數(shù)年中,人
12、們提出了許多種分析建模的方法,其中兩種在分析建模領(lǐng)域占有主導(dǎo)地位: 第一種是結(jié)構(gòu)化分析 (Structured Analysis,SA),70年代末由DeMarco等人提出,這是傳統(tǒng)的建模方法。該方法不是被所有的使用者一致地使用的單一方法,眾多科學(xué)家對(duì)其進(jìn)行了擴(kuò)充,因此它是發(fā)展了超過30年的一個(gè)混合物。 具體的建模方法具體的建模方法/ /表達(dá)方式表達(dá)方式有:有: 面向流的建模:數(shù)據(jù)流圖數(shù)據(jù)流圖(DFD/CFD) 數(shù)據(jù)建模:實(shí)體關(guān)系圖實(shí)體關(guān)系圖(ERD) 基于行為的建模: Petri網(wǎng)、狀態(tài)圖狀態(tài)圖3.3.2 3.3.2 軟件需求規(guī)格說明軟件需求規(guī)格說明( (SRSSRS) ) S Softwa
13、re oftware R Requirement equirement S Specificationpecification 通常用自然語言通常用自然語言+ +模型,完整、準(zhǔn)確、具體地描述系模型,完整、準(zhǔn)確、具體地描述系統(tǒng)的數(shù)據(jù)要求、功能需求、性能需求、可靠性和可用性要統(tǒng)的數(shù)據(jù)要求、功能需求、性能需求、可靠性和可用性要求、出錯(cuò)處理需求、接口需求、約束、逆向需求以及將來求、出錯(cuò)處理需求、接口需求、約束、逆向需求以及將來可能提出的要求??赡芴岢龅囊蟆?軟件需求規(guī)格說明書,是需求分析階段得出的最主要軟件需求規(guī)格說明書,是需求分析階段得出的最主要的文檔。的文檔。軟件需求說明書的編寫提示(軟件需求說
14、明書的編寫提示(GB856T88) 1 1 引言引言 1.1 1.1 編寫目的編寫目的 1.2 1.2 背景背景 1.3 1.3 定義定義 1.4 1.4 參考資料參考資料 2 2 任務(wù)概述任務(wù)概述 2.1 2.1 目標(biāo)目標(biāo) 2.2 2.2 用戶的特點(diǎn)用戶的特點(diǎn) 2.3 2.3 假定和約束假定和約束軟件需求說明書的編寫提示(軟件需求說明書的編寫提示(GB856T88) 3 3 需求規(guī)定需求規(guī)定 3.1 3.1 對(duì)功能的規(guī)定對(duì)功能的規(guī)定 3.2 3.2 對(duì)性能的規(guī)定對(duì)性能的規(guī)定 3.2.1 3.2.1 精度精度 3.2.2 3.2.2 時(shí)間特性要求時(shí)間特性要求 3.2.3 3.2.3 靈活性靈活
15、性 3.3 3.3 輸人輸出要求輸人輸出要求 3.4 3.4 數(shù)據(jù)管理能力要求數(shù)據(jù)管理能力要求 3.5 3.5 故障處理要求故障處理要求 3.6 3.6 其他專門要求其他專門要求 4 4 運(yùn)行環(huán)境規(guī)定運(yùn)行環(huán)境規(guī)定 4.1 4.1 設(shè)備設(shè)備 4.2 4.2 支持軟件支持軟件 4.3 4.3 接口接口 4.4 4.4 控制控制3.4 3.4 實(shí)體實(shí)體- -聯(lián)系圖聯(lián)系圖( (ER) ) Entity Relationship DiagramER圖圖 - 是用來建立數(shù)據(jù)模型的工具。數(shù)據(jù)模型數(shù)據(jù)模型 - 是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點(diǎn)對(duì)數(shù)據(jù)建立的模型。它描述了從用戶角度看到的數(shù)據(jù),反映了用戶
16、的現(xiàn)實(shí)環(huán)境,而且與在軟件系統(tǒng)中的實(shí)現(xiàn)方法無關(guān)。數(shù)據(jù)模型中包含3種相互關(guān)聯(lián)的信息:數(shù)據(jù)對(duì)象數(shù)據(jù)對(duì)象(實(shí)體實(shí)體)、數(shù)據(jù)對(duì)象的屬性屬性及數(shù)據(jù)對(duì)象彼此間相互連接的關(guān)系關(guān)系。(1). (1). 數(shù)據(jù)對(duì)象數(shù)據(jù)對(duì)象數(shù)據(jù)對(duì)象數(shù)據(jù)對(duì)象: : 是對(duì)軟件必須理解的復(fù)合信息的抽象。是對(duì)軟件必須理解的復(fù)合信息的抽象。復(fù)合信息復(fù)合信息: : 是指是指具有一系列不同性質(zhì)或?qū)傩缘氖挛锞哂幸幌盗胁煌再|(zhì)或?qū)傩缘氖挛铮瑑H有,僅有單個(gè)值的事物單個(gè)值的事物( (例如,寬度例如,寬度) )不是數(shù)據(jù)對(duì)象。不是數(shù)據(jù)對(duì)象。可以由可以由一組屬性來定義的實(shí)體一組屬性來定義的實(shí)體都可以被認(rèn)為是數(shù)據(jù)對(duì)象。都可以被認(rèn)為是數(shù)據(jù)對(duì)象。 如:外部實(shí)體、事物
17、、行為、事件、角色、單位、地點(diǎn)或結(jié)如:外部實(shí)體、事物、行為、事件、角色、單位、地點(diǎn)或結(jié)構(gòu)等。構(gòu)等。數(shù)據(jù)對(duì)象彼此間是有關(guān)聯(lián)的。數(shù)據(jù)對(duì)象彼此間是有關(guān)聯(lián)的。(2). (2). 屬屬 性性屬性定義了數(shù)據(jù)對(duì)象的屬性定義了數(shù)據(jù)對(duì)象的性質(zhì)性質(zhì)。必須把一個(gè)或多個(gè)屬性定義為必須把一個(gè)或多個(gè)屬性定義為“標(biāo)識(shí)符標(biāo)識(shí)符”,也就是說,當(dāng)我們,也就是說,當(dāng)我們希望找到數(shù)據(jù)對(duì)象的一個(gè)實(shí)例時(shí),用標(biāo)識(shí)符屬性作為希望找到數(shù)據(jù)對(duì)象的一個(gè)實(shí)例時(shí),用標(biāo)識(shí)符屬性作為“關(guān)鍵關(guān)鍵字字”( (通常簡(jiǎn)稱為通常簡(jiǎn)稱為“鍵鍵”) )。應(yīng)該根據(jù)對(duì)所要解決的問題的理解,來確定特定數(shù)據(jù)對(duì)象的一應(yīng)該根據(jù)對(duì)所要解決的問題的理解,來確定特定數(shù)據(jù)對(duì)象的一組合適的
18、屬性。組合適的屬性。 如:如:(3). (3). 聯(lián)聯(lián) 系系數(shù)據(jù)對(duì)象數(shù)據(jù)對(duì)象彼此之間相互連接的方式彼此之間相互連接的方式稱為聯(lián)系,也稱為關(guān)系。稱為聯(lián)系,也稱為關(guān)系。聯(lián)系可分為以下聯(lián)系可分為以下3 3種類型種類型: a. a. 一對(duì)一聯(lián)系一對(duì)一聯(lián)系(11)(11) 如:一個(gè)部門有一個(gè)經(jīng)理,而每個(gè)經(jīng)理只在一個(gè)部門任職,則部門與經(jīng)理的聯(lián)系是一對(duì)一的。如:一個(gè)部門有一個(gè)經(jīng)理,而每個(gè)經(jīng)理只在一個(gè)部門任職,則部門與經(jīng)理的聯(lián)系是一對(duì)一的。 b. b. 一對(duì)多聯(lián)系一對(duì)多聯(lián)系(1N)(1N) 如:某校教師與課程之間存在一對(duì)多的聯(lián)系如:某校教師與課程之間存在一對(duì)多的聯(lián)系“教教”,即每位教師可以教多門課程,但是每門
19、課,即每位教師可以教多門課程,但是每門課 程只能由一位教師來教。程只能由一位教師來教。 c. c. 多對(duì)多聯(lián)系多對(duì)多聯(lián)系(MN)(MN) 如:學(xué)生與課程間的聯(lián)系如:學(xué)生與課程間的聯(lián)系( (“學(xué)學(xué)”) )是多對(duì)多的,即一個(gè)學(xué)生可以學(xué)多門課程,而每門課程可以是多對(duì)多的,即一個(gè)學(xué)生可以學(xué)多門課程,而每門課程可以 有多個(gè)學(xué)生來學(xué)。有多個(gè)學(xué)生來學(xué)。聯(lián)系也可能有屬性。聯(lián)系也可能有屬性。 如:學(xué)生如:學(xué)生“學(xué)學(xué)”某門課程所取得的成績(jī),既不是學(xué)生的屬性也不是課程的屬性。由于某門課程所取得的成績(jī),既不是學(xué)生的屬性也不是課程的屬性。由于“成績(jī)成績(jī)”既既 依賴于某名特定的學(xué)生又依賴于某門特定的課程,所以它是學(xué)生與課
20、程之間的聯(lián)系依賴于某名特定的學(xué)生又依賴于某門特定的課程,所以它是學(xué)生與課程之間的聯(lián)系“學(xué)學(xué)” 的屬性。的屬性。(4). (4). 實(shí)體實(shí)體- -聯(lián)系圖的符號(hào)聯(lián)系圖的符號(hào)ERER圖圖中包含了中包含了實(shí)體實(shí)體( (即數(shù)據(jù)對(duì)象即數(shù)據(jù)對(duì)象) )、關(guān)系關(guān)系和和屬性屬性等等3 3種基本成種基本成分。分。通常用通常用矩形框矩形框代表實(shí)體;代表實(shí)體;用連接相關(guān)實(shí)體的用連接相關(guān)實(shí)體的菱形框菱形框表示關(guān)系;表示關(guān)系;用用橢圓形或圓角矩形橢圓形或圓角矩形表示實(shí)體表示實(shí)體( (或關(guān)系或關(guān)系) )的屬性;的屬性;并用并用直線直線把實(shí)體把實(shí)體( (或關(guān)系或關(guān)系) )與其屬性連接起來。與其屬性連接起來。舉舉 例例圖圖3.2
21、 3.2 某校教學(xué)管理某校教學(xué)管理ERER圖圖對(duì)象對(duì)象教師屬性教師屬性學(xué)生屬性學(xué)生屬性課程屬性課程屬性聯(lián)系屬性聯(lián)系屬性關(guān)系關(guān)系3.5 3.5 數(shù)據(jù)規(guī)范化數(shù)據(jù)規(guī)范化如何規(guī)范化?如何規(guī)范化? 1. 2. 教工號(hào)教工號(hào)姓名姓名性別性別職稱職稱職務(wù)職務(wù)001張毅坤張毅坤男男教授教授院長(zhǎng)院長(zhǎng)002李李 林林女女講師講師1 1、范式級(jí)別越高,存儲(chǔ)同樣數(shù)據(jù)就需要分解成更多張表,因此,、范式級(jí)別越高,存儲(chǔ)同樣數(shù)據(jù)就需要分解成更多張表,因此, “存儲(chǔ)自身存儲(chǔ)自身”的過程也就越復(fù)雜。的過程也就越復(fù)雜。2 2、隨著范式級(jí)別的提高,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與基于問題域的結(jié)構(gòu)、隨著范式級(jí)別的提高,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與基于問題域的結(jié)構(gòu)
22、 間的匹配程度也隨之下降,因此,在需求變化時(shí)數(shù)據(jù)的穩(wěn)定間的匹配程度也隨之下降,因此,在需求變化時(shí)數(shù)據(jù)的穩(wěn)定 性較差。性較差。3 3、范式級(jí)別提高則需要訪問的表增多,因此性能、范式級(jí)別提高則需要訪問的表增多,因此性能( (速度速度) )將下降。將下降。 從實(shí)用角度看來,在大多數(shù)場(chǎng)合選用第三范式都比較恰當(dāng)。從實(shí)用角度看來,在大多數(shù)場(chǎng)合選用第三范式都比較恰當(dāng)。 所以,從實(shí)用角度看來,在大多所以,從實(shí)用角度看來,在大多數(shù)場(chǎng)合選用第三范式都比較恰當(dāng)。數(shù)場(chǎng)合選用第三范式都比較恰當(dāng)。 通常用通常用“范式范式(Normal Forms)”定義消除數(shù)據(jù)冗余的定義消除數(shù)據(jù)冗余的程度。第一范式程度。第一范式(1 N
23、F)數(shù)據(jù)冗余程度最大,第五范式數(shù)據(jù)冗余程度最大,第五范式(5 NF)數(shù)據(jù)冗余程度最小。數(shù)據(jù)冗余程度最小。但是:但是:第第 一一 范范 式式 每個(gè)屬性值都必須是原子值,即僅僅是一個(gè)簡(jiǎn)單值每個(gè)屬性值都必須是原子值,即僅僅是一個(gè)簡(jiǎn)單值 而不含內(nèi)部結(jié)構(gòu)。而不含內(nèi)部結(jié)構(gòu)。 如:第第 二二 范范 式式 滿足第一范式條件,而且每個(gè)非關(guān)鍵字屬性都由整滿足第一范式條件,而且每個(gè)非關(guān)鍵字屬性都由整 個(gè)關(guān)鍵字決定個(gè)關(guān)鍵字決定( (而不是由關(guān)鍵字的一部分來決定而不是由關(guān)鍵字的一部分來決定) )。 如:第第 三三 范范 式式 符合第二范式的條件。符合第二范式的條件。 滿足第三范式(滿足第三范式(3NF3NF)必須先滿)
24、必須先滿足第二范式(足第二范式(2NF2NF)。簡(jiǎn)而言之,第三范式()。簡(jiǎn)而言之,第三范式(3NF3NF)要求一)要求一個(gè)數(shù)據(jù)庫表中不包含已在其它表中已包含的非主關(guān)鍵字信個(gè)數(shù)據(jù)庫表中不包含已在其它表中已包含的非主關(guān)鍵字信息。息。 例如,存在一個(gè)部門信息表,其中每個(gè)部門有部門編例如,存在一個(gè)部門信息表,其中每個(gè)部門有部門編號(hào)(號(hào)(dept_iddept_id)、部門名稱、部門簡(jiǎn)介等信息。那么員工信)、部門名稱、部門簡(jiǎn)介等信息。那么員工信息表中列出部門編號(hào)后就不能再將部門名稱、部門簡(jiǎn)介等息表中列出部門編號(hào)后就不能再將部門名稱、部門簡(jiǎn)介等與部門有關(guān)的信息再加入員工信息表中。如果不存在部門與部門有關(guān)的
25、信息再加入員工信息表中。如果不存在部門信息表,則根據(jù)第三范式(信息表,則根據(jù)第三范式(3NF3NF)也應(yīng)該構(gòu)建它,否則就會(huì))也應(yīng)該構(gòu)建它,否則就會(huì)有大量的數(shù)據(jù)冗余。簡(jiǎn)而言之,第三范式就是屬性不依賴有大量的數(shù)據(jù)冗余。簡(jiǎn)而言之,第三范式就是屬性不依賴于其它非主屬性。于其它非主屬性。 3.6 3.6 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖( (簡(jiǎn)稱為狀態(tài)圖簡(jiǎn)稱為狀態(tài)圖) ) 通過描繪系統(tǒng)的通過描繪系統(tǒng)的狀態(tài)狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件事件,來表,來表 示系統(tǒng)的示系統(tǒng)的行為行為。此外,狀態(tài)圖還指明了作為特定事件的。此外,狀態(tài)圖還指明了作為特定事件的 結(jié)果系統(tǒng)將做哪些動(dòng)作結(jié)果系統(tǒng)
26、將做哪些動(dòng)作( (例如,處理數(shù)據(jù)例如,處理數(shù)據(jù)) )。1). 1). 狀狀 態(tài)態(tài) 狀態(tài)狀態(tài)是任何可以被觀察到的是任何可以被觀察到的系統(tǒng)行為模式系統(tǒng)行為模式,一個(gè)狀態(tài)代,一個(gè)狀態(tài)代表系統(tǒng)的一種行為模式。表系統(tǒng)的一種行為模式。狀態(tài)規(guī)定了系統(tǒng)對(duì)事件的響應(yīng)狀態(tài)規(guī)定了系統(tǒng)對(duì)事件的響應(yīng)方式方式。系統(tǒng)對(duì)事件的響應(yīng),既可以是做一個(gè)。系統(tǒng)對(duì)事件的響應(yīng),既可以是做一個(gè)( (或一系列或一系列) )動(dòng)作,也可以是僅僅改變系統(tǒng)本身的狀態(tài),還可以是既動(dòng)作,也可以是僅僅改變系統(tǒng)本身的狀態(tài),還可以是既改變狀態(tài)又做動(dòng)作。改變狀態(tài)又做動(dòng)作。 初態(tài)初態(tài) ( (即初始狀態(tài)即初始狀態(tài)) ) 狀態(tài)狀態(tài) 終態(tài)終態(tài) ( (即最終狀態(tài)即最終狀
27、態(tài)) ) 中間狀態(tài)中間狀態(tài)一張狀態(tài)圖中只能有一個(gè)初態(tài),而終態(tài)則可以有一張狀態(tài)圖中只能有一個(gè)初態(tài),而終態(tài)則可以有0 0至多個(gè)。至多個(gè)。2). 2). 事事 件件 事件是在某個(gè)特定時(shí)刻發(fā)生的事情,它是對(duì)引起事件是在某個(gè)特定時(shí)刻發(fā)生的事情,它是對(duì)引起 系統(tǒng)做動(dòng)作或系統(tǒng)做動(dòng)作或( (和和) )從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài)從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài) 的外界事件的抽象。的外界事件的抽象。 例如,內(nèi)部時(shí)鐘表明某個(gè)規(guī)定的時(shí)間段已經(jīng)過去, 用戶移動(dòng)或點(diǎn)擊鼠標(biāo)等都是事件。 簡(jiǎn)而言之,簡(jiǎn)而言之,事件就是引起系統(tǒng)做動(dòng)作或事件就是引起系統(tǒng)做動(dòng)作或( (和和) )轉(zhuǎn)換轉(zhuǎn)換 狀態(tài)的控制信息。狀態(tài)的控制信息。初態(tài)用實(shí)心圓初態(tài)用
28、實(shí)心圓表示,表示,終態(tài)用一對(duì)同心圓終態(tài)用一對(duì)同心圓( (內(nèi)圓為實(shí)心圓內(nèi)圓為實(shí)心圓) )表示。表示。中間狀態(tài)用圓角矩形表示中間狀態(tài)用圓角矩形表示,可以用兩條水平橫線把它分成,可以用兩條水平橫線把它分成上、上、中、下中、下3 3個(gè)部分。個(gè)部分。上面部分為狀態(tài)的名稱上面部分為狀態(tài)的名稱,這部分是必須有的;,這部分是必須有的;中間部分為狀態(tài)變量的名字和值中間部分為狀態(tài)變量的名字和值,這部分是可選的;,這部分是可選的;下面部分下面部分是活動(dòng)表是活動(dòng)表,這部分也是可選的。,這部分也是可選的。3). 3). 符符 號(hào)號(hào)活動(dòng)表的語法格式:事件名活動(dòng)表的語法格式:事件名( (參數(shù)表參數(shù)表)/)/動(dòng)作表達(dá)式動(dòng)作表
29、達(dá)式 其中,其中,“事件名事件名”可以是任何事件的名稱。在活動(dòng)表中經(jīng)常使用可以是任何事件的名稱。在活動(dòng)表中經(jīng)常使用下述下述3 3種標(biāo)準(zhǔn)事件:種標(biāo)準(zhǔn)事件:entryentry,exitexit和和dodo。entryentry事件指定進(jìn)入該狀事件指定進(jìn)入該狀態(tài)的動(dòng)作,態(tài)的動(dòng)作,exitexit事件指定退出該狀態(tài)的動(dòng)作,而事件指定退出該狀態(tài)的動(dòng)作,而dodo事件則指定在事件則指定在該狀態(tài)下的動(dòng)作。需要時(shí)可以為事件指定參數(shù)表。活動(dòng)表中的動(dòng)該狀態(tài)下的動(dòng)作。需要時(shí)可以為事件指定參數(shù)表?;顒?dòng)表中的動(dòng)作表達(dá)式描述應(yīng)做的具體動(dòng)作。作表達(dá)式描述應(yīng)做的具體動(dòng)作。3). 3). 符符 號(hào)號(hào)狀態(tài)圖中兩個(gè)狀態(tài)狀態(tài)圖中兩
30、個(gè)狀態(tài)之間帶箭頭的連線稱為狀態(tài)轉(zhuǎn)換之間帶箭頭的連線稱為狀態(tài)轉(zhuǎn)換,箭頭指明了轉(zhuǎn)換方向。,箭頭指明了轉(zhuǎn)換方向。狀態(tài)變遷通常是由事件觸發(fā)的,在這種情況下應(yīng)在表示狀態(tài)轉(zhuǎn)換的狀態(tài)變遷通常是由事件觸發(fā)的,在這種情況下應(yīng)在表示狀態(tài)轉(zhuǎn)換的箭頭線上標(biāo)出觸發(fā)轉(zhuǎn)換箭頭線上標(biāo)出觸發(fā)轉(zhuǎn)換的事件表達(dá)式的事件表達(dá)式;如果在箭頭線上未標(biāo)明事件,則表示在源狀態(tài)的內(nèi)部活動(dòng)執(zhí)行完之后自動(dòng);如果在箭頭線上未標(biāo)明事件,則表示在源狀態(tài)的內(nèi)部活動(dòng)執(zhí)行完之后自動(dòng)觸發(fā)轉(zhuǎn)換。觸發(fā)轉(zhuǎn)換。事件表達(dá)式的語法:事件表達(dá)式的語法: 事件說明守衛(wèi)條件動(dòng)作表達(dá)式事件說明守衛(wèi)條件動(dòng)作表達(dá)式事件說明事件說明的語法為:事件名的語法為:事件名( (參數(shù)表參數(shù)表) )
31、。守衛(wèi)條件守衛(wèi)條件是一個(gè)布爾表達(dá)式。如果同時(shí)使用事件說明和守衛(wèi)條件,則當(dāng)且僅當(dāng)事件發(fā)生且是一個(gè)布爾表達(dá)式。如果同時(shí)使用事件說明和守衛(wèi)條件,則當(dāng)且僅當(dāng)事件發(fā)生且布爾表達(dá)式為真時(shí),狀態(tài)轉(zhuǎn)換才發(fā)生。如果只有守衛(wèi)條件沒有事件說明,則只要守衛(wèi)條件布爾表達(dá)式為真時(shí),狀態(tài)轉(zhuǎn)換才發(fā)生。如果只有守衛(wèi)條件沒有事件說明,則只要守衛(wèi)條件為真狀態(tài)轉(zhuǎn)換就發(fā)生。為真狀態(tài)轉(zhuǎn)換就發(fā)生。動(dòng)作表達(dá)式動(dòng)作表達(dá)式是一個(gè)過程表達(dá)式,當(dāng)狀態(tài)轉(zhuǎn)換開始時(shí)執(zhí)行該表達(dá)式。是一個(gè)過程表達(dá)式,當(dāng)狀態(tài)轉(zhuǎn)換開始時(shí)執(zhí)行該表達(dá)式。3). 3). 符符 號(hào)號(hào)4). 4). 舉舉 例例電話系統(tǒng)的狀態(tài)圖電話系統(tǒng)的狀態(tài)圖3.7 3.7 其他圖形工具其他圖形工具 層次
32、方框圖層次方框圖 Warnier圖圖 IPO圖圖3.7.1 3.7.1 層次方框圖層次方框圖層次方框圖用層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形框樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次描繪數(shù)據(jù)的層次結(jié)構(gòu)。結(jié)構(gòu)。樹形結(jié)構(gòu)的樹形結(jié)構(gòu)的頂層是一個(gè)單獨(dú)的矩形框頂層是一個(gè)單獨(dú)的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表這個(gè)數(shù)據(jù)的子集下面的各層矩形框代表這個(gè)數(shù)據(jù)的子集,最底層最底層的各個(gè)框代表組的各個(gè)框代表組成這個(gè)數(shù)據(jù)的成這個(gè)數(shù)據(jù)的實(shí)際數(shù)據(jù)元素實(shí)際數(shù)據(jù)元素( (不能再分割的元素不能再分割的元素) )。隨著結(jié)構(gòu)的精細(xì)化,層次方框圖對(duì)數(shù)據(jù)結(jié)構(gòu)也描繪得越來越詳細(xì),隨著結(jié)構(gòu)的精
33、細(xì)化,層次方框圖對(duì)數(shù)據(jù)結(jié)構(gòu)也描繪得越來越詳細(xì),這種模式非常適合于需求分析階段的需要這種模式非常適合于需求分析階段的需要。系統(tǒng)分析員從對(duì)頂層。系統(tǒng)分析員從對(duì)頂層信息的分類開始,沿圖中每條路徑反復(fù)細(xì)化,直到確定了數(shù)據(jù)結(jié)信息的分類開始,沿圖中每條路徑反復(fù)細(xì)化,直到確定了數(shù)據(jù)結(jié)構(gòu)的全部細(xì)節(jié)時(shí)為止。構(gòu)的全部細(xì)節(jié)時(shí)為止。舉舉 例例領(lǐng)導(dǎo)層輔助決策系統(tǒng)領(lǐng)導(dǎo)層輔助決策系統(tǒng)查詢查詢輔助決策輔助決策物物資資信信息息重重點(diǎn)點(diǎn)供供料料信信息息商商情情信信息息人人員員狀狀況況合合同同監(jiān)監(jiān)視視財(cái)財(cái)務(wù)務(wù)信信息息計(jì)計(jì)劃劃執(zhí)執(zhí)行行情情況況工工程程進(jìn)進(jìn)展展情情況況超超儲(chǔ)儲(chǔ)低低儲(chǔ)儲(chǔ)情情況況經(jīng)經(jīng)營營指指標(biāo)標(biāo)歷歷年年對(duì)對(duì)比比價(jià)價(jià)格格預(yù)預(yù)
34、測(cè)測(cè)物物資資用用量量預(yù)預(yù)測(cè)測(cè)庫庫存存定定額額核核定定庫庫存存結(jié)結(jié)構(gòu)構(gòu)分分析析經(jīng)經(jīng)濟(jì)濟(jì)采采購購批批量量保保本本保保利利分分析析3.7.2 3.7.2 Warnier圖圖法國計(jì)算機(jī)科學(xué)家法國計(jì)算機(jī)科學(xué)家WarnierWarnier提出了表示信息層次結(jié)構(gòu)的另外提出了表示信息層次結(jié)構(gòu)的另外一種圖形工具。一種圖形工具。WarnierWarnier圖也用樹形結(jié)構(gòu)描繪信息,但是這種圖形工具比層圖也用樹形結(jié)構(gòu)描繪信息,但是這種圖形工具比層次方框圖提供了更豐富的描繪手段。次方框圖提供了更豐富的描繪手段。用用WarnierWarnier圖可以圖可以表明信息的邏輯組織表明信息的邏輯組織。它可以指出一類信息或一個(gè)信息
35、元素是它可以指出一類信息或一個(gè)信息元素是重復(fù)出現(xiàn)重復(fù)出現(xiàn)的,也可的,也可以表示特定信息在某一類信息中是以表示特定信息在某一類信息中是有條件地出現(xiàn)有條件地出現(xiàn)的。的。重復(fù)和條件約束是說明軟件處理過程的基礎(chǔ),所以很容易重復(fù)和條件約束是說明軟件處理過程的基礎(chǔ),所以很容易把把WarnierWarnier圖轉(zhuǎn)變成軟件設(shè)計(jì)的工具。圖轉(zhuǎn)變成軟件設(shè)計(jì)的工具。舉舉 例例 圖中表示一種軟件產(chǎn)品圖中表示一種軟件產(chǎn)品要么要么是系統(tǒng)軟件是系統(tǒng)軟件要么要么是應(yīng)用軟件。是應(yīng)用軟件。系統(tǒng)軟件中有系統(tǒng)軟件中有P1P1種操作系統(tǒng),種操作系統(tǒng),P2P2種編譯程序,此外還有軟件種編譯程序,此外還有軟件工具。軟件工具是系統(tǒng)軟件的一種,
36、它又可以進(jìn)一步細(xì)分為工具。軟件工具是系統(tǒng)軟件的一種,它又可以進(jìn)一步細(xì)分為編輯程序、測(cè)試驅(qū)動(dòng)程序和設(shè)計(jì)輔助工具,編輯程序、測(cè)試驅(qū)動(dòng)程序和設(shè)計(jì)輔助工具,圖中標(biāo)出了每種圖中標(biāo)出了每種軟件工具的數(shù)量。軟件工具的數(shù)量。3.7.3 3.7.3 IPO圖圖左邊的框中列出有關(guān)的輸入數(shù)據(jù)。左邊的框中列出有關(guān)的輸入數(shù)據(jù)。中間的框內(nèi)列出主要的處理,處理中間的框內(nèi)列出主要的處理,處理框中列出處理的次序暗示了執(zhí)行的框中列出處理的次序暗示了執(zhí)行的順序,但是用這些基本符號(hào)還不足順序,但是用這些基本符號(hào)還不足以精確描述執(zhí)行處理的詳細(xì)情況。以精確描述執(zhí)行處理的詳細(xì)情況。在右邊的框內(nèi)列出產(chǎn)生的輸出數(shù)據(jù)。在右邊的框內(nèi)列出產(chǎn)生的輸出數(shù)據(jù)。在在IPOIPO圖中還用類似向量符號(hào)的粗圖中還用類似向量符號(hào)的粗大箭頭清楚地指出數(shù)據(jù)通信的情況。大箭頭清楚地指出數(shù)據(jù)通信的情況。一種改進(jìn)的一種改進(jìn)的IPO圖圖( (也稱為也稱
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人健身房設(shè)備租賃合同(2024版)3篇
- 2025版仲裁申請(qǐng)書行政公文范本制作與培訓(xùn)服務(wù)合同2篇
- 2025版論行政合同中行政主體權(quán)益保護(hù)與義務(wù)履約4篇
- 2024版商業(yè)房產(chǎn)銷售合同條款樣本
- 2025年度文化創(chuàng)意產(chǎn)業(yè)園區(qū)土地承包協(xié)議范本4篇
- 2025年度茶葉行業(yè)人才培訓(xùn)與就業(yè)合作合同4篇
- 二零二五年方管行業(yè)質(zhì)量標(biāo)準(zhǔn)制定合同3篇
- 2025年度智能家居系統(tǒng)瓷磚采購合同協(xié)議書4篇
- 專利技術(shù)成果應(yīng)用許可合同2024版一
- 二零二五年度裝配式建筑構(gòu)件設(shè)計(jì)、制造與施工合同3篇
- 寒潮雨雪應(yīng)急預(yù)案范文(2篇)
- 垃圾車駕駛員聘用合同
- 變壓器搬遷施工方案
- 單位轉(zhuǎn)賬個(gè)人合同模板
- 八年級(jí)語文下冊(cè) 成語故事 第十五課 諱疾忌醫(yī) 第六課時(shí) 口語交際教案 新教版(漢語)
- 2024年1月高考適應(yīng)性測(cè)試“九省聯(lián)考”數(shù)學(xué) 試題(學(xué)生版+解析版)
- EPC項(xiàng)目采購階段質(zhì)量保證措施
- T-NAHIEM 101-2023 急診科建設(shè)與設(shè)備配置標(biāo)準(zhǔn)
- 四川2024年專業(yè)技術(shù)人員公需科目“數(shù)字經(jīng)濟(jì)與驅(qū)動(dòng)發(fā)展”參考答案(通用版)
- 煤炭裝卸服務(wù)合同
- 廣東省佛山市順德區(qū)2023學(xué)年中考一模物理試題(含答案解析)
評(píng)論
0/150
提交評(píng)論