如何開展軟體架構之概念架構
到目前為止,我們已經完成了需求的分析過程,總結來說,主要的步聚是
一)需求結構化,
二)分析限制影響
三)重點關注品質需求。
那麼接下來的階段則是系統的概念架構了,這也許是大家最感興趣的話題,前面提到系統的多層架構,各層之間互相隔離,下層提供服務而不知道上層應用,上層也隻通過接口與下層互動,每一層的修改均不會影響其它層的邏輯,看上去有多華麗就有多華麗!
但是真正開始系統架構時,卻有無從下手無力感,為啥?因為你注意到軟體的概念架構最主要的任務就是将系統按照某作規則劃分成各種子系統,确定各子系統之間的協作,為下一階段的細化設計奠定基礎。
系統劃分的規則主要有三類:
1:按邏輯分割
2:按實體部署分割
3:按通用性分割
而三層架構也正是按邏輯分割的展現。
簡單地說,要對系統進行分割,我們必須明确系統有哪些職責,在明确職責之後,再将相似或相近的劃分至各層中。
在需求分析階段我們了解了系統需要實作的功能,但僅基于此,卻難以支撐我們确定職責。在需求用例與功能職責之間還需要一座橋,那就是魯棒圖。