自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

架構(gòu)設計之如何寫架構(gòu)設計說明書

開發(fā) 架構(gòu)
架構(gòu)設計是需求分析到軟件實現(xiàn)的橋梁,也是決定軟件質(zhì)量的關(guān)鍵。編制架構(gòu)設計說明書是開發(fā)人員向架構(gòu)師轉(zhuǎn)變必定會經(jīng)歷的過程。在架構(gòu)師整個的成長過程中,必定會經(jīng)歷編制架構(gòu)設計說明書、評審架構(gòu)設計說明書以及根據(jù)業(yè)務需求分析設計系統(tǒng)架構(gòu)的三個過程。

 架構(gòu)設計是需求分析到軟件實現(xiàn)的橋梁,也是決定軟件質(zhì)量的關(guān)鍵。編制架構(gòu)設計說明書是開發(fā)人員向架構(gòu)師轉(zhuǎn)變必定會經(jīng)歷的過程。在架構(gòu)師整個的成長過程中,必定會經(jīng)歷編制架構(gòu)設計說明書、評審架構(gòu)設計說明書以及根據(jù)業(yè)務需求分析設計系統(tǒng)架構(gòu)的三個過程。作為一個架構(gòu)師,我想嘗試一下根據(jù)這三個過程對不同能力需要,寫一次系列文章,包括《架構(gòu)設計三部曲之如何寫架構(gòu)設計說明書》、《架構(gòu)設計三部曲之如何評審架構(gòu)設計說明書》以及《架構(gòu)設計三部曲之如何做架構(gòu)設計》,一來可以幫助自己整理思路,重新審視架構(gòu)設計,二來也可以與大家分享心得,聽取大家的意見,共同進步。本篇屬于系列中的***篇。

[[135500]]

 

那么到底如何編寫架構(gòu)設計說明書?該說明書應該包括哪些方面的內(nèi)容呢?我們知道,架構(gòu)設計說明書是闡述系統(tǒng)架構(gòu)具體內(nèi)容的,根據(jù)我之前的文章《我的架構(gòu)觀-架構(gòu)未來的發(fā)展》我們明白架構(gòu)的本質(zhì)是呈現(xiàn)三大能力:即系統(tǒng)如何面向最終用戶提供支撐能力、如何面向外部系統(tǒng)提供交互能力、如何面向企業(yè)數(shù)據(jù)提供處理能力。因此從這個角度看,對架構(gòu)設計說明書的章節(jié)的設置及章節(jié)內(nèi)容安排應該要能說明清楚系統(tǒng)架構(gòu)到底是如何呈現(xiàn)這三種能力的,讓我們逐個分析:

 

 

系統(tǒng)如何面向最終用戶提供支撐能力:這一點是要從系統(tǒng)自身的能力來看,即本系統(tǒng)到底應該具備哪些功能,各功能間如何協(xié)作以滿足支撐最終用戶的使用,其實就是要講系統(tǒng)的功能架構(gòu)或邏輯架構(gòu),回答系統(tǒng)從功能粒度上劃分了幾個功能模塊或子系統(tǒng),各模塊或子系統(tǒng)之間的內(nèi)部接口關(guān)系如何等問題。當然還有一個需要考慮的問題,在縱向維度上,隨著架構(gòu)設計理念的不斷發(fā)展, 邏輯架構(gòu)模型從最初的展示-數(shù)據(jù)兩層模型,到展示-邏輯-數(shù)據(jù)(所謂的MVC)三層模型,甚至到展示-調(diào)用接口-邏輯-數(shù)據(jù)接口-數(shù)據(jù)五層模型,不同層次表明系統(tǒng)內(nèi)部設計的精細程度,因此在邏輯架構(gòu)設計中也需要針對實際情況加上這種分層設計的內(nèi)容。尤其是對于powser/Server架構(gòu)模式的MIS類系統(tǒng),這種層次更為常見。另外,用戶相對于機器來說對系統(tǒng)提供的能力是有個人喜好要求的,不僅要求系統(tǒng)能提供支撐,而且還要更加穩(wěn)定的、更方便的、靈活的、快速的等提供,這就需要在架構(gòu)設計說明書中增加所謂非功能性的設計,即需要描述系統(tǒng)的性能、高可用、可擴展性、可維護、安全性、可移植性等。

 

系統(tǒng)如何面向外部系統(tǒng)提供交互能力:這一點是要把系統(tǒng)當成一個完整的整體,闡述它如何與外部的系統(tǒng)發(fā)生調(diào)用關(guān)系,外部系統(tǒng)為它提供了哪些開放接口,它又為外部系統(tǒng)提供了哪些外部接口和能力,同時,在這種相互的調(diào)用關(guān)系中它處于整個IT架構(gòu)的何種位置,這其實就是在說系統(tǒng)的整體架構(gòu)。另外,如果我們把操作系統(tǒng)和硬件服務器也當成一類特殊的外部系統(tǒng)的話,就需要說明系統(tǒng)如何基于操作系統(tǒng)利用硬件服務器來提供計算、存儲、網(wǎng)絡等能力,系統(tǒng)如何把自己拆分成不同的部分以便部署在服務器上,這其實說的是部署架構(gòu)。

 

