本科生軟件工程3_第1頁
本科生軟件工程3_第2頁
本科生軟件工程3_第3頁
本科生軟件工程3_第4頁
本科生軟件工程3_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第三部分軟件需求分析軟件需求分析的義務需求分析的過程軟件需求分析的原那么軟件需求分析方法構造化分析方法原型化方法動態(tài)分析方法數(shù)據(jù)及數(shù)據(jù)庫需求軟件需求分析的義務深化描畫軟件的功能和性能確定軟件設計的約束和軟件同其它系統(tǒng)元素的接口細節(jié)定義軟件的其它有效性需求分析員經(jīng)過需求分析,逐漸細化對軟件的要求,描畫軟件要處置的數(shù)據(jù)域,給軟件開發(fā)提供一種可轉化為數(shù)據(jù)設計,構造設計和過程設計的數(shù)據(jù)與功能表示。制定的軟件需求規(guī)格闡明還要為評價軟件質量提供根據(jù)。需求分析研討的對象是軟件工程的用戶要求準確地表達被接受的用戶要求確定被開發(fā)軟件系統(tǒng)的系統(tǒng)元素將功能和數(shù)據(jù)構造分配到這些系統(tǒng)元素中需求分析的義務就是借助于當前系統(tǒng)的邏輯模型導出目的系統(tǒng)的邏輯模型,處理目的系統(tǒng)的“做什么〞的問題。通常軟件開發(fā)工程是要實現(xiàn)目的系統(tǒng)的物理模型目的系統(tǒng)的詳細物理模型是由它的邏輯模型經(jīng)實例化,即詳細到某個業(yè)務領域而得到的需求分析的過程問題識別分析人員要研討方案階段產(chǎn)生的可行性分析報告和軟件工程實施方案。從系統(tǒng)的角度來了解軟件并評審軟件范圍能否恰當確定對目的系統(tǒng)的綜合要求,即軟件的需求提出這些需務虛現(xiàn)條件,以及需求應到達的規(guī)范軟件需求包括:功能需求性能需求環(huán)境需求可靠性需求平安嚴密要求用戶界面需求資源運用需求本錢耗費需求開發(fā)進度需求預先估計以后系統(tǒng)能夠到達的目的問題識別的另一項任務是建立分析所需求的通訊途徑,以保證能順利地對問題進展分析?!?〕分析與綜合需求分析的第二步任務是問題分析和方案的綜合。 從數(shù)據(jù)流和數(shù)據(jù)構造出發(fā),逐漸細化一切的軟件功能,找出系統(tǒng)各元素之間的聯(lián)絡、接口特性和設計上的約束,分析它們能否滿足功能要求,能否合理。剔除其不合理的部分,添加其需求部分。最終綜合成系統(tǒng)的處理方案,給出目的系統(tǒng)的詳細邏輯模型。常用的分析方法面向數(shù)據(jù)流的構造化分析方法〔SA〕面向數(shù)據(jù)構造的Jackson方法〔JSD〕面向對象的分析方法〔OOA〕等建立動態(tài)模型的形狀遷移圖或Petri網(wǎng)(3)編制需求分析階段的文檔?軟件需求闡明書?數(shù)據(jù)要求闡明書?初步的用戶手冊?修正、完善與確定軟件開發(fā)實施方案(4)需求分析評審系統(tǒng)定義的目的能否與用戶的要求一致;系統(tǒng)需求分析階段提供的文檔資料能否齊全;文檔中的一切描畫能否完好、明晰、準確反映用戶要求;與一切其它系統(tǒng)成分的重要接口能否都曾經(jīng)描畫;被開發(fā)工程的數(shù)據(jù)流與數(shù)據(jù)構造能否足夠,確定;一切圖表能否清楚,在不補充闡明時能否了解;主要功能能否已包括在規(guī)定的軟件范圍之內,能否都已充分闡明;設計的約束條件或限制條件能否符合實踐;開發(fā)的技術風險是什么;能否思索過軟件需求的其它方案;能否思索過未來能夠會提出的軟件需求;能否詳細制定了檢驗規(guī)范,它們能否對系統(tǒng)定義能否勝利進展確認;需求分析流程軟件需求分析的原那么必需可以表達和了解問題的數(shù)據(jù)域和功能域必需按自頂向下,逐層分解的方式對問題進展分解和不斷細化要給出系統(tǒng)的邏輯視圖和物理視圖軟件需求分析方法需求分析方法由對軟件問題的數(shù)據(jù)域和功能域的系統(tǒng)分析過程及其表示方法組成大多數(shù)的需求分析方法是由信息驅動的數(shù)據(jù)域有三種屬性:數(shù)據(jù)流、數(shù)據(jù)內容和數(shù)據(jù)構造。構造化分析方法構造化分析是面向數(shù)據(jù)流進展需求分析的方法構造化分析方法適宜于數(shù)據(jù)處置類型軟件的需求分析詳細來說,構造化分析方法就是用籠統(tǒng)模型的概念,按照軟件內部數(shù)據(jù)傳送、變換的關系,自頂向下逐層分解,直到找到滿足功能要求的一切可實現(xiàn)的軟件為止構造化分析方法運用工具:數(shù)據(jù)流圖,數(shù)據(jù)詞典,構造化英語,斷定表與斷定樹數(shù)據(jù)流圖數(shù)據(jù)流圖中的主要圖形元素例:辦理取款手續(xù)的數(shù)據(jù)流圖數(shù)據(jù)流與數(shù)據(jù)加工之間的關系分層的數(shù)據(jù)流圖為了表達數(shù)據(jù)處置過程的數(shù)據(jù)加工情況,需求采用層次構造的數(shù)據(jù)流圖。按照系統(tǒng)的層次構造進展逐漸分解,并以分層的數(shù)據(jù)流圖反映這種構造關系,能清楚地表達和容易了解整個系統(tǒng)分層數(shù)據(jù)流圖在多層數(shù)據(jù)流圖中,頂層流圖僅包含一個加工,它代表被開發(fā)系統(tǒng)。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù)底層流圖是指其加工不需再做分解的數(shù)據(jù)流圖,它處在最底層中間層流圖那么表示對其上層父圖的細化。它的每一加工能夠繼續(xù)細化,構成子圖。構造化分析方法步驟例如

商店業(yè)務處置系統(tǒng)這個數(shù)據(jù)流圖只是一個高層的系統(tǒng)邏輯模型,它反映了目的系統(tǒng)要實現(xiàn)的功能數(shù)據(jù)流圖繪制步驟首先確定系統(tǒng)的輸入和輸出根據(jù)商店業(yè)務,畫出頂層數(shù)據(jù)流圖,以反映最主要業(yè)務處置流程經(jīng)過分析,商店業(yè)務處置的主要功能該當有銷售、采購、會計三大項。主要數(shù)據(jù)流輸入的源點和輸出終點是顧客和供應商。然后從輸入端開場,根據(jù)商店業(yè)務任務流程,畫出數(shù)據(jù)流流經(jīng)的各加工框,逐漸畫到輸出端,得到第一層數(shù)據(jù)流圖第一層數(shù)據(jù)流圖加細每一個加工框 銷售細化采購細化檢查和修正數(shù)據(jù)流圖的原那么數(shù)據(jù)流圖上一切圖形符號只限于前述四種根本圖形元素數(shù)據(jù)流圖的主圖必需包括前述四種根本元素,缺一不可數(shù)據(jù)流圖的主圖上的數(shù)據(jù)流必需封鎖在外部實體之間每個加工至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流在數(shù)據(jù)流圖中,需按層給加工框編號。編號闡明該加工所處層次及上下層的親子關系規(guī)定任何一個數(shù)據(jù)流子圖必需與它上一層的一個加工對應,兩者的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流必需一致。此即父圖與子圖的平衡可以在數(shù)據(jù)流圖中參與物質流,協(xié)助用戶了解數(shù)據(jù)流圖圖上每個元素都必需有名字數(shù)據(jù)流圖中不可夾帶控制流初畫時可以忽略瑣碎的細節(jié),以集中精神于主要數(shù)據(jù)流數(shù)據(jù)詞典數(shù)據(jù)詞典與數(shù)據(jù)流圖配合,能清楚地表達數(shù)據(jù)處置的要求詞條描畫——對于在數(shù)據(jù)流圖中每一個被命名的圖形元素,均加以定義,其內容有:名字,別名或編號,分類,描畫,定義,位置,其它,等〔1〕數(shù)據(jù)流詞條描畫數(shù)據(jù)流名:闡明:簡要引見作用即它產(chǎn)生的緣由和結果數(shù)據(jù)流來源:來自何方數(shù)據(jù)流去向:去向何處數(shù)據(jù)流組成:數(shù)據(jù)構造數(shù)據(jù)量流通量:數(shù)據(jù)量,流通量〔2〕數(shù)據(jù)元素詞條描畫數(shù)據(jù)元素名:類型:數(shù)字〔離散值,延續(xù)值〕,文字〔編碼類型〕長度:取值范圍:相關的數(shù)據(jù)元素及數(shù)據(jù)構造:〔3〕數(shù)據(jù)文件詞條描畫數(shù)據(jù)文件名:簡述:存放的是什么數(shù)據(jù)輸入數(shù)據(jù):輸出數(shù)據(jù):數(shù)據(jù)文件組成:數(shù)據(jù)構造存儲方式:順序,直接,關鍵碼存取頻率:〔4〕加工邏輯詞條描畫加工名:加工編號:反映該加工的層次簡要描畫:加工邏輯及功能簡述輸入數(shù)據(jù)流:輸出數(shù)據(jù)流:加工邏輯:簡述加工程序,加工順序〔5〕源點及匯(終)點詞條描畫稱號:外部實體名簡要描畫:什么外部實體有關數(shù)據(jù)流:數(shù)目:數(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..9存折格式存折=戶名+所號+帳號+開戶日+性質+〔印密〕+1{存取行}50戶名=2{字母}24所號=“001〞..“999〞帳號=“00000001〞..“99999999〞開戶日=年+月+日性質=“1〞..“6〞注:“1〞表示普通戶,“5〞表示工資戶等印密=“0〞注:印密在存折上不顯示存取行=日期+〔摘要〕+支出+存入+余額+操作+復核對數(shù)據(jù)流圖的每一個根本加工,必需有一個根本加工邏輯闡明根本加工邏輯闡明必需描畫根本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)那么加工邏輯闡明必需描畫實現(xiàn)加工的戰(zhàn)略而不是實現(xiàn)加工的細節(jié)加工邏輯闡明中包含的信息應是充足的,完備的,有用的,沒有反復的多余信息根本加工邏輯闡明用于寫加工邏輯闡明的工具構造化英語斷定表斷定樹〔1〕構造化英語(PDL)言語構造化英語的詞匯表由英語命令動詞數(shù)據(jù)詞典中定義的名字有限的自定義詞邏輯關系詞IF_THEN_ELSE、CASE_OF、WHILE_DO、REPEAT_UNTIL等組成。是一種介于自然言語和方式化言語之間的言語言語的正文用根本控制構造進展分割,加工中的操作用自然言語短語來表示其根本控制構造有三種:簡單陳說句構造:防止復合語句;反復構造:WHILE_DO或REPEAT_UNTIL構造。斷定構造:IF_THEN_ELSE或CASE_OF構造;商店業(yè)務處置系統(tǒng)中“檢查發(fā)貨單〞IF發(fā)貨單金額超越$500THENIF欠款超越了60天THEN在歸還欠款前不予同意ELSE〔欠款未超期〕發(fā)同意書,發(fā)貨單ENDIFELSE〔發(fā)貨單金額未超越$500〕IF欠款超越60天THEN發(fā)同意書,發(fā)貨單及賒欠報告ELSE〔欠款未超期〕發(fā)同意書,發(fā)貨單ENDIFENDIF〔2〕斷定表假設數(shù)據(jù)流圖的加工需求依賴于多個邏輯條件的取值,運用斷定表來描畫比較適宜以“檢查發(fā)貨單〞為例〔3〕斷定樹斷定樹也是用來表達加工邏輯的一種工具。有時侯它比斷定表更直觀。原型化方法在開發(fā)初期,要想得到一個完好準確的規(guī)格闡明不是一件容易的事。特別是對一些大型的軟件工程。用戶往往對系統(tǒng)只需一個模糊的想法,很難完全準確地表達對系統(tǒng)的全面要求。軟件開發(fā)者對于所要處理的運用問題認識更是模糊不清隨著開發(fā)任務向前推進,用戶能夠會產(chǎn)生新的要求,或因環(huán)境變化,要求系統(tǒng)也能隨之變化;開發(fā)者又能夠在設計與實現(xiàn)的過程中遇到些沒有預料到的實踐困難,需求以改動需求來解脫姿態(tài)。因此規(guī)格闡明難以完善、需求的變卦、以及通訊中的模糊和誤解,都會成為軟件開發(fā)順利推進的妨礙。為理處理這些問題,逐漸構成了軟件系統(tǒng)的快速原型的概念。軟件原型的分類在軟件開發(fā)中,原型是軟件的一個早期可運轉的版本,它反映最終系統(tǒng)的部分重要特性。探求型:目的是要弄清對目的系統(tǒng)的要求,確定所希望的特性,并討論多種方案的可行性。實驗型:這種原型用于大規(guī)模開發(fā)和實現(xiàn)之前,考核方案能否適宜,規(guī)格闡明能否可靠。進化型:這種原型的目的不在于改良規(guī)格闡明,而是將系統(tǒng)建造得易于變化,在改良原型的過程中,逐漸將原型進化成最終系統(tǒng)。原型運用戰(zhàn)略廢棄戰(zhàn)略追加戰(zhàn)略建立快速原型,進展系統(tǒng)的分析和構造的益處:增進軟件人員和用戶對系統(tǒng)效力需求的了解,使比較模糊的具有不確定性的軟件需求〔主要是功能〕明確化。軟件原型化方法提供了一種有力的學習手段。運用原型化方法,可以容易地確定系統(tǒng)的性能,確認各項主要系統(tǒng)效力的可運用性,確認系統(tǒng)設計的可行性,確認系統(tǒng)作為產(chǎn)品的結果。軟件原型的最終版本,有的可以原封不動地成為產(chǎn)品,有的略加修正就可以成為最終系統(tǒng)的一個組成部分,這樣有利于建成最終系統(tǒng)??焖僭烷_發(fā)模型〔原型生存期〕

