軟件需求分析、設計及其測試符號標準_第1頁
軟件需求分析、設計及其測試符號標準_第2頁
軟件需求分析、設計及其測試符號標準_第3頁
軟件需求分析、設計及其測試符號標準_第4頁
軟件需求分析、設計及其測試符號標準_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件需求分析、設計與測試符號標準版本1.1廣東工業(yè)大學網絡化控制與管理系統(tǒng)研究所2009年2月9日目錄1 軟件需求分析軟件需求分析是軟件開發(fā)工作中最重要的一環(huán)。軟件需求分析的內容主要包括對組織各部門、各業(yè)務的詳細了解,并在此基礎上進行分析,提出新的方案。軟件需求分析的主要內容包括業(yè)務流程圖、數據流程圖、數據字典和E-R圖。1.1 業(yè)務流程圖在對系統(tǒng)的組織結構以及每一個具體部門崗位進行了提問和填表方式詳細調查后,我們需要對其業(yè)務流程進行進一步的分析,刪去重復的、不合理的環(huán)節(jié),明確整個業(yè)務流程,并用更方便、明了的方法和工具清楚地表達出來,這就是業(yè)務流程圖。業(yè)務流程圖是開發(fā)軟件系統(tǒng)的基礎。業(yè)務流程圖

2、的主要符號有:業(yè)務處理單位、業(yè)務處理描述、表格制作、存儲(存檔)、收集資料和信息傳遞。1.1.1 業(yè)務處理單位業(yè)務處理單位就是負責或參與處理某項業(yè)務的具體單位、部門或個人。符號為:1.1.2 業(yè)務處理描述業(yè)務處理描述就是具體說明要進行的業(yè)務處理的名稱。符號為:1.1.3 表格制作表格制作指的是業(yè)務處理流程中形成的計劃、產生的報表等文檔信息。符號為:1.1.4 存儲(存檔)存儲(存檔)指的是業(yè)務處理流程中對重要的文檔信息和資料的保存。符號為:1.1.5 收集資料收集資料指的是業(yè)務處理流程中需要進行的必要的信息和資料的收集與整理。符號為:1.1.6 信息傳遞信息傳遞指的是業(yè)務處理流程業(yè)務處理的順序

3、及信息流的傳遞方向。符號為:1.1.7 業(yè)務流程圖示例業(yè)務流程圖 存檔計劃處各部門各單位投資總規(guī)劃更新改造貸款規(guī)模開會討論報表各單位上報表審批綜合平衡(討論)正式計劃批準計劃下達各單位各部門計劃處銀行技改處各部門各單位技改處局領導上級領導銀行各部門各單位圖例說明圖例說明業(yè)務處理者傳遞業(yè)務處理描述存儲表格制作收集資料1.2 數據流程圖數據流程圖(Data Flow Diagram,DFD)是軟件系統(tǒng)最重要的需求分析工具之一,它通過圖形符號描述數據的輸入(來源)、輸出(去向)和移動變換過程。DFD的基本圖形元素有4個:外部實體、數據流、處理、數據存儲。實際經驗表明,軟件系統(tǒng)的DFD一般至少要畫到第

4、4層,即總共至少5層才能充分描述其需求。因此,編制軟件系統(tǒng)的DFD的工作量是很大的。1.2.1 外部實體外部實體是指不受系統(tǒng)控制,在系統(tǒng)以外的事物,人或部門。在矩形框內標明外部實體的名稱符號為:1.2.2 數據流一般在直線的上方標明數據流的名稱數據流指出了系統(tǒng)中數據流動的方向。符號為:1.2.3 處理處理表達了對數據的邏輯處理功能。處理(在上面矩形框內標明處理的編號、在下面矩形框內標明處理的名稱)符號為:1.2.4 數據存貯數據存貯是指數據處理過程中一個數據保存的狀態(tài)。在左邊矩形框內標明數據存儲的編號、在右邊開口矩形內標明數據存儲的名稱符號為:1.2.5 數據流圖示例 經營處理系統(tǒng)供應商顧客定

