TOGAF架构开发方法(ADM)之架构愿景阶段
TOGAF架構開發方法(ADM)之架構愿景階段
1.2 架構愿景(Architecture Vision)
企業架構開發方法各階段——架構愿景
1.2.1 目標
確保架構開發循環的進展被企業管理層認知和支持,并取得必要的管理線的支持和承認。
在預備階段中明確的架構框架的整體背景之下定義和組織架構開發循環。
驗證業務原則、業務目標、組織的戰略業務驅動力,以及企業架構的主要性能指標(KPIs)。
定義基線架構的范圍,明確其所包含的組件以及組件的優先級。
定義相關干系人以及他們的關注點和目標
定義架構工作所要解決的關鍵業務需求,以及必須應對的各項約束
闡明架構愿景,并定制價值主張。這些價值主張被用來闡述對于那些需求和約束的回應
創建一個綜合性計劃,用來表明規劃進度、資源、財務、溝通、風險、約束、假設和依賴關系,并應與企業中的項目管理框架相適合(PRINCE2或PMBOK等)
確保正式批準得以執行
理解與其他并行的企業架構開發循環之間的相互影響
1.2.2 方法
架構愿景階段是從架構組織收到來自于架構贊助組織的架構工作要求書時開始的。在這個階段中,組織需要基于針對當前資源及其可用性所做的評估來界定架構工作的范圍,以及需要應對的種種約束。這些約束通常來源于在準備階段中制定的各項業務原則和架構原則,而在架構愿景階段中,組織需要確定這些原則是存在并清晰的,如果不是這樣,則需在此階段對這些原則進行明確的定義。除此之外,在此階段所涉及到的方法還包括:
創建架構愿景
架構愿景是架構贊助者向各干系人以及決策者推廣其所提出的能力的絕佳工具,它描述了新的能力如何滿足組織的戰略和業務目標,以及當這些能力實現時,相關干系人所關注的問題又是如何獲得解決的。因而針對架構愿景的創建實際上就是對架構的目標進行明確,并對如何通過架構開發來達成這些目標進行闡明。架構愿景在一個很高的層面上為基線和目標架構做了有關第一印象的描述,并且這一描述應該涵蓋業務、數據、應用和技術這四個層面(這只是概要性描述,這些層面的具體內容將在后續的相應階段被逐步細化)。
一旦架構愿景被定義并被記錄到架構工作說明書中,接下來在各個干系人中對這份架構愿景形成共識將會成為重中之重,因為如果沒有這份共識,那么最終的架構是否能夠被組織所接受就無從談起了。這份共識的獲得是通過贊助組織簽署架構工作說明書來實現的。
業務情景
業務情景方法用于識別和闡明隱含的架構需求和隱藏在新業務能力(用于滿足關鍵業務驅動力的需求)中的業務需求。此技術通過一種循環迭代的方式進行,并針對業務架構的各層次化分解部件采用不同等級的詳細度進行描述。
1.2.3 輸入與輸出
在當前階段所需的輸入材料以及此階段輸出的各種交付物歸納如下:
|
輸 入 |
參考資料 |
架構參考資料 |
|
非架構性輸入 |
架構工作要求書 |
|
|
業務目標、原則和驅動力 |
||
|
架構性輸入 |
企業架構組織模型,包括: 受影響的組織范圍 |
|
|
定制的架構框架,包括: 定制的架構方法 |
||
|
已經具有內容的架構資源庫 |
||
|
輸 出 |
經過批準的架構工作說明書,包括: 范圍和約束 |
|
|
改善的業務目標、原則和驅動力說明 |
||
|
架構原則 |
||
|
能力評估 |
||
|
定制的架構框架,包括: 定制的架構方法 |
||
|
架構愿景,包括: 經過改善的關鍵高層次干系人的需求 |
||
|
溝通計劃 |
||
|
納入到架構資源庫中的新增內容 |
||
1.2.4 步驟
在當前階段中所要執行的各個步驟歸納如下:
建立架構項目
識別干系人、關注點和業務需求
確認并闡述業務目標、驅動力和約束
評估業務能力
評估業務轉型準備情況
定義范圍
確認并闡述架構原則,包括業務原則
開發架構愿景
定義目標架構價值主張和主要性能指標
明確業務轉型風險和緩解措施
開發企業架構計劃和架構工作說明書,并確保被批準
教為學:Python學習之路(五):map reduce學習
教為學:Python學習之路(五):map reduce學習
前言
昨天的博客竟然被首頁下架了,雖然水了點,總覺得可以查看幫助解決的內容,不值得花太多的功夫。
說到map reduce,第一反應是Hadoop的map reduce函數編程。
不過我們這里要講的python,有時間可以寫寫Hadoop的map reduce。
Lamdba函數
要了解map reduce,首先得了解Lamdba函數,Lamdba函數顧名思義就是匿名函數。園子里很多時候關于c#和java之爭的時候,匿名函數都會作為c#的一個優點陳列在前,某種意義上,這是對匿名函數能力的認可。Java在最新版本中也計劃把匿名函數給加進來,同樣也是對匿名函數的認可。
所謂匿名函數就是沒有名字的函數,沒有名字的函數怎么調用。
正常的函數及其調用:
def f(x):
return 2*x
print f(3)
#結果
6
F是函數名。
F(3)是調用函數。
不正常函數(匿名函數)及其調用:
g = lambda x:x*2
print g(3)
#結果
6
G算什么?
好像還是函數名。
那我們來個更徹底的。
print (lambda x:x*2)(3)
#結果
6
連f和g都徹底沒了。
這東西有什么用?
Map函數
所有的函數,我先上的是這么句話。
help(map)
#結果
map(...)
map(function, sequence[, sequence, ...]) -> list
Return a list of the results of applying the function to the items of
the argument sequence(s). If more than one sequence is given, the
function is called with an argument list consisting of the corresponding
item of each sequence, substituting None for missing values when not all
sequences have the same length. If the function is None, return a list of
the items of the sequence (or a list of tuples if more than one sequence).
看了這個幫助,大家就應該清楚,匿名函數這個東西用在哪里吧!
上個例子再解釋這個函數:
print map(lambda x:x*2,[1,2,3,4])
#結果
[2, 4, 6, 8]
函數參數是一個函數,然后把后面的序列里面的值一個個傳入這個函數,最后返回一個列表。
Reduce函數
國際慣例:
help(reduce)
#結果
reduce(...)
reduce(function, sequence[, initial]) -> value
Apply a function of two arguments cumulatively to the items of a sequence,
from left to right, so as to reduce the sequence to a single value.
For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates
((((1+2)+3)+4)+5). If initial is present, it is placed before the items
of the sequence in the calculation, and serves as a default when the
sequence is empty.
這次的幫助還有個小例子,那么,我們就運行一下這個小例子吧。
print reduce(lambda x,y:x+y,[1,2,3,4,5])
#結果
15
第一個參數函數必須有兩個參數,不然,這東西玩不下去了。
把序列中的第一個和第二個元素作為參數傳遞給函數,然后把返回值和第三個元素傳遞給函數,然后把返回值和第四個元素傳遞給參數,以此類推,其實上面的結果是((((1+2)+3)+4)+5)
Filter函數
繼續國際慣例:
help(filter)
#結果
filter(...)
filter(function or None, sequence) -> list, tuple, or string
Return those items of sequence for which function(item) is true. If
function is None, return the items that are true. If sequence is a tuple
or string, return the same type, else return a list.
再上例子:
print filter(lambda x:x%2==1,[1,2,3,4])
結果
[1, 3]
人如其名,過濾器,把滿足要求的序列過濾出來。
第一個參數還是個函數,不過相比其他幾個,這次可以為none。
函數只能返回布爾值,作為判斷條件。
也就是說,序列里面滿足函數判斷條件的值全部返回出來。
作者:Leo_wl
出處:http://www.cnblogs.com/Leo_wl/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
版權信息
總結
以上是生活随笔為你收集整理的TOGAF架构开发方法(ADM)之架构愿景阶段的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一键安装LAMP服务
- 下一篇: vscode 问题