版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第二部分(b fen) 結(jié)構(gòu)化分析與設(shè)計竇萬峰計算機科學(xué)與技術(shù)(jsh)學(xué)院南京師范大學(xué)2013年9月共二百零四頁回答(hud)問題什么是軟件分析與設(shè)計?軟件需求分析有哪些過程?如何啟動分析過程?什么是面向數(shù)據(jù)的建模?什么是面向數(shù)據(jù)流的建模?什么是非形式化建模、半形式化建模和形式化建模?結(jié)構(gòu)化分析與設(shè)計模型(mxng)有哪些?如何編寫分析與設(shè)計文檔?共二百零四頁第4章 軟件需求分析(fnx)(內(nèi)容提要)什么是軟件需求?軟件需求分析有哪些過程(guchng)?如何啟動分析過程?需求規(guī)格文檔有哪些內(nèi)容?需求分析有哪些技術(shù)?共二百零四頁軟件(run jin)需求業(yè)務(wù)需求與用戶需求:源于系統(tǒng)的特定領(lǐng)域
2、的需求和用戶使用交互需求。功能需求:描述系統(tǒng)預(yù)期提供的功能或服務(wù)對系統(tǒng)應(yīng)提供的服務(wù)如何(rh)對輸入做出反應(yīng)系統(tǒng)在特定條件下的行為非功能需求:指那些不直接與系統(tǒng)具體功能相關(guān)的一類需求產(chǎn)品需求機構(gòu)需求外部需求共二百零四頁功能(gngnng)需求軟件系統(tǒng)的功能需求描述可以有許多方式:文字描述圖表表示功能需求可以以不同的詳細程度反復(fù)編寫和細化功能需求描述應(yīng)該(ynggi)完整而且一致和準確完整性意味著用戶所需的所有的服務(wù)應(yīng)該全部給出描述一致性意味著需求描述不能前后矛盾準確性是指需求不能出現(xiàn)模糊和二義性的地方共二百零四頁功能需求描述(mio sh):出卷系統(tǒng)教師能夠根據(jù)自己的要求(yoqi)手動或自動
3、出一份試卷;教師可以修改試卷中不合適的題目,并能自動生成各種樣式的試卷;教師可以對試題中的題目進行更新。共二百零四頁非功能(gngnng)需求非功能需求主要與系統(tǒng)的總體特征相關(guān),是一些限制性要求,是對實際使用環(huán)境所做的要求性能要求可靠性要求安全性要求可用性要求移植性要求非功能需求關(guān)心的是系統(tǒng)整體特征而不是(b shi)個別的系統(tǒng)的特征,比功能需求對系統(tǒng)更關(guān)鍵。非功能需求卻很難檢驗非功能需求與功能需求有時會發(fā)生沖突,它們之間存在著相互作用關(guān)系共二百零四頁非功能(gngnng)需求舉例一個POS系統(tǒng)所需的存儲因為(yn wi)成本原因有所限制,而商品的描述和價目表的信息量很大。如果采用遠程服務(wù)器,
4、提供商品描述和價目表信息,那必然需要網(wǎng)絡(luò)通信,而這需要網(wǎng)絡(luò)技術(shù)。當POS機數(shù)量多時必然引起服務(wù)器處理瓶頸問題。共二百零四頁業(yè)務(wù)(yw)需求領(lǐng)域需求反映應(yīng)用領(lǐng)域的基本問題,直接影響到系統(tǒng)的可用性。例如:圖書館系統(tǒng)的功能需求基于標準用戶界面將一些文檔輸出到本地(bnd)打印機或網(wǎng)絡(luò)打印機上,但因為版權(quán)限制,這些文檔打印之后應(yīng)立即刪除。共二百零四頁需求分析(fnx)過程需求分析主要是理解客戶需要什么、分析要求、評價可行性、協(xié)商合理(hl)的方案、無歧義地詳細說明方案、確認規(guī)格說明、管理需求以至將這些需求轉(zhuǎn)化為可行系統(tǒng).過程包括:溝通導(dǎo)出需求精化需求可行性研究與客戶協(xié)商編寫需求規(guī)格說明驗證需求管理需求
5、共二百零四頁溝通(gutng)業(yè)務(wù)領(lǐng)域的共利益者(如業(yè)務(wù)管理人員,市場營銷人員,產(chǎn)品管理人員)定義業(yè)務(wù)用例確定市場的范圍(fnwi)初略地可行性分析確定項目范圍的工作說明共二百零四頁導(dǎo)出需求(xqi)導(dǎo)出需求應(yīng)理解問題范圍(fnwi)問題:系統(tǒng)的邊界,是客戶和開發(fā)者共同關(guān)心的部分理解問題:確定業(yè)務(wù)需求、需求沖突、說明有歧義和不可測試的需求易變問題:分清需求穩(wěn)定部分和易變部分收集活動:識別真正的客戶/用戶正確理解客戶的需求耐心聽取客戶意見和思考盡量使用符合客戶語言習慣的表達共二百零四頁精化(jn hu)需求開發(fā)一個精確的技術(shù)(jsh)模型,用以說明軟件的功能、特征和約束。精化是一個分析建模動作,
6、由一系列建模和求精任務(wù)構(gòu)成定義了問題的信息域,功能域和行為域共二百零四頁可行性研究可行性研究的目的是確定用最小的代價,在盡可能短的時間內(nèi)確定問題是否能夠解決可行性研究的輸入是系統(tǒng)的一個框架(kun ji)描述和高層邏輯模型輸出是一份需求開發(fā)評價報告,對需求工程和系統(tǒng)開發(fā)是否值得做的具體建議和意見三個問題:系統(tǒng)是否符合機構(gòu)的總體要求?系統(tǒng)是否可以在現(xiàn)有的技術(shù)條件、預(yù)算和時間限制內(nèi)完成?系統(tǒng)能否把已存在的其他系統(tǒng)集成?共二百零四頁與客戶(k h)協(xié)商調(diào)節(jié)沖突和問題需求排序識別和分析與每項需求相關(guān)的風險(fngxin)、開發(fā)工作量、成本和交付時間共二百零四頁編寫(binxi)軟件需求規(guī)格說明一個規(guī)格
7、說明可以是一份寫好的文檔、一套圖形化的模型、一個形式化的數(shù)學(xué)模型、一組使用場景、一個原型或以上各項的任意組合。軟件需求規(guī)格(SRS,Software Requirement Specification)是需求分析任務(wù)的最終“產(chǎn)品”,它是客戶、管理者、分析工程師、測試工程師、維護工程師交流的標準和依據(jù)。軟件需求規(guī)格描述了系統(tǒng)的數(shù)據(jù)、功能、行為、性能需求、設(shè)計約束、驗收標準、以及(yj)其他與需求相關(guān)的信息。SRS模板,包括用戶需求和系統(tǒng)需求(表4-1)共二百零四頁需求規(guī)格(gug)文檔標準(表4-1)1 引言 1.1 編寫目的 1.2 項目(xingm)背景(單位和與其他系統(tǒng)的關(guān)系) 1.3 定
8、義(專門術(shù)語和縮寫詞)2 任務(wù)概述 2.1 目標 2.2 運行環(huán)境 2.3 條件限制3 數(shù)據(jù)描述 3.1 靜態(tài)數(shù)據(jù) 3.2 動態(tài)數(shù)據(jù) 3.3 數(shù)據(jù)庫描述 3.4 數(shù)據(jù)字典 3.5 數(shù)據(jù)采集4 功能需求 4.1 功能劃分 4.2 功能描述5 性能需求 5.1 數(shù)據(jù)精確度 5.2 時間特性 5.3 適應(yīng)性6 運行需求 5.1 用戶界面 5.2 硬件接口 5.3 軟件接口 5.4 故障處理7 其他需求(檢測或驗收標準、可用性、可維護性可移植性、安全保密性)共二百零四頁驗證(ynzhng)需求驗需求證對需求文檔和制品進行質(zhì)量評估,確保需求說明(shumng)準確、完整.包括以下內(nèi)容:正確性一致性完整性
9、可行性必要性可檢驗性需求的可跟蹤性最后簽字確認共二百零四頁管理(gunl)需求管理(gunl)需求是組織、控制和文檔化需求的系統(tǒng)方法.建立基線以便在客戶和開發(fā)人員之間構(gòu)建一個約定.需求管理從標識開始,建立跟蹤表.需求跟蹤表可以跟蹤需求的特征、來源、依賴、子系統(tǒng)和接口等關(guān)系.共二百零四頁會談(hutn)技術(shù)非正式會談:提出一些可自由回答的問題.正式會談:提出一些事先準備好的議題.情景分析:需求分析從對場景的評論中得到信息,然后再將其以形式化方式表示出來(ch li)。使用用例建立原型界面序列執(zhí)行過程共二百零四頁視點(sh din)分析接受系統(tǒng)服務(wù)的當前銀行客戶;銀行間自動柜員機有互惠協(xié)議的其他銀
10、行的代表;從該系統(tǒng)中獲得管理信息的銀行支行管理者;負責系統(tǒng)日常運轉(zhuǎn)和處理客戶意見的支行柜臺職員;負責系統(tǒng)和客戶數(shù)據(jù)庫集成(j chn)的數(shù)據(jù)庫管理者;負責保證系統(tǒng)信息安全的銀行信息安全管理者;將該系統(tǒng)視為銀行市場開拓手段的銀行市場開發(fā)部;負責硬件和軟件維護及升級的硬件和軟件維護工程師共二百零四頁多視點的需求(xqi)分析過程視點識別(shbi):包括發(fā)現(xiàn)接收系統(tǒng)服務(wù)的視點和發(fā)現(xiàn)提供給每個視點的特別服務(wù)。視點組織:包括組織相關(guān)的視點到層次結(jié)構(gòu)中,通用的服務(wù)放在較高的層次,并被較低層次的視點繼承。視點文檔編寫:包括對被識別的視點和服務(wù)描述的精煉。視點系統(tǒng)映射:包括在面向?qū)ο笤O(shè)計中通過封裝在視點中的
11、服務(wù)信息識別對象。共二百零四頁調(diào)查表技術(shù)(jsh)制定(zhdng)調(diào)查表可靠可信分析共二百零四頁場景(chng jng)分析分析員與項目相關(guān)人員共同識別出情景,并捕獲這些情景的細節(jié)。把細節(jié)加入到一個綱要的需求描述中時,情景特別有用.情景是對交互實例片斷的描述,每個情景可能包含一個或多個交互,它們能在不同的細節(jié)層次上提供不同類型的情景信息.情景開始于一個框架,在導(dǎo)出過程中,細節(jié)被逐漸增加(zngji),直到產(chǎn)生交互的一個完整的描述.共二百零四頁情景(qngjng)內(nèi)容 在情景開始部分有一個系統(tǒng)狀態(tài)描述; 關(guān)于標準事件流的描述; 關(guān)于哪兒會出錯,以及如何處理錯誤的描述; 有關(guān)其他可能在同一時間進
12、行(jnxng)的活動的信息; 在情景完成后系統(tǒng)狀態(tài)的描述共二百零四頁場景名:取款參與者:銀行客戶場景描述: 1插入有效(yuxio)的銀行卡; 2ATM機驗證該銀行卡; 3系統(tǒng)要求輸入銀行卡密碼,用戶輸入密碼; 4系統(tǒng)通過網(wǎng)絡(luò)向銀行內(nèi)部系統(tǒng)請求驗證密碼; 5若驗證通過,系統(tǒng)請求選擇業(yè)務(wù),選擇取款; 6系統(tǒng)要求輸入取款金額,比如1000元; 7系統(tǒng)驗證是有足夠的現(xiàn)金,并請求驗證銀行內(nèi)部服務(wù)器處理取款; 8若處理成功,系統(tǒng)計算鈔票數(shù)目,并送出現(xiàn)金; 9用戶取走現(xiàn)金; 10系統(tǒng)打印憑條,用戶取走憑條; 11系統(tǒng)退出銀行卡,用戶取走銀行卡。共二百零四頁實例分析(fnx):出卷系統(tǒng)用戶:教師:關(guān)注如何
13、出一份合理的試卷,并能根據(jù)樣式打印與輸出。學(xué)生:關(guān)注如何通過生成一些模擬試題,并在線學(xué)習和檢查學(xué)習結(jié)果。題庫維護人員:關(guān)注試題的添加、更新和刪除(shnch)等工作。視點:教師關(guān)注自動出卷、手工出卷、試卷編輯和試卷輸出。學(xué)生關(guān)注隨時抽卷、聯(lián)系試卷和評價分析。題庫維護人員關(guān)注試題管理。共二百零四頁出卷系統(tǒng)的功能(gngnng)需求自動出卷:系統(tǒng)根據(jù)教師的要求自動生成一份合理的試卷。手動出卷:教師手動從候選的試題中挑選題目。隨機抽卷:系統(tǒng)隨機抽取試題生產(chǎn)一份試卷。在線練習:學(xué)生可以在線做練習和查看答案。在線評價:系統(tǒng)在線評價學(xué)生練習的情況。試題管理:管理人員維護題庫中的試題。試卷編輯(binj):
14、更新試題。試卷輸出:根據(jù)某個樣式輸出試卷。共二百零四頁實例(shl)分析: POS機系統(tǒng)收銀員:能夠準確、快速地輸入,而且(r qi)沒有支付錯誤,因為如果少收貨款,將從其薪水眾扣除。售貨員:自動更新銷售提成。顧客:希望以最小代價完成購買活動并得到快速服務(wù)。便捷、清晰地看到所輸入的商品項目和價格。得到購買憑證,以便退貨。公司:希望準確地記錄交易,滿足顧客要求。確保記錄了支付授權(quán)服務(wù)的支付票據(jù)。有一定的容錯性。能夠自動、快速地更新記帳和庫存信息。經(jīng)理:能夠快速執(zhí)行超控操作,并易于更正收銀員的不當操作。支持授權(quán)服務(wù):依據(jù)正確的通信格式進行授權(quán)服務(wù)。庫存系統(tǒng):正確的方式更新庫存信息。記賬系統(tǒng):能夠準
15、確地記錄每次銷售支付信息。共二百零四頁POS機系統(tǒng)主要(zhyo)功能需求處理銷售:收銀員完成一次銷售記錄,并出具票據(jù)和更新庫存系統(tǒng)(xtng)和帳務(wù)系統(tǒng)(xtng)。處理支付:完成一次銷售對應(yīng)的支付,包括現(xiàn)金支付,信用卡支付和支票支付。處理退貨:根據(jù)顧客請求完成商品退貨處理。辦理會員卡:注冊、注銷和更新會員記錄。共二百零四頁實例分析(fnx):圖書館系統(tǒng)圖書館系統(tǒng)的共利益者與視點有:圖書流通管理:負責圖書借還工作。用戶:希望快速得到借書,還書服務(wù),能夠續(xù)借(x ji)、預(yù)約圖書,以及查詢個人和圖書信息。編目管理員:負責圖書的管理、用戶管理和處理罰金等。共二百零四頁圖書館系統(tǒng)(xtng)的主要
16、功能需求圖書借出:管理員完成一次借書過程。圖書歸還:管理員完成一次還書過程。圖書預(yù)約:用戶(yngh)查詢要借的圖書,若不能借,可預(yù)約該圖書。圖書續(xù)借:用戶可以將圖書的歸還日期延長一段時間。圖書管理:添加新書。更新圖書館信息,銷毀圖書。用戶管理:注冊新用戶,更新用戶信息,注銷用戶。處理罰金:用戶繳納罰金吼,系統(tǒng)將罰金數(shù)額清零。共二百零四頁實例分析(fnx): ATM系統(tǒng)銀行客戶:接受系統(tǒng)服務(wù);銀行的代表:銀行間自動柜員機有互惠協(xié)議;支行管理者:從該系統(tǒng)中獲得管理信息;支行柜臺職員:負責(fz)系統(tǒng)日常運轉(zhuǎn)和處理客戶意見;數(shù)據(jù)庫管理者:負責系統(tǒng)和客戶數(shù)據(jù)庫集成;銀行信息安全管理者:負責保證系統(tǒng)信
17、息安全;銀行市場開發(fā)部:將該系統(tǒng)視為銀行市場開拓手段;硬件和軟件工程師:負責硬件和軟件維護及升級。共二百零四頁ATM系統(tǒng)主要功能(gngnng)需求存款:從ATM機上存錢到指定賬戶(zhn h)上。取款:從指定賬戶上取一定數(shù)量的貨幣。轉(zhuǎn)賬:從一個賬戶取出一定數(shù)量的貨幣,然后轉(zhuǎn)存到另一個賬號上。查詢余額:察看指定賬戶的余額。修改密碼:修改賬戶密碼。共二百零四頁小結(jié)(xioji)需求分析也稱為需求工程,是一個非常重要而有很復(fù)雜的,需要交替進行,反復(fù)迭代的過程。軟件需求分為(fn wi)功能需求和非功能需求。功能需求描述系統(tǒng)所預(yù)期提供的服務(wù),而非功能需求描述與系統(tǒng)不直接相關(guān)的一些需求。領(lǐng)域需求是一種
18、特有的功能需求,反應(yīng)應(yīng)用領(lǐng)域的基本問題。軟件需求規(guī)格說明文檔描述了系統(tǒng)的數(shù)據(jù)、功能、行為、性能需求、設(shè)計約束、驗收標準以及其他于需求相關(guān)的信息,它有可能成為客戶與開發(fā)商之間的合同。需求分析過程通過執(zhí)行初步溝通、需求導(dǎo)出、分析與精化、可行性研究、協(xié)商和溝通、規(guī)格說明、驗證和變更管理八個不同的活動來完成。非形式技術(shù)主要包括會談、調(diào)查表和場景技術(shù),用于獲取用戶需求和系統(tǒng)需求。共二百零四頁第5章 結(jié)構(gòu)化分析與建模分析模型元素結(jié)構(gòu)化需求(xqi)分析面向數(shù)據(jù)的建模方法案例分析共二百零四頁結(jié)構(gòu)化分析結(jié)構(gòu)化分析(SA,Structured Analysis)方法是20世紀70年代,由E.Yourdon等人倡
19、導(dǎo)的一種適用于大型數(shù)據(jù)處理系統(tǒng)的、面向數(shù)據(jù)流的需求分析方法。結(jié)構(gòu)化分析方法是一種傳統(tǒng)的系統(tǒng)建模技術(shù),其過程是創(chuàng)建描述信息內(nèi)容和數(shù)據(jù)流的模型,依據(jù)功能和行為(xngwi)對系統(tǒng)進行劃分,并描述必須建立的系統(tǒng)要素。共二百零四頁結(jié)構(gòu)化需求(xqi)分析指導(dǎo)性原則理解問題開發(fā)模型(mxng)描述需求建立系統(tǒng)模型確定需求優(yōu)先級驗證需求共二百零四頁結(jié)構(gòu)化分析建模需求分析的任務(wù)就是準確地指出“軟件目標產(chǎn)品必須做什么?”需求分析的一個重要過程就是需求建模的過程結(jié)構(gòu)化分析方法是一種傳統(tǒng)的系統(tǒng)建模技術(shù)主要目標:描述客戶的需要;建立軟件設(shè)計的基礎(chǔ);定義(dngy)在軟件完成后可以確認的一組需求。共二百零四頁分析模型
20、分析模型的目的是為基于計算機系統(tǒng)提供必須的信息、功能和行為域的說明模型是對系統(tǒng)某個方面的抽象,拋棄了具體細節(jié)(xji),對系統(tǒng)中最突出的特征作簡化分析模型元素:基于場景的元素基于過程的活動序列的元素基于類的元素行為元素面向信息流的元素基于數(shù)據(jù)的元素共二百零四頁分析模型的目標(mbio)與原則分析模型的所有元素都可以直接映射到設(shè)計模型.創(chuàng)建分析模型時應(yīng)遵循的原則:模型應(yīng)關(guān)注在問題或業(yè)務(wù)域內(nèi)可見的需求,抽象的級別相對高;分析模型的每個元素都應(yīng)能增加對軟件需求的整體理解,并提供(tgng)對信息域、功能和系統(tǒng)行為的深入理解;基于基礎(chǔ)機構(gòu)和其他非功能的模型應(yīng)推延到設(shè)計階段再考慮;最小化整個系統(tǒng)內(nèi)的關(guān)聯(lián)
21、;確認分析模型為所有共利益者都帶來價值;盡可能保持模型簡潔.共二百零四頁結(jié)構(gòu)化需求(xqi)分析用戶需求一般用自然語言描述系統(tǒng)需求必須用較專業(yè)的方式來描述模型是軟件設(shè)計的基礎(chǔ),也是創(chuàng)建規(guī)約的基礎(chǔ)需求分析原則:表示和理解問題的信息域;定義軟件將完成的功能;表示軟件的行為(作為外部事件的結(jié)果);劃分描述信息、功能和行為的模型,從而使得可以以層次的方式揭示細節(jié)(xji);分析過程應(yīng)該從要素信息移向細節(jié)實現(xiàn)。共二百零四頁結(jié)構(gòu)化分析模型(mxng)系統(tǒng)模型從以下不同的角度表述系統(tǒng):從外部來看,它是對系統(tǒng)分析上下文或系統(tǒng)環(huán)境建模;從行為上看,它是對系統(tǒng)行為建模;從結(jié)構(gòu)上看,它是對系統(tǒng)的體系結(jié)構(gòu)和系統(tǒng)處理的
22、數(shù)據(jù)結(jié)構(gòu)建模。結(jié)構(gòu)化的需求分析模型有:系統(tǒng)行為模型:數(shù)據(jù)流模型,用來描述系統(tǒng)中的數(shù)據(jù)處理過程狀態(tài)轉(zhuǎn)換模型,用來描述系統(tǒng)如何對事件做出響應(yīng)實體關(guān)系模型:關(guān)心的是尋找(xnzho)系統(tǒng)中的數(shù)據(jù)及其之間的關(guān)系,卻不關(guān)心系統(tǒng)中包含的功能。共二百零四頁結(jié)構(gòu)化分析模型(mxng)結(jié)構(gòu)數(shù)據(jù)字典實體-關(guān)系圖數(shù)據(jù)流圖加工規(guī)約數(shù)據(jù)對象描述狀態(tài)轉(zhuǎn)換圖控制規(guī)約共二百零四頁結(jié)構(gòu)化分析模型(mxng)組成分析模型結(jié)構(gòu)的核心是數(shù)據(jù)字典(zdin)(DD,Data Dictionary),包含了軟件使用或生產(chǎn)的所有數(shù)據(jù)對象描述的中心庫。分析模型結(jié)構(gòu)的中間層有三種視圖:數(shù)據(jù)流圖(DFD,Data Flow Diagram)服務(wù)
23、于兩個目的:一是指明數(shù)據(jù)在系統(tǒng)中移動時如何被變換,二是描述對數(shù)據(jù)流進行變換的功能和子功能。實體關(guān)系圖(E-RD,Entity-Relationship Diagram)描述數(shù)據(jù)對象間的關(guān)系,用來進行數(shù)據(jù)建?;顒拥挠浱?。狀態(tài)轉(zhuǎn)換圖(STD,State Transition Diagram)指明作為外部事件的結(jié)果,系統(tǒng)將如何動作。分析模型結(jié)構(gòu)的外層是規(guī)約描述:在實體關(guān)系圖中每個數(shù)據(jù)對象的屬性可以使用數(shù)據(jù)對象來描述。在數(shù)據(jù)流圖中出現(xiàn)的每個加工/處理的功能描述包含在加工規(guī)約中。軟件控制方面的附加信息包含在控制規(guī)約中共二百零四頁面向(min xin)數(shù)據(jù)流的建模方法面向(min xin)數(shù)據(jù)流的建模是結(jié)
24、構(gòu)化需求分析方法之一采用自頂向下逐層分解,描繪滿足用戶要求的軟件模型表示:數(shù)據(jù)流圖:描述系統(tǒng)處理過程數(shù)據(jù)字典:模型中的數(shù)據(jù)信息集合共二百零四頁數(shù)據(jù)流圖符號(fho)數(shù)據(jù)源點或終點變換數(shù)據(jù)的處理數(shù)據(jù)存儲數(shù)據(jù)流或或或共二百零四頁數(shù)據(jù)流圖舉例(j l)設(shè)一個工廠采購部每天需要一張定貨報表。定貨的零件(ln jin)數(shù)據(jù)有:零件(ln jin)編號、名稱、數(shù)量、價格、供應(yīng)者等。零件(ln jin)的入庫、出庫事務(wù)通過計算機終端輸入給定貨系統(tǒng)。當某零件(ln jin)的庫存數(shù)少于給定的庫存量臨界值時,就應(yīng)該再次定貨。數(shù)據(jù)流分析:數(shù)據(jù)源點:倉管員(負責入庫或出庫事務(wù)給定貨系統(tǒng));數(shù)據(jù)終點:采購員(接收每天
25、的定貨報表);數(shù)據(jù)流:事務(wù),定貨;數(shù)據(jù)存儲:定貨信息,庫存清單;處理:處理事務(wù),產(chǎn)生報表。共二百零四頁數(shù)據(jù)流圖舉例(j l)畫基本(jbn)系統(tǒng)模型采購員事務(wù)定貨報表倉管員定貨系統(tǒng)共二百零四頁數(shù)據(jù)流圖舉例(j l)第一步求精共二百零四頁數(shù)據(jù)流圖舉例(j l)第二步求精共二百零四頁數(shù)據(jù)(shj)字典數(shù)據(jù)字典是分析模型中出現(xiàn)的所有名字(mng zi)的一個集合,并包括有關(guān)命名實體的描述數(shù)據(jù)字典有以下兩個作用:它是所有名字信息管理的有效機制作為連接軟件分析、設(shè)計、實現(xiàn)和進化階段的開發(fā)機構(gòu)的信息存儲數(shù)據(jù)字典應(yīng)該由四類元素的定義組成:數(shù)據(jù)流數(shù)據(jù)流分量數(shù)據(jù)存儲處理對于處理,可用輸入處理輸出(IPO,Inp
26、ut-Process-Output)視圖描述更方便共二百零四頁數(shù)據(jù)(shj)字典應(yīng)對組成的數(shù)據(jù)元素定義進行自頂向下的分解。分解的原則是:當包含的元素不需要進一步定義,且每個和工程有關(guān)的人都清楚時為止數(shù)據(jù)字典中應(yīng)該包括關(guān)于數(shù)據(jù)的信息:一般信息(名字、別名、描述等)定義(數(shù)據(jù)類型、長度、結(jié)構(gòu)等)使用特點(值的范圍、使用頻率、使用條件、使用方式、條件值等)控制信息(用戶、使用特點、改變數(shù)、使用權(quán)等)分組信息(文檔結(jié)構(gòu)、從屬(cngsh)結(jié)構(gòu)、物理位置等)三種類型的任意組合定義數(shù)據(jù)字典中的任何條目。順序:順序連接兩個或多個分量元素。一般用加號表示順序連接關(guān)系。選擇:從兩個或多個可選的分量元素中選取一個
27、。選擇運算符用方括號表示,對于多個可供選擇的元素,用“|”符號分隔。例如,A-1 | A-2 | A-3 表示三個可選數(shù)據(jù)元素。重復(fù):描述的分量元素重復(fù)零次或多次。例如, 都表示數(shù)據(jù)元素A的下限為1,上限為5。共二百零四頁數(shù)據(jù)字典卡片(kpin)方式示例名字:定貨報表別名:定貨信息描述:每天一次需要定貨的零件表定義:定貨報表=零件編號+零件名稱+定貨數(shù)量+價格+1供應(yīng)者3 位置:輸出到打印機名字:零件編號別名:描述:惟一標識一個特定零件的關(guān)鍵組成定義:零件編號=8位字符位置:定貨報表、定貨信息 庫存清單名字:定貨數(shù)量別名:描述:某個零件一次定貨的數(shù)目定義:定貨數(shù)量= 1 | 2 | 3 | 4
28、 | 5 位置:定貨報表 定貨信息名字:價格別名:價格范圍描述:某個零件目前參考價格或者上下限定義:價格=1零件單價2位置:定貨報表 定貨信息 庫存清單共二百零四頁面對面結(jié)對編程系統(tǒng)(xtng)舉例問題描述:面對面結(jié)對編程系統(tǒng)采用雙鼠標、雙鍵盤和雙顯示器共享一臺主機的硬件環(huán)境,軟件具有主動角色轉(zhuǎn)換、強制(qingzh)角色裝換、相容性分析、Driver時間統(tǒng)計等功能,可以免去結(jié)對編程者之間頻繁的相互交換座位等細節(jié),使結(jié)對者更加方便地交流,最大化地提高工作效率,打造出最佳的合作團隊。共二百零四頁系統(tǒng)(xtng)組成結(jié)構(gòu)共二百零四頁功能(gngnng)劃分1)系統(tǒng)設(shè)置:系統(tǒng)設(shè)置功能完成系統(tǒng)工作的基
29、本變量設(shè)置,包括系統(tǒng)交互提醒時間間隔、強制轉(zhuǎn)換角色時間間隔等。2)個性評測:個性評測功能完成結(jié)對者個人的性格、能力等方面的評測,以便分析結(jié)對相容性情況(qngkung)。3)相容性分析:相容性分析功能完成結(jié)對者雙方結(jié)對效果和給出建議。4)主動角色互換:主動角色互換功能完成結(jié)對者雙方工作一段時間后進行角色的交換,以便充分發(fā)揮兩個人的能力。5)系統(tǒng)強制角色互換:當結(jié)對一定時間后,如果沒有進行主動角色互換,則系統(tǒng)會提醒結(jié)對者交換角色,并強制進行角色交換,以充分體現(xiàn)結(jié)對的特色。共二百零四頁數(shù)據(jù)流分析(fnx)共二百零四頁面向(min xin)數(shù)據(jù)的建模方法系統(tǒng)建模的一個(y )重要方面就是要定義系統(tǒng)處
30、理的邏輯結(jié)構(gòu)。最廣泛采用的數(shù)據(jù)建模技術(shù)是實體-關(guān)系模型,它描述數(shù)據(jù)實體、關(guān)聯(lián)及實體屬性。實體關(guān)系模型可用ERD(Entity-Relationships Diagram實體關(guān)系圖)來表示:實體關(guān)聯(lián)實體屬性基數(shù)共二百零四頁實例分析(fnx):出卷系統(tǒng)N包含題目出卷要求依據(jù)抽取試題試卷11111共二百零四頁實例分析(fnx):出卷系統(tǒng)試卷由一組題目組成,而題目來自試卷庫中被挑選的題目。試卷根據(jù)出卷要求選擇項目。這些實體的屬性給出如下:試題:編號、科目、題干、題干圖、答案、答案圖、題型、知識點、難度、抽取時間試卷:編號、科目、出卷人、年級(ninj)、性質(zhì)、總分、難度、題目*出卷要求、總分、總難度、
31、總題型、總知識點題目:編號、題干、題干圖、答案、答案圖、題型、知識點、難度共二百零四頁實例(shl)分析:圖書館系統(tǒng)1借書記錄預(yù)約記錄借/還/續(xù)借1M1NM包含預(yù)約借書者圖書書目共二百零四頁實例(shl)分析:圖書館系統(tǒng)實體:圖書、借書者、管理員、借書目錄、預(yù)約記錄、書目屬性給出如下:借書者:借書者編號、姓名(xngmng)、性別、借書數(shù)、最大借書數(shù)、罰金金額、有限期圖書:圖書號、書目號書目:書目號、書名、作者、出版社、叢書名、收藏數(shù)、在館數(shù)、預(yù)約數(shù)借書記錄:圖書號、借書者編號、借出日期、應(yīng)還日期、續(xù)借次數(shù)預(yù)約記錄:書目號、借書者編號、預(yù)約日期共二百零四頁狀態(tài)機建模方法(fngf)狀態(tài)模型是一
32、種描述系統(tǒng)對內(nèi)部或者外部事件響應(yīng)的行為模型。它描述系統(tǒng)狀態(tài)和事件,以及事件引發(fā)系統(tǒng)在狀態(tài)間的轉(zhuǎn)換(zhunhun)。這種模型適用于描述實時系統(tǒng)。狀態(tài)機建模方法步驟:系統(tǒng)狀態(tài)、行為與事件分析構(gòu)建狀態(tài)圖共二百零四頁狀態(tài)(zhungti)轉(zhuǎn)換圖狀態(tài)模型一般采用狀態(tài)轉(zhuǎn)換圖(簡稱狀態(tài)圖)的標記方法狀態(tài)圖描述了系統(tǒng)中某些復(fù)雜(fz)對象的狀態(tài)變化狀態(tài)是可觀察的行為模式,用圓角矩形表示;變遷表示狀態(tài)的轉(zhuǎn)換,用箭頭表示;事件是引發(fā)變遷的消息,用箭頭上的標記表示。狀態(tài)圖還可以用事件后的方括號表示先決條件,只有當這個條件為真時,才會發(fā)生狀態(tài)變化;用狀態(tài)自身的弧線箭頭表示先決條件不為真時,狀態(tài)不會改變。共二百零四頁
33、電梯控制系統(tǒng)(kn zh x tn)分析問題描述在一幢有m層的大廈中安裝一套n部電梯(dint)的產(chǎn)品,按照下列條件求解電梯(dint)在各樓層之間移動的邏輯關(guān)系:每部電梯(dint)有m個按鈕,每一個按鈕代表一個樓層。當按下一個按鈕時該按鈕指示燈亮,同時電梯駛向相應(yīng)的樓層,當?shù)竭_相應(yīng)樓層時指示燈熄滅。除了最底層和最高層之外,每一層樓都有兩個按鈕分別指示電梯上行和下行。按下按鈕后指示燈就開始亮,當電梯到達此樓層時指示燈熄滅,并向所需要的方向移動。當電梯無升降運動時,關(guān)門并停在當前樓層。共二百零四頁狀態(tài)事件(shjin)及行為分析電梯在運行過程一般具有下列狀態(tài):空閑:無請求時,電梯處于休息狀態(tài);
34、暫停(zn tn):上下乘客時,電梯處于暫停,開門和關(guān)門;上行:電梯處于向上運行狀態(tài);下行:電梯處于向下運行狀態(tài);處于第一層:初始啟動,電梯會在第一層等待狀態(tài);向第一層移動:長時間處于空閑時,電梯移動到第一層。共二百零四頁電梯控制系統(tǒng)的事件有:向上:驅(qū)動電梯向上運行;向下(xin xi):驅(qū)動電梯向下(xin xi)運行;停止:停止電梯運行;無請求:沒有乘客請求乘坐電梯;長時間無請求:長時間沒有乘客請求乘坐電梯。共二百零四頁繪制(huzh)電梯對象的狀態(tài)圖共二百零四頁共二百零四頁結(jié)構(gòu)化分析步驟(bzhu)問題描述畫分層的數(shù)據(jù)流圖確定計算機實現(xiàn)部分數(shù)據(jù)描述定義處理邏輯定義物理資源確定外部輸入和輸
35、出確定數(shù)據(jù)格式、硬件要求編寫(binxi)規(guī)格說明書共二百零四頁1、問題(wnt)描述圖書銷售店從各出版社購買圖書,并將其銷售給大學(xué)、公司和個人客戶。書店庫存流行的圖書,并根據(jù)需要訂購其他圖書。書店提供大學(xué)訂購服務(wù),并根據(jù)客戶和訂購量提供優(yōu)惠?,F(xiàn)在書店希望實現(xiàn)(shxin)計算機化管理,將如何做?仔細分析上述問題,確定需要有哪些商務(wù)功能(入賬、出賬和庫存),系統(tǒng)是批處理方式還是聯(lián)機方式,硬件設(shè)備情況,實現(xiàn)計算機化管理的目的是什么等目標??梢钥闯?,其目的是為了銷售圖書和圖書管理以及賬目管理。共二百零四頁2、畫分層的數(shù)據(jù)流圖共二百零四頁共二百零四頁共二百零四頁3、計算機化系統(tǒng)的自動化方案選擇,取決
36、于客戶的投資和目標。一般必須利用成本效益分析對數(shù)據(jù)流圖各個部分的操作(cozu)分析決定以批處理方式還是以聯(lián)機方式執(zhí)行。 本例的第一個方案是以批處理方式處理出賬、訂購圖書,用聯(lián)機方式處理訂單的有效性檢查、聚集訂單和開發(fā)貨清單;第二個方案是除發(fā)貨票據(jù)使用聯(lián)機方式或批處理方式外,其余都用聯(lián)機方式。共二百零四頁4、數(shù)據(jù)細節(jié)(xji)描述本例的數(shù)據(jù)流和數(shù)據(jù)存儲有“訂單”、“圖書細節(jié)”、“顧客細節(jié)”、“圖書數(shù)據(jù)”、“顧客數(shù)據(jù)”、“賬目”、“發(fā)貨清單(qngdn)”等等?!坝唵巍笨杉毣癁椤坝唵螛俗R”、“顧客細節(jié)”、“圖書細節(jié)”,其中“顧客細節(jié)”和“圖書細節(jié)”還可進一步細化。共二百零四頁5、定義處理(chl
37、)邏輯確定了產(chǎn)品的數(shù)據(jù)元素,就可以分析每個處理具體做什么了。例如,分析“生成賬目(zhn m)”中“給教育部門打折扣”細節(jié)。共二百零四頁處理邏輯(lu j)的描述加工(ji gng)邏輯也稱為過程說明,用于描述數(shù)據(jù)流圖中加工(ji gng)邏輯的處理算法或過程共二百零四頁出卷系統(tǒng)(xtng):總體數(shù)據(jù)流圖手動出卷教師出卷要求試題出卷要求試卷出卷要求試題試題試卷獲取出卷要求自動出卷出卷要求保存試卷題目出卷要求出卷要求題目教師設(shè)置出卷要求共二百零四頁出卷系統(tǒng)(xtng):自動出卷數(shù)據(jù)流圖教師出卷要求試題試題試卷試題試題試卷獲取出卷要求抽取試題評價出卷要求試卷出卷要求出卷要求分析出卷計算分值題型試題
38、寫入試卷顯示試卷試題共二百零四頁出卷系統(tǒng)(xtng):手動出卷數(shù)據(jù)流圖分析出卷挑選試題題型試題寫入試卷顯示試卷試題教師出卷要求試題試題試卷試題試題試卷獲取出卷要求篩選試題計算分值出卷要求試卷出卷要求出卷要求共二百零四頁出卷系統(tǒng)的實體(sht)-關(guān)系圖 試卷題目試題出卷要求依據(jù)抽取11包含N111圖6-16 出卷系統(tǒng)的實體-關(guān)系圖共二百零四頁數(shù)據(jù)字典(zdin)舉例名稱(mngchng):試卷別名:無描述:試卷信息定義:試卷=試卷編號+課程名+出卷人+時間+總分+難度+試題 試卷編號=1字符串10課程名=1字符30 出卷人=1字符8 時間=日期 總分=整數(shù)共二百零四頁數(shù)據(jù)(shj)字典舉例名稱:
39、出卷要求別名:要求描述:出卷的卷面要求定義(dngy):出卷要求=總分+總難度+總題型+總知識點 總分=整數(shù) 總難度=難分數(shù)比例+中分數(shù)比例+易分數(shù)比例 總題型=1題型分數(shù)比例* 總知識點=1知識點分數(shù)比例*位置:自動出卷,手動出卷,設(shè)置出卷要求共二百零四頁數(shù)據(jù)(shj)字典舉例名稱:試題(sht)別名:題目描述:題庫中的題目定義:試題=試題編號+題干+題干圖+答案+答案圖+題型+難度+知識點+抽取時間 試題編號=1字符10 題干=1字符200 題干圖文件名=30字符40 答案=1字符200 答案圖文件名=30字符40 題型=【|選擇|填空|簡答|改錯|應(yīng)用|】 難度=【|難|中|易|】 知識
40、點=【|】 抽取時間=日期位置:自動出卷,手動出卷,題庫系統(tǒng)共二百零四頁規(guī)格說明書案例(n l)分析面對面結(jié)對編程系統(tǒng)(xtng)共二百零四頁小結(jié)(xioji)分析模型幫助用戶逐層深入理解(lji)問題,為軟件設(shè)計提供基礎(chǔ)。分析建模的元素有基于場景的用例建模、基于過程的活動序列建模、基于類的建模、行為建模、基于信息流的建模和基于數(shù)據(jù)的建模。結(jié)構(gòu)化分析方法是一種自頂向下,逐步分解的面向數(shù)據(jù)和數(shù)據(jù)流的建模方法。面向數(shù)據(jù)的建模以實體、關(guān)系和屬性三個基本元素描述系統(tǒng),涉及數(shù)據(jù)及其它們之間的關(guān)系,用ERD表示。基于數(shù)據(jù)流的方法用于描述數(shù)據(jù)如何在系統(tǒng)中流動或被變換,用數(shù)據(jù)流圖、數(shù)據(jù)字典、加工規(guī)程等形式表示
41、。共二百零四頁第6章 結(jié)構(gòu)化設(shè)計(shj)基礎(chǔ)軟件設(shè)計過程(guchng)模塊化設(shè)計軟件結(jié)構(gòu)軟件體系結(jié)構(gòu)模型體系結(jié)構(gòu)模式共二百零四頁軟件設(shè)計過程(guchng)軟件設(shè)計階段的基本目標是構(gòu)造系統(tǒng)“怎么做”的模型描述。“設(shè)計先于編碼”,這是軟件工程“推遲實現(xiàn)”基本原則軟件系統(tǒng)設(shè)計是把軟件需求“變換”為用于構(gòu)造軟件的藍圖?!拜斎搿笔切枨蠓治龈鞣N模型元素“輸出”是軟件設(shè)計模型和表示軟件設(shè)計的目標是對將要實現(xiàn)的軟件系統(tǒng)的體系結(jié)構(gòu)、系統(tǒng)的數(shù)據(jù)、系統(tǒng)模塊間的接口,以及所采用的算法(sun f)給出詳盡的描述。共二百零四頁軟件設(shè)計活動(hu dng)總體設(shè)計,也稱為概要設(shè)計,軟件結(jié)構(gòu)設(shè)計,或高層設(shè)計。分析需求
42、規(guī)格說明模塊劃分(hu fn),形成具有預(yù)定功能的模塊組成結(jié)構(gòu)表示出模塊間的控制關(guān)系給出模塊之間的接口軟件詳細設(shè)計,也稱為(模塊)過程設(shè)計,或低層設(shè)計。設(shè)計模塊細節(jié)確定模塊所需的算法和數(shù)據(jù)結(jié)構(gòu)等共二百零四頁軟件設(shè)計過程(guchng)設(shè)計供選擇的方案選取合理的方案推薦最佳方案功能分解和設(shè)計軟件結(jié)構(gòu)數(shù)據(jù)庫設(shè)計制定軟件設(shè)計測試計劃編制(binzh)設(shè)計文檔審查和復(fù)審共二百零四頁軟件設(shè)計質(zhì)量(zhling)原則設(shè)計過程不應(yīng)該受“隧道視野”的限制設(shè)計對于分析模型應(yīng)該是可跟蹤的設(shè)計不應(yīng)該從頭做起設(shè)計應(yīng)該縮短軟件和現(xiàn)實(xinsh)問題的“智力距離”設(shè)計應(yīng)該表現(xiàn)出一致性和集成性設(shè)計應(yīng)該能夠適應(yīng)修改設(shè)計不是
43、編碼在創(chuàng)建設(shè)計時,就應(yīng)該考慮能夠評估其質(zhì)量應(yīng)該復(fù)審每一步設(shè)計,以減少語義性錯誤共二百零四頁概要(giyo)設(shè)計說明書1 范圍1.1系統(tǒng)目標1.2 主要軟件需求1.3 軟件設(shè)計約束、限制2 數(shù)據(jù)設(shè)計2.1 數(shù)據(jù)對象和形成的數(shù)據(jù)結(jié)構(gòu)2.2文件和數(shù)據(jù)庫結(jié)構(gòu)外部文件結(jié)構(gòu) 邏輯結(jié)構(gòu) 邏輯記錄描述 訪問方法全局數(shù)據(jù)文件和數(shù)據(jù)交叉索引3 體系結(jié)構(gòu)設(shè)計3.1 數(shù)據(jù)和控制流復(fù)審3.2 得出的程序結(jié)構(gòu)4 接口設(shè)計4.1 人機界面規(guī)約4.2 人機界面設(shè)計規(guī)約4.3 外部接口設(shè)計外部數(shù)據(jù)接口外部系統(tǒng)或設(shè)備接口4.4 內(nèi)部接口設(shè)計規(guī)約5 (每個模塊)過程設(shè)計5.1 處理說明5.2 接口描述5.3 設(shè)計語言描述5.4 使
44、用的模塊5.5 內(nèi)部設(shè)計結(jié)構(gòu)5.6 注釋/約束/限制6 需求交叉索引7 測試部分7.1測試方針7.2 集成策略7.3 特殊考慮8 附錄(包括特殊注解)共二百零四頁詳細(xingx)設(shè)計說明書1 引言1.1 編寫目的:闡明編寫詳細設(shè)計說明書的目的,指明讀者對象。1.2 項目背景:應(yīng)包括項目的來源和主管部門等。1.3 定義:列出本文檔中所用到的專門術(shù)語的定義和縮寫詞。 列出有關(guān)資料的作者、標題、編號、發(fā)表日期、出版單位或資料來源 文檔所引用的資料、軟件開發(fā)的標準或規(guī)范。1.4 參考資料:項目經(jīng)核準的計劃任務(wù)書、合同或上級機關(guān)的批文;項目開發(fā)計劃;需求規(guī)格說明書;概要設(shè)計說明書;測試計劃(初稿);用
45、戶操作手冊。2 總體設(shè)計2.1 需求概述2.2 軟件結(jié)構(gòu):如給出軟件系統(tǒng)的結(jié)構(gòu)圖。3 程序描述3.1 逐個模塊給出以下說明: 性能 輸出項目 功能 輸入項目3.2 算法:模塊所選用的算法。3.3 程序邏輯:詳細描述模塊實現(xiàn)的算法,可采用:標準流程圖;PDL語言;N-S圖;判定表等描述算法的圖表。3.4 接口 限制條件 存儲分配3.5測試要點:給出測試模塊的主要測試要求。共二百零四頁軟件模塊化設(shè)計(shj)原理模塊是一個獨立命名的,擁有明確定義的輸入、輸出和特性的程序?qū)嶓w。把一個大型軟件系統(tǒng)的全部功能,按照一定的原則合理地劃分為若干個模塊,每個模塊完成一個特定子功能,所有的這些模塊以某種結(jié)構(gòu)(j
46、igu)形式組成一個整體,這就是軟件的模塊化設(shè)計(Modular Design)。軟件模塊化設(shè)計可以簡化軟件的設(shè)計和實現(xiàn),提高軟件的可理解性和可測試性,并使軟件更容易得到維護。分解、抽象、逐步求精、信息隱蔽和模塊獨立性,是軟件模塊化設(shè)計的指導(dǎo)思想。共二百零四頁分解(fnji)采用有效(yuxio)的分解,即“分而治之”,是能夠使問題得以很好解決的必不可少的措施。一個軟件系統(tǒng)的各個模塊之間是相互關(guān)聯(lián)的,模塊劃分的數(shù)量越多,模塊間的聯(lián)系也越多。模塊本身的復(fù)雜性和工作量雖然隨著模塊變小而減少,模塊的接口工作量卻隨著模塊數(shù)增加而增大。軟件模塊化開發(fā)存在一個最小成本區(qū),把模塊數(shù)控制在一定的范圍內(nèi),可以得
47、到最小的總開發(fā)工作量。共二百零四頁模塊(m kui)數(shù)與開發(fā)工作量開發(fā)工作量模塊數(shù)最小成本區(qū)模塊成本接口成本總成本共二百零四頁抽象(chuxing)分解必然需要抽象的支持。抽象是抓住主要(zhyo)問題,隱藏細節(jié),這樣才能容易分解。抽象具有不同的級別。人類解決復(fù)雜問題的基本方法之一。只有抓住事物的本質(zhì),才能準確分析和處理問題,找到合理的解決方案。共二百零四頁信息(xnx)隱藏信息隱蔽原則建議模塊應(yīng)該具有的特征是:每個模塊對其他所有模塊都隱蔽自己的設(shè)計決策。信息隱蔽意味著通過一系列獨立的模塊可以得到有效的模塊化。獨立的構(gòu)件(gujin)或模塊之間的“接口”簡單而清晰。共二百零四頁逐步求精逐步求精
48、,或稱逐步細化,是一種自頂向下的設(shè)計(shj)策略。逐步求精是人類采用抽象到具體的過程把一個復(fù)雜問題趨于簡單化控制和管理的有效策略。抽象和精化是互補的概念。共二百零四頁重構(gòu)重構(gòu)是一種重新組織(zzh)的技術(shù),可以簡化構(gòu)件或模塊的設(shè)計或編碼而無需改變其功能或行為。重構(gòu)是一種改進程序內(nèi)部結(jié)構(gòu)但不改變代碼或設(shè)計的外部行為?!跋仁顾D(zhuǎn)起來,再使它快起來”。共二百零四頁模塊(m kui)的獨立性模塊的獨立性(Module Independence)是模塊化、抽象、信息隱蔽等概念的直接結(jié)果,也是判斷模塊化結(jié)構(gòu)是否合理(hl)的標準。模塊獨立性是指開發(fā)具有獨立功能而和其他模塊沒有過多關(guān)聯(lián)的模塊。模塊獨立性兩
49、大優(yōu)點:獨立的模塊由于分解了功能,簡化了接口,使得軟件比較容易開發(fā);獨立的模塊比較容易測試和維護。共二百零四頁模塊(m kui)獨立性度量模塊獨立性由兩個定性標準度量:模塊自身的內(nèi)聚(Cohesion),也稱為塊內(nèi)聯(lián)系(linx)或模塊強度,模塊之間的耦合(Coupling),也稱為塊間聯(lián)系。模塊獨立性愈高,則塊內(nèi)聯(lián)系越強,塊間聯(lián)系越弱。共二百零四頁模塊(m kui)內(nèi)聚性內(nèi)聚性是從功能的角度對模塊內(nèi)部聚合能力的量度。高內(nèi)聚是模塊獨立性追求的目標。分類:偶然性內(nèi)聚:模塊內(nèi)的各個任務(wù)在功能上沒有實質(zhì)性聯(lián)系,純屬“偶然”因素組合了塊內(nèi)各個互不相關(guān)的任務(wù)。邏輯性內(nèi)聚:模塊通常(tngchng)由若干
50、個邏輯功能相似的任務(wù)組成,通過模塊外引入的一個開關(guān)量選擇其一執(zhí)行。這種內(nèi)聚增大了模塊間的耦合。時間性內(nèi)聚:模塊內(nèi)的各個任務(wù)由相同的執(zhí)行時間聯(lián)系在一起。例如,初始化模塊。過程性內(nèi)聚:模塊內(nèi)的各個任務(wù)必須按照某一特定次序執(zhí)行。通信性內(nèi)聚:模塊內(nèi)部的各個任務(wù)靠公用數(shù)據(jù)聯(lián)系在一起,即都使用同一個輸入數(shù)據(jù),或者產(chǎn)生同一個輸出數(shù)據(jù)。順序性內(nèi)聚:模塊內(nèi)的各個任務(wù)是順序執(zhí)行的。通常,上一個任務(wù)的輸出是下一個任務(wù)的輸入。功能性內(nèi)聚:模塊各個成分結(jié)合在一起,完成一個特定的功能。顯然,功能性模塊具有內(nèi)聚性最強、與其他模塊聯(lián)系少的特點。共二百零四頁內(nèi)聚性分類(fn li)偶然性內(nèi)聚弱邏輯性內(nèi)聚時間性內(nèi)聚過程性內(nèi)聚通信
51、性內(nèi)聚順序性內(nèi)聚功能性內(nèi)聚強低內(nèi)聚中內(nèi)聚高內(nèi)聚共二百零四頁模塊(m kui)耦合性耦合性是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。耦合性的強弱取決于模塊間接口的復(fù)雜程度,以及通過接口的數(shù)據(jù)類型和數(shù)目。分類: 非直接耦合:同級模塊相互之間沒有信息傳遞,屬于非直接耦合。 數(shù)據(jù)耦合:調(diào)用下屬模塊時,如果交換的都是簡單變量,便構(gòu)成數(shù)據(jù)耦合。 特征耦合:調(diào)用下屬模塊時,如果交換的是數(shù)據(jù)結(jié)構(gòu),便構(gòu)成特征耦合。由于傳遞的是數(shù)據(jù)結(jié)構(gòu),不僅數(shù)據(jù)量增加,而且會使模塊的相關(guān)性增加。 控制耦合:模塊間傳遞的信息不是一般的數(shù)據(jù),而是作為控制信息的開關(guān)值或標志量。例如,邏輯性內(nèi)聚的模塊調(diào)用就是典型的控制耦合。外部耦合
52、:若允許一組模塊訪問同一個全局變量,可稱它們?yōu)橥獠狂詈?。公共耦合:若允許一組模塊訪問同一個全局性的數(shù)據(jù)結(jié)構(gòu),則稱它們?yōu)楣柴詈?。全局性的?shù)據(jù)結(jié)構(gòu)可以(ky)是共享的通信區(qū)、公共的內(nèi)存區(qū)域、任何存儲介質(zhì)文件、物理設(shè)備等。內(nèi)容耦合:若一個模塊可以直接調(diào)用另一個模塊中的數(shù)據(jù),或者直接轉(zhuǎn)移到另一個模塊中去,或者一個模塊有多個入口,則稱為內(nèi)容耦合。共二百零四頁耦合性分類(fn li)非直接耦合弱數(shù)據(jù)耦合特征耦合控制耦合外部耦合公共耦合內(nèi)容耦合強弱耦合中耦合強耦合較強耦合共二百零四頁軟件總體(zngt)結(jié)構(gòu)描述軟件結(jié)構(gòu):模塊的層次(cngc)控制結(jié)構(gòu)軟件結(jié)構(gòu)圖軟件結(jié)構(gòu)優(yōu)化共二百零四頁軟件(run jin)
53、結(jié)構(gòu)圖軟件結(jié)構(gòu)(Structure Chart, 簡稱SC)是軟件系統(tǒng)的模塊(m kui)層次結(jié)構(gòu),反映了整個系統(tǒng)的功能實現(xiàn)。軟件結(jié)構(gòu)以層次表示程序的系統(tǒng)結(jié)構(gòu),即一種控制的層次體系,并不表示軟件的具體過程。軟件結(jié)構(gòu)一般用樹狀或網(wǎng)狀結(jié)構(gòu)的圖形來表示。軟件結(jié)構(gòu)圖的主要元素有:模塊:模塊用帶有名字的方框表示,名稱應(yīng)體現(xiàn)模塊的功能??刂脐P(guān)系:控制關(guān)系用單向箭頭或直線表示模塊間的調(diào)用關(guān)系。信息傳遞:用帶注釋的短箭頭表示模塊調(diào)用過程中傳遞的信息。循環(huán)調(diào)用和選擇調(diào)用:在上部模塊底部加一個菱形符號表示選擇調(diào)用,在上部模塊的下方家一個弧形箭頭,表示循環(huán)調(diào)用。共二百零四頁軟件(run jin)結(jié)構(gòu)圖軟件結(jié)構(gòu)圖的形
54、態(tài)特征:深度:指結(jié)構(gòu)圖控制的層次,也是模塊的層數(shù)。圖6-4中的結(jié)構(gòu)圖的深度為5。能粗略表示一個系統(tǒng)的大小和復(fù)雜程度,深度和程序長度之間存在著某種對應(yīng)關(guān)系。寬度:指一層中最大的模塊個數(shù)。圖6-4中的結(jié)構(gòu)圖的寬度為8。一般來說,結(jié)構(gòu)的寬度越大,則系統(tǒng)就越復(fù)雜。扇出:指一個模塊直接下屬(xish)模塊的個數(shù)。圖6-4中的結(jié)構(gòu)圖的模塊I的扇出為4。扇出過大,表示模塊過分復(fù)雜,需要控制和協(xié)調(diào)的下級模塊太多。扇出的上限一般為 59,平均一般為3或4。扇入:指一個模塊直接上屬模塊的個數(shù)。圖6-4中的結(jié)構(gòu)圖的模塊T的扇入為4。扇入過大,意味著共享該模塊的上級模塊數(shù)目多,這有一定的益處,但是決不能違背模塊的獨立
55、性原則而片面追求高扇入。畫結(jié)構(gòu)圖應(yīng)注意的事項:模塊不能重名。調(diào)用關(guān)系只能從上到下。共二百零四頁軟件(run jin)結(jié)構(gòu)圖MNOPQGHICDATJKLEFBRS共二百零四頁軟件結(jié)構(gòu)優(yōu)化改進軟件結(jié)構(gòu)提高模塊獨立性在滿足模塊化要求(yoqi)的前提下盡量減少模塊數(shù)量,在滿足信息需求的前提下盡可能減少復(fù)雜的數(shù)據(jù)結(jié)構(gòu)模塊規(guī)模應(yīng)適中軟件結(jié)構(gòu)的深度、寬度、 扇入數(shù)和扇出數(shù)都要適當模塊的作用域應(yīng)該在控制域之內(nèi).如圖6-4中,I模塊的控制域為N,O,P,Q,T,I模塊只能作用于這些模塊,不能影響其它模塊的功能力求降低模塊接口的復(fù)雜程度,設(shè)計單入口、單出口的模塊共二百零四頁小結(jié)(xioji)設(shè)計的基本原理和概
56、念包括模塊化、抽象、體系結(jié)構(gòu)、信息隱蔽、模塊獨立、逐步求精和重構(gòu)等,這些原理和概念描述了計算機軟件的屬性、所使用的設(shè)計方法和所使用的編程語言。設(shè)計通常被描述為一個多步過程,其主要任務(wù)是從需求信息(xnx)中綜合出數(shù)據(jù)的表示、程序結(jié)構(gòu)、接口特征和過程細節(jié)。軟件結(jié)構(gòu)提供了待建系統(tǒng)的整體視圖,它描述軟件構(gòu)件或模塊的結(jié)構(gòu)和組織、構(gòu)件或模塊的性質(zhì)以及他們之間的連接。共二百零四頁第7章 結(jié)構(gòu)化概要(giyo)設(shè)計方法數(shù)據(jù)流設(shè)計模型面向數(shù)據(jù)流的設(shè)計方法面向數(shù)據(jù)的設(shè)計方法案例(n l)分析共二百零四頁概要(giyo)設(shè)計概要設(shè)計也稱總體設(shè)計,確定軟件的結(jié)構(gòu)以及各組成成分(子系統(tǒng)或模塊)之間的相互關(guān)系(gun
57、x)。概要設(shè)計的主要任務(wù)是:將系統(tǒng)劃分成模塊;決定每個模塊的功能;決定模塊的調(diào)用關(guān)系;決定模塊的界面,即模塊間傳遞的數(shù)據(jù)。概要設(shè)計階段的主要任務(wù)是通過數(shù)據(jù)流圖來確定系統(tǒng)的結(jié)構(gòu)圖,并且對這些結(jié)構(gòu)圖進行分析和細化。在概要設(shè)計階段,結(jié)構(gòu)化設(shè)計主要采用面向數(shù)據(jù)流的設(shè)計方法。共二百零四頁7.1 數(shù)據(jù)流模型(mxng)根據(jù)基本系統(tǒng)模型,數(shù)據(jù)信息必須(bx)以“外部”信息形式進入軟件系統(tǒng),經(jīng)過內(nèi)部處理以后再以“外部”的形式離開系統(tǒng)。有三種數(shù)據(jù)流類型:變換型數(shù)據(jù)流事務(wù)型數(shù)據(jù)流混合型數(shù)據(jù)流共二百零四頁變換(binhun)型數(shù)據(jù)流信息可以通過各種路徑進入系統(tǒng),信息在“流”入系統(tǒng)的過程中由外部形式變換成內(nèi)部數(shù)據(jù)形式
58、,這被標識為輸入流。在軟件的核心,輸入數(shù)據(jù)經(jīng)過一系列加工處理,這被標識為變換流。通過變換處理后的輸出數(shù)據(jù),沿各種路徑轉(zhuǎn)換為外部形式“流”出軟件,這被標識為輸出流。整個(zhngg)數(shù)據(jù)流體現(xiàn)了以輸入、變換、輸出的順序方式,沿一定路徑前行的特征,這就是變換型數(shù)據(jù)流,簡稱變換流。共二百零四頁變換(binhun)型數(shù)據(jù)流時間輸入流 輸出流變換流信息共二百零四頁事務(wù)(shw)型數(shù)據(jù)流當數(shù)據(jù)流經(jīng)過一個具有 “事務(wù)中心”特征的數(shù)據(jù)處理時,它可以根據(jù)事務(wù)類型從多條路徑(ljng)的數(shù)據(jù)流中選擇一條活動通路。這種具有根據(jù)條件選擇處理不同事務(wù)的數(shù)據(jù)流,就是事務(wù)型數(shù)據(jù)流,簡稱事務(wù)流。共二百零四頁事務(wù)(shw)型數(shù)
59、據(jù)流活動通路事務(wù)中心共二百零四頁混合型數(shù)據(jù)流在一個大型系統(tǒng)的DFD中,變換流和事務(wù)流往往會同時出現(xiàn)。例如,在一個事務(wù)型的DFD中,分支動作路徑上的信息流也可能會體現(xiàn)出變換流的特征(tzhng)。這種具有將事務(wù)流和變換流組合出現(xiàn),就是混合型數(shù)據(jù)流,簡稱混合流。共二百零四頁混合型數(shù)據(jù)流共二百零四頁混合型數(shù)據(jù)流變換3變換2傳出數(shù)據(jù)傳入數(shù)據(jù)事務(wù)中心變換1結(jié)果共二百零四頁7.2 面向(min xin)數(shù)據(jù)流的設(shè)計方法面向數(shù)據(jù)流分析(DFA,Data Flow Analysis)的設(shè)計是一種結(jié)構(gòu)化的軟件體系結(jié)構(gòu)設(shè)計方法。面向數(shù)據(jù)流分析的設(shè)計能與大多數(shù)需求規(guī)格說明技術(shù)配合,可以使模塊達到高內(nèi)聚性(順序性內(nèi)聚
60、)。這一設(shè)計技術(shù)是從數(shù)據(jù)流圖(DFD)分析模型映射為軟件模塊組成結(jié)構(gòu)設(shè)計的描述,所以(suy)也稱為結(jié)構(gòu)化設(shè)計(SD,Structured Design)方法。共二百零四頁數(shù)據(jù)流映射(yngsh)步驟復(fù)查基本系統(tǒng)模型,并精化系統(tǒng)數(shù)據(jù)流圖分析數(shù)據(jù)流類型,確定數(shù)據(jù)流具有變換流特征還是事務(wù)流特征如果(rgu)是變換流特征,確定輸入流和輸出流的邊界(也分別稱為最高輸入/輸出抽象點),輸入流邊界和輸出流邊界之間就是變換流,也稱為“變換中心”。變換流加工處理的是某些形式的內(nèi)部數(shù)據(jù)。如果是事務(wù)流特征,則可確定一個接收分支和一個發(fā)送分支。其中發(fā)送分支包含一個“事務(wù)中心”和各個事務(wù)動作流。采用自頂向下、逐步求精
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年綠色環(huán)保物業(yè)管理委托合同書3篇
- 建筑工程結(jié)算施工合同協(xié)議書
- 房屋建筑施工合同驗收
- 園林設(shè)施維護制度
- 鄉(xiāng)村公路瀝青改造協(xié)議
- 管道維修包清工施工合同
- 4S店銷售顧問招聘合同
- 海洋工程投標保密協(xié)議
- 幼兒園體育運動場地建設(shè)合同
- 酒類加工場地租賃合同
- 醫(yī)院“無陪護”病房試點工作方案
- 網(wǎng)絡(luò)安全與數(shù)據(jù)傳輸
- 2024高考日語復(fù)習 授受關(guān)系 課件
- 清華大學(xué)大學(xué)物理-光的偏振
- threejs入門基礎(chǔ)教程
- 壓力管道質(zhì)量安全員守則
- 藝術(shù)《扎染》教案反思
- 心理健康教育-網(wǎng)絡(luò)與青少年
- 上市公司重組拆分上市的文獻綜述
- 高中英語人教版(2019) 選擇性必修一 Unit 3 課文語法填空(含答案)
- 《護理學(xué)研究》自考歷年真題題庫匯總(含答案)
評論
0/150
提交評論