新聞中心
在敏捷開發(fā)過程中,我們還需要對系統(tǒng)架構(gòu)進行設計嗎?事實上,Martin Fowler在《Is Design Dead?》一文中已經(jīng)給出了答案,那就是我們同樣不能忽略對系統(tǒng)架構(gòu)的設計。與計劃性的設計(Planned Design)不同,我們需要演進式的設計(Evolutionary Design)。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、網(wǎng)絡空間、營銷軟件、網(wǎng)站建設、陵城網(wǎng)站維護、網(wǎng)站推廣。
IBM's Methods Group的敏捷專家Scott W. Ambler提出了“架構(gòu)預測(Architectural Envisioning)”的方法,以應對敏捷開發(fā)中逐步演進的架構(gòu)設計過程。
Scott指出,敏捷模型驅(qū)動開發(fā)(Agile Model Driven Development,AMDD)明確地包括了初始需求分析與架構(gòu)建模,這個過程發(fā)生在敏捷項目開發(fā)的第0次迭代中。
通過對架構(gòu)的預測,可以在項目早期進行一些高層次的架構(gòu)建模,以助于團隊與關(guān)鍵利益相關(guān)人商討系統(tǒng)采取的技術(shù)策略。這一行為的關(guān)鍵目標是識別出架構(gòu)策略,而不是撰寫如山一般堆積的文檔,從而使得你能夠快速完成架構(gòu)建模。
架構(gòu)建模是貫穿于整個項目周期的,因此這些圖表(技術(shù)圖表,用戶交互流程圖,領域圖,變更情形)就是在項目結(jié)束時形成的整體文檔的基礎。由于你事先明確架構(gòu)是演進的,因此就不必承擔架構(gòu)設計在項目早期必須“正確無誤”的壓力,而只需要在當前形勢下保證足夠好就可以了。
Scott指出,所謂的“架構(gòu)預測”能夠提供如下價值:
◆提高生產(chǎn)力
◆降低技術(shù)風險
◆減少開發(fā)時間
◆增強溝通
◆可伸縮的敏捷軟件開發(fā)。
需要明確的是,這樣的一種架構(gòu)預測方式,正好符合敏捷開發(fā)迭代的需要。在項目開發(fā)早期,對系統(tǒng)整體進行一次高層次的概覽,并對關(guān)鍵業(yè)務需求進行甄別與分析,劃分合理的系統(tǒng)模塊,有助于在迭代開發(fā)中為團隊成員建立一個統(tǒng)一的標準與目標。而在每次迭代過程中,團隊就可以對本次迭代期間的功能進行深入的架構(gòu)建模,然后通過TDD充分理解需求,對模塊的細節(jié)進行設計與實現(xiàn)。這是敏捷架構(gòu)設計的核心操作原理,它與敏捷開發(fā)原則是一脈相承的。
網(wǎng)站名稱:演進式架構(gòu)設計在敏捷開發(fā)中的使用
鏈接URL:http://m.5511xx.com/article/cdheodp.html


咨詢
建站咨詢
