計算機(jī)軟件工程第三章需求分析課件_第1頁
計算機(jī)軟件工程第三章需求分析課件_第2頁
計算機(jī)軟件工程第三章需求分析課件_第3頁
計算機(jī)軟件工程第三章需求分析課件_第4頁
計算機(jī)軟件工程第三章需求分析課件_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

SOFTWAREENGINEERING第3章需求分析SOFTWAREENGINEERING第3章需求分析SOFTWAREENGINEERING§3.1需求分析的任務(wù)3.1.1基本任務(wù)準(zhǔn)確的回答“系統(tǒng)必須做什么”這個問題。僅僅是確定系統(tǒng)必須完成哪些工作,也就是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。SOFTWAREENGINEERING§3.1需求分析的SOFTWAREENGINEERING§3.1需求分析的任務(wù)3.1.2具體任務(wù)(1)確定對系統(tǒng)的綜合要求

功能需求性能需求可靠性和可用性需求出錯處理需求接口需求約束逆向需求將來可能提出的要求(2)分析系統(tǒng)的數(shù)據(jù)要求

通常采用建立概念模型的方法—層次方框圖和Warnier圖(3)導(dǎo)出系統(tǒng)的邏輯模型

通常用數(shù)據(jù)流圖、ER圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典和主要的處理算法描述這個邏輯模型。SOFTWAREENGINEERING§3.1需求分析的SOFTWAREENGINEERING§3.1需求分析的任務(wù)3.1.2具體任務(wù)(4)修正系統(tǒng)開發(fā)計劃可以比較準(zhǔn)確地估計系統(tǒng)的成本和進(jìn)度,修正以前制定的開發(fā)計劃。(5)驗證軟件需求目的:使用戶通過實踐獲得關(guān)于未來的系統(tǒng)將怎樣為他們工作的更直接具體的概念,從而可以更準(zhǔn)確地提出和確定他們的要求。SOFTWAREENGINEERING§3.1需求分析的SOFTWAREENGINEERING§3.1需求分析的任務(wù)3.1.3出發(fā)點可行性研究階段的數(shù)據(jù)流圖3.1.4要點確定系統(tǒng)能“做什么”,不考慮系統(tǒng)“怎么做”。SOFTWAREENGINEERING§3.1需求分析的SOFTWAREENGINEERING§3.2分析過程3.2.1步驟(1)沿數(shù)據(jù)流圖回溯(2)用戶復(fù)查(3)細(xì)化數(shù)據(jù)流圖(4)修正開發(fā)計劃(5)書寫文檔(6)審查和復(fù)審SOFTWAREENGINEERING§3.2分析過程SOFTWAREENGINEERING§3.2分析過程3.2.2文檔(1)系統(tǒng)規(guī)格說明:描述目標(biāo)系統(tǒng)的概貌、功能要求、性能要求、運行要求和將來可能提出的要求。(2)數(shù)據(jù)要求:數(shù)據(jù)字典、描繪數(shù)據(jù)結(jié)構(gòu)的層次的方框圖(3)用戶系統(tǒng)描述:從用戶使用的角度描繪系統(tǒng),相當(dāng)于一份初步的用戶手冊。(及早的考慮用戶的需求)(4)修正的開發(fā)計劃:修正后的成本估計、資源使用計劃、進(jìn)度計劃。SOFTWAREENGINEERING§3.2分析過程需求獲取的內(nèi)容1.用戶需求分類

(1)功能性需求:

定義了系統(tǒng)做什么(描述系統(tǒng)必須支持的功能和過程)

(2)非功能性需求(技術(shù)需求):

定義了系統(tǒng)工作時的特性(描述操作環(huán)境和性能目標(biāo))需求獲取的內(nèi)容1.用戶需求分類2.兩類需求包括的內(nèi)容(1)功能(2)性能(3)環(huán)境(4)界面(5)用戶或人的因素(6)文檔(7)數(shù)據(jù)(8)資源(9)安全保密(10)軟件成本消耗與開發(fā)進(jìn)度(11)質(zhì)量保證2.兩類需求包括的內(nèi)容(1)功能(1)功能需求

