




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)指是數(shù)據(jù)之間相互關(guān)系,即數(shù)據(jù)組織形式。數(shù)據(jù)結(jié)構(gòu)是計算機存放、組織數(shù)據(jù)方法。數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多個特定關(guān)系數(shù)據(jù)元素集合。通常情況下,精心選擇數(shù)據(jù)結(jié)構(gòu)能夠帶來更高運行或存放效率。數(shù)據(jù)結(jié)構(gòu)往往同高效檢索算法和索引技術(shù)相關(guān)。我們把數(shù)據(jù)結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫設(shè)計、甚至數(shù)據(jù)文件設(shè)計等統(tǒng)一稱為數(shù)據(jù)模型設(shè)計。在數(shù)據(jù)模型設(shè)計中有一個關(guān)鍵概念:持久數(shù)據(jù)操作,它包含寫入、查詢、更新和刪除四類基礎(chǔ)操作和由它們復(fù)合而成業(yè)務(wù)數(shù)據(jù)操作。在很多軟件系統(tǒng)中,數(shù)據(jù)是其關(guān)鍵,所以,對數(shù)據(jù)元素格式、結(jié)構(gòu)、訪存、表示等機制進行良好建模和優(yōu)化,是提升軟件設(shè)計質(zhì)量和系統(tǒng)性能基礎(chǔ),對軟件系統(tǒng)應(yīng)用含相關(guān)鍵意義。面向組件設(shè)計面向組件思想是在軟件規(guī)模擴大,復(fù)雜度上升背景下,以面向?qū)ο鬄榛A(chǔ)而提出一個軟件設(shè)計思想。能夠把它了解為一個更粗粒度面向?qū)ο?,其粒度通常大于對象,但具體要到什么程度,又能夠依據(jù)實際情況來決定。這種思想以組件為基礎(chǔ),強調(diào)“服務(wù)”概念。在面向組件開發(fā)中,應(yīng)用程序是由一系列能夠相互交互二進制模塊組合而成。一個具體二進制組件可能并不能完成什么工作。有些組件是為了提供部分常規(guī)服務(wù)而編寫,比如通信封裝或文件訪問組件。也有部分是為了一些特定應(yīng)用而專門開發(fā)。一個應(yīng)用程序設(shè)計者能夠經(jīng)過把這些不一樣組件提供功效粘合在一起來實現(xiàn)她們需要商業(yè)邏輯。很多面向組件技術(shù)——比如:COM、J2EE、CORBA和.NET全部為二進制組件提供了無縫鏈接機制。而唯一不一樣就是你需要在組件通信上花費力氣。通常多用于對dll,lib處理上。簡單說,就是QQ、迅雷和IE捆綁起來就叫面向組件。面向組件含有以下特點:低耦合性,高重用性,高互操作性,進程透明性,語言和開發(fā)環(huán)境獨立性軟件體系結(jié)構(gòu)風(fēng)格軟件體系結(jié)構(gòu)風(fēng)格是軟件設(shè)計人員在長久軟件設(shè)計過程中總結(jié)出來部分規(guī)律性東西,經(jīng)過提煉總結(jié)而成。軟件體系結(jié)構(gòu)風(fēng)格是軟件體系結(jié)構(gòu)設(shè)計上模式,所以能夠看作是一個廣義軟件設(shè)計模式,但通常不認為是俠義軟件設(shè)計模式。定義:在構(gòu)件和連接子層次描述可反復(fù)使用軟件設(shè)計問題處理方案。管道/過濾器風(fēng)格:一個顯著特征是:系統(tǒng)中構(gòu)件之間經(jīng)過數(shù)據(jù)流松散耦合。也就是說,構(gòu)件之間依靠僅僅是數(shù)據(jù)流,而不是通常接口函數(shù)調(diào)用火消息傳輸。編譯器采取也是管道/過濾器風(fēng)格層次風(fēng)格:這種設(shè)計風(fēng)格便于將復(fù)雜系統(tǒng)進行分解;同時也便于構(gòu)件替換:只要保持接口一致,就能夠?qū)⒛骋粚榆浖鎿Q,而不會影響到系統(tǒng)其它部分。層次風(fēng)格優(yōu)點是結(jié)構(gòu)清楚、可替換性好、便于控制復(fù)雜性;但也有缺點,如效率低。用戶/服務(wù)器風(fēng)格:從向外提供服務(wù)構(gòu)件出發(fā),沿著連接關(guān)系遞次搜索各構(gòu)件和連接子,假如形成拓撲結(jié)構(gòu)是一棵倒置樹,那么這個系統(tǒng)體系結(jié)構(gòu)就是用戶/服務(wù)器風(fēng)格,這種風(fēng)格使得服務(wù)功效實現(xiàn)很集中,便于系統(tǒng)實現(xiàn),所以得到廣泛使用。軟件開發(fā)過程模型軟件生存周期包含了軟件從概念形成到最終退伍全部活動,而對于一個含有軟件項目,開發(fā)人員愈加關(guān)注是開發(fā)過程中包含活動和其具體安排。軟件開發(fā)是一個復(fù)雜過程,尤其是在多數(shù)項目開發(fā)中,不能一次就全部、正確地生成需求規(guī)格說明,所以軟件開發(fā)各個階段之間關(guān)系極少是嚴格線性次序,相反應(yīng)該是帶有反饋迭代過程。這種對軟件開發(fā)中對所含活動安排方法,能夠用軟件開發(fā)過程模型表示。它給出了軟件開發(fā)中各個活動之間關(guān)系,它是軟件開發(fā)過程概括,是軟件工程關(guān)鍵內(nèi)容。它能為軟件工程管理提供里程碑和進度表,為軟件開發(fā)過程提供標(biāo)準和方法。經(jīng)典軟件開發(fā)模型大致可分為三種類型:第一個是以軟件需求完全確定為前提瀑布模型;第二種是在軟件開發(fā)初始階段只能提供基礎(chǔ)需求時采取漸進式開發(fā)模型,如原型模型、螺旋模型等;第三種是以形式化開發(fā)方法為基礎(chǔ)變換模型。軟件體系結(jié)構(gòu)和算法結(jié)構(gòu)區(qū)分和聯(lián)絡(luò)軟件體系結(jié)構(gòu)是軟件系統(tǒng)結(jié)構(gòu),包含軟件元素、軟件元素外部可見屬性和這些軟件元素之間關(guān)系。軟件體系結(jié)構(gòu)是軟件系統(tǒng)基礎(chǔ)組織,包含構(gòu)件、構(gòu)件之間、構(gòu)件和環(huán)境之間關(guān)系,和相關(guān)設(shè)計和演化標(biāo)準。軟件體系結(jié)構(gòu)風(fēng)格(style)描述某一特定領(lǐng)域中系統(tǒng)組織方法常見模式,反應(yīng)了領(lǐng)域中眾多系統(tǒng)所共有結(jié)構(gòu)和語義特征。算法結(jié)構(gòu)三種結(jié)構(gòu)次序結(jié)構(gòu):按從上到下次序進行。選擇結(jié)構(gòu):先依據(jù)條件作出判定,再決定實施哪一個操作,必需包含判定框。循環(huán)結(jié)構(gòu):從某處開始,根據(jù)一定條件,反復(fù)實施某一處理步驟,有兩類:直到和當(dāng)型循環(huán)結(jié)構(gòu)。軟件開發(fā)過程模型和軟件文檔模型區(qū)分和聯(lián)絡(luò)軟件生命周期包含了軟件從概念形成到最終退伍全部活動,而對于一個具體軟件項目,開發(fā)人員愈加關(guān)注是開發(fā)過程中包含活動和其具體安排。軟件開發(fā)過程模型給出了軟件開發(fā)中各個活動之間關(guān)系,它是軟件開發(fā)過程概括,是軟件工程關(guān)鍵內(nèi)容。能為軟件工程管理提供里程碑和進度表,為軟件開發(fā)過程提供標(biāo)準和方法軟件開發(fā)過程模型關(guān)鍵有:
瀑布模型(V模型、噴泉模型)、螺旋模型、原型模型(鋸齒模型、快速原型)、構(gòu)件組裝模型(增量模型)、統(tǒng)一軟件過程RUP模型軟件體系結(jié)構(gòu)風(fēng)格和設(shè)計模式區(qū)分和聯(lián)絡(luò)軟件體系結(jié)構(gòu)風(fēng)格是軟件設(shè)計人員在長久軟件設(shè)計過程中總結(jié)出來部分規(guī)律性東西,經(jīng)過提煉總結(jié)而成。軟件體系結(jié)構(gòu)風(fēng)格是軟件體系結(jié)構(gòu)設(shè)計上模式,所以能夠看作是一個廣義軟件設(shè)計模式,但通常不認為是俠義軟件設(shè)計模式。關(guān)鍵區(qū)分在于:軟件體系結(jié)構(gòu)風(fēng)格描述系統(tǒng)整體結(jié)構(gòu)框架上特點,粒度更大;而軟件設(shè)計模式則愈加面向具體問題,指出是一個在更小粒度上設(shè)計特點。軟件設(shè)計模式和軟件體系結(jié)構(gòu)風(fēng)格全部是可反復(fù)使用軟件設(shè)計問題處理方案,只不過前者描述是類和對象層次問題、粒度大小,以后者描述是構(gòu)件和連接子層次問題、粒度更大。設(shè)計模式是對通用設(shè)計問題反復(fù)處理方案。
軟件體系結(jié)構(gòu)風(fēng)格是描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方法常見模式。
軟件框架是整個或部分系統(tǒng)可重用設(shè)計
模式比框架愈加抽象
框架是模式特例化
設(shè)計模式被實現(xiàn)成為框架后,能夠極大減輕從設(shè)計到實現(xiàn)鴻溝
利用了模式框架比沒有利用模式框架更輕易了解、更能被設(shè)計和實現(xiàn)重用
通常成熟框架包含了多個設(shè)計模式
一個框架不僅能夠具體實現(xiàn)一個模式,還能夠具體實現(xiàn)多個模式
設(shè)計模式和風(fēng)格二者為近義詞,通常情況下能夠相互通用
風(fēng)格關(guān)鍵是指大,宏觀設(shè)計。模式既可宏觀,又可微觀。抽象概念抽象是從眾多事物中抽取出共同、本質(zhì)性特征,而舍棄其非本質(zhì)特征。要抽象,就必需進行比較,沒有比較就無法找到共同部分。
共同特征是指那些能把一類事物和她類事物區(qū)分開來特征,這些含有區(qū)分作用特征又稱本質(zhì)特征。所以抽取事物共同特征就是抽取事物本質(zhì)特征,舍棄不一樣特征。所以抽象過程也是一個裁剪過程,不一樣、非本質(zhì)性特征全部裁剪掉了。
所謂共同特征,是相正確,是指從某一個刻面看是共同。所以在抽象時,同和不一樣,決定于從什么角度上來抽象。抽象角度取決于分析問題目標(biāo)。軟件工程過程中每一步部能夠看作是對軟件處理方法抽象層次一次細化。在進行軟件設(shè)計時,抽象和逐步求精、模塊化親密相關(guān),幫助我們定義軟件結(jié)構(gòu)中模塊實體,由抽象到具體地分析和結(jié)構(gòu)出軟件層次結(jié)構(gòu),提升軟件可了解性“抽象”是一個心理學(xué)概念,它要求大家將注意力集中在某一層次上考慮問題,而忽略那些低層次細節(jié)?!爸鸩角缶笨梢暈橐粋€早期自頂向下設(shè)計策略,其關(guān)鍵思想是,針對某個功效宏觀描述用逐步求精方法不停地分解,逐步確立過程細節(jié),直至該功效用程序語言描述算法實現(xiàn)為止。在軟件設(shè)計過程中,抽象和逐步求精是通常全部是結(jié)合起來進行應(yīng)用。列舉抽象實例假如我們開發(fā)一個系統(tǒng)時需要對職員進行建模,職員包含3個屬性:姓名、工號和工資。經(jīng)理也是職員,除了含有職員屬性外,另外還有一個職員屬性。請使用繼承思想設(shè)計出職員類和經(jīng)理類。要求類中提供必需方法進行屬性訪問。職員類:nameidpay經(jīng)理類:繼承了職員,并有自己特有bonus.abstractclassEmployee{privateStringname;privateStringid;privatedoublepay;Employee(Stringname,Stringid,doublepay){=name;this.id=id;this.pay=pay;}publicabstractvoidwork();}classManagerextendsEmployee{privatedoublebonus;Manager(Stringname,Stringid,doublepay,doublebonus){super(name,id,pay);//注意這里調(diào)用父類結(jié)構(gòu)函數(shù);this.bonus=bonus;}publicvoidwork(){System.out.println("managerwork");}}classemploextendsEmployee{emplo(Stringname,Stringid,doublepay){super(name,id,pay);}publicvoidwork(){System.out.println("employwork");}}classAbDemo{publicstaticvoidmain(String[
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家紡企業(yè)社會責(zé)任報告編寫考核試卷
- 面門出租合同范本
- 電影合同范本4篇
- 煤炭居間費合同范本
- 小學(xué)生頒獎視頻模板課件
- 基于大數(shù)據(jù)的智能種植管理平臺構(gòu)建
- 人才派遣與招聘協(xié)議
- 日常照護培訓(xùn)課件
- 農(nóng)業(yè)生產(chǎn)安全防范指南
- 互聯(lián)網(wǎng)行業(yè)數(shù)據(jù)安全防護策略
- (正式版)FZ∕T 80018-2024 服裝 防靜電性能要求及試驗方法
- 玻璃體腔注藥及圍注射期管理
- 北師大版八年級下冊生物教案全冊
- 技術(shù)學(xué)院各部門廉政風(fēng)險點、防控措施匯編
- JGJ133-2001 金屬與石材幕墻工程技術(shù)規(guī)范
- 穩(wěn)定性冠心病診斷與治療指南
- DL-T5704-2014火力發(fā)電廠熱力設(shè)備及管道保溫防腐施工質(zhì)量驗收規(guī)程
- (高清版)JGT 225-2020 預(yù)應(yīng)力混凝土用金屬波紋管
- JT-T-610-2004公路隧道火災(zāi)報警系統(tǒng)技術(shù)條件
- 初中英語比較級和最高級專項練習(xí)題含答案
- 鑒賞詩歌人物形象市公開課一等獎省賽課微課金獎?wù)n件
評論
0/150
提交評論