軟件工程導(dǎo)論第3章 需求分析
《軟件工程導(dǎo)論第3章 需求分析》由會員分享,可在線閱讀,更多相關(guān)《軟件工程導(dǎo)論第3章 需求分析(62頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 軟件工程導(dǎo)論(第5版) 普通高校本科計算機(jī)專業(yè)特色教材精選張海藩 編著第第3章章 需求分析需求分析主要內(nèi)容3.1 需求分析的任務(wù)3.2 與用戶溝通獲取需求的方法3.3 分析建模與規(guī)格說明3.4 實體-聯(lián)系圖3.5 數(shù)據(jù)規(guī)范化3.6 狀態(tài)轉(zhuǎn)換圖3.7 其他圖形工具3.8 驗證軟件需求教學(xué)重點(diǎn)基本技術(shù)、需求規(guī)格說明書的作用與組成。需求分析需求分析軟件需求軟件需求是指用戶對目標(biāo)軟件系統(tǒng)在功能、性能、行為、設(shè)計約束等方面的期望。需求分析需求分析是軟件定義時期的最后一個階段,它的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么?系統(tǒng)必須做什么?”這個問題,也就是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。需求分析
2、需求分析主要通過對應(yīng)用問題及其環(huán)境的分析與理解,采用一系列的分析方法和技術(shù),將用戶的需求逐步精確化、完全化、一致化,最終形成需求規(guī)格說明文檔的過程。需求分析需求分析需求分析階段的成果主要是軟件需求規(guī)格說明書軟件需求規(guī)格說明書,該成果以書面形式準(zhǔn)確地描述軟件需求,是軟件設(shè)計、編碼、測試直至維護(hù)的主要基礎(chǔ)。需求分析是軟件定義和軟件開發(fā)的重要橋梁,是軟件生存周期的關(guān)鍵性階段。良好的分析活動能夠減少錯誤和遺漏,從而可提高軟件生產(chǎn)率和產(chǎn)品質(zhì)量、降低開發(fā)與維護(hù)成本。在整個需求分析過程中,不僅要采用行之有效的通信技術(shù),集中精力過細(xì)地工作,而且必須嚴(yán)格審查驗證需求分析的結(jié)果。需求分析需求分析結(jié)構(gòu)化分析準(zhǔn)則必須
3、理解并描述問題的信息域,根據(jù)這條準(zhǔn)則應(yīng)該建立數(shù)據(jù)模型數(shù)據(jù)模型。必須定義軟件應(yīng)完成的功能,這條準(zhǔn)則要求建立功能模型功能模型。必須描述作為外部事件結(jié)果的軟件行為,這條準(zhǔn)則要求建立行為模型行為模型。必須對描述信息、功能和行為的模型進(jìn)行分解,用層次的方式展示細(xì)節(jié)。3.1 需求分析的任務(wù)需求分析的任務(wù)任務(wù)深入描述軟件的功能和性能,確定軟件設(shè)計的約束和軟件同其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求,借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)邏輯模型,解決目標(biāo)系統(tǒng)“做什么”的問題。3.1 續(xù)續(xù) .確定對系統(tǒng)的綜合要求 功能需求n指定系統(tǒng)必須提供的服務(wù)。 性能需求l指定系統(tǒng)必須滿足的定時約束或容量約束。 可
4、靠性和可用性需求l可靠性需求定量地指定系統(tǒng)的可靠性。l可用性量化了用戶可以使用系統(tǒng)的程度。 出錯處理需求l指明系統(tǒng)對環(huán)境錯誤應(yīng)該怎樣響應(yīng)。l出錯處理,某些情況下指當(dāng)應(yīng)用系統(tǒng)發(fā)現(xiàn)自己犯錯時所采取的行動。3.1 續(xù)續(xù) 接口需求l描述應(yīng)用系統(tǒng)與它的環(huán)境通信的格式。 約束l描述在設(shè)計或?qū)崿F(xiàn)應(yīng)用系統(tǒng)時應(yīng)遵守的限制條件。 逆向需求l指明軟件系統(tǒng)不應(yīng)該做什么。l僅選取能澄清真實需求且可消除可能發(fā)生的誤解的那些逆向需求。 將來可能提出的要求l那些雖然不屬于當(dāng)前系統(tǒng)開發(fā)范疇,但是據(jù)分析將來很可能會提出來的要求。l目的:對系統(tǒng)將來可能的擴(kuò)充和修改預(yù)做準(zhǔn)備3.1 續(xù)續(xù).分析系統(tǒng)的數(shù)據(jù)要求任何一個軟件系統(tǒng)本質(zhì)上都是信
5、息處理系統(tǒng)。分析系統(tǒng)的數(shù)據(jù)要求通常采用建立數(shù)據(jù)模型的方法。復(fù)雜的數(shù)據(jù)由許多基本的數(shù)據(jù)元素組成,數(shù)據(jù)結(jié)構(gòu)表示數(shù)據(jù)元素之間的邏輯關(guān)系。常常利用數(shù)據(jù)字典和圖形工具相結(jié)合的方式描繪數(shù)據(jù)結(jié)構(gòu)。為減少數(shù)據(jù)冗余,通常要把數(shù)據(jù)結(jié)構(gòu)規(guī)范化。3.1 續(xù)續(xù).導(dǎo)出系統(tǒng)的邏輯模型綜合上述兩項分析的結(jié)果可以導(dǎo)出系統(tǒng)的詳細(xì)的邏輯模型。通常用數(shù)據(jù)流圖、實體-聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典和主要的處理算法描述系統(tǒng)的邏輯模型。.修正系統(tǒng)開發(fā)計劃根據(jù)在分析過程中獲得的對系統(tǒng)的更深入更具體的了解,修正以前制定的開發(fā)計劃。3.2 與用戶溝通獲取需求的方法與用戶溝通獲取需求的方法.訪談訪談是最早開始使用的獲取用戶需求的技術(shù)。正式訪談時,系
6、統(tǒng)分析員將提出一些事先準(zhǔn)備好的具體問題。在非正式訪談中,分析員將提出一些用戶可以自由回答的開放性問題,以鼓勵被訪問人員說出自己的想法。當(dāng)需要調(diào)查大量人員的意見時,利用分發(fā)調(diào)查表的方式發(fā)現(xiàn)的新問題。情景分析技術(shù),即對用戶將來使用目標(biāo)系統(tǒng)解決某個具體問題的方法和結(jié)果進(jìn)行分析。3.2 續(xù)續(xù)情景分析技術(shù)用處它能在某種程度上演示目標(biāo)系統(tǒng)的行為,從而便于用戶理解,而且還可能進(jìn)一步揭示出一些分析員目前還不知道的需求。保證用戶在需求分析過程中始終扮演一個積極主動的角色。3.2 續(xù)續(xù)準(zhǔn)備問題的原則首先應(yīng)搞清一般性、整體性問題,然后再涉及細(xì)節(jié)問題。在組織問題時要盡量做到客觀、公證,不應(yīng)限制用戶的自由發(fā)揮。所提問題
7、匯總后應(yīng)能反映應(yīng)用問題及其子問題的全貌、并且不要過分詳細(xì)。3.2 續(xù)續(xù)面向數(shù)據(jù)流自頂向下求精數(shù)據(jù)是需求分析的出發(fā)點(diǎn),它決定了系統(tǒng)需要實現(xiàn)的處理和算法,。結(jié)構(gòu)化分析方法就是面向數(shù)據(jù)流自頂向下逐步求精進(jìn)行需求分析的方法。它是結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計和結(jié)構(gòu)化編程的總稱。為了把數(shù)據(jù)流和數(shù)據(jù)存儲定義到元素級,通常從數(shù)據(jù)流圖的輸出端著手分析。輸出數(shù)據(jù)決定了系統(tǒng)必須具有的最基本的組成元素。結(jié)構(gòu)化分析方法由于具有簡單易懂、使用方便的特點(diǎn),且出現(xiàn)較早,所以獲得了廣泛的應(yīng)用。3.2 續(xù)續(xù)面向數(shù)據(jù)流自頂向下求精過程3.2 續(xù)續(xù)簡單的應(yīng)用規(guī)格說明技術(shù)使用傳統(tǒng)的訪談或面向數(shù)據(jù)流自頂向下求精方法定義需求時,用戶處于被動地位
8、而且往往有意無意地與開發(fā)者區(qū)分“彼此”。簡易的應(yīng)用規(guī)格說明技術(shù)是一種面向團(tuán)隊的需求收集法。它提倡用戶與開發(fā)者密切合作,共同標(biāo)識問題,提出解決方案要素,商討不同方案并指定基本需求。優(yōu)點(diǎn):開發(fā)者與用戶齊心協(xié)力,密切合作;即時討論并求精;有能導(dǎo)出規(guī)格說明書的具體步驟。3.2 續(xù)續(xù)應(yīng)用規(guī)格說明技術(shù)分析需求的過程進(jìn)行初步訪談,初步確定待解決問題的范圍和解決方案。用戶和開發(fā)者分別寫“產(chǎn)品需求”。召開由開發(fā)者和用戶共同參與的會議。經(jīng)過討論確定針對每個議題的意見一致的需求列表。與會者分組為每個需求列表制定小型的規(guī)格說明,并供全會討論。每個與會者都制定產(chǎn)品的確認(rèn)標(biāo)準(zhǔn),通過全會討論,制定意見一致的確認(rèn)標(biāo)準(zhǔn)。起草完
9、整的軟件需求規(guī)格說明書。3.2 續(xù)續(xù)軟件原型軟件需求分析的過程,實際上是軟件原型的建造和不斷完善的過程。目標(biāo)軟件系統(tǒng)原型一方面可用于精確地記錄用戶從各個視點(diǎn)、不同抽象級別上對原始問題及目標(biāo)軟件的描述;另一方面,將幫助分析人員挖掘用戶需求。目標(biāo)軟件系統(tǒng)原型主要通過刻畫軟件系統(tǒng)中的數(shù)據(jù)、功能和外部行為,演示目標(biāo)系統(tǒng)。構(gòu)建原型的要點(diǎn)是實現(xiàn)用戶看得見的功能,省略目標(biāo)系統(tǒng)的隱含功能。3.2 續(xù)續(xù)快速建立軟件原型快速建立軟件原型是最準(zhǔn)確、最有效、最強(qiáng)大的需求分析技術(shù)。基本思想:在軟件開發(fā)的早期,快速快速開發(fā)一個目標(biāo)軟件系統(tǒng)的原型,讓用戶對其進(jìn)行評價并提出修改意見,然后開發(fā)人員根據(jù)用戶的意見對原型進(jìn)行改進(jìn)。
10、當(dāng)原型幾經(jīng)改進(jìn)最終確認(rèn)后,它將直接進(jìn)化成軟件產(chǎn)品,或者由軟件設(shè)計、編碼人員按照模型所確立的外部特征去實現(xiàn)軟件產(chǎn)品。特性:快速;容易修改。3.2 續(xù)續(xù)采取建立原型系統(tǒng)策略的原因由于用戶與軟件設(shè)計人員認(rèn)識上的局限,不能預(yù)先指定所有要求,因此在開發(fā)過程中重復(fù)和反復(fù)是必要的和不可避免的; 在用戶和系統(tǒng)分析員之間存在固有的通信鴻溝,用戶需要一個“活的”系統(tǒng)模型,以便獲得實踐經(jīng)驗,以便溝通;目前有快速建立原型系統(tǒng)的工具可供選用。3.2 續(xù)續(xù)快速原型技術(shù)的具體步驟選用某種分析方法生成軟件系統(tǒng)或所關(guān)心部分的簡化需求規(guī)格說明。對該規(guī)格說明進(jìn)行評審?fù)ㄟ^后,立即生成設(shè)計規(guī)格說明。使用可重用軟部件、用戶界面自動生成器
11、等工具快速生成可運(yùn)行的軟件原型并通過測試。將原型提交給用戶進(jìn)行評價,以便征求改進(jìn)意見。上述過程反復(fù)迭代,直至用戶完全滿意。3.2 續(xù)續(xù)快速原型相關(guān)技術(shù)第四代技術(shù)利用一種面向問題而非面向過程的第四代編程語言快速地生成可執(zhí)行的代碼。可重用的軟件構(gòu)件。使用一組已有的軟件構(gòu)件來裝配原型。形式化規(guī)格說明和原型環(huán)境。調(diào)用自動化工具把基于形式化語言的規(guī)格說明翻譯成可執(zhí)行的程序代碼。3.2 續(xù)續(xù)快速原型技術(shù)的適用場合該技術(shù)特別適合于軟件產(chǎn)品要求大量的用戶交互、或產(chǎn)生大量的可視輸出、或設(shè)計一些復(fù)雜的算法等場合,目前的絕大多數(shù)軟件都適合于快速原型技術(shù)。除非由于問題相當(dāng)復(fù)雜,致使開發(fā)快速原型可以獲得的支持太少、所冒
12、的風(fēng)險太大時,不易采用。但對于其中的某些子問題,尤其是用戶界面,還可采用快速原型技術(shù)進(jìn)行部分分析。3.3 分析建模與規(guī)格說明分析建模與規(guī)格說明.分析建模模型:是為了理解事物而對事物做出的一種抽象,是對事物的一種無歧義的書面描述。通常模型由一組圖形符號和組織這些符號的規(guī)則組成。結(jié)構(gòu)化分析實質(zhì)上是一種創(chuàng)建模型的活動。需求分析階段應(yīng)該建立三種模型:數(shù)據(jù)模型實體-聯(lián)系圖功能模型數(shù)據(jù)流圖行為模型狀態(tài)轉(zhuǎn)換圖3.3 續(xù)續(xù)2.軟件需求規(guī)格說明需求分析的主要階段性產(chǎn)品是需求規(guī)格說明書。它必須通過需求評審后才能生效,這是一個重要的里程碑。需求規(guī)格說明書的作用:它是軟件設(shè)計人員進(jìn)行設(shè)計和編碼的出發(fā)點(diǎn)和基礎(chǔ);它是對目
13、標(biāo)軟件產(chǎn)品進(jìn)行驗收測試的依據(jù)。這就要求需求規(guī)格說明書中的各項需求都應(yīng)該是可測試的;它起到軟件開發(fā)方和客戶(或用戶)方之間的一份合同的作用。3.3 續(xù)續(xù)需求規(guī)格說明書中的內(nèi)容應(yīng)主要包括功能與行為的需求描述功能與行為的需求描述和非行為需求非行為需求描述描述。非行為需求是指目標(biāo)軟件系統(tǒng)在工作時應(yīng)具備的屬性,主要有運(yùn)行效率、可靠性、安全性、可維護(hù)性、可移植性等等。在需求規(guī)格說明書中不應(yīng)包括如人員需求、成本預(yù)算、進(jìn)度計劃、質(zhì)量保證計劃等內(nèi)容,以便使其簡潔、目標(biāo)明確。通常用自然語言完整、準(zhǔn)確、具體地描述系統(tǒng)的數(shù)據(jù)要求、功能需求、性能需求、可靠性和可利用性要求、出錯處理需求、接口需求、約束、逆向需求以及將來
14、可能提出的要求。3.3 續(xù)續(xù)需求規(guī)格說明書的基本格式框架目錄1.引言 1.1 本說明的編寫目的 1.2 軟件產(chǎn)品的作用范圍 1.3 定義、同義詞與縮寫 1.4 參考文獻(xiàn)2.概述 2.1 產(chǎn)品與其環(huán)境間的關(guān)系 2.2 功能概述 2.3 用戶特征 2.4 約束條件 2.5 假設(shè)與前提條件3.3 續(xù)續(xù)3.功能或行為需求 3.1 功能或行為需求1:1)引言 2)輸入 3)處理過程描述 4)輸出 3.2 功能或行為需求2:1)引言 2)輸入 3)處理過程描述 4)輸出 3.n 功能或行為需求n: 1)引言 2)輸入 3)處理過程描述 4)輸出4.外部界面需求 4.1 用戶界面 4.2 硬件界面 4.3
15、軟件界面3.3 續(xù)續(xù)5.性能需求 5.1 精度 5.2 時間特征 5.3 靈活性6.設(shè)計約束 6.1 標(biāo)準(zhǔn)化約束 6.2 硬件約束 7.其他需求 7.1 數(shù)據(jù)庫需求 7.2 用戶操作需求 7.3 工作場地需求3.3 續(xù)續(xù)8.軟件產(chǎn)品屬性 8.1 可用性 8.2 安全性 8.3 可維護(hù)性 8.4 可移植性附錄索引3.4 實體實體-聯(lián)系圖聯(lián)系圖概念數(shù)據(jù)模型通過建立數(shù)據(jù)模型可理解并描述問題的信息域。系統(tǒng)分析員通常通過建立一個概念性的數(shù)據(jù)把用戶的數(shù)據(jù)要求清楚、準(zhǔn)確地描述出來。概念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,描述了從用戶角度看到的數(shù)據(jù)。數(shù)據(jù)模型包含三種信息:數(shù)據(jù)對象、數(shù)據(jù)對象的屬性、數(shù)據(jù)對象之間
16、的聯(lián)系。3.4 續(xù)續(xù)數(shù)據(jù)對象數(shù)據(jù)對象數(shù)據(jù)對象:數(shù)據(jù)對象:是現(xiàn)實世界中實體的數(shù)據(jù)表現(xiàn),是省略了功能和行為的實體。數(shù)據(jù)對象:數(shù)據(jù)對象:對軟件必須理解的復(fù)合信息的抽象。復(fù)合信息:復(fù)合信息:具有一系列不同性質(zhì)和屬性的事物。 數(shù)據(jù)源 ;數(shù)據(jù)對象包括:數(shù)據(jù)對象包括: 外部實體的數(shù)據(jù)部分 ; 數(shù)據(jù)流的內(nèi)容。3.4 續(xù)續(xù)屬性數(shù)據(jù)對象由其屬性刻畫,屬性定義了數(shù)據(jù)對象的性質(zhì)。通常屬性包括:命名性屬性:對數(shù)據(jù)對象的實例命名,其中必含有一個或一組關(guān)鍵屬性,以便唯一地標(biāo)識數(shù)據(jù)對象的實例。描述性屬性:對數(shù)據(jù)對象實例的性質(zhì)進(jìn)行刻畫。引用性屬性:將自身與其他數(shù)據(jù)對象的實例關(guān)聯(lián)起來。一般而言,現(xiàn)實世界中任何給定實體都具有許多屬
17、性,分析人員應(yīng)當(dāng)并且只能考慮與應(yīng)用問題有關(guān)的屬性。3.4 續(xù)續(xù)聯(lián)系應(yīng)用問題中的任何數(shù)據(jù)對象都不是孤立的,它們與其他數(shù)據(jù)對象一定存在各種形式的關(guān)聯(lián)。聯(lián)系指數(shù)據(jù)對象之間相互連接的方式。聯(lián)系的命名及內(nèi)涵因具體問題而異。分析人員必須善于剔除與應(yīng)用問題無關(guān)的關(guān)系。通常實體聯(lián)系有三種類型:一對一的聯(lián)系(1:1):一個實體在此種聯(lián)系下只能對應(yīng)一個實體。一對多的聯(lián)系(1:n):一個實體在此種聯(lián)系下對應(yīng)其他實體型中的一個以上實體;多對多的聯(lián)系(m:n):一個實體類型中的多個實體與另一個實體類型中的多個實體相聯(lián)系。3.4 續(xù)續(xù)E-R (Entity-Relation)圖在數(shù)據(jù)密集型應(yīng)用問題中,對復(fù)雜數(shù)據(jù)及數(shù)據(jù)之間
18、復(fù)雜關(guān)系的分析和建模將成為需求分析的重要任務(wù)。實體-聯(lián)系圖在數(shù)據(jù)流分析方法中適合于復(fù)雜數(shù)據(jù)建模的工具。E-R圖是表示數(shù)據(jù)對象及其之間關(guān)系的圖形語言機(jī)制。優(yōu)點(diǎn): 接近人的習(xí)慣思維方式; 直觀形象,便于理解。3.4 續(xù)續(xù)E-R方法和實體模型 矩形框表示實體型。在框內(nèi)寫上實體名,如“學(xué)生”實體型。橢圓形/圓角矩形表示實體有關(guān)的屬性。橢圓內(nèi)標(biāo)記屬性的名字。直線表示實體與屬性之間的聯(lián)系。菱形框表示實體之間的聯(lián)系。 3.4 續(xù)續(xù)例如,在教學(xué)管理中,學(xué)校開設(shè)若干門課程,一個教師可以教授其中的一門或多門課程,每位學(xué)生也需要學(xué)習(xí)其中的幾門課程。教學(xué)管理的E-R圖如下:3.5 數(shù)據(jù)規(guī)范化數(shù)據(jù)規(guī)范化數(shù)據(jù)規(guī)范化目的消
19、除數(shù)據(jù)冗余,消除多義性;使關(guān)系單純化;方便操作;使關(guān)系模型更靈活。數(shù)據(jù)規(guī)范化的衡量通常按照屬性間的依賴情況區(qū)分規(guī)范化的程度。屬性間依賴程度滿足不同程度要求的為不同范式。通常用“范式”定義消除數(shù)據(jù)冗余的程度。利用范式規(guī)范化數(shù)據(jù)的缺點(diǎn):范式級別越高,存儲自身的過程就越復(fù)雜。范式級別越高,在需求變化時數(shù)據(jù)的穩(wěn)定性越差。范式級別越高,系統(tǒng)性能越低。3.5 續(xù)續(xù)規(guī)范化規(guī)則數(shù)據(jù)對象的任何實例對每個屬性必須有且僅有一個屬性值。屬性是原子數(shù)據(jù)項,不能包含內(nèi)部數(shù)據(jù)結(jié)構(gòu)。如果數(shù)據(jù)對象的關(guān)鍵屬性多于一個,那么其他的非關(guān)鍵屬性必須表示整個數(shù)據(jù)對象而不是部分關(guān)鍵屬性的特征。所有的非關(guān)鍵屬性必須表示整個對象而不是部分屬性
20、的特征。3.5 續(xù)續(xù)判斷規(guī)范化程度的條件關(guān)系中所有屬性都是“單純域”,即不出現(xiàn)“表中有表”。非主屬性完全函數(shù)依賴于關(guān)鍵字。非主屬性相互獨(dú)立,即任何非主屬性間不存在函數(shù)依賴。如果一個關(guān)系連條件都不滿足,則這個關(guān)系是非規(guī)范化的。如果一個關(guān)系僅滿足條件,則這個關(guān)系滿足第一范式(1NF)。如果一個關(guān)系滿足條件、,但不滿足,則這個關(guān)系滿足第二范式(2NF)。如果一個關(guān)系同時滿足條件、和,則這個關(guān)系滿足第三范式(3NF)。3.5 續(xù)續(xù)教學(xué)管理E-R圖3.5 續(xù)續(xù)如何進(jìn)行規(guī)范化學(xué)生(學(xué)號學(xué)號,姓名,性別,年齡,專業(yè),籍貫)教師(職工號職工號,姓名,年齡,職稱,工資級別,工資)課程(課程號課程號,課程名,學(xué)分
21、,學(xué)時,課程類型)選課(學(xué)號,課程號學(xué)號,課程號,聽課出勤率,作業(yè)完成率,分?jǐn)?shù))教課(職工號,課程號職工號,課程號) 3.6 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖相關(guān)定義狀態(tài):任何可以被觀察到的系統(tǒng)行為模式,一個狀態(tài)代表系統(tǒng)的一種行為模式。狀態(tài)規(guī)定了系統(tǒng)對事件的響應(yīng)方式。分為初態(tài)、終態(tài)和中間狀態(tài)三種。事件:引起系統(tǒng)做動作或(和)轉(zhuǎn)換狀態(tài)的控制信息。狀態(tài)轉(zhuǎn)換圖:通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來表示系統(tǒng)的行為。同時還指明了作為特定事件的結(jié)果,系統(tǒng)將做哪些動作。狀態(tài)變遷通常是由事件觸發(fā)的。3.6 續(xù)續(xù)符號說明:說明:初態(tài):實心圓 終態(tài):內(nèi)圓為實心圓的同心圓中間態(tài):圓角矩形 狀態(tài)轉(zhuǎn)換:箭頭的連線 狀態(tài)的
22、名稱:必選狀態(tài)變量的名字和值:可選活動表:可選3.6 續(xù)續(xù)活動表語法格式:事件名(參數(shù)表)/動作表達(dá)式常用的3種標(biāo)準(zhǔn)事件:entry,exit和do。entry事件指定進(jìn)入該狀態(tài)的動作;exit事件指定退出該狀態(tài)的動作;do事件指定在該狀態(tài)下的動作。動作表達(dá)式描述應(yīng)做的具體動作。3.6 續(xù)續(xù)事件表達(dá)式語法格式:事件說明守衛(wèi)條件/動作表達(dá)式事件說明的語法為:事件名(參數(shù)表); 守衛(wèi)條件是一個布爾表達(dá)式;動作表達(dá)式是一個過程表達(dá)式。3.6 續(xù)續(xù)電話系統(tǒng)狀態(tài)圖3.7 其他圖形工具其他圖形工具層次方框圖層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。頂層矩形框,代表完整的數(shù)據(jù)結(jié)構(gòu);中間的
23、各矩形框代表上層數(shù)據(jù)的子集;最底層的各矩形框代表組成不能再分割的實際數(shù)據(jù)元素。隨著結(jié)構(gòu)的精細(xì)化,層次方框圖對數(shù)據(jù)結(jié)構(gòu)的描繪得越來越詳細(xì)。3.7 續(xù)續(xù)例如,描繪一家計算機(jī)公司全部產(chǎn)品的數(shù)據(jù)結(jié)構(gòu)可以用圖中的層次方框圖表示。3.7 續(xù)續(xù)Warnier圖1974年,法國人J.D.Warnier提出了一種LCP(Logical Construction of Programs,邏輯構(gòu)造程序)。他利用順序、選擇、重復(fù)三種結(jié)構(gòu)表示信息的層次分解,并指出可以從信息層次結(jié)構(gòu)推導(dǎo)出程序結(jié)構(gòu)。1981年Ken Orr對Warnier的工作進(jìn)行了擴(kuò)充,使其不僅包含了Warnier的信息層次結(jié)構(gòu),還引進(jìn)了數(shù)據(jù)流和處理功
24、能,從而發(fā)展成為一種需求分析方法。Warnier圖又稱為Warnier-Orr圖,可以表示數(shù)據(jù)結(jié)構(gòu)和程序結(jié)構(gòu),即表明信息的邏輯組織 。3.7 續(xù)續(xù)考慮一個典型的報紙自動組版系統(tǒng)。報紙作為其中重要的信息對象,具有以下內(nèi)容:1.首版 1)標(biāo)題新聞 2)國內(nèi)新聞 3)本地新聞2.商業(yè)金融版 1)股市行情 2)商業(yè)新聞 3)廣告3.文化體育版 1)文化、體育新聞 2)散文 3)新書評論3.7 續(xù)續(xù)Warnier圖示例標(biāo)題新聞標(biāo)題新聞國內(nèi)新聞國內(nèi)新聞本地新聞本地新聞股市行情股市行情(0,1)商業(yè)新聞商業(yè)新聞廣告廣告(1,5)文化、體育新聞文化、體育新聞散文散文 新書評論新書評論文化體育版文化體育版首首
25、版版商業(yè)金融版商業(yè)金融版報報 紙紙3.7 續(xù)續(xù)Warnier圖說明花括號內(nèi)的信息條目構(gòu)成順序關(guān)系;花括號從左至右排列表示樹型層次結(jié)構(gòu);符號“ ”表示不可兼具的選擇關(guān)系;“”表示“非”。圓括號內(nèi)的數(shù)字表示重復(fù)次數(shù): (1,n)表示重復(fù)結(jié)構(gòu), (1)或不標(biāo)次數(shù)表示順序結(jié)構(gòu), (0,1)表示選擇結(jié)構(gòu)。3.7 續(xù)續(xù)軟件產(chǎn)品示例3.7 續(xù)續(xù)IPO圖IPO圖美國IBM公司IPO圖是輸入處理輸出圖的簡稱 ,它的基本形式是在左邊的框中列出有關(guān)的輸入數(shù)據(jù),在中間的框內(nèi)列出主要的處理,在右邊的框內(nèi)列出產(chǎn)生的輸出數(shù)據(jù)。 IPO圖使用的基本符號既少又簡單,易學(xué)易用。使用IPO圖可以簡略地描述系統(tǒng)的主要算法。3.7 續(xù)
26、續(xù)IPO圖示例3.7 續(xù)續(xù)改進(jìn)的IPO圖示例3.8 驗證軟件需求驗證軟件需求從哪些方面驗證軟件需求的正確性一致性:任何一條需求不能和其他需求互相矛盾。完整性:規(guī)格說明書應(yīng)該包括用戶需要的每一個功能或性能。現(xiàn)實性:需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實現(xiàn)的。有效性:需求確實能解決用戶面對的問題。3.8 續(xù)續(xù)驗證軟件需求的方法驗證需求的一致性用自然語言書寫時,人工審查驗收。用形式化的需求陳述語言書寫時,用軟件工具驗證需求的一致性。驗收需求的現(xiàn)實性參照參照以往開發(fā)類似系統(tǒng)的經(jīng)驗;采用仿真或性能模擬技術(shù)。驗收需求的完整性和有效性需要用戶的密切配合;使用原型系統(tǒng)。3.8 續(xù)續(xù)對用于需求分析的軟
27、件工具的要求必須有形式化的語法,以便于計算機(jī)自動處理使用這種語法說明的內(nèi)容。 使用這個軟件工具能夠?qū)С鲈敿?xì)的文檔; 必須提供分析規(guī)格說明書的不一致性和冗余性的手段,并且應(yīng)該能夠產(chǎn)生一組報告指明對完整性分析的結(jié)果;使用這個軟件工具之后,應(yīng)該能夠改進(jìn)通信狀況。3.8 續(xù)續(xù)形式化的語言RSL(需求陳述語言)語句計算機(jī)處理ASSM數(shù)據(jù)庫PASCAL模擬程序 PSL/PSA(問題陳述語言/問題陳述分析程序)用PSL描述系統(tǒng)描述符數(shù)據(jù)庫增加刪除修改描述符信息PSA處理產(chǎn)生格式化文檔和分析報告PSL/PSA 系統(tǒng)的優(yōu)點(diǎn)改進(jìn)了文檔質(zhì)量,從而減少管理和維護(hù)的費(fèi)用。數(shù)據(jù)存放在數(shù)據(jù)庫中,便于操作。習(xí)題習(xí)題 銀行取款過程數(shù)據(jù)流圖儲戶日歷1檢驗2登錄3付款E1帳卡E2存折檢驗出的問題存折取款單現(xiàn)款取款信息付款通知年、月、日取款信息
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。