一、既然了解了什麼是軟體架構,那麼接下來就來看看它產生的原因:《一線架構師實踐指南》中說了五點,我的理解是:
架構--是人們為了提高生活質量,進而為了提高生產力,接著為了提高生產效率,而做出的對目標的有機的分割。這種分割與建築的架構是一樣,對目標內部進行空間切分,又留下門窗與各部分進行連通,讓各部分相互隔離而又可以有效的溝通。就好像我們的社會,我們每個人通過自己的工作掙到錢(分割),讓後通過錢與物的交易(溝通),獲得我們各自需要的生活物品(目標)。
二、那麼什麼是架構?我的理解是:
架構--是解決問題的實踐活動,是解決問題的方案,是我們解決問題的經驗。它包括了解決問題的步驟,通過乙個合理的步驟,我們按部就班的、快捷的解決問題。那麼,我認為軟體架構--就是將我們所了解到的目標軟體進行有機的分割:目標軟體作為乙個整體,分割為合適的模組,使得各模組之間的影響降到最低,並留下門窗,即各模組之間的互動通道,從而提高人的工作效率。
三、接著是認識概念 幫助 理解架構。
概念,也叫名相,是人們認識世界的基礎。所謂相,是人們所看到的事物的表象特徵以及對他的認知(也就是事物的作用);而名亦如此,是人們給這類事物起的代號(代表著這種事物的表象特徵和作用)。那麼所謂概念,就是我們解決問題的方案的乙個代號,當我們提到這個代號,就會想到這個解決方案。有效的認識概念是必要的,我們時常要進入新的領域,認識新的事物,有效的認識概念可以幫助我們快速的熟悉這個領域,對於我們識別和定位新領域中的元素,思路清晰的分割以及組合各個元素,會有很大的幫助。
四、那麼,如何識別問題?
我們面對客戶提出的問題,要有客觀的認識,大多時候,客戶提出的是解決方案,是他們想要得到什麼,但是真正的問題是什麼,卻可能沒有說。面對客戶的要求,我們先要弄清問題的主體,要弄清這個問題是誰產生的,然後才是這個問題到底是什麼。所以我們做軟體需求的時候,才要和每個要直接與網路互動的人或系統,進行交流,只有那些操作的主題,才最清楚軟體的作用是什麼,才最清楚要解決的實際問題是什麼。同時,主體意味著邊界,主體確定了,邊界就確定了。
五、識別出問題,就到了切分問題的步驟了,那麼如何進行架構切分?
首先我非常同意作者關於人性不可違的觀點。人都是自私的,沒有絕對無私的人,無論是從精神上,還是物質上,他都會尋求一種獲得,而只有獲得才是人做事情的動力。筆者說的切分的原則很形象:1.必須在乙個連續事件完成的活動不能切分。2.權責相等,保證了不違反人性的原則,也就保證了人性的相齊,人和是乙個企業的關鍵要素。3.切分出來的部分不應該超過乙個人的負載。4.內部切分與外界無關,切分導致的新變化,不應屬於架構內部,若核心的問題出現變化,那麼架構就要跟著變化。
六、接著,第五部分是軟體。
通過閱讀《一線架構師實踐指南》,我理解到,軟體就是人用來控制硬體行為的程式。
成本為王,我們所從事的任何工作,最終的目的,都是講勞動力轉化為財富,進而提高自己的衣食住行即自己的利益,而當勞動力的價值固定下來,我們所能做的就是降低成本,為了降低成本,我們就要提高技術,提高了技術,推動著社會向前進步,我們的利益也就會隨之提高。第二點說的是軟體的演變,從乙個人完成整個軟體,到後來多人合作完成大型軟體,一切都是為了降低成本,提高效率,增加收益。軟體同樣是乙個問題,我們首先找到所有的利益相關者,然後找到真正要解決的問題,接著對問題進行切分組合,然後實現從而解決問題。
《一線架構師實踐指南》閱讀筆記02
架構 是人們為了提高生活質量,進而為了提高生產力,接著為了提高生產效率,而做出的對目標的有機的分割。這種分割與建築的架構是一樣,對目標內部進行空間切分,又留下門窗與各部分進行連通,讓各部分相互隔離而又可以有效的溝通。就好像我們的社會,我們每個人通過自己的工作掙到錢 分割 讓後通過錢與物的交易 溝通 ...
一線架構師實踐指南閱讀筆記02
細化架構的故事有兩個,第乙個是架構和方案的關係 方案 專案 需求 架構。第二個故事是各個職業在討論架構的定義,每個職業各抒己見,但都有盲人摸象的感覺。最後書中給的建議是盡可能全面的思考問題,盡可能全面的覆蓋多個職業。這是乙個很客觀的評價,但在實際生活中有點理想化,個人感覺應該是盡量多的討論,通過討論...
一線架構師實踐指南閱讀筆記
我個人認為,完整覆蓋 需求進,架構出 的架構設計方法才是符合一線實踐需要的。pre architecture就是架構設計的最前期階段,其工作目標包括 理解需求 建立需求大局觀 確定架構設計方向等。磨刀不誤砍柴工 這是近乎常識的古訓。整個admems方法包含pre architectureconcep...