5、貨單發(fā)貨單發(fā)貨單第0層數據流圖第1層數據流圖供應商顧客定貨單發(fā)貨單銷售1采購2會計3到貨通知收據應付款通知付款付款配件庫存F11.3 數據字典1.3.1 數據字典常用符號在數據流圖上描述了系統(tǒng)由哪幾部分組成,各部分之間的聯(lián)系等。對數據流圖中各個元素還必須要做完整的定義和說明,這就是數據字典。數據字典(Data Dictionary,DD)是數據收集和分析后所獲得的成果,它定義了所有與系統(tǒng)相關的數據項、數據結構、外部實體、數據流、數據存儲、處理邏輯等數據字典元素,并按字典順序組織編寫,以方便用戶和開發(fā)人員理解系統(tǒng)的輸入、輸出、存儲和處理邏輯。數據字典編制過程中常常使用表3-1所示的符號。表3-1

6、 數據字典常用符號符號含義說明=定義為,等于,由構成等式左邊“定義為”、“等于”右邊,或者“由”右邊“構成”+與例如,x=a+b,表示x由a和b組成.|.或例如,x=a|b ,表示x由a或b組成.重復表示大括號中的內容重復出現。例如,x=a,表示x由0個或多個a組成m.n有重復次數限制的重復表示大括號中的內容重復出現,其中m、n分別表示容重復次數的下限和上限。例如,x=3a5表示x由3個a、或4個a、或5個a組成(.)可選例如,x=(a) ,表示a可在x中出現,也可不出現.字符或字符串單引號中的內容是字符或字符串。例如,x=a,表示x取值字符a.連接符例如,x=1.9,表示x取1到9中任意一個

7、值1.3.2 數據項數據項用數據項詞條描述。數據項詞條一般應包含如下內容:(1)數據項名稱 給出數據項的名稱。(2)別名 如果數據項有多個名稱,則給出別名。(3)編號 給出數據項的編號??刹捎米皂斚蛳碌姆椒ň幪?。(4)含義說明 說明數據項的含義、用途等。(5)類型 說明數據項的數據類型,如字符型、數值型、日期型、邏輯型、備注型等。(6)長度 說明數據項長度,常用字節(jié)數、二進制位數等表示。(7)取值范圍及含義 說明數據項的取值范圍及含義。例如,性別數據項取值范圍為1, 0,其中1表示男、0表示女。(8)相關元素 說明與該數據項有關的DFD、數據字典元素等。其中,取值范圍和相關元素定義了數據完整性

8、約束條件,它們是數據完整性設計的依據。關于數據完整分析和設計,后面章節(jié)將深入討論。作為示例,圖3-1描述了庫存管理系統(tǒng)中的銷售單編號數據項詞條。數據項名稱銷售單編號別名銷售單號編號1.1.2含義說明每個銷售單必須是唯一編號,以便查詢和審核類型字符型長度20B取值范圍及含義銷售員號+順序號。其中,銷售員號的取值范圍及含義見銷售員詞條,順序號=000000.999999相關元素銷售員圖3-1 數據項詞條1.3.3 數據結構數據結構用數據結構詞條描述。數據結構詞條一般應包含如下內容:(1)數據結構名稱 給出數據結構的名稱。(2)別名 如果數據結構有多個名稱,則給出別名。(3)編號 給出數據結構的編號