如何面向企業(yè)數(shù)據(jù)提供處理能力:信息系統(tǒng)的原始驅(qū)動力就是人們需要借助計算機的強大計算能力來輔助處理大量數(shù)據(jù),從而形成可理解的信息,并最終形成可掌握的知識。因此數(shù)據(jù)處理是系統(tǒng)的根本目的,至關(guān)重要,在架構(gòu)設計說明書中需要單獨描述系統(tǒng)對數(shù)據(jù)的處理能力,即我們所謂的系統(tǒng)數(shù)據(jù)架構(gòu)。這還是可以從對外和對內(nèi)兩個角度來看,對外即需要說明本系統(tǒng)處理的數(shù)據(jù)在整個企業(yè)數(shù)據(jù)流中所處的位置,與相關(guān)的上下游數(shù)據(jù)之間的關(guān)系,本系統(tǒng)需要從數(shù)據(jù)上游的外部系統(tǒng)獲取哪些數(shù)據(jù)?又需要為數(shù)據(jù)下游的系統(tǒng)提供哪些數(shù)據(jù);對內(nèi)需要說明本系統(tǒng)根據(jù)業(yè)務需求設計了哪些關(guān)鍵數(shù)據(jù)表,它們之間是何種主外鍵關(guān)系,是否需要從外部導入數(shù)據(jù)為系統(tǒng)做數(shù)據(jù)初始化等。當然還有對數(shù)據(jù)管理的描述,包括如何做數(shù)據(jù)冗余設計,備份機制,數(shù)據(jù)安全管理機制等。

 

 

好,分析完這三種能力,我們幾乎就找出了架構(gòu)設計說明書中應該包括的內(nèi)容,包括整體架構(gòu)、邏輯架構(gòu)、數(shù)據(jù)架構(gòu)、部署架構(gòu)、內(nèi)外部接口、非功能性設計等,如果純把架構(gòu)設計作為理論研究,有這些也就夠了。但是現(xiàn)實中我們編制架構(gòu)設計說明書畢竟是用來指導我們后續(xù)系統(tǒng)開發(fā)的,是需要真正落地實施的,因此就會涉及使用何種技術(shù)實現(xiàn)?有哪些關(guān)鍵技術(shù)?用到了何種成熟或開源技術(shù)組件?復用了哪些之前的技術(shù)成果?等等,同時也包括對技術(shù)風險的考慮與預防措施。所有這些就是技術(shù)架構(gòu)的內(nèi)容。

 

綜上,我們就可以得到一份完整的架構(gòu)設計說明書的結(jié)構(gòu)及應該包含的內(nèi)容,其大致章節(jié)應該是這樣的:

 

 

文檔概述:包含項目背景、項目目標、文檔版本信息、目標讀者、參考文檔、名詞解釋之類的一般文檔都會有的章節(jié);

 

整體架構(gòu):主要從整個IT層描述系統(tǒng)所處的位置,與周邊關(guān)聯(lián)系統(tǒng)之間的調(diào)用關(guān)系;

 

邏輯架構(gòu):系統(tǒng)內(nèi)部功能模塊的劃分以及各模塊功能介紹、相互之間的關(guān)系表述;

 

接口設計:包括系統(tǒng)間的接口設計以及內(nèi)部功能模塊之間的接口設計;

 

數(shù)據(jù)架構(gòu):本系統(tǒng)與上下游系統(tǒng)間的數(shù)據(jù)流關(guān)系,以及本系統(tǒng)關(guān)鍵數(shù)據(jù)表設計、數(shù)據(jù)管理策略等;

 

技術(shù)架構(gòu):實施此架構(gòu)需要用到哪些技術(shù)能力,有哪些復用能力及風險;

 

部署架構(gòu):系統(tǒng)如何部署,網(wǎng)絡拓撲上有何要求,對硬件服務器有何要求,需要幾臺,是否需要優(yōu)化服務器參數(shù);

 

非功能性設計:性能、高可用、可擴展性、可維護、安全性、可移植性等。

 

其他說明:如特別約束條件、風險考慮、進度要求、政策限制、環(huán)境影響等;

 

 

以上,便是我認為一份較為完整的架構(gòu)設計說明書應該包括的內(nèi)容了。

 

 

 

 
責任編輯:王雪燕 來源: 博客園
相關(guān)推薦

2015-06-02 04:17:44

架構(gòu)設計審架構(gòu)設計說明書

2013-05-27 10:58:28

Tumblr架構(gòu)設計雅虎收購

2012-05-30 09:43:45

業(yè)務邏輯層

2023-04-13 08:23:28

軟件架構(gòu)設計

2014-05-19 10:08:36

IM系統(tǒng)架構(gòu)設計

2009-06-22 14:48:21

DRY架構(gòu)設計

2024-09-18 09:04:33

架構(gòu)模式查詢

2025-04-15 04:00:00

2021-11-08 06:57:35

Redis架構(gòu)設計

2023-07-05 08:00:52

MetrAuto系統(tǒng)架構(gòu)

2023-08-16 12:34:16

同步備份異步備份

2009-07-10 09:31:57

MyEclipse U

2017-11-17 07:06:27

互聯(lián)網(wǎng)分層架構(gòu)APP

2024-08-18 14:09:24

2021-07-21 16:30:38

iOSAPP架構(gòu)

2012-09-19 13:46:37

存儲存儲設計快速表態(tài)

2013-09-02 17:46:41

MVC架構(gòu)設計MVC架構(gòu)設計

2025-03-04 00:00:33

2012-06-07 10:45:12

軟件架構(gòu)設計原則

2019-11-25 10:58:19

Tomcat架構(gòu)Web
點贊
收藏

51CTO技術(shù)棧公眾號