




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件工程與UML 2013.11面向?qū)ο笤O(shè)計(jì) - OOD12011-11到目前為止各組可以開(kāi)始著手完成自己項(xiàng)目的SRS-軟件需求規(guī)格說(shuō)明書(shū)了,模板見(jiàn)FTP,這也是項(xiàng)目驗(yàn)收的重要文檔之一。22011-11主要內(nèi)容準(zhǔn)備知識(shí)行為建模工具-時(shí)序圖、協(xié)作圖、狀態(tài)圖BCE模式 - 分析類DAO模式系統(tǒng)架構(gòu)設(shè)計(jì)GUI設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)Rose雙向工程32011-11軟件設(shè)計(jì)模塊化設(shè)計(jì)準(zhǔn)備知識(shí)對(duì)應(yīng)書(shū)上第五章的內(nèi)容4通過(guò)本章的學(xué)習(xí),解決以下問(wèn)題軟件設(shè)計(jì)解決什么問(wèn)題?目標(biāo)?分幾個(gè)階段?各階段的主要任務(wù)是什么?什么是模塊化設(shè)計(jì)?模塊化設(shè)計(jì)的指導(dǎo)思想或原則有哪些?5軟件設(shè)計(jì)簡(jiǎn)言之,軟件設(shè)計(jì)就像各種設(shè)計(jì)圖,是軟件需求和軟件
2、實(shí)現(xiàn)之間的橋梁,用于將軟件需求轉(zhuǎn)化為真正的軟件產(chǎn)品。6軟件設(shè)計(jì)階段的基本目標(biāo)是構(gòu)造系統(tǒng)“怎么做”的模型描述?!霸O(shè)計(jì)先于編碼”,這是軟件工程“推遲實(shí)現(xiàn)”基本原則軟件設(shè)計(jì)概述7軟件系統(tǒng)設(shè)計(jì)是把軟件需求“變換”為用于構(gòu)造軟件的藍(lán)圖。“輸入”是需求分析各種模型元素“輸出”是軟件設(shè)計(jì)模型和表示軟件設(shè)計(jì)需求分析得到的各種模型軟件設(shè)計(jì)模型8軟件設(shè)計(jì)的首要目的在于決定系統(tǒng)如何實(shí)施數(shù)據(jù)/類設(shè)計(jì):將分析模型轉(zhuǎn)化為設(shè)計(jì)類的實(shí)現(xiàn)以及軟件實(shí)現(xiàn)所需要的數(shù)據(jù)結(jié)構(gòu)體系結(jié)構(gòu)設(shè)計(jì):定義軟件的主要結(jié)構(gòu)元素之間的關(guān)系接口設(shè)計(jì):描述軟件與協(xié)作系統(tǒng)之間、軟件和使用人員之間是如何通信的構(gòu)件設(shè)計(jì):將軟件體系結(jié)構(gòu)的結(jié)構(gòu)元素轉(zhuǎn)化為軟件構(gòu)件9總體
3、設(shè)計(jì),也稱為概要設(shè)計(jì),軟件結(jié)構(gòu)設(shè)計(jì),或高層設(shè)計(jì)分析需求規(guī)格說(shuō)明模塊劃分,形成具有預(yù)定功能的模塊組成結(jié)構(gòu)表示出模塊間的控制關(guān)系給出模塊之間的接口軟件詳細(xì)設(shè)計(jì),也稱為(模塊)過(guò)程設(shè)計(jì),或低層設(shè)計(jì)。設(shè)計(jì)模塊細(xì)節(jié)確定模塊所需的算法和數(shù)據(jù)結(jié)構(gòu)等軟件設(shè)計(jì)的兩個(gè)階段10面向?qū)ο笤O(shè)計(jì)面向?qū)ο蟮脑O(shè)計(jì)(Objec-Oriented Design)是根據(jù)面向?qū)ο蠓治鲋写_定的類和對(duì)象設(shè)計(jì)軟件系統(tǒng),包括設(shè)計(jì)對(duì)象類和設(shè)計(jì)這些對(duì)象類之間的關(guān)系。從OOA到OOD是一個(gè)逐步建立和擴(kuò)充對(duì)象模型的過(guò)程。1112概要設(shè)計(jì)說(shuō)明書(shū)模板1 范圍1.1系統(tǒng)目標(biāo)1.2 主要軟件需求1.3 軟件設(shè)計(jì)約束、限制2 數(shù)據(jù)設(shè)計(jì)2.1 數(shù)據(jù)對(duì)象和形成的
4、數(shù)據(jù)結(jié)構(gòu)2.2文件和數(shù)據(jù)庫(kù)結(jié)構(gòu)外部文件結(jié)構(gòu) 邏輯結(jié)構(gòu) 邏輯記錄描述 訪問(wèn)方法全局?jǐn)?shù)據(jù)文件和數(shù)據(jù)交叉索引3 體系結(jié)構(gòu)設(shè)計(jì)3.1 數(shù)據(jù)和控制流復(fù)審3.2 得出的程序結(jié)構(gòu)4 接口設(shè)計(jì)4.1 人機(jī)界面規(guī)約4.2 人機(jī)界面設(shè)計(jì)規(guī)約4.3 外部接口設(shè)計(jì)外部數(shù)據(jù)接口外部系統(tǒng)或設(shè)備接口4.4 內(nèi)部接口設(shè)計(jì)規(guī)約5 (每個(gè)模塊)過(guò)程設(shè)計(jì)5.1 處理說(shuō)明5.2 接口描述5.3 設(shè)計(jì)語(yǔ)言描述5.4 使用的模塊5.5 內(nèi)部設(shè)計(jì)結(jié)構(gòu)5.6 注釋/約束/限制6 需求交叉索引7 測(cè)試部分7.1測(cè)試方針7.2 集成策略7.3 特殊考慮8 附錄(包括特殊注解)1213詳細(xì)設(shè)計(jì)說(shuō)明書(shū)模板1 引言1.1 編寫目的:闡明編寫詳細(xì)設(shè)計(jì)說(shuō)
5、明書(shū)的目的,指明讀者對(duì)象。1.2 項(xiàng)目背景:應(yīng)包括項(xiàng)目的來(lái)源和主管部門等。1.3 定義:列出本文檔中所用到的專門術(shù)語(yǔ)的定義和縮寫詞。 列出有關(guān)資料的作者、標(biāo)題、編號(hào)、發(fā)表日期、出版單位或資料來(lái)源 文檔所引用的資料、軟件開(kāi)發(fā)的標(biāo)準(zhǔn)或規(guī)范。1.4 參考資料:項(xiàng)目經(jīng)核準(zhǔn)的計(jì)劃任務(wù)書(shū)、合同或上級(jí)機(jī)關(guān)的批文;項(xiàng)目開(kāi)發(fā)計(jì)劃;需求規(guī)格說(shuō)明書(shū);概要設(shè)計(jì)說(shuō)明書(shū);測(cè)試計(jì)劃(初稿);用戶操作手冊(cè)。2 總體設(shè)計(jì)2.1 需求概述2.2 軟件結(jié)構(gòu):如給出軟件系統(tǒng)的結(jié)構(gòu)圖。3 程序描述3.1 逐個(gè)模塊給出以下說(shuō)明: 性能 輸出項(xiàng)目 功能 輸入項(xiàng)目3.2 算法:模塊所選用的算法。3.3 程序邏輯:詳細(xì)描述模塊實(shí)現(xiàn)的算法,可采
6、用:標(biāo)準(zhǔn)流程圖;PDL語(yǔ)言;N-S圖;判定表等描述算法的圖表。3.4 接口 限制條件 存儲(chǔ)分配3.5測(cè)試要點(diǎn):給出測(cè)試模塊的主要測(cè)試要求。13設(shè)計(jì)模型元素體系結(jié)構(gòu)元素構(gòu)件級(jí)元素接口/界面元素用戶界面構(gòu)件接口系統(tǒng)接口數(shù)據(jù)元素?cái)?shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)部署級(jí)元素1415模塊是一個(gè)獨(dú)立命名的,擁有明確定義的輸入、輸出和特性的程序?qū)嶓w。把一個(gè)大型軟件系統(tǒng)的全部功能,按照一定的原則合理地劃分為若干個(gè)模塊,每個(gè)模塊完成一個(gè)特定子功能,所有的這些模塊以某種結(jié)構(gòu)形式組成一個(gè)整體,這就是軟件的模塊化設(shè)計(jì)(Modular Design)。軟件模塊化設(shè)計(jì)可以簡(jiǎn)化軟件的設(shè)計(jì)和實(shí)現(xiàn),提高軟件的可理解性和可測(cè)試性,并使軟件更
7、容易得到維護(hù)。分解、抽象、逐步求精、信息隱蔽和模塊獨(dú)立性,是軟件模塊化設(shè)計(jì)的指導(dǎo)思想。軟件模塊化設(shè)計(jì)1516采用有效的分解,即“分而治之”,是能夠使問(wèn)題得以很好解決的必不可少的措施。一個(gè)軟件系統(tǒng)的各個(gè)模塊之間是相互關(guān)聯(lián)的,模塊劃分的數(shù)量越多,模塊間的聯(lián)系也越多。模塊本身的復(fù)雜性和工作量雖然隨著模塊變小而減少,模塊的接口工作量卻隨著模塊數(shù)增加而增大。軟件模塊化開(kāi)發(fā)存在一個(gè)最小成本區(qū),把模塊數(shù)控制在一定的范圍內(nèi),可以得到最小的總開(kāi)發(fā)工作量。軟件模塊化1617模塊數(shù)與開(kāi)發(fā)工作量開(kāi)發(fā)工作量模塊數(shù)最小成本區(qū)模塊成本接口成本總成本1718分解必然需要抽象的支持。抽象是抓住主要問(wèn)題,隱藏細(xì)節(jié),這樣才能容易分
8、解。抽象具有不同的級(jí)別(數(shù)據(jù)和過(guò)程)。人類解決復(fù)雜問(wèn)題的基本方法之一。只有抓住事物的本質(zhì),才能準(zhǔn)確分析和處理問(wèn)題,找到合理的解決方案。抽象1819軟件體系結(jié)構(gòu)是指軟件的整體結(jié)構(gòu)和這種結(jié)構(gòu)為系統(tǒng)提供概念上完整性的方式。體系結(jié)構(gòu)可以是程序構(gòu)件或模塊的結(jié)構(gòu)或組織,這些構(gòu)件或模塊交互的形式以及這些構(gòu)件所用數(shù)據(jù)的結(jié)構(gòu)。體系結(jié)構(gòu)設(shè)計(jì)可以使用大量的模型來(lái)表達(dá)。軟件體系結(jié)構(gòu)1920信息隱蔽原則建議模塊應(yīng)該具有的特征是:每個(gè)模塊對(duì)其他所有模塊都隱蔽自己的設(shè)計(jì)決策。信息隱蔽意味著通過(guò)一系列獨(dú)立的模塊可以得到有效的模塊化。獨(dú)立的構(gòu)件或模塊之間的“接口”簡(jiǎn)單而清晰。信息隱藏2021模塊的獨(dú)立性(Module Inde
9、pendence)是模塊化、抽象、信息隱蔽等概念的直接結(jié)果,也是判斷模塊化結(jié)構(gòu)是否合理的標(biāo)準(zhǔn)。模塊獨(dú)立性是指開(kāi)發(fā)具有獨(dú)立功能而和其他模塊沒(méi)有過(guò)多關(guān)聯(lián)的模塊。模塊獨(dú)立性兩大優(yōu)點(diǎn):獨(dú)立的模塊由于分解了功能,簡(jiǎn)化了接口,使得軟件比較容易開(kāi)發(fā);獨(dú)立的模塊比較容易測(cè)試和維護(hù)。模塊的獨(dú)立性2122模塊獨(dú)立性的度量標(biāo)準(zhǔn)模塊獨(dú)立性由兩個(gè)定性標(biāo)準(zhǔn)度量:模塊自身的內(nèi)聚(Cohesion),也稱為塊內(nèi)聯(lián)系或模塊強(qiáng)度,模塊之間的耦合(Coupling),也稱為塊間聯(lián)系。模塊獨(dú)立性愈高,則塊內(nèi)聯(lián)系越強(qiáng),塊間聯(lián)系越弱。2223內(nèi)聚性是從功能的角度對(duì)模塊內(nèi)部聚合能力的量度。高內(nèi)聚是模塊獨(dú)立性追求的目標(biāo)。分類:偶然性內(nèi)聚:模
10、塊內(nèi)的各個(gè)任務(wù)在功能上沒(méi)有實(shí)質(zhì)性聯(lián)系,純屬“偶然”因素組合了塊內(nèi)各個(gè)互不相關(guān)的任務(wù)。邏輯性內(nèi)聚:模塊通常由若干個(gè)邏輯功能相似的任務(wù)組成,通過(guò)模塊外引入的一個(gè)開(kāi)關(guān)量選擇其一執(zhí)行。這種內(nèi)聚增大了模塊間的耦合。時(shí)間性內(nèi)聚:模塊內(nèi)的各個(gè)任務(wù)由相同的執(zhí)行時(shí)間聯(lián)系在一起。例如,初始化模塊。過(guò)程性內(nèi)聚:模塊內(nèi)的各個(gè)任務(wù)必須按照某一特定次序執(zhí)行。通信性內(nèi)聚:模塊內(nèi)部的各個(gè)任務(wù)靠公用數(shù)據(jù)聯(lián)系在一起,即都使用同一個(gè)輸入數(shù)據(jù),或者產(chǎn)生同一個(gè)輸出數(shù)據(jù)。順序性內(nèi)聚:模塊內(nèi)的各個(gè)任務(wù)是順序執(zhí)行的。通常,上一個(gè)任務(wù)的輸出是下一個(gè)任務(wù)的輸入。功能性內(nèi)聚:模塊各個(gè)成分結(jié)合在一起,完成一個(gè)特定的功能。顯然,功能性模塊具有內(nèi)聚性最
11、強(qiáng)、與其他模塊聯(lián)系少的特點(diǎn)。模塊的內(nèi)聚性2324內(nèi)聚性分類偶然性內(nèi)聚弱邏輯性內(nèi)聚時(shí)間性內(nèi)聚過(guò)程性內(nèi)聚通信性內(nèi)聚順序性內(nèi)聚功能性內(nèi)聚強(qiáng)低內(nèi)聚中內(nèi)聚高內(nèi)聚2425耦合性是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。耦合性的強(qiáng)弱取決于模塊間接口的復(fù)雜程度,以及通過(guò)接口的數(shù)據(jù)類型和數(shù)目。分類: 非直接耦合:同級(jí)模塊相互之間沒(méi)有信息傳遞,屬于非直接耦合。 數(shù)據(jù)耦合:調(diào)用下屬模塊時(shí),如果交換的都是簡(jiǎn)單變量,便構(gòu)成數(shù)據(jù)耦合。 特征耦合:調(diào)用下屬模塊時(shí),如果交換的是數(shù)據(jù)結(jié)構(gòu),便構(gòu)成特征耦合。由于傳遞的是數(shù)據(jù)結(jié)構(gòu),不僅數(shù)據(jù)量增加,而且會(huì)使模塊的相關(guān)性增加。 控制耦合:模塊間傳遞的信息不是一般的數(shù)據(jù),而是作為控制
12、信息的開(kāi)關(guān)值或標(biāo)志量。例如,邏輯性內(nèi)聚的模塊調(diào)用就是典型的控制耦合。外部耦合:若允許一組模塊訪問(wèn)同一個(gè)全局變量,可稱它們?yōu)橥獠狂詈?。公共耦合:若允許一組模塊訪問(wèn)同一個(gè)全局性的數(shù)據(jù)結(jié)構(gòu),則稱它們?yōu)楣柴詈?。全局性的?shù)據(jù)結(jié)構(gòu)可以是共享的通信區(qū)、公共的內(nèi)存區(qū)域、任何存儲(chǔ)介質(zhì)文件、物理設(shè)備等。內(nèi)容耦合:若一個(gè)模塊可以直接調(diào)用另一個(gè)模塊中的數(shù)據(jù),或者直接轉(zhuǎn)移到另一個(gè)模塊中去,或者一個(gè)模塊有多個(gè)入口,則稱為內(nèi)容耦合。模塊耦合性2526耦合性分類非直接耦合弱數(shù)據(jù)耦合特征耦合控制耦合外部耦合公共耦合內(nèi)容耦合強(qiáng)弱耦合中耦合強(qiáng)耦合較強(qiáng)耦合2627逐步求精,或稱逐步細(xì)化,是一種自頂向下的設(shè)計(jì)策略。逐步求精是人類采用抽象到具體的過(guò)程把一個(gè)復(fù)雜問(wèn)題趨于簡(jiǎn)單化控制和管理的有效策略。抽象和精化是互補(bǔ)的概念。逐步求精2728重構(gòu)是一種重新組織的技術(shù),可以簡(jiǎn)化構(gòu)件或模塊的設(shè)計(jì)或編碼而無(wú)需改變其功能或行為。重構(gòu)是一種改進(jìn)程序內(nèi)部結(jié)構(gòu)但不改變代碼或設(shè)計(jì)的外部行為?!跋仁顾D(zhuǎn)起來(lái),再使它快起來(lái)”。重構(gòu)(Refactor
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024活動(dòng)廣播稿(33篇)
- 電子商務(wù)在線代理銷售協(xié)議(3篇)
- 中國(guó)進(jìn)排氣歧管行業(yè)發(fā)展前景及投資戰(zhàn)略咨詢報(bào)告
- PVC糊樹(shù)脂項(xiàng)目可行性研究報(bào)告
- 2021-2026年中國(guó)烏雞白鳳丸市場(chǎng)競(jìng)爭(zhēng)策略及行業(yè)投資潛力預(yù)測(cè)報(bào)告
- 2025年中國(guó)智能云臺(tái)控制器行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- ct復(fù)合原料及可降解環(huán)保餐具項(xiàng)目可行性論證報(bào)告
- 2025年中國(guó)智慧餐廳行業(yè)市場(chǎng)全景評(píng)估及投資戰(zhàn)略研究報(bào)告
- 2023-2029年中國(guó)中型車(B級(jí)車)行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及投資策略咨詢報(bào)告
- 2024-2025學(xué)年高中地理課時(shí)分層作業(yè)11濕地干涸及其恢復(fù)生物多樣性保護(hù)含解析新人教版選修6
- 樂(lè)理知識(shí)考試題庫(kù)130題(含答案)
- 前言 馬克思主義中國(guó)化時(shí)代化的歷史進(jìn)程與理論成果
- 融資租賃租金計(jì)算表
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:Chapter 5 Recursion
- 《中國(guó)—東盟自由貿(mào)易區(qū)概論》新版
- 棕色偵探推理劇本殺活動(dòng)方案項(xiàng)目介紹ppt模板
- 降低鉆孔灌注樁混凝土充盈系數(shù)QC
- 華中數(shù)控車床編程及操作PPT課件
- 趣味歷史(課堂PPT)
- 供應(yīng)鏈供應(yīng)鏈管理
- 《消防安全評(píng)估檢查記錄》
評(píng)論
0/150
提交評(píng)論