亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
打印 上一主題 下一主題

首席架構(gòu)師汪洋坐鎮(zhèn),歡迎大伙提問。很浖軜(gòu)連載討論之一:正確認(rèn)識(shí)軟件架構(gòu) [復(fù)制鏈接]

論壇徽章:
0
11 [報(bào)告]
發(fā)表于 2011-10-13 09:21 |只看該作者
回復(fù) 11# snow888


    說的到點(diǎn)子上了。這樣說吧,

首先,讓我們來看看架構(gòu)的一個(gè)定義:
軟件架構(gòu)是對(duì)系統(tǒng)的高層視角,或者是對(duì)系統(tǒng)的抽象。它關(guān)注某些對(duì)完成這個(gè)系統(tǒng)有著最大幫助的方面,例如:可用性、穩(wěn)定性,以及靈活性。同時(shí),架構(gòu)對(duì)如何達(dá)到這些目的給出了指導(dǎo)和約束。

如果要用最簡(jiǎn)單的方式來理解上面的定義,可以這樣說:軟件架構(gòu)就是軟件系統(tǒng)的一張藍(lán)圖。

下面我們用一個(gè)比較淺顯的類比來說明這個(gè)“藍(lán)圖”的含義。

相信大家對(duì)冶金行業(yè)中的“澆筑”或多或少有一些了解。澆筑就是把液體材料倒在一個(gè)有著特定形狀的沙模中,然后等液體冷卻之后得到想要的產(chǎn)品或特定形狀材料的過程。在這個(gè)過程中,盛放液體的沙模引導(dǎo)著液體慢慢成形,最后得到我們預(yù)想的結(jié)果。

其中,有一點(diǎn)我們要注意就是,沙模的特性(比如形狀和大。┖偷谷肫渲械囊后w是沒有任何聯(lián)系的,換句話說:沙模和液體是完全分離的,但是沙模又必須和液體在一起才能生產(chǎn)出所要的產(chǎn)品。

架構(gòu)就好比上面例子中的沙模,軟件項(xiàng)目就好比用于澆筑的液體。正如澆筑一樣,架構(gòu)引導(dǎo)著項(xiàng)目,最后得到我們想要的結(jié)果。同時(shí),我們也可以得出:軟件的架構(gòu)和實(shí)現(xiàn)這個(gè)系統(tǒng)的代碼是沒有很嚴(yán)格的關(guān)系的,這也就是我們常說的架構(gòu)是平臺(tái)無關(guān)的。架構(gòu)確保開發(fā)的過程在一定的限制或規(guī)則下進(jìn)行。
沙模沒有澆筑液體的存在,基本就沒有任何作用;架構(gòu)也是立足項(xiàng)目的特定需求來設(shè)計(jì)的!

論壇徽章:
0
12 [報(bào)告]
發(fā)表于 2011-10-13 09:22 |只看該作者
正如之前所說,架構(gòu)和設(shè)計(jì)是兩個(gè)不同的概念,它們也出現(xiàn)在不同的階段。當(dāng)軟件系統(tǒng)的架構(gòu)確定之后,設(shè)計(jì)就開始了。

架構(gòu)與系統(tǒng)的業(yè)務(wù)需求往往是緊密聯(lián)系的,理論上來說,架構(gòu)不是很關(guān)注系統(tǒng)最后搭建在哪個(gè)技術(shù)平臺(tái)上(例如:或是J2EE上,或是.NET上),但實(shí)際上,很多時(shí)候我們?cè)诳紤]架構(gòu)創(chuàng)建的同時(shí),也考慮了系統(tǒng)將要運(yùn)行的技術(shù)平臺(tái)。

設(shè)計(jì)是與系統(tǒng)的實(shí)現(xiàn)相關(guān)的。設(shè)計(jì)將架構(gòu)所關(guān)注的那些高層抽象的需求與具體的技術(shù)實(shí)現(xiàn)聯(lián)系起來,從而考慮如何實(shí)現(xiàn)系統(tǒng)所需要的穩(wěn)定性、安全性。更加細(xì)節(jié)的如,考慮采用哪種模式等。在設(shè)計(jì)階段,還要決定在以后開發(fā)的過程中應(yīng)采用哪種實(shí)現(xiàn)方法論進(jìn)行開發(fā)(例如,是TDD,還是DDD或是BDD等)。

論壇徽章:
0
13 [報(bào)告]
發(fā)表于 2011-10-13 09:23 |只看該作者
采用一張圖來說明架構(gòu)和設(shè)計(jì)的相互關(guān)系,如圖所示:
如圖所示,業(yè)務(wù)需求是系統(tǒng)架構(gòu)的決定性因素,軟件設(shè)計(jì)和開發(fā)在架構(gòu)確定之后開始進(jìn)行,而開發(fā)過程又是在設(shè)計(jì)的基礎(chǔ)上進(jìn)行的。

