版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件需求分析的任務和過程結構化分析方法原型化方法動態(tài)分析方法軟件需求分析1SW03軟件工程殷人昆軟件需求分析的任務深入描述軟件的功能和性能確定軟件設計的約束和軟件同其它系統(tǒng)元素的接口細節(jié)定義軟件的其它有效性需求2SW03軟件工程殷人昆需求分析研究的對象是軟件項目的用戶要求準確地表達被接受的用戶要求確定被開發(fā)軟件系統(tǒng)的系統(tǒng)元素將功能和信息結構分配到這些系統(tǒng)元素中3SW03軟件工程殷人昆需求分析的任務就是借助于當前系統(tǒng)的邏輯模型導出目標系統(tǒng)的邏輯模型,解決目標系統(tǒng)的“做什么”的問題。4SW03軟件工程殷人昆通常軟件開發(fā)項目是要實現(xiàn)目標系統(tǒng)的物理模型目標系統(tǒng)的具體物理模型是由它的邏輯模型經(jīng)實例化,即具體到某個業(yè)務領域而得到的5SW03軟件工程殷人昆需求分析的過程(1)問題識別
從系統(tǒng)的角度來理解軟件并評審軟件范圍是否恰當
確定對目標系統(tǒng)的綜合要求,即軟件的需求
提出這些需求實現(xiàn)條件,以及需求應達到的標準6SW03軟件工程殷人昆軟件的需求包括:功能需求性能需求環(huán)境需求可靠性需求安全保密要求用戶界面需求資源使用需求成本消耗需求開發(fā)進度需求預先估計以后系統(tǒng)可能達到的目標7SW03軟件工程殷人昆問題識別的另一項工作是建立分析所需要的通信途徑,以保證能順利地對問題進行分析。8SW03軟件工程殷人昆(2)分析與綜合
從信息流和信息結構出發(fā),逐步細化所有的軟件功能,找出系統(tǒng)各元素之間的聯(lián)系、接口特性和設計上的約束,分析它們是否滿足功能要求,是否合理。剔除其不合理的部分,增加其需要部分。最終綜合成系統(tǒng)的解決方案,給出目標系統(tǒng)的詳細邏輯模型。9SW03軟件工程殷人昆常用的分析方法面向數(shù)據(jù)流的結構化分析方法(SA)面向數(shù)據(jù)結構的Jackson方法(JSD)結構化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD)面向對象的分析方法(OOA)等10SW03軟件工程殷人昆(3)編制需求分析階段的文檔?軟件需求說明書?數(shù)據(jù)要求說明書?初步的用戶手冊?修改、完善與確定軟件開發(fā)實施計劃11SW03軟件工程殷人昆(4)
需求分析評審系統(tǒng)定義的目標是否與用戶的要求一致;系統(tǒng)需求分析階段提供的文檔資料是否齊全;文檔中的所有描述是否完整、清晰、準確反映用戶要求;與所有其它系統(tǒng)成分的重要接口是否都已經(jīng)描述;12SW03軟件工程殷人昆被開發(fā)項目的數(shù)據(jù)流與數(shù)據(jù)結構是否足夠,確定;所有圖表是否清楚,在不補充說明時能否理解;主要功能是否已包括在規(guī)定的軟件范圍之內,是否都已充分說明;設計的約束條件或限制條件是否符合實際;開發(fā)的技術風險是什么;13SW03軟件工程殷人昆是否考慮過軟件需求的其它方案;是否考慮過將來可能會提出的軟件需求;是否詳細制定了檢驗標準,它們能否對系統(tǒng)定義是否成功進行確認;14SW03軟件工程殷人昆需求分析流程15SW03軟件工程殷人昆軟件需求分析的原則需要能夠表達和理解問題的信息域和功能域要能以層次化的方式對問題進行分解和不斷細化要給出系統(tǒng)的邏輯視圖和物理視圖16SW03軟件工程殷人昆17SW03軟件工程殷人昆軟件需求規(guī)格說明的原則從現(xiàn)實中分離功能,即描述要“做什么”而不是“怎樣實現(xiàn)”要求使用面向處理的規(guī)格說明語言(或稱系統(tǒng)定義語言)如果被開發(fā)軟件只是一個大系統(tǒng)中的一個元素,那么整個大系統(tǒng)也包括在規(guī)格說明的描述之中18SW03軟件工程殷人昆規(guī)格說明必須包括系統(tǒng)運行環(huán)境規(guī)格說明必須是一個認識模型規(guī)格說明必須是可操作的規(guī)格說明必須容許不完備性并允許擴充規(guī)格說明必須局部化和松散耦合19SW03軟件工程殷人昆軟件需求分析方法需求分析方法由對軟件問題的信息域和功能域的系統(tǒng)分析過程及其表示方法組成大多數(shù)的需求分析方法是由信息驅動的信息域具有三種屬性:信息流、信息內容和信息結構。
20SW03軟件工程殷人昆結構化分析方法
面向數(shù)據(jù)流進行需求分析的方法結構化分析方法適合于數(shù)據(jù)處理類型軟件的需求分析21SW03軟件工程殷人昆具體來說,結構化分析方法就是用抽象模型的概念,按照軟件內部數(shù)據(jù)傳遞、變換的關系,自頂向下逐層分解,直到找到滿足功能要求的所有可實現(xiàn)的軟件為止結構化分析方法使用工具:數(shù)據(jù)流圖,數(shù)據(jù)詞典,結構化英語,判定表與判定樹22SW03軟件工程殷人昆數(shù)據(jù)流圖數(shù)據(jù)流圖中的主要圖形元素23SW03軟件工程殷人昆描述銀行取款過程的數(shù)據(jù)流圖24SW03軟件工程殷人昆數(shù)據(jù)流與數(shù)據(jù)加工之間的關系25SW03軟件工程殷人昆數(shù)據(jù)流圖的層次結構為了表達數(shù)據(jù)處理過程的數(shù)據(jù)加工情況,需要采用層次結構的數(shù)據(jù)流圖。按照系統(tǒng)的層次結構進行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結構關系,能清楚地表達和容易理解整個系統(tǒng)26SW03軟件工程殷人昆分層數(shù)據(jù)流圖27SW03軟件工程殷人昆在多層數(shù)據(jù)流圖中,頂層流圖僅包含一個加工,它代表被開發(fā)系統(tǒng)。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù)底層流圖是指其加工不需再做分解的數(shù)據(jù)流圖,它處在最底層中間層流圖則表示對其上層父圖的細化。它的每一加工可能繼續(xù)細化,形成子圖。28SW03軟件工程殷人昆
結構化分析方法步驟示例
商店業(yè)務處理系統(tǒng)29SW03軟件工程殷人昆這個數(shù)據(jù)流圖只是一個高層的系統(tǒng)邏輯模型,它反映了目標系統(tǒng)要實現(xiàn)的功能數(shù)據(jù)流圖繪制步驟首先確定系統(tǒng)的輸入和輸出根據(jù)商店業(yè)務,畫出頂層數(shù)據(jù)流圖,以反映最主要業(yè)務處理流程30SW03軟件工程殷人昆經(jīng)過分析,商店業(yè)務處理的主要功能應當有銷售、采購、會計三大項。主要數(shù)據(jù)流輸入的源點和輸出終點是顧客和供應商。然后從輸入端開始,根據(jù)商店業(yè)務工作流程,畫出數(shù)據(jù)流流經(jīng)的各加工框,逐步畫到輸出端,得到第一層數(shù)據(jù)流圖31SW03軟件工程殷人昆第一層數(shù)據(jù)流圖32SW03軟件工程殷人昆加細每一個加工框 銷售細化33SW03軟件工程殷人昆采購細化34SW03軟件工程殷人昆檢查和修改數(shù)據(jù)流圖的原則數(shù)據(jù)流圖上所有圖形符號只限于前述四種基本圖形元素數(shù)據(jù)流圖的主圖必須包括前述四種基本元素,缺一不可數(shù)據(jù)流圖的主圖上的數(shù)據(jù)流必須封閉在外部實體之間每個加工至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流35SW03軟件工程殷人昆在數(shù)據(jù)流圖中,需按層給加工框編號。編號表明該加工所處層次及上下層的親子關系規(guī)定任何一個數(shù)據(jù)流子圖必須與它上一層的一個加工對應,兩者的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流必須一致。此即父圖與子圖的平衡可以在數(shù)據(jù)流圖中加入物質流,幫助用戶理解數(shù)據(jù)流圖36SW03軟件工程殷人昆圖上每個元素都必須有名字數(shù)據(jù)流圖中不可夾帶控制流初畫時可以忽略瑣碎的細節(jié),以集中精力于主要數(shù)據(jù)流37SW03軟件工程殷人昆數(shù)據(jù)詞典數(shù)據(jù)詞典與數(shù)據(jù)流圖配合,能清楚地表達數(shù)據(jù)處理的要求詞條描述——對于在數(shù)據(jù)流圖中每一個被命名的圖形元素,均加以定義,其內容有:名字,別名或編號,分類,描述,定義,位置,其它,等38SW03軟件工程殷人昆(1)數(shù)據(jù)流詞條描述數(shù)據(jù)流名:說明:簡要介紹作用即它產(chǎn)生的原因和結果數(shù)據(jù)流來源:來自何方數(shù)據(jù)流去向:去向何處數(shù)據(jù)流組成:數(shù)據(jù)結構數(shù)據(jù)量流通量:數(shù)據(jù)量,流通量39SW03軟件工程殷人昆(2)數(shù)據(jù)元素詞條描述數(shù)據(jù)元素名:類型:數(shù)字(離散值,連續(xù)值),文字(編碼類型)長度:取值范圍:相關的數(shù)據(jù)元素及數(shù)據(jù)結構:40SW03軟件工程殷人昆(3)數(shù)據(jù)文件詞條描述數(shù)據(jù)文件名:簡述:存放的是什么數(shù)據(jù)輸入數(shù)據(jù):輸出數(shù)據(jù):數(shù)據(jù)文件組成:數(shù)據(jù)結構存儲方式:順序,直接,關鍵碼存取頻率:41SW03軟件工程殷人昆(4)加工邏輯詞條描述加工名:加工編號:反映該加工的層次簡要描述:加工邏輯及功能簡述輸入數(shù)據(jù)流:輸出數(shù)據(jù)流:加工邏輯:簡述加工程序,加工順序42SW03軟件工程殷人昆(5)源點及匯(終)點詞條描述名稱:外部實體名簡要描述:什么外部實體有關數(shù)據(jù)流:數(shù)目:43SW03軟件工程殷人昆數(shù)據(jù)結構的描述
符號
含義
舉例=被定義為+與
x=a+b[...,...]或[...|...]或
x=[a,b],x=[a|b]{...}或m{...}n重復
x={a},x=3{a}8(...)可選
x=(a)“...”基本數(shù)據(jù)元素
x=“a”.. 連結符
x=1..944SW03軟件工程殷人昆存折格式45SW03軟件工程殷人昆存折=戶名+所號+帳號+開戶日+性質+(印密)+1{存取行}50戶名=2{字母}24所號=“001”..“999”帳號=“00000001”..“99999999”開戶日=年+月+日性質=“1”..“6”注:“1”表示普通戶,“5”表示工資戶等印密=“0”注:印密在存折上不顯示存取行=日期+(摘要)+支出+存入+余額+操作+復核46SW03軟件工程殷人昆
對數(shù)據(jù)流圖的每一個基本加工,必須有一個基本加工邏輯說明基本加工邏輯說明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則基本加工邏輯說明47SW03軟件工程殷人昆加工邏輯說明必須描述實現(xiàn)加工的策略而不是實現(xiàn)加工的細節(jié)加工邏輯說明中包含的信息應是充足的,完備的,有用的,沒有重復的多余信息48SW03軟件工程殷人昆用于寫加工邏輯說明的工具?結構化英語?判定表?判定樹49SW03軟件工程殷人昆(1)結構化英語結構化英語的詞匯表由英語命令動詞數(shù)據(jù)詞典中定義的名字有限的自定義詞邏輯關系詞IF_THEN_ELSE、CASE_OF、WHILE_DO、
REPEAT_UNTIL等組成。50SW03軟件工程殷人昆是一種介于自然語言和形式化語言之間的語言語言的正文用基本控制結構進行分割,加工中的操作用自然語言短語來表示其基本控制結構有三種:簡單陳述句結構:避免復合語句;重復結構:WHILE_DO或
REPEAT_UNTIL結構。判定結構:IF_THEN_ELSE或
CASE_OF結構;51SW03軟件工程殷人昆商店業(yè)務處理系統(tǒng)中“檢查發(fā)貨單”IF發(fā)貨單金額超過$500THENIF欠款超過了60天THEN在償還欠款前不予批準ELSE(欠款未超期)發(fā)批準書,發(fā)貨單ENDIFELSE(發(fā)貨單金額未超過$500)IF欠款超過60天THEN發(fā)批準書,發(fā)貨單及賒欠報告ELSE(欠款未超期)發(fā)批準書,發(fā)貨單ENDIFENDIF52SW03軟件工程殷人昆(2)判定表如果數(shù)據(jù)流圖的加工需要依賴于多個邏輯條件的取值,使用判定表來描述比較合適53SW03軟件工程殷人昆以“檢查發(fā)貨單”為例54SW03軟件工程殷人昆55SW03軟件工程殷人昆(3)判定樹判定樹也是用來表達加工邏輯的一種工具。有時侯它比判定表更直觀。
56SW03軟件工程殷人昆原型化方法在開發(fā)初期,要想得到一個完整準確的規(guī)格說明不是一件容易的事。特別是對一些大型的軟件項目。用戶往往對系統(tǒng)只有一個模糊的想法,很難完全準確地表達對系統(tǒng)的全面要求。57SW03軟件工程殷人昆軟件開發(fā)者對于所要解決的應用問題認識更是模糊不清隨著開發(fā)工作向前推進,用戶可能會產(chǎn)生新的要求,或因環(huán)境變化,要求系統(tǒng)也能隨之變化;開發(fā)者又可能在設計與實現(xiàn)的過程中遇到些沒有預料到的實際困難,需要以改變需求來解脫困境。58SW03軟件工程殷人昆因此規(guī)格說明難以完善、需求的變更、以及通信中的模糊和誤解,都會成為軟件開發(fā)順利推進的障礙。為了解決這些問題,逐漸形成了軟件系統(tǒng)的快速原型的概念。59SW03軟件工程殷人昆軟件原型的分類在軟件開發(fā)中,原型是軟件的一個早期可運行的版本,它反映最終系統(tǒng)的部分重要特性。
探索型:目的是要弄清對目標系統(tǒng)的要求,確定所希望的特性,并探討多種方案的可行性。60SW03軟件工程殷人昆
實驗型:這種原型用于大規(guī)模開發(fā)和實現(xiàn)之前,考核方案是否合適,規(guī)格說明是否可靠。
進化型:這種原型的目的不在于改進規(guī)格說明,而是將系統(tǒng)建造得易于變化,在改進原型的過程中,逐步將原型進化成最終系統(tǒng)。61SW03軟件工程殷人昆原型使用策略
廢棄策略
追加策略
殷人昆:62SW03軟件工程殷人昆建立快速原型,進行系統(tǒng)的分析和構造的好處:增進軟件者和用戶對系統(tǒng)服務需求的理解,使比較含糊的具有不確定性的軟件需求(主要是功能)明確化。軟件原型化方法提供了一種有力的學習手段。63SW03軟件工程殷人昆
使用原型化方法,可以容易地確定系統(tǒng)的性能,確認各項主要系統(tǒng)服務的可應用性,確認系統(tǒng)設計的可行性,確認系統(tǒng)作為產(chǎn)品的結果。軟件原型的最終版本,有的可以原封不動地成為產(chǎn)品,有的略加修改就可以成為最終系統(tǒng)的一個組成部分,這樣有利于建成最終系統(tǒng)。64SW03軟件工程殷人昆65SW03軟件工程殷人昆
66SW03軟件工程殷人昆原型開發(fā)技術可執(zhí)行規(guī)格說明基于腳本(scenario)的設計自動程序設計專用語言可復用(reusable)的軟件簡化假設
67SW03軟件工程殷人昆可執(zhí)行規(guī)格說明可執(zhí)行規(guī)格說明是用于需求規(guī)格說明的一種自動化技術。使用這種方法,人們可以直接觀察他們用語言規(guī)定的任何系統(tǒng)性行為。包括
代數(shù)規(guī)格說明
有限狀態(tài)模型
可執(zhí)行的數(shù)據(jù)流圖
68SW03軟件工程殷人昆(1)代數(shù)規(guī)格說明代數(shù)規(guī)格說明使用集合、定義于這些集合上的函數(shù)和定義于這些函數(shù)上的方程來描述對象。規(guī)格說明的操作語義用這些方程表示。69SW03軟件工程殷人昆
NEW_STACK:→StackPUSH:Stack,Element→StackPOP:Stack→(Element|Undefined)POP(NEW_STACK())=UndefinedPOP(PUSH(stk,elem))=elem其中,前三行定義了操作的語法,后兩行把它們的語義定義為一些方程。舉例:定義一個無界的棧及其操作
70SW03軟件工程殷人昆(2)有限狀態(tài)模型parnas提出的使用最廣泛的一種可執(zhí)行規(guī)格說明形式。從一個初始狀態(tài)開始接收輸入,到產(chǎn)生輸出,狀態(tài)在推移變化。施加在狀態(tài)元素上的約束確定了有效狀態(tài)的推移。71SW03軟件工程殷人昆舉例:建立用戶/程序對話
72SW03軟件工程殷人昆(3)可執(zhí)行的數(shù)據(jù)流圖數(shù)據(jù)流圖是基于結構化開發(fā)方法的結構化規(guī)格說明用一種可執(zhí)行的語言程序代替定義處理邏輯的結構化英語,數(shù)據(jù)流圖就成為由可執(zhí)行語言程序模塊組成的網(wǎng)絡,在一定環(huán)境或工具的支持下就可成為一個可以執(zhí)行的原型系統(tǒng)。
73SW03軟件工程殷人昆基于腳本的設計腳本是指用戶界面的原型。一個腳本用以模擬在系統(tǒng)運行期間用戶經(jīng)歷的事件。它提供了輸入─處理─輸出的屏幕格式和有關對話的模型。因此,軟件開發(fā)者能夠給用戶顯示系統(tǒng)的逼真的視圖,使用戶得以判斷是否符合他的意圖。74SW03軟件工程殷人昆可在任一腳本中使用一套可復用的軟件模塊,以表達某一方面的要求??墒褂靡环N原型語言來描述原型系統(tǒng)。原型開發(fā)過程中用這種語言來定義屏幕、數(shù)據(jù)項、及其相關的操作。從系統(tǒng)的外部描述開始,開發(fā)與數(shù)據(jù)庫的接口、錯誤處理和恢復過程等系統(tǒng)的與外部視圖一致的細節(jié)。
75SW03軟件工程殷人昆自動程序設計自動程序設計是指在程序自動生成環(huán)境的支持下,利用計算機實現(xiàn)軟件的開發(fā)。它可以自動地或半自動地把用戶的非過程式問題規(guī)格說明轉換為某種高級語言程序:76SW03軟件工程殷人昆演繹綜合手段:基于數(shù)學推理的構造式證明。程序變換手段:將一程序轉換成另一功能等價的程序,并保持其正確性不變。77SW03軟件工程殷人昆實例推廣手段:從實例特征出發(fā),將它推廣為待編程序的特征,最后得到程序。過程化手段:研究甚高級語言的編譯和知識的過程化。
78SW03軟件工程殷人昆專用語言專用語言是應用領域的模型化語言。在原型開發(fā)中使用專用語言,可方便用戶和軟件開發(fā)者在計劃中的系統(tǒng)特性方面的交流。
79SW03軟件工程殷人昆軟件復用技術利用可復用的模塊,做出適當?shù)慕M合,就可得到快速構造的原型系統(tǒng)。為了快速地構造原型,這些模塊首先必須有簡單而清晰的界面;其次它們應當盡量不依賴其它的模塊或數(shù)據(jù)結構;第三,它們應具有一些通用的功能。
80SW03軟件工程殷人昆簡化假設簡化假設是在開發(fā)過程中使設計者迅速得到一個簡化的系統(tǒng)所做的假設。盡管這些假設可能實際上并不能成立,但它們在原型開發(fā)過程中可以使開發(fā)者的注意力集中在一些主要的方面。
81SW03軟件工程殷人昆在修改一個文件時,可以假設這個文件確實存在在存取文件時,待存取的記錄總是存在一旦計劃中的系統(tǒng)滿足用戶所有的要求,就可以撤消這些假設,并追加一些細節(jié)。
82SW03軟件工程殷人昆系統(tǒng)動態(tài)分析系統(tǒng)的需求規(guī)格說明通常是用自然語言來敘述的,但是用自然語言描述往往會出現(xiàn)歧義性。為了
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026寧波前灣新區(qū)衛(wèi)生系統(tǒng)事業(yè)單位招聘高層次人才42人筆試備考試題及答案解析
- 2026年潤含公司招聘2名勞務派遣員工筆試備考試題及答案解析
- 2026湖南長沙市雨花湘一外國語中學春季合同制教師招聘考試備考試題及答案解析
- 2026江蘇南京大學哲學學院博士后招聘1人筆試備考題庫及答案解析
- 2026湖北交通投資集團有限公司招聘14人考試參考題庫及答案解析
- 2026年學生心理健康輔導技巧課程
- 2026首都經(jīng)濟貿(mào)易大學招聘103人考試參考題庫及答案解析
- 2026年甘肅省金昌市金川路街道社區(qū)衛(wèi)生服務中心招聘(聘用制)專業(yè)技術人員筆試模擬試題及答案解析
- 北京市大興區(qū)魏善莊鎮(zhèn)社區(qū)衛(wèi)生服務中心招聘勞務派遣人員1人(行政技能輔助崗)筆試參考題庫及答案解析
- 2026上半年貴州事業(yè)單位聯(lián)考綏陽縣招聘73人筆試參考題庫及答案解析
- 復發(fā)性叢集性頭痛
- 宮頸息肉個案護理
- 新生兒感染護理查房
- 2026屆高考語文專題復習-哲理詩
- (二調)武漢市2025屆高中畢業(yè)生二月調研考試 生物試卷(含標準答案)
- 2024-2025學年天津市和平區(qū)高三上學期1月期末英語試題(解析版)
- 管理人員應懂財務知識
- ISO9001-2015質量管理體系版標準
- 翻建房屋四鄰協(xié)議書范本
- 打樁承包合同
- 輸煤棧橋彩鋼板更換施工方案
評論
0/150
提交評論