freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計算機(jī)軟件及應(yīng)用]軟件工程課件(1)-閱讀頁

2025-01-13 12:19本頁面
  

【正文】 ? 通常所說的結(jié)構(gòu)化設(shè)計方法(簡稱 SD方法),也就是基于數(shù)據(jù)流的設(shè)計方法。 ? 信息流可以分為 變換流 和 事務(wù)流 。 面向數(shù)據(jù)流的設(shè)計方法 86 軟件工程 2022 第五章 總體設(shè)計 精化數(shù)據(jù)流圖 區(qū)分輸入和輸出分支 區(qū)分事務(wù)中心和數(shù)據(jù) 接收通路 映射成變換結(jié)構(gòu) 映射成事務(wù)結(jié)構(gòu) 用啟發(fā)式設(shè)計規(guī)則精化軟件結(jié)構(gòu) 導(dǎo)出接口描述和全程數(shù)據(jù)結(jié)構(gòu) 詳細(xì)設(shè)計 流類型 復(fù)查 事務(wù)分析 變換分析 87 軟件工程 2022 第五章 總體設(shè)計 ? 變換流:信息沿輸入通路進(jìn)入系統(tǒng),同時由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過 變換中心 ,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng)。 面向數(shù)據(jù)流的設(shè)計方法 88 軟件工程 2022 第五章 總體設(shè)計 ? 變換型數(shù)據(jù)處理問題的工作過程大致分為三步,即取得數(shù)據(jù),變換數(shù)據(jù)和給出數(shù)據(jù)。 面向數(shù)據(jù)流的設(shè)計方法 89 軟件工程 2022 第五章 總體設(shè)計 面向數(shù)據(jù)流的設(shè)計方法 90 軟件工程 2022 第五章 總體設(shè)計 ? 事務(wù)流:數(shù)據(jù)沿輸入通路到達(dá)一個處理 T,這個處理根據(jù)輸入數(shù)據(jù)的類型在若干個動作序列中選出一個來執(zhí)行。 面向數(shù)據(jù)流的設(shè)計方法 91 軟件工程 2022 第五章 總體設(shè)計 面向數(shù)據(jù)流的設(shè)計方法 92 軟件工程 2022 第五章 總體設(shè)計 ? 變換分析:把具有變換流特點的數(shù)據(jù)流圖按預(yù)先確定的模式映射成軟件結(jié)構(gòu)的一系列步驟的總稱。 ? 復(fù)查的目的是確保系統(tǒng)的輸入數(shù)據(jù)和輸出數(shù)據(jù)符合實際。 ? 對需求分析階段得出的數(shù)據(jù)流圖認(rèn)真復(fù)查,并且在必要時進(jìn)行精化 ; ? 確保數(shù)據(jù)流圖給出了目標(biāo)系統(tǒng)的正確的邏輯模型 ; ? 使數(shù)據(jù)流圖中每個處理都代表一個規(guī)模適中相對獨立的子功能。 ? 根據(jù)數(shù)據(jù)流圖中占優(yōu)勢的屬性,確定數(shù)據(jù)流的全局特性。 ? 第 4步 確定輸入流和輸出流的邊界,從而孤立出變換中心。 ? 分解就是分配控制的過程。 變換分析 98 軟件工程 2022 第五章 總體設(shè)計 99 軟件工程 2022 第五章 總體設(shè)計 MC MT MA ME c, e c, e u, w u, w MC ME2 ME1 R P Q MA2 MA1 c e c, p p e r r w, u w u 100 軟件工程 2022 第五章 總體設(shè)計 ? 第 6步 完成 “ 第二級分解 ” 。 ? 方法是,從變換中心的邊界開始沿著輸入通路向外移動,把輸入通路中每個處理映射成軟件結(jié)構(gòu)中 Ca控制下的一個低層模塊;然后沿輸出通路向外移動,把輸出通路中每個處理映射成直接或間接受模塊 Ce控制的一個低層模塊;最后把變換中心內(nèi)的每個處理映射成受 Ct控制的一個模塊。 變換分析 102 軟件工程 2022 第五章 總體設(shè)計 103 軟件工程 2022 第五章 總體設(shè)計 變換分析示例 A B C P W U D E Q V R a r c u w d e p v b 變換中心 傳出部分 傳入部分 104 軟件工程 2022 第五章 總體設(shè)計 CA C B D A E c, e c b a e d ReadD CA AtoB ReadA DtoE BtoC GetB GetE GetC c, e c b b c a a b d e d e 105 軟件工程 2022 第五章 總體設(shè)計 CE W V U w u v w, u UtoV CE WriteV PutU WriteW w u u v w, u v 106 軟件工程 2022 第五章 總體設(shè)計 MT P Q R e c, p r w, u p c, e r w, u 107 軟件工程 2022 第五章 總體設(shè)計 ? 第 7步 使用設(shè)計度量和啟發(fā)式規(guī)則對第一次分割得到的軟件結(jié)構(gòu)進(jìn)一步精化。 ? 為獲得盡可能高的內(nèi)聚、盡可能松散的耦合,應(yīng)該對初步分割得到的模塊進(jìn)行再分解或合并。這種整體表示的意義在于: ? 一旦確定了軟件結(jié)構(gòu)就可以把它作為一個整體來復(fù)查,從而能夠評價和精化軟件結(jié)構(gòu); ? 在這個時期進(jìn)行修改只需要很少的附加工作,但卻能夠?qū)浖馁|(zhì)量特別是軟件的可維護(hù)性產(chǎn)生深遠(yuǎn)的影響。假設(shè)的儀表板將完成下述功能: (1) 通過模數(shù)轉(zhuǎn)換實現(xiàn)傳感器和微處理機(jī)接口; (2) 在發(fā)光二極管面板上顯示數(shù)據(jù); (3) 指示每小時英里數(shù) (mph),行駛的里程,每加侖油行駛的英里數(shù) (mpg)等等; (4) 指示加速或減速; (5) 超速警告:如果車速超過 55英里 /小時,則發(fā)出超速警告鈴聲。 ? 事務(wù)分析的設(shè)計步驟和變換分析的設(shè)計步驟大部分相同或類似,主要差別僅在于由數(shù)據(jù)流圖到軟件結(jié)構(gòu)的映射方法不同: 事務(wù)分析 118 軟件工程 2022 第五章 總體設(shè)計 ? 由事務(wù)流映射成的軟件結(jié)構(gòu)包括一個 接收分支和一個 發(fā)送分支 ; ? 映射接收分支:從事務(wù)中心的邊界開始,把沿著接收流通路的處理映射成模塊; ? 發(fā)送分支的結(jié)構(gòu)包含一個調(diào)度模塊,它控制下層的所有活動模塊; ? 把數(shù)據(jù)流圖中的每個活動流通路映射成 與它的流特征相對應(yīng)的結(jié)構(gòu) 。 ? 應(yīng)該在設(shè)計的早期階段盡量對軟件結(jié)構(gòu)進(jìn)行精化 。 設(shè)計優(yōu)化 121 軟件工程 2022 第五章 總體設(shè)計 ? 可以用下述方法對時間起決定性作用的軟件進(jìn)行優(yōu)化: ? 在不考慮時間因素的前提下開發(fā)并精化軟件結(jié)構(gòu); ? 在詳細(xì)設(shè)計階段選出最耗費時間的那些模塊,仔細(xì)地設(shè)計它們的處理過程(算法),以求提高效率; ? 使用高級程序設(shè)計語言編寫程序; ? 在軟件中孤立出那些大量占用處理機(jī)資源的模塊; ? 必要時重新設(shè)計或用依賴于機(jī)器的語言重寫上述大量占用資源的模塊的代碼,以求提高效率。 要求:試根據(jù)要求畫出該系統(tǒng)的數(shù)據(jù)流程圖,并將其轉(zhuǎn)換為軟件結(jié)構(gòu)圖。 ? 子系統(tǒng)和構(gòu)件一般定義在不同的視圖內(nèi),以顯示軟件系統(tǒng)的相關(guān)功能屬性和非功能屬性。 軟件體系結(jié)構(gòu)( Software Architecture) 141 軟件工程 2022 第五章 總體設(shè)計 142 軟件工程 2022 第五章 總體設(shè)計 143 軟件工程 2022 第五章 總體設(shè)計 144 軟件工程 2022 第五章 總體設(shè)計 145 軟件工程 2022 第五章 總體設(shè)計 146 軟件工程 2022 第五章 總體設(shè)計 147 軟件工程 2022 第五章 總體設(shè)計 148 軟件工程 2022 第五章 總體設(shè)計 ? 構(gòu)件 :軟件系統(tǒng)的一個封裝部分。 軟件體系結(jié)構(gòu)描述的內(nèi)容 149 軟件工程 2022 第五章 總體設(shè)計 ? 構(gòu)件間的關(guān)系: 連接器 ( connector) ? 通常情況下連接器的具體表現(xiàn)形式:比如,過程調(diào)用(本地的、遠(yuǎn)程的)機(jī)制。 軟件體系結(jié)構(gòu)描述的內(nèi)容 150 軟件工程 2022 第五章 總體設(shè)計 ? 視圖:代表一個軟件體系結(jié)構(gòu)的部分方面,這個部分方面專門顯示一個軟件系統(tǒng)的特定屬性。它通過施加于構(gòu)件上的限制 及組成與設(shè)計 規(guī)則 來表現(xiàn)構(gòu)件和構(gòu)件間的關(guān)系。 軟件體系結(jié)構(gòu)風(fēng)格( SA Styles) 154 軟件工程 2022 第五章 總體設(shè)計 ? Garlan和 Shaw對通用體系結(jié)構(gòu)風(fēng)格的分類: ① 數(shù)據(jù)流風(fēng)格:批處理序列;管道 /過濾器; ② 調(diào)用 /返回風(fēng)格:主程序 /子程序;面向?qū)ο箫L(fēng)格;層次結(jié)構(gòu); ③ 獨立構(gòu)件風(fēng)格:進(jìn)程通訊;事件系統(tǒng); ④ 虛擬機(jī)風(fēng)格:解釋器;基于規(guī)則的系統(tǒng); ⑤ 倉庫風(fēng)格:數(shù)據(jù)庫系統(tǒng);黑板系統(tǒng); 軟件體系結(jié)構(gòu)風(fēng)格( SA Styles) 155 軟件工程 2022 第五章 總體設(shè)計 ? 每種體系結(jié)構(gòu)風(fēng)格定義了: ? 一組構(gòu)件 :完成系統(tǒng)所需的某種功能; ? 一組連接件 :實現(xiàn)構(gòu)件間的 “ 通信、協(xié)調(diào)和合作 ” ; ? 約束 :定義構(gòu)件如何被集成到一起形成系統(tǒng); ? 語義模型 :使得設(shè)計者能夠通過分析系統(tǒng)的構(gòu)成成分的已知性質(zhì)而理解系統(tǒng)的整體性質(zhì)。這個過程通常通過對輸入流的變換及增量計算來完成,所以在輸入被完全消費之前,輸出便產(chǎn)生了。 ? 連接件就象是數(shù)據(jù)流傳輸?shù)?管道( Pipes),將一個過濾器的輸出傳到另一過濾器的輸入 管道/過濾器風(fēng)格 157 軟件工程 2022 第五章 總體設(shè)計 管道/過濾器風(fēng)格 158 軟件工程 2022 第五章 總體設(shè)計 ? 該風(fēng)格的限制條件: ? 過濾器必須是獨立的實體,它不能與其它的過濾器共享狀態(tài); ? 一個過濾器不知道它上游和下游的標(biāo)識; ? 一個管道/過濾器網(wǎng)絡(luò)輸出的正確性不應(yīng)依賴于過濾器進(jìn)行增量計算過程的順序。 ? bounded pipes:限定了可以存在于一個管道上的數(shù)據(jù)量。 ? batch sequential:每個過濾器把它所有的輸入作為一個單一實體進(jìn)行處理。只要提供適合在兩個過濾器之間傳送的數(shù)據(jù),任何兩個過濾器都可被連接起來; ? 易于維護(hù)和增強(qiáng)系統(tǒng)。每個過濾器是作為一個單獨的任務(wù)完成,因此可與其它任務(wù)并行執(zhí)行。這是因為雖然過濾器可增量地處理數(shù)據(jù),但它們是獨立的,所以設(shè)計者必須將每個過濾器看成一個完整的從輸入到輸出的轉(zhuǎn)換。當(dāng)需要增量地顯示改變時,這個問題尤為嚴(yán)重。 管道/過濾器風(fēng)格 162 軟件工程 2022 第五章 總體設(shè)計 ? 將數(shù)據(jù)的表示和相關(guān)操作封裝在一個抽象數(shù)據(jù)類型或?qū)ο笾小? ? 對象是通過函數(shù)和過程的調(diào)用來交互的。 數(shù)據(jù)抽象與面向?qū)ο箫L(fēng)格 164 軟件工程 2022 第五章 總體設(shè)計 ? 面向?qū)ο箫L(fēng)格的優(yōu)點: ? 因為對象對其它對象隱藏它的表示,所以可以改變一個對象的表示,而不影響其使用者。 數(shù)據(jù)抽象與面向?qū)ο箫L(fēng)格 165 軟件工程 2022 第五章 總體設(shè)計 ? 面向?qū)ο箫L(fēng)格的缺點: ? 為了使一個對象和另一個對象通過過程調(diào)用等進(jìn)行交互,必須知道對象的 標(biāo)識 。 ? 必須修改所有顯式調(diào)用它的其它對象,并消除由此帶來的一些副作用。 數(shù)據(jù)抽象與面向?qū)ο箫L(fēng)格 166 軟件工程 2022 第五章 總體設(shè)計 ? 基于事件的隱式調(diào)用( Implicit Invocation)風(fēng)格的思想是構(gòu)件 不直接調(diào)用 一個過程,而是 發(fā)布或廣播 一個或多個事件。 ? 當(dāng)一個事件被發(fā)布,系統(tǒng)自動調(diào)用在這個事件中注冊的所有過程,這樣,一個事件的發(fā)布就 “ 隱式地 ” 激發(fā) 了另一模塊中的過程。過程可以用通用的方式調(diào)用,構(gòu)件也可以在系統(tǒng)事件中注冊一些過程,當(dāng)發(fā)生這些事件時,過程被調(diào)用。這樣不能假定構(gòu)件的處理順序,甚至不知道哪些過程會被調(diào)用。 ? 例如在某系統(tǒng)中,編輯器和變量監(jiān)視器可以登記(注冊)相應(yīng) Debugger的斷點事件。而Debugger本身只聲明事件,不關(guān)心這些過程做什么處理。當(dāng)需要將一個構(gòu)件加入現(xiàn)存系統(tǒng)中時,只需將它注冊到系統(tǒng)的事件中。當(dāng)用一個構(gòu)件代替另一個構(gòu)件時,不會影響到其它構(gòu)件的接口。 ? 數(shù)據(jù)交換的問題。 基于事件/隱式調(diào)用風(fēng)格 172 軟件工程 2022 第五章 總體設(shè)計 ? 層次系統(tǒng)( Layerd System)組織成一個層次結(jié)構(gòu), 每一層為上層服務(wù),并作為下層的客戶 。 ? 連接件由決定層間如何交互的 協(xié)議 來定義。 ? 應(yīng)用例子:分層通信協(xié)議、數(shù)據(jù)庫系統(tǒng)、操作系統(tǒng) …… 層次系統(tǒng)風(fēng)格 173 軟件工程 2022 第五章 總體設(shè)計 層次系統(tǒng)風(fēng)格 174 軟件工程 2022 第五章 總體設(shè)計 ? 層次系統(tǒng)風(fēng)格的優(yōu)點: ? 支持基于抽象程度遞增的系統(tǒng)設(shè)計; ? 支持功能增強(qiáng); ? 支持重用。 層次系統(tǒng)風(fēng)格 175 軟件工程 2022 第五章 總體設(shè)計 ? 兩種不同的構(gòu)件: ? 中央數(shù)據(jù)結(jié)構(gòu) 說明當(dāng)前狀態(tài); ? 一組 獨立構(gòu)件 在中央數(shù)據(jù)存貯上執(zhí)行。 倉庫( Repositories)風(fēng)格 176 軟件工程 2022 第五章 總體設(shè)計 倉庫( Repositories)風(fēng)格 177 軟件工程 2022 第五章 總體設(shè)計 ? 黑板系統(tǒng)主要由三部分組成: ? 知識源 :知識源中包含獨立的、與應(yīng)用程序相關(guān)的知識,知識源之間不直接進(jìn)行通訊,它們之間的交互只通過黑板來完成。 ? 控制 :控制完全由黑板的狀態(tài)驅(qū)動,黑板狀態(tài)發(fā)生改變知識源
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1