論壇徽章:
0
14 [報(bào)告]
發(fā)表于 2011-10-13 09:27 |只看該作者
架構(gòu)師在創(chuàng)建架構(gòu)的時(shí)候,首先必須理解系統(tǒng)的高層需求,然后做出相應(yīng)的設(shè)計(jì)決定。例如,如果需要為一個(gè)SNS站點(diǎn)增加郵件群發(fā)系統(tǒng),架構(gòu)師在創(chuàng)建郵件系統(tǒng)的架構(gòu)之前首先會(huì)關(guān)注以下幾點(diǎn):
        郵件系統(tǒng)將會(huì)運(yùn)行在哪里?部署托管的環(huán)境是什么?托管環(huán)境有什么技術(shù)限制?
        發(fā)送的郵件是否需要數(shù)據(jù)保護(hù)?
        每天或每小時(shí)內(nèi)發(fā)送多少封郵件?
        系統(tǒng)給用戶發(fā)送郵件的頻率是多大?
        郵件是否允許帶附件?附件的大小、格式是否有限制?
        這個(gè)郵件系統(tǒng)是否需要擴(kuò)展或重用(例如,其他站點(diǎn)或公司是否也會(huì)采用這個(gè)郵件系統(tǒng))?
然后架構(gòu)師在這些問題及一些其他的問題的基礎(chǔ)上給出每個(gè)問題的答案,這樣就可以根據(jù)答案畫出系統(tǒng)架構(gòu)的草圖了。從而可以得出:架構(gòu)的關(guān)注點(diǎn)不是在功能的細(xì)節(jié)上面,而是在于系統(tǒng)所要達(dá)到的目標(biāo)及與這些目標(biāo)相關(guān)的需求上。

論壇徽章:
0
15 [報(bào)告]
發(fā)表于 2011-10-13 09:28 |只看該作者
當(dāng)架構(gòu)師了解這些關(guān)注點(diǎn)之后,接下來就要考慮折中的辦法。
例如,對(duì)信息的加密會(huì)使得安全性提高,但是也會(huì)損耗一定的性能;利用配置文件的方式確實(shí)可以增加系統(tǒng)的靈活性,但是會(huì)降低可用性;在使用配置文件的時(shí)候,是采用標(biāo)準(zhǔn)的XML還是自己定義格式;系統(tǒng)如何進(jìn)行部署才能兼顧性能和最低的成本,等等。

架構(gòu)師還需要理解這些關(guān)注點(diǎn)和它們之間的約束關(guān)系,然后和利益相關(guān)人商量、協(xié)作,為這些關(guān)注點(diǎn)排列優(yōu)先級(jí),最后在給出的架構(gòu)中體現(xiàn)這些關(guān)注點(diǎn)。為了達(dá)到各方面的平衡,架構(gòu)師常常要和不同的部門及人進(jìn)行溝通,然后采用權(quán)衡策略,所以架構(gòu)師不是只懂得技術(shù)就可以了的。

論壇徽章:
0
16 [報(bào)告]
發(fā)表于 2011-10-13 09:43 |只看該作者
高手

論壇徽章:
0
17 [報(bào)告]
發(fā)表于 2011-10-13 09:43 |只看該作者
這個(gè)話題還有很多地方可以深入進(jìn)去,朋友們可以就我和一些論壇里面朋友的帖子發(fā)表意見,也可以發(fā)表自己的看法!

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
18 [報(bào)告]
發(fā)表于 2011-10-13 09:56 |只看該作者
采用一張圖來說明架構(gòu)和設(shè)計(jì)的相互關(guān)系,如圖所示:
如圖所示,業(yè)務(wù)需求是系統(tǒng)架構(gòu)的決定性因素,軟件設(shè)計(jì) ...
yanyangtian4502 發(fā)表于 2011-10-13 09:23



    嗯,就是這張圖的關(guān)系,其實(shí)空搬書本的談?wù)摷軜?gòu),就是俺們倆說了,也未必能讓所有的人都清楚架構(gòu)究竟是咋回事。

我們用一個(gè)簡(jiǎn)單的軟件開發(fā)例子來說說:假設(shè)我們需要為國際連鎖沃爾瑪開發(fā)一套系統(tǒng),當(dāng)然,由于我們僅僅是為了講清楚啥子是架構(gòu),啥子是架構(gòu)設(shè)計(jì),這個(gè)系統(tǒng)我們力求簡(jiǎn)單,僅考慮如下幾個(gè)方面的需求。

業(yè)務(wù)運(yùn)營系統(tǒng)、物流調(diào)度系統(tǒng)、會(huì)計(jì)核算系統(tǒng)、報(bào)表分析系統(tǒng)這四個(gè)小得部分,我們不考慮實(shí)現(xiàn)完整的一個(gè)沃爾瑪?shù)南到y(tǒng)。僅從以上四個(gè)方面來考慮。

