軟件工程-第3章軟件需要分析
《軟件工程-第3章軟件需要分析》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《軟件工程-第3章軟件需要分析(236頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、LOGO 第 5章 軟件需求分析 為什么要進(jìn)行需求分析? 目的:對(duì)開(kāi)發(fā)者進(jìn)行指導(dǎo) 開(kāi)發(fā)人員對(duì)用戶(hù)的要求理解 用戶(hù)理解開(kāi)發(fā)人員 測(cè)試部門(mén)有理可依 原因:信息收集不全 功能不明確 需求文檔不完善 開(kāi)發(fā)者急于求成 教學(xué)內(nèi)容 3.1 需求分析的任務(wù)和步驟 3.2 需求獲取的常用方法 3.3 分析建模 3.4 軟件需求說(shuō)明 3.5 結(jié)構(gòu)化分析方法 3.6 面向?qū)ο蠓治龇椒?教學(xué)目的及要求 深刻理解需求分析階段的概念和任務(wù); 熟練掌握數(shù)據(jù)流圖; 了解面向過(guò)程分析方法和面向?qū)ο蟮姆治龇椒ā?1.需求分析的任務(wù): 準(zhǔn)確地定義未來(lái)系統(tǒng)的目標(biāo),確定為了滿(mǎn)足用戶(hù)的需求系統(tǒng)必須做 什么。用 規(guī)范的形式準(zhǔn)確地表達(dá)用戶(hù)的
2、需求。 讓用戶(hù)和開(kāi)發(fā)者共同明確將要開(kāi)發(fā)的是一個(gè)什么樣的系統(tǒng)(做什么 : What)。具體而言 ,兩個(gè)任務(wù): 建立分析模型 編寫(xiě)需求說(shuō)明( P30-P31) 3.1 需求分析的任務(wù)和步驟 需求分析的任務(wù) 就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系 統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng)的 “做什么” 的問(wèn)題。 需求分析的任務(wù) 對(duì)象 系統(tǒng) 模型 系統(tǒng) 抽象(映射) 模型應(yīng)用 模型構(gòu)造的過(guò)程 邏輯模型和物理模型 模型是對(duì)對(duì)象系統(tǒng)的形式化的特征抽象,概括性或近似地表示; 形式 化語(yǔ)言、數(shù)學(xué)語(yǔ)言、圖形等構(gòu)造模型的過(guò)程是一個(gè)抽象、分析的過(guò)程。 邏輯模型和物理模型 邏輯模型 (本質(zhì)模型、概念模型 ) 物理模型 (實(shí)施模型、
3、技術(shù)模型 ) 現(xiàn)行系統(tǒng) 描述重要的業(yè)務(wù)功能,無(wú)論系統(tǒng)是 如何實(shí)施的 描述現(xiàn)實(shí)系統(tǒng)是如何在 物理上實(shí)現(xiàn)的。 目標(biāo)系統(tǒng) 描述新系統(tǒng)的主要業(yè)務(wù)功能和用戶(hù) 新的需求,無(wú)論系統(tǒng)應(yīng)如何實(shí)施。 描述新系統(tǒng)是如何實(shí)施 的(包括技術(shù))。 2.需求分析的步驟 需求獲取 需求提煉:分析建模 需求描述:編寫(xiě) 需求驗(yàn)證 3.1 需求分析的任務(wù)和步驟 需求分析過(guò)程示意 學(xué) 生 購(gòu) 書(shū) 申 請(qǐng) 購(gòu) 書(shū) 單 發(fā) 票 領(lǐng) 書(shū) 單 書(shū) 107 劉 教務(wù)科 206 王 會(huì)計(jì)室 206 李 出納員 303 趙 教材 學(xué)生購(gòu)買(mǎi)教材的具體模型 (1) 通過(guò)對(duì)現(xiàn)實(shí)環(huán)境的調(diào)查,獲當(dāng)前系統(tǒng)的具體模型 (物理模型 ) 學(xué) 生 需求分析過(guò)程示意
4、(2) 去掉具體模型中的非本質(zhì)因素, 抽象 出當(dāng)前系統(tǒng)的邏輯 模型 學(xué)生購(gòu)買(mǎi)教材的邏輯模型 學(xué) 生 學(xué) 生 購(gòu) 書(shū) 申 請(qǐng) 購(gòu) 書(shū) 單 發(fā) 票 領(lǐng) 書(shū) 單 書(shū) 審查 有效性 開(kāi)發(fā)票 開(kāi)領(lǐng) 書(shū)單 發(fā)書(shū) 需求分析過(guò)程示意 (3) 分析當(dāng)前系統(tǒng)與目標(biāo)系統(tǒng)的差別,建立目標(biāo)系統(tǒng)的邏輯 模型。 計(jì)算機(jī)售書(shū)系統(tǒng)的邏輯模型 學(xué) 生 學(xué) 生 購(gòu)書(shū)單 發(fā)票 領(lǐng)書(shū)單 審查并 開(kāi)發(fā)票 開(kāi)領(lǐng) 書(shū)單 需求分析過(guò)程示意 (4) 對(duì)目標(biāo)系統(tǒng)進(jìn)行完善和補(bǔ)充,并寫(xiě)出完整的需求說(shuō)明; (5) 對(duì)需求說(shuō)明進(jìn)行復(fù)審,直到確認(rèn)文檔齊全,并且符合用 戶(hù)的全部需求為止。 3.2 需求獲取的常用方法 1.需求獲取的目的 清楚地理解所要解決的問(wèn)
5、題 完整地獲取用戶(hù)需求 2.需求獲取面臨的挑戰(zhàn) 問(wèn)題的復(fù)雜性和對(duì)問(wèn)題空間理解的不完 備性與不一致性 交流障礙 需求易變性 3.2 需求獲取的常用方法 3.需求獲取的常用方法( P34-P35) 建立聯(lián)合分析小組 客戶(hù)訪(fǎng)談 問(wèn)題分析與確認(rèn) 3.2 需求獲取的常用方法 建立聯(lián)合分析小組 1)聯(lián)合分析小組的人員主要包括:用戶(hù)、領(lǐng)域?qū)<摇?系 統(tǒng)分析員 2)通過(guò)聯(lián)合分析小組的工作,可以極大地方便系統(tǒng)開(kāi)發(fā) 人員和用戶(hù)之間的溝通。 3.需求獲取的常用方法 客戶(hù)訪(fǎng)談 在與用戶(hù)接觸之前,先要進(jìn)行充分的準(zhǔn)備 : 注意:在與用戶(hù)交流時(shí),應(yīng)遵循循序漸進(jìn)、逐步逼近的原則, 切不可急于求成否則欲速則不達(dá)。 3.需求獲取
6、的常用方法 首先,必須對(duì)問(wèn)題的背景和問(wèn)題所在系統(tǒng)的環(huán)境有全面的了解; 其次,盡可能了解將要會(huì)談?dòng)脩?hù)的個(gè)性特點(diǎn)及任務(wù)狀況; 第三,事先準(zhǔn)備一些問(wèn)題。 問(wèn)題分析與確認(rèn) 不能期望用戶(hù)在一兩次交談中,就會(huì)對(duì)目標(biāo)軟件的 要求闡述清楚,也不能限制用戶(hù)在回答問(wèn)題過(guò)程中的自 由發(fā)揮。 在每次訪(fǎng)談之后,要及時(shí)進(jìn)行整理,分析用戶(hù)提供 的信息,去掉錯(cuò)誤的、無(wú)關(guān)的部分,整理有用的內(nèi)容, 以便在下一次與用戶(hù)見(jiàn)面時(shí)由用戶(hù)確認(rèn);同時(shí),準(zhǔn)備下 一次訪(fǎng)談時(shí)的進(jìn)一步更細(xì)節(jié)的問(wèn)題。如此循環(huán),一般需 要 2-5個(gè)來(lái)回。 3.需求獲取的常用方法 舉例:某出版社系統(tǒng)調(diào)查表 編號(hào) 提出問(wèn)題 1 您在哪個(gè)部門(mén)工作? 2 出版業(yè)務(wù)流程是什么?
7、 3 您每日都處理那些文件、數(shù)據(jù)、報(bào)表? 4 工作中手工處理特別麻煩的事情是什么? 5 工作中手工處理什么問(wèn)題解決不了?影響效率的問(wèn)題有哪些? 6 您認(rèn)為提高工作效率,節(jié)省工作時(shí)間,減輕工作強(qiáng)度可采取哪些 辦法? 舉例:某出版社系統(tǒng)調(diào)查表 編號(hào) 提出問(wèn)題 7 您的部門(mén)需要成本核算和統(tǒng)計(jì)的內(nèi)容有哪些? 8 您的部門(mén)采用計(jì)算機(jī)管理工作情況如何? 9 如何改進(jìn)業(yè)務(wù)流程使之更合理? 10 哪些問(wèn)題是目前傳統(tǒng)手工方法根本無(wú)法解決的? 11 出版社計(jì)算機(jī)管理信息系統(tǒng)需要解決什么問(wèn)題? 軟件需求分析的通信途徑 需求分析流程 4. 需求獲取的內(nèi)容 (1)功能性需求 : 定義了系統(tǒng)做什么(描述系統(tǒng)必須支持的功能
8、和過(guò)程) (2)非功能性需求(技術(shù)需求) : 定義了系統(tǒng)工作時(shí)的特性(描述操作環(huán)境和性能目標(biāo)) 用戶(hù)需求分類(lèi) 兩類(lèi)需求包括的內(nèi)容 (1) 功能 (2) 性能 (3) 環(huán)境 (4) 界面 (5) 用戶(hù)或人的因素 (6) 文檔 (7) 數(shù)據(jù) (8) 資源 (9) 安全保密 (10)軟件成本消耗與開(kāi)發(fā)進(jìn)度 (11)質(zhì)量保證 4. 需求獲取的內(nèi)容 (1) 功能需求 系統(tǒng)做什么? 系統(tǒng)何時(shí)做什么? 系統(tǒng)何時(shí)及如何修改或升級(jí)? (2) 性能需求 軟件開(kāi)發(fā)的技術(shù)性指標(biāo) 例如: 存儲(chǔ)容量限制 執(zhí)行速度、相應(yīng)時(shí)間 吞吐量 (3) 環(huán)境需求 硬件設(shè)備:機(jī)型、外設(shè)、接口、地 點(diǎn)、分布、溫度、濕度、磁場(chǎng)干擾等 軟件:
9、 操作系統(tǒng) 網(wǎng)絡(luò) 數(shù)據(jù)庫(kù) (4) 界面需求 有來(lái)自其它系統(tǒng)的輸入嗎? 到自其它系統(tǒng)的輸出嗎? 對(duì)數(shù)據(jù)格式有規(guī)定嗎? 對(duì)數(shù)據(jù)存儲(chǔ)介質(zhì)有規(guī)定嗎? 需求包括的內(nèi)容 (5) 用戶(hù)或人的因素 用戶(hù)類(lèi)型? 各種用戶(hù)熟練程度? 需受何種訓(xùn)練? 用戶(hù)理解、使用系統(tǒng)的難度? 用戶(hù)錯(cuò)誤操作系統(tǒng)的可能性? (6) 文檔需求 需哪些文檔? 文檔針對(duì)哪些讀者? (7) 數(shù)據(jù)需求 輸入、輸出數(shù)據(jù)的格式? 接收、發(fā)送數(shù)據(jù)的頻率? 數(shù)據(jù)的準(zhǔn)確性和精度? 數(shù)據(jù)流量? 數(shù)據(jù)需保持的時(shí)間? (8) 資源需求 軟件運(yùn)行時(shí)所需的數(shù)據(jù)、軟件、 內(nèi)存空間等資源。 軟件開(kāi)發(fā)、維護(hù)所需的人力、支 撐軟件、開(kāi)發(fā)設(shè)備等。 需求包括的內(nèi)容 (9)
10、安全保密要求 需對(duì)訪(fǎng)問(wèn)系統(tǒng)或系統(tǒng)信息加以控制嗎? 如何隔離用戶(hù)之間的數(shù)據(jù)? 用戶(hù)程序如何與其它程序和操作系統(tǒng)隔離? 系統(tǒng)備份要求? (10) 軟件成本消耗與 開(kāi)發(fā)進(jìn)度需求 開(kāi)發(fā)有規(guī)定的時(shí)間表嗎? 軟硬件投資有無(wú)限制? (11) 質(zhì)量保證 系統(tǒng)的可靠性要求? 系統(tǒng)必須監(jiān)測(cè)和隔離錯(cuò)誤嗎? 規(guī)定系統(tǒng)平均出錯(cuò)時(shí)間? 出錯(cuò)后,重啟系統(tǒng)允許的時(shí)間? 系統(tǒng)變化如何反映到設(shè)計(jì)中? 維護(hù)是否包括對(duì)系統(tǒng)的改進(jìn)? 系統(tǒng)的可移植性? 需求包括的內(nèi)容 原型 (原型指 “ 快速軟件原型 ” )是一個(gè)可實(shí)地 運(yùn)行 的 模型 ,有正式產(chǎn)品的主要特征,但不是全部特征。 軟件原型是軟件系統(tǒng)的最初版本,以最少的費(fèi)用,最 短的時(shí)間開(kāi)
11、發(fā)出的、以反映最后軟件的主要特征的系統(tǒng)。 5. 快速原型法在需求分析中的應(yīng)用 原型開(kāi)發(fā)指的是建立一個(gè)系統(tǒng)的早期版本的演習(xí) (practice),它不必反映最終產(chǎn)品的所有性能,而只要反映感 興趣的一些方面。 原型的定義 原型的作用 問(wèn)題:開(kāi)發(fā)初期很難確定用戶(hù)需求規(guī)格解決:用戶(hù)與開(kāi)發(fā) 者之間的鴻溝以原型 (軟件產(chǎn)品的樣品 )為共同語(yǔ)言,實(shí)現(xiàn)用戶(hù) 與開(kāi)發(fā)者雙向溝通。 原型的特性 是一個(gè)可實(shí)際工作的系統(tǒng); 沒(méi)有固定的生存期 ,結(jié)局可能是用后立即被拋棄 ,或可能成為 最終系統(tǒng) ; 可服務(wù)于不同的目的 , 從需求分析到最終產(chǎn)品都可做原型 ; 建立必須快 ,便宜 ; 是包含修改 、 評(píng)價(jià)在內(nèi)的完整重復(fù)過(guò)程
12、需求分析和定義規(guī)格說(shuō)明 作為軟件設(shè)計(jì)的一種工具 作為一種解決不確定性的工具 作為一種實(shí)驗(yàn)工具 系統(tǒng)開(kāi)發(fā)同時(shí) ,作為同步培訓(xùn)工具 作為開(kāi)發(fā)方法,利用原型演化為最終系統(tǒng) 作為軟件維護(hù)的輔助工具 原型化開(kāi)發(fā)的應(yīng)用領(lǐng)域 原型開(kāi)發(fā)的步驟 (1) 利用各種分析技術(shù)和方法,生成一個(gè)建華的需求規(guī)格說(shuō)明。 (2) 對(duì)需求規(guī)格說(shuō)明進(jìn)行必要的檢查和修改后,確定原型的軟件結(jié)構(gòu)、 用戶(hù)界面和數(shù)據(jù)結(jié)構(gòu)等。 (3) 在現(xiàn)有的工具和環(huán)境的幫助下快速生成可運(yùn)行的軟件原型并進(jìn)行測(cè) 試、改進(jìn); (4)將原型提交給用戶(hù)評(píng)估并征求用戶(hù)的修改意見(jiàn); (5)重復(fù)上述過(guò)程,直到原型得到用戶(hù)的認(rèn)可。 原型化的開(kāi)發(fā)環(huán)境 (1)試驗(yàn)性原型 原型用
13、來(lái)確認(rèn)對(duì)需求的理解是否正確,應(yīng)在與實(shí)際產(chǎn)品環(huán) 境相近的環(huán)境上開(kāi)發(fā)原型。 (2) 試用性原型 原型用來(lái)幫助用戶(hù)在試用中使自己的模糊的需求明確起來(lái) 確,可在與實(shí)際產(chǎn)品環(huán)境完全 無(wú)關(guān)的環(huán)境上開(kāi)發(fā)運(yùn)行。 僅對(duì)屏幕的原型化 使用購(gòu)買(mǎi)的軟件系統(tǒng)作為 初始模型 可行性分析中的原型 子系統(tǒng)原型化 原型化策略 功能原型開(kāi)發(fā) 用戶(hù)界面原型開(kāi)發(fā) 原型開(kāi)發(fā)技術(shù) 原型化工具 面向應(yīng)用的第四代語(yǔ)言 (4GL) Delphi VB PowerBuilder Visual C+ 等 原型法效果 保證產(chǎn)品有較好的可維護(hù)性 改善用戶(hù)與開(kāi)發(fā)人員的信息交流和思想溝通,給用戶(hù)修改的機(jī)會(huì) 減少或消滅下游返工的可能,改進(jìn)了瀑布模型的弊病
14、原型系統(tǒng)可作為培訓(xùn)環(huán)境 ,有利于用戶(hù)培訓(xùn)和開(kāi)發(fā)同步。 開(kāi)發(fā)成本降低,周期縮短。 原型法局限性 需工具支持 , 否則開(kāi)發(fā)工作量大; 只能縮短用戶(hù)與軟件需求定義間的距離 , 并不能消滅這個(gè)距離; 考慮你的項(xiàng)目是否適合用原型法來(lái)開(kāi)發(fā)時(shí) , 有幾個(gè)因素是要權(quán)衡的 。 Boehm,Gray,和 Seewaldt(1984) 研究了項(xiàng)目是否適合用原型來(lái)開(kāi)發(fā)的 問(wèn)題 。 他們發(fā)現(xiàn)用原型法開(kāi)發(fā)項(xiàng)目 , 可以少花費(fèi) 45%的努力 , 還可以 減少 40%的代碼 。 而且 , 開(kāi)發(fā)出的產(chǎn)品的速度和效率與用傳統(tǒng)方法開(kāi) 發(fā)出的差不多 。 是否要選擇原型法? 由于開(kāi)發(fā)一個(gè)原型需要花費(fèi)一定的人力、物力、財(cái)力和時(shí)間, 而且
15、用于確定需求的原型在完成使命后一般就被丟棄。因此,是 否使用快速原型法必須考慮軟件系統(tǒng)的特點(diǎn)、可用的開(kāi)發(fā)技術(shù)和 工具等方面。 Andriole提出的一下 6個(gè)問(wèn)題,可用來(lái)幫助判斷是 否要選擇原型法。 需求已經(jīng)建立,并且可以預(yù)見(jiàn)是相當(dāng)穩(wěn)定嗎?(肯定回答,不 采用原型法) 軟件開(kāi)發(fā)人員和用戶(hù)已經(jīng)理解了目標(biāo)軟件的應(yīng)用領(lǐng)域嗎? 問(wèn)題是否可被模型化? 用戶(hù)能否清楚地確定基本的系統(tǒng)需求? 有任何需求是含糊的嗎? 已知的需求中存在矛盾嗎? (以上 5個(gè)問(wèn)題肯定回答,用原型法) 3.3 分析建模 兩種分析模型 結(jié)構(gòu)化分析模型 面向?qū)ο蠓治瞿P?計(jì)算機(jī)世界 現(xiàn)實(shí)世界 結(jié) 構(gòu) 化 開(kāi) 發(fā) 方 法 結(jié)構(gòu)化 分析 結(jié)
16、構(gòu)化 設(shè)計(jì) 結(jié)構(gòu)化 編程 OOA OOD OOP 面 向 對(duì) 象 開(kāi) 發(fā) 方 法 結(jié)構(gòu)化分析模型的組成結(jié)構(gòu) 數(shù)據(jù)流圖 (DFD) E-R圖 狀態(tài)變遷圖 (STD圖 ) 加 工 說(shuō) 明 控制說(shuō)明 數(shù) 據(jù) 對(duì) 象 說(shuō) 明 數(shù)據(jù)字典 ( DD) 結(jié)構(gòu)化分析模型的組成結(jié)構(gòu) 模型的核心是 DD( Data Dictionary,數(shù)據(jù)字典),它是系統(tǒng)所涉及的 各種數(shù)據(jù)對(duì)象的總和。 從 DD出發(fā)可構(gòu)建 3種圖: E-R圖 ( Entity-Relation Diagram,實(shí)體 -關(guān)系圖)用于描述數(shù)據(jù)對(duì) 象間的關(guān)系,他代表軟件的數(shù)據(jù)模型,在實(shí)體 -關(guān)系圖中出現(xiàn)的每個(gè) 數(shù)據(jù)對(duì)象的屬性均可用數(shù)據(jù)對(duì)象說(shuō)明來(lái)描述;
17、 DFD圖 ( Data Flow Diagram,數(shù)據(jù)流圖),其主要作用是指明系統(tǒng)中 數(shù)據(jù)是如何流動(dòng)和變換的,以及描述是數(shù)據(jù)流進(jìn)行變換的功能,在 DFD圖中出現(xiàn)的每個(gè)功能的描述則寫(xiě)在( PSPEC)中,它們一起構(gòu)成功 能模型; STD( Status Transfer Diaram,狀態(tài) -變遷圖),用于指明系統(tǒng)在外 部時(shí)間的作用下將會(huì)如何動(dòng)作,表明了系統(tǒng)的各種狀態(tài)以及各種狀態(tài) 間的變遷,從而構(gòu)成為行為模型的基礎(chǔ),關(guān)于軟件控制方面的附加信 息則包含在控制說(shuō)明( CSPEC)。 面向?qū)ο蠓治瞿P偷慕M成結(jié)構(gòu) 對(duì)象 -關(guān) 系模型 類(lèi) /對(duì)象 模型 對(duì)象 -行為模型 使用實(shí)例 (Use Case)
18、操作、 面向?qū)ο蠓治瞿P偷慕M成結(jié)構(gòu) 使用實(shí)例, 處于 OOA模型核心的是“使用實(shí)例”( Use Case ),簡(jiǎn)稱(chēng) “用例”。獲得軟件的需求后,軟件分析員既可據(jù)此創(chuàng)建一組“場(chǎng)景” ( Scenario),每個(gè)場(chǎng)景包含一個(gè)使用實(shí)例。從這些用例出發(fā),進(jìn)一 步抽取和定義 OOA模型的 3種模型,即 類(lèi) -對(duì)象模型 , 描述系統(tǒng)所涉及的全部類(lèi) -對(duì)象,每個(gè)類(lèi) -對(duì)象都通過(guò) 屬性、操作和寫(xiě)作者來(lái)進(jìn)行進(jìn)一步描述; 對(duì)象 -關(guān)系模型 , 描述對(duì)象之間的靜態(tài)關(guān)系,同時(shí)定義了系統(tǒng)中所有 重要的消息路徑,它也可以具體化到對(duì)象的屬性、操作和協(xié)作者; 對(duì)象 -行為模型 , 描述了系統(tǒng)的動(dòng)態(tài)行為,即對(duì)湘雜特定的狀態(tài)下如
19、 何反映外界的事件。 數(shù)據(jù)流圖 (DFD) 數(shù)據(jù)字典 (DD) 加工說(shuō)明 控制流圖( CFD)與控制說(shuō)明( CSPEC ) 狀態(tài)轉(zhuǎn)換圖 (STD) E-R圖 用例圖 對(duì)象關(guān)系圖( Object-Relationship,O-R) 對(duì)象行為圖 2.分析模型的組成與描述工具 分析模型的組成與描述工具 DFD、 DD和 PSPEC:是早期結(jié)構(gòu)化分析模型 的基本組成部分; CFD、 CSPEC和 STD是擴(kuò)展成分用以適應(yīng)實(shí)時(shí)的 建模需要; E-R圖:適用于描述具有復(fù)雜數(shù)據(jù)結(jié)構(gòu)的軟件數(shù)據(jù) 模型; 用例圖、對(duì)象關(guān)系圖和對(duì)象行為圖適用于 OOA的分 析模型。 數(shù)據(jù)流圖 (DFD) 任何軟件系統(tǒng)(或計(jì)算機(jī)系統(tǒng)
20、)從根本上說(shuō),都是對(duì)數(shù)據(jù) 進(jìn)行加工或變換的工具 指明數(shù)據(jù)在系統(tǒng)中移動(dòng)時(shí)如何被變換; 描述對(duì)數(shù)據(jù)流進(jìn)行變換的功能; DFD中每個(gè)功能的描述包含在加工規(guī)約小說(shuō)明 )中。 數(shù)據(jù)存儲(chǔ) (文件或數(shù)據(jù)庫(kù)) 數(shù)據(jù)流圖的四個(gè)基本成分 數(shù)據(jù)流(數(shù)據(jù)對(duì)象) 位于被建模系統(tǒng)之外的信息生產(chǎn)者或消費(fèi)者 , 稱(chēng)為外部項(xiàng)。 說(shuō)明數(shù)據(jù)輸入的源點(diǎn) (數(shù)據(jù)源 )或數(shù)據(jù)輸出的 匯點(diǎn) (數(shù)據(jù)池 ) 或 2 或 2 或 II 數(shù)據(jù)處理 (加工 ) 數(shù)據(jù)流 表示數(shù)據(jù)和數(shù)據(jù)流向, 三個(gè)重要屬性 : 流向 (從加工出發(fā)或流向加工 ) 數(shù)據(jù)組成 數(shù)據(jù)流名字 數(shù) 據(jù)流命名方法和注意事項(xiàng) 用名詞或名詞詞組,不要使用意義空洞的名詞; 盡量使用現(xiàn)實(shí)系
21、統(tǒng)已有名字 ,當(dāng)命名出現(xiàn)困難,考慮是否數(shù)據(jù)流劃 分不恰當(dāng); 不要把控制流作為數(shù)據(jù)流指明作為外部事件的結(jié)果 ,系統(tǒng)將如何動(dòng) 作。 舉例 : 購(gòu) 書(shū) 單 發(fā)票 領(lǐng)書(shū)單 審查并 開(kāi)發(fā)票 開(kāi)領(lǐng) 書(shū)單 無(wú)效書(shū)單 學(xué)生 1 2 各班學(xué)生 用 書(shū) 表 學(xué)生 教材存量表 數(shù)據(jù)字典 (DD, Data Dictionary) 模型核心 (中心庫(kù) ) 一個(gè)軟件系統(tǒng)含有許多數(shù)據(jù)。數(shù)據(jù)字典的作用,就是對(duì)軟件中 的每個(gè)數(shù)據(jù)規(guī)定一個(gè)定義條目,以保持?jǐn)?shù)據(jù)在系統(tǒng)中的一致性。 由字典統(tǒng)一給出的所有數(shù)據(jù)的定義與屬性,已成為結(jié)構(gòu)化分析 中分析建模的基礎(chǔ)。 數(shù)據(jù)詞典與數(shù)據(jù)流圖配合,能清楚地表達(dá)數(shù)據(jù)處理的要求 詞條描述 對(duì)于在數(shù)據(jù)流圖
22、中每一個(gè)被命名的圖形元素, 均加以定義,其內(nèi)容有 : 名字 , 別名或編號(hào) , 分類(lèi) , 描述 , 定 義 , 位置 , 其它 , 等 數(shù)據(jù)字典 DD是對(duì)所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表 ,以及 精確的、嚴(yán)格的定義 ,使得用戶(hù)和系統(tǒng)分析員對(duì)于輸入、輸出、 存儲(chǔ)成分和中間計(jì)算有共同的理解 DFD中的數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)表示某個(gè)有組織的數(shù)據(jù)集合,它 們要由 SA的其他描述工具 -需求字典 (數(shù)據(jù)字典 )來(lái)描述,包括: 詞條描述、 數(shù)據(jù)結(jié)構(gòu)描述、 加工邏輯說(shuō)明 作用 : 數(shù)據(jù)字典 數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定 義的集合 數(shù)據(jù)字典的內(nèi)容 數(shù)據(jù)流 數(shù)據(jù)流分量
23、 數(shù)據(jù)存儲(chǔ) 處理 數(shù)據(jù)處理:用 IPO圖或 PDL描述比較方便直觀。 數(shù)據(jù)元素的別名: 定義數(shù)據(jù)的方法 由數(shù)據(jù)元素組成數(shù)據(jù)的方式的三種基本類(lèi)型 順序 +: 以確定次序連接兩個(gè)或多個(gè)分量 a+b+c 選擇 |, : 從兩個(gè)或多個(gè)可能的元素中選取一個(gè) a | b | c 重復(fù) : 把指定的分量重復(fù)零次或多次 a 可選:一個(gè)分量是可有可無(wú)的(重復(fù)零次或一次) , ( a) 例子 定貨報(bào)表 =零件編號(hào) +零件名稱(chēng) +定貨數(shù)量 +目前價(jià)格 +主要供應(yīng)者 +次要供應(yīng)者 零件編號(hào) =8字符 8 定貨數(shù)量 =1數(shù)字 5 數(shù)據(jù)流詞條描述 數(shù)據(jù)流名: 說(shuō)明:簡(jiǎn)要介紹作用即它產(chǎn)生的原因和結(jié)果 數(shù)據(jù)流來(lái)源:來(lái)自何方
24、數(shù)據(jù)流去向:去向何處 數(shù)據(jù)流組成:數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)量流通量:數(shù)據(jù)量,流通量 數(shù)據(jù)元素詞條描述 數(shù)據(jù)元素名: 類(lèi)型:數(shù)字(離散值,連續(xù)值),文字(編碼類(lèi)型) 長(zhǎng)度: 取值范圍: 相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu): 數(shù)據(jù)文件詞條描述 數(shù)據(jù)文件名: 簡(jiǎn)述:存放的是什么數(shù)據(jù) 輸入數(shù)據(jù): 輸出數(shù)據(jù): 數(shù)據(jù)文件組成:數(shù)據(jù)結(jié)構(gòu) 存儲(chǔ)方式:順序,直接,關(guān)鍵碼 存取頻率: 加工邏輯詞條描述 加工名: 加工編號(hào):反映該加工的層次 簡(jiǎn)要描述:加工邏輯及功能簡(jiǎn)述 輸入數(shù)據(jù)流: 輸出數(shù)據(jù)流: 加工邏輯:簡(jiǎn)述加工程序,加工順序 F1:航班信息文件 航空公司名稱(chēng)航班號(hào) 起點(diǎn)終點(diǎn)日期 起飛時(shí)間降落時(shí)間 航空公司名稱(chēng) 2字母 4 航班號(hào)
25、 3十進(jìn)制數(shù)字 3 字母“ A”“Z” 十進(jìn)制數(shù)字“ 0”“9” 起點(diǎn)終點(diǎn) 1漢字 10 起飛時(shí)間降落時(shí)間時(shí)分 時(shí)“ 00”“23” 分“ 00”“59” 日期年月日 年 2000 2001 2002 2004 月“ 01”“12” 日“ 01”“31” 重復(fù)項(xiàng): 起點(diǎn)終點(diǎn) 1漢字 10 航空公司名稱(chēng) 2字母 4 航班號(hào) 3十進(jìn)制數(shù)字 3 組合項(xiàng): 日期年月日 起飛時(shí)間降落時(shí)間時(shí)分 選擇項(xiàng): 年 2000 2001 2002 2004 原數(shù)據(jù)項(xiàng): 字母“ A”“Z” 十進(jìn)制數(shù)字“ 0”“9” 時(shí)“ 00”“23” 分“ 00”“59” 月“ 01”“12” 日“ 01”“31” 定義式中使用的
26、符號(hào) 操作符 含義描述 定義為 與 (順序結(jié)構(gòu) ) . 重復(fù) (循環(huán)結(jié)構(gòu) ) . . 或 (選擇結(jié)構(gòu) ) . , . ( . ) 任選 m.n 界域 ., 注釋符 限制重復(fù)次數(shù)舉例 : 3 5 或 5 3 表示允許重復(fù) 3-5次 3 3 或 3 3 表示恰好重復(fù) 3 次 1 表示至少出現(xiàn) 1 次 表示允許重復(fù) 0至任意次 源點(diǎn)及匯 (終 )點(diǎn)詞條描述 簡(jiǎn)名稱(chēng):外部實(shí)體名 要描述:什么外部實(shí)體 有關(guān)數(shù)據(jù)流: 數(shù)目: 數(shù)據(jù)結(jié)構(gòu)的描述 符 號(hào) 含 義 舉 例 被定義為 與 x = a b .,. 或 .|. 或 x = a , b, x = a | b . 或 m.n 重復(fù) x = a, x = 3
27、a8 (.) 可選 x = (a) “.” 基本數(shù)據(jù)元素 x = “ a” . 連結(jié)符 x = 1.9 存折格式 存折戶(hù)名所號(hào)帳號(hào)開(kāi)戶(hù)日性質(zhì) (印密 ) 1存取行 50 戶(hù)名 2字母 24 所號(hào)“ 001”.“999” 帳號(hào)“ 00000001”.“99999999” 開(kāi)戶(hù)日年月日 性質(zhì)“ 1”.“6” 注:“ 1” 表示普通戶(hù),“ 5” 表示工資戶(hù)等 印密“ 0” 注:印密在存折上不顯示 存取行日期(摘要)支出存入余額操作復(fù)核 出現(xiàn)在軟件中的數(shù)據(jù)可分為 3種情況: 只含一個(gè)數(shù)據(jù)的數(shù)據(jù)項(xiàng)(或數(shù)據(jù)元素); 由多個(gè)相關(guān)數(shù)據(jù)向組成的數(shù)據(jù)流; 數(shù)據(jù)文件或數(shù)據(jù)庫(kù)。 舉例說(shuō)明怎樣編寫(xiě)各類(lèi)數(shù)據(jù)的字典條目:
28、數(shù)據(jù)流 數(shù)據(jù)文件 數(shù)據(jù)項(xiàng) 數(shù)據(jù)流條目說(shuō)明舉例 數(shù)據(jù)流名 :發(fā)票 別名 : 購(gòu)書(shū)發(fā)票 組成 :(學(xué)號(hào) )姓名書(shū)號(hào)單價(jià)數(shù)量總價(jià) 書(shū)費(fèi)合計(jì) 數(shù)據(jù)量 :100次 /天 高峰值:開(kāi)學(xué)期間 400次 /天 數(shù)據(jù)存儲(chǔ)條目說(shuō)明舉例 文件名 :各班學(xué)生用書(shū)表 別名 : 組成 : 系編號(hào)專(zhuān)業(yè)和班編號(hào) 年級(jí) 書(shū)號(hào) 組織 :按系、專(zhuān)業(yè)和班編號(hào)從小到大 排列 存取要求 :關(guān)鍵字是專(zhuān)業(yè)和班編號(hào) 數(shù)據(jù)項(xiàng)條目說(shuō)明舉例 數(shù)據(jù)項(xiàng)名 :系編號(hào) 別名 : 取值: 2數(shù)字 2 注釋 : * 例如 : 01,12 * 數(shù)據(jù)項(xiàng)條目說(shuō)明舉例 數(shù)據(jù)項(xiàng)名 :專(zhuān)業(yè)和班編號(hào) 別名 : 取值: 3數(shù)字 3 注釋 : * 例如 : 305 * 數(shù)據(jù)項(xiàng)條
29、目說(shuō)明舉例 數(shù)據(jù)項(xiàng)名 :年級(jí) 別名 : 取值及含義 : freshmen, 一年級(jí) sophomore,二年級(jí) junjor, 三年級(jí) senior, 四年級(jí) 注釋 :F,M,J,S可分別用 1,2,3,4代替 數(shù)據(jù)項(xiàng)條目說(shuō)明舉例 數(shù)據(jù)項(xiàng)名 :書(shū)號(hào) 別名 : 取值 : 字母 數(shù)字 注釋 : * 例如 :, * 對(duì)數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)基本加工邏輯說(shuō)明 基本加工邏輯說(shuō)明必須描述基本加工 如何把輸入數(shù)據(jù)流變換為 輸出數(shù)據(jù)流的加工規(guī)則 加工邏輯說(shuō)明必須描述實(shí)現(xiàn)加工的策略而不是實(shí)現(xiàn)加工的細(xì)節(jié) 加工邏輯說(shuō)明中包含的信息應(yīng)是充足的,完備的,有用的,無(wú) 冗余的 基本加工邏輯說(shuō)明 用于寫(xiě)加工邏輯
30、說(shuō)明的工具 結(jié)構(gòu)化英語(yǔ) 判定表 判定樹(shù) 結(jié)構(gòu)化英語(yǔ) 結(jié)構(gòu)化英語(yǔ)的詞匯表由 英語(yǔ)命令動(dòng)詞 數(shù)據(jù)詞典中定義的名字 有限的自定義詞 邏輯關(guān)系詞 IF_THEN_ELSE、 CASE_OF 、 WHILE_DO、 REPEAT_UNTIL等組成。 是一種介于自然語(yǔ)言和形式化語(yǔ)言之間的語(yǔ)言 語(yǔ)言的 正文用基本控制結(jié)構(gòu)進(jìn)行分割 ,加工中的 操 作用自然語(yǔ)言短語(yǔ)來(lái)表示 其基本控制結(jié)構(gòu)有三種: 簡(jiǎn)單陳述句結(jié)構(gòu) :避免復(fù)合語(yǔ)句; 重復(fù)結(jié)構(gòu) : while_do 或 repeat_until 結(jié)構(gòu)。 判定結(jié)構(gòu) : if_then_else 或 case_of 結(jié)構(gòu); 商店業(yè)務(wù)處理系統(tǒng)中 “ 檢查發(fā)貨單 ” if
31、發(fā)貨單金額超過(guò) $500 then if 欠款超過(guò)了 60天 then 在償還欠款前不予批準(zhǔn) else (欠款未超期) 發(fā)批準(zhǔn)書(shū),發(fā)貨單 else (發(fā)貨單金額未超過(guò) $500) if 欠款超過(guò) 60天 then 發(fā)批準(zhǔn)書(shū),發(fā)貨單及賒欠報(bào)告 else (欠款未超期) 發(fā)批準(zhǔn)書(shū),發(fā)貨單 判定表 如果數(shù)據(jù)流圖的加工需要依賴(lài)于 多個(gè)邏輯條件的取 值 ,使用判定表來(lái)描述比較合適 以 “ 檢查發(fā)貨單 ” 為例 判定樹(shù) 判定樹(shù)也是用來(lái)表達(dá)加工邏輯的一種工具。有時(shí)侯 它比判定表更直觀。 檢 查 發(fā) 貨 單 金額 $500 金額 $500 欠款 60天 不發(fā)出批準(zhǔn)書(shū) 欠款 60天 發(fā)貨單 發(fā)出批準(zhǔn)書(shū)、 欠款
32、60天 發(fā)出批準(zhǔn)書(shū)、 發(fā)貨單及賒欠報(bào)告 欠款 60天 發(fā)出批準(zhǔn)書(shū)、 發(fā)貨單 控制流圖( CFD)與控制說(shuō)明( CSPEC) CFD是為了適應(yīng)實(shí)施系統(tǒng)地分析而提出的,通常與 DFD配合使用,目的使 CSPEC分析員在用 DFD和 PSPEC表 示數(shù)據(jù)流和加工的同時(shí),也能夠用 CFD和 CSPEC表示控 制流和控制加工。( P45-P47) 數(shù)據(jù)流和控制流舉例 動(dòng)作 警告 監(jiān)控固件和 操作接口 每個(gè)固件狀態(tài) 機(jī)器人初 始化控制 操作命令 部件狀態(tài)緩沖器 位置 命令 開(kāi)始 /停止 處理 機(jī)器人命 令 機(jī)器人命令文件 操作 設(shè)置 處理活動(dòng) 記錄機(jī)器 人動(dòng)作 位串 數(shù)據(jù)和控制模型的關(guān)系 DFD 加工規(guī)約
33、 加工模型 DFD 控制規(guī)約 控制模型 數(shù)據(jù)輸出 數(shù)據(jù)條件 數(shù)據(jù)輸入 控制輸入 控制輸出 加工 激活者 SafeHome的控制面板 與用戶(hù) 交互 SAFEHOME ARMED POWER 01 1 2 3 4 5 6 7 8 9 * 0 # OFF ARAY STAY MAX TEST BYPASS INSTANT CODE CHIME READY panic alarm check fire away stay instant bypass not ready SafeHome的第 0層 SafeHomede 軟件系統(tǒng) 用戶(hù)命令 和數(shù)據(jù) 顯示信息 控制面板 傳感器 狀態(tài) 警告類(lèi)型 電話(huà)號(hào) 碼
34、撥音 傳感器 電話(huà)線(xiàn) 警鈴 控制面板顯示 SafeHome的第 1層 控制 面板 與用戶(hù) 交互 控制 面 板 顯 示 密碼 電話(huà)號(hào)碼撥音 傳感器狀態(tài) 顯示 信息 配置請(qǐng)求 用戶(hù)命令 和數(shù)據(jù) 配置 系統(tǒng) 警 鈴 電 話(huà) 線(xiàn) 傳感器 配置信息 顯示信息 和狀態(tài) 監(jiān)控 傳感器 激活不 激活系統(tǒng) 傳感器信息 密碼 處理 警告類(lèi)型 檢驗(yàn) id信息 開(kāi)始 停止 狀態(tài)信息 監(jiān)控傳感器的第 2層 電話(huà)號(hào)碼撥音 傳感器狀態(tài) 配置數(shù)據(jù) 顯示格式 配置信息 產(chǎn)生警告 信息 撥號(hào) 評(píng)估設(shè)置 傳感器信息 讀傳感器 警告類(lèi)型 傳感器 id類(lèi)型 傳感器 id 類(lèi)型定位 SafeHome的第一層 控制面 板 與用戶(hù) 交互 控
35、制 面 板 顯 示 顯示活動(dòng)狀態(tài)( 完成、在處理中 ) 配置 系統(tǒng) 警 鈴 電 話(huà) 線(xiàn) 傳感器 配置信息 顯示信息 和狀態(tài) 監(jiān)控 傳感器 激活不 激活系統(tǒng) 警告 信號(hào) 密碼 處理 傳感器 事件 警告 狀態(tài) 超 時(shí) 閃爍標(biāo)志 開(kāi)關(guān)切換 狀態(tài)轉(zhuǎn)換圖 (STD) 描述軟件狀態(tài)的變遷,它是在 CSPEC中常用的一種重要 描述工具。( P48) 電梯 狀態(tài)圖舉例 在一樓 上升 停滯 下降 回到一樓 回一樓 想要到 達(dá)樓層 想要到 達(dá)樓層 電梯行程 開(kāi)始 向上 向上 向下 概念模型和規(guī)范化 用戶(hù)的數(shù)據(jù)要求 -需要哪些數(shù)據(jù),數(shù)據(jù)之間有哪些聯(lián)系,數(shù)據(jù)本身有哪些性 質(zhì),數(shù)據(jù)的結(jié)構(gòu) 等)。 用戶(hù)的處理要求 -對(duì)數(shù)
36、據(jù)進(jìn)行哪些處理,每個(gè)處理的邏輯功能。 概念性模型(信息模型) -一種面向問(wèn)題的數(shù)據(jù)模型,是按照用戶(hù)的觀點(diǎn)來(lái) 對(duì)數(shù)據(jù)和信息建模。表示概念性數(shù)據(jù)模型的最常用方法是 實(shí)體 -聯(lián)系方法 ,采用用 ER圖的方式,這種表示又稱(chēng)為 ER模型 。 ER模型 實(shí)體: 客觀世界中存在的且可區(qū)分的事物。 聯(lián)系: 客觀事物之間的聯(lián)系(三類(lèi) -1: 1, 1: N, M:N) 屬性: 實(shí)體或聯(lián)系所具有的性質(zhì)。 教師 姓名 性別 職稱(chēng) 職務(wù) 教師號(hào) 教 1 課程 N 課程號(hào) 課名 學(xué)時(shí) 學(xué)分 學(xué) M 學(xué)生 N 學(xué)號(hào) 姓名 性別 系 年級(jí) 成績(jī) 范式 通常用范式定義消除數(shù)據(jù)的冗余度(略) E-R圖 數(shù)據(jù)及數(shù)據(jù)庫(kù)需求 在數(shù)據(jù)
37、詞典中,強(qiáng)調(diào)對(duì)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的邏輯設(shè)計(jì),并 用數(shù)據(jù)結(jié)構(gòu)表達(dá)數(shù)據(jù)項(xiàng)之間的邏輯關(guān)系。 但任何一個(gè)軟件系統(tǒng)都可能有成千上萬(wàn)個(gè)數(shù)據(jù)項(xiàng),僅 僅描述這些數(shù)據(jù)項(xiàng)是不夠的,更重要的是如何把它們 以最優(yōu)的方式組織起來(lái),以滿(mǎn)足系統(tǒng)對(duì)數(shù)據(jù)的要求。 E-R方法 ( Entity-Relationship Approach) 和實(shí)體模型 在需求分析階段進(jìn)行數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)過(guò)程中, 使用 E- R圖,可定義一 個(gè)實(shí)體模型 。 實(shí)體模型是現(xiàn)實(shí)世界的純表示 ,它不涉及數(shù)據(jù)世界的 數(shù)據(jù)結(jié)構(gòu)、存取路徑、存取效率等問(wèn)題。因此,它 可 以轉(zhuǎn)換成數(shù)據(jù)庫(kù)中的數(shù)據(jù)模型 。 E-R圖中的基數(shù)表示: 在 E-R圖中,每個(gè) 方框 表示 實(shí)體型 或
38、屬性 ,方框之間 的 連線(xiàn) 表示 實(shí)體之間 ,或 實(shí)體與屬性之間的聯(lián)系 。出 現(xiàn)在連線(xiàn)上的短豎線(xiàn)可以看成是“ 1” ,而圓圈隱含 表示“ 0” 。 例如,在教學(xué)管理中,一個(gè)教師可以教授零門(mén)、一門(mén) 或多門(mén)課程,每位學(xué)生也需要學(xué)習(xí)幾門(mén)課程。因此, 教學(xué)管理中涉及的對(duì)象(實(shí)體型)有 學(xué)生 、 教師 和 課 程 。 用 E-R圖描述它們之間的聯(lián)系,得下圖。其中,學(xué)生 與課程是多對(duì)多的聯(lián)系,而教師與課程的聯(lián)系是零、 一對(duì)多。 進(jìn)一步,要確定屬性。例如, 學(xué)生具有 學(xué)號(hào) 、 姓名 、 性別 、 年齡 、 專(zhuān)業(yè) (其它略) 等屬性; 課程具有 課程號(hào) 、 課程名 、 學(xué)分 、 學(xué)時(shí)數(shù) 等屬性; 教師具有 職
39、工號(hào) 、 姓名 、 年齡 、 職稱(chēng) 等屬性。 此外,學(xué)生通過(guò)學(xué)號(hào)、分?jǐn)?shù)與課程發(fā)生聯(lián)系。如此可 得教學(xué)實(shí)體模型。 教學(xué)實(shí)體模型 數(shù)據(jù)庫(kù)分析的過(guò)程 在需求分析階段進(jìn)行數(shù)據(jù)庫(kù)分析的流程 為開(kāi)發(fā)一個(gè)系統(tǒng)所使用的數(shù)據(jù)庫(kù),在開(kāi)始分析數(shù)據(jù)庫(kù) 的需求前,分析員必須 了解該系統(tǒng)的總目標(biāo)和范圍 。 然后 建立一個(gè)完整并高度細(xì)化的信息模型 。 此信息模型應(yīng)包括一個(gè) 綜合的數(shù)據(jù)詞典 ,定義所有在 開(kāi)發(fā)數(shù)據(jù)庫(kù)時(shí)用到的數(shù)據(jù)項(xiàng)。 接著數(shù)據(jù)庫(kù)分析定義數(shù)據(jù)庫(kù)的 邏輯特性 和 物理特性 。 用例是幫助分析員和用戶(hù)確定系統(tǒng)使用情況的 UML組件; 一組用例就是從用戶(hù)的角度出發(fā)如何使用系統(tǒng)的描述; 可認(rèn)為用例是系統(tǒng)的一組使用場(chǎng)景;
40、每個(gè)場(chǎng)景描述了一個(gè)事件的序列; 每個(gè)序列是由一個(gè)人、另一個(gè)系統(tǒng)、一個(gè)硬件設(shè)備或某段時(shí)間 的流逝所發(fā)起; 每個(gè)發(fā)起事件序列的實(shí)體叫做 參與者( actor) 或 行動(dòng)者 什么是用例( use case)? 用例圖 用例建模 用例建模是用于描述一個(gè)系統(tǒng)應(yīng)該做什么的建模技術(shù) 用例建??捎糜谛孪到y(tǒng)的需求獲取,也可用于已有系 統(tǒng)的升級(jí) 用例模型( use case model) 一個(gè)用例模型可由若干幅用例圖組成 用例描述了用戶(hù)和系統(tǒng)之間的交互,其重點(diǎn)是 系統(tǒng)為 用戶(hù)做什么 用例模型描述全部的 系統(tǒng)功能行為 一幅用例圖包含的模型元素有: 用例 參與者(行為者、執(zhí)行者) 系統(tǒng) 用例 參與者 系統(tǒng) 參與者 通
41、信 關(guān)系 用例模型表示法 銷(xiāo)售系統(tǒng)用例圖 購(gòu)買(mǎi)商品 登錄 退貨 收款 員 POS 顧客 購(gòu)買(mǎi)商品 退貨 商店 顧客 以商店作為系統(tǒng)邊界 以 POS作為系統(tǒng)邊界 POS系統(tǒng)用例圖 購(gòu)買(mǎi)商品 登錄 退貨 收款 員 POS 顧客 啟動(dòng) /關(guān)閉 管理用戶(hù) 其他 管理員 系統(tǒng)管理員 參與者與它們所發(fā)起執(zhí)行的過(guò)程(簡(jiǎn)要描述) 現(xiàn)金結(jié)算 登錄 收款員 退貨 購(gòu)買(mǎi)商品 顧客 關(guān)閉系統(tǒng) 啟動(dòng)系統(tǒng) 管理員 增加新用戶(hù) 系統(tǒng)管理員 用例描述實(shí)例 用例: 購(gòu)買(mǎi)商品 參與者:顧客(發(fā)起者)、收款員 類(lèi)型: 主要的 描述: 顧客帶著所要購(gòu)買(mǎi)商品到付款處,收款員 記錄商品信息并收款。 用例: 啟動(dòng) /關(guān)閉系統(tǒng) 參與者:管理
42、員 類(lèi)型: 主要的 描述: 管理員接通一臺(tái) POS機(jī)電源,檢查時(shí)間、 日期正確性,檢查完成后,系統(tǒng)處于就緒 狀態(tài),以備收款員使用。 對(duì)象關(guān)系圖( Object-Relationship,O-R) 對(duì)象關(guān)系圖是由 E-R圖演變而來(lái)的。對(duì)象通過(guò)制定的關(guān)系 和其他對(duì)象連接,規(guī)定連接的基數(shù)并建立整體的對(duì)象 -關(guān) 系網(wǎng)絡(luò)。 金融機(jī)構(gòu)類(lèi)圖舉例 : 所有人 財(cái)產(chǎn) 人員 金融機(jī)構(gòu) 信貸銀行 銀行 抵押 本金 利率 到期 * * 有次序的 * * * 借方 債權(quán)人 房 屋 保險(xiǎn)機(jī)構(gòu)類(lèi)圖舉例 : 銷(xiāo)售代表 0 . 1 定貨 name address 顧客 creditRating( ):String 產(chǎn)品 雇員
43、1 dataReceived isPrepaid number:String price:Money 協(xié)作顧客 contactName creditRating creditLimit creditCard# 個(gè)人顧客 creditRating( ) =“poor” 定貨作業(yè)線(xiàn) dispatch( ) close( ) remind( ) billForMonth( ) Quantity:Integer price:Money isSatisfied:Boolean 1 * * * * 1 物品 網(wǎng)上商店對(duì)象模型 (部分 )示例 (UML) 對(duì)象行為圖 對(duì)象行為模型用于描述對(duì)象動(dòng)態(tài)行為,通常由
44、對(duì)象狀 態(tài)轉(zhuǎn)換圖、事件軌跡圖和事件流圖等來(lái)描述。( P52-P53) 電梯 狀態(tài)轉(zhuǎn)換圖 在一樓 上升 停滯 下降 回到一樓 回一樓 想要到 達(dá)樓層 想要到 達(dá)樓層 電梯行程 開(kāi)始 向上 向上 向下 接電話(huà)的的部分事件軌跡圖 : 受話(huà)者 交換機(jī) 遠(yuǎn)程交換機(jī) 受話(huà)者 拿起話(huà)筒 聽(tīng)通話(huà)聲 撥號(hào)碼 . 鈴響信號(hào) 鈴響 鈴響停止信號(hào) 拿起話(huà)筒 鈴響停止 10 d e a b c b-a1 e-d5 c-b10 路徑 文檔打印系統(tǒng)的部分事件流圖 打印機(jī)忙 保存打印文件 隊(duì)列 計(jì)算機(jī) 打印機(jī)空閑 打印文件 打印機(jī) 打印服務(wù)器 打印文件 4、軟件需求說(shuō)明書(shū) (SRS) (Software Requiremen
45、t Specification) SRS的作用: 開(kāi)發(fā)者與用戶(hù)間事實(shí)上的技術(shù)合同書(shū) 開(kāi)發(fā)者下一步設(shè)計(jì)和編碼的基礎(chǔ) 測(cè)試驗(yàn)收目標(biāo)系統(tǒng)的依據(jù) 軟件需求說(shuō)明( SRS) 引言 信息描述 功能描述 行為描述 質(zhì)量保證 接口描述 其他描述 1.需求規(guī)格說(shuō)明書(shū) 2. 編制需求分析階段的文檔 軟件需求說(shuō)明書(shū) 數(shù)據(jù)要求說(shuō)明書(shū) 初步的用戶(hù)手冊(cè) 修改、完善與確定軟件開(kāi)發(fā)實(shí)施計(jì)劃 需求說(shuō)明書(shū)由以下幾部分組成: 一套分層的數(shù)據(jù)流圖 一本數(shù)據(jù)字典 一組小說(shuō)明 補(bǔ)充材料 常用的分析方法 面向數(shù)據(jù)流 的結(jié)構(gòu)化分析方法 (SA) 面向數(shù)據(jù)結(jié)構(gòu) 的 Jackson方法 (JSD) 面向?qū)ο?的分析方法 (OOA) 等 3.5
46、結(jié)構(gòu)化分析方法 (Structured Analisys, SA) 結(jié)構(gòu)化分析就是使用 DFD,DD,結(jié)構(gòu)化語(yǔ)言,判 定表和判定樹(shù)等工具,來(lái)建立一種新的,稱(chēng)為結(jié)構(gòu) 化說(shuō)明書(shū)的目標(biāo)文檔。 結(jié)構(gòu)化分析的基本步驟 : 由頂向下對(duì)系統(tǒng)進(jìn)行功能分解,畫(huà)出分層 DF圖; 由后向前定義系統(tǒng)的數(shù)據(jù)和加工,編制 DD, PSPEC; 最終寫(xiě)出 SRS. 結(jié)構(gòu)化分析方法使用工具: 數(shù)據(jù)流圖 數(shù)據(jù)詞典 結(jié)構(gòu)化英語(yǔ) 判定表與判定樹(shù) 描述銀行取款過(guò)程的數(shù)據(jù)流圖 畫(huà)分層數(shù)據(jù)流圖 軟件工程技術(shù)中,控制復(fù)雜性的兩個(gè)基本手段是“分解” 和“抽象”。 分解? 為了將復(fù)雜性降低到人可以掌握的程度,可以把大問(wèn)題 分割成若干個(gè)問(wèn)題,然
47、后分別解決。 抽象? 分解也可以分層進(jìn)行,即先考慮問(wèn)題最本質(zhì)的屬性, 暫把細(xì)節(jié)略去,以后再逐層添加細(xì)節(jié),直至涉及到最 詳細(xì)的內(nèi)容。 DFD可以用來(lái)表示一個(gè)系統(tǒng)或軟件在任何層次 上的抽象。 較大型軟件系統(tǒng) DFD分成多層 (子圖、 父圖概念 ),可以表示數(shù)據(jù)流和功能的進(jìn)一步的細(xì)節(jié)。 數(shù)據(jù)流圖的層次結(jié)構(gòu) 為了表達(dá)數(shù)據(jù)處理過(guò)程的數(shù)據(jù)加工情況,需要采用 層次 結(jié)構(gòu) 的數(shù)據(jù)流圖。按照系統(tǒng)的層次結(jié)構(gòu)進(jìn)行 逐步分解 ,并以 分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系,能清楚地表達(dá)和容易理 解整個(gè)系統(tǒng)。 分層的數(shù)據(jù)流圖 在多層數(shù)據(jù)流圖中, 頂層流圖 僅包含 一個(gè)加工 ,它代 表被開(kāi)發(fā)系統(tǒng)。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸
48、 出流是系統(tǒng)所輸出數(shù)據(jù) 底層流圖 是指其 加工不需再做分解 的數(shù)據(jù)流圖,它處 在最底層 中間層流圖 則表示 對(duì)其上層父圖的細(xì)化 。它的每一加 工可能繼續(xù)細(xì)化,形成子圖。 結(jié)構(gòu)化分析方法步驟示例 商店業(yè)務(wù)處理系統(tǒng) 這個(gè)數(shù)據(jù)流圖只是一個(gè)高層的系統(tǒng)邏輯模型,它反映 了目標(biāo)系統(tǒng)要實(shí)現(xiàn)的功能 數(shù)據(jù)流圖繪制步驟 首先確定系統(tǒng)的輸入和輸出 根據(jù)商店業(yè)務(wù),畫(huà)出頂層數(shù)據(jù)流圖,以反映最主要 業(yè)務(wù)處理流程 經(jīng)過(guò)分析,商店業(yè)務(wù)處理的 主要功能 應(yīng)當(dāng)有 銷(xiāo)售 、 采購(gòu) 、 會(huì)計(jì) 三大項(xiàng)。 主要數(shù)據(jù)流輸入的源點(diǎn) 和 輸 出終點(diǎn) 是 顧客 和 供應(yīng)商 。 然后從輸入端開(kāi)始,根據(jù)商店業(yè)務(wù)工作流程,畫(huà) 出數(shù)據(jù)流流經(jīng)的各加工框,
49、逐步畫(huà)到輸出端,得 到第一層數(shù)據(jù)流圖 第一層數(shù)據(jù)流圖 加細(xì)每一個(gè)加工框 銷(xiāo)售細(xì)化 采購(gòu)細(xì)化 需求分析示例 教材購(gòu)銷(xiāo)管理系統(tǒng)( 1) 問(wèn)題描述:學(xué)校教材科根據(jù)業(yè)務(wù)的需要,建 立一個(gè)學(xué)校教材購(gòu)銷(xiāo)管理系統(tǒng),提高教材采 購(gòu)、銷(xiāo)售和信息管理的效率。 學(xué) 生 張秘書(shū) 購(gòu)書(shū) 申請(qǐng) 王會(huì)計(jì) 李出納 趙保管 學(xué) 生 購(gòu)書(shū) 證明 購(gòu)書(shū) 申請(qǐng) 購(gòu)書(shū) 申請(qǐng) 書(shū) 學(xué) 生 審 查 有效性 購(gòu)書(shū) 單 開(kāi)發(fā)票 開(kāi)領(lǐng) 書(shū)單 發(fā) 書(shū) 學(xué) 生 有 效 購(gòu)書(shū)單 發(fā)票 領(lǐng)書(shū) 單 書(shū) 學(xué) 生 審查并 開(kāi)發(fā)票 購(gòu)書(shū) 單 開(kāi)領(lǐng) 書(shū)單 發(fā)書(shū) 學(xué) 生 發(fā)票 領(lǐng)書(shū)單 書(shū) 2)去掉具體模型中的非 本質(zhì)因素,抽象出當(dāng)前 系統(tǒng)的邏輯模型 1)通過(guò)對(duì)現(xiàn)實(shí)
50、環(huán)境的調(diào)查研究,獲 得當(dāng)前系統(tǒng)的具體模型 3)分析當(dāng)前系統(tǒng)與目標(biāo) 系統(tǒng)的差別,建立目標(biāo) 系統(tǒng)的邏輯模型。 需求分析示例 教材購(gòu)銷(xiāo)管理系統(tǒng)( 2) 學(xué) 生 審查并 開(kāi)發(fā)票 購(gòu)書(shū)單 開(kāi)領(lǐng) 書(shū)單 學(xué) 生 發(fā)票 領(lǐng)書(shū)單 無(wú)效書(shū)單 4)對(duì)目標(biāo)系統(tǒng)進(jìn)行補(bǔ)充 和完善,并寫(xiě)出完整的 需求說(shuō)明。 學(xué) 生 1 審查并 開(kāi)發(fā)票 購(gòu)書(shū)單 2 開(kāi)領(lǐng) 書(shū)單 學(xué) 生 發(fā)票 領(lǐng)書(shū)單 無(wú)效書(shū)單 各班學(xué)生用書(shū)表 教材存量表 5)對(duì)需求說(shuō)明進(jìn)行復(fù)審, 直到確認(rèn)文檔齊全,并 且符合用戶(hù)的全部需求 為止 需求分析示例 教材購(gòu)銷(xiāo)管理系統(tǒng)( 3) 學(xué)生 教材購(gòu)銷(xiāo)管理系統(tǒng) 書(shū) 庫(kù)保管員 1. 教材購(gòu)銷(xiāo)管理系統(tǒng)的頂層 DFD 學(xué)生 書(shū) 庫(kù) 保
51、管員 2. 第二層 DFD圖 教材購(gòu)銷(xiāo)系統(tǒng) 購(gòu)書(shū)單 領(lǐng)書(shū)單 缺書(shū)單 進(jìn)書(shū)通知 購(gòu)書(shū)單 領(lǐng)書(shū)單 1 銷(xiāo) 售 2 采購(gòu) 進(jìn)書(shū)通知 F2: 缺書(shū)登記表 F1: 教材存量表 缺書(shū)單 進(jìn)書(shū)通知 需求分析示例 教材購(gòu)銷(xiāo)管理系統(tǒng)( 4) 1.1 審 查 有效性 1.2 開(kāi)發(fā)票 有效 購(gòu)書(shū)單 1.3 領(lǐng)書(shū)并 開(kāi)領(lǐng)書(shū)單 發(fā)票 1.4 登記 缺書(shū) 1.5 補(bǔ)售 教材 F2: 缺書(shū)登記表 學(xué)生 學(xué)生 無(wú)效書(shū)單 領(lǐng)書(shū)單 領(lǐng)書(shū)單 F3: 各班學(xué)生用書(shū)表 F4: 售書(shū)登記表 補(bǔ)售 書(shū)單 暫缺書(shū)單 采購(gòu) 3. 第三層 DFD圖 銷(xiāo)售子系統(tǒng) F1: 教材存量表 需求分析示例 教材購(gòu)銷(xiāo)管理系統(tǒng)( 5) 2.3 修改教材庫(kù) 存和
52、待購(gòu)量 2.1 按 書(shū) 號(hào) 匯總?cè)睍?shū) F2: 缺書(shū)登記表 銷(xiāo)售 子系統(tǒng) 書(shū)庫(kù) 保管員 F1: 教材存量表 進(jìn)書(shū)通知 3. 第三層 DFD圖 采購(gòu)子系統(tǒng) 2.2 按出版社 統(tǒng)計(jì)缺書(shū) F5: 待購(gòu)教材表 F6: 教材一覽表 進(jìn)書(shū)通知 需求分析示例 教材購(gòu)銷(xiāo)管理系統(tǒng)( 6) 數(shù)據(jù)字典( Data Directory-DD) 領(lǐng)書(shū)單 = 學(xué)院 +專(zhuān)業(yè) +班級(jí) +學(xué)號(hào) +姓名 +書(shū)號(hào) +書(shū)名 +數(shù)量 +日期 有效購(gòu)書(shū)單 = 領(lǐng)書(shū)單 發(fā)票 = 學(xué)號(hào) +姓名 +書(shū)號(hào) +書(shū)名 +單價(jià) +數(shù)量 +總價(jià) +書(shū)費(fèi)合計(jì) 教材存量表 = 書(shū)號(hào) +單價(jià) +數(shù)量 暫缺書(shū)單 = 學(xué)號(hào) +姓名 + 書(shū)號(hào) +數(shù)量 補(bǔ)售書(shū)單 =
53、學(xué)號(hào) +姓名 + 書(shū)號(hào) +數(shù)量 書(shū) 號(hào) 書(shū) 名 數(shù) 量 書(shū) 號(hào) 書(shū) 名 數(shù) 量 學(xué)院: 專(zhuān)業(yè): 班級(jí): 學(xué)號(hào): 姓名: 武漢科技大學(xué)教材科領(lǐng)書(shū)單 20 年 月 日 書(shū)號(hào) 書(shū)名 單價(jià) 數(shù)量 金額 備注 學(xué)號(hào): 姓名: 發(fā) 票 人事工資管理系統(tǒng)的頂層 DFD(概圖 )范例 人 事 部 門(mén) 人事工資 管理系統(tǒng) 會(huì) 計(jì) 部 門(mén) 職 工 職工基本 信息管理 子系統(tǒng) 1.0 2.0 人事工資管理系統(tǒng) 0層 DFD范例 職工出缺勤信息 職工工資管理 子系統(tǒng) 3.0 職工出缺 勤管理 子系統(tǒng) 職工基本信息 職工工資信息 人 事 部 門(mén) 會(huì) 計(jì) 部 門(mén) 職 工 建立職工 出缺勤信息 3.1 人事工資管理系統(tǒng) 1
54、層 DFD:加工 3.0的分解圖 職工出缺勤信息 3.2 制作職工出缺 勤信息 統(tǒng)計(jì)表 職工基本信息 實(shí)例 考務(wù)處理系統(tǒng)功能 (1)對(duì)考生送來(lái)的報(bào)名單進(jìn)行檢查; (2)對(duì)合格的報(bào)名單編好準(zhǔn)考證號(hào)后將準(zhǔn)考證送給考生,并將匯總 后的考生名單送給閱卷站; (3)對(duì)閱卷站送來(lái)的成績(jī)單進(jìn)行檢查,并根據(jù)考試中心制定的合格 標(biāo)準(zhǔn)審定合格者; (4)制作考生通知單 (含成績(jī)及合格 /不合格標(biāo)志 )送給考生; (5)按地區(qū)進(jìn)行成績(jī)分類(lèi)統(tǒng)計(jì)和試題難度分析,產(chǎn)生統(tǒng)計(jì)分析表。 頂層數(shù)據(jù)流圖 考 生 考務(wù) 處理系統(tǒng) 考 試 中 心 閱卷站 不合格報(bào)名單 報(bào)名單 準(zhǔn)考證 考生通知單 成 績(jī) 清 單 合格標(biāo)準(zhǔn) 錯(cuò)誤成績(jī) 清
55、單 考 生 名 單 統(tǒng)計(jì)分析表 二層 數(shù)據(jù)流 圖 登記 報(bào)名單 報(bào)名單 準(zhǔn)考證 1 統(tǒng)計(jì)成績(jī) 2 不合格 報(bào)名單 考生通知 單 成 統(tǒng)計(jì)分析 表 考生名冊(cè) 績(jī) 清 單 合 格 標(biāo) 準(zhǔn) 考 生 名 單 成 績(jī) 清 單 錯(cuò) 誤 三層數(shù)據(jù)流圖 (a) 檢查 報(bào)名單 報(bào)名單 準(zhǔn)考證 1.1 編準(zhǔn)考證號(hào) 1.2 不合格 報(bào)名單 考生名冊(cè) 考生名單 合格 報(bào)名單 登記 考生 1.3 三層數(shù)據(jù)流圖 (b) 檢查 成績(jī)清單 2.1 審定 合格者 2.2 考生名冊(cè) 正確 成績(jī)清單 制作 通知單 2.3 分析 統(tǒng)計(jì)成績(jī) 2.4 分析 試題難度 2.5 試題得分清單 考生 通知單 難度 分析表 合格 標(biāo)準(zhǔn) 分類(lèi) 統(tǒng)
56、計(jì)表 成績(jī)清單 錯(cuò)誤 成績(jī)清單 經(jīng)審定的 成績(jī)清單 檢查和修改數(shù)據(jù)流圖的原則 數(shù)據(jù)流圖上所有圖形符號(hào) 只限于 前述四種基本圖形元 素; 數(shù)據(jù)流圖的 主圖必須包括前述四種基本元素 ,缺一不 可; 數(shù)據(jù)流圖的主圖上的數(shù)據(jù)流必須封閉在外部實(shí)體之間; 每個(gè)加工 至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流; 在數(shù)據(jù)流圖中,需 按層給加工框編號(hào) 。編號(hào)表明該加 工所處層次及上下層的親子關(guān)系; 規(guī)定任何一個(gè)數(shù)據(jù)流子圖必須與它上一層的一個(gè)加工 對(duì)應(yīng),兩者的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流必須一致。此 即 父圖與子圖的平衡; 可以在數(shù)據(jù)流圖中加入物質(zhì)流,幫助用戶(hù)理解數(shù)據(jù)流 圖; 圖上每個(gè)元素都必須有名字; 數(shù)據(jù)流圖中不可夾帶控
57、制流; 初畫(huà)時(shí)可以忽略瑣碎的細(xì)節(jié),以集中精力于主要數(shù)據(jù)流。 畫(huà)分層 DFD的指導(dǎo)原則 (1) 父圖與子圖的 平衡 模型細(xì)化時(shí)必須保持?jǐn)?shù)據(jù)流的連 續(xù)性,即每個(gè)細(xì)化部分的輸入和輸出 必須保持不變 (父圖和子圖輸入數(shù)據(jù) 和輸出數(shù)據(jù)應(yīng)一致 )。 父圖與子圖平衡的特例 領(lǐng) 書(shū) 單 1.3 發(fā)票 1.3.3 1.3.2 教材 1.3.1 學(xué)生 領(lǐng) 書(shū) 單 父圖 子圖 發(fā)票學(xué)生教材 (2) 區(qū)分局部文件和局部外部項(xiàng) .1 .2 .3 1 父圖 子圖 畫(huà)分層 DFD的指導(dǎo)原則 (3) 遵守加工的編號(hào)原則 子圖的編號(hào)為父圖中相應(yīng)加工的編號(hào); 子圖中加工的編號(hào)由子圖號(hào)、小數(shù)點(diǎn)、局部號(hào)連接而成。 畫(huà)分層 DFD的指
58、導(dǎo)原則 畫(huà)分層 DFD的指導(dǎo)原則 (4) 分解的深度與層次 按功能情況定,一般設(shè)深度為 3-5。 原則: 分解應(yīng)自然,概念上合理、清晰; 只要不影響數(shù)據(jù)流圖的“易理解性”,可以適當(dāng)?shù)囟喾纸獬蓭撞糠?,這樣 分層土的層數(shù)就可少些; 一般說(shuō)來(lái),在上層可以分解的快些,而在下層則應(yīng)分解的慢些,因?yàn)樯蠈?是一些綜合性的描述,“易理解性”相對(duì)地說(shuō)不太重要。 實(shí)例:運(yùn)動(dòng)會(huì)管理系統(tǒng) 過(guò)程如下: 首先決定日期、地點(diǎn)規(guī)模設(shè)立那些比賽項(xiàng)目、報(bào)名 期限等,并作出一些規(guī)定,如每人最多可參加多少項(xiàng) 目,每個(gè)項(xiàng)目每隊(duì)最多可有多少人參加等。在報(bào)名結(jié) 束后,要給每個(gè)運(yùn)動(dòng)員編號(hào),統(tǒng)計(jì)每個(gè)項(xiàng)目有多少運(yùn) 動(dòng)員以及有哪些運(yùn)動(dòng)員參加,并根
59、據(jù)每個(gè)項(xiàng)目的參加 人數(shù)等具體情況派出比賽日程表。在運(yùn)動(dòng)會(huì)進(jìn)行過(guò)程 中要按各項(xiàng)比賽的成績(jī)及時(shí)公布單項(xiàng)名次并累計(jì)團(tuán)體 總分。比賽全部結(jié)束后要公布團(tuán)體名次。 3.6 面向?qū)ο蠓治龇椒?思考題 軟件開(kāi)發(fā)中為什么要使用面向?qū)ο?方法? 面向?qū)ο蠓治龇椒ㄅc結(jié)構(gòu)化分析方 法有哪些相似之處?有何區(qū)別? 面向?qū)ο蠓椒ㄊ菍?duì)過(guò)去的一個(gè)完全 突破,還是“換湯不換藥”? 開(kāi)發(fā)方法的組合 分析 設(shè)計(jì) 編程 結(jié)構(gòu)化 結(jié)構(gòu)化 面向?qū)ο?結(jié)構(gòu)化 面向?qū)ο?面向?qū)ο?面向?qū)ο?結(jié)構(gòu)化 第三代或第四代語(yǔ)言 面向?qū)ο?面向?qū)ο?第三代或第四代語(yǔ)言 面向?qū)ο?面向?qū)ο?傳統(tǒng)編程與面向?qū)ο蟮幕旌?面向?qū)ο?面向?qū)ο?面向?qū)ο?傳統(tǒng)方法數(shù)
60、據(jù)與過(guò)程是分離的 過(guò)程 1 輸入 輸出 過(guò)程 2 過(guò)程 3 數(shù)據(jù)實(shí)體 屬于該對(duì)象 的數(shù)據(jù) 對(duì)象 處理數(shù)據(jù)的方法 消息 消息 對(duì)象把數(shù)據(jù)和處理數(shù)據(jù)的方法封裝成一個(gè)單元 傳統(tǒng)方法和面向?qū)ο蠓椒ǖ谋容^ 傳統(tǒng)方法 系統(tǒng)是過(guò)程的集合 過(guò)程與數(shù)據(jù)實(shí)體交互 過(guò)程接受輸入并產(chǎn)生輸出 面向?qū)ο蠓椒?系統(tǒng)是交互對(duì)象的集合 對(duì)象與人或其它對(duì)象交互 對(duì)象發(fā)送與響應(yīng)消息 傳統(tǒng)系統(tǒng)分析方法 :面向功能 ,把系統(tǒng)看成一組功能; OOA方法 :把問(wèn)題當(dāng)作一組相互作用的實(shí)體,并確定實(shí)體 間關(guān)系。 傳統(tǒng)方法和面向?qū)ο蠓椒ǖ谋容^ 結(jié)構(gòu)化分析 (傳統(tǒng)建模方法 )方法 分析模型: 數(shù)據(jù)流圖 (DFD) 數(shù)據(jù)字典 (DD) 小說(shuō)明 E-
61、R圖 (ERD) 狀態(tài)變遷圖 (STD) 面向?qū)ο蠓治龇椒?分析模型: 用例模型(用況模型) 對(duì)象模型(概念模型) 功能模型(行為模型) 分析建模方法與分析模型 分析模型的主要目標(biāo) 描述用戶(hù)需要 建立創(chuàng)建軟件設(shè)計(jì)的基礎(chǔ) 定義軟件完成后可被確認(rèn)的一組需求 OO方法的開(kāi)發(fā)過(guò)程 OO方法改進(jìn)了在生存期各個(gè)階段間的界面 , 因?yàn)樯嫫诟鱾€(gè)階段開(kāi)發(fā)出來(lái)的 “ 部件 ” 都是 類(lèi) , 在面向?qū)ο笊嫫诘母鱾€(gè)階段對(duì)各個(gè) 類(lèi) 的信息進(jìn) 行細(xì)化 , 類(lèi) 成為分析 、 設(shè)計(jì)和實(shí)現(xiàn)的 基本單元 。 用例建模 用例建模是用于描述一個(gè)系統(tǒng)應(yīng)該做什么的建模技術(shù); 用例建模可用于新系統(tǒng)的需求獲取,也可用于已有系 統(tǒng)的升級(jí)。
62、 發(fā)現(xiàn)角色( P61) 通過(guò)回答下列問(wèn)題,可以幫助建模者發(fā)現(xiàn)角色 使用系統(tǒng)主要功能的人是誰(shuí)? 需要借助于系統(tǒng)完成日常工作的人是誰(shuí)? 誰(shuí)來(lái)維護(hù)、管理系統(tǒng),保證系統(tǒng)正常工作? 系統(tǒng)控制的硬件設(shè)備有哪些? 系統(tǒng)需要與哪些其它系統(tǒng)交互? 對(duì)系統(tǒng)產(chǎn)生的結(jié)果感興趣的人或事是哪些? 發(fā)現(xiàn)用例( P61) 詢(xún)問(wèn)以下問(wèn)題 角色需要從系統(tǒng)中獲得哪種功能?角色需要做什么? 角色需要讀取、產(chǎn)生、刪除、修改或存儲(chǔ)系統(tǒng)中的信息嗎? 系統(tǒng)中發(fā)生的事件需要通知角色嗎? 如果用系統(tǒng)的新功能處理角色的日常工作是簡(jiǎn)化了還是提 高了工作效率? 用例模型( use case model) 一個(gè)用例模型可由若干幅用例圖組成 用例描述了用
63、戶(hù)和系統(tǒng)之間的交互,其重點(diǎn)是系 統(tǒng)為用戶(hù)做什么 用例模型描述全部的 系統(tǒng)功能行為 一幅用例圖包含的模型元素有: 用例 參與者(行為者、執(zhí)行者) 系統(tǒng) 用例 參與者 系統(tǒng) 參與者 通信 關(guān)系 用例模型 用例圖舉例 簽定一份 保險(xiǎn)單 客戶(hù) 保險(xiǎn)銷(xiāo) 售人員 銷(xiāo)售統(tǒng)計(jì) 客戶(hù)統(tǒng)計(jì) 2.領(lǐng)域分析 目的:發(fā)現(xiàn)或創(chuàng)建一些可廣泛應(yīng)用的類(lèi),使它們可以被復(fù)用。 具體地說(shuō),面向?qū)ο箢I(lǐng)域分析就是以公共對(duì)象、類(lèi)、子集合和框架等形 式,在特定的應(yīng)用領(lǐng)域中表示、分析和規(guī)約公共的可復(fù)用的能力。舉 例: ( P63) 領(lǐng)域分析的輸入輸出 領(lǐng)域知識(shí)源 領(lǐng)域分析 領(lǐng)域分析 -創(chuàng)建可以廣泛地用于整個(gè)應(yīng)用領(lǐng)域范疇的可復(fù)用類(lèi) (構(gòu)件 )
64、航空 銀行 電子設(shè)備 多媒體視頻 領(lǐng)域 分析 領(lǐng)域 分析 模型 技術(shù)文件 已有應(yīng)用 客戶(hù)評(píng)定 專(zhuān)家建議 需求 提取類(lèi) 復(fù)用標(biāo)準(zhǔn) 模型 語(yǔ)言 領(lǐng)域分析活動(dòng): 定義被調(diào)查的領(lǐng)域,相關(guān)的設(shè)計(jì)、規(guī)約、代碼、政策、標(biāo)準(zhǔn)、規(guī)程等項(xiàng) 對(duì)領(lǐng)域中提取的項(xiàng),劃分種類(lèi)并提取模式,命名,并且分層。 收集領(lǐng)域中應(yīng)用的代表性樣本 分析每個(gè)樣本中的應(yīng)用,標(biāo)識(shí)對(duì)象、說(shuō)明理由、定義適應(yīng)性、估算復(fù)用率等 開(kāi)發(fā)對(duì)象分析模型,作為設(shè)計(jì)和構(gòu)造類(lèi)的基礎(chǔ) 3.類(lèi) /對(duì)象建模 系統(tǒng)的用例一旦確定,即可開(kāi)始標(biāo)識(shí)類(lèi) 對(duì)象。 考察系統(tǒng)的使用實(shí)例,首先將這些實(shí)例中的名詞 或名詞短語(yǔ)匯總起來(lái),得到候選對(duì)象;然后考察這些對(duì)象的特征, 進(jìn)而確定哪些對(duì)象應(yīng)
65、該包含在分析模型中。舉例: ( P64) 對(duì)象模型 是三個(gè)模型中最關(guān)鍵的一個(gè)模型 , 它的作用是 描述系 統(tǒng)的靜態(tài)結(jié)構(gòu) , 包括 構(gòu)成系統(tǒng)的類(lèi)和對(duì)象 , 它們的屬 性和操作 , 及 它們之間的關(guān)系 。 確定需求分析模型中的類(lèi) /對(duì)象 對(duì)象( object) 現(xiàn)實(shí)世界中某個(gè)具體的物理實(shí)體或概念在計(jì)算機(jī) 邏輯中的映射和體現(xiàn)。 對(duì)象具有的含義: 在現(xiàn)實(shí)世界中: 是客觀世界中的一個(gè)實(shí)體 在面向?qū)ο蟪绦蛑校?表達(dá)成計(jì)算機(jī)可理解、可操縱的對(duì)象 在計(jì)算機(jī)世界中: 是一個(gè)可標(biāo)識(shí)的存儲(chǔ)區(qū)域 識(shí)別概念 候選概念類(lèi)型 舉例 物理的或?qū)嵲诘膶?duì)象 POS機(jī) 飛機(jī) 規(guī)格說(shuō)明、設(shè)計(jì)或事物 描述 產(chǎn)品規(guī)格說(shuō)明 航班描述 地點(diǎn)
66、 商店 機(jī)場(chǎng) 事務(wù) 銷(xiāo)售、支付、在線(xiàn)銷(xiāo)售項(xiàng) 預(yù)定 人的角色 出納員 飛行員、乘客 系統(tǒng)外部的其他系統(tǒng)或 設(shè)備 信用卡授權(quán)系統(tǒng) 空中交通控制系統(tǒng) 組織 銷(xiāo)售部 建立概念模型( UML中的類(lèi)圖) 確定并定義類(lèi) 建立關(guān)聯(lián) 添加屬性 描述系統(tǒng)行為:系統(tǒng)順序圖等 類(lèi)及對(duì)象間常見(jiàn)的聯(lián)系 分類(lèi)關(guān)系 (歸納關(guān)系、一般與特殊的關(guān)系) 組成關(guān)系 (組合關(guān)系、整體 /部分的關(guān)系) 對(duì)象屬性之間的靜態(tài)的聯(lián)系 對(duì)象行為的動(dòng)態(tài)聯(lián)系 定義類(lèi)的結(jié)構(gòu)與層次 分類(lèi)關(guān)系 (一般與特殊的關(guān)系 )示例 學(xué)生 本科生 研究生 分類(lèi)結(jié)構(gòu)(一般 /特殊結(jié)構(gòu)) 分類(lèi)是對(duì)象抽象的基礎(chǔ) 分類(lèi)結(jié)構(gòu)表現(xiàn)的是事物的一般與特殊的關(guān)系,即“ is-a” 關(guān)系。 面向?qū)ο笮g(shù)語(yǔ)中常把一般與特殊的關(guān)系稱(chēng)為 泛化 ( Generalization) 與 特化( Specialization) 聯(lián)系 存戶(hù) 一般 /特殊結(jié)構(gòu)舉例 一般類(lèi) (父類(lèi)、基類(lèi)、超類(lèi) ) 特殊類(lèi) (子類(lèi)、具體類(lèi) ) 繼承 一個(gè)特殊類(lèi)中的所有對(duì)象可繼承一般類(lèi)中的屬性、服 務(wù)、關(guān)系 賬號(hào) 姓名 余額 存款 取款 支票存戶(hù) 儲(chǔ)蓄存戶(hù) 利息率 組成關(guān)系 (整體與部分的關(guān)系 )示例 學(xué)科部 辦公室
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 市教育局冬季運(yùn)動(dòng)會(huì)安全工作預(yù)案
- 2024年秋季《思想道德與法治》大作業(yè)及答案3套試卷
- 2024年教師年度考核表個(gè)人工作總結(jié)(可編輯)
- 2024年xx村兩委涉案資金退還保證書(shū)
- 2024年憲法宣傳周活動(dòng)總結(jié)+在機(jī)關(guān)“弘揚(yáng)憲法精神推動(dòng)發(fā)改工作高質(zhì)量發(fā)展”專(zhuān)題宣講報(bào)告會(huì)上的講話(huà)
- 2024年XX村合作社年報(bào)總結(jié)
- 2024-2025年秋季第一學(xué)期初中歷史上冊(cè)教研組工作總結(jié)
- 2024年小學(xué)高級(jí)教師年終工作總結(jié)匯報(bào)
- 2024-2025年秋季第一學(xué)期初中物理上冊(cè)教研組工作總結(jié)
- 2024年xx鎮(zhèn)交通年度總結(jié)
- 2024-2025年秋季第一學(xué)期小學(xué)語(yǔ)文教師工作總結(jié)
- 2024年XX村陳規(guī)陋習(xí)整治報(bào)告
- 2025年學(xué)校元旦迎新盛典活動(dòng)策劃方案
- 2024年學(xué)校周邊安全隱患自查報(bào)告
- 2024年XX鎮(zhèn)農(nóng)村規(guī)劃管控述職報(bào)告