9、??刹捎米皂斚蛳碌姆椒ň幪?。(4)含義說明 說明數據結構的含義、用途等。(5)組成 說明數據結構是由哪些數據項或數據結構組成的。(6)相關元素 說明與該數據結構有關的DFD、數據字典元素等。其中,“組成”和“相關元素”可能構成數據完整性約束條件。作為示例,圖3-2描述了學生成績管理系統(tǒng)中的學生數據結構詞條。數據結構名稱學生別名編號1.1.3含義說明為了方便訪問學生信息,將姓名、學號、所在系、專業(yè)作為一個整體進行存取組成姓名+學號+所在系名稱+專業(yè)名稱相關元素姓名,學號,所在系名稱,專業(yè)名稱圖3-2 數據結構詞條1.3.4 外部實體外部實體用外部實體詞條描述。外部實體詞條一般應包含如下內容:(1

10、)外部實體名稱 給出外部實體的名稱。(2)別名 如果外部實體有多個名稱,則給出別名。(3)編號 給出外部實體的編號??刹捎米皂斚蛳碌姆椒ň幪?。(4)簡要描述 說明外部實體的性質、職能等。(5)輸入的數據流 列出進入該外部實體的數據流。(6)輸出的數據流 列出離開該外部實體的數據流。(7)數量:在整個DFD中,該外部實體出現的次數。作為示例,圖3-3描述了學生成績管理系統(tǒng)中的教務科外部實體詞條。外部實體名稱教務科別名編號1.5簡要描述負責日常教學管理工作,如排課表、教學調度、學生成績管理輸入的數據流教學進度表、課程成績單、調課申請表、免修申請表輸出的數據流教學任務書、課程表、成績單數量6圖3-3

11、 外部實體詞條1.3.5 數據流數據流用數據流詞條描述。數據流詞條一般應包含如下內容:(1)數據流名稱 給出數據流的名稱。(2)別名 如果數據流有多個名稱,則給出別名。(3)編號 給出數據流的編號。可采用自頂向下的方法編號。(4)說明 簡要介紹數據流產生的原因和結果。(5)數據流來源 指出數據流來自何方。(6)數據流去向 指出數據流到何處去。(7)組成 說明數據流是由哪些數據結構組成的。(8)平均流量 給出數據流平均流量,即單位時間(如每天、每周、每月)內傳輸的次數。(9)高峰期流量 給出數據流高峰期的流量。平均流量、高峰期流量等為數據庫的存儲設計、服務器設計等提供依據。(10)相關元素 說明

12、與該數據流有關的DFD、數據字典元素等。作為示例,圖3-4 描述了學生成績管理系統(tǒng)中的成績數據流詞條。數據流名稱成績別名編號1.1.3說明因學生或管理人員查詢成績而產生數據流來源處理1.2.1:讀取學生成績數據流去向處理1.2.3:顯示學生成績組成姓名+學號+課程代碼+課程名稱+成績平均流量600次/天高峰期流量期末,50000次/天相關元素處理1.2.1、處理1.2.3,數據項1.2.1、數據項1.2.2、數據項1.2.3、數據項1.2.4、數據項1.2.5圖3-4 數據流詞條1.3.6 數據存儲數據存儲用數據存儲詞條描述。數據存儲詞條一般應包含如下內容:(1)數據存儲名稱 給出數據存儲的名

13、稱。(2)別名 如果數據存儲有多個名稱,則給出別名。(3)編號 給出數據存儲的編號。數據存儲編號一般以字母F開頭,然后按順序編號。(4)說明 簡要介紹存放的是什么數據。(5)輸入的數據流 說明進入該數據存儲的數據流。(6)輸出的數據流 說明從該數據存儲出去的數據流。(7)組成 說明數據存儲是由哪些數據結構組成的。(8)數據量 說明每次存取多少數據。(9)存取頻度 給出該數據存儲單位時間(如每天、每周、每月)內的存取次數。(10)存取方式 說明是批處理還是聯(lián)機處理、是檢索還是更新、是順序檢索還是隨機檢索,指出關鍵字等。數據量、存取頻度、存取方式等為數據庫的存儲設計、服務器設計等提供依據。(11)

14、相關元素 說明與該數據存儲有關的DFD、數據字典元素等。作為示例,圖3-5 描述了學生成績管理系統(tǒng)中的學生基本信息數據存儲詞條。數據存儲名稱學生基本信息別名編號F1說明存儲學生的基本信息輸入的數據流學生基本信息輸出的數據流學生基本信息、學生簡要信息組成姓名+學號+曾用名+性別+籍貫+民族+家庭出身+個人成份+政治面貌+出生日期+入學前文化程度+畢業(yè)學校+參加工作日期+入學前單位+家長姓名+郵政編碼+家庭地址+聯(lián)系電話+所在系+專業(yè)+班級+入學日期+學制數據量平均每次訪問5個學生的基本信息,每次最多訪問2000個學生的基本信息存取頻度平均頻度:600次/天,期末高峰期頻度:50000次/天存取方

15、式聯(lián)機處理,檢索+更新,隨機檢索,關鍵字為學號相關元素處理1.2.1、處理1.2.3,數據項1.2.1、數據項1.2.2圖3-5 數據存儲詞條1.3.7 處理邏輯處理邏輯詞條一般應包含如下內容:(1)處理名稱 給出處理的名稱。(2)編號 給出處理的編號,編號與DFD一致。(3)說明 簡要介紹處理及其功能。(4)輸入的數據流 列出進入該處理的數據流。(5)輸出的數據流 列出離開該處理的數據流。(7)處理邏輯 簡要介紹處理事項、邏輯順序。注意,由于詞條的空間不能太大,處理邏輯在數據字典中一般不需要詳細描述,詳細描述應在軟件功能分析中進行。(8)平均執(zhí)行頻率 給出該處理單位時間(如每天、每周、每月)

16、內的平均運行次數。(9)平均執(zhí)行頻率 給出該處理單位時間(如每天、每周、每月)內的高峰期運行次數。(9)相關元素 說明與該處理邏輯有關的DFD、數據字典元素等。作為示例,圖3-6 描述了學生成績管理系統(tǒng)中的生成成績總表處理邏輯詞條。處理名稱生成成績總表別名編號1.1.3.2說明成績總表是學生在校期間全部成績的匯總。本處理生成成績總表后,提交給打印成績總表處理打印輸入的數據流學號、成績、學生、課程輸出的數據流成績總表處理邏輯該模塊通過學生學號從成績數據存儲中讀取該學號學生的所有課程成績,再從學生基本信息數據存儲中讀取學生姓名、專業(yè)和所在系等數據,然后從課程名錄數據存儲中讀取課程名稱和學分等信息,

17、最后按格式生成成績總表平均執(zhí)行頻率200次/天高峰期執(zhí)行頻率畢業(yè)前夕,3000次/天相關元素處理1.1.3.1、處理1.1.3.3、數據存儲F1、數據存儲F2圖3-6 處理邏輯詞條1.3.8 數據字典編制的結構化方法SA方法可以用來編制和組織數據字典。具體做法是:首先是數據字典的詞條按照“自頂向下、逐層分解”的順序展開,這樣做的好處是層次清晰、易于閱讀。其次是數據字典的編號也可以利用層次化的思想進行設計,這樣做的好處是容易找出數據字典元素之間的層次關系。例 試用SA方法編制圖3-7所示的銀行儲蓄管理系統(tǒng)的“銀行存折”數據存儲相關的數據存儲、數據結構、數據項等詞條。為了節(jié)省篇幅,我們僅給出數據字

18、典元素的名稱,組成(或含義)、類別和編號。圖3-7銀行存折樣式存折=戶名+所號+帳號+開戶日+性質+(印密)+1存取行50,數據存儲,編號:F1。戶名=2字母24,數據項,編號:1.1。所號=00019999,數據項,編號:1.2。帳號=0000000199999999,數據項,編號:1.3。開戶日= 年+月+日,數據結構,編號:1.4。性質=1.6,數據項,編號:1.5。其中1表示普通帳戶,2表示工資帳戶等。印密=0 .1,數據項,編號:1.6。其中0表示有印密;1表示沒有印密,即印密在存折上不顯示。存取行=日期+(摘要)+支出+存入+余額+操作+復核,數據結構,編號:1.7。日期= 年+月