首先,業(yè)務(wù)運(yùn)營系統(tǒng)為了簡(jiǎn)化起見,我們把網(wǎng)絡(luò)購物系統(tǒng)從業(yè)務(wù)運(yùn)營系統(tǒng)中分開,這里的業(yè)務(wù)運(yùn)營系統(tǒng)僅包含超市的運(yùn)營系統(tǒng),很顯然,由于超市收費(fèi)系統(tǒng)是高效率的運(yùn)轉(zhuǎn)的實(shí)時(shí)系統(tǒng),通過很多的系統(tǒng)模擬與測(cè)試,這樣的模型以C/S架構(gòu)更為穩(wěn)定與合理,同時(shí)從輸入的角度上來說,這樣的架構(gòu)模型,輸入效率更高。輸入界面采用字符控制臺(tái)界面更符合操作習(xí)慣(我們很難想象,在收費(fèi)的時(shí)候,手不停的在鍵盤、讀碼器、鼠標(biāo)間切換,輸入效率會(huì)很高)

那么我們?cè)賮砜纯,物流調(diào)度系統(tǒng),主要是及時(shí)掌握各超市的商品銷售信息,及時(shí)進(jìn)行商品采購和在各超市之間的調(diào)度,這樣的系統(tǒng)至少需要考慮城域網(wǎng)的范圍,出于從成本考慮,可采用 Inter 網(wǎng),這樣由于地域范圍較大,且為了適應(yīng)不同的客戶端環(huán)境(有 WinXP、Win Vista、Win7 甚至可能有 ubuntu 等不同環(huán)境),很顯然,為減少開發(fā)成本,同時(shí)為提高系統(tǒng)的安全性和適用性,我們可采用 B/S 架構(gòu),采用 java + js 語言開進(jìn)行開發(fā),同時(shí)從系統(tǒng)安全性考慮,我們可選擇中間層隔離并加裝防火墻設(shè)備等,Brow 層不直接與數(shù)據(jù)庫交互,后臺(tái)采用交易響應(yīng)機(jī)制,C 語言編寫,同時(shí)考慮到物流調(diào)度,因此需要引入工作流(有關(guān)工作流如何與本系統(tǒng)集成,此處暫不做展開,我們主要是講清楚哪些是架構(gòu),什么架構(gòu)設(shè)計(jì))。

會(huì)計(jì)核算系統(tǒng),同樣是一個(gè)數(shù)據(jù)輸入量不是太大的系統(tǒng),主要用于做會(huì)計(jì)收支方面的賬務(wù)處理(營運(yùn)系統(tǒng)有一部分的會(huì)計(jì)數(shù)據(jù)產(chǎn)生,可直接轉(zhuǎn)入),這方面如果可能,可采用現(xiàn)成的會(huì)計(jì)核軟件,通過其提供的 API 公共接口接入數(shù)據(jù),也可以自行開發(fā)這樣一個(gè)高度整合的會(huì)計(jì)核算系統(tǒng),這方面采用 C/S 或 B/S 都可以。

最后是報(bào)表分析,由于營運(yùn)系統(tǒng)需要報(bào)表分析,各分銷商需要報(bào)表分析,總部也需要報(bào)表分析,且多數(shù)情況下需要進(jìn)行信息的交流與融通,與物流調(diào)度系統(tǒng)一樣,這部分同樣需要采用 B/S 方式,其大致組成方式也與物流調(diào)度相仿。

以上這些模型在軟件項(xiàng)目中就是架構(gòu),而形成這些組成模型,并將其形成書面的資料的過程,就是架構(gòu)設(shè)計(jì)了。

論壇徽章:
6
丑牛
日期:2013-09-17 00:18:40未羊
日期:2013-10-31 12:10:47午馬
日期:2013-12-07 01:58:50水瓶座
日期:2013-12-24 22:43:12水瓶座
日期:2014-03-15 21:12:13操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-08-07 06:20:00
19 [報(bào)告]
發(fā)表于 2011-10-13 09:56 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
20 [報(bào)告]
發(fā)表于 2011-10-13 10:01 |只看該作者
當(dāng)然,上述四個(gè)系統(tǒng)需要整合在一個(gè)平臺(tái)內(nèi),這同樣有一個(gè)系統(tǒng)安全性與中間層隔離的問題。

同樣,由于越到上層,數(shù)據(jù)量越大,因此在服務(wù)器端,可考慮專用的系統(tǒng)如 HP-UX ,和專用的小型機(jī)等。而各分銷商和超市,由于數(shù)據(jù)量較小,可采用 Linux 和 PC Server 服務(wù)器等支撐,那么這不同的系統(tǒng)間的數(shù)據(jù)傳輸與交互方式,也是架構(gòu)的一個(gè)組成部分,而思考這個(gè)部分的過程,就是架構(gòu)設(shè)計(jì)了。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP