軟件工程 ch6 軟件構(gòu)造.ppt_第1頁(yè)
軟件工程 ch6 軟件構(gòu)造.ppt_第2頁(yè)
軟件工程 ch6 軟件構(gòu)造.ppt_第3頁(yè)
軟件工程 ch6 軟件構(gòu)造.ppt_第4頁(yè)
軟件工程 ch6 軟件構(gòu)造.ppt_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第六章,軟件構(gòu)造,內(nèi)容,GUI設(shè)計(jì)原則 Java對(duì)象程序設(shè)計(jì) 面向?qū)ο篌w系結(jié)構(gòu) 軟件體系結(jié)構(gòu)模式,軟件構(gòu)造知識(shí)域主題的本體結(jié)構(gòu),簡(jiǎn)明原則 副作用原則 正確性原則 注釋原則 語(yǔ)言原則,5大編碼原則,12條GUI設(shè)計(jì)原則,理解用戶(hù)原則 用戶(hù)控制原則 友好性原則 左上角原則 空間關(guān)系原則 主動(dòng)交流原則,顏色適度原則 分辨顏色原則 字體適度原則 尺寸相同原則 左對(duì)齊原則 按鈕原則,Point類(lèi)的UML圖,Circle類(lèi),可見(jiàn)性(1),包。唯一的包名稱(chēng)前綴總是由全小寫(xiě)的ASCII字母組成,而且應(yīng)該是一個(gè)頂級(jí)域名,諸如.com、.edu或其他正式的頂級(jí)名稱(chēng)。包名稱(chēng)的其余部分可根據(jù)組織自己內(nèi)部的命名傳統(tǒng)而定

2、。使用點(diǎn)將各部分分開(kāi)。例如:com.sun.eng、com.objectcentral.javatools 類(lèi)。類(lèi)(和接口)名稱(chēng)應(yīng)該是一個(gè)名詞,描述類(lèi)的目的。類(lèi)名是大小寫(xiě)混合的,第一個(gè)字母大寫(xiě),里面每個(gè)單詞的首字母大寫(xiě)。使用完整的單詞,避免使用縮寫(xiě)。例如:Point、Shape、MovieEditor、ClientList,可見(jiàn)性(2),方法。方法應(yīng)該使用動(dòng)詞,描述方法的目的。方法名稱(chēng)是大小寫(xiě)混寫(xiě)的,第一個(gè)字母小寫(xiě),里面每個(gè)單詞的首字母大寫(xiě)。對(duì)于一些通用的方法類(lèi)型有一些傳統(tǒng)的前綴,比如取值方法和設(shè)值方法分別使用get和set作為前綴。例如:getOrigin、findSmallest、draw

3、Graph、saveModel 變量。除了作為常量使用的情況之外,所有的變量名稱(chēng)都是大小寫(xiě)混合的,第一個(gè)字母小寫(xiě),里面的每個(gè)單詞的首字母大寫(xiě)。變量名應(yīng)該盡量取的有意義,使閱讀代碼的人能了解變量的用途。例如:myMovie、editMovie、backgroudColor、lastItem 常量。作為常量使用的變量名應(yīng)該全部使用大寫(xiě),單詞間用下劃線(“_”)分隔。例如:MAX_SIZE、R_PG13、TERM_LIMIT,Point類(lèi)和Color類(lèi)的UML類(lèi)圖,圖書(shū)館及其用戶(hù)之間的關(guān)系,Observer接口,簡(jiǎn)單的體系結(jié)構(gòu)圖(architecture diagram),過(guò)程處理系統(tǒng)(proced

4、ural processing system)中的處理過(guò)程(process),模擬系統(tǒng)的體系結(jié)構(gòu)圖,過(guò)程處理系統(tǒng)的優(yōu)缺點(diǎn),優(yōu)點(diǎn)包括:(1)系統(tǒng)的總體行為,是各個(gè)處理部件的簡(jiǎn)單組合;(2)只要輸入和輸出數(shù)據(jù)合適,處理部件可以在不同系統(tǒng)中重復(fù)使用;(3)只要增加新的處理部件,系統(tǒng)可以很容易地?cái)U(kuò)展;(4)系統(tǒng)可以在大規(guī)模并行計(jì)算機(jī)(Massively Parallel Computer)中運(yùn)行,解決復(fù)雜的工程技術(shù)和科研難題。 缺點(diǎn)包括:(1)它主要以一個(gè)批量(Batch)處理的方式執(zhí)行,不太適合作交互式應(yīng)用(Interactive Application);(2)當(dāng)有大量和不同方式的輸入和輸出數(shù)據(jù)時(shí)

5、,數(shù)據(jù)存儲(chǔ)和管理就頗傷腦筋。,客戶(hù)機(jī)服務(wù)器系統(tǒng),客戶(hù)機(jī)服務(wù)器系統(tǒng)的優(yōu)缺點(diǎn),優(yōu)點(diǎn)包括:(1)客戶(hù)機(jī)與服務(wù)器分離,允許作長(zhǎng)距離的連線運(yùn)作。兩者的開(kāi)發(fā)也可以分開(kāi)同時(shí)進(jìn)行;(2)一個(gè)服務(wù)器,可以服務(wù)于多個(gè)客戶(hù)機(jī)。 缺點(diǎn)包括:(1)客戶(hù)機(jī)與服務(wù)器的通訊依賴(lài)于網(wǎng)絡(luò),可能成為整體系統(tǒng)運(yùn)作的瓶頸(若兩者在同一臺(tái)計(jì)算機(jī)上,則沒(méi)有這個(gè)問(wèn)題);(2)倘若服務(wù)器及其界面定義有改變,則客戶(hù)機(jī)也要作相應(yīng)改變。當(dāng)客戶(hù)機(jī)數(shù)量很大時(shí),要保證每一個(gè)都有最新軟件版本,就要費(fèi)很大力氣。,萬(wàn)維網(wǎng)服務(wù)器和客戶(hù)機(jī)的通訊,使用模型視圖控制器(MVC)架構(gòu)的網(wǎng)上應(yīng)用,網(wǎng)上銀行付款服務(wù)用的網(wǎng)頁(yè)樣本,有三層的結(jié)點(diǎn),層級(jí)系統(tǒng)的另一種畫(huà)法,層級(jí)系統(tǒng)的

6、優(yōu)缺點(diǎn),優(yōu)點(diǎn)包括;(1)在部件或結(jié)點(diǎn)中分設(shè)層有助把復(fù)雜的問(wèn)題按功能分解,使整體設(shè)計(jì)更為清晰;(2)由于內(nèi)層與外界隔絕,內(nèi)層函數(shù)和服務(wù)受到有效的控制,只有界面層的對(duì)象作為界面類(lèi)而向外界公開(kāi);(3)新的運(yùn)算可以在界面層中引入,它們把內(nèi)層(核心或持久)的一些運(yùn)算合起來(lái);(4)如果界面合適,某一個(gè)層可以反復(fù)用在不同地方。一個(gè)自成一體的層,也可以作為部件或結(jié)點(diǎn)使用。 缺點(diǎn)包括:(1)層的個(gè)數(shù)多時(shí),系統(tǒng)性能就會(huì)下降。因?yàn)榻缑婧瘮?shù)可能要穿過(guò)好幾層,才能到達(dá)某一內(nèi)層;(2)標(biāo)準(zhǔn)化的層界面對(duì)能變得臃腫,降低函數(shù)調(diào)用的性能。,三級(jí)體系結(jié)構(gòu)的示例,四級(jí)體系結(jié)構(gòu)的示例,多級(jí)系統(tǒng)的優(yōu)缺點(diǎn),優(yōu)點(diǎn)包括:(1)因?yàn)橄到y(tǒng)的功能

7、分布在幾個(gè)級(jí)或服務(wù)器上,系統(tǒng)維修和擴(kuò)展都比較容易;(2)從底層到高層,可以分級(jí)控制,對(duì)不同級(jí)的客戶(hù)機(jī)提供不同水平的服務(wù);(3)方便企業(yè)水平的整合。通常的做法是把中間級(jí)與企業(yè)的其他系統(tǒng)連接起來(lái);(4)多級(jí)系統(tǒng)可以擴(kuò)充,以服務(wù)大量同時(shí)使用系統(tǒng)的客戶(hù)機(jī)。例如,可把多個(gè)服務(wù)器群集起來(lái)。 缺點(diǎn)包括:(1)各對(duì)客戶(hù)機(jī)/服務(wù)器之間可能有多種不同的通訊協(xié)議;(2)由于數(shù)據(jù)要行經(jīng)多級(jí)結(jié)點(diǎn),而各個(gè)結(jié)點(diǎn)可能在不同的計(jì)算機(jī)和操作系統(tǒng)中,調(diào)試系統(tǒng)的整體運(yùn)作性能就很不容易。,使用群集法的四級(jí)系統(tǒng),合用串行法和群集法的四級(jí)系統(tǒng),代理的體系結(jié)構(gòu),畫(huà)法不同的代理體系結(jié)構(gòu),代理體系結(jié)構(gòu)的優(yōu)缺點(diǎn),優(yōu)點(diǎn)包括:(1)在處理復(fù)雜任務(wù)時(shí),

8、代理體系結(jié)構(gòu)有高度的靈活性,統(tǒng)籌多個(gè)全自動(dòng)或半自動(dòng)的代理的活動(dòng);(2)系統(tǒng)可用漸進(jìn)方式建立,并容許從原有系統(tǒng)逐步過(guò)渡;(3)由于各組功能分布在不同代理,系統(tǒng)比較容易維修和擴(kuò)展;(4)系統(tǒng)很容易與多級(jí)系統(tǒng)合并使用,伸縮性強(qiáng),便利企業(yè)水平的軟件整合。 缺點(diǎn)包括:(1)由于所有活動(dòng)都經(jīng)共用的消息總線傳送,安全的問(wèn)題必須盡早設(shè)計(jì)解決。例如外加密碼則使網(wǎng)絡(luò)負(fù)載增加,加密和解密也會(huì)影響系統(tǒng)性能;(2)消息總線要有統(tǒng)一的通訊協(xié)議,企業(yè)的整體計(jì)劃就必須十分周詳;(3)因?yàn)槭聞?wù)分布在多個(gè)代理處理,系統(tǒng)的性能調(diào)試可能比較困難。,把多個(gè)相同或相容的結(jié)點(diǎn)連接而成的聚合,聯(lián)邦體系結(jié)構(gòu),聚合和聯(lián)邦體系結(jié)構(gòu)的優(yōu)缺點(diǎn),優(yōu)點(diǎn)包

9、括:(1)反復(fù)運(yùn)用一些小的結(jié)點(diǎn),就可以組合成龐大的軟件系統(tǒng)。各個(gè)結(jié)點(diǎn)共享整個(gè)系統(tǒng)的一個(gè)共同視圖,而系統(tǒng)結(jié)點(diǎn)則分布各地;(2)每一個(gè)結(jié)點(diǎn)都比較簡(jiǎn)單,并只通過(guò)少數(shù)界面與其他結(jié)點(diǎn)通訊;(3)體系結(jié)構(gòu)非常靈活,沒(méi)有中央集權(quán),各結(jié)點(diǎn)或樞紐在本地有很強(qiáng)的控制力。 缺點(diǎn)包括:(1)聚合不一定是最好的網(wǎng)絡(luò)結(jié)構(gòu),消息傳播要經(jīng)過(guò)多個(gè)結(jié)點(diǎn),速度受到缺點(diǎn);(2)聚合容易由于某一點(diǎn)聯(lián)絡(luò)中斷,而引起大面積網(wǎng)絡(luò)通訊失靈;(3)假如各結(jié)點(diǎn)不完全相同,而數(shù)目又很多,保養(yǎng)維修的工作量就很大。,體系結(jié)構(gòu)中出現(xiàn)的結(jié)點(diǎn)類(lèi)和連接器類(lèi),過(guò)程處理系統(tǒng)的體系結(jié)構(gòu)模式,多級(jí)系統(tǒng)的體系結(jié)構(gòu)模式,聚合和聯(lián)邦系統(tǒng)的體系結(jié)構(gòu)模式,代理系統(tǒng)的體系結(jié)構(gòu)模式

10、,要點(diǎn),軟件的體系結(jié)構(gòu)(Architecture)是系統(tǒng)實(shí)施的抽象描述,它概括了整體系統(tǒng)結(jié)構(gòu)、功能部件分解、部件的本質(zhì)和特性、部件的界面和之間的通訊協(xié)議和整體性布局策略及法則。良好的軟件系統(tǒng),必須有合理健全、內(nèi)在一致的體系結(jié)構(gòu)。 面向?qū)ο蟮捏w系結(jié)構(gòu),與傳統(tǒng)體系結(jié)構(gòu)有所不同。它強(qiáng)調(diào)分布式對(duì)象的分配、部件及其界面、持久對(duì)象和面向?qū)ο笸ㄓ嵎椒ā?要點(diǎn),軟件體系結(jié)構(gòu)有多種模式,必須對(duì)癥下藥,按照實(shí)際要求和限制,選擇合適的一種。 面向?qū)ο篌w系結(jié)構(gòu)的通用模式可以:(1)把某一體系結(jié)構(gòu)的總體性質(zhì)與不同背景的人分享;(2)反復(fù)把體系結(jié)構(gòu)的架構(gòu)和模式,應(yīng)用在不同系統(tǒng)和環(huán)境;(3)比較不同的體系結(jié)構(gòu),根據(jù)其長(zhǎng)短處

11、,作出總體性的決策。,相關(guān)系統(tǒng)分析員論文題目,論軟件的選用和二次開(kāi)發(fā)(1993) 論自由軟件的合理使用(2003),相關(guān)世界軟件工程大會(huì)論文,Feature oriented refactoring of legacy applications A quality-driven systematic approach for architecting distributed software applications Precise Modeling of Design Patterns in UML A case study of open source software developmen

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論