19、+日,數據結構,編號:1.7.1。年=0001.9999,數據項,編號:1.7.1.1。月=01.12,數據項,編號:1.7.1.2。日=01.31,數據項,編號:1.7.1.3。摘要= 1字母4,數據項,編號:1.7.2。其中摘要的內容用縮略詞表示業(yè)務種類,如“存”、“取”、“轉”、“換”分別表示“存款”、“取款”、“轉帳”、“更換新存折”。支出=金額,數據項,編號:1.7.3。存入=金額,數據項,編號:1.7.4。余額=金額,數據項,編號:1.7.5。金額=0.01.99999999.99,數據項,編號:1.7.3.1。操作=00001.99999,數據項,編號:1.7.6。復核=0000

20、1.99999,數據項,編號:1.7.7。1.4 E-R圖概念模型是對信息世界的管理對象、屬性及聯(lián)系等信息的描述形式。E-R圖(即實體關系圖)是概念模型表示方法之一。E-R圖有三種基本符號:實體集、實體集屬性、實體集間的聯(lián)系。1.4.1 實體集實體集指的是現實世界中具有相同性質、服從相同規(guī)則的一類事物的集合。符號為:1.4.2 實體集屬性實體集的屬性指的是實體的某一方面特征的抽象表示。符號為:1.4.3 實體集間的聯(lián)系實體集間的聯(lián)系指的是實體集和實體集之間的關系表示。符號為:1.4.4 E-R圖示例住在病人病房醫(yī)生醫(yī)療住院號姓名n11nE-R圖示例2 軟件設計軟件設計是根據軟件需求分析階段所提

21、出的邏輯模型的要求,設計出一個能在計算機系統(tǒng)上實現的物理模型軟件設計方案。軟件設計方案的內容包括:系統(tǒng)有哪些子系統(tǒng),系統(tǒng)有哪些功能模塊組成以及這些模塊如何連接在一起以及系統(tǒng)的輸入輸出和數據庫的設計,經常用計算機處理流程圖、模塊結構圖、數據庫表結構以及程序流程圖來給出。2.1 計算機處理流程計算機處理流程圖(系統(tǒng)流程圖)是一種常用的軟件設計方法,表達了系統(tǒng)的處理過程,并用圖形符號表示了輸入、輸出與處理操作之間的關系以及文件建立與使用的過程。常用的圖形符號有:輸入輸出、處理、文件、聯(lián)機存貯和脫機存貯等。2.1.1 輸入輸出輸入輸出指的是計算機系統(tǒng)要求的輸入輸出數據以及完成的操作。符號為:2.1.2

22、 處理處理指的是計算機系統(tǒng)要實現的處理操作。符號為:2.1.3 文件文件指的是計算機系統(tǒng)輸入或輸出的以文件形式存儲的數據信息。符號為:2.1.4 聯(lián)機存貯聯(lián)機存貯指的是系統(tǒng)處理過程中產生的需要計算機保存的數據信息。符號為:2.1.5 脫機存貯脫機存貯指的是在計算機系統(tǒng)外保存的數據信息。符號為:2.1.6 計算機處理流程圖示例例如工資系統(tǒng)流程圖如下:工資記錄房租、水電、病事假等扣款記錄讀取有關數據原始記錄輸入文件人事勞資記錄文件工資計算處理打印工資單,扣款記錄說明,工資報表等鍵入工資系統(tǒng)流程圖2.2 模塊結構圖模塊結構圖反映了整個系統(tǒng)的模塊結構。2.2.1模塊結構圖的圖形元素模塊名模塊標志數據調

