1 回答

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個贊
UIDesigner是騰訊用戶研究與體驗(yàn)設(shè)計(jì)部(CDC)設(shè)計(jì)研發(fā)的一款設(shè)計(jì)類軟件,打造一款可以讓設(shè)計(jì)師統(tǒng)一平臺和團(tuán)隊(duì)協(xié)作的平臺型設(shè)計(jì)工具,經(jīng)過1.0和2.0版本的經(jīng)驗(yàn)沉淀,我們決定對3.0版本進(jìn)行全新的架構(gòu)設(shè)計(jì)。
開發(fā)一個軟件系統(tǒng),前期的架構(gòu)設(shè)計(jì)承載著整個軟件的設(shè)計(jì)思想和關(guān)鍵決策,可以說是重中之重。
根據(jù)軟件架構(gòu)設(shè)計(jì)思想,關(guān)注分割和交互,好的架構(gòu)必須使每個關(guān)注點(diǎn)相互分離。我們進(jìn)行了最基本的需求分析,得出兩個關(guān)注點(diǎn):一是工具,二是設(shè)計(jì)繪圖,關(guān)系如圖1所示。
得到最基本的兩個關(guān)注點(diǎn)后,接著將提取關(guān)鍵需求(包括:關(guān)鍵功能需求、關(guān)鍵質(zhì)量需求和關(guān)鍵商業(yè)需求),根據(jù)兩個關(guān)注點(diǎn)進(jìn)行架構(gòu)的細(xì)化設(shè)計(jì)。
一、關(guān)注點(diǎn)——工具
這里我們結(jié)合UIDesigner的實(shí)際需求,提取出屬于“工具”范疇的關(guān)鍵功能需求、關(guān)鍵質(zhì)量需求和關(guān)鍵商業(yè)需求。
首先,“工具”的關(guān)鍵功能需求,必須包括:磁盤文件讀寫、異常捕捉、日志記錄、安全性管理;非工具所必須,但是UIDesigner本身所要求的,包括:配置管理、緩存管理、線程服務(wù)、服務(wù)器和客戶端通訊管理、國際化服務(wù)。
其次,“工具”的關(guān)鍵質(zhì)量需求,質(zhì)量需求包括開發(fā)期質(zhì)量需求和運(yùn)行期質(zhì)量需求兩部分,經(jīng)過分析和權(quán)衡,UIDesigner的性能主要取決于設(shè)計(jì)繪圖,而穩(wěn)定性、可擴(kuò)展性和可維護(hù)性才是決定“工具”本身發(fā)展的質(zhì)量需求,因此,對“工具”的質(zhì)量需求設(shè)計(jì)將以穩(wěn)定性、可擴(kuò)展性和可維護(hù)性為主。
最后,“工具”的關(guān)鍵商業(yè)需求,因?yàn)閁IDesigner本身并沒有很復(fù)雜的業(yè)務(wù)需求,因此關(guān)鍵商業(yè)需求是在設(shè)計(jì)流程的優(yōu)化和規(guī)范上得到體現(xiàn),這方面的設(shè)計(jì)已經(jīng)屬于高層模塊和使用流程的設(shè)計(jì),對架構(gòu)的影響非常小,可以暫時性的忽略。
經(jīng)過關(guān)鍵需求的提取,我們得到了“工具”的設(shè)計(jì)目標(biāo)——可以提供通用功能(關(guān)鍵功能需求)的高穩(wěn)定性、擴(kuò)展性和維護(hù)性的客戶端應(yīng)用。根據(jù)此目標(biāo),我們采取了DI(Dependency-Injection)和MVP(Model-View-Presenter)結(jié)合的架構(gòu),概念架構(gòu)設(shè)計(jì)如圖2所示。
- 1 回答
- 0 關(guān)注
- 3108 瀏覽
添加回答
舉報(bào)