系統(tǒng)做什么?系統(tǒng)何時做什么?系統(tǒng)何時及如何修改或升級?(1)功能需求系統(tǒng)做什么?(2)性能需求軟件開發(fā)的技術(shù)性指標(biāo)例如:存儲容量限制執(zhí)行速度、相應(yīng)時間吞吐量(2)性能需求軟件開發(fā)的技術(shù)性指標(biāo)(3)環(huán)境需求硬件設(shè)備:機(jī)型、外設(shè)、接口、地點、分布、溫度、濕度、磁場干擾等軟件:操作系統(tǒng)網(wǎng)絡(luò)數(shù)據(jù)庫(3)環(huán)境需求硬件設(shè)備:機(jī)型、外設(shè)、接口、(4)界面需求界面元素

用戶角色界面原型

(4)界面需求界面元素(5)用戶或人的因素

用戶類型?各種用戶熟練程度?需受何種訓(xùn)練?用戶理解、使用系統(tǒng)的難度?用戶錯誤操作系統(tǒng)的可能性?(5)用戶或人的因素用戶類型?(6)文檔需求

需哪些文檔?文檔針對哪些讀者?(6)文檔需求需哪些文檔?(7)數(shù)據(jù)需求

輸入、輸出數(shù)據(jù)的格式?接收、發(fā)送數(shù)據(jù)的頻率?數(shù)據(jù)的準(zhǔn)確性和精度?數(shù)據(jù)需保持的時間?(7)數(shù)據(jù)需求輸入、輸出數(shù)據(jù)的格式?(8)資源需求

軟件運行時所需的數(shù)據(jù)、軟件。軟件開發(fā)、維護(hù)所需的人力、支撐軟件、開發(fā)設(shè)備等。(8)資源需求軟件運行時所需的數(shù)據(jù)、軟件。(9)安全保密要求需對訪問系統(tǒng)或系統(tǒng)信息加以控制嗎?如何隔離用戶之間的數(shù)據(jù)?用戶程序如何與其它程序和操作系統(tǒng)隔離?系統(tǒng)備份要求?(9)安全保密要求需對訪問系統(tǒng)或系統(tǒng)信息加以控(10)軟件成本消耗與開發(fā)進(jìn)度需求開發(fā)有規(guī)定的時間表嗎?軟硬件投資有無限制?(10)軟件成本消耗與開發(fā)進(jìn)度需求開發(fā)有規(guī)定的時間表嗎?(11)質(zhì)量保證

系統(tǒng)的可靠性要求?系統(tǒng)必須監(jiān)測和隔離錯誤嗎?規(guī)定系統(tǒng)平均出錯時間?出錯后,重啟系統(tǒng)允許的時間?系統(tǒng)變化如何反映到設(shè)計中?維護(hù)是否包括對系統(tǒng)的改進(jìn)?系統(tǒng)的可移植性?(11)質(zhì)量保證系統(tǒng)的可靠性要求?SOFTWAREENGINEERING與用戶溝通獲取需求的方法1訪談:正式的和非正式2面向數(shù)據(jù)流自頂向下求精

需求分析的目標(biāo)之一就是把數(shù)據(jù)量和數(shù)據(jù)存儲定義到元素級3簡易的應(yīng)用規(guī)格說明技術(shù)

提倡用戶與開發(fā)者密切合作,共同標(biāo)識問題,提出解決方案,商討不同方案并制定基本需求4快速建立軟件原型系統(tǒng)SOFTWAREENGINEERING與用戶溝通獲取需求的SOFTWAREENGINEERING§3.3分析建模與規(guī)格說明3.3.1分析建模模型:為了理解事物而對事物作出的一種抽象,是對事物的一種無歧義的書面描述。需求分析過程需建立三種模型:數(shù)據(jù)模型,功能模型和行為模型。數(shù)據(jù)模型---ER圖功能模型---數(shù)據(jù)流圖行為模型----狀態(tài)轉(zhuǎn)換圖SOFTWAREENGINEERING§3.3分析建模與數(shù)據(jù)字典數(shù)據(jù)流圖E-R圖狀態(tài)變遷圖加工規(guī)約控制規(guī)約數(shù)據(jù)對象描述分析模型的結(jié)構(gòu)數(shù)據(jù)數(shù)據(jù)E-R圖狀態(tài)變遷圖加工規(guī)約控制規(guī)約數(shù)據(jù)對描分析模型的SOFTWAREENGINEERING§3.4實體-聯(lián)系圖3.3.1常用的表示概念性數(shù)據(jù)模型的方法:實體—聯(lián)系法(Entity-RelationshipApproach)數(shù)據(jù)對象屬性聯(lián)系SOFTWAREENGINEERING§3.4實體-聯(lián)系SOFTWAREENGINEERING某校教學(xué)管理ER圖SOFTWAREENGINEERING某校教學(xué)管理ER圖SOFTWAREENGINEERING§3.5范式用范式(NormalForms)定義消除數(shù)據(jù)冗余的程度。第一范式:每個屬性都是原子級的,不含內(nèi)部結(jié)構(gòu)第二范式:滿足第一范式條件,且每個非關(guān)鍵字屬性都由整個關(guān)鍵字決定第三范式:符合第二范式,且每個非關(guān)鍵字屬性僅由整個關(guān)鍵字決定SOFTWAREENGINEERING§3.5范式用范SOFTWAREENGINEERING§3.5范式說明:(1)范式級別越高,存儲同樣數(shù)據(jù)就需要分解成更多張表,因此“存儲自身”的過程也就越復(fù)雜。(2)隨著范式級別的提高,數(shù)據(jù)的存儲結(jié)構(gòu)與基于問題域的結(jié)構(gòu)間的匹配程度也隨之下降,因此,在需求變化時數(shù)據(jù)的穩(wěn)定性較差。(3)范式級別提高,則需要訪問的表增多,因此性能(速度)下降。從實用角度看,在大多數(shù)場合選用第三范式都比較恰當(dāng)。SOFTWAREENGINEERING§3.5范式說明例題-軟考2009下午某集團(tuán)公司下有多家連鎖超市,公司需要建立一個數(shù)據(jù)庫管理系統(tǒng)以方便管理其業(yè)務(wù)運作活動。1.商場需要記錄的信息包括商場編號、商場名稱,地址和聯(lián)系電話。2.每個商場含有不同的部門,部門需要記錄的信息包括部門編號,部門名稱、位置分布和聯(lián)系電話3.每個部門雇傭多名員工進(jìn)行日常業(yè)務(wù)管理,每名員工只能隸屬于一個部門。員工信息包括,員工編號,員工姓名,崗位、電話號碼和工資4.每個部門的員工中有一名是經(jīng)理,每個經(jīng)理只能管理一個部門,系統(tǒng)需要記錄每個經(jīng)理的任職時間SOFTWAREENGINEERING例題-軟考2009下午某集團(tuán)公司下有多家連鎖超市,公司需要建SOFTWAREENGINEERING§3.6狀態(tài)轉(zhuǎn)換圖狀態(tài)—是任何可以被觀察到的系統(tǒng)行為模式,一個狀態(tài)代表系統(tǒng)的一種行為模式。事件—是在某個特定時刻發(fā)生的事情,它是對引起系統(tǒng)做動作或從一個狀態(tài)轉(zhuǎn)換到另一個狀態(tài)的外界事件的抽象。SOFTWAREENGINEERING§3.6狀態(tài)轉(zhuǎn)換SOFTWAREENGINEERING狀態(tài)圖中使用的主要符號SOFTWAREENGINEERING狀態(tài)圖中使用的主要符3.狀態(tài)轉(zhuǎn)換圖(STD)描述軟件狀態(tài)變遷符號表示矩形---系統(tǒng)狀態(tài)箭頭---狀態(tài)轉(zhuǎn)變方向規(guī)則表達(dá)式---事件/觸發(fā)行為狀態(tài)1狀態(tài)2事件/觸發(fā)行為3.狀態(tài)轉(zhuǎn)換圖(STD)描述軟件狀態(tài)變遷狀態(tài)1狀態(tài)2事件閑置撥號音do:響撥號音超時do:響蜂鳴音存儲的信息do:播放信息接通中do:試接通振鈴do:振鈴撥號通話斷線忙音do:響忙音掛斷電話掛斷電話拿起話筒超時無效號碼有效號碼超時數(shù)字?jǐn)?shù)字占線已接通受話人回話受話人掛斷電話信息播完閑置撥號音超時存儲的信息接通中振鈴撥號通話斷線忙音掛斷電話掛SOFTWAREENGINEERING作業(yè):用狀態(tài)轉(zhuǎn)換圖描繪下述行為復(fù)印機(jī)的工作過程大致如下:未接到復(fù)印命令時處于閑置狀態(tài),一旦接到復(fù)印命令則進(jìn)入復(fù)印狀態(tài),完成一個復(fù)印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個復(fù)印命令;如果執(zhí)行復(fù)印命令時發(fā)現(xiàn)沒紙,則進(jìn)入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后,進(jìn)入閑置狀態(tài),準(zhǔn)備接收復(fù)印命令;如果復(fù)印時發(fā)生卡紙故障,則進(jìn)入卡紙狀態(tài),發(fā)出警告等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。SOFTWAREENGINEERING作業(yè):用狀態(tài)轉(zhuǎn)換圖描SOFTWAREENGINEERING§3.7圖形工具3.7.1層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。樹形結(jié)構(gòu)的頂層是一個單獨的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面各層的矩形框代表這個數(shù)據(jù)的子集,最底層的各個框代表組成這個數(shù)據(jù)的實際數(shù)據(jù)元素(不能再分割的元素)。SOFTWAREENGINEERING§3.7圖形工具3SOFTWAREENGINEERING例題某計算機(jī)公司的產(chǎn)品由硬件、軟件和服務(wù)三類產(chǎn)品組成。硬件又包括處理機(jī)、存儲器和外部設(shè)備等。軟件產(chǎn)品又分為系統(tǒng)軟件和應(yīng)用軟件,系統(tǒng)軟件又進(jìn)一步分為操作系統(tǒng)、編譯程序和軟件工具等。服務(wù)包括軟件服務(wù)、硬件維護(hù)和培訓(xùn)等。SOFTWAREENGINEERING例題某計算機(jī)公司的產(chǎn)SOFTWAREENGINEERING層次方框圖SOFTWAREENGINEERING層次方框圖SOFTWAREENGINEERING§3.7圖形工具3.7.2Warnier圖用Warnier圖可以表明信息的邏輯組織,它可以指出一類信息或一個信息是重復(fù)出現(xiàn)的,也可以表示特定信息在某一類信息中是有條件出現(xiàn)的。SOFTWAREENGINEERING§3.7圖形工具3SOFTWAREENGINEERINGWarnier圖SOFTWAREENGINEERINGWarnier圖SOFTWAREENGINEERING§3.7.3圖形工具3.4.3IPO圖IPO圖是輸入、處理、輸出圖的簡稱。-IBM在需求分析階段可以使用IPO圖簡略地描述系統(tǒng)的主要算法(即數(shù)據(jù)流圖中各個處理的基本算法)SOFTWAREENGINEERING§3.7.3圖形工具SOFTWAREENGINEERING

IPO圖的一個例子SOFTWAREENGINEERINGIPO圖的一個例子SOFTWAREENGINEERING改進(jìn)的IPO圖的形式SOFTWAREENGINEERING改進(jìn)的IPO圖的形式SOFTWAREENGINEERING§3.8驗證軟件需求3.8.1從哪些方面嚴(yán)整軟件需求的正確性(1)一致性:所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾;(2)完整性:需求必須是完整的,規(guī)格說明書應(yīng)該包括用戶需要的每一個功能和性能;(3)現(xiàn)實性:指定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實現(xiàn)的;(4)有效性:必須證明需求是正確有效的,確實能解決用戶面對的問題。SOFTWAREENGINEERING§3.8驗證軟件需求SOFTWAREENGINEERING§3.5驗證軟件需求3.5.2驗證軟件需求的方法(1)驗證需求的一致性:形式化的描述軟件需求的方法。當(dāng)軟件需求規(guī)格說明書是用形式化的需求陳述語言書寫的時候,可以用軟件工具驗證需求的一致性。(2)驗證需求的現(xiàn)實性:參照以往開發(fā)類似系統(tǒng)的經(jīng)驗,必要時采用仿真或性能模擬技術(shù)。(3)驗證需求的完整性和有效性使用原型系統(tǒng)SOFTWAREENGINEERING§3.5驗證軟件需求SOFTWAREENGINEERING§3.5驗證軟件需求3.5.3用于需求分析的軟件工具(1)必須有形式化的語法(或表),因此可以用計算機(jī)自動處理使用這種語法說明的內(nèi)容;(2)使用這種軟件工具能導(dǎo)出詳細(xì)的文檔;(3)必須提供分析(測試)規(guī)格說明書的不一致性和冗余性的手段,并且應(yīng)該能夠產(chǎn)生一組報告指明對完整性分析的結(jié)果;(4)使用這個軟件工具之后,應(yīng)該能夠改進(jìn)通信狀況。SOFTWAREENGINEERING§3.5驗證軟件需求SOFTWAREENGINEERING第3章需求分析SOFTWAREENGINEERING第3章需求分析SOFTWAREENGINEERING§3.1需求分析的任務(wù)3.1.1基本任務(wù)準(zhǔn)確的回答“系統(tǒng)必須做什么”這個問題。僅僅是確定系統(tǒng)必須完成哪些工作,也就是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。SOFTWAREENGINEERING§3.1需求分析的SOFTWAREENGINEERING§3.1需求分析的任務(wù)3.1.2具體任務(wù)(1)確定對系統(tǒng)的綜合要求

功能需求性能需求可靠性和可用性需求出錯處理需求接口需求約束逆向需求將來可能提出的要求(2)分析系統(tǒng)的數(shù)據(jù)要求

通常采用建立概念模型的方法—層次方框圖和Warnier圖(3)導(dǎo)出系統(tǒng)的邏輯模型

通常用數(shù)據(jù)流圖、ER圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典和主要的處理算法描述這個邏輯模型。SOFTWAREENGINEERING§3.1需求分析的SOFTWAREENGINEERING§3.1需求分析的任務(wù)3.1.2具體任務(wù)(4)修正系統(tǒng)開發(fā)計劃可以比較準(zhǔn)確地估計系統(tǒng)的成本和進(jìn)度,修正以前制定的開發(fā)計劃。(5)驗證軟件需求目的:使用戶通過實踐獲得關(guān)于未來的系統(tǒng)將怎樣為他們工作的更直接具體的概念,從而可以更準(zhǔn)確地提出和確定他們的要求。SOFTWAREENGINEERING§3.1需求分析的SOFTWAREENGINEERING§3.1需求分析的任務(wù)3.1.3出發(fā)點可行性研究階段的數(shù)據(jù)流圖3.1.4要點確定系統(tǒng)能“做什么”,不考慮系統(tǒng)“怎么做”。SOFTWAREENGINEERING§3.1需求分析的SOFTWAREENGINEERING§3.2分析過程3.2.1步驟(1)沿數(shù)據(jù)流圖回溯(2)用戶復(fù)查(3)細(xì)化數(shù)據(jù)流圖(4)修正開發(fā)計劃(5)書寫文檔(6)審查和復(fù)審SOFTWAREENGINEERING§3.2分析過程SOFTWAREENGINEERING§3.2分析過程3.2.2文檔(1)系統(tǒng)規(guī)格說明:描述目標(biāo)系統(tǒng)的概貌、功能要求、性能要求、運行要求和將來可能提出的要求。(2)數(shù)據(jù)要求:數(shù)據(jù)字典、描繪數(shù)據(jù)結(jié)構(gòu)的層次的方框圖(3)用戶系統(tǒng)描述:從用戶使用的角度描繪系統(tǒng),相當(dāng)于一份初步的用戶手冊。(及早的考慮用戶的需求)(4)修正的開發(fā)計劃:修正后的成本估計、資源使用計劃、進(jìn)度計劃。SOFTWAREENGINEERING§3.2分析過程需求獲取的內(nèi)容1.用戶需求分類

(1)功能性需求:

定義了系統(tǒng)做什么(描述系統(tǒng)必須支持的功能和過程)

(2)非功能性需求(技術(shù)需求):

定義了系統(tǒng)工作時的特性(描述操作環(huán)境和性能目標(biāo))需求獲取的內(nèi)容1.用戶需求分類2.兩類需求包括的內(nèi)容(1)功能(2)性能(3)環(huán)境(4)界面(5)用戶或人的因素(6)文檔(7)數(shù)據(jù)(8)資源(9)安全保密(10)軟件成本消耗與開發(fā)進(jìn)度(11)質(zhì)量保證2.兩類需求包括的內(nèi)容(1)功能(1)功能需求

系統(tǒng)做什么?系統(tǒng)何時做什么?系統(tǒng)何時及如何修改或升級?(1)功能需求系統(tǒng)做什么?(2)性能需求軟件開發(fā)的技術(shù)性指標(biāo)例如:存儲容量限制執(zhí)行速度、相應(yīng)時間吞吐量(2)性能需求軟件開發(fā)的技術(shù)性指標(biāo)(3)環(huán)境需求硬件設(shè)備:機(jī)型、外設(shè)、接口、地點、分布、溫度、濕度、磁場干擾等軟件:操作系統(tǒng)網(wǎng)絡(luò)數(shù)據(jù)庫(3)環(huán)境需求硬件設(shè)備:機(jī)型、外設(shè)、接口、(4)界面需求界面元素

用戶角色界面原型

(4)界面需求界面元素(5)用戶或人的因素

用戶類型?各種用戶熟練程度?需受何種訓(xùn)練?用戶理解、使用系統(tǒng)的難度?用戶錯誤操作系統(tǒng)的可能性?(5)用戶或人的因素用戶類型?(6)文檔需求

需哪些文檔?文檔針對哪些讀者?(6)文檔需求需哪些文檔?(7)數(shù)據(jù)需求

輸入、輸出數(shù)據(jù)的格式?接收、發(fā)送數(shù)據(jù)的頻率?數(shù)據(jù)的準(zhǔn)確性和精度?數(shù)據(jù)需保持的時間?(7)數(shù)據(jù)需求輸入、輸出數(shù)據(jù)的格式?(8)資源需求

軟件運行時所需的數(shù)據(jù)、軟件。軟件開發(fā)、維護(hù)所需的人力、支撐軟件、開發(fā)設(shè)備等。(8)資源需求軟件運行時所需的數(shù)據(jù)、軟件。(9)安全保密要求需對訪問系統(tǒng)或系統(tǒng)信息加以控制嗎?如何隔離用戶之間的數(shù)據(jù)?用戶程序如何與其它程序和操作系統(tǒng)隔離?系統(tǒng)備份要求?(9)安全保密要求需對訪問系統(tǒng)或系統(tǒng)信息加以控(10)軟件成本消耗與開發(fā)進(jìn)度需求開發(fā)有規(guī)定的時間表嗎?軟硬件投資有無限制?(10)軟件成本消耗與開發(fā)進(jìn)度需求開發(fā)有規(guī)定的時間表嗎?(11)質(zhì)量保證

系統(tǒng)的可靠性要求?系統(tǒng)必須監(jiān)測和隔離錯誤嗎?規(guī)定系統(tǒng)平均出錯時間?出錯后,重啟系統(tǒng)允許的時間?系統(tǒng)變化如何反映到設(shè)計中?維護(hù)是否包括對系統(tǒng)的改進(jìn)?系統(tǒng)的可移植性?(11)質(zhì)量保證系統(tǒng)的可靠性要求?SOFTWAREENGINEERING與用戶溝通獲取需求的方法1訪談:正式的和非正式2面向數(shù)據(jù)流自頂向下求精

需求分析的目標(biāo)之一就是把數(shù)據(jù)量和數(shù)據(jù)存儲定義到元素級3簡易的應(yīng)用規(guī)格說明技術(shù)

提倡用戶與開發(fā)者密切合作,共同標(biāo)識問題,提出解決方案,商討不同方案并制定基本需求4快速建立軟件原型系統(tǒng)SOFTWAREENGINEERING與用戶溝通獲取需求的SOFTWAREENGINEERING§3.3分析建模與規(guī)格說明3.3.1分析建模模型:為了理解事物而對事物作出的一種抽象,是對事物的一種無歧義的書面描述。需求分析過程需建立三種模型:數(shù)據(jù)模型,功能模型和行為模型。數(shù)據(jù)模型---ER圖功能模型---數(shù)據(jù)流圖行為模型----狀態(tài)轉(zhuǎn)換圖SOFTWAREENGINEERING§3.3分析建模與數(shù)據(jù)字典數(shù)據(jù)流圖E-R圖狀態(tài)變遷圖加工規(guī)約控制規(guī)約數(shù)據(jù)對象描述分析模型的結(jié)構(gòu)數(shù)據(jù)數(shù)據(jù)E-R圖狀態(tài)變遷圖加工規(guī)約控制規(guī)約數(shù)據(jù)對描分析模型的SOFTWAREENGINEERING§3.4實體-聯(lián)系圖3.3.1常用的表示概念性數(shù)據(jù)模型的方法:實體—聯(lián)系法(Entity-RelationshipApproach)數(shù)據(jù)對象屬性聯(lián)系SOFTWAREENGINEERING§3.4實體-聯(lián)系SOFTWAREENGINEERING某校教學(xué)管理ER圖SOFTWAREENGINEERING某校教學(xué)管理ER圖SOFTWAREENGINEERING§3.5范式用范式(NormalForms)定義消除數(shù)據(jù)冗余的程度。第一范式:每個屬性都是原子級的,不含內(nèi)部結(jié)構(gòu)第二范式:滿足第一范式條件,且每個非關(guān)鍵字屬性都由整個關(guān)鍵字決定第三范式:符合第二范式,且每個非關(guān)鍵字屬性僅由整個關(guān)鍵字決定SOFTWAREENGINEERING§3.5范式用范SOFTWAREENGINEERING§3.5范式說明:(1)范式級別越高,存儲同樣數(shù)據(jù)就需要分解成更多張表,因此“存儲自身”的過程也就越復(fù)雜。(2)隨著范式級別的提高,數(shù)據(jù)的存儲結(jié)構(gòu)與基于問題域的結(jié)構(gòu)間的匹配程度也隨之下降,因此,在需求變化時數(shù)據(jù)的穩(wěn)定性較差。(3)范式級別提高,則需要訪問的表增多,因此性能(速度)下降。從實用角度看,在大多數(shù)場合選用第三范式都比較恰當(dāng)。SOFTWAREENGINEERING§3.5范式說明例題-軟考2009下午某集團(tuán)公司下有多家連鎖超市,公司需要建立一個數(shù)據(jù)庫管理系統(tǒng)以方便管理其業(yè)務(wù)運作活動。1.商場需要記錄的信息包括商場編號、商場名稱,地址和聯(lián)系電話。2.每個商場含有不同的部門,部門需要記錄的信息包括部門編號,部門名稱、位置分布和聯(lián)系電話3.每個部門雇傭多名員工進(jìn)行日常業(yè)務(wù)管理,每名員工只能隸屬于一個部門。員工信息包括,員工編號,員工姓名,崗位、電話號碼和工資4.每個部門的員工中有一名是經(jīng)理,每個經(jīng)理只能管理一個部門,系統(tǒng)需要記錄每個經(jīng)理的任職時間SOFTWAREENGINEERING例題-軟考2009下午某集團(tuán)公司下有多家連鎖超市,公司需要建SOFTWAREENGINEERING§3.6狀態(tài)轉(zhuǎn)換圖狀態(tài)—是任何可以被觀察到的系統(tǒng)行為模式,一個狀態(tài)代表系統(tǒng)的一種行為模式。事件—是在某個特定時刻發(fā)生的事情,它是對引起系統(tǒng)做動作或從一個狀態(tài)轉(zhuǎn)換到另一個狀態(tài)的外界事件的抽象。SOFTWAREENGINEERING§3.6狀態(tài)轉(zhuǎn)換SOFTWAREENGINEERING狀態(tài)圖中使用的主要符號SOFTWAREENGINEERING狀態(tài)圖中使用的主要符3.狀態(tài)轉(zhuǎn)換圖(STD)描述軟件狀態(tài)變遷符號表示矩形---系統(tǒng)狀態(tài)箭頭---狀態(tài)轉(zhuǎn)變方向規(guī)則表達(dá)式---事件/觸發(fā)行為狀態(tài)1狀態(tài)2事件/觸發(fā)行為3.狀態(tài)轉(zhuǎn)換圖(STD)描述軟件狀態(tài)變遷狀態(tài)1狀態(tài)2事件閑置撥號音do:響撥號音超時do:響蜂鳴音存儲的信息do:播放信息接通中do:試接通振鈴do:振鈴撥號通話斷線忙音do:響忙音掛斷電話掛斷電話拿起話筒超時無效號碼有效號碼超時數(shù)字?jǐn)?shù)字占線已接通受話人回話受話人掛斷電話信息播完閑置撥號音超時存儲的信息接通中振鈴撥號通話斷線忙音掛斷電話掛SOFTWAREENGINEERING作業(yè):用狀態(tài)轉(zhuǎn)換圖描繪下述行為復(fù)印機(jī)的工作過程大致如下:未接到復(fù)印命令時處于閑置狀態(tài),一旦接到復(fù)印命令則進(jìn)入復(fù)印狀態(tài),完成一個復(fù)印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個復(fù)印命令;如果執(zhí)行復(fù)印命令時發(fā)現(xiàn)沒紙,則進(jìn)入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后,進(jìn)入閑置狀態(tài),準(zhǔn)備接收復(fù)印命令;如果復(fù)印時發(fā)生卡紙故障,則進(jìn)入卡紙狀態(tài),發(fā)出警告等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。SOFTWAREENGINEERING作業(yè):用狀態(tài)轉(zhuǎn)換圖描SOFTWAREENGINEERING§3.7圖形工具3.7.1層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。樹形結(jié)構(gòu)的頂層是一個單獨的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面各層的矩形框代表這個數(shù)據(jù)的子集,最底層的各個框代表組成這個數(shù)據(jù)的實際數(shù)據(jù)元素(不能再分割的元素)。SOFTWAREENGINEERING§3.7圖形工具3SOFTWAREENGINEERING例題某計算機(jī)公司的產(chǎn)品由硬件、軟件和服務(wù)三類產(chǎn)品組成。硬件又包括處理機(jī)、存儲器和外部設(shè)備等。軟件產(chǎn)品又分為系統(tǒng)軟件和應(yīng)用軟件,系統(tǒng)軟件又進(jìn)一步分為操作系統(tǒng)、編譯程序和軟件工具等。服務(wù)包括軟件服務(wù)、硬件維護(hù)和培訓(xùn)等。SOFTWAREENGINEERING例題某計算機(jī)公司的產(chǎn)SOFTWAREENGINEERING層次方框

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論