23、用循環(huán)調用判斷分叉A調用BA判斷調用B、A循環(huán)調用BA帶著數據a調用,返回時帶回數據bab2.2.2 模塊結構圖示例EOF獲得訂貨匯總表獲得訂貨項目修改訂貨表排列訂貨匯總表獲得訂貨單記錄分離訂貨項目查訂貨表就算累積訂貨單建立訂貨項目ITMITMITMITMITMEOFEOFORDORDITMLITLITLITLITSOLNLITMATCH圖中:訂貨單訂貨項目修改后的訂貨表訂貨匯總表文件結束標志匹配系統(tǒng)模塊結構圖2.3 數據庫設計數據庫表結構設計,例如:用戶表序號字段名稱含義數據類型寬度允許空默認值1userId *用戶ID整數型8000000002userName用戶姓名字符型10NULLNU

24、LL3userPsw用戶密碼字符型6'000000'4depNo用戶所屬部門字符型2'01'5depRight用戶權限字符型10''注:“*”代表主鍵。2.4 詳細設計2.4.1 程序流程圖程序流程圖也稱為程序框圖,是軟件開發(fā)者最熟悉的一種算法表達工具。常用的圖形符號有:開始結束流線輸入輸出條件判斷處理準備預處理預定義處理/既定處理文件文檔循環(huán)上界循環(huán)下界外接虛線省略線并行方式注釋或注解內接例如,用戶登錄系統(tǒng)時判斷是否是授權用戶的程序流程圖如下: 開始輸入用戶名和密碼授權用戶?登錄系統(tǒng)結束YN程序流程圖示例2.4.2 PDL(Program De

25、sign Language)PDL(Program Design Language)是一種用于描述功能模塊的算法設計和加工細節(jié)的語言。它具有嚴格的關鍵字外語法,用于定義控制結構和數據結構,同時它的表示實際操作和條件的內語法又是靈活自由的,可使用自然語言的詞匯。PDL關鍵字及其用途說明如下:(1) 數據說明功能:定義數據的類型和作用域;形式:TYPE <變量名> AS <限定詞1> <限定詞2>說明: <限定詞1> 指明數據類型,<限定詞2> 指明變量的作用域。(2) 程序塊功能:定義程序塊;形式:BEGIN <塊名> &l

26、t;一組偽代碼語句> END說明:<塊名>指明程序塊名稱,<一組偽代碼語句>由其他PDL結構組成。(3) 子程序結構功能:定義PDL中的過程;形式:PROCEDURE <子程序名> <一組屬性> INTERFACE <參數表> 程序塊/或一組偽碼語句 END說明:<一組屬性>描述了子程序的應用特性(例如表明是一個INTERNAL模塊,還是一個EXTERNAL模塊)以及其他一些有關實現的特性(如使用什么程序設計語言);INTERFACE用于定義模塊的參數表,包括所有輸入和輸出信息的標識符。(4) 基本控制結構功能:定義

27、包括順序型、選擇型、重復型以及多路選擇型等基本的程序控制結構;IF條件描述 THEN <程序塊或偽碼語句組>; ELSE <程序塊或偽碼語句組>;ENDIF(<a.>選擇型結構)REPEAT UNTIL <條件描述>; <程序塊或偽碼語句組>;ENDREP(<b>重復型結構中的后測試型循環(huán))形式:DO WHILE <條件描述>; <程序塊或偽碼語句組>;ENDDO(<c>重復型結構中的先測試型循環(huán))DO FOR<下標=下標名,表達式序列>; <程序塊或碼語句組>;

28、ENDFOR(<d>重復型結構中的下標型循環(huán))CASE OF<case變量名>;WHEN<case條件>SELECT <程序塊或偽碼語句組>;WHEN<case條件2>SELECT <程序塊或偽碼語句組>;DEFAULT:<缺省或錯誤case;程序或偽碼語句組>;ENDCASE(<e>重復型結構中的多路選擇性結構)說明:條件描述是一個條件判斷,根據判斷的真假,選擇性的執(zhí)行后面的語句。(5) 輸入/輸出結構功能:定義程序塊的輸入或輸出;形式:READ/WRITE TO <設備> </表>說明:<設備>指的是物理的/設備;</表>包含要傳送的變量名。PDL算法描述

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論