軟件開發(fā)過程軟件復用技術利用可復用的模塊,做出適當?shù)慕M合,就可得到快速構造的原型系統(tǒng)。為了快速地構造原型,這些模塊首先必需有簡單而明晰的界面;其次它們該當盡量不依賴其它的模塊或數(shù)據(jù)構造;第三,它們應具有一些通用的功能。軟件復用的范圍尚無嚴厲定義,它包容了用來開發(fā)軟件的任何信息的復用。包括現(xiàn)有軟件開發(fā)方法論的復用;軟件要求,規(guī)格闡明和設計的復用;源代碼,模塊和操作系統(tǒng)的復用;文檔的復用;分析數(shù)據(jù)的復用;測試信息的復用;維護信息數(shù)據(jù)庫的復用等等。軟件工具與支撐環(huán)境的復用也屬于軟件復用任務的范圍。軟件復用的范圍根本上規(guī)為五個層次:復用數(shù)據(jù)復用模塊復用構造復用設計復用規(guī)格闡明軟件復用技術合成技術:構件是復用的根底。構件方法以籠統(tǒng)數(shù)據(jù)類型為根底,將功能與數(shù)據(jù)構造封裝在構件內部,構件可以是對某一個函數(shù),過程,子程序,數(shù)據(jù)類型,算法等可復用軟件成分的籠統(tǒng)。構成大構件的方法:銜接;音訊傳送和承繼;管道機制生成技術:生成技術利用可復用的方式,經(jīng)過生成程序產(chǎn)生一個新的程序或程序段,產(chǎn)生的程序可以看成是程序的實例。兩種復用方式:代碼方式:將可復用的代碼方式存于生成器內,經(jīng)過特定的參數(shù)交換,生成籠統(tǒng)軟件模塊的詳細實現(xiàn)。規(guī)那么方式:利用變換規(guī)那么集合。其變換方法中通常采用高級的規(guī)格闡明言語,方式化地給出軟件的需求規(guī)格闡明,利用程序變換系統(tǒng)把采用高級的規(guī)格闡明言語編寫的程序轉化成某種可執(zhí)行言語的程序。系統(tǒng)動態(tài)分析系統(tǒng)的需求規(guī)格闡明通常是用自然言語來表達的,但是用自然言語描畫往往會出現(xiàn)歧義性。為了直觀地分析系統(tǒng)的動作,從特定的視點出發(fā)描畫系統(tǒng)的行為,需求采用動態(tài)分析的方法。最常用的動態(tài)分析方法形狀遷移圖時序圖Petri網(wǎng)形狀遷移圖形狀遷移圖是描畫系統(tǒng)的形狀如何相應外部的信號進展推移的一種圖形表示。圓圈“○〞表示可得到的系統(tǒng)形狀箭頭“→〞表示從一種形狀向另一種形狀的遷移。例如,當有多個懇求占用CPU運轉的進程時,有關CPU分配的進程的形狀遷移。可得到的形狀=就緒,運轉,等待生成的事件=t1,t2,t3,t4t1─中斷事件t2─中斷已處置t3─分配CPUt4─用完CPU時間形狀遷移圖的優(yōu)點形狀之間的關系可以直觀地捕捉到由于形狀遷移圖的單純性,可以機械地分析許多情況,可很容易地建立分析工具Petri網(wǎng)Petri網(wǎng)已廣泛地運用于硬件與軟件系統(tǒng)的開發(fā)中,它適用于描畫與分析相互獨立、協(xié)同操作的處置系統(tǒng),也就是并發(fā)執(zhí)行的處置系統(tǒng)。Petri網(wǎng)簡稱PNG(PetriNetGraph),是一種有項圖,它有兩種結點:位置(place):符號為“○〞,它用來表示系統(tǒng)的形狀。轉移(transition):符號為“|〞或“—〞,它用來表示系統(tǒng)中的事件。圖中的有向邊表示對轉移的輸入,或由轉移的輸出標志,或稱令牌(token),是闡明系統(tǒng)當前處于什么形狀的標志圖中,表示位置P3與P5的圓圈中間點了一個黑點,稱為標志。標志在位置上的出現(xiàn)闡明了處置要求的到來。也就是說事件t3激發(fā)的兩個前提都已具備,轉移t3激發(fā)。作為執(zhí)行結果,位置p3與p5上的標志移去,移到了位置p4上。反過來,當激發(fā)產(chǎ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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論