第二講可行性研究與需求分析課件_第1頁
第二講可行性研究與需求分析課件_第2頁
第二講可行性研究與需求分析課件_第3頁
第二講可行性研究與需求分析課件_第4頁
第二講可行性研究與需求分析課件_第5頁
已閱讀5頁,還剩205頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二講可行性研究與需求分析軟件計劃與可行性研究軟件系統(tǒng)需求分析1第二講可行性研究與需求分析軟件計劃與可行性研究1本章主要內(nèi)容:

軟件可行性的內(nèi)容和步驟,軟件需求分析的步驟:需求獲取、分析建模、文檔編,結(jié)構(gòu)分析方法建立分析模型的描述工具及建立過程;同時給出文檔編寫規(guī)范與實例供學(xué)習(xí)參考。本章重點:軟件需求分析的任務(wù)與步驟;結(jié)構(gòu)分析方法建立分析模型的描述工具及建立過程。本章難點:結(jié)構(gòu)分析方法建立分析模型的描述工具及建立過程?;疽螅赫莆栈靖拍睿⊿A,SRS,DFD,DD)和SA方法,會寫可行行分析報告,項目開發(fā)計劃和軟件需求說明書

2本章主要內(nèi)容:

軟件可行性的內(nèi)容和步驟,軟件需2.1軟件計劃與可行性研究一、目的確定軟件項目是否能夠開發(fā)?是否值得去開發(fā)?輸出:可行性研究報告成本—效益分析項目開發(fā)計劃

32.1軟件計劃與可行性研究一、目的確定軟件項目是否能夠開發(fā)

對每種解決方法,可從以下三個方面分析研究每種解決方法的可行性。1.技術(shù)可行性2.經(jīng)濟可行性3.社會可行性二、內(nèi)容4對每種解決方法,可從以下三個方面分析研究每種解決方法的可1.技術(shù)可行性對要開發(fā)項目的功能、性能、限制條件進行分析,確定在現(xiàn)有的資源條件下,技術(shù)風(fēng)險有多大,項目是否能實現(xiàn)。資源:已有的或可以獲得的硬件、軟件資源現(xiàn)有技術(shù)人員的技術(shù)水平已有的工作基礎(chǔ)。51.技術(shù)可行性52.經(jīng)濟可行性進行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項目是否值得投資開發(fā)?經(jīng)濟可行性:成本—效益分析公司經(jīng)營長期策略開發(fā)所需的成本和資源潛在的市場前景62.經(jīng)濟可行性63.社會可行性要開發(fā)的項目是否存在任何侵犯、妨礙等責(zé)任問題?要開發(fā)項目的運行方式在用戶組織內(nèi)是否行得通?現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行?73.社會可行性71.明確系統(tǒng)目標(biāo)2.研究正在使用的系統(tǒng)3.設(shè)計新系統(tǒng)的概括的邏輯模型4.導(dǎo)出和評價各種方案5.推薦可行的方案6.編寫可行性研究報告三、可行性研究的具體步驟81.明確系統(tǒng)目標(biāo)三、可行性研究的具體步驟8五、可行性研究報告內(nèi)容1.引言2.可行性研究前提3.對現(xiàn)有系統(tǒng)的分析4.所建議系統(tǒng)的技術(shù)可行性分析5.所建議系統(tǒng)的經(jīng)濟可行性分析6.社會因素的可行性分析7.其他可供選擇方案8.結(jié)論意見。9五、可行性研究報告內(nèi)容1.引言91.引言

1.1編寫目的闡明編寫可行行研究報告的目的,指出讀者對象

1.2項目背景包括:所建議開發(fā)軟件的名稱;項目的任務(wù)提出者、開發(fā)者、用戶等;項目與其它軟件或系統(tǒng)的關(guān)系1.3定義項目中專門術(shù)語和縮寫詞的含義

1.4參考資料101.引言10

2.可行性研究前提2.1要求列出建議開發(fā)軟件的基本要求,如功能,性能,輸入,輸出,基本的數(shù)據(jù)流程和處理流程,安全保密要求,完成期限等2.2目標(biāo)可包括:人力與設(shè)備費用的節(jié)??;處理速度的提高控制精度或生產(chǎn)能力的提高;管理信息服務(wù)的該進,人員工作效率的提高2.3條件、假定和限制可包括經(jīng)費來源和限制,法律政策方面的限制,環(huán)境限制,可利用的信息資源112.可行性研究前提112.4可行性研究方法2.5決定可性行的主要因素3.對現(xiàn)有系統(tǒng)的分析3.1處理流程和數(shù)據(jù)流程3.2工作負荷3.3費用支出3.4人員3.5設(shè)備3.6局限性(現(xiàn)有系統(tǒng)存在的問題,為什么需要開發(fā)新的系統(tǒng)122.4可行性研究方法124、所建議技術(shù)可行性分析4.1對系統(tǒng)的簡要描述4.2處理流程和數(shù)據(jù)流程4.3與現(xiàn)有系統(tǒng)比較的優(yōu)越性4.4采用建議系統(tǒng)可能帶來的影響4.5技術(shù)可行性評價134、所建議技術(shù)可行性分析135.所建議系統(tǒng)經(jīng)濟可行性分析

5.1支出(基建投資,其它一次性支出,經(jīng)常性指出)5.2效益(一次性收益,經(jīng)常性收益,不可定量收益)5.3收益投資比5.4投資回收周期5.5敏感性分析145.所建議系統(tǒng)經(jīng)濟可行性分析146.社會因素的可行性分析6.1法律因素6.2用戶使用可行性7.其它可供選擇的方案8.結(jié)論意見可能是:可著手組織開發(fā);待若干條件成熟后開發(fā);要修改目標(biāo);經(jīng)濟上不核算等

156.社會因素的可行性分析15此外,在這個階段還要寫出“項目開發(fā)計劃”引言項目概述實施計劃人員組織分工交付期限專題計劃要點16此外,在這個階段還要寫出“項目開發(fā)計劃”166.2軟件系統(tǒng)需求分析需求分析概念結(jié)構(gòu)化分析方法需求分析規(guī)格說明書的組成176.2軟件系統(tǒng)需求分析需求分析概念171.什么是需求分析是指開發(fā)人員要準(zhǔn)確理解用戶的要求,進行細致的調(diào)查分析,將用戶非形式的需求陳述轉(zhuǎn)化為完整的需求定義,再由需求定義轉(zhuǎn)換到相應(yīng)的形式功能規(guī)約(需求規(guī)格說明)的過程。一.需求分析概念181.什么是需求分析一.需求分析概念18軟件開發(fā)是要實現(xiàn)目標(biāo)系統(tǒng)的物理模型。需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng)“做什么”的問題。目標(biāo)系統(tǒng)當(dāng)前系統(tǒng)物理模型邏輯模型模型化抽象化物理模型邏輯模型具體化實例化理解需求導(dǎo)出怎么做做什么19軟件開發(fā)是要實現(xiàn)目標(biāo)系統(tǒng)的物理模型。需求分析的任務(wù)就是借助于是要準(zhǔn)確地定義新系統(tǒng)的目標(biāo),滿足用戶需要?;卮鹣到y(tǒng)必須“做什么”的問題。本階段要進行以下幾方面的工作:(1)分析人員和用戶對問題識別,雙方商定對問題的綜合需求。包括:功能需求、性能需求、環(huán)境需求和用戶界面需求。另外還有可靠性、安全性、保密性、可移植性、可維護性等方面的需求.

這些需求一般通過雙方交流、調(diào)查研究來獲取,并達到共同的理解。2.需求分析的基本任務(wù)20是要準(zhǔn)確地定義新系統(tǒng)的目標(biāo),滿足用戶需要?;卮鹣到y(tǒng)必須“做什(1)分析人員和用戶對問題識別,雙方商定對問題的綜合需求。包括:功能需求、性能需求、環(huán)境需求和用戶界面需求。另外還有可靠性、安全性、保密性、可移植性、可維護性等方面的需求.

21(1)分析人員和用戶對問題識別,雙方商定對問題的綜合需求(2)分析與綜合,導(dǎo)出軟件的邏輯模型。

分析人員對獲取的需求,進行一致性的分析檢查,在分析、綜合中逐步細化軟件功能,劃分成各個子功能。包括:對數(shù)據(jù)域進行分解,并分配到各個子功能上,以確定系統(tǒng)的構(gòu)成及主要成分,并用圖文結(jié)合的形式,建立起新系統(tǒng)的邏輯模型。22(2)分析與綜合,導(dǎo)出軟件的邏輯模型。22(3)編寫文檔。文檔:需求規(guī)格說明書初步用戶使用手冊確認測試計劃23(3)編寫文檔。23常用的分析方法面向數(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)開發(fā)方法(DSSD)面向?qū)ο蟮姆治龇椒?OOA)等24常用的分析方法面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA)24二.結(jié)構(gòu)化分析方法

結(jié)構(gòu)化分析(StructuredAnalysis,簡稱SA),是面向數(shù)據(jù)流進行需求分析的方法。SA是一種建?;顒樱摲椒ㄊ褂煤唵我鬃x符號,根據(jù)軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,描繪出滿足功能需求的軟件模型。25二.結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析(StructuredA

SA方法利用圖形等半形式化的描述方式表達需求,用它們形成需求說明書中的主要部分。描述工具是:1.數(shù)據(jù)流圖(DFD)2.描述加工邏輯的工具:結(jié)構(gòu)化語言、判定表、判定樹3.數(shù)據(jù)字典4.實體-聯(lián)系圖(E-R)5.層次方框圖26SA方法利用圖形等半形式化的描述方式表達需求,用它們結(jié)構(gòu)化分析方法最初只是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。擴充后,將建模技術(shù)擴展到數(shù)據(jù)建模、功能建模和行為建模,以實體-關(guān)系圖、數(shù)據(jù)流圖和控制流圖、狀態(tài)-遷移圖為工具,數(shù)據(jù)字典為核心,從不同視點建立系統(tǒng)的分析模型。27結(jié)構(gòu)化分析方法最初只是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立結(jié)構(gòu)化分析的分析模型實體—關(guān)系圖狀態(tài)—遷移圖數(shù)據(jù)流圖數(shù)據(jù)對象描述加工規(guī)格說明數(shù)據(jù)字典控制規(guī)格說明28結(jié)構(gòu)化分析的分析模型實體—狀態(tài)—遷移圖數(shù)據(jù)流圖數(shù)據(jù)對象描述加

SA方法利用圖形等半形式化的描述方式表達需求,用它們形成需求說明書中的主要部分。描述工具是:1.數(shù)據(jù)流圖(DFD)2.描述加工邏輯的工具:結(jié)構(gòu)化語言、判定表、判定樹3.數(shù)據(jù)字典4.實體-聯(lián)系圖(E-R)5.層次方框圖29SA方法利用圖形等半形式化的描述方式表達需求,用它1數(shù)據(jù)流圖(DFD)

任何軟件系統(tǒng)從根本上都是對數(shù)據(jù)的加工或變換的工具。當(dāng)數(shù)據(jù)在軟件系統(tǒng)中移動時,它將被一系列“變換”所修改。(1)什么是數(shù)據(jù)流圖數(shù)據(jù)流圖(DFD)就是描述信息流和數(shù)據(jù)從移動到輸出的過程中所經(jīng)受的變換的圖形化技術(shù)。

數(shù)據(jù)流圖(DataFlowDiam),是SA方法中用于表示系統(tǒng)邏輯模型的一種工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,在DFD圖中出現(xiàn)的每個功能都會寫在加工說明(ProcessSpecification,PSPEC)中,它們一起構(gòu)成功能模型。301數(shù)據(jù)流圖(DFD)任何軟件系統(tǒng)從根本上它可表現(xiàn)的范圍可大到整個系統(tǒng),小到一個模塊。在需求分析中常用一組DFD圖由粗到精地表示同一軟件在不同抽象級別上的功能,這就是分層數(shù)據(jù)流圖31它可表現(xiàn)的范圍可大到整個系統(tǒng),小到一個模塊。分層的數(shù)據(jù)流圖32分層的數(shù)據(jù)流圖32

(2)數(shù)據(jù)流圖的作用:需求分析時,作為自頂向下的工具描述系統(tǒng)組成部分為技術(shù)員、用戶間交流提供有力方法33(2)數(shù)據(jù)流圖的作用:33(3)數(shù)據(jù)流圖組成數(shù)據(jù)流圖由數(shù)據(jù)流、加工(又稱為數(shù)據(jù)處理)、數(shù)據(jù)存儲(又稱為文件)、數(shù)據(jù)源點或終點四種基本成分組成。數(shù)據(jù)流:加工:數(shù)據(jù)存儲:數(shù)據(jù)源點、終點:34(3)數(shù)據(jù)流圖組成數(shù)據(jù)流圖由數(shù)據(jù)流、加工(又稱為數(shù)據(jù)處理)加工1加工1加工1數(shù)據(jù)流1數(shù)據(jù)流2數(shù)據(jù)流3數(shù)據(jù)流6數(shù)據(jù)流5數(shù)據(jù)流4圖2-1DFD基本形式數(shù)據(jù)流加工數(shù)據(jù)存儲數(shù)據(jù)源和終點圖2-2DFD的基本組成35加工1加工1加工1數(shù)據(jù)流1數(shù)據(jù)流2數(shù)據(jù)流3數(shù)據(jù)流6數(shù)據(jù)流5數(shù)有A則有B或C,或者兩者都有有A則有B與C,兩者同時有有A則有B或C,但不會兩者同時有當(dāng)A或B之一存在,就有C當(dāng)A或B都存在才有CABC*ABC*ABC⊕ABCABC圖2-3多個數(shù)據(jù)流加工符號36有A則有B或C,或者兩者都有有A則有B與C,兩者同時有有A圖2-4描述銀行取款過程的數(shù)據(jù)流圖【例2-1】數(shù)據(jù)流圖實例:銀行取款過程37圖2-4描述銀行取款過程的數(shù)據(jù)流圖【例2-1】數(shù)據(jù)流圖2-5高校學(xué)生收費系統(tǒng)數(shù)據(jù)流圖學(xué)生信息表單據(jù)交費發(fā)票學(xué)生學(xué)生審查開發(fā)票1開單據(jù)2交費申請休學(xué)通知資源信息表【例2-2】高校學(xué)生收費系統(tǒng)數(shù)據(jù)流圖38圖2-5高校學(xué)生收費系統(tǒng)數(shù)據(jù)流圖學(xué)生信息表單交費學(xué)生學(xué)生審【例2-3】考務(wù)處理系統(tǒng)的功能(1)對考生送來的報名單進行檢查;(2)對合格的報名單編好準(zhǔn)考證號后將準(zhǔn)考證送給考生,并將匯總后的考生名單送給閱卷站;(3)對閱卷站送來的成績單進行檢查,并根據(jù)考試中心制定的合格標(biāo)準(zhǔn)審定合格者;(4)制作考生通知單(含成績及合格/不合格標(biāo)志)送給考生;(5)按地區(qū)進行成績分類統(tǒng)計和試題難度分析,產(chǎn)生統(tǒng)計分析表。39【例2-3】考務(wù)處理系統(tǒng)的功能(1)對考生送來的報名單進行根據(jù)考務(wù)處理業(yè)務(wù),畫出頂層數(shù)據(jù)流圖,以反映最主要業(yè)務(wù)處理流程及系統(tǒng)與外界的關(guān)系。經(jīng)過分析,考務(wù)業(yè)務(wù)處理的主要功能應(yīng)當(dāng)有登記報名單、統(tǒng)計成績兩個主要數(shù)據(jù)流。輸入的源點和輸出終點是考生、考試中心和閱卷站。然后從輸入端開始,根據(jù)考務(wù)業(yè)務(wù)工作流,畫出數(shù)據(jù)流流經(jīng)的各加工框,逐步畫到輸出端,得到第0層數(shù)據(jù)流圖。40根據(jù)考務(wù)處理業(yè)務(wù),畫出頂層數(shù)據(jù)流圖,以反映最主要業(yè)務(wù)處理流程頂層數(shù)據(jù)流圖考生考務(wù)處理系統(tǒng)考試中心閱卷站不合格報名表報名表準(zhǔn)考證考生通知單成績單合格標(biāo)準(zhǔn)錯誤成績單考生名單統(tǒng)計分析表41頂層數(shù)據(jù)流圖考考務(wù)考閱卷站不合格報名表報名表準(zhǔn)考證考生通知單報名表準(zhǔn)考證1登記報名表2統(tǒng)計成績不合格報名表考生通知單成績單統(tǒng)計分析表第0層數(shù)據(jù)流圖考生名冊合格標(biāo)準(zhǔn)考生名單錯誤成績單42報名表準(zhǔn)考證12不合格考生通知單成績單統(tǒng)計分析表第0層數(shù)據(jù)流第一層數(shù)據(jù)流圖(a)1.1

檢查報名表報名表準(zhǔn)考證1.2編準(zhǔn)考證號碼不合格報名表考生名冊考生名單合格報名表1.3登記考生合格報名表43第一層數(shù)據(jù)流圖(a)1.1報名表準(zhǔn)考證1.2不合格考生名第一層數(shù)據(jù)流圖(b)2.1檢查成績單2.2審定合格者考生名冊正確成績單2.3制作通知單2.4分析統(tǒng)計成績2.5分析試題難度試題得分表考生通知單難度分析表合格標(biāo)準(zhǔn)分類統(tǒng)計表成績單錯誤成績單經(jīng)審定的成績單44第一層數(shù)據(jù)流圖(b)2.12.2考生名冊正確2.32.42基本加工邏輯說明

對數(shù)據(jù)流圖的每一個基本加工,必須有一個基本加工邏輯說明描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則描述實現(xiàn)加工的策略而不是實現(xiàn)加工的細節(jié)包含的信息應(yīng)是充足的,完備的,有用的,無冗余的45基本加工邏輯說明對數(shù)據(jù)流圖的每一個基本加工,必須有一個基本2、用于寫加工邏輯說明的工具結(jié)構(gòu)化語言判定表判定樹462、用于寫加工邏輯說明的工具結(jié)構(gòu)化語言46(1)結(jié)構(gòu)化語言是一種介于自然語言和形式化語言之間的語言由:英語命令動詞數(shù)據(jù)詞典中定義的名字有限的自定義詞邏輯關(guān)系詞

IF_THEN_ELSE、CASE_OF、WHILE_DO、

REPEAT_UNTIL等組成。47(1)結(jié)構(gòu)化語言是一種介于自然語言和形式化語言之間的語言47其基本控制結(jié)構(gòu)有三種:簡單陳述句結(jié)構(gòu):避免復(fù)合語句;重復(fù)結(jié)構(gòu):while_do

repeat_until結(jié)構(gòu)。判定結(jié)構(gòu):if_then_else

case_of結(jié)構(gòu);4848【例2-3】商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”if發(fā)貨單金額超過$500then

if欠款超過了60天then在償還欠款前不予批準(zhǔn)

else

(欠款未超期)發(fā)批準(zhǔn)書,發(fā)貨單

else

(發(fā)貨單金額未超過$500)

if欠款超過60天then發(fā)批準(zhǔn)書,發(fā)貨單及賒欠報告else

(欠款未超期)發(fā)批準(zhǔn)書,發(fā)貨單

49【例2-3】商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”if發(fā)貨單金額(2)判定表如果數(shù)據(jù)流圖的加工需要依賴于多個邏輯條件的取值,使用判定表來描述比較合適條件定義條件取值的組合動作定義在各種取值的組合下應(yīng)執(zhí)行的動作50(2)判定表如果數(shù)據(jù)流圖的加工需要依賴于多個邏輯條件的取值,以“檢查發(fā)貨單”為例51以“檢查發(fā)貨單”為例51(3)判定樹—判定表的圖形表示判定樹也是用來表達加工邏輯的一種工具。有時侯它比判定表更直觀。檢查發(fā)貨單金額>$500金額$500欠款>60天不發(fā)出批準(zhǔn)書欠款60天發(fā)貨單發(fā)出批準(zhǔn)書、欠款>60天發(fā)出批準(zhǔn)書、發(fā)貨單及賒欠報告欠款60天發(fā)出批準(zhǔn)書、發(fā)貨單52(3)判定樹—判定表的圖形表示判定樹也是用來表達加工邏輯的一

(1)數(shù)據(jù)詞典的概念數(shù)據(jù)詞典(DataDictionary,簡稱DD)就是用來定義數(shù)據(jù)流圖中的各個成分的具體含義的。對數(shù)據(jù)流圖中出現(xiàn)的每一個數(shù)據(jù)流、文件、加工給出詳細定義。(2)數(shù)據(jù)字典組成主要有四類條目:數(shù)據(jù)流、數(shù)據(jù)項、數(shù)據(jù)存儲、基本加工。數(shù)據(jù)項是組成數(shù)據(jù)流和數(shù)據(jù)存儲的最小元素。3.數(shù)據(jù)字典(DD)53(1)數(shù)據(jù)詞典的概念(2)數(shù)據(jù)字典組成3.數(shù)據(jù)字典((3)數(shù)據(jù)字典詞條內(nèi)容表數(shù)據(jù)項/數(shù)據(jù)流/數(shù)據(jù)文件名稱:別名:取消及定義:組成:組織:備注:54(3)數(shù)據(jù)字典詞條內(nèi)容表數(shù)據(jù)項/數(shù)據(jù)流/數(shù)據(jù)文件54【例2-4】:計算機售書系統(tǒng)模型

55【例2-4】:計算機售書系統(tǒng)模型55售書系統(tǒng)數(shù)據(jù)流詞條實例:發(fā)票

數(shù)據(jù)流名:發(fā)票別名:購書發(fā)票組成:學(xué)號+姓名+{書號+單價+數(shù)量+總價}+書費合計備

注:56售書系統(tǒng)數(shù)據(jù)流詞條實例:發(fā)票數(shù)據(jù)流名:發(fā)票56數(shù)據(jù)文件詞條實例:各班學(xué)生用書表文件名:各班學(xué)生用書表別名:組成:{系編號+專業(yè)和班級編號+年級+{書號}}組織:按系、專業(yè)和班編號從小到大排列備注:57數(shù)據(jù)文件詞條實例:各班學(xué)生用書表文件名:各班學(xué)生用書表57【例2.5】為例2-4文件“學(xué)生信息表”編寫字典條目。解:“學(xué)生信息表”字典條目如下:文件名:學(xué)生信息表組成:系編號+專業(yè)編號+類別編號+班編號+年級+宿舍編號+用書記錄編號組織:按系、專業(yè)、類別、班級從小到大排列備注:58【例2.5】為例2-4文件“學(xué)生信息表”編寫字典條目。文件名

數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的集合,也是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。它的作用是對軟件中的每個數(shù)據(jù)規(guī)定一個定義條目,在軟件分析和設(shè)計過程中提供相關(guān)數(shù)據(jù)的描述信息,以保持數(shù)據(jù)在系統(tǒng)中的一致性。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)字典數(shù)據(jù)流圖就不嚴格,沒有數(shù)據(jù)流圖數(shù)據(jù)字典也難于發(fā)揮作用。只有數(shù)據(jù)流圖和對數(shù)據(jù)流圖中每個元素的定義放在一起,才能構(gòu)成系統(tǒng)的規(guī)格說明59數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的集合,也是對數(shù)據(jù)流圖中包含的所4.實體-聯(lián)系圖(E-R)

為了把用戶的數(shù)據(jù)要求清楚、準(zhǔn)確地描述出來,系統(tǒng)分析員通常建立一個概念模型。概念模型是面向問題的數(shù)據(jù)模型,是按照用戶的觀點對數(shù)據(jù)建立模型。在需求分析模型建立過程中,使用實體-關(guān)系圖(E-R圖)來建立數(shù)據(jù)模型。它描述了從用戶的角度看到的數(shù)據(jù),反映了用戶的現(xiàn)實環(huán)境,而與在軟件系統(tǒng)中的實現(xiàn)方法無關(guān)。數(shù)據(jù)模型包含三種相互關(guān)聯(lián)的信息:實體(數(shù)據(jù)對象)、屬性及聯(lián)系。604.實體-聯(lián)系圖(E-R)為了把用戶的數(shù)據(jù)要求(1)實體

E-R圖中的實體對應(yīng)于客觀世界中的存在的人或物,又稱為數(shù)據(jù)對象。數(shù)據(jù)對象可以是外部實體(如產(chǎn)生或使用信息的任何事物),行為(如開發(fā)票)、角色(如學(xué)生、教師),單位(如計算機系、會計科),結(jié)構(gòu)(如文件)等,是由一組屬性來描述的實體。實體之間是相互聯(lián)系的,與其它實體沒有聯(lián)系的實體是沒有意義的。在E-R圖中通常用矩形框表示實體。61(1)實體61(2)屬性

屬性定義了實體的性質(zhì),實體可以由一個或多個屬性定義為“標(biāo)識符”,用來區(qū)分不同的實體。根據(jù)對所要解決的問題的理解來確定屬性。如要開發(fā)高校學(xué)生收費系統(tǒng),描述學(xué)生可以用學(xué)號、姓名、性別、入學(xué)日期、所在系別、學(xué)生類別、所在班級等屬性。常用二維表的形式表示相關(guān)屬性在E-R圖中通常用橢圓形或圓角矩形表示屬性。62(2)屬性62(3)聯(lián)系客觀世界中的事物是相互聯(lián)系的。如學(xué)生與教師存在教與被教、系與學(xué)生的管理與被管理的聯(lián)系。這種聯(lián)系有三種不同的類型:一對一(如院長與學(xué)院的聯(lián)系)、一對多(如系與學(xué)生的聯(lián)系)和多對多(學(xué)生與課程間的聯(lián)系)。在E-R圖中通常用連接相關(guān)實體的菱形框表示聯(lián)系。如下圖給出三種聯(lián)系的示意圖:63(3)聯(lián)系63院長管理學(xué)院111:1聯(lián)系圖2-6E-R模型中的三種聯(lián)系系管理學(xué)生1M1:M聯(lián)系學(xué)生授課課程MNM:N聯(lián)系64院長管理學(xué)院111:1聯(lián)系圖2-6E-R模型中的三種聯(lián)系系5.層次方框圖

層次方框圖是用結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。樹形結(jié)構(gòu)的頂層是一個單獨的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表這個數(shù)據(jù)的子集,最底層的各個框代表組成這個數(shù)據(jù)的實際數(shù)據(jù)元素(不能再分割的元素)。

655.層次方框圖層次方框圖是用結(jié)構(gòu)的一系列多層次的矩

隨著結(jié)構(gòu)的精細化,層次方框圖對數(shù)據(jù)結(jié)構(gòu)描繪得越來越詳細,這種非常適合于需求分析階段的需要。系統(tǒng)分析員從對頂層信息的分類開始,沿圖中每條路徑反復(fù)細化,直到確定數(shù)據(jù)結(jié)構(gòu)的全部細節(jié)為止。見例2.6:用層次方框圖描述某計算機公司全部產(chǎn)品的數(shù)據(jù)結(jié)構(gòu)。66隨著結(jié)構(gòu)的精細化,層次方框圖對數(shù)據(jù)結(jié)構(gòu)描繪得圖2-6層次方框圖實例軟件硬件服務(wù)處理機存儲器外部設(shè)備培訓(xùn)硬件編修軟件服務(wù)產(chǎn)品操作系統(tǒng)編譯程序軟件工具系統(tǒng)軟件應(yīng)用軟件67圖2-6層次方框圖實例軟件硬件服務(wù)處理機存儲器外部設(shè)備培訓(xùn)三、結(jié)構(gòu)化分析方法的步驟概念畫出分層數(shù)據(jù)流圖確定數(shù)據(jù)定義與加工策略復(fù)審68三、結(jié)構(gòu)化分析方法的步驟概念681.概念結(jié)構(gòu)化分析方法(SA)是面向數(shù)據(jù)流進行需求分析的方法,是20世紀(jì)70年代末提出并發(fā)展,適合于數(shù)據(jù)處理類型軟件的需求分析方法。具體來說,結(jié)構(gòu)化分析方法就是按照功能分解的原則,根據(jù)軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足所有功能要求的可實現(xiàn)的邏輯模型為止。691.概念692.結(jié)構(gòu)分析方法主要工具:數(shù)據(jù)流圖、數(shù)據(jù)字典、結(jié)構(gòu)化語言、判定表與判定樹等幾個工具。3.主要步驟為:

由頂向下對系統(tǒng)進行功能分解,畫出分層數(shù)據(jù)流圖;由后向前定義系統(tǒng)的數(shù)據(jù)和加工,確定加工策略和形成數(shù)據(jù)字典,編寫需求說明書;進行需求分析復(fù)審。702.結(jié)構(gòu)分析方法主要工具:703.畫出分層數(shù)據(jù)流圖

從系統(tǒng)的基本模型,逐層地對系統(tǒng)進行分解。每分解一次,系統(tǒng)的加工數(shù)量就會增多一些,每個加工的功能也就更具體一些。繼續(xù)重復(fù)分解,直到所有的加工都足夠簡單,不必再分解為止。這種不需要再分解的加工就是我們常說的“基本加工”。通過這種分解,對所分析的系統(tǒng)將獲得一組分層次的數(shù)據(jù)流圖,用以代替一張含有系統(tǒng)全部加工的總數(shù)據(jù)流圖。具體步驟如下:713.畫出分層數(shù)據(jù)流圖從系統(tǒng)的基本模型,逐層地具體步驟畫出系統(tǒng)的輸入與輸出畫出系統(tǒng)的內(nèi)部對圖和加工編號檢查復(fù)審72具體步驟畫出系統(tǒng)的輸入與輸出72①畫出系統(tǒng)的輸入與輸出

把整個系統(tǒng)看成是一個加工,根據(jù)系統(tǒng)從外界的哪些源點接受哪些數(shù)據(jù)流,以及系統(tǒng)的哪些數(shù)據(jù)流送到外界的哪些匯點,畫出系統(tǒng)的輸入和輸出圖。這張圖稱為頂層圖。73①畫出系統(tǒng)的輸入與輸出把整個系統(tǒng)看成是一個加工,根據(jù)系②畫出系統(tǒng)的內(nèi)部將頂層圖的加工分解成若干個加工,并用數(shù)據(jù)流將這些加工連接起來,使得頂層圖中的輸入數(shù)據(jù)流經(jīng)一連串的加工處理后變換成頂層的輸出數(shù)據(jù)流,這張圖稱為0層圖。從一個加工畫出一張數(shù)據(jù)流圖的過程就是對這個加工的分解過程。加工方法如下:74②畫出系統(tǒng)的內(nèi)部將頂層圖的加工分解成若干個加工,并在數(shù)據(jù)流的組成或值發(fā)生變化的地方畫一個加工,這個加工功能就是實現(xiàn)這一變化;也可以根據(jù)系統(tǒng)的功能確定加工。當(dāng)用戶把若干數(shù)據(jù)看作一個單位來處理(這些數(shù)據(jù)一起到達,一起加工)時,可把這些數(shù)據(jù)看成一個數(shù)據(jù)流。通??梢园褜嶋H工作中的單據(jù)作為一個數(shù)據(jù)流。對于一些以后某個時間要使用的數(shù)據(jù)可以組織為一個文件75在數(shù)據(jù)流的組成或值發(fā)生變化的地方畫一個加工,這個加工功能就是③對圖和加工編號

父圖與子圖假定分層數(shù)據(jù)流圖里的某張圖(圖A)中的某個加工可用另一張圖(圖B)來分解,我們稱圖A是圖B的父圖,圖B稱為圖A的子圖。在一張圖中,有些加工需要進一步分解,有些加工則不必分解。因此,如果父圖中有n個加工,那么它可以有0至n張子圖(這些子圖位于同一層),但每張子圖僅有唯一的父圖與之對應(yīng)。76③對圖和加工編號父圖與子圖假定分層數(shù)據(jù)流圖里的某張圖(圖編號

頂層圖只能一張,圖中的加工只有一個,不必編號;0層圖只有一張,圖中的加工號分別是0.1、0.2,…或者1,2,….;子圖號就是父圖中被分解的加工號;子圖中的加工號由子圖號、圓點、序號組成。如某圖中的某加工號為2.4.2,這個加工分解出來的子圖號就是圖2.4.2,子圖中的加工號分別為2.4.2.1、2.4.2.2等。77編號77④檢查復(fù)審對系統(tǒng)的分層數(shù)據(jù)流圖畫出后,可根據(jù)以下需要注意的要點檢查復(fù)審,來保證分層數(shù)據(jù)流圖的合理準(zhǔn)確性:命名、加工、文件、保持父圖與子圖的平衡、保持數(shù)據(jù)守恒、分解的速度適當(dāng)。78④檢查復(fù)審對系統(tǒng)的分層數(shù)據(jù)流圖畫出后,可根據(jù)以下需要注意的例2.7

用結(jié)構(gòu)化方法為高校學(xué)生收費系統(tǒng)畫出分層的數(shù)據(jù)流圖(為了比較清楚地說明畫出分層流圖,我們在這里只取本系統(tǒng)的一個子系統(tǒng)教材購銷系統(tǒng))。

79例2.7用結(jié)構(gòu)化方法為高校學(xué)生收費系統(tǒng)

該子系統(tǒng)有如下功能:根據(jù)學(xué)校的教學(xué)計劃,向選課的學(xué)生及時供應(yīng)教材;審查學(xué)生購書單的有效性,對有效書單發(fā)售所需的教材;對屬于計劃供應(yīng)但暫時缺貨的教材進行缺書登記。根據(jù)缺書登記補充采購所缺的教材,通知學(xué)生補購;將缺書登記表匯總為待購計劃;待購教材到貨后,及時通知學(xué)生補購。分析圖見圖2-20、圖2-21、圖2-22。80該子系統(tǒng)有如下功能:80購書單學(xué)生學(xué)生教材購銷系統(tǒng)進書通知領(lǐng)書單缺書單圖2-20教材購銷系統(tǒng)的頂層DFD81購書單學(xué)生學(xué)生教材購銷系統(tǒng)進書通知領(lǐng)書單缺書單圖2-20教進書通知購書單進書通知領(lǐng)書單缺書單圖2-21教材購銷系統(tǒng)的0層DFD學(xué)生學(xué)生1銷售2采購F2缺書登記表F1教材存量表82進書通知購書單進書通知領(lǐng)書單缺書單圖2-21教材購銷系統(tǒng)的發(fā)票發(fā)票暫缺書單領(lǐng)書單有效購書單無效書單進書通知購書單圖2-22教材購銷系統(tǒng)的1層DFD-銷售子系統(tǒng)學(xué)生學(xué)生F2缺書登記表F1教材存量表1.5登記缺書F4售書登記表F3學(xué)生用書表1.6產(chǎn)生補書單1.1審查有效性1.2開發(fā)票1.3打印發(fā)票1.4登記售書打印書單采購補售書單83發(fā)票發(fā)票暫缺書單領(lǐng)書單有效無效書單進書通知購書單圖2-22三、軟件需求說明(SRS)

軟件需求說明(SRSSoftwareRequirementSpecification,又稱軟件規(guī)格說明書)是系統(tǒng)分析人員在需求分析階段需要完成的文檔,是軟件需求分析的最終結(jié)果。它的作用主要是:作為軟件人員與用戶之間事實上的技術(shù)合同說明;作為軟件人員下一步進行設(shè)計和編碼的基礎(chǔ);作為測試和驗收的依據(jù)。84三、軟件需求說明(SRS)軟件需求說明(

SRS必須用統(tǒng)一格式的文檔進行描述,為了使需求分析描述具有統(tǒng)一的風(fēng)格,可以采用已有的且能滿足項目需要的模板,如中國國家標(biāo)準(zhǔn)推薦標(biāo)準(zhǔn)GB9385中描述的SRS模板,也可以根據(jù)項目特點和軟件開發(fā)小組的特點對標(biāo)準(zhǔn)進行適當(dāng)?shù)母膭?,形成自己的模板。軟件需求說明主要內(nèi)容包括:引言、任務(wù)概述、數(shù)據(jù)描述需求規(guī)定、運行環(huán)境規(guī)定、附錄等幾部分。85SRS必須用統(tǒng)一格式的文檔進行描述,為了使需1.引言編寫目的:闡明編寫需求說明書的目的,指出預(yù)期的讀者范圍。項目背景:待開發(fā)的項目名稱及項目的開發(fā)目的;與項目的應(yīng)用相關(guān)的利益目的及最終目標(biāo);項目的委托、開發(fā)單位和主管部門;該軟件系統(tǒng)與其他系統(tǒng)的關(guān)系。定義:列出文檔中所用到的專門術(shù)語的定義和縮寫詞的原義。參考資料:包括項目經(jīng)核準(zhǔn)的計劃任務(wù)書、合同或上級機關(guān)的批文;項目開發(fā)計劃;文檔所引用的資料、標(biāo)準(zhǔn)和規(guī)范。開出這些資料的作者、編號、發(fā)表日期、出自單位或資料來源。861.引言編寫目的:闡明編寫需求說明書的目的,指出預(yù)期的讀者范2.任務(wù)概述產(chǎn)品概述:描述開發(fā)意圖、應(yīng)用目標(biāo)、作用范圍、應(yīng)向讀者說明的有關(guān)該項目的開發(fā)背景。用戶特點:列出本軟件最終用戶的特點,說明操作人員、維護人員的教育水平和技術(shù)水平。條件與限制:對設(shè)計系統(tǒng)時對開發(fā)者的條件與限制。872.任務(wù)概述產(chǎn)品概述:描述開發(fā)意圖、應(yīng)用目標(biāo)、作用范圍、應(yīng)向3.數(shù)據(jù)描述靜態(tài)數(shù)據(jù)動態(tài)數(shù)據(jù)數(shù)據(jù)庫描述數(shù)據(jù)字典數(shù)據(jù)采集883.數(shù)據(jù)描述884.需求規(guī)定對功能的規(guī)定:包括內(nèi)部及外部功能的規(guī)定(功能劃分和功能描述)對性能的規(guī)定:包括對精度、時間要求、靈活性、適應(yīng)性等的規(guī)定。對輸入輸出的規(guī)定:包括所有輸入輸出數(shù)據(jù)、引用接口及接口控制文件、操作員控制的詳細描述。數(shù)據(jù)管理的規(guī)定:包括靜態(tài)數(shù)據(jù)、動態(tài)數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)字典、數(shù)據(jù)采集的詳細描述。其他專門要求:如安全保密性、可使用性、可維護性、可移植性等。

894.需求規(guī)定對功能的規(guī)定:包括內(nèi)部及外部功能的規(guī)定(功能劃5.運行環(huán)境規(guī)定用戶界面:如屏幕格式、報表格式、菜單格式、輸入輸出時間等。硬件接口:對系統(tǒng)硬件的要求描述。軟件接口:支持軟件描述。故障處理905.運行環(huán)境規(guī)定用戶界面:如屏幕格式、報表格式、菜單格式、6.附錄實際的需求說明最好有附錄,主要可以描述如格式樣本、成本分析、用戶調(diào)查結(jié)果、項目解決的問題描述、特殊的要求等相關(guān)信息。如果包含附錄,必須指明是不是需求要考慮的部分。916.附錄實際的需求說明最好有附錄,主要可以描述如格式樣本、醫(yī)院計算機監(jiān)護系統(tǒng)需求說明1.引言醫(yī)院做為一個與人民生命健康密切相關(guān)的重要機構(gòu),勢必要在各方面實現(xiàn)信息化,與此同時,對醫(yī)療衛(wèi)生的要求也越來越高。以方便醫(yī)護人員更好的了解病人的情況,給病人提供及時的治療。本系統(tǒng)就是針對這方面的迫切需求而設(shè)計實現(xiàn)的。1.1編寫目的此文檔作為用戶對即將開發(fā)的軟件的功能要求,是軟件設(shè)計和開發(fā)者的主要依據(jù)。1.2項目背景項目名稱:醫(yī)院計算機監(jiān)護系統(tǒng)項目委托單位:××市醫(yī)院軟件開發(fā)單位:××學(xué)院計算機系計××班軟件開發(fā)組需求分析案例92醫(yī)院計算機監(jiān)護系統(tǒng)需求說明需求分析案例922.任務(wù)描述2.1目標(biāo)

本系統(tǒng)要求能夠監(jiān)護系統(tǒng)要隨時接受每個病人的生理信號(脈搏、體溫、血壓、心電圖等),定時記錄病人情況以形成患者日志,當(dāng)某個病人的生理信號超出醫(yī)生規(guī)定的安全范圍時向值班護士發(fā)出警告信息;此外,護士在需要時還可以要求系統(tǒng)打印出某個病人的病情報告。本軟件系統(tǒng)要求安全、可靠(具有出錯處理能力)、準(zhǔn)確。2.2運行環(huán)境

本系統(tǒng)是基于C/S模式的采用Delphi實現(xiàn)的管理信息系統(tǒng)(ManagementInformationSystem)。數(shù)據(jù)庫服務(wù)器由Oracle9實現(xiàn)。操作系統(tǒng):WINDOWS2000AdvanceServer;數(shù)據(jù)庫服務(wù)器端軟件ORACLE9I。932.任務(wù)描述933.數(shù)據(jù)描述(1)數(shù)據(jù)流程圖查詢病人信息記錄病人情況醫(yī)院計算機監(jiān)護系統(tǒng)傳感器護士打印報告護士患者日志輸入:輸出:輸入病人生理信號發(fā)出報警信號查詢結(jié)果943.數(shù)據(jù)描述查詢病人信息記錄病人情況醫(yī)院計算機監(jiān)護系統(tǒng)傳感器(2)醫(yī)院監(jiān)護系統(tǒng)中所要處理的表單:①“生理信號”表格:生理信號ID、生理信號名稱、備注②“患者表格”表格:患者ID、患者姓名、患者性別、住址、聯(lián)系電話、患病名稱、入院日期、狀態(tài)(已出院、住院)、備注③“患者日志”表格:患者ID、日期、生理信號ID、值、備注④“患者生理信號安全范圍表”表格:患者ID、生理信號ID、安全范圍、備注95(2)醫(yī)院監(jiān)護系統(tǒng)中所要處理的表單:954.需求規(guī)定(1)功能劃分本系統(tǒng)由“生理信號輸入控制子系統(tǒng)”、“病人基本信息管理子系統(tǒng)”、“警報子系統(tǒng)”、“病人病情管理子系統(tǒng)”組成。生理信號輸入控制子系統(tǒng)包含2個功能模塊:“生理信號輸入管理”、“定時時間調(diào)節(jié)”。病人基本信息管理子系統(tǒng)包含3個功能模塊:“病人信息輸入”、“病人信息修改”、“病人信息查詢”。警報子系統(tǒng)包含2個功能模塊:“生理信號安全范圍控制”、“警報”。病人病情管理子系統(tǒng)包含2個功能模塊:“病情查詢”、“病情報告打印”964.需求規(guī)定96(2)功能描述(應(yīng)該每個系統(tǒng)畫出流程圖)生理信號輸入管理模塊:通過連接在病人身上的傳感器,根據(jù)傳感器的值將生理信號輸入系統(tǒng)定時時間調(diào)節(jié)處理:通過系統(tǒng),管理人員(醫(yī)護人員)可以按需要輸入定時采樣的時間。病人信息輸入模塊:工作人員可以將病人的基本信息(患者姓名、患者性別、住址、聯(lián)系電話、患病名稱、入院日期、狀態(tài)(已出院、住院)、備注)輸入系統(tǒng)。病人信息修改管理模塊:對病人的基本信息(患者姓名、患者性別、住址、聯(lián)系電話、患病名稱、入院日期、狀態(tài)(已出院、住院)、備注)進行修改。病人信息查詢模塊:對病人的基本信息(患者姓名、患者性別、住址、聯(lián)系電話、患病名稱、入院日期、狀態(tài)(已出院、住院)、備注)進行查詢。生理信號安全范圍控制模塊:對各個病人的生理信號的安全范圍進行輸入、修改、查詢。警報模塊:對超過設(shè)定安全范圍的病人及時通知醫(yī)護人員。病情查詢模塊:可以對這一段時間的病人病情進行查詢病情報告打印模塊:可以對查詢得的病人病情打印出病情報告97(2)功能描述(應(yīng)該每個系統(tǒng)畫出流程圖)97(3)組織機構(gòu)調(diào)查98(3)組織機構(gòu)調(diào)查98(4)總體流程圖99(4)總體流程圖99(5)業(yè)務(wù)需求調(diào)查

數(shù)據(jù)流程圖100(5)業(yè)務(wù)需求調(diào)查100實體初步描述(數(shù)據(jù)字典)1) 在對業(yè)務(wù)流程圖和數(shù)據(jù)流程圖進行詳細分析的基礎(chǔ)上,找出其中的實體。實體名稱:病人生理信號、患者日志。2) 實體描述方式。病人生理信號:包括生理信號ID、生理信號名稱、備注患者日志:包括患者ID、日期、生理信號ID、值、備注101實體初步描述(數(shù)據(jù)字典)101數(shù)據(jù)流程圖102數(shù)據(jù)流程圖102警報子系統(tǒng)業(yè)務(wù)流程圖103警報子系統(tǒng)業(yè)務(wù)流程圖103病人病情管理子系統(tǒng)業(yè)務(wù)流程圖104病人病情管理子系統(tǒng)業(yè)務(wù)流程圖104數(shù)據(jù)流程圖105數(shù)據(jù)流程圖1055.對新系統(tǒng)的環(huán)境要求調(diào)查(運行環(huán)境規(guī)定)

