敏捷 架構設計一文到目前已經全部結束,由于架構設計是一個很大的話題,要在一篇文章中完全把架構設計講清楚是很難的。因此本文的最后一個章節中提供了一組書籍和文章,這些資料都和..
要保證架構的穩定和成功,利用代碼對架構進行驗證是一種實用的手段。代碼驗證的核心是測試,特別是 單元測試 。而測試的基本操作思路是測試優先,它是敏捷方法中非常重要的一項實踐,..
敏捷方法的興起對設計提出了新的要求,其最核心的一點是針對無法在項目一開始就固化的需求進行演進型的設計。在項目一開始就進行細致、準確的架構設計變得越來越難,因此,架構設計在..
當架構模型進行迭代的過程中,必然伴隨著對模型進行修改和改進。我們如何防止對模型的修改,又如何保證對模型進行正確的改進? Context 架構模型通過精化、合并等活動之后,將會直接用于..
對于一個已經初步建立好的模型(分析模型或是設計模型)來說,對其進行精化和合并是必要的步驟。 Context 建立架構愿景,為架構的設計定義了主要的設計策略和實現思路。應用分層的原則則對..
上篇我們用了大量的篇幅來觀察了一個實際的例子,相信大家已經對分層有了一個比較具體的概念了。在這一篇中我們就對分層在實踐中可能會遇到的問題做一個討論。分層在架構設計中是一種..
在定義了架構愿景之后,團隊中的所有人員應該對待 開發 的軟件有一定的了解了。但是,面對一個龐大的軟件系統,接下來要做些什么呢?分而治之的思想是計算機領域非常重要的思想,因此我..
從這一篇開始,我們將會進入另一個不同的主題,和前面所討論的模式專注于組織、過程、方法不同,以后介紹的模式更偏重于設計。但是過程、方法的影子依然在我們的討論中隱約可見。 架..
我們已經討論了 敏捷 架構設計的4種過程模式,在這一章中,我們對這四種過程模式做一個小結,并討論4者間的關系以及體現在模式中的敏捷方法論特色。通過這一章的描述,大家能夠對前面..
XP非常強調簡單的設計原則:能夠用數組實現的功能決不用鏈表。在其它Agile方法中,簡單的原則也被反復的強調。在這一章,我們就對簡單性做一個全面的了解。 Context 架構應該設計到什么程..
我們說,和重型方法偏重于計劃、過程和中間產物不同,敏捷方法更加看重人和溝通。人和溝通永遠是第一位的,而計劃、過程和中間產物,那只是保證溝通、實現目標的手段。這并不是說計劃..
通過上一章的介紹,我們對敏捷和方法有了一個大致的了解,從這一章起,我們開始對軟件 開發 過程中架構設計的研究。記住一點,我們并不是為了架構設計而研究架構設計,我們的目的在于..
1991年秋,在美國勒海大學亞科卡學院的一份研究報告《21世紀美國制造業的戰略:一個工業主導的觀點》中,首次提出了敏捷競爭的概念。何謂敏捷(Agility)?對于企業而言,敏捷意味著企業能夠..
迭代是一種軟件 開發 的生命周期模型,在設計中應用迭代設計,我們可以得到很多的好處。 Context 在軟件生命周期中,我們如何對待架構設計的發展? Problem 架構設計往往發生在細節 需求 尚..
團隊設計是敏捷方法論中很重要的一項實踐。我們這里說的團隊,指的并不是復數的人。一群人就是一群人,并沒有辦法構成團隊。要想成為團隊,有很多的工作要做。 我們之所以考慮以團隊..
方法論對軟件 開發 而言意味著什么?我們如何看待軟件開發中的方法論?方法論能夠成為軟件開發的救命稻草嗎?在讀過此文后,這些疑惑就會得到解答。 在第一篇文章中,我們來了解標題中的一..
XP 還擁有其它優秀的實踐,本文討論了 XP 的另外三個實踐,并研究如何在項目中靈活的使用它們。 代碼集體所有權 XP提倡代碼歸屬集體所有,這樣做的理由是每個人都可以修改代碼,而不是等..
Conclusions: Going to Extremes 結論:走向極限 Orr and Cockburn each describe their approaches and experience with lighter methodologies. But earlier, in describing Chrysler's C3 project, I alluded to the difficulty in extending the use of a..
Crystal Light Methods: Comments by Alistair Cockburn 輕量級的Crystal方法 Editor's note: In the early 1990s, Alistair Cockburn was hired by the IBM Consulting Group to construct and document a methodology for OO development. IBM had no pref..
Refactoring 重構 Refactoring is closely related to factoring, or what is now referred to as using design patterns. Design Patterns: Elements of Reusable Object-Oriented Software, by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissi..