《軟件工程4 需求分析》由會員分享,可在線閱讀,更多相關(guān)《軟件工程4 需求分析(68頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、3 軟件需求分析軟件需求分析 軟件需求分析是軟件開發(fā)早期的一個重要階段。它軟件需求分析是軟件開發(fā)早期的一個重要階段。它在問題定義和可行性研究階段之后進(jìn)行。需求分析的基在問題定義和可行性研究階段之后進(jìn)行。需求分析的基本任務(wù)是軟件人員和用戶一起完全弄清用戶對系統(tǒng)的確本任務(wù)是軟件人員和用戶一起完全弄清用戶對系統(tǒng)的確切要求。這是關(guān)系到軟件開發(fā)成敗的關(guān)鍵步驟,也是整切要求。這是關(guān)系到軟件開發(fā)成敗的關(guān)鍵步驟,也是整個系統(tǒng)開發(fā)的基礎(chǔ)。個系統(tǒng)開發(fā)的基礎(chǔ)。 軟件需求分析階段要求用軟件需求分析階段要求用 需求規(guī)格說明書需求規(guī)格說明書(SRS) 來表達(dá)用戶對系統(tǒng)的要求。規(guī)格說明書可用文字方式表來表達(dá)用戶對系統(tǒng)的要求
2、。規(guī)格說明書可用文字方式表示,也可用圖形表示。示,也可用圖形表示。 本章將介紹需求分析的本章將介紹需求分析的( (面向數(shù)據(jù)流圖分析方法、面向?qū)ο蟮姆治龇椒ǎ?。面向?shù)據(jù)流圖分析方法、面向?qū)ο蟮姆治龇椒ǎ?.1 需求分析的任務(wù)需求分析的任務(wù)某學(xué)校醫(yī)療費(fèi)管理系統(tǒng) 1 1、醫(yī)療費(fèi)管理系統(tǒng)每天醫(yī)療費(fèi)管理系統(tǒng)每天記錄記錄當(dāng)天報銷的若干職工或職工子女的醫(yī)當(dāng)天報銷的若干職工或職工子女的醫(yī) 療費(fèi)的療費(fèi)的類別、金額類別、金額。 2 2、在當(dāng)天下班前讓系統(tǒng)在當(dāng)天下班前讓系統(tǒng)自動結(jié)帳自動結(jié)帳、統(tǒng)計(jì)當(dāng)天報銷的醫(yī)療費(fèi)總額統(tǒng)計(jì)當(dāng)天報銷的醫(yī)療費(fèi)總額,供,供 出納員核對。出納員核對。 3 3、每筆帳要保存?zhèn)洳?,每天所報銷的費(fèi)
3、用要和各個職工已報銷的金每筆帳要保存?zhèn)洳椋刻焖鶊箐N的費(fèi)用要和各個職工已報銷的金 額累計(jì)起來,以便檢查哪些職工已超額。額累計(jì)起來,以便檢查哪些職工已超額。 4 4、系統(tǒng)還要配有適當(dāng)?shù)南到y(tǒng)還要配有適當(dāng)?shù)牟樵児δ懿樵児δ堋?5 5、年終結(jié)算后,下一年度開始時要對數(shù)據(jù)庫文件進(jìn)行初始化。年終結(jié)算后,下一年度開始時要對數(shù)據(jù)庫文件進(jìn)行初始化。 6 6、當(dāng)職工調(diào)離本單位,職工調(diào)如本單位或在本單位內(nèi)部門間調(diào)動,當(dāng)職工調(diào)離本單位,職工調(diào)如本單位或在本單位內(nèi)部門間調(diào)動, 數(shù)據(jù)庫文件應(yīng)能及時得到修改。數(shù)據(jù)庫文件應(yīng)能及時得到修改。 請完成對上述系統(tǒng)的 需求分析用戶對系統(tǒng)的要求問題需求問題需求 1、建立目標(biāo)系統(tǒng)邏輯模型
4、的步驟圖形工具 數(shù)據(jù)流圖 數(shù)據(jù)字典 2、建立目標(biāo)系統(tǒng)邏輯模型的圖形工具 - 學(xué)生購買教材的具體模型 -學(xué)生購買教材的 邏輯模型 完善目標(biāo)系統(tǒng)并補(bǔ)充細(xì)節(jié),的出目標(biāo)系統(tǒng)的正式邏輯模型一、數(shù)據(jù)流圖一、數(shù)據(jù)流圖 3.2 面向數(shù)據(jù)流的方法面向數(shù)據(jù)流的方法 - - DFD(Data Flow Diagram) 是用來描述系統(tǒng)邏輯模型的一種圖形工具。是用來描述系統(tǒng)邏輯模型的一種圖形工具。 數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程??坍嫈?shù)據(jù)流從輸入到輸出的移動變換過程。 DFD-系統(tǒng)系統(tǒng)邏輯邏輯模型模型外部實(shí)體外部實(shí)體 F1書
5、號書號單價單價數(shù)量數(shù)量 - - DFD DFD 請畫出學(xué)生成績管理系統(tǒng)的 DFD 圖 二、數(shù)據(jù)字典二、數(shù)據(jù)字典 - - DD(Data Dictionary) 數(shù)據(jù)字典的任務(wù)是數(shù)據(jù)字典的任務(wù)是: : 對于數(shù)據(jù)流圖中出現(xiàn)的所有被對于數(shù)據(jù)流圖中出現(xiàn)的所有被命名的圖形元素在字典中作為一個詞條加以定義,使得命名的圖形元素在字典中作為一個詞條加以定義,使得每一個圖形元素的名字都有一個確切的解釋。每一個圖形元素的名字都有一個確切的解釋。DD 描述把輸入數(shù)據(jù)流變 換為輸出數(shù)據(jù)流的加工過 程,是加工說明的主體。自然語言自然語言+ +結(jié)構(gòu)化形式結(jié)構(gòu)化形式結(jié)構(gòu)化語言結(jié)構(gòu)化語言選選擇擇結(jié)結(jié)構(gòu)構(gòu)如果如果 If 如果如
6、果 則則 否則否則 情況情況1 情況情況n If then Otherwise case 1 case n 循循環(huán)環(huán)結(jié)結(jié)構(gòu)構(gòu)對對 , 重復(fù)以下重復(fù)以下 直至直至 For each , Repeat the following: Until 例例1: 1: 請寫出下列在請寫出下列在 DFD DFD 圖中給出的圖中給出的 “ “統(tǒng)計(jì)晚婚職工統(tǒng)計(jì)晚婚職工” 的加工說明的加工說明 Count Late-MarriageEmployeesLate-Marriage -Count RequestLate-Marriage-List=List-Count+Name-ListName-List=Name Co
7、unt Late-Marriage Employees Policy For each Late-Marriage-Count request: Repeat the following; Access the staffs-Record. If status is single, If sex is maie and Age is over 30 or sex is female and Age is over 26 Write Name to Name-List. Increment List-Count. Until there are no more Staff-Records. Co
8、mbine List-Count and Name-List. Write Up Late-Marriage-List. 例例2: 2: 請為下列請為下列DFDDFD中的中的“審查并開發(fā)票審查并開發(fā)票”加工點(diǎn)寫加工點(diǎn)寫 加工說明加工說明 把學(xué)生學(xué)號和姓名寫到發(fā)票上把學(xué)生學(xué)號和姓名寫到發(fā)票上按購書單上學(xué)生的年級和系、專業(yè)與班號按購書單上學(xué)生的年級和系、專業(yè)與班號 檢索檢索“各班學(xué)生用書表各班學(xué)生用書表”文件,獲得該生當(dāng)年的書單文件,獲得該生當(dāng)年的書單 對對 購書單上的每一書號購書單上的每一書號 如果如果 書單上無此書號書單上無此書號 則則 把書號寫到出錯通知單上把書號寫到出錯通知單上 否則否則
9、按書號檢索按書號檢索 “ “教材存量表教材存量表”文件,文件, 從而獲得該書的單價與庫存量從而獲得該書的單價與庫存量 如果如果 庫存量庫存量 購書單的數(shù)量購書單的數(shù)量 則則 將書號寫到出錯通知單上將書號寫到出錯通知單上 否則否則 將將書號、單價、數(shù)量、總價等項(xiàng)寫入到發(fā)票上;書號、單價、數(shù)量、總價等項(xiàng)寫入到發(fā)票上; 更新存書量,并寫回更新存書量,并寫回“教材存量表教材存量表” ” 文件;文件; 累計(jì)書費(fèi)合計(jì)累計(jì)書費(fèi)合計(jì) 把把書費(fèi)合計(jì)寫到發(fā)票上書費(fèi)合計(jì)寫到發(fā)票上對對每張購書單每張購書單分房分房加工加工婚齡婚齡中級職稱中級職稱晚婚晚婚正常分房正常分房優(yōu)先分房優(yōu)先分房不分房不分房分房加工邏輯分房加工邏
10、輯判斷表判斷表采用表格的形式來表達(dá)采用表格的形式來表達(dá)具復(fù)雜判斷的加工邏輯具復(fù)雜判斷的加工邏輯1 1、一般職工婚后、一般職工婚后5 5年可參加分房年可參加分房 2 2、中級以上職稱的職工婚后、中級以上職稱的職工婚后3 3年年 可參加分房可參加分房 3 3、符合正常分房條件的職工,、符合正常分房條件的職工, 若再符合晚婚條件可優(yōu)先分房若再符合晚婚條件可優(yōu)先分房分房分房加工加工婚齡婚齡中級職稱中級職稱晚婚晚婚正常分房正常分房優(yōu)先分房優(yōu)先分房不分房不分房123456說說 明明條條件件婚婚 齡齡5年年3-5年年 5年年3-5 年年$500$500=$50060天天60天天=60天天決策不發(fā)出批準(zhǔn)書V發(fā)
11、出批準(zhǔn)書VVV發(fā)出發(fā)貨單VVV發(fā)出賒欠報告V工資管理系統(tǒng) 系統(tǒng)流程圖 系統(tǒng)軟件模型 部分?jǐn)?shù)據(jù)字典對工資管理系統(tǒng)進(jìn)行需求分析二、把下列用文字?jǐn)⑹龅膬?nèi)容請采判斷表和判斷樹描述出來 設(shè)某旅游票預(yù)定系統(tǒng)中,在旅游旺季 7- 9、12月份,如果訂票超過 50張,則優(yōu)惠票價的 15% ; 50張以下,優(yōu)惠5%。在旅游淡季1-6,10、11月份,若訂票超過 50張,則優(yōu)惠30%;50張以下,優(yōu)惠 20%。面向?qū)ο?繼承類3.3 面向?qū)ο蟮男枨蠓治雒嫦驅(qū)ο蟮男枨蠓治鲆?、面向?qū)ο蟮母拍?對象 消息對象 對象就是一個包含數(shù)據(jù)以及與這些數(shù)據(jù)有關(guān)的操作的集合。每個實(shí)體都是對象。 對象數(shù) 據(jù)操作代碼類 是一組具有相同數(shù)
12、據(jù)結(jié)構(gòu)和相同操作的對象集合。類的定義包括一組數(shù)據(jù)屬性和在數(shù)據(jù)上的一組合法操作。類定義可視為一個具有類似特性與共同行為的對象摸板,可用來產(chǎn)生對象。 可以說,類是對象的抽象,而對象是類的具體實(shí)例。 繼承 是在一個已存有的類的基礎(chǔ)上建立一個新的類。并將已存在的類稱為-基類或父類;新建立的類稱為派生類或子類。繼承基 類派 生 類對象繼承了類所有屬性- 從類到對象的繼承costdimensionweightlocationcolor類: furniturecostdimensionweightlocationcolor對象: chair 對象、類、繼承 對象 繼承類的所有屬性和操作costdimensi
13、onweightlocationcolor類: furnitureBuySellWeightmovecostdimensionweightlocationcolor對象: chableBuySellWeightmovecostdimensionweightlocationcolor對象: chairBuySellWeightmove- 面向?qū)ο箢惖谋硎灸J?類名: 操作: :屬性: :識別對象1、標(biāo)識潛在對象 找出通過分析過程中的所有名詞或名詞短語并合并同義詞。除去有動作含義的名詞,使它們將被描述為對象的操作。 標(biāo)識規(guī)則如下:(1)、外部實(shí)體(2)、事物(3)、位置(7)、聚焦對象(5)、事件
14、(6)、角色(4)、組織機(jī)構(gòu)二、面向?qū)ο蟮姆治龇椒?OOA) Object Oriented Analysis OOA 的核心思想是利用OO的概念和方法對軟件需求建造模型,以使用戶需求逐步精確化、一致化、完全化。 為此, OOA的方法步驟為:識別對象屬性及外部服務(wù)識別類及其結(jié)構(gòu)定義對象之間的消息傳遞潛在對象理由用戶傳感器控制面板系統(tǒng)(SafeHome System)傳感器編號密碼電話號碼傳感器事件警報器角色或外部實(shí)體外部實(shí)體外部實(shí)體聚焦對象概念實(shí)體概念實(shí)體概念實(shí)體事件外部實(shí)體例如:2、篩選對象 篩選對象規(guī)則如下:(1)、具有記憶自身狀態(tài)的能力(2)、有意義的操作(3)、多個屬性(5)、公共操作(6)、必須的需求(4)、公共屬性潛在對象理由用戶傳感器控制面板系統(tǒng) )傳感器編號密碼電話號碼傳感器事件警報器角色或外部實(shí)體外部實(shí)體外部實(shí)體聚焦對象概念實(shí)體概念實(shí)體概念實(shí)體事件外部實(shí)體