


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、系統(tǒng)設(shè)計與架構(gòu)摘要影響軟件生命周期的因素很多,不過究其根本,最主要的因素還是取決于軟件的系統(tǒng)設(shè) 計與架構(gòu)。軟件設(shè)計和軟件架構(gòu)是軟件項(xiàng)目中的兩個過程,這兩個過程并不完全無關(guān),軟件 架構(gòu)是包含在軟件設(shè)計里的。理解這兩各部分,對于一個軟件開發(fā)人員來說,是很重要的。正文本文將會從三個方面描述有關(guān)系統(tǒng)設(shè)計與架構(gòu)的內(nèi)容:第一部分是系統(tǒng)設(shè)計;第二部分 是系統(tǒng)架構(gòu)、第三部分是面向服務(wù)架構(gòu)。最后一部分是自己的心得體會。系統(tǒng)設(shè)計軟件設(shè)計是軟件開發(fā)前的代碼計劃,是將需求轉(zhuǎn)變?yōu)榇a的抽象過程,在這個過程中要 完成模塊劃分、對象抽象、程序流程、算法、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫設(shè)計這六個部分。模塊劃分 就是根據(jù)需求將軟件系統(tǒng)劃分成
2、模塊的過程;對象抽象就是依據(jù)功能,完成過程抽象、邏輯 抽象、實(shí)體的抽象,是對某一功能的執(zhí)行過程的抽象;程序流程就是訪問一項(xiàng)功能的邏輯過 程,或者訪問一類功能的邏輯過程;算法就是設(shè)計出編程開發(fā)時需要用到的偽代碼;數(shù)據(jù)結(jié) 構(gòu)與算法相關(guān),是選擇數(shù)據(jù)存儲類型的一個數(shù)據(jù)方式;數(shù)據(jù)庫設(shè)計是為了保證數(shù)據(jù)之間的關(guān) 聯(lián)性等。軟件設(shè)計的原則主要有9點(diǎn),即簡約性;前瞻性、可擴(kuò)展性;一致性;統(tǒng)一性和可重用 性;高性能;易維護(hù);穩(wěn)定性;低耦合、高內(nèi)聚、模塊化;安全性。這幾個特點(diǎn),從字面意 思來看,就可以知道其大致的含義,本文不會逐一進(jìn)行詳細(xì)的介紹,只簡略介紹下低耦合、 高內(nèi)聚、模塊化這一原則。耦合是指對象、組件之間的依
3、賴性,低耦合性就是要降低對象、 組件之間的依賴性;內(nèi)聚就是一個對象、組件對功能的集成,高內(nèi)聚就是要求提高對象、組 建的功能集成度;一組具有相關(guān)性的對象、組件組合在一起就可以看做一個模塊,一個模塊 通常能獨(dú)立完成相應(yīng)的功能,一組具有相關(guān)性的模塊還可以組成更大的模塊,模塊組合在一 起就形成了系統(tǒng)。這三者的關(guān)系就像是一個房子,每一個房間都是一個模塊,模塊與模塊間 之存在低耦合性,但是又有內(nèi)聚性,并不能完全獨(dú)立存在。此外,本文也簡略介紹下設(shè)計模式,設(shè)計模式是建立在“語言”基礎(chǔ)之上的,為完成軟 件系統(tǒng)中某項(xiàng)任務(wù)而采用的一種程序方案。分為創(chuàng)建模式、結(jié)構(gòu)模式、行為模式三大塊。創(chuàng) 建模式包括工廠模式、單例模式
4、、建造模式和原型模式;結(jié)構(gòu)模式包括門面模式、裝飾模式、 合成模式、代理模式、適配器模式、橋梁模式和共享元類模式;行為模式包括責(zé)任鏈模式、 命令模式、策略模式、觀察者模式、解釋器模式、迭代模式、中介模式、備忘錄模式、狀態(tài) 模式、模板模式和訪問者模式。這些模式有著其固有的特點(diǎn),但是并不是對于所有的設(shè)計都 是試用的,需要根據(jù)不同的設(shè)計來選擇不同的模式。企業(yè)系統(tǒng)架構(gòu)軟件架構(gòu)并沒有具體的定義,本文認(rèn)為軟件架構(gòu)就像是小時候玩的積木一樣,先搭好一 個框架,然后根據(jù)該框架完善自己所需要的模型,當(dāng)然這個框架并不是完善的,有些時候能 夠搭起來一個很漂亮的模型,有時候卻需要從頭開始重新搭建。一般而言,一個軟件架構(gòu)是
5、 一項(xiàng)基于正確的軟件需求分析下的軟件基礎(chǔ)設(shè)計工作,包括:確定軟件系統(tǒng)的采用的技術(shù)體 系、確定軟件系統(tǒng)的構(gòu)成組件、確定組建組織方式,選擇和設(shè)計這些組件之間的通信和數(shù)據(jù) 交換方式、確定這些組件的運(yùn)行環(huán)境及在這些環(huán)境中的部署方式、確定這些組件與外部系統(tǒng) 的通信和數(shù)據(jù)交換方式、確定這些組件的硬件環(huán)境以及在硬件系統(tǒng)上的部署方式、定義軟件 系統(tǒng)的性能和效率。從事軟件架構(gòu)并不是一件容易的事兒,首先它需要所從事者有扎實(shí)的軟件開發(fā)基礎(chǔ)知 識,因?yàn)榧軜?gòu)是建立在一個知識體系基礎(chǔ)之上的工作,對于一個沒有軟件開發(fā)技術(shù)知識的人 來說,一開始就做軟件架構(gòu)是一件異常痛苦的事兒;其次還需要基本的網(wǎng)絡(luò)知識,現(xiàn)在的項(xiàng) 目已經(jīng)不再單
6、純是單機(jī)版的或者是獨(dú)立系統(tǒng),而是與網(wǎng)絡(luò)相連的,所以很好的網(wǎng)絡(luò)知識對于 一個架構(gòu)師而言也是很重要的;再者,基本系統(tǒng)知識,像操作系統(tǒng)、數(shù)據(jù)儲存、數(shù)據(jù)庫、互 聯(lián)網(wǎng)應(yīng)用、系統(tǒng)安全、硬件的各方面知識,對一個架構(gòu)師而言,雖不需要熟練掌握,但是一 定的了解還是必須的。掌握了一些基礎(chǔ)的知識后,還是不能成為一個好的架構(gòu)師。如何成為一個好的架構(gòu)師, 還需要擁有以下幾點(diǎn)。第一,了解軟件行業(yè)的技術(shù)發(fā)展?fàn)顩r,軟件技術(shù)一直在不斷的發(fā)展,技術(shù)日新月異,對 于一個從事軟件技術(shù)的工作人員來說,不光要形成一個知識體系,還要跟上技術(shù)的發(fā)展,不 斷更新自己的知識。一個好的技術(shù)人員要給自己規(guī)劃一個技術(shù)領(lǐng)域,并對領(lǐng)域內(nèi)的基礎(chǔ)技術(shù) 非常精
7、通,對于領(lǐng)域內(nèi)的相關(guān)技術(shù)要非常了解,對于領(lǐng)域外的軟件知識也要有所了解。第二,豐富的實(shí)踐經(jīng)驗(yàn)和專業(yè)領(lǐng)域的知識,對于系統(tǒng)架構(gòu)來說,技術(shù)從業(yè)經(jīng)驗(yàn)是非常重 要的,大量的代碼開發(fā)和設(shè)計有助于理解一個軟件系統(tǒng)的構(gòu)成,只有從事過大量的開發(fā)和設(shè) 計工作才善于產(chǎn)品化,才能夠?qū)σ粋€軟件系統(tǒng)負(fù)責(zé)。對于結(jié)構(gòu)師來說,是離不開經(jīng)驗(yàn)和專業(yè) 知識的。一個剛進(jìn)入軟件行業(yè)的技術(shù)人員可以通過適當(dāng)?shù)膷徫涣鲃觼矸e累和豐富自己的領(lǐng)域 知識,而對于一個處在成熟期的軟件技術(shù)從業(yè)者來說,應(yīng)該在一個適合的領(lǐng)域長期積累,這 樣才會有深入的發(fā)展。面向服務(wù)架構(gòu)本文將描述面向服務(wù)構(gòu)架即SOA的特點(diǎn),不會具體介紹SOA架構(gòu)的具體過程。SOA 有著九大特性
8、,分別為:SOA是一種架構(gòu)模型,與實(shí)現(xiàn)技術(shù)和系統(tǒng)無關(guān);是一種開放式架 構(gòu);是基于組件技術(shù)的架構(gòu);松散耦合;粗粒度;無狀態(tài);易于異構(gòu)系統(tǒng)的整合;易于信息 的集中控制;易于原有系統(tǒng)的重用。由于SOA具有技術(shù)平臺無關(guān)性,這使得很多系統(tǒng)架構(gòu) 者選擇它的主要原因之一。除此之外,系統(tǒng)架構(gòu)師選擇SOA的原因還有以下幾點(diǎn):1、企業(yè)系統(tǒng)越來越復(fù)雜,如果面對復(fù)雜的系統(tǒng)不能簡化問題,那企業(yè)的信息系統(tǒng)將陷 入混亂之中。SOA正是一個可以使復(fù)雜系統(tǒng)變得簡單的架構(gòu)理念。2、企業(yè)對信息的需求是隨需而變的,如果沒有一個靈活的系統(tǒng)能夠應(yīng)付這種隨時發(fā)生 的需求,企業(yè)的信息部門同樣要疲于奔命。SOA開放式的服務(wù)接口可以使信息組合變
9、得容 易,更容易應(yīng)付這種隨時發(fā)生的需求變更。3、電子商務(wù)已經(jīng)深入到了很多企業(yè)中,電子商務(wù)的特點(diǎn)就是要提供“服務(wù)”,SOA的 理念切合了電子商務(wù)的這個特點(diǎn)。4、一個企業(yè)的信息系統(tǒng)可能是不同技術(shù)平臺搭建起來的信息環(huán)境,信息存在于各個系 統(tǒng)之中,信息整合成為企業(yè)信息部門的重任。SOA的簡單性、技術(shù)無關(guān)性和開放性很適合 信息系統(tǒng)的整合。5、構(gòu)造一個開放式的新系統(tǒng),面向未來是一個信息系統(tǒng)需要考慮的問題,一個開放式 的系統(tǒng)能夠面對將來更好的問題,SOA正是這樣一種開放的體系架構(gòu)。這些特點(diǎn)使得SOA在企業(yè)或是軟件開發(fā)者中較受歡迎的主要原因。個人的心得體會自己目前學(xué)的專業(yè)是軟件開發(fā),我有一個屬于自己的小的職業(yè)規(guī)劃,可能也稱不上職業(yè) 規(guī)劃,就是自己對于未來自己所需從事的工作的一個小的定位罷了。作為一個女生,我不可 能一直從事軟件開發(fā)。我想先從事幾年的軟件開發(fā),然后再做軟件測試,這是我之前的想法, 并沒有很具體的定位。讀研后,我發(fā)現(xiàn)自己想從事的工作有了一點(diǎn)變化,我并不想做編碼這 部分工作,而是想做設(shè)計或者架構(gòu)這部分的工作,我希望自己能夠?qū)σ粋€系統(tǒng)有一個好的構(gòu) 思,但是這
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 買車轉(zhuǎn)訂金合同范本
- 體育訂購合同范本
- 下學(xué)期安全工作總結(jié)
- 分期貸款正規(guī)合同范本
- 三年級班主任工作計劃
- 中醫(yī)基礎(chǔ)學(xué)模擬考試題含參考答案
- 廚房維修合同范本模板
- 產(chǎn)業(yè)調(diào)研合同范本
- 單位安裝鍋爐合同范例
- 廠車出租合同范本
- 2025年版護(hù)理法律法規(guī)
- DB3305T 261-2023 湖州湖羊種羊等級評定
- 房屋市政工程生產(chǎn)安全重大事故隱患排查表(2024版)
- 《心力衰竭護(hù)理》課件
- 2024年牡丹江大學(xué)單招職業(yè)適應(yīng)性測試題庫帶答案
- 2025江蘇連云港市贛榆城市建設(shè)發(fā)展集團(tuán)限公司招聘人員暫時高頻重點(diǎn)提升(共500題)附帶答案詳解
- 內(nèi)保單位培訓(xùn)
- 客戶服務(wù)部崗位手冊
- 統(tǒng)編版(2024新版)七年級下冊道德與法治期末復(fù)習(xí)背誦知識點(diǎn)提綱
- 健康體檢報告解讀頁課件
- 火電工程達(dá)標(biāo)投產(chǎn)考核標(biāo)準(zhǔn)(2024版)
評論
0/150
提交評論