系統(tǒng)架構(gòu)是一個(gè)極具彈性的概念,實(shí)際上就是對(duì)軟件開(kāi)發(fā)流程的規(guī)劃。中培偉業(yè)《詳細(xì)設(shè)計(jì)與系統(tǒng)架構(gòu)最佳實(shí)踐》程老師指出,系統(tǒng)架構(gòu)是對(duì)已確定的需求的技術(shù)實(shí)現(xiàn)構(gòu)架、作好規(guī)劃,運(yùn)用成套、完整的工具,在規(guī)劃的步驟下去完成任務(wù)。軟件開(kāi)發(fā)作為一個(gè)復(fù)雜和系統(tǒng)的工程,事前做好系統(tǒng)架構(gòu), 是做好開(kāi)發(fā)的前提。
但如何進(jìn)行架構(gòu)設(shè)計(jì)?是否有可借鑒的設(shè)計(jì)原則和方法呢?陳老師進(jìn)一步從通用架構(gòu)、業(yè)務(wù)邏輯、技術(shù)、信息與數(shù)據(jù)、管理、發(fā)展趨勢(shì)、安全性、測(cè)試等8方面探討了在進(jìn)行系統(tǒng)架構(gòu)設(shè)計(jì)時(shí)需要考慮的問(wèn)題。程老師除了一些軟件工程中經(jīng)常提到的保持易用性、可擴(kuò)展性、安全性、可測(cè)試性等一般原則之外,他對(duì)某些問(wèn)題的強(qiáng)調(diào)值得系統(tǒng)架構(gòu)設(shè)計(jì)人員深思。
作為行業(yè)內(nèi)的資深專(zhuān)家,對(duì)系統(tǒng)架構(gòu)方面應(yīng)該注意的問(wèn)題,程老師也有自己的獨(dú)到的見(jiàn)解,他從4個(gè)方面對(duì)系統(tǒng)架構(gòu)應(yīng)該注意的問(wèn)題發(fā)表了自己的看法。
1. 在通用架構(gòu)方面
充分重視非功能性需求非功能性需求應(yīng)該與功能性需求一樣進(jìn)行認(rèn)真地設(shè)計(jì)、開(kāi)發(fā)、測(cè)試和管理。無(wú)論在何處訪(fǎng)問(wèn),以IT系統(tǒng)架構(gòu)為基礎(chǔ)的應(yīng)用應(yīng)該能夠提供一個(gè)與業(yè)務(wù)流程集成的一致視圖。
2. 在業(yè)務(wù)邏輯方面
在一個(gè)業(yè)務(wù)系統(tǒng)的生命周期內(nèi),其穩(wěn)定性很大程度上取決是所采用的技術(shù)是否是可控、可管理的。開(kāi)發(fā)人員總是喜歡嘗試新技術(shù)的,但新技術(shù)能否融合入這個(gè)業(yè)務(wù)系統(tǒng)之中,則需要認(rèn)真評(píng)估。
3. 在發(fā)展趨勢(shì)方面
盡可能采用業(yè)界成熟的開(kāi)放標(biāo)準(zhǔn),在自己試圖定義某些協(xié)議之前,最好現(xiàn)考察一下是否有現(xiàn)成的協(xié)議可用。以前在開(kāi)發(fā)一些智能控制產(chǎn)品時(shí),我們采用了RS485串行總線(xiàn),但由于RS485是底層協(xié)議,于是我們自己定義了一套上層通信協(xié)議,而事實(shí)證明這種做法很值得商榷。
4. 在安全性方面
根據(jù)業(yè)務(wù)目標(biāo),風(fēng)險(xiǎn)與安全性之間應(yīng)該達(dá)到一種平衡:不為無(wú)謂的風(fēng)險(xiǎn)強(qiáng)化安全性,也不為實(shí)在的風(fēng)險(xiǎn)弱化安全性。系統(tǒng)安全程度與系統(tǒng)構(gòu)建維護(hù)成本總是成正比,在系統(tǒng)設(shè)計(jì)時(shí)就需要考慮如何達(dá)到一種適度的安全。