基本要求簡要描述該系統(tǒng)所運行的環(huán)境,如果運行環(huán)境未確定,應(yīng)寫出建議環(huán)境(1) 體系結(jié)構(gòu):Client/Server或Multi-tireC/S(2) 操作系統(tǒng)windows系列(3)數(shù)據(jù)庫管理系統(tǒng)Oracle9i(4)開發(fā)工具Delphi7.0軟件需求:操作系統(tǒng)WINDOWS2000AdvanceServer以上;數(shù)據(jù)庫服務(wù)器端軟件ORACLE9I,Delphi7.0。硬件需求:10M以上的LAN接入網(wǎng)絡(luò)帶寬,P43.0GXeonCPU/1G內(nèi)存/360G(10K)SCSI硬盤的服務(wù)器,P3以上微機(帶網(wǎng)卡)的客戶機,P43.0GXeonCPU/1G內(nèi)存/36G(10K)RAID硬盤的數(shù)據(jù)庫服務(wù)器適應(yīng)性本系統(tǒng)只適合于windows系列操作系統(tǒng)1065.對新系統(tǒng)的環(huán)境要求調(diào)查(運行環(huán)境規(guī)定)

基本要求106演講完畢,謝謝觀看!演講完畢,謝謝觀看!第二講可行性研究與需求分析軟件計劃與可行性研究軟件系統(tǒng)需求分析108第二講可行性研究與需求分析軟件計劃與可行性研究1本章主要內(nèi)容:

軟件可行性的內(nèi)容和步驟,軟件需求分析的步驟:需求獲取、分析建模、文檔編,結(jié)構(gòu)分析方法建立分析模型的描述工具及建立過程;同時給出文檔編寫規(guī)范與實例供學(xué)習(xí)參考。本章重點:軟件需求分析的任務(wù)與步驟;結(jié)構(gòu)分析方法建立分析模型的描述工具及建立過程。本章難點:結(jié)構(gòu)分析方法建立分析模型的描述工具及建立過程。基本要求:掌握基本概念(SA,SRS,DFD,DD)和SA方法,會寫可行行分析報告,項目開發(fā)計劃和軟件需求說明書

109本章主要內(nèi)容:

軟件可行性的內(nèi)容和步驟,軟件需2.1軟件計劃與可行性研究一、目的確定軟件項目是否能夠開發(fā)?是否值得去開發(fā)?輸出:可行性研究報告成本—效益分析項目開發(fā)計劃

1102.1軟件計劃與可行性研究一、目的確定軟件項目是否能夠開發(fā)

對每種解決方法,可從以下三個方面分析研究每種解決方法的可行性。1.技術(shù)可行性2.經(jīng)濟可行性3.社會可行性二、內(nèi)容111對每種解決方法,可從以下三個方面分析研究每種解決方法的可1.技術(shù)可行性對要開發(fā)項目的功能、性能、限制條件進行分析,確定在現(xiàn)有的資源條件下,技術(shù)風(fēng)險有多大,項目是否能實現(xiàn)。資源:已有的或可以獲得的硬件、軟件資源現(xiàn)有技術(shù)人員的技術(shù)水平已有的工作基礎(chǔ)。1121.技術(shù)可行性52.經(jīng)濟可行性進行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項目是否值得投資開發(fā)?經(jīng)濟可行性:成本—效益分析公司經(jīng)營長期策略開發(fā)所需的成本和資源潛在的市場前景1132.經(jīng)濟可行性63.社會可行性要開發(fā)的項目是否存在任何侵犯、妨礙等責(zé)任問題?要開發(fā)項目的運行方式在用戶組織內(nèi)是否行得通?現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行?1143.社會可行性71.明確系統(tǒng)目標(biāo)2.研究正在使用的系統(tǒng)3.設(shè)計新系統(tǒng)的概括的邏輯模型4.導(dǎo)出和評價各種方案5.推薦可行的方案6.編寫可行性研究報告三、可行性研究的具體步驟1151.明確系統(tǒng)目標(biāo)三、可行性研究的具體步驟8五、可行性研究報告內(nèi)容1.引言2.可行性研究前提3.對現(xiàn)有系統(tǒng)的分析4.所建議系統(tǒng)的技術(shù)可行性分析5.所建議系統(tǒng)的經(jīng)濟可行性分析6.社會因素的可行性分析7.其他可供選擇方案8.結(jié)論意見。116五、可行性研究報告內(nèi)容1.引言91.引言

1.1編寫目的闡明編寫可行行研究報告的目的,指出讀者對象

1.2項目背景包括:所建議開發(fā)軟件的名稱;項目的任務(wù)提出者、開發(fā)者、用戶等;項目與其它軟件或系統(tǒng)的關(guān)系1.3定義項目中專門術(shù)語和縮寫詞的含義

1.4參考資料1171.引言10

2.可行性研究前提2.1要求列出建議開發(fā)軟件的基本要求,如功能,性能,輸入,輸出,基本的數(shù)據(jù)流程和處理流程,安全保密要求,完成期限等2.2目標(biāo)可包括:人力與設(shè)備費用的節(jié)?。惶幚硭俣鹊奶岣呖刂凭然蛏a(chǎn)能力的提高;管理信息服務(wù)的該進,人員工作效率的提高2.3條件、假定和限制可包括經(jīng)費來源和限制,法律政策方面的限制,環(huán)境限制,可利用的信息資源1182.可行性研究前提112.4可行性研究方法2.5決定可性行的主要因素3.對現(xiàn)有系統(tǒng)的分析3.1處理流程和數(shù)據(jù)流程3.2工作負荷3.3費用支出3.4人員3.5設(shè)備3.6局限性(現(xiàn)有系統(tǒng)存在的問題,為什么需要開發(fā)新的系統(tǒng)1192.4可行性研究方法124、所建議技術(shù)可行性分析4.1對系統(tǒng)的簡要描述4.2處理流程和數(shù)據(jù)流程4.3與現(xiàn)有系統(tǒng)比較的優(yōu)越性4.4采用建議系統(tǒng)可能帶來的影響4.5技術(shù)可行性評價1204、所建議技術(shù)可行性分析135.所建議系統(tǒng)經(jīng)濟可行性分析

5.1支出(基建投資,其它一次性支出,經(jīng)常性指出)5.2效益(一次性收益,經(jīng)常性收益,不可定量收益)5.3收益投資比5.4投資回收周期5.5敏感性分析1215.所建議系統(tǒng)經(jīng)濟可行性分析146.社會因素的可行性分析6.1法律因素6.2用戶使用可行性7.其它可供選擇的方案8.結(jié)論意見可能是:可著手組織開發(fā);待若干條件成熟后開發(fā);要修改目標(biāo);經(jīng)濟上不核算等

1226.社會因素的可行性分析15此外,在這個階段還要寫出“項目開發(fā)計劃”引言項目概述實施計劃人員組織分工交付期限專題計劃要點123此外,在這個階段還要寫出“項目開發(fā)計劃”166.2軟件系統(tǒng)需求分析需求分析概念結(jié)構(gòu)化分析方法需求分析規(guī)格說明書的組成1246.2軟件系統(tǒng)需求分析需求分析概念171.什么是需求分析是指開發(fā)人員要準(zhǔn)確理解用戶的要求,進行細致的調(diào)查分析,將用戶非形式的需求陳述轉(zhuǎn)化為完整的需求定義,再由需求定義轉(zhuǎn)換到相應(yīng)的形式功能規(guī)約(需求規(guī)格說明)的過程。一.需求分析概念1251.什么是需求分析一.需求分析概念18軟件開發(fā)是要實現(xiàn)目標(biāo)系統(tǒng)的物理模型。需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng)“做什么”的問題。目標(biāo)系統(tǒng)當(dāng)前系統(tǒng)物理模型邏輯模型模型化抽象化物理模型邏輯模型具體化實例化理解需求導(dǎo)出怎么做做什么126軟件開發(fā)是要實現(xiàn)目標(biāo)系統(tǒng)的物理模型。需求分析的任務(wù)就是借助于是要準(zhǔn)確地定義新系統(tǒng)的目標(biāo),滿足用戶需要?;卮鹣到y(tǒng)必須“做什么”的問題。本階段要進行以下幾方面的工作:(1)分析人員和用戶對問題識別,雙方商定對問題的綜合需求。包括:功能需求、性能需求、環(huán)境需求和用戶界面需求。另外還有可靠性、安全性、保密性、可移植性、可維護性等方面的需求.

這些需求一般通過雙方交流、調(diào)查研究來獲取,并達到共同的理解。2.需求分析的基本任務(wù)127是要準(zhǔn)確地定義新系統(tǒng)的目標(biāo),滿足用戶需要。回答系統(tǒng)必須“做什(1)分析人員和用戶對問題識別,雙方商定對問題的綜合需求。包括:功能需求、性能需求、環(huán)境需求和用戶界面需求。另外還有可靠性、安全性、保密性、可移植性、可維護性等方面的需求.

128(1)分析人員和用戶對問題識別,雙方商定對問題的綜合需求(2)分析與綜合,導(dǎo)出軟件的邏輯模型。

分析人員對獲取的需求,進行一致性的分析檢查,在分析、綜合中逐步細化軟件功能,劃分成各個子功能。包括:對數(shù)據(jù)域進行分解,并分配到各個子功能上,以確定系統(tǒng)的構(gòu)成及主要成分,并用圖文結(jié)合的形式,建立起新系統(tǒng)的邏輯模型。129(2)分析與綜合,導(dǎo)出軟件的邏輯模型。22(3)編寫文檔。文檔:需求規(guī)格說明書初步用戶使用手冊確認測試計劃130(3)編寫文檔。23常用的分析方法面向數(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)開發(fā)方法(DSSD)面向?qū)ο蟮姆治龇椒?OOA)等131常用的分析方法面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA)24二.結(jié)構(gòu)化分析方法

結(jié)構(gòu)化分析(StructuredAnalysis,簡稱SA),是面向數(shù)據(jù)流進行需求分析的方法。SA是一種建模活動,該方法使用簡單易讀符號,根據(jù)軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,描繪出滿足功能需求的軟件模型。132二.結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析(StructuredA

SA方法利用圖形等半形式化的描述方式表達需求,用它們形成需求說明書中的主要部分。描述工具是:1.數(shù)據(jù)流圖(DFD)2.描述加工邏輯的工具:結(jié)構(gòu)化語言、判定表、判定樹3.數(shù)據(jù)字典4.實體-聯(lián)系圖(E-R)5.層次方框圖133SA方法利用圖形等半形式化的描述方式表達需求,用它們結(jié)構(gòu)化分析方法最初只是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。擴充后,將建模技術(shù)擴展到數(shù)據(jù)建模、功能建模和行為建模,以實體-關(guān)系圖、數(shù)據(jù)流圖和控制流圖、狀態(tài)-遷移圖為工具,數(shù)據(jù)字典為核心,從不同視點建立系統(tǒng)的分析模型。134結(jié)構(gòu)化分析方法最初只是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立結(jié)構(gòu)化分析的分析模型實體—關(guān)系圖狀態(tài)—遷移圖數(shù)據(jù)流圖數(shù)據(jù)對象描述加工規(guī)格說明數(shù)據(jù)字典控制規(guī)格說明135結(jié)構(gòu)化分析的分析模型實體—狀態(tài)—遷移圖數(shù)據(jù)流圖數(shù)據(jù)對象描述加

SA方法利用圖形等半形式化的描述方式表達需求,用它們形成需求說明書中的主要部分。描述工具是:1.數(shù)據(jù)流圖(DFD)2.描述加工邏輯的工具:結(jié)構(gòu)化語言、判定表、判定樹3.數(shù)據(jù)字典4.實體-聯(lián)系圖(E-R)5.層次方框圖136SA方法利用圖形等半形式化的描述方式表達需求,用它1數(shù)據(jù)流圖(DFD)

任何軟件系統(tǒng)從根本上都是對數(shù)據(jù)的加工或變換的工具。當(dāng)數(shù)據(jù)在軟件系統(tǒng)中移動時,它將被一系列“變換”所修改。(1)什么是數(shù)據(jù)流圖數(shù)據(jù)流圖(DFD)就是描述信息流和數(shù)據(jù)從移動到輸出的過程中所經(jīng)受的變換的圖形化技術(shù)。

數(shù)據(jù)流圖(DataFlowDiam),是SA方法中用于表示系統(tǒng)邏輯模型的一種工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,在DFD圖中出現(xiàn)的每個功能都會寫在加工說明(ProcessSpecification,PSPEC)中,它們一起構(gòu)成功能模型。1371數(shù)據(jù)流圖(DFD)任何軟件系統(tǒng)從根本上它可表現(xiàn)的范圍可大到整個系統(tǒng),小到一個模塊。在需求分析中常用一組DFD圖由粗到精地表示同一軟件在不同抽象級別上的功能,這就是分層數(shù)據(jù)流圖138它可表現(xiàn)的范圍可大到整個系統(tǒng),小到一個模塊。分層的數(shù)據(jù)流圖139分層的數(shù)據(jù)流圖32

(2)數(shù)據(jù)流圖的作用:需求分析時,作為自頂向下的工具描述系統(tǒng)組成部分為技術(shù)員、用戶間交流提供有力方法140(2)數(shù)據(jù)流圖的作用:33(3)數(shù)據(jù)流圖組成數(shù)據(jù)流圖由數(shù)據(jù)流、加工(又稱為數(shù)據(jù)處理)、數(shù)據(jù)存儲(又稱為文件)、數(shù)據(jù)源點或終點四種基本成分組成。數(shù)據(jù)流:加工:數(shù)據(jù)存儲:數(shù)據(jù)源點、終點:141(3)數(shù)據(jù)流圖組成數(shù)據(jù)流圖由數(shù)據(jù)流、加工(又稱為數(shù)據(jù)處理)加工1加工1加工1數(shù)據(jù)流1數(shù)據(jù)流2數(shù)據(jù)流3數(shù)據(jù)流6數(shù)據(jù)流5數(shù)據(jù)流4圖2-1DFD基本形式數(shù)據(jù)流加工數(shù)據(jù)存儲數(shù)據(jù)源和終點圖2-2DFD的基本組成142加工1加工1加工1數(shù)據(jù)流1數(shù)據(jù)流2數(shù)據(jù)流3數(shù)據(jù)流6數(shù)據(jù)流5數(shù)有A則有B或C,或者兩者都有有A則有B與C,兩者同時有有A則有B或C,但不會兩者同時有當(dāng)A或B之一存在,就有C當(dāng)A或B都存在才有CABC*ABC*ABC⊕ABCABC圖2-3多個數(shù)據(jù)流加工符號143有A則有B或C,或者兩者都有有A則有B與C,兩者同時有有A圖2-4描述銀行取款過程的數(shù)據(jù)流圖【例2-1】數(shù)據(jù)流圖實例:銀行取款過程144圖2-4描述銀行取款過程的數(shù)據(jù)流圖【例2-1】數(shù)據(jù)流圖2-5高校學(xué)生收費系統(tǒng)數(shù)據(jù)流圖學(xué)生信息表單據(jù)交費發(fā)票學(xué)生學(xué)生審查開發(fā)票1開單據(jù)2交費申請休學(xué)通知資源信息表【例2-2】高校學(xué)生收費系統(tǒng)數(shù)據(jù)流圖145圖2-5高校學(xué)生收費系統(tǒng)數(shù)據(jù)流圖學(xué)生信息表單交費學(xué)生學(xué)生審【例2-3】考務(wù)處理系統(tǒng)的功能(1)對考生送來的報名單進行檢查;(2)對合格的報名單編好準(zhǔn)考證號后將準(zhǔn)考證送給考生,并將匯總后的考生名單送給閱卷站;(3)對閱卷站送來的成績單進行檢查,并根據(jù)考試中心制定的合格標(biāo)準(zhǔn)審定合格者;(4)制作考生通知單(含成績及合格/不合格標(biāo)志)送給考生;(5)按地區(qū)進行成績分類統(tǒng)計和試題難度分析,產(chǎn)生統(tǒng)計分析表。146【例2-3】考務(wù)處理系統(tǒng)的功能(1)對考生送來的報名單進行根據(jù)考務(wù)處理業(yè)務(wù),畫出頂層數(shù)據(jù)流圖,以反映最主要業(yè)務(wù)處理流程及系統(tǒng)與外界的關(guān)系。經(jīng)過分析,考務(wù)業(yè)務(wù)處理的主要功能應(yīng)當(dāng)有登記報名單、統(tǒng)計成績兩個主要數(shù)據(jù)流。輸入的源點和輸出終點是考生、考試中心和閱卷站。然后從輸入端開始,根據(jù)考務(wù)業(yè)務(wù)工作流,畫出數(shù)據(jù)流流經(jīng)的各加工框,逐步畫到輸出端,得到第0層數(shù)據(jù)流圖。147根據(jù)考務(wù)處理業(yè)務(wù),畫出頂層數(shù)據(jù)流圖,以反映最主要業(yè)務(wù)處理流程頂層數(shù)據(jù)流圖考生考務(wù)處理系統(tǒng)考試中心閱卷站不合格報名表報名表準(zhǔn)考證考生通知單成績單合格標(biāo)準(zhǔn)錯誤成績單考生名單統(tǒng)計分析表148頂層數(shù)據(jù)流圖考考務(wù)考閱卷站不合格報名表報名表準(zhǔn)考證考生通知單報名表準(zhǔn)考證1登記報名表2統(tǒng)計成績不合格報名表考生通知單成績單統(tǒng)計分析表第0層數(shù)據(jù)流圖考生名冊合格標(biāo)準(zhǔn)考生名單錯誤成績單149報名表準(zhǔn)考證12不合格考生通知單成績單統(tǒng)計分析表第0層數(shù)據(jù)流第一層數(shù)據(jù)流圖(a)1.1

檢查報名表報名表準(zhǔn)考證1.2編準(zhǔn)考證號碼不合格報名表考生名冊考生名單合格報名表1.3登記考生合格報名表150第一層數(shù)據(jù)流圖(a)1.1報名表準(zhǔn)考證1.2不合格考生名第一層數(shù)據(jù)流圖(b)2.1檢查成績單2.2審定合格者考生名冊正確成績單2.3制作通知單2.4分析統(tǒng)計成績2.5分析試題難度試題得分表考生通知單難度分析表合格標(biāo)準(zhǔn)分類統(tǒng)計表成績單錯誤成績單經(jīng)審定的成績單151第一層數(shù)據(jù)流圖(b)2.12.2考生名冊正確2.32.42基本加工邏輯說明

對數(shù)據(jù)流圖的每一個基本加工,必須有一個基本加工邏輯說明描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則描述實現(xiàn)加工的策略而不是實現(xiàn)加工的細節(jié)包含的信息應(yīng)是充足的,完備的,有用的,無冗余的152基本加工邏輯說明對數(shù)據(jù)流圖的每一個基本加工,必須有一個基本2、用于寫加工邏輯說明的工具結(jié)構(gòu)化語言判定表判定樹1532、用于寫加工邏輯說明的工具結(jié)構(gòu)化語言46(1)結(jié)構(gòu)化語言是一種介于自然語言和形式化語言之間的語言由:英語命令動詞數(shù)據(jù)詞典中定義的名字有限的自定義詞邏輯關(guān)系詞

IF_THEN_ELSE、CASE_OF、WHILE_DO、

REPEAT_UNTIL等組成。154(1)結(jié)構(gòu)化語言是一種介于自然語言和形式化語言之間的語言47其基本控制結(jié)構(gòu)有三種:簡單陳述句結(jié)構(gòu):避免復(fù)合語句;重復(fù)結(jié)構(gòu):while_do

repeat_until結(jié)構(gòu)。判定結(jié)構(gòu):if_then_else

case_of結(jié)構(gòu);15548【例2-3】商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”if發(fā)貨單金額超過$500then

if欠款超過了60天then在償還欠款前不予批準(zhǔn)

else

(欠款未超期)發(fā)批準(zhǔn)書,發(fā)貨單

else

(發(fā)貨單金額未超過$500)

if欠款超過60天then發(fā)批準(zhǔn)書,發(fā)貨單及賒欠報告else

(欠款未超期)發(fā)批準(zhǔn)書,發(fā)貨單

156【例2-3】商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”if發(fā)貨單金額(2)判定表如果數(shù)據(jù)流圖的加工需要依賴于多個邏輯條件的取值,使用判定表來描述比較合適條件定義條件取值的組合動作定義在各種取值的組合下應(yīng)執(zhí)行的動作157(2)判定表如果數(shù)據(jù)流圖的加工需要依賴于多個邏輯條件的取值,以“檢查發(fā)貨單”為例158以“檢查發(fā)貨單”為例51(3)判定樹—判定表的圖形表示判定樹也是用來表達加工邏輯的一種工具。有時侯它比判定表更直觀。檢查發(fā)貨單金額>$500金額$500欠款>60天不發(fā)出批準(zhǔn)書欠款60天發(fā)貨單發(fā)出批準(zhǔn)書、欠款>60天發(fā)出批準(zhǔn)書、發(fā)貨單及賒欠報告欠款60天發(fā)出批準(zhǔn)書、發(fā)貨單159(3)判定樹—判定表的圖形表示判定樹也是用來表達加工邏輯的一

(1)數(shù)據(jù)詞典的概念數(shù)據(jù)詞典(DataDictionary,簡稱DD)就是用來定義數(shù)據(jù)流圖中的各個成分的具體含義的。對數(shù)據(jù)流圖中出現(xiàn)的每一個數(shù)據(jù)流、文件、加工給出詳細定義。(2)數(shù)據(jù)字典組成主要有四類條目:數(shù)據(jù)流、數(shù)據(jù)項、數(shù)據(jù)存儲、基本加工。數(shù)據(jù)項是組成數(shù)據(jù)流和數(shù)據(jù)存儲的最小元素。3.數(shù)據(jù)字典(DD)160(1)數(shù)據(jù)詞典的概念(2)數(shù)據(jù)字典組成3.數(shù)據(jù)字典((3)數(shù)據(jù)字典詞條內(nèi)容表數(shù)據(jù)項/數(shù)據(jù)流/數(shù)據(jù)文件名稱:別名:取消及定義:組成:組織:備注:161(3)數(shù)據(jù)字典詞條內(nèi)容表數(shù)據(jù)項/數(shù)據(jù)流/數(shù)據(jù)文件54【例2-4】:計算機售書系統(tǒng)模型

162【例2-4】:計算機售書系統(tǒng)模型55售書系統(tǒng)數(shù)據(jù)流詞條實例:發(fā)票

數(shù)據(jù)流名:發(fā)票別名:購書發(fā)票組成:學(xué)號+姓名+{書號+單價+數(shù)量+總價}+書費合計備

注:163售書系統(tǒng)數(shù)據(jù)流詞條實例:發(fā)票數(shù)據(jù)流名:發(fā)票56數(shù)據(jù)文件詞條實例:各班學(xué)生用書表文件名:各班學(xué)生用書表別名:組成:{系編號+專業(yè)和班級編號+年級+{書號}}組織:按系、專業(yè)和班編號從小到大排列備注:164數(shù)據(jù)文件詞條實例:各班學(xué)生用書表文件名:各班學(xué)生用書表57【例2.5】為例2-4文件“學(xué)生信息表”編寫字典條目。解:“學(xué)生信息表”字典條目如下:文件名:學(xué)生信息表組成:系編號+專業(yè)編號+類別編號+班編號+年級+宿舍編號+用書記錄編號組織:按系、專業(yè)、類別、班級從小到大排列備注:165【例2.5】為例2-4文件“學(xué)生信息表”編寫字典條目。文件名

數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的集合,也是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。它的作用是對軟件中的每個數(shù)據(jù)規(guī)定一個定義條目,在軟件分析和設(shè)計過程中提供相關(guān)數(shù)據(jù)的描述信息,以保持數(shù)據(jù)在系統(tǒng)中的一致性。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)字典數(shù)據(jù)流圖就不嚴格,沒有數(shù)據(jù)流圖數(shù)據(jù)字典也難于發(fā)揮作用。只有數(shù)據(jù)流圖和對數(shù)據(jù)流圖中每個元素的定義放在一起,才能構(gòu)成系統(tǒng)的規(guī)格說明166數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的集合,也是對數(shù)據(jù)流圖中包含的所4.實體-聯(lián)系圖(E-R)

為了把用戶的數(shù)據(jù)要求清楚、準(zhǔn)確地描述出來,系統(tǒng)分析員通常建立一個概念模型。概念模型是面向問題的數(shù)據(jù)模型,是按照用戶的觀點對數(shù)據(jù)建立模型。在需求分析模型建立過程中,使用實體-關(guān)系圖(E-R圖)來建立數(shù)據(jù)模型。它描述了從用戶的角度看到的數(shù)據(jù),反映了用戶的現(xiàn)實環(huán)境,而與在軟件系統(tǒng)中的實現(xiàn)方法無關(guān)。數(shù)據(jù)模型包含三種相互關(guān)聯(lián)的信息:實體(數(shù)據(jù)對象)、屬性及聯(lián)系。1674.實體-聯(lián)系圖(E-R)為了把用戶的數(shù)據(jù)要求(1)實體

E-R圖中的實體對應(yīng)于客觀世界中的存在的人或物,又稱為數(shù)據(jù)對象。數(shù)據(jù)對象可以是外部實體(如產(chǎn)生或使用信息的任何事物),行為(如開發(fā)票)、角色(如學(xué)生、教師),單位(如計算機系、會計科),結(jié)構(gòu)(如文件)等,是由一組屬性來描述的實體。實體之間是相互聯(lián)系的,與其它實體沒有聯(lián)系的實體是沒有意義的。在E-R圖中通常用矩形框表示實體。168(1)實體61(2)屬性

屬性定義了實體的性質(zhì),實體可以由一個或多個屬性定義為“標(biāo)識符”,用來區(qū)分不同的實體。根據(jù)對所要解決的問題的理解來確定屬性。如要開發(fā)高校學(xué)生收費系統(tǒng),描述學(xué)生可以用學(xué)號、姓名、性別、入學(xué)日期、所在系別、學(xué)生類別、所在班級等屬性。常用二維表的形式表示相關(guān)屬性在E-R圖中通常用橢圓形或圓角矩形表示屬性。169(2)屬性62(3)聯(lián)系客觀世界中的事物是相互聯(lián)系的。如學(xué)生與教師存在教與被教、系與學(xué)生的管理與被管理的聯(lián)系。這種聯(lián)系有三種不同的類型:一對一(如院長與學(xué)院的聯(lián)系)、一對多(如系與學(xué)生的聯(lián)系)和多對多(學(xué)生與課程間的聯(lián)系)。在E-R圖中通常用連接相關(guān)實體的菱形框表示聯(lián)系。如下圖給出三種聯(lián)系的示意圖:170(3)聯(lián)系63院長管理學(xué)院111:1聯(lián)系圖2-6E-R模型中的三種聯(lián)系系管理學(xué)生1M1:M聯(lián)系學(xué)生授課課程MNM:N聯(lián)系171院長管理學(xué)院111:1聯(lián)系圖2-6E-R模型中的三種聯(lián)系系5.層次方框圖

層次方框圖是用結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。樹形結(jié)構(gòu)的頂層是一個單獨的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表這個數(shù)據(jù)的子集,最底層的各個框代表組成這個數(shù)據(jù)的實際數(shù)據(jù)元素(不能再分割的元素)。

1725.層次方框圖層次方框圖是用結(jié)構(gòu)的一系列多層次的矩

隨著結(jié)構(gòu)的精細化,層次方框圖對數(shù)據(jù)結(jié)構(gòu)描繪得越來越詳細,這種非常適合于需求分析階段的需要。系統(tǒng)分析員從對頂層信息的分類開始,沿圖中每條路徑反復(fù)細化,直到確定數(shù)據(jù)結(jié)構(gòu)的全部細節(jié)為止。見例2.6:用層次方框圖描述某計算機公司全部產(chǎn)品的數(shù)據(jù)結(jié)構(gòu)。173隨著結(jié)構(gòu)的精細化,層次方框圖對數(shù)據(jù)結(jié)構(gòu)描繪得圖2-6層次方框圖實例軟件硬件服務(wù)處理機存儲器外部設(shè)備培訓(xùn)硬件編修軟件服務(wù)產(chǎn)品操作系統(tǒng)編譯程序軟件工具系統(tǒng)軟件應(yīng)用軟件174圖2-6層次方框圖實例軟件硬件服務(wù)處理機存儲器外部設(shè)備培訓(xùn)三、結(jié)構(gòu)化分析方法的步驟概念畫出分層數(shù)據(jù)流圖確定數(shù)據(jù)定義與加工策略復(fù)審175三、結(jié)構(gòu)化分析方法的步驟概念681.概念結(jié)構(gòu)化分析方法(SA)是面向數(shù)據(jù)流進行需求分析的方法,是20世紀(jì)70年代末提出并發(fā)展,適合于數(shù)據(jù)處理類型軟件的需求分析方法。具體來說,結(jié)構(gòu)化分析方法就是按照功能分解的原則,根據(jù)軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足所有功能要求的可實現(xiàn)的邏輯模型為止。1761.概念692.結(jié)構(gòu)分析方法主要工具:數(shù)據(jù)流圖、數(shù)據(jù)字典、結(jié)構(gòu)化語言、判定表與判定樹等幾個工具。3.主要步驟為:

由頂向下對系統(tǒng)進行功能分解,畫出分層數(shù)據(jù)流圖;由后向前定義系統(tǒng)的數(shù)據(jù)和加工,確定加工策略和形成數(shù)據(jù)字典,編寫需求說明書;進行需求分析復(fù)審。1772.結(jié)構(gòu)分析方法主要工具:703.畫出分層數(shù)據(jù)流圖

從系統(tǒng)的基本模型,逐層地對系統(tǒng)進行分解。每分解一次,系統(tǒng)的加工數(shù)量就會增多一些,每個加工的功能也就更具體一些。繼續(xù)重復(fù)分解,直到所有的加工都足夠簡單,不必再分解為止。這種不需要再分解的加工就是我們常說的“基本加工”。通過這種分解,對所分析的系統(tǒng)將獲得一組分層次的數(shù)據(jù)流圖,用以代替一張含有系統(tǒng)全部加工的總數(shù)據(jù)流圖。具體步驟如下:1783.畫出分層數(shù)據(jù)流圖從系統(tǒng)的基本模型,逐層地具體步驟畫出系統(tǒng)的輸入與輸出畫出系統(tǒng)的內(nèi)部對圖和加工編號檢查復(fù)審179具體步驟畫出系統(tǒng)的輸入與輸出72①畫出系統(tǒng)的輸入與輸出

把整個系統(tǒng)看成是一個加工,根據(jù)系統(tǒng)從外界的哪些源點接受哪些數(shù)據(jù)流,以及系統(tǒng)的哪些數(shù)據(jù)流送到外界的哪些匯點,畫出系統(tǒng)的輸入和輸出圖。這張圖稱為頂層圖。180①畫出系統(tǒng)的輸入與輸出把整個系統(tǒng)看成是一個加工,根據(jù)系②畫出系統(tǒng)的內(nèi)部將頂層圖的加工分解成若干個加工,并用數(shù)據(jù)流將這些加工連接起來,使得頂層圖中的輸入數(shù)據(jù)流經(jīng)一連串的加工處理后變換成頂層的輸出數(shù)據(jù)流,

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論