寫架構(gòu)設(shè)計(jì)文檔有感
這次在寫架構(gòu)設(shè)計(jì)文檔中也開始仔細(xì)的考慮架構(gòu)設(shè)計(jì)文檔到底需要體現(xiàn)什么呢?其次需要明白到底何謂架構(gòu),其實(shí)我覺得一個(gè)形象的說法就是骨架,每個(gè)人、每棟房子都需要有骨架,基于這個(gè)骨架可實(shí)現(xiàn)用戶的功能需求以及非功能需求,那么就可以說這是個(gè)成功的架構(gòu),我覺得在架構(gòu)設(shè)計(jì)文檔中最重要的是體現(xiàn)出對于系統(tǒng)需求的共性的分析,抽象形成系統(tǒng)的底層支撐子系統(tǒng)(注意,這個(gè)子系統(tǒng)是系統(tǒng)業(yè)務(wù)的共性,而不是具體的功能模塊,具體的功能模塊是基于此支撐子系統(tǒng)進(jìn)行搭建的),同時(shí)列出系統(tǒng)的非功能性需求,提出在架構(gòu)級別的應(yīng)對策略,在經(jīng)過這個(gè)架構(gòu)分析過程后,根據(jù)系統(tǒng)結(jié)構(gòu)是C/S、B/S可提出一個(gè)底層架構(gòu)體系,如B/S采用MVC思想搭建的架構(gòu)體系,在M進(jìn)行劃分形成N層體系,在做出了底層架構(gòu)體系設(shè)計(jì)后將之上架構(gòu)分析中產(chǎn)生的支撐子系統(tǒng)與之進(jìn)行融合,同時(shí)結(jié)合非功能性需求的應(yīng)對策略,在這個(gè)情況下系統(tǒng)的架構(gòu)圖就產(chǎn)生了,^_^,經(jīng)過這樣的過程你系統(tǒng)的架構(gòu)圖就不會是無緣無故產(chǎn)生出來的,在架構(gòu)圖產(chǎn)生后此時(shí)就需要做技術(shù)的映射,因?yàn)樵诩軜?gòu)圖的底層架構(gòu)體系中列出來的是layer,那么每個(gè)layer其設(shè)計(jì)模型是怎么樣的、每個(gè)layer的依賴是怎么解決的,在解決完了這個(gè)部分后需要對之上的支撐子系統(tǒng)進(jìn)行設(shè)計(jì)模型、接口的描述,在完成了這些后即可繪制系統(tǒng)的部署視圖、邏輯視圖以及物理視圖,重要的是需體現(xiàn)出整個(gè)系統(tǒng)的需求是如何基于這個(gè)架構(gòu)體系來實(shí)現(xiàn)的,在完成了之上的過程后整個(gè)架構(gòu)設(shè)計(jì)過程可以算是完成了大半部分,在這之后進(jìn)行支撐子系統(tǒng)的模塊劃分以及系統(tǒng)功能模塊的劃分,劃分原則依據(jù)功能內(nèi)聚來進(jìn)行,同時(shí)也需考慮架構(gòu)體系的設(shè)計(jì)約束,在劃分完畢后即產(chǎn)生了系統(tǒng)的模塊視圖,同時(shí)需標(biāo)明模塊的接口關(guān)系,在此圖繪制完畢后按模塊對模塊的職責(zé)進(jìn)行描述,同時(shí)對其接口做出規(guī)范,至此整個(gè)架構(gòu)設(shè)計(jì)文檔才算是比較完整的完成了,^_^,這樣寫下來我想這份架構(gòu)設(shè)計(jì)文檔想薄都難呀,架構(gòu)設(shè)計(jì)文檔作為整個(gè)系統(tǒng)后續(xù)的設(shè)計(jì)約束以及方向指導(dǎo)而存在。
這是在這次寫架構(gòu)設(shè)計(jì)文檔后的一些感想,總體來說我覺得最重要的仍然是需要明確的知道架構(gòu)設(shè)計(jì)文檔的目的,何謂架構(gòu),架構(gòu)設(shè)計(jì)的過程,架構(gòu)對于需求的滿足,在這之后可進(jìn)行模塊的概要設(shè)計(jì),模塊的概要設(shè)計(jì)其實(shí)同樣是一個(gè)由繁化簡的過程,產(chǎn)生出關(guān)鍵類以及類的接口設(shè)計(jì),詳細(xì)設(shè)計(jì)則是具體的對象設(shè)計(jì)以及接口實(shí)現(xiàn)。
posted on 2005-09-22 22:19 BlueDavy 閱讀(18269) 評論(43) 編輯 收藏 所屬分類: 系統(tǒng)設(shè)計(jì)