




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第3章軟件需求分析軟件需求需求分析過程傳統(tǒng)方法的分析建模舉例1六盤水師范學院孫新杰3.1
軟件需求
1、需求的概念需求(requirements):Jones定義為用戶所需要的軟件必須達到的目標和能力。Lethbridge定義為需求是關于系統(tǒng)將要完成什么工作的一段描述,他們必須經(jīng)過所有相關人員的認可,其目的是徹底的解決用戶的問題。
?需求是一段描述…:意思是每個需求是相對短小簡明的一段信息,表現(xiàn)為一個事實。它可以是一段話或用各種圖表示。一組需求的集合成為需求文檔。
?…關于系統(tǒng)將要完成什么工作…:需求描述了系統(tǒng)應當完成的任務,不描述系統(tǒng)將如何實現(xiàn)。
?…必須經(jīng)過所有相關人員的認可…:意指需求必須經(jīng)過評審,才能成為正式的需求。
?…其目的是徹底的解決用戶的問題。有助于解決用戶的問題,該需求才有存在的價值。
2六盤水師范學院孫新杰
2、需求的類型(1)
功能性需求:描述系統(tǒng)應該做什么,即為用戶和其它系統(tǒng)完成的功能、提供的服務。(2)非功能性需求:必須遵循的標準,外部界面的細節(jié),實現(xiàn)的約束條件,質(zhì)量屬性等等。非功能需求限定了選擇解決問題方案的范圍,如運行平臺、實現(xiàn)技術、編程語言和工具等。例:將飛機訂票系統(tǒng)中的以下方面做如下的劃分,F(xiàn)代表“功能性”,NF代表“非功能性”,X代表“不應當是需求”。簡要的說明功能性或非功能性需求的種類。對于不應當是需求的方面,說明其原因。
3六盤水師范學院孫新杰?如何輸入有關航班、乘客及訂票信息。F:輸入。
?什么信息要出現(xiàn)在機票和報告中。F:輸出。
?如何計算乘機費用。F:計算。
?什么信息必須存儲在旅行社和其他人訪問的數(shù)據(jù)庫中。
F:數(shù)據(jù)存儲。?這個系統(tǒng)應該設計成可以處理旅行??陀媱?。
NF:增強的容限。
?這個系統(tǒng)在任何時候都必須是可用的。一周中只允許有2分鐘宕機時間。NF:有效性。
?必須使用排序算法根據(jù)離開時間對航班排序。
X:這是一個設計問題。4六盤水師范學院孫新杰3、需求的描述(1)結(jié)構化語言(2)圖形化表示(3)數(shù)學描述(形式化描述)4、軟件需求文檔(需求規(guī)格化說明)是需求分析階段的產(chǎn)品,是所有其他開發(fā)和管理活動的基礎。對系統(tǒng)開發(fā)過程中其他活動的影響:?項目經(jīng)理根據(jù)它制定或修改開發(fā)計劃。?設計人員根據(jù)它進行系統(tǒng)設計。?測試人員根據(jù)它編寫測試計劃,設計測試用例。?產(chǎn)品發(fā)布人員根據(jù)它編寫產(chǎn)品介紹和用戶文檔。?培訓人員根據(jù)它編寫培訓教程。
5六盤水師范學院孫新杰IEEE標準為需求文檔提出了以下結(jié)構,組織機構內(nèi)部可以基于此標準擴展:(1)引言
a.需求文檔的目的
b.文檔約定
c.預期的讀者和閱讀建議
d.產(chǎn)品范圍
e.參考文獻(2)綜合描述
a.產(chǎn)品前景b.產(chǎn)品功能與優(yōu)先級
c.用戶特征
d.運行環(huán)境
e.設計與實現(xiàn)上的限制
f.假設和依賴性6六盤水師范學院孫新杰(3)需求描述a.功能需求b.數(shù)據(jù)需求:與功能有關的數(shù)據(jù)定義和數(shù)據(jù)關系c.性能需求:響應時間、容量要求、用戶數(shù)等d.外部接口:用戶界面、軟硬件接口、通信接口e.設計約束:軟件支持環(huán)境、報表、數(shù)據(jù)命名等f.軟件質(zhì)量屬性(可維護性、可靠性、可移植性、可用性、安全性等等)g.其他需求這一節(jié)是文檔中最實質(zhì)性的部分,由于在機構組織的實踐中存在極大的變數(shù),對這一節(jié)定義的標準結(jié)構可以進行增刪。(4)附錄(詞匯表、分析模型、待定問題列表)(5)索引
7六盤水師范學院孫新杰3.2需求分析過程
需求分析是指開發(fā)人員通過對應用問題及其環(huán)境的調(diào)查分析,準確的理解用戶的需求,將不規(guī)范的需求陳述轉(zhuǎn)化為完整的需求定義,再將需求定義編寫成需求規(guī)格化說明的過程。對于一些新的復雜的系統(tǒng),如果沒有專門進行可行性研究,需求分析過程前應集中回答以下幾個問題:(1)系統(tǒng)是否符合組織機構的總題目標?(業(yè)務需求)。(2)系統(tǒng)是否可能在現(xiàn)在的技術條件、預算和時間限制內(nèi)完成?(經(jīng)濟、技術上的可行性)(3)系統(tǒng)能否與已經(jīng)存在的其他系統(tǒng)集成?當收集到信息并評估后,需要對系統(tǒng)是否要開發(fā)給出意見和建議,書寫可行性報告。該過程可能提出對系統(tǒng)功能范圍的修正、對預算和時間安排的調(diào)整意見或者是對系統(tǒng)高層需求的建議。8六盤水師范學院孫新杰1、需求獲?。?)個別訪談和召集會議(2)觀察用戶工作流程(3)利用原型(4)使用實例(用例):用例把系統(tǒng)分成一組邏輯的、互相聯(lián)系很少的部分,每一部分都描述了系統(tǒng)運行的某種方式。因此容易理解每個用例達到的功能。
問題分析問題描述原型化文件管理與確認
需求獲取和分析需求定義和說明是否已經(jīng)記錄了用戶需要的所有部分是否使用了正確的技術功能是否可行是否記錄了用戶期望的部分確定需求的過程9六盤水師范學院孫新杰例:列出圖書館系統(tǒng)中以下參與者的最小用例集:借閱者、借書員、圖書管理員、會計系統(tǒng)。
借閱者:
?按題目查詢書籍
?按作者查詢書籍
?按主題查詢書籍?預定已被其他人借出的書籍?查詢借閱者的個人信息并列出借閱的書籍10六盤水師范學院孫新杰
借書員:所有借閱者的用例,再加上
?為借閱者查找某一書籍
?登記已歸還的書籍
?續(xù)借一本書
?登記繳納的罰款
?添加新的借閱者
?更新借閱者的個人信息(地址、電話號碼等)
圖書管理員:
所有借閱者和借書員的用例,再加上
?添加藏書
?刪除藏書
?改變系統(tǒng)中對已有書籍的記錄信息
會計系統(tǒng)(獨立運行)
?獲得借閱者支付的超期罰款
11六盤水師范學院孫新杰3、分析與綜合用文字和圖形描述不同視圖以揭示更深的、易混淆的問題,確保與所有風險承擔者達成共識。(1)分析需求的可行性:允許的成本、性能;與其他需求的沖突;外界因素的依賴和技術障礙等。(2)對于漸增式開發(fā)要確定需求的優(yōu)先級別,以便確立產(chǎn)品版本。(3)建模:圖形化的表示分析模型可以增強對軟件需求的理解,也為軟件設計奠定了基礎。模型包括:
12六盤水師范學院孫新杰數(shù)據(jù)流圖(DFD-功能模型)實體關系圖(ERD-信息模型)狀態(tài)轉(zhuǎn)換圖(STD-行為模型)類圖(信息模型)順序圖(行為模型)合作圖(行為模型)等等。(4)使用原型法,減少項目風險。(5)建立數(shù)據(jù)字典。4、編寫需求文檔13六盤水師范學院孫新杰
5、需求驗證需求驗證的重要性:如果在后續(xù)的開發(fā)或當系統(tǒng)投入使用時才發(fā)現(xiàn)需求文檔中的錯誤,就會導致更大代價的返工。由需求問題而對系統(tǒng)做變更的成本比修改設計或代碼錯誤的成本要大的多。假設需求階段引入1個錯誤的需求,設計時對這個需求需要5~10條設計實現(xiàn),1條設計需要5~10條程序,1條程序需要3~5種測試組合測試。原始需求正確的規(guī)格說明
錯誤的規(guī)格說明正確的設計
錯誤的設計
對錯誤需求的設計正確的編碼
錯誤的編碼
對錯誤設計的編碼
對錯誤需求的編碼正確功能
測試到的錯誤沒有測試到的錯誤
一個錯誤的需求,糾正成本100元×10糾正成本1000元×10×514六盤水師范學院孫新杰對需求文檔需執(zhí)行以下類型的檢查:(1)有效性檢查檢查不同用戶使用不同功能的有效性。(2)一致性檢查在文檔中,需求不應該沖突。(3)完備性檢查需求文檔應該包括所有用戶想要的功能和約束。(4)現(xiàn)實性檢查檢查保證能利用現(xiàn)有技術實現(xiàn)需求。
15六盤水師范學院孫新杰
驗證技術:(1)需求評審:由分析員、設計員、測試員、用戶參與的正式或非正式的會議評審。正式會議要有嚴格的評審程序,要有會議記錄,開發(fā)組根據(jù)缺陷建議修改需求說明并重審。(2)利用原型檢驗系統(tǒng)是否符合用戶的真正需要。(3)對每個需求編寫概念性的測試用例。(4)編寫用戶手冊。用淺顯易懂的語言描述用戶可見的功能。(5)自動的一致性分析??捎肅ASE工具檢驗需求模型的一致性。16六盤水師范學院孫新杰3.3傳統(tǒng)方法的分析建模
分析建模是使用文本和圖表形式的組合,以相對容易理解和能直接評審正確性、完整性和一致性的方式來描述數(shù)據(jù)、功能和行為的需求。在過去的數(shù)年中,人們提出了許多種分析建模的方法,其中兩種在分析建模領域占有主導地位:第一種是結(jié)構化分析(StructuredAnalysis,SA),70年代末由DeMarco等人提出,這是傳統(tǒng)的建模方法。另一種方法是面向?qū)ο蟮姆治?,將在后面介紹。結(jié)構化分析方法不是被所有的使用者一致地使用的單一方法,眾多科學家對其進行了擴充,因此它是發(fā)展了超過30年的一個混合物。
17六盤水師范學院孫新杰1、分析模型
分析模型必須達到三個主要目標:(1)描述用戶的需要,使用戶和開發(fā)人員更好理解;(2)建立創(chuàng)建軟件設計的基礎;(3)定義在軟件完成后可以被確認的一組需求。為了達到這些目標,在結(jié)構化分析中導出的分析模型如圖所示:
圖3.1分析模型
18六盤水師范學院孫新杰?數(shù)據(jù)字典:包含了軟件生產(chǎn)或使用的所有數(shù)據(jù)對象描述的中心存儲庫。
?
實體-關系圖(ERD):描述數(shù)據(jù)對象間的關系,每個對象的屬性由“數(shù)據(jù)對象描述”來描述。
?
數(shù)據(jù)流圖(DFD)用于兩個目的:
①指明數(shù)據(jù)在系統(tǒng)中移動時如何被變換;
②反映對數(shù)據(jù)流進行變換的功能(和子功能);在DFD中出現(xiàn)的每個功能的描述包含在“加工規(guī)約”中。
?狀態(tài)轉(zhuǎn)換圖(STD):指明作為外部事件的結(jié)果系統(tǒng)將如何動作,有哪些行為。軟件控制方面的附加信息包含在“控制規(guī)約”中。19六盤水師范學院孫新杰
2、數(shù)據(jù)建模
在數(shù)據(jù)密集型應用問題中,對復雜數(shù)據(jù)或數(shù)據(jù)間復雜關系的分析和建模是需求分析的重要任務之一,有助于數(shù)據(jù)庫的設計。數(shù)據(jù)建?;卮鹋c任何數(shù)據(jù)處理應用相關的一組特定問題:系統(tǒng)處理哪些主要的數(shù)據(jù)對象(或?qū)嶓w)?每個數(shù)據(jù)對象的組成如何,哪些屬性描述了這些對象?每個對象與其他對象有哪些關系?這些對象當前位于何處?對象和變換它們的處理之間有哪些關系?
20六盤水師范學院孫新杰分析人員經(jīng)常使用實體-聯(lián)系(EntityRelationship,ER)
圖來描述數(shù)據(jù)對象及相互之間的關系。
ER模型包含了3種相互關聯(lián)的信息:
?數(shù)據(jù)對象
?數(shù)據(jù)對象的屬性
?數(shù)據(jù)對象相互連接的關系(1:1,1:N,M:N)。下圖是一個教學管理的ER圖:21六盤水師范學院孫新杰教師學生課程教學MNMN教師號姓名性別職稱系別學號姓名性別系別班級時間成績課程號課名學時學分其中:表示實體,表示屬性,表示聯(lián)系。為了降低圖的復雜性,有時屬性不畫在ER圖中,單獨造表。22六盤水師范學院孫新杰
3、功能建模(1)數(shù)據(jù)流圖(DataFlowDiagram,DFD)DFD用來描述數(shù)據(jù)在處理序列中的流動,由箭頭給出流動的數(shù)據(jù),泡泡表示對數(shù)據(jù)的變換(加工或處理),兩條平行橫線表示數(shù)據(jù)存儲(數(shù)據(jù)庫),矩形表示外部實體(數(shù)據(jù)源或數(shù)據(jù)池)。圖3.2描述了一個反映“看病”功能的DFD。DFD可以自頂向下,逐層分解,第0層DFD將整個系統(tǒng)表示為一個具有輸入和輸出數(shù)據(jù)的泡泡,反映了系統(tǒng)的語境,以下各層分別是上一層泡泡的分解,分解到可理解為止。表示在第1層的每個加工是表示在語境模型中的整個系統(tǒng)的子功能。(見圖3.3)。
23六盤水師范學院孫新杰
圖3.2“看病”的數(shù)據(jù)流圖
24六盤水師范學院孫新杰圖3.3數(shù)據(jù)流圖的分解25六盤水師范學院孫新杰分解時注意保持每次精化的輸入輸出數(shù)據(jù)流一致,稱為分層數(shù)據(jù)流圖的平衡。圖形并不能充分反映軟件的需求,需要用數(shù)據(jù)字典和“加工規(guī)約”對分析模型進行補充。數(shù)據(jù)字典對DFD中的元素進行嚴格的定義與解釋。加工規(guī)約說明DFD中的“泡泡”隱含的處理細節(jié)并指出加工的約束與限制。
DFD符號簡單,適用于數(shù)據(jù)處理系統(tǒng)的分析建模,關注的重點是數(shù)據(jù)流而不是控制流,不易于實時系統(tǒng)的分析。
26六盤水師范學院孫新杰(2)IDEF0圖美國國防部使用的圖形化建模技術,一個基本活動圖如圖3.4所示。每個活動包括4類要素:輸入、控制、機制和輸出??刂剖窍拗扑枋龌顒拥念愋突蚧顒铀芗s束,機制是活
圖3.4一個基本的IDEF0圖(A-0圖)動的外部支持(如工具、技術、數(shù)據(jù)庫等)。該圖如同DFD一樣,通過逐層分解展示系統(tǒng)的功能與子功能,每一層分解的活動為3~6個。(圖3.5為第1層的IDEF0圖)
27六盤水師范學院孫新杰
圖3.5“看病”的IDEF0圖(A0圖)28六盤水師范學院孫新杰4、行為建模
SA的擴展版本才使用STD進行行為建模。STD通過描述狀態(tài)以及導致系統(tǒng)改變狀態(tài)的事件來表示系統(tǒng)的行為。
STD一般用圓角矩形(以下例圖中用矩形)表示狀態(tài),每個狀態(tài)代表系統(tǒng)的一種行為模式,狀態(tài)之間用箭頭連接,表示當發(fā)生某個事件或滿足某條件時,激發(fā)某個動作,引起對象或系統(tǒng)狀態(tài)間的轉(zhuǎn)移。圖3.6和圖3.7分別是復印機軟件的DFD和STD。
行為模型有助于理解系統(tǒng)的預期行為,便于檢驗“需求規(guī)格說明”是否包含了與狀態(tài)變化相關的功能需求,有利于對實時系統(tǒng)進行分析。
29六盤水師范學院孫新杰
圖3.6復印機軟件的DFD30六盤水師范學院孫新杰
圖3.7復印機軟件的STD31六盤水師范學院孫新杰
5、數(shù)據(jù)字典(DataDictionary,DD)
DD是對所有與系統(tǒng)相關的數(shù)據(jù)元素的一個有組織的列表和精確的、嚴格的定義,使得用戶和開發(fā)人員對于這些數(shù)據(jù)元素有共同的理解。它可以管理各種模型中的各種信息。盡管各工具中字典的形式各不相同,但都包含以下信息:?名稱
?別名
?何處使用/如何使用?內(nèi)容描述:描述符號
記號意義
例1:六盤水師院電話號碼==由…構成
[82668|82669|82660]+后綴號碼+和
例2:學生名表=1{姓名+成績}30[|]或1{}n1~n次重復
?補充信息:()可選數(shù)據(jù)類型、限制、約束等32六盤水師范學院孫新杰
6、加工規(guī)約和控制規(guī)約
說明基本加工的處理邏輯以及一些附加信息。描述工具:結(jié)構化語言(半形式化語言)表格(如判定表、加工激活表)下圖是某大學“錄取新生”滿足一組條件規(guī)則的判定表:規(guī)則1規(guī)則2規(guī)則3規(guī)則4規(guī)則5標準考試得分高TFFFF平時成績好-TFFF參加課外活動--TFF好的推薦材料---TF發(fā)送拒絕信√√√發(fā)送錄取通知√√
33六盤水師范學院孫新杰條件和動作(或結(jié)果)列在表格的左邊,每列代表一組條件下系統(tǒng)要做的動作(或取得的結(jié)果),也說明了當系統(tǒng)處于列中所描述的狀態(tài)時,將要遵守的規(guī)則?!癟”表示本行的條件為“真”,“F”為“假”,“-”為“無所謂”,“√”表示在本列組合條件下采取的動作。判定表用于反映系統(tǒng)在多個條件組合下,將要采取的行動。如果有n個條件,就有2n個可能的條件組合,這樣表的結(jié)構就會很大。注意規(guī)則3、4和5,是重復的,可以取消4和5。去掉表中冗余的規(guī)則,以減少表的規(guī)模并更容易理解。通過制作、分析判定表,可進一步檢查需求說明的完整性、一致性。
34六盤水師范學院孫新杰3.4例1:機票預訂系統(tǒng)其功能為:旅行社把預訂機票的旅客信息(姓名、性別、身份證號碼、旅行時間、目的地等)輸入系統(tǒng)。系統(tǒng)為旅客安排航班,打印出取票通知單。旅客在飛機起飛的前一天憑取票通知單交款取票,系統(tǒng)檢驗無誤,輸出機票給旅客。建立該系統(tǒng)DFD:機票預訂系統(tǒng)旅行社旅客訂票單取票單取票單機票機票預訂系統(tǒng)頂層圖35六盤水師范學院孫新杰
預訂機票1旅客取票2訂票單取票單取票單機票機票文件機票預訂系統(tǒng)0層圖檢驗有效性1.1查詢航班1.2登記機票1.3打印取票單1.4機票文件航班目錄訂票單有效有航班已登記取票單“預訂機票”子圖(1層圖)圖1:36六盤水師范學院孫新杰圖2:這樣逐步求精分解下去,直到每個加工相對簡單、整個圖的功能可理解為止。查詢機票文件檢驗取票單2.1記帳2.2修改機票文件并打印機票2.3機票文件賬目文件取票單有效取票單已交款機票“旅客取票”子圖(1層圖)37六盤水師范學院孫新杰例2:家庭安全系統(tǒng)(SafeHome
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第12課 阿拉伯帝國(新教學設計)2023-2024學年九年級上冊歷史(部編版)
- 2025年河源職業(yè)技術學院單招職業(yè)適應性測試題庫一套
- 2025年吉林省長春市單招職業(yè)適應性測試題庫必考題
- 2025至2030年中國瀝青漆稀釋劑數(shù)據(jù)監(jiān)測研究報告
- 江蘇省揚州市江都區(qū)2023-2024學年高二上學期期中考試地理試題(解析版)
- 第五單元 第4章 第5節(jié) 人類對細菌和真菌的利用(新教學設計)2023-2024學年八年級上冊生物(人教版)
- 新型儲能產(chǎn)業(yè)鏈分析
- 太陽能熱電聯(lián)產(chǎn)項目融資方案
- 農(nóng)產(chǎn)品批發(fā)綜合市場建設項目預算與資金籌措
- 商業(yè)計劃書介紹產(chǎn)品生產(chǎn)的后續(xù)支持
- 廣州退休申請表范本
- 管道完整性管理方法及應用
- 傳媒侵權法介紹
- 麥茬花生高產(chǎn)栽培技術
- 玉米制種技術
- 中國旅游資源概述
- 高一下分科文科班第一次主題班會
- 初中數(shù)學代數(shù)式部分的文本解讀
- 高中學生的自我評價200字 高中學生的自我評價(三篇)
- 2023屆高考英語單詞分類-航空航天類詞匯短語與高分句型模板講義
- 口腔特殊檢查方法牙髓溫度測試法
評論
0/150
提交評論