版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件工程導論(3)
——軟件需求分析南京理工大學汪惠芬2005年9月8日軟件工程導論(3)
——軟件需求分析南京理工大學第三章軟件需求分析需求分析要求:一致性完整性無二義性現實性可驗證性可跟蹤性易修理性SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0所有需求不互相矛盾,要一致用戶每個必要的需求沒有遺漏用戶與開發(fā)人員對于需求的理解是完全一致的所有需求在項目資源保證下是可實現的能確切地驗證已經定義的需求能否滿足用戶的要求,能驗證軟件產品能否滿足規(guī)定的需求,性能指標是否達到具有可觀的可度量準則定義的每個功能、性能可以追溯用戶的原始需求,規(guī)定的需求能檢索、分割、交叉查找軟件的功能、性能以及需求便于修改、擴充12/24/20222軟件工程導論第三章軟件需求分析需求分析要求:SA方法JSDSADT需第三章軟件需求分析需求分析方法:結構化分析方法SA面向數據結構的分析方法
—DSSD、JSD原型化方法SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/20223軟件工程導論第三章軟件需求分析需求分析方法:SA方法JSDSADT需第三章軟件需求分析需求分析工具:數據流圖DFD(DataFlowDiagram)、數據詞典DD(DataDictionary)、判定表DT(DecisionTable)、判定樹DT(DecisionTree)、結構化高級分析語言LSA(LanguageofStructuredAnalysis)、層次圖HC(HierarchyChart)、輸入處理輸出圖IPO(InputProcessOutput)、Warnier圖、結構化分析與設計技術SADT(StructuredAnalysis&DesignTechnology)、軟件需求工程方法SREM(SoftwareRequirementEngineeringMethodology)、問題描述語言PSL(ProblemStatementLanguage)、問題描述分析器PSA(ProblemStatementAnalyzer)。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/20224軟件工程導論第三章軟件需求分析需求分析工具:SA方法JSDSADT需第三章軟件需求分析3.1軟件需求分析概述3.2結構化分析方法3.3結構化數據系統(tǒng)開發(fā)方法3.4Jackson系統(tǒng)開發(fā)方法3.5系統(tǒng)動態(tài)分析3.6結構化分析與設計技術3.7IDEF0方法3.8軟件需求分析的復審3.9本章小結SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/20225軟件工程導論第三章軟件需求分析3.1軟件需求分析概述SA方法JS3.1軟件需求分析概述★3.1.1軟件需求分析的任務3.1.2軟件需求分析的步驟3.1.3軟件需求分析的原則SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/20226軟件工程導論3.1軟件需求分析概述★3.1.1軟件需求分析的任務3.1.1軟件需求分析的任務軟件需求分析的根本任務是:系統(tǒng)必須做什么?具體任務如下:確定被開發(fā)系統(tǒng)的綜合要求分析系統(tǒng)的數據要求SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0功能要求性能要求運行要求可靠性要求安全保密要求成本消耗要求用戶接口要求資源使用要求開發(fā)進展要求12/24/20227軟件工程導論3.1.1軟件需求分析的任務軟件需求分析的根本任務是:系3.1.1軟件需求分析的任務軟件需求分析的根本任務是:系統(tǒng)必須做什么?具體任務如下:導出目標系統(tǒng)邏輯模型根據確定的需求審定可行性報告,修正軟件項目開發(fā)計劃用原型模型、需求分析的驗證工具或經人工審定需求的正確性編制軟件需求規(guī)格說明書SRS(SoftwareRequirementSpecification)SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/20228軟件工程導論3.1.1軟件需求分析的任務軟件需求分析的根本任務是:系3.1.2軟件需求分析的步驟SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0抽象具體化當前系統(tǒng)目標系統(tǒng)怎么做當前系統(tǒng)物理模型做什么當前系統(tǒng)邏輯模型目標系統(tǒng)物理模型表達需求目標系統(tǒng)邏輯模型理解需求導出歸納模型化實例化12/24/20229軟件工程導論3.1.2軟件需求分析的步驟SA方法JSDSADT需求復軟件需求分析的通信途徑SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0管理人員分析人員用戶軟件開發(fā)小組原型軟件需求規(guī)格說明軟件計劃12/24/202210軟件工程導論軟件需求分析的通信途徑SA方法JSDSADT需求復審本章小結軟件需求分析的工作流程SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202211軟件工程導論軟件需求分析的工作流程SA方法JSDSADT需求復審本章小結3.1.3軟件需求分析的原則軟件需求分析的基本原則如下:(1)能夠表達和理解問題的信息域和功能域信息域:信息流信息內容信息結構SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0轉換1轉換2數據存儲輸入數據中間數據結果數據附加數據12/24/202212軟件工程導論3.1.3軟件需求分析的原則軟件需求分析的基本原則如下:3.1.3軟件需求分析的原則軟件需求分析的基本原則如下:(2)能夠對問題進行分解和不斷細化,建立問題的層次結構SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0橫向分解縱向分解12/24/202213軟件工程導論3.1.3軟件需求分析的原則軟件需求分析的基本原則如下:3.1.3軟件需求分析的原則SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0SABC213ABCA1B12.22.12.3B1CA1BB13.23.13.43.3S2.13.112.22.33.23.33.4ABCBCA2A13B1A1B1CB1BDFD0DFD1DFD2層次分解數據流圖12/24/202214軟件工程導論3.1.3軟件需求分析的原則SA方法JSDSADT需求復3.1.3軟件需求分析的原則軟件需求分析的基本原則如下:(3)分別給出系統(tǒng)的邏輯視圖和物理視圖邏輯視圖:給出軟件要達到的功能和要處理的信息之間的關系,而不是實現的細節(jié)。物理視圖:給出處理功能和信息結構的實際表現形式,這往往是由設備本身決定的。僅限于“做什么”的范圍。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202215軟件工程導論3.1.3軟件需求分析的原則軟件需求分析的基本原則如下:3.2結構化分析方法3.2.1數據流圖DFD3.2.2數據詞典DDSA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202216軟件工程導論3.2結構化分析方法3.2.1數據流圖DFDSA方3.2.1數據流圖DFD數據流圖:數據流圖是描述數據處理過程的有力工具。數據流圖從數據傳遞和加工的角度,以圖形的方式刻畫數據流從輸入到輸出的移動變換過程。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202217軟件工程導論3.2.1數據流圖DFD數據流圖:SA方法JSDSADT3.2.1數據流圖DFD數據流圖中的主要圖形元素SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0符號名稱說明示例加工(邏輯處理,數據處理變換)輸入數據在此進行變換產生輸出數據,要注明加工的名字,對加工的命名通常用動賓結構(動名詞短語)。數據輸入的源點或數據輸出的匯點表示圖中要處理的數據的輸入來源或處理結果送往何處,要注明源點或匯點的名字。數據流被加工的數據與流向。數據流是沿箭頭方向傳送的數據,一般以名詞或名詞性短語命名,也可沒有命名。同一圖上不能有同名的數據流,數據流不能交叉。文件(數據存儲)用以保存數據,可以是數據庫文件或任何形式的數據組織,必須用名詞或名詞性短語命名。指向文件的數據流表示寫入文件或查詢文件,離開文件的數據流表示從文件讀取數據或得到查詢結果。1.學生選課學生費用課程注冊12/24/202218軟件工程導論3.2.1數據流圖DFD數據流圖中的主要圖形元素SA方法3.2.1數據流圖DFD數據流圖示例(學生選課系統(tǒng))SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF01.學生選課學生2.課程注冊3.表格打印學生教師開課清單課程注冊選課單費用學生課表成績記載單12/24/202219軟件工程導論3.2.1數據流圖DFD數據流圖示例SA方法JSDSAD3.2.1數據流圖DFD數據流與加工之間的關系在DFD中,如果有兩個以上數據流指向同一個加工,或是從一個加工引出兩個以上的數據流,這些數據流之間往往存在一定的關系。為表達這些關系,在這些數據流的加工附近可以加上不同的標記符號。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202220軟件工程導論3.2.1數據流圖DFD數據流與加工之間的關系SA方法J3.2.1數據流圖DFD數據流與加工之間的關系SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0符號名稱說明BAC有A,則有B或C,或者兩者都有B∨C=A或B+C=ABA*C有A,則有B與C,兩者同時有B∧C=A或B·C=ABAC有A,則有B或C,但不會同時有B與C或BC=A12/24/202221軟件工程導論3.2.1數據流圖DFD數據流與加工之間的關系SA方法J3.2.1數據流圖DFD數據流與加工之間的關系SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0符號名稱說明ACB當A或B有一個存在,則有CC=A∨B或C=A+BA*CB當A或B都存在,則有CC=A∧B或C=A·BACB只有A或只有B,但不會同時都存在,則有C或C=AB12/24/202222軟件工程導論3.2.1數據流圖DFD數據流與加工之間的關系SA方法J3.2.1數據流圖DFD分層數據流圖按照系統(tǒng)的層次結構進行逐步分解,并以分層的數據流圖反映這種結構關系,能清楚地表達和容易理解整個系統(tǒng)。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202223軟件工程導論3.2.1數據流圖DFD分層數據流圖SA方法JSDSAD3.2.1數據流圖DFD分層數據流圖構造步驟:(1)確定系統(tǒng)邊界,畫出頂層數據流圖,記為DFD/L0(2)自頂向下,對每個加工進行內部分解,畫出分層數據流圖,依次記為DFD/L1,DFD/L2.i,…,DFD/Ln.iSA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202224軟件工程導論3.2.1數據流圖DFD分層數據流圖構造步驟:SA方法J3.2.1數據流圖DFD分層數據流圖總體結構SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0SFFDFD/L0213FFB1A3A2A1DFD/L11.21.11.3FA1A3DFD/L2.1B12.22.12.42.3A2A1A2DFD/L2.23.23.13.3A3FB1DFD/L2.312/24/202225軟件工程導論3.2.1數據流圖DFD分層數據流圖總體結構SA方法JS3.2.1數據流圖DFD分層數據流圖示例——學生選課系統(tǒng)(DFD/L0)SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0學生教師選課單學生課表成績記載單學生選課系統(tǒng)12/24/202226軟件工程導論3.2.1數據流圖DFD分層數據流圖示例SA方法JSDS3.2.1數據流圖DFD分層數據流圖示例——學生選課系統(tǒng)(DFD/L1)SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF01.學生選課學生2.課程注冊3.表格打印教師開課清單課程注冊選課單費用學生課表成績記載單12/24/202227軟件工程導論3.2.1數據流圖DFD分層數據流圖示例SA方法JSDS3.2.1數據流圖DFD分層數據流圖示例——學生選課系統(tǒng)(DFD/L2.1)SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF01.1合法性檢查學生1.2查已修課程成績1.3計算課程沖突率開課清單學生成績庫選課單學生學號已選課程費用1.4計算課程注冊費重修課程合法課程記錄12/24/202228軟件工程導論3.2.1數據流圖DFD分層數據流圖示例SA方法JSDS3.2.1數據流圖DFD分層數據流圖示例——學生選課系統(tǒng)(DFD/L2.3)SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF03.1打印學生課表學生3.2打印課程成績單課程注冊表學生課表課程成績單教師12/24/202229軟件工程導論3.2.1數據流圖DFD分層數據流圖示例SA方法JSDS3.2.1數據流圖DFD分層數據流圖構造步驟:(3)對數據流圖進行復查求精。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0分析追蹤數據流圖用戶復查細化數據流圖需要分解不需要分解無補充修正補充修正12/24/202230軟件工程導論3.2.1數據流圖DFD分層數據流圖構造步驟:SA方法J3.2.1數據流圖DFD數據流圖畫法要求(1)數據流圖上所有符號只限于前述四種基本圖形元素,并且數據流圖的主圖必須包括這四種基本元素,缺一不可。(2)每個加工至少有一個輸入數據流和一個輸出數據流。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202231軟件工程導論3.2.1數據流圖DFD數據流圖畫法要求SA方法JSDS3.2.1數據流圖DFD數據流圖畫法要求(3)可以在數據流圖中加入物質流,幫助用戶理解數據流圖,但數據流圖中不可夾帶控制流和信息流。(4)初畫時可以忽略瑣碎的細節(jié),以集中精力于主要數據流,一些枝節(jié)問題可以緩一步畫出。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202232軟件工程導論3.2.1數據流圖DFD數據流圖畫法要求SA方法JSDS3.2.1數據流圖DFD數據流圖畫法要求(5)控制單張數據流圖的復雜性,一個加工的下級子加工應控制在7±2以內,流入、流出同一加工的數據流不能太多。(6)分解層次的均勻性??蓪⒁粋€系統(tǒng)的全部分層數據流圖看成一棵樹,頂層加工為樹根,所有底層加工為樹葉,從樹根到所有樹葉的路徑長度之差不應太大。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202233軟件工程導論3.2.1數據流圖DFD數據流圖畫法要求SA方法JSDS3.2.2數據詞典DD數據詞典數據詞典是結構化分析方法的另一個工具,它與數據流圖配合,能清楚地表達數據處理的要求。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202234軟件工程導論3.2.2數據詞典DD數據詞典SA方法JSDSADT需求3.2.2數據詞典DD數據詞典的任務數據詞典的任務是對于數據流圖中出現的所有命名元素,包括數據流、加工、數據文件,以及數據的源、匯點等,在數據詞典中作為一個詞條加以定義,使得每一個圖形元素的名字都有一個確切的解釋。數據詞典中的定義應是嚴密的、精確的,不可有半點含混,不可有二義性。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202235軟件工程導論3.2.2數據詞典DD數據詞典的任務SA方法JSDSAD3.2.2數據詞典DD詞條描述:圖形元素的名字別名或編號分類:加工,數據流,數據文件,數據元素,數據源、匯點等描述:該詞條的功能、特點等定義:該詞條的組成、數據結構等位置:數據流的來源、去出,加工框的編號、輸入、輸出,數據元素在哪個數據結構中等其它:數據流的數據量、流通量,數據文件的存儲方式、存取要求,數據加工的加工順序,外部實體的數量等SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202236軟件工程導論3.2.2數據詞典DD詞條描述:SA方法JSDSADT需3.2.2數據詞典DD數據結構的描述:在數據流圖中,數據流和數據文件都具有一定的數據結構,必須以一種清晰、準確、無二義性的方式描述。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202237軟件工程導論3.2.2數據詞典DD數據結構的描述:SA方法JSDSA3.2.2數據詞典DD數據詞典定義式中的符號:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0符號含義解釋=被定義為+與x=a+b表示x由a和b組成[…,…]或x=[a,b],x=[a|b]表示x由a或由b組成[…|…]{…}重復x={a}表示x由0個a或多個a組成m{…}n重復x=3{a}8表示x中至少出現3次a,至多出現8次a(…)可選x=(a)表示a可在x中出現,也可不出現“…”基本數據元素x=“a”表示x為取值為a的數據元素..連接符x=1..9表示x可取1到9之中的任一值12/24/202238軟件工程導論3.2.2數據詞典DD數據詞典定義式中的符號:SA方法J數據詞典中條目的定義(1)數據流條目:定義一個數據流的數據項組成。其構成框架如下,其中方括號部分是條目構成的可選部分。數據流名稱[別名列表]數據流組成[來源][去向][處理特點(使用頻率,數據量等)][其它注釋(格式,位置等)]SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202239軟件工程導論數據詞典中條目的定義(1)數據流條目:定義一個數據流的數據項數據詞典中條目的定義數據流組成是數據流條目的主要部分,其構成是:<數據流名稱>=數據項[<邏輯操作符>數據項…]常用符號:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0=表示“定義為(等價于)”+表示“與”[|]括號內用“|”分隔的各項中選擇出現一項()括號內部分可以不出現{}括號內部分重復出現12/24/202240軟件工程導論數據詞典中條目的定義數據流組成是數據流條目的主要部分,其構成數據詞典中條目的定義數據流條目示例:數據流課程成績單課程成績單=課程編碼+課程名[任課老師|指導老師]+{學號+姓名+成績(+備注)}數據流合法選課記錄別名選課記錄,重修記錄,已選記錄合法選課記錄=學號+課程時間表SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202241軟件工程導論數據詞典中條目的定義數據流條目示例:SA方法JSDSADT需數據詞典中條目的定義(2)文件條目:作為數據的靜態(tài)存儲池,是記錄的有序集合。其構成框架如下:文件名[別名列表]記錄定義[文件組織][存儲介質描述]SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202242軟件工程導論數據詞典中條目的定義(2)文件條目:作為數據的靜態(tài)存儲池,是數據詞典中條目的定義文件條目示例:文件學生成績學生成績=學生學號+課程編號+成績+備注組織:以學號為記錄關鍵字升序排列注釋:備注域用于標識課程類別(必修/限選/任選)SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202243軟件工程導論數據詞典中條目的定義文件條目示例:SA方法JSDSADT需求數據詞典中條目的定義(3)數據項條目:數據項是組成數據流的成分,分為:基本數據項:整數、小數、字符串、日期、邏輯值等,在數據詞典中通常要求定義其邏輯或物理格式。結構型數據項:由若干數據項組成,其說明結構與數據流條目結構類似。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202244軟件工程導論數據詞典中條目的定義(3)數據項條目:數據項是組成數據流的成數據詞典中條目的定義數據項條目示例:課程編碼:XXXXXXX(7位數字)第1位:系編號第2~3位:教研室編號第4~6位:課程序號第7位:課堂號課程時間表=課程編碼+起始周+終止周+{星期+節(jié)+教室號}起始周、終止周=1..22星期=1..6節(jié)=1..12教室號:XXXXSA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202245軟件工程導論數據詞典中條目的定義數據項條目示例:SA方法JSDSADT需數據詞典中條目的定義(4)加工說明:數據流圖中每個底層加工(基本加工)要求在數據詞典中有一個準確、簡明的形式化或半形式化描述,其結構如下:加工:加工編號加工名[別名]輸入數據流輸出數據流加工的功能描述加工的邏輯描述(結構化語言/表格/圖形)[附加說明]SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202246軟件工程導論數據詞典中條目的定義(4)加工說明:數據流圖中每個底層加工(數據詞典中條目的定義結構化語言LSA:結構化語言是一種介于自然語言和形式語言之間的半形式化語言,它是在自然語言基礎上加了一些限制而得的語言,它是用有限的詞匯和有限的語句來描述加工邏輯。其詞匯表由命令動詞、數據詞典中定義的名字、有限的自定義詞和邏輯關系詞If-Then-Else、While-Do、Repeat-Until、Case-Of等組成。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202247軟件工程導論數據詞典中條目的定義結構化語言LSA:SA方法JSDSADT數據詞典中條目的定義結構化語言基本控制結構:簡單陳述句結構判定結構:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0If<條件>Then<語句塊1>;Else<語句塊2>;Case<選擇表達式>OfCase:<語句塊1>;……Case:<語句塊n>;Else<語句塊n+1>;End12/24/202248軟件工程導論數據詞典中條目的定義結構化語言基本控制結構:SA方法JSDS數據詞典中條目的定義結構化語言基本控制結構:重復結構:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0While<條件>Do<循環(huán)體>Repeat<循環(huán)體>Until<條件>;For<循環(huán)初值;循環(huán)終止描述>Do<循環(huán)體>;12/24/202249軟件工程導論數據詞典中條目的定義結構化語言基本控制結構:SA方法JSDS數據詞典中條目的定義結構化語言示例:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0加工1.1合法性檢查Begin讀取選課單;While課程編碼不空Do在開課清單中查找該課程If找到Then輸出合法選可記錄;取該生下一選修課程編碼EndDo輸出該生學號End加工1.2查已修課程成績Begin根據學號在學生成績庫中查找該生的重修課程;輸出重修課程編碼;End注釋:學生成績記錄中成績不及格,備注=“必修”,則該課程重修12/24/202250軟件工程導論數據詞典中條目的定義結構化語言示例:SA方法JSDSADT需數據詞典中條目的定義判定表DT:在某些數據處理問題中,某數據流圖的加工需要依賴于多個邏輯條件的取值,即:完成這一加工的一組動作是由于某一組條件取值的組合而引發(fā)的,這時使用判定表來描述比較合適。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202251軟件工程導論數據詞典中條目的定義判定表DT:SA方法JSDSADT需求復數據詞典中條目的定義判定表組成:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0條件茬條件項動作茬動作項規(guī)則12/24/202252軟件工程導論數據詞典中條目的定義判定表組成:SA方法JSDSADT需求復數據詞典中條目的定義判定表示例:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF01234條件發(fā)貨金額>$500>$500<$500<$500賒欠情況>60天≤60天>60天≤60天操作不發(fā)批準書√發(fā)出批準書√√√發(fā)出發(fā)貨單√√√發(fā)賒欠報告√12/24/202253軟件工程導論數據詞典中條目的定義判定表示例:SA方法JSDSADT需求復數據詞典中條目的定義判定表規(guī)則:通常將任一條件及其相應執(zhí)行的動作稱為規(guī)則,它在判定表中是縱向貫穿條件項和動作項的一列。在實際使用判定表時,常常先把它化簡,如果表中有兩條或更多的規(guī)則具有相同的動作,并且其條件項之間存在著某種關系,就可設法將它們合并。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202254軟件工程導論數據詞典中條目的定義判定表規(guī)則:SA方法JSDSADT需求復數據詞典中條目的定義判定表規(guī)則化簡示例:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0YYNNYNXXYN-XYY-NNNXXY-NX12/24/202255軟件工程導論數據詞典中條目的定義判定表規(guī)則化簡示例:SA方法JSDSAD數據詞典中條目的定義判定樹DT:判定樹也是用來表達加工邏輯的一種工具,有時它比判定表更直觀,用它來描述加工,很容易為用戶接受,特別是在說明符合條件嵌套的加工邏輯時,用判定樹描述結構清晰,易讀易理解。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202256軟件工程導論數據詞典中條目的定義判定樹DT:SA方法JSDSADT需求復數據詞典中條目的定義判定樹DT示例:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0檢查發(fā)貨單金額>$500金額<$500欠款>60天——不發(fā)批準書欠款≤60天——發(fā)出批準書、發(fā)貨單欠款>60天——發(fā)出批準書、發(fā)貨單及賒欠報告欠款≤60天——發(fā)出批準書、發(fā)貨單12/24/202257軟件工程導論數據詞典中條目的定義判定樹DT示例:SA方法JSDSADT需數據詞典中條目的定義方法選用原則:在表達一個基本加工邏輯時,結構化語言、判定表、判定樹常被交叉利用,互相補充。對不太復雜的判定條件,或用判定表有困難時,使用判定樹較好。若在一個加工邏輯中同時存在順序、判斷和循環(huán)時,使用結構化語言較好。對于復雜的判定,組合條件較多時,使用判定表較好。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202258軟件工程導論數據詞典中條目的定義方法選用原則:SA方法JSDSADT需求3.3結構化數據系統(tǒng)開發(fā)方法結構化數據系統(tǒng)開發(fā)方法DSSD(DataStructuredSystemsDevelopment),也稱為Warnier-Orr方法,是由J.D.Warnier提出的。他提出利用三種基本構造,即順序、選擇、重復構造表示信息的分層結構,并進而由數據結構直接導出軟件結構。Orr將其擴充,形成了結構化數據系統(tǒng)開發(fā)方法。該方法考慮了信息流和功能特性以及數據的分層關系。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202259軟件工程導論3.3結構化數據系統(tǒng)開發(fā)方法結構化數據系統(tǒng)開發(fā)方法DSS3.3結構化數據系統(tǒng)開發(fā)方法3.3.1Warnier圖3.3.2DSSD的分析方法SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202260軟件工程導論3.3結構化數據系統(tǒng)開發(fā)方法3.3.1Warnier3.3.1Warnier圖Warnier圖是表示層次信息結構的一種精湊而直觀的方式,很容易被人們理解。以報紙的自動編輯系統(tǒng)為例。通常報紙的版面采用以下格式:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0頭版部分頭條新聞國內新聞當地新聞社論部分社論專欄讀者來信諷刺漫畫副刊部分體育新聞商業(yè)新聞廣告12/24/202261軟件工程導論3.3.1Warnier圖Warnier圖是表示層次信息3.3.1Warnier圖上面給出的報紙概觀是一個信息的層次結構,Warnier圖可在細節(jié)的任一層次上表示層次結構。報紙的信息層次結構可表示如下:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0報紙頭版部分頭條新聞國內新聞當地新聞社論部分社論(1,1)專欄(1,3)讀者來信(1,3)諷刺漫畫(0,1)副刊部分體育新聞商業(yè)新聞廣告12/24/202262軟件工程導論3.3.1Warnier圖上面給出的報紙概觀是一個信息的3.3.1Warnier圖在Warnier圖中,用大括號“{”表示層次關系,在同一括號下,自上到下是順序排列的信息項。在有些信息項名字的后面附加了圓括號,給出該信息項重復的次數。例如:社論(1,1)表示社論占一欄;專欄(1,3)表示專欄占1到3欄;諷刺漫畫(0,1)表示諷刺漫畫可有可無,若有就占一欄。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202263軟件工程導論3.3.1Warnier圖在Warnier圖中,用大括號3.3.1Warnier圖Warnier圖可以通過細化復合信息項進一步分解信息域。報紙副刊部分的細化結果可表示如下:異或符號表示對位于它上下兩邊的信息項條件的選擇,不是經營信息,就是雇員信息,二者選一。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0副刊部分體育新聞地區(qū)隊職業(yè)隊拳擊商業(yè)新聞經營簡訊雇員簡訊一般新聞廣告招生招聘求助12/24/202264軟件工程導論3.3.1Warnier圖Warnier圖可以通過細化復3.3.2DSSD的分析方法用DSSD方法進行分析時,不是從考察信息的層次結構開始,而是首先研究“應用環(huán)境”。即:分別站在信息的產生者和接受者的角度,觀察信息如何在產生者和接受者之間流動。用類似于Warnier圖的表示方法描述信息項和對信息項的處理,從而確定問題的功能。利用Warnier圖建立問題結果的模型。使用這一方法進行需求分析,會涉及到信息項的所有屬性:數據流、數據內容和數據結構。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202265軟件工程導論3.3.2DSSD的分析方法用DSSD方法進行分析時,不DSSD方法的步驟(1)利用人們熟悉的數據流圖表示系統(tǒng)業(yè)務的整體信息流。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0銷售:接受、記錄訂購信息顧客發(fā)貨:訂購完成UPS訂單號
顧客姓名
顧客地址
訂購日期
貨號
批號訂單文件電話訂購品名
規(guī)格
數量
單價
總計裝運單發(fā)貨部門訂單號訂單號品名
規(guī)格
數量
顧客地址
訂購日期會計系統(tǒng)
管理報告12/24/202266軟件工程導論DSSD方法的步驟(1)利用人們熟悉的數據流圖表示系統(tǒng)業(yè)務的DSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。主要圍繞以下三個方面描述問題:要處理的信息項有哪些?誰是信息項的產生者和接受者?每個信息項的產生者和接受者如何看待顧客環(huán)境中的其它信息?DSSD以實體圖為機制回答了這些問題。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202267軟件工程導論DSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。主要圍繞以下三個DSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。DSSD以實體圖為機制回答了上述問題。實體圖很像數據流圖,但圖中所有符號的含義卻與數據流圖完全不同。在實體圖中,圓形框代表了信息的產生者和接受者(如人、機器、另一個系統(tǒng)等)。下面介紹電話訂購系統(tǒng)的實體圖。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202268軟件工程導論DSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。SA方法JSDSDSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。(系統(tǒng)中的5個信息產生者和接者)SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0發(fā)貨:訂購完成銷售:接受訂購主管會計顧客12/24/202269軟件工程導論DSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。SA方法JSDSDSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。(銷售/電話訂購部門業(yè)務的實體圖)SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0發(fā)貨:訂購完成銷售:接受訂購可收帳目顧客批號訂單號訂單號貨號地址顧客姓名訂單號訂購信息=
顧客姓名+
地址+
貨號+
批號12/24/202270軟件工程導論DSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。SA方法JSDSDSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。(可收帳目實體圖)SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0主管會計顧客可收帳目銀行裝運單付款月數據月報表付款收據12/24/202271軟件工程導論DSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。SA方法JSDSDSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。(顧客實體圖)SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0發(fā)貨:訂購完成可收帳目顧客服務顧客裝運單付款來函答復發(fā)貨12/24/202272軟件工程導論DSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。SA方法JSDSDSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。(顧客服務實體圖)SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0發(fā)貨:訂購完成可收帳目顧客服務顧客查詢回答帳目查詢回答裝運查詢回答12/24/202273軟件工程導論DSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。SA方法JSDSDSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。(系統(tǒng)的復合實體圖)SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0主管會計顧客可收帳目銀行裝運單付款月數據月報表付款收據顧客服務查詢回答銷售:接受訂購訂購信息訂單號發(fā)貨:訂購完成訂單號訂單號應用邊界12/24/202274軟件工程導論DSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。(系統(tǒng)的復合實體DSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。(應用層的實體圖)SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0郵購處理系統(tǒng)銀行顧客會計訂單號訂購信息付款查詢裝運單回答發(fā)貨月數據收據存款1234567812/24/202275軟件工程導論DSSD方法的步驟(2)確定系統(tǒng)的應用環(huán)境。SA方法JSDSDSSD方法的步驟(3)研究跨越邊界的信息流,確定問題系統(tǒng)應當實現的功能。分析穿越邊界的信息項的順序,并對它們進行編號,使用類似Warnier圖的表示方法,把信息和施加于信息上的加工(或稱變換、功能),形成作業(yè)線圖ALD(AssemblyLineDiagram),這個圖起到了類似數據流圖的作用。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202276軟件工程導論DSSD方法的步驟(3)研究跨越邊界的信息流,確定問題系統(tǒng)應DSSD方法的步驟作業(yè)線圖的制作是以穿越邊界的信息項的編號中最大編號信息流開始,直到編號最小的信息流,依相反順序逐漸推畫出來的,每個信息流項目是由前一個編號的信息流項與產生本信息項的過程結合起來而得的。圖中加號(+)表示過程于信息之間的耦合,按照從左至右的方式讀圖,在這個作業(yè)線圖中,每個加工過程用一個處理說明細化,該說明包括輸出、動作、動作的頻度及輸入,然后用Warnier-Orr圖表示每一個加工的過程細節(jié)。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202277軟件工程導論DSSD方法的步驟作業(yè)線圖的制作是以穿越邊界的信息項的編號中DSSD方法的步驟電話訂購業(yè)務系統(tǒng)的作業(yè)線圖SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0訂購信息訂單號+發(fā)貨+指定訂單號裝運單+辦理發(fā)貨付款+開裝運單付款+辦理付款收據+辦理存款月報表+銀行收款生成報表12/24/202278軟件工程導論DSSD方法的步驟電話訂購業(yè)務系統(tǒng)的作業(yè)線圖SA方法JSDSDSSD方法的步驟(4)問題的結果。DSSD要求對系統(tǒng)的輸出建立書面原型,以表明主要的系統(tǒng)輸出和構成輸出的信息項組織。有了這個原型就可以利用Warnier-Orr圖描述信息的層次結構了。Warnier-Orr圖和Warnier圖的差別很小,只是在符號和格式上有一些小的變動。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202279軟件工程導論DSSD方法的步驟(4)問題的結果。SA方法JSDSADT需DSSD方法的步驟電話訂購系統(tǒng)要求輸出的月報表原型SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0月報表帳號日期訂單號顧客姓名帳單最新付費應付總額————————————————————————————————————————————————————————————————————存款總額:————————————————————————————————————————————————————存款總額:———————————————————————————————存款總額:—————月收入額:—————存款交易信息12/24/202280軟件工程導論DSSD方法的步驟電話訂購系統(tǒng)要求輸出的月報表原型SA方法JDSSD方法的步驟對應于月報表原型的Warnier-Orr圖。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0訂單號顧客姓名帳號(1,dn)訂購(1,n)帳單存款(1,d)日期最近成交額(0,1)月報表存款總額應付總額月收入額12/24/202281軟件工程導論DSSD方法的步驟對應于月報表原型的Warnier-Orr圖DSSD方法的步驟(5)物理需求。DSSD表示法包括實體圖、作業(yè)線圖以及邏輯角度建立軟件需求模型的Warnier-Orr圖。此外,作為需求分析的一部分工作,還需要確定物理需求。主要有以下幾項:性能可靠性安全性硬件/軟件接口SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202282軟件工程導論DSSD方法的步驟(5)物理需求。SA方法JSDSADT需求3.4Jackson系統(tǒng)開發(fā)方法Jackson方法是一種典型的面向數據結構的分析和設計方法。JSP方法:把數據結構的描述映射成程序結構描述,設計出反映數據結構的程序結構。JSD方法:以活動(即事件)為中心,以連春活動的順序組合構成進程。系統(tǒng)模型抽象為一組以通信方式互相聯系的進程。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202283軟件工程導論3.4Jackson系統(tǒng)開發(fā)方法Jackson方法是一3.4Jackson系統(tǒng)開發(fā)方法3.4.1進程模型3.4.2JSD方法的步驟3.4.3實體動作分析3.4.4實體結構分析3.4.5定義初始模型SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202284軟件工程導論3.4Jackson系統(tǒng)開發(fā)方法3.4.1進程模型3.4.1進程模型從現實世界的活動抽象而形成系統(tǒng)模型時,時序往往是一個必須要考慮的重要因素。因此,在相應的系統(tǒng)模型抽象中,也必須要關注這些活動發(fā)生的先后次序。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202285軟件工程導論3.4.1進程模型從現實世界的活動抽象而形成系統(tǒng)模型時,3.4.1進程模型傳統(tǒng)的數據模型,只能表示系統(tǒng)的靜態(tài)特性,表示數據對象及它們之間的靜態(tài)關系,但缺乏表示系統(tǒng)動態(tài)特性的機制。在數據流圖中,加工是一種數據變換,加工之間通過數據流發(fā)生聯系,但數據流的“流動”并不表示時間上的先后次序。由于現實世界中的活動往往都是時序相關的,系統(tǒng)模型也應當能反映這種時序關系,因此JSD方法采用進程模型作為這類系統(tǒng)的抽象。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202286軟件工程導論3.4.1進程模型傳統(tǒng)的數據模型,只能表示系統(tǒng)的靜態(tài)特性3.4.1進程模型進程是以一定次序安排的一串活動。一個系統(tǒng)中往往包含多個進程,而各個進程之間互相關聯,有些進程活動是并行的,也有些進程活動是同步進行的:一個活動必須暫停,等帶領一進程活動的發(fā)生。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202287軟件工程導論3.4.1進程模型進程是以一定次序安排的一串活動。一個系3.4.1進程模型JSD的系統(tǒng)模型是互相通信的一組進程的集合。進程間的通信可采用三種方式:(1)進程活動同步發(fā)生(2)通過數據流通道發(fā)送/接收活動發(fā)生(3)訪問公用存儲信息SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202288軟件工程導論3.4.1進程模型JSD的系統(tǒng)模型是互相通信的一組進程的3.4.2JSD方法的步驟概述:JSD方法把分析的重點放在構造與系統(tǒng)相關聯的現實世界,并建立現實世界的信息域的模型上,它實際上是支持軟件分析與設計的一組連續(xù)的技術步驟。JSD方法的最終目標是生成軟件的過程特性描述。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202289軟件工程導論3.4.2JSD方法的步驟概述:SA方法JSDSADT需3.4.2JSD方法的步驟步驟:實體動作分析實體結構分析定義初始模型功能描述決定系統(tǒng)時間特性實現SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0需求分析階段軟件設計階段12/24/202290軟件工程導論3.4.2JSD方法的步驟步驟:SA方法JSDSADT需3.4.3實體動作分析分析實體的動作,需要從一段自然語言給出的問題描述(通常是一個段落)入手。 SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202291軟件工程導論3.4.3實體動作分析分析實體的動作,需要從一段自然語言3.4.3實體動作分析實例:基于軟件控制的大學交通車服務系統(tǒng)某大學分布在相隔兩公里多的兩個校園區(qū)內。為幫助學生在兩個校園之間來回穿行,以保證他們按時上課,學校計劃建一個專用交通車服務設施。該社是利用一輛在軌道上運行的列車,在兩個校園區(qū)的兩個車站之間往返行駛。每個車站設有一個呼叫按鈕。學生可按下按鈕,要求搭乘列車。當列車到站時,他們也需按下調度按鈕。若列車本來就停于此站,等學生上車后,列車就駛向對方站;若列車正在行駛中,呼叫者須等待,等列車??康綄Ψ秸?,搭乘上學生(如果有)返回;若列車正??吭趯Ψ秸旧?,得到信號后,列車就會趕來供搭乘。若沒有學生呼叫,則列車總是停在某一車站上等待呼叫。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202292軟件工程導論3.4.3實體動作分析實例:基于軟件控制的大學交通車服務3.4.3實體動作分析通過對問題描述的分析,可從所有出現的名詞中選出實體。上述實例中:校園、上課、學生、車站:與當前問題無直接關系,可排除大學:是兩個校園的總稱,也可排除列車、按鈕:為問題系統(tǒng)的實體SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202293軟件工程導論3.4.3實體動作分析通過對問題描述的分析,可從所有出現3.4.3實體動作分析每個動作在特定的時刻施加于實體上??赏ㄟ^檢查問題說明中出現的動詞來選擇。上述實例中:來回穿行、搭乘:涉及到“學生”,而“學生”并為被選為實體,可排除等待:代表了一種狀態(tài),而不是一種動作,也可排除到達、駛離、按下:為問題系統(tǒng)實體的動作SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202294軟件工程導論3.4.3實體動作分析每個動作在特定的時刻施加于實體上。3.4.3實體動作分析應當注意:當選定了實體和動作的時候,實際上已經把要開發(fā)系統(tǒng)的范圍劃定了。當然,隨著分析工作的逐漸展開,實體和動作的范圍還可能會變動。 SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202295軟件工程導論3.4.3實體動作分析應當注意:當選定了實體和動作的時候3.4.4實體結構分析在JSD方法中,實體的結構通過在一段時間內的動作來描述實體的歷史情況。實體的三種典型動作為:順序型:某個實體的多個動作時按時間順序先后執(zhí)行選擇型:某個實體的多個動作在某一時刻只做一個重復型:某個實體的某個動作重復執(zhí)行多次SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202296軟件工程導論3.4.4實體結構分析在JSD方法中,實體的結構通過在一3.4.4實體結構分析順序動作選擇動作重復動作SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0ABCAB°C°AB*表示實體A的動作B、C按時間順序先左后右執(zhí)行表示實體A的動作B、C在某一時刻只做一個表示實體A的動作B重復執(zhí)行多次12/24/202297軟件工程導論3.4.4實體結構分析順序動作3.4.4實體結構分析實體結構圖示例:列車按鈕SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0列車駛離(1)列車基體按鈕按下*站(i)*駛離(i)到達(1)到達(i)12/24/202298軟件工程導論3.4.4實體結構分析實體結構圖示例:SA方法JSDSA3.4.5定義初始模型以上兩步完成了現實世界的抽象描述,包括:選定實體和動作,用結構圖建立實體和動作之間的關系這一步要對系統(tǒng)構造規(guī)格說明,使其成為現實世界的模型。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/202299軟件工程導論3.4.5定義初始模型以上兩步完成了現實世界的抽象描述,3.4.5實體結構分析規(guī)格說明可用系統(tǒng)規(guī)格說明圖(SSD)表示,這種圖使用的符號如下:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0進程-0BD進程-1進程-0進程-1SV數據流連接狀態(tài)向量連接BD:ButtonDataStreamSV:StatusVector12/24/2022100軟件工程導論3.4.5實體結構分析規(guī)格說明可用系統(tǒng)規(guī)格說明圖(SSD3.4.5實體結構分析系統(tǒng)規(guī)格說明圖實例:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0按鈕-0BD按鈕-1列車-0列車-1SV12/24/2022101軟件工程導論3.4.5實體結構分析系統(tǒng)規(guī)格說明圖實例:SA方法JSD3.4.5實體結構分析模型進程的內部細節(jié)可用結構正文(StructureText)來描述。結構正文給出了與結構圖相同的信息,同樣包括順序、選擇、重復三類,只不過它是以正文格式表達。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/2022102軟件工程導論3.4.5實體結構分析模型進程的內部細節(jié)可用結構正文(S3.4.5實體結構分析結構圖與結構正文表示:順序動作選擇動作重復動作SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0ABCAB°C°AB*AseqdoB;doC;AendAselect
doB;
or
doC;
AendAiteruntil(while)doB;Aend12/24/2022103軟件工程導論3.4.5實體結構分析結構圖與結構正文表示:SA方法JS3.4.5實體結構分析按鈕-1的結構正文:BOTTON-1seq ReadBD; PUBH-BDYiterwhileSD PUSH; ReadBD; PUSH-BDYendBOTTON-1endSA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/2022104軟件工程導論3.4.5實體結構分析按鈕-1的結構正文:SA方法JSD3.4.5實體結構分析列車-1進程不能通過數據流連接與其現實世界的對應物建立聯系,只能不斷地查詢開關狀態(tài)來推知列車的到達和駛離。為了確保不會遺漏所有的動作,系統(tǒng)進程要經常檢查現實世界的實體,因此,必須對這個模型進程進行細化,使它能夠反映狀態(tài)向量“在變化中”的量。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/2022105軟件工程導論3.4.5實體結構分析列車-1進程不能通過數據流連接與其3.4.5實體結構分析細化的系統(tǒng)結構圖:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0按鈕-0BD按鈕-1列車-0列車-1SVLAMPCMDS12/24/2022106軟件工程導論3.4.5實體結構分析細化的系統(tǒng)結構圖:SA方法JSDS3.4.5實體結構分析細化的列車-1的結構圖:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0列車-1站(i)*駛離(i)列車基體到達(i)傳送(1)基體到達(1)等待(1)基體駛離(1)傳送(1)*等待(1)*傳送(1)基體到達(1)等待(1)基體駛離(1)12/24/2022107軟件工程導論3.4.5實體結構分析細化的列車-1的結構圖:SA方法J3.4.5實體結構分析列車-1的結構正文:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0SHUTTLE-1seqgetsvSV;WAIT-BDYiterwhileWAIT1getsvSV;WAIT-BDYendLEAVE(1);TRANS-BDY1iterwhileTRANS1getsvSV;TRANS-BDY1end
SHUTTLE-BDY1iter
STATIONseqARRIVE(i);WAIT-BDYiterwhileWAITigetsvSV;WAIT-BDYendLEAVE(i);TRANS-BDYiterwhileTRANSigetsvSV;TRANS-BDYend
STATIONend
SHUTTLE-BDY1endARRIVE(1);SHUTTLE-1end12/24/2022108軟件工程導論3.4.5實體結構分析列車-1的結構正文:SA方法JSD3.4.5實體結構分析在上述結構正文中,操作getsv用以實現對現實世界實體狀態(tài)向量的獲取,系統(tǒng)進程在狀態(tài)向量改變前將多次讀取它。WAIT和TRANS的狀態(tài)值表示到達ARRIVE和駛離LEAVE開關的值?,F實進程列車-0(SHUTTLE-0)引起了開關狀態(tài)的變化,系統(tǒng)進程列車-1(SHUTTLE-1)執(zhí)行操作getsv感知這個變化。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/2022109軟件工程導論3.4.5實體結構分析在上述結構正文中,操作getsv用3.5系統(tǒng)動態(tài)分析系統(tǒng)的需求規(guī)格說明通常用自然語言敘述,但使用自然語言所表現的方式和內容自由度太大,往往會出現歧義性。機械地驗證規(guī)格說明的合理性是不合適的。為了直觀地分析系統(tǒng)的動作,從特定的觀點出發(fā)描述系統(tǒng)的行為,需要采用動態(tài)分析的方法。其中最常用的動態(tài)分析方法有狀態(tài)遷移圖、時序圖、Petri網等。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/2022110軟件工程導論3.5系統(tǒng)動態(tài)分析系統(tǒng)的需求規(guī)格說明通常用自然語言敘述3.5系統(tǒng)動態(tài)分析3.5.1狀態(tài)遷移圖3.5.2Petri網SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/2022111軟件工程導論3.5系統(tǒng)動態(tài)分析3.5.1狀態(tài)遷移圖SA方法JS3.5.1狀態(tài)遷移圖狀態(tài)遷移圖是描述系統(tǒng)的狀態(tài)如何響應外部的信號進行退役的一種圖形表示。在狀態(tài)遷移圖中:圓圈“”:表示可得到的系統(tǒng)狀態(tài);箭頭“”:表示從一種狀態(tài)向另一種狀態(tài)的遷移,在箭頭上要寫上導致遷移的信號或事件的名字。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/2022112軟件工程導論3.5.1狀態(tài)遷移圖狀態(tài)遷移圖是描述系統(tǒng)的狀態(tài)如何響應外3.5.1狀態(tài)遷移圖狀態(tài)遷移圖表示的關系還可以用狀態(tài)遷移表來表達,表中第i行、第j列的元素是一個狀態(tài),它表示從現在的狀態(tài)j因事件i而要移到的下一個狀態(tài)。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/2022113軟件工程導論3.5.1狀態(tài)遷移圖狀態(tài)遷移圖表示的關系還可以用狀態(tài)遷移3.5.1狀態(tài)遷移圖由于系統(tǒng)中可得到的狀態(tài)是有限的,因此在根據現在的狀態(tài)和輸入信號(到來的事件)確定下一個狀態(tài)時,狀態(tài)遷移圖是一個很有效的圖形方法。如何設置系統(tǒng)的狀態(tài),需要根據分析的目標和表達的目的而定。SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF012/24/2022114軟件工程導論3.5.1狀態(tài)遷移圖由于系統(tǒng)中可得到的狀態(tài)是有限的,因此3.5.1狀態(tài)遷移圖狀態(tài)遷移圖及狀態(tài)遷移表示例:SA方法JSDSADT需求復審本章小結概述DSSD動態(tài)分析IDEF0S1S2S3t1t4t3t2狀態(tài)事件S1S2S3t1S3t2S2t3S3t4S112/24/2022115軟件工程導論3.5.1狀態(tài)遷移圖狀
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 律師年度工作計劃
- 律師事務所的實習報告范文10篇
- 客服主管工作計劃15篇
- 高老頭讀后感1000字
- 初一教師教學工作計劃5篇范文
- 乒乓球比賽作文600字錦集八篇
- 班長的辭職報告模板集合9篇
- (一)制定招聘戰(zhàn)略-案例導入-江西人力資源網
- 2025年油炸類制品項目發(fā)展計劃
- 健康管理咨詢服務合同(2篇)
- 新人模特經紀合同范例
- 電動車自燃應急預案
- 語法辨析-中考語文真題題源解密(遼寧版)(帶答案)
- 2024-2030年中國電子駐車制動器(EPB)行業(yè)發(fā)展現狀及前景趨勢研究報告
- 油氣管道泄漏事故應急處理方案
- 三方代收款委托協(xié)議書范文
- 2023-2024學年全國小學二年級上英語人教版期末考試試卷(含答案解析)
- 2024-2030年中國有機蔬菜市場營銷模式建議及供需渠道分析報告
- 2024小學語文教學及說課課件:二年級下冊《傳統(tǒng)節(jié)日》
- 英語應用文寫作智慧樹知到答案2024年湖北大學
- 居住權合同協(xié)議書范本簡易
評論
0/150
提交評論